highmark-cli 0.0.138 → 0.0.139
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/bin/action/publish.js +2 -0
- package/bin/constants.js +3 -1
- package/bin/handler/liveReload.js +18 -0
- package/bin/operation/copyCheckmark.js +32 -0
- package/bin/operation/copyClient.js +5 -5
- package/bin/operation/markdownStylesCSS.js +2 -2
- package/bin/operation/server.js +7 -10
- package/bin/router/static.js +17 -0
- package/checkmark.svg +12 -0
- package/client.js +6216 -1574
- package/css/loading.css +32 -32
- package/lib/client.js +21 -6
- package/lib/constants.js +29 -9
- package/lib/createMethods.js +64 -0
- package/lib/customEventTypes.js +9 -1
- package/lib/eventTypes.js +5 -1
- package/lib/localStorage.js +56 -0
- package/lib/mixins/fullsrean.js +63 -0
- package/lib/mixins/touch.js +101 -32
- package/lib/selectors.js +9 -9
- package/lib/state.js +133 -0
- package/lib/styles.js +78 -0
- package/lib/utilities/fullScreen.js +16 -0
- package/lib/utilities/orientation.js +39 -0
- package/lib/view/button/closeMenu.js +121 -0
- package/lib/view/button/fullScreen.js +121 -0
- package/lib/view/button/zoomMenuIn.js +121 -0
- package/lib/view/button/zoomMenuOut.js +121 -0
- package/lib/view/button.js +160 -0
- package/lib/view/checkbox.js +193 -0
- package/lib/view/div/buttons.js +215 -0
- package/lib/view/div/checkbox/invertColours.js +151 -0
- package/lib/view/div/checkbox/restoreNativeGestures.js +147 -0
- package/lib/view/div/checkbox.js +220 -0
- package/lib/view/div/checkboxes.js +211 -0
- package/lib/view/div/leaf.js +12 -20
- package/lib/view/div/menu.js +122 -28
- package/lib/view/div/overlay.js +650 -0
- package/lib/view/div/preloader.js +204 -0
- package/lib/view/element.js +164 -0
- package/lib/view/span.js +182 -0
- package/lib/view/svg/closeMenu.js +138 -0
- package/lib/view/svg/fullScreen.js +138 -0
- package/lib/view/svg/zoomMenuIn.js +146 -0
- package/lib/view/svg/zoomMenuOut.js +141 -0
- package/lib/view/svg.js +184 -0
- package/lib/view.js +23 -396
- package/package.json +3 -2
- package/src/client.js +32 -8
- package/src/constants.js +7 -2
- package/src/createMethods.js +66 -0
- package/src/customEventTypes.js +2 -0
- package/src/eventTypes.js +1 -0
- package/src/localStorage.js +48 -0
- package/src/mixins/fullsrean.js +75 -0
- package/src/mixins/touch.js +98 -39
- package/src/selectors.js +2 -2
- package/src/state.js +130 -0
- package/src/styles.js +18 -0
- package/src/utilities/fullScreen.js +8 -0
- package/src/utilities/orientation.js +34 -0
- package/src/view/button/closeMenu.js +16 -0
- package/src/view/button/fullScreen.js +16 -0
- package/src/view/button/zoomMenuIn.js +16 -0
- package/src/view/button/zoomMenuOut.js +16 -0
- package/src/view/button.js +38 -0
- package/src/view/checkbox.js +68 -0
- package/src/view/div/buttons.js +39 -0
- package/src/view/div/checkbox/invertColours.js +33 -0
- package/src/view/div/checkbox/restoreNativeGestures.js +29 -0
- package/src/view/div/checkbox.js +45 -0
- package/src/view/div/checkboxes.js +36 -0
- package/src/view/div/leaf.js +10 -15
- package/src/view/div/menu.js +83 -26
- package/src/view/div/overlay.js +578 -0
- package/src/view/div/preloader.js +25 -0
- package/src/view/element.js +16 -0
- package/src/view/span.js +22 -0
- package/src/view/svg/closeMenu.js +19 -0
- package/src/view/svg/fullScreen.js +19 -0
- package/src/view/svg/zoomMenuIn.js +20 -0
- package/src/view/svg/zoomMenuOut.js +19 -0
- package/src/view/svg.js +24 -0
- package/src/view.js +20 -482
- package/lib/style.js +0 -13
- package/src/style.js +0 -3
package/lib/view/div/menu.js
CHANGED
|
@@ -9,9 +9,12 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
12
|
+
var _element = /*#__PURE__*/ _interop_require_default(require("../element"));
|
|
13
|
+
var _buttons = /*#__PURE__*/ _interop_require_default(require("../div/buttons"));
|
|
14
|
+
var _checkboxes = /*#__PURE__*/ _interop_require_default(require("../div/checkboxes"));
|
|
15
|
+
var _constants = require("../../constants");
|
|
16
|
+
var _styles = require("../../styles");
|
|
17
|
+
var _state = require("../../state");
|
|
15
18
|
function _assert_this_initialized(self) {
|
|
16
19
|
if (self === void 0) {
|
|
17
20
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -94,6 +97,45 @@ function _interop_require_default(obj) {
|
|
|
94
97
|
function _is_native_function(fn) {
|
|
95
98
|
return Function.toString.call(fn).indexOf("[native code]") !== -1;
|
|
96
99
|
}
|
|
100
|
+
function _object_spread(target) {
|
|
101
|
+
for(var i = 1; i < arguments.length; i++){
|
|
102
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
103
|
+
var ownKeys = Object.keys(source);
|
|
104
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
105
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
106
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
107
|
+
}));
|
|
108
|
+
}
|
|
109
|
+
ownKeys.forEach(function(key) {
|
|
110
|
+
_define_property(target, key, source[key]);
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
return target;
|
|
114
|
+
}
|
|
115
|
+
function ownKeys(object, enumerableOnly) {
|
|
116
|
+
var keys = Object.keys(object);
|
|
117
|
+
if (Object.getOwnPropertySymbols) {
|
|
118
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
119
|
+
if (enumerableOnly) {
|
|
120
|
+
symbols = symbols.filter(function(sym) {
|
|
121
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
keys.push.apply(keys, symbols);
|
|
125
|
+
}
|
|
126
|
+
return keys;
|
|
127
|
+
}
|
|
128
|
+
function _object_spread_props(target, source) {
|
|
129
|
+
source = source != null ? source : {};
|
|
130
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
131
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
132
|
+
} else {
|
|
133
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
134
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
return target;
|
|
138
|
+
}
|
|
97
139
|
function _possible_constructor_return(self, call) {
|
|
98
140
|
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
99
141
|
return call;
|
|
@@ -173,8 +215,10 @@ function _create_super(Derived) {
|
|
|
173
215
|
}
|
|
174
216
|
function _templateObject() {
|
|
175
217
|
var data = _tagged_template_literal([
|
|
176
|
-
"\n\n left: 0;\n
|
|
177
|
-
";\n
|
|
218
|
+
"\n\n left: 0;\n bottom: 0;\n display: grid;\n padding: ",
|
|
219
|
+
";\n position: fixed;\n border-top: 1px solid ",
|
|
220
|
+
";\n background-color: ",
|
|
221
|
+
";\n transform-origin: bottom left;\n grid-template-rows: auto;\n grid-template-columns: auto min-content;\n \n"
|
|
178
222
|
]);
|
|
179
223
|
_templateObject = function _templateObject() {
|
|
180
224
|
return data;
|
|
@@ -186,53 +230,103 @@ var MenuDiv = /*#__PURE__*/ function(Element) {
|
|
|
186
230
|
var _super = _create_super(MenuDiv);
|
|
187
231
|
function MenuDiv() {
|
|
188
232
|
_class_call_check(this, MenuDiv);
|
|
189
|
-
|
|
190
|
-
_this = _super.apply(this, arguments);
|
|
191
|
-
_define_property(_assert_this_initialized(_this), "customTapHandler", function(event, element) {
|
|
192
|
-
alert("MENU DIV TAP!");
|
|
193
|
-
});
|
|
194
|
-
return _this;
|
|
233
|
+
return _super.apply(this, arguments);
|
|
195
234
|
}
|
|
196
235
|
_create_class(MenuDiv, [
|
|
236
|
+
{
|
|
237
|
+
key: "zoomMenuOut",
|
|
238
|
+
value: function zoomMenuOut() {
|
|
239
|
+
var zoom = (0, _state.getMenuDivZoom)();
|
|
240
|
+
zoom /= _constants.ZOOM_RATIO;
|
|
241
|
+
(0, _state.setMenuDivZoom)(zoom);
|
|
242
|
+
this.updateZoom();
|
|
243
|
+
}
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
key: "zoomMenuIn",
|
|
247
|
+
value: function zoomMenuIn() {
|
|
248
|
+
var zoom = (0, _state.getMenuDivZoom)();
|
|
249
|
+
zoom *= _constants.ZOOM_RATIO;
|
|
250
|
+
(0, _state.setMenuDivZoom)(zoom);
|
|
251
|
+
this.updateZoom();
|
|
252
|
+
}
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
key: "updateZoom",
|
|
256
|
+
value: function updateZoom() {
|
|
257
|
+
var zoom = (0, _state.getMenuDivZoom)(), width = "".concat(100 / zoom, "%"), transform = "scale(".concat(zoom, ")"), css = {
|
|
258
|
+
width: width,
|
|
259
|
+
transform: transform
|
|
260
|
+
};
|
|
261
|
+
this.css(css);
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
key: "show",
|
|
266
|
+
value: function show() {
|
|
267
|
+
var display = _constants.GRID;
|
|
268
|
+
this.display(display);
|
|
269
|
+
}
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
key: "openMenu",
|
|
273
|
+
value: function openMenu() {
|
|
274
|
+
this.show();
|
|
275
|
+
}
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
key: "closeMenu",
|
|
279
|
+
value: function closeMenu() {
|
|
280
|
+
this.hide();
|
|
281
|
+
}
|
|
282
|
+
},
|
|
197
283
|
{
|
|
198
284
|
key: "didMount",
|
|
199
285
|
value: function didMount() {
|
|
200
|
-
this.
|
|
201
|
-
this.onCustomTap(this.customTapHandler);
|
|
286
|
+
this.updateZoom();
|
|
202
287
|
}
|
|
203
288
|
},
|
|
204
289
|
{
|
|
205
290
|
key: "willUnmount",
|
|
206
291
|
value: function willUnmount() {
|
|
207
|
-
|
|
208
|
-
this.offCustomTap(this.customTapHandler);
|
|
292
|
+
///
|
|
209
293
|
}
|
|
210
294
|
},
|
|
211
295
|
{
|
|
212
|
-
key: "
|
|
213
|
-
value: function
|
|
214
|
-
|
|
296
|
+
key: "childElements",
|
|
297
|
+
value: function childElements() {
|
|
298
|
+
return [
|
|
299
|
+
/*#__PURE__*/ React.createElement(_checkboxes.default, null),
|
|
300
|
+
/*#__PURE__*/ React.createElement(_buttons.default, null)
|
|
301
|
+
];
|
|
215
302
|
}
|
|
216
303
|
},
|
|
217
304
|
{
|
|
218
305
|
key: "parentContext",
|
|
219
306
|
value: function parentContext() {
|
|
220
|
-
var
|
|
221
|
-
return {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
307
|
+
var context = this.getContext(), openMenu = this.openMenu.bind(this), closeMenu = this.closeMenu.bind(this), zoomMenuIn = this.zoomMenuIn.bind(this), zoomMenuOut = this.zoomMenuOut.bind(this), updateMenuDivZoom = this.updateZoom.bind(this); ///
|
|
308
|
+
return _object_spread_props(_object_spread({}, context), {
|
|
309
|
+
openMenu: openMenu,
|
|
310
|
+
closeMenu: closeMenu,
|
|
311
|
+
zoomMenuIn: zoomMenuIn,
|
|
312
|
+
zoomMenuOut: zoomMenuOut,
|
|
313
|
+
updateMenuDivZoom: updateMenuDivZoom
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
key: "initialise",
|
|
319
|
+
value: function initialise() {
|
|
320
|
+
this.hide();
|
|
226
321
|
}
|
|
227
322
|
}
|
|
228
323
|
]);
|
|
229
324
|
return MenuDiv;
|
|
230
|
-
}(_wrap_native_super(
|
|
325
|
+
}(_wrap_native_super(_element.default));
|
|
231
326
|
_define_property(MenuDiv, "tagName", "div");
|
|
232
327
|
_define_property(MenuDiv, "defaultProperties", {
|
|
233
328
|
className: "menu"
|
|
234
329
|
});
|
|
235
|
-
|
|
236
|
-
var _default = (0, _easywithstyle.default)(MenuDiv)(_templateObject(), _style.menuDivHeight);
|
|
330
|
+
var _default = (0, _easywithstyle.default)(MenuDiv)(_templateObject(), _styles.menuDivPadding, _styles.borderColour, _styles.backgroundColour);
|
|
237
331
|
|
|
238
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
332
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92aWV3L2Rpdi9tZW51LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgRWxlbWVudCBmcm9tIFwiLi4vZWxlbWVudFwiO1xuaW1wb3J0IEJ1dHRvbnNEaXYgZnJvbSBcIi4uL2Rpdi9idXR0b25zXCI7XG5pbXBvcnQgQ2hlY2tib3hlc0RpdiBmcm9tIFwiLi4vZGl2L2NoZWNrYm94ZXNcIjtcblxuaW1wb3J0IHsgR1JJRCwgWk9PTV9SQVRJTyB9IGZyb20gXCIuLi8uLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGJvcmRlckNvbG91ciwgbWVudURpdlBhZGRpbmcsIGJhY2tncm91bmRDb2xvdXIgfSBmcm9tIFwiLi4vLi4vc3R5bGVzXCI7XG5pbXBvcnQgeyBnZXRNZW51RGl2Wm9vbSBhcyBnZXRab29tLCBzZXRNZW51RGl2Wm9vbSBhcyBzZXRab29tIH0gZnJvbSBcIi4uLy4uL3N0YXRlXCI7XG5cbmNsYXNzIE1lbnVEaXYgZXh0ZW5kcyBFbGVtZW50IHtcbiAgem9vbU1lbnVPdXQoKSB7XG4gICAgbGV0IHpvb20gPSBnZXRab29tKCk7XG5cbiAgICB6b29tIC89IFpPT01fUkFUSU87XG5cbiAgICBzZXRab29tKHpvb20pO1xuXG4gICAgdGhpcy51cGRhdGVab29tKCk7XG4gIH1cblxuICB6b29tTWVudUluKCkge1xuICAgIGxldCB6b29tID0gZ2V0Wm9vbSgpO1xuXG4gICAgem9vbSAqPSBaT09NX1JBVElPO1xuXG4gICAgc2V0Wm9vbSh6b29tKTtcblxuICAgIHRoaXMudXBkYXRlWm9vbSgpO1xuICB9XG5cbiAgdXBkYXRlWm9vbSgpIHtcbiAgICBjb25zdCB6b29tID0gZ2V0Wm9vbSgpLFxuICAgICAgICAgIHdpZHRoID0gYCR7MTAwL3pvb219JWAsXG4gICAgICAgICAgdHJhbnNmb3JtID0gYHNjYWxlKCR7em9vbX0pYCxcbiAgICAgICAgICBjc3MgPSB7XG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIHRyYW5zZm9ybVxuICAgICAgICAgIH07XG5cbiAgICB0aGlzLmNzcyhjc3MpO1xuICB9XG5cbiAgc2hvdygpIHtcbiAgICBjb25zdCBkaXNwbGF5ID0gR1JJRDtcblxuICAgIHRoaXMuZGlzcGxheShkaXNwbGF5KTtcbiAgfVxuXG4gIG9wZW5NZW51KCkge1xuICAgIHRoaXMuc2hvdygpO1xuICB9XG5cbiAgY2xvc2VNZW51KCkge1xuICAgIHRoaXMuaGlkZSgpO1xuICB9XG5cbiAgZGlkTW91bnQoKSB7XG4gICAgdGhpcy51cGRhdGVab29tKCk7XG4gIH1cblxuICB3aWxsVW5tb3VudCgpIHtcbiAgICAvLy9cbiAgfVxuXG4gIGNoaWxkRWxlbWVudHMoKSB7XG4gICAgcmV0dXJuIChbXG5cbiAgICAgIDxDaGVja2JveGVzRGl2Lz4sXG4gICAgICA8QnV0dG9uc0Rpdi8+XG5cbiAgICBdKTtcbiAgfVxuXG4gIHBhcmVudENvbnRleHQoKSB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpLFxuICAgICAgICAgIG9wZW5NZW51ID0gdGhpcy5vcGVuTWVudS5iaW5kKHRoaXMpLFxuICAgICAgICAgIGNsb3NlTWVudSA9IHRoaXMuY2xvc2VNZW51LmJpbmQodGhpcyksXG4gICAgICAgICAgem9vbU1lbnVJbiA9IHRoaXMuem9vbU1lbnVJbi5iaW5kKHRoaXMpLFxuICAgICAgICAgIHpvb21NZW51T3V0ID0gdGhpcy56b29tTWVudU91dC5iaW5kKHRoaXMpLFxuICAgICAgICAgIHVwZGF0ZU1lbnVEaXZab29tID0gdGhpcy51cGRhdGVab29tLmJpbmQodGhpcyk7IC8vL1xuXG4gICAgcmV0dXJuICh7XG4gICAgICAuLi5jb250ZXh0LFxuICAgICAgb3Blbk1lbnUsXG4gICAgICBjbG9zZU1lbnUsXG4gICAgICB6b29tTWVudUluLFxuICAgICAgem9vbU1lbnVPdXQsXG4gICAgICB1cGRhdGVNZW51RGl2Wm9vbVxuICAgIH0pO1xuICB9XG5cbiAgaW5pdGlhbGlzZSgpIHtcbiAgICB0aGlzLmhpZGUoKTtcbiAgfVxuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJkaXZcIjtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcIm1lbnVcIlxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGUoTWVudURpdilgXG5cbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBncmlkO1xuICBwYWRkaW5nOiAke21lbnVEaXZQYWRkaW5nfTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJHtib3JkZXJDb2xvdXJ9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2JhY2tncm91bmRDb2xvdXJ9O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWluLWNvbnRlbnQ7XG4gICAgXG5gO1xuIl0sIm5hbWVzIjpbIk1lbnVEaXYiLCJ6b29tTWVudU91dCIsInpvb20iLCJnZXRab29tIiwiWk9PTV9SQVRJTyIsInNldFpvb20iLCJ1cGRhdGVab29tIiwiem9vbU1lbnVJbiIsIndpZHRoIiwidHJhbnNmb3JtIiwiY3NzIiwic2hvdyIsImRpc3BsYXkiLCJHUklEIiwib3Blbk1lbnUiLCJjbG9zZU1lbnUiLCJoaWRlIiwiZGlkTW91bnQiLCJ3aWxsVW5tb3VudCIsImNoaWxkRWxlbWVudHMiLCJDaGVja2JveGVzRGl2IiwiQnV0dG9uc0RpdiIsInBhcmVudENvbnRleHQiLCJjb250ZXh0IiwiZ2V0Q29udGV4dCIsImJpbmQiLCJ1cGRhdGVNZW51RGl2Wm9vbSIsImluaXRpYWxpc2UiLCJFbGVtZW50IiwidGFnTmFtZSIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwid2l0aFN0eWxlIiwibWVudURpdlBhZGRpbmciLCJib3JkZXJDb2xvdXIiLCJiYWNrZ3JvdW5kQ29sb3VyIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF5R0E7OztlQUFBOzs7b0VBdkdzQjs4REFFRjs4REFDRztpRUFDRzt5QkFFTztzQkFDOEI7cUJBQ007Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFckUsSUFBQSxBQUFNQSx3QkFBRCxBQUFMO2NBQU1BOytCQUFBQTthQUFBQTtnQ0FBQUE7OztrQkFBQUE7O1lBQ0pDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJQyxPQUFPQyxJQUFBQSxxQkFBTztnQkFFbEJELFFBQVFFLHFCQUFVO2dCQUVsQkMsSUFBQUEscUJBQU8sRUFBQ0g7Z0JBRVIsSUFBSSxDQUFDSSxVQUFVO1lBQ2pCOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUlMLE9BQU9DLElBQUFBLHFCQUFPO2dCQUVsQkQsUUFBUUUscUJBQVU7Z0JBRWxCQyxJQUFBQSxxQkFBTyxFQUFDSDtnQkFFUixJQUFJLENBQUNJLFVBQVU7WUFDakI7OztZQUVBQSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUosT0FBT0MsSUFBQUEscUJBQU8sS0FDZEssUUFBUSxBQUFDLEdBQVcsT0FBVCxNQUFJTixNQUFLLE1BQ3BCTyxZQUFZLEFBQUMsU0FBYSxPQUFMUCxNQUFLLE1BQzFCUSxNQUFNO29CQUNKRixPQUFBQTtvQkFDQUMsV0FBQUE7Z0JBQ0Y7Z0JBRU4sSUFBSSxDQUFDQyxHQUFHLENBQUNBO1lBQ1g7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsVUFBVUMsZUFBSTtnQkFFcEIsSUFBSSxDQUFDRCxPQUFPLENBQUNBO1lBQ2Y7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDSCxJQUFJO1lBQ1g7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDQyxJQUFJO1lBQ1g7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDWCxVQUFVO1lBQ2pCOzs7WUFFQVksS0FBQUE7bUJBQUFBLFNBQUFBO1lBQ0UsR0FBRztZQUNMOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQVE7a0NBRU4sb0JBQUNDLG1CQUFhO2tDQUNkLG9CQUFDQyxnQkFBVTtpQkFFWjtZQUNIOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLFVBQVUsSUFBSSxDQUFDQyxVQUFVLElBQ3pCVixXQUFXLElBQUksQ0FBQ0EsUUFBUSxDQUFDVyxJQUFJLENBQUMsSUFBSSxHQUNsQ1YsWUFBWSxJQUFJLENBQUNBLFNBQVMsQ0FBQ1UsSUFBSSxDQUFDLElBQUksR0FDcENsQixhQUFhLElBQUksQ0FBQ0EsVUFBVSxDQUFDa0IsSUFBSSxDQUFDLElBQUksR0FDdEN4QixjQUFjLElBQUksQ0FBQ0EsV0FBVyxDQUFDd0IsSUFBSSxDQUFDLElBQUksR0FDeENDLG9CQUFvQixJQUFJLENBQUNwQixVQUFVLENBQUNtQixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUc7Z0JBRXpELE9BQVEsd0NBQ0hGO29CQUNIVCxVQUFBQTtvQkFDQUMsV0FBQUE7b0JBQ0FSLFlBQUFBO29CQUNBTixhQUFBQTtvQkFDQXlCLG1CQUFBQTs7WUFFSjs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJLENBQUNYLElBQUk7WUFDWDs7O1dBcEZJaEI7cUJBQWdCNEIsZ0JBQU87QUFzRjNCLGlCQXRGSTVCLFNBc0ZHNkIsV0FBVTtBQUVqQixpQkF4Rkk3QixTQXdGRzhCLHFCQUFvQjtJQUN6QkMsV0FBVztBQUNiO0lBR0YsV0FBZUMsSUFBQUEsc0JBQVMsRUFBQ2hDLDRCQUtaaUMsc0JBQWMsRUFFREMsb0JBQVksRUFDaEJDLHdCQUFnQiJ9
|