Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:网页插件¥js_url¥global_生成二维码@base64://LyoKICogQG5hbWU6IOe9keWdgOS6jOe7tOeggQogKiBAQXV0aG9yOiBTa3kKICogQHZlcnNpb246IDEuMi4xCiAqIEBkZXNjcmlwdGlvbjog5bCG572R5Z2A6L2s5Li65LqM57u056CB5Zu+54mHCiAqIEBpbmNsdWRlOiAqCiAqIEBjcmVhdGVUaW1lOiAyMDIwLTctOCAxMzozMAogKiBAdXBkYXRlVGltZTogMjAyMC0xMS0zIDIzOjEwCiAqLwooZnVuY3Rpb24oKXtjb25zdAovKiDnrYnlj7flkI7nmoTmlbDlj6/kvpvkv67mlLkKICAg4oaTICLkuoznu7TnoIEi5oyJ6ZKuIOKGkyAqLwpsZW5Ub1IgPSAzLCAvKuWIsOWPs+i+uei3neemuyglKSovCmxlblRvQiA9IDEwLCAvKuWIsOW6lemDqOi3neemuyglKSovCi8q77yN77yN77yN77yN5Lul5LiL5Yu/5pS577yN77yN77yN77yNKi8Ka2V5PWVuY29kZVVSSUNvbXBvbmVudCgn572R5Z2A5LqM57u056CBOuaJp+ihjOWIpOaWrScpO2lmKHdpbmRvd1trZXldKXtyZXR1cm47fXRyeXt3aW5kb3dba2V5XT10cnVlO3ZhciBRUkNvZGU7IWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShhKXt2YXIgYixkLGUsZjtmb3IodGhpcy5tb2RlPWMuTU9ERV84QklUX0JZVEUsdGhpcy5kYXRhPWEsdGhpcy5wYXJzZWREYXRhPVtdLGI9MCxkPXRoaXMuZGF0YS5sZW5ndGg7ZD5iO2IrKyllPVtdLGY9dGhpcy5kYXRhLmNoYXJDb2RlQXQoYiksZj42NTUzNj8oZVswXT0yNDB8KDE4MzUwMDgmZik+Pj4xOCxlWzFdPTEyOHwoMjU4MDQ4JmYpPj4+MTIsZVsyXT0xMjh8KDQwMzImZik+Pj42LGVbM109MTI4fDYzJmYpOmY+MjA0OD8oZVswXT0yMjR8KDYxNDQwJmYpPj4+MTIsZVsxXT0xMjh8KDQwMzImZik+Pj42LGVbMl09MTI4fDYzJmYpOmY+MTI4PyhlWzBdPTE5MnwoMTk4NCZmKT4+PjYsZVsxXT0xMjh8NjMmZik6ZVswXT1mLHRoaXMucGFyc2VkRGF0YS5wdXNoKGUpO3RoaXMucGFyc2VkRGF0YT1BcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLHRoaXMucGFyc2VkRGF0YSksdGhpcy5wYXJzZWREYXRhLmxlbmd0aCE9dGhpcy5kYXRhLmxlbmd0aCYmKHRoaXMucGFyc2VkRGF0YS51bnNoaWZ0KDE5MSksdGhpcy5wYXJzZWREYXRhLnVuc2hpZnQoMTg3KSx0aGlzLnBhcnNlZERhdGEudW5zaGlmdCgyMzkpKX1mdW5jdGlvbiBiKGEsYil7dGhpcy50eXBlTnVtYmVyPWEsdGhpcy5lcnJvckNvcnJlY3RMZXZlbD1iLHRoaXMubW9kdWxlcz1udWxsLHRoaXMubW9kdWxlQ291bnQ9MCx0aGlzLmRhdGFDYWNoZT1udWxsLHRoaXMuZGF0YUxpc3Q9W119ZnVuY3Rpb24gaShhLGIpe3ZhciBjLGQ7aWYodm9pZCAwPT1hLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYS5sZW5ndGgrIi8iK2IpO2ZvcihjPTA7YzxhLmxlbmd0aCYmMD09YVtjXTspYysrO2Zvcih0aGlzLm51bT1uZXcgQXJyYXkoYS5sZW5ndGgtYytiKSxkPTA7ZDxhLmxlbmd0aC1jO2QrKyl0aGlzLm51bVtkXT1hW2QrY119ZnVuY3Rpb24gaihhLGIpe3RoaXMudG90YWxDb3VudD1hLHRoaXMuZGF0YUNvdW50PWJ9ZnVuY3Rpb24gaygpe3RoaXMuYnVmZmVyPVtdLHRoaXMubGVuZ3RoPTB9ZnVuY3Rpb24gbihhLGIpe3ZhciBmLGcsaCxjPTEsZT1vKGEpO2ZvcihmPTAsZz1sLmxlbmd0aDtnPj1mO2YrKyl7c3dpdGNoKGg9MCxiKXtjYXNlIGQuTDpoPWxbZl1bMF07YnJlYWs7Y2FzZSBkLk06aD1sW2ZdWzFdO2JyZWFrO2Nhc2UgZC5ROmg9bFtmXVsyXTticmVhaztjYXNlIGQuSDpoPWxbZl1bM119aWYoaD49ZSlicmVhaztjKyt9aWYoYz5sLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkRhdGEgdG9vIGxvbmciKTtyZXR1cm4gY31mdW5jdGlvbiBvKGEpe3ZhciBiPWVuY29kZVVSSShhKS50b1N0cmluZygpLnJlcGxhY2UoL1wlWzAtOWEtZkEtRl17Mn0vZywiYSIpO3JldHVybiBiLmxlbmd0aCsoYi5sZW5ndGghPWE/MzowKX12YXIgYyxkLGUsZixnLGgsbCxtO2ZvcihhLnByb3RvdHlwZT17Z2V0TGVuZ3RoOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyc2VkRGF0YS5sZW5ndGh9LHdyaXRlOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wLGM9dGhpcy5wYXJzZWREYXRhLmxlbmd0aDtjPmI7YisrKWEucHV0KHRoaXMucGFyc2VkRGF0YVtiXSw4KX19LGIucHJvdG90eXBlPXthZGREYXRhOmZ1bmN0aW9uKGIpe3ZhciBjPW5ldyBhKGIpO3RoaXMuZGF0YUxpc3QucHVzaChjKSx0aGlzLmRhdGFDYWNoZT1udWxsfSxpc0Rhcms6ZnVuY3Rpb24oYSxiKXtpZigwPmF8fHRoaXMubW9kdWxlQ291bnQ8PWF8fDA+Ynx8dGhpcy5tb2R1bGVDb3VudDw9Yil0aHJvdyBuZXcgRXJyb3IoYSsiLCIrYik7cmV0dXJuIHRoaXMubW9kdWxlc1thXVtiXX0sZ2V0TW9kdWxlQ291bnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tb2R1bGVDb3VudH0sbWFrZTpmdW5jdGlvbigpe3RoaXMubWFrZUltcGwoITEsdGhpcy5nZXRCZXN0TWFza1BhdHRlcm4oKSl9LG1ha2VJbXBsOmZ1bmN0aW9uKGEsYyl7dmFyIGQsZTtmb3IodGhpcy5tb2R1bGVDb3VudD00KnRoaXMudHlwZU51bWJlcisxNyx0aGlzLm1vZHVsZXM9bmV3IEFycmF5KHRoaXMubW9kdWxlQ291bnQpLGQ9MDtkPHRoaXMubW9kdWxlQ291bnQ7ZCsrKWZvcih0aGlzLm1vZHVsZXNbZF09bmV3IEFycmF5KHRoaXMubW9kdWxlQ291bnQpLGU9MDtlPHRoaXMubW9kdWxlQ291bnQ7ZSsrKXRoaXMubW9kdWxlc1tkXVtlXT1udWxsO3RoaXMuc2V0dXBQb3NpdGlvblByb2JlUGF0dGVybigwLDApLHRoaXMuc2V0dXBQb3NpdGlvblByb2JlUGF0dGVybih0aGlzLm1vZHVsZUNvdW50LTcsMCksdGhpcy5zZXR1cFBvc2l0aW9uUHJvYmVQYXR0ZXJuKDAsdGhpcy5tb2R1bGVDb3VudC03KSx0aGlzLnNldHVwUG9zaXRpb25BZGp1c3RQYXR0ZXJuKCksdGhpcy5zZXR1cFRpbWluZ1BhdHRlcm4oKSx0aGlzLnNldHVwVHlwZUluZm8oYSxjKSx0aGlzLnR5cGVOdW1iZXI+PTcmJnRoaXMuc2V0dXBUeXBlTnVtYmVyKGEpLG51bGw9PXRoaXMuZGF0YUNhY2hlJiYodGhpcy5kYXRhQ2FjaGU9Yi5jcmVhdGVEYXRhKHRoaXMudHlwZU51bWJlcix0aGlzLmVycm9yQ29ycmVjdExldmVsLHRoaXMuZGF0YUxpc3QpKSx0aGlzLm1hcERhdGEodGhpcy5kYXRhQ2FjaGUsYyl9LHNldHVwUG9zaXRpb25Qcm9iZVBhdHRlcm46ZnVuY3Rpb24oYSxiKXt2YXIgYyxkO2ZvcihjPS0xOzc+PWM7YysrKWlmKCEoLTE+PWErY3x8dGhpcy5tb2R1bGVDb3VudDw9YStjKSlmb3IoZD0tMTs3Pj1kO2QrKyktMT49YitkfHx0aGlzLm1vZHVsZUNvdW50PD1iK2R8fCh0aGlzLm1vZHVsZXNbYStjXVtiK2RdPWM+PTAmJjY+PWMmJigwPT1kfHw2PT1kKXx8ZD49MCYmNj49ZCYmKDA9PWN8fDY9PWMpfHxjPj0yJiY0Pj1jJiZkPj0yJiY0Pj1kPyEwOiExKX0sZ2V0QmVzdE1hc2tQYXR0ZXJuOmZ1bmN0aW9uKCl7dmFyIGMsZCxhPTAsYj0wO2ZvcihjPTA7OD5jO2MrKyl0aGlzLm1ha2VJbXBsKCEwLGMpLGQ9Zi5nZXRMb3N0UG9pbnQodGhpcyksKDA9PWN8fGE+ZCkmJihhPWQsYj1jKTtyZXR1cm4gYn0sY3JlYXRlTW92aWVDbGlwOmZ1bmN0aW9uKGEsYixjKXt2YXIgZixnLGgsaSxqLGQ9YS5jcmVhdGVFbXB0eU1vdmllQ2xpcChiLGMpLGU9MTtmb3IodGhpcy5tYWtlKCksZj0wO2Y8dGhpcy5tb2R1bGVzLmxlbmd0aDtmKyspZm9yKGc9ZiplLGg9MDtoPHRoaXMubW9kdWxlc1tmXS5sZW5ndGg7aCsrKWk9aCplLGo9dGhpcy5tb2R1bGVzW2ZdW2hdLGomJihkLmJlZ2luRmlsbCgwLDEwMCksZC5tb3ZlVG8oaSxnKSxkLmxpbmVUbyhpK2UsZyksZC5saW5lVG8oaStlLGcrZSksZC5saW5lVG8oaSxnK2UpLGQuZW5kRmlsbCgpKTtyZXR1cm4gZH0sc2V0dXBUaW1pbmdQYXR0ZXJuOmZ1bmN0aW9uKCl7dmFyIGEsYjtmb3IoYT04O2E8dGhpcy5tb2R1bGVDb3VudC04O2ErKyludWxsPT10aGlzLm1vZHVsZXNbYV1bNl0mJih0aGlzLm1vZHVsZXNbYV1bNl09MD09YSUyKTtmb3IoYj04O2I8dGhpcy5tb2R1bGVDb3VudC04O2IrKyludWxsPT10aGlzLm1vZHVsZXNbNl1bYl0mJih0aGlzLm1vZHVsZXNbNl1bYl09MD09YiUyKX0sc2V0dXBQb3NpdGlvbkFkanVzdFBhdHRlcm46ZnVuY3Rpb24oKXt2YXIgYixjLGQsZSxnLGgsYT1mLmdldFBhdHRlcm5Qb3NpdGlvbih0aGlzLnR5cGVOdW1iZXIpO2ZvcihiPTA7YjxhLmxlbmd0aDtiKyspZm9yKGM9MDtjPGEubGVuZ3RoO2MrKylpZihkPWFbYl0sZT1hW2NdLG51bGw9PXRoaXMubW9kdWxlc1tkXVtlXSlmb3IoZz0tMjsyPj1nO2crKylmb3IoaD0tMjsyPj1oO2grKyl0aGlzLm1vZHVsZXNbZCtnXVtlK2hdPS0yPT1nfHwyPT1nfHwtMj09aHx8Mj09aHx8MD09ZyYmMD09aD8hMDohMX0sc2V0dXBUeXBlTnVtYmVyOmZ1bmN0aW9uKGEpe3ZhciBjLGQsYj1mLmdldEJDSFR5cGVOdW1iZXIodGhpcy50eXBlTnVtYmVyKTtmb3IoYz0wOzE4PmM7YysrKWQ9IWEmJjE9PSgxJmI+PmMpLHRoaXMubW9kdWxlc1tNYXRoLmZsb29yKGMvMyldW2MlMyt0aGlzLm1vZHVsZUNvdW50LTgtM109ZDtmb3IoYz0wOzE4PmM7YysrKWQ9IWEmJjE9PSgxJmI+PmMpLHRoaXMubW9kdWxlc1tjJTMrdGhpcy5tb2R1bGVDb3VudC04LTNdW01hdGguZmxvb3IoYy8zKV09ZH0sc2V0dXBUeXBlSW5mbzpmdW5jdGlvbihhLGIpe3ZhciBlLGcsYz10aGlzLmVycm9yQ29ycmVjdExldmVsPDwzfGIsZD1mLmdldEJDSFR5cGVJbmZvKGMpO2ZvcihlPTA7MTU+ZTtlKyspZz0hYSYmMT09KDEmZD4+ZSksNj5lP3RoaXMubW9kdWxlc1tlXVs4XT1nOjg+ZT90aGlzLm1vZHVsZXNbZSsxXVs4XT1nOnRoaXMubW9kdWxlc1t0aGlzLm1vZHVsZUNvdW50LTE1K2VdWzhdPWc7Zm9yKGU9MDsxNT5lO2UrKylnPSFhJiYxPT0oMSZkPj5lKSw4PmU/dGhpcy5tb2R1bGVzWzhdW3RoaXMubW9kdWxlQ291bnQtZS0xXT1nOjk+ZT90aGlzLm1vZHVsZXNbOF1bMTUtZS0xKzFdPWc6dGhpcy5tb2R1bGVzWzhdWzE1LWUtMV09Zzt0aGlzLm1vZHVsZXNbdGhpcy5tb2R1bGVDb3VudC04XVs4XT0hYX0sbWFwRGF0YTpmdW5jdGlvbihhLGIpe3ZhciBoLGksaixrLGM9LTEsZD10aGlzLm1vZHVsZUNvdW50LTEsZT03LGc9MDtmb3IoaD10aGlzLm1vZHVsZUNvdW50LTE7aD4wO2gtPTIpZm9yKDY9PWgmJmgtLTs7KXtmb3IoaT0wOzI+aTtpKyspbnVsbD09dGhpcy5tb2R1bGVzW2RdW2gtaV0mJihqPSExLGc8YS5sZW5ndGgmJihqPTE9PSgxJmFbZ10+Pj5lKSksaz1mLmdldE1hc2soYixkLGgtaSksayYmKGo9IWopLHRoaXMubW9kdWxlc1tkXVtoLWldPWosZS0tLC0xPT1lJiYoZysrLGU9NykpO2lmKGQrPWMsMD5kfHx0aGlzLm1vZHVsZUNvdW50PD1kKXtkLT1jLGM9LWM7YnJlYWt9fX19LGIuUEFEMD0yMzYsYi5QQUQxPTE3LGIuY3JlYXRlRGF0YT1mdW5jdGlvbihhLGMsZCl7dmFyIGgsaSxsLGU9ai5nZXRSU0Jsb2NrcyhhLGMpLGc9bmV3IGs7Zm9yKGg9MDtoPGQubGVuZ3RoO2grKylpPWRbaF0sZy5wdXQoaS5tb2RlLDQpLGcucHV0KGkuZ2V0TGVuZ3RoKCksZi5nZXRMZW5ndGhJbkJpdHMoaS5tb2RlLGEpKSxpLndyaXRlKGcpO2ZvcihsPTAsaD0wO2g8ZS5sZW5ndGg7aCsrKWwrPWVbaF0uZGF0YUNvdW50O2lmKGcuZ2V0TGVuZ3RoSW5CaXRzKCk+OCpsKXRocm93IG5ldyBFcnJvcigiY29kZSBsZW5ndGggb3ZlcmZsb3cuICgiK2cuZ2V0TGVuZ3RoSW5CaXRzKCkrIj4iKzgqbCsiKSIpO2ZvcihnLmdldExlbmd0aEluQml0cygpKzQ8PTgqbCYmZy5wdXQoMCw0KTswIT1nLmdldExlbmd0aEluQml0cygpJTg7KWcucHV0Qml0KCExKTtmb3IoOzspe2lmKGcuZ2V0TGVuZ3RoSW5CaXRzKCk+PTgqbClicmVhaztpZihnLnB1dChiLlBBRDAsOCksZy5nZXRMZW5ndGhJbkJpdHMoKT49OCpsKWJyZWFrO2cucHV0KGIuUEFEMSw4KX1yZXR1cm4gYi5jcmVhdGVCeXRlcyhnLGUpfSxiLmNyZWF0ZUJ5dGVzPWZ1bmN0aW9uKGEsYil7dmFyIGosayxsLG0sbixvLHAscSxyLHMsdCxjPTAsZD0wLGU9MCxnPW5ldyBBcnJheShiLmxlbmd0aCksaD1uZXcgQXJyYXkoYi5sZW5ndGgpO2ZvcihqPTA7ajxiLmxlbmd0aDtqKyspe2ZvcihrPWJbal0uZGF0YUNvdW50LGw9YltqXS50b3RhbENvdW50LWssZD1NYXRoLm1heChkLGspLGU9TWF0aC5tYXgoZSxsKSxnW2pdPW5ldyBBcnJheShrKSxtPTA7bTxnW2pdLmxlbmd0aDttKyspZ1tqXVttXT0yNTUmYS5idWZmZXJbbStjXTtmb3IoYys9ayxuPWYuZ2V0RXJyb3JDb3JyZWN0UG9seW5vbWlhbChsKSxvPW5ldyBpKGdbal0sbi5nZXRMZW5ndGgoKS0xKSxwPW8ubW9kKG4pLGhbal09bmV3IEFycmF5KG4uZ2V0TGVuZ3RoKCktMSksbT0wO208aFtqXS5sZW5ndGg7bSsrKXE9bStwLmdldExlbmd0aCgpLWhbal0ubGVuZ3RoLGhbal1bbV09cT49MD9wLmdldChxKTowfWZvcihyPTAsbT0wO208Yi5sZW5ndGg7bSsrKXIrPWJbbV0udG90YWxDb3VudDtmb3Iocz1uZXcgQXJyYXkociksdD0wLG09MDtkPm07bSsrKWZvcihqPTA7ajxiLmxlbmd0aDtqKyspbTxnW2pdLmxlbmd0aCYmKHNbdCsrXT1nW2pdW21dKTtmb3IobT0wO2U+bTttKyspZm9yKGo9MDtqPGIubGVuZ3RoO2orKyltPGhbal0ubGVuZ3RoJiYoc1t0KytdPWhbal1bbV0pO3JldHVybiBzfSxjPXtNT0RFX05VTUJFUjoxLE1PREVfQUxQSEFfTlVNOjIsTU9ERV84QklUX0JZVEU6NCxNT0RFX0tBTkpJOjh9LGQ9e0w6MSxNOjAsUTozLEg6Mn0sZT17UEFUVEVSTjAwMDowLFBBVFRFUk4wMDE6MSxQQVRURVJOMDEwOjIsUEFUVEVSTjAxMTozLFBBVFRFUk4xMDA6NCxQQVRURVJOMTAxOjUsUEFUVEVSTjExMDo2LFBBVFRFUk4xMTE6N30sZj17UEFUVEVSTl9QT1NJVElPTl9UQUJMRTpbW10sWzYsMThdLFs2LDIyXSxbNiwyNl0sWzYsMzBdLFs2LDM0XSxbNiwyMiwzOF0sWzYsMjQsNDJdLFs2LDI2LDQ2XSxbNiwyOCw1MF0sWzYsMzAsNTRdLFs2LDMyLDU4XSxbNiwzNCw2Ml0sWzYsMjYsNDYsNjZdLFs2LDI2LDQ4LDcwXSxbNiwyNiw1MCw3NF0sWzYsMzAsNTQsNzhdLFs2LDMwLDU2LDgyXSxbNiwzMCw1OCw4Nl0sWzYsMzQsNjIsOTBdLFs2LDI4LDUwLDcyLDk0XSxbNiwyNiw1MCw3NCw5OF0sWzYsMzAsNTQsNzgsMTAyXSxbNiwyOCw1NCw4MCwxMDZdLFs2LDMyLDU4LDg0LDExMF0sWzYsMzAsNTgsODYsMTE0XSxbNiwzNCw2Miw5MCwxMThdLFs2LDI2LDUwLDc0LDk4LDEyMl0sWzYsMzAsNTQsNzgsMTAyLDEyNl0sWzYsMjYsNTIsNzgsMTA0LDEzMF0sWzYsMzAsNTYsODIsMTA4LDEzNF0sWzYsMzQsNjAsODYsMTEyLDEzOF0sWzYsMzAsNTgsODYsMTE0LDE0Ml0sWzYsMzQsNjIsOTAsMTE4LDE0Nl0sWzYsMzAsNTQsNzgsMTAyLDEyNiwxNTBdLFs2LDI0LDUwLDc2LDEwMiwxMjgsMTU0XSxbNiwyOCw1NCw4MCwxMDYsMTMyLDE1OF0sWzYsMzIsNTgsODQsMTEwLDEzNiwxNjJdLFs2LDI2LDU0LDgyLDExMCwxMzgsMTY2XSxbNiwzMCw1OCw4NiwxMTQsMTQyLDE3MF1dLEcxNToxMzM1LEcxODo3OTczLEcxNV9NQVNLOjIxNTIyLGdldEJDSFR5cGVJbmZvOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1hPDwxMDtmLmdldEJDSERpZ2l0KGIpLWYuZ2V0QkNIRGlnaXQoZi5HMTUpPj0wOyliXj1mLkcxNTw8Zi5nZXRCQ0hEaWdpdChiKS1mLmdldEJDSERpZ2l0KGYuRzE1KTtyZXR1cm4oYTw8MTB8YileZi5HMTVfTUFTS30sZ2V0QkNIVHlwZU51bWJlcjpmdW5jdGlvbihhKXtmb3IodmFyIGI9YTw8MTI7Zi5nZXRCQ0hEaWdpdChiKS1mLmdldEJDSERpZ2l0KGYuRzE4KT49MDspYl49Zi5HMTg8PGYuZ2V0QkNIRGlnaXQoYiktZi5nZXRCQ0hEaWdpdChmLkcxOCk7cmV0dXJuIGE8PDEyfGJ9LGdldEJDSERpZ2l0OmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wOzAhPWE7KWIrKyxhPj4+PTE7cmV0dXJuIGJ9LGdldFBhdHRlcm5Qb3NpdGlvbjpmdW5jdGlvbihhKXtyZXR1cm4gZi5QQVRURVJOX1BPU0lUSU9OX1RBQkxFW2EtMV19LGdldE1hc2s6ZnVuY3Rpb24oYSxiLGMpe3N3aXRjaChhKXtjYXNlIGUuUEFUVEVSTjAwMDpyZXR1cm4gMD09KGIrYyklMjtjYXNlIGUuUEFUVEVSTjAwMTpyZXR1cm4gMD09YiUyO2Nhc2UgZS5QQVRURVJOMDEwOnJldHVybiAwPT1jJTM7Y2FzZSBlLlBBVFRFUk4wMTE6cmV0dXJuIDA9PShiK2MpJTM7Y2FzZSBlLlBBVFRFUk4xMDA6cmV0dXJuIDA9PShNYXRoLmZsb29yKGIvMikrTWF0aC5mbG9vcihjLzMpKSUyO2Nhc2UgZS5QQVRURVJOMTAxOnJldHVybiAwPT1iKmMlMitiKmMlMztjYXNlIGUuUEFUVEVSTjExMDpyZXR1cm4gMD09KGIqYyUyK2IqYyUzKSUyO2Nhc2UgZS5QQVRURVJOMTExOnJldHVybiAwPT0oYipjJTMrKGIrYyklMiklMjtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiYmFkIG1hc2tQYXR0ZXJuOiIrYSl9fSxnZXRFcnJvckNvcnJlY3RQb2x5bm9taWFsOmZ1bmN0aW9uKGEpe3ZhciBjLGI9bmV3IGkoWzFdLDApO2ZvcihjPTA7YT5jO2MrKyliPWIubXVsdGlwbHkobmV3IGkoWzEsZy5nZXhwKGMpXSwwKSk7cmV0dXJuIGJ9LGdldExlbmd0aEluQml0czpmdW5jdGlvbihhLGIpe2lmKGI+PTEmJjEwPmIpc3dpdGNoKGEpe2Nhc2UgYy5NT0RFX05VTUJFUjpyZXR1cm4gMTA7Y2FzZSBjLk1PREVfQUxQSEFfTlVNOnJldHVybiA5O2Nhc2UgYy5NT0RFXzhCSVRfQllURTpyZXR1cm4gODtjYXNlIGMuTU9ERV9LQU5KSTpyZXR1cm4gODtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigibW9kZToiK2EpfWVsc2UgaWYoMjc+Yilzd2l0Y2goYSl7Y2FzZSBjLk1PREVfTlVNQkVSOnJldHVybiAxMjtjYXNlIGMuTU9ERV9BTFBIQV9OVU06cmV0dXJuIDExO2Nhc2UgYy5NT0RFXzhCSVRfQllURTpyZXR1cm4gMTY7Y2FzZSBjLk1PREVfS0FOSkk6cmV0dXJuIDEwO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJtb2RlOiIrYSl9ZWxzZXtpZighKDQxPmIpKXRocm93IG5ldyBFcnJvcigidHlwZToiK2IpO3N3aXRjaChhKXtjYXNlIGMuTU9ERV9OVU1CRVI6cmV0dXJuIDE0O2Nhc2UgYy5NT0RFX0FMUEhBX05VTTpyZXR1cm4gMTM7Y2FzZSBjLk1PREVfOEJJVF9CWVRFOnJldHVybiAxNjtjYXNlIGMuTU9ERV9LQU5KSTpyZXR1cm4gMTI7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIm1vZGU6IithKX19fSxnZXRMb3N0UG9pbnQ6ZnVuY3Rpb24oYSl7dmFyIGQsZSxmLGcsaCxpLGosayxsLGI9YS5nZXRNb2R1bGVDb3VudCgpLGM9MDtmb3IoZD0wO2I+ZDtkKyspZm9yKGU9MDtiPmU7ZSsrKXtmb3IoZj0wLGc9YS5pc0RhcmsoZCxlKSxoPS0xOzE+PWg7aCsrKWlmKCEoMD5kK2h8fGQraD49YikpZm9yKGk9LTE7MT49aTtpKyspMD5lK2l8fGUraT49Ynx8KDAhPWh8fDAhPWkpJiZnPT1hLmlzRGFyayhkK2gsZStpKSYmZisrO2Y+NSYmKGMrPTMrZi01KX1mb3IoZD0wO2ItMT5kO2QrKylmb3IoZT0wO2ItMT5lO2UrKylqPTAsYS5pc0RhcmsoZCxlKSYmaisrLGEuaXNEYXJrKGQrMSxlKSYmaisrLGEuaXNEYXJrKGQsZSsxKSYmaisrLGEuaXNEYXJrKGQrMSxlKzEpJiZqKyssKDA9PWp8fDQ9PWopJiYoYys9Myk7Zm9yKGQ9MDtiPmQ7ZCsrKWZvcihlPTA7Yi02PmU7ZSsrKWEuaXNEYXJrKGQsZSkmJiFhLmlzRGFyayhkLGUrMSkmJmEuaXNEYXJrKGQsZSsyKSYmYS5pc0RhcmsoZCxlKzMpJiZhLmlzRGFyayhkLGUrNCkmJiFhLmlzRGFyayhkLGUrNSkmJmEuaXNEYXJrKGQsZSs2KSYmKGMrPTQwKTtmb3IoZT0wO2I+ZTtlKyspZm9yKGQ9MDtiLTY+ZDtkKyspYS5pc0RhcmsoZCxlKSYmIWEuaXNEYXJrKGQrMSxlKSYmYS5pc0RhcmsoZCsyLGUpJiZhLmlzRGFyayhkKzMsZSkmJmEuaXNEYXJrKGQrNCxlKSYmIWEuaXNEYXJrKGQrNSxlKSYmYS5pc0RhcmsoZCs2LGUpJiYoYys9NDApO2ZvcihrPTAsZT0wO2I+ZTtlKyspZm9yKGQ9MDtiPmQ7ZCsrKWEuaXNEYXJrKGQsZSkmJmsrKztyZXR1cm4gbD1NYXRoLmFicygxMDAqay9iL2ItNTApLzUsYys9MTAqbH19LGc9e2dsb2c6ZnVuY3Rpb24oYSl7aWYoMT5hKXRocm93IG5ldyBFcnJvcigiZ2xvZygiK2ErIikiKTtyZXR1cm4gZy5MT0dfVEFCTEVbYV19LGdleHA6ZnVuY3Rpb24oYSl7Zm9yKDswPmE7KWErPTI1NTtmb3IoO2E+PTI1NjspYS09MjU1O3JldHVybiBnLkVYUF9UQUJMRVthXX0sRVhQX1RBQkxFOm5ldyBBcnJheSgyNTYpLExPR19UQUJMRTpuZXcgQXJyYXkoMjU2KX0saD0wOzg+aDtoKyspZy5FWFBfVEFCTEVbaF09MTw8aDtmb3IoaD04OzI1Nj5oO2grKylnLkVYUF9UQUJMRVtoXT1nLkVYUF9UQUJMRVtoLTRdXmcuRVhQX1RBQkxFW2gtNV1eZy5FWFBfVEFCTEVbaC02XV5nLkVYUF9UQUJMRVtoLThdO2ZvcihoPTA7MjU1Pmg7aCsrKWcuTE9HX1RBQkxFW2cuRVhQX1RBQkxFW2hdXT1oO2kucHJvdG90eXBlPXtnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubnVtW2FdfSxnZXRMZW5ndGg6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5udW0ubGVuZ3RofSxtdWx0aXBseTpmdW5jdGlvbihhKXt2YXIgYyxkLGI9bmV3IEFycmF5KHRoaXMuZ2V0TGVuZ3RoKCkrYS5nZXRMZW5ndGgoKS0xKTtmb3IoYz0wO2M8dGhpcy5nZXRMZW5ndGgoKTtjKyspZm9yKGQ9MDtkPGEuZ2V0TGVuZ3RoKCk7ZCsrKWJbYytkXV49Zy5nZXhwKGcuZ2xvZyh0aGlzLmdldChjKSkrZy5nbG9nKGEuZ2V0KGQpKSk7cmV0dXJuIG5ldyBpKGIsMCl9LG1vZDpmdW5jdGlvbihhKXt2YXIgYixjLGQ7aWYodGhpcy5nZXRMZW5ndGgoKS1hLmdldExlbmd0aCgpPDApcmV0dXJuIHRoaXM7Zm9yKGI9Zy5nbG9nKHRoaXMuZ2V0KDApKS1nLmdsb2coYS5nZXQoMCkpLGM9bmV3IEFycmF5KHRoaXMuZ2V0TGVuZ3RoKCkpLGQ9MDtkPHRoaXMuZ2V0TGVuZ3RoKCk7ZCsrKWNbZF09dGhpcy5nZXQoZCk7Zm9yKGQ9MDtkPGEuZ2V0TGVuZ3RoKCk7ZCsrKWNbZF1ePWcuZ2V4cChnLmdsb2coYS5nZXQoZCkpK2IpO3JldHVybiBuZXcgaShjLDApLm1vZChhKX19LGouUlNfQkxPQ0tfVEFCTEU9W1sxLDI2LDE5XSxbMSwyNiwxNl0sWzEsMjYsMTNdLFsxLDI2LDldLFsxLDQ0LDM0XSxbMSw0NCwyOF0sWzEsNDQsMjJdLFsxLDQ0LDE2XSxbMSw3MCw1NV0sWzEsNzAsNDRdLFsyLDM1LDE3XSxbMiwzNSwxM10sWzEsMTAwLDgwXSxbMiw1MCwzMl0sWzIsNTAsMjRdLFs0LDI1LDldLFsxLDEzNCwxMDhdLFsyLDY3LDQzXSxbMiwzMywxNSwyLDM0LDE2XSxbMiwzMywxMSwyLDM0LDEyXSxbMiw4Niw2OF0sWzQsNDMsMjddLFs0LDQzLDE5XSxbNCw0MywxNV0sWzIsOTgsNzhdLFs0LDQ5LDMxXSxbMiwzMiwxNCw0LDMzLDE1XSxbNCwzOSwxMywxLDQwLDE0XSxbMiwxMjEsOTddLFsyLDYwLDM4LDIsNjEsMzldLFs0LDQwLDE4LDIsNDEsMTldLFs0LDQwLDE0LDIsNDEsMTVdLFsyLDE0NiwxMTZdLFszLDU4LDM2LDIsNTksMzddLFs0LDM2LDE2LDQsMzcsMTddLFs0LDM2LDEyLDQsMzcsMTNdLFsyLDg2LDY4LDIsODcsNjldLFs0LDY5LDQzLDEsNzAsNDRdLFs2LDQzLDE5LDIsNDQsMjBdLFs2LDQzLDE1LDIsNDQsMTZdLFs0LDEwMSw4MV0sWzEsODAsNTAsNCw4MSw1MV0sWzQsNTAsMjIsNCw1MSwyM10sWzMsMzYsMTIsOCwzNywxM10sWzIsMTE2LDkyLDIsMTE3LDkzXSxbNiw1OCwzNiwyLDU5LDM3XSxbNCw0NiwyMCw2LDQ3LDIxXSxbNyw0MiwxNCw0LDQzLDE1XSxbNCwxMzMsMTA3XSxbOCw1OSwzNywxLDYwLDM4XSxbOCw0NCwyMCw0LDQ1LDIxXSxbMTIsMzMsMTEsNCwzNCwxMl0sWzMsMTQ1LDExNSwxLDE0NiwxMTZdLFs0LDY0LDQwLDUsNjUsNDFdLFsxMSwzNiwxNiw1LDM3LDE3XSxbMTEsMzYsMTIsNSwzNywxM10sWzUsMTA5LDg3LDEsMTEwLDg4XSxbNSw2NSw0MSw1LDY2LDQyXSxbNSw1NCwyNCw3LDU1LDI1XSxbMTEsMzYsMTJdLFs1LDEyMiw5OCwxLDEyMyw5OV0sWzcsNzMsNDUsMyw3NCw0Nl0sWzE1LDQzLDE5LDIsNDQsMjBdLFszLDQ1LDE1LDEzLDQ2LDE2XSxbMSwxMzUsMTA3LDUsMTM2LDEwOF0sWzEwLDc0LDQ2LDEsNzUsNDddLFsxLDUwLDIyLDE1LDUxLDIzXSxbMiw0MiwxNCwxNyw0MywxNV0sWzUsMTUwLDEyMCwxLDE1MSwxMjFdLFs5LDY5LDQzLDQsNzAsNDRdLFsxNyw1MCwyMiwxLDUxLDIzXSxbMiw0MiwxNCwxOSw0MywxNV0sWzMsMTQxLDExMyw0LDE0MiwxMTRdLFszLDcwLDQ0LDExLDcxLDQ1XSxbMTcsNDcsMjEsNCw0OCwyMl0sWzksMzksMTMsMTYsNDAsMTRdLFszLDEzNSwxMDcsNSwxMzYsMTA4XSxbMyw2Nyw0MSwxMyw2OCw0Ml0sWzE1LDU0LDI0LDUsNTUsMjVdLFsxNSw0MywxNSwxMCw0NCwxNl0sWzQsMTQ0LDExNiw0LDE0NSwxMTddLFsxNyw2OCw0Ml0sWzE3LDUwLDIyLDYsNTEsMjNdLFsxOSw0NiwxNiw2LDQ3LDE3XSxbMiwxMzksMTExLDcsMTQwLDExMl0sWzE3LDc0LDQ2XSxbNyw1NCwyNCwxNiw1NSwyNV0sWzM0LDM3LDEzXSxbNCwxNTEsMTIxLDUsMTUyLDEyMl0sWzQsNzUsNDcsMTQsNzYsNDhdLFsxMSw1NCwyNCwxNCw1NSwyNV0sWzE2LDQ1LDE1LDE0LDQ2LDE2XSxbNiwxNDcsMTE3LDQsMTQ4LDExOF0sWzYsNzMsNDUsMTQsNzQsNDZdLFsxMSw1NCwyNCwxNiw1NSwyNV0sWzMwLDQ2LDE2LDIsNDcsMTddLFs4LDEzMiwxMDYsNCwxMzMsMTA3XSxbOCw3NSw0NywxMyw3Niw0OF0sWzcsNTQsMjQsMjIsNTUsMjVdLFsyMiw0NSwxNSwxMyw0NiwxNl0sWzEwLDE0MiwxMTQsMiwxNDMsMTE1XSxbMTksNzQsNDYsNCw3NSw0N10sWzI4LDUwLDIyLDYsNTEsMjNdLFszMyw0NiwxNiw0LDQ3LDE3XSxbOCwxNTIsMTIyLDQsMTUzLDEyM10sWzIyLDczLDQ1LDMsNzQsNDZdLFs4LDUzLDIzLDI2LDU0LDI0XSxbMTIsNDUsMTUsMjgsNDYsMTZdLFszLDE0NywxMTcsMTAsMTQ4LDExOF0sWzMsNzMsNDUsMjMsNzQsNDZdLFs0LDU0LDI0LDMxLDU1LDI1XSxbMTEsNDUsMTUsMzEsNDYsMTZdLFs3LDE0NiwxMTYsNywxNDcsMTE3XSxbMjEsNzMsNDUsNyw3NCw0Nl0sWzEsNTMsMjMsMzcsNTQsMjRdLFsxOSw0NSwxNSwyNiw0NiwxNl0sWzUsMTQ1LDExNSwxMCwxNDYsMTE2XSxbMTksNzUsNDcsMTAsNzYsNDhdLFsxNSw1NCwyNCwyNSw1NSwyNV0sWzIzLDQ1LDE1LDI1LDQ2LDE2XSxbMTMsMTQ1LDExNSwzLDE0NiwxMTZdLFsyLDc0LDQ2LDI5LDc1LDQ3XSxbNDIsNTQsMjQsMSw1NSwyNV0sWzIzLDQ1LDE1LDI4LDQ2LDE2XSxbMTcsMTQ1LDExNV0sWzEwLDc0LDQ2LDIzLDc1LDQ3XSxbMTAsNTQsMjQsMzUsNTUsMjVdLFsxOSw0NSwxNSwzNSw0NiwxNl0sWzE3LDE0NSwxMTUsMSwxNDYsMTE2XSxbMTQsNzQsNDYsMjEsNzUsNDddLFsyOSw1NCwyNCwxOSw1NSwyNV0sWzExLDQ1LDE1LDQ2LDQ2LDE2XSxbMTMsMTQ1LDExNSw2LDE0NiwxMTZdLFsxNCw3NCw0NiwyMyw3NSw0N10sWzQ0LDU0LDI0LDcsNTUsMjVdLFs1OSw0NiwxNiwxLDQ3LDE3XSxbMTIsMTUxLDEyMSw3LDE1MiwxMjJdLFsxMiw3NSw0NywyNiw3Niw0OF0sWzM5LDU0LDI0LDE0LDU1LDI1XSxbMjIsNDUsMTUsNDEsNDYsMTZdLFs2LDE1MSwxMjEsMTQsMTUyLDEyMl0sWzYsNzUsNDcsMzQsNzYsNDhdLFs0Niw1NCwyNCwxMCw1NSwyNV0sWzIsNDUsMTUsNjQsNDYsMTZdLFsxNywxNTIsMTIyLDQsMTUzLDEyM10sWzI5LDc0LDQ2LDE0LDc1LDQ3XSxbNDksNTQsMjQsMTAsNTUsMjVdLFsyNCw0NSwxNSw0Niw0NiwxNl0sWzQsMTUyLDEyMiwxOCwxNTMsMTIzXSxbMTMsNzQsNDYsMzIsNzUsNDddLFs0OCw1NCwyNCwxNCw1NSwyNV0sWzQyLDQ1LDE1LDMyLDQ2LDE2XSxbMjAsMTQ3LDExNyw0LDE0OCwxMThdLFs0MCw3NSw0Nyw3LDc2LDQ4XSxbNDMsNTQsMjQsMjIsNTUsMjVdLFsxMCw0NSwxNSw2Nyw0NiwxNl0sWzE5LDE0OCwxMTgsNiwxNDksMTE5XSxbMTgsNzUsNDcsMzEsNzYsNDhdLFszNCw1NCwyNCwzNCw1NSwyNV0sWzIwLDQ1LDE1LDYxLDQ2LDE2XV0sai5nZXRSU0Jsb2Nrcz1mdW5jdGlvbihhLGIpe3ZhciBkLGUsZixnLGgsaSxrLGM9ai5nZXRSc0Jsb2NrVGFibGUoYSxiKTtpZih2b2lkIDA9PWMpdGhyb3cgbmV3IEVycm9yKCJiYWQgcnMgYmxvY2sgQCB0eXBlTnVtYmVyOiIrYSsiL2Vycm9yQ29ycmVjdExldmVsOiIrYik7Zm9yKGQ9Yy5sZW5ndGgvMyxlPVtdLGY9MDtkPmY7ZisrKWZvcihnPWNbMypmKzBdLGg9Y1szKmYrMV0saT1jWzMqZisyXSxrPTA7Zz5rO2srKyllLnB1c2gobmV3IGooaCxpKSk7cmV0dXJuIGV9LGouZ2V0UnNCbG9ja1RhYmxlPWZ1bmN0aW9uKGEsYil7c3dpdGNoKGIpe2Nhc2UgZC5MOnJldHVybiBqLlJTX0JMT0NLX1RBQkxFWzQqKGEtMSkrMF07Y2FzZSBkLk06cmV0dXJuIGouUlNfQkxPQ0tfVEFCTEVbNCooYS0xKSsxXTtjYXNlIGQuUTpyZXR1cm4gai5SU19CTE9DS19UQUJMRVs0KihhLTEpKzJdO2Nhc2UgZC5IOnJldHVybiBqLlJTX0JMT0NLX1RBQkxFWzQqKGEtMSkrM107ZGVmYXVsdDpyZXR1cm4gdm9pZCAwfX0say5wcm90b3R5cGU9e2dldDpmdW5jdGlvbihhKXt2YXIgYj1NYXRoLmZsb29yKGEvOCk7cmV0dXJuIDE9PSgxJnRoaXMuYnVmZmVyW2JdPj4+Ny1hJTgpfSxwdXQ6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtiPmM7YysrKXRoaXMucHV0Qml0KDE9PSgxJmE+Pj5iLWMtMSkpfSxnZXRMZW5ndGhJbkJpdHM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGh9LHB1dEJpdDpmdW5jdGlvbihhKXt2YXIgYj1NYXRoLmZsb29yKHRoaXMubGVuZ3RoLzgpO3RoaXMuYnVmZmVyLmxlbmd0aDw9YiYmdGhpcy5idWZmZXIucHVzaCgwKSxhJiYodGhpcy5idWZmZXJbYl18PTEyOD4+PnRoaXMubGVuZ3RoJTgpLHRoaXMubGVuZ3RoKyt9fSxsPVtbMTcsMTQsMTEsN10sWzMyLDI2LDIwLDE0XSxbNTMsNDIsMzIsMjRdLFs3OCw2Miw0NiwzNF0sWzEwNiw4NCw2MCw0NF0sWzEzNCwxMDYsNzQsNThdLFsxNTQsMTIyLDg2LDY0XSxbMTkyLDE1MiwxMDgsODRdLFsyMzAsMTgwLDEzMCw5OF0sWzI3MSwyMTMsMTUxLDExOV0sWzMyMSwyNTEsMTc3LDEzN10sWzM2NywyODcsMjAzLDE1NV0sWzQyNSwzMzEsMjQxLDE3N10sWzQ1OCwzNjIsMjU4LDE5NF0sWzUyMCw0MTIsMjkyLDIyMF0sWzU4Niw0NTAsMzIyLDI1MF0sWzY0NCw1MDQsMzY0LDI4MF0sWzcxOCw1NjAsMzk0LDMxMF0sWzc5Miw2MjQsNDQyLDMzOF0sWzg1OCw2NjYsNDgyLDM4Ml0sWzkyOSw3MTEsNTA5LDQwM10sWzEwMDMsNzc5LDU2NSw0MzldLFsxMDkxLDg1Nyw2MTEsNDYxXSxbMTE3MSw5MTEsNjYxLDUxMV0sWzEyNzMsOTk3LDcxNSw1MzVdLFsxMzY3LDEwNTksNzUxLDU5M10sWzE0NjUsMTEyNSw4MDUsNjI1XSxbMTUyOCwxMTkwLDg2OCw2NThdLFsxNjI4LDEyNjQsOTA4LDY5OF0sWzE3MzIsMTM3MCw5ODIsNzQyXSxbMTg0MCwxNDUyLDEwMzAsNzkwXSxbMTk1MiwxNTM4LDExMTIsODQyXSxbMjA2OCwxNjI4LDExNjgsODk4XSxbMjE4OCwxNzIyLDEyMjgsOTU4XSxbMjMwMywxODA5LDEyODMsOTgzXSxbMjQzMSwxOTExLDEzNTEsMTA1MV0sWzI1NjMsMTk4OSwxNDIzLDEwOTNdLFsyNjk5LDIwOTksMTQ5OSwxMTM5XSxbMjgwOSwyMjEzLDE1NzksMTIxOV0sWzI5NTMsMjMzMSwxNjYzLDEyNzNdXSxtPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe3RoaXMuX2VsSW1hZ2Uuc3JjPXRoaXMuX2VsQ2FudmFzLnRvRGF0YVVSTCgiaW1hZ2UvcG5nIiksdGhpcy5fZWxJbWFnZS5zdHlsZS5kaXNwbGF5PSJibG9jayIsdGhpcy5fZWxDYW52YXMuc3R5bGUuZGlzcGxheT0ibm9uZSJ9ZnVuY3Rpb24gYihhKXt2YXIgYj10aGlzO2IuX2ZTdWNjZXNzPWEsYi5fZlN1Y2Nlc3MuY2FsbChiKX12YXIgYz1mdW5jdGlvbihhLGIpe3RoaXMuX2JJc1BhaW50ZWQ9ITEsdGhpcy5faHRPcHRpb249Yix0aGlzLl9lbENhbnZhcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSx0aGlzLl9lbENhbnZhcy53aWR0aD1iLndpZHRoLHRoaXMuX2VsQ2FudmFzLmhlaWdodD1iLmhlaWdodCxhLmFwcGVuZENoaWxkKHRoaXMuX2VsQ2FudmFzKSx0aGlzLl9lbD1hLHRoaXMuX29Db250ZXh0PXRoaXMuX2VsQ2FudmFzLmdldENvbnRleHQoIjJkIiksdGhpcy5fYklzUGFpbnRlZD0hMSx0aGlzLl9lbEltYWdlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpLHRoaXMuX2VsSW1hZ2Uuc3R5bGUuZGlzcGxheT0ibm9uZSIsdGhpcy5fZWwuYXBwZW5kQ2hpbGQodGhpcy5fZWxJbWFnZSl9O3JldHVybiBjLnByb3RvdHlwZS5kcmF3PWZ1bmN0aW9uKGEpe3ZhciBqLGssbCxtLG4sYj10aGlzLl9lbEltYWdlLGM9dGhpcy5fb0NvbnRleHQsZD10aGlzLl9odE9wdGlvbixlPWEuZ2V0TW9kdWxlQ291bnQoKSxmPWQud2lkdGgvZSxnPWQuaGVpZ2h0L2UsaD1NYXRoLnJvdW5kKGYpLGk9TWF0aC5yb3VuZChnKTtmb3IoYi5zdHlsZS5kaXNwbGF5PSJub25lIix0aGlzLmNsZWFyKCksaj0wO2U+ajtqKyspZm9yKGs9MDtlPms7aysrKWw9YS5pc0RhcmsoaixrKSxtPWsqZixuPWoqZyxjLnN0cm9rZVN0eWxlPWw/ZC5jb2xvckRhcms6ZC5jb2xvckxpZ2h0LGMubGluZVdpZHRoPTEsYy5maWxsU3R5bGU9bD9kLmNvbG9yRGFyazpkLmNvbG9yTGlnaHQsYy5maWxsUmVjdChtLG4sZixnKSxjLnN0cm9rZVJlY3QoTWF0aC5mbG9vcihtKSsuNSxNYXRoLmZsb29yKG4pKy41LGgsaSksYy5zdHJva2VSZWN0KE1hdGguY2VpbChtKS0uNSxNYXRoLmNlaWwobiktLjUsaCxpKTt0aGlzLl9iSXNQYWludGVkPSEwfSxjLnByb3RvdHlwZS5tYWtlSW1hZ2U9ZnVuY3Rpb24oKXt0aGlzLl9iSXNQYWludGVkJiZiLmNhbGwodGhpcyxhKX0sYy5wcm90b3R5cGUuaXNQYWludGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JJc1BhaW50ZWR9LGMucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5fb0NvbnRleHQuY2xlYXJSZWN0KDAsMCx0aGlzLl9lbENhbnZhcy53aWR0aCx0aGlzLl9lbENhbnZhcy5oZWlnaHQpLHRoaXMuX2JJc1BhaW50ZWQ9ITF9LGMucHJvdG90eXBlLnJvdW5kPWZ1bmN0aW9uKGEpe3JldHVybiBhP01hdGguZmxvb3IoMWUzKmEpLzFlMzphfSxjfSgpLFFSQ29kZT1mdW5jdGlvbihhLGIpe2lmKHRoaXMuX2h0T3B0aW9uPXt3aWR0aDoyNTYsaGVpZ2h0OjI1Nix0eXBlTnVtYmVyOjQsY29sb3JEYXJrOiIjMDAwIixjb2xvckxpZ2h0OiIjZmZmIixjb3JyZWN0TGV2ZWw6ZC5MfSwic3RyaW5nIj09dHlwZW9mIGImJihiPXt0ZXh0OmJ9KSxiKWZvcih2YXIgYyBpbiBiKXRoaXMuX2h0T3B0aW9uW2NdPWJbY107dGhpcy5fZWw9YSx0aGlzLl9vUVJDb2RlPW51bGwsdGhpcy5fb0RyYXdpbmc9bmV3IG0odGhpcy5fZWwsdGhpcy5faHRPcHRpb24pLHRoaXMuX2h0T3B0aW9uLnRleHQmJnRoaXMubWFrZUNvZGUodGhpcy5faHRPcHRpb24udGV4dCl9LFFSQ29kZS5wcm90b3R5cGUubWFrZUNvZGU9ZnVuY3Rpb24oYSl7dGhpcy5fb1FSQ29kZT1uZXcgYihuKGEsdGhpcy5faHRPcHRpb24uY29ycmVjdExldmVsKSx0aGlzLl9odE9wdGlvbi5jb3JyZWN0TGV2ZWwpLHRoaXMuX29RUkNvZGUuYWRkRGF0YShhKSx0aGlzLl9vUVJDb2RlLm1ha2UoKSx0aGlzLl9vRHJhd2luZy5kcmF3KHRoaXMuX29RUkNvZGUpLHRoaXMubWFrZUltYWdlKCl9LFFSQ29kZS5wcm90b3R5cGUubWFrZUltYWdlPWZ1bmN0aW9uKCl7ImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuX29EcmF3aW5nLm1ha2VJbWFnZSYmdGhpcy5fb0RyYXdpbmcubWFrZUltYWdlKCl9LFFSQ29kZS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLl9vRHJhd2luZy5jbGVhcigpfSxRUkNvZGUuQ29ycmVjdExldmVsPWR9KCk7Y29uc3QgcXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iiksb3Blbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKSxjc3M9YHBvc2l0aW9uOmZpeGVkIWltcG9ydGFudDtyaWdodDoke2xlblRvUn0lO2JvdHRvbToke2xlblRvQn0lO3otaW5kZXg6OTk5OTk5O3BhZGRpbmc6N3B4O2A7Zi5yZWw9J3N0eWxlc2hlZXQnO2YuaHJlZj0iZGF0YTp0ZXh0L2NzcyxAZm9udC1mYWNle2ZvbnQtZmFtaWx5OlFDaWNvbjtzcmM6dXJsKCdkYXRhOmZvbnQvd29mZjI7YmFzZTY0LGQwOUdNZ0FCQUFBQUFBSmtBQW9BQUFBQUJjd0FBQUlZQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCbUFBZ2tJS2duaUNPUXNHQUFFMkFpUURDQVFnQllKV0J5QWIwZ1RJSGdYdW5vWUJRV0lZbEE2RGJWa09UdUxodjdGdjk4M01ueld6NW5qeXBwbkVJYTQwbW1pelVNbWtTQ05FTWtrUHh1VTltVDdDVGlBU0o5WmxzRHMwTU1HbEx6UkJUWTdEK3kyd1VPUEluc1BFbXJpYy9wajJnUHY4d2Qva3dmYWlhYnZvQXdzejdLSjFIazd2RXNqQ0Y3YlVUZkdvNGlNVkZTbUN0ZWJ5SDJQNzkrMEZKVDNFYVpDK3BCZDhTRDhhUCsxRkMwaHFCb0RvQnNEZEo0RVczSjRqemlQTC84czl6dXUrSXlBUGcybUJqSXh4QVE1bGdYSEZOSW9pT0kvLy8vNC9jQWtnS3ZESEVpam94aW53QWxCQTBsblFyTkpQUVBHd2tTWmhLT2pNUThURk43a0Y2WG4vSnBHOE1iaU5RSzBQN2JnRFNPM2NqcXpidWlWbGNXb2dSYW1BZzNrdTJxQTFpT0pXSGRnQzRVYnVWL3JwTitlbDh3SmpWNHQ1Y2M2Q3ppNUU0TVcxV0Z6TWRHTk11SE1oRkFsanI0R3puSE9RWDdMWHpiV0pkOGg4bnR4bkJGNk1YRjRRV3l0TXZYNDZYZWJVTEhnazgyaHE1ZXZMUDVTS0h5dkpuMWVVRXQ0SEVBajZmck9yUXp2OGhTZWhBWDZjdXRIOXRlNy8raUxQbzFrQ3dXVXVTcmNzV3dqV0tXWnd3WUlDeVROVS9LM3RQZ29RS2dJa1ZSVWdhOVV1UUZFTkN0QXdhVnlBcXRxWFJTRkFhSGRwZ0FtOUtXVDk3Z3RGdTZkQ3c2SHp6YXJkdDN1KzkyYXJ0V3lOVWkzbXM2Uk5udTNIZE9PN1VpcWVvVUNDbHdoeFBuMU5BMk0vMjQ1TjIvcDRSdHZZUkIrdUQweTc0Y1ZUQWxyNnBzQnhzK3dVNzY2Y3ZRUUtzSHRQQUFBQScpfSI7ZG9jdW1lbnQuaGVhZC5hcHBlbmQoZik7bmV3IFFSQ29kZShxcixsb2NhdGlvbi5ocmVmKTtxci5zdHlsZT1jc3MrJ2JhY2tncm91bmQ6I2NjYztkaXNwbGF5Om5vbmUnO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocXIpO29wZW4uc3R5bGU9Y3NzKydmb250LWZhbWlseTpRQ2ljb24haW1wb3J0YW50O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXZhcmlhbnQ6bm9ybWFsO3RleHQtdHJhbnNmb3JtOm5vbmU7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDtsaW5lLWhlaWdodDoxO2ZvbnQtc2l6ZTo1dm1pbjtwYWRkaW5nOjVweDtiYWNrZ3JvdW5kOiMxMTE7Y29sb3I6I2VlZTt1c2VyLXNlbGVjdDpub25lOyc7b3Blbi5pbm5lclRleHQ9J+eggSc7b3Blbi5vbmNsaWNrPWZ1bmN0aW9uKCl7b3Blbi5zdHlsZS5kaXNwbGF5PSdub25lJztxci5zdHlsZS5kaXNwbGF5PSdibG9jayc7fTtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG9wZW4pO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbihlKXtpZihlLnRhcmdldCE9b3Blbil7cXIuc3R5bGUuZGlzcGxheT0nbm9uZSc7b3Blbi5zdHlsZS5kaXNwbGF5PSdibG9jayc7fX0seydwYXNzaXZlJzp0cnVlLCdjYXB0dXJlJzp0cnVlfSk7fWNhdGNoKGVycil7Y29uc29sZS5sb2coJ+e9keWdgOS6jOe7tOegge+8micsZXJyKTt9fSkoKTs=
Add Comment
Please, Sign In to add comment