hart-estate-widget 0.0.66 → 0.0.69
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 +3 -0
- package/build/assets/css/index.css +2 -0
- package/build/assets/img/floor-dark.jpg +0 -0
- package/build/assets/img/floor-white.jpg +0 -0
- package/build/assets/img/grass.jpg +0 -0
- package/build/bundle.js +2 -0
- package/build/components/Application.js +2 -135
- package/build/components/Buttons/FullScreenButton.js +2 -50
- package/build/components/Buttons/TabButton.js +2 -24
- package/build/components/Instructions.js +2 -54
- package/build/components/Loader.js +2 -22
- package/build/components/ModelTab.js +2 -213
- package/build/components/PanoramaTab.js +2 -620
- package/build/components/RotationTab/DefaultView.js +2 -124
- package/build/components/RotationTab/ThreesixtyView.js +2 -45
- package/build/components/RotationTab/index.js +2 -194
- package/build/components/Widget.js +2 -110
- package/build/config/defaultConfig.js +2 -32
- package/build/enums/deviceOrientationStatuses.js +2 -11
- package/build/enums/deviceWidth.js +2 -21
- package/build/enums/imageExtentions.js +2 -16
- package/build/enums/rotationModes.js +2 -11
- package/build/index.css +1 -1
- package/build/index.js +2 -75
- package/build/locale/index.js +2 -71
- package/build/store/apiStore.js +2 -231
- package/build/store/deviceStore.js +2 -60
- package/build/store/fullScreenStore.js +2 -159
- package/build/store/houseStore.js +2 -952
- package/build/store/index.js +2 -124
- package/build/store/modelStore.js +2 -338
- package/build/threesixty/events.js +2 -220
- package/build/threesixty/index.js +2 -264
- package/build/utils/csg/csg-lib.js +2 -472
- package/build/utils/csg/csg-worker.js +2 -84
- package/build/utils/csg/three-csg.js +2 -277
- package/build/utils/helpers.js +2 -12
- package/build/utils/modelHelpers.js +2 -161
- package/build/utils/panoramaHelpers.js +2 -117
- package/package.json +17 -5
- package/build/assets/css/app.css +0 -1
- package/build/assets/css/app.css.map +0 -1
- package/build/assets/img/floor-dark.png +0 -0
- package/build/assets/img/floor-white.png +0 -0
- package/build/assets/img/grass.png +0 -0
@@ -1,213 +1,2 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
4
|
-
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
6
|
-
value: true
|
7
|
-
});
|
8
|
-
exports.default = void 0;
|
9
|
-
|
10
|
-
var _react = _interopRequireWildcard(require("react"));
|
11
|
-
|
12
|
-
var _mobxReactLite = require("mobx-react-lite");
|
13
|
-
|
14
|
-
var _modelStore = _interopRequireDefault(require("../store/modelStore"));
|
15
|
-
|
16
|
-
var _locale = _interopRequireDefault(require("../locale"));
|
17
|
-
|
18
|
-
var _modelHelpers = require("../utils/modelHelpers");
|
19
|
-
|
20
|
-
var _nipplejs = _interopRequireDefault(require("nipplejs"));
|
21
|
-
|
22
|
-
var _Instructions = _interopRequireDefault(require("./Instructions"));
|
23
|
-
|
24
|
-
var _handMove = _interopRequireDefault(require("../assets/icons/hand-move.svg"));
|
25
|
-
|
26
|
-
var _D = _interopRequireDefault(require("../assets/img/3D.jpg"));
|
27
|
-
|
28
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
29
|
-
|
30
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
31
|
-
|
32
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
33
|
-
|
34
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
35
|
-
|
36
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
37
|
-
|
38
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
39
|
-
|
40
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
41
|
-
|
42
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
43
|
-
|
44
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
45
|
-
|
46
|
-
var ModelTab = (0, _mobxReactLite.observer)(function (_ref) {
|
47
|
-
var json = _ref.json,
|
48
|
-
disabled = _ref.disabled;
|
49
|
-
var instructionSteps = [{
|
50
|
-
icon: _handMove.default,
|
51
|
-
text: _locale.default.getLocaleText('rotate-plan')
|
52
|
-
}];
|
53
|
-
|
54
|
-
var _useState = (0, _react.useState)(true),
|
55
|
-
_useState2 = _slicedToArray(_useState, 2),
|
56
|
-
showInstructions = _useState2[0],
|
57
|
-
setInstructionsState = _useState2[1];
|
58
|
-
|
59
|
-
var _useState3 = (0, _react.useState)(false),
|
60
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
61
|
-
menuState = _useState4[0],
|
62
|
-
setMenuState = _useState4[1];
|
63
|
-
|
64
|
-
var houseStore = _modelStore.default.houseStore;
|
65
|
-
|
66
|
-
var getNextWallsMaterialType = function getNextWallsMaterialType() {
|
67
|
-
if (houseStore.wallsMaterialType === 'texture') return 'color';
|
68
|
-
return 'texture';
|
69
|
-
};
|
70
|
-
|
71
|
-
var onImageUploaded = function onImageUploaded(_ref2) {
|
72
|
-
var target = _ref2.target;
|
73
|
-
if (!target.files.length) return;
|
74
|
-
var reader = new FileReader();
|
75
|
-
|
76
|
-
reader.onload = function (e) {
|
77
|
-
return houseStore.addWallTexture(e.target.result);
|
78
|
-
};
|
79
|
-
|
80
|
-
reader.readAsDataURL(target.files[0]);
|
81
|
-
};
|
82
|
-
|
83
|
-
var initJoystick = function initJoystick() {
|
84
|
-
var zone = document.querySelector('.widget-tab__model-joystick');
|
85
|
-
|
86
|
-
var joystick = _nipplejs.default.create({
|
87
|
-
zone: zone,
|
88
|
-
position: {
|
89
|
-
left: '50%',
|
90
|
-
top: '50%'
|
91
|
-
},
|
92
|
-
color: '#F4C833',
|
93
|
-
mode: 'static'
|
94
|
-
});
|
95
|
-
|
96
|
-
joystick.on('start', function () {
|
97
|
-
return _modelStore.default.setJoystickState(true);
|
98
|
-
});
|
99
|
-
joystick.on('end', function () {
|
100
|
-
return _modelStore.default.setJoystickState(false);
|
101
|
-
});
|
102
|
-
joystick.on('move', function (_, _ref3) {
|
103
|
-
var angle = _ref3.angle;
|
104
|
-
var directions = (0, _modelHelpers.getDirectionsFromDegrees)(angle.degree);
|
105
|
-
|
106
|
-
_modelStore.default.setJoystickDirections(directions);
|
107
|
-
});
|
108
|
-
};
|
109
|
-
|
110
|
-
var onStart = function onStart() {
|
111
|
-
setInstructionsState(false);
|
112
|
-
initJoystick();
|
113
|
-
var container = document.querySelector('.widget-tab__model-scene');
|
114
|
-
|
115
|
-
_modelStore.default.setContainer(container);
|
116
|
-
|
117
|
-
container.appendChild(_modelStore.default.renderer.domElement);
|
118
|
-
|
119
|
-
_modelStore.default.setCurrentControlsType('orbit');
|
120
|
-
|
121
|
-
if (_modelStore.default.initialized) {
|
122
|
-
_modelStore.default.houseStore.setDoorsVisibility(true);
|
123
|
-
|
124
|
-
_modelStore.default.houseStore.setFullBuildingVisibility(true);
|
125
|
-
|
126
|
-
_modelStore.default.houseStore.setCurrentWallsMaterialType('texture');
|
127
|
-
|
128
|
-
return;
|
129
|
-
}
|
130
|
-
|
131
|
-
_modelStore.default.init(json);
|
132
|
-
};
|
133
|
-
|
134
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
135
|
-
className: "widget-tab__model"
|
136
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
137
|
-
className: "widget-tab__model-scene"
|
138
|
-
}), /*#__PURE__*/_react.default.createElement("div", {
|
139
|
-
className: "widget-tab__model-joystick \n ".concat(_modelStore.default.currentControlsType === 'wasd' ? 'widget-tab__model-joystick--active' : '')
|
140
|
-
}), /*#__PURE__*/_react.default.createElement("div", {
|
141
|
-
className: "widget-tab-menu"
|
142
|
-
}, /*#__PURE__*/_react.default.createElement("ul", null, /*#__PURE__*/_react.default.createElement("li", {
|
143
|
-
onClick: function onClick() {
|
144
|
-
return setMenuState(!menuState);
|
145
|
-
}
|
146
|
-
}, _locale.default.getLocaleText('menu')), menuState && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("li", {
|
147
|
-
onClick: function onClick() {
|
148
|
-
return _modelStore.default.setCurrentControlsType('wasd');
|
149
|
-
}
|
150
|
-
}, _locale.default.getLocaleText('wasd')), /*#__PURE__*/_react.default.createElement("li", {
|
151
|
-
onClick: function onClick() {
|
152
|
-
return _modelStore.default.setCurrentControlsType('plan');
|
153
|
-
}
|
154
|
-
}, _locale.default.getLocaleText('view-from-above')), /*#__PURE__*/_react.default.createElement("li", {
|
155
|
-
onClick: function onClick() {
|
156
|
-
return _modelStore.default.setCurrentControlsType('orbit');
|
157
|
-
}
|
158
|
-
}, _locale.default.getLocaleText('free-camera')), /*#__PURE__*/_react.default.createElement("li", {
|
159
|
-
onClick: function onClick() {
|
160
|
-
return houseStore.setShadowsVisibility(!houseStore.isShadowsVisible);
|
161
|
-
}
|
162
|
-
}, _locale.default.getLocaleText('shadows'), ":", houseStore.isShadowsVisible ? _locale.default.getLocaleText('on') : _locale.default.getLocaleText('off')), /*#__PURE__*/_react.default.createElement("li", {
|
163
|
-
onClick: function onClick() {
|
164
|
-
return houseStore.setPlanMode();
|
165
|
-
}
|
166
|
-
}, _locale.default.getLocaleText('plan')), /*#__PURE__*/_react.default.createElement("li", {
|
167
|
-
onClick: function onClick() {
|
168
|
-
return houseStore.setFullBuildingVisibility(!houseStore.isFullBuildingVisible);
|
169
|
-
}
|
170
|
-
}, houseStore.isFullBuildingVisible ? _locale.default.getLocaleText('hide-walls') : _locale.default.getLocaleText('show-walls')), /*#__PURE__*/_react.default.createElement("li", {
|
171
|
-
onClick: function onClick() {
|
172
|
-
return houseStore.setDoorsVisibility(!houseStore.isDoorsVisible);
|
173
|
-
}
|
174
|
-
}, houseStore.isDoorsVisible ? _locale.default.getLocaleText('hide-doors') : _locale.default.getLocaleText('show-doors')), /*#__PURE__*/_react.default.createElement("li", {
|
175
|
-
onClick: function onClick() {
|
176
|
-
return houseStore.setCurrentWallsMaterialType(getNextWallsMaterialType());
|
177
|
-
}
|
178
|
-
}, _locale.default.getLocaleText('material'), ":", houseStore.wallsMaterialType === 'texture' ? _locale.default.getLocaleText('texture') : _locale.default.getLocaleText('color')), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("label", null, _locale.default.getLocaleText('wall-color'), ":", /*#__PURE__*/_react.default.createElement("input", {
|
179
|
-
type: "color",
|
180
|
-
onChange: function onChange(_ref4) {
|
181
|
-
var target = _ref4.target;
|
182
|
-
return houseStore.setCurrentWallColor(target.value);
|
183
|
-
},
|
184
|
-
style: {
|
185
|
-
background: houseStore.wallsColor
|
186
|
-
},
|
187
|
-
value: houseStore.wallsColor
|
188
|
-
}))), /*#__PURE__*/_react.default.createElement("li", null, _locale.default.getLocaleText('wall-texture'), ":", /*#__PURE__*/_react.default.createElement("div", {
|
189
|
-
className: "widget-tab-menu__wallpapers"
|
190
|
-
}, houseStore && houseStore.wallsTextures.map(function (_ref5, index) {
|
191
|
-
var image = _ref5.image,
|
192
|
-
texture = _ref5.texture;
|
193
|
-
return /*#__PURE__*/_react.default.createElement("img", {
|
194
|
-
key: index,
|
195
|
-
src: image,
|
196
|
-
onClick: function onClick() {
|
197
|
-
return houseStore.setCurrentWallTexture(texture);
|
198
|
-
},
|
199
|
-
alt: "texture=".concat(index)
|
200
|
-
});
|
201
|
-
}))), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("label", null, _locale.default.getLocaleText('upload-wall-texture'), /*#__PURE__*/_react.default.createElement("input", {
|
202
|
-
onChange: onImageUploaded,
|
203
|
-
type: "file",
|
204
|
-
accept: ".jpg, .jpeg, .png"
|
205
|
-
}))))))), showInstructions && /*#__PURE__*/_react.default.createElement(_Instructions.default, {
|
206
|
-
disabled: disabled,
|
207
|
-
steps: instructionSteps,
|
208
|
-
onClick: onStart,
|
209
|
-
background: _D.default
|
210
|
-
}));
|
211
|
-
});
|
212
|
-
var _default = ModelTab;
|
213
|
-
exports.default = _default;
|
1
|
+
"use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _react=_interopRequireWildcard(require("react")),_mobxReactLite=require("mobx-react-lite"),_modelStore=_interopRequireDefault(require("../store/modelStore")),_locale=_interopRequireDefault(require("../locale")),_modelHelpers=require("../utils/modelHelpers"),_nipplejs=_interopRequireDefault(require("nipplejs")),_Instructions=_interopRequireDefault(require("./Instructions")),_handMove=_interopRequireDefault(require("../assets/icons/hand-move.svg")),_D=_interopRequireDefault(require("../assets/img/3D.jpg"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,l=new WeakMap;return(_getRequireWildcardCache=function(e){return e?l:t})(e)}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==_typeof(e)&&"function"!=typeof e)return{default:e};t=_getRequireWildcardCache(t);if(t&&t.has(e))return t.get(e);var l,r,a={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(l in e)"default"!==l&&Object.prototype.hasOwnProperty.call(e,l)&&((r=o?Object.getOwnPropertyDescriptor(e,l):null)&&(r.get||r.set)?Object.defineProperty(a,l,r):a[l]=e[l]);return a.default=e,t&&t.set(e,a),a}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var l=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(l="Object"===l&&e.constructor?e.constructor.name:l)||"Set"===l?Array.from(e):"Arguments"===l||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var l=0,r=new Array(t);l<t;l++)r[l]=e[l];return r}function _iterableToArrayLimit(e,t){var l=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=l){var r,a,o=[],n=!0,u=!1;try{for(l=l.call(e);!(n=(r=l.next()).done)&&(o.push(r.value),!t||o.length!==t);n=!0);}catch(e){u=!0,a=e}finally{try{n||null==l.return||l.return()}finally{if(u)throw a}}return o}}function _arrayWithHoles(e){if(Array.isArray(e))return e}var ModelTab=(0,_mobxReactLite.observer)(function(e){var t=e.json,e=e.disabled,l=[{icon:_handMove.default,text:_locale.default.getLocaleText("rotate-plan")}],r=_slicedToArray((0,_react.useState)(!0),2),a=r[0],o=r[1],r=_slicedToArray((0,_react.useState)(!1),2),n=r[0],u=r[1],i=_modelStore.default.houseStore;return _react.default.createElement(_react.default.Fragment,null,_react.default.createElement("div",{className:"widget-tab__model"},_react.default.createElement("div",{className:"widget-tab__model-scene"}),_react.default.createElement("div",{className:"widget-tab__model-joystick \n ".concat("wasd"===_modelStore.default.currentControlsType?"widget-tab__model-joystick--active":"")}),_react.default.createElement("div",{className:"widget-tab-menu"},_react.default.createElement("ul",null,_react.default.createElement("li",{onClick:function(){return u(!n)}},_locale.default.getLocaleText("menu")),n&&_react.default.createElement(_react.default.Fragment,null,_react.default.createElement("li",{onClick:function(){return _modelStore.default.setCurrentControlsType("wasd")}},_locale.default.getLocaleText("wasd")),_react.default.createElement("li",{onClick:function(){return _modelStore.default.setCurrentControlsType("plan")}},_locale.default.getLocaleText("view-from-above")),_react.default.createElement("li",{onClick:function(){return _modelStore.default.setCurrentControlsType("orbit")}},_locale.default.getLocaleText("free-camera")),_react.default.createElement("li",{onClick:function(){return i.setShadowsVisibility(!i.isShadowsVisible)}},_locale.default.getLocaleText("shadows"),":",i.isShadowsVisible?_locale.default.getLocaleText("on"):_locale.default.getLocaleText("off")),_react.default.createElement("li",{onClick:function(){return i.setPlanMode()}},_locale.default.getLocaleText("plan")),_react.default.createElement("li",{onClick:function(){return i.setFullBuildingVisibility(!i.isFullBuildingVisible)}},i.isFullBuildingVisible?_locale.default.getLocaleText("hide-walls"):_locale.default.getLocaleText("show-walls")),_react.default.createElement("li",{onClick:function(){return i.setDoorsVisibility(!i.isDoorsVisible)}},i.isDoorsVisible?_locale.default.getLocaleText("hide-doors"):_locale.default.getLocaleText("show-doors")),_react.default.createElement("li",{onClick:function(){return i.setCurrentWallsMaterialType("texture"===i.wallsMaterialType?"color":"texture")}},_locale.default.getLocaleText("material"),":","texture"===i.wallsMaterialType?_locale.default.getLocaleText("texture"):_locale.default.getLocaleText("color")),_react.default.createElement("li",null,_react.default.createElement("label",null,_locale.default.getLocaleText("wall-color"),":",_react.default.createElement("input",{type:"color",onChange:function(e){e=e.target;return i.setCurrentWallColor(e.value)},style:{background:i.wallsColor},value:i.wallsColor}))),_react.default.createElement("li",null,_locale.default.getLocaleText("wall-texture"),":",_react.default.createElement("div",{className:"widget-tab-menu__wallpapers"},i&&i.wallsTextures.map(function(e,t){var l=e.image,r=e.texture;return _react.default.createElement("img",{key:t,src:l,onClick:function(){return i.setCurrentWallTexture(r)},alt:"texture=".concat(t)})}))),_react.default.createElement("li",null,_react.default.createElement("label",null,_locale.default.getLocaleText("upload-wall-texture"),_react.default.createElement("input",{onChange:function(e){var t,e=e.target;e.files.length&&((t=new FileReader).onload=function(e){return i.addWallTexture(e.target.result)},t.readAsDataURL(e.files[0]))},type:"file",accept:".jpg, .jpeg, .png"}))))))),a&&_react.default.createElement(_Instructions.default,{disabled:e,steps:l,onClick:function(){o(!1),e=document.querySelector(".widget-tab__model-joystick"),(e=_nipplejs.default.create({zone:e,position:{left:"50%",top:"50%"},color:"#F4C833",mode:"static"})).on("start",function(){return _modelStore.default.setJoystickState(!0)}),e.on("end",function(){return _modelStore.default.setJoystickState(!1)}),e.on("move",function(e,t){t=t.angle,t=(0,_modelHelpers.getDirectionsFromDegrees)(t.degree);_modelStore.default.setJoystickDirections(t)});var e=document.querySelector(".widget-tab__model-scene");if(_modelStore.default.setContainer(e),e.appendChild(_modelStore.default.renderer.domElement),_modelStore.default.setCurrentControlsType("orbit"),_modelStore.default.initialized)return _modelStore.default.houseStore.setDoorsVisibility(!0),_modelStore.default.houseStore.setFullBuildingVisibility(!0),void _modelStore.default.houseStore.setCurrentWallsMaterialType("texture");_modelStore.default.init(t)},background:_D.default}))}),_default=ModelTab;exports.default=_default;
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvTW9kZWxUYWIuanMiXSwibmFtZXMiOlsiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX21vYnhSZWFjdExpdGUiLCJfbW9kZWxTdG9yZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfbG9jYWxlIiwiX21vZGVsSGVscGVycyIsIl9uaXBwbGVqcyIsIl9JbnN0cnVjdGlvbnMiLCJfaGFuZE1vdmUiLCJfRCIsIk1vZGVsVGFiIiwib2JzZXJ2ZXIiLCJfcmVmIiwianNvbiIsImRpc2FibGVkIiwiaW5zdHJ1Y3Rpb25TdGVwcyIsImljb24iLCJIYW5kTW92ZUljb24iLCJ0ZXh0IiwibG9jYWxlU3RvcmUiLCJnZXRMb2NhbGVUZXh0IiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwidXNlU3RhdGUiLCJzaG93SW5zdHJ1Y3Rpb25zIiwic2V0SW5zdHJ1Y3Rpb25zU3RhdGUiLCJfdXNlU3RhdGU0IiwibWVudVN0YXRlIiwic2V0TWVudVN0YXRlIiwiaG91c2VTdG9yZSIsIm1vZGVsU3RvcmUiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiY2xhc3NOYW1lIiwiZ2V0TmV4dFdhbGxzTWF0ZXJpYWxUeXBlIiwiY29uY2F0Iiwib25JbWFnZVVwbG9hZGVkIiwiY3VycmVudENvbnRyb2xzVHlwZSIsInJlYWRlciIsIkZpbGVSZWFkZXIiLCJvbmxvYWQiLCJhZGRXYWxsVGV4dHVyZSIsInRhcmdldCIsInJlYWRBc0RhdGFVUkwiLCJvbkNsaWNrIiwic2V0Q3VycmVudENvbnRyb2xzVHlwZSIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsInNldFNoYWRvd3NWaXNpYmlsaXR5IiwiaXNTaGFkb3dzVmlzaWJsZSIsInNldFBsYW5Nb2RlIiwic2V0Sm95c3RpY2tTdGF0ZSIsImlzRnVsbEJ1aWxkaW5nVmlzaWJsZSIsInNldERvb3JzVmlzaWJpbGl0eSIsImlzRG9vcnNWaXNpYmxlIiwic2V0Q3VycmVudFdhbGxzTWF0ZXJpYWxUeXBlIiwid2FsbHNNYXRlcmlhbFR5cGUiLCJzZXRKb3lzdGlja0RpcmVjdGlvbnMiLCJ0eXBlIiwic2V0Q29udGFpbmVyIiwic2V0Q3VycmVudFdhbGxDb2xvciIsInZhbHVlIiwic3R5bGUiLCJiYWNrZ3JvdW5kIiwid2FsbHNDb2xvciIsImFwcGVuZENoaWxkIiwiaW5pdGlhbGl6ZWQiLCJ3YWxsc1RleHR1cmVzIiwibWFwIiwiX3JlZjUiLCJpbmRleCIsImltYWdlIiwidGV4dHVyZSIsImtleSIsInNldEN1cnJlbnRXYWxsVGV4dHVyZSIsImFsdCIsIm9uQ2hhbmdlIiwiX3JlZjIiLCJmaWxlcyIsImxlbmd0aCIsImUiLCJyZXN1bHQiLCJhY2NlcHQiLCJzdGVwcyIsInpvbmUiLCJqb3lzdGljayIsIm5pcHBsZWpzIiwiY3JlYXRlIiwicG9zaXRpb24iLCJsZWZ0IiwidG9wIiwiY29sb3IiLCJtb2RlIiwib24iLCJfIiwiX3JlZjMiLCJhbmdsZSIsImRpcmVjdGlvbnMiLCJnZXREaXJlY3Rpb25zRnJvbURlZ3JlZXMiLCJkZWdyZWUiLCJjb250YWluZXIiLCJyZW5kZXJlciIsImRvbUVsZW1lbnQiLCJzZXRGdWxsQnVpbGRpbmdWaXNpYmlsaXR5IiwiaW5pdCIsIkJhY2tncm91bmRJbWFnZSJdLCJtYXBwaW5ncyI6IjRVQUFBLElBQUFBLE9BQUFDLHdCQUFBQyxRQUFBLFVBQ0FDLGVBQUFELFFBQUEsbUJBQ0FFLFlBQUFDLHVCQUFBSCxRQUFBLHdCQUNBSSxRQUFBRCx1QkFBQUgsUUFBQSxjQUNBSyxjQUFBTCxRQUFBLHlCQUNBTSxVQUFBSCx1QkFBQUgsUUFBQSxhQUVBTyxjQUFBSix1QkFBQUgsUUFBQSxtQkFQQVEsVUFBQUwsdUJBQUFILFFBQUEsa0NBVUFTLEdBQUFOLHVCQUFBSCxRQUFBLHlCLHMzREFFQSxJQUFNVSxVQUFXLEVBQUFDLGVBQUFBLFVBQVMsU0FBQUMsR0FBd0IsSUFBckJDLEVBQXFCRCxFQUFyQkMsS0FBTUMsRUFBZUYsRUFB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RSxNQUFTckUsRUFBQThCLFFBdENYLFdBQ2RwQixHQUFxQixHQVhmNEQsRUFBT3RDLFNBQVNDLGNBQWMsZ0NBQzlCc0MsRUFBV0MsVUFBQUEsUUFBU0MsT0FBTyxDQUFFSCxLQUFBQSxFQUFNSSxTQUFVLENBQUVDLEtBQU0sTUFBT0MsSUFBSyxPQUFTQyxNQUFPLFVBQVdDLEtBQU0sWUFDL0ZDLEdBQUcsUUFBUyxXQUFBLE9BQU1oRSxZQUFBQSxRQUFXc0Isa0JBQWlCLEtBQ3ZEa0MsRUFBU1EsR0FBRyxNQUFPLFdBQUEsT0FBTWhFLFlBQUFBLFFBQVdzQixrQkFBaUIsS0FDckRrQyxFQUFTUSxHQUFHLE9BQVEsU0FBQ0MsRUFBREMsR0FBTUMsRUFBWUQsRUFBWkMsTUFDbEJDLEdBQWEsRUFBQUMsY0FBQUEsMEJBQXlCRixFQUFNRyxRQUNsRHRFLFlBQUFBLFFBQVc0QixzQkFBc0J3QyxLQVBoQixJQW5CWXBGLEVBQUFBLFNBQWVrQyxjQUFBLDRCQXdDOUMsR0F2Q0ZsQixZQUFBQSxRQUFNZixhQUFvQnNGLEdBQUVyRixFQUFNQyxZQUFBQSxZQUFBQSxRQUFScUYsU0FBQUMsWUFBc0JyRixZQUFBQSxRQUFNQyx1QkFBWUMsU0F1QzVEVSxZQUFBQSxRQUFXcUMsWUFyQ1ExQyxPQUF6QkssWUFBQUEsUUFBQUQsV0FBaUROLG9CQUFqRCxHQUFBTyxZQUFBQSxRQUFBRCxXQUFBMkUsMkJBQUEsUUFBT2hGLFlBQUFBLFFBQUFBLFdBQVBnQyw0QkFBQSxXQUNBMUIsWUFBQUEsUUFBQTJFLEtBQUE1RixJQWdFMkJtRCxXQUFBMEMsR0FBQUEsYSxTQU1BaEciLCJmaWxlIjoiY29tcG9uZW50cy9Nb2RlbFRhYi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IG9ic2VydmVyIH0gZnJvbSAnbW9ieC1yZWFjdC1saXRlJztcbmltcG9ydCBtb2RlbFN0b3JlIGZyb20gJy4uL3N0b3JlL21vZGVsU3RvcmUnO1xuaW1wb3J0IGxvY2FsZVN0b3JlIGZyb20gJy4uL2xvY2FsZSc7XG5pbXBvcnQgeyBnZXREaXJlY3Rpb25zRnJvbURlZ3JlZXMgfSBmcm9tICcuLi91dGlscy9tb2RlbEhlbHBlcnMnO1xuaW1wb3J0IG5pcHBsZWpzIGZyb20gJ25pcHBsZWpzJztcblxuaW1wb3J0IEluc3RydWN0aW9ucyBmcm9tICcuL0luc3RydWN0aW9ucyc7XG5cbmltcG9ydCBIYW5kTW92ZUljb24gZnJvbSAnLi4vYXNzZXRzL2ljb25zL2hhbmQtbW92ZS5zdmcnO1xuaW1wb3J0IEJhY2tncm91bmRJbWFnZSBmcm9tICcuLi9hc3NldHMvaW1nLzNELmpwZyc7XG5cbmNvbnN0IE1vZGVsVGFiID0gb2JzZXJ2ZXIoKHsganNvbiwgZGlzYWJsZWQgfSkgPT4ge1xuICBjb25zdCBpbnN0cnVjdGlvblN0ZXBzID0gW3sgaWNvbjogSGFuZE1vdmVJY29uLCB0ZXh0OiBsb2NhbGVTdG9yZS5nZXRMb2NhbGVUZXh0KCdyb3RhdGUtcGxhbicpIH1dO1xuXG4gIGNvbnN0IFtzaG93SW5zdHJ1Y3Rpb25zLCBzZXRJbnN0cnVjdGlvbnNTdGF0ZV0gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgY29uc3QgW21lbnVTdGF0ZSwgc2V0TWVudVN0YXRlXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgeyBob3VzZVN0b3JlIH0gPSBtb2RlbFN0b3JlO1xuXG4gIGNvbnN0IGdldE5leHRXYWxsc01hdGVyaWFsVHlwZSA9ICgpID0+IHtcbiAgICBpZiAoaG91c2VTdG9yZS53YWxsc01hdGVyaWFsVHlwZSA9PT0gJ3RleHR1cmUnKSByZXR1cm4gJ2NvbG9yJztcbiAgICByZXR1cm4gJ3RleHR1cmUnO1xuICB9O1xuXG4gIGNvbnN0IG9uSW1hZ2VVcGxvYWRlZCA9ICh7IHRhcmdldCB9KSA9PiB7XG4gICAgaWYgKCF0YXJnZXQuZmlsZXMubGVuZ3RoKSByZXR1cm47XG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICByZWFkZXIub25sb2FkID0gKGUpID0+IGhvdXNlU3RvcmUuYWRkV2FsbFRleHR1cmUoZS50YXJnZXQucmVzdWx0KTtcbiAgICByZWFkZXIucmVhZEFzRGF0YVVSTCh0YXJnZXQuZmlsZXNbMF0pO1xuICB9O1xuXG4gIGNvbnN0IGluaXRKb3lzdGljayA9ICgpID0+IHtcbiAgICBjb25zdCB6b25lID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLndpZGdldC10YWJfX21vZGVsLWpveXN0aWNrJyk7XG4gICAgY29uc3Qgam95c3RpY2sgPSBuaXBwbGVqcy5jcmVhdGUoeyB6b25lLCBwb3NpdGlvbjogeyBsZWZ0OiAnNTAlJywgdG9wOiAnNTAlJyB9LCBjb2xvcjogJyNGNEM4MzMnLCBtb2RlOiAnc3RhdGljJyB9KTtcbiAgICBqb3lzdGljay5vbignc3RhcnQnLCAoKSA9PiBtb2RlbFN0b3JlLnNldEpveXN0aWNrU3RhdGUodHJ1ZSkpO1xuICAgIGpveXN0aWNrLm9uKCdlbmQnLCAoKSA9PiBtb2RlbFN0b3JlLnNldEpveXN0aWNrU3RhdGUoZmFsc2UpKTtcbiAgICBqb3lzdGljay5vbignbW92ZScsIChfLCB7IGFuZ2xlIH0pID0+IHtcbiAgICAgIGNvbnN0IGRpcmVjdGlvbnMgPSBnZXREaXJlY3Rpb25zRnJvbURlZ3JlZXMoYW5nbGUuZGVncmVlKTtcbiAgICAgIG1vZGVsU3RvcmUuc2V0Sm95c3RpY2tEaXJlY3Rpb25zKGRpcmVjdGlvbnMpO1xuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IG9uU3RhcnQgPSAoKSA9PiB7XG4gICAgc2V0SW5zdHJ1Y3Rpb25zU3RhdGUoZmFsc2UpO1xuXG4gICAgaW5pdEpveXN0aWNrKCk7XG5cbiAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcud2lkZ2V0LXRhYl9fbW9kZWwtc2NlbmUnKTtcbiAgICBtb2RlbFN0b3JlLnNldENvbnRhaW5lcihjb250YWluZXIpO1xuICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChtb2RlbFN0b3JlLnJlbmRlcmVyLmRvbUVsZW1lbnQpO1xuICAgIG1vZGVsU3RvcmUuc2V0Q3VycmVudENvbnRyb2xzVHlwZSgnb3JiaXQnKTtcblxuICAgIGlmIChtb2RlbFN0b3JlLmluaXRpYWxpemVkKSB7XG4gICAgICBtb2RlbFN0b3JlLmhvdXNlU3RvcmUuc2V0RG9vcnNWaXNpYmlsaXR5KHRydWUpO1xuICAgICAgbW9kZWxTdG9yZS5ob3VzZVN0b3JlLnNldEZ1bGxCdWlsZGluZ1Zpc2liaWxpdHkodHJ1ZSk7XG4gICAgICBtb2RlbFN0b3JlLmhvdXNlU3RvcmUuc2V0Q3VycmVudFdhbGxzTWF0ZXJpYWxUeXBlKCd0ZXh0dXJlJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbW9kZWxTdG9yZS5pbml0KGpzb24pO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2lkZ2V0LXRhYl9fbW9kZWxcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3aWRnZXQtdGFiX19tb2RlbC1zY2VuZVwiIC8+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT17XG4gICAgICAgICAgICBgd2lkZ2V0LXRhYl9fbW9kZWwtam95c3RpY2sgXG4gICAgICAgICAgICAke21vZGVsU3RvcmUuY3VycmVudENvbnRyb2xzVHlwZSA9PT0gJ3dhc2QnID8gJ3dpZGdldC10YWJfX21vZGVsLWpveXN0aWNrLS1hY3RpdmUnIDogJyd9YFxuICAgICAgICAgIH0gLz5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIndpZGdldC10YWItbWVudVwiPlxuICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgIDxsaSBvbkNsaWNrPXsoKSA9PiBzZXRNZW51U3RhdGUoIW1lbnVTdGF0ZSl9PlxuICAgICAgICAgICAgICB7bG9jYWxlU3RvcmUuZ2V0TG9jYWxlVGV4dCgnbWVudScpfVxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIHttZW51U3RhdGUgJiYgKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxsaSBvbkNsaWNrPXsoKSA9PiBtb2RlbFN0b3JlLnNldEN1cnJlbnRDb250cm9sc1R5cGUoJ3dhc2QnKX0+XG4gICAgICAgICAgICAgICAgICB7bG9jYWxlU3RvcmUuZ2V0TG9jYWxlVGV4dCgnd2FzZCcpfVxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPGxpIG9uQ2xpY2s9eygpID0+IG1vZGVsU3RvcmUuc2V0Q3VycmVudENvbnRyb2xzVHlwZSgncGxhbicpfT5cbiAgICAgICAgICAgICAgICAgIHtsb2NhbGVTdG9yZS5nZXRMb2NhbGVUZXh0KCd2aWV3LWZyb20tYWJvdmUnKX1cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDxsaSBvbkNsaWNrPXsoKSA9PiBtb2RlbFN0b3JlLnNldEN1cnJlbnRDb250cm9sc1R5cGUoJ29yYml0Jyl9PlxuICAgICAgICAgICAgICAgICAge2xvY2FsZVN0b3JlLmdldExvY2FsZVRleHQoJ2ZyZWUtY2FtZXJhJyl9XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8bGkgb25DbGljaz17KCkgPT4gaG91c2VTdG9yZS5zZXRTaGFkb3dzVmlzaWJpbGl0eSghaG91c2VTdG9yZS5pc1NoYWRvd3NWaXNpYmxlKX0+XG4gICAgICAgICAgICAgICAgICB7bG9jYWxlU3RvcmUuZ2V0TG9jYWxlVGV4dCgnc2hhZG93cycpfTogXG4gICAgICAgICAgICAgICAgICB7aG91c2VTdG9yZS5pc1NoYWRvd3NWaXNpYmxlID8gbG9jYWxlU3RvcmUuZ2V0TG9jYWxlVGV4dCgnb24nKSA6IGxvY2FsZVN0b3JlLmdldExvY2FsZVRleHQoJ29mZicpfVxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPGxpIG9uQ2xpY2s9eygpID0+IGhvdXNlU3RvcmUuc2V0UGxhbk1vZGUoKX0+XG4gICAgICAgICAgICAgICAgICB7bG9jYWxlU3RvcmUuZ2V0TG9jYWxlVGV4dCgncGxhbicpfVxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPGxpIG9uQ2xpY2s9eygpID0+IGhvdXNlU3RvcmUuc2V0RnVsbEJ1aWxkaW5nVmlzaWJpbGl0eSghaG91c2VTdG9yZS5pc0Z1bGxCdWlsZGluZ1Zpc2libGUpfT5cbiAgICAgICAgICAgICAgICAgIHtob3VzZVN0b3JlLmlzRnVsbEJ1aWxkaW5nVmlzaWJsZSA/IFxuICAgICAgICAgICAgICAgICAgICBsb2NhbGVTdG9yZS5nZXRMb2NhbGVUZXh0KCdoaWRlLXdhbGxzJykgOiBsb2NhbGVTdG9yZS5nZXRMb2NhbGVUZXh0KCdzaG93LXdhbGxzJyl9XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8bGkgb25DbGljaz17KCkgPT4gaG91c2VTdG9yZS5zZXREb29yc1Zpc2liaWxpdHkoIWhvdXNlU3RvcmUuaXNEb29yc1Zpc2libGUpfT5cbiAgICAgICAgICAgICAgICAgIHtob3VzZVN0b3JlLmlzRG9vcnNWaXNpYmxlID8gXG4gICAgICAgICAgICAgICAgICAgIGxvY2FsZVN0b3JlLmdldExvY2FsZVRleHQoJ2hpZGUtZG9vcnMnKSA6IGxvY2FsZVN0b3JlLmdldExvY2FsZVRleHQoJ3Nob3ctZG9vcnMnKX1cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDxsaSBvbkNsaWNrPXsoKSA9PiBob3VzZVN0b3JlLnNldEN1cnJlbnRXYWxsc01hdGVyaWFsVHlwZShnZXROZXh0V2FsbHNNYXRlcmlhbFR5cGUoKSl9PlxuICAgICAgICAgICAgICAgICAge2xvY2FsZVN0b3JlLmdldExvY2FsZVRleHQoJ21hdGVyaWFsJyl9OiBcbiAgICAgICAgICAgICAgICAgIHtob3VzZVN0b3JlLndhbGxzTWF0ZXJpYWxUeXBlID09PSAndGV4dHVyZScgP1xuICAgICAgICAgICAgICAgICAgICBsb2NhbGVTdG9yZS5nZXRMb2NhbGVUZXh0KCd0ZXh0dXJlJykgOiBsb2NhbGVTdG9yZS5nZXRMb2NhbGVUZXh0KCdjb2xvcicpfVxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsPlxuICAgICAgICAgICAgICAgICAgICB7bG9jYWxlU3RvcmUuZ2V0TG9jYWxlVGV4dCgnd2FsbC1jb2xvcicpfTpcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KHsgdGFyZ2V0IH0pID0+IGhvdXNlU3RvcmUuc2V0Q3VycmVudFdhbGxDb2xvcih0YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmQ6IGhvdXNlU3RvcmUud2FsbHNDb2xvciB9fVxuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtob3VzZVN0b3JlLndhbGxzQ29sb3J9IC8+XG4gICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAge2xvY2FsZVN0b3JlLmdldExvY2FsZVRleHQoJ3dhbGwtdGV4dHVyZScpfTpcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2lkZ2V0LXRhYi1tZW51X193YWxscGFwZXJzXCI+XG4gICAgICAgICAgICAgICAgICAgIHtob3VzZVN0b3JlICYmIGhvdXNlU3RvcmUud2FsbHNUZXh0dXJlcy5tYXAoKHsgaW1hZ2UsIHRleHR1cmUgfSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXtpbWFnZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhvdXNlU3RvcmUuc2V0Q3VycmVudFdhbGxUZXh0dXJlKHRleHR1cmUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgYWx0PXtgdGV4dHVyZT0ke2luZGV4fWB9IC8+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICA8bGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIHtsb2NhbGVTdG9yZS5nZXRMb2NhbGVUZXh0KCd1cGxvYWQtd2FsbC10ZXh0dXJlJyl9XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBvbkNoYW5nZT17b25JbWFnZVVwbG9hZGVkfSB0eXBlPVwiZmlsZVwiIGFjY2VwdD1cIi5qcGcsIC5qcGVnLCAucG5nXCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIHtzaG93SW5zdHJ1Y3Rpb25zICYmIChcbiAgICAgICAgPEluc3RydWN0aW9uc1xuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBzdGVwcz17aW5zdHJ1Y3Rpb25TdGVwc31cbiAgICAgICAgICBvbkNsaWNrPXtvblN0YXJ0fVxuICAgICAgICAgIGJhY2tncm91bmQ9e0JhY2tncm91bmRJbWFnZX0gLz5cbiAgICAgICl9XG4gICAgPC8+XG4gICk7XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgTW9kZWxUYWI7XG4iXX0=
|