gs-bim-air 2.0.0-beta.3 → 2.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -4
- package/docs/classes/Material.md +1 -1
- package/lib/BimAir.common-report.html +2 -2
- package/lib/BimAir.common.js +14 -14
- package/lib/BimAir.umd-report.html +2 -2
- package/lib/BimAir.umd.js +14 -14
- package/lib/BimAir.umd.min-report.html +2 -2
- package/lib/BimAir.umd.min.js +14 -14
- package/lib/undefined.gzundefined +0 -0
- package/package.json +1 -1
package/lib/BimAir.umd.js
CHANGED
|
@@ -3354,7 +3354,7 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_
|
|
|
3354
3354
|
\******************************************************************/
|
|
3355
3355
|
/***/ (function(module, exports, __webpack_require__) {
|
|
3356
3356
|
|
|
3357
|
-
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! ../objects/material */ \"./packages/bimAir/src/gsDevFx/objects/material.ts\"), __webpack_require__(/*! ./styleManagerBase */ \"./packages/bimAir/src/gsDevFx/managers/styleManagerBase.ts\"), __webpack_require__(/*! ./dataManagerBase */ \"./packages/bimAir/src/gsDevFx/managers/dataManagerBase.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, Longan, material_1, styleManagerBase_1, dataManagerBase_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n exports.HighlightManager = void 0;\n Longan = tslib_1.__importStar(Longan);\n\n var HighlightManager = function (_super) {\n tslib_1.__extends(HighlightManager, _super);\n\n function HighlightManager(viewer) {\n var _this = _super.call(this, viewer) || this;\n\n var material = new material_1.Material(viewer, \"highlight\",
|
|
3357
|
+
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! ../objects/material */ \"./packages/bimAir/src/gsDevFx/objects/material.ts\"), __webpack_require__(/*! ./styleManagerBase */ \"./packages/bimAir/src/gsDevFx/managers/styleManagerBase.ts\"), __webpack_require__(/*! ./dataManagerBase */ \"./packages/bimAir/src/gsDevFx/managers/dataManagerBase.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, Longan, material_1, styleManagerBase_1, dataManagerBase_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n exports.HighlightManager = void 0;\n Longan = tslib_1.__importStar(Longan);\n\n var HighlightManager = function (_super) {\n tslib_1.__extends(HighlightManager, _super);\n\n function HighlightManager(viewer) {\n var _this = _super.call(this, viewer) || this;\n\n var material = new material_1.Material(viewer, \"highlight\", 4);\n material.setColor(0, 138, 255, 0.5);\n material.setFloat();\n _this.styleManagerBase = new styleManagerBase_1.StyleManagerBase(material);\n _this.dataManagerBase = new dataManagerBase_1.DataManagerBase();\n return _this;\n }\n\n Object.defineProperty(HighlightManager.prototype, \"viewer\", {\n get: function get() {\n return this._viewer;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(HighlightManager.prototype, \"material\", {\n get: function get() {\n return this.styleManagerBase.material;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(HighlightManager.prototype, \"segmentObject\", {\n get: function get() {\n var segmentObjects = this.segmentObjects;\n var length = segmentObjects.length;\n\n if (length > 0) {\n return segmentObjects[length - 1];\n } else {\n return null;\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(HighlightManager.prototype, \"segmentObjects\", {\n get: function get() {\n return this.dataManagerBase.getSegmentObjects(this.viewer);\n },\n enumerable: false,\n configurable: true\n });\n\n HighlightManager.prototype.clearHighlight = function (objs) {\n for (var i = 0; i < objs.length; i++) {\n var result = this.dataManagerBase.disperseObjects(this.viewer, objs[i]);\n this.dataManagerBase.addObjects(result.styleNodes);\n this.styleManagerBase.setObjectsStyle(result.styleNodes);\n this.dataManagerBase.removeObjects(result.unStyleNodes);\n this.styleManagerBase.unsetObjectsStyle(result.unStyleNodes);\n }\n };\n\n HighlightManager.prototype.highlight = function (objs, color) {\n var oldColor = null;\n\n if (color) {\n oldColor = this.material.getColor(true);\n this.material.setColor(color[0], color[1], color[2], color[3]);\n }\n\n var result = this.dataManagerBase.optimizeObjects(this.viewer, objs);\n this.dataManagerBase.addObjects(result.styleNodes);\n this.styleManagerBase.setObjectsStyle(result.styleNodes);\n this.dataManagerBase.removeObjects(result.unStyleNodes);\n this.styleManagerBase.unsetObjectsStyle(result.unStyleNodes);\n };\n\n HighlightManager.prototype.isHighlight = function (obj) {\n return this.dataManagerBase.isContainObject(obj);\n };\n\n return HighlightManager;\n }(Longan.HighlightManager);\n\n exports.HighlightManager = HighlightManager;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2RngvbWFuYWdlcnMvaGlnaGxpZ2h0TWFuYWdlci50cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFTQTtBQUFBOztBQThCQTtBQUFBOztBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7O0FBQ0E7O0FBbkNBO0FBQUE7QUFDQTtBQUNBO0FBRkE7O0FBQUE7QUFJQTtBQUFBO0FBQ0E7QUFDQTtBQUZBOztBQUFBO0FBTUE7QUFBQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUkE7O0FBQUE7QUFZQTtBQUFBO0FBQ0E7QUFDQTtBQUZBOztBQUFBOztBQW1CQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBTUE7QUFJQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBS0E7O0FBT0E7QUFDQTtBQUNBOztBQUNBO0FBQUE7O0FBM0ZBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYmltbGlnaHQtcGxhdGZvcm0vLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2RngvbWFuYWdlcnMvaGlnaGxpZ2h0TWFuYWdlci50cz80MzM1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIExvbmdhbiBmcm9tIFwiZ3MtbG9uZ2FuXCI7XHJcbmltcG9ydCB7IFZpZXdlciB9IGZyb20gXCIuLi92aWV3ZXJcIjtcclxuaW1wb3J0IHsgU2VnbWVudE9iamVjdCB9IGZyb20gXCIuLi9vYmplY3RzL3NlZ21lbnRPYmplY3RcIjtcclxuaW1wb3J0IHsgVHJlZU5vZGVPYmplY3QgfSBmcm9tIFwiLi4vb2JqZWN0cy90cmVlTm9kZU9iamVjdFwiO1xyXG5pbXBvcnQgeyBTZWxlY3Rpb25NYW5hZ2VyIH0gZnJvbSBcIi4vc2VsZWN0aW9uTWFuYWdlclwiO1xyXG5pbXBvcnQgeyBNYXRlcmlhbCB9IGZyb20gXCIuLi9vYmplY3RzL21hdGVyaWFsXCI7XHJcbmltcG9ydCB7IFN0eWxlTWFuYWdlckJhc2UgfSBmcm9tIFwiLi9zdHlsZU1hbmFnZXJCYXNlXCI7XHJcbmltcG9ydCB7IERhdGFNYW5hZ2VyQmFzZSB9IGZyb20gXCIuL2RhdGFNYW5hZ2VyQmFzZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEhpZ2hsaWdodE1hbmFnZXIgZXh0ZW5kcyBMb25nYW4uSGlnaGxpZ2h0TWFuYWdlciB7XHJcbiAgc3R5bGVNYW5hZ2VyQmFzZTogU3R5bGVNYW5hZ2VyQmFzZTtcclxuICBkYXRhTWFuYWdlckJhc2U6IERhdGFNYW5hZ2VyQmFzZTtcclxuXHJcbiAgcHVibGljIGdldCB2aWV3ZXIoKTogVmlld2VyIHtcclxuICAgIHJldHVybiB0aGlzLl92aWV3ZXIgYXMgVmlld2VyO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1hdGVyaWFsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3R5bGVNYW5hZ2VyQmFzZS5tYXRlcmlhbDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICog6I635Y+W5b2T5YmN6auY5Lqu55qE5LiA5Liq6IqC54K5XHJcbiAgICovXHJcbiAgcHVibGljIGdldCBzZWdtZW50T2JqZWN0KCk6IFNlZ21lbnRPYmplY3Qge1xyXG4gICAgbGV0IHNlZ21lbnRPYmplY3RzID0gdGhpcy5zZWdtZW50T2JqZWN0cztcclxuICAgIGxldCBsZW5ndGggPSBzZWdtZW50T2JqZWN0cy5sZW5ndGg7XHJcbiAgICBpZiAobGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gc2VnbWVudE9iamVjdHNbbGVuZ3RoIC0gMV07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICog6I635Y+W5b2T5YmN6auY5Lqu55qE5YWo6YOo6IqC54K5XHJcbiAgICovXHJcbiAgcHVibGljIGdldCBzZWdtZW50T2JqZWN0cygpOiBTZWdtZW50T2JqZWN0W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YU1hbmFnZXJCYXNlLmdldFNlZ21lbnRPYmplY3RzKHRoaXMudmlld2VyKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHZpZXdlcjogVmlld2VyKSB7XHJcbiAgICBzdXBlcih2aWV3ZXIpO1xyXG5cclxuICAgIGxldCBtYXRlcmlhbCA9IG5ldyBNYXRlcmlhbCh2aWV3ZXIsIFwiaGlnaGxpZ2h0XCIsIDQpO1xyXG4gICAgbWF0ZXJpYWwuc2V0Q29sb3IoMCwgMTM4LCAyNTUsIDAuNSk7XHJcbiAgICBtYXRlcmlhbC5zZXRGbG9hdCgpO1xyXG4gICAgLy8gbWF0ZXJpYWwuc3R5bGVTZWdtZW50LnJlbmRlcmluZ09wdGlvbnMubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlciA9IGZhbHNlO1xyXG4gICAgdGhpcy5zdHlsZU1hbmFnZXJCYXNlID0gbmV3IFN0eWxlTWFuYWdlckJhc2UobWF0ZXJpYWwpO1xyXG4gICAgdGhpcy5kYXRhTWFuYWdlckJhc2UgPSBuZXcgRGF0YU1hbmFnZXJCYXNlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDmuIXpmaTlpJrkuKroioLngrnpq5jkuq5cclxuICAgKiBAcGFyYW0gb2Jqc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBjbGVhckhpZ2hsaWdodChvYmpzOiBTZWdtZW50T2JqZWN0W10gfCBUcmVlTm9kZU9iamVjdFtdKSB7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG9ianMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGV0IHJlc3VsdCA9IHRoaXMuZGF0YU1hbmFnZXJCYXNlLmRpc3BlcnNlT2JqZWN0cyh0aGlzLnZpZXdlciwgb2Jqc1tpXSk7XHJcblxyXG4gICAgICB0aGlzLmRhdGFNYW5hZ2VyQmFzZS5hZGRPYmplY3RzKHJlc3VsdC5zdHlsZU5vZGVzKTtcclxuICAgICAgdGhpcy5zdHlsZU1hbmFnZXJCYXNlLnNldE9iamVjdHNTdHlsZShyZXN1bHQuc3R5bGVOb2Rlcyk7XHJcblxyXG4gICAgICB0aGlzLmRhdGFNYW5hZ2VyQmFzZS5yZW1vdmVPYmplY3RzKHJlc3VsdC51blN0eWxlTm9kZXMpO1xyXG4gICAgICB0aGlzLnN0eWxlTWFuYWdlckJhc2UudW5zZXRPYmplY3RzU3R5bGUocmVzdWx0LnVuU3R5bGVOb2Rlcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDpq5jkuq7lpJrkuKroioLngrlcclxuICAgKiBAcGFyYW0gb2Jqc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBoaWdobGlnaHQoXHJcbiAgICBvYmpzOiBTZWdtZW50T2JqZWN0W10gfCBUcmVlTm9kZU9iamVjdFtdLFxyXG4gICAgY29sb3I/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXVxyXG4gICkge1xyXG4gICAgbGV0IG9sZENvbG9yID0gbnVsbDtcclxuICAgIGlmIChjb2xvcikge1xyXG4gICAgICBvbGRDb2xvciA9IHRoaXMubWF0ZXJpYWwuZ2V0Q29sb3IodHJ1ZSk7XHJcbiAgICAgIHRoaXMubWF0ZXJpYWwuc2V0Q29sb3IoY29sb3JbMF0sIGNvbG9yWzFdLCBjb2xvclsyXSwgY29sb3JbM10pO1xyXG4gICAgfVxyXG4gICAgbGV0IHJlc3VsdCA9IHRoaXMuZGF0YU1hbmFnZXJCYXNlLm9wdGltaXplT2JqZWN0cyh0aGlzLnZpZXdlciwgb2Jqcyk7XHJcblxyXG4gICAgdGhpcy5kYXRhTWFuYWdlckJhc2UuYWRkT2JqZWN0cyhyZXN1bHQuc3R5bGVOb2Rlcyk7XHJcbiAgICB0aGlzLnN0eWxlTWFuYWdlckJhc2Uuc2V0T2JqZWN0c1N0eWxlKHJlc3VsdC5zdHlsZU5vZGVzKTtcclxuXHJcbiAgICB0aGlzLmRhdGFNYW5hZ2VyQmFzZS5yZW1vdmVPYmplY3RzKHJlc3VsdC51blN0eWxlTm9kZXMpO1xyXG4gICAgdGhpcy5zdHlsZU1hbmFnZXJCYXNlLnVuc2V0T2JqZWN0c1N0eWxlKHJlc3VsdC51blN0eWxlTm9kZXMpO1xyXG5cclxuICAgIC8vIGlmIChvbGRDb2xvcikge1xyXG4gICAgLy8gXHR0aGlzLm1hdGVyaWFsLnNldENvbG9yQnlBcnJheShvbGRDb2xvcik7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDliKTmlq3oioLngrnmmK/lkKbpq5jkuq5cclxuICAgKiBAcGFyYW0gb2JqXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBwdWJsaWMgaXNIaWdobGlnaHQob2JqOiBTZWdtZW50T2JqZWN0IHwgVHJlZU5vZGVPYmplY3QpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGFNYW5hZ2VyQmFzZS5pc0NvbnRhaW5PYmplY3Qob2JqKTtcclxuICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./packages/bimAir/src/gsDevFx/managers/highlightManager.ts\n");
|
|
3358
3358
|
|
|
3359
3359
|
/***/ }),
|
|
3360
3360
|
|
|
@@ -3374,7 +3374,7 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPAC
|
|
|
3374
3374
|
\******************************************************************/
|
|
3375
3375
|
/***/ (function(module, exports, __webpack_require__) {
|
|
3376
3376
|
|
|
3377
|
-
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ./styleManagerBase */ \"./packages/bimAir/src/gsDevFx/managers/styleManagerBase.ts\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! ../objects/material */ \"./packages/bimAir/src/gsDevFx/objects/material.ts\"), __webpack_require__(/*! ./dataManagerBase */ \"./packages/bimAir/src/gsDevFx/managers/dataManagerBase.ts\"), __webpack_require__(/*! gs-longan/longan/segment */ \"./packages/longan/src/longan/segment.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, styleManagerBase_1, Longan, material_1, dataManagerBase_1, segment_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n exports.InvisibleManager = void 0;\n Longan = tslib_1.__importStar(Longan);\n\n var InvisibleManager = function (_super) {\n tslib_1.__extends(InvisibleManager, _super);\n\n function InvisibleManager(viewer) {\n var _this = _super.call(this, viewer) || this;\n\n var material = new material_1.Material(viewer, \"invisible\", 2);\n material.styleSegment.visibility.setMarker(false).setFace(false).setEdge(false).setBorder(false).setLine(false);\n material.styleSegment.selectability.setMarker(segment_1.SelectabilityType.Off).setFace(segment_1.SelectabilityType.Off).setEdge(segment_1.SelectabilityType.Off).setBorder(segment_1.SelectabilityType.Off).setLine(segment_1.SelectabilityType.Off);\n material.styleSegment.renderingOptions.setLockFaceVisibility(true).setLockEdgeVisibility(true).setLockBorderVisibility(true).setLockLineVisibility(true);\n _this.styleManagerBase = new styleManagerBase_1.StyleManagerBase(material);\n _this.dataManagerBase = new dataManagerBase_1.DataManagerBase();\n return _this;\n }\n\n Object.defineProperty(InvisibleManager.prototype, \"viewer\", {\n get: function get() {\n return this._viewer;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(InvisibleManager.prototype, \"material\", {\n get: function get() {\n return this.styleManagerBase.material;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(InvisibleManager.prototype, \"segmentObject\", {\n get: function get() {\n var segmentObjects = this.segmentObjects;\n var length = segmentObjects.length;\n\n if (length > 0) {\n return segmentObjects[length - 1];\n } else {\n return null;\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(InvisibleManager.prototype, \"segmentObjects\", {\n get: function get() {\n return this.dataManagerBase.getSegmentObjects(this.viewer);\n },\n enumerable: false,\n configurable: true\n });\n\n InvisibleManager.prototype.invisible = function (objs) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var result;\n return tslib_1.__generator(this, function (_a) {\n result = this.dataManagerBase.optimizeObjects(this.viewer, objs);\n this.dataManagerBase.addObjects(result.styleNodes);\n this.styleManagerBase.setObjectsStyle(result.styleNodes);\n this.dataManagerBase.removeObjects(result.unStyleNodes);\n this.styleManagerBase.unsetObjectsStyle(result.unStyleNodes);\n return [2];\n });\n });\n };\n\n InvisibleManager.prototype.clearInvisible = function (objs) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var i, result;\n return tslib_1.__generator(this, function (_a) {\n for (i = 0; i < objs.length; i++) {\n result = this.dataManagerBase.disperseObjects(this.viewer, objs[i]);\n this.dataManagerBase.addObjects(result.styleNodes);\n this.styleManagerBase.setObjectsStyle(result.styleNodes);\n this.dataManagerBase.removeObjects(result.unStyleNodes);\n this.styleManagerBase.unsetObjectsStyle(result.unStyleNodes);\n }\n\n return [2];\n });\n });\n };\n\n InvisibleManager.prototype.invisibleInvert = function (objs) {\n var result = this.dataManagerBase.invertObjects(this.viewer, objs);\n\n _super.prototype.clearAllInvisible.call(this);\n\n this.dataManagerBase.addObjects(result);\n this.styleManagerBase.setObjectsStyle(result);\n };\n\n InvisibleManager.prototype.isInvisible = function (obj) {\n return this.dataManagerBase.isContainObject(obj);\n };\n\n return InvisibleManager;\n }(Longan.InvisibleManager);\n\n exports.InvisibleManager = InvisibleManager;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2RngvbWFuYWdlcnMvaW52aXNpYmxlTWFuYWdlci50cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFRQTtBQUFBOztBQStCQTtBQUFBOztBQUdBO0FBQ0E7QUFPQTtBQU9BO0FBTUE7QUFDQTs7QUFDQTs7QUFyREE7QUFBQTtBQUNBO0FBQ0E7QUFGQTs7QUFBQTtBQUlBO0FBQUE7QUFDQTtBQUNBO0FBRkE7O0FBQUE7QUFPQTtBQUFBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFSQTs7QUFBQTtBQVlBO0FBQUE7QUFDQTtBQUNBO0FBRkE7O0FBQUE7O0FBb0NBOzs7O0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTs7OztBQUNBOztBQU1BOzs7O0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7Ozs7O0FBQ0E7O0FBTUE7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7O0FBT0E7QUFDQTtBQUNBOztBQUNBO0FBQUE7O0FBN0dBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYmltbGlnaHQtcGxhdGZvcm0vLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2RngvbWFuYWdlcnMvaW52aXNpYmxlTWFuYWdlci50cz82NmNjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0eWxlTWFuYWdlckJhc2UgfSBmcm9tIFwiLi9zdHlsZU1hbmFnZXJCYXNlXCI7XHJcbmltcG9ydCAqIGFzIExvbmdhbiBmcm9tIFwiZ3MtbG9uZ2FuXCI7XHJcbmltcG9ydCB7IFZpZXdlciB9IGZyb20gXCIuLi92aWV3ZXJcIjtcclxuaW1wb3J0IHsgTWF0ZXJpYWwgfSBmcm9tIFwiLi4vb2JqZWN0cy9tYXRlcmlhbFwiO1xyXG5pbXBvcnQgeyBTZWdtZW50T2JqZWN0IH0gZnJvbSBcIi4uL29iamVjdHMvc2VnbWVudE9iamVjdFwiO1xyXG5pbXBvcnQgeyBUcmVlTm9kZU9iamVjdCB9IGZyb20gXCIuLi9vYmplY3RzL3RyZWVOb2RlT2JqZWN0XCI7XHJcbmltcG9ydCB7IERhdGFNYW5hZ2VyQmFzZSB9IGZyb20gXCIuL2RhdGFNYW5hZ2VyQmFzZVwiO1xyXG5pbXBvcnQgeyBTZWxlY3RhYmlsaXR5VHlwZSB9IGZyb20gXCJncy1sb25nYW4vbG9uZ2FuL3NlZ21lbnRcIjtcclxuZXhwb3J0IGNsYXNzIEludmlzaWJsZU1hbmFnZXIgZXh0ZW5kcyBMb25nYW4uSW52aXNpYmxlTWFuYWdlciB7XHJcbiAgc3R5bGVNYW5hZ2VyQmFzZTogU3R5bGVNYW5hZ2VyQmFzZTtcclxuICBkYXRhTWFuYWdlckJhc2U6IERhdGFNYW5hZ2VyQmFzZTtcclxuXHJcbiAgcHVibGljIGdldCB2aWV3ZXIoKTogVmlld2VyIHtcclxuICAgIHJldHVybiB0aGlzLl92aWV3ZXIgYXMgVmlld2VyO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1hdGVyaWFsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3R5bGVNYW5hZ2VyQmFzZS5tYXRlcmlhbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluW9k+WJjemakOiXj+eahOS4gOS4quiKgueCuVxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgc2VnbWVudE9iamVjdCgpOiBTZWdtZW50T2JqZWN0IHtcclxuICAgIGxldCBzZWdtZW50T2JqZWN0cyA9IHRoaXMuc2VnbWVudE9iamVjdHM7XHJcbiAgICBsZXQgbGVuZ3RoID0gc2VnbWVudE9iamVjdHMubGVuZ3RoO1xyXG4gICAgaWYgKGxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIHNlZ21lbnRPYmplY3RzW2xlbmd0aCAtIDFdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluW9k+WJjemakOiXj+eahOWFqOmDqOiKgueCuVxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgc2VnbWVudE9iamVjdHMoKTogU2VnbWVudE9iamVjdFtdIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGFNYW5hZ2VyQmFzZS5nZXRTZWdtZW50T2JqZWN0cyh0aGlzLnZpZXdlcik7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcih2aWV3ZXI6IFZpZXdlcikge1xyXG4gICAgc3VwZXIodmlld2VyKTtcclxuXHJcbiAgICBsZXQgbWF0ZXJpYWwgPSBuZXcgTWF0ZXJpYWwodmlld2VyLCBcImludmlzaWJsZVwiLCAyKTtcclxuICAgIG1hdGVyaWFsLnN0eWxlU2VnbWVudC52aXNpYmlsaXR5XHJcbiAgICAgIC5zZXRNYXJrZXIoZmFsc2UpXHJcbiAgICAgIC5zZXRGYWNlKGZhbHNlKVxyXG4gICAgICAuc2V0RWRnZShmYWxzZSlcclxuICAgICAgLnNldEJvcmRlcihmYWxzZSlcclxuICAgICAgLnNldExpbmUoZmFsc2UpO1xyXG5cclxuICAgIG1hdGVyaWFsLnN0eWxlU2VnbWVudC5zZWxlY3RhYmlsaXR5XHJcbiAgICAgIC5zZXRNYXJrZXIoU2VsZWN0YWJpbGl0eVR5cGUuT2ZmKVxyXG4gICAgICAuc2V0RmFjZShTZWxlY3RhYmlsaXR5VHlwZS5PZmYpXHJcbiAgICAgIC5zZXRFZGdlKFNlbGVjdGFiaWxpdHlUeXBlLk9mZilcclxuICAgICAgLnNldEJvcmRlcihTZWxlY3RhYmlsaXR5VHlwZS5PZmYpXHJcbiAgICAgIC5zZXRMaW5lKFNlbGVjdGFiaWxpdHlUeXBlLk9mZik7XHJcblxyXG4gICAgbWF0ZXJpYWwuc3R5bGVTZWdtZW50LnJlbmRlcmluZ09wdGlvbnNcclxuICAgICAgLnNldExvY2tGYWNlVmlzaWJpbGl0eSh0cnVlKVxyXG4gICAgICAuc2V0TG9ja0VkZ2VWaXNpYmlsaXR5KHRydWUpXHJcbiAgICAgIC5zZXRMb2NrQm9yZGVyVmlzaWJpbGl0eSh0cnVlKVxyXG4gICAgICAuc2V0TG9ja0xpbmVWaXNpYmlsaXR5KHRydWUpO1xyXG5cclxuICAgIHRoaXMuc3R5bGVNYW5hZ2VyQmFzZSA9IG5ldyBTdHlsZU1hbmFnZXJCYXNlKG1hdGVyaWFsKTtcclxuICAgIHRoaXMuZGF0YU1hbmFnZXJCYXNlID0gbmV3IERhdGFNYW5hZ2VyQmFzZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6ZqQ6JeP5aSa5LiqXHJcbiAgICogQHBhcmFtIG9ianMg6KKr6ZqQ6JeP55qE5a+56LGhXHJcbiAgICovXHJcbiAgcHVibGljIGFzeW5jIGludmlzaWJsZShvYmpzOiBTZWdtZW50T2JqZWN0W10gfCBUcmVlTm9kZU9iamVjdFtdKSB7XHJcbiAgICBsZXQgcmVzdWx0ID0gdGhpcy5kYXRhTWFuYWdlckJhc2Uub3B0aW1pemVPYmplY3RzKHRoaXMudmlld2VyLCBvYmpzKTtcclxuXHJcbiAgICB0aGlzLmRhdGFNYW5hZ2VyQmFzZS5hZGRPYmplY3RzKHJlc3VsdC5zdHlsZU5vZGVzKTtcclxuICAgIHRoaXMuc3R5bGVNYW5hZ2VyQmFzZS5zZXRPYmplY3RzU3R5bGUocmVzdWx0LnN0eWxlTm9kZXMpO1xyXG5cclxuICAgIHRoaXMuZGF0YU1hbmFnZXJCYXNlLnJlbW92ZU9iamVjdHMocmVzdWx0LnVuU3R5bGVOb2Rlcyk7XHJcbiAgICB0aGlzLnN0eWxlTWFuYWdlckJhc2UudW5zZXRPYmplY3RzU3R5bGUocmVzdWx0LnVuU3R5bGVOb2Rlcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDlj5bmtojlpJrkuKrpmpDol49cclxuICAgKiBAcGFyYW0ga2V5XHJcbiAgICovXHJcbiAgcHVibGljIGFzeW5jIGNsZWFySW52aXNpYmxlKG9ianM6IFNlZ21lbnRPYmplY3RbXSB8IFRyZWVOb2RlT2JqZWN0W10pIHtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb2Jqcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBsZXQgcmVzdWx0ID0gdGhpcy5kYXRhTWFuYWdlckJhc2UuZGlzcGVyc2VPYmplY3RzKHRoaXMudmlld2VyLCBvYmpzW2ldKTtcclxuXHJcbiAgICAgIHRoaXMuZGF0YU1hbmFnZXJCYXNlLmFkZE9iamVjdHMocmVzdWx0LnN0eWxlTm9kZXMpO1xyXG4gICAgICB0aGlzLnN0eWxlTWFuYWdlckJhc2Uuc2V0T2JqZWN0c1N0eWxlKHJlc3VsdC5zdHlsZU5vZGVzKTtcclxuXHJcbiAgICAgIHRoaXMuZGF0YU1hbmFnZXJCYXNlLnJlbW92ZU9iamVjdHMocmVzdWx0LnVuU3R5bGVOb2Rlcyk7XHJcbiAgICAgIHRoaXMuc3R5bGVNYW5hZ2VyQmFzZS51bnNldE9iamVjdHNTdHlsZShyZXN1bHQudW5TdHlsZU5vZGVzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOWPquaYvuekulxyXG4gICAqIEBwYXJhbSBvYmpzXHJcbiAgICovXHJcbiAgcHVibGljIGludmlzaWJsZUludmVydChvYmpzOiBTZWdtZW50T2JqZWN0W10gfCBUcmVlTm9kZU9iamVjdFtdKSB7XHJcbiAgICBsZXQgcmVzdWx0ID0gdGhpcy5kYXRhTWFuYWdlckJhc2UuaW52ZXJ0T2JqZWN0cyh0aGlzLnZpZXdlciwgb2Jqcyk7XHJcblxyXG4gICAgc3VwZXIuY2xlYXJBbGxJbnZpc2libGUoKTtcclxuICAgIHRoaXMuZGF0YU1hbmFnZXJCYXNlLmFkZE9iamVjdHMocmVzdWx0KTtcclxuICAgIHRoaXMuc3R5bGVNYW5hZ2VyQmFzZS5zZXRPYmplY3RzU3R5bGUocmVzdWx0KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOaYr+WQpumakOiXj1xyXG4gICAqIEBwYXJhbSBvYmpcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBpc0ludmlzaWJsZShvYmo6IFNlZ21lbnRPYmplY3QgfCBUcmVlTm9kZU9iamVjdCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YU1hbmFnZXJCYXNlLmlzQ29udGFpbk9iamVjdChvYmopO1xyXG4gIH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./packages/bimAir/src/gsDevFx/managers/invisibleManager.ts\n");
|
|
3377
|
+
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ./styleManagerBase */ \"./packages/bimAir/src/gsDevFx/managers/styleManagerBase.ts\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! ../objects/material */ \"./packages/bimAir/src/gsDevFx/objects/material.ts\"), __webpack_require__(/*! ./dataManagerBase */ \"./packages/bimAir/src/gsDevFx/managers/dataManagerBase.ts\"), __webpack_require__(/*! gs-longan/longan/segment */ \"./packages/longan/src/longan/segment.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, styleManagerBase_1, Longan, material_1, dataManagerBase_1, segment_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n exports.InvisibleManager = void 0;\n Longan = tslib_1.__importStar(Longan);\n\n var InvisibleManager = function (_super) {\n tslib_1.__extends(InvisibleManager, _super);\n\n function InvisibleManager(viewer) {\n var _this = _super.call(this, viewer) || this;\n\n var material = new material_1.Material(viewer, \"invisible\", 3);\n material.styleSegment.visibility.setMarker(false).setFace(false).setEdge(false).setBorder(false).setLine(false);\n material.styleSegment.selectability.setMarker(segment_1.SelectabilityType.Off).setFace(segment_1.SelectabilityType.Off).setEdge(segment_1.SelectabilityType.Off).setBorder(segment_1.SelectabilityType.Off).setLine(segment_1.SelectabilityType.Off);\n material.styleSegment.renderingOptions.setLockFaceVisibility(true).setLockEdgeVisibility(true).setLockBorderVisibility(true).setLockLineVisibility(true);\n _this.styleManagerBase = new styleManagerBase_1.StyleManagerBase(material);\n _this.dataManagerBase = new dataManagerBase_1.DataManagerBase();\n return _this;\n }\n\n Object.defineProperty(InvisibleManager.prototype, \"viewer\", {\n get: function get() {\n return this._viewer;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(InvisibleManager.prototype, \"material\", {\n get: function get() {\n return this.styleManagerBase.material;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(InvisibleManager.prototype, \"segmentObject\", {\n get: function get() {\n var segmentObjects = this.segmentObjects;\n var length = segmentObjects.length;\n\n if (length > 0) {\n return segmentObjects[length - 1];\n } else {\n return null;\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(InvisibleManager.prototype, \"segmentObjects\", {\n get: function get() {\n return this.dataManagerBase.getSegmentObjects(this.viewer);\n },\n enumerable: false,\n configurable: true\n });\n\n InvisibleManager.prototype.invisible = function (objs) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var result;\n return tslib_1.__generator(this, function (_a) {\n result = this.dataManagerBase.optimizeObjects(this.viewer, objs);\n this.dataManagerBase.addObjects(result.styleNodes);\n this.styleManagerBase.setObjectsStyle(result.styleNodes);\n this.dataManagerBase.removeObjects(result.unStyleNodes);\n this.styleManagerBase.unsetObjectsStyle(result.unStyleNodes);\n return [2];\n });\n });\n };\n\n InvisibleManager.prototype.clearInvisible = function (objs) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var i, result;\n return tslib_1.__generator(this, function (_a) {\n for (i = 0; i < objs.length; i++) {\n result = this.dataManagerBase.disperseObjects(this.viewer, objs[i]);\n this.dataManagerBase.addObjects(result.styleNodes);\n this.styleManagerBase.setObjectsStyle(result.styleNodes);\n this.dataManagerBase.removeObjects(result.unStyleNodes);\n this.styleManagerBase.unsetObjectsStyle(result.unStyleNodes);\n }\n\n return [2];\n });\n });\n };\n\n InvisibleManager.prototype.invisibleInvert = function (objs) {\n var result = this.dataManagerBase.invertObjects(this.viewer, objs);\n\n _super.prototype.clearAllInvisible.call(this);\n\n this.dataManagerBase.addObjects(result);\n this.styleManagerBase.setObjectsStyle(result);\n };\n\n InvisibleManager.prototype.isInvisible = function (obj) {\n return this.dataManagerBase.isContainObject(obj);\n };\n\n return InvisibleManager;\n }(Longan.InvisibleManager);\n\n exports.InvisibleManager = InvisibleManager;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2RngvbWFuYWdlcnMvaW52aXNpYmxlTWFuYWdlci50cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFRQTtBQUFBOztBQStCQTtBQUFBOztBQUdBO0FBQ0E7QUFPQTtBQU9BO0FBTUE7QUFDQTs7QUFDQTs7QUFyREE7QUFBQTtBQUNBO0FBQ0E7QUFGQTs7QUFBQTtBQUlBO0FBQUE7QUFDQTtBQUNBO0FBRkE7O0FBQUE7QUFPQTtBQUFBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFSQTs7QUFBQTtBQVlBO0FBQUE7QUFDQTtBQUNBO0FBRkE7O0FBQUE7O0FBb0NBOzs7O0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTs7OztBQUNBOztBQU1BOzs7O0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7Ozs7O0FBQ0E7O0FBTUE7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7O0FBT0E7QUFDQTtBQUNBOztBQUNBO0FBQUE7O0FBN0dBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYmltbGlnaHQtcGxhdGZvcm0vLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2RngvbWFuYWdlcnMvaW52aXNpYmxlTWFuYWdlci50cz82NmNjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0eWxlTWFuYWdlckJhc2UgfSBmcm9tIFwiLi9zdHlsZU1hbmFnZXJCYXNlXCI7XHJcbmltcG9ydCAqIGFzIExvbmdhbiBmcm9tIFwiZ3MtbG9uZ2FuXCI7XHJcbmltcG9ydCB7IFZpZXdlciB9IGZyb20gXCIuLi92aWV3ZXJcIjtcclxuaW1wb3J0IHsgTWF0ZXJpYWwgfSBmcm9tIFwiLi4vb2JqZWN0cy9tYXRlcmlhbFwiO1xyXG5pbXBvcnQgeyBTZWdtZW50T2JqZWN0IH0gZnJvbSBcIi4uL29iamVjdHMvc2VnbWVudE9iamVjdFwiO1xyXG5pbXBvcnQgeyBUcmVlTm9kZU9iamVjdCB9IGZyb20gXCIuLi9vYmplY3RzL3RyZWVOb2RlT2JqZWN0XCI7XHJcbmltcG9ydCB7IERhdGFNYW5hZ2VyQmFzZSB9IGZyb20gXCIuL2RhdGFNYW5hZ2VyQmFzZVwiO1xyXG5pbXBvcnQgeyBTZWxlY3RhYmlsaXR5VHlwZSB9IGZyb20gXCJncy1sb25nYW4vbG9uZ2FuL3NlZ21lbnRcIjtcclxuZXhwb3J0IGNsYXNzIEludmlzaWJsZU1hbmFnZXIgZXh0ZW5kcyBMb25nYW4uSW52aXNpYmxlTWFuYWdlciB7XHJcbiAgc3R5bGVNYW5hZ2VyQmFzZTogU3R5bGVNYW5hZ2VyQmFzZTtcclxuICBkYXRhTWFuYWdlckJhc2U6IERhdGFNYW5hZ2VyQmFzZTtcclxuXHJcbiAgcHVibGljIGdldCB2aWV3ZXIoKTogVmlld2VyIHtcclxuICAgIHJldHVybiB0aGlzLl92aWV3ZXIgYXMgVmlld2VyO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1hdGVyaWFsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3R5bGVNYW5hZ2VyQmFzZS5tYXRlcmlhbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluW9k+WJjemakOiXj+eahOS4gOS4quiKgueCuVxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgc2VnbWVudE9iamVjdCgpOiBTZWdtZW50T2JqZWN0IHtcclxuICAgIGxldCBzZWdtZW50T2JqZWN0cyA9IHRoaXMuc2VnbWVudE9iamVjdHM7XHJcbiAgICBsZXQgbGVuZ3RoID0gc2VnbWVudE9iamVjdHMubGVuZ3RoO1xyXG4gICAgaWYgKGxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIHNlZ21lbnRPYmplY3RzW2xlbmd0aCAtIDFdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluW9k+WJjemakOiXj+eahOWFqOmDqOiKgueCuVxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgc2VnbWVudE9iamVjdHMoKTogU2VnbWVudE9iamVjdFtdIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGFNYW5hZ2VyQmFzZS5nZXRTZWdtZW50T2JqZWN0cyh0aGlzLnZpZXdlcik7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcih2aWV3ZXI6IFZpZXdlcikge1xyXG4gICAgc3VwZXIodmlld2VyKTtcclxuXHJcbiAgICBsZXQgbWF0ZXJpYWwgPSBuZXcgTWF0ZXJpYWwodmlld2VyLCBcImludmlzaWJsZVwiLCAzKTtcclxuICAgIG1hdGVyaWFsLnN0eWxlU2VnbWVudC52aXNpYmlsaXR5XHJcbiAgICAgIC5zZXRNYXJrZXIoZmFsc2UpXHJcbiAgICAgIC5zZXRGYWNlKGZhbHNlKVxyXG4gICAgICAuc2V0RWRnZShmYWxzZSlcclxuICAgICAgLnNldEJvcmRlcihmYWxzZSlcclxuICAgICAgLnNldExpbmUoZmFsc2UpO1xyXG5cclxuICAgIG1hdGVyaWFsLnN0eWxlU2VnbWVudC5zZWxlY3RhYmlsaXR5XHJcbiAgICAgIC5zZXRNYXJrZXIoU2VsZWN0YWJpbGl0eVR5cGUuT2ZmKVxyXG4gICAgICAuc2V0RmFjZShTZWxlY3RhYmlsaXR5VHlwZS5PZmYpXHJcbiAgICAgIC5zZXRFZGdlKFNlbGVjdGFiaWxpdHlUeXBlLk9mZilcclxuICAgICAgLnNldEJvcmRlcihTZWxlY3RhYmlsaXR5VHlwZS5PZmYpXHJcbiAgICAgIC5zZXRMaW5lKFNlbGVjdGFiaWxpdHlUeXBlLk9mZik7XHJcblxyXG4gICAgbWF0ZXJpYWwuc3R5bGVTZWdtZW50LnJlbmRlcmluZ09wdGlvbnNcclxuICAgICAgLnNldExvY2tGYWNlVmlzaWJpbGl0eSh0cnVlKVxyXG4gICAgICAuc2V0TG9ja0VkZ2VWaXNpYmlsaXR5KHRydWUpXHJcbiAgICAgIC5zZXRMb2NrQm9yZGVyVmlzaWJpbGl0eSh0cnVlKVxyXG4gICAgICAuc2V0TG9ja0xpbmVWaXNpYmlsaXR5KHRydWUpO1xyXG5cclxuICAgIHRoaXMuc3R5bGVNYW5hZ2VyQmFzZSA9IG5ldyBTdHlsZU1hbmFnZXJCYXNlKG1hdGVyaWFsKTtcclxuICAgIHRoaXMuZGF0YU1hbmFnZXJCYXNlID0gbmV3IERhdGFNYW5hZ2VyQmFzZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6ZqQ6JeP5aSa5LiqXHJcbiAgICogQHBhcmFtIG9ianMg6KKr6ZqQ6JeP55qE5a+56LGhXHJcbiAgICovXHJcbiAgcHVibGljIGFzeW5jIGludmlzaWJsZShvYmpzOiBTZWdtZW50T2JqZWN0W10gfCBUcmVlTm9kZU9iamVjdFtdKSB7XHJcbiAgICBsZXQgcmVzdWx0ID0gdGhpcy5kYXRhTWFuYWdlckJhc2Uub3B0aW1pemVPYmplY3RzKHRoaXMudmlld2VyLCBvYmpzKTtcclxuXHJcbiAgICB0aGlzLmRhdGFNYW5hZ2VyQmFzZS5hZGRPYmplY3RzKHJlc3VsdC5zdHlsZU5vZGVzKTtcclxuICAgIHRoaXMuc3R5bGVNYW5hZ2VyQmFzZS5zZXRPYmplY3RzU3R5bGUocmVzdWx0LnN0eWxlTm9kZXMpO1xyXG5cclxuICAgIHRoaXMuZGF0YU1hbmFnZXJCYXNlLnJlbW92ZU9iamVjdHMocmVzdWx0LnVuU3R5bGVOb2Rlcyk7XHJcbiAgICB0aGlzLnN0eWxlTWFuYWdlckJhc2UudW5zZXRPYmplY3RzU3R5bGUocmVzdWx0LnVuU3R5bGVOb2Rlcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDlj5bmtojlpJrkuKrpmpDol49cclxuICAgKiBAcGFyYW0ga2V5XHJcbiAgICovXHJcbiAgcHVibGljIGFzeW5jIGNsZWFySW52aXNpYmxlKG9ianM6IFNlZ21lbnRPYmplY3RbXSB8IFRyZWVOb2RlT2JqZWN0W10pIHtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb2Jqcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBsZXQgcmVzdWx0ID0gdGhpcy5kYXRhTWFuYWdlckJhc2UuZGlzcGVyc2VPYmplY3RzKHRoaXMudmlld2VyLCBvYmpzW2ldKTtcclxuXHJcbiAgICAgIHRoaXMuZGF0YU1hbmFnZXJCYXNlLmFkZE9iamVjdHMocmVzdWx0LnN0eWxlTm9kZXMpO1xyXG4gICAgICB0aGlzLnN0eWxlTWFuYWdlckJhc2Uuc2V0T2JqZWN0c1N0eWxlKHJlc3VsdC5zdHlsZU5vZGVzKTtcclxuXHJcbiAgICAgIHRoaXMuZGF0YU1hbmFnZXJCYXNlLnJlbW92ZU9iamVjdHMocmVzdWx0LnVuU3R5bGVOb2Rlcyk7XHJcbiAgICAgIHRoaXMuc3R5bGVNYW5hZ2VyQmFzZS51bnNldE9iamVjdHNTdHlsZShyZXN1bHQudW5TdHlsZU5vZGVzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOWPquaYvuekulxyXG4gICAqIEBwYXJhbSBvYmpzXHJcbiAgICovXHJcbiAgcHVibGljIGludmlzaWJsZUludmVydChvYmpzOiBTZWdtZW50T2JqZWN0W10gfCBUcmVlTm9kZU9iamVjdFtdKSB7XHJcbiAgICBsZXQgcmVzdWx0ID0gdGhpcy5kYXRhTWFuYWdlckJhc2UuaW52ZXJ0T2JqZWN0cyh0aGlzLnZpZXdlciwgb2Jqcyk7XHJcblxyXG4gICAgc3VwZXIuY2xlYXJBbGxJbnZpc2libGUoKTtcclxuICAgIHRoaXMuZGF0YU1hbmFnZXJCYXNlLmFkZE9iamVjdHMocmVzdWx0KTtcclxuICAgIHRoaXMuc3R5bGVNYW5hZ2VyQmFzZS5zZXRPYmplY3RzU3R5bGUocmVzdWx0KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOaYr+WQpumakOiXj1xyXG4gICAqIEBwYXJhbSBvYmpcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBpc0ludmlzaWJsZShvYmo6IFNlZ21lbnRPYmplY3QgfCBUcmVlTm9kZU9iamVjdCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YU1hbmFnZXJCYXNlLmlzQ29udGFpbk9iamVjdChvYmopO1xyXG4gIH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./packages/bimAir/src/gsDevFx/managers/invisibleManager.ts\n");
|
|
3378
3378
|
|
|
3379
3379
|
/***/ }),
|
|
3380
3380
|
|
|
@@ -3384,7 +3384,7 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPAC
|
|
|
3384
3384
|
\******************************************************************/
|
|
3385
3385
|
/***/ (function(module, exports, __webpack_require__) {
|
|
3386
3386
|
|
|
3387
|
-
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ./styleManagerBase */ \"./packages/bimAir/src/gsDevFx/managers/styleManagerBase.ts\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! ../objects/material */ \"./packages/bimAir/src/gsDevFx/objects/material.ts\"), __webpack_require__(/*! gs-longan/longan/segment */ \"./packages/longan/src/longan/segment.ts\"), __webpack_require__(/*! ./dataManagerBase */ \"./packages/bimAir/src/gsDevFx/managers/dataManagerBase.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, styleManagerBase_1, Longan, material_1, segment_1, dataManagerBase_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n exports.IsolationManager = void 0;\n Longan = tslib_1.__importStar(Longan);\n\n var IsolationManager = function (_super) {\n tslib_1.__extends(IsolationManager, _super);\n\n function IsolationManager(viewer) {\n var _this = _super.call(this, viewer) || this;\n\n var material = new material_1.Material(viewer, \"isolation\",
|
|
3387
|
+
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ./styleManagerBase */ \"./packages/bimAir/src/gsDevFx/managers/styleManagerBase.ts\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! ../objects/material */ \"./packages/bimAir/src/gsDevFx/objects/material.ts\"), __webpack_require__(/*! gs-longan/longan/segment */ \"./packages/longan/src/longan/segment.ts\"), __webpack_require__(/*! ./dataManagerBase */ \"./packages/bimAir/src/gsDevFx/managers/dataManagerBase.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, styleManagerBase_1, Longan, material_1, segment_1, dataManagerBase_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n exports.IsolationManager = void 0;\n Longan = tslib_1.__importStar(Longan);\n\n var IsolationManager = function (_super) {\n tslib_1.__extends(IsolationManager, _super);\n\n function IsolationManager(viewer) {\n var _this = _super.call(this, viewer) || this;\n\n var material = new material_1.Material(viewer, \"isolation\", 4);\n material.setColor(98, 98, 98, 0.6);\n material.styleSegment.selectability.setFace(segment_1.SelectabilityType.Off);\n _this.styleManagerBase = new styleManagerBase_1.StyleManagerBase(material);\n _this.dataManagerBase = new dataManagerBase_1.DataManagerBase();\n return _this;\n }\n\n Object.defineProperty(IsolationManager.prototype, \"viewer\", {\n get: function get() {\n return this._viewer;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(IsolationManager.prototype, \"material\", {\n get: function get() {\n return this.styleManagerBase.material;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(IsolationManager.prototype, \"segmentObject\", {\n get: function get() {\n var segmentObjects = this.segmentObjects;\n var length = segmentObjects.length;\n\n if (length > 0) {\n return segmentObjects[length - 1];\n } else {\n return null;\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(IsolationManager.prototype, \"segmentObjects\", {\n get: function get() {\n return this.dataManagerBase.getSegmentObjects(this.viewer);\n },\n enumerable: false,\n configurable: true\n });\n\n IsolationManager.prototype.isolation = function (objs) {\n var result = this.dataManagerBase.optimizeObjects(this.viewer, objs);\n this.dataManagerBase.addObjects(result.styleNodes);\n this.styleManagerBase.setObjectsStyle(result.styleNodes);\n this.dataManagerBase.removeObjects(result.unStyleNodes);\n this.styleManagerBase.unsetObjectsStyle(result.unStyleNodes);\n };\n\n IsolationManager.prototype.clearIsolation = function (objs) {\n for (var i = 0; i < objs.length; i++) {\n var result = this.dataManagerBase.disperseObjects(this.viewer, objs[i]);\n this.dataManagerBase.addObjects(result.styleNodes);\n this.styleManagerBase.setObjectsStyle(result.styleNodes);\n this.dataManagerBase.removeObjects(result.unStyleNodes);\n this.styleManagerBase.unsetObjectsStyle(result.unStyleNodes);\n }\n };\n\n IsolationManager.prototype.isolationInvert = function (objs) {\n var result = this.dataManagerBase.invertObjects(this.viewer, objs);\n\n _super.prototype.clearAllIsolation.call(this);\n\n this.dataManagerBase.addObjects(result);\n this.styleManagerBase.setObjectsStyle(result);\n };\n\n IsolationManager.prototype.isIsolation = function (obj) {\n return this.dataManagerBase.isContainObject(obj);\n };\n\n return IsolationManager;\n }(Longan.IsolationManager);\n\n exports.IsolationManager = IsolationManager;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2RngvbWFuYWdlcnMvaXNvbGF0aW9uTWFuYWdlci50cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFTQTtBQUFBOztBQStCQTtBQUFBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7O0FBbkNBO0FBQUE7QUFDQTtBQUNBO0FBRkE7O0FBQUE7QUFJQTtBQUFBO0FBQ0E7QUFDQTtBQUZBOztBQUFBO0FBT0E7QUFBQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUkE7O0FBQUE7QUFZQTtBQUFBO0FBQ0E7QUFDQTtBQUZBOztBQUFBOztBQWtCQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7QUFNQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBTUE7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7O0FBT0E7QUFDQTtBQUNBOztBQUNBO0FBQUE7O0FBM0ZBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYmltbGlnaHQtcGxhdGZvcm0vLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2RngvbWFuYWdlcnMvaXNvbGF0aW9uTWFuYWdlci50cz9hZjQ4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0eWxlTWFuYWdlckJhc2UgfSBmcm9tIFwiLi9zdHlsZU1hbmFnZXJCYXNlXCI7XHJcbmltcG9ydCAqIGFzIExvbmdhbiBmcm9tIFwiZ3MtbG9uZ2FuXCI7XHJcbmltcG9ydCB7IE1hdGVyaWFsIH0gZnJvbSBcIi4uL29iamVjdHMvbWF0ZXJpYWxcIjtcclxuaW1wb3J0IHsgU2VnbWVudE9iamVjdCB9IGZyb20gXCIuLi9vYmplY3RzL3NlZ21lbnRPYmplY3RcIjtcclxuaW1wb3J0IHsgVHJlZU5vZGVPYmplY3QgfSBmcm9tIFwiLi4vb2JqZWN0cy90cmVlTm9kZU9iamVjdFwiO1xyXG5pbXBvcnQgeyBTZWxlY3RhYmlsaXR5VHlwZSB9IGZyb20gXCJncy1sb25nYW4vbG9uZ2FuL3NlZ21lbnRcIjtcclxuaW1wb3J0IHsgVmlld2VyIH0gZnJvbSBcIi4uL3ZpZXdlclwiO1xyXG5pbXBvcnQgeyBEYXRhTWFuYWdlckJhc2UgfSBmcm9tIFwiLi9kYXRhTWFuYWdlckJhc2VcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBJc29sYXRpb25NYW5hZ2VyIGV4dGVuZHMgTG9uZ2FuLklzb2xhdGlvbk1hbmFnZXIge1xyXG4gIHN0eWxlTWFuYWdlckJhc2U6IFN0eWxlTWFuYWdlckJhc2U7XHJcbiAgZGF0YU1hbmFnZXJCYXNlOiBEYXRhTWFuYWdlckJhc2U7XHJcblxyXG4gIHB1YmxpYyBnZXQgdmlld2VyKCk6IFZpZXdlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmlld2VyIGFzIFZpZXdlcjtcclxuICB9XHJcblxyXG4gIGdldCBtYXRlcmlhbCgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0eWxlTWFuYWdlckJhc2UubWF0ZXJpYWw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5blvZPliY3pmpTnprvnmoTkuIDkuKroioLngrlcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IHNlZ21lbnRPYmplY3QoKTogU2VnbWVudE9iamVjdCB7XHJcbiAgICBsZXQgc2VnbWVudE9iamVjdHMgPSB0aGlzLnNlZ21lbnRPYmplY3RzO1xyXG4gICAgbGV0IGxlbmd0aCA9IHNlZ21lbnRPYmplY3RzLmxlbmd0aDtcclxuICAgIGlmIChsZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiBzZWdtZW50T2JqZWN0c1tsZW5ndGggLSAxXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiDojrflj5blvZPliY3pmpTnprvnmoTlhajpg6joioLngrlcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IHNlZ21lbnRPYmplY3RzKCk6IFNlZ21lbnRPYmplY3RbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhTWFuYWdlckJhc2UuZ2V0U2VnbWVudE9iamVjdHModGhpcy52aWV3ZXIpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3Iodmlld2VyOiBWaWV3ZXIpIHtcclxuICAgIHN1cGVyKHZpZXdlcik7XHJcblxyXG4gICAgbGV0IG1hdGVyaWFsID0gbmV3IE1hdGVyaWFsKHZpZXdlciwgXCJpc29sYXRpb25cIiwgNCk7XHJcbiAgICBtYXRlcmlhbC5zZXRDb2xvcig5OCwgOTgsIDk4LCAwLjYpO1xyXG4gICAgbWF0ZXJpYWwuc3R5bGVTZWdtZW50LnNlbGVjdGFiaWxpdHkuc2V0RmFjZShTZWxlY3RhYmlsaXR5VHlwZS5PZmYpO1xyXG4gICAgdGhpcy5zdHlsZU1hbmFnZXJCYXNlID0gbmV3IFN0eWxlTWFuYWdlckJhc2UobWF0ZXJpYWwpO1xyXG4gICAgdGhpcy5kYXRhTWFuYWdlckJhc2UgPSBuZXcgRGF0YU1hbmFnZXJCYXNlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDpmpTnprvlpJrkuKpcclxuICAgKiBAcGFyYW0gb2JqcyDooqvpmpTnprvnmoTlr7nosaFcclxuICAgKi9cclxuICBwdWJsaWMgaXNvbGF0aW9uKG9ianM6IFNlZ21lbnRPYmplY3RbXSB8IFRyZWVOb2RlT2JqZWN0W10pIHtcclxuICAgIGxldCByZXN1bHQgPSB0aGlzLmRhdGFNYW5hZ2VyQmFzZS5vcHRpbWl6ZU9iamVjdHModGhpcy52aWV3ZXIsIG9ianMpO1xyXG5cclxuICAgIHRoaXMuZGF0YU1hbmFnZXJCYXNlLmFkZE9iamVjdHMocmVzdWx0LnN0eWxlTm9kZXMpO1xyXG4gICAgdGhpcy5zdHlsZU1hbmFnZXJCYXNlLnNldE9iamVjdHNTdHlsZShyZXN1bHQuc3R5bGVOb2Rlcyk7XHJcblxyXG4gICAgdGhpcy5kYXRhTWFuYWdlckJhc2UucmVtb3ZlT2JqZWN0cyhyZXN1bHQudW5TdHlsZU5vZGVzKTtcclxuICAgIHRoaXMuc3R5bGVNYW5hZ2VyQmFzZS51bnNldE9iamVjdHNTdHlsZShyZXN1bHQudW5TdHlsZU5vZGVzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOWPlua2iOWkmuS4qumalOemu1xyXG4gICAqIEBwYXJhbSBrZXlcclxuICAgKi9cclxuICBwdWJsaWMgY2xlYXJJc29sYXRpb24ob2JqczogU2VnbWVudE9iamVjdFtdIHwgVHJlZU5vZGVPYmplY3RbXSkge1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvYmpzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxldCByZXN1bHQgPSB0aGlzLmRhdGFNYW5hZ2VyQmFzZS5kaXNwZXJzZU9iamVjdHModGhpcy52aWV3ZXIsIG9ianNbaV0pO1xyXG5cclxuICAgICAgdGhpcy5kYXRhTWFuYWdlckJhc2UuYWRkT2JqZWN0cyhyZXN1bHQuc3R5bGVOb2Rlcyk7XHJcbiAgICAgIHRoaXMuc3R5bGVNYW5hZ2VyQmFzZS5zZXRPYmplY3RzU3R5bGUocmVzdWx0LnN0eWxlTm9kZXMpO1xyXG5cclxuICAgICAgdGhpcy5kYXRhTWFuYWdlckJhc2UucmVtb3ZlT2JqZWN0cyhyZXN1bHQudW5TdHlsZU5vZGVzKTtcclxuICAgICAgdGhpcy5zdHlsZU1hbmFnZXJCYXNlLnVuc2V0T2JqZWN0c1N0eWxlKHJlc3VsdC51blN0eWxlTm9kZXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5Y+q6ZqU56a7XHJcbiAgICogQHBhcmFtIG9ianNcclxuICAgKi9cclxuICBwdWJsaWMgaXNvbGF0aW9uSW52ZXJ0KG9ianM6IFNlZ21lbnRPYmplY3RbXSB8IFRyZWVOb2RlT2JqZWN0W10pIHtcclxuICAgIGxldCByZXN1bHQgPSB0aGlzLmRhdGFNYW5hZ2VyQmFzZS5pbnZlcnRPYmplY3RzKHRoaXMudmlld2VyLCBvYmpzKTtcclxuXHJcbiAgICBzdXBlci5jbGVhckFsbElzb2xhdGlvbigpO1xyXG4gICAgdGhpcy5kYXRhTWFuYWdlckJhc2UuYWRkT2JqZWN0cyhyZXN1bHQpO1xyXG4gICAgdGhpcy5zdHlsZU1hbmFnZXJCYXNlLnNldE9iamVjdHNTdHlsZShyZXN1bHQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5piv5ZCm6ZqU56a7XHJcbiAgICogQHBhcmFtIG9ialxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgcHVibGljIGlzSXNvbGF0aW9uKG9iajogU2VnbWVudE9iamVjdCB8IFRyZWVOb2RlT2JqZWN0KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhTWFuYWdlckJhc2UuaXNDb250YWluT2JqZWN0KG9iaik7XHJcbiAgfVxyXG59XHJcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./packages/bimAir/src/gsDevFx/managers/isolationManager.ts\n");
|
|
3388
3388
|
|
|
3389
3389
|
/***/ }),
|
|
3390
3390
|
|
|
@@ -3464,7 +3464,7 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_
|
|
|
3464
3464
|
\******************************************************************/
|
|
3465
3465
|
/***/ (function(module, exports, __webpack_require__) {
|
|
3466
3466
|
|
|
3467
|
-
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! ../objects/segmentObject */ \"./packages/bimAir/src/gsDevFx/objects/segmentObject.ts\"), __webpack_require__(/*! ../objects/treeNodeObject */ \"./packages/bimAir/src/gsDevFx/objects/treeNodeObject.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, Longan, segmentObject_1, treeNodeObject_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n exports.StyleManagerBase = void 0;\n Longan = tslib_1.__importStar(Longan);\n\n var StyleManagerBase = function (_super) {\n tslib_1.__extends(StyleManagerBase, _super);\n\n function StyleManagerBase(material) {\n var _this = _super.call(this, material.styleSegment) || this;\n\n _this._material = null;\n _this._material = material;\n return _this;\n }\n\n Object.defineProperty(StyleManagerBase.prototype, \"material\", {\n get: function get() {\n return this._material;\n },\n enumerable: false,\n configurable: true\n });\n\n StyleManagerBase.prototype.setObjectsStyle = function (objs) {\n if (objs.length > 0) {\n if (objs[0] instanceof segmentObject_1.SegmentObject) {\n var keys = [];\n var paths = [];\n\n for (var i = 0; i < objs.length; i++) {\n var obj = objs[i];\n keys.push(obj.key);\n paths.push(\"true\");\n }\n\n _super.prototype.setStyles.call(this, keys, paths);\n } else {\n var segmentObjects = treeNodeObject_1.TreeNodeObject.convertToSegmentObjects(objs);\n this.setObjectsStyle(segmentObjects);\n }\n }\n };\n\n StyleManagerBase.prototype.unsetObjectsStyle = function (objs) {\n if (objs.length > 0) {\n if (objs[0] instanceof segmentObject_1.SegmentObject) {\n var keys = [];\n var paths = [];\n\n for (var i = 0; i < objs.length; i++) {\n var obj = objs[i];\n keys.push(obj.key);\n paths.push(\"true\");\n }\n\n _super.prototype.unsetStyles.call(this, keys, paths);\n } else {\n var segmentObjects = treeNodeObject_1.TreeNodeObject.convertToSegmentObjects(objs);\n this.unsetObjectsStyle(segmentObjects);\n }\n }\n };\n\n StyleManagerBase.unsetObjectsStyleMaterials = function (objs) {\n if (objs.length > 0) {\n if (objs[0] instanceof segmentObject_1.SegmentObject) {\n for (var i = 0; i < objs.length; i++) {\n var obj = objs[i];\n var styles = obj.segment.styles.items;\n\n for (var j = 0; j < styles.length; j++) {\n if (obj.viewer.styleSegment.subsegmentExists(styles[j].segment.name)) {\n if (styles[j].segment.renderingOptions.lockFaceColor == null || styles[j].segment.renderingOptions.lockFaceColor == 1) {\n styles[j].delete();\n }\n }\n }\n }\n } else {\n var segmentObjects = treeNodeObject_1.TreeNodeObject.convertToSegmentObjects(objs);\n this.unsetObjectsStyleMaterials(segmentObjects);\n }\n }\n };\n\n return StyleManagerBase;\n }(Longan.StyleManagerBase);\n\n exports.StyleManagerBase = StyleManagerBase;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2RngvbWFuYWdlcnMvc3R5bGVNYW5hZ2VyQmFzZS50cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBTUE7QUFBQTs7QUFNQTtBQUFBOztBQUxBO0FBT0E7O0FBQ0E7O0FBUEE7QUFBQTtBQUNBO0FBQ0E7QUFGQTs7QUFBQTs7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQXNCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUFBOztBQTdGQSIsInNvdXJjZXMiOlsid2VicGFjazovL2JpbWxpZ2h0LXBsYXRmb3JtLy4vcGFja2FnZXMvYmltQWlyL3NyYy9nc0RldkZ4L21hbmFnZXJzL3N0eWxlTWFuYWdlckJhc2UudHM/ZGQ4MSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBMb25nYW4gZnJvbSBcImdzLWxvbmdhblwiO1xyXG5pbXBvcnQgeyBNYXRlcmlhbCB9IGZyb20gXCIuLi9vYmplY3RzL21hdGVyaWFsXCI7XHJcbmltcG9ydCB7IFNlZ21lbnRPYmplY3QgfSBmcm9tIFwiLi4vb2JqZWN0cy9zZWdtZW50T2JqZWN0XCI7XHJcbmltcG9ydCB7IFRyZWVOb2RlT2JqZWN0IH0gZnJvbSBcIi4uL29iamVjdHMvdHJlZU5vZGVPYmplY3RcIjtcclxuaW1wb3J0IHsgVmlld2VyIH0gZnJvbSBcIi4uL3ZpZXdlclwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFN0eWxlTWFuYWdlckJhc2UgZXh0ZW5kcyBMb25nYW4uU3R5bGVNYW5hZ2VyQmFzZSB7XHJcblx0cHJvdGVjdGVkIF9tYXRlcmlhbDogTWF0ZXJpYWwgPSBudWxsO1xyXG5cdHB1YmxpYyBnZXQgbWF0ZXJpYWwoKTogTWF0ZXJpYWwge1xyXG5cdFx0cmV0dXJuIHRoaXMuX21hdGVyaWFsO1xyXG5cdH1cclxuXHJcblx0Y29uc3RydWN0b3IobWF0ZXJpYWw6IE1hdGVyaWFsKSB7XHJcblx0XHRzdXBlcihtYXRlcmlhbC5zdHlsZVNlZ21lbnQpO1xyXG5cdFx0dGhpcy5fbWF0ZXJpYWwgPSBtYXRlcmlhbDtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBzZXRPYmplY3RzU3R5bGUob2JqczogVHJlZU5vZGVPYmplY3RbXSB8IFNlZ21lbnRPYmplY3RbXSkge1xyXG5cdFx0aWYgKG9ianMubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRpZiAob2Jqc1swXSBpbnN0YW5jZW9mIFNlZ21lbnRPYmplY3QpIHtcclxuXHRcdFx0XHRsZXQga2V5cyA9IFtdO1xyXG5cdFx0XHRcdGxldCBwYXRocyA9IFtdO1xyXG5cdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgb2Jqcy5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdFx0bGV0IG9iaiA9IG9ianNbaV0gYXMgU2VnbWVudE9iamVjdDtcclxuXHRcdFx0XHRcdGtleXMucHVzaChvYmoua2V5KTtcclxuXHRcdFx0XHRcdHBhdGhzLnB1c2goXCJ0cnVlXCIpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0c3VwZXIuc2V0U3R5bGVzKGtleXMsIHBhdGhzKTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRsZXQgc2VnbWVudE9iamVjdHMgPSBUcmVlTm9kZU9iamVjdC5jb252ZXJ0VG9TZWdtZW50T2JqZWN0cyhvYmpzIGFzIFRyZWVOb2RlT2JqZWN0W10pO1xyXG5cdFx0XHRcdHRoaXMuc2V0T2JqZWN0c1N0eWxlKHNlZ21lbnRPYmplY3RzKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHVibGljIHVuc2V0T2JqZWN0c1N0eWxlKG9ianM6IFRyZWVOb2RlT2JqZWN0W10gfCBTZWdtZW50T2JqZWN0W10pIHtcclxuXHRcdGlmIChvYmpzLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0aWYgKG9ianNbMF0gaW5zdGFuY2VvZiBTZWdtZW50T2JqZWN0KSB7XHJcblx0XHRcdFx0bGV0IGtleXMgPSBbXTtcclxuXHRcdFx0XHRsZXQgcGF0aHMgPSBbXTtcclxuXHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IG9ianMubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdGxldCBvYmogPSBvYmpzW2ldIGFzIFNlZ21lbnRPYmplY3Q7XHJcblx0XHRcdFx0XHRrZXlzLnB1c2gob2JqLmtleSk7XHJcblx0XHRcdFx0XHRwYXRocy5wdXNoKFwidHJ1ZVwiKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHN1cGVyLnVuc2V0U3R5bGVzKGtleXMsIHBhdGhzKTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRsZXQgc2VnbWVudE9iamVjdHMgPSBUcmVlTm9kZU9iamVjdC5jb252ZXJ0VG9TZWdtZW50T2JqZWN0cyhvYmpzIGFzIFRyZWVOb2RlT2JqZWN0W10pO1xyXG5cdFx0XHRcdHRoaXMudW5zZXRPYmplY3RzU3R5bGUoc2VnbWVudE9iamVjdHMpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyBwdWJsaWMgc3RhdGljIHVuc2V0T2JqZWN0c1N0eWxlQnlMZXZlbChvYmpzOiBUcmVlTm9kZU9iamVjdFtdIHwgU2VnbWVudE9iamVjdFtdLCBsZXZlbDogbnVtYmVyKSB7XHJcblx0Ly8gXHRpZiAob2Jqcy5sZW5ndGggPiAwKSB7XHJcblx0Ly8gXHRcdGlmIChvYmpzWzBdIGluc3RhbmNlb2YgU2VnbWVudE9iamVjdCkge1xyXG5cdC8vIFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgb2Jqcy5sZW5ndGg7IGkrKykge1xyXG5cdC8vIFx0XHRcdFx0bGV0IG9iaiA9IG9ianNbaV0gYXMgU2VnbWVudE9iamVjdDtcclxuXHQvLyBcdFx0XHRcdGxldCBzdHlsZXMgPSBvYmouc2VnbWVudC5zdHlsZXMuaXRlbXM7XHJcblx0Ly8gXHRcdFx0XHRmb3IgKGxldCBqID0gMDsgaiA8IHN0eWxlcy5sZW5ndGg7IGorKykge1xyXG5cdC8vIFx0XHRcdFx0XHRpZiAoc3R5bGVzW2pdLnNlZ21lbnQucmVuZGVyaW5nT3B0aW9ucy5sb2NrRmFjZUNvbG9yID09IGxldmVsKSB7XHJcblx0Ly8gXHRcdFx0XHRcdFx0c3R5bGVzW2pdLmRlbGV0ZSgpO1xyXG5cdC8vIFx0XHRcdFx0XHRcdC8vIGJyZWFrO1xyXG5cdC8vIFx0XHRcdFx0XHR9XHJcblx0Ly8gXHRcdFx0XHR9XHJcblx0Ly8gXHRcdFx0fVxyXG5cdC8vIFx0XHR9IGVsc2Uge1xyXG5cdC8vIFx0XHRcdGxldCBzZWdtZW50T2JqZWN0cyA9IFRyZWVOb2RlT2JqZWN0LmNvbnZlcnRUb1NlZ21lbnRPYmplY3RzKG9ianMgYXMgVHJlZU5vZGVPYmplY3RbXSk7XHJcblx0Ly8gXHRcdFx0dGhpcy51bnNldE9iamVjdHNTdHlsZUJ5TGV2ZWwoc2VnbWVudE9iamVjdHMsIGxldmVsKTtcclxuXHQvLyBcdFx0fVxyXG5cdC8vIFx0fVxyXG5cdC8vIH1cclxuXHJcblx0cHVibGljIHN0YXRpYyB1bnNldE9iamVjdHNTdHlsZU1hdGVyaWFscyhvYmpzOiBUcmVlTm9kZU9iamVjdFtdIHwgU2VnbWVudE9iamVjdFtdKSB7XHJcblx0XHRpZiAob2Jqcy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdGlmIChvYmpzWzBdIGluc3RhbmNlb2YgU2VnbWVudE9iamVjdCkge1xyXG5cdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgb2Jqcy5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdFx0bGV0IG9iaiA9IG9ianNbaV0gYXMgU2VnbWVudE9iamVjdDtcclxuXHRcdFx0XHRcdGxldCBzdHlsZXMgPSBvYmouc2VnbWVudC5zdHlsZXMuaXRlbXM7XHJcblx0XHRcdFx0XHRmb3IgKGxldCBqID0gMDsgaiA8IHN0eWxlcy5sZW5ndGg7IGorKykge1xyXG5cdFx0XHRcdFx0XHRpZiAob2JqLnZpZXdlci5zdHlsZVNlZ21lbnQuc3Vic2VnbWVudEV4aXN0cyhzdHlsZXNbal0uc2VnbWVudC5uYW1lKSkge1xyXG5cdFx0XHRcdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdFx0XHRcdHN0eWxlc1tqXS5zZWdtZW50LnJlbmRlcmluZ09wdGlvbnMubG9ja0ZhY2VDb2xvciA9PSBudWxsIHx8XHJcblx0XHRcdFx0XHRcdFx0XHRzdHlsZXNbal0uc2VnbWVudC5yZW5kZXJpbmdPcHRpb25zLmxvY2tGYWNlQ29sb3IgPT0gMVxyXG5cdFx0XHRcdFx0XHRcdCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0c3R5bGVzW2pdLmRlbGV0ZSgpO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gYnJlYWs7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdGxldCBzZWdtZW50T2JqZWN0cyA9IFRyZWVOb2RlT2JqZWN0LmNvbnZlcnRUb1NlZ21lbnRPYmplY3RzKG9ianMgYXMgVHJlZU5vZGVPYmplY3RbXSk7XHJcblx0XHRcdFx0dGhpcy51bnNldE9iamVjdHNTdHlsZU1hdGVyaWFscyhzZWdtZW50T2JqZWN0cyk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./packages/bimAir/src/gsDevFx/managers/styleManagerBase.ts\n");
|
|
3467
|
+
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! ../objects/segmentObject */ \"./packages/bimAir/src/gsDevFx/objects/segmentObject.ts\"), __webpack_require__(/*! ../objects/treeNodeObject */ \"./packages/bimAir/src/gsDevFx/objects/treeNodeObject.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, Longan, segmentObject_1, treeNodeObject_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n exports.StyleManagerBase = void 0;\n Longan = tslib_1.__importStar(Longan);\n\n var StyleManagerBase = function (_super) {\n tslib_1.__extends(StyleManagerBase, _super);\n\n function StyleManagerBase(material) {\n var _this = _super.call(this, material.styleSegment) || this;\n\n _this._material = null;\n _this._material = material;\n return _this;\n }\n\n Object.defineProperty(StyleManagerBase.prototype, \"material\", {\n get: function get() {\n return this._material;\n },\n enumerable: false,\n configurable: true\n });\n\n StyleManagerBase.prototype.setObjectsStyle = function (objs) {\n if (objs.length > 0) {\n if (objs[0] instanceof segmentObject_1.SegmentObject) {\n var keys = [];\n var paths = [];\n\n for (var i = 0; i < objs.length; i++) {\n var obj = objs[i];\n keys.push(obj.key);\n paths.push(\"true\");\n }\n\n _super.prototype.setStyles.call(this, keys, paths);\n } else {\n var segmentObjects = treeNodeObject_1.TreeNodeObject.convertToSegmentObjects(objs);\n this.setObjectsStyle(segmentObjects);\n }\n }\n };\n\n StyleManagerBase.prototype.unsetObjectsStyle = function (objs) {\n if (objs.length > 0) {\n if (objs[0] instanceof segmentObject_1.SegmentObject) {\n var keys = [];\n var paths = [];\n\n for (var i = 0; i < objs.length; i++) {\n var obj = objs[i];\n keys.push(obj.key);\n paths.push(\"true\");\n }\n\n _super.prototype.unsetStyles.call(this, keys, paths);\n } else {\n var segmentObjects = treeNodeObject_1.TreeNodeObject.convertToSegmentObjects(objs);\n this.unsetObjectsStyle(segmentObjects);\n }\n }\n };\n\n StyleManagerBase.unsetObjectsStyleMaterials = function (objs) {\n if (objs.length > 0) {\n if (objs[0] instanceof segmentObject_1.SegmentObject) {\n for (var i = 0; i < objs.length; i++) {\n var obj = objs[i];\n var styles = obj.segment.styles.items;\n\n for (var j = 0; j < styles.length; j++) {\n if (obj.viewer.styleSegment.subsegmentExists(styles[j].segment.name)) {\n if (styles[j].segment.renderingOptions.lockFaceColor == null || styles[j].segment.renderingOptions.lockFaceColor == 2) {\n styles[j].delete();\n }\n }\n }\n }\n } else {\n var segmentObjects = treeNodeObject_1.TreeNodeObject.convertToSegmentObjects(objs);\n this.unsetObjectsStyleMaterials(segmentObjects);\n }\n }\n };\n\n return StyleManagerBase;\n }(Longan.StyleManagerBase);\n\n exports.StyleManagerBase = StyleManagerBase;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2RngvbWFuYWdlcnMvc3R5bGVNYW5hZ2VyQmFzZS50cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBTUE7QUFBQTs7QUFNQTtBQUFBOztBQUxBO0FBT0E7O0FBQ0E7O0FBUEE7QUFBQTtBQUNBO0FBQ0E7QUFGQTs7QUFBQTs7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQXNCQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUdBO0FBSUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUFBOztBQXZHQSIsInNvdXJjZXMiOlsid2VicGFjazovL2JpbWxpZ2h0LXBsYXRmb3JtLy4vcGFja2FnZXMvYmltQWlyL3NyYy9nc0RldkZ4L21hbmFnZXJzL3N0eWxlTWFuYWdlckJhc2UudHM/ZGQ4MSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBMb25nYW4gZnJvbSBcImdzLWxvbmdhblwiO1xyXG5pbXBvcnQgeyBNYXRlcmlhbCB9IGZyb20gXCIuLi9vYmplY3RzL21hdGVyaWFsXCI7XHJcbmltcG9ydCB7IFNlZ21lbnRPYmplY3QgfSBmcm9tIFwiLi4vb2JqZWN0cy9zZWdtZW50T2JqZWN0XCI7XHJcbmltcG9ydCB7IFRyZWVOb2RlT2JqZWN0IH0gZnJvbSBcIi4uL29iamVjdHMvdHJlZU5vZGVPYmplY3RcIjtcclxuaW1wb3J0IHsgVmlld2VyIH0gZnJvbSBcIi4uL3ZpZXdlclwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFN0eWxlTWFuYWdlckJhc2UgZXh0ZW5kcyBMb25nYW4uU3R5bGVNYW5hZ2VyQmFzZSB7XHJcbiAgcHJvdGVjdGVkIF9tYXRlcmlhbDogTWF0ZXJpYWwgPSBudWxsO1xyXG4gIHB1YmxpYyBnZXQgbWF0ZXJpYWwoKTogTWF0ZXJpYWwge1xyXG4gICAgcmV0dXJuIHRoaXMuX21hdGVyaWFsO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IobWF0ZXJpYWw6IE1hdGVyaWFsKSB7XHJcbiAgICBzdXBlcihtYXRlcmlhbC5zdHlsZVNlZ21lbnQpO1xyXG4gICAgdGhpcy5fbWF0ZXJpYWwgPSBtYXRlcmlhbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRPYmplY3RzU3R5bGUob2JqczogVHJlZU5vZGVPYmplY3RbXSB8IFNlZ21lbnRPYmplY3RbXSkge1xyXG4gICAgaWYgKG9ianMubGVuZ3RoID4gMCkge1xyXG4gICAgICBpZiAob2Jqc1swXSBpbnN0YW5jZW9mIFNlZ21lbnRPYmplY3QpIHtcclxuICAgICAgICBsZXQga2V5cyA9IFtdO1xyXG4gICAgICAgIGxldCBwYXRocyA9IFtdO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb2Jqcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgbGV0IG9iaiA9IG9ianNbaV0gYXMgU2VnbWVudE9iamVjdDtcclxuICAgICAgICAgIGtleXMucHVzaChvYmoua2V5KTtcclxuICAgICAgICAgIHBhdGhzLnB1c2goXCJ0cnVlXCIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3VwZXIuc2V0U3R5bGVzKGtleXMsIHBhdGhzKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBsZXQgc2VnbWVudE9iamVjdHMgPSBUcmVlTm9kZU9iamVjdC5jb252ZXJ0VG9TZWdtZW50T2JqZWN0cyhcclxuICAgICAgICAgIG9ianMgYXMgVHJlZU5vZGVPYmplY3RbXVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5zZXRPYmplY3RzU3R5bGUoc2VnbWVudE9iamVjdHMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdW5zZXRPYmplY3RzU3R5bGUob2JqczogVHJlZU5vZGVPYmplY3RbXSB8IFNlZ21lbnRPYmplY3RbXSkge1xyXG4gICAgaWYgKG9ianMubGVuZ3RoID4gMCkge1xyXG4gICAgICBpZiAob2Jqc1swXSBpbnN0YW5jZW9mIFNlZ21lbnRPYmplY3QpIHtcclxuICAgICAgICBsZXQga2V5cyA9IFtdO1xyXG4gICAgICAgIGxldCBwYXRocyA9IFtdO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb2Jqcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgbGV0IG9iaiA9IG9ianNbaV0gYXMgU2VnbWVudE9iamVjdDtcclxuICAgICAgICAgIGtleXMucHVzaChvYmoua2V5KTtcclxuICAgICAgICAgIHBhdGhzLnB1c2goXCJ0cnVlXCIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3VwZXIudW5zZXRTdHlsZXMoa2V5cywgcGF0aHMpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBzZWdtZW50T2JqZWN0cyA9IFRyZWVOb2RlT2JqZWN0LmNvbnZlcnRUb1NlZ21lbnRPYmplY3RzKFxyXG4gICAgICAgICAgb2JqcyBhcyBUcmVlTm9kZU9iamVjdFtdXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnVuc2V0T2JqZWN0c1N0eWxlKHNlZ21lbnRPYmplY3RzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gcHVibGljIHN0YXRpYyB1bnNldE9iamVjdHNTdHlsZUJ5TGV2ZWwob2JqczogVHJlZU5vZGVPYmplY3RbXSB8IFNlZ21lbnRPYmplY3RbXSwgbGV2ZWw6IG51bWJlcikge1xyXG4gIC8vIFx0aWYgKG9ianMubGVuZ3RoID4gMCkge1xyXG4gIC8vIFx0XHRpZiAob2Jqc1swXSBpbnN0YW5jZW9mIFNlZ21lbnRPYmplY3QpIHtcclxuICAvLyBcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IG9ianMubGVuZ3RoOyBpKyspIHtcclxuICAvLyBcdFx0XHRcdGxldCBvYmogPSBvYmpzW2ldIGFzIFNlZ21lbnRPYmplY3Q7XHJcbiAgLy8gXHRcdFx0XHRsZXQgc3R5bGVzID0gb2JqLnNlZ21lbnQuc3R5bGVzLml0ZW1zO1xyXG4gIC8vIFx0XHRcdFx0Zm9yIChsZXQgaiA9IDA7IGogPCBzdHlsZXMubGVuZ3RoOyBqKyspIHtcclxuICAvLyBcdFx0XHRcdFx0aWYgKHN0eWxlc1tqXS5zZWdtZW50LnJlbmRlcmluZ09wdGlvbnMubG9ja0ZhY2VDb2xvciA9PSBsZXZlbCkge1xyXG4gIC8vIFx0XHRcdFx0XHRcdHN0eWxlc1tqXS5kZWxldGUoKTtcclxuICAvLyBcdFx0XHRcdFx0XHQvLyBicmVhaztcclxuICAvLyBcdFx0XHRcdFx0fVxyXG4gIC8vIFx0XHRcdFx0fVxyXG4gIC8vIFx0XHRcdH1cclxuICAvLyBcdFx0fSBlbHNlIHtcclxuICAvLyBcdFx0XHRsZXQgc2VnbWVudE9iamVjdHMgPSBUcmVlTm9kZU9iamVjdC5jb252ZXJ0VG9TZWdtZW50T2JqZWN0cyhvYmpzIGFzIFRyZWVOb2RlT2JqZWN0W10pO1xyXG4gIC8vIFx0XHRcdHRoaXMudW5zZXRPYmplY3RzU3R5bGVCeUxldmVsKHNlZ21lbnRPYmplY3RzLCBsZXZlbCk7XHJcbiAgLy8gXHRcdH1cclxuICAvLyBcdH1cclxuICAvLyB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgdW5zZXRPYmplY3RzU3R5bGVNYXRlcmlhbHMoXHJcbiAgICBvYmpzOiBUcmVlTm9kZU9iamVjdFtdIHwgU2VnbWVudE9iamVjdFtdXHJcbiAgKSB7XHJcbiAgICBpZiAob2Jqcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGlmIChvYmpzWzBdIGluc3RhbmNlb2YgU2VnbWVudE9iamVjdCkge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb2Jqcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgbGV0IG9iaiA9IG9ianNbaV0gYXMgU2VnbWVudE9iamVjdDtcclxuICAgICAgICAgIGxldCBzdHlsZXMgPSBvYmouc2VnbWVudC5zdHlsZXMuaXRlbXM7XHJcbiAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHN0eWxlcy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgb2JqLnZpZXdlci5zdHlsZVNlZ21lbnQuc3Vic2VnbWVudEV4aXN0cyhzdHlsZXNbal0uc2VnbWVudC5uYW1lKVxyXG4gICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICBzdHlsZXNbal0uc2VnbWVudC5yZW5kZXJpbmdPcHRpb25zLmxvY2tGYWNlQ29sb3IgPT0gbnVsbCB8fFxyXG4gICAgICAgICAgICAgICAgc3R5bGVzW2pdLnNlZ21lbnQucmVuZGVyaW5nT3B0aW9ucy5sb2NrRmFjZUNvbG9yID09IDJcclxuICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgIHN0eWxlc1tqXS5kZWxldGUoKTtcclxuICAgICAgICAgICAgICAgIC8vIGJyZWFrO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBsZXQgc2VnbWVudE9iamVjdHMgPSBUcmVlTm9kZU9iamVjdC5jb252ZXJ0VG9TZWdtZW50T2JqZWN0cyhcclxuICAgICAgICAgIG9ianMgYXMgVHJlZU5vZGVPYmplY3RbXVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy51bnNldE9iamVjdHNTdHlsZU1hdGVyaWFscyhzZWdtZW50T2JqZWN0cyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./packages/bimAir/src/gsDevFx/managers/styleManagerBase.ts\n");
|
|
3468
3468
|
|
|
3469
3469
|
/***/ }),
|
|
3470
3470
|
|
|
@@ -3714,7 +3714,7 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPAC
|
|
|
3714
3714
|
\*********************************************************/
|
|
3715
3715
|
/***/ (function(module, exports, __webpack_require__) {
|
|
3716
3716
|
|
|
3717
|
-
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/web.atob.js */ \"./node_modules/core-js/modules/web.atob.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-exception.constructor.js */ \"./node_modules/core-js/modules/web.dom-exception.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-exception.stack.js */ \"./node_modules/core-js/modules/web.dom-exception.stack.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-exception.to-string-tag.js */ \"./node_modules/core-js/modules/web.dom-exception.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.array-buffer.constructor.js */ \"./node_modules/core-js/modules/es.array-buffer.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/es.array-buffer.slice.js */ \"./node_modules/core-js/modules/es.array-buffer.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.uint8-array.js */ \"./node_modules/core-js/modules/es.typed-array.uint8-array.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.at.js */ \"./node_modules/core-js/modules/es.typed-array.at.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.copy-within.js */ \"./node_modules/core-js/modules/es.typed-array.copy-within.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.every.js */ \"./node_modules/core-js/modules/es.typed-array.every.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.fill.js */ \"./node_modules/core-js/modules/es.typed-array.fill.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.filter.js */ \"./node_modules/core-js/modules/es.typed-array.filter.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find.js */ \"./node_modules/core-js/modules/es.typed-array.find.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-last.js */ \"./node_modules/core-js/modules/es.typed-array.find-last.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-last-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-last-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.for-each.js */ \"./node_modules/core-js/modules/es.typed-array.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.includes.js */ \"./node_modules/core-js/modules/es.typed-array.includes.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.index-of.js */ \"./node_modules/core-js/modules/es.typed-array.index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.iterator.js */ \"./node_modules/core-js/modules/es.typed-array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.join.js */ \"./node_modules/core-js/modules/es.typed-array.join.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.last-index-of.js */ \"./node_modules/core-js/modules/es.typed-array.last-index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.map.js */ \"./node_modules/core-js/modules/es.typed-array.map.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce.js */ \"./node_modules/core-js/modules/es.typed-array.reduce.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce-right.js */ \"./node_modules/core-js/modules/es.typed-array.reduce-right.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reverse.js */ \"./node_modules/core-js/modules/es.typed-array.reverse.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.set.js */ \"./node_modules/core-js/modules/es.typed-array.set.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.slice.js */ \"./node_modules/core-js/modules/es.typed-array.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.some.js */ \"./node_modules/core-js/modules/es.typed-array.some.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.sort.js */ \"./node_modules/core-js/modules/es.typed-array.sort.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.subarray.js */ \"./node_modules/core-js/modules/es.typed-array.subarray.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-locale-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-locale-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-string.js\");\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! gs-longan/longan/segment */ \"./packages/longan/src/longan/segment.ts\"), __webpack_require__(/*! gs-longan/longan/gs.viewer */ \"./packages/longan/src/longan/gs.viewer.ts\"), __webpack_require__(/*! ../../utils/fileUtility */ \"./packages/bimAir/src/utils/fileUtility.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, Longan, gs_longan_1, segment_1, gs_viewer_1, fileUtility_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n exports.Material = void 0;\n Longan = tslib_1.__importStar(Longan);\n\n var Material = function () {\n function Material(viewer, materialName, level) {\n if (level === void 0) {\n level = 1;\n }\n\n this._viewer = null;\n this._styleSegment = null;\n this._level = 1;\n this._image = null;\n this._viewer = viewer;\n var mainStyleSegment = new gs_longan_1.Segment(viewer.styleKey);\n this._styleSegment = mainStyleSegment.subsegment(materialName);\n this._level = level;\n }\n\n Object.defineProperty(Material.prototype, \"Image\", {\n get: function get() {\n return this._image;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Material.prototype, \"styleSegment\", {\n get: function get() {\n return this._styleSegment;\n },\n set: function set(styleSegment) {\n this._styleSegment = styleSegment;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Material.prototype, \"doubleSide\", {\n set: function set(value) {\n this._styleSegment.renderingOptions.cullBackFace = !value;\n },\n enumerable: false,\n configurable: true\n });\n\n Material.prototype.setColor = function (r, g, b, a) {\n this._styleSegment.color.setFace([r, g, b]).setFaceTexture(\"-\");\n\n this._styleSegment.color.setEdge([r, g, b]).setLine([r, g, b]).setMarker([r, g, b]);\n\n this._styleSegment.renderingOptions.setLockFaceColor(this._level).setLockEdgeColor(this._level).setLockLineColor(this._level);\n\n if (a !== undefined) {\n this.setTransparency(a);\n }\n };\n\n Material.prototype.setColorByArray = function (color) {\n this.setColor(color[0], color[1], color[2], color[3]);\n };\n\n Material.prototype.getColor = function (isReturnArray) {\n if (isReturnArray === void 0) {\n isReturnArray = false;\n }\n\n var baseColor = this._styleSegment.color.baseColor;\n var a = this._styleSegment.color.faceTransparency;\n\n if (isReturnArray) {\n if (a !== undefined) {\n return [Number(baseColor[0]), Number(baseColor[1]), Number(baseColor[2]), a];\n } else {\n return [Number(baseColor[0]), Number(baseColor[1]), Number(baseColor[2])];\n }\n } else {\n return {\n r: Number(baseColor[0]),\n g: Number(baseColor[1]),\n b: Number(baseColor[2]),\n a: a\n };\n }\n };\n\n Material.prototype.unsetColor = function () {\n this._styleSegment.color.unset();\n\n this._styleSegment.renderingOptions.unsetLockFaceColor().unsetLockEdgeColor().unsetLockLineColor();\n };\n\n Material.prototype.setTransparency = function (transparency) {\n this._styleSegment.color.setFaceTransparency(transparency);\n\n this._styleSegment.renderingOptions.setLockFaceTransparency(this._level);\n };\n\n Material.prototype.unsetTransparency = function () {\n this._styleSegment.color.unsetFaceTransparency();\n\n this._styleSegment.renderingOptions.unsetLockFaceTransparency();\n };\n\n Material.prototype.setEmissive = function (r, g, b, a) {\n this._styleSegment.color.setFaceEmissive([r, g, b, a]);\n };\n\n Material.prototype.unsetEmissive = function () {\n this._styleSegment.color.unsetFaceEmissive();\n };\n\n Material.prototype.setImage = function (fileName, imageBlob, imgWidth, imgHeight, imageType, scale, translate, rotate) {\n var options = \"name=\" + fileName + \",format=\" + imageType + \",data size=\" + imageBlob.byteLength + \",local\";\n\n if (scale) {\n options += \",scale='\" + scale[0] + \",\" + scale[1] + \"'\";\n }\n\n if (translate) {\n options += \",translate='\" + translate[0] + \",\" + translate[1] + \"'\";\n }\n\n if (rotate) {\n options += \",rotate=\" + rotate;\n }\n\n (0, gs_viewer_1.JS_Open_Segment_By_Key)(this._styleSegment.key);\n {\n var imageKey = (0, gs_viewer_1.JS_Insert_Image)(0, 0, 0, imgWidth, imgHeight, imageBlob, options);\n this._image = new Longan.Image(imageKey);\n }\n (0, gs_viewer_1.JS_Close_Segment)();\n\n this._styleSegment.color.setFaceTexture(fileName);\n\n this._styleSegment.renderingOptions.setLockFaceColor(this._level).setLockEdgeColor(this._level).setLockLineColor(this._level);\n };\n\n Material.prototype.setImageData = function (imageName, imageData) {\n this._styleSegment.color.setFaceTexture(imageName);\n\n this._image = this._styleSegment.insertLocalImage(imageName, imageData.width, imageData.height, imageData.data, segment_1.ImagePixelFormat.RGBA);\n };\n\n Material.prototype.setImageByFile = function (fileName, imageFile, scale, translate, rotate) {\n var _this = this;\n\n (0, fileUtility_1.fileToBase64)(imageFile).then(function (result) {\n var data = result.data;\n var byteString = atob(data.split(\",\")[1]);\n var ab = new ArrayBuffer(byteString.length);\n var ia = new Uint8Array(ab);\n\n for (var i = 0; i < byteString.length; i++) {\n ia[i] = byteString.charCodeAt(i);\n }\n\n var format = \"jpg\";\n format = _this.checkPhotoFormat(ia);\n var imageSrc = data;\n var canvas = document.createElement(\"canvas\");\n var context = canvas.getContext(\"2d\");\n var img = new Image();\n img.src = data;\n\n img.onload = function () {\n canvas.width = img.width;\n canvas.height = img.height;\n\n _this.setImage(fileName, ab, img.width, img.height, format, scale, translate, rotate);\n };\n });\n };\n\n Material.prototype.checkPhotoFormat = function (ia) {\n var format = \"jpg\";\n var a = ia[0];\n var b = ia[1];\n var c = ia[2];\n var d = ia[3];\n\n if (a === 255 && b === 216 && c === 255) {\n format = \"jpg\";\n } else if (a === 137 && b === 80 && c === 78 && d === 71) {\n format = \"png\";\n } else if (a === 71 && b === 73 && c === 70) {\n format = \"gif\";\n } else if (a === 66 && b === 77) {\n format = \"bmp\";\n }\n\n return format;\n };\n\n Material.prototype.unsetImage = function () {\n this._image.delete();\n\n this._styleSegment.color.unsetFaceTexture();\n };\n\n Material.prototype.setFloat = function () {\n this._styleSegment.renderingOptions.setDepthRange(0, 0.1);\n };\n\n Material.prototype.unsetFloat = function () {\n this._styleSegment.renderingOptions.unsetDepthRange();\n };\n\n Material.prototype.equals = function (material) {\n if (this._styleSegment.equals(material._styleSegment)) {\n return true;\n } else {\n return false;\n }\n };\n\n return Material;\n }();\n\n exports.Material = Material;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2Rngvb2JqZWN0cy9tYXRlcmlhbC50cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFZQTtBQU1BO0FBQUE7QUFBQTtBQUFBOztBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFFQTtBQUNBO0FBRUE7QUFNQTs7QUFFQTtBQUFBO0FBQ0E7QUFDQTtBQUZBOztBQUFBO0FBSUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFOQTs7QUFBQTtBQVFBO0FBQUE7QUFDQTtBQUNBO0FBRkE7O0FBQUE7O0FBV0E7QUFDQTs7QUFDQTs7QUFJQTs7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7QUFNQTtBQUNBO0FBQ0E7O0FBTUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU1BO0FBQ0E7O0FBS0E7QUFDQTs7QUFDQTtBQUlBOztBQU1BO0FBQ0E7O0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUNBO0FBQ0E7O0FBU0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFhQTtBQVVBOztBQVNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQVNBO0FBQ0E7QUFDQTs7QUFDQTs7QUFFQTtBQUlBOztBQU9BO0FBQ0E7O0FBQ0E7QUFPQTs7QUFVQTtBQUFBOztBQU9BO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQW9CQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUtBO0FBQ0E7O0FBQ0E7QUFDQTs7QUFLQTtBQUNBO0FBQ0E7O0FBS0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQUE7O0FBMVVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYmltbGlnaHQtcGxhdGZvcm0vLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2Rngvb2JqZWN0cy9tYXRlcmlhbC50cz9mN2E2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIExvbmdhbiBmcm9tIFwiZ3MtbG9uZ2FuXCI7XHJcblxyXG5pbXBvcnQgeyBTZWdtZW50IH0gZnJvbSBcImdzLWxvbmdhblwiO1xyXG5pbXBvcnQgeyBWaWV3ZXIgfSBmcm9tIFwiLi4vdmlld2VyXCI7XHJcbmltcG9ydCB7IEltYWdlUGl4ZWxGb3JtYXQgfSBmcm9tIFwiZ3MtbG9uZ2FuL2xvbmdhbi9zZWdtZW50XCI7XHJcbmltcG9ydCB7XHJcbiAgSlNfQ2xvc2VfU2VnbWVudCxcclxuICBKU19JbnNlcnRfSW1hZ2UsXHJcbiAgSlNfT3Blbl9TZWdtZW50X0J5X0tleSxcclxufSBmcm9tIFwiZ3MtbG9uZ2FuL2xvbmdhbi9ncy52aWV3ZXJcIjtcclxuaW1wb3J0IHsgZmlsZVRvQmFzZTY0IH0gZnJvbSBcIi4uLy4uL3V0aWxzL2ZpbGVVdGlsaXR5XCI7XHJcblxyXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWwge1xyXG4gIHByb3RlY3RlZCBfdmlld2VyOiBWaWV3ZXIgPSBudWxsO1xyXG4gIHByb3RlY3RlZCBfc3R5bGVTZWdtZW50OiBTZWdtZW50ID0gbnVsbDtcclxuICBwcm90ZWN0ZWQgX2xldmVsID0gMTtcclxuICBwcm90ZWN0ZWQgX2ltYWdlOiBMb25nYW4uSW1hZ2UgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcih2aWV3ZXI6IFZpZXdlciwgbWF0ZXJpYWxOYW1lOiBzdHJpbmcsIGxldmVsOiBudW1iZXIgPSAxKSB7XHJcbiAgICB0aGlzLl92aWV3ZXIgPSB2aWV3ZXI7XHJcblxyXG4gICAgbGV0IG1haW5TdHlsZVNlZ21lbnQgPSBuZXcgU2VnbWVudCh2aWV3ZXIuc3R5bGVLZXkpO1xyXG4gICAgdGhpcy5fc3R5bGVTZWdtZW50ID0gbWFpblN0eWxlU2VnbWVudC5zdWJzZWdtZW50KG1hdGVyaWFsTmFtZSk7XHJcblxyXG4gICAgdGhpcy5fbGV2ZWwgPSBsZXZlbDtcclxuICAgIC8vIHRoaXMuX3N0eWxlU2VnbWVudC5yZW5kZXJpbmdPcHRpb25zXHJcbiAgICAvLyBcdC5zZXRMb2NrRmFjZUNvbG9yKGxldmVsKVxyXG4gICAgLy8gXHQuc2V0TG9ja0VkZ2VDb2xvcihsZXZlbClcclxuICAgIC8vIFx0LnNldExvY2tMaW5lQ29sb3IobGV2ZWwpXHJcbiAgICAvLyBcdC5zZXRMb2NrRmFjZVRyYW5zcGFyZW5jeShsZXZlbCk7XHJcbiAgfVxyXG5cclxuICBnZXQgSW1hZ2UoKTogTG9uZ2FuLkltYWdlIHtcclxuICAgIHJldHVybiB0aGlzLl9pbWFnZTtcclxuICB9XHJcblxyXG4gIGdldCBzdHlsZVNlZ21lbnQoKTogU2VnbWVudCB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3R5bGVTZWdtZW50O1xyXG4gIH1cclxuXHJcbiAgc2V0IHN0eWxlU2VnbWVudChzdHlsZVNlZ21lbnQ6IFNlZ21lbnQpIHtcclxuICAgIHRoaXMuX3N0eWxlU2VnbWVudCA9IHN0eWxlU2VnbWVudDtcclxuICB9XHJcblxyXG4gIHNldCBkb3VibGVTaWRlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9zdHlsZVNlZ21lbnQucmVuZGVyaW5nT3B0aW9ucy5jdWxsQmFja0ZhY2UgPSAhdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDorr7nva7popzoibJcclxuICAgKiBAcGFyYW0gciDlgLznmoTojIPlm7TmmK8wLTI1NVxyXG4gICAqIEBwYXJhbSBnIOWAvOeahOiMg+WbtOaYrzAtMjU1XHJcbiAgICogQHBhcmFtIGIg5YC855qE6IyD5Zu05pivMC0yNTVcclxuICAgKiBAcGFyYW0gYSDlgLznmoTojIPlm7TmmK8wLTFcclxuICAgKi9cclxuICBwdWJsaWMgc2V0Q29sb3IocjogbnVtYmVyLCBnOiBudW1iZXIsIGI6IG51bWJlciwgYT86IG51bWJlcikge1xyXG4gICAgdGhpcy5fc3R5bGVTZWdtZW50LmNvbG9yLnNldEZhY2UoW3IsIGcsIGJdKS5zZXRGYWNlVGV4dHVyZShcIi1cIik7XHJcbiAgICB0aGlzLl9zdHlsZVNlZ21lbnQuY29sb3JcclxuICAgICAgLnNldEVkZ2UoW3IsIGcsIGJdKVxyXG4gICAgICAuc2V0TGluZShbciwgZywgYl0pXHJcbiAgICAgIC5zZXRNYXJrZXIoW3IsIGcsIGJdKTtcclxuICAgIHRoaXMuX3N0eWxlU2VnbWVudC5yZW5kZXJpbmdPcHRpb25zXHJcbiAgICAgIC5zZXRMb2NrRmFjZUNvbG9yKHRoaXMuX2xldmVsKVxyXG4gICAgICAuc2V0TG9ja0VkZ2VDb2xvcih0aGlzLl9sZXZlbClcclxuICAgICAgLnNldExvY2tMaW5lQ29sb3IodGhpcy5fbGV2ZWwpO1xyXG4gICAgaWYgKGEgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnNldFRyYW5zcGFyZW5jeShhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOeUqOaVsOe7hOiuvue9ruagt+W8j+minOiJslxyXG4gICAqIEBwYXJhbSBjb2xvclxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRDb2xvckJ5QXJyYXkoY29sb3I6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXI/XSkge1xyXG4gICAgdGhpcy5zZXRDb2xvcihjb2xvclswXSwgY29sb3JbMV0sIGNvbG9yWzJdLCBjb2xvclszXSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5bmoLflvI/popzoibJcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXRDb2xvcihpc1JldHVybkFycmF5ID0gZmFsc2UpIHtcclxuICAgIGxldCBiYXNlQ29sb3IgPSB0aGlzLl9zdHlsZVNlZ21lbnQuY29sb3IuYmFzZUNvbG9yO1xyXG4gICAgbGV0IGEgPSB0aGlzLl9zdHlsZVNlZ21lbnQuY29sb3IuZmFjZVRyYW5zcGFyZW5jeTtcclxuICAgIGlmIChpc1JldHVybkFycmF5KSB7XHJcbiAgICAgIGlmIChhICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgTnVtYmVyKGJhc2VDb2xvclswXSksXHJcbiAgICAgICAgICBOdW1iZXIoYmFzZUNvbG9yWzFdKSxcclxuICAgICAgICAgIE51bWJlcihiYXNlQ29sb3JbMl0pLFxyXG4gICAgICAgICAgYSxcclxuICAgICAgICBdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBbXHJcbiAgICAgICAgICBOdW1iZXIoYmFzZUNvbG9yWzBdKSxcclxuICAgICAgICAgIE51bWJlcihiYXNlQ29sb3JbMV0pLFxyXG4gICAgICAgICAgTnVtYmVyKGJhc2VDb2xvclsyXSksXHJcbiAgICAgICAgXTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICByOiBOdW1iZXIoYmFzZUNvbG9yWzBdKSxcclxuICAgICAgICBnOiBOdW1iZXIoYmFzZUNvbG9yWzFdKSxcclxuICAgICAgICBiOiBOdW1iZXIoYmFzZUNvbG9yWzJdKSxcclxuICAgICAgICBhLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5Y+W5raI6aKc6Imy6K6+572uXHJcbiAgICovXHJcbiAgcHVibGljIHVuc2V0Q29sb3IoKSB7XHJcbiAgICB0aGlzLl9zdHlsZVNlZ21lbnQuY29sb3IudW5zZXQoKTtcclxuICAgIHRoaXMuX3N0eWxlU2VnbWVudC5yZW5kZXJpbmdPcHRpb25zXHJcbiAgICAgIC51bnNldExvY2tGYWNlQ29sb3IoKVxyXG4gICAgICAudW5zZXRMb2NrRWRnZUNvbG9yKClcclxuICAgICAgLnVuc2V0TG9ja0xpbmVDb2xvcigpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6K6+572u6YCP5piO5bqmXHJcbiAgICogQHBhcmFtIHRyYW5zcGFyZW5jeSDpgI/mmI7luqbvvIwwfjFcclxuICAgKi9cclxuICBwdWJsaWMgc2V0VHJhbnNwYXJlbmN5KHRyYW5zcGFyZW5jeTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9zdHlsZVNlZ21lbnQuY29sb3Iuc2V0RmFjZVRyYW5zcGFyZW5jeSh0cmFuc3BhcmVuY3kpO1xyXG4gICAgdGhpcy5fc3R5bGVTZWdtZW50LnJlbmRlcmluZ09wdGlvbnMuc2V0TG9ja0ZhY2VUcmFuc3BhcmVuY3kodGhpcy5fbGV2ZWwpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVuc2V0VHJhbnNwYXJlbmN5KCkge1xyXG4gICAgdGhpcy5fc3R5bGVTZWdtZW50LmNvbG9yLnVuc2V0RmFjZVRyYW5zcGFyZW5jeSgpO1xyXG4gICAgdGhpcy5fc3R5bGVTZWdtZW50LnJlbmRlcmluZ09wdGlvbnMudW5zZXRMb2NrRmFjZVRyYW5zcGFyZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6K6+572u6Ieq5Y+R5YWJXHJcbiAgICogQHBhcmFtIHJcclxuICAgKiBAcGFyYW0gZ1xyXG4gICAqIEBwYXJhbSBiXHJcbiAgICogQHBhcmFtIGFcclxuICAgKi9cclxuICBwdWJsaWMgc2V0RW1pc3NpdmUocjogbnVtYmVyLCBnOiBudW1iZXIsIGI6IG51bWJlciwgYTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9zdHlsZVNlZ21lbnQuY29sb3Iuc2V0RmFjZUVtaXNzaXZlKFtyLCBnLCBiLCBhXSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdW5zZXRFbWlzc2l2ZSgpIHtcclxuICAgIHRoaXMuX3N0eWxlU2VnbWVudC5jb2xvci51bnNldEZhY2VFbWlzc2l2ZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6YCa6L+H5LqM6L+b5Yi25paH5Lu26K6+572u6LS05Zu+XHJcbiAgICogQHBhcmFtIGZpbGVOYW1lXHJcbiAgICogQHBhcmFtIGltYWdlQmxvYlxyXG4gICAqIEBwYXJhbSBpbWdXaWR0aFxyXG4gICAqIEBwYXJhbSBpbWdIZWlnaHRcclxuICAgKiBAcGFyYW0gaW1hZ2VUeXBlXHJcbiAgICogQHBhcmFtIHNjYWxlXHJcbiAgICogQHBhcmFtIHRyYW5zbGF0ZVxyXG4gICAqIEBwYXJhbSByb3RhdGVcclxuICAgKi9cclxuICBwdWJsaWMgc2V0SW1hZ2UoXHJcbiAgICBmaWxlTmFtZTogc3RyaW5nLFxyXG4gICAgaW1hZ2VCbG9iOiBBcnJheUJ1ZmZlcixcclxuICAgIGltZ1dpZHRoOiBudW1iZXIsXHJcbiAgICBpbWdIZWlnaHQ6IG51bWJlcixcclxuICAgIGltYWdlVHlwZTogc3RyaW5nLFxyXG4gICAgc2NhbGU/OiBbbnVtYmVyLCBudW1iZXJdLFxyXG4gICAgdHJhbnNsYXRlPzogW251bWJlciwgbnVtYmVyXSxcclxuICAgIHJvdGF0ZT86IG51bWJlclxyXG4gICkge1xyXG4gICAgbGV0IG9wdGlvbnMgPVxyXG4gICAgICBcIm5hbWU9XCIgK1xyXG4gICAgICBmaWxlTmFtZSArXHJcbiAgICAgIFwiLGZvcm1hdD1cIiArXHJcbiAgICAgIGltYWdlVHlwZSArXHJcbiAgICAgIFwiLGRhdGEgc2l6ZT1cIiArXHJcbiAgICAgIGltYWdlQmxvYi5ieXRlTGVuZ3RoICtcclxuICAgICAgXCIsbG9jYWxcIjtcclxuXHJcbiAgICBpZiAoc2NhbGUpIHtcclxuICAgICAgb3B0aW9ucyArPSBcIixzY2FsZT0nXCIgKyBzY2FsZVswXSArIFwiLFwiICsgc2NhbGVbMV0gKyBcIidcIjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHJhbnNsYXRlKSB7XHJcbiAgICAgIG9wdGlvbnMgKz0gXCIsdHJhbnNsYXRlPSdcIiArIHRyYW5zbGF0ZVswXSArIFwiLFwiICsgdHJhbnNsYXRlWzFdICsgXCInXCI7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHJvdGF0ZSkge1xyXG4gICAgICBvcHRpb25zICs9IFwiLHJvdGF0ZT1cIiArIHJvdGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBKU19PcGVuX1NlZ21lbnRfQnlfS2V5KHRoaXMuX3N0eWxlU2VnbWVudC5rZXkpO1xyXG4gICAge1xyXG4gICAgICBsZXQgaW1hZ2VLZXkgPSBKU19JbnNlcnRfSW1hZ2UoXHJcbiAgICAgICAgMCxcclxuICAgICAgICAwLFxyXG4gICAgICAgIDAsXHJcbiAgICAgICAgaW1nV2lkdGgsXHJcbiAgICAgICAgaW1nSGVpZ2h0LFxyXG4gICAgICAgIGltYWdlQmxvYixcclxuICAgICAgICBvcHRpb25zXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuX2ltYWdlID0gbmV3IExvbmdhbi5JbWFnZShpbWFnZUtleSk7XHJcbiAgICB9XHJcbiAgICBKU19DbG9zZV9TZWdtZW50KCk7XHJcbiAgICB0aGlzLl9zdHlsZVNlZ21lbnQuY29sb3Iuc2V0RmFjZVRleHR1cmUoZmlsZU5hbWUpO1xyXG5cclxuICAgIHRoaXMuX3N0eWxlU2VnbWVudC5yZW5kZXJpbmdPcHRpb25zXHJcbiAgICAgIC5zZXRMb2NrRmFjZUNvbG9yKHRoaXMuX2xldmVsKVxyXG4gICAgICAuc2V0TG9ja0VkZ2VDb2xvcih0aGlzLl9sZXZlbClcclxuICAgICAgLnNldExvY2tMaW5lQ29sb3IodGhpcy5fbGV2ZWwpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6YCa6L+H5Zu+54mH5pWw5o2u6K6+572u6LS05Zu+XHJcbiAgICogQHBhcmFtIGltYWdlTmFtZVxyXG4gICAqIEBwYXJhbSBpbWFnZURhdGFcclxuICAgKi9cclxuICBwdWJsaWMgc2V0SW1hZ2VEYXRhKGltYWdlTmFtZTogc3RyaW5nLCBpbWFnZURhdGE6IEltYWdlRGF0YSkge1xyXG4gICAgdGhpcy5fc3R5bGVTZWdtZW50LmNvbG9yLnNldEZhY2VUZXh0dXJlKGltYWdlTmFtZSk7XHJcbiAgICB0aGlzLl9pbWFnZSA9IHRoaXMuX3N0eWxlU2VnbWVudC5pbnNlcnRMb2NhbEltYWdlKFxyXG4gICAgICBpbWFnZU5hbWUsXHJcbiAgICAgIGltYWdlRGF0YS53aWR0aCxcclxuICAgICAgaW1hZ2VEYXRhLmhlaWdodCxcclxuICAgICAgaW1hZ2VEYXRhLmRhdGEsXHJcbiAgICAgIEltYWdlUGl4ZWxGb3JtYXQuUkdCQVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOmAmui/h+WbvueJh+aWh+S7tuiuvue9rui0tOWbvlxyXG4gICAqIEBwYXJhbSBmaWxlTmFtZVxyXG4gICAqIEBwYXJhbSBpbWFnZUZpbGVcclxuICAgKiBAcGFyYW0gc2NhbGVcclxuICAgKiBAcGFyYW0gdHJhbnNsYXRlXHJcbiAgICogQHBhcmFtIHJvdGF0ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRJbWFnZUJ5RmlsZShcclxuICAgIGZpbGVOYW1lOiBzdHJpbmcsXHJcbiAgICBpbWFnZUZpbGU6IEZpbGUsXHJcbiAgICBzY2FsZT86IFtudW1iZXIsIG51bWJlcl0sXHJcbiAgICB0cmFuc2xhdGU/OiBbbnVtYmVyLCBudW1iZXJdLFxyXG4gICAgcm90YXRlPzogbnVtYmVyXHJcbiAgKSB7XHJcbiAgICBmaWxlVG9CYXNlNjQoaW1hZ2VGaWxlKS50aGVuKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICBsZXQgZGF0YSA9IHJlc3VsdC5kYXRhO1xyXG5cclxuICAgICAgbGV0IGJ5dGVTdHJpbmcgPSBhdG9iKGRhdGEuc3BsaXQoXCIsXCIpWzFdKTtcclxuXHJcbiAgICAgIGxldCBhYiA9IG5ldyBBcnJheUJ1ZmZlcihieXRlU3RyaW5nLmxlbmd0aCk7XHJcbiAgICAgIGxldCBpYSA9IG5ldyBVaW50OEFycmF5KGFiKTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBieXRlU3RyaW5nLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWFbaV0gPSBieXRlU3RyaW5nLmNoYXJDb2RlQXQoaSk7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IGZvcm1hdCA9IFwianBnXCI7XHJcbiAgICAgIGZvcm1hdCA9IHRoaXMuY2hlY2tQaG90b0Zvcm1hdChpYSk7XHJcblxyXG4gICAgICBsZXQgaW1hZ2VTcmMgPSBkYXRhO1xyXG4gICAgICBsZXQgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImNhbnZhc1wiKTtcclxuICAgICAgbGV0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dChcIjJkXCIpO1xyXG4gICAgICBsZXQgaW1nID0gbmV3IEltYWdlKCk7XHJcbiAgICAgIGltZy5zcmMgPSBkYXRhO1xyXG5cclxuICAgICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgICBjYW52YXMud2lkdGggPSBpbWcud2lkdGg7XHJcbiAgICAgICAgY2FudmFzLmhlaWdodCA9IGltZy5oZWlnaHQ7XHJcblxyXG4gICAgICAgIHRoaXMuc2V0SW1hZ2UoXHJcbiAgICAgICAgICBmaWxlTmFtZSxcclxuICAgICAgICAgIGFiLFxyXG4gICAgICAgICAgaW1nLndpZHRoLFxyXG4gICAgICAgICAgaW1nLmhlaWdodCxcclxuICAgICAgICAgIGZvcm1hdCxcclxuICAgICAgICAgIHNjYWxlLFxyXG4gICAgICAgICAgdHJhbnNsYXRlLFxyXG4gICAgICAgICAgcm90YXRlXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgLy8gbGV0IGNvbW1hbmRTaG93RWRpdFN0eWxlID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5jb21tYW5kTWFuYWdlclxyXG4gICAgICAgIC8vICAgLmN1cnJlbnRDb21tYW5kIGFzIENvbW1hbmRTaG93RWRpdFN0eWxlO1xyXG4gICAgICAgIC8vIGNvbW1hbmRTaG93RWRpdFN0eWxlLmZpbGVOYW1lID0gZmlsZU5hbWU7XHJcbiAgICAgICAgLy8gY29tbWFuZFNob3dFZGl0U3R5bGUuaW1nQmxvYiA9IGFiO1xyXG4gICAgICAgIC8vIGNvbW1hbmRTaG93RWRpdFN0eWxlLmltZ1dpZHRoID0gaW1nLndpZHRoO1xyXG4gICAgICAgIC8vIGNvbW1hbmRTaG93RWRpdFN0eWxlLmltZ0hlaWdodCA9IGltZy5oZWlnaHQ7XHJcbiAgICAgICAgLy8gY29tbWFuZFNob3dFZGl0U3R5bGUuaW1nVHlwZSA9IGZvcm1hdDtcclxuXHJcbiAgICAgICAgLy8gY29tbWFuZFNob3dFZGl0U3R5bGUuZWR0aVR5cGUgPSBFZGl0U3R5bGVUeXBlLkltYWdlO1xyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrUGhvdG9Gb3JtYXQoaWE6IFVpbnQ4QXJyYXkpOiBzdHJpbmcge1xyXG4gICAgbGV0IGZvcm1hdCA9IFwianBnXCI7XHJcblxyXG4gICAgbGV0IGEgPSBpYVswXTtcclxuICAgIGxldCBiID0gaWFbMV07XHJcbiAgICBsZXQgYyA9IGlhWzJdO1xyXG4gICAgbGV0IGQgPSBpYVszXTtcclxuXHJcbiAgICBpZiAoYSA9PT0gMjU1ICYmIGIgPT09IDIxNiAmJiBjID09PSAyNTUpIHtcclxuICAgICAgZm9ybWF0ID0gXCJqcGdcIjtcclxuICAgIH0gZWxzZSBpZiAoYSA9PT0gMTM3ICYmIGIgPT09IDgwICYmIGMgPT09IDc4ICYmIGQgPT09IDcxKSB7XHJcbiAgICAgIGZvcm1hdCA9IFwicG5nXCI7XHJcbiAgICB9IGVsc2UgaWYgKGEgPT09IDcxICYmIGIgPT09IDczICYmIGMgPT09IDcwKSB7XHJcbiAgICAgIGZvcm1hdCA9IFwiZ2lmXCI7XHJcbiAgICB9IGVsc2UgaWYgKGEgPT09IDY2ICYmIGIgPT09IDc3KSB7XHJcbiAgICAgIGZvcm1hdCA9IFwiYm1wXCI7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZvcm1hdDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOWPlua2iOi0tOWbvlxyXG4gICAqL1xyXG4gIHB1YmxpYyB1bnNldEltYWdlKCkge1xyXG4gICAgdGhpcy5faW1hZ2UuZGVsZXRlKCk7XHJcbiAgICB0aGlzLl9zdHlsZVNlZ21lbnQuY29sb3IudW5zZXRGYWNlVGV4dHVyZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5L2/6K6+572u5q2kTWF0ZXJpYWznmoRTZWdtZW50T2JqZWN05rWu6LW3XHJcbiAgICovXHJcbiAgcHVibGljIHNldEZsb2F0KCkge1xyXG4gICAgdGhpcy5fc3R5bGVTZWdtZW50LnJlbmRlcmluZ09wdGlvbnMuc2V0RGVwdGhSYW5nZSgwLCAwLjEpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5Y+W5raI6K6+572u5q2kTWF0ZXJpYWznmoRTZWdtZW50T2JqZWN055qE5rWu6LW3XHJcbiAgICovXHJcbiAgcHVibGljIHVuc2V0RmxvYXQoKSB7XHJcbiAgICB0aGlzLl9zdHlsZVNlZ21lbnQucmVuZGVyaW5nT3B0aW9ucy51bnNldERlcHRoUmFuZ2UoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlcXVhbHMobWF0ZXJpYWw6IE1hdGVyaWFsKSB7XHJcbiAgICBpZiAodGhpcy5fc3R5bGVTZWdtZW50LmVxdWFscyhtYXRlcmlhbC5fc3R5bGVTZWdtZW50KSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./packages/bimAir/src/gsDevFx/objects/material.ts\n");
|
|
3717
|
+
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/web.atob.js */ \"./node_modules/core-js/modules/web.atob.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-exception.constructor.js */ \"./node_modules/core-js/modules/web.dom-exception.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-exception.stack.js */ \"./node_modules/core-js/modules/web.dom-exception.stack.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-exception.to-string-tag.js */ \"./node_modules/core-js/modules/web.dom-exception.to-string-tag.js\");\n\n__webpack_require__(/*! core-js/modules/es.array-buffer.constructor.js */ \"./node_modules/core-js/modules/es.array-buffer.constructor.js\");\n\n__webpack_require__(/*! core-js/modules/es.array-buffer.slice.js */ \"./node_modules/core-js/modules/es.array-buffer.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.uint8-array.js */ \"./node_modules/core-js/modules/es.typed-array.uint8-array.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.at.js */ \"./node_modules/core-js/modules/es.typed-array.at.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.copy-within.js */ \"./node_modules/core-js/modules/es.typed-array.copy-within.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.every.js */ \"./node_modules/core-js/modules/es.typed-array.every.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.fill.js */ \"./node_modules/core-js/modules/es.typed-array.fill.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.filter.js */ \"./node_modules/core-js/modules/es.typed-array.filter.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find.js */ \"./node_modules/core-js/modules/es.typed-array.find.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-last.js */ \"./node_modules/core-js/modules/es.typed-array.find-last.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-last-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-last-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.for-each.js */ \"./node_modules/core-js/modules/es.typed-array.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.includes.js */ \"./node_modules/core-js/modules/es.typed-array.includes.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.index-of.js */ \"./node_modules/core-js/modules/es.typed-array.index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.iterator.js */ \"./node_modules/core-js/modules/es.typed-array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.join.js */ \"./node_modules/core-js/modules/es.typed-array.join.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.last-index-of.js */ \"./node_modules/core-js/modules/es.typed-array.last-index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.map.js */ \"./node_modules/core-js/modules/es.typed-array.map.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce.js */ \"./node_modules/core-js/modules/es.typed-array.reduce.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce-right.js */ \"./node_modules/core-js/modules/es.typed-array.reduce-right.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reverse.js */ \"./node_modules/core-js/modules/es.typed-array.reverse.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.set.js */ \"./node_modules/core-js/modules/es.typed-array.set.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.slice.js */ \"./node_modules/core-js/modules/es.typed-array.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.some.js */ \"./node_modules/core-js/modules/es.typed-array.some.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.sort.js */ \"./node_modules/core-js/modules/es.typed-array.sort.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.subarray.js */ \"./node_modules/core-js/modules/es.typed-array.subarray.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-locale-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-locale-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-string.js\");\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! gs-longan/longan/segment */ \"./packages/longan/src/longan/segment.ts\"), __webpack_require__(/*! gs-longan/longan/gs.viewer */ \"./packages/longan/src/longan/gs.viewer.ts\"), __webpack_require__(/*! ../../utils/fileUtility */ \"./packages/bimAir/src/utils/fileUtility.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, Longan, gs_longan_1, segment_1, gs_viewer_1, fileUtility_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n exports.Material = void 0;\n Longan = tslib_1.__importStar(Longan);\n\n var Material = function () {\n function Material(viewer, materialName, level) {\n if (level === void 0) {\n level = 2;\n }\n\n this._viewer = null;\n this._styleSegment = null;\n this._level = 1;\n this._image = null;\n this._viewer = viewer;\n var mainStyleSegment = new gs_longan_1.Segment(viewer.styleKey);\n this._styleSegment = mainStyleSegment.subsegment(materialName);\n this._level = level;\n }\n\n Object.defineProperty(Material.prototype, \"Image\", {\n get: function get() {\n return this._image;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Material.prototype, \"styleSegment\", {\n get: function get() {\n return this._styleSegment;\n },\n set: function set(styleSegment) {\n this._styleSegment = styleSegment;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Material.prototype, \"doubleSide\", {\n set: function set(value) {\n this._styleSegment.renderingOptions.cullBackFace = !value;\n },\n enumerable: false,\n configurable: true\n });\n\n Material.prototype.setColor = function (r, g, b, a) {\n this._styleSegment.color.setFace([r, g, b]).setFaceTexture(\"-\");\n\n this._styleSegment.color.setEdge([r, g, b]).setLine([r, g, b]).setMarker([r, g, b]);\n\n this._styleSegment.renderingOptions.setLockFaceColor(this._level).setLockEdgeColor(this._level).setLockLineColor(this._level);\n\n if (a !== undefined) {\n this.setTransparency(a);\n }\n };\n\n Material.prototype.setColorByArray = function (color) {\n this.setColor(color[0], color[1], color[2], color[3]);\n };\n\n Material.prototype.getColor = function (isReturnArray) {\n if (isReturnArray === void 0) {\n isReturnArray = false;\n }\n\n var baseColor = this._styleSegment.color.baseColor;\n var a = this._styleSegment.color.faceTransparency;\n\n if (isReturnArray) {\n if (a !== undefined) {\n return [Number(baseColor[0]), Number(baseColor[1]), Number(baseColor[2]), a];\n } else {\n return [Number(baseColor[0]), Number(baseColor[1]), Number(baseColor[2])];\n }\n } else {\n return {\n r: Number(baseColor[0]),\n g: Number(baseColor[1]),\n b: Number(baseColor[2]),\n a: a\n };\n }\n };\n\n Material.prototype.unsetColor = function () {\n this._styleSegment.color.unset();\n\n this._styleSegment.renderingOptions.unsetLockFaceColor().unsetLockEdgeColor().unsetLockLineColor();\n };\n\n Material.prototype.setTransparency = function (transparency) {\n this._styleSegment.color.setFaceTransparency(transparency);\n\n this._styleSegment.renderingOptions.setLockFaceTransparency(this._level);\n };\n\n Material.prototype.unsetTransparency = function () {\n this._styleSegment.color.unsetFaceTransparency();\n\n this._styleSegment.renderingOptions.unsetLockFaceTransparency();\n };\n\n Material.prototype.setEmissive = function (r, g, b, a) {\n this._styleSegment.color.setFaceEmissive([r, g, b, a]);\n };\n\n Material.prototype.unsetEmissive = function () {\n this._styleSegment.color.unsetFaceEmissive();\n };\n\n Material.prototype.setImage = function (fileName, imageBlob, imgWidth, imgHeight, imageType, scale, translate, rotate) {\n var options = \"name=\" + fileName + \",format=\" + imageType + \",data size=\" + imageBlob.byteLength + \",local\";\n\n if (scale) {\n options += \",scale='\" + scale[0] + \",\" + scale[1] + \"'\";\n }\n\n if (translate) {\n options += \",translate='\" + translate[0] + \",\" + translate[1] + \"'\";\n }\n\n if (rotate) {\n options += \",rotate=\" + rotate;\n }\n\n (0, gs_viewer_1.JS_Open_Segment_By_Key)(this._styleSegment.key);\n {\n var imageKey = (0, gs_viewer_1.JS_Insert_Image)(0, 0, 0, imgWidth, imgHeight, imageBlob, options);\n this._image = new Longan.Image(imageKey);\n }\n (0, gs_viewer_1.JS_Close_Segment)();\n\n this._styleSegment.color.setFaceTexture(fileName);\n\n this._styleSegment.renderingOptions.setLockFaceColor(this._level).setLockEdgeColor(this._level).setLockLineColor(this._level);\n };\n\n Material.prototype.setImageData = function (imageName, imageData) {\n this._styleSegment.color.setFaceTexture(imageName);\n\n this._image = this._styleSegment.insertLocalImage(imageName, imageData.width, imageData.height, imageData.data, segment_1.ImagePixelFormat.RGBA);\n };\n\n Material.prototype.setImageByFile = function (fileName, imageFile, scale, translate, rotate) {\n var _this = this;\n\n (0, fileUtility_1.fileToBase64)(imageFile).then(function (result) {\n var data = result.data;\n var byteString = atob(data.split(\",\")[1]);\n var ab = new ArrayBuffer(byteString.length);\n var ia = new Uint8Array(ab);\n\n for (var i = 0; i < byteString.length; i++) {\n ia[i] = byteString.charCodeAt(i);\n }\n\n var format = \"jpg\";\n format = _this.checkPhotoFormat(ia);\n var imageSrc = data;\n var canvas = document.createElement(\"canvas\");\n var context = canvas.getContext(\"2d\");\n var img = new Image();\n img.src = data;\n\n img.onload = function () {\n canvas.width = img.width;\n canvas.height = img.height;\n\n _this.setImage(fileName, ab, img.width, img.height, format, scale, translate, rotate);\n };\n });\n };\n\n Material.prototype.checkPhotoFormat = function (ia) {\n var format = \"jpg\";\n var a = ia[0];\n var b = ia[1];\n var c = ia[2];\n var d = ia[3];\n\n if (a === 255 && b === 216 && c === 255) {\n format = \"jpg\";\n } else if (a === 137 && b === 80 && c === 78 && d === 71) {\n format = \"png\";\n } else if (a === 71 && b === 73 && c === 70) {\n format = \"gif\";\n } else if (a === 66 && b === 77) {\n format = \"bmp\";\n }\n\n return format;\n };\n\n Material.prototype.unsetImage = function () {\n this._image.delete();\n\n this._styleSegment.color.unsetFaceTexture();\n };\n\n Material.prototype.setFloat = function () {\n this._styleSegment.renderingOptions.setDepthRange(0, 0.1);\n };\n\n Material.prototype.unsetFloat = function () {\n this._styleSegment.renderingOptions.unsetDepthRange();\n };\n\n Material.prototype.equals = function (material) {\n if (this._styleSegment.equals(material._styleSegment)) {\n return true;\n } else {\n return false;\n }\n };\n\n return Material;\n }();\n\n exports.Material = Material;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2Rngvb2JqZWN0cy9tYXRlcmlhbC50cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFZQTtBQU1BO0FBQUE7QUFBQTtBQUFBOztBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFFQTtBQUNBO0FBRUE7QUFNQTs7QUFFQTtBQUFBO0FBQ0E7QUFDQTtBQUZBOztBQUFBO0FBSUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFOQTs7QUFBQTtBQVFBO0FBQUE7QUFDQTtBQUNBO0FBRkE7O0FBQUE7O0FBV0E7QUFDQTs7QUFDQTs7QUFJQTs7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7QUFNQTtBQUNBO0FBQ0E7O0FBTUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU1BO0FBQ0E7O0FBS0E7QUFDQTs7QUFDQTtBQUlBOztBQU1BO0FBQ0E7O0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUNBO0FBQ0E7O0FBU0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFhQTtBQVVBOztBQVNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQVNBO0FBQ0E7QUFDQTs7QUFDQTs7QUFFQTtBQUlBOztBQU9BO0FBQ0E7O0FBQ0E7QUFPQTs7QUFVQTtBQUFBOztBQU9BO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQW9CQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUtBO0FBQ0E7O0FBQ0E7QUFDQTs7QUFLQTtBQUNBO0FBQ0E7O0FBS0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQUE7O0FBMVVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYmltbGlnaHQtcGxhdGZvcm0vLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2Rngvb2JqZWN0cy9tYXRlcmlhbC50cz9mN2E2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIExvbmdhbiBmcm9tIFwiZ3MtbG9uZ2FuXCI7XHJcblxyXG5pbXBvcnQgeyBTZWdtZW50IH0gZnJvbSBcImdzLWxvbmdhblwiO1xyXG5pbXBvcnQgeyBWaWV3ZXIgfSBmcm9tIFwiLi4vdmlld2VyXCI7XHJcbmltcG9ydCB7IEltYWdlUGl4ZWxGb3JtYXQgfSBmcm9tIFwiZ3MtbG9uZ2FuL2xvbmdhbi9zZWdtZW50XCI7XHJcbmltcG9ydCB7XHJcbiAgSlNfQ2xvc2VfU2VnbWVudCxcclxuICBKU19JbnNlcnRfSW1hZ2UsXHJcbiAgSlNfT3Blbl9TZWdtZW50X0J5X0tleSxcclxufSBmcm9tIFwiZ3MtbG9uZ2FuL2xvbmdhbi9ncy52aWV3ZXJcIjtcclxuaW1wb3J0IHsgZmlsZVRvQmFzZTY0IH0gZnJvbSBcIi4uLy4uL3V0aWxzL2ZpbGVVdGlsaXR5XCI7XHJcblxyXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWwge1xyXG4gIHByb3RlY3RlZCBfdmlld2VyOiBWaWV3ZXIgPSBudWxsO1xyXG4gIHByb3RlY3RlZCBfc3R5bGVTZWdtZW50OiBTZWdtZW50ID0gbnVsbDtcclxuICBwcm90ZWN0ZWQgX2xldmVsID0gMTtcclxuICBwcm90ZWN0ZWQgX2ltYWdlOiBMb25nYW4uSW1hZ2UgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcih2aWV3ZXI6IFZpZXdlciwgbWF0ZXJpYWxOYW1lOiBzdHJpbmcsIGxldmVsOiBudW1iZXIgPSAyKSB7XHJcbiAgICB0aGlzLl92aWV3ZXIgPSB2aWV3ZXI7XHJcblxyXG4gICAgbGV0IG1haW5TdHlsZVNlZ21lbnQgPSBuZXcgU2VnbWVudCh2aWV3ZXIuc3R5bGVLZXkpO1xyXG4gICAgdGhpcy5fc3R5bGVTZWdtZW50ID0gbWFpblN0eWxlU2VnbWVudC5zdWJzZWdtZW50KG1hdGVyaWFsTmFtZSk7XHJcblxyXG4gICAgdGhpcy5fbGV2ZWwgPSBsZXZlbDtcclxuICAgIC8vIHRoaXMuX3N0eWxlU2VnbWVudC5yZW5kZXJpbmdPcHRpb25zXHJcbiAgICAvLyBcdC5zZXRMb2NrRmFjZUNvbG9yKGxldmVsKVxyXG4gICAgLy8gXHQuc2V0TG9ja0VkZ2VDb2xvcihsZXZlbClcclxuICAgIC8vIFx0LnNldExvY2tMaW5lQ29sb3IobGV2ZWwpXHJcbiAgICAvLyBcdC5zZXRMb2NrRmFjZVRyYW5zcGFyZW5jeShsZXZlbCk7XHJcbiAgfVxyXG5cclxuICBnZXQgSW1hZ2UoKTogTG9uZ2FuLkltYWdlIHtcclxuICAgIHJldHVybiB0aGlzLl9pbWFnZTtcclxuICB9XHJcblxyXG4gIGdldCBzdHlsZVNlZ21lbnQoKTogU2VnbWVudCB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3R5bGVTZWdtZW50O1xyXG4gIH1cclxuXHJcbiAgc2V0IHN0eWxlU2VnbWVudChzdHlsZVNlZ21lbnQ6IFNlZ21lbnQpIHtcclxuICAgIHRoaXMuX3N0eWxlU2VnbWVudCA9IHN0eWxlU2VnbWVudDtcclxuICB9XHJcblxyXG4gIHNldCBkb3VibGVTaWRlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9zdHlsZVNlZ21lbnQucmVuZGVyaW5nT3B0aW9ucy5jdWxsQmFja0ZhY2UgPSAhdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDorr7nva7popzoibJcclxuICAgKiBAcGFyYW0gciDlgLznmoTojIPlm7TmmK8wLTI1NVxyXG4gICAqIEBwYXJhbSBnIOWAvOeahOiMg+WbtOaYrzAtMjU1XHJcbiAgICogQHBhcmFtIGIg5YC855qE6IyD5Zu05pivMC0yNTVcclxuICAgKiBAcGFyYW0gYSDlgLznmoTojIPlm7TmmK8wLTFcclxuICAgKi9cclxuICBwdWJsaWMgc2V0Q29sb3IocjogbnVtYmVyLCBnOiBudW1iZXIsIGI6IG51bWJlciwgYT86IG51bWJlcikge1xyXG4gICAgdGhpcy5fc3R5bGVTZWdtZW50LmNvbG9yLnNldEZhY2UoW3IsIGcsIGJdKS5zZXRGYWNlVGV4dHVyZShcIi1cIik7XHJcbiAgICB0aGlzLl9zdHlsZVNlZ21lbnQuY29sb3JcclxuICAgICAgLnNldEVkZ2UoW3IsIGcsIGJdKVxyXG4gICAgICAuc2V0TGluZShbciwgZywgYl0pXHJcbiAgICAgIC5zZXRNYXJrZXIoW3IsIGcsIGJdKTtcclxuICAgIHRoaXMuX3N0eWxlU2VnbWVudC5yZW5kZXJpbmdPcHRpb25zXHJcbiAgICAgIC5zZXRMb2NrRmFjZUNvbG9yKHRoaXMuX2xldmVsKVxyXG4gICAgICAuc2V0TG9ja0VkZ2VDb2xvcih0aGlzLl9sZXZlbClcclxuICAgICAgLnNldExvY2tMaW5lQ29sb3IodGhpcy5fbGV2ZWwpO1xyXG4gICAgaWYgKGEgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnNldFRyYW5zcGFyZW5jeShhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOeUqOaVsOe7hOiuvue9ruagt+W8j+minOiJslxyXG4gICAqIEBwYXJhbSBjb2xvclxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRDb2xvckJ5QXJyYXkoY29sb3I6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXI/XSkge1xyXG4gICAgdGhpcy5zZXRDb2xvcihjb2xvclswXSwgY29sb3JbMV0sIGNvbG9yWzJdLCBjb2xvclszXSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5bmoLflvI/popzoibJcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXRDb2xvcihpc1JldHVybkFycmF5ID0gZmFsc2UpIHtcclxuICAgIGxldCBiYXNlQ29sb3IgPSB0aGlzLl9zdHlsZVNlZ21lbnQuY29sb3IuYmFzZUNvbG9yO1xyXG4gICAgbGV0IGEgPSB0aGlzLl9zdHlsZVNlZ21lbnQuY29sb3IuZmFjZVRyYW5zcGFyZW5jeTtcclxuICAgIGlmIChpc1JldHVybkFycmF5KSB7XHJcbiAgICAgIGlmIChhICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgTnVtYmVyKGJhc2VDb2xvclswXSksXHJcbiAgICAgICAgICBOdW1iZXIoYmFzZUNvbG9yWzFdKSxcclxuICAgICAgICAgIE51bWJlcihiYXNlQ29sb3JbMl0pLFxyXG4gICAgICAgICAgYSxcclxuICAgICAgICBdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBbXHJcbiAgICAgICAgICBOdW1iZXIoYmFzZUNvbG9yWzBdKSxcclxuICAgICAgICAgIE51bWJlcihiYXNlQ29sb3JbMV0pLFxyXG4gICAgICAgICAgTnVtYmVyKGJhc2VDb2xvclsyXSksXHJcbiAgICAgICAgXTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICByOiBOdW1iZXIoYmFzZUNvbG9yWzBdKSxcclxuICAgICAgICBnOiBOdW1iZXIoYmFzZUNvbG9yWzFdKSxcclxuICAgICAgICBiOiBOdW1iZXIoYmFzZUNvbG9yWzJdKSxcclxuICAgICAgICBhLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5Y+W5raI6aKc6Imy6K6+572uXHJcbiAgICovXHJcbiAgcHVibGljIHVuc2V0Q29sb3IoKSB7XHJcbiAgICB0aGlzLl9zdHlsZVNlZ21lbnQuY29sb3IudW5zZXQoKTtcclxuICAgIHRoaXMuX3N0eWxlU2VnbWVudC5yZW5kZXJpbmdPcHRpb25zXHJcbiAgICAgIC51bnNldExvY2tGYWNlQ29sb3IoKVxyXG4gICAgICAudW5zZXRMb2NrRWRnZUNvbG9yKClcclxuICAgICAgLnVuc2V0TG9ja0xpbmVDb2xvcigpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6K6+572u6YCP5piO5bqmXHJcbiAgICogQHBhcmFtIHRyYW5zcGFyZW5jeSDpgI/mmI7luqbvvIwwfjFcclxuICAgKi9cclxuICBwdWJsaWMgc2V0VHJhbnNwYXJlbmN5KHRyYW5zcGFyZW5jeTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9zdHlsZVNlZ21lbnQuY29sb3Iuc2V0RmFjZVRyYW5zcGFyZW5jeSh0cmFuc3BhcmVuY3kpO1xyXG4gICAgdGhpcy5fc3R5bGVTZWdtZW50LnJlbmRlcmluZ09wdGlvbnMuc2V0TG9ja0ZhY2VUcmFuc3BhcmVuY3kodGhpcy5fbGV2ZWwpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVuc2V0VHJhbnNwYXJlbmN5KCkge1xyXG4gICAgdGhpcy5fc3R5bGVTZWdtZW50LmNvbG9yLnVuc2V0RmFjZVRyYW5zcGFyZW5jeSgpO1xyXG4gICAgdGhpcy5fc3R5bGVTZWdtZW50LnJlbmRlcmluZ09wdGlvbnMudW5zZXRMb2NrRmFjZVRyYW5zcGFyZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6K6+572u6Ieq5Y+R5YWJXHJcbiAgICogQHBhcmFtIHJcclxuICAgKiBAcGFyYW0gZ1xyXG4gICAqIEBwYXJhbSBiXHJcbiAgICogQHBhcmFtIGFcclxuICAgKi9cclxuICBwdWJsaWMgc2V0RW1pc3NpdmUocjogbnVtYmVyLCBnOiBudW1iZXIsIGI6IG51bWJlciwgYTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9zdHlsZVNlZ21lbnQuY29sb3Iuc2V0RmFjZUVtaXNzaXZlKFtyLCBnLCBiLCBhXSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdW5zZXRFbWlzc2l2ZSgpIHtcclxuICAgIHRoaXMuX3N0eWxlU2VnbWVudC5jb2xvci51bnNldEZhY2VFbWlzc2l2ZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6YCa6L+H5LqM6L+b5Yi25paH5Lu26K6+572u6LS05Zu+XHJcbiAgICogQHBhcmFtIGZpbGVOYW1lXHJcbiAgICogQHBhcmFtIGltYWdlQmxvYlxyXG4gICAqIEBwYXJhbSBpbWdXaWR0aFxyXG4gICAqIEBwYXJhbSBpbWdIZWlnaHRcclxuICAgKiBAcGFyYW0gaW1hZ2VUeXBlXHJcbiAgICogQHBhcmFtIHNjYWxlXHJcbiAgICogQHBhcmFtIHRyYW5zbGF0ZVxyXG4gICAqIEBwYXJhbSByb3RhdGVcclxuICAgKi9cclxuICBwdWJsaWMgc2V0SW1hZ2UoXHJcbiAgICBmaWxlTmFtZTogc3RyaW5nLFxyXG4gICAgaW1hZ2VCbG9iOiBBcnJheUJ1ZmZlcixcclxuICAgIGltZ1dpZHRoOiBudW1iZXIsXHJcbiAgICBpbWdIZWlnaHQ6IG51bWJlcixcclxuICAgIGltYWdlVHlwZTogc3RyaW5nLFxyXG4gICAgc2NhbGU/OiBbbnVtYmVyLCBudW1iZXJdLFxyXG4gICAgdHJhbnNsYXRlPzogW251bWJlciwgbnVtYmVyXSxcclxuICAgIHJvdGF0ZT86IG51bWJlclxyXG4gICkge1xyXG4gICAgbGV0IG9wdGlvbnMgPVxyXG4gICAgICBcIm5hbWU9XCIgK1xyXG4gICAgICBmaWxlTmFtZSArXHJcbiAgICAgIFwiLGZvcm1hdD1cIiArXHJcbiAgICAgIGltYWdlVHlwZSArXHJcbiAgICAgIFwiLGRhdGEgc2l6ZT1cIiArXHJcbiAgICAgIGltYWdlQmxvYi5ieXRlTGVuZ3RoICtcclxuICAgICAgXCIsbG9jYWxcIjtcclxuXHJcbiAgICBpZiAoc2NhbGUpIHtcclxuICAgICAgb3B0aW9ucyArPSBcIixzY2FsZT0nXCIgKyBzY2FsZVswXSArIFwiLFwiICsgc2NhbGVbMV0gKyBcIidcIjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHJhbnNsYXRlKSB7XHJcbiAgICAgIG9wdGlvbnMgKz0gXCIsdHJhbnNsYXRlPSdcIiArIHRyYW5zbGF0ZVswXSArIFwiLFwiICsgdHJhbnNsYXRlWzFdICsgXCInXCI7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHJvdGF0ZSkge1xyXG4gICAgICBvcHRpb25zICs9IFwiLHJvdGF0ZT1cIiArIHJvdGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBKU19PcGVuX1NlZ21lbnRfQnlfS2V5KHRoaXMuX3N0eWxlU2VnbWVudC5rZXkpO1xyXG4gICAge1xyXG4gICAgICBsZXQgaW1hZ2VLZXkgPSBKU19JbnNlcnRfSW1hZ2UoXHJcbiAgICAgICAgMCxcclxuICAgICAgICAwLFxyXG4gICAgICAgIDAsXHJcbiAgICAgICAgaW1nV2lkdGgsXHJcbiAgICAgICAgaW1nSGVpZ2h0LFxyXG4gICAgICAgIGltYWdlQmxvYixcclxuICAgICAgICBvcHRpb25zXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuX2ltYWdlID0gbmV3IExvbmdhbi5JbWFnZShpbWFnZUtleSk7XHJcbiAgICB9XHJcbiAgICBKU19DbG9zZV9TZWdtZW50KCk7XHJcbiAgICB0aGlzLl9zdHlsZVNlZ21lbnQuY29sb3Iuc2V0RmFjZVRleHR1cmUoZmlsZU5hbWUpO1xyXG5cclxuICAgIHRoaXMuX3N0eWxlU2VnbWVudC5yZW5kZXJpbmdPcHRpb25zXHJcbiAgICAgIC5zZXRMb2NrRmFjZUNvbG9yKHRoaXMuX2xldmVsKVxyXG4gICAgICAuc2V0TG9ja0VkZ2VDb2xvcih0aGlzLl9sZXZlbClcclxuICAgICAgLnNldExvY2tMaW5lQ29sb3IodGhpcy5fbGV2ZWwpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6YCa6L+H5Zu+54mH5pWw5o2u6K6+572u6LS05Zu+XHJcbiAgICogQHBhcmFtIGltYWdlTmFtZVxyXG4gICAqIEBwYXJhbSBpbWFnZURhdGFcclxuICAgKi9cclxuICBwdWJsaWMgc2V0SW1hZ2VEYXRhKGltYWdlTmFtZTogc3RyaW5nLCBpbWFnZURhdGE6IEltYWdlRGF0YSkge1xyXG4gICAgdGhpcy5fc3R5bGVTZWdtZW50LmNvbG9yLnNldEZhY2VUZXh0dXJlKGltYWdlTmFtZSk7XHJcbiAgICB0aGlzLl9pbWFnZSA9IHRoaXMuX3N0eWxlU2VnbWVudC5pbnNlcnRMb2NhbEltYWdlKFxyXG4gICAgICBpbWFnZU5hbWUsXHJcbiAgICAgIGltYWdlRGF0YS53aWR0aCxcclxuICAgICAgaW1hZ2VEYXRhLmhlaWdodCxcclxuICAgICAgaW1hZ2VEYXRhLmRhdGEsXHJcbiAgICAgIEltYWdlUGl4ZWxGb3JtYXQuUkdCQVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOmAmui/h+WbvueJh+aWh+S7tuiuvue9rui0tOWbvlxyXG4gICAqIEBwYXJhbSBmaWxlTmFtZVxyXG4gICAqIEBwYXJhbSBpbWFnZUZpbGVcclxuICAgKiBAcGFyYW0gc2NhbGVcclxuICAgKiBAcGFyYW0gdHJhbnNsYXRlXHJcbiAgICogQHBhcmFtIHJvdGF0ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRJbWFnZUJ5RmlsZShcclxuICAgIGZpbGVOYW1lOiBzdHJpbmcsXHJcbiAgICBpbWFnZUZpbGU6IEZpbGUsXHJcbiAgICBzY2FsZT86IFtudW1iZXIsIG51bWJlcl0sXHJcbiAgICB0cmFuc2xhdGU/OiBbbnVtYmVyLCBudW1iZXJdLFxyXG4gICAgcm90YXRlPzogbnVtYmVyXHJcbiAgKSB7XHJcbiAgICBmaWxlVG9CYXNlNjQoaW1hZ2VGaWxlKS50aGVuKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICBsZXQgZGF0YSA9IHJlc3VsdC5kYXRhO1xyXG5cclxuICAgICAgbGV0IGJ5dGVTdHJpbmcgPSBhdG9iKGRhdGEuc3BsaXQoXCIsXCIpWzFdKTtcclxuXHJcbiAgICAgIGxldCBhYiA9IG5ldyBBcnJheUJ1ZmZlcihieXRlU3RyaW5nLmxlbmd0aCk7XHJcbiAgICAgIGxldCBpYSA9IG5ldyBVaW50OEFycmF5KGFiKTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBieXRlU3RyaW5nLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWFbaV0gPSBieXRlU3RyaW5nLmNoYXJDb2RlQXQoaSk7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IGZvcm1hdCA9IFwianBnXCI7XHJcbiAgICAgIGZvcm1hdCA9IHRoaXMuY2hlY2tQaG90b0Zvcm1hdChpYSk7XHJcblxyXG4gICAgICBsZXQgaW1hZ2VTcmMgPSBkYXRhO1xyXG4gICAgICBsZXQgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImNhbnZhc1wiKTtcclxuICAgICAgbGV0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dChcIjJkXCIpO1xyXG4gICAgICBsZXQgaW1nID0gbmV3IEltYWdlKCk7XHJcbiAgICAgIGltZy5zcmMgPSBkYXRhO1xyXG5cclxuICAgICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgICBjYW52YXMud2lkdGggPSBpbWcud2lkdGg7XHJcbiAgICAgICAgY2FudmFzLmhlaWdodCA9IGltZy5oZWlnaHQ7XHJcblxyXG4gICAgICAgIHRoaXMuc2V0SW1hZ2UoXHJcbiAgICAgICAgICBmaWxlTmFtZSxcclxuICAgICAgICAgIGFiLFxyXG4gICAgICAgICAgaW1nLndpZHRoLFxyXG4gICAgICAgICAgaW1nLmhlaWdodCxcclxuICAgICAgICAgIGZvcm1hdCxcclxuICAgICAgICAgIHNjYWxlLFxyXG4gICAgICAgICAgdHJhbnNsYXRlLFxyXG4gICAgICAgICAgcm90YXRlXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgLy8gbGV0IGNvbW1hbmRTaG93RWRpdFN0eWxlID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5jb21tYW5kTWFuYWdlclxyXG4gICAgICAgIC8vICAgLmN1cnJlbnRDb21tYW5kIGFzIENvbW1hbmRTaG93RWRpdFN0eWxlO1xyXG4gICAgICAgIC8vIGNvbW1hbmRTaG93RWRpdFN0eWxlLmZpbGVOYW1lID0gZmlsZU5hbWU7XHJcbiAgICAgICAgLy8gY29tbWFuZFNob3dFZGl0U3R5bGUuaW1nQmxvYiA9IGFiO1xyXG4gICAgICAgIC8vIGNvbW1hbmRTaG93RWRpdFN0eWxlLmltZ1dpZHRoID0gaW1nLndpZHRoO1xyXG4gICAgICAgIC8vIGNvbW1hbmRTaG93RWRpdFN0eWxlLmltZ0hlaWdodCA9IGltZy5oZWlnaHQ7XHJcbiAgICAgICAgLy8gY29tbWFuZFNob3dFZGl0U3R5bGUuaW1nVHlwZSA9IGZvcm1hdDtcclxuXHJcbiAgICAgICAgLy8gY29tbWFuZFNob3dFZGl0U3R5bGUuZWR0aVR5cGUgPSBFZGl0U3R5bGVUeXBlLkltYWdlO1xyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrUGhvdG9Gb3JtYXQoaWE6IFVpbnQ4QXJyYXkpOiBzdHJpbmcge1xyXG4gICAgbGV0IGZvcm1hdCA9IFwianBnXCI7XHJcblxyXG4gICAgbGV0IGEgPSBpYVswXTtcclxuICAgIGxldCBiID0gaWFbMV07XHJcbiAgICBsZXQgYyA9IGlhWzJdO1xyXG4gICAgbGV0IGQgPSBpYVszXTtcclxuXHJcbiAgICBpZiAoYSA9PT0gMjU1ICYmIGIgPT09IDIxNiAmJiBjID09PSAyNTUpIHtcclxuICAgICAgZm9ybWF0ID0gXCJqcGdcIjtcclxuICAgIH0gZWxzZSBpZiAoYSA9PT0gMTM3ICYmIGIgPT09IDgwICYmIGMgPT09IDc4ICYmIGQgPT09IDcxKSB7XHJcbiAgICAgIGZvcm1hdCA9IFwicG5nXCI7XHJcbiAgICB9IGVsc2UgaWYgKGEgPT09IDcxICYmIGIgPT09IDczICYmIGMgPT09IDcwKSB7XHJcbiAgICAgIGZvcm1hdCA9IFwiZ2lmXCI7XHJcbiAgICB9IGVsc2UgaWYgKGEgPT09IDY2ICYmIGIgPT09IDc3KSB7XHJcbiAgICAgIGZvcm1hdCA9IFwiYm1wXCI7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZvcm1hdDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOWPlua2iOi0tOWbvlxyXG4gICAqL1xyXG4gIHB1YmxpYyB1bnNldEltYWdlKCkge1xyXG4gICAgdGhpcy5faW1hZ2UuZGVsZXRlKCk7XHJcbiAgICB0aGlzLl9zdHlsZVNlZ21lbnQuY29sb3IudW5zZXRGYWNlVGV4dHVyZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5L2/6K6+572u5q2kTWF0ZXJpYWznmoRTZWdtZW50T2JqZWN05rWu6LW3XHJcbiAgICovXHJcbiAgcHVibGljIHNldEZsb2F0KCkge1xyXG4gICAgdGhpcy5fc3R5bGVTZWdtZW50LnJlbmRlcmluZ09wdGlvbnMuc2V0RGVwdGhSYW5nZSgwLCAwLjEpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5Y+W5raI6K6+572u5q2kTWF0ZXJpYWznmoRTZWdtZW50T2JqZWN055qE5rWu6LW3XHJcbiAgICovXHJcbiAgcHVibGljIHVuc2V0RmxvYXQoKSB7XHJcbiAgICB0aGlzLl9zdHlsZVNlZ21lbnQucmVuZGVyaW5nT3B0aW9ucy51bnNldERlcHRoUmFuZ2UoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlcXVhbHMobWF0ZXJpYWw6IE1hdGVyaWFsKSB7XHJcbiAgICBpZiAodGhpcy5fc3R5bGVTZWdtZW50LmVxdWFscyhtYXRlcmlhbC5fc3R5bGVTZWdtZW50KSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./packages/bimAir/src/gsDevFx/objects/material.ts\n");
|
|
3718
3718
|
|
|
3719
3719
|
/***/ }),
|
|
3720
3720
|
|
|
@@ -3984,7 +3984,7 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPAC
|
|
|
3984
3984
|
\***********************************************************************/
|
|
3985
3985
|
/***/ (function(module, exports, __webpack_require__) {
|
|
3986
3986
|
|
|
3987
|
-
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! gs-longan/longan/gs.viewer */ \"./packages/longan/src/longan/gs.viewer.ts\"), __webpack_require__(/*! ../objects/segmentObject */ \"./packages/bimAir/src/gsDevFx/objects/segmentObject.ts\"), __webpack_require__(/*! ../objects/material */ \"./packages/bimAir/src/gsDevFx/objects/material.ts\"), __webpack_require__(/*! ../managers/styleManagerBase */ \"./packages/bimAir/src/gsDevFx/managers/styleManagerBase.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, Longan, gs_longan_1, gs_viewer_1, segmentObject_1, material_1, styleManagerBase_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n exports.ComponentPreSelector = void 0;\n Longan = tslib_1.__importStar(Longan);\n\n var ComponentPreSelector = function (_super) {\n tslib_1.__extends(ComponentPreSelector, _super);\n\n function ComponentPreSelector() {\n var _this = _super.call(this) || this;\n\n _this.typeName = \"ComponentPreSelector\";\n _this.preHighlightObject = null;\n return _this;\n }\n\n Object.defineProperty(ComponentPreSelector.prototype, \"viewer\", {\n get: function get() {\n return this._viewer;\n },\n set: function set(viewer) {\n this._viewer = viewer;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ComponentPreSelector.prototype, \"styleManagerBase\", {\n get: function get() {\n if (!this._styleManagerBase) {\n var material = new material_1.Material(this.viewer, \"502111661\", 2);\n material.setColor(50, 211, 166, 1);\n this._styleManagerBase = new styleManagerBase_1.StyleManagerBase(material);\n }\n\n return this._styleManagerBase;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ComponentPreSelector.prototype, \"preHighlightMaterial\", {\n get: function get() {\n return this.styleManagerBase.material;\n },\n enumerable: false,\n configurable: true\n });\n\n ComponentPreSelector.prototype.onMouseMove = function (e) {\n var _this = this;\n\n var pos = e.mouseWindowPos();\n var selectionKeys = this.viewer.selectByPoint(pos);\n\n if (selectionKeys.count() > 0) {\n var selectionKey = selectionKeys.items[0];\n var segmentObject = this.viewer.componentManager.getComponent(selectionKey.key, selectionKey.path);\n\n if (segmentObject == null) {\n var ownKey = (0, gs_viewer_1.JS_Show_Owner_By_Key)(selectionKey.key);\n segmentObject = new segmentObject_1.SegmentObject(this.viewer, new Longan.Segment(ownKey));\n }\n\n if (this.preHighlightObject) {\n if (!this.preHighlightObject.equals(segmentObject)) {\n this.clearPreHighlight();\n this.setPreHighlight(segmentObject);\n }\n } else {\n this.setPreHighlight(segmentObject);\n }\n } else {\n if (this.preHighlightObject) {\n this.clearPreHighlight();\n }\n }\n\n this.mouseMove.forEach(function (value) {\n value(_this, e);\n });\n };\n\n ComponentPreSelector.prototype.clearPreSelect = function () {\n var selectionManager = this.viewer.selectionManager;\n\n if (this.preHighlightObject) {\n if (selectionManager.isSelected(this.preHighlightObject)) {\n this.clearPreHighlight();\n } else {\n this.clearPreHighlight();\n }\n }\n };\n\n ComponentPreSelector.prototype.clearPreHighlight = function () {\n if (this.preHighlightObject && this.preHighlightMaterial) {\n this.styleManagerBase.unsetObjectsStyle([this.preHighlightObject]);\n }\n\n this.preHighlightObject = null;\n this.viewer.updateDisplay();\n };\n\n ComponentPreSelector.prototype.setPreHighlight = function (segmentObject) {\n this.styleManagerBase.setObjectsStyle([segmentObject]);\n this.preHighlightObject = segmentObject;\n this.viewer.updateDisplay();\n };\n\n ComponentPreSelector.prototype.fina = function () {\n if (this.preHighlightObject) {\n this.clearPreHighlight();\n }\n };\n\n return ComponentPreSelector;\n }(gs_longan_1.ViewerOperator);\n\n exports.ComponentPreSelector = ComponentPreSelector;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2Rngvb3BlcmF0b3JzL2NvbXBvbmVudFByZVNlbGVjdG9yLnRzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFZQTtBQUFBOztBQWNBO0FBQUE7O0FBYkE7QUFXQTs7QUFJQTs7QUFiQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQU5BOztBQUFBO0FBZUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQVJBOztBQUFBO0FBVUE7QUFBQTtBQUNBO0FBQ0E7QUFGQTs7QUFBQTs7QUFJQTtBQUFBOztBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQUE7O0FBL0ZBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYmltbGlnaHQtcGxhdGZvcm0vLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2Rngvb3BlcmF0b3JzL2NvbXBvbmVudFByZVNlbGVjdG9yLnRzP2E1NjAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgTG9uZ2FuIGZyb20gXCJncy1sb25nYW5cIjtcclxuXHJcbmltcG9ydCB7IENhbWVyYU1vdXNlLCBMaXN0LCBTZWxlY3Rpb25LZXksIFZpZXdlck9wZXJhdG9yIH0gZnJvbSBcImdzLWxvbmdhblwiO1xyXG5pbXBvcnQgeyBKU19TaG93X093bmVyX0J5X0tleSwgVmlld2VyRXZlbnQgfSBmcm9tIFwiZ3MtbG9uZ2FuL2xvbmdhbi9ncy52aWV3ZXJcIjtcclxuaW1wb3J0IHsgTEJ1dHRvblN0YXRlIH0gZnJvbSBcImdzLWxvbmdhbi9vcGVyYXRvcnMvY2FtZXJhTW91c2VcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50TWFuYWdlciB9IGZyb20gXCIuLi9tYW5hZ2Vycy9jb21wb25lbnRNYW5hZ2VyXCI7XHJcbmltcG9ydCB7IFNlbGVjdGlvbk1hbmFnZXIgfSBmcm9tIFwiLi4vbWFuYWdlcnMvc2VsZWN0aW9uTWFuYWdlclwiO1xyXG5pbXBvcnQgeyBTZWdtZW50T2JqZWN0IH0gZnJvbSBcIi4uL29iamVjdHMvc2VnbWVudE9iamVjdFwiO1xyXG5pbXBvcnQgeyBWaWV3ZXIgfSBmcm9tIFwiLi4vdmlld2VyXCI7XHJcbmltcG9ydCB7IE1hdGVyaWFsIH0gZnJvbSBcIi4uL29iamVjdHMvbWF0ZXJpYWxcIjtcclxuaW1wb3J0IHsgU3R5bGVNYW5hZ2VyQmFzZSB9IGZyb20gXCIuLi9tYW5hZ2Vycy9zdHlsZU1hbmFnZXJCYXNlXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50UHJlU2VsZWN0b3IgZXh0ZW5kcyBWaWV3ZXJPcGVyYXRvciB7XHJcblx0dHlwZU5hbWU6IHN0cmluZyA9IFwiQ29tcG9uZW50UHJlU2VsZWN0b3JcIjtcclxuXHJcblx0cHVibGljIGdldCB2aWV3ZXIoKTogVmlld2VyIHtcclxuXHRcdHJldHVybiB0aGlzLl92aWV3ZXIgYXMgVmlld2VyO1xyXG5cdH1cclxuXHJcblx0cHVibGljIHNldCB2aWV3ZXIodmlld2VyOiBWaWV3ZXIpIHtcclxuXHRcdHRoaXMuX3ZpZXdlciA9IHZpZXdlcjtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3N0eWxlTWFuYWdlckJhc2U6IFN0eWxlTWFuYWdlckJhc2U7XHJcblx0cHVibGljIHByZUhpZ2hsaWdodE9iamVjdDogU2VnbWVudE9iamVjdCA9IG51bGw7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkge1xyXG5cdFx0c3VwZXIoKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBnZXQgc3R5bGVNYW5hZ2VyQmFzZSgpIHtcclxuXHRcdGlmICghdGhpcy5fc3R5bGVNYW5hZ2VyQmFzZSkge1xyXG5cdFx0XHRsZXQgbWF0ZXJpYWwgPSBuZXcgTWF0ZXJpYWwodGhpcy52aWV3ZXIsIFwiNTAyMTExNjYxXCIsIDIpO1xyXG5cdFx0XHRtYXRlcmlhbC5zZXRDb2xvcig1MCwgMjExLCAxNjYsIDEpO1xyXG5cdFx0XHR0aGlzLl9zdHlsZU1hbmFnZXJCYXNlID0gbmV3IFN0eWxlTWFuYWdlckJhc2UobWF0ZXJpYWwpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiB0aGlzLl9zdHlsZU1hbmFnZXJCYXNlO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGdldCBwcmVIaWdobGlnaHRNYXRlcmlhbCgpIHtcclxuXHRcdHJldHVybiB0aGlzLnN0eWxlTWFuYWdlckJhc2UubWF0ZXJpYWw7XHJcblx0fVxyXG5cclxuXHRvbk1vdXNlTW92ZShlOiBWaWV3ZXJFdmVudCkge1xyXG5cdFx0bGV0IHBvcyA9IGUubW91c2VXaW5kb3dQb3MoKTtcclxuXHRcdGxldCBzZWxlY3Rpb25LZXlzID0gdGhpcy52aWV3ZXIuc2VsZWN0QnlQb2ludChwb3MpO1xyXG5cclxuXHRcdC8vIOiLpeWvueWHhuS6hueJqeS9k1xyXG5cdFx0aWYgKHNlbGVjdGlvbktleXMuY291bnQoKSA+IDApIHtcclxuXHRcdFx0bGV0IHNlbGVjdGlvbktleSA9IHNlbGVjdGlvbktleXMuaXRlbXNbMF07XHJcblxyXG5cdFx0XHRsZXQgc2VnbWVudE9iamVjdCA9IHRoaXMudmlld2VyLmNvbXBvbmVudE1hbmFnZXIuZ2V0Q29tcG9uZW50KHNlbGVjdGlvbktleS5rZXksIHNlbGVjdGlvbktleS5wYXRoKTtcclxuXHRcdFx0aWYgKHNlZ21lbnRPYmplY3QgPT0gbnVsbCkge1xyXG5cdFx0XHRcdGxldCBvd25LZXkgPSBKU19TaG93X093bmVyX0J5X0tleShzZWxlY3Rpb25LZXkua2V5KTtcclxuXHRcdFx0XHRzZWdtZW50T2JqZWN0ID0gbmV3IFNlZ21lbnRPYmplY3QodGhpcy52aWV3ZXIsIG5ldyBMb25nYW4uU2VnbWVudChvd25LZXkpKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aWYgKHRoaXMucHJlSGlnaGxpZ2h0T2JqZWN0KSB7XHJcblx0XHRcdFx0aWYgKCF0aGlzLnByZUhpZ2hsaWdodE9iamVjdC5lcXVhbHMoc2VnbWVudE9iamVjdCkpIHtcclxuXHRcdFx0XHRcdHRoaXMuY2xlYXJQcmVIaWdobGlnaHQoKTtcclxuXHRcdFx0XHRcdHRoaXMuc2V0UHJlSGlnaGxpZ2h0KHNlZ21lbnRPYmplY3QpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHR0aGlzLnNldFByZUhpZ2hsaWdodChzZWdtZW50T2JqZWN0KTtcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0aWYgKHRoaXMucHJlSGlnaGxpZ2h0T2JqZWN0KSB7XHJcblx0XHRcdFx0dGhpcy5jbGVhclByZUhpZ2hsaWdodCgpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5tb3VzZU1vdmUuZm9yRWFjaCgodmFsdWU6IChzZW5kZXI6IFZpZXdlck9wZXJhdG9yLCBldmVudDogVmlld2VyRXZlbnQpID0+IHZvaWQpID0+IHtcclxuXHRcdFx0dmFsdWUodGhpcywgZSk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBjbGVhclByZVNlbGVjdCgpIHtcclxuXHRcdGxldCBzZWxlY3Rpb25NYW5hZ2VyID0gdGhpcy52aWV3ZXIuc2VsZWN0aW9uTWFuYWdlciBhcyBTZWxlY3Rpb25NYW5hZ2VyO1xyXG5cdFx0aWYgKHRoaXMucHJlSGlnaGxpZ2h0T2JqZWN0KSB7XHJcblx0XHRcdGlmIChzZWxlY3Rpb25NYW5hZ2VyLmlzU2VsZWN0ZWQodGhpcy5wcmVIaWdobGlnaHRPYmplY3QpKSB7XHJcblx0XHRcdFx0dGhpcy5jbGVhclByZUhpZ2hsaWdodCgpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHRoaXMuY2xlYXJQcmVIaWdobGlnaHQoKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBjbGVhclByZUhpZ2hsaWdodCgpIHtcclxuXHRcdGlmICh0aGlzLnByZUhpZ2hsaWdodE9iamVjdCAmJiB0aGlzLnByZUhpZ2hsaWdodE1hdGVyaWFsKSB7XHJcblx0XHRcdHRoaXMuc3R5bGVNYW5hZ2VyQmFzZS51bnNldE9iamVjdHNTdHlsZShbdGhpcy5wcmVIaWdobGlnaHRPYmplY3RdKTtcclxuXHRcdH1cclxuXHRcdHRoaXMucHJlSGlnaGxpZ2h0T2JqZWN0ID0gbnVsbDtcclxuXHRcdHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgc2V0UHJlSGlnaGxpZ2h0KHNlZ21lbnRPYmplY3Q6IFNlZ21lbnRPYmplY3QpIHtcclxuXHRcdHRoaXMuc3R5bGVNYW5hZ2VyQmFzZS5zZXRPYmplY3RzU3R5bGUoW3NlZ21lbnRPYmplY3RdKTtcclxuXHRcdHRoaXMucHJlSGlnaGxpZ2h0T2JqZWN0ID0gc2VnbWVudE9iamVjdDtcclxuXHRcdHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcclxuXHR9XHJcblxyXG5cdGZpbmEoKSB7XHJcblx0XHRpZiAodGhpcy5wcmVIaWdobGlnaHRPYmplY3QpIHtcclxuXHRcdFx0dGhpcy5jbGVhclByZUhpZ2hsaWdodCgpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./packages/bimAir/src/gsDevFx/operators/componentPreSelector.ts\n");
|
|
3987
|
+
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! gs-longan/longan/gs.viewer */ \"./packages/longan/src/longan/gs.viewer.ts\"), __webpack_require__(/*! ../objects/segmentObject */ \"./packages/bimAir/src/gsDevFx/objects/segmentObject.ts\"), __webpack_require__(/*! ../objects/material */ \"./packages/bimAir/src/gsDevFx/objects/material.ts\"), __webpack_require__(/*! ../managers/styleManagerBase */ \"./packages/bimAir/src/gsDevFx/managers/styleManagerBase.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, Longan, gs_longan_1, gs_viewer_1, segmentObject_1, material_1, styleManagerBase_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n exports.ComponentPreSelector = void 0;\n Longan = tslib_1.__importStar(Longan);\n\n var ComponentPreSelector = function (_super) {\n tslib_1.__extends(ComponentPreSelector, _super);\n\n function ComponentPreSelector() {\n var _this = _super.call(this) || this;\n\n _this.typeName = \"ComponentPreSelector\";\n _this.preHighlightObject = null;\n return _this;\n }\n\n Object.defineProperty(ComponentPreSelector.prototype, \"viewer\", {\n get: function get() {\n return this._viewer;\n },\n set: function set(viewer) {\n this._viewer = viewer;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ComponentPreSelector.prototype, \"styleManagerBase\", {\n get: function get() {\n if (!this._styleManagerBase) {\n var material = new material_1.Material(this.viewer, \"502111661\", 3);\n material.setColor(50, 211, 166, 1);\n this._styleManagerBase = new styleManagerBase_1.StyleManagerBase(material);\n }\n\n return this._styleManagerBase;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ComponentPreSelector.prototype, \"preHighlightMaterial\", {\n get: function get() {\n return this.styleManagerBase.material;\n },\n enumerable: false,\n configurable: true\n });\n\n ComponentPreSelector.prototype.onMouseMove = function (e) {\n var _this = this;\n\n var pos = e.mouseWindowPos();\n var selectionKeys = this.viewer.selectByPoint(pos);\n\n if (selectionKeys.count() > 0) {\n var selectionKey = selectionKeys.items[0];\n var segmentObject = this.viewer.componentManager.getComponent(selectionKey.key, selectionKey.path);\n\n if (segmentObject == null) {\n var ownKey = (0, gs_viewer_1.JS_Show_Owner_By_Key)(selectionKey.key);\n segmentObject = new segmentObject_1.SegmentObject(this.viewer, new Longan.Segment(ownKey));\n }\n\n if (this.preHighlightObject) {\n if (!this.preHighlightObject.equals(segmentObject)) {\n this.clearPreHighlight();\n this.setPreHighlight(segmentObject);\n }\n } else {\n this.setPreHighlight(segmentObject);\n }\n } else {\n if (this.preHighlightObject) {\n this.clearPreHighlight();\n }\n }\n\n this.mouseMove.forEach(function (value) {\n value(_this, e);\n });\n };\n\n ComponentPreSelector.prototype.clearPreSelect = function () {\n var selectionManager = this.viewer.selectionManager;\n\n if (this.preHighlightObject) {\n if (selectionManager.isSelected(this.preHighlightObject)) {\n this.clearPreHighlight();\n } else {\n this.clearPreHighlight();\n }\n }\n };\n\n ComponentPreSelector.prototype.clearPreHighlight = function () {\n if (this.preHighlightObject && this.preHighlightMaterial) {\n this.styleManagerBase.unsetObjectsStyle([this.preHighlightObject]);\n }\n\n this.preHighlightObject = null;\n this.viewer.updateDisplay();\n };\n\n ComponentPreSelector.prototype.setPreHighlight = function (segmentObject) {\n this.styleManagerBase.setObjectsStyle([segmentObject]);\n this.preHighlightObject = segmentObject;\n this.viewer.updateDisplay();\n };\n\n ComponentPreSelector.prototype.fina = function () {\n if (this.preHighlightObject) {\n this.clearPreHighlight();\n }\n };\n\n return ComponentPreSelector;\n }(gs_longan_1.ViewerOperator);\n\n exports.ComponentPreSelector = ComponentPreSelector;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2Rngvb3BlcmF0b3JzL2NvbXBvbmVudFByZVNlbGVjdG9yLnRzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFZQTtBQUFBOztBQWNBO0FBQUE7O0FBYkE7QUFXQTs7QUFJQTs7QUFiQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQU5BOztBQUFBO0FBZUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQVJBOztBQUFBO0FBVUE7QUFBQTtBQUNBO0FBQ0E7QUFGQTs7QUFBQTs7QUFJQTtBQUFBOztBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQUE7O0FBL0ZBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYmltbGlnaHQtcGxhdGZvcm0vLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2Rngvb3BlcmF0b3JzL2NvbXBvbmVudFByZVNlbGVjdG9yLnRzP2E1NjAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgTG9uZ2FuIGZyb20gXCJncy1sb25nYW5cIjtcclxuXHJcbmltcG9ydCB7IENhbWVyYU1vdXNlLCBMaXN0LCBTZWxlY3Rpb25LZXksIFZpZXdlck9wZXJhdG9yIH0gZnJvbSBcImdzLWxvbmdhblwiO1xyXG5pbXBvcnQgeyBKU19TaG93X093bmVyX0J5X0tleSwgVmlld2VyRXZlbnQgfSBmcm9tIFwiZ3MtbG9uZ2FuL2xvbmdhbi9ncy52aWV3ZXJcIjtcclxuaW1wb3J0IHsgTEJ1dHRvblN0YXRlIH0gZnJvbSBcImdzLWxvbmdhbi9vcGVyYXRvcnMvY2FtZXJhTW91c2VcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50TWFuYWdlciB9IGZyb20gXCIuLi9tYW5hZ2Vycy9jb21wb25lbnRNYW5hZ2VyXCI7XHJcbmltcG9ydCB7IFNlbGVjdGlvbk1hbmFnZXIgfSBmcm9tIFwiLi4vbWFuYWdlcnMvc2VsZWN0aW9uTWFuYWdlclwiO1xyXG5pbXBvcnQgeyBTZWdtZW50T2JqZWN0IH0gZnJvbSBcIi4uL29iamVjdHMvc2VnbWVudE9iamVjdFwiO1xyXG5pbXBvcnQgeyBWaWV3ZXIgfSBmcm9tIFwiLi4vdmlld2VyXCI7XHJcbmltcG9ydCB7IE1hdGVyaWFsIH0gZnJvbSBcIi4uL29iamVjdHMvbWF0ZXJpYWxcIjtcclxuaW1wb3J0IHsgU3R5bGVNYW5hZ2VyQmFzZSB9IGZyb20gXCIuLi9tYW5hZ2Vycy9zdHlsZU1hbmFnZXJCYXNlXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50UHJlU2VsZWN0b3IgZXh0ZW5kcyBWaWV3ZXJPcGVyYXRvciB7XHJcblx0dHlwZU5hbWU6IHN0cmluZyA9IFwiQ29tcG9uZW50UHJlU2VsZWN0b3JcIjtcclxuXHJcblx0cHVibGljIGdldCB2aWV3ZXIoKTogVmlld2VyIHtcclxuXHRcdHJldHVybiB0aGlzLl92aWV3ZXIgYXMgVmlld2VyO1xyXG5cdH1cclxuXHJcblx0cHVibGljIHNldCB2aWV3ZXIodmlld2VyOiBWaWV3ZXIpIHtcclxuXHRcdHRoaXMuX3ZpZXdlciA9IHZpZXdlcjtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3N0eWxlTWFuYWdlckJhc2U6IFN0eWxlTWFuYWdlckJhc2U7XHJcblx0cHVibGljIHByZUhpZ2hsaWdodE9iamVjdDogU2VnbWVudE9iamVjdCA9IG51bGw7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkge1xyXG5cdFx0c3VwZXIoKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBnZXQgc3R5bGVNYW5hZ2VyQmFzZSgpIHtcclxuXHRcdGlmICghdGhpcy5fc3R5bGVNYW5hZ2VyQmFzZSkge1xyXG5cdFx0XHRsZXQgbWF0ZXJpYWwgPSBuZXcgTWF0ZXJpYWwodGhpcy52aWV3ZXIsIFwiNTAyMTExNjYxXCIsIDMpO1xyXG5cdFx0XHRtYXRlcmlhbC5zZXRDb2xvcig1MCwgMjExLCAxNjYsIDEpO1xyXG5cdFx0XHR0aGlzLl9zdHlsZU1hbmFnZXJCYXNlID0gbmV3IFN0eWxlTWFuYWdlckJhc2UobWF0ZXJpYWwpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiB0aGlzLl9zdHlsZU1hbmFnZXJCYXNlO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGdldCBwcmVIaWdobGlnaHRNYXRlcmlhbCgpIHtcclxuXHRcdHJldHVybiB0aGlzLnN0eWxlTWFuYWdlckJhc2UubWF0ZXJpYWw7XHJcblx0fVxyXG5cclxuXHRvbk1vdXNlTW92ZShlOiBWaWV3ZXJFdmVudCkge1xyXG5cdFx0bGV0IHBvcyA9IGUubW91c2VXaW5kb3dQb3MoKTtcclxuXHRcdGxldCBzZWxlY3Rpb25LZXlzID0gdGhpcy52aWV3ZXIuc2VsZWN0QnlQb2ludChwb3MpO1xyXG5cclxuXHRcdC8vIOiLpeWvueWHhuS6hueJqeS9k1xyXG5cdFx0aWYgKHNlbGVjdGlvbktleXMuY291bnQoKSA+IDApIHtcclxuXHRcdFx0bGV0IHNlbGVjdGlvbktleSA9IHNlbGVjdGlvbktleXMuaXRlbXNbMF07XHJcblxyXG5cdFx0XHRsZXQgc2VnbWVudE9iamVjdCA9IHRoaXMudmlld2VyLmNvbXBvbmVudE1hbmFnZXIuZ2V0Q29tcG9uZW50KHNlbGVjdGlvbktleS5rZXksIHNlbGVjdGlvbktleS5wYXRoKTtcclxuXHRcdFx0aWYgKHNlZ21lbnRPYmplY3QgPT0gbnVsbCkge1xyXG5cdFx0XHRcdGxldCBvd25LZXkgPSBKU19TaG93X093bmVyX0J5X0tleShzZWxlY3Rpb25LZXkua2V5KTtcclxuXHRcdFx0XHRzZWdtZW50T2JqZWN0ID0gbmV3IFNlZ21lbnRPYmplY3QodGhpcy52aWV3ZXIsIG5ldyBMb25nYW4uU2VnbWVudChvd25LZXkpKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aWYgKHRoaXMucHJlSGlnaGxpZ2h0T2JqZWN0KSB7XHJcblx0XHRcdFx0aWYgKCF0aGlzLnByZUhpZ2hsaWdodE9iamVjdC5lcXVhbHMoc2VnbWVudE9iamVjdCkpIHtcclxuXHRcdFx0XHRcdHRoaXMuY2xlYXJQcmVIaWdobGlnaHQoKTtcclxuXHRcdFx0XHRcdHRoaXMuc2V0UHJlSGlnaGxpZ2h0KHNlZ21lbnRPYmplY3QpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHR0aGlzLnNldFByZUhpZ2hsaWdodChzZWdtZW50T2JqZWN0KTtcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0aWYgKHRoaXMucHJlSGlnaGxpZ2h0T2JqZWN0KSB7XHJcblx0XHRcdFx0dGhpcy5jbGVhclByZUhpZ2hsaWdodCgpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5tb3VzZU1vdmUuZm9yRWFjaCgodmFsdWU6IChzZW5kZXI6IFZpZXdlck9wZXJhdG9yLCBldmVudDogVmlld2VyRXZlbnQpID0+IHZvaWQpID0+IHtcclxuXHRcdFx0dmFsdWUodGhpcywgZSk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBjbGVhclByZVNlbGVjdCgpIHtcclxuXHRcdGxldCBzZWxlY3Rpb25NYW5hZ2VyID0gdGhpcy52aWV3ZXIuc2VsZWN0aW9uTWFuYWdlciBhcyBTZWxlY3Rpb25NYW5hZ2VyO1xyXG5cdFx0aWYgKHRoaXMucHJlSGlnaGxpZ2h0T2JqZWN0KSB7XHJcblx0XHRcdGlmIChzZWxlY3Rpb25NYW5hZ2VyLmlzU2VsZWN0ZWQodGhpcy5wcmVIaWdobGlnaHRPYmplY3QpKSB7XHJcblx0XHRcdFx0dGhpcy5jbGVhclByZUhpZ2hsaWdodCgpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHRoaXMuY2xlYXJQcmVIaWdobGlnaHQoKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBjbGVhclByZUhpZ2hsaWdodCgpIHtcclxuXHRcdGlmICh0aGlzLnByZUhpZ2hsaWdodE9iamVjdCAmJiB0aGlzLnByZUhpZ2hsaWdodE1hdGVyaWFsKSB7XHJcblx0XHRcdHRoaXMuc3R5bGVNYW5hZ2VyQmFzZS51bnNldE9iamVjdHNTdHlsZShbdGhpcy5wcmVIaWdobGlnaHRPYmplY3RdKTtcclxuXHRcdH1cclxuXHRcdHRoaXMucHJlSGlnaGxpZ2h0T2JqZWN0ID0gbnVsbDtcclxuXHRcdHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgc2V0UHJlSGlnaGxpZ2h0KHNlZ21lbnRPYmplY3Q6IFNlZ21lbnRPYmplY3QpIHtcclxuXHRcdHRoaXMuc3R5bGVNYW5hZ2VyQmFzZS5zZXRPYmplY3RzU3R5bGUoW3NlZ21lbnRPYmplY3RdKTtcclxuXHRcdHRoaXMucHJlSGlnaGxpZ2h0T2JqZWN0ID0gc2VnbWVudE9iamVjdDtcclxuXHRcdHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcclxuXHR9XHJcblxyXG5cdGZpbmEoKSB7XHJcblx0XHRpZiAodGhpcy5wcmVIaWdobGlnaHRPYmplY3QpIHtcclxuXHRcdFx0dGhpcy5jbGVhclByZUhpZ2hsaWdodCgpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./packages/bimAir/src/gsDevFx/operators/componentPreSelector.ts\n");
|
|
3988
3988
|
|
|
3989
3989
|
/***/ }),
|
|
3990
3990
|
|
|
@@ -3994,7 +3994,7 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_
|
|
|
3994
3994
|
\********************************************************************/
|
|
3995
3995
|
/***/ (function(module, exports, __webpack_require__) {
|
|
3996
3996
|
|
|
3997
|
-
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.array-buffer.slice.js */ \"./node_modules/core-js/modules/es.array-buffer.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.int32-array.js */ \"./node_modules/core-js/modules/es.typed-array.int32-array.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.at.js */ \"./node_modules/core-js/modules/es.typed-array.at.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.copy-within.js */ \"./node_modules/core-js/modules/es.typed-array.copy-within.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.every.js */ \"./node_modules/core-js/modules/es.typed-array.every.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.fill.js */ \"./node_modules/core-js/modules/es.typed-array.fill.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.filter.js */ \"./node_modules/core-js/modules/es.typed-array.filter.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find.js */ \"./node_modules/core-js/modules/es.typed-array.find.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-last.js */ \"./node_modules/core-js/modules/es.typed-array.find-last.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-last-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-last-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.for-each.js */ \"./node_modules/core-js/modules/es.typed-array.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.includes.js */ \"./node_modules/core-js/modules/es.typed-array.includes.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.index-of.js */ \"./node_modules/core-js/modules/es.typed-array.index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.iterator.js */ \"./node_modules/core-js/modules/es.typed-array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.join.js */ \"./node_modules/core-js/modules/es.typed-array.join.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.last-index-of.js */ \"./node_modules/core-js/modules/es.typed-array.last-index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.map.js */ \"./node_modules/core-js/modules/es.typed-array.map.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce.js */ \"./node_modules/core-js/modules/es.typed-array.reduce.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce-right.js */ \"./node_modules/core-js/modules/es.typed-array.reduce-right.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reverse.js */ \"./node_modules/core-js/modules/es.typed-array.reverse.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.set.js */ \"./node_modules/core-js/modules/es.typed-array.set.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.slice.js */ \"./node_modules/core-js/modules/es.typed-array.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.some.js */ \"./node_modules/core-js/modules/es.typed-array.some.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.sort.js */ \"./node_modules/core-js/modules/es.typed-array.sort.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.subarray.js */ \"./node_modules/core-js/modules/es.typed-array.subarray.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-locale-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-locale-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.find.js */ \"./node_modules/core-js/modules/es.array.find.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.float32-array.js */ \"./node_modules/core-js/modules/es.typed-array.float32-array.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! gs-longan/longan/gs.viewer */ \"./packages/longan/src/longan/gs.viewer.ts\"), __webpack_require__(/*! gs-longan/operators/cameraMouse */ \"./packages/longan/src/operators/cameraMouse.ts\"), __webpack_require__(/*! ../objects/segmentObject */ \"./packages/bimAir/src/gsDevFx/objects/segmentObject.ts\"), __webpack_require__(/*! ../objects/geometryObject */ \"./packages/bimAir/src/gsDevFx/objects/geometryObject.ts\"), __webpack_require__(/*! gs-longan/operators/viewerOperator */ \"./packages/longan/src/operators/viewerOperator.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, Longan, gs_longan_1, gs_viewer_1, cameraMouse_1, segmentObject_1, geometryObject_1, viewerOperator_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n exports.ComponentSelector = void 0;\n Longan = tslib_1.__importStar(Longan);\n\n var ComponentSelector = function (_super) {\n tslib_1.__extends(ComponentSelector, _super);\n\n function ComponentSelector() {\n var _this = _super.call(this) || this;\n\n _this.typeName = \"ComponentSelector\";\n _this.isSelectNotComponent = true;\n return _this;\n }\n\n Object.defineProperty(ComponentSelector.prototype, \"viewer\", {\n get: function get() {\n return this._viewer;\n },\n set: function set(viewer) {\n this._viewer = viewer;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ComponentSelector.prototype, \"geometryObject\", {\n get: function get() {\n if (this._selectionKey) {\n var geometryObject = new geometryObject_1.GeometryObject();\n geometryObject._geometry = Longan.Geometry.fromKey(this._selectionKey.key);\n geometryObject._path = new Int32Array(this._selectionKey.pathKeys);\n return geometryObject;\n } else {\n return null;\n }\n },\n enumerable: false,\n configurable: true\n });\n\n ComponentSelector.prototype.onLButtonDown = function (e) {\n var _this = this;\n\n var pos = e.mouseWindowPos();\n this.downPos = pos;\n var selectionManager = this.viewer.selectionManager;\n selectionManager.selectedPos = e.mouseWorldPos();\n var cameraMouse = null;\n this.viewer.operatorManager.operatorList.items.forEach(function (operator) {\n if (operator instanceof Longan.CameraMouse) {\n cameraMouse = operator;\n }\n });\n\n if (cameraMouse) {\n if (cameraMouse.lButtonSate === cameraMouse_1.LButtonState.select) {\n if (!this._isAreaSelect) {\n this.selectByPoint(pos);\n }\n }\n }\n\n this.lButtonDown.forEach(function (value) {\n value(_this, e);\n });\n ComponentSelector.lButtonDown.forEach(function (value) {\n value(_this, e);\n });\n };\n\n ComponentSelector.prototype.onLButtonUp = function (e) {\n var _this = this;\n\n var currentPos = e.mouseWindowPos();\n var cameraMouse = null;\n this.viewer.operatorManager.operatorList.items.forEach(function (operator) {\n if (operator instanceof Longan.CameraMouse) {\n cameraMouse = operator;\n }\n });\n\n if (cameraMouse) {\n if (cameraMouse.lButtonSate === cameraMouse_1.LButtonState.select) {\n if (this._isAreaSelect) {\n if (_super.prototype.isEqual.call(this, this.downPos, currentPos)) {\n this.selectByPoint(currentPos);\n } else {\n this.selectByArea(this.downPos, currentPos);\n }\n }\n\n this.viewer.updateDisplay();\n }\n }\n\n this.lButtonUp.forEach(function (value) {\n value(_this, e);\n });\n ComponentSelector.lButtonUp.forEach(function (value) {\n value(_this, e);\n });\n };\n\n ComponentSelector.prototype.onTouchStart = function (e) {\n var _this = this;\n\n var cameraTouch = this.viewer.operatorManager.find(\"CameraTouch\");\n\n if (cameraTouch) {\n if (cameraTouch.state === viewerOperator_1.CameraOperateState.Pan) {\n var pos = cameraTouch.touchWindowPos;\n this.downPos = new Float32Array(pos);\n this.selectByPoint(pos);\n this.viewer.updateDisplay();\n }\n }\n\n this.touchStart.forEach(function (value) {\n value(_this, e);\n });\n };\n\n ComponentSelector.prototype.selectByArea = function (downPos, upPos) {\n var _this = this;\n\n var selectionManager = this.viewer.selectionManager;\n var left = downPos[0];\n var right = upPos[0];\n\n if (right < left) {\n left = upPos[0];\n right = downPos[0];\n }\n\n var bottom = downPos[1];\n var top = upPos[1];\n\n if (top < bottom) {\n bottom = upPos[1];\n top = downPos[1];\n }\n\n var selectionKeys;\n\n if (downPos[0] < upPos[0]) {\n selectionKeys = this.viewer.selectByArea([left, bottom, right, top], gs_viewer_1.AreaSelectionType.Contain);\n } else {\n selectionKeys = this.viewer.selectByArea([left, bottom, right, top], gs_viewer_1.AreaSelectionType.TouchAndContain);\n }\n\n if (!this._isMultiSelect) {\n selectionManager.clearAllSelectionAndHighlight();\n }\n\n var segmentObjects = [];\n\n for (var i = 0; i < selectionKeys.count(); i++) {\n var segmentObject = this.viewer.componentManager.getComponent(selectionKeys.items[i].key, selectionKeys.items[i].path);\n\n if (segmentObject == null) {\n if (this.isSelectNotComponent) {\n var key = (0, gs_viewer_1.JS_Show_Owner_By_Key)(selectionKeys.items[i].key);\n segmentObject = new segmentObject_1.SegmentObject(this.viewer, new Longan.Segment(key));\n } else {\n continue;\n }\n }\n\n segmentObjects.push(segmentObject);\n }\n\n selectionManager.selectAndHighlight(segmentObjects);\n this.objectSelected.forEach(function (value) {\n value(_this);\n });\n };\n\n ComponentSelector.prototype.selectByPoint = function (pos) {\n var _this = this;\n\n var selectionManager = this.viewer.selectionManager;\n var selectionKeys = this.viewer.selectByPoint(pos);\n\n if (selectionKeys.count() > 0) {\n var selectionKey = selectionKeys.items[0];\n this._selectionKey = selectionKey;\n var geo = new Longan.Geometry(selectionKey.key);\n var ownerSegment = geo.owner;\n\n if (ownerSegment.name.indexOf(\"Compass\") > -1) {\n this.selectCompass(ownerSegment);\n } else {\n var segmentObject = this.viewer.componentManager.getComponent(selectionKey.key, selectionKey.path);\n\n if (segmentObject == null) {\n if (this.isSelectNotComponent) {\n var key = (0, gs_viewer_1.JS_Show_Owner_By_Key)(selectionKey.key);\n segmentObject = new segmentObject_1.SegmentObject(this.viewer, new Longan.Segment(key));\n } else {\n return;\n }\n }\n\n if (this._isMultiSelect) {\n if (selectionManager.isSelected(segmentObject)) {\n selectionManager.clearSelectionAndHighlight([segmentObject]);\n this.objectUnSelected.forEach(function (value) {\n value(_this);\n });\n } else {\n selectionManager.selectAndHighlight([segmentObject]);\n this.objectSelected.forEach(function (value) {\n value(_this);\n });\n }\n } else {\n this.objectSelected.forEach(function (value) {\n value(_this);\n });\n selectionManager.clearAllSelectionAndHighlight();\n selectionManager.selectAndHighlight([segmentObject]);\n }\n }\n } else {\n this._selectionKey = null;\n\n if (!this._isMultiSelect && selectionManager.selectedDatas.count() > 0) {\n selectionManager.clearAllSelectionAndHighlight();\n this.objectUnSelected.forEach(function (value) {\n value(_this);\n });\n }\n }\n };\n\n ComponentSelector.prototype.selectCompass = function (segment) {\n switch (segment.name) {\n case \"CompassUp\":\n this.viewer.setViewMode(Longan.ViewMode.XY);\n break;\n\n case \"CompassDown\":\n this.viewer.setViewMode(Longan.ViewMode.YX);\n break;\n\n case \"CompassRight\":\n this.viewer.setViewMode(Longan.ViewMode.ZX);\n break;\n\n case \"CompassBack\":\n this.viewer.setViewMode(Longan.ViewMode.ZY);\n break;\n\n case \"CompassLeft\":\n this.viewer.setViewMode(Longan.ViewMode.XZ);\n break;\n\n case \"CompassFront\":\n this.viewer.setViewMode(Longan.ViewMode.YZ);\n break;\n }\n };\n\n ComponentSelector.lButtonDown = new gs_longan_1.List();\n ComponentSelector.lButtonUp = new gs_longan_1.List();\n return ComponentSelector;\n }(Longan.ObjectSelector);\n\n exports.ComponentSelector = ComponentSelector;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2Rngvb3BlcmF0b3JzL2NvbXBvbmVudFNlbGVjdG9yLnRzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkE7QUFBQTs7QUErQkE7QUFBQTs7QUF4QkE7QUFDQTs7QUF5QkE7O0FBdkJBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBTkE7O0FBQUE7QUFRQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWEE7O0FBQUE7O0FBaUJBO0FBQUE7O0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFFQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBRUE7O0FBRUE7QUFBQTs7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBRUE7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUVBOztBQUVBO0FBQUE7O0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUVBO0FBQ0E7QUFFQTs7QUFFQTtBQUFBOztBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBSUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7O0FBRUE7QUFBQTs7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBOENBO0FBRUE7O0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7QUFsQkE7QUFvQkE7O0FBN1VBO0FBR0E7QUEyVUE7QUFBQTs7QUEvVUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9iaW1saWdodC1wbGF0Zm9ybS8uL3BhY2thZ2VzL2JpbUFpci9zcmMvZ3NEZXZGeC9vcGVyYXRvcnMvY29tcG9uZW50U2VsZWN0b3IudHM/YmY3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBMb25nYW4gZnJvbSBcImdzLWxvbmdhblwiO1xyXG5cclxuaW1wb3J0IHsgQ2FtZXJhTW91c2UsIExpc3QsIFNlbGVjdGlvbktleSwgVmlld2VyT3BlcmF0b3IgfSBmcm9tIFwiZ3MtbG9uZ2FuXCI7XHJcbmltcG9ydCB7XHJcbiAgQXJlYVNlbGVjdGlvblR5cGUsXHJcbiAgSlNfU2hvd19Pd25lcl9CeV9LZXksXHJcbiAgVmlld2VyRXZlbnQsXHJcbn0gZnJvbSBcImdzLWxvbmdhbi9sb25nYW4vZ3Mudmlld2VyXCI7XHJcbmltcG9ydCB7IExCdXR0b25TdGF0ZSB9IGZyb20gXCJncy1sb25nYW4vb3BlcmF0b3JzL2NhbWVyYU1vdXNlXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudE1hbmFnZXIgfSBmcm9tIFwiLi4vbWFuYWdlcnMvY29tcG9uZW50TWFuYWdlclwiO1xyXG5pbXBvcnQgeyBTZWxlY3Rpb25NYW5hZ2VyIH0gZnJvbSBcIi4uL21hbmFnZXJzL3NlbGVjdGlvbk1hbmFnZXJcIjtcclxuaW1wb3J0IHsgVmlld2VyIH0gZnJvbSBcIi4uL3ZpZXdlclwiO1xyXG5pbXBvcnQgeyBTZWdtZW50T2JqZWN0IH0gZnJvbSBcIi4uL29iamVjdHMvc2VnbWVudE9iamVjdFwiO1xyXG5pbXBvcnQgeyBHZW9tZXRyeU9iamVjdCB9IGZyb20gXCIuLi9vYmplY3RzL2dlb21ldHJ5T2JqZWN0XCI7XHJcbmltcG9ydCB7IENhbWVyYU9wZXJhdGVTdGF0ZSB9IGZyb20gXCJncy1sb25nYW4vb3BlcmF0b3JzL3ZpZXdlck9wZXJhdG9yXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50U2VsZWN0b3IgZXh0ZW5kcyBMb25nYW4uT2JqZWN0U2VsZWN0b3Ige1xyXG4gIHN0YXRpYyBsQnV0dG9uRG93biA9IG5ldyBMaXN0PFxyXG4gICAgKHNlbmRlcjogVmlld2VyT3BlcmF0b3IsIGV2ZW50OiBWaWV3ZXJFdmVudCkgPT4gdm9pZFxyXG4gID4oKTtcclxuICBzdGF0aWMgbEJ1dHRvblVwID0gbmV3IExpc3Q8XHJcbiAgICAoc2VuZGVyOiBWaWV3ZXJPcGVyYXRvciwgZXZlbnQ6IFZpZXdlckV2ZW50KSA9PiB2b2lkXHJcbiAgPigpO1xyXG4gIHR5cGVOYW1lOiBzdHJpbmcgPSBcIkNvbXBvbmVudFNlbGVjdG9yXCI7XHJcbiAgaXNTZWxlY3ROb3RDb21wb25lbnQgPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgZ2V0IHZpZXdlcigpOiBWaWV3ZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZpZXdlciBhcyBWaWV3ZXI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IHZpZXdlcih2aWV3ZXI6IFZpZXdlcikge1xyXG4gICAgdGhpcy5fdmlld2VyID0gdmlld2VyO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZW9tZXRyeU9iamVjdCgpOiBHZW9tZXRyeU9iamVjdCB8IG51bGwge1xyXG4gICAgaWYgKHRoaXMuX3NlbGVjdGlvbktleSkge1xyXG4gICAgICBsZXQgZ2VvbWV0cnlPYmplY3QgPSBuZXcgR2VvbWV0cnlPYmplY3QoKTtcclxuICAgICAgZ2VvbWV0cnlPYmplY3QuX2dlb21ldHJ5ID0gTG9uZ2FuLkdlb21ldHJ5LmZyb21LZXkoXHJcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uS2V5LmtleVxyXG4gICAgICApO1xyXG4gICAgICBnZW9tZXRyeU9iamVjdC5fcGF0aCA9IG5ldyBJbnQzMkFycmF5KHRoaXMuX3NlbGVjdGlvbktleS5wYXRoS2V5cyk7XHJcbiAgICAgIHJldHVybiBnZW9tZXRyeU9iamVjdDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgb25MQnV0dG9uRG93bihlOiBWaWV3ZXJFdmVudCkge1xyXG4gICAgbGV0IHBvcyA9IGUubW91c2VXaW5kb3dQb3MoKTtcclxuICAgIHRoaXMuZG93blBvcyA9IHBvcztcclxuXHJcbiAgICBsZXQgc2VsZWN0aW9uTWFuYWdlciA9IHRoaXMudmlld2VyLnNlbGVjdGlvbk1hbmFnZXIgYXMgU2VsZWN0aW9uTWFuYWdlcjtcclxuICAgIHNlbGVjdGlvbk1hbmFnZXIuc2VsZWN0ZWRQb3MgPSBlLm1vdXNlV29ybGRQb3MoKTtcclxuXHJcbiAgICBsZXQgY2FtZXJhTW91c2U6IExvbmdhbi5DYW1lcmFNb3VzZSA9IG51bGw7XHJcbiAgICB0aGlzLnZpZXdlci5vcGVyYXRvck1hbmFnZXIub3BlcmF0b3JMaXN0Lml0ZW1zLmZvckVhY2goKG9wZXJhdG9yKSA9PiB7XHJcbiAgICAgIGlmIChvcGVyYXRvciBpbnN0YW5jZW9mIExvbmdhbi5DYW1lcmFNb3VzZSkge1xyXG4gICAgICAgIGNhbWVyYU1vdXNlID0gb3BlcmF0b3I7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgaWYgKGNhbWVyYU1vdXNlKSB7XHJcbiAgICAgIGlmIChjYW1lcmFNb3VzZS5sQnV0dG9uU2F0ZSA9PT0gTEJ1dHRvblN0YXRlLnNlbGVjdCkge1xyXG4gICAgICAgIC8v5aaC5p6c5rKh5byA5qGG6YCJXHJcbiAgICAgICAgaWYgKCF0aGlzLl9pc0FyZWFTZWxlY3QpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0QnlQb2ludChwb3MpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubEJ1dHRvbkRvd24uZm9yRWFjaChcclxuICAgICAgKHZhbHVlOiAoc2VuZGVyOiBWaWV3ZXJPcGVyYXRvciwgZXZlbnQ6IFZpZXdlckV2ZW50KSA9PiB2b2lkKSA9PiB7XHJcbiAgICAgICAgdmFsdWUodGhpcywgZSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICBDb21wb25lbnRTZWxlY3Rvci5sQnV0dG9uRG93bi5mb3JFYWNoKFxyXG4gICAgICAodmFsdWU6IChzZW5kZXI6IFZpZXdlck9wZXJhdG9yLCBldmVudDogVmlld2VyRXZlbnQpID0+IHZvaWQpID0+IHtcclxuICAgICAgICB2YWx1ZSh0aGlzLCBlKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG9uTEJ1dHRvblVwKGU6IFZpZXdlckV2ZW50KSB7XHJcbiAgICBsZXQgY3VycmVudFBvcyA9IGUubW91c2VXaW5kb3dQb3MoKTtcclxuXHJcbiAgICAvLyBsZXQgY2FtZXJhTW91c2UgPSB0aGlzLnZpZXdlci5vcGVyYXRvck1hbmFnZXIuZmluZChcclxuICAgIC8vICAgXCJDYW1lcmFNb3VzZVwiXHJcbiAgICAvLyApIGFzIENhbWVyYU1vdXNlO1xyXG5cclxuICAgIGxldCBjYW1lcmFNb3VzZTogTG9uZ2FuLkNhbWVyYU1vdXNlID0gbnVsbDtcclxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5vcGVyYXRvckxpc3QuaXRlbXMuZm9yRWFjaCgob3BlcmF0b3IpID0+IHtcclxuICAgICAgaWYgKG9wZXJhdG9yIGluc3RhbmNlb2YgTG9uZ2FuLkNhbWVyYU1vdXNlKSB7XHJcbiAgICAgICAgY2FtZXJhTW91c2UgPSBvcGVyYXRvcjtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBpZiAoY2FtZXJhTW91c2UpIHtcclxuICAgICAgaWYgKGNhbWVyYU1vdXNlLmxCdXR0b25TYXRlID09PSBMQnV0dG9uU3RhdGUuc2VsZWN0KSB7XHJcbiAgICAgICAgLy/lpoLmnpzlvIDkuobmoYbpgIlcclxuICAgICAgICBpZiAodGhpcy5faXNBcmVhU2VsZWN0KSB7XHJcbiAgICAgICAgICAvL+WmguaenOayoeaLluWKqFxyXG4gICAgICAgICAgaWYgKHN1cGVyLmlzRXF1YWwodGhpcy5kb3duUG9zLCBjdXJyZW50UG9zKSkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdEJ5UG9pbnQoY3VycmVudFBvcyk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdEJ5QXJlYSh0aGlzLmRvd25Qb3MsIGN1cnJlbnRQb3MpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxCdXR0b25VcC5mb3JFYWNoKFxyXG4gICAgICAodmFsdWU6IChzZW5kZXI6IFZpZXdlck9wZXJhdG9yLCBldmVudDogVmlld2VyRXZlbnQpID0+IHZvaWQpID0+IHtcclxuICAgICAgICB2YWx1ZSh0aGlzLCBlKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgIENvbXBvbmVudFNlbGVjdG9yLmxCdXR0b25VcC5mb3JFYWNoKFxyXG4gICAgICAodmFsdWU6IChzZW5kZXI6IFZpZXdlck9wZXJhdG9yLCBldmVudDogVmlld2VyRXZlbnQpID0+IHZvaWQpID0+IHtcclxuICAgICAgICB2YWx1ZSh0aGlzLCBlKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG9uVG91Y2hTdGFydChlOiBWaWV3ZXJFdmVudCkge1xyXG4gICAgbGV0IGNhbWVyYVRvdWNoID0gdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmZpbmQoXHJcbiAgICAgIFwiQ2FtZXJhVG91Y2hcIlxyXG4gICAgKSBhcyBMb25nYW4uQ2FtZXJhVG91Y2g7XHJcbiAgICBpZiAoY2FtZXJhVG91Y2gpIHtcclxuICAgICAgaWYgKGNhbWVyYVRvdWNoLnN0YXRlID09PSBDYW1lcmFPcGVyYXRlU3RhdGUuUGFuKSB7XHJcbiAgICAgICAgbGV0IHBvcyA9IGNhbWVyYVRvdWNoLnRvdWNoV2luZG93UG9zO1xyXG4gICAgICAgIHRoaXMuZG93blBvcyA9IG5ldyBGbG9hdDMyQXJyYXkocG9zKTtcclxuXHJcbiAgICAgICAgdGhpcy5zZWxlY3RCeVBvaW50KHBvcyk7XHJcbiAgICAgICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50b3VjaFN0YXJ0LmZvckVhY2goXHJcbiAgICAgICh2YWx1ZTogKHNlbmRlcjogVmlld2VyT3BlcmF0b3IsIGV2ZW50OiBWaWV3ZXJFdmVudCkgPT4gdm9pZCkgPT4ge1xyXG4gICAgICAgIHZhbHVlKHRoaXMsIGUpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGVjdEJ5QXJlYShkb3duUG9zLCB1cFBvcykge1xyXG4gICAgbGV0IHNlbGVjdGlvbk1hbmFnZXIgPSB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyO1xyXG4gICAgbGV0IGxlZnQgPSBkb3duUG9zWzBdO1xyXG4gICAgbGV0IHJpZ2h0ID0gdXBQb3NbMF07XHJcbiAgICBpZiAocmlnaHQgPCBsZWZ0KSB7XHJcbiAgICAgIGxlZnQgPSB1cFBvc1swXTtcclxuICAgICAgcmlnaHQgPSBkb3duUG9zWzBdO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBib3R0b20gPSBkb3duUG9zWzFdO1xyXG4gICAgbGV0IHRvcCA9IHVwUG9zWzFdO1xyXG4gICAgaWYgKHRvcCA8IGJvdHRvbSkge1xyXG4gICAgICBib3R0b20gPSB1cFBvc1sxXTtcclxuICAgICAgdG9wID0gZG93blBvc1sxXTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgc2VsZWN0aW9uS2V5czogTGlzdDxTZWxlY3Rpb25LZXk+O1xyXG4gICAgaWYgKGRvd25Qb3NbMF0gPCB1cFBvc1swXSkge1xyXG4gICAgICBzZWxlY3Rpb25LZXlzID0gdGhpcy52aWV3ZXIuc2VsZWN0QnlBcmVhKFxyXG4gICAgICAgIFtsZWZ0LCBib3R0b20sIHJpZ2h0LCB0b3BdLFxyXG4gICAgICAgIEFyZWFTZWxlY3Rpb25UeXBlLkNvbnRhaW5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNlbGVjdGlvbktleXMgPSB0aGlzLnZpZXdlci5zZWxlY3RCeUFyZWEoXHJcbiAgICAgICAgW2xlZnQsIGJvdHRvbSwgcmlnaHQsIHRvcF0sXHJcbiAgICAgICAgQXJlYVNlbGVjdGlvblR5cGUuVG91Y2hBbmRDb250YWluXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLl9pc011bHRpU2VsZWN0KSB7XHJcbiAgICAgIHNlbGVjdGlvbk1hbmFnZXIuY2xlYXJBbGxTZWxlY3Rpb25BbmRIaWdobGlnaHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgc2VnbWVudE9iamVjdHMgPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2VsZWN0aW9uS2V5cy5jb3VudCgpOyBpKyspIHtcclxuICAgICAgbGV0IHNlZ21lbnRPYmplY3QgPSB0aGlzLnZpZXdlci5jb21wb25lbnRNYW5hZ2VyLmdldENvbXBvbmVudChcclxuICAgICAgICBzZWxlY3Rpb25LZXlzLml0ZW1zW2ldLmtleSxcclxuICAgICAgICBzZWxlY3Rpb25LZXlzLml0ZW1zW2ldLnBhdGhcclxuICAgICAgKTtcclxuXHJcbiAgICAgIGlmIChzZWdtZW50T2JqZWN0ID09IG51bGwpIHtcclxuICAgICAgICBpZiAodGhpcy5pc1NlbGVjdE5vdENvbXBvbmVudCkge1xyXG4gICAgICAgICAgbGV0IGtleSA9IEpTX1Nob3dfT3duZXJfQnlfS2V5KHNlbGVjdGlvbktleXMuaXRlbXNbaV0ua2V5KTtcclxuICAgICAgICAgIHNlZ21lbnRPYmplY3QgPSBuZXcgU2VnbWVudE9iamVjdChcclxuICAgICAgICAgICAgdGhpcy52aWV3ZXIsXHJcbiAgICAgICAgICAgIG5ldyBMb25nYW4uU2VnbWVudChrZXkpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHNlZ21lbnRPYmplY3RzLnB1c2goc2VnbWVudE9iamVjdCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0aW9uTWFuYWdlci5zZWxlY3RBbmRIaWdobGlnaHQoc2VnbWVudE9iamVjdHMpO1xyXG4gICAgdGhpcy5vYmplY3RTZWxlY3RlZC5mb3JFYWNoKFxyXG4gICAgICAodmFsdWU6IChzZWxlY3RvcjogQ29tcG9uZW50U2VsZWN0b3IpID0+IHZvaWQpID0+IHtcclxuICAgICAgICB2YWx1ZSh0aGlzKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3RCeVBvaW50KHBvcykge1xyXG4gICAgbGV0IHNlbGVjdGlvbk1hbmFnZXIgPSB0aGlzLnZpZXdlci5zZWxlY3Rpb25NYW5hZ2VyIGFzIFNlbGVjdGlvbk1hbmFnZXI7XHJcbiAgICBsZXQgc2VsZWN0aW9uS2V5cyA9IHRoaXMudmlld2VyLnNlbGVjdEJ5UG9pbnQocG9zKTtcclxuICAgIC8vIOiLpemAieaLqeS6hueJqeS9k1xyXG4gICAgaWYgKHNlbGVjdGlvbktleXMuY291bnQoKSA+IDApIHtcclxuICAgICAgbGV0IHNlbGVjdGlvbktleSA9IHNlbGVjdGlvbktleXMuaXRlbXNbMF07XHJcbiAgICAgIC8vdGhpcy5jbGlja1BvcyA9IHNlbGVjdGlvbktleS5wb3NpdGlvbiBhcyBGbG9hdDMyQXJyYXk7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGlvbktleSA9IHNlbGVjdGlvbktleTtcclxuICAgICAgbGV0IGdlbyA9IG5ldyBMb25nYW4uR2VvbWV0cnkoc2VsZWN0aW9uS2V5LmtleSk7XHJcbiAgICAgIGxldCBvd25lclNlZ21lbnQgPSBnZW8ub3duZXI7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKFwic2VrZXk6XCIsIHNlbGVjdGlvbktleSwgZ2VvLm93bmVyKTtcclxuXHJcbiAgICAgIC8vIOWmguaenOmAieS4ree9l+ebmFxyXG4gICAgICBpZiAob3duZXJTZWdtZW50Lm5hbWUuaW5kZXhPZihcIkNvbXBhc3NcIikgPiAtMSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0Q29tcGFzcyhvd25lclNlZ21lbnQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBzZWdtZW50T2JqZWN0ID0gdGhpcy52aWV3ZXIuY29tcG9uZW50TWFuYWdlci5nZXRDb21wb25lbnQoXHJcbiAgICAgICAgICBzZWxlY3Rpb25LZXkua2V5LFxyXG4gICAgICAgICAgc2VsZWN0aW9uS2V5LnBhdGhcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICAvL+iLpeaJvuS4jeWIsOacieaehOS7tmlk5ZKMZWxtZW50dHlwZVxyXG4gICAgICAgIGlmIChzZWdtZW50T2JqZWN0ID09IG51bGwpIHtcclxuICAgICAgICAgIGlmICh0aGlzLmlzU2VsZWN0Tm90Q29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgIGxldCBrZXkgPSBKU19TaG93X093bmVyX0J5X0tleShzZWxlY3Rpb25LZXkua2V5KTtcclxuICAgICAgICAgICAgc2VnbWVudE9iamVjdCA9IG5ldyBTZWdtZW50T2JqZWN0KFxyXG4gICAgICAgICAgICAgIHRoaXMudmlld2VyLFxyXG4gICAgICAgICAgICAgIG5ldyBMb25nYW4uU2VnbWVudChrZXkpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5faXNNdWx0aVNlbGVjdCkge1xyXG4gICAgICAgICAgLy/oi6Xnm7jlkIxcclxuICAgICAgICAgIGlmIChzZWxlY3Rpb25NYW5hZ2VyLmlzU2VsZWN0ZWQoc2VnbWVudE9iamVjdCkpIHtcclxuICAgICAgICAgICAgc2VsZWN0aW9uTWFuYWdlci5jbGVhclNlbGVjdGlvbkFuZEhpZ2hsaWdodChbc2VnbWVudE9iamVjdF0pO1xyXG4gICAgICAgICAgICB0aGlzLm9iamVjdFVuU2VsZWN0ZWQuZm9yRWFjaChcclxuICAgICAgICAgICAgICAodmFsdWU6IChzZWxlY3RvcjogQ29tcG9uZW50U2VsZWN0b3IpID0+IHZvaWQpID0+IHtcclxuICAgICAgICAgICAgICAgIHZhbHVlKHRoaXMpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHNlbGVjdGlvbk1hbmFnZXIuc2VsZWN0QW5kSGlnaGxpZ2h0KFtzZWdtZW50T2JqZWN0XSk7XHJcbiAgICAgICAgICAgIHRoaXMub2JqZWN0U2VsZWN0ZWQuZm9yRWFjaChcclxuICAgICAgICAgICAgICAodmFsdWU6IChzZWxlY3RvcjogQ29tcG9uZW50U2VsZWN0b3IpID0+IHZvaWQpID0+IHtcclxuICAgICAgICAgICAgICAgIHZhbHVlKHRoaXMpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5vYmplY3RTZWxlY3RlZC5mb3JFYWNoKFxyXG4gICAgICAgICAgICAodmFsdWU6IChzZWxlY3RvcjogQ29tcG9uZW50U2VsZWN0b3IpID0+IHZvaWQpID0+IHtcclxuICAgICAgICAgICAgICB2YWx1ZSh0aGlzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHNlbGVjdGlvbk1hbmFnZXIuY2xlYXJBbGxTZWxlY3Rpb25BbmRIaWdobGlnaHQoKTtcclxuICAgICAgICAgIHNlbGVjdGlvbk1hbmFnZXIuc2VsZWN0QW5kSGlnaGxpZ2h0KFtzZWdtZW50T2JqZWN0XSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBsZXQgc2VnbWVudE9iamVjdCA9IHRoaXMudmlld2VyLmNvbXBvbmVudE1hbmFnZXIuZ2V0Q29tcG9uZW50KFxyXG4gICAgICAvLyAgIHNlbGVjdGlvbktleS5rZXksXHJcbiAgICAgIC8vICAgc2VsZWN0aW9uS2V5LnBhdGhcclxuICAgICAgLy8gKTtcclxuXHJcbiAgICAgIC8vIC8v6Iul5om+5LiN5Yiw5pyJ5p6E5Lu2aWTlkoxlbG1lbnR0eXBlXHJcbiAgICAgIC8vIGlmIChzZWdtZW50T2JqZWN0ID09IG51bGwpIHtcclxuICAgICAgLy8gICBpZiAodGhpcy5pc1NlbGVjdE5vdENvbXBvbmVudCkge1xyXG4gICAgICAvLyAgICAgbGV0IGtleSA9IEpTX1Nob3dfT3duZXJfQnlfS2V5KHNlbGVjdGlvbktleS5rZXkpO1xyXG4gICAgICAvLyAgICAgc2VnbWVudE9iamVjdCA9IG5ldyBTZWdtZW50T2JqZWN0KFxyXG4gICAgICAvLyAgICAgICB0aGlzLnZpZXdlcixcclxuICAgICAgLy8gICAgICAgbmV3IExvbmdhbi5TZWdtZW50KGtleSlcclxuICAgICAgLy8gICAgICk7XHJcbiAgICAgIC8vICAgfSBlbHNlIHtcclxuICAgICAgLy8gICAgIHJldHVybjtcclxuICAgICAgLy8gICB9XHJcbiAgICAgIC8vIH1cclxuXHJcbiAgICAgIC8vIGlmICh0aGlzLl9pc011bHRpU2VsZWN0KSB7XHJcbiAgICAgIC8vICAgLy/oi6Xnm7jlkIxcclxuICAgICAgLy8gICBpZiAoc2VsZWN0aW9uTWFuYWdlci5pc1NlbGVjdGVkKHNlZ21lbnRPYmplY3QpKSB7XHJcbiAgICAgIC8vICAgICBzZWxlY3Rpb25NYW5hZ2VyLmNsZWFyU2VsZWN0aW9uQW5kSGlnaGxpZ2h0KFtzZWdtZW50T2JqZWN0XSk7XHJcbiAgICAgIC8vICAgICB0aGlzLm9iamVjdFVuU2VsZWN0ZWQuZm9yRWFjaChcclxuICAgICAgLy8gICAgICAgKHZhbHVlOiAoc2VsZWN0b3I6IENvbXBvbmVudFNlbGVjdG9yKSA9PiB2b2lkKSA9PiB7XHJcbiAgICAgIC8vICAgICAgICAgdmFsdWUodGhpcyk7XHJcbiAgICAgIC8vICAgICAgIH1cclxuICAgICAgLy8gICAgICk7XHJcbiAgICAgIC8vICAgfSBlbHNlIHtcclxuICAgICAgLy8gICAgIHNlbGVjdGlvbk1hbmFnZXIuc2VsZWN0QW5kSGlnaGxpZ2h0KFtzZWdtZW50T2JqZWN0XSk7XHJcbiAgICAgIC8vICAgICB0aGlzLm9iamVjdFNlbGVjdGVkLmZvckVhY2goXHJcbiAgICAgIC8vICAgICAgICh2YWx1ZTogKHNlbGVjdG9yOiBDb21wb25lbnRTZWxlY3RvcikgPT4gdm9pZCkgPT4ge1xyXG4gICAgICAvLyAgICAgICAgIHZhbHVlKHRoaXMpO1xyXG4gICAgICAvLyAgICAgICB9XHJcbiAgICAgIC8vICAgICApO1xyXG4gICAgICAvLyAgIH1cclxuICAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgLy8gICB0aGlzLm9iamVjdFNlbGVjdGVkLmZvckVhY2goXHJcbiAgICAgIC8vICAgICAodmFsdWU6IChzZWxlY3RvcjogQ29tcG9uZW50U2VsZWN0b3IpID0+IHZvaWQpID0+IHtcclxuICAgICAgLy8gICAgICAgdmFsdWUodGhpcyk7XHJcbiAgICAgIC8vICAgICB9XHJcbiAgICAgIC8vICAgKTtcclxuICAgICAgLy8gICBzZWxlY3Rpb25NYW5hZ2VyLmNsZWFyQWxsU2VsZWN0aW9uQW5kSGlnaGxpZ2h0KCk7XHJcbiAgICAgIC8vICAgc2VsZWN0aW9uTWFuYWdlci5zZWxlY3RBbmRIaWdobGlnaHQoW3NlZ21lbnRPYmplY3RdKTtcclxuICAgICAgLy8gfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gdGhpcy5jbGlja1BvcyA9IG5ldyBGbG9hdDMyQXJyYXkoKTtcclxuICAgICAgdGhpcy5fc2VsZWN0aW9uS2V5ID0gbnVsbDtcclxuICAgICAgaWYgKCF0aGlzLl9pc011bHRpU2VsZWN0ICYmIHNlbGVjdGlvbk1hbmFnZXIuc2VsZWN0ZWREYXRhcy5jb3VudCgpID4gMCkge1xyXG4gICAgICAgIHNlbGVjdGlvbk1hbmFnZXIuY2xlYXJBbGxTZWxlY3Rpb25BbmRIaWdobGlnaHQoKTtcclxuICAgICAgICB0aGlzLm9iamVjdFVuU2VsZWN0ZWQuZm9yRWFjaChcclxuICAgICAgICAgICh2YWx1ZTogKHNlbGVjdG9yOiBDb21wb25lbnRTZWxlY3RvcikgPT4gdm9pZCkgPT4ge1xyXG4gICAgICAgICAgICB2YWx1ZSh0aGlzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0Q29tcGFzcyhzZWdtZW50OiBMb25nYW4uU2VnbWVudCkge1xyXG4gICAgc3dpdGNoIChzZWdtZW50Lm5hbWUpIHtcclxuICAgICAgY2FzZSBcIkNvbXBhc3NVcFwiOlxyXG4gICAgICAgIHRoaXMudmlld2VyLnNldFZpZXdNb2RlKExvbmdhbi5WaWV3TW9kZS5YWSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJDb21wYXNzRG93blwiOlxyXG4gICAgICAgIHRoaXMudmlld2VyLnNldFZpZXdNb2RlKExvbmdhbi5WaWV3TW9kZS5ZWCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJDb21wYXNzUmlnaHRcIjpcclxuICAgICAgICB0aGlzLnZpZXdlci5zZXRWaWV3TW9kZShMb25nYW4uVmlld01vZGUuWlgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFwiQ29tcGFzc0JhY2tcIjpcclxuICAgICAgICB0aGlzLnZpZXdlci5zZXRWaWV3TW9kZShMb25nYW4uVmlld01vZGUuWlkpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFwiQ29tcGFzc0xlZnRcIjpcclxuICAgICAgICB0aGlzLnZpZXdlci5zZXRWaWV3TW9kZShMb25nYW4uVmlld01vZGUuWFopO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFwiQ29tcGFzc0Zyb250XCI6XHJcbiAgICAgICAgdGhpcy52aWV3ZXIuc2V0Vmlld01vZGUoTG9uZ2FuLlZpZXdNb2RlLllaKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./packages/bimAir/src/gsDevFx/operators/componentSelector.ts\n");
|
|
3997
|
+
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.array-buffer.slice.js */ \"./node_modules/core-js/modules/es.array-buffer.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.int32-array.js */ \"./node_modules/core-js/modules/es.typed-array.int32-array.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.at.js */ \"./node_modules/core-js/modules/es.typed-array.at.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.copy-within.js */ \"./node_modules/core-js/modules/es.typed-array.copy-within.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.every.js */ \"./node_modules/core-js/modules/es.typed-array.every.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.fill.js */ \"./node_modules/core-js/modules/es.typed-array.fill.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.filter.js */ \"./node_modules/core-js/modules/es.typed-array.filter.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find.js */ \"./node_modules/core-js/modules/es.typed-array.find.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-last.js */ \"./node_modules/core-js/modules/es.typed-array.find-last.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-last-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-last-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.for-each.js */ \"./node_modules/core-js/modules/es.typed-array.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.includes.js */ \"./node_modules/core-js/modules/es.typed-array.includes.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.index-of.js */ \"./node_modules/core-js/modules/es.typed-array.index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.iterator.js */ \"./node_modules/core-js/modules/es.typed-array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.join.js */ \"./node_modules/core-js/modules/es.typed-array.join.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.last-index-of.js */ \"./node_modules/core-js/modules/es.typed-array.last-index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.map.js */ \"./node_modules/core-js/modules/es.typed-array.map.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce.js */ \"./node_modules/core-js/modules/es.typed-array.reduce.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce-right.js */ \"./node_modules/core-js/modules/es.typed-array.reduce-right.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reverse.js */ \"./node_modules/core-js/modules/es.typed-array.reverse.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.set.js */ \"./node_modules/core-js/modules/es.typed-array.set.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.slice.js */ \"./node_modules/core-js/modules/es.typed-array.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.some.js */ \"./node_modules/core-js/modules/es.typed-array.some.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.sort.js */ \"./node_modules/core-js/modules/es.typed-array.sort.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.subarray.js */ \"./node_modules/core-js/modules/es.typed-array.subarray.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-locale-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-locale-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.find.js */ \"./node_modules/core-js/modules/es.array.find.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.float32-array.js */ \"./node_modules/core-js/modules/es.typed-array.float32-array.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! gs-longan/longan/gs.viewer */ \"./packages/longan/src/longan/gs.viewer.ts\"), __webpack_require__(/*! gs-longan/operators/cameraMouse */ \"./packages/longan/src/operators/cameraMouse.ts\"), __webpack_require__(/*! ../objects/segmentObject */ \"./packages/bimAir/src/gsDevFx/objects/segmentObject.ts\"), __webpack_require__(/*! ../objects/geometryObject */ \"./packages/bimAir/src/gsDevFx/objects/geometryObject.ts\"), __webpack_require__(/*! gs-longan/operators/viewerOperator */ \"./packages/longan/src/operators/viewerOperator.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, Longan, gs_longan_1, gs_viewer_1, cameraMouse_1, segmentObject_1, geometryObject_1, viewerOperator_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n exports.ComponentSelector = void 0;\n Longan = tslib_1.__importStar(Longan);\n\n var ComponentSelector = function (_super) {\n tslib_1.__extends(ComponentSelector, _super);\n\n function ComponentSelector() {\n var _this = _super.call(this) || this;\n\n _this.typeName = \"ComponentSelector\";\n _this.isSelectNotComponent = true;\n return _this;\n }\n\n Object.defineProperty(ComponentSelector.prototype, \"viewer\", {\n get: function get() {\n return this._viewer;\n },\n set: function set(viewer) {\n this._viewer = viewer;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ComponentSelector.prototype, \"geometryObject\", {\n get: function get() {\n if (this._selectionKey) {\n var geometryObject = new geometryObject_1.GeometryObject();\n geometryObject._geometry = Longan.Geometry.fromKey(this._selectionKey.key);\n geometryObject._path = new Int32Array(this._selectionKey.pathKeys);\n return geometryObject;\n } else {\n return null;\n }\n },\n enumerable: false,\n configurable: true\n });\n\n ComponentSelector.prototype.onLButtonDown = function (e) {\n var _this = this;\n\n var pos = e.mouseWindowPos();\n this.downPos = pos;\n var selectionManager = this.viewer.selectionManager;\n selectionManager.selectedPos = e.mouseWorldPos();\n var cameraMouse = null;\n this.viewer.operatorManager.operatorList.items.forEach(function (operator) {\n if (operator instanceof Longan.CameraMouse) {\n cameraMouse = operator;\n }\n });\n\n if (cameraMouse) {\n if (cameraMouse.lButtonSate === cameraMouse_1.LButtonState.select) {\n if (!this._isAreaSelect) {\n this.selectByPoint(pos);\n }\n }\n }\n\n this.lButtonDown.forEach(function (value) {\n value(_this, e);\n });\n ComponentSelector.lButtonDown.forEach(function (value) {\n value(_this, e);\n });\n };\n\n ComponentSelector.prototype.onLButtonUp = function (e) {\n var _this = this;\n\n var currentPos = e.mouseWindowPos();\n var cameraMouse = null;\n this.viewer.operatorManager.operatorList.items.forEach(function (operator) {\n if (operator instanceof Longan.CameraMouse) {\n cameraMouse = operator;\n }\n });\n\n if (cameraMouse) {\n if (cameraMouse.lButtonSate === cameraMouse_1.LButtonState.select) {\n if (this._isAreaSelect) {\n if (_super.prototype.isEqual.call(this, this.downPos, currentPos)) {\n this.selectByPoint(currentPos);\n } else {\n this.selectByArea(this.downPos, currentPos);\n }\n }\n\n this.viewer.updateDisplay();\n }\n }\n\n this.lButtonUp.forEach(function (value) {\n value(_this, e);\n });\n ComponentSelector.lButtonUp.forEach(function (value) {\n value(_this, e);\n });\n };\n\n ComponentSelector.prototype.onTouchStart = function (e) {\n var _this = this;\n\n var cameraTouch = this.viewer.operatorManager.find(\"CameraTouch\");\n\n if (cameraTouch) {\n if (cameraTouch.state === viewerOperator_1.CameraOperateState.Pan) {\n var pos = cameraTouch.touchWindowPos;\n this.downPos = new Float32Array(pos);\n this.selectByPoint(pos);\n this.viewer.updateDisplay();\n }\n }\n\n this.touchStart.forEach(function (value) {\n value(_this, e);\n });\n };\n\n ComponentSelector.prototype.selectByArea = function (downPos, upPos) {\n var _this = this;\n\n var selectionManager = this.viewer.selectionManager;\n\n if (!downPos || !upPos) {\n return;\n }\n\n var left = downPos[0];\n var right = upPos[0];\n\n if (right < left) {\n left = upPos[0];\n right = downPos[0];\n }\n\n var bottom = downPos[1];\n var top = upPos[1];\n\n if (top < bottom) {\n bottom = upPos[1];\n top = downPos[1];\n }\n\n var selectionKeys;\n\n if (downPos[0] < upPos[0]) {\n selectionKeys = this.viewer.selectByArea([left, bottom, right, top], gs_viewer_1.AreaSelectionType.Contain);\n } else {\n selectionKeys = this.viewer.selectByArea([left, bottom, right, top], gs_viewer_1.AreaSelectionType.TouchAndContain);\n }\n\n if (!this._isMultiSelect) {\n selectionManager.clearAllSelectionAndHighlight();\n }\n\n var segmentObjects = [];\n\n for (var i = 0; i < selectionKeys.count(); i++) {\n var segmentObject = this.viewer.componentManager.getComponent(selectionKeys.items[i].key, selectionKeys.items[i].path);\n\n if (segmentObject == null) {\n if (this.isSelectNotComponent) {\n var key = (0, gs_viewer_1.JS_Show_Owner_By_Key)(selectionKeys.items[i].key);\n segmentObject = new segmentObject_1.SegmentObject(this.viewer, new Longan.Segment(key));\n } else {\n continue;\n }\n }\n\n segmentObjects.push(segmentObject);\n }\n\n selectionManager.selectAndHighlight(segmentObjects);\n this.objectSelected.forEach(function (value) {\n value(_this);\n });\n };\n\n ComponentSelector.prototype.selectByPoint = function (pos) {\n var _this = this;\n\n var selectionManager = this.viewer.selectionManager;\n var selectionKeys = this.viewer.selectByPoint(pos);\n\n if (selectionKeys.count() > 0) {\n var selectionKey = selectionKeys.items[0];\n this._selectionKey = selectionKey;\n var geo = new Longan.Geometry(selectionKey.key);\n var ownerSegment = geo.owner;\n\n if (ownerSegment.name.indexOf(\"Compass\") > -1) {\n this.selectCompass(ownerSegment);\n } else {\n var segmentObject = this.viewer.componentManager.getComponent(selectionKey.key, selectionKey.path);\n\n if (segmentObject == null) {\n if (this.isSelectNotComponent) {\n var key = (0, gs_viewer_1.JS_Show_Owner_By_Key)(selectionKey.key);\n segmentObject = new segmentObject_1.SegmentObject(this.viewer, new Longan.Segment(key));\n } else {\n return;\n }\n }\n\n if (this._isMultiSelect) {\n if (selectionManager.isSelected(segmentObject)) {\n selectionManager.clearSelectionAndHighlight([segmentObject]);\n this.objectUnSelected.forEach(function (value) {\n value(_this);\n });\n } else {\n selectionManager.selectAndHighlight([segmentObject]);\n this.objectSelected.forEach(function (value) {\n value(_this);\n });\n }\n } else {\n this.objectSelected.forEach(function (value) {\n value(_this);\n });\n selectionManager.clearAllSelectionAndHighlight();\n selectionManager.selectAndHighlight([segmentObject]);\n }\n }\n } else {\n this._selectionKey = null;\n\n if (!this._isMultiSelect && selectionManager.selectedDatas.count() > 0) {\n selectionManager.clearAllSelectionAndHighlight();\n this.objectUnSelected.forEach(function (value) {\n value(_this);\n });\n }\n }\n };\n\n ComponentSelector.prototype.selectCompass = function (segment) {\n switch (segment.name) {\n case \"CompassUp\":\n this.viewer.setViewMode(Longan.ViewMode.XY);\n break;\n\n case \"CompassDown\":\n this.viewer.setViewMode(Longan.ViewMode.YX);\n break;\n\n case \"CompassRight\":\n this.viewer.setViewMode(Longan.ViewMode.ZX);\n break;\n\n case \"CompassBack\":\n this.viewer.setViewMode(Longan.ViewMode.ZY);\n break;\n\n case \"CompassLeft\":\n this.viewer.setViewMode(Longan.ViewMode.XZ);\n break;\n\n case \"CompassFront\":\n this.viewer.setViewMode(Longan.ViewMode.YZ);\n break;\n }\n };\n\n ComponentSelector.lButtonDown = new gs_longan_1.List();\n ComponentSelector.lButtonUp = new gs_longan_1.List();\n return ComponentSelector;\n }(Longan.ObjectSelector);\n\n exports.ComponentSelector = ComponentSelector;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2Rngvb3BlcmF0b3JzL2NvbXBvbmVudFNlbGVjdG9yLnRzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkE7QUFBQTs7QUErQkE7QUFBQTs7QUF4QkE7QUFDQTs7QUF5QkE7O0FBdkJBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBTkE7O0FBQUE7QUFRQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWEE7O0FBQUE7O0FBaUJBO0FBQUE7O0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFFQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBRUE7O0FBRUE7QUFBQTs7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBRUE7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUVBOztBQUVBO0FBQUE7O0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUVBO0FBQ0E7QUFFQTs7QUFFQTtBQUFBOztBQUNBOztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFJQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTs7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTs7QUFFQTtBQUFBOztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUE4Q0E7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTtBQWxCQTtBQW9CQTs7QUFqVkE7QUFHQTtBQStVQTtBQUFBOztBQW5WQSIsInNvdXJjZXMiOlsid2VicGFjazovL2JpbWxpZ2h0LXBsYXRmb3JtLy4vcGFja2FnZXMvYmltQWlyL3NyYy9nc0RldkZ4L29wZXJhdG9ycy9jb21wb25lbnRTZWxlY3Rvci50cz9iZjc5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIExvbmdhbiBmcm9tIFwiZ3MtbG9uZ2FuXCI7XHJcblxyXG5pbXBvcnQgeyBDYW1lcmFNb3VzZSwgTGlzdCwgU2VsZWN0aW9uS2V5LCBWaWV3ZXJPcGVyYXRvciB9IGZyb20gXCJncy1sb25nYW5cIjtcclxuaW1wb3J0IHtcclxuICBBcmVhU2VsZWN0aW9uVHlwZSxcclxuICBKU19TaG93X093bmVyX0J5X0tleSxcclxuICBWaWV3ZXJFdmVudCxcclxufSBmcm9tIFwiZ3MtbG9uZ2FuL2xvbmdhbi9ncy52aWV3ZXJcIjtcclxuaW1wb3J0IHsgTEJ1dHRvblN0YXRlIH0gZnJvbSBcImdzLWxvbmdhbi9vcGVyYXRvcnMvY2FtZXJhTW91c2VcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50TWFuYWdlciB9IGZyb20gXCIuLi9tYW5hZ2Vycy9jb21wb25lbnRNYW5hZ2VyXCI7XHJcbmltcG9ydCB7IFNlbGVjdGlvbk1hbmFnZXIgfSBmcm9tIFwiLi4vbWFuYWdlcnMvc2VsZWN0aW9uTWFuYWdlclwiO1xyXG5pbXBvcnQgeyBWaWV3ZXIgfSBmcm9tIFwiLi4vdmlld2VyXCI7XHJcbmltcG9ydCB7IFNlZ21lbnRPYmplY3QgfSBmcm9tIFwiLi4vb2JqZWN0cy9zZWdtZW50T2JqZWN0XCI7XHJcbmltcG9ydCB7IEdlb21ldHJ5T2JqZWN0IH0gZnJvbSBcIi4uL29iamVjdHMvZ2VvbWV0cnlPYmplY3RcIjtcclxuaW1wb3J0IHsgQ2FtZXJhT3BlcmF0ZVN0YXRlIH0gZnJvbSBcImdzLWxvbmdhbi9vcGVyYXRvcnMvdmlld2VyT3BlcmF0b3JcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBDb21wb25lbnRTZWxlY3RvciBleHRlbmRzIExvbmdhbi5PYmplY3RTZWxlY3RvciB7XHJcbiAgc3RhdGljIGxCdXR0b25Eb3duID0gbmV3IExpc3Q8XHJcbiAgICAoc2VuZGVyOiBWaWV3ZXJPcGVyYXRvciwgZXZlbnQ6IFZpZXdlckV2ZW50KSA9PiB2b2lkXHJcbiAgPigpO1xyXG4gIHN0YXRpYyBsQnV0dG9uVXAgPSBuZXcgTGlzdDxcclxuICAgIChzZW5kZXI6IFZpZXdlck9wZXJhdG9yLCBldmVudDogVmlld2VyRXZlbnQpID0+IHZvaWRcclxuICA+KCk7XHJcbiAgdHlwZU5hbWU6IHN0cmluZyA9IFwiQ29tcG9uZW50U2VsZWN0b3JcIjtcclxuICBpc1NlbGVjdE5vdENvbXBvbmVudCA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBnZXQgdmlld2VyKCk6IFZpZXdlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmlld2VyIGFzIFZpZXdlcjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgdmlld2VyKHZpZXdlcjogVmlld2VyKSB7XHJcbiAgICB0aGlzLl92aWV3ZXIgPSB2aWV3ZXI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdlb21ldHJ5T2JqZWN0KCk6IEdlb21ldHJ5T2JqZWN0IHwgbnVsbCB7XHJcbiAgICBpZiAodGhpcy5fc2VsZWN0aW9uS2V5KSB7XHJcbiAgICAgIGxldCBnZW9tZXRyeU9iamVjdCA9IG5ldyBHZW9tZXRyeU9iamVjdCgpO1xyXG4gICAgICBnZW9tZXRyeU9iamVjdC5fZ2VvbWV0cnkgPSBMb25nYW4uR2VvbWV0cnkuZnJvbUtleShcclxuICAgICAgICB0aGlzLl9zZWxlY3Rpb25LZXkua2V5XHJcbiAgICAgICk7XHJcbiAgICAgIGdlb21ldHJ5T2JqZWN0Ll9wYXRoID0gbmV3IEludDMyQXJyYXkodGhpcy5fc2VsZWN0aW9uS2V5LnBhdGhLZXlzKTtcclxuICAgICAgcmV0dXJuIGdlb21ldHJ5T2JqZWN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBvbkxCdXR0b25Eb3duKGU6IFZpZXdlckV2ZW50KSB7XHJcbiAgICBsZXQgcG9zID0gZS5tb3VzZVdpbmRvd1BvcygpO1xyXG4gICAgdGhpcy5kb3duUG9zID0gcG9zO1xyXG5cclxuICAgIGxldCBzZWxlY3Rpb25NYW5hZ2VyID0gdGhpcy52aWV3ZXIuc2VsZWN0aW9uTWFuYWdlciBhcyBTZWxlY3Rpb25NYW5hZ2VyO1xyXG4gICAgc2VsZWN0aW9uTWFuYWdlci5zZWxlY3RlZFBvcyA9IGUubW91c2VXb3JsZFBvcygpO1xyXG5cclxuICAgIGxldCBjYW1lcmFNb3VzZTogTG9uZ2FuLkNhbWVyYU1vdXNlID0gbnVsbDtcclxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5vcGVyYXRvckxpc3QuaXRlbXMuZm9yRWFjaCgob3BlcmF0b3IpID0+IHtcclxuICAgICAgaWYgKG9wZXJhdG9yIGluc3RhbmNlb2YgTG9uZ2FuLkNhbWVyYU1vdXNlKSB7XHJcbiAgICAgICAgY2FtZXJhTW91c2UgPSBvcGVyYXRvcjtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBpZiAoY2FtZXJhTW91c2UpIHtcclxuICAgICAgaWYgKGNhbWVyYU1vdXNlLmxCdXR0b25TYXRlID09PSBMQnV0dG9uU3RhdGUuc2VsZWN0KSB7XHJcbiAgICAgICAgLy/lpoLmnpzmsqHlvIDmoYbpgIlcclxuICAgICAgICBpZiAoIXRoaXMuX2lzQXJlYVNlbGVjdCkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RCeVBvaW50KHBvcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5sQnV0dG9uRG93bi5mb3JFYWNoKFxyXG4gICAgICAodmFsdWU6IChzZW5kZXI6IFZpZXdlck9wZXJhdG9yLCBldmVudDogVmlld2VyRXZlbnQpID0+IHZvaWQpID0+IHtcclxuICAgICAgICB2YWx1ZSh0aGlzLCBlKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgIENvbXBvbmVudFNlbGVjdG9yLmxCdXR0b25Eb3duLmZvckVhY2goXHJcbiAgICAgICh2YWx1ZTogKHNlbmRlcjogVmlld2VyT3BlcmF0b3IsIGV2ZW50OiBWaWV3ZXJFdmVudCkgPT4gdm9pZCkgPT4ge1xyXG4gICAgICAgIHZhbHVlKHRoaXMsIGUpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25MQnV0dG9uVXAoZTogVmlld2VyRXZlbnQpIHtcclxuICAgIGxldCBjdXJyZW50UG9zID0gZS5tb3VzZVdpbmRvd1BvcygpO1xyXG5cclxuICAgIC8vIGxldCBjYW1lcmFNb3VzZSA9IHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5maW5kKFxyXG4gICAgLy8gICBcIkNhbWVyYU1vdXNlXCJcclxuICAgIC8vICkgYXMgQ2FtZXJhTW91c2U7XHJcblxyXG4gICAgbGV0IGNhbWVyYU1vdXNlOiBMb25nYW4uQ2FtZXJhTW91c2UgPSBudWxsO1xyXG4gICAgdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLm9wZXJhdG9yTGlzdC5pdGVtcy5mb3JFYWNoKChvcGVyYXRvcikgPT4ge1xyXG4gICAgICBpZiAob3BlcmF0b3IgaW5zdGFuY2VvZiBMb25nYW4uQ2FtZXJhTW91c2UpIHtcclxuICAgICAgICBjYW1lcmFNb3VzZSA9IG9wZXJhdG9yO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmIChjYW1lcmFNb3VzZSkge1xyXG4gICAgICBpZiAoY2FtZXJhTW91c2UubEJ1dHRvblNhdGUgPT09IExCdXR0b25TdGF0ZS5zZWxlY3QpIHtcclxuICAgICAgICAvL+WmguaenOW8gOS6huahhumAiVxyXG4gICAgICAgIGlmICh0aGlzLl9pc0FyZWFTZWxlY3QpIHtcclxuICAgICAgICAgIC8v5aaC5p6c5rKh5ouW5YqoXHJcbiAgICAgICAgICBpZiAoc3VwZXIuaXNFcXVhbCh0aGlzLmRvd25Qb3MsIGN1cnJlbnRQb3MpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0QnlQb2ludChjdXJyZW50UG9zKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0QnlBcmVhKHRoaXMuZG93blBvcywgY3VycmVudFBvcyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubEJ1dHRvblVwLmZvckVhY2goXHJcbiAgICAgICh2YWx1ZTogKHNlbmRlcjogVmlld2VyT3BlcmF0b3IsIGV2ZW50OiBWaWV3ZXJFdmVudCkgPT4gdm9pZCkgPT4ge1xyXG4gICAgICAgIHZhbHVlKHRoaXMsIGUpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgQ29tcG9uZW50U2VsZWN0b3IubEJ1dHRvblVwLmZvckVhY2goXHJcbiAgICAgICh2YWx1ZTogKHNlbmRlcjogVmlld2VyT3BlcmF0b3IsIGV2ZW50OiBWaWV3ZXJFdmVudCkgPT4gdm9pZCkgPT4ge1xyXG4gICAgICAgIHZhbHVlKHRoaXMsIGUpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25Ub3VjaFN0YXJ0KGU6IFZpZXdlckV2ZW50KSB7XHJcbiAgICBsZXQgY2FtZXJhVG91Y2ggPSB0aGlzLnZpZXdlci5vcGVyYXRvck1hbmFnZXIuZmluZChcclxuICAgICAgXCJDYW1lcmFUb3VjaFwiXHJcbiAgICApIGFzIExvbmdhbi5DYW1lcmFUb3VjaDtcclxuICAgIGlmIChjYW1lcmFUb3VjaCkge1xyXG4gICAgICBpZiAoY2FtZXJhVG91Y2guc3RhdGUgPT09IENhbWVyYU9wZXJhdGVTdGF0ZS5QYW4pIHtcclxuICAgICAgICBsZXQgcG9zID0gY2FtZXJhVG91Y2gudG91Y2hXaW5kb3dQb3M7XHJcbiAgICAgICAgdGhpcy5kb3duUG9zID0gbmV3IEZsb2F0MzJBcnJheShwb3MpO1xyXG5cclxuICAgICAgICB0aGlzLnNlbGVjdEJ5UG9pbnQocG9zKTtcclxuICAgICAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRvdWNoU3RhcnQuZm9yRWFjaChcclxuICAgICAgKHZhbHVlOiAoc2VuZGVyOiBWaWV3ZXJPcGVyYXRvciwgZXZlbnQ6IFZpZXdlckV2ZW50KSA9PiB2b2lkKSA9PiB7XHJcbiAgICAgICAgdmFsdWUodGhpcywgZSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0QnlBcmVhKGRvd25Qb3MsIHVwUG9zKSB7XHJcbiAgICBsZXQgc2VsZWN0aW9uTWFuYWdlciA9IHRoaXMudmlld2VyLnNlbGVjdGlvbk1hbmFnZXI7XHJcbiAgICBpZiAoIWRvd25Qb3MgfHwgIXVwUG9zKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgbGVmdCA9IGRvd25Qb3NbMF07XHJcbiAgICBsZXQgcmlnaHQgPSB1cFBvc1swXTtcclxuICAgIGlmIChyaWdodCA8IGxlZnQpIHtcclxuICAgICAgbGVmdCA9IHVwUG9zWzBdO1xyXG4gICAgICByaWdodCA9IGRvd25Qb3NbMF07XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGJvdHRvbSA9IGRvd25Qb3NbMV07XHJcbiAgICBsZXQgdG9wID0gdXBQb3NbMV07XHJcbiAgICBpZiAodG9wIDwgYm90dG9tKSB7XHJcbiAgICAgIGJvdHRvbSA9IHVwUG9zWzFdO1xyXG4gICAgICB0b3AgPSBkb3duUG9zWzFdO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBzZWxlY3Rpb25LZXlzOiBMaXN0PFNlbGVjdGlvbktleT47XHJcbiAgICBpZiAoZG93blBvc1swXSA8IHVwUG9zWzBdKSB7XHJcbiAgICAgIHNlbGVjdGlvbktleXMgPSB0aGlzLnZpZXdlci5zZWxlY3RCeUFyZWEoXHJcbiAgICAgICAgW2xlZnQsIGJvdHRvbSwgcmlnaHQsIHRvcF0sXHJcbiAgICAgICAgQXJlYVNlbGVjdGlvblR5cGUuQ29udGFpblxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc2VsZWN0aW9uS2V5cyA9IHRoaXMudmlld2VyLnNlbGVjdEJ5QXJlYShcclxuICAgICAgICBbbGVmdCwgYm90dG9tLCByaWdodCwgdG9wXSxcclxuICAgICAgICBBcmVhU2VsZWN0aW9uVHlwZS5Ub3VjaEFuZENvbnRhaW5cclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuX2lzTXVsdGlTZWxlY3QpIHtcclxuICAgICAgc2VsZWN0aW9uTWFuYWdlci5jbGVhckFsbFNlbGVjdGlvbkFuZEhpZ2hsaWdodCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBzZWdtZW50T2JqZWN0cyA9IFtdO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzZWxlY3Rpb25LZXlzLmNvdW50KCk7IGkrKykge1xyXG4gICAgICBsZXQgc2VnbWVudE9iamVjdCA9IHRoaXMudmlld2VyLmNvbXBvbmVudE1hbmFnZXIuZ2V0Q29tcG9uZW50KFxyXG4gICAgICAgIHNlbGVjdGlvbktleXMuaXRlbXNbaV0ua2V5LFxyXG4gICAgICAgIHNlbGVjdGlvbktleXMuaXRlbXNbaV0ucGF0aFxyXG4gICAgICApO1xyXG5cclxuICAgICAgaWYgKHNlZ21lbnRPYmplY3QgPT0gbnVsbCkge1xyXG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0Tm90Q29tcG9uZW50KSB7XHJcbiAgICAgICAgICBsZXQga2V5ID0gSlNfU2hvd19Pd25lcl9CeV9LZXkoc2VsZWN0aW9uS2V5cy5pdGVtc1tpXS5rZXkpO1xyXG4gICAgICAgICAgc2VnbWVudE9iamVjdCA9IG5ldyBTZWdtZW50T2JqZWN0KFxyXG4gICAgICAgICAgICB0aGlzLnZpZXdlcixcclxuICAgICAgICAgICAgbmV3IExvbmdhbi5TZWdtZW50KGtleSlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgc2VnbWVudE9iamVjdHMucHVzaChzZWdtZW50T2JqZWN0KTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3Rpb25NYW5hZ2VyLnNlbGVjdEFuZEhpZ2hsaWdodChzZWdtZW50T2JqZWN0cyk7XHJcbiAgICB0aGlzLm9iamVjdFNlbGVjdGVkLmZvckVhY2goXHJcbiAgICAgICh2YWx1ZTogKHNlbGVjdG9yOiBDb21wb25lbnRTZWxlY3RvcikgPT4gdm9pZCkgPT4ge1xyXG4gICAgICAgIHZhbHVlKHRoaXMpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGVjdEJ5UG9pbnQocG9zKSB7XHJcbiAgICBsZXQgc2VsZWN0aW9uTWFuYWdlciA9IHRoaXMudmlld2VyLnNlbGVjdGlvbk1hbmFnZXIgYXMgU2VsZWN0aW9uTWFuYWdlcjtcclxuICAgIGxldCBzZWxlY3Rpb25LZXlzID0gdGhpcy52aWV3ZXIuc2VsZWN0QnlQb2ludChwb3MpO1xyXG4gICAgLy8g6Iul6YCJ5oup5LqG54mp5L2TXHJcbiAgICBpZiAoc2VsZWN0aW9uS2V5cy5jb3VudCgpID4gMCkge1xyXG4gICAgICBsZXQgc2VsZWN0aW9uS2V5ID0gc2VsZWN0aW9uS2V5cy5pdGVtc1swXTtcclxuICAgICAgLy90aGlzLmNsaWNrUG9zID0gc2VsZWN0aW9uS2V5LnBvc2l0aW9uIGFzIEZsb2F0MzJBcnJheTtcclxuICAgICAgdGhpcy5fc2VsZWN0aW9uS2V5ID0gc2VsZWN0aW9uS2V5O1xyXG4gICAgICBsZXQgZ2VvID0gbmV3IExvbmdhbi5HZW9tZXRyeShzZWxlY3Rpb25LZXkua2V5KTtcclxuICAgICAgbGV0IG93bmVyU2VnbWVudCA9IGdlby5vd25lcjtcclxuICAgICAgLy8gY29uc29sZS5sb2coXCJzZWtleTpcIiwgc2VsZWN0aW9uS2V5LCBnZW8ub3duZXIpO1xyXG5cclxuICAgICAgLy8g5aaC5p6c6YCJ5Lit572X55uYXHJcbiAgICAgIGlmIChvd25lclNlZ21lbnQubmFtZS5pbmRleE9mKFwiQ29tcGFzc1wiKSA+IC0xKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RDb21wYXNzKG93bmVyU2VnbWVudCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGV0IHNlZ21lbnRPYmplY3QgPSB0aGlzLnZpZXdlci5jb21wb25lbnRNYW5hZ2VyLmdldENvbXBvbmVudChcclxuICAgICAgICAgIHNlbGVjdGlvbktleS5rZXksXHJcbiAgICAgICAgICBzZWxlY3Rpb25LZXkucGF0aFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIC8v6Iul5om+5LiN5Yiw5pyJ5p6E5Lu2aWTlkoxlbG1lbnR0eXBlXHJcbiAgICAgICAgaWYgKHNlZ21lbnRPYmplY3QgPT0gbnVsbCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuaXNTZWxlY3ROb3RDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgbGV0IGtleSA9IEpTX1Nob3dfT3duZXJfQnlfS2V5KHNlbGVjdGlvbktleS5rZXkpO1xyXG4gICAgICAgICAgICBzZWdtZW50T2JqZWN0ID0gbmV3IFNlZ21lbnRPYmplY3QoXHJcbiAgICAgICAgICAgICAgdGhpcy52aWV3ZXIsXHJcbiAgICAgICAgICAgICAgbmV3IExvbmdhbi5TZWdtZW50KGtleSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9pc011bHRpU2VsZWN0KSB7XHJcbiAgICAgICAgICAvL+iLpeebuOWQjFxyXG4gICAgICAgICAgaWYgKHNlbGVjdGlvbk1hbmFnZXIuaXNTZWxlY3RlZChzZWdtZW50T2JqZWN0KSkge1xyXG4gICAgICAgICAgICBzZWxlY3Rpb25NYW5hZ2VyLmNsZWFyU2VsZWN0aW9uQW5kSGlnaGxpZ2h0KFtzZWdtZW50T2JqZWN0XSk7XHJcbiAgICAgICAgICAgIHRoaXMub2JqZWN0VW5TZWxlY3RlZC5mb3JFYWNoKFxyXG4gICAgICAgICAgICAgICh2YWx1ZTogKHNlbGVjdG9yOiBDb21wb25lbnRTZWxlY3RvcikgPT4gdm9pZCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdmFsdWUodGhpcyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgc2VsZWN0aW9uTWFuYWdlci5zZWxlY3RBbmRIaWdobGlnaHQoW3NlZ21lbnRPYmplY3RdKTtcclxuICAgICAgICAgICAgdGhpcy5vYmplY3RTZWxlY3RlZC5mb3JFYWNoKFxyXG4gICAgICAgICAgICAgICh2YWx1ZTogKHNlbGVjdG9yOiBDb21wb25lbnRTZWxlY3RvcikgPT4gdm9pZCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdmFsdWUodGhpcyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLm9iamVjdFNlbGVjdGVkLmZvckVhY2goXHJcbiAgICAgICAgICAgICh2YWx1ZTogKHNlbGVjdG9yOiBDb21wb25lbnRTZWxlY3RvcikgPT4gdm9pZCkgPT4ge1xyXG4gICAgICAgICAgICAgIHZhbHVlKHRoaXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgc2VsZWN0aW9uTWFuYWdlci5jbGVhckFsbFNlbGVjdGlvbkFuZEhpZ2hsaWdodCgpO1xyXG4gICAgICAgICAgc2VsZWN0aW9uTWFuYWdlci5zZWxlY3RBbmRIaWdobGlnaHQoW3NlZ21lbnRPYmplY3RdKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIGxldCBzZWdtZW50T2JqZWN0ID0gdGhpcy52aWV3ZXIuY29tcG9uZW50TWFuYWdlci5nZXRDb21wb25lbnQoXHJcbiAgICAgIC8vICAgc2VsZWN0aW9uS2V5LmtleSxcclxuICAgICAgLy8gICBzZWxlY3Rpb25LZXkucGF0aFxyXG4gICAgICAvLyApO1xyXG5cclxuICAgICAgLy8gLy/oi6Xmib7kuI3liLDmnInmnoTku7ZpZOWSjGVsbWVudHR5cGVcclxuICAgICAgLy8gaWYgKHNlZ21lbnRPYmplY3QgPT0gbnVsbCkge1xyXG4gICAgICAvLyAgIGlmICh0aGlzLmlzU2VsZWN0Tm90Q29tcG9uZW50KSB7XHJcbiAgICAgIC8vICAgICBsZXQga2V5ID0gSlNfU2hvd19Pd25lcl9CeV9LZXkoc2VsZWN0aW9uS2V5LmtleSk7XHJcbiAgICAgIC8vICAgICBzZWdtZW50T2JqZWN0ID0gbmV3IFNlZ21lbnRPYmplY3QoXHJcbiAgICAgIC8vICAgICAgIHRoaXMudmlld2VyLFxyXG4gICAgICAvLyAgICAgICBuZXcgTG9uZ2FuLlNlZ21lbnQoa2V5KVxyXG4gICAgICAvLyAgICAgKTtcclxuICAgICAgLy8gICB9IGVsc2Uge1xyXG4gICAgICAvLyAgICAgcmV0dXJuO1xyXG4gICAgICAvLyAgIH1cclxuICAgICAgLy8gfVxyXG5cclxuICAgICAgLy8gaWYgKHRoaXMuX2lzTXVsdGlTZWxlY3QpIHtcclxuICAgICAgLy8gICAvL+iLpeebuOWQjFxyXG4gICAgICAvLyAgIGlmIChzZWxlY3Rpb25NYW5hZ2VyLmlzU2VsZWN0ZWQoc2VnbWVudE9iamVjdCkpIHtcclxuICAgICAgLy8gICAgIHNlbGVjdGlvbk1hbmFnZXIuY2xlYXJTZWxlY3Rpb25BbmRIaWdobGlnaHQoW3NlZ21lbnRPYmplY3RdKTtcclxuICAgICAgLy8gICAgIHRoaXMub2JqZWN0VW5TZWxlY3RlZC5mb3JFYWNoKFxyXG4gICAgICAvLyAgICAgICAodmFsdWU6IChzZWxlY3RvcjogQ29tcG9uZW50U2VsZWN0b3IpID0+IHZvaWQpID0+IHtcclxuICAgICAgLy8gICAgICAgICB2YWx1ZSh0aGlzKTtcclxuICAgICAgLy8gICAgICAgfVxyXG4gICAgICAvLyAgICAgKTtcclxuICAgICAgLy8gICB9IGVsc2Uge1xyXG4gICAgICAvLyAgICAgc2VsZWN0aW9uTWFuYWdlci5zZWxlY3RBbmRIaWdobGlnaHQoW3NlZ21lbnRPYmplY3RdKTtcclxuICAgICAgLy8gICAgIHRoaXMub2JqZWN0U2VsZWN0ZWQuZm9yRWFjaChcclxuICAgICAgLy8gICAgICAgKHZhbHVlOiAoc2VsZWN0b3I6IENvbXBvbmVudFNlbGVjdG9yKSA9PiB2b2lkKSA9PiB7XHJcbiAgICAgIC8vICAgICAgICAgdmFsdWUodGhpcyk7XHJcbiAgICAgIC8vICAgICAgIH1cclxuICAgICAgLy8gICAgICk7XHJcbiAgICAgIC8vICAgfVxyXG4gICAgICAvLyB9IGVsc2Uge1xyXG4gICAgICAvLyAgIHRoaXMub2JqZWN0U2VsZWN0ZWQuZm9yRWFjaChcclxuICAgICAgLy8gICAgICh2YWx1ZTogKHNlbGVjdG9yOiBDb21wb25lbnRTZWxlY3RvcikgPT4gdm9pZCkgPT4ge1xyXG4gICAgICAvLyAgICAgICB2YWx1ZSh0aGlzKTtcclxuICAgICAgLy8gICAgIH1cclxuICAgICAgLy8gICApO1xyXG4gICAgICAvLyAgIHNlbGVjdGlvbk1hbmFnZXIuY2xlYXJBbGxTZWxlY3Rpb25BbmRIaWdobGlnaHQoKTtcclxuICAgICAgLy8gICBzZWxlY3Rpb25NYW5hZ2VyLnNlbGVjdEFuZEhpZ2hsaWdodChbc2VnbWVudE9iamVjdF0pO1xyXG4gICAgICAvLyB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyB0aGlzLmNsaWNrUG9zID0gbmV3IEZsb2F0MzJBcnJheSgpO1xyXG4gICAgICB0aGlzLl9zZWxlY3Rpb25LZXkgPSBudWxsO1xyXG4gICAgICBpZiAoIXRoaXMuX2lzTXVsdGlTZWxlY3QgJiYgc2VsZWN0aW9uTWFuYWdlci5zZWxlY3RlZERhdGFzLmNvdW50KCkgPiAwKSB7XHJcbiAgICAgICAgc2VsZWN0aW9uTWFuYWdlci5jbGVhckFsbFNlbGVjdGlvbkFuZEhpZ2hsaWdodCgpO1xyXG4gICAgICAgIHRoaXMub2JqZWN0VW5TZWxlY3RlZC5mb3JFYWNoKFxyXG4gICAgICAgICAgKHZhbHVlOiAoc2VsZWN0b3I6IENvbXBvbmVudFNlbGVjdG9yKSA9PiB2b2lkKSA9PiB7XHJcbiAgICAgICAgICAgIHZhbHVlKHRoaXMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3RDb21wYXNzKHNlZ21lbnQ6IExvbmdhbi5TZWdtZW50KSB7XHJcbiAgICBzd2l0Y2ggKHNlZ21lbnQubmFtZSkge1xyXG4gICAgICBjYXNlIFwiQ29tcGFzc1VwXCI6XHJcbiAgICAgICAgdGhpcy52aWV3ZXIuc2V0Vmlld01vZGUoTG9uZ2FuLlZpZXdNb2RlLlhZKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBcIkNvbXBhc3NEb3duXCI6XHJcbiAgICAgICAgdGhpcy52aWV3ZXIuc2V0Vmlld01vZGUoTG9uZ2FuLlZpZXdNb2RlLllYKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBcIkNvbXBhc3NSaWdodFwiOlxyXG4gICAgICAgIHRoaXMudmlld2VyLnNldFZpZXdNb2RlKExvbmdhbi5WaWV3TW9kZS5aWCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJDb21wYXNzQmFja1wiOlxyXG4gICAgICAgIHRoaXMudmlld2VyLnNldFZpZXdNb2RlKExvbmdhbi5WaWV3TW9kZS5aWSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJDb21wYXNzTGVmdFwiOlxyXG4gICAgICAgIHRoaXMudmlld2VyLnNldFZpZXdNb2RlKExvbmdhbi5WaWV3TW9kZS5YWik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJDb21wYXNzRnJvbnRcIjpcclxuICAgICAgICB0aGlzLnZpZXdlci5zZXRWaWV3TW9kZShMb25nYW4uVmlld01vZGUuWVopO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./packages/bimAir/src/gsDevFx/operators/componentSelector.ts\n");
|
|
3998
3998
|
|
|
3999
3999
|
/***/ }),
|
|
4000
4000
|
|
|
@@ -4014,7 +4014,7 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_
|
|
|
4014
4014
|
\*********************************************************************/
|
|
4015
4015
|
/***/ (function(module, exports, __webpack_require__) {
|
|
4016
4016
|
|
|
4017
|
-
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.array-buffer.slice.js */ \"./node_modules/core-js/modules/es.array-buffer.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.float32-array.js */ \"./node_modules/core-js/modules/es.typed-array.float32-array.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.at.js */ \"./node_modules/core-js/modules/es.typed-array.at.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.copy-within.js */ \"./node_modules/core-js/modules/es.typed-array.copy-within.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.every.js */ \"./node_modules/core-js/modules/es.typed-array.every.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.fill.js */ \"./node_modules/core-js/modules/es.typed-array.fill.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.filter.js */ \"./node_modules/core-js/modules/es.typed-array.filter.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find.js */ \"./node_modules/core-js/modules/es.typed-array.find.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-last.js */ \"./node_modules/core-js/modules/es.typed-array.find-last.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-last-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-last-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.for-each.js */ \"./node_modules/core-js/modules/es.typed-array.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.includes.js */ \"./node_modules/core-js/modules/es.typed-array.includes.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.index-of.js */ \"./node_modules/core-js/modules/es.typed-array.index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.iterator.js */ \"./node_modules/core-js/modules/es.typed-array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.join.js */ \"./node_modules/core-js/modules/es.typed-array.join.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.last-index-of.js */ \"./node_modules/core-js/modules/es.typed-array.last-index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.map.js */ \"./node_modules/core-js/modules/es.typed-array.map.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce.js */ \"./node_modules/core-js/modules/es.typed-array.reduce.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce-right.js */ \"./node_modules/core-js/modules/es.typed-array.reduce-right.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reverse.js */ \"./node_modules/core-js/modules/es.typed-array.reverse.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.set.js */ \"./node_modules/core-js/modules/es.typed-array.set.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.slice.js */ \"./node_modules/core-js/modules/es.typed-array.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.some.js */ \"./node_modules/core-js/modules/es.typed-array.some.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.sort.js */ \"./node_modules/core-js/modules/es.typed-array.sort.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.subarray.js */ \"./node_modules/core-js/modules/es.typed-array.subarray.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-locale-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-locale-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! gs-longan/longan/segment */ \"./packages/longan/src/longan/segment.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, gs_longan_1, segment_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n exports.CuttingBoxOperator = void 0;\n\n var CuttingBoxOperator = function (_super) {\n tslib_1.__extends(CuttingBoxOperator, _super);\n\n function CuttingBoxOperator() {\n var _this = _super.call(this) || this;\n\n _this.typeName = \"CuttingBox\";\n _this._frontShell = null;\n _this._backShell = null;\n _this._leftShell = null;\n _this._rightShell = null;\n _this._topShell = null;\n _this._bottomShell = null;\n _this._cuttingBox = null;\n _this._downPos = null;\n _this._prePos = null;\n _this._boxVisible = true;\n return _this;\n }\n\n Object.defineProperty(CuttingBoxOperator.prototype, \"CuttingBox\", {\n get: function get() {\n return this._cuttingBox;\n },\n set: function set(value) {\n this._cuttingBox = value;\n this._cuttingBox.box = this._box;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CuttingBoxOperator.prototype, \"bb\", {\n get: function get() {\n return this._bb;\n },\n set: function set(value) {\n this._bb = new Float32Array(value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CuttingBoxOperator.prototype, \"box\", {\n get: function get() {\n return this._box;\n },\n set: function set(box) {\n this._box = box;\n this.updateBox();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CuttingBoxOperator.prototype, \"boxVisible\", {\n get: function get() {\n return this._boxVisible;\n },\n set: function set(value) {\n this._boxVisible = value;\n\n if (this._boxVisible) {\n this._cuttingBoxSegment.visibility.setFace(true).setBorder(true);\n\n this.viewer.updateDisplay();\n } else {\n this._cuttingBoxSegment.visibility.setFace(false).setBorder(false);\n\n this.viewer.updateDisplay();\n }\n },\n enumerable: false,\n configurable: true\n });\n\n CuttingBoxOperator.prototype.init = function () {\n this.logarithmicDepthBuffer = this.viewer.instanceObjectSegment.renderingOptions.logarithmicDepthBuffer;\n this.viewer.instanceObjectSegment.renderingOptions.logarithmicDepthBuffer = false;\n var bb = this._bb;\n this._box = new Float32Array(bb);\n this._cuttingBoxSegment = this.viewer.utilitySegment.subsegment(\"cutting box\");\n\n this._cuttingBoxSegment.color.setFace([64, 158, 255, 0.1]).setEdge([64, 158, 255, 1]);\n\n this._cuttingBoxSegment.visibility.setBorder(true);\n\n this._cuttingBoxSegment.selectability.setFace(segment_1.SelectabilityType.On);\n\n this._cuttingBoxSegment.renderingOptions.setDepthRange(0.1, 1).setSyncUpdate(true);\n\n this._cuttingBoxSegment.subsegment(\"highlight\").color.setFace([255, 160, 74, 0.2]).setEdge([255, 160, 74, 1]);\n\n var plane1 = new Float32Array([bb[0], bb[1], bb[5], bb[0], bb[1], bb[2], bb[3], bb[1], bb[2], bb[3], bb[1], bb[5]]);\n this._frontShell = this._cuttingBoxSegment.insertShell(plane1, [4, 0, 1, 2, 3]);\n var plane2 = new Float32Array([bb[0], bb[4], bb[5], bb[3], bb[4], bb[5], bb[3], bb[4], bb[2], bb[0], bb[4], bb[2]]);\n this._backShell = this._cuttingBoxSegment.insertShell(plane2, [4, 0, 1, 2, 3]);\n var plane3 = new Float32Array([bb[0], bb[1], bb[5], bb[0], bb[4], bb[5], bb[0], bb[4], bb[2], bb[0], bb[1], bb[2]]);\n this._leftShell = this._cuttingBoxSegment.insertShell(plane3, [4, 0, 1, 2, 3]);\n var plane4 = new Float32Array([bb[3], bb[4], bb[5], bb[3], bb[1], bb[5], bb[3], bb[1], bb[2], bb[3], bb[4], bb[2]]);\n this._rightShell = this._cuttingBoxSegment.insertShell(plane4, [4, 0, 1, 2, 3]);\n var plane5 = new Float32Array([bb[0], bb[1], bb[5], bb[3], bb[1], bb[5], bb[3], bb[4], bb[5], bb[0], bb[4], bb[5]]);\n this._topShell = this._cuttingBoxSegment.insertShell(plane5, [4, 0, 1, 2, 3]);\n var plane6 = new Float32Array([bb[0], bb[1], bb[2], bb[0], bb[4], bb[2], bb[3], bb[4], bb[2], bb[3], bb[1], bb[2]]);\n this._bottomShell = this._cuttingBoxSegment.insertShell(plane6, [4, 0, 1, 2, 3]);\n };\n\n CuttingBoxOperator.prototype.fina = function () {\n this.viewer.instanceObjectSegment.renderingOptions.logarithmicDepthBuffer = this.logarithmicDepthBuffer;\n\n this._cuttingBoxSegment.delete();\n\n this.viewer.updateDisplay();\n };\n\n CuttingBoxOperator.prototype.computePlaneNormal = function (plane) {\n var v1 = gs_longan_1.Point.subtract(plane.subarray(3, 6), plane.subarray(0, 3));\n var v2 = gs_longan_1.Point.subtract(plane.subarray(6, 9), plane.subarray(0, 3));\n var normal = gs_longan_1.Vector.cross(v1, v2);\n gs_longan_1.Vector.normalize(normal);\n return normal;\n };\n\n CuttingBoxOperator.prototype.updateBox = function () {\n var bb = this._box;\n var plane1 = new Float32Array([bb[0], bb[1], bb[5], bb[0], bb[1], bb[2], bb[3], bb[1], bb[2], bb[3], bb[1], bb[5]]);\n\n this._frontShell.edit(plane1, [4, 0, 1, 2, 3]);\n\n var plane2 = new Float32Array([bb[0], bb[4], bb[5], bb[3], bb[4], bb[5], bb[3], bb[4], bb[2], bb[0], bb[4], bb[2]]);\n\n this._backShell.edit(plane2, [4, 0, 1, 2, 3]);\n\n var plane3 = new Float32Array([bb[0], bb[1], bb[5], bb[0], bb[4], bb[5], bb[0], bb[4], bb[2], bb[0], bb[1], bb[2]]);\n\n this._leftShell.edit(plane3, [4, 0, 1, 2, 3]);\n\n var plane4 = new Float32Array([bb[3], bb[4], bb[5], bb[3], bb[1], bb[5], bb[3], bb[1], bb[2], bb[3], bb[4], bb[2]]);\n\n this._rightShell.edit(plane4, [4, 0, 1, 2, 3]);\n\n var plane5 = new Float32Array([bb[0], bb[1], bb[5], bb[3], bb[1], bb[5], bb[3], bb[4], bb[5], bb[0], bb[4], bb[5]]);\n\n this._topShell.edit(plane5, [4, 0, 1, 2, 3]);\n\n var plane6 = new Float32Array([bb[0], bb[1], bb[2], bb[0], bb[4], bb[2], bb[3], bb[4], bb[2], bb[3], bb[1], bb[2]]);\n\n this._bottomShell.edit(plane6, [4, 0, 1, 2, 3]);\n\n this._cuttingBox.box = this._box;\n };\n\n CuttingBoxOperator.prototype.onMouseMove = function (e) {\n if (this._downPos == null) {\n var selectionKeys = this.viewer.selectByPoint(e.mouseWindowPos());\n\n if (selectionKeys.count() > 0) {\n var selectedKey = selectionKeys.items[0];\n\n if (selectedKey.key === this._frontShell.key || selectedKey.key === this._backShell.key || selectedKey.key === this._leftShell.key || selectedKey.key === this._rightShell.key || selectedKey.key === this._topShell.key || selectedKey.key === this._bottomShell.key) {\n if (this._selectedShell != null) {\n if (this._selectedShell.owner.name == \"highlight\") {\n this._selectedShell.moveTo(this._selectedShell.owner.owner);\n }\n }\n\n var selectedShell = new gs_longan_1.Shell(selectedKey.key);\n selectedShell.moveTo(this._cuttingBoxSegment.subsegment(\"highlight\"));\n this.viewer.updateDisplay();\n this._selectedShell = selectedShell;\n this._selectionKey = selectedKey;\n this.viewer.canvas.style.cursor = \"pointer\";\n }\n } else {\n if (this._selectedShell != null) {\n if (this._selectedShell.owner.name == \"highlight\") {\n this._selectedShell.moveTo(this._selectedShell.owner.owner);\n\n this.viewer.updateDisplay();\n this.viewer.canvas.style.cursor = \"\";\n }\n }\n\n this._selectedShell = null;\n }\n } else {\n var selectionKeys = this.viewer.selectByPoint(e.mouseWindowPos());\n\n if (selectionKeys.count() > 0) {\n this._selectionKey = selectionKeys.items[0];\n }\n }\n\n _super.prototype.onMouseMove.call(this, e);\n };\n\n CuttingBoxOperator.prototype.onLButtonDown = function (e) {\n this.viewer.isBusy = true;\n\n if (this._selectionKey) {\n this._downPos = this._selectionKey.position;\n }\n\n this._prePos = this._downPos;\n\n _super.prototype.onLButtonDown.call(this, e);\n };\n\n CuttingBoxOperator.prototype.onLButtonUp = function (e) {\n this._downPos = null;\n this.viewer.isBusy = false;\n\n _super.prototype.onLButtonUp.call(this, e);\n };\n\n CuttingBoxOperator.prototype.onMButtonDown = function (e) {\n this._downPos = null;\n\n _super.prototype.onLButtonDown.call(this, e);\n };\n\n CuttingBoxOperator.prototype.onRButtonDown = function (e) {\n this._downPos = null;\n\n _super.prototype.onRButtonDown.call(this, e);\n };\n\n CuttingBoxOperator.prototype.onLButtonDownAndMove = function (e) {\n if (this._selectedShell != null && this._downPos != null && this._selectionKey) {\n var currentPos = this._selectionKey.position;\n var points = this._selectedShell.points;\n var v1 = gs_longan_1.Point.subtract(points.subarray(3, 6), points.subarray(0, 3));\n var v2 = gs_longan_1.Point.subtract(points.subarray(6, 9), points.subarray(0, 3));\n var normal = gs_longan_1.Vector.cross(v1, v2);\n gs_longan_1.Vector.normalize(normal);\n var worldRay = e.mouseWorldRay();\n var prePostion = gs_longan_1.GeometryOperators.closestPoint(this._prePos, worldRay, this._downPos, normal).rp1;\n var projectedPoint = gs_longan_1.GeometryOperators.closestPoint(currentPos, worldRay, this._downPos, normal).rp1;\n var delta = gs_longan_1.GeometryOperators.distance(projectedPoint, prePostion);\n\n if (this._selectedShell.equals(this._frontShell)) {\n if (projectedPoint[1] > this._prePos[1] && this._box[1] + delta < this._box[4]) {\n this._box[1] += delta;\n } else {\n this._box[1] -= delta;\n }\n\n this.updateBox();\n this.viewer.updateDisplay();\n } else if (this._selectedShell.equals(this._backShell)) {\n if (projectedPoint[1] < this._prePos[1] && this._box[4] - delta > this._box[1]) {\n this._box[4] -= delta;\n } else {\n this._box[4] += delta;\n }\n\n this.updateBox();\n this.viewer.updateDisplay();\n } else if (this._selectedShell.equals(this._leftShell)) {\n if (projectedPoint[0] > this._prePos[0] && this._box[0] + delta < this._box[3]) {\n this._box[0] += delta;\n } else {\n this._box[0] -= delta;\n }\n\n this.updateBox();\n this.viewer.updateDisplay();\n } else if (this._selectedShell.equals(this._rightShell)) {\n if (projectedPoint[0] < this._prePos[0] && this._box[3] - delta > this._box[0]) {\n this._box[3] -= delta;\n } else {\n this._box[3] += delta;\n }\n\n this.updateBox();\n this.viewer.updateDisplay();\n } else if (this._selectedShell.equals(this._bottomShell)) {\n if (projectedPoint[2] > this._prePos[2] && this._box[2] + delta < this._box[5]) {\n this._box[2] += delta;\n } else {\n this._box[2] -= delta;\n }\n\n this.updateBox();\n this.viewer.updateDisplay();\n } else if (this._selectedShell.equals(this._topShell)) {\n if (projectedPoint[2] < this._prePos[2] && this._box[5] - delta > this._box[2]) {\n this._box[5] -= delta;\n } else {\n this._box[5] += delta;\n }\n\n this.updateBox();\n this.viewer.updateDisplay();\n }\n\n this._prePos = projectedPoint;\n }\n\n _super.prototype.onLButtonDownAndMove.call(this, e);\n };\n\n CuttingBoxOperator.prototype.setYValue = function (start, end) {\n var y_len = (this._bb[4] - this._bb[1]) * start;\n var pos = this._bb[1] + y_len;\n\n if (pos < this._box[4]) {\n this._box[1] = pos;\n }\n\n y_len = (this._bb[4] - this._bb[1]) * (1 - end);\n pos = this._bb[4] - y_len;\n\n if (pos > this._box[1]) {\n this._box[4] = pos;\n }\n\n this.updateBox();\n this.viewer.updateDisplay();\n };\n\n CuttingBoxOperator.prototype.setXValue = function (start, end) {\n var x_len = (this._bb[3] - this._bb[0]) * start;\n var pos = this._bb[0] + x_len;\n\n if (pos < this._box[3]) {\n this._box[0] = pos;\n }\n\n x_len = (this._bb[3] - this._bb[0]) * (1 - end);\n pos = this._bb[3] - x_len;\n\n if (pos > this._box[0]) {\n this._box[3] = pos;\n }\n\n this.updateBox();\n this.viewer.updateDisplay();\n };\n\n CuttingBoxOperator.prototype.setZValue = function (start, end) {\n var z_len = (this._bb[5] - this._bb[2]) * start;\n var pos = this._bb[2] + z_len;\n\n if (pos < this._box[5]) {\n this._box[2] = pos;\n }\n\n z_len = (this._bb[5] - this._bb[2]) * (1 - end);\n pos = this._bb[5] - z_len;\n\n if (pos > this._box[2]) {\n this._box[5] = pos;\n }\n\n this.updateBox();\n this.viewer.updateDisplay();\n };\n\n return CuttingBoxOperator;\n }(gs_longan_1.ViewerOperator);\n\n exports.CuttingBoxOperator = CuttingBoxOperator;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2Rngvb3BlcmF0b3JzL2N1dHRpbmdCb3hPcGVyYXRvci50cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBYUE7QUFBQTs7QUFtRUE7QUFBQTs7QUFsRUE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUtBO0FBQ0E7QUFFQTs7QUErQ0E7O0FBNUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFQQTs7QUFBQTtBQVNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBTkE7O0FBQUE7QUFRQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBUEE7O0FBQUE7QUFTQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBO0FBZEE7O0FBQUE7O0FBb0JBO0FBQ0E7QUFFQTtBQVFBO0FBQ0E7QUFFQTs7QUFFQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFJQTs7QUFXQTtBQWNBO0FBS0E7QUFjQTtBQUtBO0FBY0E7QUFLQTtBQWNBO0FBS0E7QUFjQTtBQUtBO0FBY0E7QUFTQTs7QUFFQTtBQUNBOztBQUVBOztBQUlBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUdBOztBQWNBOztBQUVBOztBQWNBOztBQUVBOztBQWNBOztBQUVBOztBQWNBOztBQUVBOztBQWNBOztBQUVBOztBQWNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBRUE7QUFDQTs7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQU1BO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFNQTtBQU9BOztBQUVBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFDQTtBQUFBOztBQTlrQkEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9iaW1saWdodC1wbGF0Zm9ybS8uL3BhY2thZ2VzL2JpbUFpci9zcmMvZ3NEZXZGeC9vcGVyYXRvcnMvY3V0dGluZ0JveE9wZXJhdG9yLnRzPzkzZDMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBHZW9tZXRyeU9wZXJhdG9ycyxcclxuICBQb2ludCxcclxuICBTZWdtZW50LFxyXG4gIFNlbGVjdGlvbktleSxcclxuICBTaGVsbCxcclxuICBWZWN0b3IsXHJcbiAgVmlld2VyT3BlcmF0b3IsXHJcbn0gZnJvbSBcImdzLWxvbmdhblwiO1xyXG5pbXBvcnQgeyBWaWV3ZXJFdmVudCB9IGZyb20gXCJncy1sb25nYW4vbG9uZ2FuL2dzLnZpZXdlclwiO1xyXG5pbXBvcnQgeyBTZWxlY3RhYmlsaXR5VHlwZSB9IGZyb20gXCJncy1sb25nYW4vbG9uZ2FuL3NlZ21lbnRcIjtcclxuaW1wb3J0IHsgQ3V0dGluZ0JveE9iamVjdCB9IGZyb20gXCIuLi9vYmplY3RzL2N1dHRpbmdPYmplY3RzL2N1dHRpbmdCb3hPYmplY3RcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBDdXR0aW5nQm94T3BlcmF0b3IgZXh0ZW5kcyBWaWV3ZXJPcGVyYXRvciB7XHJcbiAgdHlwZU5hbWU6IHN0cmluZyA9IFwiQ3V0dGluZ0JveFwiO1xyXG5cclxuICBfYmI6IEZsb2F0MzJBcnJheTtcclxuICBfYm94OiBGbG9hdDMyQXJyYXk7XHJcbiAgX2N1dHRpbmdCb3hTZWdtZW50OiBTZWdtZW50O1xyXG5cclxuICBfZnJvbnRTaGVsbDogU2hlbGwgPSBudWxsO1xyXG4gIF9iYWNrU2hlbGw6IFNoZWxsID0gbnVsbDtcclxuICBfbGVmdFNoZWxsOiBTaGVsbCA9IG51bGw7XHJcbiAgX3JpZ2h0U2hlbGw6IFNoZWxsID0gbnVsbDtcclxuICBfdG9wU2hlbGw6IFNoZWxsID0gbnVsbDtcclxuICBfYm90dG9tU2hlbGw6IFNoZWxsID0gbnVsbDtcclxuXHJcbiAgX2N1dHRpbmdCb3g6IEN1dHRpbmdCb3hPYmplY3QgPSBudWxsO1xyXG5cclxuICBfc2VsZWN0aW9uS2V5OiBTZWxlY3Rpb25LZXk7XHJcbiAgX3NlbGVjdGVkU2hlbGw6IFNoZWxsO1xyXG5cclxuICBfZG93blBvczogRmxvYXQzMkFycmF5ID0gbnVsbDtcclxuICBfcHJlUG9zOiBGbG9hdDMyQXJyYXkgPSBudWxsO1xyXG5cclxuICBfYm94VmlzaWJsZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgbG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcjtcclxuXHJcbiAgcHVibGljIGdldCBDdXR0aW5nQm94KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2N1dHRpbmdCb3g7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IEN1dHRpbmdCb3godmFsdWU6IEN1dHRpbmdCb3hPYmplY3QpIHtcclxuICAgIHRoaXMuX2N1dHRpbmdCb3ggPSB2YWx1ZTtcclxuICAgIHRoaXMuX2N1dHRpbmdCb3guYm94ID0gdGhpcy5fYm94O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBiYigpIHtcclxuICAgIHJldHVybiB0aGlzLl9iYjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgYmIodmFsdWU6IEFycmF5TGlrZTxudW1iZXI+KSB7XHJcbiAgICB0aGlzLl9iYiA9IG5ldyBGbG9hdDMyQXJyYXkodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBib3goKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fYm94O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBib3goYm94OiBGbG9hdDMyQXJyYXkpIHtcclxuICAgIHRoaXMuX2JveCA9IGJveDtcclxuICAgIHRoaXMudXBkYXRlQm94KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGJveFZpc2libGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fYm94VmlzaWJsZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgYm94VmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fYm94VmlzaWJsZSA9IHZhbHVlO1xyXG5cclxuICAgIGlmICh0aGlzLl9ib3hWaXNpYmxlKSB7XHJcbiAgICAgIHRoaXMuX2N1dHRpbmdCb3hTZWdtZW50LnZpc2liaWxpdHkuc2V0RmFjZSh0cnVlKS5zZXRCb3JkZXIodHJ1ZSk7XHJcbiAgICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2N1dHRpbmdCb3hTZWdtZW50LnZpc2liaWxpdHkuc2V0RmFjZShmYWxzZSkuc2V0Qm9yZGVyKGZhbHNlKTtcclxuICAgICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgaW5pdCgpIHtcclxuICAgIHRoaXMubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlciA9XHJcbiAgICAgIHRoaXMudmlld2VyLmluc3RhbmNlT2JqZWN0U2VnbWVudC5yZW5kZXJpbmdPcHRpb25zLmxvZ2FyaXRobWljRGVwdGhCdWZmZXI7XHJcbiAgICB0aGlzLnZpZXdlci5pbnN0YW5jZU9iamVjdFNlZ21lbnQucmVuZGVyaW5nT3B0aW9ucy5sb2dhcml0aG1pY0RlcHRoQnVmZmVyID1cclxuICAgICAgZmFsc2U7XHJcbiAgICAvLyBsZXQgYmIgPSB0aGlzLnZpZXdlci5jb21wdXRlQm91bmRpbmdCb3godGhpcy52aWV3ZXIuc2NlbmVTZWdtZW50KTtcclxuXHJcbiAgICAvLyBjb25zb2xlLmxvZyhcImN1dHRpbmcgYmI6IFwiLCBiYik7XHJcblxyXG4gICAgLy8gdGhpcy5fYmIgPSBiYjtcclxuXHJcbiAgICBsZXQgYmIgPSB0aGlzLl9iYjtcclxuICAgIHRoaXMuX2JveCA9IG5ldyBGbG9hdDMyQXJyYXkoYmIpO1xyXG5cclxuICAgIHRoaXMuX2N1dHRpbmdCb3hTZWdtZW50ID1cclxuICAgICAgdGhpcy52aWV3ZXIudXRpbGl0eVNlZ21lbnQuc3Vic2VnbWVudChcImN1dHRpbmcgYm94XCIpO1xyXG4gICAgdGhpcy5fY3V0dGluZ0JveFNlZ21lbnQuY29sb3JcclxuICAgICAgLnNldEZhY2UoWzY0LCAxNTgsIDI1NSwgMC4xXSlcclxuICAgICAgLnNldEVkZ2UoWzY0LCAxNTgsIDI1NSwgMV0pO1xyXG4gICAgdGhpcy5fY3V0dGluZ0JveFNlZ21lbnQudmlzaWJpbGl0eS5zZXRCb3JkZXIodHJ1ZSk7XHJcbiAgICB0aGlzLl9jdXR0aW5nQm94U2VnbWVudC5zZWxlY3RhYmlsaXR5LnNldEZhY2UoU2VsZWN0YWJpbGl0eVR5cGUuT24pO1xyXG4gICAgdGhpcy5fY3V0dGluZ0JveFNlZ21lbnQucmVuZGVyaW5nT3B0aW9uc1xyXG4gICAgICAuc2V0RGVwdGhSYW5nZSgwLjEsIDEpXHJcbiAgICAgIC5zZXRTeW5jVXBkYXRlKHRydWUpO1xyXG5cclxuICAgIHRoaXMuX2N1dHRpbmdCb3hTZWdtZW50XHJcbiAgICAgIC5zdWJzZWdtZW50KFwiaGlnaGxpZ2h0XCIpXHJcbiAgICAgIC5jb2xvci5zZXRGYWNlKFsyNTUsIDE2MCwgNzQsIDAuMl0pXHJcbiAgICAgIC5zZXRFZGdlKFsyNTUsIDE2MCwgNzQsIDFdKTtcclxuICAgIC8vIHRoaXMuX2N1dHRpbmdCb3hTZWdtZW50LnN1YnNlZ21lbnQoXCJoaWdobGlnaHRcIikucmVuZGVyaW5nT3B0aW9ucy5zZXREZXB0aFJhbmdlKDAuMSwgMC4yKTtcclxuXHJcbiAgICAvLyBiYlswXSA9IChiYlswXSArIGJiWzNdKSAvIDIuMDtcclxuICAgIC8vIGJiWzFdID0gKGJiWzFdICsgYmJbNF0pIC8gMi4wO1xyXG5cclxuICAgIC8v5Yib5bu65YWt6Z2i5L2T55uS5a2QXHJcbiAgICAvL2Zyb250XHJcbiAgICBsZXQgcGxhbmUxID0gbmV3IEZsb2F0MzJBcnJheShbXHJcbiAgICAgIGJiWzBdLFxyXG4gICAgICBiYlsxXSxcclxuICAgICAgYmJbNV0sXHJcbiAgICAgIGJiWzBdLFxyXG4gICAgICBiYlsxXSxcclxuICAgICAgYmJbMl0sXHJcbiAgICAgIGJiWzNdLFxyXG4gICAgICBiYlsxXSxcclxuICAgICAgYmJbMl0sXHJcbiAgICAgIGJiWzNdLFxyXG4gICAgICBiYlsxXSxcclxuICAgICAgYmJbNV0sXHJcbiAgICBdKTtcclxuICAgIHRoaXMuX2Zyb250U2hlbGwgPSB0aGlzLl9jdXR0aW5nQm94U2VnbWVudC5pbnNlcnRTaGVsbChcclxuICAgICAgcGxhbmUxLFxyXG4gICAgICBbNCwgMCwgMSwgMiwgM11cclxuICAgICk7XHJcbiAgICAvL2JhY2tcclxuICAgIGxldCBwbGFuZTIgPSBuZXcgRmxvYXQzMkFycmF5KFtcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYls1XSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYls1XSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYlsyXSxcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYlsyXSxcclxuICAgIF0pO1xyXG4gICAgdGhpcy5fYmFja1NoZWxsID0gdGhpcy5fY3V0dGluZ0JveFNlZ21lbnQuaW5zZXJ0U2hlbGwoXHJcbiAgICAgIHBsYW5lMixcclxuICAgICAgWzQsIDAsIDEsIDIsIDNdXHJcbiAgICApO1xyXG4gICAgLy9sZWZ0XHJcbiAgICBsZXQgcGxhbmUzID0gbmV3IEZsb2F0MzJBcnJheShbXHJcbiAgICAgIGJiWzBdLFxyXG4gICAgICBiYlsxXSxcclxuICAgICAgYmJbNV0sXHJcbiAgICAgIGJiWzBdLFxyXG4gICAgICBiYls0XSxcclxuICAgICAgYmJbNV0sXHJcbiAgICAgIGJiWzBdLFxyXG4gICAgICBiYls0XSxcclxuICAgICAgYmJbMl0sXHJcbiAgICAgIGJiWzBdLFxyXG4gICAgICBiYlsxXSxcclxuICAgICAgYmJbMl0sXHJcbiAgICBdKTtcclxuICAgIHRoaXMuX2xlZnRTaGVsbCA9IHRoaXMuX2N1dHRpbmdCb3hTZWdtZW50Lmluc2VydFNoZWxsKFxyXG4gICAgICBwbGFuZTMsXHJcbiAgICAgIFs0LCAwLCAxLCAyLCAzXVxyXG4gICAgKTtcclxuICAgIC8vcmlnaHRcclxuICAgIGxldCBwbGFuZTQgPSBuZXcgRmxvYXQzMkFycmF5KFtcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYls1XSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYls1XSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYlsyXSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYlsyXSxcclxuICAgIF0pO1xyXG4gICAgdGhpcy5fcmlnaHRTaGVsbCA9IHRoaXMuX2N1dHRpbmdCb3hTZWdtZW50Lmluc2VydFNoZWxsKFxyXG4gICAgICBwbGFuZTQsXHJcbiAgICAgIFs0LCAwLCAxLCAyLCAzXVxyXG4gICAgKTtcclxuICAgIC8vdG9wXHJcbiAgICBsZXQgcGxhbmU1ID0gbmV3IEZsb2F0MzJBcnJheShbXHJcbiAgICAgIGJiWzBdLFxyXG4gICAgICBiYlsxXSxcclxuICAgICAgYmJbNV0sXHJcbiAgICAgIGJiWzNdLFxyXG4gICAgICBiYlsxXSxcclxuICAgICAgYmJbNV0sXHJcbiAgICAgIGJiWzNdLFxyXG4gICAgICBiYls0XSxcclxuICAgICAgYmJbNV0sXHJcbiAgICAgIGJiWzBdLFxyXG4gICAgICBiYls0XSxcclxuICAgICAgYmJbNV0sXHJcbiAgICBdKTtcclxuICAgIHRoaXMuX3RvcFNoZWxsID0gdGhpcy5fY3V0dGluZ0JveFNlZ21lbnQuaW5zZXJ0U2hlbGwoXHJcbiAgICAgIHBsYW5lNSxcclxuICAgICAgWzQsIDAsIDEsIDIsIDNdXHJcbiAgICApO1xyXG4gICAgLy9ib3R0b21cclxuICAgIGxldCBwbGFuZTYgPSBuZXcgRmxvYXQzMkFycmF5KFtcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYlsyXSxcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYlsyXSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYlsyXSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYlsyXSxcclxuICAgIF0pO1xyXG4gICAgdGhpcy5fYm90dG9tU2hlbGwgPSB0aGlzLl9jdXR0aW5nQm94U2VnbWVudC5pbnNlcnRTaGVsbChcclxuICAgICAgcGxhbmU2LFxyXG4gICAgICBbNCwgMCwgMSwgMiwgM11cclxuICAgICk7XHJcblxyXG4gICAgLy8gbGV0IG1vZGVsU2VnbWVudCA9IHRoaXMudmlld2VyLmluc3RhbmNlT2JqZWN0LnNlZ21lbnQgYXMgU2VnbWVudDtcclxuICAgIC8vIG1vZGVsU2VnbWVudC5zZWxlY3RhYmlsaXR5LnNldEZhY2UoU2VsZWN0YWJpbGl0eVR5cGUuT2ZmKS5zZXRMaW5lKFNlbGVjdGFiaWxpdHlUeXBlLk9mZikuc2V0TWFya2VyKFNlbGVjdGFiaWxpdHlUeXBlLk9mZik7XHJcblxyXG4gICAgLy8gdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xyXG4gIH1cclxuXHJcbiAgZmluYSgpIHtcclxuICAgIHRoaXMudmlld2VyLmluc3RhbmNlT2JqZWN0U2VnbWVudC5yZW5kZXJpbmdPcHRpb25zLmxvZ2FyaXRobWljRGVwdGhCdWZmZXIgPVxyXG4gICAgICB0aGlzLmxvZ2FyaXRobWljRGVwdGhCdWZmZXI7XHJcbiAgICB0aGlzLl9jdXR0aW5nQm94U2VnbWVudC5kZWxldGUoKTtcclxuXHJcbiAgICAvLyB0aGlzLnZpZXdlci5pbnN0YW5jZU9iamVjdC5zZWdtZW50LnNlbGVjdGFiaWxpdHkudW5zZXQoKTtcclxuXHJcbiAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XHJcbiAgfVxyXG5cclxuICBjb21wdXRlUGxhbmVOb3JtYWwocGxhbmU6IEZsb2F0MzJBcnJheSk6IEZsb2F0MzJBcnJheSB7XHJcbiAgICBsZXQgdjEgPSBQb2ludC5zdWJ0cmFjdChwbGFuZS5zdWJhcnJheSgzLCA2KSwgcGxhbmUuc3ViYXJyYXkoMCwgMykpO1xyXG4gICAgbGV0IHYyID0gUG9pbnQuc3VidHJhY3QocGxhbmUuc3ViYXJyYXkoNiwgOSksIHBsYW5lLnN1YmFycmF5KDAsIDMpKTtcclxuICAgIGxldCBub3JtYWwgPSBWZWN0b3IuY3Jvc3ModjEsIHYyKTtcclxuICAgIFZlY3Rvci5ub3JtYWxpemUobm9ybWFsKTtcclxuXHJcbiAgICByZXR1cm4gbm9ybWFsO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQm94KCkge1xyXG4gICAgbGV0IGJiID0gdGhpcy5fYm94O1xyXG5cclxuICAgIC8vZnJvbnRcclxuICAgIGxldCBwbGFuZTEgPSBuZXcgRmxvYXQzMkFycmF5KFtcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYls1XSxcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYlsyXSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYlsyXSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYls1XSxcclxuICAgIF0pO1xyXG4gICAgdGhpcy5fZnJvbnRTaGVsbC5lZGl0KHBsYW5lMSwgWzQsIDAsIDEsIDIsIDNdKTtcclxuICAgIC8vYmFja1xyXG4gICAgbGV0IHBsYW5lMiA9IG5ldyBGbG9hdDMyQXJyYXkoW1xyXG4gICAgICBiYlswXSxcclxuICAgICAgYmJbNF0sXHJcbiAgICAgIGJiWzVdLFxyXG4gICAgICBiYlszXSxcclxuICAgICAgYmJbNF0sXHJcbiAgICAgIGJiWzVdLFxyXG4gICAgICBiYlszXSxcclxuICAgICAgYmJbNF0sXHJcbiAgICAgIGJiWzJdLFxyXG4gICAgICBiYlswXSxcclxuICAgICAgYmJbNF0sXHJcbiAgICAgIGJiWzJdLFxyXG4gICAgXSk7XHJcbiAgICB0aGlzLl9iYWNrU2hlbGwuZWRpdChwbGFuZTIsIFs0LCAwLCAxLCAyLCAzXSk7XHJcbiAgICAvL2xlZnRcclxuICAgIGxldCBwbGFuZTMgPSBuZXcgRmxvYXQzMkFycmF5KFtcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYls1XSxcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYls1XSxcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYlsyXSxcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYlsyXSxcclxuICAgIF0pO1xyXG4gICAgdGhpcy5fbGVmdFNoZWxsLmVkaXQocGxhbmUzLCBbNCwgMCwgMSwgMiwgM10pO1xyXG4gICAgLy9yaWdodFxyXG4gICAgbGV0IHBsYW5lNCA9IG5ldyBGbG9hdDMyQXJyYXkoW1xyXG4gICAgICBiYlszXSxcclxuICAgICAgYmJbNF0sXHJcbiAgICAgIGJiWzVdLFxyXG4gICAgICBiYlszXSxcclxuICAgICAgYmJbMV0sXHJcbiAgICAgIGJiWzVdLFxyXG4gICAgICBiYlszXSxcclxuICAgICAgYmJbMV0sXHJcbiAgICAgIGJiWzJdLFxyXG4gICAgICBiYlszXSxcclxuICAgICAgYmJbNF0sXHJcbiAgICAgIGJiWzJdLFxyXG4gICAgXSk7XHJcbiAgICB0aGlzLl9yaWdodFNoZWxsLmVkaXQocGxhbmU0LCBbNCwgMCwgMSwgMiwgM10pO1xyXG4gICAgLy90b3BcclxuICAgIGxldCBwbGFuZTUgPSBuZXcgRmxvYXQzMkFycmF5KFtcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYls1XSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYls1XSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYls1XSxcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYls1XSxcclxuICAgIF0pO1xyXG4gICAgdGhpcy5fdG9wU2hlbGwuZWRpdChwbGFuZTUsIFs0LCAwLCAxLCAyLCAzXSk7XHJcbiAgICAvL2JvdHRvbVxyXG4gICAgbGV0IHBsYW5lNiA9IG5ldyBGbG9hdDMyQXJyYXkoW1xyXG4gICAgICBiYlswXSxcclxuICAgICAgYmJbMV0sXHJcbiAgICAgIGJiWzJdLFxyXG4gICAgICBiYlswXSxcclxuICAgICAgYmJbNF0sXHJcbiAgICAgIGJiWzJdLFxyXG4gICAgICBiYlszXSxcclxuICAgICAgYmJbNF0sXHJcbiAgICAgIGJiWzJdLFxyXG4gICAgICBiYlszXSxcclxuICAgICAgYmJbMV0sXHJcbiAgICAgIGJiWzJdLFxyXG4gICAgXSk7XHJcbiAgICB0aGlzLl9ib3R0b21TaGVsbC5lZGl0KHBsYW5lNiwgWzQsIDAsIDEsIDIsIDNdKTtcclxuXHJcbiAgICB0aGlzLl9jdXR0aW5nQm94LmJveCA9IHRoaXMuX2JveDtcclxuICB9XHJcblxyXG4gIG9uTW91c2VNb3ZlKGU6IFZpZXdlckV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5fZG93blBvcyA9PSBudWxsKSB7XHJcbiAgICAgIGxldCBzZWxlY3Rpb25LZXlzID0gdGhpcy52aWV3ZXIuc2VsZWN0QnlQb2ludChlLm1vdXNlV2luZG93UG9zKCkpO1xyXG5cclxuICAgICAgaWYgKHNlbGVjdGlvbktleXMuY291bnQoKSA+IDApIHtcclxuICAgICAgICBsZXQgc2VsZWN0ZWRLZXkgPSBzZWxlY3Rpb25LZXlzLml0ZW1zWzBdO1xyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBzZWxlY3RlZEtleS5rZXkgPT09IHRoaXMuX2Zyb250U2hlbGwua2V5IHx8XHJcbiAgICAgICAgICBzZWxlY3RlZEtleS5rZXkgPT09IHRoaXMuX2JhY2tTaGVsbC5rZXkgfHxcclxuICAgICAgICAgIHNlbGVjdGVkS2V5LmtleSA9PT0gdGhpcy5fbGVmdFNoZWxsLmtleSB8fFxyXG4gICAgICAgICAgc2VsZWN0ZWRLZXkua2V5ID09PSB0aGlzLl9yaWdodFNoZWxsLmtleSB8fFxyXG4gICAgICAgICAgc2VsZWN0ZWRLZXkua2V5ID09PSB0aGlzLl90b3BTaGVsbC5rZXkgfHxcclxuICAgICAgICAgIHNlbGVjdGVkS2V5LmtleSA9PT0gdGhpcy5fYm90dG9tU2hlbGwua2V5XHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRTaGVsbCAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZFNoZWxsLm93bmVyLm5hbWUgPT0gXCJoaWdobGlnaHRcIikge1xyXG4gICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkU2hlbGwubW92ZVRvKHRoaXMuX3NlbGVjdGVkU2hlbGwub3duZXIub3duZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgbGV0IHNlbGVjdGVkU2hlbGwgPSBuZXcgU2hlbGwoc2VsZWN0ZWRLZXkua2V5KTtcclxuICAgICAgICAgIHNlbGVjdGVkU2hlbGwubW92ZVRvKHRoaXMuX2N1dHRpbmdCb3hTZWdtZW50LnN1YnNlZ21lbnQoXCJoaWdobGlnaHRcIikpO1xyXG4gICAgICAgICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xyXG5cclxuICAgICAgICAgIHRoaXMuX3NlbGVjdGVkU2hlbGwgPSBzZWxlY3RlZFNoZWxsO1xyXG4gICAgICAgICAgdGhpcy5fc2VsZWN0aW9uS2V5ID0gc2VsZWN0ZWRLZXk7XHJcblxyXG4gICAgICAgICAgdGhpcy52aWV3ZXIuY2FudmFzLnN0eWxlLmN1cnNvciA9IFwicG9pbnRlclwiO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRTaGVsbCAhPSBudWxsKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRTaGVsbC5vd25lci5uYW1lID09IFwiaGlnaGxpZ2h0XCIpIHtcclxuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRTaGVsbC5tb3ZlVG8odGhpcy5fc2VsZWN0ZWRTaGVsbC5vd25lci5vd25lcik7XHJcbiAgICAgICAgICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMudmlld2VyLmNhbnZhcy5zdHlsZS5jdXJzb3IgPSBcIlwiO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRTaGVsbCA9IG51bGw7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBzZWxlY3Rpb25LZXlzID0gdGhpcy52aWV3ZXIuc2VsZWN0QnlQb2ludChlLm1vdXNlV2luZG93UG9zKCkpO1xyXG5cclxuICAgICAgaWYgKHNlbGVjdGlvbktleXMuY291bnQoKSA+IDApIHtcclxuICAgICAgICB0aGlzLl9zZWxlY3Rpb25LZXkgPSBzZWxlY3Rpb25LZXlzLml0ZW1zWzBdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3VwZXIub25Nb3VzZU1vdmUoZSk7XHJcbiAgfVxyXG5cclxuICBvbkxCdXR0b25Eb3duKGU6IFZpZXdlckV2ZW50KSB7XHJcbiAgICB0aGlzLnZpZXdlci5pc0J1c3kgPSB0cnVlO1xyXG5cclxuICAgIGlmICh0aGlzLl9zZWxlY3Rpb25LZXkpIHtcclxuICAgICAgLy90aGlzLl9kb3duUG9zID0gZS5tb3VzZVpXb3JsZFBvcyh0aGlzLl9zZWxlY3Rpb25LZXkud2luUG9zaXRpb25bMl0pO1xyXG4gICAgICB0aGlzLl9kb3duUG9zID0gdGhpcy5fc2VsZWN0aW9uS2V5LnBvc2l0aW9uIGFzIEZsb2F0MzJBcnJheTtcclxuICAgIH1cclxuICAgIHRoaXMuX3ByZVBvcyA9IHRoaXMuX2Rvd25Qb3M7XHJcblxyXG4gICAgc3VwZXIub25MQnV0dG9uRG93bihlKTtcclxuICB9XHJcblxyXG4gIG9uTEJ1dHRvblVwKGU6IFZpZXdlckV2ZW50KSB7XHJcbiAgICB0aGlzLl9kb3duUG9zID0gbnVsbDtcclxuXHJcbiAgICB0aGlzLnZpZXdlci5pc0J1c3kgPSBmYWxzZTtcclxuXHJcbiAgICBzdXBlci5vbkxCdXR0b25VcChlKTtcclxuICB9XHJcblxyXG4gIG9uTUJ1dHRvbkRvd24oZTogVmlld2VyRXZlbnQpIHtcclxuICAgIHRoaXMuX2Rvd25Qb3MgPSBudWxsO1xyXG5cclxuICAgIHN1cGVyLm9uTEJ1dHRvbkRvd24oZSk7XHJcbiAgfVxyXG5cclxuICBvblJCdXR0b25Eb3duKGU6IFZpZXdlckV2ZW50KSB7XHJcbiAgICB0aGlzLl9kb3duUG9zID0gbnVsbDtcclxuXHJcbiAgICBzdXBlci5vblJCdXR0b25Eb3duKGUpO1xyXG4gIH1cclxuXHJcbiAgb25MQnV0dG9uRG93bkFuZE1vdmUoZTogVmlld2VyRXZlbnQpIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5fc2VsZWN0ZWRTaGVsbCAhPSBudWxsICYmXHJcbiAgICAgIHRoaXMuX2Rvd25Qb3MgIT0gbnVsbCAmJlxyXG4gICAgICB0aGlzLl9zZWxlY3Rpb25LZXlcclxuICAgICkge1xyXG4gICAgICAvLyBsZXQgY3VycmVudFBvcyA9IGUubW91c2VaV29ybGRQb3ModGhpcy5fc2VsZWN0aW9uS2V5LndpblBvc2l0aW9uWzJdKTtcclxuICAgICAgbGV0IGN1cnJlbnRQb3MgPSB0aGlzLl9zZWxlY3Rpb25LZXkucG9zaXRpb24gYXMgRmxvYXQzMkFycmF5O1xyXG5cclxuICAgICAgbGV0IHBvaW50cyA9IHRoaXMuX3NlbGVjdGVkU2hlbGwucG9pbnRzO1xyXG4gICAgICBsZXQgdjEgPSBQb2ludC5zdWJ0cmFjdChwb2ludHMuc3ViYXJyYXkoMywgNiksIHBvaW50cy5zdWJhcnJheSgwLCAzKSk7XHJcbiAgICAgIGxldCB2MiA9IFBvaW50LnN1YnRyYWN0KHBvaW50cy5zdWJhcnJheSg2LCA5KSwgcG9pbnRzLnN1YmFycmF5KDAsIDMpKTtcclxuICAgICAgbGV0IG5vcm1hbCA9IFZlY3Rvci5jcm9zcyh2MSwgdjIpO1xyXG4gICAgICBWZWN0b3Iubm9ybWFsaXplKG5vcm1hbCk7XHJcblxyXG4gICAgICBsZXQgd29ybGRSYXkgPSBlLm1vdXNlV29ybGRSYXkoKTtcclxuXHJcbiAgICAgIGxldCBwcmVQb3N0aW9uID0gR2VvbWV0cnlPcGVyYXRvcnMuY2xvc2VzdFBvaW50KFxyXG4gICAgICAgIHRoaXMuX3ByZVBvcyxcclxuICAgICAgICB3b3JsZFJheSxcclxuICAgICAgICB0aGlzLl9kb3duUG9zLFxyXG4gICAgICAgIG5vcm1hbFxyXG4gICAgICApLnJwMTtcclxuICAgICAgbGV0IHByb2plY3RlZFBvaW50ID0gR2VvbWV0cnlPcGVyYXRvcnMuY2xvc2VzdFBvaW50KFxyXG4gICAgICAgIGN1cnJlbnRQb3MsXHJcbiAgICAgICAgd29ybGRSYXksXHJcbiAgICAgICAgdGhpcy5fZG93blBvcyxcclxuICAgICAgICBub3JtYWxcclxuICAgICAgKS5ycDE7XHJcblxyXG4gICAgICBsZXQgZGVsdGEgPSBHZW9tZXRyeU9wZXJhdG9ycy5kaXN0YW5jZShwcm9qZWN0ZWRQb2ludCwgcHJlUG9zdGlvbik7XHJcblxyXG4gICAgICBpZiAodGhpcy5fc2VsZWN0ZWRTaGVsbC5lcXVhbHModGhpcy5fZnJvbnRTaGVsbCkpIHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBwcm9qZWN0ZWRQb2ludFsxXSA+IHRoaXMuX3ByZVBvc1sxXSAmJlxyXG4gICAgICAgICAgdGhpcy5fYm94WzFdICsgZGVsdGEgPCB0aGlzLl9ib3hbNF1cclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuX2JveFsxXSArPSBkZWx0YTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5fYm94WzFdIC09IGRlbHRhO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnVwZGF0ZUJveCgpO1xyXG4gICAgICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLl9zZWxlY3RlZFNoZWxsLmVxdWFscyh0aGlzLl9iYWNrU2hlbGwpKSB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgcHJvamVjdGVkUG9pbnRbMV0gPCB0aGlzLl9wcmVQb3NbMV0gJiZcclxuICAgICAgICAgIHRoaXMuX2JveFs0XSAtIGRlbHRhID4gdGhpcy5fYm94WzFdXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLl9ib3hbNF0gLT0gZGVsdGE7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2JveFs0XSArPSBkZWx0YTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy51cGRhdGVCb3goKTtcclxuICAgICAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5fc2VsZWN0ZWRTaGVsbC5lcXVhbHModGhpcy5fbGVmdFNoZWxsKSkge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIHByb2plY3RlZFBvaW50WzBdID4gdGhpcy5fcHJlUG9zWzBdICYmXHJcbiAgICAgICAgICB0aGlzLl9ib3hbMF0gKyBkZWx0YSA8IHRoaXMuX2JveFszXVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgdGhpcy5fYm94WzBdICs9IGRlbHRhO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9ib3hbMF0gLT0gZGVsdGE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudXBkYXRlQm94KCk7XHJcbiAgICAgICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX3NlbGVjdGVkU2hlbGwuZXF1YWxzKHRoaXMuX3JpZ2h0U2hlbGwpKSB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgcHJvamVjdGVkUG9pbnRbMF0gPCB0aGlzLl9wcmVQb3NbMF0gJiZcclxuICAgICAgICAgIHRoaXMuX2JveFszXSAtIGRlbHRhID4gdGhpcy5fYm94WzBdXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLl9ib3hbM10gLT0gZGVsdGE7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2JveFszXSArPSBkZWx0YTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy51cGRhdGVCb3goKTtcclxuICAgICAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5fc2VsZWN0ZWRTaGVsbC5lcXVhbHModGhpcy5fYm90dG9tU2hlbGwpKSB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgcHJvamVjdGVkUG9pbnRbMl0gPiB0aGlzLl9wcmVQb3NbMl0gJiZcclxuICAgICAgICAgIHRoaXMuX2JveFsyXSArIGRlbHRhIDwgdGhpcy5fYm94WzVdXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLl9ib3hbMl0gKz0gZGVsdGE7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2JveFsyXSAtPSBkZWx0YTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy51cGRhdGVCb3goKTtcclxuICAgICAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5fc2VsZWN0ZWRTaGVsbC5lcXVhbHModGhpcy5fdG9wU2hlbGwpKSB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgcHJvamVjdGVkUG9pbnRbMl0gPCB0aGlzLl9wcmVQb3NbMl0gJiZcclxuICAgICAgICAgIHRoaXMuX2JveFs1XSAtIGRlbHRhID4gdGhpcy5fYm94WzJdXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLl9ib3hbNV0gLT0gZGVsdGE7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2JveFs1XSArPSBkZWx0YTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy51cGRhdGVCb3goKTtcclxuICAgICAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuX3ByZVBvcyA9IHByb2plY3RlZFBvaW50O1xyXG4gICAgfVxyXG5cclxuICAgIHN1cGVyLm9uTEJ1dHRvbkRvd25BbmRNb3ZlKGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFlWYWx1ZShzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcikge1xyXG4gICAgbGV0IHlfbGVuID0gKHRoaXMuX2JiWzRdIC0gdGhpcy5fYmJbMV0pICogc3RhcnQ7XHJcbiAgICBsZXQgcG9zID0gdGhpcy5fYmJbMV0gKyB5X2xlbjtcclxuICAgIGlmIChwb3MgPCB0aGlzLl9ib3hbNF0pIHtcclxuICAgICAgdGhpcy5fYm94WzFdID0gcG9zO1xyXG4gICAgfVxyXG5cclxuICAgIHlfbGVuID0gKHRoaXMuX2JiWzRdIC0gdGhpcy5fYmJbMV0pICogKDEgLSBlbmQpO1xyXG4gICAgcG9zID0gdGhpcy5fYmJbNF0gLSB5X2xlbjtcclxuICAgIGlmIChwb3MgPiB0aGlzLl9ib3hbMV0pIHtcclxuICAgICAgdGhpcy5fYm94WzRdID0gcG9zO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudXBkYXRlQm94KCk7XHJcbiAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0WFZhbHVlKHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKSB7XHJcbiAgICBsZXQgeF9sZW4gPSAodGhpcy5fYmJbM10gLSB0aGlzLl9iYlswXSkgKiBzdGFydDtcclxuICAgIGxldCBwb3MgPSB0aGlzLl9iYlswXSArIHhfbGVuO1xyXG4gICAgaWYgKHBvcyA8IHRoaXMuX2JveFszXSkge1xyXG4gICAgICB0aGlzLl9ib3hbMF0gPSBwb3M7XHJcbiAgICB9XHJcblxyXG4gICAgeF9sZW4gPSAodGhpcy5fYmJbM10gLSB0aGlzLl9iYlswXSkgKiAoMSAtIGVuZCk7XHJcbiAgICBwb3MgPSB0aGlzLl9iYlszXSAtIHhfbGVuO1xyXG4gICAgaWYgKHBvcyA+IHRoaXMuX2JveFswXSkge1xyXG4gICAgICB0aGlzLl9ib3hbM10gPSBwb3M7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy51cGRhdGVCb3goKTtcclxuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRaVmFsdWUoc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIpIHtcclxuICAgIGxldCB6X2xlbiA9ICh0aGlzLl9iYls1XSAtIHRoaXMuX2JiWzJdKSAqIHN0YXJ0O1xyXG4gICAgbGV0IHBvcyA9IHRoaXMuX2JiWzJdICsgel9sZW47XHJcbiAgICBpZiAocG9zIDwgdGhpcy5fYm94WzVdKSB7XHJcbiAgICAgIHRoaXMuX2JveFsyXSA9IHBvcztcclxuICAgIH1cclxuXHJcbiAgICB6X2xlbiA9ICh0aGlzLl9iYls1XSAtIHRoaXMuX2JiWzJdKSAqICgxIC0gZW5kKTtcclxuICAgIHBvcyA9IHRoaXMuX2JiWzVdIC0gel9sZW47XHJcbiAgICBpZiAocG9zID4gdGhpcy5fYm94WzJdKSB7XHJcbiAgICAgIHRoaXMuX2JveFs1XSA9IHBvcztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnVwZGF0ZUJveCgpO1xyXG4gICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xyXG4gIH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./packages/bimAir/src/gsDevFx/operators/cuttingBoxOperator.ts\n");
|
|
4017
|
+
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.array-buffer.slice.js */ \"./node_modules/core-js/modules/es.array-buffer.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.float32-array.js */ \"./node_modules/core-js/modules/es.typed-array.float32-array.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.at.js */ \"./node_modules/core-js/modules/es.typed-array.at.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.copy-within.js */ \"./node_modules/core-js/modules/es.typed-array.copy-within.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.every.js */ \"./node_modules/core-js/modules/es.typed-array.every.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.fill.js */ \"./node_modules/core-js/modules/es.typed-array.fill.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.filter.js */ \"./node_modules/core-js/modules/es.typed-array.filter.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find.js */ \"./node_modules/core-js/modules/es.typed-array.find.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-last.js */ \"./node_modules/core-js/modules/es.typed-array.find-last.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-last-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-last-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.for-each.js */ \"./node_modules/core-js/modules/es.typed-array.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.includes.js */ \"./node_modules/core-js/modules/es.typed-array.includes.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.index-of.js */ \"./node_modules/core-js/modules/es.typed-array.index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.iterator.js */ \"./node_modules/core-js/modules/es.typed-array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.join.js */ \"./node_modules/core-js/modules/es.typed-array.join.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.last-index-of.js */ \"./node_modules/core-js/modules/es.typed-array.last-index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.map.js */ \"./node_modules/core-js/modules/es.typed-array.map.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce.js */ \"./node_modules/core-js/modules/es.typed-array.reduce.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce-right.js */ \"./node_modules/core-js/modules/es.typed-array.reduce-right.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reverse.js */ \"./node_modules/core-js/modules/es.typed-array.reverse.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.set.js */ \"./node_modules/core-js/modules/es.typed-array.set.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.slice.js */ \"./node_modules/core-js/modules/es.typed-array.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.some.js */ \"./node_modules/core-js/modules/es.typed-array.some.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.sort.js */ \"./node_modules/core-js/modules/es.typed-array.sort.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.subarray.js */ \"./node_modules/core-js/modules/es.typed-array.subarray.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-locale-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-locale-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! gs-longan/longan/segment */ \"./packages/longan/src/longan/segment.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, gs_longan_1, segment_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n exports.CuttingBoxOperator = void 0;\n\n var CuttingBoxOperator = function (_super) {\n tslib_1.__extends(CuttingBoxOperator, _super);\n\n function CuttingBoxOperator() {\n var _this = _super.call(this) || this;\n\n _this.typeName = \"CuttingBox\";\n _this._frontShell = null;\n _this._backShell = null;\n _this._leftShell = null;\n _this._rightShell = null;\n _this._topShell = null;\n _this._bottomShell = null;\n _this._cuttingBox = null;\n _this._downPos = null;\n _this._prePos = null;\n _this._boxVisible = true;\n return _this;\n }\n\n Object.defineProperty(CuttingBoxOperator.prototype, \"CuttingBox\", {\n get: function get() {\n return this._cuttingBox;\n },\n set: function set(value) {\n this._cuttingBox = value;\n this._cuttingBox.box = this._box;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CuttingBoxOperator.prototype, \"bb\", {\n get: function get() {\n return this._bb;\n },\n set: function set(value) {\n this._bb = new Float32Array(value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CuttingBoxOperator.prototype, \"box\", {\n get: function get() {\n return this._box;\n },\n set: function set(box) {\n this._box = box;\n this.updateBox();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CuttingBoxOperator.prototype, \"boxVisible\", {\n get: function get() {\n return this._boxVisible;\n },\n set: function set(value) {\n this._boxVisible = value;\n\n if (this._boxVisible) {\n this._cuttingBoxSegment.visibility.setFace(true).setBorder(true);\n\n this.viewer.updateDisplay();\n } else {\n this._cuttingBoxSegment.visibility.setFace(false).setBorder(false);\n\n this.viewer.updateDisplay();\n }\n },\n enumerable: false,\n configurable: true\n });\n\n CuttingBoxOperator.prototype.init = function () {\n this.logarithmicDepthBuffer = this.viewer.instanceObjectSegment.renderingOptions.logarithmicDepthBuffer;\n this.viewer.instanceObjectSegment.renderingOptions.logarithmicDepthBuffer = false;\n var bb = this._bb;\n this._box = new Float32Array(bb);\n this._cuttingBoxSegment = this.viewer.utilitySegment.subsegment(\"cutting box\");\n\n this._cuttingBoxSegment.color.setFace([64, 158, 255, 0.1]).setEdge([64, 158, 255, 1]);\n\n this._cuttingBoxSegment.visibility.setBorder(true);\n\n this._cuttingBoxSegment.selectability.setFace(segment_1.SelectabilityType.On);\n\n this._cuttingBoxSegment.renderingOptions.setDepthRange(0.1, 1).setSyncUpdate(true);\n\n this._cuttingBoxSegment.subsegment(\"highlight\").color.setFace([255, 160, 74, 0.2]).setEdge([255, 160, 74, 1]);\n\n var plane1 = new Float32Array([bb[0], bb[1], bb[5], bb[0], bb[1], bb[2], bb[3], bb[1], bb[2], bb[3], bb[1], bb[5]]);\n this._frontShell = this._cuttingBoxSegment.insertShell(plane1, [4, 0, 1, 2, 3]);\n var plane2 = new Float32Array([bb[0], bb[4], bb[5], bb[3], bb[4], bb[5], bb[3], bb[4], bb[2], bb[0], bb[4], bb[2]]);\n this._backShell = this._cuttingBoxSegment.insertShell(plane2, [4, 0, 1, 2, 3]);\n var plane3 = new Float32Array([bb[0], bb[1], bb[5], bb[0], bb[4], bb[5], bb[0], bb[4], bb[2], bb[0], bb[1], bb[2]]);\n this._leftShell = this._cuttingBoxSegment.insertShell(plane3, [4, 0, 1, 2, 3]);\n var plane4 = new Float32Array([bb[3], bb[4], bb[5], bb[3], bb[1], bb[5], bb[3], bb[1], bb[2], bb[3], bb[4], bb[2]]);\n this._rightShell = this._cuttingBoxSegment.insertShell(plane4, [4, 0, 1, 2, 3]);\n var plane5 = new Float32Array([bb[0], bb[1], bb[5], bb[3], bb[1], bb[5], bb[3], bb[4], bb[5], bb[0], bb[4], bb[5]]);\n this._topShell = this._cuttingBoxSegment.insertShell(plane5, [4, 0, 1, 2, 3]);\n var plane6 = new Float32Array([bb[0], bb[1], bb[2], bb[0], bb[4], bb[2], bb[3], bb[4], bb[2], bb[3], bb[1], bb[2]]);\n this._bottomShell = this._cuttingBoxSegment.insertShell(plane6, [4, 0, 1, 2, 3]);\n };\n\n CuttingBoxOperator.prototype.fina = function () {\n this.viewer.instanceObjectSegment.renderingOptions.logarithmicDepthBuffer = this.logarithmicDepthBuffer;\n\n this._cuttingBoxSegment.delete();\n\n this.viewer.updateDisplay();\n };\n\n CuttingBoxOperator.prototype.computePlaneNormal = function (plane) {\n var v1 = gs_longan_1.Point.subtract(plane.subarray(3, 6), plane.subarray(0, 3));\n var v2 = gs_longan_1.Point.subtract(plane.subarray(6, 9), plane.subarray(0, 3));\n var normal = gs_longan_1.Vector.cross(v1, v2);\n gs_longan_1.Vector.normalize(normal);\n return normal;\n };\n\n CuttingBoxOperator.prototype.updateBox = function () {\n var bb = this._box;\n var plane1 = new Float32Array([bb[0], bb[1], bb[5], bb[0], bb[1], bb[2], bb[3], bb[1], bb[2], bb[3], bb[1], bb[5]]);\n\n this._frontShell.edit(plane1, [4, 0, 1, 2, 3]);\n\n var plane2 = new Float32Array([bb[0], bb[4], bb[5], bb[3], bb[4], bb[5], bb[3], bb[4], bb[2], bb[0], bb[4], bb[2]]);\n\n this._backShell.edit(plane2, [4, 0, 1, 2, 3]);\n\n var plane3 = new Float32Array([bb[0], bb[1], bb[5], bb[0], bb[4], bb[5], bb[0], bb[4], bb[2], bb[0], bb[1], bb[2]]);\n\n this._leftShell.edit(plane3, [4, 0, 1, 2, 3]);\n\n var plane4 = new Float32Array([bb[3], bb[4], bb[5], bb[3], bb[1], bb[5], bb[3], bb[1], bb[2], bb[3], bb[4], bb[2]]);\n\n this._rightShell.edit(plane4, [4, 0, 1, 2, 3]);\n\n var plane5 = new Float32Array([bb[0], bb[1], bb[5], bb[3], bb[1], bb[5], bb[3], bb[4], bb[5], bb[0], bb[4], bb[5]]);\n\n this._topShell.edit(plane5, [4, 0, 1, 2, 3]);\n\n var plane6 = new Float32Array([bb[0], bb[1], bb[2], bb[0], bb[4], bb[2], bb[3], bb[4], bb[2], bb[3], bb[1], bb[2]]);\n\n this._bottomShell.edit(plane6, [4, 0, 1, 2, 3]);\n\n this._cuttingBox.box = this._box;\n };\n\n CuttingBoxOperator.prototype.onMouseMove = function (e) {\n if (this._downPos == null) {\n var selectionKeys = this.viewer.selectByPoint(e.mouseWindowPos());\n\n if (selectionKeys.count() > 0) {\n var selectedKey = selectionKeys.items[0];\n\n if (selectedKey.key === this._frontShell.key || selectedKey.key === this._backShell.key || selectedKey.key === this._leftShell.key || selectedKey.key === this._rightShell.key || selectedKey.key === this._topShell.key || selectedKey.key === this._bottomShell.key) {\n if (this._selectedShell != null) {\n if (this._selectedShell.owner.name == \"highlight\") {\n this._selectedShell.moveTo(this._selectedShell.owner.owner);\n }\n }\n\n var selectedShell = new gs_longan_1.Shell(selectedKey.key);\n selectedShell.moveTo(this._cuttingBoxSegment.subsegment(\"highlight\"));\n this.viewer.updateDisplay();\n this._selectedShell = selectedShell;\n this._selectionKey = selectedKey;\n this.viewer.canvas.style.cursor = \"pointer\";\n }\n } else {\n if (this._selectedShell != null) {\n if (this._selectedShell.owner.name == \"highlight\") {\n this._selectedShell.moveTo(this._selectedShell.owner.owner);\n\n this.viewer.updateDisplay();\n this.viewer.canvas.style.cursor = \"\";\n }\n }\n\n this._selectedShell = null;\n }\n } else {\n var selectionKeys = this.viewer.selectByPoint(e.mouseWindowPos());\n\n if (selectionKeys.count() > 0) {\n this._selectionKey = selectionKeys.items[0];\n }\n }\n\n _super.prototype.onMouseMove.call(this, e);\n };\n\n CuttingBoxOperator.prototype.onLButtonDown = function (e) {\n this.viewer.isBusy = true;\n\n if (this._selectionKey) {\n this._downPos = this._selectionKey.position;\n }\n\n this._prePos = this._downPos;\n\n _super.prototype.onLButtonDown.call(this, e);\n };\n\n CuttingBoxOperator.prototype.onLButtonUp = function (e) {\n this._downPos = null;\n this.viewer.isBusy = false;\n\n _super.prototype.onLButtonUp.call(this, e);\n };\n\n CuttingBoxOperator.prototype.onMButtonDown = function (e) {\n this._downPos = null;\n\n _super.prototype.onLButtonDown.call(this, e);\n };\n\n CuttingBoxOperator.prototype.onRButtonDown = function (e) {\n this._downPos = null;\n\n _super.prototype.onRButtonDown.call(this, e);\n };\n\n CuttingBoxOperator.prototype.onLButtonDownAndMove = function (e) {\n if (this._selectedShell != null && this._downPos != null && this._selectionKey) {\n var currentPos = this._selectionKey.position;\n var points = this._selectedShell.points;\n var v1 = gs_longan_1.Point.subtract(points.subarray(3, 6), points.subarray(0, 3));\n var v2 = gs_longan_1.Point.subtract(points.subarray(6, 9), points.subarray(0, 3));\n var normal = gs_longan_1.Vector.cross(v1, v2);\n gs_longan_1.Vector.normalize(normal);\n var worldRay = e.mouseWorldRay();\n var prePostion = gs_longan_1.GeometryOperators.closestPoint(this._prePos, worldRay, this._downPos, normal).rp1;\n var projectedPoint = gs_longan_1.GeometryOperators.closestPoint(currentPos, worldRay, this._downPos, normal).rp1;\n var delta = gs_longan_1.GeometryOperators.distance(projectedPoint, prePostion);\n\n if (this._selectedShell.equals(this._frontShell)) {\n if (projectedPoint[1] > this._prePos[1] && this._box[1] + delta < this._box[4]) {\n this._box[1] += delta;\n } else {\n this._box[1] -= delta;\n }\n\n this.updateBox();\n this.viewer.updateCameraNearFar();\n this.viewer.updateDisplay();\n } else if (this._selectedShell.equals(this._backShell)) {\n if (projectedPoint[1] < this._prePos[1] && this._box[4] - delta > this._box[1]) {\n this._box[4] -= delta;\n } else {\n this._box[4] += delta;\n }\n\n this.updateBox();\n this.viewer.updateCameraNearFar();\n this.viewer.updateDisplay();\n } else if (this._selectedShell.equals(this._leftShell)) {\n if (projectedPoint[0] > this._prePos[0] && this._box[0] + delta < this._box[3]) {\n this._box[0] += delta;\n } else {\n this._box[0] -= delta;\n }\n\n this.updateBox();\n this.viewer.updateCameraNearFar();\n this.viewer.updateDisplay();\n } else if (this._selectedShell.equals(this._rightShell)) {\n if (projectedPoint[0] < this._prePos[0] && this._box[3] - delta > this._box[0]) {\n this._box[3] -= delta;\n } else {\n this._box[3] += delta;\n }\n\n this.updateBox();\n this.viewer.updateCameraNearFar();\n this.viewer.updateDisplay();\n } else if (this._selectedShell.equals(this._bottomShell)) {\n if (projectedPoint[2] > this._prePos[2] && this._box[2] + delta < this._box[5]) {\n this._box[2] += delta;\n } else {\n this._box[2] -= delta;\n }\n\n this.updateBox();\n this.viewer.updateCameraNearFar();\n this.viewer.updateDisplay();\n } else if (this._selectedShell.equals(this._topShell)) {\n if (projectedPoint[2] < this._prePos[2] && this._box[5] - delta > this._box[2]) {\n this._box[5] -= delta;\n } else {\n this._box[5] += delta;\n }\n\n this.updateBox();\n this.viewer.updateCameraNearFar();\n this.viewer.updateDisplay();\n }\n\n this._prePos = projectedPoint;\n }\n\n _super.prototype.onLButtonDownAndMove.call(this, e);\n };\n\n CuttingBoxOperator.prototype.setYValue = function (start, end) {\n var y_len = (this._bb[4] - this._bb[1]) * start;\n var pos = this._bb[1] + y_len;\n\n if (pos < this._box[4]) {\n this._box[1] = pos;\n }\n\n y_len = (this._bb[4] - this._bb[1]) * (1 - end);\n pos = this._bb[4] - y_len;\n\n if (pos > this._box[1]) {\n this._box[4] = pos;\n }\n\n this.updateBox();\n this.viewer.updateDisplay();\n };\n\n CuttingBoxOperator.prototype.setXValue = function (start, end) {\n var x_len = (this._bb[3] - this._bb[0]) * start;\n var pos = this._bb[0] + x_len;\n\n if (pos < this._box[3]) {\n this._box[0] = pos;\n }\n\n x_len = (this._bb[3] - this._bb[0]) * (1 - end);\n pos = this._bb[3] - x_len;\n\n if (pos > this._box[0]) {\n this._box[3] = pos;\n }\n\n this.updateBox();\n this.viewer.updateDisplay();\n };\n\n CuttingBoxOperator.prototype.setZValue = function (start, end) {\n var z_len = (this._bb[5] - this._bb[2]) * start;\n var pos = this._bb[2] + z_len;\n\n if (pos < this._box[5]) {\n this._box[2] = pos;\n }\n\n z_len = (this._bb[5] - this._bb[2]) * (1 - end);\n pos = this._bb[5] - z_len;\n\n if (pos > this._box[2]) {\n this._box[5] = pos;\n }\n\n this.updateBox();\n this.viewer.updateDisplay();\n };\n\n return CuttingBoxOperator;\n }(gs_longan_1.ViewerOperator);\n\n exports.CuttingBoxOperator = CuttingBoxOperator;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9iaW1BaXIvc3JjL2dzRGV2Rngvb3BlcmF0b3JzL2N1dHRpbmdCb3hPcGVyYXRvci50cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBYUE7QUFBQTs7QUFtRUE7QUFBQTs7QUFsRUE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUtBO0FBQ0E7QUFFQTs7QUErQ0E7O0FBNUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFQQTs7QUFBQTtBQVNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBTkE7O0FBQUE7QUFRQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBUEE7O0FBQUE7QUFTQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBO0FBZEE7O0FBQUE7O0FBb0JBO0FBQ0E7QUFFQTtBQVFBO0FBQ0E7QUFFQTs7QUFFQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFJQTs7QUFXQTtBQWNBO0FBS0E7QUFjQTtBQUtBO0FBY0E7QUFLQTtBQWNBO0FBS0E7QUFjQTtBQUtBO0FBY0E7QUFTQTs7QUFFQTtBQUNBOztBQUVBOztBQUlBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUdBOztBQWNBOztBQUVBOztBQWNBOztBQUVBOztBQWNBOztBQUVBOztBQWNBOztBQUVBOztBQWNBOztBQUVBOztBQWNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBRUE7QUFDQTs7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQU1BO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFNQTtBQU9BOztBQUVBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFDQTtBQUFBOztBQXBsQkEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9iaW1saWdodC1wbGF0Zm9ybS8uL3BhY2thZ2VzL2JpbUFpci9zcmMvZ3NEZXZGeC9vcGVyYXRvcnMvY3V0dGluZ0JveE9wZXJhdG9yLnRzPzkzZDMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBHZW9tZXRyeU9wZXJhdG9ycyxcclxuICBQb2ludCxcclxuICBTZWdtZW50LFxyXG4gIFNlbGVjdGlvbktleSxcclxuICBTaGVsbCxcclxuICBWZWN0b3IsXHJcbiAgVmlld2VyT3BlcmF0b3IsXHJcbn0gZnJvbSBcImdzLWxvbmdhblwiO1xyXG5pbXBvcnQgeyBWaWV3ZXJFdmVudCB9IGZyb20gXCJncy1sb25nYW4vbG9uZ2FuL2dzLnZpZXdlclwiO1xyXG5pbXBvcnQgeyBTZWxlY3RhYmlsaXR5VHlwZSB9IGZyb20gXCJncy1sb25nYW4vbG9uZ2FuL3NlZ21lbnRcIjtcclxuaW1wb3J0IHsgQ3V0dGluZ0JveE9iamVjdCB9IGZyb20gXCIuLi9vYmplY3RzL2N1dHRpbmdPYmplY3RzL2N1dHRpbmdCb3hPYmplY3RcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBDdXR0aW5nQm94T3BlcmF0b3IgZXh0ZW5kcyBWaWV3ZXJPcGVyYXRvciB7XHJcbiAgdHlwZU5hbWU6IHN0cmluZyA9IFwiQ3V0dGluZ0JveFwiO1xyXG5cclxuICBfYmI6IEZsb2F0MzJBcnJheTtcclxuICBfYm94OiBGbG9hdDMyQXJyYXk7XHJcbiAgX2N1dHRpbmdCb3hTZWdtZW50OiBTZWdtZW50O1xyXG5cclxuICBfZnJvbnRTaGVsbDogU2hlbGwgPSBudWxsO1xyXG4gIF9iYWNrU2hlbGw6IFNoZWxsID0gbnVsbDtcclxuICBfbGVmdFNoZWxsOiBTaGVsbCA9IG51bGw7XHJcbiAgX3JpZ2h0U2hlbGw6IFNoZWxsID0gbnVsbDtcclxuICBfdG9wU2hlbGw6IFNoZWxsID0gbnVsbDtcclxuICBfYm90dG9tU2hlbGw6IFNoZWxsID0gbnVsbDtcclxuXHJcbiAgX2N1dHRpbmdCb3g6IEN1dHRpbmdCb3hPYmplY3QgPSBudWxsO1xyXG5cclxuICBfc2VsZWN0aW9uS2V5OiBTZWxlY3Rpb25LZXk7XHJcbiAgX3NlbGVjdGVkU2hlbGw6IFNoZWxsO1xyXG5cclxuICBfZG93blBvczogRmxvYXQzMkFycmF5ID0gbnVsbDtcclxuICBfcHJlUG9zOiBGbG9hdDMyQXJyYXkgPSBudWxsO1xyXG5cclxuICBfYm94VmlzaWJsZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgbG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcjtcclxuXHJcbiAgcHVibGljIGdldCBDdXR0aW5nQm94KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2N1dHRpbmdCb3g7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IEN1dHRpbmdCb3godmFsdWU6IEN1dHRpbmdCb3hPYmplY3QpIHtcclxuICAgIHRoaXMuX2N1dHRpbmdCb3ggPSB2YWx1ZTtcclxuICAgIHRoaXMuX2N1dHRpbmdCb3guYm94ID0gdGhpcy5fYm94O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBiYigpIHtcclxuICAgIHJldHVybiB0aGlzLl9iYjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgYmIodmFsdWU6IEFycmF5TGlrZTxudW1iZXI+KSB7XHJcbiAgICB0aGlzLl9iYiA9IG5ldyBGbG9hdDMyQXJyYXkodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBib3goKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fYm94O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBib3goYm94OiBGbG9hdDMyQXJyYXkpIHtcclxuICAgIHRoaXMuX2JveCA9IGJveDtcclxuICAgIHRoaXMudXBkYXRlQm94KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGJveFZpc2libGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fYm94VmlzaWJsZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgYm94VmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fYm94VmlzaWJsZSA9IHZhbHVlO1xyXG5cclxuICAgIGlmICh0aGlzLl9ib3hWaXNpYmxlKSB7XHJcbiAgICAgIHRoaXMuX2N1dHRpbmdCb3hTZWdtZW50LnZpc2liaWxpdHkuc2V0RmFjZSh0cnVlKS5zZXRCb3JkZXIodHJ1ZSk7XHJcbiAgICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2N1dHRpbmdCb3hTZWdtZW50LnZpc2liaWxpdHkuc2V0RmFjZShmYWxzZSkuc2V0Qm9yZGVyKGZhbHNlKTtcclxuICAgICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgaW5pdCgpIHtcclxuICAgIHRoaXMubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlciA9XHJcbiAgICAgIHRoaXMudmlld2VyLmluc3RhbmNlT2JqZWN0U2VnbWVudC5yZW5kZXJpbmdPcHRpb25zLmxvZ2FyaXRobWljRGVwdGhCdWZmZXI7XHJcbiAgICB0aGlzLnZpZXdlci5pbnN0YW5jZU9iamVjdFNlZ21lbnQucmVuZGVyaW5nT3B0aW9ucy5sb2dhcml0aG1pY0RlcHRoQnVmZmVyID1cclxuICAgICAgZmFsc2U7XHJcbiAgICAvLyBsZXQgYmIgPSB0aGlzLnZpZXdlci5jb21wdXRlQm91bmRpbmdCb3godGhpcy52aWV3ZXIuc2NlbmVTZWdtZW50KTtcclxuXHJcbiAgICAvLyBjb25zb2xlLmxvZyhcImN1dHRpbmcgYmI6IFwiLCBiYik7XHJcblxyXG4gICAgLy8gdGhpcy5fYmIgPSBiYjtcclxuXHJcbiAgICBsZXQgYmIgPSB0aGlzLl9iYjtcclxuICAgIHRoaXMuX2JveCA9IG5ldyBGbG9hdDMyQXJyYXkoYmIpO1xyXG5cclxuICAgIHRoaXMuX2N1dHRpbmdCb3hTZWdtZW50ID1cclxuICAgICAgdGhpcy52aWV3ZXIudXRpbGl0eVNlZ21lbnQuc3Vic2VnbWVudChcImN1dHRpbmcgYm94XCIpO1xyXG4gICAgdGhpcy5fY3V0dGluZ0JveFNlZ21lbnQuY29sb3JcclxuICAgICAgLnNldEZhY2UoWzY0LCAxNTgsIDI1NSwgMC4xXSlcclxuICAgICAgLnNldEVkZ2UoWzY0LCAxNTgsIDI1NSwgMV0pO1xyXG4gICAgdGhpcy5fY3V0dGluZ0JveFNlZ21lbnQudmlzaWJpbGl0eS5zZXRCb3JkZXIodHJ1ZSk7XHJcbiAgICB0aGlzLl9jdXR0aW5nQm94U2VnbWVudC5zZWxlY3RhYmlsaXR5LnNldEZhY2UoU2VsZWN0YWJpbGl0eVR5cGUuT24pO1xyXG4gICAgdGhpcy5fY3V0dGluZ0JveFNlZ21lbnQucmVuZGVyaW5nT3B0aW9uc1xyXG4gICAgICAuc2V0RGVwdGhSYW5nZSgwLjEsIDEpXHJcbiAgICAgIC5zZXRTeW5jVXBkYXRlKHRydWUpO1xyXG5cclxuICAgIHRoaXMuX2N1dHRpbmdCb3hTZWdtZW50XHJcbiAgICAgIC5zdWJzZWdtZW50KFwiaGlnaGxpZ2h0XCIpXHJcbiAgICAgIC5jb2xvci5zZXRGYWNlKFsyNTUsIDE2MCwgNzQsIDAuMl0pXHJcbiAgICAgIC5zZXRFZGdlKFsyNTUsIDE2MCwgNzQsIDFdKTtcclxuICAgIC8vIHRoaXMuX2N1dHRpbmdCb3hTZWdtZW50LnN1YnNlZ21lbnQoXCJoaWdobGlnaHRcIikucmVuZGVyaW5nT3B0aW9ucy5zZXREZXB0aFJhbmdlKDAuMSwgMC4yKTtcclxuXHJcbiAgICAvLyBiYlswXSA9IChiYlswXSArIGJiWzNdKSAvIDIuMDtcclxuICAgIC8vIGJiWzFdID0gKGJiWzFdICsgYmJbNF0pIC8gMi4wO1xyXG5cclxuICAgIC8v5Yib5bu65YWt6Z2i5L2T55uS5a2QXHJcbiAgICAvL2Zyb250XHJcbiAgICBsZXQgcGxhbmUxID0gbmV3IEZsb2F0MzJBcnJheShbXHJcbiAgICAgIGJiWzBdLFxyXG4gICAgICBiYlsxXSxcclxuICAgICAgYmJbNV0sXHJcbiAgICAgIGJiWzBdLFxyXG4gICAgICBiYlsxXSxcclxuICAgICAgYmJbMl0sXHJcbiAgICAgIGJiWzNdLFxyXG4gICAgICBiYlsxXSxcclxuICAgICAgYmJbMl0sXHJcbiAgICAgIGJiWzNdLFxyXG4gICAgICBiYlsxXSxcclxuICAgICAgYmJbNV0sXHJcbiAgICBdKTtcclxuICAgIHRoaXMuX2Zyb250U2hlbGwgPSB0aGlzLl9jdXR0aW5nQm94U2VnbWVudC5pbnNlcnRTaGVsbChcclxuICAgICAgcGxhbmUxLFxyXG4gICAgICBbNCwgMCwgMSwgMiwgM11cclxuICAgICk7XHJcbiAgICAvL2JhY2tcclxuICAgIGxldCBwbGFuZTIgPSBuZXcgRmxvYXQzMkFycmF5KFtcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYls1XSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYls1XSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYlsyXSxcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYlsyXSxcclxuICAgIF0pO1xyXG4gICAgdGhpcy5fYmFja1NoZWxsID0gdGhpcy5fY3V0dGluZ0JveFNlZ21lbnQuaW5zZXJ0U2hlbGwoXHJcbiAgICAgIHBsYW5lMixcclxuICAgICAgWzQsIDAsIDEsIDIsIDNdXHJcbiAgICApO1xyXG4gICAgLy9sZWZ0XHJcbiAgICBsZXQgcGxhbmUzID0gbmV3IEZsb2F0MzJBcnJheShbXHJcbiAgICAgIGJiWzBdLFxyXG4gICAgICBiYlsxXSxcclxuICAgICAgYmJbNV0sXHJcbiAgICAgIGJiWzBdLFxyXG4gICAgICBiYls0XSxcclxuICAgICAgYmJbNV0sXHJcbiAgICAgIGJiWzBdLFxyXG4gICAgICBiYls0XSxcclxuICAgICAgYmJbMl0sXHJcbiAgICAgIGJiWzBdLFxyXG4gICAgICBiYlsxXSxcclxuICAgICAgYmJbMl0sXHJcbiAgICBdKTtcclxuICAgIHRoaXMuX2xlZnRTaGVsbCA9IHRoaXMuX2N1dHRpbmdCb3hTZWdtZW50Lmluc2VydFNoZWxsKFxyXG4gICAgICBwbGFuZTMsXHJcbiAgICAgIFs0LCAwLCAxLCAyLCAzXVxyXG4gICAgKTtcclxuICAgIC8vcmlnaHRcclxuICAgIGxldCBwbGFuZTQgPSBuZXcgRmxvYXQzMkFycmF5KFtcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYls1XSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYls1XSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYlsyXSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYlsyXSxcclxuICAgIF0pO1xyXG4gICAgdGhpcy5fcmlnaHRTaGVsbCA9IHRoaXMuX2N1dHRpbmdCb3hTZWdtZW50Lmluc2VydFNoZWxsKFxyXG4gICAgICBwbGFuZTQsXHJcbiAgICAgIFs0LCAwLCAxLCAyLCAzXVxyXG4gICAgKTtcclxuICAgIC8vdG9wXHJcbiAgICBsZXQgcGxhbmU1ID0gbmV3IEZsb2F0MzJBcnJheShbXHJcbiAgICAgIGJiWzBdLFxyXG4gICAgICBiYlsxXSxcclxuICAgICAgYmJbNV0sXHJcbiAgICAgIGJiWzNdLFxyXG4gICAgICBiYlsxXSxcclxuICAgICAgYmJbNV0sXHJcbiAgICAgIGJiWzNdLFxyXG4gICAgICBiYls0XSxcclxuICAgICAgYmJbNV0sXHJcbiAgICAgIGJiWzBdLFxyXG4gICAgICBiYls0XSxcclxuICAgICAgYmJbNV0sXHJcbiAgICBdKTtcclxuICAgIHRoaXMuX3RvcFNoZWxsID0gdGhpcy5fY3V0dGluZ0JveFNlZ21lbnQuaW5zZXJ0U2hlbGwoXHJcbiAgICAgIHBsYW5lNSxcclxuICAgICAgWzQsIDAsIDEsIDIsIDNdXHJcbiAgICApO1xyXG4gICAgLy9ib3R0b21cclxuICAgIGxldCBwbGFuZTYgPSBuZXcgRmxvYXQzMkFycmF5KFtcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYlsyXSxcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYlsyXSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYlsyXSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYlsyXSxcclxuICAgIF0pO1xyXG4gICAgdGhpcy5fYm90dG9tU2hlbGwgPSB0aGlzLl9jdXR0aW5nQm94U2VnbWVudC5pbnNlcnRTaGVsbChcclxuICAgICAgcGxhbmU2LFxyXG4gICAgICBbNCwgMCwgMSwgMiwgM11cclxuICAgICk7XHJcblxyXG4gICAgLy8gbGV0IG1vZGVsU2VnbWVudCA9IHRoaXMudmlld2VyLmluc3RhbmNlT2JqZWN0LnNlZ21lbnQgYXMgU2VnbWVudDtcclxuICAgIC8vIG1vZGVsU2VnbWVudC5zZWxlY3RhYmlsaXR5LnNldEZhY2UoU2VsZWN0YWJpbGl0eVR5cGUuT2ZmKS5zZXRMaW5lKFNlbGVjdGFiaWxpdHlUeXBlLk9mZikuc2V0TWFya2VyKFNlbGVjdGFiaWxpdHlUeXBlLk9mZik7XHJcblxyXG4gICAgLy8gdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xyXG4gIH1cclxuXHJcbiAgZmluYSgpIHtcclxuICAgIHRoaXMudmlld2VyLmluc3RhbmNlT2JqZWN0U2VnbWVudC5yZW5kZXJpbmdPcHRpb25zLmxvZ2FyaXRobWljRGVwdGhCdWZmZXIgPVxyXG4gICAgICB0aGlzLmxvZ2FyaXRobWljRGVwdGhCdWZmZXI7XHJcbiAgICB0aGlzLl9jdXR0aW5nQm94U2VnbWVudC5kZWxldGUoKTtcclxuXHJcbiAgICAvLyB0aGlzLnZpZXdlci5pbnN0YW5jZU9iamVjdC5zZWdtZW50LnNlbGVjdGFiaWxpdHkudW5zZXQoKTtcclxuXHJcbiAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XHJcbiAgfVxyXG5cclxuICBjb21wdXRlUGxhbmVOb3JtYWwocGxhbmU6IEZsb2F0MzJBcnJheSk6IEZsb2F0MzJBcnJheSB7XHJcbiAgICBsZXQgdjEgPSBQb2ludC5zdWJ0cmFjdChwbGFuZS5zdWJhcnJheSgzLCA2KSwgcGxhbmUuc3ViYXJyYXkoMCwgMykpO1xyXG4gICAgbGV0IHYyID0gUG9pbnQuc3VidHJhY3QocGxhbmUuc3ViYXJyYXkoNiwgOSksIHBsYW5lLnN1YmFycmF5KDAsIDMpKTtcclxuICAgIGxldCBub3JtYWwgPSBWZWN0b3IuY3Jvc3ModjEsIHYyKTtcclxuICAgIFZlY3Rvci5ub3JtYWxpemUobm9ybWFsKTtcclxuXHJcbiAgICByZXR1cm4gbm9ybWFsO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQm94KCkge1xyXG4gICAgbGV0IGJiID0gdGhpcy5fYm94O1xyXG5cclxuICAgIC8vZnJvbnRcclxuICAgIGxldCBwbGFuZTEgPSBuZXcgRmxvYXQzMkFycmF5KFtcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYls1XSxcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYlsyXSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYlsyXSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYls1XSxcclxuICAgIF0pO1xyXG4gICAgdGhpcy5fZnJvbnRTaGVsbC5lZGl0KHBsYW5lMSwgWzQsIDAsIDEsIDIsIDNdKTtcclxuICAgIC8vYmFja1xyXG4gICAgbGV0IHBsYW5lMiA9IG5ldyBGbG9hdDMyQXJyYXkoW1xyXG4gICAgICBiYlswXSxcclxuICAgICAgYmJbNF0sXHJcbiAgICAgIGJiWzVdLFxyXG4gICAgICBiYlszXSxcclxuICAgICAgYmJbNF0sXHJcbiAgICAgIGJiWzVdLFxyXG4gICAgICBiYlszXSxcclxuICAgICAgYmJbNF0sXHJcbiAgICAgIGJiWzJdLFxyXG4gICAgICBiYlswXSxcclxuICAgICAgYmJbNF0sXHJcbiAgICAgIGJiWzJdLFxyXG4gICAgXSk7XHJcbiAgICB0aGlzLl9iYWNrU2hlbGwuZWRpdChwbGFuZTIsIFs0LCAwLCAxLCAyLCAzXSk7XHJcbiAgICAvL2xlZnRcclxuICAgIGxldCBwbGFuZTMgPSBuZXcgRmxvYXQzMkFycmF5KFtcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYls1XSxcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYls1XSxcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYlsyXSxcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYlsyXSxcclxuICAgIF0pO1xyXG4gICAgdGhpcy5fbGVmdFNoZWxsLmVkaXQocGxhbmUzLCBbNCwgMCwgMSwgMiwgM10pO1xyXG4gICAgLy9yaWdodFxyXG4gICAgbGV0IHBsYW5lNCA9IG5ldyBGbG9hdDMyQXJyYXkoW1xyXG4gICAgICBiYlszXSxcclxuICAgICAgYmJbNF0sXHJcbiAgICAgIGJiWzVdLFxyXG4gICAgICBiYlszXSxcclxuICAgICAgYmJbMV0sXHJcbiAgICAgIGJiWzVdLFxyXG4gICAgICBiYlszXSxcclxuICAgICAgYmJbMV0sXHJcbiAgICAgIGJiWzJdLFxyXG4gICAgICBiYlszXSxcclxuICAgICAgYmJbNF0sXHJcbiAgICAgIGJiWzJdLFxyXG4gICAgXSk7XHJcbiAgICB0aGlzLl9yaWdodFNoZWxsLmVkaXQocGxhbmU0LCBbNCwgMCwgMSwgMiwgM10pO1xyXG4gICAgLy90b3BcclxuICAgIGxldCBwbGFuZTUgPSBuZXcgRmxvYXQzMkFycmF5KFtcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYls1XSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzFdLFxyXG4gICAgICBiYls1XSxcclxuICAgICAgYmJbM10sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYls1XSxcclxuICAgICAgYmJbMF0sXHJcbiAgICAgIGJiWzRdLFxyXG4gICAgICBiYls1XSxcclxuICAgIF0pO1xyXG4gICAgdGhpcy5fdG9wU2hlbGwuZWRpdChwbGFuZTUsIFs0LCAwLCAxLCAyLCAzXSk7XHJcbiAgICAvL2JvdHRvbVxyXG4gICAgbGV0IHBsYW5lNiA9IG5ldyBGbG9hdDMyQXJyYXkoW1xyXG4gICAgICBiYlswXSxcclxuICAgICAgYmJbMV0sXHJcbiAgICAgIGJiWzJdLFxyXG4gICAgICBiYlswXSxcclxuICAgICAgYmJbNF0sXHJcbiAgICAgIGJiWzJdLFxyXG4gICAgICBiYlszXSxcclxuICAgICAgYmJbNF0sXHJcbiAgICAgIGJiWzJdLFxyXG4gICAgICBiYlszXSxcclxuICAgICAgYmJbMV0sXHJcbiAgICAgIGJiWzJdLFxyXG4gICAgXSk7XHJcbiAgICB0aGlzLl9ib3R0b21TaGVsbC5lZGl0KHBsYW5lNiwgWzQsIDAsIDEsIDIsIDNdKTtcclxuXHJcbiAgICB0aGlzLl9jdXR0aW5nQm94LmJveCA9IHRoaXMuX2JveDtcclxuICB9XHJcblxyXG4gIG9uTW91c2VNb3ZlKGU6IFZpZXdlckV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5fZG93blBvcyA9PSBudWxsKSB7XHJcbiAgICAgIGxldCBzZWxlY3Rpb25LZXlzID0gdGhpcy52aWV3ZXIuc2VsZWN0QnlQb2ludChlLm1vdXNlV2luZG93UG9zKCkpO1xyXG5cclxuICAgICAgaWYgKHNlbGVjdGlvbktleXMuY291bnQoKSA+IDApIHtcclxuICAgICAgICBsZXQgc2VsZWN0ZWRLZXkgPSBzZWxlY3Rpb25LZXlzLml0ZW1zWzBdO1xyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBzZWxlY3RlZEtleS5rZXkgPT09IHRoaXMuX2Zyb250U2hlbGwua2V5IHx8XHJcbiAgICAgICAgICBzZWxlY3RlZEtleS5rZXkgPT09IHRoaXMuX2JhY2tTaGVsbC5rZXkgfHxcclxuICAgICAgICAgIHNlbGVjdGVkS2V5LmtleSA9PT0gdGhpcy5fbGVmdFNoZWxsLmtleSB8fFxyXG4gICAgICAgICAgc2VsZWN0ZWRLZXkua2V5ID09PSB0aGlzLl9yaWdodFNoZWxsLmtleSB8fFxyXG4gICAgICAgICAgc2VsZWN0ZWRLZXkua2V5ID09PSB0aGlzLl90b3BTaGVsbC5rZXkgfHxcclxuICAgICAgICAgIHNlbGVjdGVkS2V5LmtleSA9PT0gdGhpcy5fYm90dG9tU2hlbGwua2V5XHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRTaGVsbCAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZFNoZWxsLm93bmVyLm5hbWUgPT0gXCJoaWdobGlnaHRcIikge1xyXG4gICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkU2hlbGwubW92ZVRvKHRoaXMuX3NlbGVjdGVkU2hlbGwub3duZXIub3duZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgbGV0IHNlbGVjdGVkU2hlbGwgPSBuZXcgU2hlbGwoc2VsZWN0ZWRLZXkua2V5KTtcclxuICAgICAgICAgIHNlbGVjdGVkU2hlbGwubW92ZVRvKHRoaXMuX2N1dHRpbmdCb3hTZWdtZW50LnN1YnNlZ21lbnQoXCJoaWdobGlnaHRcIikpO1xyXG4gICAgICAgICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xyXG5cclxuICAgICAgICAgIHRoaXMuX3NlbGVjdGVkU2hlbGwgPSBzZWxlY3RlZFNoZWxsO1xyXG4gICAgICAgICAgdGhpcy5fc2VsZWN0aW9uS2V5ID0gc2VsZWN0ZWRLZXk7XHJcblxyXG4gICAgICAgICAgdGhpcy52aWV3ZXIuY2FudmFzLnN0eWxlLmN1cnNvciA9IFwicG9pbnRlclwiO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRTaGVsbCAhPSBudWxsKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRTaGVsbC5vd25lci5uYW1lID09IFwiaGlnaGxpZ2h0XCIpIHtcclxuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRTaGVsbC5tb3ZlVG8odGhpcy5fc2VsZWN0ZWRTaGVsbC5vd25lci5vd25lcik7XHJcbiAgICAgICAgICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMudmlld2VyLmNhbnZhcy5zdHlsZS5jdXJzb3IgPSBcIlwiO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRTaGVsbCA9IG51bGw7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBzZWxlY3Rpb25LZXlzID0gdGhpcy52aWV3ZXIuc2VsZWN0QnlQb2ludChlLm1vdXNlV2luZG93UG9zKCkpO1xyXG5cclxuICAgICAgaWYgKHNlbGVjdGlvbktleXMuY291bnQoKSA+IDApIHtcclxuICAgICAgICB0aGlzLl9zZWxlY3Rpb25LZXkgPSBzZWxlY3Rpb25LZXlzLml0ZW1zWzBdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3VwZXIub25Nb3VzZU1vdmUoZSk7XHJcbiAgfVxyXG5cclxuICBvbkxCdXR0b25Eb3duKGU6IFZpZXdlckV2ZW50KSB7XHJcbiAgICB0aGlzLnZpZXdlci5pc0J1c3kgPSB0cnVlO1xyXG5cclxuICAgIGlmICh0aGlzLl9zZWxlY3Rpb25LZXkpIHtcclxuICAgICAgLy90aGlzLl9kb3duUG9zID0gZS5tb3VzZVpXb3JsZFBvcyh0aGlzLl9zZWxlY3Rpb25LZXkud2luUG9zaXRpb25bMl0pO1xyXG4gICAgICB0aGlzLl9kb3duUG9zID0gdGhpcy5fc2VsZWN0aW9uS2V5LnBvc2l0aW9uIGFzIEZsb2F0MzJBcnJheTtcclxuICAgIH1cclxuICAgIHRoaXMuX3ByZVBvcyA9IHRoaXMuX2Rvd25Qb3M7XHJcblxyXG4gICAgc3VwZXIub25MQnV0dG9uRG93bihlKTtcclxuICB9XHJcblxyXG4gIG9uTEJ1dHRvblVwKGU6IFZpZXdlckV2ZW50KSB7XHJcbiAgICB0aGlzLl9kb3duUG9zID0gbnVsbDtcclxuXHJcbiAgICB0aGlzLnZpZXdlci5pc0J1c3kgPSBmYWxzZTtcclxuXHJcbiAgICBzdXBlci5vbkxCdXR0b25VcChlKTtcclxuICB9XHJcblxyXG4gIG9uTUJ1dHRvbkRvd24oZTogVmlld2VyRXZlbnQpIHtcclxuICAgIHRoaXMuX2Rvd25Qb3MgPSBudWxsO1xyXG5cclxuICAgIHN1cGVyLm9uTEJ1dHRvbkRvd24oZSk7XHJcbiAgfVxyXG5cclxuICBvblJCdXR0b25Eb3duKGU6IFZpZXdlckV2ZW50KSB7XHJcbiAgICB0aGlzLl9kb3duUG9zID0gbnVsbDtcclxuXHJcbiAgICBzdXBlci5vblJCdXR0b25Eb3duKGUpO1xyXG4gIH1cclxuXHJcbiAgb25MQnV0dG9uRG93bkFuZE1vdmUoZTogVmlld2VyRXZlbnQpIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5fc2VsZWN0ZWRTaGVsbCAhPSBudWxsICYmXHJcbiAgICAgIHRoaXMuX2Rvd25Qb3MgIT0gbnVsbCAmJlxyXG4gICAgICB0aGlzLl9zZWxlY3Rpb25LZXlcclxuICAgICkge1xyXG4gICAgICAvLyBsZXQgY3VycmVudFBvcyA9IGUubW91c2VaV29ybGRQb3ModGhpcy5fc2VsZWN0aW9uS2V5LndpblBvc2l0aW9uWzJdKTtcclxuICAgICAgbGV0IGN1cnJlbnRQb3MgPSB0aGlzLl9zZWxlY3Rpb25LZXkucG9zaXRpb24gYXMgRmxvYXQzMkFycmF5O1xyXG5cclxuICAgICAgbGV0IHBvaW50cyA9IHRoaXMuX3NlbGVjdGVkU2hlbGwucG9pbnRzO1xyXG4gICAgICBsZXQgdjEgPSBQb2ludC5zdWJ0cmFjdChwb2ludHMuc3ViYXJyYXkoMywgNiksIHBvaW50cy5zdWJhcnJheSgwLCAzKSk7XHJcbiAgICAgIGxldCB2MiA9IFBvaW50LnN1YnRyYWN0KHBvaW50cy5zdWJhcnJheSg2LCA5KSwgcG9pbnRzLnN1YmFycmF5KDAsIDMpKTtcclxuICAgICAgbGV0IG5vcm1hbCA9IFZlY3Rvci5jcm9zcyh2MSwgdjIpO1xyXG4gICAgICBWZWN0b3Iubm9ybWFsaXplKG5vcm1hbCk7XHJcblxyXG4gICAgICBsZXQgd29ybGRSYXkgPSBlLm1vdXNlV29ybGRSYXkoKTtcclxuXHJcbiAgICAgIGxldCBwcmVQb3N0aW9uID0gR2VvbWV0cnlPcGVyYXRvcnMuY2xvc2VzdFBvaW50KFxyXG4gICAgICAgIHRoaXMuX3ByZVBvcyxcclxuICAgICAgICB3b3JsZFJheSxcclxuICAgICAgICB0aGlzLl9kb3duUG9zLFxyXG4gICAgICAgIG5vcm1hbFxyXG4gICAgICApLnJwMTtcclxuICAgICAgbGV0IHByb2plY3RlZFBvaW50ID0gR2VvbWV0cnlPcGVyYXRvcnMuY2xvc2VzdFBvaW50KFxyXG4gICAgICAgIGN1cnJlbnRQb3MsXHJcbiAgICAgICAgd29ybGRSYXksXHJcbiAgICAgICAgdGhpcy5fZG93blBvcyxcclxuICAgICAgICBub3JtYWxcclxuICAgICAgKS5ycDE7XHJcblxyXG4gICAgICBsZXQgZGVsdGEgPSBHZW9tZXRyeU9wZXJhdG9ycy5kaXN0YW5jZShwcm9qZWN0ZWRQb2ludCwgcHJlUG9zdGlvbik7XHJcblxyXG4gICAgICBpZiAodGhpcy5fc2VsZWN0ZWRTaGVsbC5lcXVhbHModGhpcy5fZnJvbnRTaGVsbCkpIHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBwcm9qZWN0ZWRQb2ludFsxXSA+IHRoaXMuX3ByZVBvc1sxXSAmJlxyXG4gICAgICAgICAgdGhpcy5fYm94WzFdICsgZGVsdGEgPCB0aGlzLl9ib3hbNF1cclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuX2JveFsxXSArPSBkZWx0YTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5fYm94WzFdIC09IGRlbHRhO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnVwZGF0ZUJveCgpO1xyXG4gICAgICAgIHRoaXMudmlld2VyLnVwZGF0ZUNhbWVyYU5lYXJGYXIoKTtcclxuICAgICAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5fc2VsZWN0ZWRTaGVsbC5lcXVhbHModGhpcy5fYmFja1NoZWxsKSkge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIHByb2plY3RlZFBvaW50WzFdIDwgdGhpcy5fcHJlUG9zWzFdICYmXHJcbiAgICAgICAgICB0aGlzLl9ib3hbNF0gLSBkZWx0YSA+IHRoaXMuX2JveFsxXVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgdGhpcy5fYm94WzRdIC09IGRlbHRhO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9ib3hbNF0gKz0gZGVsdGE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudXBkYXRlQm94KCk7XHJcbiAgICAgICAgdGhpcy52aWV3ZXIudXBkYXRlQ2FtZXJhTmVhckZhcigpO1xyXG4gICAgICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLl9zZWxlY3RlZFNoZWxsLmVxdWFscyh0aGlzLl9sZWZ0U2hlbGwpKSB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgcHJvamVjdGVkUG9pbnRbMF0gPiB0aGlzLl9wcmVQb3NbMF0gJiZcclxuICAgICAgICAgIHRoaXMuX2JveFswXSArIGRlbHRhIDwgdGhpcy5fYm94WzNdXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLl9ib3hbMF0gKz0gZGVsdGE7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2JveFswXSAtPSBkZWx0YTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy51cGRhdGVCb3goKTtcclxuICAgICAgICB0aGlzLnZpZXdlci51cGRhdGVDYW1lcmFOZWFyRmFyKCk7XHJcbiAgICAgICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX3NlbGVjdGVkU2hlbGwuZXF1YWxzKHRoaXMuX3JpZ2h0U2hlbGwpKSB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgcHJvamVjdGVkUG9pbnRbMF0gPCB0aGlzLl9wcmVQb3NbMF0gJiZcclxuICAgICAgICAgIHRoaXMuX2JveFszXSAtIGRlbHRhID4gdGhpcy5fYm94WzBdXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLl9ib3hbM10gLT0gZGVsdGE7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2JveFszXSArPSBkZWx0YTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy51cGRhdGVCb3goKTtcclxuICAgICAgICB0aGlzLnZpZXdlci51cGRhdGVDYW1lcmFOZWFyRmFyKCk7XHJcbiAgICAgICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX3NlbGVjdGVkU2hlbGwuZXF1YWxzKHRoaXMuX2JvdHRvbVNoZWxsKSkge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIHByb2plY3RlZFBvaW50WzJdID4gdGhpcy5fcHJlUG9zWzJdICYmXHJcbiAgICAgICAgICB0aGlzLl9ib3hbMl0gKyBkZWx0YSA8IHRoaXMuX2JveFs1XVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgdGhpcy5fYm94WzJdICs9IGRlbHRhO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9ib3hbMl0gLT0gZGVsdGE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudXBkYXRlQm94KCk7XHJcbiAgICAgICAgdGhpcy52aWV3ZXIudXBkYXRlQ2FtZXJhTmVhckZhcigpO1xyXG4gICAgICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLl9zZWxlY3RlZFNoZWxsLmVxdWFscyh0aGlzLl90b3BTaGVsbCkpIHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBwcm9qZWN0ZWRQb2ludFsyXSA8IHRoaXMuX3ByZVBvc1syXSAmJlxyXG4gICAgICAgICAgdGhpcy5fYm94WzVdIC0gZGVsdGEgPiB0aGlzLl9ib3hbMl1cclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuX2JveFs1XSAtPSBkZWx0YTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5fYm94WzVdICs9IGRlbHRhO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnVwZGF0ZUJveCgpO1xyXG4gICAgICAgIHRoaXMudmlld2VyLnVwZGF0ZUNhbWVyYU5lYXJGYXIoKTtcclxuICAgICAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuX3ByZVBvcyA9IHByb2plY3RlZFBvaW50O1xyXG4gICAgfVxyXG5cclxuICAgIHN1cGVyLm9uTEJ1dHRvbkRvd25BbmRNb3ZlKGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFlWYWx1ZShzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcikge1xyXG4gICAgbGV0IHlfbGVuID0gKHRoaXMuX2JiWzRdIC0gdGhpcy5fYmJbMV0pICogc3RhcnQ7XHJcbiAgICBsZXQgcG9zID0gdGhpcy5fYmJbMV0gKyB5X2xlbjtcclxuICAgIGlmIChwb3MgPCB0aGlzLl9ib3hbNF0pIHtcclxuICAgICAgdGhpcy5fYm94WzFdID0gcG9zO1xyXG4gICAgfVxyXG5cclxuICAgIHlfbGVuID0gKHRoaXMuX2JiWzRdIC0gdGhpcy5fYmJbMV0pICogKDEgLSBlbmQpO1xyXG4gICAgcG9zID0gdGhpcy5fYmJbNF0gLSB5X2xlbjtcclxuICAgIGlmIChwb3MgPiB0aGlzLl9ib3hbMV0pIHtcclxuICAgICAgdGhpcy5fYm94WzRdID0gcG9zO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudXBkYXRlQm94KCk7XHJcbiAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0WFZhbHVlKHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKSB7XHJcbiAgICBsZXQgeF9sZW4gPSAodGhpcy5fYmJbM10gLSB0aGlzLl9iYlswXSkgKiBzdGFydDtcclxuICAgIGxldCBwb3MgPSB0aGlzLl9iYlswXSArIHhfbGVuO1xyXG4gICAgaWYgKHBvcyA8IHRoaXMuX2JveFszXSkge1xyXG4gICAgICB0aGlzLl9ib3hbMF0gPSBwb3M7XHJcbiAgICB9XHJcblxyXG4gICAgeF9sZW4gPSAodGhpcy5fYmJbM10gLSB0aGlzLl9iYlswXSkgKiAoMSAtIGVuZCk7XHJcbiAgICBwb3MgPSB0aGlzLl9iYlszXSAtIHhfbGVuO1xyXG4gICAgaWYgKHBvcyA+IHRoaXMuX2JveFswXSkge1xyXG4gICAgICB0aGlzLl9ib3hbM10gPSBwb3M7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy51cGRhdGVCb3goKTtcclxuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRaVmFsdWUoc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIpIHtcclxuICAgIGxldCB6X2xlbiA9ICh0aGlzLl9iYls1XSAtIHRoaXMuX2JiWzJdKSAqIHN0YXJ0O1xyXG4gICAgbGV0IHBvcyA9IHRoaXMuX2JiWzJdICsgel9sZW47XHJcbiAgICBpZiAocG9zIDwgdGhpcy5fYm94WzVdKSB7XHJcbiAgICAgIHRoaXMuX2JveFsyXSA9IHBvcztcclxuICAgIH1cclxuXHJcbiAgICB6X2xlbiA9ICh0aGlzLl9iYls1XSAtIHRoaXMuX2JiWzJdKSAqICgxIC0gZW5kKTtcclxuICAgIHBvcyA9IHRoaXMuX2JiWzVdIC0gel9sZW47XHJcbiAgICBpZiAocG9zID4gdGhpcy5fYm94WzJdKSB7XHJcbiAgICAgIHRoaXMuX2JveFs1XSA9IHBvcztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnVwZGF0ZUJveCgpO1xyXG4gICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xyXG4gIH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./packages/bimAir/src/gsDevFx/operators/cuttingBoxOperator.ts\n");
|
|
4018
4018
|
|
|
4019
4019
|
/***/ }),
|
|
4020
4020
|
|
|
@@ -5054,7 +5054,7 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_
|
|
|
5054
5054
|
\******************************************************************************************/
|
|
5055
5055
|
/***/ (function(module, exports, __webpack_require__) {
|
|
5056
5056
|
|
|
5057
|
-
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.promise.js */ \"./node_modules/core-js/modules/es.promise.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.unshift.js */ \"./node_modules/core-js/modules/es.array.unshift.js\");\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ../../../viewerWrapper/commands/commandComponent */ \"./packages/bimAir/src/viewerWrapper/commands/commandComponent.ts\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/collisionObjects */ \"./packages/bimAir/src/gsDevFx/objects/collisionObjects.ts\"), __webpack_require__(/*! ../../../gsDevFx/operators/componentSelector */ \"./packages/bimAir/src/gsDevFx/operators/componentSelector.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/material */ \"./packages/bimAir/src/gsDevFx/objects/material.ts\"), __webpack_require__(/*! ../../../api/renderObjectService */ \"./packages/bimAir/src/api/renderObjectService.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/collisionObject */ \"./packages/bimAir/src/gsDevFx/objects/collisionObject.ts\"), __webpack_require__(/*! gs-longan/longan/gs.viewer */ \"./packages/longan/src/longan/gs.viewer.ts\"), __webpack_require__(/*! ../../../viewerWrapper/module/getRelatedIds */ \"./packages/bimAir/src/viewerWrapper/module/getRelatedIds.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, commandComponent_1, Longan, collisionObjects_1, componentSelector_1, material_1, renderObjectService_1, collisionObject_1, gs_viewer_1, getRelatedIds_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n Longan = tslib_1.__importStar(Longan);\n renderObjectService_1 = tslib_1.__importDefault(renderObjectService_1);\n\n var CommandShowCollision = function (_super) {\n tslib_1.__extends(CommandShowCollision, _super);\n\n function CommandShowCollision() {\n var _this = _super.call(this) || this;\n\n _this.typeName = \"CommandShowCollision\";\n _this.collusionCount = -1;\n _this.option = {\n name: \"\",\n isCompute: false,\n data: \"\"\n };\n _this.k = 0;\n _this.currentCount = 0;\n _this.allCount = 0;\n _this.commandData = {\n name: \"\",\n isCompute: false,\n data: \"\",\n collisionTableDataLoadingText: \"碰撞进度:0/0\"\n };\n return _this;\n }\n\n CommandShowCollision.prototype.begin = function () {\n this.bindComponent = function () {\n return new Promise(function (resolve_1, reject_1) {\n Promise.resolve(/*! AMD require */).then(function() { var __WEBPACK_AMD_REQUIRE_ARRAY__ = [__webpack_require__(/*! ./showCollision.vue */ \"./packages/bimAir/src/viewerWrapper/commands/showCollision/showCollision.vue\")]; (resolve_1).apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__);}.bind(this))['catch'](reject_1.bind(this));\n }).then(tslib_1.__importStar);\n };\n\n this.viewer.isBusy = true;\n this.show();\n this.collusionCount = -1;\n this.viewer.operatorManager.add(new Longan.CameraMouse());\n this.viewer.operatorManager.add(new componentSelector_1.ComponentSelector());\n\n _super.prototype.begin.call(this);\n };\n\n CommandShowCollision.prototype.end = function () {\n this.viewer.isBusy = false;\n\n if (this.lastSegObjRed && this.lastSegObjBlue) {\n this.lastSegObjRed.segment.renderingOptions.unsetDepthRange();\n this.lastSegObjBlue.segment.renderingOptions.unsetDepthRange();\n this.viewer.materialManager.clearOverride([this.lastSegObjRed, this.lastSegObjBlue]);\n }\n\n this.viewer.updateDisplay();\n this.hide();\n\n _super.prototype.end.call(this);\n };\n\n CommandShowCollision.prototype.switchCollisionListData = function (option) {\n this.option = tslib_1.__assign({}, option);\n this.commandData = tslib_1.__assign({}, option);\n };\n\n CommandShowCollision.prototype.findNoObjTreeNodeObject = function (treeNodeObject, nodes) {\n if (treeNodeObject.obj) {\n if (treeNodeObject.childNodes) {\n for (var i = 0; i < treeNodeObject.childNodes.length; i++) {\n var item = treeNodeObject.childNodes[i];\n this.findNoObjTreeNodeObject(item, nodes);\n }\n } else {}\n } else {\n nodes.add(treeNodeObject);\n }\n };\n\n CommandShowCollision.prototype.computeCollision = function (option, checkedNodes, collisionType, softCollisionDistance) {\n var _this = this;\n\n this.option = tslib_1.__assign({}, option);\n this.commandData = tslib_1.__assign({}, option);\n this.currentCount = 0;\n this.allCount = 0;\n var collisionDatas = [];\n var len = checkedNodes.length;\n var geoPromises = [];\n checkedNodes.forEach(function (treeNodeObject) {\n var nodes = new Longan.List();\n\n _this.findNoObjTreeNodeObject(treeNodeObject, nodes);\n\n nodes.items.forEach(function (node) {\n console.log(\"node---------\", node);\n\n if (node) {\n var p = _this.viewer.ensureSegmentAsynGeometry(node.segment.key, function (total, current) {\n _this.commandData = {\n isCompute: _this.option.isCompute,\n collisionTableDataLoadingText: \"\\u68C0\\u67E5\".concat(node.name, \"\\uFF1A\").concat(current, \"/\").concat(total)\n };\n });\n\n geoPromises.push(p);\n }\n });\n });\n Promise.all(geoPromises).then(function () {\n if (len <= 0) {\n return;\n } else if (len === 1) {\n var segs = [];\n\n _this.viewer.structureTreeManager.getComponents(checkedNodes[0], segs);\n\n if (segs.length === 0) {\n console.warn(\"节点不存在构件\");\n } else {\n console.log(\"节点构件:\", segs);\n }\n\n _this.allCount += segs.length * (segs.length - 1);\n\n _this.viewer.panelManager.collisionPanel.computeObjectCollisions(segs, segs, collisionType, function (total, current) {\n _this.currentCount += 1;\n var collisionTableDataLoadingText = \"碰撞进度:\" + _this.currentCount + \"/\" + _this.allCount;\n _this.commandData = {\n isCompute: _this.option.isCompute,\n collisionTableDataLoadingText: collisionTableDataLoadingText\n };\n }, softCollisionDistance).then(function (data) {\n collisionDatas = collisionDatas.concat(data);\n });\n } else {\n for (var i = 0; i < len - 1; i++) {\n for (var j = i + 1; j < len; j++) {\n var node1 = checkedNodes[i];\n var node2 = checkedNodes[j];\n var segs1 = [];\n var segs2 = [];\n\n _this.viewer.structureTreeManager.getComponents(node1, segs1);\n\n _this.viewer.structureTreeManager.getComponents(node2, segs2);\n\n if (segs1.length === 0 || segs2.length === 0) {\n console.warn(\"节点不存在构件\");\n } else {}\n\n _this.allCount += segs1.length * segs2.length;\n\n _this.viewer.panelManager.collisionPanel.computeObjectCollisions(segs1, segs2, collisionType, function (total, current) {\n if (total && current === 0) {\n _this.allCount += total;\n }\n\n _this.currentCount += 1;\n var collisionTableDataLoadingText = _this.currentCount + \"/\" + _this.allCount;\n _this.commandData = {\n isCompute: _this.option.isCompute,\n collisionTableDataLoadingText: collisionTableDataLoadingText\n };\n }, softCollisionDistance).then(function (data) {\n collisionDatas = collisionDatas.concat(data);\n });\n }\n }\n }\n\n console.log(\"碰撞的总次数:\", _this.allCount, collisionDatas);\n var timer = setInterval(function () {\n if (_this.currentCount === _this.allCount) {\n _this.commandData.isCompute = false;\n var ids = (0, getRelatedIds_1.getTreeNodeObjectsRelatedIds)(checkedNodes);\n var list_1 = [];\n collisionDatas.forEach(function (item) {\n if (item) {\n list_1.push(item);\n }\n });\n var obj_1 = {};\n var collisionAllList_1 = [];\n list_1.forEach(function (item, index) {\n if (item) {\n var newItem1 = item.segObj1.componentId + item.segObj2.componentId + item.segObj1.modelId + item.segObj2.modelId;\n var newItem2 = item.segObj2.componentId + item.segObj1.componentId + item.segObj2.modelId + item.segObj1.modelId;\n var isExist1 = obj_1[newItem1];\n var isExist2 = obj_1[newItem2];\n\n if (!isExist1 && !isExist2) {\n collisionAllList_1.push(item);\n obj_1[newItem1] = true;\n obj_1[newItem2] = true;\n }\n }\n });\n var collisionNodeNames_1 = [];\n checkedNodes.forEach(function (item) {\n collisionNodeNames_1.push(item.name);\n });\n\n _this.getCollisionData(collisionAllList_1, ids, collisionType, collisionNodeNames_1);\n\n clearInterval(timer);\n return collisionDatas;\n }\n }, 500);\n });\n };\n\n CommandShowCollision.prototype.getCollisionData = function (collisionList, ids, collisionType, collisionNodeNames) {\n var _this = this;\n\n var tableData = [];\n\n for (var i = 0; i < collisionList.length; i++) {\n var collsionPos = collisionList[i].collsionPos;\n var segmentObject0 = collisionList[i].segObj1;\n var segmentObject1 = collisionList[i].segObj2;\n var key0 = segmentObject0.segment.key;\n var key1 = segmentObject1.segment.key;\n var box0 = (0, gs_viewer_1.JS_Compute_View_Boundingbox_By_Key)(this.viewer.viewKey, key0);\n var box1 = (0, gs_viewer_1.JS_Compute_View_Boundingbox_By_Key)(this.viewer.viewKey, key1);\n var min = new Array();\n min[0] = box0[0] < box1[0] ? box0[0] : box1[0];\n min[1] = box0[1] < box1[1] ? box0[1] : box1[1];\n min[2] = box0[2] < box1[2] ? box0[2] : box1[2];\n var max = new Array();\n max[0] = box0[3] > box1[3] ? box0[3] : box1[3];\n max[1] = box0[4] > box1[4] ? box0[4] : box1[4];\n max[2] = box0[5] > box1[5] ? box0[5] : box1[5];\n var compaire = collisionList[i].segObj1.componentId + \",\" + collisionList[i].segObj2.componentId + \",\" + collisionList[i].segObj1.modelId + \",\" + collisionList[i].segObj2.modelId;\n var object = {\n compaire: compaire,\n type: collisionList[i].collisionType,\n collsionPos: collsionPos,\n min: min,\n max: max\n };\n tableData.push(object);\n }\n\n var lightModel = this.viewer.process.renderObject;\n var collisionObjects = this.viewer.process.findRenderObjectByType(\"CollisionObjects\");\n\n if (!collisionObjects) {\n collisionObjects = new collisionObjects_1.CollisionObjects();\n this.viewer.process.addRenderObject(lightModel, collisionObjects);\n }\n\n var collisionObject = new collisionObject_1.CollisionObject();\n collisionObject.name = this.option.name;\n collisionObject.data = tableData;\n collisionObject.related = ids;\n collisionObject.collisionType = collisionType;\n collisionObject.collisionNodeNames = collisionNodeNames;\n\n if ((collisionType & 8) === 8) {\n collisionObject.softCollisionDistance = this.viewer.softCollisionDistance;\n }\n\n var obj = collisionObject.serialize();\n renderObjectService_1.default.createRenderObject(\"\", obj, this.viewer.options.tag).then(function (data) {\n _this.viewer.process.addRenderObject(collisionObjects, collisionObject);\n\n _this.viewer.panelManager.collisionPanel.collisionObjectJsonList.unshift(data);\n\n _this.viewer.panelManager.collisionPanel.generateCollision();\n\n _this.commandData = {\n isCompute: false,\n data: tableData\n };\n });\n };\n\n CommandShowCollision.prototype.selectCollision = function (row) {\n var compaireArr = row.compaire.split(\",\");\n\n if (this.lastSegObjRed && this.lastSegObjBlue) {\n this.viewer.materialManager.clearOverride([this.lastSegObjRed, this.lastSegObjBlue]);\n }\n\n this.lastSegObjRed = this.viewer.getComponent(compaireArr[2], compaireArr[0]);\n this.lastSegObjBlue = this.viewer.getComponent(compaireArr[3], compaireArr[1]);\n this.materialRed = new material_1.Material(this.viewer, \"red\");\n this.materialRed.setColor(255, 0, 0, 0.5);\n this.materialRed.setFloat();\n this.materialRed.styleSegment.renderingOptions.logarithmicDepthBuffer = false;\n this.materialBlue = new material_1.Material(this.viewer, \"blue\");\n this.materialBlue.setColor(0, 0, 255, 0.5);\n this.materialBlue.setFloat();\n this.materialBlue.styleSegment.renderingOptions.logarithmicDepthBuffer = false;\n this.viewer.materialManager.override([this.lastSegObjRed], this.materialRed);\n this.viewer.materialManager.override([this.lastSegObjBlue], this.materialBlue);\n this.viewer.locateWorldByData(row.collsionPos, row.min, row.max);\n this.viewer.updateDisplay();\n };\n\n CommandShowCollision.prototype.getComponentIdByPathKey = function (keyList) {\n var id = null;\n\n for (var i = 0; i < keyList.length - 1; i++) {\n var includeKey_1 = keyList[i];\n var segment = new Longan.Segment(includeKey_1);\n id = segment.property.showString(\"id\");\n\n if (id !== null) {\n return {\n id: id,\n includeKey: includeKey_1\n };\n }\n }\n\n if (id === null) {\n var includeKey_2 = keyList[keyList.length - 1];\n var segment = new Longan.Segment(includeKey_2);\n id = segment.property.showString(\"id\");\n\n if (id) {\n return {\n id: id,\n includeKey: includeKey_2\n };\n }\n\n var owner_key = (0, gs_viewer_1.JS_Show_Owner_By_Key)(includeKey_2);\n\n while (owner_key !== -1) {\n var segment_1 = new Longan.Segment(owner_key);\n id = segment_1.property.showString(\"id\");\n\n if (id) {\n return {\n id: id,\n includeKey: includeKey_2\n };\n }\n\n owner_key = (0, gs_viewer_1.JS_Show_Owner_By_Key)(owner_key);\n }\n }\n\n var includeKey = -1;\n return {\n id: id,\n includeKey: includeKey\n };\n };\n\n return CommandShowCollision;\n }(commandComponent_1.CommandComponent);\n\n exports[\"default\"] = CommandShowCollision;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9iaW1BaXIvc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvc2hvd0NvbGxpc2lvbi9jb21tYW5kU2hvd0NvbGxpc2lvbi50cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW1CQTtBQUFBOztBQWtCQTtBQUFBOztBQWpCQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBVUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTs7QUFNQTs7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTs7QUFFQTtBQUVBOztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFFQTtBQUNBOztBQUVBO0FBQUE7O0FBTUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBOztBQUNBOztBQUVBO0FBQ0E7O0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOztBQUNBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7O0FBQ0E7QUFNQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUlBO0FBRUE7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBR0E7O0FBRUE7QUFNQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFlQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBS0E7QUFLQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQUE7O0FBTUE7O0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBT0E7QUFDQTs7QUFHQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFFQTtBQUdBOztBQUVBOztBQUdBOztBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFDQTs7QUFFQTtBQVFBOztBQUNBO0FBQ0E7QUFJQTs7QUFFQTtBQUlBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBSUE7QUFLQTtBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTs7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7O0FBR0E7O0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBOztBQUNBO0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9iaW1saWdodC1wbGF0Zm9ybS8uL3BhY2thZ2VzL2JpbUFpci9zcmMvdmlld2VyV3JhcHBlci9jb21tYW5kcy9zaG93Q29sbGlzaW9uL2NvbW1hbmRTaG93Q29sbGlzaW9uLnRzP2NlMzEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVmZXJlbmNlTGlnaHRNb2RlbCB9IGZyb20gXCIuLy4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9yZWZlcmVuY2VMaWdodE1vZGVsXCI7XHJcbmltcG9ydCB7IFNlZ21lbnRPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL3NlZ21lbnRPYmplY3RcIjtcclxuaW1wb3J0IHsgQ29tbWFuZENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi8uLi92aWV3ZXJXcmFwcGVyL2NvbW1hbmRzL2NvbW1hbmRDb21wb25lbnRcIjtcclxuXHJcbmltcG9ydCAqIGFzIExvbmdhbiBmcm9tIFwiZ3MtbG9uZ2FuXCI7XHJcbmltcG9ydCB7IENvbGxpc2lvbk9iamVjdHMgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL2NvbGxpc2lvbk9iamVjdHNcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50U2VsZWN0b3IgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vcGVyYXRvcnMvY29tcG9uZW50U2VsZWN0b3JcIjtcclxuaW1wb3J0IHsgTWF0ZXJpYWwgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL21hdGVyaWFsXCI7XHJcbmltcG9ydCB7IFRyZWVOb2RlT2JqZWN0IH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy90cmVlTm9kZU9iamVjdFwiO1xyXG5pbXBvcnQgcmVuZGVyT2JqZWN0c1NlcnZpY2UgZnJvbSBcIi4uLy4uLy4uL2FwaS9yZW5kZXJPYmplY3RTZXJ2aWNlXCI7XHJcbmltcG9ydCB7IENvbGxpc2lvbk9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvY29sbGlzaW9uT2JqZWN0XCI7XHJcbmltcG9ydCB7XHJcbiAgQ29sbGlzaW9uVHlwZSxcclxuICBKU19Db21wdXRlX1ZpZXdfQm91bmRpbmdib3hfQnlfS2V5LFxyXG4gIEpTX1Nob3dfT3duZXJfQnlfS2V5LFxyXG59IGZyb20gXCJncy1sb25nYW4vbG9uZ2FuL2dzLnZpZXdlclwiO1xyXG5pbXBvcnQgeyBDb2xsaXNpb24gfSBmcm9tIFwiLi4vLi4vLi4vdmlld2VyV3JhcHBlci9wYW5lbHMvY29sbGlzaW9uL2NvbGxpc2lvblBhbmVsXCI7XHJcbmltcG9ydCB7IGdldFRyZWVOb2RlT2JqZWN0c1JlbGF0ZWRJZHMgfSBmcm9tIFwiLi4vLi4vLi4vdmlld2VyV3JhcHBlci9tb2R1bGUvZ2V0UmVsYXRlZElkc1wiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tbWFuZFNob3dDb2xsaXNpb24gZXh0ZW5kcyBDb21tYW5kQ29tcG9uZW50IHtcclxuICB0eXBlTmFtZSA9IFwiQ29tbWFuZFNob3dDb2xsaXNpb25cIjtcclxuXHJcbiAgY29sbHVzaW9uQ291bnQgPSAtMTtcclxuICBvcHRpb24gPSB7IG5hbWU6IFwiXCIsIGlzQ29tcHV0ZTogZmFsc2UsIGRhdGE6IFwiXCIgfTtcclxuICBrID0gMDtcclxuICBkZXB0aFJhbmdlO1xyXG4gIC8vIGtleTA7XHJcbiAgLy8ga2V5MTtcclxuXHJcbiAgbGFzdFNlZ09ialJlZDogU2VnbWVudE9iamVjdDtcclxuICBsYXN0U2VnT2JqQmx1ZTogU2VnbWVudE9iamVjdDtcclxuICBtYXRlcmlhbFJlZDogTWF0ZXJpYWw7XHJcbiAgbWF0ZXJpYWxCbHVlOiBNYXRlcmlhbDtcclxuXHJcbiAgY3VycmVudENvdW50ID0gMDtcclxuICBhbGxDb3VudCA9IDA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuY29tbWFuZERhdGEgPSB7XHJcbiAgICAgIG5hbWU6IFwiXCIsXHJcbiAgICAgIGlzQ29tcHV0ZTogZmFsc2UsXHJcbiAgICAgIGRhdGE6IFwiXCIsXHJcbiAgICAgIGNvbGxpc2lvblRhYmxlRGF0YUxvYWRpbmdUZXh0OiBcIueisOaSnui/m+W6pu+8mjAvMFwiLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGJlZ2luKCkge1xyXG4gICAgdGhpcy5iaW5kQ29tcG9uZW50ID0gKCkgPT4gaW1wb3J0KFwiLi9zaG93Q29sbGlzaW9uLnZ1ZVwiKTtcclxuXHJcbiAgICB0aGlzLnZpZXdlci5pc0J1c3kgPSB0cnVlO1xyXG4gICAgdGhpcy5zaG93KCk7XHJcbiAgICB0aGlzLmNvbGx1c2lvbkNvdW50ID0gLTE7XHJcbiAgICB0aGlzLnZpZXdlci5vcGVyYXRvck1hbmFnZXIuYWRkKG5ldyBMb25nYW4uQ2FtZXJhTW91c2UoKSk7XHJcbiAgICB0aGlzLnZpZXdlci5vcGVyYXRvck1hbmFnZXIuYWRkKG5ldyBDb21wb25lbnRTZWxlY3RvcigpKTtcclxuICAgIHN1cGVyLmJlZ2luKCk7XHJcbiAgfVxyXG5cclxuICBlbmQoKSB7XHJcbiAgICB0aGlzLnZpZXdlci5pc0J1c3kgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLmxhc3RTZWdPYmpSZWQgJiYgdGhpcy5sYXN0U2VnT2JqQmx1ZSkge1xyXG4gICAgICB0aGlzLmxhc3RTZWdPYmpSZWQuc2VnbWVudC5yZW5kZXJpbmdPcHRpb25zLnVuc2V0RGVwdGhSYW5nZSgpO1xyXG4gICAgICB0aGlzLmxhc3RTZWdPYmpCbHVlLnNlZ21lbnQucmVuZGVyaW5nT3B0aW9ucy51bnNldERlcHRoUmFuZ2UoKTtcclxuICAgICAgdGhpcy52aWV3ZXIubWF0ZXJpYWxNYW5hZ2VyLmNsZWFyT3ZlcnJpZGUoW1xyXG4gICAgICAgIHRoaXMubGFzdFNlZ09ialJlZCxcclxuICAgICAgICB0aGlzLmxhc3RTZWdPYmpCbHVlLFxyXG4gICAgICBdKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XHJcblxyXG4gICAgdGhpcy5oaWRlKCk7XHJcbiAgICBzdXBlci5lbmQoKTtcclxuICB9XHJcblxyXG4gIHN3aXRjaENvbGxpc2lvbkxpc3REYXRhKG9wdGlvbjogeyBuYW1lOiBzdHJpbmc7IGlzQ29tcHV0ZTogYm9vbGVhbjsgZGF0YSB9KSB7XHJcbiAgICB0aGlzLm9wdGlvbiA9IHsgLi4ub3B0aW9uIH07XHJcbiAgICB0aGlzLmNvbW1hbmREYXRhID0geyAuLi5vcHRpb24gfTtcclxuICB9XHJcblxyXG4gIGZpbmROb09ialRyZWVOb2RlT2JqZWN0KFxyXG4gICAgdHJlZU5vZGVPYmplY3Q6IFRyZWVOb2RlT2JqZWN0LFxyXG4gICAgbm9kZXM6IExvbmdhbi5MaXN0PFRyZWVOb2RlT2JqZWN0PlxyXG4gICkge1xyXG4gICAgaWYgKHRyZWVOb2RlT2JqZWN0Lm9iaikge1xyXG4gICAgICBpZiAodHJlZU5vZGVPYmplY3QuY2hpbGROb2Rlcykge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdHJlZU5vZGVPYmplY3QuY2hpbGROb2Rlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgY29uc3QgaXRlbSA9IHRyZWVOb2RlT2JqZWN0LmNoaWxkTm9kZXNbaV07XHJcbiAgICAgICAgICB0aGlzLmZpbmROb09ialRyZWVOb2RlT2JqZWN0KGl0ZW0sIG5vZGVzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gcmV0dXJuXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG5vZGVzLmFkZCh0cmVlTm9kZU9iamVjdCk7XHJcbiAgICAgIC8vIHJldHVybiB0cmVlTm9kZU9iamVjdDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbXB1dGVDb2xsaXNpb24oXHJcbiAgICBvcHRpb246IHsgbmFtZTogc3RyaW5nOyBpc0NvbXB1dGU6IGJvb2xlYW47IGRhdGEgfSxcclxuICAgIGNoZWNrZWROb2RlczogVHJlZU5vZGVPYmplY3RbXSxcclxuICAgIGNvbGxpc2lvblR5cGU6IENvbGxpc2lvblR5cGUsXHJcbiAgICBzb2Z0Q29sbGlzaW9uRGlzdGFuY2U/OiBudW1iZXJcclxuICApIHtcclxuICAgIHRoaXMub3B0aW9uID0geyAuLi5vcHRpb24gfTtcclxuICAgIHRoaXMuY29tbWFuZERhdGEgPSB7IC4uLm9wdGlvbiB9O1xyXG5cclxuICAgIHRoaXMuY3VycmVudENvdW50ID0gMDtcclxuICAgIHRoaXMuYWxsQ291bnQgPSAwO1xyXG4gICAgbGV0IGNvbGxpc2lvbkRhdGFzOiBDb2xsaXNpb25bXSA9IFtdO1xyXG4gICAgbGV0IGxlbiA9IGNoZWNrZWROb2Rlcy5sZW5ndGg7XHJcblxyXG4gICAgbGV0IGdlb1Byb21pc2VzID0gW107XHJcbiAgICBjaGVja2VkTm9kZXMuZm9yRWFjaCgodHJlZU5vZGVPYmplY3QpID0+IHtcclxuICAgICAgbGV0IG5vZGVzOiBMb25nYW4uTGlzdDxUcmVlTm9kZU9iamVjdD4gPSBuZXcgTG9uZ2FuLkxpc3QoKTtcclxuICAgICAgdGhpcy5maW5kTm9PYmpUcmVlTm9kZU9iamVjdCh0cmVlTm9kZU9iamVjdCwgbm9kZXMpO1xyXG5cclxuICAgICAgbm9kZXMuaXRlbXMuZm9yRWFjaCgobm9kZSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwibm9kZS0tLS0tLS0tLVwiLCBub2RlKTtcclxuICAgICAgICBpZiAobm9kZSkge1xyXG4gICAgICAgICAgbGV0IHAgPSB0aGlzLnZpZXdlci5lbnN1cmVTZWdtZW50QXN5bkdlb21ldHJ5KFxyXG4gICAgICAgICAgICBub2RlLnNlZ21lbnQua2V5LFxyXG4gICAgICAgICAgICAodG90YWwsIGN1cnJlbnQpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmNvbW1hbmREYXRhID0ge1xyXG4gICAgICAgICAgICAgICAgaXNDb21wdXRlOiB0aGlzLm9wdGlvbi5pc0NvbXB1dGUsXHJcbiAgICAgICAgICAgICAgICBjb2xsaXNpb25UYWJsZURhdGFMb2FkaW5nVGV4dDogYOajgOafpSR7bm9kZS5uYW1lfe+8miR7Y3VycmVudH0vJHt0b3RhbH1gLFxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBnZW9Qcm9taXNlcy5wdXNoKHApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIC8vIHJldHVybjtcclxuXHJcbiAgICBQcm9taXNlLmFsbChnZW9Qcm9taXNlcykudGhlbigoKSA9PiB7XHJcbiAgICAgIGlmIChsZW4gPD0gMCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfSBlbHNlIGlmIChsZW4gPT09IDEpIHtcclxuICAgICAgICAvLyDljZXoioLngrnnorDmkp5cclxuICAgICAgICBsZXQgc2VnczogU2VnbWVudE9iamVjdFtdID0gW107XHJcbiAgICAgICAgdGhpcy52aWV3ZXIuc3RydWN0dXJlVHJlZU1hbmFnZXIuZ2V0Q29tcG9uZW50cyhjaGVja2VkTm9kZXNbMF0sIHNlZ3MpO1xyXG4gICAgICAgIGlmIChzZWdzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgY29uc29sZS53YXJuKFwi6IqC54K55LiN5a2Y5Zyo5p6E5Lu2XCIpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIuiKgueCueaehOS7tjpcIiwgc2Vncyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYWxsQ291bnQgKz0gc2Vncy5sZW5ndGggKiAoc2Vncy5sZW5ndGggLSAxKTtcclxuICAgICAgICB0aGlzLnZpZXdlci5wYW5lbE1hbmFnZXIuY29sbGlzaW9uUGFuZWxcclxuICAgICAgICAgIC5jb21wdXRlT2JqZWN0Q29sbGlzaW9ucyhcclxuICAgICAgICAgICAgc2VncyxcclxuICAgICAgICAgICAgc2VncyxcclxuICAgICAgICAgICAgY29sbGlzaW9uVHlwZSxcclxuICAgICAgICAgICAgKHRvdGFsLCBjdXJyZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jdXJyZW50Q291bnQgKz0gMTtcclxuICAgICAgICAgICAgICBsZXQgY29sbGlzaW9uVGFibGVEYXRhTG9hZGluZ1RleHQgPVxyXG4gICAgICAgICAgICAgICAgXCLnorDmkp7ov5vluqbvvJpcIiArIHRoaXMuY3VycmVudENvdW50ICsgXCIvXCIgKyB0aGlzLmFsbENvdW50O1xyXG5cclxuICAgICAgICAgICAgICB0aGlzLmNvbW1hbmREYXRhID0ge1xyXG4gICAgICAgICAgICAgICAgaXNDb21wdXRlOiB0aGlzLm9wdGlvbi5pc0NvbXB1dGUsXHJcbiAgICAgICAgICAgICAgICBjb2xsaXNpb25UYWJsZURhdGFMb2FkaW5nVGV4dCxcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBzb2Z0Q29sbGlzaW9uRGlzdGFuY2VcclxuICAgICAgICAgIClcclxuICAgICAgICAgIC50aGVuKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbGxpc2lvbkRhdGFzID0gY29sbGlzaW9uRGF0YXMuY29uY2F0KGRhdGEpO1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcImNvbGxpc2lvbkRhdGFzLS0tLS0tLS0tLS0tLS0tXCIsIGRhdGEsIGNvbGxpc2lvbkRhdGFzKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIC8vIGNvbGxpc2lvbkNvdW50ICs9IHNlZ3MubGVuZ3RoICogc2Vncy5sZW5ndGg7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8g5aSa5Liq6IqC54K55LqS55u456Kw5pKeXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW4gLSAxOyBpKyspIHtcclxuICAgICAgICAgIGZvciAobGV0IGogPSBpICsgMTsgaiA8IGxlbjsgaisrKSB7XHJcbiAgICAgICAgICAgIGxldCBub2RlMSA9IGNoZWNrZWROb2Rlc1tpXTtcclxuICAgICAgICAgICAgbGV0IG5vZGUyID0gY2hlY2tlZE5vZGVzW2pdO1xyXG5cclxuICAgICAgICAgICAgbGV0IHNlZ3MxOiBTZWdtZW50T2JqZWN0W10gPSBbXTtcclxuICAgICAgICAgICAgbGV0IHNlZ3MyOiBTZWdtZW50T2JqZWN0W10gPSBbXTtcclxuICAgICAgICAgICAgdGhpcy52aWV3ZXIuc3RydWN0dXJlVHJlZU1hbmFnZXIuZ2V0Q29tcG9uZW50cyhub2RlMSwgc2VnczEpO1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdlci5zdHJ1Y3R1cmVUcmVlTWFuYWdlci5nZXRDb21wb25lbnRzKG5vZGUyLCBzZWdzMik7XHJcblxyXG4gICAgICAgICAgICBpZiAoc2VnczEubGVuZ3RoID09PSAwIHx8IHNlZ3MyLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIuiKgueCueS4jeWtmOWcqOaehOS7tlwiKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuS6kuebuOeisOaSnueahOiKgueCueaehOS7tjpcIiwgc2VnczEsIHNlZ3MyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmFsbENvdW50ICs9IHNlZ3MxLmxlbmd0aCAqIHNlZ3MyLmxlbmd0aDtcclxuXHJcbiAgICAgICAgICAgIHRoaXMudmlld2VyLnBhbmVsTWFuYWdlci5jb2xsaXNpb25QYW5lbFxyXG4gICAgICAgICAgICAgIC5jb21wdXRlT2JqZWN0Q29sbGlzaW9ucyhcclxuICAgICAgICAgICAgICAgIHNlZ3MxLFxyXG4gICAgICAgICAgICAgICAgc2VnczIsXHJcbiAgICAgICAgICAgICAgICBjb2xsaXNpb25UeXBlLFxyXG4gICAgICAgICAgICAgICAgKHRvdGFsLCBjdXJyZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGlmICh0b3RhbCAmJiBjdXJyZW50ID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGxDb3VudCArPSB0b3RhbDtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRDb3VudCArPSAxO1xyXG4gICAgICAgICAgICAgICAgICBsZXQgY29sbGlzaW9uVGFibGVEYXRhTG9hZGluZ1RleHQgPVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudENvdW50ICsgXCIvXCIgKyB0aGlzLmFsbENvdW50O1xyXG5cclxuICAgICAgICAgICAgICAgICAgdGhpcy5jb21tYW5kRGF0YSA9IHtcclxuICAgICAgICAgICAgICAgICAgICBpc0NvbXB1dGU6IHRoaXMub3B0aW9uLmlzQ29tcHV0ZSxcclxuICAgICAgICAgICAgICAgICAgICBjb2xsaXNpb25UYWJsZURhdGFMb2FkaW5nVGV4dCxcclxuICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBzb2Z0Q29sbGlzaW9uRGlzdGFuY2VcclxuICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgLnRoZW4oKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbGxpc2lvbkRhdGFzID0gY29sbGlzaW9uRGF0YXMuY29uY2F0KGRhdGEpO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBjb25zb2xlLmxvZyhcIueisOaSnueahOaAu+asoeaVsDpcIiwgdGhpcy5hbGxDb3VudCwgY29sbGlzaW9uRGF0YXMpO1xyXG5cclxuICAgICAgbGV0IHRpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRDb3VudCA9PT0gdGhpcy5hbGxDb3VudCkge1xyXG4gICAgICAgICAgdGhpcy5jb21tYW5kRGF0YS5pc0NvbXB1dGUgPSBmYWxzZTtcclxuICAgICAgICAgIC8vIGlk5Y676YeNXHJcbiAgICAgICAgICBsZXQgaWRzID0gZ2V0VHJlZU5vZGVPYmplY3RzUmVsYXRlZElkcyhjaGVja2VkTm9kZXMpO1xyXG4gICAgICAgICAgLy8gY2hlY2tlZE5vZGVzLmZvckVhY2goKHRyZWVOb2RlT2JqZWN0KSA9PiB7XHJcbiAgICAgICAgICAvLyAgIGxldCBybyA9IHRyZWVOb2RlT2JqZWN0Lm1vZGVsLnJlbmRlck9iamVjdDtcclxuICAgICAgICAgIC8vICAgbGV0IGlkO1xyXG4gICAgICAgICAgLy8gICBpZiAocm8udHlwZU5hbWUgPT09IFwiUmVmZXJlbmNlTGlnaHRNb2RlbFwiKSB7XHJcbiAgICAgICAgICAvLyAgICAgaWQgPSAocm8gYXMgUmVmZXJlbmNlTGlnaHRNb2RlbCkucmVmZXJlbmNlLmlkO1xyXG4gICAgICAgICAgLy8gICB9IGVsc2UgaWYgKHJvLnR5cGVOYW1lID09PSBcIkxpZ2h0TW9kZWxcIikge1xyXG4gICAgICAgICAgLy8gICAgIGlkID0gcm8uaWQ7XHJcbiAgICAgICAgICAvLyAgIH1cclxuICAgICAgICAgIC8vICAgLy8gY29uc29sZS5sb2coXCJ0cmVlTm9kZU9iamVjdFwiLCB0cmVlTm9kZU9iamVjdCk7XHJcbiAgICAgICAgICAvLyAgIGlmICghaWRzLmluY2x1ZGVzKGlkKSkge1xyXG4gICAgICAgICAgLy8gICAgIGlkcy5wdXNoKGlkKTtcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gfSk7XHJcblxyXG4gICAgICAgICAgbGV0IGxpc3Q6IENvbGxpc2lvbltdID0gW107XHJcbiAgICAgICAgICAvLyDljrvmjoludWxs5pWw5o2uXHJcbiAgICAgICAgICBjb2xsaXNpb25EYXRhcy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChpdGVtKSB7XHJcbiAgICAgICAgICAgICAgbGlzdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICBsZXQgb2JqID0ge307XHJcbiAgICAgICAgICBsZXQgY29sbGlzaW9uQWxsTGlzdCA9IFtdO1xyXG5cclxuICAgICAgICAgIGxpc3QuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgaWYgKGl0ZW0pIHtcclxuICAgICAgICAgICAgICAvLyDpmLLmraJrZXnph43lpI1cclxuICAgICAgICAgICAgICBsZXQgbmV3SXRlbTEgPVxyXG4gICAgICAgICAgICAgICAgaXRlbS5zZWdPYmoxLmNvbXBvbmVudElkICtcclxuICAgICAgICAgICAgICAgIGl0ZW0uc2VnT2JqMi5jb21wb25lbnRJZCArXHJcbiAgICAgICAgICAgICAgICBpdGVtLnNlZ09iajEubW9kZWxJZCArXHJcbiAgICAgICAgICAgICAgICBpdGVtLnNlZ09iajIubW9kZWxJZDtcclxuICAgICAgICAgICAgICBsZXQgbmV3SXRlbTIgPVxyXG4gICAgICAgICAgICAgICAgaXRlbS5zZWdPYmoyLmNvbXBvbmVudElkICtcclxuICAgICAgICAgICAgICAgIGl0ZW0uc2VnT2JqMS5jb21wb25lbnRJZCArXHJcbiAgICAgICAgICAgICAgICBpdGVtLnNlZ09iajIubW9kZWxJZCArXHJcbiAgICAgICAgICAgICAgICBpdGVtLnNlZ09iajEubW9kZWxJZDtcclxuICAgICAgICAgICAgICBsZXQgaXNFeGlzdDEgPSBvYmpbbmV3SXRlbTFdO1xyXG4gICAgICAgICAgICAgIGxldCBpc0V4aXN0MiA9IG9ialtuZXdJdGVtMl07XHJcbiAgICAgICAgICAgICAgaWYgKCFpc0V4aXN0MSAmJiAhaXNFeGlzdDIpIHtcclxuICAgICAgICAgICAgICAgIGNvbGxpc2lvbkFsbExpc3QucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgICAgIG9ialtuZXdJdGVtMV0gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgb2JqW25ld0l0ZW0yXSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICBsZXQgY29sbGlzaW9uTm9kZU5hbWVzID0gW107XHJcbiAgICAgICAgICBjaGVja2VkTm9kZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBjb2xsaXNpb25Ob2RlTmFtZXMucHVzaChpdGVtLm5hbWUpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLmdldENvbGxpc2lvbkRhdGEoXHJcbiAgICAgICAgICAgIGNvbGxpc2lvbkFsbExpc3QsXHJcbiAgICAgICAgICAgIGlkcyxcclxuICAgICAgICAgICAgY29sbGlzaW9uVHlwZSxcclxuICAgICAgICAgICAgY29sbGlzaW9uTm9kZU5hbWVzXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aW1lcik7XHJcbiAgICAgICAgICByZXR1cm4gY29sbGlzaW9uRGF0YXM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCA1MDApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRDb2xsaXNpb25EYXRhKFxyXG4gICAgY29sbGlzaW9uTGlzdDogQ29sbGlzaW9uW10sXHJcbiAgICBpZHMsXHJcbiAgICBjb2xsaXNpb25UeXBlOiBDb2xsaXNpb25UeXBlLFxyXG4gICAgY29sbGlzaW9uTm9kZU5hbWVzOiBzdHJpbmdbXVxyXG4gICkge1xyXG4gICAgbGV0IHRhYmxlRGF0YSA9IFtdO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2xsaXNpb25MaXN0Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxldCBjb2xsc2lvblBvcyA9IGNvbGxpc2lvbkxpc3RbaV0uY29sbHNpb25Qb3M7XHJcblxyXG4gICAgICBsZXQgc2VnbWVudE9iamVjdDAgPSBjb2xsaXNpb25MaXN0W2ldLnNlZ09iajE7XHJcbiAgICAgIGxldCBzZWdtZW50T2JqZWN0MSA9IGNvbGxpc2lvbkxpc3RbaV0uc2VnT2JqMjtcclxuXHJcbiAgICAgIGxldCBrZXkwID0gc2VnbWVudE9iamVjdDAuc2VnbWVudC5rZXk7XHJcbiAgICAgIGxldCBrZXkxID0gc2VnbWVudE9iamVjdDEuc2VnbWVudC5rZXk7XHJcblxyXG4gICAgICAvL+eUqOi/meenjeaWueW8j+eul+WHuuadpeeahGJi5LiN5LiA5a6a5YeG56GuKOW9k+a2ieWPiuWIsOWkmumHjeW8leeUqOaXtilcclxuICAgICAgbGV0IGJveDAgPSBKU19Db21wdXRlX1ZpZXdfQm91bmRpbmdib3hfQnlfS2V5KHRoaXMudmlld2VyLnZpZXdLZXksIGtleTApO1xyXG4gICAgICBsZXQgYm94MSA9IEpTX0NvbXB1dGVfVmlld19Cb3VuZGluZ2JveF9CeV9LZXkodGhpcy52aWV3ZXIudmlld0tleSwga2V5MSk7XHJcblxyXG4gICAgICBsZXQgbWluOiBudW1iZXJbXSA9IG5ldyBBcnJheTxudW1iZXI+KCk7XHJcbiAgICAgIG1pblswXSA9IGJveDBbMF0gPCBib3gxWzBdID8gYm94MFswXSA6IGJveDFbMF07XHJcbiAgICAgIG1pblsxXSA9IGJveDBbMV0gPCBib3gxWzFdID8gYm94MFsxXSA6IGJveDFbMV07XHJcbiAgICAgIG1pblsyXSA9IGJveDBbMl0gPCBib3gxWzJdID8gYm94MFsyXSA6IGJveDFbMl07XHJcblxyXG4gICAgICBsZXQgbWF4OiBudW1iZXJbXSA9IG5ldyBBcnJheTxudW1iZXI+KCk7XHJcbiAgICAgIG1heFswXSA9IGJveDBbM10gPiBib3gxWzNdID8gYm94MFszXSA6IGJveDFbM107XHJcbiAgICAgIG1heFsxXSA9IGJveDBbNF0gPiBib3gxWzRdID8gYm94MFs0XSA6IGJveDFbNF07XHJcbiAgICAgIG1heFsyXSA9IGJveDBbNV0gPiBib3gxWzVdID8gYm94MFs1XSA6IGJveDFbNV07XHJcblxyXG4gICAgICBsZXQgY29tcGFpcmUgPVxyXG4gICAgICAgIGNvbGxpc2lvbkxpc3RbaV0uc2VnT2JqMS5jb21wb25lbnRJZCArXHJcbiAgICAgICAgXCIsXCIgK1xyXG4gICAgICAgIGNvbGxpc2lvbkxpc3RbaV0uc2VnT2JqMi5jb21wb25lbnRJZCArXHJcbiAgICAgICAgXCIsXCIgK1xyXG4gICAgICAgIGNvbGxpc2lvbkxpc3RbaV0uc2VnT2JqMS5tb2RlbElkICtcclxuICAgICAgICBcIixcIiArXHJcbiAgICAgICAgY29sbGlzaW9uTGlzdFtpXS5zZWdPYmoyLm1vZGVsSWQ7XHJcblxyXG4gICAgICBsZXQgb2JqZWN0ID0ge1xyXG4gICAgICAgIGNvbXBhaXJlLFxyXG4gICAgICAgIHR5cGU6IGNvbGxpc2lvbkxpc3RbaV0uY29sbGlzaW9uVHlwZSxcclxuICAgICAgICBjb2xsc2lvblBvcyxcclxuICAgICAgICBtaW4sXHJcbiAgICAgICAgbWF4LFxyXG4gICAgICB9O1xyXG4gICAgICB0YWJsZURhdGEucHVzaChvYmplY3QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIOS/neWtmOeisOaSnuaVsOaNrlxyXG4gICAgbGV0IGxpZ2h0TW9kZWwgPSB0aGlzLnZpZXdlci5wcm9jZXNzLnJlbmRlck9iamVjdDtcclxuICAgIGxldCBjb2xsaXNpb25PYmplY3RzID1cclxuICAgICAgdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlUeXBlKFwiQ29sbGlzaW9uT2JqZWN0c1wiKTtcclxuXHJcbiAgICBpZiAoIWNvbGxpc2lvbk9iamVjdHMpIHtcclxuICAgICAgY29sbGlzaW9uT2JqZWN0cyA9IG5ldyBDb2xsaXNpb25PYmplY3RzKCk7XHJcbiAgICAgIHRoaXMudmlld2VyLnByb2Nlc3MuYWRkUmVuZGVyT2JqZWN0KGxpZ2h0TW9kZWwsIGNvbGxpc2lvbk9iamVjdHMpO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBjb2xsaXNpb25PYmplY3QgPSBuZXcgQ29sbGlzaW9uT2JqZWN0KCk7XHJcbiAgICBjb2xsaXNpb25PYmplY3QubmFtZSA9IHRoaXMub3B0aW9uLm5hbWU7XHJcbiAgICBjb2xsaXNpb25PYmplY3QuZGF0YSA9IHRhYmxlRGF0YTtcclxuICAgIGNvbGxpc2lvbk9iamVjdC5yZWxhdGVkID0gaWRzO1xyXG4gICAgY29sbGlzaW9uT2JqZWN0LmNvbGxpc2lvblR5cGUgPSBjb2xsaXNpb25UeXBlO1xyXG4gICAgY29sbGlzaW9uT2JqZWN0LmNvbGxpc2lvbk5vZGVOYW1lcyA9IGNvbGxpc2lvbk5vZGVOYW1lcztcclxuICAgIGlmICgoY29sbGlzaW9uVHlwZSAmIDgpID09PSA4KSB7XHJcbiAgICAgIGNvbGxpc2lvbk9iamVjdC5zb2Z0Q29sbGlzaW9uRGlzdGFuY2UgPSB0aGlzLnZpZXdlci5zb2Z0Q29sbGlzaW9uRGlzdGFuY2U7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IG9iaiA9IGNvbGxpc2lvbk9iamVjdC5zZXJpYWxpemUoKTtcclxuXHJcbiAgICByZW5kZXJPYmplY3RzU2VydmljZVxyXG4gICAgICAuY3JlYXRlUmVuZGVyT2JqZWN0KFwiXCIsIG9iaiwgdGhpcy52aWV3ZXIub3B0aW9ucy50YWcpXHJcbiAgICAgIC50aGVuKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnZpZXdlci5wcm9jZXNzLmFkZFJlbmRlck9iamVjdChjb2xsaXNpb25PYmplY3RzLCBjb2xsaXNpb25PYmplY3QpO1xyXG4gICAgICAgIC8vIOeUn+aIkOWcqHVp55WM6Z2iXHJcbiAgICAgICAgdGhpcy52aWV3ZXIucGFuZWxNYW5hZ2VyLmNvbGxpc2lvblBhbmVsLmNvbGxpc2lvbk9iamVjdEpzb25MaXN0LnVuc2hpZnQoXHJcbiAgICAgICAgICBkYXRhXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnZpZXdlci5wYW5lbE1hbmFnZXIuY29sbGlzaW9uUGFuZWwuZ2VuZXJhdGVDb2xsaXNpb24oKTtcclxuICAgICAgICB0aGlzLmNvbW1hbmREYXRhID0ge1xyXG4gICAgICAgICAgaXNDb21wdXRlOiBmYWxzZSxcclxuICAgICAgICAgIGRhdGE6IHRhYmxlRGF0YSxcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHNlbGVjdENvbGxpc2lvbihyb3c6IHtcclxuICAgIGluZGV4OiBudW1iZXI7XHJcbiAgICBjb21wYWlyZTogc3RyaW5nO1xyXG4gICAgY29sbHNpb25Qb3M6IEZsb2F0MzJBcnJheTtcclxuICAgIHR5cGU6IHN0cmluZztcclxuICAgIG1pbjtcclxuICAgIG1heDtcclxuICB9KSB7XHJcbiAgICBsZXQgY29tcGFpcmVBcnIgPSByb3cuY29tcGFpcmUuc3BsaXQoXCIsXCIpO1xyXG4gICAgaWYgKHRoaXMubGFzdFNlZ09ialJlZCAmJiB0aGlzLmxhc3RTZWdPYmpCbHVlKSB7XHJcbiAgICAgIHRoaXMudmlld2VyLm1hdGVyaWFsTWFuYWdlci5jbGVhck92ZXJyaWRlKFtcclxuICAgICAgICB0aGlzLmxhc3RTZWdPYmpSZWQsXHJcbiAgICAgICAgdGhpcy5sYXN0U2VnT2JqQmx1ZSxcclxuICAgICAgXSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5sYXN0U2VnT2JqUmVkID0gdGhpcy52aWV3ZXIuZ2V0Q29tcG9uZW50KFxyXG4gICAgICBjb21wYWlyZUFyclsyXSxcclxuICAgICAgY29tcGFpcmVBcnJbMF1cclxuICAgICk7XHJcbiAgICB0aGlzLmxhc3RTZWdPYmpCbHVlID0gdGhpcy52aWV3ZXIuZ2V0Q29tcG9uZW50KFxyXG4gICAgICBjb21wYWlyZUFyclszXSxcclxuICAgICAgY29tcGFpcmVBcnJbMV1cclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5tYXRlcmlhbFJlZCA9IG5ldyBNYXRlcmlhbCh0aGlzLnZpZXdlciwgXCJyZWRcIik7XHJcbiAgICB0aGlzLm1hdGVyaWFsUmVkLnNldENvbG9yKDI1NSwgMCwgMCwgMC41KTtcclxuICAgIHRoaXMubWF0ZXJpYWxSZWQuc2V0RmxvYXQoKTtcclxuICAgIHRoaXMubWF0ZXJpYWxSZWQuc3R5bGVTZWdtZW50LnJlbmRlcmluZ09wdGlvbnMubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlciA9XHJcbiAgICAgIGZhbHNlO1xyXG5cclxuICAgIHRoaXMubWF0ZXJpYWxCbHVlID0gbmV3IE1hdGVyaWFsKHRoaXMudmlld2VyLCBcImJsdWVcIik7XHJcbiAgICB0aGlzLm1hdGVyaWFsQmx1ZS5zZXRDb2xvcigwLCAwLCAyNTUsIDAuNSk7XHJcbiAgICB0aGlzLm1hdGVyaWFsQmx1ZS5zZXRGbG9hdCgpO1xyXG4gICAgdGhpcy5tYXRlcmlhbEJsdWUuc3R5bGVTZWdtZW50LnJlbmRlcmluZ09wdGlvbnMubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlciA9XHJcbiAgICAgIGZhbHNlO1xyXG5cclxuICAgIHRoaXMudmlld2VyLm1hdGVyaWFsTWFuYWdlci5vdmVycmlkZShcclxuICAgICAgW3RoaXMubGFzdFNlZ09ialJlZF0sXHJcbiAgICAgIHRoaXMubWF0ZXJpYWxSZWRcclxuICAgICk7XHJcbiAgICB0aGlzLnZpZXdlci5tYXRlcmlhbE1hbmFnZXIub3ZlcnJpZGUoXHJcbiAgICAgIFt0aGlzLmxhc3RTZWdPYmpCbHVlXSxcclxuICAgICAgdGhpcy5tYXRlcmlhbEJsdWVcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy52aWV3ZXIubG9jYXRlV29ybGRCeURhdGEocm93LmNvbGxzaW9uUG9zLCByb3cubWluLCByb3cubWF4KTtcclxuICAgIC8vIGNvbnNvbGUubG9nKHJvdy5taW4sIHJvdy5tYXgpO1xyXG4gICAgdGhpcy52aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29tcG9uZW50SWRCeVBhdGhLZXkoa2V5TGlzdDogSW50MzJBcnJheSkge1xyXG4gICAgbGV0IGlkID0gbnVsbDtcclxuICAgIC8v5byV55So55qE5YmNbi0x5LiqXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGtleUxpc3QubGVuZ3RoIC0gMTsgaSsrKSB7XHJcbiAgICAgIGxldCBpbmNsdWRlS2V5ID0ga2V5TGlzdFtpXTtcclxuICAgICAgbGV0IHNlZ21lbnQgPSBuZXcgTG9uZ2FuLlNlZ21lbnQoaW5jbHVkZUtleSk7XHJcbiAgICAgIGlkID0gc2VnbWVudC5wcm9wZXJ0eS5zaG93U3RyaW5nKFwiaWRcIik7XHJcbiAgICAgIGlmIChpZCAhPT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybiB7IGlkLCBpbmNsdWRlS2V5IH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChpZCA9PT0gbnVsbCkge1xyXG4gICAgICAvL+esrG7kuKpcclxuICAgICAgbGV0IGluY2x1ZGVLZXkgPSBrZXlMaXN0W2tleUxpc3QubGVuZ3RoIC0gMV07XHJcbiAgICAgIGxldCBzZWdtZW50ID0gbmV3IExvbmdhbi5TZWdtZW50KGluY2x1ZGVLZXkpO1xyXG4gICAgICBpZCA9IHNlZ21lbnQucHJvcGVydHkuc2hvd1N0cmluZyhcImlkXCIpO1xyXG4gICAgICBpZiAoaWQpIHtcclxuICAgICAgICByZXR1cm4geyBpZCwgaW5jbHVkZUtleSB9O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvL+esrG7kuKrnmoRwYXJlbnRcclxuICAgICAgbGV0IG93bmVyX2tleSA9IEpTX1Nob3dfT3duZXJfQnlfS2V5KGluY2x1ZGVLZXkpO1xyXG4gICAgICB3aGlsZSAob3duZXJfa2V5ICE9PSAtMSkge1xyXG4gICAgICAgIGxldCBzZWdtZW50ID0gbmV3IExvbmdhbi5TZWdtZW50KG93bmVyX2tleSk7XHJcbiAgICAgICAgaWQgPSBzZWdtZW50LnByb3BlcnR5LnNob3dTdHJpbmcoXCJpZFwiKTtcclxuICAgICAgICBpZiAoaWQpIHtcclxuICAgICAgICAgIHJldHVybiB7IGlkLCBpbmNsdWRlS2V5IH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBvd25lcl9rZXkgPSBKU19TaG93X093bmVyX0J5X0tleShvd25lcl9rZXkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgaW5jbHVkZUtleSA9IC0xO1xyXG4gICAgcmV0dXJuIHsgaWQsIGluY2x1ZGVLZXkgfTtcclxuICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./packages/bimAir/src/viewerWrapper/commands/showCollision/commandShowCollision.ts\n");
|
|
5057
|
+
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.promise.js */ \"./node_modules/core-js/modules/es.promise.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.unshift.js */ \"./node_modules/core-js/modules/es.array.unshift.js\");\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ../../../viewerWrapper/commands/commandComponent */ \"./packages/bimAir/src/viewerWrapper/commands/commandComponent.ts\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/collisionObjects */ \"./packages/bimAir/src/gsDevFx/objects/collisionObjects.ts\"), __webpack_require__(/*! ../../../gsDevFx/operators/componentSelector */ \"./packages/bimAir/src/gsDevFx/operators/componentSelector.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/material */ \"./packages/bimAir/src/gsDevFx/objects/material.ts\"), __webpack_require__(/*! ../../../api/renderObjectService */ \"./packages/bimAir/src/api/renderObjectService.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/collisionObject */ \"./packages/bimAir/src/gsDevFx/objects/collisionObject.ts\"), __webpack_require__(/*! gs-longan/longan/gs.viewer */ \"./packages/longan/src/longan/gs.viewer.ts\"), __webpack_require__(/*! ../../../viewerWrapper/module/getRelatedIds */ \"./packages/bimAir/src/viewerWrapper/module/getRelatedIds.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, commandComponent_1, Longan, collisionObjects_1, componentSelector_1, material_1, renderObjectService_1, collisionObject_1, gs_viewer_1, getRelatedIds_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n Longan = tslib_1.__importStar(Longan);\n renderObjectService_1 = tslib_1.__importDefault(renderObjectService_1);\n\n var CommandShowCollision = function (_super) {\n tslib_1.__extends(CommandShowCollision, _super);\n\n function CommandShowCollision() {\n var _this = _super.call(this) || this;\n\n _this.typeName = \"CommandShowCollision\";\n _this.collusionCount = -1;\n _this.option = {\n name: \"\",\n isCompute: false,\n data: \"\"\n };\n _this.k = 0;\n _this.currentCount = 0;\n _this.allCount = 0;\n _this.commandData = {\n name: \"\",\n isCompute: false,\n data: \"\",\n collisionTableDataLoadingText: \"碰撞进度:0/0\"\n };\n return _this;\n }\n\n CommandShowCollision.prototype.begin = function () {\n this.bindComponent = function () {\n return new Promise(function (resolve_1, reject_1) {\n Promise.resolve(/*! AMD require */).then(function() { var __WEBPACK_AMD_REQUIRE_ARRAY__ = [__webpack_require__(/*! ./showCollision.vue */ \"./packages/bimAir/src/viewerWrapper/commands/showCollision/showCollision.vue\")]; (resolve_1).apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__);}.bind(this))['catch'](reject_1.bind(this));\n }).then(tslib_1.__importStar);\n };\n\n this.viewer.isBusy = true;\n this.show();\n this.collusionCount = -1;\n this.viewer.operatorManager.add(new Longan.CameraMouse());\n this.viewer.operatorManager.add(new componentSelector_1.ComponentSelector());\n\n _super.prototype.begin.call(this);\n };\n\n CommandShowCollision.prototype.end = function () {\n this.viewer.isBusy = false;\n\n if (this.lastSegObjRed && this.lastSegObjBlue) {\n this.lastSegObjRed.segment.renderingOptions.unsetDepthRange();\n this.lastSegObjBlue.segment.renderingOptions.unsetDepthRange();\n this.viewer.materialManager.clearOverride([this.lastSegObjRed, this.lastSegObjBlue]);\n }\n\n this.viewer.updateDisplay();\n this.hide();\n\n _super.prototype.end.call(this);\n };\n\n CommandShowCollision.prototype.switchCollisionListData = function (option) {\n this.option = tslib_1.__assign({}, option);\n this.commandData = tslib_1.__assign({}, option);\n };\n\n CommandShowCollision.prototype.findNoObjTreeNodeObject = function (treeNodeObject, nodes) {\n if (treeNodeObject.obj) {\n if (treeNodeObject.childNodes) {\n for (var i = 0; i < treeNodeObject.childNodes.length; i++) {\n var item = treeNodeObject.childNodes[i];\n this.findNoObjTreeNodeObject(item, nodes);\n }\n } else {}\n } else {\n nodes.add(treeNodeObject);\n }\n };\n\n CommandShowCollision.prototype.computeCollision = function (option, checkedNodes, collisionType, softCollisionDistance) {\n var _this = this;\n\n this.option = tslib_1.__assign({}, option);\n this.commandData = tslib_1.__assign({}, option);\n this.currentCount = 0;\n this.allCount = 0;\n var collisionDatas = [];\n var len = checkedNodes.length;\n var geoPromises = [];\n checkedNodes.forEach(function (treeNodeObject) {\n var nodes = new Longan.List();\n\n _this.findNoObjTreeNodeObject(treeNodeObject, nodes);\n\n nodes.items.forEach(function (node) {\n console.log(\"node---------\", node);\n\n if (node) {\n var p = _this.viewer.ensureSegmentAsynGeometry(node.segment.key, function (total, current) {\n _this.commandData = {\n isCompute: _this.option.isCompute,\n collisionTableDataLoadingText: \"\\u68C0\\u67E5\".concat(node.name, \"\\uFF1A\").concat(current, \"/\").concat(total)\n };\n });\n\n geoPromises.push(p);\n }\n });\n });\n Promise.all(geoPromises).then(function () {\n if (len <= 0) {\n return;\n } else if (len === 1) {\n var segs = [];\n\n _this.viewer.structureTreeManager.getComponents(checkedNodes[0], segs);\n\n if (segs.length === 0) {\n console.warn(\"节点不存在构件\");\n } else {\n console.log(\"节点构件:\", segs);\n }\n\n _this.allCount += segs.length * (segs.length - 1);\n\n _this.viewer.panelManager.collisionPanel.computeObjectCollisions(segs, segs, collisionType, function (total, current) {\n _this.currentCount += 1;\n var collisionTableDataLoadingText = \"碰撞进度:\" + _this.currentCount + \"/\" + _this.allCount;\n _this.commandData = {\n isCompute: _this.option.isCompute,\n collisionTableDataLoadingText: collisionTableDataLoadingText\n };\n }, softCollisionDistance).then(function (data) {\n collisionDatas = collisionDatas.concat(data);\n _this.commandData = {\n isCompute: _this.option.isCompute,\n collisionTableDataLoadingText: \"碰撞进度:0/0\"\n };\n });\n } else {\n for (var i = 0; i < len - 1; i++) {\n for (var j = i + 1; j < len; j++) {\n var node1 = checkedNodes[i];\n var node2 = checkedNodes[j];\n var segs1 = [];\n var segs2 = [];\n\n _this.viewer.structureTreeManager.getComponents(node1, segs1);\n\n _this.viewer.structureTreeManager.getComponents(node2, segs2);\n\n if (segs1.length === 0 || segs2.length === 0) {\n console.warn(\"节点不存在构件\");\n } else {}\n\n _this.allCount += segs1.length * segs2.length;\n\n _this.viewer.panelManager.collisionPanel.computeObjectCollisions(segs1, segs2, collisionType, function (total, current) {\n if (total && current === 0) {\n _this.allCount += total;\n }\n\n _this.currentCount += 1;\n var collisionTableDataLoadingText = _this.currentCount + \"/\" + _this.allCount;\n _this.commandData = {\n isCompute: _this.option.isCompute,\n collisionTableDataLoadingText: collisionTableDataLoadingText\n };\n }, softCollisionDistance).then(function (data) {\n collisionDatas = collisionDatas.concat(data);\n });\n }\n }\n }\n\n console.log(\"碰撞的总次数:\", _this.allCount, collisionDatas);\n var timer = setInterval(function () {\n if (_this.currentCount === _this.allCount) {\n _this.commandData.isCompute = false;\n var ids = (0, getRelatedIds_1.getTreeNodeObjectsRelatedIds)(checkedNodes);\n var list_1 = [];\n collisionDatas.forEach(function (item) {\n if (item) {\n list_1.push(item);\n }\n });\n var obj_1 = {};\n var collisionAllList_1 = [];\n list_1.forEach(function (item, index) {\n if (item) {\n var newItem1 = item.segObj1.componentId + item.segObj2.componentId + item.segObj1.modelId + item.segObj2.modelId;\n var newItem2 = item.segObj2.componentId + item.segObj1.componentId + item.segObj2.modelId + item.segObj1.modelId;\n var isExist1 = obj_1[newItem1];\n var isExist2 = obj_1[newItem2];\n\n if (!isExist1 && !isExist2) {\n collisionAllList_1.push(item);\n obj_1[newItem1] = true;\n obj_1[newItem2] = true;\n }\n }\n });\n var collisionNodeNames_1 = [];\n checkedNodes.forEach(function (item) {\n collisionNodeNames_1.push(item.name);\n });\n\n _this.getCollisionData(collisionAllList_1, ids, collisionType, collisionNodeNames_1);\n\n clearInterval(timer);\n return collisionDatas;\n }\n }, 500);\n });\n };\n\n CommandShowCollision.prototype.getCollisionData = function (collisionList, ids, collisionType, collisionNodeNames) {\n var _this = this;\n\n var tableData = [];\n\n for (var i = 0; i < collisionList.length; i++) {\n var collsionPos = collisionList[i].collsionPos;\n var segmentObject0 = collisionList[i].segObj1;\n var segmentObject1 = collisionList[i].segObj2;\n var key0 = segmentObject0.segment.key;\n var key1 = segmentObject1.segment.key;\n var box0 = (0, gs_viewer_1.JS_Compute_View_Boundingbox_By_Key)(this.viewer.viewKey, key0);\n var box1 = (0, gs_viewer_1.JS_Compute_View_Boundingbox_By_Key)(this.viewer.viewKey, key1);\n var min = new Array();\n min[0] = box0[0] < box1[0] ? box0[0] : box1[0];\n min[1] = box0[1] < box1[1] ? box0[1] : box1[1];\n min[2] = box0[2] < box1[2] ? box0[2] : box1[2];\n var max = new Array();\n max[0] = box0[3] > box1[3] ? box0[3] : box1[3];\n max[1] = box0[4] > box1[4] ? box0[4] : box1[4];\n max[2] = box0[5] > box1[5] ? box0[5] : box1[5];\n var compaire = collisionList[i].segObj1.componentId + \",\" + collisionList[i].segObj2.componentId + \",\" + collisionList[i].segObj1.modelId + \",\" + collisionList[i].segObj2.modelId;\n var object = {\n compaire: compaire,\n type: collisionList[i].collisionType,\n collsionPos: collsionPos,\n min: min,\n max: max\n };\n tableData.push(object);\n }\n\n var lightModel = this.viewer.process.renderObject;\n var collisionObjects = this.viewer.process.findRenderObjectByType(\"CollisionObjects\");\n\n if (!collisionObjects) {\n collisionObjects = new collisionObjects_1.CollisionObjects();\n this.viewer.process.addRenderObject(lightModel, collisionObjects);\n }\n\n var collisionObject = new collisionObject_1.CollisionObject();\n collisionObject.name = this.option.name;\n collisionObject.data = tableData;\n collisionObject.related = ids;\n collisionObject.collisionType = collisionType;\n collisionObject.collisionNodeNames = collisionNodeNames;\n\n if ((collisionType & 8) === 8) {\n collisionObject.softCollisionDistance = this.viewer.softCollisionDistance;\n }\n\n var obj = collisionObject.serialize();\n renderObjectService_1.default.createRenderObject(\"\", obj, this.viewer.options.tag).then(function (data) {\n _this.viewer.process.addRenderObject(collisionObjects, collisionObject);\n\n _this.viewer.panelManager.collisionPanel.collisionObjectJsonList.unshift(data);\n\n _this.viewer.panelManager.collisionPanel.generateCollision();\n\n _this.commandData = {\n isCompute: false,\n data: tableData\n };\n });\n };\n\n CommandShowCollision.prototype.selectCollision = function (row) {\n var compaireArr = row.compaire.split(\",\");\n\n if (this.lastSegObjRed && this.lastSegObjBlue) {\n this.viewer.materialManager.clearOverride([this.lastSegObjRed, this.lastSegObjBlue]);\n }\n\n this.lastSegObjRed = this.viewer.getComponent(compaireArr[2], compaireArr[0]);\n this.lastSegObjBlue = this.viewer.getComponent(compaireArr[3], compaireArr[1]);\n this.materialRed = new material_1.Material(this.viewer, \"red\");\n this.materialRed.setColor(255, 0, 0, 0.5);\n this.materialRed.setFloat();\n this.materialRed.styleSegment.renderingOptions.logarithmicDepthBuffer = false;\n this.materialBlue = new material_1.Material(this.viewer, \"blue\");\n this.materialBlue.setColor(0, 0, 255, 0.5);\n this.materialBlue.setFloat();\n this.materialBlue.styleSegment.renderingOptions.logarithmicDepthBuffer = false;\n this.viewer.materialManager.override([this.lastSegObjRed], this.materialRed);\n this.viewer.materialManager.override([this.lastSegObjBlue], this.materialBlue);\n this.viewer.locateWorldByData(row.collsionPos, row.min, row.max);\n this.viewer.updateDisplay();\n };\n\n CommandShowCollision.prototype.getComponentIdByPathKey = function (keyList) {\n var id = null;\n\n for (var i = 0; i < keyList.length - 1; i++) {\n var includeKey_1 = keyList[i];\n var segment = new Longan.Segment(includeKey_1);\n id = segment.property.showString(\"id\");\n\n if (id !== null) {\n return {\n id: id,\n includeKey: includeKey_1\n };\n }\n }\n\n if (id === null) {\n var includeKey_2 = keyList[keyList.length - 1];\n var segment = new Longan.Segment(includeKey_2);\n id = segment.property.showString(\"id\");\n\n if (id) {\n return {\n id: id,\n includeKey: includeKey_2\n };\n }\n\n var owner_key = (0, gs_viewer_1.JS_Show_Owner_By_Key)(includeKey_2);\n\n while (owner_key !== -1) {\n var segment_1 = new Longan.Segment(owner_key);\n id = segment_1.property.showString(\"id\");\n\n if (id) {\n return {\n id: id,\n includeKey: includeKey_2\n };\n }\n\n owner_key = (0, gs_viewer_1.JS_Show_Owner_By_Key)(owner_key);\n }\n }\n\n var includeKey = -1;\n return {\n id: id,\n includeKey: includeKey\n };\n };\n\n return CommandShowCollision;\n }(commandComponent_1.CommandComponent);\n\n exports[\"default\"] = CommandShowCollision;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9iaW1BaXIvc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvc2hvd0NvbGxpc2lvbi9jb21tYW5kU2hvd0NvbGxpc2lvbi50cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW1CQTtBQUFBOztBQWtCQTtBQUFBOztBQWpCQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBVUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTs7QUFNQTs7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTs7QUFFQTtBQUVBOztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFFQTtBQUNBOztBQUVBO0FBQUE7O0FBTUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBOztBQUNBOztBQUVBO0FBQ0E7O0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOztBQUNBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7O0FBQ0E7QUFNQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFLQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBOztBQUNBOztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFHQTs7QUFFQTtBQU1BO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQWVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFLQTtBQUtBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTs7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFBQTs7QUFNQTs7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFPQTtBQUNBOztBQUdBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUVBO0FBR0E7O0FBRUE7O0FBR0E7O0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUNBOztBQUVBO0FBUUE7O0FBQ0E7QUFDQTtBQUlBOztBQUVBO0FBSUE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFJQTtBQUtBO0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBOztBQUNBO0FBRUE7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTs7QUFHQTs7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7O0FBQ0E7QUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL2JpbWxpZ2h0LXBsYXRmb3JtLy4vcGFja2FnZXMvYmltQWlyL3NyYy92aWV3ZXJXcmFwcGVyL2NvbW1hbmRzL3Nob3dDb2xsaXNpb24vY29tbWFuZFNob3dDb2xsaXNpb24udHM/Y2UzMSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWZlcmVuY2VMaWdodE1vZGVsIH0gZnJvbSBcIi4vLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL3JlZmVyZW5jZUxpZ2h0TW9kZWxcIjtcclxuaW1wb3J0IHsgU2VnbWVudE9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvc2VnbWVudE9iamVjdFwiO1xyXG5pbXBvcnQgeyBDb21tYW5kQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uLy4uL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvY29tbWFuZENvbXBvbmVudFwiO1xyXG5cclxuaW1wb3J0ICogYXMgTG9uZ2FuIGZyb20gXCJncy1sb25nYW5cIjtcclxuaW1wb3J0IHsgQ29sbGlzaW9uT2JqZWN0cyB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvY29sbGlzaW9uT2JqZWN0c1wiO1xyXG5pbXBvcnQgeyBDb21wb25lbnRTZWxlY3RvciB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29wZXJhdG9ycy9jb21wb25lbnRTZWxlY3RvclwiO1xyXG5pbXBvcnQgeyBNYXRlcmlhbCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvbWF0ZXJpYWxcIjtcclxuaW1wb3J0IHsgVHJlZU5vZGVPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL3RyZWVOb2RlT2JqZWN0XCI7XHJcbmltcG9ydCByZW5kZXJPYmplY3RzU2VydmljZSBmcm9tIFwiLi4vLi4vLi4vYXBpL3JlbmRlck9iamVjdFNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ29sbGlzaW9uT2JqZWN0IH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9jb2xsaXNpb25PYmplY3RcIjtcclxuaW1wb3J0IHtcclxuICBDb2xsaXNpb25UeXBlLFxyXG4gIEpTX0NvbXB1dGVfVmlld19Cb3VuZGluZ2JveF9CeV9LZXksXHJcbiAgSlNfU2hvd19Pd25lcl9CeV9LZXksXHJcbn0gZnJvbSBcImdzLWxvbmdhbi9sb25nYW4vZ3Mudmlld2VyXCI7XHJcbmltcG9ydCB7IENvbGxpc2lvbiB9IGZyb20gXCIuLi8uLi8uLi92aWV3ZXJXcmFwcGVyL3BhbmVscy9jb2xsaXNpb24vY29sbGlzaW9uUGFuZWxcIjtcclxuaW1wb3J0IHsgZ2V0VHJlZU5vZGVPYmplY3RzUmVsYXRlZElkcyB9IGZyb20gXCIuLi8uLi8uLi92aWV3ZXJXcmFwcGVyL21vZHVsZS9nZXRSZWxhdGVkSWRzXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb21tYW5kU2hvd0NvbGxpc2lvbiBleHRlbmRzIENvbW1hbmRDb21wb25lbnQge1xyXG4gIHR5cGVOYW1lID0gXCJDb21tYW5kU2hvd0NvbGxpc2lvblwiO1xyXG5cclxuICBjb2xsdXNpb25Db3VudCA9IC0xO1xyXG4gIG9wdGlvbiA9IHsgbmFtZTogXCJcIiwgaXNDb21wdXRlOiBmYWxzZSwgZGF0YTogXCJcIiB9O1xyXG4gIGsgPSAwO1xyXG4gIGRlcHRoUmFuZ2U7XHJcbiAgLy8ga2V5MDtcclxuICAvLyBrZXkxO1xyXG5cclxuICBsYXN0U2VnT2JqUmVkOiBTZWdtZW50T2JqZWN0O1xyXG4gIGxhc3RTZWdPYmpCbHVlOiBTZWdtZW50T2JqZWN0O1xyXG4gIG1hdGVyaWFsUmVkOiBNYXRlcmlhbDtcclxuICBtYXRlcmlhbEJsdWU6IE1hdGVyaWFsO1xyXG5cclxuICBjdXJyZW50Q291bnQgPSAwO1xyXG4gIGFsbENvdW50ID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5jb21tYW5kRGF0YSA9IHtcclxuICAgICAgbmFtZTogXCJcIixcclxuICAgICAgaXNDb21wdXRlOiBmYWxzZSxcclxuICAgICAgZGF0YTogXCJcIixcclxuICAgICAgY29sbGlzaW9uVGFibGVEYXRhTG9hZGluZ1RleHQ6IFwi56Kw5pKe6L+b5bqm77yaMC8wXCIsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgYmVnaW4oKSB7XHJcbiAgICB0aGlzLmJpbmRDb21wb25lbnQgPSAoKSA9PiBpbXBvcnQoXCIuL3Nob3dDb2xsaXNpb24udnVlXCIpO1xyXG5cclxuICAgIHRoaXMudmlld2VyLmlzQnVzeSA9IHRydWU7XHJcbiAgICB0aGlzLnNob3coKTtcclxuICAgIHRoaXMuY29sbHVzaW9uQ291bnQgPSAtMTtcclxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5hZGQobmV3IExvbmdhbi5DYW1lcmFNb3VzZSgpKTtcclxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5hZGQobmV3IENvbXBvbmVudFNlbGVjdG9yKCkpO1xyXG4gICAgc3VwZXIuYmVnaW4oKTtcclxuICB9XHJcblxyXG4gIGVuZCgpIHtcclxuICAgIHRoaXMudmlld2VyLmlzQnVzeSA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMubGFzdFNlZ09ialJlZCAmJiB0aGlzLmxhc3RTZWdPYmpCbHVlKSB7XHJcbiAgICAgIHRoaXMubGFzdFNlZ09ialJlZC5zZWdtZW50LnJlbmRlcmluZ09wdGlvbnMudW5zZXREZXB0aFJhbmdlKCk7XHJcbiAgICAgIHRoaXMubGFzdFNlZ09iakJsdWUuc2VnbWVudC5yZW5kZXJpbmdPcHRpb25zLnVuc2V0RGVwdGhSYW5nZSgpO1xyXG4gICAgICB0aGlzLnZpZXdlci5tYXRlcmlhbE1hbmFnZXIuY2xlYXJPdmVycmlkZShbXHJcbiAgICAgICAgdGhpcy5sYXN0U2VnT2JqUmVkLFxyXG4gICAgICAgIHRoaXMubGFzdFNlZ09iakJsdWUsXHJcbiAgICAgIF0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcclxuXHJcbiAgICB0aGlzLmhpZGUoKTtcclxuICAgIHN1cGVyLmVuZCgpO1xyXG4gIH1cclxuXHJcbiAgc3dpdGNoQ29sbGlzaW9uTGlzdERhdGEob3B0aW9uOiB7IG5hbWU6IHN0cmluZzsgaXNDb21wdXRlOiBib29sZWFuOyBkYXRhIH0pIHtcclxuICAgIHRoaXMub3B0aW9uID0geyAuLi5vcHRpb24gfTtcclxuICAgIHRoaXMuY29tbWFuZERhdGEgPSB7IC4uLm9wdGlvbiB9O1xyXG4gIH1cclxuXHJcbiAgZmluZE5vT2JqVHJlZU5vZGVPYmplY3QoXHJcbiAgICB0cmVlTm9kZU9iamVjdDogVHJlZU5vZGVPYmplY3QsXHJcbiAgICBub2RlczogTG9uZ2FuLkxpc3Q8VHJlZU5vZGVPYmplY3Q+XHJcbiAgKSB7XHJcbiAgICBpZiAodHJlZU5vZGVPYmplY3Qub2JqKSB7XHJcbiAgICAgIGlmICh0cmVlTm9kZU9iamVjdC5jaGlsZE5vZGVzKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0cmVlTm9kZU9iamVjdC5jaGlsZE5vZGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBjb25zdCBpdGVtID0gdHJlZU5vZGVPYmplY3QuY2hpbGROb2Rlc1tpXTtcclxuICAgICAgICAgIHRoaXMuZmluZE5vT2JqVHJlZU5vZGVPYmplY3QoaXRlbSwgbm9kZXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyByZXR1cm5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbm9kZXMuYWRkKHRyZWVOb2RlT2JqZWN0KTtcclxuICAgICAgLy8gcmV0dXJuIHRyZWVOb2RlT2JqZWN0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29tcHV0ZUNvbGxpc2lvbihcclxuICAgIG9wdGlvbjogeyBuYW1lOiBzdHJpbmc7IGlzQ29tcHV0ZTogYm9vbGVhbjsgZGF0YSB9LFxyXG4gICAgY2hlY2tlZE5vZGVzOiBUcmVlTm9kZU9iamVjdFtdLFxyXG4gICAgY29sbGlzaW9uVHlwZTogQ29sbGlzaW9uVHlwZSxcclxuICAgIHNvZnRDb2xsaXNpb25EaXN0YW5jZT86IG51bWJlclxyXG4gICkge1xyXG4gICAgdGhpcy5vcHRpb24gPSB7IC4uLm9wdGlvbiB9O1xyXG4gICAgdGhpcy5jb21tYW5kRGF0YSA9IHsgLi4ub3B0aW9uIH07XHJcblxyXG4gICAgdGhpcy5jdXJyZW50Q291bnQgPSAwO1xyXG4gICAgdGhpcy5hbGxDb3VudCA9IDA7XHJcbiAgICBsZXQgY29sbGlzaW9uRGF0YXM6IENvbGxpc2lvbltdID0gW107XHJcbiAgICBsZXQgbGVuID0gY2hlY2tlZE5vZGVzLmxlbmd0aDtcclxuXHJcbiAgICBsZXQgZ2VvUHJvbWlzZXMgPSBbXTtcclxuICAgIGNoZWNrZWROb2Rlcy5mb3JFYWNoKCh0cmVlTm9kZU9iamVjdCkgPT4ge1xyXG4gICAgICBsZXQgbm9kZXM6IExvbmdhbi5MaXN0PFRyZWVOb2RlT2JqZWN0PiA9IG5ldyBMb25nYW4uTGlzdCgpO1xyXG4gICAgICB0aGlzLmZpbmROb09ialRyZWVOb2RlT2JqZWN0KHRyZWVOb2RlT2JqZWN0LCBub2Rlcyk7XHJcblxyXG4gICAgICBub2Rlcy5pdGVtcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJub2RlLS0tLS0tLS0tXCIsIG5vZGUpO1xyXG4gICAgICAgIGlmIChub2RlKSB7XHJcbiAgICAgICAgICBsZXQgcCA9IHRoaXMudmlld2VyLmVuc3VyZVNlZ21lbnRBc3luR2VvbWV0cnkoXHJcbiAgICAgICAgICAgIG5vZGUuc2VnbWVudC5rZXksXHJcbiAgICAgICAgICAgICh0b3RhbCwgY3VycmVudCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuY29tbWFuZERhdGEgPSB7XHJcbiAgICAgICAgICAgICAgICBpc0NvbXB1dGU6IHRoaXMub3B0aW9uLmlzQ29tcHV0ZSxcclxuICAgICAgICAgICAgICAgIGNvbGxpc2lvblRhYmxlRGF0YUxvYWRpbmdUZXh0OiBg5qOA5p+lJHtub2RlLm5hbWV977yaJHtjdXJyZW50fS8ke3RvdGFsfWAsXHJcbiAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIGdlb1Byb21pc2VzLnB1c2gocCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgLy8gcmV0dXJuO1xyXG5cclxuICAgIFByb21pc2UuYWxsKGdlb1Byb21pc2VzKS50aGVuKCgpID0+IHtcclxuICAgICAgaWYgKGxlbiA8PSAwKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9IGVsc2UgaWYgKGxlbiA9PT0gMSkge1xyXG4gICAgICAgIC8vIOWNleiKgueCueeisOaSnlxyXG4gICAgICAgIGxldCBzZWdzOiBTZWdtZW50T2JqZWN0W10gPSBbXTtcclxuICAgICAgICB0aGlzLnZpZXdlci5zdHJ1Y3R1cmVUcmVlTWFuYWdlci5nZXRDb21wb25lbnRzKGNoZWNrZWROb2Rlc1swXSwgc2Vncyk7XHJcbiAgICAgICAgaWYgKHNlZ3MubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICBjb25zb2xlLndhcm4oXCLoioLngrnkuI3lrZjlnKjmnoTku7ZcIik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKFwi6IqC54K55p6E5Lu2OlwiLCBzZWdzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5hbGxDb3VudCArPSBzZWdzLmxlbmd0aCAqIChzZWdzLmxlbmd0aCAtIDEpO1xyXG4gICAgICAgIHRoaXMudmlld2VyLnBhbmVsTWFuYWdlci5jb2xsaXNpb25QYW5lbFxyXG4gICAgICAgICAgLmNvbXB1dGVPYmplY3RDb2xsaXNpb25zKFxyXG4gICAgICAgICAgICBzZWdzLFxyXG4gICAgICAgICAgICBzZWdzLFxyXG4gICAgICAgICAgICBjb2xsaXNpb25UeXBlLFxyXG4gICAgICAgICAgICAodG90YWwsIGN1cnJlbnQpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRDb3VudCArPSAxO1xyXG4gICAgICAgICAgICAgIGxldCBjb2xsaXNpb25UYWJsZURhdGFMb2FkaW5nVGV4dCA9XHJcbiAgICAgICAgICAgICAgICBcIueisOaSnui/m+W6pu+8mlwiICsgdGhpcy5jdXJyZW50Q291bnQgKyBcIi9cIiArIHRoaXMuYWxsQ291bnQ7XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMuY29tbWFuZERhdGEgPSB7XHJcbiAgICAgICAgICAgICAgICBpc0NvbXB1dGU6IHRoaXMub3B0aW9uLmlzQ29tcHV0ZSxcclxuICAgICAgICAgICAgICAgIGNvbGxpc2lvblRhYmxlRGF0YUxvYWRpbmdUZXh0LFxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNvZnRDb2xsaXNpb25EaXN0YW5jZVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICAgLnRoZW4oKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgY29sbGlzaW9uRGF0YXMgPSBjb2xsaXNpb25EYXRhcy5jb25jYXQoZGF0YSk7XHJcbiAgICAgICAgICAgIHRoaXMuY29tbWFuZERhdGEgPSB7XHJcbiAgICAgICAgICAgICAgaXNDb21wdXRlOiB0aGlzLm9wdGlvbi5pc0NvbXB1dGUsXHJcbiAgICAgICAgICAgICAgY29sbGlzaW9uVGFibGVEYXRhTG9hZGluZ1RleHQ6IFwi56Kw5pKe6L+b5bqm77yaMC8wXCIsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwiY29sbGlzaW9uRGF0YXMtLS0tLS0tLS0tLS0tLS1cIiwgZGF0YSwgY29sbGlzaW9uRGF0YXMpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgLy8gY29sbGlzaW9uQ291bnQgKz0gc2Vncy5sZW5ndGggKiBzZWdzLmxlbmd0aDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyDlpJrkuKroioLngrnkupLnm7jnorDmkp5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbiAtIDE7IGkrKykge1xyXG4gICAgICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgbGVuOyBqKyspIHtcclxuICAgICAgICAgICAgbGV0IG5vZGUxID0gY2hlY2tlZE5vZGVzW2ldO1xyXG4gICAgICAgICAgICBsZXQgbm9kZTIgPSBjaGVja2VkTm9kZXNbal07XHJcblxyXG4gICAgICAgICAgICBsZXQgc2VnczE6IFNlZ21lbnRPYmplY3RbXSA9IFtdO1xyXG4gICAgICAgICAgICBsZXQgc2VnczI6IFNlZ21lbnRPYmplY3RbXSA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdlci5zdHJ1Y3R1cmVUcmVlTWFuYWdlci5nZXRDb21wb25lbnRzKG5vZGUxLCBzZWdzMSk7XHJcbiAgICAgICAgICAgIHRoaXMudmlld2VyLnN0cnVjdHVyZVRyZWVNYW5hZ2VyLmdldENvbXBvbmVudHMobm9kZTIsIHNlZ3MyKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChzZWdzMS5sZW5ndGggPT09IDAgfHwgc2VnczIubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwi6IqC54K55LiN5a2Y5Zyo5p6E5Lu2XCIpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwi5LqS55u456Kw5pKe55qE6IqC54K55p6E5Lu2OlwiLCBzZWdzMSwgc2VnczIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuYWxsQ291bnQgKz0gc2VnczEubGVuZ3RoICogc2VnczIubGVuZ3RoO1xyXG5cclxuICAgICAgICAgICAgdGhpcy52aWV3ZXIucGFuZWxNYW5hZ2VyLmNvbGxpc2lvblBhbmVsXHJcbiAgICAgICAgICAgICAgLmNvbXB1dGVPYmplY3RDb2xsaXNpb25zKFxyXG4gICAgICAgICAgICAgICAgc2VnczEsXHJcbiAgICAgICAgICAgICAgICBzZWdzMixcclxuICAgICAgICAgICAgICAgIGNvbGxpc2lvblR5cGUsXHJcbiAgICAgICAgICAgICAgICAodG90YWwsIGN1cnJlbnQpID0+IHtcclxuICAgICAgICAgICAgICAgICAgaWYgKHRvdGFsICYmIGN1cnJlbnQgPT09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsbENvdW50ICs9IHRvdGFsO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudENvdW50ICs9IDE7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBjb2xsaXNpb25UYWJsZURhdGFMb2FkaW5nVGV4dCA9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50Q291bnQgKyBcIi9cIiArIHRoaXMuYWxsQ291bnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbW1hbmREYXRhID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlzQ29tcHV0ZTogdGhpcy5vcHRpb24uaXNDb21wdXRlLFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbGxpc2lvblRhYmxlRGF0YUxvYWRpbmdUZXh0LFxyXG4gICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHNvZnRDb2xsaXNpb25EaXN0YW5jZVxyXG4gICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29sbGlzaW9uRGF0YXMgPSBjb2xsaXNpb25EYXRhcy5jb25jYXQoZGF0YSk7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGNvbnNvbGUubG9nKFwi56Kw5pKe55qE5oC75qyh5pWwOlwiLCB0aGlzLmFsbENvdW50LCBjb2xsaXNpb25EYXRhcyk7XHJcblxyXG4gICAgICBsZXQgdGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudENvdW50ID09PSB0aGlzLmFsbENvdW50KSB7XHJcbiAgICAgICAgICB0aGlzLmNvbW1hbmREYXRhLmlzQ29tcHV0ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgLy8gaWTljrvph41cclxuICAgICAgICAgIGxldCBpZHMgPSBnZXRUcmVlTm9kZU9iamVjdHNSZWxhdGVkSWRzKGNoZWNrZWROb2Rlcyk7XHJcbiAgICAgICAgICAvLyBjaGVja2VkTm9kZXMuZm9yRWFjaCgodHJlZU5vZGVPYmplY3QpID0+IHtcclxuICAgICAgICAgIC8vICAgbGV0IHJvID0gdHJlZU5vZGVPYmplY3QubW9kZWwucmVuZGVyT2JqZWN0O1xyXG4gICAgICAgICAgLy8gICBsZXQgaWQ7XHJcbiAgICAgICAgICAvLyAgIGlmIChyby50eXBlTmFtZSA9PT0gXCJSZWZlcmVuY2VMaWdodE1vZGVsXCIpIHtcclxuICAgICAgICAgIC8vICAgICBpZCA9IChybyBhcyBSZWZlcmVuY2VMaWdodE1vZGVsKS5yZWZlcmVuY2UuaWQ7XHJcbiAgICAgICAgICAvLyAgIH0gZWxzZSBpZiAocm8udHlwZU5hbWUgPT09IFwiTGlnaHRNb2RlbFwiKSB7XHJcbiAgICAgICAgICAvLyAgICAgaWQgPSByby5pZDtcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gICAvLyBjb25zb2xlLmxvZyhcInRyZWVOb2RlT2JqZWN0XCIsIHRyZWVOb2RlT2JqZWN0KTtcclxuICAgICAgICAgIC8vICAgaWYgKCFpZHMuaW5jbHVkZXMoaWQpKSB7XHJcbiAgICAgICAgICAvLyAgICAgaWRzLnB1c2goaWQpO1xyXG4gICAgICAgICAgLy8gICB9XHJcbiAgICAgICAgICAvLyB9KTtcclxuXHJcbiAgICAgICAgICBsZXQgbGlzdDogQ29sbGlzaW9uW10gPSBbXTtcclxuICAgICAgICAgIC8vIOWOu+aOiW51bGzmlbDmja5cclxuICAgICAgICAgIGNvbGxpc2lvbkRhdGFzLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgaWYgKGl0ZW0pIHtcclxuICAgICAgICAgICAgICBsaXN0LnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIGxldCBvYmogPSB7fTtcclxuICAgICAgICAgIGxldCBjb2xsaXNpb25BbGxMaXN0ID0gW107XHJcblxyXG4gICAgICAgICAgbGlzdC5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoaXRlbSkge1xyXG4gICAgICAgICAgICAgIC8vIOmYsuatomtleemHjeWkjVxyXG4gICAgICAgICAgICAgIGxldCBuZXdJdGVtMSA9XHJcbiAgICAgICAgICAgICAgICBpdGVtLnNlZ09iajEuY29tcG9uZW50SWQgK1xyXG4gICAgICAgICAgICAgICAgaXRlbS5zZWdPYmoyLmNvbXBvbmVudElkICtcclxuICAgICAgICAgICAgICAgIGl0ZW0uc2VnT2JqMS5tb2RlbElkICtcclxuICAgICAgICAgICAgICAgIGl0ZW0uc2VnT2JqMi5tb2RlbElkO1xyXG4gICAgICAgICAgICAgIGxldCBuZXdJdGVtMiA9XHJcbiAgICAgICAgICAgICAgICBpdGVtLnNlZ09iajIuY29tcG9uZW50SWQgK1xyXG4gICAgICAgICAgICAgICAgaXRlbS5zZWdPYmoxLmNvbXBvbmVudElkICtcclxuICAgICAgICAgICAgICAgIGl0ZW0uc2VnT2JqMi5tb2RlbElkICtcclxuICAgICAgICAgICAgICAgIGl0ZW0uc2VnT2JqMS5tb2RlbElkO1xyXG4gICAgICAgICAgICAgIGxldCBpc0V4aXN0MSA9IG9ialtuZXdJdGVtMV07XHJcbiAgICAgICAgICAgICAgbGV0IGlzRXhpc3QyID0gb2JqW25ld0l0ZW0yXTtcclxuICAgICAgICAgICAgICBpZiAoIWlzRXhpc3QxICYmICFpc0V4aXN0Mikge1xyXG4gICAgICAgICAgICAgICAgY29sbGlzaW9uQWxsTGlzdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgb2JqW25ld0l0ZW0xXSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBvYmpbbmV3SXRlbTJdID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIGxldCBjb2xsaXNpb25Ob2RlTmFtZXMgPSBbXTtcclxuICAgICAgICAgIGNoZWNrZWROb2Rlcy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbGxpc2lvbk5vZGVOYW1lcy5wdXNoKGl0ZW0ubmFtZSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuZ2V0Q29sbGlzaW9uRGF0YShcclxuICAgICAgICAgICAgY29sbGlzaW9uQWxsTGlzdCxcclxuICAgICAgICAgICAgaWRzLFxyXG4gICAgICAgICAgICBjb2xsaXNpb25UeXBlLFxyXG4gICAgICAgICAgICBjb2xsaXNpb25Ob2RlTmFtZXNcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBjbGVhckludGVydmFsKHRpbWVyKTtcclxuICAgICAgICAgIHJldHVybiBjb2xsaXNpb25EYXRhcztcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDUwMCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldENvbGxpc2lvbkRhdGEoXHJcbiAgICBjb2xsaXNpb25MaXN0OiBDb2xsaXNpb25bXSxcclxuICAgIGlkcyxcclxuICAgIGNvbGxpc2lvblR5cGU6IENvbGxpc2lvblR5cGUsXHJcbiAgICBjb2xsaXNpb25Ob2RlTmFtZXM6IHN0cmluZ1tdXHJcbiAgKSB7XHJcbiAgICBsZXQgdGFibGVEYXRhID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbGxpc2lvbkxpc3QubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGV0IGNvbGxzaW9uUG9zID0gY29sbGlzaW9uTGlzdFtpXS5jb2xsc2lvblBvcztcclxuXHJcbiAgICAgIGxldCBzZWdtZW50T2JqZWN0MCA9IGNvbGxpc2lvbkxpc3RbaV0uc2VnT2JqMTtcclxuICAgICAgbGV0IHNlZ21lbnRPYmplY3QxID0gY29sbGlzaW9uTGlzdFtpXS5zZWdPYmoyO1xyXG5cclxuICAgICAgbGV0IGtleTAgPSBzZWdtZW50T2JqZWN0MC5zZWdtZW50LmtleTtcclxuICAgICAgbGV0IGtleTEgPSBzZWdtZW50T2JqZWN0MS5zZWdtZW50LmtleTtcclxuXHJcbiAgICAgIC8v55So6L+Z56eN5pa55byP566X5Ye65p2l55qEYmLkuI3kuIDlrprlh4bnoa4o5b2T5raJ5Y+K5Yiw5aSa6YeN5byV55So5pe2KVxyXG4gICAgICBsZXQgYm94MCA9IEpTX0NvbXB1dGVfVmlld19Cb3VuZGluZ2JveF9CeV9LZXkodGhpcy52aWV3ZXIudmlld0tleSwga2V5MCk7XHJcbiAgICAgIGxldCBib3gxID0gSlNfQ29tcHV0ZV9WaWV3X0JvdW5kaW5nYm94X0J5X0tleSh0aGlzLnZpZXdlci52aWV3S2V5LCBrZXkxKTtcclxuXHJcbiAgICAgIGxldCBtaW46IG51bWJlcltdID0gbmV3IEFycmF5PG51bWJlcj4oKTtcclxuICAgICAgbWluWzBdID0gYm94MFswXSA8IGJveDFbMF0gPyBib3gwWzBdIDogYm94MVswXTtcclxuICAgICAgbWluWzFdID0gYm94MFsxXSA8IGJveDFbMV0gPyBib3gwWzFdIDogYm94MVsxXTtcclxuICAgICAgbWluWzJdID0gYm94MFsyXSA8IGJveDFbMl0gPyBib3gwWzJdIDogYm94MVsyXTtcclxuXHJcbiAgICAgIGxldCBtYXg6IG51bWJlcltdID0gbmV3IEFycmF5PG51bWJlcj4oKTtcclxuICAgICAgbWF4WzBdID0gYm94MFszXSA+IGJveDFbM10gPyBib3gwWzNdIDogYm94MVszXTtcclxuICAgICAgbWF4WzFdID0gYm94MFs0XSA+IGJveDFbNF0gPyBib3gwWzRdIDogYm94MVs0XTtcclxuICAgICAgbWF4WzJdID0gYm94MFs1XSA+IGJveDFbNV0gPyBib3gwWzVdIDogYm94MVs1XTtcclxuXHJcbiAgICAgIGxldCBjb21wYWlyZSA9XHJcbiAgICAgICAgY29sbGlzaW9uTGlzdFtpXS5zZWdPYmoxLmNvbXBvbmVudElkICtcclxuICAgICAgICBcIixcIiArXHJcbiAgICAgICAgY29sbGlzaW9uTGlzdFtpXS5zZWdPYmoyLmNvbXBvbmVudElkICtcclxuICAgICAgICBcIixcIiArXHJcbiAgICAgICAgY29sbGlzaW9uTGlzdFtpXS5zZWdPYmoxLm1vZGVsSWQgK1xyXG4gICAgICAgIFwiLFwiICtcclxuICAgICAgICBjb2xsaXNpb25MaXN0W2ldLnNlZ09iajIubW9kZWxJZDtcclxuXHJcbiAgICAgIGxldCBvYmplY3QgPSB7XHJcbiAgICAgICAgY29tcGFpcmUsXHJcbiAgICAgICAgdHlwZTogY29sbGlzaW9uTGlzdFtpXS5jb2xsaXNpb25UeXBlLFxyXG4gICAgICAgIGNvbGxzaW9uUG9zLFxyXG4gICAgICAgIG1pbixcclxuICAgICAgICBtYXgsXHJcbiAgICAgIH07XHJcbiAgICAgIHRhYmxlRGF0YS5wdXNoKG9iamVjdCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8g5L+d5a2Y56Kw5pKe5pWw5o2uXHJcbiAgICBsZXQgbGlnaHRNb2RlbCA9IHRoaXMudmlld2VyLnByb2Nlc3MucmVuZGVyT2JqZWN0O1xyXG4gICAgbGV0IGNvbGxpc2lvbk9iamVjdHMgPVxyXG4gICAgICB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RCeVR5cGUoXCJDb2xsaXNpb25PYmplY3RzXCIpO1xyXG5cclxuICAgIGlmICghY29sbGlzaW9uT2JqZWN0cykge1xyXG4gICAgICBjb2xsaXNpb25PYmplY3RzID0gbmV3IENvbGxpc2lvbk9iamVjdHMoKTtcclxuICAgICAgdGhpcy52aWV3ZXIucHJvY2Vzcy5hZGRSZW5kZXJPYmplY3QobGlnaHRNb2RlbCwgY29sbGlzaW9uT2JqZWN0cyk7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGNvbGxpc2lvbk9iamVjdCA9IG5ldyBDb2xsaXNpb25PYmplY3QoKTtcclxuICAgIGNvbGxpc2lvbk9iamVjdC5uYW1lID0gdGhpcy5vcHRpb24ubmFtZTtcclxuICAgIGNvbGxpc2lvbk9iamVjdC5kYXRhID0gdGFibGVEYXRhO1xyXG4gICAgY29sbGlzaW9uT2JqZWN0LnJlbGF0ZWQgPSBpZHM7XHJcbiAgICBjb2xsaXNpb25PYmplY3QuY29sbGlzaW9uVHlwZSA9IGNvbGxpc2lvblR5cGU7XHJcbiAgICBjb2xsaXNpb25PYmplY3QuY29sbGlzaW9uTm9kZU5hbWVzID0gY29sbGlzaW9uTm9kZU5hbWVzO1xyXG4gICAgaWYgKChjb2xsaXNpb25UeXBlICYgOCkgPT09IDgpIHtcclxuICAgICAgY29sbGlzaW9uT2JqZWN0LnNvZnRDb2xsaXNpb25EaXN0YW5jZSA9IHRoaXMudmlld2VyLnNvZnRDb2xsaXNpb25EaXN0YW5jZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgb2JqID0gY29sbGlzaW9uT2JqZWN0LnNlcmlhbGl6ZSgpO1xyXG5cclxuICAgIHJlbmRlck9iamVjdHNTZXJ2aWNlXHJcbiAgICAgIC5jcmVhdGVSZW5kZXJPYmplY3QoXCJcIiwgb2JqLCB0aGlzLnZpZXdlci5vcHRpb25zLnRhZylcclxuICAgICAgLnRoZW4oKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMudmlld2VyLnByb2Nlc3MuYWRkUmVuZGVyT2JqZWN0KGNvbGxpc2lvbk9iamVjdHMsIGNvbGxpc2lvbk9iamVjdCk7XHJcbiAgICAgICAgLy8g55Sf5oiQ5ZyodWnnlYzpnaJcclxuICAgICAgICB0aGlzLnZpZXdlci5wYW5lbE1hbmFnZXIuY29sbGlzaW9uUGFuZWwuY29sbGlzaW9uT2JqZWN0SnNvbkxpc3QudW5zaGlmdChcclxuICAgICAgICAgIGRhdGFcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMudmlld2VyLnBhbmVsTWFuYWdlci5jb2xsaXNpb25QYW5lbC5nZW5lcmF0ZUNvbGxpc2lvbigpO1xyXG4gICAgICAgIHRoaXMuY29tbWFuZERhdGEgPSB7XHJcbiAgICAgICAgICBpc0NvbXB1dGU6IGZhbHNlLFxyXG4gICAgICAgICAgZGF0YTogdGFibGVEYXRhLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0Q29sbGlzaW9uKHJvdzoge1xyXG4gICAgaW5kZXg6IG51bWJlcjtcclxuICAgIGNvbXBhaXJlOiBzdHJpbmc7XHJcbiAgICBjb2xsc2lvblBvczogRmxvYXQzMkFycmF5O1xyXG4gICAgdHlwZTogc3RyaW5nO1xyXG4gICAgbWluO1xyXG4gICAgbWF4O1xyXG4gIH0pIHtcclxuICAgIGxldCBjb21wYWlyZUFyciA9IHJvdy5jb21wYWlyZS5zcGxpdChcIixcIik7XHJcbiAgICBpZiAodGhpcy5sYXN0U2VnT2JqUmVkICYmIHRoaXMubGFzdFNlZ09iakJsdWUpIHtcclxuICAgICAgdGhpcy52aWV3ZXIubWF0ZXJpYWxNYW5hZ2VyLmNsZWFyT3ZlcnJpZGUoW1xyXG4gICAgICAgIHRoaXMubGFzdFNlZ09ialJlZCxcclxuICAgICAgICB0aGlzLmxhc3RTZWdPYmpCbHVlLFxyXG4gICAgICBdKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxhc3RTZWdPYmpSZWQgPSB0aGlzLnZpZXdlci5nZXRDb21wb25lbnQoXHJcbiAgICAgIGNvbXBhaXJlQXJyWzJdLFxyXG4gICAgICBjb21wYWlyZUFyclswXVxyXG4gICAgKTtcclxuICAgIHRoaXMubGFzdFNlZ09iakJsdWUgPSB0aGlzLnZpZXdlci5nZXRDb21wb25lbnQoXHJcbiAgICAgIGNvbXBhaXJlQXJyWzNdLFxyXG4gICAgICBjb21wYWlyZUFyclsxXVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLm1hdGVyaWFsUmVkID0gbmV3IE1hdGVyaWFsKHRoaXMudmlld2VyLCBcInJlZFwiKTtcclxuICAgIHRoaXMubWF0ZXJpYWxSZWQuc2V0Q29sb3IoMjU1LCAwLCAwLCAwLjUpO1xyXG4gICAgdGhpcy5tYXRlcmlhbFJlZC5zZXRGbG9hdCgpO1xyXG4gICAgdGhpcy5tYXRlcmlhbFJlZC5zdHlsZVNlZ21lbnQucmVuZGVyaW5nT3B0aW9ucy5sb2dhcml0aG1pY0RlcHRoQnVmZmVyID1cclxuICAgICAgZmFsc2U7XHJcblxyXG4gICAgdGhpcy5tYXRlcmlhbEJsdWUgPSBuZXcgTWF0ZXJpYWwodGhpcy52aWV3ZXIsIFwiYmx1ZVwiKTtcclxuICAgIHRoaXMubWF0ZXJpYWxCbHVlLnNldENvbG9yKDAsIDAsIDI1NSwgMC41KTtcclxuICAgIHRoaXMubWF0ZXJpYWxCbHVlLnNldEZsb2F0KCk7XHJcbiAgICB0aGlzLm1hdGVyaWFsQmx1ZS5zdHlsZVNlZ21lbnQucmVuZGVyaW5nT3B0aW9ucy5sb2dhcml0aG1pY0RlcHRoQnVmZmVyID1cclxuICAgICAgZmFsc2U7XHJcblxyXG4gICAgdGhpcy52aWV3ZXIubWF0ZXJpYWxNYW5hZ2VyLm92ZXJyaWRlKFxyXG4gICAgICBbdGhpcy5sYXN0U2VnT2JqUmVkXSxcclxuICAgICAgdGhpcy5tYXRlcmlhbFJlZFxyXG4gICAgKTtcclxuICAgIHRoaXMudmlld2VyLm1hdGVyaWFsTWFuYWdlci5vdmVycmlkZShcclxuICAgICAgW3RoaXMubGFzdFNlZ09iakJsdWVdLFxyXG4gICAgICB0aGlzLm1hdGVyaWFsQmx1ZVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnZpZXdlci5sb2NhdGVXb3JsZEJ5RGF0YShyb3cuY29sbHNpb25Qb3MsIHJvdy5taW4sIHJvdy5tYXgpO1xyXG4gICAgLy8gY29uc29sZS5sb2cocm93Lm1pbiwgcm93Lm1heCk7XHJcbiAgICB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XHJcbiAgfVxyXG5cclxuICBnZXRDb21wb25lbnRJZEJ5UGF0aEtleShrZXlMaXN0OiBJbnQzMkFycmF5KSB7XHJcbiAgICBsZXQgaWQgPSBudWxsO1xyXG4gICAgLy/lvJXnlKjnmoTliY1uLTHkuKpcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwga2V5TGlzdC5sZW5ndGggLSAxOyBpKyspIHtcclxuICAgICAgbGV0IGluY2x1ZGVLZXkgPSBrZXlMaXN0W2ldO1xyXG4gICAgICBsZXQgc2VnbWVudCA9IG5ldyBMb25nYW4uU2VnbWVudChpbmNsdWRlS2V5KTtcclxuICAgICAgaWQgPSBzZWdtZW50LnByb3BlcnR5LnNob3dTdHJpbmcoXCJpZFwiKTtcclxuICAgICAgaWYgKGlkICE9PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIHsgaWQsIGluY2x1ZGVLZXkgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKGlkID09PSBudWxsKSB7XHJcbiAgICAgIC8v56ysbuS4qlxyXG4gICAgICBsZXQgaW5jbHVkZUtleSA9IGtleUxpc3Rba2V5TGlzdC5sZW5ndGggLSAxXTtcclxuICAgICAgbGV0IHNlZ21lbnQgPSBuZXcgTG9uZ2FuLlNlZ21lbnQoaW5jbHVkZUtleSk7XHJcbiAgICAgIGlkID0gc2VnbWVudC5wcm9wZXJ0eS5zaG93U3RyaW5nKFwiaWRcIik7XHJcbiAgICAgIGlmIChpZCkge1xyXG4gICAgICAgIHJldHVybiB7IGlkLCBpbmNsdWRlS2V5IH07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8v56ysbuS4queahHBhcmVudFxyXG4gICAgICBsZXQgb3duZXJfa2V5ID0gSlNfU2hvd19Pd25lcl9CeV9LZXkoaW5jbHVkZUtleSk7XHJcbiAgICAgIHdoaWxlIChvd25lcl9rZXkgIT09IC0xKSB7XHJcbiAgICAgICAgbGV0IHNlZ21lbnQgPSBuZXcgTG9uZ2FuLlNlZ21lbnQob3duZXJfa2V5KTtcclxuICAgICAgICBpZCA9IHNlZ21lbnQucHJvcGVydHkuc2hvd1N0cmluZyhcImlkXCIpO1xyXG4gICAgICAgIGlmIChpZCkge1xyXG4gICAgICAgICAgcmV0dXJuIHsgaWQsIGluY2x1ZGVLZXkgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIG93bmVyX2tleSA9IEpTX1Nob3dfT3duZXJfQnlfS2V5KG93bmVyX2tleSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGxldCBpbmNsdWRlS2V5ID0gLTE7XHJcbiAgICByZXR1cm4geyBpZCwgaW5jbHVkZUtleSB9O1xyXG4gIH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./packages/bimAir/src/viewerWrapper/commands/showCollision/commandShowCollision.ts\n");
|
|
5058
5058
|
|
|
5059
5059
|
/***/ }),
|
|
5060
5060
|
|
|
@@ -5154,7 +5154,7 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_
|
|
|
5154
5154
|
\******************************************************************************************/
|
|
5155
5155
|
/***/ (function(module, exports, __webpack_require__) {
|
|
5156
5156
|
|
|
5157
|
-
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.promise.js */ \"./node_modules/core-js/modules/es.promise.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.number.to-fixed.js */ \"./node_modules/core-js/modules/es.number.to-fixed.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.array-buffer.slice.js */ \"./node_modules/core-js/modules/es.array-buffer.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.uint8-array.js */ \"./node_modules/core-js/modules/es.typed-array.uint8-array.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.at.js */ \"./node_modules/core-js/modules/es.typed-array.at.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.copy-within.js */ \"./node_modules/core-js/modules/es.typed-array.copy-within.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.every.js */ \"./node_modules/core-js/modules/es.typed-array.every.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.fill.js */ \"./node_modules/core-js/modules/es.typed-array.fill.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.filter.js */ \"./node_modules/core-js/modules/es.typed-array.filter.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find.js */ \"./node_modules/core-js/modules/es.typed-array.find.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-last.js */ \"./node_modules/core-js/modules/es.typed-array.find-last.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-last-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-last-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.for-each.js */ \"./node_modules/core-js/modules/es.typed-array.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.includes.js */ \"./node_modules/core-js/modules/es.typed-array.includes.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.index-of.js */ \"./node_modules/core-js/modules/es.typed-array.index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.iterator.js */ \"./node_modules/core-js/modules/es.typed-array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.join.js */ \"./node_modules/core-js/modules/es.typed-array.join.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.last-index-of.js */ \"./node_modules/core-js/modules/es.typed-array.last-index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.map.js */ \"./node_modules/core-js/modules/es.typed-array.map.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce.js */ \"./node_modules/core-js/modules/es.typed-array.reduce.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce-right.js */ \"./node_modules/core-js/modules/es.typed-array.reduce-right.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reverse.js */ \"./node_modules/core-js/modules/es.typed-array.reverse.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.set.js */ \"./node_modules/core-js/modules/es.typed-array.set.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.slice.js */ \"./node_modules/core-js/modules/es.typed-array.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.some.js */ \"./node_modules/core-js/modules/es.typed-array.some.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.sort.js */ \"./node_modules/core-js/modules/es.typed-array.sort.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.subarray.js */ \"./node_modules/core-js/modules/es.typed-array.subarray.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-locale-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-locale-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.from.js */ \"./node_modules/core-js/modules/es.array.from.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! gs-longan/operators/cameraMouse */ \"./packages/longan/src/operators/cameraMouse.ts\"), __webpack_require__(/*! ../commandComponent */ \"./packages/bimAir/src/viewerWrapper/commands/commandComponent.ts\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! ../../../gsDevFx/operators/componentPreSelector */ \"./packages/bimAir/src/gsDevFx/operators/componentPreSelector.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/material */ \"./packages/bimAir/src/gsDevFx/objects/material.ts\"), __webpack_require__(/*! ../../../api/longanModelApi */ \"./packages/bimAir/src/api/longanModelApi.ts\"), __webpack_require__(/*! ../../../utils/uuid */ \"./packages/bimAir/src/utils/uuid.ts\"), __webpack_require__(/*! gs-longan/longan/idb */ \"./packages/longan/src/longan/idb.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, cameraMouse_1, commandComponent_1, Longan, componentPreSelector_1, material_1, longanModelApi_1, uuid_1, idb_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n exports.EditStyleType = void 0;\n Longan = tslib_1.__importStar(Longan);\n longanModelApi_1 = tslib_1.__importDefault(longanModelApi_1);\n uuid_1 = tslib_1.__importDefault(uuid_1);\n idb_1 = tslib_1.__importDefault(idb_1);\n var EditStyleType;\n\n (function (EditStyleType) {\n EditStyleType[EditStyleType[\"Color\"] = 0] = \"Color\";\n EditStyleType[EditStyleType[\"Image\"] = 1] = \"Image\";\n EditStyleType[EditStyleType[\"unsetStyle\"] = 2] = \"unsetStyle\";\n })(EditStyleType = exports.EditStyleType || (exports.EditStyleType = {}));\n\n var CommandShowEditStyle = function (_super) {\n tslib_1.__extends(CommandShowEditStyle, _super);\n\n function CommandShowEditStyle() {\n var _this = _super.call(this) || this;\n\n _this.edtiType = EditStyleType.Color;\n _this.typeName = \"CommandShowEditStyle\";\n _this.componentPreSelector = null;\n _this.fileName = \"\";\n _this.imgBlob = null;\n _this.imgWidth = 0;\n _this.imgHeight = 0;\n _this.imgType = \"jpg\";\n _this._updateType = null;\n return _this;\n }\n\n Object.defineProperty(CommandShowEditStyle.prototype, \"styleColor\", {\n get: function get() {\n return this._styleColor;\n },\n set: function set(color) {\n this._styleColor = color;\n },\n enumerable: false,\n configurable: true\n });\n\n CommandShowEditStyle.prototype.begin = function () {\n this.bindComponent = function () {\n return new Promise(function (resolve_1, reject_1) {\n Promise.resolve(/*! AMD require */).then(function() { var __WEBPACK_AMD_REQUIRE_ARRAY__ = [__webpack_require__(/*! ./showEditStyle.vue */ \"./packages/bimAir/src/viewerWrapper/commands/showEditStyle/showEditStyle.vue\")]; (resolve_1).apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__);}.bind(this))['catch'](reject_1.bind(this));\n }).then(tslib_1.__importStar);\n };\n\n longanModelApi_1.default.viewer = this.viewer;\n this._updateType = this.viewer.updateType;\n this.viewer.updateType = Longan.UpdateType.Synchronization;\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.updateDisplay();\n this.show();\n this.viewer.operatorManager.clear();\n this.viewer.operatorManager.add(new cameraMouse_1.CameraMouse());\n this.componentPreSelector = new componentPreSelector_1.ComponentPreSelector();\n this.viewer.operatorManager.add(this.componentPreSelector);\n this.addSetMaterialEvent();\n\n _super.prototype.begin.call(this);\n };\n\n CommandShowEditStyle.prototype.end = function () {\n this.viewer.operatorManager.clear();\n this.viewer.updateType = this._updateType;\n this.viewer.asynUpdateView();\n this.hide();\n\n _super.prototype.end.call(this);\n };\n\n CommandShowEditStyle.prototype.interrupt = function () {\n this.viewer.operatorManager.clear();\n\n _super.prototype.interrupt.call(this);\n };\n\n CommandShowEditStyle.prototype.restore = function () {\n this.viewer.operatorManager.clear();\n\n _super.prototype.restore.call(this);\n };\n\n CommandShowEditStyle.prototype.addSetMaterialEvent = function () {\n var _this = this;\n\n if (this.componentPreSelector) {\n this.componentPreSelector.lButtonDown.add(function () {\n var segmentObject = _this.componentPreSelector.preHighlightObject;\n\n if (!segmentObject) {\n return;\n }\n\n var treeNode = _this.viewer.structureTreeManager.getTreeNodeObjectByNodeKey(segmentObject.nodeKey);\n\n var apiPath = treeNode.apiPath;\n console.log(\"apiPath:\", apiPath);\n var guid = (0, uuid_1.default)();\n var preStyleName = \"style \" + segmentObject.name + \" \";\n var styleName = preStyleName + guid;\n\n var existStyleName = _this.searchExitedStyleName(segmentObject, preStyleName);\n\n if (existStyleName) {\n styleName = existStyleName;\n }\n\n if (_this._styleColor || _this.imgBlob) {\n var material = new material_1.Material(_this.viewer, styleName, 1);\n\n switch (_this.edtiType) {\n case EditStyleType.Color:\n material.setColor(_this.styleColor[0], _this.styleColor[1], _this.styleColor[2], _this.styleColor[3]);\n\n _this.viewer.materialManager.override([segmentObject], material);\n\n break;\n\n case EditStyleType.Image:\n material.setImage(_this.fileName, _this.imgBlob, _this.imgWidth, _this.imgHeight, _this.imgType);\n\n _this.viewer.materialManager.override([segmentObject], material);\n\n break;\n\n case EditStyleType.unsetStyle:\n console.log(\"clear\");\n\n _this.viewer.materialManager.clearOverride([segmentObject]);\n\n break;\n\n default:\n break;\n }\n\n _this.viewer.updateDisplay();\n }\n\n var modelId = segmentObject.modelId;\n var version = segmentObject.model.renderObject.version;\n idb_1.default.getInstance(modelId).del(modelId + \"?v=\" + version);\n var condition = \"\";\n\n switch (_this.edtiType) {\n case EditStyleType.Color:\n _this.editServerModelColor(modelId, apiPath, condition, styleName);\n\n break;\n\n case EditStyleType.Image:\n _this.editServerModelImage(modelId, apiPath, condition, styleName);\n\n break;\n\n case EditStyleType.unsetStyle:\n if (existStyleName) {\n _this.editServerModelUnsetImage(modelId, apiPath, condition, styleName);\n }\n\n break;\n\n default:\n break;\n }\n\n _this.componentPreSelector.clearPreSelect();\n });\n } else {\n console.log(\"this.componentPreSelector is null\");\n }\n };\n\n CommandShowEditStyle.prototype.searchExitedStyleName = function (segmentObject, styleName) {\n var result = null;\n\n if (segmentObject.segment.styles) {\n segmentObject.segment.styles.items.forEach(function (style) {\n if (style.segment.name.indexOf(styleName) !== -1) {\n result = style.segment.name;\n console.log(\"该segmentObject已经添加过了style:\", result);\n return result;\n }\n });\n }\n\n return result;\n };\n\n CommandShowEditStyle.prototype.editServerModelColor = function (modelId, apiPath, condition, styleName) {\n var color = this.styleColor;\n var setStyleOPS;\n\n if (this.styleColor) {\n var colorStr = \"faces=(r=\" + (color[0] / 255).toFixed(2) + \",g=\" + (color[1] / 255).toFixed(2) + \",b=\" + (color[2] / 255).toFixed(2) + \",a=\" + color[3] + \")\";\n setStyleOPS = [{\n op: \"setColor\",\n condition: condition,\n value: colorStr,\n styleName: styleName\n }];\n var data = [{\n path: apiPath,\n ops: setStyleOPS\n }];\n longanModelApi_1.default.setStyle(modelId, data);\n }\n };\n\n CommandShowEditStyle.prototype.editServerModelImage = function (modelId, apiPath, condition, styleName) {\n var setStyleOPS;\n\n if (this.imgBlob) {\n var imageByteArray = new Uint8Array(this.imgBlob);\n var byteArray = Array.from(imageByteArray);\n var options = \"name=\" + this.fileName + \",format=\" + this.imgType + \",data size=\" + this.imgBlob.byteLength + \",local\";\n setStyleOPS = [{\n op: \"setImage\",\n condition: condition,\n width: this.imgWidth,\n height: this.imgHeight,\n name: this.fileName,\n data: byteArray,\n options: options,\n styleName: styleName\n }];\n var data = [{\n path: apiPath,\n ops: setStyleOPS\n }];\n longanModelApi_1.default.setStyle(modelId, data).then(function () {});\n }\n };\n\n CommandShowEditStyle.prototype.editServerModelUnsetImage = function (modelId, apiPath, condition, styleName) {\n var setStyleOPS;\n setStyleOPS = [{\n op: \"remove\",\n condition: condition,\n styleName: styleName\n }];\n var data = [{\n path: apiPath,\n ops: setStyleOPS\n }];\n longanModelApi_1.default.setStyle(modelId, data).then(function () {});\n };\n\n return CommandShowEditStyle;\n }(commandComponent_1.CommandComponent);\n\n exports[\"default\"] = CommandShowEditStyle;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9iaW1BaXIvc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvc2hvd0VkaXRTdHlsZS9jb21tYW5kU2hvd0VkaXRTdHlsZS50cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWFBOztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFBQTs7QUFnQkE7QUFBQTs7QUFmQTtBQUNBO0FBRUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7O0FBSUE7O0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFOQTs7QUFBQTs7QUFRQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBR0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFFQTs7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7O0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFDQTtBQUNBOztBQUVBO0FBQUE7O0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTs7QUFDQTs7QUFJQTtBQUNBO0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUlBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFNQTs7QUFFQTs7QUFFQTtBQUNBOztBQU9BOztBQUVBOztBQUVBO0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7QUFDQTtBQTlCQTs7QUFpQ0E7QUFlQTs7QUFHQTtBQUNBO0FBSUE7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBQ0E7O0FBRUE7QUFDQTs7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFNQTs7QUFDQTs7QUFFQTtBQUNBO0FBckJBOztBQXdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFJQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQVFBO0FBRUE7O0FBQ0E7QUFDQTtBQVVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQVFBO0FBRUE7QUFDQTtBQUZBO0FBS0E7QUFLQTtBQUNBOztBQUVBO0FBTUE7O0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFTQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFSQTtBQVlBO0FBRUE7QUFDQTtBQUZBO0FBTUE7QUFHQTtBQUNBOztBQUVBO0FBUUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUhBO0FBT0E7QUFFQTtBQUNBO0FBRkE7QUFNQTtBQUdBOztBQUNBO0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9iaW1saWdodC1wbGF0Zm9ybS8uL3BhY2thZ2VzL2JpbUFpci9zcmMvdmlld2VyV3JhcHBlci9jb21tYW5kcy9zaG93RWRpdFN0eWxlL2NvbW1hbmRTaG93RWRpdFN0eWxlLnRzPzhmMTgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVmZXJlbmNlTGlnaHRNb2RlbCB9IGZyb20gXCIuLy4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9yZWZlcmVuY2VMaWdodE1vZGVsXCI7XHJcbmltcG9ydCB7IENhbWVyYU1vdXNlIH0gZnJvbSBcImdzLWxvbmdhbi9vcGVyYXRvcnMvY2FtZXJhTW91c2VcIjtcclxuaW1wb3J0IHsgQ29tbWFuZENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21tYW5kQ29tcG9uZW50XCI7XHJcbmltcG9ydCAqIGFzIExvbmdhbiBmcm9tIFwiZ3MtbG9uZ2FuXCI7XHJcblxyXG5pbXBvcnQgeyBDb21wb25lbnRQcmVTZWxlY3RvciB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29wZXJhdG9ycy9jb21wb25lbnRQcmVTZWxlY3RvclwiO1xyXG5pbXBvcnQgeyBNYXRlcmlhbCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvbWF0ZXJpYWxcIjtcclxuaW1wb3J0IHsgTGlnaHRNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvbGlnaHRNb2RlbFwiO1xyXG5pbXBvcnQgbG9uZ2FuTW9kZWxBcGkgZnJvbSBcIi4uLy4uLy4uL2FwaS9sb25nYW5Nb2RlbEFwaVwiO1xyXG5pbXBvcnQgeyBTZWdtZW50T2JqZWN0IH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9zZWdtZW50T2JqZWN0XCI7XHJcbmltcG9ydCB1dWlkIGZyb20gXCIuLi8uLi8uLi91dGlscy91dWlkXCI7XHJcbmltcG9ydCBJREIgZnJvbSBcImdzLWxvbmdhbi9sb25nYW4vaWRiXCI7XHJcblxyXG5leHBvcnQgZW51bSBFZGl0U3R5bGVUeXBlIHtcclxuICBDb2xvcixcclxuICBJbWFnZSxcclxuICB1bnNldFN0eWxlLFxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbW1hbmRTaG93RWRpdFN0eWxlIGV4dGVuZHMgQ29tbWFuZENvbXBvbmVudCB7XHJcbiAgZWR0aVR5cGU6IEVkaXRTdHlsZVR5cGUgPSBFZGl0U3R5bGVUeXBlLkNvbG9yO1xyXG4gIHR5cGVOYW1lID0gXCJDb21tYW5kU2hvd0VkaXRTdHlsZVwiO1xyXG5cclxuICBjb21wb25lbnRQcmVTZWxlY3RvcjogQ29tcG9uZW50UHJlU2VsZWN0b3IgPSBudWxsO1xyXG5cclxuICBwcml2YXRlIF9zdHlsZUNvbG9yOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcclxuXHJcbiAgcHVibGljIGZpbGVOYW1lOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyBpbWdCbG9iOiBBcnJheUJ1ZmZlciA9IG51bGw7XHJcbiAgcHVibGljIGltZ1dpZHRoOiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBpbWdIZWlnaHQ6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIGltZ1R5cGUgPSBcImpwZ1wiO1xyXG5cclxuICBfdXBkYXRlVHlwZSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIGdldCBzdHlsZUNvbG9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N0eWxlQ29sb3I7XHJcbiAgfVxyXG5cclxuICBzZXQgc3R5bGVDb2xvcihjb2xvcikge1xyXG4gICAgdGhpcy5fc3R5bGVDb2xvciA9IGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgYmVnaW4oKSB7XHJcbiAgICB0aGlzLmJpbmRDb21wb25lbnQgPSAoKSA9PiBpbXBvcnQoXCIuL3Nob3dFZGl0U3R5bGUudnVlXCIpO1xyXG5cclxuICAgIC8vIOaOpeWPo+WKoOWJjee8gOS4unZpZXdlci5vcHRpb25zLm1vZGVsU2VydmljZVxyXG4gICAgbG9uZ2FuTW9kZWxBcGkudmlld2VyID0gdGhpcy52aWV3ZXI7XHJcblxyXG4gICAgdGhpcy5fdXBkYXRlVHlwZSA9IHRoaXMudmlld2VyLnVwZGF0ZVR5cGU7XHJcbiAgICB0aGlzLnZpZXdlci51cGRhdGVUeXBlID0gTG9uZ2FuLlVwZGF0ZVR5cGUuU3luY2hyb25pemF0aW9uO1xyXG5cclxuICAgIHRoaXMudmlld2VyLnNlbGVjdGlvbk1hbmFnZXIuY2xlYXJBbGxTZWxlY3Rpb25BbmRIaWdobGlnaHQoKTtcclxuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcclxuXHJcbiAgICB0aGlzLnNob3coKTtcclxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5jbGVhcigpO1xyXG5cclxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5hZGQobmV3IENhbWVyYU1vdXNlKCkpO1xyXG5cclxuICAgIHRoaXMuY29tcG9uZW50UHJlU2VsZWN0b3IgPSBuZXcgQ29tcG9uZW50UHJlU2VsZWN0b3IoKTtcclxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5hZGQodGhpcy5jb21wb25lbnRQcmVTZWxlY3Rvcik7XHJcblxyXG4gICAgdGhpcy5hZGRTZXRNYXRlcmlhbEV2ZW50KCk7XHJcbiAgICBzdXBlci5iZWdpbigpO1xyXG4gIH1cclxuXHJcbiAgZW5kKCkge1xyXG4gICAgdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmNsZWFyKCk7XHJcbiAgICB0aGlzLnZpZXdlci51cGRhdGVUeXBlID0gdGhpcy5fdXBkYXRlVHlwZTtcclxuICAgIHRoaXMudmlld2VyLmFzeW5VcGRhdGVWaWV3KCk7XHJcbiAgICAvLyB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XHJcbiAgICB0aGlzLmhpZGUoKTtcclxuICAgIHN1cGVyLmVuZCgpO1xyXG4gIH1cclxuXHJcbiAgaW50ZXJydXB0KCkge1xyXG4gICAgdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmNsZWFyKCk7XHJcbiAgICBzdXBlci5pbnRlcnJ1cHQoKTtcclxuICB9XHJcblxyXG4gIHJlc3RvcmUoKSB7XHJcbiAgICB0aGlzLnZpZXdlci5vcGVyYXRvck1hbmFnZXIuY2xlYXIoKTtcclxuICAgIHN1cGVyLnJlc3RvcmUoKTtcclxuICB9XHJcblxyXG4gIGFkZFNldE1hdGVyaWFsRXZlbnQoKSB7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnRQcmVTZWxlY3Rvcikge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFByZVNlbGVjdG9yLmxCdXR0b25Eb3duLmFkZCgoKSA9PiB7XHJcbiAgICAgICAgbGV0IHNlZ21lbnRPYmplY3QgPSB0aGlzLmNvbXBvbmVudFByZVNlbGVjdG9yLnByZUhpZ2hsaWdodE9iamVjdDtcclxuICAgICAgICBpZiAoIXNlZ21lbnRPYmplY3QpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHRyZWVOb2RlID1cclxuICAgICAgICAgIHRoaXMudmlld2VyLnN0cnVjdHVyZVRyZWVNYW5hZ2VyLmdldFRyZWVOb2RlT2JqZWN0QnlOb2RlS2V5KFxyXG4gICAgICAgICAgICBzZWdtZW50T2JqZWN0Lm5vZGVLZXlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgbGV0IGFwaVBhdGggPSB0cmVlTm9kZS5hcGlQYXRoO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiYXBpUGF0aDpcIiwgYXBpUGF0aCk7XHJcblxyXG4gICAgICAgIGxldCBndWlkID0gdXVpZCgpO1xyXG4gICAgICAgIGxldCBwcmVTdHlsZU5hbWUgPSBcInN0eWxlIFwiICsgc2VnbWVudE9iamVjdC5uYW1lICsgXCIgXCI7XHJcbiAgICAgICAgbGV0IHN0eWxlTmFtZSA9IHByZVN0eWxlTmFtZSArIGd1aWQ7XHJcbiAgICAgICAgLy8g6K+lc2VnbWVudE9iamVjdOaYr+WQpuW3sue7j+a3u+WKoOi/h3N0eWxlLlxyXG4gICAgICAgIGxldCBleGlzdFN0eWxlTmFtZSA9IHRoaXMuc2VhcmNoRXhpdGVkU3R5bGVOYW1lKFxyXG4gICAgICAgICAgc2VnbWVudE9iamVjdCxcclxuICAgICAgICAgIHByZVN0eWxlTmFtZVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgaWYgKGV4aXN0U3R5bGVOYW1lKSB7XHJcbiAgICAgICAgICBzdHlsZU5hbWUgPSBleGlzdFN0eWxlTmFtZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIOagueaNrmNvbG9yLGltYWdl5pWw5o2u5Yib5bu6bWF0ZXJpYWwuXHJcbiAgICAgICAgaWYgKHRoaXMuX3N0eWxlQ29sb3IgfHwgdGhpcy5pbWdCbG9iKSB7XHJcbiAgICAgICAgICBsZXQgbWF0ZXJpYWwgPSBuZXcgTWF0ZXJpYWwodGhpcy52aWV3ZXIsIHN0eWxlTmFtZSwgMSk7XHJcblxyXG4gICAgICAgICAgc3dpdGNoICh0aGlzLmVkdGlUeXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgRWRpdFN0eWxlVHlwZS5Db2xvcjpcclxuICAgICAgICAgICAgICBtYXRlcmlhbC5zZXRDb2xvcihcclxuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVDb2xvclswXSxcclxuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVDb2xvclsxXSxcclxuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVDb2xvclsyXSxcclxuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVDb2xvclszXVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgdGhpcy52aWV3ZXIubWF0ZXJpYWxNYW5hZ2VyLm92ZXJyaWRlKFtzZWdtZW50T2JqZWN0XSwgbWF0ZXJpYWwpO1xyXG5cclxuICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNhc2UgRWRpdFN0eWxlVHlwZS5JbWFnZTpcclxuICAgICAgICAgICAgICBtYXRlcmlhbC5zZXRJbWFnZShcclxuICAgICAgICAgICAgICAgIHRoaXMuZmlsZU5hbWUsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmltZ0Jsb2IsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmltZ1dpZHRoLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5pbWdIZWlnaHQsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmltZ1R5cGVcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIHRoaXMudmlld2VyLm1hdGVyaWFsTWFuYWdlci5vdmVycmlkZShbc2VnbWVudE9iamVjdF0sIG1hdGVyaWFsKTtcclxuXHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBjYXNlIEVkaXRTdHlsZVR5cGUudW5zZXRTdHlsZTpcclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImNsZWFyXCIpO1xyXG4gICAgICAgICAgICAgIHRoaXMudmlld2VyLm1hdGVyaWFsTWFuYWdlci5jbGVhck92ZXJyaWRlKFtzZWdtZW50T2JqZWN0XSk7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcclxuXHJcbiAgICAgICAgICAvLyBpZiAodGhpcy5fc3R5bGVDb2xvcikge1xyXG4gICAgICAgICAgLy8gICAgIG1hdGVyaWFsLnNldENvbG9yKHRoaXMuc3R5bGVDb2xvclswXSwgdGhpcy5zdHlsZUNvbG9yWzFdLCB0aGlzLnN0eWxlQ29sb3JbMl0sIHRoaXMuc3R5bGVDb2xvclszXSlcclxuICAgICAgICAgIC8vIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyAgICAgLy8gbWF0ZXJpYWwudW5zZXRDb2xvcigpO1xyXG4gICAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAgIC8vIGlmICh0aGlzLmltZ0Jsb2IpIHtcclxuICAgICAgICAgIC8vICAgICBtYXRlcmlhbC5zZXRJbWFnZSh0aGlzLmZpbGVOYW1lLCB0aGlzLmltZ0Jsb2IsIHRoaXMuaW1nV2lkdGgsIHRoaXMuaW1nSGVpZ2h0LCB0aGlzLmltZ1R5cGUpO1xyXG4gICAgICAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgICAgIC8vICAgICAvLyBtYXRlcmlhbC51bnNldEltYWdlKCk7XHJcbiAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgLy8gdGhpcy52aWV3ZXIubWF0ZXJpYWxNYW5hZ2VyLm92ZXJyaWRlKFtzZWdtZW50T2JqZWN0XSwgbWF0ZXJpYWwpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8g5ZCO5Y+w6LCD55So5L+u5pS55p2Q6LSo55qEQVBJXHJcbiAgICAgICAgbGV0IG1vZGVsSWQgPSBzZWdtZW50T2JqZWN0Lm1vZGVsSWQ7XHJcbiAgICAgICAgbGV0IHZlcnNpb24gPSAoXHJcbiAgICAgICAgICBzZWdtZW50T2JqZWN0Lm1vZGVsLnJlbmRlck9iamVjdCBhcyBMaWdodE1vZGVsIHwgUmVmZXJlbmNlTGlnaHRNb2RlbFxyXG4gICAgICAgICkudmVyc2lvbjtcclxuXHJcbiAgICAgICAgSURCLmdldEluc3RhbmNlKG1vZGVsSWQpLmRlbChtb2RlbElkICsgXCI/dj1cIiArIHZlcnNpb24pO1xyXG5cclxuICAgICAgICBsZXQgY29uZGl0aW9uID0gXCJcIjtcclxuXHJcbiAgICAgICAgc3dpdGNoICh0aGlzLmVkdGlUeXBlKSB7XHJcbiAgICAgICAgICBjYXNlIEVkaXRTdHlsZVR5cGUuQ29sb3I6XHJcbiAgICAgICAgICAgIHRoaXMuZWRpdFNlcnZlck1vZGVsQ29sb3IobW9kZWxJZCwgYXBpUGF0aCwgY29uZGl0aW9uLCBzdHlsZU5hbWUpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICBjYXNlIEVkaXRTdHlsZVR5cGUuSW1hZ2U6XHJcbiAgICAgICAgICAgIHRoaXMuZWRpdFNlcnZlck1vZGVsSW1hZ2UobW9kZWxJZCwgYXBpUGF0aCwgY29uZGl0aW9uLCBzdHlsZU5hbWUpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICBjYXNlIEVkaXRTdHlsZVR5cGUudW5zZXRTdHlsZTpcclxuICAgICAgICAgICAgaWYgKGV4aXN0U3R5bGVOYW1lKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5lZGl0U2VydmVyTW9kZWxVbnNldEltYWdlKFxyXG4gICAgICAgICAgICAgICAgbW9kZWxJZCxcclxuICAgICAgICAgICAgICAgIGFwaVBhdGgsXHJcbiAgICAgICAgICAgICAgICBjb25kaXRpb24sXHJcbiAgICAgICAgICAgICAgICBzdHlsZU5hbWVcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRQcmVTZWxlY3Rvci5jbGVhclByZVNlbGVjdCgpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwidGhpcy5jb21wb25lbnRQcmVTZWxlY3RvciBpcyBudWxsXCIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VhcmNoRXhpdGVkU3R5bGVOYW1lKFxyXG4gICAgc2VnbWVudE9iamVjdDogU2VnbWVudE9iamVjdCxcclxuICAgIHN0eWxlTmFtZTogc3RyaW5nXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGxldCByZXN1bHQ6IHN0cmluZyA9IG51bGw7XHJcbiAgICBpZiAoc2VnbWVudE9iamVjdC5zZWdtZW50LnN0eWxlcykge1xyXG4gICAgICBzZWdtZW50T2JqZWN0LnNlZ21lbnQuc3R5bGVzLml0ZW1zLmZvckVhY2goKHN0eWxlKSA9PiB7XHJcbiAgICAgICAgaWYgKHN0eWxlLnNlZ21lbnQubmFtZS5pbmRleE9mKHN0eWxlTmFtZSkgIT09IC0xKSB7XHJcbiAgICAgICAgICByZXN1bHQgPSBzdHlsZS5zZWdtZW50Lm5hbWU7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIuivpXNlZ21lbnRPYmplY3Tlt7Lnu4/mt7vliqDov4fkuoZzdHlsZTpcIiwgcmVzdWx0KTtcclxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGVkaXRTZXJ2ZXJNb2RlbENvbG9yKFxyXG4gICAgbW9kZWxJZDogc3RyaW5nLFxyXG4gICAgLy8gdmVyc2lvbjogbnVtYmVyLFxyXG4gICAgLy8gaWQ6IHN0cmluZyxcclxuICAgIGFwaVBhdGg6IHN0cmluZyxcclxuICAgIGNvbmRpdGlvbjogc3RyaW5nLFxyXG4gICAgc3R5bGVOYW1lOiBzdHJpbmdcclxuICApIHtcclxuICAgIGxldCBjb2xvciA9IHRoaXMuc3R5bGVDb2xvcjtcclxuXHJcbiAgICBsZXQgc2V0U3R5bGVPUFM7XHJcbiAgICBpZiAodGhpcy5zdHlsZUNvbG9yKSB7XHJcbiAgICAgIGxldCBjb2xvclN0ciA9XHJcbiAgICAgICAgXCJmYWNlcz0ocj1cIiArXHJcbiAgICAgICAgKGNvbG9yWzBdIC8gMjU1KS50b0ZpeGVkKDIpICtcclxuICAgICAgICBcIixnPVwiICtcclxuICAgICAgICAoY29sb3JbMV0gLyAyNTUpLnRvRml4ZWQoMikgK1xyXG4gICAgICAgIFwiLGI9XCIgK1xyXG4gICAgICAgIChjb2xvclsyXSAvIDI1NSkudG9GaXhlZCgyKSArXHJcbiAgICAgICAgXCIsYT1cIiArXHJcbiAgICAgICAgY29sb3JbM10gK1xyXG4gICAgICAgIFwiKVwiO1xyXG4gICAgICBzZXRTdHlsZU9QUyA9IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBvcDogXCJzZXRDb2xvclwiLFxyXG4gICAgICAgICAgY29uZGl0aW9uOiBjb25kaXRpb24sXHJcbiAgICAgICAgICB2YWx1ZTogY29sb3JTdHIsXHJcbiAgICAgICAgICBzdHlsZU5hbWU6IHN0eWxlTmFtZSxcclxuICAgICAgICB9LFxyXG4gICAgICBdO1xyXG5cclxuICAgICAgbGV0IGRhdGEgPSBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcGF0aDogYXBpUGF0aCxcclxuICAgICAgICAgIG9wczogc2V0U3R5bGVPUFMsXHJcbiAgICAgICAgfSxcclxuICAgICAgXTtcclxuICAgICAgbG9uZ2FuTW9kZWxBcGkuc2V0U3R5bGUobW9kZWxJZCwgZGF0YSk7XHJcbiAgICAgIC8vICAgLnRoZW4oKCkgPT4ge1xyXG4gICAgICAvLyAgICAgLy8gY29uc29sZS5sb2coXCItLS0tLS0tLS0tLS1cIiwgbW9kZWxJZCArIFwiP3Y9XCIgKyB2ZXJzaW9uICsgXCJfXCIgKyBpZCk7XHJcbiAgICAgIC8vICAgICBJREIuZ2V0SW5zdGFuY2UobW9kZWxJZCkuZGVsKG1vZGVsSWQgKyBcIj92PVwiICsgdmVyc2lvbiArIFwiX1wiICsgaWQpO1xyXG4gICAgICAvLyAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGVkaXRTZXJ2ZXJNb2RlbEltYWdlKFxyXG4gICAgbW9kZWxJZDogc3RyaW5nLFxyXG4gICAgYXBpUGF0aDogc3RyaW5nLFxyXG4gICAgY29uZGl0aW9uOiBzdHJpbmcsXHJcbiAgICBzdHlsZU5hbWU6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgbGV0IHNldFN0eWxlT1BTO1xyXG4gICAgaWYgKHRoaXMuaW1nQmxvYikge1xyXG4gICAgICBsZXQgaW1hZ2VCeXRlQXJyYXkgPSBuZXcgVWludDhBcnJheSh0aGlzLmltZ0Jsb2IpO1xyXG4gICAgICBsZXQgYnl0ZUFycmF5ID0gQXJyYXkuZnJvbShpbWFnZUJ5dGVBcnJheSk7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKGJ5dGVBcnJheSk7XHJcblxyXG4gICAgICBsZXQgb3B0aW9ucyA9XHJcbiAgICAgICAgXCJuYW1lPVwiICtcclxuICAgICAgICB0aGlzLmZpbGVOYW1lICtcclxuICAgICAgICBcIixmb3JtYXQ9XCIgK1xyXG4gICAgICAgIHRoaXMuaW1nVHlwZSArXHJcbiAgICAgICAgXCIsZGF0YSBzaXplPVwiICtcclxuICAgICAgICB0aGlzLmltZ0Jsb2IuYnl0ZUxlbmd0aCArXHJcbiAgICAgICAgXCIsbG9jYWxcIjtcclxuXHJcbiAgICAgIHNldFN0eWxlT1BTID0gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIG9wOiBcInNldEltYWdlXCIsXHJcbiAgICAgICAgICBjb25kaXRpb246IGNvbmRpdGlvbixcclxuICAgICAgICAgIHdpZHRoOiB0aGlzLmltZ1dpZHRoLFxyXG4gICAgICAgICAgaGVpZ2h0OiB0aGlzLmltZ0hlaWdodCxcclxuICAgICAgICAgIG5hbWU6IHRoaXMuZmlsZU5hbWUsXHJcbiAgICAgICAgICBkYXRhOiBieXRlQXJyYXksXHJcbiAgICAgICAgICBvcHRpb25zOiBvcHRpb25zLFxyXG4gICAgICAgICAgc3R5bGVOYW1lOiBzdHlsZU5hbWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgXTtcclxuXHJcbiAgICAgIGxldCBkYXRhID0gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHBhdGg6IGFwaVBhdGgsXHJcbiAgICAgICAgICBvcHM6IHNldFN0eWxlT1BTLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF07XHJcblxyXG4gICAgICBsb25nYW5Nb2RlbEFwaS5zZXRTdHlsZShtb2RlbElkLCBkYXRhKS50aGVuKCgpID0+IHtcclxuICAgICAgICAvLyBJREIuZ2V0SW5zdGFuY2UobW9kZWxJZCkuZGVsKG1vZGVsSWQgKyBcIj92PVwiICsgdmVyc2lvbiArIFwiX1wiICsgaWQpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBlZGl0U2VydmVyTW9kZWxVbnNldEltYWdlKFxyXG4gICAgbW9kZWxJZDogc3RyaW5nLFxyXG4gICAgLy8gdmVyc2lvbjogbnVtYmVyLFxyXG4gICAgLy8gaWQ6IHN0cmluZyxcclxuICAgIGFwaVBhdGg6IHN0cmluZyxcclxuICAgIGNvbmRpdGlvbjogc3RyaW5nLFxyXG4gICAgc3R5bGVOYW1lOiBzdHJpbmdcclxuICApIHtcclxuICAgIGxldCBzZXRTdHlsZU9QUztcclxuICAgIHNldFN0eWxlT1BTID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgb3A6IFwicmVtb3ZlXCIsXHJcbiAgICAgICAgY29uZGl0aW9uOiBjb25kaXRpb24sXHJcbiAgICAgICAgc3R5bGVOYW1lOiBzdHlsZU5hbWUsXHJcbiAgICAgIH0sXHJcbiAgICBdO1xyXG5cclxuICAgIGxldCBkYXRhID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgcGF0aDogYXBpUGF0aCxcclxuICAgICAgICBvcHM6IHNldFN0eWxlT1BTLFxyXG4gICAgICB9LFxyXG4gICAgXTtcclxuXHJcbiAgICBsb25nYW5Nb2RlbEFwaS5zZXRTdHlsZShtb2RlbElkLCBkYXRhKS50aGVuKCgpID0+IHtcclxuICAgICAgLy8gICBJREIuZ2V0SW5zdGFuY2UobW9kZWxJZCkuZGVsKG1vZGVsSWQgKyBcIj92PVwiICsgdmVyc2lvbiArIFwiX1wiICsgaWQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./packages/bimAir/src/viewerWrapper/commands/showEditStyle/commandShowEditStyle.ts\n");
|
|
5157
|
+
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.promise.js */ \"./node_modules/core-js/modules/es.promise.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.number.to-fixed.js */ \"./node_modules/core-js/modules/es.number.to-fixed.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.array-buffer.slice.js */ \"./node_modules/core-js/modules/es.array-buffer.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.uint8-array.js */ \"./node_modules/core-js/modules/es.typed-array.uint8-array.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.at.js */ \"./node_modules/core-js/modules/es.typed-array.at.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.copy-within.js */ \"./node_modules/core-js/modules/es.typed-array.copy-within.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.every.js */ \"./node_modules/core-js/modules/es.typed-array.every.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.fill.js */ \"./node_modules/core-js/modules/es.typed-array.fill.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.filter.js */ \"./node_modules/core-js/modules/es.typed-array.filter.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find.js */ \"./node_modules/core-js/modules/es.typed-array.find.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-last.js */ \"./node_modules/core-js/modules/es.typed-array.find-last.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-last-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-last-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.for-each.js */ \"./node_modules/core-js/modules/es.typed-array.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.includes.js */ \"./node_modules/core-js/modules/es.typed-array.includes.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.index-of.js */ \"./node_modules/core-js/modules/es.typed-array.index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.iterator.js */ \"./node_modules/core-js/modules/es.typed-array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.join.js */ \"./node_modules/core-js/modules/es.typed-array.join.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.last-index-of.js */ \"./node_modules/core-js/modules/es.typed-array.last-index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.map.js */ \"./node_modules/core-js/modules/es.typed-array.map.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce.js */ \"./node_modules/core-js/modules/es.typed-array.reduce.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce-right.js */ \"./node_modules/core-js/modules/es.typed-array.reduce-right.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reverse.js */ \"./node_modules/core-js/modules/es.typed-array.reverse.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.set.js */ \"./node_modules/core-js/modules/es.typed-array.set.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.slice.js */ \"./node_modules/core-js/modules/es.typed-array.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.some.js */ \"./node_modules/core-js/modules/es.typed-array.some.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.sort.js */ \"./node_modules/core-js/modules/es.typed-array.sort.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.subarray.js */ \"./node_modules/core-js/modules/es.typed-array.subarray.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-locale-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-locale-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.from.js */ \"./node_modules/core-js/modules/es.array.from.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! gs-longan/operators/cameraMouse */ \"./packages/longan/src/operators/cameraMouse.ts\"), __webpack_require__(/*! ../commandComponent */ \"./packages/bimAir/src/viewerWrapper/commands/commandComponent.ts\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! ../../../gsDevFx/operators/componentPreSelector */ \"./packages/bimAir/src/gsDevFx/operators/componentPreSelector.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/material */ \"./packages/bimAir/src/gsDevFx/objects/material.ts\"), __webpack_require__(/*! ../../../api/longanModelApi */ \"./packages/bimAir/src/api/longanModelApi.ts\"), __webpack_require__(/*! ../../../utils/uuid */ \"./packages/bimAir/src/utils/uuid.ts\"), __webpack_require__(/*! gs-longan/longan/idb */ \"./packages/longan/src/longan/idb.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, cameraMouse_1, commandComponent_1, Longan, componentPreSelector_1, material_1, longanModelApi_1, uuid_1, idb_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n exports.EditStyleType = void 0;\n Longan = tslib_1.__importStar(Longan);\n longanModelApi_1 = tslib_1.__importDefault(longanModelApi_1);\n uuid_1 = tslib_1.__importDefault(uuid_1);\n idb_1 = tslib_1.__importDefault(idb_1);\n var EditStyleType;\n\n (function (EditStyleType) {\n EditStyleType[EditStyleType[\"Color\"] = 0] = \"Color\";\n EditStyleType[EditStyleType[\"Image\"] = 1] = \"Image\";\n EditStyleType[EditStyleType[\"unsetStyle\"] = 2] = \"unsetStyle\";\n })(EditStyleType = exports.EditStyleType || (exports.EditStyleType = {}));\n\n var CommandShowEditStyle = function (_super) {\n tslib_1.__extends(CommandShowEditStyle, _super);\n\n function CommandShowEditStyle() {\n var _this = _super.call(this) || this;\n\n _this.edtiType = EditStyleType.Color;\n _this.typeName = \"CommandShowEditStyle\";\n _this.componentPreSelector = null;\n _this.fileName = \"\";\n _this.imgBlob = null;\n _this.imgWidth = 0;\n _this.imgHeight = 0;\n _this.imgType = \"jpg\";\n _this._updateType = null;\n return _this;\n }\n\n Object.defineProperty(CommandShowEditStyle.prototype, \"styleColor\", {\n get: function get() {\n return this._styleColor;\n },\n set: function set(color) {\n this._styleColor = color;\n },\n enumerable: false,\n configurable: true\n });\n\n CommandShowEditStyle.prototype.begin = function () {\n this.bindComponent = function () {\n return new Promise(function (resolve_1, reject_1) {\n Promise.resolve(/*! AMD require */).then(function() { var __WEBPACK_AMD_REQUIRE_ARRAY__ = [__webpack_require__(/*! ./showEditStyle.vue */ \"./packages/bimAir/src/viewerWrapper/commands/showEditStyle/showEditStyle.vue\")]; (resolve_1).apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__);}.bind(this))['catch'](reject_1.bind(this));\n }).then(tslib_1.__importStar);\n };\n\n longanModelApi_1.default.viewer = this.viewer;\n this._updateType = this.viewer.updateType;\n this.viewer.updateType = Longan.UpdateType.Synchronization;\n this.viewer.selectionManager.clearAllSelectionAndHighlight();\n this.viewer.updateDisplay();\n this.show();\n this.viewer.operatorManager.clear();\n this.viewer.operatorManager.add(new cameraMouse_1.CameraMouse());\n this.componentPreSelector = new componentPreSelector_1.ComponentPreSelector();\n this.viewer.operatorManager.add(this.componentPreSelector);\n this.addSetMaterialEvent();\n\n _super.prototype.begin.call(this);\n };\n\n CommandShowEditStyle.prototype.end = function () {\n this.viewer.operatorManager.clear();\n this.viewer.updateType = this._updateType;\n this.viewer.asynUpdateView();\n this.hide();\n\n _super.prototype.end.call(this);\n };\n\n CommandShowEditStyle.prototype.interrupt = function () {\n this.viewer.operatorManager.clear();\n\n _super.prototype.interrupt.call(this);\n };\n\n CommandShowEditStyle.prototype.restore = function () {\n this.viewer.operatorManager.clear();\n\n _super.prototype.restore.call(this);\n };\n\n CommandShowEditStyle.prototype.addSetMaterialEvent = function () {\n var _this = this;\n\n if (this.componentPreSelector) {\n this.componentPreSelector.lButtonDown.add(function () {\n var segmentObject = _this.componentPreSelector.preHighlightObject;\n\n if (!segmentObject) {\n return;\n }\n\n var treeNode = _this.viewer.structureTreeManager.getTreeNodeObjectByNodeKey(segmentObject.nodeKey);\n\n var apiPath = treeNode.apiPath;\n console.log(\"apiPath:\", apiPath);\n var guid = (0, uuid_1.default)();\n var preStyleName = \"style \" + segmentObject.name + \" \";\n var styleName = preStyleName + guid;\n\n var existStyleName = _this.searchExitedStyleName(segmentObject, preStyleName);\n\n if (existStyleName) {\n styleName = existStyleName;\n }\n\n if (_this._styleColor || _this.imgBlob) {\n var material = new material_1.Material(_this.viewer, styleName);\n\n switch (_this.edtiType) {\n case EditStyleType.Color:\n material.setColor(_this.styleColor[0], _this.styleColor[1], _this.styleColor[2], _this.styleColor[3]);\n\n _this.viewer.materialManager.override([segmentObject], material);\n\n break;\n\n case EditStyleType.Image:\n material.setImage(_this.fileName, _this.imgBlob, _this.imgWidth, _this.imgHeight, _this.imgType);\n\n _this.viewer.materialManager.override([segmentObject], material);\n\n break;\n\n case EditStyleType.unsetStyle:\n console.log(\"clear\");\n\n _this.viewer.materialManager.clearOverride([segmentObject]);\n\n break;\n\n default:\n break;\n }\n\n _this.viewer.updateDisplay();\n }\n\n var modelId = segmentObject.modelId;\n var version = segmentObject.model.renderObject.version;\n idb_1.default.getInstance(modelId).del(modelId + \"?v=\" + version);\n var condition = \"\";\n\n switch (_this.edtiType) {\n case EditStyleType.Color:\n _this.editServerModelColor(modelId, apiPath, condition, styleName);\n\n break;\n\n case EditStyleType.Image:\n _this.editServerModelImage(modelId, apiPath, condition, styleName);\n\n break;\n\n case EditStyleType.unsetStyle:\n if (existStyleName) {\n _this.editServerModelUnsetImage(modelId, apiPath, condition, styleName);\n }\n\n break;\n\n default:\n break;\n }\n\n _this.componentPreSelector.clearPreSelect();\n });\n } else {\n console.log(\"this.componentPreSelector is null\");\n }\n };\n\n CommandShowEditStyle.prototype.searchExitedStyleName = function (segmentObject, styleName) {\n var result = null;\n\n if (segmentObject.segment.styles) {\n segmentObject.segment.styles.items.forEach(function (style) {\n if (style.segment.name.indexOf(styleName) !== -1) {\n result = style.segment.name;\n console.log(\"该segmentObject已经添加过了style:\", result);\n return result;\n }\n });\n }\n\n return result;\n };\n\n CommandShowEditStyle.prototype.editServerModelColor = function (modelId, apiPath, condition, styleName) {\n var color = this.styleColor;\n var setStyleOPS;\n\n if (this.styleColor) {\n var colorStr = \"faces=(r=\" + (color[0] / 255).toFixed(2) + \",g=\" + (color[1] / 255).toFixed(2) + \",b=\" + (color[2] / 255).toFixed(2) + \",a=\" + color[3] + \")\";\n setStyleOPS = [{\n op: \"setColor\",\n condition: condition,\n value: colorStr,\n styleName: styleName\n }];\n var data = [{\n path: apiPath,\n ops: setStyleOPS\n }];\n longanModelApi_1.default.setStyle(modelId, data);\n }\n };\n\n CommandShowEditStyle.prototype.editServerModelImage = function (modelId, apiPath, condition, styleName) {\n var setStyleOPS;\n\n if (this.imgBlob) {\n var imageByteArray = new Uint8Array(this.imgBlob);\n var byteArray = Array.from(imageByteArray);\n var options = \"name=\" + this.fileName + \",format=\" + this.imgType + \",data size=\" + this.imgBlob.byteLength + \",local\";\n setStyleOPS = [{\n op: \"setImage\",\n condition: condition,\n width: this.imgWidth,\n height: this.imgHeight,\n name: this.fileName,\n data: byteArray,\n options: options,\n styleName: styleName\n }];\n var data = [{\n path: apiPath,\n ops: setStyleOPS\n }];\n longanModelApi_1.default.setStyle(modelId, data).then(function () {});\n }\n };\n\n CommandShowEditStyle.prototype.editServerModelUnsetImage = function (modelId, apiPath, condition, styleName) {\n var setStyleOPS;\n setStyleOPS = [{\n op: \"remove\",\n condition: condition,\n styleName: styleName\n }];\n var data = [{\n path: apiPath,\n ops: setStyleOPS\n }];\n longanModelApi_1.default.setStyle(modelId, data).then(function () {});\n };\n\n return CommandShowEditStyle;\n }(commandComponent_1.CommandComponent);\n\n exports[\"default\"] = CommandShowEditStyle;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9iaW1BaXIvc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvc2hvd0VkaXRTdHlsZS9jb21tYW5kU2hvd0VkaXRTdHlsZS50cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWFBOztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFBQTs7QUFnQkE7QUFBQTs7QUFmQTtBQUNBO0FBRUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7O0FBSUE7O0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFOQTs7QUFBQTs7QUFRQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBR0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFFQTs7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7O0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFDQTtBQUNBOztBQUVBO0FBQUE7O0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTs7QUFDQTs7QUFJQTtBQUNBO0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUlBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFNQTs7QUFFQTs7QUFFQTtBQUNBOztBQU9BOztBQUVBOztBQUVBO0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7QUFDQTtBQTlCQTs7QUFpQ0E7QUFlQTs7QUFHQTtBQUNBO0FBSUE7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBQ0E7O0FBRUE7QUFDQTs7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFNQTs7QUFDQTs7QUFFQTtBQUNBO0FBckJBOztBQXdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFJQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQVFBO0FBRUE7O0FBQ0E7QUFDQTtBQVVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQVFBO0FBRUE7QUFDQTtBQUZBO0FBS0E7QUFLQTtBQUNBOztBQUVBO0FBTUE7O0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFTQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFSQTtBQVlBO0FBRUE7QUFDQTtBQUZBO0FBTUE7QUFHQTtBQUNBOztBQUVBO0FBUUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUhBO0FBT0E7QUFFQTtBQUNBO0FBRkE7QUFNQTtBQUdBOztBQUNBO0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9iaW1saWdodC1wbGF0Zm9ybS8uL3BhY2thZ2VzL2JpbUFpci9zcmMvdmlld2VyV3JhcHBlci9jb21tYW5kcy9zaG93RWRpdFN0eWxlL2NvbW1hbmRTaG93RWRpdFN0eWxlLnRzPzhmMTgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVmZXJlbmNlTGlnaHRNb2RlbCB9IGZyb20gXCIuLy4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9yZWZlcmVuY2VMaWdodE1vZGVsXCI7XHJcbmltcG9ydCB7IENhbWVyYU1vdXNlIH0gZnJvbSBcImdzLWxvbmdhbi9vcGVyYXRvcnMvY2FtZXJhTW91c2VcIjtcclxuaW1wb3J0IHsgQ29tbWFuZENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21tYW5kQ29tcG9uZW50XCI7XHJcbmltcG9ydCAqIGFzIExvbmdhbiBmcm9tIFwiZ3MtbG9uZ2FuXCI7XHJcblxyXG5pbXBvcnQgeyBDb21wb25lbnRQcmVTZWxlY3RvciB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29wZXJhdG9ycy9jb21wb25lbnRQcmVTZWxlY3RvclwiO1xyXG5pbXBvcnQgeyBNYXRlcmlhbCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvbWF0ZXJpYWxcIjtcclxuaW1wb3J0IHsgTGlnaHRNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvbGlnaHRNb2RlbFwiO1xyXG5pbXBvcnQgbG9uZ2FuTW9kZWxBcGkgZnJvbSBcIi4uLy4uLy4uL2FwaS9sb25nYW5Nb2RlbEFwaVwiO1xyXG5pbXBvcnQgeyBTZWdtZW50T2JqZWN0IH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9zZWdtZW50T2JqZWN0XCI7XHJcbmltcG9ydCB1dWlkIGZyb20gXCIuLi8uLi8uLi91dGlscy91dWlkXCI7XHJcbmltcG9ydCBJREIgZnJvbSBcImdzLWxvbmdhbi9sb25nYW4vaWRiXCI7XHJcblxyXG5leHBvcnQgZW51bSBFZGl0U3R5bGVUeXBlIHtcclxuICBDb2xvcixcclxuICBJbWFnZSxcclxuICB1bnNldFN0eWxlLFxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbW1hbmRTaG93RWRpdFN0eWxlIGV4dGVuZHMgQ29tbWFuZENvbXBvbmVudCB7XHJcbiAgZWR0aVR5cGU6IEVkaXRTdHlsZVR5cGUgPSBFZGl0U3R5bGVUeXBlLkNvbG9yO1xyXG4gIHR5cGVOYW1lID0gXCJDb21tYW5kU2hvd0VkaXRTdHlsZVwiO1xyXG5cclxuICBjb21wb25lbnRQcmVTZWxlY3RvcjogQ29tcG9uZW50UHJlU2VsZWN0b3IgPSBudWxsO1xyXG5cclxuICBwcml2YXRlIF9zdHlsZUNvbG9yOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcclxuXHJcbiAgcHVibGljIGZpbGVOYW1lOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyBpbWdCbG9iOiBBcnJheUJ1ZmZlciA9IG51bGw7XHJcbiAgcHVibGljIGltZ1dpZHRoOiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBpbWdIZWlnaHQ6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIGltZ1R5cGUgPSBcImpwZ1wiO1xyXG5cclxuICBfdXBkYXRlVHlwZSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIGdldCBzdHlsZUNvbG9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N0eWxlQ29sb3I7XHJcbiAgfVxyXG5cclxuICBzZXQgc3R5bGVDb2xvcihjb2xvcikge1xyXG4gICAgdGhpcy5fc3R5bGVDb2xvciA9IGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgYmVnaW4oKSB7XHJcbiAgICB0aGlzLmJpbmRDb21wb25lbnQgPSAoKSA9PiBpbXBvcnQoXCIuL3Nob3dFZGl0U3R5bGUudnVlXCIpO1xyXG5cclxuICAgIC8vIOaOpeWPo+WKoOWJjee8gOS4unZpZXdlci5vcHRpb25zLm1vZGVsU2VydmljZVxyXG4gICAgbG9uZ2FuTW9kZWxBcGkudmlld2VyID0gdGhpcy52aWV3ZXI7XHJcblxyXG4gICAgdGhpcy5fdXBkYXRlVHlwZSA9IHRoaXMudmlld2VyLnVwZGF0ZVR5cGU7XHJcbiAgICB0aGlzLnZpZXdlci51cGRhdGVUeXBlID0gTG9uZ2FuLlVwZGF0ZVR5cGUuU3luY2hyb25pemF0aW9uO1xyXG5cclxuICAgIHRoaXMudmlld2VyLnNlbGVjdGlvbk1hbmFnZXIuY2xlYXJBbGxTZWxlY3Rpb25BbmRIaWdobGlnaHQoKTtcclxuICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcclxuXHJcbiAgICB0aGlzLnNob3coKTtcclxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5jbGVhcigpO1xyXG5cclxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5hZGQobmV3IENhbWVyYU1vdXNlKCkpO1xyXG5cclxuICAgIHRoaXMuY29tcG9uZW50UHJlU2VsZWN0b3IgPSBuZXcgQ29tcG9uZW50UHJlU2VsZWN0b3IoKTtcclxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5hZGQodGhpcy5jb21wb25lbnRQcmVTZWxlY3Rvcik7XHJcblxyXG4gICAgdGhpcy5hZGRTZXRNYXRlcmlhbEV2ZW50KCk7XHJcbiAgICBzdXBlci5iZWdpbigpO1xyXG4gIH1cclxuXHJcbiAgZW5kKCkge1xyXG4gICAgdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmNsZWFyKCk7XHJcbiAgICB0aGlzLnZpZXdlci51cGRhdGVUeXBlID0gdGhpcy5fdXBkYXRlVHlwZTtcclxuICAgIHRoaXMudmlld2VyLmFzeW5VcGRhdGVWaWV3KCk7XHJcbiAgICAvLyB0aGlzLnZpZXdlci51cGRhdGVEaXNwbGF5KCk7XHJcbiAgICB0aGlzLmhpZGUoKTtcclxuICAgIHN1cGVyLmVuZCgpO1xyXG4gIH1cclxuXHJcbiAgaW50ZXJydXB0KCkge1xyXG4gICAgdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmNsZWFyKCk7XHJcbiAgICBzdXBlci5pbnRlcnJ1cHQoKTtcclxuICB9XHJcblxyXG4gIHJlc3RvcmUoKSB7XHJcbiAgICB0aGlzLnZpZXdlci5vcGVyYXRvck1hbmFnZXIuY2xlYXIoKTtcclxuICAgIHN1cGVyLnJlc3RvcmUoKTtcclxuICB9XHJcblxyXG4gIGFkZFNldE1hdGVyaWFsRXZlbnQoKSB7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnRQcmVTZWxlY3Rvcikge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFByZVNlbGVjdG9yLmxCdXR0b25Eb3duLmFkZCgoKSA9PiB7XHJcbiAgICAgICAgbGV0IHNlZ21lbnRPYmplY3QgPSB0aGlzLmNvbXBvbmVudFByZVNlbGVjdG9yLnByZUhpZ2hsaWdodE9iamVjdDtcclxuICAgICAgICBpZiAoIXNlZ21lbnRPYmplY3QpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHRyZWVOb2RlID1cclxuICAgICAgICAgIHRoaXMudmlld2VyLnN0cnVjdHVyZVRyZWVNYW5hZ2VyLmdldFRyZWVOb2RlT2JqZWN0QnlOb2RlS2V5KFxyXG4gICAgICAgICAgICBzZWdtZW50T2JqZWN0Lm5vZGVLZXlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgbGV0IGFwaVBhdGggPSB0cmVlTm9kZS5hcGlQYXRoO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiYXBpUGF0aDpcIiwgYXBpUGF0aCk7XHJcblxyXG4gICAgICAgIGxldCBndWlkID0gdXVpZCgpO1xyXG4gICAgICAgIGxldCBwcmVTdHlsZU5hbWUgPSBcInN0eWxlIFwiICsgc2VnbWVudE9iamVjdC5uYW1lICsgXCIgXCI7XHJcbiAgICAgICAgbGV0IHN0eWxlTmFtZSA9IHByZVN0eWxlTmFtZSArIGd1aWQ7XHJcbiAgICAgICAgLy8g6K+lc2VnbWVudE9iamVjdOaYr+WQpuW3sue7j+a3u+WKoOi/h3N0eWxlLlxyXG4gICAgICAgIGxldCBleGlzdFN0eWxlTmFtZSA9IHRoaXMuc2VhcmNoRXhpdGVkU3R5bGVOYW1lKFxyXG4gICAgICAgICAgc2VnbWVudE9iamVjdCxcclxuICAgICAgICAgIHByZVN0eWxlTmFtZVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgaWYgKGV4aXN0U3R5bGVOYW1lKSB7XHJcbiAgICAgICAgICBzdHlsZU5hbWUgPSBleGlzdFN0eWxlTmFtZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIOagueaNrmNvbG9yLGltYWdl5pWw5o2u5Yib5bu6bWF0ZXJpYWwuXHJcbiAgICAgICAgaWYgKHRoaXMuX3N0eWxlQ29sb3IgfHwgdGhpcy5pbWdCbG9iKSB7XHJcbiAgICAgICAgICBsZXQgbWF0ZXJpYWwgPSBuZXcgTWF0ZXJpYWwodGhpcy52aWV3ZXIsIHN0eWxlTmFtZSk7XHJcblxyXG4gICAgICAgICAgc3dpdGNoICh0aGlzLmVkdGlUeXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgRWRpdFN0eWxlVHlwZS5Db2xvcjpcclxuICAgICAgICAgICAgICBtYXRlcmlhbC5zZXRDb2xvcihcclxuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVDb2xvclswXSxcclxuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVDb2xvclsxXSxcclxuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVDb2xvclsyXSxcclxuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVDb2xvclszXVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgdGhpcy52aWV3ZXIubWF0ZXJpYWxNYW5hZ2VyLm92ZXJyaWRlKFtzZWdtZW50T2JqZWN0XSwgbWF0ZXJpYWwpO1xyXG5cclxuICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNhc2UgRWRpdFN0eWxlVHlwZS5JbWFnZTpcclxuICAgICAgICAgICAgICBtYXRlcmlhbC5zZXRJbWFnZShcclxuICAgICAgICAgICAgICAgIHRoaXMuZmlsZU5hbWUsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmltZ0Jsb2IsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmltZ1dpZHRoLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5pbWdIZWlnaHQsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmltZ1R5cGVcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIHRoaXMudmlld2VyLm1hdGVyaWFsTWFuYWdlci5vdmVycmlkZShbc2VnbWVudE9iamVjdF0sIG1hdGVyaWFsKTtcclxuXHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBjYXNlIEVkaXRTdHlsZVR5cGUudW5zZXRTdHlsZTpcclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImNsZWFyXCIpO1xyXG4gICAgICAgICAgICAgIHRoaXMudmlld2VyLm1hdGVyaWFsTWFuYWdlci5jbGVhck92ZXJyaWRlKFtzZWdtZW50T2JqZWN0XSk7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMudmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcclxuXHJcbiAgICAgICAgICAvLyBpZiAodGhpcy5fc3R5bGVDb2xvcikge1xyXG4gICAgICAgICAgLy8gICAgIG1hdGVyaWFsLnNldENvbG9yKHRoaXMuc3R5bGVDb2xvclswXSwgdGhpcy5zdHlsZUNvbG9yWzFdLCB0aGlzLnN0eWxlQ29sb3JbMl0sIHRoaXMuc3R5bGVDb2xvclszXSlcclxuICAgICAgICAgIC8vIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyAgICAgLy8gbWF0ZXJpYWwudW5zZXRDb2xvcigpO1xyXG4gICAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAgIC8vIGlmICh0aGlzLmltZ0Jsb2IpIHtcclxuICAgICAgICAgIC8vICAgICBtYXRlcmlhbC5zZXRJbWFnZSh0aGlzLmZpbGVOYW1lLCB0aGlzLmltZ0Jsb2IsIHRoaXMuaW1nV2lkdGgsIHRoaXMuaW1nSGVpZ2h0LCB0aGlzLmltZ1R5cGUpO1xyXG4gICAgICAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgICAgIC8vICAgICAvLyBtYXRlcmlhbC51bnNldEltYWdlKCk7XHJcbiAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgLy8gdGhpcy52aWV3ZXIubWF0ZXJpYWxNYW5hZ2VyLm92ZXJyaWRlKFtzZWdtZW50T2JqZWN0XSwgbWF0ZXJpYWwpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8g5ZCO5Y+w6LCD55So5L+u5pS55p2Q6LSo55qEQVBJXHJcbiAgICAgICAgbGV0IG1vZGVsSWQgPSBzZWdtZW50T2JqZWN0Lm1vZGVsSWQ7XHJcbiAgICAgICAgbGV0IHZlcnNpb24gPSAoXHJcbiAgICAgICAgICBzZWdtZW50T2JqZWN0Lm1vZGVsLnJlbmRlck9iamVjdCBhcyBMaWdodE1vZGVsIHwgUmVmZXJlbmNlTGlnaHRNb2RlbFxyXG4gICAgICAgICkudmVyc2lvbjtcclxuXHJcbiAgICAgICAgSURCLmdldEluc3RhbmNlKG1vZGVsSWQpLmRlbChtb2RlbElkICsgXCI/dj1cIiArIHZlcnNpb24pO1xyXG5cclxuICAgICAgICBsZXQgY29uZGl0aW9uID0gXCJcIjtcclxuXHJcbiAgICAgICAgc3dpdGNoICh0aGlzLmVkdGlUeXBlKSB7XHJcbiAgICAgICAgICBjYXNlIEVkaXRTdHlsZVR5cGUuQ29sb3I6XHJcbiAgICAgICAgICAgIHRoaXMuZWRpdFNlcnZlck1vZGVsQ29sb3IobW9kZWxJZCwgYXBpUGF0aCwgY29uZGl0aW9uLCBzdHlsZU5hbWUpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICBjYXNlIEVkaXRTdHlsZVR5cGUuSW1hZ2U6XHJcbiAgICAgICAgICAgIHRoaXMuZWRpdFNlcnZlck1vZGVsSW1hZ2UobW9kZWxJZCwgYXBpUGF0aCwgY29uZGl0aW9uLCBzdHlsZU5hbWUpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICBjYXNlIEVkaXRTdHlsZVR5cGUudW5zZXRTdHlsZTpcclxuICAgICAgICAgICAgaWYgKGV4aXN0U3R5bGVOYW1lKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5lZGl0U2VydmVyTW9kZWxVbnNldEltYWdlKFxyXG4gICAgICAgICAgICAgICAgbW9kZWxJZCxcclxuICAgICAgICAgICAgICAgIGFwaVBhdGgsXHJcbiAgICAgICAgICAgICAgICBjb25kaXRpb24sXHJcbiAgICAgICAgICAgICAgICBzdHlsZU5hbWVcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRQcmVTZWxlY3Rvci5jbGVhclByZVNlbGVjdCgpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwidGhpcy5jb21wb25lbnRQcmVTZWxlY3RvciBpcyBudWxsXCIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VhcmNoRXhpdGVkU3R5bGVOYW1lKFxyXG4gICAgc2VnbWVudE9iamVjdDogU2VnbWVudE9iamVjdCxcclxuICAgIHN0eWxlTmFtZTogc3RyaW5nXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGxldCByZXN1bHQ6IHN0cmluZyA9IG51bGw7XHJcbiAgICBpZiAoc2VnbWVudE9iamVjdC5zZWdtZW50LnN0eWxlcykge1xyXG4gICAgICBzZWdtZW50T2JqZWN0LnNlZ21lbnQuc3R5bGVzLml0ZW1zLmZvckVhY2goKHN0eWxlKSA9PiB7XHJcbiAgICAgICAgaWYgKHN0eWxlLnNlZ21lbnQubmFtZS5pbmRleE9mKHN0eWxlTmFtZSkgIT09IC0xKSB7XHJcbiAgICAgICAgICByZXN1bHQgPSBzdHlsZS5zZWdtZW50Lm5hbWU7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIuivpXNlZ21lbnRPYmplY3Tlt7Lnu4/mt7vliqDov4fkuoZzdHlsZTpcIiwgcmVzdWx0KTtcclxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGVkaXRTZXJ2ZXJNb2RlbENvbG9yKFxyXG4gICAgbW9kZWxJZDogc3RyaW5nLFxyXG4gICAgLy8gdmVyc2lvbjogbnVtYmVyLFxyXG4gICAgLy8gaWQ6IHN0cmluZyxcclxuICAgIGFwaVBhdGg6IHN0cmluZyxcclxuICAgIGNvbmRpdGlvbjogc3RyaW5nLFxyXG4gICAgc3R5bGVOYW1lOiBzdHJpbmdcclxuICApIHtcclxuICAgIGxldCBjb2xvciA9IHRoaXMuc3R5bGVDb2xvcjtcclxuXHJcbiAgICBsZXQgc2V0U3R5bGVPUFM7XHJcbiAgICBpZiAodGhpcy5zdHlsZUNvbG9yKSB7XHJcbiAgICAgIGxldCBjb2xvclN0ciA9XHJcbiAgICAgICAgXCJmYWNlcz0ocj1cIiArXHJcbiAgICAgICAgKGNvbG9yWzBdIC8gMjU1KS50b0ZpeGVkKDIpICtcclxuICAgICAgICBcIixnPVwiICtcclxuICAgICAgICAoY29sb3JbMV0gLyAyNTUpLnRvRml4ZWQoMikgK1xyXG4gICAgICAgIFwiLGI9XCIgK1xyXG4gICAgICAgIChjb2xvclsyXSAvIDI1NSkudG9GaXhlZCgyKSArXHJcbiAgICAgICAgXCIsYT1cIiArXHJcbiAgICAgICAgY29sb3JbM10gK1xyXG4gICAgICAgIFwiKVwiO1xyXG4gICAgICBzZXRTdHlsZU9QUyA9IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBvcDogXCJzZXRDb2xvclwiLFxyXG4gICAgICAgICAgY29uZGl0aW9uOiBjb25kaXRpb24sXHJcbiAgICAgICAgICB2YWx1ZTogY29sb3JTdHIsXHJcbiAgICAgICAgICBzdHlsZU5hbWU6IHN0eWxlTmFtZSxcclxuICAgICAgICB9LFxyXG4gICAgICBdO1xyXG5cclxuICAgICAgbGV0IGRhdGEgPSBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcGF0aDogYXBpUGF0aCxcclxuICAgICAgICAgIG9wczogc2V0U3R5bGVPUFMsXHJcbiAgICAgICAgfSxcclxuICAgICAgXTtcclxuICAgICAgbG9uZ2FuTW9kZWxBcGkuc2V0U3R5bGUobW9kZWxJZCwgZGF0YSk7XHJcbiAgICAgIC8vICAgLnRoZW4oKCkgPT4ge1xyXG4gICAgICAvLyAgICAgLy8gY29uc29sZS5sb2coXCItLS0tLS0tLS0tLS1cIiwgbW9kZWxJZCArIFwiP3Y9XCIgKyB2ZXJzaW9uICsgXCJfXCIgKyBpZCk7XHJcbiAgICAgIC8vICAgICBJREIuZ2V0SW5zdGFuY2UobW9kZWxJZCkuZGVsKG1vZGVsSWQgKyBcIj92PVwiICsgdmVyc2lvbiArIFwiX1wiICsgaWQpO1xyXG4gICAgICAvLyAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGVkaXRTZXJ2ZXJNb2RlbEltYWdlKFxyXG4gICAgbW9kZWxJZDogc3RyaW5nLFxyXG4gICAgYXBpUGF0aDogc3RyaW5nLFxyXG4gICAgY29uZGl0aW9uOiBzdHJpbmcsXHJcbiAgICBzdHlsZU5hbWU6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgbGV0IHNldFN0eWxlT1BTO1xyXG4gICAgaWYgKHRoaXMuaW1nQmxvYikge1xyXG4gICAgICBsZXQgaW1hZ2VCeXRlQXJyYXkgPSBuZXcgVWludDhBcnJheSh0aGlzLmltZ0Jsb2IpO1xyXG4gICAgICBsZXQgYnl0ZUFycmF5ID0gQXJyYXkuZnJvbShpbWFnZUJ5dGVBcnJheSk7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKGJ5dGVBcnJheSk7XHJcblxyXG4gICAgICBsZXQgb3B0aW9ucyA9XHJcbiAgICAgICAgXCJuYW1lPVwiICtcclxuICAgICAgICB0aGlzLmZpbGVOYW1lICtcclxuICAgICAgICBcIixmb3JtYXQ9XCIgK1xyXG4gICAgICAgIHRoaXMuaW1nVHlwZSArXHJcbiAgICAgICAgXCIsZGF0YSBzaXplPVwiICtcclxuICAgICAgICB0aGlzLmltZ0Jsb2IuYnl0ZUxlbmd0aCArXHJcbiAgICAgICAgXCIsbG9jYWxcIjtcclxuXHJcbiAgICAgIHNldFN0eWxlT1BTID0gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIG9wOiBcInNldEltYWdlXCIsXHJcbiAgICAgICAgICBjb25kaXRpb246IGNvbmRpdGlvbixcclxuICAgICAgICAgIHdpZHRoOiB0aGlzLmltZ1dpZHRoLFxyXG4gICAgICAgICAgaGVpZ2h0OiB0aGlzLmltZ0hlaWdodCxcclxuICAgICAgICAgIG5hbWU6IHRoaXMuZmlsZU5hbWUsXHJcbiAgICAgICAgICBkYXRhOiBieXRlQXJyYXksXHJcbiAgICAgICAgICBvcHRpb25zOiBvcHRpb25zLFxyXG4gICAgICAgICAgc3R5bGVOYW1lOiBzdHlsZU5hbWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgXTtcclxuXHJcbiAgICAgIGxldCBkYXRhID0gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHBhdGg6IGFwaVBhdGgsXHJcbiAgICAgICAgICBvcHM6IHNldFN0eWxlT1BTLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF07XHJcblxyXG4gICAgICBsb25nYW5Nb2RlbEFwaS5zZXRTdHlsZShtb2RlbElkLCBkYXRhKS50aGVuKCgpID0+IHtcclxuICAgICAgICAvLyBJREIuZ2V0SW5zdGFuY2UobW9kZWxJZCkuZGVsKG1vZGVsSWQgKyBcIj92PVwiICsgdmVyc2lvbiArIFwiX1wiICsgaWQpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBlZGl0U2VydmVyTW9kZWxVbnNldEltYWdlKFxyXG4gICAgbW9kZWxJZDogc3RyaW5nLFxyXG4gICAgLy8gdmVyc2lvbjogbnVtYmVyLFxyXG4gICAgLy8gaWQ6IHN0cmluZyxcclxuICAgIGFwaVBhdGg6IHN0cmluZyxcclxuICAgIGNvbmRpdGlvbjogc3RyaW5nLFxyXG4gICAgc3R5bGVOYW1lOiBzdHJpbmdcclxuICApIHtcclxuICAgIGxldCBzZXRTdHlsZU9QUztcclxuICAgIHNldFN0eWxlT1BTID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgb3A6IFwicmVtb3ZlXCIsXHJcbiAgICAgICAgY29uZGl0aW9uOiBjb25kaXRpb24sXHJcbiAgICAgICAgc3R5bGVOYW1lOiBzdHlsZU5hbWUsXHJcbiAgICAgIH0sXHJcbiAgICBdO1xyXG5cclxuICAgIGxldCBkYXRhID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgcGF0aDogYXBpUGF0aCxcclxuICAgICAgICBvcHM6IHNldFN0eWxlT1BTLFxyXG4gICAgICB9LFxyXG4gICAgXTtcclxuXHJcbiAgICBsb25nYW5Nb2RlbEFwaS5zZXRTdHlsZShtb2RlbElkLCBkYXRhKS50aGVuKCgpID0+IHtcclxuICAgICAgLy8gICBJREIuZ2V0SW5zdGFuY2UobW9kZWxJZCkuZGVsKG1vZGVsSWQgKyBcIj92PVwiICsgdmVyc2lvbiArIFwiX1wiICsgaWQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./packages/bimAir/src/viewerWrapper/commands/showEditStyle/commandShowEditStyle.ts\n");
|
|
5158
5158
|
|
|
5159
5159
|
/***/ }),
|
|
5160
5160
|
|
|
@@ -5304,7 +5304,7 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPAC
|
|
|
5304
5304
|
\****************************************************************************************/
|
|
5305
5305
|
/***/ (function(module, exports, __webpack_require__) {
|
|
5306
5306
|
|
|
5307
|
-
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.promise.js */ \"./node_modules/core-js/modules/es.promise.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.splice.js */ \"./node_modules/core-js/modules/es.array.splice.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.array-buffer.slice.js */ \"./node_modules/core-js/modules/es.array-buffer.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.float64-array.js */ \"./node_modules/core-js/modules/es.typed-array.float64-array.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.at.js */ \"./node_modules/core-js/modules/es.typed-array.at.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.copy-within.js */ \"./node_modules/core-js/modules/es.typed-array.copy-within.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.every.js */ \"./node_modules/core-js/modules/es.typed-array.every.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.fill.js */ \"./node_modules/core-js/modules/es.typed-array.fill.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.filter.js */ \"./node_modules/core-js/modules/es.typed-array.filter.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find.js */ \"./node_modules/core-js/modules/es.typed-array.find.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-last.js */ \"./node_modules/core-js/modules/es.typed-array.find-last.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-last-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-last-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.for-each.js */ \"./node_modules/core-js/modules/es.typed-array.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.includes.js */ \"./node_modules/core-js/modules/es.typed-array.includes.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.index-of.js */ \"./node_modules/core-js/modules/es.typed-array.index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.iterator.js */ \"./node_modules/core-js/modules/es.typed-array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.join.js */ \"./node_modules/core-js/modules/es.typed-array.join.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.last-index-of.js */ \"./node_modules/core-js/modules/es.typed-array.last-index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.map.js */ \"./node_modules/core-js/modules/es.typed-array.map.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce.js */ \"./node_modules/core-js/modules/es.typed-array.reduce.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce-right.js */ \"./node_modules/core-js/modules/es.typed-array.reduce-right.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reverse.js */ \"./node_modules/core-js/modules/es.typed-array.reverse.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.set.js */ \"./node_modules/core-js/modules/es.typed-array.set.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.slice.js */ \"./node_modules/core-js/modules/es.typed-array.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.some.js */ \"./node_modules/core-js/modules/es.typed-array.some.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.sort.js */ \"./node_modules/core-js/modules/es.typed-array.sort.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.subarray.js */ \"./node_modules/core-js/modules/es.typed-array.subarray.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-locale-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-locale-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ../../../api/renderObjectService */ \"./packages/bimAir/src/api/renderObjectService.ts\"), __webpack_require__(/*! ../commandComponent */ \"./packages/bimAir/src/viewerWrapper/commands/commandComponent.ts\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/roamObjects */ \"./packages/bimAir/src/gsDevFx/objects/roamObjects.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/roamObject */ \"./packages/bimAir/src/gsDevFx/objects/roamObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/operators/pathRoamOperator */ \"./packages/bimAir/src/gsDevFx/operators/pathRoamOperator.ts\"), __webpack_require__(/*! ../../../utils/utility */ \"./packages/bimAir/src/utils/utility.ts\"), __webpack_require__(/*! ../../module/getRelatedIds */ \"./packages/bimAir/src/viewerWrapper/module/getRelatedIds.ts\"), __webpack_require__(/*! element-ui */ \"./node_modules/element-ui/lib/element-ui.common.js\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, renderObjectService_1, commandComponent_1, Longan, roamObjects_1, roamObject_1, pathRoamOperator_1, utility_1, getRelatedIds_1, element_ui_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n renderObjectService_1 = tslib_1.__importDefault(renderObjectService_1);\n Longan = tslib_1.__importStar(Longan);\n getRelatedIds_1 = tslib_1.__importDefault(getRelatedIds_1);\n\n var CommandShowPathRoam = function (_super) {\n tslib_1.__extends(CommandShowPathRoam, _super);\n\n function CommandShowPathRoam() {\n var _this = _super.call(this) || this;\n\n _this.typeName = \"CommandShowPathRoam\";\n _this.roamPlaying = false;\n _this.sphereRadius = 5;\n _this.targetsRadius = 3;\n _this.activeRoamIndex = -1;\n _this.animeId = null;\n _this.pathRoam = null;\n return _this;\n }\n\n CommandShowPathRoam.prototype.begin = function () {\n this.bindComponent = function () {\n return new Promise(function (resolve_1, reject_1) {\n Promise.resolve(/*! AMD require */).then(function() { var __WEBPACK_AMD_REQUIRE_ARRAY__ = [__webpack_require__(/*! ./showPathRoam.vue */ \"./packages/bimAir/src/viewerWrapper/commands/showPathRoam/showPathRoam.vue\")]; (resolve_1).apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__);}.bind(this))['catch'](reject_1.bind(this));\n }).then(tslib_1.__importStar);\n };\n\n this.pathRoam = this.viewer.process.animationManager.pathRoam;\n this.viewer.operatorManager.clear();\n this.show();\n this.getRoamObjects();\n this.viewer.operatorManager.add(new Longan.CameraMouse());\n this.viewer.operatorManager.add(new pathRoamOperator_1.PathRoamOperator());\n };\n\n CommandShowPathRoam.prototype.end = function () {\n this.clearCurved(this.viewer);\n this.viewer.process.animationManager.renderList.remove(\"pathRoam\");\n var ids = [];\n this.viewer.process.animationManager.renderList.forEach(function (item) {\n if (item.indexOf(\"roamPath\") > -1) {\n ids.push(item);\n }\n });\n\n for (var i = 0; i < ids.length; i++) {\n this.viewer.process.animationManager.renderList.remove(ids[i]);\n }\n\n this.viewer.process.animationManager.renderList.remove(this.animeId);\n\n if (this.viewer.process.animationManager.renderList.count() === 0) {\n this.viewer.process.animationManager.stop();\n }\n\n this.hide();\n };\n\n CommandShowPathRoam.prototype.getRoamObjects = function () {\n var _this = this;\n\n var renderObject = this.viewer.process.renderObject;\n var ids = (0, getRelatedIds_1.default)(this.viewer);\n this.roamObjects = this.viewer.process.findRenderObjectByType(\"RoamObjects\");\n\n if (!this.roamObjects) {\n this.roamObjects = new roamObjects_1.RoamObjects();\n this.viewer.process.addRenderObject(renderObject, this.roamObjects);\n }\n\n renderObjectService_1.default.getRenderObjectsRelated(\"RoamObject\", ids, this.viewer.options.tag).then(function (data) {\n if (data) {\n _this.roamPaths = data;\n\n _this.generateRoamObjects();\n\n data.forEach(function (item) {\n var roamObject = new roamObject_1.RoamObject();\n roamObject.deserialize(item);\n\n _this.viewer.process.addRenderObject(_this.roamObjects, roamObject);\n });\n }\n });\n };\n\n CommandShowPathRoam.prototype.generateRoamObjects = function () {\n var roamListForUI = [];\n\n if (this.roamPaths) {\n for (var i = 0; i < this.roamPaths.length; i++) {\n var data = this.roamPaths[i];\n roamListForUI.push(data);\n }\n\n this.commandData = roamListForUI;\n }\n };\n\n CommandShowPathRoam.prototype.addRoamPath = function (roamPathIndex) {\n var _this = this;\n\n var roamObject = new roamObject_1.RoamObject();\n var ids = (0, getRelatedIds_1.default)(this.viewer);\n roamObject.related = ids;\n roamObject.name = \"路径\" + roamPathIndex;\n roamObject.time = 20;\n roamObject.points = [];\n roamObject.targets = [];\n return renderObjectService_1.default.createRenderObject(\"\", roamObject.serialize(), this.viewer.options.tag).then(function (data) {\n if (data) {\n roamObject.deserialize(data);\n\n _this.roamPaths.push(data);\n\n _this.viewer.process.addRenderObject(_this.roamObjects, roamObject);\n\n _this.generateRoamObjects();\n\n return data;\n }\n\n return false;\n });\n };\n\n CommandShowPathRoam.prototype.deleteRoamPath = function (roamPathIndex) {\n var _this = this;\n\n renderObjectService_1.default.item.deleteRenderObject(this.roamPaths[roamPathIndex].id).then(function () {\n _this.roamPaths.splice(roamPathIndex, 1);\n\n _this.generateRoamObjects();\n });\n };\n\n CommandShowPathRoam.prototype.deleteAllRoamPath = function () {\n var _this = this;\n\n var ids = [];\n this.roamPaths.forEach(function (item) {\n ids.push(item.id);\n });\n renderObjectService_1.default.deleteRenderObjects(ids).then(function () {\n _this.roamPaths = [];\n\n _this.generateRoamObjects();\n });\n this.clearCurved(this.viewer);\n };\n\n CommandShowPathRoam.prototype.addRoamPoint = function (roamPathIndex) {\n var camera = this.viewer.sceneSegment.camera;\n var pos = camera.position;\n var tar = camera.target;\n this.roamPaths[roamPathIndex].points.push(pos);\n this.roamPaths[roamPathIndex].targets.push(tar);\n this.editRenderObject(roamPathIndex);\n this.drawCurved(this.viewer, roamPathIndex);\n };\n\n CommandShowPathRoam.prototype.deleteRoamPoint = function (roamPathIndex, roamPointIndex) {\n this.roamPaths[roamPathIndex].points.splice(roamPointIndex, 1);\n this.roamPaths[roamPathIndex].targets.splice(roamPointIndex, 1);\n this.editRenderObject(roamPathIndex);\n this.drawCurved(this.viewer, roamPathIndex);\n };\n\n CommandShowPathRoam.prototype.deleteAllRoamPoint = function (roamPathIndex) {\n this.roamPaths[roamPathIndex].points = [];\n this.roamPaths[roamPathIndex].targets = [];\n this.editRenderObject(roamPathIndex);\n this.clearCurved(this.viewer);\n };\n\n CommandShowPathRoam.prototype.editRenderObject = function (roamPathIndex) {\n var _this = this;\n\n var obj = this.roamPaths[roamPathIndex];\n var ro = new roamObject_1.RoamObject();\n ro.deserialize(obj);\n renderObjectService_1.default.item.editRenderObject(obj.id, ro.serialize()).then(function (data) {\n _this.roamPaths[roamPathIndex] = data;\n\n _this.roamObjects.childObjects[roamPathIndex].deserialize(data);\n\n _this.generateRoamObjects();\n });\n };\n\n CommandShowPathRoam.prototype.drawCurved = function (viewer, index) {\n var roamPathPoints = this.roamPaths[index].points;\n\n if (roamPathPoints.length >= 2) {\n var polyLines = (0, utility_1.computeCurvedPoints)(roamPathPoints);\n var sceneSegment = viewer.sceneSegment;\n var roamPath = sceneSegment.subsegment(\"roamPath\");\n roamPath.renderingOptions.depthRange = [0.1, 0.2];\n roamPath.forEach(function (seg) {\n seg.clearGeometries();\n });\n var roamPathLine = roamPath.subsegment(\"roamPathLine\");\n roamPathLine.color.setLine([0, 0, 0]);\n roamPathLine.insertPolyline(polyLines);\n var roamPathPoint = roamPath.subsegment(\"roamPathPoint\");\n roamPathPoint.color.setFace([255, 255, 0]);\n\n for (var i = 0; i < roamPathPoints.length; i++) {\n var subsegment = roamPathPoint.subsegment(\"roamPathPoint\" + i);\n var center = new Float64Array(3);\n center[0] = roamPathPoints[i][0];\n center[1] = roamPathPoints[i][1];\n center[2] = roamPathPoints[i][2];\n subsegment.insertSphere(center, this.sphereRadius, 20);\n }\n\n var roamPathTargets = this.roamPaths[index].targets;\n var roamPathTarget = roamPath.subsegment(\"roamPathTarget\");\n roamPathTarget.color.setFace([0, 0, 255]);\n\n for (var i = 0; i < roamPathTargets.length; i++) {\n var subsegment = roamPathTarget.subsegment(\"roamPathTarget\" + i);\n var center = new Float64Array(3);\n center[0] = roamPathTargets[i][0];\n center[1] = roamPathTargets[i][1];\n center[2] = roamPathTargets[i][2];\n subsegment.insertSphere(center, this.targetsRadius, 20);\n }\n\n viewer.updateDisplay();\n }\n };\n\n CommandShowPathRoam.prototype.clearCurved = function (viewer) {\n var roamPath = this.viewer.sceneSegment.subsegment(\"roamPath\");\n roamPath.forEach(function (seg) {\n seg.clearGeometries();\n });\n viewer.updateDisplay();\n };\n\n CommandShowPathRoam.prototype.playRoamPath = function (roamPathIndex, endFun, roamPointIndex) {\n if (roamPointIndex === void 0) {\n roamPointIndex = 0;\n }\n\n this.clearCurved(this.viewer);\n var pointLength = this.roamPaths[roamPathIndex].points.length;\n var roamTime = this.roamPaths[roamPathIndex].time / pointLength * (pointLength - roamPointIndex);\n var points = this.roamPaths[roamPathIndex].points.slice(roamPointIndex);\n var targets = this.roamPaths[roamPathIndex].targets.slice(roamPointIndex);\n\n if (points.length <= 1) {\n this.roamPlaying = false;\n element_ui_1.Message.warning(\"路径点数量过少,无法播放动画\");\n return false;\n }\n\n this.roamPlaying = true;\n this.animeId = this.pathRoam.addRoamPathAnime(roamTime, points, targets, endFun);\n this.viewer.process.animationManager.run([this.animeId]);\n return true;\n };\n\n CommandShowPathRoam.prototype.stopRoamPath = function (id, reDrawCurved) {\n if (reDrawCurved === void 0) {\n reDrawCurved = true;\n }\n\n console.log(\"stop\");\n this.roamPlaying = false;\n this.pathRoam.stopAnime(id);\n\n if (reDrawCurved) {\n this.drawCurved(this.viewer, this.activeRoamIndex);\n }\n };\n\n CommandShowPathRoam.prototype.pauseRoamPath = function (id) {\n this.roamPlaying = false;\n this.pathRoam.pauseAnime(id);\n };\n\n return CommandShowPathRoam;\n }(commandComponent_1.CommandComponent);\n\n exports[\"default\"] = CommandShowPathRoam;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9iaW1BaXIvc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvc2hvd1BhdGhSb2FtL2NvbW1hbmRTaG93UGF0aFJvYW0udHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVlBO0FBQUE7O0FBZUE7QUFBQTs7QUFkQTtBQUVBO0FBRUE7QUFDQTtBQUlBO0FBRUE7QUFDQTs7QUFJQTs7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUdBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUFBOztBQUNBO0FBQ0E7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUdBO0FBQ0E7O0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUFBOztBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQU1BO0FBQUE7O0FBQ0E7QUFHQTs7QUFDQTtBQUNBO0FBQ0E7O0FBS0E7QUFBQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUVBO0FBQ0E7O0FBTUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFFQTtBQUNBOztBQU9BO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTs7QUFNQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7O0FBRUE7QUFBQTs7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUdBOztBQUNBOztBQUNBO0FBQ0E7QUFDQTs7QUErRUE7QUFDQTs7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTs7QUErREE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7QUFFQTtBQUNBO0FBSUE7QUFDQTs7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFPQTtBQUNBO0FBQ0E7O0FBRUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9iaW1saWdodC1wbGF0Zm9ybS8uL3BhY2thZ2VzL2JpbUFpci9zcmMvdmlld2VyV3JhcHBlci9jb21tYW5kcy9zaG93UGF0aFJvYW0vY29tbWFuZFNob3dQYXRoUm9hbS50cz85MGY3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCByZW5kZXJPYmplY3RzU2VydmljZSBmcm9tIFwiLi4vLi4vLi4vYXBpL3JlbmRlck9iamVjdFNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ29tbWFuZENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21tYW5kQ29tcG9uZW50XCI7XHJcbmltcG9ydCAqIGFzIExvbmdhbiBmcm9tIFwiZ3MtbG9uZ2FuXCI7XHJcblxyXG5pbXBvcnQgeyBSb2FtT2JqZWN0cyB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvcm9hbU9iamVjdHNcIjtcclxuaW1wb3J0IHsgUm9hbVBhdGgsIFJvYW1PYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vYmplY3RzL3JvYW1PYmplY3RcIjtcclxuaW1wb3J0IHsgUGF0aFJvYW1PcGVyYXRvciB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29wZXJhdG9ycy9wYXRoUm9hbU9wZXJhdG9yXCI7XHJcbmltcG9ydCB7IGNvbXB1dGVDdXJ2ZWRQb2ludHMgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvdXRpbGl0eVwiO1xyXG5cclxuaW1wb3J0IGdldFJlbGF0ZWRJZHMgZnJvbSBcIi4uLy4uL21vZHVsZS9nZXRSZWxhdGVkSWRzXCI7XHJcbmltcG9ydCBQYXRoUm9hbSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9hbmltYXRpb24vcGF0aFJvYW1cIjtcclxuaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gXCJlbGVtZW50LXVpXCI7XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbW1hbmRTaG93UGF0aFJvYW0gZXh0ZW5kcyBDb21tYW5kQ29tcG9uZW50IHtcclxuICB0eXBlTmFtZSA9IFwiQ29tbWFuZFNob3dQYXRoUm9hbVwiO1xyXG4gIHJvYW1PYmplY3RzOiBSb2FtT2JqZWN0cztcclxuICByb2FtUGxheWluZyA9IGZhbHNlO1xyXG5cclxuICBzcGhlcmVSYWRpdXMgPSA1O1xyXG4gIHRhcmdldHNSYWRpdXMgPSAzO1xyXG5cclxuICByb2FtUGF0aHM6IFJvYW1QYXRoW107XHJcblxyXG4gIGFjdGl2ZVJvYW1JbmRleDogbnVtYmVyID0gLTE7XHJcblxyXG4gIGFuaW1lSWQ6IHN0cmluZyA9IG51bGw7XHJcbiAgcGF0aFJvYW06IFBhdGhSb2FtID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgYmVnaW4oKSB7XHJcbiAgICB0aGlzLmJpbmRDb21wb25lbnQgPSAoKSA9PiBpbXBvcnQoXCIuL3Nob3dQYXRoUm9hbS52dWVcIik7XHJcblxyXG4gICAgdGhpcy5wYXRoUm9hbSA9IHRoaXMudmlld2VyLnByb2Nlc3MuYW5pbWF0aW9uTWFuYWdlci5wYXRoUm9hbTtcclxuICAgIHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5jbGVhcigpO1xyXG5cclxuICAgIHRoaXMuc2hvdygpO1xyXG4gICAgdGhpcy5nZXRSb2FtT2JqZWN0cygpO1xyXG5cclxuICAgIC8v6Ieq55Sx5ryr5ri4LlxyXG4gICAgdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmFkZChuZXcgTG9uZ2FuLkNhbWVyYU1vdXNlKCkpO1xyXG4gICAgdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmFkZChuZXcgUGF0aFJvYW1PcGVyYXRvcigpKTtcclxuICB9XHJcblxyXG4gIGVuZCgpIHtcclxuICAgIHRoaXMuY2xlYXJDdXJ2ZWQodGhpcy52aWV3ZXIpO1xyXG5cclxuICAgIC8vIOWIoOmZpHdhc2TnmoTliqjnlLtcclxuICAgIHRoaXMudmlld2VyLnByb2Nlc3MuYW5pbWF0aW9uTWFuYWdlci5yZW5kZXJMaXN0LnJlbW92ZShcInBhdGhSb2FtXCIpO1xyXG4gICAgLy8g5Yig6Zmk6Lev5b6E5ryr5ri45Yqo55S7LlxyXG4gICAgbGV0IGlkczogc3RyaW5nW10gPSBbXTtcclxuICAgIHRoaXMudmlld2VyLnByb2Nlc3MuYW5pbWF0aW9uTWFuYWdlci5yZW5kZXJMaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgaWYgKGl0ZW0uaW5kZXhPZihcInJvYW1QYXRoXCIpID4gLTEpIHtcclxuICAgICAgICBpZHMucHVzaChpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGlkcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICB0aGlzLnZpZXdlci5wcm9jZXNzLmFuaW1hdGlvbk1hbmFnZXIucmVuZGVyTGlzdC5yZW1vdmUoaWRzW2ldKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnZpZXdlci5wcm9jZXNzLmFuaW1hdGlvbk1hbmFnZXIucmVuZGVyTGlzdC5yZW1vdmUodGhpcy5hbmltZUlkKTtcclxuICAgIGlmICh0aGlzLnZpZXdlci5wcm9jZXNzLmFuaW1hdGlvbk1hbmFnZXIucmVuZGVyTGlzdC5jb3VudCgpID09PSAwKSB7XHJcbiAgICAgIHRoaXMudmlld2VyLnByb2Nlc3MuYW5pbWF0aW9uTWFuYWdlci5zdG9wKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5oaWRlKCk7XHJcbiAgfVxyXG5cclxuICBnZXRSb2FtT2JqZWN0cygpIHtcclxuICAgIGxldCByZW5kZXJPYmplY3QgPSB0aGlzLnZpZXdlci5wcm9jZXNzLnJlbmRlck9iamVjdDtcclxuICAgIGxldCBpZHMgPSBnZXRSZWxhdGVkSWRzKHRoaXMudmlld2VyKTtcclxuXHJcbiAgICB0aGlzLnJvYW1PYmplY3RzID1cclxuICAgICAgdGhpcy52aWV3ZXIucHJvY2Vzcy5maW5kUmVuZGVyT2JqZWN0QnlUeXBlKFwiUm9hbU9iamVjdHNcIik7XHJcbiAgICBpZiAoIXRoaXMucm9hbU9iamVjdHMpIHtcclxuICAgICAgdGhpcy5yb2FtT2JqZWN0cyA9IG5ldyBSb2FtT2JqZWN0cygpO1xyXG4gICAgICB0aGlzLnZpZXdlci5wcm9jZXNzLmFkZFJlbmRlck9iamVjdChyZW5kZXJPYmplY3QsIHRoaXMucm9hbU9iamVjdHMpO1xyXG4gICAgfVxyXG4gICAgcmVuZGVyT2JqZWN0c1NlcnZpY2VcclxuICAgICAgLmdldFJlbmRlck9iamVjdHNSZWxhdGVkKFwiUm9hbU9iamVjdFwiLCBpZHMsIHRoaXMudmlld2VyLm9wdGlvbnMudGFnKVxyXG4gICAgICAudGhlbigoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAgIHRoaXMucm9hbVBhdGhzID0gZGF0YTtcclxuICAgICAgICAgIHRoaXMuZ2VuZXJhdGVSb2FtT2JqZWN0cygpO1xyXG5cclxuICAgICAgICAgIGRhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgcm9hbU9iamVjdCA9IG5ldyBSb2FtT2JqZWN0KCk7XHJcbiAgICAgICAgICAgIHJvYW1PYmplY3QuZGVzZXJpYWxpemUoaXRlbSk7XHJcbiAgICAgICAgICAgIHRoaXMudmlld2VyLnByb2Nlc3MuYWRkUmVuZGVyT2JqZWN0KHRoaXMucm9hbU9iamVjdHMsIHJvYW1PYmplY3QpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlUm9hbU9iamVjdHMoKSB7XHJcbiAgICBsZXQgcm9hbUxpc3RGb3JVSSA9IFtdO1xyXG4gICAgaWYgKHRoaXMucm9hbVBhdGhzKSB7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5yb2FtUGF0aHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBsZXQgZGF0YSA9IHRoaXMucm9hbVBhdGhzW2ldO1xyXG4gICAgICAgIC8v55Sf5oiQ6KeG54K55YiX6KGoLlxyXG4gICAgICAgIHJvYW1MaXN0Rm9yVUkucHVzaChkYXRhKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNvbW1hbmREYXRhID0gcm9hbUxpc3RGb3JVSTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFkZFJvYW1QYXRoKHJvYW1QYXRoSW5kZXgpIHtcclxuICAgIGxldCByb2FtT2JqZWN0ID0gbmV3IFJvYW1PYmplY3QoKTtcclxuICAgIGxldCBpZHMgPSBnZXRSZWxhdGVkSWRzKHRoaXMudmlld2VyKTtcclxuXHJcbiAgICByb2FtT2JqZWN0LnJlbGF0ZWQgPSBpZHM7XHJcbiAgICByb2FtT2JqZWN0Lm5hbWUgPSBcIui3r+W+hFwiICsgcm9hbVBhdGhJbmRleDtcclxuICAgIHJvYW1PYmplY3QudGltZSA9IDIwO1xyXG4gICAgcm9hbU9iamVjdC5wb2ludHMgPSBbXTtcclxuICAgIHJvYW1PYmplY3QudGFyZ2V0cyA9IFtdO1xyXG4gICAgcmV0dXJuIHJlbmRlck9iamVjdHNTZXJ2aWNlXHJcbiAgICAgIC5jcmVhdGVSZW5kZXJPYmplY3QoXCJcIiwgcm9hbU9iamVjdC5zZXJpYWxpemUoKSwgdGhpcy52aWV3ZXIub3B0aW9ucy50YWcpXHJcbiAgICAgIC50aGVuKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgcm9hbU9iamVjdC5kZXNlcmlhbGl6ZShkYXRhKTtcclxuICAgICAgICAgIHRoaXMucm9hbVBhdGhzLnB1c2goZGF0YSk7XHJcbiAgICAgICAgICB0aGlzLnZpZXdlci5wcm9jZXNzLmFkZFJlbmRlck9iamVjdCh0aGlzLnJvYW1PYmplY3RzLCByb2FtT2JqZWN0KTtcclxuXHJcbiAgICAgICAgICB0aGlzLmdlbmVyYXRlUm9hbU9iamVjdHMoKTtcclxuICAgICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5Yig6Zmk5Y2V5p2h5ryr5ri46Lev5b6EXHJcbiAgICogQHBhcmFtIHJvYW1QYXRoSW5kZXhcclxuICAgKi9cclxuICBkZWxldGVSb2FtUGF0aChyb2FtUGF0aEluZGV4KSB7XHJcbiAgICByZW5kZXJPYmplY3RzU2VydmljZS5pdGVtXHJcbiAgICAgIC5kZWxldGVSZW5kZXJPYmplY3QodGhpcy5yb2FtUGF0aHNbcm9hbVBhdGhJbmRleF0uaWQpXHJcbiAgICAgIC50aGVuKCgpID0+IHtcclxuICAgICAgICB0aGlzLnJvYW1QYXRocy5zcGxpY2Uocm9hbVBhdGhJbmRleCwgMSk7XHJcbiAgICAgICAgdGhpcy5nZW5lcmF0ZVJvYW1PYmplY3RzKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5Yig6Zmk5YWo6YOo5ryr5ri46Lev5b6EXHJcbiAgICovXHJcbiAgZGVsZXRlQWxsUm9hbVBhdGgoKSB7XHJcbiAgICBsZXQgaWRzID0gW107XHJcbiAgICB0aGlzLnJvYW1QYXRocy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgIGlkcy5wdXNoKGl0ZW0uaWQpO1xyXG4gICAgfSk7XHJcbiAgICByZW5kZXJPYmplY3RzU2VydmljZS5kZWxldGVSZW5kZXJPYmplY3RzKGlkcykudGhlbigoKSA9PiB7XHJcbiAgICAgIHRoaXMucm9hbVBhdGhzID0gW107XHJcbiAgICAgIHRoaXMuZ2VuZXJhdGVSb2FtT2JqZWN0cygpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5jbGVhckN1cnZlZCh0aGlzLnZpZXdlcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDmt7vliqDljZXkuKrmvKvmuLjngrlcclxuICAgKiBAcGFyYW0gcm9hbVBhdGhJbmRleFxyXG4gICAqL1xyXG4gIGFkZFJvYW1Qb2ludChyb2FtUGF0aEluZGV4KSB7XHJcbiAgICBsZXQgY2FtZXJhID0gdGhpcy52aWV3ZXIuc2NlbmVTZWdtZW50LmNhbWVyYTtcclxuXHJcbiAgICBsZXQgcG9zID0gY2FtZXJhLnBvc2l0aW9uIGFzIExvbmdhbi5WZWN0b3I7XHJcbiAgICBsZXQgdGFyID0gY2FtZXJhLnRhcmdldDtcclxuXHJcbiAgICB0aGlzLnJvYW1QYXRoc1tyb2FtUGF0aEluZGV4XS5wb2ludHMucHVzaChwb3MpO1xyXG4gICAgdGhpcy5yb2FtUGF0aHNbcm9hbVBhdGhJbmRleF0udGFyZ2V0cy5wdXNoKHRhcik7XHJcblxyXG4gICAgdGhpcy5lZGl0UmVuZGVyT2JqZWN0KHJvYW1QYXRoSW5kZXgpO1xyXG5cclxuICAgIHRoaXMuZHJhd0N1cnZlZCh0aGlzLnZpZXdlciwgcm9hbVBhdGhJbmRleCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDliKDpmaTljZXkuKrmvKvmuLjngrlcclxuICAgKiBAcGFyYW0gcm9hbVBhdGhJbmRleFxyXG4gICAqIEBwYXJhbSByb2FtUG9pbnRJbmRleFxyXG4gICAqL1xyXG4gIGRlbGV0ZVJvYW1Qb2ludChyb2FtUGF0aEluZGV4LCByb2FtUG9pbnRJbmRleCkge1xyXG4gICAgdGhpcy5yb2FtUGF0aHNbcm9hbVBhdGhJbmRleF0ucG9pbnRzLnNwbGljZShyb2FtUG9pbnRJbmRleCwgMSk7XHJcbiAgICB0aGlzLnJvYW1QYXRoc1tyb2FtUGF0aEluZGV4XS50YXJnZXRzLnNwbGljZShyb2FtUG9pbnRJbmRleCwgMSk7XHJcblxyXG4gICAgdGhpcy5lZGl0UmVuZGVyT2JqZWN0KHJvYW1QYXRoSW5kZXgpO1xyXG5cclxuICAgIHRoaXMuZHJhd0N1cnZlZCh0aGlzLnZpZXdlciwgcm9hbVBhdGhJbmRleCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDliKDpmaTlhajpg6jmvKvmuLjngrlcclxuICAgKiBAcGFyYW0gcm9hbVBhdGhJbmRleFxyXG4gICAqL1xyXG4gIGRlbGV0ZUFsbFJvYW1Qb2ludChyb2FtUGF0aEluZGV4KSB7XHJcbiAgICB0aGlzLnJvYW1QYXRoc1tyb2FtUGF0aEluZGV4XS5wb2ludHMgPSBbXTtcclxuICAgIHRoaXMucm9hbVBhdGhzW3JvYW1QYXRoSW5kZXhdLnRhcmdldHMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmVkaXRSZW5kZXJPYmplY3Qocm9hbVBhdGhJbmRleCk7XHJcblxyXG4gICAgdGhpcy5jbGVhckN1cnZlZCh0aGlzLnZpZXdlcik7XHJcbiAgfVxyXG5cclxuICBlZGl0UmVuZGVyT2JqZWN0KHJvYW1QYXRoSW5kZXgpIHtcclxuICAgIGxldCBvYmogPSB0aGlzLnJvYW1QYXRoc1tyb2FtUGF0aEluZGV4XTtcclxuXHJcbiAgICBsZXQgcm8gPSBuZXcgUm9hbU9iamVjdCgpO1xyXG4gICAgcm8uZGVzZXJpYWxpemUob2JqKTtcclxuXHJcbiAgICByZW5kZXJPYmplY3RzU2VydmljZS5pdGVtXHJcbiAgICAgIC5lZGl0UmVuZGVyT2JqZWN0KG9iai5pZCwgcm8uc2VyaWFsaXplKCkpXHJcbiAgICAgIC50aGVuKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnJvYW1QYXRoc1tyb2FtUGF0aEluZGV4XSA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5yb2FtT2JqZWN0cy5jaGlsZE9iamVjdHNbcm9hbVBhdGhJbmRleF0uZGVzZXJpYWxpemUoZGF0YSk7XHJcbiAgICAgICAgdGhpcy5nZW5lcmF0ZVJvYW1PYmplY3RzKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gcGxheVJvYW1QYXRoKHJvYW1QYXRoSW5kZXgsIGVuZEZ1bjogKCkgPT4gdm9pZCwgcm9hbVBvaW50SW5kZXggPSAwKSB7XHJcbiAgLy8gICB0aGlzLmNsZWFyQ3VydmVkKHRoaXMudmlld2VyKTtcclxuXHJcbiAgLy8gICBjb25zb2xlLmxvZyhcInBsYXlcIik7XHJcbiAgLy8gICBsZXQgcG9pbnRMZW5ndGggPSB0aGlzLnJvYW1QYXRoc1tyb2FtUGF0aEluZGV4XS5wb2ludHMubGVuZ3RoO1xyXG4gIC8vICAgbGV0IHJvYW1UaW1lID1cclxuICAvLyAgICAgKHRoaXMucm9hbVBhdGhzW3JvYW1QYXRoSW5kZXhdLnRpbWUgLyBwb2ludExlbmd0aCkgKlxyXG4gIC8vICAgICAocG9pbnRMZW5ndGggLSByb2FtUG9pbnRJbmRleCk7XHJcblxyXG4gIC8vICAgbGV0IGlkID0gXCJyb2FtUGF0aFwiO1xyXG4gIC8vICAgdGhpcy5yb2FtUGxheWluZyA9IHRydWU7XHJcblxyXG4gIC8vICAgbGV0IHJlbmRlckVsZW1lbnQgPSB7XHJcbiAgLy8gICAgIGlzU3RvcDogdHJ1ZSxcclxuICAvLyAgICAgZnVuYzogKGRlbHRhVGltZSkgPT4ge1xyXG4gIC8vICAgICAgIGlmIChkZWx0YVRpbWUgPiAxKSB7XHJcbiAgLy8gICAgICAgICByZXR1cm47XHJcbiAgLy8gICAgICAgfVxyXG5cclxuICAvLyAgICAgICByZW5kZXJFbGVtZW50LnBsYXlUaW1lICs9IGRlbHRhVGltZTtcclxuICAvLyAgICAgICBsZXQgcGFseWluZ1BlcmNlbnQgPSByZW5kZXJFbGVtZW50LnBsYXlUaW1lIC8gcm9hbVRpbWU7XHJcblxyXG4gIC8vICAgICAgIGlmIChwYWx5aW5nUGVyY2VudCA+IDEpIHtcclxuICAvLyAgICAgICAgIHBhbHlpbmdQZXJjZW50ID0gMTtcclxuICAvLyAgICAgICB9XHJcblxyXG4gIC8vICAgICAgIC8v6I635Y+W5b2T5YmN6L+b5bqm55qE6ZWc5aS0UG9zaXRpb24uXHJcbiAgLy8gICAgICAgbGV0IG5ld1Bvc2l0aW9uID0gdGhpcy5HZXRDYW1lcmFQb2ludChcclxuICAvLyAgICAgICAgIHRoaXMucm9hbVBhdGhzW3JvYW1QYXRoSW5kZXhdLnBvaW50cy5zbGljZShyb2FtUG9pbnRJbmRleCksXHJcbiAgLy8gICAgICAgICBwYWx5aW5nUGVyY2VudFxyXG4gIC8vICAgICAgICk7XHJcbiAgLy8gICAgICAgLy/ojrflj5blvZPliY3ov5vluqbnmoTplZzlpLRUYXJnZXRcclxuICAvLyAgICAgICBsZXQgbmV3VGFyZ2V0ID0gdGhpcy5HZXRDYW1lcmFQb2ludChcclxuICAvLyAgICAgICAgIHRoaXMucm9hbVBhdGhzW3JvYW1QYXRoSW5kZXhdLnRhcmdldHMuc2xpY2Uocm9hbVBvaW50SW5kZXgpLFxyXG4gIC8vICAgICAgICAgcGFseWluZ1BlcmNlbnRcclxuICAvLyAgICAgICApO1xyXG4gIC8vICAgICAgIC8v6K6h566XY2FtZXJhIHVwXHJcbiAgLy8gICAgICAgbGV0IGRpciA9IExvbmdhbi5EUG9pbnQuc3VidHJhY3QoXHJcbiAgLy8gICAgICAgICBuZXdUYXJnZXQgYXMgRmxvYXQ2NEFycmF5LFxyXG4gIC8vICAgICAgICAgbmV3UG9zaXRpb24gYXMgRmxvYXQ2NEFycmF5XHJcbiAgLy8gICAgICAgKTtcclxuICAvLyAgICAgICBMb25nYW4uRFZlY3Rvci5ub3JtYWxpemUoZGlyKTtcclxuICAvLyAgICAgICBsZXQgel9BeGlzID0gbmV3IEZsb2F0NjRBcnJheShbMCwgMCwgMV0pO1xyXG4gIC8vICAgICAgIGlmIChkaXJbMF0gPT0gel9BeGlzWzBdICYmIGRpclsxXSA9PSB6X0F4aXNbMV0gJiYgZGlyWzJdID09IHpfQXhpc1syXSkge1xyXG4gIC8vICAgICAgICAgel9BeGlzID0gbmV3IEZsb2F0NjRBcnJheShbMSwgMCwgMF0pO1xyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgICBsZXQgeF9BeGlzID0gTG9uZ2FuLkRWZWN0b3IuY3Jvc3MoZGlyLCB6X0F4aXMpO1xyXG4gIC8vICAgICAgIExvbmdhbi5EVmVjdG9yLm5vcm1hbGl6ZSh4X0F4aXMpO1xyXG4gIC8vICAgICAgIGxldCBuZXdVcCA9IExvbmdhbi5EVmVjdG9yLmNyb3NzKHhfQXhpcywgZGlyKTtcclxuXHJcbiAgLy8gICAgICAgSlNfT3Blbl9TZWdtZW50X0J5X0tleSh0aGlzLnZpZXdlci5zY2VuZUtleSk7XHJcbiAgLy8gICAgICAge1xyXG4gIC8vICAgICAgICAgSlNfU2V0X0NhbWVyYV9Qb3NpdGlvbihuZXdQb3NpdGlvbik7XHJcblxyXG4gIC8vICAgICAgICAgSlNfU2V0X0NhbWVyYV9UYXJnZXQobmV3VGFyZ2V0KTtcclxuICAvLyAgICAgICAgIEpTX1NldF9DYW1lcmFfVXAobmV3VXApO1xyXG5cclxuICAvLyAgICAgICAgIC8vIEpTX1NldF9DYW1lcmFfVGFyZ2V0KHRoaXMudGFyZ2V0KTtcclxuICAvLyAgICAgICAgIC8vIEpTX1NldF9DYW1lcmFfVXAoWzAsIDAsIDFdKTtcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgICAgSlNfQ2xvc2VfU2VnbWVudCgpO1xyXG5cclxuICAvLyAgICAgICBpZiAocGFseWluZ1BlcmNlbnQgPT09IDEpIHtcclxuICAvLyAgICAgICAgIHRoaXMuc3RvcFJvYW1QYXRoKGlkKTtcclxuICAvLyAgICAgICAgIGNvbnNvbGUubG9nKFwi5Yqo55S757uT5p2fXCIpO1xyXG4gIC8vICAgICAgICAgZW5kRnVuKCk7XHJcbiAgLy8gICAgICAgICB0aGlzLmRyYXdDdXJ2ZWQodGhpcy52aWV3ZXIsIHRoaXMuYWN0aXZlUm9hbUluZGV4KTtcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH0sXHJcbiAgLy8gICAgIHJvYW1UaW1lLFxyXG4gIC8vICAgICBwbGF5VGltZTogMCxcclxuICAvLyAgIH07XHJcblxyXG4gIC8vICAgdGhpcy5wcm9jZXNzLmFuaW1hdGlvbk1hbmFnZXIucmVuZGVyTGlzdC5hZGQoaWQsIHJlbmRlckVsZW1lbnQpO1xyXG4gIC8vICAgdGhpcy52aWV3ZXIucHJvY2Vzcy5hbmltYXRpb25NYW5hZ2VyLnJ1bigpO1xyXG4gIC8vIH1cclxuXHJcbiAgZHJhd0N1cnZlZCh2aWV3ZXI6IExvbmdhbi5WaWV3ZXIsIGluZGV4KSB7XHJcbiAgICBsZXQgcm9hbVBhdGhQb2ludHMgPSB0aGlzLnJvYW1QYXRoc1tpbmRleF0ucG9pbnRzO1xyXG4gICAgaWYgKHJvYW1QYXRoUG9pbnRzLmxlbmd0aCA+PSAyKSB7XHJcbiAgICAgIC8vIOe7mOWItui3r+W+hOabsue6v1xyXG4gICAgICBsZXQgcG9seUxpbmVzID0gY29tcHV0ZUN1cnZlZFBvaW50cyhyb2FtUGF0aFBvaW50cyk7XHJcblxyXG4gICAgICAvLyDnu5jliLblhbPplK7ngrlcclxuICAgICAgbGV0IHNjZW5lU2VnbWVudCA9IHZpZXdlci5zY2VuZVNlZ21lbnQ7XHJcbiAgICAgIGxldCByb2FtUGF0aCA9IHNjZW5lU2VnbWVudC5zdWJzZWdtZW50KFwicm9hbVBhdGhcIik7XHJcbiAgICAgIHJvYW1QYXRoLnJlbmRlcmluZ09wdGlvbnMuZGVwdGhSYW5nZSA9IFswLjEsIDAuMl07XHJcbiAgICAgIHJvYW1QYXRoLmZvckVhY2goKHNlZykgPT4ge1xyXG4gICAgICAgIHNlZy5jbGVhckdlb21ldHJpZXMoKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGxldCByb2FtUGF0aExpbmUgPSByb2FtUGF0aC5zdWJzZWdtZW50KFwicm9hbVBhdGhMaW5lXCIpO1xyXG4gICAgICByb2FtUGF0aExpbmUuY29sb3Iuc2V0TGluZShbMCwgMCwgMF0pO1xyXG4gICAgICByb2FtUGF0aExpbmUuaW5zZXJ0UG9seWxpbmUocG9seUxpbmVzKTtcclxuICAgICAgbGV0IHJvYW1QYXRoUG9pbnQgPSByb2FtUGF0aC5zdWJzZWdtZW50KFwicm9hbVBhdGhQb2ludFwiKTtcclxuICAgICAgcm9hbVBhdGhQb2ludC5jb2xvci5zZXRGYWNlKFsyNTUsIDI1NSwgMF0pO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvYW1QYXRoUG9pbnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgbGV0IHN1YnNlZ21lbnQgPSByb2FtUGF0aFBvaW50LnN1YnNlZ21lbnQoXCJyb2FtUGF0aFBvaW50XCIgKyBpKTtcclxuXHJcbiAgICAgICAgbGV0IGNlbnRlciA9IG5ldyBGbG9hdDY0QXJyYXkoMyk7XHJcbiAgICAgICAgY2VudGVyWzBdID0gcm9hbVBhdGhQb2ludHNbaV1bMF07XHJcbiAgICAgICAgY2VudGVyWzFdID0gcm9hbVBhdGhQb2ludHNbaV1bMV07XHJcbiAgICAgICAgY2VudGVyWzJdID0gcm9hbVBhdGhQb2ludHNbaV1bMl07XHJcbiAgICAgICAgc3Vic2VnbWVudC5pbnNlcnRTcGhlcmUoY2VudGVyLCB0aGlzLnNwaGVyZVJhZGl1cywgMjApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyDnu5jliLblhbPplK7ngrnnmoR0YXJnZXQuXHJcbiAgICAgIGxldCByb2FtUGF0aFRhcmdldHMgPSB0aGlzLnJvYW1QYXRoc1tpbmRleF0udGFyZ2V0cztcclxuICAgICAgbGV0IHJvYW1QYXRoVGFyZ2V0ID0gcm9hbVBhdGguc3Vic2VnbWVudChcInJvYW1QYXRoVGFyZ2V0XCIpO1xyXG4gICAgICByb2FtUGF0aFRhcmdldC5jb2xvci5zZXRGYWNlKFswLCAwLCAyNTVdKTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb2FtUGF0aFRhcmdldHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBsZXQgc3Vic2VnbWVudCA9IHJvYW1QYXRoVGFyZ2V0LnN1YnNlZ21lbnQoXCJyb2FtUGF0aFRhcmdldFwiICsgaSk7XHJcblxyXG4gICAgICAgIGxldCBjZW50ZXIgPSBuZXcgRmxvYXQ2NEFycmF5KDMpO1xyXG4gICAgICAgIGNlbnRlclswXSA9IHJvYW1QYXRoVGFyZ2V0c1tpXVswXTtcclxuICAgICAgICBjZW50ZXJbMV0gPSByb2FtUGF0aFRhcmdldHNbaV1bMV07XHJcbiAgICAgICAgY2VudGVyWzJdID0gcm9hbVBhdGhUYXJnZXRzW2ldWzJdO1xyXG4gICAgICAgIHN1YnNlZ21lbnQuaW5zZXJ0U3BoZXJlKGNlbnRlciwgdGhpcy50YXJnZXRzUmFkaXVzLCAyMCk7XHJcblxyXG4gICAgICAgIC8vIGxldCB2ZWN0b3JTZWdtZW50ID0gcm9hbVBhdGguc3Vic2VnbWVudChcInJvYW1QYXRoVmVjdG9yXCIpO1xyXG4gICAgICAgIC8vIC8vIOe7mOWItnBvaW50IHRvIHRhcmdldOeahOaWueWQkS5cclxuICAgICAgICAvLyB2ZWN0b3JTZWdtZW50Lmluc2VydEN5bGluZGVyKFxyXG4gICAgICAgIC8vICAgcm9hbVBhdGhQb2ludHNbaV0sXHJcbiAgICAgICAgLy8gICByb2FtUGF0aFRhcmdldHNbaV0sXHJcbiAgICAgICAgLy8gICAwLjMsXHJcbiAgICAgICAgLy8gICBDeWxpbmRlckNhcC5Cb3RoXHJcbiAgICAgICAgLy8gKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdmlld2VyLnVwZGF0ZURpc3BsYXkoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsZWFyQ3VydmVkKHZpZXdlcjogTG9uZ2FuLlZpZXdlcikge1xyXG4gICAgbGV0IHJvYW1QYXRoID0gdGhpcy52aWV3ZXIuc2NlbmVTZWdtZW50LnN1YnNlZ21lbnQoXCJyb2FtUGF0aFwiKTtcclxuICAgIHJvYW1QYXRoLmZvckVhY2goKHNlZykgPT4ge1xyXG4gICAgICBzZWcuY2xlYXJHZW9tZXRyaWVzKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB2aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xyXG4gIH1cclxuXHJcbiAgLy8gLy8v6L6T5YWl6Lev5b6E54K56ZuG5LiOMC0x55qE55m+5YiG5q+ULOiOt+WPlui3r+W+hOeCuS5cclxuICAvLyBHZXRDYW1lcmFQb2ludCh3YXlwb2ludHM6IExvbmdhbi5WZWN0b3JbXSwgdDogbnVtYmVyKTogTG9uZ2FuLlZlY3RvciB7XHJcbiAgLy8gICBsZXQgZ2l6bW9Qb2ludHM6IExvbmdhbi5WZWN0b3JbXSA9IG5ldyBBcnJheTxMb25nYW4uVmVjdG9yPihcclxuICAvLyAgICAgd2F5cG9pbnRzLmxlbmd0aCArIDJcclxuICAvLyAgICk7XHJcbiAgLy8gICBsZXQgaW5kZXggPSAxO1xyXG4gIC8vICAgZm9yIChsZXQgaSA9IDA7IGkgPCB3YXlwb2ludHMubGVuZ3RoOyBpKyspIHtcclxuICAvLyAgICAgZ2l6bW9Qb2ludHNbaW5kZXhdID0gd2F5cG9pbnRzW2ldO1xyXG4gIC8vICAgICBpbmRleCsrO1xyXG4gIC8vICAgfVxyXG4gIC8vICAgLy93YXlwb2ludHMuQ29weVRvKGdpem1vUG9pbnRzLCAxKTtcclxuICAvLyAgIGdpem1vUG9pbnRzWzBdID0gd2F5cG9pbnRzWzFdO1xyXG4gIC8vICAgZ2l6bW9Qb2ludHNbZ2l6bW9Qb2ludHMubGVuZ3RoIC0gMV0gPSBnaXptb1BvaW50c1tnaXptb1BvaW50cy5sZW5ndGggLSAyXTtcclxuXHJcbiAgLy8gICBsZXQgbnVtU2VjdGlvbnMgPSBnaXptb1BvaW50cy5sZW5ndGggLSAzO1xyXG4gIC8vICAgbGV0IHRTZWMgPSBNYXRoLmZsb29yKHQgKiBudW1TZWN0aW9ucyk7XHJcbiAgLy8gICBsZXQgY3VyclB0ID0gbnVtU2VjdGlvbnMgLSAxO1xyXG4gIC8vICAgaWYgKGN1cnJQdCA+IHRTZWMpIHtcclxuICAvLyAgICAgY3VyclB0ID0gdFNlYztcclxuICAvLyAgIH1cclxuICAvLyAgIGxldCB1ID0gdCAqIG51bVNlY3Rpb25zIC0gY3VyclB0O1xyXG5cclxuICAvLyAgIGxldCBhOiBMb25nYW4uVmVjdG9yID0gZ2l6bW9Qb2ludHNbY3VyclB0XTtcclxuICAvLyAgIGxldCBiOiBMb25nYW4uVmVjdG9yID0gZ2l6bW9Qb2ludHNbY3VyclB0ICsgMV07XHJcbiAgLy8gICBsZXQgYzogTG9uZ2FuLlZlY3RvciA9IGdpem1vUG9pbnRzW2N1cnJQdCArIDJdO1xyXG4gIC8vICAgbGV0IGQ6IExvbmdhbi5WZWN0b3IgPSBnaXptb1BvaW50c1tjdXJyUHQgKyAzXTtcclxuXHJcbiAgLy8gICBsZXQgeCA9XHJcbiAgLy8gICAgIDAuNSAqXHJcbiAgLy8gICAgICgoLWFbMF0gKyAzICogYlswXSAtIDMgKiBjWzBdICsgZFswXSkgKiAodSAqIHUgKiB1KSArXHJcbiAgLy8gICAgICAgKDIgKiBhWzBdIC0gNSAqIGJbMF0gKyA0ICogY1swXSAtIGRbMF0pICogKHUgKiB1KSArXHJcbiAgLy8gICAgICAgKC1hWzBdICsgY1swXSkgKiB1ICtcclxuICAvLyAgICAgICAyICogYlswXSk7XHJcbiAgLy8gICBsZXQgeSA9XHJcbiAgLy8gICAgIDAuNSAqXHJcbiAgLy8gICAgICgoLWFbMV0gKyAzICogYlsxXSAtIDMgKiBjWzFdICsgZFsxXSkgKiAodSAqIHUgKiB1KSArXHJcbiAgLy8gICAgICAgKDIgKiBhWzFdIC0gNSAqIGJbMV0gKyA0ICogY1sxXSAtIGRbMV0pICogKHUgKiB1KSArXHJcbiAgLy8gICAgICAgKC1hWzFdICsgY1sxXSkgKiB1ICtcclxuICAvLyAgICAgICAyICogYlsxXSk7XHJcbiAgLy8gICBsZXQgeiA9XHJcbiAgLy8gICAgIDAuNSAqXHJcbiAgLy8gICAgICgoLWFbMl0gKyAzICogYlsyXSAtIDMgKiBjWzJdICsgZFsyXSkgKiAodSAqIHUgKiB1KSArXHJcbiAgLy8gICAgICAgKDIgKiBhWzJdIC0gNSAqIGJbMl0gKyA0ICogY1syXSAtIGRbMl0pICogKHUgKiB1KSArXHJcbiAgLy8gICAgICAgKC1hWzJdICsgY1syXSkgKiB1ICtcclxuICAvLyAgICAgICAyICogYlsyXSk7XHJcblxyXG4gIC8vICAgbGV0IHZlY3RvciA9IG5ldyBMb25nYW4uVmVjdG9yKCk7XHJcbiAgLy8gICB2ZWN0b3JbMF0gPSB4O1xyXG4gIC8vICAgdmVjdG9yWzFdID0geTtcclxuICAvLyAgIHZlY3RvclsyXSA9IHo7XHJcblxyXG4gIC8vICAgcmV0dXJuIHZlY3RvcjtcclxuICAvLyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOWIm+W7uui3r+W+hOW5tuaSreaUvlxyXG4gICAqIEBwYXJhbSByb2FtUGF0aEluZGV4IOW9k+WJjee8lui+kei3r+W+hOeahOe0ouW8lVxyXG4gICAqIEBwYXJhbSBlbmRGdW4g57uT5p2f5pKt5pS+55qE5Zue6LCD5LqL5Lu2XHJcbiAgICogQHBhcmFtIHJvYW1Qb2ludEluZGV4IOW9k+WJjemAieaLqeeCueeahOe0ouW8lVxyXG4gICAqIEByZXR1cm5zIOaYr+WQpuaIkOWKny5cclxuICAgKi9cclxuICBwbGF5Um9hbVBhdGgocm9hbVBhdGhJbmRleCwgZW5kRnVuOiAoKSA9PiB2b2lkLCByb2FtUG9pbnRJbmRleCA9IDApOiBib29sZWFuIHtcclxuICAgIHRoaXMuY2xlYXJDdXJ2ZWQodGhpcy52aWV3ZXIpO1xyXG5cclxuICAgIGxldCBwb2ludExlbmd0aCA9IHRoaXMucm9hbVBhdGhzW3JvYW1QYXRoSW5kZXhdLnBvaW50cy5sZW5ndGg7XHJcbiAgICBsZXQgcm9hbVRpbWUgPVxyXG4gICAgICAodGhpcy5yb2FtUGF0aHNbcm9hbVBhdGhJbmRleF0udGltZSAvIHBvaW50TGVuZ3RoKSAqXHJcbiAgICAgIChwb2ludExlbmd0aCAtIHJvYW1Qb2ludEluZGV4KTtcclxuXHJcbiAgICBsZXQgcG9pbnRzID0gdGhpcy5yb2FtUGF0aHNbcm9hbVBhdGhJbmRleF0ucG9pbnRzLnNsaWNlKHJvYW1Qb2ludEluZGV4KTtcclxuICAgIGxldCB0YXJnZXRzID0gdGhpcy5yb2FtUGF0aHNbcm9hbVBhdGhJbmRleF0udGFyZ2V0cy5zbGljZShyb2FtUG9pbnRJbmRleCk7XHJcbiAgICBpZiAocG9pbnRzLmxlbmd0aCA8PSAxKSB7XHJcbiAgICAgIHRoaXMucm9hbVBsYXlpbmcgPSBmYWxzZTtcclxuICAgICAgLy8gTWVzc2FnZUJveC5hbGVydChcIui3r+W+hOeCueaVsOmHj+S4ujBcIiwgXCLmkq3mlL7ot6/lvoTmvKvmuLjlh7rplJlcIik7XHJcbiAgICAgIE1lc3NhZ2Uud2FybmluZyhcIui3r+W+hOeCueaVsOmHj+i/h+WwkSzml6Dms5Xmkq3mlL7liqjnlLtcIik7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJvYW1QbGF5aW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuYW5pbWVJZCA9IHRoaXMucGF0aFJvYW0uYWRkUm9hbVBhdGhBbmltZShcclxuICAgICAgcm9hbVRpbWUsXHJcbiAgICAgIHBvaW50cyxcclxuICAgICAgdGFyZ2V0cyxcclxuICAgICAgZW5kRnVuXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMudmlld2VyLnByb2Nlc3MuYW5pbWF0aW9uTWFuYWdlci5ydW4oW3RoaXMuYW5pbWVJZF0pO1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBzdG9wUm9hbVBhdGgoaWQ6IHN0cmluZywgcmVEcmF3Q3VydmVkOiBib29sZWFuID0gdHJ1ZSkge1xyXG4gICAgY29uc29sZS5sb2coXCJzdG9wXCIpO1xyXG4gICAgdGhpcy5yb2FtUGxheWluZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5wYXRoUm9hbS5zdG9wQW5pbWUoaWQpO1xyXG5cclxuICAgIGlmIChyZURyYXdDdXJ2ZWQpIHtcclxuICAgICAgdGhpcy5kcmF3Q3VydmVkKHRoaXMudmlld2VyLCB0aGlzLmFjdGl2ZVJvYW1JbmRleCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwYXVzZVJvYW1QYXRoKGlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMucm9hbVBsYXlpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMucGF0aFJvYW0ucGF1c2VBbmltZShpZCk7XHJcbiAgfVxyXG59XHJcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./packages/bimAir/src/viewerWrapper/commands/showPathRoam/commandShowPathRoam.ts\n");
|
|
5307
|
+
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.promise.js */ \"./node_modules/core-js/modules/es.promise.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.splice.js */ \"./node_modules/core-js/modules/es.array.splice.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.array-buffer.slice.js */ \"./node_modules/core-js/modules/es.array-buffer.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.float64-array.js */ \"./node_modules/core-js/modules/es.typed-array.float64-array.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.at.js */ \"./node_modules/core-js/modules/es.typed-array.at.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.copy-within.js */ \"./node_modules/core-js/modules/es.typed-array.copy-within.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.every.js */ \"./node_modules/core-js/modules/es.typed-array.every.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.fill.js */ \"./node_modules/core-js/modules/es.typed-array.fill.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.filter.js */ \"./node_modules/core-js/modules/es.typed-array.filter.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find.js */ \"./node_modules/core-js/modules/es.typed-array.find.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-last.js */ \"./node_modules/core-js/modules/es.typed-array.find-last.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.find-last-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-last-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.for-each.js */ \"./node_modules/core-js/modules/es.typed-array.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.includes.js */ \"./node_modules/core-js/modules/es.typed-array.includes.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.index-of.js */ \"./node_modules/core-js/modules/es.typed-array.index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.iterator.js */ \"./node_modules/core-js/modules/es.typed-array.iterator.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.join.js */ \"./node_modules/core-js/modules/es.typed-array.join.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.last-index-of.js */ \"./node_modules/core-js/modules/es.typed-array.last-index-of.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.map.js */ \"./node_modules/core-js/modules/es.typed-array.map.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce.js */ \"./node_modules/core-js/modules/es.typed-array.reduce.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce-right.js */ \"./node_modules/core-js/modules/es.typed-array.reduce-right.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.reverse.js */ \"./node_modules/core-js/modules/es.typed-array.reverse.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.set.js */ \"./node_modules/core-js/modules/es.typed-array.set.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.slice.js */ \"./node_modules/core-js/modules/es.typed-array.slice.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.some.js */ \"./node_modules/core-js/modules/es.typed-array.some.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.sort.js */ \"./node_modules/core-js/modules/es.typed-array.sort.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.subarray.js */ \"./node_modules/core-js/modules/es.typed-array.subarray.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-locale-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-locale-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.typed-array.to-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! ../../../api/renderObjectService */ \"./packages/bimAir/src/api/renderObjectService.ts\"), __webpack_require__(/*! ../commandComponent */ \"./packages/bimAir/src/viewerWrapper/commands/commandComponent.ts\"), __webpack_require__(/*! gs-longan */ \"./packages/longan/src/index.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/roamObjects */ \"./packages/bimAir/src/gsDevFx/objects/roamObjects.ts\"), __webpack_require__(/*! ../../../gsDevFx/objects/roamObject */ \"./packages/bimAir/src/gsDevFx/objects/roamObject.ts\"), __webpack_require__(/*! ../../../gsDevFx/operators/pathRoamOperator */ \"./packages/bimAir/src/gsDevFx/operators/pathRoamOperator.ts\"), __webpack_require__(/*! ../../../utils/utility */ \"./packages/bimAir/src/utils/utility.ts\"), __webpack_require__(/*! ../../module/getRelatedIds */ \"./packages/bimAir/src/viewerWrapper/module/getRelatedIds.ts\"), __webpack_require__(/*! element-ui */ \"./node_modules/element-ui/lib/element-ui.common.js\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, renderObjectService_1, commandComponent_1, Longan, roamObjects_1, roamObject_1, pathRoamOperator_1, utility_1, getRelatedIds_1, element_ui_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n renderObjectService_1 = tslib_1.__importDefault(renderObjectService_1);\n Longan = tslib_1.__importStar(Longan);\n getRelatedIds_1 = tslib_1.__importDefault(getRelatedIds_1);\n\n var CommandShowPathRoam = function (_super) {\n tslib_1.__extends(CommandShowPathRoam, _super);\n\n function CommandShowPathRoam() {\n var _this = _super.call(this) || this;\n\n _this.typeName = \"CommandShowPathRoam\";\n _this.roamPlaying = false;\n _this.sphereRadius = 5;\n _this.targetsRadius = 3;\n _this.activeRoamIndex = -1;\n _this.animeId = null;\n _this.pathRoam = null;\n return _this;\n }\n\n CommandShowPathRoam.prototype.begin = function () {\n this.bindComponent = function () {\n return new Promise(function (resolve_1, reject_1) {\n Promise.resolve(/*! AMD require */).then(function() { var __WEBPACK_AMD_REQUIRE_ARRAY__ = [__webpack_require__(/*! ./showPathRoam.vue */ \"./packages/bimAir/src/viewerWrapper/commands/showPathRoam/showPathRoam.vue\")]; (resolve_1).apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__);}.bind(this))['catch'](reject_1.bind(this));\n }).then(tslib_1.__importStar);\n };\n\n this.pathRoam = this.viewer.process.animationManager.pathRoam;\n this.viewer.operatorManager.clear();\n this.show();\n this.getRoamObjects();\n this.viewer.operatorManager.add(new Longan.CameraMouse());\n this.viewer.operatorManager.add(new pathRoamOperator_1.PathRoamOperator());\n };\n\n CommandShowPathRoam.prototype.end = function () {\n this.clearCurved(this.viewer);\n this.viewer.process.animationManager.renderList.remove(\"pathRoam\");\n var ids = [];\n this.viewer.process.animationManager.renderList.forEach(function (item) {\n if (item.indexOf(\"roamPath\") > -1) {\n ids.push(item);\n }\n });\n\n for (var i = 0; i < ids.length; i++) {\n this.viewer.process.animationManager.renderList.remove(ids[i]);\n }\n\n this.viewer.process.animationManager.renderList.remove(this.animeId);\n\n if (this.viewer.process.animationManager.renderList.count() === 0) {\n this.viewer.process.animationManager.stop();\n }\n\n this.hide();\n };\n\n CommandShowPathRoam.prototype.getRoamObjects = function () {\n var _this = this;\n\n var renderObject = this.viewer.process.renderObject;\n var ids = (0, getRelatedIds_1.default)(this.viewer);\n this.roamObjects = this.viewer.process.findRenderObjectByType(\"RoamObjects\");\n\n if (!this.roamObjects) {\n this.roamObjects = new roamObjects_1.RoamObjects();\n this.viewer.process.addRenderObject(renderObject, this.roamObjects);\n }\n\n renderObjectService_1.default.getRenderObjectsRelated(\"RoamObject\", ids, this.viewer.options.tag).then(function (data) {\n if (data) {\n _this.roamPaths = data;\n\n _this.generateRoamObjects();\n\n data.forEach(function (item) {\n var roamObject = new roamObject_1.RoamObject();\n roamObject.deserialize(item);\n\n _this.viewer.process.addRenderObject(_this.roamObjects, roamObject);\n });\n }\n });\n };\n\n CommandShowPathRoam.prototype.generateRoamObjects = function () {\n var roamListForUI = [];\n\n if (this.roamPaths) {\n for (var i = 0; i < this.roamPaths.length; i++) {\n var data = this.roamPaths[i];\n roamListForUI.push(data);\n }\n\n this.commandData = roamListForUI;\n }\n };\n\n CommandShowPathRoam.prototype.addRoamPath = function (roamPathIndex) {\n var _this = this;\n\n var roamObject = new roamObject_1.RoamObject();\n var ids = (0, getRelatedIds_1.default)(this.viewer);\n roamObject.related = ids;\n roamObject.name = \"路径\" + roamPathIndex;\n roamObject.time = 20;\n roamObject.points = [];\n roamObject.targets = [];\n return renderObjectService_1.default.createRenderObject(\"\", roamObject.serialize(), this.viewer.options.tag).then(function (data) {\n if (data) {\n roamObject.deserialize(data);\n\n _this.roamPaths.push(data);\n\n _this.viewer.process.addRenderObject(_this.roamObjects, roamObject);\n\n _this.generateRoamObjects();\n\n return data;\n }\n\n return false;\n });\n };\n\n CommandShowPathRoam.prototype.deleteRoamPath = function (roamPathIndex) {\n var _this = this;\n\n renderObjectService_1.default.item.deleteRenderObject(this.roamPaths[roamPathIndex].id).then(function () {\n _this.roamPaths.splice(roamPathIndex, 1);\n\n _this.generateRoamObjects();\n });\n };\n\n CommandShowPathRoam.prototype.deleteAllRoamPath = function () {\n var _this = this;\n\n var ids = [];\n this.roamPaths.forEach(function (item) {\n ids.push(item.id);\n });\n renderObjectService_1.default.deleteRenderObjects(ids).then(function () {\n _this.roamPaths = [];\n\n _this.generateRoamObjects();\n });\n this.clearCurved(this.viewer);\n };\n\n CommandShowPathRoam.prototype.addRoamPoint = function (roamPathIndex) {\n var camera = this.viewer.sceneSegment.camera;\n var pos = camera.position;\n var tar = camera.target;\n this.roamPaths[roamPathIndex].points.push(pos);\n this.roamPaths[roamPathIndex].targets.push(tar);\n this.editRenderObject(roamPathIndex);\n this.drawCurved(this.viewer, roamPathIndex);\n };\n\n CommandShowPathRoam.prototype.deleteRoamPoint = function (roamPathIndex, roamPointIndex) {\n this.roamPaths[roamPathIndex].points.splice(roamPointIndex, 1);\n this.roamPaths[roamPathIndex].targets.splice(roamPointIndex, 1);\n this.editRenderObject(roamPathIndex);\n this.drawCurved(this.viewer, roamPathIndex);\n };\n\n CommandShowPathRoam.prototype.deleteAllRoamPoint = function (roamPathIndex) {\n this.roamPaths[roamPathIndex].points = [];\n this.roamPaths[roamPathIndex].targets = [];\n this.editRenderObject(roamPathIndex);\n this.clearCurved(this.viewer);\n };\n\n CommandShowPathRoam.prototype.editRenderObject = function (roamPathIndex) {\n var _this = this;\n\n var obj = this.roamPaths[roamPathIndex];\n var ro = new roamObject_1.RoamObject();\n ro.deserialize(obj);\n renderObjectService_1.default.item.editRenderObject(obj.id, ro.serialize()).then(function (data) {\n _this.roamPaths[roamPathIndex] = data;\n\n _this.roamObjects.childObjects[roamPathIndex].deserialize(data);\n\n _this.generateRoamObjects();\n });\n };\n\n CommandShowPathRoam.prototype.drawCurved = function (viewer, index) {\n var roamPathPoints = this.roamPaths[index].points;\n\n if (roamPathPoints.length >= 2) {\n var polyLines = (0, utility_1.computeCurvedPoints)(roamPathPoints);\n var sceneSegment = viewer.sceneSegment;\n var roamPath = sceneSegment.subsegment(\"roamPath\");\n roamPath.renderingOptions.depthRange = [0.1, 0.2];\n roamPath.forEach(function (seg) {\n seg.clearGeometries();\n });\n var roamPathLine = roamPath.subsegment(\"roamPathLine\");\n roamPathLine.color.setLine([0, 0, 0]);\n roamPathLine.insertPolyline(polyLines);\n var roamPathPoint = roamPath.subsegment(\"roamPathPoint\");\n roamPathPoint.color.setFace([255, 255, 0]);\n\n for (var i = 0; i < roamPathPoints.length; i++) {\n var subsegment = roamPathPoint.subsegment(\"roamPathPoint\" + i);\n var center = new Float64Array(3);\n center[0] = roamPathPoints[i][0];\n center[1] = roamPathPoints[i][1];\n center[2] = roamPathPoints[i][2];\n }\n\n var roamPathTargets = this.roamPaths[index].targets;\n var roamPathTarget = roamPath.subsegment(\"roamPathTarget\");\n roamPathTarget.color.setFace([0, 0, 255]);\n\n for (var i = 0; i < roamPathTargets.length; i++) {\n var subsegment = roamPathTarget.subsegment(\"roamPathTarget\" + i);\n var center = new Float64Array(3);\n center[0] = roamPathTargets[i][0];\n center[1] = roamPathTargets[i][1];\n center[2] = roamPathTargets[i][2];\n }\n\n viewer.updateDisplay();\n }\n };\n\n CommandShowPathRoam.prototype.clearCurved = function (viewer) {\n var roamPath = this.viewer.sceneSegment.subsegment(\"roamPath\");\n roamPath.forEach(function (seg) {\n seg.clearGeometries();\n });\n viewer.updateDisplay();\n };\n\n CommandShowPathRoam.prototype.playRoamPath = function (roamPathIndex, endFun, roamPointIndex) {\n if (roamPointIndex === void 0) {\n roamPointIndex = 0;\n }\n\n this.clearCurved(this.viewer);\n var pointLength = this.roamPaths[roamPathIndex].points.length;\n var roamTime = this.roamPaths[roamPathIndex].time / pointLength * (pointLength - roamPointIndex);\n var points = this.roamPaths[roamPathIndex].points.slice(roamPointIndex);\n var targets = this.roamPaths[roamPathIndex].targets.slice(roamPointIndex);\n\n if (points.length <= 1) {\n this.roamPlaying = false;\n element_ui_1.Message.warning(\"路径点数量过少,无法播放动画\");\n return false;\n }\n\n this.roamPlaying = true;\n this.animeId = this.pathRoam.addRoamPathAnime(roamTime, points, targets, endFun);\n this.viewer.process.animationManager.run([this.animeId]);\n return true;\n };\n\n CommandShowPathRoam.prototype.stopRoamPath = function (id, reDrawCurved) {\n if (reDrawCurved === void 0) {\n reDrawCurved = true;\n }\n\n console.log(\"stop\");\n this.roamPlaying = false;\n this.pathRoam.stopAnime(id);\n\n if (reDrawCurved) {\n this.drawCurved(this.viewer, this.activeRoamIndex);\n }\n };\n\n CommandShowPathRoam.prototype.pauseRoamPath = function (id) {\n this.roamPlaying = false;\n this.pathRoam.pauseAnime(id);\n };\n\n return CommandShowPathRoam;\n }(commandComponent_1.CommandComponent);\n\n exports[\"default\"] = CommandShowPathRoam;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWNrYWdlcy9iaW1BaXIvc3JjL3ZpZXdlcldyYXBwZXIvY29tbWFuZHMvc2hvd1BhdGhSb2FtL2NvbW1hbmRTaG93UGF0aFJvYW0udHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVlBO0FBQUE7O0FBZUE7QUFBQTs7QUFkQTtBQUVBO0FBRUE7QUFDQTtBQUlBO0FBRUE7QUFDQTs7QUFJQTs7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUdBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUFBOztBQUNBO0FBQ0E7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUdBO0FBQ0E7O0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUFBOztBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQU1BO0FBQUE7O0FBQ0E7QUFHQTs7QUFDQTtBQUNBO0FBQ0E7O0FBS0E7QUFBQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUVBO0FBQ0E7O0FBTUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFFQTtBQUNBOztBQU9BO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTs7QUFNQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7O0FBRUE7QUFBQTs7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUdBOztBQUNBOztBQUNBO0FBQ0E7QUFDQTs7QUErRUE7QUFDQTs7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7QUFHQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBV0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBOztBQStEQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTtBQUVBO0FBQ0E7QUFJQTtBQUNBOztBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQU9BO0FBQ0E7QUFDQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL2JpbWxpZ2h0LXBsYXRmb3JtLy4vcGFja2FnZXMvYmltQWlyL3NyYy92aWV3ZXJXcmFwcGVyL2NvbW1hbmRzL3Nob3dQYXRoUm9hbS9jb21tYW5kU2hvd1BhdGhSb2FtLnRzPzkwZjciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlbmRlck9iamVjdHNTZXJ2aWNlIGZyb20gXCIuLi8uLi8uLi9hcGkvcmVuZGVyT2JqZWN0U2VydmljZVwiO1xyXG5pbXBvcnQgeyBDb21tYW5kQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbW1hbmRDb21wb25lbnRcIjtcclxuaW1wb3J0ICogYXMgTG9uZ2FuIGZyb20gXCJncy1sb25nYW5cIjtcclxuXHJcbmltcG9ydCB7IFJvYW1PYmplY3RzIH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb2JqZWN0cy9yb2FtT2JqZWN0c1wiO1xyXG5pbXBvcnQgeyBSb2FtUGF0aCwgUm9hbU9iamVjdCB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29iamVjdHMvcm9hbU9iamVjdFwiO1xyXG5pbXBvcnQgeyBQYXRoUm9hbU9wZXJhdG9yIH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb3BlcmF0b3JzL3BhdGhSb2FtT3BlcmF0b3JcIjtcclxuaW1wb3J0IHsgY29tcHV0ZUN1cnZlZFBvaW50cyB9IGZyb20gXCIuLi8uLi8uLi91dGlscy91dGlsaXR5XCI7XHJcblxyXG5pbXBvcnQgZ2V0UmVsYXRlZElkcyBmcm9tIFwiLi4vLi4vbW9kdWxlL2dldFJlbGF0ZWRJZHNcIjtcclxuaW1wb3J0IFBhdGhSb2FtIGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L2FuaW1hdGlvbi9wYXRoUm9hbVwiO1xyXG5pbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSBcImVsZW1lbnQtdWlcIjtcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tbWFuZFNob3dQYXRoUm9hbSBleHRlbmRzIENvbW1hbmRDb21wb25lbnQge1xyXG4gIHR5cGVOYW1lID0gXCJDb21tYW5kU2hvd1BhdGhSb2FtXCI7XHJcbiAgcm9hbU9iamVjdHM6IFJvYW1PYmplY3RzO1xyXG4gIHJvYW1QbGF5aW5nID0gZmFsc2U7XHJcblxyXG4gIHNwaGVyZVJhZGl1cyA9IDU7XHJcbiAgdGFyZ2V0c1JhZGl1cyA9IDM7XHJcblxyXG4gIHJvYW1QYXRoczogUm9hbVBhdGhbXTtcclxuXHJcbiAgYWN0aXZlUm9hbUluZGV4OiBudW1iZXIgPSAtMTtcclxuXHJcbiAgYW5pbWVJZDogc3RyaW5nID0gbnVsbDtcclxuICBwYXRoUm9hbTogUGF0aFJvYW0gPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBiZWdpbigpIHtcclxuICAgIHRoaXMuYmluZENvbXBvbmVudCA9ICgpID0+IGltcG9ydChcIi4vc2hvd1BhdGhSb2FtLnZ1ZVwiKTtcclxuXHJcbiAgICB0aGlzLnBhdGhSb2FtID0gdGhpcy52aWV3ZXIucHJvY2Vzcy5hbmltYXRpb25NYW5hZ2VyLnBhdGhSb2FtO1xyXG4gICAgdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmNsZWFyKCk7XHJcblxyXG4gICAgdGhpcy5zaG93KCk7XHJcbiAgICB0aGlzLmdldFJvYW1PYmplY3RzKCk7XHJcblxyXG4gICAgLy/oh6rnlLHmvKvmuLguXHJcbiAgICB0aGlzLnZpZXdlci5vcGVyYXRvck1hbmFnZXIuYWRkKG5ldyBMb25nYW4uQ2FtZXJhTW91c2UoKSk7XHJcbiAgICB0aGlzLnZpZXdlci5vcGVyYXRvck1hbmFnZXIuYWRkKG5ldyBQYXRoUm9hbU9wZXJhdG9yKCkpO1xyXG4gIH1cclxuXHJcbiAgZW5kKCkge1xyXG4gICAgdGhpcy5jbGVhckN1cnZlZCh0aGlzLnZpZXdlcik7XHJcblxyXG4gICAgLy8g5Yig6Zmkd2FzZOeahOWKqOeUu1xyXG4gICAgdGhpcy52aWV3ZXIucHJvY2Vzcy5hbmltYXRpb25NYW5hZ2VyLnJlbmRlckxpc3QucmVtb3ZlKFwicGF0aFJvYW1cIik7XHJcbiAgICAvLyDliKDpmaTot6/lvoTmvKvmuLjliqjnlLsuXHJcbiAgICBsZXQgaWRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgdGhpcy52aWV3ZXIucHJvY2Vzcy5hbmltYXRpb25NYW5hZ2VyLnJlbmRlckxpc3QuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBpZiAoaXRlbS5pbmRleE9mKFwicm9hbVBhdGhcIikgPiAtMSkge1xyXG4gICAgICAgIGlkcy5wdXNoKGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaWRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIHRoaXMudmlld2VyLnByb2Nlc3MuYW5pbWF0aW9uTWFuYWdlci5yZW5kZXJMaXN0LnJlbW92ZShpZHNbaV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudmlld2VyLnByb2Nlc3MuYW5pbWF0aW9uTWFuYWdlci5yZW5kZXJMaXN0LnJlbW92ZSh0aGlzLmFuaW1lSWQpO1xyXG4gICAgaWYgKHRoaXMudmlld2VyLnByb2Nlc3MuYW5pbWF0aW9uTWFuYWdlci5yZW5kZXJMaXN0LmNvdW50KCkgPT09IDApIHtcclxuICAgICAgdGhpcy52aWV3ZXIucHJvY2Vzcy5hbmltYXRpb25NYW5hZ2VyLnN0b3AoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIGdldFJvYW1PYmplY3RzKCkge1xyXG4gICAgbGV0IHJlbmRlck9iamVjdCA9IHRoaXMudmlld2VyLnByb2Nlc3MucmVuZGVyT2JqZWN0O1xyXG4gICAgbGV0IGlkcyA9IGdldFJlbGF0ZWRJZHModGhpcy52aWV3ZXIpO1xyXG5cclxuICAgIHRoaXMucm9hbU9iamVjdHMgPVxyXG4gICAgICB0aGlzLnZpZXdlci5wcm9jZXNzLmZpbmRSZW5kZXJPYmplY3RCeVR5cGUoXCJSb2FtT2JqZWN0c1wiKTtcclxuICAgIGlmICghdGhpcy5yb2FtT2JqZWN0cykge1xyXG4gICAgICB0aGlzLnJvYW1PYmplY3RzID0gbmV3IFJvYW1PYmplY3RzKCk7XHJcbiAgICAgIHRoaXMudmlld2VyLnByb2Nlc3MuYWRkUmVuZGVyT2JqZWN0KHJlbmRlck9iamVjdCwgdGhpcy5yb2FtT2JqZWN0cyk7XHJcbiAgICB9XHJcbiAgICByZW5kZXJPYmplY3RzU2VydmljZVxyXG4gICAgICAuZ2V0UmVuZGVyT2JqZWN0c1JlbGF0ZWQoXCJSb2FtT2JqZWN0XCIsIGlkcywgdGhpcy52aWV3ZXIub3B0aW9ucy50YWcpXHJcbiAgICAgIC50aGVuKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgdGhpcy5yb2FtUGF0aHMgPSBkYXRhO1xyXG4gICAgICAgICAgdGhpcy5nZW5lcmF0ZVJvYW1PYmplY3RzKCk7XHJcblxyXG4gICAgICAgICAgZGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCByb2FtT2JqZWN0ID0gbmV3IFJvYW1PYmplY3QoKTtcclxuICAgICAgICAgICAgcm9hbU9iamVjdC5kZXNlcmlhbGl6ZShpdGVtKTtcclxuICAgICAgICAgICAgdGhpcy52aWV3ZXIucHJvY2Vzcy5hZGRSZW5kZXJPYmplY3QodGhpcy5yb2FtT2JqZWN0cywgcm9hbU9iamVjdCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVSb2FtT2JqZWN0cygpIHtcclxuICAgIGxldCByb2FtTGlzdEZvclVJID0gW107XHJcbiAgICBpZiAodGhpcy5yb2FtUGF0aHMpIHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnJvYW1QYXRocy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGxldCBkYXRhID0gdGhpcy5yb2FtUGF0aHNbaV07XHJcbiAgICAgICAgLy/nlJ/miJDop4bngrnliJfooaguXHJcbiAgICAgICAgcm9hbUxpc3RGb3JVSS5wdXNoKGRhdGEpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY29tbWFuZERhdGEgPSByb2FtTGlzdEZvclVJO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWRkUm9hbVBhdGgocm9hbVBhdGhJbmRleCkge1xyXG4gICAgbGV0IHJvYW1PYmplY3QgPSBuZXcgUm9hbU9iamVjdCgpO1xyXG4gICAgbGV0IGlkcyA9IGdldFJlbGF0ZWRJZHModGhpcy52aWV3ZXIpO1xyXG5cclxuICAgIHJvYW1PYmplY3QucmVsYXRlZCA9IGlkcztcclxuICAgIHJvYW1PYmplY3QubmFtZSA9IFwi6Lev5b6EXCIgKyByb2FtUGF0aEluZGV4O1xyXG4gICAgcm9hbU9iamVjdC50aW1lID0gMjA7XHJcbiAgICByb2FtT2JqZWN0LnBvaW50cyA9IFtdO1xyXG4gICAgcm9hbU9iamVjdC50YXJnZXRzID0gW107XHJcbiAgICByZXR1cm4gcmVuZGVyT2JqZWN0c1NlcnZpY2VcclxuICAgICAgLmNyZWF0ZVJlbmRlck9iamVjdChcIlwiLCByb2FtT2JqZWN0LnNlcmlhbGl6ZSgpLCB0aGlzLnZpZXdlci5vcHRpb25zLnRhZylcclxuICAgICAgLnRoZW4oKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICByb2FtT2JqZWN0LmRlc2VyaWFsaXplKGRhdGEpO1xyXG4gICAgICAgICAgdGhpcy5yb2FtUGF0aHMucHVzaChkYXRhKTtcclxuICAgICAgICAgIHRoaXMudmlld2VyLnByb2Nlc3MuYWRkUmVuZGVyT2JqZWN0KHRoaXMucm9hbU9iamVjdHMsIHJvYW1PYmplY3QpO1xyXG5cclxuICAgICAgICAgIHRoaXMuZ2VuZXJhdGVSb2FtT2JqZWN0cygpO1xyXG4gICAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDliKDpmaTljZXmnaHmvKvmuLjot6/lvoRcclxuICAgKiBAcGFyYW0gcm9hbVBhdGhJbmRleFxyXG4gICAqL1xyXG4gIGRlbGV0ZVJvYW1QYXRoKHJvYW1QYXRoSW5kZXgpIHtcclxuICAgIHJlbmRlck9iamVjdHNTZXJ2aWNlLml0ZW1cclxuICAgICAgLmRlbGV0ZVJlbmRlck9iamVjdCh0aGlzLnJvYW1QYXRoc1tyb2FtUGF0aEluZGV4XS5pZClcclxuICAgICAgLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucm9hbVBhdGhzLnNwbGljZShyb2FtUGF0aEluZGV4LCAxKTtcclxuICAgICAgICB0aGlzLmdlbmVyYXRlUm9hbU9iamVjdHMoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDliKDpmaTlhajpg6jmvKvmuLjot6/lvoRcclxuICAgKi9cclxuICBkZWxldGVBbGxSb2FtUGF0aCgpIHtcclxuICAgIGxldCBpZHMgPSBbXTtcclxuICAgIHRoaXMucm9hbVBhdGhzLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgaWRzLnB1c2goaXRlbS5pZCk7XHJcbiAgICB9KTtcclxuICAgIHJlbmRlck9iamVjdHNTZXJ2aWNlLmRlbGV0ZVJlbmRlck9iamVjdHMoaWRzKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5yb2FtUGF0aHMgPSBbXTtcclxuICAgICAgdGhpcy5nZW5lcmF0ZVJvYW1PYmplY3RzKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmNsZWFyQ3VydmVkKHRoaXMudmlld2VyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOa3u+WKoOWNleS4qua8q+a4uOeCuVxyXG4gICAqIEBwYXJhbSByb2FtUGF0aEluZGV4XHJcbiAgICovXHJcbiAgYWRkUm9hbVBvaW50KHJvYW1QYXRoSW5kZXgpIHtcclxuICAgIGxldCBjYW1lcmEgPSB0aGlzLnZpZXdlci5zY2VuZVNlZ21lbnQuY2FtZXJhO1xyXG5cclxuICAgIGxldCBwb3MgPSBjYW1lcmEucG9zaXRpb24gYXMgTG9uZ2FuLlZlY3RvcjtcclxuICAgIGxldCB0YXIgPSBjYW1lcmEudGFyZ2V0O1xyXG5cclxuICAgIHRoaXMucm9hbVBhdGhzW3JvYW1QYXRoSW5kZXhdLnBvaW50cy5wdXNoKHBvcyk7XHJcbiAgICB0aGlzLnJvYW1QYXRoc1tyb2FtUGF0aEluZGV4XS50YXJnZXRzLnB1c2godGFyKTtcclxuXHJcbiAgICB0aGlzLmVkaXRSZW5kZXJPYmplY3Qocm9hbVBhdGhJbmRleCk7XHJcblxyXG4gICAgdGhpcy5kcmF3Q3VydmVkKHRoaXMudmlld2VyLCByb2FtUGF0aEluZGV4KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOWIoOmZpOWNleS4qua8q+a4uOeCuVxyXG4gICAqIEBwYXJhbSByb2FtUGF0aEluZGV4XHJcbiAgICogQHBhcmFtIHJvYW1Qb2ludEluZGV4XHJcbiAgICovXHJcbiAgZGVsZXRlUm9hbVBvaW50KHJvYW1QYXRoSW5kZXgsIHJvYW1Qb2ludEluZGV4KSB7XHJcbiAgICB0aGlzLnJvYW1QYXRoc1tyb2FtUGF0aEluZGV4XS5wb2ludHMuc3BsaWNlKHJvYW1Qb2ludEluZGV4LCAxKTtcclxuICAgIHRoaXMucm9hbVBhdGhzW3JvYW1QYXRoSW5kZXhdLnRhcmdldHMuc3BsaWNlKHJvYW1Qb2ludEluZGV4LCAxKTtcclxuXHJcbiAgICB0aGlzLmVkaXRSZW5kZXJPYmplY3Qocm9hbVBhdGhJbmRleCk7XHJcblxyXG4gICAgdGhpcy5kcmF3Q3VydmVkKHRoaXMudmlld2VyLCByb2FtUGF0aEluZGV4KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOWIoOmZpOWFqOmDqOa8q+a4uOeCuVxyXG4gICAqIEBwYXJhbSByb2FtUGF0aEluZGV4XHJcbiAgICovXHJcbiAgZGVsZXRlQWxsUm9hbVBvaW50KHJvYW1QYXRoSW5kZXgpIHtcclxuICAgIHRoaXMucm9hbVBhdGhzW3JvYW1QYXRoSW5kZXhdLnBvaW50cyA9IFtdO1xyXG4gICAgdGhpcy5yb2FtUGF0aHNbcm9hbVBhdGhJbmRleF0udGFyZ2V0cyA9IFtdO1xyXG5cclxuICAgIHRoaXMuZWRpdFJlbmRlck9iamVjdChyb2FtUGF0aEluZGV4KTtcclxuXHJcbiAgICB0aGlzLmNsZWFyQ3VydmVkKHRoaXMudmlld2VyKTtcclxuICB9XHJcblxyXG4gIGVkaXRSZW5kZXJPYmplY3Qocm9hbVBhdGhJbmRleCkge1xyXG4gICAgbGV0IG9iaiA9IHRoaXMucm9hbVBhdGhzW3JvYW1QYXRoSW5kZXhdO1xyXG5cclxuICAgIGxldCBybyA9IG5ldyBSb2FtT2JqZWN0KCk7XHJcbiAgICByby5kZXNlcmlhbGl6ZShvYmopO1xyXG5cclxuICAgIHJlbmRlck9iamVjdHNTZXJ2aWNlLml0ZW1cclxuICAgICAgLmVkaXRSZW5kZXJPYmplY3Qob2JqLmlkLCByby5zZXJpYWxpemUoKSlcclxuICAgICAgLnRoZW4oKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMucm9hbVBhdGhzW3JvYW1QYXRoSW5kZXhdID0gZGF0YTtcclxuICAgICAgICB0aGlzLnJvYW1PYmplY3RzLmNoaWxkT2JqZWN0c1tyb2FtUGF0aEluZGV4XS5kZXNlcmlhbGl6ZShkYXRhKTtcclxuICAgICAgICB0aGlzLmdlbmVyYXRlUm9hbU9iamVjdHMoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBwbGF5Um9hbVBhdGgocm9hbVBhdGhJbmRleCwgZW5kRnVuOiAoKSA9PiB2b2lkLCByb2FtUG9pbnRJbmRleCA9IDApIHtcclxuICAvLyAgIHRoaXMuY2xlYXJDdXJ2ZWQodGhpcy52aWV3ZXIpO1xyXG5cclxuICAvLyAgIGNvbnNvbGUubG9nKFwicGxheVwiKTtcclxuICAvLyAgIGxldCBwb2ludExlbmd0aCA9IHRoaXMucm9hbVBhdGhzW3JvYW1QYXRoSW5kZXhdLnBvaW50cy5sZW5ndGg7XHJcbiAgLy8gICBsZXQgcm9hbVRpbWUgPVxyXG4gIC8vICAgICAodGhpcy5yb2FtUGF0aHNbcm9hbVBhdGhJbmRleF0udGltZSAvIHBvaW50TGVuZ3RoKSAqXHJcbiAgLy8gICAgIChwb2ludExlbmd0aCAtIHJvYW1Qb2ludEluZGV4KTtcclxuXHJcbiAgLy8gICBsZXQgaWQgPSBcInJvYW1QYXRoXCI7XHJcbiAgLy8gICB0aGlzLnJvYW1QbGF5aW5nID0gdHJ1ZTtcclxuXHJcbiAgLy8gICBsZXQgcmVuZGVyRWxlbWVudCA9IHtcclxuICAvLyAgICAgaXNTdG9wOiB0cnVlLFxyXG4gIC8vICAgICBmdW5jOiAoZGVsdGFUaW1lKSA9PiB7XHJcbiAgLy8gICAgICAgaWYgKGRlbHRhVGltZSA+IDEpIHtcclxuICAvLyAgICAgICAgIHJldHVybjtcclxuICAvLyAgICAgICB9XHJcblxyXG4gIC8vICAgICAgIHJlbmRlckVsZW1lbnQucGxheVRpbWUgKz0gZGVsdGFUaW1lO1xyXG4gIC8vICAgICAgIGxldCBwYWx5aW5nUGVyY2VudCA9IHJlbmRlckVsZW1lbnQucGxheVRpbWUgLyByb2FtVGltZTtcclxuXHJcbiAgLy8gICAgICAgaWYgKHBhbHlpbmdQZXJjZW50ID4gMSkge1xyXG4gIC8vICAgICAgICAgcGFseWluZ1BlcmNlbnQgPSAxO1xyXG4gIC8vICAgICAgIH1cclxuXHJcbiAgLy8gICAgICAgLy/ojrflj5blvZPliY3ov5vluqbnmoTplZzlpLRQb3NpdGlvbi5cclxuICAvLyAgICAgICBsZXQgbmV3UG9zaXRpb24gPSB0aGlzLkdldENhbWVyYVBvaW50KFxyXG4gIC8vICAgICAgICAgdGhpcy5yb2FtUGF0aHNbcm9hbVBhdGhJbmRleF0ucG9pbnRzLnNsaWNlKHJvYW1Qb2ludEluZGV4KSxcclxuICAvLyAgICAgICAgIHBhbHlpbmdQZXJjZW50XHJcbiAgLy8gICAgICAgKTtcclxuICAvLyAgICAgICAvL+iOt+WPluW9k+WJjei/m+W6pueahOmVnOWktFRhcmdldFxyXG4gIC8vICAgICAgIGxldCBuZXdUYXJnZXQgPSB0aGlzLkdldENhbWVyYVBvaW50KFxyXG4gIC8vICAgICAgICAgdGhpcy5yb2FtUGF0aHNbcm9hbVBhdGhJbmRleF0udGFyZ2V0cy5zbGljZShyb2FtUG9pbnRJbmRleCksXHJcbiAgLy8gICAgICAgICBwYWx5aW5nUGVyY2VudFxyXG4gIC8vICAgICAgICk7XHJcbiAgLy8gICAgICAgLy/orqHnrpdjYW1lcmEgdXBcclxuICAvLyAgICAgICBsZXQgZGlyID0gTG9uZ2FuLkRQb2ludC5zdWJ0cmFjdChcclxuICAvLyAgICAgICAgIG5ld1RhcmdldCBhcyBGbG9hdDY0QXJyYXksXHJcbiAgLy8gICAgICAgICBuZXdQb3NpdGlvbiBhcyBGbG9hdDY0QXJyYXlcclxuICAvLyAgICAgICApO1xyXG4gIC8vICAgICAgIExvbmdhbi5EVmVjdG9yLm5vcm1hbGl6ZShkaXIpO1xyXG4gIC8vICAgICAgIGxldCB6X0F4aXMgPSBuZXcgRmxvYXQ2NEFycmF5KFswLCAwLCAxXSk7XHJcbiAgLy8gICAgICAgaWYgKGRpclswXSA9PSB6X0F4aXNbMF0gJiYgZGlyWzFdID09IHpfQXhpc1sxXSAmJiBkaXJbMl0gPT0gel9BeGlzWzJdKSB7XHJcbiAgLy8gICAgICAgICB6X0F4aXMgPSBuZXcgRmxvYXQ2NEFycmF5KFsxLCAwLCAwXSk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICAgIGxldCB4X0F4aXMgPSBMb25nYW4uRFZlY3Rvci5jcm9zcyhkaXIsIHpfQXhpcyk7XHJcbiAgLy8gICAgICAgTG9uZ2FuLkRWZWN0b3Iubm9ybWFsaXplKHhfQXhpcyk7XHJcbiAgLy8gICAgICAgbGV0IG5ld1VwID0gTG9uZ2FuLkRWZWN0b3IuY3Jvc3MoeF9BeGlzLCBkaXIpO1xyXG5cclxuICAvLyAgICAgICBKU19PcGVuX1NlZ21lbnRfQnlfS2V5KHRoaXMudmlld2VyLnNjZW5lS2V5KTtcclxuICAvLyAgICAgICB7XHJcbiAgLy8gICAgICAgICBKU19TZXRfQ2FtZXJhX1Bvc2l0aW9uKG5ld1Bvc2l0aW9uKTtcclxuXHJcbiAgLy8gICAgICAgICBKU19TZXRfQ2FtZXJhX1RhcmdldChuZXdUYXJnZXQpO1xyXG4gIC8vICAgICAgICAgSlNfU2V0X0NhbWVyYV9VcChuZXdVcCk7XHJcblxyXG4gIC8vICAgICAgICAgLy8gSlNfU2V0X0NhbWVyYV9UYXJnZXQodGhpcy50YXJnZXQpO1xyXG4gIC8vICAgICAgICAgLy8gSlNfU2V0X0NhbWVyYV9VcChbMCwgMCwgMV0pO1xyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgICBKU19DbG9zZV9TZWdtZW50KCk7XHJcblxyXG4gIC8vICAgICAgIGlmIChwYWx5aW5nUGVyY2VudCA9PT0gMSkge1xyXG4gIC8vICAgICAgICAgdGhpcy5zdG9wUm9hbVBhdGgoaWQpO1xyXG4gIC8vICAgICAgICAgY29uc29sZS5sb2coXCLliqjnlLvnu5PmnZ9cIik7XHJcbiAgLy8gICAgICAgICBlbmRGdW4oKTtcclxuICAvLyAgICAgICAgIHRoaXMuZHJhd0N1cnZlZCh0aGlzLnZpZXdlciwgdGhpcy5hY3RpdmVSb2FtSW5kZXgpO1xyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgfSxcclxuICAvLyAgICAgcm9hbVRpbWUsXHJcbiAgLy8gICAgIHBsYXlUaW1lOiAwLFxyXG4gIC8vICAgfTtcclxuXHJcbiAgLy8gICB0aGlzLnByb2Nlc3MuYW5pbWF0aW9uTWFuYWdlci5yZW5kZXJMaXN0LmFkZChpZCwgcmVuZGVyRWxlbWVudCk7XHJcbiAgLy8gICB0aGlzLnZpZXdlci5wcm9jZXNzLmFuaW1hdGlvbk1hbmFnZXIucnVuKCk7XHJcbiAgLy8gfVxyXG5cclxuICBkcmF3Q3VydmVkKHZpZXdlcjogTG9uZ2FuLlZpZXdlciwgaW5kZXgpIHtcclxuICAgIGxldCByb2FtUGF0aFBvaW50cyA9IHRoaXMucm9hbVBhdGhzW2luZGV4XS5wb2ludHM7XHJcbiAgICBpZiAocm9hbVBhdGhQb2ludHMubGVuZ3RoID49IDIpIHtcclxuICAgICAgLy8g57uY5Yi26Lev5b6E5puy57q/XHJcbiAgICAgIGxldCBwb2x5TGluZXMgPSBjb21wdXRlQ3VydmVkUG9pbnRzKHJvYW1QYXRoUG9pbnRzKTtcclxuXHJcbiAgICAgIC8vIOe7mOWItuWFs+mUrueCuVxyXG4gICAgICBsZXQgc2NlbmVTZWdtZW50ID0gdmlld2VyLnNjZW5lU2VnbWVudDtcclxuICAgICAgbGV0IHJvYW1QYXRoID0gc2NlbmVTZWdtZW50LnN1YnNlZ21lbnQoXCJyb2FtUGF0aFwiKTtcclxuICAgICAgcm9hbVBhdGgucmVuZGVyaW5nT3B0aW9ucy5kZXB0aFJhbmdlID0gWzAuMSwgMC4yXTtcclxuICAgICAgcm9hbVBhdGguZm9yRWFjaCgoc2VnKSA9PiB7XHJcbiAgICAgICAgc2VnLmNsZWFyR2VvbWV0cmllcygpO1xyXG4gICAgICB9KTtcclxuICAgICAgbGV0IHJvYW1QYXRoTGluZSA9IHJvYW1QYXRoLnN1YnNlZ21lbnQoXCJyb2FtUGF0aExpbmVcIik7XHJcbiAgICAgIHJvYW1QYXRoTGluZS5jb2xvci5zZXRMaW5lKFswLCAwLCAwXSk7XHJcbiAgICAgIHJvYW1QYXRoTGluZS5pbnNlcnRQb2x5bGluZShwb2x5TGluZXMpO1xyXG4gICAgICBsZXQgcm9hbVBhdGhQb2ludCA9IHJvYW1QYXRoLnN1YnNlZ21lbnQoXCJyb2FtUGF0aFBvaW50XCIpO1xyXG4gICAgICByb2FtUGF0aFBvaW50LmNvbG9yLnNldEZhY2UoWzI1NSwgMjU1LCAwXSk7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcm9hbVBhdGhQb2ludHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBsZXQgc3Vic2VnbWVudCA9IHJvYW1QYXRoUG9pbnQuc3Vic2VnbWVudChcInJvYW1QYXRoUG9pbnRcIiArIGkpO1xyXG5cclxuICAgICAgICBsZXQgY2VudGVyID0gbmV3IEZsb2F0NjRBcnJheSgzKTtcclxuICAgICAgICBjZW50ZXJbMF0gPSByb2FtUGF0aFBvaW50c1tpXVswXTtcclxuICAgICAgICBjZW50ZXJbMV0gPSByb2FtUGF0aFBvaW50c1tpXVsxXTtcclxuICAgICAgICBjZW50ZXJbMl0gPSByb2FtUGF0aFBvaW50c1tpXVsyXTtcclxuICAgICAgICAvLyBzdWJzZWdtZW50Lmluc2VydFNwaGVyZShjZW50ZXIsIHRoaXMuc3BoZXJlUmFkaXVzLCAyMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIOe7mOWItuWFs+mUrueCueeahHRhcmdldC5cclxuICAgICAgbGV0IHJvYW1QYXRoVGFyZ2V0cyA9IHRoaXMucm9hbVBhdGhzW2luZGV4XS50YXJnZXRzO1xyXG4gICAgICBsZXQgcm9hbVBhdGhUYXJnZXQgPSByb2FtUGF0aC5zdWJzZWdtZW50KFwicm9hbVBhdGhUYXJnZXRcIik7XHJcbiAgICAgIHJvYW1QYXRoVGFyZ2V0LmNvbG9yLnNldEZhY2UoWzAsIDAsIDI1NV0pO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvYW1QYXRoVGFyZ2V0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGxldCBzdWJzZWdtZW50ID0gcm9hbVBhdGhUYXJnZXQuc3Vic2VnbWVudChcInJvYW1QYXRoVGFyZ2V0XCIgKyBpKTtcclxuXHJcbiAgICAgICAgbGV0IGNlbnRlciA9IG5ldyBGbG9hdDY0QXJyYXkoMyk7XHJcbiAgICAgICAgY2VudGVyWzBdID0gcm9hbVBhdGhUYXJnZXRzW2ldWzBdO1xyXG4gICAgICAgIGNlbnRlclsxXSA9IHJvYW1QYXRoVGFyZ2V0c1tpXVsxXTtcclxuICAgICAgICBjZW50ZXJbMl0gPSByb2FtUGF0aFRhcmdldHNbaV1bMl07XHJcbiAgICAgICAgLy8gc3Vic2VnbWVudC5pbnNlcnRTcGhlcmUoY2VudGVyLCB0aGlzLnRhcmdldHNSYWRpdXMsIDIwKTtcclxuXHJcbiAgICAgICAgLy8gbGV0IHZlY3RvclNlZ21lbnQgPSByb2FtUGF0aC5zdWJzZWdtZW50KFwicm9hbVBhdGhWZWN0b3JcIik7XHJcbiAgICAgICAgLy8gLy8g57uY5Yi2cG9pbnQgdG8gdGFyZ2V055qE5pa55ZCRLlxyXG4gICAgICAgIC8vIHZlY3RvclNlZ21lbnQuaW5zZXJ0Q3lsaW5kZXIoXHJcbiAgICAgICAgLy8gICByb2FtUGF0aFBvaW50c1tpXSxcclxuICAgICAgICAvLyAgIHJvYW1QYXRoVGFyZ2V0c1tpXSxcclxuICAgICAgICAvLyAgIDAuMyxcclxuICAgICAgICAvLyAgIEN5bGluZGVyQ2FwLkJvdGhcclxuICAgICAgICAvLyApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB2aWV3ZXIudXBkYXRlRGlzcGxheSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXJDdXJ2ZWQodmlld2VyOiBMb25nYW4uVmlld2VyKSB7XHJcbiAgICBsZXQgcm9hbVBhdGggPSB0aGlzLnZpZXdlci5zY2VuZVNlZ21lbnQuc3Vic2VnbWVudChcInJvYW1QYXRoXCIpO1xyXG4gICAgcm9hbVBhdGguZm9yRWFjaCgoc2VnKSA9PiB7XHJcbiAgICAgIHNlZy5jbGVhckdlb21ldHJpZXMoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHZpZXdlci51cGRhdGVEaXNwbGF5KCk7XHJcbiAgfVxyXG5cclxuICAvLyAvLy/ovpPlhaXot6/lvoTngrnpm4bkuI4wLTHnmoTnmb7liIbmr5Qs6I635Y+W6Lev5b6E54K5LlxyXG4gIC8vIEdldENhbWVyYVBvaW50KHdheXBvaW50czogTG9uZ2FuLlZlY3RvcltdLCB0OiBudW1iZXIpOiBMb25nYW4uVmVjdG9yIHtcclxuICAvLyAgIGxldCBnaXptb1BvaW50czogTG9uZ2FuLlZlY3RvcltdID0gbmV3IEFycmF5PExvbmdhbi5WZWN0b3I+KFxyXG4gIC8vICAgICB3YXlwb2ludHMubGVuZ3RoICsgMlxyXG4gIC8vICAgKTtcclxuICAvLyAgIGxldCBpbmRleCA9IDE7XHJcbiAgLy8gICBmb3IgKGxldCBpID0gMDsgaSA8IHdheXBvaW50cy5sZW5ndGg7IGkrKykge1xyXG4gIC8vICAgICBnaXptb1BvaW50c1tpbmRleF0gPSB3YXlwb2ludHNbaV07XHJcbiAgLy8gICAgIGluZGV4Kys7XHJcbiAgLy8gICB9XHJcbiAgLy8gICAvL3dheXBvaW50cy5Db3B5VG8oZ2l6bW9Qb2ludHMsIDEpO1xyXG4gIC8vICAgZ2l6bW9Qb2ludHNbMF0gPSB3YXlwb2ludHNbMV07XHJcbiAgLy8gICBnaXptb1BvaW50c1tnaXptb1BvaW50cy5sZW5ndGggLSAxXSA9IGdpem1vUG9pbnRzW2dpem1vUG9pbnRzLmxlbmd0aCAtIDJdO1xyXG5cclxuICAvLyAgIGxldCBudW1TZWN0aW9ucyA9IGdpem1vUG9pbnRzLmxlbmd0aCAtIDM7XHJcbiAgLy8gICBsZXQgdFNlYyA9IE1hdGguZmxvb3IodCAqIG51bVNlY3Rpb25zKTtcclxuICAvLyAgIGxldCBjdXJyUHQgPSBudW1TZWN0aW9ucyAtIDE7XHJcbiAgLy8gICBpZiAoY3VyclB0ID4gdFNlYykge1xyXG4gIC8vICAgICBjdXJyUHQgPSB0U2VjO1xyXG4gIC8vICAgfVxyXG4gIC8vICAgbGV0IHUgPSB0ICogbnVtU2VjdGlvbnMgLSBjdXJyUHQ7XHJcblxyXG4gIC8vICAgbGV0IGE6IExvbmdhbi5WZWN0b3IgPSBnaXptb1BvaW50c1tjdXJyUHRdO1xyXG4gIC8vICAgbGV0IGI6IExvbmdhbi5WZWN0b3IgPSBnaXptb1BvaW50c1tjdXJyUHQgKyAxXTtcclxuICAvLyAgIGxldCBjOiBMb25nYW4uVmVjdG9yID0gZ2l6bW9Qb2ludHNbY3VyclB0ICsgMl07XHJcbiAgLy8gICBsZXQgZDogTG9uZ2FuLlZlY3RvciA9IGdpem1vUG9pbnRzW2N1cnJQdCArIDNdO1xyXG5cclxuICAvLyAgIGxldCB4ID1cclxuICAvLyAgICAgMC41ICpcclxuICAvLyAgICAgKCgtYVswXSArIDMgKiBiWzBdIC0gMyAqIGNbMF0gKyBkWzBdKSAqICh1ICogdSAqIHUpICtcclxuICAvLyAgICAgICAoMiAqIGFbMF0gLSA1ICogYlswXSArIDQgKiBjWzBdIC0gZFswXSkgKiAodSAqIHUpICtcclxuICAvLyAgICAgICAoLWFbMF0gKyBjWzBdKSAqIHUgK1xyXG4gIC8vICAgICAgIDIgKiBiWzBdKTtcclxuICAvLyAgIGxldCB5ID1cclxuICAvLyAgICAgMC41ICpcclxuICAvLyAgICAgKCgtYVsxXSArIDMgKiBiWzFdIC0gMyAqIGNbMV0gKyBkWzFdKSAqICh1ICogdSAqIHUpICtcclxuICAvLyAgICAgICAoMiAqIGFbMV0gLSA1ICogYlsxXSArIDQgKiBjWzFdIC0gZFsxXSkgKiAodSAqIHUpICtcclxuICAvLyAgICAgICAoLWFbMV0gKyBjWzFdKSAqIHUgK1xyXG4gIC8vICAgICAgIDIgKiBiWzFdKTtcclxuICAvLyAgIGxldCB6ID1cclxuICAvLyAgICAgMC41ICpcclxuICAvLyAgICAgKCgtYVsyXSArIDMgKiBiWzJdIC0gMyAqIGNbMl0gKyBkWzJdKSAqICh1ICogdSAqIHUpICtcclxuICAvLyAgICAgICAoMiAqIGFbMl0gLSA1ICogYlsyXSArIDQgKiBjWzJdIC0gZFsyXSkgKiAodSAqIHUpICtcclxuICAvLyAgICAgICAoLWFbMl0gKyBjWzJdKSAqIHUgK1xyXG4gIC8vICAgICAgIDIgKiBiWzJdKTtcclxuXHJcbiAgLy8gICBsZXQgdmVjdG9yID0gbmV3IExvbmdhbi5WZWN0b3IoKTtcclxuICAvLyAgIHZlY3RvclswXSA9IHg7XHJcbiAgLy8gICB2ZWN0b3JbMV0gPSB5O1xyXG4gIC8vICAgdmVjdG9yWzJdID0gejtcclxuXHJcbiAgLy8gICByZXR1cm4gdmVjdG9yO1xyXG4gIC8vIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5Yib5bu66Lev5b6E5bm25pKt5pS+XHJcbiAgICogQHBhcmFtIHJvYW1QYXRoSW5kZXgg5b2T5YmN57yW6L6R6Lev5b6E55qE57Si5byVXHJcbiAgICogQHBhcmFtIGVuZEZ1biDnu5PmnZ/mkq3mlL7nmoTlm57osIPkuovku7ZcclxuICAgKiBAcGFyYW0gcm9hbVBvaW50SW5kZXgg5b2T5YmN6YCJ5oup54K555qE57Si5byVXHJcbiAgICogQHJldHVybnMg5piv5ZCm5oiQ5YqfLlxyXG4gICAqL1xyXG4gIHBsYXlSb2FtUGF0aChyb2FtUGF0aEluZGV4LCBlbmRGdW46ICgpID0+IHZvaWQsIHJvYW1Qb2ludEluZGV4ID0gMCk6IGJvb2xlYW4ge1xyXG4gICAgdGhpcy5jbGVhckN1cnZlZCh0aGlzLnZpZXdlcik7XHJcblxyXG4gICAgbGV0IHBvaW50TGVuZ3RoID0gdGhpcy5yb2FtUGF0aHNbcm9hbVBhdGhJbmRleF0ucG9pbnRzLmxlbmd0aDtcclxuICAgIGxldCByb2FtVGltZSA9XHJcbiAgICAgICh0aGlzLnJvYW1QYXRoc1tyb2FtUGF0aEluZGV4XS50aW1lIC8gcG9pbnRMZW5ndGgpICpcclxuICAgICAgKHBvaW50TGVuZ3RoIC0gcm9hbVBvaW50SW5kZXgpO1xyXG5cclxuICAgIGxldCBwb2ludHMgPSB0aGlzLnJvYW1QYXRoc1tyb2FtUGF0aEluZGV4XS5wb2ludHMuc2xpY2Uocm9hbVBvaW50SW5kZXgpO1xyXG4gICAgbGV0IHRhcmdldHMgPSB0aGlzLnJvYW1QYXRoc1tyb2FtUGF0aEluZGV4XS50YXJnZXRzLnNsaWNlKHJvYW1Qb2ludEluZGV4KTtcclxuICAgIGlmIChwb2ludHMubGVuZ3RoIDw9IDEpIHtcclxuICAgICAgdGhpcy5yb2FtUGxheWluZyA9IGZhbHNlO1xyXG4gICAgICAvLyBNZXNzYWdlQm94LmFsZXJ0KFwi6Lev5b6E54K55pWw6YeP5Li6MFwiLCBcIuaSreaUvui3r+W+hOa8q+a4uOWHuumUmVwiKTtcclxuICAgICAgTWVzc2FnZS53YXJuaW5nKFwi6Lev5b6E54K55pWw6YeP6L+H5bCRLOaXoOazleaSreaUvuWKqOeUu1wiKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucm9hbVBsYXlpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5hbmltZUlkID0gdGhpcy5wYXRoUm9hbS5hZGRSb2FtUGF0aEFuaW1lKFxyXG4gICAgICByb2FtVGltZSxcclxuICAgICAgcG9pbnRzLFxyXG4gICAgICB0YXJnZXRzLFxyXG4gICAgICBlbmRGdW5cclxuICAgICk7XHJcblxyXG4gICAgdGhpcy52aWV3ZXIucHJvY2Vzcy5hbmltYXRpb25NYW5hZ2VyLnJ1bihbdGhpcy5hbmltZUlkXSk7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHN0b3BSb2FtUGF0aChpZDogc3RyaW5nLCByZURyYXdDdXJ2ZWQ6IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICBjb25zb2xlLmxvZyhcInN0b3BcIik7XHJcbiAgICB0aGlzLnJvYW1QbGF5aW5nID0gZmFsc2U7XHJcbiAgICB0aGlzLnBhdGhSb2FtLnN0b3BBbmltZShpZCk7XHJcblxyXG4gICAgaWYgKHJlRHJhd0N1cnZlZCkge1xyXG4gICAgICB0aGlzLmRyYXdDdXJ2ZWQodGhpcy52aWV3ZXIsIHRoaXMuYWN0aXZlUm9hbUluZGV4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHBhdXNlUm9hbVBhdGgoaWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5yb2FtUGxheWluZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5wYXRoUm9hbS5wYXVzZUFuaW1lKGlkKTtcclxuICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./packages/bimAir/src/viewerWrapper/commands/showPathRoam/commandShowPathRoam.ts\n");
|
|
5308
5308
|
|
|
5309
5309
|
/***/ }),
|
|
5310
5310
|
|
|
@@ -5344,7 +5344,7 @@ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_
|
|
|
5344
5344
|
\********************************************************************************************************************************************************************************************************************************************************/
|
|
5345
5345
|
/***/ (function(module, exports, __webpack_require__) {
|
|
5346
5346
|
|
|
5347
|
-
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_require__(/*! core-js/modules/es.array.find.js */ \"./node_modules/core-js/modules/es.array.find.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! element-ui */ \"./node_modules/element-ui/lib/element-ui.common.js\"), __webpack_require__(/*! vue-property-decorator */ \"./node_modules/vue-property-decorator/lib/vue-property-decorator.js\"), __webpack_require__(/*! ../../../components/gs/gsButtonIcon/gs-button-icon.vue */ \"./packages/bimAir/src/components/gs/gsButtonIcon/gs-button-icon.vue\"), __webpack_require__(/*! ../../../store */ \"./packages/bimAir/src/store/index.ts\"), __webpack_require__(/*! ../../../store/toolbar */ \"./packages/bimAir/src/store/toolbar.ts\"), __webpack_require__(/*! ../../commands/commandSelect */ \"./packages/bimAir/src/viewerWrapper/commands/commandSelect.ts\"), __webpack_require__(/*! ../../commands/showPathRoam/commandShowPathRoam */ \"./packages/bimAir/src/viewerWrapper/commands/showPathRoam/commandShowPathRoam.ts\"), __webpack_require__(/*! ../../commands/showThirdPersonRoam/commandShowThirdPersonRoam */ \"./packages/bimAir/src/viewerWrapper/commands/showThirdPersonRoam/commandShowThirdPersonRoam.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, element_ui_1, vue_property_decorator_1, gs_button_icon_vue_1, store_1, toolbar_1, commandSelect_1, commandShowPathRoam_1, commandShowThirdPersonRoam_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n gs_button_icon_vue_1 = tslib_1.__importDefault(gs_button_icon_vue_1);\n store_1 = tslib_1.__importDefault(store_1);\n commandShowPathRoam_1 = tslib_1.__importDefault(commandShowPathRoam_1);\n commandShowThirdPersonRoam_1 = tslib_1.__importDefault(commandShowThirdPersonRoam_1);\n vue_property_decorator_1.Vue.use(element_ui_1.InputNumber);\n\n var RoamToolbar = function (_super) {\n tslib_1.__extends(RoamToolbar, _super);\n\n function RoamToolbar() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.commandShowPathRoam = new commandShowPathRoam_1.default();\n _this.commandShowThirdPersonRoam = new commandShowThirdPersonRoam_1.default();\n _this.speed = 1;\n _this.isGravity = false;\n _this.isCollision = false;\n return _this;\n }\n\n Object.defineProperty(RoamToolbar.prototype, \"viewer\", {\n get: function get() {\n return this.getViewer();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RoamToolbar.prototype, \"isRoamActive\", {\n get: function get() {\n return this.commandShowPathRoam.visible;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RoamToolbar.prototype, \"isThirdPersonRoamActive\", {\n get: function get() {\n return this.commandShowThirdPersonRoam.visible;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RoamToolbar.prototype, \"toolbarVisible\", {\n get: function get() {\n return this.viewer.options.toolbarVisible;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RoamToolbar.prototype, \"toolbarButtons\", {\n get: function get() {\n var toolbarButtons = this.viewer.options.components.roamToolbar.buttons;\n return toolbarButtons;\n },\n enumerable: false,\n configurable: true\n });\n\n RoamToolbar.prototype.showPathRoamClick = function () {\n if (this.commandShowPathRoam.visible) {\n this.viewer.process.commandManager.execute(new commandSelect_1.CommandSelect());\n } else {\n this.viewer.process.commandManager.execute(this.commandShowPathRoam);\n var pathRoamOperator = this.viewer.operatorManager.find(\"PathRoamOperator\");\n\n if (pathRoamOperator) {\n pathRoamOperator.speed = this.speed;\n }\n }\n };\n\n RoamToolbar.prototype.showThirdPersonClick = function () {\n if (this.commandShowThirdPersonRoam.visible) {\n this.viewer.process.commandManager.execute(new commandSelect_1.CommandSelect());\n } else {\n this.viewer.process.commandManager.execute(this.commandShowThirdPersonRoam);\n var freeRoamOperator = this.viewer.operatorManager.find(\"FreeRoamOperator\");\n\n if (freeRoamOperator) {\n freeRoamOperator.speed = this.speed;\n freeRoamOperator.isGravity = this.isGravity;\n }\n }\n };\n\n RoamToolbar.prototype.speedChange = function () {\n var freeRoamOperator = this.viewer.operatorManager.find(\"FreeRoamOperator\");\n\n if (freeRoamOperator) {\n freeRoamOperator.speed = this.speed;\n }\n\n var pathRoamOperator = this.viewer.operatorManager.find(\"PathRoamOperator\");\n\n if (pathRoamOperator) {\n pathRoamOperator.speed = this.speed;\n }\n };\n\n RoamToolbar.prototype.gravityChange = function (val) {\n var freeRoamOperator = this.viewer.operatorManager.find(\"FreeRoamOperator\");\n\n if (freeRoamOperator) {\n freeRoamOperator.isGravity = val;\n\n if (val) {\n if (!this.viewer.process.animationManager.isRunning) {\n this.viewer.process.animationManager.run();\n }\n }\n }\n };\n\n RoamToolbar.prototype.collisionChange = function (val) {\n var freeRoamOperator = this.viewer.operatorManager.find(\"FreeRoamOperator\");\n\n if (freeRoamOperator) {\n freeRoamOperator.isCollision = val;\n }\n };\n\n RoamToolbar.prototype.existClick = function () {\n store_1.default.commit(\"toolbar/resetToolbar\", this.viewer.container.id);\n\n if (this.viewer.process.animationManager.isRunning) {\n this.viewer.process.animationManager.stop();\n }\n\n this.viewer.process.commandManager.execute(new commandSelect_1.CommandSelect());\n };\n\n RoamToolbar.prototype.beforeDestroy = function () {\n store_1.default.commit(\"toolbar/changeToolbar\", {\n viewerId: this.viewer.container.id,\n toolbarType: toolbar_1.ToolbarType.IndexToolbar\n });\n };\n\n tslib_1.__decorate([(0, vue_property_decorator_1.Inject)()], RoamToolbar.prototype, \"getViewer\", void 0);\n\n RoamToolbar = tslib_1.__decorate([(0, vue_property_decorator_1.Component)({\n components: {\n GsButtonIcon: gs_button_icon_vue_1.default\n }\n })], RoamToolbar);\n return RoamToolbar;\n }(vue_property_decorator_1.Vue);\n\n exports[\"default\"] = RoamToolbar;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuL25vZGVfbW9kdWxlcy9AdnVlL2NsaS1wbHVnaW4tdHlwZXNjcmlwdC9ub2RlX21vZHVsZXMvdHMtbG9hZGVyL2luZGV4LmpzPz9jbG9uZWRSdWxlU2V0LTg3LnVzZVsxXSEuL3BhY2thZ2VzL2JpbUFpci9zcmMvdmlld2VyV3JhcHBlci9jb21wb25lbnRzL2JvdHRvbVRvb2xiYXIvcm9hbVRvb2xiYXIudHM/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9dHMmLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBWUE7O0FBTUE7QUFBQTs7QUFBQTtBQUFBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBbUhBOztBQWpIQTtBQUFBO0FBQ0E7QUFDQTtBQUZBOztBQUFBO0FBSUE7QUFBQTtBQUNBO0FBQ0E7QUFGQTs7QUFBQTtBQUlBO0FBQUE7QUFDQTtBQUNBO0FBRkE7O0FBQUE7QUFJQTtBQUFBO0FBQ0E7QUFDQTtBQUZBOztBQUFBO0FBSUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUhBOztBQUFBOztBQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFFQTs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7O0FBdkhBOztBQURBO0FBSkE7QUFDQTtBQURBO0FBREE7QUE4SEE7QUFBQTs7QUF6SEEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9iaW1saWdodC1wbGF0Zm9ybS8uL3BhY2thZ2VzL2JpbUFpci9zcmMvdmlld2VyV3JhcHBlci9jb21wb25lbnRzL2JvdHRvbVRvb2xiYXIvcm9hbVRvb2xiYXIudHM/NGU5OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dE51bWJlciB9IGZyb20gXCJlbGVtZW50LXVpXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBWdWUgfSBmcm9tIFwidnVlLXByb3BlcnR5LWRlY29yYXRvclwiO1xyXG5pbXBvcnQgR3NCdXR0b25JY29uIGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL2dzL2dzQnV0dG9uSWNvbi9ncy1idXR0b24taWNvbi52dWVcIjtcclxuaW1wb3J0IHsgRnJlZVJvYW1PcGVyYXRvciB9IGZyb20gXCIuLi8uLi8uLi9nc0RldkZ4L29wZXJhdG9ycy9mcmVlUm9hbU9wZXJhdG9yXCI7XHJcbmltcG9ydCB7IFBhdGhSb2FtT3BlcmF0b3IgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vcGVyYXRvcnMvcGF0aFJvYW1PcGVyYXRvclwiO1xyXG5pbXBvcnQgc3RvcmUgZnJvbSBcIi4uLy4uLy4uL3N0b3JlXCI7XHJcbmltcG9ydCB7IFRvb2xiYXJUeXBlIH0gZnJvbSBcIi4uLy4uLy4uL3N0b3JlL3Rvb2xiYXJcIjtcclxuaW1wb3J0IHsgQ29tbWFuZFNlbGVjdCB9IGZyb20gXCIuLi8uLi9jb21tYW5kcy9jb21tYW5kU2VsZWN0XCI7XHJcbmltcG9ydCBDb21tYW5kU2hvd1BhdGhSb2FtIGZyb20gXCIuLi8uLi9jb21tYW5kcy9zaG93UGF0aFJvYW0vY29tbWFuZFNob3dQYXRoUm9hbVwiO1xyXG5pbXBvcnQgY29tbWFuZFNob3dUaGlyZFBlcnNvblJvYW0gZnJvbSBcIi4uLy4uL2NvbW1hbmRzL3Nob3dUaGlyZFBlcnNvblJvYW0vY29tbWFuZFNob3dUaGlyZFBlcnNvblJvYW1cIjtcclxuaW1wb3J0IHsgVmlld2VyIH0gZnJvbSBcIi4vLi4vLi4vLi4vZ3NEZXZGeC92aWV3ZXJcIjtcclxuXHJcblZ1ZS51c2UoSW5wdXROdW1iZXIpO1xyXG5AQ29tcG9uZW50KHtcclxuICBjb21wb25lbnRzOiB7XHJcbiAgICBHc0J1dHRvbkljb24sXHJcbiAgfSxcclxufSlcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUm9hbVRvb2xiYXIgZXh0ZW5kcyBWdWUge1xyXG4gIEBJbmplY3QoKSBnZXRWaWV3ZXI7XHJcbiAgY29tbWFuZFNob3dQYXRoUm9hbSA9IG5ldyBDb21tYW5kU2hvd1BhdGhSb2FtKCk7XHJcbiAgY29tbWFuZFNob3dUaGlyZFBlcnNvblJvYW0gPSBuZXcgY29tbWFuZFNob3dUaGlyZFBlcnNvblJvYW0oKTtcclxuICBzcGVlZCA9IDE7XHJcbiAgaXNHcmF2aXR5ID0gZmFsc2U7XHJcbiAgaXNDb2xsaXNpb24gPSBmYWxzZTtcclxuXHJcbiAgZ2V0IHZpZXdlcigpOiBWaWV3ZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0Vmlld2VyKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNSb2FtQWN0aXZlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tbWFuZFNob3dQYXRoUm9hbS52aXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzVGhpcmRQZXJzb25Sb2FtQWN0aXZlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tbWFuZFNob3dUaGlyZFBlcnNvblJvYW0udmlzaWJsZTtcclxuICB9XHJcblxyXG4gIGdldCB0b29sYmFyVmlzaWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnZpZXdlci5vcHRpb25zLnRvb2xiYXJWaXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRvb2xiYXJCdXR0b25zKCkge1xyXG4gICAgbGV0IHRvb2xiYXJCdXR0b25zID0gdGhpcy52aWV3ZXIub3B0aW9ucy5jb21wb25lbnRzLnJvYW1Ub29sYmFyLmJ1dHRvbnM7XHJcbiAgICByZXR1cm4gdG9vbGJhckJ1dHRvbnM7XHJcbiAgfVxyXG5cclxuICAvLyAgIGdldCBpc1BhdGhSb2FtU2hvdygpIHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMudmlld2VyLnBhbmVsTWFuYWdlci52aWV3UG9pbnRQYW5lbC52aXNpYmxlO1xyXG4gIC8vICAgfVxyXG5cclxuICBzaG93UGF0aFJvYW1DbGljaygpIHtcclxuICAgIGlmICh0aGlzLmNvbW1hbmRTaG93UGF0aFJvYW0udmlzaWJsZSkge1xyXG4gICAgICB0aGlzLnZpZXdlci5wcm9jZXNzLmNvbW1hbmRNYW5hZ2VyLmV4ZWN1dGUobmV3IENvbW1hbmRTZWxlY3QoKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZpZXdlci5wcm9jZXNzLmNvbW1hbmRNYW5hZ2VyLmV4ZWN1dGUodGhpcy5jb21tYW5kU2hvd1BhdGhSb2FtKTtcclxuXHJcbiAgICAgIGxldCBwYXRoUm9hbU9wZXJhdG9yID0gdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmZpbmQoXHJcbiAgICAgICAgXCJQYXRoUm9hbU9wZXJhdG9yXCJcclxuICAgICAgKSBhcyBQYXRoUm9hbU9wZXJhdG9yO1xyXG4gICAgICBpZiAocGF0aFJvYW1PcGVyYXRvcikge1xyXG4gICAgICAgIHBhdGhSb2FtT3BlcmF0b3Iuc3BlZWQgPSB0aGlzLnNwZWVkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzaG93VGhpcmRQZXJzb25DbGljaygpIHtcclxuICAgIGlmICh0aGlzLmNvbW1hbmRTaG93VGhpcmRQZXJzb25Sb2FtLnZpc2libGUpIHtcclxuICAgICAgdGhpcy52aWV3ZXIucHJvY2Vzcy5jb21tYW5kTWFuYWdlci5leGVjdXRlKG5ldyBDb21tYW5kU2VsZWN0KCkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52aWV3ZXIucHJvY2Vzcy5jb21tYW5kTWFuYWdlci5leGVjdXRlKFxyXG4gICAgICAgIHRoaXMuY29tbWFuZFNob3dUaGlyZFBlcnNvblJvYW1cclxuICAgICAgKTtcclxuXHJcbiAgICAgIGxldCBmcmVlUm9hbU9wZXJhdG9yID0gdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmZpbmQoXHJcbiAgICAgICAgXCJGcmVlUm9hbU9wZXJhdG9yXCJcclxuICAgICAgKSBhcyBGcmVlUm9hbU9wZXJhdG9yO1xyXG4gICAgICBpZiAoZnJlZVJvYW1PcGVyYXRvcikge1xyXG4gICAgICAgIGZyZWVSb2FtT3BlcmF0b3Iuc3BlZWQgPSB0aGlzLnNwZWVkO1xyXG4gICAgICAgIGZyZWVSb2FtT3BlcmF0b3IuaXNHcmF2aXR5ID0gdGhpcy5pc0dyYXZpdHk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNwZWVkQ2hhbmdlKCkge1xyXG4gICAgbGV0IGZyZWVSb2FtT3BlcmF0b3IgPSB0aGlzLnZpZXdlci5vcGVyYXRvck1hbmFnZXIuZmluZChcclxuICAgICAgXCJGcmVlUm9hbU9wZXJhdG9yXCJcclxuICAgICkgYXMgRnJlZVJvYW1PcGVyYXRvcjtcclxuICAgIGlmIChmcmVlUm9hbU9wZXJhdG9yKSB7XHJcbiAgICAgIGZyZWVSb2FtT3BlcmF0b3Iuc3BlZWQgPSB0aGlzLnNwZWVkO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBwYXRoUm9hbU9wZXJhdG9yID0gdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmZpbmQoXHJcbiAgICAgIFwiUGF0aFJvYW1PcGVyYXRvclwiXHJcbiAgICApIGFzIFBhdGhSb2FtT3BlcmF0b3I7XHJcbiAgICBpZiAocGF0aFJvYW1PcGVyYXRvcikge1xyXG4gICAgICBwYXRoUm9hbU9wZXJhdG9yLnNwZWVkID0gdGhpcy5zcGVlZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdyYXZpdHlDaGFuZ2UodmFsKSB7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhcIumHjeWKmzpcIiwgdmFsKTtcclxuICAgIGxldCBmcmVlUm9hbU9wZXJhdG9yID0gdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmZpbmQoXHJcbiAgICAgIFwiRnJlZVJvYW1PcGVyYXRvclwiXHJcbiAgICApIGFzIEZyZWVSb2FtT3BlcmF0b3I7XHJcbiAgICBpZiAoZnJlZVJvYW1PcGVyYXRvcikge1xyXG4gICAgICBmcmVlUm9hbU9wZXJhdG9yLmlzR3Jhdml0eSA9IHZhbDtcclxuXHJcbiAgICAgIGlmICh2YWwpIHtcclxuICAgICAgICBpZiAoIXRoaXMudmlld2VyLnByb2Nlc3MuYW5pbWF0aW9uTWFuYWdlci5pc1J1bm5pbmcpIHtcclxuICAgICAgICAgIHRoaXMudmlld2VyLnByb2Nlc3MuYW5pbWF0aW9uTWFuYWdlci5ydW4oKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbGxpc2lvbkNoYW5nZSh2YWwpIHtcclxuICAgIGxldCBmcmVlUm9hbU9wZXJhdG9yID0gdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmZpbmQoXHJcbiAgICAgIFwiRnJlZVJvYW1PcGVyYXRvclwiXHJcbiAgICApIGFzIEZyZWVSb2FtT3BlcmF0b3I7XHJcbiAgICBpZiAoZnJlZVJvYW1PcGVyYXRvcikge1xyXG4gICAgICBmcmVlUm9hbU9wZXJhdG9yLmlzQ29sbGlzaW9uID0gdmFsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhpc3RDbGljaygpIHtcclxuICAgIHN0b3JlLmNvbW1pdChcInRvb2xiYXIvcmVzZXRUb29sYmFyXCIsIHRoaXMudmlld2VyLmNvbnRhaW5lci5pZCk7XHJcbiAgICBpZiAodGhpcy52aWV3ZXIucHJvY2Vzcy5hbmltYXRpb25NYW5hZ2VyLmlzUnVubmluZykge1xyXG4gICAgICB0aGlzLnZpZXdlci5wcm9jZXNzLmFuaW1hdGlvbk1hbmFnZXIuc3RvcCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy52aWV3ZXIucHJvY2Vzcy5jb21tYW5kTWFuYWdlci5leGVjdXRlKG5ldyBDb21tYW5kU2VsZWN0KCkpO1xyXG4gIH1cclxuXHJcbiAgYmVmb3JlRGVzdHJveSgpIHtcclxuICAgIHN0b3JlLmNvbW1pdChcInRvb2xiYXIvY2hhbmdlVG9vbGJhclwiLCB7XHJcbiAgICAgIHZpZXdlcklkOiB0aGlzLnZpZXdlci5jb250YWluZXIuaWQsXHJcbiAgICAgIHRvb2xiYXJUeXBlOiBUb29sYmFyVHlwZS5JbmRleFRvb2xiYXIsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-87.use[1]!./packages/bimAir/src/viewerWrapper/components/bottomToolbar/roamToolbar.ts?vue&type=script&lang=ts&\n");
|
|
5347
|
+
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_require__(/*! core-js/modules/es.array.find.js */ \"./node_modules/core-js/modules/es.array.find.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, exports, __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\"), __webpack_require__(/*! element-ui */ \"./node_modules/element-ui/lib/element-ui.common.js\"), __webpack_require__(/*! vue-property-decorator */ \"./node_modules/vue-property-decorator/lib/vue-property-decorator.js\"), __webpack_require__(/*! ../../../components/gs/gsButtonIcon/gs-button-icon.vue */ \"./packages/bimAir/src/components/gs/gsButtonIcon/gs-button-icon.vue\"), __webpack_require__(/*! ../../../store */ \"./packages/bimAir/src/store/index.ts\"), __webpack_require__(/*! ../../commands/commandSelect */ \"./packages/bimAir/src/viewerWrapper/commands/commandSelect.ts\"), __webpack_require__(/*! ../../commands/showPathRoam/commandShowPathRoam */ \"./packages/bimAir/src/viewerWrapper/commands/showPathRoam/commandShowPathRoam.ts\"), __webpack_require__(/*! ../../commands/showThirdPersonRoam/commandShowThirdPersonRoam */ \"./packages/bimAir/src/viewerWrapper/commands/showThirdPersonRoam/commandShowThirdPersonRoam.ts\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, tslib_1, element_ui_1, vue_property_decorator_1, gs_button_icon_vue_1, store_1, commandSelect_1, commandShowPathRoam_1, commandShowThirdPersonRoam_1) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", ({\n value: true\n }));\n gs_button_icon_vue_1 = tslib_1.__importDefault(gs_button_icon_vue_1);\n store_1 = tslib_1.__importDefault(store_1);\n commandShowPathRoam_1 = tslib_1.__importDefault(commandShowPathRoam_1);\n commandShowThirdPersonRoam_1 = tslib_1.__importDefault(commandShowThirdPersonRoam_1);\n vue_property_decorator_1.Vue.use(element_ui_1.InputNumber);\n\n var RoamToolbar = function (_super) {\n tslib_1.__extends(RoamToolbar, _super);\n\n function RoamToolbar() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.commandShowPathRoam = new commandShowPathRoam_1.default();\n _this.commandShowThirdPersonRoam = new commandShowThirdPersonRoam_1.default();\n _this.speed = 1;\n _this.isGravity = false;\n _this.isCollision = false;\n return _this;\n }\n\n Object.defineProperty(RoamToolbar.prototype, \"viewer\", {\n get: function get() {\n return this.getViewer();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RoamToolbar.prototype, \"isRoamActive\", {\n get: function get() {\n return this.commandShowPathRoam.visible;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RoamToolbar.prototype, \"isThirdPersonRoamActive\", {\n get: function get() {\n return this.commandShowThirdPersonRoam.visible;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RoamToolbar.prototype, \"toolbarVisible\", {\n get: function get() {\n return this.viewer.options.toolbarVisible;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RoamToolbar.prototype, \"toolbarButtons\", {\n get: function get() {\n var toolbarButtons = this.viewer.options.components.roamToolbar.buttons;\n return toolbarButtons;\n },\n enumerable: false,\n configurable: true\n });\n\n RoamToolbar.prototype.showPathRoamClick = function () {\n if (this.commandShowPathRoam.visible) {\n this.viewer.process.commandManager.execute(new commandSelect_1.CommandSelect());\n } else {\n this.viewer.process.commandManager.execute(this.commandShowPathRoam);\n var pathRoamOperator = this.viewer.operatorManager.find(\"PathRoamOperator\");\n\n if (pathRoamOperator) {\n pathRoamOperator.speed = this.speed;\n }\n }\n };\n\n RoamToolbar.prototype.showThirdPersonClick = function () {\n console.log(\"this.commandShowThirdPersonRoam\", this.commandShowThirdPersonRoam);\n\n if (this.commandShowThirdPersonRoam.visible) {\n this.viewer.process.commandManager.execute(new commandSelect_1.CommandSelect());\n } else {\n this.viewer.process.commandManager.execute(this.commandShowThirdPersonRoam);\n var freeRoamOperator = this.viewer.operatorManager.find(\"FreeRoamOperator\");\n\n if (freeRoamOperator) {\n freeRoamOperator.speed = this.speed;\n freeRoamOperator.isGravity = this.isGravity;\n }\n }\n };\n\n RoamToolbar.prototype.speedChange = function () {\n var freeRoamOperator = this.viewer.operatorManager.find(\"FreeRoamOperator\");\n\n if (freeRoamOperator) {\n freeRoamOperator.speed = this.speed;\n }\n\n var pathRoamOperator = this.viewer.operatorManager.find(\"PathRoamOperator\");\n\n if (pathRoamOperator) {\n pathRoamOperator.speed = this.speed;\n }\n };\n\n RoamToolbar.prototype.gravityChange = function (val) {\n var freeRoamOperator = this.viewer.operatorManager.find(\"FreeRoamOperator\");\n\n if (freeRoamOperator) {\n freeRoamOperator.isGravity = val;\n\n if (val) {\n if (!this.viewer.process.animationManager.isRunning) {\n this.viewer.process.animationManager.run();\n }\n }\n }\n };\n\n RoamToolbar.prototype.collisionChange = function (val) {\n var freeRoamOperator = this.viewer.operatorManager.find(\"FreeRoamOperator\");\n\n if (freeRoamOperator) {\n freeRoamOperator.isCollision = val;\n }\n };\n\n RoamToolbar.prototype.existClick = function () {\n this.viewer.process.commandManager.execute(new commandSelect_1.CommandSelect());\n store_1.default.commit(\"toolbar/resetToolbar\", this.viewer.container.id);\n\n if (this.viewer.process.animationManager.isRunning) {\n this.viewer.process.animationManager.stop();\n }\n };\n\n RoamToolbar.prototype.mounted = function () {};\n\n tslib_1.__decorate([(0, vue_property_decorator_1.Inject)()], RoamToolbar.prototype, \"getViewer\", void 0);\n\n RoamToolbar = tslib_1.__decorate([(0, vue_property_decorator_1.Component)({\n components: {\n GsButtonIcon: gs_button_icon_vue_1.default\n }\n })], RoamToolbar);\n return RoamToolbar;\n }(vue_property_decorator_1.Vue);\n\n exports[\"default\"] = RoamToolbar;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuL25vZGVfbW9kdWxlcy9AdnVlL2NsaS1wbHVnaW4tdHlwZXNjcmlwdC9ub2RlX21vZHVsZXMvdHMtbG9hZGVyL2luZGV4LmpzPz9jbG9uZWRSdWxlU2V0LTg3LnVzZVsxXSEuL3BhY2thZ2VzL2JpbUFpci9zcmMvdmlld2VyV3JhcHBlci9jb21wb25lbnRzL2JvdHRvbVRvb2xiYXIvcm9hbVRvb2xiYXIudHM/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9dHMmLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBWUE7O0FBTUE7QUFBQTs7QUFBQTtBQUFBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBOEhBOztBQTVIQTtBQUFBO0FBQ0E7QUFDQTtBQUZBOztBQUFBO0FBSUE7QUFBQTtBQUNBO0FBQ0E7QUFGQTs7QUFBQTtBQUlBO0FBQUE7QUFDQTtBQUNBO0FBRkE7O0FBQUE7QUFJQTtBQUFBO0FBQ0E7QUFDQTtBQUZBOztBQUFBO0FBSUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUhBOztBQUFBOztBQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFJQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFFQTs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQXZIQTs7QUFEQTtBQUpBO0FBQ0E7QUFEQTtBQURBO0FBeUlBO0FBQUE7O0FBcElBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYmltbGlnaHQtcGxhdGZvcm0vLi9wYWNrYWdlcy9iaW1BaXIvc3JjL3ZpZXdlcldyYXBwZXIvY29tcG9uZW50cy9ib3R0b21Ub29sYmFyL3JvYW1Ub29sYmFyLnRzPzRlOTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXROdW1iZXIgfSBmcm9tIFwiZWxlbWVudC11aVwiO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgVnVlIH0gZnJvbSBcInZ1ZS1wcm9wZXJ0eS1kZWNvcmF0b3JcIjtcclxuaW1wb3J0IEdzQnV0dG9uSWNvbiBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9ncy9nc0J1dHRvbkljb24vZ3MtYnV0dG9uLWljb24udnVlXCI7XHJcbmltcG9ydCB7IEZyZWVSb2FtT3BlcmF0b3IgfSBmcm9tIFwiLi4vLi4vLi4vZ3NEZXZGeC9vcGVyYXRvcnMvZnJlZVJvYW1PcGVyYXRvclwiO1xyXG5pbXBvcnQgeyBQYXRoUm9hbU9wZXJhdG9yIH0gZnJvbSBcIi4uLy4uLy4uL2dzRGV2Rngvb3BlcmF0b3JzL3BhdGhSb2FtT3BlcmF0b3JcIjtcclxuaW1wb3J0IHN0b3JlIGZyb20gXCIuLi8uLi8uLi9zdG9yZVwiO1xyXG5pbXBvcnQgeyBUb29sYmFyVHlwZSB9IGZyb20gXCIuLi8uLi8uLi9zdG9yZS90b29sYmFyXCI7XHJcbmltcG9ydCB7IENvbW1hbmRTZWxlY3QgfSBmcm9tIFwiLi4vLi4vY29tbWFuZHMvY29tbWFuZFNlbGVjdFwiO1xyXG5pbXBvcnQgQ29tbWFuZFNob3dQYXRoUm9hbSBmcm9tIFwiLi4vLi4vY29tbWFuZHMvc2hvd1BhdGhSb2FtL2NvbW1hbmRTaG93UGF0aFJvYW1cIjtcclxuaW1wb3J0IGNvbW1hbmRTaG93VGhpcmRQZXJzb25Sb2FtIGZyb20gXCIuLi8uLi9jb21tYW5kcy9zaG93VGhpcmRQZXJzb25Sb2FtL2NvbW1hbmRTaG93VGhpcmRQZXJzb25Sb2FtXCI7XHJcbmltcG9ydCB7IFZpZXdlciB9IGZyb20gXCIuLy4uLy4uLy4uL2dzRGV2Rngvdmlld2VyXCI7XHJcblxyXG5WdWUudXNlKElucHV0TnVtYmVyKTtcclxuQENvbXBvbmVudCh7XHJcbiAgY29tcG9uZW50czoge1xyXG4gICAgR3NCdXR0b25JY29uLFxyXG4gIH0sXHJcbn0pXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJvYW1Ub29sYmFyIGV4dGVuZHMgVnVlIHtcclxuICBASW5qZWN0KCkgZ2V0Vmlld2VyO1xyXG4gIGNvbW1hbmRTaG93UGF0aFJvYW0gPSBuZXcgQ29tbWFuZFNob3dQYXRoUm9hbSgpO1xyXG4gIGNvbW1hbmRTaG93VGhpcmRQZXJzb25Sb2FtID0gbmV3IGNvbW1hbmRTaG93VGhpcmRQZXJzb25Sb2FtKCk7XHJcbiAgc3BlZWQgPSAxO1xyXG4gIGlzR3Jhdml0eSA9IGZhbHNlO1xyXG4gIGlzQ29sbGlzaW9uID0gZmFsc2U7XHJcblxyXG4gIGdldCB2aWV3ZXIoKTogVmlld2VyIHtcclxuICAgIHJldHVybiB0aGlzLmdldFZpZXdlcigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzUm9hbUFjdGl2ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbW1hbmRTaG93UGF0aFJvYW0udmlzaWJsZTtcclxuICB9XHJcblxyXG4gIGdldCBpc1RoaXJkUGVyc29uUm9hbUFjdGl2ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbW1hbmRTaG93VGhpcmRQZXJzb25Sb2FtLnZpc2libGU7XHJcbiAgfVxyXG5cclxuICBnZXQgdG9vbGJhclZpc2libGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy52aWV3ZXIub3B0aW9ucy50b29sYmFyVmlzaWJsZTtcclxuICB9XHJcblxyXG4gIGdldCB0b29sYmFyQnV0dG9ucygpIHtcclxuICAgIGxldCB0b29sYmFyQnV0dG9ucyA9IHRoaXMudmlld2VyLm9wdGlvbnMuY29tcG9uZW50cy5yb2FtVG9vbGJhci5idXR0b25zO1xyXG4gICAgcmV0dXJuIHRvb2xiYXJCdXR0b25zO1xyXG4gIH1cclxuXHJcbiAgLy8gICBnZXQgaXNQYXRoUm9hbVNob3coKSB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLnZpZXdlci5wYW5lbE1hbmFnZXIudmlld1BvaW50UGFuZWwudmlzaWJsZTtcclxuICAvLyAgIH1cclxuXHJcbiAgc2hvd1BhdGhSb2FtQ2xpY2soKSB7XHJcbiAgICBpZiAodGhpcy5jb21tYW5kU2hvd1BhdGhSb2FtLnZpc2libGUpIHtcclxuICAgICAgdGhpcy52aWV3ZXIucHJvY2Vzcy5jb21tYW5kTWFuYWdlci5leGVjdXRlKG5ldyBDb21tYW5kU2VsZWN0KCkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52aWV3ZXIucHJvY2Vzcy5jb21tYW5kTWFuYWdlci5leGVjdXRlKHRoaXMuY29tbWFuZFNob3dQYXRoUm9hbSk7XHJcblxyXG4gICAgICBsZXQgcGF0aFJvYW1PcGVyYXRvciA9IHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5maW5kKFxyXG4gICAgICAgIFwiUGF0aFJvYW1PcGVyYXRvclwiXHJcbiAgICAgICkgYXMgUGF0aFJvYW1PcGVyYXRvcjtcclxuICAgICAgaWYgKHBhdGhSb2FtT3BlcmF0b3IpIHtcclxuICAgICAgICBwYXRoUm9hbU9wZXJhdG9yLnNwZWVkID0gdGhpcy5zcGVlZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvd1RoaXJkUGVyc29uQ2xpY2soKSB7XHJcbiAgICBjb25zb2xlLmxvZyhcclxuICAgICAgXCJ0aGlzLmNvbW1hbmRTaG93VGhpcmRQZXJzb25Sb2FtXCIsXHJcbiAgICAgIHRoaXMuY29tbWFuZFNob3dUaGlyZFBlcnNvblJvYW1cclxuICAgICk7XHJcbiAgICBpZiAodGhpcy5jb21tYW5kU2hvd1RoaXJkUGVyc29uUm9hbS52aXNpYmxlKSB7XHJcbiAgICAgIHRoaXMudmlld2VyLnByb2Nlc3MuY29tbWFuZE1hbmFnZXIuZXhlY3V0ZShuZXcgQ29tbWFuZFNlbGVjdCgpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmlld2VyLnByb2Nlc3MuY29tbWFuZE1hbmFnZXIuZXhlY3V0ZShcclxuICAgICAgICB0aGlzLmNvbW1hbmRTaG93VGhpcmRQZXJzb25Sb2FtXHJcbiAgICAgICk7XHJcblxyXG4gICAgICBsZXQgZnJlZVJvYW1PcGVyYXRvciA9IHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5maW5kKFxyXG4gICAgICAgIFwiRnJlZVJvYW1PcGVyYXRvclwiXHJcbiAgICAgICkgYXMgRnJlZVJvYW1PcGVyYXRvcjtcclxuICAgICAgaWYgKGZyZWVSb2FtT3BlcmF0b3IpIHtcclxuICAgICAgICBmcmVlUm9hbU9wZXJhdG9yLnNwZWVkID0gdGhpcy5zcGVlZDtcclxuICAgICAgICBmcmVlUm9hbU9wZXJhdG9yLmlzR3Jhdml0eSA9IHRoaXMuaXNHcmF2aXR5O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzcGVlZENoYW5nZSgpIHtcclxuICAgIGxldCBmcmVlUm9hbU9wZXJhdG9yID0gdGhpcy52aWV3ZXIub3BlcmF0b3JNYW5hZ2VyLmZpbmQoXHJcbiAgICAgIFwiRnJlZVJvYW1PcGVyYXRvclwiXHJcbiAgICApIGFzIEZyZWVSb2FtT3BlcmF0b3I7XHJcbiAgICBpZiAoZnJlZVJvYW1PcGVyYXRvcikge1xyXG4gICAgICBmcmVlUm9hbU9wZXJhdG9yLnNwZWVkID0gdGhpcy5zcGVlZDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgcGF0aFJvYW1PcGVyYXRvciA9IHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5maW5kKFxyXG4gICAgICBcIlBhdGhSb2FtT3BlcmF0b3JcIlxyXG4gICAgKSBhcyBQYXRoUm9hbU9wZXJhdG9yO1xyXG4gICAgaWYgKHBhdGhSb2FtT3BlcmF0b3IpIHtcclxuICAgICAgcGF0aFJvYW1PcGVyYXRvci5zcGVlZCA9IHRoaXMuc3BlZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBncmF2aXR5Q2hhbmdlKHZhbCkge1xyXG4gICAgLy8gY29uc29sZS5sb2coXCLph43lips6XCIsIHZhbCk7XHJcbiAgICBsZXQgZnJlZVJvYW1PcGVyYXRvciA9IHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5maW5kKFxyXG4gICAgICBcIkZyZWVSb2FtT3BlcmF0b3JcIlxyXG4gICAgKSBhcyBGcmVlUm9hbU9wZXJhdG9yO1xyXG4gICAgaWYgKGZyZWVSb2FtT3BlcmF0b3IpIHtcclxuICAgICAgZnJlZVJvYW1PcGVyYXRvci5pc0dyYXZpdHkgPSB2YWw7XHJcblxyXG4gICAgICBpZiAodmFsKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnZpZXdlci5wcm9jZXNzLmFuaW1hdGlvbk1hbmFnZXIuaXNSdW5uaW5nKSB7XHJcbiAgICAgICAgICB0aGlzLnZpZXdlci5wcm9jZXNzLmFuaW1hdGlvbk1hbmFnZXIucnVuKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb2xsaXNpb25DaGFuZ2UodmFsKSB7XHJcbiAgICBsZXQgZnJlZVJvYW1PcGVyYXRvciA9IHRoaXMudmlld2VyLm9wZXJhdG9yTWFuYWdlci5maW5kKFxyXG4gICAgICBcIkZyZWVSb2FtT3BlcmF0b3JcIlxyXG4gICAgKSBhcyBGcmVlUm9hbU9wZXJhdG9yO1xyXG4gICAgaWYgKGZyZWVSb2FtT3BlcmF0b3IpIHtcclxuICAgICAgZnJlZVJvYW1PcGVyYXRvci5pc0NvbGxpc2lvbiA9IHZhbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGV4aXN0Q2xpY2soKSB7XHJcbiAgICB0aGlzLnZpZXdlci5wcm9jZXNzLmNvbW1hbmRNYW5hZ2VyLmV4ZWN1dGUobmV3IENvbW1hbmRTZWxlY3QoKSk7XHJcblxyXG4gICAgc3RvcmUuY29tbWl0KFwidG9vbGJhci9yZXNldFRvb2xiYXJcIiwgdGhpcy52aWV3ZXIuY29udGFpbmVyLmlkKTtcclxuICAgIGlmICh0aGlzLnZpZXdlci5wcm9jZXNzLmFuaW1hdGlvbk1hbmFnZXIuaXNSdW5uaW5nKSB7XHJcbiAgICAgIHRoaXMudmlld2VyLnByb2Nlc3MuYW5pbWF0aW9uTWFuYWdlci5zdG9wKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtb3VudGVkKCkge1xyXG4gICAgLy8gY29uc29sZS5sb2coXCJ0aGlzLmNvbW1hbmRTaG93UGF0aFJvYW0gPSBuZXcgQ29tbWFuZFNob3dQYXRoUm9hbVwiKTtcclxuICAgIC8vIHRoaXMuY29tbWFuZFNob3dQYXRoUm9hbSA9IG5ldyBDb21tYW5kU2hvd1BhdGhSb2FtKCk7XHJcbiAgICAvLyB0aGlzLmNvbW1hbmRTaG93VGhpcmRQZXJzb25Sb2FtID0gbmV3IGNvbW1hbmRTaG93VGhpcmRQZXJzb25Sb2FtKCk7XHJcbiAgfVxyXG5cclxuICAvLyBiZWZvcmVEZXN0cm95KCkge1xyXG4gIC8vICAgc3RvcmUuY29tbWl0KFwidG9vbGJhci9jaGFuZ2VUb29sYmFyXCIsIHtcclxuICAvLyAgICAgdmlld2VySWQ6IHRoaXMudmlld2VyLmNvbnRhaW5lci5pZCxcclxuICAvLyAgICAgdG9vbGJhclR5cGU6IFRvb2xiYXJUeXBlLkluZGV4VG9vbGJhcixcclxuICAvLyAgIH0pO1xyXG4gIC8vIH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??clonedRuleSet-87.use[1]!./packages/bimAir/src/viewerWrapper/components/bottomToolbar/roamToolbar.ts?vue&type=script&lang=ts&\n");
|
|
5348
5348
|
|
|
5349
5349
|
/***/ }),
|
|
5350
5350
|
|
|
@@ -6726,7 +6726,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
6726
6726
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
6727
6727
|
|
|
6728
6728
|
"use strict";
|
|
6729
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": function() { return /* binding */ render; },\n/* harmony export */ \"staticRenderFns\": function() { return /* binding */ staticRenderFns; }\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c,\n _setup = _vm._self._setupProxy;\n\n return _c(\"div\", {\n staticClass: \"toolbar\"\n }, [_c(_vm.toolbar, {\n
|
|
6729
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": function() { return /* binding */ render; },\n/* harmony export */ \"staticRenderFns\": function() { return /* binding */ staticRenderFns; }\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c,\n _setup = _vm._self._setupProxy;\n\n return _c(\"div\", {\n staticClass: \"toolbar\"\n }, [_c(\"index-toolbar\", {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.toolbar === \"IndexToolbar\",\n expression: \"toolbar === 'IndexToolbar'\"\n }]\n }), _c(\"roam-toolbar\", {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.toolbar === \"RoamToolbar\",\n expression: \"toolbar === 'RoamToolbar'\"\n }]\n })], 1);\n};\n\nvar staticRenderFns = [];\nrender._withStripped = true;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/Y2xvbmVkUnVsZVNldC04Ni51c2VbMF0hLi9ub2RlX21vZHVsZXMvQHZ1ZS9jbGktc2VydmljZS9ub2RlX21vZHVsZXMvQHZ1ZS92dWUtbG9hZGVyLXYxNS9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/cnVsZVNldFsxXS5ydWxlc1s0XSEuL25vZGVfbW9kdWxlcy9AdnVlL2NsaS1zZXJ2aWNlL25vZGVfbW9kdWxlcy9AdnVlL3Z1ZS1sb2FkZXItdjE1L2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vcGFja2FnZXMvYmltQWlyL3NyYy92aWV3ZXJXcmFwcGVyL2NvbXBvbmVudHMvYm90dG9tVG9vbGJhci90b29sYmFyLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD02OTZhNzUzMyZzY29wZWQ9dHJ1ZSYuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQUE7QUFBQTs7QUFHQTtBQUVBO0FBQUE7QUFHQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFGQTtBQVdBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQUZBO0FBYUE7O0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL2JpbWxpZ2h0LXBsYXRmb3JtLy4vcGFja2FnZXMvYmltQWlyL3NyYy92aWV3ZXJXcmFwcGVyL2NvbXBvbmVudHMvYm90dG9tVG9vbGJhci90b29sYmFyLnZ1ZT9kMWM5Il0sInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzLFxuICAgIF9jID0gX3ZtLl9zZWxmLl9jLFxuICAgIF9zZXR1cCA9IF92bS5fc2VsZi5fc2V0dXBQcm94eVxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7IHN0YXRpY0NsYXNzOiBcInRvb2xiYXJcIiB9LFxuICAgIFtcbiAgICAgIF9jKFwiaW5kZXgtdG9vbGJhclwiLCB7XG4gICAgICAgIGRpcmVjdGl2ZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcInNob3dcIixcbiAgICAgICAgICAgIHJhd05hbWU6IFwidi1zaG93XCIsXG4gICAgICAgICAgICB2YWx1ZTogX3ZtLnRvb2xiYXIgPT09IFwiSW5kZXhUb29sYmFyXCIsXG4gICAgICAgICAgICBleHByZXNzaW9uOiBcInRvb2xiYXIgPT09ICdJbmRleFRvb2xiYXInXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgICAgX2MoXCJyb2FtLXRvb2xiYXJcIiwge1xuICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJzaG93XCIsXG4gICAgICAgICAgICByYXdOYW1lOiBcInYtc2hvd1wiLFxuICAgICAgICAgICAgdmFsdWU6IF92bS50b29sYmFyID09PSBcIlJvYW1Ub29sYmFyXCIsXG4gICAgICAgICAgICBleHByZXNzaW9uOiBcInRvb2xiYXIgPT09ICdSb2FtVG9vbGJhcidcIixcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js??clonedRuleSet-86.use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/bimAir/src/viewerWrapper/components/bottomToolbar/toolbar.vue?vue&type=template&id=696a7533&scoped=true&\n");
|
|
6730
6730
|
|
|
6731
6731
|
/***/ }),
|
|
6732
6732
|
|
|
@@ -13238,7 +13238,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
|
|
|
13238
13238
|
/***/ (function(module) {
|
|
13239
13239
|
|
|
13240
13240
|
"use strict";
|
|
13241
|
-
module.exports = JSON.parse('{"name":"gs-bim-air","version":"2.0.0-beta.
|
|
13241
|
+
module.exports = JSON.parse('{"name":"gs-bim-air","version":"2.0.0-beta.4","description":"发布的基于gs-longan的图形显示控件","main":"lib/BimAir.umd.min.js","types":"types/index.d.ts","author":"","license":"ISC","scripts":{"publish":"npm publish ","publishBeta":"npm publish --tag=beta","publishBeta2":"npm publish --tag=beta2","typedoc":"typedoc --plugin typedoc-plugin-markdown"},"dependencies":{},"devDependencies":{}}');
|
|
13242
13242
|
|
|
13243
13243
|
/***/ }),
|
|
13244
13244
|
|