From ffc858ac29bf88ac92b9dada46d22cea4b48e08c Mon Sep 17 00:00:00 2001 From: TuxCoder Date: Tue, 9 Jul 2019 23:54:57 +0200 Subject: [PATCH] add names, bugfixes, colors --- dist/main.js | 8315 +++++++++++++++++++++++++--------------------- dist/main.js.map | 2 +- src/app.js | 60 +- 3 files changed, 4577 insertions(+), 3800 deletions(-) diff --git a/dist/main.js b/dist/main.js index 5280b88..e8bf8d9 100644 --- a/dist/main.js +++ b/dist/main.js @@ -81,7 +81,7 @@ /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 91); +/******/ return __webpack_require__(__webpack_require__.s = 98); /******/ }) /************************************************************************/ /******/ ([ @@ -134,7 +134,7 @@ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "G", function() { return intersectsSegment; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return applyTransform; }); /* harmony import */ var _asserts_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10); -/* harmony import */ var _extent_Corner_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(56); +/* harmony import */ var _extent_Corner_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(58); /* harmony import */ var _extent_Relationship_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(22); /** * @module ol/extent @@ -1359,7 +1359,7 @@ function unlistenAll(target) { /* harmony import */ var _css_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24); /* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /* harmony import */ var _obj_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9); -/* harmony import */ var _structs_LRUCache_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(61); +/* harmony import */ var _structs_LRUCache_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(64); /* harmony import */ var _transform_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8); /** * @module ol/render/canvas @@ -2385,7 +2385,7 @@ function isEmpty(object) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return assert; }); -/* harmony import */ var _AssertionError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60); +/* harmony import */ var _AssertionError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63); /** * @module ol/asserts */ @@ -2698,7 +2698,7 @@ function isSorted(arr, opt_func, opt_strict) { "use strict"; // EXTERNAL MODULE: ./node_modules/ol/sphere.js -var sphere = __webpack_require__(59); +var sphere = __webpack_require__(62); // EXTERNAL MODULE: ./node_modules/ol/extent.js var ol_extent = __webpack_require__(0); @@ -4008,8 +4008,8 @@ function VOID() {} /* unused harmony export ObjectEvent */ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getChangeEventType; }); /* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); -/* harmony import */ var _ObjectEventType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(51); -/* harmony import */ var _Observable_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63); +/* harmony import */ var _ObjectEventType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(54); +/* harmony import */ var _Observable_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(67); /* harmony import */ var _events_Event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(25); /* harmony import */ var _obj_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9); /** @@ -5127,6 +5127,35 @@ function translate(flatCoordinates, offset, end, stride, deltaX, deltaY, opt_des /* 30 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { +"use strict"; +/** + * @module ol/CollectionEventType + */ + +/** + * @enum {string} + */ +/* harmony default export */ __webpack_exports__["a"] = ({ + /** + * Triggered when an item is added to the collection. + * @event module:ol/Collection.CollectionEvent#add + * @api + */ + ADD: 'add', + /** + * Triggered when an item is removed from the collection. + * @event module:ol/Collection.CollectionEvent#remove + * @api + */ + REMOVE: 'remove' +}); + +//# sourceMappingURL=CollectionEventType.js.map + +/***/ }), +/* 31 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + "use strict"; /** * @module ol/render/EventType @@ -5163,12 +5192,12 @@ function translate(flatCoordinates, offset, end, stride, deltaX, deltaY, opt_des //# sourceMappingURL=EventType.js.map /***/ }), -/* 31 */ +/* 32 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return asColorLike; }); -/* harmony import */ var _color_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(34); +/* harmony import */ var _color_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(38); /** * @module ol/colorlike */ @@ -5204,7 +5233,309 @@ function asColorLike(color) { //# sourceMappingURL=colorlike.js.map /***/ }), -/* 32 */ +/* 33 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export CollectionEvent */ +/* harmony import */ var _AssertionError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63); +/* harmony import */ var _CollectionEventType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30); +/* harmony import */ var _Object_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16); +/* harmony import */ var _events_Event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(25); +/** + * @module ol/Collection + */ + + + + + + +/** + * @enum {string} + * @private + */ +var Property = { + LENGTH: 'length' +}; + + +/** + * @classdesc + * Events emitted by {@link module:ol/Collection~Collection} instances are instances of this + * type. + */ +var CollectionEvent = /*@__PURE__*/(function (Event) { + function CollectionEvent(type, opt_element) { + Event.call(this, type); + + /** + * The element that is added to or removed from the collection. + * @type {*} + * @api + */ + this.element = opt_element; + + } + + if ( Event ) CollectionEvent.__proto__ = Event; + CollectionEvent.prototype = Object.create( Event && Event.prototype ); + CollectionEvent.prototype.constructor = CollectionEvent; + + return CollectionEvent; +}(_events_Event_js__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])); + + +/** + * @typedef {Object} Options + * @property {boolean} [unique=false] Disallow the same item from being added to + * the collection twice. + */ + +/** + * @classdesc + * An expanded version of standard JS Array, adding convenience methods for + * manipulation. Add and remove changes to the Collection trigger a Collection + * event. Note that this does not cover changes to the objects _within_ the + * Collection; they trigger events on the appropriate object, not on the + * Collection as a whole. + * + * @fires CollectionEvent + * + * @template T + * @api + */ +var Collection = /*@__PURE__*/(function (BaseObject) { + function Collection(opt_array, opt_options) { + + BaseObject.call(this); + + var options = opt_options || {}; + + /** + * @private + * @type {boolean} + */ + this.unique_ = !!options.unique; + + /** + * @private + * @type {!Array} + */ + this.array_ = opt_array ? opt_array : []; + + if (this.unique_) { + for (var i = 0, ii = this.array_.length; i < ii; ++i) { + this.assertUnique_(this.array_[i], i); + } + } + + this.updateLength_(); + + } + + if ( BaseObject ) Collection.__proto__ = BaseObject; + Collection.prototype = Object.create( BaseObject && BaseObject.prototype ); + Collection.prototype.constructor = Collection; + + /** + * Remove all elements from the collection. + * @api + */ + Collection.prototype.clear = function clear () { + while (this.getLength() > 0) { + this.pop(); + } + }; + + /** + * Add elements to the collection. This pushes each item in the provided array + * to the end of the collection. + * @param {!Array} arr Array. + * @return {Collection} This collection. + * @api + */ + Collection.prototype.extend = function extend (arr) { + for (var i = 0, ii = arr.length; i < ii; ++i) { + this.push(arr[i]); + } + return this; + }; + + /** + * Iterate over each element, calling the provided callback. + * @param {function(T, number, Array): *} f The function to call + * for every element. This function takes 3 arguments (the element, the + * index and the array). The return value is ignored. + * @api + */ + Collection.prototype.forEach = function forEach (f) { + var array = this.array_; + for (var i = 0, ii = array.length; i < ii; ++i) { + f(array[i], i, array); + } + }; + + /** + * Get a reference to the underlying Array object. Warning: if the array + * is mutated, no events will be dispatched by the collection, and the + * collection's "length" property won't be in sync with the actual length + * of the array. + * @return {!Array} Array. + * @api + */ + Collection.prototype.getArray = function getArray () { + return this.array_; + }; + + /** + * Get the element at the provided index. + * @param {number} index Index. + * @return {T} Element. + * @api + */ + Collection.prototype.item = function item (index) { + return this.array_[index]; + }; + + /** + * Get the length of this collection. + * @return {number} The length of the array. + * @observable + * @api + */ + Collection.prototype.getLength = function getLength () { + return this.get(Property.LENGTH); + }; + + /** + * Insert an element at the provided index. + * @param {number} index Index. + * @param {T} elem Element. + * @api + */ + Collection.prototype.insertAt = function insertAt (index, elem) { + if (this.unique_) { + this.assertUnique_(elem); + } + this.array_.splice(index, 0, elem); + this.updateLength_(); + this.dispatchEvent( + new CollectionEvent(_CollectionEventType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].ADD, elem)); + }; + + /** + * Remove the last element of the collection and return it. + * Return `undefined` if the collection is empty. + * @return {T|undefined} Element. + * @api + */ + Collection.prototype.pop = function pop () { + return this.removeAt(this.getLength() - 1); + }; + + /** + * Insert the provided element at the end of the collection. + * @param {T} elem Element. + * @return {number} New length of the collection. + * @api + */ + Collection.prototype.push = function push (elem) { + if (this.unique_) { + this.assertUnique_(elem); + } + var n = this.getLength(); + this.insertAt(n, elem); + return this.getLength(); + }; + + /** + * Remove the first occurrence of an element from the collection. + * @param {T} elem Element. + * @return {T|undefined} The removed element or undefined if none found. + * @api + */ + Collection.prototype.remove = function remove (elem) { + var arr = this.array_; + for (var i = 0, ii = arr.length; i < ii; ++i) { + if (arr[i] === elem) { + return this.removeAt(i); + } + } + return undefined; + }; + + /** + * Remove the element at the provided index and return it. + * Return `undefined` if the collection does not contain this index. + * @param {number} index Index. + * @return {T|undefined} Value. + * @api + */ + Collection.prototype.removeAt = function removeAt (index) { + var prev = this.array_[index]; + this.array_.splice(index, 1); + this.updateLength_(); + this.dispatchEvent(new CollectionEvent(_CollectionEventType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].REMOVE, prev)); + return prev; + }; + + /** + * Set the element at the provided index. + * @param {number} index Index. + * @param {T} elem Element. + * @api + */ + Collection.prototype.setAt = function setAt (index, elem) { + var n = this.getLength(); + if (index < n) { + if (this.unique_) { + this.assertUnique_(elem, index); + } + var prev = this.array_[index]; + this.array_[index] = elem; + this.dispatchEvent( + new CollectionEvent(_CollectionEventType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].REMOVE, prev)); + this.dispatchEvent( + new CollectionEvent(_CollectionEventType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].ADD, elem)); + } else { + for (var j = n; j < index; ++j) { + this.insertAt(j, undefined); + } + this.insertAt(index, elem); + } + }; + + /** + * @private + */ + Collection.prototype.updateLength_ = function updateLength_ () { + this.set(Property.LENGTH, this.array_.length); + }; + + /** + * @private + * @param {T} elem Element. + * @param {number=} opt_except Optional index to ignore. + */ + Collection.prototype.assertUnique_ = function assertUnique_ (elem, opt_except) { + for (var i = 0, ii = this.array_.length; i < ii; ++i) { + if (this.array_[i] === elem && i !== opt_except) { + throw new _AssertionError_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"](58); + } + } + }; + + return Collection; +}(_Object_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])); + + +/* harmony default export */ __webpack_exports__["a"] = (Collection); + +//# sourceMappingURL=Collection.js.map + +/***/ }), +/* 34 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5231,11 +5562,401 @@ var ENABLE_RASTER_REPROJECTION = true; //# sourceMappingURL=common.js.map /***/ }), -/* 33 */ +/* 35 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var _Disposable_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(58); +/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); +/* harmony import */ var _color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(38); +/** + * @module ol/style/Fill + */ + + + + +/** + * @typedef {Object} Options + * @property {import("../color.js").Color|import("../colorlike.js").ColorLike} [color] A color, gradient or pattern. + * See {@link module:ol/color~Color} and {@link module:ol/colorlike~ColorLike} for possible formats. + * Default null; if null, the Canvas/renderer default black will be used. + */ + + +/** + * @classdesc + * Set fill style for vector features. + * @api + */ +var Fill = function Fill(opt_options) { + + var options = opt_options || {}; + + /** + * @private + * @type {import("../color.js").Color|import("../colorlike.js").ColorLike} + */ + this.color_ = options.color !== undefined ? options.color : null; + + /** + * @private + * @type {string|undefined} + */ + this.checksum_ = undefined; +}; + +/** + * Clones the style. The color is not cloned if it is an {@link module:ol/colorlike~ColorLike}. + * @return {Fill} The cloned style. + * @api + */ +Fill.prototype.clone = function clone () { + var color = this.getColor(); + return new Fill({ + color: Array.isArray(color) ? color.slice() : color || undefined + }); +}; + +/** + * Get the fill color. + * @return {import("../color.js").Color|import("../colorlike.js").ColorLike} Color. + * @api + */ +Fill.prototype.getColor = function getColor () { + return this.color_; +}; + +/** + * Set the color. + * + * @param {import("../color.js").Color|import("../colorlike.js").ColorLike} color Color. + * @api + */ +Fill.prototype.setColor = function setColor (color) { + this.color_ = color; + this.checksum_ = undefined; +}; + +/** + * @return {string} The checksum. + */ +Fill.prototype.getChecksum = function getChecksum () { + if (this.checksum_ === undefined) { + var color = this.color_; + if (color) { + if (Array.isArray(color) || typeof color == 'string') { + this.checksum_ = 'f' + Object(_color_js__WEBPACK_IMPORTED_MODULE_1__[/* asString */ "a"])(/** @type {import("../color.js").Color|string} */ (color)); + } else { + this.checksum_ = Object(_util_js__WEBPACK_IMPORTED_MODULE_0__[/* getUid */ "c"])(this.color_); + } + } else { + this.checksum_ = 'f-'; + } + } + + return this.checksum_; +}; + +/* harmony default export */ __webpack_exports__["a"] = (Fill); + +//# sourceMappingURL=Fill.js.map + +/***/ }), +/* 36 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); +/** + * @module ol/style/Stroke + */ + + + +/** + * @typedef {Object} Options + * @property {import("../color.js").Color|import("../colorlike.js").ColorLike} [color] A color, gradient or pattern. + * See {@link module:ol/color~Color} and {@link module:ol/colorlike~ColorLike} for possible formats. + * Default null; if null, the Canvas/renderer default black will be used. + * @property {string} [lineCap='round'] Line cap style: `butt`, `round`, or `square`. + * @property {string} [lineJoin='round'] Line join style: `bevel`, `round`, or `miter`. + * @property {Array} [lineDash] Line dash pattern. Default is `undefined` (no dash). + * Please note that Internet Explorer 10 and lower do not support the `setLineDash` method on + * the `CanvasRenderingContext2D` and therefore this option will have no visual effect in these browsers. + * @property {number} [lineDashOffset=0] Line dash offset. + * @property {number} [miterLimit=10] Miter limit. + * @property {number} [width] Width. + */ + + +/** + * @classdesc + * Set stroke style for vector features. + * Note that the defaults given are the Canvas defaults, which will be used if + * option is not defined. The `get` functions return whatever was entered in + * the options; they will not return the default. + * @api + */ +var Stroke = function Stroke(opt_options) { + + var options = opt_options || {}; + + /** + * @private + * @type {import("../color.js").Color|import("../colorlike.js").ColorLike} + */ + this.color_ = options.color !== undefined ? options.color : null; + + /** + * @private + * @type {string|undefined} + */ + this.lineCap_ = options.lineCap; + + /** + * @private + * @type {Array} + */ + this.lineDash_ = options.lineDash !== undefined ? options.lineDash : null; + + /** + * @private + * @type {number|undefined} + */ + this.lineDashOffset_ = options.lineDashOffset; + + /** + * @private + * @type {string|undefined} + */ + this.lineJoin_ = options.lineJoin; + + /** + * @private + * @type {number|undefined} + */ + this.miterLimit_ = options.miterLimit; + + /** + * @private + * @type {number|undefined} + */ + this.width_ = options.width; + + /** + * @private + * @type {string|undefined} + */ + this.checksum_ = undefined; +}; + +/** + * Clones the style. + * @return {Stroke} The cloned style. + * @api + */ +Stroke.prototype.clone = function clone () { + var color = this.getColor(); + return new Stroke({ + color: Array.isArray(color) ? color.slice() : color || undefined, + lineCap: this.getLineCap(), + lineDash: this.getLineDash() ? this.getLineDash().slice() : undefined, + lineDashOffset: this.getLineDashOffset(), + lineJoin: this.getLineJoin(), + miterLimit: this.getMiterLimit(), + width: this.getWidth() + }); +}; + +/** + * Get the stroke color. + * @return {import("../color.js").Color|import("../colorlike.js").ColorLike} Color. + * @api + */ +Stroke.prototype.getColor = function getColor () { + return this.color_; +}; + +/** + * Get the line cap type for the stroke. + * @return {string|undefined} Line cap. + * @api + */ +Stroke.prototype.getLineCap = function getLineCap () { + return this.lineCap_; +}; + +/** + * Get the line dash style for the stroke. + * @return {Array} Line dash. + * @api + */ +Stroke.prototype.getLineDash = function getLineDash () { + return this.lineDash_; +}; + +/** + * Get the line dash offset for the stroke. + * @return {number|undefined} Line dash offset. + * @api + */ +Stroke.prototype.getLineDashOffset = function getLineDashOffset () { + return this.lineDashOffset_; +}; + +/** + * Get the line join type for the stroke. + * @return {string|undefined} Line join. + * @api + */ +Stroke.prototype.getLineJoin = function getLineJoin () { + return this.lineJoin_; +}; + +/** + * Get the miter limit for the stroke. + * @return {number|undefined} Miter limit. + * @api + */ +Stroke.prototype.getMiterLimit = function getMiterLimit () { + return this.miterLimit_; +}; + +/** + * Get the stroke width. + * @return {number|undefined} Width. + * @api + */ +Stroke.prototype.getWidth = function getWidth () { + return this.width_; +}; + +/** + * Set the color. + * + * @param {import("../color.js").Color|import("../colorlike.js").ColorLike} color Color. + * @api + */ +Stroke.prototype.setColor = function setColor (color) { + this.color_ = color; + this.checksum_ = undefined; +}; + +/** + * Set the line cap. + * + * @param {string|undefined} lineCap Line cap. + * @api + */ +Stroke.prototype.setLineCap = function setLineCap (lineCap) { + this.lineCap_ = lineCap; + this.checksum_ = undefined; +}; + +/** + * Set the line dash. + * + * Please note that Internet Explorer 10 and lower [do not support][mdn] the + * `setLineDash` method on the `CanvasRenderingContext2D` and therefore this + * property will have no visual effect in these browsers. + * + * [mdn]: https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash#Browser_compatibility + * + * @param {Array} lineDash Line dash. + * @api + */ +Stroke.prototype.setLineDash = function setLineDash (lineDash) { + this.lineDash_ = lineDash; + this.checksum_ = undefined; +}; + +/** + * Set the line dash offset. + * + * @param {number|undefined} lineDashOffset Line dash offset. + * @api + */ +Stroke.prototype.setLineDashOffset = function setLineDashOffset (lineDashOffset) { + this.lineDashOffset_ = lineDashOffset; + this.checksum_ = undefined; +}; + +/** + * Set the line join. + * + * @param {string|undefined} lineJoin Line join. + * @api + */ +Stroke.prototype.setLineJoin = function setLineJoin (lineJoin) { + this.lineJoin_ = lineJoin; + this.checksum_ = undefined; +}; + +/** + * Set the miter limit. + * + * @param {number|undefined} miterLimit Miter limit. + * @api + */ +Stroke.prototype.setMiterLimit = function setMiterLimit (miterLimit) { + this.miterLimit_ = miterLimit; + this.checksum_ = undefined; +}; + +/** + * Set the width. + * + * @param {number|undefined} width Width. + * @api + */ +Stroke.prototype.setWidth = function setWidth (width) { + this.width_ = width; + this.checksum_ = undefined; +}; + +/** + * @return {string} The checksum. + */ +Stroke.prototype.getChecksum = function getChecksum () { + if (this.checksum_ === undefined) { + this.checksum_ = 's'; + if (this.color_) { + if (typeof this.color_ === 'string') { + this.checksum_ += this.color_; + } else { + this.checksum_ += Object(_util_js__WEBPACK_IMPORTED_MODULE_0__[/* getUid */ "c"])(this.color_); + } + } else { + this.checksum_ += '-'; + } + this.checksum_ += ',' + + (this.lineCap_ !== undefined ? + this.lineCap_.toString() : '-') + ',' + + (this.lineDash_ ? + this.lineDash_.toString() : '-') + ',' + + (this.lineDashOffset_ !== undefined ? + this.lineDashOffset_ : '-') + ',' + + (this.lineJoin_ !== undefined ? + this.lineJoin_ : '-') + ',' + + (this.miterLimit_ !== undefined ? + this.miterLimit_.toString() : '-') + ',' + + (this.width_ !== undefined ? + this.width_.toString() : '-'); + } + + return this.checksum_; +}; + +/* harmony default export */ __webpack_exports__["a"] = (Stroke); + +//# sourceMappingURL=Stroke.js.map + +/***/ }), +/* 37 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _Disposable_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60); /* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2); /* harmony import */ var _functions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15); /* harmony import */ var _Event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(25); @@ -5414,7 +6135,7 @@ var Target = /*@__PURE__*/(function (Disposable) { //# sourceMappingURL=Target.js.map /***/ }), -/* 34 */ +/* 38 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5654,13 +6375,13 @@ function toString(color) { //# sourceMappingURL=color.js.map /***/ }), -/* 35 */ +/* 39 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // EXTERNAL MODULE: ./node_modules/ol/tilegrid/common.js -var common = __webpack_require__(54); +var common = __webpack_require__(56); // EXTERNAL MODULE: ./node_modules/ol/size.js var ol_size = __webpack_require__(28); @@ -5669,7 +6390,7 @@ var ol_size = __webpack_require__(28); var ol_extent = __webpack_require__(0); // EXTERNAL MODULE: ./node_modules/ol/extent/Corner.js -var Corner = __webpack_require__(56); +var Corner = __webpack_require__(58); // EXTERNAL MODULE: ./node_modules/ol/proj.js + 5 modules var proj = __webpack_require__(13); @@ -5681,7 +6402,7 @@ var Units = __webpack_require__(23); var asserts = __webpack_require__(10); // EXTERNAL MODULE: ./node_modules/ol/TileRange.js -var TileRange = __webpack_require__(57); +var TileRange = __webpack_require__(59); // EXTERNAL MODULE: ./node_modules/ol/array.js var array = __webpack_require__(11); @@ -6424,7 +7145,7 @@ function extentFromProjection(projection) { //# sourceMappingURL=tilegrid.js.map /***/ }), -/* 36 */ +/* 40 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6900,7 +7621,7 @@ function toStringXY(coordinate, opt_fractionDigits) { //# sourceMappingURL=coordinate.js.map /***/ }), -/* 37 */ +/* 41 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6909,11 +7630,11 @@ function toStringXY(coordinate, opt_fractionDigits) { /* harmony import */ var _events_EventType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5); /* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1); /* harmony import */ var _Object_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16); -/* harmony import */ var _Base_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(68); +/* harmony import */ var _Base_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(72); /* harmony import */ var _Property_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(19); /* harmony import */ var _obj_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9); -/* harmony import */ var _render_EventType_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(30); -/* harmony import */ var _source_State_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(39); +/* harmony import */ var _render_EventType_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(31); +/* harmony import */ var _source_State_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(43); /** * @module ol/layer/Layer */ @@ -7156,7 +7877,7 @@ function visibleAtResolution(layerState, resolution) { //# sourceMappingURL=Layer.js.map /***/ }), -/* 38 */ +/* 42 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7186,7 +7907,7 @@ function visibleAtResolution(layerState, resolution) { //# sourceMappingURL=VectorTileRenderType.js.map /***/ }), -/* 39 */ +/* 43 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7208,7 +7929,7 @@ function visibleAtResolution(layerState, resolution) { //# sourceMappingURL=State.js.map /***/ }), -/* 40 */ +/* 44 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7859,7 +8580,7 @@ function transformGeom2D(simpleGeometry, transform, opt_dest) { //# sourceMappingURL=SimpleGeometry.js.map /***/ }), -/* 41 */ +/* 45 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7937,7 +8658,7 @@ function inflateMultiCoordinatesArray(flatCoordinates, offset, endss, stride, op //# sourceMappingURL=inflate.js.map /***/ }), -/* 42 */ +/* 46 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -8061,7 +8782,7 @@ function linearRingssContainsXY(flatCoordinates, offset, endss, stride, x, y) { //# sourceMappingURL=contains.js.map /***/ }), -/* 43 */ +/* 47 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -8160,7 +8881,7 @@ function createSnapToZero(opt_tolerance) { //# sourceMappingURL=rotationconstraint.js.map /***/ }), -/* 44 */ +/* 48 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -8179,562 +8900,7 @@ function createSnapToZero(opt_tolerance) { //# sourceMappingURL=TileProperty.js.map /***/ }), -/* 45 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); -/** - * @module ol/style/Stroke - */ - - - -/** - * @typedef {Object} Options - * @property {import("../color.js").Color|import("../colorlike.js").ColorLike} [color] A color, gradient or pattern. - * See {@link module:ol/color~Color} and {@link module:ol/colorlike~ColorLike} for possible formats. - * Default null; if null, the Canvas/renderer default black will be used. - * @property {string} [lineCap='round'] Line cap style: `butt`, `round`, or `square`. - * @property {string} [lineJoin='round'] Line join style: `bevel`, `round`, or `miter`. - * @property {Array} [lineDash] Line dash pattern. Default is `undefined` (no dash). - * Please note that Internet Explorer 10 and lower do not support the `setLineDash` method on - * the `CanvasRenderingContext2D` and therefore this option will have no visual effect in these browsers. - * @property {number} [lineDashOffset=0] Line dash offset. - * @property {number} [miterLimit=10] Miter limit. - * @property {number} [width] Width. - */ - - -/** - * @classdesc - * Set stroke style for vector features. - * Note that the defaults given are the Canvas defaults, which will be used if - * option is not defined. The `get` functions return whatever was entered in - * the options; they will not return the default. - * @api - */ -var Stroke = function Stroke(opt_options) { - - var options = opt_options || {}; - - /** - * @private - * @type {import("../color.js").Color|import("../colorlike.js").ColorLike} - */ - this.color_ = options.color !== undefined ? options.color : null; - - /** - * @private - * @type {string|undefined} - */ - this.lineCap_ = options.lineCap; - - /** - * @private - * @type {Array} - */ - this.lineDash_ = options.lineDash !== undefined ? options.lineDash : null; - - /** - * @private - * @type {number|undefined} - */ - this.lineDashOffset_ = options.lineDashOffset; - - /** - * @private - * @type {string|undefined} - */ - this.lineJoin_ = options.lineJoin; - - /** - * @private - * @type {number|undefined} - */ - this.miterLimit_ = options.miterLimit; - - /** - * @private - * @type {number|undefined} - */ - this.width_ = options.width; - - /** - * @private - * @type {string|undefined} - */ - this.checksum_ = undefined; -}; - -/** - * Clones the style. - * @return {Stroke} The cloned style. - * @api - */ -Stroke.prototype.clone = function clone () { - var color = this.getColor(); - return new Stroke({ - color: Array.isArray(color) ? color.slice() : color || undefined, - lineCap: this.getLineCap(), - lineDash: this.getLineDash() ? this.getLineDash().slice() : undefined, - lineDashOffset: this.getLineDashOffset(), - lineJoin: this.getLineJoin(), - miterLimit: this.getMiterLimit(), - width: this.getWidth() - }); -}; - -/** - * Get the stroke color. - * @return {import("../color.js").Color|import("../colorlike.js").ColorLike} Color. - * @api - */ -Stroke.prototype.getColor = function getColor () { - return this.color_; -}; - -/** - * Get the line cap type for the stroke. - * @return {string|undefined} Line cap. - * @api - */ -Stroke.prototype.getLineCap = function getLineCap () { - return this.lineCap_; -}; - -/** - * Get the line dash style for the stroke. - * @return {Array} Line dash. - * @api - */ -Stroke.prototype.getLineDash = function getLineDash () { - return this.lineDash_; -}; - -/** - * Get the line dash offset for the stroke. - * @return {number|undefined} Line dash offset. - * @api - */ -Stroke.prototype.getLineDashOffset = function getLineDashOffset () { - return this.lineDashOffset_; -}; - -/** - * Get the line join type for the stroke. - * @return {string|undefined} Line join. - * @api - */ -Stroke.prototype.getLineJoin = function getLineJoin () { - return this.lineJoin_; -}; - -/** - * Get the miter limit for the stroke. - * @return {number|undefined} Miter limit. - * @api - */ -Stroke.prototype.getMiterLimit = function getMiterLimit () { - return this.miterLimit_; -}; - -/** - * Get the stroke width. - * @return {number|undefined} Width. - * @api - */ -Stroke.prototype.getWidth = function getWidth () { - return this.width_; -}; - -/** - * Set the color. - * - * @param {import("../color.js").Color|import("../colorlike.js").ColorLike} color Color. - * @api - */ -Stroke.prototype.setColor = function setColor (color) { - this.color_ = color; - this.checksum_ = undefined; -}; - -/** - * Set the line cap. - * - * @param {string|undefined} lineCap Line cap. - * @api - */ -Stroke.prototype.setLineCap = function setLineCap (lineCap) { - this.lineCap_ = lineCap; - this.checksum_ = undefined; -}; - -/** - * Set the line dash. - * - * Please note that Internet Explorer 10 and lower [do not support][mdn] the - * `setLineDash` method on the `CanvasRenderingContext2D` and therefore this - * property will have no visual effect in these browsers. - * - * [mdn]: https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash#Browser_compatibility - * - * @param {Array} lineDash Line dash. - * @api - */ -Stroke.prototype.setLineDash = function setLineDash (lineDash) { - this.lineDash_ = lineDash; - this.checksum_ = undefined; -}; - -/** - * Set the line dash offset. - * - * @param {number|undefined} lineDashOffset Line dash offset. - * @api - */ -Stroke.prototype.setLineDashOffset = function setLineDashOffset (lineDashOffset) { - this.lineDashOffset_ = lineDashOffset; - this.checksum_ = undefined; -}; - -/** - * Set the line join. - * - * @param {string|undefined} lineJoin Line join. - * @api - */ -Stroke.prototype.setLineJoin = function setLineJoin (lineJoin) { - this.lineJoin_ = lineJoin; - this.checksum_ = undefined; -}; - -/** - * Set the miter limit. - * - * @param {number|undefined} miterLimit Miter limit. - * @api - */ -Stroke.prototype.setMiterLimit = function setMiterLimit (miterLimit) { - this.miterLimit_ = miterLimit; - this.checksum_ = undefined; -}; - -/** - * Set the width. - * - * @param {number|undefined} width Width. - * @api - */ -Stroke.prototype.setWidth = function setWidth (width) { - this.width_ = width; - this.checksum_ = undefined; -}; - -/** - * @return {string} The checksum. - */ -Stroke.prototype.getChecksum = function getChecksum () { - if (this.checksum_ === undefined) { - this.checksum_ = 's'; - if (this.color_) { - if (typeof this.color_ === 'string') { - this.checksum_ += this.color_; - } else { - this.checksum_ += Object(_util_js__WEBPACK_IMPORTED_MODULE_0__[/* getUid */ "c"])(this.color_); - } - } else { - this.checksum_ += '-'; - } - this.checksum_ += ',' + - (this.lineCap_ !== undefined ? - this.lineCap_.toString() : '-') + ',' + - (this.lineDash_ ? - this.lineDash_.toString() : '-') + ',' + - (this.lineDashOffset_ !== undefined ? - this.lineDashOffset_ : '-') + ',' + - (this.lineJoin_ !== undefined ? - this.lineJoin_ : '-') + ',' + - (this.miterLimit_ !== undefined ? - this.miterLimit_.toString() : '-') + ',' + - (this.width_ !== undefined ? - this.width_.toString() : '-'); - } - - return this.checksum_; -}; - -/* harmony default export */ __webpack_exports__["a"] = (Stroke); - -//# sourceMappingURL=Stroke.js.map - -/***/ }), -/* 46 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return maxSquaredDelta; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return arrayMaxSquaredDelta; }); -/* unused harmony export multiArrayMaxSquaredDelta */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return assignClosestPoint; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return assignClosestArrayPoint; }); -/* unused harmony export assignClosestMultiArrayPoint */ -/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); -/** - * @module ol/geom/flat/closest - */ - - - -/** - * Returns the point on the 2D line segment flatCoordinates[offset1] to - * flatCoordinates[offset2] that is closest to the point (x, y). Extra - * dimensions are linearly interpolated. - * @param {Array} flatCoordinates Flat coordinates. - * @param {number} offset1 Offset 1. - * @param {number} offset2 Offset 2. - * @param {number} stride Stride. - * @param {number} x X. - * @param {number} y Y. - * @param {Array} closestPoint Closest point. - */ -function assignClosest(flatCoordinates, offset1, offset2, stride, x, y, closestPoint) { - var x1 = flatCoordinates[offset1]; - var y1 = flatCoordinates[offset1 + 1]; - var dx = flatCoordinates[offset2] - x1; - var dy = flatCoordinates[offset2 + 1] - y1; - var offset; - if (dx === 0 && dy === 0) { - offset = offset1; - } else { - var t = ((x - x1) * dx + (y - y1) * dy) / (dx * dx + dy * dy); - if (t > 1) { - offset = offset2; - } else if (t > 0) { - for (var i = 0; i < stride; ++i) { - closestPoint[i] = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* lerp */ "c"])(flatCoordinates[offset1 + i], - flatCoordinates[offset2 + i], t); - } - closestPoint.length = stride; - return; - } else { - offset = offset1; - } - } - for (var i$1 = 0; i$1 < stride; ++i$1) { - closestPoint[i$1] = flatCoordinates[offset + i$1]; - } - closestPoint.length = stride; -} - - -/** - * Return the squared of the largest distance between any pair of consecutive - * coordinates. - * @param {Array} flatCoordinates Flat coordinates. - * @param {number} offset Offset. - * @param {number} end End. - * @param {number} stride Stride. - * @param {number} max Max squared delta. - * @return {number} Max squared delta. - */ -function maxSquaredDelta(flatCoordinates, offset, end, stride, max) { - var x1 = flatCoordinates[offset]; - var y1 = flatCoordinates[offset + 1]; - for (offset += stride; offset < end; offset += stride) { - var x2 = flatCoordinates[offset]; - var y2 = flatCoordinates[offset + 1]; - var squaredDelta = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* squaredDistance */ "f"])(x1, y1, x2, y2); - if (squaredDelta > max) { - max = squaredDelta; - } - x1 = x2; - y1 = y2; - } - return max; -} - - -/** - * @param {Array} flatCoordinates Flat coordinates. - * @param {number} offset Offset. - * @param {Array} ends Ends. - * @param {number} stride Stride. - * @param {number} max Max squared delta. - * @return {number} Max squared delta. - */ -function arrayMaxSquaredDelta(flatCoordinates, offset, ends, stride, max) { - for (var i = 0, ii = ends.length; i < ii; ++i) { - var end = ends[i]; - max = maxSquaredDelta( - flatCoordinates, offset, end, stride, max); - offset = end; - } - return max; -} - - -/** - * @param {Array} flatCoordinates Flat coordinates. - * @param {number} offset Offset. - * @param {Array>} endss Endss. - * @param {number} stride Stride. - * @param {number} max Max squared delta. - * @return {number} Max squared delta. - */ -function multiArrayMaxSquaredDelta(flatCoordinates, offset, endss, stride, max) { - for (var i = 0, ii = endss.length; i < ii; ++i) { - var ends = endss[i]; - max = arrayMaxSquaredDelta( - flatCoordinates, offset, ends, stride, max); - offset = ends[ends.length - 1]; - } - return max; -} - - -/** - * @param {Array} flatCoordinates Flat coordinates. - * @param {number} offset Offset. - * @param {number} end End. - * @param {number} stride Stride. - * @param {number} maxDelta Max delta. - * @param {boolean} isRing Is ring. - * @param {number} x X. - * @param {number} y Y. - * @param {Array} closestPoint Closest point. - * @param {number} minSquaredDistance Minimum squared distance. - * @param {Array=} opt_tmpPoint Temporary point object. - * @return {number} Minimum squared distance. - */ -function assignClosestPoint(flatCoordinates, offset, end, - stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance, - opt_tmpPoint) { - if (offset == end) { - return minSquaredDistance; - } - var i, squaredDistance; - if (maxDelta === 0) { - // All points are identical, so just test the first point. - squaredDistance = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* squaredDistance */ "f"])( - x, y, flatCoordinates[offset], flatCoordinates[offset + 1]); - if (squaredDistance < minSquaredDistance) { - for (i = 0; i < stride; ++i) { - closestPoint[i] = flatCoordinates[offset + i]; - } - closestPoint.length = stride; - return squaredDistance; - } else { - return minSquaredDistance; - } - } - var tmpPoint = opt_tmpPoint ? opt_tmpPoint : [NaN, NaN]; - var index = offset + stride; - while (index < end) { - assignClosest( - flatCoordinates, index - stride, index, stride, x, y, tmpPoint); - squaredDistance = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* squaredDistance */ "f"])(x, y, tmpPoint[0], tmpPoint[1]); - if (squaredDistance < minSquaredDistance) { - minSquaredDistance = squaredDistance; - for (i = 0; i < stride; ++i) { - closestPoint[i] = tmpPoint[i]; - } - closestPoint.length = stride; - index += stride; - } else { - // Skip ahead multiple points, because we know that all the skipped - // points cannot be any closer than the closest point we have found so - // far. We know this because we know how close the current point is, how - // close the closest point we have found so far is, and the maximum - // distance between consecutive points. For example, if we're currently - // at distance 10, the best we've found so far is 3, and that the maximum - // distance between consecutive points is 2, then we'll need to skip at - // least (10 - 3) / 2 == 3 (rounded down) points to have any chance of - // finding a closer point. We use Math.max(..., 1) to ensure that we - // always advance at least one point, to avoid an infinite loop. - index += stride * Math.max( - ((Math.sqrt(squaredDistance) - - Math.sqrt(minSquaredDistance)) / maxDelta) | 0, 1); - } - } - if (isRing) { - // Check the closing segment. - assignClosest( - flatCoordinates, end - stride, offset, stride, x, y, tmpPoint); - squaredDistance = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* squaredDistance */ "f"])(x, y, tmpPoint[0], tmpPoint[1]); - if (squaredDistance < minSquaredDistance) { - minSquaredDistance = squaredDistance; - for (i = 0; i < stride; ++i) { - closestPoint[i] = tmpPoint[i]; - } - closestPoint.length = stride; - } - } - return minSquaredDistance; -} - - -/** - * @param {Array} flatCoordinates Flat coordinates. - * @param {number} offset Offset. - * @param {Array} ends Ends. - * @param {number} stride Stride. - * @param {number} maxDelta Max delta. - * @param {boolean} isRing Is ring. - * @param {number} x X. - * @param {number} y Y. - * @param {Array} closestPoint Closest point. - * @param {number} minSquaredDistance Minimum squared distance. - * @param {Array=} opt_tmpPoint Temporary point object. - * @return {number} Minimum squared distance. - */ -function assignClosestArrayPoint(flatCoordinates, offset, ends, - stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance, - opt_tmpPoint) { - var tmpPoint = opt_tmpPoint ? opt_tmpPoint : [NaN, NaN]; - for (var i = 0, ii = ends.length; i < ii; ++i) { - var end = ends[i]; - minSquaredDistance = assignClosestPoint( - flatCoordinates, offset, end, stride, - maxDelta, isRing, x, y, closestPoint, minSquaredDistance, tmpPoint); - offset = end; - } - return minSquaredDistance; -} - - -/** - * @param {Array} flatCoordinates Flat coordinates. - * @param {number} offset Offset. - * @param {Array>} endss Endss. - * @param {number} stride Stride. - * @param {number} maxDelta Max delta. - * @param {boolean} isRing Is ring. - * @param {number} x X. - * @param {number} y Y. - * @param {Array} closestPoint Closest point. - * @param {number} minSquaredDistance Minimum squared distance. - * @param {Array=} opt_tmpPoint Temporary point object. - * @return {number} Minimum squared distance. - */ -function assignClosestMultiArrayPoint(flatCoordinates, offset, - endss, stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance, - opt_tmpPoint) { - var tmpPoint = opt_tmpPoint ? opt_tmpPoint : [NaN, NaN]; - for (var i = 0, ii = endss.length; i < ii; ++i) { - var ends = endss[i]; - minSquaredDistance = assignClosestArrayPoint( - flatCoordinates, offset, ends, stride, - maxDelta, isRing, x, y, closestPoint, minSquaredDistance, tmpPoint); - offset = ends[ends.length - 1]; - } - return minSquaredDistance; -} - -//# sourceMappingURL=closest.js.map - -/***/ }), -/* 47 */ +/* 49 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -8743,9 +8909,9 @@ function assignClosestMultiArrayPoint(flatCoordinates, offset, /* unused harmony export createEditingStyle */ /* harmony import */ var _asserts_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10); /* harmony import */ var _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6); -/* harmony import */ var _Circle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73); -/* harmony import */ var _Fill_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(53); -/* harmony import */ var _Stroke_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(45); +/* harmony import */ var _Circle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(77); +/* harmony import */ var _Fill_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(35); +/* harmony import */ var _Stroke_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(36); /** * @module ol/style/Style */ @@ -9295,13 +9461,278 @@ function defaultGeometryFunction(feature) { //# sourceMappingURL=Style.js.map /***/ }), -/* 48 */ +/* 50 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return maxSquaredDelta; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return arrayMaxSquaredDelta; }); +/* unused harmony export multiArrayMaxSquaredDelta */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return assignClosestPoint; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return assignClosestArrayPoint; }); +/* unused harmony export assignClosestMultiArrayPoint */ +/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); +/** + * @module ol/geom/flat/closest + */ + + + +/** + * Returns the point on the 2D line segment flatCoordinates[offset1] to + * flatCoordinates[offset2] that is closest to the point (x, y). Extra + * dimensions are linearly interpolated. + * @param {Array} flatCoordinates Flat coordinates. + * @param {number} offset1 Offset 1. + * @param {number} offset2 Offset 2. + * @param {number} stride Stride. + * @param {number} x X. + * @param {number} y Y. + * @param {Array} closestPoint Closest point. + */ +function assignClosest(flatCoordinates, offset1, offset2, stride, x, y, closestPoint) { + var x1 = flatCoordinates[offset1]; + var y1 = flatCoordinates[offset1 + 1]; + var dx = flatCoordinates[offset2] - x1; + var dy = flatCoordinates[offset2 + 1] - y1; + var offset; + if (dx === 0 && dy === 0) { + offset = offset1; + } else { + var t = ((x - x1) * dx + (y - y1) * dy) / (dx * dx + dy * dy); + if (t > 1) { + offset = offset2; + } else if (t > 0) { + for (var i = 0; i < stride; ++i) { + closestPoint[i] = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* lerp */ "c"])(flatCoordinates[offset1 + i], + flatCoordinates[offset2 + i], t); + } + closestPoint.length = stride; + return; + } else { + offset = offset1; + } + } + for (var i$1 = 0; i$1 < stride; ++i$1) { + closestPoint[i$1] = flatCoordinates[offset + i$1]; + } + closestPoint.length = stride; +} + + +/** + * Return the squared of the largest distance between any pair of consecutive + * coordinates. + * @param {Array} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {number} max Max squared delta. + * @return {number} Max squared delta. + */ +function maxSquaredDelta(flatCoordinates, offset, end, stride, max) { + var x1 = flatCoordinates[offset]; + var y1 = flatCoordinates[offset + 1]; + for (offset += stride; offset < end; offset += stride) { + var x2 = flatCoordinates[offset]; + var y2 = flatCoordinates[offset + 1]; + var squaredDelta = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* squaredDistance */ "f"])(x1, y1, x2, y2); + if (squaredDelta > max) { + max = squaredDelta; + } + x1 = x2; + y1 = y2; + } + return max; +} + + +/** + * @param {Array} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array} ends Ends. + * @param {number} stride Stride. + * @param {number} max Max squared delta. + * @return {number} Max squared delta. + */ +function arrayMaxSquaredDelta(flatCoordinates, offset, ends, stride, max) { + for (var i = 0, ii = ends.length; i < ii; ++i) { + var end = ends[i]; + max = maxSquaredDelta( + flatCoordinates, offset, end, stride, max); + offset = end; + } + return max; +} + + +/** + * @param {Array} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array>} endss Endss. + * @param {number} stride Stride. + * @param {number} max Max squared delta. + * @return {number} Max squared delta. + */ +function multiArrayMaxSquaredDelta(flatCoordinates, offset, endss, stride, max) { + for (var i = 0, ii = endss.length; i < ii; ++i) { + var ends = endss[i]; + max = arrayMaxSquaredDelta( + flatCoordinates, offset, ends, stride, max); + offset = ends[ends.length - 1]; + } + return max; +} + + +/** + * @param {Array} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {number} maxDelta Max delta. + * @param {boolean} isRing Is ring. + * @param {number} x X. + * @param {number} y Y. + * @param {Array} closestPoint Closest point. + * @param {number} minSquaredDistance Minimum squared distance. + * @param {Array=} opt_tmpPoint Temporary point object. + * @return {number} Minimum squared distance. + */ +function assignClosestPoint(flatCoordinates, offset, end, + stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance, + opt_tmpPoint) { + if (offset == end) { + return minSquaredDistance; + } + var i, squaredDistance; + if (maxDelta === 0) { + // All points are identical, so just test the first point. + squaredDistance = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* squaredDistance */ "f"])( + x, y, flatCoordinates[offset], flatCoordinates[offset + 1]); + if (squaredDistance < minSquaredDistance) { + for (i = 0; i < stride; ++i) { + closestPoint[i] = flatCoordinates[offset + i]; + } + closestPoint.length = stride; + return squaredDistance; + } else { + return minSquaredDistance; + } + } + var tmpPoint = opt_tmpPoint ? opt_tmpPoint : [NaN, NaN]; + var index = offset + stride; + while (index < end) { + assignClosest( + flatCoordinates, index - stride, index, stride, x, y, tmpPoint); + squaredDistance = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* squaredDistance */ "f"])(x, y, tmpPoint[0], tmpPoint[1]); + if (squaredDistance < minSquaredDistance) { + minSquaredDistance = squaredDistance; + for (i = 0; i < stride; ++i) { + closestPoint[i] = tmpPoint[i]; + } + closestPoint.length = stride; + index += stride; + } else { + // Skip ahead multiple points, because we know that all the skipped + // points cannot be any closer than the closest point we have found so + // far. We know this because we know how close the current point is, how + // close the closest point we have found so far is, and the maximum + // distance between consecutive points. For example, if we're currently + // at distance 10, the best we've found so far is 3, and that the maximum + // distance between consecutive points is 2, then we'll need to skip at + // least (10 - 3) / 2 == 3 (rounded down) points to have any chance of + // finding a closer point. We use Math.max(..., 1) to ensure that we + // always advance at least one point, to avoid an infinite loop. + index += stride * Math.max( + ((Math.sqrt(squaredDistance) - + Math.sqrt(minSquaredDistance)) / maxDelta) | 0, 1); + } + } + if (isRing) { + // Check the closing segment. + assignClosest( + flatCoordinates, end - stride, offset, stride, x, y, tmpPoint); + squaredDistance = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* squaredDistance */ "f"])(x, y, tmpPoint[0], tmpPoint[1]); + if (squaredDistance < minSquaredDistance) { + minSquaredDistance = squaredDistance; + for (i = 0; i < stride; ++i) { + closestPoint[i] = tmpPoint[i]; + } + closestPoint.length = stride; + } + } + return minSquaredDistance; +} + + +/** + * @param {Array} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array} ends Ends. + * @param {number} stride Stride. + * @param {number} maxDelta Max delta. + * @param {boolean} isRing Is ring. + * @param {number} x X. + * @param {number} y Y. + * @param {Array} closestPoint Closest point. + * @param {number} minSquaredDistance Minimum squared distance. + * @param {Array=} opt_tmpPoint Temporary point object. + * @return {number} Minimum squared distance. + */ +function assignClosestArrayPoint(flatCoordinates, offset, ends, + stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance, + opt_tmpPoint) { + var tmpPoint = opt_tmpPoint ? opt_tmpPoint : [NaN, NaN]; + for (var i = 0, ii = ends.length; i < ii; ++i) { + var end = ends[i]; + minSquaredDistance = assignClosestPoint( + flatCoordinates, offset, end, stride, + maxDelta, isRing, x, y, closestPoint, minSquaredDistance, tmpPoint); + offset = end; + } + return minSquaredDistance; +} + + +/** + * @param {Array} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array>} endss Endss. + * @param {number} stride Stride. + * @param {number} maxDelta Max delta. + * @param {boolean} isRing Is ring. + * @param {number} x X. + * @param {number} y Y. + * @param {Array} closestPoint Closest point. + * @param {number} minSquaredDistance Minimum squared distance. + * @param {Array=} opt_tmpPoint Temporary point object. + * @return {number} Minimum squared distance. + */ +function assignClosestMultiArrayPoint(flatCoordinates, offset, + endss, stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance, + opt_tmpPoint) { + var tmpPoint = opt_tmpPoint ? opt_tmpPoint : [NaN, NaN]; + for (var i = 0, ii = endss.length; i < ii; ++i) { + var ends = endss[i]; + minSquaredDistance = assignClosestArrayPoint( + flatCoordinates, offset, ends, stride, + maxDelta, isRing, x, y, closestPoint, minSquaredDistance, tmpPoint); + offset = ends[ends.length - 1]; + } + return minSquaredDistance; +} + +//# sourceMappingURL=closest.js.map + +/***/ }), +/* 51 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _TileState_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3); /* harmony import */ var _easing_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21); -/* harmony import */ var _events_Target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(33); +/* harmony import */ var _events_Target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(37); /* harmony import */ var _events_EventType_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5); /** * @module ol/Tile @@ -9604,7 +10035,7 @@ var Tile = /*@__PURE__*/(function (EventTarget) { //# sourceMappingURL=Tile.js.map /***/ }), -/* 49 */ +/* 52 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -9696,7 +10127,7 @@ function deflateMultiCoordinatesArray(flatCoordinates, offset, coordinatesss, st //# sourceMappingURL=deflate.js.map /***/ }), -/* 50 */ +/* 53 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -10109,7 +10540,7 @@ function quantizeMultiArray( //# sourceMappingURL=simplify.js.map /***/ }), -/* 51 */ +/* 54 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -10132,7 +10563,7 @@ function quantizeMultiArray( //# sourceMappingURL=ObjectEventType.js.map /***/ }), -/* 52 */ +/* 55 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -10153,107 +10584,7 @@ function quantizeMultiArray( //# sourceMappingURL=FormatType.js.map /***/ }), -/* 53 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); -/* harmony import */ var _color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(34); -/** - * @module ol/style/Fill - */ - - - - -/** - * @typedef {Object} Options - * @property {import("../color.js").Color|import("../colorlike.js").ColorLike} [color] A color, gradient or pattern. - * See {@link module:ol/color~Color} and {@link module:ol/colorlike~ColorLike} for possible formats. - * Default null; if null, the Canvas/renderer default black will be used. - */ - - -/** - * @classdesc - * Set fill style for vector features. - * @api - */ -var Fill = function Fill(opt_options) { - - var options = opt_options || {}; - - /** - * @private - * @type {import("../color.js").Color|import("../colorlike.js").ColorLike} - */ - this.color_ = options.color !== undefined ? options.color : null; - - /** - * @private - * @type {string|undefined} - */ - this.checksum_ = undefined; -}; - -/** - * Clones the style. The color is not cloned if it is an {@link module:ol/colorlike~ColorLike}. - * @return {Fill} The cloned style. - * @api - */ -Fill.prototype.clone = function clone () { - var color = this.getColor(); - return new Fill({ - color: Array.isArray(color) ? color.slice() : color || undefined - }); -}; - -/** - * Get the fill color. - * @return {import("../color.js").Color|import("../colorlike.js").ColorLike} Color. - * @api - */ -Fill.prototype.getColor = function getColor () { - return this.color_; -}; - -/** - * Set the color. - * - * @param {import("../color.js").Color|import("../colorlike.js").ColorLike} color Color. - * @api - */ -Fill.prototype.setColor = function setColor (color) { - this.color_ = color; - this.checksum_ = undefined; -}; - -/** - * @return {string} The checksum. - */ -Fill.prototype.getChecksum = function getChecksum () { - if (this.checksum_ === undefined) { - var color = this.color_; - if (color) { - if (Array.isArray(color) || typeof color == 'string') { - this.checksum_ = 'f' + Object(_color_js__WEBPACK_IMPORTED_MODULE_1__[/* asString */ "a"])(/** @type {import("../color.js").Color|string} */ (color)); - } else { - this.checksum_ = Object(_util_js__WEBPACK_IMPORTED_MODULE_0__[/* getUid */ "c"])(this.color_); - } - } else { - this.checksum_ = 'f-'; - } - } - - return this.checksum_; -}; - -/* harmony default export */ __webpack_exports__["a"] = (Fill); - -//# sourceMappingURL=Fill.js.map - -/***/ }), -/* 54 */ +/* 56 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -10278,7 +10609,7 @@ var DEFAULT_TILE_SIZE = 256; //# sourceMappingURL=common.js.map /***/ }), -/* 55 */ +/* 57 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -10296,7 +10627,7 @@ var GeometryLayout = __webpack_require__(18); var GeometryType = __webpack_require__(6); // EXTERNAL MODULE: ./node_modules/ol/geom/SimpleGeometry.js + 1 modules -var geom_SimpleGeometry = __webpack_require__(40); +var geom_SimpleGeometry = __webpack_require__(44); // CONCATENATED MODULE: ./node_modules/ol/geom/flat/area.js /** @@ -10363,16 +10694,16 @@ function linearRingss(flatCoordinates, offset, endss, stride) { //# sourceMappingURL=area.js.map // EXTERNAL MODULE: ./node_modules/ol/geom/flat/closest.js -var closest = __webpack_require__(46); +var closest = __webpack_require__(50); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/deflate.js -var deflate = __webpack_require__(49); +var deflate = __webpack_require__(52); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/inflate.js -var inflate = __webpack_require__(41); +var inflate = __webpack_require__(45); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/simplify.js -var simplify = __webpack_require__(50); +var simplify = __webpack_require__(53); // CONCATENATED MODULE: ./node_modules/ol/geom/LinearRing.js /** @@ -10522,13 +10853,13 @@ var LinearRing_LinearRing = /*@__PURE__*/(function (SimpleGeometry) { //# sourceMappingURL=LinearRing.js.map // EXTERNAL MODULE: ./node_modules/ol/geom/Point.js -var Point = __webpack_require__(64); +var Point = __webpack_require__(68); // EXTERNAL MODULE: ./node_modules/ol/sphere.js -var sphere = __webpack_require__(59); +var sphere = __webpack_require__(62); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/contains.js -var contains = __webpack_require__(42); +var contains = __webpack_require__(46); // CONCATENATED MODULE: ./node_modules/ol/geom/flat/interiorpoint.js /** @@ -10627,7 +10958,7 @@ function getInteriorPointsOfMultiArray(flatCoordinates, offset, endss, stride, f //# sourceMappingURL=interiorpoint.js.map // EXTERNAL MODULE: ./node_modules/ol/geom/flat/intersectsextent.js -var intersectsextent = __webpack_require__(65); +var intersectsextent = __webpack_require__(69); // CONCATENATED MODULE: ./node_modules/ol/geom/flat/reverse.js /** @@ -11229,7 +11560,7 @@ function makeRegular(polygon, center, radius, opt_angle) { //# sourceMappingURL=Polygon.js.map /***/ }), -/* 56 */ +/* 58 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -11251,7 +11582,7 @@ function makeRegular(polygon, center, radius, opt_angle) { //# sourceMappingURL=Corner.js.map /***/ }), -/* 57 */ +/* 59 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -11400,7 +11731,7 @@ function createOrUpdate(minX, maxX, minY, maxY, tileRange) { //# sourceMappingURL=TileRange.js.map /***/ }), -/* 58 */ +/* 60 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -11442,7 +11773,46 @@ Disposable.prototype.disposeInternal = function disposeInternal () {}; //# sourceMappingURL=Disposable.js.map /***/ }), -/* 59 */ +/* 61 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/** + * @module ol/MapEventType + */ + +/** + * @enum {string} + */ +/* harmony default export */ __webpack_exports__["a"] = ({ + + /** + * Triggered after a map frame is rendered. + * @event module:ol/MapEvent~MapEvent#postrender + * @api + */ + POSTRENDER: 'postrender', + + /** + * Triggered when the map starts moving. + * @event module:ol/MapEvent~MapEvent#movestart + * @api + */ + MOVESTART: 'movestart', + + /** + * Triggered after the map is moved. + * @event module:ol/MapEvent~MapEvent#moveend + * @api + */ + MOVEEND: 'moveend' + +}); + +//# sourceMappingURL=MapEventType.js.map + +/***/ }), +/* 62 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -11712,7 +12082,7 @@ function offset(c1, distance, bearing, opt_radius) { //# sourceMappingURL=sphere.js.map /***/ }), -/* 60 */ +/* 63 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -11766,12 +12136,12 @@ var AssertionError = /*@__PURE__*/(function (Error) { //# sourceMappingURL=AssertionError.js.map /***/ }), -/* 61 */ +/* 64 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _asserts_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10); -/* harmony import */ var _events_Target_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33); +/* harmony import */ var _events_Target_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(37); /* harmony import */ var _events_EventType_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5); /** * @module ol/structs/LRUCache @@ -12080,11 +12450,34 @@ var LRUCache = /*@__PURE__*/(function (EventTarget) { //# sourceMappingURL=LRUCache.js.map /***/ }), -/* 62 */ +/* 65 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var _structs_LRUCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(61); +/** + * @module ol/style/TextPlacement + */ + +/** + * Text placement. One of `'point'`, `'line'`. Default is `'point'`. Note that + * `'line'` requires the underlying geometry to be a {@link module:ol/geom/LineString~LineString}, + * {@link module:ol/geom/Polygon~Polygon}, {@link module:ol/geom/MultiLineString~MultiLineString} or + * {@link module:ol/geom/MultiPolygon~MultiPolygon}. + * @enum {string} + */ +/* harmony default export */ __webpack_exports__["a"] = ({ + POINT: 'point', + LINE: 'line' +}); + +//# sourceMappingURL=TextPlacement.js.map + +/***/ }), +/* 66 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _structs_LRUCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(64); /* harmony import */ var _tilecoord_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26); /** * @module ol/TileCache @@ -12145,13 +12538,13 @@ var TileCache = /*@__PURE__*/(function (LRUCache) { //# sourceMappingURL=TileCache.js.map /***/ }), -/* 63 */ +/* 67 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* unused harmony export unByKey */ /* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); -/* harmony import */ var _events_Target_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33); +/* harmony import */ var _events_Target_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(37); /* harmony import */ var _events_EventType_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5); /** * @module ol/Observable @@ -12294,14 +12687,14 @@ function unByKey(key) { //# sourceMappingURL=Observable.js.map /***/ }), -/* 64 */ +/* 68 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _extent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); /* harmony import */ var _GeometryType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6); -/* harmony import */ var _SimpleGeometry_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(40); -/* harmony import */ var _flat_deflate_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(49); +/* harmony import */ var _SimpleGeometry_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44); +/* harmony import */ var _flat_deflate_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(52); /* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7); /** * @module ol/geom/Point @@ -12413,7 +12806,7 @@ var Point = /*@__PURE__*/(function (SimpleGeometry) { //# sourceMappingURL=Point.js.map /***/ }), -/* 65 */ +/* 69 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -12423,8 +12816,8 @@ var Point = /*@__PURE__*/(function (SimpleGeometry) { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return intersectsLinearRingArray; }); /* unused harmony export intersectsLinearRingMultiArray */ /* harmony import */ var _extent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); -/* harmony import */ var _contains_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42); -/* harmony import */ var _segments_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(66); +/* harmony import */ var _contains_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(46); +/* harmony import */ var _segments_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(70); /** * @module ol/geom/flat/intersectsextent */ @@ -12570,7 +12963,7 @@ function intersectsLinearRingMultiArray(flatCoordinates, offset, endss, stride, //# sourceMappingURL=intersectsextent.js.map /***/ }), -/* 66 */ +/* 70 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -12615,7 +13008,7 @@ function forEach(flatCoordinates, offset, end, stride, callback, opt_this) { //# sourceMappingURL=segments.js.map /***/ }), -/* 67 */ +/* 71 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -12666,7 +13059,7 @@ function linearRingLength(flatCoordinates, offset, end, stride) { //# sourceMappingURL=length.js.map /***/ }), -/* 68 */ +/* 72 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -12944,7 +13337,7 @@ var BaseLayer = /*@__PURE__*/(function (BaseObject) { //# sourceMappingURL=Base.js.map /***/ }), -/* 69 */ +/* 73 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -12970,7 +13363,7 @@ var BaseLayer = /*@__PURE__*/(function (BaseObject) { //# sourceMappingURL=VectorRenderType.js.map /***/ }), -/* 70 */ +/* 74 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -12979,7 +13372,7 @@ var BaseLayer = /*@__PURE__*/(function (BaseObject) { module.exports = rbush; module.exports.default = rbush; -var quickselect = __webpack_require__(94); +var quickselect = __webpack_require__(101); function rbush(maxEntries, format) { if (!(this instanceof rbush)) return new rbush(maxEntries, format); @@ -13539,7 +13932,7 @@ function multiSelect(arr, left, right, n, compare) { /***/ }), -/* 71 */ +/* 75 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -13694,7 +14087,7 @@ function expandUrl(url) { //# sourceMappingURL=tileurlfunction.js.map // EXTERNAL MODULE: ./node_modules/ol/TileCache.js -var TileCache = __webpack_require__(62); +var TileCache = __webpack_require__(66); // EXTERNAL MODULE: ./node_modules/ol/events/Event.js var Event = __webpack_require__(25); @@ -13709,7 +14102,7 @@ var size = __webpack_require__(28); var ol_Object = __webpack_require__(16); // EXTERNAL MODULE: ./node_modules/ol/source/State.js -var State = __webpack_require__(39); +var State = __webpack_require__(43); // CONCATENATED MODULE: ./node_modules/ol/source/Source.js /** @@ -13922,7 +14315,7 @@ function adaptAttributions(attributionLike) { //# sourceMappingURL=Source.js.map // EXTERNAL MODULE: ./node_modules/ol/tilegrid.js + 1 modules -var tilegrid = __webpack_require__(35); +var tilegrid = __webpack_require__(39); // CONCATENATED MODULE: ./node_modules/ol/source/Tile.js /** @@ -14525,13 +14918,13 @@ var UrlTile_UrlTile = /*@__PURE__*/(function (TileSource) { //# sourceMappingURL=UrlTile.js.map /***/ }), -/* 72 */ +/* 76 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // EXTERNAL MODULE: ./node_modules/ol/tilegrid/common.js -var common = __webpack_require__(54); +var common = __webpack_require__(56); // EXTERNAL MODULE: ./node_modules/ol/util.js var util = __webpack_require__(1); @@ -14669,7 +15062,7 @@ function createSnapToPower(power, maxResolution, opt_maxLevel) { //# sourceMappingURL=resolutionconstraint.js.map // EXTERNAL MODULE: ./node_modules/ol/rotationconstraint.js -var rotationconstraint = __webpack_require__(43); +var rotationconstraint = __webpack_require__(47); // EXTERNAL MODULE: ./node_modules/ol/ViewHint.js var ViewHint = __webpack_require__(12); @@ -14693,7 +15086,7 @@ var ViewHint = __webpack_require__(12); var asserts = __webpack_require__(10); // EXTERNAL MODULE: ./node_modules/ol/coordinate.js + 1 modules -var coordinate = __webpack_require__(36); +var coordinate = __webpack_require__(40); // EXTERNAL MODULE: ./node_modules/ol/easing.js var easing = __webpack_require__(21); @@ -14705,7 +15098,7 @@ var ol_extent = __webpack_require__(0); var GeometryType = __webpack_require__(6); // EXTERNAL MODULE: ./node_modules/ol/geom/Polygon.js + 5 modules -var Polygon = __webpack_require__(55); +var Polygon = __webpack_require__(57); // EXTERNAL MODULE: ./node_modules/ol/obj.js var obj = __webpack_require__(9); @@ -16063,16 +16456,16 @@ function isNoopAnimation(animation) { //# sourceMappingURL=View.js.map /***/ }), -/* 73 */ +/* 77 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // EXTERNAL MODULE: ./node_modules/ol/color.js -var ol_color = __webpack_require__(34); +var ol_color = __webpack_require__(38); // EXTERNAL MODULE: ./node_modules/ol/colorlike.js -var colorlike = __webpack_require__(31); +var colorlike = __webpack_require__(32); // EXTERNAL MODULE: ./node_modules/ol/dom.js var dom = __webpack_require__(14); @@ -17024,7 +17417,7 @@ var CircleStyle = /*@__PURE__*/(function (RegularShape) { //# sourceMappingURL=Circle.js.map /***/ }), -/* 74 */ +/* 78 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -17094,15 +17487,15 @@ function tile(tileGrid) { //# sourceMappingURL=loadingstrategy.js.map /***/ }), -/* 75 */ +/* 79 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _LayerType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27); -/* harmony import */ var _Layer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(37); -/* harmony import */ var _VectorRenderType_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69); +/* harmony import */ var _Layer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41); +/* harmony import */ var _VectorRenderType_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73); /* harmony import */ var _obj_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9); -/* harmony import */ var _style_Style_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(47); +/* harmony import */ var _style_Style_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(49); /** * @module ol/layer/Vector */ @@ -17369,13 +17762,3100 @@ VectorLayer.prototype.getSource; //# sourceMappingURL=Vector.js.map /***/ }), -/* 76 */ +/* 80 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: ./node_modules/ol/reproj/common.js +var common = __webpack_require__(34); + +// EXTERNAL MODULE: ./node_modules/ol/util.js +var util = __webpack_require__(1); + +// EXTERNAL MODULE: ./node_modules/ol/Tile.js +var ol_Tile = __webpack_require__(51); + +// EXTERNAL MODULE: ./node_modules/ol/TileState.js +var TileState = __webpack_require__(3); + +// EXTERNAL MODULE: ./node_modules/ol/dom.js +var dom = __webpack_require__(14); + +// EXTERNAL MODULE: ./node_modules/ol/events.js +var events = __webpack_require__(2); + +// EXTERNAL MODULE: ./node_modules/ol/events/EventType.js +var EventType = __webpack_require__(5); + +// CONCATENATED MODULE: ./node_modules/ol/ImageTile.js +/** + * @module ol/ImageTile + */ + + + + + + + +var ImageTile_ImageTile = /*@__PURE__*/(function (Tile) { + function ImageTile(tileCoord, state, src, crossOrigin, tileLoadFunction, opt_options) { + + Tile.call(this, tileCoord, state, opt_options); + + /** + * @private + * @type {?string} + */ + this.crossOrigin_ = crossOrigin; + + /** + * Image URI + * + * @private + * @type {string} + */ + this.src_ = src; + + /** + * @private + * @type {HTMLImageElement|HTMLCanvasElement} + */ + this.image_ = new Image(); + if (crossOrigin !== null) { + this.image_.crossOrigin = crossOrigin; + } + + /** + * @private + * @type {Array} + */ + this.imageListenerKeys_ = null; + + /** + * @private + * @type {import("./Tile.js").LoadFunction} + */ + this.tileLoadFunction_ = tileLoadFunction; + + } + + if ( Tile ) ImageTile.__proto__ = Tile; + ImageTile.prototype = Object.create( Tile && Tile.prototype ); + ImageTile.prototype.constructor = ImageTile; + + /** + * @inheritDoc + */ + ImageTile.prototype.disposeInternal = function disposeInternal () { + if (this.state == TileState["a" /* default */].LOADING) { + this.unlistenImage_(); + this.image_ = getBlankImage(); + } + if (this.interimTile) { + this.interimTile.dispose(); + } + this.state = TileState["a" /* default */].ABORT; + this.changed(); + Tile.prototype.disposeInternal.call(this); + }; + + /** + * Get the HTML image element for this tile (may be a Canvas, Image, or Video). + * @return {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} Image. + * @api + */ + ImageTile.prototype.getImage = function getImage () { + return this.image_; + }; + + /** + * @inheritDoc + */ + ImageTile.prototype.getKey = function getKey () { + return this.src_; + }; + + /** + * Tracks loading or read errors. + * + * @private + */ + ImageTile.prototype.handleImageError_ = function handleImageError_ () { + this.state = TileState["a" /* default */].ERROR; + this.unlistenImage_(); + this.image_ = getBlankImage(); + this.changed(); + }; + + /** + * Tracks successful image load. + * + * @private + */ + ImageTile.prototype.handleImageLoad_ = function handleImageLoad_ () { + var image = /** @type {HTMLImageElement} */ (this.image_); + if (image.naturalWidth && image.naturalHeight) { + this.state = TileState["a" /* default */].LOADED; + } else { + this.state = TileState["a" /* default */].EMPTY; + } + this.unlistenImage_(); + this.changed(); + }; + + /** + * @inheritDoc + * @api + */ + ImageTile.prototype.load = function load () { + if (this.state == TileState["a" /* default */].ERROR) { + this.state = TileState["a" /* default */].IDLE; + this.image_ = new Image(); + if (this.crossOrigin_ !== null) { + this.image_.crossOrigin = this.crossOrigin_; + } + } + if (this.state == TileState["a" /* default */].IDLE) { + this.state = TileState["a" /* default */].LOADING; + this.changed(); + this.imageListenerKeys_ = [ + Object(events["b" /* listenOnce */])(this.image_, EventType["a" /* default */].ERROR, + this.handleImageError_, this), + Object(events["b" /* listenOnce */])(this.image_, EventType["a" /* default */].LOAD, + this.handleImageLoad_, this) + ]; + this.tileLoadFunction_(this, this.src_); + } + }; + + /** + * Discards event handlers which listen for load completion or errors. + * + * @private + */ + ImageTile.prototype.unlistenImage_ = function unlistenImage_ () { + this.imageListenerKeys_.forEach(events["e" /* unlistenByKey */]); + this.imageListenerKeys_ = null; + }; + + return ImageTile; +}(ol_Tile["a" /* default */])); + + +/** + * Get a 1-pixel blank image. + * @return {HTMLCanvasElement} Blank image. + */ +function getBlankImage() { + var ctx = Object(dom["a" /* createCanvasContext2D */])(1, 1); + ctx.fillStyle = 'rgba(0,0,0,0)'; + ctx.fillRect(0, 0, 1, 1); + return ctx.canvas; +} + +/* harmony default export */ var ol_ImageTile = (ImageTile_ImageTile); + +//# sourceMappingURL=ImageTile.js.map +// EXTERNAL MODULE: ./node_modules/ol/TileCache.js +var TileCache = __webpack_require__(66); + +// EXTERNAL MODULE: ./node_modules/ol/proj.js + 5 modules +var ol_proj = __webpack_require__(13); + +// EXTERNAL MODULE: ./node_modules/ol/extent.js +var ol_extent = __webpack_require__(0); + +// EXTERNAL MODULE: ./node_modules/ol/math.js +var math = __webpack_require__(7); + +// CONCATENATED MODULE: ./node_modules/ol/reproj.js +/** + * @module ol/reproj + */ + + + + + + +/** + * Calculates ideal resolution to use from the source in order to achieve + * pixel mapping as close as possible to 1:1 during reprojection. + * The resolution is calculated regardless of what resolutions + * are actually available in the dataset (TileGrid, Image, ...). + * + * @param {import("./proj/Projection.js").default} sourceProj Source projection. + * @param {import("./proj/Projection.js").default} targetProj Target projection. + * @param {import("./coordinate.js").Coordinate} targetCenter Target center. + * @param {number} targetResolution Target resolution. + * @return {number} The best resolution to use. Can be +-Infinity, NaN or 0. + */ +function calculateSourceResolution(sourceProj, targetProj, + targetCenter, targetResolution) { + + var sourceCenter = Object(ol_proj["h" /* transform */])(targetCenter, targetProj, sourceProj); + + // calculate the ideal resolution of the source data + var sourceResolution = Object(ol_proj["f" /* getPointResolution */])(targetProj, targetResolution, targetCenter); + + var targetMetersPerUnit = targetProj.getMetersPerUnit(); + if (targetMetersPerUnit !== undefined) { + sourceResolution *= targetMetersPerUnit; + } + var sourceMetersPerUnit = sourceProj.getMetersPerUnit(); + if (sourceMetersPerUnit !== undefined) { + sourceResolution /= sourceMetersPerUnit; + } + + // Based on the projection properties, the point resolution at the specified + // coordinates may be slightly different. We need to reverse-compensate this + // in order to achieve optimal results. + + var sourceExtent = sourceProj.getExtent(); + if (!sourceExtent || Object(ol_extent["f" /* containsCoordinate */])(sourceExtent, sourceCenter)) { + var compensationFactor = Object(ol_proj["f" /* getPointResolution */])(sourceProj, sourceResolution, sourceCenter) / + sourceResolution; + if (isFinite(compensationFactor) && compensationFactor > 0) { + sourceResolution /= compensationFactor; + } + } + + return sourceResolution; +} + + +/** + * Enlarge the clipping triangle point by 1 pixel to ensure the edges overlap + * in order to mask gaps caused by antialiasing. + * + * @param {number} centroidX Centroid of the triangle (x coordinate in pixels). + * @param {number} centroidY Centroid of the triangle (y coordinate in pixels). + * @param {number} x X coordinate of the point (in pixels). + * @param {number} y Y coordinate of the point (in pixels). + * @return {import("./coordinate.js").Coordinate} New point 1 px farther from the centroid. + */ +function enlargeClipPoint(centroidX, centroidY, x, y) { + var dX = x - centroidX; + var dY = y - centroidY; + var distance = Math.sqrt(dX * dX + dY * dY); + return [Math.round(x + dX / distance), Math.round(y + dY / distance)]; +} + + +/** + * Renders the source data into new canvas based on the triangulation. + * + * @param {number} width Width of the canvas. + * @param {number} height Height of the canvas. + * @param {number} pixelRatio Pixel ratio. + * @param {number} sourceResolution Source resolution. + * @param {import("./extent.js").Extent} sourceExtent Extent of the data source. + * @param {number} targetResolution Target resolution. + * @param {import("./extent.js").Extent} targetExtent Target extent. + * @param {import("./reproj/Triangulation.js").default} triangulation + * Calculated triangulation. + * @param {Array<{extent: import("./extent.js").Extent, + * image: (HTMLCanvasElement|HTMLImageElement|HTMLVideoElement)}>} sources + * Array of sources. + * @param {number} gutter Gutter of the sources. + * @param {boolean=} opt_renderEdges Render reprojection edges. + * @return {HTMLCanvasElement} Canvas with reprojected data. + */ +function reproj_render(width, height, pixelRatio, + sourceResolution, sourceExtent, targetResolution, targetExtent, + triangulation, sources, gutter, opt_renderEdges) { + + var context = Object(dom["a" /* createCanvasContext2D */])(Math.round(pixelRatio * width), + Math.round(pixelRatio * height)); + + if (sources.length === 0) { + return context.canvas; + } + + context.scale(pixelRatio, pixelRatio); + + var sourceDataExtent = Object(ol_extent["j" /* createEmpty */])(); + sources.forEach(function(src, i, arr) { + Object(ol_extent["q" /* extend */])(sourceDataExtent, src.extent); + }); + + var canvasWidthInUnits = Object(ol_extent["E" /* getWidth */])(sourceDataExtent); + var canvasHeightInUnits = Object(ol_extent["A" /* getHeight */])(sourceDataExtent); + var stitchContext = Object(dom["a" /* createCanvasContext2D */])( + Math.round(pixelRatio * canvasWidthInUnits / sourceResolution), + Math.round(pixelRatio * canvasHeightInUnits / sourceResolution)); + + var stitchScale = pixelRatio / sourceResolution; + + sources.forEach(function(src, i, arr) { + var xPos = src.extent[0] - sourceDataExtent[0]; + var yPos = -(src.extent[3] - sourceDataExtent[3]); + var srcWidth = Object(ol_extent["E" /* getWidth */])(src.extent); + var srcHeight = Object(ol_extent["A" /* getHeight */])(src.extent); + + stitchContext.drawImage( + src.image, + gutter, gutter, + src.image.width - 2 * gutter, src.image.height - 2 * gutter, + xPos * stitchScale, yPos * stitchScale, + srcWidth * stitchScale, srcHeight * stitchScale); + }); + + var targetTopLeft = Object(ol_extent["C" /* getTopLeft */])(targetExtent); + + triangulation.getTriangles().forEach(function(triangle, i, arr) { + /* Calculate affine transform (src -> dst) + * Resulting matrix can be used to transform coordinate + * from `sourceProjection` to destination pixels. + * + * To optimize number of context calls and increase numerical stability, + * we also do the following operations: + * trans(-topLeftExtentCorner), scale(1 / targetResolution), scale(1, -1) + * here before solving the linear system so [ui, vi] are pixel coordinates. + * + * Src points: xi, yi + * Dst points: ui, vi + * Affine coefficients: aij + * + * | x0 y0 1 0 0 0 | |a00| |u0| + * | x1 y1 1 0 0 0 | |a01| |u1| + * | x2 y2 1 0 0 0 | x |a02| = |u2| + * | 0 0 0 x0 y0 1 | |a10| |v0| + * | 0 0 0 x1 y1 1 | |a11| |v1| + * | 0 0 0 x2 y2 1 | |a12| |v2| + */ + var source = triangle.source; + var target = triangle.target; + var x0 = source[0][0], y0 = source[0][1]; + var x1 = source[1][0], y1 = source[1][1]; + var x2 = source[2][0], y2 = source[2][1]; + var u0 = (target[0][0] - targetTopLeft[0]) / targetResolution; + var v0 = -(target[0][1] - targetTopLeft[1]) / targetResolution; + var u1 = (target[1][0] - targetTopLeft[0]) / targetResolution; + var v1 = -(target[1][1] - targetTopLeft[1]) / targetResolution; + var u2 = (target[2][0] - targetTopLeft[0]) / targetResolution; + var v2 = -(target[2][1] - targetTopLeft[1]) / targetResolution; + + // Shift all the source points to improve numerical stability + // of all the subsequent calculations. The [x0, y0] is used here. + // This is also used to simplify the linear system. + var sourceNumericalShiftX = x0; + var sourceNumericalShiftY = y0; + x0 = 0; + y0 = 0; + x1 -= sourceNumericalShiftX; + y1 -= sourceNumericalShiftY; + x2 -= sourceNumericalShiftX; + y2 -= sourceNumericalShiftY; + + var augmentedMatrix = [ + [x1, y1, 0, 0, u1 - u0], + [x2, y2, 0, 0, u2 - u0], + [0, 0, x1, y1, v1 - v0], + [0, 0, x2, y2, v2 - v0] + ]; + var affineCoefs = Object(math["e" /* solveLinearSystem */])(augmentedMatrix); + if (!affineCoefs) { + return; + } + + context.save(); + context.beginPath(); + var centroidX = (u0 + u1 + u2) / 3; + var centroidY = (v0 + v1 + v2) / 3; + var p0 = enlargeClipPoint(centroidX, centroidY, u0, v0); + var p1 = enlargeClipPoint(centroidX, centroidY, u1, v1); + var p2 = enlargeClipPoint(centroidX, centroidY, u2, v2); + + context.moveTo(p1[0], p1[1]); + context.lineTo(p0[0], p0[1]); + context.lineTo(p2[0], p2[1]); + context.clip(); + + context.transform( + affineCoefs[0], affineCoefs[2], affineCoefs[1], affineCoefs[3], u0, v0); + + context.translate(sourceDataExtent[0] - sourceNumericalShiftX, + sourceDataExtent[3] - sourceNumericalShiftY); + + context.scale(sourceResolution / pixelRatio, + -sourceResolution / pixelRatio); + + context.drawImage(stitchContext.canvas, 0, 0); + context.restore(); + }); + + if (opt_renderEdges) { + context.save(); + + context.strokeStyle = 'black'; + context.lineWidth = 1; + + triangulation.getTriangles().forEach(function(triangle, i, arr) { + var target = triangle.target; + var u0 = (target[0][0] - targetTopLeft[0]) / targetResolution; + var v0 = -(target[0][1] - targetTopLeft[1]) / targetResolution; + var u1 = (target[1][0] - targetTopLeft[0]) / targetResolution; + var v1 = -(target[1][1] - targetTopLeft[1]) / targetResolution; + var u2 = (target[2][0] - targetTopLeft[0]) / targetResolution; + var v2 = -(target[2][1] - targetTopLeft[1]) / targetResolution; + + context.beginPath(); + context.moveTo(u1, v1); + context.lineTo(u0, v0); + context.lineTo(u2, v2); + context.closePath(); + context.stroke(); + }); + + context.restore(); + } + return context.canvas; +} + +//# sourceMappingURL=reproj.js.map +// CONCATENATED MODULE: ./node_modules/ol/reproj/Triangulation.js +/** + * @module ol/reproj/Triangulation + */ + + + + + +/** + * Single triangle; consists of 3 source points and 3 target points. + * @typedef {Object} Triangle + * @property {Array} source + * @property {Array} target + */ + + +/** + * Maximum number of subdivision steps during raster reprojection triangulation. + * Prevents high memory usage and large number of proj4 calls (for certain + * transformations and areas). At most `2*(2^this)` triangles are created for + * each triangulated extent (tile/image). + * @type {number} + */ +var MAX_SUBDIVISION = 10; + + +/** + * Maximum allowed size of triangle relative to world width. When transforming + * corners of world extent between certain projections, the resulting + * triangulation seems to have zero error and no subdivision is performed. If + * the triangle width is more than this (relative to world width; 0-1), + * subdivison is forced (up to `MAX_SUBDIVISION`). Default is `0.25`. + * @type {number} + */ +var MAX_TRIANGLE_WIDTH = 0.25; + + +/** + * @classdesc + * Class containing triangulation of the given target extent. + * Used for determining source data and the reprojection itself. + */ +var Triangulation_Triangulation = function Triangulation(sourceProj, targetProj, targetExtent, maxSourceExtent, errorThreshold) { + + /** + * @type {import("../proj/Projection.js").default} + * @private + */ + this.sourceProj_ = sourceProj; + + /** + * @type {import("../proj/Projection.js").default} + * @private + */ + this.targetProj_ = targetProj; + + /** @type {!Object} */ + var transformInvCache = {}; + var transformInv = Object(ol_proj["g" /* getTransform */])(this.targetProj_, this.sourceProj_); + + /** + * @param {import("../coordinate.js").Coordinate} c A coordinate. + * @return {import("../coordinate.js").Coordinate} Transformed coordinate. + * @private + */ + this.transformInv_ = function(c) { + var key = c[0] + '/' + c[1]; + if (!transformInvCache[key]) { + transformInvCache[key] = transformInv(c); + } + return transformInvCache[key]; + }; + + /** + * @type {import("../extent.js").Extent} + * @private + */ + this.maxSourceExtent_ = maxSourceExtent; + + /** + * @type {number} + * @private + */ + this.errorThresholdSquared_ = errorThreshold * errorThreshold; + + /** + * @type {Array} + * @private + */ + this.triangles_ = []; + + /** + * Indicates that the triangulation crosses edge of the source projection. + * @type {boolean} + * @private + */ + this.wrapsXInSource_ = false; + + /** + * @type {boolean} + * @private + */ + this.canWrapXInSource_ = this.sourceProj_.canWrapX() && + !!maxSourceExtent && + !!this.sourceProj_.getExtent() && + (Object(ol_extent["E" /* getWidth */])(maxSourceExtent) == Object(ol_extent["E" /* getWidth */])(this.sourceProj_.getExtent())); + + /** + * @type {?number} + * @private + */ + this.sourceWorldWidth_ = this.sourceProj_.getExtent() ? + Object(ol_extent["E" /* getWidth */])(this.sourceProj_.getExtent()) : null; + + /** + * @type {?number} + * @private + */ + this.targetWorldWidth_ = this.targetProj_.getExtent() ? + Object(ol_extent["E" /* getWidth */])(this.targetProj_.getExtent()) : null; + + var destinationTopLeft = Object(ol_extent["C" /* getTopLeft */])(targetExtent); + var destinationTopRight = Object(ol_extent["D" /* getTopRight */])(targetExtent); + var destinationBottomRight = Object(ol_extent["w" /* getBottomRight */])(targetExtent); + var destinationBottomLeft = Object(ol_extent["v" /* getBottomLeft */])(targetExtent); + var sourceTopLeft = this.transformInv_(destinationTopLeft); + var sourceTopRight = this.transformInv_(destinationTopRight); + var sourceBottomRight = this.transformInv_(destinationBottomRight); + var sourceBottomLeft = this.transformInv_(destinationBottomLeft); + + this.addQuad_( + destinationTopLeft, destinationTopRight, + destinationBottomRight, destinationBottomLeft, + sourceTopLeft, sourceTopRight, sourceBottomRight, sourceBottomLeft, + MAX_SUBDIVISION); + + if (this.wrapsXInSource_) { + var leftBound = Infinity; + this.triangles_.forEach(function(triangle, i, arr) { + leftBound = Math.min(leftBound, + triangle.source[0][0], triangle.source[1][0], triangle.source[2][0]); + }); + + // Shift triangles to be as close to `leftBound` as possible + // (if the distance is more than `worldWidth / 2` it can be closer. + this.triangles_.forEach(function(triangle) { + if (Math.max(triangle.source[0][0], triangle.source[1][0], + triangle.source[2][0]) - leftBound > this.sourceWorldWidth_ / 2) { + var newTriangle = [[triangle.source[0][0], triangle.source[0][1]], + [triangle.source[1][0], triangle.source[1][1]], + [triangle.source[2][0], triangle.source[2][1]]]; + if ((newTriangle[0][0] - leftBound) > this.sourceWorldWidth_ / 2) { + newTriangle[0][0] -= this.sourceWorldWidth_; + } + if ((newTriangle[1][0] - leftBound) > this.sourceWorldWidth_ / 2) { + newTriangle[1][0] -= this.sourceWorldWidth_; + } + if ((newTriangle[2][0] - leftBound) > this.sourceWorldWidth_ / 2) { + newTriangle[2][0] -= this.sourceWorldWidth_; + } + + // Rarely (if the extent contains both the dateline and prime meridian) + // the shift can in turn break some triangles. + // Detect this here and don't shift in such cases. + var minX = Math.min( + newTriangle[0][0], newTriangle[1][0], newTriangle[2][0]); + var maxX = Math.max( + newTriangle[0][0], newTriangle[1][0], newTriangle[2][0]); + if ((maxX - minX) < this.sourceWorldWidth_ / 2) { + triangle.source = newTriangle; + } + } + }.bind(this)); + } + + transformInvCache = {}; +}; + +/** + * Adds triangle to the triangulation. + * @param {import("../coordinate.js").Coordinate} a The target a coordinate. + * @param {import("../coordinate.js").Coordinate} b The target b coordinate. + * @param {import("../coordinate.js").Coordinate} c The target c coordinate. + * @param {import("../coordinate.js").Coordinate} aSrc The source a coordinate. + * @param {import("../coordinate.js").Coordinate} bSrc The source b coordinate. + * @param {import("../coordinate.js").Coordinate} cSrc The source c coordinate. + * @private + */ +Triangulation_Triangulation.prototype.addTriangle_ = function addTriangle_ (a, b, c, aSrc, bSrc, cSrc) { + this.triangles_.push({ + source: [aSrc, bSrc, cSrc], + target: [a, b, c] + }); +}; + +/** + * Adds quad (points in clock-wise order) to the triangulation + * (and reprojects the vertices) if valid. + * Performs quad subdivision if needed to increase precision. + * + * @param {import("../coordinate.js").Coordinate} a The target a coordinate. + * @param {import("../coordinate.js").Coordinate} b The target b coordinate. + * @param {import("../coordinate.js").Coordinate} c The target c coordinate. + * @param {import("../coordinate.js").Coordinate} d The target d coordinate. + * @param {import("../coordinate.js").Coordinate} aSrc The source a coordinate. + * @param {import("../coordinate.js").Coordinate} bSrc The source b coordinate. + * @param {import("../coordinate.js").Coordinate} cSrc The source c coordinate. + * @param {import("../coordinate.js").Coordinate} dSrc The source d coordinate. + * @param {number} maxSubdivision Maximal allowed subdivision of the quad. + * @private + */ +Triangulation_Triangulation.prototype.addQuad_ = function addQuad_ (a, b, c, d, aSrc, bSrc, cSrc, dSrc, maxSubdivision) { + + var sourceQuadExtent = Object(ol_extent["b" /* boundingExtent */])([aSrc, bSrc, cSrc, dSrc]); + var sourceCoverageX = this.sourceWorldWidth_ ? + Object(ol_extent["E" /* getWidth */])(sourceQuadExtent) / this.sourceWorldWidth_ : null; + var sourceWorldWidth = /** @type {number} */ (this.sourceWorldWidth_); + + // when the quad is wrapped in the source projection + // it covers most of the projection extent, but not fully + var wrapsX = this.sourceProj_.canWrapX() && + sourceCoverageX > 0.5 && sourceCoverageX < 1; + + var needsSubdivision = false; + + if (maxSubdivision > 0) { + if (this.targetProj_.isGlobal() && this.targetWorldWidth_) { + var targetQuadExtent = Object(ol_extent["b" /* boundingExtent */])([a, b, c, d]); + var targetCoverageX = Object(ol_extent["E" /* getWidth */])(targetQuadExtent) / this.targetWorldWidth_; + needsSubdivision = targetCoverageX > MAX_TRIANGLE_WIDTH || + needsSubdivision; + } + if (!wrapsX && this.sourceProj_.isGlobal() && sourceCoverageX) { + needsSubdivision = sourceCoverageX > MAX_TRIANGLE_WIDTH || + needsSubdivision; + } + } + + if (!needsSubdivision && this.maxSourceExtent_) { + if (!Object(ol_extent["F" /* intersects */])(sourceQuadExtent, this.maxSourceExtent_)) { + // whole quad outside source projection extent -> ignore + return; + } + } + + if (!needsSubdivision) { + if (!isFinite(aSrc[0]) || !isFinite(aSrc[1]) || + !isFinite(bSrc[0]) || !isFinite(bSrc[1]) || + !isFinite(cSrc[0]) || !isFinite(cSrc[1]) || + !isFinite(dSrc[0]) || !isFinite(dSrc[1])) { + if (maxSubdivision > 0) { + needsSubdivision = true; + } else { + return; + } + } + } + + if (maxSubdivision > 0) { + if (!needsSubdivision) { + var center = [(a[0] + c[0]) / 2, (a[1] + c[1]) / 2]; + var centerSrc = this.transformInv_(center); + + var dx; + if (wrapsX) { + var centerSrcEstimX = + (Object(math["d" /* modulo */])(aSrc[0], sourceWorldWidth) + + Object(math["d" /* modulo */])(cSrc[0], sourceWorldWidth)) / 2; + dx = centerSrcEstimX - + Object(math["d" /* modulo */])(centerSrc[0], sourceWorldWidth); + } else { + dx = (aSrc[0] + cSrc[0]) / 2 - centerSrc[0]; + } + var dy = (aSrc[1] + cSrc[1]) / 2 - centerSrc[1]; + var centerSrcErrorSquared = dx * dx + dy * dy; + needsSubdivision = centerSrcErrorSquared > this.errorThresholdSquared_; + } + if (needsSubdivision) { + if (Math.abs(a[0] - c[0]) <= Math.abs(a[1] - c[1])) { + // split horizontally (top & bottom) + var bc = [(b[0] + c[0]) / 2, (b[1] + c[1]) / 2]; + var bcSrc = this.transformInv_(bc); + var da = [(d[0] + a[0]) / 2, (d[1] + a[1]) / 2]; + var daSrc = this.transformInv_(da); + + this.addQuad_( + a, b, bc, da, aSrc, bSrc, bcSrc, daSrc, maxSubdivision - 1); + this.addQuad_( + da, bc, c, d, daSrc, bcSrc, cSrc, dSrc, maxSubdivision - 1); + } else { + // split vertically (left & right) + var ab = [(a[0] + b[0]) / 2, (a[1] + b[1]) / 2]; + var abSrc = this.transformInv_(ab); + var cd = [(c[0] + d[0]) / 2, (c[1] + d[1]) / 2]; + var cdSrc = this.transformInv_(cd); + + this.addQuad_( + a, ab, cd, d, aSrc, abSrc, cdSrc, dSrc, maxSubdivision - 1); + this.addQuad_( + ab, b, c, cd, abSrc, bSrc, cSrc, cdSrc, maxSubdivision - 1); + } + return; + } + } + + if (wrapsX) { + if (!this.canWrapXInSource_) { + return; + } + this.wrapsXInSource_ = true; + } + + this.addTriangle_(a, c, d, aSrc, cSrc, dSrc); + this.addTriangle_(a, b, c, aSrc, bSrc, cSrc); +}; + +/** + * Calculates extent of the 'source' coordinates from all the triangles. + * + * @return {import("../extent.js").Extent} Calculated extent. + */ +Triangulation_Triangulation.prototype.calculateSourceExtent = function calculateSourceExtent () { + var extent = Object(ol_extent["j" /* createEmpty */])(); + + this.triangles_.forEach(function(triangle, i, arr) { + var src = triangle.source; + Object(ol_extent["r" /* extendCoordinate */])(extent, src[0]); + Object(ol_extent["r" /* extendCoordinate */])(extent, src[1]); + Object(ol_extent["r" /* extendCoordinate */])(extent, src[2]); + }); + + return extent; +}; + +/** + * @return {Array} Array of the calculated triangles. + */ +Triangulation_Triangulation.prototype.getTriangles = function getTriangles () { + return this.triangles_; +}; + +/* harmony default export */ var reproj_Triangulation = (Triangulation_Triangulation); + +//# sourceMappingURL=Triangulation.js.map +// CONCATENATED MODULE: ./node_modules/ol/reproj/Tile.js +/** + * @module ol/reproj/Tile + */ + + + + + + + + + + + + +/** + * @typedef {function(number, number, number, number) : import("../Tile.js").default} FunctionType + */ + + +/** + * @classdesc + * Class encapsulating single reprojected tile. + * See {@link module:ol/source/TileImage~TileImage}. + * + */ +var Tile_ReprojTile = /*@__PURE__*/(function (Tile) { + function ReprojTile( + sourceProj, + sourceTileGrid, + targetProj, + targetTileGrid, + tileCoord, + wrappedTileCoord, + pixelRatio, + gutter, + getTileFunction, + opt_errorThreshold, + opt_renderEdges + ) { + Tile.call(this, tileCoord, TileState["a" /* default */].IDLE); + + /** + * @private + * @type {boolean} + */ + this.renderEdges_ = opt_renderEdges !== undefined ? opt_renderEdges : false; + + /** + * @private + * @type {number} + */ + this.pixelRatio_ = pixelRatio; + + /** + * @private + * @type {number} + */ + this.gutter_ = gutter; + + /** + * @private + * @type {HTMLCanvasElement} + */ + this.canvas_ = null; + + /** + * @private + * @type {import("../tilegrid/TileGrid.js").default} + */ + this.sourceTileGrid_ = sourceTileGrid; + + /** + * @private + * @type {import("../tilegrid/TileGrid.js").default} + */ + this.targetTileGrid_ = targetTileGrid; + + /** + * @private + * @type {import("../tilecoord.js").TileCoord} + */ + this.wrappedTileCoord_ = wrappedTileCoord ? wrappedTileCoord : tileCoord; + + /** + * @private + * @type {!Array} + */ + this.sourceTiles_ = []; + + /** + * @private + * @type {Array} + */ + this.sourcesListenerKeys_ = null; + + /** + * @private + * @type {number} + */ + this.sourceZ_ = 0; + + var targetExtent = targetTileGrid.getTileCoordExtent(this.wrappedTileCoord_); + var maxTargetExtent = this.targetTileGrid_.getExtent(); + var maxSourceExtent = this.sourceTileGrid_.getExtent(); + + var limitedTargetExtent = maxTargetExtent ? + Object(ol_extent["B" /* getIntersection */])(targetExtent, maxTargetExtent) : targetExtent; + + if (Object(ol_extent["u" /* getArea */])(limitedTargetExtent) === 0) { + // Tile is completely outside range -> EMPTY + // TODO: is it actually correct that the source even creates the tile ? + this.state = TileState["a" /* default */].EMPTY; + return; + } + + var sourceProjExtent = sourceProj.getExtent(); + if (sourceProjExtent) { + if (!maxSourceExtent) { + maxSourceExtent = sourceProjExtent; + } else { + maxSourceExtent = Object(ol_extent["B" /* getIntersection */])(maxSourceExtent, sourceProjExtent); + } + } + + var targetResolution = targetTileGrid.getResolution( + this.wrappedTileCoord_[0]); + + var targetCenter = Object(ol_extent["x" /* getCenter */])(limitedTargetExtent); + var sourceResolution = calculateSourceResolution( + sourceProj, targetProj, targetCenter, targetResolution); + + if (!isFinite(sourceResolution) || sourceResolution <= 0) { + // invalid sourceResolution -> EMPTY + // probably edges of the projections when no extent is defined + this.state = TileState["a" /* default */].EMPTY; + return; + } + + var errorThresholdInPixels = opt_errorThreshold !== undefined ? + opt_errorThreshold : common["b" /* ERROR_THRESHOLD */]; + + /** + * @private + * @type {!import("./Triangulation.js").default} + */ + this.triangulation_ = new reproj_Triangulation( + sourceProj, targetProj, limitedTargetExtent, maxSourceExtent, + sourceResolution * errorThresholdInPixels); + + if (this.triangulation_.getTriangles().length === 0) { + // no valid triangles -> EMPTY + this.state = TileState["a" /* default */].EMPTY; + return; + } + + this.sourceZ_ = sourceTileGrid.getZForResolution(sourceResolution); + var sourceExtent = this.triangulation_.calculateSourceExtent(); + + if (maxSourceExtent) { + if (sourceProj.canWrapX()) { + sourceExtent[1] = Object(math["a" /* clamp */])( + sourceExtent[1], maxSourceExtent[1], maxSourceExtent[3]); + sourceExtent[3] = Object(math["a" /* clamp */])( + sourceExtent[3], maxSourceExtent[1], maxSourceExtent[3]); + } else { + sourceExtent = Object(ol_extent["B" /* getIntersection */])(sourceExtent, maxSourceExtent); + } + } + + if (!Object(ol_extent["u" /* getArea */])(sourceExtent)) { + this.state = TileState["a" /* default */].EMPTY; + } else { + var sourceRange = sourceTileGrid.getTileRangeForExtentAndZ( + sourceExtent, this.sourceZ_); + + for (var srcX = sourceRange.minX; srcX <= sourceRange.maxX; srcX++) { + for (var srcY = sourceRange.minY; srcY <= sourceRange.maxY; srcY++) { + var tile = getTileFunction(this.sourceZ_, srcX, srcY, pixelRatio); + if (tile) { + this.sourceTiles_.push(tile); + } + } + } + + if (this.sourceTiles_.length === 0) { + this.state = TileState["a" /* default */].EMPTY; + } + } + } + + if ( Tile ) ReprojTile.__proto__ = Tile; + ReprojTile.prototype = Object.create( Tile && Tile.prototype ); + ReprojTile.prototype.constructor = ReprojTile; + + /** + * @inheritDoc + */ + ReprojTile.prototype.disposeInternal = function disposeInternal () { + if (this.state == TileState["a" /* default */].LOADING) { + this.unlistenSources_(); + } + Tile.prototype.disposeInternal.call(this); + }; + + /** + * Get the HTML Canvas element for this tile. + * @return {HTMLCanvasElement} Canvas. + */ + ReprojTile.prototype.getImage = function getImage () { + return this.canvas_; + }; + + /** + * @private + */ + ReprojTile.prototype.reproject_ = function reproject_ () { + var sources = []; + this.sourceTiles_.forEach(function(tile, i, arr) { + if (tile && tile.getState() == TileState["a" /* default */].LOADED) { + sources.push({ + extent: this.sourceTileGrid_.getTileCoordExtent(tile.tileCoord), + image: tile.getImage() + }); + } + }.bind(this)); + this.sourceTiles_.length = 0; + + if (sources.length === 0) { + this.state = TileState["a" /* default */].ERROR; + } else { + var z = this.wrappedTileCoord_[0]; + var size = this.targetTileGrid_.getTileSize(z); + var width = typeof size === 'number' ? size : size[0]; + var height = typeof size === 'number' ? size : size[1]; + var targetResolution = this.targetTileGrid_.getResolution(z); + var sourceResolution = this.sourceTileGrid_.getResolution(this.sourceZ_); + + var targetExtent = this.targetTileGrid_.getTileCoordExtent( + this.wrappedTileCoord_); + this.canvas_ = reproj_render(width, height, this.pixelRatio_, + sourceResolution, this.sourceTileGrid_.getExtent(), + targetResolution, targetExtent, this.triangulation_, sources, + this.gutter_, this.renderEdges_); + + this.state = TileState["a" /* default */].LOADED; + } + this.changed(); + }; + + /** + * @inheritDoc + */ + ReprojTile.prototype.load = function load () { + if (this.state == TileState["a" /* default */].IDLE) { + this.state = TileState["a" /* default */].LOADING; + this.changed(); + + var leftToLoad = 0; + + this.sourcesListenerKeys_ = []; + this.sourceTiles_.forEach(function(tile, i, arr) { + var state = tile.getState(); + if (state == TileState["a" /* default */].IDLE || state == TileState["a" /* default */].LOADING) { + leftToLoad++; + + var sourceListenKey = Object(events["a" /* listen */])(tile, EventType["a" /* default */].CHANGE, + function(e) { + var state = tile.getState(); + if (state == TileState["a" /* default */].LOADED || + state == TileState["a" /* default */].ERROR || + state == TileState["a" /* default */].EMPTY) { + Object(events["e" /* unlistenByKey */])(sourceListenKey); + leftToLoad--; + if (leftToLoad === 0) { + this.unlistenSources_(); + this.reproject_(); + } + } + }, this); + this.sourcesListenerKeys_.push(sourceListenKey); + } + }.bind(this)); + + this.sourceTiles_.forEach(function(tile, i, arr) { + var state = tile.getState(); + if (state == TileState["a" /* default */].IDLE) { + tile.load(); + } + }); + + if (leftToLoad === 0) { + setTimeout(this.reproject_.bind(this), 0); + } + } + }; + + /** + * @private + */ + ReprojTile.prototype.unlistenSources_ = function unlistenSources_ () { + this.sourcesListenerKeys_.forEach(events["e" /* unlistenByKey */]); + this.sourcesListenerKeys_ = null; + }; + + return ReprojTile; +}(ol_Tile["a" /* default */])); + + +/* harmony default export */ var reproj_Tile = (Tile_ReprojTile); + +//# sourceMappingURL=Tile.js.map +// EXTERNAL MODULE: ./node_modules/ol/source/UrlTile.js + 4 modules +var source_UrlTile = __webpack_require__(75); + +// EXTERNAL MODULE: ./node_modules/ol/tilecoord.js +var tilecoord = __webpack_require__(26); + +// EXTERNAL MODULE: ./node_modules/ol/tilegrid.js + 1 modules +var ol_tilegrid = __webpack_require__(39); + +// CONCATENATED MODULE: ./node_modules/ol/source/TileImage.js +/** + * @module ol/source/TileImage + */ + + + + + + + + + + + + + +/** + * @typedef {Object} Options + * @property {import("./Source.js").AttributionLike} [attributions] Attributions. + * @property {boolean} [attributionsCollapsible=true] Attributions are collapsible. + * @property {number} [cacheSize=2048] Cache size. + * @property {null|string} [crossOrigin] The `crossOrigin` attribute for loaded images. Note that + * you must provide a `crossOrigin` value if you are using the WebGL renderer or if you want to + * access pixel data with the Canvas renderer. See + * https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail. + * @property {boolean} [opaque=true] Whether the layer is opaque. + * @property {import("../proj.js").ProjectionLike} projection Projection. + * @property {number} [reprojectionErrorThreshold=0.5] Maximum allowed reprojection error (in pixels). + * Higher values can increase reprojection performance, but decrease precision. + * @property {import("./State.js").default} [state] Source state. + * @property {typeof import("../ImageTile.js").default} [tileClass] Class used to instantiate image tiles. + * Default is {@link module:ol/ImageTile~ImageTile}. + * @property {import("../tilegrid/TileGrid.js").default} [tileGrid] Tile grid. + * @property {import("../Tile.js").LoadFunction} [tileLoadFunction] Optional function to load a tile given a URL. The default is + * ```js + * function(imageTile, src) { + * imageTile.getImage().src = src; + * }; + * ``` + * @property {number} [tilePixelRatio=1] The pixel ratio used by the tile service. For example, if the tile + * service advertizes 256px by 256px tiles but actually sends 512px + * by 512px images (for retina/hidpi devices) then `tilePixelRatio` + * should be set to `2`. + * @property {import("../Tile.js").UrlFunction} [tileUrlFunction] Optional function to get tile URL given a tile coordinate and the projection. + * @property {string} [url] URL template. Must include `{x}`, `{y}` or `{-y}`, and `{z}` placeholders. + * A `{?-?}` template pattern, for example `subdomain{a-f}.domain.com`, may be + * used instead of defining each one separately in the `urls` option. + * @property {Array} [urls] An array of URL templates. + * @property {boolean} [wrapX] Whether to wrap the world horizontally. The default, is to + * request out-of-bounds tiles from the server. When set to `false`, only one + * world will be rendered. When set to `true`, tiles will be requested for one + * world only, but they will be wrapped horizontally to render multiple worlds. + * @property {number} [transition] Duration of the opacity transition for rendering. + * To disable the opacity transition, pass `transition: 0`. + * @property {string} [key] Optional tile key for proper cache fetching + */ + + +/** + * @classdesc + * Base class for sources providing images divided into a tile grid. + * + * @fires import("./Tile.js").TileSourceEvent + * @api + */ +var TileImage_TileImage = /*@__PURE__*/(function (UrlTile) { + function TileImage(options) { + + UrlTile.call(this, { + attributions: options.attributions, + cacheSize: options.cacheSize, + opaque: options.opaque, + projection: options.projection, + state: options.state, + tileGrid: options.tileGrid, + tileLoadFunction: options.tileLoadFunction ? + options.tileLoadFunction : defaultTileLoadFunction, + tilePixelRatio: options.tilePixelRatio, + tileUrlFunction: options.tileUrlFunction, + url: options.url, + urls: options.urls, + wrapX: options.wrapX, + transition: options.transition, + key: options.key, + attributionsCollapsible: options.attributionsCollapsible + }); + + /** + * @protected + * @type {?string} + */ + this.crossOrigin = + options.crossOrigin !== undefined ? options.crossOrigin : null; + + /** + * @protected + * @type {typeof ImageTile} + */ + this.tileClass = options.tileClass !== undefined ? + options.tileClass : ol_ImageTile; + + /** + * @protected + * @type {!Object} + */ + this.tileCacheForProjection = {}; + + /** + * @protected + * @type {!Object} + */ + this.tileGridForProjection = {}; + + /** + * @private + * @type {number|undefined} + */ + this.reprojectionErrorThreshold_ = options.reprojectionErrorThreshold; + + /** + * @private + * @type {boolean} + */ + this.renderReprojectionEdges_ = false; + } + + if ( UrlTile ) TileImage.__proto__ = UrlTile; + TileImage.prototype = Object.create( UrlTile && UrlTile.prototype ); + TileImage.prototype.constructor = TileImage; + + /** + * @inheritDoc + */ + TileImage.prototype.canExpireCache = function canExpireCache () { + if (!common["a" /* ENABLE_RASTER_REPROJECTION */]) { + return UrlTile.prototype.canExpireCache.call(this); + } + if (this.tileCache.canExpireCache()) { + return true; + } else { + for (var key in this.tileCacheForProjection) { + if (this.tileCacheForProjection[key].canExpireCache()) { + return true; + } + } + } + return false; + }; + + /** + * @inheritDoc + */ + TileImage.prototype.expireCache = function expireCache (projection, usedTiles) { + if (!common["a" /* ENABLE_RASTER_REPROJECTION */]) { + UrlTile.prototype.expireCache.call(this, projection, usedTiles); + return; + } + var usedTileCache = this.getTileCacheForProjection(projection); + + this.tileCache.expireCache(this.tileCache == usedTileCache ? usedTiles : {}); + for (var id in this.tileCacheForProjection) { + var tileCache = this.tileCacheForProjection[id]; + tileCache.expireCache(tileCache == usedTileCache ? usedTiles : {}); + } + }; + + /** + * @inheritDoc + */ + TileImage.prototype.getGutterForProjection = function getGutterForProjection (projection) { + if (common["a" /* ENABLE_RASTER_REPROJECTION */] && + this.getProjection() && projection && !Object(ol_proj["c" /* equivalent */])(this.getProjection(), projection)) { + return 0; + } else { + return this.getGutter(); + } + }; + + /** + * @return {number} Gutter. + */ + TileImage.prototype.getGutter = function getGutter () { + return 0; + }; + + /** + * @inheritDoc + */ + TileImage.prototype.getOpaque = function getOpaque (projection) { + if (common["a" /* ENABLE_RASTER_REPROJECTION */] && + this.getProjection() && projection && !Object(ol_proj["c" /* equivalent */])(this.getProjection(), projection)) { + return false; + } else { + return UrlTile.prototype.getOpaque.call(this, projection); + } + }; + + /** + * @inheritDoc + */ + TileImage.prototype.getTileGridForProjection = function getTileGridForProjection$1 (projection) { + if (!common["a" /* ENABLE_RASTER_REPROJECTION */]) { + return UrlTile.prototype.getTileGridForProjection.call(this, projection); + } + var thisProj = this.getProjection(); + if (this.tileGrid && (!thisProj || Object(ol_proj["c" /* equivalent */])(thisProj, projection))) { + return this.tileGrid; + } else { + var projKey = Object(util["c" /* getUid */])(projection); + if (!(projKey in this.tileGridForProjection)) { + this.tileGridForProjection[projKey] = Object(ol_tilegrid["d" /* getForProjection */])(projection); + } + return ( + /** @type {!import("../tilegrid/TileGrid.js").default} */ (this.tileGridForProjection[projKey]) + ); + } + }; + + /** + * @inheritDoc + */ + TileImage.prototype.getTileCacheForProjection = function getTileCacheForProjection (projection) { + if (!common["a" /* ENABLE_RASTER_REPROJECTION */]) { + return UrlTile.prototype.getTileCacheForProjection.call(this, projection); + } + var thisProj = this.getProjection(); if (!thisProj || Object(ol_proj["c" /* equivalent */])(thisProj, projection)) { + return this.tileCache; + } else { + var projKey = Object(util["c" /* getUid */])(projection); + if (!(projKey in this.tileCacheForProjection)) { + this.tileCacheForProjection[projKey] = new TileCache["a" /* default */](this.tileCache.highWaterMark); + } + return this.tileCacheForProjection[projKey]; + } + }; + + /** + * @param {number} z Tile coordinate z. + * @param {number} x Tile coordinate x. + * @param {number} y Tile coordinate y. + * @param {number} pixelRatio Pixel ratio. + * @param {import("../proj/Projection.js").default} projection Projection. + * @param {string} key The key set on the tile. + * @return {!import("../Tile.js").default} Tile. + * @private + */ + TileImage.prototype.createTile_ = function createTile_ (z, x, y, pixelRatio, projection, key) { + var tileCoord = [z, x, y]; + var urlTileCoord = this.getTileCoordForTileUrlFunction( + tileCoord, projection); + var tileUrl = urlTileCoord ? + this.tileUrlFunction(urlTileCoord, pixelRatio, projection) : undefined; + var tile = new this.tileClass( + tileCoord, + tileUrl !== undefined ? TileState["a" /* default */].IDLE : TileState["a" /* default */].EMPTY, + tileUrl !== undefined ? tileUrl : '', + this.crossOrigin, + this.tileLoadFunction, + this.tileOptions); + tile.key = key; + Object(events["a" /* listen */])(tile, EventType["a" /* default */].CHANGE, + this.handleTileChange, this); + return tile; + }; + + /** + * @inheritDoc + */ + TileImage.prototype.getTile = function getTile (z, x, y, pixelRatio, projection) { + var sourceProjection = /** @type {!import("../proj/Projection.js").default} */ (this.getProjection()); + if (!common["a" /* ENABLE_RASTER_REPROJECTION */] || + !sourceProjection || !projection || Object(ol_proj["c" /* equivalent */])(sourceProjection, projection)) { + return this.getTileInternal(z, x, y, pixelRatio, sourceProjection || projection); + } else { + var cache = this.getTileCacheForProjection(projection); + var tileCoord = [z, x, y]; + var tile; + var tileCoordKey = Object(tilecoord["c" /* getKey */])(tileCoord); + if (cache.containsKey(tileCoordKey)) { + tile = /** @type {!import("../Tile.js").default} */ (cache.get(tileCoordKey)); + } + var key = this.getKey(); + if (tile && tile.key == key) { + return tile; + } else { + var sourceTileGrid = this.getTileGridForProjection(sourceProjection); + var targetTileGrid = this.getTileGridForProjection(projection); + var wrappedTileCoord = + this.getTileCoordForTileUrlFunction(tileCoord, projection); + var newTile = new reproj_Tile( + sourceProjection, sourceTileGrid, + projection, targetTileGrid, + tileCoord, wrappedTileCoord, this.getTilePixelRatio(pixelRatio), + this.getGutter(), + function(z, x, y, pixelRatio) { + return this.getTileInternal(z, x, y, pixelRatio, sourceProjection); + }.bind(this), this.reprojectionErrorThreshold_, + this.renderReprojectionEdges_); + newTile.key = key; + + if (tile) { + newTile.interimTile = tile; + newTile.refreshInterimChain(); + cache.replace(tileCoordKey, newTile); + } else { + cache.set(tileCoordKey, newTile); + } + return newTile; + } + } + }; + + /** + * @param {number} z Tile coordinate z. + * @param {number} x Tile coordinate x. + * @param {number} y Tile coordinate y. + * @param {number} pixelRatio Pixel ratio. + * @param {!import("../proj/Projection.js").default} projection Projection. + * @return {!import("../Tile.js").default} Tile. + * @protected + */ + TileImage.prototype.getTileInternal = function getTileInternal (z, x, y, pixelRatio, projection) { + var tile = null; + var tileCoordKey = Object(tilecoord["d" /* getKeyZXY */])(z, x, y); + var key = this.getKey(); + if (!this.tileCache.containsKey(tileCoordKey)) { + tile = this.createTile_(z, x, y, pixelRatio, projection, key); + this.tileCache.set(tileCoordKey, tile); + } else { + tile = this.tileCache.get(tileCoordKey); + if (tile.key != key) { + // The source's params changed. If the tile has an interim tile and if we + // can use it then we use it. Otherwise we create a new tile. In both + // cases we attempt to assign an interim tile to the new tile. + var interimTile = tile; + tile = this.createTile_(z, x, y, pixelRatio, projection, key); + + //make the new tile the head of the list, + if (interimTile.getState() == TileState["a" /* default */].IDLE) { + //the old tile hasn't begun loading yet, and is now outdated, so we can simply discard it + tile.interimTile = interimTile.interimTile; + } else { + tile.interimTile = interimTile; + } + tile.refreshInterimChain(); + this.tileCache.replace(tileCoordKey, tile); + } + } + return tile; + }; + + /** + * Sets whether to render reprojection edges or not (usually for debugging). + * @param {boolean} render Render the edges. + * @api + */ + TileImage.prototype.setRenderReprojectionEdges = function setRenderReprojectionEdges (render) { + if (!common["a" /* ENABLE_RASTER_REPROJECTION */] || + this.renderReprojectionEdges_ == render) { + return; + } + this.renderReprojectionEdges_ = render; + for (var id in this.tileCacheForProjection) { + this.tileCacheForProjection[id].clear(); + } + this.changed(); + }; + + /** + * Sets the tile grid to use when reprojecting the tiles to the given + * projection instead of the default tile grid for the projection. + * + * This can be useful when the default tile grid cannot be created + * (e.g. projection has no extent defined) or + * for optimization reasons (custom tile size, resolutions, ...). + * + * @param {import("../proj.js").ProjectionLike} projection Projection. + * @param {import("../tilegrid/TileGrid.js").default} tilegrid Tile grid to use for the projection. + * @api + */ + TileImage.prototype.setTileGridForProjection = function setTileGridForProjection (projection, tilegrid) { + if (common["a" /* ENABLE_RASTER_REPROJECTION */]) { + var proj = Object(ol_proj["e" /* get */])(projection); + if (proj) { + var projKey = Object(util["c" /* getUid */])(proj); + if (!(projKey in this.tileGridForProjection)) { + this.tileGridForProjection[projKey] = tilegrid; + } + } + } + }; + + return TileImage; +}(source_UrlTile["a" /* default */])); + + +/** + * @param {ImageTile} imageTile Image tile. + * @param {string} src Source. + */ +function defaultTileLoadFunction(imageTile, src) { + /** @type {HTMLImageElement|HTMLVideoElement} */ (imageTile.getImage()).src = src; +} + +/* harmony default export */ var source_TileImage = (TileImage_TileImage); + +//# sourceMappingURL=TileImage.js.map +// CONCATENATED MODULE: ./node_modules/ol/source/XYZ.js +/** + * @module ol/source/XYZ + */ + + + + +/** + * @typedef {Object} Options + * @property {import("./Source.js").AttributionLike} [attributions] Attributions. + * @property {boolean} [attributionsCollapsible=true] Attributions are collapsible. + * @property {number} [cacheSize=2048] Cache size. + * @property {null|string} [crossOrigin] The `crossOrigin` attribute for loaded images. Note that + * you must provide a `crossOrigin` value if you are using the WebGL renderer or if you want to + * access pixel data with the Canvas renderer. See + * https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail. + * @property {boolean} [opaque=true] Whether the layer is opaque. + * @property {import("../proj.js").ProjectionLike} [projection='EPSG:3857'] Projection. + * @property {number} [reprojectionErrorThreshold=0.5] Maximum allowed reprojection error (in pixels). + * Higher values can increase reprojection performance, but decrease precision. + * @property {number} [maxZoom=18] Optional max zoom level. + * @property {number} [minZoom=0] Optional min zoom level. + * @property {import("../tilegrid/TileGrid.js").default} [tileGrid] Tile grid. + * @property {import("../Tile.js").LoadFunction} [tileLoadFunction] Optional function to load a tile given a URL. The default is + * ```js + * function(imageTile, src) { + * imageTile.getImage().src = src; + * }; + * ``` + * @property {number} [tilePixelRatio=1] The pixel ratio used by the tile service. + * For example, if the tile service advertizes 256px by 256px tiles but actually sends 512px + * by 512px images (for retina/hidpi devices) then `tilePixelRatio` + * should be set to `2`. + * @property {number|import("../size.js").Size} [tileSize=[256, 256]] The tile size used by the tile service. + * @property {import("../Tile.js").UrlFunction} [tileUrlFunction] Optional function to get + * tile URL given a tile coordinate and the projection. + * Required if url or urls are not provided. + * @property {string} [url] URL template. Must include `{x}`, `{y}` or `{-y}`, + * and `{z}` placeholders. A `{?-?}` template pattern, for example `subdomain{a-f}.domain.com`, + * may be used instead of defining each one separately in the `urls` option. + * @property {Array} [urls] An array of URL templates. + * @property {boolean} [wrapX=true] Whether to wrap the world horizontally. + * @property {number} [transition] Duration of the opacity transition for rendering. + * To disable the opacity transition, pass `transition: 0`. + */ + + +/** + * @classdesc + * Layer source for tile data with URLs in a set XYZ format that are + * defined in a URL template. By default, this follows the widely-used + * Google grid where `x` 0 and `y` 0 are in the top left. Grids like + * TMS where `x` 0 and `y` 0 are in the bottom left can be used by + * using the `{-y}` placeholder in the URL template, so long as the + * source does not have a custom tile grid. In this case, + * {@link module:ol/source/TileImage} can be used with a `tileUrlFunction` + * such as: + * + * tileUrlFunction: function(coordinate) { + * return 'http://mapserver.com/' + coordinate[0] + '/' + + * coordinate[1] + '/' + coordinate[2] + '.png'; + * } + * + * @api + */ +var XYZ_XYZ = /*@__PURE__*/(function (TileImage) { + function XYZ(opt_options) { + var options = opt_options || {}; + var projection = options.projection !== undefined ? + options.projection : 'EPSG:3857'; + + var tileGrid = options.tileGrid !== undefined ? options.tileGrid : + Object(ol_tilegrid["b" /* createXYZ */])({ + extent: Object(ol_tilegrid["c" /* extentFromProjection */])(projection), + maxZoom: options.maxZoom, + minZoom: options.minZoom, + tileSize: options.tileSize + }); + + TileImage.call(this, { + attributions: options.attributions, + cacheSize: options.cacheSize, + crossOrigin: options.crossOrigin, + opaque: options.opaque, + projection: projection, + reprojectionErrorThreshold: options.reprojectionErrorThreshold, + tileGrid: tileGrid, + tileLoadFunction: options.tileLoadFunction, + tilePixelRatio: options.tilePixelRatio, + tileUrlFunction: options.tileUrlFunction, + url: options.url, + urls: options.urls, + wrapX: options.wrapX !== undefined ? options.wrapX : true, + transition: options.transition, + attributionsCollapsible: options.attributionsCollapsible + }); + + } + + if ( TileImage ) XYZ.__proto__ = TileImage; + XYZ.prototype = Object.create( TileImage && TileImage.prototype ); + XYZ.prototype.constructor = XYZ; + + return XYZ; +}(source_TileImage)); + +/* harmony default export */ var source_XYZ = __webpack_exports__["a"] = (XYZ_XYZ); + +//# sourceMappingURL=XYZ.js.map + +/***/ }), +/* 81 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: ./node_modules/ol/Collection.js +var Collection = __webpack_require__(33); + +// EXTERNAL MODULE: ./node_modules/ol/array.js +var array = __webpack_require__(11); + +// EXTERNAL MODULE: ./node_modules/ol/functions.js +var functions = __webpack_require__(15); + +// EXTERNAL MODULE: ./node_modules/ol/MapEventType.js +var MapEventType = __webpack_require__(61); + +// EXTERNAL MODULE: ./node_modules/ol/Object.js +var ol_Object = __webpack_require__(16); + +// EXTERNAL MODULE: ./node_modules/ol/dom.js +var dom = __webpack_require__(14); + +// EXTERNAL MODULE: ./node_modules/ol/events.js +var events = __webpack_require__(2); + +// CONCATENATED MODULE: ./node_modules/ol/control/Control.js +/** + * @module ol/control/Control + */ + + + + + + + +/** + * @typedef {Object} Options + * @property {HTMLElement} [element] The element is the control's + * container element. This only needs to be specified if you're developing + * a custom control. + * @property {function(import("../MapEvent.js").default)} [render] Function called when + * the control should be re-rendered. This is called in a `requestAnimationFrame` + * callback. + * @property {HTMLElement|string} [target] Specify a target if you want + * the control to be rendered outside of the map's viewport. + */ + + +/** + * @classdesc + * A control is a visible widget with a DOM element in a fixed position on the + * screen. They can involve user input (buttons), or be informational only; + * the position is determined using CSS. By default these are placed in the + * container with CSS class name `ol-overlaycontainer-stopevent`, but can use + * any outside DOM element. + * + * This is the base class for controls. You can use it for simple custom + * controls by creating the element with listeners, creating an instance: + * ```js + * var myControl = new Control({element: myElement}); + * ``` + * and then adding this to the map. + * + * The main advantage of having this as a control rather than a simple separate + * DOM element is that preventing propagation is handled for you. Controls + * will also be objects in a {@link module:ol/Collection~Collection}, so you can use their methods. + * + * You can also extend this base for your own control class. See + * examples/custom-controls for an example of how to do this. + * + * @api + */ +var Control_Control = /*@__PURE__*/(function (BaseObject) { + function Control(options) { + + BaseObject.call(this); + + /** + * @protected + * @type {HTMLElement} + */ + this.element = options.element ? options.element : null; + + /** + * @private + * @type {HTMLElement} + */ + this.target_ = null; + + /** + * @private + * @type {import("../PluggableMap.js").default} + */ + this.map_ = null; + + /** + * @protected + * @type {!Array} + */ + this.listenerKeys = []; + + /** + * @type {function(import("../MapEvent.js").default)} + */ + this.render = options.render ? options.render : functions["c" /* VOID */]; + + if (options.target) { + this.setTarget(options.target); + } + + } + + if ( BaseObject ) Control.__proto__ = BaseObject; + Control.prototype = Object.create( BaseObject && BaseObject.prototype ); + Control.prototype.constructor = Control; + + /** + * @inheritDoc + */ + Control.prototype.disposeInternal = function disposeInternal () { + Object(dom["c" /* removeNode */])(this.element); + BaseObject.prototype.disposeInternal.call(this); + }; + + /** + * Get the map associated with this control. + * @return {import("../PluggableMap.js").default} Map. + * @api + */ + Control.prototype.getMap = function getMap () { + return this.map_; + }; + + /** + * Remove the control from its current map and attach it to the new map. + * Subclasses may set up event handlers to get notified about changes to + * the map here. + * @param {import("../PluggableMap.js").default} map Map. + * @api + */ + Control.prototype.setMap = function setMap (map) { + if (this.map_) { + Object(dom["c" /* removeNode */])(this.element); + } + for (var i = 0, ii = this.listenerKeys.length; i < ii; ++i) { + Object(events["e" /* unlistenByKey */])(this.listenerKeys[i]); + } + this.listenerKeys.length = 0; + this.map_ = map; + if (this.map_) { + var target = this.target_ ? + this.target_ : map.getOverlayContainerStopEvent(); + target.appendChild(this.element); + if (this.render !== functions["c" /* VOID */]) { + this.listenerKeys.push(Object(events["a" /* listen */])(map, + MapEventType["a" /* default */].POSTRENDER, this.render, this)); + } + map.render(); + } + }; + + /** + * This function is used to set a target element for the control. It has no + * effect if it is called after the control has been added to the map (i.e. + * after `setMap` is called on the control). If no `target` is set in the + * options passed to the control constructor and if `setTarget` is not called + * then the control is added to the map's overlay container. + * @param {HTMLElement|string} target Target. + * @api + */ + Control.prototype.setTarget = function setTarget (target) { + this.target_ = typeof target === 'string' ? + document.getElementById(target) : + target; + }; + + return Control; +}(ol_Object["a" /* default */])); + + +/* harmony default export */ var control_Control = (Control_Control); + +//# sourceMappingURL=Control.js.map +// EXTERNAL MODULE: ./node_modules/ol/css.js +var css = __webpack_require__(24); + +// EXTERNAL MODULE: ./node_modules/ol/events/EventType.js +var EventType = __webpack_require__(5); + +// EXTERNAL MODULE: ./node_modules/ol/layer/Layer.js +var Layer = __webpack_require__(41); + +// CONCATENATED MODULE: ./node_modules/ol/control/Attribution.js +/** + * @module ol/control/Attribution + */ + + + + + + + + + +/** + * @typedef {Object} Options + * @property {string} [className='ol-attribution'] CSS class name. + * @property {HTMLElement|string} [target] Specify a target if you + * want the control to be rendered outside of the map's + * viewport. + * @property {boolean} [collapsible] Specify if attributions can + * be collapsed. If not specified, sources control this behavior with their + * `attributionsCollapsible` setting. + * @property {boolean} [collapsed=true] Specify if attributions should + * be collapsed at startup. + * @property {string} [tipLabel='Attributions'] Text label to use for the button tip. + * @property {string} [label='i'] Text label to use for the + * collapsed attributions button. + * Instead of text, also an element (e.g. a `span` element) can be used. + * @property {string|HTMLElement} [collapseLabel='»'] Text label to use + * for the expanded attributions button. + * Instead of text, also an element (e.g. a `span` element) can be used. + * @property {function(import("../MapEvent.js").default)} [render] Function called when + * the control should be re-rendered. This is called in a `requestAnimationFrame` + * callback. + */ + + +/** + * @classdesc + * Control to show all the attributions associated with the layer sources + * in the map. This control is one of the default controls included in maps. + * By default it will show in the bottom right portion of the map, but this can + * be changed by using a css selector for `.ol-attribution`. + * + * @api + */ +var Attribution_Attribution = /*@__PURE__*/(function (Control) { + function Attribution(opt_options) { + + var options = opt_options ? opt_options : {}; + + Control.call(this, { + element: document.createElement('div'), + render: options.render || render, + target: options.target + }); + + /** + * @private + * @type {HTMLElement} + */ + this.ulElement_ = document.createElement('ul'); + + /** + * @private + * @type {boolean} + */ + this.collapsed_ = options.collapsed !== undefined ? options.collapsed : true; + + /** + * @private + * @type {boolean} + */ + this.overrideCollapsible_ = options.collapsible !== undefined; + + /** + * @private + * @type {boolean} + */ + this.collapsible_ = options.collapsible !== undefined ? + options.collapsible : true; + + if (!this.collapsible_) { + this.collapsed_ = false; + } + + var className = options.className !== undefined ? options.className : 'ol-attribution'; + + var tipLabel = options.tipLabel !== undefined ? options.tipLabel : 'Attributions'; + + var collapseLabel = options.collapseLabel !== undefined ? options.collapseLabel : '\u00BB'; + + if (typeof collapseLabel === 'string') { + /** + * @private + * @type {HTMLElement} + */ + this.collapseLabel_ = document.createElement('span'); + this.collapseLabel_.textContent = collapseLabel; + } else { + this.collapseLabel_ = collapseLabel; + } + + var label = options.label !== undefined ? options.label : 'i'; + + if (typeof label === 'string') { + /** + * @private + * @type {HTMLElement} + */ + this.label_ = document.createElement('span'); + this.label_.textContent = label; + } else { + this.label_ = label; + } + + + var activeLabel = (this.collapsible_ && !this.collapsed_) ? + this.collapseLabel_ : this.label_; + var button = document.createElement('button'); + button.setAttribute('type', 'button'); + button.title = tipLabel; + button.appendChild(activeLabel); + + Object(events["a" /* listen */])(button, EventType["a" /* default */].CLICK, this.handleClick_, this); + + var cssClasses = className + ' ' + css["d" /* CLASS_UNSELECTABLE */] + ' ' + css["b" /* CLASS_CONTROL */] + + (this.collapsed_ && this.collapsible_ ? ' ' + css["a" /* CLASS_COLLAPSED */] : '') + + (this.collapsible_ ? '' : ' ol-uncollapsible'); + var element = this.element; + element.className = cssClasses; + element.appendChild(this.ulElement_); + element.appendChild(button); + + /** + * A list of currently rendered resolutions. + * @type {Array} + * @private + */ + this.renderedAttributions_ = []; + + /** + * @private + * @type {boolean} + */ + this.renderedVisible_ = true; + + } + + if ( Control ) Attribution.__proto__ = Control; + Attribution.prototype = Object.create( Control && Control.prototype ); + Attribution.prototype.constructor = Attribution; + + /** + * Collect a list of visible attributions and set the collapsible state. + * @param {import("../PluggableMap.js").FrameState} frameState Frame state. + * @return {Array} Attributions. + * @private + */ + Attribution.prototype.collectSourceAttributions_ = function collectSourceAttributions_ (frameState) { + /** + * Used to determine if an attribution already exists. + * @type {!Object} + */ + var lookup = {}; + + /** + * A list of visible attributions. + * @type {Array} + */ + var visibleAttributions = []; + + var layerStatesArray = frameState.layerStatesArray; + var resolution = frameState.viewState.resolution; + for (var i = 0, ii = layerStatesArray.length; i < ii; ++i) { + var layerState = layerStatesArray[i]; + if (!Object(Layer["b" /* visibleAtResolution */])(layerState, resolution)) { + continue; + } + + var source = /** @type {import("../layer/Layer.js").default} */ (layerState.layer).getSource(); + if (!source) { + continue; + } + + var attributionGetter = source.getAttributions(); + if (!attributionGetter) { + continue; + } + + var attributions = attributionGetter(frameState); + if (!attributions) { + continue; + } + + if (!this.overrideCollapsible_ && source.getAttributionsCollapsible() === false) { + this.setCollapsible(false); + } + + if (Array.isArray(attributions)) { + for (var j = 0, jj = attributions.length; j < jj; ++j) { + if (!(attributions[j] in lookup)) { + visibleAttributions.push(attributions[j]); + lookup[attributions[j]] = true; + } + } + } else { + if (!(attributions in lookup)) { + visibleAttributions.push(attributions); + lookup[attributions] = true; + } + } + } + return visibleAttributions; + }; + + /** + * @private + * @param {?import("../PluggableMap.js").FrameState} frameState Frame state. + */ + Attribution.prototype.updateElement_ = function updateElement_ (frameState) { + if (!frameState) { + if (this.renderedVisible_) { + this.element.style.display = 'none'; + this.renderedVisible_ = false; + } + return; + } + + var attributions = this.collectSourceAttributions_(frameState); + + var visible = attributions.length > 0; + if (this.renderedVisible_ != visible) { + this.element.style.display = visible ? '' : 'none'; + this.renderedVisible_ = visible; + } + + if (Object(array["b" /* equals */])(attributions, this.renderedAttributions_)) { + return; + } + + Object(dom["b" /* removeChildren */])(this.ulElement_); + + // append the attributions + for (var i = 0, ii = attributions.length; i < ii; ++i) { + var element = document.createElement('li'); + element.innerHTML = attributions[i]; + this.ulElement_.appendChild(element); + } + + this.renderedAttributions_ = attributions; + }; + + /** + * @param {MouseEvent} event The event to handle + * @private + */ + Attribution.prototype.handleClick_ = function handleClick_ (event) { + event.preventDefault(); + this.handleToggle_(); + }; + + /** + * @private + */ + Attribution.prototype.handleToggle_ = function handleToggle_ () { + this.element.classList.toggle(css["a" /* CLASS_COLLAPSED */]); + if (this.collapsed_) { + Object(dom["d" /* replaceNode */])(this.collapseLabel_, this.label_); + } else { + Object(dom["d" /* replaceNode */])(this.label_, this.collapseLabel_); + } + this.collapsed_ = !this.collapsed_; + }; + + /** + * Return `true` if the attribution is collapsible, `false` otherwise. + * @return {boolean} True if the widget is collapsible. + * @api + */ + Attribution.prototype.getCollapsible = function getCollapsible () { + return this.collapsible_; + }; + + /** + * Set whether the attribution should be collapsible. + * @param {boolean} collapsible True if the widget is collapsible. + * @api + */ + Attribution.prototype.setCollapsible = function setCollapsible (collapsible) { + if (this.collapsible_ === collapsible) { + return; + } + this.collapsible_ = collapsible; + this.element.classList.toggle('ol-uncollapsible'); + if (!collapsible && this.collapsed_) { + this.handleToggle_(); + } + }; + + /** + * Collapse or expand the attribution according to the passed parameter. Will + * not do anything if the attribution isn't collapsible or if the current + * collapsed state is already the one requested. + * @param {boolean} collapsed True if the widget is collapsed. + * @api + */ + Attribution.prototype.setCollapsed = function setCollapsed (collapsed) { + if (!this.collapsible_ || this.collapsed_ === collapsed) { + return; + } + this.handleToggle_(); + }; + + /** + * Return `true` when the attribution is currently collapsed or `false` + * otherwise. + * @return {boolean} True if the widget is collapsed. + * @api + */ + Attribution.prototype.getCollapsed = function getCollapsed () { + return this.collapsed_; + }; + + return Attribution; +}(control_Control)); + + +/** + * Update the attribution element. + * @param {import("../MapEvent.js").default} mapEvent Map event. + * @this {Attribution} + * @api + */ +function render(mapEvent) { + this.updateElement_(mapEvent.frameState); +} + + +/* harmony default export */ var control_Attribution = (Attribution_Attribution); + +//# sourceMappingURL=Attribution.js.map +// EXTERNAL MODULE: ./node_modules/ol/easing.js +var easing = __webpack_require__(21); + +// CONCATENATED MODULE: ./node_modules/ol/control/Rotate.js +/** + * @module ol/control/Rotate + */ + + + + + + + +/** + * @typedef {Object} Options + * @property {string} [className='ol-rotate'] CSS class name. + * @property {string|HTMLElement} [label='⇧'] Text label to use for the rotate button. + * Instead of text, also an element (e.g. a `span` element) can be used. + * @property {string} [tipLabel='Reset rotation'] Text label to use for the rotate tip. + * @property {number} [duration=250] Animation duration in milliseconds. + * @property {boolean} [autoHide=true] Hide the control when rotation is 0. + * @property {function(import("../MapEvent.js").default)} [render] Function called when the control should + * be re-rendered. This is called in a `requestAnimationFrame` callback. + * @property {function()} [resetNorth] Function called when the control is clicked. + * This will override the default `resetNorth`. + * @property {HTMLElement|string} [target] Specify a target if you want the control to be + * rendered outside of the map's viewport. + */ + + +/** + * @classdesc + * A button control to reset rotation to 0. + * To style this control use css selector `.ol-rotate`. A `.ol-hidden` css + * selector is added to the button when the rotation is 0. + * + * @api + */ +var Rotate_Rotate = /*@__PURE__*/(function (Control) { + function Rotate(opt_options) { + + var options = opt_options ? opt_options : {}; + + Control.call(this, { + element: document.createElement('div'), + render: options.render || Rotate_render, + target: options.target + }); + + var className = options.className !== undefined ? options.className : 'ol-rotate'; + + var label = options.label !== undefined ? options.label : '\u21E7'; + + /** + * @type {HTMLElement} + * @private + */ + this.label_ = null; + + if (typeof label === 'string') { + this.label_ = document.createElement('span'); + this.label_.className = 'ol-compass'; + this.label_.textContent = label; + } else { + this.label_ = label; + this.label_.classList.add('ol-compass'); + } + + var tipLabel = options.tipLabel ? options.tipLabel : 'Reset rotation'; + + var button = document.createElement('button'); + button.className = className + '-reset'; + button.setAttribute('type', 'button'); + button.title = tipLabel; + button.appendChild(this.label_); + + Object(events["a" /* listen */])(button, EventType["a" /* default */].CLICK, this.handleClick_, this); + + var cssClasses = className + ' ' + css["d" /* CLASS_UNSELECTABLE */] + ' ' + css["b" /* CLASS_CONTROL */]; + var element = this.element; + element.className = cssClasses; + element.appendChild(button); + + this.callResetNorth_ = options.resetNorth ? options.resetNorth : undefined; + + /** + * @type {number} + * @private + */ + this.duration_ = options.duration !== undefined ? options.duration : 250; + + /** + * @type {boolean} + * @private + */ + this.autoHide_ = options.autoHide !== undefined ? options.autoHide : true; + + /** + * @private + * @type {number|undefined} + */ + this.rotation_ = undefined; + + if (this.autoHide_) { + this.element.classList.add(css["c" /* CLASS_HIDDEN */]); + } + + } + + if ( Control ) Rotate.__proto__ = Control; + Rotate.prototype = Object.create( Control && Control.prototype ); + Rotate.prototype.constructor = Rotate; + + /** + * @param {MouseEvent} event The event to handle + * @private + */ + Rotate.prototype.handleClick_ = function handleClick_ (event) { + event.preventDefault(); + if (this.callResetNorth_ !== undefined) { + this.callResetNorth_(); + } else { + this.resetNorth_(); + } + }; + + /** + * @private + */ + Rotate.prototype.resetNorth_ = function resetNorth_ () { + var map = this.getMap(); + var view = map.getView(); + if (!view) { + // the map does not have a view, so we can't act + // upon it + return; + } + if (view.getRotation() !== undefined) { + if (this.duration_ > 0) { + view.animate({ + rotation: 0, + duration: this.duration_, + easing: easing["b" /* easeOut */] + }); + } else { + view.setRotation(0); + } + } + }; + + return Rotate; +}(control_Control)); + + +/** + * Update the rotate control element. + * @param {import("../MapEvent.js").default} mapEvent Map event. + * @this {Rotate} + * @api + */ +function Rotate_render(mapEvent) { + var frameState = mapEvent.frameState; + if (!frameState) { + return; + } + var rotation = frameState.viewState.rotation; + if (rotation != this.rotation_) { + var transform = 'rotate(' + rotation + 'rad)'; + if (this.autoHide_) { + var contains = this.element.classList.contains(css["c" /* CLASS_HIDDEN */]); + if (!contains && rotation === 0) { + this.element.classList.add(css["c" /* CLASS_HIDDEN */]); + } else if (contains && rotation !== 0) { + this.element.classList.remove(css["c" /* CLASS_HIDDEN */]); + } + } + this.label_.style.msTransform = transform; + this.label_.style.webkitTransform = transform; + this.label_.style.transform = transform; + } + this.rotation_ = rotation; +} + +/* harmony default export */ var control_Rotate = (Rotate_Rotate); + +//# sourceMappingURL=Rotate.js.map +// CONCATENATED MODULE: ./node_modules/ol/control/Zoom.js +/** + * @module ol/control/Zoom + */ + + + + + + + +/** + * @typedef {Object} Options + * @property {number} [duration=250] Animation duration in milliseconds. + * @property {string} [className='ol-zoom'] CSS class name. + * @property {string|HTMLElement} [zoomInLabel='+'] Text label to use for the zoom-in + * button. Instead of text, also an element (e.g. a `span` element) can be used. + * @property {string|HTMLElement} [zoomOutLabel='-'] Text label to use for the zoom-out button. + * Instead of text, also an element (e.g. a `span` element) can be used. + * @property {string} [zoomInTipLabel='Zoom in'] Text label to use for the button tip. + * @property {string} [zoomOutTipLabel='Zoom out'] Text label to use for the button tip. + * @property {number} [delta=1] The zoom delta applied on each click. + * @property {HTMLElement|string} [target] Specify a target if you want the control to be + * rendered outside of the map's viewport. + */ + + +/** + * @classdesc + * A control with 2 buttons, one for zoom in and one for zoom out. + * This control is one of the default controls of a map. To style this control + * use css selectors `.ol-zoom-in` and `.ol-zoom-out`. + * + * @api + */ +var Zoom_Zoom = /*@__PURE__*/(function (Control) { + function Zoom(opt_options) { + + var options = opt_options ? opt_options : {}; + + Control.call(this, { + element: document.createElement('div'), + target: options.target + }); + + var className = options.className !== undefined ? options.className : 'ol-zoom'; + + var delta = options.delta !== undefined ? options.delta : 1; + + var zoomInLabel = options.zoomInLabel !== undefined ? options.zoomInLabel : '+'; + var zoomOutLabel = options.zoomOutLabel !== undefined ? options.zoomOutLabel : '\u2212'; + + var zoomInTipLabel = options.zoomInTipLabel !== undefined ? + options.zoomInTipLabel : 'Zoom in'; + var zoomOutTipLabel = options.zoomOutTipLabel !== undefined ? + options.zoomOutTipLabel : 'Zoom out'; + + var inElement = document.createElement('button'); + inElement.className = className + '-in'; + inElement.setAttribute('type', 'button'); + inElement.title = zoomInTipLabel; + inElement.appendChild( + typeof zoomInLabel === 'string' ? document.createTextNode(zoomInLabel) : zoomInLabel + ); + + Object(events["a" /* listen */])(inElement, EventType["a" /* default */].CLICK, this.handleClick_.bind(this, delta)); + + var outElement = document.createElement('button'); + outElement.className = className + '-out'; + outElement.setAttribute('type', 'button'); + outElement.title = zoomOutTipLabel; + outElement.appendChild( + typeof zoomOutLabel === 'string' ? document.createTextNode(zoomOutLabel) : zoomOutLabel + ); + + Object(events["a" /* listen */])(outElement, EventType["a" /* default */].CLICK, this.handleClick_.bind(this, -delta)); + + var cssClasses = className + ' ' + css["d" /* CLASS_UNSELECTABLE */] + ' ' + css["b" /* CLASS_CONTROL */]; + var element = this.element; + element.className = cssClasses; + element.appendChild(inElement); + element.appendChild(outElement); + + /** + * @type {number} + * @private + */ + this.duration_ = options.duration !== undefined ? options.duration : 250; + + } + + if ( Control ) Zoom.__proto__ = Control; + Zoom.prototype = Object.create( Control && Control.prototype ); + Zoom.prototype.constructor = Zoom; + + /** + * @param {number} delta Zoom delta. + * @param {MouseEvent} event The event to handle + * @private + */ + Zoom.prototype.handleClick_ = function handleClick_ (delta, event) { + event.preventDefault(); + this.zoomByDelta_(delta); + }; + + /** + * @param {number} delta Zoom delta. + * @private + */ + Zoom.prototype.zoomByDelta_ = function zoomByDelta_ (delta) { + var map = this.getMap(); + var view = map.getView(); + if (!view) { + // the map does not have a view, so we can't act + // upon it + return; + } + var currentResolution = view.getResolution(); + if (currentResolution) { + var newResolution = view.constrainResolution(currentResolution, delta); + if (this.duration_ > 0) { + if (view.getAnimating()) { + view.cancelAnimations(); + } + view.animate({ + resolution: newResolution, + duration: this.duration_, + easing: easing["b" /* easeOut */] + }); + } else { + view.setResolution(newResolution); + } + } + }; + + return Zoom; +}(control_Control)); + + +/* harmony default export */ var control_Zoom = (Zoom_Zoom); + +//# sourceMappingURL=Zoom.js.map +// CONCATENATED MODULE: ./node_modules/ol/control/util.js +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return defaults; }); +/** + * @module ol/control/util + */ + + + + + + +/** + * @typedef {Object} DefaultsOptions + * @property {boolean} [attribution=true] Include + * {@link module:ol/control/Attribution~Attribution}. + * @property {import("./Attribution.js").Options} [attributionOptions] + * Options for {@link module:ol/control/Attribution~Attribution}. + * @property {boolean} [rotate=true] Include + * {@link module:ol/control/Rotate~Rotate}. + * @property {import("./Rotate.js").Options} [rotateOptions] Options + * for {@link module:ol/control/Rotate~Rotate}. + * @property {boolean} [zoom] Include {@link module:ol/control/Zoom~Zoom}. + * @property {import("./Zoom.js").Options} [zoomOptions] Options for + * {@link module:ol/control/Zoom~Zoom}. + * @api + */ + + +/** + * Set of controls included in maps by default. Unless configured otherwise, + * this returns a collection containing an instance of each of the following + * controls: + * * {@link module:ol/control/Zoom~Zoom} + * * {@link module:ol/control/Rotate~Rotate} + * * {@link module:ol/control/Attribution~Attribution} + * + * @param {DefaultsOptions=} opt_options + * Defaults options. + * @return {Collection} + * Controls. + * @function module:ol/control.defaults + * @api + */ +function defaults(opt_options) { + + var options = opt_options ? opt_options : {}; + + var controls = new Collection["a" /* default */](); + + var zoomControl = options.zoom !== undefined ? options.zoom : true; + if (zoomControl) { + controls.push(new control_Zoom(options.zoomOptions)); + } + + var rotateControl = options.rotate !== undefined ? options.rotate : true; + if (rotateControl) { + controls.push(new control_Rotate(options.rotateOptions)); + } + + var attributionControl = options.attribution !== undefined ? + options.attribution : true; + if (attributionControl) { + controls.push(new control_Attribution(options.attributionOptions)); + } + + return controls; +} + +//# sourceMappingURL=util.js.map + +/***/ }), +/* 82 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _Fill_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(35); +/* harmony import */ var _TextPlacement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65); +/** + * @module ol/style/Text + */ + + + + +/** + * The default fill color to use if no fill was set at construction time; a + * blackish `#333`. + * + * @const {string} + */ +var DEFAULT_FILL_COLOR = '#333'; + + +/** + * @typedef {Object} Options + * @property {string} [font] Font style as CSS 'font' value, see: + * https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/font. Default is '10px sans-serif' + * @property {number} [maxAngle] When `placement` is set to `'line'`, allow a maximum angle between adjacent characters. + * The expected value is in radians, and the default is 45° (`Math.PI / 4`). + * @property {number} [offsetX=0] Horizontal text offset in pixels. A positive will shift the text right. + * @property {number} [offsetY=0] Vertical text offset in pixels. A positive will shift the text down. + * @property {boolean} [overflow=false] For polygon labels or when `placement` is set to `'line'`, allow text to exceed + * the width of the polygon at the label position or the length of the path that it follows. + * @property {import("./TextPlacement.js").default|string} [placement] Text placement. + * @property {number} [scale] Scale. + * @property {boolean} [rotateWithView=false] Whether to rotate the text with the view. + * @property {number} [rotation=0] Rotation in radians (positive rotation clockwise). + * @property {string} [text] Text content. + * @property {string} [textAlign] Text alignment. Possible values: 'left', 'right', 'center', 'end' or 'start'. + * Default is 'center' for `placement: 'point'`. For `placement: 'line'`, the default is to let the renderer choose a + * placement where `maxAngle` is not exceeded. + * @property {string} [textBaseline='middle'] Text base line. Possible values: 'bottom', 'top', 'middle', 'alphabetic', + * 'hanging', 'ideographic'. + * @property {import("./Fill.js").default} [fill] Fill style. If none is provided, we'll use a dark fill-style (#333). + * @property {import("./Stroke.js").default} [stroke] Stroke style. + * @property {import("./Fill.js").default} [backgroundFill] Fill style for the text background when `placement` is + * `'point'`. Default is no fill. + * @property {import("./Stroke.js").default} [backgroundStroke] Stroke style for the text background when `placement` + * is `'point'`. Default is no stroke. + * @property {Array} [padding=[0, 0, 0, 0]] Padding in pixels around the text for decluttering and background. The order of + * values in the array is `[top, right, bottom, left]`. + */ + + +/** + * @classdesc + * Set text style for vector features. + * @api + */ +var Text = function Text(opt_options) { + + var options = opt_options || {}; + + /** + * @private + * @type {string|undefined} + */ + this.font_ = options.font; + + /** + * @private + * @type {number|undefined} + */ + this.rotation_ = options.rotation; + + /** + * @private + * @type {boolean|undefined} + */ + this.rotateWithView_ = options.rotateWithView; + + /** + * @private + * @type {number|undefined} + */ + this.scale_ = options.scale; + + /** + * @private + * @type {string|undefined} + */ + this.text_ = options.text; + + /** + * @private + * @type {string|undefined} + */ + this.textAlign_ = options.textAlign; + + /** + * @private + * @type {string|undefined} + */ + this.textBaseline_ = options.textBaseline; + + /** + * @private + * @type {import("./Fill.js").default} + */ + this.fill_ = options.fill !== undefined ? options.fill : + new _Fill_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]({color: DEFAULT_FILL_COLOR}); + + /** + * @private + * @type {number} + */ + this.maxAngle_ = options.maxAngle !== undefined ? options.maxAngle : Math.PI / 4; + + /** + * @private + * @type {import("./TextPlacement.js").default|string} + */ + this.placement_ = options.placement !== undefined ? options.placement : _TextPlacement_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].POINT; + + /** + * @private + * @type {boolean} + */ + this.overflow_ = !!options.overflow; + + /** + * @private + * @type {import("./Stroke.js").default} + */ + this.stroke_ = options.stroke !== undefined ? options.stroke : null; + + /** + * @private + * @type {number} + */ + this.offsetX_ = options.offsetX !== undefined ? options.offsetX : 0; + + /** + * @private + * @type {number} + */ + this.offsetY_ = options.offsetY !== undefined ? options.offsetY : 0; + + /** + * @private + * @type {import("./Fill.js").default} + */ + this.backgroundFill_ = options.backgroundFill ? options.backgroundFill : null; + + /** + * @private + * @type {import("./Stroke.js").default} + */ + this.backgroundStroke_ = options.backgroundStroke ? options.backgroundStroke : null; + + /** + * @private + * @type {Array} + */ + this.padding_ = options.padding === undefined ? null : options.padding; +}; + +/** +* Clones the style. +* @return {Text} The cloned style. +* @api +*/ +Text.prototype.clone = function clone () { + return new Text({ + font: this.getFont(), + placement: this.getPlacement(), + maxAngle: this.getMaxAngle(), + overflow: this.getOverflow(), + rotation: this.getRotation(), + rotateWithView: this.getRotateWithView(), + scale: this.getScale(), + text: this.getText(), + textAlign: this.getTextAlign(), + textBaseline: this.getTextBaseline(), + fill: this.getFill() ? this.getFill().clone() : undefined, + stroke: this.getStroke() ? this.getStroke().clone() : undefined, + offsetX: this.getOffsetX(), + offsetY: this.getOffsetY(), + backgroundFill: this.getBackgroundFill() ? this.getBackgroundFill().clone() : undefined, + backgroundStroke: this.getBackgroundStroke() ? this.getBackgroundStroke().clone() : undefined + }); +}; + +/** +* Get the `overflow` configuration. +* @return {boolean} Let text overflow the length of the path they follow. +* @api +*/ +Text.prototype.getOverflow = function getOverflow () { + return this.overflow_; +}; + +/** +* Get the font name. +* @return {string|undefined} Font. +* @api +*/ +Text.prototype.getFont = function getFont () { + return this.font_; +}; + +/** +* Get the maximum angle between adjacent characters. +* @return {number} Angle in radians. +* @api +*/ +Text.prototype.getMaxAngle = function getMaxAngle () { + return this.maxAngle_; +}; + +/** +* Get the label placement. +* @return {import("./TextPlacement.js").default|string} Text placement. +* @api +*/ +Text.prototype.getPlacement = function getPlacement () { + return this.placement_; +}; + +/** +* Get the x-offset for the text. +* @return {number} Horizontal text offset. +* @api +*/ +Text.prototype.getOffsetX = function getOffsetX () { + return this.offsetX_; +}; + +/** +* Get the y-offset for the text. +* @return {number} Vertical text offset. +* @api +*/ +Text.prototype.getOffsetY = function getOffsetY () { + return this.offsetY_; +}; + +/** +* Get the fill style for the text. +* @return {import("./Fill.js").default} Fill style. +* @api +*/ +Text.prototype.getFill = function getFill () { + return this.fill_; +}; + +/** +* Determine whether the text rotates with the map. +* @return {boolean|undefined} Rotate with map. +* @api +*/ +Text.prototype.getRotateWithView = function getRotateWithView () { + return this.rotateWithView_; +}; + +/** +* Get the text rotation. +* @return {number|undefined} Rotation. +* @api +*/ +Text.prototype.getRotation = function getRotation () { + return this.rotation_; +}; + +/** +* Get the text scale. +* @return {number|undefined} Scale. +* @api +*/ +Text.prototype.getScale = function getScale () { + return this.scale_; +}; + +/** +* Get the stroke style for the text. +* @return {import("./Stroke.js").default} Stroke style. +* @api +*/ +Text.prototype.getStroke = function getStroke () { + return this.stroke_; +}; + +/** +* Get the text to be rendered. +* @return {string|undefined} Text. +* @api +*/ +Text.prototype.getText = function getText () { + return this.text_; +}; + +/** +* Get the text alignment. +* @return {string|undefined} Text align. +* @api +*/ +Text.prototype.getTextAlign = function getTextAlign () { + return this.textAlign_; +}; + +/** +* Get the text baseline. +* @return {string|undefined} Text baseline. +* @api +*/ +Text.prototype.getTextBaseline = function getTextBaseline () { + return this.textBaseline_; +}; + +/** +* Get the background fill style for the text. +* @return {import("./Fill.js").default} Fill style. +* @api +*/ +Text.prototype.getBackgroundFill = function getBackgroundFill () { + return this.backgroundFill_; +}; + +/** +* Get the background stroke style for the text. +* @return {import("./Stroke.js").default} Stroke style. +* @api +*/ +Text.prototype.getBackgroundStroke = function getBackgroundStroke () { + return this.backgroundStroke_; +}; + +/** +* Get the padding for the text. +* @return {Array} Padding. +* @api +*/ +Text.prototype.getPadding = function getPadding () { + return this.padding_; +}; + +/** +* Set the `overflow` property. +* +* @param {boolean} overflow Let text overflow the path that it follows. +* @api +*/ +Text.prototype.setOverflow = function setOverflow (overflow) { + this.overflow_ = overflow; +}; + +/** +* Set the font. +* +* @param {string|undefined} font Font. +* @api +*/ +Text.prototype.setFont = function setFont (font) { + this.font_ = font; +}; + +/** +* Set the maximum angle between adjacent characters. +* +* @param {number} maxAngle Angle in radians. +* @api +*/ +Text.prototype.setMaxAngle = function setMaxAngle (maxAngle) { + this.maxAngle_ = maxAngle; +}; + +/** +* Set the x offset. +* +* @param {number} offsetX Horizontal text offset. +* @api +*/ +Text.prototype.setOffsetX = function setOffsetX (offsetX) { + this.offsetX_ = offsetX; +}; + +/** +* Set the y offset. +* +* @param {number} offsetY Vertical text offset. +* @api +*/ +Text.prototype.setOffsetY = function setOffsetY (offsetY) { + this.offsetY_ = offsetY; +}; + +/** +* Set the text placement. +* +* @param {import("./TextPlacement.js").default|string} placement Placement. +* @api +*/ +Text.prototype.setPlacement = function setPlacement (placement) { + this.placement_ = placement; +}; + +/** +* Set the fill. +* +* @param {import("./Fill.js").default} fill Fill style. +* @api +*/ +Text.prototype.setFill = function setFill (fill) { + this.fill_ = fill; +}; + +/** +* Set the rotation. +* +* @param {number|undefined} rotation Rotation. +* @api +*/ +Text.prototype.setRotation = function setRotation (rotation) { + this.rotation_ = rotation; +}; + +/** +* Set the scale. +* +* @param {number|undefined} scale Scale. +* @api +*/ +Text.prototype.setScale = function setScale (scale) { + this.scale_ = scale; +}; + +/** +* Set the stroke. +* +* @param {import("./Stroke.js").default} stroke Stroke style. +* @api +*/ +Text.prototype.setStroke = function setStroke (stroke) { + this.stroke_ = stroke; +}; + +/** +* Set the text. +* +* @param {string|undefined} text Text. +* @api +*/ +Text.prototype.setText = function setText (text) { + this.text_ = text; +}; + +/** +* Set the text alignment. +* +* @param {string|undefined} textAlign Text align. +* @api +*/ +Text.prototype.setTextAlign = function setTextAlign (textAlign) { + this.textAlign_ = textAlign; +}; + +/** +* Set the text baseline. +* +* @param {string|undefined} textBaseline Text baseline. +* @api +*/ +Text.prototype.setTextBaseline = function setTextBaseline (textBaseline) { + this.textBaseline_ = textBaseline; +}; + +/** +* Set the background fill. +* +* @param {import("./Fill.js").default} fill Fill style. +* @api +*/ +Text.prototype.setBackgroundFill = function setBackgroundFill (fill) { + this.backgroundFill_ = fill; +}; + +/** +* Set the background stroke. +* +* @param {import("./Stroke.js").default} stroke Stroke style. +* @api +*/ +Text.prototype.setBackgroundStroke = function setBackgroundStroke (stroke) { + this.backgroundStroke_ = stroke; +}; + +/** +* Set the padding (`[top, right, bottom, left]`). +* +* @param {!Array} padding Padding. +* @api +*/ +Text.prototype.setPadding = function setPadding (padding) { + this.padding_ = padding; +}; + +/* harmony default export */ __webpack_exports__["a"] = (Text); + +//# sourceMappingURL=Text.js.map + +/***/ }), +/* 83 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _LayerType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27); -/* harmony import */ var _Layer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(37); -/* harmony import */ var _TileProperty_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44); +/* harmony import */ var _Layer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41); +/* harmony import */ var _TileProperty_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(48); /* harmony import */ var _obj_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9); /** * @module ol/layer/Tile @@ -17505,15 +20985,114 @@ TileLayer.prototype.getSource; //# sourceMappingURL=Tile.js.map /***/ }), -/* 77 */ +/* 84 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export ATTRIBUTION */ +/* harmony import */ var _XYZ_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(80); +/** + * @module ol/source/OSM + */ + + + + +/** + * The attribution containing a link to the OpenStreetMap Copyright and License + * page. + * @const + * @type {string} + * @api + */ +var ATTRIBUTION = '© ' + + 'OpenStreetMap ' + + 'contributors.'; + + +/** + * @typedef {Object} Options + * @property {import("./Source.js").AttributionLike} [attributions] Attributions. + * @property {number} [cacheSize=2048] Cache size. + * @property {null|string} [crossOrigin] The `crossOrigin` attribute for loaded images. Note that + * you must provide a `crossOrigin` value if you are using the WebGL renderer or if you want to + * access pixel data with the Canvas renderer. See + * https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail. + * @property {number} [maxZoom=19] Max zoom. + * @property {boolean} [opaque=true] Whether the layer is opaque. + * @property {number} [reprojectionErrorThreshold=1.5] Maximum allowed reprojection error (in pixels). + * Higher values can increase reprojection performance, but decrease precision. + * @property {import("../Tile.js").LoadFunction} [tileLoadFunction] Optional function to load a tile given a URL. The default is + * ```js + * function(imageTile, src) { + * imageTile.getImage().src = src; + * }; + * ``` + * @property {string} [url='https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png'] URL template. + * Must include `{x}`, `{y}` or `{-y}`, and `{z}` placeholders. + * @property {boolean} [wrapX=true] Whether to wrap the world horizontally. + */ + + +/** + * @classdesc + * Layer source for the OpenStreetMap tile server. + * @api + */ +var OSM = /*@__PURE__*/(function (XYZ) { + function OSM(opt_options) { + + var options = opt_options || {}; + + var attributions; + if (options.attributions !== undefined) { + attributions = options.attributions; + } else { + attributions = [ATTRIBUTION]; + } + + var crossOrigin = options.crossOrigin !== undefined ? + options.crossOrigin : 'anonymous'; + + var url = options.url !== undefined ? + options.url : 'https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png'; + + XYZ.call(this, { + attributions: attributions, + cacheSize: options.cacheSize, + crossOrigin: crossOrigin, + opaque: options.opaque !== undefined ? options.opaque : true, + maxZoom: options.maxZoom !== undefined ? options.maxZoom : 19, + reprojectionErrorThreshold: options.reprojectionErrorThreshold, + tileLoadFunction: options.tileLoadFunction, + url: url, + wrapX: options.wrapX, + attributionsCollapsible: false + }); + + } + + if ( XYZ ) OSM.__proto__ = XYZ; + OSM.prototype = Object.create( XYZ && XYZ.prototype ); + OSM.prototype.constructor = OSM; + + return OSM; +}(_XYZ_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])); + +/* harmony default export */ __webpack_exports__["a"] = (OSM); + +//# sourceMappingURL=OSM.js.map + +/***/ }), +/* 85 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _LayerType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27); /* harmony import */ var _asserts_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); -/* harmony import */ var _TileProperty_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44); -/* harmony import */ var _Vector_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(75); -/* harmony import */ var _VectorTileRenderType_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(38); +/* harmony import */ var _TileProperty_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(48); +/* harmony import */ var _Vector_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(79); +/* harmony import */ var _VectorTileRenderType_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42); /* harmony import */ var _obj_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9); /** * @module ol/layer/VectorTile @@ -17689,7 +21268,7 @@ VectorTileLayer.prototype.getSource; //# sourceMappingURL=VectorTile.js.map /***/ }), -/* 78 */ +/* 86 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -17697,331 +21276,15 @@ VectorTileLayer.prototype.getSource; // EXTERNAL MODULE: ./node_modules/ol/util.js var util = __webpack_require__(1); -// EXTERNAL MODULE: ./node_modules/ol/AssertionError.js -var AssertionError = __webpack_require__(60); +// EXTERNAL MODULE: ./node_modules/ol/Collection.js +var Collection = __webpack_require__(33); -// CONCATENATED MODULE: ./node_modules/ol/CollectionEventType.js -/** - * @module ol/CollectionEventType - */ - -/** - * @enum {string} - */ -/* harmony default export */ var CollectionEventType = ({ - /** - * Triggered when an item is added to the collection. - * @event module:ol/Collection.CollectionEvent#add - * @api - */ - ADD: 'add', - /** - * Triggered when an item is removed from the collection. - * @event module:ol/Collection.CollectionEvent#remove - * @api - */ - REMOVE: 'remove' -}); - -//# sourceMappingURL=CollectionEventType.js.map -// EXTERNAL MODULE: ./node_modules/ol/Object.js -var ol_Object = __webpack_require__(16); +// EXTERNAL MODULE: ./node_modules/ol/CollectionEventType.js +var CollectionEventType = __webpack_require__(30); // EXTERNAL MODULE: ./node_modules/ol/events/Event.js var Event = __webpack_require__(25); -// CONCATENATED MODULE: ./node_modules/ol/Collection.js -/** - * @module ol/Collection - */ - - - - - - -/** - * @enum {string} - * @private - */ -var Property = { - LENGTH: 'length' -}; - - -/** - * @classdesc - * Events emitted by {@link module:ol/Collection~Collection} instances are instances of this - * type. - */ -var CollectionEvent = /*@__PURE__*/(function (Event) { - function CollectionEvent(type, opt_element) { - Event.call(this, type); - - /** - * The element that is added to or removed from the collection. - * @type {*} - * @api - */ - this.element = opt_element; - - } - - if ( Event ) CollectionEvent.__proto__ = Event; - CollectionEvent.prototype = Object.create( Event && Event.prototype ); - CollectionEvent.prototype.constructor = CollectionEvent; - - return CollectionEvent; -}(Event["a" /* default */])); - - -/** - * @typedef {Object} Options - * @property {boolean} [unique=false] Disallow the same item from being added to - * the collection twice. - */ - -/** - * @classdesc - * An expanded version of standard JS Array, adding convenience methods for - * manipulation. Add and remove changes to the Collection trigger a Collection - * event. Note that this does not cover changes to the objects _within_ the - * Collection; they trigger events on the appropriate object, not on the - * Collection as a whole. - * - * @fires CollectionEvent - * - * @template T - * @api - */ -var Collection_Collection = /*@__PURE__*/(function (BaseObject) { - function Collection(opt_array, opt_options) { - - BaseObject.call(this); - - var options = opt_options || {}; - - /** - * @private - * @type {boolean} - */ - this.unique_ = !!options.unique; - - /** - * @private - * @type {!Array} - */ - this.array_ = opt_array ? opt_array : []; - - if (this.unique_) { - for (var i = 0, ii = this.array_.length; i < ii; ++i) { - this.assertUnique_(this.array_[i], i); - } - } - - this.updateLength_(); - - } - - if ( BaseObject ) Collection.__proto__ = BaseObject; - Collection.prototype = Object.create( BaseObject && BaseObject.prototype ); - Collection.prototype.constructor = Collection; - - /** - * Remove all elements from the collection. - * @api - */ - Collection.prototype.clear = function clear () { - while (this.getLength() > 0) { - this.pop(); - } - }; - - /** - * Add elements to the collection. This pushes each item in the provided array - * to the end of the collection. - * @param {!Array} arr Array. - * @return {Collection} This collection. - * @api - */ - Collection.prototype.extend = function extend (arr) { - for (var i = 0, ii = arr.length; i < ii; ++i) { - this.push(arr[i]); - } - return this; - }; - - /** - * Iterate over each element, calling the provided callback. - * @param {function(T, number, Array): *} f The function to call - * for every element. This function takes 3 arguments (the element, the - * index and the array). The return value is ignored. - * @api - */ - Collection.prototype.forEach = function forEach (f) { - var array = this.array_; - for (var i = 0, ii = array.length; i < ii; ++i) { - f(array[i], i, array); - } - }; - - /** - * Get a reference to the underlying Array object. Warning: if the array - * is mutated, no events will be dispatched by the collection, and the - * collection's "length" property won't be in sync with the actual length - * of the array. - * @return {!Array} Array. - * @api - */ - Collection.prototype.getArray = function getArray () { - return this.array_; - }; - - /** - * Get the element at the provided index. - * @param {number} index Index. - * @return {T} Element. - * @api - */ - Collection.prototype.item = function item (index) { - return this.array_[index]; - }; - - /** - * Get the length of this collection. - * @return {number} The length of the array. - * @observable - * @api - */ - Collection.prototype.getLength = function getLength () { - return this.get(Property.LENGTH); - }; - - /** - * Insert an element at the provided index. - * @param {number} index Index. - * @param {T} elem Element. - * @api - */ - Collection.prototype.insertAt = function insertAt (index, elem) { - if (this.unique_) { - this.assertUnique_(elem); - } - this.array_.splice(index, 0, elem); - this.updateLength_(); - this.dispatchEvent( - new CollectionEvent(CollectionEventType.ADD, elem)); - }; - - /** - * Remove the last element of the collection and return it. - * Return `undefined` if the collection is empty. - * @return {T|undefined} Element. - * @api - */ - Collection.prototype.pop = function pop () { - return this.removeAt(this.getLength() - 1); - }; - - /** - * Insert the provided element at the end of the collection. - * @param {T} elem Element. - * @return {number} New length of the collection. - * @api - */ - Collection.prototype.push = function push (elem) { - if (this.unique_) { - this.assertUnique_(elem); - } - var n = this.getLength(); - this.insertAt(n, elem); - return this.getLength(); - }; - - /** - * Remove the first occurrence of an element from the collection. - * @param {T} elem Element. - * @return {T|undefined} The removed element or undefined if none found. - * @api - */ - Collection.prototype.remove = function remove (elem) { - var arr = this.array_; - for (var i = 0, ii = arr.length; i < ii; ++i) { - if (arr[i] === elem) { - return this.removeAt(i); - } - } - return undefined; - }; - - /** - * Remove the element at the provided index and return it. - * Return `undefined` if the collection does not contain this index. - * @param {number} index Index. - * @return {T|undefined} Value. - * @api - */ - Collection.prototype.removeAt = function removeAt (index) { - var prev = this.array_[index]; - this.array_.splice(index, 1); - this.updateLength_(); - this.dispatchEvent(new CollectionEvent(CollectionEventType.REMOVE, prev)); - return prev; - }; - - /** - * Set the element at the provided index. - * @param {number} index Index. - * @param {T} elem Element. - * @api - */ - Collection.prototype.setAt = function setAt (index, elem) { - var n = this.getLength(); - if (index < n) { - if (this.unique_) { - this.assertUnique_(elem, index); - } - var prev = this.array_[index]; - this.array_[index] = elem; - this.dispatchEvent( - new CollectionEvent(CollectionEventType.REMOVE, prev)); - this.dispatchEvent( - new CollectionEvent(CollectionEventType.ADD, elem)); - } else { - for (var j = n; j < index; ++j) { - this.insertAt(j, undefined); - } - this.insertAt(index, elem); - } - }; - - /** - * @private - */ - Collection.prototype.updateLength_ = function updateLength_ () { - this.set(Property.LENGTH, this.array_.length); - }; - - /** - * @private - * @param {T} elem Element. - * @param {number=} opt_except Optional index to ignore. - */ - Collection.prototype.assertUnique_ = function assertUnique_ (elem, opt_except) { - for (var i = 0, ii = this.array_.length; i < ii; ++i) { - if (this.array_[i] === elem && i !== opt_except) { - throw new AssertionError["a" /* default */](58); - } - } - }; - - return Collection; -}(ol_Object["a" /* default */])); - - -/* harmony default export */ var ol_Collection = (Collection_Collection); - -//# sourceMappingURL=Collection.js.map // CONCATENATED MODULE: ./node_modules/ol/MapEvent.js /** * @module ol/MapEvent @@ -18244,7 +21507,7 @@ var MapBrowserPointerEvent = /*@__PURE__*/(function (MapBrowserEvent) { var ol_events = __webpack_require__(2); // EXTERNAL MODULE: ./node_modules/ol/events/Target.js -var Target = __webpack_require__(33); +var Target = __webpack_require__(37); // CONCATENATED MODULE: ./node_modules/ol/pointer/EventType.js /** @@ -20355,40 +23618,9 @@ var MapBrowserEventHandler_MapBrowserEventHandler = /*@__PURE__*/(function (Even /* harmony default export */ var ol_MapBrowserEventHandler = (MapBrowserEventHandler_MapBrowserEventHandler); //# sourceMappingURL=MapBrowserEventHandler.js.map -// CONCATENATED MODULE: ./node_modules/ol/MapEventType.js -/** - * @module ol/MapEventType - */ +// EXTERNAL MODULE: ./node_modules/ol/MapEventType.js +var MapEventType = __webpack_require__(61); -/** - * @enum {string} - */ -/* harmony default export */ var MapEventType = ({ - - /** - * Triggered after a map frame is rendered. - * @event module:ol/MapEvent~MapEvent#postrender - * @api - */ - POSTRENDER: 'postrender', - - /** - * Triggered when the map starts moving. - * @event module:ol/MapEvent~MapEvent#movestart - * @api - */ - MOVESTART: 'movestart', - - /** - * Triggered after the map is moved. - * @event module:ol/MapEvent~MapEvent#moveend - * @api - */ - MOVEEND: 'moveend' - -}); - -//# sourceMappingURL=MapEventType.js.map // CONCATENATED MODULE: ./node_modules/ol/MapProperty.js /** * @module ol/MapProperty @@ -20406,10 +23638,13 @@ var MapBrowserEventHandler_MapBrowserEventHandler = /*@__PURE__*/(function (Even //# sourceMappingURL=MapProperty.js.map // EXTERNAL MODULE: ./node_modules/ol/render/EventType.js -var render_EventType = __webpack_require__(30); +var render_EventType = __webpack_require__(31); + +// EXTERNAL MODULE: ./node_modules/ol/Object.js +var ol_Object = __webpack_require__(16); // EXTERNAL MODULE: ./node_modules/ol/ObjectEventType.js -var ObjectEventType = __webpack_require__(51); +var ObjectEventType = __webpack_require__(54); // EXTERNAL MODULE: ./node_modules/ol/TileState.js var TileState = __webpack_require__(3); @@ -20830,7 +24065,7 @@ var TileQueue_TileQueue = /*@__PURE__*/(function (PriorityQueue) { //# sourceMappingURL=TileQueue.js.map // EXTERNAL MODULE: ./node_modules/ol/View.js + 3 modules -var View = __webpack_require__(72); +var View = __webpack_require__(76); // EXTERNAL MODULE: ./node_modules/ol/ViewHint.js var ViewHint = __webpack_require__(12); @@ -20845,10 +24080,10 @@ var ol_extent = __webpack_require__(0); var functions = __webpack_require__(15); // EXTERNAL MODULE: ./node_modules/ol/layer/Base.js -var Base = __webpack_require__(68); +var Base = __webpack_require__(72); // EXTERNAL MODULE: ./node_modules/ol/source/State.js -var State = __webpack_require__(39); +var State = __webpack_require__(43); // CONCATENATED MODULE: ./node_modules/ol/layer/Group.js /** @@ -20890,7 +24125,7 @@ var State = __webpack_require__(39); * @enum {string} * @private */ -var Group_Property = { +var Property = { LAYERS: 'layers' }; @@ -20927,18 +24162,18 @@ var Group_LayerGroup = /*@__PURE__*/(function (BaseLayer) { this.listenerKeys_ = {}; Object(ol_events["a" /* listen */])(this, - Object(ol_Object["b" /* getChangeEventType */])(Group_Property.LAYERS), + Object(ol_Object["b" /* getChangeEventType */])(Property.LAYERS), this.handleLayersChanged_, this); if (layers) { if (Array.isArray(layers)) { - layers = new ol_Collection(layers.slice(), {unique: true}); + layers = new Collection["a" /* default */](layers.slice(), {unique: true}); } else { Object(asserts["a" /* assert */])(typeof /** @type {?} */ (layers).getArray === 'function', 43); // Expected `layers` to be an array or a `Collection` } } else { - layers = new ol_Collection(undefined, {unique: true}); + layers = new Collection["a" /* default */](undefined, {unique: true}); } this.setLayers(layers); @@ -20965,8 +24200,8 @@ var Group_LayerGroup = /*@__PURE__*/(function (BaseLayer) { var layers = this.getLayers(); this.layersListenerKeys_.push( - Object(ol_events["a" /* listen */])(layers, CollectionEventType.ADD, this.handleLayersAdd_, this), - Object(ol_events["a" /* listen */])(layers, CollectionEventType.REMOVE, this.handleLayersRemove_, this) + Object(ol_events["a" /* listen */])(layers, CollectionEventType["a" /* default */].ADD, this.handleLayersAdd_, this), + Object(ol_events["a" /* listen */])(layers, CollectionEventType["a" /* default */].REMOVE, this.handleLayersRemove_, this) ); for (var id in this.listenerKeys_) { @@ -21021,7 +24256,7 @@ var Group_LayerGroup = /*@__PURE__*/(function (BaseLayer) { */ LayerGroup.prototype.getLayers = function getLayers () { return ( - /** @type {!import("../Collection.js").default} */ (this.get(Group_Property.LAYERS)) + /** @type {!import("../Collection.js").default} */ (this.get(Property.LAYERS)) ); }; @@ -21034,7 +24269,7 @@ var Group_LayerGroup = /*@__PURE__*/(function (BaseLayer) { * @api */ LayerGroup.prototype.setLayers = function setLayers (layers) { - this.set(Group_Property.LAYERS, layers); + this.set(Property.LAYERS, layers); }; /** @@ -21415,13 +24650,13 @@ var PluggableMap_PluggableMap = /*@__PURE__*/(function (BaseObject) { * @type {Collection} * @protected */ - this.controls = optionsInternal.controls || new ol_Collection(); + this.controls = optionsInternal.controls || new Collection["a" /* default */](); /** * @type {Collection} * @protected */ - this.interactions = optionsInternal.interactions || new ol_Collection(); + this.interactions = optionsInternal.interactions || new Collection["a" /* default */](); /** * @type {Collection} @@ -21498,7 +24733,7 @@ var PluggableMap_PluggableMap = /*@__PURE__*/(function (BaseObject) { control.setMap(this); }).bind(this)); - Object(ol_events["a" /* listen */])(this.controls, CollectionEventType.ADD, + Object(ol_events["a" /* listen */])(this.controls, CollectionEventType["a" /* default */].ADD, /** * @param {import("./Collection.js").CollectionEvent} event CollectionEvent. */ @@ -21506,7 +24741,7 @@ var PluggableMap_PluggableMap = /*@__PURE__*/(function (BaseObject) { event.element.setMap(this); }, this); - Object(ol_events["a" /* listen */])(this.controls, CollectionEventType.REMOVE, + Object(ol_events["a" /* listen */])(this.controls, CollectionEventType["a" /* default */].REMOVE, /** * @param {import("./Collection.js").CollectionEvent} event CollectionEvent. */ @@ -21523,7 +24758,7 @@ var PluggableMap_PluggableMap = /*@__PURE__*/(function (BaseObject) { interaction.setMap(this); }).bind(this)); - Object(ol_events["a" /* listen */])(this.interactions, CollectionEventType.ADD, + Object(ol_events["a" /* listen */])(this.interactions, CollectionEventType["a" /* default */].ADD, /** * @param {import("./Collection.js").CollectionEvent} event CollectionEvent. */ @@ -21531,7 +24766,7 @@ var PluggableMap_PluggableMap = /*@__PURE__*/(function (BaseObject) { event.element.setMap(this); }, this); - Object(ol_events["a" /* listen */])(this.interactions, CollectionEventType.REMOVE, + Object(ol_events["a" /* listen */])(this.interactions, CollectionEventType["a" /* default */].REMOVE, /** * @param {import("./Collection.js").CollectionEvent} event CollectionEvent. */ @@ -21541,7 +24776,7 @@ var PluggableMap_PluggableMap = /*@__PURE__*/(function (BaseObject) { this.overlays_.forEach(this.addOverlayInternal_.bind(this)); - Object(ol_events["a" /* listen */])(this.overlays_, CollectionEventType.ADD, + Object(ol_events["a" /* listen */])(this.overlays_, CollectionEventType["a" /* default */].ADD, /** * @param {import("./Collection.js").CollectionEvent} event CollectionEvent. */ @@ -21549,7 +24784,7 @@ var PluggableMap_PluggableMap = /*@__PURE__*/(function (BaseObject) { this.addOverlayInternal_(/** @type {import("./Overlay.js").default} */ (event.element)); }, this); - Object(ol_events["a" /* listen */])(this.overlays_, CollectionEventType.REMOVE, + Object(ol_events["a" /* listen */])(this.overlays_, CollectionEventType["a" /* default */].REMOVE, /** * @param {import("./Collection.js").CollectionEvent} event CollectionEvent. */ @@ -22341,7 +25576,7 @@ var PluggableMap_PluggableMap = /*@__PURE__*/(function (BaseObject) { !Object(ol_extent["p" /* equals */])(frameState.extent, this.previousExtent_)); if (moveStart) { this.dispatchEvent( - new ol_MapEvent(MapEventType.MOVESTART, this, previousFrameState)); + new ol_MapEvent(MapEventType["a" /* default */].MOVESTART, this, previousFrameState)); this.previousExtent_ = Object(ol_extent["l" /* createOrUpdateEmpty */])(this.previousExtent_); } } @@ -22352,12 +25587,12 @@ var PluggableMap_PluggableMap = /*@__PURE__*/(function (BaseObject) { !Object(ol_extent["p" /* equals */])(frameState.extent, this.previousExtent_); if (idle) { - this.dispatchEvent(new ol_MapEvent(MapEventType.MOVEEND, this, frameState)); + this.dispatchEvent(new ol_MapEvent(MapEventType["a" /* default */].MOVEEND, this, frameState)); Object(ol_extent["d" /* clone */])(frameState.extent, this.previousExtent_); } } - this.dispatchEvent(new ol_MapEvent(MapEventType.POSTRENDER, this, frameState)); + this.dispatchEvent(new ol_MapEvent(MapEventType["a" /* default */].POSTRENDER, this, frameState)); setTimeout(this.handlePostRender.bind(this), 0); @@ -22484,7 +25719,7 @@ function createOptionsInternal(options) { var controls; if (options.controls !== undefined) { if (Array.isArray(options.controls)) { - controls = new ol_Collection(options.controls.slice()); + controls = new Collection["a" /* default */](options.controls.slice()); } else { Object(asserts["a" /* assert */])(typeof /** @type {?} */ (options.controls).getArray === 'function', 47); // Expected `controls` to be an array or an `import("./Collection.js").Collection` @@ -22495,7 +25730,7 @@ function createOptionsInternal(options) { var interactions; if (options.interactions !== undefined) { if (Array.isArray(options.interactions)) { - interactions = new ol_Collection(options.interactions.slice()); + interactions = new Collection["a" /* default */](options.interactions.slice()); } else { Object(asserts["a" /* assert */])(typeof /** @type {?} */ (options.interactions).getArray === 'function', 48); // Expected `interactions` to be an array or an `import("./Collection.js").Collection` @@ -22506,14 +25741,14 @@ function createOptionsInternal(options) { var overlays; if (options.overlays !== undefined) { if (Array.isArray(options.overlays)) { - overlays = new ol_Collection(options.overlays.slice()); + overlays = new Collection["a" /* default */](options.overlays.slice()); } else { Object(asserts["a" /* assert */])(typeof /** @type {?} */ (options.overlays).getArray === 'function', 49); // Expected `overlays` to be an array or an `import("./Collection.js").Collection` overlays = options.overlays; } } else { - overlays = new ol_Collection(); + overlays = new Collection["a" /* default */](); } return { @@ -22548,910 +25783,9 @@ function getLoading(layers) { } //# sourceMappingURL=PluggableMap.js.map -// CONCATENATED MODULE: ./node_modules/ol/control/Control.js -/** - * @module ol/control/Control - */ +// EXTERNAL MODULE: ./node_modules/ol/control/util.js + 4 modules +var control_util = __webpack_require__(81); - - - - - - -/** - * @typedef {Object} Options - * @property {HTMLElement} [element] The element is the control's - * container element. This only needs to be specified if you're developing - * a custom control. - * @property {function(import("../MapEvent.js").default)} [render] Function called when - * the control should be re-rendered. This is called in a `requestAnimationFrame` - * callback. - * @property {HTMLElement|string} [target] Specify a target if you want - * the control to be rendered outside of the map's viewport. - */ - - -/** - * @classdesc - * A control is a visible widget with a DOM element in a fixed position on the - * screen. They can involve user input (buttons), or be informational only; - * the position is determined using CSS. By default these are placed in the - * container with CSS class name `ol-overlaycontainer-stopevent`, but can use - * any outside DOM element. - * - * This is the base class for controls. You can use it for simple custom - * controls by creating the element with listeners, creating an instance: - * ```js - * var myControl = new Control({element: myElement}); - * ``` - * and then adding this to the map. - * - * The main advantage of having this as a control rather than a simple separate - * DOM element is that preventing propagation is handled for you. Controls - * will also be objects in a {@link module:ol/Collection~Collection}, so you can use their methods. - * - * You can also extend this base for your own control class. See - * examples/custom-controls for an example of how to do this. - * - * @api - */ -var Control_Control = /*@__PURE__*/(function (BaseObject) { - function Control(options) { - - BaseObject.call(this); - - /** - * @protected - * @type {HTMLElement} - */ - this.element = options.element ? options.element : null; - - /** - * @private - * @type {HTMLElement} - */ - this.target_ = null; - - /** - * @private - * @type {import("../PluggableMap.js").default} - */ - this.map_ = null; - - /** - * @protected - * @type {!Array} - */ - this.listenerKeys = []; - - /** - * @type {function(import("../MapEvent.js").default)} - */ - this.render = options.render ? options.render : functions["c" /* VOID */]; - - if (options.target) { - this.setTarget(options.target); - } - - } - - if ( BaseObject ) Control.__proto__ = BaseObject; - Control.prototype = Object.create( BaseObject && BaseObject.prototype ); - Control.prototype.constructor = Control; - - /** - * @inheritDoc - */ - Control.prototype.disposeInternal = function disposeInternal () { - Object(dom["c" /* removeNode */])(this.element); - BaseObject.prototype.disposeInternal.call(this); - }; - - /** - * Get the map associated with this control. - * @return {import("../PluggableMap.js").default} Map. - * @api - */ - Control.prototype.getMap = function getMap () { - return this.map_; - }; - - /** - * Remove the control from its current map and attach it to the new map. - * Subclasses may set up event handlers to get notified about changes to - * the map here. - * @param {import("../PluggableMap.js").default} map Map. - * @api - */ - Control.prototype.setMap = function setMap (map) { - if (this.map_) { - Object(dom["c" /* removeNode */])(this.element); - } - for (var i = 0, ii = this.listenerKeys.length; i < ii; ++i) { - Object(ol_events["e" /* unlistenByKey */])(this.listenerKeys[i]); - } - this.listenerKeys.length = 0; - this.map_ = map; - if (this.map_) { - var target = this.target_ ? - this.target_ : map.getOverlayContainerStopEvent(); - target.appendChild(this.element); - if (this.render !== functions["c" /* VOID */]) { - this.listenerKeys.push(Object(ol_events["a" /* listen */])(map, - MapEventType.POSTRENDER, this.render, this)); - } - map.render(); - } - }; - - /** - * This function is used to set a target element for the control. It has no - * effect if it is called after the control has been added to the map (i.e. - * after `setMap` is called on the control). If no `target` is set in the - * options passed to the control constructor and if `setTarget` is not called - * then the control is added to the map's overlay container. - * @param {HTMLElement|string} target Target. - * @api - */ - Control.prototype.setTarget = function setTarget (target) { - this.target_ = typeof target === 'string' ? - document.getElementById(target) : - target; - }; - - return Control; -}(ol_Object["a" /* default */])); - - -/* harmony default export */ var control_Control = (Control_Control); - -//# sourceMappingURL=Control.js.map -// EXTERNAL MODULE: ./node_modules/ol/css.js -var css = __webpack_require__(24); - -// EXTERNAL MODULE: ./node_modules/ol/layer/Layer.js -var Layer = __webpack_require__(37); - -// CONCATENATED MODULE: ./node_modules/ol/control/Attribution.js -/** - * @module ol/control/Attribution - */ - - - - - - - - - -/** - * @typedef {Object} Options - * @property {string} [className='ol-attribution'] CSS class name. - * @property {HTMLElement|string} [target] Specify a target if you - * want the control to be rendered outside of the map's - * viewport. - * @property {boolean} [collapsible] Specify if attributions can - * be collapsed. If not specified, sources control this behavior with their - * `attributionsCollapsible` setting. - * @property {boolean} [collapsed=true] Specify if attributions should - * be collapsed at startup. - * @property {string} [tipLabel='Attributions'] Text label to use for the button tip. - * @property {string} [label='i'] Text label to use for the - * collapsed attributions button. - * Instead of text, also an element (e.g. a `span` element) can be used. - * @property {string|HTMLElement} [collapseLabel='»'] Text label to use - * for the expanded attributions button. - * Instead of text, also an element (e.g. a `span` element) can be used. - * @property {function(import("../MapEvent.js").default)} [render] Function called when - * the control should be re-rendered. This is called in a `requestAnimationFrame` - * callback. - */ - - -/** - * @classdesc - * Control to show all the attributions associated with the layer sources - * in the map. This control is one of the default controls included in maps. - * By default it will show in the bottom right portion of the map, but this can - * be changed by using a css selector for `.ol-attribution`. - * - * @api - */ -var Attribution_Attribution = /*@__PURE__*/(function (Control) { - function Attribution(opt_options) { - - var options = opt_options ? opt_options : {}; - - Control.call(this, { - element: document.createElement('div'), - render: options.render || Attribution_render, - target: options.target - }); - - /** - * @private - * @type {HTMLElement} - */ - this.ulElement_ = document.createElement('ul'); - - /** - * @private - * @type {boolean} - */ - this.collapsed_ = options.collapsed !== undefined ? options.collapsed : true; - - /** - * @private - * @type {boolean} - */ - this.overrideCollapsible_ = options.collapsible !== undefined; - - /** - * @private - * @type {boolean} - */ - this.collapsible_ = options.collapsible !== undefined ? - options.collapsible : true; - - if (!this.collapsible_) { - this.collapsed_ = false; - } - - var className = options.className !== undefined ? options.className : 'ol-attribution'; - - var tipLabel = options.tipLabel !== undefined ? options.tipLabel : 'Attributions'; - - var collapseLabel = options.collapseLabel !== undefined ? options.collapseLabel : '\u00BB'; - - if (typeof collapseLabel === 'string') { - /** - * @private - * @type {HTMLElement} - */ - this.collapseLabel_ = document.createElement('span'); - this.collapseLabel_.textContent = collapseLabel; - } else { - this.collapseLabel_ = collapseLabel; - } - - var label = options.label !== undefined ? options.label : 'i'; - - if (typeof label === 'string') { - /** - * @private - * @type {HTMLElement} - */ - this.label_ = document.createElement('span'); - this.label_.textContent = label; - } else { - this.label_ = label; - } - - - var activeLabel = (this.collapsible_ && !this.collapsed_) ? - this.collapseLabel_ : this.label_; - var button = document.createElement('button'); - button.setAttribute('type', 'button'); - button.title = tipLabel; - button.appendChild(activeLabel); - - Object(ol_events["a" /* listen */])(button, EventType["a" /* default */].CLICK, this.handleClick_, this); - - var cssClasses = className + ' ' + css["d" /* CLASS_UNSELECTABLE */] + ' ' + css["b" /* CLASS_CONTROL */] + - (this.collapsed_ && this.collapsible_ ? ' ' + css["a" /* CLASS_COLLAPSED */] : '') + - (this.collapsible_ ? '' : ' ol-uncollapsible'); - var element = this.element; - element.className = cssClasses; - element.appendChild(this.ulElement_); - element.appendChild(button); - - /** - * A list of currently rendered resolutions. - * @type {Array} - * @private - */ - this.renderedAttributions_ = []; - - /** - * @private - * @type {boolean} - */ - this.renderedVisible_ = true; - - } - - if ( Control ) Attribution.__proto__ = Control; - Attribution.prototype = Object.create( Control && Control.prototype ); - Attribution.prototype.constructor = Attribution; - - /** - * Collect a list of visible attributions and set the collapsible state. - * @param {import("../PluggableMap.js").FrameState} frameState Frame state. - * @return {Array} Attributions. - * @private - */ - Attribution.prototype.collectSourceAttributions_ = function collectSourceAttributions_ (frameState) { - /** - * Used to determine if an attribution already exists. - * @type {!Object} - */ - var lookup = {}; - - /** - * A list of visible attributions. - * @type {Array} - */ - var visibleAttributions = []; - - var layerStatesArray = frameState.layerStatesArray; - var resolution = frameState.viewState.resolution; - for (var i = 0, ii = layerStatesArray.length; i < ii; ++i) { - var layerState = layerStatesArray[i]; - if (!Object(Layer["b" /* visibleAtResolution */])(layerState, resolution)) { - continue; - } - - var source = /** @type {import("../layer/Layer.js").default} */ (layerState.layer).getSource(); - if (!source) { - continue; - } - - var attributionGetter = source.getAttributions(); - if (!attributionGetter) { - continue; - } - - var attributions = attributionGetter(frameState); - if (!attributions) { - continue; - } - - if (!this.overrideCollapsible_ && source.getAttributionsCollapsible() === false) { - this.setCollapsible(false); - } - - if (Array.isArray(attributions)) { - for (var j = 0, jj = attributions.length; j < jj; ++j) { - if (!(attributions[j] in lookup)) { - visibleAttributions.push(attributions[j]); - lookup[attributions[j]] = true; - } - } - } else { - if (!(attributions in lookup)) { - visibleAttributions.push(attributions); - lookup[attributions] = true; - } - } - } - return visibleAttributions; - }; - - /** - * @private - * @param {?import("../PluggableMap.js").FrameState} frameState Frame state. - */ - Attribution.prototype.updateElement_ = function updateElement_ (frameState) { - if (!frameState) { - if (this.renderedVisible_) { - this.element.style.display = 'none'; - this.renderedVisible_ = false; - } - return; - } - - var attributions = this.collectSourceAttributions_(frameState); - - var visible = attributions.length > 0; - if (this.renderedVisible_ != visible) { - this.element.style.display = visible ? '' : 'none'; - this.renderedVisible_ = visible; - } - - if (Object(array["b" /* equals */])(attributions, this.renderedAttributions_)) { - return; - } - - Object(dom["b" /* removeChildren */])(this.ulElement_); - - // append the attributions - for (var i = 0, ii = attributions.length; i < ii; ++i) { - var element = document.createElement('li'); - element.innerHTML = attributions[i]; - this.ulElement_.appendChild(element); - } - - this.renderedAttributions_ = attributions; - }; - - /** - * @param {MouseEvent} event The event to handle - * @private - */ - Attribution.prototype.handleClick_ = function handleClick_ (event) { - event.preventDefault(); - this.handleToggle_(); - }; - - /** - * @private - */ - Attribution.prototype.handleToggle_ = function handleToggle_ () { - this.element.classList.toggle(css["a" /* CLASS_COLLAPSED */]); - if (this.collapsed_) { - Object(dom["d" /* replaceNode */])(this.collapseLabel_, this.label_); - } else { - Object(dom["d" /* replaceNode */])(this.label_, this.collapseLabel_); - } - this.collapsed_ = !this.collapsed_; - }; - - /** - * Return `true` if the attribution is collapsible, `false` otherwise. - * @return {boolean} True if the widget is collapsible. - * @api - */ - Attribution.prototype.getCollapsible = function getCollapsible () { - return this.collapsible_; - }; - - /** - * Set whether the attribution should be collapsible. - * @param {boolean} collapsible True if the widget is collapsible. - * @api - */ - Attribution.prototype.setCollapsible = function setCollapsible (collapsible) { - if (this.collapsible_ === collapsible) { - return; - } - this.collapsible_ = collapsible; - this.element.classList.toggle('ol-uncollapsible'); - if (!collapsible && this.collapsed_) { - this.handleToggle_(); - } - }; - - /** - * Collapse or expand the attribution according to the passed parameter. Will - * not do anything if the attribution isn't collapsible or if the current - * collapsed state is already the one requested. - * @param {boolean} collapsed True if the widget is collapsed. - * @api - */ - Attribution.prototype.setCollapsed = function setCollapsed (collapsed) { - if (!this.collapsible_ || this.collapsed_ === collapsed) { - return; - } - this.handleToggle_(); - }; - - /** - * Return `true` when the attribution is currently collapsed or `false` - * otherwise. - * @return {boolean} True if the widget is collapsed. - * @api - */ - Attribution.prototype.getCollapsed = function getCollapsed () { - return this.collapsed_; - }; - - return Attribution; -}(control_Control)); - - -/** - * Update the attribution element. - * @param {import("../MapEvent.js").default} mapEvent Map event. - * @this {Attribution} - * @api - */ -function Attribution_render(mapEvent) { - this.updateElement_(mapEvent.frameState); -} - - -/* harmony default export */ var control_Attribution = (Attribution_Attribution); - -//# sourceMappingURL=Attribution.js.map -// EXTERNAL MODULE: ./node_modules/ol/easing.js -var easing = __webpack_require__(21); - -// CONCATENATED MODULE: ./node_modules/ol/control/Rotate.js -/** - * @module ol/control/Rotate - */ - - - - - - - -/** - * @typedef {Object} Options - * @property {string} [className='ol-rotate'] CSS class name. - * @property {string|HTMLElement} [label='⇧'] Text label to use for the rotate button. - * Instead of text, also an element (e.g. a `span` element) can be used. - * @property {string} [tipLabel='Reset rotation'] Text label to use for the rotate tip. - * @property {number} [duration=250] Animation duration in milliseconds. - * @property {boolean} [autoHide=true] Hide the control when rotation is 0. - * @property {function(import("../MapEvent.js").default)} [render] Function called when the control should - * be re-rendered. This is called in a `requestAnimationFrame` callback. - * @property {function()} [resetNorth] Function called when the control is clicked. - * This will override the default `resetNorth`. - * @property {HTMLElement|string} [target] Specify a target if you want the control to be - * rendered outside of the map's viewport. - */ - - -/** - * @classdesc - * A button control to reset rotation to 0. - * To style this control use css selector `.ol-rotate`. A `.ol-hidden` css - * selector is added to the button when the rotation is 0. - * - * @api - */ -var Rotate_Rotate = /*@__PURE__*/(function (Control) { - function Rotate(opt_options) { - - var options = opt_options ? opt_options : {}; - - Control.call(this, { - element: document.createElement('div'), - render: options.render || Rotate_render, - target: options.target - }); - - var className = options.className !== undefined ? options.className : 'ol-rotate'; - - var label = options.label !== undefined ? options.label : '\u21E7'; - - /** - * @type {HTMLElement} - * @private - */ - this.label_ = null; - - if (typeof label === 'string') { - this.label_ = document.createElement('span'); - this.label_.className = 'ol-compass'; - this.label_.textContent = label; - } else { - this.label_ = label; - this.label_.classList.add('ol-compass'); - } - - var tipLabel = options.tipLabel ? options.tipLabel : 'Reset rotation'; - - var button = document.createElement('button'); - button.className = className + '-reset'; - button.setAttribute('type', 'button'); - button.title = tipLabel; - button.appendChild(this.label_); - - Object(ol_events["a" /* listen */])(button, EventType["a" /* default */].CLICK, this.handleClick_, this); - - var cssClasses = className + ' ' + css["d" /* CLASS_UNSELECTABLE */] + ' ' + css["b" /* CLASS_CONTROL */]; - var element = this.element; - element.className = cssClasses; - element.appendChild(button); - - this.callResetNorth_ = options.resetNorth ? options.resetNorth : undefined; - - /** - * @type {number} - * @private - */ - this.duration_ = options.duration !== undefined ? options.duration : 250; - - /** - * @type {boolean} - * @private - */ - this.autoHide_ = options.autoHide !== undefined ? options.autoHide : true; - - /** - * @private - * @type {number|undefined} - */ - this.rotation_ = undefined; - - if (this.autoHide_) { - this.element.classList.add(css["c" /* CLASS_HIDDEN */]); - } - - } - - if ( Control ) Rotate.__proto__ = Control; - Rotate.prototype = Object.create( Control && Control.prototype ); - Rotate.prototype.constructor = Rotate; - - /** - * @param {MouseEvent} event The event to handle - * @private - */ - Rotate.prototype.handleClick_ = function handleClick_ (event) { - event.preventDefault(); - if (this.callResetNorth_ !== undefined) { - this.callResetNorth_(); - } else { - this.resetNorth_(); - } - }; - - /** - * @private - */ - Rotate.prototype.resetNorth_ = function resetNorth_ () { - var map = this.getMap(); - var view = map.getView(); - if (!view) { - // the map does not have a view, so we can't act - // upon it - return; - } - if (view.getRotation() !== undefined) { - if (this.duration_ > 0) { - view.animate({ - rotation: 0, - duration: this.duration_, - easing: easing["b" /* easeOut */] - }); - } else { - view.setRotation(0); - } - } - }; - - return Rotate; -}(control_Control)); - - -/** - * Update the rotate control element. - * @param {import("../MapEvent.js").default} mapEvent Map event. - * @this {Rotate} - * @api - */ -function Rotate_render(mapEvent) { - var frameState = mapEvent.frameState; - if (!frameState) { - return; - } - var rotation = frameState.viewState.rotation; - if (rotation != this.rotation_) { - var transform = 'rotate(' + rotation + 'rad)'; - if (this.autoHide_) { - var contains = this.element.classList.contains(css["c" /* CLASS_HIDDEN */]); - if (!contains && rotation === 0) { - this.element.classList.add(css["c" /* CLASS_HIDDEN */]); - } else if (contains && rotation !== 0) { - this.element.classList.remove(css["c" /* CLASS_HIDDEN */]); - } - } - this.label_.style.msTransform = transform; - this.label_.style.webkitTransform = transform; - this.label_.style.transform = transform; - } - this.rotation_ = rotation; -} - -/* harmony default export */ var control_Rotate = (Rotate_Rotate); - -//# sourceMappingURL=Rotate.js.map -// CONCATENATED MODULE: ./node_modules/ol/control/Zoom.js -/** - * @module ol/control/Zoom - */ - - - - - - - -/** - * @typedef {Object} Options - * @property {number} [duration=250] Animation duration in milliseconds. - * @property {string} [className='ol-zoom'] CSS class name. - * @property {string|HTMLElement} [zoomInLabel='+'] Text label to use for the zoom-in - * button. Instead of text, also an element (e.g. a `span` element) can be used. - * @property {string|HTMLElement} [zoomOutLabel='-'] Text label to use for the zoom-out button. - * Instead of text, also an element (e.g. a `span` element) can be used. - * @property {string} [zoomInTipLabel='Zoom in'] Text label to use for the button tip. - * @property {string} [zoomOutTipLabel='Zoom out'] Text label to use for the button tip. - * @property {number} [delta=1] The zoom delta applied on each click. - * @property {HTMLElement|string} [target] Specify a target if you want the control to be - * rendered outside of the map's viewport. - */ - - -/** - * @classdesc - * A control with 2 buttons, one for zoom in and one for zoom out. - * This control is one of the default controls of a map. To style this control - * use css selectors `.ol-zoom-in` and `.ol-zoom-out`. - * - * @api - */ -var Zoom_Zoom = /*@__PURE__*/(function (Control) { - function Zoom(opt_options) { - - var options = opt_options ? opt_options : {}; - - Control.call(this, { - element: document.createElement('div'), - target: options.target - }); - - var className = options.className !== undefined ? options.className : 'ol-zoom'; - - var delta = options.delta !== undefined ? options.delta : 1; - - var zoomInLabel = options.zoomInLabel !== undefined ? options.zoomInLabel : '+'; - var zoomOutLabel = options.zoomOutLabel !== undefined ? options.zoomOutLabel : '\u2212'; - - var zoomInTipLabel = options.zoomInTipLabel !== undefined ? - options.zoomInTipLabel : 'Zoom in'; - var zoomOutTipLabel = options.zoomOutTipLabel !== undefined ? - options.zoomOutTipLabel : 'Zoom out'; - - var inElement = document.createElement('button'); - inElement.className = className + '-in'; - inElement.setAttribute('type', 'button'); - inElement.title = zoomInTipLabel; - inElement.appendChild( - typeof zoomInLabel === 'string' ? document.createTextNode(zoomInLabel) : zoomInLabel - ); - - Object(ol_events["a" /* listen */])(inElement, EventType["a" /* default */].CLICK, this.handleClick_.bind(this, delta)); - - var outElement = document.createElement('button'); - outElement.className = className + '-out'; - outElement.setAttribute('type', 'button'); - outElement.title = zoomOutTipLabel; - outElement.appendChild( - typeof zoomOutLabel === 'string' ? document.createTextNode(zoomOutLabel) : zoomOutLabel - ); - - Object(ol_events["a" /* listen */])(outElement, EventType["a" /* default */].CLICK, this.handleClick_.bind(this, -delta)); - - var cssClasses = className + ' ' + css["d" /* CLASS_UNSELECTABLE */] + ' ' + css["b" /* CLASS_CONTROL */]; - var element = this.element; - element.className = cssClasses; - element.appendChild(inElement); - element.appendChild(outElement); - - /** - * @type {number} - * @private - */ - this.duration_ = options.duration !== undefined ? options.duration : 250; - - } - - if ( Control ) Zoom.__proto__ = Control; - Zoom.prototype = Object.create( Control && Control.prototype ); - Zoom.prototype.constructor = Zoom; - - /** - * @param {number} delta Zoom delta. - * @param {MouseEvent} event The event to handle - * @private - */ - Zoom.prototype.handleClick_ = function handleClick_ (delta, event) { - event.preventDefault(); - this.zoomByDelta_(delta); - }; - - /** - * @param {number} delta Zoom delta. - * @private - */ - Zoom.prototype.zoomByDelta_ = function zoomByDelta_ (delta) { - var map = this.getMap(); - var view = map.getView(); - if (!view) { - // the map does not have a view, so we can't act - // upon it - return; - } - var currentResolution = view.getResolution(); - if (currentResolution) { - var newResolution = view.constrainResolution(currentResolution, delta); - if (this.duration_ > 0) { - if (view.getAnimating()) { - view.cancelAnimations(); - } - view.animate({ - resolution: newResolution, - duration: this.duration_, - easing: easing["b" /* easeOut */] - }); - } else { - view.setResolution(newResolution); - } - } - }; - - return Zoom; -}(control_Control)); - - -/* harmony default export */ var control_Zoom = (Zoom_Zoom); - -//# sourceMappingURL=Zoom.js.map -// CONCATENATED MODULE: ./node_modules/ol/control/util.js -/** - * @module ol/control/util - */ - - - - - - -/** - * @typedef {Object} DefaultsOptions - * @property {boolean} [attribution=true] Include - * {@link module:ol/control/Attribution~Attribution}. - * @property {import("./Attribution.js").Options} [attributionOptions] - * Options for {@link module:ol/control/Attribution~Attribution}. - * @property {boolean} [rotate=true] Include - * {@link module:ol/control/Rotate~Rotate}. - * @property {import("./Rotate.js").Options} [rotateOptions] Options - * for {@link module:ol/control/Rotate~Rotate}. - * @property {boolean} [zoom] Include {@link module:ol/control/Zoom~Zoom}. - * @property {import("./Zoom.js").Options} [zoomOptions] Options for - * {@link module:ol/control/Zoom~Zoom}. - * @api - */ - - -/** - * Set of controls included in maps by default. Unless configured otherwise, - * this returns a collection containing an instance of each of the following - * controls: - * * {@link module:ol/control/Zoom~Zoom} - * * {@link module:ol/control/Rotate~Rotate} - * * {@link module:ol/control/Attribution~Attribution} - * - * @param {DefaultsOptions=} opt_options - * Defaults options. - * @return {Collection} - * Controls. - * @function module:ol/control.defaults - * @api - */ -function defaults(opt_options) { - - var options = opt_options ? opt_options : {}; - - var controls = new ol_Collection(); - - var zoomControl = options.zoom !== undefined ? options.zoom : true; - if (zoomControl) { - controls.push(new control_Zoom(options.zoomOptions)); - } - - var rotateControl = options.rotate !== undefined ? options.rotate : true; - if (rotateControl) { - controls.push(new control_Rotate(options.rotateOptions)); - } - - var attributionControl = options.attribution !== undefined ? - options.attribution : true; - if (attributionControl) { - controls.push(new control_Attribution(options.attributionOptions)); - } - - return controls; -} - -//# sourceMappingURL=util.js.map // CONCATENATED MODULE: ./node_modules/ol/Kinetic.js /** * @module ol/Kinetic @@ -23574,6 +25908,9 @@ Kinetic.prototype.getAngle = function getAngle () { /* harmony default export */ var ol_Kinetic = (Kinetic); //# sourceMappingURL=Kinetic.js.map +// EXTERNAL MODULE: ./node_modules/ol/easing.js +var easing = __webpack_require__(21); + // CONCATENATED MODULE: ./node_modules/ol/interaction/Property.js /** * @module ol/interaction/Property @@ -23922,7 +26259,7 @@ function DoubleClickZoom_handleEvent(mapBrowserEvent) { //# sourceMappingURL=DoubleClickZoom.js.map // EXTERNAL MODULE: ./node_modules/ol/coordinate.js + 1 modules -var ol_coordinate = __webpack_require__(36); +var ol_coordinate = __webpack_require__(40); // CONCATENATED MODULE: ./node_modules/ol/events/condition.js /** @@ -24587,7 +26924,7 @@ var DragPan_DragPan = /*@__PURE__*/(function (PointerInteraction) { //# sourceMappingURL=DragPan.js.map // EXTERNAL MODULE: ./node_modules/ol/rotationconstraint.js -var rotationconstraint = __webpack_require__(43); +var rotationconstraint = __webpack_require__(47); // CONCATENATED MODULE: ./node_modules/ol/interaction/DragRotate.js /** @@ -24721,10 +27058,10 @@ var DragRotate_DragRotate = /*@__PURE__*/(function (PointerInteraction) { //# sourceMappingURL=DragRotate.js.map // EXTERNAL MODULE: ./node_modules/ol/Disposable.js -var ol_Disposable = __webpack_require__(58); +var ol_Disposable = __webpack_require__(60); // EXTERNAL MODULE: ./node_modules/ol/geom/Polygon.js + 5 modules -var Polygon = __webpack_require__(55); +var Polygon = __webpack_require__(57); // CONCATENATED MODULE: ./node_modules/ol/render/Box.js /** @@ -26204,11 +28541,11 @@ var PinchZoom_PinchZoom = /*@__PURE__*/(function (PointerInteraction) { * constructor's `interactions` option. * @api */ -function interaction_defaults(opt_options) { +function defaults(opt_options) { var options = opt_options ? opt_options : {}; - var interactions = new ol_Collection(); + var interactions = new Collection["a" /* default */](); var kinetic = new ol_Kinetic(-0.005, 0.05, 100); @@ -26282,7 +28619,7 @@ function interaction_defaults(opt_options) { //# sourceMappingURL=interaction.js.map // EXTERNAL MODULE: ./node_modules/ol/reproj/common.js -var common = __webpack_require__(32); +var common = __webpack_require__(34); // CONCATENATED MODULE: ./node_modules/ol/ImageBase.js /** @@ -26493,7 +28830,13 @@ var ImageCanvas_ImageCanvas = /*@__PURE__*/(function (ImageBase) { var LayerType = __webpack_require__(27); // EXTERNAL MODULE: ./node_modules/ol/layer/VectorRenderType.js -var VectorRenderType = __webpack_require__(69); +var VectorRenderType = __webpack_require__(73); + +// EXTERNAL MODULE: ./node_modules/ol/css.js +var css = __webpack_require__(24); + +// EXTERNAL MODULE: ./node_modules/ol/layer/Layer.js +var Layer = __webpack_require__(41); // CONCATENATED MODULE: ./node_modules/ol/render/Event.js /** @@ -26553,13 +28896,13 @@ var RenderEvent = /*@__PURE__*/(function (Event) { var render_canvas = __webpack_require__(4); // EXTERNAL MODULE: ./node_modules/ol/colorlike.js -var colorlike = __webpack_require__(31); +var colorlike = __webpack_require__(32); // EXTERNAL MODULE: ./node_modules/ol/geom/GeometryType.js var GeometryType = __webpack_require__(6); // EXTERNAL MODULE: ./node_modules/ol/geom/SimpleGeometry.js + 1 modules -var SimpleGeometry = __webpack_require__(40); +var SimpleGeometry = __webpack_require__(44); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/transform.js var flat_transform = __webpack_require__(29); @@ -27610,7 +29953,7 @@ var Immediate_CanvasImmediateRenderer = /*@__PURE__*/(function (VectorContext) { //# sourceMappingURL=Immediate.js.map // EXTERNAL MODULE: ./node_modules/ol/color.js -var ol_color = __webpack_require__(34); +var ol_color = __webpack_require__(38); // CONCATENATED MODULE: ./node_modules/ol/style/IconImageCache.js /** @@ -28309,7 +30652,7 @@ var Map_CanvasMapRenderer = /*@__PURE__*/(function (MapRenderer) { //# sourceMappingURL=Map.js.map // EXTERNAL MODULE: ./node_modules/ol/Observable.js -var ol_Observable = __webpack_require__(63); +var ol_Observable = __webpack_require__(67); // CONCATENATED MODULE: ./node_modules/ol/renderer/Layer.js /** @@ -29107,7 +31450,7 @@ ImageLayer_CanvasImageLayerRenderer['create'] = function(mapRenderer, layer) { //# sourceMappingURL=ImageLayer.js.map // EXTERNAL MODULE: ./node_modules/ol/TileRange.js -var TileRange = __webpack_require__(57); +var TileRange = __webpack_require__(59); // CONCATENATED MODULE: ./node_modules/ol/renderer/canvas/TileLayer.js /** @@ -29515,7 +31858,7 @@ TileLayer_CanvasTileLayerRenderer.prototype.getLayer; //# sourceMappingURL=TileLayer.js.map // EXTERNAL MODULE: ./node_modules/rbush/index.js -var rbush = __webpack_require__(70); +var rbush = __webpack_require__(74); var rbush_default = /*#__PURE__*/__webpack_require__.n(rbush); // CONCATENATED MODULE: ./node_modules/ol/render/ReplayGroup.js @@ -29575,10 +31918,10 @@ ReplayGroup_ReplayGroup.prototype.addDeclutter = function addDeclutter (group) { var Relationship = __webpack_require__(22); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/inflate.js -var inflate = __webpack_require__(41); +var inflate = __webpack_require__(45); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/length.js -var flat_length = __webpack_require__(67); +var flat_length = __webpack_require__(71); // CONCATENATED MODULE: ./node_modules/ol/geom/flat/textpath.js /** @@ -31183,7 +33526,7 @@ var LineStringReplay_CanvasLineStringReplay = /*@__PURE__*/(function (CanvasRepl //# sourceMappingURL=LineStringReplay.js.map // EXTERNAL MODULE: ./node_modules/ol/geom/flat/simplify.js -var simplify = __webpack_require__(50); +var simplify = __webpack_require__(53); // CONCATENATED MODULE: ./node_modules/ol/render/canvas/PolygonReplay.js /** @@ -31452,24 +33795,9 @@ function matchingChunk(maxAngle, flatCoordinates, offset, end, stride) { } //# sourceMappingURL=straightchunk.js.map -// CONCATENATED MODULE: ./node_modules/ol/style/TextPlacement.js -/** - * @module ol/style/TextPlacement - */ +// EXTERNAL MODULE: ./node_modules/ol/style/TextPlacement.js +var TextPlacement = __webpack_require__(65); -/** - * Text placement. One of `'point'`, `'line'`. Default is `'point'`. Note that - * `'line'` requires the underlying geometry to be a {@link module:ol/geom/LineString~LineString}, - * {@link module:ol/geom/Polygon~Polygon}, {@link module:ol/geom/MultiLineString~MultiLineString} or - * {@link module:ol/geom/MultiPolygon~MultiPolygon}. - * @enum {string} - */ -/* harmony default export */ var TextPlacement = ({ - POINT: 'point', - LINE: 'line' -}); - -//# sourceMappingURL=TextPlacement.js.map // CONCATENATED MODULE: ./node_modules/ol/render/canvas/TextReplay.js /** * @module ol/render/canvas/TextReplay @@ -31617,7 +33945,7 @@ var TextReplay_CanvasTextReplay = /*@__PURE__*/(function (CanvasReplay) { var stride = 2; var i, ii; - if (textState.placement === TextPlacement.LINE) { + if (textState.placement === TextPlacement["a" /* default */].LINE) { if (!Object(ol_extent["F" /* intersects */])(this.getBufferedMaxExtent(), geometry.getExtent())) { return; } @@ -33277,7 +35605,7 @@ VectorLayer_CanvasVectorLayerRenderer['create'] = function(mapRenderer, layer) { //# sourceMappingURL=VectorLayer.js.map // EXTERNAL MODULE: ./node_modules/ol/layer/VectorTileRenderType.js -var VectorTileRenderType = __webpack_require__(38); +var VectorTileRenderType = __webpack_require__(42); // EXTERNAL MODULE: ./node_modules/ol/proj.js + 5 modules var proj = __webpack_require__(13); @@ -33862,10 +36190,10 @@ var Map_Map = /*@__PURE__*/(function (PluggableMap) { function Map(options) { options = Object(obj["a" /* assign */])({}, options); if (!options.controls) { - options.controls = defaults(); + options.controls = Object(control_util["a" /* defaults */])(); } if (!options.interactions) { - options.interactions = interaction_defaults(); + options.interactions = defaults(); } PluggableMap.call(this, options); @@ -33895,7 +36223,7 @@ var Map_Map = /*@__PURE__*/(function (PluggableMap) { //# sourceMappingURL=Map.js.map /***/ }), -/* 79 */ +/* 87 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -34503,7 +36831,7 @@ function transformWithOptions(geometry, write, opt_options) { //# sourceMappingURL=Feature.js.map // EXTERNAL MODULE: ./node_modules/ol/format/FormatType.js -var FormatType = __webpack_require__(52); +var FormatType = __webpack_require__(55); // CONCATENATED MODULE: ./node_modules/ol/xml.js /** @@ -35287,16 +37615,16 @@ var ol_extent = __webpack_require__(0); var GeometryType = __webpack_require__(6); // EXTERNAL MODULE: ./node_modules/ol/geom/SimpleGeometry.js + 1 modules -var geom_SimpleGeometry = __webpack_require__(40); +var geom_SimpleGeometry = __webpack_require__(44); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/closest.js -var closest = __webpack_require__(46); +var closest = __webpack_require__(50); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/deflate.js -var deflate = __webpack_require__(49); +var deflate = __webpack_require__(52); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/inflate.js -var inflate = __webpack_require__(41); +var inflate = __webpack_require__(45); // EXTERNAL MODULE: ./node_modules/ol/math.js var math = __webpack_require__(7); @@ -35482,16 +37810,16 @@ function lineStringsCoordinateAtM( //# sourceMappingURL=interpolate.js.map // EXTERNAL MODULE: ./node_modules/ol/geom/flat/intersectsextent.js -var intersectsextent = __webpack_require__(65); +var intersectsextent = __webpack_require__(69); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/length.js -var flat_length = __webpack_require__(67); +var flat_length = __webpack_require__(71); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/segments.js -var segments = __webpack_require__(66); +var segments = __webpack_require__(70); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/simplify.js -var simplify = __webpack_require__(50); +var simplify = __webpack_require__(53); // CONCATENATED MODULE: ./node_modules/ol/geom/LineString.js /** @@ -35740,10 +38068,10 @@ var LineString_LineString = /*@__PURE__*/(function (SimpleGeometry) { //# sourceMappingURL=LineString.js.map // EXTERNAL MODULE: ./node_modules/ol/geom/Point.js -var Point = __webpack_require__(64); +var Point = __webpack_require__(68); // EXTERNAL MODULE: ./node_modules/ol/geom/Polygon.js + 5 modules -var Polygon = __webpack_require__(55); +var Polygon = __webpack_require__(57); // CONCATENATED MODULE: ./node_modules/ol/format/OSMXML.js /** @@ -35937,1648 +38265,7 @@ function readTag(node, objectStack) { //# sourceMappingURL=OSMXML.js.map /***/ }), -/* 80 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; - -// EXTERNAL MODULE: ./node_modules/ol/reproj/common.js -var common = __webpack_require__(32); - -// EXTERNAL MODULE: ./node_modules/ol/util.js -var util = __webpack_require__(1); - -// EXTERNAL MODULE: ./node_modules/ol/Tile.js -var ol_Tile = __webpack_require__(48); - -// EXTERNAL MODULE: ./node_modules/ol/TileState.js -var TileState = __webpack_require__(3); - -// EXTERNAL MODULE: ./node_modules/ol/dom.js -var dom = __webpack_require__(14); - -// EXTERNAL MODULE: ./node_modules/ol/events.js -var events = __webpack_require__(2); - -// EXTERNAL MODULE: ./node_modules/ol/events/EventType.js -var EventType = __webpack_require__(5); - -// CONCATENATED MODULE: ./node_modules/ol/ImageTile.js -/** - * @module ol/ImageTile - */ - - - - - - - -var ImageTile_ImageTile = /*@__PURE__*/(function (Tile) { - function ImageTile(tileCoord, state, src, crossOrigin, tileLoadFunction, opt_options) { - - Tile.call(this, tileCoord, state, opt_options); - - /** - * @private - * @type {?string} - */ - this.crossOrigin_ = crossOrigin; - - /** - * Image URI - * - * @private - * @type {string} - */ - this.src_ = src; - - /** - * @private - * @type {HTMLImageElement|HTMLCanvasElement} - */ - this.image_ = new Image(); - if (crossOrigin !== null) { - this.image_.crossOrigin = crossOrigin; - } - - /** - * @private - * @type {Array} - */ - this.imageListenerKeys_ = null; - - /** - * @private - * @type {import("./Tile.js").LoadFunction} - */ - this.tileLoadFunction_ = tileLoadFunction; - - } - - if ( Tile ) ImageTile.__proto__ = Tile; - ImageTile.prototype = Object.create( Tile && Tile.prototype ); - ImageTile.prototype.constructor = ImageTile; - - /** - * @inheritDoc - */ - ImageTile.prototype.disposeInternal = function disposeInternal () { - if (this.state == TileState["a" /* default */].LOADING) { - this.unlistenImage_(); - this.image_ = getBlankImage(); - } - if (this.interimTile) { - this.interimTile.dispose(); - } - this.state = TileState["a" /* default */].ABORT; - this.changed(); - Tile.prototype.disposeInternal.call(this); - }; - - /** - * Get the HTML image element for this tile (may be a Canvas, Image, or Video). - * @return {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} Image. - * @api - */ - ImageTile.prototype.getImage = function getImage () { - return this.image_; - }; - - /** - * @inheritDoc - */ - ImageTile.prototype.getKey = function getKey () { - return this.src_; - }; - - /** - * Tracks loading or read errors. - * - * @private - */ - ImageTile.prototype.handleImageError_ = function handleImageError_ () { - this.state = TileState["a" /* default */].ERROR; - this.unlistenImage_(); - this.image_ = getBlankImage(); - this.changed(); - }; - - /** - * Tracks successful image load. - * - * @private - */ - ImageTile.prototype.handleImageLoad_ = function handleImageLoad_ () { - var image = /** @type {HTMLImageElement} */ (this.image_); - if (image.naturalWidth && image.naturalHeight) { - this.state = TileState["a" /* default */].LOADED; - } else { - this.state = TileState["a" /* default */].EMPTY; - } - this.unlistenImage_(); - this.changed(); - }; - - /** - * @inheritDoc - * @api - */ - ImageTile.prototype.load = function load () { - if (this.state == TileState["a" /* default */].ERROR) { - this.state = TileState["a" /* default */].IDLE; - this.image_ = new Image(); - if (this.crossOrigin_ !== null) { - this.image_.crossOrigin = this.crossOrigin_; - } - } - if (this.state == TileState["a" /* default */].IDLE) { - this.state = TileState["a" /* default */].LOADING; - this.changed(); - this.imageListenerKeys_ = [ - Object(events["b" /* listenOnce */])(this.image_, EventType["a" /* default */].ERROR, - this.handleImageError_, this), - Object(events["b" /* listenOnce */])(this.image_, EventType["a" /* default */].LOAD, - this.handleImageLoad_, this) - ]; - this.tileLoadFunction_(this, this.src_); - } - }; - - /** - * Discards event handlers which listen for load completion or errors. - * - * @private - */ - ImageTile.prototype.unlistenImage_ = function unlistenImage_ () { - this.imageListenerKeys_.forEach(events["e" /* unlistenByKey */]); - this.imageListenerKeys_ = null; - }; - - return ImageTile; -}(ol_Tile["a" /* default */])); - - -/** - * Get a 1-pixel blank image. - * @return {HTMLCanvasElement} Blank image. - */ -function getBlankImage() { - var ctx = Object(dom["a" /* createCanvasContext2D */])(1, 1); - ctx.fillStyle = 'rgba(0,0,0,0)'; - ctx.fillRect(0, 0, 1, 1); - return ctx.canvas; -} - -/* harmony default export */ var ol_ImageTile = (ImageTile_ImageTile); - -//# sourceMappingURL=ImageTile.js.map -// EXTERNAL MODULE: ./node_modules/ol/TileCache.js -var TileCache = __webpack_require__(62); - -// EXTERNAL MODULE: ./node_modules/ol/proj.js + 5 modules -var ol_proj = __webpack_require__(13); - -// EXTERNAL MODULE: ./node_modules/ol/extent.js -var ol_extent = __webpack_require__(0); - -// EXTERNAL MODULE: ./node_modules/ol/math.js -var math = __webpack_require__(7); - -// CONCATENATED MODULE: ./node_modules/ol/reproj.js -/** - * @module ol/reproj - */ - - - - - - -/** - * Calculates ideal resolution to use from the source in order to achieve - * pixel mapping as close as possible to 1:1 during reprojection. - * The resolution is calculated regardless of what resolutions - * are actually available in the dataset (TileGrid, Image, ...). - * - * @param {import("./proj/Projection.js").default} sourceProj Source projection. - * @param {import("./proj/Projection.js").default} targetProj Target projection. - * @param {import("./coordinate.js").Coordinate} targetCenter Target center. - * @param {number} targetResolution Target resolution. - * @return {number} The best resolution to use. Can be +-Infinity, NaN or 0. - */ -function calculateSourceResolution(sourceProj, targetProj, - targetCenter, targetResolution) { - - var sourceCenter = Object(ol_proj["h" /* transform */])(targetCenter, targetProj, sourceProj); - - // calculate the ideal resolution of the source data - var sourceResolution = Object(ol_proj["f" /* getPointResolution */])(targetProj, targetResolution, targetCenter); - - var targetMetersPerUnit = targetProj.getMetersPerUnit(); - if (targetMetersPerUnit !== undefined) { - sourceResolution *= targetMetersPerUnit; - } - var sourceMetersPerUnit = sourceProj.getMetersPerUnit(); - if (sourceMetersPerUnit !== undefined) { - sourceResolution /= sourceMetersPerUnit; - } - - // Based on the projection properties, the point resolution at the specified - // coordinates may be slightly different. We need to reverse-compensate this - // in order to achieve optimal results. - - var sourceExtent = sourceProj.getExtent(); - if (!sourceExtent || Object(ol_extent["f" /* containsCoordinate */])(sourceExtent, sourceCenter)) { - var compensationFactor = Object(ol_proj["f" /* getPointResolution */])(sourceProj, sourceResolution, sourceCenter) / - sourceResolution; - if (isFinite(compensationFactor) && compensationFactor > 0) { - sourceResolution /= compensationFactor; - } - } - - return sourceResolution; -} - - -/** - * Enlarge the clipping triangle point by 1 pixel to ensure the edges overlap - * in order to mask gaps caused by antialiasing. - * - * @param {number} centroidX Centroid of the triangle (x coordinate in pixels). - * @param {number} centroidY Centroid of the triangle (y coordinate in pixels). - * @param {number} x X coordinate of the point (in pixels). - * @param {number} y Y coordinate of the point (in pixels). - * @return {import("./coordinate.js").Coordinate} New point 1 px farther from the centroid. - */ -function enlargeClipPoint(centroidX, centroidY, x, y) { - var dX = x - centroidX; - var dY = y - centroidY; - var distance = Math.sqrt(dX * dX + dY * dY); - return [Math.round(x + dX / distance), Math.round(y + dY / distance)]; -} - - -/** - * Renders the source data into new canvas based on the triangulation. - * - * @param {number} width Width of the canvas. - * @param {number} height Height of the canvas. - * @param {number} pixelRatio Pixel ratio. - * @param {number} sourceResolution Source resolution. - * @param {import("./extent.js").Extent} sourceExtent Extent of the data source. - * @param {number} targetResolution Target resolution. - * @param {import("./extent.js").Extent} targetExtent Target extent. - * @param {import("./reproj/Triangulation.js").default} triangulation - * Calculated triangulation. - * @param {Array<{extent: import("./extent.js").Extent, - * image: (HTMLCanvasElement|HTMLImageElement|HTMLVideoElement)}>} sources - * Array of sources. - * @param {number} gutter Gutter of the sources. - * @param {boolean=} opt_renderEdges Render reprojection edges. - * @return {HTMLCanvasElement} Canvas with reprojected data. - */ -function reproj_render(width, height, pixelRatio, - sourceResolution, sourceExtent, targetResolution, targetExtent, - triangulation, sources, gutter, opt_renderEdges) { - - var context = Object(dom["a" /* createCanvasContext2D */])(Math.round(pixelRatio * width), - Math.round(pixelRatio * height)); - - if (sources.length === 0) { - return context.canvas; - } - - context.scale(pixelRatio, pixelRatio); - - var sourceDataExtent = Object(ol_extent["j" /* createEmpty */])(); - sources.forEach(function(src, i, arr) { - Object(ol_extent["q" /* extend */])(sourceDataExtent, src.extent); - }); - - var canvasWidthInUnits = Object(ol_extent["E" /* getWidth */])(sourceDataExtent); - var canvasHeightInUnits = Object(ol_extent["A" /* getHeight */])(sourceDataExtent); - var stitchContext = Object(dom["a" /* createCanvasContext2D */])( - Math.round(pixelRatio * canvasWidthInUnits / sourceResolution), - Math.round(pixelRatio * canvasHeightInUnits / sourceResolution)); - - var stitchScale = pixelRatio / sourceResolution; - - sources.forEach(function(src, i, arr) { - var xPos = src.extent[0] - sourceDataExtent[0]; - var yPos = -(src.extent[3] - sourceDataExtent[3]); - var srcWidth = Object(ol_extent["E" /* getWidth */])(src.extent); - var srcHeight = Object(ol_extent["A" /* getHeight */])(src.extent); - - stitchContext.drawImage( - src.image, - gutter, gutter, - src.image.width - 2 * gutter, src.image.height - 2 * gutter, - xPos * stitchScale, yPos * stitchScale, - srcWidth * stitchScale, srcHeight * stitchScale); - }); - - var targetTopLeft = Object(ol_extent["C" /* getTopLeft */])(targetExtent); - - triangulation.getTriangles().forEach(function(triangle, i, arr) { - /* Calculate affine transform (src -> dst) - * Resulting matrix can be used to transform coordinate - * from `sourceProjection` to destination pixels. - * - * To optimize number of context calls and increase numerical stability, - * we also do the following operations: - * trans(-topLeftExtentCorner), scale(1 / targetResolution), scale(1, -1) - * here before solving the linear system so [ui, vi] are pixel coordinates. - * - * Src points: xi, yi - * Dst points: ui, vi - * Affine coefficients: aij - * - * | x0 y0 1 0 0 0 | |a00| |u0| - * | x1 y1 1 0 0 0 | |a01| |u1| - * | x2 y2 1 0 0 0 | x |a02| = |u2| - * | 0 0 0 x0 y0 1 | |a10| |v0| - * | 0 0 0 x1 y1 1 | |a11| |v1| - * | 0 0 0 x2 y2 1 | |a12| |v2| - */ - var source = triangle.source; - var target = triangle.target; - var x0 = source[0][0], y0 = source[0][1]; - var x1 = source[1][0], y1 = source[1][1]; - var x2 = source[2][0], y2 = source[2][1]; - var u0 = (target[0][0] - targetTopLeft[0]) / targetResolution; - var v0 = -(target[0][1] - targetTopLeft[1]) / targetResolution; - var u1 = (target[1][0] - targetTopLeft[0]) / targetResolution; - var v1 = -(target[1][1] - targetTopLeft[1]) / targetResolution; - var u2 = (target[2][0] - targetTopLeft[0]) / targetResolution; - var v2 = -(target[2][1] - targetTopLeft[1]) / targetResolution; - - // Shift all the source points to improve numerical stability - // of all the subsequent calculations. The [x0, y0] is used here. - // This is also used to simplify the linear system. - var sourceNumericalShiftX = x0; - var sourceNumericalShiftY = y0; - x0 = 0; - y0 = 0; - x1 -= sourceNumericalShiftX; - y1 -= sourceNumericalShiftY; - x2 -= sourceNumericalShiftX; - y2 -= sourceNumericalShiftY; - - var augmentedMatrix = [ - [x1, y1, 0, 0, u1 - u0], - [x2, y2, 0, 0, u2 - u0], - [0, 0, x1, y1, v1 - v0], - [0, 0, x2, y2, v2 - v0] - ]; - var affineCoefs = Object(math["e" /* solveLinearSystem */])(augmentedMatrix); - if (!affineCoefs) { - return; - } - - context.save(); - context.beginPath(); - var centroidX = (u0 + u1 + u2) / 3; - var centroidY = (v0 + v1 + v2) / 3; - var p0 = enlargeClipPoint(centroidX, centroidY, u0, v0); - var p1 = enlargeClipPoint(centroidX, centroidY, u1, v1); - var p2 = enlargeClipPoint(centroidX, centroidY, u2, v2); - - context.moveTo(p1[0], p1[1]); - context.lineTo(p0[0], p0[1]); - context.lineTo(p2[0], p2[1]); - context.clip(); - - context.transform( - affineCoefs[0], affineCoefs[2], affineCoefs[1], affineCoefs[3], u0, v0); - - context.translate(sourceDataExtent[0] - sourceNumericalShiftX, - sourceDataExtent[3] - sourceNumericalShiftY); - - context.scale(sourceResolution / pixelRatio, - -sourceResolution / pixelRatio); - - context.drawImage(stitchContext.canvas, 0, 0); - context.restore(); - }); - - if (opt_renderEdges) { - context.save(); - - context.strokeStyle = 'black'; - context.lineWidth = 1; - - triangulation.getTriangles().forEach(function(triangle, i, arr) { - var target = triangle.target; - var u0 = (target[0][0] - targetTopLeft[0]) / targetResolution; - var v0 = -(target[0][1] - targetTopLeft[1]) / targetResolution; - var u1 = (target[1][0] - targetTopLeft[0]) / targetResolution; - var v1 = -(target[1][1] - targetTopLeft[1]) / targetResolution; - var u2 = (target[2][0] - targetTopLeft[0]) / targetResolution; - var v2 = -(target[2][1] - targetTopLeft[1]) / targetResolution; - - context.beginPath(); - context.moveTo(u1, v1); - context.lineTo(u0, v0); - context.lineTo(u2, v2); - context.closePath(); - context.stroke(); - }); - - context.restore(); - } - return context.canvas; -} - -//# sourceMappingURL=reproj.js.map -// CONCATENATED MODULE: ./node_modules/ol/reproj/Triangulation.js -/** - * @module ol/reproj/Triangulation - */ - - - - - -/** - * Single triangle; consists of 3 source points and 3 target points. - * @typedef {Object} Triangle - * @property {Array} source - * @property {Array} target - */ - - -/** - * Maximum number of subdivision steps during raster reprojection triangulation. - * Prevents high memory usage and large number of proj4 calls (for certain - * transformations and areas). At most `2*(2^this)` triangles are created for - * each triangulated extent (tile/image). - * @type {number} - */ -var MAX_SUBDIVISION = 10; - - -/** - * Maximum allowed size of triangle relative to world width. When transforming - * corners of world extent between certain projections, the resulting - * triangulation seems to have zero error and no subdivision is performed. If - * the triangle width is more than this (relative to world width; 0-1), - * subdivison is forced (up to `MAX_SUBDIVISION`). Default is `0.25`. - * @type {number} - */ -var MAX_TRIANGLE_WIDTH = 0.25; - - -/** - * @classdesc - * Class containing triangulation of the given target extent. - * Used for determining source data and the reprojection itself. - */ -var Triangulation_Triangulation = function Triangulation(sourceProj, targetProj, targetExtent, maxSourceExtent, errorThreshold) { - - /** - * @type {import("../proj/Projection.js").default} - * @private - */ - this.sourceProj_ = sourceProj; - - /** - * @type {import("../proj/Projection.js").default} - * @private - */ - this.targetProj_ = targetProj; - - /** @type {!Object} */ - var transformInvCache = {}; - var transformInv = Object(ol_proj["g" /* getTransform */])(this.targetProj_, this.sourceProj_); - - /** - * @param {import("../coordinate.js").Coordinate} c A coordinate. - * @return {import("../coordinate.js").Coordinate} Transformed coordinate. - * @private - */ - this.transformInv_ = function(c) { - var key = c[0] + '/' + c[1]; - if (!transformInvCache[key]) { - transformInvCache[key] = transformInv(c); - } - return transformInvCache[key]; - }; - - /** - * @type {import("../extent.js").Extent} - * @private - */ - this.maxSourceExtent_ = maxSourceExtent; - - /** - * @type {number} - * @private - */ - this.errorThresholdSquared_ = errorThreshold * errorThreshold; - - /** - * @type {Array} - * @private - */ - this.triangles_ = []; - - /** - * Indicates that the triangulation crosses edge of the source projection. - * @type {boolean} - * @private - */ - this.wrapsXInSource_ = false; - - /** - * @type {boolean} - * @private - */ - this.canWrapXInSource_ = this.sourceProj_.canWrapX() && - !!maxSourceExtent && - !!this.sourceProj_.getExtent() && - (Object(ol_extent["E" /* getWidth */])(maxSourceExtent) == Object(ol_extent["E" /* getWidth */])(this.sourceProj_.getExtent())); - - /** - * @type {?number} - * @private - */ - this.sourceWorldWidth_ = this.sourceProj_.getExtent() ? - Object(ol_extent["E" /* getWidth */])(this.sourceProj_.getExtent()) : null; - - /** - * @type {?number} - * @private - */ - this.targetWorldWidth_ = this.targetProj_.getExtent() ? - Object(ol_extent["E" /* getWidth */])(this.targetProj_.getExtent()) : null; - - var destinationTopLeft = Object(ol_extent["C" /* getTopLeft */])(targetExtent); - var destinationTopRight = Object(ol_extent["D" /* getTopRight */])(targetExtent); - var destinationBottomRight = Object(ol_extent["w" /* getBottomRight */])(targetExtent); - var destinationBottomLeft = Object(ol_extent["v" /* getBottomLeft */])(targetExtent); - var sourceTopLeft = this.transformInv_(destinationTopLeft); - var sourceTopRight = this.transformInv_(destinationTopRight); - var sourceBottomRight = this.transformInv_(destinationBottomRight); - var sourceBottomLeft = this.transformInv_(destinationBottomLeft); - - this.addQuad_( - destinationTopLeft, destinationTopRight, - destinationBottomRight, destinationBottomLeft, - sourceTopLeft, sourceTopRight, sourceBottomRight, sourceBottomLeft, - MAX_SUBDIVISION); - - if (this.wrapsXInSource_) { - var leftBound = Infinity; - this.triangles_.forEach(function(triangle, i, arr) { - leftBound = Math.min(leftBound, - triangle.source[0][0], triangle.source[1][0], triangle.source[2][0]); - }); - - // Shift triangles to be as close to `leftBound` as possible - // (if the distance is more than `worldWidth / 2` it can be closer. - this.triangles_.forEach(function(triangle) { - if (Math.max(triangle.source[0][0], triangle.source[1][0], - triangle.source[2][0]) - leftBound > this.sourceWorldWidth_ / 2) { - var newTriangle = [[triangle.source[0][0], triangle.source[0][1]], - [triangle.source[1][0], triangle.source[1][1]], - [triangle.source[2][0], triangle.source[2][1]]]; - if ((newTriangle[0][0] - leftBound) > this.sourceWorldWidth_ / 2) { - newTriangle[0][0] -= this.sourceWorldWidth_; - } - if ((newTriangle[1][0] - leftBound) > this.sourceWorldWidth_ / 2) { - newTriangle[1][0] -= this.sourceWorldWidth_; - } - if ((newTriangle[2][0] - leftBound) > this.sourceWorldWidth_ / 2) { - newTriangle[2][0] -= this.sourceWorldWidth_; - } - - // Rarely (if the extent contains both the dateline and prime meridian) - // the shift can in turn break some triangles. - // Detect this here and don't shift in such cases. - var minX = Math.min( - newTriangle[0][0], newTriangle[1][0], newTriangle[2][0]); - var maxX = Math.max( - newTriangle[0][0], newTriangle[1][0], newTriangle[2][0]); - if ((maxX - minX) < this.sourceWorldWidth_ / 2) { - triangle.source = newTriangle; - } - } - }.bind(this)); - } - - transformInvCache = {}; -}; - -/** - * Adds triangle to the triangulation. - * @param {import("../coordinate.js").Coordinate} a The target a coordinate. - * @param {import("../coordinate.js").Coordinate} b The target b coordinate. - * @param {import("../coordinate.js").Coordinate} c The target c coordinate. - * @param {import("../coordinate.js").Coordinate} aSrc The source a coordinate. - * @param {import("../coordinate.js").Coordinate} bSrc The source b coordinate. - * @param {import("../coordinate.js").Coordinate} cSrc The source c coordinate. - * @private - */ -Triangulation_Triangulation.prototype.addTriangle_ = function addTriangle_ (a, b, c, aSrc, bSrc, cSrc) { - this.triangles_.push({ - source: [aSrc, bSrc, cSrc], - target: [a, b, c] - }); -}; - -/** - * Adds quad (points in clock-wise order) to the triangulation - * (and reprojects the vertices) if valid. - * Performs quad subdivision if needed to increase precision. - * - * @param {import("../coordinate.js").Coordinate} a The target a coordinate. - * @param {import("../coordinate.js").Coordinate} b The target b coordinate. - * @param {import("../coordinate.js").Coordinate} c The target c coordinate. - * @param {import("../coordinate.js").Coordinate} d The target d coordinate. - * @param {import("../coordinate.js").Coordinate} aSrc The source a coordinate. - * @param {import("../coordinate.js").Coordinate} bSrc The source b coordinate. - * @param {import("../coordinate.js").Coordinate} cSrc The source c coordinate. - * @param {import("../coordinate.js").Coordinate} dSrc The source d coordinate. - * @param {number} maxSubdivision Maximal allowed subdivision of the quad. - * @private - */ -Triangulation_Triangulation.prototype.addQuad_ = function addQuad_ (a, b, c, d, aSrc, bSrc, cSrc, dSrc, maxSubdivision) { - - var sourceQuadExtent = Object(ol_extent["b" /* boundingExtent */])([aSrc, bSrc, cSrc, dSrc]); - var sourceCoverageX = this.sourceWorldWidth_ ? - Object(ol_extent["E" /* getWidth */])(sourceQuadExtent) / this.sourceWorldWidth_ : null; - var sourceWorldWidth = /** @type {number} */ (this.sourceWorldWidth_); - - // when the quad is wrapped in the source projection - // it covers most of the projection extent, but not fully - var wrapsX = this.sourceProj_.canWrapX() && - sourceCoverageX > 0.5 && sourceCoverageX < 1; - - var needsSubdivision = false; - - if (maxSubdivision > 0) { - if (this.targetProj_.isGlobal() && this.targetWorldWidth_) { - var targetQuadExtent = Object(ol_extent["b" /* boundingExtent */])([a, b, c, d]); - var targetCoverageX = Object(ol_extent["E" /* getWidth */])(targetQuadExtent) / this.targetWorldWidth_; - needsSubdivision = targetCoverageX > MAX_TRIANGLE_WIDTH || - needsSubdivision; - } - if (!wrapsX && this.sourceProj_.isGlobal() && sourceCoverageX) { - needsSubdivision = sourceCoverageX > MAX_TRIANGLE_WIDTH || - needsSubdivision; - } - } - - if (!needsSubdivision && this.maxSourceExtent_) { - if (!Object(ol_extent["F" /* intersects */])(sourceQuadExtent, this.maxSourceExtent_)) { - // whole quad outside source projection extent -> ignore - return; - } - } - - if (!needsSubdivision) { - if (!isFinite(aSrc[0]) || !isFinite(aSrc[1]) || - !isFinite(bSrc[0]) || !isFinite(bSrc[1]) || - !isFinite(cSrc[0]) || !isFinite(cSrc[1]) || - !isFinite(dSrc[0]) || !isFinite(dSrc[1])) { - if (maxSubdivision > 0) { - needsSubdivision = true; - } else { - return; - } - } - } - - if (maxSubdivision > 0) { - if (!needsSubdivision) { - var center = [(a[0] + c[0]) / 2, (a[1] + c[1]) / 2]; - var centerSrc = this.transformInv_(center); - - var dx; - if (wrapsX) { - var centerSrcEstimX = - (Object(math["d" /* modulo */])(aSrc[0], sourceWorldWidth) + - Object(math["d" /* modulo */])(cSrc[0], sourceWorldWidth)) / 2; - dx = centerSrcEstimX - - Object(math["d" /* modulo */])(centerSrc[0], sourceWorldWidth); - } else { - dx = (aSrc[0] + cSrc[0]) / 2 - centerSrc[0]; - } - var dy = (aSrc[1] + cSrc[1]) / 2 - centerSrc[1]; - var centerSrcErrorSquared = dx * dx + dy * dy; - needsSubdivision = centerSrcErrorSquared > this.errorThresholdSquared_; - } - if (needsSubdivision) { - if (Math.abs(a[0] - c[0]) <= Math.abs(a[1] - c[1])) { - // split horizontally (top & bottom) - var bc = [(b[0] + c[0]) / 2, (b[1] + c[1]) / 2]; - var bcSrc = this.transformInv_(bc); - var da = [(d[0] + a[0]) / 2, (d[1] + a[1]) / 2]; - var daSrc = this.transformInv_(da); - - this.addQuad_( - a, b, bc, da, aSrc, bSrc, bcSrc, daSrc, maxSubdivision - 1); - this.addQuad_( - da, bc, c, d, daSrc, bcSrc, cSrc, dSrc, maxSubdivision - 1); - } else { - // split vertically (left & right) - var ab = [(a[0] + b[0]) / 2, (a[1] + b[1]) / 2]; - var abSrc = this.transformInv_(ab); - var cd = [(c[0] + d[0]) / 2, (c[1] + d[1]) / 2]; - var cdSrc = this.transformInv_(cd); - - this.addQuad_( - a, ab, cd, d, aSrc, abSrc, cdSrc, dSrc, maxSubdivision - 1); - this.addQuad_( - ab, b, c, cd, abSrc, bSrc, cSrc, cdSrc, maxSubdivision - 1); - } - return; - } - } - - if (wrapsX) { - if (!this.canWrapXInSource_) { - return; - } - this.wrapsXInSource_ = true; - } - - this.addTriangle_(a, c, d, aSrc, cSrc, dSrc); - this.addTriangle_(a, b, c, aSrc, bSrc, cSrc); -}; - -/** - * Calculates extent of the 'source' coordinates from all the triangles. - * - * @return {import("../extent.js").Extent} Calculated extent. - */ -Triangulation_Triangulation.prototype.calculateSourceExtent = function calculateSourceExtent () { - var extent = Object(ol_extent["j" /* createEmpty */])(); - - this.triangles_.forEach(function(triangle, i, arr) { - var src = triangle.source; - Object(ol_extent["r" /* extendCoordinate */])(extent, src[0]); - Object(ol_extent["r" /* extendCoordinate */])(extent, src[1]); - Object(ol_extent["r" /* extendCoordinate */])(extent, src[2]); - }); - - return extent; -}; - -/** - * @return {Array} Array of the calculated triangles. - */ -Triangulation_Triangulation.prototype.getTriangles = function getTriangles () { - return this.triangles_; -}; - -/* harmony default export */ var reproj_Triangulation = (Triangulation_Triangulation); - -//# sourceMappingURL=Triangulation.js.map -// CONCATENATED MODULE: ./node_modules/ol/reproj/Tile.js -/** - * @module ol/reproj/Tile - */ - - - - - - - - - - - - -/** - * @typedef {function(number, number, number, number) : import("../Tile.js").default} FunctionType - */ - - -/** - * @classdesc - * Class encapsulating single reprojected tile. - * See {@link module:ol/source/TileImage~TileImage}. - * - */ -var Tile_ReprojTile = /*@__PURE__*/(function (Tile) { - function ReprojTile( - sourceProj, - sourceTileGrid, - targetProj, - targetTileGrid, - tileCoord, - wrappedTileCoord, - pixelRatio, - gutter, - getTileFunction, - opt_errorThreshold, - opt_renderEdges - ) { - Tile.call(this, tileCoord, TileState["a" /* default */].IDLE); - - /** - * @private - * @type {boolean} - */ - this.renderEdges_ = opt_renderEdges !== undefined ? opt_renderEdges : false; - - /** - * @private - * @type {number} - */ - this.pixelRatio_ = pixelRatio; - - /** - * @private - * @type {number} - */ - this.gutter_ = gutter; - - /** - * @private - * @type {HTMLCanvasElement} - */ - this.canvas_ = null; - - /** - * @private - * @type {import("../tilegrid/TileGrid.js").default} - */ - this.sourceTileGrid_ = sourceTileGrid; - - /** - * @private - * @type {import("../tilegrid/TileGrid.js").default} - */ - this.targetTileGrid_ = targetTileGrid; - - /** - * @private - * @type {import("../tilecoord.js").TileCoord} - */ - this.wrappedTileCoord_ = wrappedTileCoord ? wrappedTileCoord : tileCoord; - - /** - * @private - * @type {!Array} - */ - this.sourceTiles_ = []; - - /** - * @private - * @type {Array} - */ - this.sourcesListenerKeys_ = null; - - /** - * @private - * @type {number} - */ - this.sourceZ_ = 0; - - var targetExtent = targetTileGrid.getTileCoordExtent(this.wrappedTileCoord_); - var maxTargetExtent = this.targetTileGrid_.getExtent(); - var maxSourceExtent = this.sourceTileGrid_.getExtent(); - - var limitedTargetExtent = maxTargetExtent ? - Object(ol_extent["B" /* getIntersection */])(targetExtent, maxTargetExtent) : targetExtent; - - if (Object(ol_extent["u" /* getArea */])(limitedTargetExtent) === 0) { - // Tile is completely outside range -> EMPTY - // TODO: is it actually correct that the source even creates the tile ? - this.state = TileState["a" /* default */].EMPTY; - return; - } - - var sourceProjExtent = sourceProj.getExtent(); - if (sourceProjExtent) { - if (!maxSourceExtent) { - maxSourceExtent = sourceProjExtent; - } else { - maxSourceExtent = Object(ol_extent["B" /* getIntersection */])(maxSourceExtent, sourceProjExtent); - } - } - - var targetResolution = targetTileGrid.getResolution( - this.wrappedTileCoord_[0]); - - var targetCenter = Object(ol_extent["x" /* getCenter */])(limitedTargetExtent); - var sourceResolution = calculateSourceResolution( - sourceProj, targetProj, targetCenter, targetResolution); - - if (!isFinite(sourceResolution) || sourceResolution <= 0) { - // invalid sourceResolution -> EMPTY - // probably edges of the projections when no extent is defined - this.state = TileState["a" /* default */].EMPTY; - return; - } - - var errorThresholdInPixels = opt_errorThreshold !== undefined ? - opt_errorThreshold : common["b" /* ERROR_THRESHOLD */]; - - /** - * @private - * @type {!import("./Triangulation.js").default} - */ - this.triangulation_ = new reproj_Triangulation( - sourceProj, targetProj, limitedTargetExtent, maxSourceExtent, - sourceResolution * errorThresholdInPixels); - - if (this.triangulation_.getTriangles().length === 0) { - // no valid triangles -> EMPTY - this.state = TileState["a" /* default */].EMPTY; - return; - } - - this.sourceZ_ = sourceTileGrid.getZForResolution(sourceResolution); - var sourceExtent = this.triangulation_.calculateSourceExtent(); - - if (maxSourceExtent) { - if (sourceProj.canWrapX()) { - sourceExtent[1] = Object(math["a" /* clamp */])( - sourceExtent[1], maxSourceExtent[1], maxSourceExtent[3]); - sourceExtent[3] = Object(math["a" /* clamp */])( - sourceExtent[3], maxSourceExtent[1], maxSourceExtent[3]); - } else { - sourceExtent = Object(ol_extent["B" /* getIntersection */])(sourceExtent, maxSourceExtent); - } - } - - if (!Object(ol_extent["u" /* getArea */])(sourceExtent)) { - this.state = TileState["a" /* default */].EMPTY; - } else { - var sourceRange = sourceTileGrid.getTileRangeForExtentAndZ( - sourceExtent, this.sourceZ_); - - for (var srcX = sourceRange.minX; srcX <= sourceRange.maxX; srcX++) { - for (var srcY = sourceRange.minY; srcY <= sourceRange.maxY; srcY++) { - var tile = getTileFunction(this.sourceZ_, srcX, srcY, pixelRatio); - if (tile) { - this.sourceTiles_.push(tile); - } - } - } - - if (this.sourceTiles_.length === 0) { - this.state = TileState["a" /* default */].EMPTY; - } - } - } - - if ( Tile ) ReprojTile.__proto__ = Tile; - ReprojTile.prototype = Object.create( Tile && Tile.prototype ); - ReprojTile.prototype.constructor = ReprojTile; - - /** - * @inheritDoc - */ - ReprojTile.prototype.disposeInternal = function disposeInternal () { - if (this.state == TileState["a" /* default */].LOADING) { - this.unlistenSources_(); - } - Tile.prototype.disposeInternal.call(this); - }; - - /** - * Get the HTML Canvas element for this tile. - * @return {HTMLCanvasElement} Canvas. - */ - ReprojTile.prototype.getImage = function getImage () { - return this.canvas_; - }; - - /** - * @private - */ - ReprojTile.prototype.reproject_ = function reproject_ () { - var sources = []; - this.sourceTiles_.forEach(function(tile, i, arr) { - if (tile && tile.getState() == TileState["a" /* default */].LOADED) { - sources.push({ - extent: this.sourceTileGrid_.getTileCoordExtent(tile.tileCoord), - image: tile.getImage() - }); - } - }.bind(this)); - this.sourceTiles_.length = 0; - - if (sources.length === 0) { - this.state = TileState["a" /* default */].ERROR; - } else { - var z = this.wrappedTileCoord_[0]; - var size = this.targetTileGrid_.getTileSize(z); - var width = typeof size === 'number' ? size : size[0]; - var height = typeof size === 'number' ? size : size[1]; - var targetResolution = this.targetTileGrid_.getResolution(z); - var sourceResolution = this.sourceTileGrid_.getResolution(this.sourceZ_); - - var targetExtent = this.targetTileGrid_.getTileCoordExtent( - this.wrappedTileCoord_); - this.canvas_ = reproj_render(width, height, this.pixelRatio_, - sourceResolution, this.sourceTileGrid_.getExtent(), - targetResolution, targetExtent, this.triangulation_, sources, - this.gutter_, this.renderEdges_); - - this.state = TileState["a" /* default */].LOADED; - } - this.changed(); - }; - - /** - * @inheritDoc - */ - ReprojTile.prototype.load = function load () { - if (this.state == TileState["a" /* default */].IDLE) { - this.state = TileState["a" /* default */].LOADING; - this.changed(); - - var leftToLoad = 0; - - this.sourcesListenerKeys_ = []; - this.sourceTiles_.forEach(function(tile, i, arr) { - var state = tile.getState(); - if (state == TileState["a" /* default */].IDLE || state == TileState["a" /* default */].LOADING) { - leftToLoad++; - - var sourceListenKey = Object(events["a" /* listen */])(tile, EventType["a" /* default */].CHANGE, - function(e) { - var state = tile.getState(); - if (state == TileState["a" /* default */].LOADED || - state == TileState["a" /* default */].ERROR || - state == TileState["a" /* default */].EMPTY) { - Object(events["e" /* unlistenByKey */])(sourceListenKey); - leftToLoad--; - if (leftToLoad === 0) { - this.unlistenSources_(); - this.reproject_(); - } - } - }, this); - this.sourcesListenerKeys_.push(sourceListenKey); - } - }.bind(this)); - - this.sourceTiles_.forEach(function(tile, i, arr) { - var state = tile.getState(); - if (state == TileState["a" /* default */].IDLE) { - tile.load(); - } - }); - - if (leftToLoad === 0) { - setTimeout(this.reproject_.bind(this), 0); - } - } - }; - - /** - * @private - */ - ReprojTile.prototype.unlistenSources_ = function unlistenSources_ () { - this.sourcesListenerKeys_.forEach(events["e" /* unlistenByKey */]); - this.sourcesListenerKeys_ = null; - }; - - return ReprojTile; -}(ol_Tile["a" /* default */])); - - -/* harmony default export */ var reproj_Tile = (Tile_ReprojTile); - -//# sourceMappingURL=Tile.js.map -// EXTERNAL MODULE: ./node_modules/ol/source/UrlTile.js + 4 modules -var source_UrlTile = __webpack_require__(71); - -// EXTERNAL MODULE: ./node_modules/ol/tilecoord.js -var tilecoord = __webpack_require__(26); - -// EXTERNAL MODULE: ./node_modules/ol/tilegrid.js + 1 modules -var ol_tilegrid = __webpack_require__(35); - -// CONCATENATED MODULE: ./node_modules/ol/source/TileImage.js -/** - * @module ol/source/TileImage - */ - - - - - - - - - - - - - -/** - * @typedef {Object} Options - * @property {import("./Source.js").AttributionLike} [attributions] Attributions. - * @property {boolean} [attributionsCollapsible=true] Attributions are collapsible. - * @property {number} [cacheSize=2048] Cache size. - * @property {null|string} [crossOrigin] The `crossOrigin` attribute for loaded images. Note that - * you must provide a `crossOrigin` value if you are using the WebGL renderer or if you want to - * access pixel data with the Canvas renderer. See - * https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail. - * @property {boolean} [opaque=true] Whether the layer is opaque. - * @property {import("../proj.js").ProjectionLike} projection Projection. - * @property {number} [reprojectionErrorThreshold=0.5] Maximum allowed reprojection error (in pixels). - * Higher values can increase reprojection performance, but decrease precision. - * @property {import("./State.js").default} [state] Source state. - * @property {typeof import("../ImageTile.js").default} [tileClass] Class used to instantiate image tiles. - * Default is {@link module:ol/ImageTile~ImageTile}. - * @property {import("../tilegrid/TileGrid.js").default} [tileGrid] Tile grid. - * @property {import("../Tile.js").LoadFunction} [tileLoadFunction] Optional function to load a tile given a URL. The default is - * ```js - * function(imageTile, src) { - * imageTile.getImage().src = src; - * }; - * ``` - * @property {number} [tilePixelRatio=1] The pixel ratio used by the tile service. For example, if the tile - * service advertizes 256px by 256px tiles but actually sends 512px - * by 512px images (for retina/hidpi devices) then `tilePixelRatio` - * should be set to `2`. - * @property {import("../Tile.js").UrlFunction} [tileUrlFunction] Optional function to get tile URL given a tile coordinate and the projection. - * @property {string} [url] URL template. Must include `{x}`, `{y}` or `{-y}`, and `{z}` placeholders. - * A `{?-?}` template pattern, for example `subdomain{a-f}.domain.com`, may be - * used instead of defining each one separately in the `urls` option. - * @property {Array} [urls] An array of URL templates. - * @property {boolean} [wrapX] Whether to wrap the world horizontally. The default, is to - * request out-of-bounds tiles from the server. When set to `false`, only one - * world will be rendered. When set to `true`, tiles will be requested for one - * world only, but they will be wrapped horizontally to render multiple worlds. - * @property {number} [transition] Duration of the opacity transition for rendering. - * To disable the opacity transition, pass `transition: 0`. - * @property {string} [key] Optional tile key for proper cache fetching - */ - - -/** - * @classdesc - * Base class for sources providing images divided into a tile grid. - * - * @fires import("./Tile.js").TileSourceEvent - * @api - */ -var TileImage_TileImage = /*@__PURE__*/(function (UrlTile) { - function TileImage(options) { - - UrlTile.call(this, { - attributions: options.attributions, - cacheSize: options.cacheSize, - opaque: options.opaque, - projection: options.projection, - state: options.state, - tileGrid: options.tileGrid, - tileLoadFunction: options.tileLoadFunction ? - options.tileLoadFunction : defaultTileLoadFunction, - tilePixelRatio: options.tilePixelRatio, - tileUrlFunction: options.tileUrlFunction, - url: options.url, - urls: options.urls, - wrapX: options.wrapX, - transition: options.transition, - key: options.key, - attributionsCollapsible: options.attributionsCollapsible - }); - - /** - * @protected - * @type {?string} - */ - this.crossOrigin = - options.crossOrigin !== undefined ? options.crossOrigin : null; - - /** - * @protected - * @type {typeof ImageTile} - */ - this.tileClass = options.tileClass !== undefined ? - options.tileClass : ol_ImageTile; - - /** - * @protected - * @type {!Object} - */ - this.tileCacheForProjection = {}; - - /** - * @protected - * @type {!Object} - */ - this.tileGridForProjection = {}; - - /** - * @private - * @type {number|undefined} - */ - this.reprojectionErrorThreshold_ = options.reprojectionErrorThreshold; - - /** - * @private - * @type {boolean} - */ - this.renderReprojectionEdges_ = false; - } - - if ( UrlTile ) TileImage.__proto__ = UrlTile; - TileImage.prototype = Object.create( UrlTile && UrlTile.prototype ); - TileImage.prototype.constructor = TileImage; - - /** - * @inheritDoc - */ - TileImage.prototype.canExpireCache = function canExpireCache () { - if (!common["a" /* ENABLE_RASTER_REPROJECTION */]) { - return UrlTile.prototype.canExpireCache.call(this); - } - if (this.tileCache.canExpireCache()) { - return true; - } else { - for (var key in this.tileCacheForProjection) { - if (this.tileCacheForProjection[key].canExpireCache()) { - return true; - } - } - } - return false; - }; - - /** - * @inheritDoc - */ - TileImage.prototype.expireCache = function expireCache (projection, usedTiles) { - if (!common["a" /* ENABLE_RASTER_REPROJECTION */]) { - UrlTile.prototype.expireCache.call(this, projection, usedTiles); - return; - } - var usedTileCache = this.getTileCacheForProjection(projection); - - this.tileCache.expireCache(this.tileCache == usedTileCache ? usedTiles : {}); - for (var id in this.tileCacheForProjection) { - var tileCache = this.tileCacheForProjection[id]; - tileCache.expireCache(tileCache == usedTileCache ? usedTiles : {}); - } - }; - - /** - * @inheritDoc - */ - TileImage.prototype.getGutterForProjection = function getGutterForProjection (projection) { - if (common["a" /* ENABLE_RASTER_REPROJECTION */] && - this.getProjection() && projection && !Object(ol_proj["c" /* equivalent */])(this.getProjection(), projection)) { - return 0; - } else { - return this.getGutter(); - } - }; - - /** - * @return {number} Gutter. - */ - TileImage.prototype.getGutter = function getGutter () { - return 0; - }; - - /** - * @inheritDoc - */ - TileImage.prototype.getOpaque = function getOpaque (projection) { - if (common["a" /* ENABLE_RASTER_REPROJECTION */] && - this.getProjection() && projection && !Object(ol_proj["c" /* equivalent */])(this.getProjection(), projection)) { - return false; - } else { - return UrlTile.prototype.getOpaque.call(this, projection); - } - }; - - /** - * @inheritDoc - */ - TileImage.prototype.getTileGridForProjection = function getTileGridForProjection$1 (projection) { - if (!common["a" /* ENABLE_RASTER_REPROJECTION */]) { - return UrlTile.prototype.getTileGridForProjection.call(this, projection); - } - var thisProj = this.getProjection(); - if (this.tileGrid && (!thisProj || Object(ol_proj["c" /* equivalent */])(thisProj, projection))) { - return this.tileGrid; - } else { - var projKey = Object(util["c" /* getUid */])(projection); - if (!(projKey in this.tileGridForProjection)) { - this.tileGridForProjection[projKey] = Object(ol_tilegrid["d" /* getForProjection */])(projection); - } - return ( - /** @type {!import("../tilegrid/TileGrid.js").default} */ (this.tileGridForProjection[projKey]) - ); - } - }; - - /** - * @inheritDoc - */ - TileImage.prototype.getTileCacheForProjection = function getTileCacheForProjection (projection) { - if (!common["a" /* ENABLE_RASTER_REPROJECTION */]) { - return UrlTile.prototype.getTileCacheForProjection.call(this, projection); - } - var thisProj = this.getProjection(); if (!thisProj || Object(ol_proj["c" /* equivalent */])(thisProj, projection)) { - return this.tileCache; - } else { - var projKey = Object(util["c" /* getUid */])(projection); - if (!(projKey in this.tileCacheForProjection)) { - this.tileCacheForProjection[projKey] = new TileCache["a" /* default */](this.tileCache.highWaterMark); - } - return this.tileCacheForProjection[projKey]; - } - }; - - /** - * @param {number} z Tile coordinate z. - * @param {number} x Tile coordinate x. - * @param {number} y Tile coordinate y. - * @param {number} pixelRatio Pixel ratio. - * @param {import("../proj/Projection.js").default} projection Projection. - * @param {string} key The key set on the tile. - * @return {!import("../Tile.js").default} Tile. - * @private - */ - TileImage.prototype.createTile_ = function createTile_ (z, x, y, pixelRatio, projection, key) { - var tileCoord = [z, x, y]; - var urlTileCoord = this.getTileCoordForTileUrlFunction( - tileCoord, projection); - var tileUrl = urlTileCoord ? - this.tileUrlFunction(urlTileCoord, pixelRatio, projection) : undefined; - var tile = new this.tileClass( - tileCoord, - tileUrl !== undefined ? TileState["a" /* default */].IDLE : TileState["a" /* default */].EMPTY, - tileUrl !== undefined ? tileUrl : '', - this.crossOrigin, - this.tileLoadFunction, - this.tileOptions); - tile.key = key; - Object(events["a" /* listen */])(tile, EventType["a" /* default */].CHANGE, - this.handleTileChange, this); - return tile; - }; - - /** - * @inheritDoc - */ - TileImage.prototype.getTile = function getTile (z, x, y, pixelRatio, projection) { - var sourceProjection = /** @type {!import("../proj/Projection.js").default} */ (this.getProjection()); - if (!common["a" /* ENABLE_RASTER_REPROJECTION */] || - !sourceProjection || !projection || Object(ol_proj["c" /* equivalent */])(sourceProjection, projection)) { - return this.getTileInternal(z, x, y, pixelRatio, sourceProjection || projection); - } else { - var cache = this.getTileCacheForProjection(projection); - var tileCoord = [z, x, y]; - var tile; - var tileCoordKey = Object(tilecoord["c" /* getKey */])(tileCoord); - if (cache.containsKey(tileCoordKey)) { - tile = /** @type {!import("../Tile.js").default} */ (cache.get(tileCoordKey)); - } - var key = this.getKey(); - if (tile && tile.key == key) { - return tile; - } else { - var sourceTileGrid = this.getTileGridForProjection(sourceProjection); - var targetTileGrid = this.getTileGridForProjection(projection); - var wrappedTileCoord = - this.getTileCoordForTileUrlFunction(tileCoord, projection); - var newTile = new reproj_Tile( - sourceProjection, sourceTileGrid, - projection, targetTileGrid, - tileCoord, wrappedTileCoord, this.getTilePixelRatio(pixelRatio), - this.getGutter(), - function(z, x, y, pixelRatio) { - return this.getTileInternal(z, x, y, pixelRatio, sourceProjection); - }.bind(this), this.reprojectionErrorThreshold_, - this.renderReprojectionEdges_); - newTile.key = key; - - if (tile) { - newTile.interimTile = tile; - newTile.refreshInterimChain(); - cache.replace(tileCoordKey, newTile); - } else { - cache.set(tileCoordKey, newTile); - } - return newTile; - } - } - }; - - /** - * @param {number} z Tile coordinate z. - * @param {number} x Tile coordinate x. - * @param {number} y Tile coordinate y. - * @param {number} pixelRatio Pixel ratio. - * @param {!import("../proj/Projection.js").default} projection Projection. - * @return {!import("../Tile.js").default} Tile. - * @protected - */ - TileImage.prototype.getTileInternal = function getTileInternal (z, x, y, pixelRatio, projection) { - var tile = null; - var tileCoordKey = Object(tilecoord["d" /* getKeyZXY */])(z, x, y); - var key = this.getKey(); - if (!this.tileCache.containsKey(tileCoordKey)) { - tile = this.createTile_(z, x, y, pixelRatio, projection, key); - this.tileCache.set(tileCoordKey, tile); - } else { - tile = this.tileCache.get(tileCoordKey); - if (tile.key != key) { - // The source's params changed. If the tile has an interim tile and if we - // can use it then we use it. Otherwise we create a new tile. In both - // cases we attempt to assign an interim tile to the new tile. - var interimTile = tile; - tile = this.createTile_(z, x, y, pixelRatio, projection, key); - - //make the new tile the head of the list, - if (interimTile.getState() == TileState["a" /* default */].IDLE) { - //the old tile hasn't begun loading yet, and is now outdated, so we can simply discard it - tile.interimTile = interimTile.interimTile; - } else { - tile.interimTile = interimTile; - } - tile.refreshInterimChain(); - this.tileCache.replace(tileCoordKey, tile); - } - } - return tile; - }; - - /** - * Sets whether to render reprojection edges or not (usually for debugging). - * @param {boolean} render Render the edges. - * @api - */ - TileImage.prototype.setRenderReprojectionEdges = function setRenderReprojectionEdges (render) { - if (!common["a" /* ENABLE_RASTER_REPROJECTION */] || - this.renderReprojectionEdges_ == render) { - return; - } - this.renderReprojectionEdges_ = render; - for (var id in this.tileCacheForProjection) { - this.tileCacheForProjection[id].clear(); - } - this.changed(); - }; - - /** - * Sets the tile grid to use when reprojecting the tiles to the given - * projection instead of the default tile grid for the projection. - * - * This can be useful when the default tile grid cannot be created - * (e.g. projection has no extent defined) or - * for optimization reasons (custom tile size, resolutions, ...). - * - * @param {import("../proj.js").ProjectionLike} projection Projection. - * @param {import("../tilegrid/TileGrid.js").default} tilegrid Tile grid to use for the projection. - * @api - */ - TileImage.prototype.setTileGridForProjection = function setTileGridForProjection (projection, tilegrid) { - if (common["a" /* ENABLE_RASTER_REPROJECTION */]) { - var proj = Object(ol_proj["e" /* get */])(projection); - if (proj) { - var projKey = Object(util["c" /* getUid */])(proj); - if (!(projKey in this.tileGridForProjection)) { - this.tileGridForProjection[projKey] = tilegrid; - } - } - } - }; - - return TileImage; -}(source_UrlTile["a" /* default */])); - - -/** - * @param {ImageTile} imageTile Image tile. - * @param {string} src Source. - */ -function defaultTileLoadFunction(imageTile, src) { - /** @type {HTMLImageElement|HTMLVideoElement} */ (imageTile.getImage()).src = src; -} - -/* harmony default export */ var source_TileImage = (TileImage_TileImage); - -//# sourceMappingURL=TileImage.js.map -// CONCATENATED MODULE: ./node_modules/ol/source/XYZ.js -/** - * @module ol/source/XYZ - */ - - - - -/** - * @typedef {Object} Options - * @property {import("./Source.js").AttributionLike} [attributions] Attributions. - * @property {boolean} [attributionsCollapsible=true] Attributions are collapsible. - * @property {number} [cacheSize=2048] Cache size. - * @property {null|string} [crossOrigin] The `crossOrigin` attribute for loaded images. Note that - * you must provide a `crossOrigin` value if you are using the WebGL renderer or if you want to - * access pixel data with the Canvas renderer. See - * https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail. - * @property {boolean} [opaque=true] Whether the layer is opaque. - * @property {import("../proj.js").ProjectionLike} [projection='EPSG:3857'] Projection. - * @property {number} [reprojectionErrorThreshold=0.5] Maximum allowed reprojection error (in pixels). - * Higher values can increase reprojection performance, but decrease precision. - * @property {number} [maxZoom=18] Optional max zoom level. - * @property {number} [minZoom=0] Optional min zoom level. - * @property {import("../tilegrid/TileGrid.js").default} [tileGrid] Tile grid. - * @property {import("../Tile.js").LoadFunction} [tileLoadFunction] Optional function to load a tile given a URL. The default is - * ```js - * function(imageTile, src) { - * imageTile.getImage().src = src; - * }; - * ``` - * @property {number} [tilePixelRatio=1] The pixel ratio used by the tile service. - * For example, if the tile service advertizes 256px by 256px tiles but actually sends 512px - * by 512px images (for retina/hidpi devices) then `tilePixelRatio` - * should be set to `2`. - * @property {number|import("../size.js").Size} [tileSize=[256, 256]] The tile size used by the tile service. - * @property {import("../Tile.js").UrlFunction} [tileUrlFunction] Optional function to get - * tile URL given a tile coordinate and the projection. - * Required if url or urls are not provided. - * @property {string} [url] URL template. Must include `{x}`, `{y}` or `{-y}`, - * and `{z}` placeholders. A `{?-?}` template pattern, for example `subdomain{a-f}.domain.com`, - * may be used instead of defining each one separately in the `urls` option. - * @property {Array} [urls] An array of URL templates. - * @property {boolean} [wrapX=true] Whether to wrap the world horizontally. - * @property {number} [transition] Duration of the opacity transition for rendering. - * To disable the opacity transition, pass `transition: 0`. - */ - - -/** - * @classdesc - * Layer source for tile data with URLs in a set XYZ format that are - * defined in a URL template. By default, this follows the widely-used - * Google grid where `x` 0 and `y` 0 are in the top left. Grids like - * TMS where `x` 0 and `y` 0 are in the bottom left can be used by - * using the `{-y}` placeholder in the URL template, so long as the - * source does not have a custom tile grid. In this case, - * {@link module:ol/source/TileImage} can be used with a `tileUrlFunction` - * such as: - * - * tileUrlFunction: function(coordinate) { - * return 'http://mapserver.com/' + coordinate[0] + '/' + - * coordinate[1] + '/' + coordinate[2] + '.png'; - * } - * - * @api - */ -var XYZ_XYZ = /*@__PURE__*/(function (TileImage) { - function XYZ(opt_options) { - var options = opt_options || {}; - var projection = options.projection !== undefined ? - options.projection : 'EPSG:3857'; - - var tileGrid = options.tileGrid !== undefined ? options.tileGrid : - Object(ol_tilegrid["b" /* createXYZ */])({ - extent: Object(ol_tilegrid["c" /* extentFromProjection */])(projection), - maxZoom: options.maxZoom, - minZoom: options.minZoom, - tileSize: options.tileSize - }); - - TileImage.call(this, { - attributions: options.attributions, - cacheSize: options.cacheSize, - crossOrigin: options.crossOrigin, - opaque: options.opaque, - projection: projection, - reprojectionErrorThreshold: options.reprojectionErrorThreshold, - tileGrid: tileGrid, - tileLoadFunction: options.tileLoadFunction, - tilePixelRatio: options.tilePixelRatio, - tileUrlFunction: options.tileUrlFunction, - url: options.url, - urls: options.urls, - wrapX: options.wrapX !== undefined ? options.wrapX : true, - transition: options.transition, - attributionsCollapsible: options.attributionsCollapsible - }); - - } - - if ( TileImage ) XYZ.__proto__ = TileImage; - XYZ.prototype = Object.create( TileImage && TileImage.prototype ); - XYZ.prototype.constructor = XYZ; - - return XYZ; -}(source_TileImage)); - -/* harmony default export */ var source_XYZ = __webpack_exports__["a"] = (XYZ_XYZ); - -//# sourceMappingURL=XYZ.js.map - -/***/ }), -/* 81 */ +/* 88 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -37590,7 +38277,7 @@ var TileState = __webpack_require__(3); var util = __webpack_require__(1); // EXTERNAL MODULE: ./node_modules/ol/Tile.js -var ol_Tile = __webpack_require__(48); +var ol_Tile = __webpack_require__(51); // EXTERNAL MODULE: ./node_modules/ol/dom.js var dom = __webpack_require__(14); @@ -37608,7 +38295,7 @@ var EventType = __webpack_require__(5); var functions = __webpack_require__(15); // EXTERNAL MODULE: ./node_modules/ol/format/FormatType.js -var FormatType = __webpack_require__(52); +var FormatType = __webpack_require__(55); // CONCATENATED MODULE: ./node_modules/ol/featureloader.js /** @@ -38301,13 +38988,13 @@ var VectorTile_VectorTile = /*@__PURE__*/(function (Tile) { var size = __webpack_require__(28); // EXTERNAL MODULE: ./node_modules/ol/source/UrlTile.js + 4 modules -var source_UrlTile = __webpack_require__(71); +var source_UrlTile = __webpack_require__(75); // EXTERNAL MODULE: ./node_modules/ol/tilecoord.js var tilecoord = __webpack_require__(26); // EXTERNAL MODULE: ./node_modules/ol/tilegrid.js + 1 modules -var tilegrid = __webpack_require__(35); +var tilegrid = __webpack_require__(39); // CONCATENATED MODULE: ./node_modules/ol/source/VectorTile.js /** @@ -38535,41 +39222,43 @@ var source_VectorTile_VectorTile = /*@__PURE__*/(function (UrlTile) { //# sourceMappingURL=VectorTile.js.map /***/ }), -/* 82 */, -/* 83 */, -/* 84 */, -/* 85 */, -/* 86 */, -/* 87 */, -/* 88 */, /* 89 */, /* 90 */, -/* 91 */ +/* 91 */, +/* 92 */, +/* 93 */, +/* 94 */, +/* 95 */, +/* 96 */, +/* 97 */, +/* 98 */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(92); -module.exports = __webpack_require__(95); +__webpack_require__(99); +module.exports = __webpack_require__(102); /***/ }), -/* 92 */ +/* 99 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -/* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var ol_Map_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78); -/* harmony import */ var ol_View_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(72); -/* harmony import */ var ol_loadingstrategy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(74); -/* harmony import */ var ol_layer_Tile__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(76); -/* harmony import */ var ol_source_XYZ__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(80); -/* harmony import */ var ol_proj_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(13); -/* harmony import */ var ol_layer_VectorTile_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(77); -/* harmony import */ var ol_source_VectorTile_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(81); -/* harmony import */ var ol_format_OSMXML_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(79); -/* harmony import */ var ol_style_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(47); -/* harmony import */ var ol_style_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(45); -/* harmony import */ var ol_style_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(53); -/* harmony import */ var ol_style_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(73); +/* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var ol_Map_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86); +/* harmony import */ var ol_View_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76); +/* harmony import */ var ol_control_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(81); +/* harmony import */ var ol_loadingstrategy__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(78); +/* harmony import */ var ol_layer_Tile__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(83); +/* harmony import */ var ol_source_OSM_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(84); +/* harmony import */ var ol_proj_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(13); +/* harmony import */ var ol_layer_VectorTile_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(85); +/* harmony import */ var ol_source_VectorTile_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(88); +/* harmony import */ var ol_format_OSMXML_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(87); +/* harmony import */ var ol_style_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(49); +/* harmony import */ var ol_style_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(36); +/* harmony import */ var ol_style_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(35); +/* harmony import */ var ol_style_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(82); +/* harmony import */ var ol_style_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(77); @@ -38586,73 +39275,108 @@ __webpack_require__.r(__webpack_exports__); -const coordinate_cccamp19 = Object(ol_proj_js__WEBPACK_IMPORTED_MODULE_5__[/* fromLonLat */ "d"])([13.30735, 53.03127]); + +const coordinate_cccamp19 = Object(ol_proj_js__WEBPACK_IMPORTED_MODULE_6__[/* fromLonLat */ "d"])([13.30735, 53.03127]); var styles = { 'amenity': { - 'parking': new ol_style_js__WEBPACK_IMPORTED_MODULE_9__[/* default */ "b"]({ - stroke: new ol_style_js__WEBPACK_IMPORTED_MODULE_10__[/* default */ "a"]({ + 'parking': new ol_style_js__WEBPACK_IMPORTED_MODULE_10__[/* default */ "b"]({ + stroke: new ol_style_js__WEBPACK_IMPORTED_MODULE_11__[/* default */ "a"]({ color: 'rgba(170, 170, 170, 1.0)', width: 1 }), - fill: new ol_style_js__WEBPACK_IMPORTED_MODULE_11__[/* default */ "a"]({ + fill: new ol_style_js__WEBPACK_IMPORTED_MODULE_12__[/* default */ "a"]({ color: 'rgba(170, 170, 170, 0.3)' }) }) }, 'building': { - '.*': new ol_style_js__WEBPACK_IMPORTED_MODULE_9__[/* default */ "b"]({ + '.*': new ol_style_js__WEBPACK_IMPORTED_MODULE_10__[/* default */ "b"]({ zIndex: 100, - stroke: new ol_style_js__WEBPACK_IMPORTED_MODULE_10__[/* default */ "a"]({ + stroke: new ol_style_js__WEBPACK_IMPORTED_MODULE_11__[/* default */ "a"]({ color: 'rgba(246, 99, 79, 1.0)', width: 1 }), - fill: new ol_style_js__WEBPACK_IMPORTED_MODULE_11__[/* default */ "a"]({ + fill: new ol_style_js__WEBPACK_IMPORTED_MODULE_12__[/* default */ "a"]({ color: 'rgba(246, 99, 79, 0.3)' + }), + text: new ol_style_js__WEBPACK_IMPORTED_MODULE_13__[/* default */ "a"]({ + font: '12px Calibri,sans-serif', + fill: new ol_style_js__WEBPACK_IMPORTED_MODULE_12__[/* default */ "a"]({ + color: '#000' + }), + stroke: new ol_style_js__WEBPACK_IMPORTED_MODULE_11__[/* default */ "a"]({ + color: '#fff', + width: 3 + }) }) }) }, 'highway': { - 'service': new ol_style_js__WEBPACK_IMPORTED_MODULE_9__[/* default */ "b"]({ - stroke: new ol_style_js__WEBPACK_IMPORTED_MODULE_10__[/* default */ "a"]({ + 'service': new ol_style_js__WEBPACK_IMPORTED_MODULE_10__[/* default */ "b"]({ + stroke: new ol_style_js__WEBPACK_IMPORTED_MODULE_11__[/* default */ "a"]({ color: 'rgba(255, 255, 255, 1.0)', width: 2 }) }), - '.*': new ol_style_js__WEBPACK_IMPORTED_MODULE_9__[/* default */ "b"]({ - stroke: new ol_style_js__WEBPACK_IMPORTED_MODULE_10__[/* default */ "a"]({ + '.*': new ol_style_js__WEBPACK_IMPORTED_MODULE_10__[/* default */ "b"]({ + stroke: new ol_style_js__WEBPACK_IMPORTED_MODULE_11__[/* default */ "a"]({ color: 'rgba(255, 255, 255, 1.0)', width: 3 }) }) }, 'landuse': { - 'forest|grass|allotments': new ol_style_js__WEBPACK_IMPORTED_MODULE_9__[/* default */ "b"]({ - stroke: new ol_style_js__WEBPACK_IMPORTED_MODULE_10__[/* default */ "a"]({ - color: 'rgba(140, 208, 95, 1.0)', + 'forest|grass|allotments': new ol_style_js__WEBPACK_IMPORTED_MODULE_10__[/* default */ "b"]({ + stroke: new ol_style_js__WEBPACK_IMPORTED_MODULE_11__[/* default */ "a"]({ + color: 'rgba(0, 0, 170, 1.0)', width: 1 }), - fill: new ol_style_js__WEBPACK_IMPORTED_MODULE_11__[/* default */ "a"]({ - color: 'rgba(140, 208, 95, 0.3)' + fill: new ol_style_js__WEBPACK_IMPORTED_MODULE_12__[/* default */ "a"]({ + color: 'rgba(0, 0, 170, 0.3)' + }), + text: new ol_style_js__WEBPACK_IMPORTED_MODULE_13__[/* default */ "a"]({ + font: '12px Calibri,sans-serif', + fill: new ol_style_js__WEBPACK_IMPORTED_MODULE_12__[/* default */ "a"]({ + color: '#000' + }), + stroke: new ol_style_js__WEBPACK_IMPORTED_MODULE_11__[/* default */ "a"]({ + color: '#fff', + width: 3 + }) }) }) }, 'natural': { - 'tree': new ol_style_js__WEBPACK_IMPORTED_MODULE_9__[/* default */ "b"]({ - image: new ol_style_js__WEBPACK_IMPORTED_MODULE_12__[/* default */ "a"]({ + 'tree': new ol_style_js__WEBPACK_IMPORTED_MODULE_10__[/* default */ "b"]({ + image: new ol_style_js__WEBPACK_IMPORTED_MODULE_14__[/* default */ "a"]({ radius: 2, - fill: new ol_style_js__WEBPACK_IMPORTED_MODULE_11__[/* default */ "a"]({ + fill: new ol_style_js__WEBPACK_IMPORTED_MODULE_12__[/* default */ "a"]({ color: 'rgba(140, 208, 95, 1.0)' }), stroke: null }) }) + }, + 'name': { + '.*': new ol_style_js__WEBPACK_IMPORTED_MODULE_10__[/* default */ "b"]({ + text: new ol_style_js__WEBPACK_IMPORTED_MODULE_13__[/* default */ "a"]({ + font: '12px Calibri,sans-serif', + fill: new ol_style_js__WEBPACK_IMPORTED_MODULE_12__[/* default */ "a"]({ + color: '#000' + }), + stroke: new ol_style_js__WEBPACK_IMPORTED_MODULE_11__[/* default */ "a"]({ + color: '#fff', + width: 3 + }) + }) + }) } }; -var vectorSource = new ol_source_VectorTile_js__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"]({ - format: new ol_format_OSMXML_js__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"](), +var vectorSource = new ol_source_VectorTile_js__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"]({ + format: new ol_format_OSMXML_js__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"](), url: 'https://seafile.milliways.info/f/688170149668429f9598/?dl=1', /*loader: function(extent, resolution, projection) { var proj = projection.getCode(); @@ -38673,19 +39397,20 @@ var vectorSource = new ol_source_VectorTile_js__WEBPACK_IMPORTED_MODULE_7__[/* d } xhr.send(); },*/ - strategy: ol_loadingstrategy__WEBPACK_IMPORTED_MODULE_2__[/* all */ "a"] + strategy: ol_loadingstrategy__WEBPACK_IMPORTED_MODULE_3__[/* all */ "a"] }) var map = new ol_Map_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]({ target: 'map', + controls: Object(ol_control_js__WEBPACK_IMPORTED_MODULE_2__[/* defaults */ "a"])().extend([ + ]), + numZoomLevels: 19, + units: 'm', layers: [ - new ol_layer_Tile__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"]({ - source: new ol_source_XYZ__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"]({ - url: 'https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png' - }) - //source: OSM() + new ol_layer_Tile__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"]({ + source: new ol_source_OSM_js__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"]() }), - new ol_layer_VectorTile_js__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"]({ + new ol_layer_VectorTile_js__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"]({ source: vectorSource, style: function(feature) { for (var key in styles) { @@ -38693,7 +39418,15 @@ var map = new ol_Map_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]({ if (value !== undefined) { for (var regexp in styles[key]) { if (new RegExp(regexp).test(value)) { - return styles[key][regexp]; + var style = styles[key][regexp]; + if(feature.get('name') !== undefined ) { + var text = feature.get('name'); + if(feature.get('size') !== undefined) { + text += '\n' + feature.get('size'); + } + style.getText().setText(text); + } + return style; } } } @@ -38716,10 +39449,10 @@ module.export= { mapa: map } -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(93)(module))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(100)(module))) /***/ }), -/* 93 */ +/* 100 */ /***/ (function(module, exports) { module.exports = function(originalModule) { @@ -38749,7 +39482,7 @@ module.exports = function(originalModule) { /***/ }), -/* 94 */ +/* 101 */ /***/ (function(module, exports, __webpack_require__) { (function (global, factory) { @@ -38817,7 +39550,7 @@ return quickselect; /***/ }), -/* 95 */ +/* 102 */ /***/ (function(module, exports, __webpack_require__) { // extracted by mini-css-extract-plugin diff --git a/dist/main.js.map b/dist/main.js.map index 30235ae..0563bbd 100644 --- a/dist/main.js.map +++ b/dist/main.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/ol/extent.js","webpack:///./node_modules/ol/util.js","webpack:///./node_modules/ol/events.js","webpack:///./node_modules/ol/TileState.js","webpack:///./node_modules/ol/render/canvas.js","webpack:///./node_modules/ol/events/EventType.js","webpack:///./node_modules/ol/geom/GeometryType.js","webpack:///./node_modules/ol/math.js","webpack:///./node_modules/ol/transform.js","webpack:///./node_modules/ol/obj.js","webpack:///./node_modules/ol/asserts.js","webpack:///./node_modules/ol/array.js","webpack:///./node_modules/ol/ViewHint.js","webpack:///./node_modules/ol/proj/Projection.js","webpack:///./node_modules/ol/proj/epsg3857.js","webpack:///./node_modules/ol/proj/epsg4326.js","webpack:///./node_modules/ol/proj/projections.js","webpack:///./node_modules/ol/proj/transforms.js","webpack:///./node_modules/ol/proj.js","webpack:///./node_modules/ol/dom.js","webpack:///./node_modules/ol/functions.js","webpack:///./node_modules/ol/Object.js","webpack:///./node_modules/ol/has.js","webpack:///./node_modules/ol/geom/GeometryLayout.js","webpack:///./node_modules/ol/layer/Property.js","webpack:///./node_modules/ol/ImageState.js","webpack:///./node_modules/ol/easing.js","webpack:///./node_modules/ol/extent/Relationship.js","webpack:///./node_modules/ol/proj/Units.js","webpack:///./node_modules/ol/css.js","webpack:///./node_modules/ol/events/Event.js","webpack:///./node_modules/ol/tilecoord.js","webpack:///./node_modules/ol/LayerType.js","webpack:///./node_modules/ol/size.js","webpack:///./node_modules/ol/geom/flat/transform.js","webpack:///./node_modules/ol/render/EventType.js","webpack:///./node_modules/ol/colorlike.js","webpack:///./node_modules/ol/reproj/common.js","webpack:///./node_modules/ol/events/Target.js","webpack:///./node_modules/ol/color.js","webpack:///./node_modules/ol/tilegrid/TileGrid.js","webpack:///./node_modules/ol/tilegrid.js","webpack:///./node_modules/ol/string.js","webpack:///./node_modules/ol/coordinate.js","webpack:///./node_modules/ol/layer/Layer.js","webpack:///./node_modules/ol/layer/VectorTileRenderType.js","webpack:///./node_modules/ol/source/State.js","webpack:///./node_modules/ol/geom/Geometry.js","webpack:///./node_modules/ol/geom/SimpleGeometry.js","webpack:///./node_modules/ol/geom/flat/inflate.js","webpack:///./node_modules/ol/geom/flat/contains.js","webpack:///./node_modules/ol/rotationconstraint.js","webpack:///./node_modules/ol/layer/TileProperty.js","webpack:///./node_modules/ol/style/Stroke.js","webpack:///./node_modules/ol/geom/flat/closest.js","webpack:///./node_modules/ol/style/Style.js","webpack:///./node_modules/ol/Tile.js","webpack:///./node_modules/ol/geom/flat/deflate.js","webpack:///./node_modules/ol/geom/flat/simplify.js","webpack:///./node_modules/ol/ObjectEventType.js","webpack:///./node_modules/ol/format/FormatType.js","webpack:///./node_modules/ol/style/Fill.js","webpack:///./node_modules/ol/tilegrid/common.js","webpack:///./node_modules/ol/geom/flat/area.js","webpack:///./node_modules/ol/geom/LinearRing.js","webpack:///./node_modules/ol/geom/flat/interiorpoint.js","webpack:///./node_modules/ol/geom/flat/reverse.js","webpack:///./node_modules/ol/geom/flat/orient.js","webpack:///./node_modules/ol/geom/Polygon.js","webpack:///./node_modules/ol/extent/Corner.js","webpack:///./node_modules/ol/TileRange.js","webpack:///./node_modules/ol/Disposable.js","webpack:///./node_modules/ol/sphere.js","webpack:///./node_modules/ol/AssertionError.js","webpack:///./node_modules/ol/structs/LRUCache.js","webpack:///./node_modules/ol/TileCache.js","webpack:///./node_modules/ol/Observable.js","webpack:///./node_modules/ol/geom/Point.js","webpack:///./node_modules/ol/geom/flat/intersectsextent.js","webpack:///./node_modules/ol/geom/flat/segments.js","webpack:///./node_modules/ol/geom/flat/length.js","webpack:///./node_modules/ol/layer/Base.js","webpack:///./node_modules/ol/layer/VectorRenderType.js","webpack:///./node_modules/rbush/index.js","webpack:///./node_modules/ol/tileurlfunction.js","webpack:///./node_modules/ol/source/Source.js","webpack:///./node_modules/ol/source/Tile.js","webpack:///./node_modules/ol/source/TileEventType.js","webpack:///./node_modules/ol/source/UrlTile.js","webpack:///./node_modules/ol/centerconstraint.js","webpack:///./node_modules/ol/resolutionconstraint.js","webpack:///./node_modules/ol/ViewProperty.js","webpack:///./node_modules/ol/View.js","webpack:///./node_modules/ol/style/Image.js","webpack:///./node_modules/ol/style/RegularShape.js","webpack:///./node_modules/ol/style/Circle.js","webpack:///./node_modules/ol/loadingstrategy.js","webpack:///./node_modules/ol/layer/Vector.js","webpack:///./node_modules/ol/layer/Tile.js","webpack:///./node_modules/ol/layer/VectorTile.js","webpack:///./node_modules/ol/CollectionEventType.js","webpack:///./node_modules/ol/Collection.js","webpack:///./node_modules/ol/MapEvent.js","webpack:///./node_modules/ol/MapBrowserEvent.js","webpack:///./node_modules/ol/MapBrowserEventType.js","webpack:///./node_modules/ol/MapBrowserPointerEvent.js","webpack:///./node_modules/ol/pointer/EventType.js","webpack:///./node_modules/ol/pointer/EventSource.js","webpack:///./node_modules/ol/pointer/MouseSource.js","webpack:///./node_modules/ol/pointer/MsSource.js","webpack:///./node_modules/ol/pointer/NativeSource.js","webpack:///./node_modules/ol/pointer/PointerEvent.js","webpack:///./node_modules/ol/pointer/TouchSource.js","webpack:///./node_modules/ol/pointer/PointerEventHandler.js","webpack:///./node_modules/ol/MapBrowserEventHandler.js","webpack:///./node_modules/ol/MapEventType.js","webpack:///./node_modules/ol/MapProperty.js","webpack:///./node_modules/ol/structs/PriorityQueue.js","webpack:///./node_modules/ol/TileQueue.js","webpack:///./node_modules/ol/layer/Group.js","webpack:///./node_modules/ol/PluggableMap.js","webpack:///./node_modules/ol/control/Control.js","webpack:///./node_modules/ol/control/Attribution.js","webpack:///./node_modules/ol/control/Rotate.js","webpack:///./node_modules/ol/control/Zoom.js","webpack:///./node_modules/ol/control/util.js","webpack:///./node_modules/ol/Kinetic.js","webpack:///./node_modules/ol/interaction/Property.js","webpack:///./node_modules/ol/interaction/Interaction.js","webpack:///./node_modules/ol/interaction/DoubleClickZoom.js","webpack:///./node_modules/ol/events/condition.js","webpack:///./node_modules/ol/interaction/Pointer.js","webpack:///./node_modules/ol/interaction/DragPan.js","webpack:///./node_modules/ol/interaction/DragRotate.js","webpack:///./node_modules/ol/render/Box.js","webpack:///./node_modules/ol/interaction/DragBox.js","webpack:///./node_modules/ol/interaction/DragZoom.js","webpack:///./node_modules/ol/events/KeyCode.js","webpack:///./node_modules/ol/interaction/KeyboardPan.js","webpack:///./node_modules/ol/interaction/KeyboardZoom.js","webpack:///./node_modules/ol/interaction/MouseWheelZoom.js","webpack:///./node_modules/ol/interaction/PinchRotate.js","webpack:///./node_modules/ol/interaction/PinchZoom.js","webpack:///./node_modules/ol/interaction.js","webpack:///./node_modules/ol/ImageBase.js","webpack:///./node_modules/ol/ImageCanvas.js","webpack:///./node_modules/ol/render/Event.js","webpack:///./node_modules/ol/render/VectorContext.js","webpack:///./node_modules/ol/render/canvas/Immediate.js","webpack:///./node_modules/ol/style/IconImageCache.js","webpack:///./node_modules/ol/renderer/Map.js","webpack:///./node_modules/ol/renderer/canvas/Map.js","webpack:///./node_modules/ol/renderer/Layer.js","webpack:///./node_modules/ol/renderer/canvas/Layer.js","webpack:///./node_modules/ol/renderer/canvas/IntermediateCanvas.js","webpack:///./node_modules/ol/renderer/canvas/ImageLayer.js","webpack:///./node_modules/ol/renderer/canvas/TileLayer.js","webpack:///./node_modules/ol/render/ReplayGroup.js","webpack:///./node_modules/ol/render/ReplayType.js","webpack:///./node_modules/ol/geom/flat/textpath.js","webpack:///./node_modules/ol/render/canvas/Instruction.js","webpack:///./node_modules/ol/render/replay.js","webpack:///./node_modules/ol/render/canvas/Replay.js","webpack:///./node_modules/ol/render/canvas/ImageReplay.js","webpack:///./node_modules/ol/render/canvas/LineStringReplay.js","webpack:///./node_modules/ol/render/canvas/PolygonReplay.js","webpack:///./node_modules/ol/geom/flat/straightchunk.js","webpack:///./node_modules/ol/style/TextPlacement.js","webpack:///./node_modules/ol/render/canvas/TextReplay.js","webpack:///./node_modules/ol/render/canvas/ReplayGroup.js","webpack:///./node_modules/ol/renderer/vector.js","webpack:///./node_modules/ol/renderer/canvas/VectorLayer.js","webpack:///./node_modules/ol/renderer/canvas/VectorTileLayer.js","webpack:///./node_modules/ol/Map.js","webpack:///./node_modules/ol/Feature.js","webpack:///./node_modules/ol/format/Feature.js","webpack:///./node_modules/ol/xml.js","webpack:///./node_modules/ol/format/XMLFeature.js","webpack:///./node_modules/ol/geom/flat/interpolate.js","webpack:///./node_modules/ol/geom/LineString.js","webpack:///./node_modules/ol/format/OSMXML.js","webpack:///./node_modules/ol/ImageTile.js","webpack:///./node_modules/ol/reproj.js","webpack:///./node_modules/ol/reproj/Triangulation.js","webpack:///./node_modules/ol/reproj/Tile.js","webpack:///./node_modules/ol/source/TileImage.js","webpack:///./node_modules/ol/source/XYZ.js","webpack:///./node_modules/ol/featureloader.js","webpack:///./node_modules/ol/VectorImageTile.js","webpack:///./node_modules/ol/VectorTile.js","webpack:///./node_modules/ol/source/VectorTile.js","webpack:///./src/app.js","webpack:///(webpack)/buildin/harmony-module.js","webpack:///./node_modules/quickselect/quickselect.js","webpack:///./src/app.scss?cb69"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;AClFA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACoC;AACI;AACY;;;AAGpD;AACA;AACA,aAAa,cAAc;AAC3B;AACA;;AAEA;AACA;AACA;AACA,WAAW,4CAA4C;AACvD,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,qCAAqC;AAChD,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACO;AACP;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,qCAAqC;AAChD,YAAY,aAAa;AACzB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uEAAY;AACjC;AACA,kCAAkC,uEAAY;AAC9C,GAAG;AACH,kCAAkC,uEAAY;AAC9C;AACA;AACA,kCAAkC,uEAAY;AAC9C,GAAG;AACH,kCAAkC,uEAAY;AAC9C;AACA,uBAAuB,uEAAY;AACnC,mBAAmB,uEAAY;AAC/B;AACA;AACA;;;AAGA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;;;AAGA;AACA,WAAW,qCAAqC;AAChD,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;;AAEA;AACA,WAAW,mDAAmD;AAC9D,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,qCAAqC;AAChD;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,4CAA4C;AACvD,YAAY,OAAO;AACnB;AACO;AACP,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP,QAAQ,cAAc;AACtB;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,mDAAmD;AAC9D,YAAY,OAAO;AACnB;AACO;AACP,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACO;AACP;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,0DAA0D;AACrE,WAAW,GAAG;AACd,YAAY,UAAU;AACtB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,qCAAqC;AACjD;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,qCAAqC;AACjD;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,qCAAqC;AACjD;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,qCAAqC;AACjD;AACO;AACP;AACA,iBAAiB,iEAAM;AACvB;AACA,GAAG,qBAAqB,iEAAM;AAC9B;AACA,GAAG,qBAAqB,iEAAM;AAC9B;AACA,GAAG,qBAAqB,iEAAM;AAC9B;AACA,GAAG;AACH,IAAI,kEAAM,YAAY;AACtB;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,qCAAqC;AAChD,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,yBAAyB;AACpC,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,yBAAyB;AACrC;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,qCAAqC;AACjD;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,qCAAqC;AACjD;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,qCAAqC;AAChD,WAAW,qCAAqC;AAChD,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA,mBAAmB,uEAAY;AAC/B,iBAAiB,uEAAY;AAC7B;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uEAAY;AAChC,qBAAqB,uEAAY;AACjC;AACA;AACA;AACA;AACA,mCAAmC,uEAAY;AAC/C,qBAAqB,uEAAY;AACjC;AACA;AACA;AACA;AACA,mCAAmC,uEAAY;AAC/C,qBAAqB,uEAAY;AACjC;AACA;AACA;AACA;AACA,mCAAmC,uEAAY;AAC/C,qBAAqB,uEAAY;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,sCAAsC;AACjD;AACA,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kC;;;;;;;AC7xBA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;AAEA;AACA,YAAY,EAAE;AACd;AACO;AACP,oBAAoB,EAAE;AACtB;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACO;AACP;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACO;AACP;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACO;;AAEP,gC;;;;;;;ACpEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAC+B;;;AAG/B;AACA,oBAAoB,8CAA8C;AAClE,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,iBAAiB;AAC/B,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc,iBAAiB;AAC/B,cAAc,6CAA6C;AAC3D,cAAc,OAAO;AACrB;AACA;;;AAGA;AACA;AACA;AACA;AACA,aAAa,sEAAsE;AACnF;AACA;;;AAGA;AACA,WAAW,UAAU;AACrB,YAAY,iBAAiB;AAC7B;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,uBAAuB,iCAAiC;AACxD;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,sBAAsB,qCAAqC;AAC3D,YAAY,oBAAoB;AAChC;AACO;AACP;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,6CAA6C;AACxD,WAAW,OAAO;AAClB,YAAY,2BAA2B;AACvC;AACO;AACP;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY,kCAAkC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,6CAA6C;AACxD,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,0CAA0C,QAAQ;AAClD,iBAAiB,qCAAqC;AACtD;AACA,MAAM,6DAAK;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qCAAqC;AAC5D;AACA,WAAW,6CAA6C;AACxD,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B,WAAW,QAAQ;AACnB;AACA,WAAW,SAAS;AACpB,YAAY,UAAU;AACtB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,6BAA6B,UAAU;AACvC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,qCAAqC;AACpD;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,qCAAqC;AACzC;AACA;AACA,SAAS,8BAA8B;AACvC;AACA;AACA;AACA,WAAW,6CAA6C;AACxD,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,4CAA4C,8BAA8B;AAC1E;AACA,WAAW,6CAA6C;AACxD,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B,WAAW,QAAQ;AACnB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,IAAI,8BAA8B,KAAK,kCAAkC;AACzE;AACA,WAAW,UAAU;AACrB;AACO;AACP;AACA,eAAe,qCAAqC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,6DAAK;AACT;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,6CAA6C;AACxD;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kC;;;;;;;ACjRA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,qC;;;;;;;ACpBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAC0C;AACM;AAChB;AACc;AACY;;;AAG1D;AACA,aAAa,OAAO;AACpB,cAAc,oCAAoC;AAClD;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,oCAAoC;AAClD,cAAc,oCAAoC;AAClD,cAAc,OAAO;AACrB,cAAc,cAAc;AAC5B,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,oCAAoC;AAClD,cAAc,oCAAoC;AAClD,cAAc,OAAO;AACrB,cAAc,cAAc;AAC5B,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,cAAc;AAC5B,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,oCAAoC;AAClD;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,mCAAmC;AACjD,cAAc,qCAAqC;AACnD,cAAc,OAAO;AACrB,cAAc,cAAc;AAC5B;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,wCAAwC;AACzD,aAAa,SAAS;AACtB;;;AAGA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,iBAAiB,yCAAyC;AAC1D,UAAU;AACV;AACA;AACO,qBAAqB,oEAAQ;;;AAGpC;AACA,UAAU;AACV;AACO;;;AAGP;AACA,UAAU;AACV;AACA;;;AAGA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,WAAW,OAAO;AAClB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,eAAe;AACzC;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,6DAAK;AACf;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,uEAAe;AACtC;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA,YAAY,yBAAyB;AACrC;AACA;AACA;AACA,qBAAqB,6EAAqB;AAC1C;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,YAAY,0BAA0B;AACtC;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,yBAAyB;AACpC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;;AAGO,qBAAqB,oEAAe;;;AAG3C;AACA,WAAW,yBAAyB;AACpC,WAAW,yCAAyC;AACpD,WAAW,OAAO;AAClB,WAAW,oDAAoD;AAC/D,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kC;;;;;;;AC1XA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,qC;;;;;;;ACxCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,wC;;;;;;;ACtBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACoC;;AAEpC;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,yBAAyB,KAAK;AAC9B;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP,EAAE,kEAAM,YAAY;AACpB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC;AACA,YAAY,cAAc;AAC1B;AACO;AACP;;AAEA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB;AAClB;;AAEA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,OAAO;AAC9B;AACA,qBAAqB,WAAW;AAChC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;AAEA,gC;;;;;;;ACvMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACoC;;;AAGpC;AACA;AACA,IAAI,0BAA0B;AAC9B,aAAa,eAAe;AAC5B;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,YAAY,WAAW;AACvB;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,WAAW;AACvB;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,YAAY,WAAW;AACvB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,YAAY,WAAW;AACvB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,gEAAgE;AAC3E,YAAY,gEAAgE;AAC5E;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACO;AACP;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,WAAW;AACvB;AACO;AACP;AACA,EAAE,kEAAM,gBAAgB;;AAExB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;AAEA,qC;;;;;;;AC/OA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,YAAY,QAAQ;AACpB;AACO;AACP;;AAEA;AACA;AACA;;AAEA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACO;AACP;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,YAAY;AACvB,YAAY,UAAU;AACtB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA,+B;;;;;;;AC3EA;AAAA;AAAA;AACA;AACA;AACiD;;AAEjD;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB;AACO;AACP;AACA,cAAc,kEAAc;AAC5B;AACA;;AAEA,mC;;;;;;;ACfA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,UAAU;AACrB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB;AACpB;;AAEA,KAAK,OAAO;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,YAAY,QAAQ;AACpB;AACO;AACP;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA,KAAK;AACL,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA,KAAK;AACL,iBAAiB,OAAO;AACxB;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,aAAa;AACxB,WAAW,oBAAoB;AAC/B;AACA;AACO;AACP;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;;;AAGA;AACA,WAAW,aAAa;AACxB,WAAW,MAAM;AACjB;AACA,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,aAAa;AACxB,WAAW,qCAAqC;AAChD;AACA,YAAY,WAAW;AACvB;AACO;AACP;AACA;;AAEA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,wBAAwB;AACnC,WAAW,wBAAwB;AACnC,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,wBAAwB;AACnC;AACA;AACO;AACP;AACA;AACA;AACA,aAAa,YAAY;AACzB,cAAc;AACd;AACA;AACA;AACA,GAAG;AACH,aAAa,gBAAgB;AAC7B;AACA;AACA;;;AAGA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA,WAAW,SAAS;AACpB,WAAW,UAAU;AACrB,WAAW,SAAS;AACpB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,iC;;;;;;;AC1PA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA,CAAC,EAAC;;AAEF,oC;;;;;;;;;;;;;;;;;;;;;ACZA;AACA;AACA;AAC2C;;;AAG3C;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,oCAAoC;AAClD;AACA,cAAc,8BAA8B;AAC5C,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,8EAA8E;AAC9E;AACA,cAAc,8BAA8B;AAC5C,cAAc,+DAA+D;AAC7E;AACA,KAAK,OAAO,2BAA2B,sCAAsC;AAC7E,SAAS,OAAO;AAChB,gBAAgB,wCAAwC;AACxD;;;AAGA;AACA;AACA;AACA,mDAAmD,qBAAqB;AACxE;AACA,oBAAoB,oCAAoC;AACxD;AACA;AACA,gBAAgB,yBAAyB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,oCAAoC;AACxD;AACA;AACA;AACA,IAAI,qBAAU;AACd;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,2BAA2B,6BAA6B;;AAExD;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,YAAY,QAAQ;AACpB;AACA,qBAAU;AACV;AACA;;AAEA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA,qBAAU;AACV;AACA;;AAEA;AACA;AACA,YAAY,8BAA8B;AAC1C;AACA;AACA,qBAAU;AACV;AACA;;AAEA;AACA;AACA,YAAY,6BAA6B;AACzC;AACA;AACA,qBAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B;AACA;AACA,qBAAU;AACV,gCAAgC,gCAAe;AAC/C;;AAEA;AACA;AACA,YAAY,8BAA8B;AAC1C;AACA;AACA,qBAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA,qBAAU;AACV;AACA;;AAEA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA,qBAAU;AACV;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,qBAAU;AACV;AACA;AACA;;AAEA;AACA,YAAY,0CAA0C;AACtD;AACA,qBAAU;AACV;AACA;;AAEA;AACA,WAAW,0CAA0C;AACrD;AACA,qBAAU;AACV;AACA;;AAEA;AACA;AACA,WAAW,8BAA8B;AACzC;AACA;AACA,qBAAU;AACV;AACA;AACA;;AAEA;AACA;AACA,WAAW,8BAA8B;AACzC;AACA;AACA;AACA,qBAAU;AACV;AACA;;AAEA;AACA,6CAA6C;AAC7C;AACA,WAAW,+DAA+D;AAC1E;AACA;AACA,qBAAU;AACV;AACA;;AAEA;AACA;AACA,YAAY,yEAAyE;AACrF;AACA;AACA,qBAAU;AACV;AACA;;AAEe,yEAAU,EAAC;;AAE1B,sC;;AC7QA;AACA;AACA;AACgC;AACS;AACV;;;AAG/B;AACA;AACA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;AACP;AACA;AACA;;;AAGA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA;AACA,IAAI,2BAAkB;AACtB;AACA;AACA;AACA,aAAa,wBAAK;AAClB;AACA;AACA;AACA;AACA,4BAA4B,4BAAI;AAChC;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,eAAU;;;AAGZ;AACA;AACA;AACA;AACA,UAAU;AACV;AACO;AACP,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB;;;AAGA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,cAAc;AAC1B;AACO,SAAS,mBAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA,oC;;ACrJA;AACA;AACA;AACyC;AACV;;;AAG/B;AACA;AACA;AACA;AACA,UAAU;AACV;AACO,IAAI,eAAM;;;AAGjB;AACA;AACA;AACA;AACA,UAAU;AACV;AACO,IAAI,eAAM;;;AAGjB;AACA;AACA,UAAU;AACV;AACO,gCAAgC,eAAM;;;AAG7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,2BAAkB;AACtB;AACA;AACA;AACA,aAAa,wBAAK;AAClB,cAAc,eAAM;AACpB;AACA;AACA;AACA,mBAAmB,eAAM;AACzB,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,eAAU;;;AAGZ;AACA;AACA;AACA;AACA,UAAU;AACV;AACO,IAAI,oBAAW;AACtB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB;;AAEA,oC;;AC/EA;AACA;AACA;;;AAGA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,kCAAkC;AAC9C;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,kCAAkC;AAC7C;AACO;AACP;AACA;;AAEA,uC;;;;;ACtCA;AACA;AACA;AACkC;;;AAGlC;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACO,SAAS,gBAAK;AACrB;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,kCAAkC;AAC7C,WAAW,kCAAkC;AAC7C,WAAW,uCAAuC;AAClD;AACO,SAAS,cAAG;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAW,kCAAkC;AAC7C,WAAW,kCAAkC;AAC7C,YAAY,uCAAuC;AACnD;AACO;AACP;AACA;AACA;AACA;AACA,MAAM,8BAAO;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,iDAAiD;AAC7D;AACO,SAAS,cAAG;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA,sC;;AC1EA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,6CAA6C;AACjD,MAAM,gCAAgC;AACtC,IAAI,mCAAmC;AACvC,mBAAmB,6CAA6C;AAChE;AACA;AACA;AACA,2BAA2B,gCAAgC;AAC3D,IAAI,mCAAmC;AACvC;AACA;AACwC;AACG;AACV;AACgE;AAC1B;AACzB;AACS;AACF;AAC+D;;;AAGpH;AACA,oBAAoB,gCAAgC;AACpD;AACA,aAAa,4BAA4B;AACzC;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,gEAAgE;AAC7E;AACA;;;AAGyB;;AAEL;;AAEpB;AACA,WAAW,cAAc;AACzB,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,cAAc;AAC1B;AACA;AACO;AACP;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,cAAc;AAC1B;AACO;AACP;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACO;AACP,EAAE,GAAe;AACjB,EAAE,cAAgB;AAClB;;;AAGA;AACA,WAAW,kBAAkB;AAC7B;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACO,SAAS,QAAG;AACnB;AACA,IAAI,GAAe,YAAY,OAAO;AACtC,gBAAgB,WAAW;AAC3B;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,2CAA2C;AAC/C,IAAI,iEAAiE;AACrE;AACA,WAAW,eAAe;AAC1B,WAAW,OAAO;AAClB,WAAW,qCAAqC;AAChD,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;AACA;AACO;AACP,eAAe,QAAG;AAClB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,iBAAiB,wBAAK,uCAAuC,wBAAK;AAClE;AACA,KAAK;AACL;AACA;AACA;AACA,+DAA+D,QAAG;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,qCAAW;AAC7B,mBAAmB,qCAAW;AAC9B;AACA;AACA,QAAQ,gCAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B;AACA;AACO;AACP;AACA;AACA;AACA;AACA,QAAQ,cAAgB;AACxB;AACA,KAAK;AACL,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B;AACA,WAAW,kBAAkB;AAC7B;AACA,WAAW,kBAAkB;AAC7B;AACA,WAAW,kBAAkB;AAC7B;AACA;AACO;AACP;AACA;AACA,MAAM,cAAgB;AACtB,MAAM,cAAgB;AACtB,KAAK;AACL,GAAG;AACH;;;AAGA;AACA;AACA;AACO;AACP,EAAE,KAAiB;AACnB,EAAE,gBAAmB;AACrB;;;AAGA;AACA,WAAW,4BAA4B;AACvC,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACO;AACP;AACA,WAAW,QAAG;AACd,GAAG;AACH,WAAW,QAAG;AACd,GAAG;AACH;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;;;AAGA;AACA,cAAc,uCAAuC;AACrD;AACA,WAAW,qFAAqF;AAChG;AACA,YAAY,kBAAkB;AAC9B;AACO;AACP;AACA;AACA,eAAe,cAAc;AAC7B,eAAe,eAAe;AAC9B,eAAe,QAAQ;AACvB,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B,WAAW,qFAAqF;AAChG;AACA,iCAAiC,sCAAsC;AACvE,wBAAwB,sCAAsC;AAC9D,WAAW,qFAAqF;AAChG;AACA,iCAAiC,sCAAsC;AACvE,wBAAwB,sCAAsC;AAC9D;AACA;AACO;AACP,mBAAmB,QAAG;AACtB,iBAAiB,QAAG;AACpB,EAAE,cAAgB;AAClB,EAAE,cAAgB;AAClB;;;AAGA;AACA;AACA,WAAW,qCAAqC;AAChD;AACA,WAAW,gBAAgB;AAC3B;AACA,YAAY,qCAAqC;AACjD;AACA;AACO;AACP,SAAS,cAAS;AAClB;AACA;;;AAGA;AACA;AACA,WAAW,qCAAqC;AAChD,WAAW,gBAAgB;AAC3B;AACA,YAAY,qCAAqC;AACjD;AACA;AACA;AACO;AACP,eAAe,cAAS;AACxB;AACA;AACA;AACA,gBAAgB,8BAAM;AACtB;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB;AACA,YAAY,kBAAkB;AAC9B;AACO;AACP;AACA;AACA,sBAAsB,cAAgB;AACtC;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B,YAAY,kBAAkB;AAC9B;AACA;AACO;AACP,yBAAyB,QAAG;AAC5B,8BAA8B,QAAG;AACjC;AACA;;;AAGA;AACA;AACA;AACA;AACA,QAAQ,qCAAqC;AAC7C,gCAAgC,uCAAuC;AACvE;AACA;AACA,WAAW,qCAAqC;AAChD,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B,YAAY,qCAAqC;AACjD;AACA;AACO,SAAS,cAAS;AACzB;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,6BAA6B;AACxC,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B,YAAY,6BAA6B;AACzC;AACA;AACO;AACP;AACA,SAAS,2CAAc;AACvB;;;AAGA;AACA;AACA;AACA,WAAW,qCAAqC;AAChD,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,YAAY,qCAAqC;AACjD;AACO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,2BAA2B,WAAoB;AAC/C,2BAA2B,oBAAoB;AAC/C;AACA;AACA,0BAA0B,oBAAoB,EAAE,WAAoB,EAAE,YAAY,EAAE,mBAAU;AAC9F;;AAEA;;AAEA,gC;;;;;;;AC/fA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,yBAAyB;AACrC;AACO;AACP,0BAA0B,kBAAkB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,yBAAyB;AAC7C;;;AAGA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA,WAAW,KAAK;AAChB,WAAW,KAAK;AAChB;AACO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,KAAK;AAChB,aAAa,KAAK;AAClB;AACO;AACP;AACA;;AAEA;AACA,WAAW,KAAK;AAChB;AACO;AACP;AACA;AACA;AACA;;AAEA,+B;;;;;;;AClFA;AAAA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACO;AACP;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACO;AACP;AACA;;AAEA;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACO;;AAEP,qC;;;;;;;AC3BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACiC;AACkB;AACV;AACH;AACN;;;AAGhC;AACA;AACA,sBAAsB,kCAAkC;AACxD;AACO;AACP;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,gEAAK;;;AAGP;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD,IAAI,wBAAwB;AAC5B;AACA;AACA;AACA;AACA;AACA,yCAAyC,0BAA0B;AACnE,kEAAkE,IAAI,EAAE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gDAAgD;AACpE;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,4BAA4B;AACzC;AACA;AACA;AACA,IAAI,+DAAM;;AAEV;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,kBAAkB;AAChC;AACA;AACA;AACA,WAAW,8DAAM,GAAG;AACpB;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA,gBAAgB,mEAAe;AAC/B;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,EAAE;AACf,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,kBAAkB;AAC/B,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,8DAAU;;;AAGZ;AACA,UAAU;AACV;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;;;AAGe,mEAAU,EAAC;;AAE1B,kC;;;;;;;AClOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACO;;AAEP;AACA;AACA,UAAU;AACV;AACO;;AAEP;AACA;AACA,UAAU;AACV;AACO;;AAEP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACO;;;AAGP;AACA,2DAA2D,QAAQ;AACnE,UAAU;AACV;AACO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA,UAAU;AACV;AACA;AACO;;;AAGP;AACA;AACA;AACA,UAAU;AACV;AACA;AACO;;;AAGP;AACA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA,UAAU;AACV;AACO;;;AAGiC;;AAExC,+B;;;;;;;AC7FA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,0C;;;;;;;ACjBA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,oC;;;;;;;ACjBA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,sC;;;;;;;ACdA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,6BAA6B,gCAAgC;AAC7D;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,kC;;;;;;;ACjEA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,wC;;;;;;;ACjBA;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,UAAU;AACV;AACA;AACO;AACP;AACA;AACA;AACA;AACA;;AAEe,8DAAK,EAAC;;AAErB,iC;;;;;;;AClCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,eAAe;AAC3B;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,+B;;;;;;;ACtFA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,qCAAqC;AACzC;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,mCAAmC;AAC9C;AACO;AACP;AACA;;;AAGA;AACA,WAAW,mCAAmC;AAC9C;AACO;AACP;AACA;;AAEe,8DAAK,EAAC;;AAErB,iC;;;;;;;ACtEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB,YAAY,UAAU;AACtB;AACO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,UAAU;AACrB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,UAAU;AACtB;AACO;AACP;AACA;;;AAGA;AACA,WAAW,UAAU;AACrB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;;AAGA;AACA,WAAW,UAAU;AACrB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,UAAU;AACrB,WAAW,0CAA0C;AACrD,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,qC;;;;;;;AC5HA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,qC;;;;;;;ACfA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;;;AAGA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,YAAY,KAAK;AACjB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,YAAY,KAAK;AACjB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,MAAM;AACjB,YAAY,KAAK;AACjB;AACA;AACO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL,6CAA6C,OAAO;AACpD;AACA;AACA;AACA;;AAEA,gC;;;;;;;AC9EA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,uCAAuC;AAClD,WAAW,eAAe;AAC1B,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,eAAe;AAC1B,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,eAAe;AAC1B,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA;AACA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,eAAe;AAC1B,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qC;;;;;;;AC1HA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,qC;;;;;;;AChCA;AAAA;AAAA;AACA;AACA;AACoC;;;AAGpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD;AACA;;;AAGA;AACA,WAAW,qCAAqC;AAChD,YAAY,UAAU,kBAAkB,6BAA6B;AACrE;AACA;AACO;AACP;AACA,WAAW,kEAAQ;AACnB,GAAG;AACH;AACA;AACA;;AAEA,qC;;;;;;;AChCA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACO;;AAEP;AACA;AACA;AACA,UAAU;AACV;AACO;;AAEP,kC;;;;;;;AClBA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAC0C;AACD;AACJ;AACN;;;AAG/B;AACA,aAAa,mBAAmB;AAChC;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,iDAAiD;AACjD,6CAA6C;AAC7C,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA,8CAA8C,yDAAK;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,0DAAI;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI,sEAAW;AACf;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,+CAA+C;AAC7D;AACA;AACA;AACA;;AAEA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,0DAAI;AAC/B;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,8DAAU;;;AAGG,+DAAM,EAAC;;AAEtB,kC;;;;;;;AC5KA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACoC;AACJ;;;AAGhC;AACA;AACA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;;;AAGA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,iCAAiC,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,IAAI;;;AAGnE;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;;AAGA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,iBAAiB,OAAO;AACxB,kBAAkB,MAAM;AACxB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,MAAM;AAClB;AACA;AACO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,MAAM;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA,8BAA8B;AAC9B,yBAAyB;AACzB,UAAU;AACV;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,oCAAoC;AACvC;AACA;AACA,GAAG,mCAAmC;AACtC;AACA;AACA;AACA,GAAG;AACH,IAAI,kEAAM,YAAY;AACtB;AACA;AACA;;;AAGA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACO;AACP,aAAa,8DAAK;AAClB,aAAa,8DAAK;AAClB,aAAa,8DAAK;AAClB,aAAa,8DAAK;AAClB;AACA;;;AAGA;AACA,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClOA;AACA;AACA;AAC8C;AACT;AACgD;AAC7B;AACA;AACvB;AACC;AACwC;;;AAG1E;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,8BAA8B;AAC5C,gCAAgC,4BAA4B;AAC5D;AACA,cAAc,OAAO;AACrB,cAAc,sCAAsC;AACpD;AACA;AACA,cAAc,6CAA6C;AAC3D;AACA;AACA;AACA;AACA,cAAc,eAAe;AAC7B;AACA;AACA,cAAc,iCAAiC;AAC/C,cAAc,iCAAiC;AAC/C;AACA,cAAc,iCAAiC;AAC/C;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAQ;;AAEZ;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA,EAAE,iCAAM,CAAC,iCAAQ;AACjB;AACA,GAAG,aAAa;;;AAGhB;AACA;AACA;AACA,sDAAsD,QAAQ;AAC9D;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,IAAI,iCAAM;AACV,UAAU;AACV;;AAEA;;AAEA;AACA;AACA,mBAAmB,uCAAU;AAC7B;;AAEA,EAAE,iCAAM;AACR;AACA,QAAQ;;AAER;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,IAAI,iCAAM;AACV,UAAU;AACV;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,uBAAuB,mCAAiB;AACxC,EAAE,iCAAM;AACR;AACA;AACA,QAAQ;;AAER;AACA;AACA,YAAY;AACZ;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,0BAA0B,4BAAS;AACnC;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,8BAA8B;AACzC,WAAW,OAAO;AAClB,WAAW,8CAA8C;AACzD;AACA;AACA,iBAAQ;AACR;AACA,mDAAmD,SAAS;AAC5D,qDAAqD,SAAS;AAC9D;AACA;AACA;AACA;;AAEA;AACA,WAAW,oCAAoC;AAC/C,WAAW,sEAAsE;AACjF,WAAW,GAAG;AACd,WAAW,mCAAmC;AAC9C,WAAW,+BAA+B;AAC1C,YAAY,QAAQ;AACpB;AACA;AACA,iBAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,2CAAuB;AACzC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,8BAA8B;AAC1C;AACA,iBAAQ;AACR;AACA;;AAEA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA,iBAAQ;AACR;AACA;;AAEA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA,iBAAQ;AACR;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,sCAAsC;AAClD;AACA;AACA,iBAAQ;AACR;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA,iBAAQ;AACR;AACA;;AAEA;AACA;AACA,YAAY,cAAc;AAC1B;AACA;AACA,iBAAQ;AACR;AACA;;AAEA;AACA,WAAW,oCAAoC;AAC/C,WAAW,mCAAmC;AAC9C,WAAW,+BAA+B;AAC1C,YAAY,kCAAkC;AAC9C;AACA,iBAAQ;AACR;AACA;AACA;AACA;AACA,aAAa,2CAAuB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,kCAAkC;AAC7C,WAAW,+BAA+B;AAC1C,YAAY,8BAA8B;AAC1C;AACA,iBAAQ;AACR;AACA;AACA,iBAAiB,iCAAM;AACvB;AACA;AACA;AACA;AACA,SAAS,2CAAc;AACvB;;AAEA;AACA;AACA,WAAW,8BAA8B;AACzC,WAAW,OAAO;AAClB,WAAW,mCAAmC;AAC9C,YAAY,kCAAkC;AAC9C;AACA,iBAAQ;AACR;AACA;AACA;AACA;AACA;AACA,SAAS,2CAAuB;AAChC;;AAEA;AACA,WAAW,oCAAoC;AAC/C,YAAY,sCAAsC;AAClD;AACA,iBAAQ;AACR;AACA;AACA,iBAAiB,iCAAM;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oCAAoC;AAC/C,WAAW,+BAA+B;AAC1C,YAAY,8BAA8B;AAC1C;AACA;AACA,iBAAQ;AACR;AACA;AACA,iBAAiB,iCAAM;AACvB;AACA;AACA;AACA;AACA,SAAS,2CAAc;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,OAAO;AAClB,WAAW,qCAAqC;AAChD,YAAY,oCAAoC;AAChD;AACA;AACA,iBAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,qCAAqC;AAChD,YAAY,oCAAoC;AAChD;AACA;AACA,iBAAQ;AACR;AACA;AACA;AACA,iBAAiB,iCAAM;;AAEvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,SAAS,2CAAuB;AAChC;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,qCAAqC;AAChD,YAAY,oCAAoC;AAChD;AACA;AACA,iBAAQ;AACR;AACA;AACA,iBAAiB,iCAAM;;AAEvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,SAAS,2CAAuB;AAChC;;AAEA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,OAAO;AAClB,WAAW,qCAAqC;AAChD,YAAY,oCAAoC;AAChD;AACA;AACA,iBAAQ;AACR;AACA;AACA;;AAEA;AACA,WAAW,oCAAoC;AAC/C,YAAY,OAAO;AACnB;AACA,iBAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,iCAAiC;AAC7C;AACA;AACA,iBAAQ;AACR;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,YAAY,kCAAkC;AAC9C;AACA,iBAAQ;AACR;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA,iBAAQ;AACR,UAAU,0CAAiB;AAC3B,SAAS,6BAAK;AACd;;AAEA;AACA,WAAW,+BAA+B;AAC1C;AACA;AACA,iBAAQ;AACR;AACA;AACA,4BAA4B,YAAY;AACxC;AACA;AACA;AACA;;;AAGe,uEAAQ,EAAC;;AAExB,oC;;ACriBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACyE;AACxC;AAC8D;AACvD;AACwB;AAC5B;AACU;;;AAG9C;AACA,WAAW,uCAAuC;AAClD,YAAY,UAAU;AACtB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,SAAS;AACpB,WAAW,mCAAmC;AAC9C,WAAW,uCAAuC;AAClD,YAAY,mCAAmC;AAC/C;AACO;AACP;AACA;AACA;AACA,OAAO,+CAAkB;AACzB,qBAAqB,qCAAQ;AAC7B;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA,WAAW,6BAA6B;AACxC,WAAW,QAAQ;AACnB;AACA,WAAW,iCAAiC;AAC5C;AACA,WAAW,QAAQ;AACnB,YAAY,UAAU;AACtB;AACO;AACP,uDAAuD,yBAAM;;AAE7D;;AAEA,aAAa,iBAAQ;AACrB;AACA,YAAY,sCAAS;AACrB;AACA;AACA,GAAG;AACH;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,6BAA6B;AAC3C;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB,cAAc,gCAAgC;AAC9C;;;AAGA;AACA;AACA,WAAW,YAAY;AACvB,YAAY,UAAU;AACtB;AACA;AACO;AACP,aAAa,WAAW;AACxB;;AAEA,oCAAoC,2BAAa;;AAEjD,aAAa,yCAAyC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAQ;AACrB;;;AAGA;AACA;AACA,WAAW,6BAA6B;AACxC,WAAW,QAAQ;AACnB;AACA,WAAW,iCAAiC;AAC5C;AACA,YAAY,eAAe;AAC3B;AACA;AACA;AACA,kBAAkB,kCAAgB;;AAElC,eAAe,sCAAS;AACxB,cAAc,qCAAQ;;AAEtB,iBAAiB,iCAAM;AACvB,mBAAmB,mCAAiB;AACpC;AACA;;AAEA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;;;AAGA;AACA,WAAW,mCAAmC;AAC9C,WAAW,QAAQ;AACnB;AACA,WAAW,iCAAiC;AAC5C;AACA,WAAW,QAAQ;AACnB,YAAY,UAAU;AACtB;AACO;AACP;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,mCAAmC;AAC9C,YAAY,6BAA6B;AACzC;AACO;AACP,eAAe,2BAAa;AAC5B;AACA;AACA,qBAAqB,+BAAe,CAAC,wBAAK;AAC1C,aAAa,2CAAc;AAC3B;AACA;AACA;;AAEA,oC;;;;;;;;;;;;AC3KA;AACA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACO;AACP;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,aAAa,OAAO;AACpB;AACO;AACP;AACA;;AAEA,iBAAiB,oCAAoC;AACrD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kC;;AC3CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACiC;AACK;;;AAGtC;AACA;AACA,aAAa,cAAc;AAC3B;AACA;;;AAGA;AACA,4BAA4B,sCAAsC;AAClE,0BAA0B,OAAO;AACjC;AACA,aAAa,yCAAyC;AACtD;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,YAAY,WAAW;AACvB;AACA;AACA;AACO;AACP;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,mCAAmC;AAC9C,YAAY,WAAW;AACvB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,kBAAkB;AAC7B;AACA,YAAY,WAAW;AACvB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;AAGA;AACA,cAAc,4CAA4C;AAC1D;AACA,MAAM,WAAW;AACjB;AACA;AACA;AACA,eAAe,eAAe;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,eAAe;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,iBAAiB;AAC7B;AACA;AACO;AACP;AACA;AACA,eAAe,WAAW;AAC1B,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACO;AACP,0BAA0B,8BAAM;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,SAAS;AACpC,IAAI,SAAS;AACb;AACA;;;AAGA;AACA,yBAAyB,sCAAsC;AAC/D,kDAAkD,EAAE,QAAQ,EAAE;AAC9D;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA,uCAAuC,EAAE,EAAE,EAAE;AAC7C;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA,uCAAuC,EAAE,EAAE,EAAE;AAC7C;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO,mCAAmC,EAAE,QAAQ,EAAE;AACjE;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA,iBAAiB,EAAE;AACnB,iBAAiB,EAAE;AACnB,GAAG;AACH;AACA;AACA;;;AAGA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,YAAY,QAAQ;AACpB;AACO;AACP;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAyB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACO;AACP;AACA;AACA;AACA;;;AAGA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;;;AAGA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,kBAAkB;AAC7B;AACA,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACO;AACP,8BAA8B,EAAE,GAAG,EAAE;AACrC;;AAEA,sC;;;;;;;ACrZA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACmD;AACJ;AACb;AACc;AACd;AACQ;AACT;AACoB;AACR;;;AAG7C;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,8BAA8B;AAC5C;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,sCAAsC;AACpD,qCAAqC,8DAA8D;AACnG;AACA,cAAc,qCAAqC;AACnD;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,4BAA4B;AAC1C,cAAc,OAAO;AACrB,cAAc,YAAY;AAC1B,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,8BAA8B;AAC5C,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,2CAA2C,6BAA6B;AACxE,SAAS,0CAA0C;AACnD;AACA,IAAI,yCAAyC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,8DAAM,GAAG;AAC/B;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,iEAAM;AACV,MAAM,6EAAkB,CAAC,4DAAa;AACtC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,sCAAsC;AACpD;AACA;AACA;AACA;AACA,0BAA0B,4DAAa;AACvC;AACA,iBAAiB,sCAAsC;AACvD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB,gEAAW;AAChC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM,wEAAa;AACnB;AACA;AACA;AACA;AACA,8BAA8B,iEAAM;AACpC,QAAQ,oEAAS;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM,wCAAwC;AAC9C;AACA;AACA;AACA;AACA,MAAM,6BAA6B;AACnC,aAAa,qCAAqC;AAClD;AACA;AACA;AACA;AACA,MAAM,wEAAa;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,wEAAa;AACnB;AACA;AACA;AACA,+BAA+B,iEAAM,MAAM,oEAAe;AAC1D,qCAAqC,qCAAqC;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,+DAAM;AACjD,OAAO;AACP,2BAA2B,iEAAM,OAAO,oEAAS;AACjD;AACA;AACA;;AAEA;AACA;AACA,aAAa,sCAAsC;AACnD;AACA;AACA;AACA;AACA,aAAa,4DAAa;AAC1B;;AAEA;AACA,CAAC,CAAC,wDAAS;;;AAGX;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;;;AAGe,8DAAK,EAAC;;AAErB,iC;;;;;;;AC/OA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA,CAAC,EAAC;;AAEF,gD;;;;;;;ACvBA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACe;AACf;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,iC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA;AACA;AACA;AACoC;AACE;AAC8B;AACpB;AACc;AACzB;AACkD;;;AAGvF;AACA,UAAU;AACV;AACA,mBAAmB,sCAAe;;;AAGlC;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAQ;AACZ;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA,mBAAmB,wCAAW;;AAE9B;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,sCAAsC;AACnD,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,iDAAiD;AACvD,aAAa,sCAAsC;AACnD,aAAa,uCAAuC;AACpD,cAAc,sCAAsC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,sCAAsC;AACnD,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,8BAA8B;AAC3C;AACA,cAAc,8BAA8B;AAC5C;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA;AACA,aAAa,+BAA+B;AAC5C,cAAc,8BAA8B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,2CAAc;AACzB;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,sCAAsC;AACnD;AACA;AACA;AACA,IAAI,gCAAQ;AACZ;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB;AACA,aAAa,uCAAuC;AACpD;AACA;AACA;AACA;AACA,IAAI,gCAAQ;AACZ;;AAEA;AACA;AACA,cAAc;AACd;AACA,qBAAqB;AACrB;AACA,aAAa,OAAO;AACpB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,SAAS;AACvB;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA;AACA;AACA,cAAc,oCAAoC;AAClD;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,uCAAuC;AACpD;AACA;AACA,IAAI,gCAAQ;AACZ;;AAEA;AACA;AACA;AACA,aAAa,8BAA8B;AAC3C,cAAc,QAAQ;AACtB;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA,IAAI,gCAAQ;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,iCAAiC,2CAA2C;AAC5E,aAAa,oCAAoC;AACjD,iCAAiC,2CAA2C;AAC5E,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA,eAAe,wCAAwC;AACvD,qBAAqB,2BAAa;AAClC,+CAA+C,wBAAK;AACpD;AACA;AACA;AACA,oBAAoB,sCAAS,oBAAoB,sCAAS;AAC1D,QAAQ,uCAAgB;AACxB;AACA;AACA;AACA,QAAQ,6CAAW;AACnB;AACA,eAAe,oCAAY;AAC3B,OAAO;AACP,MAAM,oCAAY;AAClB;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4BAAU;;;AAGG,mEAAQ,EAAC;;AAExB,oC;;;;;;;;AChSA;AAAA;AAAA;AACA;AACA;AACoC;AACsC;AACrC;AACY;AACyB;AAC1C;;AAEhC;AACA;AACA,uBAAuB,mCAAmC;AAC1D;AACA;AACA;AACA;AACA;AACA,IAAI,6BAAc;AAClB;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA,kBAAkB,iCAAc;;AAEhC;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,8DAAiC;AAC5C;AACA;;AAEA;AACA;AACA,cAAc,MAAM;AACpB;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA;AACA,cAAc,sCAAsC;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,sCAAsC;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,2CAA2C;AAC5D,cAAc,eAAe;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM,4BAAK;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,cAAc,eAAe;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA,aAAa,eAAe;AAC5B,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,gBAAgB;AAC7B;AACA;AACA,IAAI,gCAAQ;AACZ;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,MAAM;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA,KAAK;AACL,qBAAqB,aAAa;AAClC;AACA,wBAAwB,iCAAc;AACtC;AACA;AACA,SAAS;AACT,mCAAmC,MAAM;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,wCAAM;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,sCAAS;AACxB;AACA;AACA;AACA;AACA,MAAM,uCAAK;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,2CAAS;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,aAAQ;;;AAGV;AACA,WAAW,OAAO;AAClB,YAAY,eAAe;AAC3B;AACA;AACA;AACA;AACA,aAAa,iCAAc;AAC3B,GAAG;AACH,aAAa,iCAAc;AAC3B,GAAG;AACH,aAAa,iCAAc;AAC3B;AACA;AACA,eAAe,eAAe;AAC9B;AACA;;;AAGA;AACA,WAAW,eAAe;AAC1B,YAAY,OAAO;AACnB;AACO;AACP;AACA,gBAAgB,iCAAc;AAC9B;AACA,GAAG,oBAAoB,iCAAc,kBAAkB,iCAAc;AACrE;AACA,GAAG,oBAAoB,iCAAc;AACrC;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA;AACA,WAAW,eAAe;AAC1B,WAAW,oCAAoC;AAC/C,WAAW,eAAe;AAC1B,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA,WAAW,6CAAW;AACtB;AACA;AACA;AACA;;AAEe,gHAAc,EAAC;;AAE9B,0C;;;;;;;ACnUA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,iDAAiD;AAC5D,YAAY,gDAAgD;AAC5D;AACO;AACP;AACA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,wDAAwD;AACnE,YAAY,uDAAuD;AACnE;AACO;AACP;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,+DAA+D;AAC1E;AACA,YAAY,8DAA8D;AAC1E;AACO;AACP;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mC;;;;;;;ACpEA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAC8C;;;AAG9C;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,iCAAiC;AAC5C,YAAY,QAAQ;AACpB;AACO;AACP,gBAAgB,wEAAa;AAC7B;AACA,eAAe,yCAAyC;AACxD,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,cAAc;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oC;;;;;;;AChHA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACoC;;;AAGpC;AACA,aAAa,yDAAyD;AACtE;;;AAGA;AACA,WAAW,iBAAiB;AAC5B,WAAW,OAAO;AAClB,YAAY,iBAAiB;AAC7B;AACO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA,WAAW,iBAAiB;AAC5B,WAAW,OAAO;AAClB,YAAY,iBAAiB;AAC7B;AACO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,YAAY,KAAK;AACjB;AACO;AACP;AACA;AACA;AACA,eAAe,iBAAiB;AAChC,eAAe,OAAO;AACtB,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;;;AAGA;AACA,WAAW,QAAQ;AACnB,YAAY,KAAK;AACjB;AACO;AACP,mCAAmC,kEAAS;AAC5C;AACA;AACA,eAAe,iBAAiB;AAChC,eAAe,OAAO;AACtB,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;;AAEA,8C;;;;;;;ACvFA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA,CAAC,EAAC;;AAEF,wC;;;;;;;ACZA;AAAA;AACA;AACA;AACkC;;;AAGlC;AACA,aAAa,OAAO;AACpB,cAAc,gEAAgE;AAC9E,QAAQ,4BAA4B,MAAM,oCAAoC;AAC9E,gBAAgB;AAChB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,cAAc;AAC5B;AACA;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,YAAY,gEAAgE;AAC5E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,iBAAiB;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,iBAAiB;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,iBAAiB;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,iBAAiB;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,iBAAiB;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gEAAgE;AAC3E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,0BAA0B,+DAAM;AAChC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEe,+DAAM,EAAC;;AAEtB,kC;;;;;;;AC1RA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACiE;;;AAGjE;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL,qBAAqB,YAAY;AACjC,0BAA0B,6DAAI;AAC9B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA,wBAAwB,cAAc;AACtC;AACA;AACA,uBAAuB,wEAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,eAAe;AAC1B,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,wEAAS;AAC/B;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,wEAAS;AAC/B;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,wEAAS;AAC/B;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,eAAe;AAC1B,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,eAAe;AAC1B,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mC;;;;;;;AC3PA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACqC;AACc;AACb;AACT;AACI;;;AAGjC;AACA,6BAA6B,wBAAwB,SAAS,OAAO;AACrE;AACA,IAAI,4BAA4B;AAChC;AACA;AACA,aAAa,2EAA2E;AACxF;;AAEA;AACA,MAAM,YAAY,eAAe,YAAY,QAAQ,oBAAoB;AACzE,aAAa,iCAAiC;AAC9C;;AAEA;AACA,6BAA6B,wBAAwB;AACrD,IAAI,8BAA8B;AAClC;AACA,aAAa;AACb,gGAAgG;AAChG;;;AAGA;AACA;AACA;AACA;AACA,WAAW,6BAA6B;AACxC;AACA,aAAa;AACb;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,8DAA8D;AAC5E;AACA,cAAc,4BAA4B;AAC1C,cAAc,6BAA6B;AAC3C,cAAc,eAAe;AAC7B;AACA,cAAc,8BAA8B;AAC5C,cAAc,4BAA4B;AAC1C,cAAc,OAAO;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;;AAEA;AACA;AACA,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA,0BAA0B,sCAAsC;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,IAAI,mBAAmB;AACvB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,kBAAkB;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,4BAA4B;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,6BAA6B;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,6BAA6B;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,8BAA8B;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,8BAA8B;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,4BAA4B;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,iBAAiB;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,8DAA8D;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,sCAAsC;AACzD;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,mBAAmB,sCAAsC;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,iCAAiC;AAC5C;AACA,YAAY,cAAc;AAC1B;AACO;AACP;;AAEA;AACA;AACA,GAAG;AACH;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,KAAK;AACL,MAAM,kEAAM,mBAAmB,EAAE;AACjC,YAAY;AACZ,6BAA6B,MAAM;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,UAAU;AACV;AACA;;;AAGA;AACA,WAAW,oCAAoC;AAC/C,WAAW,OAAO;AAClB,YAAY,aAAa;AACzB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wDAAI;AACvB;AACA,KAAK;AACL,qBAAqB,0DAAM;AAC3B;AACA;AACA,KAAK;AACL;AACA;AACA,mBAAmB,0DAAW;AAC9B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY,gEAAgE;AAC5E;AACO;AACP,aAAa,gEAAgE;AAC7E;AACA;AACA;AACA;AACA,SAAS,qEAAY;AACrB;AACA,gBAAgB,wDAAI;AACpB;AACA,OAAO;AACP,KAAK;AACL;AACA,SAAS,qEAAY;AACrB,aAAa,qEAAY;;AAEzB,SAAS,qEAAY;AACrB;AACA,kBAAkB,0DAAM;AACxB;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,kBAAkB,0DAAM;AACxB;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,SAAS,qEAAY;AACrB,aAAa,qEAAY;;AAEzB,SAAS,qEAAY;AACrB,aAAa,qEAAY;AACzB,eAAe,qEAAY;AAC3B;;;AAGA,SAAS,qEAAY;AACrB;AACA,iBAAiB,0DAAW;AAC5B;AACA,kBAAkB,wDAAI;AACtB;AACA,SAAS;AACT,oBAAoB,0DAAM;AAC1B;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA,SAAS,qEAAY;AACrB,aAAa,qEAAY;;AAEzB,SAAS,qEAAY;AACrB,aAAa,qEAAY;AACzB,eAAe,qEAAY;AAC3B,eAAe,qEAAY;AAC3B;;AAEA;AACA;;;AAGA;AACA;AACA,WAAW,oCAAoC;AAC/C,YAAY,uFAAuF;AACnG;AACA;AACA;AACA;;AAEe,8DAAK,EAAC;;AAErB,iC;;;;;;;ACliBA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACuC;AACJ;AACU;AACC;;;AAG9C;AACA,6BAA6B,qBAAqB;AAClD,KAAK,OAAO;AACZ;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA,IAAI;AACJ;AACA;AACA,aAAa,uBAAuB;AACpC;AACA;;AAEA;AACA,IAAI,iCAAiC;AACrC;AACA;AACA,2BAA2B,oCAAoC;AAC/D,mBAAmB,OAAO;AAC1B,IAAI,gCAAgC;AACpC,mBAAmB,OAAO;AAC1B;AACA;AACA,aAAa;AACb,yEAAyE;AACzE;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,oEAAS;AAChC;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B,6DAAS;AACtC;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,KAAK;;AAE/B;AACA,6BAA6B,6DAAS;AACtC;AACA;AACA;AACA;AACA;AACA,OAAO,6BAA6B,6DAAS;AAC7C;AACA;AACA;AACA,OAAO,6BAA6B,6DAAS;AAC7C;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,cAAc,mCAAmC;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,UAAU;AACxB;AACA;AACA;AACA;;AAEA;AACA,yDAAyD,mDAAmD;AAC5G,oDAAoD;AACpD;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,2CAA2C;AAC3C;AACA;AACA;AACA,WAAW,iEAAM;AACjB;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,iEAAW;;;AAGE,6DAAI,EAAC;;AAEpB,gC;;;;;;;AC1SA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,yCAAyC;AACpD,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,gDAAgD;AAC3D,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP,0CAA0C,QAAQ;AAClD;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,uDAAuD;AAClE,WAAW,OAAO;AAClB,WAAW,eAAe;AAC1B,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,8DAA8D;AACzE,WAAW,OAAO;AAClB,WAAW,sBAAsB;AACjC,YAAY,qBAAqB;AACjC;AACO;AACP;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mC;;;;;;;ACjFA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B;AAC/D;AACA;AACA;AACA;;AAEsE;;;AAGtE;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,eAAe;AAC1B;AACA,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA,UAAU,cAAc;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,UAAU;AAC1C;AACA;AACA,4BAA4B,+EAAsB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA,UAAU,cAAc;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,cAAc;AACtC;AACA;AACA,QAAQ,wEAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oC;;;;;;;AC5YA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,2C;;;;;;;AChBA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,sC;;;;;;;ACdA;AAAA;AAAA;AACA;AACA;AACkC;AACG;;;AAGrC;AACA,aAAa,OAAO;AACpB,cAAc,gEAAgE;AAC9E,QAAQ,4BAA4B,MAAM,oCAAoC;AAC9E,gBAAgB;AAChB;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,0DAA0D,oCAAoC;AAC9F,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,YAAY,gEAAgE;AAC5E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gEAAgE;AAC3E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kEAAQ,YAAY,mCAAmC;AACtF,OAAO;AACP,yBAAyB,+DAAM;AAC/B;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEe,6DAAI,EAAC;;AAEpB,gC;;;;;;;AC3FA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACO;;AAEP;AACA;AACA,UAAU;AACV;AACO;;AAEP,kC;;;;;;;;;;;;;;;;;;;;;;;;AChBA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO,SAAS,eAAU;AAC1B;AACA;AACA;AACA,QAAQ,cAAc;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO,SAAS,gBAAW;AAC3B;AACA,mCAAmC,QAAQ;AAC3C;AACA,YAAY,eAAU;AACtB;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA,oCAAoC,QAAQ;AAC5C;AACA,YAAY,gBAAW;AACvB;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;;;;AC9DA;AACA;AACA;AACsD;AACL;AACJ;AACI;AACW;AACU;AACjB;AACA;AACH;;AAElD;AACA;AACA,sDAAsD;AACtD;AACA;AACA;AACA;AACA,IAAI,qBAAU;AACd;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,qDAAqD,cAAc;AACnE,KAAK;AACL,qCAAqC,6CAA6C;AAClF;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,qDAAwB;AACrD;AACA;AACA;AACA,iCAAiC,0CAAe;AAChD;AACA;AACA;AACA,WAAW,6CAAkB;AAC7B;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,WAAW,eAAc;AACzB;;AAEA;AACA;AACA,cAAc,6CAA6C;AAC3D;AACA;AACA;AACA;AACA,WAAW,6CAAkB;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC,0CAAc;AACrD;AACA;AACA,qDAAqD,iCAAc;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,+BAAY;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,8CAA8C;AAC3D,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,6CAAkB;AACpD;AACA;AACA;;AAEA;AACA,CAAC,CAAC,sCAAc;;;AAGD,yEAAU,EAAC;;AAE1B,sC;;;;;;;;;;;ACjJA;AACA;AACA;AACyD;AACL;;;AAGpD;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,eAAe;AAC1B,YAAY,cAAc;AAC1B;AACA;AACO;AACP;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,0CAAyB;AAC9C;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA,UAAU,iDAAqB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,YAAY,cAAc;AAC1B;AACA;AACO;AACP;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yC;;;;;AC9FA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACO,SAAS,mBAAW;AAC3B;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mC;;ACvBA;AACA;AACA;AAC+D;;;AAG/D;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA;AACA;AACA,QAAQ,cAAc;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA,YAAY,QAAQ;AACpB;AACO;AACP;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA,YAAY,QAAQ;AACpB;AACO;AACP,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY,OAAO;AACnB;AACO;AACP;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mBAAkB;AACxB;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY,OAAO;AACnB;AACO;AACP,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;;AAEA,kC;;;;;AC5IA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACmC;AAC8B;AAChB;AACJ;AACJ;AACV;AACkB;AACG;AACU;AACkB;AACvB;AACC;AACA;AACM;AACK;AACI;AACxB;AACf;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,eAAO;AACX;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,qDAAqD,cAAc;AACnE;AACA,KAAK;AACL,qCAAqC,oDAAoD;AACzF;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,MAAM,+BAAM;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,qDAAwB;AACrD;AACA;AACA;AACA,iCAAiC,+CAAoB;AACrD;AACA;AACA;AACA,WAAW,kDAAuB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,iDAAqB;AAChC;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,WAAW,gBAAe;AAC1B;;AAEA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,cAAc,oDAAoD;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,iBAAiB;AACvB;AACA,KAAK;AACL;AACA;;AAEA,WAAW,kDAAuB;AAClC;AACA;;AAEA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;;AAEA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA,uBAAuB,sCAAS;AAChC,gCAAgC,uBAAuB;AACvD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA,eAAe,wBAAK,8BAA8B,iCAAc;AAChE;;AAEA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,WAAW;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,eAAU;AACzB;AACA;;AAEA;AACA;AACA,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA,2BAA2B,eAAU;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA,UAAU,oBAAoB;AAC9B;AACA;AACA,OAAO;AACP;AACA;AACA,YAAY,iBAAiB;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,yCAAa;AACpD;AACA;AACA;AACA,kDAAkD,iCAAc;AAChE;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,+BAAY;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,6DAAyB;AACpC;AACA;;AAEA;AACA;AACA,aAAa,qDAAqD;AAClE,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kDAAuB;AACtC;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,sCAAc;;;AAGD,2FAAO,EAAC;;;AAGvB;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA,aAAa,cAAc;AAC3B;AACA,iBAAiB,OAAO;AACxB,IAAI,+BAAM,kBAAkB,gCAAY;AACxC;AACA;AACA,aAAa,eAAO,kBAAkB,iCAAc;AACpD;;;AAGA;AACA;AACA,WAAW,8BAA8B;AACzC,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,eAAO,kBAAkB,iCAAc;AACpD;;;AAGA;AACA;AACA,WAAW,8BAA8B;AACzC,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA,oBAAoB,eAAO;AAC3B;AACA;AACA;;;AAGA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,sCAAsC;AACjD,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACO;AACP;AACA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA,8BAA8B,8BAAM;AACpC;AACA;AACA;AACA;AACA;;AAEA,mC;;;;;;;ACtaA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,kC;;;;;;;ACfA;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;;AAEA;AACA,WAAW,mCAAmC;AAC9C,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA,WAAW,UAAU;AACrB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA,WAAW,UAAU;AACrB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA,YAAY,yBAAyB;AACrC;AACA;AACA;AACA;;AAEA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA,WAAW,UAAU;AACrB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB,YAAY,UAAU;AACtB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGe,kEAAS,EAAC;;AAEzB,qC;;;;;;;AC7IA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEe,mEAAU,EAAC;;AAE1B,sC;;;;;;;ACnCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAC+C;AACG;;;AAGlD;AACA,wCAAwC,gBAAgB,KAAK;AAC7D;AACA,aAAa,OAAO;AACpB,cAAc,mCAAmC;AACjD;AACA;AACA,cAAc,OAAO;AACrB;AACA;;;AAGA;AACA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA,aAAa,kEAAS;AACtB,aAAa,kEAAS;AACtB;AACA,oBAAoB,kEAAS;AAC7B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAW,qCAAqC;AAChD,WAAW,qBAAqB;AAChC;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA;AACA;AACA,eAAe,qEAAY;AAC3B;AACA;AACA;AACA;AACA;AACA,SAAS,qEAAY;AACrB,SAAS,qEAAY;AACrB;AACA;AACA,SAAS,qEAAY;AACrB,SAAS,qEAAY;AACrB,+BAA+B,2CAA2C;AAC1E;AACA;AACA;AACA,SAAS,qEAAY;AACrB,SAAS,qEAAY;AACrB,+BAA+B,2CAA2C;AAC1E,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA,SAAS,qEAAY;AACrB,+BAA+B,2CAA2C;AAC1E,0CAA0C,QAAQ;AAClD;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA,SAAS,qEAAY;AACrB,kCAAkC,+CAA+C;AACjF,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,4CAA4C;AACvD;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA,YAAY,kEAAS;AACrB,sBAAsB,kEAAS;AAC/B,iBAAiB,kEAAS;AAC1B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,qCAAqC;AAChD,WAAW,qBAAqB;AAChC;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA;AACA;AACA,eAAe,qEAAY;AAC3B;AACA;AACA;AACA;AACA;AACA,SAAS,qEAAY;AACrB,SAAS,qEAAY;AACrB,SAAS,qEAAY;AACrB,SAAS,qEAAY;AACrB,SAAS,qEAAY;AACrB;AACA;AACA,SAAS,qEAAY;AACrB,+BAA+B,oCAAoC;AACnE;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA,SAAS,qEAAY;AACrB,+BAA+B,2CAA2C;AAC1E,0CAA0C,QAAQ;AAClD;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA,SAAS,qEAAY;AACrB,kCAAkC,+CAA+C;AACjF,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,qCAAqC;AAChD,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA,YAAY,qCAAqC;AACjD;AACO;AACP;AACA,aAAa,kEAAS;AACtB,aAAa,kEAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,kEAAS,OAAO,kEAAS;AACnC;;AAEA,kC;;;;;;;AChQA;AAAA;AACA;AACA;AACkC;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wDAAO,gBAAgB,wDAAO,SAAS,wDAAO;AAC7D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,uEAAc,EAAC;;AAE9B,0C;;;;;;;AC9CA;AAAA;AAAA;AAAA;AACA;AACA;;AAEqC;AACS;AACC;;;AAG/C;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,EAAE;AAChB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;;AAGA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,oEAAS;AAChC;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;;AAGA;AACA,aAAa,0CAA0C;AACvD;AACA;AACA;AACA,aAAa,GAAG;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,EAAE;AAChB;AACA;AACA;AACA,IAAI,kEAAM;AACV,UAAU;AACV;AACA;AACA,KAAK;AACL,gCAAgC,MAAM;AACtC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,EAAE;AAChB;AACA;AACA;AACA,IAAI,kEAAM,0BAA0B;AACpC;AACA,gCAAgC,MAAM;AACtC;AACA;AACA;AACA,KAAK;AACL,gCAAgC,MAAM;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;;AAGA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA,8BAA8B,OAAO;AACrC;AACA;AACA;AACA;;;AAGA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA,8BAA8B,OAAO;AACrC;AACA;AACA;AACA;;;AAGA;AACA,cAAc,EAAE;AAChB;AACA;AACA;AACA;;;AAGA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;;AAGA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;;AAGA;AACA,cAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,MAAM;AACpC;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,aAAa,EAAE;AACf;AACA;AACA,kBAAkB;AAClB;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,aAAa,EAAE;AACf;AACA;AACA,IAAI,kEAAM;AACV,UAAU;AACV,2BAA2B,MAAM;AACjC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,iEAAW;;AAEE,iEAAQ,EAAC;;AAExB,oC;;;;;;;AChTA;AAAA;AAAA;AACA;AACA;AAC6C;AACE;;AAE/C;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,kDAAkD;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qEAAO;AAC3B;AACA;AACA;AACA,oBAAoB,oEAAM;AAC1B;AACA;AACA,KAAK;AACL;;AAEA;AACA,CAAC,CAAC,oEAAQ;;;AAGK,kEAAS,EAAC;;AAEzB,qC;;;;;;;ACxDA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACwE;AAC3B;AACC;;AAE9C;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,IAAI,8CAA8C;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,oEAAS;AAChC;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,qBAAqB;AAClC,aAAa,eAAe;AAC5B,cAAc,uEAAuE;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B,kBAAkB,iEAAM;AACxB;AACA;AACA,KAAK;AACL,aAAa,iEAAM,kBAAkB,OAAO;AAC5C;AACA;;AAEA;AACA;AACA,aAAa,qBAAqB;AAClC,aAAa,eAAe;AAC5B,cAAc,uEAAuE;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B,kBAAkB,qEAAU;AAC5B;AACA;AACA,KAAK;AACL,aAAa,qEAAU,kBAAkB,OAAO;AAChD;AACA;;AAEA;AACA;AACA,aAAa,qBAAqB;AAClC,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA,uCAAuC,QAAQ;AAC/C,QAAQ,mEAAQ;AAChB;AACA;AACA,KAAK;AACL,MAAM,mEAAQ,kBAAkB,OAAO;AACvC;AACA;;AAEA;AACA,CAAC,CAAC,iEAAW;;;AAGb;AACA;AACA,WAAW,uEAAuE;AAClF;AACA;AACA;AACO;AACP;AACA,oCAAoC,QAAQ;AAC5C,MAAM,wEAAa;AACnB;AACA,GAAG;AACH,IAAI,wEAAa,YAAY,gCAAgC;AAC7D;AACA;;;AAGe,mEAAU,EAAC;;AAE1B,sC;;;;;;;AC1IA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACsE;AACzB;AACI;AACG;AACI;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B,wEAAS;AACnC;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,cAAc,sCAAsC;AACpD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,uFAA4B;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,gEAAY;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,qEAAU;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,kFAAiB;AACnD;AACA;AACA;;AAEA;AACA,CAAC,CAAC,kEAAc;;;AAGD,8DAAK,EAAC;;AAErB,iC;;;;;;;AC3GA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACkH;AACrC;AACrB;;;AAGxD;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,iCAAiC;AAC5C,YAAY,QAAQ;AACpB;AACO;AACP,0BAA0B,gFAAqB;AAC/C,IAAI,sEAAW;AACf,OAAO,qEAAU;AACjB;AACA;AACA,MAAM,yEAAc;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oEAAc;AACvB;AACA,eAAe,yCAAyC;AACxD,eAAe,yCAAyC;AACxD,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA,aAAa,4EAAiB;AAC9B,KAAK;AACL;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,iCAAiC;AAC5C,YAAY,QAAQ;AACpB;AACO;AACP,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,iCAAiC;AAC5C,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA;AACA,MAAM,iFAAoB;AAC1B;AACA;AACA,MAAM,iFAAoB;AAC1B;AACA;AACA,MAAM,iFAAoB;AAC1B;AACA;AACA,MAAM,iFAAoB;AAC1B;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,iCAAiC;AAC5C,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C,QAAQ,qFAAwB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,iCAAiC;AAC5C,YAAY,QAAQ;AACpB;AACO;AACP,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4C;;;;;;;AC9IA;AAAA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,yGAAyG;AACpH;AACA,WAAW,GAAG;AACd;AACA,YAAY,UAAU;AACtB;AACA;AACO;AACP;AACA;AACA;AACA,QAAQ,yBAAyB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oC;;;;;;;ACrCA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA,kC;;;;;;;AC1CA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACoC;AACE;AACI;AACT;AACA;;;AAGjC;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,8BAA8B;AAC5C;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA;;;AAGA;AACA;AACA,uBAAuB;AACvB;AACA,mBAAmB,2BAA2B;AAC9C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,cAAc;AACd;AACA,qBAAqB,8DAAM,GAAG;AAC9B,eAAe,4DAAa;AAC5B;AACA,eAAe,4DAAa;AAC5B;AACA,eAAe,4DAAa;AAC5B,eAAe,4DAAa;AAC5B;AACA,eAAe,4DAAa;AAC5B;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,kCAAkC;AAChD;AACA;AACA;AACA;;AAEA;AACA,cAAc,2BAA2B;AACzC;AACA;AACA,eAAe,2BAA2B;AAC1C,0CAA0C,EAAE;AAC5C;AACA;AACA,KAAK;AACL,oBAAoB,8DAAK;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,qCAAqC;AAClD;AACA,cAAc,oCAAoC;AAClD;AACA;AACA,WAAW,iEAAQ;AACnB;;AAEA;AACA;AACA,aAAa,mCAAmC;AAChD;AACA,cAAc,kCAAkC;AAChD;AACA;AACA,WAAW,iEAAQ;AACnB;;AAEA;AACA,iBAAiB,qCAAqC;AACtD;AACA,cAAc,wCAAwC;AACtD;AACA;AACA;AACA;AACA;AACA,iBAAiB,wCAAwC,cAAc,4DAAa;AACpF;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA,sBAAsB,OAAO,cAAc,4DAAa;AACxD;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA,sBAAsB,OAAO,cAAc,4DAAa;AACxD;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA,sBAAsB,OAAO,cAAc,4DAAa;AACxD;;AAEA;AACA;AACA,cAAc,qCAAqC;AACnD;AACA;AACA,WAAW,iEAAQ;AACnB;;AAEA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,sBAAsB,QAAQ,cAAc,4DAAa;AACzD;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA,sBAAsB,OAAO,cAAc,4DAAa;AACxD;;AAEA;AACA;AACA;AACA,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA,aAAa,4DAAa;AAC1B;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,aAAa,4DAAa;AAC1B;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,aAAa,4DAAa;AAC1B;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,aAAa,4DAAa;AAC1B;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,aAAa,4DAAa;AAC1B;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,aAAa,4DAAa;AAC1B;;AAEA;AACA,CAAC,CAAC,0DAAU;;;AAGG,kEAAS,EAAC;;AAEzB,gC;;;;;;;AC1QA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA,CAAC,EAAC;;AAEF,4C;;;;;;;ACnBa;;AAEb;AACA;;AAEA,kBAAkB,mBAAO,CAAC,EAAa;;AAEvC;AACA;;AAEA,6CAA6C;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,mDAAmD,SAAS;;AAE5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,mDAAmD,SAAS;;AAE5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA,8CAA8C,SAAS;AACvD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,SAAS;AACT;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;;AAEA,4BAA4B;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;;AAEA,aAAa,mBAAmB;AAChC;AACA;AACA;;AAEA,aAAa,kBAAkB;AAC/B;;AAEA;AACA,KAAK;;AAEL,6BAA6B,aAAa,EAAE;;AAE5C;AACA;;AAEA,yBAAyB,kBAAkB,EAAE;;AAE7C;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,sBAAsB,YAAY;;AAElC;;AAEA;;AAEA,uBAAuB,aAAa;;AAEpC;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,mDAAmD,SAAS;AAC5D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA,mBAAmB,YAAY;AAC/B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;;AAEA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA,KAAK;;AAEL;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;;AAEA,iBAAiB;;AAEjB,aAAa;AACb;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA,gDAAgD;;AAEhD;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA,yCAAyC;AACzC;AACA;;AAEA;AACA;;AAEA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B,OAAO;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gCAAgC,wBAAwB;AACxD,gCAAgC,wBAAwB;;AAExD,wBAAwB,8CAA8C;AACtE,wBAAwB,8CAA8C;;AAEtE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;ACjjBA;AACA;AACA;AACoC;AACH;AACoB;;;AAGrD;AACA,WAAW,OAAO;AAClB,WAAW,yCAAyC;AACpD,YAAY,gCAAgC;AAC5C;AACO;AACP,kBAAkB,GAAG;AACrB,kBAAkB,GAAG;AACrB,kBAAkB,GAAG;AACrB,sBAAsB,IAAI;AAC1B;AACA;AACA,eAAe,mCAAmC;AAClD,eAAe,OAAO;AACtB,eAAe,uCAAuC;AACtD,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,YAAY,iCAAM,YAAY,SAAS,GAAG;AAC1C;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,yCAAyC;AACpD,YAAY,gCAAgC;AAC5C;AACO;AACP;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;;AAGA;AACA,WAAW,uCAAuC;AAClD,YAAY,gCAAgC;AAC5C;AACO;AACP;AACA;AACA;AACA;AACA;AACA,eAAe,mCAAmC;AAClD,eAAe,OAAO;AACtB,eAAe,uCAAuC;AACtD,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP,gBAAgB,iCAAa;AAC7B,oBAAoB,8BAAM;AAC1B;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,mCAAmC;AAC9C,WAAW,OAAO;AAClB,WAAW,uCAAuC;AAClD,YAAY,iBAAiB;AAC7B;AACO;AACP;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,YAAY,cAAc;AAC1B;AACO;AACP;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA,kCAAkC,0BAA0B;AAC5D;AACA;AACA;AACA;AACA,qBAAqB,aAAa;AAClC;AACA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2C;;;;;;;;;;;;;;;;;;;;ACpIA;AACA;AACA;AACoC;AACE;AACU;AACX;;;AAGrC;AACA;AACA;AACA;AACA,aAAa,0EAA0E;AACvF;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,0CAA0C;AACvG;AACA,aAAa,iCAAiC;AAC9C;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,gBAAgB;AAC9B,cAAc,QAAQ;AACtB,cAAc,oCAAoC;AAClD,cAAc,YAAY;AAC1B,cAAc,QAAQ;AACtB;;;AAGA;AACA;AACA,uBAAuB;AACvB;AACA,mBAAmB,kCAAkC;AACrD;AACA;AACA;AACA;AACA;AACA,IAAI,aAAM;AACV;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA,uBAAuB,2BAAa;;AAEpC;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA,sBAAsB,wBAAW;;AAEjC;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,aAAa;AAC3B;AACA;AACA;AACA;;AAEA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,wCAAwC;AACtD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,wBAAwB;AACtC;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA,uCAAuC,mCAAmC;AAC1E,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,0BAA0B;AACvC,uDAAuD,0CAA0C;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4BAAU;;;AAGZ;AACA;AACA,WAAW,0BAA0B;AACrC,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGe,+DAAM,EAAC;;AAEtB,kC;;;;;AChNA;AACA;AACA;AACoC;AACI;AACA;AACD;AACD;AACgB;AACrB;AAC2B;AACuB;;AAEnF;AACA,aAAa,OAAO;AACpB,cAAc,sCAAsC;AACpD,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc,oCAAoC;AAClD,cAAc,6BAA6B;AAC3C,cAAc,0CAA0C;AACxD,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,IAAI,eAAU;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,yBAAyB,4BAAS;;AAElC;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,wBAAwB;;AAExB;;AAEA;AACA;AACA;;AAEA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD,aAAa,mDAAmD;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD,aAAa,OAAO;AACpB,aAAa,kCAAkC;AAC/C,aAAa,sDAAsD;AACnE;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,qBAAqB;AACrD,kCAAkC,qBAAqB;AACvD,uBAAuB,sCAAS;AAChC;AACA;AACA,4BAA4B,8BAA8B;AAC1D,uCAAuC,4BAAS;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,wCAAwC;AACrD,cAAc,8BAA8B;AAC5C;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA;AACA,cAAc,0CAA0C;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD,cAAc,2CAA2C;AACzD;AACA;AACA;AACA,aAAa,4CAAwB;AACrC,KAAK;AACL;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD,cAAc,kCAAkC;AAChD;AACA;AACA;AACA;AACA,qBAAqB,kCAAU;AAC/B;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,wCAAwC;AACrD,cAAc,0BAA0B;AACxC;AACA;AACA;AACA;AACA,mBAAmB,8BAAM;AACzB;AACA;AACA,KAAK;AACL,aAAa,6BAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,aAAa,yCAAyC;AACtD,cAAc,oCAAoC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,iCAAK;AACvB;AACA,WAAW,6CAAgB;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,wCAAwC;AACrD;AACA;;AAEA;AACA,CAAC,CAAC,aAAM;;;AAGR;AACA;AACA,sBAAsB,uCAAuC;AAC7D;AACA;AACO;AACP;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,wBAAK;;AAEQ,wDAAU,EAAC;;AAE1B,gC;;ACpVA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;;AAEf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC,EAAC;;AAEF,yC;;ACjCA;AACA;AACA;AACkC;AACM;AACkD;AACpC;AACP;AACL;;AAE1C;AACA,aAAa,OAAO;AACpB,cAAc,sCAAsC;AACpD,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,oCAAoC;AAClD,cAAc,6BAA6B;AAC3C,cAAc,0CAA0C;AACxD,cAAc,kCAAkC;AAChD,cAAc,OAAO;AACrB,cAAc,iCAAiC;AAC/C,cAAc,OAAO;AACrB,cAAc,cAAc;AAC5B,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,eAAO;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,0FAA0F,mBAAmB;;AAE7G;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,kCAAkC;AAChD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,iCAAiC;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,qCAAqC;AAClD;AACA;AACA;AACA,0BAA0B,6BAA6B;AACvD,cAAc,8BAAM;AACpB;AACA;AACA,qBAAqB,4BAAS;AAC9B;AACA,aAAa,aAAa;AAC1B,KAAK;AACL;AACA,0BAA0B,4BAAS,SAAS,aAAa;AACzD,sBAAsB,4BAAS,wBAAwB,4BAAS;AAChE,UAAU,aAAa;AACvB;AACA;AACA,6BAA6B,eAAe;AAC5C;AACA;;AAEA;AACA;AACA,aAAa,kCAAkC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iCAAiC;AAC9C,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;;AAEA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,mBAAmB;AACjD,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,sCAAS;AAChC;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,IAAU;;;AAGG,6FAAO,EAAC;;AAEvB,mC;;;;;;;;;;;;;;;;;;;;;AC5NA;AACA;AACA;AACgC;;;AAGhC;AACA,aAAa,6GAA6G;AAC1H;;;AAGA;AACA,WAAW,6BAA6B;AACxC,YAAY,KAAK;AACjB;AACO;AACP;AACA;AACA,eAAe,sCAAsC;AACrD,gBAAgB,+CAA+C;AAC/D;AACA;AACA;AACA;AACA,UAAU,6BAAK;AACf,UAAU,6BAAK;AACf;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,sCAAsC;AACjD,YAAY,+CAA+C;AAC3D;AACO;AACP;AACA;;AAEA,4C;;;;;;;;AC3CA;AACA;AACA;AAC6C;AACb;;;AAGhC;AACA,aAAa,iEAAiE;AAC9E;;;AAGA;AACA,WAAW,cAAc;AACzB,YAAY,KAAK;AACjB;AACO;AACP;AACA;AACA,eAAe,iBAAiB;AAChC,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA,gBAAgB,0CAAiB;AACjC,YAAY,6BAAK;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,KAAK;AACjB;AACO;AACP;AACA;AACA,eAAe,iBAAiB;AAChC,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;;AAEA,gD;;;;;;;;ACzEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA,CAAC,EAAC;;AAEF,wC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACuD;AACtB;AACG;AACmC;AAClC;AACgD;AACkB;AAClE;AACQ;AACA;AACT;AACyE;AACxE;AACkD;AACrC;AACgB;AAC1B;AACR;AAC4B;AACxB;;;AAGpC;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,qCAAqC;AACnD,cAAc,qCAAqC;AACnD,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,qCAAqC;AACnD,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,wBAAwB;AACtC,cAAc,kBAAkB;AAChC;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,qCAAqC;AACnD,cAAc,yCAAyC;AACvD,cAAc,uCAAuC;AACrD;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,yBAAyB;AACvC;AACA;AACA,cAAc,eAAe;AAC7B;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,wBAAwB;AACtC,+BAA+B,gCAAgC;AAC/D;AACA;AACA;AACA,cAAc,kBAAkB;AAChC;AACA;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,qCAAqC;AACnD;AACA;AACA,yCAAyC,iBAAiB;AAC1D,cAAc,eAAe;AAC7B;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA,cAAc,6BAA6B;AAC3C;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,cAAc,mCAAmC;AACjD;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,SAAS,eAAe,KAAK,qBAAqB;AAClD,cAAc,cAAc;AAC5B;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA,uCAAuC,2BAA2B;AAClE,cAAc,OAAO;AACrB;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,qCAAqC;AACnD;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,qCAAqC;AACnD;AACA,cAAc,OAAO;AACrB,cAAc,wBAAwB;AACtC,sCAAsC,gCAAgC;AACtE;AACA;AACA;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,qCAAqC;AACnD,cAAc,uCAAuC;AACrD,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAI;AACR;AACA;;AAEA,kBAAkB,6BAAM,GAAG;;AAE3B;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA,uBAAuB,wCAAgB;;AAEvC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,YAAY;AACzB;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA,eAAe,YAAY;AAC3B;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B,KAAK;AACL,iBAAiB,YAAY;AAC7B;;AAEA,8BAA8B;AAC9B,mBAAmB,YAAY,eAAe,6BAAK;AACnD,oDAAoD,YAAY;AAChE;AACA;AACA;AACA,eAAe,YAAY;AAC3B;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,cAAc,YAAY;AAC1B;AACA;AACA,kBAAkB,6BAAM,GAAG;;AAE3B;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,WAAW,6BAAM,GAAG;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,eAAe;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC,+BAA+B,iBAAiB;;AAEhD,iCAAiC,UAAU;AAC3C;AACA;AACA;AACA;AACA,kCAAkC,0BAAQ;AAC1C,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,8BAAM;AAC1B;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,iBAAiB,2BAAQ;AACzB;AACA;;AAEA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA,uBAAuB,2BAAQ;AAC/B;;AAEA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA,uBAAuB,2BAAQ;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,2BAAQ,yBAAyB,2BAAQ;AAC1D,iDAAiD,QAAQ;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA,YAAY,8BAAM;AAClB;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,qCAAqC;AAClD,cAAc,+CAA+C;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,oCAAgB;AACtB,MAAM,iCAAa;AACnB;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,qCAAqC;AAClD,cAAc,+CAA+C;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,yBAAyB;AACvC;AACA;AACA;AACA,gDAAgD,8BAAM;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,+CAA+C;AAC5D,cAAc,+CAA+C;AAC7D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B,aAAa,QAAQ;AACrB,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,+CAA+C;AAC7D;AACA;AACA;AACA;AACA;AACA,iBAAiB,+CAA+C,cAAc,YAAY;AAC1F;AACA;;AAEA;AACA,cAAc,YAAY;AAC1B;AACA;AACA;AACA;;AAEA;AACA,aAAa,eAAe;AAC5B,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,0BAA0B;AACvC;AACA,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;AACA,4BAA4B,sCAAsC;AAClE,IAAI,iCAAM,YAAY;AACtB,gCAAgC,QAAQ;AACxC,IAAI,iCAAM,8BAA8B;AACxC,8BAA8B,QAAQ;AACtC,IAAI,iCAAM,4BAA4B;;AAEtC,WAAW,8CAAiB;AAC5B;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,sBAAsB,OAAO;AAC7B;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA,gDAAgD,cAAc;AAC9D;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,sBAAsB,OAAO;AAC7B;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA,gDAAgD,cAAc;AAC9D;;AAEA;AACA;AACA,cAAc,uCAAuC;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB,cAAc,YAAY;AACjE;;AAEA;AACA;AACA;AACA,cAAc,wBAAwB;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,6BAA6B;AAC1C,aAAa,0BAA0B;AACvC,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA,sBAAsB,qCAAQ;AAC9B,sBAAsB,sCAAS;AAC/B;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc,yBAAyB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB,kBAAkB,OAAO;AACzB;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA,sBAAsB,OAAO,cAAc,YAAY;AACvD;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc,yBAAyB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB,kBAAkB,OAAO;AACzB;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,aAAa,OAAO;AACpB,cAAc,MAAM;AACpB;AACA;AACA,4BAA4B,qCAAqC;AACjE;AACA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,0CAAiB;AACrC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA,sBAAsB,OAAO;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,wEAAwE;AACrF;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,2CAA2C;AAC1D;AACA,IAAI,iCAAM,sDAAsD,EAAE;AAClE,UAAU;AACV;AACA,MAAM,iCAAM,EAAE,oCAAO;AACrB,YAAY;AACZ,iBAAiB,qCAAiB;AAClC,KAAK,yCAAyC,+BAAY;AAC1D;AACA,iBAAiB,qCAAiB;AAClC,0CAA0C,sCAAS;AACnD,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,yBAAI;;AAE7D;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,qCAAqC;AAClD,aAAa,yBAAyB;AACtC,aAAa,2BAA2B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,sCAAsC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,+CAA+C;AAC5D;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4BAAU;;;AAGZ;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA,WAAW,YAAY;AACvB,YAAY,qCAAqC;AACjD;AACO;AACP;AACA,WAAW,YAAY;AACvB,GAAG;AACH,WAAW,IAAU;AACrB;AACA;;;AAGA;AACA,WAAW,YAAY;AACvB,aAAa;AACb,mEAAmE;AACnE;AACO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA,GAAG;AACH;AACA,qBAAqB,wCAAgB;AACrC;AACA;AACA;AACA,YAAY,+BAAe,CAAC,wBAAK;AACjC;AACA,eAAe,qCAAQ,UAAU,sCAAS;;AAE1C,sCAAsC,mCAAiB;AACvD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,iBAAiB;AAC5C;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA,WAAW,YAAY;AACvB,YAAY,uCAAuC;AACnD;AACO;AACP;AACA;AACA;AACA;AACA;AACA,aAAa,sDAAgB;AAC7B,KAAK;AACL,aAAa,kCAAY;AACzB,KAAK;AACL,aAAa,mDAAa;AAC1B,KAAK;AACL,aAAa,kCAAY;AACzB;AACA,GAAG;AACH,WAAW,qCAAO;AAClB;AACA;;;AAGA;AACA;AACA,WAAW,UAAU;AACrB,YAAY,QAAQ;AACpB;AACO;AACP;AACA,SAAS,oCAAgB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,gFAAI,EAAC;;AAEpB,gC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3zCA;AACA;AACA;AACoC;;;AAGpC;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA,yBAAyB,gCAAgC,GAAG,yCAAyC;AACrG,IAAI,gDAAgD;AACpD;AACA;AACA;AACA,IAAI,gBAAU;;AAEd;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;;AAEA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA,gBAAU;AACV,aAAa,gBAAU;AACvB;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA,gBAAU;AACV;AACA;;AAEA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA,gBAAU;AACV;AACA;;AAEA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA,gBAAU;AACV;AACA;;AAEA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA,gBAAU;AACV;AACA;;AAEA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA,gBAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,cAAc;AAC1B;AACA,gBAAU;AACV,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,oDAAoD;AAChE;AACA,gBAAU;AACV,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,oDAAoD;AAChE;AACA,gBAAU;AACV,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA,YAAY,mCAAmC;AAC/C;AACA,gBAAU;AACV,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA,YAAY,0BAA0B;AACtC;AACA,gBAAU;AACV,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA,YAAY,0BAA0B;AACtC;AACA,gBAAU;AACV,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA,YAAY,cAAc;AAC1B;AACA,gBAAU;AACV,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA,YAAY,0BAA0B;AACtC;AACA,gBAAU;AACV,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,gBAAU;AACV;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,gBAAU;AACV;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,gBAAU;AACV;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,gBAAU;AACV;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA,gBAAU;;AAEV;AACA;AACA,WAAW,wDAAwD;AACnE,WAAW,EAAE;AACb,YAAY,2CAA2C;AACvD;AACA;AACA,gBAAU;AACV,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA,gBAAU;AACV,EAAE,gCAAQ;AACV;;AAEA;AACA;AACA,WAAW,wDAAwD;AACnE,WAAW,EAAE;AACb;AACA;AACA,gBAAU;AACV,EAAE,gCAAQ;AACV;;AAEe,0DAAU,EAAC;;AAE1B,iC;;ACpQA;AACA;AACA;;AAEqC;AACO;AACI;AACL;AACD;AACqG;AAC3G;;;AAGpC;AACA;AACA,aAAa,OAAO;AACpB,cAAc,4BAA4B;AAC1C,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,8BAA8B;AAC5C,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,oCAAoC;AAClD;AACA;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,oCAAoC;AAClD,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,cAAc;AAC5B,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,yBAAY;AAChB;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,8BAA8B,OAAO;AACrC;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,aAAa;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,4BAA4B;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,6BAAU;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,8BAA8B;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,8CAA8C;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,oCAAkB;AACxC;AACA,oBAAoB,wCAAW;AAC/B;AACA;AACA,sBAAsB,kCAAgB;AACtC;AACA;AACA;AACA,WAAW,+BAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA,mBAAmB,iCAAe;AAClC;AACA;AACA;AACA,kBAAkB,gCAAc;AAChC;AACA;AACA;AACA,qBAAqB,mCAAiB;AACtC;AACA;;AAEA;;AAEA,eAAe,cAAc;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,4CAAqB;AACzC;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,cAAc;AAC3B,aAAa,yBAAyB;AACtC,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB,aAAa;AAC9B;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,gBAAgB,kCAAgB;AAChC;AACA,0BAA0B,wCAAW;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,cAAc;AACjD,oCAAoC,eAAe;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,4CAAqB;AACvC;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,cAAc;AAC3B,aAAa,yBAAyB;AACtC,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,aAAa;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,oCAAQ,CAAC,kCAAgB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,OAAO;AAC7B;;AAEA;AACA,CAAC,CAAC,KAAU;;;AAGG,gFAAY,EAAC;;AAE5B,wC;;AC9kBA;AACA;AACA;;AAE6C;;;AAG7C;AACA,aAAa,OAAO;AACpB,cAAc,4BAA4B;AAC1C,cAAc,OAAO;AACrB,cAAc,8BAA8B;AAC5C,cAAc,oCAAoC;AAClD;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,QAAQ,OAAO;;AAE3D;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,kBAAY;;;AAGC,iFAAW,EAAC;;AAE3B,kC;;;;;;;AC7EA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,6BAA6B;AACxC,WAAW,OAAO;AAClB,YAAY,oCAAoC;AAChD;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA,WAAW,6BAA6B;AACxC,WAAW,OAAO;AAClB,YAAY,oCAAoC;AAChD;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,yCAAyC;AACpD,YAAY,oFAAoF;AAChG;AACA;AACO;AACP;AACA;AACA,eAAe,6BAA6B;AAC5C,eAAe,OAAO;AACtB,gBAAgB,oCAAoC;AACpD;AACA;AACA;AACA;AACA,iBAAiB,oCAAoC;AACrD;AACA,iBAAiB,mCAAmC;AACpD;AACA,yCAAyC,gCAAgC;AACzE,2CAA2C,gCAAgC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2C;;;;;;;AC5DA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACwC;AACT;AACsB;AACpB;AACmD;;;AAGpF;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,8BAA8B;AAC5C;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,qCAAqC;AACnD;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA,cAAc,+CAA+C;AAC7D;AACA;AACA;AACA;AACA,cAAc,sCAAsC;AACpD,cAAc,qCAAqC;AACnD;AACA;AACA,QAAQ,6BAA6B;AACrC,cAAc,QAAQ;AACtB;AACA;AACA,cAAc,sCAAsC;AACpD,IAAI,sBAAsB;AAC1B,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;;;AAGA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,0DAA0D;AAC1D,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ,OAAO;;AAE9C,sBAAsB,8DAAM,GAAG;;AAE/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA,6CAA6C,oEAAgB;;AAE7D;AACA;AACA;AACA,aAAa;AACb;AACA,gBAAgB,6DAAS;;AAEzB;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;;AAEA;AACA,aAAa,kGAAkG;AAC/G;AACA;AACA;AACA;AACA,eAAe,oDAAoD;AACnE;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,oDAAoD;AACjE;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,oDAAoD;AAChE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,sBAAsB;AAC3B,YAAY,wIAAwI;AACpJ;AACA;AACA;AACA,gDAAgD,0EAAkB;AAClE;AACA,kBAAkB,0EAAe;AACjC;AACA;;AAEA;AACA,aAAa,+CAA+C;AAC5D;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,yDAAK;;;AAGP;AACA,0BAA0B,2CAA2C;AACrE;AACA,YAAY,sCAAsC;AAClD;AACA;AACA;;;AAGe,oEAAW,EAAC;;AAE3B,kC;;;;;;;ACvQA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACwC;AACT;AACc;AACZ;;;AAGjC;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,8BAA8B;AAC5C;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,oCAAoC;AAClD,cAAc,qCAAqC;AACnD;AACA;AACA,QAAQ,6BAA6B;AACrC,cAAc,QAAQ;AACtB;;AAEA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,8DAAM,GAAG;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA,gBAAgB,6DAAS;;AAEzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,sBAAsB,OAAO,cAAc,gEAAY;AACvD;;AAEA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,aAAa,gEAAY;AACzB;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,sBAAsB,QAAQ,cAAc,gEAAY;AACxD;;AAEA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,aAAa,gEAAY;AACzB;;AAEA;AACA,CAAC,CAAC,yDAAK;;;AAGP;AACA,0BAA0B,uCAAuC;AACjE;AACA,YAAY,oCAAoC;AAChD;AACA;AACA;;;AAGe,kEAAS,EAAC;;AAEzB,gC;;;;;;;AC7HA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACwC;AACH;AACQ;AACP;AACuB;AAC5B;;;AAGjC;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,8BAA8B;AAC5C;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,qCAAqC;AACnD;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA,cAAc,mDAAmD;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,0CAA0C;AACxD,cAAc,qCAAqC;AACnD;AACA;AACA,QAAQ,6BAA6B;AACrC,cAAc,QAAQ;AACtB;AACA;AACA;AACA,cAAc,sCAAsC;AACpD,IAAI,sBAAsB;AAC1B,cAAc,QAAQ;AACtB;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,qCAAqC;AACnD;AACA,cAAc,sCAAsC;AACpD,IAAI,sBAAsB;AAC1B,cAAc,QAAQ;AACtB;;;AAGA;AACA;AACA;AACA,0DAA0D;AAC1D,gCAAgC;AAChC;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA,2CAA2C,wEAAoB;AAC/D,IAAI,kEAAM;AACV,qBAAqB,wEAAoB;AACzC,qBAAqB,wEAAoB;AACzC,qBAAqB,wEAAoB;AACzC,QAAQ;AACR,2CAA2C,wEAAoB;AAC/D,mBAAmB,wEAAoB;AACvC;AACA;;AAEA,iCAAiC,OAAO,KAAK,8DAAM,GAAG;AACtD;AACA;;AAEA,gCAAgC,8BAA8B;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA,gBAAgB,6DAAS;;AAEzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,sBAAsB,OAAO,cAAc,gEAAY;AACvD;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,sBAAsB,QAAQ,cAAc,gEAAY;AACxD;;AAEA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,aAAa,gEAAY;AACzB;;AAEA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,aAAa,gEAAY;AACzB;;AAEA;AACA,CAAC,CAAC,0DAAW;;;AAGb;AACA,0BAA0B,mDAAmD;AAC7E;AACA,YAAY,0CAA0C;AACtD;AACA;AACA;AACe,wEAAe,EAAC;;AAE/B,sC;;;;;;;;;;;;;;;AC3KA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,+C;;;;;;;;ACtBA;AACA;AACA;AACiD;AACU;AACtB;AACC;;;AAGtC;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,sBAAsB,sCAAsC;AAC5D;AACA;AACO;AACP;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,wBAAK;;;AAGP;AACA,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,qBAAU;AACd;;AAEA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,cAAc,cAAc;AAC5B;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,mBAAmB;AAC7C;;AAEA;AACA;AACA;AACA,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,EAAE;AACf,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,EAAE;AACf,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,mBAAmB;AAC9D;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,mBAAmB;AAC/C;AACA,4BAA4B,mBAAmB;AAC/C,KAAK;AACL,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA,kBAAkB,iCAAc;AAChC;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4BAAU;;;AAGG,uEAAU,EAAC;;AAE1B,sC;;AClSA;AACA;AACA;AACsC;;AAEtC;AACA;AACA;AACA,QAAQ,0CAA0C;AAClD;AACA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,wBAAK;;AAEQ,wDAAQ,EAAC;;AAExB,oC;;ACxCA;AACA;AACA;AACqC;;AAErC;AACA;AACA;AACA,QAAQ,0CAA0C;AAClD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,WAAQ;;;AAGK,sEAAe,EAAC;;AAE/B,2C;;;;;;;;AChFA;AACA;AACA;AAC8C;;AAE9C;AACA;AACA,UAAU;AACV;AACe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,4BAAS;;AAElB;AACA;AACA;AACA;AACA;AACA,YAAY,4BAAS;;AAErB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,+C;;ACzDA;AACA;AACA;AACmD;;AAEnD;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,kBAAe;;AAEF,oFAAsB,EAAC;;AAEtC,kD;;;;;;;;AC3BA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,qC;;ACnBA;AACA;AACA;;AAEA,IAAI,uBAAW;;AAEf;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,YAAY,cAAc;AAC1B;AACA,uBAAW;AACX;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,gBAAgB;AAC5B;AACA,uBAAW;AACX;AACA;;AAEe,+EAAW,EAAC;;AAE3B,uC;;ACtCA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D,oBAAoB;AACpB;AACA;AACA;;AAE2C;;;AAG3C;AACA,UAAU;AACV;AACO;;;AAGP;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,WAAW;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,iDAAiD,uBAAuB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,mBAAW;;;AAGb;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,2CAA2C;AACtD,YAAY,OAAO;AACnB;AACO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGe,mEAAW,EAAC;;AAE3B,uC;;AC1PA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D,oBAAoB;AACpB;AACA;AACA;;AAE2C;;;AAG3C;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,cAAc,OAAO;AACrB;AACA;AACA,eAAe,sBAAsB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,mBAAW;;AAEE,6DAAQ,EAAC;;AAExB,oC;;ACpMA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D,oBAAoB;AACpB;AACA;AACA;;AAE2C;;AAE3C;AACA;AACA;AACA,UAAU;AACV,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,mBAAW;;AAEE,qEAAY,EAAC;;AAE5B,wC;;AC5IA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D,oBAAoB;AACpB;AACA;AACA;;AAEwC;;;AAGxC;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,wBAAM;;;AAGR;AACA,WAAW,kBAAkB;AAC7B,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,0BAA0B;AAC1B,0BAA0B;AAC1B,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,kBAAkB;AAC7B,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,sCAAsC,WAAW;AACjD;AACA,GAAG;AACH;AACA;AACA,CAAC;;AAEc,qEAAY,EAAC;;AAE5B,wC;;;;;AC/QA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D,oBAAoB;AACpB;AACA;AACA;;AAEmC;AACQ;AACC;;;AAG5C;AACA,UAAU;AACV;AACA;;AAEA;AACA,UAAU;AACV;AACA,IAAI,wBAAY;;AAEhB;AACA;AACA;AACA;AACA,UAAU;AACV,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,WAAW;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV,WAAW,WAAW;AACtB;AACA;AACA;AACA;;;AAGA,IAAI,uBAAW;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,MAAM;AACnB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA,uCAAuC,UAAU;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,MAAM;AACnB,cAAc,aAAa;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,wBAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,mCAAmC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,mBAAmB,OAAO;AAC1B,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,+BAAM;AACd,OAAO;AACP;AACA;;AAEA;AACA,CAAC,CAAC,mBAAW;;AAEE,+EAAW,EAAC;;AAE3B,uC;;AC1aA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D,oBAAoB;AACpB;AACA;AACA;;AAE8C;AACA;AACM;AACN;AACkC;AAC3C;AACQ;AACA;AACF;;;AAG3C;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,IAAI,uCAAmB;AACvB;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ,sBAAO;AACf,wCAAwC,oBAAY;AACpD,KAAK,UAAU,wBAAS;AACxB,oCAAoC,gBAAQ;AAC5C,KAAK;AACL,4BAA4B,mBAAW;AACvC;;AAEA,UAAU,oBAAK;AACf,yCAAyC,mBAAW;AACpD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,mCAAmC;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA,MAAM,mCAAM;AACZ,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA,MAAM,qCAAQ;AACd,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,YAAY;AACzB;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;;AAEA;AACA;;AAEA;;;AAGA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA,mBAAmB,iBAAgB;AACnC;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA,mBAAmB,iBAAgB;AACnC;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA,mBAAmB,iBAAgB;AACnC;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA,mBAAmB,iBAAgB;AACnC;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA,mBAAmB,iBAAgB;AACnC;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA,mBAAmB,iBAAgB;AACnC;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA,mBAAmB,iBAAgB;AACnC;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA,mBAAmB,iBAAgB;AACnC;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB,cAAc,aAAa;AAC3B;AACA;AACA,eAAe,oBAAY;AAC3B;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB,cAAc,aAAa;AAC3B;AACA;AACA;AACA,iBAAiB,YAAiB;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,yBAAW;;AAEE,uGAAmB,EAAC;;AAEnC,+C;;ACraA;AACA;AACA;AAC4C;AACe;AACM;AACf;AACL;AACS;AACa;;AAEnE,IAAI,6CAAsB;AAC1B;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA,sBAAsB,iCAAkB,GAAG,iCAAkB;;AAE7D;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,oCAAoC,2BAAmB;;AAEvD;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA,mCAAmC,mCAAM;AACzC,MAAM,iBAAgB;AACtB;;AAEA;AACA,cAAc;AACd;AACA;AACA,+BAA+B,mCAAM;AACrC,MAAM,iBAAgB;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,4CAA4C;AACzD;AACA;AACA;AACA;AACA,uBAAuB,yBAAsB;AAC7C,MAAM,mBAAmB;AACzB;AACA;AACA;AACA;AACA;AACA,qBAAqB,yBAAsB;AAC3C,QAAQ,mBAAmB;AAC3B;AACA,KAAK;AACL;AACA;AACA;AACA,2BAA2B,yBAAsB;AACjD,UAAU,mBAAmB;AAC7B;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,aAAa,4CAA4C;AACzD;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,mBAAmB;AACzC,sBAAsB,mBAAmB;AACzC;AACA,KAAK,wBAAwB,mBAAmB;AAChD;AACA;AACA;AACA;;AAEA;AACA,aAAa,4CAA4C;AACzD;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAsB;AAC7C,MAAM,mBAAmB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC,kCAAa;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,4CAA4C;AACzD;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,4CAA4C;AACzD;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAsB;AAC7C,MAAM,mBAAmB;AACzB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,2BAAmB;;AAEjC;AACA,QAAQ,mCAAM;AACd,UAAU,mBAAmB;AAC7B;AACA,QAAQ,mCAAM;AACd,UAAU,mBAAmB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mCAAM;AACd,UAAU,mBAAmB;AAC7B;AACA;AACA;AACA;;AAEA;AACA,aAAa,4CAA4C;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,yBAAsB;AAC/C,QAAQ,mBAAmB;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,4CAA4C;AACzD;AACA;AACA;AACA;AACA;AACA,2BAA2B,yBAAsB;AACjD;AACA;;AAEA;AACA,aAAa,4CAA4C;AACzD;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM,0CAAa;AACnB;AACA;AACA;AACA,MAAM,0CAAa;AACnB;AACA;;AAEA,mCAAmC,kCAAa;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,yBAAW;;;AAGE,2GAAsB,EAAC;;AAEtC,kD;;ACvUA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;;AAEf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC,EAAC;;AAEF,wC;;AChCA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,uC;;;;;;;;;;;;;;;;;ACdA;AACA;AACA;AACqC;AACL;;;AAGhC;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,2BAAa;;AAEjB;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,2BAAa;AACb;AACA;AACA,EAAE,4BAAK;AACP;;;AAGA;AACA;AACA,YAAY,EAAE;AACd;AACA,2BAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,EAAE;AACb,YAAY,QAAQ;AACpB;AACA,2BAAa;AACb,EAAE,iCAAM;AACR,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,YAAY,OAAO;AACnB;AACA,2BAAa;AACb;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA,2BAAa;AACb;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA,2BAAa;AACb;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA,2BAAa;AACb;AACA;;;AAGA;AACA;AACA;AACA;AACA,2BAAa;AACb;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;;;AAGA;AACA,YAAY,QAAQ;AACpB;AACA,2BAAa;AACb;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA,2BAAa;AACb;AACA;;;AAGA;AACA,WAAW,EAAE;AACb,YAAY,QAAQ;AACpB;AACA,2BAAa;AACb;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB;AACA;AACA,2BAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA,2BAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,2BAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGe,qFAAa,EAAC;;AAE7B,yC;;ACnRA;AACA;AACA;AACuC;AACM;AACC;AACS;;;AAGvD;AACA,aAAa,oGAAoG;AACjH;;;AAGA,IAAI,mBAAS;AACb;;AAEA;AACA;AACA,iBAAiB,MAAM;AACvB,kBAAkB,OAAO;AACzB;AACA;AACA;AACA,OAAO;AACP;AACA,iBAAiB,MAAM;AACvB,kBAAkB,OAAO;AACzB;AACA;AACA,2BAA2B,4BAA4B;AACvD,OAAO;;AAEP;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mCAAM,OAAO,4BAAS;AAC5B;AACA;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA,aAAa,oCAAoC;AACjD;AACA;AACA;AACA,0BAA0B,4BAA4B;AACtD;AACA,kBAAkB,4BAAS,qBAAqB,4BAAS;AACzD,kBAAkB,4BAAS,oBAAoB,4BAAS;AACxD,MAAM,qCAAQ,OAAO,4BAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,4BAA4B;AACpD;AACA;AACA,oBAAoB,4BAAS;AAC7B;AACA,OAAO,oBAAoB,4BAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,qBAAa;;;AAGA,oEAAS,EAAC;;AAEzB,qC;;;;;;;;;;;;;;;;;;;;;;;AClIA;AACA;AACA;AACkC;AACQ;AACkB;AACZ;AACI;AACf;AACc;AACJ;AACF;AACX;AACM;AACK;;;AAG7C;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,8BAA8B;AAC5C;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,mGAAmG;AACjH;;;AAGA;AACA,UAAU;AACV;AACA;AACA,IAAI,cAAQ;AACZ;AACA;;;AAGA;AACA;AACA,MAAM,sCAAsC;AAC5C;AACA;AACA;AACA;AACA;AACA,IAAI,gBAAU;AACd;;AAEA;AACA,iCAAiC,QAAQ,KAAK,6BAAM,GAAG;AACvD;;AAEA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA,IAAI,mCAAM;AACV,MAAM,+CAAkB,CAAC,cAAQ;AACjC;;AAEA;AACA;AACA,qBAAqB,aAAU,kBAAkB,aAAa;AAC9D,OAAO;AACP,QAAQ,iCAAM,mBAAmB,EAAE;AACnC,cAAc;AACd;AACA,KAAK;AACL,mBAAmB,aAAU,aAAa,aAAa;AACvD;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAqC,kCAAa;AAClD;;AAEA;AACA;AACA,MAAM,mCAAM,SAAS,mBAAmB;AACxC,MAAM,mCAAM,SAAS,mBAAmB;AACxC;;AAEA;AACA,qCAAqC,kCAAa;AAClD;AACA,IAAI,4BAAK;;AAET;AACA,4CAA4C,QAAQ;AACpD;AACA,yBAAyB,8BAAM;AAC/B,QAAQ,mCAAM,QAAQ,kCAAe;AACrC,QAAQ,mCAAM,QAAQ,4BAAS;AAC/B;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,2CAA2C;AACxD;AACA;AACA;AACA,2BAA2B,4BAA4B;AACvD,uBAAuB,8BAAM;AAC7B,MAAM,mCAAM,QAAQ,kCAAe;AACnC,MAAM,mCAAM,QAAQ,4BAAS;AAC7B;AACA;AACA;;AAEA;AACA,aAAa,2CAA2C;AACxD;AACA;AACA;AACA,2BAA2B,4BAA4B;AACvD,cAAc,8BAAM;AACpB,oCAAoC,kCAAa;AACjD;AACA;AACA;;AAEA;AACA,kBAAkB,sCAAsC,KAAK;AAC7D;AACA,cAAc,iEAAiE;AAC/E,QAAQ,kCAAkC;AAC1C;AACA;AACA;AACA;AACA;AACA,iBAAiB,iEAAiE,cAAc,cAAQ;AACxG;AACA;;AAEA;AACA,cAAc,sCAAsC,KAAK;AACzD;AACA,aAAa,iEAAiE;AAC9E,QAAQ,kCAAkC;AAC1C;AACA;AACA;AACA;AACA,aAAa,cAAQ;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,4CAAe;AAC7C,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,wBAAW;AACtB;;AAEA;AACA,CAAC,CAAC,uBAAS;;;AAGI,0DAAU,EAAC;;AAE1B,iC;;;;;;;;ACnPA;AACA;AACA;AACiC;AACQ;AACkB;AACR;AACc;AACN;AACtB;AACQ;AACF;AACS;AACO;AACR;AACZ;AACV;AACQ;AACD;AACA;AACwB;AACV;AACJ;AAC0D;AACpE;AACe;AACT;AACR;AACc;AACkC;;;AAGlF;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,0BAA0B;AACxC,cAAc,QAAQ;AACtB,cAAc,mCAAmC;AACjD,cAAc,kCAAkC;AAChD,cAAc,qCAAqC;AACnD,cAAc,OAAO;AACrB,cAAc,iDAAiD;AAC/D,cAAc,wCAAwC;AACtD,cAAc,mCAAmC;AACjD,cAAc,0BAA0B;AACxC,cAAc,yBAAyB;AACvC,cAAc,yBAAyB;AACvC,cAAc,UAAU;AACxB,cAAc,iEAAiE;AAC/E,cAAc,cAAc;AAC5B,cAAc,yCAAyC;AACvD;;;AAGA;AACA,aAAa,6CAA6C;AAC1D;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,gEAAgE;AAC9E;AACA,IAAI,4CAA4C;AAChD;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,mDAAmD;AACjE,cAAc,2DAA2D;AACzE,cAAc,qBAAqB;AACnC,cAAc,2CAA2C;AACzD,cAAc,kBAAkB;AAChC;;;AAGA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,iGAAiG;AAC/G;AACA,IAAI,iCAAiC;AACrC,cAAc,OAAO;AACrB;AACA,cAAc,iHAAiH;AAC/H;AACA,IAAI,qCAAqC;AACzC,cAAc,4BAA4B;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,kGAAkG;AAChH;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,QAAQ;AACtB;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA,cAAc,iFAAiF;AAC/F;AACA,cAAc,mBAAmB;AACjC;AACA,UAAU,kCAAkC;AAC5C;AACA,cAAc,KAAK;AACnB;AACA,IAAI,gCAAgC;AACpC;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,yBAAY;AAChB;;AAEA;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA,2BAA2B,iCAAkB;;AAE7C;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,cAAc;AACd;AACA,uCAAuC,sCAAe;;AAEtD;AACA;AACA,cAAc;AACd;AACA,uCAAuC,sCAAe;;AAEtD;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA,gDAAgD,oBAAK;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,MAAM,4BAAS;AACf,MAAM,4BAAS;AACf,MAAM,4BAAS;AACf,MAAM,4BAAS;AACf,MAAM,4BAAS;AACf,MAAM,mBAAmB;AACzB,MAAM,4BAAS;AACf,MAAM,4BAAS;AACf;AACA,8CAA8C,QAAQ;AACtD,MAAM,mCAAM,oDAAoD,gCAAe;AAC/E;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,uCAAuC,yBAAsB;AAC7D,oBAAoB,mBAAmB;AACvC,MAAM,mCAAM,+BAA+B,mBAAmB;AAC9D;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA,IAAI,mCAAM,iBAAiB,4BAAS;AACpC,IAAI,mCAAM,iBAAiB,4BAAS;AACpC,IAAI,mCAAM,iBAAiB,4BAAS;;AAEpC;AACA,cAAc;AACd;AACA;AACA,oDAAoD,aAAU;;AAE9D;AACA,cAAc;AACd;AACA;AACA,4DAA4D,aAAU;;AAEtE;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,0BAA0B,YAAS;AACnC;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA,IAAI,mCAAM;AACV,YAAY,+CAAkB,CAAC,WAAW;AAC1C;AACA,IAAI,mCAAM,OAAO,+CAAkB,CAAC,WAAW;AAC/C;AACA,IAAI,mCAAM,OAAO,+CAAkB,CAAC,WAAW;AAC/C;AACA,IAAI,mCAAM,OAAO,+CAAkB,CAAC,WAAW;AAC/C;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,uCAAuC;AACxD,gBAAgB;AAChB;AACA;AACA;AACA,OAAO;;AAEP,IAAI,mCAAM,gBAAgB,mBAAmB;AAC7C;AACA,iBAAiB,0CAA0C;AAC3D;AACA;AACA;AACA,OAAO;;AAEP,IAAI,mCAAM,gBAAgB,mBAAmB;AAC7C;AACA,iBAAiB,0CAA0C;AAC3D;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,iBAAiB,+CAA+C;AAChE,gBAAgB;AAChB;AACA;AACA;AACA,OAAO;;AAEP,IAAI,mCAAM,oBAAoB,mBAAmB;AACjD;AACA,iBAAiB,0CAA0C;AAC3D;AACA;AACA;AACA,OAAO;;AAEP,IAAI,mCAAM,oBAAoB,mBAAmB;AACjD;AACA,iBAAiB,0CAA0C;AAC3D;AACA;AACA;AACA,OAAO;;AAEP;;AAEA,IAAI,mCAAM,iBAAiB,mBAAmB;AAC9C;AACA,iBAAiB,0CAA0C;AAC3D;AACA;AACA,4CAA4C,+BAA+B;AAC3E,OAAO;;AAEP,IAAI,mCAAM,iBAAiB,mBAAmB;AAC9C;AACA,iBAAiB,0CAA0C;AAC3D;AACA;AACA,iCAAiC,+BAA+B;AAChE;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,oCAAoC;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,uCAAuC;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,+CAA+C;AAC5D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM,sCAAsC;AAC5C,aAAa,kCAAkC;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,+BAA+B;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,+BAA+B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,qCAAQ,iBAAiB,4BAAS;AACtC,IAAI,qCAAQ,iBAAiB,4BAAS;AACtC,IAAI,qCAAQ,iBAAiB,4BAAS;AACtC;AACA,0BAA0B,4BAAS;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,2BAA2B;AACxC,aAAa;AACb,gDAAgD;AAChD;AACA,UAAU,gCAAgC;AAC1C,UAAU,8CAA8C;AACxD,cAAc,kCAAkC;AAChD;AACA;AACA,aAAa,gBAAgB;AAC7B,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,eAAe,OAAO;AACvC;AACA;AACA;AACA,gCAAgC,yBAAI;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,2BAA2B;AACxC,aAAa,gBAAgB;AAC7B,cAAc,0CAA0C;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,2BAA2B;AACxC,aAAa,yFAAyF;AACtG;AACA,UAAU,kCAAkC;AAC5C;AACA;AACA;AACA,aAAa,gBAAgB;AAC7B,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,eAAe,OAAO;AAClE;AACA;AACA,6CAA6C,yBAAI;AACjD;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,2BAA2B;AACxC,aAAa,gBAAgB;AAC7B,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,eAAe,OAAO;AACvC,wFAAwF,yBAAI;AAC5F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,MAAM;AACnB,cAAc,qCAAqC;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B,cAAc,2BAA2B;AACzC;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B,iBAAiB,WAAW;;AAE5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD;AACnD,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;AACA;AACA,sBAAsB,6BAA6B,cAAc,WAAW;AAC5E;;AAEA;AACA;AACA;AACA;AACA,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,2BAA2B;AACxC,cAAc,qCAAqC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,aAAa,qCAAc;AAC3B;AACA;;AAEA;AACA;AACA;AACA,cAAc,mDAAmD;AACjE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,2CAA2C;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,cAAc;AAC3B,cAAc,+BAA+B;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,2DAA2D;AACzE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,WAAW;AACzB;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW,cAAc,WAAW;AACrD;AACA;;AAEA;AACA;AACA,cAAc,+CAA+C;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,qCAAqC;AAClD,cAAc,2BAA2B;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,aAAa,qCAAc;AAC3B;AACA;;AAEA;AACA;AACA,cAAc,oCAAoC;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,mCAAmC;AACjD;AACA;AACA;AACA;AACA;AACA,iBAAiB,mCAAmC,cAAc,WAAW;AAC7E;AACA;;AAEA;AACA;AACA;AACA,cAAc,KAAK;AACnB;AACA;AACA;AACA;AACA;AACA,iBAAiB,KAAK,cAAc,WAAW;AAC/C;AACA;;AAEA;AACA;AACA,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wDAAwD;AACxD;AACA,cAAc,aAAa;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,gDAAgD;AACxE,cAAc,aAAa;AAC3B;AACA;AACA;AACA;;AAEA;AACA,aAAa,4BAA4B;AACzC,aAAa,OAAO;AACpB,aAAa,qCAAqC;AAClD,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,MAAM;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA,8BAA8B,kBAAe;AAC7C;AACA;;AAEA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,QAAQ;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,2BAAQ;AAC1B;AACA;AACA;AACA,kBAAkB,2BAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA,uCAAuC,mCAAe;AACtD;AACA,yCAAyC,mCAAe;AACxD;;AAEA;AACA,oDAAoD,QAAQ;AAC5D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,uDAAuD,QAAQ;AAC/D,QAAQ,0CAAa;AACrB;AACA;AACA;;AAEA;AACA;AACA,MAAM,iCAAU;AAChB;AACA,4BAA4B,4BAAS;AACrC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,QAAQ,mCAAM,sBAAsB,4BAAS;AAC7C,QAAQ,mCAAM,sBAAsB,4BAAS;AAC7C;;AAEA;AACA;AACA,gCAAgC,4BAAS;AACzC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM,0CAAa;AACnB;AACA;AACA;AACA,MAAM,0CAAa;AACnB;AACA;AACA;AACA;AACA,+CAA+C,8BAAM;AACrD,sCAAsC,mCAAM;AAC5C,cAAc,kCAAe;AAC7B;AACA,oCAAoC,mCAAM;AAC1C,cAAc,4BAAS;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mDAAmD,kCAAa;AAChE;AACA;AACA;AACA;AACA;AACA,QAAQ,mCAAM;AACd,sBAAsB,kCAAe;AACrC;AACA,QAAQ,mCAAM;AACd,sBAAsB,4BAAS;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,uCAAuC;AACpD,cAAc,iDAAiD;AAC/D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,+CAA+C;AAC5D,cAAc,yDAAyD;AACvE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,kCAAkC;AAC/C,cAAc,4CAA4C;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,+BAA+B;AAC5C,cAAc,yCAAyC;AACvD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,wCAAW;AAC5B;AACA,eAAe,YAAY;AAC3B;AACA,8BAA8B,kCAAO;AACrC;AACA;AACA;AACA,mDAAmD,QAAQ;AAC3D,oBAAoB,8BAAM;AAC1B;AACA;AACA,8BAA8B,WAAW;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,0BAA0B,8CAAiB;AAC3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,oCAAO;AAC7B,qBAAqB,mCAAM;AAC3B;AACA;AACA,gBAAgB,WAAQ,CAAC,YAAY;AACrC,iCAAiC,gDAAmB;AACpD;AACA;;AAEA;AACA,gCAAgC,2BAAQ;AACxC,gCAAgC,2BAAQ;AACxC,WAAW,mCAAM;;AAEjB;AACA,+BAA+B,WAAQ,CAAC,YAAY;AACpD,QAAQ,kCAAK;AACb;AACA;;AAEA,2BAA2B,WAAQ,CAAC,YAAY;;AAEhD;;AAEA;;AAEA;AACA;AACA,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB;;AAEA;AACA;AACA,aAAa,mCAAmC;AAChD;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB;;AAEA;AACA;AACA,aAAa,6BAA6B;AAC1C;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB;;AAEA;AACA;AACA,aAAa,KAAK;AAClB;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB;;AAEA;AACA,aAAa,+BAA+B;AAC5C;AACA;AACA,6BAA6B,8BAAM;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,+BAA+B;AAC5C;AACA;AACA,oCAAoC,8BAAM;AAC1C;AACA;;AAEA;AACA,CAAC,CAAC,4BAAU;;;AAGZ;AACA,WAAW,WAAW;AACtB,YAAY,mBAAmB;AAC/B;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA,uDAAuD,EAAE;AACzD,eAAe,WAAW,2BAA2B,KAAU,EAAE,mBAAmB,WAAW,qBAAqB;AACpH,SAAS,WAAW;;AAEpB,SAAS,WAAW;;AAEpB,SAAS,WAAW;AACpB,uBAAuB,uBAAI;;AAE3B;AACA;AACA;AACA,qBAAqB,aAAU;AAC/B,KAAK;AACL,MAAM,iCAAM,mBAAmB,EAAE;AACjC,YAAY;AACZ,4BAA4B,WAAW;AACvC;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,aAAU;AACnC,KAAK;AACL,MAAM,iCAAM,mBAAmB,EAAE;AACjC,YAAY;AACZ,gCAAgC,WAAW;AAC3C;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,aAAU;AAC/B,KAAK;AACL,MAAM,iCAAM,mBAAmB,EAAE;AACjC,YAAY;AACZ;AACA;AACA,GAAG;AACH,mBAAmB,aAAU;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACe,6EAAY,EAAC;;AAE5B;AACA,YAAY,yCAAyC;AACrD,YAAY,QAAQ;AACpB;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA,0BAA0B,EAAE;AAC5B,mCAAmC,WAAW;AAC9C,KAAK;AACL,8BAA8B,mCAAmC;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wC;;ACr6CA;AACA;AACA;AACqC;AACS;AACR;AACD;AACc;;;AAGnD;AACA,aAAa,OAAO;AACpB,cAAc,YAAY;AAC1B;AACA;AACA,cAAc,2CAA2C;AACzD;AACA;AACA,cAAc,mBAAmB;AACjC;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,mBAAmB;AACnD;AACA;AACA;AACA;AACA;AACA,8BAA8B,sCAAsC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,eAAO;AACX;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA,oDAAoD,yBAAI;;AAExD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI,iCAAU;AACd;AACA;;AAEA;AACA;AACA,cAAc,qCAAqC;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,qCAAqC;AAClD;AACA;AACA;AACA;AACA,MAAM,iCAAU;AAChB;AACA,kDAAkD,QAAQ;AAC1D,MAAM,0CAAa;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,yBAAI;AAC9B,+BAA+B,mCAAM;AACrC,UAAU,YAAY;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4BAAU;;;AAGG,mEAAO,EAAC;;AAEvB,mC;;;;;;;;AC7JA;AACA;AACA;AACmC;AACA;AAC0C;AACvB;AAClB;AACW;AACO;;;AAGtD;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,mBAAmB;AACjC;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA,cAAc,QAAQ;AACtB;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;AACA;AACA,cAAc,mBAAmB;AACjC;AACA;AACA,cAAc,2CAA2C;AACzD;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,uBAAW;AACf;;AAEA;;AAEA;AACA;AACA,gCAAgC,kBAAM;AACtC;AACA,KAAK;;AAEL;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,mCAAM,SAAS,4BAAS;;AAE5B,uCAAuC,iCAAkB,SAAS,4BAAa;AAC/E,sDAAsD,8BAAe;AACrE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,wCAAwC;AACrD,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,iDAAiD,QAAQ;AACzD;AACA,WAAW,4CAAmB;AAC9B;AACA;;AAEA,8BAA8B,oCAAoC;AAClE;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iDAAiD,QAAQ;AACzD;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,yCAAyC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,+BAAM;AACd;AACA;;AAEA,IAAI,qCAAc;;AAElB;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kCAAkC,8BAAe;AACjD;AACA,MAAM,kCAAW;AACjB,KAAK;AACL,MAAM,kCAAW;AACjB;AACA;AACA;;AAEA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,eAAO;;;AAGT;AACA;AACA,WAAW,iCAAiC;AAC5C,UAAU;AACV;AACA;AACO,SAAS,kBAAM;AACtB;AACA;;;AAGe,+EAAW,EAAC;;AAE3B,uC;;;;;ACpVA;AACA;AACA;AACmC;AACuC;AACrC;AACD;AACW;;;AAG/C;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,mBAAmB;AACjC;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,2CAA2C;AACzD;AACA,cAAc,WAAW;AACzB;AACA,cAAc,mBAAmB;AACjC;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,aAAM;AACV;;AAEA;;AAEA;AACA;AACA,gCAAgC,aAAM;AACtC;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI,mCAAM,SAAS,4BAAS;;AAE5B,uCAAuC,iCAAkB,SAAS,4BAAa;AAC/E;AACA;AACA;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,iCAAiC,2BAAY;AAC7C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,yBAAO;AACzB,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,eAAO;;;AAGT;AACA;AACA,WAAW,iCAAiC;AAC5C,UAAU;AACV;AACA;AACO,SAAS,aAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,2BAAY;AACjE;AACA,mCAAmC,2BAAY;AAC/C,OAAO;AACP,sCAAsC,2BAAY;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,gEAAM,EAAC;;AAEtB,kC;;ACtLA;AACA;AACA;AACoC;AACW;AACZ;AACyB;AACvB;;;AAGrC;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,mBAAmB;AACjC;AACA,cAAc,mBAAmB;AACjC;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,mBAAmB;AACjC;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAI;AACR;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,mCAAM,YAAY,4BAAS;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,mCAAM,aAAa,4BAAS;;AAEhC,uCAAuC,iCAAkB,SAAS,4BAAa;AAC/E;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,yBAAO;AACzB,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,eAAO;;;AAGM,0DAAI,EAAC;;AAEpB,gC;;AC5IA;AACA;AACA;AAC0C;AACC;AACV;AACJ;;;AAG7B;AACA,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB,IAAI,gDAAgD;AACpD,cAAc,mCAAmC;AACjD,gBAAgB,gDAAgD;AAChE,cAAc,QAAQ;AACtB,IAAI,sCAAsC;AAC1C,cAAc,8BAA8B;AAC5C,QAAQ,sCAAsC;AAC9C,cAAc,QAAQ,iBAAiB,kCAAkC;AACzE,cAAc,4BAA4B;AAC1C,IAAI,kCAAkC;AACtC;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM;AACN,MAAM;AACN,MAAM;AACN;AACA,WAAW,iBAAiB;AAC5B;AACA,YAAY;AACZ;AACA;AACA;AACA;AACO;;AAEP;;AAEA,qBAAqB,aAAU;;AAE/B;AACA;AACA,sBAAsB,YAAI;AAC1B;;AAEA;AACA;AACA,sBAAsB,cAAM;AAC5B;;AAEA;AACA;AACA;AACA,sBAAsB,mBAAW;AACjC;;AAEA;AACA;;AAEA,gC;;AClEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEe,sDAAO,EAAC;;AAEvB,mC;;ACxHA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA,CAAC,EAAC;;AAEF,oC;;;;;ACXA;AACA;AACA;AACsC;AACO;AACG;AACf;;;AAGjC;AACA;AACA,aAAa,OAAO;AACpB,cAAc,0DAA0D;AACxE;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,iBAAiB,sDAAsD;AACvE,6BAA6B,kCAAkC;AAC/D;AACA;AACA;AACA;AACA;AACA,IAAI,uBAAW;AACf;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,sBAAsB,QAAQ,cAAc,oBAAmB;AAC/D;;AAEA;AACA;AACA,cAAc,qCAAqC;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB,kDAAkD;AACpE,aAAa,wCAAwC;AACrD,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,aAAa,oBAAmB;AAChC;;AAEA;AACA;AACA;AACA;AACA,aAAa,qCAAqC;AAClD;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4BAAU;;;AAGZ;AACA,WAAW,6BAA6B;AACxC,WAAW,sCAAsC;AACjD,WAAW,QAAQ;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,wBAAM;AACtB;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;;;AAGA;AACA,WAAW,6BAA6B;AACxC,WAAW,iBAAiB;AAC5B,WAAW,uCAAuC;AAClD,WAAW,QAAQ;AACnB;AACO;AACP;AACA;AACA;;;AAGA;AACA,WAAW,6BAA6B;AACxC,WAAW,iBAAiB;AAC5B,WAAW,uCAAuC;AAClD,WAAW,QAAQ;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yBAAO;AACvB,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;;;AAGA;AACA,WAAW,6BAA6B;AACxC,WAAW,iBAAiB;AAC5B,WAAW,uCAAuC;AAClD,WAAW,QAAQ;AACnB,WAAW,QAAQ,iCAAiC;AACpD;AACA,sCAAsC;AACtC;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACO;AACP;AACA;AACA;;;AAGA;AACA,WAAW,6BAA6B;AACxC,WAAW,OAAO;AAClB,WAAW,uCAAuC;AAClD,WAAW,QAAQ;AACnB;AACO;AACP;AACA;;AAEA;AACA;AACA,iBAAiB,6BAAK;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA,WAAW,6BAA6B;AACxC,WAAW,iBAAiB;AAC5B,WAAW,uCAAuC;AAClD,WAAW,QAAQ;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yBAAO;AACvB,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,mFAAW,EAAC;;AAE3B,uC;;AC9PA;AACA;AACA;AAC4D;AACF;;;AAG1D;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAAW;AAC9B,KAAK;;AAEL;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,uBAAW;;;AAGb;AACA,gBAAgB,kDAAkD;AAClE;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB,UAAU;AACV;AACA,SAAS,2BAAW;AACpB;AACA,8BAA8B,mBAAmB;AACjD,kCAAkC,WAAW;AAC7C;AACA;AACA;AACA;AACA,IAAI,WAAW;AACf;AACA;AACA;AACA;AACA;;AAEe,+EAAe,EAAC;;AAE/B,2C;;;;;ACzEA;AACA;AACA;AAC4D;AACvB;AACO;AACN;;;AAGtC;AACA,6BAA6B,gCAAgC;AAC7D,KAAK,QAAQ;AACb;AACA,aAAa,oEAAoE;AACjF;;;AAGA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP,iCAAiC,oCAAoC;AACrE;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP,iCAAiC,oCAAoC;AACrE;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO,IAAI,eAAK;AAChB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO,aAAa,yBAAI;;;AAGxB;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP,iCAAiC,mBAAmB;AACpD;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACO;AACP,iCAAiC,WAAW;AAC5C;AACA,QAAQ,qBAAM,IAAI,kBAAG;AACrB;;;AAGA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO,YAAY,0BAAK;;;AAGxB;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO,IAAI,qBAAW;AACtB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP,iCAAiC,mBAAmB;AACpD;;;AAGA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP,iCAAiC,mBAAmB;AACpD;;;AAGA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP,iCAAiC,oCAAoC;AACrE;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP,iCAAiC,oCAAoC;AACrE;AACA,KAAK,kBAAG;AACR;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP,iCAAiC,oCAAoC;AACrE;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP,gCAAgC,4CAA4C;AAC5E,EAAE,iCAAM,iCAAiC;AACzC;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP,gCAAgC,4CAA4C;AAC5E,EAAE,iCAAM,iCAAiC;AACzC;AACA;;AAEA,qC;;ACxPA;AACA;AACA;AAC4D;AACjB;AACP;;;AAGpC;AACA,aAAa,OAAO;AACpB,cAAc,iEAAiE;AAC/E;AACA;AACA,cAAc,yDAAyD;AACvE;AACA;AACA,cAAc,0DAA0D;AACxE;AACA;AACA;AACA;AACA,cAAc,yDAAyD;AACvE;AACA;AACA;AACA,cAAc,iEAAiE;AAC/E;AACA;AACA,cAAc,0BAA0B;AACxC;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,0BAAkB;AACtB;;AAEA;;AAEA,gCAAgC,8CAA8C;;AAE9E;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,+CAA+C;AAC5D,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,+CAA+C;AAC5D;AACA;AACA;;AAEA;AACA,kBAAkB,kDAAkD;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,+CAA+C;AACpE;AACA;;AAEA;AACA;AACA;AACA,kCAAkC,mBAAmB;AACrD;AACA,OAAO,kCAAkC,mBAAmB;AAC5D;AACA;AACA;AACA,KAAK;AACL,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,kCAAkC,mBAAmB;AAC5D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,+CAA+C;AAC5D;AACA;AACA;;AAEA;AACA;AACA,aAAa,+CAA+C;AAC5D,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA,aAAa,+CAA+C;AAC5D;AACA;AACA;AACA;AACA;;AAEA;AACA,kCAAkC,mBAAmB;AACrD;AACA,OAAO;AACP,UAAU,mBAAmB;AAC7B;AACA,OAAO;AACP;AACA;AACA;AACA,4BAA4B,gCAAS;AACrC;AACA;;AAEA;AACA,CAAC,CAAC,uBAAW;;;AAGb;AACA,WAAW,oDAAoD;AAC/D,YAAY,4BAA4B;AACxC;AACO,SAAS,gBAAQ;AACxB;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,+CAA+C;AAC1D,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,kBAAkB,mBAAmB;AACrC,aAAa,mBAAmB;AAChC,aAAa,mBAAmB;AAChC;;;AAGe,sEAAkB,EAAC;;AAElC,mC;;ACzOA;AACA;AACA;AACsC;AACsE;AACvE;AACiB;AAChB;AAC4C;;;AAGlF;AACA,aAAa,OAAO;AACpB,cAAc,2CAA2C,uCAAuC,gDAAgD;AAChJ;AACA,eAAe,gDAAgD;AAC/D,cAAc,gCAAgC;AAC9C;;;AAGA;AACA;AACA;AACA;AACA;AACA,IAAI,eAAO;AACX;;AAEA;AACA,gBAAgB,0BAAK;AACrB,KAAK;;AAEL;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,8DAA8D,cAAc;;AAE5E;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,2BAAQ;AAC9C;AACA;AACA,mBAAmB,gBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,sCAAe;AACvB,QAAQ,uCAAgB;AACxB,QAAQ,oCAAa;AACrB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,uCAAuC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,yBAAO;AACzB,SAAS;AACT;AACA;AACA;AACA,qBAAqB,2BAAQ;AAC7B;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,CAAC,CAAC,OAAkB;;AAEL,uEAAO,EAAC;;AAEvB,mC;;;;;AC/KA;AACA;AACA;AACiD;AACX;AACgD;AAChD;AAC4B;AACpB;;;AAG9C;AACA,aAAa,OAAO;AACpB,cAAc,2CAA2C;AACzD,IAAI,gDAAgD;AACpD;AACA,eAAe,kDAAkD;AACjE,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA,8BAA8B,iCAAiC;AAC/D;AACA;AACA;AACA;AACA;AACA,IAAI,qBAAU;AACd;;AAEA;;AAEA;AACA,gBAAgB,0BAAK;AACrB,KAAK;;AAEL;AACA;AACA,cAAc;AACd;AACA,8DAA8D,gBAAgB;;AAE9E;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,SAAS;AAClB;AACA;;AAEA;AACA;AACA,2CAA2C,qCAAO;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,wBAAwB;AAC9B;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,SAAS,SAAS;AAClB;AACA;;AAEA;AACA;AACA,iBAAiB,2BAAQ;AACzB;AACA,IAAI,MAAM;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA,SAAS,SAAS;AAClB;AACA;;AAEA,QAAQ,iBAAiB;AACzB;AACA,4BAA4B,2BAAQ;AACpC;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,CAAC,CAAC,OAAkB;;AAEL,gFAAU,EAAC;;AAE1B,sC;;;;;;;;ACjIA;AACA;AACA;;AAE0C;AACD;;AAEzC,IAAI,aAAS;AACb;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA,+BAA+B,eAAe;AAC9C;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,qCAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,4BAA4B;AACzC,aAAa,4BAA4B;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,0BAAO;AAClC,KAAK;AACL;AACA;AACA;;AAEA;AACA,cAAc,qCAAqC;AACnD;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,gCAAU;;;AAGG,qDAAS,EAAC;;AAEzB,+B;;ACnIA;AACA;AACA;AACA;AACuC;AACqC;AACvC;AACS;AACL;;;AAGzC;AACA,4BAA4B,gCAAgC;AAC5D,IAAI,4BAA4B,kBAAkB,QAAQ;AAC1D;AACA,aAAa,6HAA6H;AAC1I;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,2CAA2C,uCAAuC,gDAAgD;AAChJ;AACA,eAAe,iCAAiC;AAChD,cAAc,OAAO;AACrB;AACA,cAAc,aAAa,4CAA4C,gDAAgD;AACvH,IAAI,4BAA4B;AAChC;AACA,cAAc,gEAAgE;AAC9E;AACA;;;AAGA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,sBAAsB,4CAA4C;AAClE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,wBAAK;;;AAGP;AACA;AACA;AACA,8BAA8B,iCAAiC;AAC/D;AACA;AACA,SAAS,8CAA8C;AACvD,IAAI,8CAA8C;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,eAAO;AACX;;AAEA;;AAEA;;AAEA;AACA,aAAa;AACb;AACA;AACA,oBAAoB,GAAS;;AAE7B;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA,2DAA2D,yBAAI;;AAE/D;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA,8DAA8D,MAAM;;AAEpE;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,wCAAwC;AACrD;AACA,aAAa,4BAA4B;AACzC,aAAa,4BAA4B;AACzC,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,qCAAqC;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,SAAS;AAClB;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,SAAS;AAClB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,SAAS;AAClB;AACA;;AAEA,QAAQ,iBAAiB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,CAAC,CAAC,OAAkB;;;AAGL,uEAAO,EAAC;;AAEvB,mC;;ACnPA;AACA;AACA;AACqC;AACe;AAC+D;AAChF;;;AAGnC;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA,cAAc,2CAA2C;AACzD,aAAa,gDAAgD;AAC7D;AACA,eAAe,8CAA8C;AAC7D,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB;;;AAGA;AACA;AACA;AACA,8BAA8B,iCAAiC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAQ;AACZ;AACA;;AAEA,4DAA4D,YAAY;;AAExE;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,mBAAO;;;AAGT;AACA,UAAU;AACV;AACA;AACA;AACA,wBAAwB,8BAA8B;AACtD,wBAAwB,2BAA2B;AACnD;;AAEA;AACA;AACA,yBAAyB,0DAA6B;AACtD,iCAAiC,0CAAa;AAC9C,iCAAiC,wCAAW;AAC5C;;AAEA,IAAI,4CAAe;AACnB;AACA;;AAEA;AACA;;AAEA,eAAe,sCAAS;AACxB;;AAEA;AACA;AACA;AACA;AACA,YAAY,yBAAO;AACnB,GAAG;AACH;;;AAGe,0EAAQ,EAAC;;AAExB,oC;;ACtGA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACe;AACf;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,mC;;ACfA;AACA;AACA;AAC4D;AACb;AACJ;AAC8B;AACvB;;;AAGlD;AACA,aAAa,OAAO;AACpB,cAAc,2CAA2C;AACzD,aAAa,gDAAgD;AAC7D;AACA,IAAI,gDAAgD;AACpD,IAAI,mDAAmD;AACvD,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,wBAAwB;AAC5B;AACA;AACA,aAAa,sDAAsD;AACnE;AACA;AACA,IAAI,uBAAW;AACf;;AAEA;AACA,mBAAmB,uBAAW;AAC9B,KAAK;;AAEL;;AAEA;AACA;AACA,eAAe,wCAAwC;AACvD,gBAAgB,QAAQ;AACxB;AACA;AACA,aAAa,cAAc;AAC3B,QAAQ,iBAAiB;AACzB;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,uBAAW;;;AAGb;AACA,gBAAgB,kDAAkD;AAClE;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB,UAAU;AACV;AACA,SAAS,uBAAW;AACpB;AACA,8BAA8B,4BAAS;AACvC,8BAA8B,cAAc;AAC5C;AACA;AACA,oBAAoB,OAAO;AAC3B,mBAAmB,OAAO;AAC1B,mBAAmB,OAAO;AAC1B,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA,OAAO,qBAAqB,OAAO;AACnC;AACA,OAAO,qBAAqB,OAAO;AACnC;AACA,OAAO;AACP;AACA;AACA;AACA,MAAM,uCAAgB;AACtB,MAAM,GAAG;AACT;AACA;AACA;AACA;AACA;AACA;;AAEe,mFAAW,EAAC;;AAE3B,uC;;AChIA;AACA;AACA;AAC+C;AACU;AACC;;;AAG1D;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,2CAA2C;AACzD,aAAa,gDAAgD;AAC7D;AACA,IAAI,mDAAmD;AACvD,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,wBAAwB;AAC5B;AACA;AACA,aAAa,oDAAoD;AACjE;AACA;AACA,IAAI,yBAAY;AAChB;;AAEA;AACA,mBAAmB,wBAAW;AAC9B,KAAK;;AAEL;;AAEA;AACA;AACA,cAAc;AACd;AACA,8DAA8D,iBAAiB;;AAE/E;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,uBAAW;;;AAGb;AACA,gBAAgB,kDAAkD;AAClE;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB,UAAU;AACV;AACA,SAAS,wBAAW;AACpB;AACA,8BAA8B,4BAAS;AACvC,8BAA8B,4BAAS;AACvC,8BAA8B,cAAc;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,WAAW;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEe,sFAAY,EAAC;;AAE5B,wC;;AClGA;AACA;AACA;AACsC;AACQ;AACT;AACU;AACe;AACJ;AACzB;;;AAGjC;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA,UAAU;AACV;AACO;AACP;AACA;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,2CAA2C;AACzD,aAAa,gDAAgD;AAC7D;AACA,IAAI,wCAAwC;AAC5C,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,IAAI,6BAAc;AAClB;;AAEA;;AAEA,gCAAgC,8CAA8C;;AAE9E;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,8DAA8D,MAAM;;AAEpE;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,2BAAQ;AACzB;;AAEA;AACA,kBAAkB,kDAAkD;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,4BAAS,mBAAmB,4BAAS;AACtD;AACA;;AAEA;;AAEA;AACA,gCAAgC,WAAW;;AAE3C;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC,4BAAS;AACzC;AACA,UAAU,sBAAO;AACjB;AACA,iBAAiB,iCAAkB;AACnC;AACA;AACA;AACA;AACA,KAAK,kCAAkC,4BAAS;AAChD;AACA,UAAU,qBAAM;AAChB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,qBAAqB,2BAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,yBAAO;AACzB;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,kBAAkB,yBAAO;AACzB;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,kBAAkB,yBAAO;AACzB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,qCAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,6BAAK;AACrB,IAAI,WAAW;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,uBAAW;;AAEE,4FAAc,EAAC;;AAE9B,0C;;AC5TA;AACA;AACA;AACsC;AACA;AAC4B;AACgB;AACjC;;;AAGjD;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,uBAAW;AACf;;AAEA;;AAEA,oCAAoC,+BAA+B;;AAEnE;AACA,gCAAgC,0BAAK;AACrC;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C,qCAAO;AAClD;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,gBAAoB;AACvC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM,wBAAwB;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAAQ;AAC3B;AACA;AACA,QAAQ,MAAM;AACd;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,2BAAQ;AACtC;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,CAAC,CAAC,OAAkB;;AAEL,mFAAW,EAAC;;AAE3B,uC;;ACzKA;AACA;AACA;AACsC;AACA;AACwB;AACoB;;;AAGlF;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,mBAAS;AACb;;AAEA;;AAEA,oCAAoC,+BAA+B;;AAEnE;AACA,gCAAgC,0BAAK;AACrC;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,gBAAoB;AACvC;AACA;AACA;;AAEA;AACA;AACA,IAAI,sBAAsB;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI;AACZ;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,2BAAQ;AACtC;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,CAAC,CAAC,OAAkB;;AAEL,6EAAS,EAAC;;AAEzB,qC;;ACzKA;AACA;AACA;AACyC;AACN;AAC4B;AAChB;AACM;AACJ;AACM;AACE;AACI;AACN;AACJ;AACP;;AAEgC;AACR;AACR;AACA;AACM;AACc;AAClB;AACR;AACI;AACU;AACA;AACE;AACZ;AACgB;AACN;AACJ;AACJ;AACF;AACJ;AACU;;;AAGhE;AACA,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA,cAAc,QAAQ;AACtB;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,IAAI,wCAAwC;AAC5C,gBAAgB,2BAA2B;AAC3C,yBAAyB,wBAAwB;AACjD;AACA,MAAM;AACN,MAAM;AACN,MAAM;AACN,MAAM;AACN,MAAM;AACN,MAAM;AACN,MAAM;AACN,MAAM;AACN,MAAM;AACN;AACA,WAAW,iBAAiB;AAC5B,YAAY;AACZ,qDAAqD;AACrD;AACA;AACA;AACO,SAAS,oBAAQ;;AAExB;;AAEA,yBAAyB,aAAU;;AAEnC,oBAAoB,UAAO;;AAE3B;AACA;AACA;AACA,0BAA0B,sBAAU;AACpC;;AAEA;AACA;AACA;AACA,0BAA0B,2BAAe;AACzC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,0BAA0B,mBAAO;AACjC,uCAAuC,eAAK;AAC5C;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,0BAA0B,uBAAW;AACrC;;AAEA;AACA;AACA,0BAA0B,qBAAS;AACnC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,0BAA0B,uBAAW;AACrC,0BAA0B,wBAAY;AACtC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,0BAA0B,0BAAc;AACxC,uCAAuC,eAAK;AAC5C;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,0BAA0B,oBAAQ;AAClC;AACA,KAAK;AACL;;AAEA;;AAEA;;AAEA,uC;;;;;ACpKA;AACA;AACA;AACmC;AACU;AACC;;AAE9C;AACA;AACA;AACA,IAAI,mBAAS;AACb;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,4BAAS;AAChC;;AAEA;AACA,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,oDAAoD;AAClE;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;AACA,sBAAsB,OAAO;AAC7B;;AAEA;AACA,cAAc,kCAAkC;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI,gCAAQ;AACZ;;AAEA;AACA,CAAC,CAAC,yBAAW;;;AAGE,oEAAS,EAAC;;AAEzB,qC;;;;;ACtGA;AACA;AACA;AACuC;AACE;;;AAGzC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,2BAA2B;AACxC;;;AAGA,IAAI,uBAAW;AACf;;AAEA,2CAA2C,6BAAU,QAAQ,6BAAU;;AAEvE;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,MAAM;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,mBAAmB,6BAAU;AAC7B,KAAK;AACL,mBAAmB,6BAAU;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,6BAAU;AAChC,mBAAmB,6BAAU;AAC7B;AACA;AACA;AACA;;AAEA;AACA,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,YAAS;;;AAGI,0EAAW,EAAC;;AAE3B,uC;;;;;;;;AChGA;AACA;AACA;;AAEuC;;AAEvC;AACA;;AAEA;;AAEA;AACA,2CAA2C,wCAAwC;AACnF,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,wBAAK;;AAEQ,4DAAW,EAAC;;AAE3B,iC;;;;;;;;;;;;;;;;;ACpDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,2BAAa;;AAEjB,2BAAa;;AAEb;AACA;AACA;AACA,WAAW,sCAAsC;AACjD;AACA,2BAAa;;AAEb;AACA;AACA;AACA,WAAW,oCAAoC;AAC/C;AACA,2BAAa;;AAEb;AACA,WAAW,oCAAoC;AAC/C,WAAW,gCAAgC;AAC3C;AACA,2BAAa;;AAEb;AACA,WAAW,gCAAgC;AAC3C,WAAW,oCAAoC;AAC/C;AACA,2BAAa;;AAEb;AACA,WAAW,gDAAgD;AAC3D,WAAW,gCAAgC;AAC3C;AACA,2BAAa;;AAEb;AACA,WAAW,uEAAuE;AAClF,WAAW,+DAA+D;AAC1E;AACA,2BAAa;;AAEb;AACA,WAAW,4EAA4E;AACvF,WAAW,+DAA+D;AAC1E;AACA,2BAAa;;AAEb;AACA,WAAW,uEAAuE;AAClF,WAAW,+DAA+D;AAC1E;AACA,2BAAa;;AAEb;AACA,WAAW,0CAA0C;AACrD,WAAW,+DAA+D;AAC1E;AACA,2BAAa;;AAEb;AACA,WAAW,kEAAkE;AAC7E,WAAW,+DAA+D;AAC1E;AACA,2BAAa;;AAEb;AACA,WAAW,oEAAoE;AAC/E,WAAW,+DAA+D;AAC1E;AACA,2BAAa;;AAEb;AACA,WAAW,qEAAqE;AAChF,WAAW,+DAA+D;AAC1E;AACA,2BAAa;;AAEb;AACA,WAAW,mCAAmC;AAC9C,WAAW,qCAAqC;AAChD;AACA,2BAAa;;AAEb;AACA,WAAW,oCAAoC;AAC/C,WAAW,sCAAsC;AACjD;AACA,2BAAa;;AAEb;AACA,WAAW,mCAAmC;AAC9C,WAAW,sCAAsC;AACjD;AACA,2BAAa;;AAEE,oFAAa,EAAC;;AAE7B,yC;;AC5GA;AACA;AACA;AACA;AACA;AACA;;AAEsC;AACS;AACJ;AACW;AACO;AACJ;AACX;AACE;AACoL;AAC1I;;AAE1F;AACA;AACA,2BAA2B,qCAAqC;AAChE;AACA;AACA;AACA,IAAI,yCAAyC;AAC7C;AACA;AACA,IAAI,iCAAuB;AAC3B;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,8BAA8B,sCAAe;;AAE7C;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,6CAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,QAAQ;AACzD;AACA;AACA;AACA;AACA;AACA,QAAQ,uCAAgB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,6CAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,cAAc;AACxB;AACA;AACA;AACA,6BAA6B,uCAAgB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,2BAA2B,6CAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,uCAAuC;AACpD;AACA;AACA;AACA;AACA,SAAS,uCAAU;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iDAAe;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,uCAAuC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,iDAAiD;AACvD;AACA,aAAa,yEAAyE;AACtF;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,+BAAY;AACvB,kCAAkC,sCAAsC;AACxE;AACA,WAAW,+BAAY;AACvB,uCAAuC,2CAA2C;AAClF;AACA,WAAW,+BAAY;AACvB,oCAAoC,wCAAwC;AAC5E;AACA,WAAW,+BAAY;AACvB,uCAAuC,2CAA2C;AAClF;AACA,WAAW,+BAAY;AACvB,4CAA4C,gDAAgD;AAC5F;AACA,WAAW,+BAAY;AACvB,yCAAyC,6CAA6C;AACtF;AACA,WAAW,+BAAY;AACvB,+CAA+C,mDAAmD;AAClG;AACA,WAAW,+BAAY;AACvB,mCAAmC,uCAAuC;AAC1E;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM,yCAAyC;AAC/C;AACA,aAAa,mCAAmC;AAChD,aAAa,uCAAuC;AACpD;AACA;AACA;AACA;AACA;AACA,sBAAsB,uCAAU;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,mDAAmD;AAChE;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,sEAAsE;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,2EAA2E;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,2EAA2E;AACxF;AACA;AACA;AACA,SAAS,uCAAU;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,gFAAgF;AAC7F;AACA;AACA;AACA;AACA,SAAS,uCAAU;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,cAAc;AAC1C;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,wEAAwE;AACrF;AACA;AACA;AACA,SAAS,uCAAU;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,cAAc;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,6CAA6C;AAC1D;AACA;AACA;AACA,SAAS,uCAAU;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,mCAAmC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,cAAc;AACjD,UAAU,+BAAgB;AAC1B;AACA;AACA;AACA,oCAAoC,eAAe;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kEAAkE,cAAc;AAChF;AACA,UAAU,+BAAgB;AAC1B,aAAa,+BAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,eAAe;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,yCAAgB;AAC5C;AACA;AACA,qCAAqC,gBAAgB;AACrD,wCAAwC,mBAAmB;AAC3D;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,oEAAoE,gBAAgB;AACpF;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,sCAAsC;AACnD,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,mBAAmB,wCAAW;AAC9B,2BAA2B,yCAAgB;AAC3C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,uCAAc;AAC7C;AACA,gCAAgC,wCAAe;AAC/C;AACA,sCAAsC,8CAAqB;AAC3D;AACA,gCAAgC,wCAAe;AAC/C;AACA,6BAA6B,yCAAgB;AAC7C;AACA,kCAAkC,0CAAiB;AACnD,qBAAqB,wCAAW;AAChC,6BAA6B,2CAAkB;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,uCAAuC;AACpD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,sCAAsC;AACnD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,qBAAqB,wCAAW;AAChC,iCAAiC,yCAAgB;AACjD;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,uCAAc;AACnD;AACA,sCAAsC,wCAAe;AACrD;AACA,4CAA4C,8CAAqB;AACjE;AACA,sCAAsC,wCAAe;AACrD;AACA,mCAAmC,yCAAgB;AACnD;AACA,wCAAwC,0CAAiB;AACzD,uBAAuB,wCAAW;AAClC,mCAAmC,2CAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,oCAAW;AAChC;AACA,0BAA0B,yCAAgB;AAC1C;AACA,6BAA6B,4CAAmB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,oBAAa;;;AAGA,+EAAuB,EAAC;;AAEvC,qC;;;;;ACr6BA;AACA;AACA;AACqC;;AAErC;AACA;AACA,uCAAuC,4CAA4C;AACnF;AACA;;AAEA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,OAAO;AACjB,UAAU,QAAQ;AAClB,UAAU,4BAA4B;AACtC,WAAW,iCAAiC;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,OAAO;AACjB,UAAU,QAAQ;AAClB,UAAU,4BAA4B;AACtC,UAAU,iCAAiC;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,4BAA4B;AACvC,YAAY,OAAO;AACnB;AACA;AACA,4BAA4B,oCAAQ;AACpC;AACA;;;AAGe,uEAAc,EAAC;;;AAG9B;AACA,QAAQ,oDAAoD;AAC5D,IAAI,gCAAgC;AACpC;AACA;AACO;;AAEP,0C;;AChHA;AACA;AACA;AAC4C;AACF;AACS;AACJ;AACT;AACD;AACiB;AACc;AAC0D;;AAE9H;AACA;AACA;AACA,IAAI,eAAW;AACf;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,yCAAyC;AACtD,aAAa,wCAAwC;AACrD;AACA;AACA,IAAI,gCAAQ;AACZ;;AAEA;AACA;AACA,aAAa,2CAA2C;AACxD;AACA;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,uCAAgB;AACpB;AACA;AACA;AACA;;AAEA,IAAI,sCAAe;AACnB,MAAM,4CAAqB;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,sCAAsC;AACnD,aAAa,wCAAwC;AACrD,aAAa,OAAO;AACpB,aAAa;AACb,iDAAiD;AACjD,aAAa,EAAE;AACf,aAAa,gEAAgE;AAC7E;AACA;AACA;AACA,aAAa,EAAE;AACf,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,oCAAoC;AACnD,eAAe,oCAAoC;AACnD,gBAAgB,EAAE;AAClB;AACA;AACA,2CAA2C,8BAAM;AACjD,YAAY,8BAAM;AAClB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,uBAAuB,qCAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA,UAAU,4CAAmB;AAC7B;AACA,gCAAgC,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,4BAA4B;AACzC,aAAa,wCAAwC;AACrD,aAAa,OAAO;AACpB,aAAa,0FAA0F;AACvG;AACA,aAAa,EAAE;AACf,aAAa,gEAAgE;AAC7E;AACA;AACA;AACA,aAAa,EAAE;AACf,cAAc,YAAY;AAC1B;AACA;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA,aAAa,sCAAsC;AACnD,aAAa,wCAAwC;AACrD,aAAa,OAAO;AACpB,aAAa,gEAAgE;AAC7E;AACA;AACA;AACA,aAAa,EAAE;AACf,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,4CAA4C,yBAAI;;AAEhD;AACA;;AAEA;AACA,aAAa,mCAAmC;AAChD;AACA,cAAc,6BAA6B;AAC3C;AACA;AACA,mBAAmB,8BAAM;AACzB;AACA;AACA,KAAK;AACL;AACA,kEAAkE,QAAQ;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,mCAAM;AACvD,UAAU,4BAAS;AACnB,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB;AACA,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,6CAA6C;AAC3D;AACA;AACA;AACA;;AAEA;AACA,cAAc,qCAAqC;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;AACA;;AAEA,IAAI,0CAAa;AACjB;;AAEA;AACA;;AAEA;AACA,aAAa,qCAAqC;AAClD,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,yCAAyC;AACtD;AACA;AACA,IAAI,gCAAQ;AACZ;;AAEA;AACA,aAAa,wCAAwC;AACrD;AACA;AACA;AACA,mDAAmD,gDAAgD;AACnG;;AAEA;AACA,aAAa,yCAAyC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,gDAAgD;AACrE;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,gCAAU;;;AAGZ;AACA,WAAW,qCAAqC;AAChD,WAAW,wCAAwC;AACnD;AACA;AACA,EAAE,MAAc;AAChB;;;AAGA;AACA,WAAW,kCAAkC;AAC7C,WAAW,kCAAkC;AAC7C,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACe,gEAAW,EAAC;;AAE3B,+B;;ACjWA;AACA;AACA;AACmH;AAC/D;AACJ;AACG;AACM;AACT;AACQ;AACF;AACiB;AACnB;AACJ;;;AAGhD;AACA,UAAU;AACV;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA,IAAI,qBAAiB;AACrB;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA,oBAAoB,4CAAqB;;AAEzC;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,iCAAkB;AAC/C;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,sBAAsB,sCAAe;;AAErC;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,4CAA4C;AACzD,aAAa,2CAA2C;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,8BAA8B,SAAuB;AACrD;AACA,6BAA6B,YAAW;AACxC;AACA;AACA;AACA;;AAEA;AACA,aAAa,2CAA2C;AACxD;AACA,cAAc,wCAAwC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uCAAgB;AAC3B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA,6BAA6B,mCAAe;;AAE5C;AACA,IAAI,mCAAU,mBAAmB,YAAY;;AAE7C;AACA;AACA,MAAM,+CAAc;AACpB;;AAEA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA,qCAAqC,6BAA6B;AAClE,WAAW,4CAAmB;AAC9B,oCAAoC,wBAAW;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,6BAA6B,mCAAe;;AAE5C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qBAAqB,qCAAc;AACnC;;AAEA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA,UAAU,4CAAmB;AAC7B,uCAAuC,6BAA6B;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA,WAAW,iCAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,YAAW;;;AAGE,oEAAiB,EAAC;;AAEjC,+B;;;;;ACjOA;AACA;AACA;AACkC;AACQ;AACA;AACF;AACJ;AACW;AACF;;AAE7C,IAAI,mBAAa;AACjB;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,oCAAoC;AACjD,aAAa,wCAAwC;AACrD,aAAa,6DAA6D;AAC1E,cAAc,4DAA4D;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB,iBAAiB,kCAAkC;AACnD,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA,mBAAmB,6BAA6B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,sCAAsC;AACnD,aAAa,wCAAwC;AACrD,aAAa,OAAO;AACpB,aAAa,sFAAsF;AACnG,cAAc,OAAO;AACrB;AACA;AACA;;AAEA;AACA,cAAc,oCAAoC;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,qCAAqC;AAClD;AACA;AACA;AACA,2BAA2B,8BAA8B;AACzD,6BAA6B,6BAAU;AACvC;AACA;AACA;;AAEA;AACA,aAAa,sCAAsC;AACnD,aAAa,wCAAwC;AACrD,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,kCAAkC;AAC/C,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,sBAAsB,6BAAU,yBAAyB,6BAAU;AACnE,MAAM,mCAAM,QAAQ,4BAAS;AAC7B;AACA,sBAAsB,6BAAU;AAChC;AACA;AACA;AACA,yBAAyB,6BAAU;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA,wDAAwD,wBAAW;AACnE;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD,aAAa,oCAAoC;AACjD;AACA;AACA;AACA;AACA;AACA,iBAAiB,oCAAoC;AACrD,iBAAiB,qCAAqC;AACtD,iBAAiB,wCAAwC;AACzD;AACA;AACA,4BAA4B,8BAAM;AAClC;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,mBAAmB,gDAAgD;AACnE;AACA;AACA;;AAEA;AACA,aAAa,oEAAoE;AACjF,aAAa,oCAAoC;AACjD,aAAa,OAAO;AACpB,aAAa,kCAAkC;AAC/C;AACA;AACA;AACA;AACA,wBAAwB,8BAAM;AAC9B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wCAAwC;AACrD,aAAa,oCAAoC;AACjD,aAAa,0CAA0C;AACvD,aAAa,OAAO;AACpB,aAAa,wCAAwC;AACrD,aAAa,8BAA8B;AAC3C,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,iDAAiD;AAC9D,aAAa,GAAG;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,8BAAM;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,eAAe;AACpC;AACA;AACA,8BAA8B,qBAAqB;AACnD,gCAAgC,qBAAqB;AACrD;AACA;AACA,mCAAmC,4BAAS;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,gCAAU;;AAEG,sEAAa,EAAC;;AAE7B,iC;;ACtPA;AACA;AACA;AACuC;AACgD;AAC/C;AACQ;AACQ;AACF;AACiB;AAC/B;AAC2E;;AAEnH;AACA;AACA;AACA,IAAI,yBAAmB;AACvB;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,sBAAsB,sCAAe;;AAErC;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,2CAA2C;AACxD,aAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,uCAAU;AAC5B,mBAAmB,wCAAW;AAC9B,sBAAsB,2CAAc;AACpC,qBAAqB,0CAAa;;AAElC,IAAI,qCAAc;AAClB,IAAI,qCAAc;AAClB,IAAI,qCAAc;AAClB,IAAI,qCAAc;;AAElB;AACA,IAAI,+CAAc;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,+CAAc;AAClB;;AAEA;AACA,aAAa,4CAA4C;AACzD,aAAa,yBAAyB;AACtC,aAAa,2CAA2C;AACxD,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,+CAAc;AACpB;AACA;AACA,uBAAuB,SAAuB;AAC9C;AACA;AACA,6BAA6B,YAAW;AACxC;AACA;AACA,MAAM,+CAAc;AACpB;AACA;;AAEA;AACA,aAAa,yCAAyC;AACtD,aAAa,2CAA2C;AACxD,aAAa,OAAO;AACpB,aAAa,6FAA6F;AAC1G;AACA,aAAa,EAAE;AACf,cAAc,YAAY;AAC1B;AACA;AACA;AACA,2FAA2F,yBAAI;;AAE/F;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,2CAA2C;AACxD,aAAa,qCAAqC;AAClD,aAAa,wCAAwC;AACrD;AACA;AACA;AACA,+BAA+B,mCAAe;AAC9C;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,2CAA2C;AACxD,aAAa,wCAAwC;AACrD;AACA;AACA;AACA,+BAA+B,mCAAe;AAC9C;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,2CAA2C;AACxD,aAAa,wCAAwC;AACrD;AACA;AACA;AACA,+BAA+B,mCAAe;AAC9C;;AAEA;AACA,aAAa,2CAA2C;AACxD,aAAa,OAAO;AACpB;AACA,cAAc,wCAAwC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uCAAgB;AAC3B;;AAEA;AACA;AACA,aAAa,2CAA2C;AACxD,aAAa,qCAAqC;AAClD,aAAa,yBAAyB;AACtC;AACA;AACA,IAAI,gCAAQ;AACZ;;AAEA;AACA;AACA,aAAa,2CAA2C;AACxD,aAAa,qCAAqC;AAClD,cAAc,QAAQ;AACtB;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA,CAAC,CAAC,cAAa;;AAEA,0EAAmB,EAAC;;AAEnC,iC;;AChMA;AACA;AACA;AACuC;AACsB;AACV;AACQ;AACd;AACyC;;AAEtF;AACA;AACA;AACA,IAAI,6CAA0B;AAC9B;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA,4CAA4C,sCAAe;;AAE3D;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,2CAAc;AACzB,UAAU,uCAAU;AACpB;AACA,kDAAkD,iCAAiC;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAc,oDAAoD;AAClE;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA;AACA,cAAc,wCAAwC;AACtD;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,qCAAc;AAC9B,IAAI,sCAAe;;AAEnB;AACA,+BAA+B,4CAAqB;AACpD;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,CAAC,CAAC,YAAmB;;;AAGN,oGAA0B,EAAC;;AAE1C,8C;;AClIA;AACA;AACA;AACkE;AACnB;AACJ;AACF;AACH;AACwC;AACf;AAC3B;AACe;AACc;AACyB;;AAE1F;AACA;AACA;AACA;AACA;AACA,IAAI,mCAAwB;AAC5B;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,2BAA2B,sCAAe;;AAE1C;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA,iCAAiC,4BAAS;AAC1C,2BAA2B,yBAAyB,QAAQ,QAAQ;AACpE,mBAAmB,yBAAyB;AAC5C;AACA,4CAA4C,mCAAmC;AAC/E;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC,uCAAuC;AACvE,iCAAiC,wCAAwC;;AAEzE;;AAEA;AACA;AACA;AACA,uBAAuB,4CAAe;AACtC;;AAEA,eAAe,2BAAQ,sBAAsB,2BAAQ;AACrD,SAAS,oCAAO;AAChB;AACA,WAAW,4CAA0B;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,2CAA2C,KAAK,6BAAM,GAAG;AAClG;AACA,YAAY,qCAAQ;AACpB,YAAY,sCAAS;AACrB;AACA,gCAAgC,8BAA8B,KAAK,6BAAM,GAAG;AAC5E;AACA,WAAW;AACX,SAAS;AACT;AACA,oBAAoB,cAAW;AAC/B;AACA;AACA,eAAe,+BAAM;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,uCAAgB;AACtC;AACA;AACA;AACA;AACA;AACA,MAAM,uCAAgB;AACtB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,CAAC,CAAC,kBAA0B;;;AAG5B;AACA;AACA,WAAW,uCAAuC;AAClD,YAAY,QAAQ;AACpB;AACA,mCAAwB;AACxB,6BAA6B,4BAAS;AACtC,wBAAwB,4BAAS;AACjC,eAAe,wCAAwC,gCAAgC,mCAAgB;AACvG;;;AAGA;AACA;AACA,WAAW,4BAA4B;AACvC,WAAW,uCAAuC;AAClD,YAAY,yBAAyB;AACrC;AACA,mCAAwB;AACxB,aAAa,mCAAwB,YAAY,uCAAuC;AACxF;;;AAGe,kFAAwB,EAAC;;AAExC,sC;;;;;AC3NA;AACA;AACA;AACqC;AACM;AACA;AACA;AACF;AACU;AAC2C;AAC7B;AACyB;;AAE1F;AACA;AACA;AACA;AACA;AACA,IAAI,iCAAuB;AAC3B;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA,0CAA0C,4CAAqB;;AAE/D;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,qBAAqB,wCAAW;;AAEhC;AACA;AACA,cAAc;AACd;AACA,6BAA6B,4BAAS;;AAEtC;AACA;AACA,cAAc;AACd;AACA,2BAA2B,sCAAe;;AAE1C;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,gCAAgC;AAC7C,cAAc,QAAQ;AACtB;AACA;AACA,+BAA+B,sCAAsC;AACrE;AACA;AACA,wBAAwB,4BAAS;AACjC,qBAAqB,4BAAS;AAC9B,qBAAqB,4BAAS;AAC9B;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,2CAA2C;AACxD,cAAc,iCAAiC;AAC/C;AACA;AACA,+BAA+B,sCAAsC;AACrE,gCAAgC,uCAAuC;AACvE;AACA,2BAA2B,4BAAS;AACpC;AACA;AACA,sBAAsB,4BAAS;AAC/B,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,sCAAsC;AACrE,gCAAgC,uCAAuC;AACvE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,4CAAe;AAC9B;AACA,QAAQ,oCAAO;AACf;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;;AAEA;AACA,uCAAuC,2BAAQ,qBAAqB,2BAAQ;;AAE5E;AACA;AACA;AACA;AACA,4BAA4B,qBAAqB;AACjD,8BAA8B,qBAAqB;AACnD;AACA;AACA;AACA;AACA;AACA,oBAAoB,8BAAM;AAC1B,iCAAiC,4BAAS;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,oCAAoC,2CAAc;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,wCAAwC,mCAAM;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,uCAAgB;AACpC;AACA;AACA;AACA;AACA;AACA,IAAI,uCAAgB;AACpB;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,gCAAgC;AAC7C,aAAa,2CAA2C;AACxD,aAAa,qCAAqC;AAClD,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,8BAAM;AACpB;AACA,+BAA+B,sCAAsC;AACrE,gCAAgC,uCAAuC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,gCAAgC;AAC7C,cAAc,oDAAoD;AAClE;AACA;AACA;AACA,sBAAsB,qCAAqC;AAC3D;;AAEA;AACA,CAAC,CAAC,kBAA0B;;;AAG5B;AACA;AACA,WAAW,uCAAuC;AAClD,YAAY,QAAQ;AACpB;AACA,iCAAuB;AACvB,6BAA6B,4BAAS;AACtC;;;AAGA;AACA;AACA,WAAW,4BAA4B;AACvC,WAAW,uCAAuC;AAClD,YAAY,wBAAwB;AACpC;AACA,iCAAuB;AACvB,aAAa,iCAAuB,YAAY,sCAAsC;AACtF;;;AAGA;AACA;AACA,YAAY;AACZ;AACA,iCAAuB;;;AAGR,+EAAuB,EAAC;;AAEvC,qC;;;;;;ACnZA;AACA;AACA;AACoC;;AAEpC;AACA;AACA;AACA,IAAI,uBAAW;;AAEf,uBAAW;AACX,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA,YAAY,QAAQ;AACpB;AACA,uBAAW;AACX,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,SAAS;AACrB;AACA,uBAAW;AACX,SAAS,gCAAQ;AACjB;;AAEe,8EAAW,EAAC;;AAE3B,uC;;ACjCA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,sC;;;;;;;;;;;AChBA;AACA;AACA;AACmC;;;AAGnC;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,wBAAwB;AACnC;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,gBAAgB;AAC5B;AACA;AACO;AACP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,4BAAI;AAChB,YAAY,4BAAI;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oC;;AC7FA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,UAAU;AACV;AACO,IAAI,2BAAe;;;AAG1B;AACA,UAAU;AACV;AACO,IAAI,6BAAiB;;;AAG5B;AACA,UAAU;AACV;AACO;;;AAGP;AACA,UAAU;AACV;AACO;;;AAGQ,kEAAW,EAAC;;AAE3B,uC;;AClDA;AACA;AACA;AACyC;;;AAGzC;AACA;AACA,UAAU;AACV;AACO;AACP,EAAE,UAAU;AACZ,EAAE,UAAU;AACZ,EAAE,UAAU;AACZ,EAAE,UAAU;AACZ,EAAE,UAAU;AACZ,EAAE,UAAU;AACZ;;AAEA;AACA;AACA,UAAU;AACV;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kC;;ACpCA;AACA;AACA;AACqC;AACkB;AACR;AAEqC;AAC5B;AACF;AAC+D;AAC1D;AACA;AACF;AACX;AACT;AACW;AAGO;AACN;AACT;AAMZ;;;AAG5B;AACA,UAAU;AACV;AACA,IAAI,gBAAS,GAAG,wCAAW;;;AAG3B;AACA,UAAU;AACV;AACA,mBAAmB,sCAAe;;;AAGlC,IAAI,mBAAY;AAChB;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,8BAA8B,sCAAe;;AAE7C;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,4BAA4B,uCAAuC,OAAO;;AAE1E;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,yCAAyC;AACtD,aAAa,yCAAyC;AACtD,aAAa,yCAAyC;AACtD,aAAa,yCAAyC;AACtD,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,oDAAoD;AACjE,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,sCAAsC;AACnD,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,OAAO;AACpB,aAAa,cAAc;AAC3B,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,yCAAyC;AACxD;AACA,eAAe,yCAAyC;AACxD;AACA,eAAe,yCAAyC;AACxD;AACA,eAAe,yCAAyC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,uCAAgB;;AAElC,MAAM,gDAAmB,CAAC,gBAAS;AACnC,MAAM,6CAAgB,CAAC,gBAAS,EAAE,qCAAc;AAChD,MAAM,6CAAgB,CAAC,gBAAS,EAAE,qCAAc;AAChD,MAAM,6CAAgB,CAAC,gBAAS,EAAE,qCAAc;AAChD,MAAM,6CAAgB,CAAC,gBAAS,EAAE,qCAAc;AAChD,KAAK;AACL,MAAM,2CAAc,uCAAuC,gBAAS;AACpE;AACA;AACA;AACA;AACA,QAAQ,gBAAS,uCAAuC,gBAAS;AACjE,QAAQ,gBAAS,wCAAwC,gBAAS;;AAElE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM,mCAAM,iBAAiB,gBAAS;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,qBAAqB,SAAS;AAC9B,qBAAqB,SAAS;AAC9B;AACA,MAAM,0CAAS;AACf;AACA;;AAEA;AACA;AACA,aAAa,cAAc;AAC3B,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB;AACA,cAAc,OAAO;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA6B,SAAS;AACtC;AACA;AACA,gBAAgB,mDAAsB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,sBAAsB,+BAAY;AACzC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB,aAAa,cAAc;AAC3B,cAAc,OAAO;AACrB;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,+BAAY;AAC5B,4BAA4B,6CAA6C;AACzE;AACA;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA,8BAA8B,kBAAiB;AAC/C,sDAAsD,+CAA4B;AAClF,KAAK,kBAAkB,+BAAY,oBAAoB,+BAAY;AACnE;AACA,iCAAiC,+BAAY;AAC7C,mBAAmB,wCAAwC;AAC3D;AACA;AACA,mBAAmB,wFAAwF;AAC3G;AACA,8BAA8B,kBAAiB;AAC/C,qDAAqD,0CAAuB;AAC5E,KAAK,kBAAkB,+BAAY,wBAAwB,+BAAY;AACvE;AACA;AACA;AACA,8BAA8B,kBAAiB;AAC/C,oDAAoD,qCAAkB;AACtE,KAAK,kBAAkB,+BAAY;AACnC;AACA;AACA;AACA,8BAA8B,kBAAiB;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,yEAAyE;AACtF,aAAa,mEAAmE;AAChF;AACA;AACA,uCAAuC,kBAAiB;AACxD;AACA,uCAAuC,kBAAiB;AACxD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,yBAAyB;AACtC;AACA;AACA;AACA,mBAAmB,qCAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,uCAAc;AACxD;AACA;;AAEA;AACA;AACA,aAAa,yBAAyB;AACtC,aAAa,SAAS;AACtB;AACA;AACA,qCAAqC,uCAAuC;AAC5E,mCAAmC,OAAO;AAC1C,iCAAiC,cAAc;AAC/C,kCAAkC,eAAe;AACjD,oCAAoC,OAAO;AAC3C,QAAQ,+BAAgB;AACxB,0CAA0C,OAAO;AACjD,qCAAqC,cAAc;AACnD;AACA;;AAEA;AACA,aAAa,sCAAsC;AACnD,aAAa,mEAAmE;AAChF;AACA;AACA;AACA;AACA;AACA,mBAAmB,uCAAuC;AAC1D;AACA,2BAA2B,OAAO;AAClC,2BAA2B,OAAO;AAClC,2BAA2B,OAAO;AAClC,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA,qDAAqD,QAAQ;AAC7D,2CAA2C,MAAM;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,kCAAS;AACvB;AACA;AACA;AACA;AACA,QAAQ,gDAAmB;AAC3B;AACA;AACA;;AAEA;AACA;AACA,aAAa,yBAAyB;AACtC,aAAa,uCAAuC;AACpD,aAAa,wBAAwB;AACrC;AACA,aAAa,SAAS;AACtB,aAAa,QAAQ;AACrB,aAAa,4FAA4F;AACzG,aAAa,kCAAkC;AAC/C;AACA,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B;AACA,kCAAkC,+BAAM;AACxC;AACA,KAAK;AACL;AACA;AACA;AACA,yBAAyB,6CAAW;AACpC;AACA;AACA,MAAM,4CAAqB;AAC3B;AACA,wBAAwB,8BAAO;AAC/B,cAAc;AACd,iCAAiC;AACjC,cAAc;AACd,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B,gCAAgC;AAC3D;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,mBAAmB,mEAAmE;AACtF;AACA;AACA;AACA,4BAA4B,kBAAkB;AAC9C;AACA,aAAa,kBAAiB;AAC9B,+BAA+B,mEAAmE;AAClG,mDAAmD,8BAAM;AACzD,2BAA2B,OAAO;AAClC,WAAW,0CAA0C,uCAAU;AAC/D;AACA,2BAA2B,OAAO;AAClC,WAAW;AACX;AACA;AACA;AACA,aAAa,kBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAiB;AAC9B,yBAAyB,OAAO;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAiB;AAC9B;AACA;AACA;AACA,aAAa,kBAAiB;AAC9B,yBAAyB,OAAO;AAChC;AACA,oCAAoC,+CAA+C;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAiB;AAC9B,yBAAyB,OAAO;AAChC,0BAA0B,OAAO;AACjC,6BAA6B,oDAAoD;AACjF;AACA;AACA,+BAA+B,OAAO;AACtC,+BAA+B,OAAO;AACtC,+DAA+D,sCAAsC;AACrG,kCAAkC,OAAO;AACzC,mCAAmC,OAAO;AAC1C,mCAAmC,OAAO;AAC1C,mCAAmC,OAAO;AAC1C,0CAA0C,QAAQ;AAClD,oCAAoC,OAAO;AAC3C,iCAAiC,OAAO;AACxC,iCAAiC,OAAO;;AAExC;AACA;AACA,iCAAiC,cAAc;AAC/C,wCAAwC,QAAQ;AAChD,0CAA0C,QAAQ;AAClD,WAAW;AACX,sBAAsB,uCAAc;AACpC;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA,0CAA0C,SAAS;AACnD,4CAA4C,SAAS;AACrD;AACA;AACA;AACA;AACA,aAAa,kBAAiB;AAC9B,iCAAiC,OAAO;AACxC,+BAA+B,OAAO;AACtC,oCAAoC,OAAO;AAC3C,+DAA+D,sCAAsC;AACrG,oCAAoC,OAAO;AAC3C,mCAAmC,OAAO;AAC1C,oCAAoC,OAAO;AAC3C,mCAAmC,wBAAwB;AAC3D,mCAAmC,OAAO;AAC1C,qCAAqC,OAAO;AAC5C,uCAAuC,OAAO;AAC9C,gCAAgC,OAAO;AACvC,mCAAmC,OAAO;AAC1C,qCAAqC,OAAO;;AAE5C,2BAA2B,+CAAgB;AAC3C;AACA;AACA,uBAAuB,kCAAkC;AACzD,wCAAwC,EAAE;AAC1C;AACA,qDAAqD,UAAU;AAC/D,wBAAwB,cAAc;AACtC;AACA;AACA;AACA;AACA,8CAA8C,QAAQ;AACtD,kCAAkC;AAClC,qCAAqC,OAAO;AAC5C;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA,+BAA+B,OAAO,0BAA0B,OAAO;AACvE;AACA,+BAA+B,OAAO;AACtC,oBAAoB,uCAAc;AAClC;AACA;AACA;AACA,8CAA8C,QAAQ;AACtD,kCAAkC;AAClC,qCAAqC,OAAO;AAC5C;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA,+BAA+B,OAAO,0BAA0B,OAAO;AACvE;AACA,+BAA+B,OAAO;AACtC,oBAAoB,uCAAc;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAiB;AAC9B;AACA,iCAAiC,mEAAmE;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAiB;AAC9B;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,aAAa,kBAAiB;AAC9B,yBAAyB,OAAO;AAChC,0BAA0B,OAAO;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAiB;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,uCAAuC;AAChF;AACA;AACA,aAAa,kBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA,mDAAmD,SAAS;AAC5D;AACA;AACA,aAAa,kBAAiB;AAC9B;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,uCAAuC;AACpD,aAAa,OAAO;AACpB,aAAa,wBAAwB;AACrC;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,uCAAuC;AACpD,aAAa,OAAO;AACpB,aAAa,wBAAwB;AACrC;AACA,aAAa,mFAAmF;AAChG;AACA,aAAa,kCAAkC;AAC/C;AACA,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA,wBAAwB,kBAAkB;AAC1C,kBAAkB,kBAAiB;AACnC;AACA,OAAO,kBAAkB,kBAAiB;AAC1C;AACA,QAAQ,wCAAe;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,wCAAW;AACnC,yBAAyB,yCAAgB;AACzC,KAAK;AACL;AACA;AACA;AACA;AACA,0BAA0B,wCAAW;AACrC,2BAA2B,2CAAkB;AAC7C;AACA;AACA,6BAA6B,uCAAc;AAC3C;AACA;AACA,sCAAsC,wCAAe;AACrD;AACA;AACA,oCAAoC,8CAAqB;AACzD;AACA;AACA,8BAA8B,wCAAe;AAC7C;AACA;AACA,2BAA2B,yCAAgB;AAC3C;AACA;AACA,gCAAgC,0CAAiB;;AAEjD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,uCAAuC;AACpD,aAAa,yEAAyE;AACtF,cAAc,SAAS;AACvB;AACA;AACA;AACA,eAAe,SAAS;AACxB,2BAA2B,kBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,uCAAuC;AACpD;AACA;AACA;AACA;;AAEA;AACA,aAAa,uCAAuC;AACpD,cAAc,SAAS;AACvB;AACA;AACA;AACA,MAAM,kBAAiB;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,uCAAuC;AACpD,aAAa,yJAAyJ;AACtK,aAAa,yEAAyE;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,uCAAuC;AACpD,aAAa,oEAAoE;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,+BAAM;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,yEAAyE;AACtF,aAAa,mEAAmE;AAChF;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,kBAAiB;AACnD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,iCAAiC;AAC/C;AACA;AACA;AACA;AACA,gCAAgC,kCAAK;AACrC;AACA;AACA,QAAQ,mCAAM;AACd;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,oBAAa;;;AAGA,8DAAY,EAAC;;AAE5B,kC;;AChkCA;AACA;AACA;AACiD;AACV;;AAEvC,IAAI,6BAAiB;AACrB;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,kBAAiB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,kBAAiB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,kBAAiB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,kBAAiB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,sCAAsC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,MAAY;;;AAGC,6EAAiB,EAAC;;AAEjC,uC;;ACvNA;AACA;AACA;AAC4F;AACrD;;AAEvC,IAAI,uCAAsB;AAC1B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA,mCAAmC,kBAAiB;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,kBAAiB;AACvB;AACA;AACA,OAAO,oBAAoB;AAC3B;AACA;AACA;AACA,uCAAuC,6BAAiB;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,kBAAiB;AACvB;AACA;AACA,OAAO,oBAAoB;AAC3B;AACA;AACA;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA,uCAAuC,6BAAiB;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,6BAAiB;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B,6BAAiB;AAC9C;AACA;AACA;AACA;AACA,2BAA2B,oBAAoB;AAC/C;;AAEA;AACA,CAAC,CAAC,MAAY;;;AAGC,4FAAsB,EAAC;;AAEtC,4C;;;;;ACpHA;AACA;AACA;AACwC;AACS;AACH;AAGpB;AACa;;;AAGvC,IAAI,iCAAmB;AACvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,oBAAoB;AAC/C,uCAAuC,oBAAoB;AAC3D,mBAAmB,aAAa;AAChC;AACA;AACA;AACA,qCAAqC,kBAAiB;AACtD;AACA;AACA;AACA;AACA;AACA,+BAA+B,oBAAoB;AACnD,2CAA2C,oBAAoB;AAC/D;AACA;AACA;AACA;AACA,6BAA6B,2BAAe;AAC5C,yCAAyC,2BAAe;AACxD;AACA;AACA,6BAA6B,6BAAiB;AAC9C,yCAAyC,6BAAiB;AAC1D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,kBAAiB;AACzB,QAAQ,oCAAQ,CAAC,yCAAgB;AACjC;AACA;AACA;AACA;AACA,QAAQ,kBAAiB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,kBAAiB;AAC9C,2BAA2B,oBAAoB;AAC/C,uCAAuC,oBAAoB;AAC3D,uCAAuC,2BAAe;AACtD;AACA,6BAA6B,2BAAe;AAC5C;AACA;AACA,6BAA6B,6BAAiB;AAC9C,yCAAyC,6BAAiB;AAC1D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,kBAAiB;AACzB,QAAQ,oCAAQ,CAAC,yCAAgB;AACjC;AACA;AACA;AACA;AACA,QAAQ,kBAAiB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,kBAAiB;AACzB,QAAQ,oCAAQ,CAAC,yCAAgB;AACjC;AACA;AACA;AACA;AACA,QAAQ,kBAAiB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,QAAQ;AACtD,yBAAyB,gCAAI;AAC7B;AACA;AACA;;AAEA;AACA;AACA,aAAa,yEAAyE;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,MAAY;;;AAGC,mFAAmB,EAAC;;AAEnC,yC;;ACrNA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,cAAc;AAC1B;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yC;;ACpDA;AACA;AACA;;AAEA;AACA;AACA,sDAAsD,2CAA2C;AACjG,IAAI,qCAAqC,GAAG,qDAAqD;AACjG,IAAI,+CAA+C;AACnD,UAAU;AACV;AACe;AACf;AACA;AACA,CAAC,EAAC;;AAEF,yC;;AChBA;AACA;AACA;AACqC;AACU;AACI;AACR;AACoB;AACT;AACR;AACkQ;AAC/P;AACV;AACC;AACiB;;AAEzD,IAAI,2BAAgB;AACpB;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,iCAAiC,iCAAiC,OAAO;;AAEzE;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA,IAAI,mCAAU;;AAEd;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gCAAgC,aAAa;AAC7C,WAAW,uCAAU;AACrB;AACA;AACA;AACA;AACA;AACA,0BAA0B,+BAAY;AACtC;AACA,OAAO,0BAA0B,+BAAY;AAC7C;AACA,OAAO,0BAA0B,+BAAY;AAC7C;AACA,OAAO,0BAA0B,+BAAY;AAC7C;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA,sBAAsB,aAAa;AACnC;AACA;AACA,SAAS;AACT;AACA;AACA,4BAA4B,aAAa;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA,aAAa,+BAAY;AACzB,aAAa,+BAAY;AACzB;AACA;AACA;AACA,aAAa,+BAAY;AACzB,uCAAuC,2CAA2C;AAClF;AACA,aAAa,+BAAY;AACzB,uCAAuC,uCAAuC;AAC9E;AACA,aAAa,+BAAY;AACzB,uCAAuC,gDAAgD;AACvF;AACA;AACA,aAAa,+BAAY;AACzB,uCAAuC,wCAAwC;AAC/E;AACA;AACA;AACA;AACA;AACA,aAAa,+BAAY;AACzB,0CAA0C,6CAA6C;AACvF;AACA,iDAAiD,QAAQ;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;;AAEA,SAAS,mCAAU;AACnB;AACA;AACA;AACA;AACA;AACA,kBAAkB,UAAU,wBAAwB,yCAAgB;AACpE;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,kDAAiB;AACxC;AACA;AACA,oBAAoB,4CAAqB;AACzC;AACA;AACA;AACA,MAAM,mCAAU;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,cAAc;AACnD,sCAAsC,eAAe;AACrD;AACA,YAAY,+BAAgB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA,WAAW,mCAAU;AACrB;;AAEA;AACA;AACA,aAAa,kBAAkB;AAC/B,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,gBAAgB,UAAU,wBAAwB,yCAAgB;AAClE,mBAAmB,UAAU;AAC7B;;AAEA;AACA;AACA,4BAA4B,kBAAiB;AAC7C;AACA;AACA;AACA,2BAA2B,uCAAc;AACzC,QAAQ,uCAAc;AACtB;AACA,SAAS;AACT;AACA;AACA,wCAAwC,kBAAiB;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,sCAAsC;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD,mCAAmC;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,kDAAkD,iCAAiC;AACnF;AACA,0CAA0C,yCAAgB;AAC1D;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,8CAA8C,iCAAiC;AAC/E;AACA,SAAS;AACT;AACA;;AAEA;AACA,mBAAmB,UAAU;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,kBAAiB;AAC7C;AACA;AACA;AACA;AACA;AACA,iCAAiC,iDAAgB;AACjD;AACA;AACA,OAAO;AACP;AACA;AACA,wCAAwC,kBAAiB;AACzD;AACA;AACA;AACA;AACA;AACA,iCAAiC,iDAAgB;AACjD;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,wCAAwC,sCAAsC;;AAE9E;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,uDAAuD,iCAAiC,OAAO;AAC/F;AACA,8BAA8B,wCAAW;AACzC,sCAAsC,yCAAgB;AACtD;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,2DAA2D,mCAAmC,OAAO;AACrG;AACA;AACA;AACA;AACA;AACA,8DAA8D,uCAAc;AAC5E,6DAA6D,wCAAe;AAC5E;AACA,2CAA2C,8CAAqB;AAChE,gEAAgE,wCAAe;AAC/E;AACA,sCAAsC,yCAAgB;AACtD;AACA,uCAAuC,0CAAiB;AACxD,kCAAkC,wCAAW;AAC7C,wCAAwC,2CAAkB;AAC1D;;AAEA;AACA,wCAAwC,oCAAW;AACnD,MAAM,0CAAS;AACf;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,4CAAmB;AACjF;AACA;AACA,oDAAoD,uCAAc;AAClE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gFAAgF,8BAAM;AACtF;AACA;AACA;AACA;AACA;AACA,+EAA+E,8BAAM;AACrF;AACA;AACA;;AAEA;AACA,CAAC,CAAC,MAAY;;;AAGd;AACA,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB;AACA,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA,iBAAiB,cAAc;AAC/B,uBAAuB,iDAAgB;AACvC;AACA;AACA;AACA;AACA;;;AAGe,0EAAgB,EAAC;;AAEhC,sC;;AC3hBA;AACA;AACA;;AAEyD;AACN;AACmB;AACb;AACpB;AACO;AACF;AACH;AACU;AACU;AACN;AACN;AACZ;AACuD;;;AAG1F;AACA,UAAU;AACV;AACA;AACA,YAAY,aAAmB;AAC/B,aAAa,MAAY;AACzB,WAAW,WAAiB;AAC5B,gBAAgB,gBAAsB;AACtC,aAAa,aAAmB;AAChC,UAAU,UAAgB;AAC1B;;;AAGA,IAAI,6BAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,gCAAgC,4CAAqB;;AAErD;AACA;AACA,cAAc;AACd;AACA,kCAAkC,sCAAe;AACjD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B,OAAO;AACP,2CAA2C,wCAAW;AACtD;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,uCAAuC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,kBAAkB;AAC/B,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,yCAAyC;AACtD,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,wBAAwB;AACrC,aAAa,kFAAkF;AAC/F,aAAa,sDAAsD;AACnE,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,uCAAgB;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA,kBAAkB,wCAAW;AAC7B,MAAM,6CAAgB;AACtB,MAAM,mCAAM;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;AACA,eAAe,mEAAmE;AAClF,gBAAgB,EAAE;AAClB;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA,0DAA0D,UAAU,wBAAwB,UAAU;AACtG;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,cAAc;AAC7B;AACA,YAAY,0CAAyB;;AAErC;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA,eAAe,KAAK,YAAY,QAAQ;AACxC,qBAAqB,KAAK;AAC1B;AACA;AACA;AACA,6BAA6B,UAAU,wBAAwB,UAAU;AACzE;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,uCAAuC;AACpD,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,6CAAW;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,iDAAiD;AAC/D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,8BAAO;AAClB;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,uCAAuC;AACpD,aAAa,OAAO;AACpB,aAAa,wBAAwB;AACrC,aAAa,QAAQ;AACrB,aAAa,mBAAmB;AAChC,qBAAqB;AACrB,aAAa,uDAAuD;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,cAAc;AAC7B;AACA,YAAY,0CAAyB;;AAErC;AACA;AACA;AACA;;AAEA,0DAA0D,KAAK;AAC/D;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA,6BAA6B,UAAU,wBAAwB,UAAU;AACzE;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC,CAAC,kBAAW;;;AAGb;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,kCAAkC;AAC7C,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B;AACA;AACA,GAAG;AACH,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,kCAAkC;AAC/C;AACO;AACP;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,eAAe;AAChC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA,WAAW,0BAA0B;AACrC,WAAW,yBAAyB;AACpC,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACO;AACP,0DAA0D,0CAAyB;AACnF;AACA,iCAAiC,QAAQ;AACzC;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;;;AAGe,oFAAiB,EAAC;;AAEjC,uC;;ACtfA;AACA;AACA;AACkC;AACQ;AACS;AACF;;;AAGjD;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,oCAAoC;AAC/C,WAAW,oCAAoC;AAC/C,YAAY,OAAO;AACnB;AACO;AACP,kBAAkB,8BAAM,2BAA2B,8BAAM;AACzD;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,oCAAoC;AAC/C,WAAW,oCAAoC;AAC/C,WAAW,gCAAgC;AAC3C;AACA;AACA;AACA;AACA;AACA,gEAAgE,UAAU;AAC1E;AACA;AACA;AACA;AACA;AACA,8DAA8D,UAAU;AACxE;AACA;AACA;AACA;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,oCAAoC;AAC/C,WAAW,oCAAoC;AAC/C,WAAW,OAAO;AAClB,WAAW,wDAAwD;AACnE,WAAW,EAAE;AACb,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA;AACA;AACA;AACA,sBAAsB,6BAAU,yBAAyB,6BAAU;AACnE;AACA,KAAK;AACL,wBAAwB,6BAAU;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,oCAAoC;AAC/C,WAAW,oCAAoC;AAC/C,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,6EAA6E;AACxF,WAAW,oCAAoC;AAC/C,WAAW,oCAAoC;AAC/C;AACA;AACA,4BAA4B,+BAAY;AACxC,gCAAgC,gDAAgD;AAChF,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA,wDAAwD,UAAU;AAClE,+BAA+B,4CAA4C;AAC3E;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,gDAAgD;AAC3D,WAAW,oCAAoC;AAC/C,WAAW,gCAAgC;AAC3C;AACA;AACA;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,+EAA+E;AAC1F,WAAW,oCAAoC;AAC/C,WAAW,oCAAoC;AAC/C;AACA;AACA;AACA;AACA,oEAAoE,UAAU;AAC9E;AACA;AACA;AACA;AACA;AACA,8DAA8D,UAAU;AACxE;AACA;AACA;AACA;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,oFAAoF;AAC/F,WAAW,oCAAoC;AAC/C,WAAW,oCAAoC;AAC/C;AACA;AACA;AACA;AACA,oEAAoE,UAAU;AAC9E;AACA;AACA;AACA;AACA;AACA,8DAA8D,UAAU;AACxE;AACA;AACA;AACA;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,0CAA0C;AACrD,WAAW,oCAAoC;AAC/C,WAAW,gCAAgC;AAC3C;AACA;AACA;AACA;AACA;AACA,iEAAiE,UAAU;AAC3E;AACA;AACA;AACA;AACA;AACA,8DAA8D,UAAU;AACxE;AACA;AACA;AACA;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,0EAA0E;AACrF,WAAW,oCAAoC;AAC/C,WAAW,oCAAoC;AAC/C;AACA;AACA;AACA;AACA,sCAAsC,6BAAU;AAChD;AACA;AACA,+DAA+D,UAAU;AACzE;AACA;AACA;AACA;AACA;AACA,8DAA8D,UAAU;AACxE;AACA;AACA;AACA;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,+EAA+E;AAC1F,WAAW,oCAAoC;AAC/C,WAAW,oCAAoC;AAC/C;AACA;AACA;AACA;AACA,sCAAsC,6BAAU;AAChD;AACA;AACA,+DAA+D,UAAU;AACzE;AACA;AACA;AACA;AACA;AACA,8DAA8D,UAAU;AACxE;AACA;AACA;AACA;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,4EAA4E;AACvF,WAAW,oCAAoC;AAC/C,WAAW,oCAAoC;AAC/C;AACA;AACA;AACA;AACA;AACA,iEAAiE,UAAU;AAC3E;AACA;AACA;AACA;AACA;AACA,8DAA8D,UAAU;AACxE;AACA;AACA;AACA;;AAEA,kC;;AC7TA;AACA;AACA;AACqC;AACM;AACF;AACU;AACF;AACC;AACxB;AACoD;AACtB;AACU;AACC;AACtB;AACwH;;AAErK;AACA;AACA;AACA;AACA;AACA,IAAI,qCAAyB;AAC7B;;AAEA;;AAEA;AACA;AACA;AACA;AACA,uDAAuD,eAAK;;AAE5D;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,2BAA2B,wCAAW;;AAEtC;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA,mBAAmB,4CAAqB;;AAExC,IAAI,mCAAM,CAAC,mCAAU,EAAE,4BAAS;;AAEhC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI,qCAAQ,CAAC,mCAAU,EAAE,4BAAS;AAClC;AACA;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,2CAA2C;AACxD,aAAa,qCAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,yCAAyC;;AAE3E;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,iCAAiC;AACjF;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,wCAAwC;AACrE;AACA;AACA;AACA;AACA,iDAAiD,mCAAe;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oCAAoC,2BAAQ,yBAAyB,2BAAQ;AAC7E;AACA;AACA,MAAM,+CAAc;AACpB;AACA;AACA;AACA,WAAW,2CAAc;AACzB;AACA,yBAAyB,qCAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,+CAAc;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,6BAA6B,wCAAwC;AACrE,iBAAiB,yBAAyB;AAC1C;AACA,kHAAkH;AAClH;AACA,mBAAmB,uCAAuC;AAC1D,oBAAoB,EAAE;AACtB;AACA;AACA,oBAAoB,8BAAM;AAC1B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC,wCAAwC;AACzE,kCAAkC,yCAAyC;;AAE3E,yCAAyC,2BAAQ;AACjD,2CAA2C,2BAAQ;AACnD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,YAAkB;AACjD;;AAEA,iBAAiB,mCAAM;AACvB;AACA;;AAEA;AACA,SAAS,2CAAc;AACvB;AACA;AACA;AACA;AACA;AACA,uBAAuB,qCAAQ;AAC/B,4BAA4B,qCAAQ;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,2CAAc;AACtB;AACA;AACA;;AAEA;;AAEA;;AAEA,0BAA0B,kBAAiB;AAC3C,MAAM,YAAkB;AACxB;AACA;AACA;AACA,eAAe,mCAAmC;AAClD,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,iBAAiB,0CAA0C;AAC3D;AACA;AACA;AACA,mBAAmB,mCAAmC;AACtD;AACA;AACA;AACA,SAAS;AACT;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,mCAAmC;AAChD,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,qFAAqF;AAClG,aAAa,qDAAqD;AAClE,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD,kBAAkB,aAAa;AAC/B;AACA,UAAU,mBAAyB;AACnC;AACA;AACA,KAAK;AACL,gBAAgB,aAAa;AAC7B;AACA,QAAQ,mBAAyB;AACjC;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,YAAmB;;;AAGrB;AACA;AACA,WAAW,uCAAuC;AAClD,YAAY,QAAQ;AACpB;AACA,qCAAyB;AACzB,6BAA6B,4BAAS;AACtC;;;AAGA;AACA;AACA,WAAW,4BAA4B;AACvC,WAAW,uCAAuC;AAClD,YAAY,0BAA0B;AACtC;AACA,qCAAyB;AACzB,aAAa,qCAAyB,YAAY,wCAAwC;AAC1F;;;AAGe,qFAAyB,EAAC;;AAEzC,uC;;;;;;;;;;;ACxbA;AACA;AACA;AACqC;AACM;AACA;AACF;AACU;AACF;AACC;AACxB;AACkF;AACrC;AACN;AACzB;AACY;AACc;AACoB;AACzC;AACQ;AACwC;AAOjE;;;AAG5B;AACA,UAAU;AACV;AACA;AACA,YAAY,UAAU,UAAU,UAAU;AAC1C,IAAI,UAAU,cAAc,UAAU,QAAQ,UAAU;AACxD,aAAa,UAAU,UAAU,UAAU;AAC3C;;;AAGA;AACA,UAAU;AACV;AACA;AACA,YAAY,UAAU;AACtB,aAAa,UAAU,QAAQ,UAAU,OAAO,UAAU;AAC1D,YAAY,KAAK;AACjB;;;AAGA;AACA;AACA;AACA;AACA;AACA,IAAI,6CAA6B;AACjC;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iDAAiD,eAAK;;AAEtD;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,yBAAyB,sCAAe;;AAExC;;AAEA;AACA,qCAAqC,uCAAoB;;AAEzD,uBAAuB,uCAAoB;AAC3C,qBAAqB,4CAAqB;AAC1C;;;AAGA,IAAI,mCAAM,CAAC,mCAAU,EAAE,4BAAS;;AAEhC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI,qCAAQ,CAAC,mCAAU,EAAE,4BAAS;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,4BAA4B,4BAAS;AACrC,yCAAyC,2CAA2C;AACpF;AACA,yCAAyC,2CAA2C;AACpF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+BAA+B,sCAAsC;AACrE,sBAAsB,2CAA2C;AACjE;;AAEA;AACA;AACA;AACA;AACA,2BAA2B,wCAAwC;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,2CAA2C;AACxD,aAAa,OAAO;AACpB,aAAa,2CAA2C;AACxD;AACA;AACA;AACA;;AAEA,2BAA2B,wCAAwC;AACnE;AACA,iCAAiC,wCAAwC;;AAEzE;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,6CAA6C;AACzE;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAmC,4BAAS;AAC5C;AACA;;AAEA;AACA;AACA,yBAAyB,4CAAe;AACxC,2BAA2B,mCAAM;AACjC,QAAQ,mCAAM;AACd;AACA;AACA,WAAW,kCAAoB;AAC/B;AACA;AACA;AACA;AACA,4BAA4B,kBAAiB;AAC7C;AACA,6BAA6B,mBAAyB;;AAEtD;AACA,iBAAiB,uCAAuC;AACxD,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA,2CAA2C,wBAAK;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,uCAAU;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAyB;AACxC;;AAEA,mCAAmC,kDAAkD;;AAErF;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA,uBAAuB,mCAAM;AAC7B,WAAW,+CAAkB;AAC7B;AACA;AACA,gDAAgD,QAAQ;AACxD;AACA,qCAAqC,4BAAS;AAC9C;AACA;AACA,qCAAqC,kBAAkB;AACvD;AACA,kHAAkH;AAClH;AACA,qBAAqB,uCAAuC;AAC5D,sBAAsB,EAAE;AACxB;AACA;AACA,sBAAsB,8BAAM;AAC5B;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA,aAAa,sCAAsC;AACnD,aAAa,2CAA2C;AACxD,cAAc,uCAAuC;AACrD;AACA;AACA;AACA;AACA,4BAA4B,6CAA6C;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,uCAAU;AAC3B;AACA;AACA;AACA,WAAW,uCAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2BAA2B,wCAAwC;AACnE;AACA,sBAAsB,uCAAoB;AAC1C,sDAAsD;AACtD,8BAA8B,6CAA6C;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,+CAAc;AACtB;AACA;AACA;AACA;AACA;AACA,oCAAoC,2BAAQ,yBAAyB,2BAAQ;AAC7E;AACA;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C,8BAA8B,2CAA2C;AACzE,+BAA+B,4BAAS;AACxC;AACA;AACA;AACA;AACA;AACA,kDAAkD,QAAQ;AAC1D;AACA,uCAAuC,4BAAS;AAChD;AACA;AACA,uCAAuC,kBAAkB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,eAAe;AACvB;AACA;AACA,QAAQ,+CAAc;AACtB,qBAAqB,OAAO,0BAA0B,OAAO;AAC7D;AACA;AACA;AACA;;AAEA;AACA,aAAa,uCAAuC;AACpD,aAAa,OAAO;AACpB,aAAa,qFAAqF;AAClG,aAAa,qDAAqD;AAClE,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD,kBAAkB,aAAa;AAC/B;AACA;AACA;AACA,KAAK;AACL,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,2CAA2C;AACxD,aAAa,OAAO;AACpB,aAAa,2CAA2C;AACxD;AACA;AACA;AACA,2BAA2B,wCAAwC;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6CAA6C;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,QAAQ;AACxD;AACA,qCAAqC,4BAAS;AAC9C;AACA;AACA;AACA,wBAAwB,qCAAc;AACtC,QAAQ,qCAAc;AACtB,QAAQ,yCAAkB;AAC1B,qCAAqC,kBAAkB;AACvD;AACA,oDAAoD;AACpD;AACA;AACA;;AAEA;AACA,CAAC,CAAC,SAAuB;;;AAGzB;AACA;AACA,WAAW,uCAAuC;AAClD,YAAY,QAAQ;AACpB;AACA,6CAA6B;AAC7B,6BAA6B,4BAAS;AACtC;;;AAGA;AACA;AACA,WAAW,4BAA4B;AACvC,WAAW,uCAAuC;AAClD,YAAY,8BAA8B;AAC1C;AACA,6CAA6B;AAC7B,aAAa,6CAA6B,YAAY,4CAA4C;AAClG;;;AAGe,iGAA6B,EAAC;;AAE7C,2C;;AChgBA;AACA;AACA;AAC6C;AACiB;AACG;AACjC;AACuC;AACd;AACY;AACI;AACQ;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,QAAQ;AACR;AACA,4CAA4C,2BAA2B;AACvE,YAAY,+BAA+B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,gCAAgC;AAC9C;AACA;AACA,2BAA2B,sCAAsC;AACjE;AACA;AACA;AACA;AACA,6CAA6C;AAC7C,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAG;AACP;AACA,cAAc,6BAAM,GAAG;AACvB;AACA,yBAAyB,QAAe;AACxC;AACA;AACA,6BAA6B,oBAAmB;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uBAAuB,UAAiB;AACxC;AACA,MAAM,UAAwB;AAC9B,MAAM,SAAuB;AAC7B,MAAM,WAAyB;AAC/B,MAAM,eAA6B;AACnC;AACA;AACA;;AAEA;AACA,CAAC,CAAC,eAAY;;;AAGC,6EAAG,EAAC;;AAEnB,+B;;;;;;;;;;;;;;;;;;;;;;;;AClGA;AACA;AACA;AACoC;AACwB;AACd;AACa;;AAE3D;AACA,aAAa,4DAA4D;AACzE;;AAEA;AACA,aAAa,8CAA8C;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA,8CAA8C,uBAAuB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,eAAO;AACX;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA,IAAI,gCAAM;AACV,YAAY,+CAAkB;AAC9B;;AAEA;AACA,4BAA4B,EAAE;AAC9B,kCAAkC,qCAAqC;AACvE;AACA,OAAO;AACP,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,4CAA4C;AACnE,cAAc,+CAA+C;AAC7D;AACA;AACA;AACA;AACA;AACA,iBAAiB,+CAA+C;AAChE;AACA;;AAEA;AACA;AACA;AACA,cAAc,sCAAsC;AACpD,cAAc,wBAAwB;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,yCAAyC;AAC/C,cAAc,qCAAqC;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,mDAAmD;AACjE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM,uCAAa;AACnB;AACA;AACA;AACA;AACA,gCAAgC,gCAAM;AACtC,QAAQ,4BAAS;AACjB;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,gDAAgD;AAChF,aAAa,+CAA+C;AAC5D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,qCAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM,0DAA0D;AAChE,aAAa,wBAAwB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,4CAA4C;AAC/D;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA,IAAI,kCAAQ;AACZ,YAAY,+CAAkB;AAC9B;AACA;AACA,IAAI,gCAAM;AACV,YAAY,+CAAkB;AAC9B;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4BAAU;;;AAGZ;AACA;AACA;AACA;AACA,WAAW,yHAAyH;AACpI;AACA,YAAY,yCAAyC;AACrD;AACO;AACP;AACA;AACA,GAAG;AACH;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,KAAK;AACL,MAAM,iCAAM,mBAAmB,EAAE;AACjC,YAAY;AACZ,6BAA6B,mCAAmC;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACe,8DAAO,EAAC;;AAEvB,mC;;;;;;;;;;;ACnTA;AACA;AACA;AACiC;AACG;AACiE;;;AAGrG;AACA,aAAa,OAAO;AACpB,cAAc,oCAAoC;AAClD;AACA;AACA;AACA;AACA,cAAc,8BAA8B;AAC5C,iBAAiB,2BAA2B;AAC5C,cAAc,oCAAoC;AAClD;AACA;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,oCAAoC;AAClD;AACA;AACA;AACA,cAAc,oCAAoC;AAClD;AACA,gDAAgD;AAChD,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,IAAI,cAAc;AAClB,IAAI,gCAAgC;AACpC;AACA;AACA;AACA;AACA;AACA,IAAI,qBAAa;;AAEjB;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,4BAA4B;AACvC,WAAW,aAAa;AACxB,YAAY,sBAAsB;AAClC;AACA;AACA,qBAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,mCAAmC;AAC9C;AACA;AACA,YAAY;AACZ;AACA;AACA,qBAAa;AACb,SAAS,gCAAM;AACf;AACA;AACA,GAAG;AACH;;AAEA;AACA,+CAA+C,mBAAmB;AAClE,YAAY,8BAA8B;AAC1C;AACA,qBAAa;AACb;AACA;;AAEA;AACA;AACA,YAAY,kCAAkC;AAC9C;AACA,qBAAa;AACb,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA,WAAW,4BAA4B;AACvC,WAAW,aAAa;AACxB,YAAY,oCAAoC;AAChD;AACA,qBAAa;AACb,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,WAAW,aAAa;AACxB,YAAY,2CAA2C;AACvD;AACA,qBAAa;AACb,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA,WAAW,4BAA4B;AACvC,WAAW,aAAa;AACxB,YAAY,sCAAsC;AAClD;AACA,qBAAa;AACb,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA,WAAW,4BAA4B;AACvC,YAAY,wCAAwC;AACpD;AACA,qBAAa;AACb,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA,WAAW,gCAAgC;AAC3C,WAAW,cAAc;AACzB,YAAY,OAAO;AACnB;AACA,qBAAa;AACb,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA,WAAW,uCAAuC;AAClD,WAAW,cAAc;AACzB,YAAY,OAAO;AACnB;AACA,qBAAa;AACb,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,cAAc;AACzB,YAAY,OAAO;AACnB;AACA,qBAAa;AACb,SAAS,gCAAQ;AACjB;;AAEe,wEAAa,EAAC;;AAE7B;AACA,WAAW,oEAAoE;AAC/E,WAAW,QAAQ;AACnB,WAAW,4BAA4B;AACvC,YAAY,oEAAoE;AAChF;AACO;AACP;AACA,IAAI,2BAAa;AACjB;AACA,IAAI,2BAAa;AACjB;AACA,YAAY;AACZ;AACA;AACA;AACA,OAAO,kCAAoB;AAC3B;AACA;AACA;AACA,oBAAoB,uCAAe;AACnC;AACA;AACA;AACA,KAAK;AACL,wCAAwC,mCAAmC;AAC3E;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,yCAAyC,aAAa;AACtD;AACA,wCAAwC,aAAa;AACrD;AACA;AACA,eAAe,cAAc;AAC7B,gBAAgB,cAAc;AAC9B;AACA;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA,+BAA+B,mCAAmC;AAClE;AACA;AACA;AACA;AACA;;AAEA,mC;;;;;AC3QA;AACA;AACA;AACkC;;;AAGlC;AACA,eAAe,sCAAsC;AACrD,IAAI,0CAA0C;AAC9C;AACA,aAAa,OAAO;AACpB,cAAc,KAAK;AACnB;;;AAGA;AACA,aAAa,4BAA4B;AACzC;;;AAGA;AACA,aAAa,+BAA+B;AAC5C;;;AAGA;AACA;AACA,6BAA6B;AAC7B;AACA,UAAU;AACV;AACO;;;AAGP;AACA,UAAU;AACV;AACO;;;AAGP;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB;AACA,WAAW,cAAc;AACzB;AACA,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA,6BAA6B,GAAG;AAChC;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,SAAS;AACrB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA,WAAW,wDAAwD;AACnE,WAAW,GAAG;AACd,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA,eAAe,KAAK;AACpB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,+BAA+B,SAAS;AACxC,QAAQ,kCAAM;AACd;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,WAAW,GAAG;AACd,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA,WAAW,qCAAqC;AAChD,WAAW,GAAG;AACd,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA,eAAe,KAAK;AACpB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,WAAW,QAAQ;AACnB,WAAW,GAAG;AACd,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,WAAW,wCAAwC;AACnD,WAAW,QAAQ;AACnB,WAAW,GAAG;AACd,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA,IAAI,kCAAkC;AACtC,WAAW,qCAAqC;AAChD,WAAW,GAAG;AACd,YAAY,WAAW;AACvB;AACA;AACO;AACP;AACA;AACA,4BAA4B,cAAc;AAC1C;AACA;AACA;AACA;;;AAGA;AACA;AACA,IAAI,8BAA8B;AAClC;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,WAAW,GAAG;AACd,YAAY,WAAW;AACvB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,IAAI,8BAA8B,KAAK,wCAAwC;AAC/E;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,iDAAiD;AAC7D;AACO;AACP;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,eAAe,QAAQ;AACvB,gBAAgB,KAAK;AACrB;AACA;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA,sDAAsD,OAAO;AAC7D;AACA;AACA;;;AAGA;AACA;AACA,yBAAyB,8BAA8B;AACvD,IAAI,wCAAwC;AAC5C;AACA,UAAU;AACV;AACO;;;AAGP;AACA,gDAAgD,8BAA8B;AAC9E,IAAI,wCAAwC;AAC5C;AACA,WAAW,kBAAkB;AAC7B;AACA,WAAW,cAAc;AACzB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACO;AACP;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,EAAE;AACb,WAAW,mBAAmB;AAC9B,YAAY,kBAAkB;AAC9B;AACA;AACO;AACP;AACA,YAAY;AACZ;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,uCAAuC;AAClD;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,GAAG;AACd;AACO;AACP;AACA,kCAAkC,GAAG;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,EAAE;AACb,WAAW,uCAAuC;AAClD;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,GAAG;AACd,YAAY,EAAE;AACd;AACA;AACO;AACP;AACA;AACA,oBAAoB,EAAE;AACtB;;;AAGA;AACA;AACA,WAAW,2CAA2C;AACtD;AACA,WAAW,qEAAqE;AAChF;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,gCAAgC;AAC3C,WAAW,SAAS;AACpB,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA;AACA;AACO;AACP;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,EAAE;AACb,WAAW,2CAA2C;AACtD;AACA,WAAW,qEAAqE;AAChF;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,gCAAgC;AAC3C,WAAW,SAAS;AACpB,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,YAAY,YAAY;AACxB;AACA;AACO;AACP;AACA;AACA,oBAAoB,YAAY;AAChC;;AAEA,+B;;ACjfA;AACA;AACA;AACoC;AACD;AACc;AACA;AACL;;AAE5C;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,IAAI,qBAAU;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,6BAAU;AACrB;;AAEA;AACA;AACA;AACA,aAAa,4BAA4B;AACzC,aAAa,oCAAoC;AACjD,cAAc,gCAAgC;AAC9C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gBAAgB,KAAK;AACrB;AACA,KAAK,UAAU,UAAU;AACzB,qDAAqD,SAAS;AAC9D,KAAK;AACL,iDAAiD,KAAK;AACtD;AACA;;AAEA;AACA,aAAa,SAAS;AACtB,aAAa,oCAAoC;AACjD,cAAc,gCAAgC;AAC9C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,aAAa,KAAK;AAClB,aAAa,oCAAoC;AACjD,cAAc,gCAAgC;AAC9C;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA,aAAa,4BAA4B;AACzC,aAAa,oCAAoC;AACjD,cAAc,uCAAuC;AACrD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gBAAgB,KAAK;AACrB;AACA,KAAK,UAAU,UAAU;AACzB;AACA,mBAAmB,SAAS;AAC5B,KAAK;AACL,kDAAkD,KAAK;AACvD;AACA;;AAEA;AACA,aAAa,SAAS;AACtB,aAAa,oCAAoC;AACjD;AACA,cAAc,uCAAuC;AACrD;AACA;AACA,eAAe,uCAAuC;AACtD;AACA,4BAA4B,KAAK,qBAAqB,GAAG;AACzD;AACA,QAAQ,kCAAM;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,KAAK;AAClB,aAAa,oCAAoC;AACjD;AACA,cAAc,uCAAuC;AACrD;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gBAAgB,KAAK;AACrB;AACA,KAAK,UAAU,UAAU;AACzB;AACA,mBAAmB,SAAS;AAC5B,KAAK;AACL,kDAAkD,KAAK;AACvD;AACA;;AAEA;AACA,aAAa,SAAS;AACtB,aAAa,oCAAoC;AACjD;AACA,cAAc,sCAAsC;AACpD;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA,aAAa,KAAK;AAClB,aAAa,oCAAoC;AACjD;AACA,cAAc,sCAAsC;AACpD;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA,aAAa,4BAA4B;AACzC,cAAc,wCAAwC;AACtD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gBAAgB,KAAK;AACrB;AACA,KAAK,UAAU,UAAU;AACzB,wDAAwD,SAAS;AACjE,KAAK;AACL,oDAAoD,KAAK;AACzD;AACA;;AAEA;AACA,aAAa,SAAS;AACtB;AACA,cAAc,wCAAwC;AACtD;AACA;AACA;AACA;;AAEA;AACA,aAAa,KAAK;AAClB;AACA,cAAc,wCAAwC;AACtD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,gCAAgC;AAC7C,aAAa,qCAAqC;AAClD;AACA,cAAc,KAAK;AACnB;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA,aAAa,uCAAuC;AACpD,aAAa,qCAAqC;AAClD,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,uCAAuC;AACpD,aAAa,qCAAqC;AAClD,cAAc,KAAK;AACnB;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,sCAAsC;AACnD,aAAa,qCAAqC;AAClD,cAAc,KAAK;AACnB;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA,CAAC,CAAC,cAAa;;;AAGA,2EAAU,EAAC;;AAE1B,sC;;;;;;;;;;;;;;;;;;;;;;;;;;AC/QA;AACA;AACA;AAC4C;AACT;;;AAGnC;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,eAAe;AAC1B,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,iCAAiC,SAAS;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,wCAAY;AAC5B;AACA;AACA;AACA;AACA,eAAe,4BAAI;AACnB;AACA,eAAe,4BAAI;AACnB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,yCAAyC;AACrD;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC,oBAAoB,4BAAI;AACxB;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,yCAAyC;AACrD;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uC;;;;;;;;;;;;;;AClLA;AACA;AACA;AACmC;AACmB;AACL;AACJ;AACI;AACqB;AACjB;AACA;AAC2B;AAChB;AACd;AACW;AACX;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,qBAAU;AACd;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,qDAAqD,cAAc;AACnE,KAAK;AACL,qCAAqC,6CAA6C;AAClF;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,sCAAsC;AACnD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,MAAM,kCAAM;AACZ;AACA;AACA;;AAEA;AACA;AACA,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,qDAAwB;AACrD;AACA;AACA;AACA,iCAAiC,0CAAe;AAChD;AACA;AACA;AACA,WAAW,6CAAkB;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,mGAAmG;AAChH;AACA,cAAc,UAAU;AACxB;AACA;AACA;AACA;AACA,WAAW,mCAAc;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,cAAc,sCAAsC;AACpD;AACA;AACA;AACA,uBAAuB,iCAAc;AACrC,uBAAuB,iCAAc;AACrC;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;;AAEA;AACA;AACA,cAAc,6CAA6C;AAC3D;AACA;AACA;AACA;AACA,WAAW,6CAAkB;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,uCAAuC;AACpD;AACA,cAAc,sCAAsC;AACpD;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,WAAW,+CAAgB;AAC3B;AACA;;AAEA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC,0CAAc;AACrD;AACA;AACA,qDAAqD,iCAAc;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,+BAAY;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,wDAAoB;AAC/B;AACA;AACA;;AAEA;AACA;AACA,aAAa,8CAA8C;AAC3D,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,6CAAkB;AACpD;AACA;AACA;;AAEA;AACA,CAAC,CAAC,sCAAc;;;AAGD,yEAAU,EAAC;;AAE1B,sC;;;;;;;;ACpPA;AACA;AACA;AACA;AACmC;AACC;AACc;AACT;AACc;AACR;AACV;AACI;AACP;AACc;AACW;;;AAG3D;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,UAAU;AACV;AACA,kBAAkB,eAAe;AACjC;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,UAAU;AACV;AACA,cAAc,eAAe;AAC7B;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,aAAM;AACV;AACA;;AAEA;AACA;AACA;AACA,0BAA0B,2BAAa;AACvC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,eAAe;AACjC,iBAAiB;AACjB;AACA;AACA,OAAO;AACP;AACA,qBAAqB,uBAAuB;AAC5C,gCAAgC,OAAO;AACvC,mBAAmB,cAAc;AACjC;AACA,kDAAkD,QAAQ;AAC1D;AACA,UAAU,kCAAM;AAChB;AACA;AACA;AACA;AACA,yBAAyB,0BAAO,kBAAkB,iCAAc;AAChE,SAAS;AACT,yBAAyB,eAAU,kBAAkB,iCAAc;AACnE;AACA,QAAQ,oBAAoB;AAC5B,0BAA0B,UAAO;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,iBAAU;;;AAGZ;AACA;AACA,UAAU;AACV;AACA,mBAAmB,eAAe;AAClC;AACA;AACA,GAAG;;;AAGH;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA;AACA,2BAA2B,mCAAmC;AAC9D,yBAAyB,OAAO;AAChC;AACA,aAAa,sCAAsC;AACnD;AACA;AACA;AACA;AACA;;AAEA,eAAe,eAAe;AAC9B;AACA,GAAG;AACH,OAAO,iCAAO;AACd,uBAAuB,wBAAK;AAC5B,IAAI,oBAAoB;AACxB,sBAAsB,UAAO;AAC7B;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA;AACA;AACA,eAAe,eAAe;AAC9B;AACA;AACA;AACA,GAAG;AACH,yBAAyB,OAAO;AAChC;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA;AACA,0BAA0B,OAAO;AACjC;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA;AACA,0BAA0B,OAAO;AACjC;AACA;;;AAGe,0FAAM,EAAC;;AAEtB,kC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5LA;AACA;AACA;AAC6B;AACU;AACQ;AACO;AACR;;;AAG9C,IAAI,mBAAS;AACb;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,4BAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,4BAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA,cAAc,oDAAoD;AAClE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,4BAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA,mBAAmB,4BAAS;AAC5B,KAAK;AACL,mBAAmB,4BAAS;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sBAAsB,4BAAS;AAC/B,mBAAmB,4BAAS;AAC5B;AACA;AACA;AACA;AACA;AACA,sBAAsB,4BAAS;AAC/B,mBAAmB,4BAAS;AAC5B;AACA;AACA,QAAQ,oCAAU,cAAc,4BAAS;AACzC;AACA,QAAQ,oCAAU,cAAc,4BAAS;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,+BAAa;AACjD;AACA;;AAEA;AACA,CAAC,CAAC,0BAAI;;;AAGN;AACA;AACA,YAAY,kBAAkB;AAC9B;AACA;AACA,YAAY,4CAAqB;AACjC;AACA;AACA;AACA;;AAEe,oEAAS,EAAC;;AAEzB,qC;;;;;;;;;;;;;;ACxKA;AACA;AACA;AAC+C;AACsD;AACzD;AACY;;;AAGxD;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uCAAuC;AAClD,WAAW,uCAAuC;AAClD,WAAW,qCAAqC;AAChD,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;;AAEA,qBAAqB,oCAAS;;AAE9B;AACA,yBAAyB,6CAAkB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uBAAuB,+CAAkB;AACzC,6BAA6B,6CAAkB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,qCAAqC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,6BAA6B;AACxC,WAAW,OAAO;AAClB,WAAW,6BAA6B;AACxC,WAAW,4CAA4C;AACvD;AACA,WAAW,OAAO;AAClB,gFAAgF,EAAE;AAClF;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY,kBAAkB;AAC9B;AACO,SAAS,aAAM;AACtB;AACA;;AAEA,gBAAgB,4CAAqB;AACrC;;AAEA;AACA;AACA;;AAEA;;AAEA,yBAAyB,wCAAW;AACpC;AACA,IAAI,mCAAM;AACV,GAAG;;AAEH,2BAA2B,qCAAQ;AACnC,4BAA4B,sCAAS;AACrC,sBAAsB,4CAAqB;AAC3C;AACA;;AAEA;;AAEA;AACA;AACA;AACA,mBAAmB,qCAAQ;AAC3B,oBAAoB,sCAAS;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,sBAAsB,uCAAU;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,yCAAiB;AACvC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA,kC;;ACpPA;AACA;AACA;AAEqE;AACnC;AACM;;;AAGxC;AACA,mBAAmB;AACnB,aAAa,OAAO;AACpB,cAAc,6CAA6C;AAC3D,cAAc,6CAA6C;AAC3D;;;AAGA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,IAAI,2BAAa;;AAEjB;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;;AAEA,aAAa,uDAAuD;AACpE;AACA,qBAAqB,uCAAY;;AAEjC;AACA,aAAa,sCAAsC;AACnD,cAAc,sCAAsC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,OAAO,qCAAQ,qBAAqB,qCAAQ;;AAE5C;AACA,YAAY;AACZ;AACA;AACA;AACA,IAAI,qCAAQ;;AAEZ;AACA,YAAY;AACZ;AACA;AACA;AACA,IAAI,qCAAQ;;AAEZ,2BAA2B,uCAAU;AACrC,4BAA4B,wCAAW;AACvC,+BAA+B,2CAAc;AAC7C,8BAA8B,0CAAa;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD;AACA;AACA,2BAAa;AACb;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,OAAO;AAClB;AACA;AACA,2BAAa;;AAEb,yBAAyB,2CAAc;AACvC;AACA,IAAI,qCAAQ;AACZ,oCAAoC,OAAO;;AAE3C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,6BAA6B,2CAAc;AAC3C,4BAA4B,qCAAQ;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS,uCAAU;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,8BAAM;AACnB,aAAa,8BAAM;AACnB;AACA,YAAY,8BAAM;AAClB,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,8BAA8B;AAC1C;AACA,2BAAa;AACb,eAAe,wCAAW;;AAE1B;AACA;AACA,IAAI,6CAAgB;AACpB,IAAI,6CAAgB;AACpB,IAAI,6CAAgB;AACpB,GAAG;;AAEH;AACA;;AAEA;AACA,YAAY,gBAAgB;AAC5B;AACA,2BAAa;AACb;AACA;;AAEe,oFAAa,EAAC;;AAE7B,yC;;ACxVA;AACA;AACA;AAC4C;;AAEd;AACU;AACW;AACJ;AACkB;AAChC;AACmD;AACrC;;;AAG/C;AACA,aAAa,wEAAwE;AACrF;;;AAGA;AACA;AACA;AACA,QAAQ,2CAA2C;AACnD;AACA;AACA,IAAI,eAAU;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,4BAAS;;AAExC;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAM,4CAAe;;AAErB,QAAQ,oCAAO;AACf;AACA;AACA,mBAAmB,4BAAS;AAC5B;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,0BAA0B,4CAAe;AACzC;AACA;;AAEA;AACA;;AAEA,uBAAuB,sCAAS;AAChC,2BAA2B,yBAAyB;AACpD;;AAEA;AACA;AACA;AACA,mBAAmB,4BAAS;AAC5B;AACA;;AAEA;AACA,2BAA2B,iCAAe;;AAE1C;AACA;AACA,cAAc;AACd;AACA,8BAA8B,oBAAa;AAC3C;AACA;;AAEA;AACA;AACA,mBAAmB,4BAAS;AAC5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA,0BAA0B,6BAAK;AAC/B;AACA,0BAA0B,6BAAK;AAC/B;AACA,OAAO;AACP,uBAAuB,4CAAe;AACtC;AACA;;AAEA,SAAS,oCAAO;AAChB,mBAAmB,4BAAS;AAC5B,KAAK;AACL;AACA;;AAEA,uCAAuC,0BAA0B;AACjE,yCAAyC,0BAA0B;AACnE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,4BAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,4BAAS;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,4BAAS;AAC9C;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;;AAEA;AACA,mBAAmB,4BAAS;AAC5B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,aAAiB;AACtC;AACA;AACA;;AAEA,mBAAmB,4BAAS;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,4BAAS;AAC/B,mBAAmB,4BAAS;AAC5B;;AAEA;;AAEA;AACA;AACA;AACA,qBAAqB,4BAAS,kBAAkB,4BAAS;AACzD;;AAEA,gCAAgC,gCAAM,OAAO,4BAAS;AACtD;AACA;AACA,2BAA2B,4BAAS;AACpC,6BAA6B,4BAAS;AACtC,6BAA6B,4BAAS;AACtC,gBAAgB,uCAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,OAAO;;AAEP;AACA;AACA,qBAAqB,4BAAS;AAC9B;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC,+BAAa;AACnD;AACA;;AAEA;AACA,CAAC,CAAC,0BAAI;;;AAGS,+DAAU,EAAC;;AAE1B,gC;;;;;;;;;;;ACvTA;AACA;AACA;AAC+D;AAC7B;AACM;AACA;AACA;AACJ;AACW;AACa;AACjB;AACR;AACe;AAC0B;;AAE5E;AACA,aAAa,OAAO;AACpB,cAAc,sCAAsC;AACpD,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc,YAAY;AAC1B;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,oCAAoC;AAClD,cAAc,OAAO;AACrB;AACA,cAAc,6BAA6B;AAC3C,cAAc,yCAAyC;AACvD,eAAe,oCAAoC;AACnD,cAAc,0CAA0C;AACxD,cAAc,kCAAkC;AAChD;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,cAAc,iCAAiC;AAC/C,cAAc,OAAO,oCAAoC,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE;AACvF,OAAO,IAAI,2CAA2C,IAAI;AAC1D;AACA,cAAc,cAAc;AAC5B,cAAc,QAAQ;AACtB;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,mBAAS;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA,0BAA0B,YAAS;;AAEnC;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,4CAA0B;AACnC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,4CAA0B;AACnC;AACA;AACA;AACA;;AAEA,+EAA+E;AAC/E;AACA;AACA,uEAAuE;AACvE;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,4CAA0B;AAClC,+CAA+C,qCAAU;AACzD;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,4CAA0B;AAClC,+CAA+C,qCAAU;AACzD;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,4CAA0B;AACnC;AACA;AACA;AACA,uCAAuC,qCAAU;AACjD;AACA,KAAK;AACL,oBAAoB,8BAAM;AAC1B;AACA,8CAA8C,+CAAwB;AACtE;AACA;AACA,mBAAmB,2CAA2C;AAC9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,4CAA0B;AACnC;AACA;AACA,wCAAwC,kBAAkB,qCAAU;AACpE;AACA,KAAK;AACL,oBAAoB,8BAAM;AAC1B;AACA,mDAAmD,4BAAS;AAC5D;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,wCAAwC;AACrD,aAAa,OAAO;AACpB,cAAc,8BAA8B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,4BAAS,QAAQ,4BAAS;AACxD;AACA;AACA;AACA;AACA;AACA,IAAI,gCAAM,OAAO,4BAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC,yCAAyC;AAC/E,SAAS,4CAA0B;AACnC,4CAA4C,qCAAU;AACtD;AACA,KAAK;AACL;AACA;AACA;AACA,yBAAyB,mCAAM;AAC/B;AACA,0BAA0B,8BAA8B;AACxD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,0BAA0B,WAAU;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,yCAAyC;AACtD,cAAc,8BAA8B;AAC5C;AACA;AACA;AACA;AACA,uBAAuB,sCAAS;AAChC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC,4BAAS;AAC/C;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA,SAAS,4CAA0B;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,aAAa,0CAA0C;AACvD;AACA;AACA;AACA,QAAQ,4CAA0B;AAClC,iBAAiB,8BAAa;AAC9B;AACA,sBAAsB,8BAAM;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,iCAAO;;;AAGT;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB;AACA;AACA,aAAa,kCAAkC;AAC/C;;AAEe,wEAAS,EAAC;;AAEzB,qC;;ACtZA;AACA;AACA;;AAEuC;AACwB;;AAE/D;AACA,aAAa,OAAO;AACpB,cAAc,sCAAsC;AACpD,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc,YAAY;AAC1B;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,oCAAoC;AAClD,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,0CAA0C;AACxD,cAAc,kCAAkC;AAChD;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,cAAc,iCAAiC;AAC/C,cAAc,iCAAiC;AAC/C;AACA;AACA,cAAc,OAAO,oCAAoC,EAAE,KAAK,EAAE,OAAO,GAAG;AAC5E,SAAS,EAAE,oBAAoB,IAAI,2CAA2C,IAAI;AAClF;AACA,cAAc,cAAc;AAC5B,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA,IAAI,iCAAiC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAG;AACP;AACA;AACA;AACA;;AAEA;AACA,MAAM,wCAAS;AACf,gBAAgB,mDAAoB;AACpC;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,gBAAS;;AAEI,iFAAG,EAAC;;AAEnB,+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5GA;AACA;AACA;AACoC;AACY;;AAEhD;AACA,IAAI,8BAA8B;AAClC;AACA;AACA,2BAA2B,8BAA8B;AACzD,OAAO,OAAO;AACd,IAAI,gCAAgC;AACpC;AACA,IAAI,8BAA8B;AAClC;AACA;AACA;AACA,aAAa;AACb,8DAA8D;AAC9D;AACA;;;AAGA;AACA,IAAI,8BAA8B;AAClC;AACA;AACA,2BAA2B,8BAA8B;AACzD,qBAAqB,OAAO;AAC5B,WAAW,gCAAgC;AAC3C,6BAA6B,OAAO;AACpC,aAAa,+FAA+F;AAC5G;AACA;;;AAGA;AACA,WAAW,0BAA0B;AACrC,WAAW,sCAAsC;AACjD,WAAW,sPAAsP;AACjQ;AACA;AACA,WAAW,kGAAkG;AAC7G;AACA;AACA,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA,eAAe,6BAA6B;AAC5C,eAAe,OAAO;AACtB,eAAe,uCAAuC;AACtD,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6BAAU;AACxC;AACA;AACA;AACA,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sCAAsC;AAC3D;AACA,sBAAsB,6BAAU,iBAAiB,6BAAU;AAC3D;AACA,WAAW,kBAAkB,6BAAU;AACvC;AACA;AACA;AACA;AACA,WAAW,kBAAkB,6BAAU;AACvC,gCAAgC,YAAY;AAC5C;AACA;AACA;AACA,eAAe,8BAA8B;AAC7C;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC,WAAW,sCAAsC;AACjD,YAAY,cAAc;AAC1B;AACA;AACO,SAAS,iBAAG;AACnB;AACA;AACA,eAAe,sCAAsC;AACrD,eAAe,uCAAuC;AACtD;AACA,cAAc;AACd;AACA;AACA,oCAAoC,EAAE;AACtC;AACA,mBAAmB,kCAAkC;AACrD;AACA,KAAK,2BAA2B,yBAAI;AACpC;;AAEA,yC;;ACpIA;AACA;AACA;AACiC;AACJ;AACU;AACQ;AACG;AACe;AACnB;AACK;AACf;;;AAGpC;AACA,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB,cAAc,yCAAyC;AACvD,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;;AAGA,IAAI,+BAAe;AACnB;AACA;AACA;;AAEA,uCAAuC,cAAc;;AAErD;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,yDAAyD,eAAe;AACxE,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,4CAAe;AAC1C;AACA;AACA;AACA,yBAAyB,4CAAe;AACxC;AACA,YAAY,qCAAQ;AACpB,YAAY,sCAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,4BAAS,SAAS,4BAAS;AAChE;AACA;AACA;AACA,cAAc,gCAAM,aAAa,4BAAS;AAC1C;AACA,wEAAwE,4BAAS;AACjF;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA,gDAAgD,4BAAS;AACzD;AACA;AACA;AACA;AACA,uBAAuB,yBAAI;AAC3B,4BAA4B,4BAAS;AACrC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAAS;AAC1B;AACA;AACA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,+BAAa;AAChD;AACA,yCAAyC,+BAAa;AACtD;AACA;AACA;;AAEA;AACA,aAAa,mCAAmC;AAChD,cAAc,yBAAyB;AACvC;AACA;AACA,cAAc,8BAAM;AACpB;AACA,2BAA2B,4CAAqB;AAChD;AACA;AACA;;AAEA;AACA;AACA,aAAa,mCAAmC;AAChD,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,mCAAmC;AAChD,cAAc,YAAY;AAC1B;AACA;AACA,cAAc,8BAAM;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,cAAc,kCAAkC;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,4BAAS;AAC/B,oBAAoB,4BAAS;AAC7B;AACA,sBAAsB,4BAAS;AAC/B;AACA;AACA,gCAAgC,4BAAS;AACzC;AACA;AACA;AACA,gCAAgC,4BAAS;AACzC,oBAAoB,gCAAM,aAAa,4BAAS;AAChD;AACA,yBAAyB,4BAAS;AAClC,yBAAyB,4BAAS;AAClC,wBAAwB,8BAAM;AAC9B,2BAA2B,4BAAS;AACpC;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,QAAQ;AACpC;AACA,mBAAmB,4BAAS;AAC5B;AACA;AACA,mBAAmB,4BAAS;AAC5B;AACA;AACA;AACA;AACA,qCAAqC,+BAAa;AAClD;AACA,oBAAoB,4BAAS;AAC7B,KAAK;AACL,oDAAoD,4BAAS,SAAS,4BAAS;AAC/E;AACA;;AAEA;AACA,CAAC,CAAC,0BAAI;;;AAGS,sFAAe,EAAC;;AAE/B;AACA;AACA,WAAW,kCAAkC;AAC7C,WAAW,OAAO;AAClB;AACO;AACP,eAAe,eAAe;AAC9B;AACA;;AAEA,2C;;AC1TA;AACA;AACA;AACiC;AACJ;AACU;;AAEvC;AACA;AACA,UAAU;AACV;AACA;;;AAGA,IAAI,qBAAU;AACd;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,4BAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,sCAAsC;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,oDAAoD;AAC7D,cAAc,0CAA0C;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,kDAAkD;AACxD,cAAc,uCAAuC;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,mCAAmC;AAChD,aAAa,OAAO;AACpB,cAAc,0CAA0C;AACxD;AACA;AACA,8BAA8B,8BAAM;AACpC;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,4BAAS;AAC/B,oBAAoB,4BAAS;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,sCAAsC;AACnD,aAAa,uCAAuC;AACpD,aAAa,6BAA6B;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,4BAAS;AAC3B;;AAEA;AACA,6BAA6B,6CAA6C;AAC1E;AACA;AACA;AACA;AACA,oBAAoB,+BAA+B;AACnD,MAAM,6CAA6C;AACnD;AACA,aAAa,6BAA6B;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA6B,6CAA6C;AAC1E;AACA,aAAa,sCAAsC;AACnD;AACA;AACA;AACA;AACA,kBAAkB,4BAAS;AAC3B;;AAEA;AACA,6BAA6B,6CAA6C;AAC1E;AACA,MAAM,kDAAkD;AACxD,aAAa,uCAAuC;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,mCAAmC;AAChD,aAAa,OAAO;AACpB,aAAa,0CAA0C;AACvD;AACA;AACA,uBAAuB,8BAAM;AAC7B;;AAEA;AACA;AACA,aAAa,2CAA2C;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,0BAAI;;AAES,uEAAU,EAAC;;AAE1B,sC;;;;;;;;;;;;;;AC3OA;AACA;AACA;;AAEwC;AACmC;AACvC;AACF;AACC;AACO;AAC0C;;AAEpF;AACA,aAAa,OAAO;AACpB,cAAc,sCAAsC;AACpD,cAAc,OAAO;AACrB,cAAc,8BAA8B;AAC5C,cAAc,uCAAuC;AACrD,cAAc,QAAQ;AACtB;AACA;AACA;AACA,cAAc,oCAAoC;AAClD,cAAc,6BAA6B;AAC3C,cAAc,0CAA0C;AACxD,eAAe,2BAA2B;AAC1C,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,iCAAiC;AAC/C,cAAc,0CAA0C;AACxD,cAAc,kCAAkC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,IAAI;AACJ;AACA,cAAc,iCAAiC;AAC/C,cAAc,OAAO,oCAAoC,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE;AACvF,OAAO,IAAI,2CAA2C,IAAI;AAC1D;AACA,cAAc,OAAO;AACrB;AACA,cAAc,cAAc;AAC5B,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,cAAc,4CAA4C;AAC1D;AACA;AACA;AACA,IAAI,8BAA8B;AAClC;AACA;AACA;AACA;AACA;AACA,IAAI,4BAAU;AACd;AACA;;AAEA,mCAAmC,gDAAoB;;AAEvD,uCAAuC,qCAAS;AAChD;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,mBAAmB;AACjG;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,6DAA6D,aAAI;;AAEjE;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA,YAAY,oCAAoC;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,sCAAS;AAChC;AACA;AACA,mBAAmB,8BAA8B;AACjD;AACA,KAAK;AACL;AACA;AACA;AACA,qBAAqB,kBAAe;AACpC;AACA,gCAAgC,4BAAS,QAAQ,4BAAS;AAC1D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,+CAAmB;AAC5D;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,mBAAmB,8BAAM;AACzB;AACA;;AAEA;AACA,CAAC,CAAC,iCAAO;;;AAGM,6GAAU,EAAC;;AAE1B,sC;;;;;;;;;;;;;;;;;;;;;;;;AC9NA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4B;AACE;AACwB;AACK;AACrB;AACH;AACH;AACM;AACO;AACE;AACM;AACE;AACd;AAC8B;;;AAGvE,4BAA4B,qEAAU;;;AAGtC;AACA;AACA,iBAAiB,2DAAK;AACtB,eAAe,4DAAM;AACrB;AACA;AACA,IAAI;AACJ,aAAa,4DAAI;AACjB;AACA,IAAI;AACJ,GAAG;AACH,EAAE;AACF;AACA,YAAY,2DAAK;AACjB;AACA,eAAe,4DAAM;AACrB;AACA;AACA,IAAI;AACJ,aAAa,4DAAI;AACjB;AACA,IAAI;AACJ,GAAG;AACH,EAAE;AACF;AACA,iBAAiB,2DAAK;AACtB,eAAe,4DAAM;AACrB;AACA;AACA,IAAI;AACJ,GAAG;AACH,YAAY,2DAAK;AACjB,eAAe,4DAAM;AACrB;AACA;AACA,IAAI;AACJ,GAAG;AACH,EAAE;AACF;AACA,iCAAiC,2DAAK;AACtC,eAAe,4DAAM;AACrB;AACA;AACA,IAAI;AACJ,aAAa,4DAAI;AACjB;AACA,IAAI;AACJ,GAAG;AACH,EAAE;AACF;AACA,cAAc,2DAAK;AACnB,cAAc,4DAAW;AACzB;AACA,cAAc,4DAAI;AAClB;AACA,SAAS;AACT;AACA,IAAI;AACJ,GAAG;AACH;AACA;;AAEA,uBAAuB,uEAAgB;AACvC,aAAa,mEAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,EAAE;AACF,WAAW,8DAAW;AACtB,CAAC;;AAED,cAAc,yDAAG;AACjB;AACA;AACA,QAAQ,6DAAS;AACjB,kBAAkB,6DAAG;AACrB,uBAAuB,IAAI,yBAAyB,EAAE,EAAE,EAAE,EAAE,EAAE;AAC9D,OAAO;AACP;AACA,KAAK;AACL,QAAQ,sEAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,YAAY,0DAAI;AAChB;AACA;AACA,GAAG;AACH,CAAC;;;;AAID;;AAEA;AACA;AACA;;;;;;;;AChJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;ACvBA;AACA,CAAC,KAA4D;AAC7D,CAAC,SACgC;AACjC,CAAC,qBAAqB;;AAEtB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;;AC9DD,uC","file":"main.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 91);\n","/**\n * @module ol/extent\n */\nimport {assert} from './asserts.js';\nimport Corner from './extent/Corner.js';\nimport Relationship from './extent/Relationship.js';\n\n\n/**\n * An array of numbers representing an extent: `[minx, miny, maxx, maxy]`.\n * @typedef {Array} Extent\n * @api\n */\n\n/**\n * Build an extent that includes all given coordinates.\n *\n * @param {Array} coordinates Coordinates.\n * @return {Extent} Bounding extent.\n * @api\n */\nexport function boundingExtent(coordinates) {\n var extent = createEmpty();\n for (var i = 0, ii = coordinates.length; i < ii; ++i) {\n extendCoordinate(extent, coordinates[i]);\n }\n return extent;\n}\n\n\n/**\n * @param {Array} xs Xs.\n * @param {Array} ys Ys.\n * @param {Extent=} opt_extent Destination extent.\n * @private\n * @return {Extent} Extent.\n */\nfunction _boundingExtentXYs(xs, ys, opt_extent) {\n var minX = Math.min.apply(null, xs);\n var minY = Math.min.apply(null, ys);\n var maxX = Math.max.apply(null, xs);\n var maxY = Math.max.apply(null, ys);\n return createOrUpdate(minX, minY, maxX, maxY, opt_extent);\n}\n\n\n/**\n * Return extent increased by the provided value.\n * @param {Extent} extent Extent.\n * @param {number} value The amount by which the extent should be buffered.\n * @param {Extent=} opt_extent Extent.\n * @return {Extent} Extent.\n * @api\n */\nexport function buffer(extent, value, opt_extent) {\n if (opt_extent) {\n opt_extent[0] = extent[0] - value;\n opt_extent[1] = extent[1] - value;\n opt_extent[2] = extent[2] + value;\n opt_extent[3] = extent[3] + value;\n return opt_extent;\n } else {\n return [\n extent[0] - value,\n extent[1] - value,\n extent[2] + value,\n extent[3] + value\n ];\n }\n}\n\n\n/**\n * Creates a clone of an extent.\n *\n * @param {Extent} extent Extent to clone.\n * @param {Extent=} opt_extent Extent.\n * @return {Extent} The clone.\n */\nexport function clone(extent, opt_extent) {\n if (opt_extent) {\n opt_extent[0] = extent[0];\n opt_extent[1] = extent[1];\n opt_extent[2] = extent[2];\n opt_extent[3] = extent[3];\n return opt_extent;\n } else {\n return extent.slice();\n }\n}\n\n\n/**\n * @param {Extent} extent Extent.\n * @param {number} x X.\n * @param {number} y Y.\n * @return {number} Closest squared distance.\n */\nexport function closestSquaredDistanceXY(extent, x, y) {\n var dx, dy;\n if (x < extent[0]) {\n dx = extent[0] - x;\n } else if (extent[2] < x) {\n dx = x - extent[2];\n } else {\n dx = 0;\n }\n if (y < extent[1]) {\n dy = extent[1] - y;\n } else if (extent[3] < y) {\n dy = y - extent[3];\n } else {\n dy = 0;\n }\n return dx * dx + dy * dy;\n}\n\n\n/**\n * Check if the passed coordinate is contained or on the edge of the extent.\n *\n * @param {Extent} extent Extent.\n * @param {import(\"./coordinate.js\").Coordinate} coordinate Coordinate.\n * @return {boolean} The coordinate is contained in the extent.\n * @api\n */\nexport function containsCoordinate(extent, coordinate) {\n return containsXY(extent, coordinate[0], coordinate[1]);\n}\n\n\n/**\n * Check if one extent contains another.\n *\n * An extent is deemed contained if it lies completely within the other extent,\n * including if they share one or more edges.\n *\n * @param {Extent} extent1 Extent 1.\n * @param {Extent} extent2 Extent 2.\n * @return {boolean} The second extent is contained by or on the edge of the\n * first.\n * @api\n */\nexport function containsExtent(extent1, extent2) {\n return extent1[0] <= extent2[0] && extent2[2] <= extent1[2] &&\n extent1[1] <= extent2[1] && extent2[3] <= extent1[3];\n}\n\n\n/**\n * Check if the passed coordinate is contained or on the edge of the extent.\n *\n * @param {Extent} extent Extent.\n * @param {number} x X coordinate.\n * @param {number} y Y coordinate.\n * @return {boolean} The x, y values are contained in the extent.\n * @api\n */\nexport function containsXY(extent, x, y) {\n return extent[0] <= x && x <= extent[2] && extent[1] <= y && y <= extent[3];\n}\n\n\n/**\n * Get the relationship between a coordinate and extent.\n * @param {Extent} extent The extent.\n * @param {import(\"./coordinate.js\").Coordinate} coordinate The coordinate.\n * @return {Relationship} The relationship (bitwise compare with\n * import(\"./extent/Relationship.js\").Relationship).\n */\nexport function coordinateRelationship(extent, coordinate) {\n var minX = extent[0];\n var minY = extent[1];\n var maxX = extent[2];\n var maxY = extent[3];\n var x = coordinate[0];\n var y = coordinate[1];\n var relationship = Relationship.UNKNOWN;\n if (x < minX) {\n relationship = relationship | Relationship.LEFT;\n } else if (x > maxX) {\n relationship = relationship | Relationship.RIGHT;\n }\n if (y < minY) {\n relationship = relationship | Relationship.BELOW;\n } else if (y > maxY) {\n relationship = relationship | Relationship.ABOVE;\n }\n if (relationship === Relationship.UNKNOWN) {\n relationship = Relationship.INTERSECTING;\n }\n return relationship;\n}\n\n\n/**\n * Create an empty extent.\n * @return {Extent} Empty extent.\n * @api\n */\nexport function createEmpty() {\n return [Infinity, Infinity, -Infinity, -Infinity];\n}\n\n\n/**\n * Create a new extent or update the provided extent.\n * @param {number} minX Minimum X.\n * @param {number} minY Minimum Y.\n * @param {number} maxX Maximum X.\n * @param {number} maxY Maximum Y.\n * @param {Extent=} opt_extent Destination extent.\n * @return {Extent} Extent.\n */\nexport function createOrUpdate(minX, minY, maxX, maxY, opt_extent) {\n if (opt_extent) {\n opt_extent[0] = minX;\n opt_extent[1] = minY;\n opt_extent[2] = maxX;\n opt_extent[3] = maxY;\n return opt_extent;\n } else {\n return [minX, minY, maxX, maxY];\n }\n}\n\n\n/**\n * Create a new empty extent or make the provided one empty.\n * @param {Extent=} opt_extent Extent.\n * @return {Extent} Extent.\n */\nexport function createOrUpdateEmpty(opt_extent) {\n return createOrUpdate(\n Infinity, Infinity, -Infinity, -Infinity, opt_extent);\n}\n\n\n/**\n * @param {import(\"./coordinate.js\").Coordinate} coordinate Coordinate.\n * @param {Extent=} opt_extent Extent.\n * @return {Extent} Extent.\n */\nexport function createOrUpdateFromCoordinate(coordinate, opt_extent) {\n var x = coordinate[0];\n var y = coordinate[1];\n return createOrUpdate(x, y, x, y, opt_extent);\n}\n\n\n/**\n * @param {Array} coordinates Coordinates.\n * @param {Extent=} opt_extent Extent.\n * @return {Extent} Extent.\n */\nexport function createOrUpdateFromCoordinates(coordinates, opt_extent) {\n var extent = createOrUpdateEmpty(opt_extent);\n return extendCoordinates(extent, coordinates);\n}\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {Extent=} opt_extent Extent.\n * @return {Extent} Extent.\n */\nexport function createOrUpdateFromFlatCoordinates(flatCoordinates, offset, end, stride, opt_extent) {\n var extent = createOrUpdateEmpty(opt_extent);\n return extendFlatCoordinates(extent, flatCoordinates, offset, end, stride);\n}\n\n/**\n * @param {Array>} rings Rings.\n * @param {Extent=} opt_extent Extent.\n * @return {Extent} Extent.\n */\nexport function createOrUpdateFromRings(rings, opt_extent) {\n var extent = createOrUpdateEmpty(opt_extent);\n return extendRings(extent, rings);\n}\n\n\n/**\n * Determine if two extents are equivalent.\n * @param {Extent} extent1 Extent 1.\n * @param {Extent} extent2 Extent 2.\n * @return {boolean} The two extents are equivalent.\n * @api\n */\nexport function equals(extent1, extent2) {\n return extent1[0] == extent2[0] && extent1[2] == extent2[2] &&\n extent1[1] == extent2[1] && extent1[3] == extent2[3];\n}\n\n\n/**\n * Modify an extent to include another extent.\n * @param {Extent} extent1 The extent to be modified.\n * @param {Extent} extent2 The extent that will be included in the first.\n * @return {Extent} A reference to the first (extended) extent.\n * @api\n */\nexport function extend(extent1, extent2) {\n if (extent2[0] < extent1[0]) {\n extent1[0] = extent2[0];\n }\n if (extent2[2] > extent1[2]) {\n extent1[2] = extent2[2];\n }\n if (extent2[1] < extent1[1]) {\n extent1[1] = extent2[1];\n }\n if (extent2[3] > extent1[3]) {\n extent1[3] = extent2[3];\n }\n return extent1;\n}\n\n\n/**\n * @param {Extent} extent Extent.\n * @param {import(\"./coordinate.js\").Coordinate} coordinate Coordinate.\n */\nexport function extendCoordinate(extent, coordinate) {\n if (coordinate[0] < extent[0]) {\n extent[0] = coordinate[0];\n }\n if (coordinate[0] > extent[2]) {\n extent[2] = coordinate[0];\n }\n if (coordinate[1] < extent[1]) {\n extent[1] = coordinate[1];\n }\n if (coordinate[1] > extent[3]) {\n extent[3] = coordinate[1];\n }\n}\n\n\n/**\n * @param {Extent} extent Extent.\n * @param {Array} coordinates Coordinates.\n * @return {Extent} Extent.\n */\nexport function extendCoordinates(extent, coordinates) {\n for (var i = 0, ii = coordinates.length; i < ii; ++i) {\n extendCoordinate(extent, coordinates[i]);\n }\n return extent;\n}\n\n\n/**\n * @param {Extent} extent Extent.\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @return {Extent} Extent.\n */\nexport function extendFlatCoordinates(extent, flatCoordinates, offset, end, stride) {\n for (; offset < end; offset += stride) {\n extendXY(extent, flatCoordinates[offset], flatCoordinates[offset + 1]);\n }\n return extent;\n}\n\n\n/**\n * @param {Extent} extent Extent.\n * @param {Array>} rings Rings.\n * @return {Extent} Extent.\n */\nexport function extendRings(extent, rings) {\n for (var i = 0, ii = rings.length; i < ii; ++i) {\n extendCoordinates(extent, rings[i]);\n }\n return extent;\n}\n\n\n/**\n * @param {Extent} extent Extent.\n * @param {number} x X.\n * @param {number} y Y.\n */\nexport function extendXY(extent, x, y) {\n extent[0] = Math.min(extent[0], x);\n extent[1] = Math.min(extent[1], y);\n extent[2] = Math.max(extent[2], x);\n extent[3] = Math.max(extent[3], y);\n}\n\n\n/**\n * This function calls `callback` for each corner of the extent. If the\n * callback returns a truthy value the function returns that value\n * immediately. Otherwise the function returns `false`.\n * @param {Extent} extent Extent.\n * @param {function(this:T, import(\"./coordinate.js\").Coordinate): S} callback Callback.\n * @param {T=} opt_this Value to use as `this` when executing `callback`.\n * @return {S|boolean} Value.\n * @template S, T\n */\nexport function forEachCorner(extent, callback, opt_this) {\n var val;\n val = callback.call(opt_this, getBottomLeft(extent));\n if (val) {\n return val;\n }\n val = callback.call(opt_this, getBottomRight(extent));\n if (val) {\n return val;\n }\n val = callback.call(opt_this, getTopRight(extent));\n if (val) {\n return val;\n }\n val = callback.call(opt_this, getTopLeft(extent));\n if (val) {\n return val;\n }\n return false;\n}\n\n\n/**\n * Get the size of an extent.\n * @param {Extent} extent Extent.\n * @return {number} Area.\n * @api\n */\nexport function getArea(extent) {\n var area = 0;\n if (!isEmpty(extent)) {\n area = getWidth(extent) * getHeight(extent);\n }\n return area;\n}\n\n\n/**\n * Get the bottom left coordinate of an extent.\n * @param {Extent} extent Extent.\n * @return {import(\"./coordinate.js\").Coordinate} Bottom left coordinate.\n * @api\n */\nexport function getBottomLeft(extent) {\n return [extent[0], extent[1]];\n}\n\n\n/**\n * Get the bottom right coordinate of an extent.\n * @param {Extent} extent Extent.\n * @return {import(\"./coordinate.js\").Coordinate} Bottom right coordinate.\n * @api\n */\nexport function getBottomRight(extent) {\n return [extent[2], extent[1]];\n}\n\n\n/**\n * Get the center coordinate of an extent.\n * @param {Extent} extent Extent.\n * @return {import(\"./coordinate.js\").Coordinate} Center.\n * @api\n */\nexport function getCenter(extent) {\n return [(extent[0] + extent[2]) / 2, (extent[1] + extent[3]) / 2];\n}\n\n\n/**\n * Get a corner coordinate of an extent.\n * @param {Extent} extent Extent.\n * @param {Corner} corner Corner.\n * @return {import(\"./coordinate.js\").Coordinate} Corner coordinate.\n */\nexport function getCorner(extent, corner) {\n var coordinate;\n if (corner === Corner.BOTTOM_LEFT) {\n coordinate = getBottomLeft(extent);\n } else if (corner === Corner.BOTTOM_RIGHT) {\n coordinate = getBottomRight(extent);\n } else if (corner === Corner.TOP_LEFT) {\n coordinate = getTopLeft(extent);\n } else if (corner === Corner.TOP_RIGHT) {\n coordinate = getTopRight(extent);\n } else {\n assert(false, 13); // Invalid corner\n }\n return coordinate;\n}\n\n\n/**\n * @param {Extent} extent1 Extent 1.\n * @param {Extent} extent2 Extent 2.\n * @return {number} Enlarged area.\n */\nexport function getEnlargedArea(extent1, extent2) {\n var minX = Math.min(extent1[0], extent2[0]);\n var minY = Math.min(extent1[1], extent2[1]);\n var maxX = Math.max(extent1[2], extent2[2]);\n var maxY = Math.max(extent1[3], extent2[3]);\n return (maxX - minX) * (maxY - minY);\n}\n\n\n/**\n * @param {import(\"./coordinate.js\").Coordinate} center Center.\n * @param {number} resolution Resolution.\n * @param {number} rotation Rotation.\n * @param {import(\"./size.js\").Size} size Size.\n * @param {Extent=} opt_extent Destination extent.\n * @return {Extent} Extent.\n */\nexport function getForViewAndSize(center, resolution, rotation, size, opt_extent) {\n var dx = resolution * size[0] / 2;\n var dy = resolution * size[1] / 2;\n var cosRotation = Math.cos(rotation);\n var sinRotation = Math.sin(rotation);\n var xCos = dx * cosRotation;\n var xSin = dx * sinRotation;\n var yCos = dy * cosRotation;\n var ySin = dy * sinRotation;\n var x = center[0];\n var y = center[1];\n var x0 = x - xCos + ySin;\n var x1 = x - xCos - ySin;\n var x2 = x + xCos - ySin;\n var x3 = x + xCos + ySin;\n var y0 = y - xSin - yCos;\n var y1 = y - xSin + yCos;\n var y2 = y + xSin + yCos;\n var y3 = y + xSin - yCos;\n return createOrUpdate(\n Math.min(x0, x1, x2, x3), Math.min(y0, y1, y2, y3),\n Math.max(x0, x1, x2, x3), Math.max(y0, y1, y2, y3),\n opt_extent);\n}\n\n\n/**\n * Get the height of an extent.\n * @param {Extent} extent Extent.\n * @return {number} Height.\n * @api\n */\nexport function getHeight(extent) {\n return extent[3] - extent[1];\n}\n\n\n/**\n * @param {Extent} extent1 Extent 1.\n * @param {Extent} extent2 Extent 2.\n * @return {number} Intersection area.\n */\nexport function getIntersectionArea(extent1, extent2) {\n var intersection = getIntersection(extent1, extent2);\n return getArea(intersection);\n}\n\n\n/**\n * Get the intersection of two extents.\n * @param {Extent} extent1 Extent 1.\n * @param {Extent} extent2 Extent 2.\n * @param {Extent=} opt_extent Optional extent to populate with intersection.\n * @return {Extent} Intersecting extent.\n * @api\n */\nexport function getIntersection(extent1, extent2, opt_extent) {\n var intersection = opt_extent ? opt_extent : createEmpty();\n if (intersects(extent1, extent2)) {\n if (extent1[0] > extent2[0]) {\n intersection[0] = extent1[0];\n } else {\n intersection[0] = extent2[0];\n }\n if (extent1[1] > extent2[1]) {\n intersection[1] = extent1[1];\n } else {\n intersection[1] = extent2[1];\n }\n if (extent1[2] < extent2[2]) {\n intersection[2] = extent1[2];\n } else {\n intersection[2] = extent2[2];\n }\n if (extent1[3] < extent2[3]) {\n intersection[3] = extent1[3];\n } else {\n intersection[3] = extent2[3];\n }\n } else {\n createOrUpdateEmpty(intersection);\n }\n return intersection;\n}\n\n\n/**\n * @param {Extent} extent Extent.\n * @return {number} Margin.\n */\nexport function getMargin(extent) {\n return getWidth(extent) + getHeight(extent);\n}\n\n\n/**\n * Get the size (width, height) of an extent.\n * @param {Extent} extent The extent.\n * @return {import(\"./size.js\").Size} The extent size.\n * @api\n */\nexport function getSize(extent) {\n return [extent[2] - extent[0], extent[3] - extent[1]];\n}\n\n\n/**\n * Get the top left coordinate of an extent.\n * @param {Extent} extent Extent.\n * @return {import(\"./coordinate.js\").Coordinate} Top left coordinate.\n * @api\n */\nexport function getTopLeft(extent) {\n return [extent[0], extent[3]];\n}\n\n\n/**\n * Get the top right coordinate of an extent.\n * @param {Extent} extent Extent.\n * @return {import(\"./coordinate.js\").Coordinate} Top right coordinate.\n * @api\n */\nexport function getTopRight(extent) {\n return [extent[2], extent[3]];\n}\n\n\n/**\n * Get the width of an extent.\n * @param {Extent} extent Extent.\n * @return {number} Width.\n * @api\n */\nexport function getWidth(extent) {\n return extent[2] - extent[0];\n}\n\n\n/**\n * Determine if one extent intersects another.\n * @param {Extent} extent1 Extent 1.\n * @param {Extent} extent2 Extent.\n * @return {boolean} The two extents intersect.\n * @api\n */\nexport function intersects(extent1, extent2) {\n return extent1[0] <= extent2[2] &&\n extent1[2] >= extent2[0] &&\n extent1[1] <= extent2[3] &&\n extent1[3] >= extent2[1];\n}\n\n\n/**\n * Determine if an extent is empty.\n * @param {Extent} extent Extent.\n * @return {boolean} Is empty.\n * @api\n */\nexport function isEmpty(extent) {\n return extent[2] < extent[0] || extent[3] < extent[1];\n}\n\n\n/**\n * @param {Extent} extent Extent.\n * @param {Extent=} opt_extent Extent.\n * @return {Extent} Extent.\n */\nexport function returnOrUpdate(extent, opt_extent) {\n if (opt_extent) {\n opt_extent[0] = extent[0];\n opt_extent[1] = extent[1];\n opt_extent[2] = extent[2];\n opt_extent[3] = extent[3];\n return opt_extent;\n } else {\n return extent;\n }\n}\n\n\n/**\n * @param {Extent} extent Extent.\n * @param {number} value Value.\n */\nexport function scaleFromCenter(extent, value) {\n var deltaX = ((extent[2] - extent[0]) / 2) * (value - 1);\n var deltaY = ((extent[3] - extent[1]) / 2) * (value - 1);\n extent[0] -= deltaX;\n extent[2] += deltaX;\n extent[1] -= deltaY;\n extent[3] += deltaY;\n}\n\n\n/**\n * Determine if the segment between two coordinates intersects (crosses,\n * touches, or is contained by) the provided extent.\n * @param {Extent} extent The extent.\n * @param {import(\"./coordinate.js\").Coordinate} start Segment start coordinate.\n * @param {import(\"./coordinate.js\").Coordinate} end Segment end coordinate.\n * @return {boolean} The segment intersects the extent.\n */\nexport function intersectsSegment(extent, start, end) {\n var intersects = false;\n var startRel = coordinateRelationship(extent, start);\n var endRel = coordinateRelationship(extent, end);\n if (startRel === Relationship.INTERSECTING ||\n endRel === Relationship.INTERSECTING) {\n intersects = true;\n } else {\n var minX = extent[0];\n var minY = extent[1];\n var maxX = extent[2];\n var maxY = extent[3];\n var startX = start[0];\n var startY = start[1];\n var endX = end[0];\n var endY = end[1];\n var slope = (endY - startY) / (endX - startX);\n var x, y;\n if (!!(endRel & Relationship.ABOVE) &&\n !(startRel & Relationship.ABOVE)) {\n // potentially intersects top\n x = endX - ((endY - maxY) / slope);\n intersects = x >= minX && x <= maxX;\n }\n if (!intersects && !!(endRel & Relationship.RIGHT) &&\n !(startRel & Relationship.RIGHT)) {\n // potentially intersects right\n y = endY - ((endX - maxX) * slope);\n intersects = y >= minY && y <= maxY;\n }\n if (!intersects && !!(endRel & Relationship.BELOW) &&\n !(startRel & Relationship.BELOW)) {\n // potentially intersects bottom\n x = endX - ((endY - minY) / slope);\n intersects = x >= minX && x <= maxX;\n }\n if (!intersects && !!(endRel & Relationship.LEFT) &&\n !(startRel & Relationship.LEFT)) {\n // potentially intersects left\n y = endY - ((endX - minX) * slope);\n intersects = y >= minY && y <= maxY;\n }\n\n }\n return intersects;\n}\n\n\n/**\n * Apply a transform function to the extent.\n * @param {Extent} extent Extent.\n * @param {import(\"./proj.js\").TransformFunction} transformFn Transform function.\n * Called with `[minX, minY, maxX, maxY]` extent coordinates.\n * @param {Extent=} opt_extent Destination extent.\n * @return {Extent} Extent.\n * @api\n */\nexport function applyTransform(extent, transformFn, opt_extent) {\n var coordinates = [\n extent[0], extent[1],\n extent[0], extent[3],\n extent[2], extent[1],\n extent[2], extent[3]\n ];\n transformFn(coordinates, coordinates, 2);\n var xs = [coordinates[0], coordinates[2], coordinates[4], coordinates[6]];\n var ys = [coordinates[1], coordinates[3], coordinates[5], coordinates[7]];\n return _boundingExtentXYs(xs, ys, opt_extent);\n}\n\n//# sourceMappingURL=extent.js.map","/**\n * @module ol/util\n */\n\n/**\n * @return {?} Any return.\n */\nexport function abstract() {\n return /** @type {?} */ ((function() {\n throw new Error('Unimplemented abstract method.');\n })());\n}\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * Usage:\n *\n * function ParentClass(a, b) { }\n * ParentClass.prototype.foo = function(a) { }\n *\n * function ChildClass(a, b, c) {\n * // Call parent constructor\n * ParentClass.call(this, a, b);\n * }\n * inherits(ChildClass, ParentClass);\n *\n * var child = new ChildClass('a', 'b', 'see');\n * child.foo(); // This works.\n *\n * @param {!Function} childCtor Child constructor.\n * @param {!Function} parentCtor Parent constructor.\n * @function module:ol.inherits\n * @deprecated\n * @api\n */\nexport function inherits(childCtor, parentCtor) {\n childCtor.prototype = Object.create(parentCtor.prototype);\n childCtor.prototype.constructor = childCtor;\n}\n\n/**\n * Counter for getUid.\n * @type {number}\n * @private\n */\nvar uidCounter_ = 0;\n\n/**\n * Gets a unique ID for an object. This mutates the object so that further calls\n * with the same object as a parameter returns the same value. Unique IDs are generated\n * as a strictly increasing sequence. Adapted from goog.getUid.\n *\n * @param {Object} obj The object to get the unique ID for.\n * @return {string} The unique ID for the object.\n * @function module:ol.getUid\n * @api\n */\nexport function getUid(obj) {\n return obj.ol_uid || (obj.ol_uid = String(++uidCounter_));\n}\n\n/**\n * OpenLayers version.\n * @type {string}\n */\nexport var VERSION = '5.3.3';\n\n//# sourceMappingURL=util.js.map","/**\n * @module ol/events\n */\nimport {clear} from './obj.js';\n\n\n/**\n * Key to use with {@link module:ol/Observable~Observable#unByKey}.\n * @typedef {Object} EventsKey\n * @property {Object} [bindTo]\n * @property {ListenerFunction} [boundListener]\n * @property {boolean} callOnce\n * @property {number} [deleteIndex]\n * @property {ListenerFunction} listener\n * @property {import(\"./events/Target.js\").EventTargetLike} target\n * @property {string} type\n * @api\n */\n\n\n/**\n * Listener function. This function is called with an event object as argument.\n * When the function returns `false`, event propagation will stop.\n *\n * @typedef {function((Event|import(\"./events/Event.js\").default)): (void|boolean)} ListenerFunction\n * @api\n */\n\n\n/**\n * @param {EventsKey} listenerObj Listener object.\n * @return {ListenerFunction} Bound listener.\n */\nexport function bindListener(listenerObj) {\n var boundListener = function(evt) {\n var listener = listenerObj.listener;\n var bindTo = listenerObj.bindTo || listenerObj.target;\n if (listenerObj.callOnce) {\n unlistenByKey(listenerObj);\n }\n return listener.call(bindTo, evt);\n };\n listenerObj.boundListener = boundListener;\n return boundListener;\n}\n\n\n/**\n * Finds the matching {@link module:ol/events~EventsKey} in the given listener\n * array.\n *\n * @param {!Array} listeners Array of listeners.\n * @param {!Function} listener The listener function.\n * @param {Object=} opt_this The `this` value inside the listener.\n * @param {boolean=} opt_setDeleteIndex Set the deleteIndex on the matching\n * listener, for {@link module:ol/events~unlistenByKey}.\n * @return {EventsKey|undefined} The matching listener object.\n */\nexport function findListener(listeners, listener, opt_this, opt_setDeleteIndex) {\n var listenerObj;\n for (var i = 0, ii = listeners.length; i < ii; ++i) {\n listenerObj = listeners[i];\n if (listenerObj.listener === listener &&\n listenerObj.bindTo === opt_this) {\n if (opt_setDeleteIndex) {\n listenerObj.deleteIndex = i;\n }\n return listenerObj;\n }\n }\n return undefined;\n}\n\n\n/**\n * @param {import(\"./events/Target.js\").EventTargetLike} target Target.\n * @param {string} type Type.\n * @return {Array|undefined} Listeners.\n */\nexport function getListeners(target, type) {\n var listenerMap = getListenerMap(target);\n return listenerMap ? listenerMap[type] : undefined;\n}\n\n\n/**\n * Get the lookup of listeners.\n * @param {Object} target Target.\n * @param {boolean=} opt_create If a map should be created if it doesn't exist.\n * @return {!Object>} Map of\n * listeners by event type.\n */\nfunction getListenerMap(target, opt_create) {\n var listenerMap = target.ol_lm;\n if (!listenerMap && opt_create) {\n listenerMap = target.ol_lm = {};\n }\n return listenerMap;\n}\n\n\n/**\n * Remove the listener map from a target.\n * @param {Object} target Target.\n */\nfunction removeListenerMap(target) {\n delete target.ol_lm;\n}\n\n\n/**\n * Clean up all listener objects of the given type. All properties on the\n * listener objects will be removed, and if no listeners remain in the listener\n * map, it will be removed from the target.\n * @param {import(\"./events/Target.js\").EventTargetLike} target Target.\n * @param {string} type Type.\n */\nfunction removeListeners(target, type) {\n var listeners = getListeners(target, type);\n if (listeners) {\n for (var i = 0, ii = listeners.length; i < ii; ++i) {\n /** @type {import(\"./events/Target.js\").default} */ (target).\n removeEventListener(type, listeners[i].boundListener);\n clear(listeners[i]);\n }\n listeners.length = 0;\n var listenerMap = getListenerMap(target);\n if (listenerMap) {\n delete listenerMap[type];\n if (Object.keys(listenerMap).length === 0) {\n removeListenerMap(target);\n }\n }\n }\n}\n\n\n/**\n * Registers an event listener on an event target. Inspired by\n * https://google.github.io/closure-library/api/source/closure/goog/events/events.js.src.html\n *\n * This function efficiently binds a `listener` to a `this` object, and returns\n * a key for use with {@link module:ol/events~unlistenByKey}.\n *\n * @param {import(\"./events/Target.js\").EventTargetLike} target Event target.\n * @param {string} type Event type.\n * @param {ListenerFunction} listener Listener.\n * @param {Object=} opt_this Object referenced by the `this` keyword in the\n * listener. Default is the `target`.\n * @param {boolean=} opt_once If true, add the listener as one-off listener.\n * @return {EventsKey} Unique key for the listener.\n */\nexport function listen(target, type, listener, opt_this, opt_once) {\n var listenerMap = getListenerMap(target, true);\n var listeners = listenerMap[type];\n if (!listeners) {\n listeners = listenerMap[type] = [];\n }\n var listenerObj = findListener(listeners, listener, opt_this, false);\n if (listenerObj) {\n if (!opt_once) {\n // Turn one-off listener into a permanent one.\n listenerObj.callOnce = false;\n }\n } else {\n listenerObj = /** @type {EventsKey} */ ({\n bindTo: opt_this,\n callOnce: !!opt_once,\n listener: listener,\n target: target,\n type: type\n });\n /** @type {import(\"./events/Target.js\").default} */ (target).\n addEventListener(type, bindListener(listenerObj));\n listeners.push(listenerObj);\n }\n\n return listenerObj;\n}\n\n\n/**\n * Registers a one-off event listener on an event target. Inspired by\n * https://google.github.io/closure-library/api/source/closure/goog/events/events.js.src.html\n *\n * This function efficiently binds a `listener` as self-unregistering listener\n * to a `this` object, and returns a key for use with\n * {@link module:ol/events~unlistenByKey} in case the listener needs to be\n * unregistered before it is called.\n *\n * When {@link module:ol/events~listen} is called with the same arguments after this\n * function, the self-unregistering listener will be turned into a permanent\n * listener.\n *\n * @param {import(\"./events/Target.js\").EventTargetLike} target Event target.\n * @param {string} type Event type.\n * @param {ListenerFunction} listener Listener.\n * @param {Object=} opt_this Object referenced by the `this` keyword in the\n * listener. Default is the `target`.\n * @return {EventsKey} Key for unlistenByKey.\n */\nexport function listenOnce(target, type, listener, opt_this) {\n return listen(target, type, listener, opt_this, true);\n}\n\n\n/**\n * Unregisters an event listener on an event target. Inspired by\n * https://google.github.io/closure-library/api/source/closure/goog/events/events.js.src.html\n *\n * To return a listener, this function needs to be called with the exact same\n * arguments that were used for a previous {@link module:ol/events~listen} call.\n *\n * @param {import(\"./events/Target.js\").EventTargetLike} target Event target.\n * @param {string} type Event type.\n * @param {ListenerFunction} listener Listener.\n * @param {Object=} opt_this Object referenced by the `this` keyword in the\n * listener. Default is the `target`.\n */\nexport function unlisten(target, type, listener, opt_this) {\n var listeners = getListeners(target, type);\n if (listeners) {\n var listenerObj = findListener(listeners, listener, opt_this, true);\n if (listenerObj) {\n unlistenByKey(listenerObj);\n }\n }\n}\n\n\n/**\n * Unregisters event listeners on an event target. Inspired by\n * https://google.github.io/closure-library/api/source/closure/goog/events/events.js.src.html\n *\n * The argument passed to this function is the key returned from\n * {@link module:ol/events~listen} or {@link module:ol/events~listenOnce}.\n *\n * @param {EventsKey} key The key.\n */\nexport function unlistenByKey(key) {\n if (key && key.target) {\n /** @type {import(\"./events/Target.js\").default} */ (key.target).\n removeEventListener(key.type, key.boundListener);\n var listeners = getListeners(key.target, key.type);\n if (listeners) {\n var i = 'deleteIndex' in key ? key.deleteIndex : listeners.indexOf(key);\n if (i !== -1) {\n listeners.splice(i, 1);\n }\n if (listeners.length === 0) {\n removeListeners(key.target, key.type);\n }\n }\n clear(key);\n }\n}\n\n\n/**\n * Unregisters all event listeners on an event target. Inspired by\n * https://google.github.io/closure-library/api/source/closure/goog/events/events.js.src.html\n *\n * @param {import(\"./events/Target.js\").EventTargetLike} target Target.\n */\nexport function unlistenAll(target) {\n var listenerMap = getListenerMap(target);\n if (listenerMap) {\n for (var type in listenerMap) {\n removeListeners(target, type);\n }\n }\n}\n\n//# sourceMappingURL=events.js.map","/**\n * @module ol/TileState\n */\n\n/**\n * @enum {number}\n */\nexport default {\n IDLE: 0,\n LOADING: 1,\n LOADED: 2,\n /**\n * Indicates that tile loading failed\n * @type {number}\n */\n ERROR: 3,\n EMPTY: 4,\n ABORT: 5\n};\n\n//# sourceMappingURL=TileState.js.map","/**\n * @module ol/render/canvas\n */\nimport {getFontFamilies} from '../css.js';\nimport {createCanvasContext2D} from '../dom.js';\nimport {clear} from '../obj.js';\nimport LRUCache from '../structs/LRUCache.js';\nimport {create as createTransform} from '../transform.js';\n\n\n/**\n * @typedef {Object} FillState\n * @property {import(\"../colorlike.js\").ColorLike} fillStyle\n */\n\n\n/**\n * @typedef {Object} FillStrokeState\n * @property {import(\"../colorlike.js\").ColorLike} [currentFillStyle]\n * @property {import(\"../colorlike.js\").ColorLike} [currentStrokeStyle]\n * @property {string} [currentLineCap]\n * @property {Array} currentLineDash\n * @property {number} [currentLineDashOffset]\n * @property {string} [currentLineJoin]\n * @property {number} [currentLineWidth]\n * @property {number} [currentMiterLimit]\n * @property {number} [lastStroke]\n * @property {import(\"../colorlike.js\").ColorLike} [fillStyle]\n * @property {import(\"../colorlike.js\").ColorLike} [strokeStyle]\n * @property {string} [lineCap]\n * @property {Array} lineDash\n * @property {number} [lineDashOffset]\n * @property {string} [lineJoin]\n * @property {number} [lineWidth]\n * @property {number} [miterLimit]\n */\n\n\n/**\n * @typedef {Object} StrokeState\n * @property {string} lineCap\n * @property {Array} lineDash\n * @property {number} lineDashOffset\n * @property {string} lineJoin\n * @property {number} lineWidth\n * @property {number} miterLimit\n * @property {import(\"../colorlike.js\").ColorLike} strokeStyle\n */\n\n\n/**\n * @typedef {Object} TextState\n * @property {string} font\n * @property {string} [textAlign]\n * @property {string} textBaseline\n * @property {string} [placement]\n * @property {number} [maxAngle]\n * @property {boolean} [overflow]\n * @property {import(\"../style/Fill.js\").default} [backgroundFill]\n * @property {import(\"../style/Stroke.js\").default} [backgroundStroke]\n * @property {number} [scale]\n * @property {Array} [padding]\n */\n\n\n/**\n * Container for decluttered replay instructions that need to be rendered or\n * omitted together, i.e. when styles render both an image and text, or for the\n * characters that form text along lines. The basic elements of this array are\n * `[minX, minY, maxX, maxY, count]`, where the first four entries are the\n * rendered extent of the group in pixel space. `count` is the number of styles\n * in the group, i.e. 2 when an image and a text are grouped, or 1 otherwise.\n * In addition to these four elements, declutter instruction arrays (i.e. the\n * arguments to {@link module:ol/render/canvas~drawImage} are appended to the array.\n * @typedef {Array<*>} DeclutterGroup\n */\n\n\n/**\n * @const\n * @type {string}\n */\nexport var defaultFont = '10px sans-serif';\n\n\n/**\n * @const\n * @type {import(\"../color.js\").Color}\n */\nexport var defaultFillStyle = [0, 0, 0, 1];\n\n\n/**\n * @const\n * @type {string}\n */\nexport var defaultLineCap = 'round';\n\n\n/**\n * @const\n * @type {Array}\n */\nexport var defaultLineDash = [];\n\n\n/**\n * @const\n * @type {number}\n */\nexport var defaultLineDashOffset = 0;\n\n\n/**\n * @const\n * @type {string}\n */\nexport var defaultLineJoin = 'round';\n\n\n/**\n * @const\n * @type {number}\n */\nexport var defaultMiterLimit = 10;\n\n\n/**\n * @const\n * @type {import(\"../color.js\").Color}\n */\nexport var defaultStrokeStyle = [0, 0, 0, 1];\n\n\n/**\n * @const\n * @type {string}\n */\nexport var defaultTextAlign = 'center';\n\n\n/**\n * @const\n * @type {string}\n */\nexport var defaultTextBaseline = 'middle';\n\n\n/**\n * @const\n * @type {Array}\n */\nexport var defaultPadding = [0, 0, 0, 0];\n\n\n/**\n * @const\n * @type {number}\n */\nexport var defaultLineWidth = 1;\n\n\n/**\n * The label cache for text rendering. To change the default cache size of 2048\n * entries, use {@link module:ol/structs/LRUCache#setSize}.\n * @type {LRUCache}\n * @api\n */\nexport var labelCache = new LRUCache();\n\n\n/**\n * @type {!Object}\n */\nexport var checkedFonts = {};\n\n\n/**\n * @type {CanvasRenderingContext2D}\n */\nvar measureContext = null;\n\n\n/**\n * @type {!Object}\n */\nexport var textHeights = {};\n\n\n/**\n * Clears the label cache when a font becomes available.\n * @param {string} fontSpec CSS font spec.\n */\nexport var checkFont = (function() {\n var retries = 60;\n var checked = checkedFonts;\n var size = '32px ';\n var referenceFonts = ['monospace', 'serif'];\n var len = referenceFonts.length;\n var text = 'wmytzilWMYTZIL@#/&?$%10\\uF013';\n var interval, referenceWidth;\n\n function isAvailable(font) {\n var context = getMeasureContext();\n // Check weight ranges according to\n // https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight#Fallback_weights\n for (var weight = 100; weight <= 700; weight += 300) {\n var fontWeight = weight + ' ';\n var available = true;\n for (var i = 0; i < len; ++i) {\n var referenceFont = referenceFonts[i];\n context.font = fontWeight + size + referenceFont;\n referenceWidth = context.measureText(text).width;\n if (font != referenceFont) {\n context.font = fontWeight + size + font + ',' + referenceFont;\n var width = context.measureText(text).width;\n // If width and referenceWidth are the same, then the fallback was used\n // instead of the font we wanted, so the font is not available.\n available = available && width != referenceWidth;\n }\n }\n if (available) {\n // Consider font available when it is available in one weight range.\n //FIXME With this we miss rare corner cases, so we should consider\n //FIXME checking availability for each requested weight range.\n return true;\n }\n }\n return false;\n }\n\n function check() {\n var done = true;\n for (var font in checked) {\n if (checked[font] < retries) {\n if (isAvailable(font)) {\n checked[font] = retries;\n clear(textHeights);\n // Make sure that loaded fonts are picked up by Safari\n measureContext = null;\n labelCache.clear();\n } else {\n ++checked[font];\n done = false;\n }\n }\n }\n if (done) {\n clearInterval(interval);\n interval = undefined;\n }\n }\n\n return function(fontSpec) {\n var fontFamilies = getFontFamilies(fontSpec);\n if (!fontFamilies) {\n return;\n }\n for (var i = 0, ii = fontFamilies.length; i < ii; ++i) {\n var fontFamily = fontFamilies[i];\n if (!(fontFamily in checked)) {\n checked[fontFamily] = retries;\n if (!isAvailable(fontFamily)) {\n checked[fontFamily] = 0;\n if (interval === undefined) {\n interval = setInterval(check, 32);\n }\n }\n }\n }\n };\n})();\n\n\n/**\n * @return {CanvasRenderingContext2D} Measure context.\n */\nfunction getMeasureContext() {\n if (!measureContext) {\n measureContext = createCanvasContext2D(1, 1);\n }\n return measureContext;\n}\n\n\n/**\n * @param {string} font Font to use for measuring.\n * @return {import(\"../size.js\").Size} Measurement.\n */\nexport var measureTextHeight = (function() {\n var span;\n var heights = textHeights;\n return function(font) {\n var height = heights[font];\n if (height == undefined) {\n if (!span) {\n span = document.createElement('span');\n span.textContent = 'M';\n span.style.margin = span.style.padding = '0 !important';\n span.style.position = 'absolute !important';\n span.style.left = '-99999px !important';\n }\n span.style.font = font;\n document.body.appendChild(span);\n height = heights[font] = span.offsetHeight;\n document.body.removeChild(span);\n }\n return height;\n };\n})();\n\n\n/**\n * @param {string} font Font.\n * @param {string} text Text.\n * @return {number} Width.\n */\nexport function measureTextWidth(font, text) {\n var measureContext = getMeasureContext();\n if (font != measureContext.font) {\n measureContext.font = font;\n }\n return measureContext.measureText(text).width;\n}\n\n\n/**\n * @param {CanvasRenderingContext2D} context Context.\n * @param {number} rotation Rotation.\n * @param {number} offsetX X offset.\n * @param {number} offsetY Y offset.\n */\nexport function rotateAtOffset(context, rotation, offsetX, offsetY) {\n if (rotation !== 0) {\n context.translate(offsetX, offsetY);\n context.rotate(rotation);\n context.translate(-offsetX, -offsetY);\n }\n}\n\n\nexport var resetTransform = createTransform();\n\n\n/**\n * @param {CanvasRenderingContext2D} context Context.\n * @param {import(\"../transform.js\").Transform|null} transform Transform.\n * @param {number} opacity Opacity.\n * @param {HTMLImageElement|HTMLCanvasElement|HTMLVideoElement} image Image.\n * @param {number} originX Origin X.\n * @param {number} originY Origin Y.\n * @param {number} w Width.\n * @param {number} h Height.\n * @param {number} x X.\n * @param {number} y Y.\n * @param {number} scale Scale.\n */\nexport function drawImage(context,\n transform, opacity, image, originX, originY, w, h, x, y, scale) {\n var alpha;\n if (opacity != 1) {\n alpha = context.globalAlpha;\n context.globalAlpha = alpha * opacity;\n }\n if (transform) {\n context.setTransform.apply(context, transform);\n }\n\n context.drawImage(image, originX, originY, w, h, x, y, w * scale, h * scale);\n\n if (alpha) {\n context.globalAlpha = alpha;\n }\n if (transform) {\n context.setTransform.apply(context, resetTransform);\n }\n}\n\n//# sourceMappingURL=canvas.js.map","/**\n * @module ol/events/EventType\n */\n\n/**\n * @enum {string}\n * @const\n */\nexport default {\n /**\n * Generic change event. Triggered when the revision counter is increased.\n * @event module:ol/events/Event~Event#change\n * @api\n */\n CHANGE: 'change',\n\n CLEAR: 'clear',\n CONTEXTMENU: 'contextmenu',\n CLICK: 'click',\n DBLCLICK: 'dblclick',\n DRAGENTER: 'dragenter',\n DRAGOVER: 'dragover',\n DROP: 'drop',\n ERROR: 'error',\n KEYDOWN: 'keydown',\n KEYPRESS: 'keypress',\n LOAD: 'load',\n MOUSEDOWN: 'mousedown',\n MOUSEMOVE: 'mousemove',\n MOUSEOUT: 'mouseout',\n MOUSEUP: 'mouseup',\n MOUSEWHEEL: 'mousewheel',\n MSPOINTERDOWN: 'MSPointerDown',\n RESIZE: 'resize',\n TOUCHSTART: 'touchstart',\n TOUCHMOVE: 'touchmove',\n TOUCHEND: 'touchend',\n WHEEL: 'wheel'\n};\n\n//# sourceMappingURL=EventType.js.map","/**\n * @module ol/geom/GeometryType\n */\n\n/**\n * The geometry type. One of `'Point'`, `'LineString'`, `'LinearRing'`,\n * `'Polygon'`, `'MultiPoint'`, `'MultiLineString'`, `'MultiPolygon'`,\n * `'GeometryCollection'`, `'Circle'`.\n * @enum {string}\n */\nexport default {\n POINT: 'Point',\n LINE_STRING: 'LineString',\n LINEAR_RING: 'LinearRing',\n POLYGON: 'Polygon',\n MULTI_POINT: 'MultiPoint',\n MULTI_LINE_STRING: 'MultiLineString',\n MULTI_POLYGON: 'MultiPolygon',\n GEOMETRY_COLLECTION: 'GeometryCollection',\n CIRCLE: 'Circle'\n};\n\n//# sourceMappingURL=GeometryType.js.map","/**\n * @module ol/math\n */\nimport {assert} from './asserts.js';\n\n/**\n * Takes a number and clamps it to within the provided bounds.\n * @param {number} value The input number.\n * @param {number} min The minimum value to return.\n * @param {number} max The maximum value to return.\n * @return {number} The input number if it is within bounds, or the nearest\n * number within the bounds.\n */\nexport function clamp(value, min, max) {\n return Math.min(Math.max(value, min), max);\n}\n\n\n/**\n * Return the hyperbolic cosine of a given number. The method will use the\n * native `Math.cosh` function if it is available, otherwise the hyperbolic\n * cosine will be calculated via the reference implementation of the Mozilla\n * developer network.\n *\n * @param {number} x X.\n * @return {number} Hyperbolic cosine of x.\n */\nexport var cosh = (function() {\n // Wrapped in a iife, to save the overhead of checking for the native\n // implementation on every invocation.\n var cosh;\n if ('cosh' in Math) {\n // The environment supports the native Math.cosh function, use it…\n cosh = Math.cosh;\n } else {\n // … else, use the reference implementation of MDN:\n cosh = function(x) {\n var y = /** @type {Math} */ (Math).exp(x);\n return (y + 1 / y) / 2;\n };\n }\n return cosh;\n}());\n\n\n/**\n * @param {number} x X.\n * @return {number} The smallest power of two greater than or equal to x.\n */\nexport function roundUpToPowerOfTwo(x) {\n assert(0 < x, 29); // `x` must be greater than `0`\n return Math.pow(2, Math.ceil(Math.log(x) / Math.LN2));\n}\n\n\n/**\n * Returns the square of the closest distance between the point (x, y) and the\n * line segment (x1, y1) to (x2, y2).\n * @param {number} x X.\n * @param {number} y Y.\n * @param {number} x1 X1.\n * @param {number} y1 Y1.\n * @param {number} x2 X2.\n * @param {number} y2 Y2.\n * @return {number} Squared distance.\n */\nexport function squaredSegmentDistance(x, y, x1, y1, x2, y2) {\n var dx = x2 - x1;\n var dy = y2 - y1;\n if (dx !== 0 || dy !== 0) {\n var t = ((x - x1) * dx + (y - y1) * dy) / (dx * dx + dy * dy);\n if (t > 1) {\n x1 = x2;\n y1 = y2;\n } else if (t > 0) {\n x1 += dx * t;\n y1 += dy * t;\n }\n }\n return squaredDistance(x, y, x1, y1);\n}\n\n\n/**\n * Returns the square of the distance between the points (x1, y1) and (x2, y2).\n * @param {number} x1 X1.\n * @param {number} y1 Y1.\n * @param {number} x2 X2.\n * @param {number} y2 Y2.\n * @return {number} Squared distance.\n */\nexport function squaredDistance(x1, y1, x2, y2) {\n var dx = x2 - x1;\n var dy = y2 - y1;\n return dx * dx + dy * dy;\n}\n\n\n/**\n * Solves system of linear equations using Gaussian elimination method.\n *\n * @param {Array>} mat Augmented matrix (n x n + 1 column)\n * in row-major order.\n * @return {Array} The resulting vector.\n */\nexport function solveLinearSystem(mat) {\n var n = mat.length;\n\n for (var i = 0; i < n; i++) {\n // Find max in the i-th column (ignoring i - 1 first rows)\n var maxRow = i;\n var maxEl = Math.abs(mat[i][i]);\n for (var r = i + 1; r < n; r++) {\n var absValue = Math.abs(mat[r][i]);\n if (absValue > maxEl) {\n maxEl = absValue;\n maxRow = r;\n }\n }\n\n if (maxEl === 0) {\n return null; // matrix is singular\n }\n\n // Swap max row with i-th (current) row\n var tmp = mat[maxRow];\n mat[maxRow] = mat[i];\n mat[i] = tmp;\n\n // Subtract the i-th row to make all the remaining rows 0 in the i-th column\n for (var j = i + 1; j < n; j++) {\n var coef = -mat[j][i] / mat[i][i];\n for (var k = i; k < n + 1; k++) {\n if (i == k) {\n mat[j][k] = 0;\n } else {\n mat[j][k] += coef * mat[i][k];\n }\n }\n }\n }\n\n // Solve Ax=b for upper triangular matrix A (mat)\n var x = new Array(n);\n for (var l = n - 1; l >= 0; l--) {\n x[l] = mat[l][n] / mat[l][l];\n for (var m = l - 1; m >= 0; m--) {\n mat[m][n] -= mat[m][l] * x[l];\n }\n }\n return x;\n}\n\n\n/**\n * Converts radians to to degrees.\n *\n * @param {number} angleInRadians Angle in radians.\n * @return {number} Angle in degrees.\n */\nexport function toDegrees(angleInRadians) {\n return angleInRadians * 180 / Math.PI;\n}\n\n\n/**\n * Converts degrees to radians.\n *\n * @param {number} angleInDegrees Angle in degrees.\n * @return {number} Angle in radians.\n */\nexport function toRadians(angleInDegrees) {\n return angleInDegrees * Math.PI / 180;\n}\n\n/**\n * Returns the modulo of a / b, depending on the sign of b.\n *\n * @param {number} a Dividend.\n * @param {number} b Divisor.\n * @return {number} Modulo.\n */\nexport function modulo(a, b) {\n var r = a % b;\n return r * b < 0 ? r + b : r;\n}\n\n/**\n * Calculates the linearly interpolated value of x between a and b.\n *\n * @param {number} a Number\n * @param {number} b Number\n * @param {number} x Value to be interpolated.\n * @return {number} Interpolated value.\n */\nexport function lerp(a, b, x) {\n return a + x * (b - a);\n}\n\n//# sourceMappingURL=math.js.map","/**\n * @module ol/transform\n */\nimport {assert} from './asserts.js';\n\n\n/**\n * An array representing an affine 2d transformation for use with\n * {@link module:ol/transform} functions. The array has 6 elements.\n * @typedef {!Array} Transform\n */\n\n\n/**\n * Collection of affine 2d transformation functions. The functions work on an\n * array of 6 elements. The element order is compatible with the [SVGMatrix\n * interface](https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix) and is\n * a subset (elements a to f) of a 3×3 matrix:\n * ```\n * [ a c e ]\n * [ b d f ]\n * [ 0 0 1 ]\n * ```\n */\n\n\n/**\n * @private\n * @type {Transform}\n */\nvar tmp_ = new Array(6);\n\n\n/**\n * Create an identity transform.\n * @return {!Transform} Identity transform.\n */\nexport function create() {\n return [1, 0, 0, 1, 0, 0];\n}\n\n\n/**\n * Resets the given transform to an identity transform.\n * @param {!Transform} transform Transform.\n * @return {!Transform} Transform.\n */\nexport function reset(transform) {\n return set(transform, 1, 0, 0, 1, 0, 0);\n}\n\n\n/**\n * Multiply the underlying matrices of two transforms and return the result in\n * the first transform.\n * @param {!Transform} transform1 Transform parameters of matrix 1.\n * @param {!Transform} transform2 Transform parameters of matrix 2.\n * @return {!Transform} transform1 multiplied with transform2.\n */\nexport function multiply(transform1, transform2) {\n var a1 = transform1[0];\n var b1 = transform1[1];\n var c1 = transform1[2];\n var d1 = transform1[3];\n var e1 = transform1[4];\n var f1 = transform1[5];\n var a2 = transform2[0];\n var b2 = transform2[1];\n var c2 = transform2[2];\n var d2 = transform2[3];\n var e2 = transform2[4];\n var f2 = transform2[5];\n\n transform1[0] = a1 * a2 + c1 * b2;\n transform1[1] = b1 * a2 + d1 * b2;\n transform1[2] = a1 * c2 + c1 * d2;\n transform1[3] = b1 * c2 + d1 * d2;\n transform1[4] = a1 * e2 + c1 * f2 + e1;\n transform1[5] = b1 * e2 + d1 * f2 + f1;\n\n return transform1;\n}\n\n/**\n * Set the transform components a-f on a given transform.\n * @param {!Transform} transform Transform.\n * @param {number} a The a component of the transform.\n * @param {number} b The b component of the transform.\n * @param {number} c The c component of the transform.\n * @param {number} d The d component of the transform.\n * @param {number} e The e component of the transform.\n * @param {number} f The f component of the transform.\n * @return {!Transform} Matrix with transform applied.\n */\nexport function set(transform, a, b, c, d, e, f) {\n transform[0] = a;\n transform[1] = b;\n transform[2] = c;\n transform[3] = d;\n transform[4] = e;\n transform[5] = f;\n return transform;\n}\n\n\n/**\n * Set transform on one matrix from another matrix.\n * @param {!Transform} transform1 Matrix to set transform to.\n * @param {!Transform} transform2 Matrix to set transform from.\n * @return {!Transform} transform1 with transform from transform2 applied.\n */\nexport function setFromArray(transform1, transform2) {\n transform1[0] = transform2[0];\n transform1[1] = transform2[1];\n transform1[2] = transform2[2];\n transform1[3] = transform2[3];\n transform1[4] = transform2[4];\n transform1[5] = transform2[5];\n return transform1;\n}\n\n\n/**\n * Transforms the given coordinate with the given transform returning the\n * resulting, transformed coordinate. The coordinate will be modified in-place.\n *\n * @param {Transform} transform The transformation.\n * @param {import(\"./coordinate.js\").Coordinate|import(\"./pixel.js\").Pixel} coordinate The coordinate to transform.\n * @return {import(\"./coordinate.js\").Coordinate|import(\"./pixel.js\").Pixel} return coordinate so that operations can be\n * chained together.\n */\nexport function apply(transform, coordinate) {\n var x = coordinate[0];\n var y = coordinate[1];\n coordinate[0] = transform[0] * x + transform[2] * y + transform[4];\n coordinate[1] = transform[1] * x + transform[3] * y + transform[5];\n return coordinate;\n}\n\n\n/**\n * Applies rotation to the given transform.\n * @param {!Transform} transform Transform.\n * @param {number} angle Angle in radians.\n * @return {!Transform} The rotated transform.\n */\nexport function rotate(transform, angle) {\n var cos = Math.cos(angle);\n var sin = Math.sin(angle);\n return multiply(transform, set(tmp_, cos, sin, -sin, cos, 0, 0));\n}\n\n\n/**\n * Applies scale to a given transform.\n * @param {!Transform} transform Transform.\n * @param {number} x Scale factor x.\n * @param {number} y Scale factor y.\n * @return {!Transform} The scaled transform.\n */\nexport function scale(transform, x, y) {\n return multiply(transform, set(tmp_, x, 0, 0, y, 0, 0));\n}\n\n\n/**\n * Applies translation to the given transform.\n * @param {!Transform} transform Transform.\n * @param {number} dx Translation x.\n * @param {number} dy Translation y.\n * @return {!Transform} The translated transform.\n */\nexport function translate(transform, dx, dy) {\n return multiply(transform, set(tmp_, 1, 0, 0, 1, dx, dy));\n}\n\n\n/**\n * Creates a composite transform given an initial translation, scale, rotation, and\n * final translation (in that order only, not commutative).\n * @param {!Transform} transform The transform (will be modified in place).\n * @param {number} dx1 Initial translation x.\n * @param {number} dy1 Initial translation y.\n * @param {number} sx Scale factor x.\n * @param {number} sy Scale factor y.\n * @param {number} angle Rotation (in counter-clockwise radians).\n * @param {number} dx2 Final translation x.\n * @param {number} dy2 Final translation y.\n * @return {!Transform} The composite transform.\n */\nexport function compose(transform, dx1, dy1, sx, sy, angle, dx2, dy2) {\n var sin = Math.sin(angle);\n var cos = Math.cos(angle);\n transform[0] = sx * cos;\n transform[1] = sy * sin;\n transform[2] = -sx * sin;\n transform[3] = sy * cos;\n transform[4] = dx2 * sx * cos - dy2 * sx * sin + dx1;\n transform[5] = dx2 * sy * sin + dy2 * sy * cos + dy1;\n return transform;\n}\n\n\n/**\n * Invert the given transform.\n * @param {!Transform} transform Transform.\n * @return {!Transform} Inverse of the transform.\n */\nexport function invert(transform) {\n var det = determinant(transform);\n assert(det !== 0, 32); // Transformation matrix cannot be inverted\n\n var a = transform[0];\n var b = transform[1];\n var c = transform[2];\n var d = transform[3];\n var e = transform[4];\n var f = transform[5];\n\n transform[0] = d / det;\n transform[1] = -b / det;\n transform[2] = -c / det;\n transform[3] = a / det;\n transform[4] = (c * f - d * e) / det;\n transform[5] = -(a * f - b * e) / det;\n\n return transform;\n}\n\n\n/**\n * Returns the determinant of the given matrix.\n * @param {!Transform} mat Matrix.\n * @return {number} Determinant.\n */\nexport function determinant(mat) {\n return mat[0] * mat[3] - mat[1] * mat[2];\n}\n\n//# sourceMappingURL=transform.js.map","/**\n * @module ol/obj\n */\n\n\n/**\n * Polyfill for Object.assign(). Assigns enumerable and own properties from\n * one or more source objects to a target object.\n * See https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign.\n *\n * @param {!Object} target The target object.\n * @param {...Object} var_sources The source object(s).\n * @return {!Object} The modified target object.\n */\nexport var assign = (typeof Object.assign === 'function') ? Object.assign : function(target, var_sources) {\n var arguments$1 = arguments;\n\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n for (var i = 1, ii = arguments.length; i < ii; ++i) {\n var source = arguments$1[i];\n if (source !== undefined && source !== null) {\n for (var key in source) {\n if (source.hasOwnProperty(key)) {\n output[key] = source[key];\n }\n }\n }\n }\n return output;\n};\n\n\n/**\n * Removes all properties from an object.\n * @param {Object} object The object to clear.\n */\nexport function clear(object) {\n for (var property in object) {\n delete object[property];\n }\n}\n\n\n/**\n * Get an array of property values from an object.\n * @param {Object} object The object from which to get the values.\n * @return {!Array} The property values.\n * @template K,V\n */\nexport function getValues(object) {\n var values = [];\n for (var property in object) {\n values.push(object[property]);\n }\n return values;\n}\n\n\n/**\n * Determine if an object has any properties.\n * @param {Object} object The object to check.\n * @return {boolean} The object is empty.\n */\nexport function isEmpty(object) {\n var property;\n for (property in object) {\n return false;\n }\n return !property;\n}\n\n//# sourceMappingURL=obj.js.map","/**\n * @module ol/asserts\n */\nimport AssertionError from './AssertionError.js';\n\n/**\n * @param {*} assertion Assertion we expected to be truthy.\n * @param {number} errorCode Error code.\n */\nexport function assert(assertion, errorCode) {\n if (!assertion) {\n throw new AssertionError(errorCode);\n }\n}\n\n//# sourceMappingURL=asserts.js.map","/**\n * @module ol/array\n */\n\n\n/**\n * Performs a binary search on the provided sorted list and returns the index of the item if found. If it can't be found it'll return -1.\n * https://github.com/darkskyapp/binary-search\n *\n * @param {Array<*>} haystack Items to search through.\n * @param {*} needle The item to look for.\n * @param {Function=} opt_comparator Comparator function.\n * @return {number} The index of the item if found, -1 if not.\n */\nexport function binarySearch(haystack, needle, opt_comparator) {\n var mid, cmp;\n var comparator = opt_comparator || numberSafeCompareFunction;\n var low = 0;\n var high = haystack.length;\n var found = false;\n\n while (low < high) {\n /* Note that \"(low + high) >>> 1\" may overflow, and results in a typecast\n * to double (which gives the wrong results). */\n mid = low + (high - low >> 1);\n cmp = +comparator(haystack[mid], needle);\n\n if (cmp < 0.0) { /* Too low. */\n low = mid + 1;\n\n } else { /* Key found or too high */\n high = mid;\n found = !cmp;\n }\n }\n\n /* Key not found. */\n return found ? low : ~low;\n}\n\n\n/**\n * Compare function for array sort that is safe for numbers.\n * @param {*} a The first object to be compared.\n * @param {*} b The second object to be compared.\n * @return {number} A negative number, zero, or a positive number as the first\n * argument is less than, equal to, or greater than the second.\n */\nexport function numberSafeCompareFunction(a, b) {\n return a > b ? 1 : a < b ? -1 : 0;\n}\n\n\n/**\n * Whether the array contains the given object.\n * @param {Array<*>} arr The array to test for the presence of the element.\n * @param {*} obj The object for which to test.\n * @return {boolean} The object is in the array.\n */\nexport function includes(arr, obj) {\n return arr.indexOf(obj) >= 0;\n}\n\n\n/**\n * @param {Array} arr Array.\n * @param {number} target Target.\n * @param {number} direction 0 means return the nearest, > 0\n * means return the largest nearest, < 0 means return the\n * smallest nearest.\n * @return {number} Index.\n */\nexport function linearFindNearest(arr, target, direction) {\n var n = arr.length;\n if (arr[0] <= target) {\n return 0;\n } else if (target <= arr[n - 1]) {\n return n - 1;\n } else {\n var i;\n if (direction > 0) {\n for (i = 1; i < n; ++i) {\n if (arr[i] < target) {\n return i - 1;\n }\n }\n } else if (direction < 0) {\n for (i = 1; i < n; ++i) {\n if (arr[i] <= target) {\n return i;\n }\n }\n } else {\n for (i = 1; i < n; ++i) {\n if (arr[i] == target) {\n return i;\n } else if (arr[i] < target) {\n if (arr[i - 1] - target < target - arr[i]) {\n return i - 1;\n } else {\n return i;\n }\n }\n }\n }\n return n - 1;\n }\n}\n\n\n/**\n * @param {Array<*>} arr Array.\n * @param {number} begin Begin index.\n * @param {number} end End index.\n */\nexport function reverseSubArray(arr, begin, end) {\n while (begin < end) {\n var tmp = arr[begin];\n arr[begin] = arr[end];\n arr[end] = tmp;\n ++begin;\n --end;\n }\n}\n\n\n/**\n * @param {Array} arr The array to modify.\n * @param {!Array|VALUE} data The elements or arrays of elements to add to arr.\n * @template VALUE\n */\nexport function extend(arr, data) {\n var extension = Array.isArray(data) ? data : [data];\n var length = extension.length;\n for (var i = 0; i < length; i++) {\n arr[arr.length] = extension[i];\n }\n}\n\n\n/**\n * @param {Array} arr The array to modify.\n * @param {VALUE} obj The element to remove.\n * @template VALUE\n * @return {boolean} If the element was removed.\n */\nexport function remove(arr, obj) {\n var i = arr.indexOf(obj);\n var found = i > -1;\n if (found) {\n arr.splice(i, 1);\n }\n return found;\n}\n\n\n/**\n * @param {Array} arr The array to search in.\n * @param {function(VALUE, number, ?) : boolean} func The function to compare.\n * @template VALUE\n * @return {VALUE|null} The element found or null.\n */\nexport function find(arr, func) {\n var length = arr.length >>> 0;\n var value;\n\n for (var i = 0; i < length; i++) {\n value = arr[i];\n if (func(value, i, arr)) {\n return value;\n }\n }\n return null;\n}\n\n\n/**\n * @param {Array|Uint8ClampedArray} arr1 The first array to compare.\n * @param {Array|Uint8ClampedArray} arr2 The second array to compare.\n * @return {boolean} Whether the two arrays are equal.\n */\nexport function equals(arr1, arr2) {\n var len1 = arr1.length;\n if (len1 !== arr2.length) {\n return false;\n }\n for (var i = 0; i < len1; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n return true;\n}\n\n\n/**\n * Sort the passed array such that the relative order of equal elements is preverved.\n * See https://en.wikipedia.org/wiki/Sorting_algorithm#Stability for details.\n * @param {Array<*>} arr The array to sort (modifies original).\n * @param {!function(*, *): number} compareFnc Comparison function.\n * @api\n */\nexport function stableSort(arr, compareFnc) {\n var length = arr.length;\n var tmp = Array(arr.length);\n var i;\n for (i = 0; i < length; i++) {\n tmp[i] = {index: i, value: arr[i]};\n }\n tmp.sort(function(a, b) {\n return compareFnc(a.value, b.value) || a.index - b.index;\n });\n for (i = 0; i < arr.length; i++) {\n arr[i] = tmp[i].value;\n }\n}\n\n\n/**\n * @param {Array<*>} arr The array to search in.\n * @param {Function} func Comparison function.\n * @return {number} Return index.\n */\nexport function findIndex(arr, func) {\n var index;\n var found = !arr.every(function(el, idx) {\n index = idx;\n return !func(el, idx, arr);\n });\n return found ? index : -1;\n}\n\n\n/**\n * @param {Array<*>} arr The array to test.\n * @param {Function=} opt_func Comparison function.\n * @param {boolean=} opt_strict Strictly sorted (default false).\n * @return {boolean} Return index.\n */\nexport function isSorted(arr, opt_func, opt_strict) {\n var compare = opt_func || numberSafeCompareFunction;\n return arr.every(function(currentVal, index) {\n if (index === 0) {\n return true;\n }\n var res = compare(arr[index - 1], currentVal);\n return !(res > 0 || opt_strict && res === 0);\n });\n}\n\n//# sourceMappingURL=array.js.map","/**\n * @module ol/ViewHint\n */\n\n/**\n * @enum {number}\n */\nexport default {\n ANIMATING: 0,\n INTERACTING: 1\n};\n\n//# sourceMappingURL=ViewHint.js.map","/**\n * @module ol/proj/Projection\n */\nimport {METERS_PER_UNIT} from './Units.js';\n\n\n/**\n * @typedef {Object} Options\n * @property {string} code The SRS identifier code, e.g. `EPSG:4326`.\n * @property {import(\"./Units.js\").default|string} [units] Units. Required unless a\n * proj4 projection is defined for `code`.\n * @property {import(\"../extent.js\").Extent} [extent] The validity extent for the SRS.\n * @property {string} [axisOrientation='enu'] The axis orientation as specified in Proj4.\n * @property {boolean} [global=false] Whether the projection is valid for the whole globe.\n * @property {number} [metersPerUnit] The meters per unit for the SRS.\n * If not provided, the `units` are used to get the meters per unit from the {@link module:ol/proj/Units~METERS_PER_UNIT}\n * lookup table.\n * @property {import(\"../extent.js\").Extent} [worldExtent] The world extent for the SRS.\n * @property {function(number, import(\"../coordinate.js\").Coordinate):number} [getPointResolution]\n * Function to determine resolution at a point. The function is called with a\n * `{number}` view resolution and an `{import(\"../coordinate.js\").Coordinate}` as arguments, and returns\n * the `{number}` resolution at the passed coordinate. If this is `undefined`,\n * the default {@link module:ol/proj#getPointResolution} function will be used.\n */\n\n\n/**\n * @classdesc\n * Projection definition class. One of these is created for each projection\n * supported in the application and stored in the {@link module:ol/proj} namespace.\n * You can use these in applications, but this is not required, as API params\n * and options use {@link module:ol/proj~ProjectionLike} which means the simple string\n * code will suffice.\n *\n * You can use {@link module:ol/proj~get} to retrieve the object for a particular\n * projection.\n *\n * The library includes definitions for `EPSG:4326` and `EPSG:3857`, together\n * with the following aliases:\n * * `EPSG:4326`: CRS:84, urn:ogc:def:crs:EPSG:6.6:4326,\n * urn:ogc:def:crs:OGC:1.3:CRS84, urn:ogc:def:crs:OGC:2:84,\n * http://www.opengis.net/gml/srs/epsg.xml#4326,\n * urn:x-ogc:def:crs:EPSG:4326\n * * `EPSG:3857`: EPSG:102100, EPSG:102113, EPSG:900913,\n * urn:ogc:def:crs:EPSG:6.18:3:3857,\n * http://www.opengis.net/gml/srs/epsg.xml#3857\n *\n * If you use [proj4js](https://github.com/proj4js/proj4js), aliases can\n * be added using `proj4.defs()`. After all required projection definitions are\n * added, call the {@link module:ol/proj/proj4~register} function.\n *\n * @api\n */\nvar Projection = function Projection(options) {\n /**\n * @private\n * @type {string}\n */\n this.code_ = options.code;\n\n /**\n * Units of projected coordinates. When set to `TILE_PIXELS`, a\n * `this.extent_` and `this.worldExtent_` must be configured properly for each\n * tile.\n * @private\n * @type {import(\"./Units.js\").default}\n */\n this.units_ = /** @type {import(\"./Units.js\").default} */ (options.units);\n\n /**\n * Validity extent of the projection in projected coordinates. For projections\n * with `TILE_PIXELS` units, this is the extent of the tile in\n * tile pixel space.\n * @private\n * @type {import(\"../extent.js\").Extent}\n */\n this.extent_ = options.extent !== undefined ? options.extent : null;\n\n /**\n * Extent of the world in EPSG:4326. For projections with\n * `TILE_PIXELS` units, this is the extent of the tile in\n * projected coordinate space.\n * @private\n * @type {import(\"../extent.js\").Extent}\n */\n this.worldExtent_ = options.worldExtent !== undefined ?\n options.worldExtent : null;\n\n /**\n * @private\n * @type {string}\n */\n this.axisOrientation_ = options.axisOrientation !== undefined ?\n options.axisOrientation : 'enu';\n\n /**\n * @private\n * @type {boolean}\n */\n this.global_ = options.global !== undefined ? options.global : false;\n\n /**\n * @private\n * @type {boolean}\n */\n this.canWrapX_ = !!(this.global_ && this.extent_);\n\n /**\n * @private\n * @type {function(number, import(\"../coordinate.js\").Coordinate):number|undefined}\n */\n this.getPointResolutionFunc_ = options.getPointResolution;\n\n /**\n * @private\n * @type {import(\"../tilegrid/TileGrid.js\").default}\n */\n this.defaultTileGrid_ = null;\n\n /**\n * @private\n * @type {number|undefined}\n */\n this.metersPerUnit_ = options.metersPerUnit;\n};\n\n/**\n * @return {boolean} The projection is suitable for wrapping the x-axis\n */\nProjection.prototype.canWrapX = function canWrapX () {\n return this.canWrapX_;\n};\n\n/**\n * Get the code for this projection, e.g. 'EPSG:4326'.\n * @return {string} Code.\n * @api\n */\nProjection.prototype.getCode = function getCode () {\n return this.code_;\n};\n\n/**\n * Get the validity extent for this projection.\n * @return {import(\"../extent.js\").Extent} Extent.\n * @api\n */\nProjection.prototype.getExtent = function getExtent () {\n return this.extent_;\n};\n\n/**\n * Get the units of this projection.\n * @return {import(\"./Units.js\").default} Units.\n * @api\n */\nProjection.prototype.getUnits = function getUnits () {\n return this.units_;\n};\n\n/**\n * Get the amount of meters per unit of this projection.If the projection is\n * not configured with `metersPerUnit` or a units identifier, the return is\n * `undefined`.\n * @return {number|undefined} Meters.\n * @api\n */\nProjection.prototype.getMetersPerUnit = function getMetersPerUnit () {\n return this.metersPerUnit_ || METERS_PER_UNIT[this.units_];\n};\n\n/**\n * Get the world extent for this projection.\n * @return {import(\"../extent.js\").Extent} Extent.\n * @api\n */\nProjection.prototype.getWorldExtent = function getWorldExtent () {\n return this.worldExtent_;\n};\n\n/**\n * Get the axis orientation of this projection.\n * Example values are:\n * enu - the default easting, northing, elevation.\n * neu - northing, easting, up - useful for \"lat/long\" geographic coordinates,\n * or south orientated transverse mercator.\n * wnu - westing, northing, up - some planetary coordinate systems have\n * \"west positive\" coordinate systems\n * @return {string} Axis orientation.\n * @api\n */\nProjection.prototype.getAxisOrientation = function getAxisOrientation () {\n return this.axisOrientation_;\n};\n\n/**\n * Is this projection a global projection which spans the whole world?\n * @return {boolean} Whether the projection is global.\n * @api\n */\nProjection.prototype.isGlobal = function isGlobal () {\n return this.global_;\n};\n\n/**\n * Set if the projection is a global projection which spans the whole world\n * @param {boolean} global Whether the projection is global.\n * @api\n */\nProjection.prototype.setGlobal = function setGlobal (global) {\n this.global_ = global;\n this.canWrapX_ = !!(global && this.extent_);\n};\n\n/**\n * @return {import(\"../tilegrid/TileGrid.js\").default} The default tile grid.\n */\nProjection.prototype.getDefaultTileGrid = function getDefaultTileGrid () {\n return this.defaultTileGrid_;\n};\n\n/**\n * @param {import(\"../tilegrid/TileGrid.js\").default} tileGrid The default tile grid.\n */\nProjection.prototype.setDefaultTileGrid = function setDefaultTileGrid (tileGrid) {\n this.defaultTileGrid_ = tileGrid;\n};\n\n/**\n * Set the validity extent for this projection.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @api\n */\nProjection.prototype.setExtent = function setExtent (extent) {\n this.extent_ = extent;\n this.canWrapX_ = !!(this.global_ && extent);\n};\n\n/**\n * Set the world extent for this projection.\n * @param {import(\"../extent.js\").Extent} worldExtent World extent\n * [minlon, minlat, maxlon, maxlat].\n * @api\n */\nProjection.prototype.setWorldExtent = function setWorldExtent (worldExtent) {\n this.worldExtent_ = worldExtent;\n};\n\n/**\n * Set the getPointResolution function (see {@link module:ol/proj~getPointResolution}\n * for this projection.\n * @param {function(number, import(\"../coordinate.js\").Coordinate):number} func Function\n * @api\n */\nProjection.prototype.setGetPointResolution = function setGetPointResolution (func) {\n this.getPointResolutionFunc_ = func;\n};\n\n/**\n * Get the custom point resolution function for this projection (if set).\n * @return {function(number, import(\"../coordinate.js\").Coordinate):number|undefined} The custom point\n * resolution function (if set).\n */\nProjection.prototype.getPointResolutionFunc = function getPointResolutionFunc () {\n return this.getPointResolutionFunc_;\n};\n\nexport default Projection;\n\n//# sourceMappingURL=Projection.js.map","/**\n * @module ol/proj/epsg3857\n */\nimport {cosh} from '../math.js';\nimport Projection from './Projection.js';\nimport Units from './Units.js';\n\n\n/**\n * Radius of WGS84 sphere\n *\n * @const\n * @type {number}\n */\nexport var RADIUS = 6378137;\n\n\n/**\n * @const\n * @type {number}\n */\nexport var HALF_SIZE = Math.PI * RADIUS;\n\n\n/**\n * @const\n * @type {import(\"../extent.js\").Extent}\n */\nexport var EXTENT = [\n -HALF_SIZE, -HALF_SIZE,\n HALF_SIZE, HALF_SIZE\n];\n\n\n/**\n * @const\n * @type {import(\"../extent.js\").Extent}\n */\nexport var WORLD_EXTENT = [-180, -85, 180, 85];\n\n\n/**\n * @classdesc\n * Projection object for web/spherical Mercator (EPSG:3857).\n */\nvar EPSG3857Projection = /*@__PURE__*/(function (Projection) {\n function EPSG3857Projection(code) {\n Projection.call(this, {\n code: code,\n units: Units.METERS,\n extent: EXTENT,\n global: true,\n worldExtent: WORLD_EXTENT,\n getPointResolution: function(resolution, point) {\n return resolution / cosh(point[1] / RADIUS);\n }\n });\n\n }\n\n if ( Projection ) EPSG3857Projection.__proto__ = Projection;\n EPSG3857Projection.prototype = Object.create( Projection && Projection.prototype );\n EPSG3857Projection.prototype.constructor = EPSG3857Projection;\n\n return EPSG3857Projection;\n}(Projection));\n\n\n/**\n * Projections equal to EPSG:3857.\n *\n * @const\n * @type {Array}\n */\nexport var PROJECTIONS = [\n new EPSG3857Projection('EPSG:3857'),\n new EPSG3857Projection('EPSG:102100'),\n new EPSG3857Projection('EPSG:102113'),\n new EPSG3857Projection('EPSG:900913'),\n new EPSG3857Projection('urn:ogc:def:crs:EPSG:6.18:3:3857'),\n new EPSG3857Projection('urn:ogc:def:crs:EPSG::3857'),\n new EPSG3857Projection('http://www.opengis.net/gml/srs/epsg.xml#3857')\n];\n\n\n/**\n * Transformation from EPSG:4326 to EPSG:3857.\n *\n * @param {Array} input Input array of coordinate values.\n * @param {Array=} opt_output Output array of coordinate values.\n * @param {number=} opt_dimension Dimension (default is `2`).\n * @return {Array} Output array of coordinate values.\n */\nexport function fromEPSG4326(input, opt_output, opt_dimension) {\n var length = input.length;\n var dimension = opt_dimension > 1 ? opt_dimension : 2;\n var output = opt_output;\n if (output === undefined) {\n if (dimension > 2) {\n // preserve values beyond second dimension\n output = input.slice();\n } else {\n output = new Array(length);\n }\n }\n var halfSize = HALF_SIZE;\n for (var i = 0; i < length; i += dimension) {\n output[i] = halfSize * input[i] / 180;\n var y = RADIUS *\n Math.log(Math.tan(Math.PI * (input[i + 1] + 90) / 360));\n if (y > halfSize) {\n y = halfSize;\n } else if (y < -halfSize) {\n y = -halfSize;\n }\n output[i + 1] = y;\n }\n return output;\n}\n\n\n/**\n * Transformation from EPSG:3857 to EPSG:4326.\n *\n * @param {Array} input Input array of coordinate values.\n * @param {Array=} opt_output Output array of coordinate values.\n * @param {number=} opt_dimension Dimension (default is `2`).\n * @return {Array} Output array of coordinate values.\n */\nexport function toEPSG4326(input, opt_output, opt_dimension) {\n var length = input.length;\n var dimension = opt_dimension > 1 ? opt_dimension : 2;\n var output = opt_output;\n if (output === undefined) {\n if (dimension > 2) {\n // preserve values beyond second dimension\n output = input.slice();\n } else {\n output = new Array(length);\n }\n }\n for (var i = 0; i < length; i += dimension) {\n output[i] = 180 * input[i] / HALF_SIZE;\n output[i + 1] = 360 * Math.atan(\n Math.exp(input[i + 1] / RADIUS)) / Math.PI - 90;\n }\n return output;\n}\n\n//# sourceMappingURL=epsg3857.js.map","/**\n * @module ol/proj/epsg4326\n */\nimport Projection from './Projection.js';\nimport Units from './Units.js';\n\n\n/**\n * Semi-major radius of the WGS84 ellipsoid.\n *\n * @const\n * @type {number}\n */\nexport var RADIUS = 6378137;\n\n\n/**\n * Extent of the EPSG:4326 projection which is the whole world.\n *\n * @const\n * @type {import(\"../extent.js\").Extent}\n */\nexport var EXTENT = [-180, -90, 180, 90];\n\n\n/**\n * @const\n * @type {number}\n */\nexport var METERS_PER_UNIT = Math.PI * RADIUS / 180;\n\n\n/**\n * @classdesc\n * Projection object for WGS84 geographic coordinates (EPSG:4326).\n *\n * Note that OpenLayers does not strictly comply with the EPSG definition.\n * The EPSG registry defines 4326 as a CRS for Latitude,Longitude (y,x).\n * OpenLayers treats EPSG:4326 as a pseudo-projection, with x,y coordinates.\n */\nvar EPSG4326Projection = /*@__PURE__*/(function (Projection) {\n function EPSG4326Projection(code, opt_axisOrientation) {\n Projection.call(this, {\n code: code,\n units: Units.DEGREES,\n extent: EXTENT,\n axisOrientation: opt_axisOrientation,\n global: true,\n metersPerUnit: METERS_PER_UNIT,\n worldExtent: EXTENT\n });\n\n }\n\n if ( Projection ) EPSG4326Projection.__proto__ = Projection;\n EPSG4326Projection.prototype = Object.create( Projection && Projection.prototype );\n EPSG4326Projection.prototype.constructor = EPSG4326Projection;\n\n return EPSG4326Projection;\n}(Projection));\n\n\n/**\n * Projections equal to EPSG:4326.\n *\n * @const\n * @type {Array}\n */\nexport var PROJECTIONS = [\n new EPSG4326Projection('CRS:84'),\n new EPSG4326Projection('EPSG:4326', 'neu'),\n new EPSG4326Projection('urn:ogc:def:crs:EPSG::4326', 'neu'),\n new EPSG4326Projection('urn:ogc:def:crs:EPSG:6.6:4326', 'neu'),\n new EPSG4326Projection('urn:ogc:def:crs:OGC:1.3:CRS84'),\n new EPSG4326Projection('urn:ogc:def:crs:OGC:2:84'),\n new EPSG4326Projection('http://www.opengis.net/gml/srs/epsg.xml#4326', 'neu'),\n new EPSG4326Projection('urn:x-ogc:def:crs:EPSG:4326', 'neu')\n];\n\n//# sourceMappingURL=epsg4326.js.map","/**\n * @module ol/proj/projections\n */\n\n\n/**\n * @type {Object}\n */\nvar cache = {};\n\n\n/**\n * Clear the projections cache.\n */\nexport function clear() {\n cache = {};\n}\n\n\n/**\n * Get a cached projection by code.\n * @param {string} code The code for the projection.\n * @return {import(\"./Projection.js\").default} The projection (if cached).\n */\nexport function get(code) {\n return cache[code] || null;\n}\n\n\n/**\n * Add a projection to the cache.\n * @param {string} code The projection code.\n * @param {import(\"./Projection.js\").default} projection The projection to cache.\n */\nexport function add(code, projection) {\n cache[code] = projection;\n}\n\n//# sourceMappingURL=projections.js.map","/**\n * @module ol/proj/transforms\n */\nimport {isEmpty} from '../obj.js';\n\n\n/**\n * @private\n * @type {!Object>}\n */\nvar transforms = {};\n\n\n/**\n * Clear the transform cache.\n */\nexport function clear() {\n transforms = {};\n}\n\n\n/**\n * Registers a conversion function to convert coordinates from the source\n * projection to the destination projection.\n *\n * @param {import(\"./Projection.js\").default} source Source.\n * @param {import(\"./Projection.js\").default} destination Destination.\n * @param {import(\"../proj.js\").TransformFunction} transformFn Transform.\n */\nexport function add(source, destination, transformFn) {\n var sourceCode = source.getCode();\n var destinationCode = destination.getCode();\n if (!(sourceCode in transforms)) {\n transforms[sourceCode] = {};\n }\n transforms[sourceCode][destinationCode] = transformFn;\n}\n\n\n/**\n * Unregisters the conversion function to convert coordinates from the source\n * projection to the destination projection. This method is used to clean up\n * cached transforms during testing.\n *\n * @param {import(\"./Projection.js\").default} source Source projection.\n * @param {import(\"./Projection.js\").default} destination Destination projection.\n * @return {import(\"../proj.js\").TransformFunction} transformFn The unregistered transform.\n */\nexport function remove(source, destination) {\n var sourceCode = source.getCode();\n var destinationCode = destination.getCode();\n var transform = transforms[sourceCode][destinationCode];\n delete transforms[sourceCode][destinationCode];\n if (isEmpty(transforms[sourceCode])) {\n delete transforms[sourceCode];\n }\n return transform;\n}\n\n\n/**\n * Get a transform given a source code and a destination code.\n * @param {string} sourceCode The code for the source projection.\n * @param {string} destinationCode The code for the destination projection.\n * @return {import(\"../proj.js\").TransformFunction|undefined} The transform function (if found).\n */\nexport function get(sourceCode, destinationCode) {\n var transform;\n if (sourceCode in transforms && destinationCode in transforms[sourceCode]) {\n transform = transforms[sourceCode][destinationCode];\n }\n return transform;\n}\n\n//# sourceMappingURL=transforms.js.map","/**\n * @module ol/proj\n */\n\n/**\n * The ol/proj module stores:\n * * a list of {@link module:ol/proj/Projection}\n * objects, one for each projection supported by the application\n * * a list of transform functions needed to convert coordinates in one projection\n * into another.\n *\n * The static functions are the methods used to maintain these.\n * Each transform function can handle not only simple coordinate pairs, but also\n * large arrays of coordinates such as vector geometries.\n *\n * When loaded, the library adds projection objects for EPSG:4326 (WGS84\n * geographic coordinates) and EPSG:3857 (Web or Spherical Mercator, as used\n * for example by Bing Maps or OpenStreetMap), together with the relevant\n * transform functions.\n *\n * Additional transforms may be added by using the http://proj4js.org/\n * library (version 2.2 or later). You can use the full build supplied by\n * Proj4js, or create a custom build to support those projections you need; see\n * the Proj4js website for how to do this. You also need the Proj4js definitions\n * for the required projections. These definitions can be obtained from\n * https://epsg.io/, and are a JS function, so can be loaded in a script\n * tag (as in the examples) or pasted into your application.\n *\n * After all required projection definitions are added to proj4's registry (by\n * using `proj4.defs()`), simply call `register(proj4)` from the `ol/proj/proj4`\n * package. Existing transforms are not changed by this function. See\n * examples/wms-image-custom-proj for an example of this.\n *\n * Additional projection definitions can be registered with `proj4.defs()` any\n * time. Just make sure to call `register(proj4)` again; for example, with user-supplied data where you don't\n * know in advance what projections are needed, you can initially load minimal\n * support and then load whichever are requested.\n *\n * Note that Proj4js does not support projection extents. If you want to add\n * one for creating default tile grids, you can add it after the Projection\n * object has been created with `setExtent`, for example,\n * `get('EPSG:1234').setExtent(extent)`.\n *\n * In addition to Proj4js support, any transform functions can be added with\n * {@link module:ol/proj~addCoordinateTransforms}. To use this, you must first create\n * a {@link module:ol/proj/Projection} object for the new projection and add it with\n * {@link module:ol/proj~addProjection}. You can then add the forward and inverse\n * functions with {@link module:ol/proj~addCoordinateTransforms}. See\n * examples/wms-custom-proj for an example of this.\n *\n * Note that if no transforms are needed and you only need to define the\n * projection, just add a {@link module:ol/proj/Projection} with\n * {@link module:ol/proj~addProjection}. See examples/wms-no-proj for an example of\n * this.\n */\nimport {getDistance} from './sphere.js';\nimport {applyTransform} from './extent.js';\nimport {modulo} from './math.js';\nimport {toEPSG4326, fromEPSG4326, PROJECTIONS as EPSG3857_PROJECTIONS} from './proj/epsg3857.js';\nimport {PROJECTIONS as EPSG4326_PROJECTIONS} from './proj/epsg4326.js';\nimport Projection from './proj/Projection.js';\nimport Units, {METERS_PER_UNIT} from './proj/Units.js';\nimport * as projections from './proj/projections.js';\nimport {add as addTransformFunc, clear as clearTransformFuncs, get as getTransformFunc} from './proj/transforms.js';\n\n\n/**\n * A projection as {@link module:ol/proj/Projection}, SRS identifier\n * string or undefined.\n * @typedef {Projection|string|undefined} ProjectionLike\n * @api\n */\n\n\n/**\n * A transform function accepts an array of input coordinate values, an optional\n * output array, and an optional dimension (default should be 2). The function\n * transforms the input coordinate values, populates the output array, and\n * returns the output array.\n *\n * @typedef {function(Array, Array=, number=): Array} TransformFunction\n * @api\n */\n\n\nexport {METERS_PER_UNIT};\n\nexport {Projection};\n\n/**\n * @param {Array} input Input coordinate array.\n * @param {Array=} opt_output Output array of coordinate values.\n * @param {number=} opt_dimension Dimension.\n * @return {Array} Output coordinate array (new array, same coordinate\n * values).\n */\nexport function cloneTransform(input, opt_output, opt_dimension) {\n var output;\n if (opt_output !== undefined) {\n for (var i = 0, ii = input.length; i < ii; ++i) {\n opt_output[i] = input[i];\n }\n output = opt_output;\n } else {\n output = input.slice();\n }\n return output;\n}\n\n\n/**\n * @param {Array} input Input coordinate array.\n * @param {Array=} opt_output Output array of coordinate values.\n * @param {number=} opt_dimension Dimension.\n * @return {Array} Input coordinate array (same array as input).\n */\nexport function identityTransform(input, opt_output, opt_dimension) {\n if (opt_output !== undefined && input !== opt_output) {\n for (var i = 0, ii = input.length; i < ii; ++i) {\n opt_output[i] = input[i];\n }\n input = opt_output;\n }\n return input;\n}\n\n\n/**\n * Add a Projection object to the list of supported projections that can be\n * looked up by their code.\n *\n * @param {Projection} projection Projection instance.\n * @api\n */\nexport function addProjection(projection) {\n projections.add(projection.getCode(), projection);\n addTransformFunc(projection, projection, cloneTransform);\n}\n\n\n/**\n * @param {Array} projections Projections.\n */\nexport function addProjections(projections) {\n projections.forEach(addProjection);\n}\n\n\n/**\n * Fetches a Projection object for the code specified.\n *\n * @param {ProjectionLike} projectionLike Either a code string which is\n * a combination of authority and identifier such as \"EPSG:4326\", or an\n * existing projection object, or undefined.\n * @return {Projection} Projection object, or null if not in list.\n * @api\n */\nexport function get(projectionLike) {\n return typeof projectionLike === 'string' ?\n projections.get(/** @type {string} */ (projectionLike)) :\n (/** @type {Projection} */ (projectionLike) || null);\n}\n\n\n/**\n * Get the resolution of the point in degrees or distance units.\n * For projections with degrees as the unit this will simply return the\n * provided resolution. For other projections the point resolution is\n * by default estimated by transforming the 'point' pixel to EPSG:4326,\n * measuring its width and height on the normal sphere,\n * and taking the average of the width and height.\n * A custom function can be provided for a specific projection, either\n * by setting the `getPointResolution` option in the\n * {@link module:ol/proj/Projection~Projection} constructor or by using\n * {@link module:ol/proj/Projection~Projection#setGetPointResolution} to change an existing\n * projection object.\n * @param {ProjectionLike} projection The projection.\n * @param {number} resolution Nominal resolution in projection units.\n * @param {import(\"./coordinate.js\").Coordinate} point Point to find adjusted resolution at.\n * @param {Units=} opt_units Units to get the point resolution in.\n * Default is the projection's units.\n * @return {number} Point resolution.\n * @api\n */\nexport function getPointResolution(projection, resolution, point, opt_units) {\n projection = get(projection);\n var pointResolution;\n var getter = projection.getPointResolutionFunc();\n if (getter) {\n pointResolution = getter(resolution, point);\n } else {\n var units = projection.getUnits();\n if (units == Units.DEGREES && !opt_units || opt_units == Units.DEGREES) {\n pointResolution = resolution;\n } else {\n // Estimate point resolution by transforming the center pixel to EPSG:4326,\n // measuring its width and height on the normal sphere, and taking the\n // average of the width and height.\n var toEPSG4326 = getTransformFromProjections(projection, get('EPSG:4326'));\n var vertices = [\n point[0] - resolution / 2, point[1],\n point[0] + resolution / 2, point[1],\n point[0], point[1] - resolution / 2,\n point[0], point[1] + resolution / 2\n ];\n vertices = toEPSG4326(vertices, vertices, 2);\n var width = getDistance(vertices.slice(0, 2), vertices.slice(2, 4));\n var height = getDistance(vertices.slice(4, 6), vertices.slice(6, 8));\n pointResolution = (width + height) / 2;\n var metersPerUnit = opt_units ?\n METERS_PER_UNIT[opt_units] :\n projection.getMetersPerUnit();\n if (metersPerUnit !== undefined) {\n pointResolution /= metersPerUnit;\n }\n }\n }\n return pointResolution;\n}\n\n\n/**\n * Registers transformation functions that don't alter coordinates. Those allow\n * to transform between projections with equal meaning.\n *\n * @param {Array} projections Projections.\n * @api\n */\nexport function addEquivalentProjections(projections) {\n addProjections(projections);\n projections.forEach(function(source) {\n projections.forEach(function(destination) {\n if (source !== destination) {\n addTransformFunc(source, destination, cloneTransform);\n }\n });\n });\n}\n\n\n/**\n * Registers transformation functions to convert coordinates in any projection\n * in projection1 to any projection in projection2.\n *\n * @param {Array} projections1 Projections with equal\n * meaning.\n * @param {Array} projections2 Projections with equal\n * meaning.\n * @param {TransformFunction} forwardTransform Transformation from any\n * projection in projection1 to any projection in projection2.\n * @param {TransformFunction} inverseTransform Transform from any projection\n * in projection2 to any projection in projection1..\n */\nexport function addEquivalentTransforms(projections1, projections2, forwardTransform, inverseTransform) {\n projections1.forEach(function(projection1) {\n projections2.forEach(function(projection2) {\n addTransformFunc(projection1, projection2, forwardTransform);\n addTransformFunc(projection2, projection1, inverseTransform);\n });\n });\n}\n\n\n/**\n * Clear all cached projections and transforms.\n */\nexport function clearAllProjections() {\n projections.clear();\n clearTransformFuncs();\n}\n\n\n/**\n * @param {Projection|string|undefined} projection Projection.\n * @param {string} defaultCode Default code.\n * @return {Projection} Projection.\n */\nexport function createProjection(projection, defaultCode) {\n if (!projection) {\n return get(defaultCode);\n } else if (typeof projection === 'string') {\n return get(projection);\n } else {\n return (\n /** @type {Projection} */ (projection)\n );\n }\n}\n\n\n/**\n * Creates a {@link module:ol/proj~TransformFunction} from a simple 2D coordinate transform\n * function.\n * @param {function(import(\"./coordinate.js\").Coordinate): import(\"./coordinate.js\").Coordinate} coordTransform Coordinate\n * transform.\n * @return {TransformFunction} Transform function.\n */\nexport function createTransformFromCoordinateTransform(coordTransform) {\n return (\n /**\n * @param {Array} input Input.\n * @param {Array=} opt_output Output.\n * @param {number=} opt_dimension Dimension.\n * @return {Array} Output.\n */\n function(input, opt_output, opt_dimension) {\n var length = input.length;\n var dimension = opt_dimension !== undefined ? opt_dimension : 2;\n var output = opt_output !== undefined ? opt_output : new Array(length);\n for (var i = 0; i < length; i += dimension) {\n var point = coordTransform([input[i], input[i + 1]]);\n output[i] = point[0];\n output[i + 1] = point[1];\n for (var j = dimension - 1; j >= 2; --j) {\n output[i + j] = input[i + j];\n }\n }\n return output;\n });\n}\n\n\n/**\n * Registers coordinate transform functions to convert coordinates between the\n * source projection and the destination projection.\n * The forward and inverse functions convert coordinate pairs; this function\n * converts these into the functions used internally which also handle\n * extents and coordinate arrays.\n *\n * @param {ProjectionLike} source Source projection.\n * @param {ProjectionLike} destination Destination projection.\n * @param {function(import(\"./coordinate.js\").Coordinate): import(\"./coordinate.js\").Coordinate} forward The forward transform\n * function (that is, from the source projection to the destination\n * projection) that takes a {@link module:ol/coordinate~Coordinate} as argument and returns\n * the transformed {@link module:ol/coordinate~Coordinate}.\n * @param {function(import(\"./coordinate.js\").Coordinate): import(\"./coordinate.js\").Coordinate} inverse The inverse transform\n * function (that is, from the destination projection to the source\n * projection) that takes a {@link module:ol/coordinate~Coordinate} as argument and returns\n * the transformed {@link module:ol/coordinate~Coordinate}.\n * @api\n */\nexport function addCoordinateTransforms(source, destination, forward, inverse) {\n var sourceProj = get(source);\n var destProj = get(destination);\n addTransformFunc(sourceProj, destProj, createTransformFromCoordinateTransform(forward));\n addTransformFunc(destProj, sourceProj, createTransformFromCoordinateTransform(inverse));\n}\n\n\n/**\n * Transforms a coordinate from longitude/latitude to a different projection.\n * @param {import(\"./coordinate.js\").Coordinate} coordinate Coordinate as longitude and latitude, i.e.\n * an array with longitude as 1st and latitude as 2nd element.\n * @param {ProjectionLike=} opt_projection Target projection. The\n * default is Web Mercator, i.e. 'EPSG:3857'.\n * @return {import(\"./coordinate.js\").Coordinate} Coordinate projected to the target projection.\n * @api\n */\nexport function fromLonLat(coordinate, opt_projection) {\n return transform(coordinate, 'EPSG:4326',\n opt_projection !== undefined ? opt_projection : 'EPSG:3857');\n}\n\n\n/**\n * Transforms a coordinate to longitude/latitude.\n * @param {import(\"./coordinate.js\").Coordinate} coordinate Projected coordinate.\n * @param {ProjectionLike=} opt_projection Projection of the coordinate.\n * The default is Web Mercator, i.e. 'EPSG:3857'.\n * @return {import(\"./coordinate.js\").Coordinate} Coordinate as longitude and latitude, i.e. an array\n * with longitude as 1st and latitude as 2nd element.\n * @api\n */\nexport function toLonLat(coordinate, opt_projection) {\n var lonLat = transform(coordinate,\n opt_projection !== undefined ? opt_projection : 'EPSG:3857', 'EPSG:4326');\n var lon = lonLat[0];\n if (lon < -180 || lon > 180) {\n lonLat[0] = modulo(lon + 180, 360) - 180;\n }\n return lonLat;\n}\n\n\n/**\n * Checks if two projections are the same, that is every coordinate in one\n * projection does represent the same geographic point as the same coordinate in\n * the other projection.\n *\n * @param {Projection} projection1 Projection 1.\n * @param {Projection} projection2 Projection 2.\n * @return {boolean} Equivalent.\n * @api\n */\nexport function equivalent(projection1, projection2) {\n if (projection1 === projection2) {\n return true;\n }\n var equalUnits = projection1.getUnits() === projection2.getUnits();\n if (projection1.getCode() === projection2.getCode()) {\n return equalUnits;\n } else {\n var transformFunc = getTransformFromProjections(projection1, projection2);\n return transformFunc === cloneTransform && equalUnits;\n }\n}\n\n\n/**\n * Searches in the list of transform functions for the function for converting\n * coordinates from the source projection to the destination projection.\n *\n * @param {Projection} sourceProjection Source Projection object.\n * @param {Projection} destinationProjection Destination Projection\n * object.\n * @return {TransformFunction} Transform function.\n */\nexport function getTransformFromProjections(sourceProjection, destinationProjection) {\n var sourceCode = sourceProjection.getCode();\n var destinationCode = destinationProjection.getCode();\n var transformFunc = getTransformFunc(sourceCode, destinationCode);\n if (!transformFunc) {\n transformFunc = identityTransform;\n }\n return transformFunc;\n}\n\n\n/**\n * Given the projection-like objects, searches for a transformation\n * function to convert a coordinates array from the source projection to the\n * destination projection.\n *\n * @param {ProjectionLike} source Source.\n * @param {ProjectionLike} destination Destination.\n * @return {TransformFunction} Transform function.\n * @api\n */\nexport function getTransform(source, destination) {\n var sourceProjection = get(source);\n var destinationProjection = get(destination);\n return getTransformFromProjections(sourceProjection, destinationProjection);\n}\n\n\n/**\n * Transforms a coordinate from source projection to destination projection.\n * This returns a new coordinate (and does not modify the original).\n *\n * See {@link module:ol/proj~transformExtent} for extent transformation.\n * See the transform method of {@link module:ol/geom/Geometry~Geometry} and its\n * subclasses for geometry transforms.\n *\n * @param {import(\"./coordinate.js\").Coordinate} coordinate Coordinate.\n * @param {ProjectionLike} source Source projection-like.\n * @param {ProjectionLike} destination Destination projection-like.\n * @return {import(\"./coordinate.js\").Coordinate} Coordinate.\n * @api\n */\nexport function transform(coordinate, source, destination) {\n var transformFunc = getTransform(source, destination);\n return transformFunc(coordinate, undefined, coordinate.length);\n}\n\n\n/**\n * Transforms an extent from source projection to destination projection. This\n * returns a new extent (and does not modify the original).\n *\n * @param {import(\"./extent.js\").Extent} extent The extent to transform.\n * @param {ProjectionLike} source Source projection-like.\n * @param {ProjectionLike} destination Destination projection-like.\n * @return {import(\"./extent.js\").Extent} The transformed extent.\n * @api\n */\nexport function transformExtent(extent, source, destination) {\n var transformFunc = getTransform(source, destination);\n return applyTransform(extent, transformFunc);\n}\n\n\n/**\n * Transforms the given point to the destination projection.\n *\n * @param {import(\"./coordinate.js\").Coordinate} point Point.\n * @param {Projection} sourceProjection Source projection.\n * @param {Projection} destinationProjection Destination projection.\n * @return {import(\"./coordinate.js\").Coordinate} Point.\n */\nexport function transformWithProjections(point, sourceProjection, destinationProjection) {\n var transformFunc = getTransformFromProjections(sourceProjection, destinationProjection);\n return transformFunc(point);\n}\n\n/**\n * Add transforms to and from EPSG:4326 and EPSG:3857. This function is called\n * by when this module is executed and should only need to be called again after\n * `clearAllProjections()` is called (e.g. in tests).\n */\nexport function addCommon() {\n // Add transformations that don't alter coordinates to convert within set of\n // projections with equal meaning.\n addEquivalentProjections(EPSG3857_PROJECTIONS);\n addEquivalentProjections(EPSG4326_PROJECTIONS);\n // Add transformations to convert EPSG:4326 like coordinates to EPSG:3857 like\n // coordinates and back.\n addEquivalentTransforms(EPSG4326_PROJECTIONS, EPSG3857_PROJECTIONS, fromEPSG4326, toEPSG4326);\n}\n\naddCommon();\n\n//# sourceMappingURL=proj.js.map","/**\n * @module ol/dom\n */\n\n\n/**\n * Create an html canvas element and returns its 2d context.\n * @param {number=} opt_width Canvas width.\n * @param {number=} opt_height Canvas height.\n * @return {CanvasRenderingContext2D} The context.\n */\nexport function createCanvasContext2D(opt_width, opt_height) {\n var canvas = /** @type {HTMLCanvasElement} */ (document.createElement('canvas'));\n if (opt_width) {\n canvas.width = opt_width;\n }\n if (opt_height) {\n canvas.height = opt_height;\n }\n return /** @type {CanvasRenderingContext2D} */ (canvas.getContext('2d'));\n}\n\n\n/**\n * Get the current computed width for the given element including margin,\n * padding and border.\n * Equivalent to jQuery's `$(el).outerWidth(true)`.\n * @param {!HTMLElement} element Element.\n * @return {number} The width.\n */\nexport function outerWidth(element) {\n var width = element.offsetWidth;\n var style = getComputedStyle(element);\n width += parseInt(style.marginLeft, 10) + parseInt(style.marginRight, 10);\n\n return width;\n}\n\n\n/**\n * Get the current computed height for the given element including margin,\n * padding and border.\n * Equivalent to jQuery's `$(el).outerHeight(true)`.\n * @param {!HTMLElement} element Element.\n * @return {number} The height.\n */\nexport function outerHeight(element) {\n var height = element.offsetHeight;\n var style = getComputedStyle(element);\n height += parseInt(style.marginTop, 10) + parseInt(style.marginBottom, 10);\n\n return height;\n}\n\n/**\n * @param {Node} newNode Node to replace old node\n * @param {Node} oldNode The node to be replaced\n */\nexport function replaceNode(newNode, oldNode) {\n var parent = oldNode.parentNode;\n if (parent) {\n parent.replaceChild(newNode, oldNode);\n }\n}\n\n/**\n * @param {Node} node The node to remove.\n * @returns {Node} The node that was removed or null.\n */\nexport function removeNode(node) {\n return node && node.parentNode ? node.parentNode.removeChild(node) : null;\n}\n\n/**\n * @param {Node} node The node to remove the children from.\n */\nexport function removeChildren(node) {\n while (node.lastChild) {\n node.removeChild(node.lastChild);\n }\n}\n\n//# sourceMappingURL=dom.js.map","/**\n * @module ol/functions\n */\n\n/**\n * Always returns true.\n * @returns {boolean} true.\n */\nexport function TRUE() {\n return true;\n}\n\n/**\n * Always returns false.\n * @returns {boolean} false.\n */\nexport function FALSE() {\n return false;\n}\n\n/**\n * A reusable function, used e.g. as a default for callbacks.\n *\n * @return {void} Nothing.\n */\nexport function VOID() {}\n\n//# sourceMappingURL=functions.js.map","/**\n * @module ol/Object\n */\nimport {getUid} from './util.js';\nimport ObjectEventType from './ObjectEventType.js';\nimport Observable from './Observable.js';\nimport Event from './events/Event.js';\nimport {assign} from './obj.js';\n\n\n/**\n * @classdesc\n * Events emitted by {@link module:ol/Object~BaseObject} instances are instances of this type.\n */\nexport var ObjectEvent = /*@__PURE__*/(function (Event) {\n function ObjectEvent(type, key, oldValue) {\n Event.call(this, type);\n\n /**\n * The name of the property whose value is changing.\n * @type {string}\n * @api\n */\n this.key = key;\n\n /**\n * The old value. To get the new value use `e.target.get(e.key)` where\n * `e` is the event object.\n * @type {*}\n * @api\n */\n this.oldValue = oldValue;\n\n }\n\n if ( Event ) ObjectEvent.__proto__ = Event;\n ObjectEvent.prototype = Object.create( Event && Event.prototype );\n ObjectEvent.prototype.constructor = ObjectEvent;\n\n return ObjectEvent;\n}(Event));\n\n\n/**\n * @classdesc\n * Abstract base class; normally only used for creating subclasses and not\n * instantiated in apps.\n * Most non-trivial classes inherit from this.\n *\n * This extends {@link module:ol/Observable} with observable\n * properties, where each property is observable as well as the object as a\n * whole.\n *\n * Classes that inherit from this have pre-defined properties, to which you can\n * add your owns. The pre-defined properties are listed in this documentation as\n * 'Observable Properties', and have their own accessors; for example,\n * {@link module:ol/Map~Map} has a `target` property, accessed with\n * `getTarget()` and changed with `setTarget()`. Not all properties are however\n * settable. There are also general-purpose accessors `get()` and `set()`. For\n * example, `get('target')` is equivalent to `getTarget()`.\n *\n * The `set` accessors trigger a change event, and you can monitor this by\n * registering a listener. For example, {@link module:ol/View~View} has a\n * `center` property, so `view.on('change:center', function(evt) {...});` would\n * call the function whenever the value of the center property changes. Within\n * the function, `evt.target` would be the view, so `evt.target.getCenter()`\n * would return the new center.\n *\n * You can add your own observable properties with\n * `object.set('prop', 'value')`, and retrieve that with `object.get('prop')`.\n * You can listen for changes on that property value with\n * `object.on('change:prop', listener)`. You can get a list of all\n * properties with {@link module:ol/Object~BaseObject#getProperties}.\n *\n * Note that the observable properties are separate from standard JS properties.\n * You can, for example, give your map object a title with\n * `map.title='New title'` and with `map.set('title', 'Another title')`. The\n * first will be a `hasOwnProperty`; the second will appear in\n * `getProperties()`. Only the second is observable.\n *\n * Properties can be deleted by using the unset method. E.g.\n * object.unset('foo').\n *\n * @fires ObjectEvent\n * @api\n */\nvar BaseObject = /*@__PURE__*/(function (Observable) {\n function BaseObject(opt_values) {\n Observable.call(this);\n\n // Call {@link module:ol/util~getUid} to ensure that the order of objects' ids is\n // the same as the order in which they were created. This also helps to\n // ensure that object properties are always added in the same order, which\n // helps many JavaScript engines generate faster code.\n getUid(this);\n\n /**\n * @private\n * @type {!Object}\n */\n this.values_ = {};\n\n if (opt_values !== undefined) {\n this.setProperties(opt_values);\n }\n }\n\n if ( Observable ) BaseObject.__proto__ = Observable;\n BaseObject.prototype = Object.create( Observable && Observable.prototype );\n BaseObject.prototype.constructor = BaseObject;\n\n /**\n * Gets a value.\n * @param {string} key Key name.\n * @return {*} Value.\n * @api\n */\n BaseObject.prototype.get = function get (key) {\n var value;\n if (this.values_.hasOwnProperty(key)) {\n value = this.values_[key];\n }\n return value;\n };\n\n /**\n * Get a list of object property names.\n * @return {Array} List of property names.\n * @api\n */\n BaseObject.prototype.getKeys = function getKeys () {\n return Object.keys(this.values_);\n };\n\n /**\n * Get an object of all property names and values.\n * @return {Object} Object.\n * @api\n */\n BaseObject.prototype.getProperties = function getProperties () {\n return assign({}, this.values_);\n };\n\n /**\n * @param {string} key Key name.\n * @param {*} oldValue Old value.\n */\n BaseObject.prototype.notify = function notify (key, oldValue) {\n var eventType;\n eventType = getChangeEventType(key);\n this.dispatchEvent(new ObjectEvent(eventType, key, oldValue));\n eventType = ObjectEventType.PROPERTYCHANGE;\n this.dispatchEvent(new ObjectEvent(eventType, key, oldValue));\n };\n\n /**\n * Sets a value.\n * @param {string} key Key name.\n * @param {*} value Value.\n * @param {boolean=} opt_silent Update without triggering an event.\n * @api\n */\n BaseObject.prototype.set = function set (key, value, opt_silent) {\n if (opt_silent) {\n this.values_[key] = value;\n } else {\n var oldValue = this.values_[key];\n this.values_[key] = value;\n if (oldValue !== value) {\n this.notify(key, oldValue);\n }\n }\n };\n\n /**\n * Sets a collection of key-value pairs. Note that this changes any existing\n * properties and adds new ones (it does not remove any existing properties).\n * @param {Object} values Values.\n * @param {boolean=} opt_silent Update without triggering an event.\n * @api\n */\n BaseObject.prototype.setProperties = function setProperties (values, opt_silent) {\n for (var key in values) {\n this.set(key, values[key], opt_silent);\n }\n };\n\n /**\n * Unsets a property.\n * @param {string} key Key name.\n * @param {boolean=} opt_silent Unset without triggering an event.\n * @api\n */\n BaseObject.prototype.unset = function unset (key, opt_silent) {\n if (key in this.values_) {\n var oldValue = this.values_[key];\n delete this.values_[key];\n if (!opt_silent) {\n this.notify(key, oldValue);\n }\n }\n };\n\n return BaseObject;\n}(Observable));\n\n\n/**\n * @type {Object}\n */\nvar changeEventTypeCache = {};\n\n\n/**\n * @param {string} key Key name.\n * @return {string} Change name.\n */\nexport function getChangeEventType(key) {\n return changeEventTypeCache.hasOwnProperty(key) ?\n changeEventTypeCache[key] :\n (changeEventTypeCache[key] = 'change:' + key);\n}\n\n\nexport default BaseObject;\n\n//# sourceMappingURL=Object.js.map","/**\n * @module ol/has\n */\n\nvar ua = typeof navigator !== 'undefined' ?\n navigator.userAgent.toLowerCase() : '';\n\n/**\n * User agent string says we are dealing with Firefox as browser.\n * @type {boolean}\n */\nexport var FIREFOX = ua.indexOf('firefox') !== -1;\n\n/**\n * User agent string says we are dealing with Safari as browser.\n * @type {boolean}\n */\nexport var SAFARI = ua.indexOf('safari') !== -1 && ua.indexOf('chrom') == -1;\n\n/**\n * User agent string says we are dealing with a WebKit engine.\n * @type {boolean}\n */\nexport var WEBKIT = ua.indexOf('webkit') !== -1 && ua.indexOf('edge') == -1;\n\n/**\n * User agent string says we are dealing with a Mac as platform.\n * @type {boolean}\n */\nexport var MAC = ua.indexOf('macintosh') !== -1;\n\n\n/**\n * The ratio between physical pixels and device-independent pixels\n * (dips) on the device (`window.devicePixelRatio`).\n * @const\n * @type {number}\n * @api\n */\nexport var DEVICE_PIXEL_RATIO = window.devicePixelRatio || 1;\n\n\n/**\n * True if the browser's Canvas implementation implements {get,set}LineDash.\n * @type {boolean}\n */\nexport var CANVAS_LINE_DASH = function() {\n var has = false;\n try {\n has = !!document.createElement('canvas').getContext('2d').setLineDash;\n } catch (e) {\n // pass\n }\n return has;\n}();\n\n\n/**\n * Is HTML5 geolocation supported in the current browser?\n * @const\n * @type {boolean}\n * @api\n */\nexport var GEOLOCATION = 'geolocation' in navigator;\n\n\n/**\n * True if browser supports touch events.\n * @const\n * @type {boolean}\n * @api\n */\nexport var TOUCH = 'ontouchstart' in window;\n\n\n/**\n * True if browser supports pointer events.\n * @const\n * @type {boolean}\n */\nexport var POINTER = 'PointerEvent' in window;\n\n\n/**\n * True if browser supports ms pointer events (IE 10).\n * @const\n * @type {boolean}\n */\nexport var MSPOINTER = !!(navigator.msPointerEnabled);\n\n\nexport {HAS as WEBGL} from './webgl.js';\n\n//# sourceMappingURL=has.js.map","/**\n * @module ol/geom/GeometryLayout\n */\n\n/**\n * The coordinate layout for geometries, indicating whether a 3rd or 4th z ('Z')\n * or measure ('M') coordinate is available. Supported values are `'XY'`,\n * `'XYZ'`, `'XYM'`, `'XYZM'`.\n * @enum {string}\n */\nexport default {\n XY: 'XY',\n XYZ: 'XYZ',\n XYM: 'XYM',\n XYZM: 'XYZM'\n};\n\n//# sourceMappingURL=GeometryLayout.js.map","/**\n * @module ol/layer/Property\n */\n\n/**\n * @enum {string}\n */\nexport default {\n OPACITY: 'opacity',\n VISIBLE: 'visible',\n EXTENT: 'extent',\n Z_INDEX: 'zIndex',\n MAX_RESOLUTION: 'maxResolution',\n MIN_RESOLUTION: 'minResolution',\n SOURCE: 'source'\n};\n\n//# sourceMappingURL=Property.js.map","/**\n * @module ol/ImageState\n */\n\n/**\n * @enum {number}\n */\nexport default {\n IDLE: 0,\n LOADING: 1,\n LOADED: 2,\n ERROR: 3\n};\n\n//# sourceMappingURL=ImageState.js.map","/**\n * @module ol/easing\n */\n\n\n/**\n * Start slow and speed up.\n * @param {number} t Input between 0 and 1.\n * @return {number} Output between 0 and 1.\n * @api\n */\nexport function easeIn(t) {\n return Math.pow(t, 3);\n}\n\n\n/**\n * Start fast and slow down.\n * @param {number} t Input between 0 and 1.\n * @return {number} Output between 0 and 1.\n * @api\n */\nexport function easeOut(t) {\n return 1 - easeIn(1 - t);\n}\n\n\n/**\n * Start slow, speed up, and then slow down again.\n * @param {number} t Input between 0 and 1.\n * @return {number} Output between 0 and 1.\n * @api\n */\nexport function inAndOut(t) {\n return 3 * t * t - 2 * t * t * t;\n}\n\n\n/**\n * Maintain a constant speed over time.\n * @param {number} t Input between 0 and 1.\n * @return {number} Output between 0 and 1.\n * @api\n */\nexport function linear(t) {\n return t;\n}\n\n\n/**\n * Start slow, speed up, and at the very end slow down again. This has the\n * same general behavior as {@link module:ol/easing~inAndOut}, but the final\n * slowdown is delayed.\n * @param {number} t Input between 0 and 1.\n * @return {number} Output between 0 and 1.\n * @api\n */\nexport function upAndDown(t) {\n if (t < 0.5) {\n return inAndOut(2 * t);\n } else {\n return 1 - inAndOut(2 * (t - 0.5));\n }\n}\n\n//# sourceMappingURL=easing.js.map","/**\n * @module ol/extent/Relationship\n */\n\n/**\n * Relationship to an extent.\n * @enum {number}\n */\nexport default {\n UNKNOWN: 0,\n INTERSECTING: 1,\n ABOVE: 2,\n RIGHT: 4,\n BELOW: 8,\n LEFT: 16\n};\n\n//# sourceMappingURL=Relationship.js.map","/**\n * @module ol/proj/Units\n */\n\n/**\n * Projection units: `'degrees'`, `'ft'`, `'m'`, `'pixels'`, `'tile-pixels'` or\n * `'us-ft'`.\n * @enum {string}\n */\nvar Units = {\n DEGREES: 'degrees',\n FEET: 'ft',\n METERS: 'm',\n PIXELS: 'pixels',\n TILE_PIXELS: 'tile-pixels',\n USFEET: 'us-ft'\n};\n\n\n/**\n * Meters per unit lookup table.\n * @const\n * @type {Object}\n * @api\n */\nexport var METERS_PER_UNIT = {};\n// use the radius of the Normal sphere\nMETERS_PER_UNIT[Units.DEGREES] = 2 * Math.PI * 6370997 / 360;\nMETERS_PER_UNIT[Units.FEET] = 0.3048;\nMETERS_PER_UNIT[Units.METERS] = 1;\nMETERS_PER_UNIT[Units.USFEET] = 1200 / 3937;\n\nexport default Units;\n\n//# sourceMappingURL=Units.js.map","/**\n * @module ol/css\n */\n\n\n/**\n * The CSS class for hidden feature.\n *\n * @const\n * @type {string}\n */\nexport var CLASS_HIDDEN = 'ol-hidden';\n\n\n/**\n * The CSS class that we'll give the DOM elements to have them selectable.\n *\n * @const\n * @type {string}\n */\nexport var CLASS_SELECTABLE = 'ol-selectable';\n\n\n/**\n * The CSS class that we'll give the DOM elements to have them unselectable.\n *\n * @const\n * @type {string}\n */\nexport var CLASS_UNSELECTABLE = 'ol-unselectable';\n\n\n/**\n * The CSS class for unsupported feature.\n *\n * @const\n * @type {string}\n */\nexport var CLASS_UNSUPPORTED = 'ol-unsupported';\n\n\n/**\n * The CSS class for controls.\n *\n * @const\n * @type {string}\n */\nexport var CLASS_CONTROL = 'ol-control';\n\n\n/**\n * The CSS class that we'll give the DOM elements that are collapsed, i.e.\n * to those elements which usually can be expanded.\n *\n * @const\n * @type {string}\n */\nexport var CLASS_COLLAPSED = 'ol-collapsed';\n\n\n/**\n * Get the list of font families from a font spec. Note that this doesn't work\n * for font families that have commas in them.\n * @param {string} The CSS font property.\n * @return {Object} The font families (or null if the input spec is invalid).\n */\nexport var getFontFamilies = (function() {\n var style;\n var cache = {};\n return function(font) {\n if (!style) {\n style = document.createElement('div').style;\n }\n if (!(font in cache)) {\n style.font = font;\n var family = style.fontFamily;\n style.font = '';\n if (!family) {\n return null;\n }\n cache[font] = family.split(/,\\s?/);\n }\n return cache[font];\n };\n})();\n\n//# sourceMappingURL=css.js.map","/**\n * @module ol/events/Event\n */\n\n/**\n * @classdesc\n * Stripped down implementation of the W3C DOM Level 2 Event interface.\n * See https://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-interface.\n *\n * This implementation only provides `type` and `target` properties, and\n * `stopPropagation` and `preventDefault` methods. It is meant as base class\n * for higher level events defined in the library, and works with\n * {@link module:ol/events/Target~Target}.\n */\nvar Event = function Event(type) {\n\n /**\n * @type {boolean}\n */\n this.propagationStopped;\n\n /**\n * The event type.\n * @type {string}\n * @api\n */\n this.type = type;\n\n /**\n * The event target.\n * @type {Object}\n * @api\n */\n this.target = null;\n};\n\n/**\n * Stop event propagation.\n * @api\n */\nEvent.prototype.preventDefault = function preventDefault () {\n this.propagationStopped = true;\n};\n\n/**\n * Stop event propagation.\n * @api\n */\nEvent.prototype.stopPropagation = function stopPropagation () {\n this.propagationStopped = true;\n};\n\n\n/**\n * @param {Event|import(\"./Event.js\").default} evt Event\n */\nexport function stopPropagation(evt) {\n evt.stopPropagation();\n}\n\n\n/**\n * @param {Event|import(\"./Event.js\").default} evt Event\n */\nexport function preventDefault(evt) {\n evt.preventDefault();\n}\n\nexport default Event;\n\n//# sourceMappingURL=Event.js.map","/**\n * @module ol/tilecoord\n */\n\n\n/**\n * An array of three numbers representing the location of a tile in a tile\n * grid. The order is `z`, `x`, and `y`. `z` is the zoom level.\n * @typedef {Array} TileCoord\n * @api\n */\n\n\n/**\n * @param {number} z Z.\n * @param {number} x X.\n * @param {number} y Y.\n * @param {TileCoord=} opt_tileCoord Tile coordinate.\n * @return {TileCoord} Tile coordinate.\n */\nexport function createOrUpdate(z, x, y, opt_tileCoord) {\n if (opt_tileCoord !== undefined) {\n opt_tileCoord[0] = z;\n opt_tileCoord[1] = x;\n opt_tileCoord[2] = y;\n return opt_tileCoord;\n } else {\n return [z, x, y];\n }\n}\n\n\n/**\n * @param {number} z Z.\n * @param {number} x X.\n * @param {number} y Y.\n * @return {string} Key.\n */\nexport function getKeyZXY(z, x, y) {\n return z + '/' + x + '/' + y;\n}\n\n\n/**\n * Get the key for a tile coord.\n * @param {TileCoord} tileCoord The tile coord.\n * @return {string} Key.\n */\nexport function getKey(tileCoord) {\n return getKeyZXY(tileCoord[0], tileCoord[1], tileCoord[2]);\n}\n\n\n/**\n * Get a tile coord given a key.\n * @param {string} key The tile coord key.\n * @return {TileCoord} The tile coord.\n */\nexport function fromKey(key) {\n return key.split('/').map(Number);\n}\n\n\n/**\n * @param {TileCoord} tileCoord Tile coord.\n * @return {number} Hash.\n */\nexport function hash(tileCoord) {\n return (tileCoord[1] << tileCoord[0]) + tileCoord[2];\n}\n\n\n/**\n * @param {TileCoord} tileCoord Tile coord.\n * @return {string} Quad key.\n */\nexport function quadKey(tileCoord) {\n var z = tileCoord[0];\n var digits = new Array(z);\n var mask = 1 << (z - 1);\n var i, charCode;\n for (i = 0; i < z; ++i) {\n // 48 is charCode for 0 - '0'.charCodeAt(0)\n charCode = 48;\n if (tileCoord[1] & mask) {\n charCode += 1;\n }\n if (tileCoord[2] & mask) {\n charCode += 2;\n }\n digits[i] = String.fromCharCode(charCode);\n mask >>= 1;\n }\n return digits.join('');\n}\n\n\n/**\n * @param {TileCoord} tileCoord Tile coordinate.\n * @param {!import(\"./tilegrid/TileGrid.js\").default} tileGrid Tile grid.\n * @return {boolean} Tile coordinate is within extent and zoom level range.\n */\nexport function withinExtentAndZ(tileCoord, tileGrid) {\n var z = tileCoord[0];\n var x = tileCoord[1];\n var y = tileCoord[2];\n\n if (tileGrid.getMinZoom() > z || z > tileGrid.getMaxZoom()) {\n return false;\n }\n var extent = tileGrid.getExtent();\n var tileRange;\n if (!extent) {\n tileRange = tileGrid.getFullTileRange(z);\n } else {\n tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z);\n }\n if (!tileRange) {\n return true;\n } else {\n return tileRange.containsXY(x, y);\n }\n}\n\n//# sourceMappingURL=tilecoord.js.map","/**\n * @module ol/LayerType\n */\n\n/**\n * A layer type used when creating layer renderers.\n * @enum {string}\n */\nexport default {\n IMAGE: 'IMAGE',\n TILE: 'TILE',\n VECTOR_TILE: 'VECTOR_TILE',\n VECTOR: 'VECTOR'\n};\n\n//# sourceMappingURL=LayerType.js.map","/**\n * @module ol/size\n */\n\n\n/**\n * An array of numbers representing a size: `[width, height]`.\n * @typedef {Array} Size\n * @api\n */\n\n\n/**\n * Returns a buffered size.\n * @param {Size} size Size.\n * @param {number} num The amount by which to buffer.\n * @param {Size=} opt_size Optional reusable size array.\n * @return {Size} The buffered size.\n */\nexport function buffer(size, num, opt_size) {\n if (opt_size === undefined) {\n opt_size = [0, 0];\n }\n opt_size[0] = size[0] + 2 * num;\n opt_size[1] = size[1] + 2 * num;\n return opt_size;\n}\n\n\n/**\n * Determines if a size has a positive area.\n * @param {Size} size The size to test.\n * @return {boolean} The size has a positive area.\n */\nexport function hasArea(size) {\n return size[0] > 0 && size[1] > 0;\n}\n\n\n/**\n * Returns a size scaled by a ratio. The result will be an array of integers.\n * @param {Size} size Size.\n * @param {number} ratio Ratio.\n * @param {Size=} opt_size Optional reusable size array.\n * @return {Size} The scaled size.\n */\nexport function scale(size, ratio, opt_size) {\n if (opt_size === undefined) {\n opt_size = [0, 0];\n }\n opt_size[0] = (size[0] * ratio + 0.5) | 0;\n opt_size[1] = (size[1] * ratio + 0.5) | 0;\n return opt_size;\n}\n\n\n/**\n * Returns an `Size` array for the passed in number (meaning: square) or\n * `Size` array.\n * (meaning: non-square),\n * @param {number|Size} size Width and height.\n * @param {Size=} opt_size Optional reusable size array.\n * @return {Size} Size.\n * @api\n */\nexport function toSize(size, opt_size) {\n if (Array.isArray(size)) {\n return size;\n } else {\n if (opt_size === undefined) {\n opt_size = [size, size];\n } else {\n opt_size[0] = opt_size[1] = /** @type {number} */ (size);\n }\n return opt_size;\n }\n}\n\n//# sourceMappingURL=size.js.map","/**\n * @module ol/geom/flat/transform\n */\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {import(\"../../transform.js\").Transform} transform Transform.\n * @param {Array=} opt_dest Destination.\n * @return {Array} Transformed coordinates.\n */\nexport function transform2D(flatCoordinates, offset, end, stride, transform, opt_dest) {\n var dest = opt_dest ? opt_dest : [];\n var i = 0;\n for (var j = offset; j < end; j += stride) {\n var x = flatCoordinates[j];\n var y = flatCoordinates[j + 1];\n dest[i++] = transform[0] * x + transform[2] * y + transform[4];\n dest[i++] = transform[1] * x + transform[3] * y + transform[5];\n }\n if (opt_dest && dest.length != i) {\n dest.length = i;\n }\n return dest;\n}\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} angle Angle.\n * @param {Array} anchor Rotation anchor point.\n * @param {Array=} opt_dest Destination.\n * @return {Array} Transformed coordinates.\n */\nexport function rotate(flatCoordinates, offset, end, stride, angle, anchor, opt_dest) {\n var dest = opt_dest ? opt_dest : [];\n var cos = Math.cos(angle);\n var sin = Math.sin(angle);\n var anchorX = anchor[0];\n var anchorY = anchor[1];\n var i = 0;\n for (var j = offset; j < end; j += stride) {\n var deltaX = flatCoordinates[j] - anchorX;\n var deltaY = flatCoordinates[j + 1] - anchorY;\n dest[i++] = anchorX + deltaX * cos - deltaY * sin;\n dest[i++] = anchorY + deltaX * sin + deltaY * cos;\n for (var k = j + 2; k < j + stride; ++k) {\n dest[i++] = flatCoordinates[k];\n }\n }\n if (opt_dest && dest.length != i) {\n dest.length = i;\n }\n return dest;\n}\n\n\n/**\n * Scale the coordinates.\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} sx Scale factor in the x-direction.\n * @param {number} sy Scale factor in the y-direction.\n * @param {Array} anchor Scale anchor point.\n * @param {Array=} opt_dest Destination.\n * @return {Array} Transformed coordinates.\n */\nexport function scale(flatCoordinates, offset, end, stride, sx, sy, anchor, opt_dest) {\n var dest = opt_dest ? opt_dest : [];\n var anchorX = anchor[0];\n var anchorY = anchor[1];\n var i = 0;\n for (var j = offset; j < end; j += stride) {\n var deltaX = flatCoordinates[j] - anchorX;\n var deltaY = flatCoordinates[j + 1] - anchorY;\n dest[i++] = anchorX + sx * deltaX;\n dest[i++] = anchorY + sy * deltaY;\n for (var k = j + 2; k < j + stride; ++k) {\n dest[i++] = flatCoordinates[k];\n }\n }\n if (opt_dest && dest.length != i) {\n dest.length = i;\n }\n return dest;\n}\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} deltaX Delta X.\n * @param {number} deltaY Delta Y.\n * @param {Array=} opt_dest Destination.\n * @return {Array} Transformed coordinates.\n */\nexport function translate(flatCoordinates, offset, end, stride, deltaX, deltaY, opt_dest) {\n var dest = opt_dest ? opt_dest : [];\n var i = 0;\n for (var j = offset; j < end; j += stride) {\n dest[i++] = flatCoordinates[j] + deltaX;\n dest[i++] = flatCoordinates[j + 1] + deltaY;\n for (var k = j + 2; k < j + stride; ++k) {\n dest[i++] = flatCoordinates[k];\n }\n }\n if (opt_dest && dest.length != i) {\n dest.length = i;\n }\n return dest;\n}\n\n//# sourceMappingURL=transform.js.map","/**\n * @module ol/render/EventType\n */\n\n/**\n * @enum {string}\n */\nexport default {\n /**\n * @event module:ol/render/Event~RenderEvent#postcompose\n * @api\n */\n POSTCOMPOSE: 'postcompose',\n /**\n * @event module:ol/render/Event~RenderEvent#precompose\n * @api\n */\n PRECOMPOSE: 'precompose',\n /**\n * @event module:ol/render/Event~RenderEvent#render\n * @api\n */\n RENDER: 'render',\n /**\n * Triggered when rendering is complete, i.e. all sources and tiles have\n * finished loading for the current viewport, and all tiles are faded in.\n * @event module:ol/render/Event~RenderEvent#rendercomplete\n * @api\n */\n RENDERCOMPLETE: 'rendercomplete'\n};\n\n//# sourceMappingURL=EventType.js.map","/**\n * @module ol/colorlike\n */\nimport {toString} from './color.js';\n\n\n/**\n * A type accepted by CanvasRenderingContext2D.fillStyle\n * or CanvasRenderingContext2D.strokeStyle.\n * Represents a color, pattern, or gradient. The origin for patterns and\n * gradients as fill style is an increment of 512 css pixels from map coordinate\n * `[0, 0]`. For seamless repeat patterns, width and height of the pattern image\n * must be a factor of two (2, 4, 8, ..., 512).\n *\n * @typedef {string|CanvasPattern|CanvasGradient} ColorLike\n * @api\n */\n\n\n/**\n * @param {import(\"./color.js\").Color|ColorLike} color Color.\n * @return {ColorLike} The color as an {@link ol/colorlike~ColorLike}.\n * @api\n */\nexport function asColorLike(color) {\n if (Array.isArray(color)) {\n return toString(color);\n } else {\n return color;\n }\n}\n\n//# sourceMappingURL=colorlike.js.map","/**\n * @module ol/reproj/common\n */\n\n/**\n * Default maximum allowed threshold (in pixels) for reprojection\n * triangulation.\n * @type {number}\n */\nexport var ERROR_THRESHOLD = 0.5;\n\n/**\n * Enable automatic reprojection of raster sources. Default is `true`.\n * TODO: decide if we want to expose this as a build flag or remove it\n * @type {boolean}\n */\nexport var ENABLE_RASTER_REPROJECTION = true;\n\n//# sourceMappingURL=common.js.map","/**\n * @module ol/events/Target\n */\nimport Disposable from '../Disposable.js';\nimport {unlistenAll} from '../events.js';\nimport {VOID} from '../functions.js';\nimport Event from './Event.js';\n\n\n/**\n * @typedef {EventTarget|Target} EventTargetLike\n */\n\n\n/**\n * @classdesc\n * A simplified implementation of the W3C DOM Level 2 EventTarget interface.\n * See https://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-EventTarget.\n *\n * There are two important simplifications compared to the specification:\n *\n * 1. The handling of `useCapture` in `addEventListener` and\n * `removeEventListener`. There is no real capture model.\n * 2. The handling of `stopPropagation` and `preventDefault` on `dispatchEvent`.\n * There is no event target hierarchy. When a listener calls\n * `stopPropagation` or `preventDefault` on an event object, it means that no\n * more listeners after this one will be called. Same as when the listener\n * returns false.\n */\nvar Target = /*@__PURE__*/(function (Disposable) {\n function Target() {\n\n Disposable.call(this);\n\n /**\n * @private\n * @type {!Object}\n */\n this.pendingRemovals_ = {};\n\n /**\n * @private\n * @type {!Object}\n */\n this.dispatching_ = {};\n\n /**\n * @private\n * @type {!Object>}\n */\n this.listeners_ = {};\n\n }\n\n if ( Disposable ) Target.__proto__ = Disposable;\n Target.prototype = Object.create( Disposable && Disposable.prototype );\n Target.prototype.constructor = Target;\n\n /**\n * @param {string} type Type.\n * @param {import(\"../events.js\").ListenerFunction} listener Listener.\n */\n Target.prototype.addEventListener = function addEventListener (type, listener) {\n var listeners = this.listeners_[type];\n if (!listeners) {\n listeners = this.listeners_[type] = [];\n }\n if (listeners.indexOf(listener) === -1) {\n listeners.push(listener);\n }\n };\n\n /**\n * Dispatches an event and calls all listeners listening for events\n * of this type. The event parameter can either be a string or an\n * Object with a `type` property.\n *\n * @param {{type: string,\n * target: (EventTargetLike|undefined),\n * propagationStopped: (boolean|undefined)}|\n * import(\"./Event.js\").default|string} event Event object.\n * @return {boolean|undefined} `false` if anyone called preventDefault on the\n * event object or if any of the listeners returned false.\n * @api\n */\n Target.prototype.dispatchEvent = function dispatchEvent (event) {\n var evt = typeof event === 'string' ? new Event(event) : event;\n var type = evt.type;\n evt.target = this;\n var listeners = this.listeners_[type];\n var propagate;\n if (listeners) {\n if (!(type in this.dispatching_)) {\n this.dispatching_[type] = 0;\n this.pendingRemovals_[type] = 0;\n }\n ++this.dispatching_[type];\n for (var i = 0, ii = listeners.length; i < ii; ++i) {\n if (listeners[i].call(this, evt) === false || evt.propagationStopped) {\n propagate = false;\n break;\n }\n }\n --this.dispatching_[type];\n if (this.dispatching_[type] === 0) {\n var pendingRemovals = this.pendingRemovals_[type];\n delete this.pendingRemovals_[type];\n while (pendingRemovals--) {\n this.removeEventListener(type, VOID);\n }\n delete this.dispatching_[type];\n }\n return propagate;\n }\n };\n\n /**\n * @inheritDoc\n */\n Target.prototype.disposeInternal = function disposeInternal () {\n unlistenAll(this);\n };\n\n /**\n * Get the listeners for a specified event type. Listeners are returned in the\n * order that they will be called in.\n *\n * @param {string} type Type.\n * @return {Array} Listeners.\n */\n Target.prototype.getListeners = function getListeners (type) {\n return this.listeners_[type];\n };\n\n /**\n * @param {string=} opt_type Type. If not provided,\n * `true` will be returned if this event target has any listeners.\n * @return {boolean} Has listeners.\n */\n Target.prototype.hasListener = function hasListener (opt_type) {\n return opt_type ?\n opt_type in this.listeners_ :\n Object.keys(this.listeners_).length > 0;\n };\n\n /**\n * @param {string} type Type.\n * @param {import(\"../events.js\").ListenerFunction} listener Listener.\n */\n Target.prototype.removeEventListener = function removeEventListener (type, listener) {\n var listeners = this.listeners_[type];\n if (listeners) {\n var index = listeners.indexOf(listener);\n if (type in this.pendingRemovals_) {\n // make listener a no-op, and remove later in #dispatchEvent()\n listeners[index] = VOID;\n ++this.pendingRemovals_[type];\n } else {\n listeners.splice(index, 1);\n if (listeners.length === 0) {\n delete this.listeners_[type];\n }\n }\n }\n };\n\n return Target;\n}(Disposable));\n\n\nexport default Target;\n\n//# sourceMappingURL=Target.js.map","/**\n * @module ol/color\n */\nimport {assert} from './asserts.js';\nimport {clamp} from './math.js';\n\n\n/**\n * A color represented as a short array [red, green, blue, alpha].\n * red, green, and blue should be integers in the range 0..255 inclusive.\n * alpha should be a float in the range 0..1 inclusive. If no alpha value is\n * given then `1` will be used.\n * @typedef {Array} Color\n * @api\n */\n\n\n/**\n * This RegExp matches # followed by 3, 4, 6, or 8 hex digits.\n * @const\n * @type {RegExp}\n * @private\n */\nvar HEX_COLOR_RE_ = /^#([a-f0-9]{3}|[a-f0-9]{4}(?:[a-f0-9]{2}){0,2})$/i;\n\n\n/**\n * Regular expression for matching potential named color style strings.\n * @const\n * @type {RegExp}\n * @private\n */\nvar NAMED_COLOR_RE_ = /^([a-z]*)$/i;\n\n\n/**\n * Return the color as an rgba string.\n * @param {Color|string} color Color.\n * @return {string} Rgba string.\n * @api\n */\nexport function asString(color) {\n if (typeof color === 'string') {\n return color;\n } else {\n return toString(color);\n }\n}\n\n/**\n * Return named color as an rgba string.\n * @param {string} color Named color.\n * @return {string} Rgb string.\n */\nfunction fromNamed(color) {\n var el = document.createElement('div');\n el.style.color = color;\n if (el.style.color !== '') {\n document.body.appendChild(el);\n var rgb = getComputedStyle(el).color;\n document.body.removeChild(el);\n return rgb;\n } else {\n return '';\n }\n}\n\n\n/**\n * @param {string} s String.\n * @return {Color} Color.\n */\nexport var fromString = (\n function() {\n\n // We maintain a small cache of parsed strings. To provide cheap LRU-like\n // semantics, whenever the cache grows too large we simply delete an\n // arbitrary 25% of the entries.\n\n /**\n * @const\n * @type {number}\n */\n var MAX_CACHE_SIZE = 1024;\n\n /**\n * @type {Object}\n */\n var cache = {};\n\n /**\n * @type {number}\n */\n var cacheSize = 0;\n\n return (\n /**\n * @param {string} s String.\n * @return {Color} Color.\n */\n function(s) {\n var color;\n if (cache.hasOwnProperty(s)) {\n color = cache[s];\n } else {\n if (cacheSize >= MAX_CACHE_SIZE) {\n var i = 0;\n for (var key in cache) {\n if ((i++ & 3) === 0) {\n delete cache[key];\n --cacheSize;\n }\n }\n }\n color = fromStringInternal_(s);\n cache[s] = color;\n ++cacheSize;\n }\n return color;\n }\n );\n\n })();\n\n/**\n * Return the color as an array. This function maintains a cache of calculated\n * arrays which means the result should not be modified.\n * @param {Color|string} color Color.\n * @return {Color} Color.\n * @api\n */\nexport function asArray(color) {\n if (Array.isArray(color)) {\n return color;\n } else {\n return fromString(color);\n }\n}\n\n/**\n * @param {string} s String.\n * @private\n * @return {Color} Color.\n */\nfunction fromStringInternal_(s) {\n var r, g, b, a, color;\n\n if (NAMED_COLOR_RE_.exec(s)) {\n s = fromNamed(s);\n }\n\n if (HEX_COLOR_RE_.exec(s)) { // hex\n var n = s.length - 1; // number of hex digits\n var d; // number of digits per channel\n if (n <= 4) {\n d = 1;\n } else {\n d = 2;\n }\n var hasAlpha = n === 4 || n === 8;\n r = parseInt(s.substr(1 + 0 * d, d), 16);\n g = parseInt(s.substr(1 + 1 * d, d), 16);\n b = parseInt(s.substr(1 + 2 * d, d), 16);\n if (hasAlpha) {\n a = parseInt(s.substr(1 + 3 * d, d), 16);\n } else {\n a = 255;\n }\n if (d == 1) {\n r = (r << 4) + r;\n g = (g << 4) + g;\n b = (b << 4) + b;\n if (hasAlpha) {\n a = (a << 4) + a;\n }\n }\n color = [r, g, b, a / 255];\n } else if (s.indexOf('rgba(') == 0) { // rgba()\n color = s.slice(5, -1).split(',').map(Number);\n normalize(color);\n } else if (s.indexOf('rgb(') == 0) { // rgb()\n color = s.slice(4, -1).split(',').map(Number);\n color.push(1);\n normalize(color);\n } else {\n assert(false, 14); // Invalid color\n }\n return color;\n}\n\n\n/**\n * TODO this function is only used in the test, we probably shouldn't export it\n * @param {Color} color Color.\n * @return {Color} Clamped color.\n */\nexport function normalize(color) {\n color[0] = clamp((color[0] + 0.5) | 0, 0, 255);\n color[1] = clamp((color[1] + 0.5) | 0, 0, 255);\n color[2] = clamp((color[2] + 0.5) | 0, 0, 255);\n color[3] = clamp(color[3], 0, 1);\n return color;\n}\n\n\n/**\n * @param {Color} color Color.\n * @return {string} String.\n */\nexport function toString(color) {\n var r = color[0];\n if (r != (r | 0)) {\n r = (r + 0.5) | 0;\n }\n var g = color[1];\n if (g != (g | 0)) {\n g = (g + 0.5) | 0;\n }\n var b = color[2];\n if (b != (b | 0)) {\n b = (b + 0.5) | 0;\n }\n var a = color[3] === undefined ? 1 : color[3];\n return 'rgba(' + r + ',' + g + ',' + b + ',' + a + ')';\n}\n\n//# sourceMappingURL=color.js.map","/**\n * @module ol/tilegrid/TileGrid\n */\nimport {DEFAULT_TILE_SIZE} from './common.js';\nimport {assert} from '../asserts.js';\nimport TileRange, {createOrUpdate as createOrUpdateTileRange} from '../TileRange.js';\nimport {isSorted, linearFindNearest} from '../array.js';\nimport {createOrUpdate, getTopLeft} from '../extent.js';\nimport {clamp} from '../math.js';\nimport {toSize} from '../size.js';\nimport {createOrUpdate as createOrUpdateTileCoord} from '../tilecoord.js';\n\n\n/**\n * @private\n * @type {import(\"../tilecoord.js\").TileCoord}\n */\nvar tmpTileCoord = [0, 0, 0];\n\n\n/**\n * @typedef {Object} Options\n * @property {import(\"../extent.js\").Extent} [extent] Extent for the tile grid. No tiles outside this\n * extent will be requested by {@link module:ol/source/Tile} sources. When no `origin` or\n * `origins` are configured, the `origin` will be set to the top-left corner of the extent.\n * @property {number} [minZoom=0] Minimum zoom.\n * @property {import(\"../coordinate.js\").Coordinate} [origin] The tile grid origin, i.e. where the `x`\n * and `y` axes meet (`[z, 0, 0]`). Tile coordinates increase left to right and upwards. If not\n * specified, `extent` or `origins` must be provided.\n * @property {Array} [origins] Tile grid origins, i.e. where\n * the `x` and `y` axes meet (`[z, 0, 0]`), for each zoom level. If given, the array length\n * should match the length of the `resolutions` array, i.e. each resolution can have a different\n * origin. Tile coordinates increase left to right and upwards. If not specified, `extent` or\n * `origin` must be provided.\n * @property {!Array} resolutions Resolutions. The array index of each resolution needs\n * to match the zoom level. This means that even if a `minZoom` is configured, the resolutions\n * array will have a length of `maxZoom + 1`.\n * @property {Array} [sizes] Sizes.\n * @property {number|import(\"../size.js\").Size} [tileSize] Tile size.\n * Default is `[256, 256]`.\n * @property {Array} [tileSizes] Tile sizes. If given, the array length\n * should match the length of the `resolutions` array, i.e. each resolution can have a different\n * tile size.\n */\n\n\n/**\n * @classdesc\n * Base class for setting the grid pattern for sources accessing tiled-image\n * servers.\n * @api\n */\nvar TileGrid = function TileGrid(options) {\n\n /**\n * @protected\n * @type {number}\n */\n this.minZoom = options.minZoom !== undefined ? options.minZoom : 0;\n\n /**\n * @private\n * @type {!Array}\n */\n this.resolutions_ = options.resolutions;\n assert(isSorted(this.resolutions_, function(a, b) {\n return b - a;\n }, true), 17); // `resolutions` must be sorted in descending order\n\n\n // check if we've got a consistent zoom factor and origin\n var zoomFactor;\n if (!options.origins) {\n for (var i = 0, ii = this.resolutions_.length - 1; i < ii; ++i) {\n if (!zoomFactor) {\n zoomFactor = this.resolutions_[i] / this.resolutions_[i + 1];\n } else {\n if (this.resolutions_[i] / this.resolutions_[i + 1] !== zoomFactor) {\n zoomFactor = undefined;\n break;\n }\n }\n }\n }\n\n\n /**\n * @private\n * @type {number|undefined}\n */\n this.zoomFactor_ = zoomFactor;\n\n\n /**\n * @protected\n * @type {number}\n */\n this.maxZoom = this.resolutions_.length - 1;\n\n /**\n * @private\n * @type {import(\"../coordinate.js\").Coordinate}\n */\n this.origin_ = options.origin !== undefined ? options.origin : null;\n\n /**\n * @private\n * @type {Array}\n */\n this.origins_ = null;\n if (options.origins !== undefined) {\n this.origins_ = options.origins;\n assert(this.origins_.length == this.resolutions_.length,\n 20); // Number of `origins` and `resolutions` must be equal\n }\n\n var extent = options.extent;\n\n if (extent !== undefined &&\n !this.origin_ && !this.origins_) {\n this.origin_ = getTopLeft(extent);\n }\n\n assert(\n (!this.origin_ && this.origins_) || (this.origin_ && !this.origins_),\n 18); // Either `origin` or `origins` must be configured, never both\n\n /**\n * @private\n * @type {Array}\n */\n this.tileSizes_ = null;\n if (options.tileSizes !== undefined) {\n this.tileSizes_ = options.tileSizes;\n assert(this.tileSizes_.length == this.resolutions_.length,\n 19); // Number of `tileSizes` and `resolutions` must be equal\n }\n\n /**\n * @private\n * @type {number|import(\"../size.js\").Size}\n */\n this.tileSize_ = options.tileSize !== undefined ?\n options.tileSize :\n !this.tileSizes_ ? DEFAULT_TILE_SIZE : null;\n assert(\n (!this.tileSize_ && this.tileSizes_) ||\n (this.tileSize_ && !this.tileSizes_),\n 22); // Either `tileSize` or `tileSizes` must be configured, never both\n\n /**\n * @private\n * @type {import(\"../extent.js\").Extent}\n */\n this.extent_ = extent !== undefined ? extent : null;\n\n\n /**\n * @private\n * @type {Array}\n */\n this.fullTileRanges_ = null;\n\n /**\n * @private\n * @type {import(\"../size.js\").Size}\n */\n this.tmpSize_ = [0, 0];\n\n if (options.sizes !== undefined) {\n this.fullTileRanges_ = options.sizes.map(function(size, z) {\n var tileRange = new TileRange(\n Math.min(0, size[0]), Math.max(size[0] - 1, -1),\n Math.min(0, size[1]), Math.max(size[1] - 1, -1));\n return tileRange;\n }, this);\n } else if (extent) {\n this.calculateTileRanges_(extent);\n }\n\n};\n\n/**\n * Call a function with each tile coordinate for a given extent and zoom level.\n *\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @param {number} zoom Integer zoom level.\n * @param {function(import(\"../tilecoord.js\").TileCoord)} callback Function called with each tile coordinate.\n * @api\n */\nTileGrid.prototype.forEachTileCoord = function forEachTileCoord (extent, zoom, callback) {\n var tileRange = this.getTileRangeForExtentAndZ(extent, zoom);\n for (var i = tileRange.minX, ii = tileRange.maxX; i <= ii; ++i) {\n for (var j = tileRange.minY, jj = tileRange.maxY; j <= jj; ++j) {\n callback([zoom, i, j]);\n }\n }\n};\n\n/**\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {function(this: T, number, import(\"../TileRange.js\").default): boolean} callback Callback.\n * @param {T=} opt_this The object to use as `this` in `callback`.\n * @param {import(\"../TileRange.js\").default=} opt_tileRange Temporary import(\"../TileRange.js\").default object.\n * @param {import(\"../extent.js\").Extent=} opt_extent Temporary import(\"../extent.js\").Extent object.\n * @return {boolean} Callback succeeded.\n * @template T\n */\nTileGrid.prototype.forEachTileCoordParentTileRange = function forEachTileCoordParentTileRange (tileCoord, callback, opt_this, opt_tileRange, opt_extent) {\n var tileRange, x, y;\n var tileCoordExtent = null;\n var z = tileCoord[0] - 1;\n if (this.zoomFactor_ === 2) {\n x = tileCoord[1];\n y = tileCoord[2];\n } else {\n tileCoordExtent = this.getTileCoordExtent(tileCoord, opt_extent);\n }\n while (z >= this.minZoom) {\n if (this.zoomFactor_ === 2) {\n x = Math.floor(x / 2);\n y = Math.floor(y / 2);\n tileRange = createOrUpdateTileRange(x, x, y, y, opt_tileRange);\n } else {\n tileRange = this.getTileRangeForExtentAndZ(tileCoordExtent, z, opt_tileRange);\n }\n if (callback.call(opt_this, z, tileRange)) {\n return true;\n }\n --z;\n }\n return false;\n};\n\n/**\n * Get the extent for this tile grid, if it was configured.\n * @return {import(\"../extent.js\").Extent} Extent.\n */\nTileGrid.prototype.getExtent = function getExtent () {\n return this.extent_;\n};\n\n/**\n * Get the maximum zoom level for the grid.\n * @return {number} Max zoom.\n * @api\n */\nTileGrid.prototype.getMaxZoom = function getMaxZoom () {\n return this.maxZoom;\n};\n\n/**\n * Get the minimum zoom level for the grid.\n * @return {number} Min zoom.\n * @api\n */\nTileGrid.prototype.getMinZoom = function getMinZoom () {\n return this.minZoom;\n};\n\n/**\n * Get the origin for the grid at the given zoom level.\n * @param {number} z Integer zoom level.\n * @return {import(\"../coordinate.js\").Coordinate} Origin.\n * @api\n */\nTileGrid.prototype.getOrigin = function getOrigin (z) {\n if (this.origin_) {\n return this.origin_;\n } else {\n return this.origins_[z];\n }\n};\n\n/**\n * Get the resolution for the given zoom level.\n * @param {number} z Integer zoom level.\n * @return {number} Resolution.\n * @api\n */\nTileGrid.prototype.getResolution = function getResolution (z) {\n return this.resolutions_[z];\n};\n\n/**\n * Get the list of resolutions for the tile grid.\n * @return {Array} Resolutions.\n * @api\n */\nTileGrid.prototype.getResolutions = function getResolutions () {\n return this.resolutions_;\n};\n\n/**\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {import(\"../TileRange.js\").default=} opt_tileRange Temporary import(\"../TileRange.js\").default object.\n * @param {import(\"../extent.js\").Extent=} opt_extent Temporary import(\"../extent.js\").Extent object.\n * @return {import(\"../TileRange.js\").default} Tile range.\n */\nTileGrid.prototype.getTileCoordChildTileRange = function getTileCoordChildTileRange (tileCoord, opt_tileRange, opt_extent) {\n if (tileCoord[0] < this.maxZoom) {\n if (this.zoomFactor_ === 2) {\n var minX = tileCoord[1] * 2;\n var minY = tileCoord[2] * 2;\n return createOrUpdateTileRange(minX, minX + 1, minY, minY + 1, opt_tileRange);\n }\n var tileCoordExtent = this.getTileCoordExtent(tileCoord, opt_extent);\n return this.getTileRangeForExtentAndZ(\n tileCoordExtent, tileCoord[0] + 1, opt_tileRange);\n }\n return null;\n};\n\n/**\n * Get the extent for a tile range.\n * @param {number} z Integer zoom level.\n * @param {import(\"../TileRange.js\").default} tileRange Tile range.\n * @param {import(\"../extent.js\").Extent=} opt_extent Temporary import(\"../extent.js\").Extent object.\n * @return {import(\"../extent.js\").Extent} Extent.\n */\nTileGrid.prototype.getTileRangeExtent = function getTileRangeExtent (z, tileRange, opt_extent) {\n var origin = this.getOrigin(z);\n var resolution = this.getResolution(z);\n var tileSize = toSize(this.getTileSize(z), this.tmpSize_);\n var minX = origin[0] + tileRange.minX * tileSize[0] * resolution;\n var maxX = origin[0] + (tileRange.maxX + 1) * tileSize[0] * resolution;\n var minY = origin[1] + tileRange.minY * tileSize[1] * resolution;\n var maxY = origin[1] + (tileRange.maxY + 1) * tileSize[1] * resolution;\n return createOrUpdate(minX, minY, maxX, maxY, opt_extent);\n};\n\n/**\n * Get a tile range for the given extent and integer zoom level.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @param {number} z Integer zoom level.\n * @param {import(\"../TileRange.js\").default=} opt_tileRange Temporary tile range object.\n * @return {import(\"../TileRange.js\").default} Tile range.\n */\nTileGrid.prototype.getTileRangeForExtentAndZ = function getTileRangeForExtentAndZ (extent, z, opt_tileRange) {\n var tileCoord = tmpTileCoord;\n this.getTileCoordForXYAndZ_(extent[0], extent[1], z, false, tileCoord);\n var minX = tileCoord[1];\n var minY = tileCoord[2];\n this.getTileCoordForXYAndZ_(extent[2], extent[3], z, true, tileCoord);\n return createOrUpdateTileRange(minX, tileCoord[1], minY, tileCoord[2], opt_tileRange);\n};\n\n/**\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @return {import(\"../coordinate.js\").Coordinate} Tile center.\n */\nTileGrid.prototype.getTileCoordCenter = function getTileCoordCenter (tileCoord) {\n var origin = this.getOrigin(tileCoord[0]);\n var resolution = this.getResolution(tileCoord[0]);\n var tileSize = toSize(this.getTileSize(tileCoord[0]), this.tmpSize_);\n return [\n origin[0] + (tileCoord[1] + 0.5) * tileSize[0] * resolution,\n origin[1] + (tileCoord[2] + 0.5) * tileSize[1] * resolution\n ];\n};\n\n/**\n * Get the extent of a tile coordinate.\n *\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {import(\"../extent.js\").Extent=} opt_extent Temporary extent object.\n * @return {import(\"../extent.js\").Extent} Extent.\n * @api\n */\nTileGrid.prototype.getTileCoordExtent = function getTileCoordExtent (tileCoord, opt_extent) {\n var origin = this.getOrigin(tileCoord[0]);\n var resolution = this.getResolution(tileCoord[0]);\n var tileSize = toSize(this.getTileSize(tileCoord[0]), this.tmpSize_);\n var minX = origin[0] + tileCoord[1] * tileSize[0] * resolution;\n var minY = origin[1] + tileCoord[2] * tileSize[1] * resolution;\n var maxX = minX + tileSize[0] * resolution;\n var maxY = minY + tileSize[1] * resolution;\n return createOrUpdate(minX, minY, maxX, maxY, opt_extent);\n};\n\n/**\n * Get the tile coordinate for the given map coordinate and resolution.This\n * method considers that coordinates that intersect tile boundaries should be\n * assigned the higher tile coordinate.\n *\n * @param {import(\"../coordinate.js\").Coordinate} coordinate Coordinate.\n * @param {number} resolution Resolution.\n * @param {import(\"../tilecoord.js\").TileCoord=} opt_tileCoord Destination import(\"../tilecoord.js\").TileCoord object.\n * @return {import(\"../tilecoord.js\").TileCoord} Tile coordinate.\n * @api\n */\nTileGrid.prototype.getTileCoordForCoordAndResolution = function getTileCoordForCoordAndResolution (coordinate, resolution, opt_tileCoord) {\n return this.getTileCoordForXYAndResolution_(\n coordinate[0], coordinate[1], resolution, false, opt_tileCoord);\n};\n\n/**\n * Note that this method should not be called for resolutions that correspond\n * to an integer zoom level.Instead call the `getTileCoordForXYAndZ_` method.\n * @param {number} x X.\n * @param {number} y Y.\n * @param {number} resolution Resolution (for a non-integer zoom level).\n * @param {boolean} reverseIntersectionPolicy Instead of letting edge\n * intersections go to the higher tile coordinate, let edge intersections\n * go to the lower tile coordinate.\n * @param {import(\"../tilecoord.js\").TileCoord=} opt_tileCoord Temporary import(\"../tilecoord.js\").TileCoord object.\n * @return {import(\"../tilecoord.js\").TileCoord} Tile coordinate.\n * @private\n */\nTileGrid.prototype.getTileCoordForXYAndResolution_ = function getTileCoordForXYAndResolution_ (x, y, resolution, reverseIntersectionPolicy, opt_tileCoord) {\n var z = this.getZForResolution(resolution);\n var scale = resolution / this.getResolution(z);\n var origin = this.getOrigin(z);\n var tileSize = toSize(this.getTileSize(z), this.tmpSize_);\n\n var adjustX = reverseIntersectionPolicy ? 0.5 : 0;\n var adjustY = reverseIntersectionPolicy ? 0 : 0.5;\n var xFromOrigin = Math.floor((x - origin[0]) / resolution + adjustX);\n var yFromOrigin = Math.floor((y - origin[1]) / resolution + adjustY);\n var tileCoordX = scale * xFromOrigin / tileSize[0];\n var tileCoordY = scale * yFromOrigin / tileSize[1];\n\n if (reverseIntersectionPolicy) {\n tileCoordX = Math.ceil(tileCoordX) - 1;\n tileCoordY = Math.ceil(tileCoordY) - 1;\n } else {\n tileCoordX = Math.floor(tileCoordX);\n tileCoordY = Math.floor(tileCoordY);\n }\n\n return createOrUpdateTileCoord(z, tileCoordX, tileCoordY, opt_tileCoord);\n};\n\n/**\n * Although there is repetition between this method and `getTileCoordForXYAndResolution_`,\n * they should have separate implementations.This method is for integer zoom\n * levels.The other method should only be called for resolutions corresponding\n * to non-integer zoom levels.\n * @param {number} x Map x coordinate.\n * @param {number} y Map y coordinate.\n * @param {number} z Integer zoom level.\n * @param {boolean} reverseIntersectionPolicy Instead of letting edge\n * intersections go to the higher tile coordinate, let edge intersections\n * go to the lower tile coordinate.\n * @param {import(\"../tilecoord.js\").TileCoord=} opt_tileCoord Temporary import(\"../tilecoord.js\").TileCoord object.\n * @return {import(\"../tilecoord.js\").TileCoord} Tile coordinate.\n * @private\n */\nTileGrid.prototype.getTileCoordForXYAndZ_ = function getTileCoordForXYAndZ_ (x, y, z, reverseIntersectionPolicy, opt_tileCoord) {\n var origin = this.getOrigin(z);\n var resolution = this.getResolution(z);\n var tileSize = toSize(this.getTileSize(z), this.tmpSize_);\n\n var adjustX = reverseIntersectionPolicy ? 0.5 : 0;\n var adjustY = reverseIntersectionPolicy ? 0 : 0.5;\n var xFromOrigin = Math.floor((x - origin[0]) / resolution + adjustX);\n var yFromOrigin = Math.floor((y - origin[1]) / resolution + adjustY);\n var tileCoordX = xFromOrigin / tileSize[0];\n var tileCoordY = yFromOrigin / tileSize[1];\n\n if (reverseIntersectionPolicy) {\n tileCoordX = Math.ceil(tileCoordX) - 1;\n tileCoordY = Math.ceil(tileCoordY) - 1;\n } else {\n tileCoordX = Math.floor(tileCoordX);\n tileCoordY = Math.floor(tileCoordY);\n }\n\n return createOrUpdateTileCoord(z, tileCoordX, tileCoordY, opt_tileCoord);\n};\n\n/**\n * Get a tile coordinate given a map coordinate and zoom level.\n * @param {import(\"../coordinate.js\").Coordinate} coordinate Coordinate.\n * @param {number} z Zoom level.\n * @param {import(\"../tilecoord.js\").TileCoord=} opt_tileCoord Destination import(\"../tilecoord.js\").TileCoord object.\n * @return {import(\"../tilecoord.js\").TileCoord} Tile coordinate.\n * @api\n */\nTileGrid.prototype.getTileCoordForCoordAndZ = function getTileCoordForCoordAndZ (coordinate, z, opt_tileCoord) {\n return this.getTileCoordForXYAndZ_(\n coordinate[0], coordinate[1], z, false, opt_tileCoord);\n};\n\n/**\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @return {number} Tile resolution.\n */\nTileGrid.prototype.getTileCoordResolution = function getTileCoordResolution (tileCoord) {\n return this.resolutions_[tileCoord[0]];\n};\n\n/**\n * Get the tile size for a zoom level. The type of the return value matches the\n * `tileSize` or `tileSizes` that the tile grid was configured with. To always\n * get an `import(\"../size.js\").Size`, run the result through `import(\"../size.js\").Size.toSize()`.\n * @param {number} z Z.\n * @return {number|import(\"../size.js\").Size} Tile size.\n * @api\n */\nTileGrid.prototype.getTileSize = function getTileSize (z) {\n if (this.tileSize_) {\n return this.tileSize_;\n } else {\n return this.tileSizes_[z];\n }\n};\n\n/**\n * @param {number} z Zoom level.\n * @return {import(\"../TileRange.js\").default} Extent tile range for the specified zoom level.\n */\nTileGrid.prototype.getFullTileRange = function getFullTileRange (z) {\n if (!this.fullTileRanges_) {\n return null;\n } else {\n return this.fullTileRanges_[z];\n }\n};\n\n/**\n * @param {number} resolution Resolution.\n * @param {number=} opt_direction If 0, the nearest resolution will be used.\n * If 1, the nearest lower resolution will be used. If -1, the nearest\n * higher resolution will be used. Default is 0.\n * @return {number} Z.\n * @api\n */\nTileGrid.prototype.getZForResolution = function getZForResolution (resolution, opt_direction) {\n var z = linearFindNearest(this.resolutions_, resolution, opt_direction || 0);\n return clamp(z, this.minZoom, this.maxZoom);\n};\n\n/**\n * @param {!import(\"../extent.js\").Extent} extent Extent for this tile grid.\n * @private\n */\nTileGrid.prototype.calculateTileRanges_ = function calculateTileRanges_ (extent) {\n var length = this.resolutions_.length;\n var fullTileRanges = new Array(length);\n for (var z = this.minZoom; z < length; ++z) {\n fullTileRanges[z] = this.getTileRangeForExtentAndZ(extent, z);\n }\n this.fullTileRanges_ = fullTileRanges;\n};\n\n\nexport default TileGrid;\n\n//# sourceMappingURL=TileGrid.js.map","/**\n * @module ol/tilegrid\n */\nimport {DEFAULT_MAX_ZOOM, DEFAULT_TILE_SIZE} from './tilegrid/common.js';\nimport {toSize} from './size.js';\nimport {containsCoordinate, createOrUpdate, getCorner, getHeight, getWidth} from './extent.js';\nimport Corner from './extent/Corner.js';\nimport {get as getProjection, METERS_PER_UNIT} from './proj.js';\nimport Units from './proj/Units.js';\nimport TileGrid from './tilegrid/TileGrid.js';\n\n\n/**\n * @param {import(\"./proj/Projection.js\").default} projection Projection.\n * @return {!TileGrid} Default tile grid for the\n * passed projection.\n */\nexport function getForProjection(projection) {\n var tileGrid = projection.getDefaultTileGrid();\n if (!tileGrid) {\n tileGrid = createForProjection(projection);\n projection.setDefaultTileGrid(tileGrid);\n }\n return tileGrid;\n}\n\n\n/**\n * @param {TileGrid} tileGrid Tile grid.\n * @param {import(\"./tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {import(\"./proj/Projection.js\").default} projection Projection.\n * @return {import(\"./tilecoord.js\").TileCoord} Tile coordinate.\n */\nexport function wrapX(tileGrid, tileCoord, projection) {\n var z = tileCoord[0];\n var center = tileGrid.getTileCoordCenter(tileCoord);\n var projectionExtent = extentFromProjection(projection);\n if (!containsCoordinate(projectionExtent, center)) {\n var worldWidth = getWidth(projectionExtent);\n var worldsAway = Math.ceil((projectionExtent[0] - center[0]) / worldWidth);\n center[0] += worldWidth * worldsAway;\n return tileGrid.getTileCoordForCoordAndZ(center, z);\n } else {\n return tileCoord;\n }\n}\n\n\n/**\n * @param {import(\"./extent.js\").Extent} extent Extent.\n * @param {number=} opt_maxZoom Maximum zoom level (default is\n * DEFAULT_MAX_ZOOM).\n * @param {number|import(\"./size.js\").Size=} opt_tileSize Tile size (default uses\n * DEFAULT_TILE_SIZE).\n * @param {Corner=} opt_corner Extent corner (default is `'top-left'`).\n * @return {!TileGrid} TileGrid instance.\n */\nexport function createForExtent(extent, opt_maxZoom, opt_tileSize, opt_corner) {\n var corner = opt_corner !== undefined ? opt_corner : Corner.TOP_LEFT;\n\n var resolutions = resolutionsFromExtent(extent, opt_maxZoom, opt_tileSize);\n\n return new TileGrid({\n extent: extent,\n origin: getCorner(extent, corner),\n resolutions: resolutions,\n tileSize: opt_tileSize\n });\n}\n\n\n/**\n * @typedef {Object} XYZOptions\n * @property {import(\"./extent.js\").Extent} [extent] Extent for the tile grid. The origin for an XYZ tile grid is the\n * top-left corner of the extent. The zero level of the grid is defined by the resolution at which one tile fits in the\n * provided extent. If not provided, the extent of the EPSG:3857 projection is used.\n * @property {number} [maxZoom] Maximum zoom. The default is `42`. This determines the number of levels\n * in the grid set. For example, a `maxZoom` of 21 means there are 22 levels in the grid set.\n * @property {number} [minZoom=0] Minimum zoom.\n * @property {number|import(\"./size.js\").Size} [tileSize=[256, 256]] Tile size in pixels.\n */\n\n\n/**\n * Creates a tile grid with a standard XYZ tiling scheme.\n * @param {XYZOptions=} opt_options Tile grid options.\n * @return {!TileGrid} Tile grid instance.\n * @api\n */\nexport function createXYZ(opt_options) {\n /** @type {XYZOptions} */\n var xyzOptions = opt_options || {};\n\n var extent = xyzOptions.extent || getProjection('EPSG:3857').getExtent();\n\n /** @type {import(\"./tilegrid/TileGrid.js\").Options} */\n var gridOptions = {\n extent: extent,\n minZoom: xyzOptions.minZoom,\n tileSize: xyzOptions.tileSize,\n resolutions: resolutionsFromExtent(\n extent,\n xyzOptions.maxZoom,\n xyzOptions.tileSize\n )\n };\n return new TileGrid(gridOptions);\n}\n\n\n/**\n * Create a resolutions array from an extent. A zoom factor of 2 is assumed.\n * @param {import(\"./extent.js\").Extent} extent Extent.\n * @param {number=} opt_maxZoom Maximum zoom level (default is\n * DEFAULT_MAX_ZOOM).\n * @param {number|import(\"./size.js\").Size=} opt_tileSize Tile size (default uses\n * DEFAULT_TILE_SIZE).\n * @return {!Array} Resolutions array.\n */\nfunction resolutionsFromExtent(extent, opt_maxZoom, opt_tileSize) {\n var maxZoom = opt_maxZoom !== undefined ?\n opt_maxZoom : DEFAULT_MAX_ZOOM;\n\n var height = getHeight(extent);\n var width = getWidth(extent);\n\n var tileSize = toSize(opt_tileSize !== undefined ?\n opt_tileSize : DEFAULT_TILE_SIZE);\n var maxResolution = Math.max(\n width / tileSize[0], height / tileSize[1]);\n\n var length = maxZoom + 1;\n var resolutions = new Array(length);\n for (var z = 0; z < length; ++z) {\n resolutions[z] = maxResolution / Math.pow(2, z);\n }\n return resolutions;\n}\n\n\n/**\n * @param {import(\"./proj.js\").ProjectionLike} projection Projection.\n * @param {number=} opt_maxZoom Maximum zoom level (default is\n * DEFAULT_MAX_ZOOM).\n * @param {number|import(\"./size.js\").Size=} opt_tileSize Tile size (default uses\n * DEFAULT_TILE_SIZE).\n * @param {Corner=} opt_corner Extent corner (default is `'top-left'`).\n * @return {!TileGrid} TileGrid instance.\n */\nexport function createForProjection(projection, opt_maxZoom, opt_tileSize, opt_corner) {\n var extent = extentFromProjection(projection);\n return createForExtent(extent, opt_maxZoom, opt_tileSize, opt_corner);\n}\n\n\n/**\n * Generate a tile grid extent from a projection. If the projection has an\n * extent, it is used. If not, a global extent is assumed.\n * @param {import(\"./proj.js\").ProjectionLike} projection Projection.\n * @return {import(\"./extent.js\").Extent} Extent.\n */\nexport function extentFromProjection(projection) {\n projection = getProjection(projection);\n var extent = projection.getExtent();\n if (!extent) {\n var half = 180 * METERS_PER_UNIT[Units.DEGREES] / projection.getMetersPerUnit();\n extent = createOrUpdate(-half, -half, half, half);\n }\n return extent;\n}\n\n//# sourceMappingURL=tilegrid.js.map","/**\n * @module ol/string\n */\n\n/**\n * @param {number} number Number to be formatted\n * @param {number} width The desired width\n * @param {number=} opt_precision Precision of the output string (i.e. number of decimal places)\n * @returns {string} Formatted string\n */\nexport function padNumber(number, width, opt_precision) {\n var numberString = opt_precision !== undefined ? number.toFixed(opt_precision) : '' + number;\n var decimal = numberString.indexOf('.');\n decimal = decimal === -1 ? numberString.length : decimal;\n return decimal > width ? numberString : new Array(1 + width - decimal).join('0') + numberString;\n}\n\n\n/**\n * Adapted from https://github.com/omichelsen/compare-versions/blob/master/index.js\n * @param {string|number} v1 First version\n * @param {string|number} v2 Second version\n * @returns {number} Value\n */\nexport function compareVersions(v1, v2) {\n var s1 = ('' + v1).split('.');\n var s2 = ('' + v2).split('.');\n\n for (var i = 0; i < Math.max(s1.length, s2.length); i++) {\n var n1 = parseInt(s1[i] || '0', 10);\n var n2 = parseInt(s2[i] || '0', 10);\n\n if (n1 > n2) {\n return 1;\n }\n if (n2 > n1) {\n return -1;\n }\n }\n\n return 0;\n}\n\n//# sourceMappingURL=string.js.map","/**\n * @module ol/coordinate\n */\nimport {modulo} from './math.js';\nimport {padNumber} from './string.js';\n\n\n/**\n * An array of numbers representing an xy coordinate. Example: `[16, 48]`.\n * @typedef {Array} Coordinate\n * @api\n */\n\n\n/**\n * A function that takes a {@link module:ol/coordinate~Coordinate} and\n * transforms it into a `{string}`.\n *\n * @typedef {function((Coordinate|undefined)): string} CoordinateFormat\n * @api\n */\n\n\n/**\n * Add `delta` to `coordinate`. `coordinate` is modified in place and returned\n * by the function.\n *\n * Example:\n *\n * import {add} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * add(coord, [-2, 4]);\n * // coord is now [5.85, 51.983333]\n *\n * @param {Coordinate} coordinate Coordinate.\n * @param {Coordinate} delta Delta.\n * @return {Coordinate} The input coordinate adjusted by\n * the given delta.\n * @api\n */\nexport function add(coordinate, delta) {\n coordinate[0] += delta[0];\n coordinate[1] += delta[1];\n return coordinate;\n}\n\n\n/**\n * Calculates the point closest to the passed coordinate on the passed circle.\n *\n * @param {Coordinate} coordinate The coordinate.\n * @param {import(\"./geom/Circle.js\").default} circle The circle.\n * @return {Coordinate} Closest point on the circumference.\n */\nexport function closestOnCircle(coordinate, circle) {\n var r = circle.getRadius();\n var center = circle.getCenter();\n var x0 = center[0];\n var y0 = center[1];\n var x1 = coordinate[0];\n var y1 = coordinate[1];\n\n var dx = x1 - x0;\n var dy = y1 - y0;\n if (dx === 0 && dy === 0) {\n dx = 1;\n }\n var d = Math.sqrt(dx * dx + dy * dy);\n\n var x = x0 + r * dx / d;\n var y = y0 + r * dy / d;\n\n return [x, y];\n}\n\n\n/**\n * Calculates the point closest to the passed coordinate on the passed segment.\n * This is the foot of the perpendicular of the coordinate to the segment when\n * the foot is on the segment, or the closest segment coordinate when the foot\n * is outside the segment.\n *\n * @param {Coordinate} coordinate The coordinate.\n * @param {Array} segment The two coordinates\n * of the segment.\n * @return {Coordinate} The foot of the perpendicular of\n * the coordinate to the segment.\n */\nexport function closestOnSegment(coordinate, segment) {\n var x0 = coordinate[0];\n var y0 = coordinate[1];\n var start = segment[0];\n var end = segment[1];\n var x1 = start[0];\n var y1 = start[1];\n var x2 = end[0];\n var y2 = end[1];\n var dx = x2 - x1;\n var dy = y2 - y1;\n var along = (dx === 0 && dy === 0) ? 0 :\n ((dx * (x0 - x1)) + (dy * (y0 - y1))) / ((dx * dx + dy * dy) || 0);\n var x, y;\n if (along <= 0) {\n x = x1;\n y = y1;\n } else if (along >= 1) {\n x = x2;\n y = y2;\n } else {\n x = x1 + along * dx;\n y = y1 + along * dy;\n }\n return [x, y];\n}\n\n\n/**\n * Returns a {@link module:ol/coordinate~CoordinateFormat} function that can be\n * used to format\n * a {Coordinate} to a string.\n *\n * Example without specifying the fractional digits:\n *\n * import {createStringXY} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * var stringifyFunc = createStringXY();\n * var out = stringifyFunc(coord);\n * // out is now '8, 48'\n *\n * Example with explicitly specifying 2 fractional digits:\n *\n * import {createStringXY} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * var stringifyFunc = createStringXY(2);\n * var out = stringifyFunc(coord);\n * // out is now '7.85, 47.98'\n *\n * @param {number=} opt_fractionDigits The number of digits to include\n * after the decimal point. Default is `0`.\n * @return {CoordinateFormat} Coordinate format.\n * @api\n */\nexport function createStringXY(opt_fractionDigits) {\n return (\n /**\n * @param {Coordinate} coordinate Coordinate.\n * @return {string} String XY.\n */\n function(coordinate) {\n return toStringXY(coordinate, opt_fractionDigits);\n }\n );\n}\n\n\n/**\n * @param {string} hemispheres Hemispheres.\n * @param {number} degrees Degrees.\n * @param {number=} opt_fractionDigits The number of digits to include\n * after the decimal point. Default is `0`.\n * @return {string} String.\n */\nexport function degreesToStringHDMS(hemispheres, degrees, opt_fractionDigits) {\n var normalizedDegrees = modulo(degrees + 180, 360) - 180;\n var x = Math.abs(3600 * normalizedDegrees);\n var dflPrecision = opt_fractionDigits || 0;\n var precision = Math.pow(10, dflPrecision);\n\n var deg = Math.floor(x / 3600);\n var min = Math.floor((x - deg * 3600) / 60);\n var sec = x - (deg * 3600) - (min * 60);\n sec = Math.ceil(sec * precision) / precision;\n\n if (sec >= 60) {\n sec = 0;\n min += 1;\n }\n\n if (min >= 60) {\n min = 0;\n deg += 1;\n }\n\n return deg + '\\u00b0 ' + padNumber(min, 2) + '\\u2032 ' +\n padNumber(sec, 2, dflPrecision) + '\\u2033' +\n (normalizedDegrees == 0 ? '' : ' ' + hemispheres.charAt(normalizedDegrees < 0 ? 1 : 0));\n}\n\n\n/**\n * Transforms the given {@link module:ol/coordinate~Coordinate} to a string\n * using the given string template. The strings `{x}` and `{y}` in the template\n * will be replaced with the first and second coordinate values respectively.\n *\n * Example without specifying the fractional digits:\n *\n * import {format} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * var template = 'Coordinate is ({x}|{y}).';\n * var out = format(coord, template);\n * // out is now 'Coordinate is (8|48).'\n *\n * Example explicitly specifying the fractional digits:\n *\n * import {format} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * var template = 'Coordinate is ({x}|{y}).';\n * var out = format(coord, template, 2);\n * // out is now 'Coordinate is (7.85|47.98).'\n *\n * @param {Coordinate} coordinate Coordinate.\n * @param {string} template A template string with `{x}` and `{y}` placeholders\n * that will be replaced by first and second coordinate values.\n * @param {number=} opt_fractionDigits The number of digits to include\n * after the decimal point. Default is `0`.\n * @return {string} Formatted coordinate.\n * @api\n */\nexport function format(coordinate, template, opt_fractionDigits) {\n if (coordinate) {\n return template\n .replace('{x}', coordinate[0].toFixed(opt_fractionDigits))\n .replace('{y}', coordinate[1].toFixed(opt_fractionDigits));\n } else {\n return '';\n }\n}\n\n\n/**\n * @param {Coordinate} coordinate1 First coordinate.\n * @param {Coordinate} coordinate2 Second coordinate.\n * @return {boolean} The two coordinates are equal.\n */\nexport function equals(coordinate1, coordinate2) {\n var equals = true;\n for (var i = coordinate1.length - 1; i >= 0; --i) {\n if (coordinate1[i] != coordinate2[i]) {\n equals = false;\n break;\n }\n }\n return equals;\n}\n\n\n/**\n * Rotate `coordinate` by `angle`. `coordinate` is modified in place and\n * returned by the function.\n *\n * Example:\n *\n * import {rotate} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * var rotateRadians = Math.PI / 2; // 90 degrees\n * rotate(coord, rotateRadians);\n * // coord is now [-47.983333, 7.85]\n *\n * @param {Coordinate} coordinate Coordinate.\n * @param {number} angle Angle in radian.\n * @return {Coordinate} Coordinate.\n * @api\n */\nexport function rotate(coordinate, angle) {\n var cosAngle = Math.cos(angle);\n var sinAngle = Math.sin(angle);\n var x = coordinate[0] * cosAngle - coordinate[1] * sinAngle;\n var y = coordinate[1] * cosAngle + coordinate[0] * sinAngle;\n coordinate[0] = x;\n coordinate[1] = y;\n return coordinate;\n}\n\n\n/**\n * Scale `coordinate` by `scale`. `coordinate` is modified in place and returned\n * by the function.\n *\n * Example:\n *\n * import {scale as scaleCoordinate} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * var scale = 1.2;\n * scaleCoordinate(coord, scale);\n * // coord is now [9.42, 57.5799996]\n *\n * @param {Coordinate} coordinate Coordinate.\n * @param {number} scale Scale factor.\n * @return {Coordinate} Coordinate.\n */\nexport function scale(coordinate, scale) {\n coordinate[0] *= scale;\n coordinate[1] *= scale;\n return coordinate;\n}\n\n\n/**\n * @param {Coordinate} coord1 First coordinate.\n * @param {Coordinate} coord2 Second coordinate.\n * @return {number} Squared distance between coord1 and coord2.\n */\nexport function squaredDistance(coord1, coord2) {\n var dx = coord1[0] - coord2[0];\n var dy = coord1[1] - coord2[1];\n return dx * dx + dy * dy;\n}\n\n\n/**\n * @param {Coordinate} coord1 First coordinate.\n * @param {Coordinate} coord2 Second coordinate.\n * @return {number} Distance between coord1 and coord2.\n */\nexport function distance(coord1, coord2) {\n return Math.sqrt(squaredDistance(coord1, coord2));\n}\n\n\n/**\n * Calculate the squared distance from a coordinate to a line segment.\n *\n * @param {Coordinate} coordinate Coordinate of the point.\n * @param {Array} segment Line segment (2\n * coordinates).\n * @return {number} Squared distance from the point to the line segment.\n */\nexport function squaredDistanceToSegment(coordinate, segment) {\n return squaredDistance(coordinate,\n closestOnSegment(coordinate, segment));\n}\n\n\n/**\n * Format a geographic coordinate with the hemisphere, degrees, minutes, and\n * seconds.\n *\n * Example without specifying fractional digits:\n *\n * import {toStringHDMS} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * var out = toStringHDMS(coord);\n * // out is now '47° 58′ 60″ N 7° 50′ 60″ E'\n *\n * Example explicitly specifying 1 fractional digit:\n *\n * import {toStringHDMS} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * var out = toStringHDMS(coord, 1);\n * // out is now '47° 58′ 60.0″ N 7° 50′ 60.0″ E'\n *\n * @param {Coordinate} coordinate Coordinate.\n * @param {number=} opt_fractionDigits The number of digits to include\n * after the decimal point. Default is `0`.\n * @return {string} Hemisphere, degrees, minutes and seconds.\n * @api\n */\nexport function toStringHDMS(coordinate, opt_fractionDigits) {\n if (coordinate) {\n return degreesToStringHDMS('NS', coordinate[1], opt_fractionDigits) + ' ' +\n degreesToStringHDMS('EW', coordinate[0], opt_fractionDigits);\n } else {\n return '';\n }\n}\n\n\n/**\n * Format a coordinate as a comma delimited string.\n *\n * Example without specifying fractional digits:\n *\n * import {toStringXY} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * var out = toStringXY(coord);\n * // out is now '8, 48'\n *\n * Example explicitly specifying 1 fractional digit:\n *\n * import {toStringXY} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * var out = toStringXY(coord, 1);\n * // out is now '7.8, 48.0'\n *\n * @param {Coordinate} coordinate Coordinate.\n * @param {number=} opt_fractionDigits The number of digits to include\n * after the decimal point. Default is `0`.\n * @return {string} XY.\n * @api\n */\nexport function toStringXY(coordinate, opt_fractionDigits) {\n return format(coordinate, '{x}, {y}', opt_fractionDigits);\n}\n\n//# sourceMappingURL=coordinate.js.map","/**\n * @module ol/layer/Layer\n */\nimport {listen, unlistenByKey} from '../events.js';\nimport EventType from '../events/EventType.js';\nimport {getUid} from '../util.js';\nimport {getChangeEventType} from '../Object.js';\nimport BaseLayer from './Base.js';\nimport LayerProperty from './Property.js';\nimport {assign} from '../obj.js';\nimport RenderEventType from '../render/EventType.js';\nimport SourceState from '../source/State.js';\n\n\n/**\n * @typedef {Object} Options\n * @property {number} [opacity=1] Opacity (0, 1).\n * @property {boolean} [visible=true] Visibility.\n * @property {import(\"../extent.js\").Extent} [extent] The bounding extent for layer rendering. The layer will not be\n * rendered outside of this extent.\n * @property {number} [zIndex] The z-index for layer rendering. At rendering time, the layers\n * will be ordered, first by Z-index and then by position. When `undefined`, a `zIndex` of 0 is assumed\n * for layers that are added to the map's `layers` collection, or `Infinity` when the layer's `setMap()`\n * method was used.\n * @property {number} [minResolution] The minimum resolution (inclusive) at which this layer will be\n * visible.\n * @property {number} [maxResolution] The maximum resolution (exclusive) below which this layer will\n * be visible.\n * @property {import(\"../source/Source.js\").default} [source] Source for this layer. If not provided to the constructor,\n * the source can be set by calling {@link module:ol/layer/Layer#setSource layer.setSource(source)} after\n * construction.\n * @property {import(\"../PluggableMap.js\").default} [map] Map.\n */\n\n\n/**\n * @typedef {Object} State\n * @property {import(\"./Base.js\").default} layer\n * @property {number} opacity\n * @property {SourceState} sourceState\n * @property {boolean} visible\n * @property {boolean} managed\n * @property {import(\"../extent.js\").Extent} [extent]\n * @property {number} zIndex\n * @property {number} maxResolution\n * @property {number} minResolution\n */\n\n/**\n * @classdesc\n * Abstract base class; normally only used for creating subclasses and not\n * instantiated in apps.\n * A visual representation of raster or vector map data.\n * Layers group together those properties that pertain to how the data is to be\n * displayed, irrespective of the source of that data.\n *\n * Layers are usually added to a map with {@link module:ol/Map#addLayer}. Components\n * like {@link module:ol/interaction/Select~Select} use unmanaged layers\n * internally. These unmanaged layers are associated with the map using\n * {@link module:ol/layer/Layer~Layer#setMap} instead.\n *\n * A generic `change` event is fired when the state of the source changes.\n *\n * @fires import(\"../render/Event.js\").RenderEvent\n */\nvar Layer = /*@__PURE__*/(function (BaseLayer) {\n function Layer(options) {\n\n var baseOptions = assign({}, options);\n delete baseOptions.source;\n\n BaseLayer.call(this, baseOptions);\n\n /**\n * @private\n * @type {?import(\"../events.js\").EventsKey}\n */\n this.mapPrecomposeKey_ = null;\n\n /**\n * @private\n * @type {?import(\"../events.js\").EventsKey}\n */\n this.mapRenderKey_ = null;\n\n /**\n * @private\n * @type {?import(\"../events.js\").EventsKey}\n */\n this.sourceChangeKey_ = null;\n\n if (options.map) {\n this.setMap(options.map);\n }\n\n listen(this,\n getChangeEventType(LayerProperty.SOURCE),\n this.handleSourcePropertyChange_, this);\n\n var source = options.source ? options.source : null;\n this.setSource(source);\n }\n\n if ( BaseLayer ) Layer.__proto__ = BaseLayer;\n Layer.prototype = Object.create( BaseLayer && BaseLayer.prototype );\n Layer.prototype.constructor = Layer;\n\n /**\n * @inheritDoc\n */\n Layer.prototype.getLayersArray = function getLayersArray (opt_array) {\n var array = opt_array ? opt_array : [];\n array.push(this);\n return array;\n };\n\n /**\n * @inheritDoc\n */\n Layer.prototype.getLayerStatesArray = function getLayerStatesArray (opt_states) {\n var states = opt_states ? opt_states : [];\n states.push(this.getLayerState());\n return states;\n };\n\n /**\n * Get the layer source.\n * @return {import(\"../source/Source.js\").default} The layer source (or `null` if not yet set).\n * @observable\n * @api\n */\n Layer.prototype.getSource = function getSource () {\n var source = this.get(LayerProperty.SOURCE);\n return (\n /** @type {import(\"../source/Source.js\").default} */ (source) || null\n );\n };\n\n /**\n * @inheritDoc\n */\n Layer.prototype.getSourceState = function getSourceState () {\n var source = this.getSource();\n return !source ? SourceState.UNDEFINED : source.getState();\n };\n\n /**\n * @private\n */\n Layer.prototype.handleSourceChange_ = function handleSourceChange_ () {\n this.changed();\n };\n\n /**\n * @private\n */\n Layer.prototype.handleSourcePropertyChange_ = function handleSourcePropertyChange_ () {\n if (this.sourceChangeKey_) {\n unlistenByKey(this.sourceChangeKey_);\n this.sourceChangeKey_ = null;\n }\n var source = this.getSource();\n if (source) {\n this.sourceChangeKey_ = listen(source,\n EventType.CHANGE, this.handleSourceChange_, this);\n }\n this.changed();\n };\n\n /**\n * Sets the layer to be rendered on top of other layers on a map. The map will\n * not manage this layer in its layers collection, and the callback in\n * {@link module:ol/Map#forEachLayerAtPixel} will receive `null` as layer. This\n * is useful for temporary layers. To remove an unmanaged layer from the map,\n * use `#setMap(null)`.\n *\n * To add the layer to a map and have it managed by the map, use\n * {@link module:ol/Map#addLayer} instead.\n * @param {import(\"../PluggableMap.js\").default} map Map.\n * @api\n */\n Layer.prototype.setMap = function setMap (map) {\n if (this.mapPrecomposeKey_) {\n unlistenByKey(this.mapPrecomposeKey_);\n this.mapPrecomposeKey_ = null;\n }\n if (!map) {\n this.changed();\n }\n if (this.mapRenderKey_) {\n unlistenByKey(this.mapRenderKey_);\n this.mapRenderKey_ = null;\n }\n if (map) {\n this.mapPrecomposeKey_ = listen(map, RenderEventType.PRECOMPOSE, function(evt) {\n var renderEvent = /** @type {import(\"../render/Event.js\").default} */ (evt);\n var layerState = this.getLayerState();\n layerState.managed = false;\n if (this.getZIndex() === undefined) {\n layerState.zIndex = Infinity;\n }\n renderEvent.frameState.layerStatesArray.push(layerState);\n renderEvent.frameState.layerStates[getUid(this)] = layerState;\n }, this);\n this.mapRenderKey_ = listen(this, EventType.CHANGE, map.render, map);\n this.changed();\n }\n };\n\n /**\n * Set the layer source.\n * @param {import(\"../source/Source.js\").default} source The layer source.\n * @observable\n * @api\n */\n Layer.prototype.setSource = function setSource (source) {\n this.set(LayerProperty.SOURCE, source);\n };\n\n return Layer;\n}(BaseLayer));\n\n\n/**\n * Return `true` if the layer is visible, and if the passed resolution is\n * between the layer's minResolution and maxResolution. The comparison is\n * inclusive for `minResolution` and exclusive for `maxResolution`.\n * @param {State} layerState Layer state.\n * @param {number} resolution Resolution.\n * @return {boolean} The layer is visible at the given resolution.\n */\nexport function visibleAtResolution(layerState, resolution) {\n return layerState.visible && resolution >= layerState.minResolution &&\n resolution < layerState.maxResolution;\n}\n\n\nexport default Layer;\n\n//# sourceMappingURL=Layer.js.map","/**\n * @module ol/layer/VectorTileRenderType\n */\n\n/**\n * @enum {string}\n * Render mode for vector tiles:\n * * `'image'`: Vector tiles are rendered as images. Great performance, but\n * point symbols and texts are always rotated with the view and pixels are\n * scaled during zoom animations.\n * * `'hybrid'`: Polygon and line elements are rendered as images, so pixels\n * are scaled during zoom animations. Point symbols and texts are accurately\n * rendered as vectors and can stay upright on rotated views.\n * * `'vector'`: Vector tiles are rendered as vectors. Most accurate rendering\n * even during animations, but slower performance than the other options.\n * @api\n */\nexport default {\n IMAGE: 'image',\n HYBRID: 'hybrid',\n VECTOR: 'vector'\n};\n\n//# sourceMappingURL=VectorTileRenderType.js.map","/**\n * @module ol/source/State\n */\n\n/**\n * @enum {string}\n * State of the source, one of 'undefined', 'loading', 'ready' or 'error'.\n */\nexport default {\n UNDEFINED: 'undefined',\n LOADING: 'loading',\n READY: 'ready',\n ERROR: 'error'\n};\n\n//# sourceMappingURL=State.js.map","/**\n * @module ol/geom/Geometry\n */\nimport {abstract} from '../util.js';\nimport BaseObject from '../Object.js';\nimport {createEmpty, getHeight, returnOrUpdate} from '../extent.js';\nimport {transform2D} from './flat/transform.js';\nimport {get as getProjection, getTransform} from '../proj.js';\nimport Units from '../proj/Units.js';\nimport {create as createTransform, compose as composeTransform} from '../transform.js';\n\n\n/**\n * @type {import(\"../transform.js\").Transform}\n */\nvar tmpTransform = createTransform();\n\n\n/**\n * @classdesc\n * Abstract base class; normally only used for creating subclasses and not\n * instantiated in apps.\n * Base class for vector geometries.\n *\n * To get notified of changes to the geometry, register a listener for the\n * generic `change` event on your geometry instance.\n *\n * @abstract\n * @api\n */\nvar Geometry = /*@__PURE__*/(function (BaseObject) {\n function Geometry() {\n\n BaseObject.call(this);\n\n /**\n * @private\n * @type {import(\"../extent.js\").Extent}\n */\n this.extent_ = createEmpty();\n\n /**\n * @private\n * @type {number}\n */\n this.extentRevision_ = -1;\n\n /**\n * @protected\n * @type {Object}\n */\n this.simplifiedGeometryCache = {};\n\n /**\n * @protected\n * @type {number}\n */\n this.simplifiedGeometryMaxMinSquaredTolerance = 0;\n\n /**\n * @protected\n * @type {number}\n */\n this.simplifiedGeometryRevision = 0;\n\n }\n\n if ( BaseObject ) Geometry.__proto__ = BaseObject;\n Geometry.prototype = Object.create( BaseObject && BaseObject.prototype );\n Geometry.prototype.constructor = Geometry;\n\n /**\n * Make a complete copy of the geometry.\n * @abstract\n * @return {!Geometry} Clone.\n */\n Geometry.prototype.clone = function clone () {\n return abstract();\n };\n\n /**\n * @abstract\n * @param {number} x X.\n * @param {number} y Y.\n * @param {import(\"../coordinate.js\").Coordinate} closestPoint Closest point.\n * @param {number} minSquaredDistance Minimum squared distance.\n * @return {number} Minimum squared distance.\n */\n Geometry.prototype.closestPointXY = function closestPointXY (x, y, closestPoint, minSquaredDistance) {\n return abstract();\n };\n\n /**\n * @param {number} x X.\n * @param {number} y Y.\n * @return {boolean} Contains (x, y).\n */\n Geometry.prototype.containsXY = function containsXY (x, y) {\n return false;\n };\n\n /**\n * Return the closest point of the geometry to the passed point as\n * {@link module:ol/coordinate~Coordinate coordinate}.\n * @param {import(\"../coordinate.js\").Coordinate} point Point.\n * @param {import(\"../coordinate.js\").Coordinate=} opt_closestPoint Closest point.\n * @return {import(\"../coordinate.js\").Coordinate} Closest point.\n * @api\n */\n Geometry.prototype.getClosestPoint = function getClosestPoint (point, opt_closestPoint) {\n var closestPoint = opt_closestPoint ? opt_closestPoint : [NaN, NaN];\n this.closestPointXY(point[0], point[1], closestPoint, Infinity);\n return closestPoint;\n };\n\n /**\n * Returns true if this geometry includes the specified coordinate. If the\n * coordinate is on the boundary of the geometry, returns false.\n * @param {import(\"../coordinate.js\").Coordinate} coordinate Coordinate.\n * @return {boolean} Contains coordinate.\n * @api\n */\n Geometry.prototype.intersectsCoordinate = function intersectsCoordinate (coordinate) {\n return this.containsXY(coordinate[0], coordinate[1]);\n };\n\n /**\n * @abstract\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @protected\n * @return {import(\"../extent.js\").Extent} extent Extent.\n */\n Geometry.prototype.computeExtent = function computeExtent (extent) {\n return abstract();\n };\n\n /**\n * Get the extent of the geometry.\n * @param {import(\"../extent.js\").Extent=} opt_extent Extent.\n * @return {import(\"../extent.js\").Extent} extent Extent.\n * @api\n */\n Geometry.prototype.getExtent = function getExtent (opt_extent) {\n if (this.extentRevision_ != this.getRevision()) {\n this.extent_ = this.computeExtent(this.extent_);\n this.extentRevision_ = this.getRevision();\n }\n return returnOrUpdate(this.extent_, opt_extent);\n };\n\n /**\n * Rotate the geometry around a given coordinate. This modifies the geometry\n * coordinates in place.\n * @abstract\n * @param {number} angle Rotation angle in radians.\n * @param {import(\"../coordinate.js\").Coordinate} anchor The rotation center.\n * @api\n */\n Geometry.prototype.rotate = function rotate (angle, anchor) {\n abstract();\n };\n\n /**\n * Scale the geometry (with an optional origin). This modifies the geometry\n * coordinates in place.\n * @abstract\n * @param {number} sx The scaling factor in the x-direction.\n * @param {number=} opt_sy The scaling factor in the y-direction (defaults to\n * sx).\n * @param {import(\"../coordinate.js\").Coordinate=} opt_anchor The scale origin (defaults to the center\n * of the geometry extent).\n * @api\n */\n Geometry.prototype.scale = function scale (sx, opt_sy, opt_anchor) {\n abstract();\n };\n\n /**\n * Create a simplified version of this geometry. For linestrings, this uses\n * the the {@link\n * https://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm\n * Douglas Peucker} algorithm. For polygons, a quantization-based\n * simplification is used to preserve topology.\n * @param {number} tolerance The tolerance distance for simplification.\n * @return {Geometry} A new, simplified version of the original geometry.\n * @api\n */\n Geometry.prototype.simplify = function simplify (tolerance) {\n return this.getSimplifiedGeometry(tolerance * tolerance);\n };\n\n /**\n * Create a simplified version of this geometry using the Douglas Peucker\n * algorithm.\n * See https://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm.\n * @abstract\n * @param {number} squaredTolerance Squared tolerance.\n * @return {Geometry} Simplified geometry.\n */\n Geometry.prototype.getSimplifiedGeometry = function getSimplifiedGeometry (squaredTolerance) {\n return abstract();\n };\n\n /**\n * Get the type of this geometry.\n * @abstract\n * @return {import(\"./GeometryType.js\").default} Geometry type.\n */\n Geometry.prototype.getType = function getType () {\n return abstract();\n };\n\n /**\n * Apply a transform function to each coordinate of the geometry.\n * The geometry is modified in place.\n * If you do not want the geometry modified in place, first `clone()` it and\n * then use this function on the clone.\n * @abstract\n * @param {import(\"../proj.js\").TransformFunction} transformFn Transform.\n */\n Geometry.prototype.applyTransform = function applyTransform (transformFn) {\n abstract();\n };\n\n /**\n * Test if the geometry and the passed extent intersect.\n * @abstract\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @return {boolean} `true` if the geometry and the extent intersect.\n */\n Geometry.prototype.intersectsExtent = function intersectsExtent (extent) {\n return abstract();\n };\n\n /**\n * Translate the geometry. This modifies the geometry coordinates in place. If\n * instead you want a new geometry, first `clone()` this geometry.\n * @abstract\n * @param {number} deltaX Delta X.\n * @param {number} deltaY Delta Y.\n * @api\n */\n Geometry.prototype.translate = function translate (deltaX, deltaY) {\n abstract();\n };\n\n /**\n * Transform each coordinate of the geometry from one coordinate reference\n * system to another. The geometry is modified in place.\n * For example, a line will be transformed to a line and a circle to a circle.\n * If you do not want the geometry modified in place, first `clone()` it and\n * then use this function on the clone.\n *\n * @param {import(\"../proj.js\").ProjectionLike} source The current projection. Can be a\n * string identifier or a {@link module:ol/proj/Projection~Projection} object.\n * @param {import(\"../proj.js\").ProjectionLike} destination The desired projection. Can be a\n * string identifier or a {@link module:ol/proj/Projection~Projection} object.\n * @return {Geometry} This geometry. Note that original geometry is\n * modified in place.\n * @api\n */\n Geometry.prototype.transform = function transform (source, destination) {\n /** @type {import(\"../proj/Projection.js\").default} */\n var sourceProj = getProjection(source);\n var transformFn = sourceProj.getUnits() == Units.TILE_PIXELS ?\n function(inCoordinates, outCoordinates, stride) {\n var pixelExtent = sourceProj.getExtent();\n var projectedExtent = sourceProj.getWorldExtent();\n var scale = getHeight(projectedExtent) / getHeight(pixelExtent);\n composeTransform(tmpTransform,\n projectedExtent[0], projectedExtent[3],\n scale, -scale, 0,\n 0, 0);\n transform2D(inCoordinates, 0, inCoordinates.length, stride,\n tmpTransform, outCoordinates);\n return getTransform(sourceProj, destination)(inCoordinates, outCoordinates, stride);\n } :\n getTransform(sourceProj, destination);\n this.applyTransform(transformFn);\n return this;\n };\n\n return Geometry;\n}(BaseObject));\n\n\nexport default Geometry;\n\n//# sourceMappingURL=Geometry.js.map","/**\n * @module ol/geom/SimpleGeometry\n */\nimport {abstract} from '../util.js';\nimport {createOrUpdateFromFlatCoordinates, getCenter} from '../extent.js';\nimport Geometry from './Geometry.js';\nimport GeometryLayout from './GeometryLayout.js';\nimport {rotate, scale, translate, transform2D} from './flat/transform.js';\nimport {clear} from '../obj.js';\n\n/**\n * @classdesc\n * Abstract base class; only used for creating subclasses; do not instantiate\n * in apps, as cannot be rendered.\n *\n * @abstract\n * @api\n */\nvar SimpleGeometry = /*@__PURE__*/(function (Geometry) {\n function SimpleGeometry() {\n\n Geometry.call(this);\n\n /**\n * @protected\n * @type {GeometryLayout}\n */\n this.layout = GeometryLayout.XY;\n\n /**\n * @protected\n * @type {number}\n */\n this.stride = 2;\n\n /**\n * @protected\n * @type {Array}\n */\n this.flatCoordinates = null;\n\n }\n\n if ( Geometry ) SimpleGeometry.__proto__ = Geometry;\n SimpleGeometry.prototype = Object.create( Geometry && Geometry.prototype );\n SimpleGeometry.prototype.constructor = SimpleGeometry;\n\n /**\n * @inheritDoc\n */\n SimpleGeometry.prototype.computeExtent = function computeExtent (extent) {\n return createOrUpdateFromFlatCoordinates(this.flatCoordinates,\n 0, this.flatCoordinates.length, this.stride, extent);\n };\n\n /**\n * @abstract\n * @return {Array} Coordinates.\n */\n SimpleGeometry.prototype.getCoordinates = function getCoordinates () {\n return abstract();\n };\n\n /**\n * Return the first coordinate of the geometry.\n * @return {import(\"../coordinate.js\").Coordinate} First coordinate.\n * @api\n */\n SimpleGeometry.prototype.getFirstCoordinate = function getFirstCoordinate () {\n return this.flatCoordinates.slice(0, this.stride);\n };\n\n /**\n * @return {Array} Flat coordinates.\n */\n SimpleGeometry.prototype.getFlatCoordinates = function getFlatCoordinates () {\n return this.flatCoordinates;\n };\n\n /**\n * Return the last coordinate of the geometry.\n * @return {import(\"../coordinate.js\").Coordinate} Last point.\n * @api\n */\n SimpleGeometry.prototype.getLastCoordinate = function getLastCoordinate () {\n return this.flatCoordinates.slice(this.flatCoordinates.length - this.stride);\n };\n\n /**\n * Return the {@link module:ol/geom/GeometryLayout layout} of the geometry.\n * @return {GeometryLayout} Layout.\n * @api\n */\n SimpleGeometry.prototype.getLayout = function getLayout () {\n return this.layout;\n };\n\n /**\n * @inheritDoc\n */\n SimpleGeometry.prototype.getSimplifiedGeometry = function getSimplifiedGeometry (squaredTolerance) {\n if (this.simplifiedGeometryRevision != this.getRevision()) {\n clear(this.simplifiedGeometryCache);\n this.simplifiedGeometryMaxMinSquaredTolerance = 0;\n this.simplifiedGeometryRevision = this.getRevision();\n }\n // If squaredTolerance is negative or if we know that simplification will not\n // have any effect then just return this.\n if (squaredTolerance < 0 ||\n (this.simplifiedGeometryMaxMinSquaredTolerance !== 0 &&\n squaredTolerance <= this.simplifiedGeometryMaxMinSquaredTolerance)) {\n return this;\n }\n var key = squaredTolerance.toString();\n if (this.simplifiedGeometryCache.hasOwnProperty(key)) {\n return this.simplifiedGeometryCache[key];\n } else {\n var simplifiedGeometry =\n this.getSimplifiedGeometryInternal(squaredTolerance);\n var simplifiedFlatCoordinates = simplifiedGeometry.getFlatCoordinates();\n if (simplifiedFlatCoordinates.length < this.flatCoordinates.length) {\n this.simplifiedGeometryCache[key] = simplifiedGeometry;\n return simplifiedGeometry;\n } else {\n // Simplification did not actually remove any coordinates. We now know\n // that any calls to getSimplifiedGeometry with a squaredTolerance less\n // than or equal to the current squaredTolerance will also not have any\n // effect. This allows us to short circuit simplification (saving CPU\n // cycles) and prevents the cache of simplified geometries from filling\n // up with useless identical copies of this geometry (saving memory).\n this.simplifiedGeometryMaxMinSquaredTolerance = squaredTolerance;\n return this;\n }\n }\n };\n\n /**\n * @param {number} squaredTolerance Squared tolerance.\n * @return {SimpleGeometry} Simplified geometry.\n * @protected\n */\n SimpleGeometry.prototype.getSimplifiedGeometryInternal = function getSimplifiedGeometryInternal (squaredTolerance) {\n return this;\n };\n\n /**\n * @return {number} Stride.\n */\n SimpleGeometry.prototype.getStride = function getStride () {\n return this.stride;\n };\n\n /**\n * @param {GeometryLayout} layout Layout.\n * @param {Array} flatCoordinates Flat coordinates.\n */\n SimpleGeometry.prototype.setFlatCoordinates = function setFlatCoordinates (layout, flatCoordinates) {\n this.stride = getStrideForLayout(layout);\n this.layout = layout;\n this.flatCoordinates = flatCoordinates;\n };\n\n /**\n * @abstract\n * @param {!Array} coordinates Coordinates.\n * @param {GeometryLayout=} opt_layout Layout.\n */\n SimpleGeometry.prototype.setCoordinates = function setCoordinates (coordinates, opt_layout) {\n abstract();\n };\n\n /**\n * @param {GeometryLayout|undefined} layout Layout.\n * @param {Array} coordinates Coordinates.\n * @param {number} nesting Nesting.\n * @protected\n */\n SimpleGeometry.prototype.setLayout = function setLayout (layout, coordinates, nesting) {\n /** @type {number} */\n var stride;\n if (layout) {\n stride = getStrideForLayout(layout);\n } else {\n for (var i = 0; i < nesting; ++i) {\n if (coordinates.length === 0) {\n this.layout = GeometryLayout.XY;\n this.stride = 2;\n return;\n } else {\n coordinates = /** @type {Array} */ (coordinates[0]);\n }\n }\n stride = coordinates.length;\n layout = getLayoutForStride(stride);\n }\n this.layout = layout;\n this.stride = stride;\n };\n\n /**\n * @inheritDoc\n * @api\n */\n SimpleGeometry.prototype.applyTransform = function applyTransform (transformFn) {\n if (this.flatCoordinates) {\n transformFn(this.flatCoordinates, this.flatCoordinates, this.stride);\n this.changed();\n }\n };\n\n /**\n * @inheritDoc\n * @api\n */\n SimpleGeometry.prototype.rotate = function rotate$1 (angle, anchor) {\n var flatCoordinates = this.getFlatCoordinates();\n if (flatCoordinates) {\n var stride = this.getStride();\n rotate(\n flatCoordinates, 0, flatCoordinates.length,\n stride, angle, anchor, flatCoordinates);\n this.changed();\n }\n };\n\n /**\n * @inheritDoc\n * @api\n */\n SimpleGeometry.prototype.scale = function scale$1 (sx, opt_sy, opt_anchor) {\n var sy = opt_sy;\n if (sy === undefined) {\n sy = sx;\n }\n var anchor = opt_anchor;\n if (!anchor) {\n anchor = getCenter(this.getExtent());\n }\n var flatCoordinates = this.getFlatCoordinates();\n if (flatCoordinates) {\n var stride = this.getStride();\n scale(\n flatCoordinates, 0, flatCoordinates.length,\n stride, sx, sy, anchor, flatCoordinates);\n this.changed();\n }\n };\n\n /**\n * @inheritDoc\n * @api\n */\n SimpleGeometry.prototype.translate = function translate$1 (deltaX, deltaY) {\n var flatCoordinates = this.getFlatCoordinates();\n if (flatCoordinates) {\n var stride = this.getStride();\n translate(\n flatCoordinates, 0, flatCoordinates.length, stride,\n deltaX, deltaY, flatCoordinates);\n this.changed();\n }\n };\n\n return SimpleGeometry;\n}(Geometry));\n\n\n/**\n * @param {number} stride Stride.\n * @return {GeometryLayout} layout Layout.\n */\nfunction getLayoutForStride(stride) {\n var layout;\n if (stride == 2) {\n layout = GeometryLayout.XY;\n } else if (stride == 3) {\n layout = GeometryLayout.XYZ;\n } else if (stride == 4) {\n layout = GeometryLayout.XYZM;\n }\n return (\n /** @type {GeometryLayout} */ (layout)\n );\n}\n\n\n/**\n * @param {GeometryLayout} layout Layout.\n * @return {number} Stride.\n */\nexport function getStrideForLayout(layout) {\n var stride;\n if (layout == GeometryLayout.XY) {\n stride = 2;\n } else if (layout == GeometryLayout.XYZ || layout == GeometryLayout.XYM) {\n stride = 3;\n } else if (layout == GeometryLayout.XYZM) {\n stride = 4;\n }\n return /** @type {number} */ (stride);\n}\n\n\n/**\n * @param {SimpleGeometry} simpleGeometry Simple geometry.\n * @param {import(\"../transform.js\").Transform} transform Transform.\n * @param {Array=} opt_dest Destination.\n * @return {Array} Transformed flat coordinates.\n */\nexport function transformGeom2D(simpleGeometry, transform, opt_dest) {\n var flatCoordinates = simpleGeometry.getFlatCoordinates();\n if (!flatCoordinates) {\n return null;\n } else {\n var stride = simpleGeometry.getStride();\n return transform2D(\n flatCoordinates, 0, flatCoordinates.length, stride,\n transform, opt_dest);\n }\n}\n\nexport default SimpleGeometry;\n\n//# sourceMappingURL=SimpleGeometry.js.map","/**\n * @module ol/geom/flat/inflate\n */\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {Array=} opt_coordinates Coordinates.\n * @return {Array} Coordinates.\n */\nexport function inflateCoordinates(flatCoordinates, offset, end, stride, opt_coordinates) {\n var coordinates = opt_coordinates !== undefined ? opt_coordinates : [];\n var i = 0;\n for (var j = offset; j < end; j += stride) {\n coordinates[i++] = flatCoordinates.slice(j, j + stride);\n }\n coordinates.length = i;\n return coordinates;\n}\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @param {Array>=} opt_coordinatess Coordinatess.\n * @return {Array>} Coordinatess.\n */\nexport function inflateCoordinatesArray(flatCoordinates, offset, ends, stride, opt_coordinatess) {\n var coordinatess = opt_coordinatess !== undefined ? opt_coordinatess : [];\n var i = 0;\n for (var j = 0, jj = ends.length; j < jj; ++j) {\n var end = ends[j];\n coordinatess[i++] = inflateCoordinates(\n flatCoordinates, offset, end, stride, coordinatess[i]);\n offset = end;\n }\n coordinatess.length = i;\n return coordinatess;\n}\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array>} endss Endss.\n * @param {number} stride Stride.\n * @param {Array>>=} opt_coordinatesss\n * Coordinatesss.\n * @return {Array>>} Coordinatesss.\n */\nexport function inflateMultiCoordinatesArray(flatCoordinates, offset, endss, stride, opt_coordinatesss) {\n var coordinatesss = opt_coordinatesss !== undefined ? opt_coordinatesss : [];\n var i = 0;\n for (var j = 0, jj = endss.length; j < jj; ++j) {\n var ends = endss[j];\n coordinatesss[i++] = inflateCoordinatesArray(\n flatCoordinates, offset, ends, stride, coordinatesss[i]);\n offset = ends[ends.length - 1];\n }\n coordinatesss.length = i;\n return coordinatesss;\n}\n\n//# sourceMappingURL=inflate.js.map","/**\n * @module ol/geom/flat/contains\n */\nimport {forEachCorner} from '../../extent.js';\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {import(\"../../extent.js\").Extent} extent Extent.\n * @return {boolean} Contains extent.\n */\nexport function linearRingContainsExtent(flatCoordinates, offset, end, stride, extent) {\n var outside = forEachCorner(extent,\n /**\n * @param {import(\"../../coordinate.js\").Coordinate} coordinate Coordinate.\n * @return {boolean} Contains (x, y).\n */\n function(coordinate) {\n return !linearRingContainsXY(flatCoordinates, offset, end, stride, coordinate[0], coordinate[1]);\n });\n return !outside;\n}\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} x X.\n * @param {number} y Y.\n * @return {boolean} Contains (x, y).\n */\nexport function linearRingContainsXY(flatCoordinates, offset, end, stride, x, y) {\n // http://geomalgorithms.com/a03-_inclusion.html\n // Copyright 2000 softSurfer, 2012 Dan Sunday\n // This code may be freely used and modified for any purpose\n // providing that this copyright notice is included with it.\n // SoftSurfer makes no warranty for this code, and cannot be held\n // liable for any real or imagined damage resulting from its use.\n // Users of this code must verify correctness for their application.\n var wn = 0;\n var x1 = flatCoordinates[end - stride];\n var y1 = flatCoordinates[end - stride + 1];\n for (; offset < end; offset += stride) {\n var x2 = flatCoordinates[offset];\n var y2 = flatCoordinates[offset + 1];\n if (y1 <= y) {\n if (y2 > y && ((x2 - x1) * (y - y1)) - ((x - x1) * (y2 - y1)) > 0) {\n wn++;\n }\n } else if (y2 <= y && ((x2 - x1) * (y - y1)) - ((x - x1) * (y2 - y1)) < 0) {\n wn--;\n }\n x1 = x2;\n y1 = y2;\n }\n return wn !== 0;\n}\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @param {number} x X.\n * @param {number} y Y.\n * @return {boolean} Contains (x, y).\n */\nexport function linearRingsContainsXY(flatCoordinates, offset, ends, stride, x, y) {\n if (ends.length === 0) {\n return false;\n }\n if (!linearRingContainsXY(flatCoordinates, offset, ends[0], stride, x, y)) {\n return false;\n }\n for (var i = 1, ii = ends.length; i < ii; ++i) {\n if (linearRingContainsXY(flatCoordinates, ends[i - 1], ends[i], stride, x, y)) {\n return false;\n }\n }\n return true;\n}\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array>} endss Endss.\n * @param {number} stride Stride.\n * @param {number} x X.\n * @param {number} y Y.\n * @return {boolean} Contains (x, y).\n */\nexport function linearRingssContainsXY(flatCoordinates, offset, endss, stride, x, y) {\n if (endss.length === 0) {\n return false;\n }\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n var ends = endss[i];\n if (linearRingsContainsXY(flatCoordinates, offset, ends, stride, x, y)) {\n return true;\n }\n offset = ends[ends.length - 1];\n }\n return false;\n}\n\n//# sourceMappingURL=contains.js.map","/**\n * @module ol/rotationconstraint\n */\nimport {toRadians} from './math.js';\n\n\n/**\n * @typedef {function((number|undefined), number): (number|undefined)} Type\n */\n\n\n/**\n * @param {number|undefined} rotation Rotation.\n * @param {number} delta Delta.\n * @return {number|undefined} Rotation.\n */\nexport function disable(rotation, delta) {\n if (rotation !== undefined) {\n return 0;\n } else {\n return undefined;\n }\n}\n\n\n/**\n * @param {number|undefined} rotation Rotation.\n * @param {number} delta Delta.\n * @return {number|undefined} Rotation.\n */\nexport function none(rotation, delta) {\n if (rotation !== undefined) {\n return rotation + delta;\n } else {\n return undefined;\n }\n}\n\n\n/**\n * @param {number} n N.\n * @return {Type} Rotation constraint.\n */\nexport function createSnapToN(n) {\n var theta = 2 * Math.PI / n;\n return (\n /**\n * @param {number|undefined} rotation Rotation.\n * @param {number} delta Delta.\n * @return {number|undefined} Rotation.\n */\n function(rotation, delta) {\n if (rotation !== undefined) {\n rotation = Math.floor((rotation + delta) / theta + 0.5) * theta;\n return rotation;\n } else {\n return undefined;\n }\n });\n}\n\n\n/**\n * @param {number=} opt_tolerance Tolerance.\n * @return {Type} Rotation constraint.\n */\nexport function createSnapToZero(opt_tolerance) {\n var tolerance = opt_tolerance || toRadians(5);\n return (\n /**\n * @param {number|undefined} rotation Rotation.\n * @param {number} delta Delta.\n * @return {number|undefined} Rotation.\n */\n function(rotation, delta) {\n if (rotation !== undefined) {\n if (Math.abs(rotation + delta) <= tolerance) {\n return 0;\n } else {\n return rotation + delta;\n }\n } else {\n return undefined;\n }\n });\n}\n\n//# sourceMappingURL=rotationconstraint.js.map","/**\n * @module ol/layer/TileProperty\n */\n\n/**\n * @enum {string}\n */\nexport default {\n PRELOAD: 'preload',\n USE_INTERIM_TILES_ON_ERROR: 'useInterimTilesOnError'\n};\n\n//# sourceMappingURL=TileProperty.js.map","/**\n * @module ol/style/Stroke\n */\nimport {getUid} from '../util.js';\n\n\n/**\n * @typedef {Object} Options\n * @property {import(\"../color.js\").Color|import(\"../colorlike.js\").ColorLike} [color] A color, gradient or pattern.\n * See {@link module:ol/color~Color} and {@link module:ol/colorlike~ColorLike} for possible formats.\n * Default null; if null, the Canvas/renderer default black will be used.\n * @property {string} [lineCap='round'] Line cap style: `butt`, `round`, or `square`.\n * @property {string} [lineJoin='round'] Line join style: `bevel`, `round`, or `miter`.\n * @property {Array} [lineDash] Line dash pattern. Default is `undefined` (no dash).\n * Please note that Internet Explorer 10 and lower do not support the `setLineDash` method on\n * the `CanvasRenderingContext2D` and therefore this option will have no visual effect in these browsers.\n * @property {number} [lineDashOffset=0] Line dash offset.\n * @property {number} [miterLimit=10] Miter limit.\n * @property {number} [width] Width.\n */\n\n\n/**\n * @classdesc\n * Set stroke style for vector features.\n * Note that the defaults given are the Canvas defaults, which will be used if\n * option is not defined. The `get` functions return whatever was entered in\n * the options; they will not return the default.\n * @api\n */\nvar Stroke = function Stroke(opt_options) {\n\n var options = opt_options || {};\n\n /**\n * @private\n * @type {import(\"../color.js\").Color|import(\"../colorlike.js\").ColorLike}\n */\n this.color_ = options.color !== undefined ? options.color : null;\n\n /**\n * @private\n * @type {string|undefined}\n */\n this.lineCap_ = options.lineCap;\n\n /**\n * @private\n * @type {Array}\n */\n this.lineDash_ = options.lineDash !== undefined ? options.lineDash : null;\n\n /**\n * @private\n * @type {number|undefined}\n */\n this.lineDashOffset_ = options.lineDashOffset;\n\n /**\n * @private\n * @type {string|undefined}\n */\n this.lineJoin_ = options.lineJoin;\n\n /**\n * @private\n * @type {number|undefined}\n */\n this.miterLimit_ = options.miterLimit;\n\n /**\n * @private\n * @type {number|undefined}\n */\n this.width_ = options.width;\n\n /**\n * @private\n * @type {string|undefined}\n */\n this.checksum_ = undefined;\n};\n\n/**\n * Clones the style.\n * @return {Stroke} The cloned style.\n * @api\n */\nStroke.prototype.clone = function clone () {\n var color = this.getColor();\n return new Stroke({\n color: Array.isArray(color) ? color.slice() : color || undefined,\n lineCap: this.getLineCap(),\n lineDash: this.getLineDash() ? this.getLineDash().slice() : undefined,\n lineDashOffset: this.getLineDashOffset(),\n lineJoin: this.getLineJoin(),\n miterLimit: this.getMiterLimit(),\n width: this.getWidth()\n });\n};\n\n/**\n * Get the stroke color.\n * @return {import(\"../color.js\").Color|import(\"../colorlike.js\").ColorLike} Color.\n * @api\n */\nStroke.prototype.getColor = function getColor () {\n return this.color_;\n};\n\n/**\n * Get the line cap type for the stroke.\n * @return {string|undefined} Line cap.\n * @api\n */\nStroke.prototype.getLineCap = function getLineCap () {\n return this.lineCap_;\n};\n\n/**\n * Get the line dash style for the stroke.\n * @return {Array} Line dash.\n * @api\n */\nStroke.prototype.getLineDash = function getLineDash () {\n return this.lineDash_;\n};\n\n/**\n * Get the line dash offset for the stroke.\n * @return {number|undefined} Line dash offset.\n * @api\n */\nStroke.prototype.getLineDashOffset = function getLineDashOffset () {\n return this.lineDashOffset_;\n};\n\n/**\n * Get the line join type for the stroke.\n * @return {string|undefined} Line join.\n * @api\n */\nStroke.prototype.getLineJoin = function getLineJoin () {\n return this.lineJoin_;\n};\n\n/**\n * Get the miter limit for the stroke.\n * @return {number|undefined} Miter limit.\n * @api\n */\nStroke.prototype.getMiterLimit = function getMiterLimit () {\n return this.miterLimit_;\n};\n\n/**\n * Get the stroke width.\n * @return {number|undefined} Width.\n * @api\n */\nStroke.prototype.getWidth = function getWidth () {\n return this.width_;\n};\n\n/**\n * Set the color.\n *\n * @param {import(\"../color.js\").Color|import(\"../colorlike.js\").ColorLike} color Color.\n * @api\n */\nStroke.prototype.setColor = function setColor (color) {\n this.color_ = color;\n this.checksum_ = undefined;\n};\n\n/**\n * Set the line cap.\n *\n * @param {string|undefined} lineCap Line cap.\n * @api\n */\nStroke.prototype.setLineCap = function setLineCap (lineCap) {\n this.lineCap_ = lineCap;\n this.checksum_ = undefined;\n};\n\n/**\n * Set the line dash.\n *\n * Please note that Internet Explorer 10 and lower [do not support][mdn] the\n * `setLineDash` method on the `CanvasRenderingContext2D` and therefore this\n * property will have no visual effect in these browsers.\n *\n * [mdn]: https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash#Browser_compatibility\n *\n * @param {Array} lineDash Line dash.\n * @api\n */\nStroke.prototype.setLineDash = function setLineDash (lineDash) {\n this.lineDash_ = lineDash;\n this.checksum_ = undefined;\n};\n\n/**\n * Set the line dash offset.\n *\n * @param {number|undefined} lineDashOffset Line dash offset.\n * @api\n */\nStroke.prototype.setLineDashOffset = function setLineDashOffset (lineDashOffset) {\n this.lineDashOffset_ = lineDashOffset;\n this.checksum_ = undefined;\n};\n\n/**\n * Set the line join.\n *\n * @param {string|undefined} lineJoin Line join.\n * @api\n */\nStroke.prototype.setLineJoin = function setLineJoin (lineJoin) {\n this.lineJoin_ = lineJoin;\n this.checksum_ = undefined;\n};\n\n/**\n * Set the miter limit.\n *\n * @param {number|undefined} miterLimit Miter limit.\n * @api\n */\nStroke.prototype.setMiterLimit = function setMiterLimit (miterLimit) {\n this.miterLimit_ = miterLimit;\n this.checksum_ = undefined;\n};\n\n/**\n * Set the width.\n *\n * @param {number|undefined} width Width.\n * @api\n */\nStroke.prototype.setWidth = function setWidth (width) {\n this.width_ = width;\n this.checksum_ = undefined;\n};\n\n/**\n * @return {string} The checksum.\n */\nStroke.prototype.getChecksum = function getChecksum () {\n if (this.checksum_ === undefined) {\n this.checksum_ = 's';\n if (this.color_) {\n if (typeof this.color_ === 'string') {\n this.checksum_ += this.color_;\n } else {\n this.checksum_ += getUid(this.color_);\n }\n } else {\n this.checksum_ += '-';\n }\n this.checksum_ += ',' +\n (this.lineCap_ !== undefined ?\n this.lineCap_.toString() : '-') + ',' +\n (this.lineDash_ ?\n this.lineDash_.toString() : '-') + ',' +\n (this.lineDashOffset_ !== undefined ?\n this.lineDashOffset_ : '-') + ',' +\n (this.lineJoin_ !== undefined ?\n this.lineJoin_ : '-') + ',' +\n (this.miterLimit_ !== undefined ?\n this.miterLimit_.toString() : '-') + ',' +\n (this.width_ !== undefined ?\n this.width_.toString() : '-');\n }\n\n return this.checksum_;\n};\n\nexport default Stroke;\n\n//# sourceMappingURL=Stroke.js.map","/**\n * @module ol/geom/flat/closest\n */\nimport {lerp, squaredDistance as squaredDx} from '../../math.js';\n\n\n/**\n * Returns the point on the 2D line segment flatCoordinates[offset1] to\n * flatCoordinates[offset2] that is closest to the point (x, y). Extra\n * dimensions are linearly interpolated.\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset1 Offset 1.\n * @param {number} offset2 Offset 2.\n * @param {number} stride Stride.\n * @param {number} x X.\n * @param {number} y Y.\n * @param {Array} closestPoint Closest point.\n */\nfunction assignClosest(flatCoordinates, offset1, offset2, stride, x, y, closestPoint) {\n var x1 = flatCoordinates[offset1];\n var y1 = flatCoordinates[offset1 + 1];\n var dx = flatCoordinates[offset2] - x1;\n var dy = flatCoordinates[offset2 + 1] - y1;\n var offset;\n if (dx === 0 && dy === 0) {\n offset = offset1;\n } else {\n var t = ((x - x1) * dx + (y - y1) * dy) / (dx * dx + dy * dy);\n if (t > 1) {\n offset = offset2;\n } else if (t > 0) {\n for (var i = 0; i < stride; ++i) {\n closestPoint[i] = lerp(flatCoordinates[offset1 + i],\n flatCoordinates[offset2 + i], t);\n }\n closestPoint.length = stride;\n return;\n } else {\n offset = offset1;\n }\n }\n for (var i$1 = 0; i$1 < stride; ++i$1) {\n closestPoint[i$1] = flatCoordinates[offset + i$1];\n }\n closestPoint.length = stride;\n}\n\n\n/**\n * Return the squared of the largest distance between any pair of consecutive\n * coordinates.\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} max Max squared delta.\n * @return {number} Max squared delta.\n */\nexport function maxSquaredDelta(flatCoordinates, offset, end, stride, max) {\n var x1 = flatCoordinates[offset];\n var y1 = flatCoordinates[offset + 1];\n for (offset += stride; offset < end; offset += stride) {\n var x2 = flatCoordinates[offset];\n var y2 = flatCoordinates[offset + 1];\n var squaredDelta = squaredDx(x1, y1, x2, y2);\n if (squaredDelta > max) {\n max = squaredDelta;\n }\n x1 = x2;\n y1 = y2;\n }\n return max;\n}\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @param {number} max Max squared delta.\n * @return {number} Max squared delta.\n */\nexport function arrayMaxSquaredDelta(flatCoordinates, offset, ends, stride, max) {\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n var end = ends[i];\n max = maxSquaredDelta(\n flatCoordinates, offset, end, stride, max);\n offset = end;\n }\n return max;\n}\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array>} endss Endss.\n * @param {number} stride Stride.\n * @param {number} max Max squared delta.\n * @return {number} Max squared delta.\n */\nexport function multiArrayMaxSquaredDelta(flatCoordinates, offset, endss, stride, max) {\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n var ends = endss[i];\n max = arrayMaxSquaredDelta(\n flatCoordinates, offset, ends, stride, max);\n offset = ends[ends.length - 1];\n }\n return max;\n}\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} maxDelta Max delta.\n * @param {boolean} isRing Is ring.\n * @param {number} x X.\n * @param {number} y Y.\n * @param {Array} closestPoint Closest point.\n * @param {number} minSquaredDistance Minimum squared distance.\n * @param {Array=} opt_tmpPoint Temporary point object.\n * @return {number} Minimum squared distance.\n */\nexport function assignClosestPoint(flatCoordinates, offset, end,\n stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance,\n opt_tmpPoint) {\n if (offset == end) {\n return minSquaredDistance;\n }\n var i, squaredDistance;\n if (maxDelta === 0) {\n // All points are identical, so just test the first point.\n squaredDistance = squaredDx(\n x, y, flatCoordinates[offset], flatCoordinates[offset + 1]);\n if (squaredDistance < minSquaredDistance) {\n for (i = 0; i < stride; ++i) {\n closestPoint[i] = flatCoordinates[offset + i];\n }\n closestPoint.length = stride;\n return squaredDistance;\n } else {\n return minSquaredDistance;\n }\n }\n var tmpPoint = opt_tmpPoint ? opt_tmpPoint : [NaN, NaN];\n var index = offset + stride;\n while (index < end) {\n assignClosest(\n flatCoordinates, index - stride, index, stride, x, y, tmpPoint);\n squaredDistance = squaredDx(x, y, tmpPoint[0], tmpPoint[1]);\n if (squaredDistance < minSquaredDistance) {\n minSquaredDistance = squaredDistance;\n for (i = 0; i < stride; ++i) {\n closestPoint[i] = tmpPoint[i];\n }\n closestPoint.length = stride;\n index += stride;\n } else {\n // Skip ahead multiple points, because we know that all the skipped\n // points cannot be any closer than the closest point we have found so\n // far. We know this because we know how close the current point is, how\n // close the closest point we have found so far is, and the maximum\n // distance between consecutive points. For example, if we're currently\n // at distance 10, the best we've found so far is 3, and that the maximum\n // distance between consecutive points is 2, then we'll need to skip at\n // least (10 - 3) / 2 == 3 (rounded down) points to have any chance of\n // finding a closer point. We use Math.max(..., 1) to ensure that we\n // always advance at least one point, to avoid an infinite loop.\n index += stride * Math.max(\n ((Math.sqrt(squaredDistance) -\n Math.sqrt(minSquaredDistance)) / maxDelta) | 0, 1);\n }\n }\n if (isRing) {\n // Check the closing segment.\n assignClosest(\n flatCoordinates, end - stride, offset, stride, x, y, tmpPoint);\n squaredDistance = squaredDx(x, y, tmpPoint[0], tmpPoint[1]);\n if (squaredDistance < minSquaredDistance) {\n minSquaredDistance = squaredDistance;\n for (i = 0; i < stride; ++i) {\n closestPoint[i] = tmpPoint[i];\n }\n closestPoint.length = stride;\n }\n }\n return minSquaredDistance;\n}\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @param {number} maxDelta Max delta.\n * @param {boolean} isRing Is ring.\n * @param {number} x X.\n * @param {number} y Y.\n * @param {Array} closestPoint Closest point.\n * @param {number} minSquaredDistance Minimum squared distance.\n * @param {Array=} opt_tmpPoint Temporary point object.\n * @return {number} Minimum squared distance.\n */\nexport function assignClosestArrayPoint(flatCoordinates, offset, ends,\n stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance,\n opt_tmpPoint) {\n var tmpPoint = opt_tmpPoint ? opt_tmpPoint : [NaN, NaN];\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n var end = ends[i];\n minSquaredDistance = assignClosestPoint(\n flatCoordinates, offset, end, stride,\n maxDelta, isRing, x, y, closestPoint, minSquaredDistance, tmpPoint);\n offset = end;\n }\n return minSquaredDistance;\n}\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array>} endss Endss.\n * @param {number} stride Stride.\n * @param {number} maxDelta Max delta.\n * @param {boolean} isRing Is ring.\n * @param {number} x X.\n * @param {number} y Y.\n * @param {Array} closestPoint Closest point.\n * @param {number} minSquaredDistance Minimum squared distance.\n * @param {Array=} opt_tmpPoint Temporary point object.\n * @return {number} Minimum squared distance.\n */\nexport function assignClosestMultiArrayPoint(flatCoordinates, offset,\n endss, stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance,\n opt_tmpPoint) {\n var tmpPoint = opt_tmpPoint ? opt_tmpPoint : [NaN, NaN];\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n var ends = endss[i];\n minSquaredDistance = assignClosestArrayPoint(\n flatCoordinates, offset, ends, stride,\n maxDelta, isRing, x, y, closestPoint, minSquaredDistance, tmpPoint);\n offset = ends[ends.length - 1];\n }\n return minSquaredDistance;\n}\n\n//# sourceMappingURL=closest.js.map","/**\n * @module ol/style/Style\n */\n\n/**\n * Feature styles.\n *\n * If no style is defined, the following default style is used:\n * ```js\n * import {Fill, Stroke, Circle, Style} from 'ol/style';\n *\n * var fill = new Fill({\n * color: 'rgba(255,255,255,0.4)'\n * });\n * var stroke = new Stroke({\n * color: '#3399CC',\n * width: 1.25\n * });\n * var styles = [\n * new Style({\n * image: new Circle({\n * fill: fill,\n * stroke: stroke,\n * radius: 5\n * }),\n * fill: fill,\n * stroke: stroke\n * })\n * ];\n * ```\n *\n * A separate editing style has the following defaults:\n * ```js\n * import {Fill, Stroke, Circle, Style} from 'ol/style';\n * import GeometryType from 'ol/geom/GeometryType';\n *\n * var white = [255, 255, 255, 1];\n * var blue = [0, 153, 255, 1];\n * var width = 3;\n * styles[GeometryType.POLYGON] = [\n * new Style({\n * fill: new Fill({\n * color: [255, 255, 255, 0.5]\n * })\n * })\n * ];\n * styles[GeometryType.MULTI_POLYGON] =\n * styles[GeometryType.POLYGON];\n * styles[GeometryType.LINE_STRING] = [\n * new Style({\n * stroke: new Stroke({\n * color: white,\n * width: width + 2\n * })\n * }),\n * new Style({\n * stroke: new Stroke({\n * color: blue,\n * width: width\n * })\n * })\n * ];\n * styles[GeometryType.MULTI_LINE_STRING] =\n * styles[GeometryType.LINE_STRING];\n * styles[GeometryType.POINT] = [\n * new Style({\n * image: new Circle({\n * radius: width * 2,\n * fill: new Fill({\n * color: blue\n * }),\n * stroke: new Stroke({\n * color: white,\n * width: width / 2\n * })\n * }),\n * zIndex: Infinity\n * })\n * ];\n * styles[GeometryType.MULTI_POINT] =\n * styles[GeometryType.POINT];\n * styles[GeometryType.GEOMETRY_COLLECTION] =\n * styles[GeometryType.POLYGON].concat(\n * styles[GeometryType.LINE_STRING],\n * styles[GeometryType.POINT]\n * );\n * ```\n */\nimport {assert} from '../asserts.js';\nimport GeometryType from '../geom/GeometryType.js';\nimport CircleStyle from './Circle.js';\nimport Fill from './Fill.js';\nimport Stroke from './Stroke.js';\n\n\n/**\n * A function that takes an {@link module:ol/Feature} and a `{number}`\n * representing the view's resolution. The function should return a\n * {@link module:ol/style/Style} or an array of them. This way e.g. a\n * vector layer can be styled.\n *\n * @typedef {function(import(\"../Feature.js\").FeatureLike, number):(Style|Array