<?xml
version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>Chemins de l'eau</title>
	<link>https://chemindeleau.com/</link>
	
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://chemindeleau.com/flux-rss.html?id_auteur=52" rel="self" type="application/rss+xml" />

	<image>
		<title>Chemins de l'eau</title>
		<url>https://chemindeleau.com/local/cache-vignettes/L128xH128/siteon0-e5814.png?1733493324</url>
		<link>https://chemindeleau.com/</link>
		<height>128</height>
		<width>128</width>
	</image>



<item xml:lang="fr">
		<title>La Marne de la source &#224; Rolampont</title>
		<link>https://chemindeleau.com/La-Marne-de-la-source-a-Rolampont.html</link>
		<guid isPermaLink="true">https://chemindeleau.com/La-Marne-de-la-source-a-Rolampont.html</guid>
		<dc:date>2015-05-19T20:00:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Bertrand Degoy, PATAILLE Gilbert </dc:creator>


		<dc:subject>Canal</dc:subject>
		<dc:subject>Rivi&#232;re</dc:subject>
		<dc:subject>Histoire</dc:subject>

		<description>
&lt;p&gt;La Marne prend sa source sur le plateau de Langres, &#224; Balesmes-sur-Marne (Haute-Marne) et se jette dans la Seine entre Charenton-le-Pont et Alfortville (Val-de-Marne). De sa source pr&#232;s de Balesmes &#224; Rolampont, elle est proche de Langres et des 4 lacs, et se trouve dans un environnement artificiellement tr&#232;s contraint. C'est pr&#232;s de Rolampont, o&#249; se trouve le pont dit &#034;romain&#034; qu'elle est sans doute la plus proche de son aspect naturel. &lt;br class='autobr' /&gt;
La Marne, rivi&#232;re martyre ? &lt;br class='autobr' /&gt;
&#034;Avec la cr&#233;ation du canal (...)&lt;/p&gt;


-
&lt;a href="https://chemindeleau.com/-Le-Plateau-de-Langres-versant-.html" rel="directory"&gt;Le Plateau de Langres versant Seine&lt;/a&gt;

/ 
&lt;a href="https://chemindeleau.com/+-Canal-+.html" rel="tag"&gt;Canal&lt;/a&gt;, 
&lt;a href="https://chemindeleau.com/+-Riviere-+.html" rel="tag"&gt;Rivi&#232;re&lt;/a&gt;, 
&lt;a href="https://chemindeleau.com/+-Histoire-+.html" rel="tag"&gt;Histoire&lt;/a&gt;

		</description>


 <content:encoded>&lt;img class='spip_logo spip_logo_right spip_logos' alt=&#034;&#034; style='float:right' src='https://chemindeleau.com/local/cache-vignettes/L150xH113/arton24-ff5d0.jpg?1733722771' width='150' height='113' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;La Marne prend sa source sur le plateau de Langres, &#224; Balesmes-sur-Marne (Haute-Marne) et se jette dans la Seine entre Charenton-le-Pont et Alfortville (Val-de-Marne). De sa source pr&#232;s de Balesmes &#224; Rolampont, elle est proche de Langres et des 4 lacs, et se trouve dans un environnement artificiellement tr&#232;s contraint. &lt;br class='autobr' /&gt;
