{"remainingRequest":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\dataShare-fvue\\src\\views\\dataShare\\shareDataCatalog\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\src\\views\\dataShare\\shareDataCatalog\\index.vue","mtime":1736448933040},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\babel.config.js","mtime":1733906004399},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvZGF0YVNoYXJlLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3JlZ2VuZXJhdG9yUnVudGltZS5qcyI7CmltcG9ydCBfYXN5bmNUb0dlbmVyYXRvciBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS9kYXRhU2hhcmUtZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXN5bmNUb0dlbmVyYXRvci5qcyI7CmltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gIkQ6L2plbmtpbnMvd29ya3NwYWNlL2RhdGFTaGFyZS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuam9pbi5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuanNvbi5zdHJpbmdpZnkuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IuZm9yLWVhY2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIjsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCB0YWJsZU1peGluIGZyb20gJ0AvbWl4aW5zL3RhYmxlLmpzJzsKaW1wb3J0IEFkZEVkaXREaWFsb2cgZnJvbSAnQC92aWV3cy9kYXRhU2hhcmUvc2hhcmVEYXRhQ2F0YWxvZy9BZGRFZGl0RGlhbG9nLnZ1ZSc7CmltcG9ydCBmaWVsZHNNYW5hZ2UgZnJvbSAnQC92aWV3cy9kYXRhU2hhcmUvc2hhcmVEYXRhQ2F0YWxvZy9maWVsZHNNYW5hZ2UudnVlJzsKaW1wb3J0IEFQSSBmcm9tICdAL2FwaS9idXNpbmVzcy9zaGFyZURhdGFDYXRhbG9nJzsKZXhwb3J0IGRlZmF1bHQgewogIGNvbXBvbmVudHM6IHsKICAgIGZpZWxkc01hbmFnZTogZmllbGRzTWFuYWdlLAogICAgQWRkRWRpdERpYWxvZzogQWRkRWRpdERpYWxvZwogIH0sCiAgbWl4aW5zOiBbdGFibGVNaXhpbl0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICB2YXIgVFJFRV9DT05GSUcgPSB7CiAgICAgIHRyZWVQcm9wczogewogICAgICAgIHZhbHVlOiAnaWQnLAogICAgICAgIGxhYmVsOiAnbmFtZScKICAgICAgfSwKICAgICAgZGVmYXVsdEV4cGFuZGVkS2V5czogWycwJ10sCiAgICAgIHRyZWVGaWVsZHM6IFt7CiAgICAgICAgbGFiZWw6ICfotYTmupDnm67lvZXlkI3np7AnLAogICAgICAgIHByb3A6ICduYW1lJywKICAgICAgICBsYWJlbFdpZHRoOiAnMTIwJywKICAgICAgICBydWxlczogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+i1hOa6kOebruW9leWQjeensOS4jeiDveS4uuepuicKICAgICAgICB9XQogICAgICB9LCB7CiAgICAgICAgbGFiZWw6ICfotYTmupDnm67lvZXnvJbnoIEnLAogICAgICAgIHByb3A6ICdjb2RlJywKICAgICAgICBsYWJlbFdpZHRoOiAnMTIwJywKICAgICAgICBydWxlczogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+i1hOa6kOebruW9lee8lueggeS4jeiDveS4uuepuicKICAgICAgICB9XQogICAgICB9XSwKICAgICAgY3VyTm9kZToge30gLy8g5b2T5YmN6YCJ5oup6IqC54K5CiAgICB9OwogICAgcmV0dXJuIF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgVFJFRV9DT05GSUcpLCB7fSwgewogICAgICBjcmVhdGVkTGlzdDogW3sKICAgICAgICBsYWJlbDogJ+WPkeW4gycsCiAgICAgICAgdmFsdWU6IDEKICAgICAgfSwgewogICAgICAgIGxhYmVsOiAn5pyq5Y+R5biDJywKICAgICAgICB2YWx1ZTogMAogICAgICB9XSwKICAgICAgY29sdW1uczogW3sKICAgICAgICBsYWJlbDogJ+i1hOa6kOWQjeensCcsCiAgICAgICAgcHJvcDogJ25hbWUnCiAgICAgIH0sIHsKICAgICAgICBsYWJlbDogJ+aVsOaNruW6k+ihqOWQjScsCiAgICAgICAgcHJvcDogJ3RhYmxlQ29kZScsCiAgICAgICAgd2lkdGg6ICcxNTBweCcKICAgICAgfSwgewogICAgICAgIGxhYmVsOiAn6LWE5rqQ5pu05paw5ZGo5pyfJywKICAgICAgICBwcm9wOiAndXBkYXRlUmF0ZScsCiAgICAgICAgd2lkdGg6ICcxMTBweCcKICAgICAgfSwgewogICAgICAgIGxhYmVsOiAn6LWE5rqQ57qn5YirJywKICAgICAgICBwcm9wOiAnbGV2ZWwnLAogICAgICAgIHdpZHRoOiAnODBweCcsCiAgICAgICAgYWxpZ246ICdjZW50ZXInCiAgICAgIH0sIHsKICAgICAgICBsYWJlbDogJ+aYr+WQpuW8gOWQr+W6k+ihqOWFseS6qycsCiAgICAgICAgcHJvcDogJ2lzRGF0YWJhc2UnLAogICAgICAgIGRhdGFUeXBlOiAnc2xvdCcsCiAgICAgICAgc2xvdDogJ2lzRGF0YWJhc2UnLAogICAgICAgIHdpZHRoOiAnMTAwcHgnLAogICAgICAgIGFsaWduOiAnY2VudGVyJwogICAgICB9LCB7CiAgICAgICAgbGFiZWw6ICfmmK/lkKblvIDlkK/mjqXlj6PlhbHkuqsnLAogICAgICAgIHByb3A6ICdpc0FwaScsCiAgICAgICAgZGF0YVR5cGU6ICdzbG90JywKICAgICAgICBzbG90OiAnaXNBcGknLAogICAgICAgIHdpZHRoOiAnMTAwcHgnLAogICAgICAgIGFsaWduOiAnY2VudGVyJwogICAgICB9LCB7CiAgICAgICAgbGFiZWw6ICfmmK/lkKblvIDlkK/mlofku7blhbHkuqsnLAogICAgICAgIHByb3A6ICdpc0ZpbGUnLAogICAgICAgIGRhdGFUeXBlOiAnc2xvdCcsCiAgICAgICAgc2xvdDogJ2lzRmlsZScsCiAgICAgICAgd2lkdGg6ICcxMDBweCcsCiAgICAgICAgYWxpZ246ICdjZW50ZXInCiAgICAgIH0sIHsKICAgICAgICBsYWJlbDogJ+WPkeW4g+eKtuaAgScsCiAgICAgICAgcHJvcDogJ2RlcGxveWVkJywKICAgICAgICBkYXRhVHlwZTogJ3Nsb3QnLAogICAgICAgIHNsb3Q6ICdkZXBsb3llZCcsCiAgICAgICAgd2lkdGg6ICcxMDBweCcsCiAgICAgICAgYWxpZ246ICdjZW50ZXInCiAgICAgIH0sIHsKICAgICAgICBkYXRhVHlwZTogJ29wdGlvbicsCiAgICAgICAgbGFiZWw6ICfmk43kvZwnLAogICAgICAgIHdpZHRoOiAnMjUwcHgnLAogICAgICAgIGZpeGVkOiAncmlnaHQnLAogICAgICAgIG9wZXJhdGlvbjogW3sKICAgICAgICAgIG5hbWU6ICflrZfmrrXnrqHnkIYnLAogICAgICAgICAgdHlwZTogJ3RleHQnLAogICAgICAgICAgc2l6ZTogJ21pbmknLAogICAgICAgICAgY29sb3I6ICcjNDA5ZWZmJywKICAgICAgICAgIGljb246ICdlbC1pY29uLXMtb3JkZXInLAogICAgICAgICAgcGxhaW46IHRydWUsCiAgICAgICAgICBjbGlja0Z1bjogZnVuY3Rpb24gY2xpY2tGdW4ocm93KSB7CiAgICAgICAgICAgIF90aGlzLmN1cnJlbnRSb3cgPSByb3c7CiAgICAgICAgICAgIF90aGlzLmZpZWxkRGlhbG9nVmlzaWJsZSA9IHRydWU7CiAgICAgICAgICB9CiAgICAgICAgfSwgewogICAgICAgICAgbmFtZTogJ+WPkeW4g+W7uuihqCcsCiAgICAgICAgICB0eXBlOiAndGV4dCcsCiAgICAgICAgICBzaXplOiAnbWluaScsCiAgICAgICAgICBpY29uOiAnZWwtaWNvbi1zLXByb21vdGlvbicsCiAgICAgICAgICBjb2xvcjogJyNmYTkxMmEnLAogICAgICAgICAgcGxhaW46IHRydWUsCiAgICAgICAgICBzaG93SGlkZTogZnVuY3Rpb24gc2hvd0hpZGUocm93KSB7CiAgICAgICAgICAgIHJldHVybiByb3cuZGVwbG95ZWQgIT09IDE7CiAgICAgICAgICB9LAogICAgICAgICAgY2xpY2tGdW46IGZ1bmN0aW9uIGNsaWNrRnVuKHJvdykgewogICAgICAgICAgICBfdGhpcy5wdXRPdXRDaGFuZ2Uocm93KTsKICAgICAgICAgIH0KICAgICAgICB9LCB7CiAgICAgICAgICBuYW1lOiAn5bqT6KGo5YWx5LqrJywKICAgICAgICAgIGljb246ICdlbC1pY29uLXMtb3BlcmF0aW9uJywKICAgICAgICAgIGNsaWNrRnVuOiBmdW5jdGlvbiBjbGlja0Z1bihyb3cpIHsKICAgICAgICAgICAgX3RoaXMuZ290b0xpYnJhcnlUYWJsZShyb3cpOwogICAgICAgICAgfQogICAgICAgIH0sIHsKICAgICAgICAgIG5hbWU6ICfmjqXlj6PlhbHkuqsnLAogICAgICAgICAgaWNvbjogJ2VsLWljb24tZG9jdW1lbnQnLAogICAgICAgICAgY2xpY2tGdW46IGZ1bmN0aW9uIGNsaWNrRnVuKHJvdykgewogICAgICAgICAgICBfdGhpcy5nb1RvZGF0YVNlcnZpY2Uocm93KTsKICAgICAgICAgIH0KICAgICAgICB9LCB7CiAgICAgICAgICBuYW1lOiAn5paH5Lu25YWx5LqrJywKICAgICAgICAgIGljb246ICdlbC1pY29uLXRpY2tldHMnLAogICAgICAgICAgY2xpY2tGdW46IGZ1bmN0aW9uIGNsaWNrRnVuKHJvdykgewogICAgICAgICAgICBfdGhpcy5nb3RvRmlsZShyb3cpOwogICAgICAgICAgfQogICAgICAgIH0sIHsKICAgICAgICAgIG5hbWU6ICfliKDpmaQnLAogICAgICAgICAgaWNvbjogJ2VsLWljb24tZGVsZXRlJywKICAgICAgICAgIGNvbG9yOiAncmVkJywKICAgICAgICAgIGNsaWNrRnVuOiBmdW5jdGlvbiBjbGlja0Z1bihyb3cpIHsKICAgICAgICAgICAgX3RoaXMuZGVsVGFibGUocm93KTsKICAgICAgICAgIH0KICAgICAgICB9XQogICAgICB9XSwKICAgICAgZGVmYXVsdEZpbHRlcjogW3sKICAgICAgICBvcGVyYXRpb246ICdFUVVBTCcsCiAgICAgICAgcHJvcGVydHk6ICdjYXRhbG9nSWQnLAogICAgICAgIHJlbGF0aW9uOiAnQU5EJywKICAgICAgICB2YWx1ZTogJycKICAgICAgfV0sCiAgICAgIGRpYWxvZ1Zpc2libGU6IGZhbHNlLAogICAgICBmaWVsZERpYWxvZ1Zpc2libGU6IGZhbHNlLAogICAgICBkaWFsb2dUaXRsZTogJ+aWsOWinicsCiAgICAgIG11bHRpcGxlU2VsZWN0aW9uOiBbXQogICAgfSk7CiAgfSwKICBjb21wdXRlZDogewogICAgZGF0YU1ldGhvZDogZnVuY3Rpb24gZGF0YU1ldGhvZCgpIHsKICAgICAgcmV0dXJuIEFQSS5zaGFyZUNhdGFsb2dzVGFibGU7CiAgICB9CiAgfSwKICBtZXRob2RzOiB7CiAgICAvLyDlt6bovrnmoJEKICAgIG9uQmVmb3JlR2V0RGF0YTogZnVuY3Rpb24gb25CZWZvcmVHZXREYXRhKHF1ZXJ5UGFyYW1zLCBmb3JtRGF0YSkgewogICAgICB0aGlzLnNldEZpbHRlclZhbHVlKHRoaXMucXVlcnlQYXJhbXMsIHRoaXMuZGVmYXVsdEZpbHRlciwgJ2NhdGFsb2dJZCcsIHRoaXMuY3VyTm9kZS5pZCk7CiAgICB9LAogICAgZ2V0VHJlZU5vZGVzOiBmdW5jdGlvbiBnZXRUcmVlTm9kZXMoKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUoKSB7CiAgICAgICAgdmFyIF95aWVsZCRBUEkkZ2V0U2hhcmVUciwgX3lpZWxkJEFQSSRnZXRTaGFyZVRyMiwgdmFsdWU7CiAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUkKF9jb250ZXh0KSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dC5wcmV2ID0gX2NvbnRleHQubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDI7CiAgICAgICAgICAgICAgcmV0dXJuIEFQSS5nZXRTaGFyZVRyZWUoKTsKICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgIF95aWVsZCRBUEkkZ2V0U2hhcmVUciA9IF9jb250ZXh0LnNlbnQ7CiAgICAgICAgICAgICAgX3lpZWxkJEFQSSRnZXRTaGFyZVRyMiA9IF95aWVsZCRBUEkkZ2V0U2hhcmVUci52YWx1ZTsKICAgICAgICAgICAgICB2YWx1ZSA9IF95aWVsZCRBUEkkZ2V0U2hhcmVUcjIgPT09IHZvaWQgMCA/IFtdIDogX3lpZWxkJEFQSSRnZXRTaGFyZVRyMjsKICAgICAgICAgICAgICBfdGhpczIuZGVmYXVsdEV4cGFuZGVkS2V5cyA9IFsodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHZhbHVlWzBdLmlkKSB8fCAnJ107CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0LmFicnVwdCgicmV0dXJuIiwgewogICAgICAgICAgICAgICAgZGF0YTogdmFsdWUgfHwgW10KICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgY2FzZSA3OgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dC5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZSk7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIHJlbG9hZFRyZWU6IGZ1bmN0aW9uIHJlbG9hZFRyZWUoKSB7CiAgICAgIHRoaXMuJHJlZnMuYXBwQXN5bmNUcmVlLmdldFRyZWVEYXRhKCk7CiAgICB9LAogICAgdHJlZUFjdGlvbnM6IGZ1bmN0aW9uIHRyZWVBY3Rpb25zKGRhdGEpIHsKICAgICAgcmV0dXJuIFt7CiAgICAgICAgbGFiZWw6ICfmt7vliqAnLAogICAgICAgIHR5cGU6ICdhZGQnLAogICAgICAgIG1ldGhvZDogdGhpcy5hZGROb2RlCiAgICAgIH0sIHsKICAgICAgICBsYWJlbDogJ+e8lui+kScsCiAgICAgICAgdHlwZTogJ2VkaXQnLAogICAgICAgIG1ldGhvZDogdGhpcy5lZGl0Tm9kZQogICAgICB9LCB7CiAgICAgICAgbGFiZWw6ICfliKDpmaQnLAogICAgICAgIHR5cGU6ICdkZWxldGUnLAogICAgICAgIG1ldGhvZDogdGhpcy5kZWxOb2RlCiAgICAgIH1dOwogICAgfSwKICAgIG9uVHJlZU5vZGVDbGljazogZnVuY3Rpb24gb25UcmVlTm9kZUNsaWNrKG5vZGUpIHsKICAgICAgdmFyIF90aGlzJGN1ck5vZGU7CiAgICAgIGlmIChub2RlLmlkID09PSAoKF90aGlzJGN1ck5vZGUgPSB0aGlzLmN1ck5vZGUpID09PSBudWxsIHx8IF90aGlzJGN1ck5vZGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF90aGlzJGN1ck5vZGUuaWQpKSByZXR1cm47CiAgICAgIHRoaXMuY3VyTm9kZSA9IF9vYmplY3RTcHJlYWQoe30sIG5vZGUpOwogICAgICB0aGlzLmdldERhdGEoKTsKICAgIH0sCiAgICBhZGROb2RlOiBmdW5jdGlvbiBhZGROb2RlKHBhcmFtcywgbm9kZSkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlMigpIHsKICAgICAgICB2YXIgY29kZSwgbmFtZSwgaWQsIG5ld05vZGUsIF95aWVsZCRBUEkkYWRkU2hhcmVUciwgc3RhdGU7CiAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUyJChfY29udGV4dDIpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0Mi5wcmV2ID0gX2NvbnRleHQyLm5leHQpIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIGNvZGUgPSBwYXJhbXMuY29kZSwgbmFtZSA9IHBhcmFtcy5uYW1lOwogICAgICAgICAgICAgIGlkID0gbm9kZS5pZDsKICAgICAgICAgICAgICBuZXdOb2RlID0gewogICAgICAgICAgICAgICAgY29kZTogY29kZSwKICAgICAgICAgICAgICAgIG5hbWU6IG5hbWUsCiAgICAgICAgICAgICAgICBwYXJlbnRJZDogaWQKICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgIF9jb250ZXh0Mi5wcmV2ID0gMzsKICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDY7CiAgICAgICAgICAgICAgcmV0dXJuIEFQSS5hZGRTaGFyZVRyZWUobmV3Tm9kZSk7CiAgICAgICAgICAgIGNhc2UgNjoKICAgICAgICAgICAgICBfeWllbGQkQVBJJGFkZFNoYXJlVHIgPSBfY29udGV4dDIuc2VudDsKICAgICAgICAgICAgICBzdGF0ZSA9IF95aWVsZCRBUEkkYWRkU2hhcmVUci5zdGF0ZTsKICAgICAgICAgICAgICBpZiAoc3RhdGUpIHsKICAgICAgICAgICAgICAgIF90aGlzMy5yZWxvYWRUcmVlKCk7CiAgICAgICAgICAgICAgICBfdGhpczMuJG1lc3NhZ2Uuc3VjY2Vzcygn5re75Yqg6LWE5rqQ55uu5b2V5oiQ5Yqf77yBJyk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF9jb250ZXh0Mi5uZXh0ID0gMTQ7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMTE6CiAgICAgICAgICAgICAgX2NvbnRleHQyLnByZXYgPSAxMTsKICAgICAgICAgICAgICBfY29udGV4dDIudDAgPSBfY29udGV4dDJbImNhdGNoIl0oMyk7CiAgICAgICAgICAgICAgX3RoaXMzLiRtZXNzYWdlLndhcm5pbmcoX2NvbnRleHQyLnQwIHx8ICfmt7vliqDotYTmupDnm67lvZXlpLHotKXvvIEnKTsKICAgICAgICAgICAgY2FzZSAxNDoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQyLnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlMiwgbnVsbCwgW1szLCAxMV1dKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgZWRpdE5vZGU6IGZ1bmN0aW9uIGVkaXROb2RlKHBhcmFtcykgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlMygpIHsKICAgICAgICB2YXIgY29kZSwgbmFtZSwgcGFyZW50SWQsIGlkLCBuZXdOb2RlLCBfeWllbGQkQVBJJGVkaXRTaGFyZVQsIHN0YXRlOwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlMyQoX2NvbnRleHQzKSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDMucHJldiA9IF9jb250ZXh0My5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBjb2RlID0gcGFyYW1zLmNvZGUsIG5hbWUgPSBwYXJhbXMubmFtZSwgcGFyZW50SWQgPSBwYXJhbXMucGFyZW50SWQsIGlkID0gcGFyYW1zLmlkOwogICAgICAgICAgICAgIG5ld05vZGUgPSB7CiAgICAgICAgICAgICAgICBjb2RlOiBjb2RlLAogICAgICAgICAgICAgICAgbmFtZTogbmFtZSwKICAgICAgICAgICAgICAgIGlkOiBpZCwKICAgICAgICAgICAgICAgIHBhcmVudElkOiBwYXJlbnRJZAogICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgX2NvbnRleHQzLnByZXYgPSAyOwogICAgICAgICAgICAgIF9jb250ZXh0My5uZXh0ID0gNTsKICAgICAgICAgICAgICByZXR1cm4gQVBJLmVkaXRTaGFyZVRyZWUobmV3Tm9kZSk7CiAgICAgICAgICAgIGNhc2UgNToKICAgICAgICAgICAgICBfeWllbGQkQVBJJGVkaXRTaGFyZVQgPSBfY29udGV4dDMuc2VudDsKICAgICAgICAgICAgICBzdGF0ZSA9IF95aWVsZCRBUEkkZWRpdFNoYXJlVC5zdGF0ZTsKICAgICAgICAgICAgICBpZiAoc3RhdGUpIHsKICAgICAgICAgICAgICAgIF90aGlzNC5yZWxvYWRUcmVlKCk7CiAgICAgICAgICAgICAgICBfdGhpczQuJG1lc3NhZ2Uuc3VjY2Vzcygn57yW6L6R6LWE5rqQ55uu5b2V5oiQ5Yqf77yBJyk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF9jb250ZXh0My5uZXh0ID0gMTM7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMTA6CiAgICAgICAgICAgICAgX2NvbnRleHQzLnByZXYgPSAxMDsKICAgICAgICAgICAgICBfY29udGV4dDMudDAgPSBfY29udGV4dDNbImNhdGNoIl0oMik7CiAgICAgICAgICAgICAgX3RoaXM0LiRtZXNzYWdlLndhcm5pbmcoX2NvbnRleHQzLnQwIHx8ICfnvJbovpHotYTmupDnm67lvZXlpLHotKXvvIEnKTsKICAgICAgICAgICAgY2FzZSAxMzoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQzLnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlMywgbnVsbCwgW1syLCAxMF1dKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgZGVsTm9kZTogZnVuY3Rpb24gZGVsTm9kZShwYXJhbXMsIG5vZGUpIHsKICAgICAgdmFyIF90aGlzNSA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTQoKSB7CiAgICAgICAgdmFyIF95aWVsZCRBUEkkcmVtb3ZlU2hhciwgc3RhdGU7CiAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWU0JChfY29udGV4dDQpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0NC5wcmV2ID0gX2NvbnRleHQ0Lm5leHQpIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIF9jb250ZXh0NC5wcmV2ID0gMDsKICAgICAgICAgICAgICBfY29udGV4dDQubmV4dCA9IDM7CiAgICAgICAgICAgICAgcmV0dXJuIEFQSS5yZW1vdmVTaGFyZVRyZWUobm9kZS5pZCk7CiAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICBfeWllbGQkQVBJJHJlbW92ZVNoYXIgPSBfY29udGV4dDQuc2VudDsKICAgICAgICAgICAgICBzdGF0ZSA9IF95aWVsZCRBUEkkcmVtb3ZlU2hhci5zdGF0ZTsKICAgICAgICAgICAgICBpZiAoc3RhdGUpIHsKICAgICAgICAgICAgICAgIF90aGlzNS5yZWxvYWRUcmVlKCk7CiAgICAgICAgICAgICAgICBfdGhpczUuJG1lc3NhZ2Uuc3VjY2Vzcygn5Yig6Zmk6LWE5rqQ55uu5b2V5oiQ5Yqf77yBJyk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF9jb250ZXh0NC5uZXh0ID0gMTE7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgODoKICAgICAgICAgICAgICBfY29udGV4dDQucHJldiA9IDg7CiAgICAgICAgICAgICAgX2NvbnRleHQ0LnQwID0gX2NvbnRleHQ0WyJjYXRjaCJdKDApOwogICAgICAgICAgICAgIF90aGlzNS4kbWVzc2FnZS53YXJuaW5nKF9jb250ZXh0NC50MCB8fCAn5Yig6Zmk6LWE5rqQ55uu5b2V5aSx6LSl77yBJyk7CiAgICAgICAgICAgIGNhc2UgMTE6CiAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0NC5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTQsIG51bGwsIFtbMCwgOF1dKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgLy8g5YiX6KGoCiAgICBhZGREYXRhOiBmdW5jdGlvbiBhZGREYXRhKCkgewogICAgICB2YXIgX3RoaXMkY3VyTm9kZTI7CiAgICAgIGlmICghKChfdGhpcyRjdXJOb2RlMiA9IHRoaXMuY3VyTm9kZSkgIT09IG51bGwgJiYgX3RoaXMkY3VyTm9kZTIgIT09IHZvaWQgMCAmJiBfdGhpcyRjdXJOb2RlMi5pZCkpIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoJ+ivt+mAieaLqei1hOa6kOmhueaJgOWxnuebruW9lScpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB0aGlzLmRpYWxvZ1RpdGxlID0gJ+aWsOWinuWFseS6q+i1hOa6kCc7CiAgICAgIHRoaXMuY3VycmVudFJvdyA9IHsKICAgICAgICBjYXRhbG9nSWQ6IHRoaXMuY3VyTm9kZS5pZAogICAgICB9OwogICAgICB0aGlzLmRpYWxvZ1Zpc2libGUgPSB0cnVlOwogICAgfSwKICAgIGVkaXREYXRhOiBmdW5jdGlvbiBlZGl0RGF0YShyb3cpIHsKICAgICAgdGhpcy5kaWFsb2dUaXRsZSA9ICJcdTdGMTZcdThGOTEgLSAiLmNvbmNhdChyb3cubmFtZSk7CiAgICAgIHRoaXMuY3VycmVudFJvdyA9IHJvdzsKICAgICAgdGhpcy5kaWFsb2dWaXNpYmxlID0gdHJ1ZTsKICAgIH0sCiAgICAvLyDlvLnlsYLlm57osIMKICAgIG9uQ29tcGFueUNvbmZpcm06IGZ1bmN0aW9uIG9uQ29tcGFueUNvbmZpcm0oZGF0YSkgewogICAgICB0aGlzLnJlZnJlc2goKTsKICAgIH0sCiAgICAvLyDliJfooajmjInpkq7kuovku7YKICAgIHB1dE91dENoYW5nZTogZnVuY3Rpb24gcHV0T3V0Q2hhbmdlKCkgewogICAgICB0aGlzLiRjb25maXJtKCfmraTmk43kvZzlsIblj5HluIPor6XotYTmupDnvJbnm64sIOaYr+WQpue7p+e7rT8nLCAn5o+Q56S6JywgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAn56Gu5a6aJywKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAn5Y+W5raIJywKICAgICAgICB0eXBlOiAnd2FybmluZycKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7fSk7CiAgICB9LAogICAgZ29Ub2RhdGFTZXJ2aWNlOiBmdW5jdGlvbiBnb1RvZGF0YVNlcnZpY2UoKSB7CiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKCcvYml6UGxhdC9hcGlJbnRlcmZhY2UnKTsKICAgIH0sCiAgICBnb3RvRmlsZTogZnVuY3Rpb24gZ290b0ZpbGUoKSB7CiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKCcvYml6UGxhdC9vZmZsaW5lRmlsZScpOwogICAgfSwKICAgIGdvdG9MaWJyYXJ5VGFibGU6IGZ1bmN0aW9uIGdvdG9MaWJyYXJ5VGFibGUoKSB7CiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKCcvYml6UGxhdC9kYXRhUmVzb3VyY2UvZGF0YVNoYXJlL3NoYXJlVGFibGUnKTsKICAgIH0sCiAgICBzZWxlY3RDaGFuZ2U6IGZ1bmN0aW9uIHNlbGVjdENoYW5nZShkYXRhKSB7CiAgICAgIHZhciBfdGhpczYgPSB0aGlzOwogICAgICB0aGlzLm11bHRpcGxlU2VsZWN0aW9uID0gW107CiAgICAgIGRhdGEuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgIF90aGlzNi5tdWx0aXBsZVNlbGVjdGlvbi5wdXNoKGl0ZW0uaWQpOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDliKDpmaTkuovku7YKICAgIGRlbGV0ZVJvd0NoYW5nZTogZnVuY3Rpb24gZGVsZXRlUm93Q2hhbmdlKCkgewogICAgICB2YXIgX3RoaXM3ID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlNigpIHsKICAgICAgICB2YXIgZGVsSWQ7CiAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWU2JChfY29udGV4dDYpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0Ni5wcmV2ID0gX2NvbnRleHQ2Lm5leHQpIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIGRlbElkID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShfdGhpczcubXVsdGlwbGVTZWxlY3Rpb24pKS5qb2luKCcsJyk7CiAgICAgICAgICAgICAgX3RoaXM3LiRjb25maXJtKCfmmK/lkKbliKDpmaTpgInkuK3mlbDmja4/JywgJ+aPkOekuicsIHsKICAgICAgICAgICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAn56Gu5a6aJywKICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICflj5bmtognLAogICAgICAgICAgICAgICAgdHlwZTogJ3dhcm5pbmcnCiAgICAgICAgICAgICAgfSkudGhlbigvKiNfX1BVUkVfXyovX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWU1KCkgewogICAgICAgICAgICAgICAgdmFyIF95aWVsZCRBUEkkZGVsZXRlVGFibCwgc3RhdGU7CiAgICAgICAgICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTUkKF9jb250ZXh0NSkgewogICAgICAgICAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDUucHJldiA9IF9jb250ZXh0NS5uZXh0KSB7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgICAgICAgICAgX2NvbnRleHQ1LnByZXYgPSAwOwogICAgICAgICAgICAgICAgICAgICAgX2NvbnRleHQ1Lm5leHQgPSAzOwogICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEFQSS5kZWxldGVUYWJsZURhdGEoZGVsSWQpOwogICAgICAgICAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICAgICAgICAgIF95aWVsZCRBUEkkZGVsZXRlVGFibCA9IF9jb250ZXh0NS5zZW50OwogICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBfeWllbGQkQVBJJGRlbGV0ZVRhYmwuc3RhdGU7CiAgICAgICAgICAgICAgICAgICAgICBpZiAoIXN0YXRlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIF9jb250ZXh0NS5uZXh0ID0gOTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICBfY29udGV4dDUubmV4dCA9IDg7CiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3RoaXM3LmdldERhdGEoKTsKICAgICAgICAgICAgICAgICAgICBjYXNlIDg6CiAgICAgICAgICAgICAgICAgICAgICBfdGhpczcuJG1lc3NhZ2Uuc3VjY2Vzcygn5Yig6Zmk5oiQ5Yqf77yBJyk7CiAgICAgICAgICAgICAgICAgICAgY2FzZSA5OgogICAgICAgICAgICAgICAgICAgICAgX2NvbnRleHQ1Lm5leHQgPSAxNDsKICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgMTE6CiAgICAgICAgICAgICAgICAgICAgICBfY29udGV4dDUucHJldiA9IDExOwogICAgICAgICAgICAgICAgICAgICAgX2NvbnRleHQ1LnQwID0gX2NvbnRleHQ1WyJjYXRjaCJdKDApOwogICAgICAgICAgICAgICAgICAgICAgX3RoaXM3LiRtZXNzYWdlLndhcm5pbmcoX2NvbnRleHQ1LnQwIHx8ICfliKDpmaTlpLHotKXvvIEnKTsKICAgICAgICAgICAgICAgICAgICBjYXNlIDE0OgogICAgICAgICAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQ1LnN0b3AoKTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwgX2NhbGxlZTUsIG51bGwsIFtbMCwgMTFdXSk7CiAgICAgICAgICAgICAgfSkpKTsKICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDYuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWU2KTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgLy8g5Liq5Yir5Yig6ZmkCiAgICBkZWxUYWJsZTogZnVuY3Rpb24gZGVsVGFibGUocm93KSB7CiAgICAgIHZhciBfdGhpczggPSB0aGlzOwogICAgICB0aGlzLiRjb25maXJtKCJcdTZCNjRcdTY0Q0RcdTRGNUNcdTVDMDZcdTUyMjBcdTk2NjRcdUZGMDgiLmNvbmNhdChyb3cubmFtZSwgIlx1RkYwOSwgXHU2NjJGXHU1NDI2XHU3RUU3XHU3RUVEPyIpLCAn5o+Q56S6JywgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAn56Gu5a6aJywKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAn5Y+W5raIJywKICAgICAgICB0eXBlOiAnd2FybmluZycKICAgICAgfSkudGhlbigvKiNfX1BVUkVfXyovX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWU3KCkgewogICAgICAgIHZhciBfeWllbGQkQVBJJHJlbW92ZVNoYXIyLCBzdGF0ZSwgbWVzc2FnZTsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTckKF9jb250ZXh0NykgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQ3LnByZXYgPSBfY29udGV4dDcubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgX2NvbnRleHQ3LnByZXYgPSAwOwogICAgICAgICAgICAgIF9jb250ZXh0Ny5uZXh0ID0gMzsKICAgICAgICAgICAgICByZXR1cm4gQVBJLnJlbW92ZVNoYXJlKHJvdy5pZCk7CiAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICBfeWllbGQkQVBJJHJlbW92ZVNoYXIyID0gX2NvbnRleHQ3LnNlbnQ7CiAgICAgICAgICAgICAgc3RhdGUgPSBfeWllbGQkQVBJJHJlbW92ZVNoYXIyLnN0YXRlOwogICAgICAgICAgICAgIG1lc3NhZ2UgPSBfeWllbGQkQVBJJHJlbW92ZVNoYXIyLm1lc3NhZ2U7CiAgICAgICAgICAgICAgaWYgKCFzdGF0ZSkgewogICAgICAgICAgICAgICAgX2NvbnRleHQ3Lm5leHQgPSAxMjsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBfY29udGV4dDcubmV4dCA9IDk7CiAgICAgICAgICAgICAgcmV0dXJuIF90aGlzOC5nZXREYXRhKCk7CiAgICAgICAgICAgIGNhc2UgOToKICAgICAgICAgICAgICBfdGhpczguJG1lc3NhZ2Uuc3VjY2Vzcygn5Yig6Zmk5oiQ5Yqf77yBJyk7CiAgICAgICAgICAgICAgX2NvbnRleHQ3Lm5leHQgPSAxMzsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAxMjoKICAgICAgICAgICAgICBfdGhpczguJG1lc3NhZ2Uud2FybmluZyhtZXNzYWdlIHx8ICfliKDpmaTlpLHotKXvvIEnKTsKICAgICAgICAgICAgY2FzZSAxMzoKICAgICAgICAgICAgICBfY29udGV4dDcubmV4dCA9IDE4OwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDE1OgogICAgICAgICAgICAgIF9jb250ZXh0Ny5wcmV2ID0gMTU7CiAgICAgICAgICAgICAgX2NvbnRleHQ3LnQwID0gX2NvbnRleHQ3WyJjYXRjaCJdKDApOwogICAgICAgICAgICAgIF90aGlzOC4kbWVzc2FnZS53YXJuaW5nKF9jb250ZXh0Ny50MCB8fCAn5Yig6Zmk5aSx6LSl77yBJyk7CiAgICAgICAgICAgIGNhc2UgMTg6CiAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0Ny5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTcsIG51bGwsIFtbMCwgMTVdXSk7CiAgICAgIH0pKSkuY2F0Y2goZnVuY3Rpb24gKCkge30pOwogICAgfQogIH0KfTs="},null]}