{"version":3,"sources":["ggt.js"],"names":["modules","installedModules","__webpack_require__","moduleId","exports","module","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","0","problem","options","defaultOptions","id","DATA","problem_data","isRandom","len","pType","callback","this","$","extend","undefined","length","html","$wrap","tag","_answerIndex","shuffle","a","concat","sort","b","Math","random","parseInt","title","optionLen","j","option","scores","bind","that","on","removeAttr","eq","addClass","siblings","removeClass","attr","totalScore","scoreArr","each","_score","find","data","parseFloat","push","showModel","isScore","score","targetScore","content","link","$html","append","css","position","top","left","height","width","z-index","margin-top","margin-left","remove","onClose","location","href","reload","13","answer","jQuery","slide","titCell","mainCell","effect","pnLoop","endFun","index","total"],"mappings":"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","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 13);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports) {\n\nfunction shuffle(a) {\r\n return a.concat().sort(function(a, b) {\r\n return Math.random() - 0.5;\r\n });\r\n }\r\n\r\n\r\n function problem(options){\r\n //callback,isRandom,pType,\r\n var defaultOptions = {\r\n id:\"problem_wrap\",//题目dom id\r\n DATA:problem_data,//题目数据\r\n isRandom:false,//是否随机\r\n len:20,//随机题目数量\r\n pType:'', //题目类型\r\n callback:null//回调\r\n }\r\n\r\n this.options = $.extend({},defaultOptions,options);\r\n console.log(this.options)\r\n if(typeof this.options.DATA == undefined || !this.options.DATA.length){\r\n return false\r\n }\r\n\r\n var html = '
';\r\n\r\n\r\n this.$wrap.html(html);\r\n\r\n\r\n\r\n this.bind(this.callback);\r\n }\r\n\r\n problem.prototype = {\r\n bind:function(callback){\r\n var that = this;\r\n \r\n $('.problem_list', that.$wrap).on('change','.active input',function(){\r\n console.log(123)\r\n $('.btn_next', that.$wrap ).removeAttr('disabled')\r\n $('.btn_result',that.$wrap ).removeAttr('disabled')\r\n })\r\n\r\n $('.btn_wrap', that.$wrap ).on('click','.btn_prev',function(){\r\n that._answerIndex --;\r\n $('.problem_list>li',that.$wrap ).eq(that._answerIndex).addClass('active').siblings().removeClass('active');\r\n if(that._answerIndex <=0){\r\n $('.btn_prev', that.$wrap ).attr('disabled',\"disabled\")\r\n }\r\n $('.btn_next',that.$wrap ).removeAttr('disabled');\r\n })\r\n\r\n $('.btn_wrap', that.$wrap ).on('click','.btn_next',function(){\r\n that._answerIndex ++;\r\n\r\n if(that._answerIndex + 1 === that.len){\r\n if(that.pType === 'myd'){\r\n $('.btn_wrap', that.$wrap ).html('') \r\n }else{\r\n $('.btn_wrap', that.$wrap ).html('')\r\n }\r\n }\r\n\r\n if( that._answerIndex + 1 > that.len ){\r\n return;\r\n }\r\n $('.problem_list>li',that.$wrap ).eq(that._answerIndex).addClass('active').siblings().removeClass('active');\r\n if(!$('.problem_list .active input:radio:checked',that.$wrap).length){\r\n $('.btn_next',that.$wrap ).attr('disabled',\"disabled\");\r\n }\r\n $('.btn_prev', that.$wrap ).removeAttr('disabled');\r\n \r\n })\r\n\r\n $('.btn_wrap', that.$wrap ).on('click','.btn_result',function(){\r\n var totalScore = 0;\r\n var scoreArr = [];\r\n $('.problem_list .item',that.$wrap).each(function(){\r\n var _score = $(this).find(\"input[type='radio']:checked\").data('score');\r\n _score = parseFloat(_score);\r\n scoreArr.push(_score)\r\n totalScore += _score;\r\n })\r\n\r\n console.log(totalScore)\r\n\r\n callback && callback(that,totalScore,scoreArr)\r\n \r\n })\r\n },\r\n showModel:function(option){\r\n var that = this;\r\n // var winHeight = $(window).outerHeight();\r\n // var windWidth = $(window).outerWidth();\r\n var html = '
';\r\n html += '
';\r\n html += '
' +\r\n '
' +\r\n '
';\r\n if(!option.isScore){\r\n html+='

' + option.content + '

';\r\n }else{\r\n if(option.score >= option.targetScore){\r\n html+='
评测成功

你的得分:'+option.score+'分  目标分数:'+option.targetScore+'

';\r\n }else{\r\n html+='
评测失败

你的得分:'+option.score+'分  目标分数:'+option.targetScore+'

';\r\n }\r\n }\r\n if(that.pType === 'myd'){\r\n html += '
'\r\n }else{\r\n html += '
'\r\n if(option.link){\r\n html += ''\r\n }\r\n }\r\n html += '
';\r\n\r\n var $html = $(html)\r\n\r\n $('body').append($html);\r\n\r\n $html.css({\r\n \"position\": \"fixed\",\r\n \"top\": \"0\",\r\n \"left\":\"0\",\r\n \"height\":'100%',\r\n \"width\": '100%',\r\n \"z-index\":\"9999\"\r\n })\r\n\r\n $('.comfirm_container', this.html).css({\r\n \"position\": \"absolute\",\r\n \"top\": \"50%\",\r\n \"left\": \"50%\",\r\n \"height\":'342px',\r\n \"width\": '500px',\r\n \"margin-top\": '-171px',\r\n \"margin-left\":'-250px'\r\n })\r\n\r\n $html.on('click', '.icon_close', function () {\r\n $html.remove();\r\n option.onClose && option.onClose();\r\n })\r\n $html.on('click', '.btn_close', function () {\r\n $html.remove();\r\n option.onClose && option.onClose();\r\n })\r\n\r\n $html.on('click', '.btn_again', function () {\r\n $html.remove();\r\n return new problem(that.options);\r\n })\r\n\r\n $html.on('click', '.btn_tomoni', function () {\r\n location.href = option.link;\r\n })\r\n },\r\n reload:function(){\r\n return new problem(this.options);\r\n }\r\n }\r\n\r\n module.exports = problem;\r\n\r\n// module.exports = {\r\n// load:function(options){\r\n// //callback,isRandom,pType,\r\n// var defaultOptions = {\r\n// id:\"problem_wrap\",//题目dom id\r\n// DATA:problem_data,//题目数据\r\n// isRandom:false,//是否随机\r\n// len:20,//随机题目数量\r\n// pType:'', //题目类型\r\n// callback:null//回调\r\n// }\r\n\r\n// this.options = $.extend({},defaultOptions,options);\r\n// console.log(this.options)\r\n// if(typeof this.options.DATA == undefined || !this.options.DATA.length){\r\n// return false\r\n// }\r\n \r\n// var html = '
';\r\n\r\n\r\n// this.$wrap.html(html);\r\n\r\n \r\n\r\n// this.bind(this.callback);\r\n\r\n \r\n// },\r\n// bind:function(callback){\r\n// var that = this;\r\n \r\n// $('.problem_list', that.$wrap).on('change','.active input',function(){\r\n// console.log(123)\r\n// $('.btn_next', that.$wrap ).removeAttr('disabled')\r\n// $('.btn_result',that.$wrap ).removeAttr('disabled')\r\n// })\r\n\r\n// $('.btn_wrap', that.$wrap ).on('click','.btn_prev',function(){\r\n// that._answerIndex --;\r\n// $('.problem_list>li',that.$wrap ).eq(that._answerIndex).addClass('active').siblings().removeClass('active');\r\n// if(that._answerIndex <=0){\r\n// $('.btn_prev', that.$wrap ).attr('disabled',\"disabled\")\r\n// }\r\n// $('.btn_next',that.$wrap ).removeAttr('disabled');\r\n// })\r\n\r\n// $('.btn_wrap', that.$wrap ).on('click','.btn_next',function(){\r\n// that._answerIndex ++;\r\n\r\n// if(that._answerIndex + 1 === that.len){\r\n// if(that.pType === 'myd'){\r\n// $('.btn_wrap', that.$wrap ).html('') \r\n// }else{\r\n// $('.btn_wrap', that.$wrap ).html('')\r\n// }\r\n// }\r\n\r\n// if( that._answerIndex + 1 > that.len ){\r\n// return;\r\n// }\r\n// $('.problem_list>li',that.$wrap ).eq(that._answerIndex).addClass('active').siblings().removeClass('active');\r\n// if(!$('.problem_list .active input:radio:checked',that.$wrap).length){\r\n// $('.btn_next',that.$wrap ).attr('disabled',\"disabled\");\r\n// }\r\n// $('.btn_prev', that.$wrap ).removeAttr('disabled');\r\n \r\n// })\r\n\r\n// $('.btn_wrap', that.$wrap ).on('click','.btn_result',function(){\r\n// var totalScore = 0;\r\n// var scoreArr = [];\r\n// $('.problem_list .item',that.$wrap).each(function(){\r\n// var _score = $(this).find(\"input[type='radio']:checked\").data('score');\r\n// _score = parseFloat(_score);\r\n// scoreArr.push(_score)\r\n// totalScore += _score;\r\n// })\r\n\r\n// console.log(totalScore)\r\n\r\n// callback && callback(that,totalScore,scoreArr)\r\n \r\n// })\r\n// },\r\n// showModel:function(option){\r\n// var that = this;\r\n// var winHeight = $(window).outerHeight();\r\n// var windWidth = $(window).outerWidth();\r\n// var html = '
';\r\n// html += '
';\r\n// html += '
' +\r\n// '
' +\r\n// '
';\r\n// if(!option.isScore){\r\n// html+='

' + option.content + '

';\r\n// }else{\r\n// if(option.score >= option.targetScore){\r\n// html+='
评测成功

你的得分:'+option.score+'分  目标分数:'+option.targetScore+'

';\r\n// }else{\r\n// html+='
评测失败

你的得分:'+option.score+'分  目标分数:'+option.targetScore+'

';\r\n// }\r\n// }\r\n// if(that.pType === 'myd'){\r\n// html += '
'\r\n// }else{\r\n// html += '
'\r\n// }\r\n// html += '
';\r\n\r\n// var $html = $(html)\r\n\r\n// $('body').append($html);\r\n\r\n// $html.css({\r\n// \"position\": \"fixed\",\r\n// \"top\": \"0\",\r\n// \"left\":\"0\",\r\n// \"height\":'100%',\r\n// \"width\": '100%',\r\n// \"z-index\":\"9999\"\r\n// })\r\n\r\n// $('.comfirm_container', this.html).css({\r\n// \"position\": \"absolute\",\r\n// \"top\": \"50%\",\r\n// \"left\": \"50%\",\r\n// \"height\":'342px',\r\n// \"width\": '500px',\r\n// \"margin-top\": '-171px',\r\n// \"margin-left\":'-250px'\r\n// })\r\n\r\n// $html.on('click', '.icon_close', function () {\r\n// $html.remove();\r\n// option.onClose && option.onClose();\r\n// })\r\n// $html.on('click', '.btn_close', function () {\r\n// $html.remove();\r\n// option.onClose && option.onClose();\r\n// })\r\n\r\n// $html.on('click', '.btn_again', function () {\r\n// $html.remove();\r\n// that.load(that.callback,that.isRandom,that.pType);\r\n// })\r\n\r\n// $html.on('click', '.btn_tomoni', function () {\r\n// location.href = option.link;\r\n// })\r\n// }\r\n// }\n\n/***/ }),\n\n/***/ 13:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar answer = __webpack_require__(0);\r\n$(function(){\r\n\r\n jQuery(\"#kh-slide\").slide({\r\n titCell: \".hd ul\",\r\n mainCell: \".bd ul\",\r\n effect: \"leftLoop\",\r\n pnLoop:false,\r\n endFun:function(index,total,c){\r\n if(index + 1 === total){\r\n $('.tomoni').css(\"visibility\",\"visible\")\r\n }else{\r\n $('.tomoni').css(\"visibility\",\"hidden\")\r\n }\r\n }\r\n });\r\n\r\n\r\n new answer({\r\n callback:function(that,totalScore,scoreArr){\r\n that.showModel({\r\n isScore:true,\r\n score:totalScore,\r\n targetScore:80,\r\n link:'/MoNiJiaoYi/GangGuTong?type=3'\r\n })\r\n }\r\n })\r\n\r\n // answer.load(function(that,totalScore,scoreArr){\r\n // that.showModel({\r\n // isScore:true,\r\n // score:totalScore,\r\n // targetScore:80,\r\n // link:'https://ggt.iqdii.com'\r\n // })\r\n \r\n // });\r\n})\n\n/***/ })\n\n/******/ });\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAgYTgyOGU1MTkwYzY1NjZlNjU3NGI/ODllMCoqKioqKioqKioqIiwid2VicGFjazovLy8uL2pzL21vZHVsZXMvcHJvYmxlbS9pbmRleC5qcz8wNmUwKioqIiwid2VicGFjazovLy8uL2pzL2dndC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLG1EQUEyQyxjQUFjOztBQUV6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1DQUEyQiwwQkFBMEIsRUFBRTtBQUN2RCx5Q0FBaUMsZUFBZTtBQUNoRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4REFBc0QsK0RBQStEOztBQUVySDtBQUNBOztBQUVBO0FBQ0E7Ozs7Ozs7O0FDaEVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0NBQWtDO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQzs7QUFFcEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsc0JBQXNCLFdBQVc7QUFDakM7O0FBRUE7O0FBRUE7QUFDQSx3REFBd0Q7QUFDeEQsMEJBQTBCLFlBQVk7QUFDdEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7OztBQUdBOzs7O0FBSUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVU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Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTs7QUFFWixRQUFRO0FBQ1IsQ0FBQyxDIiwiZmlsZSI6ImdndC5qcyIsInNvdXJjZXNDb250ZW50IjpbIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4gXHRcdH1cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGlkZW50aXR5IGZ1bmN0aW9uIGZvciBjYWxsaW5nIGhhcm1vbnkgaW1wb3J0cyB3aXRoIHRoZSBjb3JyZWN0IGNvbnRleHRcbiBcdF9fd2VicGFja19yZXF1aXJlX18uaSA9IGZ1bmN0aW9uKHZhbHVlKSB7IHJldHVybiB2YWx1ZTsgfTtcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuIFx0XHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcbiBcdFx0XHRcdGdldDogZ2V0dGVyXG4gXHRcdFx0fSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMTMpO1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIHdlYnBhY2svYm9vdHN0cmFwIGE4MjhlNTE5MGM2NTY2ZTY1NzRiIiwiZnVuY3Rpb24gc2h1ZmZsZShhKSB7XHJcbiAgICByZXR1cm4gYS5jb25jYXQoKS5zb3J0KGZ1bmN0aW9uKGEsIGIpIHtcclxuICAgICAgcmV0dXJuIE1hdGgucmFuZG9tKCkgLSAwLjU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBmdW5jdGlvbiBwcm9ibGVtKG9wdGlvbnMpe1xyXG4gICAgICAgIC8vY2FsbGJhY2ssaXNSYW5kb20scFR5cGUsXHJcbiAgICAgICAgdmFyIGRlZmF1bHRPcHRpb25zID0ge1xyXG4gICAgICAgICAgICBpZDpcInByb2JsZW1fd3JhcFwiLC8v6aKY55uuZG9tIGlkXHJcbiAgICAgICAgICAgIERBVEE6cHJvYmxlbV9kYXRhLC8v6aKY55uu5pWw5o2uXHJcbiAgICAgICAgICAgIGlzUmFuZG9tOmZhbHNlLC8v5piv5ZCm6ZqP5py6XHJcbiAgICAgICAgICAgIGxlbjoyMCwvL+maj+acuumimOebruaVsOmHj1xyXG4gICAgICAgICAgICBwVHlwZTonJywgLy/popjnm67nsbvlnotcclxuICAgICAgICAgICAgY2FsbGJhY2s6bnVsbC8v5Zue6LCDXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCh7fSxkZWZhdWx0T3B0aW9ucyxvcHRpb25zKTtcclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLm9wdGlvbnMpXHJcbiAgICAgICAgaWYodHlwZW9mIHRoaXMub3B0aW9ucy5EQVRBID09IHVuZGVmaW5lZCB8fCAhdGhpcy5vcHRpb25zLkRBVEEubGVuZ3RoKXtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgaHRtbCA9ICc8dWwgY2xhc3M9XCJwcm9ibGVtX2xpc3RcIiA+JztcclxuICAgICAgICB0aGlzLiR3cmFwID0gJCgnIycrdGhpcy5vcHRpb25zLmlkKVxyXG4gICAgICAgIHRoaXMuREFUQSA9IHRoaXMub3B0aW9ucy5EQVRBO1xyXG4gICAgICAgIHRoaXMubGVuID0gdGhpcy5EQVRBLmxlbmd0aDsvL+mimOebruaVsFxyXG5cclxuICAgICAgICB0aGlzLmNhbGxiYWNrID0gdGhpcy5vcHRpb25zLmNhbGxiYWNrO1xyXG4gICAgICAgIHRoaXMuaXNSYW5kb20gPSB0aGlzLm9wdGlvbnMuaXNSYW5kb207XHJcbiAgICAgICAgdGhpcy5wVHlwZSA9IHRoaXMub3B0aW9ucy5wVHlwZTtcclxuICAgICAgICB0aGlzLnRhZyA9IGZhbHNlO1xyXG5cclxuICAgICAgICB0aGlzLl9hbnN3ZXJJbmRleCA9IDA7XHJcblxyXG4gICAgICAgIGlmKHRoaXMuaXNSYW5kb20pe1xyXG4gICAgICAgICAgICB0aGlzLmxlbj10aGlzLm9wdGlvbnMubGVuIHx8IHRoaXMuREFUQS5sZW5ndGg7XHJcbiAgICAgICAgICAgIHRoaXMuREFUQSA9IHNodWZmbGUodGhpcy5EQVRBKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZm9yKHZhciBpID0gMDtpPHRoaXMubGVuO2krKyl7XHJcbiAgICAgICAgICAgIHZhciBjbGFzc05hbWUgPSBpID09PSAwID8gJ2FjdGl2ZScgOiBcIlwiO1xyXG5cclxuICAgICAgICAgICAgaHRtbCArPSAnPGxpIGNsYXNzPVwiaXRlbSAnK2NsYXNzTmFtZSsnXCI+PGRpdiBjbGFzcz1cInRpdGxlXCI+PHNwYW4gY2xhc3M9XCJvcmRlclwiPjxiPicrKHBhcnNlSW50KGkpKzEpKyc8L2I+LycrdGhpcy5sZW4rJ+OAgTwvc3Bhbj48c3BhbiBjbGFzcz1cInRpdFwiPicrdGhpcy5EQVRBW2ldLnRpdGxlKyc8L3NwYW4+PC9kaXY+JztcclxuXHJcbiAgICAgICAgICAgIGh0bWwgKz0gJzx1bCBjbGFzcz1cInNlbGVjdF9saXN0XCI+JztcclxuICAgICAgICAgICAgdmFyIG9wdGlvbkxlbiA9IHRoaXMuREFUQVtpXS5vcHRpb25zLmxlbmd0aDsvL+etlOahiOaVsFxyXG4gICAgICAgICAgICBmb3IodmFyIGogPSAwO2o8b3B0aW9uTGVuO2orKyl7XHJcbiAgICAgICAgICAgICAgICB2YXIgb3B0aW9uID0gIHRoaXMuREFUQVtpXS5vcHRpb25zO1xyXG4gICAgICAgICAgICAgICAgaHRtbCArPSAnPGxpPjxzcGFuIGNsYXNzPVwicmFkaW8td3JhcFwiPjxpbnB1dCB0eXBlPVwicmFkaW9cIiBkYXRhLXNjb3JlPVwiJyt0aGlzLkRBVEFbaV0uc2NvcmVzW2pdKydcIiBuYW1lPVwiJyt0aGlzLm9wdGlvbnMuaWQraSsnXCIgdmFsdWU9XCInK2orJ1wiIGlkPVwiJyt0aGlzLm9wdGlvbnMuaWQraSsnJytqKydcIj48c3BhbiBjbGFzcz1cInJhZGlvLWlubmVyXCI+PC9zcGFuPjwvc3Bhbj48bGFiZWwgZm9yPVwiJyt0aGlzLm9wdGlvbnMuaWQraSsnJytqKydcIj4nK29wdGlvbltqXSsnPC9sYWJlbD48L2xpPidcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaHRtbCArPSAnPC91bD48L2xpPidcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGh0bWwgKz0nPC91bD48ZGl2IGNsYXNzPVwiYnRuX3dyYXBcIiA+PGJ1dHRvbiBjbGFzcz1cImJ0biBidG5fcHJldlwiIGRpc2FibGVkPVwiZGlzYWJsZWRcIj7kuIrkuIDpopg8L2J1dHRvbj48YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bl9uZXh0IFwiIGRpc2FibGVkPVwiZGlzYWJsZWRcIj7kuIvkuIDpopg8L2J1dHRvbj48L2Rpdj4nO1xyXG5cclxuXHJcbiAgICAgICAgdGhpcy4kd3JhcC5odG1sKGh0bWwpO1xyXG5cclxuXHJcblxyXG4gICAgICAgIHRoaXMuYmluZCh0aGlzLmNhbGxiYWNrKTtcclxuICB9XHJcblxyXG4gIHByb2JsZW0ucHJvdG90eXBlID0ge1xyXG4gICAgYmluZDpmdW5jdGlvbihjYWxsYmFjayl7XHJcbiAgICAgICAgdmFyIHRoYXQgPSB0aGlzO1xyXG4gICAgICAgIFxyXG4gICAgICAgICQoJy5wcm9ibGVtX2xpc3QnLCB0aGF0LiR3cmFwKS5vbignY2hhbmdlJywnLmFjdGl2ZSBpbnB1dCcsZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coMTIzKVxyXG4gICAgICAgICAgICAkKCcuYnRuX25leHQnLCB0aGF0LiR3cmFwICkucmVtb3ZlQXR0cignZGlzYWJsZWQnKVxyXG4gICAgICAgICAgICAkKCcuYnRuX3Jlc3VsdCcsdGhhdC4kd3JhcCApLnJlbW92ZUF0dHIoJ2Rpc2FibGVkJylcclxuICAgICAgICB9KVxyXG5cclxuICAgICAgICAkKCcuYnRuX3dyYXAnLCB0aGF0LiR3cmFwICkub24oJ2NsaWNrJywnLmJ0bl9wcmV2JyxmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICB0aGF0Ll9hbnN3ZXJJbmRleCAtLTtcclxuICAgICAgICAgICAgJCgnLnByb2JsZW1fbGlzdD5saScsdGhhdC4kd3JhcCApLmVxKHRoYXQuX2Fuc3dlckluZGV4KS5hZGRDbGFzcygnYWN0aXZlJykuc2libGluZ3MoKS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7XHJcbiAgICAgICAgICAgIGlmKHRoYXQuX2Fuc3dlckluZGV4IDw9MCl7XHJcbiAgICAgICAgICAgICAgICAkKCcuYnRuX3ByZXYnLCB0aGF0LiR3cmFwICkuYXR0cignZGlzYWJsZWQnLFwiZGlzYWJsZWRcIilcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAkKCcuYnRuX25leHQnLHRoYXQuJHdyYXAgKS5yZW1vdmVBdHRyKCdkaXNhYmxlZCcpO1xyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgICQoJy5idG5fd3JhcCcsIHRoYXQuJHdyYXAgKS5vbignY2xpY2snLCcuYnRuX25leHQnLGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgICAgIHRoYXQuX2Fuc3dlckluZGV4ICsrO1xyXG5cclxuICAgICAgICAgICAgaWYodGhhdC5fYW5zd2VySW5kZXggKyAxID09PSB0aGF0Lmxlbil7XHJcbiAgICAgICAgICAgICAgICBpZih0aGF0LnBUeXBlID09PSAnbXlkJyl7XHJcbiAgICAgICAgICAgICAgICAgICAgJCgnLmJ0bl93cmFwJywgdGhhdC4kd3JhcCApLmh0bWwoJzxidXR0b24gY2xhc3M9XCJidG4gYnRuX3Jlc3VsdFwiIGRpc2FibGVkPVwiZGlzYWJsZWRcIj7mj5DkuqQ8L2J1dHRvbj4nKSBcclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICQoJy5idG5fd3JhcCcsIHRoYXQuJHdyYXAgKS5odG1sKCc8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bl9yZXN1bHRcIiBkaXNhYmxlZD1cImRpc2FibGVkXCI+5p+l55yL5rWL6K+E57uT5p6cPC9idXR0b24+JylcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYoIHRoYXQuX2Fuc3dlckluZGV4ICsgMSA+IHRoYXQubGVuICl7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJCgnLnByb2JsZW1fbGlzdD5saScsdGhhdC4kd3JhcCApLmVxKHRoYXQuX2Fuc3dlckluZGV4KS5hZGRDbGFzcygnYWN0aXZlJykuc2libGluZ3MoKS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7XHJcbiAgICAgICAgICAgIGlmKCEkKCcucHJvYmxlbV9saXN0IC5hY3RpdmUgaW5wdXQ6cmFkaW86Y2hlY2tlZCcsdGhhdC4kd3JhcCkubGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgICQoJy5idG5fbmV4dCcsdGhhdC4kd3JhcCApLmF0dHIoJ2Rpc2FibGVkJyxcImRpc2FibGVkXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICQoJy5idG5fcHJldicsIHRoYXQuJHdyYXAgKS5yZW1vdmVBdHRyKCdkaXNhYmxlZCcpO1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgICQoJy5idG5fd3JhcCcsIHRoYXQuJHdyYXAgKS5vbignY2xpY2snLCcuYnRuX3Jlc3VsdCcsZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgdmFyIHRvdGFsU2NvcmUgPSAwO1xyXG4gICAgICAgICAgICB2YXIgc2NvcmVBcnIgPSBbXTtcclxuICAgICAgICAgICAgJCgnLnByb2JsZW1fbGlzdCAuaXRlbScsdGhhdC4kd3JhcCkuZWFjaChmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICAgICB2YXIgX3Njb3JlID0gJCh0aGlzKS5maW5kKFwiaW5wdXRbdHlwZT0ncmFkaW8nXTpjaGVja2VkXCIpLmRhdGEoJ3Njb3JlJyk7XHJcbiAgICAgICAgICAgICAgIF9zY29yZSA9IHBhcnNlRmxvYXQoX3Njb3JlKTtcclxuICAgICAgICAgICAgICAgc2NvcmVBcnIucHVzaChfc2NvcmUpXHJcbiAgICAgICAgICAgICAgIHRvdGFsU2NvcmUgKz0gX3Njb3JlO1xyXG4gICAgICAgICAgICB9KVxyXG5cclxuICAgICAgICAgICAgY29uc29sZS5sb2codG90YWxTY29yZSlcclxuXHJcbiAgICAgICAgICAgIGNhbGxiYWNrICYmIGNhbGxiYWNrKHRoYXQsdG90YWxTY29yZSxzY29yZUFycilcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfSlcclxuICAgIH0sXHJcbiAgICBzaG93TW9kZWw6ZnVuY3Rpb24ob3B0aW9uKXtcclxuICAgICAgICB2YXIgdGhhdCA9IHRoaXM7XHJcbiAgICAgICAgLy8gdmFyIHdpbkhlaWdodCA9ICQod2luZG93KS5vdXRlckhlaWdodCgpO1xyXG4gICAgICAgIC8vIHZhciB3aW5kV2lkdGggPSAkKHdpbmRvdykub3V0ZXJXaWR0aCgpO1xyXG4gICAgICAgIHZhciBodG1sID0gJzxkaXYgY2xhc3M9XCJjb21maXJtX21vZGVsXCI+JztcclxuICAgICAgICBodG1sICs9ICc8ZGl2IGNsYXNzPVwiY29tZmlybV9tYXNrXCIgc3R5bGU9XCJ3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6IzAwMDtvcGFjaXR5OjAuNTtcIj48L2Rpdj4nO1xyXG4gICAgICAgICBodG1sICs9ICc8ZGl2IGNsYXNzPVwiY29tZmlybV9jb250YWluZXJcIj4nICtcclxuICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPVwiY29tZmlybV9oZWFkZXJcIj48ZGl2IGNsYXNzPVwiY29uZmlybV9tb3JlXCI+PGkgY2xhc3M9XCJpY29uX2Nsb3NlXCI+PC9pPjwvZGl2PjwvZGl2PicgK1xyXG4gICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9XCJjb25maXJtX2NvbnRlbnRcIj4nO1xyXG4gICAgICAgICAgICAgICAgaWYoIW9wdGlvbi5pc1Njb3JlKXtcclxuICAgICAgICAgICAgICAgICAgICBodG1sKz0nPGRpdiBjbGFzcz1cImNvbmZpcm1fc3VjXCI+PC9kaXY+PHA+JyArIG9wdGlvbi5jb250ZW50ICsgJzwvcD4nO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYob3B0aW9uLnNjb3JlID49IG9wdGlvbi50YXJnZXRTY29yZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0bWwrPSc8ZGl2IGNsYXNzPVwiY29uZmlybV9zdWNcIj48L2Rpdj48ZGl2IGNsYXNzPVwic2NvcmVfcmVzXCI+6K+E5rWL5oiQ5YqfPC9kaXY+PHAgY2xhc3M9XCJzY29yZV9jb25cIj7kvaDnmoTlvpfliIY6PHNwYW4+JytvcHRpb24uc2NvcmUrJzwvc3Bhbj7liIYmbmJzcDsmbmJzcDvnm67moIfliIbmlbA6PHNwYW4+JytvcHRpb24udGFyZ2V0U2NvcmUrJzwvc3Bhbj7liIY8L3A+JztcclxuICAgICAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaHRtbCs9JzxkaXYgY2xhc3M9XCJjb25maXJtX2ZhaWxcIj48L2Rpdj48ZGl2IGNsYXNzPVwic2NvcmVfcmVzXCI+6K+E5rWL5aSx6LSlPC9kaXY+PHAgY2xhc3M9XCJzY29yZV9jb25cIj7kvaDnmoTlvpfliIY6PHNwYW4+JytvcHRpb24uc2NvcmUrJzwvc3Bhbj7liIYmbmJzcDsmbmJzcDvnm67moIfliIbmlbA6PHNwYW4+JytvcHRpb24udGFyZ2V0U2NvcmUrJzwvc3Bhbj7liIY8L3A+JztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKHRoYXQucFR5cGUgPT09ICdteWQnKXtcclxuICAgICAgICAgICAgICAgIGh0bWwgKz0gJzwvZGl2PjxkaXYgY2xhc3M9XCJjb25maXJtX2Zvb3QgYnRuX3dyYXBcIj48YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bl9jbG9zZVwiPuWFs+mXrTwvYnV0dG9uPidcclxuICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICBodG1sICs9ICc8L2Rpdj48ZGl2IGNsYXNzPVwiY29uZmlybV9mb290IGJ0bl93cmFwXCI+PGJ1dHRvbiBjbGFzcz1cImJ0biBidG5fYWdhaW5cIj7ph43mlrDor4TmtYs8L2J1dHRvbj4nXHJcbiAgICAgICAgICAgICAgICBpZihvcHRpb24ubGluayl7XHJcbiAgICAgICAgICAgICAgICAgICAgaHRtbCArPSAnPGJ1dHRvbiBjbGFzcz1cImJ0biBidG5fdG9tb25pXCI+5Y675qih5ouf5Lqk5piTPC9idXR0b24+J1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgaHRtbCArPSAnPC9kaXY+PC9kaXY+PC9kaXY+JztcclxuXHJcbiAgICAgICAgdmFyICRodG1sID0gJChodG1sKVxyXG5cclxuICAgICAgICAkKCdib2R5JykuYXBwZW5kKCRodG1sKTtcclxuXHJcbiAgICAgICAgJGh0bWwuY3NzKHtcclxuICAgICAgICAgICAgXCJwb3NpdGlvblwiOiBcImZpeGVkXCIsXHJcbiAgICAgICAgICAgIFwidG9wXCI6IFwiMFwiLFxyXG4gICAgICAgICAgICBcImxlZnRcIjpcIjBcIixcclxuICAgICAgICAgICAgXCJoZWlnaHRcIjonMTAwJScsXHJcbiAgICAgICAgICAgIFwid2lkdGhcIjogJzEwMCUnLFxyXG4gICAgICAgICAgICBcInotaW5kZXhcIjpcIjk5OTlcIlxyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgICQoJy5jb21maXJtX2NvbnRhaW5lcicsIHRoaXMuaHRtbCkuY3NzKHtcclxuICAgICAgICAgICAgXCJwb3NpdGlvblwiOiBcImFic29sdXRlXCIsXHJcbiAgICAgICAgICAgIFwidG9wXCI6IFwiNTAlXCIsXHJcbiAgICAgICAgICAgIFwibGVmdFwiOiBcIjUwJVwiLFxyXG4gICAgICAgICAgICBcImhlaWdodFwiOiczNDJweCcsXHJcbiAgICAgICAgICAgIFwid2lkdGhcIjogJzUwMHB4JyxcclxuICAgICAgICAgICAgXCJtYXJnaW4tdG9wXCI6ICctMTcxcHgnLFxyXG4gICAgICAgICAgICBcIm1hcmdpbi1sZWZ0XCI6Jy0yNTBweCdcclxuICAgICAgICB9KVxyXG5cclxuICAgICAgICAkaHRtbC5vbignY2xpY2snLCAnLmljb25fY2xvc2UnLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICRodG1sLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICBvcHRpb24ub25DbG9zZSAmJiBvcHRpb24ub25DbG9zZSgpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgJGh0bWwub24oJ2NsaWNrJywgJy5idG5fY2xvc2UnLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICRodG1sLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICBvcHRpb24ub25DbG9zZSAmJiBvcHRpb24ub25DbG9zZSgpO1xyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgICRodG1sLm9uKCdjbGljaycsICcuYnRuX2FnYWluJywgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAkaHRtbC5yZW1vdmUoKTtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBwcm9ibGVtKHRoYXQub3B0aW9ucyk7XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgICAgJGh0bWwub24oJ2NsaWNrJywgJy5idG5fdG9tb25pJywgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBsb2NhdGlvbi5ocmVmID0gb3B0aW9uLmxpbms7XHJcbiAgICAgICAgfSlcclxuICAgIH0sXHJcbiAgICByZWxvYWQ6ZnVuY3Rpb24oKXtcclxuICAgICAgICByZXR1cm4gbmV3IHByb2JsZW0odGhpcy5vcHRpb25zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1vZHVsZS5leHBvcnRzICA9ICBwcm9ibGVtO1xyXG5cclxuLy8gbW9kdWxlLmV4cG9ydHMgID0ge1xyXG4vLyAgICAgbG9hZDpmdW5jdGlvbihvcHRpb25zKXtcclxuLy8gICAgICAgICAvL2NhbGxiYWNrLGlzUmFuZG9tLHBUeXBlLFxyXG4vLyAgICAgICAgIHZhciBkZWZhdWx0T3B0aW9ucyA9IHtcclxuLy8gICAgICAgICAgICAgaWQ6XCJwcm9ibGVtX3dyYXBcIiwvL+mimOebrmRvbSBpZFxyXG4vLyAgICAgICAgICAgICBEQVRBOnByb2JsZW1fZGF0YSwvL+mimOebruaVsOaNrlxyXG4vLyAgICAgICAgICAgICBpc1JhbmRvbTpmYWxzZSwvL+aYr+WQpumaj+aculxyXG4vLyAgICAgICAgICAgICBsZW46MjAsLy/pmo/mnLrpopjnm67mlbDph49cclxuLy8gICAgICAgICAgICAgcFR5cGU6JycsIC8v6aKY55uu57G75Z6LXHJcbi8vICAgICAgICAgICAgIGNhbGxiYWNrOm51bGwvL+Wbnuiwg1xyXG4vLyAgICAgICAgIH1cclxuXHJcbi8vICAgICAgICAgdGhpcy5vcHRpb25zID0gJC5leHRlbmQoe30sZGVmYXVsdE9wdGlvbnMsb3B0aW9ucyk7XHJcbi8vICAgICAgICAgY29uc29sZS5sb2codGhpcy5vcHRpb25zKVxyXG4vLyAgICAgICAgIGlmKHR5cGVvZiB0aGlzLm9wdGlvbnMuREFUQSA9PSB1bmRlZmluZWQgfHwgIXRoaXMub3B0aW9ucy5EQVRBLmxlbmd0aCl7XHJcbi8vICAgICAgICAgICAgIHJldHVybiBmYWxzZVxyXG4vLyAgICAgICAgIH1cclxuICAgICAgIFxyXG4vLyAgICAgICAgIHZhciBodG1sID0gJzx1bCBjbGFzcz1cInByb2JsZW1fbGlzdFwiID4nO1xyXG4vLyAgICAgICAgIHRoaXMuJHdyYXAgPSAkKCcjJyt0aGlzLm9wdGlvbnMuaWQpXHJcbi8vICAgICAgICAgdGhpcy5EQVRBID0gdGhpcy5vcHRpb25zLkRBVEE7XHJcbi8vICAgICAgICAgdGhpcy5sZW4gPSB0aGlzLkRBVEEubGVuZ3RoOy8v6aKY55uu5pWwXHJcblxyXG4vLyAgICAgICAgIHRoaXMuY2FsbGJhY2sgPSB0aGlzLm9wdGlvbnMuY2FsbGJhY2s7XHJcbi8vICAgICAgICAgdGhpcy5pc1JhbmRvbSA9IHRoaXMub3B0aW9ucy5pc1JhbmRvbTtcclxuLy8gICAgICAgICB0aGlzLnBUeXBlID0gdGhpcy5vcHRpb25zLnBUeXBlO1xyXG4vLyAgICAgICAgIHRoaXMudGFnID0gZmFsc2U7XHJcblxyXG4vLyAgICAgICAgIHRoaXMuX2Fuc3dlckluZGV4ID0gMDtcclxuXHJcbi8vICAgICAgICAgaWYodGhpcy5pc1JhbmRvbSl7XHJcbi8vICAgICAgICAgICAgIHRoaXMubGVuPXRoaXMub3B0aW9ucy5sZW4gfHwgdGhpcy5EQVRBLmxlbmd0aDtcclxuLy8gICAgICAgICAgICAgdGhpcy5EQVRBID0gc2h1ZmZsZSh0aGlzLkRBVEEpXHJcbi8vICAgICAgICAgfVxyXG5cclxuLy8gICAgICAgICBmb3IodmFyIGkgPSAwO2k8dGhpcy5sZW47aSsrKXtcclxuLy8gICAgICAgICAgICAgdmFyIGNsYXNzTmFtZSA9IGkgPT09IDAgPyAnYWN0aXZlJyA6IFwiXCI7XHJcblxyXG4vLyAgICAgICAgICAgICBodG1sICs9ICc8bGkgY2xhc3M9XCJpdGVtICcrY2xhc3NOYW1lKydcIj48ZGl2IGNsYXNzPVwidGl0bGVcIj48c3BhbiBjbGFzcz1cIm9yZGVyXCI+PGI+JysocGFyc2VJbnQoaSkrMSkrJzwvYj4vJyt0aGlzLmxlbisn44CBPC9zcGFuPjxzcGFuIGNsYXNzPVwidGl0XCI+Jyt0aGlzLkRBVEFbaV0udGl0bGUrJzwvc3Bhbj48L2Rpdj4nO1xyXG5cclxuLy8gICAgICAgICAgICAgaHRtbCArPSAnPHVsIGNsYXNzPVwic2VsZWN0X2xpc3RcIj4nO1xyXG4vLyAgICAgICAgICAgICB2YXIgb3B0aW9uTGVuID0gdGhpcy5EQVRBW2ldLm9wdGlvbnMubGVuZ3RoOy8v562U5qGI5pWwXHJcbi8vICAgICAgICAgICAgIGZvcih2YXIgaiA9IDA7ajxvcHRpb25MZW47aisrKXtcclxuLy8gICAgICAgICAgICAgICAgIHZhciBvcHRpb24gPSAgdGhpcy5EQVRBW2ldLm9wdGlvbnM7XHJcbi8vICAgICAgICAgICAgICAgICBodG1sICs9ICc8bGk+PHNwYW4gY2xhc3M9XCJyYWRpby13cmFwXCI+PGlucHV0IHR5cGU9XCJyYWRpb1wiIGRhdGEtc2NvcmU9XCInK3RoaXMuREFUQVtpXS5zY29yZXNbal0rJ1wiIG5hbWU9XCInK3RoaXMub3B0aW9ucy5pZCtpKydcIiB2YWx1ZT1cIicraisnXCIgaWQ9XCInK3RoaXMub3B0aW9ucy5pZCtpKycnK2orJ1wiPjxzcGFuIGNsYXNzPVwicmFkaW8taW5uZXJcIj48L3NwYW4+PC9zcGFuPjxsYWJlbCBmb3I9XCInK3RoaXMub3B0aW9ucy5pZCtpKycnK2orJ1wiPicrb3B0aW9uW2pdKyc8L2xhYmVsPjwvbGk+J1xyXG4vLyAgICAgICAgICAgICB9XHJcblxyXG4vLyAgICAgICAgICAgICBodG1sICs9ICc8L3VsPjwvbGk+J1xyXG4vLyAgICAgICAgIH1cclxuXHJcbi8vICAgICAgICAgaHRtbCArPSc8L3VsPjxkaXYgY2xhc3M9XCJidG5fd3JhcFwiID48YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bl9wcmV2XCIgZGlzYWJsZWQ9XCJkaXNhYmxlZFwiPuS4iuS4gOmimDwvYnV0dG9uPjxidXR0b24gY2xhc3M9XCJidG4gYnRuX25leHQgXCIgZGlzYWJsZWQ9XCJkaXNhYmxlZFwiPuS4i+S4gOmimDwvYnV0dG9uPjwvZGl2Pic7XHJcblxyXG5cclxuLy8gICAgICAgICB0aGlzLiR3cmFwLmh0bWwoaHRtbCk7XHJcblxyXG4gICAgICBcclxuXHJcbi8vICAgICAgICAgdGhpcy5iaW5kKHRoaXMuY2FsbGJhY2spO1xyXG5cclxuICAgICAgIFxyXG4vLyAgICAgfSxcclxuLy8gICAgIGJpbmQ6ZnVuY3Rpb24oY2FsbGJhY2spe1xyXG4vLyAgICAgICAgIHZhciB0aGF0ID0gdGhpcztcclxuICAgICAgICBcclxuLy8gICAgICAgICAkKCcucHJvYmxlbV9saXN0JywgdGhhdC4kd3JhcCkub24oJ2NoYW5nZScsJy5hY3RpdmUgaW5wdXQnLGZ1bmN0aW9uKCl7XHJcbi8vICAgICAgICAgICAgIGNvbnNvbGUubG9nKDEyMylcclxuLy8gICAgICAgICAgICAgJCgnLmJ0bl9uZXh0JywgdGhhdC4kd3JhcCApLnJlbW92ZUF0dHIoJ2Rpc2FibGVkJylcclxuLy8gICAgICAgICAgICAgJCgnLmJ0bl9yZXN1bHQnLHRoYXQuJHdyYXAgKS5yZW1vdmVBdHRyKCdkaXNhYmxlZCcpXHJcbi8vICAgICAgICAgfSlcclxuXHJcbi8vICAgICAgICAgJCgnLmJ0bl93cmFwJywgdGhhdC4kd3JhcCApLm9uKCdjbGljaycsJy5idG5fcHJldicsZnVuY3Rpb24oKXtcclxuLy8gICAgICAgICAgICAgdGhhdC5fYW5zd2VySW5kZXggLS07XHJcbi8vICAgICAgICAgICAgICQoJy5wcm9ibGVtX2xpc3Q+bGknLHRoYXQuJHdyYXAgKS5lcSh0aGF0Ll9hbnN3ZXJJbmRleCkuYWRkQ2xhc3MoJ2FjdGl2ZScpLnNpYmxpbmdzKCkucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpO1xyXG4vLyAgICAgICAgICAgICBpZih0aGF0Ll9hbnN3ZXJJbmRleCA8PTApe1xyXG4vLyAgICAgICAgICAgICAgICAgJCgnLmJ0bl9wcmV2JywgdGhhdC4kd3JhcCApLmF0dHIoJ2Rpc2FibGVkJyxcImRpc2FibGVkXCIpXHJcbi8vICAgICAgICAgICAgIH1cclxuLy8gICAgICAgICAgICAgJCgnLmJ0bl9uZXh0Jyx0aGF0LiR3cmFwICkucmVtb3ZlQXR0cignZGlzYWJsZWQnKTtcclxuLy8gICAgICAgICB9KVxyXG5cclxuLy8gICAgICAgICAkKCcuYnRuX3dyYXAnLCB0aGF0LiR3cmFwICkub24oJ2NsaWNrJywnLmJ0bl9uZXh0JyxmdW5jdGlvbigpe1xyXG4vLyAgICAgICAgICAgICB0aGF0Ll9hbnN3ZXJJbmRleCArKztcclxuXHJcbi8vICAgICAgICAgICAgIGlmKHRoYXQuX2Fuc3dlckluZGV4ICsgMSA9PT0gdGhhdC5sZW4pe1xyXG4vLyAgICAgICAgICAgICAgICAgaWYodGhhdC5wVHlwZSA9PT0gJ215ZCcpe1xyXG4vLyAgICAgICAgICAgICAgICAgICAgICQoJy5idG5fd3JhcCcsIHRoYXQuJHdyYXAgKS5odG1sKCc8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bl9yZXN1bHRcIiBkaXNhYmxlZD1cImRpc2FibGVkXCI+5o+Q5LqkPC9idXR0b24+JykgXHJcbi8vICAgICAgICAgICAgICAgICB9ZWxzZXtcclxuLy8gICAgICAgICAgICAgICAgICAgICAkKCcuYnRuX3dyYXAnLCB0aGF0LiR3cmFwICkuaHRtbCgnPGJ1dHRvbiBjbGFzcz1cImJ0biBidG5fcmVzdWx0XCIgZGlzYWJsZWQ9XCJkaXNhYmxlZFwiPuafpeeci+a1i+ivhOe7k+aenDwvYnV0dG9uPicpXHJcbi8vICAgICAgICAgICAgICAgICB9XHJcbi8vICAgICAgICAgICAgIH1cclxuXHJcbi8vICAgICAgICAgICAgIGlmKCB0aGF0Ll9hbnN3ZXJJbmRleCArIDEgPiB0aGF0LmxlbiApe1xyXG4vLyAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4vLyAgICAgICAgICAgICB9XHJcbi8vICAgICAgICAgICAgICQoJy5wcm9ibGVtX2xpc3Q+bGknLHRoYXQuJHdyYXAgKS5lcSh0aGF0Ll9hbnN3ZXJJbmRleCkuYWRkQ2xhc3MoJ2FjdGl2ZScpLnNpYmxpbmdzKCkucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpO1xyXG4vLyAgICAgICAgICAgICBpZighJCgnLnByb2JsZW1fbGlzdCAuYWN0aXZlIGlucHV0OnJhZGlvOmNoZWNrZWQnLHRoYXQuJHdyYXApLmxlbmd0aCl7XHJcbi8vICAgICAgICAgICAgICAgICAkKCcuYnRuX25leHQnLHRoYXQuJHdyYXAgKS5hdHRyKCdkaXNhYmxlZCcsXCJkaXNhYmxlZFwiKTtcclxuLy8gICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgICAgICAkKCcuYnRuX3ByZXYnLCB0aGF0LiR3cmFwICkucmVtb3ZlQXR0cignZGlzYWJsZWQnKTtcclxuICAgICAgICAgICBcclxuLy8gICAgICAgICB9KVxyXG5cclxuLy8gICAgICAgICAkKCcuYnRuX3dyYXAnLCB0aGF0LiR3cmFwICkub24oJ2NsaWNrJywnLmJ0bl9yZXN1bHQnLGZ1bmN0aW9uKCl7XHJcbi8vICAgICAgICAgICAgIHZhciB0b3RhbFNjb3JlID0gMDtcclxuLy8gICAgICAgICAgICAgdmFyIHNjb3JlQXJyID0gW107XHJcbi8vICAgICAgICAgICAgICQoJy5wcm9ibGVtX2xpc3QgLml0ZW0nLHRoYXQuJHdyYXApLmVhY2goZnVuY3Rpb24oKXtcclxuLy8gICAgICAgICAgICAgICAgdmFyIF9zY29yZSA9ICQodGhpcykuZmluZChcImlucHV0W3R5cGU9J3JhZGlvJ106Y2hlY2tlZFwiKS5kYXRhKCdzY29yZScpO1xyXG4vLyAgICAgICAgICAgICAgICBfc2NvcmUgPSBwYXJzZUZsb2F0KF9zY29yZSk7XHJcbi8vICAgICAgICAgICAgICAgIHNjb3JlQXJyLnB1c2goX3Njb3JlKVxyXG4vLyAgICAgICAgICAgICAgICB0b3RhbFNjb3JlICs9IF9zY29yZTtcclxuLy8gICAgICAgICAgICAgfSlcclxuXHJcbi8vICAgICAgICAgICAgIGNvbnNvbGUubG9nKHRvdGFsU2NvcmUpXHJcblxyXG4vLyAgICAgICAgICAgICBjYWxsYmFjayAmJiBjYWxsYmFjayh0aGF0LHRvdGFsU2NvcmUsc2NvcmVBcnIpXHJcbiAgICAgICAgICAgIFxyXG4vLyAgICAgICAgIH0pXHJcbi8vICAgICB9LFxyXG4vLyAgICAgc2hvd01vZGVsOmZ1bmN0aW9uKG9wdGlvbil7XHJcbi8vICAgICAgICAgdmFyIHRoYXQgPSB0aGlzO1xyXG4vLyAgICAgICAgIHZhciB3aW5IZWlnaHQgPSAkKHdpbmRvdykub3V0ZXJIZWlnaHQoKTtcclxuLy8gICAgICAgICB2YXIgd2luZFdpZHRoID0gJCh3aW5kb3cpLm91dGVyV2lkdGgoKTtcclxuLy8gICAgICAgICB2YXIgaHRtbCA9ICc8ZGl2IGNsYXNzPVwiY29tZmlybV9tb2RlbFwiPic7XHJcbi8vICAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFzcz1cImNvbWZpcm1fbWFza1wiIHN0eWxlPVwid2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOiMwMDA7b3BhY2l0eTowLjU7XCI+PC9kaXY+JztcclxuLy8gICAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFzcz1cImNvbWZpcm1fY29udGFpbmVyXCI+JyArXHJcbi8vICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz1cImNvbWZpcm1faGVhZGVyXCI+PGRpdiBjbGFzcz1cImNvbmZpcm1fbW9yZVwiPjxpIGNsYXNzPVwiaWNvbl9jbG9zZVwiPjwvaT48L2Rpdj48L2Rpdj4nICtcclxuLy8gICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPVwiY29uZmlybV9jb250ZW50XCI+JztcclxuLy8gICAgICAgICAgICAgICAgIGlmKCFvcHRpb24uaXNTY29yZSl7XHJcbi8vICAgICAgICAgICAgICAgICAgICAgaHRtbCs9JzxkaXYgY2xhc3M9XCJjb25maXJtX3N1Y1wiPjwvZGl2PjxwPicgKyBvcHRpb24uY29udGVudCArICc8L3A+JztcclxuLy8gICAgICAgICAgICAgICAgIH1lbHNle1xyXG4vLyAgICAgICAgICAgICAgICAgICAgIGlmKG9wdGlvbi5zY29yZSA+PSBvcHRpb24udGFyZ2V0U2NvcmUpe1xyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICBodG1sKz0nPGRpdiBjbGFzcz1cImNvbmZpcm1fc3VjXCI+PC9kaXY+PGRpdiBjbGFzcz1cInNjb3JlX3Jlc1wiPuivhOa1i+aIkOWKnzwvZGl2PjxwIGNsYXNzPVwic2NvcmVfY29uXCI+5L2g55qE5b6X5YiGOjxzcGFuPicrb3B0aW9uLnNjb3JlKyc8L3NwYW4+5YiGJm5ic3A7Jm5ic3A755uu5qCH5YiG5pWwOjxzcGFuPicrb3B0aW9uLnRhcmdldFNjb3JlKyc8L3NwYW4+5YiGPC9wPic7XHJcbi8vICAgICAgICAgICAgICAgICAgICAgfWVsc2V7XHJcbi8vICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWwrPSc8ZGl2IGNsYXNzPVwiY29uZmlybV9mYWlsXCI+PC9kaXY+PGRpdiBjbGFzcz1cInNjb3JlX3Jlc1wiPuivhOa1i+Wksei0pTwvZGl2PjxwIGNsYXNzPVwic2NvcmVfY29uXCI+5L2g55qE5b6X5YiGOjxzcGFuPicrb3B0aW9uLnNjb3JlKyc8L3NwYW4+5YiGJm5ic3A7Jm5ic3A755uu5qCH5YiG5pWwOjxzcGFuPicrb3B0aW9uLnRhcmdldFNjb3JlKyc8L3NwYW4+5YiGPC9wPic7XHJcbi8vICAgICAgICAgICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgICAgICBpZih0aGF0LnBUeXBlID09PSAnbXlkJyl7XHJcbi8vICAgICAgICAgICAgICAgICBodG1sICs9ICc8L2Rpdj48ZGl2IGNsYXNzPVwiY29uZmlybV9mb290IGJ0bl93cmFwXCI+PGJ1dHRvbiBjbGFzcz1cImJ0biBidG5fY2xvc2VcIj7lhbPpl608L2J1dHRvbj4nXHJcbi8vICAgICAgICAgICAgIH1lbHNle1xyXG4vLyAgICAgICAgICAgICAgICAgaHRtbCArPSAnPC9kaXY+PGRpdiBjbGFzcz1cImNvbmZpcm1fZm9vdCBidG5fd3JhcFwiPjxidXR0b24gY2xhc3M9XCJidG4gYnRuX2FnYWluXCI+6YeN5paw6K+E5rWLPC9idXR0b24+PGJ1dHRvbiBjbGFzcz1cImJ0biBidG5fdG9tb25pXCI+5Y675qih5ouf5Lqk5piTPC9idXR0b24+J1xyXG4vLyAgICAgICAgICAgICB9XHJcbi8vICAgICAgICAgaHRtbCArPSAnPC9kaXY+PC9kaXY+PC9kaXY+JztcclxuXHJcbi8vICAgICAgICAgdmFyICRodG1sID0gJChodG1sKVxyXG5cclxuLy8gICAgICAgICAkKCdib2R5JykuYXBwZW5kKCRodG1sKTtcclxuXHJcbi8vICAgICAgICAgJGh0bWwuY3NzKHtcclxuLy8gICAgICAgICAgICAgXCJwb3NpdGlvblwiOiBcImZpeGVkXCIsXHJcbi8vICAgICAgICAgICAgIFwidG9wXCI6IFwiMFwiLFxyXG4vLyAgICAgICAgICAgICBcImxlZnRcIjpcIjBcIixcclxuLy8gICAgICAgICAgICAgXCJoZWlnaHRcIjonMTAwJScsXHJcbi8vICAgICAgICAgICAgIFwid2lkdGhcIjogJzEwMCUnLFxyXG4vLyAgICAgICAgICAgICBcInotaW5kZXhcIjpcIjk5OTlcIlxyXG4vLyAgICAgICAgIH0pXHJcblxyXG4vLyAgICAgICAgICQoJy5jb21maXJtX2NvbnRhaW5lcicsIHRoaXMuaHRtbCkuY3NzKHtcclxuLy8gICAgICAgICAgICAgXCJwb3NpdGlvblwiOiBcImFic29sdXRlXCIsXHJcbi8vICAgICAgICAgICAgIFwidG9wXCI6IFwiNTAlXCIsXHJcbi8vICAgICAgICAgICAgIFwibGVmdFwiOiBcIjUwJVwiLFxyXG4vLyAgICAgICAgICAgICBcImhlaWdodFwiOiczNDJweCcsXHJcbi8vICAgICAgICAgICAgIFwid2lkdGhcIjogJzUwMHB4JyxcclxuLy8gICAgICAgICAgICAgXCJtYXJnaW4tdG9wXCI6ICctMTcxcHgnLFxyXG4vLyAgICAgICAgICAgICBcIm1hcmdpbi1sZWZ0XCI6Jy0yNTBweCdcclxuLy8gICAgICAgICB9KVxyXG5cclxuLy8gICAgICAgICAkaHRtbC5vbignY2xpY2snLCAnLmljb25fY2xvc2UnLCBmdW5jdGlvbiAoKSB7XHJcbi8vICAgICAgICAgICAgICRodG1sLnJlbW92ZSgpO1xyXG4vLyAgICAgICAgICAgICBvcHRpb24ub25DbG9zZSAmJiBvcHRpb24ub25DbG9zZSgpO1xyXG4vLyAgICAgICAgIH0pXHJcbi8vICAgICAgICAgJGh0bWwub24oJ2NsaWNrJywgJy5idG5fY2xvc2UnLCBmdW5jdGlvbiAoKSB7XHJcbi8vICAgICAgICAgICAgICRodG1sLnJlbW92ZSgpO1xyXG4vLyAgICAgICAgICAgICBvcHRpb24ub25DbG9zZSAmJiBvcHRpb24ub25DbG9zZSgpO1xyXG4vLyAgICAgICAgIH0pXHJcblxyXG4vLyAgICAgICAgICRodG1sLm9uKCdjbGljaycsICcuYnRuX2FnYWluJywgZnVuY3Rpb24gKCkge1xyXG4vLyAgICAgICAgICAgICAkaHRtbC5yZW1vdmUoKTtcclxuLy8gICAgICAgICAgICAgdGhhdC5sb2FkKHRoYXQuY2FsbGJhY2ssdGhhdC5pc1JhbmRvbSx0aGF0LnBUeXBlKTtcclxuLy8gICAgICAgICB9KVxyXG5cclxuLy8gICAgICAgICAkaHRtbC5vbignY2xpY2snLCAnLmJ0bl90b21vbmknLCBmdW5jdGlvbiAoKSB7XHJcbi8vICAgICAgICAgICAgIGxvY2F0aW9uLmhyZWYgPSBvcHRpb24ubGluaztcclxuLy8gICAgICAgICB9KVxyXG4vLyAgICAgfVxyXG4vLyB9XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9qcy9tb2R1bGVzL3Byb2JsZW0vaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDBcbi8vIG1vZHVsZSBjaHVua3MgPSAxIDYgNyA4IDEyIDEzIiwidmFyIGFuc3dlciA9IHJlcXVpcmUoJy4vbW9kdWxlcy9wcm9ibGVtJyk7XHJcbiQoZnVuY3Rpb24oKXtcclxuXHJcbiAgICBqUXVlcnkoXCIja2gtc2xpZGVcIikuc2xpZGUoe1xyXG4gICAgICAgIHRpdENlbGw6IFwiLmhkIHVsXCIsXHJcbiAgICAgICAgbWFpbkNlbGw6IFwiLmJkIHVsXCIsXHJcbiAgICAgICAgZWZmZWN0OiBcImxlZnRMb29wXCIsXHJcbiAgICAgICAgcG5Mb29wOmZhbHNlLFxyXG4gICAgICAgIGVuZEZ1bjpmdW5jdGlvbihpbmRleCx0b3RhbCxjKXtcclxuICAgICAgICAgICAgaWYoaW5kZXggKyAxID09PSB0b3RhbCl7XHJcbiAgICAgICAgICAgICAgICAkKCcudG9tb25pJykuY3NzKFwidmlzaWJpbGl0eVwiLFwidmlzaWJsZVwiKVxyXG4gICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICQoJy50b21vbmknKS5jc3MoXCJ2aXNpYmlsaXR5XCIsXCJoaWRkZW5cIilcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICBuZXcgYW5zd2VyKHtcclxuICAgICAgICBjYWxsYmFjazpmdW5jdGlvbih0aGF0LHRvdGFsU2NvcmUsc2NvcmVBcnIpe1xyXG4gICAgICAgICAgICB0aGF0LnNob3dNb2RlbCh7XHJcbiAgICAgICAgICAgICAgICBpc1Njb3JlOnRydWUsXHJcbiAgICAgICAgICAgICAgICBzY29yZTp0b3RhbFNjb3JlLFxyXG4gICAgICAgICAgICAgICAgdGFyZ2V0U2NvcmU6ODAsXHJcbiAgICAgICAgICAgICAgICBsaW5rOicvTW9OaUppYW9ZaS9HYW5nR3VUb25nP3R5cGU9MydcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICB9KVxyXG5cclxuICAgIC8vIGFuc3dlci5sb2FkKGZ1bmN0aW9uKHRoYXQsdG90YWxTY29yZSxzY29yZUFycil7XHJcbiAgICAvLyAgICAgdGhhdC5zaG93TW9kZWwoe1xyXG4gICAgLy8gICAgICAgICBpc1Njb3JlOnRydWUsXHJcbiAgICAvLyAgICAgICAgIHNjb3JlOnRvdGFsU2NvcmUsXHJcbiAgICAvLyAgICAgICAgIHRhcmdldFNjb3JlOjgwLFxyXG4gICAgLy8gICAgICAgICBsaW5rOidodHRwczovL2dndC5pcWRpaS5jb20nXHJcbiAgICAvLyAgICAgfSlcclxuICAgIFxyXG4gICAgLy8gfSk7XHJcbn0pXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9qcy9nZ3QuanNcbi8vIG1vZHVsZSBpZCA9IDEzXG4vLyBtb2R1bGUgY2h1bmtzID0gMTIiXSwic291cmNlUm9vdCI6IiJ9"]}