{"remainingRequest":"/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/babel-loader/lib/index.js!/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/cache-loader/dist/cjs.js??ref--1-0!/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/vue-loader/lib/index.js??vue-loader-options!/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/@abi-software/scaffoldvuer/src/components/ScaffoldVuer.vue?vue&type=script&lang=js&","dependencies":[{"path":"/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/@abi-software/scaffoldvuer/src/components/ScaffoldVuer.vue","mtime":499162500000},{"path":"/home/cmiss/Jenkins/workspace/mapintegratedvuer/babel.config.js","mtime":1684261475125},{"path":"/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/babel-loader/lib/index.js","mtime":456789000000},{"path":"/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9UYWJzMiBmcm9tICJlbGVtZW50LXVpL2xpYi90aGVtZS1jaGFsay90YWJzLmNzcyI7CmltcG9ydCAiZWxlbWVudC11aS9saWIvdGhlbWUtY2hhbGsvYmFzZS5jc3MiOwppbXBvcnQgX1RhYnMgZnJvbSAiZWxlbWVudC11aS9saWIvdGFicyI7CmltcG9ydCBfVGFiUGFuZTIgZnJvbSAiZWxlbWVudC11aS9saWIvdGhlbWUtY2hhbGsvdGFiLXBhbmUuY3NzIjsKaW1wb3J0ICJlbGVtZW50LXVpL2xpYi90aGVtZS1jaGFsay9iYXNlLmNzcyI7CmltcG9ydCBfVGFiUGFuZSBmcm9tICJlbGVtZW50LXVpL2xpYi90YWItcGFuZSI7CmltcG9ydCBfU2xpZGVyMiBmcm9tICJlbGVtZW50LXVpL2xpYi90aGVtZS1jaGFsay9zbGlkZXIuY3NzIjsKaW1wb3J0ICJlbGVtZW50LXVpL2xpYi90aGVtZS1jaGFsay9iYXNlLmNzcyI7CmltcG9ydCBfU2xpZGVyIGZyb20gImVsZW1lbnQtdWkvbGliL3NsaWRlciI7CmltcG9ydCBfU2VsZWN0MiBmcm9tICJlbGVtZW50LXVpL2xpYi90aGVtZS1jaGFsay9zZWxlY3QuY3NzIjsKaW1wb3J0ICJlbGVtZW50LXVpL2xpYi90aGVtZS1jaGFsay9iYXNlLmNzcyI7CmltcG9ydCBfU2VsZWN0IGZyb20gImVsZW1lbnQtdWkvbGliL3NlbGVjdCI7CmltcG9ydCBfUm93MiBmcm9tICJlbGVtZW50LXVpL2xpYi90aGVtZS1jaGFsay9yb3cuY3NzIjsKaW1wb3J0ICJlbGVtZW50LXVpL2xpYi90aGVtZS1jaGFsay9iYXNlLmNzcyI7CmltcG9ydCBfUm93IGZyb20gImVsZW1lbnQtdWkvbGliL3JvdyI7CmltcG9ydCBfUG9wb3ZlcjIgZnJvbSAiZWxlbWVudC11aS9saWIvdGhlbWUtY2hhbGsvcG9wb3Zlci5jc3MiOwppbXBvcnQgImVsZW1lbnQtdWkvbGliL3RoZW1lLWNoYWxrL2Jhc2UuY3NzIjsKaW1wb3J0IF9Qb3BvdmVyIGZyb20gImVsZW1lbnQtdWkvbGliL3BvcG92ZXIiOwppbXBvcnQgX09wdGlvbjIgZnJvbSAiZWxlbWVudC11aS9saWIvdGhlbWUtY2hhbGsvb3B0aW9uLmNzcyI7CmltcG9ydCAiZWxlbWVudC11aS9saWIvdGhlbWUtY2hhbGsvYmFzZS5jc3MiOwppbXBvcnQgX09wdGlvbiBmcm9tICJlbGVtZW50LXVpL2xpYi9vcHRpb24iOwppbXBvcnQgX0xvYWRpbmcyIGZyb20gImVsZW1lbnQtdWkvbGliL3RoZW1lLWNoYWxrL2xvYWRpbmcuY3NzIjsKaW1wb3J0ICJlbGVtZW50LXVpL2xpYi90aGVtZS1jaGFsay9iYXNlLmNzcyI7CmltcG9ydCBfTG9hZGluZyBmcm9tICJlbGVtZW50LXVpL2xpYi9sb2FkaW5nIjsKaW1wb3J0IF9Db2wyIGZyb20gImVsZW1lbnQtdWkvbGliL3RoZW1lLWNoYWxrL2NvbC5jc3MiOwppbXBvcnQgImVsZW1lbnQtdWkvbGliL3RoZW1lLWNoYWxrL2Jhc2UuY3NzIjsKaW1wb3J0IF9Db2wgZnJvbSAiZWxlbWVudC11aS9saWIvY29sIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMubnVtYmVyLnRvLWZpeGVkLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5pdGVyYXRvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuaXRlcmF0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIudXJsLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLnVybC1zZWFyY2gtcGFyYW1zLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5mb3ItZWFjaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qcyI7Ci8qIGVzbGludC1kaXNhYmxlIG5vLWFsZXJ0LCBuby1jb25zb2xlICovCmltcG9ydCBWdWUgZnJvbSAidnVlIjsKaW1wb3J0IE9wYWNpdHlDb250cm9scyBmcm9tICIuL09wYWNpdHlDb250cm9scyI7CmltcG9ydCBTY2FmZm9sZFRvb2x0aXAgZnJvbSAiLi9TY2FmZm9sZFRvb2x0aXAiOwppbXBvcnQgVHJlZUNvbnRyb2xzIGZyb20gIi4vVHJlZUNvbnRyb2xzIjsKaW1wb3J0IHsgTWFwU3ZnSWNvbiwgTWFwU3ZnU3ByaXRlQ29sb3IgfSBmcm9tICJAYWJpLXNvZnR3YXJlL3N2Zy1zcHJpdGUiOwppbXBvcnQgeyBmaW5kT2JqZWN0c1dpdGhOYW1lcyB9IGZyb20gIi4uL3NjcmlwdHMvdXRpbGl0aWVzLmpzIjsKaW1wb3J0IGxhbmcgZnJvbSAiZWxlbWVudC11aS9saWIvbG9jYWxlL2xhbmcvZW4iOwppbXBvcnQgbG9jYWxlIGZyb20gImVsZW1lbnQtdWkvbGliL2xvY2FsZSI7CmxvY2FsZS51c2UobGFuZyk7ClZ1ZS51c2UoX0NvbCk7ClZ1ZS51c2UoX0xvYWRpbmcuZGlyZWN0aXZlKTsKVnVlLnVzZShfT3B0aW9uKTsKVnVlLnVzZShfUG9wb3Zlcik7ClZ1ZS51c2UoX1Jvdyk7ClZ1ZS51c2UoX1NlbGVjdCk7ClZ1ZS51c2UoX1NsaWRlcik7ClZ1ZS51c2UoX1RhYlBhbmUpOwpWdWUudXNlKF9UYWJzKTsKdmFyIE9yZ2Fuc1ZpZXdlciA9IHJlcXVpcmUoIi4uL3NjcmlwdHMvb3JnYW5zUmVuZGVyZXIiKS5PcmdhbnNWaWV3ZXI7CnZhciBFdmVudE5vdGlmaWVyID0gcmVxdWlyZSgiLi4vc2NyaXB0cy9ldmVudE5vdGlmaWVyIikuRXZlbnROb3RpZmllcjsKCi8qKgogKiBBIHZ1ZSBjb21wb25lbnQgb2YgdGhlIHNjYWZmb2xkIHZpZXdlci4KICoKICogQHJlcXVpcmVzIC4vT3BhY2l0eUNvbnRyb2xzLnZ1ZQogKiBAcmVxdWlyZXMgLi9UcmVlQ29udHJvbHMudnVlCiAqLwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogIlNjYWZmb2xkVnVlciIsCiAgY29tcG9uZW50czogewogICAgTWFwU3ZnSWNvbjogTWFwU3ZnSWNvbiwKICAgIE1hcFN2Z1Nwcml0ZUNvbG9yOiBNYXBTdmdTcHJpdGVDb2xvciwKICAgIE9wYWNpdHlDb250cm9sczogT3BhY2l0eUNvbnRyb2xzLAogICAgU2NhZmZvbGRUb29sdGlwOiBTY2FmZm9sZFRvb2x0aXAsCiAgICBUcmVlQ29udHJvbHM6IFRyZWVDb250cm9scwogIH0sCiAgcHJvcHM6IHsKICAgIC8qKgogICAgICogVVJMIG9mIHRoZSB6aW5janMgbWV0YWRhdGEuIFRoaXMgdmFsdWUgd2lsbCBiZSBpZ25vcmVkIGlmIGEgdmFsaWQKICAgICAqIHN0YXRlIHByb3AgaXMgYWxzbyBwcm92aWRlZC4KICAgICAqIElmIHRoZSB1cmwgbmVlZHMgdG8gYmUgdXBkYXRlZCB3aXRoIHN0YXRlIHByZXNlbnQsIHBsZWFzZSB1c2UKICAgICAqIHRoZSBzZXRVUkwgbWV0aG9kLgogICAgICovCiAgICB1cmw6IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0OiAiIgogICAgfSwKICAgIC8qKgogICAgICogU2hvdyB0aGUgY29sb3VyIGNvbnRyb2wgb2Ygc2V0IHRvIHRydWUuCiAgICAgKi8KICAgIHNob3dDb2xvdXJQaWNrZXI6IHsKICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgZGVmYXVsdDogZmFsc2UKICAgIH0sCiAgICAvKioKICAgICAqIEZsYWcgdG8gc2hvdy9oaWRlIHRoZSBVSS4KICAgICAqLwogICAgZGlzcGxheVVJOiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQ6IHRydWUKICAgIH0sCiAgICAvKioKICAgICAqIERpc3BsYXkgYWxsIGdyYXBoaWNzIGF0IHN0YXJ0LgogICAgICoKICAgICAqIFRoaXMgc2V0dGluZyBvbmx5IHdvcmtzIHdoZW4gdHJhZGl0aW9uYWwgaXMgc2V0IHRvIGZhbHNlLgogICAgICovCiAgICBkaXNwbGF5QXRTdGFydFVwOiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQ6IHRydWUKICAgIH0sCiAgICAvKioKICAgICAqIFVzZSBmb3IgdG9nZ2xpbmcgdGhlIGhlbHAgdG9vbHRpcHMuCiAgICAgKi8KICAgIGhlbHBNb2RlOiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQ6IGZhbHNlCiAgICB9LAogICAgLyoqCiAgICAgKiBVc2UgZm9yIHNob3cvZGlzcGxheSBiZXRhIHdhcm5pbmcgaWNvbi4KICAgICAqLwogICAgZGlzcGxheVdhcm5pbmc6IHsKICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgZGVmYXVsdDogdHJ1ZQogICAgfSwKICAgIC8qKgogICAgICogV2FybmluZyBtZXNzYWdlIGZvciB0aGUgaG92ZXJlZCBvdmVyIHRleHQKICAgICAqIG9uIHRoZSB3YXJuaW5nIGljb24uCiAgICAgKi8KICAgIHdhcm5pbmdNZXNzYWdlOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogIkJldGEgZmVhdHVyZSAtIHVuZGVyIGFjdGl2ZSBkZXZlbG9wbWVudCIKICAgIH0sCiAgICAvKioKICAgICAqIFNob3cvaGlkZSBwaWNrYWJsZSBtYXJrZXJzIGZvciByZWdpb25zLgogICAgICovCiAgICBkaXNwbGF5TWFya2VyczogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiBmYWxzZQogICAgfSwKICAgIC8qKgogICAgICogU2hvdy9oaWRlIG1pbmltYXAuCiAgICAgKi8KICAgIGRpc3BsYXlNaW5pbWFwOiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQ6IGZhbHNlCiAgICB9LAogICAgLyoqCiAgICAgKiBGb3JtYXQgb2YgdGhlIGlucHV0IFVSTAogICAgICovCiAgICBmb3JtYXQ6IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0OiAibWV0YWRhdGEiCiAgICB9LAogICAgLyoqCiAgICAgKiBTZXR0aW5ncyBmb3IgbWluaW1hcCBwb3NpdGlvbiwgc2l6ZSBhbmQgYWxpZ25tZW50LgogICAgICovCiAgICBtaW5pbWFwU2V0dGluZ3M6IHsKICAgICAgdHlwZTogT2JqZWN0LAogICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHsKICAgICAgICByZXR1cm4gewogICAgICAgICAgeF9vZmZzZXQ6IDE2LAogICAgICAgICAgeV9vZmZzZXQ6IDE2LAogICAgICAgICAgd2lkdGg6IDEyOCwKICAgICAgICAgIGhlaWdodDogMTI4LAogICAgICAgICAgYWxpZ246ICJ0b3AtcmlnaHQiCiAgICAgICAgfTsKICAgICAgfQogICAgfSwKICAgIC8qKgogICAgICogU3RhdGUgY29udGFpbmluZyBzdGF0ZSBvZiB0aGUgc2NhZmZvbGQuCiAgICAgKi8KICAgIHN0YXRlOiB7CiAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgZGVmYXVsdDogdW5kZWZpbmVkCiAgICB9LAogICAgLyoqCiAgICAgKiBPcHRpb25hbCBwcm9wIGZvciB0aGUgbmFtZSBvZiB0aGUgcmVnaW9uIHRvIGZvY3VzIG9uLAogICAgICogdGhpcyBvcHRpb24gaXMgaWdub3JlZCBpZiBzdGF0ZSBvciB2aWV3VVJMIGlzIGFsc28gcHJvdmlkZWQuCiAgICAgKi8KICAgIHJlZ2lvbjogewogICAgICB0eXBlOiBTdHJpbmcsCiAgICAgIGRlZmF1bHQ6ICIiCiAgICB9LAogICAgLyoqCiAgICAgKiBPcHRpb25hbCBwcm9wIGZvciBhbiBVUkwgb2YgY29udGFpbmluZyBpbmZvcm1hdGlvbiBvZiBhIHZpZXdwb3J0LgogICAgICogVGhpcyBvcHRpb24gaXMgaWdub3JlZCBpZiBzdGF0ZSBpcyBhbHNvIHByb3ZpZGVkLgogICAgICogSXQgd2lsbCB1c2UgdGhlIHByb3ZpZGVkIFVSTCBhcyBiYXNlIGlmIGEgcmVsYXRpdmUgcGFydGggaXMgcHJvdmlkZWQuCiAgICAgKi8KICAgIHZpZXdVUkw6IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0OiAiIgogICAgfSwKICAgIC8qKgogICAgICogU2V0dGluZ3MgZm9yIHR1cm5pbmcgb24vb2ZmIHJlbmRlcmluZwogICAgICovCiAgICByZW5kZXI6IHsKICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgZGVmYXVsdDogdHJ1ZQogICAgfQogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIHNjZW5lRGF0YTogdGhpcy4kbW9kdWxlLnNjZW5lRGF0YSwKICAgICAgaXNQbGF5aW5nOiBmYWxzZSwKICAgICAgLyoqCiAgICAgICAqIFRoaXMgaXMgc2V0IHdoZW4gc2NlbmUgaXMgdHJhbnNpdGlvbmluZy4KICAgICAgICovCiAgICAgIGlzVHJhbnNpdGlvbmluZzogZmFsc2UsCiAgICAgIHRvb2x0aXBBcHBlbmRUb0JvZHk6IGZhbHNlLAogICAgICBob3ZlclZpc2FiaWxpdGllczogW3sKICAgICAgICB2YWx1ZTogZmFsc2UKICAgICAgfSwgewogICAgICAgIHZhbHVlOiBmYWxzZQogICAgICB9LCB7CiAgICAgICAgdmFsdWU6IGZhbHNlCiAgICAgIH0sIHsKICAgICAgICB2YWx1ZTogZmFsc2UKICAgICAgfSwgewogICAgICAgIHZhbHVlOiBmYWxzZQogICAgICB9LCB7CiAgICAgICAgdmFsdWU6IGZhbHNlCiAgICAgIH0sIHsKICAgICAgICB2YWx1ZTogZmFsc2UKICAgICAgfV0sCiAgICAgIGluSGVscDogZmFsc2UsCiAgICAgIGxvYWRpbmc6IGZhbHNlLAogICAgICBkdXJhdGlvbjogMzAwMCwKICAgICAgZHJhd2VyT3BlbjogdHJ1ZSwKICAgICAgY3VycmVudEJhY2tncm91bmQ6ICJ3aGl0ZSIsCiAgICAgIGF2YWlsYWJsZUJhY2tncm91bmQ6IFsid2hpdGUiLCAibGlnaHRza3libHVlIiwgImJsYWNrIl0sCiAgICAgIG1pbmltaXNlZFNsaWRlcjogZmFsc2UsCiAgICAgIHNsaWRlclBvc2l0aW9uOiAiIiwKICAgICAgdGltZU1heDogMTAwLAogICAgICBvcmdpbmFsRHVyYXRpb246ICIiLAogICAgICBhbmltYXRlRHVyYXRpb246ICI2c2VjcyIsCiAgICAgIHBsYXlTcGVlZDogW3sKICAgICAgICB2YWx1ZTogMC4xLAogICAgICAgIGxhYmVsOiAiMC4xeCIKICAgICAgfSwgewogICAgICAgIHZhbHVlOiAwLjUsCiAgICAgICAgbGFiZWw6ICIwLjV4IgogICAgICB9LCB7CiAgICAgICAgdmFsdWU6IDEsCiAgICAgICAgbGFiZWw6ICIxeCIKICAgICAgfSwgewogICAgICAgIHZhbHVlOiAyLAogICAgICAgIGxhYmVsOiAiMngiCiAgICAgIH0sIHsKICAgICAgICB2YWx1ZTogNSwKICAgICAgICBsYWJlbDogIjV4IgogICAgICB9LCB7CiAgICAgICAgdmFsdWU6IDEwLAogICAgICAgIGxhYmVsOiAiMTB4IgogICAgICB9XSwKICAgICAgY3VycmVudFNwZWVkOiAxLAogICAgICB0aW1lU3RhbXBzOiB7fSwKICAgICAgZGVmYXVsdENoZWNrZWRLZXlzOiBbXSwKICAgICAgdERhdGE6IHsKICAgICAgICBsYWJlbDogIiIsCiAgICAgICAgcmVnaW9uOiAiIiwKICAgICAgICB2aXNpYmxlOiBmYWxzZSwKICAgICAgICB4OiAyMDAsCiAgICAgICAgeTogMjAwLAogICAgICAgIGV4dGVybmFsOiBmYWxzZQogICAgICB9LAogICAgICBmaWxlRm9ybWF0OiAibWV0YWRhdGEiCiAgICB9OwogIH0sCiAgd2F0Y2g6IHsKICAgIGZvcm1hdDogewogICAgICBoYW5kbGVyOiBmdW5jdGlvbiBoYW5kbGVyKHZhbHVlKSB7CiAgICAgICAgdGhpcy5maWxlRm9ybWF0ID0gdmFsdWU7CiAgICAgIH0sCiAgICAgIGltbWVkaWF0ZTogdHJ1ZQogICAgfSwKICAgIHVybDogewogICAgICBoYW5kbGVyOiBmdW5jdGlvbiBoYW5kbGVyKG5ld1ZhbHVlKSB7CiAgICAgICAgaWYgKHRoaXMuc3RhdGUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnN0YXRlLnVybCA9PT0gdW5kZWZpbmVkKSB0aGlzLnNldFVSTChuZXdWYWx1ZSk7CiAgICAgIH0sCiAgICAgIGltbWVkaWF0ZTogdHJ1ZQogICAgfSwKICAgIHJlZ2lvbjogewogICAgICBoYW5kbGVyOiBmdW5jdGlvbiBoYW5kbGVyKHJlZ2lvbikgewogICAgICAgIGlmICghKHRoaXMuc3RhdGUgfHwgdGhpcy52aWV3VVJMKSkgdGhpcy5zZXRGb2N1c2VkUmVnaW9uKHJlZ2lvbik7CiAgICAgIH0sCiAgICAgIGltbWVkaWF0ZTogdHJ1ZQogICAgfSwKICAgIHN0YXRlOiB7CiAgICAgIGhhbmRsZXI6IGZ1bmN0aW9uIGhhbmRsZXIoc3RhdGUpIHsKICAgICAgICB0aGlzLnNldFN0YXRlKHN0YXRlKTsKICAgICAgfSwKICAgICAgaW1tZWRpYXRlOiB0cnVlLAogICAgICBkZWVwOiB0cnVlCiAgICB9LAogICAgdmlld1VSTDogewogICAgICBoYW5kbGVyOiBmdW5jdGlvbiBoYW5kbGVyKHZpZXdVUkwpIHsKICAgICAgICB0aGlzLnVwZGF0ZVZpZXdVUkwodmlld1VSTCk7CiAgICAgIH0sCiAgICAgIGltbWVkaWF0ZTogdHJ1ZQogICAgfSwKICAgIGhlbHBNb2RlOiBmdW5jdGlvbiBoZWxwTW9kZSh2YWwpIHsKICAgICAgdGhpcy5zZXRIZWxwTW9kZSh2YWwpOwogICAgfSwKICAgIGRpc3BsYXlNYXJrZXJzOiBmdW5jdGlvbiBkaXNwbGF5TWFya2Vycyh2YWwpIHsKICAgICAgdGhpcy4kbW9kdWxlLnNjZW5lLmRpc3BsYXlNYXJrZXJzID0gdmFsOwogICAgICAvL1VwZGF0ZSBwaWNrYWJsZSBvYmplY3RzCiAgICAgIHRoaXMuJG1vZHVsZS5zY2VuZS5mb3JjZVBpY2thYmxlT2JqZWN0c1VwZGF0ZSA9IHRydWU7CiAgICB9LAogICAgZGlzcGxheU1pbmltYXA6IGZ1bmN0aW9uIGRpc3BsYXlNaW5pbWFwKHZhbCkgewogICAgICB0aGlzLiRtb2R1bGUuc2NlbmUuZGlzcGxheU1pbmltYXAgPSB2YWw7CiAgICB9LAogICAgInNjZW5lRGF0YS5jdXJyZW50VGltZSI6IGZ1bmN0aW9uIHNjZW5lRGF0YUN1cnJlbnRUaW1lKCkgewogICAgICAvKioKICAgICAgICogVHJpZ2dlcnMgd2hlbiBzY2VuZSB0aW1lIGNoYW5nZXMuCiAgICAgICAqCiAgICAgICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB0aW1lIEN1cnJlbnQgYnVpbGQtaW4gdGltZSBvZiBzY2VuZS4KICAgICAgICogb2Ygc2VsZWN0ZWQgb2JqZWN0LgogICAgICAgKi8KICAgICAgdGhpcy4kZW1pdCgidGltZUNoYW5nZWQiLCB0aGlzLnNjZW5lRGF0YS5jdXJyZW50VGltZSk7CiAgICB9LAogICAgZHVyYXRpb246IGZ1bmN0aW9uIGR1cmF0aW9uKCkgewogICAgICB0aGlzLiRtb2R1bGUuc2NlbmUuc2V0RHVyYXRpb24odGhpcy5kdXJhdGlvbik7CiAgICB9LAogICAgbWluaW1hcFNldHRpbmdzOiB7CiAgICAgIGRlZXA6IHRydWUsCiAgICAgIGhhbmRsZXI6ICJ1cGRhdGVNaW5pbWFwU2Npc3NvciIKICAgIH0sCiAgICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcih2YWwpIHsKICAgICAgdGhpcy50b2dnbGVSZW5kZXJpbmcodmFsKTsKICAgIH0KICB9LAogIGJlZm9yZUNyZWF0ZTogZnVuY3Rpb24gYmVmb3JlQ3JlYXRlKCkgewogICAgdGhpcy4kbW9kdWxlID0gbmV3IE9yZ2Fuc1ZpZXdlcigpOwogICAgdGhpcy5pc1JlYWR5ID0gZmFsc2U7CiAgICB0aGlzLnNlbGVjdGVkT2JqZWN0cyA9IFtdOwogICAgdGhpcy5ob3ZlcmVkT2JqZWN0cyA9IFtdOwogICAgdGhpcy5jdXJyZW50QmFja2dyb3VuZCA9ICJ3aGl0ZSI7CiAgICB0aGlzLl9jdXJyZW50VVJMID0gdW5kZWZpbmVkOwogICAgdGhpcy5hdmFpbGFibGVCYWNrZ3JvdW5kID0gWyJ3aGl0ZSIsICJibGFjayIsICJsaWdodHNreWJsdWUiXTsKICB9LAogIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7CiAgICB0aGlzLiRyZWZzLnRyZWVDb250cm9scy5zZXRNb2R1bGUodGhpcy4kbW9kdWxlKTsKICAgIHZhciBldmVudE5vdGlmaWVyID0gbmV3IEV2ZW50Tm90aWZpZXIoKTsKICAgIGV2ZW50Tm90aWZpZXIuc3Vic2NyaWJlKHRoaXMsIHRoaXMuZXZlbnROb3RpZmllckNhbGxiYWNrKTsKICAgIHRoaXMuJG1vZHVsZS5hZGROb3RpZmllcihldmVudE5vdGlmaWVyKTsKICAgIHRoaXMuJG1vZHVsZS5hZGRPcmdhblBhcnRBZGRlZENhbGxiYWNrKHRoaXMuemluY09iamVjdEFkZGVkKTsKICAgIHRoaXMuJG1vZHVsZS5pbml0aWFsaXNlUmVuZGVyZXIodGhpcy4kcmVmcy5kaXNwbGF5KTsKICAgIHRoaXMudG9nZ2xlUmVuZGVyaW5nKHRoaXMucmVuZGVyKTsKICAgIHRoaXMucm8gPSBuZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5hZGp1c3RMYXlvdXQpLm9ic2VydmUodGhpcy4kcmVmcy5zY2FmZm9sZENvbnRhaW5lcik7CiAgICB0aGlzLmRlZmF1bHRSYXRlID0gdGhpcy4kbW9kdWxlLmdldFBsYXlSYXRlKCk7CiAgfSwKICBiZWZvcmVEZXN0cm95OiBmdW5jdGlvbiBiZWZvcmVEZXN0cm95KCkgewogICAgaWYgKHRoaXMucm8pIHRoaXMucm8uZGlzY29ubmVjdCgpOwogICAgdGhpcy4kbW9kdWxlLmRlc3Ryb3koKTsKICAgIHRoaXMuJG1vZHVsZSA9IHVuZGVmaW5lZDsKICB9LAogIG1ldGhvZHM6IHsKICAgIC8qKgogICAgICogVGhpcyBpcyBjYWxsZWQgd2hlbiBhIG5ldyB6aW5jIG9iamVjdCBpcyByZWFkIGludG8gdGhlIHNjZW5lLgogICAgICovCiAgICB6aW5jT2JqZWN0QWRkZWQ6IGZ1bmN0aW9uIHppbmNPYmplY3RBZGRlZCh6aW5jT2JqZWN0KSB7CiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOwogICAgICB0aGlzLiRlbWl0KCJ6aW5jLW9iamVjdC1hZGRlZCIsIHppbmNPYmplY3QpOwogICAgfSwKICAgIC8qKgogICAgICogVGhpcyBpcyBjYWxsZWQgd2hlbiBDaGFuZ2UgYmFja2dzcGVlZHJvdW5kIGNvbG91ciBidXR0b24KICAgICAqIGlzIHByZXNzZWQgYW4gY2F1c2VzIHRoZSBiYWNrZ3JvdUNvbG9ybmQgY29sb3VyIHRvIGJlIGNoYW5nZWQKICAgICAqIHRvIG9uZSBvZiB0aGUgdGhyZWUgcHJlc2V0IGNvbG91cjogd2hpdGUsIGJsYWNrIGFuZAogICAgICogbGlnaHRza3libHVlLgogICAgICovCiAgICBiYWNrZ3JvdW5kQ2hhbmdlQ2FsbGJhY2s6IGZ1bmN0aW9uIGJhY2tncm91bmRDaGFuZ2VDYWxsYmFjayhjb2xvdXIpIHsKICAgICAgdGhpcy5jdXJyZW50QmFja2dyb3VuZCA9IGNvbG91cjsKICAgICAgdGhpcy4kbW9kdWxlLnppbmNSZW5kZXJlci5nZXRUaHJlZUpTUmVuZGVyZXIoKS5zZXRDbGVhckNvbG9yKHRoaXMuY3VycmVudEJhY2tncm91bmQsIDEpOwogICAgfSwKICAgIC8qKgogICAgICogVGhpcyBpcyBjYWxsZWQgYnkgY2FwdHVlZVNjcmVlbnNob3QgYW5kIGFmdGVyIHRoZSBsYXN0IHJlbmRlcgogICAgICogbG9vcCwgaXQgZG93bmxvYWQgYSBzY3JlZW5zaG90IG9mIHRoZSBjdXJyZW50IHNjZW5lIHdpdGggbm8gVUkuCiAgICAgKi8KICAgIGNhcHR1cmVTY3JlZW5zaG90Q2FsbGJhY2s6IGZ1bmN0aW9uIGNhcHR1cmVTY3JlZW5zaG90Q2FsbGJhY2soKSB7CiAgICAgIC8vUmVtb3ZlIHRoZSBjYWxsYmFjaywgb25seSBuZWVkcyB0byBoYXBwZW4gb25jZQogICAgICB0aGlzLiRtb2R1bGUuemluY1JlbmRlcmVyLnJlbW92ZVBvc3RSZW5kZXJDYWxsYmFja0Z1bmN0aW9uKHRoaXMuY2FwdHVyZUlEKTsKICAgICAgdmFyIHNjcmVlbnNob3QgPSB0aGlzLiRtb2R1bGUuemluY1JlbmRlcmVyLmdldFRocmVlSlNSZW5kZXJlcigpLmRvbUVsZW1lbnQudG9EYXRhVVJMKCJpbWFnZS9wbmciKTsKICAgICAgdmFyIGhyZWZFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpOwogICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZChocmVmRWxlbWVudCk7CiAgICAgIGlmICghdGhpcy5jYXB0dXJlRmlsZW5hbWUpIGhyZWZFbGVtZW50LmRvd25sb2FkID0gInNjcmVlbnNob3QucG5nIjtlbHNlIGhyZWZFbGVtZW50LmRvd25sb2FkID0gdGhpcy5jYXB0dXJlRmlsZW5hbWU7CiAgICAgIGhyZWZFbGVtZW50LmhyZWYgPSBzY3JlZW5zaG90OwogICAgICBocmVmRWxlbWVudC5jbGljaygpOwogICAgICBocmVmRWxlbWVudC5yZW1vdmUoKTsKICAgIH0sCiAgICAvKioKICAgICAqIEZ1bmN0aW9uIGZvciBjYXB0dXJpbmcgYSBzY3JlZW5zaG90IG9mIHRoZSBjdXJyZW50IHJlbmRlcmluZy4KICAgICAqCiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZmlsZW5hbWUgZmlsZW5hbWUgZ2l2ZW4gdG8gdGhlIHNjcmVlbnNob3QuCiAgICAgKgogICAgICogQHB1YmxpYwogICAgICovCiAgICBjYXB0dXJlU2NyZWVuc2hvdDogZnVuY3Rpb24gY2FwdHVyZVNjcmVlbnNob3QoZmlsZW5hbWUpIHsKICAgICAgdGhpcy5jYXB0dXJlRmlsZW5hbWUgPSBmaWxlbmFtZTsKICAgICAgdGhpcy5jYXB0dXJlSUQgPSB0aGlzLiRtb2R1bGUuemluY1JlbmRlcmVyLmFkZFBvc3RSZW5kZXJDYWxsYmFja0Z1bmN0aW9uKHRoaXMuY2FwdHVyZVNjcmVlbnNob3RDYWxsYmFjayk7CiAgICB9LAogICAgZm9ybWF0VG9vbHRpcDogZnVuY3Rpb24gZm9ybWF0VG9vbHRpcCh2YWwpIHsKICAgICAgaWYgKHRoaXMudGltZU1heCA+PSAxMDAwKSB7CiAgICAgICAgaWYgKHZhbCkgewogICAgICAgICAgdmFyIHNlYyA9ICh2YWwgJSA2MDAwMCAvIDEwMDApLnRvRml4ZWQoMikgKyAicyI7CiAgICAgICAgICB2YXIgbWluID0gdmFsID4gNjAwMDAgPyAodmFsIC8gNjAwMDApLnRvRml4ZWQoMCkgKyAibSAiIDogIiI7CiAgICAgICAgICByZXR1cm4gbWluICsgc2VjOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gdmFsID8gdmFsLnRvRml4ZWQoMikgKyAiIG1zIiA6ICIwIG1zIjsKICAgIH0sCiAgICAvKioKICAgICAqIEZ1bmN0aW9uIHRvIHJlc2V0IHRoZSB2aWV3IHRvIGRlZmF1bHQuCiAgICAgKiBBbHNvIGNhbGxlZCB3aGVuIHRoZSBhc3NvY2lhdGVkIGJ1dHRvbiBpcyBwcmVzc2VkLgogICAgICoKICAgICAqIEBwdWJsaWMKICAgICAqLwogICAgZml0V2luZG93OiBmdW5jdGlvbiBmaXRXaW5kb3coKSB7CiAgICAgIGlmICh0aGlzLiRtb2R1bGUuc2NlbmUpIHsKICAgICAgICB0aGlzLiRtb2R1bGUuc2NlbmUudmlld0FsbCgpOwogICAgICB9CiAgICB9LAogICAgLyoqCiAgICAgKiBGdW5jdGlvbiB0byB6b29tIGluLgogICAgICogQWxzbyBjYWxsZWQgd2hlbiB0aGUgYXNzb2NpYXRlZCBidXR0b24gaXMgcHJlc3NlZC4KICAgICAqCiAgICAgKiBAcHVibGljCiAgICAgKi8KICAgIHpvb21JbjogZnVuY3Rpb24gem9vbUluKCkgewogICAgICBpZiAodGhpcy4kbW9kdWxlLnNjZW5lKSB7CiAgICAgICAgdGhpcy4kbW9kdWxlLnNjZW5lLmNoYW5nZVpvb21CeVNjcm9sbFJhdGVVbml0KC0xKTsKICAgICAgfQogICAgfSwKICAgIC8qKgogICAgICogRnVuY3Rpb24gdG8gem9vbSBvdXQuCiAgICAgKiBBbHNvIGNhbGxlZCB3aGVuIHRoZSBhc3NvY2lhdGVkIGJ1dHRvbiBpcyBwcmVzc2VkLgogICAgICoKICAgICAqIEBwdWJsaWMKICAgICAqLwogICAgem9vbU91dDogZnVuY3Rpb24gem9vbU91dCgpIHsKICAgICAgaWYgKHRoaXMuJG1vZHVsZS5zY2VuZSkgewogICAgICAgIHRoaXMuJG1vZHVsZS5zY2VuZS5jaGFuZ2Vab29tQnlTY3JvbGxSYXRlVW5pdCgxKTsKICAgICAgfQogICAgfSwKICAgIC8qKgogICAgICogRnVuY3Rpb24gdG8gY2hhbmdlIHRoZSBjdXJyZW50IHBsYXkgc3BlZWQuCiAgICAgKgogICAgICogQHB1YmxpYwogICAgICovCiAgICBzcGVlZENoYW5nZWQ6IGZ1bmN0aW9uIHNwZWVkQ2hhbmdlZChzcGVlZCkgewogICAgICB0aGlzLmN1cnJlbnRTcGVlZCA9IHNwZWVkOwogICAgICB0aGlzLiRtb2R1bGUuc2V0UGxheVJhdGUodGhpcy5kZWZhdWx0UmF0ZSAqIHRoaXMuY3VycmVudFNwZWVkKTsKICAgIH0sCiAgICAvKioKICAgICAqIEZ1bmN0aW9uIHVzZWQgdG8gc3RvcCB0aGUgZnJlZSBzcGluCiAgICAgKgogICAgICogQHB1YmxpYwogICAgICovCiAgICBzdG9wRnJlZVNwaW46IGZ1bmN0aW9uIHN0b3BGcmVlU3BpbigpIHsKICAgICAgdmFyIGNhbWVyYWNvbnRyb2wgPSB0aGlzLiRtb2R1bGUuc2NlbmUuZ2V0WmluY0NhbWVyYUNvbnRyb2xzKCk7CiAgICAgIGNhbWVyYWNvbnRyb2wuc3RvcEF1dG9UdW1ibGUoKTsKICAgICAgdGhpcy5pc1RyYW5zaXRpb25pbmcgPSBmYWxzZTsKICAgIH0sCiAgICBmaW5kT2JqZWN0c1dpdGhHcm91cE5hbWU6IGZ1bmN0aW9uIGZpbmRPYmplY3RzV2l0aEdyb3VwTmFtZShuYW1lKSB7CiAgICAgIHZhciBvYmplY3RzID0gW107CiAgICAgIGlmIChuYW1lICYmIG5hbWUgIT0gIiIgJiYgdGhpcy4kbW9kdWxlLnNjZW5lKSB7CiAgICAgICAgb2JqZWN0cyA9IHRoaXMuJG1vZHVsZS5zY2VuZS5maW5kT2JqZWN0c1dpdGhHcm91cE5hbWUobmFtZSk7CiAgICAgIH0KICAgICAgcmV0dXJuIG9iamVjdHM7CiAgICB9LAogICAgLyoqCiAgICAgKiBGb2N1cyBvbiBuYW1lZCByZWdpb24KICAgICAqLwogICAgdmlld1JlZ2lvbjogZnVuY3Rpb24gdmlld1JlZ2lvbihuYW1lcykgewogICAgICB2YXIgcm9vdFJlZ2lvbiA9IHRoaXMuJG1vZHVsZS5zY2VuZS5nZXRSb290UmVnaW9uKCk7CiAgICAgIHZhciBncm91cHMgPSBBcnJheS5pc0FycmF5KG5hbWVzKSA/IG5hbWVzIDogW25hbWVzXTsKICAgICAgdmFyIG9iamVjdHMgPSBmaW5kT2JqZWN0c1dpdGhOYW1lcyhyb290UmVnaW9uLCBncm91cHMsICIiLCB0cnVlKTsKICAgICAgdmFyIGJveCA9IHRoaXMuJG1vZHVsZS5zY2VuZS5nZXRCb3VuZGluZ0JveE9mWmluY09iamVjdHMob2JqZWN0cyk7CiAgICAgIGlmIChib3gpIHsKICAgICAgICBpZiAodGhpcy4kbW9kdWxlLmlzU3luY0NvbnRyb2woKSkgewogICAgICAgICAgdGhpcy4kbW9kdWxlLnNldFN5bmNDb250cm9sWm9vbVRvQm94KGJveCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHZhciBkaXN0ID0gdGhpcy4kbW9kdWxlLnNjZW5lLmNhbWVyYS5mYXIgLSB0aGlzLiRtb2R1bGUuc2NlbmUuY2FtZXJhLm5lYXI7CiAgICAgICAgICB0aGlzLiRtb2R1bGUuc2NlbmUudmlld0FsbFdpdGhCb3VuZGluZ0JveChib3gpOwogICAgICAgICAgdGhpcy4kbW9kdWxlLnNjZW5lLmNhbWVyYS5mYXIgPSB0aGlzLiRtb2R1bGUuc2NlbmUuY2FtZXJhLm5lYXIgKyBkaXN0OwogICAgICAgICAgdGhpcy4kbW9kdWxlLnNjZW5lLmNhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0sCiAgICBzZXRGb2N1c2VkUmVnaW9uOiBmdW5jdGlvbiBzZXRGb2N1c2VkUmVnaW9uKG5hbWUpIHsKICAgICAgaWYgKG5hbWUpIHsKICAgICAgICBpZiAodGhpcy5pc1JlYWR5KSB7CiAgICAgICAgICB0aGlzLnZpZXdSZWdpb24obmFtZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuJG1vZHVsZS5zZXRGaW5pc2hEb3dubG9hZENhbGxiYWNrKHRoaXMuc2V0VVJMRmluaXNoQ2FsbGJhY2soewogICAgICAgICAgICByZWdpb246IG5hbWUKICAgICAgICAgIH0pKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICB1cGRhdGVWaWV3VVJMOiBmdW5jdGlvbiB1cGRhdGVWaWV3VVJMKHZpZXdVUkwpIHsKICAgICAgaWYgKHZpZXdVUkwpIHsKICAgICAgICBpZiAodGhpcy5pc1JlYWR5KSB7CiAgICAgICAgICB2YXIgdXJsID0gbmV3IFVSTCh2aWV3VVJMLCB0aGlzLnVybCk7CiAgICAgICAgICB0aGlzLiRtb2R1bGUuc2NlbmUubG9hZFZpZXdVUkwodXJsKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdGhpcy4kbW9kdWxlLnNldEZpbmlzaERvd25sb2FkQ2FsbGJhY2sodGhpcy5zZXRVUkxGaW5pc2hDYWxsYmFjayh7CiAgICAgICAgICAgIHZpZXdVUkw6IHZpZXdVUkwKICAgICAgICAgIH0pKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICBnZXRSZW5kZXJlckluZm86IGZ1bmN0aW9uIGdldFJlbmRlcmVySW5mbygpIHsKICAgICAgaWYgKHRoaXMuJG1vZHVsZS56aW5jUmVuZGVyZXIpIHsKICAgICAgICByZXR1cm4gdGhpcy4kbW9kdWxlLnppbmNSZW5kZXJlci5nZXRUaHJlZUpTUmVuZGVyZXIoKS5pbmZvOwogICAgICB9CiAgICAgIHJldHVybiB1bmRlZmluZWQ7CiAgICB9LAogICAgLyoqCiAgICAgKiBGdW5jdGlvbiB1c2VkIHRvIHJvdGF0ZSB0aGUgc2NlbmUuCiAgICAgKiBBbHNvIGNhbGxlZCB3aGVuIHRoZSBhc3NvY2lhdGVkIGJ1dHRvbiBpcyBwcmVzc2VkLgogICAgICoKICAgICAqIEBwdWJsaWMKICAgICAqLwogICAgZnJlZVNwaW46IGZ1bmN0aW9uIGZyZWVTcGluKCkgewogICAgICBpZiAodGhpcy4kbW9kdWxlLnNjZW5lKSB7CiAgICAgICAgdmFyIGNhbWVyYWNvbnRyb2wgPSB0aGlzLiRtb2R1bGUuc2NlbmUuZ2V0WmluY0NhbWVyYUNvbnRyb2xzKCk7CiAgICAgICAgdGhpcy5pc1RyYW5zaXRpb25pbmcgPSB0cnVlOwogICAgICAgIGNhbWVyYWNvbnRyb2wuZW5hYmxlQXV0b1R1bWJsZSgpOwogICAgICAgIGNhbWVyYWNvbnRyb2wuYXV0b1R1bWJsZShbMS4wLCAwLjBdLCBNYXRoLlBJLCB0cnVlKTsKICAgICAgICBzZXRUaW1lb3V0KHRoaXMuc3RvcEZyZWVTcGluLCA0MDAwKTsKICAgICAgfQogICAgfSwKICAgIC8qKgogICAgICogQ2FsbGJhY2sgd2hlbiBhIHJlZ2lvbiBpcyBzZWxlY3RlZC9oaWdobGlnaHRlZC4KICAgICAqIEl0IHdpbGwgYWxzbyB1cGRhdGUgb3RoZXIgY29udHJvbHMuCiAgICAgKiAKICAgICAqLwogICAgZXZlbnROb3RpZmllckNhbGxiYWNrOiBmdW5jdGlvbiBldmVudE5vdGlmaWVyQ2FsbGJhY2soZXZlbnQpIHsKICAgICAgdmFyIG5hbWVzID0gW107CiAgICAgIHZhciB6aW5jT2JqZWN0cyA9IFtdOwogICAgICB2YXIgcmVnaW9uID0gdW5kZWZpbmVkOwogICAgICBpZiAoZXZlbnQuZXZlbnRUeXBlID09IDEgfHwgZXZlbnQuZXZlbnRUeXBlID09IDIpIHsKICAgICAgICBldmVudC5pZGVudGlmaWVycy5mb3JFYWNoKGZ1bmN0aW9uIChpZGVudGlmaWVyKSB7CiAgICAgICAgICBpZiAoaWRlbnRpZmllcikgewogICAgICAgICAgICB2YXIgaWQgPSBpZGVudGlmaWVyLmRhdGEuaWQgPyBpZGVudGlmaWVyLmRhdGEuaWQgOiBpZGVudGlmaWVyLmRhdGEuZ3JvdXA7CiAgICAgICAgICAgIG5hbWVzLnB1c2goaWQpOwogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICAgIHppbmNPYmplY3RzID0gZXZlbnQuemluY09iamVjdHM7CiAgICAgIH0KICAgICAgLyoKICAgICAgICogRXZlbnQgVHlwZSAxOiBTZWxlY3RlZAogICAgICAgKiBFdmVudCBUeXBlIDI6IEhpZ2hsaWdodGVkCiAgICAgICAqIEV2ZW50IFR5cGUgMTogTW92ZQogICAgICAgKi8KICAgICAgaWYgKGV2ZW50LmV2ZW50VHlwZSA9PSAxKSB7CiAgICAgICAgaWYgKHRoaXMuJHJlZnMudHJlZUNvbnRyb2xzKSB7CiAgICAgICAgICBpZiAobmFtZXMubGVuZ3RoID4gMCkgewogICAgICAgICAgICAvL3RoaXMuJHJlZnMudHJlZUNvbnRyb2xzLmNoYW5nZUFjdGl2ZUJ5TmFtZXMobmFtZXMsIHJlZ2lvbiwgZmFsc2UpOwogICAgICAgICAgICB0aGlzLiRyZWZzLnRyZWVDb250cm9scy51cGRhdGVBY3RpdmVVSSh6aW5jT2JqZWN0cyk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aGlzLiRyZWZzLnRyZWVDb250cm9scy5yZW1vdmVBY3RpdmUodHJ1ZSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIFRyaWdnZXJzIHdoZW4gYW4gb2JqZWN0IGhhcyBiZWVuIHNlbGVjdGVkCiAgICAgICAgdGhpcy4kZW1pdCgic2NhZmZvbGQtc2VsZWN0ZWQiLCBldmVudC5pZGVudGlmaWVycyk7CiAgICAgIH0gZWxzZSBpZiAoZXZlbnQuZXZlbnRUeXBlID09IDIpIHsKICAgICAgICB0aGlzLnREYXRhLnZpc2libGUgPSBmYWxzZTsKICAgICAgICAvLyBjb25zdCBvZmZzZXRzID0gdGhpcy4kcmVmcy5zY2FmZm9sZENvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgICAgICBpZiAodGhpcy4kcmVmcy50cmVlQ29udHJvbHMpIHsKICAgICAgICAgIGlmIChuYW1lcy5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgIC8vdGhpcy4kcmVmcy50cmVlQ29udHJvbHMuY2hhbmdlSG92ZXJCeU5hbWVzKG5hbWVzLCByZWdpb24sIGZhbHNlKTsKICAgICAgICAgICAgdGhpcy4kcmVmcy50cmVlQ29udHJvbHMudXBkYXRlSG92ZXJVSSh6aW5jT2JqZWN0cyk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aGlzLiRyZWZzLnRyZWVDb250cm9scy5yZW1vdmVIb3Zlcih0cnVlKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKGV2ZW50LmlkZW50aWZpZXJzLmxlbmd0aCA+IDAgJiYgZXZlbnQuaWRlbnRpZmllcnNbMF0pIHsKICAgICAgICAgIHZhciBpZCA9IGV2ZW50LmlkZW50aWZpZXJzWzBdLmRhdGEuaWQgPyBldmVudC5pZGVudGlmaWVyc1swXS5kYXRhLmlkIDogZXZlbnQuaWRlbnRpZmllcnNbMF0uZGF0YS5ncm91cDsKICAgICAgICAgIGlmIChldmVudC5pZGVudGlmaWVyc1swXS5jb29yZHMpIHsKICAgICAgICAgICAgdGhpcy50RGF0YS5leHRlcm5hbCA9IGZhbHNlOwogICAgICAgICAgICB0aGlzLnREYXRhLnZpc2libGUgPSB0cnVlOwogICAgICAgICAgICB0aGlzLnREYXRhLmxhYmVsID0gaWQ7CiAgICAgICAgICAgIGlmIChldmVudC5pZGVudGlmaWVyc1swXS5kYXRhLnJlZ2lvbikgdGhpcy50RGF0YS5yZWdpb24gPSBldmVudC5pZGVudGlmaWVyc1swXS5kYXRhLnJlZ2lvbjtlbHNlIHRoaXMudERhdGEucmVnaW9uID0gIlJvb3QiOwogICAgICAgICAgICB0aGlzLnREYXRhLnggPSBldmVudC5pZGVudGlmaWVyc1swXS5jb29yZHMueDsKICAgICAgICAgICAgdGhpcy50RGF0YS55ID0gZXZlbnQuaWRlbnRpZmllcnNbMF0uY29vcmRzLnk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIFRyaWdnZXJzIHdoZW4gYW4gb2JqZWN0IGhhcyBiZWVuIGhpZ2hsaWdodGVkCiAgICAgICAgdGhpcy4kZW1pdCgic2NhZmZvbGQtaGlnaGxpZ2h0ZWQiLCBldmVudC5pZGVudGlmaWVycyk7CiAgICAgIH0gZWxzZSBpZiAoZXZlbnQuZXZlbnRUeXBlID09IDMpIHsKICAgICAgICAvL01PVkUKICAgICAgICBpZiAoZXZlbnQuaWRlbnRpZmllcnMubGVuZ3RoID4gMCAmJiBldmVudC5pZGVudGlmaWVyc1swXSkgewogICAgICAgICAgaWYgKGV2ZW50LmlkZW50aWZpZXJzWzBdLmNvb3JkcykgewogICAgICAgICAgICB2YXIgb2Zmc2V0cyA9IHRoaXMuJHJlZnMuc2NhZmZvbGRDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgICAgICAgIHRoaXMudERhdGEueCA9IGV2ZW50LmlkZW50aWZpZXJzWzBdLmNvb3Jkcy54IC0gb2Zmc2V0cy5sZWZ0OwogICAgICAgICAgICB0aGlzLnREYXRhLnkgPSBldmVudC5pZGVudGlmaWVyc1swXS5jb29yZHMueSAtIG9mZnNldHMudG9wOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgIC8qKgogICAgICogR2V0IHRoZSBjb29yZGluYXRlcyBvZiB0aGUgY3VycmVudCBzZWxlY3RlZCByZWdpb24uCiAgICAgKgogICAgICogQHB1YmxpYwogICAgICovCiAgICBnZXRDb29yZGluYXRlc09mU2VsZWN0ZWQ6IGZ1bmN0aW9uIGdldENvb3JkaW5hdGVzT2ZTZWxlY3RlZCgpIHsKICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRPYmplY3RzICYmIHRoaXMuc2VsZWN0ZWRPYmplY3RzLmxlbmd0aCA+IDApIHsKICAgICAgICByZXR1cm4gdGhpcy4kbW9kdWxlLnNjZW5lLmdldE9iamVjdHNTY3JlZW5YWShbdGhpcy5zZWxlY3RlZE9iamVjdHNdKTsKICAgICAgfQogICAgICByZXR1cm4gdW5kZWZpbmVkOwogICAgfSwKICAgIC8qKgogICAgICogUmV0dXJuIGFuIG9iamVjdCBjb250YWluaW5nIHRoZSB3aW5kb3cgY29vcmRpbmF0ZXMgb2YgdGhlCiAgICAgKiBjdXJyZW50IHNlbGVjdGVkIHJlZ2lvbiB3aGljaCB3aWxsIGJlIHVwZGF0ZWQgYWZ0ZXIgZWFjaCByZW5kZXIKICAgICAqIGxvb3AuCiAgICAgKgogICAgICogQHB1YmxpYwogICAgICovCiAgICBnZXREeW5hbWljU2VsZWN0ZWRDb29yZGluYXRlczogZnVuY3Rpb24gZ2V0RHluYW1pY1NlbGVjdGVkQ29vcmRpbmF0ZXMoKSB7CiAgICAgIHJldHVybiB0aGlzLiRtb2R1bGUuc2VsZWN0ZWRTY3JlZW5Db29yZGluYXRlczsKICAgIH0sCiAgICAvKioKICAgICAqIENhbGxiYWNrIHdoZW4gdGltZSBpcyBjaGFuZ2VkIHRocm91Z2ggdGhlIFVJLgogICAgICovCiAgICB0aW1lQ2hhbmdlOiBmdW5jdGlvbiB0aW1lQ2hhbmdlKGV2ZW50KSB7CiAgICAgIHZhciBub3JtYWxpemVkVGltZSA9IGV2ZW50IC8gdGhpcy50aW1lTWF4ICogMTAwOwogICAgICBpZiAobm9ybWFsaXplZFRpbWUgIT0gdGhpcy5zY2VuZURhdGEuY3VycmVudFRpbWUpIHRoaXMuJG1vZHVsZS51cGRhdGVUaW1lKG5vcm1hbGl6ZWRUaW1lKTsKICAgIH0sCiAgICAvKioKICAgICAqIEEgY2FsbGJhY2sgdXNlZCBieSBjaGlsZHJlbiBjb21wb25lbnRzLiBTZXQgdGhlIHNlbGVjdGVkIHppbmMgb2JqZWN0CiAgICAgKgogICAgICogQHBhcmFtIHtvYmplY3R9IG9iamVjdCBaaW5jIG9iamVjdAogICAgICovCiAgICBvYmplY3RTZWxlY3RlZDogZnVuY3Rpb24gb2JqZWN0U2VsZWN0ZWQob2JqZWN0cywgcHJvcGFnYXRlKSB7CiAgICAgIHRoaXMuc2VsZWN0ZWRPYmplY3RzID0gb2JqZWN0czsKICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRPYmplY3RzKSB0aGlzLiRyZWZzLm9wYWNpdHlDb250cm9sLnNldE9iamVjdCh0aGlzLnNlbGVjdGVkT2JqZWN0c1swXSk7CiAgICAgIGlmIChvYmplY3RzKSB0aGlzLiRtb2R1bGUuc2V0U2VsZWN0ZWRCeVppbmNPYmplY3RzKG9iamVjdHMsIHVuZGVmaW5lZCwgcHJvcGFnYXRlKTtlbHNlIHRoaXMuJG1vZHVsZS5zZXRTZWxlY3RlZEJ5T2JqZWN0cyhbXSwgdW5kZWZpbmVkLCBwcm9wYWdhdGUpOwogICAgfSwKICAgIC8qKgogICAgICogQSBjYWxsYmFjayB1c2VkIGJ5IGNoaWxkcmVuIGNvbXBvbmVudHMuIFNldCB0aGUgaGlnaGxpZ2h0ZWQgemluYyBvYmplY3QKICAgICAqCiAgICAgKiBAcGFyYW0ge29iamVjdH0gb2JqZWN0IFppbmMgb2JqZWN0CiAgICAgKi8KICAgIG9iamVjdEhvdmVyZWQ6IGZ1bmN0aW9uIG9iamVjdEhvdmVyZWQob2JqZWN0cywgcHJvcGFnYXRlKSB7CiAgICAgIHRoaXMuaG92ZXJlZE9iamVjdHMgPSBvYmplY3RzOwogICAgICBpZiAob2JqZWN0cykgdGhpcy4kbW9kdWxlLnNldEhpZ2hsaWdodGVkQnlaaW5jT2JqZWN0cyhvYmplY3RzLCB1bmRlZmluZWQsIHByb3BhZ2F0ZSk7ZWxzZSB0aGlzLiRtb2R1bGUuc2V0SGlnaGxpZ2h0ZWRCeU9iamVjdHMoW10sIHVuZGVmaW5lZCwgcHJvcGFnYXRlKTsKICAgIH0sCiAgICAvKioKICAgICAqIFNldCB0aGUgc2VsZWN0ZWQgYnkgbmFtZS4KICAgICAqCiAgICAgKiBAcGFyYW0ge30gbmFtZSBOYW1lIG9mIHRoZSBncm91cAogICAgICovCiAgICBjaGFuZ2VBY3RpdmVCeU5hbWU6IGZ1bmN0aW9uIGNoYW5nZUFjdGl2ZUJ5TmFtZShuYW1lcywgcmVnaW9uLCBwcm9wYWdhdGUpIHsKICAgICAgdmFyIGlzQXJyYXkgPSBBcnJheS5pc0FycmF5KG5hbWVzKTsKICAgICAgaWYgKG5hbWVzID09PSB1bmRlZmluZWQgfHwgaXNBcnJheSAmJiBuYW1lcy5sZW5ndGggPT09IDApIHsKICAgICAgICB0aGlzLiRyZWZzLnRyZWVDb250cm9scy5yZW1vdmVBY3RpdmUocHJvcGFnYXRlKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB2YXIgYXJyYXkgPSBuYW1lczsKICAgICAgICBpZiAoIWlzQXJyYXkpIGFycmF5ID0gW2FycmF5XTsKICAgICAgICB0aGlzLiRyZWZzLnRyZWVDb250cm9scy5jaGFuZ2VBY3RpdmVCeU5hbWVzKGFycmF5LCByZWdpb24sIHByb3BhZ2F0ZSk7CiAgICAgIH0KICAgIH0sCiAgICAvKioKICAgICAqIFNldCB0aGUgaGlnaGxpZ2h0ZWQgYnkgbmFtZS4KICAgICAqCiAgICAgKiBAcGFyYW0ge25hbWV9IG5hbWUgTmFtZSBvZiB0aGUgZ3JvdXAKICAgICAqLwogICAgY2hhbmdlSGlnaGxpZ2h0ZWRCeU5hbWU6IGZ1bmN0aW9uIGNoYW5nZUhpZ2hsaWdodGVkQnlOYW1lKG5hbWVzLCByZWdpb24sIHByb3BhZ2F0ZSkgewogICAgICB2YXIgaXNBcnJheSA9IEFycmF5LmlzQXJyYXkobmFtZXMpOwogICAgICBpZiAobmFtZXMgPT09IHVuZGVmaW5lZCB8fCBpc0FycmF5ICYmIG5hbWVzLmxlbmd0aCA9PT0gMCkgewogICAgICAgIHRoaXMuJHJlZnMudHJlZUNvbnRyb2xzLnJlbW92ZUhvdmVyKHByb3BhZ2F0ZSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdmFyIGFycmF5ID0gbmFtZXM7CiAgICAgICAgaWYgKCFpc0FycmF5KSBhcnJheSA9IFthcnJheV07CiAgICAgICAgdGhpcy4kcmVmcy50cmVlQ29udHJvbHMuY2hhbmdlSG92ZXJCeU5hbWVzKGFycmF5LCByZWdpb24sIHByb3BhZ2F0ZSk7CiAgICAgIH0KICAgIH0sCiAgICAvKioKICAgICAqIFN0YXJ0IHRoZSBhbmltYXRpb24uCiAgICAgKgogICAgICogQHBhcmFtIHtvYmplY3R9IG9iamVjdCBaaW5jIG9iamVjdAogICAgICovCiAgICBwbGF5OiBmdW5jdGlvbiBwbGF5KGZsYWcpIHsKICAgICAgdGhpcy4kbW9kdWxlLnBsYXlBbmltYXRpb24oZmxhZyk7CiAgICAgIHRoaXMuaXNQbGF5aW5nID0gZmxhZzsKICAgIH0sCiAgICAvKioKICAgICAqIEZ1bmN0aW9uIHRvIHRvZ2dsZSBvbi9vZmYgb3ZlcmxheSBoZWxwLgogICAgICovCiAgICBzZXRIZWxwTW9kZTogZnVuY3Rpb24gc2V0SGVscE1vZGUoaGVscE1vZGUpIHsKICAgICAgaWYgKGhlbHBNb2RlKSB7CiAgICAgICAgdGhpcy5pbkhlbHAgPSB0cnVlOwogICAgICAgIHRoaXMuaG92ZXJWaXNhYmlsaXRpZXMuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgaXRlbS52YWx1ZSA9IHRydWU7CiAgICAgICAgfSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5pbkhlbHAgPSBmYWxzZTsKICAgICAgICB0aGlzLmhvdmVyVmlzYWJpbGl0aWVzLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgIGl0ZW0udmFsdWUgPSBmYWxzZTsKICAgICAgICB9KTsKICAgICAgfQogICAgfSwKICAgIC8qKgogICAgICogQ2FsbGJhY2sgZnVuY3Rpb24gdXNlZCBieSBzaG93UmVnaW9uVG9vbHRpcCBpbiB0aGUgY2FzZSB3aGVuIHRoZSB0b29sdGlwCiAgICAgKiBpcyBvdXQgb2Ygdmlldy4KICAgICAqLwogICAgc2hvd1JlZ2lvblRvb2x0aXBDYWxsYmFjazogZnVuY3Rpb24gc2hvd1JlZ2lvblRvb2x0aXBDYWxsYmFjayhuYW1lKSB7CiAgICAgIHZhciBpbnN0YW5jZSA9IHRoaXM7CiAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7CiAgICAgICAgaW5zdGFuY2UuJG1vZHVsZS56aW5jUmVuZGVyZXIucmVtb3ZlUG9zdFJlbmRlckNhbGxiYWNrRnVuY3Rpb24oaW5zdGFuY2UuJF9yZWdpb25Ub29sdGlwQ2FsbGJhY2spOwogICAgICAgIGluc3RhbmNlLiRfcmVnaW9uVG9vbHRpcENhbGxiYWNrID0gdW5kZWZpbmVkOwogICAgICAgIGluc3RhbmNlLnNob3dSZWdpb25Ub29sdGlwKG5hbWUsIGZhbHNlKTsKICAgICAgfTsKICAgIH0sCiAgICAvKioKICAgICAqIERpc3BsYXkgdGhlIHRvb2x0aXAuIFJlc2V0IHZpZXcgaWYgdGhlIHRvb2x0aXAgaXMgbm90CiAgICAgKiBpbiB2aWV3LgogICAgICovCiAgICBzaG93UmVnaW9uVG9vbHRpcDogZnVuY3Rpb24gc2hvd1JlZ2lvblRvb2x0aXAobmFtZSwgcmVzZXRWaWV3KSB7CiAgICAgIGlmIChuYW1lICYmIHRoaXMuJG1vZHVsZS5zY2VuZSkgewogICAgICAgIHZhciByb290UmVnaW9uID0gdGhpcy4kbW9kdWxlLnNjZW5lLmdldFJvb3RSZWdpb24oKTsKICAgICAgICB2YXIgZ3JvdXBzID0gW25hbWVdOwogICAgICAgIHZhciBvYmplY3RzID0gZmluZE9iamVjdHNXaXRoTmFtZXMocm9vdFJlZ2lvbiwgZ3JvdXBzLCAiIiwgdHJ1ZSk7CiAgICAgICAgaWYgKG9iamVjdHMubGVuZ3RoID4gMCkgewogICAgICAgICAgdmFyIGNvb3JkcyA9IG9iamVjdHNbMF0uZ2V0Q2xvc2VzdFZlcnRleERPTUVsZW1lbnRDb29yZHModGhpcy4kbW9kdWxlLnNjZW5lKTsKICAgICAgICAgIGlmIChjb29yZHMpIHsKICAgICAgICAgICAgLy9UaGUgY29vcmRzIGlzIG5vdCBpbiB2aWV3LCB2aWV3IGFsbCBpZiByZXNldFZpZXcgZmxhZyBpcyB0cnVlCiAgICAgICAgICAgIGlmICghY29vcmRzLmluVmlldykgewogICAgICAgICAgICAgIHRoaXMuaGlkZVJlZ2lvblRvb2x0aXAoKTsKICAgICAgICAgICAgICBpZiAocmVzZXRWaWV3KSB7CiAgICAgICAgICAgICAgICB0aGlzLiRtb2R1bGUuc2NlbmUudmlld0FsbCgpOwogICAgICAgICAgICAgICAgLy9Vc2UgdGhlIHBvc3QgcmVuZGVyIGNhbGxiYWNrIHRvIG1ha2Ugc3VyZSB0aGUgc2NlbmUgaGFzIGJlZW4gdXBkYXRlZAogICAgICAgICAgICAgICAgLy9iZWZvcmUgZ2V0dGluZyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXAuCiAgICAgICAgICAgICAgICBpZiAodGhpcy4kX3JlZ2lvblRvb2x0aXBDYWxsYmFjaykgewogICAgICAgICAgICAgICAgICB0aGlzLiRtb2R1bGUuemluY1JlbmRlcmVyLnJlbW92ZVBvc3RSZW5kZXJDYWxsYmFja0Z1bmN0aW9uKHRoaXMuJF9yZWdpb25Ub29sdGlwQ2FsbGJhY2spOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdGhpcy4kX3JlZ2lvblRvb2x0aXBDYWxsYmFjayA9IHRoaXMuJG1vZHVsZS56aW5jUmVuZGVyZXIuYWRkUG9zdFJlbmRlckNhbGxiYWNrRnVuY3Rpb24odGhpcy5zaG93UmVnaW9uVG9vbHRpcENhbGxiYWNrKG5hbWUpKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgdGhpcy50RGF0YS5leHRlcm5hbCA9IHRydWU7CiAgICAgICAgICAgICAgdGhpcy50RGF0YS52aXNpYmxlID0gdHJ1ZTsKICAgICAgICAgICAgICB0aGlzLnREYXRhLmxhYmVsID0gbmFtZTsKICAgICAgICAgICAgICB0aGlzLnREYXRhLnggPSBjb29yZHMucG9zaXRpb24ueDsKICAgICAgICAgICAgICB0aGlzLnREYXRhLnkgPSBjb29yZHMucG9zaXRpb24ueTsKICAgICAgICAgICAgICB2YXIgcmVnaW9uUGF0aCA9IG9iamVjdHNbMF0uZ2V0UmVnaW9uKCkuZ2V0RnVsbFBhdGgoKTsKICAgICAgICAgICAgICBpZiAocmVnaW9uUGF0aCkgdGhpcy50RGF0YS5yZWdpb24gPSByZWdpb25QYXRoO2Vsc2UgdGhpcy50RGF0YS5yZWdpb24gPSAiUm9vdCI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICAgIHRoaXMuaGlkZVJlZ2lvblRvb2x0aXAoKTsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSwKICAgIGhpZGVSZWdpb25Ub29sdGlwOiBmdW5jdGlvbiBoaWRlUmVnaW9uVG9vbHRpcCgpIHsKICAgICAgdGhpcy50RGF0YS52aXNpYmxlID0gZmFsc2U7CiAgICAgIHRoaXMudERhdGEucmVnaW9uID0gIlJvb3QiOwogICAgfSwKICAgIC8qKgogICAgICogVGhpcyBpcyBjYWxsZWQgd2hlbiBtb3VzZSBjdXJzb3IgZW50ZXJzIHN1cHBvcnRlZCBlbGVtZW50cwogICAgICogd2l0aCBoZWxwIHRvb3RsdGlwcy4KICAgICAqLwogICAgc2hvd0hlbHBUZXh0OiBmdW5jdGlvbiBzaG93SGVscFRleHQoaGVscFRleHROdW1iZXIpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKICAgICAgaWYgKCF0aGlzLmluSGVscCkgewogICAgICAgIHRoaXMuaGVscFRleHRXYWl0ID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICBfdGhpcy5ob3ZlclZpc2FiaWxpdGllc1toZWxwVGV4dE51bWJlcl0udmFsdWUgPSB0cnVlOwogICAgICAgIH0sIDUwMCk7CiAgICAgIH0KICAgIH0sCiAgICAvKioKICAgICAqIFRoaXMgaXMgY2FsbGVkIHdoZW4gbW91c2UgY3Vyc29yIGV4aXRzIHN1cHBvcnRlZCBlbGVtZW50Li4KICAgICAqLwogICAgaGlkZUhlbHBUZXh0OiBmdW5jdGlvbiBoaWRlSGVscFRleHQoaGVscFRleHROdW1iZXIpIHsKICAgICAgaWYgKCF0aGlzLmluSGVscCkgewogICAgICAgIHRoaXMuaG92ZXJWaXNhYmlsaXRpZXNbaGVscFRleHROdW1iZXJdLnZhbHVlID0gZmFsc2U7CiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuaGVscFRleHRXYWl0KTsKICAgICAgfQogICAgfSwKICAgIC8qKgogICAgICogQ2FsbGVkIHdoZW4gbWluaW1hcCBzZXR0aW5ncyBoYXMgY2hhbmdlZC4gUGFzcyB0aGUKICAgICAqIHBhcmFtZXRlcnMgdG8gWmluY0pTIGFuZCBtYXJrZWQgaXQgZm9yIHVwZGF0ZS4KICAgICAqLwogICAgdXBkYXRlTWluaW1hcFNjaXNzb3I6IGZ1bmN0aW9uIHVwZGF0ZU1pbmltYXBTY2lzc29yKCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgT2JqZWN0LmtleXModGhpcy5taW5pbWFwU2V0dGluZ3MpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgewogICAgICAgIF90aGlzMi4kbW9kdWxlLnNjZW5lLm1pbmltYXBTY2lzc29yW2tleV0gPSBfdGhpczIubWluaW1hcFNldHRpbmdzW2tleV07CiAgICAgIH0pOwogICAgICB0aGlzLiRtb2R1bGUuc2NlbmUubWluaW1hcFNjaXNzb3IudXBkYXRlUmVxdWlyZWQgPSB0cnVlOwogICAgfSwKICAgIHVwZGF0ZVNldHRpbmdzZnJvbVNjZW5lOiBmdW5jdGlvbiB1cGRhdGVTZXR0aW5nc2Zyb21TY2VuZSgpIHsKICAgICAgdGhpcy5jdXJyZW50U3BlZWQgPSAxOwogICAgICB0aGlzLiRtb2R1bGUuc2V0UGxheVJhdGUodGhpcy5kZWZhdWx0UmF0ZSk7CiAgICAgIHRoaXMub3JnaW5hbER1cmF0aW9uID0gdGhpcy4kbW9kdWxlLnNjZW5lLmdldE1ldGFkYXRhVGFnKCJPcmlnaW5hbER1cmF0aW9uIik7CiAgICAgIHRoaXMuYW5pbWF0ZUR1cmF0aW9uID0gdGhpcy4kbW9kdWxlLnNjZW5lLmdldE1ldGFkYXRhVGFnKCJEdXJhdGlvbiIpOwogICAgICB2YXIgdGltZVN0YW1wcyA9IHRoaXMuJG1vZHVsZS5zY2VuZS5nZXRNZXRhZGF0YVRhZygiVGltZVN0YW1wcyIpOwogICAgICB0aGlzLnRpbWVTdGFtcHMgPSB7fTsKICAgICAgZm9yICh2YXIga2V5IGluIHRpbWVTdGFtcHMpIHsKICAgICAgICB0aGlzLnRpbWVTdGFtcHNbdGltZVN0YW1wc1trZXldXSA9IGtleTsKICAgICAgfQogICAgICB0aGlzLnRpbWVNYXggPSB0aGlzLiRtb2R1bGUuc2NlbmUuZ2V0RHVyYXRpb24oKTsKICAgIH0sCiAgICBzZXRVUkxGaW5pc2hDYWxsYmFjazogZnVuY3Rpb24gc2V0VVJMRmluaXNoQ2FsbGJhY2sob3B0aW9ucykgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsKICAgICAgICBpZiAob3B0aW9ucykgewogICAgICAgICAgaWYgKG9wdGlvbnMudmlld3BvcnQpIHsKICAgICAgICAgICAgX3RoaXMzLiRtb2R1bGUuc2NlbmUuZ2V0WmluY0NhbWVyYUNvbnRyb2xzKCkuc2V0Q3VycmVudENhbWVyYVNldHRpbmdzKG9wdGlvbnMudmlld3BvcnQpOwogICAgICAgICAgfSBlbHNlIGlmIChvcHRpb25zLnZpZXdVUkwgJiYgb3B0aW9ucy52aWV3VVJMICE9PSAiIikgewogICAgICAgICAgICB2YXIgdXJsID0gbmV3IFVSTChvcHRpb25zLnZpZXdVUkwsIF90aGlzMy51cmwpOwogICAgICAgICAgICBfdGhpczMuJG1vZHVsZS5zY2VuZS5sb2FkVmlld1VSTCh1cmwpOwogICAgICAgICAgfSBlbHNlIGlmIChvcHRpb25zLnJlZ2lvbiAmJiBvcHRpb25zLnJlZ2lvbiAhPT0gIiIpIHsKICAgICAgICAgICAgX3RoaXMzLnZpZXdSZWdpb24ob3B0aW9ucy5yZWdpb24pOwogICAgICAgICAgfQogICAgICAgICAgaWYgKG9wdGlvbnMudmlzaWJpbGl0eSkgewogICAgICAgICAgICAvLyBTb21lIFVJcyBtYXkgbm90IGJlIHJlYWR5IGF0IHRoaXMgdGltZS4KICAgICAgICAgICAgX3RoaXMzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgX3RoaXMzLiRyZWZzLnRyZWVDb250cm9scy5zZXRTdGF0ZShvcHRpb25zLnZpc2liaWxpdHkpOwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgX3RoaXMzLnVwZGF0ZVNldHRpbmdzZnJvbVNjZW5lKCk7CiAgICAgICAgX3RoaXMzLiRtb2R1bGUudXBkYXRlVGltZSgwLjAxKTsKICAgICAgICBfdGhpczMuJG1vZHVsZS51cGRhdGVUaW1lKDApOwogICAgICAgIF90aGlzMy4kbW9kdWxlLnVuc2V0RmluaXNoRG93bmxvYWRDYWxsYmFjaygpOwogICAgICAgIF90aGlzMy4kZW1pdCgib24tcmVhZHkiKTsKICAgICAgICBfdGhpczMuaXNSZWFkeSA9IHRydWU7CiAgICAgIH07CiAgICB9LAogICAgLyoqCiAgICAgKiBGdW5jdGlvbiB1c2VkIGZvciBnZXR0aW5nIHRoZSBjdXJyZW50IHN0YXRlcyBvZiB0aGUgc2NlbmUuIFRoaXMgZXhwb3J0ZWQgc3RhdGVzCiAgICAgKiBjYW4gYmUgaW1wb3J0ZWQgdXNpbmcgdGhlIGltcG9ydFN0YXRlcyBtZXRob2QuCiAgICAgKgogICAgICogQHB1YmxpYwogICAgICovCiAgICBnZXRTdGF0ZTogZnVuY3Rpb24gZ2V0U3RhdGUoKSB7CiAgICAgIHZhciBzdGF0ZSA9IHsKICAgICAgICBmb3JtYXQ6IHRoaXMuZmlsZUZvcm1hdCwKICAgICAgICB1cmw6IHRoaXMuX2N1cnJlbnRVUkwsCiAgICAgICAgdmlld3BvcnQ6IHVuZGVmaW5lZCwKICAgICAgICB2aXNpYmlsaXR5OiB1bmRlZmluZWQKICAgICAgfTsKICAgICAgaWYgKHRoaXMuJHJlZnMudHJlZUNvbnRyb2xzKSBzdGF0ZS52aXNpYmlsaXR5ID0gdGhpcy4kcmVmcy50cmVlQ29udHJvbHMuZ2V0U3RhdGUoKTsKICAgICAgaWYgKHRoaXMuJG1vZHVsZS5zY2VuZSkgewogICAgICAgIHZhciB6aW5jQ2FtZXJhQ29udHJvbHMgPSB0aGlzLiRtb2R1bGUuc2NlbmUuZ2V0WmluY0NhbWVyYUNvbnRyb2xzKCk7CiAgICAgICAgc3RhdGUudmlld3BvcnQgPSB6aW5jQ2FtZXJhQ29udHJvbHMuZ2V0Q3VycmVudFZpZXdwb3J0KCk7CiAgICAgIH0KICAgICAgcmV0dXJuIHN0YXRlOwogICAgfSwKICAgIC8qKgogICAgICogRnVuY3Rpb24gdXNlZCBmb3IgaW1wb3J0aW5nIHRoZSBzdGF0ZXMgb2YgdGhlIHNjZW5lLiBUaGlzIGV4cG9ydGVkIHN0YXRlcwogICAgICogY2FuIGJlIGltcG9ydGVkIHVzaW5nIHRoZSByZWFkIHN0YXRlcyBtZXRob2QuCiAgICAgKgogICAgICogQHB1YmxpYwogICAgICovCiAgICBzZXRTdGF0ZTogZnVuY3Rpb24gc2V0U3RhdGUoc3RhdGUpIHsKICAgICAgaWYgKHN0YXRlKSB7CiAgICAgICAgaWYgKHN0YXRlLnVybCAmJiBzdGF0ZS51cmwgIT09IHRoaXMuX2N1cnJlbnRVUkwpIHsKICAgICAgICAgIHRoaXMuc2V0VVJMQW5kU3RhdGUoc3RhdGUudXJsLCB7CiAgICAgICAgICAgIGZpbGVGb3JtYXQ6IHN0YXRlLmZpbGVGb3JtYXQsCiAgICAgICAgICAgIHZpZXdwb3J0OiBzdGF0ZS52aWV3cG9ydCwKICAgICAgICAgICAgdmlzaWJpbGl0eTogc3RhdGUudmlzaWJpbGl0eQogICAgICAgICAgfSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmIChzdGF0ZS52aWV3cG9ydCB8fCBzdGF0ZS52aXNpYmlsaXR5KSB7CiAgICAgICAgICAgIGlmICh0aGlzLmlzUmVhZHkgJiYgdGhpcy4kbW9kdWxlLnNjZW5lKSB7CiAgICAgICAgICAgICAgaWYgKHN0YXRlLnZpZXdwb3J0KSB0aGlzLiRtb2R1bGUuc2NlbmUuZ2V0WmluY0NhbWVyYUNvbnRyb2xzKCkuc2V0Q3VycmVudENhbWVyYVNldHRpbmdzKHN0YXRlLnZpZXdwb3J0KTsKICAgICAgICAgICAgICBpZiAoc3RhdGUudmlzaWJpbGl0eSkgdGhpcy4kcmVmcy50cmVlQ29udHJvbHMuc2V0U3RhdGUoc3RhdGUudmlzaWJpbGl0eSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgdGhpcy4kbW9kdWxlLnNldEZpbmlzaERvd25sb2FkQ2FsbGJhY2sodGhpcy5zZXRVUkxGaW5pc2hDYWxsYmFjayh7CiAgICAgICAgICAgICAgICB2aWV3cG9ydDogc3RhdGUudmlld3BvcnQsCiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBzdGF0ZS52aXNpYmlsaXR5CiAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgZXhwb3J0R0xURjogZnVuY3Rpb24gZXhwb3J0R0xURihiaW5hcnkpIHsKICAgICAgcmV0dXJuIHRoaXMuJG1vZHVsZS5zY2VuZS5leHBvcnRHTFRGKGJpbmFyeSk7CiAgICB9LAogICAgLyoqCiAgICAgKiBGdW5jdGlvbiB1c2VkIGZvciByZWFkaW5nIGluIG5ldyBzY2FmZm9sZCBtZXRhZGF0YSBhbmQgYSBjdXN0b20KICAgICAqIHZpZXdwb3J0LiBUaGlzIGZ1bmN0aW9uIHdpbGwgaWdub3JlIHRoZSBzdGF0ZSBwcm9wIGFuZAogICAgICogcmVhZCBpbiB0aGUgbmV3IHVybC4KICAgICAqCiAgICAgKiBAcHVibGljCiAgICAgKi8KICAgIHNldFVSTEFuZFN0YXRlOiBmdW5jdGlvbiBzZXRVUkxBbmRTdGF0ZShuZXdWYWx1ZSwgc3RhdGUpIHsKICAgICAgaWYgKG5ld1ZhbHVlICE9IHRoaXMuX2N1cnJlbnRVUkwpIHsKICAgICAgICBpZiAoc3RhdGUgJiYgc3RhdGUuZm9ybWF0KSB0aGlzLmZpbGVGb3JtYXQgPSBzdGF0ZS5mb3JtYXQ7CiAgICAgICAgdmFyIHZpZXdwb3J0ID0gc3RhdGUgJiYgc3RhdGUudmlld3BvcnQgPyBzdGF0ZS52aWV3cG9ydCA6IHVuZGVmaW5lZDsKICAgICAgICB2YXIgdmlzaWJpbGl0eSA9IHN0YXRlICYmIHN0YXRlLnZpc2liaWxpdHkgPyBzdGF0ZS52aXNpYmlsaXR5IDogdW5kZWZpbmVkOwogICAgICAgIHRoaXMuX2N1cnJlbnRVUkwgPSBuZXdWYWx1ZTsKICAgICAgICBpZiAodGhpcy4kcmVmcy50cmVlQ29udHJvbHMpIHRoaXMuJHJlZnMudHJlZUNvbnRyb2xzLmNsZWFyKCk7CiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKICAgICAgICB0aGlzLmlzUmVhZHkgPSBmYWxzZTsKICAgICAgICB0aGlzLiRtb2R1bGUuc2V0RmluaXNoRG93bmxvYWRDYWxsYmFjayh0aGlzLnNldFVSTEZpbmlzaENhbGxiYWNrKHsKICAgICAgICAgIHZpZXdwb3J0OiB2aWV3cG9ydCwKICAgICAgICAgIHJlZ2lvbjogdGhpcy5yZWdpb24sCiAgICAgICAgICB2aWV3VVJMOiB0aGlzLnZpZXdVUkwsCiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmlsaXR5CiAgICAgICAgfSkpOwogICAgICAgIGlmICh0aGlzLmZpbGVGb3JtYXQgPT09ICJnbHRmIikgewogICAgICAgICAgdGhpcy4kbW9kdWxlLmxvYWRHTFRGRnJvbVVSTChuZXdWYWx1ZSwgInNjZW5lIiwgdHJ1ZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuJG1vZHVsZS5sb2FkT3JnYW5zRnJvbVVSTChuZXdWYWx1ZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsICJzY2VuZSIsIHVuZGVmaW5lZCwgdHJ1ZSk7CiAgICAgICAgfQogICAgICAgIHRoaXMuJG1vZHVsZS5zY2VuZS5kaXNwbGF5TWFya2VycyA9IHRoaXMuZGlzcGxheU1hcmtlcnM7CiAgICAgICAgdGhpcy4kbW9kdWxlLnNjZW5lLmZvcmNlUGlja2FibGVPYmplY3RzVXBkYXRlID0gdHJ1ZTsKICAgICAgICB0aGlzLiRtb2R1bGUuc2NlbmUuZGlzcGxheU1pbmltYXAgPSB0aGlzLmRpc3BsYXlNaW5pbWFwOwogICAgICAgIHRoaXMudXBkYXRlTWluaW1hcFNjaXNzb3IoKTsKICAgICAgfQogICAgfSwKICAgIC8qKgogICAgICogRnVuY3Rpb24gdXNlZCBmb3IgcmVhZGluZyBpbiBuZXcgc2NhZmZvbGQgbWV0YWRhdGEuIFRoaXMgZnVuY3Rpb24gd2lsbCBpZ25vcmUKICAgICAqIHRoZSBzdGF0ZSBwcm9wIGFuZCByZWFkIGluIHRoZSBuZXcgdXJsLgogICAgICoKICAgICAqIEBwdWJsaWMKICAgICAqLwogICAgc2V0VVJMOiBmdW5jdGlvbiBzZXRVUkwobmV3VmFsdWUpIHsKICAgICAgdGhpcy5zZXRVUkxBbmRTdGF0ZShuZXdWYWx1ZSwgdW5kZWZpbmVkKTsKICAgIH0sCiAgICAvKioKICAgICAqIENhbGxiYWNrIHdoZW4gZHJhd2VyIGlzIHRvZ2dsZWQuCiAgICAgKi8KICAgIGRyYXdlclRvZ2dsZWQ6IGZ1bmN0aW9uIGRyYXdlclRvZ2dsZWQoZmxhZykgewogICAgICB0aGlzLmRyYXdlck9wZW4gPSBmbGFnOwogICAgICB0aGlzLmFkanVzdExheW91dCgpOwogICAgfSwKICAgIC8qKgogICAgICogQ2FsbGJhY2sgdXNpbmcgUmVzaXplT2JzZXJ2ZXIuCiAgICAgKi8KICAgIGFkanVzdExheW91dDogZnVuY3Rpb24gYWRqdXN0TGF5b3V0KCkgewogICAgICB2YXIgd2lkdGggPSB0aGlzLiRyZWZzLnNjYWZmb2xkQ29udGFpbmVyLmNsaWVudFdpZHRoOwogICAgICB0aGlzLm1pbmltaXNlZFNsaWRlciA9IHdpZHRoIDwgODEyOwogICAgICBpZiAodGhpcy5taW5pbWlzZWRTbGlkZXIpIHsKICAgICAgICB0aGlzLnNsaWRlclBvc2l0aW9uID0gdGhpcy5kcmF3ZXJPcGVuID8gInJpZ2h0IiA6ICJsZWZ0IjsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLnNsaWRlclBvc2l0aW9uID0gIiI7CiAgICAgIH0KICAgIH0sCiAgICB0b2dnbGVSZW5kZXJpbmc6IGZ1bmN0aW9uIHRvZ2dsZVJlbmRlcmluZyhmbGFnKSB7CiAgICAgIGlmICh0aGlzLiRtb2R1bGUuemluY1JlbmRlcmVyKSB7CiAgICAgICAgaWYgKGZsYWcpIHsKICAgICAgICAgIHRoaXMuJG1vZHVsZS56aW5jUmVuZGVyZXIuYW5pbWF0ZSgpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aGlzLiRtb2R1bGUuemluY1JlbmRlcmVyLnN0b3BBbmltYXRlKCk7CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgZm9yY2VSZXNpemU6IGZ1bmN0aW9uIGZvcmNlUmVzaXplKCkgewogICAgICBpZiAodGhpcy4kbW9kdWxlLnppbmNSZW5kZXJlcikgewogICAgICAgIHRoaXMuJG1vZHVsZS56aW5jUmVuZGVyZXIub25XaW5kb3dSZXNpemUoKTsKICAgICAgfQogICAgfSwKICAgIHN5bmNDb250cm9sQ2FsbGJhY2s6IGZ1bmN0aW9uIHN5bmNDb250cm9sQ2FsbGJhY2soKSB7CiAgICAgIHZhciBwYXlsb2FkID0gdGhpcy4kbW9kdWxlLk5EQ0NhbWVyYUNvbnRyb2wuZ2V0UGFuWm9vbSgpOwogICAgICBpZiAodGhpcy50RGF0YS52aXNpYmxlKSB7CiAgICAgICAgdGhpcy5zaG93UmVnaW9uVG9vbHRpcCh0aGlzLnREYXRhLmxhYmVsKTsKICAgICAgfQogICAgICB0aGlzLiRlbWl0KCJzY2FmZm9sZC1uYXZpZ2F0ZWQiLCBwYXlsb2FkKTsKICAgIH0sCiAgICAvKiogCiAgICAgKiBSb3RhdGUgbW9kZSAtICJub25lIiwgImhvcml6b250YWwiLCAidmVydGljYWwiLCAiZnJlZSIgYnV0CiAgICAgKiBpdCB3aWxsIGJlIGlnbm9yZWQgaWYgZmxhZyBpcyBzZXQgdG8gZmFsc2UuCiAgICAgKi8KICAgIHRvZ2dsZVN5bmNDb250cm9sOiBmdW5jdGlvbiB0b2dnbGVTeW5jQ29udHJvbChmbGFnLCByb3RhdGVNb2RlKSB7CiAgICAgIHRoaXMuJG1vZHVsZS50b2dnbGVTeW5jQ29udHJvbChmbGFnLCByb3RhdGVNb2RlKTsKICAgICAgdGhpcy4kbW9kdWxlLnNldFN5bmNDb250cm9sQ2FsbGJhY2sodGhpcy5zeW5jQ29udHJvbENhbGxiYWNrKTsKICAgIH0KICB9Cn07"},{"version":3,"names":["Vue","OpacityControls","ScaffoldTooltip","TreeControls","MapSvgIcon","MapSvgSpriteColor","findObjectsWithNames","lang","locale","use","_Col","_Loading","directive","_Option","_Popover","_Row","_Select","_Slider","_TabPane","_Tabs","OrgansViewer","require","EventNotifier","name","components","props","url","type","String","default","showColourPicker","Boolean","displayUI","displayAtStartUp","helpMode","displayWarning","warningMessage","displayMarkers","displayMinimap","format","minimapSettings","Object","_default","x_offset","y_offset","width","height","align","state","undefined","region","viewURL","render","data","sceneData","$module","isPlaying","isTransitioning","tooltipAppendToBody","hoverVisabilities","value","inHelp","loading","duration","drawerOpen","currentBackground","availableBackground","minimisedSlider","sliderPosition","timeMax","orginalDuration","animateDuration","playSpeed","label","currentSpeed","timeStamps","defaultCheckedKeys","tData","visible","x","y","external","fileFormat","watch","handler","immediate","newValue","setURL","setFocusedRegion","setState","deep","updateViewURL","val","setHelpMode","scene","forcePickableObjectsUpdate","sceneDataCurrentTime","$emit","currentTime","setDuration","toggleRendering","beforeCreate","isReady","selectedObjects","hoveredObjects","_currentURL","mounted","$refs","treeControls","setModule","eventNotifier","subscribe","eventNotifierCallback","addNotifier","addOrganPartAddedCallback","zincObjectAdded","initialiseRenderer","display","ro","ResizeObserver","adjustLayout","observe","scaffoldContainer","defaultRate","getPlayRate","beforeDestroy","disconnect","destroy","methods","zincObject","backgroundChangeCallback","colour","zincRenderer","getThreeJSRenderer","setClearColor","captureScreenshotCallback","removePostRenderCallbackFunction","captureID","screenshot","domElement","toDataURL","hrefElement","document","createElement","body","append","captureFilename","download","href","click","remove","captureScreenshot","filename","addPostRenderCallbackFunction","formatTooltip","sec","toFixed","min","fitWindow","viewAll","zoomIn","changeZoomByScrollRateUnit","zoomOut","speedChanged","speed","setPlayRate","stopFreeSpin","cameracontrol","getZincCameraControls","stopAutoTumble","findObjectsWithGroupName","objects","viewRegion","names","rootRegion","getRootRegion","groups","Array","isArray","box","getBoundingBoxOfZincObjects","isSyncControl","setSyncControlZoomToBox","dist","camera","far","near","viewAllWithBoundingBox","updateProjectionMatrix","setFinishDownloadCallback","setURLFinishCallback","URL","loadViewURL","getRendererInfo","info","freeSpin","enableAutoTumble","autoTumble","Math","PI","setTimeout","event","zincObjects","eventType","identifiers","forEach","identifier","id","group","push","length","updateActiveUI","removeActive","updateHoverUI","removeHover","coords","offsets","getBoundingClientRect","left","top","getCoordinatesOfSelected","getObjectsScreenXY","getDynamicSelectedCoordinates","selectedScreenCoordinates","timeChange","normalizedTime","updateTime","objectSelected","propagate","opacityControl","setObject","setSelectedByZincObjects","setSelectedByObjects","objectHovered","setHighlightedByZincObjects","setHighlightedByObjects","changeActiveByName","array","changeActiveByNames","changeHighlightedByName","changeHoverByNames","play","flag","playAnimation","item","showRegionTooltipCallback","instance","$_regionTooltipCallback","showRegionTooltip","resetView","getClosestVertexDOMElementCoords","inView","hideRegionTooltip","position","regionPath","getRegion","getFullPath","showHelpText","helpTextNumber","_this","helpTextWait","hideHelpText","clearTimeout","updateMinimapScissor","_this2","keys","key","minimapScissor","updateRequired","updateSettingsfromScene","getMetadataTag","getDuration","options","_this3","viewport","setCurrentCameraSettings","visibility","$nextTick","unsetFinishDownloadCallback","getState","zincCameraControls","getCurrentViewport","setURLAndState","exportGLTF","binary","clear","loadGLTFFromURL","loadOrgansFromURL","drawerToggled","clientWidth","animate","stopAnimate","forceResize","onWindowResize","syncControlCallback","payload","NDCCameraControl","getPanZoom","toggleSyncControl","rotateMode","setSyncControlCallback"],"sources":["node_modules/@abi-software/scaffoldvuer/src/components/ScaffoldVuer.vue"],"sourcesContent":["\n\n\n\n\n\n\n\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqPA;AACA,OAAAA,GAAA;AACA,OAAAC,eAAA;AACA,OAAAC,eAAA;AACA,OAAAC,YAAA;AACA,SAAAC,UAAA,EAAAC,iBAAA;AACA,SAAAC,oBAAA;AAYA,OAAAC,IAAA;AACA,OAAAC,MAAA;AAEAA,MAAA,CAAAC,GAAA,CAAAF,IAAA;AACAP,GAAA,CAAAS,GAAA,CAAAC,IAAA;AACAV,GAAA,CAAAS,GAAA,CAAAE,QAAA,CAAAC,SAAA;AACAZ,GAAA,CAAAS,GAAA,CAAAI,OAAA;AACAb,GAAA,CAAAS,GAAA,CAAAK,QAAA;AACAd,GAAA,CAAAS,GAAA,CAAAM,IAAA;AACAf,GAAA,CAAAS,GAAA,CAAAO,OAAA;AACAhB,GAAA,CAAAS,GAAA,CAAAQ,OAAA;AACAjB,GAAA,CAAAS,GAAA,CAAAS,QAAA;AACAlB,GAAA,CAAAS,GAAA,CAAAU,KAAA;AAEA,IAAAC,YAAA,GAAAC,OAAA,8BAAAD,YAAA;AACA,IAAAE,aAAA,GAAAD,OAAA,6BAAAC,aAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;EACAC,IAAA;EACAC,UAAA;IACApB,UAAA,EAAAA,UAAA;IACAC,iBAAA,EAAAA,iBAAA;IACAJ,eAAA,EAAAA,eAAA;IACAC,eAAA,EAAAA,eAAA;IACAC,YAAA,EAAAA;EACA;EACAsB,KAAA;IACA;AACA;AACA;AACA;AACA;AACA;IACAC,GAAA;MACAC,IAAA,EAAAC,MAAA;MACAC,OAAA;IACA;IACA;AACA;AACA;IACAC,gBAAA;MACAH,IAAA,EAAAI,OAAA;MACAF,OAAA;IACA;IACA;AACA;AACA;IACAG,SAAA;MACAL,IAAA,EAAAI,OAAA;MACAF,OAAA;IACA;IACA;AACA;AACA;AACA;AACA;IACAI,gBAAA;MACAN,IAAA,EAAAI,OAAA;MACAF,OAAA;IACA;IACA;AACA;AACA;IACAK,QAAA;MACAP,IAAA,EAAAI,OAAA;MACAF,OAAA;IACA;IACA;AACA;AACA;IACAM,cAAA;MACAR,IAAA,EAAAI,OAAA;MACAF,OAAA;IACA;IACA;AACA;AACA;AACA;IACAO,cAAA;MACAT,IAAA,EAAAC,MAAA;MACAC,OAAA;IACA;IACA;AACA;AACA;IACAQ,cAAA;MACAV,IAAA,EAAAI,OAAA;MACAF,OAAA;IACA;IACA;AACA;AACA;IACAS,cAAA;MACAX,IAAA,EAAAI,OAAA;MACAF,OAAA;IACA;IACA;AACA;AACA;IACAU,MAAA;MACAZ,IAAA,EAAAC,MAAA;MACAC,OAAA;IACA;IACA;AACA;AACA;IACAW,eAAA;MACAb,IAAA,EAAAc,MAAA;MACAZ,OAAA,WAAAa,SAAA;QACA;UACAC,QAAA;UACAC,QAAA;UACAC,KAAA;UACAC,MAAA;UACAC,KAAA;QACA;MACA;IACA;IACA;AACA;AACA;IACAC,KAAA;MACArB,IAAA,EAAAc,MAAA;MACAZ,OAAA,EAAAoB;IACA;IACA;AACA;AACA;AACA;IACAC,MAAA;MACAvB,IAAA,EAAAC,MAAA;MACAC,OAAA;IACA;IACA;AACA;AACA;AACA;AACA;IACAsB,OAAA;MACAxB,IAAA,EAAAC,MAAA;MACAC,OAAA;IACA;IACA;AACA;AACA;IACAuB,MAAA;MACAzB,IAAA,EAAAI,OAAA;MACAF,OAAA;IACA;EACA;EACAwB,IAAA,WAAAA,KAAA;IACA;MACAC,SAAA,OAAAC,OAAA,CAAAD,SAAA;MACAE,SAAA;MACA;AACA;AACA;MACAC,eAAA;MACAC,mBAAA;MACAC,iBAAA,GACA;QAAAC,KAAA;MAAA,GACA;QAAAA,KAAA;MAAA,GACA;QAAAA,KAAA;MAAA,GACA;QAAAA,KAAA;MAAA,GACA;QAAAA,KAAA;MAAA,GACA;QAAAA,KAAA;MAAA,GACA;QAAAA,KAAA;MAAA,EACA;MACAC,MAAA;MACAC,OAAA;MACAC,QAAA;MACAC,UAAA;MACAC,iBAAA;MACAC,mBAAA;MACAC,eAAA;MACAC,cAAA;MACAC,OAAA;MACAC,eAAA;MACAC,eAAA;MACAC,SAAA,GACA;QACAZ,KAAA;QACAa,KAAA;MACA,GACA;QACAb,KAAA;QACAa,KAAA;MACA,GACA;QACAb,KAAA;QACAa,KAAA;MACA,GA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"}]}