{"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\\node_modules\\@jiaminghi\\data-view\\lib\\components\\scrollBoard\\src\\main.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@jiaminghi\\data-view\\lib\\components\\scrollBoard\\src\\main.vue","mtime":499162500000},{"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:aW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvZGF0YVNoYXJlLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3JlZ2VuZXJhdG9yUnVudGltZS5qcyI7CmltcG9ydCBfYXN5bmNUb0dlbmVyYXRvciBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS9kYXRhU2hhcmUtZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXN5bmNUb0dlbmVyYXRvci5qcyI7CmltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gIkQ6L2plbmtpbnMvd29ya3NwYWNlL2RhdGFTaGFyZS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIjsKaW1wb3J0IF90b0NvbnN1bWFibGVBcnJheSBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS9kYXRhU2hhcmUtZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdG9Db25zdW1hYmxlQXJyYXkuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5jb25jYXQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5maWxsLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnJlZHVjZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNsaWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc3BsaWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzbmV4dC5pdGVyYXRvci5jb25zdHJ1Y3Rvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzbmV4dC5pdGVyYXRvci5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IucmVkdWNlLmpzIjsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCBhdXRvUmVzaXplIGZyb20gJy4uLy4uLy4uL21peGluL2F1dG9SZXNpemUnOwppbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tICdAamlhbWluZ2hpL2NoYXJ0cy9saWIvdXRpbC9pbmRleCc7CmltcG9ydCB7IGRlZXBDbG9uZSB9IGZyb20gJ0BqaWFtaW5naGkvYy1yZW5kZXIvbGliL3BsdWdpbi91dGlsJzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdEdlNjcm9sbEJvYXJkJywKICBtaXhpbnM6IFthdXRvUmVzaXplXSwKICBwcm9wczogewogICAgY29uZmlnOiB7CiAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuIHt9OwogICAgICB9CiAgICB9CiAgfSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgcmVmOiAnc2Nyb2xsLWJvYXJkJywKICAgICAgZGVmYXVsdENvbmZpZzogewogICAgICAgIC8qKgogICAgICAgICAqIEBkZXNjcmlwdGlvbiBCb2FyZCBoZWFkZXIKICAgICAgICAgKiBAdHlwZSB7QXJyYXk8U3RyaW5nPn0KICAgICAgICAgKiBAZGVmYXVsdCBoZWFkZXIgPSBbXQogICAgICAgICAqIEBleGFtcGxlIGhlYWRlciA9IFsnY29sdW1uMScsICdjb2x1bW4yJywgJ2NvbHVtbjMnXQogICAgICAgICAqLwogICAgICAgIGhlYWRlcjogW10sCiAgICAgICAgLyoqCiAgICAgICAgICogQGRlc2NyaXB0aW9uIEJvYXJkIGRhdGEKICAgICAgICAgKiBAdHlwZSB7QXJyYXk8QXJyYXk+fQogICAgICAgICAqIEBkZWZhdWx0IGRhdGEgPSBbXQogICAgICAgICAqLwogICAgICAgIGRhdGE6IFtdLAogICAgICAgIC8qKgogICAgICAgICAqIEBkZXNjcmlwdGlvbiBSb3cgbnVtCiAgICAgICAgICogQHR5cGUge051bWJlcn0KICAgICAgICAgKiBAZGVmYXVsdCByb3dOdW0gPSA1CiAgICAgICAgICovCiAgICAgICAgcm93TnVtOiA1LAogICAgICAgIC8qKgogICAgICAgICAqIEBkZXNjcmlwdGlvbiBIZWFkZXIgYmFja2dyb3VuZCBjb2xvcgogICAgICAgICAqIEB0eXBlIHtTdHJpbmd9CiAgICAgICAgICogQGRlZmF1bHQgaGVhZGVyQkdDID0gJyMwMEJBRkYnCiAgICAgICAgICovCiAgICAgICAgaGVhZGVyQkdDOiAnIzAwQkFGRicsCiAgICAgICAgLyoqCiAgICAgICAgICogQGRlc2NyaXB0aW9uIE9kZCByb3cgYmFja2dyb3VuZCBjb2xvcgogICAgICAgICAqIEB0eXBlIHtTdHJpbmd9CiAgICAgICAgICogQGRlZmF1bHQgb2RkUm93QkdDID0gJyMwMDNCNTEnCiAgICAgICAgICovCiAgICAgICAgb2RkUm93QkdDOiAnIzAwM0I1MScsCiAgICAgICAgLyoqCiAgICAgICAgICogQGRlc2NyaXB0aW9uIEV2ZW4gcm93IGJhY2tncm91bmQgY29sb3IKICAgICAgICAgKiBAdHlwZSB7U3RyaW5nfQogICAgICAgICAqIEBkZWZhdWx0IGV2ZW5Sb3dCR0MgPSAnIzAwM0I1MScKICAgICAgICAgKi8KICAgICAgICBldmVuUm93QkdDOiAnIzBBMjczMicsCiAgICAgICAgLyoqCiAgICAgICAgICogQGRlc2NyaXB0aW9uIFNjcm9sbCB3YWl0IHRpbWUKICAgICAgICAgKiBAdHlwZSB7TnVtYmVyfQogICAgICAgICAqIEBkZWZhdWx0IHdhaXRUaW1lID0gMjAwMAogICAgICAgICAqLwogICAgICAgIHdhaXRUaW1lOiAyMDAwLAogICAgICAgIC8qKgogICAgICAgICAqIEBkZXNjcmlwdGlvbiBIZWFkZXIgaGVpZ2h0CiAgICAgICAgICogQHR5cGUge051bWJlcn0KICAgICAgICAgKiBAZGVmYXVsdCBoZWFkZXJIZWlnaHQgPSAzNQogICAgICAgICAqLwogICAgICAgIGhlYWRlckhlaWdodDogMzUsCiAgICAgICAgLyoqCiAgICAgICAgICogQGRlc2NyaXB0aW9uIENvbHVtbiB3aWR0aAogICAgICAgICAqIEB0eXBlIHtBcnJheTxOdW1iZXI+fQogICAgICAgICAqIEBkZWZhdWx0IGNvbHVtbldpZHRoID0gW10KICAgICAgICAgKi8KICAgICAgICBjb2x1bW5XaWR0aDogW10sCiAgICAgICAgLyoqCiAgICAgICAgICogQGRlc2NyaXB0aW9uIENvbHVtbiBhbGlnbgogICAgICAgICAqIEB0eXBlIHtBcnJheTxTdHJpbmc+fQogICAgICAgICAqIEBkZWZhdWx0IGFsaWduID0gW10KICAgICAgICAgKiBAZXhhbXBsZSBhbGlnbiA9IFsnbGVmdCcsICdjZW50ZXInLCAncmlnaHQnXQogICAgICAgICAqLwogICAgICAgIGFsaWduOiBbXSwKICAgICAgICAvKioKICAgICAgICAgKiBAZGVzY3JpcHRpb24gU2hvdyBpbmRleAogICAgICAgICAqIEB0eXBlIHtCb29sZWFufQogICAgICAgICAqIEBkZWZhdWx0IGluZGV4ID0gZmFsc2UKICAgICAgICAgKi8KICAgICAgICBpbmRleDogZmFsc2UsCiAgICAgICAgLyoqCiAgICAgICAgICogQGRlc2NyaXB0aW9uIGluZGV4IEhlYWRlcgogICAgICAgICAqIEB0eXBlIHtTdHJpbmd9CiAgICAgICAgICogQGRlZmF1bHQgaW5kZXhIZWFkZXIgPSAnIycKICAgICAgICAgKi8KICAgICAgICBpbmRleEhlYWRlcjogJyMnLAogICAgICAgIC8qKgogICAgICAgICAqIEBkZXNjcmlwdGlvbiBDYXJvdXNlbCB0eXBlCiAgICAgICAgICogQHR5cGUge1N0cmluZ30KICAgICAgICAgKiBAZGVmYXVsdCBjYXJvdXNlbCA9ICdzaW5nbGUnCiAgICAgICAgICogQGV4YW1wbGUgY2Fyb3VzZWwgPSAnc2luZ2xlJyB8ICdwYWdlJwogICAgICAgICAqLwogICAgICAgIGNhcm91c2VsOiAnc2luZ2xlJywKICAgICAgICAvKioKICAgICAgICAgKiBAZGVzY3JpcHRpb24gUGF1c2Ugc2Nyb2xsIHdoZW4gbW91c2UgaG92ZXJlZAogICAgICAgICAqIEB0eXBlIHtCb29sZWFufQogICAgICAgICAqIEBkZWZhdWx0IGhvdmVyUGF1c2UgPSB0cnVlCiAgICAgICAgICogQGV4YW1wbGUgaG92ZXJQYXVzZSA9IHRydWUgfCBmYWxzZQogICAgICAgICAqLwogICAgICAgIGhvdmVyUGF1c2U6IHRydWUKICAgICAgfSwKICAgICAgbWVyZ2VkQ29uZmlnOiBudWxsLAogICAgICBoZWFkZXI6IFtdLAogICAgICByb3dzRGF0YTogW10sCiAgICAgIHJvd3M6IFtdLAogICAgICB3aWR0aHM6IFtdLAogICAgICBoZWlnaHRzOiBbXSwKICAgICAgYXZnSGVpZ2h0OiAwLAogICAgICBhbGlnbnM6IFtdLAogICAgICBhbmltYXRpb25JbmRleDogMCwKICAgICAgYW5pbWF0aW9uSGFuZGxlcjogJycsCiAgICAgIHVwZGF0ZXI6IDAsCiAgICAgIG5lZWRDYWxjOiBmYWxzZQogICAgfTsKICB9LAogIHdhdGNoOiB7CiAgICBjb25maWc6IGZ1bmN0aW9uIGNvbmZpZygpIHsKICAgICAgdmFyIHN0b3BBbmltYXRpb24gPSB0aGlzLnN0b3BBbmltYXRpb24sCiAgICAgICAgY2FsY0RhdGEgPSB0aGlzLmNhbGNEYXRhOwogICAgICBzdG9wQW5pbWF0aW9uKCk7CiAgICAgIHRoaXMuYW5pbWF0aW9uSW5kZXggPSAwOwogICAgICBjYWxjRGF0YSgpOwogICAgfQogIH0sCiAgbWV0aG9kczogewogICAgaGFuZGxlSG92ZXI6IGZ1bmN0aW9uIGhhbmRsZUhvdmVyKGVudGVyLCByaSwgY2ksIHJvdywgY2VpbCkgewogICAgICB2YXIgbWVyZ2VkQ29uZmlnID0gdGhpcy5tZXJnZWRDb25maWcsCiAgICAgICAgZW1pdEV2ZW50ID0gdGhpcy5lbWl0RXZlbnQsCiAgICAgICAgc3RvcEFuaW1hdGlvbiA9IHRoaXMuc3RvcEFuaW1hdGlvbiwKICAgICAgICBhbmltYXRpb24gPSB0aGlzLmFuaW1hdGlvbjsKICAgICAgaWYgKGVudGVyKSBlbWl0RXZlbnQoJ21vdXNlb3ZlcicsIHJpLCBjaSwgcm93LCBjZWlsKTsKICAgICAgaWYgKCFtZXJnZWRDb25maWcuaG92ZXJQYXVzZSkgcmV0dXJuOwogICAgICBpZiAoZW50ZXIpIHsKICAgICAgICBzdG9wQW5pbWF0aW9uKCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgYW5pbWF0aW9uKHRydWUpOwogICAgICB9CiAgICB9LAogICAgYWZ0ZXJBdXRvUmVzaXplTWl4aW5Jbml0OiBmdW5jdGlvbiBhZnRlckF1dG9SZXNpemVNaXhpbkluaXQoKSB7CiAgICAgIHZhciBjYWxjRGF0YSA9IHRoaXMuY2FsY0RhdGE7CiAgICAgIGNhbGNEYXRhKCk7CiAgICB9LAogICAgb25SZXNpemU6IGZ1bmN0aW9uIG9uUmVzaXplKCkgewogICAgICB2YXIgbWVyZ2VkQ29uZmlnID0gdGhpcy5tZXJnZWRDb25maWcsCiAgICAgICAgY2FsY1dpZHRocyA9IHRoaXMuY2FsY1dpZHRocywKICAgICAgICBjYWxjSGVpZ2h0cyA9IHRoaXMuY2FsY0hlaWdodHM7CiAgICAgIGlmICghbWVyZ2VkQ29uZmlnKSByZXR1cm47CiAgICAgIGNhbGNXaWR0aHMoKTsKICAgICAgY2FsY0hlaWdodHMoKTsKICAgIH0sCiAgICBjYWxjRGF0YTogZnVuY3Rpb24gY2FsY0RhdGEoKSB7CiAgICAgIHZhciBtZXJnZUNvbmZpZyA9IHRoaXMubWVyZ2VDb25maWcsCiAgICAgICAgY2FsY0hlYWRlckRhdGEgPSB0aGlzLmNhbGNIZWFkZXJEYXRhLAogICAgICAgIGNhbGNSb3dzRGF0YSA9IHRoaXMuY2FsY1Jvd3NEYXRhOwogICAgICBtZXJnZUNvbmZpZygpOwogICAgICBjYWxjSGVhZGVyRGF0YSgpOwogICAgICBjYWxjUm93c0RhdGEoKTsKICAgICAgdmFyIGNhbGNXaWR0aHMgPSB0aGlzLmNhbGNXaWR0aHMsCiAgICAgICAgY2FsY0hlaWdodHMgPSB0aGlzLmNhbGNIZWlnaHRzLAogICAgICAgIGNhbGNBbGlnbnMgPSB0aGlzLmNhbGNBbGlnbnM7CiAgICAgIGNhbGNXaWR0aHMoKTsKICAgICAgY2FsY0hlaWdodHMoKTsKICAgICAgY2FsY0FsaWducygpOwogICAgICB2YXIgYW5pbWF0aW9uID0gdGhpcy5hbmltYXRpb247CiAgICAgIGFuaW1hdGlvbih0cnVlKTsKICAgIH0sCiAgICBtZXJnZUNvbmZpZzogZnVuY3Rpb24gbWVyZ2VDb25maWcoKSB7CiAgICAgIHZhciBjb25maWcgPSB0aGlzLmNvbmZpZywKICAgICAgICBkZWZhdWx0Q29uZmlnID0gdGhpcy5kZWZhdWx0Q29uZmlnOwogICAgICB0aGlzLm1lcmdlZENvbmZpZyA9IGRlZXBNZXJnZShkZWVwQ2xvbmUoZGVmYXVsdENvbmZpZywgdHJ1ZSksIGNvbmZpZyB8fCB7fSk7CiAgICB9LAogICAgY2FsY0hlYWRlckRhdGE6IGZ1bmN0aW9uIGNhbGNIZWFkZXJEYXRhKCkgewogICAgICB2YXIgX3RoaXMkbWVyZ2VkQ29uZmlnID0gdGhpcy5tZXJnZWRDb25maWcsCiAgICAgICAgaGVhZGVyID0gX3RoaXMkbWVyZ2VkQ29uZmlnLmhlYWRlciwKICAgICAgICBpbmRleCA9IF90aGlzJG1lcmdlZENvbmZpZy5pbmRleCwKICAgICAgICBpbmRleEhlYWRlciA9IF90aGlzJG1lcmdlZENvbmZpZy5pbmRleEhlYWRlcjsKICAgICAgaWYgKCFoZWFkZXIubGVuZ3RoKSB7CiAgICAgICAgdGhpcy5oZWFkZXIgPSBbXTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgaGVhZGVyID0gX3RvQ29uc3VtYWJsZUFycmF5KGhlYWRlcik7CiAgICAgIGlmIChpbmRleCkgaGVhZGVyLnVuc2hpZnQoaW5kZXhIZWFkZXIpOwogICAgICB0aGlzLmhlYWRlciA9IGhlYWRlcjsKICAgIH0sCiAgICBjYWxjUm93c0RhdGE6IGZ1bmN0aW9uIGNhbGNSb3dzRGF0YSgpIHsKICAgICAgdmFyIF90aGlzJG1lcmdlZENvbmZpZzIgPSB0aGlzLm1lcmdlZENvbmZpZywKICAgICAgICBkYXRhID0gX3RoaXMkbWVyZ2VkQ29uZmlnMi5kYXRhLAogICAgICAgIGluZGV4ID0gX3RoaXMkbWVyZ2VkQ29uZmlnMi5pbmRleCwKICAgICAgICBoZWFkZXJCR0MgPSBfdGhpcyRtZXJnZWRDb25maWcyLmhlYWRlckJHQywKICAgICAgICByb3dOdW0gPSBfdGhpcyRtZXJnZWRDb25maWcyLnJvd051bTsKICAgICAgaWYgKGluZGV4KSB7CiAgICAgICAgZGF0YSA9IGRhdGEubWFwKGZ1bmN0aW9uIChyb3csIGkpIHsKICAgICAgICAgIHJvdyA9IF90b0NvbnN1bWFibGVBcnJheShyb3cpOwogICAgICAgICAgdmFyIGluZGV4VGFnID0gIjxzcGFuIGNsYXNzPVwiaW5kZXhcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICIuY29uY2F0KGhlYWRlckJHQywgIjtcIj4iKS5jb25jYXQoaSArIDEsICI8L3NwYW4+Iik7CiAgICAgICAgICByb3cudW5zaGlmdChpbmRleFRhZyk7CiAgICAgICAgICByZXR1cm4gcm93OwogICAgICAgIH0pOwogICAgICB9CiAgICAgIGRhdGEgPSBkYXRhLm1hcChmdW5jdGlvbiAoY2VpbHMsIGkpIHsKICAgICAgICByZXR1cm4gewogICAgICAgICAgY2VpbHM6IGNlaWxzLAogICAgICAgICAgcm93SW5kZXg6IGkKICAgICAgICB9OwogICAgICB9KTsKICAgICAgdmFyIHJvd0xlbmd0aCA9IGRhdGEubGVuZ3RoOwogICAgICBpZiAocm93TGVuZ3RoID4gcm93TnVtICYmIHJvd0xlbmd0aCA8IDIgKiByb3dOdW0pIHsKICAgICAgICBkYXRhID0gW10uY29uY2F0KF90b0NvbnN1bWFibGVBcnJheShkYXRhKSwgX3RvQ29uc3VtYWJsZUFycmF5KGRhdGEpKTsKICAgICAgfQogICAgICBkYXRhID0gZGF0YS5tYXAoZnVuY3Rpb24gKGQsIGkpIHsKICAgICAgICByZXR1cm4gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBkKSwge30sIHsKICAgICAgICAgIHNjcm9sbDogaQogICAgICAgIH0pOwogICAgICB9KTsKICAgICAgdGhpcy5yb3dzRGF0YSA9IGRhdGE7CiAgICAgIHRoaXMucm93cyA9IGRhdGE7CiAgICB9LAogICAgY2FsY1dpZHRoczogZnVuY3Rpb24gY2FsY1dpZHRocygpIHsKICAgICAgdmFyIHdpZHRoID0gdGhpcy53aWR0aCwKICAgICAgICBtZXJnZWRDb25maWcgPSB0aGlzLm1lcmdlZENvbmZpZywKICAgICAgICByb3dzRGF0YSA9IHRoaXMucm93c0RhdGE7CiAgICAgIHZhciBjb2x1bW5XaWR0aCA9IG1lcmdlZENvbmZpZy5jb2x1bW5XaWR0aCwKICAgICAgICBoZWFkZXIgPSBtZXJnZWRDb25maWcuaGVhZGVyOwogICAgICB2YXIgdXNlZFdpZHRoID0gY29sdW1uV2lkdGgucmVkdWNlKGZ1bmN0aW9uIChhbGwsIHcpIHsKICAgICAgICByZXR1cm4gYWxsICsgdzsKICAgICAgfSwgMCk7CiAgICAgIHZhciBjb2x1bW5OdW0gPSAwOwogICAgICBpZiAocm93c0RhdGFbMF0pIHsKICAgICAgICBjb2x1bW5OdW0gPSByb3dzRGF0YVswXS5jZWlscy5sZW5ndGg7CiAgICAgIH0gZWxzZSBpZiAoaGVhZGVyLmxlbmd0aCkgewogICAgICAgIGNvbHVtbk51bSA9IGhlYWRlci5sZW5ndGg7CiAgICAgIH0KICAgICAgdmFyIGF2Z1dpZHRoID0gKHdpZHRoIC0gdXNlZFdpZHRoKSAvIChjb2x1bW5OdW0gLSBjb2x1bW5XaWR0aC5sZW5ndGgpOwogICAgICB2YXIgd2lkdGhzID0gbmV3IEFycmF5KGNvbHVtbk51bSkuZmlsbChhdmdXaWR0aCk7CiAgICAgIHRoaXMud2lkdGhzID0gZGVlcE1lcmdlKHdpZHRocywgY29sdW1uV2lkdGgpOwogICAgfSwKICAgIGNhbGNIZWlnaHRzOiBmdW5jdGlvbiBjYWxjSGVpZ2h0cygpIHsKICAgICAgdmFyIG9ucmVzaXplID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiBmYWxzZTsKICAgICAgdmFyIGhlaWdodCA9IHRoaXMuaGVpZ2h0LAogICAgICAgIG1lcmdlZENvbmZpZyA9IHRoaXMubWVyZ2VkQ29uZmlnLAogICAgICAgIGhlYWRlciA9IHRoaXMuaGVhZGVyOwogICAgICB2YXIgaGVhZGVySGVpZ2h0ID0gbWVyZ2VkQ29uZmlnLmhlYWRlckhlaWdodCwKICAgICAgICByb3dOdW0gPSBtZXJnZWRDb25maWcucm93TnVtLAogICAgICAgIGRhdGEgPSBtZXJnZWRDb25maWcuZGF0YTsKICAgICAgdmFyIGFsbEhlaWdodCA9IGhlaWdodDsKICAgICAgaWYgKGhlYWRlci5sZW5ndGgpIGFsbEhlaWdodCAtPSBoZWFkZXJIZWlnaHQ7CiAgICAgIHZhciBhdmdIZWlnaHQgPSBhbGxIZWlnaHQgLyByb3dOdW07CiAgICAgIHRoaXMuYXZnSGVpZ2h0ID0gYXZnSGVpZ2h0OwogICAgICBpZiAoIW9ucmVzaXplKSB0aGlzLmhlaWdodHMgPSBuZXcgQXJyYXkoZGF0YS5sZW5ndGgpLmZpbGwoYXZnSGVpZ2h0KTsKICAgIH0sCiAgICBjYWxjQWxpZ25zOiBmdW5jdGlvbiBjYWxjQWxpZ25zKCkgewogICAgICB2YXIgaGVhZGVyID0gdGhpcy5oZWFkZXIsCiAgICAgICAgbWVyZ2VkQ29uZmlnID0gdGhpcy5tZXJnZWRDb25maWc7CiAgICAgIHZhciBjb2x1bW5OdW0gPSBoZWFkZXIubGVuZ3RoOwogICAgICB2YXIgYWxpZ25zID0gbmV3IEFycmF5KGNvbHVtbk51bSkuZmlsbCgnbGVmdCcpOwogICAgICB2YXIgYWxpZ24gPSBtZXJnZWRDb25maWcuYWxpZ247CiAgICAgIHRoaXMuYWxpZ25zID0gZGVlcE1lcmdlKGFsaWducywgYWxpZ24pOwogICAgfSwKICAgIGFuaW1hdGlvbjogZnVuY3Rpb24gYW5pbWF0aW9uKCkgewogICAgICB2YXIgX2FyZ3VtZW50cyA9IGFyZ3VtZW50cywKICAgICAgICBfdGhpcyA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZSgpIHsKICAgICAgICB2YXIgX3RoaXMkaGVpZ2h0czsKICAgICAgICB2YXIgc3RhcnQsIG5lZWRDYWxjLCBjYWxjSGVpZ2h0cywgY2FsY1Jvd3NEYXRhLCBhdmdIZWlnaHQsIGFuaW1hdGlvbkluZGV4LCBtZXJnZWRDb25maWcsIHJvd3NEYXRhLCBhbmltYXRpb24sIHVwZGF0ZXIsIHdhaXRUaW1lLCBjYXJvdXNlbCwgcm93TnVtLCByb3dMZW5ndGgsIGFuaW1hdGlvbk51bSwgcm93cywgYmFjazsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZSQoX2NvbnRleHQpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBzdGFydCA9IF9hcmd1bWVudHMubGVuZ3RoID4gMCAmJiBfYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBfYXJndW1lbnRzWzBdIDogZmFsc2U7CiAgICAgICAgICAgICAgbmVlZENhbGMgPSBfdGhpcy5uZWVkQ2FsYywgY2FsY0hlaWdodHMgPSBfdGhpcy5jYWxjSGVpZ2h0cywgY2FsY1Jvd3NEYXRhID0gX3RoaXMuY2FsY1Jvd3NEYXRhOwogICAgICAgICAgICAgIGlmIChuZWVkQ2FsYykgewogICAgICAgICAgICAgICAgY2FsY1Jvd3NEYXRhKCk7CiAgICAgICAgICAgICAgICBjYWxjSGVpZ2h0cygpOwogICAgICAgICAgICAgICAgX3RoaXMubmVlZENhbGMgPSBmYWxzZTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgYXZnSGVpZ2h0ID0gX3RoaXMuYXZnSGVpZ2h0LCBhbmltYXRpb25JbmRleCA9IF90aGlzLmFuaW1hdGlvbkluZGV4LCBtZXJnZWRDb25maWcgPSBfdGhpcy5tZXJnZWRDb25maWcsIHJvd3NEYXRhID0gX3RoaXMucm93c0RhdGEsIGFuaW1hdGlvbiA9IF90aGlzLmFuaW1hdGlvbiwgdXBkYXRlciA9IF90aGlzLnVwZGF0ZXI7CiAgICAgICAgICAgICAgd2FpdFRpbWUgPSBtZXJnZWRDb25maWcud2FpdFRpbWUsIGNhcm91c2VsID0gbWVyZ2VkQ29uZmlnLmNhcm91c2VsLCByb3dOdW0gPSBtZXJnZWRDb25maWcucm93TnVtOwogICAgICAgICAgICAgIHJvd0xlbmd0aCA9IHJvd3NEYXRhLmxlbmd0aDsKICAgICAgICAgICAgICBpZiAoIShyb3dOdW0gPj0gcm93TGVuZ3RoKSkgewogICAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDg7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0LmFicnVwdCgicmV0dXJuIik7CiAgICAgICAgICAgIGNhc2UgODoKICAgICAgICAgICAgICBpZiAoIXN0YXJ0KSB7CiAgICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMTM7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDExOwogICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQocmVzb2x2ZSwgd2FpdFRpbWUpOwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICBjYXNlIDExOgogICAgICAgICAgICAgIGlmICghKHVwZGF0ZXIgIT09IF90aGlzLnVwZGF0ZXIpKSB7CiAgICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMTM7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0LmFicnVwdCgicmV0dXJuIik7CiAgICAgICAgICAgIGNhc2UgMTM6CiAgICAgICAgICAgICAgYW5pbWF0aW9uTnVtID0gY2Fyb3VzZWwgPT09ICdzaW5nbGUnID8gMSA6IHJvd051bTsKICAgICAgICAgICAgICByb3dzID0gcm93c0RhdGEuc2xpY2UoYW5pbWF0aW9uSW5kZXgpOwogICAgICAgICAgICAgIHJvd3MucHVzaC5hcHBseShyb3dzLCBfdG9Db25zdW1hYmxlQXJyYXkocm93c0RhdGEuc2xpY2UoMCwgYW5pbWF0aW9uSW5kZXgpKSk7CiAgICAgICAgICAgICAgX3RoaXMucm93cyA9IHJvd3Muc2xpY2UoMCwgY2Fyb3VzZWwgPT09ICdwYWdlJyA/IHJvd051bSAqIDIgOiByb3dOdW0gKyAxKTsKICAgICAgICAgICAgICBfdGhpcy5oZWlnaHRzID0gbmV3IEFycmF5KHJvd0xlbmd0aCkuZmlsbChhdmdIZWlnaHQpOwogICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAyMDsKICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHsKICAgICAgICAgICAgICAgIHJldHVybiBzZXRUaW1lb3V0KHJlc29sdmUsIDMwMCk7CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGNhc2UgMjA6CiAgICAgICAgICAgICAgaWYgKCEodXBkYXRlciAhPT0gX3RoaXMudXBkYXRlcikpIHsKICAgICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAyMjsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuYWJydXB0KCJyZXR1cm4iKTsKICAgICAgICAgICAgY2FzZSAyMjoKICAgICAgICAgICAgICAoX3RoaXMkaGVpZ2h0cyA9IF90aGlzLmhlaWdodHMpLnNwbGljZS5hcHBseShfdGhpcyRoZWlnaHRzLCBbMCwgYW5pbWF0aW9uTnVtXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KG5ldyBBcnJheShhbmltYXRpb25OdW0pLmZpbGwoMCkpKSk7CiAgICAgICAgICAgICAgYW5pbWF0aW9uSW5kZXggKz0gYW5pbWF0aW9uTnVtOwogICAgICAgICAgICAgIGJhY2sgPSBhbmltYXRpb25JbmRleCAtIHJvd0xlbmd0aDsKICAgICAgICAgICAgICBpZiAoYmFjayA+PSAwKSBhbmltYXRpb25JbmRleCA9IGJhY2s7CiAgICAgICAgICAgICAgX3RoaXMuYW5pbWF0aW9uSW5kZXggPSBhbmltYXRpb25JbmRleDsKICAgICAgICAgICAgICBfdGhpcy5hbmltYXRpb25IYW5kbGVyID0gc2V0VGltZW91dChhbmltYXRpb24sIHdhaXRUaW1lIC0gMzAwKTsKICAgICAgICAgICAgY2FzZSAyODoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICBzdG9wQW5pbWF0aW9uOiBmdW5jdGlvbiBzdG9wQW5pbWF0aW9uKCkgewogICAgICB2YXIgYW5pbWF0aW9uSGFuZGxlciA9IHRoaXMuYW5pbWF0aW9uSGFuZGxlciwKICAgICAgICB1cGRhdGVyID0gdGhpcy51cGRhdGVyOwogICAgICB0aGlzLnVwZGF0ZXIgPSAodXBkYXRlciArIDEpICUgOTk5OTk5OwogICAgICBpZiAoIWFuaW1hdGlvbkhhbmRsZXIpIHJldHVybjsKICAgICAgY2xlYXJUaW1lb3V0KGFuaW1hdGlvbkhhbmRsZXIpOwogICAgfSwKICAgIGVtaXRFdmVudDogZnVuY3Rpb24gZW1pdEV2ZW50KHR5cGUsIHJpLCBjaSwgcm93LCBjZWlsKSB7CiAgICAgIHZhciBjZWlscyA9IHJvdy5jZWlscywKICAgICAgICByb3dJbmRleCA9IHJvdy5yb3dJbmRleDsKICAgICAgdGhpcy4kZW1pdCh0eXBlLCB7CiAgICAgICAgcm93OiBjZWlscywKICAgICAgICBjZWlsOiBjZWlsLAogICAgICAgIHJvd0luZGV4OiByb3dJbmRleCwKICAgICAgICBjb2x1bW5JbmRleDogY2kKICAgICAgfSk7CiAgICB9LAogICAgdXBkYXRlUm93czogZnVuY3Rpb24gdXBkYXRlUm93cyhyb3dzLCBhbmltYXRpb25JbmRleCkgewogICAgICB2YXIgbWVyZ2VkQ29uZmlnID0gdGhpcy5tZXJnZWRDb25maWcsCiAgICAgICAgYW5pbWF0aW9uSGFuZGxlciA9IHRoaXMuYW5pbWF0aW9uSGFuZGxlciwKICAgICAgICBhbmltYXRpb24gPSB0aGlzLmFuaW1hdGlvbjsKICAgICAgdGhpcy5tZXJnZWRDb25maWcgPSBfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIG1lcmdlZENvbmZpZyksIHt9LCB7CiAgICAgICAgZGF0YTogX3RvQ29uc3VtYWJsZUFycmF5KHJvd3MpCiAgICAgIH0pOwogICAgICB0aGlzLm5lZWRDYWxjID0gdHJ1ZTsKICAgICAgaWYgKHR5cGVvZiBhbmltYXRpb25JbmRleCA9PT0gJ251bWJlcicpIHRoaXMuYW5pbWF0aW9uSW5kZXggPSBhbmltYXRpb25JbmRleDsKICAgICAgaWYgKCFhbmltYXRpb25IYW5kbGVyKSBhbmltYXRpb24odHJ1ZSk7CiAgICB9CiAgfSwKICBkZXN0cm95ZWQ6IGZ1bmN0aW9uIGRlc3Ryb3llZCgpIHsKICAgIHZhciBzdG9wQW5pbWF0aW9uID0gdGhpcy5zdG9wQW5pbWF0aW9uOwogICAgc3RvcEFuaW1hdGlvbigpOwogIH0KfTs="},null]}