You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
101 KiB
1 lines
101 KiB
{"remainingRequest":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\eslint-loader\\index.js??ref--13-0!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\src\\views\\dashboard\\mixins\\echarts-wordcloud.min.js","dependencies":[{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\src\\views\\dashboard\\mixins\\echarts-wordcloud.min.js","mtime":1634007167383},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\eslint-loader\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:dmFyIF90eXBlb2YgPSByZXF1aXJlKCJGOi93b3Jrc3BhY2UvZ2N5L1JLLWh0bWwvUkstcHJvamVjdC9ydW95aS11aS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy90eXBlb2YiKS5kZWZhdWx0OwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbGwuanMiKTsKCnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy93ZWIuaW1tZWRpYXRlLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC50by1zdHJpbmcuanMiKTsKCnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0LmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMubnVtYmVyLnRvLWZpeGVkLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc29ydC5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnN5bWJvbC5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnN5bWJvbC5kZXNjcmlwdGlvbi5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnN5bWJvbC50by1zdHJpbmctdGFnLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuanNvbi50by1zdHJpbmctdGFnLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMubWF0aC50by1zdHJpbmctdGFnLmpzIik7CgovKiEgRm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gcGxlYXNlIHNlZSBlY2hhcnRzLXdvcmRjbG91ZC5taW4uanMuTElDRU5TRS50eHQgKi8KIWZ1bmN0aW9uICh0LCBlKSB7CiAgIm9iamVjdCIgPT0gKHR5cGVvZiBleHBvcnRzID09PSAidW5kZWZpbmVkIiA/ICJ1bmRlZmluZWQiIDogX3R5cGVvZihleHBvcnRzKSkgJiYgIm9iamVjdCIgPT0gKHR5cGVvZiBtb2R1bGUgPT09ICJ1bmRlZmluZWQiID8gInVuZGVmaW5lZCIgOiBfdHlwZW9mKG1vZHVsZSkpID8gbW9kdWxlLmV4cG9ydHMgPSBlKHJlcXVpcmUoImVjaGFydHMiKSkgOiAiZnVuY3Rpb24iID09IHR5cGVvZiBkZWZpbmUgJiYgZGVmaW5lLmFtZCA/IGRlZmluZShbImVjaGFydHMiXSwgZSkgOiAib2JqZWN0IiA9PSAodHlwZW9mIGV4cG9ydHMgPT09ICJ1bmRlZmluZWQiID8gInVuZGVmaW5lZCIgOiBfdHlwZW9mKGV4cG9ydHMpKSA/IGV4cG9ydHNbImVjaGFydHMtd29yZGNsb3VkIl0gPSBlKHJlcXVpcmUoImVjaGFydHMiKSkgOiB0WyJlY2hhcnRzLXdvcmRjbG91ZCJdID0gZSh0LmVjaGFydHMpOwp9KHNlbGYsIGZ1bmN0aW9uICh0KSB7CiAgcmV0dXJuIGZ1bmN0aW9uICgpIHsKICAgICJ1c2Ugc3RyaWN0IjsKCiAgICB2YXIgZSA9IHsKICAgICAgNjM4OiBmdW5jdGlvbiBfKHQsIGUsIGEpIHsKICAgICAgICBhLnIoZSk7CiAgICAgICAgdmFyIG8gPSBhKDgzKTsKICAgICAgICBvLmV4dGVuZFNlcmllc01vZGVsKHsKICAgICAgICAgIHR5cGU6ICJzZXJpZXMud29yZENsb3VkIiwKICAgICAgICAgIHZpc3VhbFN0eWxlQWNjZXNzUGF0aDogInRleHRTdHlsZSIsCiAgICAgICAgICB2aXN1YWxTdHlsZU1hcHBlcjogZnVuY3Rpb24gdmlzdWFsU3R5bGVNYXBwZXIodCkgewogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgIGZpbGw6IHQuZ2V0KCJjb2xvciIpCiAgICAgICAgICAgIH07CiAgICAgICAgICB9LAogICAgICAgICAgdmlzdWFsRHJhd1R5cGU6ICJmaWxsIiwKICAgICAgICAgIG9wdGlvblVwZGF0ZWQ6IGZ1bmN0aW9uIG9wdGlvblVwZGF0ZWQoKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5vcHRpb247CiAgICAgICAgICAgIHQuZ3JpZFNpemUgPSBNYXRoLm1heChNYXRoLmZsb29yKHQuZ3JpZFNpemUpLCA0KTsKICAgICAgICAgIH0sCiAgICAgICAgICBnZXRJbml0aWFsRGF0YTogZnVuY3Rpb24gZ2V0SW5pdGlhbERhdGEodCwgZSkgewogICAgICAgICAgICB2YXIgYSA9IG8uaGVscGVyLmNyZWF0ZURpbWVuc2lvbnModC5kYXRhLCB7CiAgICAgICAgICAgICAgY29vcmREaW1lbnNpb25zOiBbInZhbHVlIl0KICAgICAgICAgICAgfSksCiAgICAgICAgICAgICAgICBpID0gbmV3IG8uTGlzdChhLCB0aGlzKTsKICAgICAgICAgICAgcmV0dXJuIGkuaW5pdERhdGEodC5kYXRhKSwgaTsKICAgICAgICAgIH0sCiAgICAgICAgICBkZWZhdWx0T3B0aW9uOiB7CiAgICAgICAgICAgIG1hc2tJbWFnZTogbnVsbCwKICAgICAgICAgICAgc2hhcGU6ICJjaXJjbGUiLAogICAgICAgICAgICBsZWZ0OiAiY2VudGVyIiwKICAgICAgICAgICAgdG9wOiAiY2VudGVyIiwKICAgICAgICAgICAgd2lkdGg6ICI3MCUiLAogICAgICAgICAgICBoZWlnaHQ6ICI4MCUiLAogICAgICAgICAgICBzaXplUmFuZ2U6IFsxMiwgNjBdLAogICAgICAgICAgICByb3RhdGlvblJhbmdlOiBbLTkwLCA5MF0sCiAgICAgICAgICAgIHJvdGF0aW9uU3RlcDogNDUsCiAgICAgICAgICAgIGdyaWRTaXplOiA4LAogICAgICAgICAgICBkcmF3T3V0T2ZCb3VuZDogITEsCiAgICAgICAgICAgIHRleHRTdHlsZTogewogICAgICAgICAgICAgIGZvbnRXZWlnaHQ6ICJub3JtYWwiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9KSwgby5leHRlbmRDaGFydFZpZXcoewogICAgICAgICAgdHlwZTogIndvcmRDbG91ZCIsCiAgICAgICAgICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcih0LCBlLCBhKSB7CiAgICAgICAgICAgIHZhciBpID0gdGhpcy5ncm91cDsKICAgICAgICAgICAgaS5yZW1vdmVBbGwoKTsKICAgICAgICAgICAgdmFyIHIgPSB0LmdldERhdGEoKSwKICAgICAgICAgICAgICAgIG4gPSB0LmdldCgiZ3JpZFNpemUiKTsKICAgICAgICAgICAgdC5sYXlvdXRJbnN0YW5jZS5vbmRyYXcgPSBmdW5jdGlvbiAoZSwgYSwgcywgbCkgewogICAgICAgICAgICAgIHZhciBkID0gci5nZXRJdGVtTW9kZWwocyksCiAgICAgICAgICAgICAgICAgIHUgPSBkLmdldE1vZGVsKCJ0ZXh0U3R5bGUiKSwKICAgICAgICAgICAgICAgICAgZiA9IG5ldyBvLmdyYXBoaWMuVGV4dCh7CiAgICAgICAgICAgICAgICBzdHlsZTogby5oZWxwZXIuY3JlYXRlVGV4dFN0eWxlKHUpLAogICAgICAgICAgICAgICAgc2NhbGVYOiAxIC8gbC5pbmZvLm11LAogICAgICAgICAgICAgICAgc2NhbGVZOiAxIC8gbC5pbmZvLm11LAogICAgICAgICAgICAgICAgeDogKGwuZ3ggKyBsLmluZm8uZ3cgLyAyKSAqIG4sCiAgICAgICAgICAgICAgICB5OiAobC5neSArIGwuaW5mby5naCAvIDIpICogbiwKICAgICAgICAgICAgICAgIHJvdGF0aW9uOiBsLnJvdAogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIGYuc2V0U3R5bGUoewogICAgICAgICAgICAgICAgeDogbC5pbmZvLmZpbGxUZXh0T2Zmc2V0WCwKICAgICAgICAgICAgICAgIHk6IGwuaW5mby5maWxsVGV4dE9mZnNldFkgKyAuNSAqIGEsCiAgICAgICAgICAgICAgICB0ZXh0OiBlLAogICAgICAgICAgICAgICAgdmVydGljYWxBbGlnbjogIm1pZGRsZSIsCiAgICAgICAgICAgICAgICBmaWxsOiByLmdldEl0ZW1WaXN1YWwocywgInN0eWxlIikuZmlsbCwKICAgICAgICAgICAgICAgIGZvbnRTaXplOiBhCiAgICAgICAgICAgICAgfSksIGkuYWRkKGYpLCByLnNldEl0ZW1HcmFwaGljRWwocywgZiksIGYuZW5zdXJlU3RhdGUoImVtcGhhc2lzIikuc3R5bGUgPSBvLmhlbHBlci5jcmVhdGVUZXh0U3R5bGUoZC5nZXRNb2RlbChbImVtcGhhc2lzIiwgInRleHRTdHlsZSJdKSwgewogICAgICAgICAgICAgICAgc3RhdGU6ICJlbXBoYXNpcyIKICAgICAgICAgICAgICB9KSwgZi5lbnN1cmVTdGF0ZSgiYmx1ciIpLnN0eWxlID0gby5oZWxwZXIuY3JlYXRlVGV4dFN0eWxlKGQuZ2V0TW9kZWwoWyJibHVyIiwgInRleHRTdHlsZSJdKSwgewogICAgICAgICAgICAgICAgc3RhdGU6ICJibHVyIgogICAgICAgICAgICAgIH0pLCBvLmhlbHBlci5lbmFibGVIb3ZlckVtcGhhc2lzKGYsIGQuZ2V0KFsiZW1waGFzaXMiLCAiZm9jdXMiXSksIGQuZ2V0KFsiZW1waGFzaXMiLCAiYmx1clNjb3BlIl0pKSwgZi5zdGF0ZVRyYW5zaXRpb24gPSB7CiAgICAgICAgICAgICAgICBkdXJhdGlvbjogdC5nZXQoImFuaW1hdGlvbiIpID8gdC5nZXQoWyJzdGF0ZUFuaW1hdGlvbiIsICJkdXJhdGlvbiJdKSA6IDAsCiAgICAgICAgICAgICAgICBlYXNpbmc6IHQuZ2V0KFsic3RhdGVBbmltYXRpb24iLCAiZWFzaW5nIl0pCiAgICAgICAgICAgICAgfSwgZi5fX2hpZ2hEb3duRGlzcGF0Y2hlciA9ICEwOwogICAgICAgICAgICB9LCB0aGlzLl9tb2RlbCA9IHQ7CiAgICAgICAgICB9LAogICAgICAgICAgcmVtb3ZlOiBmdW5jdGlvbiByZW1vdmUoKSB7CiAgICAgICAgICAgIHRoaXMuZ3JvdXAucmVtb3ZlQWxsKCksIHRoaXMuX21vZGVsLmxheW91dEluc3RhbmNlLmRpc3Bvc2UoKTsKICAgICAgICAgIH0sCiAgICAgICAgICBkaXNwb3NlOiBmdW5jdGlvbiBkaXNwb3NlKCkgewogICAgICAgICAgICB0aGlzLl9tb2RlbC5sYXlvdXRJbnN0YW5jZS5kaXNwb3NlKCk7CiAgICAgICAgICB9CiAgICAgICAgfSksIHdpbmRvdy5zZXRJbW1lZGlhdGUgfHwgKHdpbmRvdy5zZXRJbW1lZGlhdGUgPSB3aW5kb3cubXNTZXRJbW1lZGlhdGUgfHwgd2luZG93LndlYmtpdFNldEltbWVkaWF0ZSB8fCB3aW5kb3cubW96U2V0SW1tZWRpYXRlIHx8IHdpbmRvdy5vU2V0SW1tZWRpYXRlIHx8IGZ1bmN0aW9uICgpIHsKICAgICAgICAgIGlmICghd2luZG93LnBvc3RNZXNzYWdlIHx8ICF3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcikgcmV0dXJuIG51bGw7CiAgICAgICAgICB2YXIgdCA9IFt2b2lkIDBdLAogICAgICAgICAgICAgIGUgPSAiemVyby10aW1lb3V0LW1lc3NhZ2UiOwogICAgICAgICAgcmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgaWYgKCJzdHJpbmciID09IHR5cGVvZiBhLmRhdGEgJiYgYS5kYXRhLnN1YnN0cigwLCBlLmxlbmd0aCkgPT09IGUpIHsKICAgICAgICAgICAgICBhLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpOwogICAgICAgICAgICAgIHZhciBvID0gcGFyc2VJbnQoYS5kYXRhLnN1YnN0cihlLmxlbmd0aCksIDM2KTsKICAgICAgICAgICAgICB0W29dICYmICh0W29dKCksIHRbb10gPSB2b2lkIDApOwogICAgICAgICAgICB9CiAgICAgICAgICB9LCAhMCksIHdpbmRvdy5jbGVhckltbWVkaWF0ZSA9IGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgIHRbZV0gJiYgKHRbZV0gPSB2b2lkIDApOwogICAgICAgICAgfSwgZnVuY3Rpb24gKGEpIHsKICAgICAgICAgICAgdmFyIG8gPSB0Lmxlbmd0aDsKICAgICAgICAgICAgcmV0dXJuIHQucHVzaChhKSwgd2luZG93LnBvc3RNZXNzYWdlKGUgKyBvLnRvU3RyaW5nKDM2KSwgIioiKSwgbzsKICAgICAgICAgIH07CiAgICAgICAgfSgpIHx8IGZ1bmN0aW9uICh0KSB7CiAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dCh0LCAwKTsKICAgICAgICB9KSwgd2luZG93LmNsZWFySW1tZWRpYXRlIHx8ICh3aW5kb3cuY2xlYXJJbW1lZGlhdGUgPSB3aW5kb3cubXNDbGVhckltbWVkaWF0ZSB8fCB3aW5kb3cud2Via2l0Q2xlYXJJbW1lZGlhdGUgfHwgd2luZG93Lm1vekNsZWFySW1tZWRpYXRlIHx8IHdpbmRvdy5vQ2xlYXJJbW1lZGlhdGUgfHwgZnVuY3Rpb24gKHQpIHsKICAgICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodCk7CiAgICAgICAgfSk7CgogICAgICAgIHZhciBpID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgdmFyIHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsKICAgICAgICAgIGlmICghdCB8fCAhdC5nZXRDb250ZXh0KSByZXR1cm4gITE7CiAgICAgICAgICB2YXIgZSA9IHQuZ2V0Q29udGV4dCgiMmQiKTsKICAgICAgICAgIHJldHVybiAhIShlLmdldEltYWdlRGF0YSAmJiBlLmZpbGxUZXh0ICYmIEFycmF5LnByb3RvdHlwZS5zb21lICYmIEFycmF5LnByb3RvdHlwZS5wdXNoKTsKICAgICAgICB9KCksCiAgICAgICAgICAgIHIgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICBpZiAoaSkgewogICAgICAgICAgICBmb3IgKHZhciB0LCBlLCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29udGV4dCgiMmQiKSwgbyA9IDIwOyBvOykgewogICAgICAgICAgICAgIGlmIChhLmZvbnQgPSBvLnRvU3RyaW5nKDEwKSArICJweCBzYW5zLXNlcmlmIiwgYS5tZWFzdXJlVGV4dCgi77y3Iikud2lkdGggPT09IHQgJiYgYS5tZWFzdXJlVGV4dCgibSIpLndpZHRoID09PSBlKSByZXR1cm4gbyArIDE7CiAgICAgICAgICAgICAgdCA9IGEubWVhc3VyZVRleHQoIu+8tyIpLndpZHRoLCBlID0gYS5tZWFzdXJlVGV4dCgibSIpLndpZHRoLCBvLS07CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgfQogICAgICAgIH0oKSwKICAgICAgICAgICAgbiA9IGZ1bmN0aW9uIG4odCkgewogICAgICAgICAgZm9yICh2YXIgZSwgYSwgbyA9IHQubGVuZ3RoOyBvOyBlID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbyksIGEgPSB0Wy0tb10sIHRbb10gPSB0W2VdLCB0W2VdID0gYSkgewogICAgICAgICAgICA7CiAgICAgICAgICB9CgogICAgICAgICAgcmV0dXJuIHQ7CiAgICAgICAgfSwKICAgICAgICAgICAgcyA9IGZ1bmN0aW9uIHModCwgZSkgewogICAgICAgICAgaWYgKGkpIHsKICAgICAgICAgICAgQXJyYXkuaXNBcnJheSh0KSB8fCAodCA9IFt0XSksIHQuZm9yRWFjaChmdW5jdGlvbiAoZSwgYSkgewogICAgICAgICAgICAgIGlmICgic3RyaW5nIiA9PSB0eXBlb2YgZSkgewogICAgICAgICAgICAgICAgaWYgKHRbYV0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlKSwgIXRbYV0pIHRocm93ICJUaGUgZWxlbWVudCBpZCBzcGVjaWZpZWQgaXMgbm90IGZvdW5kLiI7CiAgICAgICAgICAgICAgfSBlbHNlIGlmICghZS50YWdOYW1lICYmICFlLmFwcGVuZENoaWxkKSB0aHJvdyAiWW91IG11c3QgcGFzcyB2YWxpZCBIVE1MIGVsZW1lbnRzLCBvciBJRCBvZiB0aGUgZWxlbWVudC4iOwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgdmFyIGEgPSB7CiAgICAgICAgICAgICAgbGlzdDogW10sCiAgICAgICAgICAgICAgZm9udEZhbWlseTogJyJUcmVidWNoZXQgTVMiLCAiSGVpdGkgVEMiLCAi5b6u6Luf5q2j6buR6auUIiwgIkFyaWFsIFVuaWNvZGUgTVMiLCAiRHJvaWQgRmFsbGJhY2sgU2FucyIsIHNhbnMtc2VyaWYnLAogICAgICAgICAgICAgIGZvbnRXZWlnaHQ6ICJub3JtYWwiLAogICAgICAgICAgICAgIGNvbG9yOiAicmFuZG9tLWRhcmsiLAogICAgICAgICAgICAgIG1pblNpemU6IDAsCiAgICAgICAgICAgICAgd2VpZ2h0RmFjdG9yOiAxLAogICAgICAgICAgICAgIGNsZWFyQ2FudmFzOiAhMCwKICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICIjZmZmIiwKICAgICAgICAgICAgICBncmlkU2l6ZTogOCwKICAgICAgICAgICAgICBkcmF3T3V0T2ZCb3VuZDogITEsCiAgICAgICAgICAgICAgb3JpZ2luOiBudWxsLAogICAgICAgICAgICAgIGRyYXdNYXNrOiAhMSwKICAgICAgICAgICAgICBtYXNrQ29sb3I6ICJyZ2JhKDI1NSwwLDAsMC4zKSIsCiAgICAgICAgICAgICAgbWFza0dhcFdpZHRoOiAuMywKICAgICAgICAgICAgICBsYXlvdXRBbmltYXRpb246ICEwLAogICAgICAgICAgICAgIHdhaXQ6IDAsCiAgICAgICAgICAgICAgYWJvcnRUaHJlc2hvbGQ6IDAsCiAgICAgICAgICAgICAgYWJvcnQ6IGZ1bmN0aW9uIGFib3J0KCkge30sCiAgICAgICAgICAgICAgbWluUm90YXRpb246IC1NYXRoLlBJIC8gMiwKICAgICAgICAgICAgICBtYXhSb3RhdGlvbjogTWF0aC5QSSAvIDIsCiAgICAgICAgICAgICAgcm90YXRpb25TdGVwOiAuMSwKICAgICAgICAgICAgICBzaHVmZmxlOiAhMCwKICAgICAgICAgICAgICByb3RhdGVSYXRpbzogLjEsCiAgICAgICAgICAgICAgc2hhcGU6ICJjaXJjbGUiLAogICAgICAgICAgICAgIGVsbGlwdGljaXR5OiAuNjUsCiAgICAgICAgICAgICAgY2xhc3NlczogbnVsbCwKICAgICAgICAgICAgICBob3ZlcjogbnVsbCwKICAgICAgICAgICAgICBjbGljazogbnVsbAogICAgICAgICAgICB9OwogICAgICAgICAgICBpZiAoZSkgZm9yICh2YXIgbyBpbiBlKSB7CiAgICAgICAgICAgICAgbyBpbiBhICYmIChhW29dID0gZVtvXSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICgiZnVuY3Rpb24iICE9IHR5cGVvZiBhLndlaWdodEZhY3RvcikgewogICAgICAgICAgICAgIHZhciBzID0gYS53ZWlnaHRGYWN0b3I7CgogICAgICAgICAgICAgIGEud2VpZ2h0RmFjdG9yID0gZnVuY3Rpb24gKHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0ICogczsKICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoImZ1bmN0aW9uIiAhPSB0eXBlb2YgYS5zaGFwZSkgc3dpdGNoIChhLnNoYXBlKSB7CiAgICAgICAgICAgICAgY2FzZSAiY2lyY2xlIjoKICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgYS5zaGFwZSA9ICJjaXJjbGUiOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgIGNhc2UgImNhcmRpb2lkIjoKICAgICAgICAgICAgICAgIGEuc2hhcGUgPSBmdW5jdGlvbiAodCkgewogICAgICAgICAgICAgICAgICByZXR1cm4gMSAtIE1hdGguc2luKHQpOwogICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgY2FzZSAiZGlhbW9uZCI6CiAgICAgICAgICAgICAgY2FzZSAic3F1YXJlIjoKICAgICAgICAgICAgICAgIGEuc2hhcGUgPSBmdW5jdGlvbiAodCkgewogICAgICAgICAgICAgICAgICB2YXIgZSA9IHQgJSAoMiAqIE1hdGguUEkgLyA0KTsKICAgICAgICAgICAgICAgICAgcmV0dXJuIDEgLyAoTWF0aC5jb3MoZSkgKyBNYXRoLnNpbihlKSk7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICBjYXNlICJ0cmlhbmdsZS1mb3J3YXJkIjoKICAgICAgICAgICAgICAgIGEuc2hhcGUgPSBmdW5jdGlvbiAodCkgewogICAgICAgICAgICAgICAgICB2YXIgZSA9IHQgJSAoMiAqIE1hdGguUEkgLyAzKTsKICAgICAgICAgICAgICAgICAgcmV0dXJuIDEgLyAoTWF0aC5jb3MoZSkgKyBNYXRoLnNxcnQoMykgKiBNYXRoLnNpbihlKSk7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICBjYXNlICJ0cmlhbmdsZSI6CiAgICAgICAgICAgICAgY2FzZSAidHJpYW5nbGUtdXByaWdodCI6CiAgICAgICAgICAgICAgICBhLnNoYXBlID0gZnVuY3Rpb24gKHQpIHsKICAgICAgICAgICAgICAgICAgdmFyIGUgPSAodCArIDMgKiBNYXRoLlBJIC8gMikgJSAoMiAqIE1hdGguUEkgLyAzKTsKICAgICAgICAgICAgICAgICAgcmV0dXJuIDEgLyAoTWF0aC5jb3MoZSkgKyBNYXRoLnNxcnQoMykgKiBNYXRoLnNpbihlKSk7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICBjYXNlICJwZW50YWdvbiI6CiAgICAgICAgICAgICAgICBhLnNoYXBlID0gZnVuY3Rpb24gKHQpIHsKICAgICAgICAgICAgICAgICAgdmFyIGUgPSAodCArIC45NTUpICUgKDIgKiBNYXRoLlBJIC8gNSk7CiAgICAgICAgICAgICAgICAgIHJldHVybiAxIC8gKE1hdGguY29zKGUpICsgLjcyNjU0MyAqIE1hdGguc2luKGUpKTsKICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgIGNhc2UgInN0YXIiOgogICAgICAgICAgICAgICAgYS5zaGFwZSA9IGZ1bmN0aW9uICh0KSB7CiAgICAgICAgICAgICAgICAgIHZhciBlID0gKHQgKyAuOTU1KSAlICgyICogTWF0aC5QSSAvIDEwKTsKICAgICAgICAgICAgICAgICAgcmV0dXJuICh0ICsgLjk1NSkgJSAoMiAqIE1hdGguUEkgLyA1KSAtIDIgKiBNYXRoLlBJIC8gMTAgPj0gMCA/IDEgLyAoTWF0aC5jb3MoMiAqIE1hdGguUEkgLyAxMCAtIGUpICsgMy4wNzc2OCAqIE1hdGguc2luKDIgKiBNYXRoLlBJIC8gMTAgLSBlKSkgOiAxIC8gKE1hdGguY29zKGUpICsgMy4wNzc2OCAqIE1hdGguc2luKGUpKTsKICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICB9CiAgICAgICAgICAgIGEuZ3JpZFNpemUgPSBNYXRoLm1heChNYXRoLmZsb29yKGEuZ3JpZFNpemUpLCA0KTsKICAgICAgICAgICAgdmFyIGwsCiAgICAgICAgICAgICAgICBkLAogICAgICAgICAgICAgICAgdSwKICAgICAgICAgICAgICAgIGYsCiAgICAgICAgICAgICAgICBjLAogICAgICAgICAgICAgICAgaCwKICAgICAgICAgICAgICAgIG0sCiAgICAgICAgICAgICAgICBnID0gYS5ncmlkU2l6ZSwKICAgICAgICAgICAgICAgIHYgPSBnIC0gYS5tYXNrR2FwV2lkdGgsCiAgICAgICAgICAgICAgICB3ID0gTWF0aC5hYnMoYS5tYXhSb3RhdGlvbiAtIGEubWluUm90YXRpb24pLAogICAgICAgICAgICAgICAgcCA9IE1hdGgubWluKGEubWF4Um90YXRpb24sIGEubWluUm90YXRpb24pLAogICAgICAgICAgICAgICAgeSA9IGEucm90YXRpb25TdGVwOwoKICAgICAgICAgICAgc3dpdGNoIChhLmNvbG9yKSB7CiAgICAgICAgICAgICAgY2FzZSAicmFuZG9tLWRhcmsiOgogICAgICAgICAgICAgICAgbSA9IGZ1bmN0aW9uIG0oKSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiBSKDEwLCA1MCk7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICBjYXNlICJyYW5kb20tbGlnaHQiOgogICAgICAgICAgICAgICAgbSA9IGZ1bmN0aW9uIG0oKSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiBSKDUwLCA5MCk7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgImZ1bmN0aW9uIiA9PSB0eXBlb2YgYS5jb2xvciAmJiAobSA9IGEuY29sb3IpOwogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgeCA9IG51bGw7CiAgICAgICAgICAgICJmdW5jdGlvbiIgPT0gdHlwZW9mIGEuY2xhc3NlcyAmJiAoeCA9IGEuY2xhc3Nlcyk7CgogICAgICAgICAgICB2YXIgTSwKICAgICAgICAgICAgICAgIFMgPSAhMSwKICAgICAgICAgICAgICAgIGIgPSBbXSwKICAgICAgICAgICAgICAgIEkgPSBmdW5jdGlvbiBJKHQpIHsKICAgICAgICAgICAgICB2YXIgZSwKICAgICAgICAgICAgICAgICAgYSwKICAgICAgICAgICAgICAgICAgbyA9IHQuY3VycmVudFRhcmdldCwKICAgICAgICAgICAgICAgICAgaSA9IG8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgICAgICAgICAgdC50b3VjaGVzID8gKGUgPSB0LnRvdWNoZXNbMF0uY2xpZW50WCwgYSA9IHQudG91Y2hlc1swXS5jbGllbnRZKSA6IChlID0gdC5jbGllbnRYLCBhID0gdC5jbGllbnRZKTsKICAgICAgICAgICAgICB2YXIgciA9IGUgLSBpLmxlZnQsCiAgICAgICAgICAgICAgICAgIG4gPSBhIC0gaS50b3AsCiAgICAgICAgICAgICAgICAgIHMgPSBNYXRoLmZsb29yKHIgKiAoby53aWR0aCAvIGkud2lkdGggfHwgMSkgLyBnKSwKICAgICAgICAgICAgICAgICAgbCA9IE1hdGguZmxvb3IobiAqIChvLmhlaWdodCAvIGkuaGVpZ2h0IHx8IDEpIC8gZyk7CiAgICAgICAgICAgICAgcmV0dXJuIGJbc11bbF07CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBUID0gZnVuY3Rpb24gVCh0KSB7CiAgICAgICAgICAgICAgdmFyIGUgPSBJKHQpOwogICAgICAgICAgICAgIE0gIT09IGUgJiYgKE0gPSBlLCBlID8gYS5ob3ZlcihlLml0ZW0sIGUuZGltZW5zaW9uLCB0KSA6IGEuaG92ZXIodm9pZCAwLCB2b2lkIDAsIHQpKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIEMgPSBmdW5jdGlvbiBDKHQpIHsKICAgICAgICAgICAgICB2YXIgZSA9IEkodCk7CiAgICAgICAgICAgICAgZSAmJiAoYS5jbGljayhlLml0ZW0sIGUuZGltZW5zaW9uLCB0KSwgdC5wcmV2ZW50RGVmYXVsdCgpKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIEUgPSBbXSwKICAgICAgICAgICAgICAgIGsgPSBmdW5jdGlvbiBrKHQpIHsKICAgICAgICAgICAgICBpZiAoRVt0XSkgcmV0dXJuIEVbdF07CiAgICAgICAgICAgICAgdmFyIGUgPSA4ICogdCwKICAgICAgICAgICAgICAgICAgbyA9IGUsCiAgICAgICAgICAgICAgICAgIGkgPSBbXTsKCiAgICAgICAgICAgICAgZm9yICgwID09PSB0ICYmIGkucHVzaChbZlswXSwgZlsxXSwgMF0pOyBvLS07KSB7CiAgICAgICAgICAgICAgICB2YXIgciA9IDE7CiAgICAgICAgICAgICAgICAiY2lyY2xlIiAhPT0gYS5zaGFwZSAmJiAociA9IGEuc2hhcGUobyAvIGUgKiAyICogTWF0aC5QSSkpLCBpLnB1c2goW2ZbMF0gKyB0ICogciAqIE1hdGguY29zKC1vIC8gZSAqIDIgKiBNYXRoLlBJKSwgZlsxXSArIHQgKiByICogTWF0aC5zaW4oLW8gLyBlICogMiAqIE1hdGguUEkpICogYS5lbGxpcHRpY2l0eSwgbyAvIGUgKiAyICogTWF0aC5QSV0pOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgcmV0dXJuIEVbdF0gPSBpLCBpOwogICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgTyA9IGZ1bmN0aW9uIE8oKSB7CiAgICAgICAgICAgICAgcmV0dXJuIGEuYWJvcnRUaHJlc2hvbGQgPiAwICYmIG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gaCA+IGEuYWJvcnRUaHJlc2hvbGQ7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBQID0gZnVuY3Rpb24gUChlLCBhLCBvLCBpLCByKSB7CiAgICAgICAgICAgICAgZSA+PSBkIHx8IGEgPj0gdSB8fCBlIDwgMCB8fCBhIDwgMCB8fCAobFtlXVthXSA9ICExLCBvICYmIHRbMF0uZ2V0Q29udGV4dCgiMmQiKS5maWxsUmVjdChlICogZywgYSAqIGcsIHYsIHYpLCBTICYmIChiW2VdW2FdID0gewogICAgICAgICAgICAgICAgaXRlbTogciwKICAgICAgICAgICAgICAgIGRpbWVuc2lvbjogaQogICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIEQgPSBmdW5jdGlvbiBEKGUsIGEsIG8pIHsKICAgICAgICAgICAgICBpZiAoYSkgcmV0dXJuICF0LnNvbWUoZnVuY3Rpb24gKHQpIHsKICAgICAgICAgICAgICAgIHZhciBpID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkN1c3RvbUV2ZW50Iik7CiAgICAgICAgICAgICAgICByZXR1cm4gaS5pbml0Q3VzdG9tRXZlbnQoZSwgITAsIGEsIG8gfHwge30pLCAhdC5kaXNwYXRjaEV2ZW50KGkpOwogICAgICAgICAgICAgIH0sIHRoaXMpOwogICAgICAgICAgICAgIHQuZm9yRWFjaChmdW5jdGlvbiAodCkgewogICAgICAgICAgICAgICAgdmFyIGkgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKTsKICAgICAgICAgICAgICAgIGkuaW5pdEN1c3RvbUV2ZW50KGUsICEwLCBhLCBvIHx8IHt9KSwgdC5kaXNwYXRjaEV2ZW50KGkpOwogICAgICAgICAgICAgIH0sIHRoaXMpOwogICAgICAgICAgICB9OwoKICAgICAgICAgICAgIWZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICB2YXIgZSA9IHRbMF07CiAgICAgICAgICAgICAgaWYgKGUuZ2V0Q29udGV4dCkgZCA9IE1hdGguY2VpbChlLndpZHRoIC8gZyksIHUgPSBNYXRoLmNlaWwoZS5oZWlnaHQgLyBnKTtlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBvID0gZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgICAgICAgICAgICAgIGQgPSBNYXRoLmNlaWwoby53aWR0aCAvIGcpLCB1ID0gTWF0aC5jZWlsKG8uaGVpZ2h0IC8gZyk7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICBpZiAoRCgid29yZGNsb3Vkc3RhcnQiLCAhMCkpIHsKICAgICAgICAgICAgICAgIHZhciBpLCBzLCB2LCBJLCBFOwogICAgICAgICAgICAgICAgaWYgKGYgPSBhLm9yaWdpbiA/IFthLm9yaWdpblswXSAvIGcsIGEub3JpZ2luWzFdIC8gZ10gOiBbZCAvIDIsIHUgLyAyXSwgYyA9IE1hdGguZmxvb3IoTWF0aC5zcXJ0KGQgKiBkICsgdSAqIHUpKSwgbCA9IFtdLCAhZS5nZXRDb250ZXh0IHx8IGEuY2xlYXJDYW52YXMpIGZvciAodC5mb3JFYWNoKGZ1bmN0aW9uICh0KSB7CiAgICAgICAgICAgICAgICAgIGlmICh0LmdldENvbnRleHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IHQuZ2V0Q29udGV4dCgiMmQiKTsKICAgICAgICAgICAgICAgICAgICBlLmZpbGxTdHlsZSA9IGEuYmFja2dyb3VuZENvbG9yLCBlLmNsZWFyUmVjdCgwLCAwLCBkICogKGcgKyAxKSwgdSAqIChnICsgMSkpLCBlLmZpbGxSZWN0KDAsIDAsIGQgKiAoZyArIDEpLCB1ICogKGcgKyAxKSk7CiAgICAgICAgICAgICAgICAgIH0gZWxzZSB0LnRleHRDb250ZW50ID0gIiIsIHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gYS5iYWNrZ3JvdW5kQ29sb3IsIHQuc3R5bGUucG9zaXRpb24gPSAicmVsYXRpdmUiOwogICAgICAgICAgICAgICAgfSksIGkgPSBkOyBpLS07KSB7CiAgICAgICAgICAgICAgICAgIGZvciAobFtpXSA9IFtdLCBzID0gdTsgcy0tOykgewogICAgICAgICAgICAgICAgICAgIGxbaV1bc10gPSAhMDsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgdmFyIFIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0KCIyZCIpOwogICAgICAgICAgICAgICAgICBSLmZpbGxTdHlsZSA9IGEuYmFja2dyb3VuZENvbG9yLCBSLmZpbGxSZWN0KDAsIDAsIDEsIDEpOwogICAgICAgICAgICAgICAgICB2YXIgQSwKICAgICAgICAgICAgICAgICAgICAgIHosCiAgICAgICAgICAgICAgICAgICAgICBGID0gUi5nZXRJbWFnZURhdGEoMCwgMCwgMSwgMSkuZGF0YSwKICAgICAgICAgICAgICAgICAgICAgIEwgPSBlLmdldENvbnRleHQoIjJkIikuZ2V0SW1hZ2VEYXRhKDAsIDAsIGQgKiBnLCB1ICogZykuZGF0YTsKCiAgICAgICAgICAgICAgICAgIGZvciAoaSA9IGQ7IGktLTspIHsKICAgICAgICAgICAgICAgICAgICBmb3IgKGxbaV0gPSBbXSwgcyA9IHU7IHMtLTspIHsKICAgICAgICAgICAgICAgICAgICAgIHogPSBnOwoKICAgICAgICAgICAgICAgICAgICAgIHQ6IGZvciAoOyB6LS07KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoQSA9IGc7IEEtLTspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHYgPSA0OyB2LS07KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTFs0ICogKChzICogZyArIHopICogZCAqIGcgKyAoaSAqIGcgKyBBKSkgKyB2XSAhPT0gRlt2XSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsW2ldW3NdID0gITE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrIHQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgITEgIT09IGxbaV1bc10gJiYgKGxbaV1bc10gPSAhMCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICBMID0gUiA9IEYgPSB2b2lkIDA7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKGEuaG92ZXIgfHwgYS5jbGljaykgewogICAgICAgICAgICAgICAgICBmb3IgKFMgPSAhMCwgaSA9IGQgKyAxOyBpLS07KSB7CiAgICAgICAgICAgICAgICAgICAgYltpXSA9IFtdOwogICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICBhLmhvdmVyICYmIGUuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIiwgVCksIGEuY2xpY2sgJiYgKGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBDKSwgZS5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IiwgQyksIGUuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLCBmdW5jdGlvbiAodCkgewogICAgICAgICAgICAgICAgICAgIHQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgICAgfSksIGUuc3R5bGUud2Via2l0VGFwSGlnaGxpZ2h0Q29sb3IgPSAicmdiYSgwLCAwLCAwLCAwKSIpLCBlLmFkZEV2ZW50TGlzdGVuZXIoIndvcmRjbG91ZHN0YXJ0IiwgZnVuY3Rpb24gdCgpIHsKICAgICAgICAgICAgICAgICAgICBlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIndvcmRjbG91ZHN0YXJ0IiwgdCksIGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIiwgVCksIGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBDKSwgTSA9IHZvaWQgMDsKICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgdiA9IDA7CiAgICAgICAgICAgICAgICB2YXIgVyA9ICEwOwogICAgICAgICAgICAgICAgYS5sYXlvdXRBbmltYXRpb24gPyAwICE9PSBhLndhaXQgPyAoSSA9IHdpbmRvdy5zZXRUaW1lb3V0LCBFID0gd2luZG93LmNsZWFyVGltZW91dCkgOiAoSSA9IHdpbmRvdy5zZXRJbW1lZGlhdGUsIEUgPSB3aW5kb3cuY2xlYXJJbW1lZGlhdGUpIDogKEkgPSBmdW5jdGlvbiBJKHQpIHsKICAgICAgICAgICAgICAgICAgdCgpOwogICAgICAgICAgICAgICAgfSwgRSA9IGZ1bmN0aW9uIEUoKSB7CiAgICAgICAgICAgICAgICAgIFcgPSAhMTsKICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIHZhciBCID0gZnVuY3Rpb24gQihlLCBhKSB7CiAgICAgICAgICAgICAgICAgIHQuZm9yRWFjaChmdW5jdGlvbiAodCkgewogICAgICAgICAgICAgICAgICAgIHQucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLCBhKTsKICAgICAgICAgICAgICAgICAgfSwgdGhpcyk7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIFggPSBmdW5jdGlvbiB0KCkgewogICAgICAgICAgICAgICAgICBCKCJ3b3JkY2xvdWRzdGFydCIsIHQpLCBFKFkpOwogICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICAhZnVuY3Rpb24gKGUsIGEpIHsKICAgICAgICAgICAgICAgICAgdC5mb3JFYWNoKGZ1bmN0aW9uICh0KSB7CiAgICAgICAgICAgICAgICAgICAgdC5hZGRFdmVudExpc3RlbmVyKCJ3b3JkY2xvdWRzdGFydCIsIGEpOwogICAgICAgICAgICAgICAgICB9LCB0aGlzKTsKICAgICAgICAgICAgICAgIH0oMCwgWCk7CiAgICAgICAgICAgICAgICB2YXIgWSA9IChhLmxheW91dEFuaW1hdGlvbiA/IEkgOiBzZXRUaW1lb3V0KShmdW5jdGlvbiBlKCkgewogICAgICAgICAgICAgICAgICBpZiAoVykgewogICAgICAgICAgICAgICAgICAgIGlmICh2ID49IGEubGlzdC5sZW5ndGgpIHJldHVybiBFKFkpLCBEKCJ3b3JkY2xvdWRzdG9wIiwgITEpLCB2b2lkIEIoIndvcmRjbG91ZHN0YXJ0IiwgWCk7CiAgICAgICAgICAgICAgICAgICAgaCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpOwoKICAgICAgICAgICAgICAgICAgICB2YXIgbyA9IGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgICAgICAgICB2YXIgbywgaSwgczsKICAgICAgICAgICAgICAgICAgICAgIEFycmF5LmlzQXJyYXkoZSkgPyAobyA9IGVbMF0sIGkgPSBlWzFdKSA6IChvID0gZS53b3JkLCBpID0gZS53ZWlnaHQsIHMgPSBlLmF0dHJpYnV0ZXMpOwoKICAgICAgICAgICAgICAgICAgICAgIHZhciBmLAogICAgICAgICAgICAgICAgICAgICAgICAgIGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgdiwKICAgICAgICAgICAgICAgICAgICAgICAgICBNID0gMCA9PT0gYS5yb3RhdGVSYXRpbyB8fCBNYXRoLnJhbmRvbSgpID4gYS5yb3RhdGVSYXRpbyA/IDAgOiAwID09PSB3ID8gcCA6IHAgKyBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiB3IC8geSkgKiB5LAogICAgICAgICAgICAgICAgICAgICAgICAgIGIgPSBmdW5jdGlvbiAodCwgZSwgbykgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IGEud2VpZ2h0RmFjdG9yKGUpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaSA8PSBhLm1pblNpemUpIHJldHVybiAhMTsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSAxOwogICAgICAgICAgICAgICAgICAgICAgICBpIDwgciAmJiAobiA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciB0ID0gMjsgdCAqIGkgPCByOykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdCArPSAyOwogICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQ7CiAgICAgICAgICAgICAgICAgICAgICAgIH0oKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsID0gcy5nZXRDb250ZXh0KCIyZCIsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICB3aWxsUmVhZEZyZXF1ZW50bHk6ICEwCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICBsLmZvbnQgPSBhLmZvbnRXZWlnaHQgKyAiICIgKyAoaSAqIG4pLnRvU3RyaW5nKDEwKSArICJweCAiICsgYS5mb250RmFtaWx5OwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZCA9IGwubWVhc3VyZVRleHQodCkud2lkdGggLyBuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdSA9IE1hdGgubWF4KGkgKiBuLCBsLm1lYXN1cmVUZXh0KCJtIikud2lkdGgsIGwubWVhc3VyZVRleHQoIu+8tyIpLndpZHRoKSAvIG4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmID0gZCArIDIgKiB1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYyA9IDMgKiB1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaCA9IE1hdGguY2VpbChmIC8gZyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtID0gTWF0aC5jZWlsKGMgLyBnKTsKICAgICAgICAgICAgICAgICAgICAgICAgZiA9IGggKiBnLCBjID0gbSAqIGc7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2ID0gLWQgLyAyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdyA9IC40ICogLXUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwID0gTWF0aC5jZWlsKChmICogTWF0aC5hYnMoTWF0aC5zaW4obykpICsgYyAqIE1hdGguYWJzKE1hdGguY29zKG8pKSkgLyBnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkgPSBNYXRoLmNlaWwoKGYgKiBNYXRoLmFicyhNYXRoLmNvcyhvKSkgKyBjICogTWF0aC5hYnMoTWF0aC5zaW4obykpKSAvIGcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeCA9IHkgKiBnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgTSA9IHAgKiBnOwogICAgICAgICAgICAgICAgICAgICAgICBzLnNldEF0dHJpYnV0ZSgid2lkdGgiLCB4KSwgcy5zZXRBdHRyaWJ1dGUoImhlaWdodCIsIE0pLCBsLnNjYWxlKDEgLyBuLCAxIC8gbiksIGwudHJhbnNsYXRlKHggKiBuIC8gMiwgTSAqIG4gLyAyKSwgbC5yb3RhdGUoLW8pLCBsLmZvbnQgPSBhLmZvbnRXZWlnaHQgKyAiICIgKyAoaSAqIG4pLnRvU3RyaW5nKDEwKSArICJweCAiICsgYS5mb250RmFtaWx5LCBsLmZpbGxTdHlsZSA9ICIjMDAwIiwgbC50ZXh0QmFzZWxpbmUgPSAibWlkZGxlIiwgbC5maWxsVGV4dCh0LCB2ICogbiwgKHcgKyAuNSAqIGkpICogbik7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBTID0gbC5nZXRJbWFnZURhdGEoMCwgMCwgeCwgTSkuZGF0YTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKE8oKSkgcmV0dXJuICExOwoKICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgYiwgSSwgVCwgQyA9IFtdLCBFID0geSwgayA9IFtwIC8gMiwgeSAvIDIsIHAgLyAyLCB5IC8gMl07IEUtLTspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGIgPSBwOyBiLS07KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUID0gZzsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0OiBmb3IgKDsgVC0tOykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKEkgPSBnOyBJLS07KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFNbNCAqICgoYiAqIGcgKyBUKSAqIHggKyAoRSAqIGcgKyBJKSkgKyAzXSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQy5wdXNoKFtFLCBiXSksIEUgPCBrWzNdICYmIChrWzNdID0gRSksIEUgPiBrWzFdICYmIChrWzFdID0gRSksIGIgPCBrWzBdICYmIChrWzBdID0gYiksIGIgPiBrWzJdICYmIChrWzJdID0gYik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhayB0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgICAgICAgICAgICBtdTogbiwKICAgICAgICAgICAgICAgICAgICAgICAgICBvY2N1cGllZDogQywKICAgICAgICAgICAgICAgICAgICAgICAgICBib3VuZHM6IGssCiAgICAgICAgICAgICAgICAgICAgICAgICAgZ3c6IHksCiAgICAgICAgICAgICAgICAgICAgICAgICAgZ2g6IHAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbFRleHRPZmZzZXRYOiB2LAogICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGxUZXh0T2Zmc2V0WTogdywKICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsVGV4dFdpZHRoOiBkLAogICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGxUZXh0SGVpZ2h0OiB1LAogICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBpCiAgICAgICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgICB9KG8sIGksIE0pOwoKICAgICAgICAgICAgICAgICAgICAgIGlmICghYikgcmV0dXJuICExOwogICAgICAgICAgICAgICAgICAgICAgaWYgKE8oKSkgcmV0dXJuICExOwoKICAgICAgICAgICAgICAgICAgICAgIGlmICghYS5kcmF3T3V0T2ZCb3VuZCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgSSA9IGIuYm91bmRzOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoSVsxXSAtIElbM10gKyAxID4gZCB8fCBJWzJdIC0gSVswXSArIDEgPiB1KSByZXR1cm4gITE7CiAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgVCA9IGMgKyAxOyBULS07KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBDID0gayhjIC0gVCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGEuc2h1ZmZsZSAmJiAoQyA9IFtdLmNvbmNhdChDKSwgbihDKSk7CgogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBFID0gMDsgRSA8IEMubGVuZ3RoOyBFKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgRCA9IChmID0gQ1tFXSwgaCA9IHZvaWQgMCwgdiA9IHZvaWQgMCwgaCA9IE1hdGguZmxvb3IoZlswXSAtIGIuZ3cgLyAyKSwgdiA9IE1hdGguZmxvb3IoZlsxXSAtIGIuZ2ggLyAyKSwgYi5ndywgYi5naCwgISFmdW5jdGlvbiAodCwgZSwgbywgaSwgcikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgbiA9IHIubGVuZ3RoOyBuLS07KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzID0gdCArIHJbbl1bMF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmID0gZSArIHJbbl1bMV07CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocyA+PSBkIHx8IGYgPj0gdSB8fCBzIDwgMCB8fCBmIDwgMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYS5kcmF3T3V0T2ZCb3VuZCkgcmV0dXJuICExOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFsW3NdW2ZdKSByZXR1cm4gITE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICEwOwogICAgICAgICAgICAgICAgICAgICAgICAgIH0oaCwgdiwgMCwgMCwgYi5vY2N1cGllZCkgJiYgKGZ1bmN0aW9uIChlLCBvLCBpLCByLCBuLCBzLCBsLCBkLCB1KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGggPSBpLmZvbnRTaXplOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZiA9IG0gPyBtKHIsIG4sIGgsIHMsIGwpIDogYS5jb2xvciwgYyA9IHggPyB4KHIsIG4sIGgsIHMsIGwpIDogYS5jbGFzc2VzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHYgPSBpLmJvdW5kczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZbM10sIHZbMF0sIHZbMV0sIHZbM10sIHZbMl0sIHZbMF0sIHQuZm9yRWFjaChmdW5jdGlvbiAodCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodC5nZXRDb250ZXh0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSB0LmdldENvbnRleHQoIjJkIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMgPSBpLm11OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG4uc2F2ZSgpLCBuLnNjYWxlKDEgLyBzLCAxIC8gcyksIG4uZm9udCA9IGEuZm9udFdlaWdodCArICIgIiArIChoICogcykudG9TdHJpbmcoMTApICsgInB4ICIgKyBhLmZvbnRGYW1pbHksIG4uZmlsbFN0eWxlID0gZiwgbi50cmFuc2xhdGUoKGUgKyBpLmd3IC8gMikgKiBnICogcywgKG8gKyBpLmdoIC8gMikgKiBnICogcyksIDAgIT09IGQgJiYgbi5yb3RhdGUoLWQpLCBuLnRleHRCYXNlbGluZSA9ICJtaWRkbGUiLCBuLmZpbGxUZXh0KHIsIGkuZmlsbFRleHRPZmZzZXRYICogcywgKGkuZmlsbFRleHRPZmZzZXRZICsgLjUgKiBoKSAqIHMpLCBuLnJlc3RvcmUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbSA9ICIiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0gPSAicm90YXRlKCIgKyAtZCAvIE1hdGguUEkgKiAxODAgKyAiZGVnKSAiLCAxICE9PSBpLm11ICYmIChtICs9ICJ0cmFuc2xhdGVYKC0iICsgaS5maWxsVGV4dFdpZHRoIC8gNCArICJweCkgc2NhbGUoIiArIDEgLyBpLm11ICsgIikiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdiA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAiYWJzb2x1dGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogImJsb2NrIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQ6IGEuZm9udFdlaWdodCArICIgIiArIGggKiBpLm11ICsgInB4ICIgKyBhLmZvbnRGYW1pbHksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAoZSArIGkuZ3cgLyAyKSAqIGcgKyBpLmZpbGxUZXh0T2Zmc2V0WCArICJweCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IChvICsgaS5naCAvIDIpICogZyArIGkuZmlsbFRleHRPZmZzZXRZICsgInB4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBpLmZpbGxUZXh0V2lkdGggKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpLmZpbGxUZXh0SGVpZ2h0ICsgInB4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IGggKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGVTcGFjZTogIm5vd3JhcCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWJraXRUcmFuc2Zvcm06IG0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc1RyYW5zZm9ybTogbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybU9yaWdpbjogIjUwJSA0MCUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2Via2l0VHJhbnNmb3JtT3JpZ2luOiAiNTAlIDQwJSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc1RyYW5zZm9ybU9yaWdpbjogIjUwJSA0MCUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgdyBpbiBmICYmICh2LmNvbG9yID0gZiksIGwudGV4dENvbnRlbnQgPSByLCB2KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsLnN0eWxlW3ddID0gdlt3XTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh1KSBmb3IgKHZhciBwIGluIHUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGwuc2V0QXR0cmlidXRlKHAsIHVbcF0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjICYmIChsLmNsYXNzTmFtZSArPSBjKSwgdC5hcHBlbmRDaGlsZChsKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgfShoLCB2LCBiLCBvLCBpLCBjIC0gVCwgZlsyXSwgTSwgcyksIGZ1bmN0aW9uIChlLCBvLCBpLCByLCBuLCBzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMgPSBuLm9jY3VwaWVkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGggPSBhLmRyYXdNYXNrOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoICYmICgobCA9IHRbMF0uZ2V0Q29udGV4dCgiMmQiKSkuc2F2ZSgpLCBsLmZpbGxTdHlsZSA9IGEubWFza0NvbG9yKSwgUykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbSA9IG4uYm91bmRzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmID0gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHg6IChlICsgbVszXSkgKiBnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHk6IChvICsgbVswXSkgKiBnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHc6IChtWzFdIC0gbVszXSArIDEpICogZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoOiAobVsyXSAtIG1bMF0gKyAxKSAqIGcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciB2ID0gYy5sZW5ndGg7IHYtLTspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHcgPSBlICsgY1t2XVswXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAgPSBvICsgY1t2XVsxXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdyA+PSBkIHx8IHAgPj0gdSB8fCB3IDwgMCB8fCBwIDwgMCB8fCBQKHcsIHAsIGgsIGYsIHMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGggJiYgbC5yZXN0b3JlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgfShoLCB2LCAwLCAwLCBiLCBlKSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3g6IGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBneTogdiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdDogTSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm86IGIKICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEQpIHJldHVybiBEOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICAgICAgICAgICAgfShhLmxpc3Rbdl0pLAogICAgICAgICAgICAgICAgICAgICAgICBpID0gIUQoIndvcmRjbG91ZGRyYXduIiwgITAsIHsKICAgICAgICAgICAgICAgICAgICAgIGl0ZW06IGEubGlzdFt2XSwKICAgICAgICAgICAgICAgICAgICAgIGRyYXduOiBvCiAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgIGlmIChPKCkgfHwgaSkgcmV0dXJuIEUoWSksIGEuYWJvcnQoKSwgRCgid29yZGNsb3VkYWJvcnQiLCAhMSksIEQoIndvcmRjbG91ZHN0b3AiLCAhMSksIHZvaWQgQigid29yZGNsb3Vkc3RhcnQiLCBYKTsKICAgICAgICAgICAgICAgICAgICB2KyssIFkgPSBJKGUsIGEud2FpdCk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sIGEud2FpdCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KCk7CiAgICAgICAgICB9CgogICAgICAgICAgZnVuY3Rpb24gUih0LCBlKSB7CiAgICAgICAgICAgIHJldHVybiAiaHNsKCIgKyAoMzYwICogTWF0aC5yYW5kb20oKSkudG9GaXhlZCgpICsgIiwiICsgKDMwICogTWF0aC5yYW5kb20oKSArIDcwKS50b0ZpeGVkKCkgKyAiJSwiICsgKE1hdGgucmFuZG9tKCkgKiAoZSAtIHQpICsgdCkudG9GaXhlZCgpICsgIiUpIjsKICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICBzLmlzU3VwcG9ydGVkID0gaSwgcy5taW5Gb250U2l6ZSA9IHI7CiAgICAgICAgdmFyIGwgPSBzOwogICAgICAgIGlmICghbC5pc1N1cHBvcnRlZCkgdGhyb3cgbmV3IEVycm9yKCJTb3JyeSB5b3VyIGJyb3dzZXIgbm90IHN1cHBvcnQgd29yZENsb3VkIik7CiAgICAgICAgby5yZWdpc3RlckxheW91dChmdW5jdGlvbiAodCwgZSkgewogICAgICAgICAgdC5lYWNoU2VyaWVzQnlUeXBlKCJ3b3JkQ2xvdWQiLCBmdW5jdGlvbiAoYSkgewogICAgICAgICAgICB2YXIgaSA9IG8uaGVscGVyLmdldExheW91dFJlY3QoYS5nZXRCb3hMYXlvdXRQYXJhbXMoKSwgewogICAgICAgICAgICAgIHdpZHRoOiBlLmdldFdpZHRoKCksCiAgICAgICAgICAgICAgaGVpZ2h0OiBlLmdldEhlaWdodCgpCiAgICAgICAgICAgIH0pLAogICAgICAgICAgICAgICAgciA9IGEuZ2V0RGF0YSgpLAogICAgICAgICAgICAgICAgbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOwogICAgICAgICAgICBuLndpZHRoID0gaS53aWR0aCwgbi5oZWlnaHQgPSBpLmhlaWdodDsKICAgICAgICAgICAgdmFyIHMgPSBuLmdldENvbnRleHQoIjJkIiksCiAgICAgICAgICAgICAgICBkID0gYS5nZXQoIm1hc2tJbWFnZSIpOwogICAgICAgICAgICBpZiAoZCkgdHJ5IHsKICAgICAgICAgICAgICBzLmRyYXdJbWFnZShkLCAwLCAwLCBuLndpZHRoLCBuLmhlaWdodCksIGZ1bmN0aW9uICh0KSB7CiAgICAgICAgICAgICAgICBmb3IgKHZhciBlID0gdC5nZXRDb250ZXh0KCIyZCIpLCBhID0gZS5nZXRJbWFnZURhdGEoMCwgMCwgdC53aWR0aCwgdC5oZWlnaHQpLCBvID0gZS5jcmVhdGVJbWFnZURhdGEoYSksIGkgPSAwLCByID0gMCwgbiA9IDA7IG4gPCBhLmRhdGEubGVuZ3RoOyBuICs9IDQpIHsKICAgICAgICAgICAgICAgICAgYS5kYXRhW24gKyAzXSA+IDEyOCAmJiAoaSArPSBsID0gYS5kYXRhW25dICsgYS5kYXRhW24gKyAxXSArIGEuZGF0YVtuICsgMl0sICsrcik7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgdmFyIHMgPSBpIC8gcjsKCiAgICAgICAgICAgICAgICBmb3IgKG4gPSAwOyBuIDwgYS5kYXRhLmxlbmd0aDsgbiArPSA0KSB7CiAgICAgICAgICAgICAgICAgIHZhciBsID0gYS5kYXRhW25dICsgYS5kYXRhW24gKyAxXSArIGEuZGF0YVtuICsgMl07CiAgICAgICAgICAgICAgICAgIGEuZGF0YVtuICsgM10gPCAxMjggfHwgbCA+IHMgPyAoby5kYXRhW25dID0gMCwgby5kYXRhW24gKyAxXSA9IDAsIG8uZGF0YVtuICsgMl0gPSAwLCBvLmRhdGFbbiArIDNdID0gMCkgOiAoby5kYXRhW25dID0gMjU1LCBvLmRhdGFbbiArIDFdID0gMjU1LCBvLmRhdGFbbiArIDJdID0gMjU1LCBvLmRhdGFbbiArIDNdID0gMjU1KTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBlLnB1dEltYWdlRGF0YShvLCAwLCAwKTsKICAgICAgICAgICAgICB9KG4pOwogICAgICAgICAgICB9IGNhdGNoICh0KSB7CiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcigiSW52YWxpZCBtYXNrIGltYWdlIiksIGNvbnNvbGUuZXJyb3IodC50b1N0cmluZygpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgdSA9IGEuZ2V0KCJzaXplUmFuZ2UiKSwKICAgICAgICAgICAgICAgIGYgPSBhLmdldCgicm90YXRpb25SYW5nZSIpLAogICAgICAgICAgICAgICAgYyA9IHIuZ2V0RGF0YUV4dGVudCgidmFsdWUiKSwKICAgICAgICAgICAgICAgIGggPSBNYXRoLlBJIC8gMTgwLAogICAgICAgICAgICAgICAgbSA9IGEuZ2V0KCJncmlkU2l6ZSIpOwoKICAgICAgICAgICAgZnVuY3Rpb24gZyh0KSB7CiAgICAgICAgICAgICAgdmFyIGUgPSB0LmRldGFpbC5pdGVtOwogICAgICAgICAgICAgIHQuZGV0YWlsLmRyYXduICYmIGEubGF5b3V0SW5zdGFuY2Uub25kcmF3ICYmICh0LmRldGFpbC5kcmF3bi5neCArPSBpLnggLyBtLCB0LmRldGFpbC5kcmF3bi5neSArPSBpLnkgLyBtLCBhLmxheW91dEluc3RhbmNlLm9uZHJhdyhlWzBdLCBlWzFdLCBlWzJdLCB0LmRldGFpbC5kcmF3bikpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBsKG4sIHsKICAgICAgICAgICAgICBsaXN0OiByLm1hcEFycmF5KCJ2YWx1ZSIsIGZ1bmN0aW9uICh0LCBlKSB7CiAgICAgICAgICAgICAgICB2YXIgYSA9IHIuZ2V0SXRlbU1vZGVsKGUpOwogICAgICAgICAgICAgICAgcmV0dXJuIFtyLmdldE5hbWUoZSksIGEuZ2V0KCJ0ZXh0U3R5bGUuZm9udFNpemUiLCAhMCkgfHwgby5udW1iZXIubGluZWFyTWFwKHQsIGMsIHUpLCBlXTsKICAgICAgICAgICAgICB9KS5zb3J0KGZ1bmN0aW9uICh0LCBlKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZVsxXSAtIHRbMV07CiAgICAgICAgICAgICAgfSksCiAgICAgICAgICAgICAgZm9udEZhbWlseTogYS5nZXQoInRleHRTdHlsZS5mb250RmFtaWx5IikgfHwgYS5nZXQoImVtcGhhc2lzLnRleHRTdHlsZS5mb250RmFtaWx5IikgfHwgdC5nZXQoInRleHRTdHlsZS5mb250RmFtaWx5IiksCiAgICAgICAgICAgICAgZm9udFdlaWdodDogYS5nZXQoInRleHRTdHlsZS5mb250V2VpZ2h0IikgfHwgYS5nZXQoImVtcGhhc2lzLnRleHRTdHlsZS5mb250V2VpZ2h0IikgfHwgdC5nZXQoInRleHRTdHlsZS5mb250V2VpZ2h0IiksCiAgICAgICAgICAgICAgZ3JpZFNpemU6IG0sCiAgICAgICAgICAgICAgZWxsaXB0aWNpdHk6IGkuaGVpZ2h0IC8gaS53aWR0aCwKICAgICAgICAgICAgICBtaW5Sb3RhdGlvbjogZlswXSAqIGgsCiAgICAgICAgICAgICAgbWF4Um90YXRpb246IGZbMV0gKiBoLAogICAgICAgICAgICAgIGNsZWFyQ2FudmFzOiAhZCwKICAgICAgICAgICAgICByb3RhdGVSYXRpbzogMSwKICAgICAgICAgICAgICByb3RhdGlvblN0ZXA6IGEuZ2V0KCJyb3RhdGlvblN0ZXAiKSAqIGgsCiAgICAgICAgICAgICAgZHJhd091dE9mQm91bmQ6IGEuZ2V0KCJkcmF3T3V0T2ZCb3VuZCIpLAogICAgICAgICAgICAgIGxheW91dEFuaW1hdGlvbjogYS5nZXQoImxheW91dEFuaW1hdGlvbiIpLAogICAgICAgICAgICAgIHNodWZmbGU6ICExLAogICAgICAgICAgICAgIHNoYXBlOiBhLmdldCgic2hhcGUiKQogICAgICAgICAgICB9KSwgbi5hZGRFdmVudExpc3RlbmVyKCJ3b3JkY2xvdWRkcmF3biIsIGcpLCBhLmxheW91dEluc3RhbmNlICYmIGEubGF5b3V0SW5zdGFuY2UuZGlzcG9zZSgpLCBhLmxheW91dEluc3RhbmNlID0gewogICAgICAgICAgICAgIG9uZHJhdzogbnVsbCwKICAgICAgICAgICAgICBkaXNwb3NlOiBmdW5jdGlvbiBkaXNwb3NlKCkgewogICAgICAgICAgICAgICAgbi5yZW1vdmVFdmVudExpc3RlbmVyKCJ3b3JkY2xvdWRkcmF3biIsIGcpLCBuLmFkZEV2ZW50TGlzdGVuZXIoIndvcmRjbG91ZGRyYXduIiwgZnVuY3Rpb24gKHQpIHsKICAgICAgICAgICAgICAgICAgdC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwogICAgICAgICAgfSk7CiAgICAgICAgfSksIG8ucmVnaXN0ZXJQcmVwcm9jZXNzb3IoZnVuY3Rpb24gKHQpIHsKICAgICAgICAgIHZhciBlID0gKHQgfHwge30pLnNlcmllczsKICAgICAgICAgICFvLnV0aWwuaXNBcnJheShlKSAmJiAoZSA9IGUgPyBbZV0gOiBbXSk7CiAgICAgICAgICB2YXIgYSA9IFsic2hhZG93Q29sb3IiLCAic2hhZG93Qmx1ciIsICJzaGFkb3dPZmZzZXRYIiwgInNoYWRvd09mZnNldFkiXTsKCiAgICAgICAgICBmdW5jdGlvbiBpKHQpIHsKICAgICAgICAgICAgdCAmJiBvLnV0aWwuZWFjaChhLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgIHQuaGFzT3duUHJvcGVydHkoZSkgJiYgKHRbInRleHQiICsgby5mb3JtYXQuY2FwaXRhbEZpcnN0KGUpXSA9IHRbZV0pOwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KCiAgICAgICAgICBvLnV0aWwuZWFjaChlLCBmdW5jdGlvbiAodCkgewogICAgICAgICAgICBpZiAodCAmJiAid29yZENsb3VkIiA9PT0gdC50eXBlKSB7CiAgICAgICAgICAgICAgdmFyIGUgPSB0LnRleHRTdHlsZSB8fCB7fTsKICAgICAgICAgICAgICBpKGUubm9ybWFsKSwgaShlLmVtcGhhc2lzKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICAgIH0sCiAgICAgIDgzOiBmdW5jdGlvbiBfKGUpIHsKICAgICAgICBlLmV4cG9ydHMgPSB0OwogICAgICB9CiAgICB9LAogICAgICAgIGEgPSB7fTsKCiAgICBmdW5jdGlvbiBvKHQpIHsKICAgICAgaWYgKGFbdF0pIHJldHVybiBhW3RdLmV4cG9ydHM7CiAgICAgIHZhciBpID0gYVt0XSA9IHsKICAgICAgICBleHBvcnRzOiB7fQogICAgICB9OwogICAgICByZXR1cm4gZVt0XShpLCBpLmV4cG9ydHMsIG8pLCBpLmV4cG9ydHM7CiAgICB9CgogICAgcmV0dXJuIG8uciA9IGZ1bmN0aW9uICh0KSB7CiAgICAgICJ1bmRlZmluZWQiICE9IHR5cGVvZiBTeW1ib2wgJiYgU3ltYm9sLnRvU3RyaW5nVGFnICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBTeW1ib2wudG9TdHJpbmdUYWcsIHsKICAgICAgICB2YWx1ZTogIk1vZHVsZSIKICAgICAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCAiX19lc01vZHVsZSIsIHsKICAgICAgICB2YWx1ZTogITAKICAgICAgfSk7CiAgICB9LCBvKDYzOCk7CiAgfSgpOwp9KTs="},{"version":3,"sources":["F:/workspace/gcy/RK-html/RK-project/ruoyi-ui/src/views/dashboard/mixins/echarts-wordcloud.min.js"],"names":["t","e","exports","module","require","define","amd","echarts","self","a","r","o","extendSeriesModel","type","visualStyleAccessPath","visualStyleMapper","fill","get","visualDrawType","optionUpdated","option","gridSize","Math","max","floor","getInitialData","helper","createDimensions","data","coordDimensions","i","List","initData","defaultOption","maskImage","shape","left","top","width","height","sizeRange","rotationRange","rotationStep","drawOutOfBound","textStyle","fontWeight","extendChartView","render","group","removeAll","getData","n","layoutInstance","ondraw","s","l","d","getItemModel","u","getModel","f","graphic","Text","style","createTextStyle","scaleX","info","mu","scaleY","x","gx","gw","y","gy","gh","rotation","rot","setStyle","fillTextOffsetX","fillTextOffsetY","text","verticalAlign","getItemVisual","fontSize","add","setItemGraphicEl","ensureState","state","enableHoverEmphasis","stateTransition","duration","easing","__highDownDispatcher","_model","remove","dispose","window","setImmediate","msSetImmediate","webkitSetImmediate","mozSetImmediate","oSetImmediate","postMessage","addEventListener","substr","length","stopImmediatePropagation","parseInt","clearImmediate","push","toString","setTimeout","msClearImmediate","webkitClearImmediate","mozClearImmediate","oClearImmediate","clearTimeout","document","createElement","getContext","getImageData","fillText","Array","prototype","some","font","measureText","random","isArray","forEach","getElementById","tagName","appendChild","list","fontFamily","color","minSize","weightFactor","clearCanvas","backgroundColor","origin","drawMask","maskColor","maskGapWidth","layoutAnimation","wait","abortThreshold","abort","minRotation","PI","maxRotation","shuffle","rotateRatio","ellipticity","classes","hover","click","sin","cos","sqrt","c","h","m","g","v","w","abs","p","min","R","M","S","b","I","currentTarget","getBoundingClientRect","touches","clientX","clientY","T","item","dimension","C","preventDefault","E","k","O","Date","getTime","P","fillRect","D","createEvent","initCustomEvent","dispatchEvent","ceil","fillStyle","clearRect","textContent","position","A","z","F","L","webkitTapHighlightColor","removeEventListener","W","B","X","Y","word","weight","attributes","round","willReadFrequently","setAttribute","scale","translate","rotate","textBaseline","occupied","bounds","fillTextWidth","fillTextHeight","concat","save","restore","display","lineHeight","whiteSpace","transform","webkitTransform","msTransform","transformOrigin","webkitTransformOrigin","msTransformOrigin","className","drawn","toFixed","isSupported","minFontSize","Error","registerLayout","eachSeriesByType","getLayoutRect","getBoxLayoutParams","getWidth","getHeight","drawImage","createImageData","putImageData","console","error","getDataExtent","detail","mapArray","getName","number","linearMap","sort","registerPreprocessor","series","util","each","hasOwnProperty","format","capitalFirst","normal","emphasis","Symbol","toStringTag","Object","defineProperty","value"],"mappings":"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","sourcesContent":["/*! For license information please see echarts-wordcloud.min.js.LICENSE.txt */\r\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e(require(\"echarts\")):\"function\"==typeof define&&define.amd?define([\"echarts\"],e):\"object\"==typeof exports?exports[\"echarts-wordcloud\"]=e(require(\"echarts\")):t[\"echarts-wordcloud\"]=e(t.echarts)}(self,(function(t){return(()=>{\"use strict\";var e={638:(t,e,a)=>{a.r(e);var o=a(83);o.extendSeriesModel({type:\"series.wordCloud\",visualStyleAccessPath:\"textStyle\",visualStyleMapper:function(t){return{fill:t.get(\"color\")}},visualDrawType:\"fill\",optionUpdated:function(){var t=this.option;t.gridSize=Math.max(Math.floor(t.gridSize),4)},getInitialData:function(t,e){var a=o.helper.createDimensions(t.data,{coordDimensions:[\"value\"]}),i=new o.List(a,this);return i.initData(t.data),i},defaultOption:{maskImage:null,shape:\"circle\",left:\"center\",top:\"center\",width:\"70%\",height:\"80%\",sizeRange:[12,60],rotationRange:[-90,90],rotationStep:45,gridSize:8,drawOutOfBound:!1,textStyle:{fontWeight:\"normal\"}}}),o.extendChartView({type:\"wordCloud\",render:function(t,e,a){var i=this.group;i.removeAll();var r=t.getData(),n=t.get(\"gridSize\");t.layoutInstance.ondraw=function(e,a,s,l){var d=r.getItemModel(s),u=d.getModel(\"textStyle\"),f=new o.graphic.Text({style:o.helper.createTextStyle(u),scaleX:1/l.info.mu,scaleY:1/l.info.mu,x:(l.gx+l.info.gw/2)*n,y:(l.gy+l.info.gh/2)*n,rotation:l.rot});f.setStyle({x:l.info.fillTextOffsetX,y:l.info.fillTextOffsetY+.5*a,text:e,verticalAlign:\"middle\",fill:r.getItemVisual(s,\"style\").fill,fontSize:a}),i.add(f),r.setItemGraphicEl(s,f),f.ensureState(\"emphasis\").style=o.helper.createTextStyle(d.getModel([\"emphasis\",\"textStyle\"]),{state:\"emphasis\"}),f.ensureState(\"blur\").style=o.helper.createTextStyle(d.getModel([\"blur\",\"textStyle\"]),{state:\"blur\"}),o.helper.enableHoverEmphasis(f,d.get([\"emphasis\",\"focus\"]),d.get([\"emphasis\",\"blurScope\"])),f.stateTransition={duration:t.get(\"animation\")?t.get([\"stateAnimation\",\"duration\"]):0,easing:t.get([\"stateAnimation\",\"easing\"])},f.__highDownDispatcher=!0},this._model=t},remove:function(){this.group.removeAll(),this._model.layoutInstance.dispose()},dispose:function(){this._model.layoutInstance.dispose()}}),window.setImmediate||(window.setImmediate=window.msSetImmediate||window.webkitSetImmediate||window.mozSetImmediate||window.oSetImmediate||function(){if(!window.postMessage||!window.addEventListener)return null;var t=[void 0],e=\"zero-timeout-message\";return window.addEventListener(\"message\",(function(a){if(\"string\"==typeof a.data&&a.data.substr(0,e.length)===e){a.stopImmediatePropagation();var o=parseInt(a.data.substr(e.length),36);t[o]&&(t[o](),t[o]=void 0)}}),!0),window.clearImmediate=function(e){t[e]&&(t[e]=void 0)},function(a){var o=t.length;return t.push(a),window.postMessage(e+o.toString(36),\"*\"),o}}()||function(t){window.setTimeout(t,0)}),window.clearImmediate||(window.clearImmediate=window.msClearImmediate||window.webkitClearImmediate||window.mozClearImmediate||window.oClearImmediate||function(t){window.clearTimeout(t)});var i=function(){var t=document.createElement(\"canvas\");if(!t||!t.getContext)return!1;var e=t.getContext(\"2d\");return!!(e.getImageData&&e.fillText&&Array.prototype.some&&Array.prototype.push)}(),r=function(){if(i){for(var t,e,a=document.createElement(\"canvas\").getContext(\"2d\"),o=20;o;){if(a.font=o.toString(10)+\"px sans-serif\",a.measureText(\"W\").width===t&&a.measureText(\"m\").width===e)return o+1;t=a.measureText(\"W\").width,e=a.measureText(\"m\").width,o--}return 0}}(),n=function(t){for(var e,a,o=t.length;o;e=Math.floor(Math.random()*o),a=t[--o],t[o]=t[e],t[e]=a);return t},s=function(t,e){if(i){Array.isArray(t)||(t=[t]),t.forEach((function(e,a){if(\"string\"==typeof e){if(t[a]=document.getElementById(e),!t[a])throw\"The element id specified is not found.\"}else if(!e.tagName&&!e.appendChild)throw\"You must pass valid HTML elements, or ID of the element.\"}));var a={list:[],fontFamily:'\"Trebuchet MS\", \"Heiti TC\", \"微軟正黑體\", \"Arial Unicode MS\", \"Droid Fallback Sans\", sans-serif',fontWeight:\"normal\",color:\"random-dark\",minSize:0,weightFactor:1,clearCanvas:!0,backgroundColor:\"#fff\",gridSize:8,drawOutOfBound:!1,origin:null,drawMask:!1,maskColor:\"rgba(255,0,0,0.3)\",maskGapWidth:.3,layoutAnimation:!0,wait:0,abortThreshold:0,abort:function(){},minRotation:-Math.PI/2,maxRotation:Math.PI/2,rotationStep:.1,shuffle:!0,rotateRatio:.1,shape:\"circle\",ellipticity:.65,classes:null,hover:null,click:null};if(e)for(var o in e)o in a&&(a[o]=e[o]);if(\"function\"!=typeof a.weightFactor){var s=a.weightFactor;a.weightFactor=function(t){return t*s}}if(\"function\"!=typeof a.shape)switch(a.shape){case\"circle\":default:a.shape=\"circle\";break;case\"cardioid\":a.shape=function(t){return 1-Math.sin(t)};break;case\"diamond\":case\"square\":a.shape=function(t){var e=t%(2*Math.PI/4);return 1/(Math.cos(e)+Math.sin(e))};break;case\"triangle-forward\":a.shape=function(t){var e=t%(2*Math.PI/3);return 1/(Math.cos(e)+Math.sqrt(3)*Math.sin(e))};break;case\"triangle\":case\"triangle-upright\":a.shape=function(t){var e=(t+3*Math.PI/2)%(2*Math.PI/3);return 1/(Math.cos(e)+Math.sqrt(3)*Math.sin(e))};break;case\"pentagon\":a.shape=function(t){var e=(t+.955)%(2*Math.PI/5);return 1/(Math.cos(e)+.726543*Math.sin(e))};break;case\"star\":a.shape=function(t){var e=(t+.955)%(2*Math.PI/10);return(t+.955)%(2*Math.PI/5)-2*Math.PI/10>=0?1/(Math.cos(2*Math.PI/10-e)+3.07768*Math.sin(2*Math.PI/10-e)):1/(Math.cos(e)+3.07768*Math.sin(e))}}a.gridSize=Math.max(Math.floor(a.gridSize),4);var l,d,u,f,c,h,m,g=a.gridSize,v=g-a.maskGapWidth,w=Math.abs(a.maxRotation-a.minRotation),p=Math.min(a.maxRotation,a.minRotation),y=a.rotationStep;switch(a.color){case\"random-dark\":m=function(){return R(10,50)};break;case\"random-light\":m=function(){return R(50,90)};break;default:\"function\"==typeof a.color&&(m=a.color)}var x=null;\"function\"==typeof a.classes&&(x=a.classes);var M,S=!1,b=[],I=function(t){var e,a,o=t.currentTarget,i=o.getBoundingClientRect();t.touches?(e=t.touches[0].clientX,a=t.touches[0].clientY):(e=t.clientX,a=t.clientY);var r=e-i.left,n=a-i.top,s=Math.floor(r*(o.width/i.width||1)/g),l=Math.floor(n*(o.height/i.height||1)/g);return b[s][l]},T=function(t){var e=I(t);M!==e&&(M=e,e?a.hover(e.item,e.dimension,t):a.hover(void 0,void 0,t))},C=function(t){var e=I(t);e&&(a.click(e.item,e.dimension,t),t.preventDefault())},E=[],k=function(t){if(E[t])return E[t];var e=8*t,o=e,i=[];for(0===t&&i.push([f[0],f[1],0]);o--;){var r=1;\"circle\"!==a.shape&&(r=a.shape(o/e*2*Math.PI)),i.push([f[0]+t*r*Math.cos(-o/e*2*Math.PI),f[1]+t*r*Math.sin(-o/e*2*Math.PI)*a.ellipticity,o/e*2*Math.PI])}return E[t]=i,i},O=function(){return a.abortThreshold>0&&(new Date).getTime()-h>a.abortThreshold},P=function(e,a,o,i,r){e>=d||a>=u||e<0||a<0||(l[e][a]=!1,o&&t[0].getContext(\"2d\").fillRect(e*g,a*g,v,v),S&&(b[e][a]={item:r,dimension:i}))},D=function(e,a,o){if(a)return!t.some((function(t){var i=document.createEvent(\"CustomEvent\");return i.initCustomEvent(e,!0,a,o||{}),!t.dispatchEvent(i)}),this);t.forEach((function(t){var i=document.createEvent(\"CustomEvent\");i.initCustomEvent(e,!0,a,o||{}),t.dispatchEvent(i)}),this)};!function(){var e=t[0];if(e.getContext)d=Math.ceil(e.width/g),u=Math.ceil(e.height/g);else{var o=e.getBoundingClientRect();d=Math.ceil(o.width/g),u=Math.ceil(o.height/g)}if(D(\"wordcloudstart\",!0)){var i,s,v,I,E;if(f=a.origin?[a.origin[0]/g,a.origin[1]/g]:[d/2,u/2],c=Math.floor(Math.sqrt(d*d+u*u)),l=[],!e.getContext||a.clearCanvas)for(t.forEach((function(t){if(t.getContext){var e=t.getContext(\"2d\");e.fillStyle=a.backgroundColor,e.clearRect(0,0,d*(g+1),u*(g+1)),e.fillRect(0,0,d*(g+1),u*(g+1))}else t.textContent=\"\",t.style.backgroundColor=a.backgroundColor,t.style.position=\"relative\"})),i=d;i--;)for(l[i]=[],s=u;s--;)l[i][s]=!0;else{var R=document.createElement(\"canvas\").getContext(\"2d\");R.fillStyle=a.backgroundColor,R.fillRect(0,0,1,1);var A,z,F=R.getImageData(0,0,1,1).data,L=e.getContext(\"2d\").getImageData(0,0,d*g,u*g).data;for(i=d;i--;)for(l[i]=[],s=u;s--;){z=g;t:for(;z--;)for(A=g;A--;)for(v=4;v--;)if(L[4*((s*g+z)*d*g+(i*g+A))+v]!==F[v]){l[i][s]=!1;break t}!1!==l[i][s]&&(l[i][s]=!0)}L=R=F=void 0}if(a.hover||a.click){for(S=!0,i=d+1;i--;)b[i]=[];a.hover&&e.addEventListener(\"mousemove\",T),a.click&&(e.addEventListener(\"click\",C),e.addEventListener(\"touchstart\",C),e.addEventListener(\"touchend\",(function(t){t.preventDefault()})),e.style.webkitTapHighlightColor=\"rgba(0, 0, 0, 0)\"),e.addEventListener(\"wordcloudstart\",(function t(){e.removeEventListener(\"wordcloudstart\",t),e.removeEventListener(\"mousemove\",T),e.removeEventListener(\"click\",C),M=void 0}))}v=0;var W=!0;a.layoutAnimation?0!==a.wait?(I=window.setTimeout,E=window.clearTimeout):(I=window.setImmediate,E=window.clearImmediate):(I=function(t){t()},E=function(){W=!1});var B=function(e,a){t.forEach((function(t){t.removeEventListener(e,a)}),this)},X=function t(){B(\"wordcloudstart\",t),E(Y)};!function(e,a){t.forEach((function(t){t.addEventListener(\"wordcloudstart\",a)}),this)}(0,X);var Y=(a.layoutAnimation?I:setTimeout)((function e(){if(W){if(v>=a.list.length)return E(Y),D(\"wordcloudstop\",!1),void B(\"wordcloudstart\",X);h=(new Date).getTime();var o=function(e){var o,i,s;Array.isArray(e)?(o=e[0],i=e[1]):(o=e.word,i=e.weight,s=e.attributes);var f,h,v,M=0===a.rotateRatio||Math.random()>a.rotateRatio?0:0===w?p:p+Math.round(Math.random()*w/y)*y,b=function(t,e,o){var i=a.weightFactor(e);if(i<=a.minSize)return!1;var n=1;i<r&&(n=function(){for(var t=2;t*i<r;)t+=2;return t}());var s=document.createElement(\"canvas\"),l=s.getContext(\"2d\",{willReadFrequently:!0});l.font=a.fontWeight+\" \"+(i*n).toString(10)+\"px \"+a.fontFamily;var d=l.measureText(t).width/n,u=Math.max(i*n,l.measureText(\"m\").width,l.measureText(\"W\").width)/n,f=d+2*u,c=3*u,h=Math.ceil(f/g),m=Math.ceil(c/g);f=h*g,c=m*g;var v=-d/2,w=.4*-u,p=Math.ceil((f*Math.abs(Math.sin(o))+c*Math.abs(Math.cos(o)))/g),y=Math.ceil((f*Math.abs(Math.cos(o))+c*Math.abs(Math.sin(o)))/g),x=y*g,M=p*g;s.setAttribute(\"width\",x),s.setAttribute(\"height\",M),l.scale(1/n,1/n),l.translate(x*n/2,M*n/2),l.rotate(-o),l.font=a.fontWeight+\" \"+(i*n).toString(10)+\"px \"+a.fontFamily,l.fillStyle=\"#000\",l.textBaseline=\"middle\",l.fillText(t,v*n,(w+.5*i)*n);var S=l.getImageData(0,0,x,M).data;if(O())return!1;for(var b,I,T,C=[],E=y,k=[p/2,y/2,p/2,y/2];E--;)for(b=p;b--;){T=g;t:for(;T--;)for(I=g;I--;)if(S[4*((b*g+T)*x+(E*g+I))+3]){C.push([E,b]),E<k[3]&&(k[3]=E),E>k[1]&&(k[1]=E),b<k[0]&&(k[0]=b),b>k[2]&&(k[2]=b);break t}}return{mu:n,occupied:C,bounds:k,gw:y,gh:p,fillTextOffsetX:v,fillTextOffsetY:w,fillTextWidth:d,fillTextHeight:u,fontSize:i}}(o,i,M);if(!b)return!1;if(O())return!1;if(!a.drawOutOfBound){var I=b.bounds;if(I[1]-I[3]+1>d||I[2]-I[0]+1>u)return!1}for(var T=c+1;T--;){var C=k(c-T);a.shuffle&&(C=[].concat(C),n(C));for(var E=0;E<C.length;E++){var D=(f=C[E],h=void 0,v=void 0,h=Math.floor(f[0]-b.gw/2),v=Math.floor(f[1]-b.gh/2),b.gw,b.gh,!!function(t,e,o,i,r){for(var n=r.length;n--;){var s=t+r[n][0],f=e+r[n][1];if(s>=d||f>=u||s<0||f<0){if(!a.drawOutOfBound)return!1}else if(!l[s][f])return!1}return!0}(h,v,0,0,b.occupied)&&(function(e,o,i,r,n,s,l,d,u){var f,c,h=i.fontSize;f=m?m(r,n,h,s,l):a.color,c=x?x(r,n,h,s,l):a.classes;var v=i.bounds;v[3],v[0],v[1],v[3],v[2],v[0],t.forEach((function(t){if(t.getContext){var n=t.getContext(\"2d\"),s=i.mu;n.save(),n.scale(1/s,1/s),n.font=a.fontWeight+\" \"+(h*s).toString(10)+\"px \"+a.fontFamily,n.fillStyle=f,n.translate((e+i.gw/2)*g*s,(o+i.gh/2)*g*s),0!==d&&n.rotate(-d),n.textBaseline=\"middle\",n.fillText(r,i.fillTextOffsetX*s,(i.fillTextOffsetY+.5*h)*s),n.restore()}else{var l=document.createElement(\"span\"),m=\"\";m=\"rotate(\"+-d/Math.PI*180+\"deg) \",1!==i.mu&&(m+=\"translateX(-\"+i.fillTextWidth/4+\"px) scale(\"+1/i.mu+\")\");var v={position:\"absolute\",display:\"block\",font:a.fontWeight+\" \"+h*i.mu+\"px \"+a.fontFamily,left:(e+i.gw/2)*g+i.fillTextOffsetX+\"px\",top:(o+i.gh/2)*g+i.fillTextOffsetY+\"px\",width:i.fillTextWidth+\"px\",height:i.fillTextHeight+\"px\",lineHeight:h+\"px\",whiteSpace:\"nowrap\",transform:m,webkitTransform:m,msTransform:m,transformOrigin:\"50% 40%\",webkitTransformOrigin:\"50% 40%\",msTransformOrigin:\"50% 40%\"};for(var w in f&&(v.color=f),l.textContent=r,v)l.style[w]=v[w];if(u)for(var p in u)l.setAttribute(p,u[p]);c&&(l.className+=c),t.appendChild(l)}}))}(h,v,b,o,i,c-T,f[2],M,s),function(e,o,i,r,n,s){var l,f,c=n.occupied,h=a.drawMask;if(h&&((l=t[0].getContext(\"2d\")).save(),l.fillStyle=a.maskColor),S){var m=n.bounds;f={x:(e+m[3])*g,y:(o+m[0])*g,w:(m[1]-m[3]+1)*g,h:(m[2]-m[0]+1)*g}}for(var v=c.length;v--;){var w=e+c[v][0],p=o+c[v][1];w>=d||p>=u||w<0||p<0||P(w,p,h,f,s)}h&&l.restore()}(h,v,0,0,b,e),{gx:h,gy:v,rot:M,info:b}));if(D)return D}}return null}(a.list[v]),i=!D(\"wordclouddrawn\",!0,{item:a.list[v],drawn:o});if(O()||i)return E(Y),a.abort(),D(\"wordcloudabort\",!1),D(\"wordcloudstop\",!1),void B(\"wordcloudstart\",X);v++,Y=I(e,a.wait)}}),a.wait)}}()}function R(t,e){return\"hsl(\"+(360*Math.random()).toFixed()+\",\"+(30*Math.random()+70).toFixed()+\"%,\"+(Math.random()*(e-t)+t).toFixed()+\"%)\"}};s.isSupported=i,s.minFontSize=r;const l=s;if(!l.isSupported)throw new Error(\"Sorry your browser not support wordCloud\");o.registerLayout((function(t,e){t.eachSeriesByType(\"wordCloud\",(function(a){var i=o.helper.getLayoutRect(a.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()}),r=a.getData(),n=document.createElement(\"canvas\");n.width=i.width,n.height=i.height;var s=n.getContext(\"2d\"),d=a.get(\"maskImage\");if(d)try{s.drawImage(d,0,0,n.width,n.height),function(t){for(var e=t.getContext(\"2d\"),a=e.getImageData(0,0,t.width,t.height),o=e.createImageData(a),i=0,r=0,n=0;n<a.data.length;n+=4)a.data[n+3]>128&&(i+=l=a.data[n]+a.data[n+1]+a.data[n+2],++r);var s=i/r;for(n=0;n<a.data.length;n+=4){var l=a.data[n]+a.data[n+1]+a.data[n+2];a.data[n+3]<128||l>s?(o.data[n]=0,o.data[n+1]=0,o.data[n+2]=0,o.data[n+3]=0):(o.data[n]=255,o.data[n+1]=255,o.data[n+2]=255,o.data[n+3]=255)}e.putImageData(o,0,0)}(n)}catch(t){console.error(\"Invalid mask image\"),console.error(t.toString())}var u=a.get(\"sizeRange\"),f=a.get(\"rotationRange\"),c=r.getDataExtent(\"value\"),h=Math.PI/180,m=a.get(\"gridSize\");function g(t){var e=t.detail.item;t.detail.drawn&&a.layoutInstance.ondraw&&(t.detail.drawn.gx+=i.x/m,t.detail.drawn.gy+=i.y/m,a.layoutInstance.ondraw(e[0],e[1],e[2],t.detail.drawn))}l(n,{list:r.mapArray(\"value\",(function(t,e){var a=r.getItemModel(e);return[r.getName(e),a.get(\"textStyle.fontSize\",!0)||o.number.linearMap(t,c,u),e]})).sort((function(t,e){return e[1]-t[1]})),fontFamily:a.get(\"textStyle.fontFamily\")||a.get(\"emphasis.textStyle.fontFamily\")||t.get(\"textStyle.fontFamily\"),fontWeight:a.get(\"textStyle.fontWeight\")||a.get(\"emphasis.textStyle.fontWeight\")||t.get(\"textStyle.fontWeight\"),gridSize:m,ellipticity:i.height/i.width,minRotation:f[0]*h,maxRotation:f[1]*h,clearCanvas:!d,rotateRatio:1,rotationStep:a.get(\"rotationStep\")*h,drawOutOfBound:a.get(\"drawOutOfBound\"),layoutAnimation:a.get(\"layoutAnimation\"),shuffle:!1,shape:a.get(\"shape\")}),n.addEventListener(\"wordclouddrawn\",g),a.layoutInstance&&a.layoutInstance.dispose(),a.layoutInstance={ondraw:null,dispose:function(){n.removeEventListener(\"wordclouddrawn\",g),n.addEventListener(\"wordclouddrawn\",(function(t){t.preventDefault()}))}}}))})),o.registerPreprocessor((function(t){var e=(t||{}).series;!o.util.isArray(e)&&(e=e?[e]:[]);var a=[\"shadowColor\",\"shadowBlur\",\"shadowOffsetX\",\"shadowOffsetY\"];function i(t){t&&o.util.each(a,(function(e){t.hasOwnProperty(e)&&(t[\"text\"+o.format.capitalFirst(e)]=t[e])}))}o.util.each(e,(function(t){if(t&&\"wordCloud\"===t.type){var e=t.textStyle||{};i(e.normal),i(e.emphasis)}}))}))},83:e=>{e.exports=t}},a={};function o(t){if(a[t])return a[t].exports;var i=a[t]={exports:{}};return e[t](i,i.exports,o),i.exports}return o.r=t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},o(638)})()}));\r\n//# sourceMappingURL=echarts-wordcloud.min.js.map"]}]} |