C'est pr&#232;s de Rolampont, o&#249; se trouve le pont dit &#034;romain&#034; qu'elle est sans doute la plus proche de son aspect naturel.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h3 class=&#034;h3 spip&#034;&gt;La Marne, rivi&#232;re martyre ? &lt;/h3&gt;
&lt;p&gt;&lt;i&gt;&#034;Avec la cr&#233;ation du canal entre Champagne et Bourgogne et la voie ferr&#233;e n&#176;4 la rivi&#232;re a &#233;t&#233; d&#233;plac&#233;e, canalis&#233;e, ses m&#233;andres, ses zones humides occup&#233;s par l'emprise du canal, la moiti&#233; de ses affluents la rejoignent par des siphons sous le canal, son eau capt&#233;e pour subvenir aux besoins de la navigation&#034; (Gilbert Pataille)&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;Cependant cette rivi&#232;re et ses affluents offrent encore des aspects charmants ...&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div class=&#034;base64javascript115181004069f1f43b9fa9c6.36846004&#034; title=&#034;PHNjcmlwdD4KICAgIGNvbnN0IE1PREVfRVhQTE9SQVRJT04gPSAiTW9kZSBFeHBsb3JhdGlvbiI7CiAgICBjb25zdCBNT0RFX05BVklHQVRJT04gPSAiTW9kZSBOYXZpZ2F0aW9uIjsgCiAgICBjb25zdCBFUlJPUl9OT1RfU1VQUE9SVEVEID0gImNhcnRvIGVycmV1ciBub24gbmF2aWdhdGV1ciI7CiAgICBjb25zdCBFUlJPUl9USU1FT1VUID0iY2FydG8gZXJyZXVyIHRpbWVvdXQiOwogICAgY29uc3QgRVJST1JfQlJPV1NFUiA9ImNhcnRvIGVycmV1ciBub24gbmF2aWdhdGV1ciI7CiAgICBjb25zdCBFUlJPUl9MT0NBTElTQVRJT04gPSJjYXJ0byBlcnJldXIgZ2VvbG9jYWxpc2F0aW9uIjsKICAgIGNvbnN0IEVSUk9SX1BFUk1JU1NJT05fREVOSUVEID0iY2FydG8gZXJyZXVyIHBhcyBkb25uZSBwZXJtaXNzaW9uIjsKICAgIGNvbnN0IEVSUk9SX1BPU0lUSU9OX1VOQVZBSUxBQkxFID0iY2FydG8gZXJyZXVyIHBvc2l0aW9uIjsKICAgIGNvbnN0IEVSUk9SX1VOS05PV04gPSJjYXJ0byBlcnJldXIgaW5jb25udWUiOwogICAgY29uc3QgUE9TX09ER19MQVQgPSAiNDcuODk0IjsKICAgIGNvbnN0IFBPU19PREdfTE9OID0gIjUuMzIyIjsKICAgIGNvbnN0IFBPU19PREdfWk9PTSA9ICIxMSI7Cjwvc2NyaXB0Pg==&#034;&gt;&lt;/div&gt; &lt;p&gt; Zoomez, d&#233;placez, cliquez et voyagez ! &lt;a class='help anchor' href='https://chemindeleau.com/FAQ.html#cartographie'&gt;&lt;img src='https://chemindeleau.com/IMG/help.png' title='Aide' style='max-width: 500px; max-height: 10000px'&gt;&lt;/a&gt; &lt;br /&gt; Position : Lat: 47&#176; 53' 38.4&#034; N, Lon: 5&#176; 19' 19.2&#034; E &lt;a class=&#034;ajax submit grey small&#034; href=&#034;&#034;&gt;Recaler&lt;/a&gt; &lt;a id=&#034;btn-navexpl&#034; class=&#034;ajax submit blue small&#034; href=&#034;#&#034;&gt;Naviguer&lt;/a&gt;
&lt;/p&gt;&lt;p&gt; &lt;div class=&#034;minicarte&#034; style=&#034;height:400px;&#034;&gt; &lt;div id=&#034;map1&#034; class=&#034;carte_gis&#034; style=&#034;width:100%; height:400px;&#034;&gt;
&lt;/div&gt; &lt;div class=&#034;base64javascript115181004069f1f43b9fa9c6.36846004&#034; title=&#034;PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPi8qPCFbQ0RBVEFbKi8KCgoKICAgIHZhciBtYXAxOwogICAgdmFyIGpRZ2lzbG9hZGVyOwoKICAgIC8vIENoYXJnZXIgbGUgamF2YXNjcmlwdCBkZSBHSVMgdW5lIHNldWxlIGZvaXMgc2kgcGx1c2lldXJzIGNhcnRlcwogICAgaWYgKHR5cGVvZiBqUWdpc2xvYWRlcj09InVuZGVmaW5lZCIpewogICAgICAgIGpRZ2lzbG9hZGVyID0galF1ZXJ5LmFqYXgoe3VybDogJ2xvY2FsL2NhY2hlLWpzL2pzZHluLWphdmFzY3JpcHRfZ2lzX2pzLTJjM2E3NDk5LmpzPzE3MzM0OTE1NzUnLCBkYXRhVHlwZTogJ3NjcmlwdCcsIGNhY2hlOiB0cnVlfSk7CiAgICB9CiAgICAvLyBldCBpbml0aWFsaXNlciBsYSBjYXJ0ZSAoZGVzIHF1ZSBqcyBHSVMgY2hhcmdlIGV0IGRlcyBxdWUgRE9NIHJlYWR5KQogICAgalFnaXNsb2FkZXIuZG9uZShmdW5jdGlvbigpewogICAgICAgIGpRdWVyeShmdW5jdGlvbigpewogICAgICAgICAgICBtYXAxID0gbmV3IEwuTWFwLkdpcygnbWFwMScsewogICAgICAgICAgICBtYXBJZDogJzEnLAogICAgICAgICAgICBjYWxsYmFjazogKHR5cGVvZihjYWxsYmFja19tYXAxKSA9PT0gImZ1bmN0aW9uIikgPyBjYWxsYmFja19tYXAxIDogZmFsc2UsCiAgICAgICAgICAgIGNlbnRlcjogWzQ3Ljg5NCw1LjMyMl0sCiAgICAgICAgICAgIG1lYXN1cmVDb250cm9sOiB0cnVlLCAvL1tsZWFmbGV0Ml0KICAgICAgICAgICAgem9vbTogMTEsCiAgICAgICAgICAgIHNjcm9sbFdoZWVsWm9vbTogdHJ1ZSwKICAgICAgICAgICAgem9vbUNvbnRyb2w6IHRydWUsCiAgICAgICAgICAgIGZ1bGxzY3JlZW5Db250cm9sOiB0cnVlLAogICAgICAgICAgICBzY2FsZUNvbnRyb2w6IHRydWUsCiAgICAgICAgICAgIG92ZXJ2aWV3Q29udHJvbDpmYWxzZSwKICAgICAgICAgICAgbGF5ZXJzQ29udHJvbDogdHJ1ZSwKICAgICAgICAgICAgbGF5ZXJzQ29udHJvbE9wdGlvbnM6IHsKICAgICAgICAgICAgICAgIGNvbGxhcHNlZDogdHJ1ZQogICAgICAgICAgICB9LAogICAgICAgICAgICBub0NvbnRyb2w6IGZhbHNlLAogICAgICAgICAgICB1dGlsaXNlcl9iYjogZmFsc2UsCiAgICAgICAgICAgIGFmZmljaGVfcG9pbnRzOiB0cnVlLAogICAgICAgICAgICAvKmpzb25fcG9pbnRzOnsKICAgICAgICAgICAgICAgIHVybDogJ2h0dHBzOi8vY2hlbWluZGVsZWF1LmNvbS9zcGlwLnBocD9wYWdlPWdpc19qc29uJywKICAgICAgICAgICAgICAgICAgICBvYmpldHM6ICdicmFuY2hlX2RvY3VtZW50c19idWxsZScsCiAgICAgICAgICAgICAgICBsaW1pdDogNTAwLAogICAgICAgICAgICAgICAgZW52OiBbXSwKICAgICAgICAgICAgICAgICAgICB0aXRyZTogIiIsCiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICIiLAogICAgICAgICAgICAgICAgICAgIGljb25lOiAiIgogICAgICAgICAgICB9LC8vKi8KICAgICAgICAgICAgY2x1c3RlcjogdHJ1ZSwKICAgICAgICAgICAgY2x1c3Rlck9wdGlvbnM6IHsKICAgICAgICAgICAgICAgIGRpc2FibGVDbHVzdGVyaW5nQXRab29tOiAwLAogICAgICAgICAgICAgICAgc2hvd0NvdmVyYWdlT25Ib3ZlcjogdHJ1ZSwKICAgICAgICAgICAgICAgIHNwaWRlcmZ5T25NYXhab29tOiB0cnVlLAogICAgICAgICAgICAgICAgbWF4Q2x1c3RlclJhZGl1czogODAKICAgICAgICAgICAgfSwKICAgICAgICAgICAgcGF0aFN0eWxlczogbnVsbCwKICAgICAgICAgICAgYXV0b2NlbnRlcmFuZHpvb206IGZhbHNlLAogICAgICAgICAgICBvcGVuSWQ6IGZhbHNlLAogICAgICAgICAgICBsb2NhbGl6ZV92aXNpdG9yOiBmYWxzZSwKICAgICAgICAgICAgbG9jYWxpemVfdmlzaXRvcl96b29tOiAxMSwKICAgICAgICAgICAgY2VudHJlcl9maWNoaWVyOiB0cnVlLAogICAgICAgICAgICBrbWw6IGZhbHNlLAogICAgICAgICAgICBncHg6IGZhbHNlLAogICAgICAgICAgICAvL2dlb2pzb246IGZhbHNlCiAgICAgICAgfSk7CgogICAgICAgICAgICAvKltsZWFmbGV0MV0gZGd5IEdyYXRpY3VsZQogICAgICAgICAgICBMLmdyYXRpY3VsZSh7CiAgICAgICAgICAgICAgICBpbnRlcnZhbDogMSwKICAgICAgICAgICAgICAgIHN0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjNzdGJywKICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEKICAgICAgICAgICAgICAgIH0gICAgICAKICAgICAgICAgICAgfSkuYWRkVG8obWFwMSk7CiAgICAgICAgICAgIEwuZ3JhdGljdWxlKHsKICAgICAgICAgICAgICAgIGludGVydmFsOiAxMCwKICAgICAgICAgICAgICAgIHN0eWxlOiB7CiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjNzdGJywKICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDIKICAgICAgICAgICAgICAgIH0gICAgICAKICAgICAgICAgICAgfSkuYWRkVG8obWFwMSk7CiAgICAgICAgICAgIC8vKi8KCgogICAgICAgICAgICAvKltsZWFmbGV0NF0gZGd5IENvb3Jkb25uP2VzIG9uQ2xpY2sKICAgICAgICAgICAgdmFyIHBvcHVwID0gTC5wb3B1cCgpOwogICAgICAgICAgICBtYXAxLm9uKCdjbGljaycsIG9uQ2xpY2spOwogICAgICAgICAgICBmdW5jdGlvbiBvbkNsaWNrKGUpewogICAgICAgICAgICBwb3B1cAogICAgICAgICAgICAuc2V0TGF0TG5nKGUubGF0bG5nKQogICAgICAgICAgICAuc2V0Q29udGVudCgnUG9zaXRpb24gOiAnICsgcGFyc2VGbG9hdChlLmxhdGxuZy5sYXQpLnRvRml4ZWQoNSkgKyAnLCAnICsgcGFyc2VGbG9hdChlLmxhdGxuZy5sbmcpLnRvRml4ZWQoNSkgKQogICAgICAgICAgICAub3Blbk9uKG1hcDEpOwogICAgICAgICAgICB9IC8vKi8KCiAgICAgICAgICAgIC8vKltsZWFmbGV0NGJdIGRneSAtIENvb3Jkb25uP2VzIG9uQ2xpY2sgd2l0aCBhbHRpdHVkZQoKICAgICAgICAgICAgdmFyIHBvcHVwID0gTC5wb3B1cCgpOwogICAgICAgICAgICBtYXAxLm9uKCdjbGljaycsIG9uQ2xpY2spOwoKICAgICAgICAgICAgZnVuY3Rpb24gb25DbGljayhlKXsKICAgICAgICAgICAgICAgIC8vIEdvb2dsZSBFbGV2YXRpb24gQVBJLgoKICAgICAgICAgICAgICAgIHZhciB1cmwgPSAiaHR0cHM6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2VsZXZhdGlvbi9qc29uP2tleT1BSXphU3lBOVFlcHZmbm53Sjgzd1F6ejJuY2FYbHRwcmpvbDVKMTQmbG9jYXRpb25zPSIgKyBlLmxhdGxuZy5sYXQgKyAiLCIgKyBlLmxhdGxuZy5sbmc7CiAgICAgICAgICAgICAgICB2YXIgYWx0aXR1ZGU7CiAgICAgICAgICAgICAgICB2YXIgc291cmNlOyAgICAgCgogICAgICAgICAgICAgICAgdmFyIGpxeGhyID0gJC5nZXQoICdodHRwOi8vY3Jvc3NvcmlnaW4ubWUvJyArIHVybCwgZnVuY3Rpb24oIGRhdGEgKSB7ICAgICAgIAogICAgICAgICAgICAgICAgICAgIGlmICggZGF0YS5zdGF0dXMgPT0gJ09LJyApIHsgICAgICAgLy8gR29vZ2xlIEVsZXZhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICBhbHRpdHVkZSA9IE1hdGgucm91bmQoKGRhdGEucmVzdWx0c1swXS5lbGV2YXRpb24pKjEpOwogICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UgPSAnR0VBJzsKICAgICAgICAgICAgICAgICAgICAgICAgcG9wdXAKICAgICAgICAgICAgICAgICAgICAgICAgLnNldExhdExuZyhlLmxhdGxuZykKICAgICAgICAgICAgICAgICAgICAgICAgLnNldENvbnRlbnQoJ1Bvc2l0aW9uIDogJyArIHBhcnNlRmxvYXQoZS5sYXRsbmcubGF0KS50b0ZpeGVkKDUpIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAnLCAnICsgcGFyc2VGbG9hdChlLmxhdGxuZy5sbmcpLnRvRml4ZWQoNSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgJyBhbHQ6ICcgKyBhbHRpdHVkZSArICdtJyAKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICAub3Blbk9uKG1hcDEpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGFsdGl0dWRlID0gMDsKICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlID0gZGF0YS5zdGF0dXM7CiAgICAgICAgICAgICAgICAgICAgfSAgIAogICAgICAgICAgICAgICAgfSwgImpzb24iICk7IAoKICAgICAgICAgICAgfSAgLy8qLwoKCiAgICAgICAgICAgIC8vKltsZWFmbGV0NV0gZGd5IC0gSW5jb3Jwb3JlciBsZXMgZG9ubj9lcyBHZW9KU09OCiAgICAgICAgICAgIC8vIFBhcmNlIHF1ZSBMZWFmbGV0IGEgdW4gYnVnIHF1aSBlbXA/Y2hlIGRlIHByZW5kcmUgZW4gY29tcHRlIGxlcyBzdHlsZXMgZGVzIGZlYXR1cmVzIEdlb0pTT04uCiAgICAgICAgICAgIC8vIElsIGZhdXQgY29udmVydGlyIGxlIHNpbXBsZXN0eWxlIGRlIEdlb0pTT04gZW4gc3R5bGUgTGVhZmxldCA6IGZvbmN0aW9uIHJlbWFwLiAKCiAgICAgICAgICAgIC8vIHNpbXBsZXN0eWxlIDEuMS4wCiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXBib3gvbWFwYm94LmpzL2Jsb2IvbWItcGFnZXMvc3JjL3NpbXBsZXN0eWxlLmpzCiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXBib3gvc2ltcGxlc3R5bGUtc3BlYwogICAgICAgICAgICAvLyBBZGFwdGF0aW9ucyBwYXIgQkQKICAgICAgICAgICAgdmFyIGRlZmF1bHRzID0gewogICAgICAgICAgICAgICAgInRpdGxlIjogIiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiIiwKICAgICAgICAgICAgICAgICJtYXJrZXItc2l6ZSI6ICJtZWRpdW0iLAogICAgICAgICAgICAgICAgIm1hcmtlci1zeW1ib2wiOiAiIiwKICAgICAgICAgICAgICAgICJtYXJrZXItY29sb3IiOiAiI2ZmZiIsCiAgICAgICAgICAgICAgICAnc3Ryb2tlJzogJyM1NTU1NTUnLAogICAgICAgICAgICAgICAgJ3N0cm9rZS13aWR0aCc6IDIsCiAgICAgICAgICAgICAgICAnc3Ryb2tlLW9wYWNpdHknOiAxLAogICAgICAgICAgICAgICAgJ2ZpbGwnOiAnIzU1NTU1NScsCiAgICAgICAgICAgICAgICAnZmlsbC1vcGFjaXR5JzogMC41CiAgICAgICAgICAgIH07CgogICAgICAgICAgICB2YXIgbWFwcGluZyA9IFsKICAgICAgICAgICAgICAgIFsnc3Ryb2tlJywgJ2NvbG9yJ10sCiAgICAgICAgICAgICAgICBbJ3N0cm9rZS13aWR0aCcsICd3ZWlnaHQnXSwKICAgICAgICAgICAgICAgIFsnc3Ryb2tlLW9wYWNpdHknLCAnb3BhY2l0eSddLAogICAgICAgICAgICAgICAgWydmaWxsJywgJ2ZpbGxDb2xvciddLAogICAgICAgICAgICAgICAgWydmaWxsLW9wYWNpdHknLCAnZmlsbE9wYWNpdHknXQogICAgICAgICAgICBdOwoKICAgICAgICAgICAgZnVuY3Rpb24gZmFsbGJhY2soYSwgYikgewogICAgICAgICAgICAgICAgdmFyIGMgPSB7fTsKICAgICAgICAgICAgICAgIGZvciAodmFyIGsgaW4gYikgewogICAgICAgICAgICAgICAgICAgIGlmIChhW2tdID09PSB1bmRlZmluZWQpIGNba10gPSBiW2tdOwogICAgICAgICAgICAgICAgICAgIGVsc2UgY1trXSA9IGFba107CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gYzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gcmVtYXAoYSkgeyAgLy8gZGUgR2VvSlNPTiB2ZXJzIExlYWZsZXQKICAgICAgICAgICAgICAgIHZhciBkID0ge307CiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1hcHBpbmcubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICBkW21hcHBpbmdbaV1bMV1dID0gYVttYXBwaW5nW2ldWzBdXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiBkOwogICAgICAgICAgICB9CgoKICAgICAgICAgICAgZnVuY3Rpb24gaGlnaGxpZ2h0RmVhdHVyZShlKSB7ICAKICAgICAgICAgICAgICAgIHZhciBsYXllciA9IGUudGFyZ2V0OwogICAgICAgICAgICAgICAgdmFyIHc7CiAgICAgICAgICAgICAgICBpZiAoICggdyA9IGxheWVyLmZlYXR1cmUucHJvcGVydGllc1snc3Ryb2tlLXdpZHRoJ10gKSA+IDAgKSB7IAogICAgICAgICAgICAgICAgICAgIGxheWVyLnNldFN0eWxlKHsKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAoIDMgKiB3ICksCiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAwLjcKICAgICAgICAgICAgICAgICAgICB9KTsgICAgCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGxheWVyLnNldFN0eWxlKHsKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiA1LAogICAgICAgICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMC43CiAgICAgICAgICAgICAgICAgICAgfSk7IAogICAgICAgICAgICAgICAgfSAKICAgICAgICAgICAgICAgIGlmICghTC5Ccm93c2VyLmllICYmICFMLkJyb3dzZXIub3BlcmEpIHsKICAgICAgICAgICAgICAgICAgICBsYXllci5icmluZ1RvRnJvbnQoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSAgICAgCgogICAgICAgICAgICBmdW5jdGlvbiByZXNldEhpZ2hsaWdodChlKSB7CiAgICAgICAgICAgICAgICB2YXIgZHJhd25JdGVtcyA9IG5ldyBMLkZlYXR1cmVHcm91cCgpOwogICAgICAgICAgICAgICAgZHJhd25JdGVtcy5yZXNldFN0eWxlKGUudGFyZ2V0KTsKICAgICAgICAgICAgfQoKCiAgICAgICAgICAgIC8vIFNQSVAgcGFzc2UgcGFyIGwnZW52aXJvbm5lbWVudCBsJ2FycmF5IGdlb2pzb24gcXVpIGNvbnRpZW50IGxlcyBmaWNoaWVycyBhdSBmb3JtYXQgR2VvSlNPTi4KICAgICAgICAgICAgdmFyIGdlb2pzb25fZmlsZSA9IGZhbHNlOwogICAgICAgICAgICB2YXIgaTsgIAogICAgICAgICAgICAvLyBQYXJjb3VyaXIgbGVzIGZpY2hpZXJzCiAgICAgICAgICAgIGZvciAoIGkgaW4gZ2VvanNvbl9maWxlICkgIHsgCiAgICAgICAgICAgICAgICAvLyBDcmVhdGUgR2VvSlNPTiBsYXllciBhbmQgZmV0Y2ggZGF0YSAKICAgICAgICAgICAgICAgICQuZ2V0SlNPTihnZW9qc29uX2ZpbGVbaV0sIGZ1bmN0aW9uKGRhdGEpIHsKICAgICAgICAgICAgICAgICAgICBkcmF3bkl0ZW1zID0gTC5nZW9Kc29uKGRhdGEsIHsKICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGUgOiBmdW5jdGlvbiAoZmVhdHVyZSwgbGF5ZXIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbnZlcnRpciBsZSBzaW1wbGVzdHlsZSBHZW9KU09OIGVuIHN0eWxlIExlYWZsZXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFByb2JhYmxlbWVudCB1biBidWcgZGUgTGVhZmxldCwgPyBzdXBwcmltZXIgdW4gam91cj8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsZnByb3BzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZwcm9wcyA9IHJlbWFwKGZhbGxiYWNrKGZlYXR1cmUucHJvcGVydGllcyB8fCB7fSwgZGVmYXVsdHMpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsZnByb3BzOwogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBvbkVhY2hGZWF0dXJlOiBmdW5jdGlvbiAoZmVhdHVyZSwgbGF5ZXIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggbGF5ZXIuZmVhdHVyZS5nZW9tZXRyeS50eXBlICE9ICdQb2ludCcgKSB7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbnN0cnVpcmUgbGUgY29udGVudSBkdSBwb3B1cAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjb250ZW50OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoIHByb3AgaW4gZmVhdHVyZS5wcm9wZXJ0aWVzICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGZlYXR1cmUucHJvcGVydGllc1twcm9wXSAhPSAnJyApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggcHJvcCA9PSAnbmFtZScgKSBjb250ZW50ID0gIjxiPiIgKyBmZWF0dXJlLnByb3BlcnRpZXMubmFtZSArICI8L2I+IjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCBwcm9wID09ICdkZXNjcmlwdGlvbicgKSBjb250ZW50ICs9ICI8YnIgLz4iICsgZmVhdHVyZS5wcm9wZXJ0aWVzLmRlc2NyaXB0aW9uOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCBwcm9wID09ICdjb3B5cmlnaHQnICkgY29udGVudCArPSAiPGJyIC8+PHNtYWxsPiZjb3B5OyAiICsgZmVhdHVyZS5wcm9wZXJ0aWVzLmNvcHlyaWdodCArICI8L3NtYWxsPiI7IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICggcHJvcCA9PSAnbGluaycgKSBjb250ZW50ICs9ICc8YnIgLz48c21hbGw+bGluazogJyArICc8YSBocmVmPSInICsgZmVhdHVyZS5wcm9wZXJ0aWVzLmxpbmsgKyAnIj4nICsgZmVhdHVyZS5wcm9wZXJ0aWVzLmxpbmsgKyAnPC9hPjwvc21hbGw+JzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gIjxiciAvPjxzbWFsbD4gIiArIHByb3AgKyAnOiAnICsgZmVhdHVyZS5wcm9wZXJ0aWVzW3Byb3BdICsgIjwvc21hbGw+IjsgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXIuYmluZFBvcHVwKGNvbnRlbnQpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBQb3VyIG1pc2UgZW4gP3ZpZGVuY2UgYXUgc3Vydm9sICAvL1tsZWFmbGV0NWFdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXIub24oewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3VzZW92ZXI6IGhpZ2hsaWdodEZlYXR1cmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdXNlb3V0OiByZXNldEhpZ2hsaWdodAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOyAvLyovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhd25JdGVtcy5hZGRMYXllcihsYXllcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICBkcmF3bkl0ZW1zLmFkZFRvKG1hcDEpOwogICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICB9IAoKICAgICAgICAgICAgTC5NYXAuR2lzLmluY2x1ZGUgKHsgICAgICAgICAgICAgLypbbGVhZmxldDZdIHN1cmNoYXJnZSBkZSBsZWFmbGV0Lmdpcy5qcyBwb3VyIGFqb3V0IGRlIG1vdXNlb3ZlciAqLwogICAgICAgICAgICAgICAgc2V0R2VvSnNvbkZlYXR1cmVQb3B1cDogZnVuY3Rpb24gKGZlYXR1cmUsIGxheWVyKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gRMOpY2xhcmVyIGxlIGNvbnRlbnUgZGUgbGEgcG9wdXAgcydpbCB5IGVuIGEKICAgICAgICAgICAgICAgICAgICBpZiAoZmVhdHVyZS5wcm9wZXJ0aWVzICYmIChmZWF0dXJlLnByb3BlcnRpZXMudGl0bGUgfHwgZmVhdHVyZS5wcm9wZXJ0aWVzLmRlc2NyaXB0aW9uKSl7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwb3B1cENvbnRlbnQgPSAnJzsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHBvcHVwT3B0aW9ucyA9ICcnOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmVhdHVyZS5wcm9wZXJ0aWVzLnRpdGxlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9wdXBDb250ZW50ID0gJzxzdHJvbmcgY2xhc3M9InRpdGxlIj4nICsgZmVhdHVyZS5wcm9wZXJ0aWVzLnRpdGxlICsgJzwvc3Ryb25nPic7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmZWF0dXJlLnByb3BlcnRpZXMuZGVzY3JpcHRpb24pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3B1cENvbnRlbnQgPSBwb3B1cENvbnRlbnQgKyBmZWF0dXJlLnByb3BlcnRpZXMuZGVzY3JpcHRpb247CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmZWF0dXJlLnByb3BlcnRpZXMucG9wdXBfb3B0aW9ucykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcHVwT3B0aW9ucyA9IGZlYXR1cmUucHJvcGVydGllcy5wb3B1cF9vcHRpb25zOwogICAgICAgICAgICAgICAgICAgICAgICBsYXllci5iaW5kUG9wdXAocG9wdXBDb250ZW50LHBvcHVwT3B0aW9ucyk7CgogICAgICAgICAgICAgICAgICAgICAgICBsYXllci5vbignbW91c2VvdmVyJywgZnVuY3Rpb24gKGUpIHsgICAgICAgIC8qW2xlYWZsZXQ2XSovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5Qb3B1cCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5KHRoaXMpOyAvKltsZWFmbGV0N10qLyAgIAogICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsgICAgCgogICAgICAgICAgICBMLk1hcmtlci5pbmNsdWRlKHsgICAgICAgICAgICAgLypbbGVhZmxldDddIGFmZmljaGVyIGwnaW1hZ2UgZW4gZ3JhbmQgZGFucyAjaW1hZ2VzICovCiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmdW5jdGlvbiAoZSkgeyAKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICBpZiAoICQoIiNtZWRpYSIpLnRleHQoKSA9PSAnaW1hZ2UnICkgewogICAgICAgICAgICAgICAgICAgICAgICAkKCIub3J0aG8iKS5jc3MoImRpc3BsYXkiLCJub25lIik7CiAgICAgICAgICAgICAgICAgICAgICAgICQoIi5pbWFnZSIpLmNzcygiZGlzcGxheSIsImJsb2NrIik7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpbWdyZWQgPSAkKCIjaW1ncmVkIikudGV4dCgpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCIjaW1hZ2UiKS5hdHRyKCJzcmMiLGltZ3JlZCk7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpbWd3aWR0aCA9ICcxMDAlJzsKICAgICAgICAgICAgICAgICAgICAgICAgJCgiI2ltYWdlIikuYXR0cigid2lkdGgiLGltZ3dpZHRoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpbWdoZWlnaHQgPSAnMTAwJSc7CiAgICAgICAgICAgICAgICAgICAgICAgICQoIiNpbWFnZSIpLmF0dHIoImhlaWdodCIsaW1naGVpZ2h0KTsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGlkX2RvY3VtZW50ID0gJCgiI2lkX2RvY3VtZW50IikudGV4dCgpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCIjaWRfdGV4dCIpLnRleHQoaWRfZG9jdW1lbnQpOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdGl0cmUgPSAkKCIudGl0bGUgYSIpLmF0dHIoJ3RpdGxlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoIiN0aXRyZV90ZXh0IikudGV4dCh0aXRyZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpZF92bmYgPSAkKCIjaWRfdm5mIikudGV4dCgpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCIjaWRfdm5mX3RleHQiKS50ZXh0KGlkX3ZuZik7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwa192bmYgPSAkKCIjcGtfdm5mIikudGV4dCgpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCIjcGtfdm5mX3RleHQiKS50ZXh0KHBrX3ZuZik7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB1cmwgPSAiLz9wYWdlPXBob3RvJmlkX2RvY3VtZW50PSIgKyBpZF9kb2N1bWVudDsKICAgICAgICAgICAgICAgICAgICAgICAgJCgiI2J0bl9wbHVzIikuYXR0cignaHJlZicsdXJsKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCQoIiNtZWRpYSIpLnRleHQoKSA9PSAnb3J0aG8nICkgewogICAgICAgICAgICAgICAgICAgICAgICAkKCIub3J0aG8iKS5jc3MoImRpc3BsYXkiLCJibG9jayIpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCIuaW1hZ2UiKS5jc3MoImRpc3BsYXkiLCJub25lIik7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpbWdzcmMgPSAkKCIjaW1nc3JjIikudGV4dCgpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCIjaW1hZ2UyIikuYXR0cigic3JjIixpbWdzcmMpOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgaW1nd2lkdGggPSAkKCIjbGFyZ2V1cl9kb2N1bWVudCIpLnRleHQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgiI2ltYWdlMiIpLmF0dHIoIndpZHRoIixpbWd3aWR0aCk7CiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaW1naGVpZ2h0ID0gJCgiI2hhdXRldXJfZG9jdW1lbnQiKS50ZXh0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoIiNpbWFnZTIiKS5hdHRyKCJoZWlnaHQiLGltZ2hlaWdodCk7CiAgICAgICAgICAgICAgICAgICAgfSAKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICAKICAgICAgICAgICAgLy9pZiAoIDEgPT0gMSApIHsKICAgICAgICAgICAgICAgIC8vdmFyIGhhc2ggPSBuZXcgTC5IYXNoKG1hcDEpOyAvL1tsZWFmbGV0OF0gCiAgICAgICAgICAgIC8vfQogICAgICAgICAgICAKICAgICAgICAgICAgLy8gTmF2aWdhdGlvbiBbbGVhZmxldDE1XSAgICAgICAgCgogICAgICAgICAgICB2YXIgaWR3YXRjaDsKICAgICAgICAgICAgdmFyIG1hcG9zaXRpb25NYXJrZXI7CiAgICAgICAgICAgIHZhciBtYXJrZXJUbzsKICAgICAgICAgICAgdmFyIHNuZCA9IG5ldyBBdWRpbygiZGF0YTphdWRpby9tcGVnO2Jhc2U2NCxTVVF6QkFBQUFBQUFJMVJUVTBVQUFBQVBBQUFEVEdGMlpqVTFMakV5TGpFd01BQUFBQUFBQUFBQUFBQUEvL3VRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFTVzVtYndBQUFBY0FBQUFJQUFBT3NBQTRPRGc0T0RnNE9EZzRPRGhWVlZWVlZWVlZWVlZWVlZWeGNYRnhjWEZ4Y1hGeGNYRnhqbzZPam82T2pvNk9qbzZPcXFxcXFxcXFxcXFxcXFxcXFzZkh4OGZIeDhmSHg4Zkh4K1BqNCtQajQrUGo0K1BqNCtQLy8vLy8vLy8vLy8vLy8vOU1ZWFptTlRVdU1USXVNVEF3QUFBQUFBQUFBQUFrQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy91UVJBQUFBbjRUdjRVbElBQkV3aXJ6cEtRQURQNFJhaG1KQUFHbHRDM0RJeEFBRkRpTVZrNlFvRkVSUUdDVENNQTRBd0xPQURBdFlFQU1CaHk0ckJBd0l3RGh0b0tBZ3dveHcvREVRT0I4dThNY1FPLzFBZ3IvNVNDRHYvLy8veEFHQk9IejRJSEFmQndFQVFpY0VBUUJBRUFBQUNxRzZJQVFCQUVBd1NJRWFOSE9pQVVDZ2tKMGFPYy9hNk1VQ2dFQVFEQkpBdUNBSVEvNWNFQVFPQ2NIQXgxZytEOVlQeWp2S0hQL0U3Ly81UUVQLytvRXdmNTBGTGdBcEYzN0R0ejNQM20xbFg2eUdydW9peGQyUE9NdUdMeEF3OEFJb25rR3lxYW1SQk54SGZ6K1hSenkxck1QMUpIVkRKb2NvRkwvVFRLQlVlMlNocWRQZitZR2xlb3VNbzl6ay8vLy8rcjMzLy8vK3BaZ2ZiLzhhNVUvLy8vLzlTZi8vLy9LWU1wMEdXRk5JQ1RYaDNpZEVpR3dWaFVFakxySmtTa0o5SmNHdk15NEZ6ZzJpN1VPWnJFN3RpRERlaVpFYVJUVVlFZnJHVFV0RkFlRXVaay83RkM4NFpyUzhrbG51dEtlelRxZGJxUGU2RHFiM09hLy9YNnYvLy9xU0pKLy95eWJmL3lQUS9uZi8vLytWU1pJcVJPQ0JyRnRKZ0gyWU1IU2d1VzR5UnhwY3BxbC8vdVNaQXVBQXdJK1huOWlJQVJiQzl2LzU3UUFpL2w3Yjh3MXJkRjNyMjM5aUxXNmF5ajhvdTZ1UGx3ZFF5eHJVa1R6bVFrUk9vc2tsL1NXQldEWUMxd0FzR3hGbldpaWd1czFKai8wa2pnc3NTVTFiL3FOaEhhMnpNb290OU5QLytiUHpwZjhwK2gzZi8vMEI0S3FxY2xZeFRyVFVaM3piTklmYnh1Tkp0VUxjWDYyeFBpM0hVekQxSlU4ZXppRlRoNFJiL1dZaWVnR0lGK0NlaVlrcWF0KzRVQUlXYXQvNmgvTGYvcVNIczNPbHorczkvL2R0RVp4NkpMVjZqRnYvNy8vLy8vLyt4ZUZvcW9KWUVFNm1oQTZ5Z3MxMUNwWEpoQThyU1NRYlNsTWRWVTZRSEtTUjBld3NRM2h5Nmphd0phN2Yrb0FwU3dmQklyLzFBeEFRZi84bkJ1aWN0OHkrZEUyUDhpa3orVm9mLzBINCtrNnRmMGYvNnY2ay8vLy8vOHFLanYvMUJJYW02Z0NZUWpwUkJRYXY0T0tvc1hWclB3bVU2S1pObGVuNmE2TUI1Y0pzaGhMNXhzandacnQvVWRGTUprUHNPa08wUXA1N3NtbFVIZURCVC8rc3dDOGhEZnY4eExXNTB1LzFyLy9zM09sL1Y5di8vL1MvLy8vL3lZU2YvOFlONW1ZRTJSR3JXWEdBUURLSE1aSU9ZV0Uwa05UeDVxa3h2dE1qUC83a21RT0FBTUZYbDU1ODJ0MllZdnJuejVxYm93aGZYL3NRYTN4ZjYrdS9QaTF1aVBPbWNLSlhyT0Y1RXVoWWtGMUJiYi8zRUFpdU9XSm9jWDlreWNCdE1ETElkNW83UCtwTURZUnYxL21EZGFQOHVsMzlYMVg1SURIcnQxby8vLzlTLy8vLy84NUtWVmJ1Q09RTmVNcElDSjgxRHFIREdWQ3VyTEFhLzBFS1ZVc216UW5pUXpKVlkrdzdOYXYra0RleE9DRWdON2lQaUlteUJtWUltcm1nQ1FBY1ZsdG5adjJJUXNBWEw5dnFMUGxTYitRazMvNkszTUZiK3YvL2Irbi8vLy8rVUpXLy9TYzFtU0t1eVJad0FFa1hMSVFKWExCbDZvdHA4S1BoaVlIWWgrbUVBb0UrZ1RCZkpnZU5JdHNkRzZHWVBQLzFGa1FGSHNQM0lPUEx0YXZXRU9HTWYvV1RoTXdFV0NwTm02eS8rWStzLy9PSC8xL3UvT0dYLy8vLzZ2Ly8vLytiQ1NvSE16TWdzb1RlYlNhSWpWUjZsS1BwRzdyQ1lXbU4ralJodEd1WGlIaTU3RTBYRVRFTTdFQVVsLzlJZElOc2c4d0lBQVFCbVM4aXBhbDZ3eDhCbkgvL1VZaE56VDlMOGxINTF2Nm0vL3UzSWhJMXI5YVAvLy9WLy8vLy8waVEvL3BDODdZQVdBS0tXQVFBNjdQd1EyaUNkc2lrVlk0WWEvLys1SmtDNEFEVG16WCswMXJjRkxyeS84K0RXL09nYk5WN05JTndRNmU3blRXdFhMSEhoeWRBQXh3WkZVMWxRdHRNM3BnTXdQNmxxZEIvcklnQUJBYXhCUm5LU0xvL2NCMmhGRHovOU14RGlEMmw2eWg5UlRmbFpLZjFKZnIvUmZrUVlXdEw2UC8vL1YvLy8vL3cvaWNGbi8vLzdsQXdKcDJJQnBRNE5FU0NLZTFkdUpjaE84UW9MTit6Q3REcWt5NFdpUTVyaGJVYjlhditvUWxqZkRCWmRQc3RWSkpGSU1TZ1hVWHUzOUVGR1FHLy9KWnVzLy9PRy82WDZMYzRsLy8vLy90Ly8vLy9LeDRMV1lvQVFBQmd3UUFHV3RPVTFmNUsxcHpOR0R2WXNlY2Z1Y2U0TGRCZThpQnVabUJtVmRaSlZBbXVDazh0dC9xT2k4QXg0UWpneXdEWUVNTTBka2tVa3FRMWdHQ3BhZi9uVGdvUUgzNnZwa01mbEU3L0tSaitrLzBuNURpRFBTKzMvLy9xZi8vLy83Sml6UkN5YS8vLy9XYUdMeWdDbDBscXBwd0FIMW4vcEdNNk1DUEZLN0pQMnFKcHN6LzlFZmdIVU40YllVbzhrVmZ4WkRkLzlacVhTaTMxL1dYVzUxRCtaRzM3L3BOeWNNRGJuZi8vLytKYWlXYnh3SkFBREVBZ0FXQm9SSnF1TXBheEpRRmVUY1UrWDdWeEwzTUdJSmUvL3VTWkJBQUJCVnMwZnRhYTNCQ1MrdWRUYVZ2akxWNVcrdzFyZGs1cjZ4ODlyVytCeDR4R0kzTElHL2RLNDJjb0FOd0J5bm5zWjRmLy8rdDNHZnJuUkpLZ0NUTGRpMW0xWnByTVp5bVVFVE40dGozKy8vOUZRRU1EbVg5TDVxVm1sYWlLVmZ4M0ZKL21INWRmcGh3NmIvLy8vNjBQLy8vL3FXa01RRWZJWnEvLy8vc01FU1A0SDRmQ0UwU1NCQW5rbmtYK3BaelNTMmR2MUtQTi82aGRBSlVoSWp6S0wxTDJzRHFTVC8rZ3dGLy9pcjhSRWY1aDM1ZjJibUR6My8vLy8vLy8vLy9qQUdLY1JFd0tNUUkrVldzajdxTkNGcDBaazlpYmdoODJyS2ovSkVJRm1TaHVTWk1NeGs2SmV3N0JMT2gvNndXazFFYUFLNG5Kc3pvcEdwZFVZaDlFWU4yLzB6UVlZbmh2SnQxajErcFB6cHIvVEtIWHMzejZXZEUxTjBwbS9vLy8vOWYvLy8vL01wa2lJaUJlQ0FMSnBrZ3BiS0ZtZTdydlBzMS92d00weVdtZU5uNzV4SC8rQmtFSVdJVGt0WitpalhFaS8vbkM4WFE4djlENXdlejg2WHY2U0wvTHY1ZVBjcklPbC8vLy8xLy8vLy84NGJQRzEvQndBSFNNckFtbFN3OVMzT2ZyR015NTFiVGdtVm1IQUZ0QW1DbVJnMnMxTHptQVAvN2ttUVNnQU05WHM1ck0ydHdYRzJaNzBJS2JnMDlmVDJudmEzeGdxL210UmUxdWk4QUZWR2FDLzlFYXdObmhpaGVzTmdFNUU2a2lyM0dWRmxvZit0RVFFcGYvck1INTBsdjVXUEg2azIrWFg0SlVLUnBuOVhxLy8rN2YvLy8veDNDeUFYLzRMSXp2RGdkZ0FFYkZiQWMwckdxVE8ycDF6b0tBMjJsOHRGTWl1bzJSUkJPTXpadittVUEyTWlBeWdsSTNiOVp3WjBHN2pxbHQvT2NESUtYKy8xTmJsU1grVktmUWZQOHh1SkpHazcvLy8vcmYvLy8vK1BnWFR2Ly8vMUpUaEpKUWFpbm15U0FCNmltVXl1VmJWdHRVbzdUNENzYTgyMU91Rjg4ZjYyK0NaSEZuR2YvLy9tUWdZSUVPMFNNRjJOVnk5TnhZVGRscUo4QXVTNHpyLy9TSm9UVUorQ2FLS1RjWnZvc3JVUG84Vy9NVXYwZjAzM0U5RS9RcE42UC8vL3YvLy8vL1dSUjJtd1VBWVVBQmphYlJ1MXZyT0xLQUYwa0lkSGpuRXgvaU5XbzdqR24xLy8vL21BcHhOVEpRUU9VMUhldC9Ob1VGVE1RczZWamEvLy9USGFHSWwvMGZvamw4bWpkL0pvOFcrWmZwTnBDYWpzejcvLy8vNmtuLy8vLy9XUlJnRHovL0xEMUtTVERqS09jaVNBS3hkTHg1UzMxdVlxS0lXai8rNUpFQ2dBQzhWNU02ZzlyZEZ5cjZWbzlyVzZLdEhjcjVERUpRUmtTcExSa2xTaWd2VmM0UXBteVBlOUgzekhSMS9pbjlQLzhWTkNNSk96WVVEeVZqZndIUDBaZ2ladC8zLys5RUJuREtiZWdkVXJja2hnbnRIYVE5dlgvWC85QS8vLy8vK3IvLy8vL21KMy85SXRSY29WUm9nQWNtVjlOOHowcHZFUzhRUXNLb01HWEV5bVBReVdtNkU0SFFMcWdwdi9DWkpBdFlYUVN3b0Y4ZTZTQjU2ekFCRW9XK3FnWmpKQVpvdkdyMEdsNS9PakZLTDNKd25hWDl2Ny9YOHkxZi8vLy8vLy8vLzQ5V0F6TXpFWVlNWkxxNkNVQU5JcWJEWDdsaXNCSWRyYUFFUHdTaFRSYzlXWjJ2QXFCYzROUTlHclVOYXcwQ3pjcnRlMGcxTkVvaVU4TkZqeDRORmg1NEZTd2xPbGdhQ3AwUzNocW84U0xPaDMvNjNmN1AvS2dLSnh4aGdHU25BRk1DbklvZ3dVNUpvcUJJREF1QklpTkxFVHlGbWlJbXRZaURUU2xiOHppSUZZU0Z2L1FQQzM4enl4RU91UGVWR0hRNzdyLzF1LytrcTQ5Ly82ZzRnam9WUVNVTVlRVVNBUDhQd1JjWkl5aDJrQ0kyT3drWklDWm1hWnhnbnNOWThEbVNDV1gwaWRodHozVlRKU3FFclRTQi8vMVg3VFRUVlZWLy91U1pCMlA4eHdSSjRIdlljSXRRbFdCQUNNNEFBQUJwQUFBQUNBQUFEU0FBQUFFVmYvK3FDRTAwMFZWVlZVMDAwMi8vK3FxcXF1bW1tbXIvLy9xcXFwcHBwb3FxcXFwcHBwb3FxQVRrRWpJeUl4QmxCQTVLd1VFREJCd2tGaFlXRmhVVkZmaXFoWVdGaGNWRlJVVkZ2L0ZmL3hVVkZSWVdGcE1RVTFGTXk0NU9TNDFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFnPT0iKTsgIAoKICAgICAgICAgICAgdmFyIGN1clpvb20gPSBQT1NfT0RHX1pPT007ICAvLyB6b29tIGNvdXJhbnQgYXUgY2hhbmdlbWVudCBkZSBtb2RlCiAgICAgICAgICAgIHZhciBuYXZab29tID0gUE9TX09ER19aT09NOyAvLyB6b29tIGRlIGxhIG5hdmlnYXRpb24KCiAgICAgICAgICAgIHZhciBleHBMYXQgPSBQT1NfT0RHX0xBVDsgLy8gcG9zaXRpb24gZGUgbCdleHBsb3JhdGlvbiBhdSBjaGFuZ2VtZW50IGRlIG1vZGUKICAgICAgICAgICAgdmFyIGV4cExvbiA9IFBPU19PREdfTE9OOwogICAgICAgICAgICB2YXIgZXhwWm9vbSA9IFBPU19PREdfWk9PTTsgLy8gem9vbSBkZSBsJ2V4cGxvcmF0aW9uIGF1IGNoYW5nZW1lbnQgZGUgbW9kZQoKICAgICAgICAgICAgLyoqKioqKiBNb2RlIE5hdmlnYXRpb24vRXhwbG9yYXRpb24gKioqKiovCgogICAgICAgICAgICAvLyBjbGljIHN1ciBsZSBib3V0b24gTmF2aWdhdGlvbi9FeHBsb3JhdGlvbgogICAgICAgICAgICAkKCIjYnRuLW5hdmV4cGwiKS5vbigiY2xpY2siLCBmdW5jdGlvbigpIHsgICAgCgogICAgICAgICAgICAgICAgLy8gdG9nbGUgbmF2ZXhwbCA6IAogICAgICAgICAgICAgICAgaWYgKCAkKHRoaXMpLmRhdGEoIm5hdmV4cGwiKSA9PSAxICkgeyAgICAgLy8gMTogTmF2aWdhdGlvbiwgMCA6IEV4cGxvcmF0aW9uLgoKICAgICAgICAgICAgICAgICAgICAvLyBQYXNzZXIgZW4gbW9kZSBFeHBsb3JhdGlvbgogICAgICAgICAgICAgICAgICAgICQodGhpcykuZGF0YSgibmF2ZXhwbCIsMCk7CiAgICAgICAgICAgICAgICAgICAgJCgiI2J0bi1uYXZleHBsIikuaHRtbChNT0RFX0VYUExPUkFUSU9OKTsKICAgICAgICAgICAgICAgICAgICAvLyBTZSBzb3V2ZW5pciBkdSB6b29tIGRlIGxhIG5hdmlnYXRpb24KICAgICAgICAgICAgICAgICAgICBuYXZab29tID0gbWFwMS5nZXRab29tKCk7CiAgICAgICAgICAgICAgICAgICAgLy8gQXJyw6p0ZXIgbGEgbmF2aWdhdGlvbgogICAgICAgICAgICAgICAgICAgIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5jbGVhcldhdGNoKGlkd2F0Y2gpOwogICAgICAgICAgICAgICAgICAgIC8vIFJlY2FsZXIgbGEgY2FydGUgc3VyIGxhIHBvc2l0aW9uIGNvdXJhbnRlIGRlIGwnZXhwbG9yYXRpb24sIGF1IGTDqXBhcnQgY2VsbGUgZGUgbCdhdWRpb2d1aWRlCiAgICAgICAgICAgICAgICAgICAgbWFwMS5wYW5UbyhbZXhwTGF0LGV4cExvbl0pOwogICAgICAgICAgICAgICAgICAgIC8vIEV0IHJldmVuaXIgYXUgem9vbSBkZSBsJ2V4cGxvcmF0aW9uCiAgICAgICAgICAgICAgICAgICAgbWFwMS5zZXRab29tKGV4cFpvb20pOwogICAgICAgICAgICAgICAgfSAKCiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvLyBQYXNzZXIgZW4gbW9kZSBOYXZpZ2F0aW9uCiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5kYXRhKCJuYXZleHBsIiwxKTsKICAgICAgICAgICAgICAgICAgICAkKCIjYnRuLW5hdmV4cGwiKS5odG1sKE1PREVfTkFWSUdBVElPTik7CiAgICAgICAgICAgICAgICAgICAgLy8gTcOpbW9yaXNlciBsYSBwb3NpdGlvbiBldCBsZSB6b29tIGRlIGwnZXhwbG9yYXRpb24KICAgICAgICAgICAgICAgICAgICBleHBMYXQgPSBtYXAxLmdldENlbnRlcigpLmxhdDsKICAgICAgICAgICAgICAgICAgICBleHBMb24gPSBtYXAxLmdldENlbnRlcigpLmxuZzsKICAgICAgICAgICAgICAgICAgICBleHBab29tID0gbWFwMS5nZXRab29tKCk7CiAgICAgICAgICAgICAgICAgICAgLy8gTGFuY2VyIGxhIG5hdmlnYXRpb24KICAgICAgICAgICAgICAgICAgICB0cnkgeyAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgaWYobmF2aWdhdG9yLmdlb2xvY2F0aW9uKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZHdhdGNoID0gbmF2aWdhdG9yLmdlb2xvY2F0aW9uLndhdGNoUG9zaXRpb24ocmVjYWxlciwgZXJyZXVyUG9zaXRpb24se21heGltdW1BZ2U6MTAwMDAsZW5hYmxlSGlnaEFjY3VyYWN5OnRydWV9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGFsZXJ0KEVSUk9SX05PVF9TVVBQT1JURUQpOyAgICAKICAgICAgICAgICAgICAgICAgICB9IGNhdGNoICggZSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGVycm9yOwogICAgICAgICAgICAgICAgICAgICAgICBlcnJvci5jb2RlID0gZTsKICAgICAgICAgICAgICAgICAgICAgICAgZXJyZXVyUG9zaXRpb24oZXJyb3IpOyAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAvLyBFdCByZXZlbmlyIGF1IHpvb20gZGUgbGEgbmF2aWdhdGlvbgogICAgICAgICAgICAgICAgICAgIG1hcDEuc2V0Wm9vbShuYXZab29tKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBTdWl2cmUgbGUgbml2ZWF1IGRlIHpvb20KICAgICAgICAgICAgICAgIG1hcDEub24oJ3pvb21lbmQnLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBjdXJab29tID0gbWFwMS5nZXRab29tKCk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCAkKCIjYnRuLW5hdmV4cGwiKS5kYXRhKCJuYXZleHBsIikgPT0gMSApIHsgICAgIC8vIDE6IE5hdmlnYXRpb24sIDAgOiBFeHBsb3JhdGlvbi4KICAgICAgICAgICAgICAgICAgICAgICAgbmF2Wm9vbSA9IGN1clpvb207CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgZXhwWm9vbSA9IGN1clpvb207ICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9ICAgIAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgIH0pOwoKCgogICAgICAgICAgICAvLyoqKioqIFBvc2l0aW9ubmVtZW50ICAqKioqKi8KCiAgICAgICAgICAgIGZ1bmN0aW9uIHJlY2FsZXIocG9zaXRpb24pIHsKCiAgICAgICAgICAgICAgICB2YXIgbGF0ID0gcG9zaXRpb24uY29vcmRzLmxhdGl0dWRlOwogICAgICAgICAgICAgICAgdmFyIGxvbiA9IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGU7CiAgICAgICAgICAgICAgICAvLyBSZXBsYWNlciBsZSBtYXJrZXIgZGUgbWEgcG9zaXRpb24KICAgICAgICAgICAgICAgIHRyeXsKICAgICAgICAgICAgICAgICAgICBtYXBvc2l0aW9uTWFya2VyLnNldExhdExuZyhbbGF0LGxvbl0pLnVwZGF0ZSgpOyAKICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgICAgICAgICAvLyBJbCBlc3QgZm9ydCBwcm9iYWJsZSBxdWUgbGUgbWFya2VyIG4nZXhpc3RlIHBhcywgbGUgY3LDqWVyCiAgICAgICAgICAgICAgICAgICAgbWFwb3NpdGlvbk1hcmtlciA9IG5ldyBMLm1hcmtlcjsKICAgICAgICAgICAgICAgICAgICBtYXBvc2l0aW9uTWFya2VyLmFkZFRvKG1hcDEpOwogICAgICAgICAgICAgICAgICAgIG1hcG9zaXRpb25NYXJrZXIuc2V0TGF0TG5nKFtsYXQsbG9uXSkudXBkYXRlKCk7ICAgICAgICAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIC8vIFJlY2FsZXIgbGEgY2FydGUgZXQgcmV2ZW5pciBhdSB6b29tIGRlIGxhIG5hdmlnYXRpb24uCiAgICAgICAgICAgICAgICAvKiBtYXAxLnBhblRvKFtsYXQsbG9uXSk7IG1hcDEuc2V0Wm9vbShuYXZab29tKTsgIG5lIHJlY2VudHJlIHF1ZSBzaSBsYSBwb3NpdGlvbiBwcsOpY8OpZGVudGUgw6l0YWl0IGhvcnMgdmlldyAqLwogICAgICAgICAgICAgICAgbWFwMS5zZXRWaWV3KFtsYXQsbG9uXSxuYXZab29tKTsgIC8vIHJlY2VudHJlIHRvdWpvdXJzCiAgICAgICAgICAgICAgICAvKiBJbnNjcmlyZSBsYSBwb3NpdGlvbgogICAgICAgICAgICAgICAgdmFyIGluZm9wb3MgPSAiTGF0IDogIiArIGxhdCArIlxuIjsKICAgICAgICAgICAgICAgIGluZm9wb3MgKz0gIkxvbjogIiArIGxvbiArIlxuIjsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbmZvcG9zaXRpb24iKS5pbm5lckhUTUwgPSBpbmZvcG9zOwogICAgICAgICAgICAgICAgLy8qLwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBGb25jdGlvbiBkZSBjYWxsYmFjayBlbiBjYXMgZOKAmWVycmV1cgogICAgICAgICAgICBmdW5jdGlvbiBlcnJldXJQb3NpdGlvbihlcnJvcikgewogICAgICAgICAgICAgICAgdmFyIGluZm8gPSBFUlJPUl9MT0NBTElTQVRJT04gKyAnIDogJzsKICAgICAgICAgICAgICAgIHN3aXRjaChlcnJvci5jb2RlKSB7CiAgICAgICAgICAgICAgICAgICAgY2FzZSBlcnJvci5USU1FT1VUOgogICAgICAgICAgICAgICAgICAgICAgICBpbmZvICs9IEVSUk9SX1RJTUVPVVQ7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgZXJyb3IuUEVSTUlTU0lPTl9ERU5JRUQ6CiAgICAgICAgICAgICAgICAgICAgICAgIGluZm8gKz0gRVJST1JfUEVSTUlTU0lPTl9ERU5JRUQ7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgZXJyb3IuUE9TSVRJT05fVU5BVkFJTEFCTEU6CiAgICAgICAgICAgICAgICAgICAgICAgIGluZm8gKz0gRVJST1JfUE9TSVRJT05fVU5BVkFJTEFCTEU7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgZXJyb3IuVU5LTk9XTl9FUlJPUjoKICAgICAgICAgICAgICAgICAgICAgICAgaW5mbyArPSBFUlJPUl9VTktOT1dOOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICBkZWZhdWx0IDoKICAgICAgICAgICAgICAgICAgICAgICAgaW5mbyArPSBlcnJvcjsgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgLy9kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ29zZXF1ZW5jZSIpLmlubmVySFRNTCA9IGluZm87CiAgICAgICAgICAgIH0KICAgICAgICAgICAgICAKICAgICAgICB9KTsKCiAgICB9KTsKCiAgICAvKl1dPiovCjwvc2NyaXB0Pg==&#034;&gt;&lt;/div&gt; &lt;/div&gt;
&lt;/p&gt;&lt;p&gt; &lt;small&gt;Nota : seuls sont pr&#233;sent&#233;s les objets du Th&#232;me courant &lt;a class='help anchor' href='https://chemindeleau.com/FAQ.html#ObjetsBranche'&gt;&lt;img src='https://chemindeleau.com/IMG/help.png' title='Aide' style='max-width: 500px; max-height: 10000px'&gt;&lt;/a&gt; &lt;/small&gt;
&lt;/p&gt;&lt;h3 class=&#034;h3 spip&#034;&gt;Suivez la course de la Marne de sa source &#224; Rolampont&lt;/h3&gt;
&lt;p&gt;En regardant la Marne en amont de Rolampont jusqu'&#224; sa source on pourrait s'attendre &#224; c&#244;toyer une rivi&#232;re bucolique dans une zone naturelle comme pour ses s&#339;urs Aube ou Vingeanne, proche de ce qu'avaient Sabinus ou les m&#233;rovingiens qui circulaient en barque jusqu'&#224; Chatenay Macheron. Il n'en est rien ! Avec la cr&#233;ation du canal entre Champagne et Bourgogne et la voie ferr&#233;e n&#176;4 la rivi&#232;re a &#233;t&#233; d&#233;plac&#233;e, canalis&#233;e, ses m&#233;andres, ses zones humides occup&#233;s par l'emprise du canal, la moiti&#233; de ses affluents la rejoignent par des siphons sous le canal, son eau capt&#233;e pour subvenir aux besoins de la navigation.&lt;/p&gt;
&lt;p&gt;Plus r&#233;cemment les remembrements ont &#224; nouveau affect&#233; le milieu avec les rus qui sont devenus des foss&#233;s de drainage rectilignes. La Marne qui &#233;tait l&#224; bien avant l'homme a du s'adapter aux perturbations impos&#233;es. En 140 ans son lit rectifi&#233; a acc&#233;l&#233;r&#233; sa vitesse d'&#233;coulement et entra&#238;n&#233; des &#233;rosions, son lit mineur s'est approfondi de plus d'un m&#232;tre qui met &#224; mal les fondations de tous les ouvrages et perr&#233;s qui encombrent son cours. &#171; Voie Navigable de France &#187; va &#234;tre contraint de prot&#233;ger la berge du canal contre l'attaque de la rivi&#232;re et des ragondins.&lt;/p&gt;
&lt;p&gt;La rivi&#232;re comme la nature reprend ses droits ! Balesmes est particuli&#232;rement concern&#233; avec dame Marne : d'une part emprisonn&#233;e sous terre, son lit b&#233;tonn&#233; et &#224; la sortie du village, son cours d&#233;plac&#233; avec une digue de plus d'un m&#232;tre, son eau capt&#233;e pour la barrage r&#233;servoir de la Liez. Lors d'une &#233;tude globale sur la rivi&#232;re en 2007 nous avons &#233;t&#233; surpris par la p&#234;che de silures au lieu des truites arc-en-ciel juste apr&#232;s la confluence du ruisseau de la Liez avec la Marne !&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Revenir au temps des Gaulois n'est pas possible, tous nous devons r&#233;apprendre &#224; vivre en harmonie avec la nature en g&#233;n&#233;ral, la rivi&#232;re avec sa biodiversit&#233; et en tenir compte dans les activit&#233;s multiples. Ce travail est commenc&#233; mais reste co&#251;teux pour tous les acteurs concern&#233;s.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Gilbert Pataille&lt;/p&gt;
&lt;p&gt;A propos du cours sup&#233;rieur de la Marne, voyez &#233;galement :
&lt;br /&gt;&lt;img src='https://chemindeleau.com/local/cache-vignettes/L8xH11/puce-32883.gif?1733491609' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href='https://chemindeleau.com/Le-site-de-la-source-de-la-Marne.html' class='spip_in'&gt;Source de la Marne&lt;/a&gt;
&lt;br /&gt;&lt;img src='https://chemindeleau.com/local/cache-vignettes/L8xH11/puce-32883.gif?1733491609' width='8' height='11' class='puce' alt=&#034;-&#034; /&gt; &lt;a href='https://chemindeleau.com/Le-village-de-Balesmes-source-de.html' class='spip_in'&gt;Le village de Balesmes, source de la Marne&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;La Marne, dans son cours sup&#233;rieur, est constamment en interaction avec le canal de Champagne en Bourgogne, voir sur ce sujet : &lt;a href='https://chemindeleau.com/L-alimentation-en-eau-du-canal-de.html' class='spip_in'&gt;L'alimentation en eau du canal de Champagne en Bourgogne&lt;/a&gt;.&lt;/p&gt;
&lt;h3 class=&#034;h3 spip&#034;&gt;Sur le Web :&lt;/h3&gt;&lt;dl class='spip_document_412 spip_documents spip_documents_left' style='float:left;'&gt; &lt;dt&gt; &lt;div class=&#034;boximg&#034;&gt; &lt;a href=&#034;http://fr.wikipedia.org/wiki/Marne_%28rivi%C3%A8re%29&#034; title='La Marne sur Wikip&#233;dia' type=&#034;text/html&#034;&gt; &lt;img src='https://chemindeleau.com/local/cache-vignettes/L52xH52/html-c4f78.png?1733491586' width='52' height='52' alt='La Marne sur Wikip&#233;dia' /&gt; &lt;/a&gt; &lt;/div&gt; &lt;/dt&gt; &lt;dt class='crayon document-titre-412 spip_doc_titre' style='width:120px;'&gt;&lt;strong&gt;La Marne sur Wikip&#233;dia&lt;/strong&gt;&lt;/dt&gt; &lt;/dl&gt;&lt;dl class='spip_document_413 spip_documents spip_documents_left' style='float:left;'&gt; &lt;dt&gt; &lt;div class=&#034;boximg&#034;&gt; &lt;a href=&#034;http://fr.wikipedia.org/wiki/Jean-Paul_Kauffmann&#034; title='En remontant la Marne (Jean-Paul Kauffmann) - Wikip&#233;dia' type=&#034;text/html&#034;&gt; &lt;img src='https://chemindeleau.com/local/cache-vignettes/L52xH52/html-c4f78.png?1733491586' width='52' height='52' alt='En remontant la Marne (Jean-Paul Kauffmann) - Wikip&#233;dia' /&gt; &lt;/a&gt; &lt;/div&gt; &lt;/dt&gt; &lt;dt class='crayon document-titre-413 spip_doc_titre' style='width:120px;'&gt;&lt;strong&gt;En remontant la Marne (Jean-Paul Kauffmann) - Wikip&#233;dia&lt;/strong&gt;&lt;/dt&gt; &lt;/dl&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="http://structurae.info/structures/data/index.cfm?id=s0001976" length="22068" type="text/html" />
		
		<enclosure url="https://chemindeleau.com/IMG/geojson/marne_source-rolampont_2.geojson" length="79657" type="application/vnd.geo+json" />
		
		<enclosure url="https://chemindeleau.com/IMG/jpg/dscn0310.jpg" length="64967" type="image/jpeg" />
		
		<enclosure url="https://chemindeleau.com/IMG/jpg/dscn0315.jpg" length="85713" type="image/jpeg" />
		
		<enclosure url="https://chemindeleau.com/IMG/jpg/dscn0318.jpg" length="93836" type="image/jpeg" />
		
		<enclosure url="https://chemindeleau.com/IMG/jpg/dscn0319.jpg" length="82549" type="image/jpeg" />
		
		<enclosure url="https://chemindeleau.com/IMG/jpg/marne_rolampont_pont_romain_web.jpg" length="267468" type="image/jpeg" />
		

	</item>



</channel>

</rss>
