certificates.js 72 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511
  1. (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["pages/form/certificates"],{
  2. /***/ 75:
  3. /*!********************************************************************!*\
  4. !*** D:/gsxm/ezred/main.js?{"page":"pages%2Fform%2Fcertificates"} ***!
  5. \********************************************************************/
  6. /*! no static exports found */
  7. /***/ (function(module, exports, __webpack_require__) {
  8. "use strict";
  9. /* WEBPACK VAR INJECTION */(function(createPage) {__webpack_require__(/*! uni-pages */ 4);
  10. var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 2));
  11. var _certificates = _interopRequireDefault(__webpack_require__(/*! ./pages/form/certificates.vue */ 76));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
  12. createPage(_certificates.default);
  13. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-toutiao/dist/index.js */ 1)["createPage"]))
  14. /***/ }),
  15. /***/ 76:
  16. /*!*************************************************!*\
  17. !*** D:/gsxm/ezred/pages/form/certificates.vue ***!
  18. \*************************************************/
  19. /*! no static exports found */
  20. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  21. "use strict";
  22. __webpack_require__.r(__webpack_exports__);
  23. /* harmony import */ var _certificates_vue_vue_type_template_id_6b8bae7e___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./certificates.vue?vue&type=template&id=6b8bae7e& */ 77);
  24. /* harmony import */ var _certificates_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./certificates.vue?vue&type=script&lang=js& */ 79);
  25. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _certificates_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _certificates_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  26. /* harmony import */ var _certificates_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./certificates.vue?vue&type=style&index=0&lang=scss& */ 82);
  27. /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);
  28. var renderjs
  29. /* normalize component */
  30. var component = Object(_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
  31. _certificates_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
  32. _certificates_vue_vue_type_template_id_6b8bae7e___WEBPACK_IMPORTED_MODULE_0__["render"],
  33. _certificates_vue_vue_type_template_id_6b8bae7e___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
  34. false,
  35. null,
  36. null,
  37. null,
  38. false,
  39. _certificates_vue_vue_type_template_id_6b8bae7e___WEBPACK_IMPORTED_MODULE_0__["components"],
  40. renderjs
  41. )
  42. component.options.__file = "pages/form/certificates.vue"
  43. /* harmony default export */ __webpack_exports__["default"] = (component.exports);
  44. /***/ }),
  45. /***/ 77:
  46. /*!********************************************************************************!*\
  47. !*** D:/gsxm/ezred/pages/form/certificates.vue?vue&type=template&id=6b8bae7e& ***!
  48. \********************************************************************************/
  49. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  50. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  51. "use strict";
  52. __webpack_require__.r(__webpack_exports__);
  53. /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_certificates_vue_vue_type_template_id_6b8bae7e___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--16-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./certificates.vue?vue&type=template&id=6b8bae7e& */ 78);
  54. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_certificates_vue_vue_type_template_id_6b8bae7e___WEBPACK_IMPORTED_MODULE_0__["render"]; });
  55. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_certificates_vue_vue_type_template_id_6b8bae7e___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  56. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_certificates_vue_vue_type_template_id_6b8bae7e___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  57. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_certificates_vue_vue_type_template_id_6b8bae7e___WEBPACK_IMPORTED_MODULE_0__["components"]; });
  58. /***/ }),
  59. /***/ 78:
  60. /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  61. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--16-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/gsxm/ezred/pages/form/certificates.vue?vue&type=template&id=6b8bae7e& ***!
  62. \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  63. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  64. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  65. "use strict";
  66. __webpack_require__.r(__webpack_exports__);
  67. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  68. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  69. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  70. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  71. var components
  72. var render = function() {
  73. var _vm = this
  74. var _h = _vm.$createElement
  75. var _c = _vm._self._c || _h
  76. }
  77. var recyclableRender = false
  78. var staticRenderFns = []
  79. render._withStripped = true
  80. /***/ }),
  81. /***/ 79:
  82. /*!**************************************************************************!*\
  83. !*** D:/gsxm/ezred/pages/form/certificates.vue?vue&type=script&lang=js& ***!
  84. \**************************************************************************/
  85. /*! no static exports found */
  86. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  87. "use strict";
  88. __webpack_require__.r(__webpack_exports__);
  89. /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_certificates_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./certificates.vue?vue&type=script&lang=js& */ 80);
  90. /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_certificates_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_certificates_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
  91. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_certificates_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_certificates_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  92. /* harmony default export */ __webpack_exports__["default"] = (_E_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_certificates_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a);
  93. /***/ }),
  94. /***/ 80:
  95. /*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  96. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/gsxm/ezred/pages/form/certificates.vue?vue&type=script&lang=js& ***!
  97. \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  98. /*! no static exports found */
  99. /***/ (function(module, exports, __webpack_require__) {
  100. "use strict";
  101. /* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _regenerator = _interopRequireDefault(__webpack_require__(/*! ./node_modules/@babel/runtime/regenerator */ 23));
  102. var _train = __webpack_require__(/*! @/api/train.js */ 81);
  103. var _wxAuthorized = __webpack_require__(/*! @/utils/wxAuthorized.js */ 28);
  104. var _user = __webpack_require__(/*! @/api/user.js */ 27);
  105. var _vuex = __webpack_require__(/*! vuex */ 6);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {try {var info = gen[key](arg);var value = info.value;} catch (error) {reject(error);return;}if (info.done) {resolve(value);} else {Promise.resolve(value).then(_next, _throw);}}function _asyncToGenerator(fn) {return function () {var self = this,args = arguments;return new Promise(function (resolve, reject) {var gen = fn.apply(self, args);function _next(value) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);}function _throw(err) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);}_next(undefined);});};}function ownKeys(object, enumerableOnly) {var keys = Object.keys(object);if (Object.getOwnPropertySymbols) {var symbols = Object.getOwnPropertySymbols(object);if (enumerableOnly) symbols = symbols.filter(function (sym) {return Object.getOwnPropertyDescriptor(object, sym).enumerable;});keys.push.apply(keys, symbols);}return keys;}function _objectSpread(target) {for (var i = 1; i < arguments.length; i++) {var source = arguments[i] != null ? arguments[i] : {};if (i % 2) {ownKeys(Object(source), true).forEach(function (key) {_defineProperty(target, key, source[key]);});} else if (Object.getOwnPropertyDescriptors) {Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));} else {ownKeys(Object(source)).forEach(function (key) {Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));});}}return target;}function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}var jyfParser = function jyfParser() {Promise.all(/*! require.ensure | components/jyf-parser/jyf-parser */[__webpack_require__.e("common/vendor"), __webpack_require__.e("components/jyf-parser/jyf-parser")]).then((function () {return resolve(__webpack_require__(/*! @/components/jyf-parser/jyf-parser */ 430));}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);};var empty = function empty() {__webpack_require__.e(/*! require.ensure | components/empty */ "components/empty").then((function () {return resolve(__webpack_require__(/*! @/components/empty */ 423));}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);};var _default =
  106. {
  107. components: {
  108. empty: empty,
  109. jyfParser: jyfParser },
  110. data: function data() {
  111. return {
  112. is_over: 1,
  113. type: '', //0是个人报名,1是团体报名
  114. id: '',
  115. description: '',
  116. list: '',
  117. //个人
  118. name: '',
  119. phone: '',
  120. addr: '',
  121. work: '',
  122. //团队
  123. company: '',
  124. address: '',
  125. companyName: '',
  126. companyphone: '',
  127. num: '',
  128. people: '鄂州市红十字会',
  129. signDate: '',
  130. loading: true, //是否载入图片中
  131. size: 180,
  132. ratio: 1, //页面比例用于计算
  133. canHeight: '',
  134. canWeidth: '',
  135. url: '',
  136. img: '', //反面的图片
  137. img1: '', //正面的图片
  138. showcanvas: true,
  139. uid: '',
  140. cardId: '',
  141. no: '',
  142. image: '',
  143. sex: '' };
  144. },
  145. onLoad: function onLoad(option) {
  146. this.type = option.type;
  147. this.id = option.id;
  148. this.IndexShare();
  149. this.loadData();
  150. },
  151. onReady: function onReady() {var _this = this;
  152. (0, _train.detail_training)({
  153. id: this.id }).
  154. then(function (_ref) {var data = _ref.data;
  155. console.log(999, data);
  156. _this.name = data.name;
  157. _this.signDate = data.add_time;
  158. _this.is_over = data.is_over;
  159. _this.cardId = data.card_id;
  160. _this.no = data.no;
  161. if (data.sex == 0) {
  162. _this.sex = '男';
  163. } else if (data.sex == 1) {
  164. _this.sex == '女';
  165. }
  166. _this.image = data.img;
  167. console.log(3, data.add_time);
  168. var obj = _this;
  169. var name = obj.name;
  170. var signDate = getRecTime(obj.signDate, 'yyyy-MM-dd');
  171. function getRecTime(timestamp, fmt) {
  172. var d = new Date(timestamp * 1000);
  173. // f = fmt || 'yyyy/MM/dd',
  174. var f = fmt || 'yyyy.MM.dd';
  175. var o = {
  176. 'M+': d.getMonth() + 1, //月份
  177. 'd+': d.getDate(), //日
  178. 'h+': d.getHours(), //小时
  179. 'm+': d.getMinutes(), //分
  180. 's+': d.getSeconds(), //秒
  181. 'q+': Math.floor((d.getMonth() + 3) / 3), //季度
  182. 'S': d.getMilliseconds() //毫秒
  183. };
  184. if (/(y+)/.test(f)) {
  185. f = f.replace(RegExp.$1, (d.getFullYear() + '').substr(4 - RegExp.$1.length));
  186. }
  187. for (var k in o) {
  188. if (new RegExp('(' + k + ')').test(f)) {
  189. f = f.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length));
  190. }
  191. }
  192. return f;
  193. console.log(f);
  194. }
  195. var m = getRecTime(signDate);
  196. var query = uni.createSelectorQuery();
  197. // this.loadData();
  198. // 获取页面比例
  199. query.
  200. select('.certificates').
  201. fields({
  202. size: true },
  203. function (e) {
  204. console.log('获取页面比例', e);
  205. // 保存比例
  206. _this.ratio = e.width / 750;
  207. }).
  208. exec();
  209. // 获取画布宽高信息
  210. query.
  211. select('#qrShareBox').
  212. fields({
  213. size: true },
  214. function (e) {
  215. console.log('获取画布宽高信息', e);
  216. obj.canHeight = e.height;
  217. obj.canWeidth = e.width;
  218. }).
  219. exec();
  220. var ctxBg1 = '/index/static/img/graduation.jpg';
  221. var ctxBg = '/index/static/img/graduationB.jpg'; //画布背景
  222. var context = uni.createCanvasContext('qrShareBox');
  223. // 插入背景图片
  224. context.drawImage(ctxBg1, 0, 0, obj.canWeidth, 500 * obj.ratio);
  225. context.drawImage(obj.image, 60 * obj.ratio, 205 * obj.ratio, 150 * obj.ratio, 200 * obj.ratio);
  226. context.drawImage(ctxBg, 0, 640 * obj.ratio, obj.canWeidth, 500 * obj.ratio);
  227. // // 插入文字
  228. // context.setFontSize(22 * obj.ratio);
  229. // context.fillText(obj.name,340 * obj.ratio,205 * obj.ratio)
  230. // context.fillText(obj.sex,540 * obj.ratio,205 * obj.ratio)
  231. // context.fillText(obj.cardId,370 * obj.ratio,280 * obj.ratio)
  232. // context.fillText(obj.no,370 * obj.ratio,345 * obj.ratio)
  233. // context.fillText(signDate,370 * obj.ratio,410 * obj.ratio)
  234. // context.fillText("三 年",560 * obj.ratio,410 * obj.ratio)
  235. context.setFontSize(22 * obj.ratio);
  236. context.setTextAlign('center');
  237. context.fillText(obj.name, 400 * obj.ratio, 205 * obj.ratio);
  238. context.setTextAlign('left');
  239. context.fillText(obj.sex, 570 * obj.ratio, 205 * obj.ratio);
  240. context.fillText(obj.cardId, 375 * obj.ratio, 280 * obj.ratio);
  241. context.fillText(obj.no, 415 * obj.ratio, 345 * obj.ratio);
  242. context.fillText(signDate, 365 * obj.ratio, 410 * obj.ratio);
  243. context.fillText("三 年", 560 * obj.ratio, 410 * obj.ratio);
  244. context.draw(false, function (e) {
  245. uni.canvasToTempFilePath({
  246. x: 0,
  247. y: 0,
  248. width: obj.canWeidth,
  249. height: obj.canHeight,
  250. destWidth: obj.canWeidth,
  251. destHeight: obj.canHeight,
  252. canvasId: 'qrShareBox',
  253. success: function success(res) {
  254. console.log(res);
  255. // uni.showModal({
  256. // title:'zhi1'
  257. // })
  258. // 在H5平台下,tempFilePath 为 base64
  259. // console.log(res.tempFilePath)
  260. obj.showcanvas = false;
  261. obj.img = res.tempFilePath;
  262. } });
  263. });
  264. });
  265. },
  266. onShow: function onShow() {
  267. this.uid = this.userInfo.uid;
  268. console.log('this.uid', this.uid);
  269. },
  270. computed: _objectSpread({},
  271. (0, _vuex.mapState)('user', ['hasLogin', 'userInfo'])),
  272. methods: _objectSpread(_objectSpread({},
  273. (0, _vuex.mapMutations)('user', ['setUserInfo'])), {}, {
  274. // 分享
  275. IndexShare: function IndexShare() {
  276. var obj = this;
  277. var item = {
  278. link: 'http://ez.igxys.com/index/#/pages/train/sign?type=' + obj.type + '&id=' + obj.id + '&uid=' + obj.userInfo.uid, // 分享链接
  279. imgUrl: 'http://ez.igxys.com/index/static/img/002.png',
  280. desc: '结业证书',
  281. title: '鄂州市红十字会' };
  282. console.log('分享加', item);
  283. (0, _wxAuthorized.weixindata)(item);
  284. },
  285. loadData: function loadData() {var _this2 = this;return _asyncToGenerator( /*#__PURE__*/_regenerator.default.mark(function _callee() {var obj, uid;return _regenerator.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:
  286. obj = _this2;
  287. console.log('当前is_over', obj.is_over);
  288. if (obj.is_over == 1) {
  289. uid = obj.userInfo.uid;
  290. console.log(9090, uid);
  291. }
  292. (0, _train.get_training)({
  293. id: obj.id
  294. // uid:uid
  295. }).then(function (_ref2) {var data = _ref2.data;
  296. obj.list = data;
  297. console.log(9988, data);
  298. if (obj.list.content != null) {
  299. obj.description = obj.list.content.replace(/<img/g, "<img style='max-width:100%;height:auto;'");
  300. }
  301. });case 4:case "end":return _context.stop();}}}, _callee);}))();
  302. },
  303. submit: function submit() {
  304. var obj = this;
  305. var data = {};
  306. if (obj.type == 0) {
  307. if (!obj.name) {
  308. obj.$api.msg('请填写姓名!');
  309. return;
  310. }
  311. if (!obj.phone) {
  312. obj.$api.msg('请输入联系方式!');
  313. return;
  314. }
  315. if (!obj.addr) {
  316. obj.$api.msg('请输入联系方式!');
  317. return;
  318. }
  319. data = {
  320. name: obj.name,
  321. work: obj.addr,
  322. phone: obj.phone,
  323. tid: obj.id,
  324. type: 0 };
  325. }
  326. if (obj.type == 1) {
  327. if (!obj.company) {
  328. obj.$api.msg('请填写企业名称!');
  329. return;
  330. }
  331. if (!obj.address) {
  332. obj.$api.msg('请填写企业地址!');
  333. return;
  334. }
  335. if (!obj.companyName) {
  336. obj.$api.msg('请填写负责人姓名!');
  337. return;
  338. }
  339. if (!obj.companyphone) {
  340. obj.$api.msg('请输入联系方式!');
  341. return;
  342. }
  343. if (!obj.num) {
  344. obj.$api.msg('请输入参加培训人数!');
  345. return;
  346. }
  347. data = {
  348. company: obj.company,
  349. address: obj.address,
  350. name: obj.companyName,
  351. phone: obj.companyphone,
  352. num: obj.num,
  353. tid: obj.id,
  354. type: 1 };
  355. }
  356. (0, _train.sign_training)(data).then(function (e) {
  357. console.log(data.type);
  358. var type = data.type;
  359. uni.setStorageSync('type', type);
  360. obj.$api.msg(e.msg);
  361. setTimeout(function () {
  362. uni.navigateTo({
  363. url: '/pages/train/index' });
  364. }, 1000);
  365. }).catch(function (e) {
  366. obj.$api.msg(e.message);
  367. setTimeout(function () {
  368. uni.navigateTo({
  369. url: '/pages/train/index' });
  370. }, 1000);
  371. });;
  372. },
  373. getRecTime: function getRecTime(timestamp, fmt) {
  374. var d = new Date(timestamp * 1000),
  375. // f = fmt || 'yyyy/MM/dd',
  376. f = fmt || 'yyyy.MM.dd hh:mm:ss',
  377. o = {
  378. 'M+': d.getMonth() + 1, //月份
  379. 'd+': d.getDate(), //日
  380. 'h+': d.getHours(), //小时
  381. 'm+': d.getMinutes(), //分
  382. 's+': d.getSeconds(), //秒
  383. 'q+': Math.floor((d.getMonth() + 3) / 3), //季度
  384. 'S': d.getMilliseconds() //毫秒
  385. };
  386. if (/(y+)/.test(f)) {
  387. f = f.replace(RegExp.$1, (d.getFullYear() + '').substr(4 - RegExp.$1.length));
  388. }
  389. for (var k in o) {
  390. if (new RegExp('(' + k + ')').test(f)) {
  391. f = f.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length));
  392. }
  393. }
  394. return f;
  395. console.log(f);
  396. } }) };exports.default = _default;
  397. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-toutiao/dist/index.js */ 1)["default"]))
  398. /***/ }),
  399. /***/ 82:
  400. /*!***********************************************************************************!*\
  401. !*** D:/gsxm/ezred/pages/form/certificates.vue?vue&type=style&index=0&lang=scss& ***!
  402. \***********************************************************************************/
  403. /*! no static exports found */
  404. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  405. "use strict";
  406. __webpack_require__.r(__webpack_exports__);
  407. /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_certificates_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./certificates.vue?vue&type=style&index=0&lang=scss& */ 83);
  408. /* harmony import */ var _E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_certificates_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_certificates_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
  409. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_certificates_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_certificates_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  410. /* harmony default export */ __webpack_exports__["default"] = (_E_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_E_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_E_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_E_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_certificates_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default.a);
  411. /***/ }),
  412. /***/ 83:
  413. /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  414. !*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/gsxm/ezred/pages/form/certificates.vue?vue&type=style&index=0&lang=scss& ***!
  415. \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  416. /*! no static exports found */
  417. /***/ (function(module, exports, __webpack_require__) {
  418. // extracted by mini-css-extract-plugin
  419. if(false) { var cssReload; }
  420. /***/ })
  421. },[[75,"common/runtime","common/vendor"]]]);
  422. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vbWFpbi5qcyIsIndlYnBhY2s6Ly8vRDovZ3N4bS9lenJlZC9wYWdlcy9mb3JtL2NlcnRpZmljYXRlcy52dWU/YWU5ZiIsIndlYnBhY2s6Ly8vRDovZ3N4bS9lenJlZC9wYWdlcy9mb3JtL2NlcnRpZmljYXRlcy52dWU/YzA0OCIsIndlYnBhY2s6Ly8vRDovZ3N4bS9lenJlZC9wYWdlcy9mb3JtL2NlcnRpZmljYXRlcy52dWU/NGY5MCIsIndlYnBhY2s6Ly8vRDovZ3N4bS9lenJlZC9wYWdlcy9mb3JtL2NlcnRpZmljYXRlcy52dWU/ZmYzZCIsInVuaS1hcHA6Ly8vcGFnZXMvZm9ybS9jZXJ0aWZpY2F0ZXMudnVlIiwid2VicGFjazovLy9EOi9nc3htL2V6cmVkL3BhZ2VzL2Zvcm0vY2VydGlmaWNhdGVzLnZ1ZT8wZmNmIiwid2VicGFjazovLy9EOi9nc3htL2V6cmVkL3BhZ2VzL2Zvcm0vY2VydGlmaWNhdGVzLnZ1ZT9kYjg5Il0sIm5hbWVzIjpbImNyZWF0ZVBhZ2UiLCJQYWdlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O2tEQUFBO0FBQ0E7QUFDQSx5RztBQUNBQSxVQUFVLENBQUNDLHFCQUFELENBQVYsQzs7Ozs7Ozs7Ozs7OztBQ0hBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUF5SDtBQUN6SDtBQUNnRTtBQUNMO0FBQ2M7OztBQUd6RTtBQUNxSztBQUNySyxnQkFBZ0IsK0tBQVU7QUFDMUIsRUFBRSxrRkFBTTtBQUNSLEVBQUUsdUZBQU07QUFDUixFQUFFLGdHQUFlO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLDJGQUFVO0FBQ1o7QUFDQTs7QUFFQTtBQUNlLGdGOzs7Ozs7Ozs7Ozs7QUN2QmY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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QWdCLGtsQ0FBRyxFQUFDLEM7Ozs7Ozs7Ozs7O0FDQTVuQztBQUNBLE9BQU8sS0FBVSxFQUFFLGtCQUtkIiwiZmlsZSI6InBhZ2VzL2Zvcm0vY2VydGlmaWNhdGVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICd1bmktcGFnZXMnO1xuaW1wb3J0IFZ1ZSBmcm9tICd2dWUnXG5pbXBvcnQgUGFnZSBmcm9tICcuL3BhZ2VzL2Zvcm0vY2VydGlmaWNhdGVzLnZ1ZSdcbmNyZWF0ZVBhZ2UoUGFnZSkiLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2NlcnRpZmljYXRlcy52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NmI4YmFlN2UmXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9jZXJ0aWZpY2F0ZXMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9jZXJ0aWZpY2F0ZXMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL2NlcnRpZmljYXRlcy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZsYW5nPXNjc3MmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIUU6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxccnVudGltZVxcXFxjb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgZmFsc2UsXG4gIGNvbXBvbmVudHMsXG4gIHJlbmRlcmpzXG4pXG5cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwicGFnZXMvZm9ybS9jZXJ0aWZpY2F0ZXMudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiZXhwb3J0ICogZnJvbSBcIi0hRTpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxsb2FkZXJzXFxcXHRlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhRTpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTE2LTAhRTpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHdlYnBhY2stdW5pLW1wLWxvYWRlclxcXFxsaWJcXFxcdGVtcGxhdGUuanMhRTpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXVuaS1hcHAtbG9hZGVyXFxcXHBhZ2UtbWV0YS5qcyFFOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhRTpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHdlYnBhY2stdW5pLW1wLWxvYWRlclxcXFxsaWJcXFxcc3R5bGUuanMhLi9jZXJ0aWZpY2F0ZXMudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTZiOGJhZTdlJlwiIiwidmFyIGNvbXBvbmVudHNcbnZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxufVxudmFyIHJlY3ljbGFibGVSZW5kZXIgPSBmYWxzZVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSIsImltcG9ydCBtb2QgZnJvbSBcIi0hRTpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFFOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tMTItMSFFOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcd2VicGFjay11bmktbXAtbG9hZGVyXFxcXGxpYlxcXFxzY3JpcHQuanMhRTpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIUU6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx3ZWJwYWNrLXVuaS1tcC1sb2FkZXJcXFxcbGliXFxcXHN0eWxlLmpzIS4vY2VydGlmaWNhdGVzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSFFOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxiYWJlbC1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzIUU6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlclxcXFxpbmRleC5qcz8/cmVmLS0xMi0xIUU6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx3ZWJwYWNrLXVuaS1tcC1sb2FkZXJcXFxcbGliXFxcXHNjcmlwdC5qcyFFOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhRTpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHdlYnBhY2stdW5pLW1wLWxvYWRlclxcXFxsaWJcXFxcc3R5bGUuanMhLi9jZXJ0aWZpY2F0ZXMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiPHRlbXBsYXRlPlxuXHQ8dmlldyBjbGFzcz1cImNvbnRlbnRcIj5cblx0XHQ8dmlldyBjbGFzcz1cInRlYW1cIiB2LWlmPVwiIWlzX292ZXJcIj5cblx0XHRcdDxlbXB0eT48L2VtcHR5PlxuXHRcdDwvdmlldz5cblx0XHQ8dmlldyBjbGFzcz1cImNlcnRpZmljYXRlc1wiIHYtaWY9J2lzX292ZXInPlxuXHRcdFx0XG5cdFx0XHQ8Y2FudmFzIHYtaWY9XCJzaG93Y2FudmFzXCIgaWQ9XCJxclNoYXJlQm94XCIgY2FudmFzLWlkPVwicXJTaGFyZUJveFwiIGNsYXNzPVwidGtpLXFyY29kZS1jYW52YXNcIiAvPlxyXG5cdFx0XHRcclxuXHRcdFx0PHZpZXcgdi1lbHNlPlxyXG5cdFx0XHRcdDxpbWFnZSBjbGFzcz1cImltZ2JveFwiIDpzcmM9XCJpbWdcIiBtb2RlPVwiIGFzcGVjdEZpbGxcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFxyXG5cdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcblx0XHQ8L3ZpZXc+XG5cblx0PC92aWV3PlxuPC90ZW1wbGF0ZT5cbjxzY3JpcHQ+XG5pbXBvcnQgeyBnZXRfdHJhaW5pbmcsIHNpZ25fdHJhaW5pbmcsIGRldGFpbF90cmFpbmluZ30gZnJvbSAnQC9hcGkvdHJhaW4uanMnO1xuaW1wb3J0IGp5ZlBhcnNlciBmcm9tIFwiQC9jb21wb25lbnRzL2p5Zi1wYXJzZXIvanlmLXBhcnNlclwiO1xuaW1wb3J0IHtcblx0XHR3ZWl4aW5kYXRhLFxuXHRcdHdlaXhpbmxvY2F0aW9uXG5cdH0gZnJvbSAnQC91dGlscy93eEF1dGhvcml6ZWQuanMnO1xuXHRcdGltcG9ydCBlbXB0eSBmcm9tICdAL2NvbXBvbmVudHMvZW1wdHknO1xuXHRpbXBvcnQge1xuXHRcdHVzZXJpbmZvXG5cdH0gZnJvbSAnQC9hcGkvdXNlci5qcyc7XG5cdGltcG9ydCB7XG5cdFx0bWFwU3RhdGUsXG5cdFx0bWFwTXV0YXRpb25zXG5cdH0gZnJvbSAndnVleCc7XG5leHBvcnQgZGVmYXVsdCB7XG5cdGNvbXBvbmVudHM6IHtcblx0XHRlbXB0eSxcblx0ICBqeWZQYXJzZXJcblx0IH0sXG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdGlzX292ZXI6MSxcblx0XHRcdHR5cGU6JycsLy8w5piv5Liq5Lq65oql5ZCN77yMMeaYr+WbouS9k+aKpeWQjVxuXHRcdFx0aWQ6JycsXG5cdFx0XHRkZXNjcmlwdGlvbjonJyxcblx0XHRcdGxpc3Q6JycsXG5cdFx0XHQvL+S4quS6ulxuXHRcdFx0bmFtZTonJyxcblx0XHRcdHBob25lOicnLFxuXHRcdFx0YWRkcjonJyxcblx0XHRcdHdvcms6JycsXG5cdFx0XHQvL+WboumYn1xuXHRcdFx0Y29tcGFueTonJyxcblx0XHRcdGFkZHJlc3M6JycsXG5cdFx0XHRjb21wYW55TmFtZTonJyxcblx0XHRcdGNvbXBhbnlwaG9uZTonJyxcblx0XHRcdG51bTonJyxcblx0XHRcdHBlb3BsZTon6YSC5bee5biC57qi5Y2B5a2X5LyaJyxcblx0XHRcdHNpZ25EYXRlOicnLFxuXHRcdFx0bG9hZGluZzogdHJ1ZSwgLy/mmK/lkKbovb3lhaXlm77niYfkuK1cblx0XHRcdHNpemU6IDE4MCxcblx0XHRcdHJhdGlvOiAxLCAvL+mhtemdouavlOS+i+eUqOS6juiuoeeul1xuXHRcdFx0Y2FuSGVpZ2h0OiAnJyxcblx0XHRcdGNhbldlaWR0aDogJycsXG5cdFx0XHR1cmw6JycsXG5cdFx0XHRpbWc6JycsLy/lj43pnaLnmoTlm77niYdcclxuXHRcdFx0aW1nMTonJywvL+ato+mdoueahOWbvueJh1xuXHRcdFx0c2hvd2NhbnZhczp0cnVlLFxuXHRcdFx0dWlkOicnLFxyXG5cdFx0XHRjYXJkSWQ6JycsXHJcblx0XHRcdG5vOicnLFxyXG5cdFx0XHRpbWFnZTonJyxcclxuXHRcdFx0c2V4OicnLFxuXHRcdH07XG5cdH0sXG5cdG9uTG9hZChvcHRpb24pIHtcblx0XHR0aGlzLnR5cGUgPSBvcHRpb24udHlwZTtcblx0XHR0aGlzLmlkID0gb3B0aW9uLmlkO1xuXHRcdHRoaXMuSW5kZXhTaGFyZSgpO1xuXHRcdHRoaXMubG9hZERhdGEoKTtcblx0XHRcblx0fSxcblx0b25SZWFkeSgpIHtcblx0XHRkZXRhaWxfdHJhaW5pbmcoe1xuXHRcdFx0aWQ6dGhpcy5pZCxcblx0XHR9KS50aGVuKCh7ZGF0YX0pID0+IHtcblx0XHRcdGNvbnNvbGUubG9nKDk5OSxkYXRhKVxuXHRcdFx0dGhpcy5uYW1lID0gZGF0YS5uYW1lXG5cdFx0XHR0aGlzLnNpZ25EYXRlID0gZGF0YS5hZGRfdGltZVxuXHRcdFx0dGhpcy5pc19vdmVyID0gZGF0YS5pc19vdmVyXHJcblx0XHRcdHRoaXMuY2FyZElkID0gZGF0YS5jYXJkX2lkXHJcblx0XHRcdHRoaXMubm8gPSBkYXRhLm5vXHJcblx0XHRcdGlmIChkYXRhLnNleCA9PSAwKXtcclxuXHRcdFx0XHR0aGlzLnNleCA9ICfnlLcnXHJcblx0XHRcdH1lbHNlIGlmIChkYXRhLnNleCA9PSAxKXtcclxuXHRcdFx0XHR0aGlzLnNleCA9PSAn5aWzJ1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMuaW1hZ2UgPSBkYXRhLmltZ1xuXHRcdGNvbnNvbGUubG9nKDMsZGF0YS5hZGRfdGltZSlcblx0XHRsZXQgb2JqID0gdGhpcztcblx0XHRsZXQgbmFtZSA9IG9iai5uYW1lXG5cdFx0bGV0IHNpZ25EYXRlID0gZ2V0UmVjVGltZShvYmouc2lnbkRhdGUsJ3l5eXktTU0tZGQnKVxuXHRcblx0XHRmdW5jdGlvbiBnZXRSZWNUaW1lKHRpbWVzdGFtcCwgZm10KSB7XG5cdFx0XHRsZXQgZCA9IG5ldyBEYXRlKHRpbWVzdGFtcCAqIDEwMDApXG5cdFx0XHRcdC8vIGYgPSBmbXQgfHwgJ3l5eXkvTU0vZGQnLCBcblx0XHRcdGxldFx0ZiA9IGZtdCB8fCAneXl5eS5NTS5kZCdcblx0XHRcdGxldFx0byA9IHtcblx0XHRcdFx0XHQnTSsnOiBkLmdldE1vbnRoKCkgKyAxLCAvL+aciOS7vSBcblx0XHRcdFx0XHQnZCsnOiBkLmdldERhdGUoKSwgLy/ml6UgXG5cdFx0XHRcdFx0J2grJzogZC5nZXRIb3VycygpLCAvL+Wwj+aXtiBcblx0XHRcdFx0XHQnbSsnOiBkLmdldE1pbnV0ZXMoKSwgLy/liIYgXG5cdFx0XHRcdFx0J3MrJzogZC5nZXRTZWNvbmRzKCksIC8v56eSIFxuXHRcdFx0XHRcdCdxKyc6IE1hdGguZmxvb3IoKGQuZ2V0TW9udGgoKSArIDMpIC8gMyksIC8v5a2j5bqmIFxuXHRcdFx0XHRcdCdTJzogZC5nZXRNaWxsaXNlY29uZHMoKSAvL+avq+enkiBcblx0XHRcdFx0fTtcblx0XHRcdGlmICgvKHkrKS8udGVzdChmKSkge1xuXHRcdFx0XHRmID0gZi5yZXBsYWNlKFJlZ0V4cC4kMSwgKGQuZ2V0RnVsbFllYXIoKSArICcnKS5zdWJzdHIoNCAtIFJlZ0V4cC4kMS5sZW5ndGgpKTtcblx0XHRcdH1cblx0XHRcdGZvciAobGV0IGsgaW4gbykge1xuXHRcdFx0XHRpZiAobmV3IFJlZ0V4cCgnKCcgKyBrICsgJyknKS50ZXN0KGYpKSB7XG5cdFx0XHRcdFx0ZiA9IGYucmVwbGFjZShSZWdFeHAuJDEsIChSZWdFeHAuJDEubGVuZ3RoID09PSAxKSA/IChvW2tdKSA6ICgoJzAwJyArIG9ba10pLnN1YnN0cigoJycgKyBvW2tdKS5sZW5ndGgpKSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHJldHVybiBmO1xuXHRcdFx0Y29uc29sZS5sb2coZilcblx0XHR9XG5cdFx0bGV0IG0gPSBnZXRSZWNUaW1lKHNpZ25EYXRlKVxuXHRcdGxldCBxdWVyeSA9IHVuaS5jcmVhdGVTZWxlY3RvclF1ZXJ5KCk7XG5cdFx0Ly8gdGhpcy5sb2FkRGF0YSgpO1xuXHRcdC8vIOiOt+WPlumhtemdouavlOS+i1xuXHRcdHF1ZXJ5XG5cdFx0XHQuc2VsZWN0KCcuY2VydGlmaWNhdGVzJylcblx0XHRcdC5maWVsZHMoe1xuXHRcdFx0XHRcdHNpemU6IHRydWVcblx0XHRcdFx0fSxcblx0XHRcdFx0ZSA9PiB7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ+iOt+WPlumhtemdouavlOS+iycsZSlcblx0XHRcdFx0XHQvLyDkv53lrZjmr5Tkvotcblx0XHRcdFx0XHR0aGlzLnJhdGlvID0gZS53aWR0aCAvIDc1MDtcblx0XHRcdFx0fVxuXHRcdFx0KVxuXHRcdFx0LmV4ZWMoKTtcblx0XHQvLyDojrflj5bnlLvluIPlrr3pq5jkv6Hmga9cblx0XHRxdWVyeVxuXHRcdFx0LnNlbGVjdCgnI3FyU2hhcmVCb3gnKVxuXHRcdFx0LmZpZWxkcyh7XG5cdFx0XHRcdFx0c2l6ZTogdHJ1ZVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRlID0+IHtcblx0XHRcdFx0XHRjb25zb2xlLmxvZygn6I635Y+W55S75biD5a696auY5L+h5oGvJyxlKVxuXHRcdFx0XHRcdG9iai5jYW5IZWlnaHQgPSBlLmhlaWdodDtcblx0XHRcdFx0XHRvYmouY2FuV2VpZHRoID0gZS53aWR0aDtcblx0XHRcdFx0fVxuXHRcdFx0KVxuXHRcdFx0LmV4ZWMoKTtcclxuXHRcdGxldCBjdHhCZzEgPSAnL2luZGV4L3N0YXRpYy9pbWcvZ3JhZHVhdGlvbi5qcGcnXG5cdFx0bGV0IGN0eEJnID0gJy9pbmRleC9zdGF0aWMvaW1nL2dyYWR1YXRpb25CLmpwZyc7IC8v55S75biD6IOM5pmvXG5cdFx0bGV0IGNvbnRleHQgPSB1bmkuY3JlYXRlQ2FudmFzQ29udGV4dCgncXJTaGFyZUJveCcpO1xuXHRcdC8vIOaPkuWFpeiDjOaZr+WbvueJh1xuXHRcdGNvbnRleHQuZHJhd0ltYWdlKGN0eEJnMSwgMCwgMCwgb2JqLmNhbldlaWR0aCAsIDUwMCpvYmoucmF0aW8pO1xyXG5cdFx0Y29udGV4dC5kcmF3SW1hZ2Uob2JqLmltYWdlLCA2MCAqIG9iai5yYXRpbywgMjA1ICogb2JqLnJhdGlvLDE1MCpvYmoucmF0aW8gLCAyMDAqb2JqLnJhdGlvKTtcclxuXHRcdGNvbnRleHQuZHJhd0ltYWdlKGN0eEJnLCAwLCA2NDAqb2JqLnJhdGlvLCBvYmouY2FuV2VpZHRoICwgNTAwKm9iai5yYXRpbyk7XHJcblx0XHQvLyAvLyDmj5LlhaXmloflrZdcclxuXHRcdC8vIGNvbnRleHQuc2V0Rm9udFNpemUoMjIgKiBvYmoucmF0aW8pO1xyXG5cdFx0Ly8gY29udGV4dC5maWxsVGV4dChvYmoubmFtZSwzNDAgKiBvYmoucmF0aW8sMjA1ICogb2JqLnJhdGlvKVxyXG5cdFx0Ly8gY29udGV4dC5maWxsVGV4dChvYmouc2V4LDU0MCAqIG9iai5yYXRpbywyMDUgKiBvYmoucmF0aW8pXHJcblx0XHQvLyBjb250ZXh0LmZpbGxUZXh0KG9iai5jYXJkSWQsMzcwICogb2JqLnJhdGlvLDI4MCAqIG9iai5yYXRpbylcclxuXHRcdC8vIGNvbnRleHQuZmlsbFRleHQob2JqLm5vLDM3MCAqIG9iai5yYXRpbywzNDUgKiBvYmoucmF0aW8pXHJcblx0XHQvLyBjb250ZXh0LmZpbGxUZXh0KHNpZ25EYXRlLDM3MCAqIG9iai5yYXRpbyw0MTAgKiBvYmoucmF0aW8pXHJcblx0XHQvLyBjb250ZXh0LmZpbGxUZXh0KFwi5LiJIOW5tFwiLDU2MCAqIG9iai5yYXRpbyw0MTAgKiBvYmoucmF0aW8pXHJcblx0XHRcclxuXHRcdGNvbnRleHQuc2V0Rm9udFNpemUoMjIgKiBvYmoucmF0aW8pO1xyXG5cdFx0Y29udGV4dC5zZXRUZXh0QWxpZ24oJ2NlbnRlcicpXHJcblx0XHRjb250ZXh0LmZpbGxUZXh0KG9iai5uYW1lLDQwMCAqIG9iai5yYXRpbywyMDUgKiBvYmoucmF0aW8pXHJcblx0XHRjb250ZXh0LnNldFRleHRBbGlnbignbGVmdCcpXHJcblx0XHRjb250ZXh0LmZpbGxUZXh0KG9iai5zZXgsNTcwICogb2JqLnJhdGlvLDIwNSAqIG9iai5yYXRpbylcclxuXHRcdGNvbnRleHQuZmlsbFRleHQob2JqLmNhcmRJZCwzNzUgKiBvYmoucmF0aW8sMjgwICogb2JqLnJhdGlvKVxyXG5cdFx0Y29udGV4dC5maWxsVGV4dChvYmoubm8sNDE1ICogb2JqLnJhdGlvLDM0NSAqIG9iai5yYXRpbylcclxuXHRcdGNvbnRleHQuZmlsbFRleHQoc2lnbkRhdGUsMzY1ICogb2JqLnJhdGlvLDQxMCAqIG9iai5yYXRpbylcclxuXHRcdGNvbnRleHQuZmlsbFRleHQoXCLkuIkg5bm0XCIsNTYwICogb2JqLnJhdGlvLDQxMCAqIG9iai5yYXRpbylcblx0XHRjb250ZXh0LmRyYXcoZmFsc2UsKGUpID0+IHtcblx0XHRcdHVuaS5jYW52YXNUb1RlbXBGaWxlUGF0aCh7XG5cdFx0XHQgIHg6IDAsXG5cdFx0XHQgIHk6IDAsXG5cdFx0XHQgIHdpZHRoOiBvYmouY2FuV2VpZHRoLFxuXHRcdFx0ICBoZWlnaHQ6IG9iai5jYW5IZWlnaHQsXG5cdFx0XHQgIGRlc3RXaWR0aDogb2JqLmNhbldlaWR0aCxcblx0XHRcdCAgZGVzdEhlaWdodDogb2JqLmNhbkhlaWdodCxcblx0XHRcdCAgY2FudmFzSWQ6ICdxclNoYXJlQm94Jyxcblx0XHRcdCAgc3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0ICBjb25zb2xlLmxvZyhyZXMpXG5cdFx0XHRcdFx0Ly8gdW5pLnNob3dNb2RhbCh7XG5cdFx0XHRcdFx0Ly8gXHR0aXRsZTonemhpMSdcblx0XHRcdFx0XHQvLyB9KVxuXHRcdFx0ICAgIC8vIOWcqEg15bmz5Y+w5LiL77yMdGVtcEZpbGVQYXRoIOS4uiBiYXNlNjRcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhyZXMudGVtcEZpbGVQYXRoKVxuXHRcdFx0XHRcdG9iai5zaG93Y2FudmFzID0gZmFsc2U7XG5cdFx0XHRcdFx0b2JqLmltZyA9IHJlcy50ZW1wRmlsZVBhdGhcblx0XHRcdCAgfSBcblx0XHRcdH0pXG5cdFx0fSlcblx0XHR9KVxuXHRcblx0fSxcblxuXHRvblNob3coKSB7XG5cdFx0dGhpcy51aWQgPSB0aGlzLnVzZXJJbmZvLnVpZDtcblx0XHRjb25zb2xlLmxvZygndGhpcy51aWQnLHRoaXMudWlkKVxuXHR9LFxuXHRjb21wdXRlZDoge1xuXHRcdC4uLm1hcFN0YXRlKCd1c2VyJywgWydoYXNMb2dpbicsICd1c2VySW5mbyddKVxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0Li4ubWFwTXV0YXRpb25zKCd1c2VyJywgWydzZXRVc2VySW5mbyddKSxcblx0XHQvLyDliIbkuqtcblx0XHRJbmRleFNoYXJlKCkge1xuXHRcdFx0bGV0IG9iaiA9IHRoaXM7XG5cdFx0XHRsZXQgaXRlbSA9IHtcblx0XHRcdFx0bGluazogICdodHRwOi8vZXouaWd4eXMuY29tL2luZGV4LyMvcGFnZXMvdHJhaW4vc2lnbj90eXBlPScgKyBvYmoudHlwZSArICcmaWQ9JyArIG9iai5pZCArICcmdWlkPScgKyBvYmoudXNlckluZm8udWlkLC8vIOWIhuS6q+mTvuaOpVxuXHRcdFx0XHRpbWdVcmw6ICdodHRwOi8vZXouaWd4eXMuY29tL2luZGV4L3N0YXRpYy9pbWcvMDAyLnBuZycsXG5cdFx0XHRcdGRlc2M6ICfnu5PkuJror4HkuaYnLFxuXHRcdFx0XHR0aXRsZTogJ+mEguW3nuW4gue6ouWNgeWtl+S8micsXG5cdFx0XHR9O1xuXHRcdFx0Y29uc29sZS5sb2coJ+WIhuS6q+WKoCcsaXRlbSlcblx0XHRcdHdlaXhpbmRhdGEoaXRlbSk7XG5cdFx0fSxcblx0XHRhc3luYyBsb2FkRGF0YSgpIHtcblx0XHRcdGxldCBvYmogPSB0aGlzO1xuXHRcdFx0Y29uc29sZS5sb2coJ+W9k+WJjWlzX292ZXInLG9iai5pc19vdmVyKVxuXHRcdFx0aWYoIG9iai5pc19vdmVyID09IDEgKSB7XG5cdFx0XHRcdGxldCB1aWQgPSBvYmoudXNlckluZm8udWlkXG5cdFx0XHRcdGNvbnNvbGUubG9nKDkwOTAsdWlkKVxuXHRcdFx0fVxuXHRcdFx0Z2V0X3RyYWluaW5nKHtcblx0XHRcdFx0aWQ6b2JqLmlkLFxuXHRcdFx0XHQvLyB1aWQ6dWlkXG5cdFx0XHR9KS50aGVuKCh7IGRhdGEgfSkgPT4ge1xuXHRcdFx0XHRvYmoubGlzdCA9IGRhdGE7XG5cdFx0XHRcdGNvbnNvbGUubG9nKDk5ODgsZGF0YSlcblx0XHRcdFx0aWYob2JqLmxpc3QuY29udGVudCAhPSBudWxsKXtcblx0XHRcdFx0XHRvYmouZGVzY3JpcHRpb24gPSBvYmoubGlzdC5jb250ZW50LnJlcGxhY2UoLzxpbWcvZyxcIjxpbWcgc3R5bGU9J21heC13aWR0aDoxMDAlO2hlaWdodDphdXRvOydcIik7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdFxuXHRcdH0sXHRcdFxuXHRcdHN1Ym1pdCgpe1xuXHRcdFx0bGV0IG9iaiA9IHRoaXM7XG5cdFx0XHRsZXQgZGF0YSA9IHt9O1xuXHRcdFx0aWYob2JqLnR5cGU9PTApe1xuXHRcdFx0XHRpZighb2JqLm5hbWUpe1xuXHRcdFx0XHRcdG9iai4kYXBpLm1zZygn6K+35aGr5YaZ5aeT5ZCN77yBJyk7XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmKCFvYmoucGhvbmUpe1xuXHRcdFx0XHRcdG9iai4kYXBpLm1zZygn6K+36L6T5YWl6IGU57O75pa55byP77yBJyk7XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmKCFvYmouYWRkcil7XG5cdFx0XHRcdFx0b2JqLiRhcGkubXNnKCfor7fovpPlhaXogZTns7vmlrnlvI/vvIEnKTtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdFx0ZGF0YT17XG5cdFx0XHRcdFx0bmFtZTpvYmoubmFtZSxcblx0XHRcdFx0XHR3b3JrOm9iai5hZGRyLFxuXHRcdFx0XHRcdHBob25lOm9iai5waG9uZSxcblx0XHRcdFx0XHR0aWQ6b2JqLmlkLFxuXHRcdFx0XHRcdHR5cGU6MFxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpZihvYmoudHlwZT09MSl7XG5cdFx0XHRcdGlmKCFvYmouY29tcGFueSl7XG5cdFx0XHRcdFx0b2JqLiRhcGkubXNnKCfor7floavlhpnkvIHkuJrlkI3np7DvvIEnKTtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYoIW9iai5hZGRyZXNzKXtcblx0XHRcdFx0XHRvYmouJGFwaS5tc2coJ+ivt+Whq+WGmeS8geS4muWcsOWdgO+8gScpO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZighb2JqLmNvbXBhbnlOYW1lKXtcblx0XHRcdFx0XHRvYmouJGFwaS5tc2coJ+ivt+Whq+WGmei0n+i0o+S6uuWnk+WQje+8gScpO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZighb2JqLmNvbXBhbnlwaG9uZSl7XG5cdFx0XHRcdFx0b2JqLiRhcGkubXNnKCfor7fovpPlhaXogZTns7vmlrnlvI/vvIEnKTtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYoIW9iai5udW0pe1xuXHRcdFx0XHRcdG9iai4kYXBpLm1zZygn6K+36L6T5YWl5Y+C5Yqg5Z+56K6t5Lq65pWw77yBJyk7XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGRhdGE9e1xuXHRcdFx0XHRcdGNvbXBhbnk6b2JqLmNvbXBhbnksXG5cdFx0XHRcdFx0YWRkcmVzczpvYmouYWRkcmVzcyxcblx0XHRcdFx0XHRuYW1lOm9iai5jb21wYW55TmFtZSxcblx0XHRcdFx0XHRwaG9uZTpvYmouY29tcGFueXBob25lLFxuXHRcdFx0XHRcdG51bTpvYmoubnVtLFxuXHRcdFx0XHRcdHRpZDpvYmouaWQsXG5cdFx0XHRcdFx0dHlwZToxXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHNpZ25fdHJhaW5pbmcoZGF0YSkudGhlbihmdW5jdGlvbihlKSB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKGRhdGEudHlwZSlcblx0XHRcdFx0bGV0IHR5cGUgPSBkYXRhLnR5cGVcblx0XHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKCd0eXBlJywgdHlwZSlcblx0XHRcdFx0b2JqLiRhcGkubXNnKGUubXNnKTtcblx0XHRcdFx0c2V0VGltZW91dChmdW5jdGlvbigpeyBcblx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdFx0XHR1cmw6Jy9wYWdlcy90cmFpbi9pbmRleCdcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9LCAxMDAwKTtcblx0XHRcdH0pLmNhdGNoKGUgPT4ge1xuXHRcdFx0XHRvYmouJGFwaS5tc2coZS5tZXNzYWdlKTtcblx0XHRcdFx0c2V0VGltZW91dChmdW5jdGlvbigpe1xuXHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHRcdHVybDonL3BhZ2VzL3RyYWluL2luZGV4J1xuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH0sIDEwMDApO1xuXHRcdFx0fSk7O1xuXHRcdFx0XG5cdFx0fSxcblx0XHRnZXRSZWNUaW1lKHRpbWVzdGFtcCwgZm10KSB7XG5cdFx0XHRsZXQgZCA9IG5ldyBEYXRlKHRpbWVzdGFtcCAqIDEwMDApLFxuXHRcdFx0XHQvLyBmID0gZm10IHx8ICd5eXl5L01NL2RkJywgXG5cdFx0XHRcdGYgPSBmbXQgfHwgJ3l5eXkuTU0uZGQgaGg6bW06c3MnLFxuXHRcdFx0XHRvID0ge1xuXHRcdFx0XHRcdCdNKyc6IGQuZ2V0TW9udGgoKSArIDEsIC8v5pyI5Lu9IFxuXHRcdFx0XHRcdCdkKyc6IGQuZ2V0RGF0ZSgpLCAvL+aXpSBcblx0XHRcdFx0XHQnaCsnOiBkLmdldEhvdXJzKCksIC8v5bCP5pe2IFxuXHRcdFx0XHRcdCdtKyc6IGQuZ2V0TWludXRlcygpLCAvL+WIhiBcblx0XHRcdFx0XHQncysnOiBkLmdldFNlY29uZHMoKSwgLy/np5IgXG5cdFx0XHRcdFx0J3ErJzogTWF0aC5mbG9vcigoZC5nZXRNb250aCgpICsgMykgLyAzKSwgLy/lraPluqYgXG5cdFx0XHRcdFx0J1MnOiBkLmdldE1pbGxpc2Vjb25kcygpIC8v5q+r56eSIFxuXHRcdFx0XHR9O1xuXHRcdFx0aWYgKC8oeSspLy50ZXN0KGYpKSB7XG5cdFx0XHRcdGYgPSBmLnJlcGxhY2UoUmVnRXhwLiQxLCAoZC5nZXRGdWxsWWVhcigpICsgJycpLnN1YnN0cig0IC0gUmVnRXhwLiQxLmxlbmd0aCkpO1xuXHRcdFx0fVxuXHRcdFx0Zm9yIChsZXQgayBpbiBvKSB7XG5cdFx0XHRcdGlmIChuZXcgUmVnRXhwKCcoJyArIGsgKyAnKScpLnRlc3QoZikpIHtcblx0XHRcdFx0XHRmID0gZi5yZXBsYWNlKFJlZ0V4cC4kMSwgKFJlZ0V4cC4kMS5sZW5ndGggPT09IDEpID8gKG9ba10pIDogKCgnMDAnICsgb1trXSkuc3Vic3RyKCgnJyArIG9ba10pLmxlbmd0aCkpKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGY7XG5cdFx0XHRjb25zb2xlLmxvZyhmKVxuXHRcdH0sXG5cdH1cbn07XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCI+XG5wYWdlIHtcblx0YmFja2dyb3VuZDogI0ZGRkZGRjtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0LmNvbnRlbnQge1xuXHRcdGhlaWdodDogMTAwJTtcblx0fVxufVxuLmJveHtcblx0cGFkZGluZzogMHJweCAyNXJweDtcblx0d2lkdGg6IDEwMCU7XG59XG4udG9wLWltYWdle1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAzMDBycHg7XG59XG4udG9wLXRpdGxle1xuXHR3aWR0aDogMTAwJTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAyNXJweCAwcnB4O1xuXHRmb250LXNpemU6IDM0cnB4O1xuXHRib3JkZXItYm90dG9tOjFycHggZGFzaGVkICNCNUI1QjU7XG59XG4uY2FudGVue1xuXHR0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cbi5hZGRye1xuXHRjb2xvcjogIzIyMjIyMjtcblx0Zm9udC1zaXplOiAyOHJweDtcblx0cGFkZGluZzogMjVycHggMzVycHg7XG59XG4udGV4dC1ib3h7XG5cdHBhZGRpbmc6IDI1cnB4IDI1cnB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMHJweCAhaW1wb3J0YW50O1xufVxuLnRleHR7XG5cdGNvbG9yOiAjMjIyMjIyO1xuXHRmb250LXNpemU6IDI4cnB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMTVycHg7XG59XG4ud2VpeGluLWljb257XG5cdHdpZHRoOiAxMDAlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmctdG9wOiA0NXJweDtcblx0aW1hZ2V7XG5cdFx0d2lkdGg6IDI0OHJweDtcblx0XHRoZWlnaHQ6IDI0OHJweDtcblx0fVxufVxuLnRpcHtcblx0Y29sb3I6ICMyMjIyMjI7XG5cdGZvbnQtc2l6ZTogMjhycHg7XG5cdHdpZHRoOiAxMDAlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmctYm90dG9tOiA1MHJweDtcbn1cbi5zaWduLXRpcHtcblx0cGFkZGluZzogMjVycHggMHJweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogIzIyMjIyMjtcblx0Zm9udC1zaXplOiAyOHJweDtcbn1cbi5mb3JtLWJveHtcblx0cGFkZGluZzogMHJweCAzNXJweDtcblx0LmxhYmVse1xuXHRcdGZvbnQtc2l6ZTogMzRycHg7XG5cdFx0cGFkZGluZzogMjVycHggMHJweDtcblx0XHR0ZXh0e1xuXHRcdFx0Y29sb3I6ICNFNjIxMjk7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDVycHg7XG5cdFx0fVxuXHR9XG5cdGlucHV0e1xuXHRcdGZvbnQtc2l6ZTogMjhycHg7XG5cdFx0Y29sb3I6ICMyMjIyMjI7XG5cdFx0Ym9yZGVyOiAycnB4IHNvbGlkICM5Nzk3OTc7XG5cdFx0cGFkZGluZzogMHJweCAxNXJweDtcblx0XHRib3JkZXItcmFkaXVzOiAxNXJweDtcblx0XHRoZWlnaHQ6IDgwcnB4O1xuXHR9XG59XG4uc3VibWl0e1xuXHR3aWR0aDogNzAlO1xuXHRtYXJnaW46IDBycHggYXV0bztcblx0bWFyZ2luLXRvcDogODBycHg7XG5cdG1hcmdpbi1ib3R0b206IDgwcnB4O1xuXHRwYWRkaW5nOiAyNXJweCAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6ICNFNjIxMjk7XG5cdGNvbG9yOiAjRkZGRkZGO1xuXHRmb250LXNpemU6IDMycnB4O1xuXHRib3JkZXItcmFkaXVzOiAxMHJweDtcbn1cbi5ncmV5e1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjOUI5QjlCICFpbXBvcnRhbnQ7XG59XG4uY2VydGlmaWNhdGVze1xuXHQvLyBwYWRkaW5nOiAyNHJweDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwdmg7XG5cbn1cclxuXHJcblx0XHQudGtpLXFyY29kZS1jYW52YXMge1xyXG5cdFx0XHQvLyB3aWR0aDogNzAwcnB4O1xyXG5cdFx0XHRoZWlnaHQ6IDEyNDVycHg7XHJcblx0XHRcdHdpZHRoOiA3NTBycHg7XG5cdFx0XHQvLyBwYWRkaW5nOiAzMnJweDtcclxuXHRcdFx0XHJcblx0XHRcdG1hcmdpbjogNTBycHggYXV0bztcclxuXHRcdH1cblx0LmJnaW1ne1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRpbWFnZXtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdH1cblx0fVxuXHQuYm94LW1pYW57XG5cdFx0XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHBhZGRpbmc6MzgwcnB4IDk0cnB4IDIwMHJweCA5NHJweDtcblx0XHRcdGNvbG9yOiAjMzMzO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHRvcDogMDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHQvLyBhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Lm5hbWV7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMzJycHg7XG5cdFx0XHRcdC5uYW1lLWxlZnR7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdC8vIHBhZGRpbmc6IDAgMjRycHg7XG5cdFx0XHRcdFx0d2lkdGg6IDE1MHJweDtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAycnB4IHNvbGlkICMzMzM7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5pbmZve1xuXHRcdFx0XHRtYXJnaW4tdG9wOiA2OHJweDtcblx0XHRcdFx0dGV4dC1pbmRlbnQ6IDY0cnB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogNThycHg7XG5cdFx0XHR9XG5cdFx0XHQuc2lnbk5hbWV7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDMycnB4O1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHQuc2lnbk5hbWUtbGVmdHtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzRycHg7XG5cdFx0XHRcdFx0LnNpZ25OYW1lLTF7XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LnNpZ25OYW1lLTJ7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQuc2lnbk5hbWUtcmlnaHR7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdFx0XHQvLyB3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRwYWRkaW5nOiAwIDEycnB4O1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAxMnJweDtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHQvLyB3aWR0aDogMjg4cnB4O1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDJycHggc29saWQgIzMzMztcblx0XHRcdFx0XHQvLyBtYXJnaW4tYm90dG9tOiAxMnJweDtcblx0XHRcdFx0XHQubGlzdC1pbnB1dCB7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgMTJycHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDcwcnB4O1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAzMnJweDtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LnNpZ25EYXRle1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuc2lnbkRhdGV7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDIycnB4O1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHQuc2lnbk5hbWUtbGVmdHtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzRycHg7XG5cdFx0XHRcdFx0LnNpZ25OYW1lLTF7XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LnNpZ25OYW1lLTJ7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQuc2lnbk5hbWUtcmlnaHR7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDEycnB4O1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAxMnJweDtcblx0XHRcdFx0XHR3aWR0aDogMjg4cnB4O1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDJycHggc29saWQgIzMzMztcblx0XHRcdFx0XHQubGlzdC1pbnB1dCB7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDcwcnB4O1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAzMnJweDtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ly8gbWFyZ2luLWJvdHRvbTogMTJycHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC8vIGJhY2tncm91bmQtY29sb3I6IHBpbms7XG5cdFx0XG5cdH1cblx0LmltZ2JveHtcblx0XHRoZWlnaHQ6IDEyNDVycHg7XHJcblx0XHRtYXJnaW46IDUwcnB4IGF1dG87XG5cdFx0d2lkdGg6NzUwcnB4O1xuXHR9XG48L3N0eWxlPlxuIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSFFOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxcXFxkaXN0XFxcXGxvYWRlci5qcz8/cmVmLS04LW9uZU9mLTEtMCFFOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxjc3MtbG9hZGVyXFxcXGRpc3RcXFxcY2pzLmpzPz9yZWYtLTgtb25lT2YtMS0xIUU6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcbG9hZGVyc1xcXFxzdHlsZVBvc3RMb2FkZXIuanMhRTpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTgtb25lT2YtMS0yIUU6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXHBvc3Rjc3MtbG9hZGVyXFxcXHNyY1xcXFxpbmRleC5qcz8/cmVmLS04LW9uZU9mLTEtMyFFOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxzYXNzLWxvYWRlclxcXFxkaXN0XFxcXGNqcy5qcz8/cmVmLS04LW9uZU9mLTEtNCFFOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tOC1vbmVPZi0xLTUhRTpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIUU6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx3ZWJwYWNrLXVuaS1tcC1sb2FkZXJcXFxcbGliXFxcXHN0eWxlLmpzIS4vY2VydGlmaWNhdGVzLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmxhbmc9c2NzcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSFFOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxcXFxkaXN0XFxcXGxvYWRlci5qcz8/cmVmLS04LW9uZU9mLTEtMCFFOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxjc3MtbG9hZGVyXFxcXGRpc3RcXFxcY2pzLmpzPz9yZWYtLTgtb25lT2YtMS0xIUU6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcbG9hZGVyc1xcXFxzdHlsZVBvc3RMb2FkZXIuanMhRTpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTgtb25lT2YtMS0yIUU6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXHBvc3Rjc3MtbG9hZGVyXFxcXHNyY1xcXFxpbmRleC5qcz8/cmVmLS04LW9uZU9mLTEtMyFFOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxzYXNzLWxvYWRlclxcXFxkaXN0XFxcXGNqcy5qcz8/cmVmLS04LW9uZU9mLTEtNCFFOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tOC1vbmVPZi0xLTUhRTpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIUU6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx3ZWJwYWNrLXVuaS1tcC1sb2FkZXJcXFxcbGliXFxcXHN0eWxlLmpzIS4vY2VydGlmaWNhdGVzLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmxhbmc9c2NzcyZcIiIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxuICAgIGlmKG1vZHVsZS5ob3QpIHtcbiAgICAgIC8vIDE2MzA5MTMwNTk5OTRcbiAgICAgIHZhciBjc3NSZWxvYWQgPSByZXF1aXJlKFwiRTovSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4vZGlzdC9obXIvaG90TW9kdWxlUmVwbGFjZW1lbnQuanNcIikobW9kdWxlLmlkLCB7XCJobXJcIjp0cnVlLFwicHVibGljUGF0aFwiOlwiLi4vLi4vXCIsXCJsb2NhbHNcIjpmYWxzZX0pO1xuICAgICAgbW9kdWxlLmhvdC5kaXNwb3NlKGNzc1JlbG9hZCk7XG4gICAgICBtb2R1bGUuaG90LmFjY2VwdCh1bmRlZmluZWQsIGNzc1JlbG9hZCk7XG4gICAgfVxuICAiXSwic291cmNlUm9vdCI6IiJ9