Content-Type: multipart/related; start=; boundary=----------dkJRoDUdMRCHkzgGQDfacx Content-Location: http://pastebin.com/3b8fZzC6 Subject: =?utf-8?Q?=D0=90=D1=82=D1=82=D0=B5=D0=BD=D1=81=D0=B8=D0=BE=D0=BD!=20=D0=92=D1=81=D0=B5=20=D0=BE=D1=87=D0=B5=D0=BD=D1=8C=20=D1=82=D0=BE=D0=BF=D0=BE=D1=80=D0=BD=D0=BE,=20=D0=BD=D0=B8=D0=BA=D0=B0=D0=BA=D0=BE=D0=B3=D0=BE=20=D0=B8=D1=81=D0=BA=D1=83=EF=BF=BD=20-=20Pastebin.com?= MIME-Version: 1.0 ------------dkJRoDUdMRCHkzgGQDfacx Content-Disposition: inline; filename=3b8fZzC6.htm Content-Type: text/html; charset=utf-8; name=3b8fZzC6.htm Content-ID: Content-Location: http://pastebin.com/3b8fZzC6 Content-Transfer-Encoding: 8bit Аттенсион! Все очень топорно, никакого иску - Pastebin.com
Guest

Untitled

By: a guest on May 7th, 2012  |  syntax: None  |  size: 3.21 KB  |  hits: 16  |  expires: Never
download  |  raw  |  embed  |  report abuse
This paste has a previous version, view the difference. Copied
  1. Аттенсион! Все очень топорно, никакого искусства реверсинга. Ну, а что вы хотели с таким crackme...
  2.  
  3. В crackme.exe находится такой код:
  4.  
  5. <?mmcache_load("eJxVUmFPGkEQ3Zk95KAqolS0WjyRIoJSuMDZGmpyNda2EVSkNPilWW8Pgl7TBJLG+Cv65/on+iu6w55E9sPuvDez781Ottk8cU8+nzJkjAGj4y2jdcj0ulY0N1TQD8QA8gAKUu2tjxyA0y2Y3DUIR1WEETQAIsTNYURnefSplqTAxDmM8phKce3yh02FMI4mxrr43DbzAhDj3fkZbgHmgauWmYQEwMNEgCAsYUJHPBn6QYr2ZQBJBklYwWXdj5EC+DupSFPmJa5gKrIK8DVGXJYyacWuJtdwCdOwrnVxrbs408orWMR12NT6Yc1r3NTzMDJP3U0msKUyGW4BxKdP5ttohRPL4hZuJ3cA/pFGFnPhUHa6GzOOb2ADc+/zl7shK0aD33DFCmxX2x/l77BAQYO2PVVF5j9lPVE09oBbCtieXa3Kqicq0qlXnUpdOrVqxX7nCCluD/uihMX6Zem5q7kP3FTgkwLWcGwZJbcBPKeY3qNrX3Q8u/e9HfQ67fvm2U1w03FrrbOrSuvxY9C6cz9MuzlQmgv0hcTYd2o/pO/9kr5Zxn3joIDlolMAnqef54+GIrD6Yhj4Mm59G4uBf2R5o/uy/+BbjevT9hf3/PhYv5fWfxTXTSk=");?>
  6.  
  7. Гугл отвечает, что это turck mmcache loader. Ставим этот модуль (TurckLoader.dll) для php4. Запускаем пхп из под олли, передавая ему имя скрипта и параметр - серийник. Трейсим это дело и видим, что эта строка - это base64_encode(gzcompress()) от следующего:
  8. http://w1ck3dg0ph3r.tk/paste/mmcache.txt
  9.  
  10. Очевидно, mmcache не просто кодирует исходник, а компилирует его в опкоды. Изучать, как он это делает и реверсить этот ужас у нас желания нет, поэтому идем дальше.
  11.  
  12. Теперь, останавливаясь в олли на EP, ставим memory breakpoint на все вхождения нашего серийника ("testserial", в моем случае) в memory map. Останавляваясь на этих бряках, смотрим, что происходит, и, если строка копируется куда-либо, добавляем еще брейкпоинтов. Наша цель при всем этом - найти точку, где происходит сравнение с эталонным серийником или же алгоритмическая проверка его на подлинность.
  13.  
  14. В определенный момент замечаем вычисление md5 от серийника: md5("testserial") = c5334ec368813eb1eeb0bccf6a0a7a58. После копирования его из стека в хип, ставим брейкпоинт и на него. В скором времени видим сравнение с еще одним хэшем: 2c211d1ca0d651605d6410286adab7fa, предположительно реального серийника.
  15.  
  16. Поскольку мы, таки, ищем легких путей, просто переключаем флаг z процессора, продолжаем выполнение и наблюдаем:
  17.  
  18. Flag is ********************************
  19.  
  20. ps. Ничто, в принципе, не мешает все это проделывать на crackme.exe, просто удобней трейсить, когда пхп`шные модули подключены динамически.
------------dkJRoDUdMRCHkzgGQDfacx Content-Disposition: inline; filename=favicon.ico Content-Type: image/x-icon; name=favicon.ico Content-Location: http://pastebin.com/favicon.ico Content-Transfer-Encoding: Base64 AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAA AAAAAAAAAAEAAAAAAAAAAAAAv7+/ALCwsACsrKsAkpKSAOrq6gDb29sAzMzMAL29 vQCfn58A9/f3AJCQkADo6OgAgYGBAMrKygCdnZ0A9fX1AH9/fwDX19cAyMjIANPT 0gC5ubkAqqqqAJubmwDz8/MAjIyMAOTk5ADV1dUA4ODfAG5ubgDGxsYAt7e3AKio qACZmZkA8fHxAIqKigDi4uIA09PTAGxsbADExMQA4d7dALW1tQCmpqYA/v7+AJeX lwCIiIgAeXl5AJWTkgDR0dEAwsLCALOzswCVlZUAhoaGAHd3dwDf3t4Az8/PAGho aADAwMAAsbGxAKKiogDJx8UA6+vrANzc3ADn5+YAzc3NAK+vrwCwr68AoKCgAJGR kQDp6ekAgoKCANra2gDLy8sAZGRkALy8vAD29vYAj4+PAOfn5wDY2NgAcXFxAOPj 4gDJyckAurq6AKurqwCNjY0A5eXlAH5+fgDh4eAAx8fHANLS0QC4uLgAqampAIuL iwDj4+MAfHx8AG1tbQC2trYAwcHAALKysQDh4eEA0tLSAKGfnQClpaUA7u7uAIeH hwDg398Ag4OCANDQ0ACFg4IAwcHBALKysgCUlJQAhYWFAM7OzgAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AEhAJUdjDAUAAAAAAAAAAGINYDQeBEdobAoAAAAAAABqIEluXwEWLGUrCgAAAAAA QV5TVh8tN1w9KCsYAAAAAGFWSgQHVBsgRSA8LwAAAABZVkxTKiMyWhFScFoXAAAA FEYTGW0ucXAWLUEZAgAAABwIGlIkUU1YXTpkOg4AAABVGSJcH0NUMyoRR14wAAAA NiNnNDkXb0RmNU5PawAAAD8kCkcQPhBkVR4GCDAAAAAVLGQdJ1QxJhI4AVYJAAAA DydRIUo5Mm9LCxNbVAAAAABCYyk9QWkDVyBQOwAAAAAAAAAAAAAAAAAAAAAAAP// AADgPwAAwA8AAMAHAADAAwAAwAMAAMABAADAAQAAwAEAAMABAADAAQAAwAEAAMAB AADAAQAA4AMAAP//AAA= ------------dkJRoDUdMRCHkzgGQDfacx Content-Disposition: inline; filename=text.css Content-Type: text/css; charset=utf-8; name=text.css Content-Location: http://pastebin.com/cache/css/text.css Content-Transfer-Encoding: 8bit .text .de1, .text .de2 { margin:0; padding: 0 5px; background:none; vertical-align:top;color:#000;border-left: 1px solid #ccc; margin: 0 0 0 -7px; position: relative; background: #ffffff;} .text {color:#ACACAC;} .text .imp {font-weight: bold; color: red;} .text li, .text .li1 {background: #fff;} .text .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;} .text .ln-xtra, .text li.ln-xtra, .text div.ln-xtra {color:black;background:#FFFF88;} .text span.xtra { display:block; } ------------dkJRoDUdMRCHkzgGQDfacx Content-Disposition: inline Content-Type: image/jpeg Content-Location: http://pastebin.com/i/bg.jpg Content-Transfer-Encoding: Base64 /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAPAAA/+4ADkFkb2Jl AGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQ DA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AA EQgAZABkAwERAAIRAQMRAf/EAGMAAQEBAQAAAAAAAAAAAAAAAAEAAggBAQAAAAAA AAAAAAAAAAAAAAAQAAIBAwIEBgMBAQAAAAAAAAERACExQVFhcYGhAvCRscESItHx MkLhEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwDoavD9QEkjI4wD4j8q 0CR86kbQE403gJHOpWYBe6JvvAkK66QABJHdqAi1d4FvADumbHbMBr8bjR7wEVIq CzikAvu7iAC4rwgQuaWtvrASRdwIHdmAVwM+KwJGlYC6/wBcoFsbHSAE0Lr6QEf0 /SBOrVVteALSwgIbLJV1AmhUUgQb40KgXxBGx08oEGw1rAkLZ8/OADygIaJtrAMk XOICusCta8BYS5vCgAY3Y9oEnemsC+LxzgKJrj8QAGhQz9d8QAoDkycwJ2QG5MBN Hr7bQA/ZnFUtYEEb84C74GvWsCp2qrP5gH6gJp2i5gNR2n08cYANum0A+KuLiAkA EkoH2gCA304wNMijvSAFGmNXAk6a2gS7m7bwAE0LI8f9gQFkaaGBqqaCacABLuu3 ECCLECR56GBI205QIsgOh9fKBfE3z4ECCo6dTAjua49IFXCrkwIDz94A8quNSoEC 2GvWBPbbFrQJZsRrAiFosQIAt6VcBBCKG8CJLqKZEA4nlxgNLmukAYGrH5gJCFKv mIBXWvgQIneivwgJJBtUecAqveA1VBAk9toAh0MCJQv494CB3NkwJ9oFOLgDqlXB vygVm7i1YERXLyIC2aUxAAXdQEFEAGmIF/q1NMekCBFzXl6wIEP2UBONoBaqv5QK nDBJrAhTjYgZgXcO09tacP3AqnqaQKtHiBP7Cls5gCK/EBHjwoBS+L5cBfaKqt4B 8Q0DbT9wEkBC2sC7iK503gSFCqDNIAzcczmBfZmtDygRFg6aQEFGlBmBAMMZziBD WgdjAQz7XrAz9X8Xm1eEBFx0xAgfrjeBBVre0ABDrVZgIPyAd9TAqkaOtYEKHd15 QIp8MwIlgLgeVKwIvmbQI5IsICqgrgYA6W35wAnQUgQGRaAgjTVfqAhcxAzYk76O AphK99awL4pcLa0gQIARbPGBBAtUGTxgFyvLVvMBFuFaQJ5ycQB19s/qAh/OlumI Bn62re7gNEdN4BWjvThAe5LfPnAuHSBHo+mXAh/HhLnAu1bPF11gJ2v/AKgYONf9 OAlVV8cOUCp8+XNwP//Z ------------dkJRoDUdMRCHkzgGQDfacx Content-Disposition: inline Content-Type: image/jpeg Content-Location: http://pastebin.com/i/main_sprite.jpg Content-Transfer-Encoding: Base64 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 7x3qlo6R8LgGFq7tefcQdw3K8GPQlzK//9k= ------------dkJRoDUdMRCHkzgGQDfacx Content-Disposition: inline Content-Type: image/jpeg Content-Location: http://pastebin.com/i/headerbg1.jpg Content-Transfer-Encoding: Base64 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 ------------dkJRoDUdMRCHkzgGQDfacx Content-Disposition: inline Content-Type: image/png Content-Location: http://pastebin.com/i/spacer.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAEAAAALAQMAAACEQHWsAAAABlBMVEX///9ph6sn Alc9AAAAAXRSTlMAQObYZgAAABBJREFUCNdjaGAAQQYGFBoAMZYEgRQoyfAAAAAA SUVORK5CYII= ------------dkJRoDUdMRCHkzgGQDfacx Content-Disposition: inline Content-Type: image/png Content-Location: http://pastebin.com/i/code_bg.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAIAAAArCAIAAADdd86NAAAAA3NCSVQICAjb4U/g AAAACXBIWXMAAAsSAAALEgHS3X78AAAAIHRFWHRTb2Z0d2FyZQBNYWNyb21lZGlh IEZpcmV3b3JrcyBNWLuRKiQAAAAWdEVYdENyZWF0aW9uIFRpbWUAMDEvMjMvMTIn ykA3AAAAJElEQVR4nGP89esXAwMDy////xkYGJgYGBgQFBGC9NY3sI4AAHB/MzS5 mJtmAAAAAElFTkSuQmCC ------------dkJRoDUdMRCHkzgGQDfacx Content-Disposition: inline; filename=main.css Content-Type: text/css; charset=utf-8; name=main.css Content-Location: http://pastebin.com/i/main.css Content-Transfer-Encoding: 8bit html{-webkit-text-size-adjust:100%} body{background:url(bg.jpg);color:#181818;font-family:segoe ui, trebuchet MS,Lucida Sans Unicode, Lucida Sans, Sans-Serif;font-size:1em;line-height:1.5em;margin:0 10px;padding:0} a{color:#C03;text-decoration:none} a:hover{color:#999;text-decoration:none} .icon24{height:24px;margin:0 5px 0 15px;vertical-align:middle;width:24px} .firefox{background:url(main_sprite.jpg) no-repeat -126px -66px} .chrome{background:url(main_sprite.jpg) no-repeat -126px -90px} .webos{background:url(main_sprite.jpg) no-repeat -126px -138px} .clickto{background:url(main_sprite.jpg) no-repeat -126px -114px} .opera{background:url(main_sprite.jpg) no-repeat -78px -162px} .macos{background:url(main_sprite.jpg) no-repeat -78px -138px} .android{background:url(main_sprite.jpg) no-repeat -78px -90px} .iphone{background:url(main_sprite.jpg) no-repeat -78px -114px} .windows{background:url(main_sprite.jpg) no-repeat -102px -114px;margin:0 5px 0 0} .windowsphone{background:url(main_sprite.jpg) no-repeat -102px -138px} .unix{background:url(main_sprite.jpg) no-repeat -102px -90px} .content_sub_title{border-bottom:1px dotted #999;font-size:1em;font-weight:700;margin:10px 0 0} #header{-moz-border-radius:0 0 6px 6px;-webkit-border-radius:0 0 6px 6px;background-color:#023859;border-radius:0 0 6px 6px;color:#fff} #super_frame{margin:0 auto;min-width:990px;width:990px} #monster_frame{-moz-border-radius:6px;-webkit-border-radius:6px;background-color:#fff;border:1px solid #CECECE;border-radius:6px;margin:0} #header a{color:#fff} #menu_2{height:290px;overflow:none} .whois{clear:both;font-size:13px;line-height:20px;margin:5px 0 10px;overflow:auto;white-space:pre;width:760px} .graph_form{padding:3px} .content_adsense{float:left;height:290px;width:346px} .graph_update{font-size:13px;padding:0 5px 0 0;text-align:right} .thumb2{margin:0 0 10px} .domain_td_left{width:150px} .domain_search_input{background:url(domain_search_bg.png) no-repeat;border:0;height:23px;margin:0;padding:6px 6px 6px 36px;vertical-align:top;width:361px} .domain_search_form{display:inline;height:35px;margin:0;padding:0} .domain_search_button{background:url(main_sprite.jpg) no-repeat -60px -216px;height:30px;margin:2px 0 0 5px;padding:0;vertical-align:top;width:30px} .domain_desc{float:left;font-size:0.8em;line-height:22px;width:410px} .img_email{vertical-align:top} #frame_spacer,.frame_spacer{clear:both;height:5px} #header_middle{background:url(headerbg1.jpg);font-size:1.25em;font-weight:700;height:44px;line-height:44px;padding:0 0 0 10px} .span_left{float:left;text-align:left} .span_right{float:right;text-align:right} .div_top_menu{float:left;margin:0 0 0 55px;text-align:left;z-index:1000} .top_menu li{background:url(spacer.png) no-repeat 0 3px;display:inline;list-style:none;margin:0;padding:0 8px} .no_border li{padding:0 5px 0 20px} li.no_border_li{background:0} .i_t{background:url(main_sprite.jpg) no-repeat -81px -194px;margin:4px 2px 0 0;vertical-align:top} .i_n{background:url(main_sprite.jpg) no-repeat -65px -194px;margin:4px 2px 0 0;vertical-align:top} .verygood{color:green} .more{font-weight:700;letter-spacing:3px} .big{font-weight:700;letter-spacing:3px;margin-left:57px;text-shadow:#10161C 0 -1px 1px;text-transform:uppercase} .less{font-size:0.9em} #header_middle_search{float:right;height:34px;padding:7px 5px 0 0;text-align:right} .search_input{-moz-border-radius:2px;-webkit-border-radius:2px 2px 2px 2px;background:#fff;border:1px solid #ccc;border-radius:2px 2px 2px 2px;font-family:segoe ui, trebuchet MS,Lucida Sans Unicode, Lucida Sans, Sans-Serif;margin:0;padding:6px;vertical-align:top;width:180px} .search_form{display:inline;height:30px;margin:0;padding:0} .search_button{background:url(main_sprite.jpg) no-repeat -60px -216px;height:30px;margin:0 0 0 5px;padding:0;vertical-align:top;width:30px} .search_button:hover{background:url(main_sprite.jpg) no-repeat -90px -216px} div#content_frame{clear:both;margin:10px 0 0;overflow:hidden} div#content_right{border-bottom:1px dotted #ccc;border-left:1px dotted #ccc;float:right;padding:0 10px;width:160px} #content_left{margin-left:10px;margin-right:192px} .content_right_title{color:#333;font-size:0.8em;font-weight:700} .content_right_title a{color:#333} .content_title{background:url(main_sprite.jpg) no-repeat -128px -272px;border-bottom:1px dotted #ccc;color:#333;font-size:1em;font-weight:700;padding:0 0 5px 22px} .tools_frame{height:11px} .tools_right{float:left;padding:5px 0 2px 5px} #code_tools{background-color:#F8F8F8;border-bottom:1px solid #369;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;color:#ccc;float:right;font-size:0.7em;margin-bottom:-1px;text-transform:uppercase;width:200px} .paste_box_frame{clear:left;height:60px;margin:0 0 6px} .paste_box_info{color:#666;float:left;font-size:0.8em} .paste_box_line1,.paste_box_line2,.paste_box_line3{height:19px;line-height:19px;margin:0;overflow:hidden;padding:0;width:600px} .paste_box_line1{height:22px;line-height:18px} .tweet{float:right;height:62px;overflow:hidden;text-align:right;width:53px;} .paste_box_info h1{color:#333;display:inline;font-size:1.2em;font-weight:700;height:20px;line-height:18px;margin:0;padding:0} .banner_728{clear:left;height:90px;padding:0 0 10px;width:728px} .upload_frame{background-color:#F8F8F8;border:1px solid #ddd;font-size:0.8em;margin:10px 0;padding:5px} .raw_links{color:#ccc;font-size:0.8em;font-weight:400} .paste_box_links{color:#ccc;float:right;font-size:0.9em;font-weight:700;line-height:20px;text-align:right;text-transform:uppercase} span.min_max_span{cursor:pointer;display:inline;float:right;margin:7px 3px 0 0} span.wide_it{background:url(main_sprite.jpg) no-repeat -53px -86px;height:11px;width:22px} span.narrow_it{background:url(main_sprite.jpg) no-repeat -53px -97px;height:11px;width:22px} #logo{background:url(main_sprite.jpg) no-repeat 0 -210px;cursor:pointer;height:62px;position:absolute;top:19px;width:60px} #logo_small{background:url(main_sprite.jpg) no-repeat -102px -162px;float:left;height:52px;margin:10px 5px;width:47px} #footer{clear:both;color:#666;font-size:0.85em;font-weight:400;height:140px;margin:5px auto;min-width:990px;width:990px} .footer_top_title{border-bottom:1px dotted #ccc;color:#666;font-size:0.85em;font-weight:400;padding:0 0 3px;text-shadow:#fff 1px 1px 0} .footer_top_text{font-size:0.8em;padding:6px 0 0} #footer_title{float:left;font-weight:400;margin:10px;text-transform:uppercase} #footer_links{border-left:1px solid #ccc;color:#999;float:left;margin:10px;padding:0 0 0 10px;text-shadow:#fff 0 -1px 1px} #footer_right{background:url(main_sprite.jpg) no-repeat 0 -272px;cursor:pointer;float:right;height:35px;margin:10px;width:118px} #footer_top a:hover,#footer_links a:hover{text-decoration:underline} #footer_top{background:#F7F7F7;height:70px;margin:10px 1px 1px;padding:6px 10px 0} textarea.paste_textarea{background-color:#F8F8F8;border:0;display:block;font-family:Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, monospace, serif;font-size:10pt;padding:1%;width:98%;line-height:21px} .textarea_border{background-color:#F8F8F8;border:1px solid #ddd;margin:10px 0;padding:5px} #error,#notice,#success{-khtml-border-radius:5px;-moz-border-radius:5px;-moz-box-shadow:0 1px 0 0 rgba(255,255,255,0.5) inset;-o-box-shadow:0 1px 0 0 rgba(255,255,255,0.5) inset;-webkit-border-radius:5px;-webkit-box-shadow:0 1px 0 0 rgba(255,255,255,0.5) inset;background:url(info.png) no-repeat 12px 12px;border-radius:5px;box-shadow:0 1px 0 0 rgba(255,255,255,0.5) inset;display:block;line-height:20px;margin:6px 0;min-height:20px;padding:10px 10px 10px 35px} #error{-moz-text-shadow:0 1px rgba(255,255,255,0.2);background-color:#fbb160;background-image:linear-gradient(#ffd57f,#ffa544);border:1px solid #f9b516;color:#333;text-shadow:0 1px rgba(255,255,255,0.2)} #notice{-moz-text-shadow:0 1px rgba(255,255,255,0.2);background-color:#e8e8e8;background-image:linear-gradient(#f4f4f4,#e0e0e0);border:1px solid #CCC;color:#666;text-shadow:0 1px rgba(255,255,255,0.2)} #success{-moz-text-shadow:0 1px rgba(255,255,255,0.3);background-color:#c8e185;background-image:linear-gradient(#d0e98e,#c1da7f);border:1px solid #accc5d;color:#70892b;text-shadow:0 1px rgba(255,255,255,0.3)} textarea.paste_code{background-color:#F8F8F8;border:0;display:block;font-family:Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, monospace, serif;font-size:12px;height:300px;line-height:21px;margin-bottom:0;padding:1%;width:98%} #d_clip_button.hover{cursor:pointer} .code_box{background-color:#FFFFEF;border:1px dotted #DDA;font-family:Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, monospace, serif;font-size:12px;margin:10px;overflow:auto;padding:7px;white-space:pre} .content_text{font-size:0.8em;line-height:22px;padding:10px 0} .content_text_info{background-color:#F8F8F8;border:1px solid #ddd;font-size:0.75em;line-height:22px;margin:0 0 10px;padding:10px} textarea.abuse_textarea{background-color:#F8F8F8;border:1px solid #ccc;display:block;font-family:Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, monospace, serif;font-size:10pt;margin:0 0 10px;padding:5px;width:600px;line-height:21px} .right_menu li{background:url(main_sprite.jpg) no-repeat -129px -222px;border-top:1px solid #A5BADA;font-size:0.7em;line-height:14px;list-style:none;margin:0;overflow:hidden;padding:3px 0 3px 20px;width:140px} li.xtra_1{background:url(main_sprite.jpg) no-repeat -129px -303px} li.xtra_2{background:url(main_sprite.jpg) no-repeat -129px -338px} li.empty,li.empty:hover{height:25px} .right_menu span{color:#666;display:block} .form_frame{font-size:0.85em;height:40px;width:450px} .form_left{float:left;height:45px;line-height:45px;width:150px} .form_right{float:right;height:40px;padding-top:5px;text-align:left;width:300px} .form_frame_left{float:left;margin:10px} .form_login_frame{border-bottom:1px dotted #ddd;border-left:1px dotted #ddd;float:left;font-size:0.75em;margin:10px 10px 10px 0;padding:0 0 10px 10px} input.post_input,select.post_select{background-color:#F9F9F9;border:1px solid #ccc;color:#181818;font-family:segoe ui, trebuchet MS,Lucida Sans Unicode, Lucida Sans, Sans-Serif;font-size:1em;padding:5px;width:260px} .button1{-moz-border-radius:3px;-webkit-border-radius:3px;background:#ddd url(bg-button.gif) repeat-x 0 0;border:1px solid #bbb;border-radius:3px;cursor:pointer;font-size:12px;margin:0;padding:4px 10px} .button1:hover{border:1px solid #A5BADA} .btnbold{font-weight:700} .btnsmall{padding:2px 10px} .pagination{font-size:0.9em;margin:10px 0} .pagination a{background:#F8F8F8;border-bottom:1px solid #39C;color:#333;margin:0 2px;padding:5px} .pagination a:hover{border-bottom:1px solid red;color:red} .pagination .active{color:red} a.button1{color:#000} .button1 a:hover{color:#000;text-decoration:none} input.button1{font-size:15px;padding:6px 15px} .maintable{border-collapse:collapse;font-size:0.8em} table.maintable{width:100%} .maintable td{border-bottom:1px solid #EFEFEF;padding:4px 6px;vertical-align:top} .maintable th{border-bottom:1px solid #ccc;padding:4px 6px;text-transform:uppercase} .maintable td a{color:#04A;text-decoration:none} .maintable td a:hover{color:#C9231C;text-decoration:none} .td_left{color:#000;text-align:right;width:150px} #cse-search-results{padding:10px 0 0} #header a:hover,.content_right_title a:hover{color:#6987AB} ul.top_menu,ul.right_menu{margin:0;padding:0} .ad_728{margin-bottom:10px} .tools_download{font-size:0.9em;padding:5px 0 0} .tools_screenshots img{border:1px solid #ccc;margin:0 8px 0 0;padding:2px} .domain_frame,.upload_text{font-size:0.8em} .maintable img{margin:3px 0 0;vertical-align:top} #header_top,#header_bottom{font-size:0.75em;padding:1px 5px;text-align:right} .paste_box_line2,.paste_box_line3{font-size:0.85em;text-transform:uppercase} .i_fb{background:url(main_sprite.jpg) no-repeat 0 -44px;height:22px;width:150px} .i_tw{background:url(main_sprite.jpg) no-repeat 0 0;height:22px;width:150px} .i_go{background:url(main_sprite.jpg) no-repeat 0 -22px;height:22px;width:150px} .i_gs{background:url(main_sprite.jpg) no-repeat -50px -307px;height:16px;width:16px} .i_dl{background:url(main_sprite.jpg) no-repeat -53px -156px;height:16px;width:16px} .i_ed{background:url(main_sprite.jpg) no-repeat -53px -172px;height:16px;width:16px} .i_gi{background:url(main_sprite.jpg) no-repeat -16px -178px;height:16px;width:16px} .i_p{background:url(main_sprite.jpg) no-repeat 0 -194px;height:13px;width:15px} .i_gb{background:url(main_sprite.jpg) no-repeat 0 -307px;height:50px;width:50px} img.i_p0{background:url(main_sprite.jpg) no-repeat -128px -225px;height:16px;margin:3px 5px 0 0;vertical-align:top;width:16px} img.i_p1{background:url(main_sprite.jpg) no-repeat -129px -307px;height:16px;margin:3px 5px 0 0;vertical-align:top;width:16px} img.i_p2{background:url(main_sprite.jpg) no-repeat -129px -341px;height:16px;margin:3px 5px 0 0;vertical-align:top;width:16px} .i_highlight{background:url(main_sprite.jpg) no-repeat 0 -178px;cursor:pointer;height:16px;width:16px} .i16{height:16px;margin:7px 5px 0 0;width:16px} .line{background:url(main_sprite.jpg) no-repeat -53px -108px} .wrap{background:url(main_sprite.jpg) no-repeat -53px -140px} .clipboard{background:url(main_sprite.jpg) no-repeat -53px -124px} #code_buttons{background:url(code_bg.png);border-bottom:1px solid #ccc;font-size:0.9em;height:30px;padding:0 8px;text-align:left;text-transform:uppercase} #code_frame{background-color:#F8F8F8;border:1px solid #ddd;font-size:12px;line-height:21px;overflow:auto;padding:0} #code_frame2{border:1px solid #eee;margin:0 0 10px;} #code_frame div{font-family:Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, monospace, serif;line-height:21px} ol{margin:0;padding:0 0 0 48px} li.ln-xtra .de1,li.ln-xtra .de2{background:#FF8} .diffspan{float:right;font-family:segoe ui, trebuchet MS,Lucida Sans Unicode, Lucida Sans, Sans-Serif;margin:5px 0 0;text-align:right;text-transform:none} #b_facebook2,#b_twitter2{background:url(main_sprite.jpg) no-repeat 0 -86px;color:#fff;font-weight:700;cursor:pointer;font-size:11px;height:23px;margin:0 0 6px;padding:0 0 0 17px;width:36px} #b_twitter2{background:url(main_sprite.jpg) no-repeat 0 -132px;color:#1C6A8B} #b_facebook2:hover{background:url(main_sprite.jpg) no-repeat 0 -109px} #b_twitter2:hover{background:url(main_sprite.jpg) no-repeat 0 -155px} span#b_twitter,span#b_facebook{display:block;text-align:center} img.i_tf{background:url(main_sprite.jpg) no-repeat 0 -66px;margin:13px 0 0 20px} .paste_box_icon,.form_avatar{border:1px solid #ddd;float:left;height:50px;margin:0 10px 0 0;padding:2px;width:50px} #footer_links a,#footer_top a{color:#666;text-shadow:#fff 1px 1px 0} .form_text,.tools_left{float:left} table.diff{margin:10px} table.diff td{padding-left:3px;padding-right:3px;text-align:right} table.diff td.code{text-align:left} table.diff td.code pre{font:normal normal 12px Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, monospace, serif;margin:0;padding:0} table.diff tr.new{background:#ddf} table.diff tr.old{background:#fdd} #bothlink,#oldlink,#newlink{padding:2px 4px} table.diff tr.hidenew,table.diff tr.hideold{display:none} #copied {display:none;} ------------dkJRoDUdMRCHkzgGQDfacx Content-Disposition: inline; filename=jquery-1.4.4.js Content-Type: application/x-javascript; charset=utf-8; name=jquery-1.4.4.js Content-Location: http://pastebin.com/js/jquery-1.4.4.js Content-Transfer-Encoding: Base64 KGZ1bmN0aW9uKEUsQil7ZnVuY3Rpb24ga2EoYSxiLGQpe2lmKGQ9PT1CJiZhLm5v ZGVUeXBlPT09MSl7ZD1hLmdldEF0dHJpYnV0ZSgiZGF0YS0iK2IpO2lmKHR5cGVv ZiBkPT09InN0cmluZyIpe3RyeXtkPWQ9PT0idHJ1ZSI/dHJ1ZTpkPT09ImZhbHNl Ij9mYWxzZTpkPT09Im51bGwiP251bGw6IWMuaXNOYU4oZCk/cGFyc2VGbG9hdChk KTpKYS50ZXN0KGQpP2MucGFyc2VKU09OKGQpOmR9Y2F0Y2goZSl7fWMuZGF0YShh LGIsZCl9ZWxzZSBkPUJ9cmV0dXJuIGR9ZnVuY3Rpb24gVSgpe3JldHVybiBmYWxz ZX1mdW5jdGlvbiBjYSgpe3JldHVybiB0cnVlfWZ1bmN0aW9uIGxhKGEsYixkKXtk WzBdLnR5cGU9YTtyZXR1cm4gYy5ldmVudC5oYW5kbGUuYXBwbHkoYixkKX1mdW5j dGlvbiBLYShhKXt2YXIgYixkLGUsZixoLGwsayxvLHgscixBLEM9W107Zj1bXTto PWMuZGF0YSh0aGlzLHRoaXMubm9kZVR5cGU/ImV2ZW50cyI6Il9fZXZlbnRzX18i KTtpZih0eXBlb2YgaD09PSJmdW5jdGlvbiIpaD1oLmV2ZW50cztpZighKGEubGl2 ZUZpcmVkPT09dGhpc3x8IWh8fCFoLmxpdmV8fGEuYnV0dG9uJiZhLnR5cGU9PT0i Y2xpY2siKSl7aWYoYS5uYW1lc3BhY2UpQT1SZWdFeHAoIihefFxcLikiK2EubmFt ZXNwYWNlLnNwbGl0KCIuIikuam9pbigiXFwuKD86LipcXC4pPyIpKyIoXFwufCQp Iik7YS5saXZlRmlyZWQ9dGhpczt2YXIgSj1oLmxpdmUuc2xpY2UoMCk7Zm9yKGs9 MDtrPEoubGVuZ3RoO2srKyl7aD1KW2tdO2gub3JpZ1R5cGUucmVwbGFjZShYLCIi KT09PWEudHlwZT9mLnB1c2goaC5zZWxlY3Rvcik6Si5zcGxpY2Uoay0tLDEpfWY9 YyhhLnRhcmdldCkuY2xvc2VzdChmLGEuY3VycmVudFRhcmdldCk7bz0wO2Zvcih4 PWYubGVuZ3RoO288eDtvKyspe3I9ZltvXTtmb3Ioaz0wO2s8Si5sZW5ndGg7aysr KXtoPUpba107aWYoci5zZWxlY3Rvcj09PWguc2VsZWN0b3ImJighQXx8QS50ZXN0 KGgubmFtZXNwYWNlKSkpe2w9ci5lbGVtO2U9bnVsbDtpZihoLnByZVR5cGU9PT0i bW91c2VlbnRlciJ8fGgucHJlVHlwZT09PSJtb3VzZWxlYXZlIil7YS50eXBlPWgu cHJlVHlwZTtlPWMoYS5yZWxhdGVkVGFyZ2V0KS5jbG9zZXN0KGguc2VsZWN0b3Ip WzBdfWlmKCFlfHxlIT09bClDLnB1c2goe2VsZW06bCxoYW5kbGVPYmo6aCxsZXZl bDpyLmxldmVsfSl9fX1vPTA7Zm9yKHg9Qy5sZW5ndGg7bzx4O28rKyl7Zj1DW29d O2lmKGQmJmYubGV2ZWw+ZClicmVhazthLmN1cnJlbnRUYXJnZXQ9Zi5lbGVtO2Eu ZGF0YT1mLmhhbmRsZU9iai5kYXRhO2EuaGFuZGxlT2JqPWYuaGFuZGxlT2JqO0E9 Zi5oYW5kbGVPYmoub3JpZ0hhbmRsZXIuYXBwbHkoZi5lbGVtLGFyZ3VtZW50cyk7 aWYoQT09PWZhbHNlfHxhLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpe2Q9Zi5sZXZl bDtpZihBPT09ZmFsc2UpYj1mYWxzZTtpZihhLmlzSW1tZWRpYXRlUHJvcGFnYXRp b25TdG9wcGVkKCkpYnJlYWt9fXJldHVybiBifX1mdW5jdGlvbiBZKGEsYil7cmV0 dXJuKGEmJmEhPT0iKiI/YSsiLiI6IiIpK2IucmVwbGFjZShMYSwiYCIpLnJlcGxh Y2UoTWEsIiYiKX1mdW5jdGlvbiBtYShhLGIsZCl7aWYoYy5pc0Z1bmN0aW9uKGIp KXJldHVybiBjLmdyZXAoYSxmdW5jdGlvbihmLGgpe3JldHVybiEhYi5jYWxsKGYs aCxmKT09PWR9KTtlbHNlIGlmKGIubm9kZVR5cGUpcmV0dXJuIGMuZ3JlcChhLGZ1 bmN0aW9uKGYpe3JldHVybiBmPT09Yj09PWR9KTtlbHNlIGlmKHR5cGVvZiBiPT09 InN0cmluZyIpe3ZhciBlPWMuZ3JlcChhLGZ1bmN0aW9uKGYpe3JldHVybiBmLm5v ZGVUeXBlPT09MX0pO2lmKE5hLnRlc3QoYikpcmV0dXJuIGMuZmlsdGVyKGIsZSwh ZCk7ZWxzZSBiPWMuZmlsdGVyKGIsZSl9cmV0dXJuIGMuZ3JlcChhLGZ1bmN0aW9u KGYpe3JldHVybiBjLmluQXJyYXkoZixiKT49MD09PWR9KX1mdW5jdGlvbiBuYShh LGIpe3ZhciBkPTA7Yi5lYWNoKGZ1bmN0aW9uKCl7aWYodGhpcy5ub2RlTmFtZT09 PShhW2RdJiZhW2RdLm5vZGVOYW1lKSl7dmFyIGU9Yy5kYXRhKGFbZCsrXSksZj1j LmRhdGEodGhpcyxlKTtpZihlPWUmJmUuZXZlbnRzKXtkZWxldGUgZi5oYW5kbGU7 Zi5ldmVudHM9e307Zm9yKHZhciBoIGluIGUpZm9yKHZhciBsIGluIGVbaF0pYy5l dmVudC5hZGQodGhpcyxoLGVbaF1bbF0sZVtoXVtsXS5kYXRhKX19fSl9ZnVuY3Rp b24gT2EoYSxiKXtiLnNyYz9jLmFqYXgoe3VybDpiLnNyYyxhc3luYzpmYWxzZSxk YXRhVHlwZToic2NyaXB0In0pOmMuZ2xvYmFsRXZhbChiLnRleHR8fGIudGV4dENv bnRlbnR8fGIuaW5uZXJIVE1MfHwiIik7Yi5wYXJlbnROb2RlJiZiLnBhcmVudE5v ZGUucmVtb3ZlQ2hpbGQoYil9ZnVuY3Rpb24gb2EoYSxiLGQpe3ZhciBlPWI9PT0i d2lkdGgiP2Eub2Zmc2V0V2lkdGg6YS5vZmZzZXRIZWlnaHQ7aWYoZD09PSJib3Jk ZXIiKXJldHVybiBlO2MuZWFjaChiPT09IndpZHRoIj9QYTpRYSxmdW5jdGlvbigp e2R8fChlLT1wYXJzZUZsb2F0KGMuY3NzKGEsInBhZGRpbmciK3RoaXMpKXx8MCk7 aWYoZD09PSJtYXJnaW4iKWUrPXBhcnNlRmxvYXQoYy5jc3MoYSwibWFyZ2luIit0 aGlzKSl8fDA7ZWxzZSBlLT1wYXJzZUZsb2F0KGMuY3NzKGEsImJvcmRlciIrdGhp cysiV2lkdGgiKSl8fDB9KTtyZXR1cm4gZX1mdW5jdGlvbiBkYShhLGIsZCxlKXtp ZihjLmlzQXJyYXkoYikmJmIubGVuZ3RoKWMuZWFjaChiLGZ1bmN0aW9uKGYsaCl7 ZHx8UmEudGVzdChhKT9lKGEsaCk6ZGEoYSsiWyIrKHR5cGVvZiBoPT09Im9iamVj dCJ8fGMuaXNBcnJheShoKT9mOiIiKSsiXSIsaCxkLGUpfSk7ZWxzZSBpZighZCYm YiE9bnVsbCYmdHlwZW9mIGI9PT0ib2JqZWN0IiljLmlzRW1wdHlPYmplY3QoYik/ ZShhLCIiKTpjLmVhY2goYixmdW5jdGlvbihmLGgpe2RhKGErIlsiK2YrIl0iLGgs ZCxlKX0pO2Vsc2UgZShhLGIpfWZ1bmN0aW9uIFMoYSxiKXt2YXIgZD17fTtjLmVh Y2gocGEuY29uY2F0LmFwcGx5KFtdLHBhLnNsaWNlKDAsYikpLGZ1bmN0aW9uKCl7 ZFt0aGlzXT1hfSk7cmV0dXJuIGR9ZnVuY3Rpb24gcWEoYSl7aWYoIWVhW2FdKXt2 YXIgYj1jKCI8IithKyI+IikuYXBwZW5kVG8oImJvZHkiKSxkPWIuY3NzKCJkaXNw bGF5Iik7Yi5yZW1vdmUoKTtpZihkPT09Im5vbmUifHxkPT09IiIpZD0iYmxvY2si O2VhW2FdPWR9cmV0dXJuIGVhW2FdfWZ1bmN0aW9uIGZhKGEpe3JldHVybiBjLmlz V2luZG93KGEpP2E6YS5ub2RlVHlwZT09PTk/YS5kZWZhdWx0Vmlld3x8YS5wYXJl bnRXaW5kb3c6ZmFsc2V9dmFyIHQ9RS5kb2N1bWVudCxjPWZ1bmN0aW9uKCl7ZnVu Y3Rpb24gYSgpe2lmKCFiLmlzUmVhZHkpe3RyeXt0LmRvY3VtZW50RWxlbWVudC5k b1Njcm9sbCgibGVmdCIpfWNhdGNoKGope3NldFRpbWVvdXQoYSwxKTtyZXR1cm59 Yi5yZWFkeSgpfX12YXIgYj1mdW5jdGlvbihqLHMpe3JldHVybiBuZXcgYi5mbi5p bml0KGoscyl9LGQ9RS5qUXVlcnksZT1FLiQsZixoPS9eKD86W148XSooPFtcd1xX XSs+KVtePl0qJHwjKFtcd1wtXSspJCkvLGw9L1xTLyxrPS9eXHMrLyxvPS9ccysk Lyx4PS9cVy8scj0vXGQvLEE9L148KFx3KylccypcLz8+KD86PFwvXDE+KT8kLyxD PS9eW1xdLDp7fVxzXSokLyxKPS9cXCg/OlsiXFxcL2JmbnJ0XXx1WzAtOWEtZkEt Rl17NH0pL2csdz0vIlteIlxcXG5ccl0qInx0cnVlfGZhbHNlfG51bGx8LT9cZCso PzpcLlxkKik/KD86W2VFXVsrXC1dP1xkKyk/L2csST0vKD86Xnw6fCwpKD86XHMq XFspKy9nLEw9Lyh3ZWJraXQpWyBcL10oW1x3Ll0rKS8sZz0vKG9wZXJhKSg/Oi4q dmVyc2lvbik/WyBcL10oW1x3Ll0rKS8saT0vKG1zaWUpIChbXHcuXSspLyxuPS8o bW96aWxsYSkoPzouKj8gcnY6KFtcdy5dKykpPy8sbT1uYXZpZ2F0b3IudXNlckFn ZW50LHA9ZmFsc2UscT1bXSx1LHk9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxG PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksTT1BcnJheS5wcm90b3R5 cGUucHVzaCxOPUFycmF5LnByb3RvdHlwZS5zbGljZSxPPVN0cmluZy5wcm90b3R5 cGUudHJpbSxEPUFycmF5LnByb3RvdHlwZS5pbmRleE9mLFI9e307Yi5mbj1iLnBy b3RvdHlwZT17aW5pdDpmdW5jdGlvbihqLHMpe3ZhciB2LHosSDtpZighailyZXR1 cm4gdGhpcztpZihqLm5vZGVUeXBlKXt0aGlzLmNvbnRleHQ9dGhpc1swXT1qO3Ro aXMubGVuZ3RoPTE7cmV0dXJuIHRoaXN9aWYoaj09PSJib2R5IiYmIXMmJnQuYm9k eSl7dGhpcy5jb250ZXh0PXQ7dGhpc1swXT10LmJvZHk7dGhpcy5zZWxlY3Rvcj0i Ym9keSI7dGhpcy5sZW5ndGg9MTtyZXR1cm4gdGhpc31pZih0eXBlb2Ygaj09PSJz dHJpbmciKWlmKCh2PWguZXhlYyhqKSkmJih2WzFdfHwhcykpaWYodlsxXSl7SD1z P3Mub3duZXJEb2N1bWVudHx8czp0O2lmKHo9QS5leGVjKGopKWlmKGIuaXNQbGFp bk9iamVjdChzKSl7aj1bdC5jcmVhdGVFbGVtZW50KHpbMV0pXTtiLmZuLmF0dHIu Y2FsbChqLHMsdHJ1ZSl9ZWxzZSBqPVtILmNyZWF0ZUVsZW1lbnQoelsxXSldO2Vs c2V7ej1iLmJ1aWxkRnJhZ21lbnQoW3ZbMV1dLFtIXSk7aj0oei5jYWNoZWFibGU/ ei5mcmFnbWVudC5jbG9uZU5vZGUodHJ1ZSk6ei5mcmFnbWVudCkuY2hpbGROb2Rl c31yZXR1cm4gYi5tZXJnZSh0aGlzLGopfWVsc2V7aWYoKHo9dC5nZXRFbGVtZW50 QnlJZCh2WzJdKSkmJnoucGFyZW50Tm9kZSl7aWYoei5pZCE9PXZbMl0pcmV0dXJu IGYuZmluZChqKTt0aGlzLmxlbmd0aD0xO3RoaXNbMF09en10aGlzLmNvbnRleHQ9 dDt0aGlzLnNlbGVjdG9yPWo7cmV0dXJuIHRoaXN9ZWxzZSBpZighcyYmIXgudGVz dChqKSl7dGhpcy5zZWxlY3Rvcj1qO3RoaXMuY29udGV4dD10O2o9dC5nZXRFbGVt ZW50c0J5VGFnTmFtZShqKTtyZXR1cm4gYi5tZXJnZSh0aGlzLGopfWVsc2UgcmV0 dXJuIXN8fHMuanF1ZXJ5PyhzfHxmKS5maW5kKGopOmIocykuZmluZChqKTtlbHNl IGlmKGIuaXNGdW5jdGlvbihqKSlyZXR1cm4gZi5yZWFkeShqKTtpZihqLnNlbGVj dG9yIT09Qil7dGhpcy5zZWxlY3Rvcj1qLnNlbGVjdG9yO3RoaXMuY29udGV4dD1q LmNvbnRleHR9cmV0dXJuIGIubWFrZUFycmF5KGosdGhpcyl9LHNlbGVjdG9yOiIi LGpxdWVyeToiMS40LjQiLGxlbmd0aDowLHNpemU6ZnVuY3Rpb24oKXtyZXR1cm4g dGhpcy5sZW5ndGh9LHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gTi5jYWxsKHRo aXMsMCl9LGdldDpmdW5jdGlvbihqKXtyZXR1cm4gaj09bnVsbD90aGlzLnRvQXJy YXkoKTpqPDA/dGhpcy5zbGljZShqKVswXTp0aGlzW2pdfSxwdXNoU3RhY2s6ZnVu Y3Rpb24oaixzLHYpe3ZhciB6PWIoKTtiLmlzQXJyYXkoaik/TS5hcHBseSh6LGop OmIubWVyZ2UoeixqKTt6LnByZXZPYmplY3Q9dGhpczt6LmNvbnRleHQ9dGhpcy5j b250ZXh0O2lmKHM9PT0iZmluZCIpei5zZWxlY3Rvcj10aGlzLnNlbGVjdG9yKyh0 aGlzLnNlbGVjdG9yPyIgIjoiIikrdjtlbHNlIGlmKHMpei5zZWxlY3Rvcj10aGlz LnNlbGVjdG9yKyIuIitzKyIoIit2KyIpIjtyZXR1cm4gen0sZWFjaDpmdW5jdGlv bihqLHMpe3JldHVybiBiLmVhY2godGhpcyxqLHMpfSxyZWFkeTpmdW5jdGlvbihq KXtiLmJpbmRSZWFkeSgpO2lmKGIuaXNSZWFkeSlqLmNhbGwodCxiKTtlbHNlIHEm JnEucHVzaChqKTtyZXR1cm4gdGhpc30sZXE6ZnVuY3Rpb24oail7cmV0dXJuIGo9 PT0tMT90aGlzLnNsaWNlKGopOnRoaXMuc2xpY2UoaiwraisxKX0sZmlyc3Q6ZnVu Y3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgwKX0sbGFzdDpmdW5jdGlvbigpe3JldHVy biB0aGlzLmVxKC0xKX0sc2xpY2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNo U3RhY2soTi5hcHBseSh0aGlzLGFyZ3VtZW50cyksInNsaWNlIixOLmNhbGwoYXJn dW1lbnRzKS5qb2luKCIsIikpfSxtYXA6ZnVuY3Rpb24oail7cmV0dXJuIHRoaXMu cHVzaFN0YWNrKGIubWFwKHRoaXMsZnVuY3Rpb24ocyx2KXtyZXR1cm4gai5jYWxs KHMsdixzKX0pKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVj dHx8YihudWxsKX0scHVzaDpNLHNvcnQ6W10uc29ydCxzcGxpY2U6W10uc3BsaWNl fTtiLmZuLmluaXQucHJvdG90eXBlPWIuZm47Yi5leHRlbmQ9Yi5mbi5leHRlbmQ9 ZnVuY3Rpb24oKXt2YXIgaixzLHYseixILEc9YXJndW1lbnRzWzBdfHx7fSxLPTEs UT1hcmd1bWVudHMubGVuZ3RoLGdhPWZhbHNlO2lmKHR5cGVvZiBHPT09ImJvb2xl YW4iKXtnYT1HO0c9YXJndW1lbnRzWzFdfHx7fTtLPTJ9aWYodHlwZW9mIEchPT0i b2JqZWN0IiYmIWIuaXNGdW5jdGlvbihHKSlHPXt9O2lmKFE9PT1LKXtHPXRoaXM7 LS1LfWZvcig7SzxRO0srKylpZigoaj1hcmd1bWVudHNbS10pIT1udWxsKWZvcihz IGluIGope3Y9R1tzXTt6PWpbc107aWYoRyE9PXopaWYoZ2EmJnomJihiLmlzUGxh aW5PYmplY3Qoeil8fChIPWIuaXNBcnJheSh6KSkpKXtpZihIKXtIPWZhbHNlO3Y9 diYmYi5pc0FycmF5KHYpP3Y6W119ZWxzZSB2PXYmJmIuaXNQbGFpbk9iamVjdCh2 KT92Ont9O0dbc109Yi5leHRlbmQoZ2Esdix6KX1lbHNlIGlmKHohPT1CKUdbc109 en1yZXR1cm4gR307Yi5leHRlbmQoe25vQ29uZmxpY3Q6ZnVuY3Rpb24oail7RS4k PWU7aWYoailFLmpRdWVyeT1kO3JldHVybiBifSxpc1JlYWR5OmZhbHNlLHJlYWR5 V2FpdDoxLHJlYWR5OmZ1bmN0aW9uKGope2o9PT10cnVlJiZiLnJlYWR5V2FpdC0t O2lmKCFiLnJlYWR5V2FpdHx8aiE9PXRydWUmJiFiLmlzUmVhZHkpe2lmKCF0LmJv ZHkpcmV0dXJuIHNldFRpbWVvdXQoYi5yZWFkeSwxKTtiLmlzUmVhZHk9dHJ1ZTtp ZighKGohPT10cnVlJiYtLWIucmVhZHlXYWl0PjApKWlmKHEpe3ZhciBzPTAsdj1x O2ZvcihxPW51bGw7aj12W3MrK107KWouY2FsbCh0LGIpO2IuZm4udHJpZ2dlciYm Yih0KS50cmlnZ2VyKCJyZWFkeSIpLnVuYmluZCgicmVhZHkiKX19fSxiaW5kUmVh ZHk6ZnVuY3Rpb24oKXtpZighcCl7cD10cnVlO2lmKHQucmVhZHlTdGF0ZT09PSJj b21wbGV0ZSIpcmV0dXJuIHNldFRpbWVvdXQoYi5yZWFkeSwxKTtpZih0LmFkZEV2 ZW50TGlzdGVuZXIpe3QuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRl ZCIsdSxmYWxzZSk7RS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixiLnJlYWR5LGZh bHNlKX1lbHNlIGlmKHQuYXR0YWNoRXZlbnQpe3QuYXR0YWNoRXZlbnQoIm9ucmVh ZHlzdGF0ZWNoYW5nZSIsdSk7RS5hdHRhY2hFdmVudCgib25sb2FkIixiLnJlYWR5 KTt2YXIgaj1mYWxzZTt0cnl7aj1FLmZyYW1lRWxlbWVudD09bnVsbH1jYXRjaChz KXt9dC5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwmJmomJmEoKX19fSxpc0Z1bmN0 aW9uOmZ1bmN0aW9uKGope3JldHVybiBiLnR5cGUoaik9PT0iZnVuY3Rpb24ifSxp c0FycmF5OkFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGope3JldHVybiBiLnR5cGUo aik9PT0iYXJyYXkifSxpc1dpbmRvdzpmdW5jdGlvbihqKXtyZXR1cm4gaiYmdHlw ZW9mIGo9PT0ib2JqZWN0IiYmInNldEludGVydmFsImluIGp9LGlzTmFOOmZ1bmN0 aW9uKGope3JldHVybiBqPT1udWxsfHwhci50ZXN0KGopfHxpc05hTihqKX0sdHlw ZTpmdW5jdGlvbihqKXtyZXR1cm4gaj09bnVsbD9TdHJpbmcoaik6Ult5LmNhbGwo aildfHwib2JqZWN0In0saXNQbGFpbk9iamVjdDpmdW5jdGlvbihqKXtpZighanx8 Yi50eXBlKGopIT09Im9iamVjdCJ8fGoubm9kZVR5cGV8fGIuaXNXaW5kb3coaikp cmV0dXJuIGZhbHNlO2lmKGouY29uc3RydWN0b3ImJiFGLmNhbGwoaiwiY29uc3Ry dWN0b3IiKSYmIUYuY2FsbChqLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwiaXNQcm90 b3R5cGVPZiIpKXJldHVybiBmYWxzZTtmb3IodmFyIHMgaW4gaik7cmV0dXJuIHM9 PT1CfHxGLmNhbGwoaixzKX0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihqKXtmb3Io dmFyIHMgaW4gailyZXR1cm4gZmFsc2U7cmV0dXJuIHRydWV9LGVycm9yOmZ1bmN0 aW9uKGope3Rocm93IGo7fSxwYXJzZUpTT046ZnVuY3Rpb24oail7aWYodHlwZW9m IGohPT0ic3RyaW5nInx8IWopcmV0dXJuIG51bGw7aj1iLnRyaW0oaik7aWYoQy50 ZXN0KGoucmVwbGFjZShKLCJAIikucmVwbGFjZSh3LCJdIikucmVwbGFjZShJLCIi KSkpcmV0dXJuIEUuSlNPTiYmRS5KU09OLnBhcnNlP0UuSlNPTi5wYXJzZShqKToo bmV3IEZ1bmN0aW9uKCJyZXR1cm4gIitqKSkoKTtlbHNlIGIuZXJyb3IoIkludmFs aWQgSlNPTjogIitqKX0sbm9vcDpmdW5jdGlvbigpe30sZ2xvYmFsRXZhbDpmdW5j dGlvbihqKXtpZihqJiZsLnRlc3Qoaikpe3ZhciBzPXQuZ2V0RWxlbWVudHNCeVRh Z05hbWUoImhlYWQiKVswXXx8dC5kb2N1bWVudEVsZW1lbnQsdj10LmNyZWF0ZUVs ZW1lbnQoInNjcmlwdCIpO3YudHlwZT0idGV4dC9qYXZhc2NyaXB0IjtpZihiLnN1 cHBvcnQuc2NyaXB0RXZhbCl2LmFwcGVuZENoaWxkKHQuY3JlYXRlVGV4dE5vZGUo aikpO2Vsc2Ugdi50ZXh0PWo7cy5pbnNlcnRCZWZvcmUodixzLmZpcnN0Q2hpbGQp O3MucmVtb3ZlQ2hpbGQodil9fSxub2RlTmFtZTpmdW5jdGlvbihqLHMpe3JldHVy biBqLm5vZGVOYW1lJiZqLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk9PT1zLnRvVXBw ZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oaixzLHYpe3ZhciB6LEg9MCxHPWoubGVu Z3RoLEs9Rz09PUJ8fGIuaXNGdW5jdGlvbihqKTtpZih2KWlmKEspZm9yKHogaW4g ail7aWYocy5hcHBseShqW3pdLHYpPT09ZmFsc2UpYnJlYWt9ZWxzZSBmb3IoO0g8 Rzspe2lmKHMuYXBwbHkoaltIKytdLHYpPT09ZmFsc2UpYnJlYWt9ZWxzZSBpZihL KWZvcih6IGluIGope2lmKHMuY2FsbChqW3pdLHosalt6XSk9PT1mYWxzZSlicmVh a31lbHNlIGZvcih2PWpbMF07SDxHJiZzLmNhbGwodixILHYpIT09ZmFsc2U7dj1q WysrSF0pO3JldHVybiBqfSx0cmltOk8/ZnVuY3Rpb24oail7cmV0dXJuIGo9PW51 bGw/IiI6Ty5jYWxsKGopfTpmdW5jdGlvbihqKXtyZXR1cm4gaj09bnVsbD8iIjpq LnRvU3RyaW5nKCkucmVwbGFjZShrLCIiKS5yZXBsYWNlKG8sIiIpfSxtYWtlQXJy YXk6ZnVuY3Rpb24oaixzKXt2YXIgdj1zfHxbXTtpZihqIT1udWxsKXt2YXIgej1i LnR5cGUoaik7ai5sZW5ndGg9PW51bGx8fHo9PT0ic3RyaW5nInx8ej09PSJmdW5j dGlvbiJ8fHo9PT0icmVnZXhwInx8Yi5pc1dpbmRvdyhqKT9NLmNhbGwodixqKTpi Lm1lcmdlKHYsail9cmV0dXJuIHZ9LGluQXJyYXk6ZnVuY3Rpb24oaixzKXtpZihz LmluZGV4T2YpcmV0dXJuIHMuaW5kZXhPZihqKTtmb3IodmFyIHY9MCx6PXMubGVu Z3RoO3Y8ejt2KyspaWYoc1t2XT09PWopcmV0dXJuIHY7cmV0dXJuLTF9LG1lcmdl OmZ1bmN0aW9uKGoscyl7dmFyIHY9ai5sZW5ndGgsej0wO2lmKHR5cGVvZiBzLmxl bmd0aD09PSJudW1iZXIiKWZvcih2YXIgSD1zLmxlbmd0aDt6PEg7eisrKWpbdisr XT1zW3pdO2Vsc2UgZm9yKDtzW3pdIT09Qjspalt2KytdPXNbeisrXTtqLmxlbmd0 aD12O3JldHVybiBqfSxncmVwOmZ1bmN0aW9uKGoscyx2KXt2YXIgej1bXSxIO3Y9 ISF2O2Zvcih2YXIgRz0wLEs9ai5sZW5ndGg7RzxLO0crKyl7SD0hIXMoaltHXSxH KTt2IT09SCYmei5wdXNoKGpbR10pfXJldHVybiB6fSxtYXA6ZnVuY3Rpb24oaixz LHYpe2Zvcih2YXIgej1bXSxILEc9MCxLPWoubGVuZ3RoO0c8SztHKyspe0g9cyhq W0ddLEcsdik7aWYoSCE9bnVsbCl6W3oubGVuZ3RoXT1IfXJldHVybiB6LmNvbmNh dC5hcHBseShbXSx6KX0sZ3VpZDoxLHByb3h5OmZ1bmN0aW9uKGoscyx2KXtpZihh cmd1bWVudHMubGVuZ3RoPT09MilpZih0eXBlb2Ygcz09PSJzdHJpbmciKXt2PWo7 aj12W3NdO3M9Qn1lbHNlIGlmKHMmJiFiLmlzRnVuY3Rpb24ocykpe3Y9cztzPUJ9 aWYoIXMmJmopcz1mdW5jdGlvbigpe3JldHVybiBqLmFwcGx5KHZ8fHRoaXMsYXJn dW1lbnRzKX07aWYoailzLmd1aWQ9ai5ndWlkPWouZ3VpZHx8cy5ndWlkfHxiLmd1 aWQrKztyZXR1cm4gc30sYWNjZXNzOmZ1bmN0aW9uKGoscyx2LHosSCxHKXt2YXIg Sz1qLmxlbmd0aDtpZih0eXBlb2Ygcz09PSJvYmplY3QiKXtmb3IodmFyIFEgaW4g cyliLmFjY2VzcyhqLFEsc1tRXSx6LEgsdik7cmV0dXJuIGp9aWYodiE9PUIpe3o9 IUcmJnomJmIuaXNGdW5jdGlvbih2KTtmb3IoUT0wO1E8SztRKyspSChqW1FdLHMs ej92LmNhbGwoaltRXSxRLEgoaltRXSxzKSk6dixHKTtyZXR1cm4gan1yZXR1cm4g Sz9IKGpbMF0scyk6Qn0sbm93OmZ1bmN0aW9uKCl7cmV0dXJuKG5ldyBEYXRlKS5n ZXRUaW1lKCl9LHVhTWF0Y2g6ZnVuY3Rpb24oail7aj1qLnRvTG93ZXJDYXNlKCk7 aj1MLmV4ZWMoail8fGcuZXhlYyhqKXx8aS5leGVjKGopfHxqLmluZGV4T2YoImNv bXBhdGlibGUiKTwwJiZuLmV4ZWMoail8fFtdO3JldHVybnticm93c2VyOmpbMV18 fCIiLHZlcnNpb246alsyXXx8IjAifX0sYnJvd3Nlcjp7fX0pO2IuZWFjaCgiQm9v bGVhbiBOdW1iZXIgU3RyaW5nIEZ1bmN0aW9uIEFycmF5IERhdGUgUmVnRXhwIE9i amVjdCIuc3BsaXQoIiAiKSxmdW5jdGlvbihqLHMpe1JbIltvYmplY3QgIitzKyJd Il09cy50b0xvd2VyQ2FzZSgpfSk7bT1iLnVhTWF0Y2gobSk7aWYobS5icm93c2Vy KXtiLmJyb3dzZXJbbS5icm93c2VyXT10cnVlO2IuYnJvd3Nlci52ZXJzaW9uPW0u dmVyc2lvbn1pZihiLmJyb3dzZXIud2Via2l0KWIuYnJvd3Nlci5zYWZhcmk9dHJ1 ZTtpZihEKWIuaW5BcnJheT1mdW5jdGlvbihqLHMpe3JldHVybiBELmNhbGwocyxq KX07aWYoIS9ccy8udGVzdCgiXHUwMGEwIikpe2s9L15bXHNceEEwXSsvO289L1tc c1x4QTBdKyQvfWY9Yih0KTtpZih0LmFkZEV2ZW50TGlzdGVuZXIpdT1mdW5jdGlv bigpe3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsdSxm YWxzZSk7Yi5yZWFkeSgpfTtlbHNlIGlmKHQuYXR0YWNoRXZlbnQpdT1mdW5jdGlv bigpe2lmKHQucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpe3QuZGV0YWNoRXZlbnQo Im9ucmVhZHlzdGF0ZWNoYW5nZSIsdSk7Yi5yZWFkeSgpfX07cmV0dXJuIEUualF1 ZXJ5PUUuJD1ifSgpOyhmdW5jdGlvbigpe2Muc3VwcG9ydD17fTt2YXIgYT10LmRv Y3VtZW50RWxlbWVudCxiPXQuY3JlYXRlRWxlbWVudCgic2NyaXB0IiksZD10LmNy ZWF0ZUVsZW1lbnQoImRpdiIpLGU9InNjcmlwdCIrYy5ub3coKTtkLnN0eWxlLmRp c3BsYXk9Im5vbmUiO2QuaW5uZXJIVE1MPSIgICA8bGluay8+PHRhYmxlPjwvdGFi bGU+PGEgaHJlZj0nL2EnIHN0eWxlPSdjb2xvcjpyZWQ7ZmxvYXQ6bGVmdDtvcGFj aXR5Oi41NTsnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+Ijt2YXIgZj1k LmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIiksaD1kLmdldEVsZW1lbnRzQnlUYWdO YW1lKCJhIilbMF0sbD10LmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLGs9bC5hcHBl bmRDaGlsZCh0LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpKTtpZighKCFmfHwhZi5s ZW5ndGh8fCFoKSl7Yy5zdXBwb3J0PXtsZWFkaW5nV2hpdGVzcGFjZTpkLmZpcnN0 Q2hpbGQubm9kZVR5cGU9PT0zLHRib2R5OiFkLmdldEVsZW1lbnRzQnlUYWdOYW1l KCJ0Ym9keSIpLmxlbmd0aCxodG1sU2VyaWFsaXplOiEhZC5nZXRFbGVtZW50c0J5 VGFnTmFtZSgibGluayIpLmxlbmd0aCxzdHlsZTovcmVkLy50ZXN0KGguZ2V0QXR0 cmlidXRlKCJzdHlsZSIpKSxocmVmTm9ybWFsaXplZDpoLmdldEF0dHJpYnV0ZSgi aHJlZiIpPT09Ii9hIixvcGFjaXR5Oi9eMC41NSQvLnRlc3QoaC5zdHlsZS5vcGFj aXR5KSxjc3NGbG9hdDohIWguc3R5bGUuY3NzRmxvYXQsY2hlY2tPbjpkLmdldEVs ZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdLnZhbHVlPT09Im9uIixvcHRTZWxl Y3RlZDprLnNlbGVjdGVkLGRlbGV0ZUV4cGFuZG86dHJ1ZSxvcHREaXNhYmxlZDpm YWxzZSxjaGVja0Nsb25lOmZhbHNlLHNjcmlwdEV2YWw6ZmFsc2Usbm9DbG9uZUV2 ZW50OnRydWUsYm94TW9kZWw6bnVsbCxpbmxpbmVCbG9ja05lZWRzTGF5b3V0OmZh bHNlLHNocmlua1dyYXBCbG9ja3M6ZmFsc2UscmVsaWFibGVIaWRkZW5PZmZzZXRz OnRydWV9O2wuZGlzYWJsZWQ9dHJ1ZTtjLnN1cHBvcnQub3B0RGlzYWJsZWQ9IWsu ZGlzYWJsZWQ7Yi50eXBlPSJ0ZXh0L2phdmFzY3JpcHQiO3RyeXtiLmFwcGVuZENo aWxkKHQuY3JlYXRlVGV4dE5vZGUoIndpbmRvdy4iK2UrIj0xOyIpKX1jYXRjaChv KXt9YS5pbnNlcnRCZWZvcmUoYixhLmZpcnN0Q2hpbGQpO2lmKEVbZV0pe2Muc3Vw cG9ydC5zY3JpcHRFdmFsPXRydWU7ZGVsZXRlIEVbZV19dHJ5e2RlbGV0ZSBiLnRl c3R9Y2F0Y2goeCl7Yy5zdXBwb3J0LmRlbGV0ZUV4cGFuZG89ZmFsc2V9YS5yZW1v dmVDaGlsZChiKTtpZihkLmF0dGFjaEV2ZW50JiZkLmZpcmVFdmVudCl7ZC5hdHRh Y2hFdmVudCgib25jbGljayIsZnVuY3Rpb24gcigpe2Muc3VwcG9ydC5ub0Nsb25l RXZlbnQ9ZmFsc2U7ZC5kZXRhY2hFdmVudCgib25jbGljayIscil9KTtkLmNsb25l Tm9kZSh0cnVlKS5maXJlRXZlbnQoIm9uY2xpY2siKX1kPXQuY3JlYXRlRWxlbWVu dCgiZGl2Iik7ZC5pbm5lckhUTUw9IjxpbnB1dCB0eXBlPSdyYWRpbycgbmFtZT0n cmFkaW90ZXN0JyBjaGVja2VkPSdjaGVja2VkJy8+IjthPXQuY3JlYXRlRG9jdW1l bnRGcmFnbWVudCgpO2EuYXBwZW5kQ2hpbGQoZC5maXJzdENoaWxkKTtjLnN1cHBv cnQuY2hlY2tDbG9uZT1hLmNsb25lTm9kZSh0cnVlKS5jbG9uZU5vZGUodHJ1ZSku bGFzdENoaWxkLmNoZWNrZWQ7YyhmdW5jdGlvbigpe3ZhciByPXQuY3JlYXRlRWxl bWVudCgiZGl2Iik7ci5zdHlsZS53aWR0aD1yLnN0eWxlLnBhZGRpbmdMZWZ0PSIx cHgiO3QuYm9keS5hcHBlbmRDaGlsZChyKTtjLmJveE1vZGVsPWMuc3VwcG9ydC5i b3hNb2RlbD1yLm9mZnNldFdpZHRoPT09MjtpZigiem9vbSJpbiByLnN0eWxlKXty LnN0eWxlLmRpc3BsYXk9ImlubGluZSI7ci5zdHlsZS56b29tPTE7Yy5zdXBwb3J0 LmlubGluZUJsb2NrTmVlZHNMYXlvdXQ9ci5vZmZzZXRXaWR0aD09PTI7ci5zdHls ZS5kaXNwbGF5PSIiO3IuaW5uZXJIVE1MPSI8ZGl2IHN0eWxlPSd3aWR0aDo0cHg7 Jz48L2Rpdj4iO2Muc3VwcG9ydC5zaHJpbmtXcmFwQmxvY2tzPXIub2Zmc2V0V2lk dGghPT0yfXIuaW5uZXJIVE1MPSI8dGFibGU+PHRyPjx0ZCBzdHlsZT0ncGFkZGlu ZzowO2Rpc3BsYXk6bm9uZSc+PC90ZD48dGQ+dDwvdGQ+PC90cj48L3RhYmxlPiI7 dmFyIEE9ci5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGQiKTtjLnN1cHBvcnQucmVs aWFibGVIaWRkZW5PZmZzZXRzPUFbMF0ub2Zmc2V0SGVpZ2h0PT09MDtBWzBdLnN0 eWxlLmRpc3BsYXk9IiI7QVsxXS5zdHlsZS5kaXNwbGF5PSJub25lIjtjLnN1cHBv cnQucmVsaWFibGVIaWRkZW5PZmZzZXRzPWMuc3VwcG9ydC5yZWxpYWJsZUhpZGRl bk9mZnNldHMmJkFbMF0ub2Zmc2V0SGVpZ2h0PT09MDtyLmlubmVySFRNTD0iIjt0 LmJvZHkucmVtb3ZlQ2hpbGQocikuc3R5bGUuZGlzcGxheT0ibm9uZSJ9KTthPWZ1 bmN0aW9uKHIpe3ZhciBBPXQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cj0ib24iK3I7 dmFyIEM9ciBpbiBBO2lmKCFDKXtBLnNldEF0dHJpYnV0ZShyLCJyZXR1cm47Iik7 Qz10eXBlb2YgQVtyXT09PSJmdW5jdGlvbiJ9cmV0dXJuIEN9O2Muc3VwcG9ydC5z dWJtaXRCdWJibGVzPWEoInN1Ym1pdCIpO2Muc3VwcG9ydC5jaGFuZ2VCdWJibGVz PWEoImNoYW5nZSIpO2E9Yj1kPWY9aD1udWxsfX0pKCk7dmFyIHJhPXt9LEphPS9e KD86XHsuKlx9fFxbLipcXSkkLztjLmV4dGVuZCh7Y2FjaGU6e30sdXVpZDowLGV4 cGFuZG86ImpRdWVyeSIrYy5ub3coKSxub0RhdGE6e2VtYmVkOnRydWUsb2JqZWN0 OiJjbHNpZDpEMjdDREI2RS1BRTZELTExY2YtOTZCOC00NDQ1NTM1NDAwMDAiLGFw cGxldDp0cnVlfSxkYXRhOmZ1bmN0aW9uKGEsYixkKXtpZihjLmFjY2VwdERhdGEo YSkpe2E9YT09RT9yYTphO3ZhciBlPWEubm9kZVR5cGUsZj1lP2FbYy5leHBhbmRv XTpudWxsLGg9Yy5jYWNoZTtpZighKGUmJiFmJiZ0eXBlb2YgYj09PSJzdHJpbmci JiZkPT09Qikpe2lmKGUpZnx8KGFbYy5leHBhbmRvXT1mPSsrYy51dWlkKTtlbHNl IGg9YTtpZih0eXBlb2YgYj09PSJvYmplY3QiKWlmKGUpaFtmXT1jLmV4dGVuZCho W2ZdLGIpO2Vsc2UgYy5leHRlbmQoaCxiKTtlbHNlIGlmKGUmJiFoW2ZdKWhbZl09 e307YT1lP2hbZl06aDtpZihkIT09QilhW2JdPWQ7cmV0dXJuIHR5cGVvZiBiPT09 InN0cmluZyI/YVtiXTphfX19LHJlbW92ZURhdGE6ZnVuY3Rpb24oYSxiKXtpZihj LmFjY2VwdERhdGEoYSkpe2E9YT09RT9yYTphO3ZhciBkPWEubm9kZVR5cGUsZT1k P2FbYy5leHBhbmRvXTphLGY9Yy5jYWNoZSxoPWQ/ZltlXTplO2lmKGIpe2lmKGgp e2RlbGV0ZSBoW2JdO2QmJmMuaXNFbXB0eU9iamVjdChoKSYmYy5yZW1vdmVEYXRh KGEpfX1lbHNlIGlmKGQmJmMuc3VwcG9ydC5kZWxldGVFeHBhbmRvKWRlbGV0ZSBh W2MuZXhwYW5kb107ZWxzZSBpZihhLnJlbW92ZUF0dHJpYnV0ZSlhLnJlbW92ZUF0 dHJpYnV0ZShjLmV4cGFuZG8pO2Vsc2UgaWYoZClkZWxldGUgZltlXTtlbHNlIGZv cih2YXIgbCBpbiBhKWRlbGV0ZSBhW2xdfX0sYWNjZXB0RGF0YTpmdW5jdGlvbihh KXtpZihhLm5vZGVOYW1lKXt2YXIgYj1jLm5vRGF0YVthLm5vZGVOYW1lLnRvTG93 ZXJDYXNlKCldO2lmKGIpcmV0dXJuIShiPT09dHJ1ZXx8YS5nZXRBdHRyaWJ1dGUo ImNsYXNzaWQiKSE9PWIpfXJldHVybiB0cnVlfX0pO2MuZm4uZXh0ZW5kKHtkYXRh OmZ1bmN0aW9uKGEsYil7dmFyIGQ9bnVsbDtpZih0eXBlb2YgYT09PSJ1bmRlZmlu ZWQiKXtpZih0aGlzLmxlbmd0aCl7dmFyIGU9dGhpc1swXS5hdHRyaWJ1dGVzLGY7 ZD1jLmRhdGEodGhpc1swXSk7Zm9yKHZhciBoPTAsbD1lLmxlbmd0aDtoPGw7aCsr KXtmPWVbaF0ubmFtZTtpZihmLmluZGV4T2YoImRhdGEtIik9PT0wKXtmPWYuc3Vi c3RyKDUpO2thKHRoaXNbMF0sZixkW2ZdKX19fXJldHVybiBkfWVsc2UgaWYodHlw ZW9mIGE9PT0ib2JqZWN0IilyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yy5k YXRhKHRoaXMsYSl9KTt2YXIgaz1hLnNwbGl0KCIuIik7a1sxXT1rWzFdPyIuIitr WzFdOiIiO2lmKGI9PT1CKXtkPXRoaXMudHJpZ2dlckhhbmRsZXIoImdldERhdGEi K2tbMV0rIiEiLFtrWzBdXSk7aWYoZD09PUImJnRoaXMubGVuZ3RoKXtkPWMuZGF0 YSh0aGlzWzBdLGEpO2Q9a2EodGhpc1swXSxhLGQpfXJldHVybiBkPT09QiYma1sx XT90aGlzLmRhdGEoa1swXSk6ZH1lbHNlIHJldHVybiB0aGlzLmVhY2goZnVuY3Rp b24oKXt2YXIgbz1jKHRoaXMpLHg9W2tbMF0sYl07by50cmlnZ2VySGFuZGxlcigi c2V0RGF0YSIra1sxXSsiISIseCk7Yy5kYXRhKHRoaXMsYSxiKTtvLnRyaWdnZXJI YW5kbGVyKCJjaGFuZ2VEYXRhIitrWzFdKyIhIix4KX0pfSxyZW1vdmVEYXRhOmZ1 bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtjLnJlbW92ZURh dGEodGhpcyxhKX0pfX0pO2MuZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihhLGIsZCl7 aWYoYSl7Yj0oYnx8ImZ4IikrInF1ZXVlIjt2YXIgZT1jLmRhdGEoYSxiKTtpZigh ZClyZXR1cm4gZXx8W107aWYoIWV8fGMuaXNBcnJheShkKSllPWMuZGF0YShhLGIs Yy5tYWtlQXJyYXkoZCkpO2Vsc2UgZS5wdXNoKGQpO3JldHVybiBlfX0sZGVxdWV1 ZTpmdW5jdGlvbihhLGIpe2I9Ynx8ImZ4Ijt2YXIgZD1jLnF1ZXVlKGEsYiksZT1k LnNoaWZ0KCk7aWYoZT09PSJpbnByb2dyZXNzIillPWQuc2hpZnQoKTtpZihlKXti PT09ImZ4IiYmZC51bnNoaWZ0KCJpbnByb2dyZXNzIik7ZS5jYWxsKGEsZnVuY3Rp b24oKXtjLmRlcXVldWUoYSxiKX0pfX19KTtjLmZuLmV4dGVuZCh7cXVldWU6ZnVu Y3Rpb24oYSxiKXtpZih0eXBlb2YgYSE9PSJzdHJpbmciKXtiPWE7YT0iZngifWlm KGI9PT1CKXJldHVybiBjLnF1ZXVlKHRoaXNbMF0sYSk7cmV0dXJuIHRoaXMuZWFj aChmdW5jdGlvbigpe3ZhciBkPWMucXVldWUodGhpcyxhLGIpO2E9PT0iZngiJiZk WzBdIT09ImlucHJvZ3Jlc3MiJiZjLmRlcXVldWUodGhpcyxhKX0pfSxkZXF1ZXVl OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtjLmRlcXVl dWUodGhpcyxhKX0pfSxkZWxheTpmdW5jdGlvbihhLGIpe2E9Yy5meD9jLmZ4LnNw ZWVkc1thXXx8YTphO2I9Ynx8ImZ4IjtyZXR1cm4gdGhpcy5xdWV1ZShiLGZ1bmN0 aW9uKCl7dmFyIGQ9dGhpcztzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5kZXF1ZXVl KGQsYil9LGEpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMu cXVldWUoYXx8ImZ4IixbXSl9fSk7dmFyIHNhPS9bXG5cdF0vZyxoYT0vXHMrLyxT YT0vXHIvZyxUYT0vXig/OmhyZWZ8c3JjfHN0eWxlKSQvLFVhPS9eKD86YnV0dG9u fGlucHV0KSQvaSxWYT0vXig/OmJ1dHRvbnxpbnB1dHxvYmplY3R8c2VsZWN0fHRl eHRhcmVhKSQvaSxXYT0vXmEoPzpyZWEpPyQvaSx0YT0vXig/OnJhZGlvfGNoZWNr Ym94KSQvaTtjLnByb3BzPXsiZm9yIjoiaHRtbEZvciIsImNsYXNzIjoiY2xhc3NO YW1lIixyZWFkb25seToicmVhZE9ubHkiLG1heGxlbmd0aDoibWF4TGVuZ3RoIixj ZWxsc3BhY2luZzoiY2VsbFNwYWNpbmciLHJvd3NwYW46InJvd1NwYW4iLGNvbHNw YW46ImNvbFNwYW4iLHRhYmluZGV4OiJ0YWJJbmRleCIsdXNlbWFwOiJ1c2VNYXAi LGZyYW1lYm9yZGVyOiJmcmFtZUJvcmRlciJ9O2MuZm4uZXh0ZW5kKHthdHRyOmZ1 bmN0aW9uKGEsYil7cmV0dXJuIGMuYWNjZXNzKHRoaXMsYSxiLHRydWUsYy5hdHRy KX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0 aW9uKCl7Yy5hdHRyKHRoaXMsYSwiIik7dGhpcy5ub2RlVHlwZT09PTEmJnRoaXMu cmVtb3ZlQXR0cmlidXRlKGEpfSl9LGFkZENsYXNzOmZ1bmN0aW9uKGEpe2lmKGMu aXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKHgpe3ZhciBy PWModGhpcyk7ci5hZGRDbGFzcyhhLmNhbGwodGhpcyx4LHIuYXR0cigiY2xhc3Mi KSkpfSk7aWYoYSYmdHlwZW9mIGE9PT0ic3RyaW5nIilmb3IodmFyIGI9KGF8fCIi KS5zcGxpdChoYSksZD0wLGU9dGhpcy5sZW5ndGg7ZDxlO2QrKyl7dmFyIGY9dGhp c1tkXTtpZihmLm5vZGVUeXBlPT09MSlpZihmLmNsYXNzTmFtZSl7Zm9yKHZhciBo PSIgIitmLmNsYXNzTmFtZSsiICIsbD1mLmNsYXNzTmFtZSxrPTAsbz1iLmxlbmd0 aDtrPG87aysrKWlmKGguaW5kZXhPZigiICIrYltrXSsiICIpPDApbCs9IiAiK2Jb a107Zi5jbGFzc05hbWU9Yy50cmltKGwpfWVsc2UgZi5jbGFzc05hbWU9YX1yZXR1 cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oYSl7aWYoYy5pc0Z1bmN0aW9u KGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24obyl7dmFyIHg9Yyh0aGlzKTt4 LnJlbW92ZUNsYXNzKGEuY2FsbCh0aGlzLG8seC5hdHRyKCJjbGFzcyIpKSl9KTtp ZihhJiZ0eXBlb2YgYT09PSJzdHJpbmcifHxhPT09Qilmb3IodmFyIGI9KGF8fCIi KS5zcGxpdChoYSksZD0wLGU9dGhpcy5sZW5ndGg7ZDxlO2QrKyl7dmFyIGY9dGhp c1tkXTtpZihmLm5vZGVUeXBlPT09MSYmZi5jbGFzc05hbWUpaWYoYSl7Zm9yKHZh ciBoPSgiICIrZi5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKHNhLCIgIiksbD0wLGs9 Yi5sZW5ndGg7bDxrO2wrKyloPWgucmVwbGFjZSgiICIrYltsXSsiICIsIiAiKTtm LmNsYXNzTmFtZT1jLnRyaW0oaCl9ZWxzZSBmLmNsYXNzTmFtZT0iIn1yZXR1cm4g dGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24oYSxiKXt2YXIgZD10eXBlb2YgYSxl PXR5cGVvZiBiPT09ImJvb2xlYW4iO2lmKGMuaXNGdW5jdGlvbihhKSlyZXR1cm4g dGhpcy5lYWNoKGZ1bmN0aW9uKGYpe3ZhciBoPWModGhpcyk7aC50b2dnbGVDbGFz cyhhLmNhbGwodGhpcyxmLGguYXR0cigiY2xhc3MiKSxiKSxiKX0pO3JldHVybiB0 aGlzLmVhY2goZnVuY3Rpb24oKXtpZihkPT09InN0cmluZyIpZm9yKHZhciBmLGg9 MCxsPWModGhpcyksaz1iLG89YS5zcGxpdChoYSk7Zj1vW2grK107KXtrPWU/azoh bC5oYXNDbGFzcyhmKTtsW2s/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3MiXShmKX1l bHNlIGlmKGQ9PT0idW5kZWZpbmVkInx8ZD09PSJib29sZWFuIil7dGhpcy5jbGFz c05hbWUmJmMuZGF0YSh0aGlzLCJfX2NsYXNzTmFtZV9fIix0aGlzLmNsYXNzTmFt ZSk7dGhpcy5jbGFzc05hbWU9dGhpcy5jbGFzc05hbWV8fGE9PT1mYWxzZT8iIjpj LmRhdGEodGhpcywiX19jbGFzc05hbWVfXyIpfHwiIn19KX0saGFzQ2xhc3M6ZnVu Y3Rpb24oYSl7YT0iICIrYSsiICI7Zm9yKHZhciBiPTAsZD10aGlzLmxlbmd0aDti PGQ7YisrKWlmKCgiICIrdGhpc1tiXS5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKHNh LCIgIikuaW5kZXhPZihhKT4tMSlyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2V9LHZh bDpmdW5jdGlvbihhKXtpZighYXJndW1lbnRzLmxlbmd0aCl7dmFyIGI9dGhpc1sw XTtpZihiKXtpZihjLm5vZGVOYW1lKGIsIm9wdGlvbiIpKXt2YXIgZD1iLmF0dHJp YnV0ZXMudmFsdWU7cmV0dXJuIWR8fGQuc3BlY2lmaWVkP2IudmFsdWU6Yi50ZXh0 fWlmKGMubm9kZU5hbWUoYiwic2VsZWN0Iikpe3ZhciBlPWIuc2VsZWN0ZWRJbmRl eDtkPVtdO3ZhciBmPWIub3B0aW9ucztiPWIudHlwZT09PSJzZWxlY3Qtb25lIjtp ZihlPDApcmV0dXJuIG51bGw7dmFyIGg9Yj9lOjA7Zm9yKGU9Yj9lKzE6Zi5sZW5n dGg7aDxlO2grKyl7dmFyIGw9ZltoXTtpZihsLnNlbGVjdGVkJiYoYy5zdXBwb3J0 Lm9wdERpc2FibGVkPyFsLmRpc2FibGVkOmwuZ2V0QXR0cmlidXRlKCJkaXNhYmxl ZCIpPT09bnVsbCkmJighbC5wYXJlbnROb2RlLmRpc2FibGVkfHwhYy5ub2RlTmFt ZShsLnBhcmVudE5vZGUsIm9wdGdyb3VwIikpKXthPWMobCkudmFsKCk7aWYoYily ZXR1cm4gYTtkLnB1c2goYSl9fXJldHVybiBkfWlmKHRhLnRlc3QoYi50eXBlKSYm IWMuc3VwcG9ydC5jaGVja09uKXJldHVybiBiLmdldEF0dHJpYnV0ZSgidmFsdWUi KT09PW51bGw/Im9uIjpiLnZhbHVlO3JldHVybihiLnZhbHVlfHwiIikucmVwbGFj ZShTYSwiIil9cmV0dXJuIEJ9dmFyIGs9Yy5pc0Z1bmN0aW9uKGEpO3JldHVybiB0 aGlzLmVhY2goZnVuY3Rpb24obyl7dmFyIHg9Yyh0aGlzKSxyPWE7aWYodGhpcy5u b2RlVHlwZT09PTEpe2lmKGspcj1hLmNhbGwodGhpcyxvLHgudmFsKCkpO2lmKHI9 PW51bGwpcj0iIjtlbHNlIGlmKHR5cGVvZiByPT09Im51bWJlciIpcis9IiI7ZWxz ZSBpZihjLmlzQXJyYXkocikpcj1jLm1hcChyLGZ1bmN0aW9uKEMpe3JldHVybiBD PT1udWxsPyIiOkMrIiJ9KTtpZihjLmlzQXJyYXkocikmJnRhLnRlc3QodGhpcy50 eXBlKSl0aGlzLmNoZWNrZWQ9Yy5pbkFycmF5KHgudmFsKCkscik+PTA7ZWxzZSBp ZihjLm5vZGVOYW1lKHRoaXMsInNlbGVjdCIpKXt2YXIgQT1jLm1ha2VBcnJheShy KTtjKCJvcHRpb24iLHRoaXMpLmVhY2goZnVuY3Rpb24oKXt0aGlzLnNlbGVjdGVk PWMuaW5BcnJheShjKHRoaXMpLnZhbCgpLEEpPj0wfSk7aWYoIUEubGVuZ3RoKXRo aXMuc2VsZWN0ZWRJbmRleD0tMX1lbHNlIHRoaXMudmFsdWU9cn19KX19KTtjLmV4 dGVuZCh7YXR0ckZuOnt2YWw6dHJ1ZSxjc3M6dHJ1ZSxodG1sOnRydWUsdGV4dDp0 cnVlLGRhdGE6dHJ1ZSx3aWR0aDp0cnVlLGhlaWdodDp0cnVlLG9mZnNldDp0cnVl fSxhdHRyOmZ1bmN0aW9uKGEsYixkLGUpe2lmKCFhfHxhLm5vZGVUeXBlPT09M3x8 YS5ub2RlVHlwZT09PTgpcmV0dXJuIEI7aWYoZSYmYiBpbiBjLmF0dHJGbilyZXR1 cm4gYyhhKVtiXShkKTtlPWEubm9kZVR5cGUhPT0xfHwhYy5pc1hNTERvYyhhKTt2 YXIgZj1kIT09QjtiPWUmJmMucHJvcHNbYl18fGI7dmFyIGg9VGEudGVzdChiKTtp ZigoYiBpbiBhfHxhW2JdIT09QikmJmUmJiFoKXtpZihmKXtiPT09InR5cGUiJiZV YS50ZXN0KGEubm9kZU5hbWUpJiZhLnBhcmVudE5vZGUmJmMuZXJyb3IoInR5cGUg cHJvcGVydHkgY2FuJ3QgYmUgY2hhbmdlZCIpO2lmKGQ9PT1udWxsKWEubm9kZVR5 cGU9PT0xJiZhLnJlbW92ZUF0dHJpYnV0ZShiKTtlbHNlIGFbYl09ZH1pZihjLm5v ZGVOYW1lKGEsImZvcm0iKSYmYS5nZXRBdHRyaWJ1dGVOb2RlKGIpKXJldHVybiBh LmdldEF0dHJpYnV0ZU5vZGUoYikubm9kZVZhbHVlO2lmKGI9PT0idGFiSW5kZXgi KXJldHVybihiPWEuZ2V0QXR0cmlidXRlTm9kZSgidGFiSW5kZXgiKSkmJmIuc3Bl Y2lmaWVkP2IudmFsdWU6VmEudGVzdChhLm5vZGVOYW1lKXx8V2EudGVzdChhLm5v ZGVOYW1lKSYmYS5ocmVmPzA6QjtyZXR1cm4gYVtiXX1pZighYy5zdXBwb3J0LnN0 eWxlJiZlJiZiPT09InN0eWxlIil7aWYoZilhLnN0eWxlLmNzc1RleHQ9IiIrZDty ZXR1cm4gYS5zdHlsZS5jc3NUZXh0fWYmJmEuc2V0QXR0cmlidXRlKGIsIiIrZCk7 aWYoIWEuYXR0cmlidXRlc1tiXSYmYS5oYXNBdHRyaWJ1dGUmJiFhLmhhc0F0dHJp YnV0ZShiKSlyZXR1cm4gQjthPSFjLnN1cHBvcnQuaHJlZk5vcm1hbGl6ZWQmJmUm Jmg/YS5nZXRBdHRyaWJ1dGUoYiwyKTphLmdldEF0dHJpYnV0ZShiKTtyZXR1cm4g YT09PW51bGw/QjphfX0pO3ZhciBYPS9cLiguKikkLyxpYT0vXig/OnRleHRhcmVh fGlucHV0fHNlbGVjdCkkL2ksTGE9L1wuL2csTWE9LyAvZyxYYT0vW15cd1xzLnxg XS9nLFlhPWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoWGEsIlxcJCYiKX0s dWE9e2ZvY3VzaW46MCxmb2N1c291dDowfTtjLmV2ZW50PXthZGQ6ZnVuY3Rpb24o YSxiLGQsZSl7aWYoIShhLm5vZGVUeXBlPT09M3x8YS5ub2RlVHlwZT09PTgpKXtp ZihjLmlzV2luZG93KGEpJiZhIT09RSYmIWEuZnJhbWVFbGVtZW50KWE9RTtpZihk PT09ZmFsc2UpZD1VO2Vsc2UgaWYoIWQpcmV0dXJuO3ZhciBmLGg7aWYoZC5oYW5k bGVyKXtmPWQ7ZD1mLmhhbmRsZXJ9aWYoIWQuZ3VpZClkLmd1aWQ9Yy5ndWlkKys7 aWYoaD1jLmRhdGEoYSkpe3ZhciBsPWEubm9kZVR5cGU/ImV2ZW50cyI6Il9fZXZl bnRzX18iLGs9aFtsXSxvPWguaGFuZGxlO2lmKHR5cGVvZiBrPT09ImZ1bmN0aW9u Iil7bz1rLmhhbmRsZTtrPWsuZXZlbnRzfWVsc2UgaWYoIWspe2Eubm9kZVR5cGV8 fChoW2xdPWg9ZnVuY3Rpb24oKXt9KTtoLmV2ZW50cz1rPXt9fWlmKCFvKWguaGFu ZGxlPW89ZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIGMhPT0idW5kZWZpbmVkIiYm IWMuZXZlbnQudHJpZ2dlcmVkP2MuZXZlbnQuaGFuZGxlLmFwcGx5KG8uZWxlbSxh cmd1bWVudHMpOkJ9O28uZWxlbT1hO2I9Yi5zcGxpdCgiICIpO2Zvcih2YXIgeD0w LHI7bD1iW3grK107KXtoPWY/Yy5leHRlbmQoe30sZik6e2hhbmRsZXI6ZCxkYXRh OmV9O2lmKGwuaW5kZXhPZigiLiIpPi0xKXtyPWwuc3BsaXQoIi4iKTtsPXIuc2hp ZnQoKTtoLm5hbWVzcGFjZT1yLnNsaWNlKDApLnNvcnQoKS5qb2luKCIuIil9ZWxz ZXtyPVtdO2gubmFtZXNwYWNlPSIifWgudHlwZT1sO2lmKCFoLmd1aWQpaC5ndWlk PWQuZ3VpZDt2YXIgQT1rW2xdLEM9Yy5ldmVudC5zcGVjaWFsW2xdfHx7fTtpZigh QSl7QT1rW2xdPVtdO2lmKCFDLnNldHVwfHxDLnNldHVwLmNhbGwoYSxlLHIsbyk9 PT1mYWxzZSlpZihhLmFkZEV2ZW50TGlzdGVuZXIpYS5hZGRFdmVudExpc3RlbmVy KGwsbyxmYWxzZSk7ZWxzZSBhLmF0dGFjaEV2ZW50JiZhLmF0dGFjaEV2ZW50KCJv biIrbCxvKX1pZihDLmFkZCl7Qy5hZGQuY2FsbChhLGgpO2lmKCFoLmhhbmRsZXIu Z3VpZCloLmhhbmRsZXIuZ3VpZD1kLmd1aWR9QS5wdXNoKGgpO2MuZXZlbnQuZ2xv YmFsW2xdPXRydWV9YT1udWxsfX19LGdsb2JhbDp7fSxyZW1vdmU6ZnVuY3Rpb24o YSxiLGQsZSl7aWYoIShhLm5vZGVUeXBlPT09M3x8YS5ub2RlVHlwZT09PTgpKXtp ZihkPT09ZmFsc2UpZD1VO3ZhciBmLGgsbD0wLGssbyx4LHIsQSxDLEo9YS5ub2Rl VHlwZT8iZXZlbnRzIjoiX19ldmVudHNfXyIsdz1jLmRhdGEoYSksST13JiZ3W0pd O2lmKHcmJkkpe2lmKHR5cGVvZiBJPT09ImZ1bmN0aW9uIil7dz1JO0k9SS5ldmVu dHN9aWYoYiYmYi50eXBlKXtkPWIuaGFuZGxlcjtiPWIudHlwZX1pZighYnx8dHlw ZW9mIGI9PT0ic3RyaW5nIiYmYi5jaGFyQXQoMCk9PT0iLiIpe2I9Ynx8IiI7Zm9y KGYgaW4gSSljLmV2ZW50LnJlbW92ZShhLGYrYil9ZWxzZXtmb3IoYj1iLnNwbGl0 KCIgIik7Zj1iW2wrK107KXtyPWY7az1mLmluZGV4T2YoIi4iKTwwO289W107aWYo IWspe289Zi5zcGxpdCgiLiIpO2Y9by5zaGlmdCgpO3g9UmVnRXhwKCIoXnxcXC4p IitjLm1hcChvLnNsaWNlKDApLnNvcnQoKSxZYSkuam9pbigiXFwuKD86LipcXC4p PyIpKyIoXFwufCQpIil9aWYoQT1JW2ZdKWlmKGQpe3I9Yy5ldmVudC5zcGVjaWFs W2ZdfHx7fTtmb3IoaD1lfHwwO2g8QS5sZW5ndGg7aCsrKXtDPUFbaF07aWYoZC5n dWlkPT09Qy5ndWlkKXtpZihrfHx4LnRlc3QoQy5uYW1lc3BhY2UpKXtlPT1udWxs JiZBLnNwbGljZShoLS0sMSk7ci5yZW1vdmUmJnIucmVtb3ZlLmNhbGwoYSxDKX1p ZihlIT1udWxsKWJyZWFrfX1pZihBLmxlbmd0aD09PTB8fGUhPW51bGwmJkEubGVu Z3RoPT09MSl7aWYoIXIudGVhcmRvd258fHIudGVhcmRvd24uY2FsbChhLG8pPT09 ZmFsc2UpYy5yZW1vdmVFdmVudChhLGYsdy5oYW5kbGUpO2RlbGV0ZSBJW2ZdfX1l bHNlIGZvcihoPTA7aDxBLmxlbmd0aDtoKyspe0M9QVtoXTtpZihrfHx4LnRlc3Qo Qy5uYW1lc3BhY2UpKXtjLmV2ZW50LnJlbW92ZShhLHIsQy5oYW5kbGVyLGgpO0Eu c3BsaWNlKGgtLSwxKX19fWlmKGMuaXNFbXB0eU9iamVjdChJKSl7aWYoYj13Lmhh bmRsZSliLmVsZW09bnVsbDtkZWxldGUgdy5ldmVudHM7ZGVsZXRlIHcuaGFuZGxl O2lmKHR5cGVvZiB3PT09ImZ1bmN0aW9uIiljLnJlbW92ZURhdGEoYSxKKTtlbHNl IGMuaXNFbXB0eU9iamVjdCh3KSYmYy5yZW1vdmVEYXRhKGEpfX19fX0sdHJpZ2dl cjpmdW5jdGlvbihhLGIsZCxlKXt2YXIgZj1hLnR5cGV8fGE7aWYoIWUpe2E9dHlw ZW9mIGE9PT0ib2JqZWN0Ij9hW2MuZXhwYW5kb10/YTpjLmV4dGVuZChjLkV2ZW50 KGYpLGEpOmMuRXZlbnQoZik7aWYoZi5pbmRleE9mKCIhIik+PTApe2EudHlwZT1m PWYuc2xpY2UoMCwtMSk7YS5leGNsdXNpdmU9dHJ1ZX1pZighZCl7YS5zdG9wUHJv cGFnYXRpb24oKTtjLmV2ZW50Lmdsb2JhbFtmXSYmYy5lYWNoKGMuY2FjaGUsZnVu Y3Rpb24oKXt0aGlzLmV2ZW50cyYmdGhpcy5ldmVudHNbZl0mJmMuZXZlbnQudHJp Z2dlcihhLGIsdGhpcy5oYW5kbGUuZWxlbSl9KX1pZighZHx8ZC5ub2RlVHlwZT09 PTN8fGQubm9kZVR5cGU9PT04KXJldHVybiBCO2EucmVzdWx0PUI7YS50YXJnZXQ9 ZDtiPWMubWFrZUFycmF5KGIpO2IudW5zaGlmdChhKX1hLmN1cnJlbnRUYXJnZXQ9 ZDsoZT1kLm5vZGVUeXBlP2MuZGF0YShkLCJoYW5kbGUiKTooYy5kYXRhKGQsIl9f ZXZlbnRzX18iKXx8e30pLmhhbmRsZSkmJmUuYXBwbHkoZCxiKTtlPWQucGFyZW50 Tm9kZXx8ZC5vd25lckRvY3VtZW50O3RyeXtpZighKGQmJmQubm9kZU5hbWUmJmMu bm9EYXRhW2Qubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pKWlmKGRbIm9uIitmXSYm ZFsib24iK2ZdLmFwcGx5KGQsYik9PT1mYWxzZSl7YS5yZXN1bHQ9ZmFsc2U7YS5w cmV2ZW50RGVmYXVsdCgpfX1jYXRjaChoKXt9aWYoIWEuaXNQcm9wYWdhdGlvblN0 b3BwZWQoKSYmZSljLmV2ZW50LnRyaWdnZXIoYSxiLGUsdHJ1ZSk7ZWxzZSBpZigh YS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dmFyIGw7ZT1hLnRhcmdldDt2YXIgaz1m LnJlcGxhY2UoWCwiIiksbz1jLm5vZGVOYW1lKGUsImEiKSYmaz09PSJjbGljayIs eD1jLmV2ZW50LnNwZWNpYWxba118fHt9O2lmKCgheC5fZGVmYXVsdHx8eC5fZGVm YXVsdC5jYWxsKGQsYSk9PT1mYWxzZSkmJiFvJiYhKGUmJmUubm9kZU5hbWUmJmMu bm9EYXRhW2Uubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pKXt0cnl7aWYoZVtrXSl7 aWYobD1lWyJvbiIra10pZVsib24iK2tdPW51bGw7Yy5ldmVudC50cmlnZ2VyZWQ9 dHJ1ZTtlW2tdKCl9fWNhdGNoKHIpe31pZihsKWVbIm9uIitrXT1sO2MuZXZlbnQu dHJpZ2dlcmVkPWZhbHNlfX19LGhhbmRsZTpmdW5jdGlvbihhKXt2YXIgYixkLGUs ZjtkPVtdO3ZhciBoPWMubWFrZUFycmF5KGFyZ3VtZW50cyk7YT1oWzBdPWMuZXZl bnQuZml4KGF8fEUuZXZlbnQpO2EuY3VycmVudFRhcmdldD10aGlzO2I9YS50eXBl LmluZGV4T2YoIi4iKTwwJiYhYS5leGNsdXNpdmU7aWYoIWIpe2U9YS50eXBlLnNw bGl0KCIuIik7YS50eXBlPWUuc2hpZnQoKTtkPWUuc2xpY2UoMCkuc29ydCgpO2U9 UmVnRXhwKCIoXnxcXC4pIitkLmpvaW4oIlxcLig/Oi4qXFwuKT8iKSsiKFxcLnwk KSIpfWEubmFtZXNwYWNlPWEubmFtZXNwYWNlfHxkLmpvaW4oIi4iKTtmPWMuZGF0 YSh0aGlzLHRoaXMubm9kZVR5cGU/ImV2ZW50cyI6Il9fZXZlbnRzX18iKTtpZih0 eXBlb2YgZj09PSJmdW5jdGlvbiIpZj1mLmV2ZW50cztkPShmfHx7fSlbYS50eXBl XTtpZihmJiZkKXtkPWQuc2xpY2UoMCk7Zj0wO2Zvcih2YXIgbD1kLmxlbmd0aDtm PGw7ZisrKXt2YXIgaz1kW2ZdO2lmKGJ8fGUudGVzdChrLm5hbWVzcGFjZSkpe2Eu aGFuZGxlcj1rLmhhbmRsZXI7YS5kYXRhPWsuZGF0YTthLmhhbmRsZU9iaj1rO2s9 ay5oYW5kbGVyLmFwcGx5KHRoaXMsaCk7aWYoayE9PUIpe2EucmVzdWx0PWs7aWYo az09PWZhbHNlKXthLnByZXZlbnREZWZhdWx0KCk7YS5zdG9wUHJvcGFnYXRpb24o KX19aWYoYS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrfX19 cmV0dXJuIGEucmVzdWx0fSxwcm9wczoiYWx0S2V5IGF0dHJDaGFuZ2UgYXR0ck5h bWUgYnViYmxlcyBidXR0b24gY2FuY2VsYWJsZSBjaGFyQ29kZSBjbGllbnRYIGNs aWVudFkgY3RybEtleSBjdXJyZW50VGFyZ2V0IGRhdGEgZGV0YWlsIGV2ZW50UGhh c2UgZnJvbUVsZW1lbnQgaGFuZGxlciBrZXlDb2RlIGxheWVyWCBsYXllclkgbWV0 YUtleSBuZXdWYWx1ZSBvZmZzZXRYIG9mZnNldFkgcGFnZVggcGFnZVkgcHJldlZh bHVlIHJlbGF0ZWROb2RlIHJlbGF0ZWRUYXJnZXQgc2NyZWVuWCBzY3JlZW5ZIHNo aWZ0S2V5IHNyY0VsZW1lbnQgdGFyZ2V0IHRvRWxlbWVudCB2aWV3IHdoZWVsRGVs dGEgd2hpY2giLnNwbGl0KCIgIiksZml4OmZ1bmN0aW9uKGEpe2lmKGFbYy5leHBh bmRvXSlyZXR1cm4gYTt2YXIgYj1hO2E9Yy5FdmVudChiKTtmb3IodmFyIGQ9dGhp cy5wcm9wcy5sZW5ndGgsZTtkOyl7ZT10aGlzLnByb3BzWy0tZF07YVtlXT1iW2Vd fWlmKCFhLnRhcmdldClhLnRhcmdldD1hLnNyY0VsZW1lbnR8fHQ7aWYoYS50YXJn ZXQubm9kZVR5cGU9PT0zKWEudGFyZ2V0PWEudGFyZ2V0LnBhcmVudE5vZGU7aWYo IWEucmVsYXRlZFRhcmdldCYmYS5mcm9tRWxlbWVudClhLnJlbGF0ZWRUYXJnZXQ9 YS5mcm9tRWxlbWVudD09PWEudGFyZ2V0P2EudG9FbGVtZW50OmEuZnJvbUVsZW1l bnQ7aWYoYS5wYWdlWD09bnVsbCYmYS5jbGllbnRYIT1udWxsKXtiPXQuZG9jdW1l bnRFbGVtZW50O2Q9dC5ib2R5O2EucGFnZVg9YS5jbGllbnRYKyhiJiZiLnNjcm9s bExlZnR8fGQmJmQuc2Nyb2xsTGVmdHx8MCktKGImJmIuY2xpZW50TGVmdHx8ZCYm ZC5jbGllbnRMZWZ0fHwwKTthLnBhZ2VZPWEuY2xpZW50WSsoYiYmYi5zY3JvbGxU b3B8fGQmJmQuc2Nyb2xsVG9wfHwwKS0oYiYmYi5jbGllbnRUb3B8fGQmJmQuY2xp ZW50VG9wfHwwKX1pZihhLndoaWNoPT1udWxsJiYoYS5jaGFyQ29kZSE9bnVsbHx8 YS5rZXlDb2RlIT1udWxsKSlhLndoaWNoPWEuY2hhckNvZGUhPW51bGw/YS5jaGFy Q29kZTphLmtleUNvZGU7aWYoIWEubWV0YUtleSYmYS5jdHJsS2V5KWEubWV0YUtl eT1hLmN0cmxLZXk7aWYoIWEud2hpY2gmJmEuYnV0dG9uIT09QilhLndoaWNoPWEu YnV0dG9uJjE/MTphLmJ1dHRvbiYyPzM6YS5idXR0b24mND8yOjA7cmV0dXJuIGF9 LGd1aWQ6MUU4LHByb3h5OmMucHJveHksc3BlY2lhbDp7cmVhZHk6e3NldHVwOmMu YmluZFJlYWR5LHRlYXJkb3duOmMubm9vcH0sbGl2ZTp7YWRkOmZ1bmN0aW9uKGEp e2MuZXZlbnQuYWRkKHRoaXMsWShhLm9yaWdUeXBlLGEuc2VsZWN0b3IpLGMuZXh0 ZW5kKHt9LGEse2hhbmRsZXI6S2EsZ3VpZDphLmhhbmRsZXIuZ3VpZH0pKX0scmVt b3ZlOmZ1bmN0aW9uKGEpe2MuZXZlbnQucmVtb3ZlKHRoaXMsWShhLm9yaWdUeXBl LGEuc2VsZWN0b3IpLGEpfX0sYmVmb3JldW5sb2FkOntzZXR1cDpmdW5jdGlvbihh LGIsZCl7aWYoYy5pc1dpbmRvdyh0aGlzKSl0aGlzLm9uYmVmb3JldW5sb2FkPWR9 LHRlYXJkb3duOmZ1bmN0aW9uKGEsYil7aWYodGhpcy5vbmJlZm9yZXVubG9hZD09 PWIpdGhpcy5vbmJlZm9yZXVubG9hZD1udWxsfX19fTtjLnJlbW92ZUV2ZW50PXQu cmVtb3ZlRXZlbnRMaXN0ZW5lcj9mdW5jdGlvbihhLGIsZCl7YS5yZW1vdmVFdmVu dExpc3RlbmVyJiZhLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixkLGZhbHNlKX06ZnVu Y3Rpb24oYSxiLGQpe2EuZGV0YWNoRXZlbnQmJmEuZGV0YWNoRXZlbnQoIm9uIiti LGQpfTtjLkV2ZW50PWZ1bmN0aW9uKGEpe2lmKCF0aGlzLnByZXZlbnREZWZhdWx0 KXJldHVybiBuZXcgYy5FdmVudChhKTtpZihhJiZhLnR5cGUpe3RoaXMub3JpZ2lu YWxFdmVudD1hO3RoaXMudHlwZT1hLnR5cGV9ZWxzZSB0aGlzLnR5cGU9YTt0aGlz LnRpbWVTdGFtcD1jLm5vdygpO3RoaXNbYy5leHBhbmRvXT10cnVlfTtjLkV2ZW50 LnByb3RvdHlwZT17cHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt0aGlzLmlzRGVm YXVsdFByZXZlbnRlZD1jYTt2YXIgYT10aGlzLm9yaWdpbmFsRXZlbnQ7aWYoYSlp ZihhLnByZXZlbnREZWZhdWx0KWEucHJldmVudERlZmF1bHQoKTtlbHNlIGEucmV0 dXJuVmFsdWU9ZmFsc2V9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3RoaXMu aXNQcm9wYWdhdGlvblN0b3BwZWQ9Y2E7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50 O2lmKGEpe2Euc3RvcFByb3BhZ2F0aW9uJiZhLnN0b3BQcm9wYWdhdGlvbigpO2Eu Y2FuY2VsQnViYmxlPXRydWV9fSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVu Y3Rpb24oKXt0aGlzLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPWNhO3Ro aXMuc3RvcFByb3BhZ2F0aW9uKCl9LGlzRGVmYXVsdFByZXZlbnRlZDpVLGlzUHJv cGFnYXRpb25TdG9wcGVkOlUsaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6 VX07dmFyIHZhPWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVsYXRlZFRhcmdldDt0cnl7 Zm9yKDtiJiZiIT09dGhpczspYj1iLnBhcmVudE5vZGU7aWYoYiE9PXRoaXMpe2Eu dHlwZT1hLmRhdGE7Yy5ldmVudC5oYW5kbGUuYXBwbHkodGhpcyxhcmd1bWVudHMp fX1jYXRjaChkKXt9fSx3YT1mdW5jdGlvbihhKXthLnR5cGU9YS5kYXRhO2MuZXZl bnQuaGFuZGxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07Yy5lYWNoKHttb3VzZWVu dGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0In0sZnVuY3Rpb24o YSxiKXtjLmV2ZW50LnNwZWNpYWxbYV09e3NldHVwOmZ1bmN0aW9uKGQpe2MuZXZl bnQuYWRkKHRoaXMsYixkJiZkLnNlbGVjdG9yP3dhOnZhLGEpfSx0ZWFyZG93bjpm dW5jdGlvbihkKXtjLmV2ZW50LnJlbW92ZSh0aGlzLGIsZCYmZC5zZWxlY3Rvcj93 YTp2YSl9fX0pO2lmKCFjLnN1cHBvcnQuc3VibWl0QnViYmxlcyljLmV2ZW50LnNw ZWNpYWwuc3VibWl0PXtzZXR1cDpmdW5jdGlvbigpe2lmKHRoaXMubm9kZU5hbWUu dG9Mb3dlckNhc2UoKSE9PSJmb3JtIil7Yy5ldmVudC5hZGQodGhpcywiY2xpY2su c3BlY2lhbFN1Ym1pdCIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsZD1iLnR5 cGU7aWYoKGQ9PT0ic3VibWl0Inx8ZD09PSJpbWFnZSIpJiZjKGIpLmNsb3Nlc3Qo ImZvcm0iKS5sZW5ndGgpe2EubGl2ZUZpcmVkPUI7cmV0dXJuIGxhKCJzdWJtaXQi LHRoaXMsYXJndW1lbnRzKX19KTtjLmV2ZW50LmFkZCh0aGlzLCJrZXlwcmVzcy5z cGVjaWFsU3VibWl0IixmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldCxkPWIudHlw ZTtpZigoZD09PSJ0ZXh0Inx8ZD09PSJwYXNzd29yZCIpJiZjKGIpLmNsb3Nlc3Qo ImZvcm0iKS5sZW5ndGgmJmEua2V5Q29kZT09PTEzKXthLmxpdmVGaXJlZD1CO3Jl dHVybiBsYSgic3VibWl0Iix0aGlzLGFyZ3VtZW50cyl9fSl9ZWxzZSByZXR1cm4g ZmFsc2V9LHRlYXJkb3duOmZ1bmN0aW9uKCl7Yy5ldmVudC5yZW1vdmUodGhpcywi LnNwZWNpYWxTdWJtaXQiKX19O2lmKCFjLnN1cHBvcnQuY2hhbmdlQnViYmxlcyl7 dmFyIFYseGE9ZnVuY3Rpb24oYSl7dmFyIGI9YS50eXBlLGQ9YS52YWx1ZTtpZihi PT09InJhZGlvInx8Yj09PSJjaGVja2JveCIpZD1hLmNoZWNrZWQ7ZWxzZSBpZihi PT09InNlbGVjdC1tdWx0aXBsZSIpZD1hLnNlbGVjdGVkSW5kZXg+LTE/Yy5tYXAo YS5vcHRpb25zLGZ1bmN0aW9uKGUpe3JldHVybiBlLnNlbGVjdGVkfSkuam9pbigi LSIpOiIiO2Vsc2UgaWYoYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09InNlbGVj dCIpZD1hLnNlbGVjdGVkSW5kZXg7cmV0dXJuIGR9LFo9ZnVuY3Rpb24oYSxiKXt2 YXIgZD1hLnRhcmdldCxlLGY7aWYoISghaWEudGVzdChkLm5vZGVOYW1lKXx8ZC5y ZWFkT25seSkpe2U9Yy5kYXRhKGQsIl9jaGFuZ2VfZGF0YSIpO2Y9eGEoZCk7aWYo YS50eXBlIT09ImZvY3Vzb3V0Inx8ZC50eXBlIT09InJhZGlvIiljLmRhdGEoZCwi X2NoYW5nZV9kYXRhIixmKTtpZighKGU9PT1CfHxmPT09ZSkpaWYoZSE9bnVsbHx8 Zil7YS50eXBlPSJjaGFuZ2UiO2EubGl2ZUZpcmVkPUI7cmV0dXJuIGMuZXZlbnQu dHJpZ2dlcihhLGIsZCl9fX07Yy5ldmVudC5zcGVjaWFsLmNoYW5nZT17ZmlsdGVy czp7Zm9jdXNvdXQ6WixiZWZvcmVkZWFjdGl2YXRlOlosY2xpY2s6ZnVuY3Rpb24o YSl7dmFyIGI9YS50YXJnZXQsZD1iLnR5cGU7aWYoZD09PSJyYWRpbyJ8fGQ9PT0i Y2hlY2tib3gifHxiLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT0ic2VsZWN0Iily ZXR1cm4gWi5jYWxsKHRoaXMsYSl9LGtleWRvd246ZnVuY3Rpb24oYSl7dmFyIGI9 YS50YXJnZXQsZD1iLnR5cGU7aWYoYS5rZXlDb2RlPT09MTMmJmIubm9kZU5hbWUu dG9Mb3dlckNhc2UoKSE9PSJ0ZXh0YXJlYSJ8fGEua2V5Q29kZT09PTMyJiYoZD09 PSJjaGVja2JveCJ8fGQ9PT0icmFkaW8iKXx8ZD09PSJzZWxlY3QtbXVsdGlwbGUi KXJldHVybiBaLmNhbGwodGhpcyxhKX0sYmVmb3JlYWN0aXZhdGU6ZnVuY3Rpb24o YSl7YT1hLnRhcmdldDtjLmRhdGEoYSwiX2NoYW5nZV9kYXRhIix4YShhKSl9fSxz ZXR1cDpmdW5jdGlvbigpe2lmKHRoaXMudHlwZT09PSJmaWxlIilyZXR1cm4gZmFs c2U7Zm9yKHZhciBhIGluIFYpYy5ldmVudC5hZGQodGhpcyxhKyIuc3BlY2lhbENo YW5nZSIsVlthXSk7cmV0dXJuIGlhLnRlc3QodGhpcy5ub2RlTmFtZSl9LHRlYXJk b3duOmZ1bmN0aW9uKCl7Yy5ldmVudC5yZW1vdmUodGhpcywiLnNwZWNpYWxDaGFu Z2UiKTtyZXR1cm4gaWEudGVzdCh0aGlzLm5vZGVOYW1lKX19O1Y9Yy5ldmVudC5z cGVjaWFsLmNoYW5nZS5maWx0ZXJzO1YuZm9jdXM9Vi5iZWZvcmVhY3RpdmF0ZX10 LmFkZEV2ZW50TGlzdGVuZXImJmMuZWFjaCh7Zm9jdXM6ImZvY3VzaW4iLGJsdXI6 ImZvY3Vzb3V0In0sZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBkKGUpe2U9Yy5ldmVu dC5maXgoZSk7ZS50eXBlPWI7cmV0dXJuIGMuZXZlbnQudHJpZ2dlcihlLG51bGws ZS50YXJnZXQpfWMuZXZlbnQuc3BlY2lhbFtiXT17c2V0dXA6ZnVuY3Rpb24oKXt1 YVtiXSsrPT09MCYmdC5hZGRFdmVudExpc3RlbmVyKGEsZCx0cnVlKX0sdGVhcmRv d246ZnVuY3Rpb24oKXstLXVhW2JdPT09MCYmdC5yZW1vdmVFdmVudExpc3RlbmVy KGEsZCx0cnVlKX19fSk7Yy5lYWNoKFsiYmluZCIsIm9uZSJdLGZ1bmN0aW9uKGEs Yil7Yy5mbltiXT1mdW5jdGlvbihkLGUsZil7aWYodHlwZW9mIGQ9PT0ib2JqZWN0 Iil7Zm9yKHZhciBoIGluIGQpdGhpc1tiXShoLGUsZFtoXSxmKTtyZXR1cm4gdGhp c31pZihjLmlzRnVuY3Rpb24oZSl8fGU9PT1mYWxzZSl7Zj1lO2U9Qn12YXIgbD1i PT09Im9uZSI/Yy5wcm94eShmLGZ1bmN0aW9uKG8pe2ModGhpcykudW5iaW5kKG8s bCk7cmV0dXJuIGYuYXBwbHkodGhpcyxhcmd1bWVudHMpfSk6ZjtpZihkPT09InVu bG9hZCImJmIhPT0ib25lIil0aGlzLm9uZShkLGUsZik7ZWxzZXtoPTA7Zm9yKHZh ciBrPXRoaXMubGVuZ3RoO2g8aztoKyspYy5ldmVudC5hZGQodGhpc1toXSxkLGws ZSl9cmV0dXJuIHRoaXN9fSk7Yy5mbi5leHRlbmQoe3VuYmluZDpmdW5jdGlvbihh LGIpe2lmKHR5cGVvZiBhPT09Im9iamVjdCImJiFhLnByZXZlbnREZWZhdWx0KWZv cih2YXIgZCBpbiBhKXRoaXMudW5iaW5kKGQsYVtkXSk7ZWxzZXtkPTA7Zm9yKHZh ciBlPXRoaXMubGVuZ3RoO2Q8ZTtkKyspYy5ldmVudC5yZW1vdmUodGhpc1tkXSxh LGIpfXJldHVybiB0aGlzfSxkZWxlZ2F0ZTpmdW5jdGlvbihhLGIsZCxlKXtyZXR1 cm4gdGhpcy5saXZlKGIsZCxlLGEpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGEsYixk KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD09PTA/dGhpcy51bmJpbmQoImxpdmUi KTp0aGlzLmRpZShiLG51bGwsZCxhKX0sdHJpZ2dlcjpmdW5jdGlvbihhLGIpe3Jl dHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtjLmV2ZW50LnRyaWdnZXIoYSxiLHRo aXMpfSl9LHRyaWdnZXJIYW5kbGVyOmZ1bmN0aW9uKGEsYil7aWYodGhpc1swXSl7 dmFyIGQ9Yy5FdmVudChhKTtkLnByZXZlbnREZWZhdWx0KCk7ZC5zdG9wUHJvcGFn YXRpb24oKTtjLmV2ZW50LnRyaWdnZXIoZCxiLHRoaXNbMF0pO3JldHVybiBkLnJl c3VsdH19LHRvZ2dsZTpmdW5jdGlvbihhKXtmb3IodmFyIGI9YXJndW1lbnRzLGQ9 MTtkPGIubGVuZ3RoOyljLnByb3h5KGEsYltkKytdKTtyZXR1cm4gdGhpcy5jbGlj ayhjLnByb3h5KGEsZnVuY3Rpb24oZSl7dmFyIGY9KGMuZGF0YSh0aGlzLCJsYXN0 VG9nZ2xlIithLmd1aWQpfHwwKSVkO2MuZGF0YSh0aGlzLCJsYXN0VG9nZ2xlIith Lmd1aWQsZisxKTtlLnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIGJbZl0uYXBwbHko dGhpcyxhcmd1bWVudHMpfHxmYWxzZX0pKX0saG92ZXI6ZnVuY3Rpb24oYSxiKXty ZXR1cm4gdGhpcy5tb3VzZWVudGVyKGEpLm1vdXNlbGVhdmUoYnx8YSl9fSk7dmFy IHlhPXtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQiLG1vdXNlZW50ZXI6 Im1vdXNlb3ZlciIsbW91c2VsZWF2ZToibW91c2VvdXQifTtjLmVhY2goWyJsaXZl IiwiZGllIl0sZnVuY3Rpb24oYSxiKXtjLmZuW2JdPWZ1bmN0aW9uKGQsZSxmLGgp e3ZhciBsLGs9MCxvLHgscj1ofHx0aGlzLnNlbGVjdG9yO2g9aD90aGlzOmModGhp cy5jb250ZXh0KTtpZih0eXBlb2YgZD09PSJvYmplY3QiJiYhZC5wcmV2ZW50RGVm YXVsdCl7Zm9yKGwgaW4gZCloW2JdKGwsZSxkW2xdLHIpO3JldHVybiB0aGlzfWlm KGMuaXNGdW5jdGlvbihlKSl7Zj1lO2U9Qn1mb3IoZD0oZHx8IiIpLnNwbGl0KCIg Iik7KGw9ZFtrKytdKSE9bnVsbDspe289WC5leGVjKGwpO3g9IiI7aWYobyl7eD1v WzBdO2w9bC5yZXBsYWNlKFgsIiIpfWlmKGw9PT0iaG92ZXIiKWQucHVzaCgibW91 c2VlbnRlciIreCwibW91c2VsZWF2ZSIreCk7ZWxzZXtvPWw7aWYobD09PSJmb2N1 cyJ8fGw9PT0iYmx1ciIpe2QucHVzaCh5YVtsXSt4KTtsKz14fWVsc2UgbD0oeWFb bF18fGwpK3g7aWYoYj09PSJsaXZlIil7eD0wO2Zvcih2YXIgQT1oLmxlbmd0aDt4 PEE7eCsrKWMuZXZlbnQuYWRkKGhbeF0sImxpdmUuIitZKGwscikse2RhdGE6ZSxz ZWxlY3RvcjpyLGhhbmRsZXI6ZixvcmlnVHlwZTpsLG9yaWdIYW5kbGVyOmYscHJl VHlwZTpvfSl9ZWxzZSBoLnVuYmluZCgibGl2ZS4iK1kobCxyKSxmKX19cmV0dXJu IHRoaXN9fSk7Yy5lYWNoKCJibHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNvdXQgbG9h ZCByZXNpemUgc2Nyb2xsIHVubG9hZCBjbGljayBkYmxjbGljayBtb3VzZWRvd24g bW91c2V1cCBtb3VzZW1vdmUgbW91c2VvdmVyIG1vdXNlb3V0IG1vdXNlZW50ZXIg bW91c2VsZWF2ZSBjaGFuZ2Ugc2VsZWN0IHN1Ym1pdCBrZXlkb3duIGtleXByZXNz IGtleXVwIGVycm9yIi5zcGxpdCgiICIpLGZ1bmN0aW9uKGEsYil7Yy5mbltiXT1m dW5jdGlvbihkLGUpe2lmKGU9PW51bGwpe2U9ZDtkPW51bGx9cmV0dXJuIGFyZ3Vt ZW50cy5sZW5ndGg+MD90aGlzLmJpbmQoYixkLGUpOnRoaXMudHJpZ2dlcihiKX07 aWYoYy5hdHRyRm4pYy5hdHRyRm5bYl09dHJ1ZX0pO0UuYXR0YWNoRXZlbnQmJiFF LmFkZEV2ZW50TGlzdGVuZXImJmMoRSkuYmluZCgidW5sb2FkIixmdW5jdGlvbigp e2Zvcih2YXIgYSBpbiBjLmNhY2hlKWlmKGMuY2FjaGVbYV0uaGFuZGxlKXRyeXtj LmV2ZW50LnJlbW92ZShjLmNhY2hlW2FdLmhhbmRsZS5lbGVtKX1jYXRjaChiKXt9 fSk7KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShnLGksbixtLHAscSl7cD0wO2Zvcih2 YXIgdT1tLmxlbmd0aDtwPHU7cCsrKXt2YXIgeT1tW3BdO2lmKHkpe3ZhciBGPWZh bHNlO2Zvcih5PXlbZ107eTspe2lmKHkuc2l6Y2FjaGU9PT1uKXtGPW1beS5zaXpz ZXRdO2JyZWFrfWlmKHkubm9kZVR5cGU9PT0xJiYhcSl7eS5zaXpjYWNoZT1uO3ku c2l6c2V0PXB9aWYoeS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09aSl7Rj15O2Jy ZWFrfXk9eVtnXX1tW3BdPUZ9fX1mdW5jdGlvbiBiKGcsaSxuLG0scCxxKXtwPTA7 Zm9yKHZhciB1PW0ubGVuZ3RoO3A8dTtwKyspe3ZhciB5PW1bcF07aWYoeSl7dmFy IEY9ZmFsc2U7Zm9yKHk9eVtnXTt5Oyl7aWYoeS5zaXpjYWNoZT09PW4pe0Y9bVt5 LnNpenNldF07YnJlYWt9aWYoeS5ub2RlVHlwZT09PTEpe2lmKCFxKXt5LnNpemNh Y2hlPW47eS5zaXpzZXQ9cH1pZih0eXBlb2YgaSE9PSJzdHJpbmciKXtpZih5PT09 aSl7Rj10cnVlO2JyZWFrfX1lbHNlIGlmKGsuZmlsdGVyKGksW3ldKS5sZW5ndGg+ MCl7Rj15O2JyZWFrfX15PXlbZ119bVtwXT1GfX19dmFyIGQ9LygoPzpcKCg/Olwo W14oKV0rXCl8W14oKV0rKStcKXxcWyg/OlxbW15cW1xdXSpcXXxbJyJdW14nIl0q WyciXXxbXlxbXF0nIl0rKStcXXxcXC58W14gPit+LChcW1xcXSspK3xbPit+XSko XHMqLFxzKik/KCg/Oi58XHJ8XG4pKikvZyxlPTAsZj1PYmplY3QucHJvdG90eXBl LnRvU3RyaW5nLGg9ZmFsc2UsbD10cnVlO1swLDBdLnNvcnQoZnVuY3Rpb24oKXts PWZhbHNlO3JldHVybiAwfSk7dmFyIGs9ZnVuY3Rpb24oZyxpLG4sbSl7bj1ufHxb XTt2YXIgcD1pPWl8fHQ7aWYoaS5ub2RlVHlwZSE9PTEmJmkubm9kZVR5cGUhPT05 KXJldHVybltdO2lmKCFnfHx0eXBlb2YgZyE9PSJzdHJpbmciKXJldHVybiBuO3Zh ciBxLHUseSxGLE0sTj10cnVlLE89ay5pc1hNTChpKSxEPVtdLFI9Zztkb3tkLmV4 ZWMoIiIpO2lmKHE9ZC5leGVjKFIpKXtSPXFbM107RC5wdXNoKHFbMV0pO2lmKHFb Ml0pe0Y9cVszXTticmVha319fXdoaWxlKHEpO2lmKEQubGVuZ3RoPjEmJnguZXhl YyhnKSlpZihELmxlbmd0aD09PTImJm8ucmVsYXRpdmVbRFswXV0pdT1MKERbMF0r RFsxXSxpKTtlbHNlIGZvcih1PW8ucmVsYXRpdmVbRFswXV0/W2ldOmsoRC5zaGlm dCgpLGkpO0QubGVuZ3RoOyl7Zz1ELnNoaWZ0KCk7aWYoby5yZWxhdGl2ZVtnXSln Kz1ELnNoaWZ0KCk7dT1MKGcsdSl9ZWxzZXtpZighbSYmRC5sZW5ndGg+MSYmaS5u b2RlVHlwZT09PTkmJiFPJiZvLm1hdGNoLklELnRlc3QoRFswXSkmJiFvLm1hdGNo LklELnRlc3QoRFtELmxlbmd0aC0xXSkpe3E9ay5maW5kKEQuc2hpZnQoKSxpLE8p O2k9cS5leHByP2suZmlsdGVyKHEuZXhwcixxLnNldClbMF06cS5zZXRbMF19aWYo aSl7cT1tP3tleHByOkQucG9wKCksc2V0OkMobSl9OmsuZmluZChELnBvcCgpLEQu bGVuZ3RoPT09MSYmKERbMF09PT0ifiJ8fERbMF09PT0iKyIpJiZpLnBhcmVudE5v ZGU/aS5wYXJlbnROb2RlOmksTyk7dT1xLmV4cHI/ay5maWx0ZXIocS5leHByLHEu c2V0KTpxLnNldDtpZihELmxlbmd0aD4wKXk9Qyh1KTtlbHNlIE49ZmFsc2U7Zm9y KDtELmxlbmd0aDspe3E9TT1ELnBvcCgpO2lmKG8ucmVsYXRpdmVbTV0pcT1ELnBv cCgpO2Vsc2UgTT0iIjtpZihxPT1udWxsKXE9aTtvLnJlbGF0aXZlW01dKHkscSxP KX19ZWxzZSB5PVtdfXl8fCh5PXUpO3l8fGsuZXJyb3IoTXx8Zyk7aWYoZi5jYWxs KHkpPT09IltvYmplY3QgQXJyYXldIilpZihOKWlmKGkmJmkubm9kZVR5cGU9PT0x KWZvcihnPTA7eVtnXSE9bnVsbDtnKyspe2lmKHlbZ10mJih5W2ddPT09dHJ1ZXx8 eVtnXS5ub2RlVHlwZT09PTEmJmsuY29udGFpbnMoaSx5W2ddKSkpbi5wdXNoKHVb Z10pfWVsc2UgZm9yKGc9MDt5W2ddIT1udWxsO2crKyl5W2ddJiZ5W2ddLm5vZGVU eXBlPT09MSYmbi5wdXNoKHVbZ10pO2Vsc2Ugbi5wdXNoLmFwcGx5KG4seSk7ZWxz ZSBDKHksbik7aWYoRil7ayhGLHAsbixtKTtrLnVuaXF1ZVNvcnQobil9cmV0dXJu IG59O2sudW5pcXVlU29ydD1mdW5jdGlvbihnKXtpZih3KXtoPWw7Zy5zb3J0KHcp O2lmKGgpZm9yKHZhciBpPTE7aTxnLmxlbmd0aDtpKyspZ1tpXT09PWdbaS0xXSYm Zy5zcGxpY2UoaS0tLDEpfXJldHVybiBnfTtrLm1hdGNoZXM9ZnVuY3Rpb24oZyxp KXtyZXR1cm4gayhnLG51bGwsbnVsbCxpKX07ay5tYXRjaGVzU2VsZWN0b3I9ZnVu Y3Rpb24oZyxpKXtyZXR1cm4gayhpLG51bGwsbnVsbCxbZ10pLmxlbmd0aD4wfTtr LmZpbmQ9ZnVuY3Rpb24oZyxpLG4pe3ZhciBtO2lmKCFnKXJldHVybltdO2Zvcih2 YXIgcD0wLHE9by5vcmRlci5sZW5ndGg7cDxxO3ArKyl7dmFyIHUseT1vLm9yZGVy W3BdO2lmKHU9by5sZWZ0TWF0Y2hbeV0uZXhlYyhnKSl7dmFyIEY9dVsxXTt1LnNw bGljZSgxLDEpO2lmKEYuc3Vic3RyKEYubGVuZ3RoLTEpIT09IlxcIil7dVsxXT0o dVsxXXx8IiIpLnJlcGxhY2UoL1xcL2csIiIpO209by5maW5kW3ldKHUsaSxuKTtp ZihtIT1udWxsKXtnPWcucmVwbGFjZShvLm1hdGNoW3ldLCIiKTticmVha319fX1t fHwobT1pLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpO3JldHVybntzZXQ6bSxl eHByOmd9fTtrLmZpbHRlcj1mdW5jdGlvbihnLGksbixtKXtmb3IodmFyIHAscSx1 PWcseT1bXSxGPWksTT1pJiZpWzBdJiZrLmlzWE1MKGlbMF0pO2cmJmkubGVuZ3Ro Oyl7Zm9yKHZhciBOIGluIG8uZmlsdGVyKWlmKChwPW8ubGVmdE1hdGNoW05dLmV4 ZWMoZykpIT1udWxsJiZwWzJdKXt2YXIgTyxELFI9by5maWx0ZXJbTl07RD1wWzFd O3E9ZmFsc2U7cC5zcGxpY2UoMSwxKTtpZihELnN1YnN0cihELmxlbmd0aC0xKSE9 PSJcXCIpe2lmKEY9PT15KXk9W107aWYoby5wcmVGaWx0ZXJbTl0paWYocD1vLnBy ZUZpbHRlcltOXShwLEYsbix5LG0sTSkpe2lmKHA9PT10cnVlKWNvbnRpbnVlfWVs c2UgcT1PPXRydWU7aWYocClmb3IodmFyIGo9MDsoRD1GW2pdKSE9bnVsbDtqKysp aWYoRCl7Tz1SKEQscCxqLEYpO3ZhciBzPW1eISFPO2lmKG4mJk8hPW51bGwpaWYo cylxPXRydWU7ZWxzZSBGW2pdPWZhbHNlO2Vsc2UgaWYocyl7eS5wdXNoKEQpO3E9 dHJ1ZX19aWYoTyE9PUIpe258fChGPXkpO2c9Zy5yZXBsYWNlKG8ubWF0Y2hbTl0s IiIpO2lmKCFxKXJldHVybltdO2JyZWFrfX19aWYoZz09PXUpaWYocT09bnVsbClr LmVycm9yKGcpO2Vsc2UgYnJlYWs7dT1nfXJldHVybiBGfTtrLmVycm9yPWZ1bmN0 aW9uKGcpe3Rocm93IlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Np b246ICIrZzt9O3ZhciBvPWsuc2VsZWN0b3JzPXtvcmRlcjpbIklEIiwiTkFNRSIs IlRBRyJdLG1hdGNoOntJRDovIygoPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikr KS8sQ0xBU1M6L1wuKCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspLyxOQU1F Oi9cW25hbWU9WyciXSooKD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKylbJyJd KlxdLyxBVFRSOi9cW1xzKigoPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKVxz Kig/OihcUz89KVxzKihbJyJdKikoLio/KVwzfClccypcXS8sVEFHOi9eKCg/Oltc d1x1MDBjMC1cdUZGRkZcKlwtXXxcXC4pKykvLENISUxEOi86KG9ubHl8bnRofGxh c3R8Zmlyc3QpLWNoaWxkKD86XCgoZXZlbnxvZGR8W1xkbitcLV0qKVwpKT8vLFBP UzovOihudGh8ZXF8Z3R8bHR8Zmlyc3R8bGFzdHxldmVufG9kZCkoPzpcKChcZCop XCkpPyg/PVteXC1dfCQpLyxQU0VVRE86LzooKD86W1x3XHUwMGMwLVx1RkZGRlwt XXxcXC4pKykoPzpcKChbJyJdPykoKD86XChbXlwpXStcKXxbXlwoXCldKikrKVwy XCkpPy99LGxlZnRNYXRjaDp7fSxhdHRyTWFwOnsiY2xhc3MiOiJjbGFzc05hbWUi LCJmb3IiOiJodG1sRm9yIn0sYXR0ckhhbmRsZTp7aHJlZjpmdW5jdGlvbihnKXty ZXR1cm4gZy5nZXRBdHRyaWJ1dGUoImhyZWYiKX19LHJlbGF0aXZlOnsiKyI6ZnVu Y3Rpb24oZyxpKXt2YXIgbj10eXBlb2YgaT09PSJzdHJpbmciLG09biYmIS9cVy8u dGVzdChpKTtuPW4mJiFtO2lmKG0paT1pLnRvTG93ZXJDYXNlKCk7bT0wO2Zvcih2 YXIgcD1nLmxlbmd0aCxxO208cDttKyspaWYocT1nW21dKXtmb3IoOyhxPXEucHJl dmlvdXNTaWJsaW5nKSYmcS5ub2RlVHlwZSE9PTE7KTtnW21dPW58fHEmJnEubm9k ZU5hbWUudG9Mb3dlckNhc2UoKT09PWk/cXx8ZmFsc2U6cT09PWl9biYmay5maWx0 ZXIoaSxnLHRydWUpfSwiPiI6ZnVuY3Rpb24oZyxpKXt2YXIgbixtPXR5cGVvZiBp PT09InN0cmluZyIscD0wLHE9Zy5sZW5ndGg7aWYobSYmIS9cVy8udGVzdChpKSlm b3IoaT1pLnRvTG93ZXJDYXNlKCk7cDxxO3ArKyl7aWYobj1nW3BdKXtuPW4ucGFy ZW50Tm9kZTtnW3BdPW4ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWk/bjpmYWxz ZX19ZWxzZXtmb3IoO3A8cTtwKyspaWYobj1nW3BdKWdbcF09bT9uLnBhcmVudE5v ZGU6bi5wYXJlbnROb2RlPT09aTttJiZrLmZpbHRlcihpLGcsdHJ1ZSl9fSwiIjpm dW5jdGlvbihnLGksbil7dmFyIG0scD1lKysscT1iO2lmKHR5cGVvZiBpPT09InN0 cmluZyImJiEvXFcvLnRlc3QoaSkpe209aT1pLnRvTG93ZXJDYXNlKCk7cT1hfXEo InBhcmVudE5vZGUiLGkscCxnLG0sbil9LCJ+IjpmdW5jdGlvbihnLGksbil7dmFy IG0scD1lKysscT1iO2lmKHR5cGVvZiBpPT09InN0cmluZyImJiEvXFcvLnRlc3Qo aSkpe209aT1pLnRvTG93ZXJDYXNlKCk7cT1hfXEoInByZXZpb3VzU2libGluZyIs aSxwLGcsbSxuKX19LGZpbmQ6e0lEOmZ1bmN0aW9uKGcsaSxuKXtpZih0eXBlb2Yg aS5nZXRFbGVtZW50QnlJZCE9PSJ1bmRlZmluZWQiJiYhbilyZXR1cm4oZz1pLmdl dEVsZW1lbnRCeUlkKGdbMV0pKSYmZy5wYXJlbnROb2RlP1tnXTpbXX0sTkFNRTpm dW5jdGlvbihnLGkpe2lmKHR5cGVvZiBpLmdldEVsZW1lbnRzQnlOYW1lIT09InVu ZGVmaW5lZCIpe2Zvcih2YXIgbj1bXSxtPWkuZ2V0RWxlbWVudHNCeU5hbWUoZ1sx XSkscD0wLHE9bS5sZW5ndGg7cDxxO3ArKyltW3BdLmdldEF0dHJpYnV0ZSgibmFt ZSIpPT09Z1sxXSYmbi5wdXNoKG1bcF0pO3JldHVybiBuLmxlbmd0aD09PTA/bnVs bDpufX0sVEFHOmZ1bmN0aW9uKGcsaSl7cmV0dXJuIGkuZ2V0RWxlbWVudHNCeVRh Z05hbWUoZ1sxXSl9fSxwcmVGaWx0ZXI6e0NMQVNTOmZ1bmN0aW9uKGcsaSxuLG0s cCxxKXtnPSIgIitnWzFdLnJlcGxhY2UoL1xcL2csIiIpKyIgIjtpZihxKXJldHVy biBnO3E9MDtmb3IodmFyIHU7KHU9aVtxXSkhPW51bGw7cSsrKWlmKHUpaWYocF4o dS5jbGFzc05hbWUmJigiICIrdS5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKC9bXHRc bl0vZywiICIpLmluZGV4T2YoZyk+PTApKW58fG0ucHVzaCh1KTtlbHNlIGlmKG4p aVtxXT1mYWxzZTtyZXR1cm4gZmFsc2V9LElEOmZ1bmN0aW9uKGcpe3JldHVybiBn WzFdLnJlcGxhY2UoL1xcL2csIiIpfSxUQUc6ZnVuY3Rpb24oZyl7cmV0dXJuIGdb MV0udG9Mb3dlckNhc2UoKX0sQ0hJTEQ6ZnVuY3Rpb24oZyl7aWYoZ1sxXT09PSJu dGgiKXt2YXIgaT0vKC0/KShcZCopbigoPzpcK3wtKT9cZCopLy5leGVjKGdbMl09 PT0iZXZlbiImJiIybiJ8fGdbMl09PT0ib2RkIiYmIjJuKzEifHwhL1xELy50ZXN0 KGdbMl0pJiYiMG4rIitnWzJdfHxnWzJdKTtnWzJdPWlbMV0rKGlbMl18fDEpLTA7 Z1szXT1pWzNdLTB9Z1swXT1lKys7cmV0dXJuIGd9LEFUVFI6ZnVuY3Rpb24oZyxp LG4sbSxwLHEpe2k9Z1sxXS5yZXBsYWNlKC9cXC9nLCIiKTtpZighcSYmby5hdHRy TWFwW2ldKWdbMV09by5hdHRyTWFwW2ldO2lmKGdbMl09PT0ifj0iKWdbNF09IiAi K2dbNF0rIiAiO3JldHVybiBnfSxQU0VVRE86ZnVuY3Rpb24oZyxpLG4sbSxwKXtp ZihnWzFdPT09Im5vdCIpaWYoKGQuZXhlYyhnWzNdKXx8IiIpLmxlbmd0aD4xfHwv Xlx3Ly50ZXN0KGdbM10pKWdbM109ayhnWzNdLG51bGwsbnVsbCxpKTtlbHNle2c9 ay5maWx0ZXIoZ1szXSxpLG4sdHJ1ZV5wKTtufHxtLnB1c2guYXBwbHkobSxnKTty ZXR1cm4gZmFsc2V9ZWxzZSBpZihvLm1hdGNoLlBPUy50ZXN0KGdbMF0pfHxvLm1h dGNoLkNISUxELnRlc3QoZ1swXSkpcmV0dXJuIHRydWU7cmV0dXJuIGd9LFBPUzpm dW5jdGlvbihnKXtnLnVuc2hpZnQodHJ1ZSk7cmV0dXJuIGd9fSxmaWx0ZXJzOntl bmFibGVkOmZ1bmN0aW9uKGcpe3JldHVybiBnLmRpc2FibGVkPT09ZmFsc2UmJmcu dHlwZSE9PSJoaWRkZW4ifSxkaXNhYmxlZDpmdW5jdGlvbihnKXtyZXR1cm4gZy5k aXNhYmxlZD09PXRydWV9LGNoZWNrZWQ6ZnVuY3Rpb24oZyl7cmV0dXJuIGcuY2hl Y2tlZD09PXRydWV9LHNlbGVjdGVkOmZ1bmN0aW9uKGcpe3JldHVybiBnLnNlbGVj dGVkPT09dHJ1ZX0scGFyZW50OmZ1bmN0aW9uKGcpe3JldHVybiEhZy5maXJzdENo aWxkfSxlbXB0eTpmdW5jdGlvbihnKXtyZXR1cm4hZy5maXJzdENoaWxkfSxoYXM6 ZnVuY3Rpb24oZyxpLG4pe3JldHVybiEhayhuWzNdLGcpLmxlbmd0aH0saGVhZGVy OmZ1bmN0aW9uKGcpe3JldHVybi9oXGQvaS50ZXN0KGcubm9kZU5hbWUpfSx0ZXh0 OmZ1bmN0aW9uKGcpe3JldHVybiJ0ZXh0Ij09PWcudHlwZX0scmFkaW86ZnVuY3Rp b24oZyl7cmV0dXJuInJhZGlvIj09PWcudHlwZX0sY2hlY2tib3g6ZnVuY3Rpb24o Zyl7cmV0dXJuImNoZWNrYm94Ij09PWcudHlwZX0sZmlsZTpmdW5jdGlvbihnKXty ZXR1cm4iZmlsZSI9PT1nLnR5cGV9LHBhc3N3b3JkOmZ1bmN0aW9uKGcpe3JldHVy biJwYXNzd29yZCI9PT1nLnR5cGV9LHN1Ym1pdDpmdW5jdGlvbihnKXtyZXR1cm4i c3VibWl0Ij09PWcudHlwZX0saW1hZ2U6ZnVuY3Rpb24oZyl7cmV0dXJuImltYWdl Ij09PWcudHlwZX0scmVzZXQ6ZnVuY3Rpb24oZyl7cmV0dXJuInJlc2V0Ij09PWcu dHlwZX0sYnV0dG9uOmZ1bmN0aW9uKGcpe3JldHVybiJidXR0b24iPT09Zy50eXBl fHxnLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT0iYnV0dG9uIn0saW5wdXQ6ZnVu Y3Rpb24oZyl7cmV0dXJuL2lucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24vaS50 ZXN0KGcubm9kZU5hbWUpfX0sc2V0RmlsdGVyczp7Zmlyc3Q6ZnVuY3Rpb24oZyxp KXtyZXR1cm4gaT09PTB9LGxhc3Q6ZnVuY3Rpb24oZyxpLG4sbSl7cmV0dXJuIGk9 PT1tLmxlbmd0aC0xfSxldmVuOmZ1bmN0aW9uKGcsaSl7cmV0dXJuIGklMj09PTB9 LG9kZDpmdW5jdGlvbihnLGkpe3JldHVybiBpJTI9PT0xfSxsdDpmdW5jdGlvbihn LGksbil7cmV0dXJuIGk8blszXS0wfSxndDpmdW5jdGlvbihnLGksbil7cmV0dXJu IGk+blszXS0wfSxudGg6ZnVuY3Rpb24oZyxpLG4pe3JldHVybiBuWzNdLTA9PT1p fSxlcTpmdW5jdGlvbihnLGksbil7cmV0dXJuIG5bM10tMD09PWl9fSxmaWx0ZXI6 e1BTRVVETzpmdW5jdGlvbihnLGksbixtKXt2YXIgcD1pWzFdLHE9by5maWx0ZXJz W3BdO2lmKHEpcmV0dXJuIHEoZyxuLGksbSk7ZWxzZSBpZihwPT09ImNvbnRhaW5z IilyZXR1cm4oZy50ZXh0Q29udGVudHx8Zy5pbm5lclRleHR8fGsuZ2V0VGV4dChb Z10pfHwiIikuaW5kZXhPZihpWzNdKT49MDtlbHNlIGlmKHA9PT0ibm90Iil7aT1p WzNdO249MDtmb3IobT1pLmxlbmd0aDtuPG07bisrKWlmKGlbbl09PT1nKXJldHVy biBmYWxzZTtyZXR1cm4gdHJ1ZX1lbHNlIGsuZXJyb3IoIlN5bnRheCBlcnJvciwg dW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIrcCl9LENISUxEOmZ1bmN0aW9uKGcs aSl7dmFyIG49aVsxXSxtPWc7c3dpdGNoKG4pe2Nhc2Uib25seSI6Y2FzZSJmaXJz dCI6Zm9yKDttPW0ucHJldmlvdXNTaWJsaW5nOylpZihtLm5vZGVUeXBlPT09MSly ZXR1cm4gZmFsc2U7aWYobj09PSJmaXJzdCIpcmV0dXJuIHRydWU7bT1nO2Nhc2Ui bGFzdCI6Zm9yKDttPW0ubmV4dFNpYmxpbmc7KWlmKG0ubm9kZVR5cGU9PT0xKXJl dHVybiBmYWxzZTtyZXR1cm4gdHJ1ZTtjYXNlIm50aCI6bj1pWzJdO3ZhciBwPWlb M107aWYobj09PTEmJnA9PT0wKXJldHVybiB0cnVlO3ZhciBxPWlbMF0sdT1nLnBh cmVudE5vZGU7aWYodSYmKHUuc2l6Y2FjaGUhPT1xfHwhZy5ub2RlSW5kZXgpKXt2 YXIgeT0wO2ZvcihtPXUuZmlyc3RDaGlsZDttO209bS5uZXh0U2libGluZylpZiht Lm5vZGVUeXBlPT09MSltLm5vZGVJbmRleD0rK3k7dS5zaXpjYWNoZT1xfW09Zy5u b2RlSW5kZXgtcDtyZXR1cm4gbj09PTA/bT09PTA6bSVuPT09MCYmbS9uPj0wfX0s SUQ6ZnVuY3Rpb24oZyxpKXtyZXR1cm4gZy5ub2RlVHlwZT09PTEmJmcuZ2V0QXR0 cmlidXRlKCJpZCIpPT09aX0sVEFHOmZ1bmN0aW9uKGcsaSl7cmV0dXJuIGk9PT0i KiImJmcubm9kZVR5cGU9PT0xfHxnLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1p fSxDTEFTUzpmdW5jdGlvbihnLGkpe3JldHVybigiICIrKGcuY2xhc3NOYW1lfHxn LmdldEF0dHJpYnV0ZSgiY2xhc3MiKSkrIiAiKS5pbmRleE9mKGkpPi0xfSxBVFRS OmZ1bmN0aW9uKGcsaSl7dmFyIG49aVsxXTtuPW8uYXR0ckhhbmRsZVtuXT9vLmF0 dHJIYW5kbGVbbl0oZyk6Z1tuXSE9bnVsbD9nW25dOmcuZ2V0QXR0cmlidXRlKG4p O3ZhciBtPW4rIiIscD1pWzJdLHE9aVs0XTtyZXR1cm4gbj09bnVsbD9wPT09IiE9 IjpwPT09Ij0iP209PT1xOnA9PT0iKj0iP20uaW5kZXhPZihxKT49MDpwPT09In49 Ij8oIiAiK20rIiAiKS5pbmRleE9mKHEpPj0wOiFxP20mJm4hPT1mYWxzZTpwPT09 IiE9Ij9tIT09cTpwPT09Il49Ij9tLmluZGV4T2YocSk9PT0wOnA9PT0iJD0iP20u c3Vic3RyKG0ubGVuZ3RoLXEubGVuZ3RoKT09PXE6cD09PSJ8PSI/bT09PXF8fG0u c3Vic3RyKDAscS5sZW5ndGgrMSk9PT1xKyItIjpmYWxzZX0sUE9TOmZ1bmN0aW9u KGcsaSxuLG0pe3ZhciBwPW8uc2V0RmlsdGVyc1tpWzJdXTtpZihwKXJldHVybiBw KGcsbixpLG0pfX19LHg9by5tYXRjaC5QT1Mscj1mdW5jdGlvbihnLGkpe3JldHVy biJcXCIrKGktMCsxKX0sQTtmb3IoQSBpbiBvLm1hdGNoKXtvLm1hdGNoW0FdPVJl Z0V4cChvLm1hdGNoW0FdLnNvdXJjZSsvKD8hW15cW10qXF0pKD8hW15cKF0qXCkp Ly5zb3VyY2UpO28ubGVmdE1hdGNoW0FdPVJlZ0V4cCgvKF4oPzoufFxyfFxuKSo/ KS8uc291cmNlK28ubWF0Y2hbQV0uc291cmNlLnJlcGxhY2UoL1xcKFxkKykvZyxy KSl9dmFyIEM9ZnVuY3Rpb24oZyxpKXtnPUFycmF5LnByb3RvdHlwZS5zbGljZS5j YWxsKGcsMCk7aWYoaSl7aS5wdXNoLmFwcGx5KGksZyk7cmV0dXJuIGl9cmV0dXJu IGd9O3RyeXtBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0LmRvY3VtZW50RWxl bWVudC5jaGlsZE5vZGVzLDApfWNhdGNoKEope0M9ZnVuY3Rpb24oZyxpKXt2YXIg bj0wLG09aXx8W107aWYoZi5jYWxsKGcpPT09IltvYmplY3QgQXJyYXldIilBcnJh eS5wcm90b3R5cGUucHVzaC5hcHBseShtLGcpO2Vsc2UgaWYodHlwZW9mIGcubGVu Z3RoPT09Im51bWJlciIpZm9yKHZhciBwPWcubGVuZ3RoO248cDtuKyspbS5wdXNo KGdbbl0pO2Vsc2UgZm9yKDtnW25dO24rKyltLnB1c2goZ1tuXSk7cmV0dXJuIG19 fXZhciB3LEk7aWYodC5kb2N1bWVudEVsZW1lbnQuY29tcGFyZURvY3VtZW50UG9z aXRpb24pdz1mdW5jdGlvbihnLGkpe2lmKGc9PT1pKXtoPXRydWU7cmV0dXJuIDB9 aWYoIWcuY29tcGFyZURvY3VtZW50UG9zaXRpb258fCFpLmNvbXBhcmVEb2N1bWVu dFBvc2l0aW9uKXJldHVybiBnLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uPy0xOjE7 cmV0dXJuIGcuY29tcGFyZURvY3VtZW50UG9zaXRpb24oaSkmND8tMToxfTtlbHNl e3c9ZnVuY3Rpb24oZyxpKXt2YXIgbixtLHA9W10scT1bXTtuPWcucGFyZW50Tm9k ZTttPWkucGFyZW50Tm9kZTt2YXIgdT1uO2lmKGc9PT1pKXtoPXRydWU7cmV0dXJu IDB9ZWxzZSBpZihuPT09bSlyZXR1cm4gSShnLGkpO2Vsc2UgaWYobil7aWYoIW0p cmV0dXJuIDF9ZWxzZSByZXR1cm4tMTtmb3IoO3U7KXtwLnVuc2hpZnQodSk7dT11 LnBhcmVudE5vZGV9Zm9yKHU9bTt1Oyl7cS51bnNoaWZ0KHUpO3U9dS5wYXJlbnRO b2RlfW49cC5sZW5ndGg7bT1xLmxlbmd0aDtmb3IodT0wO3U8biYmdTxtO3UrKylp ZihwW3VdIT09cVt1XSlyZXR1cm4gSShwW3VdLHFbdV0pO3JldHVybiB1PT09bj9J KGcscVt1XSwtMSk6SShwW3VdLGksMSl9O0k9ZnVuY3Rpb24oZyxpLG4pe2lmKGc9 PT1pKXJldHVybiBuO2ZvcihnPWcubmV4dFNpYmxpbmc7Zzspe2lmKGc9PT1pKXJl dHVybi0xO2c9Zy5uZXh0U2libGluZ31yZXR1cm4gMX19ay5nZXRUZXh0PWZ1bmN0 aW9uKGcpe2Zvcih2YXIgaT0iIixuLG09MDtnW21dO20rKyl7bj1nW21dO2lmKG4u bm9kZVR5cGU9PT0zfHxuLm5vZGVUeXBlPT09NClpKz1uLm5vZGVWYWx1ZTtlbHNl IGlmKG4ubm9kZVR5cGUhPT04KWkrPWsuZ2V0VGV4dChuLmNoaWxkTm9kZXMpfXJl dHVybiBpfTsoZnVuY3Rpb24oKXt2YXIgZz10LmNyZWF0ZUVsZW1lbnQoImRpdiIp LGk9InNjcmlwdCIrKG5ldyBEYXRlKS5nZXRUaW1lKCksbj10LmRvY3VtZW50RWxl bWVudDtnLmlubmVySFRNTD0iPGEgbmFtZT0nIitpKyInLz4iO24uaW5zZXJ0QmVm b3JlKGcsbi5maXJzdENoaWxkKTtpZih0LmdldEVsZW1lbnRCeUlkKGkpKXtvLmZp bmQuSUQ9ZnVuY3Rpb24obSxwLHEpe2lmKHR5cGVvZiBwLmdldEVsZW1lbnRCeUlk IT09InVuZGVmaW5lZCImJiFxKXJldHVybihwPXAuZ2V0RWxlbWVudEJ5SWQobVsx XSkpP3AuaWQ9PT1tWzFdfHx0eXBlb2YgcC5nZXRBdHRyaWJ1dGVOb2RlIT09InVu ZGVmaW5lZCImJnAuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKS5ub2RlVmFsdWU9PT1t WzFdP1twXTpCOltdfTtvLmZpbHRlci5JRD1mdW5jdGlvbihtLHApe3ZhciBxPXR5 cGVvZiBtLmdldEF0dHJpYnV0ZU5vZGUhPT0idW5kZWZpbmVkIiYmbS5nZXRBdHRy aWJ1dGVOb2RlKCJpZCIpO3JldHVybiBtLm5vZGVUeXBlPT09MSYmcSYmcS5ub2Rl VmFsdWU9PT1wfX1uLnJlbW92ZUNoaWxkKGcpO249Zz1udWxsfSkoKTsoZnVuY3Rp b24oKXt2YXIgZz10LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2cuYXBwZW5kQ2hpbGQo dC5jcmVhdGVDb21tZW50KCIiKSk7aWYoZy5nZXRFbGVtZW50c0J5VGFnTmFtZSgi KiIpLmxlbmd0aD4wKW8uZmluZC5UQUc9ZnVuY3Rpb24oaSxuKXt2YXIgbT1uLmdl dEVsZW1lbnRzQnlUYWdOYW1lKGlbMV0pO2lmKGlbMV09PT0iKiIpe2Zvcih2YXIg cD1bXSxxPTA7bVtxXTtxKyspbVtxXS5ub2RlVHlwZT09PTEmJnAucHVzaChtW3Fd KTttPXB9cmV0dXJuIG19O2cuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+Ijtp ZihnLmZpcnN0Q2hpbGQmJnR5cGVvZiBnLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRl IT09InVuZGVmaW5lZCImJmcuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoImhyZWYi KSE9PSIjIilvLmF0dHJIYW5kbGUuaHJlZj1mdW5jdGlvbihpKXtyZXR1cm4gaS5n ZXRBdHRyaWJ1dGUoImhyZWYiLDIpfTtnPW51bGx9KSgpO3QucXVlcnlTZWxlY3Rv ckFsbCYmZnVuY3Rpb24oKXt2YXIgZz1rLGk9dC5jcmVhdGVFbGVtZW50KCJkaXYi KTtpLmlubmVySFRNTD0iPHAgY2xhc3M9J1RFU1QnPjwvcD4iO2lmKCEoaS5xdWVy eVNlbGVjdG9yQWxsJiZpLnF1ZXJ5U2VsZWN0b3JBbGwoIi5URVNUIikubGVuZ3Ro PT09MCkpe2s9ZnVuY3Rpb24obSxwLHEsdSl7cD1wfHx0O209bS5yZXBsYWNlKC9c PVxzKihbXiciXF1dKilccypcXS9nLCI9JyQxJ10iKTtpZighdSYmIWsuaXNYTUwo cCkpaWYocC5ub2RlVHlwZT09PTkpdHJ5e3JldHVybiBDKHAucXVlcnlTZWxlY3Rv ckFsbChtKSxxKX1jYXRjaCh5KXt9ZWxzZSBpZihwLm5vZGVUeXBlPT09MSYmcC5u b2RlTmFtZS50b0xvd2VyQ2FzZSgpIT09Im9iamVjdCIpe3ZhciBGPXAuZ2V0QXR0 cmlidXRlKCJpZCIpLE09Rnx8Il9fc2l6emxlX18iO0Z8fHAuc2V0QXR0cmlidXRl KCJpZCIsTSk7dHJ5e3JldHVybiBDKHAucXVlcnlTZWxlY3RvckFsbCgiIyIrTSsi ICIrbSkscSl9Y2F0Y2goTil7fWZpbmFsbHl7Rnx8cC5yZW1vdmVBdHRyaWJ1dGUo ImlkIil9fXJldHVybiBnKG0scCxxLHUpfTtmb3IodmFyIG4gaW4gZylrW25dPWdb bl07aT1udWxsfX0oKTsoZnVuY3Rpb24oKXt2YXIgZz10LmRvY3VtZW50RWxlbWVu dCxpPWcubWF0Y2hlc1NlbGVjdG9yfHxnLm1vek1hdGNoZXNTZWxlY3Rvcnx8Zy53 ZWJraXRNYXRjaGVzU2VsZWN0b3J8fGcubXNNYXRjaGVzU2VsZWN0b3Isbj1mYWxz ZTt0cnl7aS5jYWxsKHQuZG9jdW1lbnRFbGVtZW50LCJbdGVzdCE9JyddOnNpenps ZSIpfWNhdGNoKG0pe249dHJ1ZX1pZihpKWsubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0 aW9uKHAscSl7cT1xLnJlcGxhY2UoL1w9XHMqKFteJyJcXV0qKVxzKlxdL2csIj0n JDEnXSIpO2lmKCFrLmlzWE1MKHApKXRyeXtpZihufHwhby5tYXRjaC5QU0VVRE8u dGVzdChxKSYmIS8hPS8udGVzdChxKSlyZXR1cm4gaS5jYWxsKHAscSl9Y2F0Y2go dSl7fXJldHVybiBrKHEsbnVsbCxudWxsLFtwXSkubGVuZ3RoPjB9fSkoKTsoZnVu Y3Rpb24oKXt2YXIgZz10LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2cuaW5uZXJIVE1M PSI8ZGl2IGNsYXNzPSd0ZXN0IGUnPjwvZGl2PjxkaXYgY2xhc3M9J3Rlc3QnPjwv ZGl2PiI7aWYoISghZy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lfHxnLmdldEVsZW1l bnRzQnlDbGFzc05hbWUoImUiKS5sZW5ndGg9PT0wKSl7Zy5sYXN0Q2hpbGQuY2xh c3NOYW1lPSJlIjtpZihnLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImUiKS5sZW5n dGghPT0xKXtvLm9yZGVyLnNwbGljZSgxLDAsIkNMQVNTIik7by5maW5kLkNMQVNT PWZ1bmN0aW9uKGksbixtKXtpZih0eXBlb2Ygbi5nZXRFbGVtZW50c0J5Q2xhc3NO YW1lIT09InVuZGVmaW5lZCImJiFtKXJldHVybiBuLmdldEVsZW1lbnRzQnlDbGFz c05hbWUoaVsxXSl9O2c9bnVsbH19fSkoKTtrLmNvbnRhaW5zPXQuZG9jdW1lbnRF bGVtZW50LmNvbnRhaW5zP2Z1bmN0aW9uKGcsaSl7cmV0dXJuIGchPT1pJiYoZy5j b250YWlucz9nLmNvbnRhaW5zKGkpOnRydWUpfTp0LmRvY3VtZW50RWxlbWVudC5j b21wYXJlRG9jdW1lbnRQb3NpdGlvbj9mdW5jdGlvbihnLGkpe3JldHVybiEhKGcu Y29tcGFyZURvY3VtZW50UG9zaXRpb24oaSkmMTYpfTpmdW5jdGlvbigpe3JldHVy biBmYWxzZX07ay5pc1hNTD1mdW5jdGlvbihnKXtyZXR1cm4oZz0oZz9nLm93bmVy RG9jdW1lbnR8fGc6MCkuZG9jdW1lbnRFbGVtZW50KT9nLm5vZGVOYW1lIT09IkhU TUwiOmZhbHNlfTt2YXIgTD1mdW5jdGlvbihnLGkpe2Zvcih2YXIgbixtPVtdLHA9 IiIscT1pLm5vZGVUeXBlP1tpXTppO249by5tYXRjaC5QU0VVRE8uZXhlYyhnKTsp e3ArPW5bMF07Zz1nLnJlcGxhY2Uoby5tYXRjaC5QU0VVRE8sIiIpfWc9by5yZWxh dGl2ZVtnXT9nKyIqIjpnO249MDtmb3IodmFyIHU9cS5sZW5ndGg7bjx1O24rKylr KGcscVtuXSxtKTtyZXR1cm4gay5maWx0ZXIocCxtKX07Yy5maW5kPWs7Yy5leHBy PWsuc2VsZWN0b3JzO2MuZXhwclsiOiJdPWMuZXhwci5maWx0ZXJzO2MudW5pcXVl PWsudW5pcXVlU29ydDtjLnRleHQ9ay5nZXRUZXh0O2MuaXNYTUxEb2M9ay5pc1hN TDtjLmNvbnRhaW5zPWsuY29udGFpbnN9KSgpO3ZhciBaYT0vVW50aWwkLywkYT0v Xig/OnBhcmVudHN8cHJldlVudGlsfHByZXZBbGwpLyxhYj0vLC8sTmE9L14uW146 I1xbXC4sXSokLyxiYj1BcnJheS5wcm90b3R5cGUuc2xpY2UsY2I9Yy5leHByLm1h dGNoLlBPUztjLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihhKXtmb3IodmFyIGI9 dGhpcy5wdXNoU3RhY2soIiIsImZpbmQiLGEpLGQ9MCxlPTAsZj10aGlzLmxlbmd0 aDtlPGY7ZSsrKXtkPWIubGVuZ3RoO2MuZmluZChhLHRoaXNbZV0sYik7aWYoZT4w KWZvcih2YXIgaD1kO2g8Yi5sZW5ndGg7aCsrKWZvcih2YXIgbD0wO2w8ZDtsKysp aWYoYltsXT09PWJbaF0pe2Iuc3BsaWNlKGgtLSwxKTticmVha319cmV0dXJuIGJ9 LGhhczpmdW5jdGlvbihhKXt2YXIgYj1jKGEpO3JldHVybiB0aGlzLmZpbHRlcihm dW5jdGlvbigpe2Zvcih2YXIgZD0wLGU9Yi5sZW5ndGg7ZDxlO2QrKylpZihjLmNv bnRhaW5zKHRoaXMsYltkXSkpcmV0dXJuIHRydWV9KX0sbm90OmZ1bmN0aW9uKGEp e3JldHVybiB0aGlzLnB1c2hTdGFjayhtYSh0aGlzLGEsZmFsc2UpLCJub3QiLGEp fSxmaWx0ZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKG1hKHRo aXMsYSx0cnVlKSwiZmlsdGVyIixhKX0saXM6ZnVuY3Rpb24oYSl7cmV0dXJuISFh JiZjLmZpbHRlcihhLHRoaXMpLmxlbmd0aD4wfSxjbG9zZXN0OmZ1bmN0aW9uKGEs Yil7dmFyIGQ9W10sZSxmLGg9dGhpc1swXTtpZihjLmlzQXJyYXkoYSkpe3ZhciBs LGs9e30sbz0xO2lmKGgmJmEubGVuZ3RoKXtlPTA7Zm9yKGY9YS5sZW5ndGg7ZTxm O2UrKyl7bD1hW2VdO2tbbF18fChrW2xdPWMuZXhwci5tYXRjaC5QT1MudGVzdChs KT9jKGwsYnx8dGhpcy5jb250ZXh0KTpsKX1mb3IoO2gmJmgub3duZXJEb2N1bWVu dCYmaCE9PWI7KXtmb3IobCBpbiBrKXtlPWtbbF07aWYoZS5qcXVlcnk/ZS5pbmRl eChoKT4tMTpjKGgpLmlzKGUpKWQucHVzaCh7c2VsZWN0b3I6bCxlbGVtOmgsbGV2 ZWw6b30pfWg9aC5wYXJlbnROb2RlO28rK319cmV0dXJuIGR9bD1jYi50ZXN0KGEp P2MoYSxifHx0aGlzLmNvbnRleHQpOm51bGw7ZT0wO2ZvcihmPXRoaXMubGVuZ3Ro O2U8ZjtlKyspZm9yKGg9dGhpc1tlXTtoOylpZihsP2wuaW5kZXgoaCk+LTE6Yy5m aW5kLm1hdGNoZXNTZWxlY3RvcihoLGEpKXtkLnB1c2goaCk7YnJlYWt9ZWxzZXto PWgucGFyZW50Tm9kZTtpZighaHx8IWgub3duZXJEb2N1bWVudHx8aD09PWIpYnJl YWt9ZD1kLmxlbmd0aD4xP2MudW5pcXVlKGQpOmQ7cmV0dXJuIHRoaXMucHVzaFN0 YWNrKGQsImNsb3Nlc3QiLGEpfSxpbmRleDpmdW5jdGlvbihhKXtpZighYXx8dHlw ZW9mIGE9PT0ic3RyaW5nIilyZXR1cm4gYy5pbkFycmF5KHRoaXNbMF0sYT9jKGEp OnRoaXMucGFyZW50KCkuY2hpbGRyZW4oKSk7cmV0dXJuIGMuaW5BcnJheShhLmpx dWVyeT9hWzBdOmEsdGhpcyl9LGFkZDpmdW5jdGlvbihhLGIpe3ZhciBkPXR5cGVv ZiBhPT09InN0cmluZyI/YyhhLGJ8fHRoaXMuY29udGV4dCk6Yy5tYWtlQXJyYXko YSksZT1jLm1lcmdlKHRoaXMuZ2V0KCksZCk7cmV0dXJuIHRoaXMucHVzaFN0YWNr KCFkWzBdfHwhZFswXS5wYXJlbnROb2RlfHxkWzBdLnBhcmVudE5vZGUubm9kZVR5 cGU9PT0xMXx8IWVbMF18fCFlWzBdLnBhcmVudE5vZGV8fGVbMF0ucGFyZW50Tm9k ZS5ub2RlVHlwZT09PTExP2U6Yy51bmlxdWUoZSkpfSxhbmRTZWxmOmZ1bmN0aW9u KCl7cmV0dXJuIHRoaXMuYWRkKHRoaXMucHJldk9iamVjdCl9fSk7Yy5lYWNoKHtw YXJlbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuKGE9YS5wYXJlbnROb2RlKSYmYS5ub2Rl VHlwZSE9PTExP2E6bnVsbH0scGFyZW50czpmdW5jdGlvbihhKXtyZXR1cm4gYy5k aXIoYSwicGFyZW50Tm9kZSIpfSxwYXJlbnRzVW50aWw6ZnVuY3Rpb24oYSxiLGQp e3JldHVybiBjLmRpcihhLCJwYXJlbnROb2RlIixkKX0sbmV4dDpmdW5jdGlvbihh KXtyZXR1cm4gYy5udGgoYSwyLCJuZXh0U2libGluZyIpfSxwcmV2OmZ1bmN0aW9u KGEpe3JldHVybiBjLm50aChhLDIsInByZXZpb3VzU2libGluZyIpfSxuZXh0QWxs OmZ1bmN0aW9uKGEpe3JldHVybiBjLmRpcihhLCJuZXh0U2libGluZyIpfSxwcmV2 QWxsOmZ1bmN0aW9uKGEpe3JldHVybiBjLmRpcihhLCJwcmV2aW91c1NpYmxpbmci KX0sbmV4dFVudGlsOmZ1bmN0aW9uKGEsYixkKXtyZXR1cm4gYy5kaXIoYSwibmV4 dFNpYmxpbmciLGQpfSxwcmV2VW50aWw6ZnVuY3Rpb24oYSxiLGQpe3JldHVybiBj LmRpcihhLCJwcmV2aW91c1NpYmxpbmciLGQpfSxzaWJsaW5nczpmdW5jdGlvbihh KXtyZXR1cm4gYy5zaWJsaW5nKGEucGFyZW50Tm9kZS5maXJzdENoaWxkLGEpfSxj aGlsZHJlbjpmdW5jdGlvbihhKXtyZXR1cm4gYy5zaWJsaW5nKGEuZmlyc3RDaGls ZCl9LGNvbnRlbnRzOmZ1bmN0aW9uKGEpe3JldHVybiBjLm5vZGVOYW1lKGEsImlm cmFtZSIpP2EuY29udGVudERvY3VtZW50fHxhLmNvbnRlbnRXaW5kb3cuZG9jdW1l bnQ6Yy5tYWtlQXJyYXkoYS5jaGlsZE5vZGVzKX19LGZ1bmN0aW9uKGEsYil7Yy5m blthXT1mdW5jdGlvbihkLGUpe3ZhciBmPWMubWFwKHRoaXMsYixkKTtaYS50ZXN0 KGEpfHwoZT1kKTtpZihlJiZ0eXBlb2YgZT09PSJzdHJpbmciKWY9Yy5maWx0ZXIo ZSxmKTtmPXRoaXMubGVuZ3RoPjE/Yy51bmlxdWUoZik6ZjtpZigodGhpcy5sZW5n dGg+MXx8YWIudGVzdChlKSkmJiRhLnRlc3QoYSkpZj1mLnJldmVyc2UoKTtyZXR1 cm4gdGhpcy5wdXNoU3RhY2soZixhLGJiLmNhbGwoYXJndW1lbnRzKS5qb2luKCIs IikpfX0pO2MuZXh0ZW5kKHtmaWx0ZXI6ZnVuY3Rpb24oYSxiLGQpe2lmKGQpYT0i Om5vdCgiK2ErIikiO3JldHVybiBiLmxlbmd0aD09PTE/Yy5maW5kLm1hdGNoZXNT ZWxlY3RvcihiWzBdLGEpP1tiWzBdXTpbXTpjLmZpbmQubWF0Y2hlcyhhLGIpfSxk aXI6ZnVuY3Rpb24oYSxiLGQpe3ZhciBlPVtdO2ZvcihhPWFbYl07YSYmYS5ub2Rl VHlwZSE9PTkmJihkPT09Qnx8YS5ub2RlVHlwZSE9PTF8fCFjKGEpLmlzKGQpKTsp e2Eubm9kZVR5cGU9PT0xJiZlLnB1c2goYSk7YT1hW2JdfXJldHVybiBlfSxudGg6 ZnVuY3Rpb24oYSxiLGQpe2I9Ynx8MTtmb3IodmFyIGU9MDthO2E9YVtkXSlpZihh Lm5vZGVUeXBlPT09MSYmKytlPT09YilicmVhaztyZXR1cm4gYX0sc2libGluZzpm dW5jdGlvbihhLGIpe2Zvcih2YXIgZD1bXTthO2E9YS5uZXh0U2libGluZylhLm5v ZGVUeXBlPT09MSYmYSE9PWImJmQucHVzaChhKTtyZXR1cm4gZH19KTt2YXIgemE9 LyBqUXVlcnlcZCs9Iig/OlxkK3xudWxsKSIvZywkPS9eXHMrLyxBYT0vPCg/IWFy ZWF8YnJ8Y29sfGVtYmVkfGhyfGltZ3xpbnB1dHxsaW5rfG1ldGF8cGFyYW0pKChb XHc6XSspW14+XSopXC8+L2lnLEJhPS88KFtcdzpdKykvLGRiPS88dGJvZHkvaSxl Yj0vPHwmIz9cdys7LyxDYT0vPCg/OnNjcmlwdHxvYmplY3R8ZW1iZWR8b3B0aW9u fHN0eWxlKS9pLERhPS9jaGVja2VkXHMqKD86W149XXw9XHMqLmNoZWNrZWQuKS9p LGZiPS9cPShbXj0iJz5cc10rXC8pPi9nLFA9e29wdGlvbjpbMSwiPHNlbGVjdCBt dWx0aXBsZT0nbXVsdGlwbGUnPiIsIjwvc2VsZWN0PiJdLGxlZ2VuZDpbMSwiPGZp ZWxkc2V0PiIsIjwvZmllbGRzZXQ+Il0sdGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3Rh YmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4i XSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90cj48L3Rib2R5PjwvdGFi bGU+Il0sY29sOlsyLCI8dGFibGU+PHRib2R5PjwvdGJvZHk+PGNvbGdyb3VwPiIs IjwvY29sZ3JvdXA+PC90YWJsZT4iXSxhcmVhOlsxLCI8bWFwPiIsIjwvbWFwPiJd LF9kZWZhdWx0OlswLCIiLCIiXX07UC5vcHRncm91cD1QLm9wdGlvbjtQLnRib2R5 PVAudGZvb3Q9UC5jb2xncm91cD1QLmNhcHRpb249UC50aGVhZDtQLnRoPVAudGQ7 aWYoIWMuc3VwcG9ydC5odG1sU2VyaWFsaXplKVAuX2RlZmF1bHQ9WzEsImRpdjxk aXY+IiwiPC9kaXY+Il07Yy5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oYSl7aWYo Yy5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7dmFy IGQ9Yyh0aGlzKTtkLnRleHQoYS5jYWxsKHRoaXMsYixkLnRleHQoKSkpfSk7aWYo dHlwZW9mIGEhPT0ib2JqZWN0IiYmYSE9PUIpcmV0dXJuIHRoaXMuZW1wdHkoKS5h cHBlbmQoKHRoaXNbMF0mJnRoaXNbMF0ub3duZXJEb2N1bWVudHx8dCkuY3JlYXRl VGV4dE5vZGUoYSkpO3JldHVybiBjLnRleHQodGhpcyl9LHdyYXBBbGw6ZnVuY3Rp b24oYSl7aWYoYy5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rp b24oZCl7Yyh0aGlzKS53cmFwQWxsKGEuY2FsbCh0aGlzLGQpKX0pO2lmKHRoaXNb MF0pe3ZhciBiPWMoYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25l KHRydWUpO3RoaXNbMF0ucGFyZW50Tm9kZSYmYi5pbnNlcnRCZWZvcmUodGhpc1sw XSk7Yi5tYXAoZnVuY3Rpb24oKXtmb3IodmFyIGQ9dGhpcztkLmZpcnN0Q2hpbGQm JmQuZmlyc3RDaGlsZC5ub2RlVHlwZT09PTE7KWQ9ZC5maXJzdENoaWxkO3JldHVy biBkfSkuYXBwZW5kKHRoaXMpfXJldHVybiB0aGlzfSx3cmFwSW5uZXI6ZnVuY3Rp b24oYSl7aWYoYy5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rp b24oYil7Yyh0aGlzKS53cmFwSW5uZXIoYS5jYWxsKHRoaXMsYikpfSk7cmV0dXJu IHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPWModGhpcyksZD1iLmNvbnRlbnRz KCk7ZC5sZW5ndGg/ZC53cmFwQWxsKGEpOmIuYXBwZW5kKGEpfSl9LHdyYXA6ZnVu Y3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2ModGhpcykud3Jh cEFsbChhKX0pfSx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQo KS5lYWNoKGZ1bmN0aW9uKCl7Yy5ub2RlTmFtZSh0aGlzLCJib2R5Iil8fGModGhp cykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pLmVuZCgpfSxhcHBlbmQ6 ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsdHJ1ZSxm dW5jdGlvbihhKXt0aGlzLm5vZGVUeXBlPT09MSYmdGhpcy5hcHBlbmRDaGlsZChh KX0pfSxwcmVwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJn dW1lbnRzLHRydWUsZnVuY3Rpb24oYSl7dGhpcy5ub2RlVHlwZT09PTEmJnRoaXMu aW5zZXJ0QmVmb3JlKGEsdGhpcy5maXJzdENoaWxkKX0pfSxiZWZvcmU6ZnVuY3Rp b24oKXtpZih0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGUpcmV0dXJuIHRoaXMu ZG9tTWFuaXAoYXJndW1lbnRzLGZhbHNlLGZ1bmN0aW9uKGIpe3RoaXMucGFyZW50 Tm9kZS5pbnNlcnRCZWZvcmUoYix0aGlzKX0pO2Vsc2UgaWYoYXJndW1lbnRzLmxl bmd0aCl7dmFyIGE9Yyhhcmd1bWVudHNbMF0pO2EucHVzaC5hcHBseShhLHRoaXMu dG9BcnJheSgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYSwiYmVmb3JlIixhcmd1 bWVudHMpfX0sYWZ0ZXI6ZnVuY3Rpb24oKXtpZih0aGlzWzBdJiZ0aGlzWzBdLnBh cmVudE5vZGUpcmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZhbHNlLGZ1 bmN0aW9uKGIpe3RoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYix0aGlzLm5l eHRTaWJsaW5nKX0pO2Vsc2UgaWYoYXJndW1lbnRzLmxlbmd0aCl7dmFyIGE9dGhp cy5wdXNoU3RhY2sodGhpcywiYWZ0ZXIiLGFyZ3VtZW50cyk7YS5wdXNoLmFwcGx5 KGEsYyhhcmd1bWVudHNbMF0pLnRvQXJyYXkoKSk7cmV0dXJuIGF9fSxyZW1vdmU6 ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGQ9MCxlOyhlPXRoaXNbZF0pIT1udWxsO2Qr KylpZighYXx8Yy5maWx0ZXIoYSxbZV0pLmxlbmd0aCl7aWYoIWImJmUubm9kZVR5 cGU9PT0xKXtjLmNsZWFuRGF0YShlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikp O2MuY2xlYW5EYXRhKFtlXSl9ZS5wYXJlbnROb2RlJiZlLnBhcmVudE5vZGUucmVt b3ZlQ2hpbGQoZSl9cmV0dXJuIHRoaXN9LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZh ciBhPTAsYjsoYj10aGlzW2FdKSE9bnVsbDthKyspZm9yKGIubm9kZVR5cGU9PT0x JiZjLmNsZWFuRGF0YShiLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpO2IuZmly c3RDaGlsZDspYi5yZW1vdmVDaGlsZChiLmZpcnN0Q2hpbGQpO3JldHVybiB0aGlz fSxjbG9uZTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLm1hcChmdW5jdGlvbigpe2lm KCFjLnN1cHBvcnQubm9DbG9uZUV2ZW50JiYhYy5pc1hNTERvYyh0aGlzKSl7dmFy IGQ9dGhpcy5vdXRlckhUTUwsZT10aGlzLm93bmVyRG9jdW1lbnQ7aWYoIWQpe2Q9 ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTtkLmFwcGVuZENoaWxkKHRoaXMuY2xvbmVO b2RlKHRydWUpKTtkPWQuaW5uZXJIVE1MfXJldHVybiBjLmNsZWFuKFtkLnJlcGxh Y2UoemEsIiIpLnJlcGxhY2UoZmIsJz0iJDEiPicpLnJlcGxhY2UoJCwiIildLGUp WzBdfWVsc2UgcmV0dXJuIHRoaXMuY2xvbmVOb2RlKHRydWUpfSk7aWYoYT09PXRy dWUpe25hKHRoaXMsYik7bmEodGhpcy5maW5kKCIqIiksYi5maW5kKCIqIikpfXJl dHVybiBifSxodG1sOmZ1bmN0aW9uKGEpe2lmKGE9PT1CKXJldHVybiB0aGlzWzBd JiZ0aGlzWzBdLm5vZGVUeXBlPT09MT90aGlzWzBdLmlubmVySFRNTC5yZXBsYWNl KHphLCIiKTpudWxsO2Vsc2UgaWYodHlwZW9mIGE9PT0ic3RyaW5nIiYmIUNhLnRl c3QoYSkmJihjLnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2V8fCEkLnRlc3QoYSkp JiYhUFsoQmEuZXhlYyhhKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKV0pe2E9 YS5yZXBsYWNlKEFhLCI8JDE+PC8kMj4iKTt0cnl7Zm9yKHZhciBiPTAsZD10aGlz Lmxlbmd0aDtiPGQ7YisrKWlmKHRoaXNbYl0ubm9kZVR5cGU9PT0xKXtjLmNsZWFu RGF0YSh0aGlzW2JdLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpO3RoaXNbYl0u aW5uZXJIVE1MPWF9fWNhdGNoKGUpe3RoaXMuZW1wdHkoKS5hcHBlbmQoYSl9fWVs c2UgYy5pc0Z1bmN0aW9uKGEpP3RoaXMuZWFjaChmdW5jdGlvbihmKXt2YXIgaD1j KHRoaXMpO2guaHRtbChhLmNhbGwodGhpcyxmLGguaHRtbCgpKSl9KTp0aGlzLmVt cHR5KCkuYXBwZW5kKGEpO3JldHVybiB0aGlzfSxyZXBsYWNlV2l0aDpmdW5jdGlv bihhKXtpZih0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGUpe2lmKGMuaXNGdW5j dGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe3ZhciBkPWModGhp cyksZT1kLmh0bWwoKTtkLnJlcGxhY2VXaXRoKGEuY2FsbCh0aGlzLGIsZSkpfSk7 aWYodHlwZW9mIGEhPT0ic3RyaW5nIilhPWMoYSkuZGV0YWNoKCk7cmV0dXJuIHRo aXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPXRoaXMubmV4dFNpYmxpbmcsZD10aGlz LnBhcmVudE5vZGU7Yyh0aGlzKS5yZW1vdmUoKTtiP2MoYikuYmVmb3JlKGEpOmMo ZCkuYXBwZW5kKGEpfSl9ZWxzZSByZXR1cm4gdGhpcy5wdXNoU3RhY2soYyhjLmlz RnVuY3Rpb24oYSk/YSgpOmEpLCJyZXBsYWNlV2l0aCIsYSl9LGRldGFjaDpmdW5j dGlvbihhKXtyZXR1cm4gdGhpcy5yZW1vdmUoYSx0cnVlKX0sZG9tTWFuaXA6ZnVu Y3Rpb24oYSxiLGQpe3ZhciBlLGYsaCxsPWFbMF0saz1bXTtpZighYy5zdXBwb3J0 LmNoZWNrQ2xvbmUmJmFyZ3VtZW50cy5sZW5ndGg9PT0zJiZ0eXBlb2YgbD09PSJz dHJpbmciJiZEYS50ZXN0KGwpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtj KHRoaXMpLmRvbU1hbmlwKGEsYixkLHRydWUpfSk7aWYoYy5pc0Z1bmN0aW9uKGwp KXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oeCl7dmFyIHI9Yyh0aGlzKTthWzBd PWwuY2FsbCh0aGlzLHgsYj9yLmh0bWwoKTpCKTtyLmRvbU1hbmlwKGEsYixkKX0p O2lmKHRoaXNbMF0pe2U9bCYmbC5wYXJlbnROb2RlO2U9Yy5zdXBwb3J0LnBhcmVu dE5vZGUmJmUmJmUubm9kZVR5cGU9PT0xMSYmZS5jaGlsZE5vZGVzLmxlbmd0aD09 PXRoaXMubGVuZ3RoP3tmcmFnbWVudDplfTpjLmJ1aWxkRnJhZ21lbnQoYSx0aGlz LGspO2g9ZS5mcmFnbWVudDtpZihmPWguY2hpbGROb2Rlcy5sZW5ndGg9PT0xP2g9 aC5maXJzdENoaWxkOmguZmlyc3RDaGlsZCl7Yj1iJiZjLm5vZGVOYW1lKGYsInRy Iik7Zj0wO2Zvcih2YXIgbz10aGlzLmxlbmd0aDtmPG87ZisrKWQuY2FsbChiP2Mu bm9kZU5hbWUodGhpc1tmXSwidGFibGUiKT90aGlzW2ZdLmdldEVsZW1lbnRzQnlU YWdOYW1lKCJ0Ym9keSIpWzBdfHx0aGlzW2ZdLmFwcGVuZENoaWxkKHRoaXNbZl0u b3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0Ym9keSIpKTp0aGlzW2ZdOnRo aXNbZl0sZj4wfHxlLmNhY2hlYWJsZXx8dGhpcy5sZW5ndGg+MT9oLmNsb25lTm9k ZSh0cnVlKTpoKX1rLmxlbmd0aCYmYy5lYWNoKGssT2EpfXJldHVybiB0aGlzfX0p O2MuYnVpbGRGcmFnbWVudD1mdW5jdGlvbihhLGIsZCl7dmFyIGUsZixoO2I9YiYm YlswXT9iWzBdLm93bmVyRG9jdW1lbnR8fGJbMF06dDtpZihhLmxlbmd0aD09PTEm JnR5cGVvZiBhWzBdPT09InN0cmluZyImJmFbMF0ubGVuZ3RoPDUxMiYmYj09PXQm JiFDYS50ZXN0KGFbMF0pJiYoYy5zdXBwb3J0LmNoZWNrQ2xvbmV8fCFEYS50ZXN0 KGFbMF0pKSl7Zj10cnVlO2lmKGg9Yy5mcmFnbWVudHNbYVswXV0paWYoaCE9PTEp ZT1ofWlmKCFlKXtlPWIuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2MuY2xlYW4o YSxiLGUsZCl9aWYoZiljLmZyYWdtZW50c1thWzBdXT1oP2U6MTtyZXR1cm57ZnJh Z21lbnQ6ZSxjYWNoZWFibGU6Zn19O2MuZnJhZ21lbnRzPXt9O2MuZWFjaCh7YXBw ZW5kVG86ImFwcGVuZCIscHJlcGVuZFRvOiJwcmVwZW5kIixpbnNlcnRCZWZvcmU6 ImJlZm9yZSIsaW5zZXJ0QWZ0ZXI6ImFmdGVyIixyZXBsYWNlQWxsOiJyZXBsYWNl V2l0aCJ9LGZ1bmN0aW9uKGEsYil7Yy5mblthXT1mdW5jdGlvbihkKXt2YXIgZT1b XTtkPWMoZCk7dmFyIGY9dGhpcy5sZW5ndGg9PT0xJiZ0aGlzWzBdLnBhcmVudE5v ZGU7aWYoZiYmZi5ub2RlVHlwZT09PTExJiZmLmNoaWxkTm9kZXMubGVuZ3RoPT09 MSYmZC5sZW5ndGg9PT0xKXtkW2JdKHRoaXNbMF0pO3JldHVybiB0aGlzfWVsc2V7 Zj0wO2Zvcih2YXIgaD1kLmxlbmd0aDtmPGg7ZisrKXt2YXIgbD0oZj4wP3RoaXMu Y2xvbmUodHJ1ZSk6dGhpcykuZ2V0KCk7YyhkW2ZdKVtiXShsKTtlPWUuY29uY2F0 KGwpfXJldHVybiB0aGlzLnB1c2hTdGFjayhlLGEsZC5zZWxlY3Rvcil9fX0pO2Mu ZXh0ZW5kKHtjbGVhbjpmdW5jdGlvbihhLGIsZCxlKXtiPWJ8fHQ7aWYodHlwZW9m IGIuY3JlYXRlRWxlbWVudD09PSJ1bmRlZmluZWQiKWI9Yi5vd25lckRvY3VtZW50 fHxiWzBdJiZiWzBdLm93bmVyRG9jdW1lbnR8fHQ7Zm9yKHZhciBmPVtdLGg9MCxs OyhsPWFbaF0pIT1udWxsO2grKyl7aWYodHlwZW9mIGw9PT0ibnVtYmVyIilsKz0i IjtpZihsKXtpZih0eXBlb2YgbD09PSJzdHJpbmciJiYhZWIudGVzdChsKSlsPWIu Y3JlYXRlVGV4dE5vZGUobCk7ZWxzZSBpZih0eXBlb2YgbD09PSJzdHJpbmciKXts PWwucmVwbGFjZShBYSwiPCQxPjwvJDI+Iik7dmFyIGs9KEJhLmV4ZWMobCl8fFsi IiwiIl0pWzFdLnRvTG93ZXJDYXNlKCksbz1QW2tdfHxQLl9kZWZhdWx0LHg9b1sw XSxyPWIuY3JlYXRlRWxlbWVudCgiZGl2Iik7Zm9yKHIuaW5uZXJIVE1MPW9bMV0r bCtvWzJdO3gtLTspcj1yLmxhc3RDaGlsZDtpZighYy5zdXBwb3J0LnRib2R5KXt4 PWRiLnRlc3QobCk7az1rPT09InRhYmxlIiYmIXg/ci5maXJzdENoaWxkJiZyLmZp cnN0Q2hpbGQuY2hpbGROb2RlczpvWzFdPT09Ijx0YWJsZT4iJiYheD9yLmNoaWxk Tm9kZXM6W107Zm9yKG89ay5sZW5ndGgtMTtvPj0wOy0tbyljLm5vZGVOYW1lKGtb b10sInRib2R5IikmJiFrW29dLmNoaWxkTm9kZXMubGVuZ3RoJiZrW29dLnBhcmVu dE5vZGUucmVtb3ZlQ2hpbGQoa1tvXSl9IWMuc3VwcG9ydC5sZWFkaW5nV2hpdGVz cGFjZSYmJC50ZXN0KGwpJiZyLmluc2VydEJlZm9yZShiLmNyZWF0ZVRleHROb2Rl KCQuZXhlYyhsKVswXSksci5maXJzdENoaWxkKTtsPXIuY2hpbGROb2Rlc31pZihs Lm5vZGVUeXBlKWYucHVzaChsKTtlbHNlIGY9Yy5tZXJnZShmLGwpfX1pZihkKWZv cihoPTA7ZltoXTtoKyspaWYoZSYmYy5ub2RlTmFtZShmW2hdLCJzY3JpcHQiKSYm KCFmW2hdLnR5cGV8fGZbaF0udHlwZS50b0xvd2VyQ2FzZSgpPT09InRleHQvamF2 YXNjcmlwdCIpKWUucHVzaChmW2hdLnBhcmVudE5vZGU/ZltoXS5wYXJlbnROb2Rl LnJlbW92ZUNoaWxkKGZbaF0pOmZbaF0pO2Vsc2V7ZltoXS5ub2RlVHlwZT09PTEm JmYuc3BsaWNlLmFwcGx5KGYsW2grMSwwXS5jb25jYXQoYy5tYWtlQXJyYXkoZlto XS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IikpKSk7ZC5hcHBlbmRDaGls ZChmW2hdKX1yZXR1cm4gZn0sY2xlYW5EYXRhOmZ1bmN0aW9uKGEpe2Zvcih2YXIg YixkLGU9Yy5jYWNoZSxmPWMuZXZlbnQuc3BlY2lhbCxoPWMuc3VwcG9ydC5kZWxl dGVFeHBhbmRvLGw9MCxrOyhrPWFbbF0pIT1udWxsO2wrKylpZighKGsubm9kZU5h bWUmJmMubm9EYXRhW2subm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pKWlmKGQ9a1tj LmV4cGFuZG9dKXtpZigoYj1lW2RdKSYmYi5ldmVudHMpZm9yKHZhciBvIGluIGIu ZXZlbnRzKWZbb10/Yy5ldmVudC5yZW1vdmUoayxvKTpjLnJlbW92ZUV2ZW50KGss byxiLmhhbmRsZSk7aWYoaClkZWxldGUga1tjLmV4cGFuZG9dO2Vsc2Ugay5yZW1v dmVBdHRyaWJ1dGUmJmsucmVtb3ZlQXR0cmlidXRlKGMuZXhwYW5kbyk7ZGVsZXRl IGVbZF19fX0pO3ZhciBFYT0vYWxwaGFcKFteKV0qXCkvaSxnYj0vb3BhY2l0eT0o W14pXSopLyxoYj0vLShbYS16XSkvaWcsaWI9LyhbQS1aXSkvZyxGYT0vXi0/XGQr KD86cHgpPyQvaSxqYj0vXi0/XGQvLGtiPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHZp c2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheToiYmxvY2sifSxQYT1bIkxlZnQiLCJS aWdodCJdLFFhPVsiVG9wIiwiQm90dG9tIl0sVyxHYSxhYSxsYj1mdW5jdGlvbihh LGIpe3JldHVybiBiLnRvVXBwZXJDYXNlKCl9O2MuZm4uY3NzPWZ1bmN0aW9uKGEs Yil7aWYoYXJndW1lbnRzLmxlbmd0aD09PTImJmI9PT1CKXJldHVybiB0aGlzO3Jl dHVybiBjLmFjY2Vzcyh0aGlzLGEsYix0cnVlLGZ1bmN0aW9uKGQsZSxmKXtyZXR1 cm4gZiE9PUI/Yy5zdHlsZShkLGUsZik6Yy5jc3MoZCxlKX0pfTtjLmV4dGVuZCh7 Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihhLGIpe2lmKGIpe3ZhciBk PVcoYSwib3BhY2l0eSIsIm9wYWNpdHkiKTtyZXR1cm4gZD09PSIiPyIxIjpkfWVs c2UgcmV0dXJuIGEuc3R5bGUub3BhY2l0eX19fSxjc3NOdW1iZXI6e3pJbmRleDp0 cnVlLGZvbnRXZWlnaHQ6dHJ1ZSxvcGFjaXR5OnRydWUsem9vbTp0cnVlLGxpbmVI ZWlnaHQ6dHJ1ZX0sY3NzUHJvcHM6eyJmbG9hdCI6Yy5zdXBwb3J0LmNzc0Zsb2F0 PyJjc3NGbG9hdCI6InN0eWxlRmxvYXQifSxzdHlsZTpmdW5jdGlvbihhLGIsZCxl KXtpZighKCFhfHxhLm5vZGVUeXBlPT09M3x8YS5ub2RlVHlwZT09PTh8fCFhLnN0 eWxlKSl7dmFyIGYsaD1jLmNhbWVsQ2FzZShiKSxsPWEuc3R5bGUsaz1jLmNzc0hv b2tzW2hdO2I9Yy5jc3NQcm9wc1toXXx8aDtpZihkIT09Qil7aWYoISh0eXBlb2Yg ZD09PSJudW1iZXIiJiZpc05hTihkKXx8ZD09bnVsbCkpe2lmKHR5cGVvZiBkPT09 Im51bWJlciImJiFjLmNzc051bWJlcltoXSlkKz0icHgiO2lmKCFrfHwhKCJzZXQi aW4gayl8fChkPWsuc2V0KGEsZCkpIT09Qil0cnl7bFtiXT1kfWNhdGNoKG8pe319 fWVsc2V7aWYoayYmImdldCJpbiBrJiYoZj1rLmdldChhLGZhbHNlLGUpKSE9PUIp cmV0dXJuIGY7cmV0dXJuIGxbYl19fX0sY3NzOmZ1bmN0aW9uKGEsYixkKXt2YXIg ZSxmPWMuY2FtZWxDYXNlKGIpLGg9Yy5jc3NIb29rc1tmXTtiPWMuY3NzUHJvcHNb Zl18fGY7aWYoaCYmImdldCJpbiBoJiYoZT1oLmdldChhLHRydWUsZCkpIT09Qily ZXR1cm4gZTtlbHNlIGlmKFcpcmV0dXJuIFcoYSxiLGYpfSxzd2FwOmZ1bmN0aW9u KGEsYixkKXt2YXIgZT17fSxmO2ZvcihmIGluIGIpe2VbZl09YS5zdHlsZVtmXTth LnN0eWxlW2ZdPWJbZl19ZC5jYWxsKGEpO2ZvcihmIGluIGIpYS5zdHlsZVtmXT1l W2ZdfSxjYW1lbENhc2U6ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZShoYixs Yil9fSk7Yy5jdXJDU1M9Yy5jc3M7Yy5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSxm dW5jdGlvbihhLGIpe2MuY3NzSG9va3NbYl09e2dldDpmdW5jdGlvbihkLGUsZil7 dmFyIGg7aWYoZSl7aWYoZC5vZmZzZXRXaWR0aCE9PTApaD1vYShkLGIsZik7ZWxz ZSBjLnN3YXAoZCxrYixmdW5jdGlvbigpe2g9b2EoZCxiLGYpfSk7aWYoaDw9MCl7 aD1XKGQsYixiKTtpZihoPT09IjBweCImJmFhKWg9YWEoZCxiLGIpO2lmKGghPW51 bGwpcmV0dXJuIGg9PT0iInx8aD09PSJhdXRvIj8iMHB4IjpofWlmKGg8MHx8aD09 bnVsbCl7aD1kLnN0eWxlW2JdO3JldHVybiBoPT09IiJ8fGg9PT0iYXV0byI/IjBw eCI6aH1yZXR1cm4gdHlwZW9mIGg9PT0ic3RyaW5nIj9oOmgrInB4In19LHNldDpm dW5jdGlvbihkLGUpe2lmKEZhLnRlc3QoZSkpe2U9cGFyc2VGbG9hdChlKTtpZihl Pj0wKXJldHVybiBlKyJweCJ9ZWxzZSByZXR1cm4gZX19fSk7aWYoIWMuc3VwcG9y dC5vcGFjaXR5KWMuY3NzSG9va3Mub3BhY2l0eT17Z2V0OmZ1bmN0aW9uKGEsYil7 cmV0dXJuIGdiLnRlc3QoKGImJmEuY3VycmVudFN0eWxlP2EuY3VycmVudFN0eWxl LmZpbHRlcjphLnN0eWxlLmZpbHRlcil8fCIiKT9wYXJzZUZsb2F0KFJlZ0V4cC4k MSkvMTAwKyIiOmI/IjEiOiIifSxzZXQ6ZnVuY3Rpb24oYSxiKXt2YXIgZD1hLnN0 eWxlO2Quem9vbT0xO3ZhciBlPWMuaXNOYU4oYik/IiI6ImFscGhhKG9wYWNpdHk9 IitiKjEwMCsiKSIsZj1kLmZpbHRlcnx8IiI7ZC5maWx0ZXI9RWEudGVzdChmKT9m LnJlcGxhY2UoRWEsZSk6ZC5maWx0ZXIrIiAiK2V9fTtpZih0LmRlZmF1bHRWaWV3 JiZ0LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUpR2E9ZnVuY3Rpb24oYSxi LGQpe3ZhciBlO2Q9ZC5yZXBsYWNlKGliLCItJDEiKS50b0xvd2VyQ2FzZSgpO2lm KCEoYj1hLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcpKXJldHVybiBCO2lmKGI9 Yi5nZXRDb21wdXRlZFN0eWxlKGEsbnVsbCkpe2U9Yi5nZXRQcm9wZXJ0eVZhbHVl KGQpO2lmKGU9PT0iIiYmIWMuY29udGFpbnMoYS5vd25lckRvY3VtZW50LmRvY3Vt ZW50RWxlbWVudCxhKSllPWMuc3R5bGUoYSxkKX1yZXR1cm4gZX07aWYodC5kb2N1 bWVudEVsZW1lbnQuY3VycmVudFN0eWxlKWFhPWZ1bmN0aW9uKGEsYil7dmFyIGQs ZSxmPWEuY3VycmVudFN0eWxlJiZhLmN1cnJlbnRTdHlsZVtiXSxoPWEuc3R5bGU7 aWYoIUZhLnRlc3QoZikmJmpiLnRlc3QoZikpe2Q9aC5sZWZ0O2U9YS5ydW50aW1l U3R5bGUubGVmdDthLnJ1bnRpbWVTdHlsZS5sZWZ0PWEuY3VycmVudFN0eWxlLmxl ZnQ7aC5sZWZ0PWI9PT0iZm9udFNpemUiPyIxZW0iOmZ8fDA7Zj1oLnBpeGVsTGVm dCsicHgiO2gubGVmdD1kO2EucnVudGltZVN0eWxlLmxlZnQ9ZX1yZXR1cm4gZj09 PSIiPyJhdXRvIjpmfTtXPUdhfHxhYTtpZihjLmV4cHImJmMuZXhwci5maWx0ZXJz KXtjLmV4cHIuZmlsdGVycy5oaWRkZW49ZnVuY3Rpb24oYSl7dmFyIGI9YS5vZmZz ZXRIZWlnaHQ7cmV0dXJuIGEub2Zmc2V0V2lkdGg9PT0wJiZiPT09MHx8IWMuc3Vw cG9ydC5yZWxpYWJsZUhpZGRlbk9mZnNldHMmJihhLnN0eWxlLmRpc3BsYXl8fGMu Y3NzKGEsImRpc3BsYXkiKSk9PT0ibm9uZSJ9O2MuZXhwci5maWx0ZXJzLnZpc2li bGU9ZnVuY3Rpb24oYSl7cmV0dXJuIWMuZXhwci5maWx0ZXJzLmhpZGRlbihhKX19 dmFyIG1iPWMubm93KCksbmI9LzxzY3JpcHRcYltePF0qKD86KD8hPFwvc2NyaXB0 Pik8W148XSopKjxcL3NjcmlwdD4vZ2ksb2I9L14oPzpzZWxlY3R8dGV4dGFyZWEp L2kscGI9L14oPzpjb2xvcnxkYXRlfGRhdGV0aW1lfGVtYWlsfGhpZGRlbnxtb250 aHxudW1iZXJ8cGFzc3dvcmR8cmFuZ2V8c2VhcmNofHRlbHx0ZXh0fHRpbWV8dXJs fHdlZWspJC9pLHFiPS9eKD86R0VUfEhFQUQpJC8sUmE9L1xbXF0kLyxUPS9cPVw/ KCZ8JCkvLGphPS9cPy8scmI9LyhbPyZdKV89W14mXSovLHNiPS9eKFx3KzopP1wv XC8oW15cLz8jXSspLyx0Yj0vJTIwL2csdWI9LyMuKiQvLEhhPWMuZm4ubG9hZDtj LmZuLmV4dGVuZCh7bG9hZDpmdW5jdGlvbihhLGIsZCl7aWYodHlwZW9mIGEhPT0i c3RyaW5nIiYmSGEpcmV0dXJuIEhhLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtlbHNl IGlmKCF0aGlzLmxlbmd0aClyZXR1cm4gdGhpczt2YXIgZT1hLmluZGV4T2YoIiAi KTtpZihlPj0wKXt2YXIgZj1hLnNsaWNlKGUsYS5sZW5ndGgpO2E9YS5zbGljZSgw LGUpfWU9IkdFVCI7aWYoYilpZihjLmlzRnVuY3Rpb24oYikpe2Q9YjtiPW51bGx9 ZWxzZSBpZih0eXBlb2YgYj09PSJvYmplY3QiKXtiPWMucGFyYW0oYixjLmFqYXhT ZXR0aW5ncy50cmFkaXRpb25hbCk7ZT0iUE9TVCJ9dmFyIGg9dGhpcztjLmFqYXgo e3VybDphLHR5cGU6ZSxkYXRhVHlwZToiaHRtbCIsZGF0YTpiLGNvbXBsZXRlOmZ1 bmN0aW9uKGwsayl7aWYoaz09PSJzdWNjZXNzInx8az09PSJub3Rtb2RpZmllZCIp aC5odG1sKGY/YygiPGRpdj4iKS5hcHBlbmQobC5yZXNwb25zZVRleHQucmVwbGFj ZShuYiwiIikpLmZpbmQoZik6bC5yZXNwb25zZVRleHQpO2QmJmguZWFjaChkLFts LnJlc3BvbnNlVGV4dCxrLGxdKX19KTtyZXR1cm4gdGhpc30sc2VyaWFsaXplOmZ1 bmN0aW9uKCl7cmV0dXJuIGMucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0s c2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rp b24oKXtyZXR1cm4gdGhpcy5lbGVtZW50cz9jLm1ha2VBcnJheSh0aGlzLmVsZW1l bnRzKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZSYm IXRoaXMuZGlzYWJsZWQmJih0aGlzLmNoZWNrZWR8fG9iLnRlc3QodGhpcy5ub2Rl TmFtZSl8fHBiLnRlc3QodGhpcy50eXBlKSl9KS5tYXAoZnVuY3Rpb24oYSxiKXt2 YXIgZD1jKHRoaXMpLnZhbCgpO3JldHVybiBkPT1udWxsP251bGw6Yy5pc0FycmF5 KGQpP2MubWFwKGQsZnVuY3Rpb24oZSl7cmV0dXJue25hbWU6Yi5uYW1lLHZhbHVl OmV9fSk6e25hbWU6Yi5uYW1lLHZhbHVlOmR9fSkuZ2V0KCl9fSk7Yy5lYWNoKCJh amF4U3RhcnQgYWpheFN0b3AgYWpheENvbXBsZXRlIGFqYXhFcnJvciBhamF4U3Vj Y2VzcyBhamF4U2VuZCIuc3BsaXQoIiAiKSxmdW5jdGlvbihhLGIpe2MuZm5bYl09 ZnVuY3Rpb24oZCl7cmV0dXJuIHRoaXMuYmluZChiLGQpfX0pO2MuZXh0ZW5kKHtn ZXQ6ZnVuY3Rpb24oYSxiLGQsZSl7aWYoYy5pc0Z1bmN0aW9uKGIpKXtlPWV8fGQ7 ZD1iO2I9bnVsbH1yZXR1cm4gYy5hamF4KHt0eXBlOiJHRVQiLHVybDphLGRhdGE6 YixzdWNjZXNzOmQsZGF0YVR5cGU6ZX0pfSxnZXRTY3JpcHQ6ZnVuY3Rpb24oYSxi KXtyZXR1cm4gYy5nZXQoYSxudWxsLGIsInNjcmlwdCIpfSxnZXRKU09OOmZ1bmN0 aW9uKGEsYixkKXtyZXR1cm4gYy5nZXQoYSxiLGQsImpzb24iKX0scG9zdDpmdW5j dGlvbihhLGIsZCxlKXtpZihjLmlzRnVuY3Rpb24oYikpe2U9ZXx8ZDtkPWI7Yj17 fX1yZXR1cm4gYy5hamF4KHt0eXBlOiJQT1NUIix1cmw6YSxkYXRhOmIsc3VjY2Vz czpkLGRhdGFUeXBlOmV9KX0sYWpheFNldHVwOmZ1bmN0aW9uKGEpe2MuZXh0ZW5k KGMuYWpheFNldHRpbmdzLGEpfSxhamF4U2V0dGluZ3M6e3VybDpsb2NhdGlvbi5o cmVmLGdsb2JhbDp0cnVlLHR5cGU6IkdFVCIsY29udGVudFR5cGU6ImFwcGxpY2F0 aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIscHJvY2Vzc0RhdGE6dHJ1ZSxhc3lu Yzp0cnVlLHhocjpmdW5jdGlvbigpe3JldHVybiBuZXcgRS5YTUxIdHRwUmVxdWVz dH0sYWNjZXB0czp7eG1sOiJhcHBsaWNhdGlvbi94bWwsIHRleHQveG1sIixodG1s OiJ0ZXh0L2h0bWwiLHNjcmlwdDoidGV4dC9qYXZhc2NyaXB0LCBhcHBsaWNhdGlv bi9qYXZhc2NyaXB0Iixqc29uOiJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L2phdmFz Y3JpcHQiLHRleHQ6InRleHQvcGxhaW4iLF9kZWZhdWx0OiIqLyoifX0sYWpheDpm dW5jdGlvbihhKXt2YXIgYj1jLmV4dGVuZCh0cnVlLHt9LGMuYWpheFNldHRpbmdz LGEpLGQsZSxmLGg9Yi50eXBlLnRvVXBwZXJDYXNlKCksbD1xYi50ZXN0KGgpO2Iu dXJsPWIudXJsLnJlcGxhY2UodWIsIiIpO2IuY29udGV4dD1hJiZhLmNvbnRleHQh PW51bGw/YS5jb250ZXh0OmI7aWYoYi5kYXRhJiZiLnByb2Nlc3NEYXRhJiZ0eXBl b2YgYi5kYXRhIT09InN0cmluZyIpYi5kYXRhPWMucGFyYW0oYi5kYXRhLGIudHJh ZGl0aW9uYWwpO2lmKGIuZGF0YVR5cGU9PT0ianNvbnAiKXtpZihoPT09IkdFVCIp VC50ZXN0KGIudXJsKXx8KGIudXJsKz0oamEudGVzdChiLnVybCk/IiYiOiI/Iikr KGIuanNvbnB8fCJjYWxsYmFjayIpKyI9PyIpO2Vsc2UgaWYoIWIuZGF0YXx8IVQu dGVzdChiLmRhdGEpKWIuZGF0YT0oYi5kYXRhP2IuZGF0YSsiJiI6IiIpKyhiLmpz b25wfHwiY2FsbGJhY2siKSsiPT8iO2IuZGF0YVR5cGU9Impzb24ifWlmKGIuZGF0 YVR5cGU9PT0ianNvbiImJihiLmRhdGEmJlQudGVzdChiLmRhdGEpfHxULnRlc3Qo Yi51cmwpKSl7ZD1iLmpzb25wQ2FsbGJhY2t8fCJqc29ucCIrbWIrKztpZihiLmRh dGEpYi5kYXRhPShiLmRhdGErIiIpLnJlcGxhY2UoVCwiPSIrZCsiJDEiKTtiLnVy bD1iLnVybC5yZXBsYWNlKFQsIj0iK2QrIiQxIik7Yi5kYXRhVHlwZT0ic2NyaXB0 Ijt2YXIgaz1FW2RdO0VbZF09ZnVuY3Rpb24obSl7aWYoYy5pc0Z1bmN0aW9uKGsp KWsobSk7ZWxzZXtFW2RdPUI7dHJ5e2RlbGV0ZSBFW2RdfWNhdGNoKHApe319Zj1t O2MuaGFuZGxlU3VjY2VzcyhiLHcsZSxmKTtjLmhhbmRsZUNvbXBsZXRlKGIsdyxl LGYpO3ImJnIucmVtb3ZlQ2hpbGQoQSl9fWlmKGIuZGF0YVR5cGU9PT0ic2NyaXB0 IiYmYi5jYWNoZT09PW51bGwpYi5jYWNoZT1mYWxzZTtpZihiLmNhY2hlPT09ZmFs c2UmJmwpe3ZhciBvPWMubm93KCkseD1iLnVybC5yZXBsYWNlKHJiLCIkMV89Iitv KTtiLnVybD14Kyh4PT09Yi51cmw/KGphLnRlc3QoYi51cmwpPyImIjoiPyIpKyJf PSIrbzoiIil9aWYoYi5kYXRhJiZsKWIudXJsKz0oamEudGVzdChiLnVybCk/IiYi OiI/IikrYi5kYXRhO2IuZ2xvYmFsJiZjLmFjdGl2ZSsrPT09MCYmYy5ldmVudC50 cmlnZ2VyKCJhamF4U3RhcnQiKTtvPShvPXNiLmV4ZWMoYi51cmwpKSYmKG9bMV0m Jm9bMV0udG9Mb3dlckNhc2UoKSE9PWxvY2F0aW9uLnByb3RvY29sfHxvWzJdLnRv TG93ZXJDYXNlKCkhPT1sb2NhdGlvbi5ob3N0KTtpZihiLmRhdGFUeXBlPT09InNj cmlwdCImJmg9PT0iR0VUIiYmbyl7dmFyIHI9dC5nZXRFbGVtZW50c0J5VGFnTmFt ZSgiaGVhZCIpWzBdfHx0LmRvY3VtZW50RWxlbWVudCxBPXQuY3JlYXRlRWxlbWVu dCgic2NyaXB0Iik7aWYoYi5zY3JpcHRDaGFyc2V0KUEuY2hhcnNldD1iLnNjcmlw dENoYXJzZXQ7QS5zcmM9Yi51cmw7aWYoIWQpe3ZhciBDPWZhbHNlO0Eub25sb2Fk PUEub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoIUMmJighdGhpcy5y ZWFkeVN0YXRlfHx0aGlzLnJlYWR5U3RhdGU9PT0ibG9hZGVkInx8dGhpcy5yZWFk eVN0YXRlPT09ImNvbXBsZXRlIikpe0M9dHJ1ZTtjLmhhbmRsZVN1Y2Nlc3MoYix3 LGUsZik7Yy5oYW5kbGVDb21wbGV0ZShiLHcsZSxmKTtBLm9ubG9hZD1BLm9ucmVh ZHlzdGF0ZWNoYW5nZT1udWxsO3ImJkEucGFyZW50Tm9kZSYmci5yZW1vdmVDaGls ZChBKX19fXIuaW5zZXJ0QmVmb3JlKEEsci5maXJzdENoaWxkKTtyZXR1cm4gQn12 YXIgSj1mYWxzZSx3PWIueGhyKCk7aWYodyl7Yi51c2VybmFtZT93Lm9wZW4oaCxi LnVybCxiLmFzeW5jLGIudXNlcm5hbWUsYi5wYXNzd29yZCk6dy5vcGVuKGgsYi51 cmwsYi5hc3luYyk7dHJ5e2lmKGIuZGF0YSE9bnVsbCYmIWx8fGEmJmEuY29udGVu dFR5cGUpdy5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLGIuY29udGVu dFR5cGUpO2lmKGIuaWZNb2RpZmllZCl7Yy5sYXN0TW9kaWZpZWRbYi51cmxdJiZ3 LnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixjLmxhc3RNb2Rp ZmllZFtiLnVybF0pO2MuZXRhZ1tiLnVybF0mJncuc2V0UmVxdWVzdEhlYWRlcigi SWYtTm9uZS1NYXRjaCIsYy5ldGFnW2IudXJsXSl9b3x8dy5zZXRSZXF1ZXN0SGVh ZGVyKCJYLVJlcXVlc3RlZC1XaXRoIiwiWE1MSHR0cFJlcXVlc3QiKTt3LnNldFJl cXVlc3RIZWFkZXIoIkFjY2VwdCIsYi5kYXRhVHlwZSYmYi5hY2NlcHRzW2IuZGF0 YVR5cGVdP2IuYWNjZXB0c1tiLmRhdGFUeXBlXSsiLCAqLyo7IHE9MC4wMSI6Yi5h Y2NlcHRzLl9kZWZhdWx0KX1jYXRjaChJKXt9aWYoYi5iZWZvcmVTZW5kJiZiLmJl Zm9yZVNlbmQuY2FsbChiLmNvbnRleHQsdyxiKT09PWZhbHNlKXtiLmdsb2JhbCYm Yy5hY3RpdmUtLT09PTEmJmMuZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKTt3LmFi b3J0KCk7cmV0dXJuIGZhbHNlfWIuZ2xvYmFsJiZjLnRyaWdnZXJHbG9iYWwoYiwi YWpheFNlbmQiLFt3LGJdKTt2YXIgTD13Lm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5j dGlvbihtKXtpZighd3x8dy5yZWFkeVN0YXRlPT09MHx8bT09PSJhYm9ydCIpe0p8 fGMuaGFuZGxlQ29tcGxldGUoYix3LGUsZik7Sj10cnVlO2lmKHcpdy5vbnJlYWR5 c3RhdGVjaGFuZ2U9Yy5ub29wfWVsc2UgaWYoIUomJncmJih3LnJlYWR5U3RhdGU9 PT00fHxtPT09InRpbWVvdXQiKSl7Sj10cnVlO3cub25yZWFkeXN0YXRlY2hhbmdl PWMubm9vcDtlPW09PT0idGltZW91dCI/InRpbWVvdXQiOiFjLmh0dHBTdWNjZXNz KHcpPyJlcnJvciI6Yi5pZk1vZGlmaWVkJiZjLmh0dHBOb3RNb2RpZmllZCh3LGIu dXJsKT8ibm90bW9kaWZpZWQiOiJzdWNjZXNzIjt2YXIgcDtpZihlPT09InN1Y2Nl c3MiKXRyeXtmPWMuaHR0cERhdGEodyxiLmRhdGFUeXBlLGIpfWNhdGNoKHEpe2U9 InBhcnNlcmVycm9yIjtwPXF9aWYoZT09PSJzdWNjZXNzInx8ZT09PSJub3Rtb2Rp ZmllZCIpZHx8Yy5oYW5kbGVTdWNjZXNzKGIsdyxlLGYpO2Vsc2UgYy5oYW5kbGVF cnJvcihiLHcsZSxwKTtkfHxjLmhhbmRsZUNvbXBsZXRlKGIsdyxlLGYpO209PT0i dGltZW91dCImJncuYWJvcnQoKTtpZihiLmFzeW5jKXc9bnVsbH19O3RyeXt2YXIg Zz13LmFib3J0O3cuYWJvcnQ9ZnVuY3Rpb24oKXt3JiZGdW5jdGlvbi5wcm90b3R5 cGUuY2FsbC5jYWxsKGcsdyk7TCgiYWJvcnQiKX19Y2F0Y2goaSl7fWIuYXN5bmMm JmIudGltZW91dD4wJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dyYmIUomJkwoInRp bWVvdXQiKX0sYi50aW1lb3V0KTt0cnl7dy5zZW5kKGx8fGIuZGF0YT09bnVsbD9u dWxsOmIuZGF0YSl9Y2F0Y2gobil7Yy5oYW5kbGVFcnJvcihiLHcsbnVsbCxuKTtj LmhhbmRsZUNvbXBsZXRlKGIsdyxlLGYpfWIuYXN5bmN8fEwoKTtyZXR1cm4gd319 LHBhcmFtOmZ1bmN0aW9uKGEsYil7dmFyIGQ9W10sZT1mdW5jdGlvbihoLGwpe2w9 Yy5pc0Z1bmN0aW9uKGwpP2woKTpsO2RbZC5sZW5ndGhdPWVuY29kZVVSSUNvbXBv bmVudChoKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGwpfTtpZihiPT09QiliPWMu YWpheFNldHRpbmdzLnRyYWRpdGlvbmFsO2lmKGMuaXNBcnJheShhKXx8YS5qcXVl cnkpYy5lYWNoKGEsZnVuY3Rpb24oKXtlKHRoaXMubmFtZSx0aGlzLnZhbHVlKX0p O2Vsc2UgZm9yKHZhciBmIGluIGEpZGEoZixhW2ZdLGIsZSk7cmV0dXJuIGQuam9p bigiJiIpLnJlcGxhY2UodGIsIisiKX19KTtjLmV4dGVuZCh7YWN0aXZlOjAsbGFz dE1vZGlmaWVkOnt9LGV0YWc6e30saGFuZGxlRXJyb3I6ZnVuY3Rpb24oYSxiLGQs ZSl7YS5lcnJvciYmYS5lcnJvci5jYWxsKGEuY29udGV4dCxiLGQsZSk7YS5nbG9i YWwmJmMudHJpZ2dlckdsb2JhbChhLCJhamF4RXJyb3IiLFtiLGEsZV0pfSxoYW5k bGVTdWNjZXNzOmZ1bmN0aW9uKGEsYixkLGUpe2Euc3VjY2VzcyYmYS5zdWNjZXNz LmNhbGwoYS5jb250ZXh0LGUsZCxiKTthLmdsb2JhbCYmYy50cmlnZ2VyR2xvYmFs KGEsImFqYXhTdWNjZXNzIixbYixhXSl9LGhhbmRsZUNvbXBsZXRlOmZ1bmN0aW9u KGEsYixkKXthLmNvbXBsZXRlJiZhLmNvbXBsZXRlLmNhbGwoYS5jb250ZXh0LGIs ZCk7YS5nbG9iYWwmJmMudHJpZ2dlckdsb2JhbChhLCJhamF4Q29tcGxldGUiLFti LGFdKTthLmdsb2JhbCYmYy5hY3RpdmUtLT09PTEmJmMuZXZlbnQudHJpZ2dlcigi YWpheFN0b3AiKX0sdHJpZ2dlckdsb2JhbDpmdW5jdGlvbihhLGIsZCl7KGEuY29u dGV4dCYmYS5jb250ZXh0LnVybD09bnVsbD9jKGEuY29udGV4dCk6Yy5ldmVudCku dHJpZ2dlcihiLGQpfSxodHRwU3VjY2VzczpmdW5jdGlvbihhKXt0cnl7cmV0dXJu IWEuc3RhdHVzJiZsb2NhdGlvbi5wcm90b2NvbD09PSJmaWxlOiJ8fGEuc3RhdHVz Pj0yMDAmJmEuc3RhdHVzPDMwMHx8YS5zdGF0dXM9PT0zMDR8fGEuc3RhdHVzPT09 MTIyM31jYXRjaChiKXt9cmV0dXJuIGZhbHNlfSxodHRwTm90TW9kaWZpZWQ6ZnVu Y3Rpb24oYSxiKXt2YXIgZD1hLmdldFJlc3BvbnNlSGVhZGVyKCJMYXN0LU1vZGlm aWVkIiksZT1hLmdldFJlc3BvbnNlSGVhZGVyKCJFdGFnIik7aWYoZCljLmxhc3RN b2RpZmllZFtiXT1kO2lmKGUpYy5ldGFnW2JdPWU7cmV0dXJuIGEuc3RhdHVzPT09 MzA0fSxodHRwRGF0YTpmdW5jdGlvbihhLGIsZCl7dmFyIGU9YS5nZXRSZXNwb25z ZUhlYWRlcigiY29udGVudC10eXBlIil8fCIiLGY9Yj09PSJ4bWwifHwhYiYmZS5p bmRleE9mKCJ4bWwiKT49MDthPWY/YS5yZXNwb25zZVhNTDphLnJlc3BvbnNlVGV4 dDtmJiZhLmRvY3VtZW50RWxlbWVudC5ub2RlTmFtZT09PSJwYXJzZXJlcnJvciIm JmMuZXJyb3IoInBhcnNlcmVycm9yIik7aWYoZCYmZC5kYXRhRmlsdGVyKWE9ZC5k YXRhRmlsdGVyKGEsYik7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilpZihiPT09Impz b24ifHwhYiYmZS5pbmRleE9mKCJqc29uIik+PTApYT1jLnBhcnNlSlNPTihhKTtl bHNlIGlmKGI9PT0ic2NyaXB0Inx8IWImJmUuaW5kZXhPZigiamF2YXNjcmlwdCIp Pj0wKWMuZ2xvYmFsRXZhbChhKTtyZXR1cm4gYX19KTtpZihFLkFjdGl2ZVhPYmpl Y3QpYy5hamF4U2V0dGluZ3MueGhyPWZ1bmN0aW9uKCl7aWYoRS5sb2NhdGlvbi5w cm90b2NvbCE9PSJmaWxlOiIpdHJ5e3JldHVybiBuZXcgRS5YTUxIdHRwUmVxdWVz dH1jYXRjaChhKXt9dHJ5e3JldHVybiBuZXcgRS5BY3RpdmVYT2JqZWN0KCJNaWNy b3NvZnQuWE1MSFRUUCIpfWNhdGNoKGIpe319O2Muc3VwcG9ydC5hamF4PSEhYy5h amF4U2V0dGluZ3MueGhyKCk7dmFyIGVhPXt9LHZiPS9eKD86dG9nZ2xlfHNob3d8 aGlkZSkkLyx3Yj0vXihbK1wtXT0pPyhbXGQrLlwtXSspKC4qKSQvLGJhLHBhPVtb ImhlaWdodCIsIm1hcmdpblRvcCIsIm1hcmdpbkJvdHRvbSIsInBhZGRpbmdUb3Ai LCJwYWRkaW5nQm90dG9tIl0sWyJ3aWR0aCIsIm1hcmdpbkxlZnQiLCJtYXJnaW5S aWdodCIsInBhZGRpbmdMZWZ0IiwicGFkZGluZ1JpZ2h0Il0sWyJvcGFjaXR5Il1d O2MuZm4uZXh0ZW5kKHtzaG93OmZ1bmN0aW9uKGEsYixkKXtpZihhfHxhPT09MCly ZXR1cm4gdGhpcy5hbmltYXRlKFMoInNob3ciLDMpLGEsYixkKTtlbHNle2Q9MDtm b3IodmFyIGU9dGhpcy5sZW5ndGg7ZDxlO2QrKyl7YT10aGlzW2RdO2I9YS5zdHls ZS5kaXNwbGF5O2lmKCFjLmRhdGEoYSwib2xkZGlzcGxheSIpJiZiPT09Im5vbmUi KWI9YS5zdHlsZS5kaXNwbGF5PSIiO2I9PT0iIiYmYy5jc3MoYSwiZGlzcGxheSIp PT09Im5vbmUiJiZjLmRhdGEoYSwib2xkZGlzcGxheSIscWEoYS5ub2RlTmFtZSkp fWZvcihkPTA7ZDxlO2QrKyl7YT10aGlzW2RdO2I9YS5zdHlsZS5kaXNwbGF5O2lm KGI9PT0iInx8Yj09PSJub25lIilhLnN0eWxlLmRpc3BsYXk9Yy5kYXRhKGEsIm9s ZGRpc3BsYXkiKXx8IiJ9cmV0dXJuIHRoaXN9fSxoaWRlOmZ1bmN0aW9uKGEsYixk KXtpZihhfHxhPT09MClyZXR1cm4gdGhpcy5hbmltYXRlKFMoImhpZGUiLDMpLGEs YixkKTtlbHNle2E9MDtmb3IoYj10aGlzLmxlbmd0aDthPGI7YSsrKXtkPWMuY3Nz KHRoaXNbYV0sImRpc3BsYXkiKTtkIT09Im5vbmUiJiZjLmRhdGEodGhpc1thXSwi b2xkZGlzcGxheSIsZCl9Zm9yKGE9MDthPGI7YSsrKXRoaXNbYV0uc3R5bGUuZGlz cGxheT0ibm9uZSI7cmV0dXJuIHRoaXN9fSxfdG9nZ2xlOmMuZm4udG9nZ2xlLHRv Z2dsZTpmdW5jdGlvbihhLGIsZCl7dmFyIGU9dHlwZW9mIGE9PT0iYm9vbGVhbiI7 aWYoYy5pc0Z1bmN0aW9uKGEpJiZjLmlzRnVuY3Rpb24oYikpdGhpcy5fdG9nZ2xl LmFwcGx5KHRoaXMsYXJndW1lbnRzKTtlbHNlIGE9PW51bGx8fGU/dGhpcy5lYWNo KGZ1bmN0aW9uKCl7dmFyIGY9ZT9hOmModGhpcykuaXMoIjpoaWRkZW4iKTtjKHRo aXMpW2Y/InNob3ciOiJoaWRlIl0oKX0pOnRoaXMuYW5pbWF0ZShTKCJ0b2dnbGUi LDMpLGEsYixkKTtyZXR1cm4gdGhpc30sZmFkZVRvOmZ1bmN0aW9uKGEsYixkLGUp e3JldHVybiB0aGlzLmZpbHRlcigiOmhpZGRlbiIpLmNzcygib3BhY2l0eSIsMCku c2hvdygpLmVuZCgpLmFuaW1hdGUoe29wYWNpdHk6Yn0sYSxkLGUpfSxhbmltYXRl OmZ1bmN0aW9uKGEsYixkLGUpe3ZhciBmPWMuc3BlZWQoYixkLGUpO2lmKGMuaXNF bXB0eU9iamVjdChhKSlyZXR1cm4gdGhpcy5lYWNoKGYuY29tcGxldGUpO3JldHVy biB0aGlzW2YucXVldWU9PT1mYWxzZT8iZWFjaCI6InF1ZXVlIl0oZnVuY3Rpb24o KXt2YXIgaD1jLmV4dGVuZCh7fSxmKSxsLGs9dGhpcy5ub2RlVHlwZT09PTEsbz1r JiZjKHRoaXMpLmlzKCI6aGlkZGVuIikseD10aGlzO2ZvcihsIGluIGEpe3ZhciBy PWMuY2FtZWxDYXNlKGwpO2lmKGwhPT1yKXthW3JdPWFbbF07ZGVsZXRlIGFbbF07 bD1yfWlmKGFbbF09PT0iaGlkZSImJm98fGFbbF09PT0ic2hvdyImJiFvKXJldHVy biBoLmNvbXBsZXRlLmNhbGwodGhpcyk7aWYoayYmKGw9PT0iaGVpZ2h0Inx8bD09 PSJ3aWR0aCIpKXtoLm92ZXJmbG93PVt0aGlzLnN0eWxlLm92ZXJmbG93LHRoaXMu c3R5bGUub3ZlcmZsb3dYLHRoaXMuc3R5bGUub3ZlcmZsb3dZXTtpZihjLmNzcyh0 aGlzLCJkaXNwbGF5Iik9PT0iaW5saW5lIiYmYy5jc3ModGhpcywiZmxvYXQiKT09 PSJub25lIilpZihjLnN1cHBvcnQuaW5saW5lQmxvY2tOZWVkc0xheW91dClpZihx YSh0aGlzLm5vZGVOYW1lKT09PSJpbmxpbmUiKXRoaXMuc3R5bGUuZGlzcGxheT0i aW5saW5lLWJsb2NrIjtlbHNle3RoaXMuc3R5bGUuZGlzcGxheT0iaW5saW5lIjt0 aGlzLnN0eWxlLnpvb209MX1lbHNlIHRoaXMuc3R5bGUuZGlzcGxheT0iaW5saW5l LWJsb2NrIn1pZihjLmlzQXJyYXkoYVtsXSkpeyhoLnNwZWNpYWxFYXNpbmc9aC5z cGVjaWFsRWFzaW5nfHx7fSlbbF09YVtsXVsxXTthW2xdPWFbbF1bMF19fWlmKGgu b3ZlcmZsb3chPW51bGwpdGhpcy5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIjtoLmN1 ckFuaW09Yy5leHRlbmQoe30sYSk7Yy5lYWNoKGEsZnVuY3Rpb24oQSxDKXt2YXIg Sj1uZXcgYy5meCh4LGgsQSk7aWYodmIudGVzdChDKSlKW0M9PT0idG9nZ2xlIj9v PyJzaG93IjoiaGlkZSI6Q10oYSk7ZWxzZXt2YXIgdz13Yi5leGVjKEMpLEk9Si5j dXIoKXx8MDtpZih3KXt2YXIgTD1wYXJzZUZsb2F0KHdbMl0pLGc9d1szXXx8InB4 IjtpZihnIT09InB4Iil7Yy5zdHlsZSh4LEEsKEx8fDEpK2cpO0k9KEx8fDEpL0ou Y3VyKCkqSTtjLnN0eWxlKHgsQSxJK2cpfWlmKHdbMV0pTD0od1sxXT09PSItPSI/ LTE6MSkqTCtJO0ouY3VzdG9tKEksTCxnKX1lbHNlIEouY3VzdG9tKEksQywiIil9 fSk7cmV0dXJuIHRydWV9KX0sc3RvcDpmdW5jdGlvbihhLGIpe3ZhciBkPWMudGlt ZXJzO2EmJnRoaXMucXVldWUoW10pO3RoaXMuZWFjaChmdW5jdGlvbigpe2Zvcih2 YXIgZT1kLmxlbmd0aC0xO2U+PTA7ZS0tKWlmKGRbZV0uZWxlbT09PXRoaXMpe2Im JmRbZV0odHJ1ZSk7ZC5zcGxpY2UoZSwxKX19KTtifHx0aGlzLmRlcXVldWUoKTty ZXR1cm4gdGhpc319KTtjLmVhY2goe3NsaWRlRG93bjpTKCJzaG93IiwxKSxzbGlk ZVVwOlMoImhpZGUiLDEpLHNsaWRlVG9nZ2xlOlMoInRvZ2dsZSIsMSksZmFkZUlu OntvcGFjaXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlkZSJ9LGZhZGVU b2dnbGU6e29wYWNpdHk6InRvZ2dsZSJ9fSxmdW5jdGlvbihhLGIpe2MuZm5bYV09 ZnVuY3Rpb24oZCxlLGYpe3JldHVybiB0aGlzLmFuaW1hdGUoYixkLGUsZil9fSk7 Yy5leHRlbmQoe3NwZWVkOmZ1bmN0aW9uKGEsYixkKXt2YXIgZT1hJiZ0eXBlb2Yg YT09PSJvYmplY3QiP2MuZXh0ZW5kKHt9LGEpOntjb21wbGV0ZTpkfHwhZCYmYnx8 Yy5pc0Z1bmN0aW9uKGEpJiZhLGR1cmF0aW9uOmEsZWFzaW5nOmQmJmJ8fGImJiFj LmlzRnVuY3Rpb24oYikmJmJ9O2UuZHVyYXRpb249Yy5meC5vZmY/MDp0eXBlb2Yg ZS5kdXJhdGlvbj09PSJudW1iZXIiP2UuZHVyYXRpb246ZS5kdXJhdGlvbiBpbiBj LmZ4LnNwZWVkcz9jLmZ4LnNwZWVkc1tlLmR1cmF0aW9uXTpjLmZ4LnNwZWVkcy5f ZGVmYXVsdDtlLm9sZD1lLmNvbXBsZXRlO2UuY29tcGxldGU9ZnVuY3Rpb24oKXtl LnF1ZXVlIT09ZmFsc2UmJmModGhpcykuZGVxdWV1ZSgpO2MuaXNGdW5jdGlvbihl Lm9sZCkmJmUub2xkLmNhbGwodGhpcyl9O3JldHVybiBlfSxlYXNpbmc6e2xpbmVh cjpmdW5jdGlvbihhLGIsZCxlKXtyZXR1cm4gZCtlKmF9LHN3aW5nOmZ1bmN0aW9u KGEsYixkLGUpe3JldHVybigtTWF0aC5jb3MoYSpNYXRoLlBJKS8yKzAuNSkqZStk fX0sdGltZXJzOltdLGZ4OmZ1bmN0aW9uKGEsYixkKXt0aGlzLm9wdGlvbnM9Yjt0 aGlzLmVsZW09YTt0aGlzLnByb3A9ZDtpZighYi5vcmlnKWIub3JpZz17fX19KTtj LmZ4LnByb3RvdHlwZT17dXBkYXRlOmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLnN0 ZXAmJnRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRoaXMubm93LHRo aXMpOyhjLmZ4LnN0ZXBbdGhpcy5wcm9wXXx8Yy5meC5zdGVwLl9kZWZhdWx0KSh0 aGlzKX0sY3VyOmZ1bmN0aW9uKCl7aWYodGhpcy5lbGVtW3RoaXMucHJvcF0hPW51 bGwmJighdGhpcy5lbGVtLnN0eWxlfHx0aGlzLmVsZW0uc3R5bGVbdGhpcy5wcm9w XT09bnVsbCkpcmV0dXJuIHRoaXMuZWxlbVt0aGlzLnByb3BdO3ZhciBhPXBhcnNl RmxvYXQoYy5jc3ModGhpcy5lbGVtLHRoaXMucHJvcCkpO3JldHVybiBhJiZhPi0x RTQ/YTowfSxjdXN0b206ZnVuY3Rpb24oYSxiLGQpe2Z1bmN0aW9uIGUobCl7cmV0 dXJuIGYuc3RlcChsKX0NCnZhciBmPXRoaXMsaD1jLmZ4O3RoaXMuc3RhcnRUaW1l PWMubm93KCk7dGhpcy5zdGFydD1hO3RoaXMuZW5kPWI7dGhpcy51bml0PWR8fHRo aXMudW5pdHx8InB4Ijt0aGlzLm5vdz10aGlzLnN0YXJ0O3RoaXMucG9zPXRoaXMu c3RhdGU9MDtlLmVsZW09dGhpcy5lbGVtO2lmKGUoKSYmYy50aW1lcnMucHVzaChl KSYmIWJhKWJhPXNldEludGVydmFsKGgudGljayxoLmludGVydmFsKX0sc2hvdzpm dW5jdGlvbigpe3RoaXMub3B0aW9ucy5vcmlnW3RoaXMucHJvcF09Yy5zdHlsZSh0 aGlzLmVsZW0sdGhpcy5wcm9wKTt0aGlzLm9wdGlvbnMuc2hvdz10cnVlO3RoaXMu Y3VzdG9tKHRoaXMucHJvcD09PSJ3aWR0aCJ8fHRoaXMucHJvcD09PSJoZWlnaHQi PzE6MCx0aGlzLmN1cigpKTtjKHRoaXMuZWxlbSkuc2hvdygpfSxoaWRlOmZ1bmN0 aW9uKCl7dGhpcy5vcHRpb25zLm9yaWdbdGhpcy5wcm9wXT1jLnN0eWxlKHRoaXMu ZWxlbSx0aGlzLnByb3ApO3RoaXMub3B0aW9ucy5oaWRlPXRydWU7dGhpcy5jdXN0 b20odGhpcy5jdXIoKSwwKX0sc3RlcDpmdW5jdGlvbihhKXt2YXIgYj1jLm5vdygp LGQ9dHJ1ZTtpZihhfHxiPj10aGlzLm9wdGlvbnMuZHVyYXRpb24rdGhpcy5zdGFy dFRpbWUpe3RoaXMubm93PXRoaXMuZW5kO3RoaXMucG9zPXRoaXMuc3RhdGU9MTt0 aGlzLnVwZGF0ZSgpO3RoaXMub3B0aW9ucy5jdXJBbmltW3RoaXMucHJvcF09dHJ1 ZTtmb3IodmFyIGUgaW4gdGhpcy5vcHRpb25zLmN1ckFuaW0paWYodGhpcy5vcHRp b25zLmN1ckFuaW1bZV0hPT10cnVlKWQ9ZmFsc2U7aWYoZCl7aWYodGhpcy5vcHRp b25zLm92ZXJmbG93IT1udWxsJiYhYy5zdXBwb3J0LnNocmlua1dyYXBCbG9ja3Mp e3ZhciBmPXRoaXMuZWxlbSxoPXRoaXMub3B0aW9ucztjLmVhY2goWyIiLCJYIiwi WSJdLGZ1bmN0aW9uKGssbyl7Zi5zdHlsZVsib3ZlcmZsb3ciK29dPWgub3ZlcmZs b3dba119KX10aGlzLm9wdGlvbnMuaGlkZSYmYyh0aGlzLmVsZW0pLmhpZGUoKTtp Zih0aGlzLm9wdGlvbnMuaGlkZXx8dGhpcy5vcHRpb25zLnNob3cpZm9yKHZhciBs IGluIHRoaXMub3B0aW9ucy5jdXJBbmltKWMuc3R5bGUodGhpcy5lbGVtLGwsdGhp cy5vcHRpb25zLm9yaWdbbF0pO3RoaXMub3B0aW9ucy5jb21wbGV0ZS5jYWxsKHRo aXMuZWxlbSl9cmV0dXJuIGZhbHNlfWVsc2V7YT1iLXRoaXMuc3RhcnRUaW1lO3Ro aXMuc3RhdGU9YS90aGlzLm9wdGlvbnMuZHVyYXRpb247Yj10aGlzLm9wdGlvbnMu ZWFzaW5nfHwoYy5lYXNpbmcuc3dpbmc/InN3aW5nIjoibGluZWFyIik7dGhpcy5w b3M9Yy5lYXNpbmdbdGhpcy5vcHRpb25zLnNwZWNpYWxFYXNpbmcmJnRoaXMub3B0 aW9ucy5zcGVjaWFsRWFzaW5nW3RoaXMucHJvcF18fGJdKHRoaXMuc3RhdGUsYSww LDEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKTt0aGlzLm5vdz10aGlzLnN0YXJ0Kyh0 aGlzLmVuZC10aGlzLnN0YXJ0KSp0aGlzLnBvczt0aGlzLnVwZGF0ZSgpfXJldHVy biB0cnVlfX07Yy5leHRlbmQoYy5meCx7dGljazpmdW5jdGlvbigpe2Zvcih2YXIg YT1jLnRpbWVycyxiPTA7YjxhLmxlbmd0aDtiKyspYVtiXSgpfHxhLnNwbGljZShi LS0sMSk7YS5sZW5ndGh8fGMuZnguc3RvcCgpfSxpbnRlcnZhbDoxMyxzdG9wOmZ1 bmN0aW9uKCl7Y2xlYXJJbnRlcnZhbChiYSk7YmE9bnVsbH0sc3BlZWRzOntzbG93 OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LHN0ZXA6e29wYWNpdHk6ZnVuY3Rp b24oYSl7Yy5zdHlsZShhLmVsZW0sIm9wYWNpdHkiLGEubm93KX0sX2RlZmF1bHQ6 ZnVuY3Rpb24oYSl7aWYoYS5lbGVtLnN0eWxlJiZhLmVsZW0uc3R5bGVbYS5wcm9w XSE9bnVsbClhLmVsZW0uc3R5bGVbYS5wcm9wXT0oYS5wcm9wPT09IndpZHRoInx8 YS5wcm9wPT09ImhlaWdodCI/TWF0aC5tYXgoMCxhLm5vdyk6YS5ub3cpK2EudW5p dDtlbHNlIGEuZWxlbVthLnByb3BdPWEubm93fX19KTtpZihjLmV4cHImJmMuZXhw ci5maWx0ZXJzKWMuZXhwci5maWx0ZXJzLmFuaW1hdGVkPWZ1bmN0aW9uKGEpe3Jl dHVybiBjLmdyZXAoYy50aW1lcnMsZnVuY3Rpb24oYil7cmV0dXJuIGE9PT1iLmVs ZW19KS5sZW5ndGh9O3ZhciB4Yj0vXnQoPzphYmxlfGR8aCkkL2ksSWE9L14oPzpi b2R5fGh0bWwpJC9pO2MuZm4ub2Zmc2V0PSJnZXRCb3VuZGluZ0NsaWVudFJlY3Qi aW4gdC5kb2N1bWVudEVsZW1lbnQ/ZnVuY3Rpb24oYSl7dmFyIGI9dGhpc1swXSxk O2lmKGEpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihsKXtjLm9mZnNldC5zZXRP ZmZzZXQodGhpcyxhLGwpfSk7aWYoIWJ8fCFiLm93bmVyRG9jdW1lbnQpcmV0dXJu IG51bGw7aWYoYj09PWIub3duZXJEb2N1bWVudC5ib2R5KXJldHVybiBjLm9mZnNl dC5ib2R5T2Zmc2V0KGIpO3RyeXtkPWIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9 Y2F0Y2goZSl7fXZhciBmPWIub3duZXJEb2N1bWVudCxoPWYuZG9jdW1lbnRFbGVt ZW50O2lmKCFkfHwhYy5jb250YWlucyhoLGIpKXJldHVybiBkfHx7dG9wOjAsbGVm dDowfTtiPWYuYm9keTtmPWZhKGYpO3JldHVybnt0b3A6ZC50b3ArKGYucGFnZVlP ZmZzZXR8fGMuc3VwcG9ydC5ib3hNb2RlbCYmaC5zY3JvbGxUb3B8fGIuc2Nyb2xs VG9wKS0oaC5jbGllbnRUb3B8fGIuY2xpZW50VG9wfHwwKSxsZWZ0OmQubGVmdCso Zi5wYWdlWE9mZnNldHx8Yy5zdXBwb3J0LmJveE1vZGVsJiZoLnNjcm9sbExlZnR8 fGIuc2Nyb2xsTGVmdCktKGguY2xpZW50TGVmdHx8Yi5jbGllbnRMZWZ0fHwwKX19 OmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXNbMF07aWYoYSlyZXR1cm4gdGhpcy5lYWNo KGZ1bmN0aW9uKHgpe2Mub2Zmc2V0LnNldE9mZnNldCh0aGlzLGEseCl9KTtpZigh Ynx8IWIub3duZXJEb2N1bWVudClyZXR1cm4gbnVsbDtpZihiPT09Yi5vd25lckRv Y3VtZW50LmJvZHkpcmV0dXJuIGMub2Zmc2V0LmJvZHlPZmZzZXQoYik7Yy5vZmZz ZXQuaW5pdGlhbGl6ZSgpO3ZhciBkLGU9Yi5vZmZzZXRQYXJlbnQsZj1iLm93bmVy RG9jdW1lbnQsaD1mLmRvY3VtZW50RWxlbWVudCxsPWYuYm9keTtkPShmPWYuZGVm YXVsdFZpZXcpP2YuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpOmIuY3VycmVudFN0 eWxlO2Zvcih2YXIgaz1iLm9mZnNldFRvcCxvPWIub2Zmc2V0TGVmdDsoYj1iLnBh cmVudE5vZGUpJiZiIT09bCYmYiE9PWg7KXtpZihjLm9mZnNldC5zdXBwb3J0c0Zp eGVkUG9zaXRpb24mJmQucG9zaXRpb249PT0iZml4ZWQiKWJyZWFrO2Q9Zj9mLmdl dENvbXB1dGVkU3R5bGUoYixudWxsKTpiLmN1cnJlbnRTdHlsZTtrLT1iLnNjcm9s bFRvcDtvLT1iLnNjcm9sbExlZnQ7aWYoYj09PWUpe2srPWIub2Zmc2V0VG9wO28r PWIub2Zmc2V0TGVmdDtpZihjLm9mZnNldC5kb2VzTm90QWRkQm9yZGVyJiYhKGMu b2Zmc2V0LmRvZXNBZGRCb3JkZXJGb3JUYWJsZUFuZENlbGxzJiZ4Yi50ZXN0KGIu bm9kZU5hbWUpKSl7ays9cGFyc2VGbG9hdChkLmJvcmRlclRvcFdpZHRoKXx8MDtv Kz1wYXJzZUZsb2F0KGQuYm9yZGVyTGVmdFdpZHRoKXx8MH1lPWIub2Zmc2V0UGFy ZW50fWlmKGMub2Zmc2V0LnN1YnRyYWN0c0JvcmRlckZvck92ZXJmbG93Tm90Vmlz aWJsZSYmZC5vdmVyZmxvdyE9PSJ2aXNpYmxlIil7ays9cGFyc2VGbG9hdChkLmJv cmRlclRvcFdpZHRoKXx8MDtvKz1wYXJzZUZsb2F0KGQuYm9yZGVyTGVmdFdpZHRo KXx8MH1kPWR9aWYoZC5wb3NpdGlvbj09PSJyZWxhdGl2ZSJ8fGQucG9zaXRpb249 PT0ic3RhdGljIil7ays9bC5vZmZzZXRUb3A7bys9bC5vZmZzZXRMZWZ0fWlmKGMu b2Zmc2V0LnN1cHBvcnRzRml4ZWRQb3NpdGlvbiYmZC5wb3NpdGlvbj09PSJmaXhl ZCIpe2srPU1hdGgubWF4KGguc2Nyb2xsVG9wLGwuc2Nyb2xsVG9wKTtvKz1NYXRo Lm1heChoLnNjcm9sbExlZnQsbC5zY3JvbGxMZWZ0KX1yZXR1cm57dG9wOmssbGVm dDpvfX07Yy5vZmZzZXQ9e2luaXRpYWxpemU6ZnVuY3Rpb24oKXt2YXIgYT10LmJv ZHksYj10LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQsZSxmLGg9cGFyc2VGbG9hdChj LmNzcyhhLCJtYXJnaW5Ub3AiKSl8fDA7Yy5leHRlbmQoYi5zdHlsZSx7cG9zaXRp b246ImFic29sdXRlIix0b3A6MCxsZWZ0OjAsbWFyZ2luOjAsYm9yZGVyOjAsd2lk dGg6IjFweCIsaGVpZ2h0OiIxcHgiLHZpc2liaWxpdHk6ImhpZGRlbiJ9KTtiLmlu bmVySFRNTD0iPGRpdiBzdHlsZT0ncG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVm dDowO21hcmdpbjowO2JvcmRlcjo1cHggc29saWQgIzAwMDtwYWRkaW5nOjA7d2lk dGg6MXB4O2hlaWdodDoxcHg7Jz48ZGl2PjwvZGl2PjwvZGl2Pjx0YWJsZSBzdHls ZT0ncG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO21hcmdpbjowO2JvcmRl cjo1cHggc29saWQgIzAwMDtwYWRkaW5nOjA7d2lkdGg6MXB4O2hlaWdodDoxcHg7 JyBjZWxscGFkZGluZz0nMCcgY2VsbHNwYWNpbmc9JzAnPjx0cj48dGQ+PC90ZD48 L3RyPjwvdGFibGU+IjthLmluc2VydEJlZm9yZShiLGEuZmlyc3RDaGlsZCk7ZD1i LmZpcnN0Q2hpbGQ7ZT1kLmZpcnN0Q2hpbGQ7Zj1kLm5leHRTaWJsaW5nLmZpcnN0 Q2hpbGQuZmlyc3RDaGlsZDt0aGlzLmRvZXNOb3RBZGRCb3JkZXI9ZS5vZmZzZXRU b3AhPT01O3RoaXMuZG9lc0FkZEJvcmRlckZvclRhYmxlQW5kQ2VsbHM9Zi5vZmZz ZXRUb3A9PT01O2Uuc3R5bGUucG9zaXRpb249ImZpeGVkIjtlLnN0eWxlLnRvcD0i MjBweCI7dGhpcy5zdXBwb3J0c0ZpeGVkUG9zaXRpb249ZS5vZmZzZXRUb3A9PT0y MHx8ZS5vZmZzZXRUb3A9PT0xNTtlLnN0eWxlLnBvc2l0aW9uPWUuc3R5bGUudG9w PSIiO2Quc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiI7ZC5zdHlsZS5wb3NpdGlvbj0i cmVsYXRpdmUiO3RoaXMuc3VidHJhY3RzQm9yZGVyRm9yT3ZlcmZsb3dOb3RWaXNp YmxlPWUub2Zmc2V0VG9wPT09LTU7dGhpcy5kb2VzTm90SW5jbHVkZU1hcmdpbklu Qm9keU9mZnNldD1hLm9mZnNldFRvcCE9PWg7YS5yZW1vdmVDaGlsZChiKTtjLm9m ZnNldC5pbml0aWFsaXplPWMubm9vcH0sYm9keU9mZnNldDpmdW5jdGlvbihhKXt2 YXIgYj1hLm9mZnNldFRvcCxkPWEub2Zmc2V0TGVmdDtjLm9mZnNldC5pbml0aWFs aXplKCk7aWYoYy5vZmZzZXQuZG9lc05vdEluY2x1ZGVNYXJnaW5JbkJvZHlPZmZz ZXQpe2IrPXBhcnNlRmxvYXQoYy5jc3MoYSwibWFyZ2luVG9wIikpfHwwO2QrPXBh cnNlRmxvYXQoYy5jc3MoYSwibWFyZ2luTGVmdCIpKXx8MH1yZXR1cm57dG9wOmIs bGVmdDpkfX0sc2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixkKXt2YXIgZT1jLmNzcyhh LCJwb3NpdGlvbiIpO2lmKGU9PT0ic3RhdGljIilhLnN0eWxlLnBvc2l0aW9uPSJy ZWxhdGl2ZSI7dmFyIGY9YyhhKSxoPWYub2Zmc2V0KCksbD1jLmNzcyhhLCJ0b3Ai KSxrPWMuY3NzKGEsImxlZnQiKSxvPWU9PT0iYWJzb2x1dGUiJiZjLmluQXJyYXko ImF1dG8iLFtsLGtdKT4tMTtlPXt9O3ZhciB4PXt9O2lmKG8peD1mLnBvc2l0aW9u KCk7bD1vP3gudG9wOnBhcnNlSW50KGwsMTApfHwwO2s9bz94LmxlZnQ6cGFyc2VJ bnQoaywxMCl8fDA7aWYoYy5pc0Z1bmN0aW9uKGIpKWI9Yi5jYWxsKGEsZCxoKTtp ZihiLnRvcCE9bnVsbCllLnRvcD1iLnRvcC1oLnRvcCtsO2lmKGIubGVmdCE9bnVs bCllLmxlZnQ9Yi5sZWZ0LWgubGVmdCtrOyJ1c2luZyJpbiBiP2IudXNpbmcuY2Fs bChhLGUpOmYuY3NzKGUpfX07Yy5mbi5leHRlbmQoe3Bvc2l0aW9uOmZ1bmN0aW9u KCl7aWYoIXRoaXNbMF0pcmV0dXJuIG51bGw7dmFyIGE9dGhpc1swXSxiPXRoaXMu b2Zmc2V0UGFyZW50KCksZD10aGlzLm9mZnNldCgpLGU9SWEudGVzdChiWzBdLm5v ZGVOYW1lKT97dG9wOjAsbGVmdDowfTpiLm9mZnNldCgpO2QudG9wLT1wYXJzZUZs b2F0KGMuY3NzKGEsIm1hcmdpblRvcCIpKXx8MDtkLmxlZnQtPXBhcnNlRmxvYXQo Yy5jc3MoYSwibWFyZ2luTGVmdCIpKXx8MDtlLnRvcCs9cGFyc2VGbG9hdChjLmNz cyhiWzBdLCJib3JkZXJUb3BXaWR0aCIpKXx8MDtlLmxlZnQrPXBhcnNlRmxvYXQo Yy5jc3MoYlswXSwiYm9yZGVyTGVmdFdpZHRoIikpfHwwO3JldHVybnt0b3A6ZC50 b3AtZS50b3AsbGVmdDpkLmxlZnQtZS5sZWZ0fX0sb2Zmc2V0UGFyZW50OmZ1bmN0 aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMu b2Zmc2V0UGFyZW50fHx0LmJvZHk7YSYmIUlhLnRlc3QoYS5ub2RlTmFtZSkmJmMu Y3NzKGEsInBvc2l0aW9uIik9PT0ic3RhdGljIjspYT1hLm9mZnNldFBhcmVudDty ZXR1cm4gYX0pfX0pO2MuZWFjaChbIkxlZnQiLCJUb3AiXSxmdW5jdGlvbihhLGIp e3ZhciBkPSJzY3JvbGwiK2I7Yy5mbltkXT1mdW5jdGlvbihlKXt2YXIgZj10aGlz WzBdLGg7aWYoIWYpcmV0dXJuIG51bGw7aWYoZSE9PUIpcmV0dXJuIHRoaXMuZWFj aChmdW5jdGlvbigpe2lmKGg9ZmEodGhpcykpaC5zY3JvbGxUbyghYT9lOmMoaCku c2Nyb2xsTGVmdCgpLGE/ZTpjKGgpLnNjcm9sbFRvcCgpKTtlbHNlIHRoaXNbZF09 ZX0pO2Vsc2UgcmV0dXJuKGg9ZmEoZikpPyJwYWdlWE9mZnNldCJpbiBoP2hbYT8i cGFnZVlPZmZzZXQiOiJwYWdlWE9mZnNldCJdOmMuc3VwcG9ydC5ib3hNb2RlbCYm aC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbZF18fGguZG9jdW1lbnQuYm9keVtk XTpmW2RdfX0pO2MuZWFjaChbIkhlaWdodCIsIldpZHRoIl0sZnVuY3Rpb24oYSxi KXt2YXIgZD1iLnRvTG93ZXJDYXNlKCk7Yy5mblsiaW5uZXIiK2JdPWZ1bmN0aW9u KCl7cmV0dXJuIHRoaXNbMF0/cGFyc2VGbG9hdChjLmNzcyh0aGlzWzBdLGQsInBh ZGRpbmciKSk6bnVsbH07Yy5mblsib3V0ZXIiK2JdPWZ1bmN0aW9uKGUpe3JldHVy biB0aGlzWzBdP3BhcnNlRmxvYXQoYy5jc3ModGhpc1swXSxkLGU/Im1hcmdpbiI6 ImJvcmRlciIpKTpudWxsfTtjLmZuW2RdPWZ1bmN0aW9uKGUpe3ZhciBmPXRoaXNb MF07aWYoIWYpcmV0dXJuIGU9PW51bGw/bnVsbDp0aGlzO2lmKGMuaXNGdW5jdGlv bihlKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGwpe3ZhciBrPWModGhpcyk7 a1tkXShlLmNhbGwodGhpcyxsLGtbZF0oKSkpfSk7aWYoYy5pc1dpbmRvdyhmKSly ZXR1cm4gZi5kb2N1bWVudC5jb21wYXRNb2RlPT09IkNTUzFDb21wYXQiJiZmLmRv Y3VtZW50LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IitiXXx8Zi5kb2N1bWVudC5i b2R5WyJjbGllbnQiK2JdO2Vsc2UgaWYoZi5ub2RlVHlwZT09PTkpcmV0dXJuIE1h dGgubWF4KGYuZG9jdW1lbnRFbGVtZW50WyJjbGllbnQiK2JdLGYuYm9keVsic2Ny b2xsIitiXSxmLmRvY3VtZW50RWxlbWVudFsic2Nyb2xsIitiXSxmLmJvZHlbIm9m ZnNldCIrYl0sZi5kb2N1bWVudEVsZW1lbnRbIm9mZnNldCIrYl0pO2Vsc2UgaWYo ZT09PUIpe2Y9Yy5jc3MoZixkKTt2YXIgaD1wYXJzZUZsb2F0KGYpO3JldHVybiBj LmlzTmFOKGgpP2Y6aH1lbHNlIHJldHVybiB0aGlzLmNzcyhkLHR5cGVvZiBlPT09 InN0cmluZyI/ZTplKyJweCIpfX0pfSkod2luZG93KTs= ------------dkJRoDUdMRCHkzgGQDfacx Content-Disposition: inline; filename=main.js Content-Type: application/x-javascript; charset=utf-8; name=main.js Content-Location: http://pastebin.com/js/main.js Content-Transfer-Encoding: Base64 e2Z1bmN0aW9uIGNvbmZpcm1Qb3N0KCl7dmFyIGE9Y29uZmlybSgiQXJlIHlvdSBz dXJlIHlvdSB3YW50IHRvIGRlbGV0ZT8iKTtpZihhKXJldHVybiB0cnVlO2Vsc2Ug cmV0dXJuIGZhbHNlfWZ1bmN0aW9uIHVwZGF0ZV9hbGV4YShhKXt2YXIgYT1hO2Rv Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJncmFwaF9pbWFnZSIpLmlubmVySFRNTD0n PGltZyBjbGFzcz0idGh1bWIyIiBpZD0iYWxleGFfdGh1bWIiIHdpZHRoPSI1OTQi IGhlaWdodD0iMjIwIiBzcmM9IicrYSsnIiBhbHQ9IiIgYm9yZGVyPSIwIiAvPid9 ZnVuY3Rpb24gc3VibWl0Zm9ybSgpe2RvY3VtZW50LmZvcm1zWyJteWZvcm0iXS5z dWJtaXQoKX1mdW5jdGlvbiBjaGVja1RhYihhKXtpZihkb2N1bWVudC5hbGwmJjk9 PWV2ZW50LmtleUNvZGUpe2Euc2VsZWN0aW9uPWRvY3VtZW50LnNlbGVjdGlvbi5j cmVhdGVSYW5nZSgpO3NldFRpbWVvdXQoInByb2Nlc3NUYWIoJyIrYS5pZCsiJyki LDApfX1mdW5jdGlvbiBwcm9jZXNzVGFiKGEpe2RvY3VtZW50LmFsbFthXS5zZWxl Y3Rpb24udGV4dD1TdHJpbmcuZnJvbUNoYXJDb2RlKDkpO2RvY3VtZW50LmFsbFth XS5mb2N1cygpfWZ1bmN0aW9uIHNldFNlbGVjdGlvblJhbmdlKGEsYixjKXtpZihh LnNldFNlbGVjdGlvblJhbmdlKXthLmZvY3VzKCk7YS5zZXRTZWxlY3Rpb25SYW5n ZShiLGMpfWVsc2UgaWYoYS5jcmVhdGVUZXh0UmFuZ2Upe3ZhciBkPWEuY3JlYXRl VGV4dFJhbmdlKCk7ZC5jb2xsYXBzZSh0cnVlKTtkLm1vdmVFbmQoImNoYXJhY3Rl ciIsYyk7ZC5tb3ZlU3RhcnQoImNoYXJhY3RlciIsYik7ZC5zZWxlY3QoKX19ZnVu Y3Rpb24gcmVwbGFjZVNlbGVjdGlvbihhLGIpe2lmKGEuc2V0U2VsZWN0aW9uUmFu Z2Upe3ZhciBjPWEuc2VsZWN0aW9uU3RhcnQ7dmFyIGQ9YS5zZWxlY3Rpb25FbmQ7 YS52YWx1ZT1hLnZhbHVlLnN1YnN0cmluZygwLGMpK2IrYS52YWx1ZS5zdWJzdHJp bmcoZCk7aWYoYyE9ZCl7c2V0U2VsZWN0aW9uUmFuZ2UoYSxjLGMrYi5sZW5ndGgp fWVsc2V7c2V0U2VsZWN0aW9uUmFuZ2UoYSxjK2IubGVuZ3RoLGMrYi5sZW5ndGgp fX1lbHNlIGlmKGRvY3VtZW50LnNlbGVjdGlvbil7dmFyIGU9ZG9jdW1lbnQuc2Vs ZWN0aW9uLmNyZWF0ZVJhbmdlKCk7aWYoZS5wYXJlbnRFbGVtZW50KCk9PWEpe3Zh ciBmPWUudGV4dD09IiI7ZS50ZXh0PWI7aWYoIWYpe2UubW92ZVN0YXJ0KCJjaGFy YWN0ZXIiLC1iLmxlbmd0aCk7ZS5zZWxlY3QoKX19fX1mdW5jdGlvbiBjYXRjaFRh YihhLGIpe2lmKG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goIkdlY2tvIikpe2M9 Yi53aGljaH1lbHNle2M9Yi5rZXlDb2RlfWlmKGM9PTkpe3ZhciBkPWEuc2Nyb2xs VG9wO3JlcGxhY2VTZWxlY3Rpb24oYSxTdHJpbmcuZnJvbUNoYXJDb2RlKDkpKTtz dG9wRXZlbnQoYik7YS5zY3JvbGxUb3A9ZDtyZXR1cm4gZmFsc2V9fWZ1bmN0aW9u IHN0b3BFdmVudChhKXtpZihhLnByZXZlbnREZWZhdWx0KXthLnByZXZlbnREZWZh dWx0KCl9aWYoYS5zdG9wUHJvcGFnYXRpb24pe2Euc3RvcFByb3BhZ2F0aW9uKCl9 YS5zdG9wcGVkPXRydWV9ZnVuY3Rpb24gZmxpcHJvd3MoYSxiKXt2YXIgYz1kb2N1 bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidHIiKTt2YXIgZDtmb3IoZD0wO2Q8 Yy5sZW5ndGg7ZCsrKXt2YXIgZT1jLml0ZW0oZCk7aWYoZS5jbGFzc05hbWU9PWEp ZS5jbGFzc05hbWU9Yn19ZnVuY3Rpb24gc2hvd29sZCgpe2ZsaXByb3dzKCJuZXci LCJoaWRlbmV3Iik7ZmxpcHJvd3MoImhpZGVvbGQiLCJvbGQiKTtkb2N1bWVudC5n ZXRFbGVtZW50QnlJZCgib2xkbGluayIpLnN0eWxlLmJhY2tncm91bmQ9IiNkZGQi O2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJuZXdsaW5rIikuc3R5bGUuYmFja2dy b3VuZD0iIjtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYm90aGxpbmsiKS5zdHls ZS5iYWNrZ3JvdW5kPSIifWZ1bmN0aW9uIHNob3duZXcoKXtmbGlwcm93cygiaGlk ZW5ldyIsIm5ldyIpO2ZsaXByb3dzKCJvbGQiLCJoaWRlb2xkIik7ZG9jdW1lbnQu Z2V0RWxlbWVudEJ5SWQoIm9sZGxpbmsiKS5zdHlsZS5iYWNrZ3JvdW5kPSIiO2Rv Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJuZXdsaW5rIikuc3R5bGUuYmFja2dyb3Vu ZD0iI2RkZCI7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvdGhsaW5rIikuc3R5 bGUuYmFja2dyb3VuZD0iIn1mdW5jdGlvbiBzaG93Ym90aCgpe2ZsaXByb3dzKCJo aWRlbmV3IiwibmV3Iik7ZmxpcHJvd3MoImhpZGVvbGQiLCJvbGQiKTtkb2N1bWVu dC5nZXRFbGVtZW50QnlJZCgib2xkbGluayIpLnN0eWxlLmJhY2tncm91bmQ9IiI7 ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5ld2xpbmsiKS5zdHlsZS5iYWNrZ3Jv dW5kPSIiO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib3RobGluayIpLnN0eWxl LmJhY2tncm91bmQ9IiNkZGQifXZhciBqcz17dGV4dDp7bGluZXM6ZnVuY3Rpb24o YSl7cmV0dXJuIHRoaXMuZ2V0TGluZXMoYSkubGVuZ3RofSxnZXRMaW5lczpmdW5j dGlvbihhKXt2YXIgYj1hLnNwbGl0KCJcbiIpO3JldHVybiBifX0sdGV4dEVsZW1l bnQ6e3ZhbHVlOmZ1bmN0aW9uKGEpe3JldHVybiBhLnZhbHVlLnJlcGxhY2UoL1xy L2csIiIpfSxjYXJldFBvc2l0aW9uOmZ1bmN0aW9uKGEpe3ZhciBiPXt9O2lmKGRv Y3VtZW50LnNlbGVjdGlvbil7dmFyIGM9ZG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0 ZVJhbmdlKCk7dmFyIGQ9ZG9jdW1lbnQuYm9keS5jcmVhdGVUZXh0UmFuZ2UoKTtk Lm1vdmVUb0VsZW1lbnRUZXh0KGEpO3ZhciBlO2ZvcihlPTA7ZC5jb21wYXJlRW5k UG9pbnRzKCJTdGFydFRvU3RhcnQiLGMpPDA7ZSsrKXtkLm1vdmVTdGFydCgiY2hh cmFjdGVyIiwxKX1iLnN0YXJ0PWU7Yi5lbmQ9ZStjLnRleHQucmVwbGFjZSgvXHIv ZywiIikubGVuZ3RofWVsc2UgaWYoYS5zZWxlY3Rpb25TdGFydHx8YS5zZWxlY3Rp b25TdGFydD09MCl7Yi5zdGFydD1hLnNlbGVjdGlvblN0YXJ0O2IuZW5kPWEuc2Vs ZWN0aW9uRW5kfXJldHVybiBifSxzZXRDYXJldFBvc2l0aW9uOmZ1bmN0aW9uKGEs Yil7YS5mb2N1cygpO2lmKGEuc2V0U2VsZWN0aW9uUmFuZ2Upe2Euc2V0U2VsZWN0 aW9uUmFuZ2UoYi5zdGFydCxiLmVuZCl9ZWxzZSBpZihhLmNyZWF0ZVRleHRSYW5n ZSl7dmFyIGM9YS5jcmVhdGVUZXh0UmFuZ2UoKTtjLm1vdmVTdGFydCgiY2hhcmFj dGVyIixiLnN0YXJ0KTtjLm1vdmVFbmQoImNoYXJhY3RlciIsYi5lbmQpO2Muc2Vs ZWN0KCl9fX19O2Z1bmN0aW9uIGhpZ2hsaWdodChhKXt2YXIgYj1qcy50ZXh0RWxl bWVudC5jYXJldFBvc2l0aW9uKGEpO2lmKCFiLnN0YXJ0JiYhYi5lbmQpcmV0dXJu O3ZhciBjPWpzLnRleHQuZ2V0TGluZXMoanMudGV4dEVsZW1lbnQudmFsdWUoYSkp O3ZhciBkPTAsZT0wO3ZhciBmPSIiO3ZhciBnPWZhbHNlO3ZhciBoPTA7Zm9yKHZh ciBpIGluIGMpe2U9ZCtjW2ldLmxlbmd0aDtpZihiLnN0YXJ0Pj1kJiZiLnN0YXJ0 PD1lKWc9dHJ1ZTtpZihnKXt2YXIgaj1jW2ldLnN1YnN0cigwLDMpPT0iQGhAIjtp ZighaCl7aWYoailoPTE7ZWxzZSBoPTJ9aWYoaD09MSYmailjW2ldPWNbaV0uc3Vi c3RyKDMsY1tpXS5sZW5ndGgtMyk7ZWxzZSBpZihoPT0yJiYhailmKz0iQGhAIn1m PWYrY1tpXSsiXG4iO2lmKGIuZW5kPj1kJiZiLmVuZDw9ZSlnPWZhbHNlO2Q9ZSsx fWEudmFsdWU9Zi5zdWJzdHJpbmcoMCxmLmxlbmd0aC0xKTt2YXIgaz1iLnN0YXJ0 KyhoPT0xPy0zOjMpO2pzLnRleHRFbGVtZW50LnNldENhcmV0UG9zaXRpb24oYSx7 c3RhcnQ6ayxlbmQ6a30pfWZ1bmN0aW9uIHRvZ2dsZXYoKXtpZihkb2N1bWVudC5n ZXRFbGVtZW50c0J5VGFnTmFtZSgib2wiKVswXS5zdHlsZS5saXN0U3R5bGUuc3Vi c3RyKDAsNCk9PSJub25lIil7ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo Im9sIilbMF0uc3R5bGUubGlzdFN0eWxlPSJkZWNpbWFsIjtkb2N1bWVudC5nZXRF bGVtZW50c0J5VGFnTmFtZSgib2wiKVswXS5zdHlsZS5wYWRkaW5nTGVmdD0iNDhw eCJ9ZWxzZXtkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgib2wiKVswXS5z dHlsZS5saXN0U3R5bGU9Im5vbmUiO2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO YW1lKCJvbCIpWzBdLnN0eWxlLnBhZGRpbmdMZWZ0PSI1cHgifX1mdW5jdGlvbiBn ZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGEsYil7aWYoYS5nZXRFbGVtZW50c0J5Q2xh c3NOYW1lKXtyZXR1cm4gYS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGIpfWVsc2V7 cmV0dXJuIGZ1bmN0aW9uIGMoYSxiKXtpZihiPT1udWxsKWI9ZG9jdW1lbnQ7dmFy IGM9W10sZD1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIiksZT1kLmxlbmd0aCxm PW5ldyBSZWdFeHAoIihefFxccykiK2ErIihcXHN8JCkiKSxnLGg7Zm9yKGc9MCxo PTA7ZzxlO2crKyl7aWYoZi50ZXN0KGRbZ10uY2xhc3NOYW1lKSl7Y1toXT1kW2dd O2grK319cmV0dXJuIGN9KGIsYSl9fWZ1bmN0aW9uIHRvZ2dsZXcoYSl7dmFyIGI9 Z2V0RWxlbWVudHNCeUNsYXNzTmFtZShkb2N1bWVudCxhKSxjPWIubGVuZ3RoO2Zv cih2YXIgZD0wO2Q8YztkKyspe3ZhciBlPWJbZF07aWYoZS5zdHlsZS53aGl0ZVNw YWNlPT0ibm93cmFwIil7ZS5zdHlsZS53aGl0ZVNwYWNlPSJub3JtYWwifWVsc2V7 ZS5zdHlsZS53aGl0ZVNwYWNlPSJub3dyYXAifX19ZnVuY3Rpb24gdHdpdHBvcHVw KGEpe3dpbmRvdy5vcGVuKCJodHRwOi8vdHdpdHRlci5jb20vc2hhcmU/dXJsPWh0 dHA6Ly9wYXN0ZWJpbi5jb20iK2ErIiZ2aWE9cGFzdGViaW4iLCJ0d2VldCIsImhl aWdodD0zNDAsd2lkdGg9NTUwLHJlc2l6YWJsZT0xIil9ZnVuY3Rpb24gZmFjZWJv b2twb3B1cChhKXt3aW5kb3cub3BlbigiaHR0cDovL2ZhY2Vib29rLmNvbS9zaGFy ZXIucGhwP3U9aHR0cDovL3Bhc3RlYmluLmNvbSIrYSwiZmFjZWJvb2siLCJoZWln aHQ9MzQwLHdpZHRoPTY2MCxyZXNpemFibGU9MSIpfX17KGZ1bmN0aW9uKGEpe2Eu Zm4uemNsaXA9ZnVuY3Rpb24oYil7aWYodHlwZW9mIGI9PSJvYmplY3QiJiYhYi5s ZW5ndGgpe3ZhciBjPWEuZXh0ZW5kKHtwYXRoOiJaZXJvQ2xpcGJvYXJkLnN3ZiIs Y29weTpudWxsLGJlZm9yZUNvcHk6bnVsbCxhZnRlckNvcHk6bnVsbCxjbGlja0Fm dGVyOnRydWUsc2V0SGFuZEN1cnNvcjp0cnVlLHNldENTU0VmZmVjdHM6dHJ1ZX0s Yik7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPWEodGhpcyk7aWYo Yi5pcygiOnZpc2libGUiKSYmKHR5cGVvZiBjLmNvcHk9PSJzdHJpbmcifHxhLmlz RnVuY3Rpb24oYy5jb3B5KSkpe1plcm9DbGlwYm9hcmQuc2V0TW92aWVQYXRoKGMu cGF0aCk7dmFyIGQ9bmV3IFplcm9DbGlwYm9hcmQuQ2xpZW50O2lmKGEuaXNGdW5j dGlvbihjLmNvcHkpKXtiLmJpbmQoInpDbGlwX2NvcHkiLGMuY29weSl9aWYoYS5p c0Z1bmN0aW9uKGMuYmVmb3JlQ29weSkpe2IuYmluZCgiekNsaXBfYmVmb3JlQ29w eSIsYy5iZWZvcmVDb3B5KX1pZihhLmlzRnVuY3Rpb24oYy5hZnRlckNvcHkpKXti LmJpbmQoInpDbGlwX2FmdGVyQ29weSIsYy5hZnRlckNvcHkpfWQuc2V0SGFuZEN1 cnNvcihjLnNldEhhbmRDdXJzb3IpO2Quc2V0Q1NTRWZmZWN0cyhjLnNldENTU0Vm ZmVjdHMpO2QuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VPdmVyIixmdW5jdGlvbihh KXtiLnRyaWdnZXIoIm1vdXNlZW50ZXIiKX0pO2QuYWRkRXZlbnRMaXN0ZW5lcigi bW91c2VPdXQiLGZ1bmN0aW9uKGEpe2IudHJpZ2dlcigibW91c2VsZWF2ZSIpfSk7 ZC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZURvd24iLGZ1bmN0aW9uKGUpe2IudHJp Z2dlcigibW91c2Vkb3duIik7aWYoIWEuaXNGdW5jdGlvbihjLmNvcHkpKXtkLnNl dFRleHQoYy5jb3B5KX1lbHNle2Quc2V0VGV4dChiLnRyaWdnZXJIYW5kbGVyKCJ6 Q2xpcF9jb3B5IikpfWlmKGEuaXNGdW5jdGlvbihjLmJlZm9yZUNvcHkpKXtiLnRy aWdnZXIoInpDbGlwX2JlZm9yZUNvcHkiKX19KTtkLmFkZEV2ZW50TGlzdGVuZXIo ImNvbXBsZXRlIixmdW5jdGlvbihkLGUpe2lmKGEuaXNGdW5jdGlvbihjLmFmdGVy Q29weSkpe2IudHJpZ2dlcigiekNsaXBfYWZ0ZXJDb3B5Iil9ZWxzZXtpZihlLmxl bmd0aD41MDApe2U9ZS5zdWJzdHIoMCw1MDApKyIuLi5cblxuKCIrKGUubGVuZ3Ro LTUwMCkrIiBjaGFyYWN0ZXJzIG5vdCBzaG93bikifWIucmVtb3ZlQ2xhc3MoImhv dmVyIik7YWxlcnQoIkNvcGllZCB0ZXh0IHRvIGNsaXBib2FyZDpcblxuICIrZSl9 aWYoYy5jbGlja0FmdGVyKXtiLnRyaWdnZXIoImNsaWNrIil9fSk7ZC5nbHVlKGJb MF0sYi5wYXJlbnQoKVswXSk7YSh3aW5kb3cpLmJpbmQoImxvYWQgcmVzaXplIixm dW5jdGlvbigpe2QucmVwb3NpdGlvbigpfSl9fSl9ZWxzZXtpZih0eXBlb2YgYj09 InN0cmluZyIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1hKHRo aXMpO2I9Yi50b0xvd2VyQ2FzZSgpO3ZhciBkPWMuZGF0YSgiemNsaXBJZCIpO3Zh ciBlPWEoIiMiK2QrIi56Y2xpcCIpO2lmKGI9PSJyZW1vdmUiKXtlLnJlbW92ZSgp O2MucmVtb3ZlQ2xhc3MoImFjdGl2ZSBob3ZlciIpfWVsc2V7aWYoYj09ImhpZGUi KXtlLmhpZGUoKTtjLnJlbW92ZUNsYXNzKCJhY3RpdmUgaG92ZXIiKX1lbHNle2lm KGI9PSJzaG93Iil7ZS5zaG93KCl9fX19KX19fX0pKGpRdWVyeSk7dmFyIFplcm9D bGlwYm9hcmQ9e3ZlcnNpb246IjEuMC43IixjbGllbnRzOnt9LG1vdmllUGF0aDoi WmVyb0NsaXBib2FyZC5zd2YiLG5leHRJZDoxLCQ6ZnVuY3Rpb24oYSl7aWYodHlw ZW9mIGE9PSJzdHJpbmciKXthPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpfWlm KCFhLmFkZENsYXNzKXthLmhpZGU9ZnVuY3Rpb24oKXt0aGlzLnN0eWxlLmRpc3Bs YXk9Im5vbmUifTthLnNob3c9ZnVuY3Rpb24oKXt0aGlzLnN0eWxlLmRpc3BsYXk9 IiJ9O2EuYWRkQ2xhc3M9ZnVuY3Rpb24oYSl7dGhpcy5yZW1vdmVDbGFzcyhhKTt0 aGlzLmNsYXNzTmFtZSs9IiAiK2F9O2EucmVtb3ZlQ2xhc3M9ZnVuY3Rpb24oYSl7 dmFyIGI9dGhpcy5jbGFzc05hbWUuc3BsaXQoL1xzKy8pO3ZhciBjPS0xO2Zvcih2 YXIgZD0wO2Q8Yi5sZW5ndGg7ZCsrKXtpZihiW2RdPT1hKXtjPWQ7ZD1iLmxlbmd0 aH19aWYoYz4tMSl7Yi5zcGxpY2UoYywxKTt0aGlzLmNsYXNzTmFtZT1iLmpvaW4o IiAiKX1yZXR1cm4gdGhpc307YS5oYXNDbGFzcz1mdW5jdGlvbihhKXtyZXR1cm4h IXRoaXMuY2xhc3NOYW1lLm1hdGNoKG5ldyBSZWdFeHAoIlxccyoiK2ErIlxccyoi KSl9fXJldHVybiBhfSxzZXRNb3ZpZVBhdGg6ZnVuY3Rpb24oYSl7dGhpcy5tb3Zp ZVBhdGg9YX0sZGlzcGF0Y2g6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMuY2xp ZW50c1thXTtpZihkKXtkLnJlY2VpdmVFdmVudChiLGMpfX0scmVnaXN0ZXI6ZnVu Y3Rpb24oYSxiKXt0aGlzLmNsaWVudHNbYV09Yn0sZ2V0RE9NT2JqZWN0UG9zaXRp b246ZnVuY3Rpb24oYSxiKXt2YXIgYz17bGVmdDowLHRvcDowLHdpZHRoOmEud2lk dGg/YS53aWR0aDphLm9mZnNldFdpZHRoLGhlaWdodDphLmhlaWdodD9hLmhlaWdo dDphLm9mZnNldEhlaWdodH07aWYoYSYmYSE9Yil7Yy5sZWZ0Kz1hLm9mZnNldExl ZnQ7Yy50b3ArPWEub2Zmc2V0VG9wfXJldHVybiBjfSxDbGllbnQ6ZnVuY3Rpb24o YSl7dGhpcy5oYW5kbGVycz17fTt0aGlzLmlkPVplcm9DbGlwYm9hcmQubmV4dElk Kys7dGhpcy5tb3ZpZUlkPSJaZXJvQ2xpcGJvYXJkTW92aWVfIit0aGlzLmlkO1pl cm9DbGlwYm9hcmQucmVnaXN0ZXIodGhpcy5pZCx0aGlzKTtpZihhKXt0aGlzLmds dWUoYSl9fX07WmVyb0NsaXBib2FyZC5DbGllbnQucHJvdG90eXBlPXtpZDowLHJl YWR5OmZhbHNlLG1vdmllOm51bGwsY2xpcFRleHQ6IiIsaGFuZEN1cnNvckVuYWJs ZWQ6dHJ1ZSxjc3NFZmZlY3RzOnRydWUsaGFuZGxlcnM6bnVsbCxnbHVlOmZ1bmN0 aW9uKGEsYixjKXt0aGlzLmRvbUVsZW1lbnQ9WmVyb0NsaXBib2FyZC4kKGEpO3Zh ciBkPTk5O2lmKHRoaXMuZG9tRWxlbWVudC5zdHlsZS56SW5kZXgpe2Q9cGFyc2VJ bnQodGhpcy5kb21FbGVtZW50LnN0eWxlLnpJbmRleCwxMCkrMX1pZih0eXBlb2Yg Yj09InN0cmluZyIpe2I9WmVyb0NsaXBib2FyZC4kKGIpfWVsc2V7aWYodHlwZW9m IGI9PSJ1bmRlZmluZWQiKXtiPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l KCJib2R5IilbMF19fXZhciBlPVplcm9DbGlwYm9hcmQuZ2V0RE9NT2JqZWN0UG9z aXRpb24odGhpcy5kb21FbGVtZW50LGIpO3RoaXMuZGl2PWRvY3VtZW50LmNyZWF0 ZUVsZW1lbnQoImRpdiIpO3RoaXMuZGl2LmNsYXNzTmFtZT0iemNsaXAiO3RoaXMu ZGl2LmlkPSJ6Y2xpcC0iK3RoaXMubW92aWVJZDskKHRoaXMuZG9tRWxlbWVudCku ZGF0YSgiemNsaXBJZCIsInpjbGlwLSIrdGhpcy5tb3ZpZUlkKTt2YXIgZj10aGlz LmRpdi5zdHlsZTtmLnBvc2l0aW9uPSJhYnNvbHV0ZSI7Zi5sZWZ0PSIiK2UubGVm dCsicHgiO2YudG9wPSIiK2UudG9wKyJweCI7Zi53aWR0aD0iIitlLndpZHRoKyJw eCI7Zi5oZWlnaHQ9IiIrZS5oZWlnaHQrInB4IjtmLnpJbmRleD1kO2lmKHR5cGVv ZiBjPT0ib2JqZWN0Iil7Zm9yKGFkZGVkU3R5bGUgaW4gYyl7ZlthZGRlZFN0eWxl XT1jW2FkZGVkU3R5bGVdfX1iLmFwcGVuZENoaWxkKHRoaXMuZGl2KTt0aGlzLmRp di5pbm5lckhUTUw9dGhpcy5nZXRIVE1MKGUud2lkdGgsZS5oZWlnaHQpfSxnZXRI VE1MOmZ1bmN0aW9uKGEsYil7dmFyIGM9IiI7dmFyIGQ9ImlkPSIrdGhpcy5pZCsi JndpZHRoPSIrYSsiJmhlaWdodD0iK2I7aWYobmF2aWdhdG9yLnVzZXJBZ2VudC5t YXRjaCgvTVNJRS8pKXt2YXIgZT1sb2NhdGlvbi5ocmVmLm1hdGNoKC9eaHR0cHMv aSk/Imh0dHBzOi8vIjoiaHR0cDovLyI7Yys9JzxvYmplY3QgY2xhc3NpZD0iY2xz aWQ6ZDI3Y2RiNmUtYWU2ZC0xMWNmLTk2YjgtNDQ0NTUzNTQwMDAwIiBjb2RlYmFz ZT0iJytlKydkb3dubG9hZC5tYWNyb21lZGlhLmNvbS9wdWIvc2hvY2t3YXZlL2Nh YnMvZmxhc2gvc3dmbGFzaC5jYWIjdmVyc2lvbj05LDAsMCwwIiB3aWR0aD0iJyth KyciIGhlaWdodD0iJytiKyciIGlkPSInK3RoaXMubW92aWVJZCsnIiBhbGlnbj0i bWlkZGxlIj48cGFyYW0gbmFtZT0iYWxsb3dTY3JpcHRBY2Nlc3MiIHZhbHVlPSJh bHdheXMiIC8+PHBhcmFtIG5hbWU9ImFsbG93RnVsbFNjcmVlbiIgdmFsdWU9ImZh bHNlIiAvPjxwYXJhbSBuYW1lPSJtb3ZpZSIgdmFsdWU9IicrWmVyb0NsaXBib2Fy ZC5tb3ZpZVBhdGgrJyIgLz48cGFyYW0gbmFtZT0ibG9vcCIgdmFsdWU9ImZhbHNl IiAvPjxwYXJhbSBuYW1lPSJtZW51IiB2YWx1ZT0iZmFsc2UiIC8+PHBhcmFtIG5h bWU9InF1YWxpdHkiIHZhbHVlPSJiZXN0IiAvPjxwYXJhbSBuYW1lPSJiZ2NvbG9y IiB2YWx1ZT0iI2ZmZmZmZiIgLz48cGFyYW0gbmFtZT0iZmxhc2h2YXJzIiB2YWx1 ZT0iJytkKyciLz48cGFyYW0gbmFtZT0id21vZGUiIHZhbHVlPSJ0cmFuc3BhcmVu dCIvPjwvb2JqZWN0Pid9ZWxzZXtjKz0nPGVtYmVkIGlkPSInK3RoaXMubW92aWVJ ZCsnIiBzcmM9IicrWmVyb0NsaXBib2FyZC5tb3ZpZVBhdGgrJyIgbG9vcD0iZmFs c2UiIG1lbnU9ImZhbHNlIiBxdWFsaXR5PSJiZXN0IiBiZ2NvbG9yPSIjZmZmZmZm IiB3aWR0aD0iJythKyciIGhlaWdodD0iJytiKyciIG5hbWU9IicrdGhpcy5tb3Zp ZUlkKyciIGFsaWduPSJtaWRkbGUiIGFsbG93U2NyaXB0QWNjZXNzPSJhbHdheXMi IGFsbG93RnVsbFNjcmVlbj0iZmFsc2UiIHR5cGU9ImFwcGxpY2F0aW9uL3gtc2hv Y2t3YXZlLWZsYXNoIiBwbHVnaW5zcGFnZT0iaHR0cDovL3d3dy5tYWNyb21lZGlh LmNvbS9nby9nZXRmbGFzaHBsYXllciIgZmxhc2h2YXJzPSInK2QrJyIgd21vZGU9 InRyYW5zcGFyZW50IiAvPid9cmV0dXJuIGN9LGhpZGU6ZnVuY3Rpb24oKXtpZih0 aGlzLmRpdil7dGhpcy5kaXYuc3R5bGUubGVmdD0iLTIwMDBweCJ9fSxzaG93OmZ1 bmN0aW9uKCl7dGhpcy5yZXBvc2l0aW9uKCl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXtp Zih0aGlzLmRvbUVsZW1lbnQmJnRoaXMuZGl2KXt0aGlzLmhpZGUoKTt0aGlzLmRp di5pbm5lckhUTUw9IiI7dmFyIGE9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05h bWUoImJvZHkiKVswXTt0cnl7YS5yZW1vdmVDaGlsZCh0aGlzLmRpdil9Y2F0Y2go Yil7fXRoaXMuZG9tRWxlbWVudD1udWxsO3RoaXMuZGl2PW51bGx9fSxyZXBvc2l0 aW9uOmZ1bmN0aW9uKGEpe2lmKGEpe3RoaXMuZG9tRWxlbWVudD1aZXJvQ2xpcGJv YXJkLiQoYSk7aWYoIXRoaXMuZG9tRWxlbWVudCl7dGhpcy5oaWRlKCl9fWlmKHRo aXMuZG9tRWxlbWVudCYmdGhpcy5kaXYpe3ZhciBiPVplcm9DbGlwYm9hcmQuZ2V0 RE9NT2JqZWN0UG9zaXRpb24odGhpcy5kb21FbGVtZW50KTt2YXIgYz10aGlzLmRp di5zdHlsZTtjLmxlZnQ9IiIrYi5sZWZ0KyJweCI7Yy50b3A9IiIrYi50b3ArInB4 In19LHNldFRleHQ6ZnVuY3Rpb24oYSl7dGhpcy5jbGlwVGV4dD1hO2lmKHRoaXMu cmVhZHkpe3RoaXMubW92aWUuc2V0VGV4dChhKX19LGFkZEV2ZW50TGlzdGVuZXI6 ZnVuY3Rpb24oYSxiKXthPWEudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLnJlcGxh Y2UoL15vbi8sIiIpO2lmKCF0aGlzLmhhbmRsZXJzW2FdKXt0aGlzLmhhbmRsZXJz W2FdPVtdfXRoaXMuaGFuZGxlcnNbYV0ucHVzaChiKX0sc2V0SGFuZEN1cnNvcjpm dW5jdGlvbihhKXt0aGlzLmhhbmRDdXJzb3JFbmFibGVkPWE7aWYodGhpcy5yZWFk eSl7dGhpcy5tb3ZpZS5zZXRIYW5kQ3Vyc29yKGEpfX0sc2V0Q1NTRWZmZWN0czpm dW5jdGlvbihhKXt0aGlzLmNzc0VmZmVjdHM9ISFhfSxyZWNlaXZlRXZlbnQ6ZnVu Y3Rpb24oYSxiKXthPWEudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2Uo L15vbi8sIiIpO3N3aXRjaChhKXtjYXNlImxvYWQiOnRoaXMubW92aWU9ZG9jdW1l bnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5tb3ZpZUlkKTtpZighdGhpcy5tb3ZpZSl7 dmFyIGM9dGhpcztzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5yZWNlaXZlRXZlbnQo ImxvYWQiLG51bGwpfSwxKTtyZXR1cm59aWYoIXRoaXMucmVhZHkmJm5hdmlnYXRv ci51c2VyQWdlbnQubWF0Y2goL0ZpcmVmb3gvKSYmbmF2aWdhdG9yLnVzZXJBZ2Vu dC5tYXRjaCgvV2luZG93cy8pKXt2YXIgYz10aGlzO3NldFRpbWVvdXQoZnVuY3Rp b24oKXtjLnJlY2VpdmVFdmVudCgibG9hZCIsbnVsbCl9LDEwMCk7dGhpcy5yZWFk eT10cnVlO3JldHVybn10aGlzLnJlYWR5PXRydWU7dHJ5e3RoaXMubW92aWUuc2V0 VGV4dCh0aGlzLmNsaXBUZXh0KX1jYXRjaChkKXt9dHJ5e3RoaXMubW92aWUuc2V0 SGFuZEN1cnNvcih0aGlzLmhhbmRDdXJzb3JFbmFibGVkKX1jYXRjaChkKXt9YnJl YWs7Y2FzZSJtb3VzZW92ZXIiOmlmKHRoaXMuZG9tRWxlbWVudCYmdGhpcy5jc3NF ZmZlY3RzKXt0aGlzLmRvbUVsZW1lbnQuYWRkQ2xhc3MoImhvdmVyIik7aWYodGhp cy5yZWNvdmVyQWN0aXZlKXt0aGlzLmRvbUVsZW1lbnQuYWRkQ2xhc3MoImFjdGl2 ZSIpfX1icmVhaztjYXNlIm1vdXNlb3V0IjppZih0aGlzLmRvbUVsZW1lbnQmJnRo aXMuY3NzRWZmZWN0cyl7dGhpcy5yZWNvdmVyQWN0aXZlPWZhbHNlO2lmKHRoaXMu ZG9tRWxlbWVudC5oYXNDbGFzcygiYWN0aXZlIikpe3RoaXMuZG9tRWxlbWVudC5y ZW1vdmVDbGFzcygiYWN0aXZlIik7dGhpcy5yZWNvdmVyQWN0aXZlPXRydWV9dGhp cy5kb21FbGVtZW50LnJlbW92ZUNsYXNzKCJob3ZlciIpfWJyZWFrO2Nhc2UibW91 c2Vkb3duIjppZih0aGlzLmRvbUVsZW1lbnQmJnRoaXMuY3NzRWZmZWN0cyl7dGhp cy5kb21FbGVtZW50LmFkZENsYXNzKCJhY3RpdmUiKX1icmVhaztjYXNlIm1vdXNl dXAiOmlmKHRoaXMuZG9tRWxlbWVudCYmdGhpcy5jc3NFZmZlY3RzKXt0aGlzLmRv bUVsZW1lbnQucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpO3RoaXMucmVjb3ZlckFjdGl2 ZT1mYWxzZX1icmVha31pZih0aGlzLmhhbmRsZXJzW2FdKXtmb3IodmFyIGU9MCxm PXRoaXMuaGFuZGxlcnNbYV0ubGVuZ3RoO2U8ZjtlKyspe3ZhciBnPXRoaXMuaGFu ZGxlcnNbYV1bZV07aWYodHlwZW9mIGc9PSJmdW5jdGlvbiIpe2codGhpcyxiKX1l bHNle2lmKHR5cGVvZiBnPT0ib2JqZWN0IiYmZy5sZW5ndGg9PTIpe2dbMF1bZ1sx XV0odGhpcyxiKX1lbHNle2lmKHR5cGVvZiBnPT0ic3RyaW5nIil7d2luZG93W2dd KHRoaXMsYil9fX19fX19fXsoZnVuY3Rpb24oYSl7ZnVuY3Rpb24gZShiLGMpe2lm KGIuZGF0YSgiQXV0b1Jlc2l6ZXIiKSl7Yi5kYXRhKCJBdXRvUmVzaXplciIpLmRl c3Ryb3koKX1jPXRoaXMuY29uZmlnPWEuZXh0ZW5kKHt9LGQuZGVmYXVsdHMsYyk7 dGhpcy5lbD1iO3RoaXMubm9kZU5hbWU9YlswXS5ub2RlTmFtZS50b0xvd2VyQ2Fz ZSgpO3RoaXMub3JpZ2luYWxIZWlnaHQ9Yi5oZWlnaHQoKTt0aGlzLnByZXZpb3Vz U2Nyb2xsVG9wPW51bGw7dGhpcy52YWx1ZT1iLnZhbCgpO2lmKGMubWF4V2lkdGg9 PT0ib3JpZ2luYWwiKWMubWF4V2lkdGg9Yi53aWR0aCgpO2lmKGMubWluV2lkdGg9 PT0ib3JpZ2luYWwiKWMubWluV2lkdGg9Yi53aWR0aCgpO2lmKGMubWF4SGVpZ2h0 PT09Im9yaWdpbmFsIiljLm1heEhlaWdodD1iLmhlaWdodCgpO2lmKGMubWluSGVp Z2h0PT09Im9yaWdpbmFsIiljLm1pbkhlaWdodD1iLmhlaWdodCgpO2lmKHRoaXMu bm9kZU5hbWU9PT0idGV4dGFyZWEiKXtiLmNzcyh7cmVzaXplOiJub25lIixvdmVy Zmxvd1k6ImhpZGRlbiJ9KX1iLmRhdGEoIkF1dG9SZXNpemVyIix0aGlzKTtjLmFu aW1hdGUuY29tcGxldGU9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKCl7Yy5v bkFmdGVyUmVzaXplLmNhbGwoYik7cmV0dXJuIGEuYXBwbHkodGhpcyxhcmd1bWVu dHMpfX0oYy5hbmltYXRlLmNvbXBsZXRlKTt0aGlzLmJpbmQoKX1mdW5jdGlvbiBk KGIpe3RoaXMuZmlsdGVyKGQucmVzaXphYmxlRmlsdGVyU2VsZWN0b3IpLmVhY2go ZnVuY3Rpb24oKXtuZXcgZShhKHRoaXMpLGIpfSk7cmV0dXJuIHRoaXN9dmFyIGI9 ImFyIisgKyhuZXcgRGF0ZSksYz1kLmRlZmF1bHRzPXtvblJlc2l6ZTpmdW5jdGlv bigpe30sb25CZWZvcmVSZXNpemU6ZnVuY3Rpb24oKXtyZXR1cm4gMTIzfSxvbkFm dGVyUmVzaXplOmZ1bmN0aW9uKCl7cmV0dXJuIDU1NX0sYW5pbWF0ZTp7ZHVyYXRp b246MjAwLGNvbXBsZXRlOmZ1bmN0aW9uKCl7fX0sZXh0cmFTcGFjZToyMCxtaW5I ZWlnaHQ6Im9yaWdpbmFsIixtYXhIZWlnaHQ6NTAwLG1pbldpZHRoOiJvcmlnaW5h bCIsbWF4V2lkdGg6NTAwfTtkLmNsb25lQ1NTUHJvcGVydGllcz1bImxpbmVIZWln aHQiLCJ0ZXh0RGVjb3JhdGlvbiIsImxldHRlclNwYWNpbmciLCJmb250U2l6ZSIs ImZvbnRGYW1pbHkiLCJmb250U3R5bGUiLCJmb250V2VpZ2h0IiwidGV4dFRyYW5z Zm9ybSIsInRleHRBbGlnbiIsImRpcmVjdGlvbiIsIndvcmRTcGFjaW5nIiwiZm9u dFNpemVBZGp1c3QiLCJwYWRkaW5nVG9wIiwicGFkZGluZ0xlZnQiLCJwYWRkaW5n Qm90dG9tIiwicGFkZGluZ1JpZ2h0Iiwid2lkdGgiXTtkLmNsb25lQ1NTVmFsdWVz PXtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDotOTk5OSxsZWZ0Oi05OTk5LG9wYWNp dHk6MCxvdmVyZmxvdzoiaGlkZGVuIn07ZC5yZXNpemFibGVGaWx0ZXJTZWxlY3Rv cj1bInRleHRhcmVhOm5vdCh0ZXh0YXJlYS4iK2IrIikiLCJpbnB1dDpub3QoaW5w dXRbdHlwZV0pIiwiaW5wdXRbdHlwZT10ZXh0XSIsImlucHV0W3R5cGU9cGFzc3dv cmRdIiwiaW5wdXRbdHlwZT1lbWFpbF0iLCJpbnB1dFt0eXBlPXVybF0iXS5qb2lu KCIsIik7ZC5BdXRvUmVzaXplcj1lO2EuZm4uYXV0b1Jlc2l6ZT1kO2UucHJvdG90 eXBlPXtiaW5kOmZ1bmN0aW9uKCl7dmFyIGI9YS5wcm94eShmdW5jdGlvbigpe3Ro aXMuY2hlY2soKTtyZXR1cm4gdHJ1ZX0sdGhpcyk7dGhpcy51bmJpbmQoKTt0aGlz LmVsLmJpbmQoImtleXVwLmF1dG9SZXNpemUiLGIpLmJpbmQoImNoYW5nZS5hdXRv UmVzaXplIixiKS5iaW5kKCJwYXN0ZS5hdXRvUmVzaXplIixmdW5jdGlvbigpe3Nl dFRpbWVvdXQoZnVuY3Rpb24oKXtiKCl9LDApfSk7aWYoIXRoaXMuZWwuaXMoIjpo aWRkZW4iKSl7dGhpcy5jaGVjayhudWxsLHRydWUpfX0sdW5iaW5kOmZ1bmN0aW9u KCl7dGhpcy5lbC51bmJpbmQoIi5hdXRvUmVzaXplIil9LGNyZWF0ZUNsb25lOmZ1 bmN0aW9uKCl7dmFyIGM9dGhpcy5lbCxlPXRoaXMubm9kZU5hbWU9PT0idGV4dGFy ZWEiP2MuY2xvbmUoKTphKCI8c3Bhbi8+Iik7dGhpcy5jbG9uZT1lO2EuZWFjaChk LmNsb25lQ1NTUHJvcGVydGllcyxmdW5jdGlvbihhLGIpe2VbMF0uc3R5bGVbYl09 Yy5jc3MoYil9KTtlLnJlbW92ZUF0dHIoIm5hbWUiKS5yZW1vdmVBdHRyKCJpZCIp LmFkZENsYXNzKGIpLmF0dHIoInRhYkluZGV4IiwtMSkuY3NzKGQuY2xvbmVDU1NW YWx1ZXMpO2lmKHRoaXMubm9kZU5hbWU9PT0idGV4dGFyZWEiKXtlLmhlaWdodCgi YXV0byIpfWVsc2V7ZS53aWR0aCgiYXV0byIpLmNzcyh7d2hpdGVTcGFjZToibm93 cmFwIn0pfX0sY2hlY2s6ZnVuY3Rpb24oYSxiKXtpZighdGhpcy5jbG9uZSl7dGhp cy5jcmVhdGVDbG9uZSgpO3RoaXMuaW5qZWN0Q2xvbmUoKX12YXIgYz10aGlzLmNv bmZpZyxkPXRoaXMuY2xvbmUsZT10aGlzLmVsLGY9ZS52YWwoKTtpZihmPT09dGhp cy5wcmV2VmFsdWUpe3JldHVybiB0cnVlfXRoaXMucHJldlZhbHVlPWY7aWYodGhp cy5ub2RlTmFtZT09PSJpbnB1dCIpe2QudGV4dChmKTt2YXIgZz1kLndpZHRoKCks aD1nK2MuZXh0cmFTcGFjZT49Yy5taW5XaWR0aD9nK2MuZXh0cmFTcGFjZTpjLm1p bldpZHRoLGk9ZS53aWR0aCgpO2g9TWF0aC5taW4oaCxjLm1heFdpZHRoKTtpZiho PGkmJmg+PWMubWluV2lkdGh8fGg+PWMubWluV2lkdGgmJmg8PWMubWF4V2lkdGgp e2Mub25CZWZvcmVSZXNpemUuY2FsbChlKTtjLm9uUmVzaXplLmNhbGwoZSk7ZS5z Y3JvbGxMZWZ0KDApO2lmKGMuYW5pbWF0ZSYmIWIpe2Uuc3RvcCgxLDEpLmFuaW1h dGUoe3dpZHRoOmh9LGMuYW5pbWF0ZSl9ZWxzZXtlLndpZHRoKGgpO2Mub25BZnRl clJlc2l6ZS5jYWxsKGUpfX1yZXR1cm59ZC53aWR0aChlLndpZHRoKCkpLmhlaWdo dCgwKS52YWwoZikuc2Nyb2xsVG9wKDFlNCk7dmFyIGo9ZFswXS5zY3JvbGxUb3A7 aWYodGhpcy5wcmV2aW91c1Njcm9sbFRvcD09PWope3JldHVybn10aGlzLnByZXZp b3VzU2Nyb2xsVG9wPWo7aWYoaitjLmV4dHJhU3BhY2U+PWMubWF4SGVpZ2h0KXtl LmNzcygib3ZlcmZsb3dZIiwiIik7aj1jLm1heEhlaWdodDtiPXRydWV9ZWxzZSBp ZihqPD1jLm1pbkhlaWdodCl7aj1jLm1pbkhlaWdodH1lbHNle2UuY3NzKCJvdmVy Zmxvd1kiLCJoaWRkZW4iKTtqKz1jLmV4dHJhU3BhY2V9Yy5vbkJlZm9yZVJlc2l6 ZS5jYWxsKGUpO2Mub25SZXNpemUuY2FsbChlKTtpZihjLmFuaW1hdGUmJiFiKXtl LnN0b3AoMSwxKS5hbmltYXRlKHtoZWlnaHQ6an0sYy5hbmltYXRlKX1lbHNle2Uu aGVpZ2h0KGopO2Mub25BZnRlclJlc2l6ZS5jYWxsKGUpfX0sZGVzdHJveTpmdW5j dGlvbigpe3RoaXMudW5iaW5kKCk7dGhpcy5lbC5yZW1vdmVEYXRhKCJBdXRvUmVz aXplciIpO3RoaXMuY2xvbmUucmVtb3ZlKCk7ZGVsZXRlIHRoaXMuZWw7ZGVsZXRl IHRoaXMuY2xvbmV9LGluamVjdENsb25lOmZ1bmN0aW9uKCl7KGQuY2xvbmVDb250 YWluZXJ8fChkLmNsb25lQ29udGFpbmVyPWEoIjxhcmNsb25lcy8+IikuYXBwZW5k VG8oImJvZHkiKSkpLmFwcGVuZCh0aGlzLmNsb25lKX19fSkoalF1ZXJ5KX0= ------------dkJRoDUdMRCHkzgGQDfacx Content-Disposition: inline; filename=t.gif Content-Type: image/gif; name=t.gif Content-Location: http://pastebin.com/i/t.gif Content-Transfer-Encoding: Base64 R0lGODlhAQABAIAAAAAAAP///yH5BAEHAAEALAAAAAABAAEAAAICTAEAOw== ------------dkJRoDUdMRCHkzgGQDfacx Content-Disposition: inline; filename=show_ads.js Content-Type: text/javascript; charset=UTF-8; name=show_ads.js Content-Location: http://pagead2.googlesyndication.com/pagead/show_ads.js Content-Transfer-Encoding: Quoted-Printable (function(){var g=3D!0,h=3Dnull,i=3D!1,aa=3Dthis,ba=3Dfunction(a,b){var = c=3Da.split("."),d=3Daa;!(c[0]in d)&&d.execScript&&d.execScript("var "+c= [0]);for(var e;c.length&&(e=3Dc.shift());)!c.length&&void 0!=3D=3Db?d[e]= =3Db:d=3Dd[e]?d[e]:d[e]=3D{}},ca=3Dfunction(a,b,c){return a.call.apply(a= .bind,arguments)},da=3Dfunction(a,b,c){if(!a)throw Error();if(2/g,ha=3D/\"/g,l=3D{"\x00":"\\0","\u0008":"\\b","\u000c":"\\f","\n":= "\\n","\r":"\\r","\t":"\\t","\x0B":"\\x0B",'"':'\\"',"\\":"\\\\"},n=3D{"= '":"\\'"};var ia=3Ddocument,p=3Dwindow;var r=3Dfunction(a){return"true"=3D= =3Da?g:i},ja=3D/^([\w-]+\.)*([\w-]{2,})(\:[0-9]+)?$/,t=3Dfunction(a){ret= urn!a?"pagead2.googlesyndication.com":(a=3Da.match(ja))?a[0]:"pagead2.go= oglesyndication.com"};var ka=3Dr("false"),la=3Dr("false"),ma=3Dr("false"= ),na=3Dr("false");var u=3Dfunction(a,b,c){c||(c=3Dna?"https":"http");ret= urn[c,"://",a,b].join("")};var v=3DparseFloat("0"),oa=3DisNaN(v)||1v?0:v;var pa=3Dfunction(){return t("")};t("");var x=3Dfunction(a){retur= n!!a&&"function"=3D=3Dtypeof a&&!!a.call},ra=3Dfunction(a,b){if(!(2>argu= ments.length))for(var c=3D1,d=3Darguments.length;cMath.random()&&(a=3D["/pa= gead/gen_204","?id=3Djserror","&jscb=3D",ka?1:0,"&jscd=3D",la?1:0,"&cont= ext=3D",y(a),"&msg=3D",y(b),"&file=3D",y(c),"&line=3D",y(d.toString()),"= &url=3D",y(ia.URL.substring(0,512)),"&ref=3D",y(ia.referrer.substring(0,= 512))],a.push(["&client=3D",y(p.google_ad_client),"&format=3D",y(p.googl= e_ad_format),"&slotname=3D",y(p.google_ad_slot),"&output=3D",y(p.google_= ad_output),"&ad_type=3D",y(p.google_ad_type)].join("")),a=3Du(pa(),a.joi= n("")),ta(p,a));return!ma});var z=3Dh,va=3Dfunction(){if(!z){for(var a=3D= window;a!=3Da.parent&&ua(a.parent);)a=3Da.parent;z=3Da}return z};var A,B= =3Dfunction(a){this.c=3D[];this.a=3Da||window;this.b=3D0;this.d=3Dh},wa=3D= function(a,b){this.l=3Da;this.i=3Db};B.prototype.n=3Dfunction(a,b){0=3D=3D= this.b&&0=3D=3Dthis.c.length&&(!b||b=3D=3Dwindow)?(this.b=3D2,this.g(new= wa(a,window))):this.h(a,b)};B.prototype.h=3Dfunction(a,b){this.c.push(n= ew wa(a,b||this.a));C(this)};B.prototype.o=3Dfunction(a){this.b=3D1;a&&(= this.d=3Dthis.a.setTimeout(j(this.f,this),a))};B.prototype.f=3Dfunction(= ){1=3D=3Dthis.b&&(this.d!=3Dh&&(this.a.clearTimeout(this.d),this.d=3Dh),= this.b=3D0);C(this)};B.prototype.p=3Dfunction(){return g}; B.prototype.nq=3DB.prototype.n;B.prototype.nqa=3DB.prototype.h;B.prototy= pe.al=3DB.prototype.o;B.prototype.rl=3DB.prototype.f;B.prototype.sz=3DB.= prototype.p;var C=3Dfunction(a){a.a.setTimeout(j(a.m,a),0)};B.prototype.= m=3Dfunction(){if(0=3D=3Dthis.b&&this.c.length){var a=3Dthis.c.shift();t= his.b=3D2;a.i.setTimeout(j(this.g,this,a),0);C(this)}};B.prototype.g=3Df= unction(a){this.b=3D0;a.l()}; var xa=3Dfunction(a){try{return a.sz()}catch(b){return i}},ya=3Dfunction= (a){return!!a&&("object"=3D=3Dtypeof a||"function"=3D=3Dtypeof a)&&xa(a)= &&x(a.nq)&&x(a.nqa)&&x(a.al)&&x(a.rl)},D=3Dfunction(){if(A&&xa(A))return= A;var a=3Dva(),b=3Da.google_jobrunner;return ya(b)?A=3Db:a.google_jobru= nner=3DA=3Dnew B(a)},za=3Dfunction(a,b){D().nq(a,b)},Aa=3Dfunction(a,b){= D().nqa(a,b)};var Ba=3D/MSIE [2-7]|PlayStation|Gecko\/20090226/i,Ca=3D/A= ndroid|Opera/,Da=3Dfunction(){var a=3DE,b=3DI.google_ad_width,c=3DI.goog= le_ad_height,d=3D["");b=3D"border:none;height:"+c+"px;margin:0;padding:0;position:rel= ative;visibility:visible;width:"+b+"px";return['',d.join(" "),""].join("")};var Ea=3Dfunction(){},J=3D= function(a,b,c){switch(typeof b){case "string":Fa(b,c);break;case "numbe= r":c.push(isFinite(b)&&!isNaN(b)?b:"null");break;case "boolean":c.push(b= );break;case "undefined":c.push("null");break;case "object":if(b=3D=3Dh)= {c.push("null");break}if(b instanceof Array){var d=3Db.length;c.push("["= );for(var e=3D"",f=3D0;fb?e+=3D"000":25= 6>b?e+=3D"00":4096>b&&(e+=3D"0");return K[a]=3De+b.toString(16)}));b.pus= h('"')};var L=3D"google_ad_block google_ad_channel google_ad_client goog= le_ad_format google_ad_height google_ad_host google_ad_host_channel goog= le_ad_host_tier_id google_ad_output google_ad_override google_ad_region = google_ad_section google_ad_slot google_ad_type google_ad_width google_a= dtest google_allow_expandable_ads google_alternate_ad_url google_alterna= te_color google_analytics_domain_name google_analytics_uacct google_bid = google_city google_color_bg google_color_border google_color_line google= _color_link google_color_text google_color_url google_container_id googl= e_contents google_country google_cpm google_ctr_threshold google_cust_ag= e google_cust_ch google_cust_gender google_cust_id google_cust_interests= google_cust_job google_cust_l google_cust_lh google_cust_u_url google_d= isable_video_autoplay google_ed google_eids google_enable_ose google_enc= oding google_font_face google_font_size google_frame_id google_gl google= _hints google_image_size google_kw google_kw_type google_language google= _max_num_ads google_max_radlink_len google_mtl google_num_radlinks googl= e_num_radlinks_per_unit google_num_slots_to_rotate google_only_ads_with_= video google_only_pyv_ads google_only_userchoice_ads google_override_for= mat google_page_url google_previous_watch google_previous_searches googl= e_referrer_url google_region google_reuse_colors google_rl_dest_url goog= le_rl_filtering google_rl_mode google_rt google_safe google_scs google_s= kip google_tag_info google_targeting google_tdsma google_tfs google_tl g= oogle_ui_features google_ui_version google_video_doc_id google_video_pro= duct_type google_with_pyv_ads".split(" ");var M=3Dfunction(a){this.a=3Da= ;a.google_iframe_oncopy||(a.google_iframe_oncopy=3D{handlers:{},log:[],s= houldLog:0.01>Math.random()?g:i});this.e=3Da.google_iframe_oncopy;a.setT= imeout(j(this.k,this),3E4)},Ha;var N=3D"var i=3Dthis.id,s=3Dwindow.googl= e_iframe_oncopy,H=3Ds&&s.handlers,h=3DH&&H[i],w=3Dthis.contentWindow,d;t= ry{d=3Dw.document}catch(e){}if(h&&d&&(!d.body||!d.body.firstChild)){if(h= .call){i+=3D'.call';setTimeout(h,0)}else if(h.match){i+=3D'.nav';w.locat= ion.replace(h)}s.log&&s.log.push(i)}"; /[&<>\"]/.test(N)&&(-1!=3DN.indexOf("&")&&(N=3DN.replace(ea,"&")),-1= !=3DN.indexOf("<")&&(N=3DN.replace(fa,"<")),-1!=3DN.indexOf(">")&&(N=3D= N.replace(ga,">")),-1!=3DN.indexOf('"')&&(N=3DN.replace(ha,"""))= );Ha=3DN;M.prototype.set=3Dfunction(a,b){this.e.handlers[a]=3Db;this.a.a= ddEventListener&&this.a.addEventListener("load",j(this.j,this,a),i)};M.p= rototype.j=3Dfunction(a){var a=3Dthis.a.document.getElementById(a),b=3Da= .contentWindow.document;if(a.onload&&b&&(!b.body||!b.body.firstChild))a.= onload()}; M.prototype.k=3Dfunction(){if(this.e.shouldLog){var a=3Dthis.e.log,b=3Dt= his.a.document;if(a.length){b=3D["/pagead/gen_204?id=3Diframecopy&log=3D= ",y(a.join("-")),"&url=3D",y(b.URL.substring(0,512)),"&ref=3D",y(b.refer= rer.substring(0,512))].join("");a.length=3D0;ta(this.a,u(pa(),b))}}};var= Ia=3Dfunction(){var a=3D"script";return["<",a,' src=3D"',u(t(""),"/page= ad/js/r20120425/r20120410/show_ads_impl.js",""),'">"].join("")},= Ja=3Dfunction(a,b,c,d){return function(){var e=3Di;d&&D().al(3E4);try{if= (ua(a.document.getElementById(b).contentWindow)){var f=3Da.document.getE= lementById(b).contentWindow,q=3Df.document;if(!q.body|| !q.body.firstChild)q.open(),f.google_async_iframe_close=3Dg,q.write(c)}e= lse{var F=3Da.document.getElementById(b).contentWindow,R;f=3Dc;f=3D""+f;= if(f.quote)R=3Df.quote();else{for(var q=3D['"'],G=3D0;Gqa)w=3DH;else{var o=3DH;if(o in n)w=3Dn[o];else if(= o in l)w=3Dn[o]=3Dl[o];else{var m=3Do,s=3Do.charCodeAt(0);if(31s= )m=3Do;else{if(256>s){if(m=3D"\\x",16>s||256s&&(m+=3D"0");m+=3Ds.toString(16).toUpperCase()}w=3D n[o]=3Dm}}S=3Dw}Ta[Ua]=3DS}q.push('"');R=3Dq.join("")}F.location.replace= ("javascript:"+R)}e=3Dg}catch(ab){F=3Dva().google_jobrunner,ya(F)&&F.rl(= )}e&&(new M(a)).set(b,Ja(a,b,c,i))}};window.google_loader_used=3Dg;(func= tion(a){"google_onload_fired"in a||(a.google_onload_fired=3Di,sa(a,funct= ion(){a.google_onload_fired=3Dg}))})(window);if(!window.google_loader_ex= periment){var O;a:{var Ka=3D["async_bad_black","block_bad_black"];if(!(1= .0E-4>Math.random())){var La=3DMath.random();if(La<",_script$$inline_76,">",Ra,"google_show_a= ds_impl=3Dtrue;google_unique_id=3D",I.google_unique_id,';google_async_if= rame_id=3D"',W,'";google_start_time=3D',k,";",bb?'google_loader_experime= nt=3D"'+bb+'";':"","google_bpp=3D",$a>k?$a-k:1,";",Ia(),""].join("");(I.document.getElementById(W)?za:Aa)= (Ja(I,W,cb,g))}else window.q=3Dk,document.write(Ia());})(); ------------dkJRoDUdMRCHkzgGQDfacx Content-Disposition: inline; filename=stats.htm Content-Type: text/html; charset=utf-8; name=stats.htm Content-Location: http://lolbin.net/stats.php Content-Transfer-Encoding: 8bit ------------dkJRoDUdMRCHkzgGQDfacx--