diff --git a/README.md b/README.md index f99670a..c30dbf8 100644 --- a/README.md +++ b/README.md @@ -26,10 +26,10 @@ npm run build ### CDN引用 ```bash -https://unpkg.com/hmap-js@1.3.5/dist/HMap.js -https://unpkg.com/hmap-js@1.3.5/dist/HMap.min.js -https://unpkg.com/hmap-js@1.3.5/dist/HMap.css -https://unpkg.com/hmap-js@1.3.5/dist/HMap.min.css +https://unpkg.com/hmap-js@1.3.6/dist/HMap.js +https://unpkg.com/hmap-js@1.3.6/dist/HMap.min.js +https://unpkg.com/hmap-js@1.3.6/dist/HMap.css +https://unpkg.com/hmap-js@1.3.6/dist/HMap.min.css ``` ### NPM包管理 @@ -63,25 +63,25 @@ import HMap from 'hmap-js' > vue和angular2搭配es6使用时可以采用 ```javascript -import HMap from '../dist/HMap' -let Maps = new HMap.Map() -Maps.initMap('map', { - view: { - center: [0, 0], - // constrainRotation: false, // 旋转角度约束 - enableRotation: true, // 是否允许旋转 -// extent: [], -// maxResolution: 0, // 非必须参数 -// minResolution: 0, // 非必须参数 -// maxZoom: 19, // 非必须参数 -// minZoom: 0, // 非必须参数 - projection: 'EPSG:3857', - rotation: 0, - zoom: 0, // resolution - zoomFactor: 2 // 用于约束分变率的缩放因子(高分辨率设备需要注意) - } -}) -console.log(Maps) +var Maps = new HMap.Map(); + Maps.initMap('map', { + view: { + center: [12118909.300259633, 4086043.1061670054], +// center: [115.92466595234826, 27.428038204473552], + projection: 'EPSG:3857', +// projection: 'EPSG:4326', + zoom: 5, // resolution + }, + baseLayers: [ + { + layerName: 'openstreetmap', + isDefault: true, + layerType: 'OSM', + opaque: true, //图层是否不透明 + layerUrl: 'https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png' + } + ] + }) ``` ## 截图示例 diff --git a/dist/HMap.js b/dist/HMap.js index 7c05eea..16cb84f 100644 --- a/dist/HMap.js +++ b/dist/HMap.js @@ -27909,7 +27909,7 @@ function sExpr(v, obj) { module.exports = { "name": "hmap-js", - "version": "1.3.5", + "version": "1.3.6", "private": false, "description": "WEBGIS API", "keywords": [ diff --git a/dist/HMap.js.map b/dist/HMap.js.map index b277274..8b0ae14 100644 --- a/dist/HMap.js.map +++ b/dist/HMap.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap bb7b9781b1017fdf821b","webpack:///./~/core-js/modules/_export.js","webpack:///./src/constants.js","webpack:///./~/core-js/modules/_an-object.js","webpack:///./~/core-js/modules/_global.js","webpack:///./~/proj4/lib/constants/values.js","webpack:///./~/core-js/modules/_fails.js","webpack:///./~/core-js/modules/_is-object.js","webpack:///./src/plot/Utils/PlotTypes.js","webpack:///./~/core-js/modules/_wks.js","webpack:///./~/proj4/lib/common/adjust_lon.js","webpack:///./~/core-js/modules/_descriptors.js","webpack:///./~/core-js/modules/_object-dp.js","webpack:///./~/core-js/modules/_to-length.js","webpack:///./src/plot/Utils/utils.js","webpack:///./~/core-js/modules/_to-object.js","webpack:///./~/core-js/modules/_has.js","webpack:///./~/core-js/modules/_a-function.js","webpack:///./~/core-js/modules/_hide.js","webpack:///./~/core-js/modules/_redefine.js","webpack:///./~/core-js/modules/_string-html.js","webpack:///./~/core-js/modules/_to-iobject.js","webpack:///./~/core-js/modules/_object-gopd.js","webpack:///./~/core-js/modules/_object-gpo.js","webpack:///./~/core-js/modules/_cof.js","webpack:///./~/core-js/modules/_defined.js","webpack:///./~/core-js/modules/_strict-method.js","webpack:///./src/plot/Constants.js","webpack:///./~/core-js/modules/_array-methods.js","webpack:///./~/core-js/modules/_object-sap.js","webpack:///./~/core-js/modules/_to-primitive.js","webpack:///./~/core-js/modules/_core.js","webpack:///./~/core-js/modules/_ctx.js","webpack:///./~/core-js/modules/_metadata.js","webpack:///./~/core-js/modules/_typed-array.js","webpack:///./~/core-js/modules/_meta.js","webpack:///./~/core-js/modules/_property-desc.js","webpack:///./~/core-js/modules/_to-integer.js","webpack:///./src/utils/mixin.js","webpack:///./~/core-js/modules/_an-instance.js","webpack:///./~/core-js/modules/_library.js","webpack:///./~/core-js/modules/_object-create.js","webpack:///./~/core-js/modules/_object-gopn.js","webpack:///./~/core-js/modules/_object-keys.js","webpack:///./~/core-js/modules/_redefine-all.js","webpack:///./~/core-js/modules/_set-species.js","webpack:///./~/core-js/modules/_to-index.js","webpack:///./~/core-js/modules/_uid.js","webpack:///./src/dom/index.js","webpack:///./src/layer/Layer.js","webpack:///./src/style/Style.js","webpack:///./src/utils/utils.js","webpack:///./~/core-js/modules/_add-to-unscopables.js","webpack:///./~/core-js/modules/_for-of.js","webpack:///./~/core-js/modules/_iterators.js","webpack:///./~/core-js/modules/_set-to-string-tag.js","webpack:///./~/core-js/modules/_string-trim.js","webpack:///./~/proj4/lib/common/asinz.js","webpack:///./~/proj4/lib/common/msfnz.js","webpack:///./~/core-js/modules/_classof.js","webpack:///./~/core-js/modules/_iobject.js","webpack:///./~/core-js/modules/_object-pie.js","webpack:///./~/proj4/lib/common/adjust_lat.js","webpack:///./~/proj4/lib/common/sign.js","webpack:///./src/plot/Geometry/Arrow/AttackArrow.js","webpack:///./~/core-js/modules/_array-includes.js","webpack:///./~/core-js/modules/_collection.js","webpack:///./~/core-js/modules/_fix-re-wks.js","webpack:///./~/core-js/modules/_flags.js","webpack:///./~/core-js/modules/_invoke.js","webpack:///./~/core-js/modules/_is-regexp.js","webpack:///./~/core-js/modules/_iter-detect.js","webpack:///./~/core-js/modules/_object-forced-pam.js","webpack:///./~/core-js/modules/_object-gops.js","webpack:///./~/core-js/modules/_shared.js","webpack:///./~/core-js/modules/_typed.js","webpack:///./~/proj4/lib/common/e0fn.js","webpack:///./~/proj4/lib/common/e1fn.js","webpack:///./~/proj4/lib/common/e2fn.js","webpack:///./~/proj4/lib/common/e3fn.js","webpack:///./~/proj4/lib/common/mlfn.js","webpack:///./~/proj4/lib/common/phi2z.js","webpack:///./~/proj4/lib/common/tsfnz.js","webpack:///./src/feature/feature.js","webpack:///./~/core-js/modules/_array-fill.js","webpack:///./~/core-js/modules/_create-property.js","webpack:///./~/core-js/modules/_dom-create.js","webpack:///./~/core-js/modules/_enum-bug-keys.js","webpack:///./~/core-js/modules/_fails-is-regexp.js","webpack:///./~/core-js/modules/_html.js","webpack:///./~/core-js/modules/_inherit-if-required.js","webpack:///./~/core-js/modules/_is-array-iter.js","webpack:///./~/core-js/modules/_is-array.js","webpack:///./~/core-js/modules/_iter-create.js","webpack:///./~/core-js/modules/_iter-define.js","webpack:///./~/core-js/modules/_math-expm1.js","webpack:///./~/core-js/modules/_math-sign.js","webpack:///./~/core-js/modules/_microtask.js","webpack:///./~/core-js/modules/_set-proto.js","webpack:///./~/core-js/modules/_shared-key.js","webpack:///./~/core-js/modules/_species-constructor.js","webpack:///./~/core-js/modules/_string-at.js","webpack:///./~/core-js/modules/_string-context.js","webpack:///./~/core-js/modules/_string-repeat.js","webpack:///./~/core-js/modules/_string-ws.js","webpack:///./~/core-js/modules/_task.js","webpack:///./~/core-js/modules/_typed-buffer.js","webpack:///./~/core-js/modules/_wks-define.js","webpack:///./~/core-js/modules/core.get-iterator-method.js","webpack:///./~/core-js/modules/es6.array.iterator.js","webpack:///./~/proj4/lib/Proj.js","webpack:///./~/proj4/lib/common/gN.js","webpack:///./~/proj4/lib/common/imlfn.js","webpack:///./~/proj4/lib/common/pj_mlfn.js","webpack:///./~/proj4/lib/common/qsfnz.js","webpack:///./~/proj4/lib/match.js","webpack:///./src/dom/domUtil.js","webpack:///./src/event/Events.js","webpack:///./src/event/Observable.js","webpack:///./src/plot/Event/EventType.js","webpack:///./src/plot/Geometry/Arrow/FineArrow.js","webpack:///./src/plugins/LayerSwitcher.js","webpack:///./~/core-js/modules/_a-number-value.js","webpack:///./~/core-js/modules/_array-copy-within.js","webpack:///./~/core-js/modules/_array-from-iterable.js","webpack:///./~/core-js/modules/_array-reduce.js","webpack:///./~/core-js/modules/_bind.js","webpack:///./~/core-js/modules/_collection-strong.js","webpack:///./~/core-js/modules/_collection-to-json.js","webpack:///./~/core-js/modules/_collection-weak.js","webpack:///./~/core-js/modules/_ie8-dom-define.js","webpack:///./~/core-js/modules/_is-integer.js","webpack:///./~/core-js/modules/_iter-call.js","webpack:///./~/core-js/modules/_iter-step.js","webpack:///./~/core-js/modules/_math-log1p.js","webpack:///./~/core-js/modules/_object-assign.js","webpack:///./~/core-js/modules/_object-dps.js","webpack:///./~/core-js/modules/_object-gopn-ext.js","webpack:///./~/core-js/modules/_object-keys-internal.js","webpack:///./~/core-js/modules/_object-to-array.js","webpack:///./~/core-js/modules/_own-keys.js","webpack:///./~/core-js/modules/_parse-float.js","webpack:///./~/core-js/modules/_parse-int.js","webpack:///./~/core-js/modules/_same-value.js","webpack:///./~/core-js/modules/_string-pad.js","webpack:///./~/core-js/modules/_wks-ext.js","webpack:///./~/core-js/modules/es6.map.js","webpack:///./~/core-js/modules/es6.regexp.flags.js","webpack:///./~/core-js/modules/es6.set.js","webpack:///./~/core-js/modules/es6.weak-map.js","webpack:///./~/mgrs/mgrs.js","webpack:///./~/proj4/lib/common/hypot.js","webpack:///./~/proj4/lib/common/pj_enfn.js","webpack:///./~/proj4/lib/common/pj_inv_mlfn.js","webpack:///./~/proj4/lib/common/sinh.js","webpack:///./~/proj4/lib/common/toPoint.js","webpack:///./~/proj4/lib/defs.js","webpack:///./~/proj4/lib/projString.js","webpack:///./~/proj4/lib/projections/etmerc.js","webpack:///./~/proj4/lib/transform.js","webpack:///(webpack)/buildin/global.js","webpack:///./~/wkt-parser/index.js","webpack:///./src/index.js","webpack:///./~/babel-polyfill/lib/index.js","webpack:///./src/config/config.js","webpack:///./src/controls/BaseLayerSwitcher.js","webpack:///./src/controls/CompareLayer.js","webpack:///./src/controls/Geolocation.js","webpack:///./src/controls/index.js","webpack:///./src/dom/css.js","webpack:///./src/event/appDrag.js","webpack:///./src/interaction/LayerSpyglass.js","webpack:///./src/interaction/MisplacesGlass.js","webpack:///./src/layer/source/BaiDu.js","webpack:///./src/layer/source/GaoDe.js","webpack:///./src/layer/source/Google.js","webpack:///./src/map/Controls.js","webpack:///./src/map/Interactions.js","webpack:///./src/map/Map.js","webpack:///./src/map/View.js","webpack:///./src/map/baseLayer.js","webpack:///./src/overlay/Overlay.js","webpack:///./src/overlay/Popover.js","webpack:///./src/plot/Event/PlotDraw.js","webpack:///./src/plot/Event/PlotEdit.js","webpack:///./src/plot/Geometry/Arc/Arc.js","webpack:///./src/plot/Geometry/Arrow/AssaultDirection.js","webpack:///./src/plot/Geometry/Arrow/DoubleArrow.js","webpack:///./src/plot/Geometry/Arrow/SquadCombat.js","webpack:///./src/plot/Geometry/Arrow/StraightArrow.js","webpack:///./src/plot/Geometry/Arrow/TailedAttackArrow.js","webpack:///./src/plot/Geometry/Arrow/TailedSquadCombat.js","webpack:///./src/plot/Geometry/Circle/Circle.js","webpack:///./src/plot/Geometry/Circle/Ellipse.js","webpack:///./src/plot/Geometry/Polygon/ClosedCurve.js","webpack:///./src/plot/Geometry/Polygon/FreePolygon.js","webpack:///./src/plot/Geometry/Polygon/GatheringPlace.js","webpack:///./src/plot/Geometry/Polygon/Lune.js","webpack:///./src/plot/Geometry/Polygon/Polygon.js","webpack:///./src/plot/Geometry/Polygon/RectAngle.js","webpack:///./src/plot/Geometry/Polygon/Sector.js","webpack:///./src/plot/Geometry/Polyline/Curve.js","webpack:///./src/plot/Geometry/Polyline/FreeHandLine.js","webpack:///./src/plot/Geometry/Polyline/Polyline.js","webpack:///./src/plot/Geometry/index.js","webpack:///./src/plot/Geometry/point/Pennant.js","webpack:///./src/plot/Geometry/point/Point.js","webpack:///./src/plot/index.js","webpack:///./src/plugins/CoordsTransform.js","webpack:///./src/plugins/CustomCircle.js","webpack:///./src/plugins/GeomCoder.js","webpack:///./src/plugins/MeasureTool.js","webpack:///./src/scss/index.js","webpack:///./src/style/MapboxStyle.js","webpack:///./~/core-js/fn/regexp/escape.js","webpack:///./~/core-js/modules/_array-species-constructor.js","webpack:///./~/core-js/modules/_array-species-create.js","webpack:///./~/core-js/modules/_date-to-primitive.js","webpack:///./~/core-js/modules/_enum-keys.js","webpack:///./~/core-js/modules/_keyof.js","webpack:///./~/core-js/modules/_partial.js","webpack:///./~/core-js/modules/_path.js","webpack:///./~/core-js/modules/_replacer.js","webpack:///./~/core-js/modules/core.regexp.escape.js","webpack:///./~/core-js/modules/es6.array.copy-within.js","webpack:///./~/core-js/modules/es6.array.every.js","webpack:///./~/core-js/modules/es6.array.fill.js","webpack:///./~/core-js/modules/es6.array.filter.js","webpack:///./~/core-js/modules/es6.array.find-index.js","webpack:///./~/core-js/modules/es6.array.find.js","webpack:///./~/core-js/modules/es6.array.for-each.js","webpack:///./~/core-js/modules/es6.array.from.js","webpack:///./~/core-js/modules/es6.array.index-of.js","webpack:///./~/core-js/modules/es6.array.is-array.js","webpack:///./~/core-js/modules/es6.array.join.js","webpack:///./~/core-js/modules/es6.array.last-index-of.js","webpack:///./~/core-js/modules/es6.array.map.js","webpack:///./~/core-js/modules/es6.array.of.js","webpack:///./~/core-js/modules/es6.array.reduce-right.js","webpack:///./~/core-js/modules/es6.array.reduce.js","webpack:///./~/core-js/modules/es6.array.slice.js","webpack:///./~/core-js/modules/es6.array.some.js","webpack:///./~/core-js/modules/es6.array.sort.js","webpack:///./~/core-js/modules/es6.array.species.js","webpack:///./~/core-js/modules/es6.date.now.js","webpack:///./~/core-js/modules/es6.date.to-iso-string.js","webpack:///./~/core-js/modules/es6.date.to-json.js","webpack:///./~/core-js/modules/es6.date.to-primitive.js","webpack:///./~/core-js/modules/es6.date.to-string.js","webpack:///./~/core-js/modules/es6.function.bind.js","webpack:///./~/core-js/modules/es6.function.has-instance.js","webpack:///./~/core-js/modules/es6.function.name.js","webpack:///./~/core-js/modules/es6.math.acosh.js","webpack:///./~/core-js/modules/es6.math.asinh.js","webpack:///./~/core-js/modules/es6.math.atanh.js","webpack:///./~/core-js/modules/es6.math.cbrt.js","webpack:///./~/core-js/modules/es6.math.clz32.js","webpack:///./~/core-js/modules/es6.math.cosh.js","webpack:///./~/core-js/modules/es6.math.expm1.js","webpack:///./~/core-js/modules/es6.math.fround.js","webpack:///./~/core-js/modules/es6.math.hypot.js","webpack:///./~/core-js/modules/es6.math.imul.js","webpack:///./~/core-js/modules/es6.math.log10.js","webpack:///./~/core-js/modules/es6.math.log1p.js","webpack:///./~/core-js/modules/es6.math.log2.js","webpack:///./~/core-js/modules/es6.math.sign.js","webpack:///./~/core-js/modules/es6.math.sinh.js","webpack:///./~/core-js/modules/es6.math.tanh.js","webpack:///./~/core-js/modules/es6.math.trunc.js","webpack:///./~/core-js/modules/es6.number.constructor.js","webpack:///./~/core-js/modules/es6.number.epsilon.js","webpack:///./~/core-js/modules/es6.number.is-finite.js","webpack:///./~/core-js/modules/es6.number.is-integer.js","webpack:///./~/core-js/modules/es6.number.is-nan.js","webpack:///./~/core-js/modules/es6.number.is-safe-integer.js","webpack:///./~/core-js/modules/es6.number.max-safe-integer.js","webpack:///./~/core-js/modules/es6.number.min-safe-integer.js","webpack:///./~/core-js/modules/es6.number.parse-float.js","webpack:///./~/core-js/modules/es6.number.parse-int.js","webpack:///./~/core-js/modules/es6.number.to-fixed.js","webpack:///./~/core-js/modules/es6.number.to-precision.js","webpack:///./~/core-js/modules/es6.object.assign.js","webpack:///./~/core-js/modules/es6.object.create.js","webpack:///./~/core-js/modules/es6.object.define-properties.js","webpack:///./~/core-js/modules/es6.object.define-property.js","webpack:///./~/core-js/modules/es6.object.freeze.js","webpack:///./~/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./~/core-js/modules/es6.object.get-own-property-names.js","webpack:///./~/core-js/modules/es6.object.get-prototype-of.js","webpack:///./~/core-js/modules/es6.object.is-extensible.js","webpack:///./~/core-js/modules/es6.object.is-frozen.js","webpack:///./~/core-js/modules/es6.object.is-sealed.js","webpack:///./~/core-js/modules/es6.object.is.js","webpack:///./~/core-js/modules/es6.object.keys.js","webpack:///./~/core-js/modules/es6.object.prevent-extensions.js","webpack:///./~/core-js/modules/es6.object.seal.js","webpack:///./~/core-js/modules/es6.object.set-prototype-of.js","webpack:///./~/core-js/modules/es6.object.to-string.js","webpack:///./~/core-js/modules/es6.parse-float.js","webpack:///./~/core-js/modules/es6.parse-int.js","webpack:///./~/core-js/modules/es6.promise.js","webpack:///./~/core-js/modules/es6.reflect.apply.js","webpack:///./~/core-js/modules/es6.reflect.construct.js","webpack:///./~/core-js/modules/es6.reflect.define-property.js","webpack:///./~/core-js/modules/es6.reflect.delete-property.js","webpack:///./~/core-js/modules/es6.reflect.enumerate.js","webpack:///./~/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./~/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./~/core-js/modules/es6.reflect.get.js","webpack:///./~/core-js/modules/es6.reflect.has.js","webpack:///./~/core-js/modules/es6.reflect.is-extensible.js","webpack:///./~/core-js/modules/es6.reflect.own-keys.js","webpack:///./~/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./~/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./~/core-js/modules/es6.reflect.set.js","webpack:///./~/core-js/modules/es6.regexp.constructor.js","webpack:///./~/core-js/modules/es6.regexp.match.js","webpack:///./~/core-js/modules/es6.regexp.replace.js","webpack:///./~/core-js/modules/es6.regexp.search.js","webpack:///./~/core-js/modules/es6.regexp.split.js","webpack:///./~/core-js/modules/es6.regexp.to-string.js","webpack:///./~/core-js/modules/es6.string.anchor.js","webpack:///./~/core-js/modules/es6.string.big.js","webpack:///./~/core-js/modules/es6.string.blink.js","webpack:///./~/core-js/modules/es6.string.bold.js","webpack:///./~/core-js/modules/es6.string.code-point-at.js","webpack:///./~/core-js/modules/es6.string.ends-with.js","webpack:///./~/core-js/modules/es6.string.fixed.js","webpack:///./~/core-js/modules/es6.string.fontcolor.js","webpack:///./~/core-js/modules/es6.string.fontsize.js","webpack:///./~/core-js/modules/es6.string.from-code-point.js","webpack:///./~/core-js/modules/es6.string.includes.js","webpack:///./~/core-js/modules/es6.string.italics.js","webpack:///./~/core-js/modules/es6.string.iterator.js","webpack:///./~/core-js/modules/es6.string.link.js","webpack:///./~/core-js/modules/es6.string.raw.js","webpack:///./~/core-js/modules/es6.string.repeat.js","webpack:///./~/core-js/modules/es6.string.small.js","webpack:///./~/core-js/modules/es6.string.starts-with.js","webpack:///./~/core-js/modules/es6.string.strike.js","webpack:///./~/core-js/modules/es6.string.sub.js","webpack:///./~/core-js/modules/es6.string.sup.js","webpack:///./~/core-js/modules/es6.string.trim.js","webpack:///./~/core-js/modules/es6.symbol.js","webpack:///./~/core-js/modules/es6.typed.array-buffer.js","webpack:///./~/core-js/modules/es6.typed.data-view.js","webpack:///./~/core-js/modules/es6.typed.float32-array.js","webpack:///./~/core-js/modules/es6.typed.float64-array.js","webpack:///./~/core-js/modules/es6.typed.int16-array.js","webpack:///./~/core-js/modules/es6.typed.int32-array.js","webpack:///./~/core-js/modules/es6.typed.int8-array.js","webpack:///./~/core-js/modules/es6.typed.uint16-array.js","webpack:///./~/core-js/modules/es6.typed.uint32-array.js","webpack:///./~/core-js/modules/es6.typed.uint8-array.js","webpack:///./~/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./~/core-js/modules/es6.weak-set.js","webpack:///./~/core-js/modules/es7.array.includes.js","webpack:///./~/core-js/modules/es7.asap.js","webpack:///./~/core-js/modules/es7.error.is-error.js","webpack:///./~/core-js/modules/es7.map.to-json.js","webpack:///./~/core-js/modules/es7.math.iaddh.js","webpack:///./~/core-js/modules/es7.math.imulh.js","webpack:///./~/core-js/modules/es7.math.isubh.js","webpack:///./~/core-js/modules/es7.math.umulh.js","webpack:///./~/core-js/modules/es7.object.define-getter.js","webpack:///./~/core-js/modules/es7.object.define-setter.js","webpack:///./~/core-js/modules/es7.object.entries.js","webpack:///./~/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///./~/core-js/modules/es7.object.lookup-getter.js","webpack:///./~/core-js/modules/es7.object.lookup-setter.js","webpack:///./~/core-js/modules/es7.object.values.js","webpack:///./~/core-js/modules/es7.observable.js","webpack:///./~/core-js/modules/es7.reflect.define-metadata.js","webpack:///./~/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./~/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./~/core-js/modules/es7.reflect.get-metadata.js","webpack:///./~/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./~/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./~/core-js/modules/es7.reflect.has-metadata.js","webpack:///./~/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./~/core-js/modules/es7.reflect.metadata.js","webpack:///./~/core-js/modules/es7.set.to-json.js","webpack:///./~/core-js/modules/es7.string.at.js","webpack:///./~/core-js/modules/es7.string.match-all.js","webpack:///./~/core-js/modules/es7.string.pad-end.js","webpack:///./~/core-js/modules/es7.string.pad-start.js","webpack:///./~/core-js/modules/es7.string.trim-left.js","webpack:///./~/core-js/modules/es7.string.trim-right.js","webpack:///./~/core-js/modules/es7.symbol.async-iterator.js","webpack:///./~/core-js/modules/es7.symbol.observable.js","webpack:///./~/core-js/modules/es7.system.global.js","webpack:///./~/core-js/modules/web.dom.iterable.js","webpack:///./~/core-js/modules/web.immediate.js","webpack:///./~/core-js/modules/web.timers.js","webpack:///./~/core-js/shim.js","webpack:///./src/scss/compare/index.scss","webpack:///./src/scss/customCircle/index.scss","webpack:///./src/scss/geolocation/index.scss","webpack:///./src/scss/measure/index.scss","webpack:///./src/scss/ol/ol.scss","webpack:///./src/scss/overlay/index.scss","webpack:///./src/scss/plot/index.scss","webpack:///./src/scss/popup/index.scss","webpack:///./~/openlayers/dist/ol.js","webpack:///./~/proj4/lib/Point.js","webpack:///./~/proj4/lib/adjust_axis.js","webpack:///./~/proj4/lib/common/adjust_zone.js","webpack:///./~/proj4/lib/common/asinhy.js","webpack:///./~/proj4/lib/common/clens.js","webpack:///./~/proj4/lib/common/clens_cmplx.js","webpack:///./~/proj4/lib/common/cosh.js","webpack:///./~/proj4/lib/common/gatg.js","webpack:///./~/proj4/lib/common/iqsfnz.js","webpack:///./~/proj4/lib/common/log1py.js","webpack:///./~/proj4/lib/common/srat.js","webpack:///./~/proj4/lib/constants/Datum.js","webpack:///./~/proj4/lib/constants/Ellipsoid.js","webpack:///./~/proj4/lib/constants/PrimeMeridian.js","webpack:///./~/proj4/lib/constants/units.js","webpack:///./~/proj4/lib/core.js","webpack:///./~/proj4/lib/datum.js","webpack:///./~/proj4/lib/datumUtils.js","webpack:///./~/proj4/lib/datum_transform.js","webpack:///./~/proj4/lib/deriveConstants.js","webpack:///./~/proj4/lib/extend.js","webpack:///./~/proj4/lib/global.js","webpack:///./~/proj4/lib/index.js","webpack:///./~/proj4/lib/parseCode.js","webpack:///./~/proj4/lib/projections.js","webpack:///./~/proj4/lib/projections/aea.js","webpack:///./~/proj4/lib/projections/aeqd.js","webpack:///./~/proj4/lib/projections/cass.js","webpack:///./~/proj4/lib/projections/cea.js","webpack:///./~/proj4/lib/projections/eqc.js","webpack:///./~/proj4/lib/projections/eqdc.js","webpack:///./~/proj4/lib/projections/gauss.js","webpack:///./~/proj4/lib/projections/gnom.js","webpack:///./~/proj4/lib/projections/krovak.js","webpack:///./~/proj4/lib/projections/laea.js","webpack:///./~/proj4/lib/projections/lcc.js","webpack:///./~/proj4/lib/projections/longlat.js","webpack:///./~/proj4/lib/projections/merc.js","webpack:///./~/proj4/lib/projections/mill.js","webpack:///./~/proj4/lib/projections/moll.js","webpack:///./~/proj4/lib/projections/nzmg.js","webpack:///./~/proj4/lib/projections/omerc.js","webpack:///./~/proj4/lib/projections/ortho.js","webpack:///./~/proj4/lib/projections/poly.js","webpack:///./~/proj4/lib/projections/sinu.js","webpack:///./~/proj4/lib/projections/somerc.js","webpack:///./~/proj4/lib/projections/stere.js","webpack:///./~/proj4/lib/projections/sterea.js","webpack:///./~/proj4/lib/projections/tmerc.js","webpack:///./~/proj4/lib/projections/utm.js","webpack:///./~/proj4/lib/projections/vandg.js","webpack:///./~/proj4/lib/version.js","webpack:///./~/proj4/package.json","webpack:///./~/proj4/projs.js","webpack:///./~/regenerator-runtime/runtime.js","webpack:///./~/wkt-parser/parser.js","webpack:///./~/wkt-parser/process.js","webpack:///./package.json"],"names":["X_PI","PI","a","ee","ol","proj4","config","PlotTypes","ARC","CURVE","GATHERING_PLACE","POLYLINE","FREE_LINE","POINT","PENNANT","RECTANGLE","CIRCLE","ELLIPSE","LUNE","SECTOR","CLOSED_CURVE","POLYGON","FREE_POLYGON","ATTACK_ARROW","DOUBLE_ARROW","STRAIGHT_ARROW","FINE_ARROW","ASSAULT_DIRECTION","TAILED_ATTACK_ARROW","SQUAD_COMBAT","TAILED_SQUAD_COMBAT","Constants","MathDistance","pnt1","pnt2","Math","sqrt","pow","wholeDistance","points","distance","Array","isArray","length","forEach","item","index","getBaseLength","Mid","point1","point2","getCircleCenterOfThreePoints","point3","pntA","pntB","pntC","pntD","getIntersectPoint","f","x","y","e","getAzimuth","startPoint","endPoint","azimuth","angle","asin","abs","getAngleOfThreePoints","isClockWise","pnt3","getPointOnLine","t","startPnt","endPnt","getCubicValue","cPnt1","cPnt2","max","min","tp","t2","t3","tp2","tp3","getThirdPoint","clockWise","alpha","dx","cos","dy","sin","inherits","childCtor","parentCtor","TempCtor","prototype","superClass_","constructor","base","me","methodName","varArgs","args","slice","call","arguments","apply","getArcPoints","center","radius","startAngle","endAngle","pnts","angleDiff","i","push","getBisectorNormals","normal","getNormal","bisectorNormalRight","bisectorNormalLeft","dt","dist","uX","uY","d1","d2","ZERO_TOLERANCE","dX1","dY1","dX2","dY2","getLeftMostControlPoint","controlPoints","controlX","controlY","normalRight","mid","pX","pY","n","nX","nY","a11","a12","a22","dX","dY","getRightMostControlPoint","count","normalLeft","getCurvePoints","leftControl","normals","normalPoints","concat","rightControl","FITTING_COUNT","pnt","getBezierPoints","bezierPoints","factor","getBinomialFactor","b","getFactorial","result","getQBSplinePoints","bSplinePoints","m","k","getQuadricBSplineFactor","res","TWO_PI","HALF_PI","mix","mixins","Mix","key","mixin","copyProperties","target","source","Reflect","ownKeys","desc","Object","getOwnPropertyDescriptor","defineProperty","DomUtil","css","MapboxStyle","Layer","map","Error","layerName","targetLayer","layers","getLayers","getArray","every","layer","get","console","log","error","currentLayer","Group","_layer","Tile","feature","tragetLayer","Feature","Vector","getSource","getFeatures","features","feat","params","vectorLayer","getLayerByLayerName","create","layerType","wrapX","style","Style","fill","Fill","color","stroke","Stroke","width","image","Circle","hasOwnProperty","set","selectable","_vectorLayer","addLayer","Heatmap","removeLayer","gradient","crossOrigin","undefined","blur","shadow","weight","extent","minResolution","maxResolution","opacity","visible","serviceUrl","ooLayer","getTitleLayerByLayerName","TileArcGISRest","url","Image","ImageWMS","LAYERS","STYLES","VERSION","WIDTH","HEIGHT","BBOX","SRS","CRS","REQUEST","TRANSPARENT","TILED","TILESORIGIN","SERVICE","FORMAT","VIEWPARAMS","TileWMS","proj","getStyleByParams","format","GeoJSON","join","strategy","loadingstrategy","bbox","projection","projectionExtent","getExtent","size","getWidth","levels","resolutions","matrixIds","z","WMTS","matrixSet","tileGrid","tilegrid","origin","getTopLeft","version","dimensions","tileSize","view","View","getProjection","getCode","TileGrid","minZoom","XYZ","opaque","tilePixelRatio","maxZoom","tileUrlFunction","tileCoord","replace","toString","OSM","createXYZ","VectorTile","renderBuffer","renderMode","preload","MVT","overlaps","createMapboxStreetsV6Style","getImagesSource","Projection","code","units","axisOrientation","ImageStatic","imageExtent","imageSize","TYPE","Raster","ImageMapGuide","displayDpi","metersPerUnit","hidpi","useOverlay","ratio","imageLoadFunction","ImageCanvas","canvasFunction","state","ImageArcGISRest","adjust","bleft","getBottomLeft","tright","getTopRight","xmin","ymin","xmax","ymax","buffer","isanimation","duration","getView","getSize","getCenter","fit","padding","setCenter","animate","options","Icon","anchor","anchorXUnits","anchorYUnits","src","_getStroke","setStroke","_getText","setText","_getFill","setFill","setImage","_getImage","_getRegularShape","_getRegularCircle","regularShape","RegularShape","radius1","radius2","snapToPixel","rotation","rotateWithView","circle","icon","anchorOrigin","img","offset","offsetOrigin","scale","imgSize","lineCap","lineJoin","lineDash","lineDashOffset","miterLimit","text","Text","font","offsetX","offsetY","textAlign","textBaseline","getrandom","t1","isNaN","random","ra","du","round","getuuid","s","hexDigits","substr","floor","stamp","obj","trim","str","splitWords","split","PlotUtils","AttackArrow","geom","Polygon","type","headHeightFactor","headWidthFactor","neckHeightFactor","neckWidthFactor","headTailFactor","setPoints","getPointCount","setCoordinates","getPoints","tailLeft","tailRight","midTail","bonePnts","headPnts","getArrowHeadPoints","neckLeft","neckRight","tailWidthFactor","bodyPnts","getArrowBodyPoints","leftPnts","rightPnts","reverse","midPnt","len","midPnt1","midPnt2","arrowPnts","neckLeftPoint","neckRightPoint","lPoints","rPoints","headHeight","headPnt","tailWidth","headWidth","neckWidth","neckHeight","headEndPnt","neckEndPnt","headLeft","headRight","allLen","widthDif","tempLen","leftBodyPnts","rightBodyPnts","w","left","right","linePnt1","linePnt2","point","symPnt","distance1","distance2","Map","value","generate","updatePoint","id","getFeatureById","getLayerByName","geometry","Geometry","Point","WKT","readGeometry","multiFeatures","bExtent","Infinity","zoomToExtent","coordinate","getMapCurrentExtent","containsXY","calculateExtent","_getGeometryFromPoint","getStyleByPoint","selectStyle","setStyle","attributes","setId","setProperties","_extent","adjustExtent","createVectorLayer","addFeature","pointLayers","add","orderLayerZindex","multiPoint","MultiPoint","change","pointFeat","addPoint","getGeometry","appendPoint","multiGeoms","_geom","_getExtent","_geometry","setGeometry","info","line","linefeature","paths","readFeature","getStyleByLine","lineLayers","lines","MultiLine","MultiLineString","polyLine","addPolyline","LineString","appendLineString","getLineStrings","polygon","polygonFeature","getStyleByPolygon","polygonLayers","polygons","MultiPolygon","polygonFeat","addPolygon","appendPolygon","getPolygons","createHeatMapLayer","geomData","featureGeom","EsriJSON","Polyline","getGeomFromGeomData","setBlur","setRadius","setGradient","setVisible","setOpacity","clear","layerNames","removeFeatureByLayerName","getLayerByFeatuer","removeFeature","ids","removeFeatureById","st","normalStyle","document","getElementById","getChildByTagName","container","getElementsByTagName","getElementsByClassName","root","_root","window","$","querySelector","bind","getClass","elem","getAttribute","getStyle","el","currentStyle","defaultView","getComputedStyle","tagName","className","createElement","appendChild","remove","parent","parentNode","removeChild","empty","firstChild","toFront","toBack","insertBefore","hasClass","name","classList","contains","RegExp","test","addClass","classes","setClass","removeClass","String","baseVal","createHidden","element","display","getDomEventKey","fn","context","addListener","eventKey","handler","addEventListener","attachEvent","removeListener","removeEventListener","detachEvent","bindListener_","listenerObj","boundListener","evt","listener","bindTo","callOnce","unlistenByKey","findListener_","listeners","optThis","optSetDeleteIndex","ii","deleteIndex","getListeners","listenerMap","ol_lm","getListenerMap_","removeListeners_","keys","listen","optOnce","listenOnce","unlisten","indexOf","splice","object","property","unlistenAll","Observable","Events","__cnt","eventName","callback","bindEvent","event","r","that","hasOwnKey","eachEvent","keyA","itemA","keyB","itemB","setTimeout","action","isOne","Function","CHANGE","CLICK","DBLCLICK","DRAGENTER","DRAGOVER","DROP","ERROR","KEYDOWN","KEYPRESS","LOAD","MOUSEDOWN","MOUSEMOVE","MOUSEOUT","MOUSEUP","MOUSEWHEEL","MSPOINTERDOWN","RESIZE","TOUCHSTART","TOUCHMOVE","TOUCHEND","WHEEL","FineArrow","headAngle","neckAngle","fixPointCount","pList","LayerSwitcher","baseLayers","_getBaseLayers","baseLayerNames","utils","HMap","require","Utils","PlotDraw","PlotEdit","Popover","CoordsTransform","CustomCircle","MeasureTool","LayerSpyglass","MisplacesGlass","GeomCoder","Controls","nullFunction","interactions","altShiftDragRotate","doubleClickZoom","keyboard","mouseWheelZoom","shiftDragZoom","dragPan","pinchRotate","pinchZoom","zoomDelta","zoomDuration","controls","attribution","attributionOptions","rotate","rotateOptions","zoom","zoomOptions","overViewMapVisible","scaleLineVisible","enableRotation","resolution","zoomFactor","logo","BaseLayerSwitcher","mapConfigStr","getProperties","mapConfig","JSON","parse","baseLayerConfig","element_","CLASS_UNSELECTABLE","innerElement_","ev","srcElement","nodeName","toLowerCase","switchLayer","control","Control","initDom","liDom","creatDom","setAttribute","tagNames","classNames","templates","els","CompareLayer","beforeMap","afterMap","_onDown","_onMove","_onMouseUp","_bounds","getMap","getTargetElement","getBoundingClientRect","percent","_setPosition","mousemove","addEvent","resize","clipLayer","un","precompose","postcompose","on","ctx","canvas","save","beginPath","rect","height","clip","restore","touches","_onTouchEnd","sourceWidth","pos","transform","WebkitTransform","_x","resizeEvt","doc","persisted","readyState","_getX","clientX","Geolocation","clickHandle","initControl","setMap","geolocation","setTracking","accuracy","getAccuracy","altitude","getAltitude","altitudeAccuracy","getAltitudeAccuracy","heading","getHeading","speed","getSpeed","innerHTML","message","getAccuracyGeometry","coordinates","getPosition","CLASS_HIDDEN","CLASS_SELECTABLE","CLASS_UNSUPPORTED","CLASS_CONTROL","appDrag","interaction","Pointer","handleDownEvent","handleDragEvent","handleMoveEvent","handleUpEvent","customType","coordinate_","cursor_","feature_","previousCursor_","originalEvent","button","forEachFeatureAtPixel","pixel","moveable","dispatchEvent","originEvent","deltaX","deltaY","translate","cursor","imagery","mousePosition","activate","getEventPixel","render","which","preventDefault","renderTool","frameState","pixelRatio","arc","lineWidth","strokeStyle","half","centerX","centerY","originX","originY","sourceData","getImageData","data","dest","createImageData","destData","j","dI","dJ","sourceI","sourceJ","destOffset","sourceOffset","putImageData","BAIDU","optOptions","attributions","ATTRIBUTION","tileLoadFunction","getTileCoord","cacheSize","reprojectionErrorThreshold","Attribution","html","GAODE","GOOGLE","defaults","getControls","extend","ScaleLine","getZoom","delta","currentResolution","getResolution","newResolution","constrainResolution","getAnimating","cancelAnimations","easing","easeOut","setResolution","Interactions","addPointHandlerClick","plotDraw","plotEdit","_lastDrawInteractionGeometry","EverntCenter","defs","setProj4","ObservableObj","currentMapLines","currentMapPoints","currentMapPolygon","Set","circleSerachFeat","popupOverlay","timer_","mapDiv","options_","stringify","_addCopyRight","_addView","addBaseLayers","_addInteractions","_addControls","loadTilesWhileAnimating","loadTilesWhileInteracting","dispatch","href","updateSize","start","Date","getTime","Promise","resolve","cc","clearInterval","setInterval","end","option","setZoom","coord","layerindex","setZIndex","BaseLayers","_view","fullExtent","setExtent","isBaseLayer","_getBaseLayerGroup","layerConfig","labelLayers","_layers","labelLayersConfig","_getXYZLayer","_getWMTSLayer","_getOSMLayer","_getImageWMSLayer","_getTileWMSLayer","_getMapboxVectorTileLayer","_getTileArcGISRestLayer","_getBaseLayerLabel","_labelLayersLayerNames","configM","labelLayer","baseLayer","createXYZLayer","setAttributions","_getAttribution","createOSMLayer","createWMTSLayer","createImageWMSLayer","createTileWMSLayer","createMapboxVectorTileLayer","createTitleLayer","Overlay","getCoordinates","_getCoordinatesFromGeom","overlay","getOverlayById","creatEle","getElementForOverlay","marker","ele","iconOverlay","positioning","stopEvent","setPosition","_addOverLayEvent","addOverlay","setElement","OverLay","onmousedown","onmouseover","selectColor","onmouseout","normalColor","spanEle","eleClass","top","fontSize","borderColor","borderWidth","borderRadius","Number","addOverlayPoint","removeOverlay","_id","overLay","_overlays","overlays","getOverlays","removeOverlayById","rOverlays","removeOverlayByLayerName","overlayElement","getElement","iconElement","_overlay","_overlayElement","_iconElement","getOverlayByLayerName","mapInstence","content","maxHeight","closer","stopPropagation","removeOverLay","minimize","showMinimize","enableTouchScroll_","miniOverLay","insertFirst","show","coords","HTMLElement","scrollTop","showMarkFeature","markFeature","getImage","setOffset","eventListener","label","innerText","position","hide","marginLeft","clientWidth","isOpened","isTouchDevice_","createEvent","elm","scrollStartPos","pageY","plot","plotType","plotParams","mapViewport","getViewport","dblClickZoomInteraction","drawOverlay","drawLayer","disActive","deactiveMapTools","mapFirstClickHandler","removeEventHandlers","activateMapTools","createPlot","addPointStyle","finishDrawing","drawEnd","mapNextClickHandler","freehand","mapDoubleClickHandler","mapMouseMoveHandler","getCoordinateFromPixel","getInteractions","DoubleClickZoom","removeInteraction","addInteraction","activePlot","ghostControlPoints","mouseOver","elementTable","activeControlPointId","mapDragPan","getMapParentElement","hiddenDiv","cPnts","getControlPoints","mapElement","controlPointMouseDownHandler","controlPointMouseMoveHandler2","stopImmediatePropagation","controlPointMouseMoveHandler","controlPointMouseUpHandler","isPlot","deactivate","plotMouseOverOutHandler","initHelperDom","initControlPoints","plotMouseDownHandler","disableMapDragPan","plotMouseUpHandler","plotMouseMoveHandler","newPoints","p","setPositioning","enableMapDragPan","destroyHelperDom","disconnectEventHandlers","DragPan","Arc","angle1","angle2","AssaultDirection","DoubleArrow","connPoint","tempPoint4","getTempPoint4","leftArrowPnts","rightArrowPnts","getArrowPoints","llBodyPnts","lArrowPnts","lrBodyPnts","rlBodyPnts","rArrowPnts","rrBodyPnts","SquadCombat","tailPnts","getTailPoints","StraightArrow","maxArrowLength","arrowLengthScale","leftPnt","rightPnt","TailedAttackArrow","swallowTailFactor","swallowTailPnt","TailedSquadCombat","generatePoints","Ellipse","majorRadius","minorRadius","ClosedCurve","FreePolygon","FREEHAND_POLYGON","GatheringPlace","d","Lune","RectAngle","isFill","boundingExtent","fromExtent","Sector","Curve","FreeHandLine","FREEHAND_LINE","Pennant","GeomPoint","Plot","_params","lng","lat","ret","outOfChina","dlat","transformlat","dlng","transformlng","radlat","magic","sqrtmagic","mglat","mglng","theta","atan2","bdLng","bdLat","lon","ggLng","ggLat","lontitude","latitude","tan","longtitude","atan","exp","DomUtils","defaultConfig","minRadius","maxRadius","showPolygonFeature","showCenterFeature","strokeColor","strokeLineCap","strokeLineJoin","strokeLineDash","strokeLineDashOffset","strokeMiterLimit","strokeWidth","fillColor","sphare","Sphere","isMouseDown","isMoving","handleLabel","createCircle","centerCopy","_getProjectionCode","_getCircleGeom","circleFeature","addCenterPoint","addEditor","dispachChange","removeLayerByLayerName","sourceGeom","transformRadius","centerPoint","centerStyle","editor","body","addEventHandle","getLastCoordinate","Element","returnValue","onMouseMove","c1","c2","haversineDistance","mathRadius","meterRadius","lastCoords","ptx","pty","transformRadiu","getRadius","getFirstCoordinate","factor_","GeometryLayout","XY","XYM","XYZM","geometryLayout_","geometryLayout","stride","getStrideForLayout","flatCoordinates","decodeDeltas","flipXY","_item","encodeDeltas","layout","encoded","lastNumbers","numbers","decodeFloats","num","encodeFloats","decodeSignedIntegers","encodeSignedIntegers","decodeUnsignedIntegers","encodeUnsignedIntegers","current","shift","charCodeAt","encodeUnsignedInteger","fromCharCode","optDest","optDestOffset","optCoordinates","defaultParams","measureLengthCursor","measureAreaCursor","circleRadius","wgs84Sphere","measureTypes","measureLength","measureArea","dragPanInteraction","isGeodesic","clickCount","drawSketch","draw","beforeMeasurePointerMoveHandler","unByKey","drawPointermove","measureAreaTooltip","measureAreaTooltipElement","removeDrawInteraion","measureHelpTooltip","measureLengthClick","measureLengthSingleClick","addMeasureOverLay","addMeasurecircle","beforeDrawPointMoveHandler","addDrawInteraction","changeCur","getDragPanInteraction","setActive","getDoubleClickZoomInteraction","getStyleForMeasure","Draw","drawListener","helpTooltipElement","border","whiteSpace","fontVariant","fontWeight","fontStretch","lineHeight","fontFamily","webkitUserSelect","backgroundColor","dragging","output","formatData","firstElementChild","drawPointerMoveHandler","uuid","createMeasureAreaTooltip","evts","area","getInteriorPoint","addMeasureRemoveButton","sourceProj","getLength","clone","getLinearRing","geodesicArea","getArea","tempMeasureTooltip","btnImg","title","groupId","onclick","RemoveMeasure","closeBtn","lastCoord","items","strokedPolygon","iconCache","getIcon","iconName","styles","cls","scalerank","labelrank","adminLevel","maritime","disputed","maki","getType","setColor","setWidth","getText","setFont"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;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,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;AChEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qFAAqF,uBAAuB;AAC5G,mEAAmE;AACnE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,eAAe;AACf,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB,yB;;;;;;;;;;;;;;AChCA;;;;AACA;;;;AAIA;;;;;;AAVO,IAAMA,sBAAO,sBAAsB,MAAtB,GAA+B,KAA5C;AACA,IAAMC,kBAAK,wBAAX,CACA,IAAMC,gBAAI,SAAV,CACA,IAAMC,kBAAK,sBAAX;;AASA,IAAMC,sCAAN;AACA,IAAMC,sCAAN;AACA,IAAMC,0CAAN,C;;;;;;ACnBP;AACA;AACA;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA,uCAAuC,gC;;;;;;;;;;;;;;;;;;;;;;ACHvC;AACA;AACA,kBAAyB;AACzB,oBAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrBA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,E;;;;;;ACNA;AACA;AACA,E;;;;;;;;;;;;;ACCA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AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC,E;;;;;;AC/BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wFAAwF;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,UAAU;AACb;AACA,E;;;;;;ACfA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACZA,iBAAiB;;AAEjB;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA;AACA,E;;;;;;ACJA;;AAEA;AACA;AACA,wCAAwC;AACxC,GAAG;AACH,E;;;;;;;;;;;;ACFO,IAAMd,wCAAgB,GAAtB;AACA,IAAM9B,0CAAiB,MAAvB;AACA,IAAM6C,0BAAS3I,KAAKlC,EAAL,GAAU,CAAzB;AACA,IAAM8K,4BAAU5I,KAAKlC,EAAL,GAAU,CAA1B,C;;;;;;ACPP;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,SAAS,eAAe;AACxB;AACA;AACA;AACA,sCAAsC;AACtC;AACA,8BAA8B;AAC9B,6BAA6B;AAC7B,+BAA+B;AAC/B,mCAAmC;AACnC,SAAS,+BAA+B;AACxC;AACA;AACA;AACA;AACA,E;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,mDAAmD,OAAO,EAAE;AAC5D,E;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACXA,6BAA6B;AAC7B,qCAAqC,gC;;;;;;ACDrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACnBA;AACA;AACA;AACA;;AAEA;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,sDAAsD,gBAAgB,EAAE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;AClDA;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;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,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA,4BAA4B;AAC5B,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB,0BAA0B,GAAG;AAC9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,gCAAgC;AACxF;AACA,OAAO;AACP;AACA;AACA,4EAA4E,YAAY;AACxF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uDAAuD,6CAA6C,EAAE;;AAEtG;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,iDAAiD;AACjD;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,mCAAmC;AACnC;AACA,KAAK;AACL,sEAAsE;AACtE;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,4DAA4D;AAC5D;AACA,KAAK;AACL,sEAAsE;AACtE;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;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,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,sBAAsB,sBAAsB,EAAE,EAAE;AAChD;AACA;AACA;AACA;;AAEA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA,+BAA+B,aAAa;AAC5C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,oBAAoB,0BAA0B;AAC9C,GAAG;;AAEH;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,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,2BAA2B;AAC3B,2BAA2B;AAC3B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,aAAa;AACrC,OAAO;AACP;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA,uDAAuD,UAAU;;AAEjE;;AAEA,4FAA4F,wBAAwB;;AAEpH;AACA;AACA,KAAK,UAAU,cAAc;;AAE7B;AACA;AACA,KAAK;AACL;AACA,KAAK,WAAW,gCAAgC;;AAEhD;AACA;AACA;AACA,CAAC,kCAAkC,e;;;;;;AC9dnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD,CAAC;AACD;AACA,qBAAqB;AACrB;AACA,SAAS;AACT,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;;;;ACLA,IAAM+K,MAAM,SAANA,GAAM,GAAe;AAAA,oCAAXC,M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ACA,OAAO;AACP;AACA,OAAO,kCAAkC,gCAAgC,aAAa;AACtF,6BAA6B,mCAAmC,aAAa;AAC7E;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,2DAA2D;AAC3D;AACA,gDAAgD,iBAAiB,EAAE;AACnE;AACA,0DAA0D,aAAa,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,0B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA,E;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,8BAA8B,qCAAqC;AACnE;AACA;AACA,yBAAyB,gCAAgC;AACzD;AACA;AACA,E;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACPA;AACA;;AAEA;AACA;AACA,+BAA+B,qBAAqB;AACpD,+BAA+B,SAAS,EAAE;AAC1C,CAAC,UAAU;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,SAAS,mBAAmB;AACvD,+BAA+B,aAAa;AAC5C;AACA,GAAG,UAAU;AACb;AACA,E;;;;;;ACpBA;AACA;AACA;AACA;AACA,4CAA4C,aAAa;AACzD;AACA,CAAC,E;;;;;;ACND,yC;;;;;;ACAA;AACA;AACA,mDAAmD;AACnD;AACA,uCAAuC;AACvC,E;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;A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2S,QAAR,CAAiBkE,IAAjB;AACD;AACF;AACD,eAAO7W,OAAP;AACD;AACF;;;;EApxBmB,sD;;kBAsxBPE,O;;;;;;;;AC/xBf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACdA;AACA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACNA;AACA;AACA;AACA,a;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK,UAAU;AACf,GAAG;AACH,E;;;;;;ACXA,6E;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACPA;AACA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA;AACA,E;;;;;;;ACJA;AACA;AACA;AACA;AACA;;AAEA;AACA,0FAAgF,aAAa,EAAE;;AAE/F;AACA,qDAAqD,0BAA0B;AAC/E;AACA,E;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,aAAa;;AAEzC;AACA;AACA;AACA;AACA;AACA,wCAAwC,oCAAoC;AAC5E,4CAA4C,oCAAoC;AAChF,KAAK,2BAA2B,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,iCAAiC,2BAA2B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,E;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,U;;;;;;ACTD;AACA;AACA;AACA,E;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uCAAuC,oBAAoB,EAAE;AAC7D;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,E;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA,OAAO,UAAU,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA,E;;;;;;ACxBA;AACA;AACA;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;AChBA,sBAAsB;AACtB;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;;ACPA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM;AACb;AACA,E;;;;;;ACXA;AACA,mF;;;;;;ACDA;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,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;AC1EA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO,WAAW;AAClB;AACA;AACA,OAAO,UAAU;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,WAAW;AAClB;AACA;AACA;AACA,OAAO,WAAW;AAClB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,gBAAgB,uBAAuB,GAAG;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA,qBAAqB;AACrB,GAAG;AACH,yBAAyB;AACzB,GAAG;AACH;AACA;AACA;AACA;AACA,gDAAgD,iBAAiB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,+B;;;;;;AChRA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,sBAAsB;AAChF,gFAAgF,sBAAsB;AACtG,E;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACPA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,cAAc;AACd,iBAAiB;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,4B;;;;;;;;;;;;;;ACjCA;AACA;AACA;AAC6D;AAC7D;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;AACA;AACA;AACA;AACA;;AAEA,8FAAqB;AACrB,iGAAwB;;AAExB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACpEA;AACA;AACA;AACA,C;;;;;;;ACHA;AACA;AACA;;AAEA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;A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AAV,MAA2BP,SAA3B,IAAwCM,MAAMC,GAAN,CAAU,OAAV,MAAuBP,SAAnE,EAA8E;AAC5EM,gBAAMkC,GAAN,CAAU,WAAV,EAAuB,IAAvB;AACAlC,gBAAM6W,UAAN,CAAiB,IAAjB;AACD,SAHD,MAGO;AACL7W,gBAAMkC,GAAN,CAAU,WAAV,EAAuB,KAAvB;AACAlC,gBAAM6W,UAAN,CAAiB,KAAjB;AACD;AACF,OARD;AASD;;;2BAOOrX,G,EAAK;AACX,UAAIA,OAAOA,eAAe,cAAGqS,GAA7B,EAAkC;AAChC,aAAKrS,GAAL,GAAWA,GAAX;AACA,eAAO,KAAKA,GAAZ;AACD;AACF;;;6BAMS;AACR,aAAO,KAAKA,GAAZ;AACD;;;;;;kBAGYqgB,a;;;;;;;ACrFf;AACA;AACA;AACA;AACA,E;;;;;;;ACJA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,sCAAsC;AAC7C;AACA;AACA;AACA,E;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,SAAS;AACnC;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sBAAsB,OAAO;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,0BAA0B;AAC1B,0BAA0B;AAC1B,qBAAqB;AACrB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,6DAA6D,OAAO;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB,0BAA0B;AAC1B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,E;;;;;;AC7IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,0BAA0B;AAC1B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,E;;;;;;AClFA;AACA,qEAAsE,gBAAgB,UAAU,GAAG;AACnG,CAAC,E;;;;;;ACFD;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,E;;;;;;ACXA;AACA,UAAU;AACV,E;;;;;;ACFA;AACA;AACA;AACA,E;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,UAAU,EAAE;AAC9C,mBAAmB,sCAAsC;AACzD,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,W;;;;;;AChCD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACZA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;AClBA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,E;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACTA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,e;;;;;;ACPD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC,a;;;;;;ACRD;AACA;AACA;AACA,E;;;;;;ACHA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACfA,mC;;;;;;;ACAA;AACA;;AAEA;AACA;AACA,wBAAwB,mEAAmE;AAC3F,CAAC;AACD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,gB;;;;;;AChBD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACJD;AACA;;AAEA;AACA;AACA,wBAAwB,mEAAmE;AAC3F,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC,U;;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH,C;;;;;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA,IAAI,IAAI;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;;AAEA,WAAW;AACX,WAAW;AACX,WAAW;AACX,WAAW;AACX,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,IAAI;AACf;AACA,YAAY,OAAO;AACnB;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C;AAC9C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;AACpB,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA,8CAA8C;AAC9C;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,KAAK;AACjB;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;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;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY;AACZ;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACzuBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;ACvBA;AACc;;AAEd;;AAEA;AACA;AACA;AACA,wBAAwB,GAAG,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA,C;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;ACZA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;;;;;;;;;ACtDY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACtIA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACpKyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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,kCAAkC;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,OAAO;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;AC/EA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;ACpBA;AAAA;AACA;AACc;;;;AAId;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;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;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC3JA;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;IAAYI,K;;;;;;AAnBZ,IAAMC,OAAO,EAAb;AACAA,KAAKja,OAAL,GAAe,mBAAAka,CAAQ,GAAR,EAA2Bla,OAA1C;;;AAoBAia,KAAKxsB,EAAL;AACAskB,OAAOtkB,EAAP;AACAwsB,KAAKvsB,KAAL;AACAqkB,OAAOrkB,KAAP;AACAusB,KAAKrO,GAAL;AACAqO,KAAKlD,UAAL;AACAkD,KAAKE,KAAL,GAAaH,KAAb;AACAC,KAAKG,QAAL;AACAH,KAAKI,QAAL;AACAJ,KAAK3gB,KAAL;AACA2gB,KAAKvf,OAAL;AACAuf,KAAKK,OAAL;AACAL,KAAKM,eAAL;AACAN,KAAKO,YAAL;AACAP,KAAKL,aAAL;AACAK,KAAKQ,WAAL;AACAR,KAAKS,aAAL;AACAT,KAAKU,cAAL;AACA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ADvB,EACiC;AACtCP,aAAOhzC,QAAP,IAAmB8yC,QAAQS,IAAR,CAAnB;AACD,KAHM,MAGA,IAAIxpC,UAAU,WAAV,IAAyBqiB,cAAc,iBAAvC,IACT8mB,aAAa,CADJ,IACSK,SAAS,QADtB,EACgC;AACrCP,aAAOhzC,QAAP,IAAmB8yC,QAAQS,IAAR,CAAnB;AACD;AACDP,WAAOhzC,MAAP,GAAgBA,MAAhB;AACA,WAAOgzC,MAAP;AACD,GA5RD;AA6RD,CAzTM,C;;;;;;ACPP;AACA,uD;;;;;;ACDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACfA;AACA;;AAEA;AACA;AACA,E;;;;;;;ACLA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA,E;;;;;;ACtBA,wC;;;;;;ACAA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,E;;;;;;ACPA;AACA;AACA,yDAAuD;;AAEvD,8BAA8B,4BAA4B,gBAAgB,GAAG;;;;;;;ACJ7E;AACA;;AAEA,6BAA6B,qCAA4C;;AAEzE,sC;;;;;;;ACLA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;;AAEA,6BAA6B,8BAA+B;;AAE5D,gC;;;;;;;ACLA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gBAAgB,EAAE;AACxD;AACA;AACA;AACA;AACA,CAAC;AACD,6B;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gBAAgB,EAAE;AACxD;AACA;AACA;AACA;AACA,CAAC;AACD,6B;;;;;;;ACbA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACVD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wEAA0E,kBAAkB,EAAE;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,gCAAgC;AACpF;AACA;AACA,KAAK;AACL;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACpCD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACdD;AACA;;AAEA,6BAA6B,iCAAgC,E;;;;;;;ACH7D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW;AACpB;AACA;AACA,CAAC,E;;;;;;;ACrBD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AClBD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU;AACnB;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AC3BD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACtBD,iC;;;;;;ACAA;AACA;;AAEA,4BAA4B,gBAAgB,6BAA6B,GAAG,E;;;;;;;ACH5E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AC3BD;AACA;AACA;AACA;;AAEA;AACA,wEAAwE,wBAAwB,UAAU,GAAG;AAC7G,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACbD;AACA;;AAEA,mG;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;ACVA;AACA;;AAEA,gCAAgC,+BAAyB,E;;;;;;;ACHzD;AACA;AACA;AACA;AACA;AACA;AACA,4FAA4F;AAC5F;AACA;AACA;AACA;AACA;AACA,EAAE,E;;;;;;ACZF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;ACxBD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACjBD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yEAAyE,aAAa,E;;;;;;ACTtF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;;AAEA,iEAAiE,cAAc,E;;;;;;ACJ/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACzBD;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,CAAC,E;;;;;;ACxBD;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;AChBD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;;AAEA,4BAA4B,gCAAgC,E;;;;;;ACH5D;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;;AAEA,4BAA4B,8BAA8B,E;;;;;;ACH1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACdD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACXD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACPD;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,kDAAkD;AAClD,KAAK;AACL;AACA,uCAAuC,cAAc,OAAO;AAC5D,uCAAuC,cAAc,OAAO;AAC5D;AACA;AACA,mEAAmE,OAAO;AAC1E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,0BAA0B,EAAE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;ACpEA;AACA;;AAEA,8BAA8B,0BAA0B,E;;;;;;ACHxD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;;AAEA,8BAA8B,oCAAoC,E;;;;;;ACHlE;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;;AAEA,8BAA8B,mCAAmC,E;;;;;;ACHjE;AACA;;AAEA,8BAA8B,oCAAoC,E;;;;;;ACHlE;AACA;AACA;AACA,+EAA+E,wBAAwB,E;;;;;;ACHvG;AACA;AACA;AACA,2EAA2E,oBAAoB,E;;;;;;;ACH/F;AACA;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,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,CAAC;AACD;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,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;;AChHD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,sBAAsB;AACtB,CAAC;AACD;AACA;AACA,kG;AACA;AACA,CAAC,E;;;;;;ACjBD;AACA;;AAEA,0CAA0C,iCAAoC,E;;;;;;ACH9E;AACA;AACA,8BAA8B,gCAAoC,E;;;;;;ACFlE;AACA;AACA,qEAAuE,2CAA2C,E;;;;;;ACFlH;AACA;AACA,qEAAuE,0CAA0C,E;;;;;;ACFjH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;AACA,CAAC,E;;;;;;ACHD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;AACA,8BAA8B,6BAA6B,E;;;;;;ACF3D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA,8BAA8B,4CAA4C,E;;;;;;;ACF1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;ACTA;AACA;AACA;AACA,8DAA8D,wBAAwB,E;;;;;;ACHtF;AACA;AACA;AACA,0DAA0D,oBAAoB,E;;;;;;;ACH9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;;AAEA;AACA;AACA;AACA;AACA,+CAA+C,sDAAiD,oBAAoB;AACpH;AACA;AACA,GAAG,UAAU;AACb,CAAC;;AAED;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,GAAG;AACH,YAAY;AACZ;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,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,gCAAgC;AACnD,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,qCAAqC;AACpD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,uBAAuB,wBAAwB;AAC/C;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,uBAAuB,KAAK;AAC9C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAA0D,kBAAkB;AAC5E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;AC1SD;AACA;AACA;AACA;AACA,qDAAmD;AACnD;AACA;AACA;AACA,qBAAqB;AACrB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACfD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAoD;;AAEpD;AACA;AACA;AACA;AACA,kCAAkC;AAClC,CAAC;AACD;AACA,yBAAyB;AACzB,CAAC;;AAED;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,CAAC,E;;;;;;AC9CD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,MAAM,SAAS,OAAO,SAAS;AAC/D,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;ACrBD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACVD;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC,GAAG;AACH,UAAU;AACV,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACzBD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,SAAS,E;;;;;;ACpBxC;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACVD;AACA;;AAEA,+BAA+B,kCAAgC,E;;;;;;ACH/D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;ACfD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;ACdD;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;;AAEA,+BAA+B,SAAS,E;;;;;;AC9BxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB,EAAE;AAC1C,wBAAwB,gBAAgB;AACxC,KAAK;AACL;AACA,mCAAmC,iBAAiB;AACpD;AACA;AACA;AACA;;AAEA,kC;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,E;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,E;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,E;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;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,sBAAsB,2BAA2B;AACjD,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,E;;;;;;;ACrED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qCAAkC,wBAAwB,wBAAwB,YAAY,EAAE;AAChG;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH,C;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACnBD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACND;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;;ACtBD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,cAAc;AACd;AACA,CAAC;AACD;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,UAAU;AACV,CAAC,E;;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACND;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;ACjBD;;AAEA;AACA;AACA;AACA,CAAC,E;;;;;;;ACLD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACjBD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;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,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB,oBAAoB,uBAAuB,SAAS,IAAI;AACxD,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA,KAAK;AACL;AACA,sBAAsB,iCAAiC;AACvD,KAAK;AACL,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,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,8BAA8B;AAC5F;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0DAA0D,gBAAgB;;AAE1E;AACA;AACA;AACA,oBAAoB,oBAAoB;;AAExC,0CAA0C,oBAAoB;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,wBAAwB,eAAe,EAAE;AACzC,wBAAwB,gBAAgB;AACxC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,KAAK,QAAQ,iCAAiC;AAClG,CAAC;AACD;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0C;;;;;;;AC1OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6EAA6E,0BAA0B;;AAEvG;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;AACD;AACA;AACA,2FAA2F;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED,sC;;;;;;AC7CA;AACA;AACA;AACA,CAAC,E;;;;;;ACHD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,Q;;;;;;;ACJD;AACA;;AAEA;AACA;AACA,4BAA4B,mEAAmE;AAC/F,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC,qB;;;;;;;ACXD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED,oC;;;;;;ACXA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACXD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;;AAEA,uCAAuC,wCAAgD,E;;;;;;ACHvF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACVD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACfD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACVD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACfD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C,6DAA6D;AACvG;AACA,CAAC,E;;;;;;;ACXD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C,6DAA6D;AACvG;AACA,CAAC,E;;;;;;ACXD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AClBD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;;ACjBD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;ACjBD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,4BAA4B;AACpG;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA,uCAAuC;AACvC,sCAAsC,yBAAyB;AAC/D,CAAC;;AAED;AACA;AACA;;AAEA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP,wBAAwB,aAAa;AACrC,KAAK;AACL,GAAG;AACH;AACA,0DAA0D,OAAO;AACjE;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP,wBAAwB,aAAa;AACrC,KAAK;AACL;AACA,CAAC;;AAED,mDAAmD,aAAa,EAAE;;AAElE,oBAAoB,wBAAwB;;AAE5C,sC;;;;;;ACtMA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;ACPF;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,E;;;;;;ACdF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;AClBF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;AChBF;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;ACPF;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA,EAAE,E;;;;;;ACRF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;ACfF;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA,EAAE,E;;;;;;ACRF;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,E;;;;;;ACdF;AACA;;AAEA,uCAAuC,wCAAgD,E;;;;;;;ACHvF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AC7BD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,e;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,a;;;;;;ACND,0C;;;;;;ACAA,uC;;;;;;ACAA;AACA;;AAEA,8BAA8B,+BAA6B,E;;;;;;ACH3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wGAAwG,OAAO;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACLD;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACnBD;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;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;AAC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A;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;;;;;;;;;ACnDA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;;;;;;;;;ACbA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;ACdA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA,C;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;ACdgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;;AAEA;AACA;;;;;;;;ACLA;AACA;AACA,C;;;;;;;ACFA;AAAA;AACQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;AChGA;AAAA;AACQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;AClQA;AAAA;AACQ;;AAER,wBAAwB;AACxB,iCAAiC;AACjC,+BAA+B;AAC/B,kCAAkC;AAClC,iCAAiC;AACjC,+BAA+B;AAC/B,8BAA8B;AAC9B,mCAAmC;AACnC,iCAAiC;AACjC,4BAA4B;AAC5B,oCAAoC;AACpC,4BAA4B;AAC5B,+BAA+B;;;;;;;;ACf/B;AACA,OAAO,iBAAiB;AACxB,YAAY;AACZ;;;;;;;;;;ACHA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gE;;;;;;;;AC/DmE;;AAEnE;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;AClCA;AACwC;AACxC;AACA;AACA,iBAAiB;AACjB,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH,gBAAgB;AAChB;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B,SAAS;AACT,cAAc;AACd,eAAe;AACf,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ;AACR,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA;AACA,SAAS;AACT,YAAY;AACZ,YAAY;AACZ,WAAW;AACX,WAAW;AACX,YAAY;AACZ,WAAW;;AAEX;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;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,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;ACjP4C;;AAE8D;AAC1G;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACtC+B;AACK;AACpC;;AAEA;AACA,iBAAiB;AACjB,iBAAiB;AACjB,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,sBAAsB;AACtB;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8EAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2J;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEQ;;AAER;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACc;;AAEd;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;AChIA;AACuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;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;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;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;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;;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;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;AC9MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC3GA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACrEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACc;;AAEd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACpHA;AACA;AACwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACnDA;AACA;AACc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB,WAAW;AACX,aAAa;AACb,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACvGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;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;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;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,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;ACxG+B;;AAE/B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;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;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;;AAEA;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;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;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;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;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;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACzSA;AACA;AACA;AACA;AACA;AACuB;AACvB;;AAEA;AACA,iBAAiB;AACjB,iBAAiB;AACjB,gBAAgB;AAChB,gBAAgB;AAChB,iBAAiB;AACjB,iBAAiB;AACjB,sBAAsB;AACtB,uBAAuB;;AAEvB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC1IA;AACA;AACA;;AAEA;AACA;AACA;AACQ;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACfA;;AAEA;AACA;AACA;AACoC;AACpC;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;;AAEA;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;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACnGA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACnDA;AACA;AACc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AClFmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;;AAEA;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;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACjOA;AACA;AACA;AAC+B;;AAE/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;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;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;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC1KA;AACA;AACuB;;AAEvB;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB,WAAW;AACX,aAAa;AACb,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT,QAAQ;AACR,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACc;;AAEd;AACA;;AAEA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA,0JAA0E;AAC1E;;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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,GAAG;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB,GAAG;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACtIA;AACA;AACA;AACA;AACA;AACA;AACuB;;AAEvB;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,GAAG;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AClHA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACrFuB;;AAEvB;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;;AAEA;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;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;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;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC7KA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC/DA;AAAA;AACA;;AAEA;AACA;AACA;AACA;;AAEuB;AACvB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;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;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC5KA;AACA;AACA;AACY;;;AAGZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC3BA;;AAEuB;;AAEvB;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;;AAEA;;AAEA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;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;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;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChI2B;;;;;;;ACA3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;yDACA;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,C;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/tBA;;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;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;;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;AACA;AACA;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;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;;;;;;;;;;;ACtKA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,GAAG;AACH;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;;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;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;;;;;;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;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,EAAE;AACF;AACA,E","file":"HMap.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"HMap\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"HMap\"] = factory();\n\telse\n\t\troot[\"HMap\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \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// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 461);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap bb7b9781b1017fdf821b","var global = require('./_global')\n , core = require('./_core')\n , hide = require('./_hide')\n , redefine = require('./_redefine')\n , ctx = require('./_ctx')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {})\n , key, own, out, exp;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if(target)redefine(target, key, out, type & $export.U);\n // export\n if(exports[key] != out)hide(exports, key, exp);\n if(IS_PROTO && expProto[key] != out)expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_export.js\n// module id = 0\n// module chunks = 0","/**\r\n * Created by FDD on 2017/2/22.\r\n * @desc 静态常量\r\n */\r\n\r\nexport const X_PI = 3.14159265358979324 * 3000.0 / 180.0\r\nexport const PI = 3.1415926535897932384626 // PI\r\nexport const a = 6378245.0 // 北京54坐标系长半轴a=6378245m\r\nexport const ee = 0.00669342162296594323\r\n\r\nimport _proj4 from 'proj4'\r\nimport _ol from 'openlayers'\r\n// import _mathjs from '../node_modules/mathjs'\r\n// import _olx from '../node_modules/openlayers/externs'\r\n\r\nimport _config from './config/config'\r\n\r\nexport const ol = _ol\r\nexport const proj4 = _proj4\r\nexport const config = _config\r\n// export const mathjs = _mathjs\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/constants.js","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_an-object.js\n// module id = 2\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_global.js\n// module id = 3\n// module chunks = 0","export var PJD_3PARAM = 1;\nexport var PJD_7PARAM = 2;\nexport var PJD_WGS84 = 4; // WGS84 or equivalent\nexport var PJD_NODATUM = 5; // WGS84 or equivalent\nexport var SEC_TO_RAD = 4.84813681109535993589914102357e-6;\nexport var HALF_PI = Math.PI/2;\n// ellipoid pj_set_ell.c\nexport var SIXTH = 0.1666666666666666667;\n/* 1/6 */\nexport var RA4 = 0.04722222222222222222;\n/* 17/360 */\nexport var RA6 = 0.02215608465608465608;\nexport var EPSLN = (typeof Number.EPSILON === 'undefined') ? 1.0e-10 : Number.EPSILON;\nexport var D2R = 0.01745329251994329577;\nexport var R2D = 57.29577951308232088;\nexport var FORTPI = Math.PI/4;\nexport var TWO_PI = Math.PI * 2;\n// SPI is slightly greater than Math.PI, so values that exceed the -180..180\n// degree range by a tiny amount don't get wrapped. This prevents points that\n// have drifted from their original location along the 180th meridian (due to\n// floating point error) from changing their sign.\nexport var SPI = 3.14159265359;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/constants/values.js\n// module id = 4\n// module chunks = 0","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_fails.js\n// module id = 5\n// module chunks = 0","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-object.js\n// module id = 6\n// module chunks = 0","/**\r\n * Created by FDD on 2017/5/20.\r\n */\r\nconst PlotTypes = {\r\n ARC: 'Arc',\r\n CURVE: 'Curve',\r\n GATHERING_PLACE: 'GatheringPlace',\r\n POLYLINE: 'Polyline',\r\n FREE_LINE: 'FreeLine',\r\n POINT: 'Point',\r\n PENNANT: 'Pennant',\r\n RECTANGLE: 'RectAngle',\r\n CIRCLE: 'Circle',\r\n ELLIPSE: 'Ellipse',\r\n LUNE: 'Lune',\r\n SECTOR: 'Sector',\r\n CLOSED_CURVE: 'ClosedCurve',\r\n POLYGON: 'Polygon',\r\n FREE_POLYGON: 'FreePolygon',\r\n ATTACK_ARROW: 'AttackArrow',\r\n DOUBLE_ARROW: 'DoubleArrow',\r\n STRAIGHT_ARROW: 'StraightArrow',\r\n FINE_ARROW: 'FineArrow',\r\n ASSAULT_DIRECTION: 'AssaultDirection',\r\n TAILED_ATTACK_ARROW: 'TailedAttackArrow',\r\n SQUAD_COMBAT: 'SquadCombat',\r\n TAILED_SQUAD_COMBAT: 'TailedSquadCombat'\r\n}\r\n\r\nexport default PlotTypes\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Utils/PlotTypes.js","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_wks.js\n// module id = 8\n// module chunks = 0","\nimport {TWO_PI, SPI} from '../constants/values';\nimport sign from './sign';\n\nexport default function(x) {\n return (Math.abs(x) <= SPI) ? x : (x - (sign(x) * TWO_PI));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/adjust_lon.js\n// module id = 9\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_descriptors.js\n// module id = 10\n// module chunks = 0","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-dp.js\n// module id = 11\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-length.js\n// module id = 12\n// module chunks = 0","import * as Constants from '../Constants'\r\n/**\r\n * 计算两个坐标之间的距离\r\n * @param pnt1\r\n * @param pnt2\r\n * @returns {number}\r\n * @constructor\r\n */\r\nexport const MathDistance = (pnt1, pnt2) => {\r\n return (Math.sqrt(Math.pow((pnt1[0] - pnt2[0]), 2) + Math.pow((pnt1[1] - pnt2[1]), 2)))\r\n}\r\n\r\n/**\r\n * 计算点集合的总距离\r\n * @param points\r\n * @returns {number}\r\n */\r\nexport const wholeDistance = (points) => {\r\n let distance = 0\r\n if (points && Array.isArray(points) && points.length > 0) {\r\n points.forEach((item, index) => {\r\n if (index < points.length - 1) {\r\n distance += (MathDistance(item, points[index + 1]))\r\n }\r\n })\r\n }\r\n return distance\r\n}\r\n/**\r\n * 获取基础长度\r\n * @param points\r\n * @returns {number}\r\n */\r\nexport const getBaseLength = (points) => {\r\n return Math.pow(wholeDistance(points), 0.99)\r\n}\r\n\r\n/**\r\n * 求取两个坐标的中间值\r\n * @param point1\r\n * @param point2\r\n * @returns {[*,*]}\r\n * @constructor\r\n */\r\nexport const Mid = (point1, point2) => {\r\n return [(point1[0] + point2[0]) / 2, (point1[1] + point2[1]) / 2]\r\n}\r\n\r\n/**\r\n * 通过三个点确定一个圆的中心点\r\n * @param point1\r\n * @param point2\r\n * @param point3\r\n */\r\nexport const getCircleCenterOfThreePoints = (point1, point2, point3) => {\r\n let pntA = [(point1[0] + point2[0]) / 2, (point1[1] + point2[1]) / 2]\r\n let pntB = [pntA[0] - point1[1] + point2[1], pntA[1] + point1[0] - point2[0]]\r\n let pntC = [(point1[0] + point3[0]) / 2, (point1[1] + point3[1]) / 2]\r\n let pntD = [pntC[0] - point1[1] + point3[1], pntC[1] + point1[0] - point3[0]]\r\n return getIntersectPoint(pntA, pntB, pntC, pntD)\r\n}\r\n\r\n/**\r\n * 获取交集的点\r\n * @param pntA\r\n * @param pntB\r\n * @param pntC\r\n * @param pntD\r\n * @returns {[*,*]}\r\n */\r\nexport const getIntersectPoint = (pntA, pntB, pntC, pntD) => {\r\n if (pntA[1] === pntB[1]) {\r\n let f = (pntD[0] - pntC[0]) / (pntD[1] - pntC[1])\r\n let x = f * (pntA[1] - pntC[1]) + pntC[0]\r\n let y = pntA[1]\r\n return [x, y]\r\n }\r\n if (pntC[1] === pntD[1]) {\r\n let e = (pntB[0] - pntA[0]) / (pntB[1] - pntA[1])\r\n let x = e * (pntC[1] - pntA[1]) + pntA[0]\r\n let y = pntC[1]\r\n return [x, y]\r\n }\r\n let e = (pntB[0] - pntA[0]) / (pntB[1] - pntA[1])\r\n let f = (pntD[0] - pntC[0]) / (pntD[1] - pntC[1])\r\n let y = (e * pntA[1] - pntA[0] - f * pntC[1] + pntC[0]) / (e - f)\r\n let x = e * y - e * pntA[1] + pntA[0]\r\n return [x, y]\r\n}\r\n\r\n/**\r\n * 获取方位角(地平经度)\r\n * @param startPoint\r\n * @param endPoint\r\n * @returns {*}\r\n */\r\nexport const getAzimuth = (startPoint, endPoint) => {\r\n let azimuth\r\n let angle = Math.asin(Math.abs(endPoint[1] - startPoint[1]) / (MathDistance(startPoint, endPoint)))\r\n if (endPoint[1] >= startPoint[1] && endPoint[0] >= startPoint[0]) {\r\n azimuth = angle + Math.PI\r\n } else if (endPoint[1] >= startPoint[1] && endPoint[0] < startPoint[0]) {\r\n azimuth = Math.PI * 2 - angle\r\n } else if (endPoint[1] < startPoint[1] && endPoint[0] < startPoint[0]) {\r\n azimuth = angle\r\n } else if (endPoint[1] < startPoint[1] && endPoint[0] >= startPoint[0]) {\r\n azimuth = Math.PI - angle\r\n }\r\n return azimuth\r\n}\r\n\r\n/**\r\n * 通过三个点获取方位角\r\n * @param pntA\r\n * @param pntB\r\n * @param pntC\r\n * @returns {number}\r\n */\r\nexport const getAngleOfThreePoints = (pntA, pntB, pntC) => {\r\n let angle = getAzimuth(pntB, pntA) - getAzimuth(pntB, pntC)\r\n return ((angle < 0) ? (angle + Math.PI * 2) : angle)\r\n}\r\n\r\n/**\r\n * 判断是否是顺时针\r\n * @param pnt1\r\n * @param pnt2\r\n * @param pnt3\r\n * @returns {boolean}\r\n */\r\nexport const isClockWise = (pnt1, pnt2, pnt3) => {\r\n return ((pnt3[1] - pnt1[1]) * (pnt2[0] - pnt1[0]) > (pnt2[1] - pnt1[1]) * (pnt3[0] - pnt1[0]))\r\n}\r\n\r\n/**\r\n * 获取线上的点\r\n * @param t\r\n * @param startPnt\r\n * @param endPnt\r\n * @returns {[*,*]}\r\n */\r\nexport const getPointOnLine = (t, startPnt, endPnt) => {\r\n let x = startPnt[0] + (t * (endPnt[0] - startPnt[0]))\r\n let y = startPnt[1] + (t * (endPnt[1] - startPnt[1]))\r\n return [x, y]\r\n}\r\n\r\n/**\r\n * 获取立方值\r\n * @param t\r\n * @param startPnt\r\n * @param cPnt1\r\n * @param cPnt2\r\n * @param endPnt\r\n * @returns {[*,*]}\r\n */\r\nexport const getCubicValue = (t, startPnt, cPnt1, cPnt2, endPnt) => {\r\n t = Math.max(Math.min(t, 1), 0)\r\n let [tp, t2] = [(1 - t), (t * t)]\r\n let t3 = t2 * t\r\n let tp2 = tp * tp\r\n let tp3 = tp2 * tp\r\n let x = (tp3 * startPnt[0]) + (3 * tp2 * t * cPnt1[0]) + (3 * tp * t2 * cPnt2[0]) + (t3 * endPnt[0])\r\n let y = (tp3 * startPnt[1]) + (3 * tp2 * t * cPnt1[1]) + (3 * tp * t2 * cPnt2[1]) + (t3 * endPnt[1])\r\n return [x, y]\r\n}\r\n\r\n/**\r\n * 根据起止点和旋转方向求取第三个点\r\n * @param startPnt\r\n * @param endPnt\r\n * @param angle\r\n * @param distance\r\n * @param clockWise\r\n * @returns {[*,*]}\r\n */\r\nexport const getThirdPoint = (startPnt, endPnt, angle, distance, clockWise) => {\r\n let azimuth = getAzimuth(startPnt, endPnt)\r\n let alpha = clockWise ? (azimuth + angle) : (azimuth - angle)\r\n let dx = distance * Math.cos(alpha)\r\n let dy = distance * Math.sin(alpha)\r\n return ([endPnt[0] + dx, endPnt[1] + dy])\r\n}\r\n\r\n/**\r\n * 函数继承\r\n * @param childCtor\r\n * @param parentCtor\r\n */\r\nexport const inherits = (childCtor, parentCtor) => {\r\n /** @constructor */\r\n function TempCtor () {\r\n }\r\n\r\n TempCtor.prototype = parentCtor.prototype\r\n childCtor.superClass_ = parentCtor.prototype\r\n childCtor.prototype = new TempCtor()\r\n /** @override */\r\n childCtor.prototype.constructor = childCtor\r\n childCtor.base = function (me, methodName, varArgs) {\r\n let args = Array.prototype.slice.call(arguments, 2)\r\n return parentCtor.prototype[methodName].apply(me, args)\r\n }\r\n}\r\n\r\n/**\r\n * 插值弓形线段点\r\n * @param center\r\n * @param radius\r\n * @param startAngle\r\n * @param endAngle\r\n * @returns {null}\r\n */\r\nexport const getArcPoints = (center, radius, startAngle, endAngle) => {\r\n let [x, y, pnts, angleDiff] = [null, null, [], (endAngle - startAngle)]\r\n angleDiff = ((angleDiff < 0) ? (angleDiff + (Math.PI * 2)) : angleDiff)\r\n for (let i = 0; i <= 100; i++) {\r\n let angle = startAngle + angleDiff * i / 100\r\n x = center[0] + radius * Math.cos(angle)\r\n y = center[1] + radius * Math.sin(angle)\r\n pnts.push([x, y])\r\n }\r\n return pnts\r\n}\r\n\r\n/**\r\n * getBisectorNormals\r\n * @param t\r\n * @param pnt1\r\n * @param pnt2\r\n * @param pnt3\r\n * @returns {[*,*]}\r\n */\r\nexport const getBisectorNormals = (t, pnt1, pnt2, pnt3) => {\r\n let normal = getNormal(pnt1, pnt2, pnt3)\r\n let [bisectorNormalRight, bisectorNormalLeft, dt, x, y] = [null, null, null, null, null]\r\n let dist = Math.sqrt(normal[0] * normal[0] + normal[1] * normal[1])\r\n let uX = normal[0] / dist\r\n let uY = normal[1] / dist\r\n let d1 = MathDistance(pnt1, pnt2)\r\n let d2 = MathDistance(pnt2, pnt3)\r\n if (dist > Constants.ZERO_TOLERANCE) {\r\n if (isClockWise(pnt1, pnt2, pnt3)) {\r\n dt = t * d1\r\n x = pnt2[0] - dt * uY\r\n y = pnt2[1] + dt * uX\r\n bisectorNormalRight = [x, y]\r\n dt = t * d2\r\n x = pnt2[0] + dt * uY\r\n y = pnt2[1] - dt * uX\r\n bisectorNormalLeft = [x, y]\r\n } else {\r\n dt = t * d1\r\n x = pnt2[0] + dt * uY\r\n y = pnt2[1] - dt * uX\r\n bisectorNormalRight = [x, y]\r\n dt = t * d2\r\n x = pnt2[0] - dt * uY\r\n y = pnt2[1] + dt * uX\r\n bisectorNormalLeft = [x, y]\r\n }\r\n } else {\r\n x = pnt2[0] + t * (pnt1[0] - pnt2[0])\r\n y = pnt2[1] + t * (pnt1[1] - pnt2[1])\r\n bisectorNormalRight = [x, y]\r\n x = pnt2[0] + t * (pnt3[0] - pnt2[0])\r\n y = pnt2[1] + t * (pnt3[1] - pnt2[1])\r\n bisectorNormalLeft = [x, y]\r\n }\r\n return [bisectorNormalRight, bisectorNormalLeft]\r\n}\r\n\r\n/**\r\n * 获取默认三点的内切圆\r\n * @param pnt1\r\n * @param pnt2\r\n * @param pnt3\r\n * @returns {[*,*]}\r\n */\r\nexport const getNormal = (pnt1, pnt2, pnt3) => {\r\n let dX1 = pnt1[0] - pnt2[0]\r\n let dY1 = pnt1[1] - pnt2[1]\r\n let d1 = Math.sqrt(dX1 * dX1 + dY1 * dY1)\r\n dX1 /= d1\r\n dY1 /= d1\r\n let dX2 = pnt3[0] - pnt2[0]\r\n let dY2 = pnt3[1] - pnt2[1]\r\n let d2 = Math.sqrt(dX2 * dX2 + dY2 * dY2)\r\n dX2 /= d2\r\n dY2 /= d2\r\n let uX = dX1 + dX2\r\n let uY = dY1 + dY2\r\n return [uX, uY]\r\n}\r\n\r\n/**\r\n * 获取左边控制点\r\n * @param controlPoints\r\n * @returns {[*,*]}\r\n */\r\nexport const getLeftMostControlPoint = (controlPoints, t) => {\r\n let [pnt1, pnt2, pnt3, controlX, controlY] = [controlPoints[0], controlPoints[1], controlPoints[2], null, null]\r\n let pnts = getBisectorNormals(0, pnt1, pnt2, pnt3)\r\n let normalRight = pnts[0]\r\n let normal = getNormal(pnt1, pnt2, pnt3)\r\n let dist = Math.sqrt(normal[0] * normal[0] + normal[1] * normal[1])\r\n if (dist > Constants.ZERO_TOLERANCE) {\r\n let mid = Mid(pnt1, pnt2)\r\n let pX = pnt1[0] - mid[0]\r\n let pY = pnt1[1] - mid[1]\r\n let d1 = MathDistance(pnt1, pnt2)\r\n let n = 2.0 / d1\r\n let nX = -n * pY\r\n let nY = n * pX\r\n let a11 = nX * nX - nY * nY\r\n let a12 = 2 * nX * nY\r\n let a22 = nY * nY - nX * nX\r\n let dX = normalRight[0] - mid[0]\r\n let dY = normalRight[1] - mid[1]\r\n controlX = mid[0] + a11 * dX + a12 * dY\r\n controlY = mid[1] + a12 * dX + a22 * dY\r\n } else {\r\n controlX = pnt1[0] + t * (pnt2[0] - pnt1[0])\r\n controlY = pnt1[1] + t * (pnt2[1] - pnt1[1])\r\n }\r\n return [controlX, controlY]\r\n}\r\n\r\n/**\r\n * 获取右边控制点\r\n * @param controlPoints\r\n * @param t\r\n * @returns {[*,*]}\r\n */\r\nexport const getRightMostControlPoint = (controlPoints, t) => {\r\n let count = controlPoints.length\r\n let pnt1 = controlPoints[count - 3]\r\n let pnt2 = controlPoints[count - 2]\r\n let pnt3 = controlPoints[count - 1]\r\n let pnts = getBisectorNormals(0, pnt1, pnt2, pnt3)\r\n let normalLeft = pnts[1]\r\n let normal = getNormal(pnt1, pnt2, pnt3)\r\n let dist = Math.sqrt(normal[0] * normal[0] + normal[1] * normal[1])\r\n let [controlX, controlY] = [null, null]\r\n if (dist > Constants.ZERO_TOLERANCE) {\r\n let mid = Mid(pnt2, pnt3)\r\n let pX = pnt3[0] - mid[0]\r\n let pY = pnt3[1] - mid[1]\r\n let d1 = MathDistance(pnt2, pnt3)\r\n let n = 2.0 / d1\r\n let nX = -n * pY\r\n let nY = n * pX\r\n let a11 = nX * nX - nY * nY\r\n let a12 = 2 * nX * nY\r\n let a22 = nY * nY - nX * nX\r\n let dX = normalLeft[0] - mid[0]\r\n let dY = normalLeft[1] - mid[1]\r\n controlX = mid[0] + a11 * dX + a12 * dY\r\n controlY = mid[1] + a12 * dX + a22 * dY\r\n } else {\r\n controlX = pnt3[0] + t * (pnt2[0] - pnt3[0])\r\n controlY = pnt3[1] + t * (pnt2[1] - pnt3[1])\r\n }\r\n return [controlX, controlY]\r\n}\r\n\r\n/**\r\n * 插值曲线点\r\n * @param t\r\n * @param controlPoints\r\n * @returns {null}\r\n */\r\nexport const getCurvePoints = (t, controlPoints) => {\r\n let leftControl = getLeftMostControlPoint(controlPoints, t)\r\n let [pnt1, pnt2, pnt3, normals, points] = [null, null, null, [leftControl], []]\r\n for (let i = 0; i < controlPoints.length - 2; i++) {\r\n [pnt1, pnt2, pnt3] = [controlPoints[i], controlPoints[i + 1], controlPoints[i + 2]]\r\n let normalPoints = getBisectorNormals(t, pnt1, pnt2, pnt3)\r\n normals = normals.concat(normalPoints)\r\n }\r\n let rightControl = getRightMostControlPoint(controlPoints, t)\r\n if (rightControl) {\r\n normals.push(rightControl)\r\n }\r\n for (let i = 0; i < controlPoints.length - 1; i++) {\r\n pnt1 = controlPoints[i]\r\n pnt2 = controlPoints[i + 1]\r\n points.push(pnt1)\r\n for (let t = 0; t < Constants.FITTING_COUNT; t++) {\r\n let pnt = getCubicValue(t / Constants.FITTING_COUNT, pnt1, normals[i * 2], normals[i * 2 + 1], pnt2)\r\n points.push(pnt)\r\n }\r\n points.push(pnt2)\r\n }\r\n return points\r\n}\r\n\r\n/**\r\n * 贝塞尔曲线\r\n * @param points\r\n * @returns {*}\r\n */\r\nexport const getBezierPoints = function (points) {\r\n if (points.length <= 2) {\r\n return points\r\n } else {\r\n let bezierPoints = []\r\n let n = points.length - 1\r\n for (let t = 0; t <= 1; t += 0.01) {\r\n let [x, y] = [0, 0]\r\n for (let index = 0; index <= n; index++) {\r\n let factor = getBinomialFactor(n, index)\r\n let a = Math.pow(t, index)\r\n let b = Math.pow((1 - t), (n - index))\r\n x += factor * a * b * points[index][0]\r\n y += factor * a * b * points[index][1]\r\n }\r\n bezierPoints.push([x, y])\r\n }\r\n bezierPoints.push(points[n])\r\n return bezierPoints\r\n }\r\n}\r\n\r\n/**\r\n * 获取阶乘数据\r\n * @param n\r\n * @returns {number}\r\n */\r\nexport const getFactorial = (n) => {\r\n let result = 1\r\n switch (n) {\r\n case (n <= 1):\r\n result = 1\r\n break\r\n case (n === 2):\r\n result = 2\r\n break\r\n case (n === 3):\r\n result = 6\r\n break\r\n case (n === 24):\r\n result = 24\r\n break\r\n case (n === 5):\r\n result = 120\r\n break\r\n default:\r\n for (let i = 1; i <= n; i++) {\r\n result *= i\r\n }\r\n break\r\n }\r\n return result\r\n}\r\n\r\n/**\r\n * 获取二项分布\r\n * @param n\r\n * @param index\r\n * @returns {number}\r\n */\r\nexport const getBinomialFactor = (n, index) => {\r\n return (getFactorial(n) / (getFactorial(index) * getFactorial(n - index)))\r\n}\r\n\r\n/**\r\n * 插值线性点\r\n * @param points\r\n * @returns {*}\r\n */\r\nexport const getQBSplinePoints = points => {\r\n if (points.length <= 2) {\r\n return points\r\n } else {\r\n let [n, bSplinePoints] = [2, []]\r\n let m = points.length - n - 1\r\n bSplinePoints.push(points[0])\r\n for (let i = 0; i <= m; i++) {\r\n for (let t = 0; t <= 1; t += 0.05) {\r\n let [x, y] = [0, 0]\r\n for (let k = 0; k <= n; k++) {\r\n let factor = getQuadricBSplineFactor(k, t)\r\n x += factor * points[i + k][0]\r\n y += factor * points[i + k][1]\r\n }\r\n bSplinePoints.push([x, y])\r\n }\r\n }\r\n bSplinePoints.push(points[points.length - 1])\r\n return bSplinePoints\r\n }\r\n}\r\n\r\n/**\r\n * 得到二次线性因子\r\n * @param k\r\n * @param t\r\n * @returns {number}\r\n */\r\nexport const getQuadricBSplineFactor = (k, t) => {\r\n let res = 0\r\n if (k === 0) {\r\n res = Math.pow(t - 1, 2) / 2\r\n } else if (k === 1) {\r\n res = (-2 * Math.pow(t, 2) + 2 * t + 1) / 2\r\n } else if (k === 2) {\r\n res = Math.pow(t, 2) / 2\r\n }\r\n return res\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Utils/utils.js","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-object.js\n// module id = 14\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_has.js\n// module id = 15\n// module chunks = 0","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_a-function.js\n// module id = 16\n// module chunks = 0","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_hide.js\n// module id = 17\n// module chunks = 0","var global = require('./_global')\n , hide = require('./_hide')\n , has = require('./_has')\n , SRC = require('./_uid')('src')\n , TO_STRING = 'toString'\n , $toString = Function[TO_STRING]\n , TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function(it){\n return $toString.call(it);\n};\n\n(module.exports = function(O, key, val, safe){\n var isFunction = typeof val == 'function';\n if(isFunction)has(val, 'name') || hide(val, 'name', key);\n if(O[key] === val)return;\n if(isFunction)has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if(O === global){\n O[key] = val;\n } else {\n if(!safe){\n delete O[key];\n hide(O, key, val);\n } else {\n if(O[key])O[key] = val;\n else hide(O, key, val);\n }\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString(){\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_redefine.js\n// module id = 18\n// module chunks = 0","var $export = require('./_export')\n , fails = require('./_fails')\n , defined = require('./_defined')\n , quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function(string, tag, attribute, value) {\n var S = String(defined(string))\n , p1 = '<' + tag;\n if(attribute !== '')p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function(NAME, exec){\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function(){\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-html.js\n// module id = 19\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-iobject.js\n// module id = 20\n// module chunks = 0","var pIE = require('./_object-pie')\n , createDesc = require('./_property-desc')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){\n O = toIObject(O);\n P = toPrimitive(P, true);\n if(IE8_DOM_DEFINE)try {\n return gOPD(O, P);\n } catch(e){ /* empty */ }\n if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gopd.js\n// module id = 21\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has')\n , toObject = require('./_to-object')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n O = toObject(O);\n if(has(O, IE_PROTO))return O[IE_PROTO];\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gpo.js\n// module id = 22\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_cof.js\n// module id = 23\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_defined.js\n// module id = 24\n// module chunks = 0","var fails = require('./_fails');\n\nmodule.exports = function(method, arg){\n return !!method && fails(function(){\n arg ? method.call(null, function(){}, 1) : method.call(null);\n });\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_strict-method.js\n// module id = 25\n// module chunks = 0","/**\r\n * Created by FDD on 2017/5/22.\r\n * @desc 常用变量\r\n */\r\nexport const FITTING_COUNT = 100\r\nexport const ZERO_TOLERANCE = 0.0001\r\nexport const TWO_PI = Math.PI * 2\r\nexport const HALF_PI = Math.PI / 2\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Constants.js","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx')\n , IObject = require('./_iobject')\n , toObject = require('./_to-object')\n , toLength = require('./_to-length')\n , asc = require('./_array-species-create');\nmodule.exports = function(TYPE, $create){\n var IS_MAP = TYPE == 1\n , IS_FILTER = TYPE == 2\n , IS_SOME = TYPE == 3\n , IS_EVERY = TYPE == 4\n , IS_FIND_INDEX = TYPE == 6\n , NO_HOLES = TYPE == 5 || IS_FIND_INDEX\n , create = $create || asc;\n return function($this, callbackfn, that){\n var O = toObject($this)\n , self = IObject(O)\n , f = ctx(callbackfn, that, 3)\n , length = toLength(self.length)\n , index = 0\n , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined\n , val, res;\n for(;length > index; index++)if(NO_HOLES || index in self){\n val = self[index];\n res = f(val, index, O);\n if(TYPE){\n if(IS_MAP)result[index] = res; // map\n else if(res)switch(TYPE){\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if(IS_EVERY)return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-methods.js\n// module id = 27\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export')\n , core = require('./_core')\n , fails = require('./_fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-sap.js\n// module id = 28\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-primitive.js\n// module id = 29\n// module chunks = 0","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_core.js\n// module id = 30\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_ctx.js\n// module id = 31\n// module chunks = 0","var Map = require('./es6.map')\n , $export = require('./_export')\n , shared = require('./_shared')('metadata')\n , store = shared.store || (shared.store = new (require('./es6.weak-map')));\n\nvar getOrCreateMetadataMap = function(target, targetKey, create){\n var targetMetadata = store.get(target);\n if(!targetMetadata){\n if(!create)return undefined;\n store.set(target, targetMetadata = new Map);\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if(!keyMetadata){\n if(!create)return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map);\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function(MetadataKey, O, P){\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function(MetadataKey, O, P){\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function(MetadataKey, MetadataValue, O, P){\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function(target, targetKey){\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false)\n , keys = [];\n if(metadataMap)metadataMap.forEach(function(_, key){ keys.push(key); });\n return keys;\n};\nvar toMetaKey = function(it){\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function(O){\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_metadata.js\n// module id = 32\n// module chunks = 0","'use strict';\nif(require('./_descriptors')){\n var LIBRARY = require('./_library')\n , global = require('./_global')\n , fails = require('./_fails')\n , $export = require('./_export')\n , $typed = require('./_typed')\n , $buffer = require('./_typed-buffer')\n , ctx = require('./_ctx')\n , anInstance = require('./_an-instance')\n , propertyDesc = require('./_property-desc')\n , hide = require('./_hide')\n , redefineAll = require('./_redefine-all')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , same = require('./_same-value')\n , classof = require('./_classof')\n , isObject = require('./_is-object')\n , toObject = require('./_to-object')\n , isArrayIter = require('./_is-array-iter')\n , create = require('./_object-create')\n , getPrototypeOf = require('./_object-gpo')\n , gOPN = require('./_object-gopn').f\n , getIterFn = require('./core.get-iterator-method')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , createArrayMethod = require('./_array-methods')\n , createArrayIncludes = require('./_array-includes')\n , speciesConstructor = require('./_species-constructor')\n , ArrayIterators = require('./es6.array.iterator')\n , Iterators = require('./_iterators')\n , $iterDetect = require('./_iter-detect')\n , setSpecies = require('./_set-species')\n , arrayFill = require('./_array-fill')\n , arrayCopyWithin = require('./_array-copy-within')\n , $DP = require('./_object-dp')\n , $GOPD = require('./_object-gopd')\n , dP = $DP.f\n , gOPD = $GOPD.f\n , RangeError = global.RangeError\n , TypeError = global.TypeError\n , Uint8Array = global.Uint8Array\n , ARRAY_BUFFER = 'ArrayBuffer'\n , SHARED_BUFFER = 'Shared' + ARRAY_BUFFER\n , BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'\n , PROTOTYPE = 'prototype'\n , ArrayProto = Array[PROTOTYPE]\n , $ArrayBuffer = $buffer.ArrayBuffer\n , $DataView = $buffer.DataView\n , arrayForEach = createArrayMethod(0)\n , arrayFilter = createArrayMethod(2)\n , arraySome = createArrayMethod(3)\n , arrayEvery = createArrayMethod(4)\n , arrayFind = createArrayMethod(5)\n , arrayFindIndex = createArrayMethod(6)\n , arrayIncludes = createArrayIncludes(true)\n , arrayIndexOf = createArrayIncludes(false)\n , arrayValues = ArrayIterators.values\n , arrayKeys = ArrayIterators.keys\n , arrayEntries = ArrayIterators.entries\n , arrayLastIndexOf = ArrayProto.lastIndexOf\n , arrayReduce = ArrayProto.reduce\n , arrayReduceRight = ArrayProto.reduceRight\n , arrayJoin = ArrayProto.join\n , arraySort = ArrayProto.sort\n , arraySlice = ArrayProto.slice\n , arrayToString = ArrayProto.toString\n , arrayToLocaleString = ArrayProto.toLocaleString\n , ITERATOR = wks('iterator')\n , TAG = wks('toStringTag')\n , TYPED_CONSTRUCTOR = uid('typed_constructor')\n , DEF_CONSTRUCTOR = uid('def_constructor')\n , ALL_CONSTRUCTORS = $typed.CONSTR\n , TYPED_ARRAY = $typed.TYPED\n , VIEW = $typed.VIEW\n , WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function(O, length){\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function(){\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function(){\n new Uint8Array(1).set({});\n });\n\n var strictToLength = function(it, SAME){\n if(it === undefined)throw TypeError(WRONG_LENGTH);\n var number = +it\n , length = toLength(it);\n if(SAME && !same(number, length))throw RangeError(WRONG_LENGTH);\n return length;\n };\n\n var toOffset = function(it, BYTES){\n var offset = toInteger(it);\n if(offset < 0 || offset % BYTES)throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function(it){\n if(isObject(it) && TYPED_ARRAY in it)return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function(C, length){\n if(!(isObject(C) && TYPED_CONSTRUCTOR in C)){\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function(O, list){\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function(C, list){\n var index = 0\n , length = list.length\n , result = allocate(C, length);\n while(length > index)result[index] = list[index++];\n return result;\n };\n\n var addGetter = function(it, key, internal){\n dP(it, key, {get: function(){ return this._d[internal]; }});\n };\n\n var $from = function from(source /*, mapfn, thisArg */){\n var O = toObject(source)\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , iterFn = getIterFn(O)\n , i, length, values, result, step, iterator;\n if(iterFn != undefined && !isArrayIter(iterFn)){\n for(iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++){\n values.push(step.value);\n } O = values;\n }\n if(mapping && aLen > 2)mapfn = ctx(mapfn, arguments[2], 2);\n for(i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++){\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/*...items*/){\n var index = 0\n , length = arguments.length\n , result = allocate(this, length);\n while(length > index)result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function(){ arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString(){\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /*, end */){\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /*, thisArg */){\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /*, start, end */){ // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /*, thisArg */){\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /*, thisArg */){\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /*, thisArg */){\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /*, thisArg */){\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /*, fromIndex */){\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /*, fromIndex */){\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator){ // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */){ // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /*, thisArg */){\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse(){\n var that = this\n , length = validate(that).length\n , middle = Math.floor(length / 2)\n , index = 0\n , value;\n while(index < middle){\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /*, thisArg */){\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn){\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end){\n var O = validate(this)\n , length = O.length\n , $begin = toIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end){\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /*, offset */){\n validate(this);\n var offset = toOffset(arguments[1], 1)\n , length = this.length\n , src = toObject(arrayLike)\n , len = toLength(src.length)\n , index = 0;\n if(len + offset > length)throw RangeError(WRONG_LENGTH);\n while(index < len)this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries(){\n return arrayEntries.call(validate(this));\n },\n keys: function keys(){\n return arrayKeys.call(validate(this));\n },\n values: function values(){\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function(target, key){\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key){\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc){\n if(isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ){\n target[key] = desc.value;\n return target;\n } else return dP(target, key, desc);\n };\n\n if(!ALL_CONSTRUCTORS){\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if(fails(function(){ arrayToString.call({}); })){\n arrayToString = arrayToLocaleString = function toString(){\n return arrayJoin.call(this);\n }\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function(){ /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function(){ return this[TYPED_ARRAY]; }\n });\n\n module.exports = function(KEY, BYTES, wrapper, CLAMPED){\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'\n , ISNT_UINT8 = NAME != 'Uint8Array'\n , GETTER = 'get' + KEY\n , SETTER = 'set' + KEY\n , TypedArray = global[NAME]\n , Base = TypedArray || {}\n , TAC = TypedArray && getPrototypeOf(TypedArray)\n , FORCED = !TypedArray || !$typed.ABV\n , O = {}\n , TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function(that, index){\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function(that, index, value){\n var data = that._d;\n if(CLAMPED)value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function(that, index){\n dP(that, index, {\n get: function(){\n return getter(this, index);\n },\n set: function(value){\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if(FORCED){\n TypedArray = wrapper(function(that, data, $offset, $length){\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0\n , offset = 0\n , buffer, byteLength, length, klass;\n if(!isObject(data)){\n length = strictToLength(data, true)\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if($length === undefined){\n if($len % BYTES)throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if(byteLength < 0)throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if(byteLength + offset > $len)throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if(TYPED_ARRAY in data){\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while(index < length)addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if(!$iterDetect(function(iter){\n // V8 works with iterators, but fails in many other cases\n // https://code.google.com/p/v8/issues/detail?id=4552\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)){\n TypedArray = wrapper(function(that, data, $offset, $length){\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if(!isObject(data))return new Base(strictToLength(data, ISNT_UINT8));\n if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if(TYPED_ARRAY in data)return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function(key){\n if(!(key in TypedArray))hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if(!LIBRARY)TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR]\n , CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined)\n , $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if(CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)){\n dP(TypedArrayPrototype, TAG, {\n get: function(){ return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES,\n from: $from,\n of: $of\n });\n\n if(!(BYTES_PER_ELEMENT in TypedArrayPrototype))hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, {set: $set});\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, {toString: arrayToString});\n\n $export($export.P + $export.F * fails(function(){\n new TypedArray(1).slice();\n }), NAME, {slice: $slice});\n\n $export($export.P + $export.F * (fails(function(){\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString()\n }) || !fails(function(){\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, {toLocaleString: $toLocaleString});\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if(!LIBRARY && !CORRECT_ITER_NAME)hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function(){ /* empty */ };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_typed-array.js\n// module id = 33\n// module chunks = 0","var META = require('./_uid')('meta')\n , isObject = require('./_is-object')\n , has = require('./_has')\n , setDesc = require('./_object-dp').f\n , id = 0;\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\nvar FREEZE = !require('./_fails')(function(){\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function(it){\n setDesc(it, META, {value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n }});\n};\nvar fastKey = function(it, create){\n // return primitive with prefix\n if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return 'F';\n // not necessary to add metadata\n if(!create)return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function(it, create){\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return true;\n // not necessary to add metadata\n if(!create)return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function(it){\n if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_meta.js\n// module id = 34\n// module chunks = 0","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_property-desc.js\n// module id = 35\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-integer.js\n// module id = 36\n// module chunks = 0","const mix = (...mixins) => {\r\n class Mix {}\r\n // 以编程方式给Mix类添加\r\n\r\n // mixins的所有方法和访问器\r\n for (let key in mixins) {\r\n let mixin = mixins[key]\r\n copyProperties(Mix, mixin)\r\n copyProperties(Mix.prototype, mixin.prototype)\r\n }\r\n return Mix\r\n}\r\n\r\nconst copyProperties = (target, source) => {\r\n for (let key of Reflect.ownKeys(source)) {\r\n if (key !== 'constructor' && key !== 'prototype' && key !== 'name' && key !== 'length') {\r\n let desc = Object.getOwnPropertyDescriptor(source, key)\r\n Object.defineProperty(target, key, desc)\r\n }\r\n }\r\n}\r\n\r\nexport default mix\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/mixin.js","module.exports = function(it, Constructor, name, forbiddenField){\n if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_an-instance.js\n// module id = 38\n// module chunks = 0","module.exports = false;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_library.js\n// module id = 39\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object')\n , dPs = require('./_object-dps')\n , enumBugKeys = require('./_enum-bug-keys')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , Empty = function(){ /* empty */ }\n , PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function(){\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe')\n , i = enumBugKeys.length\n , lt = '<'\n , gt = '>'\n , iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties){\n var result;\n if(O !== null){\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty;\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-create.js\n// module id = 40\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal')\n , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){\n return $keys(O, hiddenKeys);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gopn.js\n// module id = 41\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal')\n , enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O){\n return $keys(O, enumBugKeys);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-keys.js\n// module id = 42\n// module chunks = 0","var redefine = require('./_redefine');\nmodule.exports = function(target, src, safe){\n for(var key in src)redefine(target, key, src[key], safe);\n return target;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_redefine-all.js\n// module id = 43\n// module chunks = 0","'use strict';\nvar global = require('./_global')\n , dP = require('./_object-dp')\n , DESCRIPTORS = require('./_descriptors')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(KEY){\n var C = global[KEY];\n if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, {\n configurable: true,\n get: function(){ return this; }\n });\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_set-species.js\n// module id = 44\n// module chunks = 0","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-index.js\n// module id = 45\n// module chunks = 0","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_uid.js\n// module id = 46\n// module chunks = 0","import * as DomUtil from './domUtil'\r\nimport * as css from './css'\r\nexport { DomUtil, css }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/dom/index.js","import { ol } from '../constants'\r\nimport mix from '../utils/mixin'\r\nimport * as MapboxStyle from '../style/MapboxStyle'\r\nimport Style from '../style/Style'\r\nimport './source/GaoDe'\r\nimport './source/BaiDu'\r\nimport './source/Google'\r\n\r\nclass Layer extends mix(Style) {\r\n constructor (map) {\r\n super()\r\n this.map = map || null\r\n if (!this.map) {\r\n throw new Error('缺少地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerName获取图层\r\n * @param layerName\r\n * @returns {*}\r\n */\r\n getLayerByLayerName (layerName) {\r\n try {\r\n let targetLayer = null\r\n if (this.map) {\r\n let layers = this.map.getLayers().getArray()\r\n layers.every(layer => {\r\n if (layer.get('layerName') === layerName) {\r\n targetLayer = layer\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n return targetLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerName获取专题图层\r\n * @param layerName\r\n * @returns {*}\r\n */\r\n getTitleLayerByLayerName (layerName) {\r\n try {\r\n let targetLayer = null\r\n if (this.map) {\r\n let layers = this.map.getLayers().getArray()\r\n layers.every(layer => {\r\n if (layer.get('layerType') === 'title' && layer.get('layerName') === layerName) {\r\n targetLayer = layer\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n return targetLayer\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 根据图层名获取底图\r\n * @param layerName\r\n * @returns {*}\r\n */\r\n getBaseLayerByLayerName (layerName) {\r\n try {\r\n let currentLayer = null\r\n this.map.getLayers().getArray().forEach(layer => {\r\n if (layer && layer instanceof ol.layer.Group && layer.get('isBaseLayer')) {\r\n layer.getLayers().getArray().forEach(_layer => {\r\n if (_layer && _layer instanceof ol.layer.Tile && _layer.get('isBaseLayer') && _layer.get('layerName') === layerName) {\r\n currentLayer = _layer\r\n }\r\n })\r\n }\r\n })\r\n return currentLayer\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 获取底图图层组\r\n * @returns {*}\r\n */\r\n getBaseLayers () {\r\n try {\r\n let currentLayer = null\r\n this.map.getLayers().getArray().forEach(layer => {\r\n if (layer && layer instanceof ol.layer.Group && layer.get('isBaseLayer')) {\r\n currentLayer = layer\r\n }\r\n })\r\n return currentLayer\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 通过要素获取图层\r\n * @param feature\r\n * @returns {*}\r\n */\r\n getLayerByFeatuer (feature) {\r\n let tragetLayer = null\r\n if (this.map) {\r\n if (feature instanceof ol.Feature) {\r\n let layers = this.map.getLayers().getArray()\r\n layers.every(layer => {\r\n if (layer && layer instanceof ol.layer.Vector && layer.getSource) {\r\n let source = layer.getSource()\r\n if (source.getFeatures) {\r\n let features = source.getFeatures()\r\n features.every(feat => {\r\n if (feat === feature) {\r\n tragetLayer = layer\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n } else {\r\n throw new Error('传入的不是要素!')\r\n }\r\n }\r\n return tragetLayer\r\n }\r\n\r\n /**\r\n * 创建临时图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createVectorLayer (layerName, params) {\r\n try {\r\n if (this.map) {\r\n let vectorLayer = this.getLayerByLayerName(layerName)\r\n if (!(vectorLayer instanceof ol.layer.Vector)) {\r\n vectorLayer = null\r\n }\r\n if (!vectorLayer) {\r\n if (params && params.create) {\r\n vectorLayer = new ol.layer.Vector({\r\n layerName: layerName,\r\n params: params,\r\n layerType: 'vector',\r\n source: new ol.source.Vector({\r\n wrapX: false\r\n }),\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(67, 110, 238, 0.4)'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#4781d9',\r\n width: 2\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33'\r\n })\r\n })\r\n })\r\n })\r\n }\r\n }\r\n if (this.map && vectorLayer) {\r\n if (params && params.hasOwnProperty('selectable')) {\r\n vectorLayer.set('selectable', params.selectable)\r\n }\r\n // 图层只添加一次\r\n let _vectorLayer = this.getLayerByLayerName(layerName)\r\n if (!_vectorLayer || !(_vectorLayer instanceof ol.layer.Vector)) {\r\n this.map.addLayer(vectorLayer)\r\n }\r\n }\r\n return vectorLayer\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建热力图图层\r\n * @param layerName\r\n * @param params\r\n * @returns {string}\r\n */\r\n createHeatMapLayer (layerName, params) {\r\n try {\r\n let currentLayer = null\r\n if (this.map) {\r\n currentLayer = this.getLayerByLayerName(layerName)\r\n if (!(currentLayer instanceof ol.layer.Heatmap)) {\r\n currentLayer = null\r\n } else if ((currentLayer instanceof ol.layer.Heatmap) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(currentLayer)\r\n currentLayer = null\r\n }\r\n if (!currentLayer && params && params['create']) {\r\n currentLayer = new ol.layer.Heatmap({\r\n layerName: layerName,\r\n gradient: (params['gradient'] ? params['gradient'] : ['#00f', '#0ff', '#0f0', '#ff0', '#f00']),\r\n source: new ol.source.Vector({\r\n wrapX: false,\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined)\r\n }),\r\n blur: (params['blur'] ? params['blur'] : 15),\r\n radius: (params['radius'] ? params['radius'] : 8),\r\n shadow: (params['shadow'] ? params['shadow'] : 250),\r\n weight: (params['weight'] ? params['weight'] : 'weight'),\r\n extent: (params['extent'] ? params['extent'] : undefined),\r\n minResolution: (params['minResolution'] ? params['minResolution'] : undefined),\r\n maxResolution: (params['maxResolution'] ? params['maxResolution'] : undefined),\r\n opacity: (params['opacity'] ? params['opacity'] : 1),\r\n visible: ((params['visible'] === false) ? params['visible'] : true)\r\n })\r\n if (params && params.hasOwnProperty('selectable')) {\r\n currentLayer.set('selectable', params.selectable)\r\n }\r\n }\r\n if (currentLayer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(currentLayer)\r\n }\r\n return currentLayer\r\n } else {\r\n throw new Error('未创建地图对象!')\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 创建专题图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createTitleLayer (layerName, params) {\r\n try {\r\n let serviceUrl = params['layerUrl']\r\n if (!serviceUrl) return null\r\n let ooLayer = this.getTitleLayerByLayerName(layerName)\r\n if (ooLayer && ooLayer instanceof ol.layer.Tile && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(ooLayer)\r\n ooLayer = null\r\n }\r\n if (!ooLayer && params['create']) {\r\n ooLayer = new ol.layer.Tile({\r\n layerName: layerName,\r\n layerType: ((params['notShowLayerType'] === true) ? '' : 'title'),\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n source: new ol.source.TileArcGISRest({\r\n url: serviceUrl,\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n params: (params['layerParams'] ? params['layerParams'] : undefined),\r\n wrapX: false\r\n }),\r\n wrapX: false\r\n })\r\n }\r\n if (this.map && ooLayer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(ooLayer)\r\n }\r\n return ooLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建ImageWMSLayer\r\n * @param layerName\r\n * @param params\r\n * @returns {string}\r\n */\r\n createImageWMSLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Image)) {\r\n layer = null\r\n } else if ((layer instanceof ol.layer.Image) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create']) {\r\n layer = new ol.layer.Image({\r\n layerName: layerName,\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: (params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1,\r\n source: new ol.source.ImageWMS({\r\n url: params['layerUrl'],\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n params: {\r\n LAYERS: params['layers'], // require\r\n STYLES: params['style'] ? params['style'] : '',\r\n VERSION: params['version'] ? params['version'] : '1.3.0',\r\n WIDTH: params['width'] ? params['width'] : 256,\r\n HEIGHT: params['height'] ? params['height'] : 256,\r\n BBOX: params['bbox'], // require\r\n SRS: (params['srs'] ? params['srs'] : 'EPSG:3857'),\r\n CRS: (params['srs'] ? params['srs'] : 'EPSG:3857'),\r\n REQUEST: 'GetMap',\r\n TRANSPARENT: true,\r\n TILED: (params['tiled'] === false) ? params['tiled'] : true,\r\n TILESORIGIN: (params['tiledsorrigin'] ? params['tiledsorrigin'] : undefined),\r\n SERVICE: 'WMS',\r\n FORMAT: (params['format'] ? params['format'] : 'image/png'),\r\n VIEWPARAMS: (params['viewparams'] ? params['viewparams'] : '')\r\n },\r\n wrapX: false\r\n })\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建TileWMSLayer\r\n * @param layerName\r\n * @param params\r\n * @returns {string}\r\n */\r\n createTileWMSLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Image)) {\r\n layer = null\r\n } else if ((layer instanceof ol.layer.Image) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create']) {\r\n layer = new ol.layer.Tile({\r\n layerName: layerName,\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: (params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1,\r\n source: new ol.source.TileWMS({\r\n url: params['layerUrl'],\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n params: {\r\n LAYERS: params['layers'], // require\r\n STYLES: params['style'] ? params['style'] : '',\r\n VERSION: params['version'] ? params['version'] : '1.3.0',\r\n WIDTH: params['width'] ? params['width'] : 256,\r\n HEIGHT: params['height'] ? params['height'] : 256,\r\n BBOX: params['bbox'], // require\r\n SRS: (params['srs'] ? params['srs'] : 'EPSG:3857'),\r\n CRS: (params['srs'] ? params['srs'] : 'EPSG:3857'),\r\n REQUEST: 'GetMap',\r\n TRANSPARENT: true,\r\n TILED: ((params['tiled'] === false) ? params['tiled'] : true),\r\n TILESORIGIN: (params['tiledsorrigin'] ? params['tiledsorrigin'] : undefined),\r\n SERVICE: 'WMS',\r\n FORMAT: (params['format'] ? params['format'] : 'image/png'),\r\n VIEWPARAMS: (params['viewparams'] ? params['viewparams'] : '')\r\n },\r\n wrapX: false\r\n })\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建WFS图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createWfsVectorLayer (layerName, params) {\r\n try {\r\n let vectorLayer = this.getLayerByLayerName(layerName)\r\n if (!(vectorLayer instanceof ol.layer.Vector)) {\r\n vectorLayer = null\r\n }\r\n if (!vectorLayer) {\r\n let proj = params['projection'] ? params['projection'] : 'EPSG:3857'\r\n let style = this.getStyleByParams(params['style'])\r\n vectorLayer = new ol.layer.Vector({\r\n layerName: layerName,\r\n params: params,\r\n layerType: 'vector',\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n source: new ol.source.Vector({\r\n format: new ol.format.GeoJSON(),\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n url: function (extent) {\r\n return params['layerUrl'] + extent.join(',') + ',' + proj\r\n },\r\n wrapX: false,\r\n strategy: ol.loadingstrategy.bbox\r\n }),\r\n style: style\r\n })\r\n }\r\n if (this.map && vectorLayer) {\r\n if (params && params.hasOwnProperty('selectable')) {\r\n vectorLayer.set('selectable', params.selectable)\r\n }\r\n // 图层只添加一次\r\n let _vectorLayer = this.getLayerByLayerName(layerName)\r\n if (!_vectorLayer || !(_vectorLayer instanceof ol.layer.Vector)) {\r\n if (!(params['addLayer'] === false)) {\r\n this.map.addLayer(vectorLayer)\r\n }\r\n }\r\n }\r\n return vectorLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建矢量要素图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createVectorFeatureLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Vector)) {\r\n layer = null\r\n } else if (this.map && (layer instanceof ol.layer.Vector) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create']) {\r\n let style = this.getStyleByParams(params['style'])\r\n layer = new ol.layer.Vector({\r\n layerName: layerName,\r\n params: params,\r\n layerType: 'vector',\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n source: new ol.source.Vector({\r\n format: new ol.format.GeoJSON(),\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n url: params['layerUrl'],\r\n wrapX: false,\r\n strategy: ol.loadingstrategy.bbox\r\n }),\r\n style: style\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建WMTS图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createWMTSLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Tile)) {\r\n layer = null\r\n } else if (this.map && (layer instanceof ol.layer.Tile) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create'] && params['levels']) {\r\n let projection = ol.proj.get((params['projection'] ? params['projection'] : 'EPSG:3857'))\r\n let projectionExtent = projection.getExtent()\r\n let size = ol.extent.getWidth(projectionExtent) / 256\r\n let levels = params['levels']\r\n let resolutions = new Array(levels)\r\n let matrixIds = new Array(levels)\r\n for (let z = 0; z < levels; ++z) {\r\n // generate resolutions and matrixIds arrays for this WMTS\r\n resolutions[z] = size / Math.pow(2, z)\r\n matrixIds[z] = z\r\n }\r\n layer = new ol.layer.Tile({\r\n layerName: layerName,\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n source: new ol.source.WMTS({\r\n url: params['layerUrl'],\r\n layer: (params['layer'] ? params['layer'] : '0'),\r\n matrixSet: (params['matrixSet'] ? params['matrixSet'] : 'EPSG:3857'),\r\n format: (params['format'] ? params['format'] : 'image/png'),\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n projection: projection,\r\n tileGrid: new ol.tilegrid.WMTS({\r\n origin: ol.extent.getTopLeft(projectionExtent),\r\n resolutions: resolutions,\r\n matrixIds: matrixIds,\r\n version: (params['version'] ? params['version'] : '1.0.0'),\r\n dimensions: (params['dimensions'] ? params['dimensions'] : undefined)\r\n }),\r\n style: (params['style'] ? params['style'] : 'default'),\r\n wrapX: false\r\n })\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建XYZ图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createXYZLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Tile)) {\r\n layer = null\r\n } else if (this.map && (layer instanceof ol.layer.Tile) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create']) {\r\n let tileGrid = null\r\n let tileSize = 256\r\n if (params['tileSize'] && typeof params['tileSize'] === 'number') {\r\n tileSize = params['tileSize']\r\n } else if (params['tileGrid'] && params['tileGrid']['tileSize'] && typeof params['tileGrid']['tileSize'] === 'number') {\r\n tileSize = params['tileGrid']['tileSize']\r\n }\r\n let projection = 'EPSG:3857'\r\n if (params['projection']) {\r\n projection = params['projection']\r\n } else if (this.view && this.view instanceof ol.View) {\r\n projection = this.view.getProjection().getCode()\r\n }\r\n if (params['tileGrid'] && params['tileGrid']['resolutions']) {\r\n tileGrid = new ol.tilegrid.TileGrid({\r\n tileSize: tileSize,\r\n origin: (params['tileGrid']['origin'] ? params['tileGrid']['origin'] : undefined),\r\n extent: (params['tileGrid']['extent'] ? params['tileGrid']['extent'] : undefined),\r\n resolutions: params['tileGrid']['resolutions'],\r\n minZoom: ((params['tileGrid']['minZoom'] && typeof params['tileGrid']['minZoom'] === 'number') ? params['tileGrid']['minZoom'] : 0)\r\n })\r\n }\r\n layer = new ol.layer.Tile({\r\n layerName: layerName,\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n source: new ol.source.XYZ({\r\n wrapX: false,\r\n tileGrid: (tileGrid !== null ? tileGrid : undefined),\r\n tileSize: tileSize,\r\n opaque: (params['opaque'] === true) ? params['opaque'] : false, // 图层是否不透明(主题相关)\r\n tilePixelRatio: (params['tilePixelRatio'] ? params['tilePixelRatio'] : 1), // todo 对于高分辨率设备,例如苹果等可能2、3(移动端开发需要注意)\r\n projection: projection,\r\n maxZoom: (params['maxZoom'] ? params['maxZoom'] : 18),\r\n minZoom: (params['minZoom'] ? params['minZoom'] : 0),\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n tileUrlFunction: function (tileCoord) {\r\n let url = (params['layerUrl']).replace('{z}',\r\n (tileCoord[0]).toString()).replace('{x}',\r\n tileCoord[1].toString()).replace('{y}',\r\n (-tileCoord[2] - 1).toString())\r\n return url\r\n }\r\n })\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建OSM图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createOSMLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Tile)) {\r\n layer = null\r\n } else if (this.map && (layer instanceof ol.layer.Tile) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params['create']) {\r\n layer = new ol.layer.Tile({\r\n layerName: layerName,\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n source: new ol.source.OSM({\r\n wrapX: false,\r\n opaque: (params['opaque'] === false) ? params['opaque'] : true, // 图层是否不透明(主题相关)\r\n url: params['layerUrl'] ? params['layerUrl'] : 'https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png',\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined)\r\n })\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建Mapbox矢量图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createMapboxVectorTileLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Tile)) {\r\n layer = null\r\n } else if (this.map && (layer instanceof ol.layer.Tile) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create']) {\r\n let tileGrid = null\r\n let tileSize = 256\r\n if (params['tileSize'] && typeof params['tileSize'] === 'number') {\r\n tileSize = params['tileSize']\r\n } else if (params['tileGrid'] && params['tileGrid']['tileSize'] && typeof params['tileGrid']['tileSize'] === 'number') {\r\n tileSize = params['tileGrid']['tileSize']\r\n }\r\n let projection = 'EPSG:3857'\r\n if (params['projection']) {\r\n projection = params['projection']\r\n } else if (this.view && this.view instanceof ol.View) {\r\n projection = this.view.getProjection().getCode()\r\n }\r\n if (params['tileGrid']) {\r\n /* eslint new-cap: [\"error\", { \"newIsCap\": false }] */\r\n tileGrid = new ol.tilegrid.createXYZ({\r\n tileSize: tileSize,\r\n extent: (params['tileGrid']['extent'] ? params['tileGrid']['extent'] : undefined),\r\n minZoom: ((params['tileGrid']['minZoom'] && typeof params['tileGrid']['minZoom'] === 'number') ? params['tileGrid']['minZoom'] : 0),\r\n maxZoom: ((params['tileGrid']['maxZoom'] && typeof params['tileGrid']['maxZoom'] === 'number') ? params['tileGrid']['maxZoom'] : 22)\r\n })\r\n }\r\n layer = new ol.layer.VectorTile({\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n renderBuffer: ((params['renderBuffer'] && (typeof params['renderBuffer'] === 'number')) ? params['renderBuffer'] : 100),\r\n renderMode: (params['renderMode'] ? params['renderMode'] : 'hybrid'), // 渲染方式image,hybrid,vector,性能由高到低\r\n extent: (params['extent'] ? params['extent'] : undefined),\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n minResolution: ((params['minResolution'] && typeof params['minResolution'] === 'number') ? params['minResolution'] : undefined),\r\n maxResolution: ((params['maxResolution'] && typeof params['maxResolution'] === 'number') ? params['maxResolution'] : undefined),\r\n preload: ((params['preload'] && typeof params['preload'] === 'number') ? params['preload'] : 0),\r\n source: new ol.source.VectorTile({\r\n format: new ol.format.MVT(),\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n projection: projection,\r\n overlaps: (params['overlaps'] ? params['overlaps'] : true),\r\n tileGrid: ((tileGrid && tileGrid instanceof ol.tilegrid.TileGrid) ? tileGrid : undefined),\r\n tilePixelRatio: ((params['tilePixelRatio'] && typeof params['tilePixelRatio'] === 'number') ? params['tilePixelRatio'] : 1),\r\n url: params['layerUrl'],\r\n wrapX: false\r\n }),\r\n style: MapboxStyle.createMapboxStreetsV6Style()\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建图片类型图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createImageLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Image)) {\r\n layer = null\r\n } else if (this.map && (layer instanceof ol.layer.Image) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create']) {\r\n let source = this.getImagesSource(params)\r\n layer = new ol.layer.Image({\r\n layerName: layerName,\r\n extent: (params['extent'] ? params['extent'] : undefined),\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n source: source\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取影像图层源\r\n * @param params\r\n * @returns {*}\r\n */\r\n getImagesSource (params) {\r\n let source = null\r\n let projection = new ol.proj.Projection({\r\n code: (params['projection'] ? params['projection'] : 'EPSG:3857'),\r\n units: 'm',\r\n axisOrientation: 'neu'\r\n })\r\n switch (params['sourceType']) {\r\n case 'ImageStatic':\r\n source = new ol.source.ImageStatic({\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n imageExtent: params['imageExtent'],\r\n projection: projection,\r\n imageSize: (params['imageSize'] ? params['imageSize'] : undefined),\r\n url: params['layerUrl'],\r\n wrapX: false\r\n })\r\n break\r\n case 'ImageWMS':\r\n source = new ol.source.ImageWMS({\r\n url: params['layerUrl'],\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n params: {\r\n LAYERS: params['layers'], // require\r\n STYLES: params['style'] ? params['style'] : '',\r\n TYPE: params['type'] ? params['type'] : '',\r\n VERSION: params['version'] ? params['version'] : '1.3.0',\r\n WIDTH: params['width'] ? params['width'] : 256,\r\n HEIGHT: params['height'] ? params['height'] : 256,\r\n SRS: (params['srs'] ? params['srs'] : 'EPSG:3857'),\r\n CRS: (params['srs'] ? params['srs'] : 'EPSG:3857'),\r\n REQUEST: 'GetMap',\r\n TRANSPARENT: true,\r\n TILED: (params['tiled'] === false) ? params['tiled'] : true,\r\n TILESORIGIN: (params['tiledsorrigin'] ? params['tiledsorrigin'] : undefined),\r\n SERVICE: 'WMS',\r\n FORMAT: (params['format'] ? params['format'] : 'image/png'),\r\n VIEWPARAMS: (params['viewparams'] ? params['viewparams'] : '')\r\n },\r\n wrapX: false\r\n })\r\n break\r\n case 'Raster':\r\n source = new ol.source.Raster()\r\n break\r\n case 'ImageMapGuide':\r\n source = new ol.source.ImageMapGuide({\r\n url: params['layerUrl'],\r\n wrapX: false,\r\n displayDpi: ((params['displayDpi'] && (typeof params['displayDpi'] === 'number')) ? params['displayDpi'] : 96),\r\n metersPerUnit: ((params['metersPerUnit'] && (typeof params['metersPerUnit'] === 'number')) ? params['metersPerUnit'] : 1),\r\n hidpi: ((params['hidpi'] && (typeof params['hidpi'] === 'boolean')) ? params['hidpi'] : true),\r\n useOverlay: ((params['useOverlay'] && (typeof params['useOverlay'] === 'boolean')) ? params['useOverlay'] : undefined),\r\n projection: (params['projection'] ? params['projection'] : 'EPSG:3857'),\r\n ratio: ((params['ratio'] && (typeof params['ratio'] === 'number')) ? params['ratio'] : 1),\r\n resolutions: ((params['resolutions'] && Array.isArray(params['resolutions'])) ? params['resolutions'] : undefined),\r\n imageLoadFunction: ((params['imageLoadFunction'] && (typeof params['imageLoadFunction'] === 'function')) ? params['imageLoadFunction'] : undefined),\r\n params: ((params['params'] && (typeof params['params'] === 'object')) ? params['params'] : undefined)\r\n })\r\n break\r\n case 'ImageCanvas':\r\n source = new ol.source.ImageCanvas({\r\n projection: (params['projection'] ? params['projection'] : 'EPSG:3857'),\r\n ratio: ((params['ratio'] && (typeof params['ratio'] === 'number')) ? params['ratio'] : 1),\r\n resolutions: ((params['resolutions'] && Array.isArray(params['resolutions'])) ? params['resolutions'] : undefined),\r\n canvasFunction: params['canvasFunction'],\r\n state: (params['state'] ? params['state'] : undefined),\r\n wrapX: false\r\n })\r\n break\r\n case 'ImageArcGISRest':\r\n source = new ol.source.ImageArcGISRest({\r\n url: params['layerUrl'],\r\n hidpi: ((params['hidpi'] && (typeof params['hidpi'] === 'boolean')) ? params['hidpi'] : true),\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n projection: (params['projection'] ? params['projection'] : 'EPSG:3857'),\r\n ratio: ((params['ratio'] && (typeof params['ratio'] === 'number')) ? params['ratio'] : 1),\r\n resolutions: ((params['resolutions'] && Array.isArray(params['resolutions'])) ? params['resolutions'] : undefined),\r\n imageLoadFunction: ((params['imageLoadFunction'] && (typeof params['imageLoadFunction'] === 'function')) ? params['imageLoadFunction'] : undefined),\r\n params: ((params['params'] && (typeof params['params'] === 'object')) ? params['params'] : undefined),\r\n wrapX: false\r\n })\r\n break\r\n default:\r\n console.log('sourceType类型未传!')\r\n return false\r\n }\r\n return source\r\n }\r\n\r\n /**\r\n * 移除图层\r\n * @param layerName\r\n */\r\n removeLayerByLayerName (layerName) {\r\n if (this.map) {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (layer && !layer.get('isBaseLayer')) {\r\n this.map.removeLayer(layer)\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerName移除专题图层\r\n * @param layerName\r\n */\r\n removeTileLayerByLayerName (layerName) {\r\n if (this.map) {\r\n let layer = this.getTitleLayerByLayerName(layerName)\r\n if (layer && layer instanceof ol.layer.Tile) {\r\n this.map.removeLayer(layer)\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 移除所有图层(除底图)\r\n */\r\n removeAllLayer () {\r\n if (this.map) {\r\n let layers = this.map.getLayers().getArray()\r\n layers.forEach(layer => {\r\n if (!layer.get('isBaseLayer')) {\r\n this.map.removeLayer(layer)\r\n }\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 调整当前要素范围\r\n * @param extent\r\n * @returns {*}\r\n */\r\n adjustExtent (extent) {\r\n if (this.map) {\r\n let width = ol.extent.getWidth(extent)\r\n let adjust = 0.2\r\n if (width < 0.05) {\r\n let bleft = ol.extent.getBottomLeft(extent) // 获取xmin,ymin\r\n let tright = ol.extent.getTopRight(extent) // 获取xmax,ymax\r\n let xmin = bleft[0] - adjust\r\n let ymin = bleft[1] - adjust\r\n let xmax = tright[0] + adjust\r\n let ymax = tright[1] + adjust\r\n extent = ol.extent.buffer([xmin, ymin, xmax, ymax], adjust)\r\n }\r\n return extent\r\n }\r\n }\r\n\r\n /**\r\n * 缩放到当前范围\r\n * @param extent\r\n * @param isanimation\r\n * @param duration\r\n */\r\n zoomToExtent (extent, isanimation, duration) {\r\n if (this.map) {\r\n let view = this.map.getView()\r\n let size = this.map.getSize()\r\n /**\r\n * @type {ol.Coordinate} center The center of the view.\r\n */\r\n let center = ol.extent.getCenter(extent)\r\n if (!isanimation) {\r\n view.fit(extent, size, {\r\n padding: [350, 200, 200, 350]\r\n })\r\n view.setCenter(center)\r\n } else {\r\n if (!duration) {\r\n duration = 800\r\n view.animate({\r\n center: center,\r\n duration: duration\r\n })\r\n view.fit(extent, {\r\n size: size,\r\n duration: duration\r\n })\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default Layer\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layer/Layer.js","import {ol} from '../constants'\r\nclass Style {\r\n /**\r\n * 获取点样式\r\n * @param options\r\n * @returns {ol.style.Style}\r\n */\r\n getStyleByPoint (options) {\r\n let style = null\r\n if (!options) {\r\n style = new ol.style.Style({\r\n image: new ol.style.Icon({\r\n anchor: [0.5, 1],\r\n anchorXUnits: 'fraction',\r\n anchorYUnits: 'fraction',\r\n opacity: 0.75,\r\n src: 'data:image/png;base64,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0p8zAAA6GWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICAgICAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTUtMTEtMDNUMTE6MjU6MzcrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE1LTExLTAzVDExOjI1OjM3KzA4OjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNS0xMS0wM1QxMToyNTozNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NGIzODJiN2QtODBkNi00YmYzLTkwOTktOWYyMTZhOTAyNzUyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZiZDY2Yzk5LWM5ZjYtNDBkOS05NzY0LWJkYTA1YmI5NWFmZjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmZiZDY2Yzk5LWM5ZjYtNDBkOS05NzY0LWJkYTA1YmI5NWFmZjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmYmQ2NmM5OS1jOWY2LTQwZDktOTc2NC1iZGEwNWJiOTVhZmY8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMTEtMDNUMTE6MjU6MzcrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoTWFjaW50b3NoKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NGIzODJiN2QtODBkNi00YmYzLTkwOTktOWYyMTZhOTAyNzUyPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE1LTExLTAzVDExOjI1OjM3KzA4OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHBob3Rvc2hvcDpJQ0NQcm9maWxlPnNSR0IgSUVDNjE5NjYtMi4xPC9waG90b3Nob3A6SUNDUHJvZmlsZT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MjA8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzA8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PjRRCfkAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAXBJREFUeNqs1TFrFEEUB/DfDWIlBISx9QMErO9bbBpJoQloISZVIjZWWomFYB3sRItTPJjKTxCYKoWkUZvYBY8IQkgRiGczyHG3FzZ386+W9/b9eFPsbE9LRk3/Bu6jwR3cKq1f+IqE9zHl0+nZ3hTUwyO8xE2X5zee4W1MeTwDjpr+dbzDuqtlgM2Y8vl/sGw2wF2L5RPWY8rjUApbS2DK7Bb0Rk1/BT+xYrn8we2AjQqYYmwErKmXtYDViuBqQKwIxoCLiuBFwHFF8DjgoCJ4EPCxIjgI+IyjCtgRhqF81NsVwO2Y8nmAmPIXvFgCe16MmftwF68ROkJ/8TSm/Kb1gi3ovXIvhg7YZkz5w2RxZqi8sNNhu51prHXDiU33yu+gLXsx5cdtjcuOtYsfLfXveDJvaC4YUz7Dg5bWw9Jz1Q3FlPcxnCgNS81CYMmrOc+LZ9T0D0dN/7DLu9c6mgnjmuB+19N0Bb/VBk+6gv8GAHn5ZfPg+9pTAAAAAElFTkSuQmCC'\r\n })\r\n })\r\n } else {\r\n style = new ol.style.Style({})\r\n if (options['stroke'] && this._getStroke(options['stroke'])) {\r\n style.setStroke(this._getStroke(options['stroke']))\r\n }\r\n if (options['text'] && this._getText(options['text'])) {\r\n style.setText(this._getText(options['text']))\r\n }\r\n if (options['fill'] && this._getFill(options['fill'])) {\r\n style.setFill(this._getFill(options['fill']))\r\n }\r\n if (options['icon']) {\r\n style.setImage(this._getImage(options['icon']))\r\n }\r\n }\r\n return style\r\n }\r\n\r\n /**\r\n * 获取线样式\r\n * @param options\r\n * @returns {ol.style.Style}\r\n */\r\n getStyleByLine (options) {\r\n let style = null\r\n if (!options) {\r\n style = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n width: 4,\r\n color: '#0000EE'\r\n })\r\n })\r\n } else {\r\n style = new ol.style.Style({})\r\n if (options['stroke'] && this._getStroke(options['stroke'])) {\r\n style.setStroke(this._getStroke(options['stroke']))\r\n }\r\n if (options['text'] && this._getText(options['text'])) {\r\n style.setText(this._getText(options['text']))\r\n }\r\n if (options['fill'] && this._getFill(options['fill'])) {\r\n style.setFill(this._getFill(options['fill']))\r\n }\r\n }\r\n return style\r\n }\r\n\r\n /**\r\n * 获取面样式\r\n * @param options\r\n * @returns {ol.style.Style}\r\n */\r\n getStyleByPolygon (options) {\r\n let style = null\r\n if (!options) {\r\n style = new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(67, 110, 238, 0.4)'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#4781d9',\r\n width: 2\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33'\r\n })\r\n })\r\n })\r\n } else {\r\n style = new ol.style.Style({})\r\n if (options['stroke'] && this._getStroke(options['stroke'])) {\r\n style.setStroke(this._getStroke(options['stroke']))\r\n }\r\n if (options['text'] && this._getText(options['text'])) {\r\n style.setText(this._getText(options['text']))\r\n }\r\n if (options['fill'] && this._getFill(options['fill'])) {\r\n style.setFill(this._getFill(options['fill']))\r\n }\r\n }\r\n return style\r\n }\r\n\r\n /**\r\n * 根据params获取样式信息\r\n * @param options\r\n * @returns {*}\r\n */\r\n getStyleByParams (options) {\r\n try {\r\n let style = null\r\n if (typeof options === 'function') {\r\n style = options\r\n } else {\r\n if (!options) {\r\n style = new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(67, 110, 238, 0.4)'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#4781d9',\r\n width: 2\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33'\r\n })\r\n })\r\n })\r\n } else {\r\n style = new ol.style.Style({})\r\n if (options['stroke'] && this._getStroke(options['stroke'])) {\r\n style.setStroke(this._getStroke(options['stroke']))\r\n }\r\n if (options['text'] && this._getText(options['text'])) {\r\n style.setText(this._getText(options['text']))\r\n }\r\n if (options['fill'] && this._getFill(options['fill'])) {\r\n style.setFill(this._getFill(options['fill']))\r\n }\r\n if (options['icon']) {\r\n style.setImage(this._getImage(options['icon']))\r\n }\r\n }\r\n }\r\n return style\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 测量工具样式定义\r\n * @param options\r\n * @returns {*}\r\n */\r\n getStyleForMeasure (options) {\r\n try {\r\n let style = null\r\n if (typeof options === 'function') {\r\n style = options\r\n } else {\r\n if (!options) {\r\n style = new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(67, 110, 238, 0.4)'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(242,123,57,1)',\r\n width: 2\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 4,\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(255,0,0,1)',\r\n width: 1\r\n }),\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255,255,255,1)'\r\n })\r\n })\r\n })\r\n } else {\r\n style = new ol.style.Style({})\r\n if (options['stroke'] && this._getStroke(options['stroke'])) {\r\n style.setStroke(this._getStroke(options['stroke']))\r\n }\r\n if (options['text'] && this._getText(options['text'])) {\r\n style.setText(this._getText(options['text']))\r\n }\r\n if (options['fill'] && this._getFill(options['fill'])) {\r\n style.setFill(this._getFill(options['fill']))\r\n }\r\n if (options['regularShape']) {\r\n style.setImage(this._getRegularShape(options['regularShape']))\r\n }\r\n if (options['circle']) {\r\n style.setImage(this._getRegularCircle(options['circle']))\r\n }\r\n }\r\n }\r\n return style\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 获取规则样式图形\r\n * @param options\r\n * @private\r\n */\r\n _getRegularShape (options) {\r\n try {\r\n let regularShape = new ol.style.RegularShape({\r\n fill: (this._getFill(options['fill']) || undefined),\r\n points: ((options['points'] && typeof options['points'] === 'number') ? options['points'] : 1),\r\n radius: ((options['radius'] && typeof options['radius'] === 'number') ? options['radius'] : undefined),\r\n radius1: ((options['radius1'] && typeof options['radius1'] === 'number') ? options['radius1'] : undefined),\r\n radius2: ((options['radius2'] && typeof options['radius2'] === 'number') ? options['radius2'] : undefined),\r\n angle: ((options['angle'] && typeof options['angle'] === 'number') ? options['angle'] : 0),\r\n snapToPixel: ((options['snapToPixel'] && typeof options['snapToPixel'] === 'boolean') ? options['snapToPixel'] : true),\r\n stroke: (this._getStroke(options['stroke']) || undefined),\r\n rotation: ((options['rotation'] && typeof options['rotation'] === 'number') ? options['rotation'] : 0),\r\n rotateWithView: ((options['rotateWithView'] && typeof options['rotateWithView'] === 'boolean') ? options['rotateWithView'] : false)\r\n })\r\n if (regularShape && regularShape instanceof ol.style.RegularShape) {\r\n return regularShape\r\n } else {\r\n return false\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取○样式\r\n * @param options\r\n * @private\r\n */\r\n _getRegularCircle (options) {\r\n try {\r\n let circle = new ol.style.Circle({\r\n fill: new ol.style.Fill({\r\n color: (options['fill'] && options['fill']['fillColor'] ? options['fill']['fillColor'] : 'rgba(255,255,255,1)')\r\n }),\r\n radius: ((options['circleRadius'] && typeof options['circleRadius'] === 'number') ? options['circleRadius'] : 0),\r\n stroke: new ol.style.Stroke({\r\n color: (options['stroke'] && options['stroke']['strokeColor'] ? options['stroke']['strokeColor'] : 'rgba(255,0,0,1)'),\r\n width: (options['stroke'] && options['stroke']['strokeWidth'] ? options['stroke']['strokeWidth'] : 1)\r\n })\r\n })\r\n if (circle && circle instanceof ol.style.Circle) {\r\n return circle\r\n } else {\r\n return false\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取图标样式\r\n * @param options\r\n * @returns {*}\r\n * @private\r\n */\r\n _getImage (options) {\r\n try {\r\n let icon = new ol.style.Icon({\r\n anchor: (options['imageAnchor'] ? options['imageAnchor'] : [0.5, 0.5]),\r\n anchorXUnits: (options['imageAnchorXUnits'] ? options['imageAnchorXUnits'] : 'fraction'),\r\n anchorYUnits: (options['imageAnchorYUnits'] ? options['imageAnchorYUnits'] : 'fraction'),\r\n anchorOrigin: (options['imageAnchorOrigin'] ? options['imageAnchorYUnits'] : 'top-left'),\r\n color: (options['imageColor'] ? options['imageColor'] : undefined),\r\n crossOrigin: (options['crossOrigin'] ? options['crossOrigin'] : undefined),\r\n img: (options['img'] ? options['img'] : undefined),\r\n offset: (options['offset'] && Array.isArray(options['offset']) && options['offset'].length === 2 ? options['offset'] : [0, 0]),\r\n offsetOrigin: (options['offsetOrigin'] ? options['offsetOrigin'] : 'top-left'),\r\n scale: ((options['scale'] && typeof options['scale'] === 'number') ? options['scale'] : 1),\r\n rotateWithView: (options['rotateWithView'] === true ? options['rotateWithView'] : false),\r\n opacity: (options['imageOpacity'] ? options['imageOpacity'] : 1),\r\n rotation: (options['rotation'] && typeof options['rotation'] === 'number' ? options['rotation'] : 0),\r\n size: (options['size'] && Array.isArray(options['size']) && options['size'].length === 2 ? options['size'] : undefined),\r\n imgSize: (options['imgSize'] && Array.isArray(options['imgSize']) && options['imgSize'].length === 2 ? options['imgSize'] : undefined),\r\n src: (options['imageSrc'] ? options['imageSrc'] : 1)\r\n })\r\n if (icon && icon instanceof ol.style.Icon) {\r\n return icon\r\n } else {\r\n return false\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取线条样式\r\n * @param options\r\n * @returns {ol.style.Stroke}\r\n * @private\r\n */\r\n _getStroke (options) {\r\n try {\r\n let stroke = new ol.style.Stroke({\r\n color: (options['strokeColor'] ? options['strokeColor'] : undefined),\r\n lineCap: (options['strokeLineCap'] ? options['strokeLineCap'] : 'round'),\r\n lineJoin: (options['strokeLineJoin'] ? options['strokeLineJoin'] : 'round'),\r\n lineDash: (options['strokeLineDash'] ? options['strokeLineDash'] : undefined),\r\n lineDashOffset: (options['strokeLineDashOffset'] ? options['strokeLineDashOffset'] : '0'),\r\n miterLimit: (options['strokeMiterLimit'] ? options['strokeMiterLimit'] : 10),\r\n width: (options['strokeWidth'] ? options['strokeWidth'] : undefined)\r\n })\r\n if (stroke && stroke instanceof ol.style.Stroke) {\r\n return stroke\r\n } else {\r\n return false\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 获取样式文本\r\n * @param options\r\n * @returns {ol.style.Text}\r\n * @private\r\n */\r\n _getText (options) {\r\n try {\r\n let text = new ol.style.Text({\r\n font: (options['textFont'] ? options['textFont'] : '10px sans-serif'),\r\n offsetX: (options['textOffsetX'] ? options['textOffsetX'] : 0),\r\n offsetY: (options['textOffsetY'] ? options['textOffsetY'] : 0),\r\n scale: (options['textScale'] ? options['textScale'] : undefined),\r\n rotation: (options['textRotation'] ? options['textRotation'] : 0),\r\n text: (options['text'] ? options['text'] : undefined),\r\n textAlign: (options['textAlign'] ? options['textAlign'] : 'start'),\r\n textBaseline: (options['textBaseline'] ? options['textBaseline'] : 'alphabetic')\r\n })\r\n if (options['textFill']) {\r\n text.setFill(this._getFill(options['textFill']))\r\n }\r\n if (options['textStroke']) {\r\n text.setStroke(this._getStroke(options['textStroke']))\r\n }\r\n if (text && text instanceof ol.style.Text) {\r\n return text\r\n } else {\r\n return false\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 获取填充颜色\r\n * @param options\r\n * @returns {ol.style.Fill}\r\n * @private\r\n */\r\n _getFill (options) {\r\n try {\r\n let fill = new ol.style.Fill({\r\n color: (options['fillColor'] ? options['fillColor'] : undefined)\r\n })\r\n if (fill && fill instanceof ol.style.Fill) {\r\n return fill\r\n } else {\r\n return false\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n}\r\n\r\nexport default Style\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/style/Style.js","/**\r\n * 获取两数值之间的随机值\r\n * @param t1 <下限>\r\n * @param t2 <上限>\r\n * @param t3 <需要保留的小数位, 不能大于十五位>\r\n * @returns {*}\r\n */\r\nexport const getrandom = (t1, t2, t3) => {\r\n if (!t1 || isNaN(t1)) {\r\n t1 = 0\r\n }\r\n if (!t2 || isNaN(t2)) {\r\n t2 = 1\r\n }\r\n if (!t3 || isNaN(t3)) {\r\n t3 = 0\r\n }\r\n t3 = t3 > 15 ? 15 : t3\r\n let [ra, du] = [(Math.random() * (t2 - t1) + t1), (Math.pow(10, t3))]\r\n ra = (Math.round(ra * du) / du)\r\n return ra\r\n}\r\n\r\n/**\r\n * 获取id\r\n * @returns {*|string|!Array.}\r\n */\r\nexport const getuuid = () => {\r\n let [ s, hexDigits ] = [ [], '0123456789abcdef' ]\r\n for (let i = 0; i < 36; i++) {\r\n s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1)\r\n }\r\n s[14] = '4'\r\n s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1)\r\n s[8] = s[13] = s[18] = s[23] = '-'\r\n return (s.join(''))\r\n}\r\n\r\n/**\r\n * 添加标识\r\n * @param obj\r\n * @returns {*}\r\n */\r\nexport const stamp = function (obj) {\r\n let key = '_p_id_'\r\n obj[key] = obj[key] || (getuuid())\r\n return obj[key]\r\n}\r\n\r\n/**\r\n * 去除字符串前后空格\r\n * @param str\r\n * @returns {*}\r\n */\r\nexport const trim = (str) => {\r\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '')\r\n}\r\n\r\n/**\r\n * 将类名截取成数组\r\n * @param str\r\n * @returns {Array|*}\r\n */\r\nexport const splitWords = (str) => {\r\n return trim(str).split(/\\s+/)\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/utils.js","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables')\n , ArrayProto = Array.prototype;\nif(ArrayProto[UNSCOPABLES] == undefined)require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function(key){\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_add-to-unscopables.js\n// module id = 51\n// module chunks = 0","var ctx = require('./_ctx')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , anObject = require('./_an-object')\n , toLength = require('./_to-length')\n , getIterFn = require('./core.get-iterator-method')\n , BREAK = {}\n , RETURN = {};\nvar exports = module.exports = function(iterable, entries, fn, that, ITERATOR){\n var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable)\n , f = ctx(fn, that, entries ? 2 : 1)\n , index = 0\n , length, step, iterator, result;\n if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if(result === BREAK || result === RETURN)return result;\n } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){\n result = call(iterator, f, step.value, entries);\n if(result === BREAK || result === RETURN)return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_for-of.js\n// module id = 52\n// module chunks = 0","module.exports = {};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iterators.js\n// module id = 53\n// module chunks = 0","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_set-to-string-tag.js\n// module id = 54\n// module chunks = 0","var $export = require('./_export')\n , defined = require('./_defined')\n , fails = require('./_fails')\n , spaces = require('./_string-ws')\n , space = '[' + spaces + ']'\n , non = '\\u200b\\u0085'\n , ltrim = RegExp('^' + space + space + '*')\n , rtrim = RegExp(space + space + '*$');\n\nvar exporter = function(KEY, exec, ALIAS){\n var exp = {};\n var FORCE = fails(function(){\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if(ALIAS)exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function(string, TYPE){\n string = String(defined(string));\n if(TYPE & 1)string = string.replace(ltrim, '');\n if(TYPE & 2)string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-trim.js\n// module id = 55\n// module chunks = 0","export default function(x) {\n if (Math.abs(x) > 1) {\n x = (x > 1) ? 1 : -1;\n }\n return Math.asin(x);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/asinz.js\n// module id = 56\n// module chunks = 0","export default function(eccent, sinphi, cosphi) {\n var con = eccent * sinphi;\n return cosphi / (Math.sqrt(1 - con * con));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/msfnz.js\n// module id = 57\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof')\n , TAG = require('./_wks')('toStringTag')\n // ES3 wrong here\n , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function(it, key){\n try {\n return it[key];\n } catch(e){ /* empty */ }\n};\n\nmodule.exports = function(it){\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_classof.js\n// module id = 58\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iobject.js\n// module id = 59\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-pie.js\n// module id = 60\n// module chunks = 0","import {HALF_PI} from '../constants/values';\nimport sign from './sign';\n\nexport default function(x) {\n return (Math.abs(x) < HALF_PI) ? x : (x - (sign(x) * Math.PI));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/adjust_lat.js\n// module id = 61\n// module chunks = 0","export default function(x) {\n return x<0 ? -1 : 1;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/sign.js\n// module id = 62\n// module chunks = 0","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 进攻方向\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass AttackArrow extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.ATTACK_ARROW\r\n this.headHeightFactor = 0.18\r\n this.headWidthFactor = 0.3\r\n this.neckHeightFactor = 0.85\r\n this.neckWidthFactor = 0.15\r\n this.headTailFactor = 0.8\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let points = this.getPointCount()\r\n if (points < 2) {\r\n return false\r\n } else if (points === 2) {\r\n this.setCoordinates([this.points])\r\n } else {\r\n let pnts = this.getPoints()\r\n let [tailLeft, tailRight] = [pnts[0], pnts[1]]\r\n if (PlotUtils.isClockWise(pnts[0], pnts[1], pnts[2])) {\r\n tailLeft = pnts[1]\r\n tailRight = pnts[0]\r\n }\r\n let midTail = PlotUtils.Mid(tailLeft, tailRight)\r\n let bonePnts = [midTail].concat(pnts.slice(2))\r\n let headPnts = this.getArrowHeadPoints(bonePnts, tailLeft, tailRight)\r\n let [neckLeft, neckRight] = [headPnts[0], headPnts[4]]\r\n let tailWidthFactor = PlotUtils.MathDistance(tailLeft, tailRight) / PlotUtils.getBaseLength(bonePnts)\r\n let bodyPnts = this.getArrowBodyPoints(bonePnts, neckLeft, neckRight, tailWidthFactor)\r\n let count = bodyPnts.length\r\n let leftPnts = [tailLeft].concat(bodyPnts.slice(0, count / 2))\r\n leftPnts.push(neckLeft)\r\n let rightPnts = [tailRight].concat(bodyPnts.slice(count / 2, count))\r\n rightPnts.push(neckRight)\r\n leftPnts = PlotUtils.getQBSplinePoints(leftPnts)\r\n rightPnts = PlotUtils.getQBSplinePoints(rightPnts)\r\n this.setCoordinates([leftPnts.concat(headPnts, rightPnts.reverse())])\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 插值箭形上的点\r\n * @param pnt1\r\n * @param pnt2\r\n * @param pnt3\r\n * @param clockWise\r\n * @returns {Array.}\r\n */\r\n getArrowPoints (pnt1, pnt2, pnt3, clockWise) {\r\n let midPnt = PlotUtils.Mid(pnt1, pnt2)\r\n let len = PlotUtils.MathDistance(midPnt, pnt3)\r\n let midPnt1 = PlotUtils.getThirdPoint(pnt3, midPnt, 0, len * 0.3, true)\r\n let midPnt2 = PlotUtils.getThirdPoint(pnt3, midPnt, 0, len * 0.5, true)\r\n midPnt1 = PlotUtils.getThirdPoint(midPnt, midPnt1, Constants.HALF_PI, len / 5, clockWise)\r\n midPnt2 = PlotUtils.getThirdPoint(midPnt, midPnt2, Constants.HALF_PI, len / 4, clockWise)\r\n let points = [midPnt, midPnt1, midPnt2, pnt3]\r\n let arrowPnts = this.getArrowHeadPoints(points)\r\n if (arrowPnts && Array.isArray(arrowPnts) && arrowPnts.length > 0) {\r\n let [neckLeftPoint, neckRightPoint] = [arrowPnts[0], arrowPnts[4]]\r\n let tailWidthFactor = PlotUtils.MathDistance(pnt1, pnt2) / PlotUtils.getBaseLength(points) / 2\r\n let bodyPnts = this.getArrowBodyPoints(points, neckLeftPoint, neckRightPoint, tailWidthFactor)\r\n if (bodyPnts) {\r\n let n = bodyPnts.length\r\n let lPoints = bodyPnts.slice(0, n / 2)\r\n let rPoints = bodyPnts.slice(n / 2, n)\r\n lPoints.push(neckLeftPoint)\r\n rPoints.push(neckRightPoint)\r\n lPoints = lPoints.reverse()\r\n lPoints.push(pnt2)\r\n rPoints = rPoints.reverse()\r\n rPoints.push(pnt1)\r\n return (lPoints.reverse().concat(arrowPnts, rPoints))\r\n }\r\n } else {\r\n throw new Error('插值出错')\r\n }\r\n }\r\n\r\n /**\r\n * 插值头部点\r\n * @param points\r\n * @returns {[*,*,*,*,*]}\r\n */\r\n getArrowHeadPoints (points, tailLeft, tailRight) {\r\n try {\r\n let len = PlotUtils.getBaseLength(points)\r\n let headHeight = len * this.headHeightFactor\r\n let headPnt = points[points.length - 1]\r\n len = PlotUtils.MathDistance(headPnt, points[points.length - 2])\r\n let tailWidth = PlotUtils.MathDistance(tailLeft, tailRight)\r\n if (headHeight > tailWidth * this.headTailFactor) {\r\n headHeight = tailWidth * this.headTailFactor\r\n }\r\n let headWidth = headHeight * this.headWidthFactor\r\n let neckWidth = headHeight * this.neckWidthFactor\r\n headHeight = headHeight > len ? len : headHeight\r\n let neckHeight = headHeight * this.neckHeightFactor\r\n let headEndPnt = PlotUtils.getThirdPoint(points[points.length - 2], headPnt, 0, headHeight, true)\r\n let neckEndPnt = PlotUtils.getThirdPoint(points[points.length - 2], headPnt, 0, neckHeight, true)\r\n let headLeft = PlotUtils.getThirdPoint(headPnt, headEndPnt, Constants.HALF_PI, headWidth, false)\r\n let headRight = PlotUtils.getThirdPoint(headPnt, headEndPnt, Constants.HALF_PI, headWidth, true)\r\n let neckLeft = PlotUtils.getThirdPoint(headPnt, neckEndPnt, Constants.HALF_PI, neckWidth, false)\r\n let neckRight = PlotUtils.getThirdPoint(headPnt, neckEndPnt, Constants.HALF_PI, neckWidth, true)\r\n return [neckLeft, headLeft, headPnt, headRight, neckRight]\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 插值面部分数据\r\n * @param points\r\n * @param neckLeft\r\n * @param neckRight\r\n * @param tailWidthFactor\r\n * @returns {Array.<*>}\r\n */\r\n getArrowBodyPoints (points, neckLeft, neckRight, tailWidthFactor) {\r\n let allLen = PlotUtils.wholeDistance(points)\r\n let len = PlotUtils.getBaseLength(points)\r\n let tailWidth = len * tailWidthFactor\r\n let neckWidth = PlotUtils.MathDistance(neckLeft, neckRight)\r\n let widthDif = (tailWidth - neckWidth) / 2\r\n let [tempLen, leftBodyPnts, rightBodyPnts] = [0, [], []]\r\n for (let i = 1; i < points.length - 1; i++) {\r\n let angle = PlotUtils.getAngleOfThreePoints(points[i - 1], points[i], points[i + 1]) / 2\r\n tempLen += PlotUtils.MathDistance(points[i - 1], points[i])\r\n let w = (tailWidth / 2 - tempLen / allLen * widthDif) / Math.sin(angle)\r\n let left = PlotUtils.getThirdPoint(points[i - 1], points[i], Math.PI - angle, w, true)\r\n let right = PlotUtils.getThirdPoint(points[i - 1], points[i], angle, w, false)\r\n leftBodyPnts.push(left)\r\n rightBodyPnts.push(right)\r\n }\r\n return leftBodyPnts.concat(rightBodyPnts)\r\n }\r\n\r\n /**\r\n * 获取对称点\r\n * @param linePnt1\r\n * @param linePnt2\r\n * @param point\r\n * @returns {*}\r\n */\r\n getTempPoint4 (linePnt1, linePnt2, point) {\r\n try {\r\n let midPnt = PlotUtils.Mid(linePnt1, linePnt2)\r\n let len = PlotUtils.MathDistance(midPnt, point)\r\n let angle = PlotUtils.getAngleOfThreePoints(linePnt1, midPnt, point)\r\n let [symPnt, distance1, distance2, mid] = [undefined, undefined, undefined, undefined]\r\n if (angle < Constants.HALF_PI) {\r\n distance1 = len * Math.sin(angle)\r\n distance2 = len * Math.cos(angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, false)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, true)\r\n } else if (angle >= Constants.HALF_PI && angle < Math.PI) {\r\n distance1 = len * Math.sin(Math.PI - angle)\r\n distance2 = len * Math.cos(Math.PI - angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, false)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, false)\r\n } else if (angle >= Math.PI && angle < Math.PI * 1.5) {\r\n distance1 = len * Math.sin(angle - Math.PI)\r\n distance2 = len * Math.cos(angle - Math.PI)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, true)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, true)\r\n } else {\r\n distance1 = len * Math.sin(Math.PI * 2 - angle)\r\n distance2 = len * Math.cos(Math.PI * 2 - angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, true)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, false)\r\n }\r\n return symPnt\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default AttackArrow\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/AttackArrow.js","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-includes.js\n// module id = 64\n// module chunks = 0","'use strict';\nvar global = require('./_global')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , redefineAll = require('./_redefine-all')\n , meta = require('./_meta')\n , forOf = require('./_for-of')\n , anInstance = require('./_an-instance')\n , isObject = require('./_is-object')\n , fails = require('./_fails')\n , $iterDetect = require('./_iter-detect')\n , setToStringTag = require('./_set-to-string-tag')\n , inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){\n var Base = global[NAME]\n , C = Base\n , ADDER = IS_MAP ? 'set' : 'add'\n , proto = C && C.prototype\n , O = {};\n var fixMethod = function(KEY){\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function(a){\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a){\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a){\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){\n new C().entries().next();\n }))){\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C\n // early implementations not supports chaining\n , HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); })\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n , ACCEPT_ITERABLES = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n , BUGGY_ZERO = !IS_WEAK && fails(function(){\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C()\n , index = 5;\n while(index--)$instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if(!ACCEPT_ITERABLES){ \n C = wrapper(function(target, iterable){\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base, target, C);\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER);\n // weak collections should not contains .clear method\n if(IS_WEAK && proto.clear)delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_collection.js\n// module id = 65\n// module chunks = 0","'use strict';\nvar hide = require('./_hide')\n , redefine = require('./_redefine')\n , fails = require('./_fails')\n , defined = require('./_defined')\n , wks = require('./_wks');\n\nmodule.exports = function(KEY, length, exec){\n var SYMBOL = wks(KEY)\n , fns = exec(defined, SYMBOL, ''[KEY])\n , strfn = fns[0]\n , rxfn = fns[1];\n if(fails(function(){\n var O = {};\n O[SYMBOL] = function(){ return 7; };\n return ''[KEY](O) != 7;\n })){\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function(string, arg){ return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function(string){ return rxfn.call(string, this); }\n );\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_fix-re-wks.js\n// module id = 66\n// module chunks = 0","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function(){\n var that = anObject(this)\n , result = '';\n if(that.global) result += 'g';\n if(that.ignoreCase) result += 'i';\n if(that.multiline) result += 'm';\n if(that.unicode) result += 'u';\n if(that.sticky) result += 'y';\n return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_flags.js\n// module id = 67\n// module chunks = 0","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function(fn, args, that){\n var un = that === undefined;\n switch(args.length){\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_invoke.js\n// module id = 68\n// module chunks = 0","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object')\n , cof = require('./_cof')\n , MATCH = require('./_wks')('match');\nmodule.exports = function(it){\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-regexp.js\n// module id = 69\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator')\n , SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function(){ SAFE_CLOSING = true; };\n Array.from(riter, function(){ throw 2; });\n} catch(e){ /* empty */ }\n\nmodule.exports = function(exec, skipClosing){\n if(!skipClosing && !SAFE_CLOSING)return false;\n var safe = false;\n try {\n var arr = [7]\n , iter = arr[ITERATOR]();\n iter.next = function(){ return {done: safe = true}; };\n arr[ITERATOR] = function(){ return iter; };\n exec(arr);\n } catch(e){ /* empty */ }\n return safe;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-detect.js\n// module id = 70\n// module chunks = 0","// Forced replacement prototype accessors methods\nmodule.exports = require('./_library')|| !require('./_fails')(function(){\n var K = Math.random();\n // In FF throws only define methods\n __defineSetter__.call(null, K, function(){ /* empty */});\n delete require('./_global')[K];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-forced-pam.js\n// module id = 71\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gops.js\n// module id = 72\n// module chunks = 0","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_shared.js\n// module id = 73\n// module chunks = 0","var global = require('./_global')\n , hide = require('./_hide')\n , uid = require('./_uid')\n , TYPED = uid('typed_array')\n , VIEW = uid('view')\n , ABV = !!(global.ArrayBuffer && global.DataView)\n , CONSTR = ABV\n , i = 0, l = 9, Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile(i < l){\n if(Typed = global[TypedArrayConstructors[i++]]){\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_typed.js\n// module id = 74\n// module chunks = 0","export default function(x) {\n return (1 - 0.25 * x * (1 + x / 16 * (3 + 1.25 * x)));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/e0fn.js\n// module id = 75\n// module chunks = 0","export default function(x) {\n return (0.375 * x * (1 + 0.25 * x * (1 + 0.46875 * x)));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/e1fn.js\n// module id = 76\n// module chunks = 0","export default function(x) {\n return (0.05859375 * x * x * (1 + 0.75 * x));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/e2fn.js\n// module id = 77\n// module chunks = 0","export default function(x) {\n return (x * x * x * (35 / 3072));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/e3fn.js\n// module id = 78\n// module chunks = 0","export default function(e0, e1, e2, e3, phi) {\n return (e0 * phi - e1 * Math.sin(2 * phi) + e2 * Math.sin(4 * phi) - e3 * Math.sin(6 * phi));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/mlfn.js\n// module id = 79\n// module chunks = 0","import {HALF_PI} from '../constants/values';\n\nexport default function(eccent, ts) {\n var eccnth = 0.5 * eccent;\n var con, dphi;\n var phi = HALF_PI - 2 * Math.atan(ts);\n for (var i = 0; i <= 15; i++) {\n con = eccent * Math.sin(phi);\n dphi = HALF_PI - 2 * Math.atan(ts * (Math.pow(((1 - con) / (1 + con)), eccnth))) - phi;\n phi += dphi;\n if (Math.abs(dphi) <= 0.0000000001) {\n return phi;\n }\n }\n //console.log(\"phi2z has NoConvergence\");\n return -9999;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/phi2z.js\n// module id = 80\n// module chunks = 0","import {HALF_PI} from '../constants/values';\n\nexport default function(eccent, phi, sinphi) {\n var con = eccent * sinphi;\n var com = 0.5 * eccent;\n con = Math.pow(((1 - con) / (1 + con)), com);\n return (Math.tan(0.5 * (HALF_PI - phi)) / con);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/tsfnz.js\n// module id = 81\n// module chunks = 0","/**\r\n * Created by FDD on 2017/2/22.\r\n * @desc 要素相关处理\r\n */\r\nimport { ol } from '../constants'\r\nimport mix from '../utils/mixin'\r\nimport Style from '../style/Style'\r\nimport Layer from '../layer/Layer'\r\n\r\nclass Feature extends mix(Style, Layer) {\r\n constructor (map) {\r\n super()\r\n this.map = map\r\n if (!this.map) {\r\n throw new Error('缺少地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 通过id获取Feature\r\n * @param id\r\n * @returns {*}\r\n */\r\n getFeatureById (id) {\r\n let layers = this.map.getLayers()\r\n let feature = null\r\n layers.forEach(layer => {\r\n if (layer && layer instanceof ol.layer.Vector && layer.getSource() && layer.getSource().getFeatureById) {\r\n feature = layer.getSource().getFeatureById(id)\r\n }\r\n })\r\n return feature\r\n }\r\n\r\n /**\r\n * 通过id和layerName获取Feature\r\n * (若在当前layerName查不到,则查询全部图层)\r\n * @param id\r\n * @param layerName\r\n * @returns {*}\r\n */\r\n getFeatureById2LayerName (id, layerName) {\r\n let feature = null\r\n if (layerName) {\r\n let layer = this.getLayerByName(layerName)\r\n if (layer && layer instanceof ol.layer.Vector) {\r\n feature = layer.getSource().getFeatureById(id)\r\n }\r\n }\r\n if (!feature || !(feature instanceof ol.Feature)) {\r\n feature = this.getFeatureById(id)\r\n }\r\n return feature\r\n }\r\n\r\n /**\r\n * 从属性信息中获取空间信息\r\n * @param point\r\n * @returns {*}\r\n * @private\r\n */\r\n _getGeometryFromPoint (point) {\r\n let geometry = null\r\n if (point instanceof ol.geom.Geometry) {\r\n geometry = point\r\n } else if (Array.isArray(point.geometry)) {\r\n geometry = new ol.geom.Point(point.geometry)\r\n } else {\r\n geometry = new ol.format.WKT().readGeometry(point.geometry)\r\n }\r\n return geometry\r\n }\r\n\r\n /**\r\n * 获取当前范围\r\n * @param multiFeatures\r\n * @private\r\n */\r\n _getExtent (multiFeatures) {\r\n let extent = multiFeatures.getExtent()\r\n let bExtent = true\r\n extent.every(item => {\r\n if (item === Infinity || isNaN(item) || item === undefined || item === null) {\r\n bExtent = false\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n if (bExtent) {\r\n this.zoomToExtent(extent, true)\r\n }\r\n return extent\r\n }\r\n\r\n /**\r\n * 判断点是否在视图内,如果不在地图将自动平移\r\n * @param coordinate (当前点坐标)\r\n */\r\n movePointToView (coordinate) {\r\n if (this.map) {\r\n let extent = this.getMapCurrentExtent()\r\n if (!(ol.extent.containsXY(extent, coordinate[0], coordinate[1]))) {\r\n this.map.getView().animate({\r\n center: [coordinate[0], coordinate[1]],\r\n duration: 400\r\n })\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 设置视图中心点\r\n * @param coordinate (传入坐标)\r\n */\r\n setViewCenter (coordinate) {\r\n if (coordinate && Array.isArray(coordinate) && this.map) {\r\n this.map.getView().animate({\r\n center: coordinate,\r\n duration: 800\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图的范围\r\n * @returns {ol.Extent}\r\n */\r\n getMapCurrentExtent () {\r\n if (this.map) {\r\n return this.map.getView().calculateExtent(this.map.getSize())\r\n }\r\n }\r\n\r\n /**\r\n * 添加单点\r\n * @param point\r\n * @param params\r\n * @returns {ol.Feature|ol.format.Feature|*|ol.render.Feature|Feature}\r\n */\r\n addPoint (point, params) {\r\n try {\r\n let geometry = this._getGeometryFromPoint(point)\r\n let feature = new ol.Feature({\r\n geometry: geometry,\r\n params: params\r\n })\r\n let style = this.getStyleByPoint(point['attributes']['style'] || params['style'])\r\n let selectStyle = this.getStyleByPoint(point['attributes']['selectStyle'] || params['selectStyle'])\r\n if (style && feature) {\r\n feature.setStyle(style)\r\n feature.set('style', style)\r\n if (selectStyle) {\r\n feature.set('selectStyle', selectStyle)\r\n }\r\n }\r\n if (point['attributes'] && (point['attributes']['id'] || point['attributes']['ID'])) {\r\n // let id = (point['attributes']['id'] ? point['attributes']['id'] : (point['attributes']['ID'] ? point['attributes']['ID'] : params['id']))\r\n let id = (point.attributes['id'] || point.attributes['ID'] || params['id'])\r\n feature.setId(id)\r\n feature.setProperties(point['attributes'])\r\n }\r\n if (params['zoomToExtent']) {\r\n let extent = geometry.getExtent()\r\n let _extent = this.adjustExtent(extent)\r\n this.zoomToExtent(_extent, true)\r\n }\r\n if (params['layerName']) {\r\n let layer = this.createVectorLayer(params['layerName'], {\r\n create: true\r\n })\r\n layer.getSource().addFeature(feature)\r\n this.pointLayers.add(params['layerName'])\r\n }\r\n this.orderLayerZindex()\r\n return feature\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加多个点\r\n * @param points\r\n * @param params\r\n */\r\n addPoints (points, params) {\r\n try {\r\n if (points && Array.isArray(points)) {\r\n let [multiPoint, change] = [(new ol.geom.MultiPoint([])), false]\r\n if (params['zoomToExtent']) {\r\n params['zoomToExtent'] = false\r\n change = true\r\n }\r\n points.forEach(point => {\r\n if (point && point['geometry']) {\r\n let pointFeat = this.addPoint(point, params)\r\n if (pointFeat && pointFeat instanceof ol.Feature) {\r\n let geom = pointFeat.getGeometry()\r\n if (geom && geom instanceof ol.geom.Point) {\r\n multiPoint.appendPoint(geom)\r\n } else if (geom && geom instanceof ol.geom.MultiPoint) {\r\n let multiGeoms = geom.getPoints()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.Point) {\r\n multiPoint.appendPoint(_geom)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n }\r\n })\r\n if (change) {\r\n this._getExtent(multiPoint)\r\n }\r\n }\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 设置点的空间信息\r\n * @param point\r\n * @param geometry\r\n */\r\n setPointGeometry (point, geometry) {\r\n if (point && geometry && point instanceof ol.Feature) {\r\n let _geometry = this._getGeometryFromPoint({\r\n geometry: geometry\r\n })\r\n point.setGeometry(_geometry)\r\n } else {\r\n console.info('传入数据有误!')\r\n }\r\n }\r\n\r\n /**\r\n * 添加线要素\r\n * @param line\r\n * @param params\r\n * @returns {*}\r\n */\r\n addPolyline (line, params) {\r\n try {\r\n let linefeature = null\r\n if (line.geometry.hasOwnProperty('paths')) {\r\n let feat = {\r\n 'type': 'Feature',\r\n 'geometry': {\r\n 'type': 'MultiLineString',\r\n 'coordinates': line.geometry.paths\r\n }\r\n }\r\n linefeature = (new ol.format.GeoJSON()).readFeature(feat)\r\n } else {\r\n linefeature = new ol.Feature({\r\n geometry: new ol.format.WKT().readGeometry(line.geometry)\r\n })\r\n }\r\n let style = this.getStyleByLine(line['attributes']['style'] || params['style'])\r\n let selectStyle = this.getStyleByLine(line['attributes']['selectStyle'] || params['selectStyle'])\r\n let extent = linefeature.getGeometry().getExtent()\r\n if (style && linefeature) {\r\n linefeature.setStyle(style)\r\n linefeature.set('style', style)\r\n if (selectStyle) {\r\n linefeature.set('selectStyle', selectStyle)\r\n }\r\n }\r\n if (line['attributes'] && (line.attributes['ID'] || line.attributes['id'])) {\r\n let id = (line.attributes['id'] || line.attributes['ID'] || params['id'])\r\n linefeature.setId(id)\r\n linefeature.setProperties(line.attributes)\r\n }\r\n if (params['zoomToExtent']) {\r\n this.zoomToExtent(extent, true)\r\n }\r\n if (params['layerName']) {\r\n let layer = this.createVectorLayer(params['layerName'], {\r\n create: true\r\n })\r\n layer.getSource().addFeature(linefeature)\r\n this.lineLayers.add(params['layerName'])\r\n }\r\n this.orderLayerZindex()\r\n return linefeature\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加多条线要素\r\n * @param lines\r\n * @param params\r\n */\r\n addPolylines (lines, params) {\r\n try {\r\n if (lines && Array.isArray(lines)) {\r\n let [MultiLine, change] = [(new ol.geom.MultiLineString([])), false]\r\n if (params['zoomToExtent']) {\r\n params['zoomToExtent'] = false\r\n change = true\r\n }\r\n lines.forEach(line => {\r\n let polyLine = this.addPolyline(line, params)\r\n if (polyLine && polyLine instanceof ol.Feature) {\r\n let geom = polyLine.getGeometry()\r\n if (geom && geom instanceof ol.geom.LineString) {\r\n MultiLine.appendLineString(geom)\r\n } else if (geom && geom instanceof ol.geom.MultiLineString) {\r\n let multiGeoms = geom.getLineStrings()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.LineString) {\r\n MultiLine.appendLineString(geom)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n })\r\n if (change) {\r\n this._getExtent(MultiLine)\r\n }\r\n }\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加面要素\r\n * @param polygon\r\n * @param params\r\n * @returns {ol.render.Feature|ol.format.Feature|Feature|*|ol.Feature}\r\n */\r\n addPolygon (polygon, params) {\r\n try {\r\n if (polygon && polygon['geometry']) {\r\n let polygonFeature = new ol.Feature({\r\n geometry: new ol.format.WKT().readGeometry(polygon.geometry)\r\n })\r\n let style = this.getStyleByPolygon(polygon['attributes']['style'] || params['style'])\r\n let selectStyle = this.getStyleByPolygon(polygon['attributes']['selectStyle'] || params['selectStyle'])\r\n let extent = polygonFeature.getGeometry().getExtent()\r\n if (style && polygonFeature) {\r\n polygonFeature.setStyle(style)\r\n if (selectStyle) {\r\n polygonFeature.set('selectStyle', selectStyle)\r\n }\r\n }\r\n if (polygon['attributes'] && (polygon.attributes['ID'] || polygon.attributes['id'])) {\r\n let id = (polygon.attributes['id'] || polygon.attributes['ID'] || params['id'])\r\n polygonFeature.setId(id)\r\n polygonFeature.setProperties(polygon.attributes)\r\n }\r\n if (params['zoomToExtent']) {\r\n this.zoomToExtent(extent, true)\r\n }\r\n if (params['layerName']) {\r\n let layer = this.createVectorLayer(params['layerName'], {\r\n create: true\r\n })\r\n layer.getSource().addFeature(polygonFeature)\r\n this.polygonLayers.add(params['layerName'])\r\n }\r\n this.orderLayerZindex()\r\n return polygonFeature\r\n } else {\r\n console.info('传入的数据不标准!')\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加多个面\r\n * @param polygons\r\n * @param params\r\n */\r\n addPolygons (polygons, params) {\r\n try {\r\n if (polygons && Array.isArray(polygons)) {\r\n let [MultiPolygon, change] = [(new ol.geom.MultiPolygon([])), false]\r\n if (params['zoomToExtent']) {\r\n params['zoomToExtent'] = false\r\n change = true\r\n }\r\n polygons.forEach(polygon => {\r\n let polygonFeat = this.addPolygon(polygon, params)\r\n if (polygonFeat && polygonFeat instanceof ol.Feature) {\r\n let geom = polygonFeat.getGeometry()\r\n if (geom && geom instanceof ol.geom.Polygon) {\r\n MultiPolygon.appendPolygon(geom)\r\n } else if (geom && geom instanceof ol.geom.MultiPolygon) {\r\n let multiGeoms = geom.getPolygons()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.Polygon) {\r\n MultiPolygon.appendPolygon(_geom)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n })\r\n if (change) {\r\n this._getExtent(MultiPolygon)\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加热力图要素\r\n * @param points\r\n * @param params\r\n * @returns {string}\r\n */\r\n addHeatFeatures (points, params) {\r\n try {\r\n let feature = ''\r\n if (points && Array.isArray(points) && points.length > 0) {\r\n let [multiPoint, change] = [(new ol.geom.MultiPoint([])), false]\r\n if (params['zoomToExtent']) {\r\n params['zoomToExtent'] = false\r\n change = true\r\n }\r\n points.forEach(item => {\r\n if (item && item['geometry']) {\r\n let geometry = this._getGeometryFromPoint(item)\r\n if (geometry && geometry instanceof ol.geom.Point) {\r\n multiPoint.appendPoint(geometry)\r\n } else if (geometry && geometry instanceof ol.geom.MultiPoint) {\r\n let multiGeoms = geometry.getPoints()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.Point) {\r\n multiPoint.appendPoint(_geom)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n })\r\n if (params['layerName']) {\r\n feature = new ol.Feature({\r\n geometry: multiPoint,\r\n params: params\r\n })\r\n params['create'] = true\r\n let layer = this.createHeatMapLayer(params['layerName'], params)\r\n if (layer && layer instanceof ol.layer.Heatmap) {\r\n layer.getSource().addFeature(feature)\r\n }\r\n this.pointLayers.add(params['layerName'])\r\n }\r\n if (change) {\r\n this._getExtent(multiPoint)\r\n }\r\n }\r\n this.orderLayerZindex()\r\n return feature\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取线当前范围和中心点\r\n * @param line\r\n * @returns {{extent: *, center: ol.Coordinate}}\r\n */\r\n getCenterExtentFromLine (line) {\r\n try {\r\n let geom = null\r\n if (!(line instanceof ol.geom.Geometry)) {\r\n geom = (new ol.format.WKT()).readGeometry(line)\r\n }\r\n let [MultiLine] = [(new ol.geom.MultiLineString([]))]\r\n if (geom && geom instanceof ol.geom.LineString) {\r\n MultiLine.appendLineString(geom)\r\n } else if (geom && geom instanceof ol.geom.MultiLineString) {\r\n let multiGeoms = geom.getLineStrings()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.LineString) {\r\n MultiLine.appendLineString(geom)\r\n }\r\n })\r\n }\r\n }\r\n let extent = this._getExtent(MultiLine)\r\n let center = ol.extent.getCenter(extent)\r\n return ({\r\n extent: extent,\r\n center: center\r\n })\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前面范围和中心点\r\n * @param polygon\r\n * @returns {{extent: *, center: ol.Coordinate}}\r\n */\r\n getCenterExtentFromPolygon (polygon) {\r\n try {\r\n let geom = null\r\n if (!(polygon instanceof ol.geom.Geometry)) {\r\n geom = (new ol.format.WKT()).readGeometry(polygon)\r\n }\r\n let [MultiPolygon] = [(new ol.geom.MultiPolygon([]))]\r\n if (geom && geom instanceof ol.geom.Polygon) {\r\n MultiPolygon.appendPolygon(geom)\r\n } else if (geom && geom instanceof ol.geom.MultiPolygon) {\r\n let multiGeoms = geom.getPolygons()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.Polygon) {\r\n MultiPolygon.appendPolygon(geom)\r\n }\r\n })\r\n }\r\n }\r\n let extent = this._getExtent(MultiPolygon)\r\n let center = ol.extent.getCenter(extent)\r\n return ({\r\n extent: extent,\r\n center: center\r\n })\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 读取空间信息\r\n * @param geomData\r\n * @param options\r\n * @returns {*}\r\n */\r\n getGeomFromGeomData (geomData, options) {\r\n try {\r\n let featureGeom = null\r\n if (geomData['geomType'] === 'GeoJSON') {\r\n featureGeom = (new ol.format.GeoJSON()).readGeometry(geomData['geometry'])\r\n } else if (geomData['geomType'] === 'WKT') {\r\n featureGeom = (new ol.format.WKT()).readGeometry(geomData['geometry'])\r\n } else if (geomData['geomType'] === 'EsriJSON') {\r\n featureGeom = (new ol.format.EsriJSON()).readGeometry(geomData['geometry'])\r\n } else if (geomData['geomType'] === 'Polyline') {\r\n featureGeom = (new ol.format.Polyline()).readGeometry(geomData['geometry'])\r\n } else if (Array.isArray(geomData['geometry']) && geomData['geometry'].length === 2) {\r\n featureGeom = new ol.geom.Point(geomData['geometry'])\r\n }\r\n return featureGeom\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 简单兼容\r\n * @param geomData\r\n * @param options\r\n * @returns {{extent: *, center: ol.Coordinate}}\r\n */\r\n getCenterExtentFromGeom (geomData, options) {\r\n let geom = this.getGeomFromGeomData(geomData, options)\r\n let extent = this._getExtent(geom)\r\n let center = ol.extent.getCenter(extent)\r\n let bExtent = true\r\n extent.every(item => {\r\n if (item === Infinity || isNaN(item) || item === undefined || item === null) {\r\n bExtent = false\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n if (bExtent && options['zoomToExtent']) {\r\n this.zoomToExtent(extent, true)\r\n }\r\n return ({\r\n extent: extent,\r\n center: center\r\n })\r\n }\r\n\r\n /**\r\n * 设置热力图样式\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n setHeatLayerStyle (layerName, params) {\r\n try {\r\n let layer = null\r\n if (layerName) {\r\n layerName = layerName.trim()\r\n let _layer = this.getLayerByLayerName(layerName)\r\n if (_layer && _layer instanceof ol.layer.Heatmap) {\r\n layer = _layer\r\n if (params && typeof params === 'object') {\r\n for (let key in params) {\r\n switch (key) {\r\n case 'blur':\r\n layer.setBlur(params[key])\r\n break\r\n case 'radius':\r\n layer.setRadius(params[key])\r\n break\r\n case 'gradient':\r\n layer.setGradient(params[key])\r\n break\r\n case 'visible':\r\n layer.setVisible(params[key])\r\n break\r\n case 'opacity':\r\n layer.setOpacity(params[key])\r\n break\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 通过图层名移除要素\r\n * @param layerName\r\n */\r\n removeFeatureByLayerName (layerName) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (layer && layer instanceof ol.layer.Vector && layer.getSource()) {\r\n layer.getSource().clear()\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 移除多个图层的要素\r\n * @param layerNames \r\n */\r\n removeFeatureByLayerNames (layerNames) {\r\n if (layerNames && Array.isArray(layerNames) && layerNames.length > 0) {\r\n layerNames.forEach(item => {\r\n this.removeFeatureByLayerName(item)\r\n })\r\n } else {\r\n console.info('id为空或者不是数组!')\r\n }\r\n }\r\n\r\n /**\r\n * 移除当前要素\r\n * @param feature\r\n */\r\n removeFeature (feature) {\r\n if (feature && feature instanceof ol.Feature) {\r\n let tragetLayer = this.getLayerByFeatuer(feature)\r\n if (tragetLayer) {\r\n let source = tragetLayer.getSource()\r\n if (source && source.removeFeature) {\r\n source.removeFeature(feature)\r\n }\r\n }\r\n } else {\r\n throw new Error('传入的不是要素!')\r\n }\r\n }\r\n\r\n /**\r\n * 通过id移除要素\r\n * @param id\r\n * @param layerName\r\n */\r\n removeFeatureById (id, layerName) {\r\n if (this.map && id) {\r\n if (layerName) {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (layer) {\r\n let feature = layer.getSource().getFeatureById(id)\r\n if (feature && feature instanceof ol.Feature) {\r\n layer.getSource().removeFeature(feature)\r\n }\r\n }\r\n } else {\r\n let layers = this.map.getLayers().getArray()\r\n layers.forEach(layer => {\r\n if (layer && layer instanceof ol.layer.Vector && layer.getSource()) {\r\n let feature = layer.getSource().getFeatureById(id)\r\n if (feature && feature instanceof ol.Feature) {\r\n layer.getSource().removeFeature(feature)\r\n }\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 移除多个要素\r\n * @param ids\r\n * @param layerName\r\n */\r\n removeFeatureByIds (ids, layerName) {\r\n if (ids && Array.isArray(ids) && ids.length > 0) {\r\n ids.forEach(item => {\r\n this.removeFeatureById(item, layerName)\r\n })\r\n } else {\r\n console.info('id为空或者不是数组!')\r\n }\r\n }\r\n\r\n /**\r\n * 高亮要素\r\n * @param id (若传feat时其他参数可不传)\r\n * @param feat\r\n * @param layerName (传入id时layerName可不传)\r\n * @returns {*}\r\n */\r\n highLightFeature (id, feat, layerName) {\r\n if (!this.map) return\r\n if (feat && feat instanceof ol.Feature) {\r\n let selectStyle = feat.get('selectStyle')\r\n if (selectStyle && selectStyle instanceof ol.style.Style) {\r\n feat.setStyle(selectStyle)\r\n } else if (selectStyle) {\r\n let st = this.getStyleByPoint(selectStyle)\r\n feat.setStyle(st)\r\n }\r\n return feat\r\n } else if (id && id.trim() !== \"''\") {\r\n let feature = this.getFeatureById(id, layerName)\r\n if (feature && feature instanceof ol.Feature) {\r\n let selectStyle = feature.get('selectStyle')\r\n if (selectStyle && selectStyle instanceof ol.style.Style) {\r\n feature.setStyle(selectStyle)\r\n } else if (selectStyle) {\r\n let st = this.getStyleByPoint(selectStyle)\r\n feature.setStyle(st)\r\n }\r\n }\r\n return feature\r\n }\r\n }\r\n\r\n /**\r\n * 取消高亮状态\r\n * @param id (若传feat时其他参数可不传)\r\n * @param feat\r\n * @param layerName (传入id时layerName可不传)\r\n * @returns {*}\r\n */\r\n unHighLightFeature (id, feat, layerName) {\r\n if (!this.map) return\r\n if (feat && feat instanceof ol.Feature) {\r\n let normalStyle = feat.get('style')\r\n if (normalStyle && normalStyle instanceof ol.style.Style) {\r\n feat.setStyle(normalStyle)\r\n } else if (normalStyle) {\r\n let st = this.getStyleByPoint(normalStyle)\r\n feat.setStyle(st)\r\n }\r\n return feat\r\n } else if (id && id.trim() !== \"''\") {\r\n let feature = this.getFeatureById(id, layerName)\r\n if (feature && feature instanceof ol.Feature) {\r\n let normalStyle = feature.get('style')\r\n if (normalStyle && normalStyle instanceof ol.style.Style) {\r\n feature.setStyle(normalStyle)\r\n } else if (normalStyle) {\r\n let st = this.getStyleByPoint(normalStyle)\r\n feature.setStyle(st)\r\n }\r\n }\r\n return feature\r\n }\r\n }\r\n}\r\nexport default Feature\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/feature/feature.js","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length');\nmodule.exports = function fill(value /*, start = 0, end = @length */){\n var O = toObject(this)\n , length = toLength(O.length)\n , aLen = arguments.length\n , index = toIndex(aLen > 1 ? arguments[1] : undefined, length)\n , end = aLen > 2 ? arguments[2] : undefined\n , endPos = end === undefined ? length : toIndex(end, length);\n while(endPos > index)O[index++] = value;\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-fill.js\n// module id = 83\n// module chunks = 0","'use strict';\nvar $defineProperty = require('./_object-dp')\n , createDesc = require('./_property-desc');\n\nmodule.exports = function(object, index, value){\n if(index in object)$defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_create-property.js\n// module id = 84\n// module chunks = 0","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_dom-create.js\n// module id = 85\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_enum-bug-keys.js\n// module id = 86\n// module chunks = 0","var MATCH = require('./_wks')('match');\nmodule.exports = function(KEY){\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch(e){\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch(f){ /* empty */ }\n } return true;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_fails-is-regexp.js\n// module id = 87\n// module chunks = 0","module.exports = require('./_global').document && document.documentElement;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_html.js\n// module id = 88\n// module chunks = 0","var isObject = require('./_is-object')\n , setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function(that, target, C){\n var P, S = target.constructor;\n if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){\n setPrototypeOf(that, P);\n } return that;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_inherit-if-required.js\n// module id = 89\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators')\n , ITERATOR = require('./_wks')('iterator')\n , ArrayProto = Array.prototype;\n\nmodule.exports = function(it){\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-array-iter.js\n// module id = 90\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg){\n return cof(arg) == 'Array';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-array.js\n// module id = 91\n// module chunks = 0","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-create.js\n// module id = 92\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-define.js\n// module id = 93\n// module chunks = 0","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x){\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_math-expm1.js\n// module id = 94\n// module chunks = 0","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x){\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_math-sign.js\n// module id = 95\n// module chunks = 0","var global = require('./_global')\n , macrotask = require('./_task').set\n , Observer = global.MutationObserver || global.WebKitMutationObserver\n , process = global.process\n , Promise = global.Promise\n , isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function(){\n var head, last, notify;\n\n var flush = function(){\n var parent, fn;\n if(isNode && (parent = process.domain))parent.exit();\n while(head){\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch(e){\n if(head)notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if(parent)parent.enter();\n };\n\n // Node.js\n if(isNode){\n notify = function(){\n process.nextTick(flush);\n };\n // browsers with MutationObserver\n } else if(Observer){\n var toggle = true\n , node = document.createTextNode('');\n new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new\n notify = function(){\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if(Promise && Promise.resolve){\n var promise = Promise.resolve();\n notify = function(){\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function(){\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function(fn){\n var task = {fn: fn, next: undefined};\n if(last)last.next = task;\n if(!head){\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_microtask.js\n// module id = 96\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object')\n , anObject = require('./_an-object');\nvar check = function(O, proto){\n anObject(O);\n if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function(test, buggy, set){\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch(e){ buggy = true; }\n return function setPrototypeOf(O, proto){\n check(O, proto);\n if(buggy)O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_set-proto.js\n// module id = 97\n// module chunks = 0","var shared = require('./_shared')('keys')\n , uid = require('./_uid');\nmodule.exports = function(key){\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_shared-key.js\n// module id = 98\n// module chunks = 0","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , SPECIES = require('./_wks')('species');\nmodule.exports = function(O, D){\n var C = anObject(O).constructor, S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_species-constructor.js\n// module id = 99\n// module chunks = 0","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-at.js\n// module id = 100\n// module chunks = 0","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp')\n , defined = require('./_defined');\n\nmodule.exports = function(that, searchString, NAME){\n if(isRegExp(searchString))throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-context.js\n// module id = 101\n// module chunks = 0","'use strict';\nvar toInteger = require('./_to-integer')\n , defined = require('./_defined');\n\nmodule.exports = function repeat(count){\n var str = String(defined(this))\n , res = ''\n , n = toInteger(count);\n if(n < 0 || n == Infinity)throw RangeError(\"Count can't be negative\");\n for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str;\n return res;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-repeat.js\n// module id = 102\n// module chunks = 0","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-ws.js\n// module id = 103\n// module chunks = 0","var ctx = require('./_ctx')\n , invoke = require('./_invoke')\n , html = require('./_html')\n , cel = require('./_dom-create')\n , global = require('./_global')\n , process = global.process\n , setTask = global.setImmediate\n , clearTask = global.clearImmediate\n , MessageChannel = global.MessageChannel\n , counter = 0\n , queue = {}\n , ONREADYSTATECHANGE = 'onreadystatechange'\n , defer, channel, port;\nvar run = function(){\n var id = +this;\n if(queue.hasOwnProperty(id)){\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function(event){\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif(!setTask || !clearTask){\n setTask = function setImmediate(fn){\n var args = [], i = 1;\n while(arguments.length > i)args.push(arguments[i++]);\n queue[++counter] = function(){\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id){\n delete queue[id];\n };\n // Node.js 0.8-\n if(require('./_cof')(process) == 'process'){\n defer = function(id){\n process.nextTick(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if(MessageChannel){\n channel = new MessageChannel;\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){\n defer = function(id){\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if(ONREADYSTATECHANGE in cel('script')){\n defer = function(id){\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function(id){\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_task.js\n// module id = 104\n// module chunks = 0","'use strict';\nvar global = require('./_global')\n , DESCRIPTORS = require('./_descriptors')\n , LIBRARY = require('./_library')\n , $typed = require('./_typed')\n , hide = require('./_hide')\n , redefineAll = require('./_redefine-all')\n , fails = require('./_fails')\n , anInstance = require('./_an-instance')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , gOPN = require('./_object-gopn').f\n , dP = require('./_object-dp').f\n , arrayFill = require('./_array-fill')\n , setToStringTag = require('./_set-to-string-tag')\n , ARRAY_BUFFER = 'ArrayBuffer'\n , DATA_VIEW = 'DataView'\n , PROTOTYPE = 'prototype'\n , WRONG_LENGTH = 'Wrong length!'\n , WRONG_INDEX = 'Wrong index!'\n , $ArrayBuffer = global[ARRAY_BUFFER]\n , $DataView = global[DATA_VIEW]\n , Math = global.Math\n , RangeError = global.RangeError\n , Infinity = global.Infinity\n , BaseBuffer = $ArrayBuffer\n , abs = Math.abs\n , pow = Math.pow\n , floor = Math.floor\n , log = Math.log\n , LN2 = Math.LN2\n , BUFFER = 'buffer'\n , BYTE_LENGTH = 'byteLength'\n , BYTE_OFFSET = 'byteOffset'\n , $BUFFER = DESCRIPTORS ? '_b' : BUFFER\n , $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH\n , $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nvar packIEEE754 = function(value, mLen, nBytes){\n var buffer = Array(nBytes)\n , eLen = nBytes * 8 - mLen - 1\n , eMax = (1 << eLen) - 1\n , eBias = eMax >> 1\n , rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0\n , i = 0\n , s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0\n , e, m, c;\n value = abs(value)\n if(value != value || value === Infinity){\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if(value * (c = pow(2, -e)) < 1){\n e--;\n c *= 2;\n }\n if(e + eBias >= 1){\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if(value * c >= 2){\n e++;\n c /= 2;\n }\n if(e + eBias >= eMax){\n m = 0;\n e = eMax;\n } else if(e + eBias >= 1){\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for(; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for(; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n};\nvar unpackIEEE754 = function(buffer, mLen, nBytes){\n var eLen = nBytes * 8 - mLen - 1\n , eMax = (1 << eLen) - 1\n , eBias = eMax >> 1\n , nBits = eLen - 7\n , i = nBytes - 1\n , s = buffer[i--]\n , e = s & 127\n , m;\n s >>= 7;\n for(; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for(; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if(e === 0){\n e = 1 - eBias;\n } else if(e === eMax){\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n};\n\nvar unpackI32 = function(bytes){\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n};\nvar packI8 = function(it){\n return [it & 0xff];\n};\nvar packI16 = function(it){\n return [it & 0xff, it >> 8 & 0xff];\n};\nvar packI32 = function(it){\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n};\nvar packF64 = function(it){\n return packIEEE754(it, 52, 8);\n};\nvar packF32 = function(it){\n return packIEEE754(it, 23, 4);\n};\n\nvar addGetter = function(C, key, internal){\n dP(C[PROTOTYPE], key, {get: function(){ return this[internal]; }});\n};\n\nvar get = function(view, bytes, index, isLittleEndian){\n var numIndex = +index\n , intIndex = toInteger(numIndex);\n if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b\n , start = intIndex + view[$OFFSET]\n , pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n};\nvar set = function(view, bytes, index, conversion, value, isLittleEndian){\n var numIndex = +index\n , intIndex = toInteger(numIndex);\n if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b\n , start = intIndex + view[$OFFSET]\n , pack = conversion(+value);\n for(var i = 0; i < bytes; i++)store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n};\n\nvar validateArrayBufferArguments = function(that, length){\n anInstance(that, $ArrayBuffer, ARRAY_BUFFER);\n var numberLength = +length\n , byteLength = toLength(numberLength);\n if(numberLength != byteLength)throw RangeError(WRONG_LENGTH);\n return byteLength;\n};\n\nif(!$typed.ABV){\n $ArrayBuffer = function ArrayBuffer(length){\n var byteLength = validateArrayBufferArguments(this, length);\n this._b = arrayFill.call(Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength){\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH]\n , offset = toInteger(byteOffset);\n if(offset < 0 || offset > bufferLength)throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if(offset + byteLength > bufferLength)throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if(DESCRIPTORS){\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset){\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset){\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /*, littleEndian */){\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /*, littleEndian */){\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /*, littleEndian */){\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /*, littleEndian */){\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /*, littleEndian */){\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /*, littleEndian */){\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value){\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value){\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /*, littleEndian */){\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /*, littleEndian */){\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /*, littleEndian */){\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if(!fails(function(){\n new $ArrayBuffer; // eslint-disable-line no-new\n }) || !fails(function(){\n new $ArrayBuffer(.5); // eslint-disable-line no-new\n })){\n $ArrayBuffer = function ArrayBuffer(length){\n return new BaseBuffer(validateArrayBufferArguments(this, length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for(var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j; ){\n if(!((key = keys[j++]) in $ArrayBuffer))hide($ArrayBuffer, key, BaseBuffer[key]);\n };\n if(!LIBRARY)ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2))\n , $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if(view.getInt8(0) || !view.getInt8(1))redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value){\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value){\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_typed-buffer.js\n// module id = 105\n// module chunks = 0","var global = require('./_global')\n , core = require('./_core')\n , LIBRARY = require('./_library')\n , wksExt = require('./_wks-ext')\n , defineProperty = require('./_object-dp').f;\nmodule.exports = function(name){\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_wks-define.js\n// module id = 106\n// module chunks = 0","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function(it){\n if(it != undefined)return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/core.get-iterator-method.js\n// module id = 107\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.iterator.js\n// module id = 108\n// module chunks = 0","import parseCode from './parseCode';\nimport extend from './extend';\nimport projections from './projections';\nimport {sphere as dc_sphere, eccentricity as dc_eccentricity} from './deriveConstants';\nimport Datum from './constants/Datum';\nimport datum from './datum';\nimport match from './match';\n\nfunction Projection(srsCode,callback) {\n if (!(this instanceof Projection)) {\n return new Projection(srsCode);\n }\n callback = callback || function(error){\n if(error){\n throw error;\n }\n };\n var json = parseCode(srsCode);\n if(typeof json !== 'object'){\n callback(srsCode);\n return;\n }\n var ourProj = Projection.projections.get(json.projName);\n if(!ourProj){\n callback(srsCode);\n return;\n }\n if (json.datumCode && json.datumCode !== 'none') {\n var datumDef = match(Datum, json.datumCode);\n if (datumDef) {\n json.datum_params = datumDef.towgs84 ? datumDef.towgs84.split(',') : null;\n json.ellps = datumDef.ellipse;\n json.datumName = datumDef.datumName ? datumDef.datumName : json.datumCode;\n }\n }\n json.k0 = json.k0 || 1.0;\n json.axis = json.axis || 'enu';\n json.ellps = json.ellps || 'wgs84';\n var sphere_ = dc_sphere(json.a, json.b, json.rf, json.ellps, json.sphere);\n var ecc = dc_eccentricity(sphere_.a, sphere_.b, sphere_.rf, json.R_A);\n var datumObj = json.datum || datum(json.datumCode, json.datum_params, sphere_.a, sphere_.b, ecc.es, ecc.ep2);\n\n extend(this, json); // transfer everything over from the projection because we don't know what we'll need\n extend(this, ourProj); // transfer all the methods from the projection\n\n // copy the 4 things over we calulated in deriveConstants.sphere\n this.a = sphere_.a;\n this.b = sphere_.b;\n this.rf = sphere_.rf;\n this.sphere = sphere_.sphere;\n\n // copy the 3 things we calculated in deriveConstants.eccentricity\n this.es = ecc.es;\n this.e = ecc.e;\n this.ep2 = ecc.ep2;\n\n // add in the datum object\n this.datum = datumObj;\n\n // init the projection\n this.init();\n\n // legecy callback from back in the day when it went to spatialreference.org\n callback(null, this);\n\n}\nProjection.projections = projections;\nProjection.projections.start();\nexport default Projection;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/Proj.js\n// module id = 109\n// module chunks = 0","export default function(a, e, sinphi) {\n var temp = e * sinphi;\n return a / Math.sqrt(1 - temp * temp);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/gN.js\n// module id = 110\n// module chunks = 0","export default function(ml, e0, e1, e2, e3) {\n var phi;\n var dphi;\n\n phi = ml / e0;\n for (var i = 0; i < 15; i++) {\n dphi = (ml - (e0 * phi - e1 * Math.sin(2 * phi) + e2 * Math.sin(4 * phi) - e3 * Math.sin(6 * phi))) / (e0 - 2 * e1 * Math.cos(2 * phi) + 4 * e2 * Math.cos(4 * phi) - 6 * e3 * Math.cos(6 * phi));\n phi += dphi;\n if (Math.abs(dphi) <= 0.0000000001) {\n return phi;\n }\n }\n\n //..reportError(\"IMLFN-CONV:Latitude failed to converge after 15 iterations\");\n return NaN;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/imlfn.js\n// module id = 111\n// module chunks = 0","export default function(phi, sphi, cphi, en) {\n cphi *= sphi;\n sphi *= sphi;\n return (en[0] * phi - cphi * (en[1] + sphi * (en[2] + sphi * (en[3] + sphi * en[4]))));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/pj_mlfn.js\n// module id = 112\n// module chunks = 0","export default function(eccent, sinphi) {\n var con;\n if (eccent > 1.0e-7) {\n con = eccent * sinphi;\n return ((1 - eccent * eccent) * (sinphi / (1 - con * con) - (0.5 / eccent) * Math.log((1 - con) / (1 + con))));\n }\n else {\n return (2 * sinphi);\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/qsfnz.js\n// module id = 113\n// module chunks = 0","var ignoredChar = /[\\s_\\-\\/\\(\\)]/g;\nexport default function match(obj, key) {\n if (obj[key]) {\n return obj[key];\n }\n var keys = Object.keys(obj);\n var lkey = key.toLowerCase().replace(ignoredChar, '');\n var i = -1;\n var testkey, processedKey;\n while (++i < keys.length) {\n testkey = keys[i];\n processedKey = testkey.toLowerCase().replace(ignoredChar, '');\n if (processedKey === lkey) {\n return obj[testkey];\n }\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/match.js\n// module id = 114\n// module chunks = 0","import { splitWords, stamp } from '../utils/utils'\r\n\r\n/**\r\n * 通过id获取dom\r\n * @param id\r\n * @returns {Element}\r\n */\r\nexport const get = (id) => {\r\n return typeof id === 'string' ? document.getElementById(id) : id\r\n}\r\n\r\n/**\r\n * 获取父节点下指定的子节点\r\n * @param str\r\n * @param container\r\n * @returns {NodeList|*}\r\n */\r\nexport const getChildByTagName = (str, container) => {\r\n return container.getElementsByTagName(str)\r\n}\r\n\r\n/**\r\n * 通过类名获取元素\r\n * @param str\r\n * @param container\r\n * @param root\r\n * @returns {HTMLElement}\r\n */\r\nexport const getElementsByClassName = (str, container, root) => {\r\n let _root = root || window\r\n let $ = _root.document.querySelector.bind(_root.document)\r\n // let $$ = _root.document.querySelectorAll.bind(_root.document)\r\n let target = $(str)\r\n return target\r\n}\r\n\r\n/**\r\n * 获取dom class\r\n * @param elem\r\n * @returns {*|getAttribute|string|string}\r\n */\r\nexport const getClass = (elem) => {\r\n return elem.getAttribute && elem.getAttribute('class') || ''\r\n}\r\n\r\n/**\r\n * 获取dom样式列表()\r\n * @param el\r\n * @param style\r\n * @returns {*}\r\n */\r\nexport const getStyle = (el, style) => {\r\n let value = el.style[style] || (el.currentStyle && el.currentStyle[style])\r\n if ((!value || value === 'auto') && document.defaultView) {\r\n let css = document.defaultView.getComputedStyle(el, null)\r\n value = css ? css[style] : null\r\n }\r\n return value === 'auto' ? null : value\r\n}\r\n\r\n/**\r\n * 创建dom\r\n * @param tagName (标签名)\r\n * @param className (类名)\r\n * @param container (容器)\r\n * @param id (唯一标识)\r\n * @returns {Element}\r\n */\r\nexport const create = (tagName, className, container, id) => {\r\n let el = document.createElement(tagName)\r\n el.className = className || ''\r\n if (id) {\r\n el.id = id\r\n }\r\n if (container) {\r\n container.appendChild(el)\r\n }\r\n return el\r\n}\r\n\r\n/**\r\n * 移除当前dom\r\n * @param el\r\n */\r\nexport const remove = (el) => {\r\n let parent = el.parentNode\r\n if (parent) {\r\n parent.removeChild(el)\r\n }\r\n}\r\n\r\n/**\r\n * 将dom致空\r\n * @param el\r\n */\r\nexport const empty = (el) => {\r\n while (el.firstChild) {\r\n el.removeChild(el.firstChild)\r\n }\r\n}\r\n\r\n/**\r\n * 添加到容器前方\r\n * @param el\r\n */\r\nexport const toFront = (el) => {\r\n el.parentNode.appendChild(el)\r\n}\r\n\r\n/**\r\n * 添加到容器后放\r\n * @param el\r\n */\r\nexport const toBack = (el) => {\r\n let parent = el.parentNode\r\n parent.insertBefore(el, parent.firstChild)\r\n}\r\n\r\n/**\r\n * 判断DOM对象是否有此类名\r\n * @param el\r\n * @param name\r\n * @returns {boolean}\r\n */\r\nexport const hasClass = (el, name) => {\r\n if (el.classList !== undefined) {\r\n return el.classList.contains(name)\r\n }\r\n let className = getClass(el)\r\n return className.length > 0 && new RegExp('(^|\\\\s)' + name + '(\\\\s|$)').test(className)\r\n}\r\n\r\n/**\r\n * 添加类名\r\n * @param el\r\n * @param name\r\n */\r\nexport const addClass = (el, name) => {\r\n if (el.classList !== undefined) {\r\n let classes = splitWords(name)\r\n for (let i = 0, len = classes.length; i < len; i++) {\r\n el.classList.add(classes[i])\r\n }\r\n } else if (!hasClass(el, name)) {\r\n let className = getClass(el)\r\n setClass(el, (className ? className + ' ' : '') + name)\r\n }\r\n}\r\n\r\n/**\r\n * 移除类名\r\n * @param el\r\n * @param name\r\n */\r\nexport const removeClass = (el, name) => {\r\n if (el.classList !== undefined) {\r\n el.classList.remove(name)\r\n } else {\r\n setClass(el, String.trim((' ' + getClass(el) + ' ').replace(' ' + name + ' ', ' ')))\r\n }\r\n}\r\n\r\n/**\r\n * 设置class\r\n * @param el\r\n * @param name\r\n */\r\nexport const setClass = (el, name) => {\r\n if (el.className.baseVal === undefined) {\r\n el.className = name\r\n } else {\r\n el.className.baseVal = name\r\n }\r\n}\r\n\r\n/**\r\n * 创建一个隐藏的元素\r\n * @param tagName\r\n * @param parent\r\n * @param id\r\n * @returns {Element}\r\n */\r\nexport const createHidden = (tagName, parent, id) => {\r\n let element = document.createElement(tagName)\r\n element.style.display = 'none'\r\n if (id) {\r\n element.id = id\r\n }\r\n if (parent) {\r\n parent.appendChild(element)\r\n }\r\n return element\r\n}\r\n\r\n/**\r\n * 获取事件唯一标识\r\n * @param type\r\n * @param fn\r\n * @param context\r\n * @returns {string}\r\n */\r\nexport const getDomEventKey = (type, fn, context) => {\r\n return '_p_dom_event_' + type + '_' + stamp(fn) + (context ? '_' + stamp(context) : '')\r\n}\r\n\r\n/**\r\n * 对DOM对象添加事件监听\r\n * @param element\r\n * @param type\r\n * @param fn\r\n * @param context\r\n * @returns {*}\r\n */\r\nexport const addListener = function (element, type, fn, context) {\r\n let eventKey = getDomEventKey(type, fn, context)\r\n let handler = element[eventKey]\r\n if (handler) {\r\n return this\r\n }\r\n handler = function (e) {\r\n return fn.call(context || element, e)\r\n }\r\n if ('addEventListener' in element) {\r\n element.addEventListener(type, handler, false)\r\n } else if ('attachEvent' in element) {\r\n element.attachEvent('on' + type, handler)\r\n }\r\n element[eventKey] = handler\r\n return this\r\n}\r\n\r\n/**\r\n * 移除DOM对象监听事件\r\n * @param element\r\n * @param type\r\n * @param fn\r\n * @param context\r\n * @returns {removeListener}\r\n */\r\nexport const removeListener = function (element, type, fn, context) {\r\n let eventKey = getDomEventKey(type, fn, context)\r\n let handler = element[eventKey]\r\n if (!handler) {\r\n return this\r\n }\r\n if ('removeEventListener' in element) {\r\n element.removeEventListener(type, handler, false)\r\n } else if ('detachEvent' in element) {\r\n element.detachEvent('on' + type, handler)\r\n }\r\n element[eventKey] = null\r\n return this\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/dom/domUtil.js","/**\r\n * bindListener\r\n * @param listenerObj\r\n * @returns {boundListener}\r\n * @private\r\n */\r\nexport const bindListener_ = function (listenerObj) {\r\n let boundListener = function (evt) {\r\n let listener = listenerObj.listener\r\n let bindTo = listenerObj.bindTo || listenerObj.target\r\n if (listenerObj.callOnce) {\r\n unlistenByKey(listenerObj)\r\n }\r\n return listener.call(bindTo, evt)\r\n }\r\n listenerObj.boundListener = boundListener\r\n return boundListener\r\n}\r\n\r\n/**\r\n * findListener\r\n * @param listeners\r\n * @param listener\r\n * @param optThis\r\n * @param optSetDeleteIndex\r\n * @returns {*}\r\n * @private\r\n */\r\nexport const findListener_ = function (listeners, listener, optThis, optSetDeleteIndex) {\r\n let listenerObj = null\r\n for (let i = 0, ii = listeners.length; i < ii; ++i) {\r\n listenerObj = listeners[i]\r\n if (listenerObj.listener === listener && listenerObj.bindTo === optThis) {\r\n if (optSetDeleteIndex) {\r\n listenerObj.deleteIndex = i\r\n }\r\n return listenerObj\r\n }\r\n }\r\n return undefined\r\n}\r\n\r\n/**\r\n * get Listeners\r\n * @param target\r\n * @param type\r\n * @returns {undefined}\r\n */\r\nexport const getListeners = function (target, type) {\r\n let listenerMap = target.ol_lm\r\n return listenerMap ? listenerMap[type] : undefined\r\n}\r\n\r\n/**\r\n * Get the lookup of listeners. If one does not exist on the target, it is\r\n * @param target\r\n * @returns {{}|*}\r\n * @private\r\n */\r\nexport const getListenerMap_ = function (target) {\r\n let listenerMap = target.ol_lm\r\n if (!listenerMap) {\r\n listenerMap = target.ol_lm = {}\r\n }\r\n return listenerMap\r\n}\r\n\r\n/**\r\n * Clean up all listener objects of the given type\r\n * @param target\r\n * @param type\r\n * @private\r\n */\r\nexport const removeListeners_ = function (target, type) {\r\n let listeners = getListeners(target, type)\r\n if (listeners) {\r\n for (let i = 0, ii = listeners.length; i < ii; ++i) {\r\n target.removeEventListener(type, listeners[i].boundListener)\r\n clear(listeners[i])\r\n }\r\n listeners.length = 0\r\n let listenerMap = target.ol_lm\r\n if (listenerMap) {\r\n delete listenerMap[type]\r\n if (Object.keys(listenerMap).length === 0) {\r\n delete target.ol_lm\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Registers an event listener on an event target\r\n * @param target\r\n * @param type\r\n * @param listener\r\n * @param optThis\r\n * @param optOnce\r\n * @returns {*}\r\n */\r\nexport const listen = function (target, type, listener, optThis, optOnce) {\r\n let listenerMap = getListenerMap_(target)\r\n let listeners = listenerMap[type]\r\n if (!listeners) {\r\n listeners = listenerMap[type] = []\r\n }\r\n let listenerObj = findListener_(listeners, listener, optThis, false)\r\n if (listenerObj) {\r\n if (!optOnce) {\r\n // Turn one-off listener into a permanent one.\r\n listenerObj.callOnce = false\r\n }\r\n } else {\r\n listenerObj = /** @type {ol.EventsKey} */ ({\r\n bindTo: optThis,\r\n callOnce: !!optOnce,\r\n listener: listener,\r\n target: target,\r\n type: type\r\n })\r\n target.addEventListener(type, bindListener_(listenerObj))\r\n listeners.push(listenerObj)\r\n }\r\n return listenerObj\r\n}\r\n\r\n/**\r\n * Registers a one-off event listener on an event target\r\n * @param target\r\n * @param type\r\n * @param listener\r\n * @param opt_this\r\n * @returns {*}\r\n */\r\nexport const listenOnce = function (target, type, listener, optThis) {\r\n return listen(target, type, listener, optThis, true)\r\n}\r\n\r\n/**\r\n * Unregisters an event listener on an event target\r\n * @param target\r\n * @param type\r\n * @param listener\r\n * @param optThis\r\n */\r\nexport const unlisten = function (target, type, listener, optThis) {\r\n let listeners = getListeners(target, type)\r\n if (listeners) {\r\n let listenerObj = findListener_(listeners, listener, optThis, true)\r\n if (listenerObj) {\r\n unlistenByKey(listenerObj)\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Unregisters event listeners on an event target. The argument passed to this function is the key returned from\r\n * @param key\r\n */\r\nexport const unlistenByKey = function (key) {\r\n if (key && key.target) {\r\n key.target.removeEventListener(key.type, key.boundListener)\r\n let listeners = getListeners(key.target, key.type)\r\n if (listeners) {\r\n let i = 'deleteIndex' in key ? key.deleteIndex : listeners.indexOf(key)\r\n if (i !== -1) {\r\n listeners.splice(i, 1)\r\n }\r\n if (listeners.length === 0) {\r\n removeListeners_(key.target, key.type)\r\n }\r\n }\r\n clear(key)\r\n }\r\n}\r\n/**\r\n * clear object attr\r\n * @param object\r\n */\r\nexport const clear = function (object) {\r\n for (let property in object) {\r\n delete object[property]\r\n }\r\n}\r\n\r\n/**\r\n * Unregisters all event listeners on an event target.\r\n * @param {ol.EventTargetLike} target Target.\r\n */\r\nexport const unlistenAll = function (target) {\r\n let listenerMap = getListenerMap_(target)\r\n for (let type in listenerMap) {\r\n removeListeners_(target, type)\r\n }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/event/Events.js","class Observable {\r\n constructor () {\r\n this.Events = {}\r\n this.__cnt = 0\r\n }\r\n /**\r\n * 事件分发\r\n * @param eventName\r\n * @param callback\r\n * @param context\r\n * @returns {(*|*)[]}\r\n */\r\n on (eventName, callback, context) {\r\n return (this.bindEvent(eventName, callback, 0, context))\r\n }\r\n\r\n /**\r\n * 取消监听\r\n * @param event\r\n * @returns {boolean}\r\n */\r\n un (event) {\r\n let [eventName, key, r, type, that] = ['', '', false, (typeof event), this]\r\n if (type === 'string') {\r\n if (Observable.hasOwnKey(this.Events, event)) {\r\n delete this.Events[event]\r\n return true\r\n }\r\n return false\r\n } else if (type === 'object') {\r\n eventName = event[0]\r\n key = event[1]\r\n if (Observable.hasOwnKey(this.Events, eventName) && Observable.hasOwnKey(this.Events[eventName], key)) {\r\n delete this.Events[eventName][key]\r\n return true\r\n }\r\n return false\r\n } else if (type === 'function') {\r\n that.eachEvent(that.Events, function (keyA, itemA) {\r\n that.eachEvent(itemA, function (keyB, itemB) {\r\n if (itemB[0] === event) {\r\n delete that.Events[keyA][keyB]\r\n r = true\r\n }\r\n })\r\n })\r\n return r\r\n }\r\n return true\r\n }\r\n\r\n /**\r\n * 事件监听(只触发一次)\r\n * @param eventName\r\n * @param callback\r\n * @param context\r\n * @returns {(*|*)[]}\r\n */\r\n once (eventName, callback, context) {\r\n return (this.bindEvent(eventName, callback, 1, context))\r\n }\r\n\r\n /**\r\n * 响应事件\r\n * @param eventName\r\n * @param args\r\n */\r\n action (eventName, args) {\r\n if (Observable.hasOwnKey(this.Events, eventName)) {\r\n this.eachEvent(this.Events[eventName], (key, item) => {\r\n item[0].apply(item[2], args)\r\n if (item[1]) {\r\n delete this.Events[eventName][key]\r\n }\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 实时触发响应\r\n * @param eventName\r\n */\r\n dispatch (eventName) {\r\n let that = this\r\n let args = Observable.slice(arguments, 1)\r\n setTimeout(function () {\r\n that.action(eventName, args)\r\n })\r\n }\r\n\r\n /**\r\n * 延后触发响应\r\n * @param eventName\r\n */\r\n dispatchSync (eventName) {\r\n this.action(eventName, Observable.slice(arguments, 1))\r\n }\r\n\r\n /**\r\n * 清空发布中心\r\n */\r\n clear () {\r\n this.Events = {}\r\n }\r\n\r\n /**\r\n * 绑定事件\r\n * @param eventName\r\n * @param callback\r\n * @param isOne\r\n * @param context\r\n * @returns {[*,*]}\r\n */\r\n bindEvent (eventName, callback, isOne, context) {\r\n if (typeof eventName !== 'string' || typeof callback !== 'function') {\r\n throw new Error('传入的事件名称和回调函数有误!')\r\n }\r\n if (!Observable.hasOwnKey(this.Events, eventName)) {\r\n this.Events[eventName] = {}\r\n }\r\n this.Events[eventName][++this.__cnt] = [callback, isOne, context]\r\n return [eventName, this.__cnt]\r\n }\r\n\r\n /**\r\n * 循环触发事件\r\n * @param obj\r\n * @param callback\r\n */\r\n eachEvent (obj, callback) {\r\n for (let key in obj) {\r\n if (Observable.hasOwnKey(obj, key)) {\r\n callback(key, obj[key])\r\n }\r\n }\r\n }\r\n static hasOwnKey = Function.call.bind(Object.hasOwnProperty)\r\n static slice = Function.call.bind(Array.prototype.slice)\r\n}\r\nexport default Observable\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/event/Observable.js","/**\r\n * Created by FDD on 2017/5/20.\r\n */\r\nexport default {\r\n /**\r\n * Generic change event. Triggered when the revision counter is increased.\r\n * @event ol.events.Event#change\r\n * @api\r\n */\r\n CHANGE: 'change',\r\n CLICK: 'click',\r\n DBLCLICK: 'dblclick',\r\n DRAGENTER: 'dragenter',\r\n DRAGOVER: 'dragover',\r\n DROP: 'drop',\r\n ERROR: 'error',\r\n KEYDOWN: 'keydown',\r\n KEYPRESS: 'keypress',\r\n LOAD: 'load',\r\n MOUSEDOWN: 'mousedown',\r\n MOUSEMOVE: 'mousemove',\r\n MOUSEOUT: 'mouseout',\r\n MOUSEUP: 'mouseup',\r\n MOUSEWHEEL: 'mousewheel',\r\n MSPOINTERDOWN: 'MSPointerDown',\r\n RESIZE: 'resize',\r\n TOUCHSTART: 'touchstart',\r\n TOUCHMOVE: 'touchmove',\r\n TOUCHEND: 'touchend',\r\n WHEEL: 'wheel'\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Event/EventType.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 粗单尖头箭头\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass FineArrow extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.FINE_ARROW\r\n this.tailWidthFactor = 0.1\r\n this.neckWidthFactor = 0.2\r\n this.headWidthFactor = 0.25\r\n this.headAngle = Math.PI / 8.5\r\n this.neckAngle = Math.PI / 13\r\n this.fixPointCount = 2\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let pnts = this.getPoints()\r\n let [pnt1, pnt2] = [pnts[0], pnts[1]]\r\n let len = PlotUtils.getBaseLength(pnts)\r\n let tailWidth = len * this.tailWidthFactor\r\n let neckWidth = len * this.neckWidthFactor\r\n let headWidth = len * this.headWidthFactor\r\n let tailLeft = PlotUtils.getThirdPoint(pnt2, pnt1, Constants.HALF_PI, tailWidth, true)\r\n let tailRight = PlotUtils.getThirdPoint(pnt2, pnt1, Constants.HALF_PI, tailWidth, false)\r\n let headLeft = PlotUtils.getThirdPoint(pnt1, pnt2, this.headAngle, headWidth, false)\r\n let headRight = PlotUtils.getThirdPoint(pnt1, pnt2, this.headAngle, headWidth, true)\r\n let neckLeft = PlotUtils.getThirdPoint(pnt1, pnt2, this.neckAngle, neckWidth, false)\r\n let neckRight = PlotUtils.getThirdPoint(pnt1, pnt2, this.neckAngle, neckWidth, true)\r\n let pList = [tailLeft, neckLeft, headLeft, pnt2, headRight, neckRight, tailRight]\r\n this.setCoordinates([pList])\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default FineArrow\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/FineArrow.js","import { ol } from '../constants'\r\nclass LayerSwitcher {\r\n constructor (map) {\r\n this.map = map || null\r\n if (!this.map) {\r\n throw new Error('缺少地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前底图(包含标注层)\r\n * @private\r\n */\r\n _getBaseLayers () {\r\n if (this.map) {\r\n this.baseLayers = []\r\n this.map.getLayers().getArray().forEach(layer => {\r\n if (layer && layer instanceof ol.layer.Group && layer.get('isBaseLayer')) {\r\n layer.getLayers().getArray().forEach(_layer => {\r\n if (_layer && _layer instanceof ol.layer.Tile && _layer.get('isBaseLayer')) {\r\n this.baseLayers.push(_layer)\r\n }\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 获取地图除标注层的layerNames\r\n * @returns {Array|*}\r\n */\r\n getBaseLayerNames () {\r\n this._getBaseLayers()\r\n this.baseLayerNames = []\r\n if (this.baseLayers && Array.isArray(this.baseLayers) && this.baseLayers.length > 0) {\r\n this.baseLayerNames = this.baseLayers.map(layer => {\r\n let layerName = ''\r\n if (layer.get('layerNames') && !layer.get('alias')) {\r\n layerName = layer.get('layerNames')\r\n }\r\n return layerName\r\n })\r\n }\r\n return this.baseLayerNames\r\n }\r\n\r\n /**\r\n * 图层切换\r\n * @param layerName\r\n */\r\n switchLayer (layerName) {\r\n this._getBaseLayers()\r\n this.baseLayers.forEach(layer => {\r\n if (layer.get('layerName') === layerName || layer.get('alias') === layerName) {\r\n layer.set('isDefault', true)\r\n layer.setVisible(true)\r\n } else {\r\n layer.set('isDefault', false)\r\n layer.setVisible(false)\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n * @returns {ol.Map}\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n return this.map\r\n }\r\n }\r\n\r\n /**\r\n * 获取地图对象\r\n * @returns {*|null|ol.Map}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n}\r\n\r\nexport default LayerSwitcher\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plugins/LayerSwitcher.js","var cof = require('./_cof');\nmodule.exports = function(it, msg){\n if(typeof it != 'number' && cof(it) != 'Number')throw TypeError(msg);\n return +it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_a-number-value.js\n// module id = 121\n// module chunks = 0","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){\n var O = toObject(this)\n , len = toLength(O.length)\n , to = toIndex(target, len)\n , from = toIndex(start, len)\n , end = arguments.length > 2 ? arguments[2] : undefined\n , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to)\n , inc = 1;\n if(from < to && to < from + count){\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while(count-- > 0){\n if(from in O)O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-copy-within.js\n// module id = 122\n// module chunks = 0","var forOf = require('./_for-of');\n\nmodule.exports = function(iter, ITERATOR){\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-from-iterable.js\n// module id = 123\n// module chunks = 0","var aFunction = require('./_a-function')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , toLength = require('./_to-length');\n\nmodule.exports = function(that, callbackfn, aLen, memo, isRight){\n aFunction(callbackfn);\n var O = toObject(that)\n , self = IObject(O)\n , length = toLength(O.length)\n , index = isRight ? length - 1 : 0\n , i = isRight ? -1 : 1;\n if(aLen < 2)for(;;){\n if(index in self){\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if(isRight ? index < 0 : length <= index){\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for(;isRight ? index >= 0 : length > index; index += i)if(index in self){\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-reduce.js\n// module id = 124\n// module chunks = 0","'use strict';\nvar aFunction = require('./_a-function')\n , isObject = require('./_is-object')\n , invoke = require('./_invoke')\n , arraySlice = [].slice\n , factories = {};\n\nvar construct = function(F, len, args){\n if(!(len in factories)){\n for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']';\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /*, args... */){\n var fn = aFunction(this)\n , partArgs = arraySlice.call(arguments, 1);\n var bound = function(/* args... */){\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if(isObject(fn.prototype))bound.prototype = fn.prototype;\n return bound;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_bind.js\n// module id = 125\n// module chunks = 0","'use strict';\nvar dP = require('./_object-dp').f\n , create = require('./_object-create')\n , redefineAll = require('./_redefine-all')\n , ctx = require('./_ctx')\n , anInstance = require('./_an-instance')\n , defined = require('./_defined')\n , forOf = require('./_for-of')\n , $iterDefine = require('./_iter-define')\n , step = require('./_iter-step')\n , setSpecies = require('./_set-species')\n , DESCRIPTORS = require('./_descriptors')\n , fastKey = require('./_meta').fastKey\n , SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function(that, key){\n // fast case\n var index = fastKey(key), entry;\n if(index !== 'F')return that._i[index];\n // frozen object case\n for(entry = that._f; entry; entry = entry.n){\n if(entry.k == key)return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear(){\n for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){\n entry.r = true;\n if(entry.p)entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function(key){\n var that = this\n , entry = getEntry(that, key);\n if(entry){\n var next = entry.n\n , prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if(prev)prev.n = next;\n if(next)next.p = prev;\n if(that._f == entry)that._f = next;\n if(that._l == entry)that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /*, that = undefined */){\n anInstance(this, C, 'forEach');\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3)\n , entry;\n while(entry = entry ? entry.n : this._f){\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key){\n return !!getEntry(this, key);\n }\n });\n if(DESCRIPTORS)dP(C.prototype, 'size', {\n get: function(){\n return defined(this[SIZE]);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var entry = getEntry(that, key)\n , prev, index;\n // change existing entry\n if(entry){\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if(!that._f)that._f = entry;\n if(prev)prev.n = entry;\n that[SIZE]++;\n // add to index\n if(index !== 'F')that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function(C, NAME, IS_MAP){\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function(iterated, kind){\n this._t = iterated; // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function(){\n var that = this\n , kind = that._k\n , entry = that._l;\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n // get next entry\n if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if(kind == 'keys' )return step(0, entry.k);\n if(kind == 'values')return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_collection-strong.js\n// module id = 126\n// module chunks = 0","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = require('./_classof')\n , from = require('./_array-from-iterable');\nmodule.exports = function(NAME){\n return function toJSON(){\n if(classof(this) != NAME)throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_collection-to-json.js\n// module id = 127\n// module chunks = 0","'use strict';\nvar redefineAll = require('./_redefine-all')\n , getWeak = require('./_meta').getWeak\n , anObject = require('./_an-object')\n , isObject = require('./_is-object')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , createArrayMethod = require('./_array-methods')\n , $has = require('./_has')\n , arrayFind = createArrayMethod(5)\n , arrayFindIndex = createArrayMethod(6)\n , id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function(that){\n return that._l || (that._l = new UncaughtFrozenStore);\n};\nvar UncaughtFrozenStore = function(){\n this.a = [];\n};\nvar findUncaughtFrozen = function(store, key){\n return arrayFind(store.a, function(it){\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function(key){\n var entry = findUncaughtFrozen(this, key);\n if(entry)return entry[1];\n },\n has: function(key){\n return !!findUncaughtFrozen(this, key);\n },\n set: function(key, value){\n var entry = findUncaughtFrozen(this, key);\n if(entry)entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function(key){\n var index = arrayFindIndex(this.a, function(it){\n return it[0] === key;\n });\n if(~index)this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this)['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var data = getWeak(anObject(key), true);\n if(data === true)uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_collection-weak.js\n// module id = 128\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_ie8-dom-define.js\n// module id = 129\n// module chunks = 0","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object')\n , floor = Math.floor;\nmodule.exports = function isInteger(it){\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-integer.js\n// module id = 130\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function(iterator, fn, value, entries){\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch(e){\n var ret = iterator['return'];\n if(ret !== undefined)anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-call.js\n// module id = 131\n// module chunks = 0","module.exports = function(done, value){\n return {value: value, done: !!done};\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-step.js\n// module id = 132\n// module chunks = 0","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x){\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_math-log1p.js\n// module id = 133\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function(){\n var A = {}\n , B = {}\n , S = Symbol()\n , K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function(k){ B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source){ // eslint-disable-line no-unused-vars\n var T = toObject(target)\n , aLen = arguments.length\n , index = 1\n , getSymbols = gOPS.f\n , isEnum = pIE.f;\n while(aLen > index){\n var S = IObject(arguments[index++])\n , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)\n , length = keys.length\n , j = 0\n , key;\n while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];\n } return T;\n} : $assign;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-assign.js\n// module id = 134\n// module chunks = 0","var dP = require('./_object-dp')\n , anObject = require('./_an-object')\n , getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n anObject(O);\n var keys = getKeys(Properties)\n , length = keys.length\n , i = 0\n , P;\n while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-dps.js\n// module id = 135\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject')\n , gOPN = require('./_object-gopn').f\n , toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function(it){\n try {\n return gOPN(it);\n } catch(e){\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it){\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gopn-ext.js\n// module id = 136\n// module chunks = 0","var has = require('./_has')\n , toIObject = require('./_to-iobject')\n , arrayIndexOf = require('./_array-includes')(false)\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n var O = toIObject(object)\n , i = 0\n , result = []\n , key;\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while(names.length > i)if(has(O, key = names[i++])){\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-keys-internal.js\n// module id = 137\n// module chunks = 0","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject')\n , isEnum = require('./_object-pie').f;\nmodule.exports = function(isEntries){\n return function(it){\n var O = toIObject(it)\n , keys = getKeys(O)\n , length = keys.length\n , i = 0\n , result = []\n , key;\n while(length > i)if(isEnum.call(O, key = keys[i++])){\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-to-array.js\n// module id = 138\n// module chunks = 0","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn')\n , gOPS = require('./_object-gops')\n , anObject = require('./_an-object')\n , Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it){\n var keys = gOPN.f(anObject(it))\n , getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_own-keys.js\n// module id = 139\n// module chunks = 0","var $parseFloat = require('./_global').parseFloat\n , $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str){\n var string = $trim(String(str), 3)\n , result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_parse-float.js\n// module id = 140\n// module chunks = 0","var $parseInt = require('./_global').parseInt\n , $trim = require('./_string-trim').trim\n , ws = require('./_string-ws')\n , hex = /^[\\-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix){\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_parse-int.js\n// module id = 141\n// module chunks = 0","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y){\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_same-value.js\n// module id = 142\n// module chunks = 0","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length')\n , repeat = require('./_string-repeat')\n , defined = require('./_defined');\n\nmodule.exports = function(that, maxLength, fillString, left){\n var S = String(defined(that))\n , stringLength = S.length\n , fillStr = fillString === undefined ? ' ' : String(fillString)\n , intMaxLength = toLength(maxLength);\n if(intMaxLength <= stringLength || fillStr == '')return S;\n var fillLen = intMaxLength - stringLength\n , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-pad.js\n// module id = 143\n// module chunks = 0","exports.f = require('./_wks');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_wks-ext.js\n// module id = 144\n// module chunks = 0","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')('Map', function(get){\n return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key){\n var entry = strong.getEntry(this, key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value){\n return strong.def(this, key === 0 ? 0 : key, value);\n }\n}, strong, true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.map.js\n// module id = 145\n// module chunks = 0","// 21.2.5.3 get RegExp.prototype.flags()\nif(require('./_descriptors') && /./g.flags != 'g')require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.flags.js\n// module id = 146\n// module chunks = 0","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')('Set', function(get){\n return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value){\n return strong.def(this, value = value === 0 ? 0 : value, value);\n }\n}, strong);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.set.js\n// module id = 147\n// module chunks = 0","'use strict';\nvar each = require('./_array-methods')(0)\n , redefine = require('./_redefine')\n , meta = require('./_meta')\n , assign = require('./_object-assign')\n , weak = require('./_collection-weak')\n , isObject = require('./_is-object')\n , getWeak = meta.getWeak\n , isExtensible = Object.isExtensible\n , uncaughtFrozenStore = weak.ufstore\n , tmp = {}\n , InternalMap;\n\nvar wrapper = function(get){\n return function WeakMap(){\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key){\n if(isObject(key)){\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value){\n return weak.def(this, key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')('WeakMap', wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){\n InternalMap = weak.getConstructor(wrapper);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function(key){\n var proto = $WeakMap.prototype\n , method = proto[key];\n redefine(proto, key, function(a, b){\n // store frozen objects on internal weakmap shim\n if(isObject(a) && !isExtensible(a)){\n if(!this._f)this._f = new InternalMap;\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.weak-map.js\n// module id = 148\n// module chunks = 0","\n\n\n/**\n * UTM zones are grouped, and assigned to one of a group of 6\n * sets.\n *\n * {int} @private\n */\nvar NUM_100K_SETS = 6;\n\n/**\n * The column letters (for easting) of the lower left value, per\n * set.\n *\n * {string} @private\n */\nvar SET_ORIGIN_COLUMN_LETTERS = 'AJSAJS';\n\n/**\n * The row letters (for northing) of the lower left value, per\n * set.\n *\n * {string} @private\n */\nvar SET_ORIGIN_ROW_LETTERS = 'AFAFAF';\n\nvar A = 65; // A\nvar I = 73; // I\nvar O = 79; // O\nvar V = 86; // V\nvar Z = 90; // Z\nexport default {\n forward: forward,\n inverse: inverse,\n toPoint: toPoint\n};\n/**\n * Conversion of lat/lon to MGRS.\n *\n * @param {object} ll Object literal with lat and lon properties on a\n * WGS84 ellipsoid.\n * @param {int} accuracy Accuracy in digits (5 for 1 m, 4 for 10 m, 3 for\n * 100 m, 2 for 1000 m or 1 for 10000 m). Optional, default is 5.\n * @return {string} the MGRS string for the given location and accuracy.\n */\nexport function forward(ll, accuracy) {\n accuracy = accuracy || 5; // default accuracy 1m\n return encode(LLtoUTM({\n lat: ll[1],\n lon: ll[0]\n }), accuracy);\n};\n\n/**\n * Conversion of MGRS to lat/lon.\n *\n * @param {string} mgrs MGRS string.\n * @return {array} An array with left (longitude), bottom (latitude), right\n * (longitude) and top (latitude) values in WGS84, representing the\n * bounding box for the provided MGRS reference.\n */\nexport function inverse(mgrs) {\n var bbox = UTMtoLL(decode(mgrs.toUpperCase()));\n if (bbox.lat && bbox.lon) {\n return [bbox.lon, bbox.lat, bbox.lon, bbox.lat];\n }\n return [bbox.left, bbox.bottom, bbox.right, bbox.top];\n};\n\nexport function toPoint(mgrs) {\n var bbox = UTMtoLL(decode(mgrs.toUpperCase()));\n if (bbox.lat && bbox.lon) {\n return [bbox.lon, bbox.lat];\n }\n return [(bbox.left + bbox.right) / 2, (bbox.top + bbox.bottom) / 2];\n};\n/**\n * Conversion from degrees to radians.\n *\n * @private\n * @param {number} deg the angle in degrees.\n * @return {number} the angle in radians.\n */\nfunction degToRad(deg) {\n return (deg * (Math.PI / 180.0));\n}\n\n/**\n * Conversion from radians to degrees.\n *\n * @private\n * @param {number} rad the angle in radians.\n * @return {number} the angle in degrees.\n */\nfunction radToDeg(rad) {\n return (180.0 * (rad / Math.PI));\n}\n\n/**\n * Converts a set of Longitude and Latitude co-ordinates to UTM\n * using the WGS84 ellipsoid.\n *\n * @private\n * @param {object} ll Object literal with lat and lon properties\n * representing the WGS84 coordinate to be converted.\n * @return {object} Object literal containing the UTM value with easting,\n * northing, zoneNumber and zoneLetter properties, and an optional\n * accuracy property in digits. Returns null if the conversion failed.\n */\nfunction LLtoUTM(ll) {\n var Lat = ll.lat;\n var Long = ll.lon;\n var a = 6378137.0; //ellip.radius;\n var eccSquared = 0.00669438; //ellip.eccsq;\n var k0 = 0.9996;\n var LongOrigin;\n var eccPrimeSquared;\n var N, T, C, A, M;\n var LatRad = degToRad(Lat);\n var LongRad = degToRad(Long);\n var LongOriginRad;\n var ZoneNumber;\n // (int)\n ZoneNumber = Math.floor((Long + 180) / 6) + 1;\n\n //Make sure the longitude 180.00 is in Zone 60\n if (Long === 180) {\n ZoneNumber = 60;\n }\n\n // Special zone for Norway\n if (Lat >= 56.0 && Lat < 64.0 && Long >= 3.0 && Long < 12.0) {\n ZoneNumber = 32;\n }\n\n // Special zones for Svalbard\n if (Lat >= 72.0 && Lat < 84.0) {\n if (Long >= 0.0 && Long < 9.0) {\n ZoneNumber = 31;\n }\n else if (Long >= 9.0 && Long < 21.0) {\n ZoneNumber = 33;\n }\n else if (Long >= 21.0 && Long < 33.0) {\n ZoneNumber = 35;\n }\n else if (Long >= 33.0 && Long < 42.0) {\n ZoneNumber = 37;\n }\n }\n\n LongOrigin = (ZoneNumber - 1) * 6 - 180 + 3; //+3 puts origin\n // in middle of\n // zone\n LongOriginRad = degToRad(LongOrigin);\n\n eccPrimeSquared = (eccSquared) / (1 - eccSquared);\n\n N = a / Math.sqrt(1 - eccSquared * Math.sin(LatRad) * Math.sin(LatRad));\n T = Math.tan(LatRad) * Math.tan(LatRad);\n C = eccPrimeSquared * Math.cos(LatRad) * Math.cos(LatRad);\n A = Math.cos(LatRad) * (LongRad - LongOriginRad);\n\n M = a * ((1 - eccSquared / 4 - 3 * eccSquared * eccSquared / 64 - 5 * eccSquared * eccSquared * eccSquared / 256) * LatRad - (3 * eccSquared / 8 + 3 * eccSquared * eccSquared / 32 + 45 * eccSquared * eccSquared * eccSquared / 1024) * Math.sin(2 * LatRad) + (15 * eccSquared * eccSquared / 256 + 45 * eccSquared * eccSquared * eccSquared / 1024) * Math.sin(4 * LatRad) - (35 * eccSquared * eccSquared * eccSquared / 3072) * Math.sin(6 * LatRad));\n\n var UTMEasting = (k0 * N * (A + (1 - T + C) * A * A * A / 6.0 + (5 - 18 * T + T * T + 72 * C - 58 * eccPrimeSquared) * A * A * A * A * A / 120.0) + 500000.0);\n\n var UTMNorthing = (k0 * (M + N * Math.tan(LatRad) * (A * A / 2 + (5 - T + 9 * C + 4 * C * C) * A * A * A * A / 24.0 + (61 - 58 * T + T * T + 600 * C - 330 * eccPrimeSquared) * A * A * A * A * A * A / 720.0)));\n if (Lat < 0.0) {\n UTMNorthing += 10000000.0; //10000000 meter offset for\n // southern hemisphere\n }\n\n return {\n northing: Math.round(UTMNorthing),\n easting: Math.round(UTMEasting),\n zoneNumber: ZoneNumber,\n zoneLetter: getLetterDesignator(Lat)\n };\n}\n\n/**\n * Converts UTM coords to lat/long, using the WGS84 ellipsoid. This is a convenience\n * class where the Zone can be specified as a single string eg.\"60N\" which\n * is then broken down into the ZoneNumber and ZoneLetter.\n *\n * @private\n * @param {object} utm An object literal with northing, easting, zoneNumber\n * and zoneLetter properties. If an optional accuracy property is\n * provided (in meters), a bounding box will be returned instead of\n * latitude and longitude.\n * @return {object} An object literal containing either lat and lon values\n * (if no accuracy was provided), or top, right, bottom and left values\n * for the bounding box calculated according to the provided accuracy.\n * Returns null if the conversion failed.\n */\nfunction UTMtoLL(utm) {\n\n var UTMNorthing = utm.northing;\n var UTMEasting = utm.easting;\n var zoneLetter = utm.zoneLetter;\n var zoneNumber = utm.zoneNumber;\n // check the ZoneNummber is valid\n if (zoneNumber < 0 || zoneNumber > 60) {\n return null;\n }\n\n var k0 = 0.9996;\n var a = 6378137.0; //ellip.radius;\n var eccSquared = 0.00669438; //ellip.eccsq;\n var eccPrimeSquared;\n var e1 = (1 - Math.sqrt(1 - eccSquared)) / (1 + Math.sqrt(1 - eccSquared));\n var N1, T1, C1, R1, D, M;\n var LongOrigin;\n var mu, phi1Rad;\n\n // remove 500,000 meter offset for longitude\n var x = UTMEasting - 500000.0;\n var y = UTMNorthing;\n\n // We must know somehow if we are in the Northern or Southern\n // hemisphere, this is the only time we use the letter So even\n // if the Zone letter isn't exactly correct it should indicate\n // the hemisphere correctly\n if (zoneLetter < 'N') {\n y -= 10000000.0; // remove 10,000,000 meter offset used\n // for southern hemisphere\n }\n\n // There are 60 zones with zone 1 being at West -180 to -174\n LongOrigin = (zoneNumber - 1) * 6 - 180 + 3; // +3 puts origin\n // in middle of\n // zone\n\n eccPrimeSquared = (eccSquared) / (1 - eccSquared);\n\n M = y / k0;\n mu = M / (a * (1 - eccSquared / 4 - 3 * eccSquared * eccSquared / 64 - 5 * eccSquared * eccSquared * eccSquared / 256));\n\n phi1Rad = mu + (3 * e1 / 2 - 27 * e1 * e1 * e1 / 32) * Math.sin(2 * mu) + (21 * e1 * e1 / 16 - 55 * e1 * e1 * e1 * e1 / 32) * Math.sin(4 * mu) + (151 * e1 * e1 * e1 / 96) * Math.sin(6 * mu);\n // double phi1 = ProjMath.radToDeg(phi1Rad);\n\n N1 = a / Math.sqrt(1 - eccSquared * Math.sin(phi1Rad) * Math.sin(phi1Rad));\n T1 = Math.tan(phi1Rad) * Math.tan(phi1Rad);\n C1 = eccPrimeSquared * Math.cos(phi1Rad) * Math.cos(phi1Rad);\n R1 = a * (1 - eccSquared) / Math.pow(1 - eccSquared * Math.sin(phi1Rad) * Math.sin(phi1Rad), 1.5);\n D = x / (N1 * k0);\n\n var lat = phi1Rad - (N1 * Math.tan(phi1Rad) / R1) * (D * D / 2 - (5 + 3 * T1 + 10 * C1 - 4 * C1 * C1 - 9 * eccPrimeSquared) * D * D * D * D / 24 + (61 + 90 * T1 + 298 * C1 + 45 * T1 * T1 - 252 * eccPrimeSquared - 3 * C1 * C1) * D * D * D * D * D * D / 720);\n lat = radToDeg(lat);\n\n var lon = (D - (1 + 2 * T1 + C1) * D * D * D / 6 + (5 - 2 * C1 + 28 * T1 - 3 * C1 * C1 + 8 * eccPrimeSquared + 24 * T1 * T1) * D * D * D * D * D / 120) / Math.cos(phi1Rad);\n lon = LongOrigin + radToDeg(lon);\n\n var result;\n if (utm.accuracy) {\n var topRight = UTMtoLL({\n northing: utm.northing + utm.accuracy,\n easting: utm.easting + utm.accuracy,\n zoneLetter: utm.zoneLetter,\n zoneNumber: utm.zoneNumber\n });\n result = {\n top: topRight.lat,\n right: topRight.lon,\n bottom: lat,\n left: lon\n };\n }\n else {\n result = {\n lat: lat,\n lon: lon\n };\n }\n return result;\n}\n\n/**\n * Calculates the MGRS letter designator for the given latitude.\n *\n * @private\n * @param {number} lat The latitude in WGS84 to get the letter designator\n * for.\n * @return {char} The letter designator.\n */\nfunction getLetterDesignator(lat) {\n //This is here as an error flag to show that the Latitude is\n //outside MGRS limits\n var LetterDesignator = 'Z';\n\n if ((84 >= lat) && (lat >= 72)) {\n LetterDesignator = 'X';\n }\n else if ((72 > lat) && (lat >= 64)) {\n LetterDesignator = 'W';\n }\n else if ((64 > lat) && (lat >= 56)) {\n LetterDesignator = 'V';\n }\n else if ((56 > lat) && (lat >= 48)) {\n LetterDesignator = 'U';\n }\n else if ((48 > lat) && (lat >= 40)) {\n LetterDesignator = 'T';\n }\n else if ((40 > lat) && (lat >= 32)) {\n LetterDesignator = 'S';\n }\n else if ((32 > lat) && (lat >= 24)) {\n LetterDesignator = 'R';\n }\n else if ((24 > lat) && (lat >= 16)) {\n LetterDesignator = 'Q';\n }\n else if ((16 > lat) && (lat >= 8)) {\n LetterDesignator = 'P';\n }\n else if ((8 > lat) && (lat >= 0)) {\n LetterDesignator = 'N';\n }\n else if ((0 > lat) && (lat >= -8)) {\n LetterDesignator = 'M';\n }\n else if ((-8 > lat) && (lat >= -16)) {\n LetterDesignator = 'L';\n }\n else if ((-16 > lat) && (lat >= -24)) {\n LetterDesignator = 'K';\n }\n else if ((-24 > lat) && (lat >= -32)) {\n LetterDesignator = 'J';\n }\n else if ((-32 > lat) && (lat >= -40)) {\n LetterDesignator = 'H';\n }\n else if ((-40 > lat) && (lat >= -48)) {\n LetterDesignator = 'G';\n }\n else if ((-48 > lat) && (lat >= -56)) {\n LetterDesignator = 'F';\n }\n else if ((-56 > lat) && (lat >= -64)) {\n LetterDesignator = 'E';\n }\n else if ((-64 > lat) && (lat >= -72)) {\n LetterDesignator = 'D';\n }\n else if ((-72 > lat) && (lat >= -80)) {\n LetterDesignator = 'C';\n }\n return LetterDesignator;\n}\n\n/**\n * Encodes a UTM location as MGRS string.\n *\n * @private\n * @param {object} utm An object literal with easting, northing,\n * zoneLetter, zoneNumber\n * @param {number} accuracy Accuracy in digits (1-5).\n * @return {string} MGRS string for the given UTM location.\n */\nfunction encode(utm, accuracy) {\n // prepend with leading zeroes\n var seasting = \"00000\" + utm.easting,\n snorthing = \"00000\" + utm.northing;\n\n return utm.zoneNumber + utm.zoneLetter + get100kID(utm.easting, utm.northing, utm.zoneNumber) + seasting.substr(seasting.length - 5, accuracy) + snorthing.substr(snorthing.length - 5, accuracy);\n}\n\n/**\n * Get the two letter 100k designator for a given UTM easting,\n * northing and zone number value.\n *\n * @private\n * @param {number} easting\n * @param {number} northing\n * @param {number} zoneNumber\n * @return the two letter 100k designator for the given UTM location.\n */\nfunction get100kID(easting, northing, zoneNumber) {\n var setParm = get100kSetForZone(zoneNumber);\n var setColumn = Math.floor(easting / 100000);\n var setRow = Math.floor(northing / 100000) % 20;\n return getLetter100kID(setColumn, setRow, setParm);\n}\n\n/**\n * Given a UTM zone number, figure out the MGRS 100K set it is in.\n *\n * @private\n * @param {number} i An UTM zone number.\n * @return {number} the 100k set the UTM zone is in.\n */\nfunction get100kSetForZone(i) {\n var setParm = i % NUM_100K_SETS;\n if (setParm === 0) {\n setParm = NUM_100K_SETS;\n }\n\n return setParm;\n}\n\n/**\n * Get the two-letter MGRS 100k designator given information\n * translated from the UTM northing, easting and zone number.\n *\n * @private\n * @param {number} column the column index as it relates to the MGRS\n * 100k set spreadsheet, created from the UTM easting.\n * Values are 1-8.\n * @param {number} row the row index as it relates to the MGRS 100k set\n * spreadsheet, created from the UTM northing value. Values\n * are from 0-19.\n * @param {number} parm the set block, as it relates to the MGRS 100k set\n * spreadsheet, created from the UTM zone. Values are from\n * 1-60.\n * @return two letter MGRS 100k code.\n */\nfunction getLetter100kID(column, row, parm) {\n // colOrigin and rowOrigin are the letters at the origin of the set\n var index = parm - 1;\n var colOrigin = SET_ORIGIN_COLUMN_LETTERS.charCodeAt(index);\n var rowOrigin = SET_ORIGIN_ROW_LETTERS.charCodeAt(index);\n\n // colInt and rowInt are the letters to build to return\n var colInt = colOrigin + column - 1;\n var rowInt = rowOrigin + row;\n var rollover = false;\n\n if (colInt > Z) {\n colInt = colInt - Z + A - 1;\n rollover = true;\n }\n\n if (colInt === I || (colOrigin < I && colInt > I) || ((colInt > I || colOrigin < I) && rollover)) {\n colInt++;\n }\n\n if (colInt === O || (colOrigin < O && colInt > O) || ((colInt > O || colOrigin < O) && rollover)) {\n colInt++;\n\n if (colInt === I) {\n colInt++;\n }\n }\n\n if (colInt > Z) {\n colInt = colInt - Z + A - 1;\n }\n\n if (rowInt > V) {\n rowInt = rowInt - V + A - 1;\n rollover = true;\n }\n else {\n rollover = false;\n }\n\n if (((rowInt === I) || ((rowOrigin < I) && (rowInt > I))) || (((rowInt > I) || (rowOrigin < I)) && rollover)) {\n rowInt++;\n }\n\n if (((rowInt === O) || ((rowOrigin < O) && (rowInt > O))) || (((rowInt > O) || (rowOrigin < O)) && rollover)) {\n rowInt++;\n\n if (rowInt === I) {\n rowInt++;\n }\n }\n\n if (rowInt > V) {\n rowInt = rowInt - V + A - 1;\n }\n\n var twoLetter = String.fromCharCode(colInt) + String.fromCharCode(rowInt);\n return twoLetter;\n}\n\n/**\n * Decode the UTM parameters from a MGRS string.\n *\n * @private\n * @param {string} mgrsString an UPPERCASE coordinate string is expected.\n * @return {object} An object literal with easting, northing, zoneLetter,\n * zoneNumber and accuracy (in meters) properties.\n */\nfunction decode(mgrsString) {\n\n if (mgrsString && mgrsString.length === 0) {\n throw (\"MGRSPoint coverting from nothing\");\n }\n\n var length = mgrsString.length;\n\n var hunK = null;\n var sb = \"\";\n var testChar;\n var i = 0;\n\n // get Zone number\n while (!(/[A-Z]/).test(testChar = mgrsString.charAt(i))) {\n if (i >= 2) {\n throw (\"MGRSPoint bad conversion from: \" + mgrsString);\n }\n sb += testChar;\n i++;\n }\n\n var zoneNumber = parseInt(sb, 10);\n\n if (i === 0 || i + 3 > length) {\n // A good MGRS string has to be 4-5 digits long,\n // ##AAA/#AAA at least.\n throw (\"MGRSPoint bad conversion from: \" + mgrsString);\n }\n\n var zoneLetter = mgrsString.charAt(i++);\n\n // Should we check the zone letter here? Why not.\n if (zoneLetter <= 'A' || zoneLetter === 'B' || zoneLetter === 'Y' || zoneLetter >= 'Z' || zoneLetter === 'I' || zoneLetter === 'O') {\n throw (\"MGRSPoint zone letter \" + zoneLetter + \" not handled: \" + mgrsString);\n }\n\n hunK = mgrsString.substring(i, i += 2);\n\n var set = get100kSetForZone(zoneNumber);\n\n var east100k = getEastingFromChar(hunK.charAt(0), set);\n var north100k = getNorthingFromChar(hunK.charAt(1), set);\n\n // We have a bug where the northing may be 2000000 too low.\n // How\n // do we know when to roll over?\n\n while (north100k < getMinNorthing(zoneLetter)) {\n north100k += 2000000;\n }\n\n // calculate the char index for easting/northing separator\n var remainder = length - i;\n\n if (remainder % 2 !== 0) {\n throw (\"MGRSPoint has to have an even number \\nof digits after the zone letter and two 100km letters - front \\nhalf for easting meters, second half for \\nnorthing meters\" + mgrsString);\n }\n\n var sep = remainder / 2;\n\n var sepEasting = 0.0;\n var sepNorthing = 0.0;\n var accuracyBonus, sepEastingString, sepNorthingString, easting, northing;\n if (sep > 0) {\n accuracyBonus = 100000.0 / Math.pow(10, sep);\n sepEastingString = mgrsString.substring(i, i + sep);\n sepEasting = parseFloat(sepEastingString) * accuracyBonus;\n sepNorthingString = mgrsString.substring(i + sep);\n sepNorthing = parseFloat(sepNorthingString) * accuracyBonus;\n }\n\n easting = sepEasting + east100k;\n northing = sepNorthing + north100k;\n\n return {\n easting: easting,\n northing: northing,\n zoneLetter: zoneLetter,\n zoneNumber: zoneNumber,\n accuracy: accuracyBonus\n };\n}\n\n/**\n * Given the first letter from a two-letter MGRS 100k zone, and given the\n * MGRS table set for the zone number, figure out the easting value that\n * should be added to the other, secondary easting value.\n *\n * @private\n * @param {char} e The first letter from a two-letter MGRS 100´k zone.\n * @param {number} set The MGRS table set for the zone number.\n * @return {number} The easting value for the given letter and set.\n */\nfunction getEastingFromChar(e, set) {\n // colOrigin is the letter at the origin of the set for the\n // column\n var curCol = SET_ORIGIN_COLUMN_LETTERS.charCodeAt(set - 1);\n var eastingValue = 100000.0;\n var rewindMarker = false;\n\n while (curCol !== e.charCodeAt(0)) {\n curCol++;\n if (curCol === I) {\n curCol++;\n }\n if (curCol === O) {\n curCol++;\n }\n if (curCol > Z) {\n if (rewindMarker) {\n throw (\"Bad character: \" + e);\n }\n curCol = A;\n rewindMarker = true;\n }\n eastingValue += 100000.0;\n }\n\n return eastingValue;\n}\n\n/**\n * Given the second letter from a two-letter MGRS 100k zone, and given the\n * MGRS table set for the zone number, figure out the northing value that\n * should be added to the other, secondary northing value. You have to\n * remember that Northings are determined from the equator, and the vertical\n * cycle of letters mean a 2000000 additional northing meters. This happens\n * approx. every 18 degrees of latitude. This method does *NOT* count any\n * additional northings. You have to figure out how many 2000000 meters need\n * to be added for the zone letter of the MGRS coordinate.\n *\n * @private\n * @param {char} n Second letter of the MGRS 100k zone\n * @param {number} set The MGRS table set number, which is dependent on the\n * UTM zone number.\n * @return {number} The northing value for the given letter and set.\n */\nfunction getNorthingFromChar(n, set) {\n\n if (n > 'V') {\n throw (\"MGRSPoint given invalid Northing \" + n);\n }\n\n // rowOrigin is the letter at the origin of the set for the\n // column\n var curRow = SET_ORIGIN_ROW_LETTERS.charCodeAt(set - 1);\n var northingValue = 0.0;\n var rewindMarker = false;\n\n while (curRow !== n.charCodeAt(0)) {\n curRow++;\n if (curRow === I) {\n curRow++;\n }\n if (curRow === O) {\n curRow++;\n }\n // fixing a bug making whole application hang in this loop\n // when 'n' is a wrong character\n if (curRow > V) {\n if (rewindMarker) { // making sure that this loop ends\n throw (\"Bad character: \" + n);\n }\n curRow = A;\n rewindMarker = true;\n }\n northingValue += 100000.0;\n }\n\n return northingValue;\n}\n\n/**\n * The function getMinNorthing returns the minimum northing value of a MGRS\n * zone.\n *\n * Ported from Geotrans' c Lattitude_Band_Value structure table.\n *\n * @private\n * @param {char} zoneLetter The MGRS zone to get the min northing for.\n * @return {number}\n */\nfunction getMinNorthing(zoneLetter) {\n var northing;\n switch (zoneLetter) {\n case 'C':\n northing = 1100000.0;\n break;\n case 'D':\n northing = 2000000.0;\n break;\n case 'E':\n northing = 2800000.0;\n break;\n case 'F':\n northing = 3700000.0;\n break;\n case 'G':\n northing = 4600000.0;\n break;\n case 'H':\n northing = 5500000.0;\n break;\n case 'J':\n northing = 6400000.0;\n break;\n case 'K':\n northing = 7300000.0;\n break;\n case 'L':\n northing = 8200000.0;\n break;\n case 'M':\n northing = 9100000.0;\n break;\n case 'N':\n northing = 0.0;\n break;\n case 'P':\n northing = 800000.0;\n break;\n case 'Q':\n northing = 1700000.0;\n break;\n case 'R':\n northing = 2600000.0;\n break;\n case 'S':\n northing = 3500000.0;\n break;\n case 'T':\n northing = 4400000.0;\n break;\n case 'U':\n northing = 5300000.0;\n break;\n case 'V':\n northing = 6200000.0;\n break;\n case 'W':\n northing = 7000000.0;\n break;\n case 'X':\n northing = 7900000.0;\n break;\n default:\n northing = -1.0;\n }\n if (northing >= 0.0) {\n return northing;\n }\n else {\n throw (\"Invalid zone letter: \" + zoneLetter);\n }\n\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mgrs/mgrs.js\n// module id = 149\n// module chunks = 0","export default function(x, y) {\n x = Math.abs(x);\n y = Math.abs(y);\n var a = Math.max(x, y);\n var b = Math.min(x, y) / (a ? a : 1);\n\n return a * Math.sqrt(1 + Math.pow(b, 2));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/hypot.js\n// module id = 150\n// module chunks = 0","var C00 = 1;\nvar C02 = 0.25;\nvar C04 = 0.046875;\nvar C06 = 0.01953125;\nvar C08 = 0.01068115234375;\nvar C22 = 0.75;\nvar C44 = 0.46875;\nvar C46 = 0.01302083333333333333;\nvar C48 = 0.00712076822916666666;\nvar C66 = 0.36458333333333333333;\nvar C68 = 0.00569661458333333333;\nvar C88 = 0.3076171875;\n\nexport default function(es) {\n var en = [];\n en[0] = C00 - es * (C02 + es * (C04 + es * (C06 + es * C08)));\n en[1] = es * (C22 - es * (C04 + es * (C06 + es * C08)));\n var t = es * es;\n en[2] = t * (C44 - es * (C46 + es * C48));\n t *= es;\n en[3] = t * (C66 - es * C68);\n en[4] = t * es * C88;\n return en;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/pj_enfn.js\n// module id = 151\n// module chunks = 0","import pj_mlfn from \"./pj_mlfn\";\nimport {EPSLN} from '../constants/values';\n\nvar MAX_ITER = 20;\n\nexport default function(arg, es, en) {\n var k = 1 / (1 - es);\n var phi = arg;\n for (var i = MAX_ITER; i; --i) { /* rarely goes over 2 iterations */\n var s = Math.sin(phi);\n var t = 1 - es * s * s;\n //t = this.pj_mlfn(phi, s, Math.cos(phi), en) - arg;\n //phi -= t * (t * Math.sqrt(t)) * k;\n t = (pj_mlfn(phi, s, Math.cos(phi), en) - arg) * (t * Math.sqrt(t)) * k;\n phi -= t;\n if (Math.abs(t) < EPSLN) {\n return phi;\n }\n }\n //..reportError(\"cass:pj_inv_mlfn: Convergence error\");\n return phi;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/pj_inv_mlfn.js\n// module id = 152\n// module chunks = 0","export default function(x) {\n var r = Math.exp(x);\n r = (r - 1 / r) / 2;\n return r;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/sinh.js\n// module id = 153\n// module chunks = 0","export default function (array){\n var out = {\n x: array[0],\n y: array[1]\n };\n if (array.length>2) {\n out.z = array[2];\n }\n if (array.length>3) {\n out.m = array[3];\n }\n return out;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/toPoint.js\n// module id = 154\n// module chunks = 0","import globals from './global';\nimport parseProj from './projString';\nimport wkt from 'wkt-parser';\n\nfunction defs(name) {\n /*global console*/\n var that = this;\n if (arguments.length === 2) {\n var def = arguments[1];\n if (typeof def === 'string') {\n if (def.charAt(0) === '+') {\n defs[name] = parseProj(arguments[1]);\n }\n else {\n defs[name] = wkt(arguments[1]);\n }\n } else {\n defs[name] = def;\n }\n }\n else if (arguments.length === 1) {\n if (Array.isArray(name)) {\n return name.map(function(v) {\n if (Array.isArray(v)) {\n defs.apply(that, v);\n }\n else {\n defs(v);\n }\n });\n }\n else if (typeof name === 'string') {\n if (name in defs) {\n return defs[name];\n }\n }\n else if ('EPSG' in name) {\n defs['EPSG:' + name.EPSG] = name;\n }\n else if ('ESRI' in name) {\n defs['ESRI:' + name.ESRI] = name;\n }\n else if ('IAU2000' in name) {\n defs['IAU2000:' + name.IAU2000] = name;\n }\n else {\n console.log(name);\n }\n return;\n }\n\n\n}\nglobals(defs);\nexport default defs;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/defs.js\n// module id = 155\n// module chunks = 0","import {D2R} from './constants/values';\nimport PrimeMeridian from './constants/PrimeMeridian';\nimport units from './constants/units';\nimport match from './match';\n\nexport default function(defData) {\n var self = {};\n var paramObj = defData.split('+').map(function(v) {\n return v.trim();\n }).filter(function(a) {\n return a;\n }).reduce(function(p, a) {\n var split = a.split('=');\n split.push(true);\n p[split[0].toLowerCase()] = split[1];\n return p;\n }, {});\n var paramName, paramVal, paramOutname;\n var params = {\n proj: 'projName',\n datum: 'datumCode',\n rf: function(v) {\n self.rf = parseFloat(v);\n },\n lat_0: function(v) {\n self.lat0 = v * D2R;\n },\n lat_1: function(v) {\n self.lat1 = v * D2R;\n },\n lat_2: function(v) {\n self.lat2 = v * D2R;\n },\n lat_ts: function(v) {\n self.lat_ts = v * D2R;\n },\n lon_0: function(v) {\n self.long0 = v * D2R;\n },\n lon_1: function(v) {\n self.long1 = v * D2R;\n },\n lon_2: function(v) {\n self.long2 = v * D2R;\n },\n alpha: function(v) {\n self.alpha = parseFloat(v) * D2R;\n },\n lonc: function(v) {\n self.longc = v * D2R;\n },\n x_0: function(v) {\n self.x0 = parseFloat(v);\n },\n y_0: function(v) {\n self.y0 = parseFloat(v);\n },\n k_0: function(v) {\n self.k0 = parseFloat(v);\n },\n k: function(v) {\n self.k0 = parseFloat(v);\n },\n a: function(v) {\n self.a = parseFloat(v);\n },\n b: function(v) {\n self.b = parseFloat(v);\n },\n r_a: function() {\n self.R_A = true;\n },\n zone: function(v) {\n self.zone = parseInt(v, 10);\n },\n south: function() {\n self.utmSouth = true;\n },\n towgs84: function(v) {\n self.datum_params = v.split(\",\").map(function(a) {\n return parseFloat(a);\n });\n },\n to_meter: function(v) {\n self.to_meter = parseFloat(v);\n },\n units: function(v) {\n self.units = v;\n var unit = match(units, v);\n if (unit) {\n self.to_meter = unit.to_meter;\n }\n },\n from_greenwich: function(v) {\n self.from_greenwich = v * D2R;\n },\n pm: function(v) {\n var pm = match(PrimeMeridian, v);\n self.from_greenwich = (pm ? pm : parseFloat(v)) * D2R;\n },\n nadgrids: function(v) {\n if (v === '@null') {\n self.datumCode = 'none';\n }\n else {\n self.nadgrids = v;\n }\n },\n axis: function(v) {\n var legalAxis = \"ewnsud\";\n if (v.length === 3 && legalAxis.indexOf(v.substr(0, 1)) !== -1 && legalAxis.indexOf(v.substr(1, 1)) !== -1 && legalAxis.indexOf(v.substr(2, 1)) !== -1) {\n self.axis = v;\n }\n }\n };\n for (paramName in paramObj) {\n paramVal = paramObj[paramName];\n if (paramName in params) {\n paramOutname = params[paramName];\n if (typeof paramOutname === 'function') {\n paramOutname(paramVal);\n }\n else {\n self[paramOutname] = paramVal;\n }\n }\n else {\n self[paramName] = paramVal;\n }\n }\n if(typeof self.datumCode === 'string' && self.datumCode !== \"WGS84\"){\n self.datumCode = self.datumCode.toLowerCase();\n }\n return self;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projString.js\n// module id = 156\n// module chunks = 0","// Heavily based on this etmerc projection implementation\n// https://github.com/mbloch/mapshaper-proj/blob/master/src/projections/etmerc.js\n\nimport sinh from '../common/sinh';\nimport hypot from '../common/hypot';\nimport asinhy from '../common/asinhy';\nimport gatg from '../common/gatg';\nimport clens from '../common/clens';\nimport clens_cmplx from '../common/clens_cmplx';\nimport adjust_lon from '../common/adjust_lon';\n\nexport function init() {\n if (this.es === undefined || this.es <= 0) {\n throw new Error('incorrect elliptical usage');\n }\n\n this.x0 = this.x0 !== undefined ? this.x0 : 0;\n this.y0 = this.y0 !== undefined ? this.y0 : 0;\n this.long0 = this.long0 !== undefined ? this.long0 : 0;\n this.lat0 = this.lat0 !== undefined ? this.lat0 : 0;\n\n this.cgb = [];\n this.cbg = [];\n this.utg = [];\n this.gtu = [];\n\n var f = this.es / (1 + Math.sqrt(1 - this.es));\n var n = f / (2 - f);\n var np = n;\n\n this.cgb[0] = n * (2 + n * (-2 / 3 + n * (-2 + n * (116 / 45 + n * (26 / 45 + n * (-2854 / 675 ))))));\n this.cbg[0] = n * (-2 + n * ( 2 / 3 + n * ( 4 / 3 + n * (-82 / 45 + n * (32 / 45 + n * (4642 / 4725))))));\n\n np = np * n;\n this.cgb[1] = np * (7 / 3 + n * (-8 / 5 + n * (-227 / 45 + n * (2704 / 315 + n * (2323 / 945)))));\n this.cbg[1] = np * (5 / 3 + n * (-16 / 15 + n * ( -13 / 9 + n * (904 / 315 + n * (-1522 / 945)))));\n\n np = np * n;\n this.cgb[2] = np * (56 / 15 + n * (-136 / 35 + n * (-1262 / 105 + n * (73814 / 2835))));\n this.cbg[2] = np * (-26 / 15 + n * (34 / 21 + n * (8 / 5 + n * (-12686 / 2835))));\n\n np = np * n;\n this.cgb[3] = np * (4279 / 630 + n * (-332 / 35 + n * (-399572 / 14175)));\n this.cbg[3] = np * (1237 / 630 + n * (-12 / 5 + n * ( -24832 / 14175)));\n\n np = np * n;\n this.cgb[4] = np * (4174 / 315 + n * (-144838 / 6237));\n this.cbg[4] = np * (-734 / 315 + n * (109598 / 31185));\n\n np = np * n;\n this.cgb[5] = np * (601676 / 22275);\n this.cbg[5] = np * (444337 / 155925);\n\n np = Math.pow(n, 2);\n this.Qn = this.k0 / (1 + n) * (1 + np * (1 / 4 + np * (1 / 64 + np / 256)));\n\n this.utg[0] = n * (-0.5 + n * ( 2 / 3 + n * (-37 / 96 + n * ( 1 / 360 + n * (81 / 512 + n * (-96199 / 604800))))));\n this.gtu[0] = n * (0.5 + n * (-2 / 3 + n * (5 / 16 + n * (41 / 180 + n * (-127 / 288 + n * (7891 / 37800))))));\n\n this.utg[1] = np * (-1 / 48 + n * (-1 / 15 + n * (437 / 1440 + n * (-46 / 105 + n * (1118711 / 3870720)))));\n this.gtu[1] = np * (13 / 48 + n * (-3 / 5 + n * (557 / 1440 + n * (281 / 630 + n * (-1983433 / 1935360)))));\n\n np = np * n;\n this.utg[2] = np * (-17 / 480 + n * (37 / 840 + n * (209 / 4480 + n * (-5569 / 90720 ))));\n this.gtu[2] = np * (61 / 240 + n * (-103 / 140 + n * (15061 / 26880 + n * (167603 / 181440))));\n\n np = np * n;\n this.utg[3] = np * (-4397 / 161280 + n * (11 / 504 + n * (830251 / 7257600)));\n this.gtu[3] = np * (49561 / 161280 + n * (-179 / 168 + n * (6601661 / 7257600)));\n\n np = np * n;\n this.utg[4] = np * (-4583 / 161280 + n * (108847 / 3991680));\n this.gtu[4] = np * (34729 / 80640 + n * (-3418889 / 1995840));\n\n np = np * n;\n this.utg[5] = np * (-20648693 / 638668800);\n this.gtu[5] = np * (212378941 / 319334400);\n\n var Z = gatg(this.cbg, this.lat0);\n this.Zb = -this.Qn * (Z + clens(this.gtu, 2 * Z));\n}\n\nexport function forward(p) {\n var Ce = adjust_lon(p.x - this.long0);\n var Cn = p.y;\n\n Cn = gatg(this.cbg, Cn);\n var sin_Cn = Math.sin(Cn);\n var cos_Cn = Math.cos(Cn);\n var sin_Ce = Math.sin(Ce);\n var cos_Ce = Math.cos(Ce);\n\n Cn = Math.atan2(sin_Cn, cos_Ce * cos_Cn);\n Ce = Math.atan2(sin_Ce * cos_Cn, hypot(sin_Cn, cos_Cn * cos_Ce));\n Ce = asinhy(Math.tan(Ce));\n\n var tmp = clens_cmplx(this.gtu, 2 * Cn, 2 * Ce);\n\n Cn = Cn + tmp[0];\n Ce = Ce + tmp[1];\n\n var x;\n var y;\n\n if (Math.abs(Ce) <= 2.623395162778) {\n x = this.a * (this.Qn * Ce) + this.x0;\n y = this.a * (this.Qn * Cn + this.Zb) + this.y0;\n }\n else {\n x = Infinity;\n y = Infinity;\n }\n\n p.x = x;\n p.y = y;\n\n return p;\n}\n\nexport function inverse(p) {\n var Ce = (p.x - this.x0) * (1 / this.a);\n var Cn = (p.y - this.y0) * (1 / this.a);\n\n Cn = (Cn - this.Zb) / this.Qn;\n Ce = Ce / this.Qn;\n\n var lon;\n var lat;\n\n if (Math.abs(Ce) <= 2.623395162778) {\n var tmp = clens_cmplx(this.utg, 2 * Cn, 2 * Ce);\n\n Cn = Cn + tmp[0];\n Ce = Ce + tmp[1];\n Ce = Math.atan(sinh(Ce));\n\n var sin_Cn = Math.sin(Cn);\n var cos_Cn = Math.cos(Cn);\n var sin_Ce = Math.sin(Ce);\n var cos_Ce = Math.cos(Ce);\n\n Cn = Math.atan2(sin_Cn * cos_Ce, hypot(sin_Ce, cos_Ce * cos_Cn));\n Ce = Math.atan2(sin_Ce, cos_Ce * cos_Cn);\n\n lon = adjust_lon(Ce + this.long0);\n lat = gatg(this.cgb, Cn);\n }\n else {\n lon = Infinity;\n lat = Infinity;\n }\n\n p.x = lon;\n p.y = lat;\n\n return p;\n}\n\nexport var names = [\"Extended_Transverse_Mercator\", \"Extended Transverse Mercator\", \"etmerc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/etmerc.js\n// module id = 157\n// module chunks = 0","import {D2R, R2D, PJD_3PARAM, PJD_7PARAM} from './constants/values';\nimport datum_transform from './datum_transform';\nimport adjust_axis from './adjust_axis';\nimport proj from './Proj';\nimport toPoint from './common/toPoint';\nfunction checkNotWGS(source, dest) {\n return ((source.datum.datum_type === PJD_3PARAM || source.datum.datum_type === PJD_7PARAM) && dest.datumCode !== 'WGS84') || ((dest.datum.datum_type === PJD_3PARAM || dest.datum.datum_type === PJD_7PARAM) && source.datumCode !== 'WGS84');\n}\n\nexport default function transform(source, dest, point) {\n var wgs84;\n if (Array.isArray(point)) {\n point = toPoint(point);\n }\n\n // Workaround for datum shifts towgs84, if either source or destination projection is not wgs84\n if (source.datum && dest.datum && checkNotWGS(source, dest)) {\n wgs84 = new proj('WGS84');\n point = transform(source, wgs84, point);\n source = wgs84;\n }\n // DGR, 2010/11/12\n if (source.axis !== 'enu') {\n point = adjust_axis(source, false, point);\n }\n // Transform source points to long/lat, if they aren't already.\n if (source.projName === 'longlat') {\n point = {\n x: point.x * D2R,\n y: point.y * D2R\n };\n }\n else {\n if (source.to_meter) {\n point = {\n x: point.x * source.to_meter,\n y: point.y * source.to_meter\n };\n }\n point = source.inverse(point); // Convert Cartesian to longlat\n }\n // Adjust for the prime meridian if necessary\n if (source.from_greenwich) {\n point.x += source.from_greenwich;\n }\n\n // Convert datums if needed, and if possible.\n point = datum_transform(source.datum, dest.datum, point);\n\n // Adjust for the prime meridian if necessary\n if (dest.from_greenwich) {\n point = {\n x: point.x - dest.from_greenwich,\n y: point.y\n };\n }\n\n if (dest.projName === 'longlat') {\n // convert radians to decimal degrees\n point = {\n x: point.x * R2D,\n y: point.y * R2D\n };\n } else { // else project\n point = dest.forward(point);\n if (dest.to_meter) {\n point = {\n x: point.x / dest.to_meter,\n y: point.y / dest.to_meter\n };\n }\n }\n\n // DGR, 2010/11/12\n if (dest.axis !== 'enu') {\n return adjust_axis(dest, true, point);\n }\n\n return point;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/transform.js\n// module id = 158\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 159\n// module chunks = 0","var D2R = 0.01745329251994329577;\nimport parser from './parser';\nimport {sExpr} from './process';\n\n\n\nfunction rename(obj, params) {\n var outName = params[0];\n var inName = params[1];\n if (!(outName in obj) && (inName in obj)) {\n obj[outName] = obj[inName];\n if (params.length === 3) {\n obj[outName] = params[2](obj[outName]);\n }\n }\n}\n\nfunction d2r(input) {\n return input * D2R;\n}\n\nfunction cleanWKT(wkt) {\n if (wkt.type === 'GEOGCS') {\n wkt.projName = 'longlat';\n } else if (wkt.type === 'LOCAL_CS') {\n wkt.projName = 'identity';\n wkt.local = true;\n } else {\n if (typeof wkt.PROJECTION === 'object') {\n wkt.projName = Object.keys(wkt.PROJECTION)[0];\n } else {\n wkt.projName = wkt.PROJECTION;\n }\n }\n if (wkt.UNIT) {\n wkt.units = wkt.UNIT.name.toLowerCase();\n if (wkt.units === 'metre') {\n wkt.units = 'meter';\n }\n if (wkt.UNIT.convert) {\n if (wkt.type === 'GEOGCS') {\n if (wkt.DATUM && wkt.DATUM.SPHEROID) {\n wkt.to_meter = wkt.UNIT.convert*wkt.DATUM.SPHEROID.a;\n }\n } else {\n wkt.to_meter = wkt.UNIT.convert, 10;\n }\n }\n }\n var geogcs = wkt.GEOGCS;\n if (wkt.type === 'GEOGCS') {\n geogcs = wkt;\n }\n if (geogcs) {\n //if(wkt.GEOGCS.PRIMEM&&wkt.GEOGCS.PRIMEM.convert){\n // wkt.from_greenwich=wkt.GEOGCS.PRIMEM.convert*D2R;\n //}\n if (geogcs.DATUM) {\n wkt.datumCode = geogcs.DATUM.name.toLowerCase();\n } else {\n wkt.datumCode = geogcs.name.toLowerCase();\n }\n if (wkt.datumCode.slice(0, 2) === 'd_') {\n wkt.datumCode = wkt.datumCode.slice(2);\n }\n if (wkt.datumCode === 'new_zealand_geodetic_datum_1949' || wkt.datumCode === 'new_zealand_1949') {\n wkt.datumCode = 'nzgd49';\n }\n if (wkt.datumCode === 'wgs_1984') {\n if (wkt.PROJECTION === 'Mercator_Auxiliary_Sphere') {\n wkt.sphere = true;\n }\n wkt.datumCode = 'wgs84';\n }\n if (wkt.datumCode.slice(-6) === '_ferro') {\n wkt.datumCode = wkt.datumCode.slice(0, - 6);\n }\n if (wkt.datumCode.slice(-8) === '_jakarta') {\n wkt.datumCode = wkt.datumCode.slice(0, - 8);\n }\n if (~wkt.datumCode.indexOf('belge')) {\n wkt.datumCode = 'rnb72';\n }\n if (geogcs.DATUM && geogcs.DATUM.SPHEROID) {\n wkt.ellps = geogcs.DATUM.SPHEROID.name.replace('_19', '').replace(/[Cc]larke\\_18/, 'clrk');\n if (wkt.ellps.toLowerCase().slice(0, 13) === 'international') {\n wkt.ellps = 'intl';\n }\n\n wkt.a = geogcs.DATUM.SPHEROID.a;\n wkt.rf = parseFloat(geogcs.DATUM.SPHEROID.rf, 10);\n }\n if (~wkt.datumCode.indexOf('osgb_1936')) {\n wkt.datumCode = 'osgb36';\n }\n if (~wkt.datumCode.indexOf('osni_1952')) {\n wkt.datumCode = 'osni52';\n }\n if (~wkt.datumCode.indexOf('tm65')\n || ~wkt.datumCode.indexOf('geodetic_datum_of_1965')) {\n wkt.datumCode = 'ire65';\n }\n }\n if (wkt.b && !isFinite(wkt.b)) {\n wkt.b = wkt.a;\n }\n\n function toMeter(input) {\n var ratio = wkt.to_meter || 1;\n return input * ratio;\n }\n var renamer = function(a) {\n return rename(wkt, a);\n };\n var list = [\n ['standard_parallel_1', 'Standard_Parallel_1'],\n ['standard_parallel_2', 'Standard_Parallel_2'],\n ['false_easting', 'False_Easting'],\n ['false_northing', 'False_Northing'],\n ['central_meridian', 'Central_Meridian'],\n ['latitude_of_origin', 'Latitude_Of_Origin'],\n ['latitude_of_origin', 'Central_Parallel'],\n ['scale_factor', 'Scale_Factor'],\n ['k0', 'scale_factor'],\n ['latitude_of_center', 'Latitude_of_center'],\n ['lat0', 'latitude_of_center', d2r],\n ['longitude_of_center', 'Longitude_Of_Center'],\n ['longc', 'longitude_of_center', d2r],\n ['x0', 'false_easting', toMeter],\n ['y0', 'false_northing', toMeter],\n ['long0', 'central_meridian', d2r],\n ['lat0', 'latitude_of_origin', d2r],\n ['lat0', 'standard_parallel_1', d2r],\n ['lat1', 'standard_parallel_1', d2r],\n ['lat2', 'standard_parallel_2', d2r],\n ['alpha', 'azimuth', d2r],\n ['srsCode', 'name']\n ];\n list.forEach(renamer);\n if (!wkt.long0 && wkt.longc && (wkt.projName === 'Albers_Conic_Equal_Area' || wkt.projName === 'Lambert_Azimuthal_Equal_Area')) {\n wkt.long0 = wkt.longc;\n }\n if (!wkt.lat_ts && wkt.lat1 && (wkt.projName === 'Stereographic_South_Pole' || wkt.projName === 'Polar Stereographic (variant B)')) {\n wkt.lat0 = d2r(wkt.lat1 > 0 ? 90 : -90);\n wkt.lat_ts = wkt.lat1;\n }\n}\nexport default function(wkt) {\n var lisp = parser(wkt);\n var type = lisp.shift();\n var name = lisp.shift();\n lisp.unshift(['name', name]);\n lisp.unshift(['type', type]);\n var obj = {};\n sExpr(lisp, obj);\n cleanWKT(obj);\n return obj;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/wkt-parser/index.js\n// module id = 160\n// module chunks = 0","const HMap = {}\r\nHMap.version = require('../package.json').version\r\nimport {ol, proj4} from './constants'\r\nimport './scss/index'\r\nimport Map from './map/Map'\r\nimport Observable from './event/Observable'\r\nimport Layer from './layer/Layer'\r\nimport Feature from './feature/feature'\r\nimport CoordsTransform from './plugins/CoordsTransform'\r\nimport LayerSwitcher from './plugins/LayerSwitcher'\r\nimport MeasureTool from './plugins/MeasureTool'\r\nimport LayerSpyglass from './interaction/LayerSpyglass'\r\nimport MisplacesGlass from './interaction/MisplacesGlass'\r\nimport GeomCoder from './plugins/GeomCoder'\r\nimport PlotDraw from './plot/Event/PlotDraw'\r\nimport PlotEdit from './plot/Event/PlotEdit'\r\nimport CustomCircle from './plugins/CustomCircle'\r\nimport Popover from './overlay/Popover'\r\nimport Controls from './controls/index'\r\nimport * as utils from './utils/utils'\r\n\r\nHMap.ol = ol\r\nwindow.ol = ol\r\nHMap.proj4 = proj4\r\nwindow.proj4 = proj4\r\nHMap.Map = Map\r\nHMap.Observable = Observable\r\nHMap.Utils = utils\r\nHMap.PlotDraw = PlotDraw\r\nHMap.PlotEdit = PlotEdit\r\nHMap.Layer = Layer\r\nHMap.Feature = Feature\r\nHMap.Popover = Popover\r\nHMap.CoordsTransform = CoordsTransform\r\nHMap.CustomCircle = CustomCircle\r\nHMap.LayerSwitcher = LayerSwitcher\r\nHMap.MeasureTool = MeasureTool\r\nHMap.LayerSpyglass = LayerSpyglass\r\nHMap.MisplacesGlass = MisplacesGlass\r\nHMap.GeomCoder = GeomCoder\r\nHMap.Controls = Controls\r\n\r\n/**\r\n * Inherit the prototype methods from one constructor into another.\r\n *\r\n * Usage:\r\n *\r\n * function ParentClass(a, b) { }\r\n * ParentClass.prototype.foo = function(a) { }\r\n *\r\n * function ChildClass(a, b, c) {\r\n * // Call parent constructor\r\n * ParentClass.call(this, a, b);\r\n * }\r\n * HMap.inherits(ChildClass, ParentClass);\r\n *\r\n * var child = new ChildClass('a', 'b', 'see');\r\n * child.foo(); // This works.\r\n *\r\n * @param {!Function} childCtor Child constructor.\r\n * @param {!Function} parentCtor Parent constructor.\r\n * @function\r\n * @api\r\n */\r\nHMap.inherits = function (childCtor, parentCtor) {\r\n childCtor.prototype = Object.create(parentCtor.prototype)\r\n childCtor.prototype.constructor = childCtor\r\n}\r\n\r\n/**\r\n * A reusable function, used e.g. as a default for callbacks.\r\n *\r\n * @return {undefined} Nothing.\r\n */\r\nHMap.nullFunction = function () {\r\n}\r\n\r\nexport default HMap\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","\"use strict\";\n\nrequire(\"core-js/shim\");\n\nrequire(\"regenerator-runtime/runtime\");\n\nrequire(\"core-js/fn/regexp/escape\");\n\nif (global._babelPolyfill) {\n throw new Error(\"only one instance of babel-polyfill is allowed\");\n}\nglobal._babelPolyfill = true;\n\nvar DEFINE_PROPERTY = \"defineProperty\";\nfunction define(O, key, value) {\n O[key] || Object[DEFINE_PROPERTY](O, key, {\n writable: true,\n configurable: true,\n value: value\n });\n}\n\ndefine(String.prototype, \"padLeft\", \"\".padStart);\ndefine(String.prototype, \"padRight\", \"\".padEnd);\n\n\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function (key) {\n [][key] && define(Array, key, Function.call.bind([][key]));\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-polyfill/lib/index.js\n// module id = 162\n// module chunks = 0","const config = {\r\n interactions: {\r\n altShiftDragRotate: true,\r\n doubleClickZoom: true,\r\n keyboard: true,\r\n mouseWheelZoom: true,\r\n shiftDragZoom: true,\r\n dragPan: true,\r\n pinchRotate: true,\r\n pinchZoom: true,\r\n zoomDelta: 5, // 缩放增量(默认一级)\r\n zoomDuration: 5 // 缩放持续时间\r\n },\r\n controls: {\r\n attribution: true,\r\n attributionOptions: {\r\n className: 'ol-attribution', // Default\r\n target: 'attributionTarget'\r\n },\r\n rotate: true,\r\n rotateOptions: {\r\n className: 'ol-rotate', // Default\r\n target: 'rotateTarget'\r\n },\r\n zoom: true,\r\n zoomOptions: {\r\n className: 'ol-zoom', // Default\r\n target: 'zoomTarget'\r\n },\r\n overViewMapVisible: false,\r\n scaleLineVisible: true\r\n },\r\n view: {\r\n center: [0, 0],\r\n // constrainRotation: false, // 旋转角度约束\r\n enableRotation: true, // 是否允许旋转\r\n extent: [],\r\n // maxResolution: 0, // 非必须参数\r\n // minResolution: 0,\r\n // maxZoom: 19,\r\n // minZoom: 0,\r\n projection: 'EPSG:3857',\r\n resolutions: [],\r\n rotation: 0,\r\n resolution: '',\r\n zoom: 0, // resolution\r\n zoomFactor: 2 // 用于约束分变率的缩放因子(高分辨率设备需要注意)\r\n },\r\n logo: {}\r\n}\r\n\r\nexport default config\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/config/config.js","/**\r\n * Created by FDD on 2017/6/14.\r\n * @desc 底图切换控件\r\n */\r\nimport {ol} from '../constants'\r\nimport {DomUtil, css} from '../dom'\r\nimport LayerSwitcher from '../plugins/LayerSwitcher'\r\nconst BaseLayerSwitcher = function (params) {\r\n this.options = params || {}\r\n let className = (this.options.className !== undefined ? this.options.className : 'hmap-baseLayer-switch')\r\n if (!this.options['map'] || !(this.options['map'] instanceof ol.Map)) {\r\n throw new Error('缺少底图对象!')\r\n } else {\r\n this.map = this.options['map']\r\n }\r\n let mapConfigStr = this.map.getProperties()\r\n if (mapConfigStr) {\r\n let mapConfig = JSON.parse(mapConfigStr)\r\n this.baseLayerConfig = mapConfig['baseLayers']\r\n }\r\n /**\r\n * @private\r\n * @type {Element}\r\n */\r\n this.element_ = DomUtil.create('div', (className + ' ' + css.CLASS_UNSELECTABLE))\r\n /**\r\n * @private\r\n * @type {Element}\r\n */\r\n this.innerElement_ = DomUtil.create('ul', className + '-inner', this.element_, className + '-inner')\r\n this.LayerSwitcher = new LayerSwitcher(this.map)\r\n this.innerElement_.addEventListener('click', event => {\r\n let ev = event || window.event\r\n let target = ev.target || ev.srcElement\r\n if (target.nodeName.toLowerCase() === 'li') {\r\n let layerName = 'vector'\r\n this.LayerSwitcher.switchLayer(layerName)\r\n }\r\n })\r\n ol.control.Control.call(this, {\r\n element: this.element_,\r\n target: this.options['target']\r\n })\r\n}\r\n\r\nol.inherits(BaseLayerSwitcher, ol.control.Control)\r\n\r\n/**\r\n * 初始化页面元素\r\n */\r\nBaseLayerSwitcher.prototype.initDom = function () {\r\n if (this.baseLayerConfig && Array.isArray(this.baseLayerConfig) && this.baseLayerConfig.length > 0) {\r\n this.baseLayerConfig.forEach(item => {\r\n if (item && item['layerName']) {\r\n this.liDom = this.creatDom(['li', 'span'], ['mapTypeCard' + item['layerName'], 'title'], this.innerElement_)\r\n this.liDom.setAttribute('data-name', item['layerName'])\r\n }\r\n })\r\n }\r\n}\r\n/**\r\n * 创建页面模板(tagNames,classNames,ids)长度保持唯一\r\n * @param tagNames\r\n * @param classNames\r\n * @param container\r\n * @param ids\r\n */\r\nBaseLayerSwitcher.prototype.creatDom = function (tagNames, classNames, container, ids) {\r\n let templates = ''\r\n if (Array.isArray(tagNames) && Array.isArray(classNames) && Array.isArray(ids) && tagNames.length === classNames.length === ids.length) {\r\n let els = tagNames.map((tagName, index) => {\r\n let el = document.createElement(tagName)\r\n el.className = classNames[index] || ''\r\n if (ids[index]) {\r\n el.id = ids[index]\r\n }\r\n return el\r\n })\r\n if (els && els.length > 0) {\r\n els.forEach((item, index) => {\r\n if (index > 0) {\r\n els[index - 1].appendChild(item)\r\n }\r\n templates = els[0]\r\n })\r\n }\r\n }\r\n if (container) {\r\n container.appendChild(templates)\r\n }\r\n return templates\r\n}\r\n\r\nexport default BaseLayerSwitcher\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/controls/BaseLayerSwitcher.js","/**\r\n * Created by FDD on 2017/6/6.\r\n * @desc 用于图层比较\r\n */\r\nimport {ol} from '../constants'\r\nimport {DomUtil, css} from '../dom'\r\nconst CompareLayer = function (beforeMap, afterMap, params) {\r\n this.options = params || {}\r\n let className = (this.options.className !== undefined ? this.options.className : 'hmap-compare')\r\n\r\n if (!this.options['map'] || !(this.options['map'] instanceof ol.Map)) {\r\n throw new Error('缺少底图对象!')\r\n } else {\r\n this.map = this.options['map']\r\n }\r\n this.beforeMap = beforeMap\r\n this.afterMap = afterMap\r\n\r\n /**\r\n * @private\r\n * @type {Element}\r\n */\r\n this.element_ = DomUtil.create('div', (className + ' ' + css.CLASS_UNSELECTABLE))\r\n\r\n /**\r\n * @private\r\n * @type {Element}\r\n */\r\n this.innerElement_ = DomUtil.create('div', className + '-inner', this.element_)\r\n\r\n this._onDown = this._onDown.bind(this)\r\n this._onMove = this._onMove.bind(this)\r\n this._onMouseUp = this._onMouseUp.bind(this)\r\n /**\r\n * 获取当前视图大小\r\n * @type {ClientRect}\r\n * @private\r\n */\r\n this._bounds = this.getMap().getTargetElement().getBoundingClientRect()\r\n this.percent = 0.5\r\n this._setPosition(this._bounds.width, this._bounds.width / 2)\r\n\r\n if (this.options && this.options.mousemove) {\r\n this.getMap().getTargetElement().addEventListener('mousemove', this._onMove)\r\n }\r\n this.addEvent()\r\n this.resize()\r\n ol.control.Control.call(this, {\r\n element: this.element_,\r\n target: this.options['target']\r\n })\r\n}\r\n\r\nol.inherits(CompareLayer, ol.control.Control)\r\n\r\n/**\r\n * 获取当前地图对象\r\n * @returns {*}\r\n */\r\nCompareLayer.prototype.getMap = function () {\r\n return this.map\r\n}\r\n\r\n/**\r\n * 通过canvas切割视图\r\n * @param beforeMap\r\n * @param value\r\n */\r\nCompareLayer.prototype.clipLayer = function (beforeMap, value) {\r\n this.getMap().un('precompose', this.precompose)\r\n this.getMap().un('postcompose', this.postcompose)\r\n this.precompose = beforeMap.on('precompose', event => {\r\n let ctx = event.context\r\n let width = ctx.canvas.width * (value)\r\n ctx.save()\r\n ctx.beginPath()\r\n ctx.rect(width, 0, ctx.canvas.width - width, ctx.canvas.height)\r\n ctx.clip()\r\n })\r\n this.postcompose = beforeMap.on('postcompose', event => {\r\n let ctx = event.context\r\n ctx.restore()\r\n })\r\n}\r\n\r\n/**\r\n * 添加事件监听\r\n */\r\nCompareLayer.prototype.addEvent = function () {\r\n this.innerElement_.addEventListener('mousedown', this._onDown)\r\n this.innerElement_.addEventListener('touchstart', this._onDown)\r\n}\r\n\r\n/**\r\n * 鼠标按下事件处理\r\n * @param e\r\n * @private\r\n */\r\nCompareLayer.prototype._onDown = function (e) {\r\n if (e.touches) {\r\n document.addEventListener('touchmove', this._onMove)\r\n document.addEventListener('touchend', this._onTouchEnd)\r\n } else {\r\n document.addEventListener('mousemove', this._onMove)\r\n document.addEventListener('mouseup', this._onMouseUp)\r\n }\r\n}\r\n\r\n/**\r\n * 设置切割位置\r\n * @param x\r\n * @private\r\n */\r\nCompareLayer.prototype._setPosition = function (sourceWidth, value) {\r\n let pos = 'translate(' + value + 'px, 0)'\r\n this.element_.style.transform = pos\r\n this.element_.style.WebkitTransform = pos\r\n this._x = value\r\n this.percent = value / sourceWidth\r\n this.clipLayer(this.beforeMap, value / sourceWidth)\r\n}\r\n\r\n/**\r\n * 窗口变化事件\r\n */\r\nCompareLayer.prototype.resize = function () {\r\n let resizeEvt = (('orientationchange' in window) ? 'orientationchange' : 'resize')\r\n let doc = window.document\r\n let that = this\r\n window.addEventListener(resizeEvt, function () {\r\n setTimeout(function () {\r\n that._bounds = that.getMap().getTargetElement().getBoundingClientRect()\r\n that._setPosition(that._bounds.width, that._bounds.width * that.percent)\r\n }, 50)\r\n }, false)\r\n window.addEventListener('pageshow', function (e) {\r\n if (e.persisted) {\r\n setTimeout(function () {\r\n that._bounds = that.getMap().getTargetElement().getBoundingClientRect()\r\n that._setPosition(that._bounds.width, that._bounds.width * that.percent)\r\n }, 50)\r\n }\r\n }, false)\r\n if (doc.readyState === 'complete') {\r\n setTimeout(function () {\r\n that._bounds = that.getMap().getTargetElement().getBoundingClientRect()\r\n that._setPosition(that._bounds.width, that._bounds.width * that.percent)\r\n }, 50)\r\n } else {\r\n doc.addEventListener('DOMContentLoaded', function (e) {\r\n setTimeout(function () {\r\n that._bounds = that.getMap().getTargetElement().getBoundingClientRect()\r\n that._setPosition(that._bounds.width, that._bounds.width * that.percent)\r\n }, 50)\r\n }, false)\r\n }\r\n}\r\n\r\n/**\r\n * 处理移动事件\r\n * @param e\r\n * @private\r\n */\r\nCompareLayer.prototype._onMove = function (e) {\r\n this._bounds = this.getMap().getTargetElement().getBoundingClientRect()\r\n this._setPosition(this._bounds.width, this._getX(e))\r\n}\r\n\r\n/**\r\n * 处理按键抬起事件\r\n * @private\r\n */\r\nCompareLayer.prototype._onMouseUp = function () {\r\n document.removeEventListener('mousemove', this._onMove)\r\n document.removeEventListener('mouseup', this._onMouseUp)\r\n}\r\n\r\n/**\r\n * 监听触摸结束事件\r\n * @private\r\n */\r\nCompareLayer.prototype._onTouchEnd = function () {\r\n document.removeEventListener('touchmove', this._onMove)\r\n document.removeEventListener('touchend', this._onTouchEnd)\r\n}\r\n\r\n/**\r\n * 获取当前位置\r\n * @param e\r\n * @returns {number}\r\n * @private\r\n */\r\nCompareLayer.prototype._getX = function (e) {\r\n e = e.touches ? e.touches[0] : e\r\n let x = e.clientX - this._bounds.left\r\n if (x < 0) x = 0\r\n if (x > this._bounds.width) x = this._bounds.width\r\n return x\r\n}\r\n\r\nexport default CompareLayer\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/controls/CompareLayer.js","/**\r\n * Created by FDD on 2017/6/11.\r\n * @desc 用于定位功能\r\n */\r\nimport {ol} from '../constants'\r\nimport {DomUtil, css} from '../dom'\r\nconst Geolocation = function (params) {\r\n this.options = params || {}\r\n let className = (this.options.className !== undefined ? this.options.className : 'hmap-geolocation')\r\n if (!this.options['map'] || !(this.options['map'] instanceof ol.Map)) {\r\n throw new Error('缺少底图对象!')\r\n } else {\r\n this.map = this.options['map']\r\n }\r\n /**\r\n * @private\r\n * @type {Element}\r\n */\r\n this.element_ = DomUtil.create('div', (className + ' ' + css.CLASS_UNSELECTABLE))\r\n\r\n /**\r\n * @private\r\n * @type {Element}\r\n */\r\n this.innerElement_ = DomUtil.create('div', className + '-inner', this.element_)\r\n this.element_.addEventListener('click', this.clickHandle)\r\n this.initControl()\r\n ol.control.Control.call(this, {\r\n element: this.element_,\r\n target: this.options['target']\r\n })\r\n}\r\n\r\nol.inherits(Geolocation, ol.control.Control)\r\n\r\n/**\r\n * 设置当前地图对象\r\n * @param map\r\n */\r\nGeolocation.prototype.setMap = function (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n }\r\n}\r\n\r\n/**\r\n * 获取当前地图对象\r\n * @returns {*|ol.Map}\r\n */\r\nGeolocation.prototype.getMap = function () {\r\n return this.map\r\n}\r\n\r\n/**\r\n * 初始化\r\n */\r\nGeolocation.prototype.initControl = function () {\r\n /**\r\n * 定位\r\n * @type {ol.Geolocation}\r\n */\r\n this.geolocation = new ol.Geolocation({\r\n projection: this.map.getView().getProjection()\r\n })\r\n /**\r\n * 是否开启跟踪模式\r\n */\r\n this.geolocation.setTracking((typeof this.options['track'] === 'boolean') ? this.options['track'] : false)\r\n this.geolocation.on('change', () => {\r\n let accuracy = this.geolocation.getAccuracy()\r\n let altitude = this.geolocation.getAltitude()\r\n let altitudeAccuracy = this.geolocation.getAltitudeAccuracy()\r\n let heading = this.geolocation.getHeading()\r\n let speed = this.geolocation.getSpeed()\r\n console.log(accuracy, altitude, altitudeAccuracy, heading, speed)\r\n })\r\n this.geolocation.on('error', (error) => {\r\n let info = document.getElementById('info')\r\n info.innerHTML = error.message\r\n info.style.display = ''\r\n })\r\n this.geolocation.on('change:accuracyGeometry', () => {\r\n console.log(this.geolocation.getAccuracyGeometry())\r\n })\r\n this.geolocation.on('change:position', () => {\r\n let coordinates = this.geolocation.getPosition()\r\n console.log(coordinates)\r\n })\r\n}\r\n\r\n/**\r\n * 处理事件\r\n */\r\nGeolocation.prototype.clickHandle = function () {\r\n let coordinates = this.geolocation.getPosition()\r\n console.log(coordinates)\r\n}\r\n\r\nexport default Geolocation\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/controls/Geolocation.js","/**\r\n * Created by FDD on 2017/6/14.\r\n * @desc Controls\r\n */\r\nimport Geolocation from './Geolocation'\r\nimport CompareLayer from './CompareLayer'\r\nimport BaseLayerSwitcher from './BaseLayerSwitcher'\r\nlet Controls = {\r\n Geolocation: Geolocation,\r\n CompareLayer: CompareLayer,\r\n BaseLayerSwitcher: BaseLayerSwitcher\r\n}\r\n\r\nexport default Controls\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/controls/index.js","/**\r\n * The CSS class for hidden feature.\r\n * @const\r\n * @type {string}\r\n */\r\nexport const CLASS_HIDDEN = 'ol-hidden'\r\n\r\n/**\r\n * The CSS class that we'll give the DOM elements to have them selectable.\r\n *\r\n * @const\r\n * @type {string}\r\n */\r\nexport const CLASS_SELECTABLE = 'ol-selectable'\r\n\r\n/**\r\n * The CSS class that we'll give the DOM elements to have them unselectable.\r\n *\r\n * @const\r\n * @type {string}\r\n */\r\nexport const CLASS_UNSELECTABLE = 'ol-unselectable'\r\n\r\n/**\r\n * The CSS class for unsupported feature.\r\n *\r\n * @const\r\n * @type {string}\r\n */\r\nexport const CLASS_UNSUPPORTED = 'ol-unsupported'\r\n\r\n/**\r\n * The CSS class for controls.\r\n *\r\n * @const\r\n * @type {string}\r\n */\r\nexport const CLASS_CONTROL = 'ol-control'\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/dom/css.js","import { ol } from '../constants'\r\nclass appDrag extends (ol.interaction.Pointer) {\r\n constructor () {\r\n super()\r\n ol.interaction.Pointer.call(this, {\r\n handleDownEvent: this.handleDownEvent,\r\n handleDragEvent: this.handleDragEvent,\r\n handleMoveEvent: this.handleMoveEvent,\r\n handleUpEvent: this.handleUpEvent\r\n })\r\n\r\n this.customType = 'appDrag'\r\n /**\r\n * @type {ol.Pixel}\r\n * @private\r\n */\r\n this.coordinate_ = null\r\n\r\n /**\r\n * @type {string|undefined}\r\n * @private\r\n */\r\n this.cursor_ = 'pointer'\r\n\r\n /**\r\n * @type {ol.Feature}\r\n * @private\r\n */\r\n this.feature_ = null\r\n\r\n /**\r\n * @type {string|undefined}\r\n * @private\r\n */\r\n this.previousCursor_ = undefined\r\n }\r\n\r\n /**\r\n * @param {ol.MapBrowserEvent} evt Map browser event.\r\n * @return {boolean} `true` to start the drag sequence.\r\n */\r\n handleDownEvent (evt) {\r\n if (evt.originalEvent.button === 0) {\r\n let map = evt.map\r\n let feature = map.forEachFeatureAtPixel(evt.pixel, function (feature) {\r\n return feature\r\n })\r\n if (feature && feature.get('params') && feature.get('params').moveable) {\r\n this.coordinate_ = evt.coordinate\r\n this.feature_ = feature\r\n this.feature_.dispatchEvent({\r\n type: 'mouseDownEvent',\r\n originEvent: evt,\r\n value: feature\r\n })\r\n }\r\n return !!this.feature_\r\n }\r\n }\r\n\r\n /**\r\n * @param {ol.MapBrowserEvent} evt Map browser event.\r\n */\r\n handleDragEvent (evt) {\r\n if (!this.coordinate_) {\r\n return\r\n }\r\n let deltaX = evt.coordinate[0] - this.coordinate_[0]\r\n let deltaY = evt.coordinate[1] - this.coordinate_[1]\r\n let geometry = /** @type {ol.geom.SimpleGeometry} */\r\n (this.feature_.getGeometry())\r\n geometry.translate(deltaX, deltaY)\r\n this.coordinate_[0] = evt.coordinate[0]\r\n this.coordinate_[1] = evt.coordinate[1]\r\n this.feature_.dispatchEvent('featureMove')\r\n }\r\n\r\n /**\r\n * @param {ol.MapBrowserEvent} evt Event.\r\n */\r\n handleMoveEvent (evt) {\r\n if (this.cursor_) {\r\n let map = evt.map\r\n let feature = null\r\n if (this.feature_) {\r\n feature = this.feature_\r\n } else {\r\n feature = map.forEachFeatureAtPixel(evt.pixel, function (feature) {\r\n return feature\r\n })\r\n }\r\n let element = evt.map.getTargetElement()\r\n if (feature && feature.get('params')) {\r\n if (element.style.cursor !== this.cursor_) {\r\n this.previousCursor_ = element.style.cursor\r\n element.style.cursor = this.cursor_\r\n }\r\n } else if (this.previousCursor_ !== undefined) {\r\n element.style.cursor = this.previousCursor_\r\n this.previousCursor_ = undefined\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @return {boolean} `false` to stop the drag sequence.\r\n */\r\n handleUpEvent (evt) {\r\n if (this.feature_ && this.feature_.get('params') && this.feature_.get('params').moveable) {\r\n this.feature_.dispatchEvent({\r\n type: 'mouseUpEvent',\r\n originEvent: evt,\r\n value: this.feature_\r\n })\r\n }\r\n this.coordinate_ = null\r\n this.feature_ = null\r\n return false\r\n }\r\n}\r\n\r\nexport default appDrag\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/event/appDrag.js","import { ol } from '../constants'\r\n\r\nclass LayerSpyglass {\r\n constructor (params) {\r\n this.options = params || {}\r\n /**\r\n * 当前地图对象\r\n */\r\n if (this.options.map && this.options.map instanceof ol.Map) {\r\n this.map = this.options.map\r\n } else {\r\n throw new Error('缺少地图对象!')\r\n }\r\n /**\r\n * 当前地图容器\r\n */\r\n this.container = this.map.getTargetElement()\r\n /**\r\n * 当前滤镜图层\r\n */\r\n this.imagery = this.options['imagery']\r\n /**\r\n * 当前鼠标位置\r\n * @type {null}\r\n */\r\n this.mousePosition = null\r\n /**\r\n * 当前滤镜半径\r\n * @type {number}\r\n */\r\n this.radius = 0\r\n\r\n this.activate()\r\n }\r\n\r\n /**\r\n * 激活工具\r\n */\r\n activate () {\r\n this.container.addEventListener('mousemove', event => {\r\n this.mousePosition = this.map.getEventPixel(event)\r\n this.map.render()\r\n })\r\n\r\n this.container.addEventListener('mouseout', () => {\r\n this.map.render()\r\n })\r\n\r\n document.addEventListener('keydown', evt => {\r\n if (evt.which === 38) {\r\n this.radius = Math.min(this.radius + 5, 150)\r\n this.map.render()\r\n evt.preventDefault()\r\n } else if (evt.which === 40) {\r\n this.radius = Math.max(this.radius - 5, 25)\r\n this.map.render()\r\n evt.preventDefault()\r\n }\r\n })\r\n\r\n this.renderTool()\r\n }\r\n\r\n /**\r\n * 渲染工具\r\n */\r\n renderTool () {\r\n // 在渲染之前处理渲染图层\r\n this.imagery.on('precompose', event => {\r\n let [ctx, pixelRatio] = [event.context, event.frameState.pixelRatio]\r\n ctx.save()\r\n ctx.beginPath()\r\n if (this.mousePosition) {\r\n ctx.arc(this.mousePosition[0] * pixelRatio, this.mousePosition[1] * pixelRatio,\r\n this.radius * pixelRatio, 0, 2 * Math.PI)\r\n ctx.lineWidth = 5 * pixelRatio\r\n ctx.strokeStyle = 'rgba(0,0,0,0.5)'\r\n ctx.stroke()\r\n }\r\n ctx.clip()\r\n })\r\n\r\n this.imagery.on('postcompose', event => {\r\n let ctx = event.context\r\n ctx.restore()\r\n })\r\n }\r\n\r\n /**\r\n * 销毁事件\r\n */\r\n destroy () {\r\n console.log('destroying')\r\n }\r\n\r\n /**\r\n * 设置当前地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n }\r\n }\r\n\r\n /**\r\n * 返回当前地图对象\r\n * @returns {ol.Map}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n}\r\n\r\nexport default LayerSpyglass\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/interaction/LayerSpyglass.js","import { ol } from '../constants'\r\n\r\nclass MisplacesGlass {\r\n constructor (params) {\r\n this.options = params || {}\r\n /**\r\n * 当前地图对象\r\n */\r\n if (this.options.map && this.options.map instanceof ol.Map) {\r\n this.map = this.options.map\r\n } else {\r\n throw new Error('缺少地图对象!')\r\n }\r\n /**\r\n * 当前地图容器\r\n */\r\n this.container = this.map.getTargetElement()\r\n /**\r\n * 当前滤镜图层\r\n */\r\n this.imagery = this.options['imagery']\r\n /**\r\n * 当前鼠标位置\r\n * @type {null}\r\n */\r\n this.mousePosition = null\r\n /**\r\n * 当前滤镜半径\r\n * @type {number}\r\n */\r\n this.radius = 0\r\n\r\n this.activate()\r\n }\r\n\r\n /**\r\n * 激活工具\r\n */\r\n activate () {\r\n this.container.addEventListener('mousemove', event => {\r\n this.mousePosition = this.map.getEventPixel(event)\r\n this.map.render()\r\n })\r\n\r\n this.container.addEventListener('mouseout', () => {\r\n this.map.render()\r\n })\r\n\r\n document.addEventListener('keydown', evt => {\r\n if (evt.which === 38) {\r\n this.radius = Math.min(this.radius + 5, 150)\r\n this.map.render()\r\n evt.preventDefault()\r\n } else if (evt.which === 40) {\r\n this.radius = Math.max(this.radius - 5, 25)\r\n this.map.render()\r\n evt.preventDefault()\r\n }\r\n })\r\n\r\n this.renderTool()\r\n }\r\n\r\n /**\r\n * 渲染工具\r\n */\r\n renderTool () {\r\n this.imagery.on('postcompose', event => {\r\n if (this.mousePosition) {\r\n let context = event.context\r\n let pixelRatio = event.frameState.pixelRatio\r\n let half = this.radius * pixelRatio\r\n let centerX = this.mousePosition[0] * pixelRatio\r\n let centerY = this.mousePosition[1] * pixelRatio\r\n let originX = centerX - half\r\n let originY = centerY - half\r\n let size = 2 * half + 1\r\n let sourceData = context.getImageData(originX, originY, size, size).data\r\n let dest = context.createImageData(size, size)\r\n let destData = dest.data\r\n for (let j = 0; j < size; ++j) {\r\n for (let i = 0; i < size; ++i) {\r\n let dI = i - half\r\n let dJ = j - half\r\n let dist = Math.sqrt(dI * dI + dJ * dJ)\r\n let sourceI = i\r\n let sourceJ = j\r\n if (dist < half) {\r\n sourceI = Math.round(half + dI / 2)\r\n sourceJ = Math.round(half + dJ / 2)\r\n }\r\n let destOffset = (j * size + i) * 4\r\n let sourceOffset = (sourceJ * size + sourceI) * 4\r\n destData[destOffset] = sourceData[sourceOffset]\r\n destData[destOffset + 1] = sourceData[sourceOffset + 1]\r\n destData[destOffset + 2] = sourceData[sourceOffset + 2]\r\n destData[destOffset + 3] = sourceData[sourceOffset + 3]\r\n }\r\n }\r\n context.beginPath()\r\n context.arc(centerX, centerY, half, 0, 2 * Math.PI)\r\n context.lineWidth = 3 * pixelRatio\r\n context.strokeStyle = 'rgba(255,255,255,0.5)'\r\n context.putImageData(dest, originX, originY)\r\n context.stroke()\r\n context.restore()\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * 销毁事件\r\n */\r\n destroy () {\r\n console.log('destroying')\r\n }\r\n\r\n /**\r\n * 设置当前地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n }\r\n }\r\n\r\n /**\r\n * 返回当前地图对象\r\n * @returns {ol.Map}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n}\r\n\r\nexport default MisplacesGlass\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/interaction/MisplacesGlass.js","import {ol} from '../../constants'\r\n\r\n/**\r\n * @classdesc\r\n * Layer source for the OpenStreetMap tile server.\r\n * @constructor\r\n * @extends {ol.source.XYZ}\r\n * @param {olx.source.OSMOptions=} optOptions Open Street Map options.\r\n * @api\r\n */\r\nol.source.BAIDU = function (optOptions) {\r\n let options = optOptions || {}\r\n let attributions = ''\r\n if (options.attributions !== undefined) {\r\n attributions = options.attributions\r\n } else {\r\n attributions = [ol.source.BAIDU.ATTRIBUTION]\r\n }\r\n let crossOrigin = options.crossOrigin !== undefined ? options.crossOrigin : 'anonymous'\r\n let url = options.url !== undefined ? options.url : 'http://online{0-3}.map.bdimg.com/onlinelabel/?qt=tile&x={x}&y={y}&z={z}&styles=pl&udt=20170607&scaler=1&p=1'\r\n let tileLoadFunction = options.tileLoadFunction ? options.tileLoadFunction : undefined\r\n if (!tileLoadFunction) {\r\n tileLoadFunction = function (tileCoord) {\r\n let url = ''\r\n if (tileCoord && Array.isArray(tileCoord)) {\r\n let [z, x, y] = [tileCoord[0], tileCoord[1], tileCoord[2]]\r\n if (x < 0) {\r\n x = 'M' + (-x)\r\n }\r\n if (y < 0) {\r\n y = 'M' + (-y)\r\n }\r\n url = url.replace('{z}', (z).toString()).replace('{x}', y.toString()).replace('{y}', (x).toString())\r\n } else if (typeof tileCoord === 'object') {\r\n tileCoord = tileCoord.getTileCoord()\r\n let [z, x, y] = [tileCoord[0], tileCoord[1], tileCoord[2]]\r\n if (x < 0) {\r\n x = 'M' + (-x)\r\n }\r\n if (y < 0) {\r\n y = 'M' + (-y)\r\n }\r\n url = url.replace('{z}', (z).toString()).replace('{x}', y.toString()).replace('{y}', (x).toString())\r\n }\r\n console.log(url)\r\n return url\r\n }\r\n }\r\n ol.source.XYZ.call(this, {\r\n attributions: attributions,\r\n cacheSize: options.cacheSize,\r\n crossOrigin: crossOrigin,\r\n opaque: options.opaque !== undefined ? options.opaque : true,\r\n maxZoom: options.maxZoom !== undefined ? options.maxZoom : 19,\r\n reprojectionErrorThreshold: options.reprojectionErrorThreshold,\r\n tileLoadFunction: tileLoadFunction,\r\n url: url,\r\n wrapX: options.wrapX\r\n })\r\n}\r\nol.inherits(ol.source.BAIDU, ol.source.XYZ)\r\n\r\n/**\r\n * The attribution containing a link to the OpenStreetMap Copyright and License\r\n * page.\r\n * @const\r\n * @type {ol.Attribution}\r\n * @api\r\n */\r\nol.source.BAIDU.ATTRIBUTION = new ol.Attribution({\r\n html: '© ' +\r\n '百度地图 ' +\r\n 'contributors.'\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layer/source/BaiDu.js","import {ol} from '../../constants'\r\n\r\n/**\r\n * @classdesc\r\n * Layer source for the OpenStreetMap tile server.\r\n * @constructor\r\n * @extends {ol.source.XYZ}\r\n * @param {olx.source.OSMOptions=} optOptions Open Street Map options.\r\n * @api\r\n */\r\nol.source.GAODE = function (optOptions) {\r\n let options = optOptions || {}\r\n let attributions = ''\r\n if (options.attributions !== undefined) {\r\n attributions = options.attributions\r\n } else {\r\n attributions = [ol.source.GAODE.ATTRIBUTION]\r\n }\r\n let crossOrigin = options.crossOrigin !== undefined ? options.crossOrigin : 'anonymous'\r\n let url = options.url !== undefined ? options.url : 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=6&x={x}&y={y}&z={z}'\r\n\r\n ol.source.XYZ.call(this, {\r\n attributions: attributions,\r\n cacheSize: options.cacheSize,\r\n crossOrigin: crossOrigin,\r\n opaque: options.opaque !== undefined ? options.opaque : true,\r\n maxZoom: options.maxZoom !== undefined ? options.maxZoom : 19,\r\n reprojectionErrorThreshold: options.reprojectionErrorThreshold,\r\n tileLoadFunction: options.tileLoadFunction,\r\n url: url,\r\n wrapX: options.wrapX\r\n })\r\n}\r\nol.inherits(ol.source.GAODE, ol.source.XYZ)\r\n\r\n/**\r\n * The attribution containing a link to the OpenStreetMap Copyright and License\r\n * page.\r\n * @const\r\n * @type {ol.Attribution}\r\n * @api\r\n */\r\nol.source.GAODE.ATTRIBUTION = new ol.Attribution({\r\n html: '© ' +\r\n '高德地图 ' +\r\n 'contributors.'\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layer/source/GaoDe.js","import {ol} from '../../constants'\r\n\r\n/**\r\n * @classdesc\r\n * Layer source for the OpenStreetMap tile server.\r\n * @constructor\r\n * @extends {ol.source.XYZ}\r\n * @param {olx.source.OSMOptions=} optOptions Open Street Map options.\r\n * @api\r\n */\r\nol.source.GOOGLE = function (optOptions) {\r\n let options = optOptions || {}\r\n let attributions = ''\r\n if (options.attributions !== undefined) {\r\n attributions = options.attributions\r\n } else {\r\n attributions = [ol.source.GOOGLE.ATTRIBUTION]\r\n }\r\n let crossOrigin = options.crossOrigin !== undefined ? options.crossOrigin : 'anonymous'\r\n let url = options.url !== undefined ? options.url : 'http://www.google.cn/maps/vt?lyrs=m@189&gl=cn&x={x}&y={y}&z={z}'\r\n\r\n ol.source.XYZ.call(this, {\r\n attributions: attributions,\r\n cacheSize: options.cacheSize,\r\n crossOrigin: crossOrigin,\r\n opaque: options.opaque !== undefined ? options.opaque : true,\r\n maxZoom: options.maxZoom !== undefined ? options.maxZoom : 19,\r\n reprojectionErrorThreshold: options.reprojectionErrorThreshold,\r\n tileLoadFunction: options.tileLoadFunction,\r\n url: url,\r\n wrapX: options.wrapX\r\n })\r\n}\r\nol.inherits(ol.source.GOOGLE, ol.source.XYZ)\r\n\r\n/**\r\n * The attribution containing a link to the OpenStreetMap Copyright and License\r\n * page.\r\n * @const\r\n * @type {ol.Attribution}\r\n * @api\r\n */\r\nol.source.GOOGLE.ATTRIBUTION = new ol.Attribution({\r\n html: '© ' +\r\n '谷歌地图 ' +\r\n 'contributors.'\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layer/source/Google.js","import { ol } from '../constants'\r\nclass Controls {\r\n _addControls (params) {\r\n let options = params || {}\r\n /* eslint new-cap: [\"error\", { \"newIsCap\": false }] */\r\n return new ol.control.defaults({\r\n attribution: (options['attribution'] === false ? options['attribution'] : true),\r\n rotate: (options['rotate'] === false ? options['rotate'] : true),\r\n zoom: (options['zoom'] === false ? options['zoom'] : true)\r\n })\r\n }\r\n\r\n _addScaleLine () {\r\n let control = this.map.getControls()\r\n control.extend([\r\n new ol.control.ScaleLine() // 比例尺控件\r\n ])\r\n }\r\n\r\n /**\r\n * 放大\r\n */\r\n zoomIn (duration) {\r\n let zoom = this.map.getView().getZoom()\r\n this.map.getView().animate({\r\n zoom: (zoom + 1),\r\n duration: ((duration && typeof duration === 'number') ? duration : 300)\r\n })\r\n }\r\n /**\r\n * 缩小\r\n */\r\n zoomOut (duration) {\r\n let zoom = this.map.getView().getZoom()\r\n this.map.getView().animate({\r\n zoom: (zoom - 1),\r\n duration: ((duration && typeof duration === 'number') ? duration : 300)\r\n })\r\n }\r\n\r\n zoomByDelta (delta, duration) {\r\n let view = this.map.getView()\r\n if (!view || !(view instanceof ol.View)) {\r\n return false\r\n } else {\r\n let currentResolution = view.getResolution()\r\n if (currentResolution) {\r\n let newResolution = view.constrainResolution(currentResolution, delta)\r\n if (duration > 0) {\r\n if (view.getAnimating()) {\r\n view.cancelAnimations()\r\n }\r\n view.animate({\r\n resolution: newResolution,\r\n duration: duration,\r\n easing: ol.easing.easeOut\r\n })\r\n } else {\r\n view.setResolution(newResolution)\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default Controls\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/map/Controls.js","import { ol } from '../constants'\r\nimport appDrag from '../event/appDrag'\r\nclass Interactions {\r\n _addInteractions (params) {\r\n let options = params || {}\r\n /* eslint new-cap: [\"error\", { \"newIsCap\": false }] */\r\n return new ol.interaction.defaults({\r\n altShiftDragRotate: ((options['altShiftDragRotate'] === false) ? options['altShiftDragRotate'] : true),\r\n doubleClickZoom: ((options['doubleClickZoom'] === false) ? options['doubleClickZoom'] : true),\r\n keyboard: ((options['keyboard'] === false) ? options['keyboard'] : true),\r\n mouseWheelZoom: ((options['mouseWheelZoom'] === false) ? options['mouseWheelZoom'] : true),\r\n shiftDragZoom: ((options['shiftDragZoom'] === false) ? options['shiftDragZoom'] : true),\r\n dragPan: ((options['dragPan'] === false) ? options['dragPan'] : true),\r\n pinchRotate: ((options['pinchRotate'] === false) ? options['pinchRotate'] : true),\r\n pinchZoom: ((options['pinchZoom'] === false) ? options['pinchZoom'] : true),\r\n zoomDelta: ((options['zoomDelta'] && (typeof (options['zoomDelta'])) === 'number') ? options['zoomDelta'] : 1), // 缩放增量(默认一级)\r\n zoomDuration: (options['zoomDuration'] && (typeof (options['zoomDelta'])) === 'number') ? options['zoomDuration'] : 300 // 缩放持续时间\r\n }).extend([new appDrag()])\r\n }\r\n}\r\n\r\nexport default Interactions\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/map/Interactions.js","import mix from '../utils/mixin'\r\nimport {ol, proj4} from '../constants'\r\nimport BaseLayers from './baseLayer'\r\nimport Controls from './Controls'\r\nimport Interactions from './Interactions'\r\nimport View from './View'\r\nimport Layer from '../layer/Layer'\r\nimport Feature from '../feature/feature'\r\nimport Style from '../style/Style'\r\nimport Overlay from '../overlay/Overlay'\r\nimport Observable from '../event/Observable'\r\n\r\nclass Map extends mix(BaseLayers, Controls, Interactions, Style, Layer, View, Feature, Overlay) {\r\n constructor () {\r\n super()\r\n this.addPointHandlerClick = null\r\n this.plotDraw = null // 标绘工具\r\n this.plotEdit = null\r\n this._lastDrawInteractionGeometry = null\r\n this.EverntCenter = new Observable()\r\n proj4.defs('EPSG:4490', '+proj=longlat +ellps=GRS80 +no_defs')\r\n ol.proj.setProj4(proj4)\r\n window.ObservableObj = new ol.Object()\r\n\r\n /**\r\n * 当前地图线要素\r\n * @type {Array}\r\n */\r\n this.currentMapLines = []\r\n /**\r\n * 当前地图点要素\r\n * @type {Array}\r\n */\r\n this.currentMapPoints = []\r\n /**\r\n * 当前地图面要素\r\n * @type {Array}\r\n */\r\n this.currentMapPolygon = []\r\n /**\r\n * 当前地图线图层\r\n * @type {Array}\r\n */\r\n this.lineLayers = new Set()\r\n /**\r\n * 当前地图点图层\r\n * @type {Array}\r\n */\r\n this.pointLayers = new Set()\r\n /**\r\n * 当前地图面图层\r\n * @type {Array}\r\n */\r\n this.polygonLayers = new Set()\r\n /**\r\n * 周边搜索要素\r\n * @type {null}\r\n */\r\n this.circleSerachFeat = null\r\n /**\r\n * 当前地图气泡\r\n * @type {null}\r\n */\r\n this.popupOverlay = null\r\n\r\n /**\r\n * 当前视图\r\n * @type {null}\r\n */\r\n this.view = null\r\n\r\n /**\r\n * 定时器\r\n * @type {null}\r\n * @private\r\n */\r\n this.timer_ = null\r\n }\r\n\r\n /**\r\n * 初始化当前地图\r\n * @param mapDiv\r\n * @param params\r\n */\r\n initMap (mapDiv, params) {\r\n try {\r\n let options = params || {}\r\n let options_ = JSON.stringify(options)\r\n let logo = this._addCopyRight(options['logo'])\r\n this.view = this._addView(options['view'])\r\n let layers = this.addBaseLayers(options['baseLayers'], options['view'])\r\n let interactions = this._addInteractions(options['interactions'])\r\n let controls = this._addControls(options['controls'])\r\n /**\r\n * 当前地图对象\r\n * @type {ol.Map}\r\n */\r\n this.map = new ol.Map({\r\n target: mapDiv,\r\n loadTilesWhileAnimating: false,\r\n loadTilesWhileInteracting: false,\r\n logo: logo,\r\n layers: layers,\r\n view: this.view,\r\n interactions: interactions,\r\n controls: controls\r\n })\r\n\r\n /**\r\n * 保存当前参数\r\n */\r\n this.map.setProperties(options_, false)\r\n\r\n this.map.on('click', event => {\r\n console.log(event.coordinate)\r\n })\r\n\r\n /**\r\n * 加载成功事件\r\n */\r\n this.EverntCenter.dispatch('loadMapSuccess', true)\r\n } catch (error) {\r\n this.EverntCenter.dispatch('loadMapSuccess', error)\r\n }\r\n }\r\n\r\n /**\r\n * 添加版权信息\r\n * @returns {boolean}\r\n * @private\r\n */\r\n _addCopyRight (params) {\r\n let logo = false\r\n if (params && typeof params !== 'object') {\r\n logo = {\r\n href: 'https://aurorafe.github.io',\r\n src: 'data:image/png;base64,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'\r\n }\r\n } else if (typeof params === 'object') {\r\n logo = params\r\n } else {\r\n logo = false\r\n }\r\n return logo\r\n }\r\n\r\n /**\r\n * 获取当前地图\r\n * @returns {ol.Map}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 设置地图实例\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n }\r\n }\r\n\r\n /**\r\n * 更新地图\r\n */\r\n updateSize () {\r\n this.map.updateSize()\r\n }\r\n\r\n /**\r\n * 地图加载完成事件(超时时间120s)\r\n * @returns {Promise}\r\n */\r\n onMapInit () {\r\n let that = this\r\n let start = new Date().getTime()\r\n return new Promise((resolve) => {\r\n if (that.map) {\r\n resolve(true)\r\n } else {\r\n let cc = 0\r\n window.clearInterval(that.timer_)\r\n that.timer_ = null\r\n that.timer_ = window.setInterval(() => {\r\n let end = new Date().getTime()\r\n cc = ((end - start) / 1000)\r\n if (that.map && cc <= 120) {\r\n resolve(true)\r\n window.clearInterval(that.timer_)\r\n that.timer_ = null\r\n }\r\n if (cc > 120 && !that.map) {\r\n resolve(false)\r\n window.clearInterval(that.timer_)\r\n that.timer_ = null\r\n }\r\n }, 50)\r\n }\r\n })\r\n }\r\n}\r\n\r\nexport default Map\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/map/Map.js","import { ol } from '../constants'\r\nclass View {\r\n _addView (params) {\r\n let option = params || {}\r\n return new ol.View({\r\n center: ((option['center'] && Array.isArray(option['center'])) ? option['center'] : [0, 0]),\r\n zoom: ((option['zoom'] && (typeof option['zoom'] === 'number')) ? option['zoom'] : 0),\r\n zoomFactor: ((option['zoomFactor'] && (typeof option['zoomFactor'] === 'number')) ? option['zoomFactor'] : 2),\r\n rotation: ((option['rotation'] && (typeof option['rotation'] === 'number')) ? option['rotation'] : 0),\r\n enableRotation: (option['enableRotation'] === false ? option['enableRotation'] : true),\r\n projection: (option['projection'] ? option['projection'] : 'EPSG:3857'),\r\n extent: ((option['extent'] && Array.isArray(option['extent']) && option['extent'].length === 4) ? option['extent'] : undefined),\r\n resolutions: ((option['resolutions'] && Array.isArray(option['resolutions']) && option['resolutions'].length > 0) ? option['resolutions'] : undefined)\r\n })\r\n }\r\n\r\n /**\r\n * 获取当前地图尺寸\r\n */\r\n getSize () {\r\n if (this.map && this.map instanceof ol.Map) {\r\n return (this.map.getSize())\r\n } else {\r\n console.log('未获取到视图!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前视图范围\r\n * @param size\r\n * @returns {ol.Extent|*}\r\n */\r\n getExtent (size) {\r\n if (size) {\r\n return (this.view.calculateExtent(size))\r\n } else {\r\n return (this.view.calculateExtent(this.map.getSize()))\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图的范围\r\n * @returns {ol.Extent}\r\n */\r\n getMapCurrentExtent () {\r\n if (this.map) {\r\n return this.view.calculateExtent(this.map.getSize())\r\n }\r\n }\r\n\r\n /**\r\n * 缩放到全图\r\n */\r\n zoomMaxExtent (zoom) {\r\n let view = this.map.getView()\r\n zoom = (typeof zoom === 'number') ? zoom : 2\r\n if (this.map && view) {\r\n let center = view.getCenter()\r\n if (center) {\r\n this.view.setCenter(center)\r\n this.view.setZoom(zoom)\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 判断点是否在视图内,如果不在地图将自动平移\r\n * @param coord\r\n */\r\n movePointToView (coord) {\r\n if (this.map) {\r\n let extent = this.getMapCurrentExtent()\r\n if (!(ol.extent.containsXY(extent, coord[0], coord[1]))) {\r\n this.view.setCenter(coord)\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 调整图层\r\n * @constructor\r\n */\r\n orderLayerZindex () {\r\n let layerindex = 10\r\n if (this.map) {\r\n let pointLayers = [...(this.pointLayers)]\r\n let lineLayers = [...(this.lineLayers)]\r\n let polygonLayers = [...(this.polygonLayers)]\r\n polygonLayers.forEach(layerName => {\r\n if (layerName) {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (layer) {\r\n layer.setZIndex(layerindex++)\r\n }\r\n }\r\n })\r\n lineLayers.forEach(layerName => {\r\n if (layerName) {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (layer) {\r\n layer.setZIndex(layerindex++)\r\n }\r\n }\r\n })\r\n pointLayers.forEach(layerName => {\r\n if (layerName) {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (layer) {\r\n layer.setZIndex(layerindex++)\r\n }\r\n }\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport default View\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/map/View.js","import {ol} from '../constants'\r\nclass BaseLayers {\r\n\r\n /**\r\n * 添加底图\r\n * @param params\r\n * @param view\r\n * @returns {[*]}\r\n */\r\n addBaseLayers (params, view) {\r\n let options = params || []\r\n let _view = view || {}\r\n if (_view) {\r\n /**\r\n * 投影\r\n * @type {ol.proj.Projection}\r\n */\r\n this.projection = ol.proj.get((_view['projection'] ? _view.projection : 'EPSG:3857'))\r\n /**\r\n * 显示范围\r\n */\r\n this.fullExtent = _view['extent'] ? _view.extent : undefined\r\n /**\r\n * 投影范围\r\n */\r\n if (this.fullExtent) {\r\n this.projection.setExtent(this.fullExtent)\r\n }\r\n /**\r\n * 瓦片原点\r\n * @desc 设置瓦片原点的目的是因为部分地图切图原点不是[0,0]\r\n * 为保证正确加载,所以必须设置瓦片原点。\r\n */\r\n this.origin = _view.origin\r\n /**\r\n * 瓦片大小\r\n * @desc 切片大小,典型值有256, 512.\r\n * 默认256\r\n */\r\n this.tileSize = _view.tileSize\r\n /**\r\n * 分辨率\r\n * @type Array\r\n */\r\n this.resolutions = _view['resolutions']\r\n }\r\n\r\n if (!options || !Array.isArray(options) || options.length <= 0) {\r\n return [new ol.layer.Group({\r\n layers: [new ol.layer.Tile({\r\n source: new ol.source.OSM()\r\n })],\r\n isBaseLayer: true\r\n })]\r\n } else {\r\n return [new ol.layer.Group({\r\n layers: this._getBaseLayerGroup(params),\r\n isBaseLayer: true\r\n })]\r\n }\r\n }\r\n\r\n /**\r\n * 获取图层组\r\n * @returns {ol.layer.Group}\r\n */\r\n _getBaseLayerGroup (layerConfig) {\r\n let [layers, labelLayers, _layers, labelLayersConfig] = [[], [], [], []]\r\n if (layerConfig && Array.isArray(layerConfig) && layerConfig.length > 0) {\r\n layerConfig.forEach(config => {\r\n if (config['layerName'] && config['layerUrl'] && config['layerType']) {\r\n let layer = null\r\n switch (config['layerType']) {\r\n case 'TileXYZ':\r\n layer = this._getXYZLayer(config)\r\n break\r\n case 'TitleWMTS':\r\n layer = this._getWMTSLayer(config)\r\n break\r\n case 'OSM':\r\n layer = this._getOSMLayer(config)\r\n break\r\n case 'ImageWMS':\r\n layer = this._getImageWMSLayer(config)\r\n break\r\n case 'TileWMS':\r\n layer = this._getTileWMSLayer(config)\r\n break\r\n case 'MapboxVectorTile':\r\n layer = this._getMapboxVectorTileLayer(config)\r\n break\r\n case 'TileArcGISRest':\r\n layer = this._getTileArcGISRestLayer(config)\r\n break\r\n }\r\n if (layer) layers.push(layer)\r\n if (config['label']) {\r\n labelLayersConfig.push(config['label'])\r\n }\r\n }\r\n })\r\n }\r\n labelLayers = this._getBaseLayerLabel(labelLayersConfig)\r\n _layers = layers.concat(labelLayers)\r\n return _layers\r\n }\r\n\r\n /**\r\n * 主要处理标注层\r\n * @param labelLayersConfig\r\n * @returns {null}\r\n * @private\r\n */\r\n _getBaseLayerLabel (labelLayersConfig) {\r\n let [labelLayers, _labelLayersLayerNames] = [[], (new Set())]\r\n if (labelLayersConfig && Array.isArray(labelLayersConfig) && labelLayersConfig.length > 0) {\r\n labelLayersConfig.forEach(config => {\r\n if (config['layerName'] && config['layerUrl'] && config['layerType']) {\r\n _labelLayersLayerNames.add(config['layerName'])\r\n }\r\n });\r\n [...(_labelLayersLayerNames)].forEach(layerName => {\r\n labelLayersConfig.every(configM => {\r\n if (configM && configM['layerName'] === layerName) {\r\n let labelLayer = null\r\n switch (configM['layerType']) {\r\n case 'TileXYZ':\r\n labelLayer = this._getXYZLayer(configM)\r\n break\r\n case 'OSM':\r\n labelLayer = this._getOSMLayer(configM)\r\n break\r\n case 'TitleWMTS':\r\n labelLayer = this._getWMTSLayer(configM)\r\n break\r\n case 'ImageWMS':\r\n labelLayer = this._getImageWMSLayer(configM)\r\n break\r\n case 'TileWMS':\r\n labelLayer = this._getTileWMSLayer(configM)\r\n break\r\n case 'MapboxVectorTile':\r\n labelLayer = this._getMapboxVectorTileLayer(configM)\r\n break\r\n case 'TileArcGISRest':\r\n labelLayer = this._getTileArcGISRestLayer(configM)\r\n break\r\n }\r\n if (labelLayer) labelLayers.push(labelLayer)\r\n return false\r\n }\r\n return true\r\n })\r\n })\r\n }\r\n return labelLayers\r\n }\r\n\r\n /**\r\n * 获取标准XYZ图层\r\n * @param config\r\n * @returns {ol.layer.Tile}\r\n * @private\r\n */\r\n _getXYZLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n if (!config.hasOwnProperty('tileGrid')) {\r\n config['tileGrid'] = {}\r\n config['tileGrid']['tileSize'] = this.tileSize\r\n config['tileGrid']['origin'] = this.origin\r\n config['tileGrid']['extent'] = this.fullExtent\r\n config['tileGrid']['resolutions'] = this.resolutions\r\n }\r\n let baseLayer = this.createXYZLayer(layerName, config)\r\n if (baseLayer && baseLayer instanceof ol.layer.Tile) {\r\n baseLayer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n baseLayer.set('isBaseLayer', true)\r\n baseLayer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n baseLayer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return baseLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 加载开源OSM图层\r\n * @param config\r\n * @returns {ol.layer.Tile}\r\n * @private\r\n */\r\n _getOSMLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let baseLayer = this.createOSMLayer(layerName, config)\r\n if (baseLayer && baseLayer instanceof ol.layer.Tile) {\r\n baseLayer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n baseLayer.set('isBaseLayer', true)\r\n baseLayer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n baseLayer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return baseLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取标准WMTS图层\r\n * @param config\r\n * @returns {ol.layer.Tile}\r\n * @private\r\n */\r\n _getWMTSLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let baseLayer = this.createWMTSLayer(layerName, config)\r\n if (baseLayer && baseLayer instanceof ol.layer.Tile) {\r\n baseLayer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n baseLayer.set('isBaseLayer', true)\r\n baseLayer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n baseLayer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return baseLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * Images WMS 方式加载\r\n * @param config\r\n * @private\r\n */\r\n _getImageWMSLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let layer = this.createImageWMSLayer(layerName, config)\r\n if (layer && layer instanceof ol.layer.Image) {\r\n layer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n layer.set('isBaseLayer', true)\r\n layer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n layer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * Title WMS 方式加载\r\n * @param config\r\n * @returns {ol.layer.Tile}\r\n * @private\r\n */\r\n _getTileWMSLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let layer = this.createTileWMSLayer(layerName, config)\r\n if (layer && layer instanceof ol.layer.Tile) {\r\n layer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n layer.set('isBaseLayer', true)\r\n layer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n layer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加MapBox的矢量图层\r\n * @param config\r\n * @returns {*}\r\n * @private\r\n */\r\n _getMapboxVectorTileLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let layer = this.createMapboxVectorTileLayer(layerName, config)\r\n if (layer && layer instanceof ol.layer.VectorTile) {\r\n layer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n layer.set('isBaseLayer', true)\r\n layer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n layer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建arcgis矢量渲染图层\r\n * @param config\r\n * @returns {*}\r\n * @private\r\n */\r\n _getTileArcGISRestLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let layer = this.createTitleLayer(layerName, config)\r\n if (layer && layer instanceof ol.layer.VectorTile) {\r\n layer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n layer.set('isBaseLayer', true)\r\n layer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n layer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取版权信息\r\n * @returns {Xr.Attribution|Jr.Attribution|Wr.Attribution|*|ol.Attribution|ol.control.Attribution}\r\n * @private\r\n */\r\n _getAttribution (params) {\r\n try {\r\n let attribution = null\r\n if (params && typeof params !== 'object') {\r\n params = {}\r\n params['url'] = 'https://aurorafe.github.io'\r\n params['messages'] = 'contributors.'\r\n params['title'] = 'HMap'\r\n attribution = new ol.Attribution({\r\n html: '© ' + '' + params['title'] + ' ' + params['messages']\r\n })\r\n } else if (typeof params === 'object') {\r\n attribution = new ol.Attribution({\r\n html: '© ' + '' + params['title'] + ' ' + params['messages']\r\n })\r\n } else {\r\n attribution = undefined\r\n }\r\n return attribution\r\n } catch (e) {\r\n console.log(e)\r\n return undefined\r\n }\r\n }\r\n}\r\n\r\nexport default BaseLayers\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/map/baseLayer.js","import { ol } from '../constants'\r\nimport { DomUtil } from '../dom'\r\nimport { trim } from '../utils/utils'\r\nimport Feature from '../feature/feature'\r\nimport mix from '../utils/mixin'\r\nclass Overlay extends mix(Feature) {\r\n constructor (map) {\r\n super()\r\n if (map && map instanceof ol.Map) {\r\n /**\r\n * 地图对象\r\n * @type {ol.Map}\r\n */\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象或者地图对象为空!')\r\n }\r\n }\r\n\r\n /**\r\n * 从空间数据中解析坐标\r\n * @param point\r\n */\r\n _getCoordinatesFromGeom (point) {\r\n let [ geometry ] = [ null ]\r\n if (point instanceof ol.geom.Geometry) {\r\n geometry = point\r\n } else if (Array.isArray(point.geometry)) {\r\n geometry = new ol.geom.Point(point.geometry)\r\n } else {\r\n geometry = new ol.format.WKT().readGeometry(point.geometry)\r\n }\r\n return geometry.getCoordinates()\r\n }\r\n /**\r\n * 添加字体图标要素\r\n * @param point\r\n * @param params\r\n */\r\n addOverlayPoint (point, params, index) {\r\n try {\r\n if (point && point['geometry']) {\r\n let coordinate = this._getCoordinatesFromGeom(point)\r\n if (point['attributes'] && (point['attributes']['id'] || point['attributes']['ID'])) {\r\n let id = (point['attributes']['id'] || point['attributes']['ID'] || params['id'])\r\n let overlay = this.map.getOverlayById(id)\r\n let creatEle = this.getElementForOverlay(point, params, index)\r\n let [marker, ele] = [creatEle['marker'], creatEle['ele']]\r\n if (!overlay) {\r\n let iconOverlay = new ol.Overlay({\r\n element: marker,\r\n positioning: 'center-center',\r\n id: id,\r\n offset: [0, 0],\r\n stopEvent: true\r\n })\r\n iconOverlay.setPosition(coordinate)\r\n iconOverlay.setProperties(point['attributes'])\r\n if (params) {\r\n iconOverlay.set('params', params)\r\n if (params['layerName']) {\r\n iconOverlay.set('layerName', params.layerName)\r\n }\r\n }\r\n this._addOverLayEvent(marker, ele, iconOverlay)\r\n this.map.addOverlay(iconOverlay)\r\n } else {\r\n this._addOverLayEvent(marker, ele, overlay)\r\n overlay.setElement(marker)\r\n }\r\n }\r\n if (params['zoomToExtent']) {\r\n let extent = (new ol.geom.Point(coordinate)).getExtent()\r\n let _extent = this.adjustExtent(extent)\r\n this.zoomToExtent(_extent, true)\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 添加要素事件\r\n * @param marker\r\n * @param OverLay\r\n * @private\r\n */\r\n _addOverLayEvent (marker, ele, OverLay) {\r\n marker.onmousedown = function (event) {\r\n if (event.button === 2) {\r\n window.ObservableObj.dispatchEvent({\r\n type: 'rightMenuEvt',\r\n originEvent: event,\r\n value: OverLay\r\n })\r\n } else if (event.button === 0) {\r\n window.ObservableObj.dispatchEvent({\r\n type: 'overlayEvent',\r\n originEvent: event,\r\n value: OverLay\r\n })\r\n }\r\n }\r\n marker.onmouseover = function (event) {\r\n ele.style.color = ele.selectColor\r\n window.ObservableObj.dispatchEvent({\r\n type: 'onMouseoverOverlay',\r\n originEvent: event,\r\n value: OverLay\r\n })\r\n }\r\n marker.onmouseout = function (event) {\r\n ele.style.color = ele.normalColor\r\n window.ObservableObj.dispatchEvent({\r\n type: 'onMouseOutOverlay',\r\n originEvent: event,\r\n value: OverLay\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 获取OverLay Dom\r\n * @param point\r\n * @param params\r\n * @param index\r\n * @returns {Element}\r\n */\r\n getElementForOverlay (point, params, index) {\r\n let marker = document.createElement('div')\r\n marker.className = 'overlay-point-content'\r\n let style = point['attributes']['style'] || params['style']\r\n let [ele, spanEle] = ['', '']\r\n if (style['element']) {\r\n ele = document.createElement('div')\r\n let eleClass = (style['element']['className'] ? style['element']['className'] : 'maker-point')\r\n DomUtil.addClass(ele, 'iconfont')\r\n DomUtil.addClass(ele, eleClass)\r\n ele.style.top = style['element']['top'] ? style['element']['top'] : '-100%'\r\n ele.style.left = style['element']['left'] ? style['element']['left'] : '100%'\r\n ele.style.fontSize = style['element']['fontSize'] ? style['element']['fontSize'] : '16px'\r\n ele.style.borderColor = style['element']['borderColor'] ? style['element']['borderColor'] : '#2A2A2A'\r\n ele.style.borderWidth = style['element']['borderWidth'] ? style['element']['borderWidth'] : '1px'\r\n ele.style.opacity = style['element']['opacity'] ? style['element']['opacity'] : 1\r\n ele.style.width = style['element']['width'] ? style['element']['width'] : '100%'\r\n ele.style.height = style['element']['height'] ? style['element']['height'] : '100%'\r\n ele.style.borderRadius = style['element']['borderRadius'] ? style['element']['borderRadius'] : '0px'\r\n ele.normalColor = ele.style.color = style['element']['color'] ? style['element']['color'] : '#1b9de8'\r\n ele.selectColor = style['element']['selectColor'] ? style['element']['selectColor'] : '#F61717'\r\n ele.innerHTML = style['element']['text'] ? style['element']['text'] : ''\r\n if (params['orderBy']) {\r\n spanEle = document.createElement('span')\r\n spanEle.innerHTML = Number(index) + 1\r\n } else if (params['orderByNum'] && point['attributes']['number'] !== undefined && point['attributes']['number'] !== '' && point['attributes']['number'] !== null) {\r\n spanEle = document.createElement('span')\r\n spanEle.innerHTML = Number(point['attributes']['number']) + 1\r\n }\r\n if (spanEle) {\r\n ele.appendChild(spanEle)\r\n }\r\n marker.appendChild(ele)\r\n }\r\n return ({\r\n marker: marker,\r\n ele: ele\r\n })\r\n }\r\n\r\n /**\r\n * 添加多个OverLay\r\n * @param points\r\n * @param params\r\n */\r\n addOverlayPoints (points, params) {\r\n try {\r\n if (points && Array.isArray(points)) {\r\n let multiPoint = new ol.geom.MultiPoint([])\r\n let change = false\r\n points.forEach((item, index) => {\r\n if (item && item['geometry']) {\r\n let _geom = this._getGeometryFromPoint(item)\r\n if (_geom) {\r\n this.addOverlayPoint(item, params, index)\r\n multiPoint.appendPoint(_geom)\r\n }\r\n }\r\n })\r\n if (params['zoomToExtent']) {\r\n params['zoomToExtent'] = !params['zoomToExtent']\r\n change = true\r\n }\r\n if (change) {\r\n this._getExtent(multiPoint)\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 移除overlay\r\n * @param overlay\r\n */\r\n removeOverLay (overlay) {\r\n try {\r\n if (overlay && overlay instanceof ol.Overlay && this.map) {\r\n if (overlay.get('markFeature') && overlay.get('markFeature') instanceof ol.Feature) {\r\n this.removeFeature(overlay.get('markFeature'))\r\n }\r\n this.map.removeOverlay(overlay)\r\n return overlay\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 通过id移除overlay\r\n * @param id\r\n * @returns {ol.Overlay}\r\n */\r\n removeOverlayById (id) {\r\n try {\r\n if (this.map && id) {\r\n let _id = trim(id)\r\n let overLay = this.map.getOverlayById(_id)\r\n if (overLay && overLay instanceof ol.Overlay) {\r\n if (overLay.get('markFeature') && overLay.get('markFeature') instanceof ol.Feature) {\r\n this.removeFeature(overLay.get('markFeature'))\r\n }\r\n this.map.removeOverlay(overLay)\r\n }\r\n return overLay\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerName移除OverLay\r\n * @param layerName\r\n * @returns {Array}\r\n */\r\n removeOverlayByLayerName (layerName) {\r\n let _overlays = []\r\n if (this.map && layerName) {\r\n let overlays = this.map.getOverlays().getArray()\r\n let len = overlays.length\r\n for (let i = 0; i < len; i++) {\r\n if (overlays[i] && overlays[i].get('layerName') === layerName) {\r\n _overlays.push(overlays[i])\r\n if (overlays[i].get('markFeature') && overlays[i].get('markFeature') instanceof ol.Feature) {\r\n this.removeFeature(overlays[i].get('markFeature'))\r\n }\r\n this.map.removeOverlay(overlays[i])\r\n i--\r\n }\r\n }\r\n }\r\n return _overlays\r\n }\r\n\r\n /**\r\n * 通过id数组移除OverLay\r\n * @param ids\r\n * @returns {Array}\r\n */\r\n removeOverlayByIds (ids) {\r\n try {\r\n let overlays = []\r\n if (ids && Array.isArray(ids) && ids.length > 0) {\r\n ids.forEach(id => {\r\n if (id) {\r\n let overlay = this.removeOverlayById(id)\r\n overlays.push(overlay)\r\n }\r\n })\r\n }\r\n return overlays\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerNames移除Overlay\r\n * @param layerNames\r\n * @returns {Array}\r\n */\r\n removeOverlayByLayerNames (layerNames) {\r\n try {\r\n let overlays = []\r\n if (layerNames && Array.isArray(layerNames) && layerNames.length > 0) {\r\n layerNames.forEach(layerName => {\r\n if (layerName) {\r\n let rOverlays = this.removeOverlayByLayerName(layerName)\r\n if (rOverlays && rOverlays.length > 0) {\r\n overlays = overlays.concat(rOverlays)\r\n }\r\n }\r\n })\r\n }\r\n return overlays\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 高亮OverLay\r\n * @param id\r\n * @param overlay\r\n * @returns {ol.Overlay}\r\n */\r\n highLightOverLay (id, overlay) {\r\n if (!this.map) return\r\n if (overlay && overlay instanceof ol.Overlay) {\r\n let overlayElement = overlay.getElement()\r\n let iconElement = overlayElement.getElementsByTagName('div')[0]\r\n iconElement.style.color = iconElement.selectColor\r\n DomUtil.addClass(overlayElement, 'overlay-point-marker-raise')\r\n return overlay\r\n } else if (id && trim(id) !== \"''\") {\r\n let _overlay = this.map.getOverlayById(id)\r\n let _overlayElement = _overlay.getElement()\r\n let _iconElement = _overlayElement.getElementsByTagName('div')[0]\r\n _iconElement.style.color = _iconElement.selectColor\r\n DomUtil.addClass(_overlayElement, 'overlay-point-marker-raise')\r\n return _overlay\r\n }\r\n }\r\n\r\n /**\r\n * 取消高亮OverLay\r\n * @param id\r\n * @param overlay\r\n * @returns {ol.Overlay}\r\n */\r\n unHighLightOverLay (id, overlay) {\r\n if (!this.map) return\r\n if (overlay && overlay instanceof ol.Overlay) {\r\n let overlayElement = overlay.getElement()\r\n let iconElement = overlayElement.getElementsByTagName('div')[0]\r\n iconElement.style.color = iconElement.normalColor\r\n DomUtil.removeClass(overlayElement, 'overlay-point-marker-raise')\r\n return overlay\r\n } else if (id && trim(id) !== \"''\") {\r\n let _overlay = this.map.getOverlayById(id)\r\n let _overlayElement = _overlay.getElement()\r\n let _iconElement = _overlayElement.getElementsByTagName('div')[0]\r\n _iconElement.style.color = _iconElement.normalColor\r\n DomUtil.removeClass(_overlayElement, 'overlay-point-marker-raise')\r\n return _overlay\r\n }\r\n }\r\n\r\n /**\r\n * 通过id获取OverLay\r\n * @param id\r\n * @returns {ol.Overlay}\r\n */\r\n getOverLayById (id) {\r\n let _id = trim(id)\r\n let overLay = this.map.getOverlayById(_id)\r\n return overLay\r\n }\r\n\r\n /**\r\n * 通过LayerNames获取OverLays\r\n * @param layerNames\r\n * @returns {Array}\r\n */\r\n getOverLaysByLayerNames (layerNames) {\r\n try {\r\n let overlays = []\r\n if (layerNames && Array.isArray(layerNames) && layerNames.length > 0) {\r\n layerNames.forEach(layerName => {\r\n if (layerName) {\r\n let rOverlays = this.getOverlayByLayerName(layerName)\r\n if (rOverlays && rOverlays.length > 0) {\r\n overlays = overlays.concat(rOverlays)\r\n }\r\n }\r\n })\r\n }\r\n return overlays\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerName获取OverLays\r\n * @param layerName\r\n * @returns {Array}\r\n */\r\n getOverlayByLayerName (layerName) {\r\n let _overlays = []\r\n if (this.map && layerName) {\r\n let overlays = this.map.getOverlays().getArray()\r\n overlays.forEach(overlay => {\r\n if (overlay && overlay.get('layerName') === layerName) {\r\n _overlays.push(overlay)\r\n }\r\n })\r\n }\r\n return _overlays\r\n }\r\n}\r\n\r\nexport default Overlay\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/overlay/Overlay.js","/**\r\n * Created by FDD on 2017/5/14.\r\n * @desc 用于地图弹出气泡\r\n */\r\nimport {ol} from '../constants'\r\nimport {DomUtil} from '../dom'\r\nimport {getuuid} from '../utils/utils'\r\nlet Popover = function (mapInstence, params) {\r\n if (mapInstence && mapInstence['map'] instanceof ol.Map) {\r\n /**\r\n * 地图对象\r\n * @type {ol.Map}\r\n */\r\n this.mapInstence = mapInstence\r\n this.map = mapInstence['map']\r\n } else {\r\n throw new Error('传入的不是地图对象或者地图对象为空!')\r\n }\r\n\r\n /**\r\n * 当前气泡配置项\r\n * @type {*}\r\n */\r\n this.options = params || {}\r\n\r\n /**\r\n * 是否自动平移(不传时默认自动平移)\r\n */\r\n if (this.options['autoPan'] === undefined) {\r\n this.options['autoPan'] = true\r\n }\r\n\r\n /**\r\n * 气泡偏移量\r\n */\r\n if (!this.options['offset']) {\r\n this.options.offset = [0, 0]\r\n }\r\n\r\n /**\r\n * 平移时是否有动画效果\r\n */\r\n if (this.options['autoPanAnimation'] === undefined) {\r\n this.options['autoPanAnimation'] = {\r\n duration: 250\r\n }\r\n }\r\n\r\n /**\r\n * 气泡类名\r\n */\r\n if (!this.options['className']) {\r\n this.options['className'] = 'hmap-js-popup'\r\n }\r\n\r\n /**\r\n * 气泡透明度\r\n */\r\n if (this.options['opacity'] === undefined) {\r\n this.options['opacity'] = 1\r\n }\r\n\r\n /**\r\n * 获取id\r\n */\r\n if (this.options['id'] === undefined || this.options['id'] === null) {\r\n this.options['id'] = getuuid()\r\n }\r\n\r\n /**\r\n * 底部icon\r\n */\r\n if (!this.options['markIcon']) {\r\n this.options['markIcon'] = 'data:image;base64,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0p8zAAA7BWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTYtMDQtMDdUMTE6MDM6MzkrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNi0wNC0wN1QyMDozMDoxNSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTYtMDQtMDdUMjA6MzA6MTUrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6MDk1Y2NlYjctNjUzMC00YjlhLTkzMWMtZjFlNGVkMDFkMjNkPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjU5MmJmNDUyLTlhOWEtNDBiYS04YWUzLWQxZTVlZDg4MDVmZjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjU5MmJmNDUyLTlhOWEtNDBiYS04YWUzLWQxZTVlZDg4MDVmZjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1OTJiZjQ1Mi05YTlhLTQwYmEtOGFlMy1kMWU1ZWQ4ODA1ZmY8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTYtMDQtMDdUMTE6MDM6MzkrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoTWFjaW50b3NoKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNvbnZlcnRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6cGFyYW1ldGVycz5mcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nPC9zdEV2dDpwYXJhbWV0ZXJzPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDowOTVjY2ViNy02NTMwLTRiOWEtOTMxYy1mMWU0ZWQwMWQyM2Q8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTYtMDQtMDdUMjA6MzA6MTUrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoTWFjaW50b3NoKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4xMzwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4yODwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+u0hEhgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAB/klEQVR42pSSP08UYRDGf89lAWNi4h/kOkxItCFqYSkQSipqPwAWgIXkEv0Wl1gctn4Tw3ImlBAqaA4t9DaSnMZEip13x+Levds7ciCTzCab93memXlm9Ht1FSRwB7SE2MZ9GfQQ8RN8H6eFaOMCOeqtrAAkDh+ALWLIwUU1doG3QJ5YMHB9BDY0M83M2hrh21fs8Ah3B0H8bOFMI3+dmIWXgg2A6acvmFlfxy8u6G1u4hHuw2obgk+JmW2XD8XxMVNHR+QnJ+RmA2SVKHijs+fPukAdNFCmBHn0aGQ0vid5bvVSQiVawqNEVSqSZxMLlgH1qpxiP16a4EOai/PEcvsMvOqrll6PzFDyUH9PqQ7nHy0h9hmZiMu/7kgCWK5ZYW2z0ApWEMwIIYymGRYCRREIZq0QrJ0UVoDYoW/f1rCnSyV3gR1wdFCfG6Lcl5C2gRVgFuccPEVqAe2BUQdz9cqh9W368u79jyzrdjuds/lGmj6o+o0cuY+urtlsAniWZZx1OnSzTHt7eyOYGhPCuXTl15N0BWsiaXhTNyH5mPP/RZpY50ojJpe6ZqabGoEm9leTRDWHFB9MNY6pVZq5Dyw0Go3F/hkKIdI0XQQW4rsAkkh6DNwZHynu9lbMe8AscFr282ScNCH+VEmKSneB28BUNKkAcuAv8AvoAf5vALfw5dErL2VFAAAAAElFTkSuQmCC'\r\n }\r\n /**\r\n * 要素所在图层\r\n */\r\n if (!this.options['layerName']) {\r\n this.options['layerName'] = 'PopoverFeatureLayer'\r\n }\r\n\r\n let size = this.map.getSize()\r\n this.container = DomUtil.create('div', this.options['className'])\r\n this.content = DomUtil.create('div', 'hmap-js-popup-content', this.container)\r\n this.content.style.maxHeight = size[1] - 20 + 'px'\r\n if (this.options['showCloser'] !== false) {\r\n this.closer = DomUtil.create('div', 'hmap-js-popup-closer', this.container)\r\n this.closer.innerHTML = '+'\r\n this.closer.addEventListener('click', (event) => {\r\n let e = !event ? window.event : event\r\n e.stopPropagation()\r\n if (this && this.options['id']) {\r\n this.mapInstence.removeOverLay(this)\r\n }\r\n })\r\n }\r\n if (this.options['showMinimize'] !== false) {\r\n this.minimize = DomUtil.create('div', 'hmap-js-popup-minimize', this.container)\r\n this.minimize.innerHTML = '_'\r\n this.minimize.addEventListener('click', (event) => {\r\n let e = !event ? window.event : event\r\n e.stopPropagation()\r\n if (this) {\r\n this.showMinimize()\r\n }\r\n })\r\n }\r\n this.enableTouchScroll_(this.content)\r\n this.options.element = this.container\r\n /**\r\n * 最小化的label\r\n * @type {null}\r\n */\r\n this.miniOverLay = null\r\n ol.Overlay.call(this, {\r\n element: this.container,\r\n stopEvent: true,\r\n offset: this.options['offset'],\r\n id: this.options['id'],\r\n layerName: this.options['layerName'],\r\n insertFirst: ((this.options.hasOwnProperty('insertFirst')) ? this.options.insertFirst : true)\r\n })\r\n}\r\nol.inherits(Popover, ol.Overlay)\r\n\r\n/**\r\n * 显示当前气泡\r\n * @param coord\r\n * @param html\r\n * @returns {Popover}\r\n */\r\nPopover.prototype.show = function (coord, html) {\r\n this.coords = coord\r\n if (html instanceof HTMLElement) {\r\n this.content.innerHTML = ''\r\n this.content.appendChild(html)\r\n } else {\r\n this.content.innerHTML = html\r\n }\r\n this.container.style.display = 'block'\r\n this.content.scrollTop = 0\r\n if (this.options['showMarkFeature']) {\r\n this.showMarkFeature(coord)\r\n }\r\n if (this.markFeature) {\r\n let size = this.markFeature.getStyle().getImage().getSize()\r\n if (size && this.options['offset']) {\r\n this.options['offset'] = [this.options['offset'][0], this.options['offset'][1] - size[1]]\r\n }\r\n }\r\n this.setOffset(this.options['offset'])\r\n this.setPosition(coord)\r\n this.updateSize()\r\n return this\r\n}\r\n/**\r\n * 显示底部标记要素\r\n */\r\nPopover.prototype.showMarkFeature = function (coord) {\r\n this.markFeature = new ol.Feature({\r\n params: {\r\n moveable: true\r\n },\r\n geometry: new ol.geom.Point(coord)\r\n })\r\n this.set('markFeature', this.markFeature)\r\n let style = new ol.style.Style({\r\n image: new ol.style.Icon({\r\n anchor: [0.5, 1],\r\n anchorXUnits: 'fraction',\r\n anchorYUnits: 'fraction',\r\n opacity: 1,\r\n src: this.options['markIcon']\r\n })\r\n })\r\n this.markFeature.setId(this.options['id'])\r\n this.markFeature.setStyle(style)\r\n this.markFeature.on('featureMove', event => {\r\n let coords = this.markFeature.getGeometry().getCoordinates()\r\n this.coords = coords\r\n this.setPosition(coords)\r\n if (this.miniOverLay) {\r\n this.miniOverLay.setPosition(this.coords)\r\n }\r\n })\r\n let layer = this.mapInstence.createVectorLayer(this.options['layerName'], {\r\n create: true\r\n })\r\n if (layer && layer instanceof ol.layer.Vector) {\r\n layer.getSource().addFeature(this.markFeature)\r\n }\r\n}\r\n/**\r\n * 对气泡最小化\r\n */\r\nPopover.prototype.showMinimize = function () {\r\n let that = this\r\n if (this.options['showMarkFeature']) {\r\n if (!this.miniOverLay) {\r\n let element = DomUtil.create('span', 'hmap-marker-minimize-panel')\r\n element.setAttribute('data-state', 'block')\r\n that.container.style.display = 'none'\r\n let eventListener = (event) => {\r\n let e = !event ? window.event : event\r\n e.stopPropagation()\r\n that.container.style.display = 'block'\r\n that.miniOverLay.getElement().style.display = 'none'\r\n this.miniOverLay.getElement().setAttribute('data-state', 'none')\r\n }\r\n element.removeEventListener('click', eventListener)\r\n element.addEventListener('click', eventListener)\r\n let label = DomUtil.create('label', 'hmap-marker-minimize-label', element)\r\n if (this.options['minimizeText']) {\r\n label.innerText = this.options['minimizeText']\r\n label.setAttribute('title', this.options['minimizeText'])\r\n } else {\r\n label.innerText = '我的标记'\r\n label.setAttribute('title', '我的标记')\r\n }\r\n this.miniOverLay = new ol.Overlay({\r\n element: element,\r\n stopEvent: true,\r\n offset: [0, 0],\r\n id: this.options['id'] + '_minimize',\r\n position: this.coords\r\n })\r\n this.map.addOverlay(this.miniOverLay)\r\n } else {\r\n this.miniOverLay.getElement().style.display = 'block'\r\n that.container.style.display = 'none'\r\n this.miniOverLay.getElement().setAttribute('data-state', 'block')\r\n this.miniOverLay.setPosition(this.coords)\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * 隐藏当前气泡\r\n * @returns {Popover}\r\n */\r\nPopover.prototype.hide = function () {\r\n this.container.style.display = 'none'\r\n if (this && this.options['id']) {\r\n this.mapInstence.removeOverLay(this)\r\n }\r\n return this\r\n}\r\n\r\n/**\r\n * 更新气泡大小\r\n * @returns {Popover}\r\n */\r\nPopover.prototype.updateSize = function () {\r\n this.container.style.marginLeft = (-this.container.clientWidth / 2) - 1 + 'px'\r\n this.container.style.display = 'block'\r\n this.container.style.opacity = 1\r\n this.content.scrollTop = 0\r\n this.mapInstence.map.render()\r\n return this\r\n}\r\n\r\n/**\r\n * 返回气泡状态值\r\n * @returns {boolean}\r\n */\r\nPopover.prototype.isOpened = function () {\r\n return (this.container.style.display === 'block')\r\n}\r\n\r\n/**\r\n * 判断是否为移动设备(触摸)\r\n * @returns {boolean}\r\n * @private\r\n */\r\nPopover.prototype.isTouchDevice_ = function () {\r\n try {\r\n document.createEvent('TouchEvent')\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n}\r\n\r\n/**\r\n * 允许触摸滚动\r\n * @param elm\r\n * @private\r\n */\r\nPopover.prototype.enableTouchScroll_ = function (elm) {\r\n if (this.isTouchDevice_()) {\r\n let scrollStartPos = 0\r\n elm.addEventListener('touchstart', event => {\r\n scrollStartPos = this.scrollTop + event.touches[0].pageY\r\n }, false)\r\n elm.addEventListener('touchmove', event => {\r\n this.scrollTop = scrollStartPos - event.touches[0].pageY\r\n }, false)\r\n }\r\n}\r\n\r\nexport default Popover\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/overlay/Popover.js","/**\r\n * Created by FDD on 2017/5/15.\r\n * @desc PlotDraw\r\n */\r\n\r\nimport { ol } from '../../constants'\r\nimport { MathDistance } from '../Utils/utils'\r\nimport EventType from './EventType'\r\nimport * as Events from '../../event/Events'\r\nimport mix from '../../utils/mixin'\r\nimport Layer from '../../layer/Layer'\r\nimport Plot from '../index'\r\nimport Style from '../../style/Style'\r\nimport PlotTypes from '../Utils/PlotTypes'\r\nconst Observable = ol.Observable\r\nclass PlotDraw extends mix(Observable, Plot, Layer, Style) {\r\n constructor (map, params) {\r\n super()\r\n ol.Observable.call(this, [])\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n this.options = params || {}\r\n /**\r\n * 交互点\r\n * @type {null}\r\n */\r\n this.points = null\r\n /**\r\n * 当前标绘工具\r\n * @type {null}\r\n */\r\n this.plot = null\r\n /**\r\n * 当前要素\r\n * @type {null}\r\n */\r\n this.feature = null\r\n /**\r\n * 标绘类型\r\n * @type {null}\r\n */\r\n this.plotType = null\r\n /**\r\n * 当前标绘参数\r\n * @type {null}\r\n */\r\n this.plotParams = null\r\n /**\r\n * 当前地图视图\r\n * @type {Element}\r\n */\r\n this.mapViewport = this.map.getViewport()\r\n /**\r\n * 地图双击交互\r\n * @type {null}\r\n */\r\n this.dblClickZoomInteraction = null\r\n\r\n /**\r\n * 绘制OverLay\r\n * @type {null}\r\n */\r\n this.drawOverlay = null\r\n\r\n /**\r\n * 事件监听器\r\n * @type {*}\r\n */\r\n this.Observable = new ol.Object()\r\n\r\n /**\r\n * 创建图层名称\r\n * @type {string}\r\n */\r\n this.layerName = ((this.options && this.options['layerName']) ? this.options['layerName'] : 'GISPLOTLAYER')\r\n\r\n /**\r\n * 当前矢量图层\r\n * @type {*}\r\n */\r\n this.drawLayer = this.createVectorLayer(this.layerName, {\r\n create: true\r\n })\r\n }\r\n\r\n /**\r\n * 激活工具\r\n * @param type\r\n * @param params\r\n */\r\n active (type, params) {\r\n this.disActive()\r\n this.deactiveMapTools()\r\n this.map.on('click', this.mapFirstClickHandler, this)\r\n this.plotType = type\r\n this.plotParams = params || {}\r\n }\r\n\r\n /**\r\n * 取消激活状态\r\n */\r\n disActive () {\r\n this.removeEventHandlers()\r\n this.map.removeLayer(this.drawOverlay)\r\n this.points = []\r\n this.plot = null\r\n this.feature = null\r\n this.plotType = null\r\n this.plotParams = null\r\n this.activateMapTools()\r\n }\r\n\r\n /**\r\n * PLOT是否处于激活状态\r\n * @returns {boolean}\r\n */\r\n isDrawing () {\r\n return (this.plotType !== null)\r\n }\r\n\r\n /**\r\n * 地图事件处理\r\n * 激活工具后第一次点击事件\r\n * @param event\r\n */\r\n mapFirstClickHandler (event) {\r\n this.points.push(event.coordinate)\r\n this.plot = this.createPlot(this.plotType, this.points, this.plotParams)\r\n this.plot.setMap(this.map)\r\n this.feature = new ol.Feature(this.plot)\r\n this.drawLayer.getSource().addFeature(this.feature)\r\n this.map.un('click', this.mapFirstClickHandler, this)\r\n if (this.plotType === PlotTypes.POINT || this.plotType === PlotTypes.PENNANT) {\r\n this.addPointStyle(this.feature, this.plotParams)\r\n this.plot.finishDrawing()\r\n this.drawEnd(event)\r\n } else {\r\n this.map.on('click', this.mapNextClickHandler, this)\r\n if (!this.plot.freehand) {\r\n this.map.on('dblclick', this.mapDoubleClickHandler, this)\r\n }\r\n Events.listen(this.mapViewport, EventType.MOUSEMOVE, this.mapMouseMoveHandler, this, false)\r\n }\r\n if (this.plotType && this.feature) {\r\n this.plotParams['plotType'] = this.plotType\r\n this.feature.setProperties(this.plotParams)\r\n }\r\n }\r\n\r\n /**\r\n * 添加点的样式\r\n * @param feature\r\n * @param params\r\n */\r\n addPointStyle (feature, params) {\r\n let style = this.getStyleByPoint(params)\r\n feature.setStyle(style)\r\n }\r\n\r\n /**\r\n * 地图点击事件处理\r\n * @param event\r\n * @returns {boolean}\r\n */\r\n mapNextClickHandler (event) {\r\n if (!this.plot.freehand) {\r\n if (MathDistance(event.coordinate, this.points[this.points.length - 1]) < 0.0001) {\r\n return false\r\n }\r\n }\r\n this.points.push(event.coordinate)\r\n this.plot.setPoints(this.points)\r\n if (this.plot.fixPointCount === this.plot.getPointCount()) {\r\n this.mapDoubleClickHandler(event)\r\n }\r\n if (this.plot && this.plot.freehand) {\r\n this.mapDoubleClickHandler(event)\r\n }\r\n }\r\n\r\n /**\r\n * 地图双击事件处理\r\n * @param event\r\n */\r\n mapDoubleClickHandler (event) {\r\n event.preventDefault()\r\n this.plot.finishDrawing()\r\n this.drawEnd(event)\r\n }\r\n\r\n /**\r\n * 地图事件处理\r\n * 鼠标移动事件\r\n * @param event\r\n * @returns {boolean}\r\n */\r\n mapMouseMoveHandler (event) {\r\n let coordinate = this.map.getCoordinateFromPixel([event.offsetX, event.offsetY])\r\n if (MathDistance(coordinate, this.points[this.points.length - 1]) < 0.0001) {\r\n return false\r\n }\r\n if (!this.plot.freehand) {\r\n let pnts = this.points.concat([coordinate])\r\n this.plot.setPoints(pnts)\r\n } else {\r\n this.points.push(coordinate)\r\n this.plot.setPoints(this.points)\r\n }\r\n }\r\n\r\n /**\r\n * 移除事件监听\r\n */\r\n removeEventHandlers () {\r\n this.map.un('click', this.mapFirstClickHandler, this)\r\n this.map.un('click', this.mapNextClickHandler, this)\r\n Events.unlisten(this.mapViewport, EventType.MOUSEMOVE, this.mapMouseMoveHandler, this)\r\n this.map.un('dblclick', this.mapDoubleClickHandler, this)\r\n }\r\n\r\n /**\r\n * 绘制结束\r\n */\r\n drawEnd (event) {\r\n this.Observable.dispatchEvent({\r\n type: 'drawEnd',\r\n event: event,\r\n feature: this.feature\r\n })\r\n if (this.feature && this.options['isClear']) {\r\n this.drawLayer.getSource().removeFeature(this.feature)\r\n }\r\n this.activateMapTools()\r\n this.removeEventHandlers()\r\n this.map.removeOverlay(this.drawOverlay)\r\n this.points = []\r\n this.plot = null\r\n this.plotType = null\r\n this.plotParams = null\r\n this.feature = null\r\n }\r\n\r\n /**\r\n * 添加要素\r\n */\r\n addFeature () {\r\n this.feature = new ol.Feature(this.plot)\r\n if (this.feature && this.drawLayer) {\r\n this.drawLayer.getSource().addFeature(this.feature)\r\n }\r\n }\r\n\r\n /**\r\n * 取消激活地图交互工具\r\n */\r\n deactiveMapTools () {\r\n let interactions = this.map.getInteractions().getArray()\r\n interactions.every(item => {\r\n if (item instanceof ol.interaction.DoubleClickZoom) {\r\n this.dblClickZoomInteraction = item\r\n this.map.removeInteraction(item)\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * 激活已取消的地图工具\r\n * 还原之前状态\r\n */\r\n activateMapTools () {\r\n if (this.dblClickZoomInteraction && this.dblClickZoomInteraction instanceof ol.interaction.DoubleClickZoom) {\r\n this.map.addInteraction(this.dblClickZoomInteraction)\r\n this.dblClickZoomInteraction = null\r\n }\r\n }\r\n}\r\n\r\nexport default PlotDraw\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Event/PlotDraw.js","import { ol } from '../../constants'\r\nimport EventType from './EventType'\r\nimport { DomUtil } from '../../dom'\r\nimport * as Events from '../../event/Events'\r\nconst Observable = ol.Observable\r\nclass PlotEdit extends Observable {\r\n constructor (map) {\r\n super()\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n /**\r\n * 当前地图容器\r\n * @type {Element}\r\n */\r\n this.mapViewport = this.map.getViewport()\r\n /**\r\n * 激活绘制工具\r\n * @type {null}\r\n */\r\n this.activePlot = null\r\n /**\r\n * 开始点\r\n * @type {null}\r\n */\r\n this.startPoint = null\r\n /**\r\n * clone的控制点\r\n * @type {null}\r\n */\r\n this.ghostControlPoints = null\r\n /**\r\n * 控制点\r\n * @type {null}\r\n */\r\n this.controlPoints = null\r\n /**\r\n * 鼠标移入\r\n * @type {boolean}\r\n */\r\n this.mouseOver = false\r\n /**\r\n * 元素\r\n * @type {{}}\r\n */\r\n this.elementTable = {}\r\n /**\r\n * 当前激活的控制点的ID\r\n * @type {null}\r\n */\r\n this.activeControlPointId = null\r\n /**\r\n * 地图拖拽交互\r\n * @type {null}\r\n */\r\n this.mapDragPan = null\r\n /**\r\n * 未激活之前鼠标样式\r\n * @type {null}\r\n * @private\r\n */\r\n this.previousCursor_ = null\r\n }\r\n\r\n /**\r\n * 初始化提示DOM\r\n * @returns {boolean}\r\n */\r\n initHelperDom () {\r\n if (!this.map || !this.activePlot) {\r\n return false\r\n }\r\n let parent = this.getMapParentElement()\r\n if (!parent) {\r\n return false\r\n } else {\r\n let hiddenDiv = DomUtil.createHidden('div', parent, 'plot-helper-hidden-div')\r\n let cPnts = this.getControlPoints()\r\n if (cPnts && Array.isArray(cPnts) && cPnts.length > 0) {\r\n cPnts.forEach((item, index) => {\r\n let id = 'plot-helper-control-point-div' + '-' + index\r\n DomUtil.create('div', 'plot-helper-control-point-div', hiddenDiv, id)\r\n this.elementTable[id] = index\r\n })\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 获取地图元素的父元素\r\n * @returns {*}\r\n */\r\n getMapParentElement () {\r\n let mapElement = this.map.getTargetElement()\r\n if (!mapElement) {\r\n return false\r\n } else {\r\n return mapElement.parentNode\r\n }\r\n }\r\n\r\n /**\r\n * 销毁帮助提示DOM\r\n */\r\n destroyHelperDom () {\r\n if (this.controlPoints && Array.isArray(this.controlPoints) && this.controlPoints.length > 0) {\r\n this.controlPoints.forEach((item, index) => {\r\n if (item && item instanceof ol.Overlay) {\r\n this.map.removeOverlay(item)\r\n }\r\n let element = DomUtil.get('plot-helper-control-point-div' + '-' + index)\r\n if (element) {\r\n DomUtil.removeListener(element, 'mousedown', this.controlPointMouseDownHandler, this)\r\n DomUtil.removeListener(element, 'mousemove', this.controlPointMouseMoveHandler2, this)\r\n }\r\n })\r\n this.controlPoints = []\r\n }\r\n let parent = this.getMapParentElement()\r\n let hiddenDiv = DomUtil.get('plot-helper-hidden-div')\r\n if (hiddenDiv && parent) {\r\n DomUtil.remove(hiddenDiv, parent)\r\n }\r\n }\r\n\r\n /**\r\n * 初始化要素控制点\r\n */\r\n initControlPoints () {\r\n this.controlPoints = []\r\n let cPnts = this.getControlPoints()\r\n if (cPnts && Array.isArray(cPnts) && cPnts.length > 0) {\r\n cPnts.forEach((item, index) => {\r\n let id = 'plot-helper-control-point-div' + '-' + index\r\n this.elementTable[id] = index\r\n let element = DomUtil.get(id)\r\n let pnt = new ol.Overlay({\r\n id: id,\r\n position: cPnts[index],\r\n positioning: 'center-center',\r\n element: element\r\n })\r\n this.controlPoints.push(pnt)\r\n this.map.addOverlay(pnt)\r\n this.map.render()\r\n DomUtil.addListener(element, 'mousedown', this.controlPointMouseDownHandler, this)\r\n DomUtil.addListener(element, 'mousemove', this.controlPointMouseMoveHandler2, this)\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 对控制点的移动事件\r\n * @param e\r\n */\r\n controlPointMouseMoveHandler2 (e) {\r\n e.stopImmediatePropagation()\r\n }\r\n\r\n /**\r\n * 对控制点的鼠标按下事件\r\n * @param e\r\n */\r\n controlPointMouseDownHandler (e) {\r\n let id = e.target.id\r\n this.activeControlPointId = id\r\n Events.listen(this.mapViewport, EventType.MOUSEMOVE, this.controlPointMouseMoveHandler, this, false)\r\n Events.listen(this.mapViewport, EventType.MOUSEUP, this.controlPointMouseUpHandler, this, false)\r\n }\r\n\r\n /**\r\n * 对控制点的移动事件\r\n * @param e\r\n */\r\n controlPointMouseMoveHandler (e) {\r\n let coordinate = this.map.getCoordinateFromPixel([e.offsetX, e.offsetY])\r\n if (this.activeControlPointId) {\r\n let plot = this.activePlot.getGeometry()\r\n let index = this.elementTable[this.activeControlPointId]\r\n plot.updatePoint(coordinate, index)\r\n let overlay = this.map.getOverlayById(this.activeControlPointId)\r\n overlay.setPosition(coordinate)\r\n }\r\n }\r\n\r\n /**\r\n * 对控制点的鼠标抬起事件\r\n * @param e\r\n */\r\n controlPointMouseUpHandler (e) {\r\n Events.unlisten(this.mapViewport, EventType.MOUSEMOVE, this.controlPointMouseMoveHandler, this)\r\n Events.unlisten(this.mapViewport, EventType.MOUSEUP, this.controlPointMouseUpHandler, this)\r\n }\r\n\r\n /**\r\n * 激活工具\r\n * @param plot\r\n * @returns {boolean}\r\n */\r\n activate (plot) {\r\n try {\r\n if (!plot || !(plot instanceof ol.Feature) || plot === this.activePlot || plot.get('notInstancePlot')) {\r\n return false\r\n } else {\r\n let geom = plot.getGeometry()\r\n if (!geom.isPlot || !geom.isPlot()) {\r\n return false\r\n } else {\r\n this.deactivate()\r\n this.previousCursor_ = this.map.getTargetElement().style.cursor\r\n this.activePlot = plot\r\n window.setTimeout(() => {\r\n // this.dispatchEvent(new EditEvent(EditEvent.ACTIVE_PLOT_CHANGE, this.activePlot))\r\n }, 500)\r\n this.map.on('pointermove', this.plotMouseOverOutHandler, this)\r\n this.initHelperDom()\r\n this.initControlPoints()\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取要素的控制点\r\n * @returns {Array}\r\n */\r\n getControlPoints () {\r\n let points = []\r\n if (this.activePlot) {\r\n let geom = this.activePlot.getGeometry()\r\n if (geom) {\r\n points = geom.getPoints()\r\n }\r\n }\r\n return points\r\n }\r\n\r\n /**\r\n * 鼠标移出要编辑的要素范围\r\n * @param e\r\n * @returns {T|undefined}\r\n */\r\n plotMouseOverOutHandler (e) {\r\n try {\r\n let feature = this.map.forEachFeatureAtPixel(e.pixel, function (feature, layer) {\r\n return feature\r\n })\r\n if (feature && feature === this.activePlot) {\r\n if (!this.mouseOver) {\r\n this.mouseOver = true\r\n this.map.getTargetElement().style.cursor = 'move'\r\n this.map.on('pointerdown', this.plotMouseDownHandler, this)\r\n }\r\n } else {\r\n if (this.mouseOver) {\r\n this.mouseOver = false\r\n this.map.getTargetElement().style.cursor = 'default'\r\n this.map.un('pointerdown', this.plotMouseDownHandler, this)\r\n }\r\n }\r\n return feature\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 在要编辑的要素按下鼠标按键\r\n * @param e\r\n */\r\n plotMouseDownHandler (e) {\r\n this.ghostControlPoints = this.getControlPoints()\r\n this.startPoint = e.coordinate\r\n this.disableMapDragPan()\r\n this.map.on('pointerup', this.plotMouseUpHandler, this)\r\n this.map.on('pointerdrag', this.plotMouseMoveHandler, this)\r\n }\r\n\r\n /**\r\n * 在要编辑的要素上移动鼠标\r\n * @param e\r\n */\r\n plotMouseMoveHandler (e) {\r\n try {\r\n let point = e.coordinate\r\n let [dx, dy, newPoints] = [(point[0] - this.startPoint[0]), (point[1] - this.startPoint[1]), []]\r\n if (this.ghostControlPoints && Array.isArray(this.ghostControlPoints) && this.ghostControlPoints.length > 0) {\r\n this.ghostControlPoints.forEach((item, index) => {\r\n let p = this.ghostControlPoints[index]\r\n let coordinate = [p[0] + dx, p[1] + dy]\r\n newPoints.push(coordinate)\r\n let id = 'plot-helper-control-point-div' + '-' + index\r\n let overlay = this.map.getOverlayById(id)\r\n overlay.setPosition(coordinate)\r\n overlay.setPositioning('center-center')\r\n })\r\n }\r\n let plot = this.activePlot.getGeometry()\r\n plot.setPoints(newPoints)\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 鼠标抬起事件\r\n * @param e\r\n */\r\n plotMouseUpHandler (e) {\r\n this.enableMapDragPan()\r\n this.map.un('pointerup', this.plotMouseUpHandler, this)\r\n this.map.un('pointerdrag', this.plotMouseMoveHandler, this)\r\n }\r\n\r\n /**\r\n * 取消事件关联\r\n */\r\n disconnectEventHandlers () {\r\n this.map.un('pointermove', this.plotMouseOverOutHandler, this)\r\n Events.unlisten(this.mapViewport, EventType.MOUSEMOVE, this.controlPointMouseMoveHandler, this)\r\n Events.unlisten(this.mapViewport, EventType.MOUSEUP, this.controlPointMouseUpHandler, this)\r\n this.map.un('pointerdown', this.plotMouseDownHandler, this)\r\n this.map.un('pointerup', this.plotMouseUpHandler, this)\r\n this.map.un('pointerdrag', this.plotMouseMoveHandler, this)\r\n }\r\n\r\n /**\r\n * 取消激活工具\r\n */\r\n deactivate () {\r\n this.activePlot = null\r\n this.mouseOver = false\r\n this.map.getTargetElement().style.cursor = this.previousCursor_\r\n this.previousCursor_ = null\r\n this.destroyHelperDom()\r\n this.disconnectEventHandlers()\r\n this.enableMapDragPan()\r\n this.elementTable = {}\r\n this.activeControlPointId = null\r\n this.startPoint = null\r\n }\r\n\r\n /**\r\n * 禁止地图的拖拽平移\r\n */\r\n disableMapDragPan () {\r\n let interactions = this.map.getInteractions().getArray()\r\n interactions.every(item => {\r\n if (item instanceof ol.interaction.DragPan) {\r\n this.mapDragPan = item\r\n this.map.removeInteraction(item)\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * 激活地图的拖拽平移\r\n */\r\n enableMapDragPan () {\r\n if (this.mapDragPan && this.mapDragPan instanceof ol.interaction.DragPan) {\r\n this.map.addInteraction(this.mapDragPan)\r\n this.mapDragPan = null\r\n }\r\n }\r\n}\r\nexport default PlotEdit\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Event/PlotEdit.js","/**\r\n * Created by FDD on 2017/5/22.\r\n * @desc 标绘画弓形算法,继承线要素相关方法和属性\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Arc extends (ol.geom.LineString) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.LineString.call(this, [])\r\n this.type = PlotTypes.ARC\r\n this.fixPointCount = 3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n let count = this.getPointCount()\r\n if (count < 2) return\r\n if (count === 2) {\r\n this.setCoordinates(this.points)\r\n } else {\r\n let [pnt1, pnt2, pnt3, startAngle, endAngle] = [this.points[0], this.points[1], this.points[2], null, null]\r\n let center = PlotUtils.getCircleCenterOfThreePoints(pnt1, pnt2, pnt3)\r\n let radius = PlotUtils.MathDistance(pnt1, center)\r\n let angle1 = PlotUtils.getAzimuth(pnt1, center)\r\n let angle2 = PlotUtils.getAzimuth(pnt2, center)\r\n if (PlotUtils.isClockWise(pnt1, pnt2, pnt3)) {\r\n startAngle = angle2\r\n endAngle = angle1\r\n } else {\r\n startAngle = angle1\r\n endAngle = angle2\r\n }\r\n this.setCoordinates(PlotUtils.getArcPoints(center, radius, startAngle, endAngle))\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Arc\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arc/Arc.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 粗单直箭头\r\n * @Inherits FineArrow\r\n */\r\nimport FineArrow from './FineArrow'\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nclass AssaultDirection extends FineArrow {\r\n constructor (points, params) {\r\n super()\r\n FineArrow.call(this, points, params)\r\n this.tailWidthFactor = 0.05\r\n this.neckWidthFactor = 0.1\r\n this.headWidthFactor = 0.15\r\n this.type = PlotTypes.ASSAULT_DIRECTION\r\n this.headAngle = Math.PI / 4\r\n this.neckAngle = Math.PI * 0.17741\r\n this.setPoints(points)\r\n this.set('params', params)\r\n }\r\n}\r\n\r\nexport default AssaultDirection\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/AssaultDirection.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 双箭头\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as Constants from '../../Constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass DoubleArrow extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.DOUBLE_ARROW\r\n this.headHeightFactor = 0.25\r\n this.headWidthFactor = 0.3\r\n this.neckHeightFactor = 0.85\r\n this.neckWidthFactor = 0.15\r\n this.connPoint = null\r\n this.tempPoint4 = null\r\n this.fixPointCount = 4\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let count = this.getPointCount()\r\n let [pnt1, pnt2, pnt3] = [this.points[0], this.points[1], this.points[2]]\r\n if (count === 2) {\r\n this.setCoordinates([this.points])\r\n return false\r\n } else if (count === 3) {\r\n this.tempPoint4 = this.getTempPoint4(pnt1, pnt2, pnt3)\r\n this.connPoint = PlotUtils.Mid(pnt1, pnt2)\r\n } else if (count === 4) {\r\n this.tempPoint4 = this.points[3]\r\n this.connPoint = PlotUtils.Mid(pnt1, pnt2)\r\n } else {\r\n this.tempPoint4 = this.points[3]\r\n this.connPoint = this.points[4]\r\n }\r\n let [leftArrowPnts, rightArrowPnts] = [undefined, undefined]\r\n if (PlotUtils.isClockWise(pnt1, pnt2, pnt3)) {\r\n leftArrowPnts = this.getArrowPoints(pnt1, this.connPoint, this.tempPoint4, false)\r\n rightArrowPnts = this.getArrowPoints(this.connPoint, pnt2, pnt3, true)\r\n } else {\r\n leftArrowPnts = this.getArrowPoints(pnt2, this.connPoint, pnt3, false)\r\n rightArrowPnts = this.getArrowPoints(this.connPoint, pnt1, this.tempPoint4, true)\r\n }\r\n let m = leftArrowPnts.length\r\n let t = (m - 5) / 2\r\n let llBodyPnts = leftArrowPnts.slice(0, t)\r\n let lArrowPnts = leftArrowPnts.slice(t, t + 5)\r\n let lrBodyPnts = leftArrowPnts.slice(t + 5, m)\r\n let rlBodyPnts = rightArrowPnts.slice(0, t)\r\n let rArrowPnts = rightArrowPnts.slice(t, t + 5)\r\n let rrBodyPnts = rightArrowPnts.slice(t + 5, m)\r\n rlBodyPnts = PlotUtils.getBezierPoints(rlBodyPnts)\r\n let bodyPnts = PlotUtils.getBezierPoints(rrBodyPnts.concat(llBodyPnts.slice(1)))\r\n lrBodyPnts = PlotUtils.getBezierPoints(lrBodyPnts)\r\n let pnts = rlBodyPnts.concat(rArrowPnts, bodyPnts, lArrowPnts, lrBodyPnts)\r\n this.setCoordinates([pnts])\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 插值箭形上的点\r\n * @param pnt1\r\n * @param pnt2\r\n * @param pnt3\r\n * @param clockWise\r\n * @returns {Array.}\r\n */\r\n getArrowPoints (pnt1, pnt2, pnt3, clockWise) {\r\n let midPnt = PlotUtils.Mid(pnt1, pnt2)\r\n let len = PlotUtils.MathDistance(midPnt, pnt3)\r\n let midPnt1 = PlotUtils.getThirdPoint(pnt3, midPnt, 0, len * 0.3, true)\r\n let midPnt2 = PlotUtils.getThirdPoint(pnt3, midPnt, 0, len * 0.5, true)\r\n midPnt1 = PlotUtils.getThirdPoint(midPnt, midPnt1, Constants.HALF_PI, len / 5, clockWise)\r\n midPnt2 = PlotUtils.getThirdPoint(midPnt, midPnt2, Constants.HALF_PI, len / 4, clockWise)\r\n let points = [midPnt, midPnt1, midPnt2, pnt3]\r\n let arrowPnts = this.getArrowHeadPoints(points)\r\n if (arrowPnts && Array.isArray(arrowPnts) && arrowPnts.length > 0) {\r\n let [neckLeftPoint, neckRightPoint] = [arrowPnts[0], arrowPnts[4]]\r\n let tailWidthFactor = PlotUtils.MathDistance(pnt1, pnt2) / PlotUtils.getBaseLength(points) / 2\r\n let bodyPnts = this.getArrowBodyPoints(points, neckLeftPoint, neckRightPoint, tailWidthFactor)\r\n if (bodyPnts) {\r\n let n = bodyPnts.length\r\n let lPoints = bodyPnts.slice(0, n / 2)\r\n let rPoints = bodyPnts.slice(n / 2, n)\r\n lPoints.push(neckLeftPoint)\r\n rPoints.push(neckRightPoint)\r\n lPoints = lPoints.reverse()\r\n lPoints.push(pnt2)\r\n rPoints = rPoints.reverse()\r\n rPoints.push(pnt1)\r\n return (lPoints.reverse().concat(arrowPnts, rPoints))\r\n }\r\n } else {\r\n throw new Error('插值出错')\r\n }\r\n }\r\n\r\n /**\r\n * 插值头部点\r\n * @param points\r\n * @returns {[*,*,*,*,*]}\r\n */\r\n getArrowHeadPoints (points) {\r\n try {\r\n let len = PlotUtils.getBaseLength(points)\r\n let headHeight = len * this.headHeightFactor\r\n let headPnt = points[points.length - 1]\r\n let headWidth = headHeight * this.headWidthFactor\r\n let neckWidth = headHeight * this.neckWidthFactor\r\n let neckHeight = headHeight * this.neckHeightFactor\r\n let headEndPnt = PlotUtils.getThirdPoint(points[points.length - 2], headPnt, 0, headHeight, true)\r\n let neckEndPnt = PlotUtils.getThirdPoint(points[points.length - 2], headPnt, 0, neckHeight, true)\r\n let headLeft = PlotUtils.getThirdPoint(headPnt, headEndPnt, Constants.HALF_PI, headWidth, false)\r\n let headRight = PlotUtils.getThirdPoint(headPnt, headEndPnt, Constants.HALF_PI, headWidth, true)\r\n let neckLeft = PlotUtils.getThirdPoint(headPnt, neckEndPnt, Constants.HALF_PI, neckWidth, false)\r\n let neckRight = PlotUtils.getThirdPoint(headPnt, neckEndPnt, Constants.HALF_PI, neckWidth, true)\r\n return [neckLeft, headLeft, headPnt, headRight, neckRight]\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 插值面部分数据\r\n * @param points\r\n * @param neckLeft\r\n * @param neckRight\r\n * @param tailWidthFactor\r\n * @returns {Array.<*>}\r\n */\r\n getArrowBodyPoints (points, neckLeft, neckRight, tailWidthFactor) {\r\n let allLen = PlotUtils.wholeDistance(points)\r\n let len = PlotUtils.getBaseLength(points)\r\n let tailWidth = len * tailWidthFactor\r\n let neckWidth = PlotUtils.MathDistance(neckLeft, neckRight)\r\n let widthDif = (tailWidth - neckWidth) / 2\r\n let [tempLen, leftBodyPnts, rightBodyPnts] = [0, [], []]\r\n for (let i = 1; i < points.length - 1; i++) {\r\n let angle = PlotUtils.getAngleOfThreePoints(points[i - 1], points[i], points[i + 1]) / 2\r\n tempLen += PlotUtils.MathDistance(points[i - 1], points[i])\r\n let w = (tailWidth / 2 - tempLen / allLen * widthDif) / Math.sin(angle)\r\n let left = PlotUtils.getThirdPoint(points[i - 1], points[i], Math.PI - angle, w, true)\r\n let right = PlotUtils.getThirdPoint(points[i - 1], points[i], angle, w, false)\r\n leftBodyPnts.push(left)\r\n rightBodyPnts.push(right)\r\n }\r\n return leftBodyPnts.concat(rightBodyPnts)\r\n }\r\n\r\n /**\r\n * 获取对称点\r\n * @param linePnt1\r\n * @param linePnt2\r\n * @param point\r\n * @returns {*}\r\n */\r\n getTempPoint4 (linePnt1, linePnt2, point) {\r\n try {\r\n let midPnt = PlotUtils.Mid(linePnt1, linePnt2)\r\n let len = PlotUtils.MathDistance(midPnt, point)\r\n let angle = PlotUtils.getAngleOfThreePoints(linePnt1, midPnt, point)\r\n let [symPnt, distance1, distance2, mid] = [undefined, undefined, undefined, undefined]\r\n if (angle < Constants.HALF_PI) {\r\n distance1 = len * Math.sin(angle)\r\n distance2 = len * Math.cos(angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, false)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, true)\r\n } else if (angle >= Constants.HALF_PI && angle < Math.PI) {\r\n distance1 = len * Math.sin(Math.PI - angle)\r\n distance2 = len * Math.cos(Math.PI - angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, false)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, false)\r\n } else if (angle >= Math.PI && angle < Math.PI * 1.5) {\r\n distance1 = len * Math.sin(angle - Math.PI)\r\n distance2 = len * Math.cos(angle - Math.PI)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, true)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, true)\r\n } else {\r\n distance1 = len * Math.sin(Math.PI * 2 - angle)\r\n distance2 = len * Math.cos(Math.PI * 2 - angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, true)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, false)\r\n }\r\n return symPnt\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n if (this.getPointCount() === 3 && this.tempPoint4 !== null) {\r\n this.points.push(this.tempPoint4)\r\n }\r\n if (this.connPoint !== null) {\r\n this.points.push(this.connPoint)\r\n }\r\n }\r\n}\r\n\r\nexport default DoubleArrow\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/DoubleArrow.js","/**\r\n * Created by FDD on 2017/5/26.\r\n * @desc 分队战斗行动\r\n * @Inherits AttackArrow\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport AttackArrow from './AttackArrow'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass SquadCombat extends AttackArrow {\r\n constructor (points, params) {\r\n super()\r\n AttackArrow.call(this, points, params)\r\n this.type = PlotTypes.SQUAD_COMBAT\r\n this.headHeightFactor = 0.18\r\n this.headWidthFactor = 0.3\r\n this.neckHeightFactor = 0.85\r\n this.neckWidthFactor = 0.15\r\n this.tailWidthFactor = 0.1\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let pnts = this.getPoints()\r\n let tailPnts = this.getTailPoints(pnts)\r\n let headPnts = this.getArrowHeadPoints(pnts, tailPnts[0], tailPnts[1])\r\n let neckLeft = headPnts[0]\r\n let neckRight = headPnts[4]\r\n let bodyPnts = this.getArrowBodyPoints(pnts, neckLeft, neckRight, this.tailWidthFactor)\r\n let count = bodyPnts.length\r\n let leftPnts = [tailPnts[0]].concat(bodyPnts.slice(0, count / 2))\r\n leftPnts.push(neckLeft)\r\n let rightPnts = [tailPnts[1]].concat(bodyPnts.slice(count / 2, count))\r\n rightPnts.push(neckRight)\r\n leftPnts = PlotUtils.getQBSplinePoints(leftPnts)\r\n rightPnts = PlotUtils.getQBSplinePoints(rightPnts)\r\n this.setCoordinates([leftPnts.concat(headPnts, rightPnts.reverse())])\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n getTailPoints (points) {\r\n let allLen = PlotUtils.getBaseLength(points)\r\n let tailWidth = allLen * this.tailWidthFactor\r\n let tailLeft = PlotUtils.getThirdPoint(points[1], points[0], Constants.HALF_PI, tailWidth, false)\r\n let tailRight = PlotUtils.getThirdPoint(points[1], points[0], Constants.HALF_PI, tailWidth, true)\r\n return ([tailLeft, tailRight])\r\n }\r\n}\r\n\r\nexport default SquadCombat\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/SquadCombat.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 细直箭头\r\n * @Inherits ol.geom.LineString\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass StraightArrow extends (ol.geom.LineString) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.LineString.call(this, [])\r\n this.type = PlotTypes.STRAIGHT_ARROW\r\n this.fixPointCount = 2\r\n this.maxArrowLength = 3000000\r\n this.arrowLengthScale = 5\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let count = this.getPointCount()\r\n if (count < 2) {\r\n return false\r\n } else {\r\n let pnts = this.getPoints()\r\n let [pnt1, pnt2] = [pnts[0], pnts[1]]\r\n let distance = PlotUtils.MathDistance(pnt1, pnt2)\r\n let len = distance / this.arrowLengthScale\r\n len = ((len > this.maxArrowLength) ? this.maxArrowLength : len)\r\n let leftPnt = PlotUtils.getThirdPoint(pnt1, pnt2, Math.PI / 6, len, false)\r\n let rightPnt = PlotUtils.getThirdPoint(pnt1, pnt2, Math.PI / 6, len, true)\r\n this.setCoordinates([pnt1, pnt2, leftPnt, pnt2, rightPnt])\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default StraightArrow\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/StraightArrow.js","/**\r\n * Created by FDD on 2017/5/26.\r\n * @desc 进攻方向(尾)\r\n * @Inherits AttackArrow\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport AttackArrow from './AttackArrow'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass TailedAttackArrow extends AttackArrow {\r\n constructor (points, params) {\r\n super()\r\n AttackArrow.call(this, points, params)\r\n this.type = PlotTypes.TAILED_ATTACK_ARROW\r\n this.headHeightFactor = 0.18\r\n this.headWidthFactor = 0.3\r\n this.neckHeightFactor = 0.85\r\n this.neckWidthFactor = 0.15\r\n this.tailWidthFactor = 0.1\r\n this.headTailFactor = 0.8\r\n this.swallowTailFactor = 1\r\n this.swallowTailPnt = null\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let points = this.getPointCount()\r\n if (points === 2) {\r\n this.setCoordinates([this.points])\r\n return false\r\n } else {\r\n let pnts = this.getPoints()\r\n let [tailLeft, tailRight] = [pnts[0], pnts[1]]\r\n if (PlotUtils.isClockWise(pnts[0], pnts[1], pnts[2])) {\r\n tailLeft = pnts[1]\r\n tailRight = pnts[0]\r\n }\r\n let midTail = PlotUtils.Mid(tailLeft, tailRight)\r\n let bonePnts = [midTail].concat(pnts.slice(2))\r\n let headPnts = this.getArrowHeadPoints(bonePnts, tailLeft, tailRight)\r\n let [neckLeft, neckRight] = [headPnts[0], headPnts[4]]\r\n let tailWidth = PlotUtils.MathDistance(tailLeft, tailRight)\r\n let allLen = PlotUtils.getBaseLength(bonePnts)\r\n let len = allLen * this.tailWidthFactor * this.swallowTailFactor\r\n this.swallowTailPnt = PlotUtils.getThirdPoint(bonePnts[1], bonePnts[0], 0, len, true)\r\n let factor = tailWidth / allLen\r\n let bodyPnts = this.getArrowBodyPoints(bonePnts, neckLeft, neckRight, factor)\r\n let count = bodyPnts.length\r\n let leftPnts = [tailLeft].concat(bodyPnts.slice(0, count / 2))\r\n leftPnts.push(neckLeft)\r\n let rightPnts = [tailRight].concat(bodyPnts.slice(count / 2, count))\r\n rightPnts.push(neckRight)\r\n leftPnts = PlotUtils.getQBSplinePoints(leftPnts)\r\n rightPnts = PlotUtils.getQBSplinePoints(rightPnts)\r\n this.setCoordinates([leftPnts.concat(headPnts, rightPnts.reverse(), [this.swallowTailPnt, leftPnts[0]])])\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n}\r\n\r\nexport default TailedAttackArrow\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/TailedAttackArrow.js","/**\r\n * Created by FDD on 2017/5/26.\r\n * @desc 分队战斗行动(尾)\r\n * @Inherits AttackArrow\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport AttackArrow from './AttackArrow'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass TailedSquadCombat extends AttackArrow {\r\n constructor (points, params) {\r\n super()\r\n AttackArrow.call(this, points, params)\r\n this.type = PlotTypes.TAILED_SQUAD_COMBAT\r\n this.headHeightFactor = 0.18\r\n this.headWidthFactor = 0.3\r\n this.neckHeightFactor = 0.85\r\n this.neckWidthFactor = 0.15\r\n this.tailWidthFactor = 0.1\r\n this.swallowTailFactor = 1\r\n this.swallowTailPnt = null\r\n this.fixPointCount = 2\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let pnts = this.getPoints()\r\n let tailPnts = this.getTailPoints(pnts)\r\n let headPnts = this.getArrowHeadPoints(pnts, tailPnts[0], tailPnts[2])\r\n let neckLeft = headPnts[0]\r\n let neckRight = headPnts[4]\r\n let bodyPnts = this.getArrowBodyPoints(pnts, neckLeft, neckRight, this.tailWidthFactor)\r\n let count = bodyPnts.length\r\n let leftPnts = [tailPnts[0]].concat(bodyPnts.slice(0, count / 2))\r\n leftPnts.push(neckLeft)\r\n let rightPnts = [tailPnts[2]].concat(bodyPnts.slice(count / 2, count))\r\n rightPnts.push(neckRight)\r\n leftPnts = PlotUtils.getQBSplinePoints(leftPnts)\r\n rightPnts = PlotUtils.getQBSplinePoints(rightPnts)\r\n this.setCoordinates([leftPnts.concat(headPnts, rightPnts.reverse(), [tailPnts[1], leftPnts[0]])])\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n getTailPoints (points) {\r\n let allLen = PlotUtils.getBaseLength(points)\r\n let tailWidth = allLen * this.tailWidthFactor\r\n let tailLeft = PlotUtils.getThirdPoint(points[1], points[0], Constants.HALF_PI, tailWidth, false)\r\n let tailRight = PlotUtils.getThirdPoint(points[1], points[0], Constants.HALF_PI, tailWidth, true)\r\n let len = tailWidth * this.swallowTailFactor\r\n let swallowTailPnt = PlotUtils.getThirdPoint(points[1], points[0], 0, len, true)\r\n return ([tailLeft, swallowTailPnt, tailRight])\r\n }\r\n}\r\n\r\nexport default TailedSquadCombat\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/TailedSquadCombat.js","/**\r\n * Created by FDD on 2017/5/22.\r\n * @desc 标绘画圆算法,继承面要素相关方法和属性\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Circle extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.CIRCLE\r\n this.fixPointCount = 2\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n generate () {\r\n let center = this.points[0]\r\n let radius = PlotUtils.MathDistance(center, this.points[1])\r\n this.setCoordinates([this.generatePoints(center, radius)])\r\n }\r\n\r\n /**\r\n * 对圆边线进行插值\r\n * @param center\r\n * @param radius\r\n * @returns {null}\r\n */\r\n generatePoints (center, radius) {\r\n let [x, y, angle, points] = [null, null, null, []]\r\n for (let i = 0; i <= 100; i++) {\r\n angle = Math.PI * 2 * i / 100\r\n x = center[0] + radius * Math.cos(angle)\r\n y = center[1] + radius * Math.sin(angle)\r\n points.push([x, y])\r\n }\r\n return points\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Circle\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Circle/Circle.js","/**\r\n * Created by FDD on 2017/5/22.\r\n * @desc 标绘画圆算法,继承面要素相关方法和属性\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as Constants from '../../Constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Ellipse extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.ELLIPSE\r\n this.fixPointCount = 2\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n generate () {\r\n if (this.getPointCount() < 2) {\r\n return false\r\n } else {\r\n let [pnt1, pnt2] = [this.points[0], this.points[1]]\r\n let center = PlotUtils.Mid(pnt1, pnt2)\r\n let majorRadius = Math.abs((pnt1[0] - pnt2[0]) / 2)\r\n let minorRadius = Math.abs((pnt1[1] - pnt2[1]) / 2)\r\n let res = this.generatePoints(center, majorRadius, minorRadius)\r\n this.setCoordinates([res])\r\n }\r\n }\r\n\r\n /**\r\n * 对圆边线进行插值\r\n * @param center\r\n * @param majorRadius\r\n * @param minorRadius\r\n * @returns {*}\r\n */\r\n generatePoints (center, majorRadius, minorRadius) {\r\n let [x, y, angle, points] = [null, null, null, []]\r\n for (let i = 0; i <= Constants.FITTING_COUNT; i++) {\r\n angle = Math.PI * 2 * i / Constants.FITTING_COUNT\r\n x = center[0] + majorRadius * Math.cos(angle)\r\n y = center[1] + minorRadius * Math.sin(angle)\r\n points.push([x, y])\r\n }\r\n return points\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Ellipse\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Circle/Ellipse.js","/**\r\n * Created by FDD on 2017/5/25.\r\n * @desc 闭合曲面\r\n * @Inherits ol.geom.Polygon\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass ClosedCurve extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.CLOSED_CURVE\r\n this.t = 0.3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n let points = this.getPointCount()\r\n if (points === 2) {\r\n this.setCoordinates([this.points])\r\n } else {\r\n let pnts = this.getPoints()\r\n pnts.push(pnts[0], pnts[1])\r\n let [normals, pList] = [[], []]\r\n for (let i = 0; i < pnts.length - 2; i++) {\r\n let normalPoints = PlotUtils.getBisectorNormals(this.t, pnts[i], pnts[i + 1], pnts[i + 2])\r\n normals = normals.concat(normalPoints)\r\n }\r\n let count = normals.length\r\n normals = [normals[count - 1]].concat(normals.slice(0, count - 1))\r\n for (let i = 0; i < pnts.length - 2; i++) {\r\n let pnt1 = pnts[i]\r\n let pnt2 = pnts[i + 1]\r\n pList.push(pnt1)\r\n for (let t = 0; t <= Constants.FITTING_COUNT; t++) {\r\n let pnt = PlotUtils.getCubicValue(t / Constants.FITTING_COUNT, pnt1, normals[i * 2], normals[i * 2 + 1], pnt2)\r\n pList.push(pnt)\r\n }\r\n pList.push(pnt2)\r\n }\r\n this.setCoordinates([pList])\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default ClosedCurve\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/ClosedCurve.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 自由面\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nclass FreePolygon extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.FREEHAND_POLYGON\r\n this.freehand = true\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n this.setCoordinates([this.points])\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default FreePolygon\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/FreePolygon.js","/**\r\n * Created by FDD on 2017/5/27.\r\n * @desc 集结地\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass GatheringPlace extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.GATHERING_PLACE\r\n this.t = 0.4\r\n this.fixPointCount = 3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n let pnts = this.getPoints()\r\n let points = this.getPointCount()\r\n if (pnts.length < 2) {\r\n return false\r\n } else {\r\n if (points === 2) {\r\n let mid = PlotUtils.Mid(pnts[0], pnts[1])\r\n let d = PlotUtils.MathDistance(pnts[0], mid) / 0.9\r\n let pnt = PlotUtils.getThirdPoint(pnts[0], mid, Constants.HALF_PI, d, true)\r\n pnts = [pnts[0], pnt, pnts[1]]\r\n }\r\n let mid = PlotUtils.Mid(pnts[0], pnts[2])\r\n pnts.push(mid, pnts[0], pnts[1])\r\n let [normals, pnt1, pnt2, pnt3, pList] = [[], undefined, undefined, undefined, []]\r\n for (let i = 0; i < pnts.length - 2; i++) {\r\n pnt1 = pnts[i]\r\n pnt2 = pnts[i + 1]\r\n pnt3 = pnts[i + 2]\r\n let normalPoints = PlotUtils.getBisectorNormals(this.t, pnt1, pnt2, pnt3)\r\n normals = normals.concat(normalPoints)\r\n }\r\n let count = normals.length\r\n normals = [normals[count - 1]].concat(normals.slice(0, count - 1))\r\n for (let i = 0; i < pnts.length - 2; i++) {\r\n pnt1 = pnts[i]\r\n pnt2 = pnts[i + 1]\r\n pList.push(pnt1)\r\n for (let t = 0; t <= Constants.FITTING_COUNT; t++) {\r\n let pnt = PlotUtils.getCubicValue(t / Constants.FITTING_COUNT, pnt1, normals[i * 2], normals[i * 2 + 1], pnt2)\r\n pList.push(pnt)\r\n }\r\n pList.push(pnt2)\r\n }\r\n this.setCoordinates([pList])\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default GatheringPlace\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/GatheringPlace.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 弓形\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as Constants from '../../Constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Lune extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.LUNE\r\n this.fixPointCount = 3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n if (this.getPointCount() < 2) {\r\n return false\r\n } else {\r\n let pnts = this.getPoints()\r\n if (this.getPointCount() === 2) {\r\n let mid = PlotUtils.Mid(pnts[0], pnts[1])\r\n let d = PlotUtils.MathDistance(pnts[0], mid)\r\n let pnt = PlotUtils.getThirdPoint(pnts[0], mid, Constants.HALF_PI, d)\r\n pnts.push(pnt)\r\n }\r\n let [pnt1, pnt2, pnt3, startAngle, endAngle] = [pnts[0], pnts[1], pnts[2], undefined, undefined]\r\n let center = PlotUtils.getCircleCenterOfThreePoints(pnt1, pnt2, pnt3)\r\n let radius = PlotUtils.MathDistance(pnt1, center)\r\n let angle1 = PlotUtils.getAzimuth(pnt1, center)\r\n let angle2 = PlotUtils.getAzimuth(pnt2, center)\r\n if (PlotUtils.isClockWise(pnt1, pnt2, pnt3)) {\r\n startAngle = angle2\r\n endAngle = angle1\r\n } else {\r\n startAngle = angle1\r\n endAngle = angle2\r\n }\r\n pnts = PlotUtils.getArcPoints(center, radius, startAngle, endAngle)\r\n pnts.push(pnts[0])\r\n this.setCoordinates([pnts])\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Lune\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/Lune.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 多边形\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nclass Polygon extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.POLYGON\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n this.setCoordinates([this.points])\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Polygon\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/Polygon.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 规则矩形\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nclass RectAngle extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.RECTANGLE\r\n this.fixPointCount = 2\r\n this.set('params', params)\r\n this.setPoints(points)\r\n this.isFill = ((params['isFill'] === false) ? params['isFill'] : true)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n if (this.points.length === 2) {\r\n let coordinates = []\r\n if (this.isFill) {\r\n let extent = ol.extent.boundingExtent(this.points)\r\n let polygon = ol.geom.Polygon.fromExtent(extent)\r\n coordinates = polygon.getCoordinates()\r\n } else {\r\n let start = this.points[0]\r\n let end = this.points[1]\r\n coordinates = [start, [start[0], end[1]], end, [end[0], start[1]], start]\r\n }\r\n this.setCoordinates(coordinates)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default RectAngle\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/RectAngle.js","/**\r\n * Created by FDD on 2017/5/25.\r\n * @desc 扇形\r\n * @Inherits ol.geom.Polygon\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Sector extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.SECTOR\r\n this.fixPointCount = 3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n let points = this.getPointCount()\r\n if (points < 2) {\r\n return false\r\n } else if (points === 2) {\r\n this.setCoordinates([this.points])\r\n } else {\r\n let pnts = this.getPoints()\r\n let [center, pnt2, pnt3] = [pnts[0], pnts[1], pnts[2]]\r\n let radius = PlotUtils.MathDistance(pnt2, center)\r\n let startAngle = PlotUtils.getAzimuth(pnt2, center)\r\n let endAngle = PlotUtils.getAzimuth(pnt3, center)\r\n let pList = PlotUtils.getArcPoints(center, radius, startAngle, endAngle)\r\n pList.push(center, pList[0])\r\n this.setCoordinates([pList])\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Sector\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/Sector.js","/**\r\n * Created by FDD on 2017/5/22.\r\n * @desc 标绘曲线算法\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Curve extends (ol.geom.LineString) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.LineString.call(this, [])\r\n this.type = PlotTypes.CURVE\r\n this.t = 0.3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n if (this.getPointCount() === 2) {\r\n this.setCoordinates(this.points)\r\n } else {\r\n let points = PlotUtils.getCurvePoints(this.t, this.points)\r\n this.setCoordinates(points)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Curve\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polyline/Curve.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 自由线\r\n * @Inherits ol.geom.LineString\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nclass FreeHandLine extends (ol.geom.LineString) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.LineString.call(this, [])\r\n this.type = PlotTypes.FREEHAND_LINE\r\n this.freehand = true\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n this.setCoordinates(this.points)\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default FreeHandLine\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polyline/FreeHandLine.js","import PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nclass Polyline extends (ol.geom.LineString) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.LineString.call(this, [])\r\n this.type = PlotTypes.POLYLINE\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n this.setCoordinates(this.points)\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Polyline\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polyline/Polyline.js","/**\r\n * Created by FDD on 2017/5/20.\r\n * @desc 标绘图形构造类\r\n */\r\nimport Point from './point/Point'\r\nimport Pennant from './point/Pennant'\r\nimport Polyline from './Polyline/Polyline'\r\nimport Arc from './Arc/Arc'\r\nimport Circle from './Circle/Circle'\r\nimport Curve from './Polyline/Curve'\r\nimport FreeHandLine from './Polyline/FreeHandLine'\r\nimport RectAngle from './Polygon/RectAngle'\r\nimport Ellipse from './Circle/Ellipse'\r\nimport Lune from './Polygon/Lune'\r\nimport Sector from './Polygon/Sector'\r\nimport ClosedCurve from './Polygon/ClosedCurve'\r\nimport Polygon from './Polygon/Polygon'\r\nimport FreePolygon from './Polygon/FreePolygon'\r\nimport AttackArrow from './Arrow/AttackArrow'\r\nimport DoubleArrow from './Arrow/DoubleArrow'\r\nimport StraightArrow from './Arrow/StraightArrow'\r\nimport FineArrow from './Arrow/FineArrow'\r\nimport AssaultDirection from './Arrow/AssaultDirection'\r\nimport TailedAttackArrow from './Arrow/TailedAttackArrow'\r\nimport SquadCombat from './Arrow/SquadCombat'\r\nimport TailedSquadCombat from './Arrow/TailedSquadCombat'\r\nimport GatheringPlace from './Polygon/GatheringPlace'\r\nexport default {\r\n Point: Point,\r\n Pennant: Pennant,\r\n Polyline: Polyline,\r\n Arc: Arc,\r\n Circle: Circle,\r\n Curve: Curve,\r\n FreeHandLine: FreeHandLine,\r\n RectAngle: RectAngle,\r\n Ellipse: Ellipse,\r\n Lune: Lune,\r\n Sector: Sector,\r\n ClosedCurve: ClosedCurve,\r\n Polygon: Polygon,\r\n FreePolygon: FreePolygon,\r\n AttackArrow: AttackArrow,\r\n DoubleArrow: DoubleArrow,\r\n StraightArrow: StraightArrow,\r\n FineArrow: FineArrow,\r\n AssaultDirection: AssaultDirection,\r\n TailedAttackArrow: TailedAttackArrow,\r\n SquadCombat: SquadCombat,\r\n TailedSquadCombat: TailedSquadCombat,\r\n GatheringPlace: GatheringPlace\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/index.js","/**\r\n * Created by FDD on 2017/5/15.\r\n * @desc 点要素\r\n * @Inherits ol.geom.Point\r\n */\r\nimport { ol } from '../../../constants'\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nconst GeomPoint = ol.geom.Point\r\nclass Pennant extends GeomPoint {\r\n constructor (point, params) {\r\n super()\r\n ol.geom.Point.call(this, [])\r\n this.type = PlotTypes.PENNANT\r\n this.options = params || {}\r\n this.set('params', this.options)\r\n this.setPoints(point)\r\n }\r\n\r\n generate () {\r\n this.setCoordinates(this.points)\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Pennant\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/point/Pennant.js","/**\r\n * Created by FDD on 2017/5/15.\r\n * @desc 点要素\r\n * @Inherits ol.geom.Point\r\n */\r\nimport { ol } from '../../../constants'\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nconst GeomPoint = ol.geom.Point\r\nclass Point extends GeomPoint {\r\n constructor (point, params) {\r\n super()\r\n ol.geom.Point.call(this, [])\r\n this.type = PlotTypes.POINT\r\n this.options = params || {}\r\n this.set('params', this.options)\r\n this.setPoints(point)\r\n }\r\n\r\n generate () {\r\n this.setCoordinates(this.points)\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n console.log(this.points)\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Point\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/point/Point.js","/**\r\n * Created by FDD on 2017/5/15.\r\n * @desc 基于openlayer的动态标绘\r\n */\r\nimport { ol } from '../constants'\r\nimport Plots from './Geometry/index'\r\nimport PlotTypes from './Utils/PlotTypes'\r\nclass Plot {\r\n constructor (map) {\r\n this.version = '1.0.0'\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('缺少地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 创建Plot\r\n * @param type\r\n * @param points\r\n * @param _params\r\n * @returns {*}\r\n */\r\n createPlot (type, points, _params) {\r\n let params = _params || {}\r\n switch (type) {\r\n case PlotTypes.POINT:\r\n return new Plots.Point(points, params)\r\n case PlotTypes.PENNANT:\r\n return new Plots.Pennant(points, params)\r\n case PlotTypes.POLYLINE:\r\n return new Plots.Polyline(points, params)\r\n case PlotTypes.ARC:\r\n return new Plots.Arc(points, params)\r\n case PlotTypes.CIRCLE:\r\n return new Plots.Circle(points, params)\r\n case PlotTypes.CURVE:\r\n return new Plots.Curve(points, params)\r\n case PlotTypes.FREE_LINE:\r\n return new Plots.FreeHandLine(points, params)\r\n case PlotTypes.RECTANGLE:\r\n return new Plots.RectAngle(points, params)\r\n case PlotTypes.ELLIPSE:\r\n return new Plots.Ellipse(points, params)\r\n case PlotTypes.LUNE:\r\n return new Plots.Lune(points, params)\r\n case PlotTypes.SECTOR:\r\n return new Plots.Sector(points, params)\r\n case PlotTypes.CLOSED_CURVE:\r\n return new Plots.ClosedCurve(points, params)\r\n case PlotTypes.POLYGON:\r\n return new Plots.Polygon(points, params)\r\n case PlotTypes.ATTACK_ARROW:\r\n return new Plots.AttackArrow(points, params)\r\n case PlotTypes.FREE_POLYGON:\r\n return new Plots.FreePolygon(points, params)\r\n case PlotTypes.DOUBLE_ARROW:\r\n return new Plots.DoubleArrow(points, params)\r\n case PlotTypes.STRAIGHT_ARROW:\r\n return new Plots.StraightArrow(points, params)\r\n case PlotTypes.FINE_ARROW:\r\n return new Plots.FineArrow(points, params)\r\n case PlotTypes.ASSAULT_DIRECTION:\r\n return new Plots.AssaultDirection(points, params)\r\n case PlotTypes.TAILED_ATTACK_ARROW:\r\n return new Plots.TailedAttackArrow(points, params)\r\n case PlotTypes.SQUAD_COMBAT:\r\n return new Plots.SquadCombat(points, params)\r\n case PlotTypes.TAILED_SQUAD_COMBAT:\r\n return new Plots.TailedSquadCombat(points, params)\r\n case PlotTypes.GATHERING_PLACE:\r\n return new Plots.GatheringPlace(points, params)\r\n }\r\n return null\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n generate () {}\r\n}\r\nexport default Plot\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/index.js","/**\r\n * Created by FDD on 2017/2/24.\r\n * @desc 原作者 Wandergis \r\n * 在此基础上添加优化和处理,并改写为es6\r\n */\r\nimport {PI, X_PI, a, ee} from '../constants'\r\nclass CoordsTransform {\r\n /**\r\n * 转换纬度\r\n * @param lng\r\n * @param lat\r\n * @returns {number}\r\n */\r\n transformlat (lng, lat) {\r\n let ret = -100.0 + 2.0 * lng + 3.0 * lat + 0.2 * lat * lat + 0.1 * lng * lat + 0.2 * Math.sqrt(Math.abs(lng))\r\n ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0\r\n ret += (20.0 * Math.sin(lat * PI) + 40.0 * Math.sin(lat / 3.0 * PI)) * 2.0 / 3.0\r\n ret += (160.0 * Math.sin(lat / 12.0 * PI) + 320 * Math.sin(lat * PI / 30.0)) * 2.0 / 3.0\r\n return ret\r\n }\r\n\r\n /**\r\n * 转换经度\r\n * @param lng\r\n * @param lat\r\n * @returns {number}\r\n */\r\n transformlng (lng, lat) {\r\n let ret = 300.0 + lng + 2.0 * lat + 0.1 * lng * lng + 0.1 * lng * lat + 0.1 * Math.sqrt(Math.abs(lng))\r\n ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0\r\n ret += (20.0 * Math.sin(lng * PI) + 40.0 * Math.sin(lng / 3.0 * PI)) * 2.0 / 3.0\r\n ret += (150.0 * Math.sin(lng / 12.0 * PI) + 300.0 * Math.sin(lng / 30.0 * PI)) * 2.0 / 3.0\r\n return ret\r\n }\r\n\r\n /**\r\n * 判断坐标是否在国内(国外坐标不需转换)\r\n * @param lng\r\n * @param lat\r\n * @returns {boolean}\r\n */\r\n outOfChina (lng, lat) {\r\n // 纬度3.86~53.55,经度73.66~135.05\r\n return !(lng > 73.66 && lng < 135.05 && lat > 3.86 && lat < 53.55)\r\n }\r\n\r\n /**\r\n * 国测局J02(火星坐标系 (GCJ-02))坐标转WGS84\r\n * @param lng\r\n * @param lat\r\n * @returns {[*,*]}\r\n */\r\n gcj02towgs84 (lng, lat) {\r\n if (this.outOfChina(lng, lat)) {\r\n return [lng, lat]\r\n } else {\r\n let dlat = this.transformlat(lng - 105.0, lat - 35.0)\r\n let dlng = this.transformlng(lng - 105.0, lat - 35.0)\r\n let radlat = lat / 180.0 * PI\r\n let magic = Math.sin(radlat)\r\n magic = 1 - ee * magic * magic\r\n let sqrtmagic = Math.sqrt(magic)\r\n dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * PI)\r\n dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * PI)\r\n let mglat = lat + dlat\r\n let mglng = lng + dlng\r\n return [lng * 2 - mglng, lat * 2 - mglat]\r\n }\r\n }\r\n\r\n /**\r\n * WGS84转国测局J02(火星坐标系 (GCJ-02))\r\n * @param lng\r\n * @param lat\r\n * @returns {[*,*]}\r\n */\r\n wgs84togcj02 (lng, lat) {\r\n if (this.outOfChina(lng, lat)) {\r\n return [lng, lat]\r\n } else {\r\n let dlat = this.transformlat(lng - 105.0, lat - 35.0)\r\n let dlng = this.transformlng(lng - 105.0, lat - 35.0)\r\n let radlat = lat / 180.0 * PI\r\n let magic = Math.sin(radlat)\r\n magic = 1 - ee * magic * magic\r\n let sqrtmagic = Math.sqrt(magic)\r\n dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * PI)\r\n dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * PI)\r\n let mglat = lat + dlat\r\n let mglng = lng + dlng\r\n return [mglng, mglat]\r\n }\r\n }\r\n\r\n /**\r\n * 国测局J02(火星坐标系 (GCJ-02))转百度坐标系\r\n * @param lng\r\n * @param lat\r\n * @returns {[*,*]}\r\n */\r\n gcj02tobd (lng, lat) {\r\n let z = Math.sqrt(lng * lng + lat * lat) + 0.00002 * Math.sin(lat * X_PI)\r\n let theta = Math.atan2(lat, lng) + 0.000003 * Math.cos(lng * X_PI)\r\n let bdLng = z * Math.cos(theta) + 0.0065\r\n let bdLat = z * Math.sin(theta) + 0.006\r\n return [bdLng, bdLat]\r\n }\r\n\r\n /**\r\n * 百度坐标系转国测局J02(火星坐标系 (GCJ-02))\r\n * @param lon\r\n * @param lat\r\n * @returns {[*,*]}\r\n */\r\n bdtogcj02 (lon, lat) {\r\n let x = lon - 0.0065\r\n let y = lat - 0.006\r\n let z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * X_PI)\r\n let theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * X_PI)\r\n let ggLng = z * Math.cos(theta)\r\n let ggLat = z * Math.sin(theta)\r\n return [ggLng, ggLat]\r\n }\r\n\r\n /**\r\n * 经纬度转Mercator\r\n * @param lontitude\r\n * @param latitude\r\n * @returns {[*,*]}\r\n */\r\n lonLatToMercator (lontitude, latitude) {\r\n let x = lontitude * 20037508.34 / 180\r\n let y = Math.log(Math.tan((90 + latitude) * Math.PI / 360)) / (Math.PI / 180)\r\n y = y * 20037508.34 / 180\r\n return [x, y]\r\n }\r\n\r\n /**\r\n * Mercator转经纬度\r\n * @param x\r\n * @param y\r\n * @returns {[*,*]}\r\n * @constructor\r\n */\r\n MercatorTolonLat (x, y) {\r\n let longtitude = x / 20037508.34 * 180\r\n let latitude = y / 20037508.34 * 180\r\n latitude = 180 / Math.PI * (2 * Math.atan(Math.exp(latitude * Math.PI / 180)) - Math.PI / 2)\r\n return [longtitude, latitude]\r\n }\r\n}\r\n\r\nexport default CoordsTransform\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plugins/CoordsTransform.js","/**\r\n * Created by FDD on 2017/5/10.\r\n * @desc 可拖拽圆创建\r\n */\r\nimport {ol} from '../constants'\r\nimport mix from '../utils/mixin'\r\nimport Layer from '../layer/Layer'\r\nimport Style from '../style/Style'\r\nimport {getuuid} from '../utils/utils'\r\nimport * as DomUtils from '../dom/domUtil'\r\n\r\nclass CustomCircle extends mix(Layer, Style) {\r\n constructor (params) {\r\n super()\r\n\r\n /**\r\n * 参数配置\r\n * @type {*}\r\n */\r\n this.options = params || {}\r\n\r\n if (!this.options['mapInstence'] || !this.options['mapInstence']['map'] || !(this.options['mapInstence']['map'] instanceof ol.Map)) {\r\n throw new Error('缺少底图对象!')\r\n } else {\r\n this.mapInstence = this.options['mapInstence']\r\n this.map = this.options['mapInstence']['map']\r\n }\r\n /**\r\n * 默认配置\r\n * @type {{radius: number, minRadius: number, maxRadius: number, layerName: string, showPolygonFeat: boolean}}\r\n */\r\n this.defaultConfig = {\r\n radius: 5000,\r\n minRadius: 50,\r\n maxRadius: 50000,\r\n layerName: 'perimeterSerachLayer',\r\n showPolygonFeature: true,\r\n showCenterFeature: true,\r\n zoomToExtent: true,\r\n style: {\r\n stroke: {\r\n strokeColor: 'rgba(71, 129, 217, 1)',\r\n strokeLineCap: 'round',\r\n strokeLineJoin: 'round',\r\n strokeLineDash: undefined,\r\n strokeLineDashOffset: '0',\r\n strokeMiterLimit: 10,\r\n strokeWidth: 1\r\n },\r\n fill: {\r\n fillColor: 'rgba(255, 255, 255, 0)'\r\n }\r\n }\r\n }\r\n // 部分配置未传时使用默认\r\n for (let key in this.defaultConfig) {\r\n if (!this.options.hasOwnProperty(key)) {\r\n this.options[key] = this.defaultConfig[key]\r\n }\r\n }\r\n\r\n /**\r\n * 如果当前坐标不是米制单位需要计算获取长度\r\n * @type {ol.Sphere}\r\n */\r\n this.sphare = new ol.Sphere(6378137)\r\n\r\n /**\r\n * 鼠标是否按下\r\n * @type {boolean}\r\n */\r\n this.isMouseDown = false\r\n /**\r\n * 是否正在移动\r\n * @type {boolean}\r\n */\r\n this.isMoving = false\r\n /**\r\n * 默认半径\r\n */\r\n this.radius = this.options['radius']\r\n /**\r\n * 半径显示DOM\r\n * @type {null}\r\n */\r\n this.handleLabel = null\r\n /**\r\n * 自动创建\r\n */\r\n this.createCircle(this.options['center'])\r\n }\r\n\r\n /**\r\n * 创建要素\r\n */\r\n createCircle (center) {\r\n try {\r\n /**\r\n * 投影后的坐标\r\n * @type {ol.Coordinate}\r\n */\r\n this.center = center\r\n this.centerCopy = ol.proj.transform(center, this._getProjectionCode(), 'EPSG:4326')\r\n this.geom = this._getCircleGeom()\r\n if (this.geom && this.options['zoomToExtent']) {\r\n let extent = this.geom.getExtent()\r\n this.zoomToExtent(extent, true)\r\n }\r\n this.circleFeature = new ol.Feature({\r\n geometry: this.geom\r\n })\r\n /**\r\n * 所在图层\r\n * @type {*}\r\n */\r\n let layer = this.createVectorLayer(this.options['layerName'], {\r\n create: true\r\n })\r\n this.mapInstence.polygonLayers.add(this.options['layerName'])\r\n this.mapInstence.orderLayerZindex()\r\n /**\r\n * 当前要素样式\r\n * @type {ol.style.Style}\r\n */\r\n let style = this.getStyleByPolygon(this.options['style'])\r\n layer.setStyle(style)\r\n layer.getSource().addFeature(this.circleFeature)\r\n if (this.options['showCenterFeature']) {\r\n this.addCenterPoint(layer)\r\n }\r\n this.addEditor()\r\n this.dispachChange()\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 销毁要素\r\n */\r\n destroyCircle () {\r\n if (this.options['layerName']) {\r\n this.removeLayerByLayerName(this.options['layerName'])\r\n this.isMouseDown = false\r\n this.isMoving = false\r\n this.handleLabel = null\r\n }\r\n if (this.overlay && this.overlay instanceof ol.Overlay) {\r\n this.map.removeOverlay(this.overlay)\r\n this.overlay = null\r\n }\r\n }\r\n\r\n /**\r\n * 获取要素空间信息\r\n * @returns {ol.geom.Geometry|*}\r\n * @private\r\n */\r\n _getCircleGeom () {\r\n let sourceGeom = new ol.geom.Circle(this.centerCopy, (this.transformRadius(this.centerCopy, this.radius)))\r\n let geom = sourceGeom.transform('EPSG:4326', this._getProjectionCode())\r\n return geom\r\n }\r\n\r\n /**\r\n * 添加中心点\r\n */\r\n addCenterPoint (layer) {\r\n this.centerPoint = new ol.Feature({\r\n geometry: new ol.geom.Point(this.center)\r\n })\r\n let centerStyle = new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 5,\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(71, 129, 217, 1)',\r\n width: 1\r\n }),\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255,255,255,0.5)'\r\n })\r\n })\r\n })\r\n this.centerPoint.setStyle(centerStyle)\r\n layer.getSource().addFeature(this.centerPoint)\r\n }\r\n\r\n /**\r\n * 添加编辑按钮\r\n * @returns {Overlay|ol.Overlay}\r\n */\r\n addEditor () {\r\n let editor = DomUtils.create('div', 'custom-circle', document.body)\r\n let button = DomUtils.create('span', 'custom-circle-button', editor, ('editor_' + getuuid()))\r\n this.handleLabel = DomUtils.create('span', 'custom-circle-handleLabel', editor)\r\n this.handleLabel.innerHTML = this.radius + 'm'\r\n this.addEventHandle(button, this.handleLabel)\r\n this.overlay = new ol.Overlay({\r\n element: editor,\r\n position: this.geom.getLastCoordinate(),\r\n positioning: 'left-center',\r\n offset: [-18, -10]\r\n })\r\n this.map.addOverlay(this.overlay)\r\n }\r\n\r\n /**\r\n * 添加事件处理机\r\n * @param button\r\n */\r\n addEventHandle (button) {\r\n if (button && button instanceof Element) {\r\n button.addEventListener('mousedown', event => {\r\n if (event.preventDefault) {\r\n event.preventDefault()\r\n } else {\r\n event.returnValue = false\r\n }\r\n this.isMouseDown = true\r\n this.map.on('pointermove', this.onMouseMove, this)\r\n })\r\n button.addEventListener('mouseup', event => {\r\n if (event.preventDefault) {\r\n event.preventDefault()\r\n } else {\r\n event.returnValue = false\r\n }\r\n if (this.isMouseDown && this.isMoving) {\r\n this.dispachChange()\r\n }\r\n this.isMouseDown = false\r\n this.isMoving = false\r\n this.map.un('pointermove', this.onMouseMove, this)\r\n })\r\n document.addEventListener('mouseup', event => {\r\n if (event.preventDefault) {\r\n event.preventDefault()\r\n } else {\r\n event.returnValue = false\r\n }\r\n if (this.isMouseDown && this.isMoving) {\r\n this.dispachChange()\r\n }\r\n this.isMouseDown = false\r\n this.isMoving = false\r\n this.map.un('pointermove', this.onMouseMove, this)\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 计算半径\r\n * @param coords\r\n */\r\n mathRadius (coords) {\r\n this.isMoving = true\r\n if (this.center && coords) {\r\n let c1 = ol.proj.transform(this.center, this._getProjectionCode(), 'EPSG:4326')\r\n let c2 = ol.proj.transform(coords, this._getProjectionCode(), 'EPSG:4326')\r\n let radius = this.sphare.haversineDistance(c1, c2)\r\n if (radius > this.options['maxRadius']) {\r\n this.radius = this.options['maxRadius'] - 1\r\n this.isMouseDown = false\r\n this.map.un('pointermove', this.onMouseMove, this)\r\n } else if (radius < this.options['minRadius']) {\r\n this.radius = this.options['minRadius'] - 1\r\n this.isMouseDown = false\r\n this.map.un('pointermove', this.onMouseMove, this)\r\n } else {\r\n this.radius = radius\r\n }\r\n this.handleLabel.innerHTML = Math.floor(this.radius) + 1 + 'm'\r\n this.geom = this._getCircleGeom()\r\n this.circleFeature.setGeometry(this.geom)\r\n this.overlay.setPosition(this.geom.getLastCoordinate())\r\n }\r\n }\r\n\r\n /**\r\n * 处理鼠标移动事件\r\n * @param event\r\n */\r\n onMouseMove (event) {\r\n if (this.isMouseDown) {\r\n this.mathRadius(event.coordinate)\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前投影\r\n * @returns {string}\r\n * @private\r\n */\r\n _getProjectionCode () {\r\n let code = ''\r\n if (this.map) {\r\n code = this.map.getView().getProjection().getCode()\r\n } else {\r\n code = 'EPSG:3857'\r\n }\r\n return code\r\n }\r\n\r\n /**\r\n * 半径和坐标间的转换\r\n * @param center\r\n * @param meterRadius\r\n * @returns {number}\r\n */\r\n transformRadius (center, meterRadius) {\r\n try {\r\n let lastCoords = this.sphare.offset(center, meterRadius, (270 / 360) * 2 * Math.PI) // 计算偏移量\r\n let [ptx, pty] = [(center[0] - lastCoords[0]), (center[1] - lastCoords[1])]\r\n let transformRadiu = (Math.sqrt(Math.pow(ptx, 2) + Math.pow(pty, 2)))\r\n return transformRadiu\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取圆的geometry\r\n * @private\r\n */\r\n getGeometry () {\r\n if (this.geom) {\r\n return this.geom\r\n } else {\r\n console.info('未创建空间几何!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取圆的中心点\r\n * @returns {ol.Coordinate|ol.Coordinate|undefined|*}\r\n * @private\r\n */\r\n getCenter () {\r\n return this.geom.getCenter()\r\n }\r\n\r\n /**\r\n * 获取圆的半径\r\n * @returns {number|*}\r\n * @private\r\n */\r\n getRadius () {\r\n return this.geom.getRadius()\r\n }\r\n\r\n /**\r\n * 获取圆的线上的坐标\r\n * @private\r\n */\r\n getCoordinates () {\r\n return this.geom.getCoordinates()\r\n }\r\n\r\n /**\r\n * 获取圆的第一个坐标\r\n * @returns {*}\r\n * @private\r\n */\r\n getFirstCoordinate () {\r\n return this.geom.getFirstCoordinate()\r\n }\r\n\r\n /**\r\n * 获取圆的最后一个坐标\r\n * @returns {*}\r\n * @private\r\n */\r\n getLastCoordinate () {\r\n return this.geom.getLastCoordinate()\r\n }\r\n\r\n /**\r\n * 设置圆的半径\r\n * @param radius 半径长度\r\n * @private\r\n */\r\n setRadius (radius) {\r\n this.radius = radius\r\n this.geom = this._getCircleGeom()\r\n this.circleFeature.setGeometry(this.geom)\r\n this.dispachChange()\r\n }\r\n\r\n /**\r\n * 设置圆的圆心\r\n * @param center 圆心坐标[x,y]\r\n * @private\r\n */\r\n setCenter (center) {\r\n this.center = center\r\n this.centerCopy = ol.proj.transform(center, this._getProjectionCode(), 'EPSG:4326')\r\n this.geom.setCenter(center)\r\n this.dispachChange()\r\n }\r\n\r\n /**\r\n * 半径中心变化触发事件\r\n */\r\n dispachChange () {\r\n if (this.options['onRadiusChangeEnd'] && typeof this.options['onRadiusChangeEnd'] === 'function') {\r\n this.options['onRadiusChangeEnd'](this)\r\n }\r\n }\r\n}\r\n\r\nexport default CustomCircle\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plugins/CustomCircle.js","/**\r\n * Created by FDD on 2017/5/10.\r\n * @desc 空间数据加密解密算法\r\n */\r\nclass GeomCoder {\r\n constructor (params) {\r\n /**\r\n * 当前参数信息\r\n * @type {{}}\r\n */\r\n this.options = (!params) ? {} : params\r\n /**\r\n * 版本信息\r\n * @type {string}\r\n */\r\n this.version = '1.0.0'\r\n /**\r\n * @private\r\n * @type {number}\r\n */\r\n this.factor_ = this.options.factor ? this.options.factor : 1e5\r\n\r\n /**\r\n * 空间数据模型\r\n * @type {{XY: string, XYM: string, XYZ: string, XYZM: string}}\r\n */\r\n this.GeometryLayout = {\r\n XY: 'XY',\r\n XYM: 'XYM',\r\n XYZ: 'XYZ',\r\n XYZM: 'XYZM'\r\n }\r\n\r\n /**\r\n * @private\r\n * @type {ol.geom.GeometryLayout}\r\n */\r\n this.geometryLayout_ = this.options.geometryLayout ? this.options.geometryLayout : this.GeometryLayout.XY\r\n }\r\n\r\n // readGeometryFromEnCodes (codes) {\r\n // if (codes && Array.isArray(codes) && codes.length > 0) { // 压缩后的数组\r\n //\r\n // } else if (typeof codes === 'string') { // 压缩后的字符串\r\n //\r\n // }\r\n // }\r\n\r\n /**\r\n * 读取加密数据\r\n * @param text\r\n * @returns {Array}\r\n */\r\n readCoordinatesFromText (text) {\r\n let stride = this.getStrideForLayout(this.geometryLayout_)\r\n let flatCoordinates = this.decodeDeltas(text, stride)\r\n this.flipXY(flatCoordinates, 0, flatCoordinates.length, stride, flatCoordinates)\r\n let coordinates = this.coordinates(flatCoordinates, 0, flatCoordinates.length, stride)\r\n return coordinates\r\n }\r\n\r\n /**\r\n * 加密空间数组\r\n * @param coordinates\r\n * @param stride\r\n * @returns {*}\r\n */\r\n writeCoordinatesText (coordinates, stride) {\r\n /**\r\n * 实际是将坐标数组转成一纬数组\r\n * @type {*}\r\n */\r\n let flatCoordinates = []\r\n if (coordinates && Array.isArray(coordinates) && coordinates.length > 0) {\r\n coordinates.forEach(item => {\r\n if (item && Array.isArray(item) && item.length > 0) {\r\n item.forEach(_item => {\r\n if (_item) {\r\n flatCoordinates.push(_item)\r\n }\r\n })\r\n }\r\n })\r\n }\r\n if (!stride) {\r\n stride = 2\r\n }\r\n this.flipXY(flatCoordinates, 0, flatCoordinates.length, stride, flatCoordinates)\r\n return (this.encodeDeltas(flatCoordinates, stride))\r\n }\r\n\r\n /**\r\n * 判断传入数据类型是否是文本类型\r\n * @param source\r\n * @returns {*}\r\n * @private\r\n */\r\n getText_ (source) {\r\n if (typeof source === 'string') {\r\n return source\r\n } else {\r\n return ''\r\n }\r\n }\r\n\r\n /**\r\n * 所传标准数据长度\r\n * @param layout\r\n * @returns {*}\r\n */\r\n getStrideForLayout (layout) {\r\n let stride = null\r\n if (layout === this.GeometryLayout.XY) {\r\n stride = 2\r\n } else if (layout === this.GeometryLayout.XYZ || layout === this.GeometryLayout.XYM) {\r\n stride = 3\r\n } else if (layout === this.GeometryLayout.XYZM) {\r\n stride = 4\r\n }\r\n return (stride)\r\n }\r\n\r\n /**\r\n * 解码增量值(核心算法)\r\n * @param encoded\r\n * @param stride\r\n * @returns {Array.}\r\n */\r\n decodeDeltas (encoded, stride) {\r\n /** @type {Array.} */\r\n let lastNumbers = new Array(stride)\r\n for (let d = 0; d < stride; ++d) {\r\n lastNumbers[d] = 0\r\n }\r\n let numbers = this.decodeFloats(encoded, this.factor_)\r\n let [i, ii] = [null, null]\r\n for (i = 0, ii = numbers.length; i < ii;) {\r\n for (let d = 0; d < stride; ++d, ++i) {\r\n lastNumbers[d] += numbers[i]\r\n numbers[i] = lastNumbers[d]\r\n }\r\n }\r\n return numbers\r\n }\r\n\r\n /**\r\n * 编码增量值\r\n * @param numbers\r\n * @param stride\r\n * @returns {*}\r\n */\r\n encodeDeltas (numbers, stride) {\r\n let [d, lastNumbers, i, ii] = [null, (new Array(stride)), null, null]\r\n for (d = 0; d < stride; ++d) {\r\n lastNumbers[d] = 0\r\n }\r\n for (i = 0, ii = numbers.length; i < ii;) {\r\n for (d = 0; d < stride; ++d, ++i) {\r\n let num = numbers[i]\r\n let delta = num - lastNumbers[d]\r\n lastNumbers[d] = num\r\n numbers[i] = delta\r\n }\r\n }\r\n return this.encodeFloats(numbers)\r\n }\r\n\r\n /**\r\n * 解码浮点数\r\n * @param encoded\r\n * @returns {*}\r\n */\r\n decodeFloats (encoded) {\r\n let numbers = this.decodeSignedIntegers(encoded)\r\n let [i, ii] = [null, null]\r\n for (i = 0, ii = numbers.length; i < ii; ++i) {\r\n numbers[i] /= this.factor_\r\n }\r\n return numbers\r\n }\r\n\r\n /**\r\n * 编码浮点数\r\n * @param numbers\r\n * @returns {*}\r\n */\r\n encodeFloats (numbers) {\r\n let [i, ii] = [null, null]\r\n for (i = 0, ii = numbers.length; i < ii; ++i) {\r\n numbers[i] = Math.round(numbers[i] * this.factor_)\r\n }\r\n return this.encodeSignedIntegers(numbers)\r\n }\r\n\r\n /**\r\n * 解码有符号整数\r\n * @param encoded\r\n * @returns {*}\r\n */\r\n decodeSignedIntegers (encoded) {\r\n let numbers = this.decodeUnsignedIntegers(encoded)\r\n let [i, ii] = [null, null]\r\n for (i = 0, ii = numbers.length; i < ii; ++i) {\r\n let num = numbers[i]\r\n numbers[i] = (num & 1) ? ~(num >> 1) : (num >> 1)\r\n }\r\n return numbers\r\n }\r\n\r\n /**\r\n * 编码有符号整数\r\n * @param numbers\r\n * @returns {*}\r\n */\r\n encodeSignedIntegers (numbers) {\r\n let [i, ii] = [null, null]\r\n for (i = 0, ii = numbers.length; i < ii; ++i) {\r\n let num = numbers[i]\r\n numbers[i] = (num < 0) ? ~(num << 1) : (num << 1)\r\n }\r\n return this.encodeUnsignedIntegers(numbers)\r\n }\r\n\r\n /**\r\n * 解码无符号整数\r\n * @param encoded\r\n * @returns {null}\r\n */\r\n decodeUnsignedIntegers (encoded) {\r\n let [numbers, current, shift, i, ii] = [[], 0, 0, null, null]\r\n for (i = 0, ii = encoded.length; i < ii; ++i) {\r\n let b = encoded.charCodeAt(i) - 63\r\n current |= (b & 0x1f) << shift\r\n if (b < 0x20) {\r\n numbers.push(current)\r\n current = 0\r\n shift = 0\r\n } else {\r\n shift += 5\r\n }\r\n }\r\n return numbers\r\n }\r\n\r\n /**\r\n * 编码无符号整数数组\r\n * @param numbers\r\n * @returns {string}\r\n */\r\n encodeUnsignedIntegers (numbers) {\r\n let [encoded, i, ii] = ['', null, null]\r\n for (i = 0, ii = numbers.length; i < ii; ++i) {\r\n encoded += this.encodeUnsignedInteger(numbers[i])\r\n }\r\n return encoded\r\n }\r\n\r\n /**\r\n * 编码无符号整数\r\n * @param num\r\n * @returns {null}\r\n */\r\n encodeUnsignedInteger (num) {\r\n let [value, encoded] = ['', '']\r\n while (num >= 0x20) {\r\n value = (0x20 | (num & 0x1f)) + 63\r\n encoded += String.fromCharCode(value)\r\n num >>= 5\r\n }\r\n value = num + 63\r\n encoded += String.fromCharCode(value)\r\n return encoded\r\n }\r\n\r\n /**\r\n * 反转XY坐标\r\n * @param flatCoordinates\r\n * @param offset\r\n * @param end\r\n * @param stride\r\n * @param optDest\r\n * @param optDestOffset\r\n * @returns {string}\r\n */\r\n flipXY (flatCoordinates, offset, end, stride, optDest, optDestOffset) {\r\n let [dest, destOffset] = ['', '']\r\n if (optDest !== undefined) {\r\n dest = optDest\r\n destOffset = optDestOffset !== undefined ? optDestOffset : 0\r\n } else {\r\n dest = []\r\n destOffset = 0\r\n }\r\n let j = offset\r\n while (j < end) {\r\n let x = flatCoordinates[j++]\r\n dest[destOffset++] = flatCoordinates[j++]\r\n dest[destOffset++] = x\r\n for (let k = 2; k < stride; ++k) {\r\n dest[destOffset++] = flatCoordinates[j++]\r\n }\r\n }\r\n dest.length = destOffset\r\n return dest\r\n }\r\n\r\n /**\r\n * 读取字符串坐标\r\n * @param flatCoordinates\r\n * @param offset\r\n * @param end\r\n * @param stride\r\n * @param optCoordinates\r\n * @returns {Array}\r\n */\r\n coordinates (flatCoordinates, offset, end, stride, optCoordinates) {\r\n let coordinates = optCoordinates !== undefined ? optCoordinates : []\r\n let [i, j] = [0, null]\r\n for (j = offset; j < end; j += stride) {\r\n coordinates[i++] = flatCoordinates.slice(j, j + stride)\r\n }\r\n coordinates.length = i\r\n return coordinates\r\n }\r\n}\r\n\r\nexport default GeomCoder\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plugins/GeomCoder.js","import mix from '../utils/mixin'\r\nimport Layer from '../layer/Layer'\r\nimport Style from '../style/Style'\r\nimport { ol } from '../constants'\r\nimport * as utils from '../utils/utils'\r\nclass MeasureTool extends mix(Layer, Style) {\r\n constructor (mapInstence, params) {\r\n super()\r\n if (mapInstence && mapInstence['map'] instanceof ol.Map) {\r\n this.defaultParams = {\r\n measureLengthCursor: 'url(../asset/cur/ruler.cur), default',\r\n measureAreaCursor: 'url(../asset/cur/ruler.cur), default',\r\n style: {\r\n fill: {\r\n fillColor: 'rgba(67, 110, 238, 0.4)'\r\n },\r\n stroke: {\r\n strokeColor: 'rgba(242,123,57,1)',\r\n strokeWidth: 2\r\n },\r\n circle: {\r\n circleRadius: 4,\r\n stroke: {\r\n strokeColor: 'rgba(255,0,0,1)',\r\n strokeWidth: 1\r\n },\r\n fill: {\r\n fillColor: 'rgba(255,255,255,1)'\r\n }\r\n }\r\n }\r\n }\r\n if (params && typeof params === 'object') {\r\n for (let key in params) {\r\n this.defaultParams[key] = params[key]\r\n }\r\n }\r\n /**\r\n * 地图实例\r\n */\r\n this.mapInstence = mapInstence\r\n /**\r\n * 地图对象\r\n * @type {ol.Map}\r\n */\r\n this.map = mapInstence['map']\r\n /**\r\n * 计算工具\r\n * @type {ol.Sphere}\r\n */\r\n this.wgs84Sphere = new ol.Sphere(6378137)\r\n /**\r\n * 测量类型(目前预制两种,测距和测面)\r\n * @type {{measureLength: string, measureArea: string}}\r\n */\r\n this.measureTypes = {\r\n measureLength: 'measureLength',\r\n measureArea: 'measureArea'\r\n }\r\n /**\r\n * 拖拽交互\r\n * @type {null}\r\n */\r\n this.dragPanInteraction = null\r\n\r\n /**\r\n * 双击交互\r\n * @type {null}\r\n */\r\n this.DoubleClickZoom = null\r\n /**\r\n * 是否使用地理测量方式\r\n * @type {boolean}\r\n */\r\n this.isGeodesic = (this.defaultParams['isGeodesic'] === false ? this.defaultParams['isGeodesic'] : true)\r\n /**\r\n * 测量工具所处图层\r\n * @type {*}\r\n */\r\n this.layerName = this.defaultParams['layerName'] || 'measureTool'\r\n } else {\r\n throw new Error('传入的不是地图对象或者地图对象为空!')\r\n }\r\n }\r\n\r\n /**\r\n * 初始设置\r\n * @param params\r\n */\r\n setUp (params) {\r\n /**\r\n * 当前设置\r\n * @type {*}\r\n */\r\n this.options = params || {}\r\n /**\r\n * 默认鼠标样式\r\n */\r\n this.previousCursor_ = this.map.getTargetElement().style.cursor\r\n /**\r\n * 点击计数器\r\n * @type {number}\r\n */\r\n this.clickCount = ''\r\n /**\r\n * 测量结果\r\n * @type {null}\r\n */\r\n this.drawSketch = null\r\n /**\r\n * draw对象\r\n * @type {null}\r\n */\r\n if (this.draw) {\r\n this.map.removeInteraction(this.draw)\r\n }\r\n this.draw = null\r\n\r\n /**\r\n * 移动事件处理\r\n * @type {null}\r\n */\r\n if (this.beforeMeasurePointerMoveHandler) {\r\n ol.Observable.unByKey(this.beforeMeasurePointerMoveHandler)\r\n }\r\n this.beforeMeasurePointerMoveHandler = null\r\n /**\r\n * 处理机\r\n * @type {null}\r\n */\r\n if (this.listener) {\r\n ol.Observable.unByKey(this.listener)\r\n }\r\n this.listener = null\r\n /**\r\n * 当前所画要素\r\n * @type {null}\r\n */\r\n this.drawSketch = null\r\n /**\r\n * 画点事件处理\r\n * @type {null}\r\n */\r\n if (this.drawPointermove) {\r\n ol.Observable.unByKey(this.drawPointermove)\r\n }\r\n this.drawPointermove = null\r\n /**\r\n * 面积测量提示\r\n * @type {null}\r\n */\r\n this.measureAreaTooltip = null\r\n\r\n this.measureAreaTooltipElement = null\r\n\r\n this.removeDrawInteraion()\r\n\r\n /**\r\n * 测量提示信息\r\n * @type {string}\r\n */\r\n if (this.measureHelpTooltip) {\r\n this.map.removeOverlay(this.measureHelpTooltip)\r\n }\r\n this.measureHelpTooltip = ''\r\n if (this.options['measureType'] === this.measureTypes.measureLength) {\r\n this.measureLengthClick = this.map.on('click', eventP => {\r\n this.measureLengthSingleClick = this.map.on('singleclick', event => {\r\n if (!this.clickCount) {\r\n this.clickCount = utils.getuuid()\r\n this.drawSketch.length = '起点'\r\n }\r\n this.addMeasureOverLay(event.coordinate, this.drawSketch.length)\r\n this.addMeasurecircle(event.coordinate)\r\n ol.Observable.unByKey(this.measureLengthSingleClick)\r\n })\r\n })\r\n this.beforeMeasurePointerMoveHandler = this.map.on('pointermove', this.beforeDrawPointMoveHandler, this)\r\n } else if (this.options['measureType'] === this.measureTypes.measureArea) {\r\n this.beforeMeasurePointerMoveHandler = this.map.on('pointermove', this.beforeDrawPointMoveHandler, this)\r\n }\r\n this.addDrawInteraction()\r\n this.changeCur(this.options['measureType'])\r\n }\r\n\r\n /**\r\n * 销毁实例\r\n */\r\n destroy () {\r\n try {\r\n window.setTimeout(() => {\r\n this.getDragPanInteraction().setActive(true)\r\n this.getDoubleClickZoomInteraction().setActive(true)\r\n }, 300)\r\n this.map.getTargetElement().style.cursor = 'default'\r\n this.map.removeOverlay(this.measureHelpTooltip)\r\n this.measureHelpTooltip = null\r\n this.removeDrawInteraion()\r\n this.changeCur()\r\n this.listener = null\r\n this.drawSketch = null\r\n if (this.layer && this.layer instanceof ol.layer.Vector) {\r\n this.map.removeLayer(this.layer)\r\n }\r\n this.mapInstence.removeOverlayByLayerName(this.layerName)\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加画笔交互\r\n */\r\n addDrawInteraction () {\r\n let [ type ] = [ '' ]\r\n if (this.options['measureType'] === this.measureTypes.measureLength) {\r\n type = 'LineString'\r\n } else if (this.options['measureType'] === this.measureTypes.measureArea) {\r\n type = 'Polygon'\r\n }\r\n this.options['create'] = true\r\n this.layer = this.createVectorLayer(this.layerName, this.options)\r\n this.mapInstence.polygonLayers.add(this.layerName)\r\n this.mapInstence.orderLayerZindex()\r\n let style = this.getStyleForMeasure(this.defaultParams['style'])\r\n this.layer.setStyle(style)\r\n this.draw = new ol.interaction.Draw({\r\n source: this.layer.getSource(),\r\n type: type,\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(254, 164, 164, 1)'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(252, 129, 129, 1)',\r\n width: 3\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 1,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33'\r\n })\r\n })\r\n })\r\n })\r\n this.map.addInteraction(this.draw)\r\n this.drawListener()\r\n this.getDragPanInteraction().setActive(false)\r\n this.getDoubleClickZoomInteraction().setActive(false)\r\n }\r\n /**\r\n * 移除交互工具\r\n */\r\n removeDrawInteraion () {\r\n if (this.draw) {\r\n this.map.removeInteraction(this.draw)\r\n this.draw = null\r\n }\r\n if (this.listener) {\r\n ol.Observable.unByKey(this.listener)\r\n this.listener = null\r\n }\r\n if (this.drawPointermove) {\r\n ol.Observable.unByKey(this.drawPointermove)\r\n this.drawPointermove = null\r\n }\r\n if (this.measureLengthClick) {\r\n ol.Observable.unByKey(this.measureLengthClick)\r\n this.measureLengthClick = null\r\n }\r\n if (this.beforeMeasurePointerMoveHandler) {\r\n ol.Observable.unByKey(this.beforeMeasurePointerMoveHandler)\r\n this.beforeMeasurePointerMoveHandler = null\r\n }\r\n if (this.measureLengthSingleClick) {\r\n ol.Observable.unByKey(this.measureLengthSingleClick)\r\n this.measureLengthSingleClick = null\r\n }\r\n this.clickCount = ''\r\n }\r\n\r\n /**\r\n * 点击之前的提示信息\r\n * @param event\r\n */\r\n beforeDrawPointMoveHandler (event) {\r\n if (!this.measureHelpTooltip) {\r\n let helpTooltipElement = document.createElement('label')\r\n if (this.measureTypes.measureLength === this.options['measureType']) {\r\n helpTooltipElement.className = 'HMapLabel'\r\n helpTooltipElement.style.position = 'absolute'\r\n helpTooltipElement.style.display = 'inline'\r\n helpTooltipElement.style.cursor = 'inherit'\r\n helpTooltipElement.style.border = 'none'\r\n helpTooltipElement.style.padding = '0'\r\n helpTooltipElement.style.whiteSpace = 'nowrap'\r\n helpTooltipElement.style.fontVariant = 'normal'\r\n helpTooltipElement.style.fontWeight = 'normal'\r\n helpTooltipElement.style.fontStretch = 'normal'\r\n helpTooltipElement.style.fontSize = '12px'\r\n helpTooltipElement.style.lineHeight = 'normal'\r\n helpTooltipElement.style.fontFamily = 'arial,simsun'\r\n helpTooltipElement.style.color = 'rgb(51, 51, 51)'\r\n helpTooltipElement.style.webkitUserSelect = 'none'\r\n helpTooltipElement.innerHTML = '单击开始测量'\r\n } else {\r\n helpTooltipElement.className = 'HMapLabel HMap_disLabel'\r\n helpTooltipElement.style.position = 'absolute'\r\n helpTooltipElement.style.display = 'inline'\r\n helpTooltipElement.style.cursor = 'inherit'\r\n helpTooltipElement.style.border = '1px solid rgb(255, 1, 3)'\r\n helpTooltipElement.style.padding = '3px 5px'\r\n helpTooltipElement.style.whiteSpace = 'nowrap'\r\n helpTooltipElement.style.fontVariant = 'normal'\r\n helpTooltipElement.style.fontWeight = 'normal'\r\n helpTooltipElement.style.fontStretch = 'normal'\r\n helpTooltipElement.style.fontSize = '12px'\r\n helpTooltipElement.style.fontFamily = 'arial,simsun'\r\n helpTooltipElement.style.color = 'rgb(51, 51, 51)'\r\n helpTooltipElement.style.backgroundColor = 'rgb(255, 255, 255)'\r\n helpTooltipElement.style.webkitUserSelect = 'none'\r\n helpTooltipElement.style.height = '24px'\r\n helpTooltipElement.style.lineHeight = '19px'\r\n helpTooltipElement.innerHTML = '单击开始测面,双击结束'\r\n }\r\n this.measureHelpTooltip = new ol.Overlay({\r\n element: helpTooltipElement,\r\n offset: [15, -10],\r\n positioning: 'center-center'\r\n })\r\n this.measureHelpTooltip.set('layerName', this.layerName)\r\n this.map.addOverlay(this.measureHelpTooltip)\r\n }\r\n this.measureHelpTooltip.setPosition(event.coordinate)\r\n }\r\n\r\n /**\r\n * 改变当前鼠标形状\r\n * @param type\r\n */\r\n changeCur (type) {\r\n if (type === this.measureTypes.measureLength) {\r\n this.map.getTargetElement().style.cursor = this.defaultParams['measureLengthCursor']\r\n } else if (type === this.measureTypes.measureArea) {\r\n this.map.getTargetElement().style.cursor = this.defaultParams['measureAreaCursor']\r\n } else {\r\n this.map.getTargetElement().style.cursor = this.previousCursor_\r\n }\r\n }\r\n\r\n /**\r\n * 点击之后的事件处理\r\n * @param event\r\n */\r\n drawPointerMoveHandler (event) {\r\n if (this.measureTypes.measureLength === this.options['measureType']) {\r\n if (event.dragging) {\r\n return\r\n }\r\n let helpTooltipElement = this.measureHelpTooltip.getElement()\r\n helpTooltipElement.className = ' HMapLabel HMap_disLabel move-label'\r\n helpTooltipElement.innerHTML = '总长:
单击确定地点,双击结束'\r\n this.measureHelpTooltip.setPosition(event.coordinate)\r\n }\r\n }\r\n\r\n /**\r\n * 画笔事件处理机\r\n */\r\n drawListener () {\r\n this.draw.on('drawstart', event => {\r\n this.drawSketch = event.feature\r\n this.drawSketch.set('uuid', utils.getuuid())\r\n if (this.measureTypes.measureLength === this.options['measureType']) {\r\n ol.Observable.unByKey(this.beforeMeasurePointerMoveHandler)\r\n ol.Observable.unByKey(this.listener)\r\n this.beforeMeasurePointerMoveHandler = null\r\n this.listener = null\r\n this.listener = this.drawSketch.getGeometry().on('change', evt => {\r\n let geom = evt.target\r\n if (geom instanceof ol.geom.LineString) {\r\n let output = this.formatData(geom)\r\n this.drawSketch.length = output\r\n this.measureHelpTooltip.getElement().firstElementChild.firstElementChild.innerHTML = output\r\n }\r\n })\r\n this.drawPointermove = this.map.on('pointermove', this.drawPointerMoveHandler, this)\r\n } else if (this.measureTypes.measureArea === this.options['measureType']) {\r\n let uuid = utils.getuuid()\r\n this.createMeasureAreaTooltip()\r\n this.drawSketch.set('uuid', uuid)\r\n this.measureAreaTooltip.set('uuid', uuid)\r\n this.listener = this.drawSketch.getGeometry().on('change', evts => {\r\n let geom = evts.target\r\n let area = this.formatData(geom)\r\n if (this.measureAreaTooltip) {\r\n this.measureAreaTooltipElement.innerHTML = '面积' + area\r\n this.measureAreaTooltip.setPosition(geom.getInteriorPoint().getCoordinates())\r\n }\r\n })\r\n }\r\n })\r\n this.draw.on('drawend', ev => {\r\n window.setTimeout(() => {\r\n this.getDragPanInteraction().setActive(true)\r\n this.getDoubleClickZoomInteraction().setActive(true)\r\n }, 300)\r\n this.map.getTargetElement().style.cursor = 'default'\r\n this.map.removeOverlay(this.measureHelpTooltip)\r\n this.measureHelpTooltip = null\r\n if (this.measureTypes.measureLength === this.options['measureType']) {\r\n this.addMeasureOverLay(ev.feature.getGeometry().getLastCoordinate(), this.drawSketch.length, '止点')\r\n this.addMeasurecircle(ev.feature.getGeometry().getLastCoordinate())\r\n } else if (this.options['measureType'] === this.measureTypes.measureArea) {\r\n this.addMeasureRemoveButton(ev.feature.getGeometry().getCoordinates()[0][0])\r\n }\r\n this.removeDrawInteraion()\r\n this.changeCur()\r\n this.listener = null\r\n this.drawSketch = null\r\n })\r\n }\r\n\r\n /**\r\n * 测量结果格式化\r\n * @param geom\r\n * @returns {*}\r\n */\r\n formatData (geom) {\r\n let output = 0\r\n if (geom) {\r\n if (this.options['measureType'] === this.measureTypes.measureLength) {\r\n if (this.isGeodesic) {\r\n let [coordinates, length] = [geom.getCoordinates(), 0]\r\n let sourceProj = this.map.getView().getProjection()\r\n for (let i = 0, ii = coordinates.length - 1; i < ii; ++i) {\r\n let c1 = ol.proj.transform(coordinates[i], sourceProj, 'EPSG:4326')\r\n let c2 = ol.proj.transform(coordinates[i + 1], sourceProj, 'EPSG:4326')\r\n length += this.wgs84Sphere.haversineDistance(c1, c2)\r\n }\r\n if (length > 100) {\r\n output = (Math.round(length / 1000 * 100) / 100) + ' ' + '公里'\r\n } else {\r\n output = (Math.round(length * 100) / 100) + ' ' + '米'\r\n }\r\n } else {\r\n output = Math.round(geom.getLength() * 100) / 100\r\n }\r\n } else if (this.options['measureType'] === this.measureTypes.measureArea) {\r\n if (this.isGeodesic) {\r\n let sourceProj = this.getMap().getView().getProjection()\r\n let geometry = /** @type {ol.geom.Polygon} */(geom.clone().transform(\r\n sourceProj, 'EPSG:4326'))\r\n let coordinates = geometry.getLinearRing(0).getCoordinates()\r\n let area = Math.abs(this.wgs84Sphere.geodesicArea(coordinates))\r\n if (area > 10000000000) {\r\n output = (Math.round(area / (1000 * 1000 * 10000) * 100) / 100) + ' ' + '万平方公里'\r\n } else if (area > 1000000 && area < 10000000000) {\r\n output = (Math.round(area / (1000 * 1000) * 100) / 100) + ' ' + '平方公里'\r\n } else {\r\n output = (Math.round(area * 100) / 100) + ' ' + '平方米'\r\n }\r\n } else {\r\n output = geom.getArea()\r\n }\r\n }\r\n }\r\n return output\r\n }\r\n\r\n /**\r\n * 添加点击测量时的圆圈\r\n * @param coordinate\r\n */\r\n addMeasurecircle (coordinate) {\r\n let feature = new ol.Feature({\r\n uuid: this.drawSketch.get('uuid'),\r\n geometry: new ol.geom.Point(coordinate)\r\n })\r\n this.layer.getSource().addFeature(feature)\r\n }\r\n\r\n /**\r\n * 添加测量结果Overlay\r\n * @param coordinate\r\n * @param length\r\n * @param type\r\n */\r\n addMeasureOverLay (coordinate, length, type) {\r\n let helpTooltipElement = document.createElement('label')\r\n if (type === '止点') {\r\n helpTooltipElement.className = 'hmap-measure-overLay HMap_disLabel'\r\n helpTooltipElement.innerHTML = \"总长\" + length + ''\r\n this.addMeasureRemoveButton(coordinate)\r\n } else {\r\n helpTooltipElement.className = 'hmap-measure-overLay HMapLabel'\r\n helpTooltipElement.innerHTML = \"\" + length + ''\r\n }\r\n let tempMeasureTooltip = new ol.Overlay({\r\n element: helpTooltipElement,\r\n offset: [10, -10],\r\n positioning: 'center-center'\r\n })\r\n tempMeasureTooltip.set('layerName', this.layerName)\r\n this.map.addOverlay(tempMeasureTooltip)\r\n tempMeasureTooltip.setPosition(coordinate)\r\n tempMeasureTooltip.set('uuid', this.drawSketch.get('uuid'))\r\n }\r\n\r\n /**\r\n * 添加移除按钮\r\n * @param coordinate\r\n */\r\n addMeasureRemoveButton (coordinate) {\r\n let pos = [coordinate[0] - 5 * this.map.getView().getResolution(), coordinate[1]]\r\n let btnImg = document.createElement('img')\r\n btnImg.src = (this.defaultParams['removeButtonSrc'] ? this.defaultParams['removeButtonSrc'] : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEYzMzc1RDY3RDU1MTFFNUFDNDJFNjQ4NUUwMzRDRDYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEYzMzc1RDc3RDU1MTFFNUFDNDJFNjQ4NUUwMzRDRDYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0RjMzNzVENDdENTUxMUU1QUM0MkU2NDg1RTAzNENENiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0RjMzNzVENTdENTUxMUU1QUM0MkU2NDg1RTAzNENENiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsDx84AAAAC3SURBVHjavJIxDoMwDEV/ok5wDCbu0DvAdUBIwMLFSs/AxDXY6tZ2SCGVUikd+ifn20+2k5hHVd0AXJGmGQw+UyWMxY8KQGpbUNcB23aYHIsnuSgIy8dlAQ2DgwWSmD0YE5ReAq5pQOMIrKsDRByjKGC/dsxz2L7XQgU8JB7n4qDoY6SYF4J+p72T7/zeOXqr03SMx8XnsTUX7UgElKVCyDK3s8Tsae6sv/8ceceZ6jr1k99fAgwAsZy0Sa2HgDcAAAAASUVORK5CYII=')\r\n btnImg.style.cursor = 'pointer'\r\n btnImg.title = '清除测量结果'\r\n btnImg.groupId = this.drawSketch.get('uuid')\r\n btnImg.pos = coordinate\r\n btnImg.onclick = evt => {\r\n this.RemoveMeasure(btnImg.groupId, coordinate)\r\n }\r\n let closeBtn = new ol.Overlay({\r\n element: btnImg,\r\n offset: [0, 10],\r\n positioning: 'center-bottom'\r\n })\r\n closeBtn.set('layerName', this.layerName)\r\n this.map.addOverlay(closeBtn)\r\n this.map.render()\r\n closeBtn.setPosition(pos)\r\n closeBtn.set('uuid', this.drawSketch.get('uuid'))\r\n }\r\n\r\n /**\r\n * 面积测量结果\r\n */\r\n createMeasureAreaTooltip () {\r\n this.measureAreaTooltipElement = document.createElement('div')\r\n this.measureAreaTooltipElement.style.marginLeft = '-6.25em'\r\n this.measureAreaTooltipElement.className = 'measureTooltip hidden'\r\n this.measureAreaTooltip = new ol.Overlay({\r\n element: this.measureAreaTooltipElement,\r\n offset: [15, 0],\r\n positioning: 'center-left'\r\n })\r\n this.measureAreaTooltip.set('layerName', this.layerName)\r\n this.map.addOverlay(this.measureAreaTooltip)\r\n }\r\n\r\n /**\r\n * 移除测量结果\r\n * @param groupId\r\n * @param pos\r\n * @constructor\r\n */\r\n RemoveMeasure (groupId, pos) {\r\n let overlays = this.getMap().getOverlays().getArray()\r\n if (overlays && Array.isArray(overlays)) {\r\n let length = overlays.length\r\n // TODO 注意地图移除Overlay时数组长度会变化\r\n for (let j = 0, i = 0; j < length; j++) {\r\n i++\r\n if (overlays[length - i] && overlays[length - i] instanceof ol.Overlay && overlays[length - i].get('uuid') === groupId) {\r\n this.map.removeOverlay(overlays[length - i])\r\n }\r\n }\r\n }\r\n if (this.layer && this.layer.getSource()) {\r\n let source = this.layer.getSource()\r\n let features = source.getFeatures()\r\n features.forEach(function (feat) {\r\n let lastCoord = feat.getGeometry().getLastCoordinate()\r\n if ((lastCoord[0] === pos[0] && lastCoord[1] === pos[1]) || feat.get('uuid') === groupId) {\r\n source.removeFeature(feat)\r\n }\r\n }, this)\r\n }\r\n }\r\n\r\n /**\r\n * 获取地图拖拽漫游交互\r\n * @returns {ol.interaction.DragPan|*|null}\r\n */\r\n getDragPanInteraction () {\r\n if (!this.dragPanInteraction) {\r\n let items = this.getMap().getInteractions().getArray()\r\n items.every(item => {\r\n if (item && item instanceof ol.interaction.DragPan) {\r\n this.dragPanInteraction = item\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n return this.dragPanInteraction\r\n }\r\n\r\n /**\r\n * 获取双击放大交互\r\n * @returns {ol.interaction.DoubleClickZoom|*|null}\r\n */\r\n getDoubleClickZoomInteraction () {\r\n if (!this.DoubleClickZoom) {\r\n let items = this.getMap().getInteractions().getArray()\r\n items.every(item => {\r\n if (item && item instanceof ol.interaction.DoubleClickZoom) {\r\n this.DoubleClickZoom = item\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n return this.DoubleClickZoom\r\n }\r\n\r\n /**\r\n * 返回当前地图对象\r\n * @returns {ol.Map}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n}\r\nexport default MeasureTool\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plugins/MeasureTool.js","/**\r\n * Created by FDD on 2017/6/27.\r\n * @desc 样式文件统一入口\r\n */\r\nimport './popup/index.scss'\r\nimport './plot/index.scss'\r\nimport './overlay/index.scss'\r\nimport './ol/ol.scss'\r\nimport './measure/index.scss'\r\nimport './geolocation/index.scss'\r\nimport './customCircle/index.scss'\r\nimport './compare/index.scss'\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/scss/index.js","// Styles for the mapbox-streets-v6 vector tile data set. Loosely based on\r\n// http://a.tiles.mapbox.com/v4/mapbox.mapbox-streets-v6.json\r\nimport {ol} from '../constants'\r\n/**\r\n * V6Style\r\n * @returns {Function}\r\n */\r\nexport const createMapboxStreetsV6Style = () => {\r\n let fill = new ol.style.Fill({color: ''})\r\n let stroke = new ol.style.Stroke({color: '', width: 1})\r\n let polygon = new ol.style.Style({fill: fill})\r\n let strokedPolygon = new ol.style.Style({fill: fill, stroke: stroke})\r\n let line = new ol.style.Style({stroke: stroke})\r\n let text = new ol.style.Style({\r\n text: new ol.style.Text({\r\n text: '', fill: fill, stroke: stroke\r\n })\r\n })\r\n let iconCache = {}\r\n\r\n function getIcon (iconName) {\r\n let icon = iconCache[iconName]\r\n if (!icon) {\r\n icon = new ol.style.Style({\r\n image: new ol.style.Icon({\r\n src: 'https://cdn.rawgit.com/mapbox/maki/master/icons/' + iconName + '-15.svg',\r\n imgSize: [15, 15]\r\n })\r\n })\r\n iconCache[iconName] = icon\r\n }\r\n return icon\r\n }\r\n\r\n let styles = []\r\n return function (feature, resolution) {\r\n let length = 0\r\n let layer = feature.get('layer')\r\n let cls = feature.get('class')\r\n let type = feature.get('type')\r\n let scalerank = feature.get('scalerank')\r\n let labelrank = feature.get('labelrank')\r\n let adminLevel = feature.get('admin_level')\r\n let maritime = feature.get('maritime')\r\n let disputed = feature.get('disputed')\r\n let maki = feature.get('maki')\r\n let geom = feature.getGeometry().getType()\r\n if (layer === 'landuse' && cls === 'park') {\r\n fill.setColor('#d8e8c8')\r\n styles[length++] = polygon\r\n } else if (layer === 'landuse' && cls === 'cemetery') {\r\n fill.setColor('#e0e4dd')\r\n styles[length++] = polygon\r\n } else if (layer === 'landuse' && cls === 'hospital') {\r\n fill.setColor('#fde')\r\n styles[length++] = polygon\r\n } else if (layer === 'landuse' && cls === 'school') {\r\n fill.setColor('#f0e8f8')\r\n styles[length++] = polygon\r\n } else if (layer === 'landuse' && cls === 'wood') {\r\n fill.setColor('rgb(233,238,223)')\r\n styles[length++] = polygon\r\n } else if (layer === 'waterway' &&\r\n cls !== 'river' && cls !== 'stream' && cls !== 'canal') {\r\n stroke.setColor('#a0c8f0')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'waterway' && cls === 'river') {\r\n stroke.setColor('#a0c8f0')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'waterway' && (cls === 'stream' ||\r\n cls === 'canal')) {\r\n stroke.setColor('#a0c8f0')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'water') {\r\n fill.setColor('#a0c8f0')\r\n styles[length++] = polygon\r\n } else if (layer === 'aeroway' && geom === 'Polygon') {\r\n fill.setColor('rgb(242,239,235)')\r\n styles[length++] = polygon\r\n } else if (layer === 'aeroway' && geom === 'LineString' &&\r\n resolution <= 76.43702828517625) {\r\n stroke.setColor('#f0ede9')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'building') {\r\n fill.setColor('#f2eae2')\r\n stroke.setColor('#dfdbd7')\r\n stroke.setWidth(1)\r\n styles[length++] = strokedPolygon\r\n } else if (layer === 'tunnel' && cls === 'motorway_link') {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' && cls === 'service') {\r\n stroke.setColor('#cfcdca')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' &&\r\n (cls === 'street' || cls === 'street_limited')) {\r\n stroke.setColor('#cfcdca')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' && cls === 'main' &&\r\n resolution <= 1222.99245256282) {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' && cls === 'motorway') {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' && cls === 'path') {\r\n stroke.setColor('#cba')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' && cls === 'major_rail') {\r\n stroke.setColor('#bbb')\r\n stroke.setWidth(2)\r\n styles[length++] = line\r\n } else if (layer === 'road' && cls === 'motorway_link') {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'road' && (cls === 'street' ||\r\n cls === 'street_limited') && geom === 'LineString') {\r\n stroke.setColor('#cfcdca')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'road' && cls === 'main' &&\r\n resolution <= 1222.99245256282) {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'road' && cls === 'motorway' &&\r\n resolution <= 4891.96981025128) {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'road' && cls === 'path') {\r\n stroke.setColor('#cba')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'road' && cls === 'major_rail') {\r\n stroke.setColor('#bbb')\r\n stroke.setWidth(2)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'motorway_link') {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'motorway') {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'service') {\r\n stroke.setColor('#cfcdca')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' &&\r\n (cls === 'street' || cls === 'street_limited')) {\r\n stroke.setColor('#cfcdca')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'main' &&\r\n resolution <= 1222.99245256282) {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'path') {\r\n stroke.setColor('#cba')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'major_rail') {\r\n stroke.setColor('#bbb')\r\n stroke.setWidth(2)\r\n styles[length++] = line\r\n } else if (layer === 'admin' && adminLevel >= 3 && maritime === 0) {\r\n stroke.setColor('#9e9cab')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'admin' && adminLevel === 2 &&\r\n disputed === 0 && maritime === 0) {\r\n stroke.setColor('#9e9cab')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'admin' && adminLevel === 2 &&\r\n disputed === 1 && maritime === 0) {\r\n stroke.setColor('#9e9cab')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'admin' && adminLevel >= 3 && maritime === 1) {\r\n stroke.setColor('#a0c8f0')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'admin' && adminLevel === 2 && maritime === 1) {\r\n stroke.setColor('#a0c8f0')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'country_label' && scalerank === 1) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('bold 11px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#334')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(2)\r\n styles[length++] = text\r\n } else if (layer === 'country_label' && scalerank === 2 &&\r\n resolution <= 19567.87924100512) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('bold 10px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#334')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(2)\r\n styles[length++] = text\r\n } else if (layer === 'country_label' && scalerank === 3 &&\r\n resolution <= 9783.93962050256) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('bold 9px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#334')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(2)\r\n styles[length++] = text\r\n } else if (layer === 'country_label' && scalerank === 4 &&\r\n resolution <= 4891.96981025128) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('bold 8px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#334')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(2)\r\n styles[length++] = text\r\n } else if (layer === 'marine_label' && labelrank === 1 &&\r\n geom === 'Point') {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont(\r\n 'italic 11px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#74aee9')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'marine_label' && labelrank === 2 &&\r\n geom === 'Point') {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont(\r\n 'italic 11px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#74aee9')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'marine_label' && labelrank === 3 &&\r\n geom === 'Point') {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont(\r\n 'italic 10px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#74aee9')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'marine_label' && labelrank === 4 &&\r\n geom === 'Point') {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont(\r\n 'italic 9px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#74aee9')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'place_label' && type === 'city' &&\r\n resolution <= 1222.99245256282) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('11px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#333')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'place_label' && type === 'town' &&\r\n resolution <= 305.748113140705) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('9px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#333')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'place_label' && type === 'village' &&\r\n resolution <= 38.21851414258813) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('8px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#333')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'place_label' &&\r\n resolution <= 19.109257071294063 && (type === 'hamlet' ||\r\n type === 'suburb' || type === 'neighbourhood')) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('bold 9px \"Arial Narrow\"')\r\n fill.setColor('#633')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'poi_label' && resolution <= 19.109257071294063 &&\r\n scalerank === 1 && maki !== 'marker') {\r\n styles[length++] = getIcon(maki)\r\n } else if (layer === 'poi_label' && resolution <= 9.554628535647032 &&\r\n scalerank === 2 && maki !== 'marker') {\r\n styles[length++] = getIcon(maki)\r\n } else if (layer === 'poi_label' && resolution <= 4.777314267823516 &&\r\n scalerank === 3 && maki !== 'marker') {\r\n styles[length++] = getIcon(maki)\r\n } else if (layer === 'poi_label' && resolution <= 2.388657133911758 &&\r\n scalerank === 4 && maki !== 'marker') {\r\n styles[length++] = getIcon(maki)\r\n } else if (layer === 'poi_label' && resolution <= 1.194328566955879 &&\r\n scalerank >= 5 && maki !== 'marker') {\r\n styles[length++] = getIcon(maki)\r\n }\r\n styles.length = length\r\n return styles\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/style/MapboxStyle.js","require('../../modules/core.regexp.escape');\nmodule.exports = require('../../modules/_core').RegExp.escape;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/fn/regexp/escape.js\n// module id = 213\n// module chunks = 0","var isObject = require('./_is-object')\n , isArray = require('./_is-array')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(original){\n var C;\n if(isArray(original)){\n C = original.constructor;\n // cross-realm fallback\n if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;\n if(isObject(C)){\n C = C[SPECIES];\n if(C === null)C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-species-constructor.js\n// module id = 214\n// module chunks = 0","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function(original, length){\n return new (speciesConstructor(original))(length);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-species-create.js\n// module id = 215\n// module chunks = 0","'use strict';\nvar anObject = require('./_an-object')\n , toPrimitive = require('./_to-primitive')\n , NUMBER = 'number';\n\nmodule.exports = function(hint){\n if(hint !== 'string' && hint !== NUMBER && hint !== 'default')throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_date-to-primitive.js\n// module id = 216\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie');\nmodule.exports = function(it){\n var result = getKeys(it)\n , getSymbols = gOPS.f;\n if(getSymbols){\n var symbols = getSymbols(it)\n , isEnum = pIE.f\n , i = 0\n , key;\n while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);\n } return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_enum-keys.js\n// module id = 217\n// module chunks = 0","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject');\nmodule.exports = function(object, el){\n var O = toIObject(object)\n , keys = getKeys(O)\n , length = keys.length\n , index = 0\n , key;\n while(length > index)if(O[key = keys[index++]] === el)return key;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_keyof.js\n// module id = 218\n// module chunks = 0","'use strict';\nvar path = require('./_path')\n , invoke = require('./_invoke')\n , aFunction = require('./_a-function');\nmodule.exports = function(/* ...pargs */){\n var fn = aFunction(this)\n , length = arguments.length\n , pargs = Array(length)\n , i = 0\n , _ = path._\n , holder = false;\n while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true;\n return function(/* ...args */){\n var that = this\n , aLen = arguments.length\n , j = 0, k = 0, args;\n if(!holder && !aLen)return invoke(fn, pargs, that);\n args = pargs.slice();\n if(holder)for(;length > j; j++)if(args[j] === _)args[j] = arguments[k++];\n while(aLen > k)args.push(arguments[k++]);\n return invoke(fn, args, that);\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_partial.js\n// module id = 219\n// module chunks = 0","module.exports = require('./_global');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_path.js\n// module id = 220\n// module chunks = 0","module.exports = function(regExp, replace){\n var replacer = replace === Object(replace) ? function(part){\n return replace[part];\n } : replace;\n return function(it){\n return String(it).replace(regExp, replacer);\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_replacer.js\n// module id = 221\n// module chunks = 0","// https://github.com/benjamingr/RexExp.escape\nvar $export = require('./_export')\n , $re = require('./_replacer')(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\n$export($export.S, 'RegExp', {escape: function escape(it){ return $re(it); }});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/core.regexp.escape.js\n// module id = 222\n// module chunks = 0","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', {copyWithin: require('./_array-copy-within')});\n\nrequire('./_add-to-unscopables')('copyWithin');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.copy-within.js\n// module id = 223\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */){\n return $every(this, callbackfn, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.every.js\n// module id = 224\n// module chunks = 0","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', {fill: require('./_array-fill')});\n\nrequire('./_add-to-unscopables')('fill');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.fill.js\n// module id = 225\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */){\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.filter.js\n// module id = 226\n// module chunks = 0","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export')\n , $find = require('./_array-methods')(6)\n , KEY = 'findIndex'\n , forced = true;\n// Shouldn't skip holes\nif(KEY in [])Array(1)[KEY](function(){ forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn/*, that = undefined */){\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.find-index.js\n// module id = 227\n// module chunks = 0","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export')\n , $find = require('./_array-methods')(5)\n , KEY = 'find'\n , forced = true;\n// Shouldn't skip holes\nif(KEY in [])Array(1)[KEY](function(){ forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn/*, that = undefined */){\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.find.js\n// module id = 228\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $forEach = require('./_array-methods')(0)\n , STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */){\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.for-each.js\n// module id = 229\n// module chunks = 0","'use strict';\nvar ctx = require('./_ctx')\n , $export = require('./_export')\n , toObject = require('./_to-object')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , toLength = require('./_to-length')\n , createProperty = require('./_create-property')\n , getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){\n var O = toObject(arrayLike)\n , C = typeof this == 'function' ? this : Array\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , index = 0\n , iterFn = getIterFn(O)\n , length, result, step, iterator;\n if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){\n for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for(result = new C(length); length > index; index++){\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.from.js\n// module id = 230\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $indexOf = require('./_array-includes')(false)\n , $native = [].indexOf\n , NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /*, fromIndex = 0 */){\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.index-of.js\n// module id = 231\n// module chunks = 0","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', {isArray: require('./_is-array')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.is-array.js\n// module id = 232\n// module chunks = 0","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n join: function join(separator){\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.join.js\n// module id = 233\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , $native = [].lastIndexOf\n , NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */){\n // convert -0 to +0\n if(NEGATIVE_ZERO)return $native.apply(this, arguments) || 0;\n var O = toIObject(this)\n , length = toLength(O.length)\n , index = length - 1;\n if(arguments.length > 1)index = Math.min(index, toInteger(arguments[1]));\n if(index < 0)index = length + index;\n for(;index >= 0; index--)if(index in O)if(O[index] === searchElement)return index || 0;\n return -1;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.last-index-of.js\n// module id = 234\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */){\n return $map(this, callbackfn, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.map.js\n// module id = 235\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function(){\n function F(){}\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */){\n var index = 0\n , aLen = arguments.length\n , result = new (typeof this == 'function' ? this : Array)(aLen);\n while(aLen > index)createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.of.js\n// module id = 236\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */){\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.reduce-right.js\n// module id = 237\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */){\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.reduce.js\n// module id = 238\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , html = require('./_html')\n , cof = require('./_cof')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length')\n , arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function(){\n if(html)arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end){\n var len = toLength(this.length)\n , klass = cof(this);\n end = end === undefined ? len : end;\n if(klass == 'Array')return arraySlice.call(this, begin, end);\n var start = toIndex(begin, len)\n , upTo = toIndex(end, len)\n , size = toLength(upTo - start)\n , cloned = Array(size)\n , i = 0;\n for(; i < size; i++)cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.slice.js\n// module id = 239\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */){\n return $some(this, callbackfn, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.some.js\n// module id = 240\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , aFunction = require('./_a-function')\n , toObject = require('./_to-object')\n , fails = require('./_fails')\n , $sort = [].sort\n , test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function(){\n // IE8-\n test.sort(undefined);\n}) || !fails(function(){\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn){\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.sort.js\n// module id = 241\n// module chunks = 0","require('./_set-species')('Array');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.species.js\n// module id = 242\n// module chunks = 0","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', {now: function(){ return new Date().getTime(); }});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.date.now.js\n// module id = 243\n// module chunks = 0","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export')\n , fails = require('./_fails')\n , getTime = Date.prototype.getTime;\n\nvar lz = function(num){\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (fails(function(){\n return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z';\n}) || !fails(function(){\n new Date(NaN).toISOString();\n})), 'Date', {\n toISOString: function toISOString(){\n if(!isFinite(getTime.call(this)))throw RangeError('Invalid time value');\n var d = this\n , y = d.getUTCFullYear()\n , m = d.getUTCMilliseconds()\n , s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.date.to-iso-string.js\n// module id = 244\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function(){\n return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({toISOString: function(){ return 1; }}) !== 1;\n}), 'Date', {\n toJSON: function toJSON(key){\n var O = toObject(this)\n , pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.date.to-json.js\n// module id = 245\n// module chunks = 0","var TO_PRIMITIVE = require('./_wks')('toPrimitive')\n , proto = Date.prototype;\n\nif(!(TO_PRIMITIVE in proto))require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.date.to-primitive.js\n// module id = 246\n// module chunks = 0","var DateProto = Date.prototype\n , INVALID_DATE = 'Invalid Date'\n , TO_STRING = 'toString'\n , $toString = DateProto[TO_STRING]\n , getTime = DateProto.getTime;\nif(new Date(NaN) + '' != INVALID_DATE){\n require('./_redefine')(DateProto, TO_STRING, function toString(){\n var value = getTime.call(this);\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.date.to-string.js\n// module id = 247\n// module chunks = 0","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', {bind: require('./_bind')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.function.bind.js\n// module id = 248\n// module chunks = 0","'use strict';\nvar isObject = require('./_is-object')\n , getPrototypeOf = require('./_object-gpo')\n , HAS_INSTANCE = require('./_wks')('hasInstance')\n , FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif(!(HAS_INSTANCE in FunctionProto))require('./_object-dp').f(FunctionProto, HAS_INSTANCE, {value: function(O){\n if(typeof this != 'function' || !isObject(O))return false;\n if(!isObject(this.prototype))return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while(O = getPrototypeOf(O))if(this.prototype === O)return true;\n return false;\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.function.has-instance.js\n// module id = 249\n// module chunks = 0","var dP = require('./_object-dp').f\n , createDesc = require('./_property-desc')\n , has = require('./_has')\n , FProto = Function.prototype\n , nameRE = /^\\s*function ([^ (]*)/\n , NAME = 'name';\n\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function(){\n try {\n var that = this\n , name = ('' + that).match(nameRE)[1];\n has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5, name));\n return name;\n } catch(e){\n return '';\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.function.name.js\n// module id = 250\n// module chunks = 0","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export')\n , log1p = require('./_math-log1p')\n , sqrt = Math.sqrt\n , $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN \n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x){\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.acosh.js\n// module id = 251\n// module chunks = 0","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export')\n , $asinh = Math.asinh;\n\nfunction asinh(x){\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0 \n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', {asinh: asinh});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.asinh.js\n// module id = 252\n// module chunks = 0","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export')\n , $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0 \n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x){\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.atanh.js\n// module id = 253\n// module chunks = 0","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export')\n , sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x){\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.cbrt.js\n// module id = 254\n// module chunks = 0","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x){\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.clz32.js\n// module id = 255\n// module chunks = 0","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export')\n , exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x){\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.cosh.js\n// module id = 256\n// module chunks = 0","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export')\n , $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', {expm1: $expm1});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.expm1.js\n// module id = 257\n// module chunks = 0","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export')\n , sign = require('./_math-sign')\n , pow = Math.pow\n , EPSILON = pow(2, -52)\n , EPSILON32 = pow(2, -23)\n , MAX32 = pow(2, 127) * (2 - EPSILON32)\n , MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function(n){\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\n\n$export($export.S, 'Math', {\n fround: function fround(x){\n var $abs = Math.abs(x)\n , $sign = sign(x)\n , a, result;\n if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n if(result > MAX32 || result != result)return $sign * Infinity;\n return $sign * result;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.fround.js\n// module id = 258\n// module chunks = 0","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export')\n , abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars\n var sum = 0\n , i = 0\n , aLen = arguments.length\n , larg = 0\n , arg, div;\n while(i < aLen){\n arg = abs(arguments[i++]);\n if(larg < arg){\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if(arg > 0){\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.hypot.js\n// module id = 259\n// module chunks = 0","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export')\n , $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function(){\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y){\n var UINT16 = 0xffff\n , xn = +x\n , yn = +y\n , xl = UINT16 & xn\n , yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.imul.js\n// module id = 260\n// module chunks = 0","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x){\n return Math.log(x) / Math.LN10;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.log10.js\n// module id = 261\n// module chunks = 0","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {log1p: require('./_math-log1p')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.log1p.js\n// module id = 262\n// module chunks = 0","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x){\n return Math.log(x) / Math.LN2;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.log2.js\n// module id = 263\n// module chunks = 0","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {sign: require('./_math-sign')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.sign.js\n// module id = 264\n// module chunks = 0","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export')\n , expm1 = require('./_math-expm1')\n , exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function(){\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x){\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.sinh.js\n// module id = 265\n// module chunks = 0","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export')\n , expm1 = require('./_math-expm1')\n , exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x){\n var a = expm1(x = +x)\n , b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.tanh.js\n// module id = 266\n// module chunks = 0","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it){\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.trunc.js\n// module id = 267\n// module chunks = 0","'use strict';\nvar global = require('./_global')\n , has = require('./_has')\n , cof = require('./_cof')\n , inheritIfRequired = require('./_inherit-if-required')\n , toPrimitive = require('./_to-primitive')\n , fails = require('./_fails')\n , gOPN = require('./_object-gopn').f\n , gOPD = require('./_object-gopd').f\n , dP = require('./_object-dp').f\n , $trim = require('./_string-trim').trim\n , NUMBER = 'Number'\n , $Number = global[NUMBER]\n , Base = $Number\n , proto = $Number.prototype\n // Opera ~12 has broken Object#toString\n , BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER\n , TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function(argument){\n var it = toPrimitive(argument, false);\n if(typeof it == 'string' && it.length > 2){\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0)\n , third, radix, maxCode;\n if(first === 43 || first === 45){\n third = it.charCodeAt(2);\n if(third === 88 || third === 120)return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if(first === 48){\n switch(it.charCodeAt(1)){\n case 66 : case 98 : radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79 : case 111 : radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default : return +it;\n }\n for(var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++){\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if(code < 48 || code > maxCode)return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif(!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')){\n $Number = function Number(value){\n var it = arguments.length < 1 ? 0 : value\n , that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function(){ proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for(var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++){\n if(has(Base, key = keys[j]) && !has($Number, key)){\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.constructor.js\n// module id = 268\n// module chunks = 0","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {EPSILON: Math.pow(2, -52)});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.epsilon.js\n// module id = 269\n// module chunks = 0","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export')\n , _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it){\n return typeof it == 'number' && _isFinite(it);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.is-finite.js\n// module id = 270\n// module chunks = 0","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {isInteger: require('./_is-integer')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.is-integer.js\n// module id = 271\n// module chunks = 0","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number){\n return number != number;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.is-nan.js\n// module id = 272\n// module chunks = 0","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export')\n , isInteger = require('./_is-integer')\n , abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number){\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.is-safe-integer.js\n// module id = 273\n// module chunks = 0","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.max-safe-integer.js\n// module id = 274\n// module chunks = 0","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.min-safe-integer.js\n// module id = 275\n// module chunks = 0","var $export = require('./_export')\n , $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', {parseFloat: $parseFloat});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.parse-float.js\n// module id = 276\n// module chunks = 0","var $export = require('./_export')\n , $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', {parseInt: $parseInt});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.parse-int.js\n// module id = 277\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toInteger = require('./_to-integer')\n , aNumberValue = require('./_a-number-value')\n , repeat = require('./_string-repeat')\n , $toFixed = 1..toFixed\n , floor = Math.floor\n , data = [0, 0, 0, 0, 0, 0]\n , ERROR = 'Number.toFixed: incorrect invocation!'\n , ZERO = '0';\n\nvar multiply = function(n, c){\n var i = -1\n , c2 = c;\n while(++i < 6){\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function(n){\n var i = 6\n , c = 0;\n while(--i >= 0){\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function(){\n var i = 6\n , s = '';\n while(--i >= 0){\n if(s !== '' || i === 0 || data[i] !== 0){\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function(x, n, acc){\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function(x){\n var n = 0\n , x2 = x;\n while(x2 >= 4096){\n n += 12;\n x2 /= 4096;\n }\n while(x2 >= 2){\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128..toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function(){\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits){\n var x = aNumberValue(this, ERROR)\n , f = toInteger(fractionDigits)\n , s = ''\n , m = ZERO\n , e, z, j, k;\n if(f < 0 || f > 20)throw RangeError(ERROR);\n if(x != x)return 'NaN';\n if(x <= -1e21 || x >= 1e21)return String(x);\n if(x < 0){\n s = '-';\n x = -x;\n }\n if(x > 1e-21){\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if(e > 0){\n multiply(0, z);\n j = f;\n while(j >= 7){\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while(j >= 23){\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if(f > 0){\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.to-fixed.js\n// module id = 278\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $fails = require('./_fails')\n , aNumberValue = require('./_a-number-value')\n , $toPrecision = 1..toPrecision;\n\n$export($export.P + $export.F * ($fails(function(){\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function(){\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision){\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); \n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.to-precision.js\n// module id = 279\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', {assign: require('./_object-assign')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.assign.js\n// module id = 280\n// module chunks = 0","var $export = require('./_export')\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', {create: require('./_object-create')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.create.js\n// module id = 281\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperties: require('./_object-dps')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.define-properties.js\n// module id = 282\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.define-property.js\n// module id = 283\n// module chunks = 0","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function($freeze){\n return function freeze(it){\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.freeze.js\n// module id = 284\n// module chunks = 0","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject')\n , $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function(){\n return function getOwnPropertyDescriptor(it, key){\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.get-own-property-descriptor.js\n// module id = 285\n// module chunks = 0","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function(){\n return require('./_object-gopn-ext').f;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.get-own-property-names.js\n// module id = 286\n// module chunks = 0","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object')\n , $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function(){\n return function getPrototypeOf(it){\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.get-prototype-of.js\n// module id = 287\n// module chunks = 0","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function($isExtensible){\n return function isExtensible(it){\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.is-extensible.js\n// module id = 288\n// module chunks = 0","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function($isFrozen){\n return function isFrozen(it){\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.is-frozen.js\n// module id = 289\n// module chunks = 0","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function($isSealed){\n return function isSealed(it){\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.is-sealed.js\n// module id = 290\n// module chunks = 0","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', {is: require('./_same-value')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.is.js\n// module id = 291\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object')\n , $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function(){\n return function keys(it){\n return $keys(toObject(it));\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.keys.js\n// module id = 292\n// module chunks = 0","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function($preventExtensions){\n return function preventExtensions(it){\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.prevent-extensions.js\n// module id = 293\n// module chunks = 0","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function($seal){\n return function seal(it){\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.seal.js\n// module id = 294\n// module chunks = 0","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', {setPrototypeOf: require('./_set-proto').set});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.set-prototype-of.js\n// module id = 295\n// module chunks = 0","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof')\n , test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif(test + '' != '[object z]'){\n require('./_redefine')(Object.prototype, 'toString', function toString(){\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.to-string.js\n// module id = 296\n// module chunks = 0","var $export = require('./_export')\n , $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), {parseFloat: $parseFloat});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.parse-float.js\n// module id = 297\n// module chunks = 0","var $export = require('./_export')\n , $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), {parseInt: $parseInt});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.parse-int.js\n// module id = 298\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library')\n , global = require('./_global')\n , ctx = require('./_ctx')\n , classof = require('./_classof')\n , $export = require('./_export')\n , isObject = require('./_is-object')\n , aFunction = require('./_a-function')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , speciesConstructor = require('./_species-constructor')\n , task = require('./_task').set\n , microtask = require('./_microtask')()\n , PROMISE = 'Promise'\n , TypeError = global.TypeError\n , process = global.process\n , $Promise = global[PROMISE]\n , process = global.process\n , isNode = classof(process) == 'process'\n , empty = function(){ /* empty */ }\n , Internal, GenericPromiseCapability, Wrapper;\n\nvar USE_NATIVE = !!function(){\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1)\n , FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function(exec){ exec(empty, empty); };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch(e){ /* empty */ }\n}();\n\n// helpers\nvar sameConstructor = function(a, b){\n // with library wrapper special case\n return a === b || a === $Promise && b === Wrapper;\n};\nvar isThenable = function(it){\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar newPromiseCapability = function(C){\n return sameConstructor($Promise, C)\n ? new PromiseCapability(C)\n : new GenericPromiseCapability(C);\n};\nvar PromiseCapability = GenericPromiseCapability = function(C){\n var resolve, reject;\n this.promise = new C(function($$resolve, $$reject){\n if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nvar perform = function(exec){\n try {\n exec();\n } catch(e){\n return {error: e};\n }\n};\nvar notify = function(promise, isReject){\n if(promise._n)return;\n promise._n = true;\n var chain = promise._c;\n microtask(function(){\n var value = promise._v\n , ok = promise._s == 1\n , i = 0;\n var run = function(reaction){\n var handler = ok ? reaction.ok : reaction.fail\n , resolve = reaction.resolve\n , reject = reaction.reject\n , domain = reaction.domain\n , result, then;\n try {\n if(handler){\n if(!ok){\n if(promise._h == 2)onHandleUnhandled(promise);\n promise._h = 1;\n }\n if(handler === true)result = value;\n else {\n if(domain)domain.enter();\n result = handler(value);\n if(domain)domain.exit();\n }\n if(result === reaction.promise){\n reject(TypeError('Promise-chain cycle'));\n } else if(then = isThenable(result)){\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch(e){\n reject(e);\n }\n };\n while(chain.length > i)run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if(isReject && !promise._h)onUnhandled(promise);\n });\n};\nvar onUnhandled = function(promise){\n task.call(global, function(){\n var value = promise._v\n , abrupt, handler, console;\n if(isUnhandled(promise)){\n abrupt = perform(function(){\n if(isNode){\n process.emit('unhandledRejection', value, promise);\n } else if(handler = global.onunhandledrejection){\n handler({promise: promise, reason: value});\n } else if((console = global.console) && console.error){\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if(abrupt)throw abrupt.error;\n });\n};\nvar isUnhandled = function(promise){\n if(promise._h == 1)return false;\n var chain = promise._a || promise._c\n , i = 0\n , reaction;\n while(chain.length > i){\n reaction = chain[i++];\n if(reaction.fail || !isUnhandled(reaction.promise))return false;\n } return true;\n};\nvar onHandleUnhandled = function(promise){\n task.call(global, function(){\n var handler;\n if(isNode){\n process.emit('rejectionHandled', promise);\n } else if(handler = global.onrejectionhandled){\n handler({promise: promise, reason: promise._v});\n }\n });\n};\nvar $reject = function(value){\n var promise = this;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if(!promise._a)promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function(value){\n var promise = this\n , then;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if(promise === value)throw TypeError(\"Promise can't be resolved itself\");\n if(then = isThenable(value)){\n microtask(function(){\n var wrapper = {_w: promise, _d: false}; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch(e){\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch(e){\n $reject.call({_w: promise, _d: false}, e); // wrap\n }\n};\n\n// constructor polyfill\nif(!USE_NATIVE){\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor){\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch(err){\n $reject.call(this, err);\n }\n };\n Internal = function Promise(executor){\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected){\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if(this._a)this._a.push(reaction);\n if(this._s)notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function(onRejected){\n return this.then(undefined, onRejected);\n }\n });\n PromiseCapability = function(){\n var promise = new Internal;\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: $Promise});\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r){\n var capability = newPromiseCapability(this)\n , $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x){\n // instanceof instead of internal slot check because we should fix it without replacement native Promise core\n if(x instanceof $Promise && sameConstructor(x.constructor, this))return x;\n var capability = newPromiseCapability(this)\n , $$resolve = capability.resolve;\n $$resolve(x);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function(iter){\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , resolve = capability.resolve\n , reject = capability.reject;\n var abrupt = perform(function(){\n var values = []\n , index = 0\n , remaining = 1;\n forOf(iterable, false, function(promise){\n var $index = index++\n , alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function(value){\n if(alreadyCalled)return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , reject = capability.reject;\n var abrupt = perform(function(){\n forOf(iterable, false, function(promise){\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.promise.js\n// module id = 299\n// module chunks = 0","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , rApply = (require('./_global').Reflect || {}).apply\n , fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function(){\n rApply(function(){});\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList){\n var T = aFunction(target)\n , L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.apply.js\n// module id = 300\n// module chunks = 0","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export')\n , create = require('./_object-create')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , isObject = require('./_is-object')\n , fails = require('./_fails')\n , bind = require('./_bind')\n , rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function(){\n function F(){}\n return !(rConstruct(function(){}, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function(){\n rConstruct(function(){});\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /*, newTarget*/){\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if(ARGS_BUG && !NEW_TARGET_BUG)return rConstruct(Target, args, newTarget);\n if(Target == newTarget){\n // w/o altered newTarget, optimization for 0-4 arguments\n switch(args.length){\n case 0: return new Target;\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args));\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype\n , instance = create(isObject(proto) ? proto : Object.prototype)\n , result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.construct.js\n// module id = 301\n// module chunks = 0","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp')\n , $export = require('./_export')\n , anObject = require('./_an-object')\n , toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function(){\n Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2});\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes){\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch(e){\n return false;\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.define-property.js\n// module id = 302\n// module chunks = 0","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export')\n , gOPD = require('./_object-gopd').f\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey){\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.delete-property.js\n// module id = 303\n// module chunks = 0","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object');\nvar Enumerate = function(iterated){\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = [] // keys\n , key;\n for(key in iterated)keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function(){\n var that = this\n , keys = that._k\n , key;\n do {\n if(that._i >= keys.length)return {value: undefined, done: true};\n } while(!((key = keys[that._i++]) in that._t));\n return {value: key, done: false};\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target){\n return new Enumerate(target);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.enumerate.js\n// module id = 304\n// module chunks = 0","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd')\n , $export = require('./_export')\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.get-own-property-descriptor.js\n// module id = 305\n// module chunks = 0","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export')\n , getProto = require('./_object-gpo')\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target){\n return getProto(anObject(target));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.get-prototype-of.js\n// module id = 306\n// module chunks = 0","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd')\n , getPrototypeOf = require('./_object-gpo')\n , has = require('./_has')\n , $export = require('./_export')\n , isObject = require('./_is-object')\n , anObject = require('./_an-object');\n\nfunction get(target, propertyKey/*, receiver*/){\n var receiver = arguments.length < 3 ? target : arguments[2]\n , desc, proto;\n if(anObject(target) === receiver)return target[propertyKey];\n if(desc = gOPD.f(target, propertyKey))return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if(isObject(proto = getPrototypeOf(target)))return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', {get: get});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.get.js\n// module id = 307\n// module chunks = 0","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey){\n return propertyKey in target;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.has.js\n// module id = 308\n// module chunks = 0","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object')\n , $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target){\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.is-extensible.js\n// module id = 309\n// module chunks = 0","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {ownKeys: require('./_own-keys')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.own-keys.js\n// module id = 310\n// module chunks = 0","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object')\n , $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target){\n anObject(target);\n try {\n if($preventExtensions)$preventExtensions(target);\n return true;\n } catch(e){\n return false;\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.prevent-extensions.js\n// module id = 311\n// module chunks = 0","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export')\n , setProto = require('./_set-proto');\n\nif(setProto)$export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto){\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch(e){\n return false;\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.set-prototype-of.js\n// module id = 312\n// module chunks = 0","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp')\n , gOPD = require('./_object-gopd')\n , getPrototypeOf = require('./_object-gpo')\n , has = require('./_has')\n , $export = require('./_export')\n , createDesc = require('./_property-desc')\n , anObject = require('./_an-object')\n , isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V/*, receiver*/){\n var receiver = arguments.length < 4 ? target : arguments[3]\n , ownDesc = gOPD.f(anObject(target), propertyKey)\n , existingDescriptor, proto;\n if(!ownDesc){\n if(isObject(proto = getPrototypeOf(target))){\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if(has(ownDesc, 'value')){\n if(ownDesc.writable === false || !isObject(receiver))return false;\n existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0);\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', {set: set});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.set.js\n// module id = 313\n// module chunks = 0","var global = require('./_global')\n , inheritIfRequired = require('./_inherit-if-required')\n , dP = require('./_object-dp').f\n , gOPN = require('./_object-gopn').f\n , isRegExp = require('./_is-regexp')\n , $flags = require('./_flags')\n , $RegExp = global.RegExp\n , Base = $RegExp\n , proto = $RegExp.prototype\n , re1 = /a/g\n , re2 = /a/g\n // \"new\" creates a new object, old webkit buggy here\n , CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif(require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function(){\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))){\n $RegExp = function RegExp(p, f){\n var tiRE = this instanceof $RegExp\n , piRE = isRegExp(p)\n , fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function(key){\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function(){ return Base[key]; },\n set: function(it){ Base[key] = it; }\n });\n };\n for(var keys = gOPN(Base), i = 0; keys.length > i; )proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.constructor.js\n// module id = 314\n// module chunks = 0","// @@match logic\nrequire('./_fix-re-wks')('match', 1, function(defined, MATCH, $match){\n // 21.1.3.11 String.prototype.match(regexp)\n return [function match(regexp){\n 'use strict';\n var O = defined(this)\n , fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n }, $match];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.match.js\n// module id = 315\n// module chunks = 0","// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function(defined, REPLACE, $replace){\n // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)\n return [function replace(searchValue, replaceValue){\n 'use strict';\n var O = defined(this)\n , fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n }, $replace];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.replace.js\n// module id = 316\n// module chunks = 0","// @@search logic\nrequire('./_fix-re-wks')('search', 1, function(defined, SEARCH, $search){\n // 21.1.3.15 String.prototype.search(regexp)\n return [function search(regexp){\n 'use strict';\n var O = defined(this)\n , fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n }, $search];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.search.js\n// module id = 317\n// module chunks = 0","// @@split logic\nrequire('./_fix-re-wks')('split', 2, function(defined, SPLIT, $split){\n 'use strict';\n var isRegExp = require('./_is-regexp')\n , _split = $split\n , $push = [].push\n , $SPLIT = 'split'\n , LENGTH = 'length'\n , LAST_INDEX = 'lastIndex';\n if(\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ){\n var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group\n // based on es5-shim implementation, need to rework it\n $split = function(separator, limit){\n var string = String(this);\n if(separator === undefined && limit === 0)return [];\n // If `separator` is not a regex, use native split\n if(!isRegExp(separator))return _split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var separator2, match, lastIndex, lastLength, i;\n // Doesn't need flags gy, but they don't hurt\n if(!NPCG)separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\\\s)', flags);\n while(match = separatorCopy.exec(string)){\n // `separatorCopy.lastIndex` is not reliable cross-browser\n lastIndex = match.index + match[0][LENGTH];\n if(lastIndex > lastLastIndex){\n output.push(string.slice(lastLastIndex, match.index));\n // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG\n if(!NPCG && match[LENGTH] > 1)match[0].replace(separator2, function(){\n for(i = 1; i < arguments[LENGTH] - 2; i++)if(arguments[i] === undefined)match[i] = undefined;\n });\n if(match[LENGTH] > 1 && match.index < string[LENGTH])$push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if(output[LENGTH] >= splitLimit)break;\n }\n if(separatorCopy[LAST_INDEX] === match.index)separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if(lastLastIndex === string[LENGTH]){\n if(lastLength || !separatorCopy.test(''))output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if('0'[$SPLIT](undefined, 0)[LENGTH]){\n $split = function(separator, limit){\n return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);\n };\n }\n // 21.1.3.17 String.prototype.split(separator, limit)\n return [function split(separator, limit){\n var O = defined(this)\n , fn = separator == undefined ? undefined : separator[SPLIT];\n return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);\n }, $split];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.split.js\n// module id = 318\n// module chunks = 0","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object')\n , $flags = require('./_flags')\n , DESCRIPTORS = require('./_descriptors')\n , TO_STRING = 'toString'\n , $toString = /./[TO_STRING];\n\nvar define = function(fn){\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif(require('./_fails')(function(){ return $toString.call({source: 'a', flags: 'b'}) != '/a/b'; })){\n define(function toString(){\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if($toString.name != TO_STRING){\n define(function toString(){\n return $toString.call(this);\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.to-string.js\n// module id = 319\n// module chunks = 0","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function(createHTML){\n return function anchor(name){\n return createHTML(this, 'a', 'name', name);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.anchor.js\n// module id = 320\n// module chunks = 0","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function(createHTML){\n return function big(){\n return createHTML(this, 'big', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.big.js\n// module id = 321\n// module chunks = 0","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function(createHTML){\n return function blink(){\n return createHTML(this, 'blink', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.blink.js\n// module id = 322\n// module chunks = 0","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function(createHTML){\n return function bold(){\n return createHTML(this, 'b', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.bold.js\n// module id = 323\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos){\n return $at(this, pos);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.code-point-at.js\n// module id = 324\n// module chunks = 0","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export')\n , toLength = require('./_to-length')\n , context = require('./_string-context')\n , ENDS_WITH = 'endsWith'\n , $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /*, endPosition = @length */){\n var that = context(this, searchString, ENDS_WITH)\n , endPosition = arguments.length > 1 ? arguments[1] : undefined\n , len = toLength(that.length)\n , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len)\n , search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.ends-with.js\n// module id = 325\n// module chunks = 0","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function(createHTML){\n return function fixed(){\n return createHTML(this, 'tt', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.fixed.js\n// module id = 326\n// module chunks = 0","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function(createHTML){\n return function fontcolor(color){\n return createHTML(this, 'font', 'color', color);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.fontcolor.js\n// module id = 327\n// module chunks = 0","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function(createHTML){\n return function fontsize(size){\n return createHTML(this, 'font', 'size', size);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.fontsize.js\n// module id = 328\n// module chunks = 0","var $export = require('./_export')\n , toIndex = require('./_to-index')\n , fromCharCode = String.fromCharCode\n , $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars\n var res = []\n , aLen = arguments.length\n , i = 0\n , code;\n while(aLen > i){\n code = +arguments[i++];\n if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.from-code-point.js\n// module id = 329\n// module chunks = 0","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export')\n , context = require('./_string-context')\n , INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /*, position = 0 */){\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.includes.js\n// module id = 330\n// module chunks = 0","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function(createHTML){\n return function italics(){\n return createHTML(this, 'i', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.italics.js\n// module id = 331\n// module chunks = 0","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.iterator.js\n// module id = 332\n// module chunks = 0","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function(createHTML){\n return function link(url){\n return createHTML(this, 'a', 'href', url);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.link.js\n// module id = 333\n// module chunks = 0","var $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite){\n var tpl = toIObject(callSite.raw)\n , len = toLength(tpl.length)\n , aLen = arguments.length\n , res = []\n , i = 0;\n while(len > i){\n res.push(String(tpl[i++]));\n if(i < aLen)res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.raw.js\n// module id = 334\n// module chunks = 0","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.repeat.js\n// module id = 335\n// module chunks = 0","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function(createHTML){\n return function small(){\n return createHTML(this, 'small', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.small.js\n// module id = 336\n// module chunks = 0","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export')\n , toLength = require('./_to-length')\n , context = require('./_string-context')\n , STARTS_WITH = 'startsWith'\n , $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /*, position = 0 */){\n var that = context(this, searchString, STARTS_WITH)\n , index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length))\n , search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.starts-with.js\n// module id = 337\n// module chunks = 0","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function(createHTML){\n return function strike(){\n return createHTML(this, 'strike', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.strike.js\n// module id = 338\n// module chunks = 0","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function(createHTML){\n return function sub(){\n return createHTML(this, 'sub', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.sub.js\n// module id = 339\n// module chunks = 0","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function(createHTML){\n return function sup(){\n return createHTML(this, 'sup', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.sup.js\n// module id = 340\n// module chunks = 0","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function($trim){\n return function trim(){\n return $trim(this, 3);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.trim.js\n// module id = 341\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global')\n , has = require('./_has')\n , DESCRIPTORS = require('./_descriptors')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , META = require('./_meta').KEY\n , $fails = require('./_fails')\n , shared = require('./_shared')\n , setToStringTag = require('./_set-to-string-tag')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , wksExt = require('./_wks-ext')\n , wksDefine = require('./_wks-define')\n , keyOf = require('./_keyof')\n , enumKeys = require('./_enum-keys')\n , isArray = require('./_is-array')\n , anObject = require('./_an-object')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , createDesc = require('./_property-desc')\n , _create = require('./_object-create')\n , gOPNExt = require('./_object-gopn-ext')\n , $GOPD = require('./_object-gopd')\n , $DP = require('./_object-dp')\n , $keys = require('./_object-keys')\n , gOPD = $GOPD.f\n , dP = $DP.f\n , gOPN = gOPNExt.f\n , $Symbol = global.Symbol\n , $JSON = global.JSON\n , _stringify = $JSON && $JSON.stringify\n , PROTOTYPE = 'prototype'\n , HIDDEN = wks('_hidden')\n , TO_PRIMITIVE = wks('toPrimitive')\n , isEnum = {}.propertyIsEnumerable\n , SymbolRegistry = shared('symbol-registry')\n , AllSymbols = shared('symbols')\n , OPSymbols = shared('op-symbols')\n , ObjectProto = Object[PROTOTYPE]\n , USE_NATIVE = typeof $Symbol == 'function'\n , QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n return _create(dP({}, 'a', {\n get: function(){ return dP(this, 'a', {value: 7}).a; }\n })).a != 7;\n}) ? function(it, key, D){\n var protoDesc = gOPD(ObjectProto, key);\n if(protoDesc)delete ObjectProto[key];\n dP(it, key, D);\n if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function(tag){\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){\n return typeof it == 'symbol';\n} : function(it){\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D){\n if(it === ObjectProto)$defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if(has(AllSymbols, key)){\n if(!D.enumerable){\n if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n D = _create(D, {enumerable: createDesc(0, false)});\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P){\n anObject(it);\n var keys = enumKeys(P = toIObject(P))\n , i = 0\n , l = keys.length\n , key;\n while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P){\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n it = toIObject(it);\n key = toPrimitive(key, true);\n if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;\n var D = gOPD(it, key);\n if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n var names = gOPN(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n var IS_OP = it === ObjectProto\n , names = gOPN(IS_OP ? OPSymbols : toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif(!USE_NATIVE){\n $Symbol = function Symbol(){\n if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function(value){\n if(this === ObjectProto)$set.call(OPSymbols, value);\n if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString(){\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if(DESCRIPTORS && !require('./_library')){\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function(name){\n return wrap(wks(name));\n }\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});\n\nfor(var symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);\n\nfor(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function(key){\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(key){\n if(isSymbol(key))return keyOf(SymbolRegistry, key);\n throw TypeError(key + ' is not a symbol!');\n },\n useSetter: function(){ setter = true; },\n useSimple: function(){ setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it){\n if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n var args = [it]\n , i = 1\n , replacer, $replacer;\n while(arguments.length > i)args.push(arguments[i++]);\n replacer = args[1];\n if(typeof replacer == 'function')$replacer = replacer;\n if($replacer || !isArray(replacer))replacer = function(key, value){\n if($replacer)value = $replacer.call(this, key, value);\n if(!isSymbol(value))return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.symbol.js\n// module id = 342\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $typed = require('./_typed')\n , buffer = require('./_typed-buffer')\n , anObject = require('./_an-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length')\n , isObject = require('./_is-object')\n , ArrayBuffer = require('./_global').ArrayBuffer\n , speciesConstructor = require('./_species-constructor')\n , $ArrayBuffer = buffer.ArrayBuffer\n , $DataView = buffer.DataView\n , $isView = $typed.ABV && ArrayBuffer.isView\n , $slice = $ArrayBuffer.prototype.slice\n , VIEW = $typed.VIEW\n , ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), {ArrayBuffer: $ArrayBuffer});\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it){\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function(){\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end){\n if($slice !== undefined && end === undefined)return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength\n , first = toIndex(start, len)\n , final = toIndex(end === undefined ? len : end, len)\n , result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first))\n , viewS = new $DataView(this)\n , viewT = new $DataView(result)\n , index = 0;\n while(first < final){\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.array-buffer.js\n// module id = 343\n// module chunks = 0","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.data-view.js\n// module id = 344\n// module chunks = 0","require('./_typed-array')('Float32', 4, function(init){\n return function Float32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.float32-array.js\n// module id = 345\n// module chunks = 0","require('./_typed-array')('Float64', 8, function(init){\n return function Float64Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.float64-array.js\n// module id = 346\n// module chunks = 0","require('./_typed-array')('Int16', 2, function(init){\n return function Int16Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.int16-array.js\n// module id = 347\n// module chunks = 0","require('./_typed-array')('Int32', 4, function(init){\n return function Int32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.int32-array.js\n// module id = 348\n// module chunks = 0","require('./_typed-array')('Int8', 1, function(init){\n return function Int8Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.int8-array.js\n// module id = 349\n// module chunks = 0","require('./_typed-array')('Uint16', 2, function(init){\n return function Uint16Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.uint16-array.js\n// module id = 350\n// module chunks = 0","require('./_typed-array')('Uint32', 4, function(init){\n return function Uint32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.uint32-array.js\n// module id = 351\n// module chunks = 0","require('./_typed-array')('Uint8', 1, function(init){\n return function Uint8Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.uint8-array.js\n// module id = 352\n// module chunks = 0","require('./_typed-array')('Uint8', 1, function(init){\n return function Uint8ClampedArray(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n}, true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.uint8-clamped-array.js\n// module id = 353\n// module chunks = 0","'use strict';\nvar weak = require('./_collection-weak');\n\n// 23.4 WeakSet Objects\nrequire('./_collection')('WeakSet', function(get){\n return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value){\n return weak.def(this, value, true);\n }\n}, weak, false, true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.weak-set.js\n// module id = 354\n// module chunks = 0","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export')\n , $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /*, fromIndex = 0 */){\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.array.includes.js\n// module id = 355\n// module chunks = 0","// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask\nvar $export = require('./_export')\n , microtask = require('./_microtask')()\n , process = require('./_global').process\n , isNode = require('./_cof')(process) == 'process';\n\n$export($export.G, {\n asap: function asap(fn){\n var domain = isNode && process.domain;\n microtask(domain ? domain.bind(fn) : fn);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.asap.js\n// module id = 356\n// module chunks = 0","// https://github.com/ljharb/proposal-is-error\nvar $export = require('./_export')\n , cof = require('./_cof');\n\n$export($export.S, 'Error', {\n isError: function isError(it){\n return cof(it) === 'Error';\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.error.is-error.js\n// module id = 357\n// module chunks = 0","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Map', {toJSON: require('./_collection-to-json')('Map')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.map.to-json.js\n// module id = 358\n// module chunks = 0","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n iaddh: function iaddh(x0, x1, y0, y1){\n var $x0 = x0 >>> 0\n , $x1 = x1 >>> 0\n , $y0 = y0 >>> 0;\n return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.math.iaddh.js\n// module id = 359\n// module chunks = 0","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n imulh: function imulh(u, v){\n var UINT16 = 0xffff\n , $u = +u\n , $v = +v\n , u0 = $u & UINT16\n , v0 = $v & UINT16\n , u1 = $u >> 16\n , v1 = $v >> 16\n , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.math.imulh.js\n// module id = 360\n// module chunks = 0","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n isubh: function isubh(x0, x1, y0, y1){\n var $x0 = x0 >>> 0\n , $x1 = x1 >>> 0\n , $y0 = y0 >>> 0;\n return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.math.isubh.js\n// module id = 361\n// module chunks = 0","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n umulh: function umulh(u, v){\n var UINT16 = 0xffff\n , $u = +u\n , $v = +v\n , u0 = $u & UINT16\n , v0 = $v & UINT16\n , u1 = $u >>> 16\n , v1 = $v >>> 16\n , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.math.umulh.js\n// module id = 362\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , aFunction = require('./_a-function')\n , $defineProperty = require('./_object-dp');\n\n// B.2.2.2 Object.prototype.__defineGetter__(P, getter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineGetter__: function __defineGetter__(P, getter){\n $defineProperty.f(toObject(this), P, {get: aFunction(getter), enumerable: true, configurable: true});\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.define-getter.js\n// module id = 363\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , aFunction = require('./_a-function')\n , $defineProperty = require('./_object-dp');\n\n// B.2.2.3 Object.prototype.__defineSetter__(P, setter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineSetter__: function __defineSetter__(P, setter){\n $defineProperty.f(toObject(this), P, {set: aFunction(setter), enumerable: true, configurable: true});\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.define-setter.js\n// module id = 364\n// module chunks = 0","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it){\n return $entries(it);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.entries.js\n// module id = 365\n// module chunks = 0","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export')\n , ownKeys = require('./_own-keys')\n , toIObject = require('./_to-iobject')\n , gOPD = require('./_object-gopd')\n , createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){\n var O = toIObject(object)\n , getDesc = gOPD.f\n , keys = ownKeys(O)\n , result = {}\n , i = 0\n , key;\n while(keys.length > i)createProperty(result, key = keys[i++], getDesc(O, key));\n return result;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.get-own-property-descriptors.js\n// module id = 366\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive')\n , getPrototypeOf = require('./_object-gpo')\n , getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.4 Object.prototype.__lookupGetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupGetter__: function __lookupGetter__(P){\n var O = toObject(this)\n , K = toPrimitive(P, true)\n , D;\n do {\n if(D = getOwnPropertyDescriptor(O, K))return D.get;\n } while(O = getPrototypeOf(O));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.lookup-getter.js\n// module id = 367\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive')\n , getPrototypeOf = require('./_object-gpo')\n , getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.5 Object.prototype.__lookupSetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupSetter__: function __lookupSetter__(P){\n var O = toObject(this)\n , K = toPrimitive(P, true)\n , D;\n do {\n if(D = getOwnPropertyDescriptor(O, K))return D.set;\n } while(O = getPrototypeOf(O));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.lookup-setter.js\n// module id = 368\n// module chunks = 0","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it){\n return $values(it);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.values.js\n// module id = 369\n// module chunks = 0","'use strict';\n// https://github.com/zenparsing/es-observable\nvar $export = require('./_export')\n , global = require('./_global')\n , core = require('./_core')\n , microtask = require('./_microtask')()\n , OBSERVABLE = require('./_wks')('observable')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , anInstance = require('./_an-instance')\n , redefineAll = require('./_redefine-all')\n , hide = require('./_hide')\n , forOf = require('./_for-of')\n , RETURN = forOf.RETURN;\n\nvar getMethod = function(fn){\n return fn == null ? undefined : aFunction(fn);\n};\n\nvar cleanupSubscription = function(subscription){\n var cleanup = subscription._c;\n if(cleanup){\n subscription._c = undefined;\n cleanup();\n }\n};\n\nvar subscriptionClosed = function(subscription){\n return subscription._o === undefined;\n};\n\nvar closeSubscription = function(subscription){\n if(!subscriptionClosed(subscription)){\n subscription._o = undefined;\n cleanupSubscription(subscription);\n }\n};\n\nvar Subscription = function(observer, subscriber){\n anObject(observer);\n this._c = undefined;\n this._o = observer;\n observer = new SubscriptionObserver(this);\n try {\n var cleanup = subscriber(observer)\n , subscription = cleanup;\n if(cleanup != null){\n if(typeof cleanup.unsubscribe === 'function')cleanup = function(){ subscription.unsubscribe(); };\n else aFunction(cleanup);\n this._c = cleanup;\n }\n } catch(e){\n observer.error(e);\n return;\n } if(subscriptionClosed(this))cleanupSubscription(this);\n};\n\nSubscription.prototype = redefineAll({}, {\n unsubscribe: function unsubscribe(){ closeSubscription(this); }\n});\n\nvar SubscriptionObserver = function(subscription){\n this._s = subscription;\n};\n\nSubscriptionObserver.prototype = redefineAll({}, {\n next: function next(value){\n var subscription = this._s;\n if(!subscriptionClosed(subscription)){\n var observer = subscription._o;\n try {\n var m = getMethod(observer.next);\n if(m)return m.call(observer, value);\n } catch(e){\n try {\n closeSubscription(subscription);\n } finally {\n throw e;\n }\n }\n }\n },\n error: function error(value){\n var subscription = this._s;\n if(subscriptionClosed(subscription))throw value;\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.error);\n if(!m)throw value;\n value = m.call(observer, value);\n } catch(e){\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n },\n complete: function complete(value){\n var subscription = this._s;\n if(!subscriptionClosed(subscription)){\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.complete);\n value = m ? m.call(observer, value) : undefined;\n } catch(e){\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n }\n }\n});\n\nvar $Observable = function Observable(subscriber){\n anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);\n};\n\nredefineAll($Observable.prototype, {\n subscribe: function subscribe(observer){\n return new Subscription(observer, this._f);\n },\n forEach: function forEach(fn){\n var that = this;\n return new (core.Promise || global.Promise)(function(resolve, reject){\n aFunction(fn);\n var subscription = that.subscribe({\n next : function(value){\n try {\n return fn(value);\n } catch(e){\n reject(e);\n subscription.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n });\n }\n});\n\nredefineAll($Observable, {\n from: function from(x){\n var C = typeof this === 'function' ? this : $Observable;\n var method = getMethod(anObject(x)[OBSERVABLE]);\n if(method){\n var observable = anObject(method.call(x));\n return observable.constructor === C ? observable : new C(function(observer){\n return observable.subscribe(observer);\n });\n }\n return new C(function(observer){\n var done = false;\n microtask(function(){\n if(!done){\n try {\n if(forOf(x, false, function(it){\n observer.next(it);\n if(done)return RETURN;\n }) === RETURN)return;\n } catch(e){\n if(done)throw e;\n observer.error(e);\n return;\n } observer.complete();\n }\n });\n return function(){ done = true; };\n });\n },\n of: function of(){\n for(var i = 0, l = arguments.length, items = Array(l); i < l;)items[i] = arguments[i++];\n return new (typeof this === 'function' ? this : $Observable)(function(observer){\n var done = false;\n microtask(function(){\n if(!done){\n for(var i = 0; i < items.length; ++i){\n observer.next(items[i]);\n if(done)return;\n } observer.complete();\n }\n });\n return function(){ done = true; };\n });\n }\n});\n\nhide($Observable.prototype, OBSERVABLE, function(){ return this; });\n\n$export($export.G, {Observable: $Observable});\n\nrequire('./_set-species')('Observable');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.observable.js\n// module id = 370\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , toMetaKey = metadata.key\n , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey){\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.define-metadata.js\n// module id = 371\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , toMetaKey = metadata.key\n , getOrCreateMetadataMap = metadata.map\n , store = metadata.store;\n\nmetadata.exp({deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */){\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2])\n , metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if(metadataMap === undefined || !metadataMap['delete'](metadataKey))return false;\n if(metadataMap.size)return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.delete-metadata.js\n// module id = 372\n// module chunks = 0","var Set = require('./es6.set')\n , from = require('./_array-from-iterable')\n , metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryOwnMetadataKeys = metadata.keys\n , toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function(O, P){\n var oKeys = ordinaryOwnMetadataKeys(O, P)\n , parent = getPrototypeOf(O);\n if(parent === null)return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({getMetadataKeys: function getMetadataKeys(target /*, targetKey */){\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.get-metadata-keys.js\n// module id = 373\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryHasOwnMetadata = metadata.has\n , ordinaryGetOwnMetadata = metadata.get\n , toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function(MetadataKey, O, P){\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({getMetadata: function getMetadata(metadataKey, target /*, targetKey */){\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.get-metadata.js\n// module id = 374\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryOwnMetadataKeys = metadata.keys\n , toMetaKey = metadata.key;\n\nmetadata.exp({getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */){\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.get-own-metadata-keys.js\n// module id = 375\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryGetOwnMetadata = metadata.get\n , toMetaKey = metadata.key;\n\nmetadata.exp({getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */){\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.get-own-metadata.js\n// module id = 376\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryHasOwnMetadata = metadata.has\n , toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function(MetadataKey, O, P){\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if(hasOwn)return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */){\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.has-metadata.js\n// module id = 377\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryHasOwnMetadata = metadata.has\n , toMetaKey = metadata.key;\n\nmetadata.exp({hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */){\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.has-own-metadata.js\n// module id = 378\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , toMetaKey = metadata.key\n , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({metadata: function metadata(metadataKey, metadataValue){\n return function decorator(target, targetKey){\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.metadata.js\n// module id = 379\n// module chunks = 0","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Set', {toJSON: require('./_collection-to-json')('Set')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.set.to-json.js\n// module id = 380\n// module chunks = 0","'use strict';\n// https://github.com/mathiasbynens/String.prototype.at\nvar $export = require('./_export')\n , $at = require('./_string-at')(true);\n\n$export($export.P, 'String', {\n at: function at(pos){\n return $at(this, pos);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.at.js\n// module id = 381\n// module chunks = 0","'use strict';\n// https://tc39.github.io/String.prototype.matchAll/\nvar $export = require('./_export')\n , defined = require('./_defined')\n , toLength = require('./_to-length')\n , isRegExp = require('./_is-regexp')\n , getFlags = require('./_flags')\n , RegExpProto = RegExp.prototype;\n\nvar $RegExpStringIterator = function(regexp, string){\n this._r = regexp;\n this._s = string;\n};\n\nrequire('./_iter-create')($RegExpStringIterator, 'RegExp String', function next(){\n var match = this._r.exec(this._s);\n return {value: match, done: match === null};\n});\n\n$export($export.P, 'String', {\n matchAll: function matchAll(regexp){\n defined(this);\n if(!isRegExp(regexp))throw TypeError(regexp + ' is not a regexp!');\n var S = String(this)\n , flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp)\n , rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);\n rx.lastIndex = toLength(regexp.lastIndex);\n return new $RegExpStringIterator(rx, S);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.match-all.js\n// module id = 382\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export')\n , $pad = require('./_string-pad');\n\n$export($export.P, 'String', {\n padEnd: function padEnd(maxLength /*, fillString = ' ' */){\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.pad-end.js\n// module id = 383\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export')\n , $pad = require('./_string-pad');\n\n$export($export.P, 'String', {\n padStart: function padStart(maxLength /*, fillString = ' ' */){\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.pad-start.js\n// module id = 384\n// module chunks = 0","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimLeft', function($trim){\n return function trimLeft(){\n return $trim(this, 1);\n };\n}, 'trimStart');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.trim-left.js\n// module id = 385\n// module chunks = 0","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimRight', function($trim){\n return function trimRight(){\n return $trim(this, 2);\n };\n}, 'trimEnd');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.trim-right.js\n// module id = 386\n// module chunks = 0","require('./_wks-define')('asyncIterator');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.symbol.async-iterator.js\n// module id = 387\n// module chunks = 0","require('./_wks-define')('observable');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.symbol.observable.js\n// module id = 388\n// module chunks = 0","// https://github.com/ljharb/proposal-global\nvar $export = require('./_export');\n\n$export($export.S, 'System', {global: require('./_global')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.system.global.js\n// module id = 389\n// module chunks = 0","var $iterators = require('./es6.array.iterator')\n , redefine = require('./_redefine')\n , global = require('./_global')\n , hide = require('./_hide')\n , Iterators = require('./_iterators')\n , wks = require('./_wks')\n , ITERATOR = wks('iterator')\n , TO_STRING_TAG = wks('toStringTag')\n , ArrayValues = Iterators.Array;\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n var NAME = collections[i]\n , Collection = global[NAME]\n , proto = Collection && Collection.prototype\n , key;\n if(proto){\n if(!proto[ITERATOR])hide(proto, ITERATOR, ArrayValues);\n if(!proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n for(key in $iterators)if(!proto[key])redefine(proto, key, $iterators[key], true);\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/web.dom.iterable.js\n// module id = 390\n// module chunks = 0","var $export = require('./_export')\n , $task = require('./_task');\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/web.immediate.js\n// module id = 391\n// module chunks = 0","// ie9- setTimeout & setInterval additional parameters fix\nvar global = require('./_global')\n , $export = require('./_export')\n , invoke = require('./_invoke')\n , partial = require('./_partial')\n , navigator = global.navigator\n , MSIE = !!navigator && /MSIE .\\./.test(navigator.userAgent); // <- dirty ie9- check\nvar wrap = function(set){\n return MSIE ? function(fn, time /*, ...args */){\n return set(invoke(\n partial,\n [].slice.call(arguments, 2),\n typeof fn == 'function' ? fn : Function(fn)\n ), time);\n } : set;\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n setTimeout: wrap(global.setTimeout),\n setInterval: wrap(global.setInterval)\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/web.timers.js\n// module id = 392\n// module chunks = 0","require('./modules/es6.symbol');\nrequire('./modules/es6.object.create');\nrequire('./modules/es6.object.define-property');\nrequire('./modules/es6.object.define-properties');\nrequire('./modules/es6.object.get-own-property-descriptor');\nrequire('./modules/es6.object.get-prototype-of');\nrequire('./modules/es6.object.keys');\nrequire('./modules/es6.object.get-own-property-names');\nrequire('./modules/es6.object.freeze');\nrequire('./modules/es6.object.seal');\nrequire('./modules/es6.object.prevent-extensions');\nrequire('./modules/es6.object.is-frozen');\nrequire('./modules/es6.object.is-sealed');\nrequire('./modules/es6.object.is-extensible');\nrequire('./modules/es6.object.assign');\nrequire('./modules/es6.object.is');\nrequire('./modules/es6.object.set-prototype-of');\nrequire('./modules/es6.object.to-string');\nrequire('./modules/es6.function.bind');\nrequire('./modules/es6.function.name');\nrequire('./modules/es6.function.has-instance');\nrequire('./modules/es6.parse-int');\nrequire('./modules/es6.parse-float');\nrequire('./modules/es6.number.constructor');\nrequire('./modules/es6.number.to-fixed');\nrequire('./modules/es6.number.to-precision');\nrequire('./modules/es6.number.epsilon');\nrequire('./modules/es6.number.is-finite');\nrequire('./modules/es6.number.is-integer');\nrequire('./modules/es6.number.is-nan');\nrequire('./modules/es6.number.is-safe-integer');\nrequire('./modules/es6.number.max-safe-integer');\nrequire('./modules/es6.number.min-safe-integer');\nrequire('./modules/es6.number.parse-float');\nrequire('./modules/es6.number.parse-int');\nrequire('./modules/es6.math.acosh');\nrequire('./modules/es6.math.asinh');\nrequire('./modules/es6.math.atanh');\nrequire('./modules/es6.math.cbrt');\nrequire('./modules/es6.math.clz32');\nrequire('./modules/es6.math.cosh');\nrequire('./modules/es6.math.expm1');\nrequire('./modules/es6.math.fround');\nrequire('./modules/es6.math.hypot');\nrequire('./modules/es6.math.imul');\nrequire('./modules/es6.math.log10');\nrequire('./modules/es6.math.log1p');\nrequire('./modules/es6.math.log2');\nrequire('./modules/es6.math.sign');\nrequire('./modules/es6.math.sinh');\nrequire('./modules/es6.math.tanh');\nrequire('./modules/es6.math.trunc');\nrequire('./modules/es6.string.from-code-point');\nrequire('./modules/es6.string.raw');\nrequire('./modules/es6.string.trim');\nrequire('./modules/es6.string.iterator');\nrequire('./modules/es6.string.code-point-at');\nrequire('./modules/es6.string.ends-with');\nrequire('./modules/es6.string.includes');\nrequire('./modules/es6.string.repeat');\nrequire('./modules/es6.string.starts-with');\nrequire('./modules/es6.string.anchor');\nrequire('./modules/es6.string.big');\nrequire('./modules/es6.string.blink');\nrequire('./modules/es6.string.bold');\nrequire('./modules/es6.string.fixed');\nrequire('./modules/es6.string.fontcolor');\nrequire('./modules/es6.string.fontsize');\nrequire('./modules/es6.string.italics');\nrequire('./modules/es6.string.link');\nrequire('./modules/es6.string.small');\nrequire('./modules/es6.string.strike');\nrequire('./modules/es6.string.sub');\nrequire('./modules/es6.string.sup');\nrequire('./modules/es6.date.now');\nrequire('./modules/es6.date.to-json');\nrequire('./modules/es6.date.to-iso-string');\nrequire('./modules/es6.date.to-string');\nrequire('./modules/es6.date.to-primitive');\nrequire('./modules/es6.array.is-array');\nrequire('./modules/es6.array.from');\nrequire('./modules/es6.array.of');\nrequire('./modules/es6.array.join');\nrequire('./modules/es6.array.slice');\nrequire('./modules/es6.array.sort');\nrequire('./modules/es6.array.for-each');\nrequire('./modules/es6.array.map');\nrequire('./modules/es6.array.filter');\nrequire('./modules/es6.array.some');\nrequire('./modules/es6.array.every');\nrequire('./modules/es6.array.reduce');\nrequire('./modules/es6.array.reduce-right');\nrequire('./modules/es6.array.index-of');\nrequire('./modules/es6.array.last-index-of');\nrequire('./modules/es6.array.copy-within');\nrequire('./modules/es6.array.fill');\nrequire('./modules/es6.array.find');\nrequire('./modules/es6.array.find-index');\nrequire('./modules/es6.array.species');\nrequire('./modules/es6.array.iterator');\nrequire('./modules/es6.regexp.constructor');\nrequire('./modules/es6.regexp.to-string');\nrequire('./modules/es6.regexp.flags');\nrequire('./modules/es6.regexp.match');\nrequire('./modules/es6.regexp.replace');\nrequire('./modules/es6.regexp.search');\nrequire('./modules/es6.regexp.split');\nrequire('./modules/es6.promise');\nrequire('./modules/es6.map');\nrequire('./modules/es6.set');\nrequire('./modules/es6.weak-map');\nrequire('./modules/es6.weak-set');\nrequire('./modules/es6.typed.array-buffer');\nrequire('./modules/es6.typed.data-view');\nrequire('./modules/es6.typed.int8-array');\nrequire('./modules/es6.typed.uint8-array');\nrequire('./modules/es6.typed.uint8-clamped-array');\nrequire('./modules/es6.typed.int16-array');\nrequire('./modules/es6.typed.uint16-array');\nrequire('./modules/es6.typed.int32-array');\nrequire('./modules/es6.typed.uint32-array');\nrequire('./modules/es6.typed.float32-array');\nrequire('./modules/es6.typed.float64-array');\nrequire('./modules/es6.reflect.apply');\nrequire('./modules/es6.reflect.construct');\nrequire('./modules/es6.reflect.define-property');\nrequire('./modules/es6.reflect.delete-property');\nrequire('./modules/es6.reflect.enumerate');\nrequire('./modules/es6.reflect.get');\nrequire('./modules/es6.reflect.get-own-property-descriptor');\nrequire('./modules/es6.reflect.get-prototype-of');\nrequire('./modules/es6.reflect.has');\nrequire('./modules/es6.reflect.is-extensible');\nrequire('./modules/es6.reflect.own-keys');\nrequire('./modules/es6.reflect.prevent-extensions');\nrequire('./modules/es6.reflect.set');\nrequire('./modules/es6.reflect.set-prototype-of');\nrequire('./modules/es7.array.includes');\nrequire('./modules/es7.string.at');\nrequire('./modules/es7.string.pad-start');\nrequire('./modules/es7.string.pad-end');\nrequire('./modules/es7.string.trim-left');\nrequire('./modules/es7.string.trim-right');\nrequire('./modules/es7.string.match-all');\nrequire('./modules/es7.symbol.async-iterator');\nrequire('./modules/es7.symbol.observable');\nrequire('./modules/es7.object.get-own-property-descriptors');\nrequire('./modules/es7.object.values');\nrequire('./modules/es7.object.entries');\nrequire('./modules/es7.object.define-getter');\nrequire('./modules/es7.object.define-setter');\nrequire('./modules/es7.object.lookup-getter');\nrequire('./modules/es7.object.lookup-setter');\nrequire('./modules/es7.map.to-json');\nrequire('./modules/es7.set.to-json');\nrequire('./modules/es7.system.global');\nrequire('./modules/es7.error.is-error');\nrequire('./modules/es7.math.iaddh');\nrequire('./modules/es7.math.isubh');\nrequire('./modules/es7.math.imulh');\nrequire('./modules/es7.math.umulh');\nrequire('./modules/es7.reflect.define-metadata');\nrequire('./modules/es7.reflect.delete-metadata');\nrequire('./modules/es7.reflect.get-metadata');\nrequire('./modules/es7.reflect.get-metadata-keys');\nrequire('./modules/es7.reflect.get-own-metadata');\nrequire('./modules/es7.reflect.get-own-metadata-keys');\nrequire('./modules/es7.reflect.has-metadata');\nrequire('./modules/es7.reflect.has-own-metadata');\nrequire('./modules/es7.reflect.metadata');\nrequire('./modules/es7.asap');\nrequire('./modules/es7.observable');\nrequire('./modules/web.timers');\nrequire('./modules/web.immediate');\nrequire('./modules/web.dom.iterable');\nmodule.exports = require('./modules/_core');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/shim.js\n// module id = 393\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/scss/compare/index.scss\n// module id = 394\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/scss/customCircle/index.scss\n// module id = 395\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/scss/geolocation/index.scss\n// module id = 396\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/scss/measure/index.scss\n// module id = 397\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/scss/ol/ol.scss\n// module id = 398\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/scss/overlay/index.scss\n// module id = 399\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/scss/plot/index.scss\n// module id = 400\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/scss/popup/index.scss\n// module id = 401\n// module chunks = 0","// OpenLayers. See https://openlayers.org/\n// License: https://raw.githubusercontent.com/openlayers/openlayers/master/LICENSE.md\n// Version: v4.2.0\n;(function (root, factory) {\n if (typeof exports === \"object\") {\n module.exports = factory();\n } else if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else {\n root.ol = factory();\n }\n}(this, function () {\n var OPENLAYERS = {};\n var k,aa=this;function t(a,b){var c=OPENLAYERS;a=a.split(\".\");c=c||aa;a[0]in c||!c.execScript||c.execScript(\"var \"+a[0]);for(var d;a.length&&(d=a.shift());)a.length||void 0===b?c[d]&&c[d]!==Object.prototype[d]?c=c[d]:c=c[d]={}:c[d]=b};var ea,fa;function ia(a,b){return a>b?1:ac)for(c=1;c>>0,d,e=0;e=b.ca&&a.da<=b.ia&&a.ia>=b.da};function Ca(a,b,c){return Math.min(Math.max(a,b),c)}var Da=function(){var a;\"cosh\"in Math?a=Math.cosh:a=function(a){a=Math.exp(a);return(a+1/a)/2};return a}();function Ea(a){xa(0a*b?a+b:a}\nfunction Ja(a,b,c){return a+c*(b-a)};function Ka(a,b,c){void 0===c&&(c=[0,0]);c[0]=a[0]+2*b;c[1]=a[1]+2*b;return c}function La(a,b,c){void 0===c&&(c=[0,0]);c[0]=a[0]*b+.5|0;c[1]=a[1]*b+.5|0;return c}function Ma(a,b){if(Array.isArray(a))return a;void 0===b?b=[a,a]:b[0]=b[1]=a;return b};function Na(a){for(var b=Oa(),c=0,d=a.length;cd&&(g|=4);be&&(g|=2);g||(g=1);return g}function Oa(){return[Infinity,Infinity,-Infinity,-Infinity]}function Xa(a,b,c,d,e){return e?(e[0]=a,e[1]=b,e[2]=c,e[3]=d,e):[a,b,c,d]}function Ya(a){return Xa(Infinity,Infinity,-Infinity,-Infinity,a)}function Za(a,b){var c=a[0];a=a[1];return Xa(c,a,c,a,b)}function $a(a,b,c,d,e){e=Ya(e);return ab(e,a,b,c,d)}\nfunction bb(a,b){return a[0]==b[0]&&a[2]==b[2]&&a[1]==b[1]&&a[3]==b[3]}function cb(a,b){b[0]a[2]&&(a[2]=b[2]);b[1]a[3]&&(a[3]=b[3]);return a}function Pa(a,b){b[0]a[2]&&(a[2]=b[0]);b[1]a[3]&&(a[3]=b[1])}function ab(a,b,c,d,e){for(;cb[0]?a[0]:b[0],c[1]=a[1]>b[1]?a[1]:b[1],c[2]=a[2]=b[0]&&a[1]<=b[3]&&a[3]>=b[1]}function kb(a){return a[2]Fb?f=Fb:f<-Fb&&(f=-Fb);b[e+1]=f}return b}function Ib(a,b,c){var d=a.length;c=1>=1}return c.join(\"\")};function lc(a){this.minZoom=void 0!==a.minZoom?a.minZoom:0;this.b=a.resolutions;xa(ta(this.b,function(a,b){return b-a}),17);this.maxZoom=this.b.length-1;this.i=void 0!==a.origin?a.origin:null;this.c=null;void 0!==a.origins&&(this.c=a.origins,xa(this.c.length==this.b.length,20));var b=a.extent;void 0===b||this.i||this.c||(this.i=ib(b));xa(!this.i&&this.c||this.i&&!this.c,18);this.f=null;void 0!==a.tileSizes&&(this.f=a.tileSizes,xa(this.f.length==this.b.length,19));this.g=void 0!==a.tileSize?a.tileSize:\nthis.f?null:256;xa(!this.g&&this.f||this.g&&!this.f,22);this.v=void 0!==b?b:null;this.a=null;this.j=[0,0];void 0!==a.sizes?this.a=a.sizes.map(function(a){return new ya(Math.min(0,a[0]),Math.max(a[0]-1,-1),Math.min(0,a[1]),Math.max(a[1]-1,-1))},this):b&&mc(this,b)}var nc=[0,0,0];k=lc.prototype;k.Rf=function(a,b,c){a=oc(this,a,b);for(var d=a.ca,e=a.$;d<=e;++d)for(var f=a.da,g=a.ia;f<=g;++f)c([b,d,f])};\nfunction pc(a,b,c,d,e){e=a.Aa(b,e);for(b=b[0]-1;b>=a.minZoom;){if(c.call(null,b,oc(a,e,b,d)))return!0;--b}return!1}k.G=function(){return this.v};k.Ti=function(){return this.maxZoom};k.Ui=function(){return this.minZoom};k.Pc=function(a){return this.i?this.i:this.c[a]};k.Da=function(a){return this.b[a]};k.Vi=function(){return this.b};function qc(a,b,c,d){return b[0]M.$)if(Ba(z,new ya(Ia(B.ca,ba),Ia(B.$,ba),B.da,B.ia))||B.$-B.ca+1>ba&&Ba(z,M)){E=!0;break a}}}E=!1}else E=!0}}else E=!1;E?(x in l&&delete l[x],E=u.b,E in m||(m[E]=!0,h[x]=u)):l[x]=u}}}}b=[h,l];p=b[0];b=b[1];for(var da in this.l)da in p?(this.j[da]||(this.l[da].style.display=\"\",this.j[da]=!0),delete p[da]):da in b?(this.j[da]&&(this.l[da].style.display=\"none\",delete this.j[da]),delete b[da]):(ld(this.l[da]),delete this.l[da],delete this.j[da]);for(da in p)r=\ndocument.createElement(\"LI\"),r.innerHTML=p[da].b,this.I.appendChild(r),this.l[da]=r,this.j[da]=!0;for(da in b)r=document.createElement(\"LI\"),r.innerHTML=b[da].b,r.style.display=\"none\",this.I.appendChild(r),this.l[da]=r;da=!wb(this.j)||!wb(a.logos);this.B!=da&&(this.element.style.display=da?\"\":\"none\",this.B=da);da&&wb(this.j)?this.element.classList.add(\"ol-logo-only\"):this.element.classList.remove(\"ol-logo-only\");a=a.logos;da=this.T;for(ca in da)ca in a||(ld(da[ca]),delete da[ca]);for(var fb in a)if(b=\na[fb],b instanceof HTMLElement&&(this.u.appendChild(b),da[fb]=b),!(fb in da)){var ca=new Image;ca.src=fb;\"\"===b?p=ca:(p=document.createElement(\"a\"),p.href=b,p.appendChild(ca));this.u.appendChild(p);da[fb]=p}this.u.style.display=wb(a)?\"none\":\"\"}else this.B&&(this.element.style.display=\"none\",this.B=!1)}k=nd.prototype;k.Vm=function(a){a.preventDefault();pd(this)};function pd(a){a.element.classList.toggle(\"ol-collapsed\");a.c?kd(a.D,a.C):kd(a.C,a.D);a.c=!a.c}k.Um=function(){return this.o};\nk.Xm=function(a){this.o!==a&&(this.o=a,this.element.classList.toggle(\"ol-uncollapsible\"),!a&&this.c&&pd(this))};k.Wm=function(a){this.o&&this.c!==a&&pd(this)};k.Tm=function(){return this.c};function qd(a){return Math.pow(a,3)}function rd(a){return 1-qd(1-a)}function sd(a){return 3*a*a-2*a*a*a}function td(a){return a};function ud(a){a=a?a:{};var b=void 0!==a.className?a.className:\"ol-rotate\",c=void 0!==a.label?a.label:\"\\u21e7\";this.c=null;\"string\"===typeof c?(this.c=document.createElement(\"span\"),this.c.className=\"ol-compass\",this.c.textContent=c):(this.c=c,this.c.classList.add(\"ol-compass\"));var d=a.tipLabel?a.tipLabel:\"Reset rotation\",c=document.createElement(\"button\");c.className=b+\"-reset\";c.setAttribute(\"type\",\"button\");c.title=d;c.appendChild(this.c);y(c,\"click\",ud.prototype.D,this);d=document.createElement(\"div\");\nd.className=b+\" ol-unselectable ol-control\";d.appendChild(c);b=a.render?a.render:vd;this.o=a.resetNorth?a.resetNorth:void 0;md.call(this,{element:d,render:b,target:a.target});this.l=void 0!==a.duration?a.duration:250;this.j=void 0!==a.autoHide?a.autoHide:!0;this.u=void 0;this.j&&this.element.classList.add(\"ol-hidden\")}v(ud,md);ud.prototype.D=function(a){a.preventDefault();this.o?this.o():(a=this.a.Z())&&void 0!==a.Qa()&&(0=Math.abs(c-f[0])&&25>=g)return!0}return!1}function ie(a){var b=je(a,a),c=b.preventDefault;b.preventDefault=function(){a.preventDefault();c()};b.pointerId=1;b.isPrimary=!0;b.pointerType=\"mouse\";return b}k=ge.prototype;\nk.fm=function(a){if(!he(this,a)){(1).toString()in this.a&&this.cancel(a);var b=ie(a);this.a[(1).toString()]=a;ke(this.b,\"pointerdown\",b,a)}};k.gm=function(a){if(!he(this,a)){var b=ie(a);ke(this.b,\"pointermove\",b,a)}};k.jm=function(a){if(!he(this,a)){var b=this.a[(1).toString()];b&&b.button===a.button&&(b=ie(a),ke(this.b,\"pointerup\",b,a),delete this.a[(1).toString()])}};k.im=function(a){if(!he(this,a)){var b=ie(a);le(this.b,b,a)}};k.hm=function(a){if(!he(this,a)){var b=ie(a);me(this.b,b,a)}};\nk.cancel=function(a){var b=ie(a);this.b.cancel(b,a);delete this.a[(1).toString()]};function ne(a){fe.call(this,a,{MSPointerDown:this.om,MSPointerMove:this.pm,MSPointerUp:this.sm,MSPointerOut:this.qm,MSPointerOver:this.rm,MSPointerCancel:this.nm,MSGotPointerCapture:this.lm,MSLostPointerCapture:this.mm});this.a=a.i;this.i=[\"\",\"unavailable\",\"touch\",\"pen\",\"mouse\"]}v(ne,fe);function oe(a,b){var c=b;\"number\"===typeof b.pointerType&&(c=je(b,b),c.pointerType=a.i[b.pointerType]);return c}k=ne.prototype;\nk.om=function(a){this.a[a.pointerId.toString()]=a;var b=oe(this,a);ke(this.b,\"pointerdown\",b,a)};k.pm=function(a){var b=oe(this,a);ke(this.b,\"pointermove\",b,a)};k.sm=function(a){var b=oe(this,a);ke(this.b,\"pointerup\",b,a);delete this.a[a.pointerId.toString()]};k.qm=function(a){var b=oe(this,a);me(this.b,b,a)};k.rm=function(a){var b=oe(this,a);le(this.b,b,a)};k.nm=function(a){var b=oe(this,a);this.b.cancel(b,a);delete this.a[a.pointerId.toString()]};\nk.mm=function(a){this.b.b(new pe(\"lostpointercapture\",a,a))};k.lm=function(a){this.b.b(new pe(\"gotpointercapture\",a,a))};function qe(a){fe.call(this,a,{pointerdown:this.ip,pointermove:this.jp,pointerup:this.mp,pointerout:this.kp,pointerover:this.lp,pointercancel:this.hp,gotpointercapture:this.ul,lostpointercapture:this.em})}v(qe,fe);k=qe.prototype;k.ip=function(a){re(this.b,a)};k.jp=function(a){re(this.b,a)};k.mp=function(a){re(this.b,a)};k.kp=function(a){re(this.b,a)};k.lp=function(a){re(this.b,a)};k.hp=function(a){re(this.b,a)};k.em=function(a){re(this.b,a)};k.ul=function(a){re(this.b,a)};function pe(a,b,c){Oc.call(this,a);this.b=b;a=c?c:{};this.buttons=se(a);this.pressure=te(a,this.buttons);this.bubbles=\"bubbles\"in a?a.bubbles:!1;this.cancelable=\"cancelable\"in a?a.cancelable:!1;this.view=\"view\"in a?a.view:null;this.detail=\"detail\"in a?a.detail:null;this.screenX=\"screenX\"in a?a.screenX:0;this.screenY=\"screenY\"in a?a.screenY:0;this.clientX=\"clientX\"in a?a.clientX:0;this.clientY=\"clientY\"in a?a.clientY:0;this.ctrlKey=\"ctrlKey\"in a?a.ctrlKey:!1;this.altKey=\"altKey\"in a?a.altKey:!1;this.shiftKey=\n\"shiftKey\"in a?a.shiftKey:!1;this.metaKey=\"metaKey\"in a?a.metaKey:!1;this.button=\"button\"in a?a.button:0;this.relatedTarget=\"relatedTarget\"in a?a.relatedTarget:null;this.pointerId=\"pointerId\"in a?a.pointerId:0;this.width=\"width\"in a?a.width:0;this.height=\"height\"in a?a.height:0;this.tiltX=\"tiltX\"in a?a.tiltX:0;this.tiltY=\"tiltY\"in a?a.tiltY:0;this.pointerType=\"pointerType\"in a?a.pointerType:\"\";this.isPrimary=\"isPrimary\"in a?a.isPrimary:!1;b.preventDefault&&(this.preventDefault=function(){b.preventDefault()})}\nv(pe,Oc);function se(a){if(a.buttons||ue)a=a.buttons;else switch(a.which){case 1:a=1;break;case 2:a=4;break;case 3:a=2;break;default:a=0}return a}function te(a,b){var c=0;a.pressure?c=a.pressure:c=b?.5:0;return c}var ue=!1;try{ue=1===(new MouseEvent(\"click\",{buttons:1})).buttons}catch(a){};function ve(a,b){fe.call(this,a,{touchstart:this.rq,touchmove:this.qq,touchend:this.pq,touchcancel:this.oq});this.a=a.i;this.j=b;this.i=void 0;this.g=0;this.c=void 0}v(ve,fe);k=ve.prototype;k.ij=function(){this.g=0;this.c=void 0};\nfunction we(a,b,c){b=je(b,c);b.pointerId=c.identifier+2;b.bubbles=!0;b.cancelable=!0;b.detail=a.g;b.button=0;b.buttons=1;b.width=c.webkitRadiusX||c.radiusX||0;b.height=c.webkitRadiusY||c.radiusY||0;b.pressure=c.webkitForce||c.force||.5;b.isPrimary=a.i===c.identifier;b.pointerType=\"touch\";b.clientX=c.clientX;b.clientY=c.clientY;b.screenX=c.screenX;b.screenY=c.screenY;return b}\nfunction xe(a,b,c){function d(){b.preventDefault()}var e=Array.prototype.slice.call(b.changedTouches),f=e.length,g;for(g=0;g=b.length){var e=[],f;for(f=0;fa.D||Math.abs(b.clientY-a.c.clientY)>a.D}k.ka=function(){this.v&&(Ec(this.v),this.v=null);this.l&&(Ec(this.l),this.l=null);this.f.forEach(Ec);this.f.length=0;this.a&&(Nc(this.a),this.a=null);this.g&&(Nc(this.g),this.g=null);Qc.prototype.ka.call(this)};function Ke(a,b){this.l=a;this.c=b;this.b=[];this.i=[];this.a={}}Ke.prototype.clear=function(){this.b.length=0;this.i.length=0;ub(this.a)};function Le(a){var b=a.b,c=a.i,d=b[0];1==b.length?(b.length=0,c.length=0):(b[0]=b.pop(),c[0]=c.pop(),Me(a,0));b=a.c(d);delete a.a[b];return d}Ke.prototype.f=function(a){xa(!(this.c(a)in this.a),31);var b=this.l(a);return Infinity!=b?(this.b.push(a),this.i.push(b),this.a[this.c(a)]=!0,Ne(this,0,this.b.length-1),!0):!1};\nfunction Me(a,b){for(var c=a.b,d=a.i,e=c.length,f=c[b],g=d[b],h=b;b>1;){var l=2*b+1,m=2*b+2,l=mb;){var g=c-1>>1;if(a[g]>f)d[c]=d[g],a[c]=a[g],c=g;else break}d[c]=e;a[c]=f}\nfunction Oe(a){var b=a.l,c=a.b,d=a.i,e=0,f=c.length,g;for(g=0;g>1)-1;0<=b;b--)Me(a,b)};function Pe(a,b){Ke.call(this,function(b){return a.apply(null,b)},function(a){return a[0].bb()});this.v=b;this.j=0;this.g={}}v(Pe,Ke);Pe.prototype.f=function(a){var b=Ke.prototype.f.call(this,a);b&&y(a[0],\"change\",this.o,this);return b};Pe.prototype.o=function(a){a=a.target;var b=a.getState();if(2===b||3===b||4===b||5===b)Kc(a,\"change\",this.o,this),a=a.bb(),a in this.g&&(delete this.g[a],--this.j),this.v()};\nfunction Qe(a,b,c){for(var d=0,e,f;a.je)return 1;if(e>d)return-1}return 0};function Ze(a,b){a[0]+=b[0];a[1]+=b[1];return a}function $e(a,b){var c=b.pd(),d=b.wa();b=d[0];var d=d[1],e=a[0]-b;a=a[1]-d;e||a||(e=1);var f=Math.sqrt(e*e+a*a);return[b+c*e/f,d+c*a/f]}function af(a,b){var c=a[0];a=a[1];var d=b[0],e=b[1];b=d[0];var d=d[1],f=e[0],e=e[1],g=f-b,h=e-d,c=g||h?(g*(c-b)+h*(a-d))/(g*g+h*h||0):0;0>=c?(a=b,c=d):1<=c?(a=f,c=e):(a=b+c*g,c=d+c*h);return[a,c]}\nfunction bf(a,b,c){b=Ia(b+180,360)-180;var d=Math.abs(3600*b);c=c||0;var e=Math.pow(10,c),f=Math.floor(d/3600),g=Math.floor((d-3600*f)/60),d=Math.ceil((d-3600*f-60*g)*e)/e;60<=d&&(d=0,g+=1);60<=g&&(g=0,f+=1);return f+\"\\u00b0 \"+Xe(g)+\"\\u2032 \"+Xe(d,c)+\"\\u2033\"+(b?\" \"+a.charAt(0>b?1:0):\"\")}function cf(a,b,c){return a?b.replace(\"{x}\",a[0].toFixed(c)).replace(\"{y}\",a[1].toFixed(c)):\"\"}function df(a,b){for(var c=!0,d=a.length-1;0<=d;--d)if(a[d]!=b[d]){c=!1;break}return c}\nfunction ef(a,b){var c=Math.cos(b);b=Math.sin(b);var d=a[1]*c+a[0]*b;a[0]=a[0]*c-a[1]*b;a[1]=d;return a}function gf(a,b){a[0]*=b;a[1]*=b}function hf(a,b){var c=a[0]-b[0];a=a[1]-b[1];return c*c+a*a}function jf(a,b){return Math.sqrt(hf(a,b))}function kf(a,b){return hf(a,af(a,b))}function lf(a,b){return cf(a,\"{x}, {y}\",b)};function mf(){return!0}function nf(){return!1};function of(){Tc.call(this);this.l=Oa();this.v=-1;this.f={};this.o=this.g=0}v(of,Tc);k=of.prototype;k.Ab=function(a,b){b=b?b:[NaN,NaN];this.Kb(a[0],a[1],b,Infinity);return b};k.sb=function(a){return this.Mc(a[0],a[1])};k.Mc=nf;k.G=function(a){this.v!=this.i&&(this.l=this.se(this.l),this.v=this.i);var b=this.l;a?(a[0]=b[0],a[1]=b[1],a[2]=b[2],a[3]=b[3]):a=b;return a};k.Rb=function(a){return this.Vd(a*a)};k.tb=function(a,b){this.Dc(ec(a,b));return this};function pf(a,b,c,d,e,f){for(var g=f?f:[],h=0;ba||this.g&&a<=this.g)return this;var b=a.toString();if(this.f.hasOwnProperty(b))return this.f[b];var c=this.hd(a);if(c.ga().lengthe&&(e=f);f=h;g=l}return e}function zf(a,b,c,d,e){var f;var g=0;for(f=c.length;gh){for(;br&&(m=n,r=A)}r>e&&(l[(m-b)/d]=1,q+dga&&Mga)&&(0>z&&baz)||(x[B++]=L,x[B++]=g,E=L,A=g);L=oa;g=ha}}x[B++]=L;x[B++]=g}g=B}h.push(g);b=n}return g};function Jf(a,b){rf.call(this);this.c=this.j=-1;this.ma(a,b)}v(Jf,rf);k=Jf.prototype;k.clone=function(){var a=new Jf(null);Kf(a,this.ja,this.A.slice());return a};k.Kb=function(a,b,c,d){if(df&&0<(m-h)*(f-l)-(e-h)*(n-l)&&g++:n<=f&&0>(m-h)*(f-l)-(e-h)*(n-l)&&g--;h=m;l=n}return!!g}function Nf(a,b,c,d,e,f){if(!c.length||!Mf(a,b,c[0],d,e,f))return!1;var g;b=1;for(g=c.length;bq&&(p=(p+r)/2,Nf(a,b,c,d,p,l)&&(n=p,q=x));p=r}isNaN(n)&&(n=e[f]);return g?(g.push(n,l),g):[n,l]};function Pf(a,b,c,d,e,f){for(var g=[a[b],a[b+1]],h=[],l;b+d=e[0]&&f[2]<=e[2]||f[1]>=e[1]&&f[3]<=e[3]?!0:Pf(a,b,c,d,function(a,b){var c=!1,d=Wa(e,a),f=Wa(e,b);if(1===d||1===f)c=!0;else{var g=e[0],h=e[1],r=e[2],u=e[3],x=b[0];b=b[1];a=(b-a[1])/(x-a[0]);f&2&&!(d&2)&&(c=x-(b-u)/a,c=c>=g&&c<=r);c||!(f&4)||d&4||(c=b-(x-r)*a,c=c>=h&&c<=u);c||!(f&8)||d&8||(c=x-(b-h)/a,c=c>=g&&c<=r);c||!(f&16)||d&16||(c=b-(x-g)*a,c=c>=h&&c<=u)}return c}):!1}\nfunction Rf(a,b,c,d,e){var f=c[0];if(!(Qf(a,b,f,d,e)||Mf(a,b,f,d,e[0],e[1])||Mf(a,b,f,d,e[0],e[3])||Mf(a,b,f,d,e[2],e[1])||Mf(a,b,f,d,e[2],e[3])))return!1;if(1===c.length)return!0;b=1;for(f=c.length;ba||this.c.length<=a)return null;var b=new Jf(null);Kf(b,this.ja,this.A.slice(a?this.c[a-1]:0,this.c[a]));return b};k.Sd=function(){var a=this.ja,b=this.A,c=this.c,d=[],e=0,f;var g=0;for(f=c.length;g=this.f&&a<=this.a){var b=this.l||0;if(this.j){var c=ka(this.j,a,1);b+=c;if(c==this.j.length-1)return b;var d=this.j[c];c=d/this.j[c+1]}else d=this.a,c=this.C;b+=Math.log(d/a)/Math.log(c)}return b};\nk.Qf=function(a,b){b=b||{};var c=b.size;c||(c=gg(this));if(a instanceof rf)if(\"Circle\"===a.U()){a=a.G();var d=Yf(a);d.rotate(this.Qa(),nb(a))}else d=a;else xa(Array.isArray(a),24),xa(!kb(a),25),d=Yf(a);var e=b.padding?b.padding:[0,0,0,0],f=void 0!==b.constrainResolution?b.constrainResolution:!0,g=void 0!==b.nearest?b.nearest:!1,h;void 0!==b.minResolution?h=b.minResolution:void 0!==b.maxZoom?h=this.constrainResolution(this.a,b.maxZoom-this.l,0):h=0;var l=d.ga(),m=this.Qa();a=Math.cos(-m);var m=Math.sin(-m),\nn=Infinity,p=Infinity,q=-Infinity,r=-Infinity;d=d.qa();for(var u=0,x=l.length;ua.b.length)return!1;var b=Date.now()-a.g,c=a.b.length-3;if(a.b[c+2]b;)d-=3;b=a.b[c+2]-a.b[d+2];if(b<1E3/60)return!1;var e=a.b[c]-a.b[d],c=a.b[c+1]-a.b[d+1];a.i=Math.atan2(c,e);a.a=Math.sqrt(e*e+c*c)/b;return a.a>a.c};function ng(a){Tc.call(this);this.v=null;this.Ha(!0);this.handleEvent=a.handleEvent}v(ng,Tc);ng.prototype.c=function(){return this.get(\"active\")};ng.prototype.f=function(){return this.v};ng.prototype.Ha=function(a){this.set(\"active\",a)};ng.prototype.setMap=function(a){this.v=a};function og(a,b,c,d){if(void 0!==b){var e=a.Qa(),f=a.wa();void 0!==e&&f&&0=this.u}function Tg(a){if(Bg(a)){var b=this.a,c=a.pixel;b.c=this.g;b.i=c;Qg(b);Pg(b);this.b(new Wg(Xg,a.coordinate,a))}}Rg.prototype.V=function(){return this.a.V()};\nRg.prototype.j=ua;function Ug(a){if(!Bg(a))return!0;this.a.setMap(null);this.l(a,this.g,a.pixel)&&(this.j(a),this.b(new Wg(Yg,a.coordinate,a)));return!1}function Sg(a){if(Bg(a)&&ug(a)&&this.C(a)){this.g=a.pixel;this.a.setMap(a.map);var b=this.a,c=this.g;b.c=this.g;b.i=c;Qg(b);Pg(b);this.b(new Wg(Zg,a.coordinate,a));return!0}return!1}var Zg=\"boxstart\",Xg=\"boxdrag\",Yg=\"boxend\";function Wg(a,b,c){Oc.call(this,a);this.coordinate=b;this.mapBrowserEvent=c}v(Wg,Oc);function $g(a){a=a?a:{};var b=a.condition?a.condition:yg;this.B=void 0!==a.duration?a.duration:200;this.I=void 0!==a.out?a.out:!1;Rg.call(this,{condition:b,className:a.className||\"ol-dragzoom\"})}v($g,Rg);\n$g.prototype.j=function(){var a=this.v,b=a.Z(),c=a.Ob(),d=this.V().G();if(this.I){var e=b.dd(c),d=[a.Ja(eb(d)),a.Ja(hb(d))],a=Ya(void 0),f;var g=0;for(f=d.length;gMath.abs(d)?gh:hh;if(this.o===gh){b=b.Z();this.l?clearTimeout(this.l):\ncg(b,1,1);this.l=setTimeout(this.B.bind(this),400);var c=b.Pa()*Math.pow(2,d/300),e=b.f,f=b.a,g=0;cf&&(c=Math.min(c,1.5*f),g=-1);if(this.a){var h=eg(b,c,this.a);b.ob(b.Ec(h))}b.Vc(c);!g&&this.R&&b.animate({resolution:b.constrainResolution(c,0g&&b.animate({resolution:f,easing:rd,anchor:this.a,duration:500});this.g=a;return!1}this.j+=d;d=Math.max(this.na-\n(a-this.g),0);clearTimeout(this.u);this.u=setTimeout(this.I.bind(this,b),d);return!1}eh.prototype.B=function(){this.l=void 0;cg(this.v.Z(),1,-1)};eh.prototype.I=function(a){a=a.Z();a.Ic()&&a.ed();pg(a,-Ca(this.j,-1,1),this.a,this.D);this.o=void 0;this.j=0;this.a=null;this.u=this.g=void 0};eh.prototype.T=function(a){this.C=a;a||(this.a=null)};var gh=\"trackpad\",hh=\"wheel\";function ih(a){Dg.call(this,{handleDownEvent:jh,handleDragEvent:kh,handleUpEvent:lh});a=a||{};this.g=null;this.j=void 0;this.a=!1;this.l=0;this.C=void 0!==a.threshold?a.threshold:.3;this.u=void 0!==a.duration?a.duration:250}v(ih,Dg);\nfunction kh(a){var b=0,c=this.o[0],d=this.o[1],c=Math.atan2(d.clientY-c.clientY,d.clientX-c.clientX);void 0!==this.j&&(b=c-this.j,this.l+=b,!this.a&&Math.abs(this.l)>this.C&&(this.a=!0));this.j=c;a=a.map;c=a.Z();if(c.g.rotation!==Te){var d=a.a.getBoundingClientRect(),e=Fg(this.o);e[0]-=d.left;e[1]-=d.top;this.g=a.Wa(e);this.a&&(d=c.Qa(),a.render(),og(c,d+b,this.g))}}\nfunction lh(a){if(2>this.o.length){a=a.map.Z();cg(a,1,-1);if(this.a){var b=a.Qa(),c=this.g,d=this.u,b=a.constrainRotation(b,0);og(a,b,c,d)}return!1}return!0}function jh(a){return 2<=this.o.length?(a=a.map,this.g=null,this.j=void 0,this.a=!1,this.l=0,this.D||cg(a.Z(),1,1),!0):!1}ih.prototype.Xc=nf;function mh(a){Dg.call(this,{handleDownEvent:nh,handleDragEvent:oh,handleUpEvent:ph});a=a?a:{};this.l=a.constrainResolution||!1;this.g=null;this.u=void 0!==a.duration?a.duration:400;this.a=void 0;this.j=1}v(mh,Dg);\nfunction oh(a){var b=1,c=this.o[0],d=this.o[1],e=c.clientX-d.clientX,c=c.clientY-d.clientY,e=Math.sqrt(e*e+c*c);void 0!==this.a&&(b=this.a/e);this.a=e;a=a.map;var e=a.Z(),d=e.Pa(),f=e.a,g=e.f,c=d*b;c>f?(b=f/d,c=f):cthis.o.length){a=a.map.Z();cg(a,1,-1);var b=a.Pa();if(this.l||ba.a){var c=this.g,d=this.u,b=a.constrainResolution(b,0,this.j-1);qg(a,b,c,d)}return!1}return!0}function nh(a){return 2<=this.o.length?(a=a.map,this.g=null,this.a=void 0,this.j=1,this.D||cg(a.Z(),1,1),!0):!1}mh.prototype.Xc=nf;function qh(a){a=a?a:{};var b=new Yc,c=new kg(-.005,.05,100);(void 0!==a.altShiftDragRotate?a.altShiftDragRotate:1)&&b.push(new Kg);(void 0!==a.doubleClickZoom?a.doubleClickZoom:1)&&b.push(new rg({delta:a.zoomDelta,duration:a.zoomDuration}));(void 0!==a.dragPan?a.dragPan:1)&&b.push(new Gg({kinetic:c}));(void 0!==a.pinchRotate?a.pinchRotate:1)&&b.push(new ih);(void 0!==a.pinchZoom?a.pinchZoom:1)&&b.push(new mh({constrainResolution:a.constrainResolution,duration:a.zoomDuration}));if(void 0!==a.keyboard?\na.keyboard:1)b.push(new ah),b.push(new ch({delta:a.zoomDelta,duration:a.zoomDuration}));(void 0!==a.mouseWheelZoom?a.mouseWheelZoom:1)&&b.push(new eh({constrainResolution:a.constrainResolution,duration:a.zoomDuration}));(void 0!==a.shiftDragZoom?a.shiftDragZoom:1)&&b.push(new $g({duration:a.zoomDuration}));return b};function sh(a){Tc.call(this);var b=tb({},a);b.opacity=void 0!==a.opacity?a.opacity:1;b.visible=void 0!==a.visible?a.visible:!0;b.zIndex=void 0!==a.zIndex?a.zIndex:0;b.maxResolution=void 0!==a.maxResolution?a.maxResolution:Infinity;b.minResolution=void 0!==a.minResolution?a.minResolution:0;this.H(b);this.a={layer:this,Je:!0}}v(sh,Tc);\nfunction th(a){a.a.opacity=Ca(a.hc(),0,1);a.a.yj=a.$f();a.a.visible=a.Mb();a.a.extent=a.G();a.a.zIndex=a.Ba();a.a.maxResolution=a.fc();a.a.minResolution=Math.max(a.gc(),0);return a.a}k=sh.prototype;k.G=function(){return this.get(\"extent\")};k.fc=function(){return this.get(\"maxResolution\")};k.gc=function(){return this.get(\"minResolution\")};k.hc=function(){return this.get(\"opacity\")};k.Mb=function(){return this.get(\"visible\")};k.Ba=function(){return this.get(\"zIndex\")};\nk.vc=function(a){this.set(\"extent\",a)};k.Ac=function(a){this.set(\"maxResolution\",a)};k.Bc=function(a){this.set(\"minResolution\",a)};k.wc=function(a){this.set(\"opacity\",a)};k.xc=function(a){this.set(\"visible\",a)};k.Vb=function(a){this.set(\"zIndex\",a)};function uh(a){var b=a||{};a=tb({},b);delete a.layers;b=b.layers;sh.call(this,a);this.f=[];this.c={};y(this,Vc(vh),this.Hl,this);b?Array.isArray(b)?b=new Yc(b.slice(),{unique:!0}):xa(b instanceof Yc,43):b=new Yc(void 0,{unique:!0});this.xi(b)}v(uh,sh);k=uh.prototype;k.Fd=function(){};k.Fe=function(){this.Mb()&&this.s()};\nk.Hl=function(){this.f.forEach(Ec);this.f.length=0;var a=this.qd();this.f.push(y(a,\"add\",this.Gl,this),y(a,\"remove\",this.Il,this));for(var b in this.c)this.c[b].forEach(Ec);ub(this.c);var a=a.a,c;b=0;for(c=a.length;b=a.minResolution&&bp[2])m=[r+q*Math.ceil((p[0]-r)/q),a[1]]}p=b.layerStatesArray;for(q=p.length-1;0<=q;--q){var u=p[q],r=u.layer;if(xh(u,n)&&f.call(g,r)&&(u=Ph(this,r),r.ha()&&(l=u.Ea(r.ha().u?m:a,b,c,h,e)),l))return l}};\nk.Ei=function(a,b,c,d,e){return void 0!==this.Ea(a,b,c,mf,this,d,e)};function Ph(a,b){var c=w(b).toString();if(c in a.c)return a.c[c];b=b.Fd(a);a.c[c]=b;a.v[c]=y(b,\"change\",a.Fl,a);return b}k.Fl=function(){this.o.render()};k.Jg=ua;k.Rp=function(a,b){for(var c in this.c)if(!(b&&c in b.layerStates)){a=c;var d=this.c[a];delete this.c[a];Ec(this.v[a]);delete this.v[a];Nc(d)}};function Qh(a,b){for(var c in a.c)if(!(c in b.layerStates)){b.postRenderFunctions.push(a.Rp.bind(a));break}}\nfunction ra(a,b){return a.zIndex-b.zIndex};function Rh(a,b,c,d,e){Oc.call(this,a);this.vectorContext=b;this.frameState=c;this.context=d;this.glContext=e}v(Rh,Oc);var Sh=[0,0,0,1],Th=[],Uh=[0,0,0,1];function Vh(a,b,c,d){b&&(a.translate(c,d),a.rotate(b),a.translate(-c,-d))};function Wh(){}k=Wh.prototype;k.zb=function(){};k.rd=function(){};k.Zb=function(){};k.te=function(){};k.ue=function(){};k.mc=function(){};k.nc=function(){};k.oc=function(){};k.pc=function(){};k.qc=function(){};k.rc=function(){};k.yc=function(){};k.Ma=function(){};k.Ub=function(){};k.Cb=function(){};function Xh(a,b,c,d,e){this.i=a;this.u=b;this.c=c;this.S=d;this.Yb=e;this.M=this.b=this.a=this.Ua=this.R=this.I=null;this.na=this.T=this.l=this.B=this.C=this.D=0;this.fa=!1;this.f=this.fb=0;this.pa=!1;this.oa=0;this.Ia=\"\";this.va=this.Jb=0;this.Sa=!1;this.j=this.$a=0;this.ra=this.o=this.g=null;this.v=[];this.xb=Bh()}v(Xh,Wh);\nfunction Yh(a,b,c){if(a.M){b=pf(b,0,c,2,a.S,a.v);c=a.i;var d=a.xb,e=c.globalAlpha;1!=a.l&&(c.globalAlpha=e*a.l);var f=a.fb;a.fa&&(f+=a.Yb);var g;var h=0;for(g=b.length;hradius+c){if(o.a==0.0){gl_FragColor=n;}else{gl_FragColor=o;}gl_FragColor.a=gl_FragColor.a-(dist-(radius+c));}else if(n.a==0.0){gl_FragColor=o;if(diststrokeDist){gl_FragColor=o;}else if(dist>=strokeDist-antialias){float step=smoothstep(strokeDist-antialias,strokeDist,dist);gl_FragColor=mix(n,o,step);}} gl_FragColor.a=gl_FragColor.a*m;if(gl_FragColor.a<=0.0){discard;}}\"}\nv(oi,mi);var pi=new oi;\nfunction qi(){this.b=\"varying vec2 a;varying vec2 b;varying float c;varying float d;attribute vec2 e;attribute float f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;uniform float k;uniform float l;void main(void){mat4 offsetMatrix=i*j;a=vec4(h*vec4(e,0.0,1.0)).xy;d=l;float lineWidth=k*l;c=lineWidth/2.0;if(lineWidth==0.0){lineWidth=2.0*l;}vec2 offset;float radius=g+3.0*l;if(f==0.0){offset=vec2(-1.0,1.0);}else if(f==1.0){offset=vec2(-1.0,-1.0);}else if(f==2.0){offset=vec2(1.0,-1.0);}else{offset=vec2(1.0,1.0);}gl_Position=h*vec4(e+offset*radius,0.0,1.0)+offsetMatrix*vec4(offset*lineWidth,0.0,0.0);b=vec4(h*vec4(e.x+g,e.y,0.0,1.0)).xy;if(distance(a,b)>20000.0){gl_Position=vec4(a,0.0,1.0);}}\"}\nv(qi,ni);var ri=new qi;function si(a,b){this.B=a.getUniformLocation(b,\"n\");this.oa=a.getUniformLocation(b,\"k\");this.c=a.getUniformLocation(b,\"j\");this.f=a.getUniformLocation(b,\"i\");this.a=a.getUniformLocation(b,\"m\");this.ra=a.getUniformLocation(b,\"l\");this.i=a.getUniformLocation(b,\"h\");this.I=a.getUniformLocation(b,\"p\");this.R=a.getUniformLocation(b,\"o\");this.j=a.getAttribLocation(b,\"f\");this.b=a.getAttribLocation(b,\"e\");this.S=a.getAttribLocation(b,\"g\")};function ti(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function ui(a,b){a[0]=b[0];a[1]=b[1];a[4]=b[2];a[5]=b[3];a[12]=b[4];a[13]=b[5];return a};function vi(a,b){this.origin=nb(b);this.xb=Bh();this.Sa=Bh();this.$a=Bh();this.Jb=ti();this.b=[];this.o=null;this.i=[];this.f=[];this.a=[];this.l=null;this.g=void 0}v(vi,Wh);\nvi.prototype.La=function(a,b,c,d,e,f,g,h,l,m,n){var p=a.b;if(this.g){var q=p.isEnabled(p.STENCIL_TEST);var r=p.getParameter(p.STENCIL_FUNC);var u=p.getParameter(p.STENCIL_VALUE_MASK);var x=p.getParameter(p.STENCIL_REF);var B=p.getParameter(p.STENCIL_WRITEMASK);var E=p.getParameter(p.STENCIL_FAIL);var A=p.getParameter(p.STENCIL_PASS_DEPTH_PASS);var L=p.getParameter(p.STENCIL_PASS_DEPTH_FAIL);p.enable(p.STENCIL_TEST);p.clear(p.STENCIL_BUFFER_BIT);p.stencilMask(255);p.stencilFunc(p.ALWAYS,1,255);p.stencilOp(p.KEEP,\np.KEEP,p.REPLACE);this.g.La(a,b,c,d,e,f,g,h,l,m,n);p.stencilMask(0);p.stencilFunc(p.NOTEQUAL,1,255)}wi(a,34962,this.l);wi(a,34963,this.o);f=this.rf(p,a,e,f);var oa=Ch(this.xb);Ih(oa,2/(c*e[0]),2/(c*e[1]));Hh(oa,-d);Jh(oa,-(b[0]-this.origin[0]),-(b[1]-this.origin[1]));b=Ch(this.$a);Ih(b,2/e[0],2/e[1]);e=Ch(this.Sa);d&&Hh(e,-d);p.uniformMatrix4fv(f.i,!1,ui(this.Jb,oa));p.uniformMatrix4fv(f.f,!1,ui(this.Jb,b));p.uniformMatrix4fv(f.c,!1,ui(this.Jb,e));p.uniform1f(f.a,g);if(l){m?a=this.ve(p,a,h,l,n):(p.clear(p.COLOR_BUFFER_BIT|\np.DEPTH_BUFFER_BIT),this.Od(p,a,h,!0),a=(a=l(null))?a:void 0);var ha=a}else this.Od(p,a,h,!1);this.sf(p,f);this.g&&(q||p.disable(p.STENCIL_TEST),p.clear(p.STENCIL_BUFFER_BIT),p.stencilFunc(r,x,u),p.stencilMask(B),p.stencilOp(E,L,A));return ha};function xi(a,b,c,d){a.drawElements(4,d-c,b.g?5125:5123,c*(b.g?4:2))};var yi=[0,0,0,1],zi=[],Ai=[0,0,0,1];function Bi(a,b,c,d,e,f){a=(c-a)*(f-b)-(e-a)*(d-b);return a<=Ci&&a>=-Ci?void 0:0f;f+=d)this.a[b++]=a[f],this.a[b++]=a[f+1],this.a[b++]=0,this.a[b++]=this.S,this.a[b++]=a[f],this.a[b++]=a[f+1],this.a[b++]=1,this.a[b++]=this.S,this.a[b++]=a[f],this.a[b++]=a[f+1],this.a[b++]=2,this.a[b++]=this.S,this.a[b++]=a[f],this.a[b++]=\na[f+1],this.a[b++]=3,this.a[b++]=this.S,this.b[c++]=e,this.b[c++]=e+1,this.b[c++]=e+2,this.b[c++]=e+2,this.b[c++]=e+3,this.b[c++]=e,e+=4}else this.c.s&&(this.j.pop(),this.j.length&&(d=this.j[this.j.length-1],this.c.fillColor=d[0],this.c.strokeColor=d[1],this.c.lineWidth=d[2],this.c.s=!1))};k.Db=function(){this.l=new Di(this.a);this.o=new Di(this.b);this.i.push(this.b.length);!this.u.length&&0=h;){var l=this.i[g];var m=this.f[g];m=w(m).toString();c[m]&&(d!==f&&xi(a,b,d,f),f=l);g--;d=l}d!==f&&xi(a,b,d,f);d=f=h}}};\nk.ve=function(a,b,c,d,e){var f,g;var h=this.i.length-2;var l=this.i[h+1];for(f=this.u.length-1;0<=f;--f){var m=this.j[f];a.uniform4fv(this.v.B,m[0]);Ii(this,a,m[1],m[2]);for(g=this.u[f];0<=h&&this.i[h]>=g;){m=this.i[h];var n=this.f[h];var p=w(n).toString();if(void 0===c[p]&&n.V()&&(void 0===e||qb(e,n.V().G()))&&(a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT),xi(a,b,m,l),l=d(n)))return l;h--;l=m}}};function Ii(a,b,c,d){b.uniform4fv(a.v.R,c);b.uniform1f(a.v.oa,d)}\nk.Ma=function(a,b){if(b){var c=b.i;this.c.lineDash=c?c:zi;c=b.g;this.c.lineDashOffset=c?c:0;c=b.a;c instanceof CanvasGradient||c instanceof CanvasPattern?c=Ai:c=ed(c).map(function(a,b){return 3!=b?a/255:a})||Ai;b=b.c;b=void 0!==b?b:1}else c=[0,0,0,0],b=0;a=a?a.b:[0,0,0,0];a instanceof CanvasGradient||a instanceof CanvasPattern?a=yi:a=ed(a).map(function(a,b){return 3!=b?a/255:a})||yi;this.c.strokeColor&&pa(this.c.strokeColor,c)&&this.c.fillColor&&pa(this.c.fillColor,a)&&this.c.lineWidth===b||(this.c.s=\n!0,this.c.fillColor=a,this.c.strokeColor=c,this.c.lineWidth=b,this.j.push([a,c,b]))};function Ji(){this.b=\"precision mediump float;varying vec2 a;varying float b;uniform float k;uniform sampler2D l;void main(void){vec4 texColor=texture2D(l,a);gl_FragColor.rgb=texColor.rgb;float alpha=texColor.a*b*k;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}\"}v(Ji,mi);var Ki=new Ji;\nfunction Li(){this.b=\"varying vec2 a;varying float b;attribute vec2 c;attribute vec2 d;attribute vec2 e;attribute float f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;void main(void){mat4 offsetMatrix=i;if(g==1.0){offsetMatrix=i*j;}vec4 offsets=offsetMatrix*vec4(e,0.0,0.0);gl_Position=h*vec4(c,0.0,1.0)+offsets;a=d;b=f;}\"}v(Li,ni);var Mi=new Li;\nfunction Ni(a,b){this.c=a.getUniformLocation(b,\"j\");this.f=a.getUniformLocation(b,\"i\");this.a=a.getUniformLocation(b,\"k\");this.i=a.getUniformLocation(b,\"h\");this.v=a.getAttribLocation(b,\"e\");this.u=a.getAttribLocation(b,\"f\");this.b=a.getAttribLocation(b,\"c\");this.D=a.getAttribLocation(b,\"g\");this.C=a.getAttribLocation(b,\"d\")};function Oi(a,b){this.j=a;this.b=b;this.a={};this.c={};this.i={};this.l=this.v=this.f=this.o=null;(this.g=ja(fa,\"OES_element_index_uint\"))&&b.getExtension(\"OES_element_index_uint\");y(this.j,\"webglcontextlost\",this.Xo,this);y(this.j,\"webglcontextrestored\",this.Yo,this)}v(Oi,Mc);\nfunction wi(a,b,c){var d=a.b,e=c.b,f=String(w(c));if(f in a.a)d.bindBuffer(b,a.a[f].buffer);else{var g=d.createBuffer();d.bindBuffer(b,g);var h;34962==b?h=new Float32Array(e):34963==b&&(h=a.g?new Uint32Array(e):new Uint16Array(e));d.bufferData(b,h,c.a);a.a[f]={lc:c,buffer:g}}}function Gi(a,b){var c=a.b;b=String(w(b));var d=a.a[b];c.isContextLost()||c.deleteBuffer(d.buffer);delete a.a[b]}k=Oi.prototype;\nk.ka=function(){Lc(this.j);var a=this.b;if(!a.isContextLost()){for(var b in this.a)a.deleteBuffer(this.a[b].buffer);for(b in this.i)a.deleteProgram(this.i[b]);for(b in this.c)a.deleteShader(this.c[b]);a.deleteFramebuffer(this.f);a.deleteRenderbuffer(this.l);a.deleteTexture(this.v)}};k.Wo=function(){return this.b};\nfunction Pi(a){if(!a.f){var b=a.b,c=b.createFramebuffer();b.bindFramebuffer(b.FRAMEBUFFER,c);var d=Qi(b,1,1),e=b.createRenderbuffer();b.bindRenderbuffer(b.RENDERBUFFER,e);b.renderbufferStorage(b.RENDERBUFFER,b.DEPTH_COMPONENT16,1,1);b.framebufferTexture2D(b.FRAMEBUFFER,b.COLOR_ATTACHMENT0,b.TEXTURE_2D,d,0);b.framebufferRenderbuffer(b.FRAMEBUFFER,b.DEPTH_ATTACHMENT,b.RENDERBUFFER,e);b.bindTexture(b.TEXTURE_2D,null);b.bindRenderbuffer(b.RENDERBUFFER,null);b.bindFramebuffer(b.FRAMEBUFFER,null);a.f=c;\na.v=d;a.l=e}return a.f}function Ri(a,b){var c=String(w(b));if(c in a.c)return a.c[c];var d=a.b,e=d.createShader(b.U());d.shaderSource(e,b.b);d.compileShader(e);return a.c[c]=e}function Hi(a,b,c){var d=w(b)+\"/\"+w(c);if(d in a.i)return a.i[d];var e=a.b,f=e.createProgram();e.attachShader(f,Ri(a,b));e.attachShader(f,Ri(a,c));e.linkProgram(f);return a.i[d]=f}k.Xo=function(){ub(this.a);ub(this.c);ub(this.i);this.l=this.v=this.f=this.o=null};k.Yo=function(){};\nk.Qc=function(a){if(a==this.o)return!1;this.b.useProgram(a);this.o=a;return!0};function Si(a,b,c){var d=a.createTexture();a.bindTexture(a.TEXTURE_2D,d);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR);void 0!==b&&a.texParameteri(3553,10242,b);void 0!==c&&a.texParameteri(3553,10243,c);return d}function Qi(a,b,c){var d=Si(a,void 0,void 0);a.texImage2D(a.TEXTURE_2D,0,a.RGBA,b,c,0,a.RGBA,a.UNSIGNED_BYTE,null);return d}\nfunction Ti(a,b){var c=Si(a,33071,33071);a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,b);return c};function Ui(a,b){vi.call(this,0,b);this.C=this.D=void 0;this.S=[];this.v=[];this.oa=void 0;this.j=[];this.c=[];this.I=this.ra=void 0;this.B=null;this.fb=this.fa=this.na=this.T=this.Ua=this.R=void 0;this.va=[];this.u=[];this.pa=void 0}v(Ui,vi);k=Ui.prototype;k.Eb=function(a){var b=this.l,c=this.o,d=this.va,e=this.u,f=a.b;return function(){if(!f.isContextLost()){var g;var h=0;for(g=d.length;h=l;){var m=this.i[h];var n=this.f[h];var p=w(n).toString();if(void 0===c[p]&&n.V()&&(void 0===e||qb(e,n.V().G()))&&(a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT),xi(a,b,m,g),g=d(n)))return g;g=m;h--}}};\nk.Ub=function(a){var b=a.Hc(),c=a.Y(1),d=a.ye(),e=a.qg(1),f=a.f,g=a.Oc(),h=a.l,l=a.g,m=a.ic();a=a.a;if(this.j.length){var n=this.j[this.j.length-1];w(n)!=w(c)&&(this.S.push(this.b.length),this.j.push(c))}else this.j.push(c);this.c.length?(n=this.c[this.c.length-1],w(n)!=w(e)&&(this.v.push(this.b.length),this.c.push(e))):this.c.push(e);this.D=b[0];this.C=b[1];this.oa=m[1];this.ra=d[1];this.I=d[0];this.R=f;this.Ua=g[0];this.T=g[1];this.fa=l;this.na=h;this.fb=a;this.pa=m[0]};function Xi(a,b,c){var d=b-c;return a[0]===a[d]&&a[1]===a[d+1]&&3<(b-0)/c?!!vf(a,0,b,c):!1};function Yi(){this.b=\"precision mediump float;varying float a;varying vec2 b;varying float c;uniform float m;uniform vec4 n;uniform vec2 o;uniform float p;void main(void){if(a>0.0){vec2 windowCoords=vec2((b.x+1.0)/2.0*o.x*p,(b.y+1.0)/2.0*o.y*p);if(length(windowCoords-gl_FragCoord.xy)>c*p){discard;}} gl_FragColor=n;float alpha=n.a*m;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}\"}v(Yi,mi);var Zi=new Yi;\nfunction $i(){this.b=\"varying float a;varying vec2 b;varying float c;attribute vec2 d;attribute vec2 e;attribute vec2 f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;uniform float k;uniform float l;bool nearlyEquals(in float value,in float ref){float epsilon=0.000000000001;return value>=ref-epsilon&&value<=ref+epsilon;}void alongNormal(out vec2 offset,in vec2 nextP,in float turnDir,in float direction){vec2 dirVect=nextP-e;vec2 normal=normalize(vec2(-turnDir*dirVect.y,turnDir*dirVect.x));offset=k/2.0*normal*direction;}void miterUp(out vec2 offset,out float round,in bool isRound,in float direction){float halfWidth=k/2.0;vec2 tangent=normalize(normalize(f-e)+normalize(e-d));vec2 normal=vec2(-tangent.y,tangent.x);vec2 dirVect=f-e;vec2 tmpNormal=normalize(vec2(-dirVect.y,dirVect.x));float miterLength=abs(halfWidth/dot(normal,tmpNormal));offset=normal*direction*miterLength;round=0.0;if(isRound){round=1.0;}else if(miterLength>l+k){offset=halfWidth*tmpNormal*direction;}} bool miterDown(out vec2 offset,in vec4 projPos,in mat4 offsetMatrix,in float direction){bool degenerate=false;vec2 tangent=normalize(normalize(f-e)+normalize(e-d));vec2 normal=vec2(-tangent.y,tangent.x);vec2 dirVect=d-e;vec2 tmpNormal=normalize(vec2(-dirVect.y,dirVect.x));vec2 longOffset,shortOffset,longVertex;vec4 shortProjVertex;float halfWidth=k/2.0;if(length(f-e)>length(d-e)){longOffset=tmpNormal*direction*halfWidth;shortOffset=normalize(vec2(dirVect.y,-dirVect.x))*direction*halfWidth;longVertex=f;shortProjVertex=h*vec4(d,0.0,1.0);}else{shortOffset=tmpNormal*direction*halfWidth;longOffset=normalize(vec2(dirVect.y,-dirVect.x))*direction*halfWidth;longVertex=d;shortProjVertex=h*vec4(f,0.0,1.0);}vec4 p1=h*vec4(longVertex,0.0,1.0)+offsetMatrix*vec4(longOffset,0.0,0.0);vec4 p2=projPos+offsetMatrix*vec4(longOffset,0.0,0.0);vec4 p3=shortProjVertex+offsetMatrix*vec4(-shortOffset,0.0,0.0);vec4 p4=shortProjVertex+offsetMatrix*vec4(shortOffset,0.0,0.0);float denom=(p4.y-p3.y)*(p2.x-p1.x)-(p4.x-p3.x)*(p2.y-p1.y);float firstU=((p4.x-p3.x)*(p1.y-p3.y)-(p4.y-p3.y)*(p1.x-p3.x))/denom;float secondU=((p2.x-p1.x)*(p1.y-p3.y)-(p2.y-p1.y)*(p1.x-p3.x))/denom;float epsilon=0.000000000001;if(firstU>epsilon&&firstU<1.0-epsilon&&secondU>epsilon&&secondU<1.0-epsilon){shortProjVertex.x=p1.x+firstU*(p2.x-p1.x);shortProjVertex.y=p1.y+firstU*(p2.y-p1.y);offset=shortProjVertex.xy;degenerate=true;}else{float miterLength=abs(halfWidth/dot(normal,tmpNormal));offset=normal*direction*miterLength;}return degenerate;}void squareCap(out vec2 offset,out float round,in bool isRound,in vec2 nextP,in float turnDir,in float direction){round=0.0;vec2 dirVect=e-nextP;vec2 firstNormal=normalize(dirVect);vec2 secondNormal=vec2(turnDir*firstNormal.y*direction,-turnDir*firstNormal.x*direction);vec2 hypotenuse=normalize(firstNormal-secondNormal);vec2 normal=vec2(turnDir*hypotenuse.y*direction,-turnDir*hypotenuse.x*direction);float length=sqrt(c*c*2.0);offset=normal*length;if(isRound){round=1.0;}} void main(void){bool degenerate=false;float direction=float(sign(g));mat4 offsetMatrix=i*j;vec2 offset;vec4 projPos=h*vec4(e,0.0,1.0);bool round=nearlyEquals(mod(g,2.0),0.0);a=0.0;c=k/2.0;b=projPos.xy;if(nearlyEquals(mod(g,3.0),0.0)||nearlyEquals(mod(g,17.0),0.0)){alongNormal(offset,f,1.0,direction);}else if(nearlyEquals(mod(g,5.0),0.0)||nearlyEquals(mod(g,13.0),0.0)){alongNormal(offset,d,-1.0,direction);}else if(nearlyEquals(mod(g,23.0),0.0)){miterUp(offset,a,round,direction);}else if(nearlyEquals(mod(g,19.0),0.0)){degenerate=miterDown(offset,projPos,offsetMatrix,direction);}else if(nearlyEquals(mod(g,7.0),0.0)){squareCap(offset,a,round,f,1.0,direction);}else if(nearlyEquals(mod(g,11.0),0.0)){squareCap(offset,a,round,d,-1.0,direction);}if(!degenerate){vec4 offsets=offsetMatrix*vec4(offset,0.0,0.0);gl_Position=projPos+offsets;}else{gl_Position=vec4(offset,0.0,1.0);}}\"}\nv($i,ni);var aj=new $i;function bj(a,b){this.B=a.getUniformLocation(b,\"n\");this.oa=a.getUniformLocation(b,\"k\");this.R=a.getUniformLocation(b,\"l\");this.c=a.getUniformLocation(b,\"j\");this.f=a.getUniformLocation(b,\"i\");this.a=a.getUniformLocation(b,\"m\");this.ra=a.getUniformLocation(b,\"p\");this.i=a.getUniformLocation(b,\"h\");this.I=a.getUniformLocation(b,\"o\");this.g=a.getAttribLocation(b,\"g\");this.o=a.getAttribLocation(b,\"d\");this.l=a.getAttribLocation(b,\"f\");this.b=a.getAttribLocation(b,\"e\")};function cj(a,b){vi.call(this,0,b);this.v=null;this.u=[];this.j=[];this.c={strokeColor:null,lineCap:void 0,lineDash:null,lineDashOffset:void 0,lineJoin:void 0,lineWidth:void 0,miterLimit:void 0,s:!1}}v(cj,vi);\nfunction dj(a,b,c,d){var e,f=a.a.length,g=a.b.length,h=\"bevel\"===a.c.lineJoin?0:\"miter\"===a.c.lineJoin?1:2,l=\"butt\"===a.c.lineCap?0:\"square\"===a.c.lineCap?1:2,m=Xi(b,c,d),n=g,p=1;for(e=0;ec&&(this.i.push(c),this.f.push(b),this.c.s&&(this.j.push(c),this.c.s=!1))};\nfunction oj(a,b,c,d){Xi(b,b.length,d)||(b.push(b[0]),b.push(b[1]));dj(a,b,b.length,d);if(c.length){var e;b=0;for(e=c.length;b=n;){var p=this.i[m];\nvar q=this.f[m];q=w(q).toString();c[q]&&(g!==l&&(xi(a,b,g,l),a.clear(a.DEPTH_BUFFER_BIT)),l=p);m--;g=p}g!==l&&(xi(a,b,g,l),a.clear(a.DEPTH_BUFFER_BIT));g=l=n}}d||(a.disable(a.DEPTH_TEST),a.clear(a.DEPTH_BUFFER_BIT),a.depthMask(f),a.depthFunc(e))};\nk.ve=function(a,b,c,d,e){var f,g;var h=this.i.length-2;var l=this.i[h+1];for(f=this.j.length-1;0<=f;--f){var m=this.u[f];qj(this,a,m[0],m[1],m[2]);for(g=this.j[f];0<=h&&this.i[h]>=g;){m=this.i[h];var n=this.f[h];var p=w(n).toString();if(void 0===c[p]&&n.V()&&(void 0===e||qb(e,n.V().G()))&&(a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT),xi(a,b,m,l),l=d(n)))return l;h--;l=m}}};function qj(a,b,c,d,e){b.uniform4fv(a.v.B,c);b.uniform1f(a.v.oa,d);b.uniform1f(a.v.R,e)}\nk.Ma=function(a,b){a=b.f;this.c.lineCap=void 0!==a?a:\"round\";a=b.i;this.c.lineDash=a?a:zi;a=b.g;this.c.lineDashOffset=a?a:0;a=b.j;this.c.lineJoin=void 0!==a?a:\"round\";a=b.a;a instanceof CanvasGradient||a instanceof CanvasPattern?a=Ai:a=ed(a).map(function(a,b){return 3!=b?a/255:a})||Ai;var c=b.c,c=void 0!==c?c:1;b=b.o;b=void 0!==b?b:10;this.c.strokeColor&&pa(this.c.strokeColor,a)&&this.c.lineWidth===c&&this.c.miterLimit===b||(this.c.s=!0,this.c.strokeColor=a,this.c.lineWidth=c,this.c.miterLimit=b,\nthis.u.push([a,c,b]))};var ij=3,fj=5,hj=7,gj=11,jj=13,kj=17,lj=19,mj=23;function rj(){this.b=\"precision mediump float;uniform vec4 e;uniform float f;void main(void){gl_FragColor=e;float alpha=e.a*f;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}\"}v(rj,mi);var sj=new rj;function tj(){this.b=\"attribute vec2 a;uniform mat4 b;uniform mat4 c;uniform mat4 d;void main(void){gl_Position=b*vec4(a,0.0,1.0);}\"}v(tj,ni);var uj=new tj;\nfunction vj(a,b){this.B=a.getUniformLocation(b,\"e\");this.c=a.getUniformLocation(b,\"d\");this.f=a.getUniformLocation(b,\"c\");this.a=a.getUniformLocation(b,\"f\");this.i=a.getUniformLocation(b,\"b\");this.b=a.getAttribLocation(b,\"a\")};function wj(a){a=a||{};this.a=void 0!==a.color?a.color:null;this.f=a.lineCap;this.i=void 0!==a.lineDash?a.lineDash:null;this.g=a.lineDashOffset;this.j=a.lineJoin;this.o=a.miterLimit;this.c=a.width;this.b=void 0}k=wj.prototype;k.clone=function(){var a=this.a;return new wj({color:a&&a.slice?a.slice():a||void 0,lineCap:this.f,lineDash:this.i?this.i.slice():void 0,lineDashOffset:this.g,lineJoin:this.j,miterLimit:this.o,width:this.c})};k.No=function(){return this.a};k.Vk=function(){return this.f};\nk.Oo=function(){return this.i};k.Wk=function(){return this.g};k.Xk=function(){return this.j};k.bl=function(){return this.o};k.Po=function(){return this.c};k.Qo=function(a){this.a=a;this.b=void 0};k.aq=function(a){this.f=a;this.b=void 0};k.setLineDash=function(a){this.i=a;this.b=void 0};k.bq=function(a){this.g=a;this.b=void 0};k.cq=function(a){this.j=a;this.b=void 0};k.gq=function(a){this.o=a;this.b=void 0};k.jq=function(a){this.c=a;this.b=void 0};function xj(a){this.b=this.a=this.i=void 0;this.f=void 0===a?!0:a;this.c=0}function yj(a){var b=a.b;if(b){var c=b.next,d=b.ub;c&&(c.ub=d);d&&(d.next=c);a.b=c||d;a.i===a.a?(a.b=void 0,a.i=void 0,a.a=void 0):a.i===b?a.i=a.b:a.a===b&&(a.a=d?a.b.ub:a.b);a.c--}}function zj(a){a.b=a.i;if(a.b)return a.b.data}function Aj(a){if(a.b&&a.b.next)return a.b=a.b.next,a.b.data}function Bj(a){if(a.b&&a.b.next)return a.b.next.data}function Cj(a){if(a.b&&a.b.ub)return a.b=a.b.ub,a.b.data}\nfunction Dj(a){if(a.b&&a.b.ub)return a.b.ub.data}function Ej(a){if(a.b)return a.b.data}xj.prototype.concat=function(a){if(a.b){if(this.b){var b=this.b.next;this.b.next=a.i;a.i.ub=this.b;b.ub=a.a;a.a.next=b;this.c+=a.c}else this.b=a.b,this.i=a.i,this.a=a.a,this.c=a.c;a.b=void 0;a.i=void 0;a.a=void 0;a.c=0}};var Fj={$d:function(){}};\n(function(a){function b(a,e,f,g,h){f=f||0;g=g||a.length-1;for(h=h||d;g>f;){if(600m-l/2?-1:1);b(a,e,Math.max(f,Math.floor(e-m*p/l+n)),Math.min(g,Math.floor(e+(l-m)*p/l+n)),h)}l=a[e];m=f;p=g;c(a,f,e);for(0h(a[m],l);)m++;for(;0b?1:0}function e(a,b){if(!(this instanceof e))return new e(a,b);this.Hf=Math.max(4,a||9);this.fh=Math.max(2,Math.ceil(.4*this.Hf));b&&this.ek(b);this.clear()}function f(a,b){g(a,0,a.children.length,b,a)}function g(a,b,c,d,e){e||(e=u(null));e.ca=Infinity;e.da=Infinity;e.$=-Infinity;e.ia=-Infinity;for(var f;b=a.ca&&b.ia>=a.da}function u(a){return{children:a,height:1,ib:!0,ca:Infinity,da:Infinity,$:-Infinity,ia:-Infinity}}function x(a,b,c,d,e){for(var f=[b,c],g;f.length;)c=f.pop(),b=f.pop(),c-b<=d||(g=b+Math.ceil((c-b)/d/2)*d,B(a,g,b,c,e),f.push(b,g,\ng,c))}var B=b;e.prototype={all:function(){return this.$g(this.data,[])},search:function(a){var b=this.data,c=[],d=this.wb;if(!r(a,b))return c;for(var e=[],f,g,h,l;b;){f=0;for(g=b.children.length;fthis.Hf)this.jk(d,b),b--;else break;this.Zj(c,d,b)},jk:function(a,b){var c=a[b],d=c.children.length,e=this.fh;this.$j(c,e,d);d=this.ak(c,e,d);d=u(c.children.splice(d,c.children.length-d));d.height=c.height;d.ib=c.ib;f(c,this.wb);f(d,this.wb);\nb?a[b-1].children.push(d):this.hh(c,d)},hh:function(a,b){this.data=u([a,b]);this.data.height=a.height+1;this.data.ib=!1;f(this.data,this.wb)},ak:function(a,b,c){var d,e;var f=e=Infinity;for(d=b;d<=c-b;d++){var h=g(a,0,d,this.wb);var l=g(a,d,c,this.wb);var m=Math.max(0,Math.min(h.$,l.$)-Math.max(h.ca,l.ca))*Math.max(0,Math.min(h.ia,l.ia)-Math.max(h.da,l.da));h=n(h)+n(l);if(m=b;m--)n=a.children[m],h(f,a.ib?d(n):n),l+=p(f);return l},Zj:function(a,b,c){for(;0<=c;c--)h(b[c],a)},ck:function(a){for(var b=a.length-1,c;0<=b;b--)0===a[b].children.length?0f&&(f=b[r],q=b[r+1]);p=u}}else for(r=b.length-c,p=l=Tj(a,b[r],b[r+1],h++),f=b[r],q=b[r+1],r-=c,g=0;r>=g;r-=c)u=Tj(a,b[r],b[r+1],h++),n.push(Uj(p,u,d)),m.push([Math.min(p.x,u.x),Math.min(p.y,u.y),Math.max(p.x,\nu.x),Math.max(p.y,u.y)]),b[r]>f&&(f=b[r],q=b[r+1]),p=u;n.push(Uj(u,l,d));m.push([Math.min(p.x,u.x),Math.min(p.y,u.y),Math.max(p.x,u.x),Math.max(p.y,u.y)]);e.load(m,n);return[f,q]}function Qj(a,b,c){var d=zj(a),e=d,f=Aj(a),g=!1;do{var h=c?Bi(f.W.x,f.W.y,e.W.x,e.W.y,e.aa.x,e.aa.y):Bi(e.aa.x,e.aa.y,e.W.x,e.W.y,f.W.x,f.W.y);void 0===h?(Vj(e,f,a,b),g=!0,f===d&&(d=Bj(a)),f=e,Cj(a)):e.W.Fb!==h&&(e.W.Fb=h,g=!0);e=f;f=Aj(a)}while(e!==d);return g}\nfunction Rj(a,b,c,d,e){for(var f=zj(a);f.W.x!==b;)f=Aj(a);b=f.W;d={x:d,y:b.y,hb:-1};var g=Infinity,h;var l=Pj({aa:b,W:d},e,!0);var m=0;for(h=l.length;mCi&&d<1-Ci&&c>Ci&&c<1-Ci||e&&0<=d&&1>=d&&0<=c&&1>=c))return[a.x+d*(b.x-a.x),a.y+d*(b.y-a.y)]}\nfunction bk(a,b,c,d,e){if(void 0===b.Fb||void 0===d.Fb)return!1;var f=(c.x-d.x)*(b.y-d.y)>(c.y-d.y)*(b.x-d.x);e=(e.x-d.x)*(b.y-d.y)<(e.y-d.y)*(b.x-d.x);a=(a.x-b.x)*(d.y-b.y)>(a.y-b.y)*(d.x-b.x);c=(c.x-b.x)*(d.y-b.y)<(c.y-b.y)*(d.x-b.x);b=b.Fb?c||a:c&&a;return(d.Fb?e||f:e&&f)&&b}k=Mj.prototype;\nk.pc=function(a,b){var c=a.c,d=a.qa(),e=this.b.length,f=this.g.b.length;a=a.ga();var g,h,l;var m=h=0;for(g=c.length;me&&(this.i.push(e),this.f.push(b),this.j.s&&(this.c.push(e),this.j.s=!1));this.g.b.length>f&&pj(this.g,\nb,f)};k.rc=function(a,b){var c=a.Bb(),d=a.qa();if(0=n;){var p=this.i[m];var q=this.f[m];q=w(q).toString();\nc[q]&&(g!==l&&(xi(a,b,g,l),a.clear(a.DEPTH_BUFFER_BIT)),l=p);m--;g=p}g!==l&&(xi(a,b,g,l),a.clear(a.DEPTH_BUFFER_BIT));g=l=n}}d||(a.disable(a.DEPTH_TEST),a.clear(a.DEPTH_BUFFER_BIT),a.depthMask(f),a.depthFunc(e))};\nk.ve=function(a,b,c,d,e){var f,g;var h=this.i.length-2;var l=this.i[h+1];for(f=this.c.length-1;0<=f;--f){var m=this.u[f];a.uniform4fv(this.v.B,m);for(g=this.c[f];0<=h&&this.i[h]>=g;){m=this.i[h];var n=this.f[h];var p=w(n).toString();if(void 0===c[p]&&n.V()&&(void 0===e||qb(e,n.V().G()))&&(a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT),xi(a,b,m,l),l=d(n)))return l;h--;l=m}}};\nk.Ma=function(a,b){a=a?a.b:[0,0,0,0];a instanceof CanvasGradient||a instanceof CanvasPattern?a=yi:a=ed(a).map(function(a,b){return 3!=b?a/255:a})||yi;this.j.fillColor&&pa(a,this.j.fillColor)||(this.j.fillColor=a,this.j.s=!0,this.u.push(a));b?this.g.Ma(null,b):this.g.Ma(null,new wj({color:[0,0,0,0],lineWidth:0}))};function ck(){}ck.prototype.La=function(){};function dk(a,b,c){this.f=b;this.g=a;this.c=c;this.a={}}v(dk,ki);function ek(a,b){var c=[],d;for(d in a.a){var e=a.a[d],f;for(f in e)c.push(e[f].Eb(b))}return function(){for(var a=c.length,b,d=0;dd?b[0]=d-c:0>e&&(b[0]=Math.abs(e)+c),0>f?b[1]=f-c:0>g&&(b[1]=Math.abs(g)+c),0===b[0]&&0===b[1])||\n(c=a.Z().wa(),c=a.Ja(c),b=[c[0]+b[0],c[1]+b[1]],a.Z().animate({center:a.Wa(b),duration:this.j.duration,easing:this.j.easing}))}}};k.Ql=function(){yk(this)};k.lj=function(a){this.set(tk,a)};k.setMap=function(a){this.set(uk,a)};k.rj=function(a){this.set(vk,a)};k.Ne=function(a){this.set(wk,a)};function zk(a,b){var c=a.getBoundingClientRect();a=c.left+window.pageXOffset;c=c.top+window.pageYOffset;return[a,c,a+b[0],c+b[1]]}k.uj=function(a){this.set(xk,a)};\nfunction Ak(a,b){a.a.visible!==b&&(a.c.style.display=b?\"\":\"none\",a.a.visible=b)}\nfunction yk(a){var b=a.Me(),c=a.Yh();if(b&&b.c&&c){var c=b.Ja(c),d=b.Ob(),b=a.c.style,e=a.Dh(),f=a.Eh();Ak(a,!0);var g=e[0],e=e[1];if(\"bottom-right\"==f||\"center-right\"==f||\"top-right\"==f)\"\"!==a.a.Ie&&(a.a.Ie=b.left=\"\"),g=Math.round(d[0]-c[0]-g)+\"px\",a.a.nf!=g&&(a.a.nf=b.right=g);else{\"\"!==a.a.nf&&(a.a.nf=b.right=\"\");if(\"bottom-center\"==f||\"center-center\"==f||\"top-center\"==f)g-=a.c.offsetWidth/2;g=Math.round(c[0]+g)+\"px\";a.a.Ie!=g&&(a.a.Ie=b.left=g)}if(\"bottom-left\"==f||\"bottom-center\"==f||\"bottom-right\"==\nf)\"\"!==a.a.vf&&(a.a.vf=b.top=\"\"),c=Math.round(d[1]-c[1]-e)+\"px\",a.a.re!=c&&(a.a.re=b.bottom=c);else{\"\"!==a.a.re&&(a.a.re=b.bottom=\"\");if(\"center-left\"==f||\"center-center\"==f||\"center-right\"==f)e-=a.c.offsetHeight/2;c=Math.round(c[1]+e)+\"px\";a.a.vf!=c&&(a.a.vf=b.top=c)}}else Ak(a,!1)}var tk=\"element\",uk=\"map\",vk=\"offset\",wk=\"position\",xk=\"positioning\";function Bk(a){function b(a){a=h.Tf(a);l.a.Z().ob(a);window.removeEventListener(\"mousemove\",c);window.removeEventListener(\"mouseup\",b)}function c(a){a=h.Tf({clientX:a.clientX-n.offsetWidth/2,clientY:a.clientY+n.offsetHeight/2});m.Ne(a)}a=a?a:{};this.j=void 0!==a.collapsed?a.collapsed:!0;this.o=void 0!==a.collapsible?a.collapsible:!0;this.o||(this.j=!1);var d=void 0!==a.className?a.className:\"ol-overviewmap\",e=void 0!==a.tipLabel?a.tipLabel:\"Overview map\",f=void 0!==a.collapseLabel?a.collapseLabel:\n\"\\u00ab\";\"string\"===typeof f?(this.u=document.createElement(\"span\"),this.u.textContent=f):this.u=f;f=void 0!==a.label?a.label:\"\\u00bb\";\"string\"===typeof f?(this.D=document.createElement(\"span\"),this.D.textContent=f):this.D=f;var g=this.o&&!this.j?this.u:this.D,f=document.createElement(\"button\");f.setAttribute(\"type\",\"button\");f.title=e;f.appendChild(g);y(f,\"click\",this.an,this);this.C=document.createElement(\"DIV\");this.C.className=\"ol-overviewmap-map\";var h=this.c=new G({controls:new Yc,interactions:new Yc,\nview:a.view});a.layers&&a.layers.forEach(function(a){h.ih(a)},this);e=document.createElement(\"DIV\");e.className=\"ol-overviewmap-box\";e.style.boxSizing=\"border-box\";this.l=new sk({position:[0,0],positioning:\"bottom-left\",element:e});this.c.jh(this.l);e=document.createElement(\"div\");e.className=d+\" ol-unselectable ol-control\"+(this.j&&this.o?\" ol-collapsed\":\"\")+(this.o?\"\":\" ol-uncollapsible\");e.appendChild(this.C);e.appendChild(f);md.call(this,{element:e,render:a.render?a.render:Ck,target:a.target});\nvar l=this,m=this.l,n=this.l.Rd();n.addEventListener(\"mousedown\",function(){window.addEventListener(\"mousemove\",c);window.addEventListener(\"mouseup\",b)})}v(Bk,md);k=Bk.prototype;k.setMap=function(a){var b=this.a;a!==b&&(b&&((b=b.Z())&&Kc(b,Vc(\"rotation\"),this.Ge,this),this.c.Le(null)),md.prototype.setMap.call(this,a),a&&(this.c.Le(this.C),this.v.push(y(a,\"propertychange\",this.Kl,this)),this.c.Xh().dc()||this.c.qj(a.Kc()),a=a.Z()))&&(y(a,Vc(\"rotation\"),this.Ge,this),jg(a)&&(this.c.Ad(),Dk(this)))};\nk.Kl=function(a){\"view\"===a.key&&((a=a.oldValue)&&Kc(a,Vc(\"rotation\"),this.Ge,this),a=this.a.Z(),y(a,Vc(\"rotation\"),this.Ge,this))};k.Ge=function(){this.c.Z().Oe(this.a.Z().Qa())};function Ck(){var a=this.a,b=this.c;if(a.c&&b.c){var c=a.Ob(),a=a.Z().dd(c),d=b.Ob(),c=b.Z().dd(d),e=b.Ja(ib(a)),f=b.Ja(gb(a)),b=Math.abs(e[0]-f[0]),e=Math.abs(e[1]-f[1]),f=d[0],d=d[1];b<.1*f||e<.1*d||b>.75*f||e>.75*d?Dk(this):Va(c,a)||(a=this.c,c=this.a.Z(),a.Z().ob(c.wa()))}Ek(this)}\nfunction Dk(a){var b=a.a;a=a.c;var c=b.Ob(),b=b.Z().dd(c);a=a.Z();rb(b,1/(.1*Math.pow(2,Math.log(7.5)/Math.LN2/2)));a.Qf(b)}function Ek(a){var b=a.a,c=a.c;if(b.c&&c.c){var d=b.Ob(),e=b.Z(),f=c.Z(),c=e.Qa(),b=a.l,g=a.l.Rd(),h=e.dd(d),d=f.Pa(),e=eb(h),f=hb(h);if(a=a.a.Z().wa()){var l=[e[0]-a[0],e[1]-a[1]];ef(l,c);Ze(l,a)}b.Ne(l);g&&(g.style.width=Math.abs((e[0]-f[0])/d)+\"px\",g.style.height=Math.abs((f[1]-e[1])/d)+\"px\")}}k.an=function(a){a.preventDefault();Fk(this)};\nfunction Fk(a){a.element.classList.toggle(\"ol-collapsed\");a.j?kd(a.u,a.D):kd(a.D,a.u);a.j=!a.j;var b=a.c;a.j||b.c||(b.Ad(),Dk(a),Jc(b,\"postrender\",function(){Ek(this)},a))}k.$m=function(){return this.o};k.cn=function(a){this.o!==a&&(this.o=a,this.element.classList.toggle(\"ol-uncollapsible\"),!a&&this.j&&Fk(this))};k.bn=function(a){this.o&&this.j!==a&&Fk(this)};k.Zm=function(){return this.j};k.gl=function(){return this.c};function Gk(a){a=a?a:{};var b=void 0!==a.className?a.className:\"ol-scale-line\";this.o=document.createElement(\"DIV\");this.o.className=b+\"-inner\";this.c=document.createElement(\"DIV\");this.c.className=b+\" ol-unselectable\";this.c.appendChild(this.o);this.u=null;this.l=void 0!==a.minWidth?a.minWidth:64;this.j=!1;this.B=void 0;this.D=\"\";md.call(this,{element:this.c,render:a.render?a.render:Hk,target:a.target});y(this,Vc(Ik),this.T,this);this.I(a.units||\"metric\")}v(Gk,md);var Jk=[1,2,5];Gk.prototype.C=function(){return this.get(Ik)};\nfunction Hk(a){(a=a.frameState)?this.u=a.viewState:this.u=null;Kk(this)}Gk.prototype.T=function(){Kk(this)};Gk.prototype.I=function(a){this.set(Ik,a)};\nfunction Kk(a){var b=a.u;if(b){var c=b.projection,d=c.sc(),b=Sb(c,b.resolution,b.center)*d,d=a.l*b,c=\"\",e=a.C();\"degrees\"==e?(c=zb.degrees,b/=c,dd?(c=\"in\",b/=.0254):1609.344>d?(c=\"ft\",b/=.3048):(c=\"mi\",b/=1609.344):\"nautical\"==e?(b/=1852,c=\"nm\"):\"metric\"==e?.001>d?(c=\"\\u03bcm\",b*=1E6):1>d?(c=\"mm\",b*=1E3):1E3>d?c=\"m\":(c=\"km\",b/=1E3):\"us\"==e?.9144>d?(c=\"in\",b*=39.37):1609.344>d?(c=\"ft\",b/=.30480061):(c=\"mi\",b/=1609.3472):\nxa(!1,33);for(var e=3*Math.floor(Math.log(a.l*b)/Math.log(10)),f;;){f=Jk[(e%3+3)%3]*Math.pow(10,Math.floor(e/3));d=Math.round(f/b);if(isNaN(d)){a.c.style.display=\"none\";a.j=!1;return}if(d>=a.l)break;++e}b=f+\" \"+c;a.D!=b&&(a.o.innerHTML=b,a.D=b);a.B!=d&&(a.o.style.width=d+\"px\",a.B=d);a.j||(a.c.style.display=\"\",a.j=!0)}else a.j&&(a.c.style.display=\"none\",a.j=!1)}var Ik=\"units\";function Lk(a){a=a?a:{};this.c=void 0;this.j=Mk;this.D=this.l=0;this.I=null;this.na=!1;this.T=void 0!==a.duration?a.duration:200;var b=void 0!==a.className?a.className:\"ol-zoomslider\",c=document.createElement(\"button\");c.setAttribute(\"type\",\"button\");c.className=b+\"-thumb ol-unselectable\";var d=document.createElement(\"div\");d.className=b+\" ol-unselectable ol-control\";d.appendChild(c);this.o=new Ae(d);y(this.o,\"pointerdown\",this.yl,this);y(this.o,\"pointermove\",this.wl,this);y(this.o,\"pointerup\",this.xl,\nthis);y(d,\"click\",this.vl,this);y(c,\"click\",Pc);md.call(this,{element:d,render:a.render?a.render:Nk})}v(Lk,md);Lk.prototype.ka=function(){Nc(this.o);md.prototype.ka.call(this)};var Mk=0;k=Lk.prototype;k.setMap=function(a){md.prototype.setMap.call(this,a);a&&a.render()};\nfunction Nk(a){if(a.frameState){if(!this.na){var b=this.element,c=b.offsetWidth,d=b.offsetHeight,e=b.firstElementChild,f=getComputedStyle(e),b=e.offsetWidth+parseFloat(f.marginRight)+parseFloat(f.marginLeft),e=e.offsetHeight+parseFloat(f.marginTop)+parseFloat(f.marginBottom);this.I=[b,e];c>d?(this.j=1,this.D=c-b):(this.j=Mk,this.l=d-e);this.na=!0}a=a.frameState.viewState.resolution;a!==this.c&&(this.c=a,Ok(this,a))}}\nk.vl=function(a){var b=this.a.Z();a=Pk(this,Ca(1===this.j?(a.offsetX-this.I[0]/2)/this.D:(a.offsetY-this.I[1]/2)/this.l,0,1));b.animate({resolution:b.constrainResolution(a),duration:this.T,easing:rd})};k.yl=function(a){this.u||a.b.target!==this.element.firstElementChild||(cg(this.a.Z(),1,1),this.C=a.clientX,this.B=a.clientY,this.u=!0)};\nk.wl=function(a){if(this.u){var b=this.element.firstElementChild;this.c=Pk(this,Ca(1===this.j?(a.clientX-this.C+parseInt(b.style.left,10))/this.D:(a.clientY-this.B+parseInt(b.style.top,10))/this.l,0,1));this.a.Z().Vc(this.c);Ok(this,this.c);this.C=a.clientX;this.B=a.clientY}};k.xl=function(){if(this.u){var a=this.a.Z();cg(a,1,-1);a.animate({resolution:a.constrainResolution(this.c),duration:this.T,easing:rd});this.u=!1;this.B=this.C=void 0}};\nfunction Ok(a,b){b=1-ig(a.a.Z())(b);var c=a.element.firstElementChild;1==a.j?c.style.left=a.D*b+\"px\":c.style.top=a.l*b+\"px\"}function Pk(a,b){return hg(a.a.Z())(1-b)};function Qk(a){a=a?a:{};this.c=a.extent?a.extent:null;var b=void 0!==a.className?a.className:\"ol-zoom-extent\",c=void 0!==a.label?a.label:\"E\",d=void 0!==a.tipLabel?a.tipLabel:\"Fit to extent\",e=document.createElement(\"button\");e.setAttribute(\"type\",\"button\");e.title=d;e.appendChild(\"string\"===typeof c?document.createTextNode(c):c);y(e,\"click\",this.j,this);c=document.createElement(\"div\");c.className=b+\" ol-unselectable ol-control\";c.appendChild(e);md.call(this,{element:c,target:a.target})}v(Qk,md);\nQk.prototype.j=function(a){a.preventDefault();a=this.a.Z();var b=this.c?this.c:a.v.G();a.Qf(b)};function Rk(a){Tc.call(this);a=a?a:{};this.a=null;y(this,Vc(Sk),this.vm,this);this.gg(void 0!==a.tracking?a.tracking:!1)}v(Rk,Tc);k=Rk.prototype;k.ka=function(){this.gg(!1);Tc.prototype.ka.call(this)};\nk.ap=function(a){if(null!==a.alpha){var b=Ha(a.alpha);this.set(Tk,b);\"boolean\"===typeof a.absolute&&a.absolute?this.set(Uk,b):\"number\"===typeof a.webkitCompassHeading&&-1!=a.webkitCompassAccuracy&&this.set(Uk,Ha(a.webkitCompassHeading))}null!==a.beta&&this.set(Vk,Ha(a.beta));null!==a.gamma&&this.set(Wk,Ha(a.gamma));this.s()};k.Fk=function(){return this.get(Tk)};k.Ik=function(){return this.get(Vk)};k.Ok=function(){return this.get(Wk)};k.um=function(){return this.get(Uk)};k.Th=function(){return this.get(Sk)};\nk.vm=function(){if(Vd){var a=this.Th();a&&!this.a?this.a=y(window,\"deviceorientation\",this.ap,this):a||null===this.a||(Ec(this.a),this.a=null)}};k.gg=function(a){this.set(Sk,a)};var Tk=\"alpha\",Vk=\"beta\",Wk=\"gamma\",Uk=\"heading\",Sk=\"tracking\";function Xk(a){this.f=a.opacity;this.l=a.rotateWithView;this.g=a.rotation;this.a=a.scale;this.v=a.snapToPixel}k=Xk.prototype;k.Ze=function(){return this.f};k.$e=function(){return this.l};k.af=function(){return this.g};k.bf=function(){return this.a};k.Ae=function(){return this.v};k.td=function(a){this.f=a};k.cf=function(a){this.g=a};k.ud=function(a){this.a=a};function Yk(a){this.D=this.u=this.c=null;this.Va=void 0!==a.fill?a.fill:null;this.oa=[0,0];this.o=a.points;this.b=void 0!==a.radius?a.radius:a.radius1;this.i=a.radius2;this.j=void 0!==a.angle?a.angle:0;this.Ya=void 0!==a.stroke?a.stroke:null;this.B=this.ra=this.C=null;this.S=a.atlasManager;Zk(this,this.S);Xk.call(this,{opacity:1,rotateWithView:void 0!==a.rotateWithView?a.rotateWithView:!1,rotation:void 0!==a.rotation?a.rotation:0,scale:1,snapToPixel:void 0!==a.snapToPixel?a.snapToPixel:!0})}\nv(Yk,Xk);k=Yk.prototype;k.clone=function(){var a=new Yk({fill:this.Fa()?this.Fa().clone():void 0,points:this.o,radius:this.b,radius2:this.i,angle:this.j,snapToPixel:this.v,stroke:this.Ga()?this.Ga().clone():void 0,rotation:this.g,rotateWithView:this.l,atlasManager:this.S});a.td(this.f);a.ud(this.a);return a};k.Hc=function(){return this.C};k.Pi=function(){return this.j};k.Fa=function(){return this.Va};k.qg=function(){return this.D};k.Y=function(){return this.u};k.ye=function(){return this.B};\nk.Ye=function(){return 2};k.Oc=function(){return this.oa};k.Qi=function(){return this.o};k.Ri=function(){return this.b};k.Fh=function(){return this.i};k.ic=function(){return this.ra};k.Ga=function(){return this.Ya};k.Nh=function(){};k.load=function(){};k.Bj=function(){};\nfunction Zk(a,b){var c=\"\",d=\"\",e=0,f=null,g=0;if(a.Ya){var h=a.Ya.a;null===h&&(h=Uh);h=id(h);g=a.Ya.c;void 0===g&&(g=1);f=a.Ya.i;Td||(f=null);d=a.Ya.j;void 0===d&&(d=\"round\");c=a.Ya.f;void 0===c&&(c=\"round\");e=a.Ya.o;void 0===e&&(e=10)}var l=2*(a.b+g)+1,c={strokeStyle:h,zj:g,size:l,lineCap:c,lineDash:f,lineJoin:d,miterLimit:e};if(void 0===b){var m=jd(l,l);a.u=m.canvas;b=l=a.u.width;a.rh(c,m,0,0);a.Va?a.D=a.u:(m=jd(c.size,c.size),a.D=m.canvas,a.qh(c,m,0,0))}else l=Math.round(l),(d=!a.Va)&&(m=a.qh.bind(a,\nc)),a.Ya?(e=a.Ya,void 0===e.b&&(e.b=\"s\",e.b=e.a?\"string\"===typeof e.a?e.b+e.a:e.b+w(e.a).toString():e.b+\"-\",e.b+=\",\"+(void 0!==e.f?e.f.toString():\"-\")+\",\"+(e.i?e.i.toString():\"-\")+\",\"+(void 0!==e.g?e.g:\"-\")+\",\"+(void 0!==e.j?e.j:\"-\")+\",\"+(void 0!==e.o?e.o.toString():\"-\")+\",\"+(void 0!==e.c?e.c.toString():\"-\")),e=e.b):e=\"-\",a.Va?(f=a.Va,void 0===f.a&&(f.a=f.b instanceof CanvasPattern||f.b instanceof CanvasGradient?w(f.b).toString():\"f\"+(f.b?gd(f.b):\"-\")),f=f.a):f=\"-\",a.c&&e==a.c[1]&&f==a.c[2]&&a.b==\na.c[3]&&a.i==a.c[4]&&a.j==a.c[5]&&a.o==a.c[6]||(a.c=[\"r\"+e+f+(void 0!==a.b?a.b.toString():\"-\")+(void 0!==a.i?a.i.toString():\"-\")+(void 0!==a.j?a.j.toString():\"-\")+(void 0!==a.o?a.o.toString():\"-\"),e,f,a.b,a.i,a.j,a.o]),m=b.add(a.c[0],l,l,a.rh.bind(a,c),m),a.u=m.image,a.oa=[m.offsetX,m.offsetY],b=m.image.width,a.D=d?m.Zl:a.u;a.C=[l/2,l/2];a.ra=[l,l];a.B=[b,b]}\nk.rh=function(a,b,c,d){b.setTransform(1,0,0,1,0,0);b.translate(c,d);b.beginPath();var e=this.o;if(Infinity===e)b.arc(a.size/2,a.size/2,this.b,0,2*Math.PI,!0);else{var f=void 0!==this.i?this.i:this.b;f!==this.b&&(e*=2);for(c=0;c<=e;c++){d=2*c*Math.PI/e-Math.PI/2+this.j;var g=c%2?f:this.b;b.lineTo(a.size/2+g*Math.cos(d),a.size/2+g*Math.sin(d))}}this.Va&&(c=this.Va.b,null===c&&(c=Sh),b.fillStyle=id(c),b.fill());this.Ya&&(b.strokeStyle=a.strokeStyle,b.lineWidth=a.zj,a.lineDash&&b.setLineDash(a.lineDash),\nb.lineCap=a.lineCap,b.lineJoin=a.lineJoin,b.miterLimit=a.miterLimit,b.stroke());b.closePath()};\nk.qh=function(a,b,c,d){b.setTransform(1,0,0,1,0,0);b.translate(c,d);b.beginPath();c=this.o;if(Infinity===c)b.arc(a.size/2,a.size/2,this.b,0,2*Math.PI,!0);else{d=void 0!==this.i?this.i:this.b;d!==this.b&&(c*=2);var e;for(e=0;e<=c;e++){var f=2*e*Math.PI/c-Math.PI/2+this.j;var g=e%2?d:this.b;b.lineTo(a.size/2+g*Math.cos(f),a.size/2+g*Math.sin(f))}}b.fillStyle=Sh;b.fill();this.Ya&&(b.strokeStyle=a.strokeStyle,b.lineWidth=a.zj,a.lineDash&&b.setLineDash(a.lineDash),b.stroke());b.closePath()};function $k(a){a=a||{};Yk.call(this,{points:Infinity,fill:a.fill,radius:a.radius,snapToPixel:a.snapToPixel,stroke:a.stroke,atlasManager:a.atlasManager})}v($k,Yk);$k.prototype.clone=function(){var a=new $k({fill:this.Fa()?this.Fa().clone():void 0,stroke:this.Ga()?this.Ga().clone():void 0,radius:this.b,snapToPixel:this.v,atlasManager:this.S});a.td(this.f);a.ud(this.a);return a};$k.prototype.Uc=function(a){this.b=a;Zk(this,this.S)};function al(a){a=a||{};this.b=void 0!==a.color?a.color:null;this.a=void 0}al.prototype.clone=function(){var a=this.b;return new al({color:a&&a.slice?a.slice():a||void 0})};al.prototype.i=function(){return this.b};al.prototype.c=function(a){this.b=a;this.a=void 0};function bl(a){a=a||{};this.Gc=null;this.Za=cl;void 0!==a.geometry&&this.Ra(a.geometry);this.Va=void 0!==a.fill?a.fill:null;this.M=void 0!==a.image?a.image:null;this.Ya=void 0!==a.stroke?a.stroke:null;this.Ia=void 0!==a.text?a.text:null;this.Fj=a.zIndex}k=bl.prototype;\nk.clone=function(){var a=this.V();a&&a.clone&&(a=a.clone());return new bl({geometry:a,fill:this.Fa()?this.Fa().clone():void 0,image:this.Y()?this.Y().clone():void 0,stroke:this.Ga()?this.Ga().clone():void 0,text:this.Na()?this.Na().clone():void 0,zIndex:this.Ba()})};k.V=function(){return this.Gc};k.Pk=function(){return this.Za};k.Fa=function(){return this.Va};k.pf=function(a){this.Va=a};k.Y=function(){return this.M};k.Og=function(a){this.M=a};k.Ga=function(){return this.Ya};\nk.qf=function(a){this.Ya=a};k.Na=function(){return this.Ia};k.xd=function(a){this.Ia=a};k.Ba=function(){return this.Fj};k.Ra=function(a){\"function\"===typeof a?this.Za=a:\"string\"===typeof a?this.Za=function(b){return b.get(a)}:a?a&&(this.Za=function(){return a}):this.Za=cl;this.Gc=a};k.Vb=function(a){this.Fj=a};function dl(a){if(\"function\"!==typeof a){if(Array.isArray(a))var b=a;else xa(a instanceof bl,41),b=[a];a=function(){return b}}return a}var el=null;\nfunction fl(){if(!el){var a=new al({color:\"rgba(255,255,255,0.4)\"}),b=new wj({color:\"#3399CC\",width:1.25});el=[new bl({image:new $k({fill:a,stroke:b,radius:5}),fill:a,stroke:b})]}return el}\nfunction gl(){var a={},b=[255,255,255,1],c=[0,153,255,1];a.Polygon=[new bl({fill:new al({color:[255,255,255,.5]})})];a.MultiPolygon=a.Polygon;a.LineString=[new bl({stroke:new wj({color:b,width:5})}),new bl({stroke:new wj({color:c,width:3})})];a.MultiLineString=a.LineString;a.Circle=a.Polygon.concat(a.LineString);a.Point=[new bl({image:new $k({radius:6,fill:new al({color:c}),stroke:new wj({color:b,width:1.5})}),zIndex:Infinity})];a.MultiPoint=a.Point;a.GeometryCollection=a.Polygon.concat(a.LineString,\na.Point);return a}function cl(a){return a.V()};function H(a){Tc.call(this);this.a=void 0;this.c=\"geometry\";this.g=null;this.j=void 0;this.f=null;y(this,Vc(this.c),this.Ee,this);void 0!==a&&(a instanceof of||!a?this.Ra(a):this.H(a))}v(H,Tc);k=H.prototype;k.clone=function(){var a=new H(this.N());a.Tc(this.c);var b=this.V();b&&a.Ra(b.clone());(b=this.g)&&a.hg(b);return a};k.V=function(){return this.get(this.c)};k.wm=function(){return this.a};k.Qk=function(){return this.c};k.xm=function(){return this.g};k.Lc=function(){return this.j};k.Al=function(){this.s()};\nk.Ee=function(){this.f&&(Ec(this.f),this.f=null);var a=this.V();a&&(this.f=y(a,\"change\",this.Al,this));this.s()};k.Ra=function(a){this.set(this.c,a)};k.hg=function(a){this.j=(this.g=a)?hl(a):void 0;this.s()};k.jc=function(a){this.a=a;this.s()};k.Tc=function(a){Kc(this,Vc(this.c),this.Ee,this);this.c=a;y(this,Vc(this.c),this.Ee,this);this.Ee()};\nfunction hl(a){var b;if(\"function\"===typeof a)2==a.length?b=function(b){return a(this,b)}:b=a;else{if(Array.isArray(a))var c=a;else xa(a instanceof bl,41),c=[a];b=function(){return c}}return b};var il=document.implementation.createDocument(\"\",\"\",null);function jl(a,b){return il.createElementNS(a,b)}function kl(a,b){return ll(a,b,[]).join(\"\")}function ll(a,b,c){if(a.nodeType==Node.CDATA_SECTION_NODE||a.nodeType==Node.TEXT_NODE)b?c.push(String(a.nodeValue).replace(/(\\r\\n|\\r|\\n)/g,\"\")):c.push(a.nodeValue);else for(a=a.firstChild;a;a=a.nextSibling)ll(a,b,c);return c}function ml(a){return a instanceof Document}function nl(a){return a instanceof Node}\nfunction pl(a){return(new DOMParser).parseFromString(a,\"application/xml\")}function ql(a,b){return function(c,d){c=a.call(b,c,d);void 0!==c&&la(d[d.length-1],c)}}function rl(a,b){return function(c,d){c=a.call(void 0!==b?b:this,c,d);void 0!==c&&d[d.length-1].push(c)}}function sl(a,b){return function(c,d){c=a.call(void 0!==b?b:this,c,d);void 0!==c&&(d[d.length-1]=c)}}\nfunction tl(a){return function(b,c){var d=a.call(this,b,c);if(void 0!==d){c=c[c.length-1];b=b.localName;var e;b in c?e=c[b]:e=c[b]=[];e.push(d)}}}function I(a,b){return function(c,d){var e=a.call(this,c,d);void 0!==e&&(d[d.length-1][void 0!==b?b:c.localName]=e)}}function J(a,b){return function(c,d,e){a.call(void 0!==b?b:this,c,d,e);e[e.length-1].node.appendChild(c)}}\nfunction vl(a){var b,c;return function(d,e,f){if(!b){b={};var g={};g[d.localName]=a;b[d.namespaceURI]=g;c=wl(d.localName)}xl(b,c,e,f)}}function wl(a,b){return function(c,d,e){c=d[d.length-1].node;d=a;void 0===d&&(d=e);e=b;void 0===b&&(e=c.namespaceURI);return jl(e,d)}}var yl=wl();function zl(a,b){for(var c=b.length,d=Array(c),e=0;eh.status){var a=b.U();if(\"json\"==a||\"text\"==a)var e=h.responseText;else\"xml\"==a?(e=h.responseXML)||(e=pl(h.responseText)):\"arraybuffer\"==a&&(e=h.response);e?c.call(this,b.Oa(e,{featureProjection:g}),b.kb(e)):d.call(this)}else d.call(this)}.bind(this);h.onerror=function(){d.call(this)}.bind(this);\nh.send()}}function Dl(a,b){return Cl(a,b,function(a){this.cd(a)},ua)};function El(){this.f=this.defaultDataProjection=null}function Fl(a,b,c){var d;c&&(d={dataProjection:c.dataProjection?c.dataProjection:a.kb(b),featureProjection:c.featureProjection});return Gl(a,d)}function Gl(a,b){return tb({dataProjection:a.defaultDataProjection,featureProjection:a.f},b)}\nfunction Hl(a,b,c){var d=c?Tb(c.featureProjection):null,e=c?Tb(c.dataProjection):null,f;d&&e&&!dc(d,e)?a instanceof of?f=(b?a.clone():a).tb(b?d:e,b?e:d):f=hc(a,e,d):f=a;if(b&&c&&void 0!==c.decimals){var g=Math.pow(10,c.decimals);f===a&&(f=f.clone());f.Dc(function(a){for(var b=0,c=a.length;b>1),h=+ia(g[e],c),0>h?l=e+1:(m=e,n=!h);e=n?l:~l;0>e?(c=(c-g[-e-2])/(g[-e-1]-g[-e-2]),b+=(-e-2)*d,g=Ja(a[b],a[b+d],c),h=Ja(a[b+1],a[b+d+1],c)):(g=a[b+e*d],h=a[b+e*d+1])}return f?(f[0]=\ng,f[1]=h,f):[g,h]}function Ll(a,b,c,d,e,f){if(c==b)return null;if(e>1,ea||this.c.length<=a)return null;var b=new O(null);b.ba(this.ja,this.A.slice(a?this.c[a-1]:0,this.c[a]));return b};\nk.gd=function(){var a=this.A,b=this.c,c=this.ja,d=[],e=0,f;var g=0;for(f=b.length;ga||b<=a)return null;b=new C(null);b.ba(this.ja,this.A.slice(a*this.a,(a+1)*this.a));return b};k.Zd=function(){var a=this.A,b=this.ja,c=this.a,d=[],e;var f=0;for(e=a.length;fa||this.c.length<=a)return null;if(a){var b=this.c[a-1];b=b[b.length-1]}else b=0;a=this.c[a].slice();var c=a[a.length-1];if(b){var d;var e=0;for(d=a.length;ea||this.g&&ac;++c){var d=parseInt(b[c],10).toString(16);b[c]=1==d.length?\"0\"+d:d}Pm(a,b.join(\"\"))}function wp(a,b,c){a={node:a};var d=b.U();if(\"GeometryCollection\"==d){var e=b.Vf();var f=xp}else\"MultiPoint\"==d?(e=b.Zd(),f=yp):\"MultiLineString\"==d?(e=b.gd(),f=zp):\"MultiPolygon\"==d?(e=b.Td(),f=Ap):xa(!1,39);Bl(a,Bp,f,e,c)}function Cp(a,b,c){Bl({node:a},Dp,Ep,[b],c)}\nfunction Fp(a,b,c){var d={node:a};b.a&&a.setAttribute(\"id\",b.a);a=b.N();var e={address:1,description:1,name:1,open:1,phoneNumber:1,styleUrl:1,visibility:1};e[b.c]=1;var f=Object.keys(a||{}).sort().filter(function(a){return!e[a]});if(0>4;if(128>f)return d(a,g,b);f=e[c.ea++];g|=(f&127)<<3;if(128>f)return d(a,g,b);f=e[c.ea++];g|=(f&127)<<10;if(128>f)return d(a,g,b);f=e[c.ea++];g|=(f&127)<<17;if(128>f)return d(a,g,b);f=e[c.ea++];g|=(f&127)<<24;if(128>f)return d(a,g,b);f=e[c.ea++];if(128>f)return d(a,g|(f&1)<<31,b);throw Error(\"Expected varint not more than 10 bytes\");\n}function d(a,b,c){return c?4294967296*b+(a>>>0):4294967296*(b>>>0)+(a>>>0)}var e={read:function(a,b,c,d,e){var f=8*e-d-1;var g=(1<>1,l=-7;e=c?e-1:0;var m=c?-1:1,x=a[b+e];e+=m;c=x&(1<<-l)-1;x>>=-l;for(l+=f;0>=-l;for(l+=d;0>1,m=23===e?Math.pow(2,\n-24)-Math.pow(2,-77):0;n=d?0:n-1;var B=d?1:-1,E=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=h):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(f=Math.pow(2,-d))&&(d--,f*=2),b=1<=d+l?b+m/f:b+m*Math.pow(2,1-l),2<=b*f&&(d++,f/=2),d+l>=h?(b=0,d=h):1<=d+l?(b=(b*f-1)*Math.pow(2,e),d+=l):(b=b*Math.pow(2,l-1)*Math.pow(2,e),d=0));for(;8<=e;a[c+n]=b&255,n+=B,b/=256,e-=8);d=d<>3,f=this.ea;this.type=d&7;a(e,b,this);this.ea===f&&this.mq(d)}return b},yp:function(){var a=e.read(this.lc,this.ea,!0,23,4);this.ea+=4;return a},up:function(){var a=e.read(this.lc,this.ea,!0,52,8);this.ea+=8;return a},Ka:function(a){var b=this.lc;var d=b[this.ea++];var e=d&127;if(128>d)return e;d=b[this.ea++];e|=(d&127)<<7;if(128>d)return e;d=b[this.ea++];e|=(d&127)<<14;if(128>d)return e;d=b[this.ea++];e|=(d&127)<<21;if(128>d)return e;d=b[this.ea];\nreturn c(e|(d&15)<<28,a,this)},Kp:function(){return this.Ka(!0)},ce:function(){var a=this.Ka();return 1===a%2?(a+1)/-2:a/2},sp:function(){return!!this.Ka()},Gg:function(){for(var a=this.Ka()+this.ea,b=this.lc,c=\"\",d=this.ea;da)break;if(1===p)128>e&&(n=e);else if(2===p){var q=b[d+1];128===(q&192)&&(n=(e&31)<<6|q&63,127>=n&&(n=null))}else if(3===p){q=b[d+1];var r=b[d+2];128===(q&192)&&128===(r&192)&&(n=(e&15)<<12|(q&63)<<6|r&63,2047>=n||55296<=\nn&&57343>=n)&&(n=null)}else if(4===p){q=b[d+1];r=b[d+2];var u=b[d+3];128===(q&192)&&128===(r&192)&&128===(u&192)&&(n=(e&15)<<18|(q&63)<<12|(r&63)<<6|u&63,65535>=n||1114112<=n)&&(n=null)}null===n?(n=65533,p=1):65535>>10&1023|55296),n=56320|n&1023);c+=String.fromCharCode(n);d+=p}this.ea=a;return c},mq:function(a){a&=7;if(a===b.c)for(;127>3,b=1===b?a.Gg():2===b?a.yp():3===b?a.up():4===b?a.Kp():5===b?a.Ka():6===b?a.ce():7===b?a.sp():null;return b}function l(a,b,c){3===a&&(a=new m(c,c.Ka()+c.ea),a.length&&(b[a.name]=a))}c.prototype={clone:function(){return new c(this.x,this.y)},add:function(a){return this.clone().Yj(a)},\nrotate:function(a){return this.clone().hk(a)},round:function(){return this.clone().ik()},angle:function(){return Math.atan2(this.y,this.x)},Yj:function(a){this.x+=a.x;this.y+=a.y;return this},hk:function(a){var b=Math.cos(a);a=Math.sin(a);var c=a*this.x+b*this.y;this.x=b*this.x-a*this.y;this.y=c;return this},ik:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this}};c.Kq=function(a){return a instanceof c?a:Array.isArray(a)?new c(a[0],a[1]):a};d.b=[\"Unknown\",\"Point\",\"LineString\",\n\"Polygon\"];d.prototype.Oh=function(){var a=this.Cc;a.ea=this.Ef;for(var b=a.Ka()+a.ea,d=1,e=0,f=0,g=0,h=[],l;a.ea>=3),e--,1===d||2===d)f+=a.ce(),g+=a.ce(),1===d&&(l&&h.push(l),l=[]),l.push(new c(f,g));else if(7===d)l&&l.push(l[0].clone());else throw Error(\"unknown command \"+d);l&&h.push(l);return h};d.prototype.bbox=function(){var a=this.Cc;a.ea=this.Ef;for(var b=a.Ka()+a.ea,c=1,d=0,e=0,f=0,g=Infinity,h=-Infinity,l=Infinity,m=-Infinity;a.ea>=\n3),d--,1===c||2===c)e+=a.ce(),f+=a.ce(),eh&&(h=e),fm&&(m=f);else if(7!==c)throw Error(\"unknown command \"+c);return[g,l,h,m]};var m=f;f.prototype.feature=function(a){if(0>a||a>=this.me.length)throw Error(\"feature index out of bounds\");this.Cc.ea=this.me[a];a=this.Cc.Ka()+this.Cc.ea;return new d(this.Cc,a,this.extent,this.ne,this.pe)};var n=m;a[\"default\"]={Bf:b,Wj:d,Xj:n};a.Bf=b;a.Wj=d;a.Xj=n})(Fj.xf=Fj.xf||{});function kq(a,b,c,d,e){this.g=e;this.i=a;this.b=b;this.f=c;this.c=d}k=kq.prototype;k.get=function(a){return this.c[a]};k.Bb=function(){return this.f};k.G=function(){this.a||(this.a=\"Point\"===this.i?Za(this.b):$a(this.b,0,this.b.length,2));return this.a};k.Wn=function(){return this.g};k.ec=function(){return this.b};k.ga=kq.prototype.ec;k.V=function(){return this};k.Xn=function(){return this.c};k.Vd=kq.prototype.V;k.qa=function(){return 2};k.Lc=ua;k.U=function(){return this.i};function lq(a){El.call(this);a=a?a:{};this.defaultDataProjection=new Bb({code:\"\",units:\"tile-pixels\"});this.b=a.featureClass?a.featureClass:kq;this.a=a.geometryName;this.i=a.layerName?a.layerName:\"layer\";this.c=a.layers?a.layers:null}v(lq,El);k=lq.prototype;k.U=function(){return\"arraybuffer\"};\nk.Oa=function(a,b){var c=this.c;a=new Fj.Dd(a);a=new Fj.xf.Bf(a);var d=[],e=this.b,f;for(f in a.layers)if(!c||-1!=c.indexOf(f)){var g=a.layers[f];for(var h=0,l=g.length;hc?~(c<<1):c<<1;b=\"\";d=0;for(c=a.length;d>=5;g+=String.fromCharCode(f+63);b+=g}return b}\nfunction Rq(a,b){b=b?b:1E5;var c=[],d=0,e=0,f;var g=0;for(f=a.length;gh?(c.push(d),e=d=0):e+=5}a=0;for(d=c.length;a>1):e>>1;a=0;for(d=c.length;a=b||\".\"==b||\"-\"==b){c.type=4;var b=a.b,d=!1,e=!1;do{if(\".\"==f)d=!0;else if(\"e\"==f||\"E\"==f)e=!0;var f=a.a.charAt(++a.b)}while(\"0\"<=f&&\"9\">=f||\".\"==f&&(void 0===d||!d)||!e&&(\"e\"==f||\"E\"==f)||e&&(\"-\"==f||\"+\"==f));a=parseFloat(a.a.substring(b,a.b--));c.value=a}else if(\"a\"<=b&&\"z\">=b||\"A\"<=b&&\"Z\">=b){c.type=1;b=a.b;do f=a.a.charAt(++a.b);while(\"a\"<=f&&\"z\">=\nf||\"A\"<=f&&\"Z\">=f);a=a.a.substring(b,a.b--).toUpperCase();c.value=a}else{if(\" \"==b||\"\\t\"==b||\"\\r\"==b||\"\\n\"==b)return Cr(a);if(\"\"===b)c.type=6;else throw Error(\"Unexpected character: \"+b);}return c}function yr(a){this.i=a;this.a=\"XY\"}function Ar(a){a.b=Cr(a.i)}function Dr(a,b){(b=a.b.type==b)&&Ar(a);return b}\nfunction Br(a){var b=a.b;if(Dr(a,1)){var b=b.value,c=\"XY\",d=a.b;1==a.b.type&&(d=d.value,\"Z\"===d?c=\"XYZ\":\"M\"===d?c=\"XYM\":\"ZM\"===d&&(c=\"XYZM\"),\"XY\"!==c&&Ar(a));a.a=c;if(\"GEOMETRYCOLLECTION\"==b){a:{if(Dr(a,2)){b=[];do b.push(Br(a));while(Dr(a,5));if(Dr(a,3)){a=b;break a}}else if(Er(a)){a=[];break a}throw Error(Fr(a));}return new tm(a)}d=Gr[b];c=Hr[b];if(!d||!c)throw Error(\"Invalid geometry type: \"+b);b=d.call(a);return new c(b,a.a)}throw Error(Fr(a));}k=yr.prototype;\nk.tg=function(){if(Dr(this,2)){var a=Ir(this);if(Dr(this,3))return a}else if(Er(this))return null;throw Error(Fr(this));};k.sg=function(){if(Dr(this,2)){var a=Jr(this);if(Dr(this,3))return a}else if(Er(this))return[];throw Error(Fr(this));};k.ug=function(){if(Dr(this,2)){var a=Kr(this);if(Dr(this,3))return a}else if(Er(this))return[];throw Error(Fr(this));};\nk.fp=function(){if(Dr(this,2)){var a;if(2==this.b.type)for(a=[this.tg()];Dr(this,5);)a.push(this.tg());else a=Jr(this);if(Dr(this,3))return a}else if(Er(this))return[];throw Error(Fr(this));};k.ep=function(){if(Dr(this,2)){var a=Kr(this);if(Dr(this,3))return a}else if(Er(this))return[];throw Error(Fr(this));};k.gp=function(){if(Dr(this,2)){for(var a=[this.ug()];Dr(this,5);)a.push(this.ug());if(Dr(this,3))return a}else if(Er(this))return[];throw Error(Fr(this));};\nfunction Ir(a){for(var b=[],c=a.a.length,d=0;d=b[0]||a[1]<=b[1]&&a[3]>=b[1]?!0:db(a,this.sb,this)):!1};\nk.ob=function(a){var b=this.a,c=a.slice();c[b]=c[0]+(this.A[b]-this.A[0]);var d;for(d=1;df[2])&&(c=h*Math.ceil((f[0]-c)/h),d=[d[0]+\nc,d[1],d[2]+c,d[3]]);c=this.S[0];f=this.S[1];h=-1;m=Math.pow(this.Jb*g,2);p=[];q=[];g=0;for(l=Fs.length;gga&&(a.Va(b,e),oa=0);ha>ga&&(b.stroke(),ha=0);oa||ha||(b.beginPath(),B=E=NaN);++n;break;case 2:q=z[1];r=m[q];z=m[q+1];A=m[q+2]-\nr;q=m[q+3]-z;q=Math.sqrt(A*A+q*q);b.moveTo(r+q,z);b.arc(r,z,q,0,2*Math.PI,!0);++n;break;case 3:b.closePath();++n;break;case 4:q=z[1];r=z[2];var M=z[3];var ba=z[4]*c;var da=z[5]*c;var fb=z[6],ca=z[7],Ub=z[8],uc=z[9];var bc=z[10];A=z[11];L=z[12];var Je=z[13],zg=z[14];for(bc&&(A+=e);qM.width?\nM.width-Ub:zg,Bq=fb+uc>M.height?M.height-uc:fb;b.drawImage(M,Ub,uc,rh,Bq,z,bc,rh*c,Bq*c);1!=ca&&(b.globalAlpha=ff);(1!=L||A)&&b.setTransform.apply(b,x)}++n;break;case 5:q=z[1];r=z[2];da=z[3];fb=z[4]*c;ca=z[5]*c;A=z[6];L=z[7]*c;M=z[8];ba=z[9];for((bc=z[10])&&(A+=e);qthis.c&&(this.c=this.i.lineWidth,this.f=null)};function lt(a,b,c,d){bt.call(this,a,b,c,d);this.f=null;this.i={oh:void 0,Md:void 0,Gd:void 0,Hd:null,Id:void 0,Jd:void 0,Kd:void 0,Ld:void 0,fillStyle:void 0,strokeStyle:void 0,lineCap:void 0,lineDash:null,lineDashOffset:void 0,lineJoin:void 0,lineWidth:void 0,miterLimit:void 0}}v(lt,bt);\nfunction mt(a,b,c,d,e){var f=a.i,g=void 0!==f.fillStyle,f=void 0!=f.strokeStyle,h=d.length,l=[1];a.a.push(l);a.b.push(l);for(l=0;lthis.c&&(this.c=c.lineWidth,this.f=null)):(c.strokeStyle=void 0,c.lineCap=void 0,c.lineDash=null,c.lineDashOffset=void 0,c.lineJoin=void 0,c.lineWidth=void 0,c.miterLimit=\nvoid 0)};function nt(a,b){var c=a.i,d=c.fillStyle,e=c.strokeStyle,f=c.lineCap,g=c.lineDash,h=c.lineDashOffset,l=c.lineJoin,m=c.lineWidth,n=c.miterLimit;if(void 0!==d&&(\"string\"!==typeof d||c.oh!=d)){var p=[9,d];\"string\"!==typeof d&&(b=b.G(),p.push([b[0],b[3]]));a.a.push(p);c.oh=c.fillStyle}void 0===e||c.Md==e&&c.Gd==f&&pa(c.Hd,g)&&c.Id==h&&c.Jd==l&&c.Kd==m&&c.Ld==n||(a.a.push([10,e,m,f,l,n,g,h,!0,1]),c.Md=e,c.Gd=f,c.Hd=g,c.Id=h,c.Jd=l,c.Kd=m,c.Ld=n)};function ot(a,b,c,d){bt.call(this,a,b,c,d);this.C=this.D=this.S=null;this.Ia=\"\";this.o=this.j=0;this.l=void 0;this.u=this.v=0;this.g=this.f=this.i=null}v(ot,bt);\not.prototype.yc=function(a,b,c,d,e,f){if(\"\"!==this.Ia&&this.g&&(this.i||this.f)){if(this.i){e=this.i;var g=this.S;if(!g||g.fillStyle!=e.fillStyle){var h=[9,e.fillStyle];this.a.push(h);this.b.push(h);g?g.fillStyle=e.fillStyle:this.S={fillStyle:e.fillStyle}}}this.f&&(e=this.f,g=this.D,g&&g.lineCap==e.lineCap&&g.lineDash==e.lineDash&&g.lineDashOffset==e.lineDashOffset&&g.lineJoin==e.lineJoin&&g.lineWidth==e.lineWidth&&g.miterLimit==e.miterLimit&&g.strokeStyle==e.strokeStyle||(h=[10,e.strokeStyle,e.lineWidth,\ne.lineCap,e.lineJoin,e.miterLimit,e.lineDash,e.lineDashOffset,!1,1],this.a.push(h),this.b.push(h),g?(g.lineCap=e.lineCap,g.lineDash=e.lineDash,g.lineDashOffset=e.lineDashOffset,g.lineJoin=e.lineJoin,g.lineWidth=e.lineWidth,g.miterLimit=e.miterLimit,g.strokeStyle=e.strokeStyle):this.D={lineCap:e.lineCap,lineDash:e.lineDash,lineDashOffset:e.lineDashOffset,lineJoin:e.lineJoin,lineWidth:e.lineWidth,miterLimit:e.miterLimit,strokeStyle:e.strokeStyle}));e=this.g;g=this.C;g&&g.font==e.font&&g.textAlign==\ne.textAlign&&g.textBaseline==e.textBaseline||(h=[11,e.font,e.textAlign,e.textBaseline],this.a.push(h),this.b.push(h),g?(g.font=e.font,g.textAlign=e.textAlign,g.textBaseline=e.textBaseline):this.C={font:e.font,textAlign:e.textAlign,textBaseline:e.textBaseline});dt(this,f);e=this.coordinates.length;a=ct(this,a,b,c,d,!1,!1);a=[5,e,a,this.Ia,this.j,this.o,this.v,this.u,!!this.i,!!this.f,this.l];this.a.push(a);this.b.push(a);gt(this,f)}};\not.prototype.Cb=function(a){if(a){var b=a.Fa();b?(b=b.b,b=id(b?b:Sh),this.i?this.i.fillStyle=b:this.i={fillStyle:b}):this.i=null;var c=a.Ga();if(c){var b=c.a,d=c.f,e=c.i,f=c.g,g=c.j,h=c.c,c=c.o,d=void 0!==d?d:\"round\",e=e?e.slice():Th,f=void 0!==f?f:0,g=void 0!==g?g:\"round\",h=void 0!==h?h:1,c=void 0!==c?c:10,b=id(b?b:Uh);if(this.f){var l=this.f;l.lineCap=d;l.lineDash=e;l.lineDashOffset=f;l.lineJoin=g;l.lineWidth=h;l.miterLimit=c;l.strokeStyle=b}else this.f={lineCap:d,lineDash:e,lineDashOffset:f,lineJoin:g,\nlineWidth:h,miterLimit:c,strokeStyle:b}}else this.f=null;var m=a.a,b=a.i,d=a.c,e=a.o,h=a.f,c=a.b,f=a.Na(),g=a.g,l=a.j;a=void 0!==m?m:\"10px sans-serif\";g=void 0!==g?g:\"center\";l=void 0!==l?l:\"middle\";this.g?(m=this.g,m.font=a,m.textAlign=g,m.textBaseline=l):this.g={font:a,textAlign:g,textBaseline:l};this.Ia=void 0!==f?f:\"\";this.j=void 0!==b?b:0;this.o=void 0!==d?d:0;this.l=void 0!==e?e:!1;this.v=void 0!==h?h:0;this.u=void 0!==c?c:1}else this.Ia=\"\"};function pt(a,b,c,d,e){this.v=a;this.c=b;this.o=d;this.l=c;this.f=e;this.a={};this.g=jd(1,1);this.j=Bh()}v(pt,ki);var qt={0:[[!0]]};function rt(a,b,c){var d,e=Math.floor(a.length/2);if(b>=e)for(d=e;d=d;)rt(c,a+b,a+d),rt(c,a+d,a+b),rt(c,a-d,a+b),rt(c,a-b,a+d),rt(c,a-b,a-d),rt(c,a-d,a-b),rt(c,a+d,a-b),rt(c,a+b,a-d),d++,e+=1+2*d,0<2*(e-b)+1&&(--b,e+=1-2*b);return qt[a]=c}function tt(a){for(var b in a.a){var c=a.a[b],d;for(d in c)c[d].Te()}}\npt.prototype.Ea=function(a,b,c,d,e,f){d=Math.round(d);var g=2*d+1,h=Kh(this.j,d+.5,d+.5,1/b,-1/b,-c,-a[0],-a[1]),l=this.g;l.canvas.width!==g||l.canvas.height!==g?(l.canvas.width=g,l.canvas.height=g):l.clearRect(0,0,g,g);if(void 0!==this.f){var m=Oa();Pa(m,a);Qa(m,b*(this.f+d),m)}var n=st(d);return ut(this,l,h,c,e,function(a){for(var b=l.getImageData(0,0,g,g).data,c=0;ca.$&&(a.$=d.$),d.daa.ia&&(a.ia=d.ia)):a[b][c]=d:(a[b]={},a[b][c]=d)}\nfunction Ft(a,b,c,d,e,f,g,h,l,m){var n=w(b).toString();n in a.wantedTiles||(a.wantedTiles[n]={});var p=a.wantedTiles[n];a=a.tileQueue;var q=c.minZoom,r,u,x;for(x=g;x>=q;--x){var B=oc(c,f,x,B);var E=c.Da(x);for(r=B.ca;r<=B.$;++r)for(u=B.da;u<=B.ia;++u)if(g-x<=h){var A=b.Nc(x,r,u,d,e);0==A.getState()&&(p[A.bb()]=!0,A.bb()in a.a||a.f([A,n,tc(c,A.ta),E]));l&&l.call(m,A)}else b.Ug(x,r,u,e)}};function Gt(a){xt.call(this,a);this.fa=Bh()}v(Gt,xt);function Ht(a,b,c){var d=b.pixelRatio,e=b.size[0]*d,f=b.size[1]*d,g=b.viewState.rotation,h=ib(c),l=hb(c),m=gb(c);c=eb(c);Gh(b.coordinateToPixelTransform,h);Gh(b.coordinateToPixelTransform,l);Gh(b.coordinateToPixelTransform,m);Gh(b.coordinateToPixelTransform,c);a.save();Vh(a,-g,e/2,f/2);a.beginPath();a.moveTo(h[0]*d,h[1]*d);a.lineTo(l[0]*d,l[1]*d);a.lineTo(m[0]*d,m[1]*d);a.lineTo(c[0]*d,c[1]*d);a.clip();Vh(a,g,e/2,f/2)}\nfunction It(a,b,c,d,e){var f=a.a;if(Rc(f,b)){var g=d.size[0]*d.pixelRatio,h=d.size[1]*d.pixelRatio,l=d.viewState.rotation;Vh(c,-l,g/2,h/2);a=e?e:Jt(a,d,0);f.b(new Rh(b,new Xh(c,d.pixelRatio,d.extent,a,d.viewState.rotation),d,c,null));Vh(c,l,g/2,h/2)}}Gt.prototype.u=function(a,b,c,d){if(this.Ea(a,b,0,mf,this))return c.call(d,this.a,null)};Gt.prototype.ef=function(a,b,c,d){It(this,\"postcompose\",a,b,d)};\nfunction Jt(a,b,c){var d=b.viewState,e=b.pixelRatio,f=e/d.resolution;return Kh(a.fa,e*b.size[0]/2,e*b.size[1]/2,f,-f,-d.rotation,-d.center[0]+c,-d.center[1])};function Kt(a,b){return w(a)-w(b)}function Lt(a,b){a=.5*a/b;return a*a}function Mt(a,b,c,d,e,f){var g=!1,h;if(h=c.Y()){var l=h.Ye();2==l||3==l?h.Bj(e,f):(0==l&&h.load(),h.Nh(e,f),g=!0)}if(e=(0,c.Za)(b))d=e.Vd(d),(0,Nt[d.U()])(a,d,c,b);return g}\nvar Nt={Point:function(a,b,c,d){var e=c.Y();if(e){if(2!=e.Ye())return;var f=a.b(c.Ba(),\"Image\");f.Ub(e);f.qc(b,d)}if(e=c.Na())a=a.b(c.Ba(),\"Text\"),a.Cb(e),a.yc(b.ga(),0,2,2,b,d)},LineString:function(a,b,c,d){var e=c.Ga();if(e){var f=a.b(c.Ba(),\"LineString\");f.Ma(null,e);f.mc(b,d)}if(e=c.Na())a=a.b(c.Ba(),\"Text\"),a.Cb(e),a.yc(di(b),0,2,2,b,d)},Polygon:function(a,b,c,d){var e=c.Fa(),f=c.Ga();if(e||f){var g=a.b(c.Ba(),\"Polygon\");g.Ma(e,f);g.rc(b,d)}if(e=c.Na())a=a.b(c.Ba(),\"Text\"),a.Cb(e),a.yc(Wf(b),\n0,2,2,b,d)},MultiPoint:function(a,b,c,d){var e=c.Y();if(e){if(2!=e.Ye())return;var f=a.b(c.Ba(),\"Image\");f.Ub(e);f.oc(b,d)}if(e=c.Na())a=a.b(c.Ba(),\"Text\"),a.Cb(e),c=b.ga(),a.yc(c,0,c.length,b.qa(),b,d)},MultiLineString:function(a,b,c,d){var e=c.Ga();if(e){var f=a.b(c.Ba(),\"LineString\");f.Ma(null,e);f.nc(b,d)}if(e=c.Na())a=a.b(c.Ba(),\"Text\"),a.Cb(e),c=ei(b),a.yc(c,0,c.length,2,b,d)},MultiPolygon:function(a,b,c,d){var e=c.Fa(),f=c.Ga();if(f||e){var g=a.b(c.Ba(),\"Polygon\");g.Ma(e,f);g.pc(b,d)}if(e=\nc.Na())a=a.b(c.Ba(),\"Text\"),a.Cb(e),c=gi(b),a.yc(c,0,c.length,2,b,d)},GeometryCollection:function(a,b,c,d){b=b.a;var e;var f=0;for(e=b.length;fl[2];)++L,n=m*L,n=Jt(this,a,n),p.La(x,e,n,g,f),h-=m;n=Jt(this,a,0)}Vh(x,g,E/2,A/2);x!=c&&(It(this,\"render\",x,a,n),c.drawImage(x.canvas,-r,-u),x.translate(-r,-u));x.globalAlpha=B}q&&c.restore();this.ef(c,a,b,n)};\nOt.prototype.Ea=function(a,b,c,d,e){if(this.f){var f=this.a,g={};return this.f.Ea(a,b.viewState.resolution,b.viewState.rotation,c,{},function(a){var b=w(a).toString();if(!(b in g))return g[b]=!0,d.call(e,a,f)})}};Ot.prototype.D=function(){zt(this)};\nOt.prototype.sd=function(a){function b(a){var b=a.Lc();if(b)var d=b.call(a,m);else(b=c.f)&&(d=b(a,m));if(d){if(d){b=!1;if(Array.isArray(d))for(var e=0,f=d.length;ea.ad:e<=a.ad}a.l?(e=b.coordinate,c=a.j.V(),a.g===pu?d=a.a:a.g===ou?(d=a.a[0],d=d[d.length-1],wu(a,b)&&(e=a.l.slice())):(d=a.a,d=d[d.length-1]),d[0]=e[0],d[1]=e[1],a.Za(a.a,c),a.B&&a.B.V().ma(e),c instanceof D&&a.g!==ou?(a.C||(a.C=new H(new O(null))),e=c.Ch(0),b=a.C.V(),b.ba(e.ja,e.ga())):a.I&&(b=a.C.V(),b.ma(a.I)),yu(a)):(b=b.coordinate.slice(),a.B?a.B.V().ma(b):(a.B=new H(new C(b)),\nyu(a)));return!0}function wu(a,b){var c=!1;if(a.j){var d=!1,e=[a.l];a.g===qu?d=a.a.length>a.Sa:a.g===ou&&(d=a.a[0].length>a.Sa,e=[a.a[0][0],a.a[0][a.a[0].length-2]]);if(d)for(var d=b.map,f=0,g=e.length;f=a.va&&(a.u?e.pop():d=!0);e.push(b.slice());a.Za(e,c)}else a.g===ou&&(e=a.a[0],e.length>=a.va&&(a.u?e.pop():d=!0),e.push(b.slice()),d&&(a.l=e[0]),a.Za(a.a,c));yu(a);d&&a.Pd()}\nk.Op=function(){if(this.j){var a=this.j.V();if(this.g===qu){var b=this.a;b.splice(-2,1);this.Za(b,a);2<=b.length&&(this.l=b[b.length-2].slice())}else if(this.g===ou){b=this.a[0];b.splice(-2,1);var c=this.C.V();c.ma(b);this.Za(this.a,a)}0===b.length&&(this.l=null);yu(this)}};\nk.Pd=function(){var a=xu(this),b=this.a,c=a.V();this.g===qu?(b.pop(),this.Za(b,c)):this.g===ou&&(b[0].pop(),this.Za(b,c),b=c.X());\"MultiPoint\"===this.R?a.Ra(new Q([b])):\"MultiLineString\"===this.R?a.Ra(new P([b])):\"MultiPolygon\"===this.R&&a.Ra(new R([b]));this.b(new zu(\"drawend\",a));this.$a&&this.$a.push(a);this.Yb&&this.Yb.yb(a)};function xu(a){a.l=null;var b=a.j;b&&(a.j=null,a.B=null,a.C=null,a.pa.ha().clear(!0));return b}\nk.vn=function(a){var b=a.V();this.j=a;this.a=b.X();a=this.a[this.a.length-1];this.l=a.slice();this.a.push(a.slice());yu(this);this.b(new zu(\"drawstart\",this.j))};k.Xc=nf;function yu(a){var b=[];a.j&&b.push(a.j);a.C&&b.push(a.C);a.B&&b.push(a.B);a=a.pa.ha();a.clear(!0);a.cd(b)}k.ri=function(){var a=this.v,b=this.c();a&&b||xu(this);this.pa.setMap(b?a:null)};\nfunction nu(a){var b;\"Point\"===a||\"MultiPoint\"===a?b=pu:\"LineString\"===a||\"MultiLineString\"===a?b=qu:\"Polygon\"===a||\"MultiPolygon\"===a?b=ou:\"Circle\"===a&&(b=vu);return b}var pu=\"Point\",qu=\"LineString\",ou=\"Polygon\",vu=\"Circle\";function zu(a,b){Oc.call(this,a);this.feature=b}v(zu,Oc);function Au(a){this.a=this.j=null;this.C=!1;this.B=this.l=null;a||(a={});a.extent&&this.g(a.extent);Dg.call(this,{handleDownEvent:Bu,handleDragEvent:Cu,handleEvent:Du,handleUpEvent:Eu});this.u=new T({source:new U({useSpatialIndex:!1,wrapX:!!a.wrapX}),style:a.boxStyle?a.boxStyle:Fu(),updateWhileAnimating:!0,updateWhileInteracting:!0});this.I=new T({source:new U({useSpatialIndex:!1,wrapX:!!a.wrapX}),style:a.pointerStyle?a.pointerStyle:Gu(),updateWhileAnimating:!0,updateWhileInteracting:!0})}v(Au,Dg);\nfunction Du(a){if(!(a instanceof ee))return!0;if(\"pointermove\"==a.type&&!this.D){var b=a.pixel,c=a.map,d=Hu(this,b,c);d||(d=c.Wa(b));Iu(this,d)}Eg.call(this,a);return!1}\nfunction Bu(a){function b(a){var b=null,c=null;a[0]==e[0]?b=e[2]:a[0]==e[2]&&(b=e[0]);a[1]==e[1]?c=e[3]:a[1]==e[3]&&(c=e[1]);return null!==b&&null!==c?[b,c]:null}var c=a.pixel,d=a.map,e=this.G();(a=Hu(this,c,d))&&e?(c=a[0]==e[0]||a[0]==e[2]?a[0]:null,d=a[1]==e[1]||a[1]==e[3]?a[1]:null,null!==c&&null!==d?this.a=Ju(b(a)):null!==c?this.a=Ku(b([c,e[1]]),b([c,e[3]])):null!==d&&(this.a=Ku(b([e[0],d]),b([e[2],d])))):(a=d.Wa(c),this.g([a[0],a[1],a[0],a[1]]),this.a=Ju(a));return!0}\nfunction Cu(a){this.a&&(a=a.coordinate,this.g(this.a(a)),Iu(this,a));return!0}function Eu(){this.a=null;var a=this.G();a&&jb(a)||this.g(null);return!1}function Fu(){var a=gl();return function(){return a.Polygon}}function Gu(){var a=gl();return function(){return a.Point}}function Ju(a){return function(b){return Na([a,b])}}function Ku(a,b){return a[0]==b[0]?function(c){return Na([a,[c[0],b[1]]])}:a[1]==b[1]?function(c){return Na([a,[b[0],c[1]]])}:null}\nfunction Hu(a,b,c){function d(a,b){return kf(e,a)-kf(e,b)}var e=c.Wa(b),f=a.G();if(f){f=[[[f[0],f[1]],[f[0],f[3]]],[[f[0],f[3]],[f[2],f[3]]],[[f[2],f[3]],[f[2],f[1]]],[[f[2],f[1]],[f[0],f[1]]]];f.sort(d);var f=f[0],g=af(e,f),h=c.Ja(g);if(10>=jf(b,h))return b=c.Ja(f[0]),c=c.Ja(f[1]),b=hf(h,b),c=hf(h,c),a.C=10>=Math.sqrt(Math.min(b,c)),a.C&&(g=b>c?f[1]:f[0]),g}return null}function Iu(a,b){var c=a.B;c?c.V().ma(b):(c=new H(new C(b)),a.B=c,a.I.ha().yb(c))}\nAu.prototype.setMap=function(a){this.u.setMap(a);this.I.setMap(a);Dg.prototype.setMap.call(this,a)};Au.prototype.G=function(){return this.j};Au.prototype.g=function(a){this.j=a?a:null;var b=this.l;b?a?b.Ra(Yf(a)):b.Ra(void 0):(this.l=b=a?new H(Yf(a)):new H({}),this.u.ha().yb(b));this.b(new Lu(this.j))};function Lu(a){Oc.call(this,Mu);this.b=a}v(Lu,Oc);var Mu=\"extentchanged\";function Nu(a){Dg.call(this,{handleDownEvent:Ou,handleDragEvent:Pu,handleEvent:Qu,handleUpEvent:Ru});this.ad=a.condition?a.condition:Cg;this.$a=function(a){return xg(a)&&wg(a)};this.xb=a.deleteCondition?a.deleteCondition:this.$a;this.Yb=a.insertVertexCondition?a.insertVertexCondition:mf;this.Sa=this.g=null;this.va=[0,0];this.C=this.I=!1;this.a=new Gj;this.fa=void 0!==a.pixelTolerance?a.pixelTolerance:10;this.l=this.pa=!1;this.j=[];this.B=new T({source:new U({useSpatialIndex:!1,wrapX:!!a.wrapX}),style:a.style?\na.style:Su(),updateWhileAnimating:!0,updateWhileInteracting:!0});this.T={Point:this.Dn,LineString:this.ti,LinearRing:this.ti,Polygon:this.En,MultiPoint:this.Bn,MultiLineString:this.An,MultiPolygon:this.Cn,Circle:this.yn,GeometryCollection:this.zn};this.u=a.features;this.u.forEach(this.kg,this);y(this.u,\"add\",this.wn,this);y(this.u,\"remove\",this.xn,this);this.R=null}v(Nu,Dg);k=Nu.prototype;\nk.kg=function(a){var b=a.V();b&&b.U()in this.T&&this.T[b.U()].call(this,a,b);(b=this.v)&&b.c&&this.c()&&Tu(this,this.va,b);y(a,\"change\",this.si,this)};function Uu(a,b){a.C||(a.C=!0,a.b(new Vu(\"modifystart\",a.u,b)))}function Wu(a,b){Xu(a,b);a.g&&!a.u.dc()&&(a.B.ha().Gb(a.g),a.g=null);Kc(b,\"change\",a.si,a)}function Xu(a,b){a=a.a;var c=[];a.forEach(function(a){b===a.feature&&c.push(a)});for(var d=c.length-1;0<=d;--d)a.remove(c[d])}\nk.Ha=function(a){this.g&&!a&&(this.B.ha().Gb(this.g),this.g=null);Dg.prototype.Ha.call(this,a)};k.setMap=function(a){this.B.setMap(a);Dg.prototype.setMap.call(this,a)};k.wn=function(a){this.kg(a.element)};k.si=function(a){this.l||(a=a.target,Wu(this,a),this.kg(a))};k.xn=function(a){Wu(this,a.element)};k.Dn=function(a,b){var c=b.X();a={feature:a,geometry:b,la:[c,c]};this.a.Ca(b.G(),a)};\nk.Bn=function(a,b){var c=b.X(),d;var e=0;for(d=c.length;em?h[1]:h[0]),Yu(a,l),m=1,c=f.length;mn&&(n=0);f=g.geometry;var p=d=f.X();var q=!1;switch(f.U()){case \"MultiLineString\":2c&&(a.index+=e)})}function Su(){var a=gl();return function(){return a.Point}}function Vu(a,b,c){Oc.call(this,a);this.features=b;this.mapBrowserEvent=c}v(Vu,Oc);function cv(a){ng.call(this,{handleEvent:dv});a=a?a:{};this.C=a.condition?a.condition:wg;this.D=a.addCondition?a.addCondition:nf;this.B=a.removeCondition?a.removeCondition:nf;this.I=a.toggleCondition?a.toggleCondition:yg;this.l=a.multi?a.multi:!1;this.o=a.filter?a.filter:mf;this.j=a.hitTolerance?a.hitTolerance:0;this.g=new T({source:new U({useSpatialIndex:!1,features:a.features,wrapX:a.wrapX}),style:a.style?a.style:ev(),updateWhileAnimating:!0,updateWhileInteracting:!0});if(a.layers)if(\"function\"===\ntypeof a.layers)a=a.layers;else{var b=a.layers;a=function(a){return ja(b,a)}}else a=mf;this.u=a;this.a={};a=this.g.ha().f;y(a,\"add\",this.Fn,this);y(a,\"remove\",this.Jn,this)}v(cv,ng);k=cv.prototype;k.Gn=function(){return this.g.ha().f};k.Hn=function(){return this.j};k.In=function(a){a=w(a);return this.a[a]};\nfunction dv(a){if(!this.C(a))return!0;var b=this.D(a),c=this.B(a),d=this.I(a),e=!b&&!c&&!d,f=a.map,g=this.g.ha().f,h=[],l=[];if(e){ub(this.a);f.we(a.pixel,function(a,b){if(this.o(a,b))return l.push(a),a=w(a),this.a[a]=b,!this.l}.bind(this),{layerFilter:this.u,hitTolerance:this.j});for(e=g.dc()-1;0<=e;--e){var f=g.item(e),m=l.indexOf(f);-1b?m[1]:m[0],l=d.Ja(f)}else a.C&&(f=h?$e(c,g[0].feature.V()):af(c,m),l=d.Ja(f),jf(b,l)<=a.g&&(e=!0,a.R&&!h&&(c=\nd.Ja(m[0]),h=d.Ja(m[1]),c=hf(l,c),b=hf(l,h),h=Math.sqrt(Math.min(c,b)),h=h<=a.g)))&&(f=c>b?m[1]:m[0],l=d.Ja(f));e&&(l=[Math.round(l[0]),Math.round(l[1])])}return{nq:e,vertex:f,wq:l}}k.Dj=function(a){this.Gb(a,!1);this.yb(a,!1)};k.Mn=function(a,b){b=Zf(b).X()[0];var c;var d=0;for(c=b.length-1;dca&&(ca=uc,m=Ub)}if(!ca){g=null;break a}ca=g[m];g[m]=g[l];g[l]=ca;for(m=l+1;mthis.b/2){var b=[[a.source[0][0],a.source[0][1]],[a.source[1][0],a.source[1][1]],[a.source[2][0],a.source[2][1]]];b[0][0]-n>this.b/2&&(b[0][0]-=this.b);b[1][0]-n>this.b/2&&(b[1][0]-=this.b);b[2][0]-n>this.b/2&&(b[2][0]-=this.b);Math.max(b[0][0],b[1][0],b[2][0])-Math.min(b[0][0],b[1][0],b[2][0])p,u=!1;if(0a.v),u)){Math.abs(b[0]-d[0])<=Math.abs(b[1]-d[1])?(r=[(c[0]+d[0])/2,(c[1]+d[1])/2],q=a.a(r),n=[(e[0]+b[0])/2,(e[1]+b[1])/2],p=a.a(n),Ev(a,b,c,r,n,f,g,q,p,m-1),Ev(a,n,r,d,e,p,q,h,l,m-1)):(r=[(b[0]+c[0])/2,(b[1]+c[1])/2],q=a.a(r),n=[(d[0]+e[0])/2,(d[1]+e[1])/2],p=a.a(n),Ev(a,b,r,n,e,f,q,p,l,m-1),Ev(a,r,c,d,n,q,g,h,p,m-1));return}if(r){if(!a.l)return;a.o=!0}a.c.push({source:[f,h,l],target:[b,d,e]});a.c.push({source:[f,g,h],target:[b,c,d]})}}\nfunction Fv(a){var b=Oa();a.c.forEach(function(a){a=a.source;Pa(b,a[0]);Pa(b,a[1]);Pa(b,a[2])});return b};function Gv(a,b,c,d,e,f){this.v=b;this.l=a.G();var g=b.G(),h=g?pb(c,g):c,g=Av(a,b,nb(h),d);this.j=new Dv(a,b,h,this.l,.5*g);this.c=d;this.i=c;a=Fv(this.j);this.o=(this.Hb=f(a,g,e))?this.Hb.a:1;this.ee=this.g=null;e=2;f=[];this.Hb&&(e=0,f=this.Hb.f);Is.call(this,c,d,this.o,e,f)}v(Gv,Is);Gv.prototype.ka=function(){1==this.state&&(Ec(this.ee),this.ee=null);Is.prototype.ka.call(this)};Gv.prototype.Y=function(){return this.g};\nGv.prototype.de=function(){var a=this.Hb.getState();2==a&&(this.g=Cv(lb(this.i)/this.c,mb(this.i)/this.c,this.o,this.Hb.resolution,0,this.c,this.i,this.j,[{extent:this.Hb.G(),image:this.Hb.Y()}],0));this.state=a;this.s()};Gv.prototype.load=function(){if(0==this.state){this.state=1;this.s();var a=this.Hb.getState();2==a||3==a?this.de():(this.ee=y(this.Hb,\"change\",function(){var a=this.Hb.getState();if(2==a||3==a)Ec(this.ee),this.ee=null,this.de()},this),this.Hb.load())}};function Hv(a){$t.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection,state:a.state});this.C=void 0!==a.resolutions?a.resolutions:null;this.a=null;this.fa=0}v(Hv,$t);function Iv(a,b){a.C&&(b=a.C[ka(a.C,b,0)]);return b}\nHv.prototype.Y=function(a,b,c,d){var e=this.c;if(e&&d&&!dc(e,d)){if(this.a){if(this.fa==this.i&&dc(this.a.v,d)&&this.a.resolution==b&&this.a.a==c&&bb(this.a.G(),a))return this.a;Nc(this.a);this.a=null}this.a=new Gv(e,d,a,b,c,function(a,b,c){return this.Jc(a,b,c,e)}.bind(this));this.fa=this.i;return this.a}e&&(d=e);return this.Jc(a,b,c,d)};Hv.prototype.o=function(a){a=a.target;switch(a.getState()){case 1:this.b(new Jv(Kv,a));break;case 2:this.b(new Jv(Lv,a));break;case 3:this.b(new Jv(Mv,a))}};\nfunction Nv(a,b){a.Y().src=b}function Jv(a,b){Oc.call(this,a);this.image=b}v(Jv,Oc);var Kv=\"imageloadstart\",Lv=\"imageloadend\",Mv=\"imageloaderror\";function Ov(a){Hv.call(this,{attributions:a.attributions,logo:a.logo,projection:a.projection,resolutions:a.resolutions,state:a.state});this.pa=a.canvasFunction;this.R=null;this.T=0;this.va=void 0!==a.ratio?a.ratio:1.5}v(Ov,Hv);Ov.prototype.Jc=function(a,b,c,d){b=Iv(this,b);var e=this.R;if(e&&this.T==this.i&&e.resolution==b&&e.a==c&&Va(e.G(),a))return e;a=a.slice();rb(a,this.va);(d=this.pa(a,b,c,[lb(a)/b*c,mb(a)/b*c],d))&&(e=new Ks(a,b,c,this.j,d));this.R=e;this.T=this.i;return e};function Pv(a){this.f=a.source;this.$a=Bh();this.g=jd();this.l=[0,0];this.Sa=void 0==a.renderBuffer?100:a.renderBuffer;this.B=null;Ov.call(this,{attributions:a.attributions,canvasFunction:this.tk.bind(this),logo:a.logo,projection:a.projection,ratio:a.ratio,resolutions:a.resolutions,state:this.f.getState()});this.I=null;this.v=void 0;this.Ii(a.style);y(this.f,\"change\",this.ro,this)}v(Pv,Ov);k=Pv.prototype;\nk.tk=function(a,b,c,d,e){var f=new pt(.5*b/c,a,b,this.f.T,this.Sa);this.f.Yd(a,b,e);var g=!1;this.f.$b(a,function(a){var d;if(!(d=g)){var e;(d=a.Lc())?e=d.call(a,b):this.v&&(e=this.v(a,b));if(e){var h,p=!1;Array.isArray(e)||(e=[e]);d=0;for(h=e.length;da[0]||a[0]>e[0]||0>a[1]||a[1]>e[1])&&(this.f||\n(this.f=jd(1,1)),this.f.clearRect(0,0,1,1),this.f.drawImage(this.M.Y(),a[0],a[1],1,1,0,0,1,1),e=this.f.getImageData(0,0,1,1).data,0=d)this.state=4;else if(this.l=new Dv(a,c,f,e,d*(void 0!==m?m:.5)),this.l.c.length)if(this.g=b.tc(d),c=Fv(this.l),e&&(a.i?(c[1]=Ca(c[1],e[1],e[3]),c[3]=Ca(c[3],e[1],e[3])):c=pb(c,e)),jb(c)){a=\noc(b,c,this.g);for(b=a.ca;b<=a.$;b++)for(c=a.da;c<=a.ia;c++)(m=l(this.g,b,c,g))&&this.a.push(m);this.a.length||(this.state=4)}else this.state=4;else this.state=4;else this.state=4}v(hw,Ls);hw.prototype.ka=function(){1==this.state&&(this.yd.forEach(Ec),this.yd=null);Ls.prototype.ka.call(this)};hw.prototype.Y=function(){return this.v};\nhw.prototype.de=function(){var a=[];this.a.forEach(function(b){b&&2==b.getState()&&a.push({extent:this.c.Aa(b.ta),image:b.Y()})},this);this.a.length=0;if(a.length){var b=this.o[0],c=this.j.gb(b),d=\"number\"===typeof c?c:c[0],c=\"number\"===typeof c?c:c[1],b=this.j.Da(b),e=this.c.Da(this.g),f=this.j.Aa(this.o);this.v=Cv(d,c,this.S,e,this.c.G(),b,f,this.l,a,this.u,this.D);this.state=2}else this.state=3;this.s()};\nhw.prototype.load=function(){if(0==this.state){this.state=1;this.s();var a=0;this.yd=[];this.a.forEach(function(b){var c=b.getState();if(0==c||1==c){a++;var d=y(b,\"change\",function(){var c=b.getState();if(2==c||3==c||4==c)Ec(d),a--,a||(this.yd.forEach(Ec),this.yd=null,this.de())},this);this.yd.push(d)}},this);this.a.forEach(function(a){0==a.getState()&&a.load()});a||setTimeout(this.de.bind(this),0)}};function iw(a,b){var c=/\\{z\\}/g,d=/\\{x\\}/g,e=/\\{y\\}/g,f=/\\{-y\\}/g;return function(g){if(g)return a.replace(c,g[0].toString()).replace(d,g[1].toString()).replace(e,function(){return(-g[2]-1).toString()}).replace(f,function(){var a=b.a?b.a[g[0]]:null;xa(a,55);return(a.ia-a.da+1+g[2]).toString()})}}function jw(a,b){for(var c=a.length,d=Array(c),e=0;ea.highWaterMark}nw.prototype.fd=function(a){for(var b,c;ow(this);){b=this.a.Yc;c=b.ta[0].toString();var d;if(d=c in a)b=b.ta,d=za(a[c],b[1],b[2]);if(d)break;else Nc(this.pop())}};function pw(a){$t.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection,state:a.state,wrapX:a.wrapX});this.va=void 0!==a.opaque?a.opaque:!1;this.$a=void 0!==a.tilePixelRatio?a.tilePixelRatio:1;this.tileGrid=void 0!==a.tileGrid?a.tileGrid:null;this.a=new nw(a.cacheSize);this.o=[0,0];this.uc=\"\"}v(pw,$t);k=pw.prototype;k.Ki=function(){return ow(this.a)};k.fd=function(a,b){(a=this.Wd(a))&&a.fd(b)};\nfunction yt(a,b,c,d,e){b=a.Wd(b);if(!b)return!1;for(var f=!0,g,h,l=d.ca;l<=d.$;++l)for(var m=d.da;m<=d.ia;++m)g=a.Sb(c,l,m),h=!1,b.b.hasOwnProperty(g)&&(g=b.get(g),(h=2===g.getState())&&(h=!1!==e(g))),h||(f=!1);return f}k.Wf=function(){return 0};function qw(a,b){a.uc!==b&&(a.uc=b,a.s())}k.Sb=function(a,b,c){return a+\"/\"+b+\"/\"+c};k.Zf=function(){return this.va};k.ab=function(){return this.tileGrid};k.Ta=function(a){return this.tileGrid?this.tileGrid:vc(a)};\nk.Wd=function(a){var b=this.c;return b&&!dc(b,a)?null:this.a};k.nb=function(){return this.$a};k.Xd=function(a,b,c){c=this.Ta(c);b=this.nb(b);a=Ma(c.gb(a),this.o);return 1==b?a:La(a,b,this.o)};function rw(a,b,c){var d=void 0!==c?c:a.c;c=a.Ta(d);if(a.u&&d.c){var e=b;b=e[0];a=tc(c,e);d=zc(d);Ta(d,a)?b=e:(e=lb(d),a[0]+=e*Math.ceil((d[0]-a[0])/e),b=c.bg(a,b))}e=b[0];d=b[1];a=b[2];if(c.minZoom>e||e>c.maxZoom)c=!1;else{var f=c.G();c=(c=f?oc(c,f,e):c.a?c.a[e]:null)?za(c,d,a):!0}return c?b:null}\nk.sa=function(){this.a.clear();this.s()};k.Ug=ua;function sw(a,b){Oc.call(this,a);this.tile=b}v(sw,Oc);function tw(a){pw.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,extent:a.extent,logo:a.logo,opaque:a.opaque,projection:a.projection,state:a.state,tileGrid:a.tileGrid,tilePixelRatio:a.tilePixelRatio,wrapX:a.wrapX});this.tileLoadFunction=a.tileLoadFunction;this.tileUrlFunction=this.Fc?this.Fc.bind(this):lw;this.urls=null;a.urls?this.eb(a.urls):a.url&&this.jb(a.url);a.tileUrlFunction&&this.cb(a.tileUrlFunction)}v(tw,pw);k=tw.prototype;k.pb=function(){return this.tileLoadFunction};\nk.qb=function(){return this.tileUrlFunction};k.rb=function(){return this.urls};k.Li=function(a){a=a.target;switch(a.getState()){case 1:this.b(new sw(\"tileloadstart\",a));break;case 2:this.b(new sw(\"tileloadend\",a));break;case 3:this.b(new sw(\"tileloaderror\",a))}};k.vb=function(a){this.a.clear();this.tileLoadFunction=a;this.s()};k.cb=function(a,b){this.tileUrlFunction=a;\"undefined\"!==typeof b?qw(this,b):this.s()};\nk.jb=function(a){var b=this.urls=mw(a);this.cb(this.Fc?this.Fc.bind(this):jw(b,this.tileGrid),a)};k.eb=function(a){this.urls=a;var b=a.join(\"\\n\");this.cb(this.Fc?this.Fc.bind(this):jw(a,this.tileGrid),b)};k.Ug=function(a,b,c){a=this.Sb(a,b,c);this.a.b.hasOwnProperty(a)&&this.a.get(a)};function X(a){tw.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,extent:a.extent,logo:a.logo,opaque:a.opaque,projection:a.projection,state:a.state,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction?a.tileLoadFunction:uw,tilePixelRatio:a.tilePixelRatio,tileUrlFunction:a.tileUrlFunction,url:a.url,urls:a.urls,wrapX:a.wrapX});this.crossOrigin=void 0!==a.crossOrigin?a.crossOrigin:null;this.tileClass=a.tileClass?a.tileClass:Os;this.g={};this.v={};this.Sa=a.reprojectionErrorThreshold;this.I=\n!1}v(X,tw);k=X.prototype;k.Ki=function(){if(ow(this.a))return!0;for(var a in this.g)if(ow(this.g[a]))return!0;return!1};k.fd=function(a,b){a=this.Wd(a);this.a.fd(this.a==a?b:{});for(var c in this.g){var d=this.g[c];d.fd(d==a?b:{})}};k.Wf=function(a){return this.c&&a&&!dc(this.c,a)?0:this.Xf()};k.Xf=function(){return 0};k.Zf=function(a){return this.c&&a&&!dc(this.c,a)?!1:tw.prototype.Zf.call(this,a)};\nk.Ta=function(a){var b=this.c;return!this.tileGrid||b&&!dc(b,a)?(b=w(a).toString(),b in this.v||(this.v[b]=vc(a)),this.v[b]):this.tileGrid};k.Wd=function(a){var b=this.c;if(!b||dc(b,a))return this.a;a=w(a).toString();a in this.g||(this.g[a]=new nw(this.a.highWaterMark));return this.g[a]};function vw(a,b,c,d,e,f,g){b=[b,c,d];e=(c=rw(a,b,f))?a.tileUrlFunction(c,e,f):void 0;e=new a.tileClass(b,void 0!==e?0:4,void 0!==e?e:\"\",a.crossOrigin,a.tileLoadFunction);e.key=g;y(e,\"change\",a.Li,a);return e}\nk.Nc=function(a,b,c,d,e){if(this.c&&e&&!dc(this.c,e)){var f=this.Wd(e);c=[a,b,c];var g;a=this.Sb.apply(this,c);f.b.hasOwnProperty(a)&&(g=f.get(a));b=this.uc;if(g&&g.key==b)return g;var h=this.c,l=this.Ta(h),m=this.Ta(e),n=rw(this,c,e);d=new hw(h,l,e,m,c,n,this.nb(d),this.Xf(),function(a,b,c,d){return ww(this,a,b,c,d,h)}.bind(this),this.Sa,this.I);d.key=b;g?(d.i=g,f.replace(a,d)):f.set(a,d);return d}return ww(this,a,b,c,d,e)};\nfunction ww(a,b,c,d,e,f){var g=a.Sb(b,c,d),h=a.uc;if(a.a.b.hasOwnProperty(g)){var l=a.a.get(g);if(l.key!=h){var m=l;l=vw(a,b,c,d,e,f,h);0==m.getState()?l.i=m.i:l.i=m;if(l.i){b=l.i;c=l;do{if(2==b.getState()){b.i=null;break}else 1==b.getState()?c=b:0==b.getState()?c.i=b.i:c=b;b=c.i}while(b)}a.a.replace(g,l)}}else l=vw(a,b,c,d,e,f,h),a.a.set(g,l);return l}k.Pb=function(a){if(this.I!=a){this.I=a;for(var b in this.g)this.g[b].clear();this.s()}};\nk.Qb=function(a,b){if(a=Tb(a))a=w(a).toString(),a in this.v||(this.v[a]=b)};function uw(a,b){a.Y().src=b};function xw(a){this.B=void 0!==a.hidpi?a.hidpi:!1;X.call(this,{cacheSize:a.cacheSize,crossOrigin:\"anonymous\",opaque:!0,projection:Tb(\"EPSG:3857\"),reprojectionErrorThreshold:a.reprojectionErrorThreshold,state:\"loading\",tileLoadFunction:a.tileLoadFunction,tilePixelRatio:this.B?2:1,wrapX:void 0!==a.wrapX?a.wrapX:!0});this.R=void 0!==a.culture?a.culture:\"en-us\";this.C=void 0!==a.maxZoom?a.maxZoom:-1;this.f=a.key;this.l=a.imagerySet;gw(\"https://dev.virtualearth.net/REST/v1/Imagery/Metadata/\"+this.l+\"?uriScheme=https&include=ImageryProviders&key=\"+\nthis.f,this.pa.bind(this),void 0,\"jsonp\")}v(xw,X);var yw=new Ac({html:'Terms of Use'});xw.prototype.T=function(){return this.f};xw.prototype.fa=function(){return this.l};\nxw.prototype.pa=function(a){if(200!=a.statusCode||\"OK\"!=a.statusDescription||\"ValidCredentials\"!=a.authenticationResultCode||1!=a.resourceSets.length||1!=a.resourceSets[0].resources.length)bu(this,\"error\");else{var b=a.brandLogoUri;-1==b.indexOf(\"https\")&&(b=b.replace(\"http\",\"https\"));var c=a.resourceSets[0].resources[0],d=-1==this.C?c.zoomMax:this.C;a=zc(this.c);var e=xc({extent:a,minZoom:c.zoomMin,maxZoom:d,tileSize:(c.imageWidth==c.imageHeight?c.imageWidth:[c.imageWidth,c.imageHeight])/this.nb()});\nthis.tileGrid=e;var f=this.R,g=this.B;this.tileUrlFunction=kw(c.imageUrlSubdomains.map(function(a){var b=[0,0,0],d=c.imageUrl.replace(\"{subdomain}\",a).replace(\"{culture}\",f);return function(a){if(a)return jc(a[0],a[1],-a[2]-1,b),a=d,g&&(a+=\"&dpi=d1&device=mobile\"),a.replace(\"{quadkey}\",kc(b))}}));if(c.imageryProviders){var h=Vb(Tb(\"EPSG:4326\"),this.c);a=c.imageryProviders.map(function(a){var b=a.attribution,c={};a.coverageAreas.forEach(function(a){var b=a.zoomMin,f=Math.min(a.zoomMax,d);a=a.bbox;\na=sb([a[1],a[0],a[3],a[2]],h);var g;for(g=b;g<=f;++g){var l=g.toString();b=oc(e,a,g);l in c?c[l].push(b):c[l]=[b]}});return new Ac({html:b,tileRanges:c})});a.push(yw);this.ua(a)}this.D=b;bu(this,\"ready\")}};function zw(a){a=a||{};var b=void 0!==a.projection?a.projection:\"EPSG:3857\",c=void 0!==a.tileGrid?a.tileGrid:xc({extent:zc(b),maxZoom:a.maxZoom,minZoom:a.minZoom,tileSize:a.tileSize});X.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,opaque:a.opaque,projection:b,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileGrid:c,tileLoadFunction:a.tileLoadFunction,tilePixelRatio:a.tilePixelRatio,tileUrlFunction:a.tileUrlFunction,url:a.url,urls:a.urls,\nwrapX:void 0!==a.wrapX?a.wrapX:!0})}v(zw,X);function Aw(a){this.C=a.account;this.B=a.map||\"\";this.f=a.config||{};this.l={};zw.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,maxZoom:void 0!==a.maxZoom?a.maxZoom:18,minZoom:a.minZoom,projection:a.projection,state:\"loading\",wrapX:a.wrapX});Bw(this)}v(Aw,zw);k=Aw.prototype;k.Kk=function(){return this.f};k.tq=function(a){tb(this.f,a);Bw(this)};k.Xp=function(a){this.f=a||{};Bw(this)};\nfunction Bw(a){var b=JSON.stringify(a.f);if(a.l[b])Cw(a,a.l[b]);else{var c=\"https://\"+a.C+\".cartodb.com/api/v1/map\";a.B&&(c+=\"/named/\"+a.B);var d=new XMLHttpRequest;d.addEventListener(\"load\",a.Dl.bind(a,b));d.addEventListener(\"error\",a.Cl.bind(a));d.open(\"POST\",c);d.setRequestHeader(\"Content-type\",\"application/json\");d.send(JSON.stringify(a.f))}}\nk.Dl=function(a,b){b=b.target;if(!b.status||200<=b.status&&300>b.status){try{var c=JSON.parse(b.responseText)}catch(d){bu(this,\"error\");return}Cw(this,c);this.l[a]=c;bu(this,\"ready\")}else bu(this,\"error\")};k.Cl=function(){bu(this,\"error\")};function Cw(a,b){a.jb(\"https://\"+b.cdn_url.https+\"/\"+a.C+\"/api/v1/map/\"+b.layergroupid+\"/{z}/{x}/{y}.png\")};function Y(a){U.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection,wrapX:a.wrapX});this.resolution=void 0;this.distance=void 0!==a.distance?a.distance:20;this.features=[];this.geometryFunction=a.geometryFunction||function(a){a=a.V();xa(a instanceof C,10);return a};this.source=a.source;this.source.J(\"change\",Y.prototype.sa,this)}v(Y,U);k=Y.prototype;k.$n=function(){return this.distance};k.ao=function(){return this.source};\nk.Yd=function(a,b,c){this.source.Yd(a,b,c);b!==this.resolution&&(this.clear(),this.resolution=b,Dw(this),this.cd(this.features))};k.Yp=function(a){this.distance=a;this.sa()};k.sa=function(){this.clear();Dw(this);this.cd(this.features);U.prototype.sa.call(this)};\nfunction Dw(a){if(void 0!==a.resolution){a.features.length=0;for(var b=Oa(),c=a.distance*a.resolution,d=a.source.Xe(),e={},f=0,g=d.length;fm*l?h*g/(m*p):l*g/(n*p),SETVIEWCENTERX:f[0],SETVIEWCENTERY:f[1]};tb(e,this.g);d=Fw(d,e);d=new Js(a,b,c,this.j,d,this.R,this.f);y(d,\"change\",this.o,this)}else d=null;this.M=d;this.B=this.i;return d};k.jo=function(){return this.f};k.mo=function(a){tb(this.g,a);this.s()};k.lo=function(a){this.M=null;this.f=a;this.s()};function Iw(a){var b=a.imageExtent,c=void 0!==a.crossOrigin?a.crossOrigin:null,d=a.imageLoadFunction?a.imageLoadFunction:Nv;Hv.call(this,{attributions:a.attributions,logo:a.logo,projection:Tb(a.projection)});this.M=new Js(b,void 0,1,this.j,a.url,c,d);this.f=a.imageSize?a.imageSize:null;y(this.M,\"change\",this.o,this)}v(Iw,Hv);Iw.prototype.Jc=function(a){return qb(a,this.M.G())?this.M:null};\nIw.prototype.o=function(a){if(2==this.M.getState()){var b=this.M.G(),c=this.M.Y();if(this.f){var d=this.f[0];var e=this.f[1]}else d=c.width,e=c.height;b=Math.ceil(lb(b)/(mb(b)/e));if(b!=d){var b=jd(b,e),f=b.canvas;b.drawImage(c,0,0,d,e,0,0,f.width,f.height);this.M.Og(f)}}Hv.prototype.o.call(this,a)};function Jw(a){a=a||{};Hv.call(this,{attributions:a.attributions,logo:a.logo,projection:a.projection,resolutions:a.resolutions});this.pa=void 0!==a.crossOrigin?a.crossOrigin:null;this.g=a.url;this.v=a.imageLoadFunction?a.imageLoadFunction:Nv;this.f=a.params||{};this.l=!0;Kw(this);this.T=a.serverType;this.va=void 0!==a.hidpi?a.hidpi:!0;this.M=null;this.B=[0,0];this.R=0;this.I=void 0!==a.ratio?a.ratio:1.5}v(Jw,Hv);var Lw=[101,101];k=Jw.prototype;\nk.so=function(a,b,c,d){if(void 0!==this.g){var e=ob(a,b,0,Lw),f={SERVICE:\"WMS\",VERSION:\"1.3.0\",REQUEST:\"GetFeatureInfo\",FORMAT:\"image/png\",TRANSPARENT:!0,QUERY_LAYERS:this.f.LAYERS};tb(f,this.f,d);d=Math.floor((e[3]-a[1])/b);f[this.l?\"I\":\"X\"]=Math.floor((a[0]-e[0])/b);f[this.l?\"J\":\"Y\"]=d;return Mw(this,e,Lw,1,Tb(c),f)}};k.uo=function(){return this.f};\nk.Jc=function(a,b,c,d){if(void 0===this.g)return null;b=Iv(this,b);1==c||this.va&&void 0!==this.T||(c=1);var e=b/c,f=nb(a),g=ob(f,e,0,[Math.ceil(lb(a)/e),Math.ceil(mb(a)/e)]);a=ob(f,e,0,[Math.ceil(this.I*lb(a)/e),Math.ceil(this.I*mb(a)/e)]);if((f=this.M)&&this.R==this.i&&f.resolution==b&&f.a==c&&Va(f.G(),g))return f;g={SERVICE:\"WMS\",VERSION:\"1.3.0\",REQUEST:\"GetMap\",FORMAT:\"image/png\",TRANSPARENT:!0};tb(g,this.f);this.B[0]=Math.round(lb(a)/e);this.B[1]=Math.round(mb(a)/e);d=Mw(this,a,this.B,c,d,g);\nthis.M=new Js(a,b,c,this.j,d,this.pa,this.v);this.R=this.i;y(this.M,\"change\",this.o,this);return this.M};k.to=function(){return this.v};\nfunction Mw(a,b,c,d,e,f){xa(void 0!==a.g,9);f[a.l?\"CRS\":\"SRS\"]=e.mb;\"STYLES\"in a.f||(f.STYLES=\"\");if(1!=d)switch(a.T){case \"geoserver\":d=90*d+.5|0;f.FORMAT_OPTIONS=\"FORMAT_OPTIONS\"in f?f.FORMAT_OPTIONS+(\";dpi:\"+d):\"dpi:\"+d;break;case \"mapserver\":f.MAP_RESOLUTION=90*d;break;case \"carmentaserver\":case \"qgis\":f.DPI=90*d;break;default:xa(!1,8)}f.WIDTH=c[0];f.HEIGHT=c[1];c=e.b;var g;a.l&&\"ne\"==c.substr(0,2)?g=[b[1],b[0],b[3],b[2]]:g=b;f.BBOX=g.join(\",\");return Fw(a.g,f)}k.vo=function(){return this.g};\nk.wo=function(a){this.M=null;this.v=a;this.s()};k.xo=function(a){a!=this.g&&(this.g=a,this.M=null,this.s())};k.yo=function(a){tb(this.f,a);Kw(this);this.M=null;this.s()};function Kw(a){a.l=0<=Ye(a.f.VERSION||\"1.3.0\")};function Nw(a){a=a||{};var b;void 0!==a.attributions?b=a.attributions:b=[Ow];zw.call(this,{attributions:b,cacheSize:a.cacheSize,crossOrigin:void 0!==a.crossOrigin?a.crossOrigin:\"anonymous\",opaque:void 0!==a.opaque?a.opaque:!0,maxZoom:void 0!==a.maxZoom?a.maxZoom:19,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileLoadFunction:a.tileLoadFunction,url:void 0!==a.url?a.url:\"https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png\",wrapX:a.wrapX})}v(Nw,zw);var Ow=new Ac({html:'© OpenStreetMap contributors.'});Fj.df={};Fj.df.Af=function(){};\n(function(a){function b(a,b,c){if(g)return new ImageData(a,b,c);b=h.createImageData(b,c);b.data.set(a);return b}function c(a){var b=!0;try{new ImageData(10,10)}catch(n){b=!1}return function(c){var d=c.buffers,e=c.meta,f=c.width,g=c.height,h=d.length,l=d[0].byteLength;if(c.imageOps){l=Array(h);for(c=0;cthis.fk;)this.Ed.shift().callback(null,null)};f.prototype.dh=function(){if(0===this.oe&&0Stamen Design, under CC BY 3.0.'}),Ow],Yw={terrain:{Lb:\"jpg\",opaque:!0},\"terrain-background\":{Lb:\"jpg\",opaque:!0},\"terrain-labels\":{Lb:\"png\",opaque:!1},\"terrain-lines\":{Lb:\"png\",opaque:!1},\"toner-background\":{Lb:\"png\",opaque:!0},toner:{Lb:\"png\",opaque:!0},\"toner-hybrid\":{Lb:\"png\",opaque:!1},\"toner-labels\":{Lb:\"png\",opaque:!1},\"toner-lines\":{Lb:\"png\",opaque:!1},\"toner-lite\":{Lb:\"png\",\nopaque:!0},watercolor:{Lb:\"jpg\",opaque:!0}},Xw={terrain:{minZoom:4,maxZoom:18},toner:{minZoom:0,maxZoom:20},watercolor:{minZoom:1,maxZoom:16}};function $w(a){a=a||{};X.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,projection:a.projection,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction,url:a.url,urls:a.urls,wrapX:void 0!==a.wrapX?a.wrapX:!0});this.f=a.params||{};this.l=Oa();qw(this,ax(this))}v($w,X);function ax(a){var b=0,c=[],d;for(d in a.f)c[b++]=d+\"-\"+a.f[d];return c.join(\"/\")}$w.prototype.C=function(){return this.f};\n$w.prototype.nb=function(a){return a};\n$w.prototype.Fc=function(a,b,c){var d=this.tileGrid;d||(d=this.Ta(c));if(!(d.b.length<=a[0])){var e=d.Aa(a,this.l),f=Ma(d.gb(a[0]),this.o);1!=b&&(f=La(f,b,this.o));d={F:\"image\",FORMAT:\"PNG32\",TRANSPARENT:!0};tb(d,this.f);var g=this.urls;g?(c=c.mb.split(\":\").pop(),d.SIZE=f[0]+\",\"+f[1],d.BBOX=e.join(\",\"),d.BBOXSR=c,d.IMAGESR=c,d.DPI=Math.round(d.DPI?d.DPI*b:90*b),a=(1==g.length?g[0]:g[Ia((a[1]<a.status){try{var b=JSON.parse(a.responseText)}catch(c){this.Ve();return}this.og(b)}else this.Ve()};k.zo=function(){this.Ve()};k.pl=function(){return this.f};\nk.og=function(a){var b=Tb(\"EPSG:4326\"),c=this.c;if(a.bounds){var d=Vb(b,c);var e=sb(a.bounds,d)}var f=a.minzoom||0,d=a.maxzoom||22;this.tileGrid=c=xc({extent:zc(c),maxZoom:d,minZoom:f});this.tileUrlFunction=jw(a.tiles,c);if(void 0!==a.attribution&&!this.j){b=void 0!==e?e:b.G();e={};for(var g;f<=d;++f)g=f.toString(),e[g]=[oc(c,b,f)];this.ua([new Ac({html:a.attribution,tileRanges:e})])}this.f=a;bu(this,\"ready\")};k.Ve=function(){bu(this,\"error\")};function ex(a){pw.call(this,{projection:Tb(\"EPSG:3857\"),state:\"loading\"});this.v=void 0!==a.preemptive?a.preemptive:!0;this.l=lw;this.g=void 0;this.f=a.jsonp||!1;if(a.url)if(this.f)gw(a.url,this.pg.bind(this),this.We.bind(this));else{var b=new XMLHttpRequest;b.addEventListener(\"load\",this.Eo.bind(this));b.addEventListener(\"error\",this.Do.bind(this));b.open(\"GET\",a.url);b.send()}else a.tileJSON?this.pg(a.tileJSON):xa(!1,51)}v(ex,pw);k=ex.prototype;\nk.Eo=function(a){a=a.target;if(!a.status||200<=a.status&&300>a.status){try{var b=JSON.parse(a.responseText)}catch(c){this.We();return}this.pg(b)}else this.We()};k.Do=function(){this.We()};k.ml=function(){return this.g};k.zk=function(a,b,c,d,e){this.tileGrid?(b=this.tileGrid.Be(a,b),fx(this.Nc(b[0],b[1],b[2],1,this.c),a,c,d,e)):!0===e?setTimeout(function(){c.call(d,null)},0):c.call(d,null)};k.We=function(){bu(this,\"error\")};\nk.pg=function(a){var b=Tb(\"EPSG:4326\"),c=this.c;if(a.bounds){var d=Vb(b,c);var e=sb(a.bounds,d)}var f=a.minzoom||0,d=a.maxzoom||22;this.tileGrid=c=xc({extent:zc(c),maxZoom:d,minZoom:f});this.g=a.template;var g=a.grids;if(g){this.l=jw(g,c);if(void 0!==a.attribution){b=void 0!==e?e:b.G();for(e={};f<=d;++f)g=f.toString(),e[g]=[oc(c,b,f)];this.ua([new Ac({html:a.attribution,tileRanges:e})])}bu(this,\"ready\")}else bu(this,\"error\")};\nk.Nc=function(a,b,c,d,e){var f=this.Sb(a,b,c);if(this.a.b.hasOwnProperty(f))return this.a.get(f);a=[a,b,c];b=rw(this,a,e);d=this.l(b,d,e);d=new gx(a,void 0!==d?0:4,void 0!==d?d:\"\",this.tileGrid.Aa(a),this.v,this.f);this.a.set(f,d);return d};k.Ug=function(a,b,c){a=this.Sb(a,b,c);this.a.b.hasOwnProperty(a)&&this.a.get(a)};function gx(a,b,c,d,e,f){Ls.call(this,a,b);this.o=c;this.a=d;this.v=e;this.c=this.j=this.g=null;this.l=f}v(gx,Ls);k=gx.prototype;k.Y=function(){return null};\nk.getData=function(a){if(!this.g||!this.j)return null;var b=this.g[Math.floor((1-(a[1]-this.a[1])/(this.a[3]-this.a[1]))*this.g.length)];if(\"string\"!==typeof b)return null;b=b.charCodeAt(Math.floor((a[0]-this.a[0])/(this.a[2]-this.a[0])*b.length));93<=b&&b--;35<=b&&b--;b-=32;a=null;b in this.j&&(b=this.j[b],this.c&&b in this.c?a=this.c[b]:a=b);return a};\nfunction fx(a,b,c,d,e){0==a.state&&!0===e?(Jc(a,\"change\",function(){c.call(d,this.getData(b))},a),hx(a)):!0===e?setTimeout(function(){c.call(d,this.getData(b))}.bind(a),0):c.call(d,a.getData(b))}k.bb=function(){return this.o};k.De=function(){this.state=3;this.s()};k.Ji=function(a){this.g=a.grid;this.j=a.keys;this.c=a.data;this.state=4;this.s()};\nfunction hx(a){if(0==a.state)if(a.state=1,a.l)gw(a.o,a.Ji.bind(a),a.De.bind(a));else{var b=new XMLHttpRequest;b.addEventListener(\"load\",a.Co.bind(a));b.addEventListener(\"error\",a.Bo.bind(a));b.open(\"GET\",a.o);b.send()}}k.Co=function(a){a=a.target;if(!a.status||200<=a.status&&300>a.status){try{var b=JSON.parse(a.responseText)}catch(c){this.De();return}this.Ji(b)}else this.De()};k.Bo=function(){this.De()};k.load=function(){this.v&&hx(this)};function ix(a){a=a||{};var b=a.params||{};X.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,opaque:!(\"TRANSPARENT\"in b?b.TRANSPARENT:1),projection:a.projection,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction,url:a.url,urls:a.urls,wrapX:void 0!==a.wrapX?a.wrapX:!0});this.C=void 0!==a.gutter?a.gutter:0;this.f=b;this.l=!0;this.B=a.serverType;this.T=void 0!==a.hidpi?a.hidpi:!0;this.R=\"\";\njx(this);this.fa=Oa();kx(this);qw(this,lx(this))}v(ix,X);k=ix.prototype;\nk.Fo=function(a,b,c,d){c=Tb(c);var e=this.tileGrid;e||(e=this.Ta(c));b=e.Be(a,b);if(!(e.b.length<=b[0])){var f=e.Da(b[0]),g=e.Aa(b,this.fa),e=Ma(e.gb(b[0]),this.o),h=this.C;h&&(e=Ka(e,h,this.o),g=Qa(g,f*h,g));h={SERVICE:\"WMS\",VERSION:\"1.3.0\",REQUEST:\"GetFeatureInfo\",FORMAT:\"image/png\",TRANSPARENT:!0,QUERY_LAYERS:this.f.LAYERS};tb(h,this.f,d);d=Math.floor((g[3]-a[1])/f);h[this.l?\"I\":\"X\"]=Math.floor((a[0]-g[0])/f);h[this.l?\"J\":\"Y\"]=d;return mx(this,b,e,g,1,c,h)}};k.Xf=function(){return this.C};\nk.Sb=function(a,b,c){return this.R+X.prototype.Sb.call(this,a,b,c)};k.Go=function(){return this.f};\nfunction mx(a,b,c,d,e,f,g){var h=a.urls;if(h){g.WIDTH=c[0];g.HEIGHT=c[1];g[a.l?\"CRS\":\"SRS\"]=f.mb;\"STYLES\"in a.f||(g.STYLES=\"\");if(1!=e)switch(a.B){case \"geoserver\":c=90*e+.5|0;g.FORMAT_OPTIONS=\"FORMAT_OPTIONS\"in g?g.FORMAT_OPTIONS+(\";dpi:\"+c):\"dpi:\"+c;break;case \"mapserver\":g.MAP_RESOLUTION=90*e;break;case \"carmentaserver\":case \"qgis\":g.DPI=90*e;break;default:xa(!1,52)}f=f.b;a.l&&\"ne\"==f.substr(0,2)&&(a=d[0],d[0]=d[1],d[1]=a,a=d[2],d[2]=d[3],d[3]=a);g.BBOX=d.join(\",\");return Fw(1==h.length?h[0]:h[Ia((b[1]<<\nb[0])+b[2],h.length)],g)}}k.nb=function(a){return this.T&&void 0!==this.B?a:1};function jx(a){var b=0,c=[];if(a.urls){var d;var e=0;for(d=a.urls.length;ef||d>f;)e.push([Math.ceil(c/f),Math.ceil(d/f)]),f+=f;break;case wx:for(;c>f||d>f;)e.push([Math.ceil(c/f),Math.ceil(d/f)]),c>>=1,d>>=1;break;default:xa(!1,53)}e.push([1,1]);e.reverse();for(var f=[1],g=[0],d=1,c=e.length;d=b+this.b&&h.height>=c+this.b)return f={offsetX:h.x+this.b,offsetY:h.y+this.b,image:this.f},this.c[a]=f,d.call(e,this.i,h.x+this.b,h.y+this.b),a=g,b+=this.b,d=c+this.b,h.width-b>h.height-d?(c={x:h.x+b,y:h.y,width:h.width-b,height:h.height},b={x:h.x,y:h.y+d,width:b,height:h.height-d},zx(this,a,c,b)):(c={x:h.x+b,y:h.y,width:h.width-b,height:d},b={x:h.x,y:h.y+d,width:h.width,height:h.height-d},\nzx(this,a,c,b)),f}return null};function zx(a,b,c,d){b=[b,1];0this.i||c+this.b>this.i)return null;d=Bx(this,!1,a,b,c,d,f);if(!d)return null;a=Bx(this,!0,a,b,c,e?e:ua,f);return{offsetX:d.offsetX,offsetY:d.offsetY,image:d.image,Zl:a.image}};\nfunction Bx(a,b,c,d,e,f,g){var h=b?a.g:a.f,l;var m=0;for(l=h.length;ma?sd(2*a):1-sd(2*(a-.5))});\nt(\"ol.extent.boundingExtent\",Na);t(\"ol.extent.buffer\",Qa);t(\"ol.extent.containsCoordinate\",Ta);t(\"ol.extent.containsExtent\",Va);t(\"ol.extent.containsXY\",Ua);t(\"ol.extent.createEmpty\",Oa);t(\"ol.extent.equals\",bb);t(\"ol.extent.extend\",cb);t(\"ol.extent.getArea\",jb);t(\"ol.extent.getBottomLeft\",eb);t(\"ol.extent.getBottomRight\",gb);t(\"ol.extent.getCenter\",nb);t(\"ol.extent.getHeight\",mb);t(\"ol.extent.getIntersection\",pb);t(\"ol.extent.getSize\",function(a){return[a[2]-a[0],a[3]-a[1]]});\nt(\"ol.extent.getTopLeft\",ib);t(\"ol.extent.getTopRight\",hb);t(\"ol.extent.getWidth\",lb);t(\"ol.extent.intersects\",qb);t(\"ol.extent.isEmpty\",kb);t(\"ol.extent.applyTransform\",sb);t(\"ol.Feature\",H);H.prototype.clone=H.prototype.clone;H.prototype.getGeometry=H.prototype.V;H.prototype.getId=H.prototype.wm;H.prototype.getGeometryName=H.prototype.Qk;H.prototype.getStyle=H.prototype.xm;H.prototype.getStyleFunction=H.prototype.Lc;H.prototype.setGeometry=H.prototype.Ra;H.prototype.setStyle=H.prototype.hg;\nH.prototype.setId=H.prototype.jc;H.prototype.setGeometryName=H.prototype.Tc;t(\"ol.featureloader.xhr\",Dl);t(\"ol.Geolocation\",xs);xs.prototype.getAccuracy=xs.prototype.Dk;xs.prototype.getAccuracyGeometry=xs.prototype.Ek;xs.prototype.getAltitude=xs.prototype.Gk;xs.prototype.getAltitudeAccuracy=xs.prototype.Hk;xs.prototype.getHeading=xs.prototype.ym;xs.prototype.getPosition=xs.prototype.zm;xs.prototype.getProjection=xs.prototype.Uh;xs.prototype.getSpeed=xs.prototype.ll;xs.prototype.getTracking=xs.prototype.Vh;\nxs.prototype.getTrackingOptions=xs.prototype.Gh;xs.prototype.setProjection=xs.prototype.Wh;xs.prototype.setTracking=xs.prototype.Ke;xs.prototype.setTrackingOptions=xs.prototype.wj;t(\"ol.Graticule\",Ds);Ds.prototype.getMap=Ds.prototype.Cm;Ds.prototype.getMeridians=Ds.prototype.al;Ds.prototype.getParallels=Ds.prototype.hl;Ds.prototype.setMap=Ds.prototype.setMap;t(\"ol.has.DEVICE_PIXEL_RATIO\",Sd);t(\"ol.has.CANVAS\",Ud);t(\"ol.has.DEVICE_ORIENTATION\",Vd);t(\"ol.has.GEOLOCATION\",Wd);t(\"ol.has.TOUCH\",Xd);\nt(\"ol.has.WEBGL\",Md);Js.prototype.getImage=Js.prototype.Y;Js.prototype.load=Js.prototype.load;Os.prototype.getImage=Os.prototype.Y;t(\"ol.inherits\",v);t(\"ol.interaction.defaults\",qh);t(\"ol.Kinetic\",kg);t(\"ol.loadingstrategy.all\",Zt);t(\"ol.loadingstrategy.bbox\",function(a){return[a]});t(\"ol.loadingstrategy.tile\",function(a){return function(b,c){c=a.tc(c);b=oc(a,b,c);var d=[];c=[c,0,0];for(c[1]=b.ca;c[1]<=b.$;++c[1])for(c[2]=b.da;c[2]<=b.ia;++c[2])d.push(a.Aa(c));return d}});t(\"ol.Map\",G);\nG.prototype.addControl=G.prototype.kk;G.prototype.addInteraction=G.prototype.lk;G.prototype.addLayer=G.prototype.ih;G.prototype.addOverlay=G.prototype.jh;G.prototype.forEachFeatureAtPixel=G.prototype.we;G.prototype.forEachLayerAtPixel=G.prototype.Im;G.prototype.hasFeatureAtPixel=G.prototype.Yl;G.prototype.getEventCoordinate=G.prototype.Tf;G.prototype.getEventPixel=G.prototype.xe;G.prototype.getTarget=G.prototype.ag;G.prototype.getTargetElement=G.prototype.jd;G.prototype.getCoordinateFromPixel=G.prototype.Wa;\nG.prototype.getControls=G.prototype.Lk;G.prototype.getOverlays=G.prototype.fl;G.prototype.getOverlayById=G.prototype.el;G.prototype.getInteractions=G.prototype.Sk;G.prototype.getLayerGroup=G.prototype.Kc;G.prototype.getLayers=G.prototype.Xh;G.prototype.getPixelFromCoordinate=G.prototype.Ja;G.prototype.getSize=G.prototype.Ob;G.prototype.getView=G.prototype.Z;G.prototype.getViewport=G.prototype.sl;G.prototype.renderSync=G.prototype.Tp;G.prototype.render=G.prototype.render;\nG.prototype.removeControl=G.prototype.Mp;G.prototype.removeInteraction=G.prototype.Np;G.prototype.removeLayer=G.prototype.Pp;G.prototype.removeOverlay=G.prototype.Qp;G.prototype.setLayerGroup=G.prototype.qj;G.prototype.setSize=G.prototype.Qg;G.prototype.setTarget=G.prototype.Le;G.prototype.setView=G.prototype.iq;G.prototype.updateSize=G.prototype.Ad;Jd.prototype.originalEvent=Jd.prototype.originalEvent;Jd.prototype.pixel=Jd.prototype.pixel;Jd.prototype.coordinate=Jd.prototype.coordinate;\nJd.prototype.dragging=Jd.prototype.dragging;Id.prototype.map=Id.prototype.map;Id.prototype.frameState=Id.prototype.frameState;t(\"ol.Object\",Tc);Tc.prototype.get=Tc.prototype.get;Tc.prototype.getKeys=Tc.prototype.O;Tc.prototype.getProperties=Tc.prototype.N;Tc.prototype.set=Tc.prototype.set;Tc.prototype.setProperties=Tc.prototype.H;Tc.prototype.unset=Tc.prototype.P;Xc.prototype.key=Xc.prototype.key;Xc.prototype.oldValue=Xc.prototype.oldValue;t(\"ol.Observable\",Sc);\nt(\"ol.Observable.unByKey\",function(a){if(Array.isArray(a))for(var b=0,c=a.length;be&&(e=0);var f=c.TileMatrixSetLink[e].TileMatrixSet;var g=c.TileMatrixSetLink[e].TileMatrixSetLimits;var h=c.Format[0];\"format\"in b&&(h=b.format);e=sa(c.Style,function(a){return\"style\"in b?a.Title==b.style:a.isDefault});0>e&&(e=0);e=c.Style[e].Identifier;var l={};\"Dimension\"in c&&c.Dimension.forEach(function(a){var b=a.Identifier,c=a.Default;void 0===c&&(c=a.Value[0]);l[b]=c});var m=na(a.Contents.TileMatrixSet,function(a){return a.Identifier==f});var n=\"projection\"in b?Tb(b.projection):\nTb(m.SupportedCRS.replace(/urn:ogc:def:crs:(\\w+):(.*:)?(\\w+)$/,\"$1:$3\"));var p=c.WGS84BoundingBox;if(void 0!==p){var q=Tb(\"EPSG:4326\").G();q=p[0]==q[0]&&p[2]==q[2];var r=hc(p,\"EPSG:4326\",n);(p=n.G())&&(Va(p,r)||(r=void 0))}g=sx(m,r,g);var u=[],m=b.requestEncoding,m=void 0!==m?m:\"\";if(\"OperationsMetadata\"in a&&\"GetTile\"in a.OperationsMetadata)for(a=a.OperationsMetadata.GetTile.DCP.HTTP.Get,r=0,p=a.length;r 60) {\n return 60;\n }\n }\n return zone;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/adjust_zone.js\n// module id = 405\n// module chunks = 0","import hypot from './hypot';\nimport log1py from './log1py';\n\nexport default function(x) {\n var y = Math.abs(x);\n y = log1py(y * (1 + y / (hypot(1, y) + 1)));\n\n return x < 0 ? -y : y;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/asinhy.js\n// module id = 406\n// module chunks = 0","export default function(pp, arg_r) {\n var r = 2 * Math.cos(arg_r);\n var i = pp.length - 1;\n var hr1 = pp[i];\n var hr2 = 0;\n var hr;\n\n while (--i >= 0) {\n hr = -hr2 + r * hr1 + pp[i];\n hr2 = hr1;\n hr1 = hr;\n }\n\n return Math.sin(arg_r) * hr;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/clens.js\n// module id = 407\n// module chunks = 0","import sinh from './sinh';\nimport cosh from './cosh';\n\nexport default function(pp, arg_r, arg_i) {\n var sin_arg_r = Math.sin(arg_r);\n var cos_arg_r = Math.cos(arg_r);\n var sinh_arg_i = sinh(arg_i);\n var cosh_arg_i = cosh(arg_i);\n var r = 2 * cos_arg_r * cosh_arg_i;\n var i = -2 * sin_arg_r * sinh_arg_i;\n var j = pp.length - 1;\n var hr = pp[j];\n var hi1 = 0;\n var hr1 = 0;\n var hi = 0;\n var hr2;\n var hi2;\n\n while (--j >= 0) {\n hr2 = hr1;\n hi2 = hi1;\n hr1 = hr;\n hi1 = hi;\n hr = -hr2 + r * hr1 - i * hi1 + pp[j];\n hi = -hi2 + i * hr1 + r * hi1;\n }\n\n r = sin_arg_r * cosh_arg_i;\n i = cos_arg_r * sinh_arg_i;\n\n return [r * hr - i * hi, r * hi + i * hr];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/clens_cmplx.js\n// module id = 408\n// module chunks = 0","export default function(x) {\n var r = Math.exp(x);\n r = (r + 1 / r) / 2;\n return r;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/cosh.js\n// module id = 409\n// module chunks = 0","export default function(pp, B) {\n var cos_2B = 2 * Math.cos(2 * B);\n var i = pp.length - 1;\n var h1 = pp[i];\n var h2 = 0;\n var h;\n\n while (--i >= 0) {\n h = -h2 + cos_2B * h1 + pp[i];\n h2 = h1;\n h1 = h;\n }\n\n return (B + h * Math.sin(2 * B));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/gatg.js\n// module id = 410\n// module chunks = 0","import {HALF_PI} from '../constants/values';\n\nexport default function(eccent, q) {\n var temp = 1 - (1 - eccent * eccent) / (2 * eccent) * Math.log((1 - eccent) / (1 + eccent));\n if (Math.abs(Math.abs(q) - temp) < 1.0E-6) {\n if (q < 0) {\n return (-1 * HALF_PI);\n }\n else {\n return HALF_PI;\n }\n }\n //var phi = 0.5* q/(1-eccent*eccent);\n var phi = Math.asin(0.5 * q);\n var dphi;\n var sin_phi;\n var cos_phi;\n var con;\n for (var i = 0; i < 30; i++) {\n sin_phi = Math.sin(phi);\n cos_phi = Math.cos(phi);\n con = eccent * sin_phi;\n dphi = Math.pow(1 - con * con, 2) / (2 * cos_phi) * (q / (1 - eccent * eccent) - sin_phi / (1 - con * con) + 0.5 / eccent * Math.log((1 - con) / (1 + con)));\n phi += dphi;\n if (Math.abs(dphi) <= 0.0000000001) {\n return phi;\n }\n }\n\n //console.log(\"IQSFN-CONV:Latitude failed to converge after 30 iterations\");\n return NaN;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/iqsfnz.js\n// module id = 411\n// module chunks = 0","export default function(x) {\n var y = 1 + x;\n var z = y - 1;\n\n return z === 0 ? x : x * Math.log(y) / z;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/log1py.js\n// module id = 412\n// module chunks = 0","export default function(esinp, exp) {\n return (Math.pow((1 - esinp) / (1 + esinp), exp));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/srat.js\n// module id = 413\n// module chunks = 0","var exports = {};\nexport {exports as default};\nexports.wgs84 = {\n towgs84: \"0,0,0\",\n ellipse: \"WGS84\",\n datumName: \"WGS84\"\n};\n\nexports.ch1903 = {\n towgs84: \"674.374,15.056,405.346\",\n ellipse: \"bessel\",\n datumName: \"swiss\"\n};\n\nexports.ggrs87 = {\n towgs84: \"-199.87,74.79,246.62\",\n ellipse: \"GRS80\",\n datumName: \"Greek_Geodetic_Reference_System_1987\"\n};\n\nexports.nad83 = {\n towgs84: \"0,0,0\",\n ellipse: \"GRS80\",\n datumName: \"North_American_Datum_1983\"\n};\n\nexports.nad27 = {\n nadgrids: \"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat\",\n ellipse: \"clrk66\",\n datumName: \"North_American_Datum_1927\"\n};\n\nexports.potsdam = {\n towgs84: \"606.0,23.0,413.0\",\n ellipse: \"bessel\",\n datumName: \"Potsdam Rauenberg 1950 DHDN\"\n};\n\nexports.carthage = {\n towgs84: \"-263.0,6.0,431.0\",\n ellipse: \"clark80\",\n datumName: \"Carthage 1934 Tunisia\"\n};\n\nexports.hermannskogel = {\n towgs84: \"653.0,-212.0,449.0\",\n ellipse: \"bessel\",\n datumName: \"Hermannskogel\"\n};\n\nexports.ire65 = {\n towgs84: \"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15\",\n ellipse: \"mod_airy\",\n datumName: \"Ireland 1965\"\n};\n\nexports.rassadiran = {\n towgs84: \"-133.63,-157.5,-158.62\",\n ellipse: \"intl\",\n datumName: \"Rassadiran\"\n};\n\nexports.nzgd49 = {\n towgs84: \"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993\",\n ellipse: \"intl\",\n datumName: \"New Zealand Geodetic Datum 1949\"\n};\n\nexports.osgb36 = {\n towgs84: \"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894\",\n ellipse: \"airy\",\n datumName: \"Airy 1830\"\n};\n\nexports.s_jtsk = {\n towgs84: \"589,76,480\",\n ellipse: 'bessel',\n datumName: 'S-JTSK (Ferro)'\n};\n\nexports.beduaram = {\n towgs84: '-106,-87,188',\n ellipse: 'clrk80',\n datumName: 'Beduaram'\n};\n\nexports.gunung_segara = {\n towgs84: '-403,684,41',\n ellipse: 'bessel',\n datumName: 'Gunung Segara Jakarta'\n};\n\nexports.rnb72 = {\n towgs84: \"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1\",\n ellipse: \"intl\",\n datumName: \"Reseau National Belge 1972\"\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/constants/Datum.js\n// module id = 414\n// module chunks = 0","var exports = {};\nexport {exports as default};\nexports.MERIT = {\n a: 6378137.0,\n rf: 298.257,\n ellipseName: \"MERIT 1983\"\n};\n\nexports.SGS85 = {\n a: 6378136.0,\n rf: 298.257,\n ellipseName: \"Soviet Geodetic System 85\"\n};\n\nexports.GRS80 = {\n a: 6378137.0,\n rf: 298.257222101,\n ellipseName: \"GRS 1980(IUGG, 1980)\"\n};\n\nexports.IAU76 = {\n a: 6378140.0,\n rf: 298.257,\n ellipseName: \"IAU 1976\"\n};\n\nexports.airy = {\n a: 6377563.396,\n b: 6356256.910,\n ellipseName: \"Airy 1830\"\n};\n\nexports.APL4 = {\n a: 6378137,\n rf: 298.25,\n ellipseName: \"Appl. Physics. 1965\"\n};\n\nexports.NWL9D = {\n a: 6378145.0,\n rf: 298.25,\n ellipseName: \"Naval Weapons Lab., 1965\"\n};\n\nexports.mod_airy = {\n a: 6377340.189,\n b: 6356034.446,\n ellipseName: \"Modified Airy\"\n};\n\nexports.andrae = {\n a: 6377104.43,\n rf: 300.0,\n ellipseName: \"Andrae 1876 (Den., Iclnd.)\"\n};\n\nexports.aust_SA = {\n a: 6378160.0,\n rf: 298.25,\n ellipseName: \"Australian Natl & S. Amer. 1969\"\n};\n\nexports.GRS67 = {\n a: 6378160.0,\n rf: 298.2471674270,\n ellipseName: \"GRS 67(IUGG 1967)\"\n};\n\nexports.bessel = {\n a: 6377397.155,\n rf: 299.1528128,\n ellipseName: \"Bessel 1841\"\n};\n\nexports.bess_nam = {\n a: 6377483.865,\n rf: 299.1528128,\n ellipseName: \"Bessel 1841 (Namibia)\"\n};\n\nexports.clrk66 = {\n a: 6378206.4,\n b: 6356583.8,\n ellipseName: \"Clarke 1866\"\n};\n\nexports.clrk80 = {\n a: 6378249.145,\n rf: 293.4663,\n ellipseName: \"Clarke 1880 mod.\"\n};\n\nexports.clrk58 = {\n a: 6378293.645208759,\n rf: 294.2606763692654,\n ellipseName: \"Clarke 1858\"\n};\n\nexports.CPM = {\n a: 6375738.7,\n rf: 334.29,\n ellipseName: \"Comm. des Poids et Mesures 1799\"\n};\n\nexports.delmbr = {\n a: 6376428.0,\n rf: 311.5,\n ellipseName: \"Delambre 1810 (Belgium)\"\n};\n\nexports.engelis = {\n a: 6378136.05,\n rf: 298.2566,\n ellipseName: \"Engelis 1985\"\n};\n\nexports.evrst30 = {\n a: 6377276.345,\n rf: 300.8017,\n ellipseName: \"Everest 1830\"\n};\n\nexports.evrst48 = {\n a: 6377304.063,\n rf: 300.8017,\n ellipseName: \"Everest 1948\"\n};\n\nexports.evrst56 = {\n a: 6377301.243,\n rf: 300.8017,\n ellipseName: \"Everest 1956\"\n};\n\nexports.evrst69 = {\n a: 6377295.664,\n rf: 300.8017,\n ellipseName: \"Everest 1969\"\n};\n\nexports.evrstSS = {\n a: 6377298.556,\n rf: 300.8017,\n ellipseName: \"Everest (Sabah & Sarawak)\"\n};\n\nexports.fschr60 = {\n a: 6378166.0,\n rf: 298.3,\n ellipseName: \"Fischer (Mercury Datum) 1960\"\n};\n\nexports.fschr60m = {\n a: 6378155.0,\n rf: 298.3,\n ellipseName: \"Fischer 1960\"\n};\n\nexports.fschr68 = {\n a: 6378150.0,\n rf: 298.3,\n ellipseName: \"Fischer 1968\"\n};\n\nexports.helmert = {\n a: 6378200.0,\n rf: 298.3,\n ellipseName: \"Helmert 1906\"\n};\n\nexports.hough = {\n a: 6378270.0,\n rf: 297.0,\n ellipseName: \"Hough\"\n};\n\nexports.intl = {\n a: 6378388.0,\n rf: 297.0,\n ellipseName: \"International 1909 (Hayford)\"\n};\n\nexports.kaula = {\n a: 6378163.0,\n rf: 298.24,\n ellipseName: \"Kaula 1961\"\n};\n\nexports.lerch = {\n a: 6378139.0,\n rf: 298.257,\n ellipseName: \"Lerch 1979\"\n};\n\nexports.mprts = {\n a: 6397300.0,\n rf: 191.0,\n ellipseName: \"Maupertius 1738\"\n};\n\nexports.new_intl = {\n a: 6378157.5,\n b: 6356772.2,\n ellipseName: \"New International 1967\"\n};\n\nexports.plessis = {\n a: 6376523.0,\n rf: 6355863.0,\n ellipseName: \"Plessis 1817 (France)\"\n};\n\nexports.krass = {\n a: 6378245.0,\n rf: 298.3,\n ellipseName: \"Krassovsky, 1942\"\n};\n\nexports.SEasia = {\n a: 6378155.0,\n b: 6356773.3205,\n ellipseName: \"Southeast Asia\"\n};\n\nexports.walbeck = {\n a: 6376896.0,\n b: 6355834.8467,\n ellipseName: \"Walbeck\"\n};\n\nexports.WGS60 = {\n a: 6378165.0,\n rf: 298.3,\n ellipseName: \"WGS 60\"\n};\n\nexports.WGS66 = {\n a: 6378145.0,\n rf: 298.25,\n ellipseName: \"WGS 66\"\n};\n\nexports.WGS7 = {\n a: 6378135.0,\n rf: 298.26,\n ellipseName: \"WGS 72\"\n};\n\nexport var WGS84 = exports.WGS84 = {\n a: 6378137.0,\n rf: 298.257223563,\n ellipseName: \"WGS 84\"\n};\n\nexports.sphere = {\n a: 6370997.0,\n b: 6370997.0,\n ellipseName: \"Normal Sphere (r=6370997)\"\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/constants/Ellipsoid.js\n// module id = 415\n// module chunks = 0","var exports = {};\nexport {exports as default};\n\nexports.greenwich = 0.0; //\"0dE\",\nexports.lisbon = -9.131906111111; //\"9d07'54.862\\\"W\",\nexports.paris = 2.337229166667; //\"2d20'14.025\\\"E\",\nexports.bogota = -74.080916666667; //\"74d04'51.3\\\"W\",\nexports.madrid = -3.687938888889; //\"3d41'16.58\\\"W\",\nexports.rome = 12.452333333333; //\"12d27'8.4\\\"E\",\nexports.bern = 7.439583333333; //\"7d26'22.5\\\"E\",\nexports.jakarta = 106.807719444444; //\"106d48'27.79\\\"E\",\nexports.ferro = -17.666666666667; //\"17d40'W\",\nexports.brussels = 4.367975; //\"4d22'4.71\\\"E\",\nexports.stockholm = 18.058277777778; //\"18d3'29.8\\\"E\",\nexports.athens = 23.7163375; //\"23d42'58.815\\\"E\",\nexports.oslo = 10.722916666667; //\"10d43'22.5\\\"E\"\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/constants/PrimeMeridian.js\n// module id = 416\n// module chunks = 0","export default {\n ft: {to_meter: 0.3048},\n 'us-ft': {to_meter: 1200 / 3937}\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/constants/units.js\n// module id = 417\n// module chunks = 0","import proj from './Proj';\nimport transform from './transform';\nvar wgs84 = proj('WGS84');\n\nfunction transformer(from, to, coords) {\n var transformedArray;\n if (Array.isArray(coords)) {\n transformedArray = transform(from, to, coords);\n if (coords.length === 3) {\n return [transformedArray.x, transformedArray.y, transformedArray.z];\n }\n else {\n return [transformedArray.x, transformedArray.y];\n }\n }\n else {\n return transform(from, to, coords);\n }\n}\n\nfunction checkProj(item) {\n if (item instanceof proj) {\n return item;\n }\n if (item.oProj) {\n return item.oProj;\n }\n return proj(item);\n}\nfunction proj4(fromProj, toProj, coord) {\n fromProj = checkProj(fromProj);\n var single = false;\n var obj;\n if (typeof toProj === 'undefined') {\n toProj = fromProj;\n fromProj = wgs84;\n single = true;\n }\n else if (typeof toProj.x !== 'undefined' || Array.isArray(toProj)) {\n coord = toProj;\n toProj = fromProj;\n fromProj = wgs84;\n single = true;\n }\n toProj = checkProj(toProj);\n if (coord) {\n return transformer(fromProj, toProj, coord);\n }\n else {\n obj = {\n forward: function(coords) {\n return transformer(fromProj, toProj, coords);\n },\n inverse: function(coords) {\n return transformer(toProj, fromProj, coords);\n }\n };\n if (single) {\n obj.oProj = toProj;\n }\n return obj;\n }\n}\nexport default proj4;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/core.js\n// module id = 418\n// module chunks = 0","import {PJD_3PARAM, PJD_7PARAM, PJD_WGS84, PJD_NODATUM, SEC_TO_RAD} from './constants/values';\n\nfunction datum(datumCode, datum_params, a, b, es, ep2) {\n var out = {};\n\n if (datumCode === undefined || datumCode === 'none') {\n out.datum_type = PJD_NODATUM;\n } else {\n out.datum_type = PJD_WGS84;\n }\n\n if (datum_params) {\n out.datum_params = datum_params.map(parseFloat);\n if (out.datum_params[0] !== 0 || out.datum_params[1] !== 0 || out.datum_params[2] !== 0) {\n out.datum_type = PJD_3PARAM;\n }\n if (out.datum_params.length > 3) {\n if (out.datum_params[3] !== 0 || out.datum_params[4] !== 0 || out.datum_params[5] !== 0 || out.datum_params[6] !== 0) {\n out.datum_type = PJD_7PARAM;\n out.datum_params[3] *= SEC_TO_RAD;\n out.datum_params[4] *= SEC_TO_RAD;\n out.datum_params[5] *= SEC_TO_RAD;\n out.datum_params[6] = (out.datum_params[6] / 1000000.0) + 1.0;\n }\n }\n }\n\n out.a = a; //datum object also uses these values\n out.b = b;\n out.es = es;\n out.ep2 = ep2;\n return out;\n}\n\nexport default datum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/datum.js\n// module id = 419\n// module chunks = 0","'use strict';\nimport {PJD_3PARAM, PJD_7PARAM, HALF_PI} from './constants/values';\nexport function compareDatums(source, dest) {\n if (source.datum_type !== dest.datum_type) {\n return false; // false, datums are not equal\n } else if (source.a !== dest.a || Math.abs(source.es - dest.es) > 0.000000000050) {\n // the tolerance for es is to ensure that GRS80 and WGS84\n // are considered identical\n return false;\n } else if (source.datum_type === PJD_3PARAM) {\n return (source.datum_params[0] === dest.datum_params[0] && source.datum_params[1] === dest.datum_params[1] && source.datum_params[2] === dest.datum_params[2]);\n } else if (source.datum_type === PJD_7PARAM) {\n return (source.datum_params[0] === dest.datum_params[0] && source.datum_params[1] === dest.datum_params[1] && source.datum_params[2] === dest.datum_params[2] && source.datum_params[3] === dest.datum_params[3] && source.datum_params[4] === dest.datum_params[4] && source.datum_params[5] === dest.datum_params[5] && source.datum_params[6] === dest.datum_params[6]);\n } else {\n return true; // datums are equal\n }\n} // cs_compare_datums()\n\n/*\n * The function Convert_Geodetic_To_Geocentric converts geodetic coordinates\n * (latitude, longitude, and height) to geocentric coordinates (X, Y, Z),\n * according to the current ellipsoid parameters.\n *\n * Latitude : Geodetic latitude in radians (input)\n * Longitude : Geodetic longitude in radians (input)\n * Height : Geodetic height, in meters (input)\n * X : Calculated Geocentric X coordinate, in meters (output)\n * Y : Calculated Geocentric Y coordinate, in meters (output)\n * Z : Calculated Geocentric Z coordinate, in meters (output)\n *\n */\nexport function geodeticToGeocentric(p, es, a) {\n var Longitude = p.x;\n var Latitude = p.y;\n var Height = p.z ? p.z : 0; //Z value not always supplied\n\n var Rn; /* Earth radius at location */\n var Sin_Lat; /* Math.sin(Latitude) */\n var Sin2_Lat; /* Square of Math.sin(Latitude) */\n var Cos_Lat; /* Math.cos(Latitude) */\n\n /*\n ** Don't blow up if Latitude is just a little out of the value\n ** range as it may just be a rounding issue. Also removed longitude\n ** test, it should be wrapped by Math.cos() and Math.sin(). NFW for PROJ.4, Sep/2001.\n */\n if (Latitude < -HALF_PI && Latitude > -1.001 * HALF_PI) {\n Latitude = -HALF_PI;\n } else if (Latitude > HALF_PI && Latitude < 1.001 * HALF_PI) {\n Latitude = HALF_PI;\n } else if ((Latitude < -HALF_PI) || (Latitude > HALF_PI)) {\n /* Latitude out of range */\n //..reportError('geocent:lat out of range:' + Latitude);\n return null;\n }\n\n if (Longitude > Math.PI) {\n Longitude -= (2 * Math.PI);\n }\n Sin_Lat = Math.sin(Latitude);\n Cos_Lat = Math.cos(Latitude);\n Sin2_Lat = Sin_Lat * Sin_Lat;\n Rn = a / (Math.sqrt(1.0e0 - es * Sin2_Lat));\n return {\n x: (Rn + Height) * Cos_Lat * Math.cos(Longitude),\n y: (Rn + Height) * Cos_Lat * Math.sin(Longitude),\n z: ((Rn * (1 - es)) + Height) * Sin_Lat\n };\n} // cs_geodetic_to_geocentric()\n\nexport function geocentricToGeodetic(p, es, a, b) {\n /* local defintions and variables */\n /* end-criterium of loop, accuracy of sin(Latitude) */\n var genau = 1e-12;\n var genau2 = (genau * genau);\n var maxiter = 30;\n\n var P; /* distance between semi-minor axis and location */\n var RR; /* distance between center and location */\n var CT; /* sin of geocentric latitude */\n var ST; /* cos of geocentric latitude */\n var RX;\n var RK;\n var RN; /* Earth radius at location */\n var CPHI0; /* cos of start or old geodetic latitude in iterations */\n var SPHI0; /* sin of start or old geodetic latitude in iterations */\n var CPHI; /* cos of searched geodetic latitude */\n var SPHI; /* sin of searched geodetic latitude */\n var SDPHI; /* end-criterium: addition-theorem of sin(Latitude(iter)-Latitude(iter-1)) */\n var iter; /* # of continous iteration, max. 30 is always enough (s.a.) */\n\n var X = p.x;\n var Y = p.y;\n var Z = p.z ? p.z : 0.0; //Z value not always supplied\n var Longitude;\n var Latitude;\n var Height;\n\n P = Math.sqrt(X * X + Y * Y);\n RR = Math.sqrt(X * X + Y * Y + Z * Z);\n\n /* special cases for latitude and longitude */\n if (P / a < genau) {\n\n /* special case, if P=0. (X=0., Y=0.) */\n Longitude = 0.0;\n\n /* if (X,Y,Z)=(0.,0.,0.) then Height becomes semi-minor axis\n * of ellipsoid (=center of mass), Latitude becomes PI/2 */\n if (RR / a < genau) {\n Latitude = HALF_PI;\n Height = -b;\n return {\n x: p.x,\n y: p.y,\n z: p.z\n };\n }\n } else {\n /* ellipsoidal (geodetic) longitude\n * interval: -PI < Longitude <= +PI */\n Longitude = Math.atan2(Y, X);\n }\n\n /* --------------------------------------------------------------\n * Following iterative algorithm was developped by\n * \"Institut for Erdmessung\", University of Hannover, July 1988.\n * Internet: www.ife.uni-hannover.de\n * Iterative computation of CPHI,SPHI and Height.\n * Iteration of CPHI and SPHI to 10**-12 radian resp.\n * 2*10**-7 arcsec.\n * --------------------------------------------------------------\n */\n CT = Z / RR;\n ST = P / RR;\n RX = 1.0 / Math.sqrt(1.0 - es * (2.0 - es) * ST * ST);\n CPHI0 = ST * (1.0 - es) * RX;\n SPHI0 = CT * RX;\n iter = 0;\n\n /* loop to find sin(Latitude) resp. Latitude\n * until |sin(Latitude(iter)-Latitude(iter-1))| < genau */\n do {\n iter++;\n RN = a / Math.sqrt(1.0 - es * SPHI0 * SPHI0);\n\n /* ellipsoidal (geodetic) height */\n Height = P * CPHI0 + Z * SPHI0 - RN * (1.0 - es * SPHI0 * SPHI0);\n\n RK = es * RN / (RN + Height);\n RX = 1.0 / Math.sqrt(1.0 - RK * (2.0 - RK) * ST * ST);\n CPHI = ST * (1.0 - RK) * RX;\n SPHI = CT * RX;\n SDPHI = SPHI * CPHI0 - CPHI * SPHI0;\n CPHI0 = CPHI;\n SPHI0 = SPHI;\n }\n while (SDPHI * SDPHI > genau2 && iter < maxiter);\n\n /* ellipsoidal (geodetic) latitude */\n Latitude = Math.atan(SPHI / Math.abs(CPHI));\n return {\n x: Longitude,\n y: Latitude,\n z: Height\n };\n} // cs_geocentric_to_geodetic()\n\n/****************************************************************/\n// pj_geocentic_to_wgs84( p )\n// p = point to transform in geocentric coordinates (x,y,z)\n\n\n/** point object, nothing fancy, just allows values to be\n passed back and forth by reference rather than by value.\n Other point classes may be used as long as they have\n x and y properties, which will get modified in the transform method.\n*/\nexport function geocentricToWgs84(p, datum_type, datum_params) {\n\n if (datum_type === PJD_3PARAM) {\n // if( x[io] === HUGE_VAL )\n // continue;\n return {\n x: p.x + datum_params[0],\n y: p.y + datum_params[1],\n z: p.z + datum_params[2],\n };\n } else if (datum_type === PJD_7PARAM) {\n var Dx_BF = datum_params[0];\n var Dy_BF = datum_params[1];\n var Dz_BF = datum_params[2];\n var Rx_BF = datum_params[3];\n var Ry_BF = datum_params[4];\n var Rz_BF = datum_params[5];\n var M_BF = datum_params[6];\n // if( x[io] === HUGE_VAL )\n // continue;\n return {\n x: M_BF * (p.x - Rz_BF * p.y + Ry_BF * p.z) + Dx_BF,\n y: M_BF * (Rz_BF * p.x + p.y - Rx_BF * p.z) + Dy_BF,\n z: M_BF * (-Ry_BF * p.x + Rx_BF * p.y + p.z) + Dz_BF\n };\n }\n} // cs_geocentric_to_wgs84\n\n/****************************************************************/\n// pj_geocentic_from_wgs84()\n// coordinate system definition,\n// point to transform in geocentric coordinates (x,y,z)\nexport function geocentricFromWgs84(p, datum_type, datum_params) {\n\n if (datum_type === PJD_3PARAM) {\n //if( x[io] === HUGE_VAL )\n // continue;\n return {\n x: p.x - datum_params[0],\n y: p.y - datum_params[1],\n z: p.z - datum_params[2],\n };\n\n } else if (datum_type === PJD_7PARAM) {\n var Dx_BF = datum_params[0];\n var Dy_BF = datum_params[1];\n var Dz_BF = datum_params[2];\n var Rx_BF = datum_params[3];\n var Ry_BF = datum_params[4];\n var Rz_BF = datum_params[5];\n var M_BF = datum_params[6];\n var x_tmp = (p.x - Dx_BF) / M_BF;\n var y_tmp = (p.y - Dy_BF) / M_BF;\n var z_tmp = (p.z - Dz_BF) / M_BF;\n //if( x[io] === HUGE_VAL )\n // continue;\n\n return {\n x: x_tmp + Rz_BF * y_tmp - Ry_BF * z_tmp,\n y: -Rz_BF * x_tmp + y_tmp + Rx_BF * z_tmp,\n z: Ry_BF * x_tmp - Rx_BF * y_tmp + z_tmp\n };\n } //cs_geocentric_from_wgs84()\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/datumUtils.js\n// module id = 420\n// module chunks = 0","import {PJD_3PARAM, PJD_7PARAM, PJD_NODATUM} from './constants/values';\n\nimport {geodeticToGeocentric, geocentricToGeodetic, geocentricToWgs84, geocentricFromWgs84, compareDatums} from './datumUtils';\nfunction checkParams(type) {\n return (type === PJD_3PARAM || type === PJD_7PARAM);\n}\n\nexport default function(source, dest, point) {\n // Short cut if the datums are identical.\n if (compareDatums(source, dest)) {\n return point; // in this case, zero is sucess,\n // whereas cs_compare_datums returns 1 to indicate TRUE\n // confusing, should fix this\n }\n\n // Explicitly skip datum transform by setting 'datum=none' as parameter for either source or dest\n if (source.datum_type === PJD_NODATUM || dest.datum_type === PJD_NODATUM) {\n return point;\n }\n\n // If this datum requires grid shifts, then apply it to geodetic coordinates.\n\n // Do we need to go through geocentric coordinates?\n if (source.es === dest.es && source.a === dest.a && !checkParams(source.datum_type) && !checkParams(dest.datum_type)) {\n return point;\n }\n\n // Convert to geocentric coordinates.\n point = geodeticToGeocentric(point, source.es, source.a);\n // Convert between datums\n if (checkParams(source.datum_type)) {\n point = geocentricToWgs84(point, source.datum_type, source.datum_params);\n }\n if (checkParams(dest.datum_type)) {\n point = geocentricFromWgs84(point, dest.datum_type, dest.datum_params);\n }\n return geocentricToGeodetic(point, dest.es, dest.a, dest.b);\n\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/datum_transform.js\n// module id = 421\n// module chunks = 0","import {SIXTH, RA4, RA6, EPSLN} from './constants/values';\nimport {default as Ellipsoid, WGS84} from './constants/Ellipsoid';\nimport match from './match';\n\nexport function eccentricity(a, b, rf, R_A) {\n var a2 = a * a; // used in geocentric\n var b2 = b * b; // used in geocentric\n var es = (a2 - b2) / a2; // e ^ 2\n var e = 0;\n if (R_A) {\n a *= 1 - es * (SIXTH + es * (RA4 + es * RA6));\n a2 = a * a;\n es = 0;\n } else {\n e = Math.sqrt(es); // eccentricity\n }\n var ep2 = (a2 - b2) / b2; // used in geocentric\n return {\n es: es,\n e: e,\n ep2: ep2\n };\n}\nexport function sphere(a, b, rf, ellps, sphere) {\n if (!a) { // do we have an ellipsoid?\n var ellipse = match(Ellipsoid, ellps);\n if (!ellipse) {\n ellipse = WGS84;\n }\n a = ellipse.a;\n b = ellipse.b;\n rf = ellipse.rf;\n }\n\n if (rf && !b) {\n b = (1.0 - 1.0 / rf) * a;\n }\n if (rf === 0 || Math.abs(a - b) < EPSLN) {\n sphere = true;\n b = a;\n }\n return {\n a: a,\n b: b,\n rf: rf,\n sphere: sphere\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/deriveConstants.js\n// module id = 422\n// module chunks = 0","export default function(destination, source) {\n destination = destination || {};\n var value, property;\n if (!source) {\n return destination;\n }\n for (property in source) {\n value = source[property];\n if (value !== undefined) {\n destination[property] = value;\n }\n }\n return destination;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/extend.js\n// module id = 423\n// module chunks = 0","export default function(defs) {\n defs('EPSG:4326', \"+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees\");\n defs('EPSG:4269', \"+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees\");\n defs('EPSG:3857', \"+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs\");\n\n defs.WGS84 = defs['EPSG:4326'];\n defs['EPSG:3785'] = defs['EPSG:3857']; // maintain backward compat, official code is 3857\n defs.GOOGLE = defs['EPSG:3857'];\n defs['EPSG:900913'] = defs['EPSG:3857'];\n defs['EPSG:102113'] = defs['EPSG:3857'];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/global.js\n// module id = 424\n// module chunks = 0","import proj4 from './core';\nimport Proj from \"./Proj\";\nimport Point from \"./Point\";\nimport common from \"./common/toPoint\";\nimport defs from \"./defs\";\nimport transform from \"./transform\";\nimport mgrs from \"mgrs\";\nimport version from \"./version\";\nimport includedProjections from \"../projs\";\n\nproj4.defaultDatum = 'WGS84'; //default datum\nproj4.Proj = Proj;\nproj4.WGS84 = new proj4.Proj('WGS84');\nproj4.Point = Point;\nproj4.toPoint = common;\nproj4.defs = defs;\nproj4.transform = transform;\nproj4.mgrs = mgrs;\nproj4.version = version;\nincludedProjections(proj4);\nexport default proj4;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/index.js\n// module id = 425\n// module chunks = 0","import defs from './defs';\nimport wkt from 'wkt-parser';\nimport projStr from './projString';\nfunction testObj(code){\n return typeof code === 'string';\n}\nfunction testDef(code){\n return code in defs;\n}\n var codeWords = ['PROJECTEDCRS', 'PROJCRS', 'GEOGCS','GEOCCS','PROJCS','LOCAL_CS', 'GEODCRS', 'GEODETICCRS', 'GEODETICDATUM', 'ENGCRS', 'ENGINEERINGCRS']; \nfunction testWKT(code){\n return codeWords.some(function (word) {\n return code.indexOf(word) > -1;\n });\n}\nfunction testProj(code){\n return code[0] === '+';\n}\nfunction parse(code){\n if (testObj(code)) {\n //check to see if this is a WKT string\n if (testDef(code)) {\n return defs[code];\n }\n if (testWKT(code)) {\n return wkt(code);\n }\n if (testProj(code)) {\n return projStr(code);\n }\n }else{\n return code;\n }\n}\n\nexport default parse;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/parseCode.js\n// module id = 426\n// module chunks = 0","import merc from \"./projections/merc\";\nimport longlat from \"./projections/longlat\";\nvar projs = [merc, longlat];\nvar names = {};\nvar projStore = [];\n\nfunction add(proj, i) {\n var len = projStore.length;\n if (!proj.names) {\n console.log(i);\n return true;\n }\n projStore[len] = proj;\n proj.names.forEach(function(n) {\n names[n.toLowerCase()] = len;\n });\n return this;\n}\n\nexport {add};\n\nexport function get(name) {\n if (!name) {\n return false;\n }\n var n = name.toLowerCase();\n if (typeof names[n] !== 'undefined' && projStore[names[n]]) {\n return projStore[names[n]];\n }\n}\n\nexport function start() {\n projs.forEach(add);\n}\nexport default {\n start: start,\n add: add,\n get: get\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections.js\n// module id = 427\n// module chunks = 0","import msfnz from '../common/msfnz';\nimport qsfnz from '../common/qsfnz';\nimport adjust_lon from '../common/adjust_lon';\nimport asinz from '../common/asinz';\nimport {EPSLN} from '../constants/values';\n\nexport function init() {\n\n if (Math.abs(this.lat1 + this.lat2) < EPSLN) {\n return;\n }\n this.temp = this.b / this.a;\n this.es = 1 - Math.pow(this.temp, 2);\n this.e3 = Math.sqrt(this.es);\n\n this.sin_po = Math.sin(this.lat1);\n this.cos_po = Math.cos(this.lat1);\n this.t1 = this.sin_po;\n this.con = this.sin_po;\n this.ms1 = msfnz(this.e3, this.sin_po, this.cos_po);\n this.qs1 = qsfnz(this.e3, this.sin_po, this.cos_po);\n\n this.sin_po = Math.sin(this.lat2);\n this.cos_po = Math.cos(this.lat2);\n this.t2 = this.sin_po;\n this.ms2 = msfnz(this.e3, this.sin_po, this.cos_po);\n this.qs2 = qsfnz(this.e3, this.sin_po, this.cos_po);\n\n this.sin_po = Math.sin(this.lat0);\n this.cos_po = Math.cos(this.lat0);\n this.t3 = this.sin_po;\n this.qs0 = qsfnz(this.e3, this.sin_po, this.cos_po);\n\n if (Math.abs(this.lat1 - this.lat2) > EPSLN) {\n this.ns0 = (this.ms1 * this.ms1 - this.ms2 * this.ms2) / (this.qs2 - this.qs1);\n }\n else {\n this.ns0 = this.con;\n }\n this.c = this.ms1 * this.ms1 + this.ns0 * this.qs1;\n this.rh = this.a * Math.sqrt(this.c - this.ns0 * this.qs0) / this.ns0;\n}\n\n/* Albers Conical Equal Area forward equations--mapping lat,long to x,y\n -------------------------------------------------------------------*/\nexport function forward(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n this.sin_phi = Math.sin(lat);\n this.cos_phi = Math.cos(lat);\n\n var qs = qsfnz(this.e3, this.sin_phi, this.cos_phi);\n var rh1 = this.a * Math.sqrt(this.c - this.ns0 * qs) / this.ns0;\n var theta = this.ns0 * adjust_lon(lon - this.long0);\n var x = rh1 * Math.sin(theta) + this.x0;\n var y = this.rh - rh1 * Math.cos(theta) + this.y0;\n\n p.x = x;\n p.y = y;\n return p;\n}\n\nexport function inverse(p) {\n var rh1, qs, con, theta, lon, lat;\n\n p.x -= this.x0;\n p.y = this.rh - p.y + this.y0;\n if (this.ns0 >= 0) {\n rh1 = Math.sqrt(p.x * p.x + p.y * p.y);\n con = 1;\n }\n else {\n rh1 = -Math.sqrt(p.x * p.x + p.y * p.y);\n con = -1;\n }\n theta = 0;\n if (rh1 !== 0) {\n theta = Math.atan2(con * p.x, con * p.y);\n }\n con = rh1 * this.ns0 / this.a;\n if (this.sphere) {\n lat = Math.asin((this.c - con * con) / (2 * this.ns0));\n }\n else {\n qs = (this.c - con * con) / this.ns0;\n lat = this.phi1z(this.e3, qs);\n }\n\n lon = adjust_lon(theta / this.ns0 + this.long0);\n p.x = lon;\n p.y = lat;\n return p;\n}\n\n/* Function to compute phi1, the latitude for the inverse of the\n Albers Conical Equal-Area projection.\n-------------------------------------------*/\nexport function phi1z(eccent, qs) {\n var sinphi, cosphi, con, com, dphi;\n var phi = asinz(0.5 * qs);\n if (eccent < EPSLN) {\n return phi;\n }\n\n var eccnts = eccent * eccent;\n for (var i = 1; i <= 25; i++) {\n sinphi = Math.sin(phi);\n cosphi = Math.cos(phi);\n con = eccent * sinphi;\n com = 1 - con * con;\n dphi = 0.5 * com * com / cosphi * (qs / (1 - eccnts) - sinphi / com + 0.5 / eccent * Math.log((1 - con) / (1 + con)));\n phi = phi + dphi;\n if (Math.abs(dphi) <= 1e-7) {\n return phi;\n }\n }\n return null;\n}\n\nexport var names = [\"Albers_Conic_Equal_Area\", \"Albers\", \"aea\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names,\n phi1z: phi1z\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/aea.js\n// module id = 428\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport {HALF_PI, EPSLN} from '../constants/values';\n\nimport mlfn from '../common/mlfn';\nimport e0fn from '../common/e0fn';\nimport e1fn from '../common/e1fn';\nimport e2fn from '../common/e2fn';\nimport e3fn from '../common/e3fn';\nimport gN from '../common/gN';\nimport asinz from '../common/asinz';\nimport imlfn from '../common/imlfn';\n\n\n\nexport function init() {\n this.sin_p12 = Math.sin(this.lat0);\n this.cos_p12 = Math.cos(this.lat0);\n}\n\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var sinphi = Math.sin(p.y);\n var cosphi = Math.cos(p.y);\n var dlon = adjust_lon(lon - this.long0);\n var e0, e1, e2, e3, Mlp, Ml, tanphi, Nl1, Nl, psi, Az, G, H, GH, Hs, c, kp, cos_c, s, s2, s3, s4, s5;\n if (this.sphere) {\n if (Math.abs(this.sin_p12 - 1) <= EPSLN) {\n //North Pole case\n p.x = this.x0 + this.a * (HALF_PI - lat) * Math.sin(dlon);\n p.y = this.y0 - this.a * (HALF_PI - lat) * Math.cos(dlon);\n return p;\n }\n else if (Math.abs(this.sin_p12 + 1) <= EPSLN) {\n //South Pole case\n p.x = this.x0 + this.a * (HALF_PI + lat) * Math.sin(dlon);\n p.y = this.y0 + this.a * (HALF_PI + lat) * Math.cos(dlon);\n return p;\n }\n else {\n //default case\n cos_c = this.sin_p12 * sinphi + this.cos_p12 * cosphi * Math.cos(dlon);\n c = Math.acos(cos_c);\n kp = c / Math.sin(c);\n p.x = this.x0 + this.a * kp * cosphi * Math.sin(dlon);\n p.y = this.y0 + this.a * kp * (this.cos_p12 * sinphi - this.sin_p12 * cosphi * Math.cos(dlon));\n return p;\n }\n }\n else {\n e0 = e0fn(this.es);\n e1 = e1fn(this.es);\n e2 = e2fn(this.es);\n e3 = e3fn(this.es);\n if (Math.abs(this.sin_p12 - 1) <= EPSLN) {\n //North Pole case\n Mlp = this.a * mlfn(e0, e1, e2, e3, HALF_PI);\n Ml = this.a * mlfn(e0, e1, e2, e3, lat);\n p.x = this.x0 + (Mlp - Ml) * Math.sin(dlon);\n p.y = this.y0 - (Mlp - Ml) * Math.cos(dlon);\n return p;\n }\n else if (Math.abs(this.sin_p12 + 1) <= EPSLN) {\n //South Pole case\n Mlp = this.a * mlfn(e0, e1, e2, e3, HALF_PI);\n Ml = this.a * mlfn(e0, e1, e2, e3, lat);\n p.x = this.x0 + (Mlp + Ml) * Math.sin(dlon);\n p.y = this.y0 + (Mlp + Ml) * Math.cos(dlon);\n return p;\n }\n else {\n //Default case\n tanphi = sinphi / cosphi;\n Nl1 = gN(this.a, this.e, this.sin_p12);\n Nl = gN(this.a, this.e, sinphi);\n psi = Math.atan((1 - this.es) * tanphi + this.es * Nl1 * this.sin_p12 / (Nl * cosphi));\n Az = Math.atan2(Math.sin(dlon), this.cos_p12 * Math.tan(psi) - this.sin_p12 * Math.cos(dlon));\n if (Az === 0) {\n s = Math.asin(this.cos_p12 * Math.sin(psi) - this.sin_p12 * Math.cos(psi));\n }\n else if (Math.abs(Math.abs(Az) - Math.PI) <= EPSLN) {\n s = -Math.asin(this.cos_p12 * Math.sin(psi) - this.sin_p12 * Math.cos(psi));\n }\n else {\n s = Math.asin(Math.sin(dlon) * Math.cos(psi) / Math.sin(Az));\n }\n G = this.e * this.sin_p12 / Math.sqrt(1 - this.es);\n H = this.e * this.cos_p12 * Math.cos(Az) / Math.sqrt(1 - this.es);\n GH = G * H;\n Hs = H * H;\n s2 = s * s;\n s3 = s2 * s;\n s4 = s3 * s;\n s5 = s4 * s;\n c = Nl1 * s * (1 - s2 * Hs * (1 - Hs) / 6 + s3 / 8 * GH * (1 - 2 * Hs) + s4 / 120 * (Hs * (4 - 7 * Hs) - 3 * G * G * (1 - 7 * Hs)) - s5 / 48 * GH);\n p.x = this.x0 + c * Math.sin(Az);\n p.y = this.y0 + c * Math.cos(Az);\n return p;\n }\n }\n\n\n}\n\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var rh, z, sinz, cosz, lon, lat, con, e0, e1, e2, e3, Mlp, M, N1, psi, Az, cosAz, tmp, A, B, D, Ee, F;\n if (this.sphere) {\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n if (rh > (2 * HALF_PI * this.a)) {\n return;\n }\n z = rh / this.a;\n\n sinz = Math.sin(z);\n cosz = Math.cos(z);\n\n lon = this.long0;\n if (Math.abs(rh) <= EPSLN) {\n lat = this.lat0;\n }\n else {\n lat = asinz(cosz * this.sin_p12 + (p.y * sinz * this.cos_p12) / rh);\n con = Math.abs(this.lat0) - HALF_PI;\n if (Math.abs(con) <= EPSLN) {\n if (this.lat0 >= 0) {\n lon = adjust_lon(this.long0 + Math.atan2(p.x, - p.y));\n }\n else {\n lon = adjust_lon(this.long0 - Math.atan2(-p.x, p.y));\n }\n }\n else {\n /*con = cosz - this.sin_p12 * Math.sin(lat);\n if ((Math.abs(con) < EPSLN) && (Math.abs(p.x) < EPSLN)) {\n //no-op, just keep the lon value as is\n } else {\n var temp = Math.atan2((p.x * sinz * this.cos_p12), (con * rh));\n lon = adjust_lon(this.long0 + Math.atan2((p.x * sinz * this.cos_p12), (con * rh)));\n }*/\n lon = adjust_lon(this.long0 + Math.atan2(p.x * sinz, rh * this.cos_p12 * cosz - p.y * this.sin_p12 * sinz));\n }\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n e0 = e0fn(this.es);\n e1 = e1fn(this.es);\n e2 = e2fn(this.es);\n e3 = e3fn(this.es);\n if (Math.abs(this.sin_p12 - 1) <= EPSLN) {\n //North pole case\n Mlp = this.a * mlfn(e0, e1, e2, e3, HALF_PI);\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n M = Mlp - rh;\n lat = imlfn(M / this.a, e0, e1, e2, e3);\n lon = adjust_lon(this.long0 + Math.atan2(p.x, - 1 * p.y));\n p.x = lon;\n p.y = lat;\n return p;\n }\n else if (Math.abs(this.sin_p12 + 1) <= EPSLN) {\n //South pole case\n Mlp = this.a * mlfn(e0, e1, e2, e3, HALF_PI);\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n M = rh - Mlp;\n\n lat = imlfn(M / this.a, e0, e1, e2, e3);\n lon = adjust_lon(this.long0 + Math.atan2(p.x, p.y));\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n //default case\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n Az = Math.atan2(p.x, p.y);\n N1 = gN(this.a, this.e, this.sin_p12);\n cosAz = Math.cos(Az);\n tmp = this.e * this.cos_p12 * cosAz;\n A = -tmp * tmp / (1 - this.es);\n B = 3 * this.es * (1 - A) * this.sin_p12 * this.cos_p12 * cosAz / (1 - this.es);\n D = rh / N1;\n Ee = D - A * (1 + A) * Math.pow(D, 3) / 6 - B * (1 + 3 * A) * Math.pow(D, 4) / 24;\n F = 1 - A * Ee * Ee / 2 - D * Ee * Ee * Ee / 6;\n psi = Math.asin(this.sin_p12 * Math.cos(Ee) + this.cos_p12 * Math.sin(Ee) * cosAz);\n lon = adjust_lon(this.long0 + Math.asin(Math.sin(Az) * Math.sin(Ee) / Math.cos(psi)));\n lat = Math.atan((1 - this.es * F * this.sin_p12 / Math.sin(psi)) * Math.tan(psi) / (1 - this.es));\n p.x = lon;\n p.y = lat;\n return p;\n }\n }\n\n}\n\nexport var names = [\"Azimuthal_Equidistant\", \"aeqd\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/aeqd.js\n// module id = 429\n// module chunks = 0","import mlfn from '../common/mlfn';\nimport e0fn from '../common/e0fn';\nimport e1fn from '../common/e1fn';\nimport e2fn from '../common/e2fn';\nimport e3fn from '../common/e3fn';\nimport gN from '../common/gN';\nimport adjust_lon from '../common/adjust_lon';\nimport adjust_lat from '../common/adjust_lat';\nimport imlfn from '../common/imlfn';\nimport {HALF_PI, EPSLN} from '../constants/values';\n\nexport function init() {\n if (!this.sphere) {\n this.e0 = e0fn(this.es);\n this.e1 = e1fn(this.es);\n this.e2 = e2fn(this.es);\n this.e3 = e3fn(this.es);\n this.ml0 = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, this.lat0);\n }\n}\n\n/* Cassini forward equations--mapping lat,long to x,y\n -----------------------------------------------------------------------*/\nexport function forward(p) {\n\n /* Forward equations\n -----------------*/\n var x, y;\n var lam = p.x;\n var phi = p.y;\n lam = adjust_lon(lam - this.long0);\n\n if (this.sphere) {\n x = this.a * Math.asin(Math.cos(phi) * Math.sin(lam));\n y = this.a * (Math.atan2(Math.tan(phi), Math.cos(lam)) - this.lat0);\n }\n else {\n //ellipsoid\n var sinphi = Math.sin(phi);\n var cosphi = Math.cos(phi);\n var nl = gN(this.a, this.e, sinphi);\n var tl = Math.tan(phi) * Math.tan(phi);\n var al = lam * Math.cos(phi);\n var asq = al * al;\n var cl = this.es * cosphi * cosphi / (1 - this.es);\n var ml = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, phi);\n\n x = nl * al * (1 - asq * tl * (1 / 6 - (8 - tl + 8 * cl) * asq / 120));\n y = ml - this.ml0 + nl * sinphi / cosphi * asq * (0.5 + (5 - tl + 6 * cl) * asq / 24);\n\n\n }\n\n p.x = x + this.x0;\n p.y = y + this.y0;\n return p;\n}\n\n/* Inverse equations\n -----------------*/\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var x = p.x / this.a;\n var y = p.y / this.a;\n var phi, lam;\n\n if (this.sphere) {\n var dd = y + this.lat0;\n phi = Math.asin(Math.sin(dd) * Math.cos(x));\n lam = Math.atan2(Math.tan(x), Math.cos(dd));\n }\n else {\n /* ellipsoid */\n var ml1 = this.ml0 / this.a + y;\n var phi1 = imlfn(ml1, this.e0, this.e1, this.e2, this.e3);\n if (Math.abs(Math.abs(phi1) - HALF_PI) <= EPSLN) {\n p.x = this.long0;\n p.y = HALF_PI;\n if (y < 0) {\n p.y *= -1;\n }\n return p;\n }\n var nl1 = gN(this.a, this.e, Math.sin(phi1));\n\n var rl1 = nl1 * nl1 * nl1 / this.a / this.a * (1 - this.es);\n var tl1 = Math.pow(Math.tan(phi1), 2);\n var dl = x * this.a / nl1;\n var dsq = dl * dl;\n phi = phi1 - nl1 * Math.tan(phi1) / rl1 * dl * dl * (0.5 - (1 + 3 * tl1) * dl * dl / 24);\n lam = dl * (1 - dsq * (tl1 / 3 + (1 + 3 * tl1) * tl1 * dsq / 15)) / Math.cos(phi1);\n\n }\n\n p.x = adjust_lon(lam + this.long0);\n p.y = adjust_lat(phi);\n return p;\n\n}\n\nexport var names = [\"Cassini\", \"Cassini_Soldner\", \"cass\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/cass.js\n// module id = 430\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport qsfnz from '../common/qsfnz';\nimport msfnz from '../common/msfnz';\nimport iqsfnz from '../common/iqsfnz';\n\n/*\n reference:\n \"Cartographic Projection Procedures for the UNIX Environment-\n A User's Manual\" by Gerald I. Evenden,\n USGS Open File Report 90-284and Release 4 Interim Reports (2003)\n*/\nexport function init() {\n //no-op\n if (!this.sphere) {\n this.k0 = msfnz(this.e, Math.sin(this.lat_ts), Math.cos(this.lat_ts));\n }\n}\n\n/* Cylindrical Equal Area forward equations--mapping lat,long to x,y\n ------------------------------------------------------------*/\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var x, y;\n /* Forward equations\n -----------------*/\n var dlon = adjust_lon(lon - this.long0);\n if (this.sphere) {\n x = this.x0 + this.a * dlon * Math.cos(this.lat_ts);\n y = this.y0 + this.a * Math.sin(lat) / Math.cos(this.lat_ts);\n }\n else {\n var qs = qsfnz(this.e, Math.sin(lat));\n x = this.x0 + this.a * this.k0 * dlon;\n y = this.y0 + this.a * qs * 0.5 / this.k0;\n }\n\n p.x = x;\n p.y = y;\n return p;\n}\n\n/* Cylindrical Equal Area inverse equations--mapping x,y to lat/long\n ------------------------------------------------------------*/\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var lon, lat;\n\n if (this.sphere) {\n lon = adjust_lon(this.long0 + (p.x / this.a) / Math.cos(this.lat_ts));\n lat = Math.asin((p.y / this.a) * Math.cos(this.lat_ts));\n }\n else {\n lat = iqsfnz(this.e, 2 * p.y * this.k0 / this.a);\n lon = adjust_lon(this.long0 + p.x / (this.a * this.k0));\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"cea\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/cea.js\n// module id = 431\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport adjust_lat from '../common/adjust_lat';\n\nexport function init() {\n\n this.x0 = this.x0 || 0;\n this.y0 = this.y0 || 0;\n this.lat0 = this.lat0 || 0;\n this.long0 = this.long0 || 0;\n this.lat_ts = this.lat_ts || 0;\n this.title = this.title || \"Equidistant Cylindrical (Plate Carre)\";\n\n this.rc = Math.cos(this.lat_ts);\n}\n\n// forward equations--mapping lat,long to x,y\n// -----------------------------------------------------------------\nexport function forward(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n var dlon = adjust_lon(lon - this.long0);\n var dlat = adjust_lat(lat - this.lat0);\n p.x = this.x0 + (this.a * dlon * this.rc);\n p.y = this.y0 + (this.a * dlat);\n return p;\n}\n\n// inverse equations--mapping x,y to lat/long\n// -----------------------------------------------------------------\nexport function inverse(p) {\n\n var x = p.x;\n var y = p.y;\n\n p.x = adjust_lon(this.long0 + ((x - this.x0) / (this.a * this.rc)));\n p.y = adjust_lat(this.lat0 + ((y - this.y0) / (this.a)));\n return p;\n}\n\nexport var names = [\"Equirectangular\", \"Equidistant_Cylindrical\", \"eqc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/eqc.js\n// module id = 432\n// module chunks = 0","import e0fn from '../common/e0fn';\nimport e1fn from '../common/e1fn';\nimport e2fn from '../common/e2fn';\nimport e3fn from '../common/e3fn';\nimport msfnz from '../common/msfnz';\nimport mlfn from '../common/mlfn';\nimport adjust_lon from '../common/adjust_lon';\nimport adjust_lat from '../common/adjust_lat';\nimport imlfn from '../common/imlfn';\nimport {EPSLN} from '../constants/values';\n\nexport function init() {\n\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n // Standard Parallels cannot be equal and on opposite sides of the equator\n if (Math.abs(this.lat1 + this.lat2) < EPSLN) {\n return;\n }\n this.lat2 = this.lat2 || this.lat1;\n this.temp = this.b / this.a;\n this.es = 1 - Math.pow(this.temp, 2);\n this.e = Math.sqrt(this.es);\n this.e0 = e0fn(this.es);\n this.e1 = e1fn(this.es);\n this.e2 = e2fn(this.es);\n this.e3 = e3fn(this.es);\n\n this.sinphi = Math.sin(this.lat1);\n this.cosphi = Math.cos(this.lat1);\n\n this.ms1 = msfnz(this.e, this.sinphi, this.cosphi);\n this.ml1 = mlfn(this.e0, this.e1, this.e2, this.e3, this.lat1);\n\n if (Math.abs(this.lat1 - this.lat2) < EPSLN) {\n this.ns = this.sinphi;\n }\n else {\n this.sinphi = Math.sin(this.lat2);\n this.cosphi = Math.cos(this.lat2);\n this.ms2 = msfnz(this.e, this.sinphi, this.cosphi);\n this.ml2 = mlfn(this.e0, this.e1, this.e2, this.e3, this.lat2);\n this.ns = (this.ms1 - this.ms2) / (this.ml2 - this.ml1);\n }\n this.g = this.ml1 + this.ms1 / this.ns;\n this.ml0 = mlfn(this.e0, this.e1, this.e2, this.e3, this.lat0);\n this.rh = this.a * (this.g - this.ml0);\n}\n\n/* Equidistant Conic forward equations--mapping lat,long to x,y\n -----------------------------------------------------------*/\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var rh1;\n\n /* Forward equations\n -----------------*/\n if (this.sphere) {\n rh1 = this.a * (this.g - lat);\n }\n else {\n var ml = mlfn(this.e0, this.e1, this.e2, this.e3, lat);\n rh1 = this.a * (this.g - ml);\n }\n var theta = this.ns * adjust_lon(lon - this.long0);\n var x = this.x0 + rh1 * Math.sin(theta);\n var y = this.y0 + this.rh - rh1 * Math.cos(theta);\n p.x = x;\n p.y = y;\n return p;\n}\n\n/* Inverse equations\n -----------------*/\nexport function inverse(p) {\n p.x -= this.x0;\n p.y = this.rh - p.y + this.y0;\n var con, rh1, lat, lon;\n if (this.ns >= 0) {\n rh1 = Math.sqrt(p.x * p.x + p.y * p.y);\n con = 1;\n }\n else {\n rh1 = -Math.sqrt(p.x * p.x + p.y * p.y);\n con = -1;\n }\n var theta = 0;\n if (rh1 !== 0) {\n theta = Math.atan2(con * p.x, con * p.y);\n }\n\n if (this.sphere) {\n lon = adjust_lon(this.long0 + theta / this.ns);\n lat = adjust_lat(this.g - rh1 / this.a);\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n var ml = this.g - rh1 / this.a;\n lat = imlfn(ml, this.e0, this.e1, this.e2, this.e3);\n lon = adjust_lon(this.long0 + theta / this.ns);\n p.x = lon;\n p.y = lat;\n return p;\n }\n\n}\n\nexport var names = [\"Equidistant_Conic\", \"eqdc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/eqdc.js\n// module id = 433\n// module chunks = 0","import srat from '../common/srat';\nvar MAX_ITER = 20;\nimport {HALF_PI, FORTPI} from '../constants/values';\n\nexport function init() {\n var sphi = Math.sin(this.lat0);\n var cphi = Math.cos(this.lat0);\n cphi *= cphi;\n this.rc = Math.sqrt(1 - this.es) / (1 - this.es * sphi * sphi);\n this.C = Math.sqrt(1 + this.es * cphi * cphi / (1 - this.es));\n this.phic0 = Math.asin(sphi / this.C);\n this.ratexp = 0.5 * this.C * this.e;\n this.K = Math.tan(0.5 * this.phic0 + FORTPI) / (Math.pow(Math.tan(0.5 * this.lat0 + FORTPI), this.C) * srat(this.e * sphi, this.ratexp));\n}\n\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n\n p.y = 2 * Math.atan(this.K * Math.pow(Math.tan(0.5 * lat + FORTPI), this.C) * srat(this.e * Math.sin(lat), this.ratexp)) - HALF_PI;\n p.x = this.C * lon;\n return p;\n}\n\nexport function inverse(p) {\n var DEL_TOL = 1e-14;\n var lon = p.x / this.C;\n var lat = p.y;\n var num = Math.pow(Math.tan(0.5 * lat + FORTPI) / this.K, 1 / this.C);\n for (var i = MAX_ITER; i > 0; --i) {\n lat = 2 * Math.atan(num * srat(this.e * Math.sin(p.y), - 0.5 * this.e)) - HALF_PI;\n if (Math.abs(lat - p.y) < DEL_TOL) {\n break;\n }\n p.y = lat;\n }\n /* convergence failed */\n if (!i) {\n return null;\n }\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"gauss\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/gauss.js\n// module id = 434\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport asinz from '../common/asinz';\nimport {EPSLN} from '../constants/values';\n\n/*\n reference:\n Wolfram Mathworld \"Gnomonic Projection\"\n http://mathworld.wolfram.com/GnomonicProjection.html\n Accessed: 12th November 2009\n */\nexport function init() {\n\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n this.sin_p14 = Math.sin(this.lat0);\n this.cos_p14 = Math.cos(this.lat0);\n // Approximation for projecting points to the horizon (infinity)\n this.infinity_dist = 1000 * this.a;\n this.rc = 1;\n}\n\n/* Gnomonic forward equations--mapping lat,long to x,y\n ---------------------------------------------------*/\nexport function forward(p) {\n var sinphi, cosphi; /* sin and cos value */\n var dlon; /* delta longitude value */\n var coslon; /* cos of longitude */\n var ksp; /* scale factor */\n var g;\n var x, y;\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n dlon = adjust_lon(lon - this.long0);\n\n sinphi = Math.sin(lat);\n cosphi = Math.cos(lat);\n\n coslon = Math.cos(dlon);\n g = this.sin_p14 * sinphi + this.cos_p14 * cosphi * coslon;\n ksp = 1;\n if ((g > 0) || (Math.abs(g) <= EPSLN)) {\n x = this.x0 + this.a * ksp * cosphi * Math.sin(dlon) / g;\n y = this.y0 + this.a * ksp * (this.cos_p14 * sinphi - this.sin_p14 * cosphi * coslon) / g;\n }\n else {\n\n // Point is in the opposing hemisphere and is unprojectable\n // We still need to return a reasonable point, so we project\n // to infinity, on a bearing\n // equivalent to the northern hemisphere equivalent\n // This is a reasonable approximation for short shapes and lines that\n // straddle the horizon.\n\n x = this.x0 + this.infinity_dist * cosphi * Math.sin(dlon);\n y = this.y0 + this.infinity_dist * (this.cos_p14 * sinphi - this.sin_p14 * cosphi * coslon);\n\n }\n p.x = x;\n p.y = y;\n return p;\n}\n\nexport function inverse(p) {\n var rh; /* Rho */\n var sinc, cosc;\n var c;\n var lon, lat;\n\n /* Inverse equations\n -----------------*/\n p.x = (p.x - this.x0) / this.a;\n p.y = (p.y - this.y0) / this.a;\n\n p.x /= this.k0;\n p.y /= this.k0;\n\n if ((rh = Math.sqrt(p.x * p.x + p.y * p.y))) {\n c = Math.atan2(rh, this.rc);\n sinc = Math.sin(c);\n cosc = Math.cos(c);\n\n lat = asinz(cosc * this.sin_p14 + (p.y * sinc * this.cos_p14) / rh);\n lon = Math.atan2(p.x * sinc, rh * this.cos_p14 * cosc - p.y * this.sin_p14 * sinc);\n lon = adjust_lon(this.long0 + lon);\n }\n else {\n lat = this.phic0;\n lon = 0;\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"gnom\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/gnom.js\n// module id = 435\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\n\nexport function init() {\n this.a = 6377397.155;\n this.es = 0.006674372230614;\n this.e = Math.sqrt(this.es);\n if (!this.lat0) {\n this.lat0 = 0.863937979737193;\n }\n if (!this.long0) {\n this.long0 = 0.7417649320975901 - 0.308341501185665;\n }\n /* if scale not set default to 0.9999 */\n if (!this.k0) {\n this.k0 = 0.9999;\n }\n this.s45 = 0.785398163397448; /* 45 */\n this.s90 = 2 * this.s45;\n this.fi0 = this.lat0;\n this.e2 = this.es;\n this.e = Math.sqrt(this.e2);\n this.alfa = Math.sqrt(1 + (this.e2 * Math.pow(Math.cos(this.fi0), 4)) / (1 - this.e2));\n this.uq = 1.04216856380474;\n this.u0 = Math.asin(Math.sin(this.fi0) / this.alfa);\n this.g = Math.pow((1 + this.e * Math.sin(this.fi0)) / (1 - this.e * Math.sin(this.fi0)), this.alfa * this.e / 2);\n this.k = Math.tan(this.u0 / 2 + this.s45) / Math.pow(Math.tan(this.fi0 / 2 + this.s45), this.alfa) * this.g;\n this.k1 = this.k0;\n this.n0 = this.a * Math.sqrt(1 - this.e2) / (1 - this.e2 * Math.pow(Math.sin(this.fi0), 2));\n this.s0 = 1.37008346281555;\n this.n = Math.sin(this.s0);\n this.ro0 = this.k1 * this.n0 / Math.tan(this.s0);\n this.ad = this.s90 - this.uq;\n}\n\n/* ellipsoid */\n/* calculate xy from lat/lon */\n/* Constants, identical to inverse transform function */\nexport function forward(p) {\n var gfi, u, deltav, s, d, eps, ro;\n var lon = p.x;\n var lat = p.y;\n var delta_lon = adjust_lon(lon - this.long0);\n /* Transformation */\n gfi = Math.pow(((1 + this.e * Math.sin(lat)) / (1 - this.e * Math.sin(lat))), (this.alfa * this.e / 2));\n u = 2 * (Math.atan(this.k * Math.pow(Math.tan(lat / 2 + this.s45), this.alfa) / gfi) - this.s45);\n deltav = -delta_lon * this.alfa;\n s = Math.asin(Math.cos(this.ad) * Math.sin(u) + Math.sin(this.ad) * Math.cos(u) * Math.cos(deltav));\n d = Math.asin(Math.cos(u) * Math.sin(deltav) / Math.cos(s));\n eps = this.n * d;\n ro = this.ro0 * Math.pow(Math.tan(this.s0 / 2 + this.s45), this.n) / Math.pow(Math.tan(s / 2 + this.s45), this.n);\n p.y = ro * Math.cos(eps) / 1;\n p.x = ro * Math.sin(eps) / 1;\n\n if (!this.czech) {\n p.y *= -1;\n p.x *= -1;\n }\n return (p);\n}\n\n/* calculate lat/lon from xy */\nexport function inverse(p) {\n var u, deltav, s, d, eps, ro, fi1;\n var ok;\n\n /* Transformation */\n /* revert y, x*/\n var tmp = p.x;\n p.x = p.y;\n p.y = tmp;\n if (!this.czech) {\n p.y *= -1;\n p.x *= -1;\n }\n ro = Math.sqrt(p.x * p.x + p.y * p.y);\n eps = Math.atan2(p.y, p.x);\n d = eps / Math.sin(this.s0);\n s = 2 * (Math.atan(Math.pow(this.ro0 / ro, 1 / this.n) * Math.tan(this.s0 / 2 + this.s45)) - this.s45);\n u = Math.asin(Math.cos(this.ad) * Math.sin(s) - Math.sin(this.ad) * Math.cos(s) * Math.cos(d));\n deltav = Math.asin(Math.cos(s) * Math.sin(d) / Math.cos(u));\n p.x = this.long0 - deltav / this.alfa;\n fi1 = u;\n ok = 0;\n var iter = 0;\n do {\n p.y = 2 * (Math.atan(Math.pow(this.k, - 1 / this.alfa) * Math.pow(Math.tan(u / 2 + this.s45), 1 / this.alfa) * Math.pow((1 + this.e * Math.sin(fi1)) / (1 - this.e * Math.sin(fi1)), this.e / 2)) - this.s45);\n if (Math.abs(fi1 - p.y) < 0.0000000001) {\n ok = 1;\n }\n fi1 = p.y;\n iter += 1;\n } while (ok === 0 && iter < 15);\n if (iter >= 15) {\n return null;\n }\n\n return (p);\n}\n\nexport var names = [\"Krovak\", \"krovak\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/krovak.js\n// module id = 436\n// module chunks = 0","\nimport {HALF_PI, EPSLN, FORTPI} from '../constants/values';\n\nimport qsfnz from '../common/qsfnz';\nimport adjust_lon from '../common/adjust_lon';\n\n/*\n reference\n \"New Equal-Area Map Projections for Noncircular Regions\", John P. Snyder,\n The American Cartographer, Vol 15, No. 4, October 1988, pp. 341-355.\n */\n\nexport var S_POLE = 1;\n\nexport var N_POLE = 2;\nexport var EQUIT = 3;\nexport var OBLIQ = 4;\n\n/* Initialize the Lambert Azimuthal Equal Area projection\n ------------------------------------------------------*/\nexport function init() {\n var t = Math.abs(this.lat0);\n if (Math.abs(t - HALF_PI) < EPSLN) {\n this.mode = this.lat0 < 0 ? this.S_POLE : this.N_POLE;\n }\n else if (Math.abs(t) < EPSLN) {\n this.mode = this.EQUIT;\n }\n else {\n this.mode = this.OBLIQ;\n }\n if (this.es > 0) {\n var sinphi;\n\n this.qp = qsfnz(this.e, 1);\n this.mmf = 0.5 / (1 - this.es);\n this.apa = authset(this.es);\n switch (this.mode) {\n case this.N_POLE:\n this.dd = 1;\n break;\n case this.S_POLE:\n this.dd = 1;\n break;\n case this.EQUIT:\n this.rq = Math.sqrt(0.5 * this.qp);\n this.dd = 1 / this.rq;\n this.xmf = 1;\n this.ymf = 0.5 * this.qp;\n break;\n case this.OBLIQ:\n this.rq = Math.sqrt(0.5 * this.qp);\n sinphi = Math.sin(this.lat0);\n this.sinb1 = qsfnz(this.e, sinphi) / this.qp;\n this.cosb1 = Math.sqrt(1 - this.sinb1 * this.sinb1);\n this.dd = Math.cos(this.lat0) / (Math.sqrt(1 - this.es * sinphi * sinphi) * this.rq * this.cosb1);\n this.ymf = (this.xmf = this.rq) / this.dd;\n this.xmf *= this.dd;\n break;\n }\n }\n else {\n if (this.mode === this.OBLIQ) {\n this.sinph0 = Math.sin(this.lat0);\n this.cosph0 = Math.cos(this.lat0);\n }\n }\n}\n\n/* Lambert Azimuthal Equal Area forward equations--mapping lat,long to x,y\n -----------------------------------------------------------------------*/\nexport function forward(p) {\n\n /* Forward equations\n -----------------*/\n var x, y, coslam, sinlam, sinphi, q, sinb, cosb, b, cosphi;\n var lam = p.x;\n var phi = p.y;\n\n lam = adjust_lon(lam - this.long0);\n if (this.sphere) {\n sinphi = Math.sin(phi);\n cosphi = Math.cos(phi);\n coslam = Math.cos(lam);\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n y = (this.mode === this.EQUIT) ? 1 + cosphi * coslam : 1 + this.sinph0 * sinphi + this.cosph0 * cosphi * coslam;\n if (y <= EPSLN) {\n return null;\n }\n y = Math.sqrt(2 / y);\n x = y * cosphi * Math.sin(lam);\n y *= (this.mode === this.EQUIT) ? sinphi : this.cosph0 * sinphi - this.sinph0 * cosphi * coslam;\n }\n else if (this.mode === this.N_POLE || this.mode === this.S_POLE) {\n if (this.mode === this.N_POLE) {\n coslam = -coslam;\n }\n if (Math.abs(phi + this.phi0) < EPSLN) {\n return null;\n }\n y = FORTPI - phi * 0.5;\n y = 2 * ((this.mode === this.S_POLE) ? Math.cos(y) : Math.sin(y));\n x = y * Math.sin(lam);\n y *= coslam;\n }\n }\n else {\n sinb = 0;\n cosb = 0;\n b = 0;\n coslam = Math.cos(lam);\n sinlam = Math.sin(lam);\n sinphi = Math.sin(phi);\n q = qsfnz(this.e, sinphi);\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n sinb = q / this.qp;\n cosb = Math.sqrt(1 - sinb * sinb);\n }\n switch (this.mode) {\n case this.OBLIQ:\n b = 1 + this.sinb1 * sinb + this.cosb1 * cosb * coslam;\n break;\n case this.EQUIT:\n b = 1 + cosb * coslam;\n break;\n case this.N_POLE:\n b = HALF_PI + phi;\n q = this.qp - q;\n break;\n case this.S_POLE:\n b = phi - HALF_PI;\n q = this.qp + q;\n break;\n }\n if (Math.abs(b) < EPSLN) {\n return null;\n }\n switch (this.mode) {\n case this.OBLIQ:\n case this.EQUIT:\n b = Math.sqrt(2 / b);\n if (this.mode === this.OBLIQ) {\n y = this.ymf * b * (this.cosb1 * sinb - this.sinb1 * cosb * coslam);\n }\n else {\n y = (b = Math.sqrt(2 / (1 + cosb * coslam))) * sinb * this.ymf;\n }\n x = this.xmf * b * cosb * sinlam;\n break;\n case this.N_POLE:\n case this.S_POLE:\n if (q >= 0) {\n x = (b = Math.sqrt(q)) * sinlam;\n y = coslam * ((this.mode === this.S_POLE) ? b : -b);\n }\n else {\n x = y = 0;\n }\n break;\n }\n }\n\n p.x = this.a * x + this.x0;\n p.y = this.a * y + this.y0;\n return p;\n}\n\n/* Inverse equations\n -----------------*/\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var x = p.x / this.a;\n var y = p.y / this.a;\n var lam, phi, cCe, sCe, q, rho, ab;\n if (this.sphere) {\n var cosz = 0,\n rh, sinz = 0;\n\n rh = Math.sqrt(x * x + y * y);\n phi = rh * 0.5;\n if (phi > 1) {\n return null;\n }\n phi = 2 * Math.asin(phi);\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n sinz = Math.sin(phi);\n cosz = Math.cos(phi);\n }\n switch (this.mode) {\n case this.EQUIT:\n phi = (Math.abs(rh) <= EPSLN) ? 0 : Math.asin(y * sinz / rh);\n x *= sinz;\n y = cosz * rh;\n break;\n case this.OBLIQ:\n phi = (Math.abs(rh) <= EPSLN) ? this.phi0 : Math.asin(cosz * this.sinph0 + y * sinz * this.cosph0 / rh);\n x *= sinz * this.cosph0;\n y = (cosz - Math.sin(phi) * this.sinph0) * rh;\n break;\n case this.N_POLE:\n y = -y;\n phi = HALF_PI - phi;\n break;\n case this.S_POLE:\n phi -= HALF_PI;\n break;\n }\n lam = (y === 0 && (this.mode === this.EQUIT || this.mode === this.OBLIQ)) ? 0 : Math.atan2(x, y);\n }\n else {\n ab = 0;\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n x /= this.dd;\n y *= this.dd;\n rho = Math.sqrt(x * x + y * y);\n if (rho < EPSLN) {\n p.x = 0;\n p.y = this.phi0;\n return p;\n }\n sCe = 2 * Math.asin(0.5 * rho / this.rq);\n cCe = Math.cos(sCe);\n x *= (sCe = Math.sin(sCe));\n if (this.mode === this.OBLIQ) {\n ab = cCe * this.sinb1 + y * sCe * this.cosb1 / rho;\n q = this.qp * ab;\n y = rho * this.cosb1 * cCe - y * this.sinb1 * sCe;\n }\n else {\n ab = y * sCe / rho;\n q = this.qp * ab;\n y = rho * cCe;\n }\n }\n else if (this.mode === this.N_POLE || this.mode === this.S_POLE) {\n if (this.mode === this.N_POLE) {\n y = -y;\n }\n q = (x * x + y * y);\n if (!q) {\n p.x = 0;\n p.y = this.phi0;\n return p;\n }\n ab = 1 - q / this.qp;\n if (this.mode === this.S_POLE) {\n ab = -ab;\n }\n }\n lam = Math.atan2(x, y);\n phi = authlat(Math.asin(ab), this.apa);\n }\n\n p.x = adjust_lon(this.long0 + lam);\n p.y = phi;\n return p;\n}\n\n/* determine latitude from authalic latitude */\nvar P00 = 0.33333333333333333333;\n\nvar P01 = 0.17222222222222222222;\nvar P02 = 0.10257936507936507936;\nvar P10 = 0.06388888888888888888;\nvar P11 = 0.06640211640211640211;\nvar P20 = 0.01641501294219154443;\n\nfunction authset(es) {\n var t;\n var APA = [];\n APA[0] = es * P00;\n t = es * es;\n APA[0] += t * P01;\n APA[1] = t * P10;\n t *= es;\n APA[0] += t * P02;\n APA[1] += t * P11;\n APA[2] = t * P20;\n return APA;\n}\n\nfunction authlat(beta, APA) {\n var t = beta + beta;\n return (beta + APA[0] * Math.sin(t) + APA[1] * Math.sin(t + t) + APA[2] * Math.sin(t + t + t));\n}\n\nexport var names = [\"Lambert Azimuthal Equal Area\", \"Lambert_Azimuthal_Equal_Area\", \"laea\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names,\n S_POLE: S_POLE,\n N_POLE: N_POLE,\n EQUIT: EQUIT,\n OBLIQ: OBLIQ\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/laea.js\n// module id = 437\n// module chunks = 0","import msfnz from '../common/msfnz';\nimport tsfnz from '../common/tsfnz';\nimport sign from '../common/sign';\nimport adjust_lon from '../common/adjust_lon';\nimport phi2z from '../common/phi2z';\nimport {HALF_PI, EPSLN} from '../constants/values';\nexport function init() {\n\n // array of: r_maj,r_min,lat1,lat2,c_lon,c_lat,false_east,false_north\n //double c_lat; /* center latitude */\n //double c_lon; /* center longitude */\n //double lat1; /* first standard parallel */\n //double lat2; /* second standard parallel */\n //double r_maj; /* major axis */\n //double r_min; /* minor axis */\n //double false_east; /* x offset in meters */\n //double false_north; /* y offset in meters */\n\n if (!this.lat2) {\n this.lat2 = this.lat1;\n } //if lat2 is not defined\n if (!this.k0) {\n this.k0 = 1;\n }\n this.x0 = this.x0 || 0;\n this.y0 = this.y0 || 0;\n // Standard Parallels cannot be equal and on opposite sides of the equator\n if (Math.abs(this.lat1 + this.lat2) < EPSLN) {\n return;\n }\n\n var temp = this.b / this.a;\n this.e = Math.sqrt(1 - temp * temp);\n\n var sin1 = Math.sin(this.lat1);\n var cos1 = Math.cos(this.lat1);\n var ms1 = msfnz(this.e, sin1, cos1);\n var ts1 = tsfnz(this.e, this.lat1, sin1);\n\n var sin2 = Math.sin(this.lat2);\n var cos2 = Math.cos(this.lat2);\n var ms2 = msfnz(this.e, sin2, cos2);\n var ts2 = tsfnz(this.e, this.lat2, sin2);\n\n var ts0 = tsfnz(this.e, this.lat0, Math.sin(this.lat0));\n\n if (Math.abs(this.lat1 - this.lat2) > EPSLN) {\n this.ns = Math.log(ms1 / ms2) / Math.log(ts1 / ts2);\n }\n else {\n this.ns = sin1;\n }\n if (isNaN(this.ns)) {\n this.ns = sin1;\n }\n this.f0 = ms1 / (this.ns * Math.pow(ts1, this.ns));\n this.rh = this.a * this.f0 * Math.pow(ts0, this.ns);\n if (!this.title) {\n this.title = \"Lambert Conformal Conic\";\n }\n}\n\n// Lambert Conformal conic forward equations--mapping lat,long to x,y\n// -----------------------------------------------------------------\nexport function forward(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n // singular cases :\n if (Math.abs(2 * Math.abs(lat) - Math.PI) <= EPSLN) {\n lat = sign(lat) * (HALF_PI - 2 * EPSLN);\n }\n\n var con = Math.abs(Math.abs(lat) - HALF_PI);\n var ts, rh1;\n if (con > EPSLN) {\n ts = tsfnz(this.e, lat, Math.sin(lat));\n rh1 = this.a * this.f0 * Math.pow(ts, this.ns);\n }\n else {\n con = lat * this.ns;\n if (con <= 0) {\n return null;\n }\n rh1 = 0;\n }\n var theta = this.ns * adjust_lon(lon - this.long0);\n p.x = this.k0 * (rh1 * Math.sin(theta)) + this.x0;\n p.y = this.k0 * (this.rh - rh1 * Math.cos(theta)) + this.y0;\n\n return p;\n}\n\n// Lambert Conformal Conic inverse equations--mapping x,y to lat/long\n// -----------------------------------------------------------------\nexport function inverse(p) {\n\n var rh1, con, ts;\n var lat, lon;\n var x = (p.x - this.x0) / this.k0;\n var y = (this.rh - (p.y - this.y0) / this.k0);\n if (this.ns > 0) {\n rh1 = Math.sqrt(x * x + y * y);\n con = 1;\n }\n else {\n rh1 = -Math.sqrt(x * x + y * y);\n con = -1;\n }\n var theta = 0;\n if (rh1 !== 0) {\n theta = Math.atan2((con * x), (con * y));\n }\n if ((rh1 !== 0) || (this.ns > 0)) {\n con = 1 / this.ns;\n ts = Math.pow((rh1 / (this.a * this.f0)), con);\n lat = phi2z(this.e, ts);\n if (lat === -9999) {\n return null;\n }\n }\n else {\n lat = -HALF_PI;\n }\n lon = adjust_lon(theta / this.ns + this.long0);\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Lambert Tangential Conformal Conic Projection\", \"Lambert_Conformal_Conic\", \"Lambert_Conformal_Conic_2SP\", \"lcc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/lcc.js\n// module id = 438\n// module chunks = 0","export function init() {\n //no-op for longlat\n}\n\nfunction identity(pt) {\n return pt;\n}\nexport {identity as forward};\nexport {identity as inverse};\nexport var names = [\"longlat\", \"identity\"];\nexport default {\n init: init,\n forward: identity,\n inverse: identity,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/longlat.js\n// module id = 439\n// module chunks = 0","import msfnz from '../common/msfnz';\n\nimport adjust_lon from '../common/adjust_lon';\nimport tsfnz from '../common/tsfnz';\nimport phi2z from '../common/phi2z';\nimport {FORTPI, R2D, EPSLN, HALF_PI} from '../constants/values';\nexport function init() {\n var con = this.b / this.a;\n this.es = 1 - con * con;\n if(!('x0' in this)){\n this.x0 = 0;\n }\n if(!('y0' in this)){\n this.y0 = 0;\n }\n this.e = Math.sqrt(this.es);\n if (this.lat_ts) {\n if (this.sphere) {\n this.k0 = Math.cos(this.lat_ts);\n }\n else {\n this.k0 = msfnz(this.e, Math.sin(this.lat_ts), Math.cos(this.lat_ts));\n }\n }\n else {\n if (!this.k0) {\n if (this.k) {\n this.k0 = this.k;\n }\n else {\n this.k0 = 1;\n }\n }\n }\n}\n\n/* Mercator forward equations--mapping lat,long to x,y\n --------------------------------------------------*/\n\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n // convert to radians\n if (lat * R2D > 90 && lat * R2D < -90 && lon * R2D > 180 && lon * R2D < -180) {\n return null;\n }\n\n var x, y;\n if (Math.abs(Math.abs(lat) - HALF_PI) <= EPSLN) {\n return null;\n }\n else {\n if (this.sphere) {\n x = this.x0 + this.a * this.k0 * adjust_lon(lon - this.long0);\n y = this.y0 + this.a * this.k0 * Math.log(Math.tan(FORTPI + 0.5 * lat));\n }\n else {\n var sinphi = Math.sin(lat);\n var ts = tsfnz(this.e, lat, sinphi);\n x = this.x0 + this.a * this.k0 * adjust_lon(lon - this.long0);\n y = this.y0 - this.a * this.k0 * Math.log(ts);\n }\n p.x = x;\n p.y = y;\n return p;\n }\n}\n\n/* Mercator inverse equations--mapping x,y to lat/long\n --------------------------------------------------*/\nexport function inverse(p) {\n\n var x = p.x - this.x0;\n var y = p.y - this.y0;\n var lon, lat;\n\n if (this.sphere) {\n lat = HALF_PI - 2 * Math.atan(Math.exp(-y / (this.a * this.k0)));\n }\n else {\n var ts = Math.exp(-y / (this.a * this.k0));\n lat = phi2z(this.e, ts);\n if (lat === -9999) {\n return null;\n }\n }\n lon = adjust_lon(this.long0 + x / (this.a * this.k0));\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Mercator\", \"Popular Visualisation Pseudo Mercator\", \"Mercator_1SP\", \"Mercator_Auxiliary_Sphere\", \"merc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/merc.js\n// module id = 440\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\n\n/*\n reference\n \"New Equal-Area Map Projections for Noncircular Regions\", John P. Snyder,\n The American Cartographer, Vol 15, No. 4, October 1988, pp. 341-355.\n */\n\n\n/* Initialize the Miller Cylindrical projection\n -------------------------------------------*/\nexport function init() {\n //no-op\n}\n\n/* Miller Cylindrical forward equations--mapping lat,long to x,y\n ------------------------------------------------------------*/\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n var dlon = adjust_lon(lon - this.long0);\n var x = this.x0 + this.a * dlon;\n var y = this.y0 + this.a * Math.log(Math.tan((Math.PI / 4) + (lat / 2.5))) * 1.25;\n\n p.x = x;\n p.y = y;\n return p;\n}\n\n/* Miller Cylindrical inverse equations--mapping x,y to lat/long\n ------------------------------------------------------------*/\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n\n var lon = adjust_lon(this.long0 + p.x / this.a);\n var lat = 2.5 * (Math.atan(Math.exp(0.8 * p.y / this.a)) - Math.PI / 4);\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Miller_Cylindrical\", \"mill\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/mill.js\n// module id = 441\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nexport function init() {}\nimport {EPSLN} from '../constants/values';\n/* Mollweide forward equations--mapping lat,long to x,y\n ----------------------------------------------------*/\nexport function forward(p) {\n\n /* Forward equations\n -----------------*/\n var lon = p.x;\n var lat = p.y;\n\n var delta_lon = adjust_lon(lon - this.long0);\n var theta = lat;\n var con = Math.PI * Math.sin(lat);\n\n /* Iterate using the Newton-Raphson method to find theta\n -----------------------------------------------------*/\n for (var i = 0; true; i++) {\n var delta_theta = -(theta + Math.sin(theta) - con) / (1 + Math.cos(theta));\n theta += delta_theta;\n if (Math.abs(delta_theta) < EPSLN) {\n break;\n }\n }\n theta /= 2;\n\n /* If the latitude is 90 deg, force the x coordinate to be \"0 + false easting\"\n this is done here because of precision problems with \"cos(theta)\"\n --------------------------------------------------------------------------*/\n if (Math.PI / 2 - Math.abs(lat) < EPSLN) {\n delta_lon = 0;\n }\n var x = 0.900316316158 * this.a * delta_lon * Math.cos(theta) + this.x0;\n var y = 1.4142135623731 * this.a * Math.sin(theta) + this.y0;\n\n p.x = x;\n p.y = y;\n return p;\n}\n\nexport function inverse(p) {\n var theta;\n var arg;\n\n /* Inverse equations\n -----------------*/\n p.x -= this.x0;\n p.y -= this.y0;\n arg = p.y / (1.4142135623731 * this.a);\n\n /* Because of division by zero problems, 'arg' can not be 1. Therefore\n a number very close to one is used instead.\n -------------------------------------------------------------------*/\n if (Math.abs(arg) > 0.999999999999) {\n arg = 0.999999999999;\n }\n theta = Math.asin(arg);\n var lon = adjust_lon(this.long0 + (p.x / (0.900316316158 * this.a * Math.cos(theta))));\n if (lon < (-Math.PI)) {\n lon = -Math.PI;\n }\n if (lon > Math.PI) {\n lon = Math.PI;\n }\n arg = (2 * theta + Math.sin(2 * theta)) / Math.PI;\n if (Math.abs(arg) > 1) {\n arg = 1;\n }\n var lat = Math.asin(arg);\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Mollweide\", \"moll\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/moll.js\n// module id = 442\n// module chunks = 0","import {SEC_TO_RAD} from '../constants/values';\n\n/*\n reference\n Department of Land and Survey Technical Circular 1973/32\n http://www.linz.govt.nz/docs/miscellaneous/nz-map-definition.pdf\n OSG Technical Report 4.1\n http://www.linz.govt.nz/docs/miscellaneous/nzmg.pdf\n */\n\n/**\n * iterations: Number of iterations to refine inverse transform.\n * 0 -> km accuracy\n * 1 -> m accuracy -- suitable for most mapping applications\n * 2 -> mm accuracy\n */\nexport var iterations = 1;\n\nexport function init() {\n this.A = [];\n this.A[1] = 0.6399175073;\n this.A[2] = -0.1358797613;\n this.A[3] = 0.063294409;\n this.A[4] = -0.02526853;\n this.A[5] = 0.0117879;\n this.A[6] = -0.0055161;\n this.A[7] = 0.0026906;\n this.A[8] = -0.001333;\n this.A[9] = 0.00067;\n this.A[10] = -0.00034;\n\n this.B_re = [];\n this.B_im = [];\n this.B_re[1] = 0.7557853228;\n this.B_im[1] = 0;\n this.B_re[2] = 0.249204646;\n this.B_im[2] = 0.003371507;\n this.B_re[3] = -0.001541739;\n this.B_im[3] = 0.041058560;\n this.B_re[4] = -0.10162907;\n this.B_im[4] = 0.01727609;\n this.B_re[5] = -0.26623489;\n this.B_im[5] = -0.36249218;\n this.B_re[6] = -0.6870983;\n this.B_im[6] = -1.1651967;\n\n this.C_re = [];\n this.C_im = [];\n this.C_re[1] = 1.3231270439;\n this.C_im[1] = 0;\n this.C_re[2] = -0.577245789;\n this.C_im[2] = -0.007809598;\n this.C_re[3] = 0.508307513;\n this.C_im[3] = -0.112208952;\n this.C_re[4] = -0.15094762;\n this.C_im[4] = 0.18200602;\n this.C_re[5] = 1.01418179;\n this.C_im[5] = 1.64497696;\n this.C_re[6] = 1.9660549;\n this.C_im[6] = 2.5127645;\n\n this.D = [];\n this.D[1] = 1.5627014243;\n this.D[2] = 0.5185406398;\n this.D[3] = -0.03333098;\n this.D[4] = -0.1052906;\n this.D[5] = -0.0368594;\n this.D[6] = 0.007317;\n this.D[7] = 0.01220;\n this.D[8] = 0.00394;\n this.D[9] = -0.0013;\n}\n\n/**\n New Zealand Map Grid Forward - long/lat to x/y\n long/lat in radians\n */\nexport function forward(p) {\n var n;\n var lon = p.x;\n var lat = p.y;\n\n var delta_lat = lat - this.lat0;\n var delta_lon = lon - this.long0;\n\n // 1. Calculate d_phi and d_psi ... // and d_lambda\n // For this algorithm, delta_latitude is in seconds of arc x 10-5, so we need to scale to those units. Longitude is radians.\n var d_phi = delta_lat / SEC_TO_RAD * 1E-5;\n var d_lambda = delta_lon;\n var d_phi_n = 1; // d_phi^0\n\n var d_psi = 0;\n for (n = 1; n <= 10; n++) {\n d_phi_n = d_phi_n * d_phi;\n d_psi = d_psi + this.A[n] * d_phi_n;\n }\n\n // 2. Calculate theta\n var th_re = d_psi;\n var th_im = d_lambda;\n\n // 3. Calculate z\n var th_n_re = 1;\n var th_n_im = 0; // theta^0\n var th_n_re1;\n var th_n_im1;\n\n var z_re = 0;\n var z_im = 0;\n for (n = 1; n <= 6; n++) {\n th_n_re1 = th_n_re * th_re - th_n_im * th_im;\n th_n_im1 = th_n_im * th_re + th_n_re * th_im;\n th_n_re = th_n_re1;\n th_n_im = th_n_im1;\n z_re = z_re + this.B_re[n] * th_n_re - this.B_im[n] * th_n_im;\n z_im = z_im + this.B_im[n] * th_n_re + this.B_re[n] * th_n_im;\n }\n\n // 4. Calculate easting and northing\n p.x = (z_im * this.a) + this.x0;\n p.y = (z_re * this.a) + this.y0;\n\n return p;\n}\n\n/**\n New Zealand Map Grid Inverse - x/y to long/lat\n */\nexport function inverse(p) {\n var n;\n var x = p.x;\n var y = p.y;\n\n var delta_x = x - this.x0;\n var delta_y = y - this.y0;\n\n // 1. Calculate z\n var z_re = delta_y / this.a;\n var z_im = delta_x / this.a;\n\n // 2a. Calculate theta - first approximation gives km accuracy\n var z_n_re = 1;\n var z_n_im = 0; // z^0\n var z_n_re1;\n var z_n_im1;\n\n var th_re = 0;\n var th_im = 0;\n for (n = 1; n <= 6; n++) {\n z_n_re1 = z_n_re * z_re - z_n_im * z_im;\n z_n_im1 = z_n_im * z_re + z_n_re * z_im;\n z_n_re = z_n_re1;\n z_n_im = z_n_im1;\n th_re = th_re + this.C_re[n] * z_n_re - this.C_im[n] * z_n_im;\n th_im = th_im + this.C_im[n] * z_n_re + this.C_re[n] * z_n_im;\n }\n\n // 2b. Iterate to refine the accuracy of the calculation\n // 0 iterations gives km accuracy\n // 1 iteration gives m accuracy -- good enough for most mapping applications\n // 2 iterations bives mm accuracy\n for (var i = 0; i < this.iterations; i++) {\n var th_n_re = th_re;\n var th_n_im = th_im;\n var th_n_re1;\n var th_n_im1;\n\n var num_re = z_re;\n var num_im = z_im;\n for (n = 2; n <= 6; n++) {\n th_n_re1 = th_n_re * th_re - th_n_im * th_im;\n th_n_im1 = th_n_im * th_re + th_n_re * th_im;\n th_n_re = th_n_re1;\n th_n_im = th_n_im1;\n num_re = num_re + (n - 1) * (this.B_re[n] * th_n_re - this.B_im[n] * th_n_im);\n num_im = num_im + (n - 1) * (this.B_im[n] * th_n_re + this.B_re[n] * th_n_im);\n }\n\n th_n_re = 1;\n th_n_im = 0;\n var den_re = this.B_re[1];\n var den_im = this.B_im[1];\n for (n = 2; n <= 6; n++) {\n th_n_re1 = th_n_re * th_re - th_n_im * th_im;\n th_n_im1 = th_n_im * th_re + th_n_re * th_im;\n th_n_re = th_n_re1;\n th_n_im = th_n_im1;\n den_re = den_re + n * (this.B_re[n] * th_n_re - this.B_im[n] * th_n_im);\n den_im = den_im + n * (this.B_im[n] * th_n_re + this.B_re[n] * th_n_im);\n }\n\n // Complex division\n var den2 = den_re * den_re + den_im * den_im;\n th_re = (num_re * den_re + num_im * den_im) / den2;\n th_im = (num_im * den_re - num_re * den_im) / den2;\n }\n\n // 3. Calculate d_phi ... // and d_lambda\n var d_psi = th_re;\n var d_lambda = th_im;\n var d_psi_n = 1; // d_psi^0\n\n var d_phi = 0;\n for (n = 1; n <= 9; n++) {\n d_psi_n = d_psi_n * d_psi;\n d_phi = d_phi + this.D[n] * d_psi_n;\n }\n\n // 4. Calculate latitude and longitude\n // d_phi is calcuated in second of arc * 10^-5, so we need to scale back to radians. d_lambda is in radians.\n var lat = this.lat0 + (d_phi * SEC_TO_RAD * 1E5);\n var lon = this.long0 + d_lambda;\n\n p.x = lon;\n p.y = lat;\n\n return p;\n}\n\nexport var names = [\"New_Zealand_Map_Grid\", \"nzmg\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/nzmg.js\n// module id = 443\n// module chunks = 0","import tsfnz from '../common/tsfnz';\nimport adjust_lon from '../common/adjust_lon';\nimport phi2z from '../common/phi2z';\nimport {EPSLN, HALF_PI, FORTPI} from '../constants/values';\n\n/* Initialize the Oblique Mercator projection\n ------------------------------------------*/\nexport function init() {\n this.no_off = this.no_off || false;\n this.no_rot = this.no_rot || false;\n\n if (isNaN(this.k0)) {\n this.k0 = 1;\n }\n var sinlat = Math.sin(this.lat0);\n var coslat = Math.cos(this.lat0);\n var con = this.e * sinlat;\n\n this.bl = Math.sqrt(1 + this.es / (1 - this.es) * Math.pow(coslat, 4));\n this.al = this.a * this.bl * this.k0 * Math.sqrt(1 - this.es) / (1 - con * con);\n var t0 = tsfnz(this.e, this.lat0, sinlat);\n var dl = this.bl / coslat * Math.sqrt((1 - this.es) / (1 - con * con));\n if (dl * dl < 1) {\n dl = 1;\n }\n var fl;\n var gl;\n if (!isNaN(this.longc)) {\n //Central point and azimuth method\n\n if (this.lat0 >= 0) {\n fl = dl + Math.sqrt(dl * dl - 1);\n }\n else {\n fl = dl - Math.sqrt(dl * dl - 1);\n }\n this.el = fl * Math.pow(t0, this.bl);\n gl = 0.5 * (fl - 1 / fl);\n this.gamma0 = Math.asin(Math.sin(this.alpha) / dl);\n this.long0 = this.longc - Math.asin(gl * Math.tan(this.gamma0)) / this.bl;\n\n }\n else {\n //2 points method\n var t1 = tsfnz(this.e, this.lat1, Math.sin(this.lat1));\n var t2 = tsfnz(this.e, this.lat2, Math.sin(this.lat2));\n if (this.lat0 >= 0) {\n this.el = (dl + Math.sqrt(dl * dl - 1)) * Math.pow(t0, this.bl);\n }\n else {\n this.el = (dl - Math.sqrt(dl * dl - 1)) * Math.pow(t0, this.bl);\n }\n var hl = Math.pow(t1, this.bl);\n var ll = Math.pow(t2, this.bl);\n fl = this.el / hl;\n gl = 0.5 * (fl - 1 / fl);\n var jl = (this.el * this.el - ll * hl) / (this.el * this.el + ll * hl);\n var pl = (ll - hl) / (ll + hl);\n var dlon12 = adjust_lon(this.long1 - this.long2);\n this.long0 = 0.5 * (this.long1 + this.long2) - Math.atan(jl * Math.tan(0.5 * this.bl * (dlon12)) / pl) / this.bl;\n this.long0 = adjust_lon(this.long0);\n var dlon10 = adjust_lon(this.long1 - this.long0);\n this.gamma0 = Math.atan(Math.sin(this.bl * (dlon10)) / gl);\n this.alpha = Math.asin(dl * Math.sin(this.gamma0));\n }\n\n if (this.no_off) {\n this.uc = 0;\n }\n else {\n if (this.lat0 >= 0) {\n this.uc = this.al / this.bl * Math.atan2(Math.sqrt(dl * dl - 1), Math.cos(this.alpha));\n }\n else {\n this.uc = -1 * this.al / this.bl * Math.atan2(Math.sqrt(dl * dl - 1), Math.cos(this.alpha));\n }\n }\n\n}\n\n/* Oblique Mercator forward equations--mapping lat,long to x,y\n ----------------------------------------------------------*/\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var dlon = adjust_lon(lon - this.long0);\n var us, vs;\n var con;\n if (Math.abs(Math.abs(lat) - HALF_PI) <= EPSLN) {\n if (lat > 0) {\n con = -1;\n }\n else {\n con = 1;\n }\n vs = this.al / this.bl * Math.log(Math.tan(FORTPI + con * this.gamma0 * 0.5));\n us = -1 * con * HALF_PI * this.al / this.bl;\n }\n else {\n var t = tsfnz(this.e, lat, Math.sin(lat));\n var ql = this.el / Math.pow(t, this.bl);\n var sl = 0.5 * (ql - 1 / ql);\n var tl = 0.5 * (ql + 1 / ql);\n var vl = Math.sin(this.bl * (dlon));\n var ul = (sl * Math.sin(this.gamma0) - vl * Math.cos(this.gamma0)) / tl;\n if (Math.abs(Math.abs(ul) - 1) <= EPSLN) {\n vs = Number.POSITIVE_INFINITY;\n }\n else {\n vs = 0.5 * this.al * Math.log((1 - ul) / (1 + ul)) / this.bl;\n }\n if (Math.abs(Math.cos(this.bl * (dlon))) <= EPSLN) {\n us = this.al * this.bl * (dlon);\n }\n else {\n us = this.al * Math.atan2(sl * Math.cos(this.gamma0) + vl * Math.sin(this.gamma0), Math.cos(this.bl * dlon)) / this.bl;\n }\n }\n\n if (this.no_rot) {\n p.x = this.x0 + us;\n p.y = this.y0 + vs;\n }\n else {\n\n us -= this.uc;\n p.x = this.x0 + vs * Math.cos(this.alpha) + us * Math.sin(this.alpha);\n p.y = this.y0 + us * Math.cos(this.alpha) - vs * Math.sin(this.alpha);\n }\n return p;\n}\n\nexport function inverse(p) {\n var us, vs;\n if (this.no_rot) {\n vs = p.y - this.y0;\n us = p.x - this.x0;\n }\n else {\n vs = (p.x - this.x0) * Math.cos(this.alpha) - (p.y - this.y0) * Math.sin(this.alpha);\n us = (p.y - this.y0) * Math.cos(this.alpha) + (p.x - this.x0) * Math.sin(this.alpha);\n us += this.uc;\n }\n var qp = Math.exp(-1 * this.bl * vs / this.al);\n var sp = 0.5 * (qp - 1 / qp);\n var tp = 0.5 * (qp + 1 / qp);\n var vp = Math.sin(this.bl * us / this.al);\n var up = (vp * Math.cos(this.gamma0) + sp * Math.sin(this.gamma0)) / tp;\n var ts = Math.pow(this.el / Math.sqrt((1 + up) / (1 - up)), 1 / this.bl);\n if (Math.abs(up - 1) < EPSLN) {\n p.x = this.long0;\n p.y = HALF_PI;\n }\n else if (Math.abs(up + 1) < EPSLN) {\n p.x = this.long0;\n p.y = -1 * HALF_PI;\n }\n else {\n p.y = phi2z(this.e, ts);\n p.x = adjust_lon(this.long0 - Math.atan2(sp * Math.cos(this.gamma0) - vp * Math.sin(this.gamma0), Math.cos(this.bl * us / this.al)) / this.bl);\n }\n return p;\n}\n\nexport var names = [\"Hotine_Oblique_Mercator\", \"Hotine Oblique Mercator\", \"Hotine_Oblique_Mercator_Azimuth_Natural_Origin\", \"Hotine_Oblique_Mercator_Azimuth_Center\", \"omerc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/omerc.js\n// module id = 444\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport asinz from '../common/asinz';\nimport {EPSLN, HALF_PI} from '../constants/values';\n\nexport function init() {\n //double temp; /* temporary variable */\n\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n this.sin_p14 = Math.sin(this.lat0);\n this.cos_p14 = Math.cos(this.lat0);\n}\n\n/* Orthographic forward equations--mapping lat,long to x,y\n ---------------------------------------------------*/\nexport function forward(p) {\n var sinphi, cosphi; /* sin and cos value */\n var dlon; /* delta longitude value */\n var coslon; /* cos of longitude */\n var ksp; /* scale factor */\n var g, x, y;\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n dlon = adjust_lon(lon - this.long0);\n\n sinphi = Math.sin(lat);\n cosphi = Math.cos(lat);\n\n coslon = Math.cos(dlon);\n g = this.sin_p14 * sinphi + this.cos_p14 * cosphi * coslon;\n ksp = 1;\n if ((g > 0) || (Math.abs(g) <= EPSLN)) {\n x = this.a * ksp * cosphi * Math.sin(dlon);\n y = this.y0 + this.a * ksp * (this.cos_p14 * sinphi - this.sin_p14 * cosphi * coslon);\n }\n p.x = x;\n p.y = y;\n return p;\n}\n\nexport function inverse(p) {\n var rh; /* height above ellipsoid */\n var z; /* angle */\n var sinz, cosz; /* sin of z and cos of z */\n var con;\n var lon, lat;\n /* Inverse equations\n -----------------*/\n p.x -= this.x0;\n p.y -= this.y0;\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n z = asinz(rh / this.a);\n\n sinz = Math.sin(z);\n cosz = Math.cos(z);\n\n lon = this.long0;\n if (Math.abs(rh) <= EPSLN) {\n lat = this.lat0;\n p.x = lon;\n p.y = lat;\n return p;\n }\n lat = asinz(cosz * this.sin_p14 + (p.y * sinz * this.cos_p14) / rh);\n con = Math.abs(this.lat0) - HALF_PI;\n if (Math.abs(con) <= EPSLN) {\n if (this.lat0 >= 0) {\n lon = adjust_lon(this.long0 + Math.atan2(p.x, - p.y));\n }\n else {\n lon = adjust_lon(this.long0 - Math.atan2(-p.x, p.y));\n }\n p.x = lon;\n p.y = lat;\n return p;\n }\n lon = adjust_lon(this.long0 + Math.atan2((p.x * sinz), rh * this.cos_p14 * cosz - p.y * this.sin_p14 * sinz));\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"ortho\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/ortho.js\n// module id = 445\n// module chunks = 0","import e0fn from '../common/e0fn';\nimport e1fn from '../common/e1fn';\nimport e2fn from '../common/e2fn';\nimport e3fn from '../common/e3fn';\nimport adjust_lon from '../common/adjust_lon';\nimport adjust_lat from '../common/adjust_lat';\nimport mlfn from '../common/mlfn';\nimport {EPSLN} from '../constants/values';\n\nimport gN from '../common/gN';\nvar MAX_ITER = 20;\n\nexport function init() {\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n this.temp = this.b / this.a;\n this.es = 1 - Math.pow(this.temp, 2); // devait etre dans tmerc.js mais n y est pas donc je commente sinon retour de valeurs nulles\n this.e = Math.sqrt(this.es);\n this.e0 = e0fn(this.es);\n this.e1 = e1fn(this.es);\n this.e2 = e2fn(this.es);\n this.e3 = e3fn(this.es);\n this.ml0 = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, this.lat0); //si que des zeros le calcul ne se fait pas\n}\n\n/* Polyconic forward equations--mapping lat,long to x,y\n ---------------------------------------------------*/\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var x, y, el;\n var dlon = adjust_lon(lon - this.long0);\n el = dlon * Math.sin(lat);\n if (this.sphere) {\n if (Math.abs(lat) <= EPSLN) {\n x = this.a * dlon;\n y = -1 * this.a * this.lat0;\n }\n else {\n x = this.a * Math.sin(el) / Math.tan(lat);\n y = this.a * (adjust_lat(lat - this.lat0) + (1 - Math.cos(el)) / Math.tan(lat));\n }\n }\n else {\n if (Math.abs(lat) <= EPSLN) {\n x = this.a * dlon;\n y = -1 * this.ml0;\n }\n else {\n var nl = gN(this.a, this.e, Math.sin(lat)) / Math.tan(lat);\n x = nl * Math.sin(el);\n y = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, lat) - this.ml0 + nl * (1 - Math.cos(el));\n }\n\n }\n p.x = x + this.x0;\n p.y = y + this.y0;\n return p;\n}\n\n/* Inverse equations\n -----------------*/\nexport function inverse(p) {\n var lon, lat, x, y, i;\n var al, bl;\n var phi, dphi;\n x = p.x - this.x0;\n y = p.y - this.y0;\n\n if (this.sphere) {\n if (Math.abs(y + this.a * this.lat0) <= EPSLN) {\n lon = adjust_lon(x / this.a + this.long0);\n lat = 0;\n }\n else {\n al = this.lat0 + y / this.a;\n bl = x * x / this.a / this.a + al * al;\n phi = al;\n var tanphi;\n for (i = MAX_ITER; i; --i) {\n tanphi = Math.tan(phi);\n dphi = -1 * (al * (phi * tanphi + 1) - phi - 0.5 * (phi * phi + bl) * tanphi) / ((phi - al) / tanphi - 1);\n phi += dphi;\n if (Math.abs(dphi) <= EPSLN) {\n lat = phi;\n break;\n }\n }\n lon = adjust_lon(this.long0 + (Math.asin(x * Math.tan(phi) / this.a)) / Math.sin(lat));\n }\n }\n else {\n if (Math.abs(y + this.ml0) <= EPSLN) {\n lat = 0;\n lon = adjust_lon(this.long0 + x / this.a);\n }\n else {\n\n al = (this.ml0 + y) / this.a;\n bl = x * x / this.a / this.a + al * al;\n phi = al;\n var cl, mln, mlnp, ma;\n var con;\n for (i = MAX_ITER; i; --i) {\n con = this.e * Math.sin(phi);\n cl = Math.sqrt(1 - con * con) * Math.tan(phi);\n mln = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, phi);\n mlnp = this.e0 - 2 * this.e1 * Math.cos(2 * phi) + 4 * this.e2 * Math.cos(4 * phi) - 6 * this.e3 * Math.cos(6 * phi);\n ma = mln / this.a;\n dphi = (al * (cl * ma + 1) - ma - 0.5 * cl * (ma * ma + bl)) / (this.es * Math.sin(2 * phi) * (ma * ma + bl - 2 * al * ma) / (4 * cl) + (al - ma) * (cl * mlnp - 2 / Math.sin(2 * phi)) - mlnp);\n phi -= dphi;\n if (Math.abs(dphi) <= EPSLN) {\n lat = phi;\n break;\n }\n }\n\n //lat=phi4z(this.e,this.e0,this.e1,this.e2,this.e3,al,bl,0,0);\n cl = Math.sqrt(1 - this.es * Math.pow(Math.sin(lat), 2)) * Math.tan(lat);\n lon = adjust_lon(this.long0 + Math.asin(x * cl / this.a) / Math.sin(lat));\n }\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Polyconic\", \"poly\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/poly.js\n// module id = 446\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport adjust_lat from '../common/adjust_lat';\nimport pj_enfn from '../common/pj_enfn';\nvar MAX_ITER = 20;\nimport pj_mlfn from '../common/pj_mlfn';\nimport pj_inv_mlfn from '../common/pj_inv_mlfn';\nimport {EPSLN, HALF_PI} from '../constants/values';\n\nimport asinz from '../common/asinz';\n\n\nexport function init() {\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n\n\n if (!this.sphere) {\n this.en = pj_enfn(this.es);\n }\n else {\n this.n = 1;\n this.m = 0;\n this.es = 0;\n this.C_y = Math.sqrt((this.m + 1) / this.n);\n this.C_x = this.C_y / (this.m + 1);\n }\n\n}\n\n/* Sinusoidal forward equations--mapping lat,long to x,y\n -----------------------------------------------------*/\nexport function forward(p) {\n var x, y;\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n lon = adjust_lon(lon - this.long0);\n\n if (this.sphere) {\n if (!this.m) {\n lat = this.n !== 1 ? Math.asin(this.n * Math.sin(lat)) : lat;\n }\n else {\n var k = this.n * Math.sin(lat);\n for (var i = MAX_ITER; i; --i) {\n var V = (this.m * lat + Math.sin(lat) - k) / (this.m + Math.cos(lat));\n lat -= V;\n if (Math.abs(V) < EPSLN) {\n break;\n }\n }\n }\n x = this.a * this.C_x * lon * (this.m + Math.cos(lat));\n y = this.a * this.C_y * lat;\n\n }\n else {\n\n var s = Math.sin(lat);\n var c = Math.cos(lat);\n y = this.a * pj_mlfn(lat, s, c, this.en);\n x = this.a * lon * c / Math.sqrt(1 - this.es * s * s);\n }\n\n p.x = x;\n p.y = y;\n return p;\n}\n\nexport function inverse(p) {\n var lat, temp, lon, s;\n\n p.x -= this.x0;\n lon = p.x / this.a;\n p.y -= this.y0;\n lat = p.y / this.a;\n\n if (this.sphere) {\n lat /= this.C_y;\n lon = lon / (this.C_x * (this.m + Math.cos(lat)));\n if (this.m) {\n lat = asinz((this.m * lat + Math.sin(lat)) / this.n);\n }\n else if (this.n !== 1) {\n lat = asinz(Math.sin(lat) / this.n);\n }\n lon = adjust_lon(lon + this.long0);\n lat = adjust_lat(lat);\n }\n else {\n lat = pj_inv_mlfn(p.y / this.a, this.es, this.en);\n s = Math.abs(lat);\n if (s < HALF_PI) {\n s = Math.sin(lat);\n temp = this.long0 + p.x * Math.sqrt(1 - this.es * s * s) / (this.a * Math.cos(lat));\n //temp = this.long0 + p.x / (this.a * Math.cos(lat));\n lon = adjust_lon(temp);\n }\n else if ((s - EPSLN) < HALF_PI) {\n lon = this.long0;\n }\n }\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Sinusoidal\", \"sinu\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/sinu.js\n// module id = 447\n// module chunks = 0","/*\n references:\n Formules et constantes pour le Calcul pour la\n projection cylindrique conforme à axe oblique et pour la transformation entre\n des systèmes de référence.\n http://www.swisstopo.admin.ch/internet/swisstopo/fr/home/topics/survey/sys/refsys/switzerland.parsysrelated1.31216.downloadList.77004.DownloadFile.tmp/swissprojectionfr.pdf\n */\n\nexport function init() {\n var phy0 = this.lat0;\n this.lambda0 = this.long0;\n var sinPhy0 = Math.sin(phy0);\n var semiMajorAxis = this.a;\n var invF = this.rf;\n var flattening = 1 / invF;\n var e2 = 2 * flattening - Math.pow(flattening, 2);\n var e = this.e = Math.sqrt(e2);\n this.R = this.k0 * semiMajorAxis * Math.sqrt(1 - e2) / (1 - e2 * Math.pow(sinPhy0, 2));\n this.alpha = Math.sqrt(1 + e2 / (1 - e2) * Math.pow(Math.cos(phy0), 4));\n this.b0 = Math.asin(sinPhy0 / this.alpha);\n var k1 = Math.log(Math.tan(Math.PI / 4 + this.b0 / 2));\n var k2 = Math.log(Math.tan(Math.PI / 4 + phy0 / 2));\n var k3 = Math.log((1 + e * sinPhy0) / (1 - e * sinPhy0));\n this.K = k1 - this.alpha * k2 + this.alpha * e / 2 * k3;\n}\n\nexport function forward(p) {\n var Sa1 = Math.log(Math.tan(Math.PI / 4 - p.y / 2));\n var Sa2 = this.e / 2 * Math.log((1 + this.e * Math.sin(p.y)) / (1 - this.e * Math.sin(p.y)));\n var S = -this.alpha * (Sa1 + Sa2) + this.K;\n\n // spheric latitude\n var b = 2 * (Math.atan(Math.exp(S)) - Math.PI / 4);\n\n // spheric longitude\n var I = this.alpha * (p.x - this.lambda0);\n\n // psoeudo equatorial rotation\n var rotI = Math.atan(Math.sin(I) / (Math.sin(this.b0) * Math.tan(b) + Math.cos(this.b0) * Math.cos(I)));\n\n var rotB = Math.asin(Math.cos(this.b0) * Math.sin(b) - Math.sin(this.b0) * Math.cos(b) * Math.cos(I));\n\n p.y = this.R / 2 * Math.log((1 + Math.sin(rotB)) / (1 - Math.sin(rotB))) + this.y0;\n p.x = this.R * rotI + this.x0;\n return p;\n}\n\nexport function inverse(p) {\n var Y = p.x - this.x0;\n var X = p.y - this.y0;\n\n var rotI = Y / this.R;\n var rotB = 2 * (Math.atan(Math.exp(X / this.R)) - Math.PI / 4);\n\n var b = Math.asin(Math.cos(this.b0) * Math.sin(rotB) + Math.sin(this.b0) * Math.cos(rotB) * Math.cos(rotI));\n var I = Math.atan(Math.sin(rotI) / (Math.cos(this.b0) * Math.cos(rotI) - Math.sin(this.b0) * Math.tan(rotB)));\n\n var lambda = this.lambda0 + I / this.alpha;\n\n var S = 0;\n var phy = b;\n var prevPhy = -1000;\n var iteration = 0;\n while (Math.abs(phy - prevPhy) > 0.0000001) {\n if (++iteration > 20) {\n //...reportError(\"omercFwdInfinity\");\n return;\n }\n //S = Math.log(Math.tan(Math.PI / 4 + phy / 2));\n S = 1 / this.alpha * (Math.log(Math.tan(Math.PI / 4 + b / 2)) - this.K) + this.e * Math.log(Math.tan(Math.PI / 4 + Math.asin(this.e * Math.sin(phy)) / 2));\n prevPhy = phy;\n phy = 2 * Math.atan(Math.exp(S)) - Math.PI / 2;\n }\n\n p.x = lambda;\n p.y = phy;\n return p;\n}\n\nexport var names = [\"somerc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/somerc.js\n// module id = 448\n// module chunks = 0","import {EPSLN, HALF_PI} from '../constants/values';\n\nimport sign from '../common/sign';\nimport msfnz from '../common/msfnz';\nimport tsfnz from '../common/tsfnz';\nimport phi2z from '../common/phi2z';\nimport adjust_lon from '../common/adjust_lon';\n\nexport function ssfn_(phit, sinphi, eccen) {\n sinphi *= eccen;\n return (Math.tan(0.5 * (HALF_PI + phit)) * Math.pow((1 - sinphi) / (1 + sinphi), 0.5 * eccen));\n}\n\nexport function init() {\n this.coslat0 = Math.cos(this.lat0);\n this.sinlat0 = Math.sin(this.lat0);\n if (this.sphere) {\n if (this.k0 === 1 && !isNaN(this.lat_ts) && Math.abs(this.coslat0) <= EPSLN) {\n this.k0 = 0.5 * (1 + sign(this.lat0) * Math.sin(this.lat_ts));\n }\n }\n else {\n if (Math.abs(this.coslat0) <= EPSLN) {\n if (this.lat0 > 0) {\n //North pole\n //trace('stere:north pole');\n this.con = 1;\n }\n else {\n //South pole\n //trace('stere:south pole');\n this.con = -1;\n }\n }\n this.cons = Math.sqrt(Math.pow(1 + this.e, 1 + this.e) * Math.pow(1 - this.e, 1 - this.e));\n if (this.k0 === 1 && !isNaN(this.lat_ts) && Math.abs(this.coslat0) <= EPSLN) {\n this.k0 = 0.5 * this.cons * msfnz(this.e, Math.sin(this.lat_ts), Math.cos(this.lat_ts)) / tsfnz(this.e, this.con * this.lat_ts, this.con * Math.sin(this.lat_ts));\n }\n this.ms1 = msfnz(this.e, this.sinlat0, this.coslat0);\n this.X0 = 2 * Math.atan(this.ssfn_(this.lat0, this.sinlat0, this.e)) - HALF_PI;\n this.cosX0 = Math.cos(this.X0);\n this.sinX0 = Math.sin(this.X0);\n }\n}\n\n// Stereographic forward equations--mapping lat,long to x,y\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var sinlat = Math.sin(lat);\n var coslat = Math.cos(lat);\n var A, X, sinX, cosX, ts, rh;\n var dlon = adjust_lon(lon - this.long0);\n\n if (Math.abs(Math.abs(lon - this.long0) - Math.PI) <= EPSLN && Math.abs(lat + this.lat0) <= EPSLN) {\n //case of the origine point\n //trace('stere:this is the origin point');\n p.x = NaN;\n p.y = NaN;\n return p;\n }\n if (this.sphere) {\n //trace('stere:sphere case');\n A = 2 * this.k0 / (1 + this.sinlat0 * sinlat + this.coslat0 * coslat * Math.cos(dlon));\n p.x = this.a * A * coslat * Math.sin(dlon) + this.x0;\n p.y = this.a * A * (this.coslat0 * sinlat - this.sinlat0 * coslat * Math.cos(dlon)) + this.y0;\n return p;\n }\n else {\n X = 2 * Math.atan(this.ssfn_(lat, sinlat, this.e)) - HALF_PI;\n cosX = Math.cos(X);\n sinX = Math.sin(X);\n if (Math.abs(this.coslat0) <= EPSLN) {\n ts = tsfnz(this.e, lat * this.con, this.con * sinlat);\n rh = 2 * this.a * this.k0 * ts / this.cons;\n p.x = this.x0 + rh * Math.sin(lon - this.long0);\n p.y = this.y0 - this.con * rh * Math.cos(lon - this.long0);\n //trace(p.toString());\n return p;\n }\n else if (Math.abs(this.sinlat0) < EPSLN) {\n //Eq\n //trace('stere:equateur');\n A = 2 * this.a * this.k0 / (1 + cosX * Math.cos(dlon));\n p.y = A * sinX;\n }\n else {\n //other case\n //trace('stere:normal case');\n A = 2 * this.a * this.k0 * this.ms1 / (this.cosX0 * (1 + this.sinX0 * sinX + this.cosX0 * cosX * Math.cos(dlon)));\n p.y = A * (this.cosX0 * sinX - this.sinX0 * cosX * Math.cos(dlon)) + this.y0;\n }\n p.x = A * cosX * Math.sin(dlon) + this.x0;\n }\n //trace(p.toString());\n return p;\n}\n\n//* Stereographic inverse equations--mapping x,y to lat/long\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var lon, lat, ts, ce, Chi;\n var rh = Math.sqrt(p.x * p.x + p.y * p.y);\n if (this.sphere) {\n var c = 2 * Math.atan(rh / (0.5 * this.a * this.k0));\n lon = this.long0;\n lat = this.lat0;\n if (rh <= EPSLN) {\n p.x = lon;\n p.y = lat;\n return p;\n }\n lat = Math.asin(Math.cos(c) * this.sinlat0 + p.y * Math.sin(c) * this.coslat0 / rh);\n if (Math.abs(this.coslat0) < EPSLN) {\n if (this.lat0 > 0) {\n lon = adjust_lon(this.long0 + Math.atan2(p.x, - 1 * p.y));\n }\n else {\n lon = adjust_lon(this.long0 + Math.atan2(p.x, p.y));\n }\n }\n else {\n lon = adjust_lon(this.long0 + Math.atan2(p.x * Math.sin(c), rh * this.coslat0 * Math.cos(c) - p.y * this.sinlat0 * Math.sin(c)));\n }\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n if (Math.abs(this.coslat0) <= EPSLN) {\n if (rh <= EPSLN) {\n lat = this.lat0;\n lon = this.long0;\n p.x = lon;\n p.y = lat;\n //trace(p.toString());\n return p;\n }\n p.x *= this.con;\n p.y *= this.con;\n ts = rh * this.cons / (2 * this.a * this.k0);\n lat = this.con * phi2z(this.e, ts);\n lon = this.con * adjust_lon(this.con * this.long0 + Math.atan2(p.x, - 1 * p.y));\n }\n else {\n ce = 2 * Math.atan(rh * this.cosX0 / (2 * this.a * this.k0 * this.ms1));\n lon = this.long0;\n if (rh <= EPSLN) {\n Chi = this.X0;\n }\n else {\n Chi = Math.asin(Math.cos(ce) * this.sinX0 + p.y * Math.sin(ce) * this.cosX0 / rh);\n lon = adjust_lon(this.long0 + Math.atan2(p.x * Math.sin(ce), rh * this.cosX0 * Math.cos(ce) - p.y * this.sinX0 * Math.sin(ce)));\n }\n lat = -1 * phi2z(this.e, Math.tan(0.5 * (HALF_PI + Chi)));\n }\n }\n p.x = lon;\n p.y = lat;\n\n //trace(p.toString());\n return p;\n\n}\n\nexport var names = [\"stere\", \"Stereographic_South_Pole\", \"Polar Stereographic (variant B)\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names,\n ssfn_: ssfn_\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/stere.js\n// module id = 449\n// module chunks = 0","import gauss from './gauss';\nimport adjust_lon from '../common/adjust_lon';\n\nexport function init() {\n gauss.init.apply(this);\n if (!this.rc) {\n return;\n }\n this.sinc0 = Math.sin(this.phic0);\n this.cosc0 = Math.cos(this.phic0);\n this.R2 = 2 * this.rc;\n if (!this.title) {\n this.title = \"Oblique Stereographic Alternative\";\n }\n}\n\nexport function forward(p) {\n var sinc, cosc, cosl, k;\n p.x = adjust_lon(p.x - this.long0);\n gauss.forward.apply(this, [p]);\n sinc = Math.sin(p.y);\n cosc = Math.cos(p.y);\n cosl = Math.cos(p.x);\n k = this.k0 * this.R2 / (1 + this.sinc0 * sinc + this.cosc0 * cosc * cosl);\n p.x = k * cosc * Math.sin(p.x);\n p.y = k * (this.cosc0 * sinc - this.sinc0 * cosc * cosl);\n p.x = this.a * p.x + this.x0;\n p.y = this.a * p.y + this.y0;\n return p;\n}\n\nexport function inverse(p) {\n var sinc, cosc, lon, lat, rho;\n p.x = (p.x - this.x0) / this.a;\n p.y = (p.y - this.y0) / this.a;\n\n p.x /= this.k0;\n p.y /= this.k0;\n if ((rho = Math.sqrt(p.x * p.x + p.y * p.y))) {\n var c = 2 * Math.atan2(rho, this.R2);\n sinc = Math.sin(c);\n cosc = Math.cos(c);\n lat = Math.asin(cosc * this.sinc0 + p.y * sinc * this.cosc0 / rho);\n lon = Math.atan2(p.x * sinc, rho * this.cosc0 * cosc - p.y * this.sinc0 * sinc);\n }\n else {\n lat = this.phic0;\n lon = 0;\n }\n\n p.x = lon;\n p.y = lat;\n gauss.inverse.apply(this, [p]);\n p.x = adjust_lon(p.x + this.long0);\n return p;\n}\n\nexport var names = [\"Stereographic_North_Pole\", \"Oblique_Stereographic\", \"Polar_Stereographic\", \"sterea\",\"Oblique Stereographic Alternative\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/sterea.js\n// module id = 450\n// module chunks = 0","// Heavily based on this tmerc projection implementation\n// https://github.com/mbloch/mapshaper-proj/blob/master/src/projections/tmerc.js\n\nimport pj_enfn from '../common/pj_enfn';\nimport pj_mlfn from '../common/pj_mlfn';\nimport pj_inv_mlfn from '../common/pj_inv_mlfn';\nimport adjust_lon from '../common/adjust_lon';\n\nimport {EPSLN, HALF_PI} from '../constants/values';\nimport sign from '../common/sign';\n\nexport function init() {\n this.x0 = this.x0 !== undefined ? this.x0 : 0;\n this.y0 = this.y0 !== undefined ? this.y0 : 0;\n this.long0 = this.long0 !== undefined ? this.long0 : 0;\n this.lat0 = this.lat0 !== undefined ? this.lat0 : 0;\n\n if (this.es) {\n this.en = pj_enfn(this.es);\n this.ml0 = pj_mlfn(this.lat0, Math.sin(this.lat0), Math.cos(this.lat0), this.en);\n }\n}\n\n/**\n Transverse Mercator Forward - long/lat to x/y\n long/lat in radians\n */\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n\n var delta_lon = adjust_lon(lon - this.long0);\n var con;\n var x, y;\n var sin_phi = Math.sin(lat);\n var cos_phi = Math.cos(lat);\n\n if (!this.es) {\n var b = cos_phi * Math.sin(delta_lon);\n\n if ((Math.abs(Math.abs(b) - 1)) < EPSLN) {\n return (93);\n }\n else {\n x = 0.5 * this.a * this.k0 * Math.log((1 + b) / (1 - b)) + this.x0;\n y = cos_phi * Math.cos(delta_lon) / Math.sqrt(1 - Math.pow(b, 2));\n b = Math.abs(y);\n\n if (b >= 1) {\n if ((b - 1) > EPSLN) {\n return (93);\n }\n else {\n y = 0;\n }\n }\n else {\n y = Math.acos(y);\n }\n\n if (lat < 0) {\n y = -y;\n }\n\n y = this.a * this.k0 * (y - this.lat0) + this.y0;\n }\n }\n else {\n var al = cos_phi * delta_lon;\n var als = Math.pow(al, 2);\n var c = this.ep2 * Math.pow(cos_phi, 2);\n var cs = Math.pow(c, 2);\n var tq = Math.abs(cos_phi) > EPSLN ? Math.tan(lat) : 0;\n var t = Math.pow(tq, 2);\n var ts = Math.pow(t, 2);\n con = 1 - this.es * Math.pow(sin_phi, 2);\n al = al / Math.sqrt(con);\n var ml = pj_mlfn(lat, sin_phi, cos_phi, this.en);\n\n x = this.a * (this.k0 * al * (1 +\n als / 6 * (1 - t + c +\n als / 20 * (5 - 18 * t + ts + 14 * c - 58 * t * c +\n als / 42 * (61 + 179 * ts - ts * t - 479 * t))))) +\n this.x0;\n\n y = this.a * (this.k0 * (ml - this.ml0 +\n sin_phi * delta_lon * al / 2 * (1 +\n als / 12 * (5 - t + 9 * c + 4 * cs +\n als / 30 * (61 + ts - 58 * t + 270 * c - 330 * t * c +\n als / 56 * (1385 + 543 * ts - ts * t - 3111 * t)))))) +\n this.y0;\n }\n\n p.x = x;\n p.y = y;\n\n return p;\n}\n\n/**\n Transverse Mercator Inverse - x/y to long/lat\n */\nexport function inverse(p) {\n var con, phi;\n var lat, lon;\n var x = (p.x - this.x0) * (1 / this.a);\n var y = (p.y - this.y0) * (1 / this.a);\n\n if (!this.es) {\n var f = Math.exp(x / this.k0);\n var g = 0.5 * (f - 1 / f);\n var temp = this.lat0 + y / this.k0;\n var h = Math.cos(temp);\n con = Math.sqrt((1 - Math.pow(h, 2)) / (1 + Math.pow(g, 2)));\n lat = Math.asin(con);\n\n if (y < 0) {\n lat = -lat;\n }\n\n if ((g === 0) && (h === 0)) {\n lon = 0;\n }\n else {\n lon = adjust_lon(Math.atan2(g, h) + this.long0);\n }\n }\n else { // ellipsoidal form\n con = this.ml0 + y / this.k0;\n phi = pj_inv_mlfn(con, this.es, this.en);\n\n if (Math.abs(phi) < HALF_PI) {\n var sin_phi = Math.sin(phi);\n var cos_phi = Math.cos(phi);\n var tan_phi = Math.abs(cos_phi) > EPSLN ? Math.tan(phi) : 0;\n var c = this.ep2 * Math.pow(cos_phi, 2);\n var cs = Math.pow(c, 2);\n var t = Math.pow(tan_phi, 2);\n var ts = Math.pow(t, 2);\n con = 1 - this.es * Math.pow(sin_phi, 2);\n var d = x * Math.sqrt(con) / this.k0;\n var ds = Math.pow(d, 2);\n con = con * tan_phi;\n\n lat = phi - (con * ds / (1 - this.es)) * 0.5 * (1 -\n ds / 12 * (5 + 3 * t - 9 * c * t + c - 4 * cs -\n ds / 30 * (61 + 90 * t - 252 * c * t + 45 * ts + 46 * c -\n ds / 56 * (1385 + 3633 * t + 4095 * ts + 1574 * ts * t))));\n\n lon = adjust_lon(this.long0 + (d * (1 -\n ds / 6 * (1 + 2 * t + c -\n ds / 20 * (5 + 28 * t + 24 * ts + 8 * c * t + 6 * c -\n ds / 42 * (61 + 662 * t + 1320 * ts + 720 * ts * t)))) / cos_phi));\n }\n else {\n lat = HALF_PI * sign(y);\n lon = 0;\n }\n }\n\n p.x = lon;\n p.y = lat;\n\n return p;\n}\n\nexport var names = [\"Transverse_Mercator\", \"Transverse Mercator\", \"tmerc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/tmerc.js\n// module id = 451\n// module chunks = 0","import adjust_zone from '../common/adjust_zone';\nimport etmerc from './etmerc';\nexport var dependsOn = 'etmerc';\nimport {D2R} from '../constants/values';\n\n\nexport function init() {\n var zone = adjust_zone(this.zone, this.long0);\n if (zone === undefined) {\n throw new Error('unknown utm zone');\n }\n this.lat0 = 0;\n this.long0 = ((6 * Math.abs(zone)) - 183) * D2R;\n this.x0 = 500000;\n this.y0 = this.utmSouth ? 10000000 : 0;\n this.k0 = 0.9996;\n\n etmerc.init.apply(this);\n this.forward = etmerc.forward;\n this.inverse = etmerc.inverse;\n}\n\nexport var names = [\"Universal Transverse Mercator System\", \"utm\"];\nexport default {\n init: init,\n names: names,\n dependsOn: dependsOn\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/utm.js\n// module id = 452\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\n\nimport {HALF_PI, EPSLN} from '../constants/values';\n\nimport asinz from '../common/asinz';\n\n/* Initialize the Van Der Grinten projection\n ----------------------------------------*/\nexport function init() {\n //this.R = 6370997; //Radius of earth\n this.R = this.a;\n}\n\nexport function forward(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n /* Forward equations\n -----------------*/\n var dlon = adjust_lon(lon - this.long0);\n var x, y;\n\n if (Math.abs(lat) <= EPSLN) {\n x = this.x0 + this.R * dlon;\n y = this.y0;\n }\n var theta = asinz(2 * Math.abs(lat / Math.PI));\n if ((Math.abs(dlon) <= EPSLN) || (Math.abs(Math.abs(lat) - HALF_PI) <= EPSLN)) {\n x = this.x0;\n if (lat >= 0) {\n y = this.y0 + Math.PI * this.R * Math.tan(0.5 * theta);\n }\n else {\n y = this.y0 + Math.PI * this.R * -Math.tan(0.5 * theta);\n }\n // return(OK);\n }\n var al = 0.5 * Math.abs((Math.PI / dlon) - (dlon / Math.PI));\n var asq = al * al;\n var sinth = Math.sin(theta);\n var costh = Math.cos(theta);\n\n var g = costh / (sinth + costh - 1);\n var gsq = g * g;\n var m = g * (2 / sinth - 1);\n var msq = m * m;\n var con = Math.PI * this.R * (al * (g - msq) + Math.sqrt(asq * (g - msq) * (g - msq) - (msq + asq) * (gsq - msq))) / (msq + asq);\n if (dlon < 0) {\n con = -con;\n }\n x = this.x0 + con;\n //con = Math.abs(con / (Math.PI * this.R));\n var q = asq + g;\n con = Math.PI * this.R * (m * q - al * Math.sqrt((msq + asq) * (asq + 1) - q * q)) / (msq + asq);\n if (lat >= 0) {\n //y = this.y0 + Math.PI * this.R * Math.sqrt(1 - con * con - 2 * al * con);\n y = this.y0 + con;\n }\n else {\n //y = this.y0 - Math.PI * this.R * Math.sqrt(1 - con * con - 2 * al * con);\n y = this.y0 - con;\n }\n p.x = x;\n p.y = y;\n return p;\n}\n\n/* Van Der Grinten inverse equations--mapping x,y to lat/long\n ---------------------------------------------------------*/\nexport function inverse(p) {\n var lon, lat;\n var xx, yy, xys, c1, c2, c3;\n var a1;\n var m1;\n var con;\n var th1;\n var d;\n\n /* inverse equations\n -----------------*/\n p.x -= this.x0;\n p.y -= this.y0;\n con = Math.PI * this.R;\n xx = p.x / con;\n yy = p.y / con;\n xys = xx * xx + yy * yy;\n c1 = -Math.abs(yy) * (1 + xys);\n c2 = c1 - 2 * yy * yy + xx * xx;\n c3 = -2 * c1 + 1 + 2 * yy * yy + xys * xys;\n d = yy * yy / c3 + (2 * c2 * c2 * c2 / c3 / c3 / c3 - 9 * c1 * c2 / c3 / c3) / 27;\n a1 = (c1 - c2 * c2 / 3 / c3) / c3;\n m1 = 2 * Math.sqrt(-a1 / 3);\n con = ((3 * d) / a1) / m1;\n if (Math.abs(con) > 1) {\n if (con >= 0) {\n con = 1;\n }\n else {\n con = -1;\n }\n }\n th1 = Math.acos(con) / 3;\n if (p.y >= 0) {\n lat = (-m1 * Math.cos(th1 + Math.PI / 3) - c2 / 3 / c3) * Math.PI;\n }\n else {\n lat = -(-m1 * Math.cos(th1 + Math.PI / 3) - c2 / 3 / c3) * Math.PI;\n }\n\n if (Math.abs(xx) < EPSLN) {\n lon = this.long0;\n }\n else {\n lon = adjust_lon(this.long0 + Math.PI * (xys - 1 + Math.sqrt(1 + 2 * (xx * xx - yy * yy) + xys * xys)) / 2 / xx);\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Van_der_Grinten_I\", \"VanDerGrinten\", \"vandg\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/vandg.js\n// module id = 453\n// module chunks = 0","export {version as default} from '../package.json';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/version.js\n// module id = 454\n// module chunks = 0","module.exports = {\n\t\"_args\": [\n\t\t[\n\t\t\t\"proj4@https://registry.npm.taobao.org/proj4/download/proj4-2.4.3.tgz\",\n\t\t\t\"E:\\\\github\\\\HMap\"\n\t\t]\n\t],\n\t\"_from\": \"proj4@https://registry.npm.taobao.org/proj4/download/proj4-2.4.3.tgz\",\n\t\"_id\": \"proj4@2.4.3\",\n\t\"_inBundle\": false,\n\t\"_integrity\": \"sha1-87t+Yxv/wEfDaho8wUUzoDu+mWk=\",\n\t\"_location\": \"/proj4\",\n\t\"_phantomChildren\": {},\n\t\"_requested\": {\n\t\t\"type\": \"remote\",\n\t\t\"raw\": \"proj4@https://registry.npm.taobao.org/proj4/download/proj4-2.4.3.tgz\",\n\t\t\"name\": \"proj4\",\n\t\t\"escapedName\": \"proj4\",\n\t\t\"rawSpec\": \"https://registry.npm.taobao.org/proj4/download/proj4-2.4.3.tgz\",\n\t\t\"saveSpec\": \"https://registry.npm.taobao.org/proj4/download/proj4-2.4.3.tgz\",\n\t\t\"fetchSpec\": \"https://registry.npm.taobao.org/proj4/download/proj4-2.4.3.tgz\"\n\t},\n\t\"_requiredBy\": [\n\t\t\"/\"\n\t],\n\t\"_spec\": \"https://registry.npm.taobao.org/proj4/download/proj4-2.4.3.tgz\",\n\t\"_where\": \"E:\\\\github\\\\HMap\",\n\t\"author\": \"\",\n\t\"bugs\": {\n\t\t\"url\": \"https://github.com/proj4js/proj4js/issues\"\n\t},\n\t\"contributors\": [\n\t\t{\n\t\t\t\"name\": \"Mike Adair\",\n\t\t\t\"email\": \"madair@dmsolutions.ca\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Richard Greenwood\",\n\t\t\t\"email\": \"rich@greenwoodmap.com\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Calvin Metcalf\",\n\t\t\t\"email\": \"calvin.metcalf@gmail.com\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Richard Marsden\",\n\t\t\t\"url\": \"http://www.winwaed.com\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"T. Mittan\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"D. Steinwand\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"S. Nelson\"\n\t\t}\n\t],\n\t\"dependencies\": {\n\t\t\"mgrs\": \"1.0.0\",\n\t\t\"wkt-parser\": \"^1.1.3\"\n\t},\n\t\"description\": \"Proj4js is a JavaScript library to transform point coordinates from one coordinate system to another, including datum transformations.\",\n\t\"devDependencies\": {\n\t\t\"chai\": \"~1.8.1\",\n\t\t\"curl\": \"git://github.com/cujojs/curl.git\",\n\t\t\"grunt\": \"~0.4.2\",\n\t\t\"grunt-cli\": \"~0.1.13\",\n\t\t\"grunt-contrib-connect\": \"~0.6.0\",\n\t\t\"grunt-contrib-jshint\": \"~1.1.0\",\n\t\t\"grunt-contrib-uglify\": \"~0.11.1\",\n\t\t\"grunt-mocha-phantomjs\": \"~0.4.0\",\n\t\t\"grunt-rollup\": \"^1.0.1\",\n\t\t\"istanbul\": \"~0.2.4\",\n\t\t\"mocha\": \"~1.17.1\",\n\t\t\"rollup\": \"^0.41.4\",\n\t\t\"rollup-plugin-json\": \"^2.0.1\",\n\t\t\"rollup-plugin-node-resolve\": \"^2.0.0\",\n\t\t\"tin\": \"~0.4.0\"\n\t},\n\t\"directories\": {\n\t\t\"test\": \"test\",\n\t\t\"doc\": \"docs\"\n\t},\n\t\"homepage\": \"https://github.com/proj4js/proj4js#readme\",\n\t\"license\": \"MIT\",\n\t\"main\": \"dist/proj4-src.js\",\n\t\"module\": \"lib/index.js\",\n\t\"name\": \"proj4\",\n\t\"repository\": {\n\t\t\"type\": \"git\",\n\t\t\"url\": \"git://github.com/proj4js/proj4js.git\"\n\t},\n\t\"scripts\": {\n\t\t\"build\": \"grunt\",\n\t\t\"build:tmerc\": \"grunt build:tmerc\",\n\t\t\"test\": \"npm run build && istanbul test _mocha test/test.js\"\n\t},\n\t\"version\": \"https://registry.npm.taobao.org/proj4/download/proj4-2.4.3.tgz\"\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/package.json\n// module id = 455\n// module chunks = 0","import tmerc from './lib/projections/tmerc';\nimport etmerc from './lib/projections/etmerc';\nimport utm from './lib/projections/utm';\nimport sterea from './lib/projections/sterea';\nimport stere from './lib/projections/stere';\nimport somerc from './lib/projections/somerc';\nimport omerc from './lib/projections/omerc';\nimport lcc from './lib/projections/lcc';\nimport krovak from './lib/projections/krovak';\nimport cass from './lib/projections/cass';\nimport laea from './lib/projections/laea';\nimport aea from './lib/projections/aea';\nimport gnom from './lib/projections/gnom';\nimport cea from './lib/projections/cea';\nimport eqc from './lib/projections/eqc';\nimport poly from './lib/projections/poly';\nimport nzmg from './lib/projections/nzmg';\nimport mill from './lib/projections/mill';\nimport sinu from './lib/projections/sinu';\nimport moll from './lib/projections/moll';\nimport eqdc from './lib/projections/eqdc';\nimport vandg from './lib/projections/vandg';\nimport aeqd from './lib/projections/aeqd';\nimport ortho from './lib/projections/ortho';\nexport default function(proj4){\n proj4.Proj.projections.add(tmerc);\n proj4.Proj.projections.add(etmerc);\n proj4.Proj.projections.add(utm);\n proj4.Proj.projections.add(sterea);\n proj4.Proj.projections.add(stere);\n proj4.Proj.projections.add(somerc);\n proj4.Proj.projections.add(omerc);\n proj4.Proj.projections.add(lcc);\n proj4.Proj.projections.add(krovak);\n proj4.Proj.projections.add(cass);\n proj4.Proj.projections.add(laea);\n proj4.Proj.projections.add(aea);\n proj4.Proj.projections.add(gnom);\n proj4.Proj.projections.add(cea);\n proj4.Proj.projections.add(eqc);\n proj4.Proj.projections.add(poly);\n proj4.Proj.projections.add(nzmg);\n proj4.Proj.projections.add(mill);\n proj4.Proj.projections.add(sinu);\n proj4.Proj.projections.add(moll);\n proj4.Proj.projections.add(eqdc);\n proj4.Proj.projections.add(vandg);\n proj4.Proj.projections.add(aeqd);\n proj4.Proj.projections.add(ortho);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/projs.js\n// module id = 456\n// module chunks = 0","/**\n * Copyright (c) 2014, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * https://raw.github.com/facebook/regenerator/master/LICENSE file. An\n * additional grant of patent rights can be found in the PATENTS file in\n * the same directory.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n if (typeof global.process === \"object\" && global.process.domain) {\n invoke = global.process.domain.bind(invoke);\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // Among the various tricks for obtaining a reference to the global\n // object, this seems to be the most reliable technique that does not\n // use indirect eval (which violates Content Security Policy).\n typeof global === \"object\" ? global :\n typeof window === \"object\" ? window :\n typeof self === \"object\" ? self : this\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/regenerator-runtime/runtime.js\n// module id = 457\n// module chunks = 0","export default parseString;\n\nvar NEUTRAL = 1;\nvar KEYWORD = 2;\nvar NUMBER = 3;\nvar QUOTED = 4;\nvar AFTERQUOTE = 5;\nvar ENDED = -1;\nvar whitespace = /\\s/;\nvar latin = /[A-Za-z]/;\nvar keyword = /[A-Za-z84]/;\nvar endThings = /[,\\]]/;\nvar digets = /[\\d\\.E\\-\\+]/;\n// const ignoredChar = /[\\s_\\-\\/\\(\\)]/g;\nfunction Parser(text) {\n if (typeof text !== 'string') {\n throw new Error('not a string');\n }\n this.text = text.trim();\n this.level = 0;\n this.place = 0;\n this.root = null;\n this.stack = [];\n this.currentObject = null;\n this.state = NEUTRAL;\n}\nParser.prototype.readCharicter = function() {\n var char = this.text[this.place++];\n if (this.state !== QUOTED) {\n while (whitespace.test(char)) {\n if (this.place >= this.text.length) {\n return;\n }\n char = this.text[this.place++];\n }\n }\n switch (this.state) {\n case NEUTRAL:\n return this.neutral(char);\n case KEYWORD:\n return this.keyword(char)\n case QUOTED:\n return this.quoted(char);\n case AFTERQUOTE:\n return this.afterquote(char);\n case NUMBER:\n return this.number(char);\n case ENDED:\n return;\n }\n};\nParser.prototype.afterquote = function(char) {\n if (char === '\"') {\n this.word += '\"';\n this.state = QUOTED;\n return;\n }\n if (endThings.test(char)) {\n this.word = this.word.trim();\n this.afterItem(char);\n return;\n }\n throw new Error('havn\\'t handled \"' +char + '\" in afterquote yet, index ' + this.place);\n};\nParser.prototype.afterItem = function(char) {\n if (char === ',') {\n if (this.word !== null) {\n this.currentObject.push(this.word);\n }\n this.word = null;\n this.state = NEUTRAL;\n return;\n }\n if (char === ']') {\n this.level--;\n if (this.word !== null) {\n this.currentObject.push(this.word);\n this.word = null;\n }\n this.state = NEUTRAL;\n this.currentObject = this.stack.pop();\n if (!this.currentObject) {\n this.state = ENDED;\n }\n\n return;\n }\n};\nParser.prototype.number = function(char) {\n if (digets.test(char)) {\n this.word += char;\n return;\n }\n if (endThings.test(char)) {\n this.word = parseFloat(this.word);\n this.afterItem(char);\n return;\n }\n throw new Error('havn\\'t handled \"' +char + '\" in number yet, index ' + this.place);\n};\nParser.prototype.quoted = function(char) {\n if (char === '\"') {\n this.state = AFTERQUOTE;\n return;\n }\n this.word += char;\n return;\n};\nParser.prototype.keyword = function(char) {\n if (keyword.test(char)) {\n this.word += char;\n return;\n }\n if (char === '[') {\n var newObjects = [];\n newObjects.push(this.word);\n this.level++;\n if (this.root === null) {\n this.root = newObjects;\n } else {\n this.currentObject.push(newObjects);\n }\n this.stack.push(this.currentObject);\n this.currentObject = newObjects;\n this.state = NEUTRAL;\n return;\n }\n if (endThings.test(char)) {\n this.afterItem(char);\n return;\n }\n throw new Error('havn\\'t handled \"' +char + '\" in keyword yet, index ' + this.place);\n};\nParser.prototype.neutral = function(char) {\n if (latin.test(char)) {\n this.word = char;\n this.state = KEYWORD;\n return;\n }\n if (char === '\"') {\n this.word = '';\n this.state = QUOTED;\n return;\n }\n if (digets.test(char)) {\n this.word = char;\n this.state = NUMBER;\n return;\n }\n if (endThings.test(char)) {\n this.afterItem(char);\n return;\n }\n throw new Error('havn\\'t handled \"' +char + '\" in neutral yet, index ' + this.place);\n};\nParser.prototype.output = function() {\n while (this.place < this.text.length) {\n this.readCharicter();\n }\n if (this.state === ENDED) {\n return this.root;\n }\n throw new Error('unable to parse string \"' +this.text + '\". State is ' + this.state);\n};\n\nfunction parseString(txt) {\n var parser = new Parser(txt);\n return parser.output();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/wkt-parser/parser.js\n// module id = 458\n// module chunks = 0","\n\nfunction mapit(obj, key, value) {\n if (Array.isArray(key)) {\n value.unshift(key);\n key = null;\n }\n var thing = key ? {} : obj;\n\n var out = value.reduce(function(newObj, item) {\n sExpr(item, newObj);\n return newObj\n }, thing);\n if (key) {\n obj[key] = out;\n }\n}\n\nexport function sExpr(v, obj) {\n if (!Array.isArray(v)) {\n obj[v] = true;\n return;\n }\n var key = v.shift();\n if (key === 'PARAMETER') {\n key = v.shift();\n }\n if (v.length === 1) {\n if (Array.isArray(v[0])) {\n obj[key] = {};\n sExpr(v[0], obj[key]);\n return;\n }\n obj[key] = v[0];\n return;\n }\n if (!v.length) {\n obj[key] = true;\n return;\n }\n if (key === 'TOWGS84') {\n obj[key] = v;\n return;\n }\n if (!Array.isArray(key)) {\n obj[key] = {};\n }\n\n var i;\n switch (key) {\n case 'UNIT':\n case 'PRIMEM':\n case 'VERT_DATUM':\n obj[key] = {\n name: v[0].toLowerCase(),\n convert: v[1]\n };\n if (v.length === 3) {\n sExpr(v[2], obj[key]);\n }\n return;\n case 'SPHEROID':\n case 'ELLIPSOID':\n obj[key] = {\n name: v[0],\n a: v[1],\n rf: v[2]\n };\n if (v.length === 4) {\n sExpr(v[3], obj[key]);\n }\n return;\n case 'PROJECTEDCRS':\n case 'PROJCRS':\n case 'GEOGCS':\n case 'GEOCCS':\n case 'PROJCS':\n case 'LOCAL_CS':\n case 'GEODCRS':\n case 'GEODETICCRS':\n case 'GEODETICDATUM':\n case 'EDATUM':\n case 'ENGINEERINGDATUM':\n case 'VERT_CS':\n case 'VERTCRS':\n case 'VERTICALCRS':\n case 'COMPD_CS':\n case 'COMPOUNDCRS':\n case 'ENGINEERINGCRS':\n case 'ENGCRS':\n case 'FITTED_CS':\n case 'LOCAL_DATUM':\n case 'DATUM':\n v[0] = ['name', v[0]];\n mapit(obj, key, v);\n return;\n default:\n i = -1;\n while (++i < v.length) {\n if (!Array.isArray(v[i])) {\n return sExpr(v, obj[key]);\n }\n }\n return mapit(obj, key, v);\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/wkt-parser/process.js\n// module id = 459\n// module chunks = 0","module.exports = {\n\t\"name\": \"hmap-js\",\n\t\"version\": \"1.3.5\",\n\t\"private\": false,\n\t\"description\": \"WEBGIS API\",\n\t\"keywords\": [\n\t\t\"webgis\",\n\t\t\"canvas\",\n\t\t\"openlayer3\",\n\t\t\"es6\"\n\t],\n\t\"author\": \"FDD \",\n\t\"repository\": {\n\t\t\"type\": \"git\",\n\t\t\"url\": \"https://github.com/sakitam-fdd/HMap.git\"\n\t},\n\t\"main\": \"src/index.js\",\n\t\"scripts\": {\n\t\t\"build\": \"webpack --env build\",\n\t\t\"dev\": \"webpack --progress --colors --watch --env dev\",\n\t\t\"test\": \"mocha --compilers js:babel-core/register --colors ./test/*.spec.js\",\n\t\t\"test:watch\": \"mocha --compilers js:babel-core/register --colors -w ./test/*.spec.js\"\n\t},\n\t\"dependencies\": {\n\t\t\"openlayers\": \"^4.0.1\",\n\t\t\"proj4\": \"^2.4.3\"\n\t},\n\t\"devDependencies\": {\n\t\t\"autoprefixer\": \"^6.7.2\",\n\t\t\"babel\": \"^6.0.0\",\n\t\t\"babel-core\": \"^6.0.0\",\n\t\t\"babel-eslint\": \"^7.0.0\",\n\t\t\"babel-loader\": \"^6.0.0\",\n\t\t\"babel-plugin-add-module-exports\": \"0.1.2\",\n\t\t\"babel-plugin-istanbul\": \"^3.1.2\",\n\t\t\"babel-plugin-transform-runtime\": \"^6.0.0\",\n\t\t\"babel-polyfill\": \"^6.23.0\",\n\t\t\"babel-preset-env\": \"^1.2.1\",\n\t\t\"babel-preset-es2015\": \"^6.0.0\",\n\t\t\"babel-preset-stage-2\": \"^6.0.0\",\n\t\t\"babel-preset-stage-3\": \"^6.24.1\",\n\t\t\"babel-register\": \"^6.0.0\",\n\t\t\"chalk\": \"^1.1.3\",\n\t\t\"css-loader\": \"^0.28.4\",\n\t\t\"eslint\": \"^3.14.1\",\n\t\t\"eslint-config-standard\": \"^6.2.1\",\n\t\t\"eslint-friendly-formatter\": \"^2.0.7\",\n\t\t\"eslint-loader\": \"^1.6.1\",\n\t\t\"eslint-plugin-html\": \"^2.0.0\",\n\t\t\"eslint-plugin-promise\": \"^3.4.0\",\n\t\t\"eslint-plugin-standard\": \"^2.0.1\",\n\t\t\"eventsource-polyfill\": \"^0.9.6\",\n\t\t\"extract-text-webpack-plugin\": \"^2.1.2\",\n\t\t\"file-loader\": \"^0.11.2\",\n\t\t\"friendly-errors-webpack-plugin\": \"^1.6.1\",\n\t\t\"mocha\": \"^2.0.0\",\n\t\t\"node-sass\": \"^4.5.3\",\n\t\t\"postcss-loader\": \"^2.0.6\",\n\t\t\"sass-loader\": \"^6.0.6\",\n\t\t\"style-loader\": \"^0.18.2\",\n\t\t\"url-loader\": \"^0.5.9\",\n\t\t\"webpack\": \"^2.2.0\",\n\t\t\"webpack-bundle-analyzer\": \"^2.8.2\",\n\t\t\"webpack-dev-middleware\": \"^1.8.3\",\n\t\t\"webpack-hot-middleware\": \"^2.12.2\",\n\t\t\"webpack-merge\": \"^0.14.1\",\n\t\t\"yargs\": \"^6.0.0\"\n\t},\n\t\"license\": \"MIT\"\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./package.json\n// module id = 460\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 45f61f6566cea30e123e","webpack:///./~/core-js/modules/_export.js","webpack:///./src/constants.js","webpack:///./~/core-js/modules/_an-object.js","webpack:///./~/core-js/modules/_global.js","webpack:///./~/proj4/lib/constants/values.js","webpack:///./~/core-js/modules/_fails.js","webpack:///./~/core-js/modules/_is-object.js","webpack:///./src/plot/Utils/PlotTypes.js","webpack:///./~/core-js/modules/_wks.js","webpack:///./~/proj4/lib/common/adjust_lon.js","webpack:///./~/core-js/modules/_descriptors.js","webpack:///./~/core-js/modules/_object-dp.js","webpack:///./~/core-js/modules/_to-length.js","webpack:///./src/plot/Utils/utils.js","webpack:///./~/core-js/modules/_to-object.js","webpack:///./~/core-js/modules/_has.js","webpack:///./~/core-js/modules/_a-function.js","webpack:///./~/core-js/modules/_hide.js","webpack:///./~/core-js/modules/_redefine.js","webpack:///./~/core-js/modules/_string-html.js","webpack:///./~/core-js/modules/_to-iobject.js","webpack:///./~/core-js/modules/_object-gopd.js","webpack:///./~/core-js/modules/_object-gpo.js","webpack:///./~/core-js/modules/_cof.js","webpack:///./~/core-js/modules/_defined.js","webpack:///./~/core-js/modules/_strict-method.js","webpack:///./src/plot/Constants.js","webpack:///./~/core-js/modules/_array-methods.js","webpack:///./~/core-js/modules/_object-sap.js","webpack:///./~/core-js/modules/_to-primitive.js","webpack:///./~/core-js/modules/_core.js","webpack:///./~/core-js/modules/_ctx.js","webpack:///./~/core-js/modules/_metadata.js","webpack:///./~/core-js/modules/_typed-array.js","webpack:///./~/core-js/modules/_meta.js","webpack:///./~/core-js/modules/_property-desc.js","webpack:///./~/core-js/modules/_to-integer.js","webpack:///./src/utils/mixin.js","webpack:///./~/core-js/modules/_an-instance.js","webpack:///./~/core-js/modules/_library.js","webpack:///./~/core-js/modules/_object-create.js","webpack:///./~/core-js/modules/_object-gopn.js","webpack:///./~/core-js/modules/_object-keys.js","webpack:///./~/core-js/modules/_redefine-all.js","webpack:///./~/core-js/modules/_set-species.js","webpack:///./~/core-js/modules/_to-index.js","webpack:///./~/core-js/modules/_uid.js","webpack:///./src/dom/index.js","webpack:///./src/layer/Layer.js","webpack:///./src/style/Style.js","webpack:///./src/utils/utils.js","webpack:///./~/core-js/modules/_add-to-unscopables.js","webpack:///./~/core-js/modules/_for-of.js","webpack:///./~/core-js/modules/_iterators.js","webpack:///./~/core-js/modules/_set-to-string-tag.js","webpack:///./~/core-js/modules/_string-trim.js","webpack:///./~/proj4/lib/common/asinz.js","webpack:///./~/proj4/lib/common/msfnz.js","webpack:///./~/core-js/modules/_classof.js","webpack:///./~/core-js/modules/_iobject.js","webpack:///./~/core-js/modules/_object-pie.js","webpack:///./~/proj4/lib/common/adjust_lat.js","webpack:///./~/proj4/lib/common/sign.js","webpack:///./src/plot/Geometry/Arrow/AttackArrow.js","webpack:///./~/core-js/modules/_array-includes.js","webpack:///./~/core-js/modules/_collection.js","webpack:///./~/core-js/modules/_fix-re-wks.js","webpack:///./~/core-js/modules/_flags.js","webpack:///./~/core-js/modules/_invoke.js","webpack:///./~/core-js/modules/_is-regexp.js","webpack:///./~/core-js/modules/_iter-detect.js","webpack:///./~/core-js/modules/_object-forced-pam.js","webpack:///./~/core-js/modules/_object-gops.js","webpack:///./~/core-js/modules/_shared.js","webpack:///./~/core-js/modules/_typed.js","webpack:///./~/proj4/lib/common/e0fn.js","webpack:///./~/proj4/lib/common/e1fn.js","webpack:///./~/proj4/lib/common/e2fn.js","webpack:///./~/proj4/lib/common/e3fn.js","webpack:///./~/proj4/lib/common/mlfn.js","webpack:///./~/proj4/lib/common/phi2z.js","webpack:///./~/proj4/lib/common/tsfnz.js","webpack:///./src/feature/feature.js","webpack:///./~/core-js/modules/_array-fill.js","webpack:///./~/core-js/modules/_create-property.js","webpack:///./~/core-js/modules/_dom-create.js","webpack:///./~/core-js/modules/_enum-bug-keys.js","webpack:///./~/core-js/modules/_fails-is-regexp.js","webpack:///./~/core-js/modules/_html.js","webpack:///./~/core-js/modules/_inherit-if-required.js","webpack:///./~/core-js/modules/_is-array-iter.js","webpack:///./~/core-js/modules/_is-array.js","webpack:///./~/core-js/modules/_iter-create.js","webpack:///./~/core-js/modules/_iter-define.js","webpack:///./~/core-js/modules/_math-expm1.js","webpack:///./~/core-js/modules/_math-sign.js","webpack:///./~/core-js/modules/_microtask.js","webpack:///./~/core-js/modules/_set-proto.js","webpack:///./~/core-js/modules/_shared-key.js","webpack:///./~/core-js/modules/_species-constructor.js","webpack:///./~/core-js/modules/_string-at.js","webpack:///./~/core-js/modules/_string-context.js","webpack:///./~/core-js/modules/_string-repeat.js","webpack:///./~/core-js/modules/_string-ws.js","webpack:///./~/core-js/modules/_task.js","webpack:///./~/core-js/modules/_typed-buffer.js","webpack:///./~/core-js/modules/_wks-define.js","webpack:///./~/core-js/modules/core.get-iterator-method.js","webpack:///./~/core-js/modules/es6.array.iterator.js","webpack:///./~/proj4/lib/Proj.js","webpack:///./~/proj4/lib/common/gN.js","webpack:///./~/proj4/lib/common/imlfn.js","webpack:///./~/proj4/lib/common/pj_mlfn.js","webpack:///./~/proj4/lib/common/qsfnz.js","webpack:///./~/proj4/lib/match.js","webpack:///./src/dom/domUtil.js","webpack:///./src/event/Events.js","webpack:///./src/event/Observable.js","webpack:///./src/plot/Event/EventType.js","webpack:///./src/plot/Geometry/Arrow/FineArrow.js","webpack:///./src/plugins/LayerSwitcher.js","webpack:///./~/core-js/modules/_a-number-value.js","webpack:///./~/core-js/modules/_array-copy-within.js","webpack:///./~/core-js/modules/_array-from-iterable.js","webpack:///./~/core-js/modules/_array-reduce.js","webpack:///./~/core-js/modules/_bind.js","webpack:///./~/core-js/modules/_collection-strong.js","webpack:///./~/core-js/modules/_collection-to-json.js","webpack:///./~/core-js/modules/_collection-weak.js","webpack:///./~/core-js/modules/_ie8-dom-define.js","webpack:///./~/core-js/modules/_is-integer.js","webpack:///./~/core-js/modules/_iter-call.js","webpack:///./~/core-js/modules/_iter-step.js","webpack:///./~/core-js/modules/_math-log1p.js","webpack:///./~/core-js/modules/_object-assign.js","webpack:///./~/core-js/modules/_object-dps.js","webpack:///./~/core-js/modules/_object-gopn-ext.js","webpack:///./~/core-js/modules/_object-keys-internal.js","webpack:///./~/core-js/modules/_object-to-array.js","webpack:///./~/core-js/modules/_own-keys.js","webpack:///./~/core-js/modules/_parse-float.js","webpack:///./~/core-js/modules/_parse-int.js","webpack:///./~/core-js/modules/_same-value.js","webpack:///./~/core-js/modules/_string-pad.js","webpack:///./~/core-js/modules/_wks-ext.js","webpack:///./~/core-js/modules/es6.map.js","webpack:///./~/core-js/modules/es6.regexp.flags.js","webpack:///./~/core-js/modules/es6.set.js","webpack:///./~/core-js/modules/es6.weak-map.js","webpack:///./~/mgrs/mgrs.js","webpack:///./~/proj4/lib/common/hypot.js","webpack:///./~/proj4/lib/common/pj_enfn.js","webpack:///./~/proj4/lib/common/pj_inv_mlfn.js","webpack:///./~/proj4/lib/common/sinh.js","webpack:///./~/proj4/lib/common/toPoint.js","webpack:///./~/proj4/lib/defs.js","webpack:///./~/proj4/lib/projString.js","webpack:///./~/proj4/lib/projections/etmerc.js","webpack:///./~/proj4/lib/transform.js","webpack:///(webpack)/buildin/global.js","webpack:///./~/wkt-parser/index.js","webpack:///./src/index.js","webpack:///./~/babel-polyfill/lib/index.js","webpack:///./src/config/config.js","webpack:///./src/controls/BaseLayerSwitcher.js","webpack:///./src/controls/CompareLayer.js","webpack:///./src/controls/Geolocation.js","webpack:///./src/controls/index.js","webpack:///./src/dom/css.js","webpack:///./src/event/appDrag.js","webpack:///./src/interaction/LayerSpyglass.js","webpack:///./src/interaction/MisplacesGlass.js","webpack:///./src/layer/source/BaiDu.js","webpack:///./src/layer/source/GaoDe.js","webpack:///./src/layer/source/Google.js","webpack:///./src/map/Controls.js","webpack:///./src/map/Interactions.js","webpack:///./src/map/Map.js","webpack:///./src/map/View.js","webpack:///./src/map/baseLayer.js","webpack:///./src/overlay/Overlay.js","webpack:///./src/overlay/Popover.js","webpack:///./src/plot/Event/PlotDraw.js","webpack:///./src/plot/Event/PlotEdit.js","webpack:///./src/plot/Geometry/Arc/Arc.js","webpack:///./src/plot/Geometry/Arrow/AssaultDirection.js","webpack:///./src/plot/Geometry/Arrow/DoubleArrow.js","webpack:///./src/plot/Geometry/Arrow/SquadCombat.js","webpack:///./src/plot/Geometry/Arrow/StraightArrow.js","webpack:///./src/plot/Geometry/Arrow/TailedAttackArrow.js","webpack:///./src/plot/Geometry/Arrow/TailedSquadCombat.js","webpack:///./src/plot/Geometry/Circle/Circle.js","webpack:///./src/plot/Geometry/Circle/Ellipse.js","webpack:///./src/plot/Geometry/Polygon/ClosedCurve.js","webpack:///./src/plot/Geometry/Polygon/FreePolygon.js","webpack:///./src/plot/Geometry/Polygon/GatheringPlace.js","webpack:///./src/plot/Geometry/Polygon/Lune.js","webpack:///./src/plot/Geometry/Polygon/Polygon.js","webpack:///./src/plot/Geometry/Polygon/RectAngle.js","webpack:///./src/plot/Geometry/Polygon/Sector.js","webpack:///./src/plot/Geometry/Polyline/Curve.js","webpack:///./src/plot/Geometry/Polyline/FreeHandLine.js","webpack:///./src/plot/Geometry/Polyline/Polyline.js","webpack:///./src/plot/Geometry/index.js","webpack:///./src/plot/Geometry/point/Pennant.js","webpack:///./src/plot/Geometry/point/Point.js","webpack:///./src/plot/index.js","webpack:///./src/plugins/CoordsTransform.js","webpack:///./src/plugins/CustomCircle.js","webpack:///./src/plugins/GeomCoder.js","webpack:///./src/plugins/MeasureTool.js","webpack:///./src/scss/index.js","webpack:///./src/style/MapboxStyle.js","webpack:///./~/core-js/fn/regexp/escape.js","webpack:///./~/core-js/modules/_array-species-constructor.js","webpack:///./~/core-js/modules/_array-species-create.js","webpack:///./~/core-js/modules/_date-to-primitive.js","webpack:///./~/core-js/modules/_enum-keys.js","webpack:///./~/core-js/modules/_keyof.js","webpack:///./~/core-js/modules/_partial.js","webpack:///./~/core-js/modules/_path.js","webpack:///./~/core-js/modules/_replacer.js","webpack:///./~/core-js/modules/core.regexp.escape.js","webpack:///./~/core-js/modules/es6.array.copy-within.js","webpack:///./~/core-js/modules/es6.array.every.js","webpack:///./~/core-js/modules/es6.array.fill.js","webpack:///./~/core-js/modules/es6.array.filter.js","webpack:///./~/core-js/modules/es6.array.find-index.js","webpack:///./~/core-js/modules/es6.array.find.js","webpack:///./~/core-js/modules/es6.array.for-each.js","webpack:///./~/core-js/modules/es6.array.from.js","webpack:///./~/core-js/modules/es6.array.index-of.js","webpack:///./~/core-js/modules/es6.array.is-array.js","webpack:///./~/core-js/modules/es6.array.join.js","webpack:///./~/core-js/modules/es6.array.last-index-of.js","webpack:///./~/core-js/modules/es6.array.map.js","webpack:///./~/core-js/modules/es6.array.of.js","webpack:///./~/core-js/modules/es6.array.reduce-right.js","webpack:///./~/core-js/modules/es6.array.reduce.js","webpack:///./~/core-js/modules/es6.array.slice.js","webpack:///./~/core-js/modules/es6.array.some.js","webpack:///./~/core-js/modules/es6.array.sort.js","webpack:///./~/core-js/modules/es6.array.species.js","webpack:///./~/core-js/modules/es6.date.now.js","webpack:///./~/core-js/modules/es6.date.to-iso-string.js","webpack:///./~/core-js/modules/es6.date.to-json.js","webpack:///./~/core-js/modules/es6.date.to-primitive.js","webpack:///./~/core-js/modules/es6.date.to-string.js","webpack:///./~/core-js/modules/es6.function.bind.js","webpack:///./~/core-js/modules/es6.function.has-instance.js","webpack:///./~/core-js/modules/es6.function.name.js","webpack:///./~/core-js/modules/es6.math.acosh.js","webpack:///./~/core-js/modules/es6.math.asinh.js","webpack:///./~/core-js/modules/es6.math.atanh.js","webpack:///./~/core-js/modules/es6.math.cbrt.js","webpack:///./~/core-js/modules/es6.math.clz32.js","webpack:///./~/core-js/modules/es6.math.cosh.js","webpack:///./~/core-js/modules/es6.math.expm1.js","webpack:///./~/core-js/modules/es6.math.fround.js","webpack:///./~/core-js/modules/es6.math.hypot.js","webpack:///./~/core-js/modules/es6.math.imul.js","webpack:///./~/core-js/modules/es6.math.log10.js","webpack:///./~/core-js/modules/es6.math.log1p.js","webpack:///./~/core-js/modules/es6.math.log2.js","webpack:///./~/core-js/modules/es6.math.sign.js","webpack:///./~/core-js/modules/es6.math.sinh.js","webpack:///./~/core-js/modules/es6.math.tanh.js","webpack:///./~/core-js/modules/es6.math.trunc.js","webpack:///./~/core-js/modules/es6.number.constructor.js","webpack:///./~/core-js/modules/es6.number.epsilon.js","webpack:///./~/core-js/modules/es6.number.is-finite.js","webpack:///./~/core-js/modules/es6.number.is-integer.js","webpack:///./~/core-js/modules/es6.number.is-nan.js","webpack:///./~/core-js/modules/es6.number.is-safe-integer.js","webpack:///./~/core-js/modules/es6.number.max-safe-integer.js","webpack:///./~/core-js/modules/es6.number.min-safe-integer.js","webpack:///./~/core-js/modules/es6.number.parse-float.js","webpack:///./~/core-js/modules/es6.number.parse-int.js","webpack:///./~/core-js/modules/es6.number.to-fixed.js","webpack:///./~/core-js/modules/es6.number.to-precision.js","webpack:///./~/core-js/modules/es6.object.assign.js","webpack:///./~/core-js/modules/es6.object.create.js","webpack:///./~/core-js/modules/es6.object.define-properties.js","webpack:///./~/core-js/modules/es6.object.define-property.js","webpack:///./~/core-js/modules/es6.object.freeze.js","webpack:///./~/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./~/core-js/modules/es6.object.get-own-property-names.js","webpack:///./~/core-js/modules/es6.object.get-prototype-of.js","webpack:///./~/core-js/modules/es6.object.is-extensible.js","webpack:///./~/core-js/modules/es6.object.is-frozen.js","webpack:///./~/core-js/modules/es6.object.is-sealed.js","webpack:///./~/core-js/modules/es6.object.is.js","webpack:///./~/core-js/modules/es6.object.keys.js","webpack:///./~/core-js/modules/es6.object.prevent-extensions.js","webpack:///./~/core-js/modules/es6.object.seal.js","webpack:///./~/core-js/modules/es6.object.set-prototype-of.js","webpack:///./~/core-js/modules/es6.object.to-string.js","webpack:///./~/core-js/modules/es6.parse-float.js","webpack:///./~/core-js/modules/es6.parse-int.js","webpack:///./~/core-js/modules/es6.promise.js","webpack:///./~/core-js/modules/es6.reflect.apply.js","webpack:///./~/core-js/modules/es6.reflect.construct.js","webpack:///./~/core-js/modules/es6.reflect.define-property.js","webpack:///./~/core-js/modules/es6.reflect.delete-property.js","webpack:///./~/core-js/modules/es6.reflect.enumerate.js","webpack:///./~/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./~/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./~/core-js/modules/es6.reflect.get.js","webpack:///./~/core-js/modules/es6.reflect.has.js","webpack:///./~/core-js/modules/es6.reflect.is-extensible.js","webpack:///./~/core-js/modules/es6.reflect.own-keys.js","webpack:///./~/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./~/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./~/core-js/modules/es6.reflect.set.js","webpack:///./~/core-js/modules/es6.regexp.constructor.js","webpack:///./~/core-js/modules/es6.regexp.match.js","webpack:///./~/core-js/modules/es6.regexp.replace.js","webpack:///./~/core-js/modules/es6.regexp.search.js","webpack:///./~/core-js/modules/es6.regexp.split.js","webpack:///./~/core-js/modules/es6.regexp.to-string.js","webpack:///./~/core-js/modules/es6.string.anchor.js","webpack:///./~/core-js/modules/es6.string.big.js","webpack:///./~/core-js/modules/es6.string.blink.js","webpack:///./~/core-js/modules/es6.string.bold.js","webpack:///./~/core-js/modules/es6.string.code-point-at.js","webpack:///./~/core-js/modules/es6.string.ends-with.js","webpack:///./~/core-js/modules/es6.string.fixed.js","webpack:///./~/core-js/modules/es6.string.fontcolor.js","webpack:///./~/core-js/modules/es6.string.fontsize.js","webpack:///./~/core-js/modules/es6.string.from-code-point.js","webpack:///./~/core-js/modules/es6.string.includes.js","webpack:///./~/core-js/modules/es6.string.italics.js","webpack:///./~/core-js/modules/es6.string.iterator.js","webpack:///./~/core-js/modules/es6.string.link.js","webpack:///./~/core-js/modules/es6.string.raw.js","webpack:///./~/core-js/modules/es6.string.repeat.js","webpack:///./~/core-js/modules/es6.string.small.js","webpack:///./~/core-js/modules/es6.string.starts-with.js","webpack:///./~/core-js/modules/es6.string.strike.js","webpack:///./~/core-js/modules/es6.string.sub.js","webpack:///./~/core-js/modules/es6.string.sup.js","webpack:///./~/core-js/modules/es6.string.trim.js","webpack:///./~/core-js/modules/es6.symbol.js","webpack:///./~/core-js/modules/es6.typed.array-buffer.js","webpack:///./~/core-js/modules/es6.typed.data-view.js","webpack:///./~/core-js/modules/es6.typed.float32-array.js","webpack:///./~/core-js/modules/es6.typed.float64-array.js","webpack:///./~/core-js/modules/es6.typed.int16-array.js","webpack:///./~/core-js/modules/es6.typed.int32-array.js","webpack:///./~/core-js/modules/es6.typed.int8-array.js","webpack:///./~/core-js/modules/es6.typed.uint16-array.js","webpack:///./~/core-js/modules/es6.typed.uint32-array.js","webpack:///./~/core-js/modules/es6.typed.uint8-array.js","webpack:///./~/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./~/core-js/modules/es6.weak-set.js","webpack:///./~/core-js/modules/es7.array.includes.js","webpack:///./~/core-js/modules/es7.asap.js","webpack:///./~/core-js/modules/es7.error.is-error.js","webpack:///./~/core-js/modules/es7.map.to-json.js","webpack:///./~/core-js/modules/es7.math.iaddh.js","webpack:///./~/core-js/modules/es7.math.imulh.js","webpack:///./~/core-js/modules/es7.math.isubh.js","webpack:///./~/core-js/modules/es7.math.umulh.js","webpack:///./~/core-js/modules/es7.object.define-getter.js","webpack:///./~/core-js/modules/es7.object.define-setter.js","webpack:///./~/core-js/modules/es7.object.entries.js","webpack:///./~/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///./~/core-js/modules/es7.object.lookup-getter.js","webpack:///./~/core-js/modules/es7.object.lookup-setter.js","webpack:///./~/core-js/modules/es7.object.values.js","webpack:///./~/core-js/modules/es7.observable.js","webpack:///./~/core-js/modules/es7.reflect.define-metadata.js","webpack:///./~/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./~/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./~/core-js/modules/es7.reflect.get-metadata.js","webpack:///./~/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./~/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./~/core-js/modules/es7.reflect.has-metadata.js","webpack:///./~/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./~/core-js/modules/es7.reflect.metadata.js","webpack:///./~/core-js/modules/es7.set.to-json.js","webpack:///./~/core-js/modules/es7.string.at.js","webpack:///./~/core-js/modules/es7.string.match-all.js","webpack:///./~/core-js/modules/es7.string.pad-end.js","webpack:///./~/core-js/modules/es7.string.pad-start.js","webpack:///./~/core-js/modules/es7.string.trim-left.js","webpack:///./~/core-js/modules/es7.string.trim-right.js","webpack:///./~/core-js/modules/es7.symbol.async-iterator.js","webpack:///./~/core-js/modules/es7.symbol.observable.js","webpack:///./~/core-js/modules/es7.system.global.js","webpack:///./~/core-js/modules/web.dom.iterable.js","webpack:///./~/core-js/modules/web.immediate.js","webpack:///./~/core-js/modules/web.timers.js","webpack:///./~/core-js/shim.js","webpack:///./src/scss/compare/index.scss","webpack:///./src/scss/customCircle/index.scss","webpack:///./src/scss/geolocation/index.scss","webpack:///./src/scss/measure/index.scss","webpack:///./src/scss/ol/ol.scss","webpack:///./src/scss/overlay/index.scss","webpack:///./src/scss/plot/index.scss","webpack:///./src/scss/popup/index.scss","webpack:///./~/openlayers/dist/ol.js","webpack:///./~/proj4/lib/Point.js","webpack:///./~/proj4/lib/adjust_axis.js","webpack:///./~/proj4/lib/common/adjust_zone.js","webpack:///./~/proj4/lib/common/asinhy.js","webpack:///./~/proj4/lib/common/clens.js","webpack:///./~/proj4/lib/common/clens_cmplx.js","webpack:///./~/proj4/lib/common/cosh.js","webpack:///./~/proj4/lib/common/gatg.js","webpack:///./~/proj4/lib/common/iqsfnz.js","webpack:///./~/proj4/lib/common/log1py.js","webpack:///./~/proj4/lib/common/srat.js","webpack:///./~/proj4/lib/constants/Datum.js","webpack:///./~/proj4/lib/constants/Ellipsoid.js","webpack:///./~/proj4/lib/constants/PrimeMeridian.js","webpack:///./~/proj4/lib/constants/units.js","webpack:///./~/proj4/lib/core.js","webpack:///./~/proj4/lib/datum.js","webpack:///./~/proj4/lib/datumUtils.js","webpack:///./~/proj4/lib/datum_transform.js","webpack:///./~/proj4/lib/deriveConstants.js","webpack:///./~/proj4/lib/extend.js","webpack:///./~/proj4/lib/global.js","webpack:///./~/proj4/lib/index.js","webpack:///./~/proj4/lib/parseCode.js","webpack:///./~/proj4/lib/projections.js","webpack:///./~/proj4/lib/projections/aea.js","webpack:///./~/proj4/lib/projections/aeqd.js","webpack:///./~/proj4/lib/projections/cass.js","webpack:///./~/proj4/lib/projections/cea.js","webpack:///./~/proj4/lib/projections/eqc.js","webpack:///./~/proj4/lib/projections/eqdc.js","webpack:///./~/proj4/lib/projections/gauss.js","webpack:///./~/proj4/lib/projections/gnom.js","webpack:///./~/proj4/lib/projections/krovak.js","webpack:///./~/proj4/lib/projections/laea.js","webpack:///./~/proj4/lib/projections/lcc.js","webpack:///./~/proj4/lib/projections/longlat.js","webpack:///./~/proj4/lib/projections/merc.js","webpack:///./~/proj4/lib/projections/mill.js","webpack:///./~/proj4/lib/projections/moll.js","webpack:///./~/proj4/lib/projections/nzmg.js","webpack:///./~/proj4/lib/projections/omerc.js","webpack:///./~/proj4/lib/projections/ortho.js","webpack:///./~/proj4/lib/projections/poly.js","webpack:///./~/proj4/lib/projections/sinu.js","webpack:///./~/proj4/lib/projections/somerc.js","webpack:///./~/proj4/lib/projections/stere.js","webpack:///./~/proj4/lib/projections/sterea.js","webpack:///./~/proj4/lib/projections/tmerc.js","webpack:///./~/proj4/lib/projections/utm.js","webpack:///./~/proj4/lib/projections/vandg.js","webpack:///./~/proj4/lib/version.js","webpack:///./~/proj4/package.json","webpack:///./~/proj4/projs.js","webpack:///./~/regenerator-runtime/runtime.js","webpack:///./~/wkt-parser/parser.js","webpack:///./~/wkt-parser/process.js","webpack:///./package.json"],"names":["X_PI","PI","a","ee","ol","proj4","config","PlotTypes","ARC","CURVE","GATHERING_PLACE","POLYLINE","FREE_LINE","POINT","PENNANT","RECTANGLE","CIRCLE","ELLIPSE","LUNE","SECTOR","CLOSED_CURVE","POLYGON","FREE_POLYGON","ATTACK_ARROW","DOUBLE_ARROW","STRAIGHT_ARROW","FINE_ARROW","ASSAULT_DIRECTION","TAILED_ATTACK_ARROW","SQUAD_COMBAT","TAILED_SQUAD_COMBAT","Constants","MathDistance","pnt1","pnt2","Math","sqrt","pow","wholeDistance","points","distance","Array","isArray","length","forEach","item","index","getBaseLength","Mid","point1","point2","getCircleCenterOfThreePoints","point3","pntA","pntB","pntC","pntD","getIntersectPoint","f","x","y","e","getAzimuth","startPoint","endPoint","azimuth","angle","asin","abs","getAngleOfThreePoints","isClockWise","pnt3","getPointOnLine","t","startPnt","endPnt","getCubicValue","cPnt1","cPnt2","max","min","tp","t2","t3","tp2","tp3","getThirdPoint","clockWise","alpha","dx","cos","dy","sin","inherits","childCtor","parentCtor","TempCtor","prototype","superClass_","constructor","base","me","methodName","varArgs","args","slice","call","arguments","apply","getArcPoints","center","radius","startAngle","endAngle","pnts","angleDiff","i","push","getBisectorNormals","normal","getNormal","bisectorNormalRight","bisectorNormalLeft","dt","dist","uX","uY","d1","d2","ZERO_TOLERANCE","dX1","dY1","dX2","dY2","getLeftMostControlPoint","controlPoints","controlX","controlY","normalRight","mid","pX","pY","n","nX","nY","a11","a12","a22","dX","dY","getRightMostControlPoint","count","normalLeft","getCurvePoints","leftControl","normals","normalPoints","concat","rightControl","FITTING_COUNT","pnt","getBezierPoints","bezierPoints","factor","getBinomialFactor","b","getFactorial","result","getQBSplinePoints","bSplinePoints","m","k","getQuadricBSplineFactor","res","TWO_PI","HALF_PI","mix","mixins","Mix","key","mixin","copyProperties","target","source","Reflect","ownKeys","desc","Object","getOwnPropertyDescriptor","defineProperty","DomUtil","css","MapboxStyle","Layer","map","Error","layerName","targetLayer","layers","getLayers","getArray","every","layer","get","console","log","error","currentLayer","Group","_layer","Tile","feature","tragetLayer","Feature","Vector","getSource","getFeatures","features","feat","params","vectorLayer","getLayerByLayerName","create","layerType","wrapX","style","Style","fill","Fill","color","stroke","Stroke","width","image","Circle","hasOwnProperty","set","selectable","_vectorLayer","addLayer","Heatmap","removeLayer","gradient","crossOrigin","undefined","blur","shadow","weight","extent","minResolution","maxResolution","opacity","visible","serviceUrl","ooLayer","getTitleLayerByLayerName","TileArcGISRest","url","Image","ImageWMS","LAYERS","STYLES","VERSION","WIDTH","HEIGHT","BBOX","SRS","CRS","REQUEST","TRANSPARENT","TILED","TILESORIGIN","SERVICE","FORMAT","VIEWPARAMS","TileWMS","proj","getStyleByParams","format","GeoJSON","join","strategy","loadingstrategy","bbox","projection","projectionExtent","getExtent","size","getWidth","levels","resolutions","matrixIds","z","WMTS","matrixSet","tileGrid","tilegrid","origin","getTopLeft","version","dimensions","tileSize","view","View","getProjection","getCode","TileGrid","minZoom","XYZ","opaque","tilePixelRatio","maxZoom","tileUrlFunction","tileCoord","replace","toString","OSM","createXYZ","VectorTile","renderBuffer","renderMode","preload","MVT","overlaps","createMapboxStreetsV6Style","getImagesSource","Projection","code","units","axisOrientation","ImageStatic","imageExtent","imageSize","TYPE","Raster","ImageMapGuide","displayDpi","metersPerUnit","hidpi","useOverlay","ratio","imageLoadFunction","ImageCanvas","canvasFunction","state","ImageArcGISRest","adjust","bleft","getBottomLeft","tright","getTopRight","xmin","ymin","xmax","ymax","buffer","isanimation","duration","getView","getSize","getCenter","fit","padding","setCenter","animate","options","Icon","anchor","anchorXUnits","anchorYUnits","src","_getStroke","setStroke","_getText","setText","_getFill","setFill","setImage","_getImage","_getRegularShape","_getRegularCircle","regularShape","RegularShape","radius1","radius2","snapToPixel","rotation","rotateWithView","circle","icon","anchorOrigin","img","offset","offsetOrigin","scale","imgSize","lineCap","lineJoin","lineDash","lineDashOffset","miterLimit","text","Text","font","offsetX","offsetY","textAlign","textBaseline","getrandom","t1","isNaN","random","ra","du","round","getuuid","s","hexDigits","substr","floor","stamp","obj","trim","str","splitWords","split","PlotUtils","AttackArrow","geom","Polygon","type","headHeightFactor","headWidthFactor","neckHeightFactor","neckWidthFactor","headTailFactor","setPoints","getPointCount","setCoordinates","getPoints","tailLeft","tailRight","midTail","bonePnts","headPnts","getArrowHeadPoints","neckLeft","neckRight","tailWidthFactor","bodyPnts","getArrowBodyPoints","leftPnts","rightPnts","reverse","midPnt","len","midPnt1","midPnt2","arrowPnts","neckLeftPoint","neckRightPoint","lPoints","rPoints","headHeight","headPnt","tailWidth","headWidth","neckWidth","neckHeight","headEndPnt","neckEndPnt","headLeft","headRight","allLen","widthDif","tempLen","leftBodyPnts","rightBodyPnts","w","left","right","linePnt1","linePnt2","point","symPnt","distance1","distance2","Map","value","generate","updatePoint","id","getFeatureById","getLayerByName","geometry","Geometry","Point","WKT","readGeometry","multiFeatures","bExtent","Infinity","zoomToExtent","coordinate","getMapCurrentExtent","containsXY","calculateExtent","_getGeometryFromPoint","getStyleByPoint","selectStyle","setStyle","attributes","setId","setProperties","_extent","adjustExtent","createVectorLayer","addFeature","pointLayers","add","orderLayerZindex","multiPoint","MultiPoint","change","pointFeat","addPoint","getGeometry","appendPoint","multiGeoms","_geom","_getExtent","_geometry","setGeometry","info","line","linefeature","paths","readFeature","getStyleByLine","lineLayers","lines","MultiLine","MultiLineString","polyLine","addPolyline","LineString","appendLineString","getLineStrings","polygon","polygonFeature","getStyleByPolygon","polygonLayers","polygons","MultiPolygon","polygonFeat","addPolygon","appendPolygon","getPolygons","createHeatMapLayer","geomData","featureGeom","EsriJSON","Polyline","getGeomFromGeomData","setBlur","setRadius","setGradient","setVisible","setOpacity","clear","layerNames","removeFeatureByLayerName","getLayerByFeatuer","removeFeature","ids","removeFeatureById","st","normalStyle","document","getElementById","getChildByTagName","container","getElementsByTagName","getElementsByClassName","root","_root","window","$","querySelector","bind","getClass","elem","getAttribute","getStyle","el","currentStyle","defaultView","getComputedStyle","tagName","className","createElement","appendChild","remove","parent","parentNode","removeChild","empty","firstChild","toFront","toBack","insertBefore","hasClass","name","classList","contains","RegExp","test","addClass","classes","setClass","removeClass","String","baseVal","createHidden","element","display","getDomEventKey","fn","context","addListener","eventKey","handler","addEventListener","attachEvent","removeListener","removeEventListener","detachEvent","bindListener_","listenerObj","boundListener","evt","listener","bindTo","callOnce","unlistenByKey","findListener_","listeners","optThis","optSetDeleteIndex","ii","deleteIndex","getListeners","listenerMap","ol_lm","getListenerMap_","removeListeners_","keys","listen","optOnce","listenOnce","unlisten","indexOf","splice","object","property","unlistenAll","Observable","Events","__cnt","eventName","callback","bindEvent","event","r","that","hasOwnKey","eachEvent","keyA","itemA","keyB","itemB","setTimeout","action","isOne","Function","CHANGE","CLICK","DBLCLICK","DRAGENTER","DRAGOVER","DROP","ERROR","KEYDOWN","KEYPRESS","LOAD","MOUSEDOWN","MOUSEMOVE","MOUSEOUT","MOUSEUP","MOUSEWHEEL","MSPOINTERDOWN","RESIZE","TOUCHSTART","TOUCHMOVE","TOUCHEND","WHEEL","FineArrow","headAngle","neckAngle","fixPointCount","pList","LayerSwitcher","baseLayers","_getBaseLayers","baseLayerNames","utils","HMap","require","Utils","PlotDraw","PlotEdit","Popover","CoordsTransform","CustomCircle","MeasureTool","LayerSpyglass","MisplacesGlass","GeomCoder","Controls","nullFunction","interactions","altShiftDragRotate","doubleClickZoom","keyboard","mouseWheelZoom","shiftDragZoom","dragPan","pinchRotate","pinchZoom","zoomDelta","zoomDuration","controls","attribution","attributionOptions","rotate","rotateOptions","zoom","zoomOptions","overViewMapVisible","scaleLineVisible","enableRotation","resolution","zoomFactor","logo","BaseLayerSwitcher","mapConfigStr","getProperties","mapConfig","JSON","parse","baseLayerConfig","element_","CLASS_UNSELECTABLE","innerElement_","ev","srcElement","nodeName","toLowerCase","switchLayer","control","Control","initDom","liDom","creatDom","setAttribute","tagNames","classNames","templates","els","CompareLayer","beforeMap","afterMap","_onDown","_onMove","_onMouseUp","_bounds","getMap","getTargetElement","getBoundingClientRect","percent","_setPosition","mousemove","addEvent","resize","clipLayer","un","precompose","postcompose","on","ctx","canvas","save","beginPath","rect","height","clip","restore","touches","_onTouchEnd","sourceWidth","pos","transform","WebkitTransform","_x","resizeEvt","doc","persisted","readyState","_getX","clientX","Geolocation","clickHandle","initControl","setMap","geolocation","setTracking","accuracy","getAccuracy","altitude","getAltitude","altitudeAccuracy","getAltitudeAccuracy","heading","getHeading","speed","getSpeed","innerHTML","message","getAccuracyGeometry","coordinates","getPosition","CLASS_HIDDEN","CLASS_SELECTABLE","CLASS_UNSUPPORTED","CLASS_CONTROL","appDrag","interaction","Pointer","handleDownEvent","handleDragEvent","handleMoveEvent","handleUpEvent","customType","coordinate_","cursor_","feature_","previousCursor_","originalEvent","button","forEachFeatureAtPixel","pixel","moveable","dispatchEvent","originEvent","deltaX","deltaY","translate","cursor","imagery","mousePosition","activate","getEventPixel","render","which","preventDefault","renderTool","frameState","pixelRatio","arc","lineWidth","strokeStyle","half","centerX","centerY","originX","originY","sourceData","getImageData","data","dest","createImageData","destData","j","dI","dJ","sourceI","sourceJ","destOffset","sourceOffset","putImageData","BAIDU","optOptions","attributions","ATTRIBUTION","tileLoadFunction","getTileCoord","cacheSize","reprojectionErrorThreshold","Attribution","html","GAODE","GOOGLE","defaults","getControls","extend","ScaleLine","getZoom","delta","currentResolution","getResolution","newResolution","constrainResolution","getAnimating","cancelAnimations","easing","easeOut","setResolution","Interactions","addPointHandlerClick","plotDraw","plotEdit","_lastDrawInteractionGeometry","EverntCenter","defs","setProj4","ObservableObj","currentMapLines","currentMapPoints","currentMapPolygon","Set","circleSerachFeat","popupOverlay","timer_","mapDiv","options_","stringify","_addCopyRight","_addView","addBaseLayers","_addInteractions","_addControls","loadTilesWhileAnimating","loadTilesWhileInteracting","dispatch","href","updateSize","start","Date","getTime","Promise","resolve","cc","clearInterval","setInterval","end","option","setZoom","coord","layerindex","setZIndex","BaseLayers","_view","fullExtent","setExtent","isBaseLayer","_getBaseLayerGroup","layerConfig","labelLayers","_layers","labelLayersConfig","_getXYZLayer","_getWMTSLayer","_getOSMLayer","_getImageWMSLayer","_getTileWMSLayer","_getMapboxVectorTileLayer","_getTileArcGISRestLayer","_getBaseLayerLabel","_labelLayersLayerNames","configM","labelLayer","baseLayer","createXYZLayer","setAttributions","_getAttribution","createOSMLayer","createWMTSLayer","createImageWMSLayer","createTileWMSLayer","createMapboxVectorTileLayer","createTitleLayer","Overlay","getCoordinates","_getCoordinatesFromGeom","overlay","getOverlayById","creatEle","getElementForOverlay","marker","ele","iconOverlay","positioning","stopEvent","setPosition","_addOverLayEvent","addOverlay","setElement","OverLay","onmousedown","onmouseover","selectColor","onmouseout","normalColor","spanEle","eleClass","top","fontSize","borderColor","borderWidth","borderRadius","Number","addOverlayPoint","removeOverlay","_id","overLay","_overlays","overlays","getOverlays","removeOverlayById","rOverlays","removeOverlayByLayerName","overlayElement","getElement","iconElement","_overlay","_overlayElement","_iconElement","getOverlayByLayerName","mapInstence","content","maxHeight","closer","stopPropagation","removeOverLay","minimize","showMinimize","enableTouchScroll_","miniOverLay","insertFirst","show","coords","HTMLElement","scrollTop","showMarkFeature","markFeature","getImage","setOffset","eventListener","label","innerText","position","hide","marginLeft","clientWidth","isOpened","isTouchDevice_","createEvent","elm","scrollStartPos","pageY","plot","plotType","plotParams","mapViewport","getViewport","dblClickZoomInteraction","drawOverlay","drawLayer","disActive","deactiveMapTools","mapFirstClickHandler","removeEventHandlers","activateMapTools","createPlot","addPointStyle","finishDrawing","drawEnd","mapNextClickHandler","freehand","mapDoubleClickHandler","mapMouseMoveHandler","getCoordinateFromPixel","getInteractions","DoubleClickZoom","removeInteraction","addInteraction","activePlot","ghostControlPoints","mouseOver","elementTable","activeControlPointId","mapDragPan","getMapParentElement","hiddenDiv","cPnts","getControlPoints","mapElement","controlPointMouseDownHandler","controlPointMouseMoveHandler2","stopImmediatePropagation","controlPointMouseMoveHandler","controlPointMouseUpHandler","isPlot","deactivate","plotMouseOverOutHandler","initHelperDom","initControlPoints","plotMouseDownHandler","disableMapDragPan","plotMouseUpHandler","plotMouseMoveHandler","newPoints","p","setPositioning","enableMapDragPan","destroyHelperDom","disconnectEventHandlers","DragPan","Arc","angle1","angle2","AssaultDirection","DoubleArrow","connPoint","tempPoint4","getTempPoint4","leftArrowPnts","rightArrowPnts","getArrowPoints","llBodyPnts","lArrowPnts","lrBodyPnts","rlBodyPnts","rArrowPnts","rrBodyPnts","SquadCombat","tailPnts","getTailPoints","StraightArrow","maxArrowLength","arrowLengthScale","leftPnt","rightPnt","TailedAttackArrow","swallowTailFactor","swallowTailPnt","TailedSquadCombat","generatePoints","Ellipse","majorRadius","minorRadius","ClosedCurve","FreePolygon","FREEHAND_POLYGON","GatheringPlace","d","Lune","RectAngle","isFill","boundingExtent","fromExtent","Sector","Curve","FreeHandLine","FREEHAND_LINE","Pennant","GeomPoint","Plot","_params","lng","lat","ret","outOfChina","dlat","transformlat","dlng","transformlng","radlat","magic","sqrtmagic","mglat","mglng","theta","atan2","bdLng","bdLat","lon","ggLng","ggLat","lontitude","latitude","tan","longtitude","atan","exp","DomUtils","defaultConfig","minRadius","maxRadius","showPolygonFeature","showCenterFeature","strokeColor","strokeLineCap","strokeLineJoin","strokeLineDash","strokeLineDashOffset","strokeMiterLimit","strokeWidth","fillColor","sphare","Sphere","isMouseDown","isMoving","handleLabel","createCircle","centerCopy","_getProjectionCode","_getCircleGeom","circleFeature","addCenterPoint","addEditor","dispachChange","removeLayerByLayerName","sourceGeom","transformRadius","centerPoint","centerStyle","editor","body","addEventHandle","getLastCoordinate","Element","returnValue","onMouseMove","c1","c2","haversineDistance","mathRadius","meterRadius","lastCoords","ptx","pty","transformRadiu","getRadius","getFirstCoordinate","factor_","GeometryLayout","XY","XYM","XYZM","geometryLayout_","geometryLayout","stride","getStrideForLayout","flatCoordinates","decodeDeltas","flipXY","_item","encodeDeltas","layout","encoded","lastNumbers","numbers","decodeFloats","num","encodeFloats","decodeSignedIntegers","encodeSignedIntegers","decodeUnsignedIntegers","encodeUnsignedIntegers","current","shift","charCodeAt","encodeUnsignedInteger","fromCharCode","optDest","optDestOffset","optCoordinates","defaultParams","measureLengthCursor","measureAreaCursor","circleRadius","wgs84Sphere","measureTypes","measureLength","measureArea","dragPanInteraction","isGeodesic","clickCount","drawSketch","draw","beforeMeasurePointerMoveHandler","unByKey","drawPointermove","measureAreaTooltip","measureAreaTooltipElement","removeDrawInteraion","measureHelpTooltip","measureLengthClick","measureLengthSingleClick","addMeasureOverLay","addMeasurecircle","beforeDrawPointMoveHandler","addDrawInteraction","changeCur","getDragPanInteraction","setActive","getDoubleClickZoomInteraction","getStyleForMeasure","Draw","drawListener","helpTooltipElement","border","whiteSpace","fontVariant","fontWeight","fontStretch","lineHeight","fontFamily","webkitUserSelect","backgroundColor","dragging","output","formatData","firstElementChild","drawPointerMoveHandler","uuid","createMeasureAreaTooltip","evts","area","getInteriorPoint","addMeasureRemoveButton","sourceProj","getLength","clone","getLinearRing","geodesicArea","getArea","tempMeasureTooltip","btnImg","title","groupId","onclick","RemoveMeasure","closeBtn","lastCoord","items","strokedPolygon","iconCache","getIcon","iconName","styles","cls","scalerank","labelrank","adminLevel","maritime","disputed","maki","getType","setColor","setWidth","getText","setFont"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;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,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;AChEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qFAAqF,uBAAuB;AAC5G,mEAAmE;AACnE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,eAAe;AACf,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB,yB;;;;;;;;;;;;;;AChCA;;;;AACA;;;;AAIA;;;;;;AAVO,IAAMA,sBAAO,sBAAsB,MAAtB,GAA+B,KAA5C;AACA,IAAMC,kBAAK,wBAAX,CACA,IAAMC,gBAAI,SAAV,CACA,IAAMC,kBAAK,sBAAX;;AASA,IAAMC,sCAAN;AACA,IAAMC,sCAAN;AACA,IAAMC,0CAAN,C;;;;;;ACnBP;AACA;AACA;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA,uCAAuC,gC;;;;;;;;;;;;;;;;;;;;;;ACHvC;AACA;AACA,kBAAyB;AACzB,oBAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrBA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,E;;;;;;ACNA;AACA;AACA,E;;;;;;;;;;;;;ACCA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AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC,E;;;;;;AC/BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wFAAwF;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,UAAU;AACb;AACA,E;;;;;;ACfA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACZA,iBAAiB;;AAEjB;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA;AACA,E;;;;;;ACJA;;AAEA;AACA;AACA,wCAAwC;AACxC,GAAG;AACH,E;;;;;;;;;;;;ACFO,IAAMd,wCAAgB,GAAtB;AACA,IAAM9B,0CAAiB,MAAvB;AACA,IAAM6C,0BAAS3I,KAAKlC,EAAL,GAAU,CAAzB;AACA,IAAM8K,4BAAU5I,KAAKlC,EAAL,GAAU,CAA1B,C;;;;;;ACPP;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,SAAS,eAAe;AACxB;AACA;AACA;AACA,sCAAsC;AACtC;AACA,8BAA8B;AAC9B,6BAA6B;AAC7B,+BAA+B;AAC/B,mCAAmC;AACnC,SAAS,+BAA+B;AACxC;AACA;AACA;AACA;AACA,E;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,mDAAmD,OAAO,EAAE;AAC5D,E;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACXA,6BAA6B;AAC7B,qCAAqC,gC;;;;;;ACDrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACnBA;AACA;AACA;AACA;;AAEA;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,sDAAsD,gBAAgB,EAAE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;AClDA;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;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,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA,4BAA4B;AAC5B,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB,0BAA0B,GAAG;AAC9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,gCAAgC;AACxF;AACA,OAAO;AACP;AACA;AACA,4EAA4E,YAAY;AACxF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uDAAuD,6CAA6C,EAAE;;AAEtG;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,iDAAiD;AACjD;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,mCAAmC;AACnC;AACA,KAAK;AACL,sEAAsE;AACtE;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,4DAA4D;AAC5D;AACA,KAAK;AACL,sEAAsE;AACtE;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;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,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,sBAAsB,sBAAsB,EAAE,EAAE;AAChD;AACA;AACA;AACA;;AAEA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA,+BAA+B,aAAa;AAC5C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,oBAAoB,0BAA0B;AAC9C,GAAG;;AAEH;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,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,2BAA2B;AAC3B,2BAA2B;AAC3B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,aAAa;AACrC,OAAO;AACP;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA,uDAAuD,UAAU;;AAEjE;;AAEA,4FAA4F,wBAAwB;;AAEpH;AACA;AACA,KAAK,UAAU,cAAc;;AAE7B;AACA;AACA,KAAK;AACL;AACA,KAAK,WAAW,gCAAgC;;AAEhD;AACA;AACA;AACA,CAAC,kCAAkC,e;;;;;;AC9dnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD,CAAC;AACD;AACA,qBAAqB;AACrB;AACA,SAAS;AACT,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;;;;ACLA,IAAM+K,MAAM,SAANA,GAAM,GAAe;AAAA,oCAAXC,M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ACA,OAAO;AACP;AACA,OAAO,kCAAkC,gCAAgC,aAAa;AACtF,6BAA6B,mCAAmC,aAAa;AAC7E;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,2DAA2D;AAC3D;AACA,gDAAgD,iBAAiB,EAAE;AACnE;AACA,0DAA0D,aAAa,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,0B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA,E;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,8BAA8B,qCAAqC;AACnE;AACA;AACA,yBAAyB,gCAAgC;AACzD;AACA;AACA,E;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACPA;AACA;;AAEA;AACA;AACA,+BAA+B,qBAAqB;AACpD,+BAA+B,SAAS,EAAE;AAC1C,CAAC,UAAU;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,SAAS,mBAAmB;AACvD,+BAA+B,aAAa;AAC5C;AACA,GAAG,UAAU;AACb;AACA,E;;;;;;ACpBA;AACA;AACA;AACA;AACA,4CAA4C,aAAa;AACzD;AACA,CAAC,E;;;;;;ACND,yC;;;;;;ACAA;AACA;AACA,mDAAmD;AACnD;AACA,uCAAuC;AACvC,E;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;A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2S,QAAR,CAAiBkE,IAAjB;AACD;AACF;AACD,eAAO7W,OAAP;AACD;AACF;;;;EApxBmB,sD;;kBAsxBPE,O;;;;;;;;AC/xBf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACdA;AACA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACNA;AACA;AACA;AACA,a;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK,UAAU;AACf,GAAG;AACH,E;;;;;;ACXA,6E;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACPA;AACA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA;AACA,E;;;;;;;ACJA;AACA;AACA;AACA;AACA;;AAEA;AACA,0FAAgF,aAAa,EAAE;;AAE/F;AACA,qDAAqD,0BAA0B;AAC/E;AACA,E;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,aAAa;;AAEzC;AACA;AACA;AACA;AACA;AACA,wCAAwC,oCAAoC;AAC5E,4CAA4C,oCAAoC;AAChF,KAAK,2BAA2B,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,iCAAiC,2BAA2B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,E;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,U;;;;;;ACTD;AACA;AACA;AACA,E;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uCAAuC,oBAAoB,EAAE;AAC7D;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,E;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA,OAAO,UAAU,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA,E;;;;;;ACxBA;AACA;AACA;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;AChBA,sBAAsB;AACtB;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;;ACPA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM;AACb;AACA,E;;;;;;ACXA;AACA,mF;;;;;;ACDA;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,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;AC1EA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO,WAAW;AAClB;AACA;AACA,OAAO,UAAU;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,WAAW;AAClB;AACA;AACA;AACA,OAAO,WAAW;AAClB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,gBAAgB,uBAAuB,GAAG;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA,qBAAqB;AACrB,GAAG;AACH,yBAAyB;AACzB,GAAG;AACH;AACA;AACA;AACA;AACA,gDAAgD,iBAAiB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,+B;;;;;;AChRA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,sBAAsB;AAChF,gFAAgF,sBAAsB;AACtG,E;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACPA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,cAAc;AACd,iBAAiB;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,4B;;;;;;;;;;;;;;ACjCA;AACA;AACA;AAC6D;AAC7D;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;AACA;AACA;AACA;AACA;;AAEA,8FAAqB;AACrB,iGAAwB;;AAExB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACpEA;AACA;AACA;AACA,C;;;;;;;ACHA;AACA;AACA;;AAEA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;A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AAV,MAA2BP,SAA3B,IAAwCM,MAAMC,GAAN,CAAU,OAAV,MAAuBP,SAAnE,EAA8E;AAC5EM,gBAAMkC,GAAN,CAAU,WAAV,EAAuB,IAAvB;AACAlC,gBAAM6W,UAAN,CAAiB,IAAjB;AACD,SAHD,MAGO;AACL7W,gBAAMkC,GAAN,CAAU,WAAV,EAAuB,KAAvB;AACAlC,gBAAM6W,UAAN,CAAiB,KAAjB;AACD;AACF,OARD;AASD;;;2BAOOrX,G,EAAK;AACX,UAAIA,OAAOA,eAAe,cAAGqS,GAA7B,EAAkC;AAChC,aAAKrS,GAAL,GAAWA,GAAX;AACA,eAAO,KAAKA,GAAZ;AACD;AACF;;;6BAMS;AACR,aAAO,KAAKA,GAAZ;AACD;;;;;;kBAGYqgB,a;;;;;;;ACrFf;AACA;AACA;AACA;AACA,E;;;;;;;ACJA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,sCAAsC;AAC7C;AACA;AACA;AACA,E;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,SAAS;AACnC;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sBAAsB,OAAO;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,0BAA0B;AAC1B,0BAA0B;AAC1B,qBAAqB;AACrB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,6DAA6D,OAAO;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB,0BAA0B;AAC1B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,E;;;;;;AC7IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,0BAA0B;AAC1B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,E;;;;;;AClFA;AACA,qEAAsE,gBAAgB,UAAU,GAAG;AACnG,CAAC,E;;;;;;ACFD;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,E;;;;;;ACXA;AACA,UAAU;AACV,E;;;;;;ACFA;AACA;AACA;AACA,E;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,UAAU,EAAE;AAC9C,mBAAmB,sCAAsC;AACzD,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,W;;;;;;AChCD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACZA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;AClBA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,E;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACTA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,e;;;;;;ACPD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC,a;;;;;;ACRD;AACA;AACA;AACA,E;;;;;;ACHA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACfA,mC;;;;;;;ACAA;AACA;;AAEA;AACA;AACA,wBAAwB,mEAAmE;AAC3F,CAAC;AACD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,gB;;;;;;AChBD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACJD;AACA;;AAEA;AACA;AACA,wBAAwB,mEAAmE;AAC3F,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC,U;;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH,C;;;;;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA,IAAI,IAAI;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;;AAEA,WAAW;AACX,WAAW;AACX,WAAW;AACX,WAAW;AACX,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,IAAI;AACf;AACA,YAAY,OAAO;AACnB;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C;AAC9C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;AACpB,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA,8CAA8C;AAC9C;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,KAAK;AACjB;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;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;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY;AACZ;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACzuBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;ACvBA;AACc;;AAEd;;AAEA;AACA;AACA;AACA,wBAAwB,GAAG,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA,C;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;ACZA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;;;;;;;;;ACtDY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACtIA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACpKyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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,kCAAkC;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,OAAO;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;AC/EA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;ACpBA;AAAA;AACA;AACc;;;;AAId;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;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;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC3JA;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;IAAYI,K;;;;;;AAnBZ,IAAMC,OAAO,EAAb;AACAA,KAAKja,OAAL,GAAe,mBAAAka,CAAQ,GAAR,EAA2Bla,OAA1C;;;AAoBAia,KAAKxsB,EAAL;AACAskB,OAAOtkB,EAAP;AACAwsB,KAAKvsB,KAAL;AACAqkB,OAAOrkB,KAAP;AACAusB,KAAKrO,GAAL;AACAqO,KAAKlD,UAAL;AACAkD,KAAKE,KAAL,GAAaH,KAAb;AACAC,KAAKG,QAAL;AACAH,KAAKI,QAAL;AACAJ,KAAK3gB,KAAL;AACA2gB,KAAKvf,OAAL;AACAuf,KAAKK,OAAL;AACAL,KAAKM,eAAL;AACAN,KAAKO,YAAL;AACAP,KAAKL,aAAL;AACAK,KAAKQ,WAAL;AACAR,KAAKS,aAAL;AACAT,KAAKU,cAAL;AACA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ADvB,EACiC;AACtCP,aAAOhzC,QAAP,IAAmB8yC,QAAQS,IAAR,CAAnB;AACD,KAHM,MAGA,IAAIxpC,UAAU,WAAV,IAAyBqiB,cAAc,iBAAvC,IACT8mB,aAAa,CADJ,IACSK,SAAS,QADtB,EACgC;AACrCP,aAAOhzC,QAAP,IAAmB8yC,QAAQS,IAAR,CAAnB;AACD;AACDP,WAAOhzC,MAAP,GAAgBA,MAAhB;AACA,WAAOgzC,MAAP;AACD,GA5RD;AA6RD,CAzTM,C;;;;;;ACPP;AACA,uD;;;;;;ACDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACfA;AACA;;AAEA;AACA;AACA,E;;;;;;;ACLA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA,E;;;;;;ACtBA,wC;;;;;;ACAA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,E;;;;;;ACPA;AACA;AACA,yDAAuD;;AAEvD,8BAA8B,4BAA4B,gBAAgB,GAAG;;;;;;;ACJ7E;AACA;;AAEA,6BAA6B,qCAA4C;;AAEzE,sC;;;;;;;ACLA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;;AAEA,6BAA6B,8BAA+B;;AAE5D,gC;;;;;;;ACLA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gBAAgB,EAAE;AACxD;AACA;AACA;AACA;AACA,CAAC;AACD,6B;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gBAAgB,EAAE;AACxD;AACA;AACA;AACA;AACA,CAAC;AACD,6B;;;;;;;ACbA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACVD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wEAA0E,kBAAkB,EAAE;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,gCAAgC;AACpF;AACA;AACA,KAAK;AACL;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACpCD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACdD;AACA;;AAEA,6BAA6B,iCAAgC,E;;;;;;;ACH7D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW;AACpB;AACA;AACA,CAAC,E;;;;;;;ACrBD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AClBD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU;AACnB;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AC3BD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACtBD,iC;;;;;;ACAA;AACA;;AAEA,4BAA4B,gBAAgB,6BAA6B,GAAG,E;;;;;;;ACH5E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AC3BD;AACA;AACA;AACA;;AAEA;AACA,wEAAwE,wBAAwB,UAAU,GAAG;AAC7G,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACbD;AACA;;AAEA,mG;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;ACVA;AACA;;AAEA,gCAAgC,+BAAyB,E;;;;;;;ACHzD;AACA;AACA;AACA;AACA;AACA;AACA,4FAA4F;AAC5F;AACA;AACA;AACA;AACA;AACA,EAAE,E;;;;;;ACZF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;ACxBD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACjBD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yEAAyE,aAAa,E;;;;;;ACTtF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;;AAEA,iEAAiE,cAAc,E;;;;;;ACJ/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACzBD;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,CAAC,E;;;;;;ACxBD;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;AChBD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;;AAEA,4BAA4B,gCAAgC,E;;;;;;ACH5D;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;;AAEA,4BAA4B,8BAA8B,E;;;;;;ACH1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACdD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACXD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACPD;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,kDAAkD;AAClD,KAAK;AACL;AACA,uCAAuC,cAAc,OAAO;AAC5D,uCAAuC,cAAc,OAAO;AAC5D;AACA;AACA,mEAAmE,OAAO;AAC1E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,0BAA0B,EAAE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;ACpEA;AACA;;AAEA,8BAA8B,0BAA0B,E;;;;;;ACHxD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;;AAEA,8BAA8B,oCAAoC,E;;;;;;ACHlE;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;;AAEA,8BAA8B,mCAAmC,E;;;;;;ACHjE;AACA;;AAEA,8BAA8B,oCAAoC,E;;;;;;ACHlE;AACA;AACA;AACA,+EAA+E,wBAAwB,E;;;;;;ACHvG;AACA;AACA;AACA,2EAA2E,oBAAoB,E;;;;;;;ACH/F;AACA;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,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,CAAC;AACD;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,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;;AChHD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,sBAAsB;AACtB,CAAC;AACD;AACA;AACA,kG;AACA;AACA,CAAC,E;;;;;;ACjBD;AACA;;AAEA,0CAA0C,iCAAoC,E;;;;;;ACH9E;AACA;AACA,8BAA8B,gCAAoC,E;;;;;;ACFlE;AACA;AACA,qEAAuE,2CAA2C,E;;;;;;ACFlH;AACA;AACA,qEAAuE,0CAA0C,E;;;;;;ACFjH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;AACA,CAAC,E;;;;;;ACHD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;AACA,8BAA8B,6BAA6B,E;;;;;;ACF3D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA,8BAA8B,4CAA4C,E;;;;;;;ACF1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;ACTA;AACA;AACA;AACA,8DAA8D,wBAAwB,E;;;;;;ACHtF;AACA;AACA;AACA,0DAA0D,oBAAoB,E;;;;;;;ACH9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;;AAEA;AACA;AACA;AACA;AACA,+CAA+C,sDAAiD,oBAAoB;AACpH;AACA;AACA,GAAG,UAAU;AACb,CAAC;;AAED;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,GAAG;AACH,YAAY;AACZ;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,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,gCAAgC;AACnD,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,qCAAqC;AACpD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,uBAAuB,wBAAwB;AAC/C;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,uBAAuB,KAAK;AAC9C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAA0D,kBAAkB;AAC5E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;AC1SD;AACA;AACA;AACA;AACA,qDAAmD;AACnD;AACA;AACA;AACA,qBAAqB;AACrB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACfD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAoD;;AAEpD;AACA;AACA;AACA;AACA,kCAAkC;AAClC,CAAC;AACD;AACA,yBAAyB;AACzB,CAAC;;AAED;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,CAAC,E;;;;;;AC9CD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,MAAM,SAAS,OAAO,SAAS;AAC/D,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;ACrBD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACVD;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC,GAAG;AACH,UAAU;AACV,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACzBD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,SAAS,E;;;;;;ACpBxC;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACVD;AACA;;AAEA,+BAA+B,kCAAgC,E;;;;;;ACH/D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;ACfD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;ACdD;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;;AAEA,+BAA+B,SAAS,E;;;;;;AC9BxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB,EAAE;AAC1C,wBAAwB,gBAAgB;AACxC,KAAK;AACL;AACA,mCAAmC,iBAAiB;AACpD;AACA;AACA;AACA;;AAEA,kC;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,E;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,E;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,E;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;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,sBAAsB,2BAA2B;AACjD,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,E;;;;;;;ACrED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qCAAkC,wBAAwB,wBAAwB,YAAY,EAAE;AAChG;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH,C;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACnBD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACND;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;;ACtBD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,cAAc;AACd;AACA,CAAC;AACD;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,UAAU;AACV,CAAC,E;;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACND;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;ACjBD;;AAEA;AACA;AACA;AACA,CAAC,E;;;;;;;ACLD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACjBD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;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,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB,oBAAoB,uBAAuB,SAAS,IAAI;AACxD,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA,KAAK;AACL;AACA,sBAAsB,iCAAiC;AACvD,KAAK;AACL,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,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,8BAA8B;AAC5F;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0DAA0D,gBAAgB;;AAE1E;AACA;AACA;AACA,oBAAoB,oBAAoB;;AAExC,0CAA0C,oBAAoB;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,wBAAwB,eAAe,EAAE;AACzC,wBAAwB,gBAAgB;AACxC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,KAAK,QAAQ,iCAAiC;AAClG,CAAC;AACD;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0C;;;;;;;AC1OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6EAA6E,0BAA0B;;AAEvG;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;AACD;AACA;AACA,2FAA2F;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED,sC;;;;;;AC7CA;AACA;AACA;AACA,CAAC,E;;;;;;ACHD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,Q;;;;;;;ACJD;AACA;;AAEA;AACA;AACA,4BAA4B,mEAAmE;AAC/F,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC,qB;;;;;;;ACXD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED,oC;;;;;;ACXA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACXD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;;AAEA,uCAAuC,wCAAgD,E;;;;;;ACHvF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACVD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACfD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACVD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACfD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C,6DAA6D;AACvG;AACA,CAAC,E;;;;;;;ACXD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C,6DAA6D;AACvG;AACA,CAAC,E;;;;;;ACXD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AClBD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;;ACjBD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;ACjBD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,4BAA4B;AACpG;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA,uCAAuC;AACvC,sCAAsC,yBAAyB;AAC/D,CAAC;;AAED;AACA;AACA;;AAEA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP,wBAAwB,aAAa;AACrC,KAAK;AACL,GAAG;AACH;AACA,0DAA0D,OAAO;AACjE;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP,wBAAwB,aAAa;AACrC,KAAK;AACL;AACA,CAAC;;AAED,mDAAmD,aAAa,EAAE;;AAElE,oBAAoB,wBAAwB;;AAE5C,sC;;;;;;ACtMA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;ACPF;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,E;;;;;;ACdF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;AClBF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;AChBF;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;ACPF;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA,EAAE,E;;;;;;ACRF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;ACfF;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA,EAAE,E;;;;;;ACRF;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,E;;;;;;ACdF;AACA;;AAEA,uCAAuC,wCAAgD,E;;;;;;;ACHvF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AC7BD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,e;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,a;;;;;;ACND,0C;;;;;;ACAA,uC;;;;;;ACAA;AACA;;AAEA,8BAA8B,+BAA6B,E;;;;;;ACH3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wGAAwG,OAAO;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACLD;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACnBD;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;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;AAC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A;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;;;;;;;;;ACnDA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;;;;;;;;;ACbA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;ACdA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA,C;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;ACdgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;;AAEA;AACA;;;;;;;;ACLA;AACA;AACA,C;;;;;;;ACFA;AAAA;AACQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;AChGA;AAAA;AACQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;AClQA;AAAA;AACQ;;AAER,wBAAwB;AACxB,iCAAiC;AACjC,+BAA+B;AAC/B,kCAAkC;AAClC,iCAAiC;AACjC,+BAA+B;AAC/B,8BAA8B;AAC9B,mCAAmC;AACnC,iCAAiC;AACjC,4BAA4B;AAC5B,oCAAoC;AACpC,4BAA4B;AAC5B,+BAA+B;;;;;;;;ACf/B;AACA,OAAO,iBAAiB;AACxB,YAAY;AACZ;;;;;;;;;;ACHA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gE;;;;;;;;AC/DmE;;AAEnE;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;AClCA;AACwC;AACxC;AACA;AACA,iBAAiB;AACjB,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH,gBAAgB;AAChB;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B,SAAS;AACT,cAAc;AACd,eAAe;AACf,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ;AACR,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA;AACA,SAAS;AACT,YAAY;AACZ,YAAY;AACZ,WAAW;AACX,WAAW;AACX,YAAY;AACZ,WAAW;;AAEX;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;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,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;ACjP4C;;AAE8D;AAC1G;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACtC+B;AACK;AACpC;;AAEA;AACA,iBAAiB;AACjB,iBAAiB;AACjB,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,sBAAsB;AACtB;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8EAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2J;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEQ;;AAER;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACc;;AAEd;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;AChIA;AACuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;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;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;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;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;;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;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;AC9MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC3GA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACrEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACc;;AAEd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACpHA;AACA;AACwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACnDA;AACA;AACc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB,WAAW;AACX,aAAa;AACb,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACvGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;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;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;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,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;ACxG+B;;AAE/B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;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;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;;AAEA;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;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;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;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;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;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACzSA;AACA;AACA;AACA;AACA;AACuB;AACvB;;AAEA;AACA,iBAAiB;AACjB,iBAAiB;AACjB,gBAAgB;AAChB,gBAAgB;AAChB,iBAAiB;AACjB,iBAAiB;AACjB,sBAAsB;AACtB,uBAAuB;;AAEvB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC1IA;AACA;AACA;;AAEA;AACA;AACA;AACQ;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACfA;;AAEA;AACA;AACA;AACoC;AACpC;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;;AAEA;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;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACnGA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACnDA;AACA;AACc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AClFmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;;AAEA;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;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACjOA;AACA;AACA;AAC+B;;AAE/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;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;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;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC1KA;AACA;AACuB;;AAEvB;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB,WAAW;AACX,aAAa;AACb,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT,QAAQ;AACR,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACc;;AAEd;AACA;;AAEA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA,0JAA0E;AAC1E;;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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,GAAG;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB,GAAG;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACtIA;AACA;AACA;AACA;AACA;AACA;AACuB;;AAEvB;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,GAAG;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AClHA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACrFuB;;AAEvB;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;;AAEA;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;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;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;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC7KA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC/DA;AAAA;AACA;;AAEA;AACA;AACA;AACA;;AAEuB;AACvB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;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;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC5KA;AACA;AACA;AACY;;;AAGZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC3BA;;AAEuB;;AAEvB;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;;AAEA;;AAEA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;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;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;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChI2B;;;;;;;ACA3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;yDACA;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,C;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/tBA;;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;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;;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;AACA;AACA;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;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;;;;;;;;;;;ACtKA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,GAAG;AACH;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;;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;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;;;;;;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;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,EAAE;AACF;AACA,E","file":"HMap.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"HMap\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"HMap\"] = factory();\n\telse\n\t\troot[\"HMap\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \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// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 461);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 45f61f6566cea30e123e","var global = require('./_global')\n , core = require('./_core')\n , hide = require('./_hide')\n , redefine = require('./_redefine')\n , ctx = require('./_ctx')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {})\n , key, own, out, exp;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if(target)redefine(target, key, out, type & $export.U);\n // export\n if(exports[key] != out)hide(exports, key, exp);\n if(IS_PROTO && expProto[key] != out)expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_export.js\n// module id = 0\n// module chunks = 0","/**\r\n * Created by FDD on 2017/2/22.\r\n * @desc 静态常量\r\n */\r\n\r\nexport const X_PI = 3.14159265358979324 * 3000.0 / 180.0\r\nexport const PI = 3.1415926535897932384626 // PI\r\nexport const a = 6378245.0 // 北京54坐标系长半轴a=6378245m\r\nexport const ee = 0.00669342162296594323\r\n\r\nimport _proj4 from 'proj4'\r\nimport _ol from 'openlayers'\r\n// import _mathjs from '../node_modules/mathjs'\r\n// import _olx from '../node_modules/openlayers/externs'\r\n\r\nimport _config from './config/config'\r\n\r\nexport const ol = _ol\r\nexport const proj4 = _proj4\r\nexport const config = _config\r\n// export const mathjs = _mathjs\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/constants.js","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_an-object.js\n// module id = 2\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_global.js\n// module id = 3\n// module chunks = 0","export var PJD_3PARAM = 1;\nexport var PJD_7PARAM = 2;\nexport var PJD_WGS84 = 4; // WGS84 or equivalent\nexport var PJD_NODATUM = 5; // WGS84 or equivalent\nexport var SEC_TO_RAD = 4.84813681109535993589914102357e-6;\nexport var HALF_PI = Math.PI/2;\n// ellipoid pj_set_ell.c\nexport var SIXTH = 0.1666666666666666667;\n/* 1/6 */\nexport var RA4 = 0.04722222222222222222;\n/* 17/360 */\nexport var RA6 = 0.02215608465608465608;\nexport var EPSLN = (typeof Number.EPSILON === 'undefined') ? 1.0e-10 : Number.EPSILON;\nexport var D2R = 0.01745329251994329577;\nexport var R2D = 57.29577951308232088;\nexport var FORTPI = Math.PI/4;\nexport var TWO_PI = Math.PI * 2;\n// SPI is slightly greater than Math.PI, so values that exceed the -180..180\n// degree range by a tiny amount don't get wrapped. This prevents points that\n// have drifted from their original location along the 180th meridian (due to\n// floating point error) from changing their sign.\nexport var SPI = 3.14159265359;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/constants/values.js\n// module id = 4\n// module chunks = 0","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_fails.js\n// module id = 5\n// module chunks = 0","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-object.js\n// module id = 6\n// module chunks = 0","/**\r\n * Created by FDD on 2017/5/20.\r\n */\r\nconst PlotTypes = {\r\n ARC: 'Arc',\r\n CURVE: 'Curve',\r\n GATHERING_PLACE: 'GatheringPlace',\r\n POLYLINE: 'Polyline',\r\n FREE_LINE: 'FreeLine',\r\n POINT: 'Point',\r\n PENNANT: 'Pennant',\r\n RECTANGLE: 'RectAngle',\r\n CIRCLE: 'Circle',\r\n ELLIPSE: 'Ellipse',\r\n LUNE: 'Lune',\r\n SECTOR: 'Sector',\r\n CLOSED_CURVE: 'ClosedCurve',\r\n POLYGON: 'Polygon',\r\n FREE_POLYGON: 'FreePolygon',\r\n ATTACK_ARROW: 'AttackArrow',\r\n DOUBLE_ARROW: 'DoubleArrow',\r\n STRAIGHT_ARROW: 'StraightArrow',\r\n FINE_ARROW: 'FineArrow',\r\n ASSAULT_DIRECTION: 'AssaultDirection',\r\n TAILED_ATTACK_ARROW: 'TailedAttackArrow',\r\n SQUAD_COMBAT: 'SquadCombat',\r\n TAILED_SQUAD_COMBAT: 'TailedSquadCombat'\r\n}\r\n\r\nexport default PlotTypes\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Utils/PlotTypes.js","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_wks.js\n// module id = 8\n// module chunks = 0","\nimport {TWO_PI, SPI} from '../constants/values';\nimport sign from './sign';\n\nexport default function(x) {\n return (Math.abs(x) <= SPI) ? x : (x - (sign(x) * TWO_PI));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/adjust_lon.js\n// module id = 9\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_descriptors.js\n// module id = 10\n// module chunks = 0","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-dp.js\n// module id = 11\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-length.js\n// module id = 12\n// module chunks = 0","import * as Constants from '../Constants'\r\n/**\r\n * 计算两个坐标之间的距离\r\n * @param pnt1\r\n * @param pnt2\r\n * @returns {number}\r\n * @constructor\r\n */\r\nexport const MathDistance = (pnt1, pnt2) => {\r\n return (Math.sqrt(Math.pow((pnt1[0] - pnt2[0]), 2) + Math.pow((pnt1[1] - pnt2[1]), 2)))\r\n}\r\n\r\n/**\r\n * 计算点集合的总距离\r\n * @param points\r\n * @returns {number}\r\n */\r\nexport const wholeDistance = (points) => {\r\n let distance = 0\r\n if (points && Array.isArray(points) && points.length > 0) {\r\n points.forEach((item, index) => {\r\n if (index < points.length - 1) {\r\n distance += (MathDistance(item, points[index + 1]))\r\n }\r\n })\r\n }\r\n return distance\r\n}\r\n/**\r\n * 获取基础长度\r\n * @param points\r\n * @returns {number}\r\n */\r\nexport const getBaseLength = (points) => {\r\n return Math.pow(wholeDistance(points), 0.99)\r\n}\r\n\r\n/**\r\n * 求取两个坐标的中间值\r\n * @param point1\r\n * @param point2\r\n * @returns {[*,*]}\r\n * @constructor\r\n */\r\nexport const Mid = (point1, point2) => {\r\n return [(point1[0] + point2[0]) / 2, (point1[1] + point2[1]) / 2]\r\n}\r\n\r\n/**\r\n * 通过三个点确定一个圆的中心点\r\n * @param point1\r\n * @param point2\r\n * @param point3\r\n */\r\nexport const getCircleCenterOfThreePoints = (point1, point2, point3) => {\r\n let pntA = [(point1[0] + point2[0]) / 2, (point1[1] + point2[1]) / 2]\r\n let pntB = [pntA[0] - point1[1] + point2[1], pntA[1] + point1[0] - point2[0]]\r\n let pntC = [(point1[0] + point3[0]) / 2, (point1[1] + point3[1]) / 2]\r\n let pntD = [pntC[0] - point1[1] + point3[1], pntC[1] + point1[0] - point3[0]]\r\n return getIntersectPoint(pntA, pntB, pntC, pntD)\r\n}\r\n\r\n/**\r\n * 获取交集的点\r\n * @param pntA\r\n * @param pntB\r\n * @param pntC\r\n * @param pntD\r\n * @returns {[*,*]}\r\n */\r\nexport const getIntersectPoint = (pntA, pntB, pntC, pntD) => {\r\n if (pntA[1] === pntB[1]) {\r\n let f = (pntD[0] - pntC[0]) / (pntD[1] - pntC[1])\r\n let x = f * (pntA[1] - pntC[1]) + pntC[0]\r\n let y = pntA[1]\r\n return [x, y]\r\n }\r\n if (pntC[1] === pntD[1]) {\r\n let e = (pntB[0] - pntA[0]) / (pntB[1] - pntA[1])\r\n let x = e * (pntC[1] - pntA[1]) + pntA[0]\r\n let y = pntC[1]\r\n return [x, y]\r\n }\r\n let e = (pntB[0] - pntA[0]) / (pntB[1] - pntA[1])\r\n let f = (pntD[0] - pntC[0]) / (pntD[1] - pntC[1])\r\n let y = (e * pntA[1] - pntA[0] - f * pntC[1] + pntC[0]) / (e - f)\r\n let x = e * y - e * pntA[1] + pntA[0]\r\n return [x, y]\r\n}\r\n\r\n/**\r\n * 获取方位角(地平经度)\r\n * @param startPoint\r\n * @param endPoint\r\n * @returns {*}\r\n */\r\nexport const getAzimuth = (startPoint, endPoint) => {\r\n let azimuth\r\n let angle = Math.asin(Math.abs(endPoint[1] - startPoint[1]) / (MathDistance(startPoint, endPoint)))\r\n if (endPoint[1] >= startPoint[1] && endPoint[0] >= startPoint[0]) {\r\n azimuth = angle + Math.PI\r\n } else if (endPoint[1] >= startPoint[1] && endPoint[0] < startPoint[0]) {\r\n azimuth = Math.PI * 2 - angle\r\n } else if (endPoint[1] < startPoint[1] && endPoint[0] < startPoint[0]) {\r\n azimuth = angle\r\n } else if (endPoint[1] < startPoint[1] && endPoint[0] >= startPoint[0]) {\r\n azimuth = Math.PI - angle\r\n }\r\n return azimuth\r\n}\r\n\r\n/**\r\n * 通过三个点获取方位角\r\n * @param pntA\r\n * @param pntB\r\n * @param pntC\r\n * @returns {number}\r\n */\r\nexport const getAngleOfThreePoints = (pntA, pntB, pntC) => {\r\n let angle = getAzimuth(pntB, pntA) - getAzimuth(pntB, pntC)\r\n return ((angle < 0) ? (angle + Math.PI * 2) : angle)\r\n}\r\n\r\n/**\r\n * 判断是否是顺时针\r\n * @param pnt1\r\n * @param pnt2\r\n * @param pnt3\r\n * @returns {boolean}\r\n */\r\nexport const isClockWise = (pnt1, pnt2, pnt3) => {\r\n return ((pnt3[1] - pnt1[1]) * (pnt2[0] - pnt1[0]) > (pnt2[1] - pnt1[1]) * (pnt3[0] - pnt1[0]))\r\n}\r\n\r\n/**\r\n * 获取线上的点\r\n * @param t\r\n * @param startPnt\r\n * @param endPnt\r\n * @returns {[*,*]}\r\n */\r\nexport const getPointOnLine = (t, startPnt, endPnt) => {\r\n let x = startPnt[0] + (t * (endPnt[0] - startPnt[0]))\r\n let y = startPnt[1] + (t * (endPnt[1] - startPnt[1]))\r\n return [x, y]\r\n}\r\n\r\n/**\r\n * 获取立方值\r\n * @param t\r\n * @param startPnt\r\n * @param cPnt1\r\n * @param cPnt2\r\n * @param endPnt\r\n * @returns {[*,*]}\r\n */\r\nexport const getCubicValue = (t, startPnt, cPnt1, cPnt2, endPnt) => {\r\n t = Math.max(Math.min(t, 1), 0)\r\n let [tp, t2] = [(1 - t), (t * t)]\r\n let t3 = t2 * t\r\n let tp2 = tp * tp\r\n let tp3 = tp2 * tp\r\n let x = (tp3 * startPnt[0]) + (3 * tp2 * t * cPnt1[0]) + (3 * tp * t2 * cPnt2[0]) + (t3 * endPnt[0])\r\n let y = (tp3 * startPnt[1]) + (3 * tp2 * t * cPnt1[1]) + (3 * tp * t2 * cPnt2[1]) + (t3 * endPnt[1])\r\n return [x, y]\r\n}\r\n\r\n/**\r\n * 根据起止点和旋转方向求取第三个点\r\n * @param startPnt\r\n * @param endPnt\r\n * @param angle\r\n * @param distance\r\n * @param clockWise\r\n * @returns {[*,*]}\r\n */\r\nexport const getThirdPoint = (startPnt, endPnt, angle, distance, clockWise) => {\r\n let azimuth = getAzimuth(startPnt, endPnt)\r\n let alpha = clockWise ? (azimuth + angle) : (azimuth - angle)\r\n let dx = distance * Math.cos(alpha)\r\n let dy = distance * Math.sin(alpha)\r\n return ([endPnt[0] + dx, endPnt[1] + dy])\r\n}\r\n\r\n/**\r\n * 函数继承\r\n * @param childCtor\r\n * @param parentCtor\r\n */\r\nexport const inherits = (childCtor, parentCtor) => {\r\n /** @constructor */\r\n function TempCtor () {\r\n }\r\n\r\n TempCtor.prototype = parentCtor.prototype\r\n childCtor.superClass_ = parentCtor.prototype\r\n childCtor.prototype = new TempCtor()\r\n /** @override */\r\n childCtor.prototype.constructor = childCtor\r\n childCtor.base = function (me, methodName, varArgs) {\r\n let args = Array.prototype.slice.call(arguments, 2)\r\n return parentCtor.prototype[methodName].apply(me, args)\r\n }\r\n}\r\n\r\n/**\r\n * 插值弓形线段点\r\n * @param center\r\n * @param radius\r\n * @param startAngle\r\n * @param endAngle\r\n * @returns {null}\r\n */\r\nexport const getArcPoints = (center, radius, startAngle, endAngle) => {\r\n let [x, y, pnts, angleDiff] = [null, null, [], (endAngle - startAngle)]\r\n angleDiff = ((angleDiff < 0) ? (angleDiff + (Math.PI * 2)) : angleDiff)\r\n for (let i = 0; i <= 100; i++) {\r\n let angle = startAngle + angleDiff * i / 100\r\n x = center[0] + radius * Math.cos(angle)\r\n y = center[1] + radius * Math.sin(angle)\r\n pnts.push([x, y])\r\n }\r\n return pnts\r\n}\r\n\r\n/**\r\n * getBisectorNormals\r\n * @param t\r\n * @param pnt1\r\n * @param pnt2\r\n * @param pnt3\r\n * @returns {[*,*]}\r\n */\r\nexport const getBisectorNormals = (t, pnt1, pnt2, pnt3) => {\r\n let normal = getNormal(pnt1, pnt2, pnt3)\r\n let [bisectorNormalRight, bisectorNormalLeft, dt, x, y] = [null, null, null, null, null]\r\n let dist = Math.sqrt(normal[0] * normal[0] + normal[1] * normal[1])\r\n let uX = normal[0] / dist\r\n let uY = normal[1] / dist\r\n let d1 = MathDistance(pnt1, pnt2)\r\n let d2 = MathDistance(pnt2, pnt3)\r\n if (dist > Constants.ZERO_TOLERANCE) {\r\n if (isClockWise(pnt1, pnt2, pnt3)) {\r\n dt = t * d1\r\n x = pnt2[0] - dt * uY\r\n y = pnt2[1] + dt * uX\r\n bisectorNormalRight = [x, y]\r\n dt = t * d2\r\n x = pnt2[0] + dt * uY\r\n y = pnt2[1] - dt * uX\r\n bisectorNormalLeft = [x, y]\r\n } else {\r\n dt = t * d1\r\n x = pnt2[0] + dt * uY\r\n y = pnt2[1] - dt * uX\r\n bisectorNormalRight = [x, y]\r\n dt = t * d2\r\n x = pnt2[0] - dt * uY\r\n y = pnt2[1] + dt * uX\r\n bisectorNormalLeft = [x, y]\r\n }\r\n } else {\r\n x = pnt2[0] + t * (pnt1[0] - pnt2[0])\r\n y = pnt2[1] + t * (pnt1[1] - pnt2[1])\r\n bisectorNormalRight = [x, y]\r\n x = pnt2[0] + t * (pnt3[0] - pnt2[0])\r\n y = pnt2[1] + t * (pnt3[1] - pnt2[1])\r\n bisectorNormalLeft = [x, y]\r\n }\r\n return [bisectorNormalRight, bisectorNormalLeft]\r\n}\r\n\r\n/**\r\n * 获取默认三点的内切圆\r\n * @param pnt1\r\n * @param pnt2\r\n * @param pnt3\r\n * @returns {[*,*]}\r\n */\r\nexport const getNormal = (pnt1, pnt2, pnt3) => {\r\n let dX1 = pnt1[0] - pnt2[0]\r\n let dY1 = pnt1[1] - pnt2[1]\r\n let d1 = Math.sqrt(dX1 * dX1 + dY1 * dY1)\r\n dX1 /= d1\r\n dY1 /= d1\r\n let dX2 = pnt3[0] - pnt2[0]\r\n let dY2 = pnt3[1] - pnt2[1]\r\n let d2 = Math.sqrt(dX2 * dX2 + dY2 * dY2)\r\n dX2 /= d2\r\n dY2 /= d2\r\n let uX = dX1 + dX2\r\n let uY = dY1 + dY2\r\n return [uX, uY]\r\n}\r\n\r\n/**\r\n * 获取左边控制点\r\n * @param controlPoints\r\n * @returns {[*,*]}\r\n */\r\nexport const getLeftMostControlPoint = (controlPoints, t) => {\r\n let [pnt1, pnt2, pnt3, controlX, controlY] = [controlPoints[0], controlPoints[1], controlPoints[2], null, null]\r\n let pnts = getBisectorNormals(0, pnt1, pnt2, pnt3)\r\n let normalRight = pnts[0]\r\n let normal = getNormal(pnt1, pnt2, pnt3)\r\n let dist = Math.sqrt(normal[0] * normal[0] + normal[1] * normal[1])\r\n if (dist > Constants.ZERO_TOLERANCE) {\r\n let mid = Mid(pnt1, pnt2)\r\n let pX = pnt1[0] - mid[0]\r\n let pY = pnt1[1] - mid[1]\r\n let d1 = MathDistance(pnt1, pnt2)\r\n let n = 2.0 / d1\r\n let nX = -n * pY\r\n let nY = n * pX\r\n let a11 = nX * nX - nY * nY\r\n let a12 = 2 * nX * nY\r\n let a22 = nY * nY - nX * nX\r\n let dX = normalRight[0] - mid[0]\r\n let dY = normalRight[1] - mid[1]\r\n controlX = mid[0] + a11 * dX + a12 * dY\r\n controlY = mid[1] + a12 * dX + a22 * dY\r\n } else {\r\n controlX = pnt1[0] + t * (pnt2[0] - pnt1[0])\r\n controlY = pnt1[1] + t * (pnt2[1] - pnt1[1])\r\n }\r\n return [controlX, controlY]\r\n}\r\n\r\n/**\r\n * 获取右边控制点\r\n * @param controlPoints\r\n * @param t\r\n * @returns {[*,*]}\r\n */\r\nexport const getRightMostControlPoint = (controlPoints, t) => {\r\n let count = controlPoints.length\r\n let pnt1 = controlPoints[count - 3]\r\n let pnt2 = controlPoints[count - 2]\r\n let pnt3 = controlPoints[count - 1]\r\n let pnts = getBisectorNormals(0, pnt1, pnt2, pnt3)\r\n let normalLeft = pnts[1]\r\n let normal = getNormal(pnt1, pnt2, pnt3)\r\n let dist = Math.sqrt(normal[0] * normal[0] + normal[1] * normal[1])\r\n let [controlX, controlY] = [null, null]\r\n if (dist > Constants.ZERO_TOLERANCE) {\r\n let mid = Mid(pnt2, pnt3)\r\n let pX = pnt3[0] - mid[0]\r\n let pY = pnt3[1] - mid[1]\r\n let d1 = MathDistance(pnt2, pnt3)\r\n let n = 2.0 / d1\r\n let nX = -n * pY\r\n let nY = n * pX\r\n let a11 = nX * nX - nY * nY\r\n let a12 = 2 * nX * nY\r\n let a22 = nY * nY - nX * nX\r\n let dX = normalLeft[0] - mid[0]\r\n let dY = normalLeft[1] - mid[1]\r\n controlX = mid[0] + a11 * dX + a12 * dY\r\n controlY = mid[1] + a12 * dX + a22 * dY\r\n } else {\r\n controlX = pnt3[0] + t * (pnt2[0] - pnt3[0])\r\n controlY = pnt3[1] + t * (pnt2[1] - pnt3[1])\r\n }\r\n return [controlX, controlY]\r\n}\r\n\r\n/**\r\n * 插值曲线点\r\n * @param t\r\n * @param controlPoints\r\n * @returns {null}\r\n */\r\nexport const getCurvePoints = (t, controlPoints) => {\r\n let leftControl = getLeftMostControlPoint(controlPoints, t)\r\n let [pnt1, pnt2, pnt3, normals, points] = [null, null, null, [leftControl], []]\r\n for (let i = 0; i < controlPoints.length - 2; i++) {\r\n [pnt1, pnt2, pnt3] = [controlPoints[i], controlPoints[i + 1], controlPoints[i + 2]]\r\n let normalPoints = getBisectorNormals(t, pnt1, pnt2, pnt3)\r\n normals = normals.concat(normalPoints)\r\n }\r\n let rightControl = getRightMostControlPoint(controlPoints, t)\r\n if (rightControl) {\r\n normals.push(rightControl)\r\n }\r\n for (let i = 0; i < controlPoints.length - 1; i++) {\r\n pnt1 = controlPoints[i]\r\n pnt2 = controlPoints[i + 1]\r\n points.push(pnt1)\r\n for (let t = 0; t < Constants.FITTING_COUNT; t++) {\r\n let pnt = getCubicValue(t / Constants.FITTING_COUNT, pnt1, normals[i * 2], normals[i * 2 + 1], pnt2)\r\n points.push(pnt)\r\n }\r\n points.push(pnt2)\r\n }\r\n return points\r\n}\r\n\r\n/**\r\n * 贝塞尔曲线\r\n * @param points\r\n * @returns {*}\r\n */\r\nexport const getBezierPoints = function (points) {\r\n if (points.length <= 2) {\r\n return points\r\n } else {\r\n let bezierPoints = []\r\n let n = points.length - 1\r\n for (let t = 0; t <= 1; t += 0.01) {\r\n let [x, y] = [0, 0]\r\n for (let index = 0; index <= n; index++) {\r\n let factor = getBinomialFactor(n, index)\r\n let a = Math.pow(t, index)\r\n let b = Math.pow((1 - t), (n - index))\r\n x += factor * a * b * points[index][0]\r\n y += factor * a * b * points[index][1]\r\n }\r\n bezierPoints.push([x, y])\r\n }\r\n bezierPoints.push(points[n])\r\n return bezierPoints\r\n }\r\n}\r\n\r\n/**\r\n * 获取阶乘数据\r\n * @param n\r\n * @returns {number}\r\n */\r\nexport const getFactorial = (n) => {\r\n let result = 1\r\n switch (n) {\r\n case (n <= 1):\r\n result = 1\r\n break\r\n case (n === 2):\r\n result = 2\r\n break\r\n case (n === 3):\r\n result = 6\r\n break\r\n case (n === 24):\r\n result = 24\r\n break\r\n case (n === 5):\r\n result = 120\r\n break\r\n default:\r\n for (let i = 1; i <= n; i++) {\r\n result *= i\r\n }\r\n break\r\n }\r\n return result\r\n}\r\n\r\n/**\r\n * 获取二项分布\r\n * @param n\r\n * @param index\r\n * @returns {number}\r\n */\r\nexport const getBinomialFactor = (n, index) => {\r\n return (getFactorial(n) / (getFactorial(index) * getFactorial(n - index)))\r\n}\r\n\r\n/**\r\n * 插值线性点\r\n * @param points\r\n * @returns {*}\r\n */\r\nexport const getQBSplinePoints = points => {\r\n if (points.length <= 2) {\r\n return points\r\n } else {\r\n let [n, bSplinePoints] = [2, []]\r\n let m = points.length - n - 1\r\n bSplinePoints.push(points[0])\r\n for (let i = 0; i <= m; i++) {\r\n for (let t = 0; t <= 1; t += 0.05) {\r\n let [x, y] = [0, 0]\r\n for (let k = 0; k <= n; k++) {\r\n let factor = getQuadricBSplineFactor(k, t)\r\n x += factor * points[i + k][0]\r\n y += factor * points[i + k][1]\r\n }\r\n bSplinePoints.push([x, y])\r\n }\r\n }\r\n bSplinePoints.push(points[points.length - 1])\r\n return bSplinePoints\r\n }\r\n}\r\n\r\n/**\r\n * 得到二次线性因子\r\n * @param k\r\n * @param t\r\n * @returns {number}\r\n */\r\nexport const getQuadricBSplineFactor = (k, t) => {\r\n let res = 0\r\n if (k === 0) {\r\n res = Math.pow(t - 1, 2) / 2\r\n } else if (k === 1) {\r\n res = (-2 * Math.pow(t, 2) + 2 * t + 1) / 2\r\n } else if (k === 2) {\r\n res = Math.pow(t, 2) / 2\r\n }\r\n return res\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Utils/utils.js","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-object.js\n// module id = 14\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_has.js\n// module id = 15\n// module chunks = 0","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_a-function.js\n// module id = 16\n// module chunks = 0","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_hide.js\n// module id = 17\n// module chunks = 0","var global = require('./_global')\n , hide = require('./_hide')\n , has = require('./_has')\n , SRC = require('./_uid')('src')\n , TO_STRING = 'toString'\n , $toString = Function[TO_STRING]\n , TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function(it){\n return $toString.call(it);\n};\n\n(module.exports = function(O, key, val, safe){\n var isFunction = typeof val == 'function';\n if(isFunction)has(val, 'name') || hide(val, 'name', key);\n if(O[key] === val)return;\n if(isFunction)has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if(O === global){\n O[key] = val;\n } else {\n if(!safe){\n delete O[key];\n hide(O, key, val);\n } else {\n if(O[key])O[key] = val;\n else hide(O, key, val);\n }\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString(){\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_redefine.js\n// module id = 18\n// module chunks = 0","var $export = require('./_export')\n , fails = require('./_fails')\n , defined = require('./_defined')\n , quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function(string, tag, attribute, value) {\n var S = String(defined(string))\n , p1 = '<' + tag;\n if(attribute !== '')p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function(NAME, exec){\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function(){\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-html.js\n// module id = 19\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-iobject.js\n// module id = 20\n// module chunks = 0","var pIE = require('./_object-pie')\n , createDesc = require('./_property-desc')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){\n O = toIObject(O);\n P = toPrimitive(P, true);\n if(IE8_DOM_DEFINE)try {\n return gOPD(O, P);\n } catch(e){ /* empty */ }\n if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gopd.js\n// module id = 21\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has')\n , toObject = require('./_to-object')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n O = toObject(O);\n if(has(O, IE_PROTO))return O[IE_PROTO];\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gpo.js\n// module id = 22\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_cof.js\n// module id = 23\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_defined.js\n// module id = 24\n// module chunks = 0","var fails = require('./_fails');\n\nmodule.exports = function(method, arg){\n return !!method && fails(function(){\n arg ? method.call(null, function(){}, 1) : method.call(null);\n });\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_strict-method.js\n// module id = 25\n// module chunks = 0","/**\r\n * Created by FDD on 2017/5/22.\r\n * @desc 常用变量\r\n */\r\nexport const FITTING_COUNT = 100\r\nexport const ZERO_TOLERANCE = 0.0001\r\nexport const TWO_PI = Math.PI * 2\r\nexport const HALF_PI = Math.PI / 2\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Constants.js","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx')\n , IObject = require('./_iobject')\n , toObject = require('./_to-object')\n , toLength = require('./_to-length')\n , asc = require('./_array-species-create');\nmodule.exports = function(TYPE, $create){\n var IS_MAP = TYPE == 1\n , IS_FILTER = TYPE == 2\n , IS_SOME = TYPE == 3\n , IS_EVERY = TYPE == 4\n , IS_FIND_INDEX = TYPE == 6\n , NO_HOLES = TYPE == 5 || IS_FIND_INDEX\n , create = $create || asc;\n return function($this, callbackfn, that){\n var O = toObject($this)\n , self = IObject(O)\n , f = ctx(callbackfn, that, 3)\n , length = toLength(self.length)\n , index = 0\n , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined\n , val, res;\n for(;length > index; index++)if(NO_HOLES || index in self){\n val = self[index];\n res = f(val, index, O);\n if(TYPE){\n if(IS_MAP)result[index] = res; // map\n else if(res)switch(TYPE){\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if(IS_EVERY)return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-methods.js\n// module id = 27\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export')\n , core = require('./_core')\n , fails = require('./_fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-sap.js\n// module id = 28\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-primitive.js\n// module id = 29\n// module chunks = 0","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_core.js\n// module id = 30\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_ctx.js\n// module id = 31\n// module chunks = 0","var Map = require('./es6.map')\n , $export = require('./_export')\n , shared = require('./_shared')('metadata')\n , store = shared.store || (shared.store = new (require('./es6.weak-map')));\n\nvar getOrCreateMetadataMap = function(target, targetKey, create){\n var targetMetadata = store.get(target);\n if(!targetMetadata){\n if(!create)return undefined;\n store.set(target, targetMetadata = new Map);\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if(!keyMetadata){\n if(!create)return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map);\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function(MetadataKey, O, P){\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function(MetadataKey, O, P){\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function(MetadataKey, MetadataValue, O, P){\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function(target, targetKey){\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false)\n , keys = [];\n if(metadataMap)metadataMap.forEach(function(_, key){ keys.push(key); });\n return keys;\n};\nvar toMetaKey = function(it){\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function(O){\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_metadata.js\n// module id = 32\n// module chunks = 0","'use strict';\nif(require('./_descriptors')){\n var LIBRARY = require('./_library')\n , global = require('./_global')\n , fails = require('./_fails')\n , $export = require('./_export')\n , $typed = require('./_typed')\n , $buffer = require('./_typed-buffer')\n , ctx = require('./_ctx')\n , anInstance = require('./_an-instance')\n , propertyDesc = require('./_property-desc')\n , hide = require('./_hide')\n , redefineAll = require('./_redefine-all')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , same = require('./_same-value')\n , classof = require('./_classof')\n , isObject = require('./_is-object')\n , toObject = require('./_to-object')\n , isArrayIter = require('./_is-array-iter')\n , create = require('./_object-create')\n , getPrototypeOf = require('./_object-gpo')\n , gOPN = require('./_object-gopn').f\n , getIterFn = require('./core.get-iterator-method')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , createArrayMethod = require('./_array-methods')\n , createArrayIncludes = require('./_array-includes')\n , speciesConstructor = require('./_species-constructor')\n , ArrayIterators = require('./es6.array.iterator')\n , Iterators = require('./_iterators')\n , $iterDetect = require('./_iter-detect')\n , setSpecies = require('./_set-species')\n , arrayFill = require('./_array-fill')\n , arrayCopyWithin = require('./_array-copy-within')\n , $DP = require('./_object-dp')\n , $GOPD = require('./_object-gopd')\n , dP = $DP.f\n , gOPD = $GOPD.f\n , RangeError = global.RangeError\n , TypeError = global.TypeError\n , Uint8Array = global.Uint8Array\n , ARRAY_BUFFER = 'ArrayBuffer'\n , SHARED_BUFFER = 'Shared' + ARRAY_BUFFER\n , BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'\n , PROTOTYPE = 'prototype'\n , ArrayProto = Array[PROTOTYPE]\n , $ArrayBuffer = $buffer.ArrayBuffer\n , $DataView = $buffer.DataView\n , arrayForEach = createArrayMethod(0)\n , arrayFilter = createArrayMethod(2)\n , arraySome = createArrayMethod(3)\n , arrayEvery = createArrayMethod(4)\n , arrayFind = createArrayMethod(5)\n , arrayFindIndex = createArrayMethod(6)\n , arrayIncludes = createArrayIncludes(true)\n , arrayIndexOf = createArrayIncludes(false)\n , arrayValues = ArrayIterators.values\n , arrayKeys = ArrayIterators.keys\n , arrayEntries = ArrayIterators.entries\n , arrayLastIndexOf = ArrayProto.lastIndexOf\n , arrayReduce = ArrayProto.reduce\n , arrayReduceRight = ArrayProto.reduceRight\n , arrayJoin = ArrayProto.join\n , arraySort = ArrayProto.sort\n , arraySlice = ArrayProto.slice\n , arrayToString = ArrayProto.toString\n , arrayToLocaleString = ArrayProto.toLocaleString\n , ITERATOR = wks('iterator')\n , TAG = wks('toStringTag')\n , TYPED_CONSTRUCTOR = uid('typed_constructor')\n , DEF_CONSTRUCTOR = uid('def_constructor')\n , ALL_CONSTRUCTORS = $typed.CONSTR\n , TYPED_ARRAY = $typed.TYPED\n , VIEW = $typed.VIEW\n , WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function(O, length){\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function(){\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function(){\n new Uint8Array(1).set({});\n });\n\n var strictToLength = function(it, SAME){\n if(it === undefined)throw TypeError(WRONG_LENGTH);\n var number = +it\n , length = toLength(it);\n if(SAME && !same(number, length))throw RangeError(WRONG_LENGTH);\n return length;\n };\n\n var toOffset = function(it, BYTES){\n var offset = toInteger(it);\n if(offset < 0 || offset % BYTES)throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function(it){\n if(isObject(it) && TYPED_ARRAY in it)return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function(C, length){\n if(!(isObject(C) && TYPED_CONSTRUCTOR in C)){\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function(O, list){\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function(C, list){\n var index = 0\n , length = list.length\n , result = allocate(C, length);\n while(length > index)result[index] = list[index++];\n return result;\n };\n\n var addGetter = function(it, key, internal){\n dP(it, key, {get: function(){ return this._d[internal]; }});\n };\n\n var $from = function from(source /*, mapfn, thisArg */){\n var O = toObject(source)\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , iterFn = getIterFn(O)\n , i, length, values, result, step, iterator;\n if(iterFn != undefined && !isArrayIter(iterFn)){\n for(iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++){\n values.push(step.value);\n } O = values;\n }\n if(mapping && aLen > 2)mapfn = ctx(mapfn, arguments[2], 2);\n for(i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++){\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/*...items*/){\n var index = 0\n , length = arguments.length\n , result = allocate(this, length);\n while(length > index)result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function(){ arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString(){\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /*, end */){\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /*, thisArg */){\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /*, start, end */){ // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /*, thisArg */){\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /*, thisArg */){\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /*, thisArg */){\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /*, thisArg */){\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /*, fromIndex */){\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /*, fromIndex */){\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator){ // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */){ // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /*, thisArg */){\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse(){\n var that = this\n , length = validate(that).length\n , middle = Math.floor(length / 2)\n , index = 0\n , value;\n while(index < middle){\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /*, thisArg */){\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn){\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end){\n var O = validate(this)\n , length = O.length\n , $begin = toIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end){\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /*, offset */){\n validate(this);\n var offset = toOffset(arguments[1], 1)\n , length = this.length\n , src = toObject(arrayLike)\n , len = toLength(src.length)\n , index = 0;\n if(len + offset > length)throw RangeError(WRONG_LENGTH);\n while(index < len)this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries(){\n return arrayEntries.call(validate(this));\n },\n keys: function keys(){\n return arrayKeys.call(validate(this));\n },\n values: function values(){\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function(target, key){\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key){\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc){\n if(isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ){\n target[key] = desc.value;\n return target;\n } else return dP(target, key, desc);\n };\n\n if(!ALL_CONSTRUCTORS){\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if(fails(function(){ arrayToString.call({}); })){\n arrayToString = arrayToLocaleString = function toString(){\n return arrayJoin.call(this);\n }\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function(){ /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function(){ return this[TYPED_ARRAY]; }\n });\n\n module.exports = function(KEY, BYTES, wrapper, CLAMPED){\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'\n , ISNT_UINT8 = NAME != 'Uint8Array'\n , GETTER = 'get' + KEY\n , SETTER = 'set' + KEY\n , TypedArray = global[NAME]\n , Base = TypedArray || {}\n , TAC = TypedArray && getPrototypeOf(TypedArray)\n , FORCED = !TypedArray || !$typed.ABV\n , O = {}\n , TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function(that, index){\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function(that, index, value){\n var data = that._d;\n if(CLAMPED)value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function(that, index){\n dP(that, index, {\n get: function(){\n return getter(this, index);\n },\n set: function(value){\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if(FORCED){\n TypedArray = wrapper(function(that, data, $offset, $length){\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0\n , offset = 0\n , buffer, byteLength, length, klass;\n if(!isObject(data)){\n length = strictToLength(data, true)\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if($length === undefined){\n if($len % BYTES)throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if(byteLength < 0)throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if(byteLength + offset > $len)throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if(TYPED_ARRAY in data){\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while(index < length)addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if(!$iterDetect(function(iter){\n // V8 works with iterators, but fails in many other cases\n // https://code.google.com/p/v8/issues/detail?id=4552\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)){\n TypedArray = wrapper(function(that, data, $offset, $length){\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if(!isObject(data))return new Base(strictToLength(data, ISNT_UINT8));\n if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if(TYPED_ARRAY in data)return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function(key){\n if(!(key in TypedArray))hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if(!LIBRARY)TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR]\n , CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined)\n , $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if(CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)){\n dP(TypedArrayPrototype, TAG, {\n get: function(){ return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES,\n from: $from,\n of: $of\n });\n\n if(!(BYTES_PER_ELEMENT in TypedArrayPrototype))hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, {set: $set});\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, {toString: arrayToString});\n\n $export($export.P + $export.F * fails(function(){\n new TypedArray(1).slice();\n }), NAME, {slice: $slice});\n\n $export($export.P + $export.F * (fails(function(){\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString()\n }) || !fails(function(){\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, {toLocaleString: $toLocaleString});\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if(!LIBRARY && !CORRECT_ITER_NAME)hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function(){ /* empty */ };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_typed-array.js\n// module id = 33\n// module chunks = 0","var META = require('./_uid')('meta')\n , isObject = require('./_is-object')\n , has = require('./_has')\n , setDesc = require('./_object-dp').f\n , id = 0;\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\nvar FREEZE = !require('./_fails')(function(){\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function(it){\n setDesc(it, META, {value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n }});\n};\nvar fastKey = function(it, create){\n // return primitive with prefix\n if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return 'F';\n // not necessary to add metadata\n if(!create)return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function(it, create){\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return true;\n // not necessary to add metadata\n if(!create)return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function(it){\n if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_meta.js\n// module id = 34\n// module chunks = 0","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_property-desc.js\n// module id = 35\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-integer.js\n// module id = 36\n// module chunks = 0","const mix = (...mixins) => {\r\n class Mix {}\r\n // 以编程方式给Mix类添加\r\n\r\n // mixins的所有方法和访问器\r\n for (let key in mixins) {\r\n let mixin = mixins[key]\r\n copyProperties(Mix, mixin)\r\n copyProperties(Mix.prototype, mixin.prototype)\r\n }\r\n return Mix\r\n}\r\n\r\nconst copyProperties = (target, source) => {\r\n for (let key of Reflect.ownKeys(source)) {\r\n if (key !== 'constructor' && key !== 'prototype' && key !== 'name' && key !== 'length') {\r\n let desc = Object.getOwnPropertyDescriptor(source, key)\r\n Object.defineProperty(target, key, desc)\r\n }\r\n }\r\n}\r\n\r\nexport default mix\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/mixin.js","module.exports = function(it, Constructor, name, forbiddenField){\n if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_an-instance.js\n// module id = 38\n// module chunks = 0","module.exports = false;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_library.js\n// module id = 39\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object')\n , dPs = require('./_object-dps')\n , enumBugKeys = require('./_enum-bug-keys')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , Empty = function(){ /* empty */ }\n , PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function(){\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe')\n , i = enumBugKeys.length\n , lt = '<'\n , gt = '>'\n , iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties){\n var result;\n if(O !== null){\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty;\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-create.js\n// module id = 40\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal')\n , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){\n return $keys(O, hiddenKeys);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gopn.js\n// module id = 41\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal')\n , enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O){\n return $keys(O, enumBugKeys);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-keys.js\n// module id = 42\n// module chunks = 0","var redefine = require('./_redefine');\nmodule.exports = function(target, src, safe){\n for(var key in src)redefine(target, key, src[key], safe);\n return target;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_redefine-all.js\n// module id = 43\n// module chunks = 0","'use strict';\nvar global = require('./_global')\n , dP = require('./_object-dp')\n , DESCRIPTORS = require('./_descriptors')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(KEY){\n var C = global[KEY];\n if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, {\n configurable: true,\n get: function(){ return this; }\n });\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_set-species.js\n// module id = 44\n// module chunks = 0","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-index.js\n// module id = 45\n// module chunks = 0","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_uid.js\n// module id = 46\n// module chunks = 0","import * as DomUtil from './domUtil'\r\nimport * as css from './css'\r\nexport { DomUtil, css }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/dom/index.js","import { ol } from '../constants'\r\nimport mix from '../utils/mixin'\r\nimport * as MapboxStyle from '../style/MapboxStyle'\r\nimport Style from '../style/Style'\r\nimport './source/GaoDe'\r\nimport './source/BaiDu'\r\nimport './source/Google'\r\n\r\nclass Layer extends mix(Style) {\r\n constructor (map) {\r\n super()\r\n this.map = map || null\r\n if (!this.map) {\r\n throw new Error('缺少地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerName获取图层\r\n * @param layerName\r\n * @returns {*}\r\n */\r\n getLayerByLayerName (layerName) {\r\n try {\r\n let targetLayer = null\r\n if (this.map) {\r\n let layers = this.map.getLayers().getArray()\r\n layers.every(layer => {\r\n if (layer.get('layerName') === layerName) {\r\n targetLayer = layer\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n return targetLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerName获取专题图层\r\n * @param layerName\r\n * @returns {*}\r\n */\r\n getTitleLayerByLayerName (layerName) {\r\n try {\r\n let targetLayer = null\r\n if (this.map) {\r\n let layers = this.map.getLayers().getArray()\r\n layers.every(layer => {\r\n if (layer.get('layerType') === 'title' && layer.get('layerName') === layerName) {\r\n targetLayer = layer\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n return targetLayer\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 根据图层名获取底图\r\n * @param layerName\r\n * @returns {*}\r\n */\r\n getBaseLayerByLayerName (layerName) {\r\n try {\r\n let currentLayer = null\r\n this.map.getLayers().getArray().forEach(layer => {\r\n if (layer && layer instanceof ol.layer.Group && layer.get('isBaseLayer')) {\r\n layer.getLayers().getArray().forEach(_layer => {\r\n if (_layer && _layer instanceof ol.layer.Tile && _layer.get('isBaseLayer') && _layer.get('layerName') === layerName) {\r\n currentLayer = _layer\r\n }\r\n })\r\n }\r\n })\r\n return currentLayer\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 获取底图图层组\r\n * @returns {*}\r\n */\r\n getBaseLayers () {\r\n try {\r\n let currentLayer = null\r\n this.map.getLayers().getArray().forEach(layer => {\r\n if (layer && layer instanceof ol.layer.Group && layer.get('isBaseLayer')) {\r\n currentLayer = layer\r\n }\r\n })\r\n return currentLayer\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 通过要素获取图层\r\n * @param feature\r\n * @returns {*}\r\n */\r\n getLayerByFeatuer (feature) {\r\n let tragetLayer = null\r\n if (this.map) {\r\n if (feature instanceof ol.Feature) {\r\n let layers = this.map.getLayers().getArray()\r\n layers.every(layer => {\r\n if (layer && layer instanceof ol.layer.Vector && layer.getSource) {\r\n let source = layer.getSource()\r\n if (source.getFeatures) {\r\n let features = source.getFeatures()\r\n features.every(feat => {\r\n if (feat === feature) {\r\n tragetLayer = layer\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n } else {\r\n throw new Error('传入的不是要素!')\r\n }\r\n }\r\n return tragetLayer\r\n }\r\n\r\n /**\r\n * 创建临时图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createVectorLayer (layerName, params) {\r\n try {\r\n if (this.map) {\r\n let vectorLayer = this.getLayerByLayerName(layerName)\r\n if (!(vectorLayer instanceof ol.layer.Vector)) {\r\n vectorLayer = null\r\n }\r\n if (!vectorLayer) {\r\n if (params && params.create) {\r\n vectorLayer = new ol.layer.Vector({\r\n layerName: layerName,\r\n params: params,\r\n layerType: 'vector',\r\n source: new ol.source.Vector({\r\n wrapX: false\r\n }),\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(67, 110, 238, 0.4)'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#4781d9',\r\n width: 2\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33'\r\n })\r\n })\r\n })\r\n })\r\n }\r\n }\r\n if (this.map && vectorLayer) {\r\n if (params && params.hasOwnProperty('selectable')) {\r\n vectorLayer.set('selectable', params.selectable)\r\n }\r\n // 图层只添加一次\r\n let _vectorLayer = this.getLayerByLayerName(layerName)\r\n if (!_vectorLayer || !(_vectorLayer instanceof ol.layer.Vector)) {\r\n this.map.addLayer(vectorLayer)\r\n }\r\n }\r\n return vectorLayer\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建热力图图层\r\n * @param layerName\r\n * @param params\r\n * @returns {string}\r\n */\r\n createHeatMapLayer (layerName, params) {\r\n try {\r\n let currentLayer = null\r\n if (this.map) {\r\n currentLayer = this.getLayerByLayerName(layerName)\r\n if (!(currentLayer instanceof ol.layer.Heatmap)) {\r\n currentLayer = null\r\n } else if ((currentLayer instanceof ol.layer.Heatmap) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(currentLayer)\r\n currentLayer = null\r\n }\r\n if (!currentLayer && params && params['create']) {\r\n currentLayer = new ol.layer.Heatmap({\r\n layerName: layerName,\r\n gradient: (params['gradient'] ? params['gradient'] : ['#00f', '#0ff', '#0f0', '#ff0', '#f00']),\r\n source: new ol.source.Vector({\r\n wrapX: false,\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined)\r\n }),\r\n blur: (params['blur'] ? params['blur'] : 15),\r\n radius: (params['radius'] ? params['radius'] : 8),\r\n shadow: (params['shadow'] ? params['shadow'] : 250),\r\n weight: (params['weight'] ? params['weight'] : 'weight'),\r\n extent: (params['extent'] ? params['extent'] : undefined),\r\n minResolution: (params['minResolution'] ? params['minResolution'] : undefined),\r\n maxResolution: (params['maxResolution'] ? params['maxResolution'] : undefined),\r\n opacity: (params['opacity'] ? params['opacity'] : 1),\r\n visible: ((params['visible'] === false) ? params['visible'] : true)\r\n })\r\n if (params && params.hasOwnProperty('selectable')) {\r\n currentLayer.set('selectable', params.selectable)\r\n }\r\n }\r\n if (currentLayer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(currentLayer)\r\n }\r\n return currentLayer\r\n } else {\r\n throw new Error('未创建地图对象!')\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 创建专题图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createTitleLayer (layerName, params) {\r\n try {\r\n let serviceUrl = params['layerUrl']\r\n if (!serviceUrl) return null\r\n let ooLayer = this.getTitleLayerByLayerName(layerName)\r\n if (ooLayer && ooLayer instanceof ol.layer.Tile && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(ooLayer)\r\n ooLayer = null\r\n }\r\n if (!ooLayer && params['create']) {\r\n ooLayer = new ol.layer.Tile({\r\n layerName: layerName,\r\n layerType: ((params['notShowLayerType'] === true) ? '' : 'title'),\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n source: new ol.source.TileArcGISRest({\r\n url: serviceUrl,\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n params: (params['layerParams'] ? params['layerParams'] : undefined),\r\n wrapX: false\r\n }),\r\n wrapX: false\r\n })\r\n }\r\n if (this.map && ooLayer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(ooLayer)\r\n }\r\n return ooLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建ImageWMSLayer\r\n * @param layerName\r\n * @param params\r\n * @returns {string}\r\n */\r\n createImageWMSLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Image)) {\r\n layer = null\r\n } else if ((layer instanceof ol.layer.Image) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create']) {\r\n layer = new ol.layer.Image({\r\n layerName: layerName,\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: (params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1,\r\n source: new ol.source.ImageWMS({\r\n url: params['layerUrl'],\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n params: {\r\n LAYERS: params['layers'], // require\r\n STYLES: params['style'] ? params['style'] : '',\r\n VERSION: params['version'] ? params['version'] : '1.3.0',\r\n WIDTH: params['width'] ? params['width'] : 256,\r\n HEIGHT: params['height'] ? params['height'] : 256,\r\n BBOX: params['bbox'], // require\r\n SRS: (params['srs'] ? params['srs'] : 'EPSG:3857'),\r\n CRS: (params['srs'] ? params['srs'] : 'EPSG:3857'),\r\n REQUEST: 'GetMap',\r\n TRANSPARENT: true,\r\n TILED: (params['tiled'] === false) ? params['tiled'] : true,\r\n TILESORIGIN: (params['tiledsorrigin'] ? params['tiledsorrigin'] : undefined),\r\n SERVICE: 'WMS',\r\n FORMAT: (params['format'] ? params['format'] : 'image/png'),\r\n VIEWPARAMS: (params['viewparams'] ? params['viewparams'] : '')\r\n },\r\n wrapX: false\r\n })\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建TileWMSLayer\r\n * @param layerName\r\n * @param params\r\n * @returns {string}\r\n */\r\n createTileWMSLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Image)) {\r\n layer = null\r\n } else if ((layer instanceof ol.layer.Image) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create']) {\r\n layer = new ol.layer.Tile({\r\n layerName: layerName,\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: (params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1,\r\n source: new ol.source.TileWMS({\r\n url: params['layerUrl'],\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n params: {\r\n LAYERS: params['layers'], // require\r\n STYLES: params['style'] ? params['style'] : '',\r\n VERSION: params['version'] ? params['version'] : '1.3.0',\r\n WIDTH: params['width'] ? params['width'] : 256,\r\n HEIGHT: params['height'] ? params['height'] : 256,\r\n BBOX: params['bbox'], // require\r\n SRS: (params['srs'] ? params['srs'] : 'EPSG:3857'),\r\n CRS: (params['srs'] ? params['srs'] : 'EPSG:3857'),\r\n REQUEST: 'GetMap',\r\n TRANSPARENT: true,\r\n TILED: ((params['tiled'] === false) ? params['tiled'] : true),\r\n TILESORIGIN: (params['tiledsorrigin'] ? params['tiledsorrigin'] : undefined),\r\n SERVICE: 'WMS',\r\n FORMAT: (params['format'] ? params['format'] : 'image/png'),\r\n VIEWPARAMS: (params['viewparams'] ? params['viewparams'] : '')\r\n },\r\n wrapX: false\r\n })\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建WFS图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createWfsVectorLayer (layerName, params) {\r\n try {\r\n let vectorLayer = this.getLayerByLayerName(layerName)\r\n if (!(vectorLayer instanceof ol.layer.Vector)) {\r\n vectorLayer = null\r\n }\r\n if (!vectorLayer) {\r\n let proj = params['projection'] ? params['projection'] : 'EPSG:3857'\r\n let style = this.getStyleByParams(params['style'])\r\n vectorLayer = new ol.layer.Vector({\r\n layerName: layerName,\r\n params: params,\r\n layerType: 'vector',\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n source: new ol.source.Vector({\r\n format: new ol.format.GeoJSON(),\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n url: function (extent) {\r\n return params['layerUrl'] + extent.join(',') + ',' + proj\r\n },\r\n wrapX: false,\r\n strategy: ol.loadingstrategy.bbox\r\n }),\r\n style: style\r\n })\r\n }\r\n if (this.map && vectorLayer) {\r\n if (params && params.hasOwnProperty('selectable')) {\r\n vectorLayer.set('selectable', params.selectable)\r\n }\r\n // 图层只添加一次\r\n let _vectorLayer = this.getLayerByLayerName(layerName)\r\n if (!_vectorLayer || !(_vectorLayer instanceof ol.layer.Vector)) {\r\n if (!(params['addLayer'] === false)) {\r\n this.map.addLayer(vectorLayer)\r\n }\r\n }\r\n }\r\n return vectorLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建矢量要素图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createVectorFeatureLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Vector)) {\r\n layer = null\r\n } else if (this.map && (layer instanceof ol.layer.Vector) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create']) {\r\n let style = this.getStyleByParams(params['style'])\r\n layer = new ol.layer.Vector({\r\n layerName: layerName,\r\n params: params,\r\n layerType: 'vector',\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n source: new ol.source.Vector({\r\n format: new ol.format.GeoJSON(),\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n url: params['layerUrl'],\r\n wrapX: false,\r\n strategy: ol.loadingstrategy.bbox\r\n }),\r\n style: style\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建WMTS图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createWMTSLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Tile)) {\r\n layer = null\r\n } else if (this.map && (layer instanceof ol.layer.Tile) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create'] && params['levels']) {\r\n let projection = ol.proj.get((params['projection'] ? params['projection'] : 'EPSG:3857'))\r\n let projectionExtent = projection.getExtent()\r\n let size = ol.extent.getWidth(projectionExtent) / 256\r\n let levels = params['levels']\r\n let resolutions = new Array(levels)\r\n let matrixIds = new Array(levels)\r\n for (let z = 0; z < levels; ++z) {\r\n // generate resolutions and matrixIds arrays for this WMTS\r\n resolutions[z] = size / Math.pow(2, z)\r\n matrixIds[z] = z\r\n }\r\n layer = new ol.layer.Tile({\r\n layerName: layerName,\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n source: new ol.source.WMTS({\r\n url: params['layerUrl'],\r\n layer: (params['layer'] ? params['layer'] : '0'),\r\n matrixSet: (params['matrixSet'] ? params['matrixSet'] : 'EPSG:3857'),\r\n format: (params['format'] ? params['format'] : 'image/png'),\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n projection: projection,\r\n tileGrid: new ol.tilegrid.WMTS({\r\n origin: ol.extent.getTopLeft(projectionExtent),\r\n resolutions: resolutions,\r\n matrixIds: matrixIds,\r\n version: (params['version'] ? params['version'] : '1.0.0'),\r\n dimensions: (params['dimensions'] ? params['dimensions'] : undefined)\r\n }),\r\n style: (params['style'] ? params['style'] : 'default'),\r\n wrapX: false\r\n })\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建XYZ图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createXYZLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Tile)) {\r\n layer = null\r\n } else if (this.map && (layer instanceof ol.layer.Tile) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create']) {\r\n let tileGrid = null\r\n let tileSize = 256\r\n if (params['tileSize'] && typeof params['tileSize'] === 'number') {\r\n tileSize = params['tileSize']\r\n } else if (params['tileGrid'] && params['tileGrid']['tileSize'] && typeof params['tileGrid']['tileSize'] === 'number') {\r\n tileSize = params['tileGrid']['tileSize']\r\n }\r\n let projection = 'EPSG:3857'\r\n if (params['projection']) {\r\n projection = params['projection']\r\n } else if (this.view && this.view instanceof ol.View) {\r\n projection = this.view.getProjection().getCode()\r\n }\r\n if (params['tileGrid'] && params['tileGrid']['resolutions']) {\r\n tileGrid = new ol.tilegrid.TileGrid({\r\n tileSize: tileSize,\r\n origin: (params['tileGrid']['origin'] ? params['tileGrid']['origin'] : undefined),\r\n extent: (params['tileGrid']['extent'] ? params['tileGrid']['extent'] : undefined),\r\n resolutions: params['tileGrid']['resolutions'],\r\n minZoom: ((params['tileGrid']['minZoom'] && typeof params['tileGrid']['minZoom'] === 'number') ? params['tileGrid']['minZoom'] : 0)\r\n })\r\n }\r\n layer = new ol.layer.Tile({\r\n layerName: layerName,\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n source: new ol.source.XYZ({\r\n wrapX: false,\r\n tileGrid: (tileGrid !== null ? tileGrid : undefined),\r\n tileSize: tileSize,\r\n opaque: (params['opaque'] === true) ? params['opaque'] : false, // 图层是否不透明(主题相关)\r\n tilePixelRatio: (params['tilePixelRatio'] ? params['tilePixelRatio'] : 1), // todo 对于高分辨率设备,例如苹果等可能2、3(移动端开发需要注意)\r\n projection: projection,\r\n maxZoom: (params['maxZoom'] ? params['maxZoom'] : 18),\r\n minZoom: (params['minZoom'] ? params['minZoom'] : 0),\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n tileUrlFunction: function (tileCoord) {\r\n let url = (params['layerUrl']).replace('{z}',\r\n (tileCoord[0]).toString()).replace('{x}',\r\n tileCoord[1].toString()).replace('{y}',\r\n (-tileCoord[2] - 1).toString())\r\n return url\r\n }\r\n })\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建OSM图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createOSMLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Tile)) {\r\n layer = null\r\n } else if (this.map && (layer instanceof ol.layer.Tile) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params['create']) {\r\n layer = new ol.layer.Tile({\r\n layerName: layerName,\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n source: new ol.source.OSM({\r\n wrapX: false,\r\n opaque: (params['opaque'] === false) ? params['opaque'] : true, // 图层是否不透明(主题相关)\r\n url: params['layerUrl'] ? params['layerUrl'] : 'https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png',\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined)\r\n })\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建Mapbox矢量图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createMapboxVectorTileLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Tile)) {\r\n layer = null\r\n } else if (this.map && (layer instanceof ol.layer.Tile) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create']) {\r\n let tileGrid = null\r\n let tileSize = 256\r\n if (params['tileSize'] && typeof params['tileSize'] === 'number') {\r\n tileSize = params['tileSize']\r\n } else if (params['tileGrid'] && params['tileGrid']['tileSize'] && typeof params['tileGrid']['tileSize'] === 'number') {\r\n tileSize = params['tileGrid']['tileSize']\r\n }\r\n let projection = 'EPSG:3857'\r\n if (params['projection']) {\r\n projection = params['projection']\r\n } else if (this.view && this.view instanceof ol.View) {\r\n projection = this.view.getProjection().getCode()\r\n }\r\n if (params['tileGrid']) {\r\n /* eslint new-cap: [\"error\", { \"newIsCap\": false }] */\r\n tileGrid = new ol.tilegrid.createXYZ({\r\n tileSize: tileSize,\r\n extent: (params['tileGrid']['extent'] ? params['tileGrid']['extent'] : undefined),\r\n minZoom: ((params['tileGrid']['minZoom'] && typeof params['tileGrid']['minZoom'] === 'number') ? params['tileGrid']['minZoom'] : 0),\r\n maxZoom: ((params['tileGrid']['maxZoom'] && typeof params['tileGrid']['maxZoom'] === 'number') ? params['tileGrid']['maxZoom'] : 22)\r\n })\r\n }\r\n layer = new ol.layer.VectorTile({\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n renderBuffer: ((params['renderBuffer'] && (typeof params['renderBuffer'] === 'number')) ? params['renderBuffer'] : 100),\r\n renderMode: (params['renderMode'] ? params['renderMode'] : 'hybrid'), // 渲染方式image,hybrid,vector,性能由高到低\r\n extent: (params['extent'] ? params['extent'] : undefined),\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n minResolution: ((params['minResolution'] && typeof params['minResolution'] === 'number') ? params['minResolution'] : undefined),\r\n maxResolution: ((params['maxResolution'] && typeof params['maxResolution'] === 'number') ? params['maxResolution'] : undefined),\r\n preload: ((params['preload'] && typeof params['preload'] === 'number') ? params['preload'] : 0),\r\n source: new ol.source.VectorTile({\r\n format: new ol.format.MVT(),\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n projection: projection,\r\n overlaps: (params['overlaps'] ? params['overlaps'] : true),\r\n tileGrid: ((tileGrid && tileGrid instanceof ol.tilegrid.TileGrid) ? tileGrid : undefined),\r\n tilePixelRatio: ((params['tilePixelRatio'] && typeof params['tilePixelRatio'] === 'number') ? params['tilePixelRatio'] : 1),\r\n url: params['layerUrl'],\r\n wrapX: false\r\n }),\r\n style: MapboxStyle.createMapboxStreetsV6Style()\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建图片类型图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createImageLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Image)) {\r\n layer = null\r\n } else if (this.map && (layer instanceof ol.layer.Image) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create']) {\r\n let source = this.getImagesSource(params)\r\n layer = new ol.layer.Image({\r\n layerName: layerName,\r\n extent: (params['extent'] ? params['extent'] : undefined),\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n source: source\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取影像图层源\r\n * @param params\r\n * @returns {*}\r\n */\r\n getImagesSource (params) {\r\n let source = null\r\n let projection = new ol.proj.Projection({\r\n code: (params['projection'] ? params['projection'] : 'EPSG:3857'),\r\n units: 'm',\r\n axisOrientation: 'neu'\r\n })\r\n switch (params['sourceType']) {\r\n case 'ImageStatic':\r\n source = new ol.source.ImageStatic({\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n imageExtent: params['imageExtent'],\r\n projection: projection,\r\n imageSize: (params['imageSize'] ? params['imageSize'] : undefined),\r\n url: params['layerUrl'],\r\n wrapX: false\r\n })\r\n break\r\n case 'ImageWMS':\r\n source = new ol.source.ImageWMS({\r\n url: params['layerUrl'],\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n params: {\r\n LAYERS: params['layers'], // require\r\n STYLES: params['style'] ? params['style'] : '',\r\n TYPE: params['type'] ? params['type'] : '',\r\n VERSION: params['version'] ? params['version'] : '1.3.0',\r\n WIDTH: params['width'] ? params['width'] : 256,\r\n HEIGHT: params['height'] ? params['height'] : 256,\r\n SRS: (params['srs'] ? params['srs'] : 'EPSG:3857'),\r\n CRS: (params['srs'] ? params['srs'] : 'EPSG:3857'),\r\n REQUEST: 'GetMap',\r\n TRANSPARENT: true,\r\n TILED: (params['tiled'] === false) ? params['tiled'] : true,\r\n TILESORIGIN: (params['tiledsorrigin'] ? params['tiledsorrigin'] : undefined),\r\n SERVICE: 'WMS',\r\n FORMAT: (params['format'] ? params['format'] : 'image/png'),\r\n VIEWPARAMS: (params['viewparams'] ? params['viewparams'] : '')\r\n },\r\n wrapX: false\r\n })\r\n break\r\n case 'Raster':\r\n source = new ol.source.Raster()\r\n break\r\n case 'ImageMapGuide':\r\n source = new ol.source.ImageMapGuide({\r\n url: params['layerUrl'],\r\n wrapX: false,\r\n displayDpi: ((params['displayDpi'] && (typeof params['displayDpi'] === 'number')) ? params['displayDpi'] : 96),\r\n metersPerUnit: ((params['metersPerUnit'] && (typeof params['metersPerUnit'] === 'number')) ? params['metersPerUnit'] : 1),\r\n hidpi: ((params['hidpi'] && (typeof params['hidpi'] === 'boolean')) ? params['hidpi'] : true),\r\n useOverlay: ((params['useOverlay'] && (typeof params['useOverlay'] === 'boolean')) ? params['useOverlay'] : undefined),\r\n projection: (params['projection'] ? params['projection'] : 'EPSG:3857'),\r\n ratio: ((params['ratio'] && (typeof params['ratio'] === 'number')) ? params['ratio'] : 1),\r\n resolutions: ((params['resolutions'] && Array.isArray(params['resolutions'])) ? params['resolutions'] : undefined),\r\n imageLoadFunction: ((params['imageLoadFunction'] && (typeof params['imageLoadFunction'] === 'function')) ? params['imageLoadFunction'] : undefined),\r\n params: ((params['params'] && (typeof params['params'] === 'object')) ? params['params'] : undefined)\r\n })\r\n break\r\n case 'ImageCanvas':\r\n source = new ol.source.ImageCanvas({\r\n projection: (params['projection'] ? params['projection'] : 'EPSG:3857'),\r\n ratio: ((params['ratio'] && (typeof params['ratio'] === 'number')) ? params['ratio'] : 1),\r\n resolutions: ((params['resolutions'] && Array.isArray(params['resolutions'])) ? params['resolutions'] : undefined),\r\n canvasFunction: params['canvasFunction'],\r\n state: (params['state'] ? params['state'] : undefined),\r\n wrapX: false\r\n })\r\n break\r\n case 'ImageArcGISRest':\r\n source = new ol.source.ImageArcGISRest({\r\n url: params['layerUrl'],\r\n hidpi: ((params['hidpi'] && (typeof params['hidpi'] === 'boolean')) ? params['hidpi'] : true),\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n projection: (params['projection'] ? params['projection'] : 'EPSG:3857'),\r\n ratio: ((params['ratio'] && (typeof params['ratio'] === 'number')) ? params['ratio'] : 1),\r\n resolutions: ((params['resolutions'] && Array.isArray(params['resolutions'])) ? params['resolutions'] : undefined),\r\n imageLoadFunction: ((params['imageLoadFunction'] && (typeof params['imageLoadFunction'] === 'function')) ? params['imageLoadFunction'] : undefined),\r\n params: ((params['params'] && (typeof params['params'] === 'object')) ? params['params'] : undefined),\r\n wrapX: false\r\n })\r\n break\r\n default:\r\n console.log('sourceType类型未传!')\r\n return false\r\n }\r\n return source\r\n }\r\n\r\n /**\r\n * 移除图层\r\n * @param layerName\r\n */\r\n removeLayerByLayerName (layerName) {\r\n if (this.map) {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (layer && !layer.get('isBaseLayer')) {\r\n this.map.removeLayer(layer)\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerName移除专题图层\r\n * @param layerName\r\n */\r\n removeTileLayerByLayerName (layerName) {\r\n if (this.map) {\r\n let layer = this.getTitleLayerByLayerName(layerName)\r\n if (layer && layer instanceof ol.layer.Tile) {\r\n this.map.removeLayer(layer)\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 移除所有图层(除底图)\r\n */\r\n removeAllLayer () {\r\n if (this.map) {\r\n let layers = this.map.getLayers().getArray()\r\n layers.forEach(layer => {\r\n if (!layer.get('isBaseLayer')) {\r\n this.map.removeLayer(layer)\r\n }\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 调整当前要素范围\r\n * @param extent\r\n * @returns {*}\r\n */\r\n adjustExtent (extent) {\r\n if (this.map) {\r\n let width = ol.extent.getWidth(extent)\r\n let adjust = 0.2\r\n if (width < 0.05) {\r\n let bleft = ol.extent.getBottomLeft(extent) // 获取xmin,ymin\r\n let tright = ol.extent.getTopRight(extent) // 获取xmax,ymax\r\n let xmin = bleft[0] - adjust\r\n let ymin = bleft[1] - adjust\r\n let xmax = tright[0] + adjust\r\n let ymax = tright[1] + adjust\r\n extent = ol.extent.buffer([xmin, ymin, xmax, ymax], adjust)\r\n }\r\n return extent\r\n }\r\n }\r\n\r\n /**\r\n * 缩放到当前范围\r\n * @param extent\r\n * @param isanimation\r\n * @param duration\r\n */\r\n zoomToExtent (extent, isanimation, duration) {\r\n if (this.map) {\r\n let view = this.map.getView()\r\n let size = this.map.getSize()\r\n /**\r\n * @type {ol.Coordinate} center The center of the view.\r\n */\r\n let center = ol.extent.getCenter(extent)\r\n if (!isanimation) {\r\n view.fit(extent, size, {\r\n padding: [350, 200, 200, 350]\r\n })\r\n view.setCenter(center)\r\n } else {\r\n if (!duration) {\r\n duration = 800\r\n view.animate({\r\n center: center,\r\n duration: duration\r\n })\r\n view.fit(extent, {\r\n size: size,\r\n duration: duration\r\n })\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default Layer\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layer/Layer.js","import {ol} from '../constants'\r\nclass Style {\r\n /**\r\n * 获取点样式\r\n * @param options\r\n * @returns {ol.style.Style}\r\n */\r\n getStyleByPoint (options) {\r\n let style = null\r\n if (!options) {\r\n style = new ol.style.Style({\r\n image: new ol.style.Icon({\r\n anchor: [0.5, 1],\r\n anchorXUnits: 'fraction',\r\n anchorYUnits: 'fraction',\r\n opacity: 0.75,\r\n src: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAA6GWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICAgICAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTUtMTEtMDNUMTE6MjU6MzcrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE1LTExLTAzVDExOjI1OjM3KzA4OjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNS0xMS0wM1QxMToyNTozNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NGIzODJiN2QtODBkNi00YmYzLTkwOTktOWYyMTZhOTAyNzUyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZiZDY2Yzk5LWM5ZjYtNDBkOS05NzY0LWJkYTA1YmI5NWFmZjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmZiZDY2Yzk5LWM5ZjYtNDBkOS05NzY0LWJkYTA1YmI5NWFmZjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmYmQ2NmM5OS1jOWY2LTQwZDktOTc2NC1iZGEwNWJiOTVhZmY8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMTEtMDNUMTE6MjU6MzcrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoTWFjaW50b3NoKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NGIzODJiN2QtODBkNi00YmYzLTkwOTktOWYyMTZhOTAyNzUyPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE1LTExLTAzVDExOjI1OjM3KzA4OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHBob3Rvc2hvcDpJQ0NQcm9maWxlPnNSR0IgSUVDNjE5NjYtMi4xPC9waG90b3Nob3A6SUNDUHJvZmlsZT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MjA8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzA8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PjRRCfkAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAXBJREFUeNqs1TFrFEEUB/DfDWIlBISx9QMErO9bbBpJoQloISZVIjZWWomFYB3sRItTPJjKTxCYKoWkUZvYBY8IQkgRiGczyHG3FzZ386+W9/b9eFPsbE9LRk3/Bu6jwR3cKq1f+IqE9zHl0+nZ3hTUwyO8xE2X5zee4W1MeTwDjpr+dbzDuqtlgM2Y8vl/sGw2wF2L5RPWY8rjUApbS2DK7Bb0Rk1/BT+xYrn8we2AjQqYYmwErKmXtYDViuBqQKwIxoCLiuBFwHFF8DjgoCJ4EPCxIjgI+IyjCtgRhqF81NsVwO2Y8nmAmPIXvFgCe16MmftwF68ROkJ/8TSm/Kb1gi3ovXIvhg7YZkz5w2RxZqi8sNNhu51prHXDiU33yu+gLXsx5cdtjcuOtYsfLfXveDJvaC4YUz7Dg5bWw9Jz1Q3FlPcxnCgNS81CYMmrOc+LZ9T0D0dN/7DLu9c6mgnjmuB+19N0Bb/VBk+6gv8GAHn5ZfPg+9pTAAAAAElFTkSuQmCC'\r\n })\r\n })\r\n } else {\r\n style = new ol.style.Style({})\r\n if (options['stroke'] && this._getStroke(options['stroke'])) {\r\n style.setStroke(this._getStroke(options['stroke']))\r\n }\r\n if (options['text'] && this._getText(options['text'])) {\r\n style.setText(this._getText(options['text']))\r\n }\r\n if (options['fill'] && this._getFill(options['fill'])) {\r\n style.setFill(this._getFill(options['fill']))\r\n }\r\n if (options['icon']) {\r\n style.setImage(this._getImage(options['icon']))\r\n }\r\n }\r\n return style\r\n }\r\n\r\n /**\r\n * 获取线样式\r\n * @param options\r\n * @returns {ol.style.Style}\r\n */\r\n getStyleByLine (options) {\r\n let style = null\r\n if (!options) {\r\n style = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n width: 4,\r\n color: '#0000EE'\r\n })\r\n })\r\n } else {\r\n style = new ol.style.Style({})\r\n if (options['stroke'] && this._getStroke(options['stroke'])) {\r\n style.setStroke(this._getStroke(options['stroke']))\r\n }\r\n if (options['text'] && this._getText(options['text'])) {\r\n style.setText(this._getText(options['text']))\r\n }\r\n if (options['fill'] && this._getFill(options['fill'])) {\r\n style.setFill(this._getFill(options['fill']))\r\n }\r\n }\r\n return style\r\n }\r\n\r\n /**\r\n * 获取面样式\r\n * @param options\r\n * @returns {ol.style.Style}\r\n */\r\n getStyleByPolygon (options) {\r\n let style = null\r\n if (!options) {\r\n style = new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(67, 110, 238, 0.4)'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#4781d9',\r\n width: 2\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33'\r\n })\r\n })\r\n })\r\n } else {\r\n style = new ol.style.Style({})\r\n if (options['stroke'] && this._getStroke(options['stroke'])) {\r\n style.setStroke(this._getStroke(options['stroke']))\r\n }\r\n if (options['text'] && this._getText(options['text'])) {\r\n style.setText(this._getText(options['text']))\r\n }\r\n if (options['fill'] && this._getFill(options['fill'])) {\r\n style.setFill(this._getFill(options['fill']))\r\n }\r\n }\r\n return style\r\n }\r\n\r\n /**\r\n * 根据params获取样式信息\r\n * @param options\r\n * @returns {*}\r\n */\r\n getStyleByParams (options) {\r\n try {\r\n let style = null\r\n if (typeof options === 'function') {\r\n style = options\r\n } else {\r\n if (!options) {\r\n style = new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(67, 110, 238, 0.4)'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#4781d9',\r\n width: 2\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33'\r\n })\r\n })\r\n })\r\n } else {\r\n style = new ol.style.Style({})\r\n if (options['stroke'] && this._getStroke(options['stroke'])) {\r\n style.setStroke(this._getStroke(options['stroke']))\r\n }\r\n if (options['text'] && this._getText(options['text'])) {\r\n style.setText(this._getText(options['text']))\r\n }\r\n if (options['fill'] && this._getFill(options['fill'])) {\r\n style.setFill(this._getFill(options['fill']))\r\n }\r\n if (options['icon']) {\r\n style.setImage(this._getImage(options['icon']))\r\n }\r\n }\r\n }\r\n return style\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 测量工具样式定义\r\n * @param options\r\n * @returns {*}\r\n */\r\n getStyleForMeasure (options) {\r\n try {\r\n let style = null\r\n if (typeof options === 'function') {\r\n style = options\r\n } else {\r\n if (!options) {\r\n style = new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(67, 110, 238, 0.4)'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(242,123,57,1)',\r\n width: 2\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 4,\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(255,0,0,1)',\r\n width: 1\r\n }),\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255,255,255,1)'\r\n })\r\n })\r\n })\r\n } else {\r\n style = new ol.style.Style({})\r\n if (options['stroke'] && this._getStroke(options['stroke'])) {\r\n style.setStroke(this._getStroke(options['stroke']))\r\n }\r\n if (options['text'] && this._getText(options['text'])) {\r\n style.setText(this._getText(options['text']))\r\n }\r\n if (options['fill'] && this._getFill(options['fill'])) {\r\n style.setFill(this._getFill(options['fill']))\r\n }\r\n if (options['regularShape']) {\r\n style.setImage(this._getRegularShape(options['regularShape']))\r\n }\r\n if (options['circle']) {\r\n style.setImage(this._getRegularCircle(options['circle']))\r\n }\r\n }\r\n }\r\n return style\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 获取规则样式图形\r\n * @param options\r\n * @private\r\n */\r\n _getRegularShape (options) {\r\n try {\r\n let regularShape = new ol.style.RegularShape({\r\n fill: (this._getFill(options['fill']) || undefined),\r\n points: ((options['points'] && typeof options['points'] === 'number') ? options['points'] : 1),\r\n radius: ((options['radius'] && typeof options['radius'] === 'number') ? options['radius'] : undefined),\r\n radius1: ((options['radius1'] && typeof options['radius1'] === 'number') ? options['radius1'] : undefined),\r\n radius2: ((options['radius2'] && typeof options['radius2'] === 'number') ? options['radius2'] : undefined),\r\n angle: ((options['angle'] && typeof options['angle'] === 'number') ? options['angle'] : 0),\r\n snapToPixel: ((options['snapToPixel'] && typeof options['snapToPixel'] === 'boolean') ? options['snapToPixel'] : true),\r\n stroke: (this._getStroke(options['stroke']) || undefined),\r\n rotation: ((options['rotation'] && typeof options['rotation'] === 'number') ? options['rotation'] : 0),\r\n rotateWithView: ((options['rotateWithView'] && typeof options['rotateWithView'] === 'boolean') ? options['rotateWithView'] : false)\r\n })\r\n if (regularShape && regularShape instanceof ol.style.RegularShape) {\r\n return regularShape\r\n } else {\r\n return false\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取○样式\r\n * @param options\r\n * @private\r\n */\r\n _getRegularCircle (options) {\r\n try {\r\n let circle = new ol.style.Circle({\r\n fill: new ol.style.Fill({\r\n color: (options['fill'] && options['fill']['fillColor'] ? options['fill']['fillColor'] : 'rgba(255,255,255,1)')\r\n }),\r\n radius: ((options['circleRadius'] && typeof options['circleRadius'] === 'number') ? options['circleRadius'] : 0),\r\n stroke: new ol.style.Stroke({\r\n color: (options['stroke'] && options['stroke']['strokeColor'] ? options['stroke']['strokeColor'] : 'rgba(255,0,0,1)'),\r\n width: (options['stroke'] && options['stroke']['strokeWidth'] ? options['stroke']['strokeWidth'] : 1)\r\n })\r\n })\r\n if (circle && circle instanceof ol.style.Circle) {\r\n return circle\r\n } else {\r\n return false\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取图标样式\r\n * @param options\r\n * @returns {*}\r\n * @private\r\n */\r\n _getImage (options) {\r\n try {\r\n let icon = new ol.style.Icon({\r\n anchor: (options['imageAnchor'] ? options['imageAnchor'] : [0.5, 0.5]),\r\n anchorXUnits: (options['imageAnchorXUnits'] ? options['imageAnchorXUnits'] : 'fraction'),\r\n anchorYUnits: (options['imageAnchorYUnits'] ? options['imageAnchorYUnits'] : 'fraction'),\r\n anchorOrigin: (options['imageAnchorOrigin'] ? options['imageAnchorYUnits'] : 'top-left'),\r\n color: (options['imageColor'] ? options['imageColor'] : undefined),\r\n crossOrigin: (options['crossOrigin'] ? options['crossOrigin'] : undefined),\r\n img: (options['img'] ? options['img'] : undefined),\r\n offset: (options['offset'] && Array.isArray(options['offset']) && options['offset'].length === 2 ? options['offset'] : [0, 0]),\r\n offsetOrigin: (options['offsetOrigin'] ? options['offsetOrigin'] : 'top-left'),\r\n scale: ((options['scale'] && typeof options['scale'] === 'number') ? options['scale'] : 1),\r\n rotateWithView: (options['rotateWithView'] === true ? options['rotateWithView'] : false),\r\n opacity: (options['imageOpacity'] ? options['imageOpacity'] : 1),\r\n rotation: (options['rotation'] && typeof options['rotation'] === 'number' ? options['rotation'] : 0),\r\n size: (options['size'] && Array.isArray(options['size']) && options['size'].length === 2 ? options['size'] : undefined),\r\n imgSize: (options['imgSize'] && Array.isArray(options['imgSize']) && options['imgSize'].length === 2 ? options['imgSize'] : undefined),\r\n src: (options['imageSrc'] ? options['imageSrc'] : 1)\r\n })\r\n if (icon && icon instanceof ol.style.Icon) {\r\n return icon\r\n } else {\r\n return false\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取线条样式\r\n * @param options\r\n * @returns {ol.style.Stroke}\r\n * @private\r\n */\r\n _getStroke (options) {\r\n try {\r\n let stroke = new ol.style.Stroke({\r\n color: (options['strokeColor'] ? options['strokeColor'] : undefined),\r\n lineCap: (options['strokeLineCap'] ? options['strokeLineCap'] : 'round'),\r\n lineJoin: (options['strokeLineJoin'] ? options['strokeLineJoin'] : 'round'),\r\n lineDash: (options['strokeLineDash'] ? options['strokeLineDash'] : undefined),\r\n lineDashOffset: (options['strokeLineDashOffset'] ? options['strokeLineDashOffset'] : '0'),\r\n miterLimit: (options['strokeMiterLimit'] ? options['strokeMiterLimit'] : 10),\r\n width: (options['strokeWidth'] ? options['strokeWidth'] : undefined)\r\n })\r\n if (stroke && stroke instanceof ol.style.Stroke) {\r\n return stroke\r\n } else {\r\n return false\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 获取样式文本\r\n * @param options\r\n * @returns {ol.style.Text}\r\n * @private\r\n */\r\n _getText (options) {\r\n try {\r\n let text = new ol.style.Text({\r\n font: (options['textFont'] ? options['textFont'] : '10px sans-serif'),\r\n offsetX: (options['textOffsetX'] ? options['textOffsetX'] : 0),\r\n offsetY: (options['textOffsetY'] ? options['textOffsetY'] : 0),\r\n scale: (options['textScale'] ? options['textScale'] : undefined),\r\n rotation: (options['textRotation'] ? options['textRotation'] : 0),\r\n text: (options['text'] ? options['text'] : undefined),\r\n textAlign: (options['textAlign'] ? options['textAlign'] : 'start'),\r\n textBaseline: (options['textBaseline'] ? options['textBaseline'] : 'alphabetic')\r\n })\r\n if (options['textFill']) {\r\n text.setFill(this._getFill(options['textFill']))\r\n }\r\n if (options['textStroke']) {\r\n text.setStroke(this._getStroke(options['textStroke']))\r\n }\r\n if (text && text instanceof ol.style.Text) {\r\n return text\r\n } else {\r\n return false\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 获取填充颜色\r\n * @param options\r\n * @returns {ol.style.Fill}\r\n * @private\r\n */\r\n _getFill (options) {\r\n try {\r\n let fill = new ol.style.Fill({\r\n color: (options['fillColor'] ? options['fillColor'] : undefined)\r\n })\r\n if (fill && fill instanceof ol.style.Fill) {\r\n return fill\r\n } else {\r\n return false\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n}\r\n\r\nexport default Style\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/style/Style.js","/**\r\n * 获取两数值之间的随机值\r\n * @param t1 <下限>\r\n * @param t2 <上限>\r\n * @param t3 <需要保留的小数位, 不能大于十五位>\r\n * @returns {*}\r\n */\r\nexport const getrandom = (t1, t2, t3) => {\r\n if (!t1 || isNaN(t1)) {\r\n t1 = 0\r\n }\r\n if (!t2 || isNaN(t2)) {\r\n t2 = 1\r\n }\r\n if (!t3 || isNaN(t3)) {\r\n t3 = 0\r\n }\r\n t3 = t3 > 15 ? 15 : t3\r\n let [ra, du] = [(Math.random() * (t2 - t1) + t1), (Math.pow(10, t3))]\r\n ra = (Math.round(ra * du) / du)\r\n return ra\r\n}\r\n\r\n/**\r\n * 获取id\r\n * @returns {*|string|!Array.}\r\n */\r\nexport const getuuid = () => {\r\n let [ s, hexDigits ] = [ [], '0123456789abcdef' ]\r\n for (let i = 0; i < 36; i++) {\r\n s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1)\r\n }\r\n s[14] = '4'\r\n s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1)\r\n s[8] = s[13] = s[18] = s[23] = '-'\r\n return (s.join(''))\r\n}\r\n\r\n/**\r\n * 添加标识\r\n * @param obj\r\n * @returns {*}\r\n */\r\nexport const stamp = function (obj) {\r\n let key = '_p_id_'\r\n obj[key] = obj[key] || (getuuid())\r\n return obj[key]\r\n}\r\n\r\n/**\r\n * 去除字符串前后空格\r\n * @param str\r\n * @returns {*}\r\n */\r\nexport const trim = (str) => {\r\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '')\r\n}\r\n\r\n/**\r\n * 将类名截取成数组\r\n * @param str\r\n * @returns {Array|*}\r\n */\r\nexport const splitWords = (str) => {\r\n return trim(str).split(/\\s+/)\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/utils.js","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables')\n , ArrayProto = Array.prototype;\nif(ArrayProto[UNSCOPABLES] == undefined)require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function(key){\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_add-to-unscopables.js\n// module id = 51\n// module chunks = 0","var ctx = require('./_ctx')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , anObject = require('./_an-object')\n , toLength = require('./_to-length')\n , getIterFn = require('./core.get-iterator-method')\n , BREAK = {}\n , RETURN = {};\nvar exports = module.exports = function(iterable, entries, fn, that, ITERATOR){\n var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable)\n , f = ctx(fn, that, entries ? 2 : 1)\n , index = 0\n , length, step, iterator, result;\n if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if(result === BREAK || result === RETURN)return result;\n } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){\n result = call(iterator, f, step.value, entries);\n if(result === BREAK || result === RETURN)return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_for-of.js\n// module id = 52\n// module chunks = 0","module.exports = {};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iterators.js\n// module id = 53\n// module chunks = 0","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_set-to-string-tag.js\n// module id = 54\n// module chunks = 0","var $export = require('./_export')\n , defined = require('./_defined')\n , fails = require('./_fails')\n , spaces = require('./_string-ws')\n , space = '[' + spaces + ']'\n , non = '\\u200b\\u0085'\n , ltrim = RegExp('^' + space + space + '*')\n , rtrim = RegExp(space + space + '*$');\n\nvar exporter = function(KEY, exec, ALIAS){\n var exp = {};\n var FORCE = fails(function(){\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if(ALIAS)exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function(string, TYPE){\n string = String(defined(string));\n if(TYPE & 1)string = string.replace(ltrim, '');\n if(TYPE & 2)string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-trim.js\n// module id = 55\n// module chunks = 0","export default function(x) {\n if (Math.abs(x) > 1) {\n x = (x > 1) ? 1 : -1;\n }\n return Math.asin(x);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/asinz.js\n// module id = 56\n// module chunks = 0","export default function(eccent, sinphi, cosphi) {\n var con = eccent * sinphi;\n return cosphi / (Math.sqrt(1 - con * con));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/msfnz.js\n// module id = 57\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof')\n , TAG = require('./_wks')('toStringTag')\n // ES3 wrong here\n , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function(it, key){\n try {\n return it[key];\n } catch(e){ /* empty */ }\n};\n\nmodule.exports = function(it){\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_classof.js\n// module id = 58\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iobject.js\n// module id = 59\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-pie.js\n// module id = 60\n// module chunks = 0","import {HALF_PI} from '../constants/values';\nimport sign from './sign';\n\nexport default function(x) {\n return (Math.abs(x) < HALF_PI) ? x : (x - (sign(x) * Math.PI));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/adjust_lat.js\n// module id = 61\n// module chunks = 0","export default function(x) {\n return x<0 ? -1 : 1;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/sign.js\n// module id = 62\n// module chunks = 0","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 进攻方向\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass AttackArrow extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.ATTACK_ARROW\r\n this.headHeightFactor = 0.18\r\n this.headWidthFactor = 0.3\r\n this.neckHeightFactor = 0.85\r\n this.neckWidthFactor = 0.15\r\n this.headTailFactor = 0.8\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let points = this.getPointCount()\r\n if (points < 2) {\r\n return false\r\n } else if (points === 2) {\r\n this.setCoordinates([this.points])\r\n } else {\r\n let pnts = this.getPoints()\r\n let [tailLeft, tailRight] = [pnts[0], pnts[1]]\r\n if (PlotUtils.isClockWise(pnts[0], pnts[1], pnts[2])) {\r\n tailLeft = pnts[1]\r\n tailRight = pnts[0]\r\n }\r\n let midTail = PlotUtils.Mid(tailLeft, tailRight)\r\n let bonePnts = [midTail].concat(pnts.slice(2))\r\n let headPnts = this.getArrowHeadPoints(bonePnts, tailLeft, tailRight)\r\n let [neckLeft, neckRight] = [headPnts[0], headPnts[4]]\r\n let tailWidthFactor = PlotUtils.MathDistance(tailLeft, tailRight) / PlotUtils.getBaseLength(bonePnts)\r\n let bodyPnts = this.getArrowBodyPoints(bonePnts, neckLeft, neckRight, tailWidthFactor)\r\n let count = bodyPnts.length\r\n let leftPnts = [tailLeft].concat(bodyPnts.slice(0, count / 2))\r\n leftPnts.push(neckLeft)\r\n let rightPnts = [tailRight].concat(bodyPnts.slice(count / 2, count))\r\n rightPnts.push(neckRight)\r\n leftPnts = PlotUtils.getQBSplinePoints(leftPnts)\r\n rightPnts = PlotUtils.getQBSplinePoints(rightPnts)\r\n this.setCoordinates([leftPnts.concat(headPnts, rightPnts.reverse())])\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 插值箭形上的点\r\n * @param pnt1\r\n * @param pnt2\r\n * @param pnt3\r\n * @param clockWise\r\n * @returns {Array.}\r\n */\r\n getArrowPoints (pnt1, pnt2, pnt3, clockWise) {\r\n let midPnt = PlotUtils.Mid(pnt1, pnt2)\r\n let len = PlotUtils.MathDistance(midPnt, pnt3)\r\n let midPnt1 = PlotUtils.getThirdPoint(pnt3, midPnt, 0, len * 0.3, true)\r\n let midPnt2 = PlotUtils.getThirdPoint(pnt3, midPnt, 0, len * 0.5, true)\r\n midPnt1 = PlotUtils.getThirdPoint(midPnt, midPnt1, Constants.HALF_PI, len / 5, clockWise)\r\n midPnt2 = PlotUtils.getThirdPoint(midPnt, midPnt2, Constants.HALF_PI, len / 4, clockWise)\r\n let points = [midPnt, midPnt1, midPnt2, pnt3]\r\n let arrowPnts = this.getArrowHeadPoints(points)\r\n if (arrowPnts && Array.isArray(arrowPnts) && arrowPnts.length > 0) {\r\n let [neckLeftPoint, neckRightPoint] = [arrowPnts[0], arrowPnts[4]]\r\n let tailWidthFactor = PlotUtils.MathDistance(pnt1, pnt2) / PlotUtils.getBaseLength(points) / 2\r\n let bodyPnts = this.getArrowBodyPoints(points, neckLeftPoint, neckRightPoint, tailWidthFactor)\r\n if (bodyPnts) {\r\n let n = bodyPnts.length\r\n let lPoints = bodyPnts.slice(0, n / 2)\r\n let rPoints = bodyPnts.slice(n / 2, n)\r\n lPoints.push(neckLeftPoint)\r\n rPoints.push(neckRightPoint)\r\n lPoints = lPoints.reverse()\r\n lPoints.push(pnt2)\r\n rPoints = rPoints.reverse()\r\n rPoints.push(pnt1)\r\n return (lPoints.reverse().concat(arrowPnts, rPoints))\r\n }\r\n } else {\r\n throw new Error('插值出错')\r\n }\r\n }\r\n\r\n /**\r\n * 插值头部点\r\n * @param points\r\n * @returns {[*,*,*,*,*]}\r\n */\r\n getArrowHeadPoints (points, tailLeft, tailRight) {\r\n try {\r\n let len = PlotUtils.getBaseLength(points)\r\n let headHeight = len * this.headHeightFactor\r\n let headPnt = points[points.length - 1]\r\n len = PlotUtils.MathDistance(headPnt, points[points.length - 2])\r\n let tailWidth = PlotUtils.MathDistance(tailLeft, tailRight)\r\n if (headHeight > tailWidth * this.headTailFactor) {\r\n headHeight = tailWidth * this.headTailFactor\r\n }\r\n let headWidth = headHeight * this.headWidthFactor\r\n let neckWidth = headHeight * this.neckWidthFactor\r\n headHeight = headHeight > len ? len : headHeight\r\n let neckHeight = headHeight * this.neckHeightFactor\r\n let headEndPnt = PlotUtils.getThirdPoint(points[points.length - 2], headPnt, 0, headHeight, true)\r\n let neckEndPnt = PlotUtils.getThirdPoint(points[points.length - 2], headPnt, 0, neckHeight, true)\r\n let headLeft = PlotUtils.getThirdPoint(headPnt, headEndPnt, Constants.HALF_PI, headWidth, false)\r\n let headRight = PlotUtils.getThirdPoint(headPnt, headEndPnt, Constants.HALF_PI, headWidth, true)\r\n let neckLeft = PlotUtils.getThirdPoint(headPnt, neckEndPnt, Constants.HALF_PI, neckWidth, false)\r\n let neckRight = PlotUtils.getThirdPoint(headPnt, neckEndPnt, Constants.HALF_PI, neckWidth, true)\r\n return [neckLeft, headLeft, headPnt, headRight, neckRight]\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 插值面部分数据\r\n * @param points\r\n * @param neckLeft\r\n * @param neckRight\r\n * @param tailWidthFactor\r\n * @returns {Array.<*>}\r\n */\r\n getArrowBodyPoints (points, neckLeft, neckRight, tailWidthFactor) {\r\n let allLen = PlotUtils.wholeDistance(points)\r\n let len = PlotUtils.getBaseLength(points)\r\n let tailWidth = len * tailWidthFactor\r\n let neckWidth = PlotUtils.MathDistance(neckLeft, neckRight)\r\n let widthDif = (tailWidth - neckWidth) / 2\r\n let [tempLen, leftBodyPnts, rightBodyPnts] = [0, [], []]\r\n for (let i = 1; i < points.length - 1; i++) {\r\n let angle = PlotUtils.getAngleOfThreePoints(points[i - 1], points[i], points[i + 1]) / 2\r\n tempLen += PlotUtils.MathDistance(points[i - 1], points[i])\r\n let w = (tailWidth / 2 - tempLen / allLen * widthDif) / Math.sin(angle)\r\n let left = PlotUtils.getThirdPoint(points[i - 1], points[i], Math.PI - angle, w, true)\r\n let right = PlotUtils.getThirdPoint(points[i - 1], points[i], angle, w, false)\r\n leftBodyPnts.push(left)\r\n rightBodyPnts.push(right)\r\n }\r\n return leftBodyPnts.concat(rightBodyPnts)\r\n }\r\n\r\n /**\r\n * 获取对称点\r\n * @param linePnt1\r\n * @param linePnt2\r\n * @param point\r\n * @returns {*}\r\n */\r\n getTempPoint4 (linePnt1, linePnt2, point) {\r\n try {\r\n let midPnt = PlotUtils.Mid(linePnt1, linePnt2)\r\n let len = PlotUtils.MathDistance(midPnt, point)\r\n let angle = PlotUtils.getAngleOfThreePoints(linePnt1, midPnt, point)\r\n let [symPnt, distance1, distance2, mid] = [undefined, undefined, undefined, undefined]\r\n if (angle < Constants.HALF_PI) {\r\n distance1 = len * Math.sin(angle)\r\n distance2 = len * Math.cos(angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, false)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, true)\r\n } else if (angle >= Constants.HALF_PI && angle < Math.PI) {\r\n distance1 = len * Math.sin(Math.PI - angle)\r\n distance2 = len * Math.cos(Math.PI - angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, false)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, false)\r\n } else if (angle >= Math.PI && angle < Math.PI * 1.5) {\r\n distance1 = len * Math.sin(angle - Math.PI)\r\n distance2 = len * Math.cos(angle - Math.PI)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, true)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, true)\r\n } else {\r\n distance1 = len * Math.sin(Math.PI * 2 - angle)\r\n distance2 = len * Math.cos(Math.PI * 2 - angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, true)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, false)\r\n }\r\n return symPnt\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default AttackArrow\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/AttackArrow.js","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-includes.js\n// module id = 64\n// module chunks = 0","'use strict';\nvar global = require('./_global')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , redefineAll = require('./_redefine-all')\n , meta = require('./_meta')\n , forOf = require('./_for-of')\n , anInstance = require('./_an-instance')\n , isObject = require('./_is-object')\n , fails = require('./_fails')\n , $iterDetect = require('./_iter-detect')\n , setToStringTag = require('./_set-to-string-tag')\n , inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){\n var Base = global[NAME]\n , C = Base\n , ADDER = IS_MAP ? 'set' : 'add'\n , proto = C && C.prototype\n , O = {};\n var fixMethod = function(KEY){\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function(a){\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a){\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a){\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){\n new C().entries().next();\n }))){\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C\n // early implementations not supports chaining\n , HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); })\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n , ACCEPT_ITERABLES = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n , BUGGY_ZERO = !IS_WEAK && fails(function(){\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C()\n , index = 5;\n while(index--)$instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if(!ACCEPT_ITERABLES){ \n C = wrapper(function(target, iterable){\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base, target, C);\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER);\n // weak collections should not contains .clear method\n if(IS_WEAK && proto.clear)delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_collection.js\n// module id = 65\n// module chunks = 0","'use strict';\nvar hide = require('./_hide')\n , redefine = require('./_redefine')\n , fails = require('./_fails')\n , defined = require('./_defined')\n , wks = require('./_wks');\n\nmodule.exports = function(KEY, length, exec){\n var SYMBOL = wks(KEY)\n , fns = exec(defined, SYMBOL, ''[KEY])\n , strfn = fns[0]\n , rxfn = fns[1];\n if(fails(function(){\n var O = {};\n O[SYMBOL] = function(){ return 7; };\n return ''[KEY](O) != 7;\n })){\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function(string, arg){ return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function(string){ return rxfn.call(string, this); }\n );\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_fix-re-wks.js\n// module id = 66\n// module chunks = 0","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function(){\n var that = anObject(this)\n , result = '';\n if(that.global) result += 'g';\n if(that.ignoreCase) result += 'i';\n if(that.multiline) result += 'm';\n if(that.unicode) result += 'u';\n if(that.sticky) result += 'y';\n return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_flags.js\n// module id = 67\n// module chunks = 0","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function(fn, args, that){\n var un = that === undefined;\n switch(args.length){\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_invoke.js\n// module id = 68\n// module chunks = 0","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object')\n , cof = require('./_cof')\n , MATCH = require('./_wks')('match');\nmodule.exports = function(it){\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-regexp.js\n// module id = 69\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator')\n , SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function(){ SAFE_CLOSING = true; };\n Array.from(riter, function(){ throw 2; });\n} catch(e){ /* empty */ }\n\nmodule.exports = function(exec, skipClosing){\n if(!skipClosing && !SAFE_CLOSING)return false;\n var safe = false;\n try {\n var arr = [7]\n , iter = arr[ITERATOR]();\n iter.next = function(){ return {done: safe = true}; };\n arr[ITERATOR] = function(){ return iter; };\n exec(arr);\n } catch(e){ /* empty */ }\n return safe;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-detect.js\n// module id = 70\n// module chunks = 0","// Forced replacement prototype accessors methods\nmodule.exports = require('./_library')|| !require('./_fails')(function(){\n var K = Math.random();\n // In FF throws only define methods\n __defineSetter__.call(null, K, function(){ /* empty */});\n delete require('./_global')[K];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-forced-pam.js\n// module id = 71\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gops.js\n// module id = 72\n// module chunks = 0","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_shared.js\n// module id = 73\n// module chunks = 0","var global = require('./_global')\n , hide = require('./_hide')\n , uid = require('./_uid')\n , TYPED = uid('typed_array')\n , VIEW = uid('view')\n , ABV = !!(global.ArrayBuffer && global.DataView)\n , CONSTR = ABV\n , i = 0, l = 9, Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile(i < l){\n if(Typed = global[TypedArrayConstructors[i++]]){\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_typed.js\n// module id = 74\n// module chunks = 0","export default function(x) {\n return (1 - 0.25 * x * (1 + x / 16 * (3 + 1.25 * x)));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/e0fn.js\n// module id = 75\n// module chunks = 0","export default function(x) {\n return (0.375 * x * (1 + 0.25 * x * (1 + 0.46875 * x)));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/e1fn.js\n// module id = 76\n// module chunks = 0","export default function(x) {\n return (0.05859375 * x * x * (1 + 0.75 * x));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/e2fn.js\n// module id = 77\n// module chunks = 0","export default function(x) {\n return (x * x * x * (35 / 3072));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/e3fn.js\n// module id = 78\n// module chunks = 0","export default function(e0, e1, e2, e3, phi) {\n return (e0 * phi - e1 * Math.sin(2 * phi) + e2 * Math.sin(4 * phi) - e3 * Math.sin(6 * phi));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/mlfn.js\n// module id = 79\n// module chunks = 0","import {HALF_PI} from '../constants/values';\n\nexport default function(eccent, ts) {\n var eccnth = 0.5 * eccent;\n var con, dphi;\n var phi = HALF_PI - 2 * Math.atan(ts);\n for (var i = 0; i <= 15; i++) {\n con = eccent * Math.sin(phi);\n dphi = HALF_PI - 2 * Math.atan(ts * (Math.pow(((1 - con) / (1 + con)), eccnth))) - phi;\n phi += dphi;\n if (Math.abs(dphi) <= 0.0000000001) {\n return phi;\n }\n }\n //console.log(\"phi2z has NoConvergence\");\n return -9999;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/phi2z.js\n// module id = 80\n// module chunks = 0","import {HALF_PI} from '../constants/values';\n\nexport default function(eccent, phi, sinphi) {\n var con = eccent * sinphi;\n var com = 0.5 * eccent;\n con = Math.pow(((1 - con) / (1 + con)), com);\n return (Math.tan(0.5 * (HALF_PI - phi)) / con);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/tsfnz.js\n// module id = 81\n// module chunks = 0","/**\r\n * Created by FDD on 2017/2/22.\r\n * @desc 要素相关处理\r\n */\r\nimport { ol } from '../constants'\r\nimport mix from '../utils/mixin'\r\nimport Style from '../style/Style'\r\nimport Layer from '../layer/Layer'\r\n\r\nclass Feature extends mix(Style, Layer) {\r\n constructor (map) {\r\n super()\r\n this.map = map\r\n if (!this.map) {\r\n throw new Error('缺少地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 通过id获取Feature\r\n * @param id\r\n * @returns {*}\r\n */\r\n getFeatureById (id) {\r\n let layers = this.map.getLayers()\r\n let feature = null\r\n layers.forEach(layer => {\r\n if (layer && layer instanceof ol.layer.Vector && layer.getSource() && layer.getSource().getFeatureById) {\r\n feature = layer.getSource().getFeatureById(id)\r\n }\r\n })\r\n return feature\r\n }\r\n\r\n /**\r\n * 通过id和layerName获取Feature\r\n * (若在当前layerName查不到,则查询全部图层)\r\n * @param id\r\n * @param layerName\r\n * @returns {*}\r\n */\r\n getFeatureById2LayerName (id, layerName) {\r\n let feature = null\r\n if (layerName) {\r\n let layer = this.getLayerByName(layerName)\r\n if (layer && layer instanceof ol.layer.Vector) {\r\n feature = layer.getSource().getFeatureById(id)\r\n }\r\n }\r\n if (!feature || !(feature instanceof ol.Feature)) {\r\n feature = this.getFeatureById(id)\r\n }\r\n return feature\r\n }\r\n\r\n /**\r\n * 从属性信息中获取空间信息\r\n * @param point\r\n * @returns {*}\r\n * @private\r\n */\r\n _getGeometryFromPoint (point) {\r\n let geometry = null\r\n if (point instanceof ol.geom.Geometry) {\r\n geometry = point\r\n } else if (Array.isArray(point.geometry)) {\r\n geometry = new ol.geom.Point(point.geometry)\r\n } else {\r\n geometry = new ol.format.WKT().readGeometry(point.geometry)\r\n }\r\n return geometry\r\n }\r\n\r\n /**\r\n * 获取当前范围\r\n * @param multiFeatures\r\n * @private\r\n */\r\n _getExtent (multiFeatures) {\r\n let extent = multiFeatures.getExtent()\r\n let bExtent = true\r\n extent.every(item => {\r\n if (item === Infinity || isNaN(item) || item === undefined || item === null) {\r\n bExtent = false\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n if (bExtent) {\r\n this.zoomToExtent(extent, true)\r\n }\r\n return extent\r\n }\r\n\r\n /**\r\n * 判断点是否在视图内,如果不在地图将自动平移\r\n * @param coordinate (当前点坐标)\r\n */\r\n movePointToView (coordinate) {\r\n if (this.map) {\r\n let extent = this.getMapCurrentExtent()\r\n if (!(ol.extent.containsXY(extent, coordinate[0], coordinate[1]))) {\r\n this.map.getView().animate({\r\n center: [coordinate[0], coordinate[1]],\r\n duration: 400\r\n })\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 设置视图中心点\r\n * @param coordinate (传入坐标)\r\n */\r\n setViewCenter (coordinate) {\r\n if (coordinate && Array.isArray(coordinate) && this.map) {\r\n this.map.getView().animate({\r\n center: coordinate,\r\n duration: 800\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图的范围\r\n * @returns {ol.Extent}\r\n */\r\n getMapCurrentExtent () {\r\n if (this.map) {\r\n return this.map.getView().calculateExtent(this.map.getSize())\r\n }\r\n }\r\n\r\n /**\r\n * 添加单点\r\n * @param point\r\n * @param params\r\n * @returns {ol.Feature|ol.format.Feature|*|ol.render.Feature|Feature}\r\n */\r\n addPoint (point, params) {\r\n try {\r\n let geometry = this._getGeometryFromPoint(point)\r\n let feature = new ol.Feature({\r\n geometry: geometry,\r\n params: params\r\n })\r\n let style = this.getStyleByPoint(point['attributes']['style'] || params['style'])\r\n let selectStyle = this.getStyleByPoint(point['attributes']['selectStyle'] || params['selectStyle'])\r\n if (style && feature) {\r\n feature.setStyle(style)\r\n feature.set('style', style)\r\n if (selectStyle) {\r\n feature.set('selectStyle', selectStyle)\r\n }\r\n }\r\n if (point['attributes'] && (point['attributes']['id'] || point['attributes']['ID'])) {\r\n // let id = (point['attributes']['id'] ? point['attributes']['id'] : (point['attributes']['ID'] ? point['attributes']['ID'] : params['id']))\r\n let id = (point.attributes['id'] || point.attributes['ID'] || params['id'])\r\n feature.setId(id)\r\n feature.setProperties(point['attributes'])\r\n }\r\n if (params['zoomToExtent']) {\r\n let extent = geometry.getExtent()\r\n let _extent = this.adjustExtent(extent)\r\n this.zoomToExtent(_extent, true)\r\n }\r\n if (params['layerName']) {\r\n let layer = this.createVectorLayer(params['layerName'], {\r\n create: true\r\n })\r\n layer.getSource().addFeature(feature)\r\n this.pointLayers.add(params['layerName'])\r\n }\r\n this.orderLayerZindex()\r\n return feature\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加多个点\r\n * @param points\r\n * @param params\r\n */\r\n addPoints (points, params) {\r\n try {\r\n if (points && Array.isArray(points)) {\r\n let [multiPoint, change] = [(new ol.geom.MultiPoint([])), false]\r\n if (params['zoomToExtent']) {\r\n params['zoomToExtent'] = false\r\n change = true\r\n }\r\n points.forEach(point => {\r\n if (point && point['geometry']) {\r\n let pointFeat = this.addPoint(point, params)\r\n if (pointFeat && pointFeat instanceof ol.Feature) {\r\n let geom = pointFeat.getGeometry()\r\n if (geom && geom instanceof ol.geom.Point) {\r\n multiPoint.appendPoint(geom)\r\n } else if (geom && geom instanceof ol.geom.MultiPoint) {\r\n let multiGeoms = geom.getPoints()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.Point) {\r\n multiPoint.appendPoint(_geom)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n }\r\n })\r\n if (change) {\r\n this._getExtent(multiPoint)\r\n }\r\n }\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 设置点的空间信息\r\n * @param point\r\n * @param geometry\r\n */\r\n setPointGeometry (point, geometry) {\r\n if (point && geometry && point instanceof ol.Feature) {\r\n let _geometry = this._getGeometryFromPoint({\r\n geometry: geometry\r\n })\r\n point.setGeometry(_geometry)\r\n } else {\r\n console.info('传入数据有误!')\r\n }\r\n }\r\n\r\n /**\r\n * 添加线要素\r\n * @param line\r\n * @param params\r\n * @returns {*}\r\n */\r\n addPolyline (line, params) {\r\n try {\r\n let linefeature = null\r\n if (line.geometry.hasOwnProperty('paths')) {\r\n let feat = {\r\n 'type': 'Feature',\r\n 'geometry': {\r\n 'type': 'MultiLineString',\r\n 'coordinates': line.geometry.paths\r\n }\r\n }\r\n linefeature = (new ol.format.GeoJSON()).readFeature(feat)\r\n } else {\r\n linefeature = new ol.Feature({\r\n geometry: new ol.format.WKT().readGeometry(line.geometry)\r\n })\r\n }\r\n let style = this.getStyleByLine(line['attributes']['style'] || params['style'])\r\n let selectStyle = this.getStyleByLine(line['attributes']['selectStyle'] || params['selectStyle'])\r\n let extent = linefeature.getGeometry().getExtent()\r\n if (style && linefeature) {\r\n linefeature.setStyle(style)\r\n linefeature.set('style', style)\r\n if (selectStyle) {\r\n linefeature.set('selectStyle', selectStyle)\r\n }\r\n }\r\n if (line['attributes'] && (line.attributes['ID'] || line.attributes['id'])) {\r\n let id = (line.attributes['id'] || line.attributes['ID'] || params['id'])\r\n linefeature.setId(id)\r\n linefeature.setProperties(line.attributes)\r\n }\r\n if (params['zoomToExtent']) {\r\n this.zoomToExtent(extent, true)\r\n }\r\n if (params['layerName']) {\r\n let layer = this.createVectorLayer(params['layerName'], {\r\n create: true\r\n })\r\n layer.getSource().addFeature(linefeature)\r\n this.lineLayers.add(params['layerName'])\r\n }\r\n this.orderLayerZindex()\r\n return linefeature\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加多条线要素\r\n * @param lines\r\n * @param params\r\n */\r\n addPolylines (lines, params) {\r\n try {\r\n if (lines && Array.isArray(lines)) {\r\n let [MultiLine, change] = [(new ol.geom.MultiLineString([])), false]\r\n if (params['zoomToExtent']) {\r\n params['zoomToExtent'] = false\r\n change = true\r\n }\r\n lines.forEach(line => {\r\n let polyLine = this.addPolyline(line, params)\r\n if (polyLine && polyLine instanceof ol.Feature) {\r\n let geom = polyLine.getGeometry()\r\n if (geom && geom instanceof ol.geom.LineString) {\r\n MultiLine.appendLineString(geom)\r\n } else if (geom && geom instanceof ol.geom.MultiLineString) {\r\n let multiGeoms = geom.getLineStrings()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.LineString) {\r\n MultiLine.appendLineString(geom)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n })\r\n if (change) {\r\n this._getExtent(MultiLine)\r\n }\r\n }\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加面要素\r\n * @param polygon\r\n * @param params\r\n * @returns {ol.render.Feature|ol.format.Feature|Feature|*|ol.Feature}\r\n */\r\n addPolygon (polygon, params) {\r\n try {\r\n if (polygon && polygon['geometry']) {\r\n let polygonFeature = new ol.Feature({\r\n geometry: new ol.format.WKT().readGeometry(polygon.geometry)\r\n })\r\n let style = this.getStyleByPolygon(polygon['attributes']['style'] || params['style'])\r\n let selectStyle = this.getStyleByPolygon(polygon['attributes']['selectStyle'] || params['selectStyle'])\r\n let extent = polygonFeature.getGeometry().getExtent()\r\n if (style && polygonFeature) {\r\n polygonFeature.setStyle(style)\r\n if (selectStyle) {\r\n polygonFeature.set('selectStyle', selectStyle)\r\n }\r\n }\r\n if (polygon['attributes'] && (polygon.attributes['ID'] || polygon.attributes['id'])) {\r\n let id = (polygon.attributes['id'] || polygon.attributes['ID'] || params['id'])\r\n polygonFeature.setId(id)\r\n polygonFeature.setProperties(polygon.attributes)\r\n }\r\n if (params['zoomToExtent']) {\r\n this.zoomToExtent(extent, true)\r\n }\r\n if (params['layerName']) {\r\n let layer = this.createVectorLayer(params['layerName'], {\r\n create: true\r\n })\r\n layer.getSource().addFeature(polygonFeature)\r\n this.polygonLayers.add(params['layerName'])\r\n }\r\n this.orderLayerZindex()\r\n return polygonFeature\r\n } else {\r\n console.info('传入的数据不标准!')\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加多个面\r\n * @param polygons\r\n * @param params\r\n */\r\n addPolygons (polygons, params) {\r\n try {\r\n if (polygons && Array.isArray(polygons)) {\r\n let [MultiPolygon, change] = [(new ol.geom.MultiPolygon([])), false]\r\n if (params['zoomToExtent']) {\r\n params['zoomToExtent'] = false\r\n change = true\r\n }\r\n polygons.forEach(polygon => {\r\n let polygonFeat = this.addPolygon(polygon, params)\r\n if (polygonFeat && polygonFeat instanceof ol.Feature) {\r\n let geom = polygonFeat.getGeometry()\r\n if (geom && geom instanceof ol.geom.Polygon) {\r\n MultiPolygon.appendPolygon(geom)\r\n } else if (geom && geom instanceof ol.geom.MultiPolygon) {\r\n let multiGeoms = geom.getPolygons()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.Polygon) {\r\n MultiPolygon.appendPolygon(_geom)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n })\r\n if (change) {\r\n this._getExtent(MultiPolygon)\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加热力图要素\r\n * @param points\r\n * @param params\r\n * @returns {string}\r\n */\r\n addHeatFeatures (points, params) {\r\n try {\r\n let feature = ''\r\n if (points && Array.isArray(points) && points.length > 0) {\r\n let [multiPoint, change] = [(new ol.geom.MultiPoint([])), false]\r\n if (params['zoomToExtent']) {\r\n params['zoomToExtent'] = false\r\n change = true\r\n }\r\n points.forEach(item => {\r\n if (item && item['geometry']) {\r\n let geometry = this._getGeometryFromPoint(item)\r\n if (geometry && geometry instanceof ol.geom.Point) {\r\n multiPoint.appendPoint(geometry)\r\n } else if (geometry && geometry instanceof ol.geom.MultiPoint) {\r\n let multiGeoms = geometry.getPoints()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.Point) {\r\n multiPoint.appendPoint(_geom)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n })\r\n if (params['layerName']) {\r\n feature = new ol.Feature({\r\n geometry: multiPoint,\r\n params: params\r\n })\r\n params['create'] = true\r\n let layer = this.createHeatMapLayer(params['layerName'], params)\r\n if (layer && layer instanceof ol.layer.Heatmap) {\r\n layer.getSource().addFeature(feature)\r\n }\r\n this.pointLayers.add(params['layerName'])\r\n }\r\n if (change) {\r\n this._getExtent(multiPoint)\r\n }\r\n }\r\n this.orderLayerZindex()\r\n return feature\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取线当前范围和中心点\r\n * @param line\r\n * @returns {{extent: *, center: ol.Coordinate}}\r\n */\r\n getCenterExtentFromLine (line) {\r\n try {\r\n let geom = null\r\n if (!(line instanceof ol.geom.Geometry)) {\r\n geom = (new ol.format.WKT()).readGeometry(line)\r\n }\r\n let [MultiLine] = [(new ol.geom.MultiLineString([]))]\r\n if (geom && geom instanceof ol.geom.LineString) {\r\n MultiLine.appendLineString(geom)\r\n } else if (geom && geom instanceof ol.geom.MultiLineString) {\r\n let multiGeoms = geom.getLineStrings()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.LineString) {\r\n MultiLine.appendLineString(geom)\r\n }\r\n })\r\n }\r\n }\r\n let extent = this._getExtent(MultiLine)\r\n let center = ol.extent.getCenter(extent)\r\n return ({\r\n extent: extent,\r\n center: center\r\n })\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前面范围和中心点\r\n * @param polygon\r\n * @returns {{extent: *, center: ol.Coordinate}}\r\n */\r\n getCenterExtentFromPolygon (polygon) {\r\n try {\r\n let geom = null\r\n if (!(polygon instanceof ol.geom.Geometry)) {\r\n geom = (new ol.format.WKT()).readGeometry(polygon)\r\n }\r\n let [MultiPolygon] = [(new ol.geom.MultiPolygon([]))]\r\n if (geom && geom instanceof ol.geom.Polygon) {\r\n MultiPolygon.appendPolygon(geom)\r\n } else if (geom && geom instanceof ol.geom.MultiPolygon) {\r\n let multiGeoms = geom.getPolygons()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.Polygon) {\r\n MultiPolygon.appendPolygon(geom)\r\n }\r\n })\r\n }\r\n }\r\n let extent = this._getExtent(MultiPolygon)\r\n let center = ol.extent.getCenter(extent)\r\n return ({\r\n extent: extent,\r\n center: center\r\n })\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 读取空间信息\r\n * @param geomData\r\n * @param options\r\n * @returns {*}\r\n */\r\n getGeomFromGeomData (geomData, options) {\r\n try {\r\n let featureGeom = null\r\n if (geomData['geomType'] === 'GeoJSON') {\r\n featureGeom = (new ol.format.GeoJSON()).readGeometry(geomData['geometry'])\r\n } else if (geomData['geomType'] === 'WKT') {\r\n featureGeom = (new ol.format.WKT()).readGeometry(geomData['geometry'])\r\n } else if (geomData['geomType'] === 'EsriJSON') {\r\n featureGeom = (new ol.format.EsriJSON()).readGeometry(geomData['geometry'])\r\n } else if (geomData['geomType'] === 'Polyline') {\r\n featureGeom = (new ol.format.Polyline()).readGeometry(geomData['geometry'])\r\n } else if (Array.isArray(geomData['geometry']) && geomData['geometry'].length === 2) {\r\n featureGeom = new ol.geom.Point(geomData['geometry'])\r\n }\r\n return featureGeom\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 简单兼容\r\n * @param geomData\r\n * @param options\r\n * @returns {{extent: *, center: ol.Coordinate}}\r\n */\r\n getCenterExtentFromGeom (geomData, options) {\r\n let geom = this.getGeomFromGeomData(geomData, options)\r\n let extent = this._getExtent(geom)\r\n let center = ol.extent.getCenter(extent)\r\n let bExtent = true\r\n extent.every(item => {\r\n if (item === Infinity || isNaN(item) || item === undefined || item === null) {\r\n bExtent = false\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n if (bExtent && options['zoomToExtent']) {\r\n this.zoomToExtent(extent, true)\r\n }\r\n return ({\r\n extent: extent,\r\n center: center\r\n })\r\n }\r\n\r\n /**\r\n * 设置热力图样式\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n setHeatLayerStyle (layerName, params) {\r\n try {\r\n let layer = null\r\n if (layerName) {\r\n layerName = layerName.trim()\r\n let _layer = this.getLayerByLayerName(layerName)\r\n if (_layer && _layer instanceof ol.layer.Heatmap) {\r\n layer = _layer\r\n if (params && typeof params === 'object') {\r\n for (let key in params) {\r\n switch (key) {\r\n case 'blur':\r\n layer.setBlur(params[key])\r\n break\r\n case 'radius':\r\n layer.setRadius(params[key])\r\n break\r\n case 'gradient':\r\n layer.setGradient(params[key])\r\n break\r\n case 'visible':\r\n layer.setVisible(params[key])\r\n break\r\n case 'opacity':\r\n layer.setOpacity(params[key])\r\n break\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 通过图层名移除要素\r\n * @param layerName\r\n */\r\n removeFeatureByLayerName (layerName) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (layer && layer instanceof ol.layer.Vector && layer.getSource()) {\r\n layer.getSource().clear()\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 移除多个图层的要素\r\n * @param layerNames \r\n */\r\n removeFeatureByLayerNames (layerNames) {\r\n if (layerNames && Array.isArray(layerNames) && layerNames.length > 0) {\r\n layerNames.forEach(item => {\r\n this.removeFeatureByLayerName(item)\r\n })\r\n } else {\r\n console.info('id为空或者不是数组!')\r\n }\r\n }\r\n\r\n /**\r\n * 移除当前要素\r\n * @param feature\r\n */\r\n removeFeature (feature) {\r\n if (feature && feature instanceof ol.Feature) {\r\n let tragetLayer = this.getLayerByFeatuer(feature)\r\n if (tragetLayer) {\r\n let source = tragetLayer.getSource()\r\n if (source && source.removeFeature) {\r\n source.removeFeature(feature)\r\n }\r\n }\r\n } else {\r\n throw new Error('传入的不是要素!')\r\n }\r\n }\r\n\r\n /**\r\n * 通过id移除要素\r\n * @param id\r\n * @param layerName\r\n */\r\n removeFeatureById (id, layerName) {\r\n if (this.map && id) {\r\n if (layerName) {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (layer) {\r\n let feature = layer.getSource().getFeatureById(id)\r\n if (feature && feature instanceof ol.Feature) {\r\n layer.getSource().removeFeature(feature)\r\n }\r\n }\r\n } else {\r\n let layers = this.map.getLayers().getArray()\r\n layers.forEach(layer => {\r\n if (layer && layer instanceof ol.layer.Vector && layer.getSource()) {\r\n let feature = layer.getSource().getFeatureById(id)\r\n if (feature && feature instanceof ol.Feature) {\r\n layer.getSource().removeFeature(feature)\r\n }\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 移除多个要素\r\n * @param ids\r\n * @param layerName\r\n */\r\n removeFeatureByIds (ids, layerName) {\r\n if (ids && Array.isArray(ids) && ids.length > 0) {\r\n ids.forEach(item => {\r\n this.removeFeatureById(item, layerName)\r\n })\r\n } else {\r\n console.info('id为空或者不是数组!')\r\n }\r\n }\r\n\r\n /**\r\n * 高亮要素\r\n * @param id (若传feat时其他参数可不传)\r\n * @param feat\r\n * @param layerName (传入id时layerName可不传)\r\n * @returns {*}\r\n */\r\n highLightFeature (id, feat, layerName) {\r\n if (!this.map) return\r\n if (feat && feat instanceof ol.Feature) {\r\n let selectStyle = feat.get('selectStyle')\r\n if (selectStyle && selectStyle instanceof ol.style.Style) {\r\n feat.setStyle(selectStyle)\r\n } else if (selectStyle) {\r\n let st = this.getStyleByPoint(selectStyle)\r\n feat.setStyle(st)\r\n }\r\n return feat\r\n } else if (id && id.trim() !== \"''\") {\r\n let feature = this.getFeatureById(id, layerName)\r\n if (feature && feature instanceof ol.Feature) {\r\n let selectStyle = feature.get('selectStyle')\r\n if (selectStyle && selectStyle instanceof ol.style.Style) {\r\n feature.setStyle(selectStyle)\r\n } else if (selectStyle) {\r\n let st = this.getStyleByPoint(selectStyle)\r\n feature.setStyle(st)\r\n }\r\n }\r\n return feature\r\n }\r\n }\r\n\r\n /**\r\n * 取消高亮状态\r\n * @param id (若传feat时其他参数可不传)\r\n * @param feat\r\n * @param layerName (传入id时layerName可不传)\r\n * @returns {*}\r\n */\r\n unHighLightFeature (id, feat, layerName) {\r\n if (!this.map) return\r\n if (feat && feat instanceof ol.Feature) {\r\n let normalStyle = feat.get('style')\r\n if (normalStyle && normalStyle instanceof ol.style.Style) {\r\n feat.setStyle(normalStyle)\r\n } else if (normalStyle) {\r\n let st = this.getStyleByPoint(normalStyle)\r\n feat.setStyle(st)\r\n }\r\n return feat\r\n } else if (id && id.trim() !== \"''\") {\r\n let feature = this.getFeatureById(id, layerName)\r\n if (feature && feature instanceof ol.Feature) {\r\n let normalStyle = feature.get('style')\r\n if (normalStyle && normalStyle instanceof ol.style.Style) {\r\n feature.setStyle(normalStyle)\r\n } else if (normalStyle) {\r\n let st = this.getStyleByPoint(normalStyle)\r\n feature.setStyle(st)\r\n }\r\n }\r\n return feature\r\n }\r\n }\r\n}\r\nexport default Feature\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/feature/feature.js","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length');\nmodule.exports = function fill(value /*, start = 0, end = @length */){\n var O = toObject(this)\n , length = toLength(O.length)\n , aLen = arguments.length\n , index = toIndex(aLen > 1 ? arguments[1] : undefined, length)\n , end = aLen > 2 ? arguments[2] : undefined\n , endPos = end === undefined ? length : toIndex(end, length);\n while(endPos > index)O[index++] = value;\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-fill.js\n// module id = 83\n// module chunks = 0","'use strict';\nvar $defineProperty = require('./_object-dp')\n , createDesc = require('./_property-desc');\n\nmodule.exports = function(object, index, value){\n if(index in object)$defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_create-property.js\n// module id = 84\n// module chunks = 0","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_dom-create.js\n// module id = 85\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_enum-bug-keys.js\n// module id = 86\n// module chunks = 0","var MATCH = require('./_wks')('match');\nmodule.exports = function(KEY){\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch(e){\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch(f){ /* empty */ }\n } return true;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_fails-is-regexp.js\n// module id = 87\n// module chunks = 0","module.exports = require('./_global').document && document.documentElement;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_html.js\n// module id = 88\n// module chunks = 0","var isObject = require('./_is-object')\n , setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function(that, target, C){\n var P, S = target.constructor;\n if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){\n setPrototypeOf(that, P);\n } return that;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_inherit-if-required.js\n// module id = 89\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators')\n , ITERATOR = require('./_wks')('iterator')\n , ArrayProto = Array.prototype;\n\nmodule.exports = function(it){\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-array-iter.js\n// module id = 90\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg){\n return cof(arg) == 'Array';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-array.js\n// module id = 91\n// module chunks = 0","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-create.js\n// module id = 92\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-define.js\n// module id = 93\n// module chunks = 0","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x){\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_math-expm1.js\n// module id = 94\n// module chunks = 0","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x){\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_math-sign.js\n// module id = 95\n// module chunks = 0","var global = require('./_global')\n , macrotask = require('./_task').set\n , Observer = global.MutationObserver || global.WebKitMutationObserver\n , process = global.process\n , Promise = global.Promise\n , isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function(){\n var head, last, notify;\n\n var flush = function(){\n var parent, fn;\n if(isNode && (parent = process.domain))parent.exit();\n while(head){\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch(e){\n if(head)notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if(parent)parent.enter();\n };\n\n // Node.js\n if(isNode){\n notify = function(){\n process.nextTick(flush);\n };\n // browsers with MutationObserver\n } else if(Observer){\n var toggle = true\n , node = document.createTextNode('');\n new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new\n notify = function(){\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if(Promise && Promise.resolve){\n var promise = Promise.resolve();\n notify = function(){\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function(){\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function(fn){\n var task = {fn: fn, next: undefined};\n if(last)last.next = task;\n if(!head){\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_microtask.js\n// module id = 96\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object')\n , anObject = require('./_an-object');\nvar check = function(O, proto){\n anObject(O);\n if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function(test, buggy, set){\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch(e){ buggy = true; }\n return function setPrototypeOf(O, proto){\n check(O, proto);\n if(buggy)O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_set-proto.js\n// module id = 97\n// module chunks = 0","var shared = require('./_shared')('keys')\n , uid = require('./_uid');\nmodule.exports = function(key){\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_shared-key.js\n// module id = 98\n// module chunks = 0","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , SPECIES = require('./_wks')('species');\nmodule.exports = function(O, D){\n var C = anObject(O).constructor, S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_species-constructor.js\n// module id = 99\n// module chunks = 0","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-at.js\n// module id = 100\n// module chunks = 0","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp')\n , defined = require('./_defined');\n\nmodule.exports = function(that, searchString, NAME){\n if(isRegExp(searchString))throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-context.js\n// module id = 101\n// module chunks = 0","'use strict';\nvar toInteger = require('./_to-integer')\n , defined = require('./_defined');\n\nmodule.exports = function repeat(count){\n var str = String(defined(this))\n , res = ''\n , n = toInteger(count);\n if(n < 0 || n == Infinity)throw RangeError(\"Count can't be negative\");\n for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str;\n return res;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-repeat.js\n// module id = 102\n// module chunks = 0","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-ws.js\n// module id = 103\n// module chunks = 0","var ctx = require('./_ctx')\n , invoke = require('./_invoke')\n , html = require('./_html')\n , cel = require('./_dom-create')\n , global = require('./_global')\n , process = global.process\n , setTask = global.setImmediate\n , clearTask = global.clearImmediate\n , MessageChannel = global.MessageChannel\n , counter = 0\n , queue = {}\n , ONREADYSTATECHANGE = 'onreadystatechange'\n , defer, channel, port;\nvar run = function(){\n var id = +this;\n if(queue.hasOwnProperty(id)){\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function(event){\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif(!setTask || !clearTask){\n setTask = function setImmediate(fn){\n var args = [], i = 1;\n while(arguments.length > i)args.push(arguments[i++]);\n queue[++counter] = function(){\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id){\n delete queue[id];\n };\n // Node.js 0.8-\n if(require('./_cof')(process) == 'process'){\n defer = function(id){\n process.nextTick(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if(MessageChannel){\n channel = new MessageChannel;\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){\n defer = function(id){\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if(ONREADYSTATECHANGE in cel('script')){\n defer = function(id){\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function(id){\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_task.js\n// module id = 104\n// module chunks = 0","'use strict';\nvar global = require('./_global')\n , DESCRIPTORS = require('./_descriptors')\n , LIBRARY = require('./_library')\n , $typed = require('./_typed')\n , hide = require('./_hide')\n , redefineAll = require('./_redefine-all')\n , fails = require('./_fails')\n , anInstance = require('./_an-instance')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , gOPN = require('./_object-gopn').f\n , dP = require('./_object-dp').f\n , arrayFill = require('./_array-fill')\n , setToStringTag = require('./_set-to-string-tag')\n , ARRAY_BUFFER = 'ArrayBuffer'\n , DATA_VIEW = 'DataView'\n , PROTOTYPE = 'prototype'\n , WRONG_LENGTH = 'Wrong length!'\n , WRONG_INDEX = 'Wrong index!'\n , $ArrayBuffer = global[ARRAY_BUFFER]\n , $DataView = global[DATA_VIEW]\n , Math = global.Math\n , RangeError = global.RangeError\n , Infinity = global.Infinity\n , BaseBuffer = $ArrayBuffer\n , abs = Math.abs\n , pow = Math.pow\n , floor = Math.floor\n , log = Math.log\n , LN2 = Math.LN2\n , BUFFER = 'buffer'\n , BYTE_LENGTH = 'byteLength'\n , BYTE_OFFSET = 'byteOffset'\n , $BUFFER = DESCRIPTORS ? '_b' : BUFFER\n , $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH\n , $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nvar packIEEE754 = function(value, mLen, nBytes){\n var buffer = Array(nBytes)\n , eLen = nBytes * 8 - mLen - 1\n , eMax = (1 << eLen) - 1\n , eBias = eMax >> 1\n , rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0\n , i = 0\n , s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0\n , e, m, c;\n value = abs(value)\n if(value != value || value === Infinity){\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if(value * (c = pow(2, -e)) < 1){\n e--;\n c *= 2;\n }\n if(e + eBias >= 1){\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if(value * c >= 2){\n e++;\n c /= 2;\n }\n if(e + eBias >= eMax){\n m = 0;\n e = eMax;\n } else if(e + eBias >= 1){\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for(; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for(; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n};\nvar unpackIEEE754 = function(buffer, mLen, nBytes){\n var eLen = nBytes * 8 - mLen - 1\n , eMax = (1 << eLen) - 1\n , eBias = eMax >> 1\n , nBits = eLen - 7\n , i = nBytes - 1\n , s = buffer[i--]\n , e = s & 127\n , m;\n s >>= 7;\n for(; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for(; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if(e === 0){\n e = 1 - eBias;\n } else if(e === eMax){\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n};\n\nvar unpackI32 = function(bytes){\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n};\nvar packI8 = function(it){\n return [it & 0xff];\n};\nvar packI16 = function(it){\n return [it & 0xff, it >> 8 & 0xff];\n};\nvar packI32 = function(it){\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n};\nvar packF64 = function(it){\n return packIEEE754(it, 52, 8);\n};\nvar packF32 = function(it){\n return packIEEE754(it, 23, 4);\n};\n\nvar addGetter = function(C, key, internal){\n dP(C[PROTOTYPE], key, {get: function(){ return this[internal]; }});\n};\n\nvar get = function(view, bytes, index, isLittleEndian){\n var numIndex = +index\n , intIndex = toInteger(numIndex);\n if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b\n , start = intIndex + view[$OFFSET]\n , pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n};\nvar set = function(view, bytes, index, conversion, value, isLittleEndian){\n var numIndex = +index\n , intIndex = toInteger(numIndex);\n if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b\n , start = intIndex + view[$OFFSET]\n , pack = conversion(+value);\n for(var i = 0; i < bytes; i++)store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n};\n\nvar validateArrayBufferArguments = function(that, length){\n anInstance(that, $ArrayBuffer, ARRAY_BUFFER);\n var numberLength = +length\n , byteLength = toLength(numberLength);\n if(numberLength != byteLength)throw RangeError(WRONG_LENGTH);\n return byteLength;\n};\n\nif(!$typed.ABV){\n $ArrayBuffer = function ArrayBuffer(length){\n var byteLength = validateArrayBufferArguments(this, length);\n this._b = arrayFill.call(Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength){\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH]\n , offset = toInteger(byteOffset);\n if(offset < 0 || offset > bufferLength)throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if(offset + byteLength > bufferLength)throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if(DESCRIPTORS){\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset){\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset){\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /*, littleEndian */){\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /*, littleEndian */){\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /*, littleEndian */){\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /*, littleEndian */){\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /*, littleEndian */){\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /*, littleEndian */){\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value){\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value){\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /*, littleEndian */){\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /*, littleEndian */){\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /*, littleEndian */){\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if(!fails(function(){\n new $ArrayBuffer; // eslint-disable-line no-new\n }) || !fails(function(){\n new $ArrayBuffer(.5); // eslint-disable-line no-new\n })){\n $ArrayBuffer = function ArrayBuffer(length){\n return new BaseBuffer(validateArrayBufferArguments(this, length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for(var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j; ){\n if(!((key = keys[j++]) in $ArrayBuffer))hide($ArrayBuffer, key, BaseBuffer[key]);\n };\n if(!LIBRARY)ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2))\n , $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if(view.getInt8(0) || !view.getInt8(1))redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value){\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value){\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_typed-buffer.js\n// module id = 105\n// module chunks = 0","var global = require('./_global')\n , core = require('./_core')\n , LIBRARY = require('./_library')\n , wksExt = require('./_wks-ext')\n , defineProperty = require('./_object-dp').f;\nmodule.exports = function(name){\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_wks-define.js\n// module id = 106\n// module chunks = 0","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function(it){\n if(it != undefined)return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/core.get-iterator-method.js\n// module id = 107\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.iterator.js\n// module id = 108\n// module chunks = 0","import parseCode from './parseCode';\nimport extend from './extend';\nimport projections from './projections';\nimport {sphere as dc_sphere, eccentricity as dc_eccentricity} from './deriveConstants';\nimport Datum from './constants/Datum';\nimport datum from './datum';\nimport match from './match';\n\nfunction Projection(srsCode,callback) {\n if (!(this instanceof Projection)) {\n return new Projection(srsCode);\n }\n callback = callback || function(error){\n if(error){\n throw error;\n }\n };\n var json = parseCode(srsCode);\n if(typeof json !== 'object'){\n callback(srsCode);\n return;\n }\n var ourProj = Projection.projections.get(json.projName);\n if(!ourProj){\n callback(srsCode);\n return;\n }\n if (json.datumCode && json.datumCode !== 'none') {\n var datumDef = match(Datum, json.datumCode);\n if (datumDef) {\n json.datum_params = datumDef.towgs84 ? datumDef.towgs84.split(',') : null;\n json.ellps = datumDef.ellipse;\n json.datumName = datumDef.datumName ? datumDef.datumName : json.datumCode;\n }\n }\n json.k0 = json.k0 || 1.0;\n json.axis = json.axis || 'enu';\n json.ellps = json.ellps || 'wgs84';\n var sphere_ = dc_sphere(json.a, json.b, json.rf, json.ellps, json.sphere);\n var ecc = dc_eccentricity(sphere_.a, sphere_.b, sphere_.rf, json.R_A);\n var datumObj = json.datum || datum(json.datumCode, json.datum_params, sphere_.a, sphere_.b, ecc.es, ecc.ep2);\n\n extend(this, json); // transfer everything over from the projection because we don't know what we'll need\n extend(this, ourProj); // transfer all the methods from the projection\n\n // copy the 4 things over we calulated in deriveConstants.sphere\n this.a = sphere_.a;\n this.b = sphere_.b;\n this.rf = sphere_.rf;\n this.sphere = sphere_.sphere;\n\n // copy the 3 things we calculated in deriveConstants.eccentricity\n this.es = ecc.es;\n this.e = ecc.e;\n this.ep2 = ecc.ep2;\n\n // add in the datum object\n this.datum = datumObj;\n\n // init the projection\n this.init();\n\n // legecy callback from back in the day when it went to spatialreference.org\n callback(null, this);\n\n}\nProjection.projections = projections;\nProjection.projections.start();\nexport default Projection;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/Proj.js\n// module id = 109\n// module chunks = 0","export default function(a, e, sinphi) {\n var temp = e * sinphi;\n return a / Math.sqrt(1 - temp * temp);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/gN.js\n// module id = 110\n// module chunks = 0","export default function(ml, e0, e1, e2, e3) {\n var phi;\n var dphi;\n\n phi = ml / e0;\n for (var i = 0; i < 15; i++) {\n dphi = (ml - (e0 * phi - e1 * Math.sin(2 * phi) + e2 * Math.sin(4 * phi) - e3 * Math.sin(6 * phi))) / (e0 - 2 * e1 * Math.cos(2 * phi) + 4 * e2 * Math.cos(4 * phi) - 6 * e3 * Math.cos(6 * phi));\n phi += dphi;\n if (Math.abs(dphi) <= 0.0000000001) {\n return phi;\n }\n }\n\n //..reportError(\"IMLFN-CONV:Latitude failed to converge after 15 iterations\");\n return NaN;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/imlfn.js\n// module id = 111\n// module chunks = 0","export default function(phi, sphi, cphi, en) {\n cphi *= sphi;\n sphi *= sphi;\n return (en[0] * phi - cphi * (en[1] + sphi * (en[2] + sphi * (en[3] + sphi * en[4]))));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/pj_mlfn.js\n// module id = 112\n// module chunks = 0","export default function(eccent, sinphi) {\n var con;\n if (eccent > 1.0e-7) {\n con = eccent * sinphi;\n return ((1 - eccent * eccent) * (sinphi / (1 - con * con) - (0.5 / eccent) * Math.log((1 - con) / (1 + con))));\n }\n else {\n return (2 * sinphi);\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/qsfnz.js\n// module id = 113\n// module chunks = 0","var ignoredChar = /[\\s_\\-\\/\\(\\)]/g;\nexport default function match(obj, key) {\n if (obj[key]) {\n return obj[key];\n }\n var keys = Object.keys(obj);\n var lkey = key.toLowerCase().replace(ignoredChar, '');\n var i = -1;\n var testkey, processedKey;\n while (++i < keys.length) {\n testkey = keys[i];\n processedKey = testkey.toLowerCase().replace(ignoredChar, '');\n if (processedKey === lkey) {\n return obj[testkey];\n }\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/match.js\n// module id = 114\n// module chunks = 0","import { splitWords, stamp } from '../utils/utils'\r\n\r\n/**\r\n * 通过id获取dom\r\n * @param id\r\n * @returns {Element}\r\n */\r\nexport const get = (id) => {\r\n return typeof id === 'string' ? document.getElementById(id) : id\r\n}\r\n\r\n/**\r\n * 获取父节点下指定的子节点\r\n * @param str\r\n * @param container\r\n * @returns {NodeList|*}\r\n */\r\nexport const getChildByTagName = (str, container) => {\r\n return container.getElementsByTagName(str)\r\n}\r\n\r\n/**\r\n * 通过类名获取元素\r\n * @param str\r\n * @param container\r\n * @param root\r\n * @returns {HTMLElement}\r\n */\r\nexport const getElementsByClassName = (str, container, root) => {\r\n let _root = root || window\r\n let $ = _root.document.querySelector.bind(_root.document)\r\n // let $$ = _root.document.querySelectorAll.bind(_root.document)\r\n let target = $(str)\r\n return target\r\n}\r\n\r\n/**\r\n * 获取dom class\r\n * @param elem\r\n * @returns {*|getAttribute|string|string}\r\n */\r\nexport const getClass = (elem) => {\r\n return elem.getAttribute && elem.getAttribute('class') || ''\r\n}\r\n\r\n/**\r\n * 获取dom样式列表()\r\n * @param el\r\n * @param style\r\n * @returns {*}\r\n */\r\nexport const getStyle = (el, style) => {\r\n let value = el.style[style] || (el.currentStyle && el.currentStyle[style])\r\n if ((!value || value === 'auto') && document.defaultView) {\r\n let css = document.defaultView.getComputedStyle(el, null)\r\n value = css ? css[style] : null\r\n }\r\n return value === 'auto' ? null : value\r\n}\r\n\r\n/**\r\n * 创建dom\r\n * @param tagName (标签名)\r\n * @param className (类名)\r\n * @param container (容器)\r\n * @param id (唯一标识)\r\n * @returns {Element}\r\n */\r\nexport const create = (tagName, className, container, id) => {\r\n let el = document.createElement(tagName)\r\n el.className = className || ''\r\n if (id) {\r\n el.id = id\r\n }\r\n if (container) {\r\n container.appendChild(el)\r\n }\r\n return el\r\n}\r\n\r\n/**\r\n * 移除当前dom\r\n * @param el\r\n */\r\nexport const remove = (el) => {\r\n let parent = el.parentNode\r\n if (parent) {\r\n parent.removeChild(el)\r\n }\r\n}\r\n\r\n/**\r\n * 将dom致空\r\n * @param el\r\n */\r\nexport const empty = (el) => {\r\n while (el.firstChild) {\r\n el.removeChild(el.firstChild)\r\n }\r\n}\r\n\r\n/**\r\n * 添加到容器前方\r\n * @param el\r\n */\r\nexport const toFront = (el) => {\r\n el.parentNode.appendChild(el)\r\n}\r\n\r\n/**\r\n * 添加到容器后放\r\n * @param el\r\n */\r\nexport const toBack = (el) => {\r\n let parent = el.parentNode\r\n parent.insertBefore(el, parent.firstChild)\r\n}\r\n\r\n/**\r\n * 判断DOM对象是否有此类名\r\n * @param el\r\n * @param name\r\n * @returns {boolean}\r\n */\r\nexport const hasClass = (el, name) => {\r\n if (el.classList !== undefined) {\r\n return el.classList.contains(name)\r\n }\r\n let className = getClass(el)\r\n return className.length > 0 && new RegExp('(^|\\\\s)' + name + '(\\\\s|$)').test(className)\r\n}\r\n\r\n/**\r\n * 添加类名\r\n * @param el\r\n * @param name\r\n */\r\nexport const addClass = (el, name) => {\r\n if (el.classList !== undefined) {\r\n let classes = splitWords(name)\r\n for (let i = 0, len = classes.length; i < len; i++) {\r\n el.classList.add(classes[i])\r\n }\r\n } else if (!hasClass(el, name)) {\r\n let className = getClass(el)\r\n setClass(el, (className ? className + ' ' : '') + name)\r\n }\r\n}\r\n\r\n/**\r\n * 移除类名\r\n * @param el\r\n * @param name\r\n */\r\nexport const removeClass = (el, name) => {\r\n if (el.classList !== undefined) {\r\n el.classList.remove(name)\r\n } else {\r\n setClass(el, String.trim((' ' + getClass(el) + ' ').replace(' ' + name + ' ', ' ')))\r\n }\r\n}\r\n\r\n/**\r\n * 设置class\r\n * @param el\r\n * @param name\r\n */\r\nexport const setClass = (el, name) => {\r\n if (el.className.baseVal === undefined) {\r\n el.className = name\r\n } else {\r\n el.className.baseVal = name\r\n }\r\n}\r\n\r\n/**\r\n * 创建一个隐藏的元素\r\n * @param tagName\r\n * @param parent\r\n * @param id\r\n * @returns {Element}\r\n */\r\nexport const createHidden = (tagName, parent, id) => {\r\n let element = document.createElement(tagName)\r\n element.style.display = 'none'\r\n if (id) {\r\n element.id = id\r\n }\r\n if (parent) {\r\n parent.appendChild(element)\r\n }\r\n return element\r\n}\r\n\r\n/**\r\n * 获取事件唯一标识\r\n * @param type\r\n * @param fn\r\n * @param context\r\n * @returns {string}\r\n */\r\nexport const getDomEventKey = (type, fn, context) => {\r\n return '_p_dom_event_' + type + '_' + stamp(fn) + (context ? '_' + stamp(context) : '')\r\n}\r\n\r\n/**\r\n * 对DOM对象添加事件监听\r\n * @param element\r\n * @param type\r\n * @param fn\r\n * @param context\r\n * @returns {*}\r\n */\r\nexport const addListener = function (element, type, fn, context) {\r\n let eventKey = getDomEventKey(type, fn, context)\r\n let handler = element[eventKey]\r\n if (handler) {\r\n return this\r\n }\r\n handler = function (e) {\r\n return fn.call(context || element, e)\r\n }\r\n if ('addEventListener' in element) {\r\n element.addEventListener(type, handler, false)\r\n } else if ('attachEvent' in element) {\r\n element.attachEvent('on' + type, handler)\r\n }\r\n element[eventKey] = handler\r\n return this\r\n}\r\n\r\n/**\r\n * 移除DOM对象监听事件\r\n * @param element\r\n * @param type\r\n * @param fn\r\n * @param context\r\n * @returns {removeListener}\r\n */\r\nexport const removeListener = function (element, type, fn, context) {\r\n let eventKey = getDomEventKey(type, fn, context)\r\n let handler = element[eventKey]\r\n if (!handler) {\r\n return this\r\n }\r\n if ('removeEventListener' in element) {\r\n element.removeEventListener(type, handler, false)\r\n } else if ('detachEvent' in element) {\r\n element.detachEvent('on' + type, handler)\r\n }\r\n element[eventKey] = null\r\n return this\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/dom/domUtil.js","/**\r\n * bindListener\r\n * @param listenerObj\r\n * @returns {boundListener}\r\n * @private\r\n */\r\nexport const bindListener_ = function (listenerObj) {\r\n let boundListener = function (evt) {\r\n let listener = listenerObj.listener\r\n let bindTo = listenerObj.bindTo || listenerObj.target\r\n if (listenerObj.callOnce) {\r\n unlistenByKey(listenerObj)\r\n }\r\n return listener.call(bindTo, evt)\r\n }\r\n listenerObj.boundListener = boundListener\r\n return boundListener\r\n}\r\n\r\n/**\r\n * findListener\r\n * @param listeners\r\n * @param listener\r\n * @param optThis\r\n * @param optSetDeleteIndex\r\n * @returns {*}\r\n * @private\r\n */\r\nexport const findListener_ = function (listeners, listener, optThis, optSetDeleteIndex) {\r\n let listenerObj = null\r\n for (let i = 0, ii = listeners.length; i < ii; ++i) {\r\n listenerObj = listeners[i]\r\n if (listenerObj.listener === listener && listenerObj.bindTo === optThis) {\r\n if (optSetDeleteIndex) {\r\n listenerObj.deleteIndex = i\r\n }\r\n return listenerObj\r\n }\r\n }\r\n return undefined\r\n}\r\n\r\n/**\r\n * get Listeners\r\n * @param target\r\n * @param type\r\n * @returns {undefined}\r\n */\r\nexport const getListeners = function (target, type) {\r\n let listenerMap = target.ol_lm\r\n return listenerMap ? listenerMap[type] : undefined\r\n}\r\n\r\n/**\r\n * Get the lookup of listeners. If one does not exist on the target, it is\r\n * @param target\r\n * @returns {{}|*}\r\n * @private\r\n */\r\nexport const getListenerMap_ = function (target) {\r\n let listenerMap = target.ol_lm\r\n if (!listenerMap) {\r\n listenerMap = target.ol_lm = {}\r\n }\r\n return listenerMap\r\n}\r\n\r\n/**\r\n * Clean up all listener objects of the given type\r\n * @param target\r\n * @param type\r\n * @private\r\n */\r\nexport const removeListeners_ = function (target, type) {\r\n let listeners = getListeners(target, type)\r\n if (listeners) {\r\n for (let i = 0, ii = listeners.length; i < ii; ++i) {\r\n target.removeEventListener(type, listeners[i].boundListener)\r\n clear(listeners[i])\r\n }\r\n listeners.length = 0\r\n let listenerMap = target.ol_lm\r\n if (listenerMap) {\r\n delete listenerMap[type]\r\n if (Object.keys(listenerMap).length === 0) {\r\n delete target.ol_lm\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Registers an event listener on an event target\r\n * @param target\r\n * @param type\r\n * @param listener\r\n * @param optThis\r\n * @param optOnce\r\n * @returns {*}\r\n */\r\nexport const listen = function (target, type, listener, optThis, optOnce) {\r\n let listenerMap = getListenerMap_(target)\r\n let listeners = listenerMap[type]\r\n if (!listeners) {\r\n listeners = listenerMap[type] = []\r\n }\r\n let listenerObj = findListener_(listeners, listener, optThis, false)\r\n if (listenerObj) {\r\n if (!optOnce) {\r\n // Turn one-off listener into a permanent one.\r\n listenerObj.callOnce = false\r\n }\r\n } else {\r\n listenerObj = /** @type {ol.EventsKey} */ ({\r\n bindTo: optThis,\r\n callOnce: !!optOnce,\r\n listener: listener,\r\n target: target,\r\n type: type\r\n })\r\n target.addEventListener(type, bindListener_(listenerObj))\r\n listeners.push(listenerObj)\r\n }\r\n return listenerObj\r\n}\r\n\r\n/**\r\n * Registers a one-off event listener on an event target\r\n * @param target\r\n * @param type\r\n * @param listener\r\n * @param opt_this\r\n * @returns {*}\r\n */\r\nexport const listenOnce = function (target, type, listener, optThis) {\r\n return listen(target, type, listener, optThis, true)\r\n}\r\n\r\n/**\r\n * Unregisters an event listener on an event target\r\n * @param target\r\n * @param type\r\n * @param listener\r\n * @param optThis\r\n */\r\nexport const unlisten = function (target, type, listener, optThis) {\r\n let listeners = getListeners(target, type)\r\n if (listeners) {\r\n let listenerObj = findListener_(listeners, listener, optThis, true)\r\n if (listenerObj) {\r\n unlistenByKey(listenerObj)\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Unregisters event listeners on an event target. The argument passed to this function is the key returned from\r\n * @param key\r\n */\r\nexport const unlistenByKey = function (key) {\r\n if (key && key.target) {\r\n key.target.removeEventListener(key.type, key.boundListener)\r\n let listeners = getListeners(key.target, key.type)\r\n if (listeners) {\r\n let i = 'deleteIndex' in key ? key.deleteIndex : listeners.indexOf(key)\r\n if (i !== -1) {\r\n listeners.splice(i, 1)\r\n }\r\n if (listeners.length === 0) {\r\n removeListeners_(key.target, key.type)\r\n }\r\n }\r\n clear(key)\r\n }\r\n}\r\n/**\r\n * clear object attr\r\n * @param object\r\n */\r\nexport const clear = function (object) {\r\n for (let property in object) {\r\n delete object[property]\r\n }\r\n}\r\n\r\n/**\r\n * Unregisters all event listeners on an event target.\r\n * @param {ol.EventTargetLike} target Target.\r\n */\r\nexport const unlistenAll = function (target) {\r\n let listenerMap = getListenerMap_(target)\r\n for (let type in listenerMap) {\r\n removeListeners_(target, type)\r\n }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/event/Events.js","class Observable {\r\n constructor () {\r\n this.Events = {}\r\n this.__cnt = 0\r\n }\r\n /**\r\n * 事件分发\r\n * @param eventName\r\n * @param callback\r\n * @param context\r\n * @returns {(*|*)[]}\r\n */\r\n on (eventName, callback, context) {\r\n return (this.bindEvent(eventName, callback, 0, context))\r\n }\r\n\r\n /**\r\n * 取消监听\r\n * @param event\r\n * @returns {boolean}\r\n */\r\n un (event) {\r\n let [eventName, key, r, type, that] = ['', '', false, (typeof event), this]\r\n if (type === 'string') {\r\n if (Observable.hasOwnKey(this.Events, event)) {\r\n delete this.Events[event]\r\n return true\r\n }\r\n return false\r\n } else if (type === 'object') {\r\n eventName = event[0]\r\n key = event[1]\r\n if (Observable.hasOwnKey(this.Events, eventName) && Observable.hasOwnKey(this.Events[eventName], key)) {\r\n delete this.Events[eventName][key]\r\n return true\r\n }\r\n return false\r\n } else if (type === 'function') {\r\n that.eachEvent(that.Events, function (keyA, itemA) {\r\n that.eachEvent(itemA, function (keyB, itemB) {\r\n if (itemB[0] === event) {\r\n delete that.Events[keyA][keyB]\r\n r = true\r\n }\r\n })\r\n })\r\n return r\r\n }\r\n return true\r\n }\r\n\r\n /**\r\n * 事件监听(只触发一次)\r\n * @param eventName\r\n * @param callback\r\n * @param context\r\n * @returns {(*|*)[]}\r\n */\r\n once (eventName, callback, context) {\r\n return (this.bindEvent(eventName, callback, 1, context))\r\n }\r\n\r\n /**\r\n * 响应事件\r\n * @param eventName\r\n * @param args\r\n */\r\n action (eventName, args) {\r\n if (Observable.hasOwnKey(this.Events, eventName)) {\r\n this.eachEvent(this.Events[eventName], (key, item) => {\r\n item[0].apply(item[2], args)\r\n if (item[1]) {\r\n delete this.Events[eventName][key]\r\n }\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 实时触发响应\r\n * @param eventName\r\n */\r\n dispatch (eventName) {\r\n let that = this\r\n let args = Observable.slice(arguments, 1)\r\n setTimeout(function () {\r\n that.action(eventName, args)\r\n })\r\n }\r\n\r\n /**\r\n * 延后触发响应\r\n * @param eventName\r\n */\r\n dispatchSync (eventName) {\r\n this.action(eventName, Observable.slice(arguments, 1))\r\n }\r\n\r\n /**\r\n * 清空发布中心\r\n */\r\n clear () {\r\n this.Events = {}\r\n }\r\n\r\n /**\r\n * 绑定事件\r\n * @param eventName\r\n * @param callback\r\n * @param isOne\r\n * @param context\r\n * @returns {[*,*]}\r\n */\r\n bindEvent (eventName, callback, isOne, context) {\r\n if (typeof eventName !== 'string' || typeof callback !== 'function') {\r\n throw new Error('传入的事件名称和回调函数有误!')\r\n }\r\n if (!Observable.hasOwnKey(this.Events, eventName)) {\r\n this.Events[eventName] = {}\r\n }\r\n this.Events[eventName][++this.__cnt] = [callback, isOne, context]\r\n return [eventName, this.__cnt]\r\n }\r\n\r\n /**\r\n * 循环触发事件\r\n * @param obj\r\n * @param callback\r\n */\r\n eachEvent (obj, callback) {\r\n for (let key in obj) {\r\n if (Observable.hasOwnKey(obj, key)) {\r\n callback(key, obj[key])\r\n }\r\n }\r\n }\r\n static hasOwnKey = Function.call.bind(Object.hasOwnProperty)\r\n static slice = Function.call.bind(Array.prototype.slice)\r\n}\r\nexport default Observable\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/event/Observable.js","/**\r\n * Created by FDD on 2017/5/20.\r\n */\r\nexport default {\r\n /**\r\n * Generic change event. Triggered when the revision counter is increased.\r\n * @event ol.events.Event#change\r\n * @api\r\n */\r\n CHANGE: 'change',\r\n CLICK: 'click',\r\n DBLCLICK: 'dblclick',\r\n DRAGENTER: 'dragenter',\r\n DRAGOVER: 'dragover',\r\n DROP: 'drop',\r\n ERROR: 'error',\r\n KEYDOWN: 'keydown',\r\n KEYPRESS: 'keypress',\r\n LOAD: 'load',\r\n MOUSEDOWN: 'mousedown',\r\n MOUSEMOVE: 'mousemove',\r\n MOUSEOUT: 'mouseout',\r\n MOUSEUP: 'mouseup',\r\n MOUSEWHEEL: 'mousewheel',\r\n MSPOINTERDOWN: 'MSPointerDown',\r\n RESIZE: 'resize',\r\n TOUCHSTART: 'touchstart',\r\n TOUCHMOVE: 'touchmove',\r\n TOUCHEND: 'touchend',\r\n WHEEL: 'wheel'\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Event/EventType.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 粗单尖头箭头\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass FineArrow extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.FINE_ARROW\r\n this.tailWidthFactor = 0.1\r\n this.neckWidthFactor = 0.2\r\n this.headWidthFactor = 0.25\r\n this.headAngle = Math.PI / 8.5\r\n this.neckAngle = Math.PI / 13\r\n this.fixPointCount = 2\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let pnts = this.getPoints()\r\n let [pnt1, pnt2] = [pnts[0], pnts[1]]\r\n let len = PlotUtils.getBaseLength(pnts)\r\n let tailWidth = len * this.tailWidthFactor\r\n let neckWidth = len * this.neckWidthFactor\r\n let headWidth = len * this.headWidthFactor\r\n let tailLeft = PlotUtils.getThirdPoint(pnt2, pnt1, Constants.HALF_PI, tailWidth, true)\r\n let tailRight = PlotUtils.getThirdPoint(pnt2, pnt1, Constants.HALF_PI, tailWidth, false)\r\n let headLeft = PlotUtils.getThirdPoint(pnt1, pnt2, this.headAngle, headWidth, false)\r\n let headRight = PlotUtils.getThirdPoint(pnt1, pnt2, this.headAngle, headWidth, true)\r\n let neckLeft = PlotUtils.getThirdPoint(pnt1, pnt2, this.neckAngle, neckWidth, false)\r\n let neckRight = PlotUtils.getThirdPoint(pnt1, pnt2, this.neckAngle, neckWidth, true)\r\n let pList = [tailLeft, neckLeft, headLeft, pnt2, headRight, neckRight, tailRight]\r\n this.setCoordinates([pList])\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default FineArrow\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/FineArrow.js","import { ol } from '../constants'\r\nclass LayerSwitcher {\r\n constructor (map) {\r\n this.map = map || null\r\n if (!this.map) {\r\n throw new Error('缺少地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前底图(包含标注层)\r\n * @private\r\n */\r\n _getBaseLayers () {\r\n if (this.map) {\r\n this.baseLayers = []\r\n this.map.getLayers().getArray().forEach(layer => {\r\n if (layer && layer instanceof ol.layer.Group && layer.get('isBaseLayer')) {\r\n layer.getLayers().getArray().forEach(_layer => {\r\n if (_layer && _layer instanceof ol.layer.Tile && _layer.get('isBaseLayer')) {\r\n this.baseLayers.push(_layer)\r\n }\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 获取地图除标注层的layerNames\r\n * @returns {Array|*}\r\n */\r\n getBaseLayerNames () {\r\n this._getBaseLayers()\r\n this.baseLayerNames = []\r\n if (this.baseLayers && Array.isArray(this.baseLayers) && this.baseLayers.length > 0) {\r\n this.baseLayerNames = this.baseLayers.map(layer => {\r\n let layerName = ''\r\n if (layer.get('layerNames') && !layer.get('alias')) {\r\n layerName = layer.get('layerNames')\r\n }\r\n return layerName\r\n })\r\n }\r\n return this.baseLayerNames\r\n }\r\n\r\n /**\r\n * 图层切换\r\n * @param layerName\r\n */\r\n switchLayer (layerName) {\r\n this._getBaseLayers()\r\n this.baseLayers.forEach(layer => {\r\n if (layer.get('layerName') === layerName || layer.get('alias') === layerName) {\r\n layer.set('isDefault', true)\r\n layer.setVisible(true)\r\n } else {\r\n layer.set('isDefault', false)\r\n layer.setVisible(false)\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n * @returns {ol.Map}\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n return this.map\r\n }\r\n }\r\n\r\n /**\r\n * 获取地图对象\r\n * @returns {*|null|ol.Map}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n}\r\n\r\nexport default LayerSwitcher\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plugins/LayerSwitcher.js","var cof = require('./_cof');\nmodule.exports = function(it, msg){\n if(typeof it != 'number' && cof(it) != 'Number')throw TypeError(msg);\n return +it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_a-number-value.js\n// module id = 121\n// module chunks = 0","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){\n var O = toObject(this)\n , len = toLength(O.length)\n , to = toIndex(target, len)\n , from = toIndex(start, len)\n , end = arguments.length > 2 ? arguments[2] : undefined\n , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to)\n , inc = 1;\n if(from < to && to < from + count){\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while(count-- > 0){\n if(from in O)O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-copy-within.js\n// module id = 122\n// module chunks = 0","var forOf = require('./_for-of');\n\nmodule.exports = function(iter, ITERATOR){\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-from-iterable.js\n// module id = 123\n// module chunks = 0","var aFunction = require('./_a-function')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , toLength = require('./_to-length');\n\nmodule.exports = function(that, callbackfn, aLen, memo, isRight){\n aFunction(callbackfn);\n var O = toObject(that)\n , self = IObject(O)\n , length = toLength(O.length)\n , index = isRight ? length - 1 : 0\n , i = isRight ? -1 : 1;\n if(aLen < 2)for(;;){\n if(index in self){\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if(isRight ? index < 0 : length <= index){\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for(;isRight ? index >= 0 : length > index; index += i)if(index in self){\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-reduce.js\n// module id = 124\n// module chunks = 0","'use strict';\nvar aFunction = require('./_a-function')\n , isObject = require('./_is-object')\n , invoke = require('./_invoke')\n , arraySlice = [].slice\n , factories = {};\n\nvar construct = function(F, len, args){\n if(!(len in factories)){\n for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']';\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /*, args... */){\n var fn = aFunction(this)\n , partArgs = arraySlice.call(arguments, 1);\n var bound = function(/* args... */){\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if(isObject(fn.prototype))bound.prototype = fn.prototype;\n return bound;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_bind.js\n// module id = 125\n// module chunks = 0","'use strict';\nvar dP = require('./_object-dp').f\n , create = require('./_object-create')\n , redefineAll = require('./_redefine-all')\n , ctx = require('./_ctx')\n , anInstance = require('./_an-instance')\n , defined = require('./_defined')\n , forOf = require('./_for-of')\n , $iterDefine = require('./_iter-define')\n , step = require('./_iter-step')\n , setSpecies = require('./_set-species')\n , DESCRIPTORS = require('./_descriptors')\n , fastKey = require('./_meta').fastKey\n , SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function(that, key){\n // fast case\n var index = fastKey(key), entry;\n if(index !== 'F')return that._i[index];\n // frozen object case\n for(entry = that._f; entry; entry = entry.n){\n if(entry.k == key)return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear(){\n for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){\n entry.r = true;\n if(entry.p)entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function(key){\n var that = this\n , entry = getEntry(that, key);\n if(entry){\n var next = entry.n\n , prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if(prev)prev.n = next;\n if(next)next.p = prev;\n if(that._f == entry)that._f = next;\n if(that._l == entry)that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /*, that = undefined */){\n anInstance(this, C, 'forEach');\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3)\n , entry;\n while(entry = entry ? entry.n : this._f){\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key){\n return !!getEntry(this, key);\n }\n });\n if(DESCRIPTORS)dP(C.prototype, 'size', {\n get: function(){\n return defined(this[SIZE]);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var entry = getEntry(that, key)\n , prev, index;\n // change existing entry\n if(entry){\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if(!that._f)that._f = entry;\n if(prev)prev.n = entry;\n that[SIZE]++;\n // add to index\n if(index !== 'F')that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function(C, NAME, IS_MAP){\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function(iterated, kind){\n this._t = iterated; // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function(){\n var that = this\n , kind = that._k\n , entry = that._l;\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n // get next entry\n if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if(kind == 'keys' )return step(0, entry.k);\n if(kind == 'values')return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_collection-strong.js\n// module id = 126\n// module chunks = 0","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = require('./_classof')\n , from = require('./_array-from-iterable');\nmodule.exports = function(NAME){\n return function toJSON(){\n if(classof(this) != NAME)throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_collection-to-json.js\n// module id = 127\n// module chunks = 0","'use strict';\nvar redefineAll = require('./_redefine-all')\n , getWeak = require('./_meta').getWeak\n , anObject = require('./_an-object')\n , isObject = require('./_is-object')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , createArrayMethod = require('./_array-methods')\n , $has = require('./_has')\n , arrayFind = createArrayMethod(5)\n , arrayFindIndex = createArrayMethod(6)\n , id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function(that){\n return that._l || (that._l = new UncaughtFrozenStore);\n};\nvar UncaughtFrozenStore = function(){\n this.a = [];\n};\nvar findUncaughtFrozen = function(store, key){\n return arrayFind(store.a, function(it){\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function(key){\n var entry = findUncaughtFrozen(this, key);\n if(entry)return entry[1];\n },\n has: function(key){\n return !!findUncaughtFrozen(this, key);\n },\n set: function(key, value){\n var entry = findUncaughtFrozen(this, key);\n if(entry)entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function(key){\n var index = arrayFindIndex(this.a, function(it){\n return it[0] === key;\n });\n if(~index)this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this)['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var data = getWeak(anObject(key), true);\n if(data === true)uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_collection-weak.js\n// module id = 128\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_ie8-dom-define.js\n// module id = 129\n// module chunks = 0","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object')\n , floor = Math.floor;\nmodule.exports = function isInteger(it){\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-integer.js\n// module id = 130\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function(iterator, fn, value, entries){\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch(e){\n var ret = iterator['return'];\n if(ret !== undefined)anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-call.js\n// module id = 131\n// module chunks = 0","module.exports = function(done, value){\n return {value: value, done: !!done};\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-step.js\n// module id = 132\n// module chunks = 0","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x){\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_math-log1p.js\n// module id = 133\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function(){\n var A = {}\n , B = {}\n , S = Symbol()\n , K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function(k){ B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source){ // eslint-disable-line no-unused-vars\n var T = toObject(target)\n , aLen = arguments.length\n , index = 1\n , getSymbols = gOPS.f\n , isEnum = pIE.f;\n while(aLen > index){\n var S = IObject(arguments[index++])\n , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)\n , length = keys.length\n , j = 0\n , key;\n while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];\n } return T;\n} : $assign;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-assign.js\n// module id = 134\n// module chunks = 0","var dP = require('./_object-dp')\n , anObject = require('./_an-object')\n , getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n anObject(O);\n var keys = getKeys(Properties)\n , length = keys.length\n , i = 0\n , P;\n while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-dps.js\n// module id = 135\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject')\n , gOPN = require('./_object-gopn').f\n , toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function(it){\n try {\n return gOPN(it);\n } catch(e){\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it){\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gopn-ext.js\n// module id = 136\n// module chunks = 0","var has = require('./_has')\n , toIObject = require('./_to-iobject')\n , arrayIndexOf = require('./_array-includes')(false)\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n var O = toIObject(object)\n , i = 0\n , result = []\n , key;\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while(names.length > i)if(has(O, key = names[i++])){\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-keys-internal.js\n// module id = 137\n// module chunks = 0","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject')\n , isEnum = require('./_object-pie').f;\nmodule.exports = function(isEntries){\n return function(it){\n var O = toIObject(it)\n , keys = getKeys(O)\n , length = keys.length\n , i = 0\n , result = []\n , key;\n while(length > i)if(isEnum.call(O, key = keys[i++])){\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-to-array.js\n// module id = 138\n// module chunks = 0","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn')\n , gOPS = require('./_object-gops')\n , anObject = require('./_an-object')\n , Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it){\n var keys = gOPN.f(anObject(it))\n , getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_own-keys.js\n// module id = 139\n// module chunks = 0","var $parseFloat = require('./_global').parseFloat\n , $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str){\n var string = $trim(String(str), 3)\n , result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_parse-float.js\n// module id = 140\n// module chunks = 0","var $parseInt = require('./_global').parseInt\n , $trim = require('./_string-trim').trim\n , ws = require('./_string-ws')\n , hex = /^[\\-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix){\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_parse-int.js\n// module id = 141\n// module chunks = 0","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y){\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_same-value.js\n// module id = 142\n// module chunks = 0","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length')\n , repeat = require('./_string-repeat')\n , defined = require('./_defined');\n\nmodule.exports = function(that, maxLength, fillString, left){\n var S = String(defined(that))\n , stringLength = S.length\n , fillStr = fillString === undefined ? ' ' : String(fillString)\n , intMaxLength = toLength(maxLength);\n if(intMaxLength <= stringLength || fillStr == '')return S;\n var fillLen = intMaxLength - stringLength\n , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-pad.js\n// module id = 143\n// module chunks = 0","exports.f = require('./_wks');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_wks-ext.js\n// module id = 144\n// module chunks = 0","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')('Map', function(get){\n return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key){\n var entry = strong.getEntry(this, key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value){\n return strong.def(this, key === 0 ? 0 : key, value);\n }\n}, strong, true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.map.js\n// module id = 145\n// module chunks = 0","// 21.2.5.3 get RegExp.prototype.flags()\nif(require('./_descriptors') && /./g.flags != 'g')require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.flags.js\n// module id = 146\n// module chunks = 0","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')('Set', function(get){\n return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value){\n return strong.def(this, value = value === 0 ? 0 : value, value);\n }\n}, strong);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.set.js\n// module id = 147\n// module chunks = 0","'use strict';\nvar each = require('./_array-methods')(0)\n , redefine = require('./_redefine')\n , meta = require('./_meta')\n , assign = require('./_object-assign')\n , weak = require('./_collection-weak')\n , isObject = require('./_is-object')\n , getWeak = meta.getWeak\n , isExtensible = Object.isExtensible\n , uncaughtFrozenStore = weak.ufstore\n , tmp = {}\n , InternalMap;\n\nvar wrapper = function(get){\n return function WeakMap(){\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key){\n if(isObject(key)){\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value){\n return weak.def(this, key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')('WeakMap', wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){\n InternalMap = weak.getConstructor(wrapper);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function(key){\n var proto = $WeakMap.prototype\n , method = proto[key];\n redefine(proto, key, function(a, b){\n // store frozen objects on internal weakmap shim\n if(isObject(a) && !isExtensible(a)){\n if(!this._f)this._f = new InternalMap;\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.weak-map.js\n// module id = 148\n// module chunks = 0","\n\n\n/**\n * UTM zones are grouped, and assigned to one of a group of 6\n * sets.\n *\n * {int} @private\n */\nvar NUM_100K_SETS = 6;\n\n/**\n * The column letters (for easting) of the lower left value, per\n * set.\n *\n * {string} @private\n */\nvar SET_ORIGIN_COLUMN_LETTERS = 'AJSAJS';\n\n/**\n * The row letters (for northing) of the lower left value, per\n * set.\n *\n * {string} @private\n */\nvar SET_ORIGIN_ROW_LETTERS = 'AFAFAF';\n\nvar A = 65; // A\nvar I = 73; // I\nvar O = 79; // O\nvar V = 86; // V\nvar Z = 90; // Z\nexport default {\n forward: forward,\n inverse: inverse,\n toPoint: toPoint\n};\n/**\n * Conversion of lat/lon to MGRS.\n *\n * @param {object} ll Object literal with lat and lon properties on a\n * WGS84 ellipsoid.\n * @param {int} accuracy Accuracy in digits (5 for 1 m, 4 for 10 m, 3 for\n * 100 m, 2 for 1000 m or 1 for 10000 m). Optional, default is 5.\n * @return {string} the MGRS string for the given location and accuracy.\n */\nexport function forward(ll, accuracy) {\n accuracy = accuracy || 5; // default accuracy 1m\n return encode(LLtoUTM({\n lat: ll[1],\n lon: ll[0]\n }), accuracy);\n};\n\n/**\n * Conversion of MGRS to lat/lon.\n *\n * @param {string} mgrs MGRS string.\n * @return {array} An array with left (longitude), bottom (latitude), right\n * (longitude) and top (latitude) values in WGS84, representing the\n * bounding box for the provided MGRS reference.\n */\nexport function inverse(mgrs) {\n var bbox = UTMtoLL(decode(mgrs.toUpperCase()));\n if (bbox.lat && bbox.lon) {\n return [bbox.lon, bbox.lat, bbox.lon, bbox.lat];\n }\n return [bbox.left, bbox.bottom, bbox.right, bbox.top];\n};\n\nexport function toPoint(mgrs) {\n var bbox = UTMtoLL(decode(mgrs.toUpperCase()));\n if (bbox.lat && bbox.lon) {\n return [bbox.lon, bbox.lat];\n }\n return [(bbox.left + bbox.right) / 2, (bbox.top + bbox.bottom) / 2];\n};\n/**\n * Conversion from degrees to radians.\n *\n * @private\n * @param {number} deg the angle in degrees.\n * @return {number} the angle in radians.\n */\nfunction degToRad(deg) {\n return (deg * (Math.PI / 180.0));\n}\n\n/**\n * Conversion from radians to degrees.\n *\n * @private\n * @param {number} rad the angle in radians.\n * @return {number} the angle in degrees.\n */\nfunction radToDeg(rad) {\n return (180.0 * (rad / Math.PI));\n}\n\n/**\n * Converts a set of Longitude and Latitude co-ordinates to UTM\n * using the WGS84 ellipsoid.\n *\n * @private\n * @param {object} ll Object literal with lat and lon properties\n * representing the WGS84 coordinate to be converted.\n * @return {object} Object literal containing the UTM value with easting,\n * northing, zoneNumber and zoneLetter properties, and an optional\n * accuracy property in digits. Returns null if the conversion failed.\n */\nfunction LLtoUTM(ll) {\n var Lat = ll.lat;\n var Long = ll.lon;\n var a = 6378137.0; //ellip.radius;\n var eccSquared = 0.00669438; //ellip.eccsq;\n var k0 = 0.9996;\n var LongOrigin;\n var eccPrimeSquared;\n var N, T, C, A, M;\n var LatRad = degToRad(Lat);\n var LongRad = degToRad(Long);\n var LongOriginRad;\n var ZoneNumber;\n // (int)\n ZoneNumber = Math.floor((Long + 180) / 6) + 1;\n\n //Make sure the longitude 180.00 is in Zone 60\n if (Long === 180) {\n ZoneNumber = 60;\n }\n\n // Special zone for Norway\n if (Lat >= 56.0 && Lat < 64.0 && Long >= 3.0 && Long < 12.0) {\n ZoneNumber = 32;\n }\n\n // Special zones for Svalbard\n if (Lat >= 72.0 && Lat < 84.0) {\n if (Long >= 0.0 && Long < 9.0) {\n ZoneNumber = 31;\n }\n else if (Long >= 9.0 && Long < 21.0) {\n ZoneNumber = 33;\n }\n else if (Long >= 21.0 && Long < 33.0) {\n ZoneNumber = 35;\n }\n else if (Long >= 33.0 && Long < 42.0) {\n ZoneNumber = 37;\n }\n }\n\n LongOrigin = (ZoneNumber - 1) * 6 - 180 + 3; //+3 puts origin\n // in middle of\n // zone\n LongOriginRad = degToRad(LongOrigin);\n\n eccPrimeSquared = (eccSquared) / (1 - eccSquared);\n\n N = a / Math.sqrt(1 - eccSquared * Math.sin(LatRad) * Math.sin(LatRad));\n T = Math.tan(LatRad) * Math.tan(LatRad);\n C = eccPrimeSquared * Math.cos(LatRad) * Math.cos(LatRad);\n A = Math.cos(LatRad) * (LongRad - LongOriginRad);\n\n M = a * ((1 - eccSquared / 4 - 3 * eccSquared * eccSquared / 64 - 5 * eccSquared * eccSquared * eccSquared / 256) * LatRad - (3 * eccSquared / 8 + 3 * eccSquared * eccSquared / 32 + 45 * eccSquared * eccSquared * eccSquared / 1024) * Math.sin(2 * LatRad) + (15 * eccSquared * eccSquared / 256 + 45 * eccSquared * eccSquared * eccSquared / 1024) * Math.sin(4 * LatRad) - (35 * eccSquared * eccSquared * eccSquared / 3072) * Math.sin(6 * LatRad));\n\n var UTMEasting = (k0 * N * (A + (1 - T + C) * A * A * A / 6.0 + (5 - 18 * T + T * T + 72 * C - 58 * eccPrimeSquared) * A * A * A * A * A / 120.0) + 500000.0);\n\n var UTMNorthing = (k0 * (M + N * Math.tan(LatRad) * (A * A / 2 + (5 - T + 9 * C + 4 * C * C) * A * A * A * A / 24.0 + (61 - 58 * T + T * T + 600 * C - 330 * eccPrimeSquared) * A * A * A * A * A * A / 720.0)));\n if (Lat < 0.0) {\n UTMNorthing += 10000000.0; //10000000 meter offset for\n // southern hemisphere\n }\n\n return {\n northing: Math.round(UTMNorthing),\n easting: Math.round(UTMEasting),\n zoneNumber: ZoneNumber,\n zoneLetter: getLetterDesignator(Lat)\n };\n}\n\n/**\n * Converts UTM coords to lat/long, using the WGS84 ellipsoid. This is a convenience\n * class where the Zone can be specified as a single string eg.\"60N\" which\n * is then broken down into the ZoneNumber and ZoneLetter.\n *\n * @private\n * @param {object} utm An object literal with northing, easting, zoneNumber\n * and zoneLetter properties. If an optional accuracy property is\n * provided (in meters), a bounding box will be returned instead of\n * latitude and longitude.\n * @return {object} An object literal containing either lat and lon values\n * (if no accuracy was provided), or top, right, bottom and left values\n * for the bounding box calculated according to the provided accuracy.\n * Returns null if the conversion failed.\n */\nfunction UTMtoLL(utm) {\n\n var UTMNorthing = utm.northing;\n var UTMEasting = utm.easting;\n var zoneLetter = utm.zoneLetter;\n var zoneNumber = utm.zoneNumber;\n // check the ZoneNummber is valid\n if (zoneNumber < 0 || zoneNumber > 60) {\n return null;\n }\n\n var k0 = 0.9996;\n var a = 6378137.0; //ellip.radius;\n var eccSquared = 0.00669438; //ellip.eccsq;\n var eccPrimeSquared;\n var e1 = (1 - Math.sqrt(1 - eccSquared)) / (1 + Math.sqrt(1 - eccSquared));\n var N1, T1, C1, R1, D, M;\n var LongOrigin;\n var mu, phi1Rad;\n\n // remove 500,000 meter offset for longitude\n var x = UTMEasting - 500000.0;\n var y = UTMNorthing;\n\n // We must know somehow if we are in the Northern or Southern\n // hemisphere, this is the only time we use the letter So even\n // if the Zone letter isn't exactly correct it should indicate\n // the hemisphere correctly\n if (zoneLetter < 'N') {\n y -= 10000000.0; // remove 10,000,000 meter offset used\n // for southern hemisphere\n }\n\n // There are 60 zones with zone 1 being at West -180 to -174\n LongOrigin = (zoneNumber - 1) * 6 - 180 + 3; // +3 puts origin\n // in middle of\n // zone\n\n eccPrimeSquared = (eccSquared) / (1 - eccSquared);\n\n M = y / k0;\n mu = M / (a * (1 - eccSquared / 4 - 3 * eccSquared * eccSquared / 64 - 5 * eccSquared * eccSquared * eccSquared / 256));\n\n phi1Rad = mu + (3 * e1 / 2 - 27 * e1 * e1 * e1 / 32) * Math.sin(2 * mu) + (21 * e1 * e1 / 16 - 55 * e1 * e1 * e1 * e1 / 32) * Math.sin(4 * mu) + (151 * e1 * e1 * e1 / 96) * Math.sin(6 * mu);\n // double phi1 = ProjMath.radToDeg(phi1Rad);\n\n N1 = a / Math.sqrt(1 - eccSquared * Math.sin(phi1Rad) * Math.sin(phi1Rad));\n T1 = Math.tan(phi1Rad) * Math.tan(phi1Rad);\n C1 = eccPrimeSquared * Math.cos(phi1Rad) * Math.cos(phi1Rad);\n R1 = a * (1 - eccSquared) / Math.pow(1 - eccSquared * Math.sin(phi1Rad) * Math.sin(phi1Rad), 1.5);\n D = x / (N1 * k0);\n\n var lat = phi1Rad - (N1 * Math.tan(phi1Rad) / R1) * (D * D / 2 - (5 + 3 * T1 + 10 * C1 - 4 * C1 * C1 - 9 * eccPrimeSquared) * D * D * D * D / 24 + (61 + 90 * T1 + 298 * C1 + 45 * T1 * T1 - 252 * eccPrimeSquared - 3 * C1 * C1) * D * D * D * D * D * D / 720);\n lat = radToDeg(lat);\n\n var lon = (D - (1 + 2 * T1 + C1) * D * D * D / 6 + (5 - 2 * C1 + 28 * T1 - 3 * C1 * C1 + 8 * eccPrimeSquared + 24 * T1 * T1) * D * D * D * D * D / 120) / Math.cos(phi1Rad);\n lon = LongOrigin + radToDeg(lon);\n\n var result;\n if (utm.accuracy) {\n var topRight = UTMtoLL({\n northing: utm.northing + utm.accuracy,\n easting: utm.easting + utm.accuracy,\n zoneLetter: utm.zoneLetter,\n zoneNumber: utm.zoneNumber\n });\n result = {\n top: topRight.lat,\n right: topRight.lon,\n bottom: lat,\n left: lon\n };\n }\n else {\n result = {\n lat: lat,\n lon: lon\n };\n }\n return result;\n}\n\n/**\n * Calculates the MGRS letter designator for the given latitude.\n *\n * @private\n * @param {number} lat The latitude in WGS84 to get the letter designator\n * for.\n * @return {char} The letter designator.\n */\nfunction getLetterDesignator(lat) {\n //This is here as an error flag to show that the Latitude is\n //outside MGRS limits\n var LetterDesignator = 'Z';\n\n if ((84 >= lat) && (lat >= 72)) {\n LetterDesignator = 'X';\n }\n else if ((72 > lat) && (lat >= 64)) {\n LetterDesignator = 'W';\n }\n else if ((64 > lat) && (lat >= 56)) {\n LetterDesignator = 'V';\n }\n else if ((56 > lat) && (lat >= 48)) {\n LetterDesignator = 'U';\n }\n else if ((48 > lat) && (lat >= 40)) {\n LetterDesignator = 'T';\n }\n else if ((40 > lat) && (lat >= 32)) {\n LetterDesignator = 'S';\n }\n else if ((32 > lat) && (lat >= 24)) {\n LetterDesignator = 'R';\n }\n else if ((24 > lat) && (lat >= 16)) {\n LetterDesignator = 'Q';\n }\n else if ((16 > lat) && (lat >= 8)) {\n LetterDesignator = 'P';\n }\n else if ((8 > lat) && (lat >= 0)) {\n LetterDesignator = 'N';\n }\n else if ((0 > lat) && (lat >= -8)) {\n LetterDesignator = 'M';\n }\n else if ((-8 > lat) && (lat >= -16)) {\n LetterDesignator = 'L';\n }\n else if ((-16 > lat) && (lat >= -24)) {\n LetterDesignator = 'K';\n }\n else if ((-24 > lat) && (lat >= -32)) {\n LetterDesignator = 'J';\n }\n else if ((-32 > lat) && (lat >= -40)) {\n LetterDesignator = 'H';\n }\n else if ((-40 > lat) && (lat >= -48)) {\n LetterDesignator = 'G';\n }\n else if ((-48 > lat) && (lat >= -56)) {\n LetterDesignator = 'F';\n }\n else if ((-56 > lat) && (lat >= -64)) {\n LetterDesignator = 'E';\n }\n else if ((-64 > lat) && (lat >= -72)) {\n LetterDesignator = 'D';\n }\n else if ((-72 > lat) && (lat >= -80)) {\n LetterDesignator = 'C';\n }\n return LetterDesignator;\n}\n\n/**\n * Encodes a UTM location as MGRS string.\n *\n * @private\n * @param {object} utm An object literal with easting, northing,\n * zoneLetter, zoneNumber\n * @param {number} accuracy Accuracy in digits (1-5).\n * @return {string} MGRS string for the given UTM location.\n */\nfunction encode(utm, accuracy) {\n // prepend with leading zeroes\n var seasting = \"00000\" + utm.easting,\n snorthing = \"00000\" + utm.northing;\n\n return utm.zoneNumber + utm.zoneLetter + get100kID(utm.easting, utm.northing, utm.zoneNumber) + seasting.substr(seasting.length - 5, accuracy) + snorthing.substr(snorthing.length - 5, accuracy);\n}\n\n/**\n * Get the two letter 100k designator for a given UTM easting,\n * northing and zone number value.\n *\n * @private\n * @param {number} easting\n * @param {number} northing\n * @param {number} zoneNumber\n * @return the two letter 100k designator for the given UTM location.\n */\nfunction get100kID(easting, northing, zoneNumber) {\n var setParm = get100kSetForZone(zoneNumber);\n var setColumn = Math.floor(easting / 100000);\n var setRow = Math.floor(northing / 100000) % 20;\n return getLetter100kID(setColumn, setRow, setParm);\n}\n\n/**\n * Given a UTM zone number, figure out the MGRS 100K set it is in.\n *\n * @private\n * @param {number} i An UTM zone number.\n * @return {number} the 100k set the UTM zone is in.\n */\nfunction get100kSetForZone(i) {\n var setParm = i % NUM_100K_SETS;\n if (setParm === 0) {\n setParm = NUM_100K_SETS;\n }\n\n return setParm;\n}\n\n/**\n * Get the two-letter MGRS 100k designator given information\n * translated from the UTM northing, easting and zone number.\n *\n * @private\n * @param {number} column the column index as it relates to the MGRS\n * 100k set spreadsheet, created from the UTM easting.\n * Values are 1-8.\n * @param {number} row the row index as it relates to the MGRS 100k set\n * spreadsheet, created from the UTM northing value. Values\n * are from 0-19.\n * @param {number} parm the set block, as it relates to the MGRS 100k set\n * spreadsheet, created from the UTM zone. Values are from\n * 1-60.\n * @return two letter MGRS 100k code.\n */\nfunction getLetter100kID(column, row, parm) {\n // colOrigin and rowOrigin are the letters at the origin of the set\n var index = parm - 1;\n var colOrigin = SET_ORIGIN_COLUMN_LETTERS.charCodeAt(index);\n var rowOrigin = SET_ORIGIN_ROW_LETTERS.charCodeAt(index);\n\n // colInt and rowInt are the letters to build to return\n var colInt = colOrigin + column - 1;\n var rowInt = rowOrigin + row;\n var rollover = false;\n\n if (colInt > Z) {\n colInt = colInt - Z + A - 1;\n rollover = true;\n }\n\n if (colInt === I || (colOrigin < I && colInt > I) || ((colInt > I || colOrigin < I) && rollover)) {\n colInt++;\n }\n\n if (colInt === O || (colOrigin < O && colInt > O) || ((colInt > O || colOrigin < O) && rollover)) {\n colInt++;\n\n if (colInt === I) {\n colInt++;\n }\n }\n\n if (colInt > Z) {\n colInt = colInt - Z + A - 1;\n }\n\n if (rowInt > V) {\n rowInt = rowInt - V + A - 1;\n rollover = true;\n }\n else {\n rollover = false;\n }\n\n if (((rowInt === I) || ((rowOrigin < I) && (rowInt > I))) || (((rowInt > I) || (rowOrigin < I)) && rollover)) {\n rowInt++;\n }\n\n if (((rowInt === O) || ((rowOrigin < O) && (rowInt > O))) || (((rowInt > O) || (rowOrigin < O)) && rollover)) {\n rowInt++;\n\n if (rowInt === I) {\n rowInt++;\n }\n }\n\n if (rowInt > V) {\n rowInt = rowInt - V + A - 1;\n }\n\n var twoLetter = String.fromCharCode(colInt) + String.fromCharCode(rowInt);\n return twoLetter;\n}\n\n/**\n * Decode the UTM parameters from a MGRS string.\n *\n * @private\n * @param {string} mgrsString an UPPERCASE coordinate string is expected.\n * @return {object} An object literal with easting, northing, zoneLetter,\n * zoneNumber and accuracy (in meters) properties.\n */\nfunction decode(mgrsString) {\n\n if (mgrsString && mgrsString.length === 0) {\n throw (\"MGRSPoint coverting from nothing\");\n }\n\n var length = mgrsString.length;\n\n var hunK = null;\n var sb = \"\";\n var testChar;\n var i = 0;\n\n // get Zone number\n while (!(/[A-Z]/).test(testChar = mgrsString.charAt(i))) {\n if (i >= 2) {\n throw (\"MGRSPoint bad conversion from: \" + mgrsString);\n }\n sb += testChar;\n i++;\n }\n\n var zoneNumber = parseInt(sb, 10);\n\n if (i === 0 || i + 3 > length) {\n // A good MGRS string has to be 4-5 digits long,\n // ##AAA/#AAA at least.\n throw (\"MGRSPoint bad conversion from: \" + mgrsString);\n }\n\n var zoneLetter = mgrsString.charAt(i++);\n\n // Should we check the zone letter here? Why not.\n if (zoneLetter <= 'A' || zoneLetter === 'B' || zoneLetter === 'Y' || zoneLetter >= 'Z' || zoneLetter === 'I' || zoneLetter === 'O') {\n throw (\"MGRSPoint zone letter \" + zoneLetter + \" not handled: \" + mgrsString);\n }\n\n hunK = mgrsString.substring(i, i += 2);\n\n var set = get100kSetForZone(zoneNumber);\n\n var east100k = getEastingFromChar(hunK.charAt(0), set);\n var north100k = getNorthingFromChar(hunK.charAt(1), set);\n\n // We have a bug where the northing may be 2000000 too low.\n // How\n // do we know when to roll over?\n\n while (north100k < getMinNorthing(zoneLetter)) {\n north100k += 2000000;\n }\n\n // calculate the char index for easting/northing separator\n var remainder = length - i;\n\n if (remainder % 2 !== 0) {\n throw (\"MGRSPoint has to have an even number \\nof digits after the zone letter and two 100km letters - front \\nhalf for easting meters, second half for \\nnorthing meters\" + mgrsString);\n }\n\n var sep = remainder / 2;\n\n var sepEasting = 0.0;\n var sepNorthing = 0.0;\n var accuracyBonus, sepEastingString, sepNorthingString, easting, northing;\n if (sep > 0) {\n accuracyBonus = 100000.0 / Math.pow(10, sep);\n sepEastingString = mgrsString.substring(i, i + sep);\n sepEasting = parseFloat(sepEastingString) * accuracyBonus;\n sepNorthingString = mgrsString.substring(i + sep);\n sepNorthing = parseFloat(sepNorthingString) * accuracyBonus;\n }\n\n easting = sepEasting + east100k;\n northing = sepNorthing + north100k;\n\n return {\n easting: easting,\n northing: northing,\n zoneLetter: zoneLetter,\n zoneNumber: zoneNumber,\n accuracy: accuracyBonus\n };\n}\n\n/**\n * Given the first letter from a two-letter MGRS 100k zone, and given the\n * MGRS table set for the zone number, figure out the easting value that\n * should be added to the other, secondary easting value.\n *\n * @private\n * @param {char} e The first letter from a two-letter MGRS 100´k zone.\n * @param {number} set The MGRS table set for the zone number.\n * @return {number} The easting value for the given letter and set.\n */\nfunction getEastingFromChar(e, set) {\n // colOrigin is the letter at the origin of the set for the\n // column\n var curCol = SET_ORIGIN_COLUMN_LETTERS.charCodeAt(set - 1);\n var eastingValue = 100000.0;\n var rewindMarker = false;\n\n while (curCol !== e.charCodeAt(0)) {\n curCol++;\n if (curCol === I) {\n curCol++;\n }\n if (curCol === O) {\n curCol++;\n }\n if (curCol > Z) {\n if (rewindMarker) {\n throw (\"Bad character: \" + e);\n }\n curCol = A;\n rewindMarker = true;\n }\n eastingValue += 100000.0;\n }\n\n return eastingValue;\n}\n\n/**\n * Given the second letter from a two-letter MGRS 100k zone, and given the\n * MGRS table set for the zone number, figure out the northing value that\n * should be added to the other, secondary northing value. You have to\n * remember that Northings are determined from the equator, and the vertical\n * cycle of letters mean a 2000000 additional northing meters. This happens\n * approx. every 18 degrees of latitude. This method does *NOT* count any\n * additional northings. You have to figure out how many 2000000 meters need\n * to be added for the zone letter of the MGRS coordinate.\n *\n * @private\n * @param {char} n Second letter of the MGRS 100k zone\n * @param {number} set The MGRS table set number, which is dependent on the\n * UTM zone number.\n * @return {number} The northing value for the given letter and set.\n */\nfunction getNorthingFromChar(n, set) {\n\n if (n > 'V') {\n throw (\"MGRSPoint given invalid Northing \" + n);\n }\n\n // rowOrigin is the letter at the origin of the set for the\n // column\n var curRow = SET_ORIGIN_ROW_LETTERS.charCodeAt(set - 1);\n var northingValue = 0.0;\n var rewindMarker = false;\n\n while (curRow !== n.charCodeAt(0)) {\n curRow++;\n if (curRow === I) {\n curRow++;\n }\n if (curRow === O) {\n curRow++;\n }\n // fixing a bug making whole application hang in this loop\n // when 'n' is a wrong character\n if (curRow > V) {\n if (rewindMarker) { // making sure that this loop ends\n throw (\"Bad character: \" + n);\n }\n curRow = A;\n rewindMarker = true;\n }\n northingValue += 100000.0;\n }\n\n return northingValue;\n}\n\n/**\n * The function getMinNorthing returns the minimum northing value of a MGRS\n * zone.\n *\n * Ported from Geotrans' c Lattitude_Band_Value structure table.\n *\n * @private\n * @param {char} zoneLetter The MGRS zone to get the min northing for.\n * @return {number}\n */\nfunction getMinNorthing(zoneLetter) {\n var northing;\n switch (zoneLetter) {\n case 'C':\n northing = 1100000.0;\n break;\n case 'D':\n northing = 2000000.0;\n break;\n case 'E':\n northing = 2800000.0;\n break;\n case 'F':\n northing = 3700000.0;\n break;\n case 'G':\n northing = 4600000.0;\n break;\n case 'H':\n northing = 5500000.0;\n break;\n case 'J':\n northing = 6400000.0;\n break;\n case 'K':\n northing = 7300000.0;\n break;\n case 'L':\n northing = 8200000.0;\n break;\n case 'M':\n northing = 9100000.0;\n break;\n case 'N':\n northing = 0.0;\n break;\n case 'P':\n northing = 800000.0;\n break;\n case 'Q':\n northing = 1700000.0;\n break;\n case 'R':\n northing = 2600000.0;\n break;\n case 'S':\n northing = 3500000.0;\n break;\n case 'T':\n northing = 4400000.0;\n break;\n case 'U':\n northing = 5300000.0;\n break;\n case 'V':\n northing = 6200000.0;\n break;\n case 'W':\n northing = 7000000.0;\n break;\n case 'X':\n northing = 7900000.0;\n break;\n default:\n northing = -1.0;\n }\n if (northing >= 0.0) {\n return northing;\n }\n else {\n throw (\"Invalid zone letter: \" + zoneLetter);\n }\n\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mgrs/mgrs.js\n// module id = 149\n// module chunks = 0","export default function(x, y) {\n x = Math.abs(x);\n y = Math.abs(y);\n var a = Math.max(x, y);\n var b = Math.min(x, y) / (a ? a : 1);\n\n return a * Math.sqrt(1 + Math.pow(b, 2));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/hypot.js\n// module id = 150\n// module chunks = 0","var C00 = 1;\nvar C02 = 0.25;\nvar C04 = 0.046875;\nvar C06 = 0.01953125;\nvar C08 = 0.01068115234375;\nvar C22 = 0.75;\nvar C44 = 0.46875;\nvar C46 = 0.01302083333333333333;\nvar C48 = 0.00712076822916666666;\nvar C66 = 0.36458333333333333333;\nvar C68 = 0.00569661458333333333;\nvar C88 = 0.3076171875;\n\nexport default function(es) {\n var en = [];\n en[0] = C00 - es * (C02 + es * (C04 + es * (C06 + es * C08)));\n en[1] = es * (C22 - es * (C04 + es * (C06 + es * C08)));\n var t = es * es;\n en[2] = t * (C44 - es * (C46 + es * C48));\n t *= es;\n en[3] = t * (C66 - es * C68);\n en[4] = t * es * C88;\n return en;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/pj_enfn.js\n// module id = 151\n// module chunks = 0","import pj_mlfn from \"./pj_mlfn\";\nimport {EPSLN} from '../constants/values';\n\nvar MAX_ITER = 20;\n\nexport default function(arg, es, en) {\n var k = 1 / (1 - es);\n var phi = arg;\n for (var i = MAX_ITER; i; --i) { /* rarely goes over 2 iterations */\n var s = Math.sin(phi);\n var t = 1 - es * s * s;\n //t = this.pj_mlfn(phi, s, Math.cos(phi), en) - arg;\n //phi -= t * (t * Math.sqrt(t)) * k;\n t = (pj_mlfn(phi, s, Math.cos(phi), en) - arg) * (t * Math.sqrt(t)) * k;\n phi -= t;\n if (Math.abs(t) < EPSLN) {\n return phi;\n }\n }\n //..reportError(\"cass:pj_inv_mlfn: Convergence error\");\n return phi;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/pj_inv_mlfn.js\n// module id = 152\n// module chunks = 0","export default function(x) {\n var r = Math.exp(x);\n r = (r - 1 / r) / 2;\n return r;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/sinh.js\n// module id = 153\n// module chunks = 0","export default function (array){\n var out = {\n x: array[0],\n y: array[1]\n };\n if (array.length>2) {\n out.z = array[2];\n }\n if (array.length>3) {\n out.m = array[3];\n }\n return out;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/toPoint.js\n// module id = 154\n// module chunks = 0","import globals from './global';\nimport parseProj from './projString';\nimport wkt from 'wkt-parser';\n\nfunction defs(name) {\n /*global console*/\n var that = this;\n if (arguments.length === 2) {\n var def = arguments[1];\n if (typeof def === 'string') {\n if (def.charAt(0) === '+') {\n defs[name] = parseProj(arguments[1]);\n }\n else {\n defs[name] = wkt(arguments[1]);\n }\n } else {\n defs[name] = def;\n }\n }\n else if (arguments.length === 1) {\n if (Array.isArray(name)) {\n return name.map(function(v) {\n if (Array.isArray(v)) {\n defs.apply(that, v);\n }\n else {\n defs(v);\n }\n });\n }\n else if (typeof name === 'string') {\n if (name in defs) {\n return defs[name];\n }\n }\n else if ('EPSG' in name) {\n defs['EPSG:' + name.EPSG] = name;\n }\n else if ('ESRI' in name) {\n defs['ESRI:' + name.ESRI] = name;\n }\n else if ('IAU2000' in name) {\n defs['IAU2000:' + name.IAU2000] = name;\n }\n else {\n console.log(name);\n }\n return;\n }\n\n\n}\nglobals(defs);\nexport default defs;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/defs.js\n// module id = 155\n// module chunks = 0","import {D2R} from './constants/values';\nimport PrimeMeridian from './constants/PrimeMeridian';\nimport units from './constants/units';\nimport match from './match';\n\nexport default function(defData) {\n var self = {};\n var paramObj = defData.split('+').map(function(v) {\n return v.trim();\n }).filter(function(a) {\n return a;\n }).reduce(function(p, a) {\n var split = a.split('=');\n split.push(true);\n p[split[0].toLowerCase()] = split[1];\n return p;\n }, {});\n var paramName, paramVal, paramOutname;\n var params = {\n proj: 'projName',\n datum: 'datumCode',\n rf: function(v) {\n self.rf = parseFloat(v);\n },\n lat_0: function(v) {\n self.lat0 = v * D2R;\n },\n lat_1: function(v) {\n self.lat1 = v * D2R;\n },\n lat_2: function(v) {\n self.lat2 = v * D2R;\n },\n lat_ts: function(v) {\n self.lat_ts = v * D2R;\n },\n lon_0: function(v) {\n self.long0 = v * D2R;\n },\n lon_1: function(v) {\n self.long1 = v * D2R;\n },\n lon_2: function(v) {\n self.long2 = v * D2R;\n },\n alpha: function(v) {\n self.alpha = parseFloat(v) * D2R;\n },\n lonc: function(v) {\n self.longc = v * D2R;\n },\n x_0: function(v) {\n self.x0 = parseFloat(v);\n },\n y_0: function(v) {\n self.y0 = parseFloat(v);\n },\n k_0: function(v) {\n self.k0 = parseFloat(v);\n },\n k: function(v) {\n self.k0 = parseFloat(v);\n },\n a: function(v) {\n self.a = parseFloat(v);\n },\n b: function(v) {\n self.b = parseFloat(v);\n },\n r_a: function() {\n self.R_A = true;\n },\n zone: function(v) {\n self.zone = parseInt(v, 10);\n },\n south: function() {\n self.utmSouth = true;\n },\n towgs84: function(v) {\n self.datum_params = v.split(\",\").map(function(a) {\n return parseFloat(a);\n });\n },\n to_meter: function(v) {\n self.to_meter = parseFloat(v);\n },\n units: function(v) {\n self.units = v;\n var unit = match(units, v);\n if (unit) {\n self.to_meter = unit.to_meter;\n }\n },\n from_greenwich: function(v) {\n self.from_greenwich = v * D2R;\n },\n pm: function(v) {\n var pm = match(PrimeMeridian, v);\n self.from_greenwich = (pm ? pm : parseFloat(v)) * D2R;\n },\n nadgrids: function(v) {\n if (v === '@null') {\n self.datumCode = 'none';\n }\n else {\n self.nadgrids = v;\n }\n },\n axis: function(v) {\n var legalAxis = \"ewnsud\";\n if (v.length === 3 && legalAxis.indexOf(v.substr(0, 1)) !== -1 && legalAxis.indexOf(v.substr(1, 1)) !== -1 && legalAxis.indexOf(v.substr(2, 1)) !== -1) {\n self.axis = v;\n }\n }\n };\n for (paramName in paramObj) {\n paramVal = paramObj[paramName];\n if (paramName in params) {\n paramOutname = params[paramName];\n if (typeof paramOutname === 'function') {\n paramOutname(paramVal);\n }\n else {\n self[paramOutname] = paramVal;\n }\n }\n else {\n self[paramName] = paramVal;\n }\n }\n if(typeof self.datumCode === 'string' && self.datumCode !== \"WGS84\"){\n self.datumCode = self.datumCode.toLowerCase();\n }\n return self;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projString.js\n// module id = 156\n// module chunks = 0","// Heavily based on this etmerc projection implementation\n// https://github.com/mbloch/mapshaper-proj/blob/master/src/projections/etmerc.js\n\nimport sinh from '../common/sinh';\nimport hypot from '../common/hypot';\nimport asinhy from '../common/asinhy';\nimport gatg from '../common/gatg';\nimport clens from '../common/clens';\nimport clens_cmplx from '../common/clens_cmplx';\nimport adjust_lon from '../common/adjust_lon';\n\nexport function init() {\n if (this.es === undefined || this.es <= 0) {\n throw new Error('incorrect elliptical usage');\n }\n\n this.x0 = this.x0 !== undefined ? this.x0 : 0;\n this.y0 = this.y0 !== undefined ? this.y0 : 0;\n this.long0 = this.long0 !== undefined ? this.long0 : 0;\n this.lat0 = this.lat0 !== undefined ? this.lat0 : 0;\n\n this.cgb = [];\n this.cbg = [];\n this.utg = [];\n this.gtu = [];\n\n var f = this.es / (1 + Math.sqrt(1 - this.es));\n var n = f / (2 - f);\n var np = n;\n\n this.cgb[0] = n * (2 + n * (-2 / 3 + n * (-2 + n * (116 / 45 + n * (26 / 45 + n * (-2854 / 675 ))))));\n this.cbg[0] = n * (-2 + n * ( 2 / 3 + n * ( 4 / 3 + n * (-82 / 45 + n * (32 / 45 + n * (4642 / 4725))))));\n\n np = np * n;\n this.cgb[1] = np * (7 / 3 + n * (-8 / 5 + n * (-227 / 45 + n * (2704 / 315 + n * (2323 / 945)))));\n this.cbg[1] = np * (5 / 3 + n * (-16 / 15 + n * ( -13 / 9 + n * (904 / 315 + n * (-1522 / 945)))));\n\n np = np * n;\n this.cgb[2] = np * (56 / 15 + n * (-136 / 35 + n * (-1262 / 105 + n * (73814 / 2835))));\n this.cbg[2] = np * (-26 / 15 + n * (34 / 21 + n * (8 / 5 + n * (-12686 / 2835))));\n\n np = np * n;\n this.cgb[3] = np * (4279 / 630 + n * (-332 / 35 + n * (-399572 / 14175)));\n this.cbg[3] = np * (1237 / 630 + n * (-12 / 5 + n * ( -24832 / 14175)));\n\n np = np * n;\n this.cgb[4] = np * (4174 / 315 + n * (-144838 / 6237));\n this.cbg[4] = np * (-734 / 315 + n * (109598 / 31185));\n\n np = np * n;\n this.cgb[5] = np * (601676 / 22275);\n this.cbg[5] = np * (444337 / 155925);\n\n np = Math.pow(n, 2);\n this.Qn = this.k0 / (1 + n) * (1 + np * (1 / 4 + np * (1 / 64 + np / 256)));\n\n this.utg[0] = n * (-0.5 + n * ( 2 / 3 + n * (-37 / 96 + n * ( 1 / 360 + n * (81 / 512 + n * (-96199 / 604800))))));\n this.gtu[0] = n * (0.5 + n * (-2 / 3 + n * (5 / 16 + n * (41 / 180 + n * (-127 / 288 + n * (7891 / 37800))))));\n\n this.utg[1] = np * (-1 / 48 + n * (-1 / 15 + n * (437 / 1440 + n * (-46 / 105 + n * (1118711 / 3870720)))));\n this.gtu[1] = np * (13 / 48 + n * (-3 / 5 + n * (557 / 1440 + n * (281 / 630 + n * (-1983433 / 1935360)))));\n\n np = np * n;\n this.utg[2] = np * (-17 / 480 + n * (37 / 840 + n * (209 / 4480 + n * (-5569 / 90720 ))));\n this.gtu[2] = np * (61 / 240 + n * (-103 / 140 + n * (15061 / 26880 + n * (167603 / 181440))));\n\n np = np * n;\n this.utg[3] = np * (-4397 / 161280 + n * (11 / 504 + n * (830251 / 7257600)));\n this.gtu[3] = np * (49561 / 161280 + n * (-179 / 168 + n * (6601661 / 7257600)));\n\n np = np * n;\n this.utg[4] = np * (-4583 / 161280 + n * (108847 / 3991680));\n this.gtu[4] = np * (34729 / 80640 + n * (-3418889 / 1995840));\n\n np = np * n;\n this.utg[5] = np * (-20648693 / 638668800);\n this.gtu[5] = np * (212378941 / 319334400);\n\n var Z = gatg(this.cbg, this.lat0);\n this.Zb = -this.Qn * (Z + clens(this.gtu, 2 * Z));\n}\n\nexport function forward(p) {\n var Ce = adjust_lon(p.x - this.long0);\n var Cn = p.y;\n\n Cn = gatg(this.cbg, Cn);\n var sin_Cn = Math.sin(Cn);\n var cos_Cn = Math.cos(Cn);\n var sin_Ce = Math.sin(Ce);\n var cos_Ce = Math.cos(Ce);\n\n Cn = Math.atan2(sin_Cn, cos_Ce * cos_Cn);\n Ce = Math.atan2(sin_Ce * cos_Cn, hypot(sin_Cn, cos_Cn * cos_Ce));\n Ce = asinhy(Math.tan(Ce));\n\n var tmp = clens_cmplx(this.gtu, 2 * Cn, 2 * Ce);\n\n Cn = Cn + tmp[0];\n Ce = Ce + tmp[1];\n\n var x;\n var y;\n\n if (Math.abs(Ce) <= 2.623395162778) {\n x = this.a * (this.Qn * Ce) + this.x0;\n y = this.a * (this.Qn * Cn + this.Zb) + this.y0;\n }\n else {\n x = Infinity;\n y = Infinity;\n }\n\n p.x = x;\n p.y = y;\n\n return p;\n}\n\nexport function inverse(p) {\n var Ce = (p.x - this.x0) * (1 / this.a);\n var Cn = (p.y - this.y0) * (1 / this.a);\n\n Cn = (Cn - this.Zb) / this.Qn;\n Ce = Ce / this.Qn;\n\n var lon;\n var lat;\n\n if (Math.abs(Ce) <= 2.623395162778) {\n var tmp = clens_cmplx(this.utg, 2 * Cn, 2 * Ce);\n\n Cn = Cn + tmp[0];\n Ce = Ce + tmp[1];\n Ce = Math.atan(sinh(Ce));\n\n var sin_Cn = Math.sin(Cn);\n var cos_Cn = Math.cos(Cn);\n var sin_Ce = Math.sin(Ce);\n var cos_Ce = Math.cos(Ce);\n\n Cn = Math.atan2(sin_Cn * cos_Ce, hypot(sin_Ce, cos_Ce * cos_Cn));\n Ce = Math.atan2(sin_Ce, cos_Ce * cos_Cn);\n\n lon = adjust_lon(Ce + this.long0);\n lat = gatg(this.cgb, Cn);\n }\n else {\n lon = Infinity;\n lat = Infinity;\n }\n\n p.x = lon;\n p.y = lat;\n\n return p;\n}\n\nexport var names = [\"Extended_Transverse_Mercator\", \"Extended Transverse Mercator\", \"etmerc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/etmerc.js\n// module id = 157\n// module chunks = 0","import {D2R, R2D, PJD_3PARAM, PJD_7PARAM} from './constants/values';\nimport datum_transform from './datum_transform';\nimport adjust_axis from './adjust_axis';\nimport proj from './Proj';\nimport toPoint from './common/toPoint';\nfunction checkNotWGS(source, dest) {\n return ((source.datum.datum_type === PJD_3PARAM || source.datum.datum_type === PJD_7PARAM) && dest.datumCode !== 'WGS84') || ((dest.datum.datum_type === PJD_3PARAM || dest.datum.datum_type === PJD_7PARAM) && source.datumCode !== 'WGS84');\n}\n\nexport default function transform(source, dest, point) {\n var wgs84;\n if (Array.isArray(point)) {\n point = toPoint(point);\n }\n\n // Workaround for datum shifts towgs84, if either source or destination projection is not wgs84\n if (source.datum && dest.datum && checkNotWGS(source, dest)) {\n wgs84 = new proj('WGS84');\n point = transform(source, wgs84, point);\n source = wgs84;\n }\n // DGR, 2010/11/12\n if (source.axis !== 'enu') {\n point = adjust_axis(source, false, point);\n }\n // Transform source points to long/lat, if they aren't already.\n if (source.projName === 'longlat') {\n point = {\n x: point.x * D2R,\n y: point.y * D2R\n };\n }\n else {\n if (source.to_meter) {\n point = {\n x: point.x * source.to_meter,\n y: point.y * source.to_meter\n };\n }\n point = source.inverse(point); // Convert Cartesian to longlat\n }\n // Adjust for the prime meridian if necessary\n if (source.from_greenwich) {\n point.x += source.from_greenwich;\n }\n\n // Convert datums if needed, and if possible.\n point = datum_transform(source.datum, dest.datum, point);\n\n // Adjust for the prime meridian if necessary\n if (dest.from_greenwich) {\n point = {\n x: point.x - dest.from_greenwich,\n y: point.y\n };\n }\n\n if (dest.projName === 'longlat') {\n // convert radians to decimal degrees\n point = {\n x: point.x * R2D,\n y: point.y * R2D\n };\n } else { // else project\n point = dest.forward(point);\n if (dest.to_meter) {\n point = {\n x: point.x / dest.to_meter,\n y: point.y / dest.to_meter\n };\n }\n }\n\n // DGR, 2010/11/12\n if (dest.axis !== 'enu') {\n return adjust_axis(dest, true, point);\n }\n\n return point;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/transform.js\n// module id = 158\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 159\n// module chunks = 0","var D2R = 0.01745329251994329577;\nimport parser from './parser';\nimport {sExpr} from './process';\n\n\n\nfunction rename(obj, params) {\n var outName = params[0];\n var inName = params[1];\n if (!(outName in obj) && (inName in obj)) {\n obj[outName] = obj[inName];\n if (params.length === 3) {\n obj[outName] = params[2](obj[outName]);\n }\n }\n}\n\nfunction d2r(input) {\n return input * D2R;\n}\n\nfunction cleanWKT(wkt) {\n if (wkt.type === 'GEOGCS') {\n wkt.projName = 'longlat';\n } else if (wkt.type === 'LOCAL_CS') {\n wkt.projName = 'identity';\n wkt.local = true;\n } else {\n if (typeof wkt.PROJECTION === 'object') {\n wkt.projName = Object.keys(wkt.PROJECTION)[0];\n } else {\n wkt.projName = wkt.PROJECTION;\n }\n }\n if (wkt.UNIT) {\n wkt.units = wkt.UNIT.name.toLowerCase();\n if (wkt.units === 'metre') {\n wkt.units = 'meter';\n }\n if (wkt.UNIT.convert) {\n if (wkt.type === 'GEOGCS') {\n if (wkt.DATUM && wkt.DATUM.SPHEROID) {\n wkt.to_meter = wkt.UNIT.convert*wkt.DATUM.SPHEROID.a;\n }\n } else {\n wkt.to_meter = wkt.UNIT.convert, 10;\n }\n }\n }\n var geogcs = wkt.GEOGCS;\n if (wkt.type === 'GEOGCS') {\n geogcs = wkt;\n }\n if (geogcs) {\n //if(wkt.GEOGCS.PRIMEM&&wkt.GEOGCS.PRIMEM.convert){\n // wkt.from_greenwich=wkt.GEOGCS.PRIMEM.convert*D2R;\n //}\n if (geogcs.DATUM) {\n wkt.datumCode = geogcs.DATUM.name.toLowerCase();\n } else {\n wkt.datumCode = geogcs.name.toLowerCase();\n }\n if (wkt.datumCode.slice(0, 2) === 'd_') {\n wkt.datumCode = wkt.datumCode.slice(2);\n }\n if (wkt.datumCode === 'new_zealand_geodetic_datum_1949' || wkt.datumCode === 'new_zealand_1949') {\n wkt.datumCode = 'nzgd49';\n }\n if (wkt.datumCode === 'wgs_1984') {\n if (wkt.PROJECTION === 'Mercator_Auxiliary_Sphere') {\n wkt.sphere = true;\n }\n wkt.datumCode = 'wgs84';\n }\n if (wkt.datumCode.slice(-6) === '_ferro') {\n wkt.datumCode = wkt.datumCode.slice(0, - 6);\n }\n if (wkt.datumCode.slice(-8) === '_jakarta') {\n wkt.datumCode = wkt.datumCode.slice(0, - 8);\n }\n if (~wkt.datumCode.indexOf('belge')) {\n wkt.datumCode = 'rnb72';\n }\n if (geogcs.DATUM && geogcs.DATUM.SPHEROID) {\n wkt.ellps = geogcs.DATUM.SPHEROID.name.replace('_19', '').replace(/[Cc]larke\\_18/, 'clrk');\n if (wkt.ellps.toLowerCase().slice(0, 13) === 'international') {\n wkt.ellps = 'intl';\n }\n\n wkt.a = geogcs.DATUM.SPHEROID.a;\n wkt.rf = parseFloat(geogcs.DATUM.SPHEROID.rf, 10);\n }\n if (~wkt.datumCode.indexOf('osgb_1936')) {\n wkt.datumCode = 'osgb36';\n }\n if (~wkt.datumCode.indexOf('osni_1952')) {\n wkt.datumCode = 'osni52';\n }\n if (~wkt.datumCode.indexOf('tm65')\n || ~wkt.datumCode.indexOf('geodetic_datum_of_1965')) {\n wkt.datumCode = 'ire65';\n }\n }\n if (wkt.b && !isFinite(wkt.b)) {\n wkt.b = wkt.a;\n }\n\n function toMeter(input) {\n var ratio = wkt.to_meter || 1;\n return input * ratio;\n }\n var renamer = function(a) {\n return rename(wkt, a);\n };\n var list = [\n ['standard_parallel_1', 'Standard_Parallel_1'],\n ['standard_parallel_2', 'Standard_Parallel_2'],\n ['false_easting', 'False_Easting'],\n ['false_northing', 'False_Northing'],\n ['central_meridian', 'Central_Meridian'],\n ['latitude_of_origin', 'Latitude_Of_Origin'],\n ['latitude_of_origin', 'Central_Parallel'],\n ['scale_factor', 'Scale_Factor'],\n ['k0', 'scale_factor'],\n ['latitude_of_center', 'Latitude_of_center'],\n ['lat0', 'latitude_of_center', d2r],\n ['longitude_of_center', 'Longitude_Of_Center'],\n ['longc', 'longitude_of_center', d2r],\n ['x0', 'false_easting', toMeter],\n ['y0', 'false_northing', toMeter],\n ['long0', 'central_meridian', d2r],\n ['lat0', 'latitude_of_origin', d2r],\n ['lat0', 'standard_parallel_1', d2r],\n ['lat1', 'standard_parallel_1', d2r],\n ['lat2', 'standard_parallel_2', d2r],\n ['alpha', 'azimuth', d2r],\n ['srsCode', 'name']\n ];\n list.forEach(renamer);\n if (!wkt.long0 && wkt.longc && (wkt.projName === 'Albers_Conic_Equal_Area' || wkt.projName === 'Lambert_Azimuthal_Equal_Area')) {\n wkt.long0 = wkt.longc;\n }\n if (!wkt.lat_ts && wkt.lat1 && (wkt.projName === 'Stereographic_South_Pole' || wkt.projName === 'Polar Stereographic (variant B)')) {\n wkt.lat0 = d2r(wkt.lat1 > 0 ? 90 : -90);\n wkt.lat_ts = wkt.lat1;\n }\n}\nexport default function(wkt) {\n var lisp = parser(wkt);\n var type = lisp.shift();\n var name = lisp.shift();\n lisp.unshift(['name', name]);\n lisp.unshift(['type', type]);\n var obj = {};\n sExpr(lisp, obj);\n cleanWKT(obj);\n return obj;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/wkt-parser/index.js\n// module id = 160\n// module chunks = 0","const HMap = {}\r\nHMap.version = require('../package.json').version\r\nimport {ol, proj4} from './constants'\r\nimport './scss/index'\r\nimport Map from './map/Map'\r\nimport Observable from './event/Observable'\r\nimport Layer from './layer/Layer'\r\nimport Feature from './feature/feature'\r\nimport CoordsTransform from './plugins/CoordsTransform'\r\nimport LayerSwitcher from './plugins/LayerSwitcher'\r\nimport MeasureTool from './plugins/MeasureTool'\r\nimport LayerSpyglass from './interaction/LayerSpyglass'\r\nimport MisplacesGlass from './interaction/MisplacesGlass'\r\nimport GeomCoder from './plugins/GeomCoder'\r\nimport PlotDraw from './plot/Event/PlotDraw'\r\nimport PlotEdit from './plot/Event/PlotEdit'\r\nimport CustomCircle from './plugins/CustomCircle'\r\nimport Popover from './overlay/Popover'\r\nimport Controls from './controls/index'\r\nimport * as utils from './utils/utils'\r\n\r\nHMap.ol = ol\r\nwindow.ol = ol\r\nHMap.proj4 = proj4\r\nwindow.proj4 = proj4\r\nHMap.Map = Map\r\nHMap.Observable = Observable\r\nHMap.Utils = utils\r\nHMap.PlotDraw = PlotDraw\r\nHMap.PlotEdit = PlotEdit\r\nHMap.Layer = Layer\r\nHMap.Feature = Feature\r\nHMap.Popover = Popover\r\nHMap.CoordsTransform = CoordsTransform\r\nHMap.CustomCircle = CustomCircle\r\nHMap.LayerSwitcher = LayerSwitcher\r\nHMap.MeasureTool = MeasureTool\r\nHMap.LayerSpyglass = LayerSpyglass\r\nHMap.MisplacesGlass = MisplacesGlass\r\nHMap.GeomCoder = GeomCoder\r\nHMap.Controls = Controls\r\n\r\n/**\r\n * Inherit the prototype methods from one constructor into another.\r\n *\r\n * Usage:\r\n *\r\n * function ParentClass(a, b) { }\r\n * ParentClass.prototype.foo = function(a) { }\r\n *\r\n * function ChildClass(a, b, c) {\r\n * // Call parent constructor\r\n * ParentClass.call(this, a, b);\r\n * }\r\n * HMap.inherits(ChildClass, ParentClass);\r\n *\r\n * var child = new ChildClass('a', 'b', 'see');\r\n * child.foo(); // This works.\r\n *\r\n * @param {!Function} childCtor Child constructor.\r\n * @param {!Function} parentCtor Parent constructor.\r\n * @function\r\n * @api\r\n */\r\nHMap.inherits = function (childCtor, parentCtor) {\r\n childCtor.prototype = Object.create(parentCtor.prototype)\r\n childCtor.prototype.constructor = childCtor\r\n}\r\n\r\n/**\r\n * A reusable function, used e.g. as a default for callbacks.\r\n *\r\n * @return {undefined} Nothing.\r\n */\r\nHMap.nullFunction = function () {\r\n}\r\n\r\nexport default HMap\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","\"use strict\";\n\nrequire(\"core-js/shim\");\n\nrequire(\"regenerator-runtime/runtime\");\n\nrequire(\"core-js/fn/regexp/escape\");\n\nif (global._babelPolyfill) {\n throw new Error(\"only one instance of babel-polyfill is allowed\");\n}\nglobal._babelPolyfill = true;\n\nvar DEFINE_PROPERTY = \"defineProperty\";\nfunction define(O, key, value) {\n O[key] || Object[DEFINE_PROPERTY](O, key, {\n writable: true,\n configurable: true,\n value: value\n });\n}\n\ndefine(String.prototype, \"padLeft\", \"\".padStart);\ndefine(String.prototype, \"padRight\", \"\".padEnd);\n\n\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function (key) {\n [][key] && define(Array, key, Function.call.bind([][key]));\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-polyfill/lib/index.js\n// module id = 162\n// module chunks = 0","const config = {\r\n interactions: {\r\n altShiftDragRotate: true,\r\n doubleClickZoom: true,\r\n keyboard: true,\r\n mouseWheelZoom: true,\r\n shiftDragZoom: true,\r\n dragPan: true,\r\n pinchRotate: true,\r\n pinchZoom: true,\r\n zoomDelta: 5, // 缩放增量(默认一级)\r\n zoomDuration: 5 // 缩放持续时间\r\n },\r\n controls: {\r\n attribution: true,\r\n attributionOptions: {\r\n className: 'ol-attribution', // Default\r\n target: 'attributionTarget'\r\n },\r\n rotate: true,\r\n rotateOptions: {\r\n className: 'ol-rotate', // Default\r\n target: 'rotateTarget'\r\n },\r\n zoom: true,\r\n zoomOptions: {\r\n className: 'ol-zoom', // Default\r\n target: 'zoomTarget'\r\n },\r\n overViewMapVisible: false,\r\n scaleLineVisible: true\r\n },\r\n view: {\r\n center: [0, 0],\r\n // constrainRotation: false, // 旋转角度约束\r\n enableRotation: true, // 是否允许旋转\r\n extent: [],\r\n // maxResolution: 0, // 非必须参数\r\n // minResolution: 0,\r\n // maxZoom: 19,\r\n // minZoom: 0,\r\n projection: 'EPSG:3857',\r\n resolutions: [],\r\n rotation: 0,\r\n resolution: '',\r\n zoom: 0, // resolution\r\n zoomFactor: 2 // 用于约束分变率的缩放因子(高分辨率设备需要注意)\r\n },\r\n logo: {}\r\n}\r\n\r\nexport default config\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/config/config.js","/**\r\n * Created by FDD on 2017/6/14.\r\n * @desc 底图切换控件\r\n */\r\nimport {ol} from '../constants'\r\nimport {DomUtil, css} from '../dom'\r\nimport LayerSwitcher from '../plugins/LayerSwitcher'\r\nconst BaseLayerSwitcher = function (params) {\r\n this.options = params || {}\r\n let className = (this.options.className !== undefined ? this.options.className : 'hmap-baseLayer-switch')\r\n if (!this.options['map'] || !(this.options['map'] instanceof ol.Map)) {\r\n throw new Error('缺少底图对象!')\r\n } else {\r\n this.map = this.options['map']\r\n }\r\n let mapConfigStr = this.map.getProperties()\r\n if (mapConfigStr) {\r\n let mapConfig = JSON.parse(mapConfigStr)\r\n this.baseLayerConfig = mapConfig['baseLayers']\r\n }\r\n /**\r\n * @private\r\n * @type {Element}\r\n */\r\n this.element_ = DomUtil.create('div', (className + ' ' + css.CLASS_UNSELECTABLE))\r\n /**\r\n * @private\r\n * @type {Element}\r\n */\r\n this.innerElement_ = DomUtil.create('ul', className + '-inner', this.element_, className + '-inner')\r\n this.LayerSwitcher = new LayerSwitcher(this.map)\r\n this.innerElement_.addEventListener('click', event => {\r\n let ev = event || window.event\r\n let target = ev.target || ev.srcElement\r\n if (target.nodeName.toLowerCase() === 'li') {\r\n let layerName = 'vector'\r\n this.LayerSwitcher.switchLayer(layerName)\r\n }\r\n })\r\n ol.control.Control.call(this, {\r\n element: this.element_,\r\n target: this.options['target']\r\n })\r\n}\r\n\r\nol.inherits(BaseLayerSwitcher, ol.control.Control)\r\n\r\n/**\r\n * 初始化页面元素\r\n */\r\nBaseLayerSwitcher.prototype.initDom = function () {\r\n if (this.baseLayerConfig && Array.isArray(this.baseLayerConfig) && this.baseLayerConfig.length > 0) {\r\n this.baseLayerConfig.forEach(item => {\r\n if (item && item['layerName']) {\r\n this.liDom = this.creatDom(['li', 'span'], ['mapTypeCard' + item['layerName'], 'title'], this.innerElement_)\r\n this.liDom.setAttribute('data-name', item['layerName'])\r\n }\r\n })\r\n }\r\n}\r\n/**\r\n * 创建页面模板(tagNames,classNames,ids)长度保持唯一\r\n * @param tagNames\r\n * @param classNames\r\n * @param container\r\n * @param ids\r\n */\r\nBaseLayerSwitcher.prototype.creatDom = function (tagNames, classNames, container, ids) {\r\n let templates = ''\r\n if (Array.isArray(tagNames) && Array.isArray(classNames) && Array.isArray(ids) && tagNames.length === classNames.length === ids.length) {\r\n let els = tagNames.map((tagName, index) => {\r\n let el = document.createElement(tagName)\r\n el.className = classNames[index] || ''\r\n if (ids[index]) {\r\n el.id = ids[index]\r\n }\r\n return el\r\n })\r\n if (els && els.length > 0) {\r\n els.forEach((item, index) => {\r\n if (index > 0) {\r\n els[index - 1].appendChild(item)\r\n }\r\n templates = els[0]\r\n })\r\n }\r\n }\r\n if (container) {\r\n container.appendChild(templates)\r\n }\r\n return templates\r\n}\r\n\r\nexport default BaseLayerSwitcher\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/controls/BaseLayerSwitcher.js","/**\r\n * Created by FDD on 2017/6/6.\r\n * @desc 用于图层比较\r\n */\r\nimport {ol} from '../constants'\r\nimport {DomUtil, css} from '../dom'\r\nconst CompareLayer = function (beforeMap, afterMap, params) {\r\n this.options = params || {}\r\n let className = (this.options.className !== undefined ? this.options.className : 'hmap-compare')\r\n\r\n if (!this.options['map'] || !(this.options['map'] instanceof ol.Map)) {\r\n throw new Error('缺少底图对象!')\r\n } else {\r\n this.map = this.options['map']\r\n }\r\n this.beforeMap = beforeMap\r\n this.afterMap = afterMap\r\n\r\n /**\r\n * @private\r\n * @type {Element}\r\n */\r\n this.element_ = DomUtil.create('div', (className + ' ' + css.CLASS_UNSELECTABLE))\r\n\r\n /**\r\n * @private\r\n * @type {Element}\r\n */\r\n this.innerElement_ = DomUtil.create('div', className + '-inner', this.element_)\r\n\r\n this._onDown = this._onDown.bind(this)\r\n this._onMove = this._onMove.bind(this)\r\n this._onMouseUp = this._onMouseUp.bind(this)\r\n /**\r\n * 获取当前视图大小\r\n * @type {ClientRect}\r\n * @private\r\n */\r\n this._bounds = this.getMap().getTargetElement().getBoundingClientRect()\r\n this.percent = 0.5\r\n this._setPosition(this._bounds.width, this._bounds.width / 2)\r\n\r\n if (this.options && this.options.mousemove) {\r\n this.getMap().getTargetElement().addEventListener('mousemove', this._onMove)\r\n }\r\n this.addEvent()\r\n this.resize()\r\n ol.control.Control.call(this, {\r\n element: this.element_,\r\n target: this.options['target']\r\n })\r\n}\r\n\r\nol.inherits(CompareLayer, ol.control.Control)\r\n\r\n/**\r\n * 获取当前地图对象\r\n * @returns {*}\r\n */\r\nCompareLayer.prototype.getMap = function () {\r\n return this.map\r\n}\r\n\r\n/**\r\n * 通过canvas切割视图\r\n * @param beforeMap\r\n * @param value\r\n */\r\nCompareLayer.prototype.clipLayer = function (beforeMap, value) {\r\n this.getMap().un('precompose', this.precompose)\r\n this.getMap().un('postcompose', this.postcompose)\r\n this.precompose = beforeMap.on('precompose', event => {\r\n let ctx = event.context\r\n let width = ctx.canvas.width * (value)\r\n ctx.save()\r\n ctx.beginPath()\r\n ctx.rect(width, 0, ctx.canvas.width - width, ctx.canvas.height)\r\n ctx.clip()\r\n })\r\n this.postcompose = beforeMap.on('postcompose', event => {\r\n let ctx = event.context\r\n ctx.restore()\r\n })\r\n}\r\n\r\n/**\r\n * 添加事件监听\r\n */\r\nCompareLayer.prototype.addEvent = function () {\r\n this.innerElement_.addEventListener('mousedown', this._onDown)\r\n this.innerElement_.addEventListener('touchstart', this._onDown)\r\n}\r\n\r\n/**\r\n * 鼠标按下事件处理\r\n * @param e\r\n * @private\r\n */\r\nCompareLayer.prototype._onDown = function (e) {\r\n if (e.touches) {\r\n document.addEventListener('touchmove', this._onMove)\r\n document.addEventListener('touchend', this._onTouchEnd)\r\n } else {\r\n document.addEventListener('mousemove', this._onMove)\r\n document.addEventListener('mouseup', this._onMouseUp)\r\n }\r\n}\r\n\r\n/**\r\n * 设置切割位置\r\n * @param x\r\n * @private\r\n */\r\nCompareLayer.prototype._setPosition = function (sourceWidth, value) {\r\n let pos = 'translate(' + value + 'px, 0)'\r\n this.element_.style.transform = pos\r\n this.element_.style.WebkitTransform = pos\r\n this._x = value\r\n this.percent = value / sourceWidth\r\n this.clipLayer(this.beforeMap, value / sourceWidth)\r\n}\r\n\r\n/**\r\n * 窗口变化事件\r\n */\r\nCompareLayer.prototype.resize = function () {\r\n let resizeEvt = (('orientationchange' in window) ? 'orientationchange' : 'resize')\r\n let doc = window.document\r\n let that = this\r\n window.addEventListener(resizeEvt, function () {\r\n setTimeout(function () {\r\n that._bounds = that.getMap().getTargetElement().getBoundingClientRect()\r\n that._setPosition(that._bounds.width, that._bounds.width * that.percent)\r\n }, 50)\r\n }, false)\r\n window.addEventListener('pageshow', function (e) {\r\n if (e.persisted) {\r\n setTimeout(function () {\r\n that._bounds = that.getMap().getTargetElement().getBoundingClientRect()\r\n that._setPosition(that._bounds.width, that._bounds.width * that.percent)\r\n }, 50)\r\n }\r\n }, false)\r\n if (doc.readyState === 'complete') {\r\n setTimeout(function () {\r\n that._bounds = that.getMap().getTargetElement().getBoundingClientRect()\r\n that._setPosition(that._bounds.width, that._bounds.width * that.percent)\r\n }, 50)\r\n } else {\r\n doc.addEventListener('DOMContentLoaded', function (e) {\r\n setTimeout(function () {\r\n that._bounds = that.getMap().getTargetElement().getBoundingClientRect()\r\n that._setPosition(that._bounds.width, that._bounds.width * that.percent)\r\n }, 50)\r\n }, false)\r\n }\r\n}\r\n\r\n/**\r\n * 处理移动事件\r\n * @param e\r\n * @private\r\n */\r\nCompareLayer.prototype._onMove = function (e) {\r\n this._bounds = this.getMap().getTargetElement().getBoundingClientRect()\r\n this._setPosition(this._bounds.width, this._getX(e))\r\n}\r\n\r\n/**\r\n * 处理按键抬起事件\r\n * @private\r\n */\r\nCompareLayer.prototype._onMouseUp = function () {\r\n document.removeEventListener('mousemove', this._onMove)\r\n document.removeEventListener('mouseup', this._onMouseUp)\r\n}\r\n\r\n/**\r\n * 监听触摸结束事件\r\n * @private\r\n */\r\nCompareLayer.prototype._onTouchEnd = function () {\r\n document.removeEventListener('touchmove', this._onMove)\r\n document.removeEventListener('touchend', this._onTouchEnd)\r\n}\r\n\r\n/**\r\n * 获取当前位置\r\n * @param e\r\n * @returns {number}\r\n * @private\r\n */\r\nCompareLayer.prototype._getX = function (e) {\r\n e = e.touches ? e.touches[0] : e\r\n let x = e.clientX - this._bounds.left\r\n if (x < 0) x = 0\r\n if (x > this._bounds.width) x = this._bounds.width\r\n return x\r\n}\r\n\r\nexport default CompareLayer\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/controls/CompareLayer.js","/**\r\n * Created by FDD on 2017/6/11.\r\n * @desc 用于定位功能\r\n */\r\nimport {ol} from '../constants'\r\nimport {DomUtil, css} from '../dom'\r\nconst Geolocation = function (params) {\r\n this.options = params || {}\r\n let className = (this.options.className !== undefined ? this.options.className : 'hmap-geolocation')\r\n if (!this.options['map'] || !(this.options['map'] instanceof ol.Map)) {\r\n throw new Error('缺少底图对象!')\r\n } else {\r\n this.map = this.options['map']\r\n }\r\n /**\r\n * @private\r\n * @type {Element}\r\n */\r\n this.element_ = DomUtil.create('div', (className + ' ' + css.CLASS_UNSELECTABLE))\r\n\r\n /**\r\n * @private\r\n * @type {Element}\r\n */\r\n this.innerElement_ = DomUtil.create('div', className + '-inner', this.element_)\r\n this.element_.addEventListener('click', this.clickHandle)\r\n this.initControl()\r\n ol.control.Control.call(this, {\r\n element: this.element_,\r\n target: this.options['target']\r\n })\r\n}\r\n\r\nol.inherits(Geolocation, ol.control.Control)\r\n\r\n/**\r\n * 设置当前地图对象\r\n * @param map\r\n */\r\nGeolocation.prototype.setMap = function (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n }\r\n}\r\n\r\n/**\r\n * 获取当前地图对象\r\n * @returns {*|ol.Map}\r\n */\r\nGeolocation.prototype.getMap = function () {\r\n return this.map\r\n}\r\n\r\n/**\r\n * 初始化\r\n */\r\nGeolocation.prototype.initControl = function () {\r\n /**\r\n * 定位\r\n * @type {ol.Geolocation}\r\n */\r\n this.geolocation = new ol.Geolocation({\r\n projection: this.map.getView().getProjection()\r\n })\r\n /**\r\n * 是否开启跟踪模式\r\n */\r\n this.geolocation.setTracking((typeof this.options['track'] === 'boolean') ? this.options['track'] : false)\r\n this.geolocation.on('change', () => {\r\n let accuracy = this.geolocation.getAccuracy()\r\n let altitude = this.geolocation.getAltitude()\r\n let altitudeAccuracy = this.geolocation.getAltitudeAccuracy()\r\n let heading = this.geolocation.getHeading()\r\n let speed = this.geolocation.getSpeed()\r\n console.log(accuracy, altitude, altitudeAccuracy, heading, speed)\r\n })\r\n this.geolocation.on('error', (error) => {\r\n let info = document.getElementById('info')\r\n info.innerHTML = error.message\r\n info.style.display = ''\r\n })\r\n this.geolocation.on('change:accuracyGeometry', () => {\r\n console.log(this.geolocation.getAccuracyGeometry())\r\n })\r\n this.geolocation.on('change:position', () => {\r\n let coordinates = this.geolocation.getPosition()\r\n console.log(coordinates)\r\n })\r\n}\r\n\r\n/**\r\n * 处理事件\r\n */\r\nGeolocation.prototype.clickHandle = function () {\r\n let coordinates = this.geolocation.getPosition()\r\n console.log(coordinates)\r\n}\r\n\r\nexport default Geolocation\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/controls/Geolocation.js","/**\r\n * Created by FDD on 2017/6/14.\r\n * @desc Controls\r\n */\r\nimport Geolocation from './Geolocation'\r\nimport CompareLayer from './CompareLayer'\r\nimport BaseLayerSwitcher from './BaseLayerSwitcher'\r\nlet Controls = {\r\n Geolocation: Geolocation,\r\n CompareLayer: CompareLayer,\r\n BaseLayerSwitcher: BaseLayerSwitcher\r\n}\r\n\r\nexport default Controls\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/controls/index.js","/**\r\n * The CSS class for hidden feature.\r\n * @const\r\n * @type {string}\r\n */\r\nexport const CLASS_HIDDEN = 'ol-hidden'\r\n\r\n/**\r\n * The CSS class that we'll give the DOM elements to have them selectable.\r\n *\r\n * @const\r\n * @type {string}\r\n */\r\nexport const CLASS_SELECTABLE = 'ol-selectable'\r\n\r\n/**\r\n * The CSS class that we'll give the DOM elements to have them unselectable.\r\n *\r\n * @const\r\n * @type {string}\r\n */\r\nexport const CLASS_UNSELECTABLE = 'ol-unselectable'\r\n\r\n/**\r\n * The CSS class for unsupported feature.\r\n *\r\n * @const\r\n * @type {string}\r\n */\r\nexport const CLASS_UNSUPPORTED = 'ol-unsupported'\r\n\r\n/**\r\n * The CSS class for controls.\r\n *\r\n * @const\r\n * @type {string}\r\n */\r\nexport const CLASS_CONTROL = 'ol-control'\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/dom/css.js","import { ol } from '../constants'\r\nclass appDrag extends (ol.interaction.Pointer) {\r\n constructor () {\r\n super()\r\n ol.interaction.Pointer.call(this, {\r\n handleDownEvent: this.handleDownEvent,\r\n handleDragEvent: this.handleDragEvent,\r\n handleMoveEvent: this.handleMoveEvent,\r\n handleUpEvent: this.handleUpEvent\r\n })\r\n\r\n this.customType = 'appDrag'\r\n /**\r\n * @type {ol.Pixel}\r\n * @private\r\n */\r\n this.coordinate_ = null\r\n\r\n /**\r\n * @type {string|undefined}\r\n * @private\r\n */\r\n this.cursor_ = 'pointer'\r\n\r\n /**\r\n * @type {ol.Feature}\r\n * @private\r\n */\r\n this.feature_ = null\r\n\r\n /**\r\n * @type {string|undefined}\r\n * @private\r\n */\r\n this.previousCursor_ = undefined\r\n }\r\n\r\n /**\r\n * @param {ol.MapBrowserEvent} evt Map browser event.\r\n * @return {boolean} `true` to start the drag sequence.\r\n */\r\n handleDownEvent (evt) {\r\n if (evt.originalEvent.button === 0) {\r\n let map = evt.map\r\n let feature = map.forEachFeatureAtPixel(evt.pixel, function (feature) {\r\n return feature\r\n })\r\n if (feature && feature.get('params') && feature.get('params').moveable) {\r\n this.coordinate_ = evt.coordinate\r\n this.feature_ = feature\r\n this.feature_.dispatchEvent({\r\n type: 'mouseDownEvent',\r\n originEvent: evt,\r\n value: feature\r\n })\r\n }\r\n return !!this.feature_\r\n }\r\n }\r\n\r\n /**\r\n * @param {ol.MapBrowserEvent} evt Map browser event.\r\n */\r\n handleDragEvent (evt) {\r\n if (!this.coordinate_) {\r\n return\r\n }\r\n let deltaX = evt.coordinate[0] - this.coordinate_[0]\r\n let deltaY = evt.coordinate[1] - this.coordinate_[1]\r\n let geometry = /** @type {ol.geom.SimpleGeometry} */\r\n (this.feature_.getGeometry())\r\n geometry.translate(deltaX, deltaY)\r\n this.coordinate_[0] = evt.coordinate[0]\r\n this.coordinate_[1] = evt.coordinate[1]\r\n this.feature_.dispatchEvent('featureMove')\r\n }\r\n\r\n /**\r\n * @param {ol.MapBrowserEvent} evt Event.\r\n */\r\n handleMoveEvent (evt) {\r\n if (this.cursor_) {\r\n let map = evt.map\r\n let feature = null\r\n if (this.feature_) {\r\n feature = this.feature_\r\n } else {\r\n feature = map.forEachFeatureAtPixel(evt.pixel, function (feature) {\r\n return feature\r\n })\r\n }\r\n let element = evt.map.getTargetElement()\r\n if (feature && feature.get('params')) {\r\n if (element.style.cursor !== this.cursor_) {\r\n this.previousCursor_ = element.style.cursor\r\n element.style.cursor = this.cursor_\r\n }\r\n } else if (this.previousCursor_ !== undefined) {\r\n element.style.cursor = this.previousCursor_\r\n this.previousCursor_ = undefined\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @return {boolean} `false` to stop the drag sequence.\r\n */\r\n handleUpEvent (evt) {\r\n if (this.feature_ && this.feature_.get('params') && this.feature_.get('params').moveable) {\r\n this.feature_.dispatchEvent({\r\n type: 'mouseUpEvent',\r\n originEvent: evt,\r\n value: this.feature_\r\n })\r\n }\r\n this.coordinate_ = null\r\n this.feature_ = null\r\n return false\r\n }\r\n}\r\n\r\nexport default appDrag\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/event/appDrag.js","import { ol } from '../constants'\r\n\r\nclass LayerSpyglass {\r\n constructor (params) {\r\n this.options = params || {}\r\n /**\r\n * 当前地图对象\r\n */\r\n if (this.options.map && this.options.map instanceof ol.Map) {\r\n this.map = this.options.map\r\n } else {\r\n throw new Error('缺少地图对象!')\r\n }\r\n /**\r\n * 当前地图容器\r\n */\r\n this.container = this.map.getTargetElement()\r\n /**\r\n * 当前滤镜图层\r\n */\r\n this.imagery = this.options['imagery']\r\n /**\r\n * 当前鼠标位置\r\n * @type {null}\r\n */\r\n this.mousePosition = null\r\n /**\r\n * 当前滤镜半径\r\n * @type {number}\r\n */\r\n this.radius = 0\r\n\r\n this.activate()\r\n }\r\n\r\n /**\r\n * 激活工具\r\n */\r\n activate () {\r\n this.container.addEventListener('mousemove', event => {\r\n this.mousePosition = this.map.getEventPixel(event)\r\n this.map.render()\r\n })\r\n\r\n this.container.addEventListener('mouseout', () => {\r\n this.map.render()\r\n })\r\n\r\n document.addEventListener('keydown', evt => {\r\n if (evt.which === 38) {\r\n this.radius = Math.min(this.radius + 5, 150)\r\n this.map.render()\r\n evt.preventDefault()\r\n } else if (evt.which === 40) {\r\n this.radius = Math.max(this.radius - 5, 25)\r\n this.map.render()\r\n evt.preventDefault()\r\n }\r\n })\r\n\r\n this.renderTool()\r\n }\r\n\r\n /**\r\n * 渲染工具\r\n */\r\n renderTool () {\r\n // 在渲染之前处理渲染图层\r\n this.imagery.on('precompose', event => {\r\n let [ctx, pixelRatio] = [event.context, event.frameState.pixelRatio]\r\n ctx.save()\r\n ctx.beginPath()\r\n if (this.mousePosition) {\r\n ctx.arc(this.mousePosition[0] * pixelRatio, this.mousePosition[1] * pixelRatio,\r\n this.radius * pixelRatio, 0, 2 * Math.PI)\r\n ctx.lineWidth = 5 * pixelRatio\r\n ctx.strokeStyle = 'rgba(0,0,0,0.5)'\r\n ctx.stroke()\r\n }\r\n ctx.clip()\r\n })\r\n\r\n this.imagery.on('postcompose', event => {\r\n let ctx = event.context\r\n ctx.restore()\r\n })\r\n }\r\n\r\n /**\r\n * 销毁事件\r\n */\r\n destroy () {\r\n console.log('destroying')\r\n }\r\n\r\n /**\r\n * 设置当前地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n }\r\n }\r\n\r\n /**\r\n * 返回当前地图对象\r\n * @returns {ol.Map}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n}\r\n\r\nexport default LayerSpyglass\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/interaction/LayerSpyglass.js","import { ol } from '../constants'\r\n\r\nclass MisplacesGlass {\r\n constructor (params) {\r\n this.options = params || {}\r\n /**\r\n * 当前地图对象\r\n */\r\n if (this.options.map && this.options.map instanceof ol.Map) {\r\n this.map = this.options.map\r\n } else {\r\n throw new Error('缺少地图对象!')\r\n }\r\n /**\r\n * 当前地图容器\r\n */\r\n this.container = this.map.getTargetElement()\r\n /**\r\n * 当前滤镜图层\r\n */\r\n this.imagery = this.options['imagery']\r\n /**\r\n * 当前鼠标位置\r\n * @type {null}\r\n */\r\n this.mousePosition = null\r\n /**\r\n * 当前滤镜半径\r\n * @type {number}\r\n */\r\n this.radius = 0\r\n\r\n this.activate()\r\n }\r\n\r\n /**\r\n * 激活工具\r\n */\r\n activate () {\r\n this.container.addEventListener('mousemove', event => {\r\n this.mousePosition = this.map.getEventPixel(event)\r\n this.map.render()\r\n })\r\n\r\n this.container.addEventListener('mouseout', () => {\r\n this.map.render()\r\n })\r\n\r\n document.addEventListener('keydown', evt => {\r\n if (evt.which === 38) {\r\n this.radius = Math.min(this.radius + 5, 150)\r\n this.map.render()\r\n evt.preventDefault()\r\n } else if (evt.which === 40) {\r\n this.radius = Math.max(this.radius - 5, 25)\r\n this.map.render()\r\n evt.preventDefault()\r\n }\r\n })\r\n\r\n this.renderTool()\r\n }\r\n\r\n /**\r\n * 渲染工具\r\n */\r\n renderTool () {\r\n this.imagery.on('postcompose', event => {\r\n if (this.mousePosition) {\r\n let context = event.context\r\n let pixelRatio = event.frameState.pixelRatio\r\n let half = this.radius * pixelRatio\r\n let centerX = this.mousePosition[0] * pixelRatio\r\n let centerY = this.mousePosition[1] * pixelRatio\r\n let originX = centerX - half\r\n let originY = centerY - half\r\n let size = 2 * half + 1\r\n let sourceData = context.getImageData(originX, originY, size, size).data\r\n let dest = context.createImageData(size, size)\r\n let destData = dest.data\r\n for (let j = 0; j < size; ++j) {\r\n for (let i = 0; i < size; ++i) {\r\n let dI = i - half\r\n let dJ = j - half\r\n let dist = Math.sqrt(dI * dI + dJ * dJ)\r\n let sourceI = i\r\n let sourceJ = j\r\n if (dist < half) {\r\n sourceI = Math.round(half + dI / 2)\r\n sourceJ = Math.round(half + dJ / 2)\r\n }\r\n let destOffset = (j * size + i) * 4\r\n let sourceOffset = (sourceJ * size + sourceI) * 4\r\n destData[destOffset] = sourceData[sourceOffset]\r\n destData[destOffset + 1] = sourceData[sourceOffset + 1]\r\n destData[destOffset + 2] = sourceData[sourceOffset + 2]\r\n destData[destOffset + 3] = sourceData[sourceOffset + 3]\r\n }\r\n }\r\n context.beginPath()\r\n context.arc(centerX, centerY, half, 0, 2 * Math.PI)\r\n context.lineWidth = 3 * pixelRatio\r\n context.strokeStyle = 'rgba(255,255,255,0.5)'\r\n context.putImageData(dest, originX, originY)\r\n context.stroke()\r\n context.restore()\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * 销毁事件\r\n */\r\n destroy () {\r\n console.log('destroying')\r\n }\r\n\r\n /**\r\n * 设置当前地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n }\r\n }\r\n\r\n /**\r\n * 返回当前地图对象\r\n * @returns {ol.Map}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n}\r\n\r\nexport default MisplacesGlass\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/interaction/MisplacesGlass.js","import {ol} from '../../constants'\r\n\r\n/**\r\n * @classdesc\r\n * Layer source for the OpenStreetMap tile server.\r\n * @constructor\r\n * @extends {ol.source.XYZ}\r\n * @param {olx.source.OSMOptions=} optOptions Open Street Map options.\r\n * @api\r\n */\r\nol.source.BAIDU = function (optOptions) {\r\n let options = optOptions || {}\r\n let attributions = ''\r\n if (options.attributions !== undefined) {\r\n attributions = options.attributions\r\n } else {\r\n attributions = [ol.source.BAIDU.ATTRIBUTION]\r\n }\r\n let crossOrigin = options.crossOrigin !== undefined ? options.crossOrigin : 'anonymous'\r\n let url = options.url !== undefined ? options.url : 'http://online{0-3}.map.bdimg.com/onlinelabel/?qt=tile&x={x}&y={y}&z={z}&styles=pl&udt=20170607&scaler=1&p=1'\r\n let tileLoadFunction = options.tileLoadFunction ? options.tileLoadFunction : undefined\r\n if (!tileLoadFunction) {\r\n tileLoadFunction = function (tileCoord) {\r\n let url = ''\r\n if (tileCoord && Array.isArray(tileCoord)) {\r\n let [z, x, y] = [tileCoord[0], tileCoord[1], tileCoord[2]]\r\n if (x < 0) {\r\n x = 'M' + (-x)\r\n }\r\n if (y < 0) {\r\n y = 'M' + (-y)\r\n }\r\n url = url.replace('{z}', (z).toString()).replace('{x}', y.toString()).replace('{y}', (x).toString())\r\n } else if (typeof tileCoord === 'object') {\r\n tileCoord = tileCoord.getTileCoord()\r\n let [z, x, y] = [tileCoord[0], tileCoord[1], tileCoord[2]]\r\n if (x < 0) {\r\n x = 'M' + (-x)\r\n }\r\n if (y < 0) {\r\n y = 'M' + (-y)\r\n }\r\n url = url.replace('{z}', (z).toString()).replace('{x}', y.toString()).replace('{y}', (x).toString())\r\n }\r\n console.log(url)\r\n return url\r\n }\r\n }\r\n ol.source.XYZ.call(this, {\r\n attributions: attributions,\r\n cacheSize: options.cacheSize,\r\n crossOrigin: crossOrigin,\r\n opaque: options.opaque !== undefined ? options.opaque : true,\r\n maxZoom: options.maxZoom !== undefined ? options.maxZoom : 19,\r\n reprojectionErrorThreshold: options.reprojectionErrorThreshold,\r\n tileLoadFunction: tileLoadFunction,\r\n url: url,\r\n wrapX: options.wrapX\r\n })\r\n}\r\nol.inherits(ol.source.BAIDU, ol.source.XYZ)\r\n\r\n/**\r\n * The attribution containing a link to the OpenStreetMap Copyright and License\r\n * page.\r\n * @const\r\n * @type {ol.Attribution}\r\n * @api\r\n */\r\nol.source.BAIDU.ATTRIBUTION = new ol.Attribution({\r\n html: '© ' +\r\n '百度地图 ' +\r\n 'contributors.'\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layer/source/BaiDu.js","import {ol} from '../../constants'\r\n\r\n/**\r\n * @classdesc\r\n * Layer source for the OpenStreetMap tile server.\r\n * @constructor\r\n * @extends {ol.source.XYZ}\r\n * @param {olx.source.OSMOptions=} optOptions Open Street Map options.\r\n * @api\r\n */\r\nol.source.GAODE = function (optOptions) {\r\n let options = optOptions || {}\r\n let attributions = ''\r\n if (options.attributions !== undefined) {\r\n attributions = options.attributions\r\n } else {\r\n attributions = [ol.source.GAODE.ATTRIBUTION]\r\n }\r\n let crossOrigin = options.crossOrigin !== undefined ? options.crossOrigin : 'anonymous'\r\n let url = options.url !== undefined ? options.url : 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=6&x={x}&y={y}&z={z}'\r\n\r\n ol.source.XYZ.call(this, {\r\n attributions: attributions,\r\n cacheSize: options.cacheSize,\r\n crossOrigin: crossOrigin,\r\n opaque: options.opaque !== undefined ? options.opaque : true,\r\n maxZoom: options.maxZoom !== undefined ? options.maxZoom : 19,\r\n reprojectionErrorThreshold: options.reprojectionErrorThreshold,\r\n tileLoadFunction: options.tileLoadFunction,\r\n url: url,\r\n wrapX: options.wrapX\r\n })\r\n}\r\nol.inherits(ol.source.GAODE, ol.source.XYZ)\r\n\r\n/**\r\n * The attribution containing a link to the OpenStreetMap Copyright and License\r\n * page.\r\n * @const\r\n * @type {ol.Attribution}\r\n * @api\r\n */\r\nol.source.GAODE.ATTRIBUTION = new ol.Attribution({\r\n html: '© ' +\r\n '高德地图 ' +\r\n 'contributors.'\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layer/source/GaoDe.js","import {ol} from '../../constants'\r\n\r\n/**\r\n * @classdesc\r\n * Layer source for the OpenStreetMap tile server.\r\n * @constructor\r\n * @extends {ol.source.XYZ}\r\n * @param {olx.source.OSMOptions=} optOptions Open Street Map options.\r\n * @api\r\n */\r\nol.source.GOOGLE = function (optOptions) {\r\n let options = optOptions || {}\r\n let attributions = ''\r\n if (options.attributions !== undefined) {\r\n attributions = options.attributions\r\n } else {\r\n attributions = [ol.source.GOOGLE.ATTRIBUTION]\r\n }\r\n let crossOrigin = options.crossOrigin !== undefined ? options.crossOrigin : 'anonymous'\r\n let url = options.url !== undefined ? options.url : 'http://www.google.cn/maps/vt?lyrs=m@189&gl=cn&x={x}&y={y}&z={z}'\r\n\r\n ol.source.XYZ.call(this, {\r\n attributions: attributions,\r\n cacheSize: options.cacheSize,\r\n crossOrigin: crossOrigin,\r\n opaque: options.opaque !== undefined ? options.opaque : true,\r\n maxZoom: options.maxZoom !== undefined ? options.maxZoom : 19,\r\n reprojectionErrorThreshold: options.reprojectionErrorThreshold,\r\n tileLoadFunction: options.tileLoadFunction,\r\n url: url,\r\n wrapX: options.wrapX\r\n })\r\n}\r\nol.inherits(ol.source.GOOGLE, ol.source.XYZ)\r\n\r\n/**\r\n * The attribution containing a link to the OpenStreetMap Copyright and License\r\n * page.\r\n * @const\r\n * @type {ol.Attribution}\r\n * @api\r\n */\r\nol.source.GOOGLE.ATTRIBUTION = new ol.Attribution({\r\n html: '© ' +\r\n '谷歌地图 ' +\r\n 'contributors.'\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layer/source/Google.js","import { ol } from '../constants'\r\nclass Controls {\r\n _addControls (params) {\r\n let options = params || {}\r\n /* eslint new-cap: [\"error\", { \"newIsCap\": false }] */\r\n return new ol.control.defaults({\r\n attribution: (options['attribution'] === false ? options['attribution'] : true),\r\n rotate: (options['rotate'] === false ? options['rotate'] : true),\r\n zoom: (options['zoom'] === false ? options['zoom'] : true)\r\n })\r\n }\r\n\r\n _addScaleLine () {\r\n let control = this.map.getControls()\r\n control.extend([\r\n new ol.control.ScaleLine() // 比例尺控件\r\n ])\r\n }\r\n\r\n /**\r\n * 放大\r\n */\r\n zoomIn (duration) {\r\n let zoom = this.map.getView().getZoom()\r\n this.map.getView().animate({\r\n zoom: (zoom + 1),\r\n duration: ((duration && typeof duration === 'number') ? duration : 300)\r\n })\r\n }\r\n /**\r\n * 缩小\r\n */\r\n zoomOut (duration) {\r\n let zoom = this.map.getView().getZoom()\r\n this.map.getView().animate({\r\n zoom: (zoom - 1),\r\n duration: ((duration && typeof duration === 'number') ? duration : 300)\r\n })\r\n }\r\n\r\n zoomByDelta (delta, duration) {\r\n let view = this.map.getView()\r\n if (!view || !(view instanceof ol.View)) {\r\n return false\r\n } else {\r\n let currentResolution = view.getResolution()\r\n if (currentResolution) {\r\n let newResolution = view.constrainResolution(currentResolution, delta)\r\n if (duration > 0) {\r\n if (view.getAnimating()) {\r\n view.cancelAnimations()\r\n }\r\n view.animate({\r\n resolution: newResolution,\r\n duration: duration,\r\n easing: ol.easing.easeOut\r\n })\r\n } else {\r\n view.setResolution(newResolution)\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default Controls\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/map/Controls.js","import { ol } from '../constants'\r\nimport appDrag from '../event/appDrag'\r\nclass Interactions {\r\n _addInteractions (params) {\r\n let options = params || {}\r\n /* eslint new-cap: [\"error\", { \"newIsCap\": false }] */\r\n return new ol.interaction.defaults({\r\n altShiftDragRotate: ((options['altShiftDragRotate'] === false) ? options['altShiftDragRotate'] : true),\r\n doubleClickZoom: ((options['doubleClickZoom'] === false) ? options['doubleClickZoom'] : true),\r\n keyboard: ((options['keyboard'] === false) ? options['keyboard'] : true),\r\n mouseWheelZoom: ((options['mouseWheelZoom'] === false) ? options['mouseWheelZoom'] : true),\r\n shiftDragZoom: ((options['shiftDragZoom'] === false) ? options['shiftDragZoom'] : true),\r\n dragPan: ((options['dragPan'] === false) ? options['dragPan'] : true),\r\n pinchRotate: ((options['pinchRotate'] === false) ? options['pinchRotate'] : true),\r\n pinchZoom: ((options['pinchZoom'] === false) ? options['pinchZoom'] : true),\r\n zoomDelta: ((options['zoomDelta'] && (typeof (options['zoomDelta'])) === 'number') ? options['zoomDelta'] : 1), // 缩放增量(默认一级)\r\n zoomDuration: (options['zoomDuration'] && (typeof (options['zoomDelta'])) === 'number') ? options['zoomDuration'] : 300 // 缩放持续时间\r\n }).extend([new appDrag()])\r\n }\r\n}\r\n\r\nexport default Interactions\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/map/Interactions.js","import mix from '../utils/mixin'\r\nimport {ol, proj4} from '../constants'\r\nimport BaseLayers from './baseLayer'\r\nimport Controls from './Controls'\r\nimport Interactions from './Interactions'\r\nimport View from './View'\r\nimport Layer from '../layer/Layer'\r\nimport Feature from '../feature/feature'\r\nimport Style from '../style/Style'\r\nimport Overlay from '../overlay/Overlay'\r\nimport Observable from '../event/Observable'\r\n\r\nclass Map extends mix(BaseLayers, Controls, Interactions, Style, Layer, View, Feature, Overlay) {\r\n constructor () {\r\n super()\r\n this.addPointHandlerClick = null\r\n this.plotDraw = null // 标绘工具\r\n this.plotEdit = null\r\n this._lastDrawInteractionGeometry = null\r\n this.EverntCenter = new Observable()\r\n proj4.defs('EPSG:4490', '+proj=longlat +ellps=GRS80 +no_defs')\r\n ol.proj.setProj4(proj4)\r\n window.ObservableObj = new ol.Object()\r\n\r\n /**\r\n * 当前地图线要素\r\n * @type {Array}\r\n */\r\n this.currentMapLines = []\r\n /**\r\n * 当前地图点要素\r\n * @type {Array}\r\n */\r\n this.currentMapPoints = []\r\n /**\r\n * 当前地图面要素\r\n * @type {Array}\r\n */\r\n this.currentMapPolygon = []\r\n /**\r\n * 当前地图线图层\r\n * @type {Array}\r\n */\r\n this.lineLayers = new Set()\r\n /**\r\n * 当前地图点图层\r\n * @type {Array}\r\n */\r\n this.pointLayers = new Set()\r\n /**\r\n * 当前地图面图层\r\n * @type {Array}\r\n */\r\n this.polygonLayers = new Set()\r\n /**\r\n * 周边搜索要素\r\n * @type {null}\r\n */\r\n this.circleSerachFeat = null\r\n /**\r\n * 当前地图气泡\r\n * @type {null}\r\n */\r\n this.popupOverlay = null\r\n\r\n /**\r\n * 当前视图\r\n * @type {null}\r\n */\r\n this.view = null\r\n\r\n /**\r\n * 定时器\r\n * @type {null}\r\n * @private\r\n */\r\n this.timer_ = null\r\n }\r\n\r\n /**\r\n * 初始化当前地图\r\n * @param mapDiv\r\n * @param params\r\n */\r\n initMap (mapDiv, params) {\r\n try {\r\n let options = params || {}\r\n let options_ = JSON.stringify(options)\r\n let logo = this._addCopyRight(options['logo'])\r\n this.view = this._addView(options['view'])\r\n let layers = this.addBaseLayers(options['baseLayers'], options['view'])\r\n let interactions = this._addInteractions(options['interactions'])\r\n let controls = this._addControls(options['controls'])\r\n /**\r\n * 当前地图对象\r\n * @type {ol.Map}\r\n */\r\n this.map = new ol.Map({\r\n target: mapDiv,\r\n loadTilesWhileAnimating: false,\r\n loadTilesWhileInteracting: false,\r\n logo: logo,\r\n layers: layers,\r\n view: this.view,\r\n interactions: interactions,\r\n controls: controls\r\n })\r\n\r\n /**\r\n * 保存当前参数\r\n */\r\n this.map.setProperties(options_, false)\r\n\r\n this.map.on('click', event => {\r\n console.log(event.coordinate)\r\n })\r\n\r\n /**\r\n * 加载成功事件\r\n */\r\n this.EverntCenter.dispatch('loadMapSuccess', true)\r\n } catch (error) {\r\n this.EverntCenter.dispatch('loadMapSuccess', error)\r\n }\r\n }\r\n\r\n /**\r\n * 添加版权信息\r\n * @returns {boolean}\r\n * @private\r\n */\r\n _addCopyRight (params) {\r\n let logo = false\r\n if (params && typeof params !== 'object') {\r\n logo = {\r\n href: 'https://aurorafe.github.io',\r\n src: 'data:image/png;base64,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'\r\n }\r\n } else if (typeof params === 'object') {\r\n logo = params\r\n } else {\r\n logo = false\r\n }\r\n return logo\r\n }\r\n\r\n /**\r\n * 获取当前地图\r\n * @returns {ol.Map}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 设置地图实例\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n }\r\n }\r\n\r\n /**\r\n * 更新地图\r\n */\r\n updateSize () {\r\n this.map.updateSize()\r\n }\r\n\r\n /**\r\n * 地图加载完成事件(超时时间120s)\r\n * @returns {Promise}\r\n */\r\n onMapInit () {\r\n let that = this\r\n let start = new Date().getTime()\r\n return new Promise((resolve) => {\r\n if (that.map) {\r\n resolve(true)\r\n } else {\r\n let cc = 0\r\n window.clearInterval(that.timer_)\r\n that.timer_ = null\r\n that.timer_ = window.setInterval(() => {\r\n let end = new Date().getTime()\r\n cc = ((end - start) / 1000)\r\n if (that.map && cc <= 120) {\r\n resolve(true)\r\n window.clearInterval(that.timer_)\r\n that.timer_ = null\r\n }\r\n if (cc > 120 && !that.map) {\r\n resolve(false)\r\n window.clearInterval(that.timer_)\r\n that.timer_ = null\r\n }\r\n }, 50)\r\n }\r\n })\r\n }\r\n}\r\n\r\nexport default Map\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/map/Map.js","import { ol } from '../constants'\r\nclass View {\r\n _addView (params) {\r\n let option = params || {}\r\n return new ol.View({\r\n center: ((option['center'] && Array.isArray(option['center'])) ? option['center'] : [0, 0]),\r\n zoom: ((option['zoom'] && (typeof option['zoom'] === 'number')) ? option['zoom'] : 0),\r\n zoomFactor: ((option['zoomFactor'] && (typeof option['zoomFactor'] === 'number')) ? option['zoomFactor'] : 2),\r\n rotation: ((option['rotation'] && (typeof option['rotation'] === 'number')) ? option['rotation'] : 0),\r\n enableRotation: (option['enableRotation'] === false ? option['enableRotation'] : true),\r\n projection: (option['projection'] ? option['projection'] : 'EPSG:3857'),\r\n extent: ((option['extent'] && Array.isArray(option['extent']) && option['extent'].length === 4) ? option['extent'] : undefined),\r\n resolutions: ((option['resolutions'] && Array.isArray(option['resolutions']) && option['resolutions'].length > 0) ? option['resolutions'] : undefined)\r\n })\r\n }\r\n\r\n /**\r\n * 获取当前地图尺寸\r\n */\r\n getSize () {\r\n if (this.map && this.map instanceof ol.Map) {\r\n return (this.map.getSize())\r\n } else {\r\n console.log('未获取到视图!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前视图范围\r\n * @param size\r\n * @returns {ol.Extent|*}\r\n */\r\n getExtent (size) {\r\n if (size) {\r\n return (this.view.calculateExtent(size))\r\n } else {\r\n return (this.view.calculateExtent(this.map.getSize()))\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图的范围\r\n * @returns {ol.Extent}\r\n */\r\n getMapCurrentExtent () {\r\n if (this.map) {\r\n return this.view.calculateExtent(this.map.getSize())\r\n }\r\n }\r\n\r\n /**\r\n * 缩放到全图\r\n */\r\n zoomMaxExtent (zoom) {\r\n let view = this.map.getView()\r\n zoom = (typeof zoom === 'number') ? zoom : 2\r\n if (this.map && view) {\r\n let center = view.getCenter()\r\n if (center) {\r\n this.view.setCenter(center)\r\n this.view.setZoom(zoom)\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 判断点是否在视图内,如果不在地图将自动平移\r\n * @param coord\r\n */\r\n movePointToView (coord) {\r\n if (this.map) {\r\n let extent = this.getMapCurrentExtent()\r\n if (!(ol.extent.containsXY(extent, coord[0], coord[1]))) {\r\n this.view.setCenter(coord)\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 调整图层\r\n * @constructor\r\n */\r\n orderLayerZindex () {\r\n let layerindex = 10\r\n if (this.map) {\r\n let pointLayers = [...(this.pointLayers)]\r\n let lineLayers = [...(this.lineLayers)]\r\n let polygonLayers = [...(this.polygonLayers)]\r\n polygonLayers.forEach(layerName => {\r\n if (layerName) {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (layer) {\r\n layer.setZIndex(layerindex++)\r\n }\r\n }\r\n })\r\n lineLayers.forEach(layerName => {\r\n if (layerName) {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (layer) {\r\n layer.setZIndex(layerindex++)\r\n }\r\n }\r\n })\r\n pointLayers.forEach(layerName => {\r\n if (layerName) {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (layer) {\r\n layer.setZIndex(layerindex++)\r\n }\r\n }\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport default View\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/map/View.js","import {ol} from '../constants'\r\nclass BaseLayers {\r\n\r\n /**\r\n * 添加底图\r\n * @param params\r\n * @param view\r\n * @returns {[*]}\r\n */\r\n addBaseLayers (params, view) {\r\n let options = params || []\r\n let _view = view || {}\r\n if (_view) {\r\n /**\r\n * 投影\r\n * @type {ol.proj.Projection}\r\n */\r\n this.projection = ol.proj.get((_view['projection'] ? _view.projection : 'EPSG:3857'))\r\n /**\r\n * 显示范围\r\n */\r\n this.fullExtent = _view['extent'] ? _view.extent : undefined\r\n /**\r\n * 投影范围\r\n */\r\n if (this.fullExtent) {\r\n this.projection.setExtent(this.fullExtent)\r\n }\r\n /**\r\n * 瓦片原点\r\n * @desc 设置瓦片原点的目的是因为部分地图切图原点不是[0,0]\r\n * 为保证正确加载,所以必须设置瓦片原点。\r\n */\r\n this.origin = _view.origin\r\n /**\r\n * 瓦片大小\r\n * @desc 切片大小,典型值有256, 512.\r\n * 默认256\r\n */\r\n this.tileSize = _view.tileSize\r\n /**\r\n * 分辨率\r\n * @type Array\r\n */\r\n this.resolutions = _view['resolutions']\r\n }\r\n\r\n if (!options || !Array.isArray(options) || options.length <= 0) {\r\n return [new ol.layer.Group({\r\n layers: [new ol.layer.Tile({\r\n source: new ol.source.OSM()\r\n })],\r\n isBaseLayer: true\r\n })]\r\n } else {\r\n return [new ol.layer.Group({\r\n layers: this._getBaseLayerGroup(params),\r\n isBaseLayer: true\r\n })]\r\n }\r\n }\r\n\r\n /**\r\n * 获取图层组\r\n * @returns {ol.layer.Group}\r\n */\r\n _getBaseLayerGroup (layerConfig) {\r\n let [layers, labelLayers, _layers, labelLayersConfig] = [[], [], [], []]\r\n if (layerConfig && Array.isArray(layerConfig) && layerConfig.length > 0) {\r\n layerConfig.forEach(config => {\r\n if (config['layerName'] && config['layerUrl'] && config['layerType']) {\r\n let layer = null\r\n switch (config['layerType']) {\r\n case 'TileXYZ':\r\n layer = this._getXYZLayer(config)\r\n break\r\n case 'TitleWMTS':\r\n layer = this._getWMTSLayer(config)\r\n break\r\n case 'OSM':\r\n layer = this._getOSMLayer(config)\r\n break\r\n case 'ImageWMS':\r\n layer = this._getImageWMSLayer(config)\r\n break\r\n case 'TileWMS':\r\n layer = this._getTileWMSLayer(config)\r\n break\r\n case 'MapboxVectorTile':\r\n layer = this._getMapboxVectorTileLayer(config)\r\n break\r\n case 'TileArcGISRest':\r\n layer = this._getTileArcGISRestLayer(config)\r\n break\r\n }\r\n if (layer) layers.push(layer)\r\n if (config['label']) {\r\n labelLayersConfig.push(config['label'])\r\n }\r\n }\r\n })\r\n }\r\n labelLayers = this._getBaseLayerLabel(labelLayersConfig)\r\n _layers = layers.concat(labelLayers)\r\n return _layers\r\n }\r\n\r\n /**\r\n * 主要处理标注层\r\n * @param labelLayersConfig\r\n * @returns {null}\r\n * @private\r\n */\r\n _getBaseLayerLabel (labelLayersConfig) {\r\n let [labelLayers, _labelLayersLayerNames] = [[], (new Set())]\r\n if (labelLayersConfig && Array.isArray(labelLayersConfig) && labelLayersConfig.length > 0) {\r\n labelLayersConfig.forEach(config => {\r\n if (config['layerName'] && config['layerUrl'] && config['layerType']) {\r\n _labelLayersLayerNames.add(config['layerName'])\r\n }\r\n });\r\n [...(_labelLayersLayerNames)].forEach(layerName => {\r\n labelLayersConfig.every(configM => {\r\n if (configM && configM['layerName'] === layerName) {\r\n let labelLayer = null\r\n switch (configM['layerType']) {\r\n case 'TileXYZ':\r\n labelLayer = this._getXYZLayer(configM)\r\n break\r\n case 'OSM':\r\n labelLayer = this._getOSMLayer(configM)\r\n break\r\n case 'TitleWMTS':\r\n labelLayer = this._getWMTSLayer(configM)\r\n break\r\n case 'ImageWMS':\r\n labelLayer = this._getImageWMSLayer(configM)\r\n break\r\n case 'TileWMS':\r\n labelLayer = this._getTileWMSLayer(configM)\r\n break\r\n case 'MapboxVectorTile':\r\n labelLayer = this._getMapboxVectorTileLayer(configM)\r\n break\r\n case 'TileArcGISRest':\r\n labelLayer = this._getTileArcGISRestLayer(configM)\r\n break\r\n }\r\n if (labelLayer) labelLayers.push(labelLayer)\r\n return false\r\n }\r\n return true\r\n })\r\n })\r\n }\r\n return labelLayers\r\n }\r\n\r\n /**\r\n * 获取标准XYZ图层\r\n * @param config\r\n * @returns {ol.layer.Tile}\r\n * @private\r\n */\r\n _getXYZLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n if (!config.hasOwnProperty('tileGrid')) {\r\n config['tileGrid'] = {}\r\n config['tileGrid']['tileSize'] = this.tileSize\r\n config['tileGrid']['origin'] = this.origin\r\n config['tileGrid']['extent'] = this.fullExtent\r\n config['tileGrid']['resolutions'] = this.resolutions\r\n }\r\n let baseLayer = this.createXYZLayer(layerName, config)\r\n if (baseLayer && baseLayer instanceof ol.layer.Tile) {\r\n baseLayer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n baseLayer.set('isBaseLayer', true)\r\n baseLayer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n baseLayer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return baseLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 加载开源OSM图层\r\n * @param config\r\n * @returns {ol.layer.Tile}\r\n * @private\r\n */\r\n _getOSMLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let baseLayer = this.createOSMLayer(layerName, config)\r\n if (baseLayer && baseLayer instanceof ol.layer.Tile) {\r\n baseLayer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n baseLayer.set('isBaseLayer', true)\r\n baseLayer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n baseLayer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return baseLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取标准WMTS图层\r\n * @param config\r\n * @returns {ol.layer.Tile}\r\n * @private\r\n */\r\n _getWMTSLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let baseLayer = this.createWMTSLayer(layerName, config)\r\n if (baseLayer && baseLayer instanceof ol.layer.Tile) {\r\n baseLayer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n baseLayer.set('isBaseLayer', true)\r\n baseLayer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n baseLayer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return baseLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * Images WMS 方式加载\r\n * @param config\r\n * @private\r\n */\r\n _getImageWMSLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let layer = this.createImageWMSLayer(layerName, config)\r\n if (layer && layer instanceof ol.layer.Image) {\r\n layer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n layer.set('isBaseLayer', true)\r\n layer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n layer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * Title WMS 方式加载\r\n * @param config\r\n * @returns {ol.layer.Tile}\r\n * @private\r\n */\r\n _getTileWMSLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let layer = this.createTileWMSLayer(layerName, config)\r\n if (layer && layer instanceof ol.layer.Tile) {\r\n layer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n layer.set('isBaseLayer', true)\r\n layer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n layer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加MapBox的矢量图层\r\n * @param config\r\n * @returns {*}\r\n * @private\r\n */\r\n _getMapboxVectorTileLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let layer = this.createMapboxVectorTileLayer(layerName, config)\r\n if (layer && layer instanceof ol.layer.VectorTile) {\r\n layer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n layer.set('isBaseLayer', true)\r\n layer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n layer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建arcgis矢量渲染图层\r\n * @param config\r\n * @returns {*}\r\n * @private\r\n */\r\n _getTileArcGISRestLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let layer = this.createTitleLayer(layerName, config)\r\n if (layer && layer instanceof ol.layer.VectorTile) {\r\n layer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n layer.set('isBaseLayer', true)\r\n layer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n layer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取版权信息\r\n * @returns {Xr.Attribution|Jr.Attribution|Wr.Attribution|*|ol.Attribution|ol.control.Attribution}\r\n * @private\r\n */\r\n _getAttribution (params) {\r\n try {\r\n let attribution = null\r\n if (params && typeof params !== 'object') {\r\n params = {}\r\n params['url'] = 'https://aurorafe.github.io'\r\n params['messages'] = 'contributors.'\r\n params['title'] = 'HMap'\r\n attribution = new ol.Attribution({\r\n html: '© ' + '' + params['title'] + ' ' + params['messages']\r\n })\r\n } else if (typeof params === 'object') {\r\n attribution = new ol.Attribution({\r\n html: '© ' + '' + params['title'] + ' ' + params['messages']\r\n })\r\n } else {\r\n attribution = undefined\r\n }\r\n return attribution\r\n } catch (e) {\r\n console.log(e)\r\n return undefined\r\n }\r\n }\r\n}\r\n\r\nexport default BaseLayers\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/map/baseLayer.js","import { ol } from '../constants'\r\nimport { DomUtil } from '../dom'\r\nimport { trim } from '../utils/utils'\r\nimport Feature from '../feature/feature'\r\nimport mix from '../utils/mixin'\r\nclass Overlay extends mix(Feature) {\r\n constructor (map) {\r\n super()\r\n if (map && map instanceof ol.Map) {\r\n /**\r\n * 地图对象\r\n * @type {ol.Map}\r\n */\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象或者地图对象为空!')\r\n }\r\n }\r\n\r\n /**\r\n * 从空间数据中解析坐标\r\n * @param point\r\n */\r\n _getCoordinatesFromGeom (point) {\r\n let [ geometry ] = [ null ]\r\n if (point instanceof ol.geom.Geometry) {\r\n geometry = point\r\n } else if (Array.isArray(point.geometry)) {\r\n geometry = new ol.geom.Point(point.geometry)\r\n } else {\r\n geometry = new ol.format.WKT().readGeometry(point.geometry)\r\n }\r\n return geometry.getCoordinates()\r\n }\r\n /**\r\n * 添加字体图标要素\r\n * @param point\r\n * @param params\r\n */\r\n addOverlayPoint (point, params, index) {\r\n try {\r\n if (point && point['geometry']) {\r\n let coordinate = this._getCoordinatesFromGeom(point)\r\n if (point['attributes'] && (point['attributes']['id'] || point['attributes']['ID'])) {\r\n let id = (point['attributes']['id'] || point['attributes']['ID'] || params['id'])\r\n let overlay = this.map.getOverlayById(id)\r\n let creatEle = this.getElementForOverlay(point, params, index)\r\n let [marker, ele] = [creatEle['marker'], creatEle['ele']]\r\n if (!overlay) {\r\n let iconOverlay = new ol.Overlay({\r\n element: marker,\r\n positioning: 'center-center',\r\n id: id,\r\n offset: [0, 0],\r\n stopEvent: true\r\n })\r\n iconOverlay.setPosition(coordinate)\r\n iconOverlay.setProperties(point['attributes'])\r\n if (params) {\r\n iconOverlay.set('params', params)\r\n if (params['layerName']) {\r\n iconOverlay.set('layerName', params.layerName)\r\n }\r\n }\r\n this._addOverLayEvent(marker, ele, iconOverlay)\r\n this.map.addOverlay(iconOverlay)\r\n } else {\r\n this._addOverLayEvent(marker, ele, overlay)\r\n overlay.setElement(marker)\r\n }\r\n }\r\n if (params['zoomToExtent']) {\r\n let extent = (new ol.geom.Point(coordinate)).getExtent()\r\n let _extent = this.adjustExtent(extent)\r\n this.zoomToExtent(_extent, true)\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 添加要素事件\r\n * @param marker\r\n * @param OverLay\r\n * @private\r\n */\r\n _addOverLayEvent (marker, ele, OverLay) {\r\n marker.onmousedown = function (event) {\r\n if (event.button === 2) {\r\n window.ObservableObj.dispatchEvent({\r\n type: 'rightMenuEvt',\r\n originEvent: event,\r\n value: OverLay\r\n })\r\n } else if (event.button === 0) {\r\n window.ObservableObj.dispatchEvent({\r\n type: 'overlayEvent',\r\n originEvent: event,\r\n value: OverLay\r\n })\r\n }\r\n }\r\n marker.onmouseover = function (event) {\r\n ele.style.color = ele.selectColor\r\n window.ObservableObj.dispatchEvent({\r\n type: 'onMouseoverOverlay',\r\n originEvent: event,\r\n value: OverLay\r\n })\r\n }\r\n marker.onmouseout = function (event) {\r\n ele.style.color = ele.normalColor\r\n window.ObservableObj.dispatchEvent({\r\n type: 'onMouseOutOverlay',\r\n originEvent: event,\r\n value: OverLay\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 获取OverLay Dom\r\n * @param point\r\n * @param params\r\n * @param index\r\n * @returns {Element}\r\n */\r\n getElementForOverlay (point, params, index) {\r\n let marker = document.createElement('div')\r\n marker.className = 'overlay-point-content'\r\n let style = point['attributes']['style'] || params['style']\r\n let [ele, spanEle] = ['', '']\r\n if (style['element']) {\r\n ele = document.createElement('div')\r\n let eleClass = (style['element']['className'] ? style['element']['className'] : 'maker-point')\r\n DomUtil.addClass(ele, 'iconfont')\r\n DomUtil.addClass(ele, eleClass)\r\n ele.style.top = style['element']['top'] ? style['element']['top'] : '-100%'\r\n ele.style.left = style['element']['left'] ? style['element']['left'] : '100%'\r\n ele.style.fontSize = style['element']['fontSize'] ? style['element']['fontSize'] : '16px'\r\n ele.style.borderColor = style['element']['borderColor'] ? style['element']['borderColor'] : '#2A2A2A'\r\n ele.style.borderWidth = style['element']['borderWidth'] ? style['element']['borderWidth'] : '1px'\r\n ele.style.opacity = style['element']['opacity'] ? style['element']['opacity'] : 1\r\n ele.style.width = style['element']['width'] ? style['element']['width'] : '100%'\r\n ele.style.height = style['element']['height'] ? style['element']['height'] : '100%'\r\n ele.style.borderRadius = style['element']['borderRadius'] ? style['element']['borderRadius'] : '0px'\r\n ele.normalColor = ele.style.color = style['element']['color'] ? style['element']['color'] : '#1b9de8'\r\n ele.selectColor = style['element']['selectColor'] ? style['element']['selectColor'] : '#F61717'\r\n ele.innerHTML = style['element']['text'] ? style['element']['text'] : ''\r\n if (params['orderBy']) {\r\n spanEle = document.createElement('span')\r\n spanEle.innerHTML = Number(index) + 1\r\n } else if (params['orderByNum'] && point['attributes']['number'] !== undefined && point['attributes']['number'] !== '' && point['attributes']['number'] !== null) {\r\n spanEle = document.createElement('span')\r\n spanEle.innerHTML = Number(point['attributes']['number']) + 1\r\n }\r\n if (spanEle) {\r\n ele.appendChild(spanEle)\r\n }\r\n marker.appendChild(ele)\r\n }\r\n return ({\r\n marker: marker,\r\n ele: ele\r\n })\r\n }\r\n\r\n /**\r\n * 添加多个OverLay\r\n * @param points\r\n * @param params\r\n */\r\n addOverlayPoints (points, params) {\r\n try {\r\n if (points && Array.isArray(points)) {\r\n let multiPoint = new ol.geom.MultiPoint([])\r\n let change = false\r\n points.forEach((item, index) => {\r\n if (item && item['geometry']) {\r\n let _geom = this._getGeometryFromPoint(item)\r\n if (_geom) {\r\n this.addOverlayPoint(item, params, index)\r\n multiPoint.appendPoint(_geom)\r\n }\r\n }\r\n })\r\n if (params['zoomToExtent']) {\r\n params['zoomToExtent'] = !params['zoomToExtent']\r\n change = true\r\n }\r\n if (change) {\r\n this._getExtent(multiPoint)\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 移除overlay\r\n * @param overlay\r\n */\r\n removeOverLay (overlay) {\r\n try {\r\n if (overlay && overlay instanceof ol.Overlay && this.map) {\r\n if (overlay.get('markFeature') && overlay.get('markFeature') instanceof ol.Feature) {\r\n this.removeFeature(overlay.get('markFeature'))\r\n }\r\n this.map.removeOverlay(overlay)\r\n return overlay\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 通过id移除overlay\r\n * @param id\r\n * @returns {ol.Overlay}\r\n */\r\n removeOverlayById (id) {\r\n try {\r\n if (this.map && id) {\r\n let _id = trim(id)\r\n let overLay = this.map.getOverlayById(_id)\r\n if (overLay && overLay instanceof ol.Overlay) {\r\n if (overLay.get('markFeature') && overLay.get('markFeature') instanceof ol.Feature) {\r\n this.removeFeature(overLay.get('markFeature'))\r\n }\r\n this.map.removeOverlay(overLay)\r\n }\r\n return overLay\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerName移除OverLay\r\n * @param layerName\r\n * @returns {Array}\r\n */\r\n removeOverlayByLayerName (layerName) {\r\n let _overlays = []\r\n if (this.map && layerName) {\r\n let overlays = this.map.getOverlays().getArray()\r\n let len = overlays.length\r\n for (let i = 0; i < len; i++) {\r\n if (overlays[i] && overlays[i].get('layerName') === layerName) {\r\n _overlays.push(overlays[i])\r\n if (overlays[i].get('markFeature') && overlays[i].get('markFeature') instanceof ol.Feature) {\r\n this.removeFeature(overlays[i].get('markFeature'))\r\n }\r\n this.map.removeOverlay(overlays[i])\r\n i--\r\n }\r\n }\r\n }\r\n return _overlays\r\n }\r\n\r\n /**\r\n * 通过id数组移除OverLay\r\n * @param ids\r\n * @returns {Array}\r\n */\r\n removeOverlayByIds (ids) {\r\n try {\r\n let overlays = []\r\n if (ids && Array.isArray(ids) && ids.length > 0) {\r\n ids.forEach(id => {\r\n if (id) {\r\n let overlay = this.removeOverlayById(id)\r\n overlays.push(overlay)\r\n }\r\n })\r\n }\r\n return overlays\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerNames移除Overlay\r\n * @param layerNames\r\n * @returns {Array}\r\n */\r\n removeOverlayByLayerNames (layerNames) {\r\n try {\r\n let overlays = []\r\n if (layerNames && Array.isArray(layerNames) && layerNames.length > 0) {\r\n layerNames.forEach(layerName => {\r\n if (layerName) {\r\n let rOverlays = this.removeOverlayByLayerName(layerName)\r\n if (rOverlays && rOverlays.length > 0) {\r\n overlays = overlays.concat(rOverlays)\r\n }\r\n }\r\n })\r\n }\r\n return overlays\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 高亮OverLay\r\n * @param id\r\n * @param overlay\r\n * @returns {ol.Overlay}\r\n */\r\n highLightOverLay (id, overlay) {\r\n if (!this.map) return\r\n if (overlay && overlay instanceof ol.Overlay) {\r\n let overlayElement = overlay.getElement()\r\n let iconElement = overlayElement.getElementsByTagName('div')[0]\r\n iconElement.style.color = iconElement.selectColor\r\n DomUtil.addClass(overlayElement, 'overlay-point-marker-raise')\r\n return overlay\r\n } else if (id && trim(id) !== \"''\") {\r\n let _overlay = this.map.getOverlayById(id)\r\n let _overlayElement = _overlay.getElement()\r\n let _iconElement = _overlayElement.getElementsByTagName('div')[0]\r\n _iconElement.style.color = _iconElement.selectColor\r\n DomUtil.addClass(_overlayElement, 'overlay-point-marker-raise')\r\n return _overlay\r\n }\r\n }\r\n\r\n /**\r\n * 取消高亮OverLay\r\n * @param id\r\n * @param overlay\r\n * @returns {ol.Overlay}\r\n */\r\n unHighLightOverLay (id, overlay) {\r\n if (!this.map) return\r\n if (overlay && overlay instanceof ol.Overlay) {\r\n let overlayElement = overlay.getElement()\r\n let iconElement = overlayElement.getElementsByTagName('div')[0]\r\n iconElement.style.color = iconElement.normalColor\r\n DomUtil.removeClass(overlayElement, 'overlay-point-marker-raise')\r\n return overlay\r\n } else if (id && trim(id) !== \"''\") {\r\n let _overlay = this.map.getOverlayById(id)\r\n let _overlayElement = _overlay.getElement()\r\n let _iconElement = _overlayElement.getElementsByTagName('div')[0]\r\n _iconElement.style.color = _iconElement.normalColor\r\n DomUtil.removeClass(_overlayElement, 'overlay-point-marker-raise')\r\n return _overlay\r\n }\r\n }\r\n\r\n /**\r\n * 通过id获取OverLay\r\n * @param id\r\n * @returns {ol.Overlay}\r\n */\r\n getOverLayById (id) {\r\n let _id = trim(id)\r\n let overLay = this.map.getOverlayById(_id)\r\n return overLay\r\n }\r\n\r\n /**\r\n * 通过LayerNames获取OverLays\r\n * @param layerNames\r\n * @returns {Array}\r\n */\r\n getOverLaysByLayerNames (layerNames) {\r\n try {\r\n let overlays = []\r\n if (layerNames && Array.isArray(layerNames) && layerNames.length > 0) {\r\n layerNames.forEach(layerName => {\r\n if (layerName) {\r\n let rOverlays = this.getOverlayByLayerName(layerName)\r\n if (rOverlays && rOverlays.length > 0) {\r\n overlays = overlays.concat(rOverlays)\r\n }\r\n }\r\n })\r\n }\r\n return overlays\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerName获取OverLays\r\n * @param layerName\r\n * @returns {Array}\r\n */\r\n getOverlayByLayerName (layerName) {\r\n let _overlays = []\r\n if (this.map && layerName) {\r\n let overlays = this.map.getOverlays().getArray()\r\n overlays.forEach(overlay => {\r\n if (overlay && overlay.get('layerName') === layerName) {\r\n _overlays.push(overlay)\r\n }\r\n })\r\n }\r\n return _overlays\r\n }\r\n}\r\n\r\nexport default Overlay\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/overlay/Overlay.js","/**\r\n * Created by FDD on 2017/5/14.\r\n * @desc 用于地图弹出气泡\r\n */\r\nimport {ol} from '../constants'\r\nimport {DomUtil} from '../dom'\r\nimport {getuuid} from '../utils/utils'\r\nlet Popover = function (mapInstence, params) {\r\n if (mapInstence && mapInstence['map'] instanceof ol.Map) {\r\n /**\r\n * 地图对象\r\n * @type {ol.Map}\r\n */\r\n this.mapInstence = mapInstence\r\n this.map = mapInstence['map']\r\n } else {\r\n throw new Error('传入的不是地图对象或者地图对象为空!')\r\n }\r\n\r\n /**\r\n * 当前气泡配置项\r\n * @type {*}\r\n */\r\n this.options = params || {}\r\n\r\n /**\r\n * 是否自动平移(不传时默认自动平移)\r\n */\r\n if (this.options['autoPan'] === undefined) {\r\n this.options['autoPan'] = true\r\n }\r\n\r\n /**\r\n * 气泡偏移量\r\n */\r\n if (!this.options['offset']) {\r\n this.options.offset = [0, 0]\r\n }\r\n\r\n /**\r\n * 平移时是否有动画效果\r\n */\r\n if (this.options['autoPanAnimation'] === undefined) {\r\n this.options['autoPanAnimation'] = {\r\n duration: 250\r\n }\r\n }\r\n\r\n /**\r\n * 气泡类名\r\n */\r\n if (!this.options['className']) {\r\n this.options['className'] = 'hmap-js-popup'\r\n }\r\n\r\n /**\r\n * 气泡透明度\r\n */\r\n if (this.options['opacity'] === undefined) {\r\n this.options['opacity'] = 1\r\n }\r\n\r\n /**\r\n * 获取id\r\n */\r\n if (this.options['id'] === undefined || this.options['id'] === null) {\r\n this.options['id'] = getuuid()\r\n }\r\n\r\n /**\r\n * 底部icon\r\n */\r\n if (!this.options['markIcon']) {\r\n this.options['markIcon'] = 'data:image;base64,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0p8zAAA7BWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTYtMDQtMDdUMTE6MDM6MzkrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNi0wNC0wN1QyMDozMDoxNSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTYtMDQtMDdUMjA6MzA6MTUrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6MDk1Y2NlYjctNjUzMC00YjlhLTkzMWMtZjFlNGVkMDFkMjNkPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjU5MmJmNDUyLTlhOWEtNDBiYS04YWUzLWQxZTVlZDg4MDVmZjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjU5MmJmNDUyLTlhOWEtNDBiYS04YWUzLWQxZTVlZDg4MDVmZjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1OTJiZjQ1Mi05YTlhLTQwYmEtOGFlMy1kMWU1ZWQ4ODA1ZmY8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTYtMDQtMDdUMTE6MDM6MzkrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoTWFjaW50b3NoKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNvbnZlcnRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6cGFyYW1ldGVycz5mcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nPC9zdEV2dDpwYXJhbWV0ZXJzPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDowOTVjY2ViNy02NTMwLTRiOWEtOTMxYy1mMWU0ZWQwMWQyM2Q8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTYtMDQtMDdUMjA6MzA6MTUrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoTWFjaW50b3NoKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4xMzwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4yODwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+u0hEhgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAB/klEQVR42pSSP08UYRDGf89lAWNi4h/kOkxItCFqYSkQSipqPwAWgIXkEv0Wl1gctn4Tw3ImlBAqaA4t9DaSnMZEip13x+Levds7ciCTzCab93memXlm9Ht1FSRwB7SE2MZ9GfQQ8RN8H6eFaOMCOeqtrAAkDh+ALWLIwUU1doG3QJ5YMHB9BDY0M83M2hrh21fs8Ah3B0H8bOFMI3+dmIWXgg2A6acvmFlfxy8u6G1u4hHuw2obgk+JmW2XD8XxMVNHR+QnJ+RmA2SVKHijs+fPukAdNFCmBHn0aGQ0vid5bvVSQiVawqNEVSqSZxMLlgH1qpxiP16a4EOai/PEcvsMvOqrll6PzFDyUH9PqQ7nHy0h9hmZiMu/7kgCWK5ZYW2z0ApWEMwIIYymGRYCRREIZq0QrJ0UVoDYoW/f1rCnSyV3gR1wdFCfG6Lcl5C2gRVgFuccPEVqAe2BUQdz9cqh9W368u79jyzrdjuds/lGmj6o+o0cuY+urtlsAniWZZx1OnSzTHt7eyOYGhPCuXTl15N0BWsiaXhTNyH5mPP/RZpY50ojJpe6ZqabGoEm9leTRDWHFB9MNY6pVZq5Dyw0Go3F/hkKIdI0XQQW4rsAkkh6DNwZHynu9lbMe8AscFr282ScNCH+VEmKSneB28BUNKkAcuAv8AvoAf5vALfw5dErL2VFAAAAAElFTkSuQmCC'\r\n }\r\n /**\r\n * 要素所在图层\r\n */\r\n if (!this.options['layerName']) {\r\n this.options['layerName'] = 'PopoverFeatureLayer'\r\n }\r\n\r\n let size = this.map.getSize()\r\n this.container = DomUtil.create('div', this.options['className'])\r\n this.content = DomUtil.create('div', 'hmap-js-popup-content', this.container)\r\n this.content.style.maxHeight = size[1] - 20 + 'px'\r\n if (this.options['showCloser'] !== false) {\r\n this.closer = DomUtil.create('div', 'hmap-js-popup-closer', this.container)\r\n this.closer.innerHTML = '+'\r\n this.closer.addEventListener('click', (event) => {\r\n let e = !event ? window.event : event\r\n e.stopPropagation()\r\n if (this && this.options['id']) {\r\n this.mapInstence.removeOverLay(this)\r\n }\r\n })\r\n }\r\n if (this.options['showMinimize'] !== false) {\r\n this.minimize = DomUtil.create('div', 'hmap-js-popup-minimize', this.container)\r\n this.minimize.innerHTML = '_'\r\n this.minimize.addEventListener('click', (event) => {\r\n let e = !event ? window.event : event\r\n e.stopPropagation()\r\n if (this) {\r\n this.showMinimize()\r\n }\r\n })\r\n }\r\n this.enableTouchScroll_(this.content)\r\n this.options.element = this.container\r\n /**\r\n * 最小化的label\r\n * @type {null}\r\n */\r\n this.miniOverLay = null\r\n ol.Overlay.call(this, {\r\n element: this.container,\r\n stopEvent: true,\r\n offset: this.options['offset'],\r\n id: this.options['id'],\r\n layerName: this.options['layerName'],\r\n insertFirst: ((this.options.hasOwnProperty('insertFirst')) ? this.options.insertFirst : true)\r\n })\r\n}\r\nol.inherits(Popover, ol.Overlay)\r\n\r\n/**\r\n * 显示当前气泡\r\n * @param coord\r\n * @param html\r\n * @returns {Popover}\r\n */\r\nPopover.prototype.show = function (coord, html) {\r\n this.coords = coord\r\n if (html instanceof HTMLElement) {\r\n this.content.innerHTML = ''\r\n this.content.appendChild(html)\r\n } else {\r\n this.content.innerHTML = html\r\n }\r\n this.container.style.display = 'block'\r\n this.content.scrollTop = 0\r\n if (this.options['showMarkFeature']) {\r\n this.showMarkFeature(coord)\r\n }\r\n if (this.markFeature) {\r\n let size = this.markFeature.getStyle().getImage().getSize()\r\n if (size && this.options['offset']) {\r\n this.options['offset'] = [this.options['offset'][0], this.options['offset'][1] - size[1]]\r\n }\r\n }\r\n this.setOffset(this.options['offset'])\r\n this.setPosition(coord)\r\n this.updateSize()\r\n return this\r\n}\r\n/**\r\n * 显示底部标记要素\r\n */\r\nPopover.prototype.showMarkFeature = function (coord) {\r\n this.markFeature = new ol.Feature({\r\n params: {\r\n moveable: true\r\n },\r\n geometry: new ol.geom.Point(coord)\r\n })\r\n this.set('markFeature', this.markFeature)\r\n let style = new ol.style.Style({\r\n image: new ol.style.Icon({\r\n anchor: [0.5, 1],\r\n anchorXUnits: 'fraction',\r\n anchorYUnits: 'fraction',\r\n opacity: 1,\r\n src: this.options['markIcon']\r\n })\r\n })\r\n this.markFeature.setId(this.options['id'])\r\n this.markFeature.setStyle(style)\r\n this.markFeature.on('featureMove', event => {\r\n let coords = this.markFeature.getGeometry().getCoordinates()\r\n this.coords = coords\r\n this.setPosition(coords)\r\n if (this.miniOverLay) {\r\n this.miniOverLay.setPosition(this.coords)\r\n }\r\n })\r\n let layer = this.mapInstence.createVectorLayer(this.options['layerName'], {\r\n create: true\r\n })\r\n if (layer && layer instanceof ol.layer.Vector) {\r\n layer.getSource().addFeature(this.markFeature)\r\n }\r\n}\r\n/**\r\n * 对气泡最小化\r\n */\r\nPopover.prototype.showMinimize = function () {\r\n let that = this\r\n if (this.options['showMarkFeature']) {\r\n if (!this.miniOverLay) {\r\n let element = DomUtil.create('span', 'hmap-marker-minimize-panel')\r\n element.setAttribute('data-state', 'block')\r\n that.container.style.display = 'none'\r\n let eventListener = (event) => {\r\n let e = !event ? window.event : event\r\n e.stopPropagation()\r\n that.container.style.display = 'block'\r\n that.miniOverLay.getElement().style.display = 'none'\r\n this.miniOverLay.getElement().setAttribute('data-state', 'none')\r\n }\r\n element.removeEventListener('click', eventListener)\r\n element.addEventListener('click', eventListener)\r\n let label = DomUtil.create('label', 'hmap-marker-minimize-label', element)\r\n if (this.options['minimizeText']) {\r\n label.innerText = this.options['minimizeText']\r\n label.setAttribute('title', this.options['minimizeText'])\r\n } else {\r\n label.innerText = '我的标记'\r\n label.setAttribute('title', '我的标记')\r\n }\r\n this.miniOverLay = new ol.Overlay({\r\n element: element,\r\n stopEvent: true,\r\n offset: [0, 0],\r\n id: this.options['id'] + '_minimize',\r\n position: this.coords\r\n })\r\n this.map.addOverlay(this.miniOverLay)\r\n } else {\r\n this.miniOverLay.getElement().style.display = 'block'\r\n that.container.style.display = 'none'\r\n this.miniOverLay.getElement().setAttribute('data-state', 'block')\r\n this.miniOverLay.setPosition(this.coords)\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * 隐藏当前气泡\r\n * @returns {Popover}\r\n */\r\nPopover.prototype.hide = function () {\r\n this.container.style.display = 'none'\r\n if (this && this.options['id']) {\r\n this.mapInstence.removeOverLay(this)\r\n }\r\n return this\r\n}\r\n\r\n/**\r\n * 更新气泡大小\r\n * @returns {Popover}\r\n */\r\nPopover.prototype.updateSize = function () {\r\n this.container.style.marginLeft = (-this.container.clientWidth / 2) - 1 + 'px'\r\n this.container.style.display = 'block'\r\n this.container.style.opacity = 1\r\n this.content.scrollTop = 0\r\n this.mapInstence.map.render()\r\n return this\r\n}\r\n\r\n/**\r\n * 返回气泡状态值\r\n * @returns {boolean}\r\n */\r\nPopover.prototype.isOpened = function () {\r\n return (this.container.style.display === 'block')\r\n}\r\n\r\n/**\r\n * 判断是否为移动设备(触摸)\r\n * @returns {boolean}\r\n * @private\r\n */\r\nPopover.prototype.isTouchDevice_ = function () {\r\n try {\r\n document.createEvent('TouchEvent')\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n}\r\n\r\n/**\r\n * 允许触摸滚动\r\n * @param elm\r\n * @private\r\n */\r\nPopover.prototype.enableTouchScroll_ = function (elm) {\r\n if (this.isTouchDevice_()) {\r\n let scrollStartPos = 0\r\n elm.addEventListener('touchstart', event => {\r\n scrollStartPos = this.scrollTop + event.touches[0].pageY\r\n }, false)\r\n elm.addEventListener('touchmove', event => {\r\n this.scrollTop = scrollStartPos - event.touches[0].pageY\r\n }, false)\r\n }\r\n}\r\n\r\nexport default Popover\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/overlay/Popover.js","/**\r\n * Created by FDD on 2017/5/15.\r\n * @desc PlotDraw\r\n */\r\n\r\nimport { ol } from '../../constants'\r\nimport { MathDistance } from '../Utils/utils'\r\nimport EventType from './EventType'\r\nimport * as Events from '../../event/Events'\r\nimport mix from '../../utils/mixin'\r\nimport Layer from '../../layer/Layer'\r\nimport Plot from '../index'\r\nimport Style from '../../style/Style'\r\nimport PlotTypes from '../Utils/PlotTypes'\r\nconst Observable = ol.Observable\r\nclass PlotDraw extends mix(Observable, Plot, Layer, Style) {\r\n constructor (map, params) {\r\n super()\r\n ol.Observable.call(this, [])\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n this.options = params || {}\r\n /**\r\n * 交互点\r\n * @type {null}\r\n */\r\n this.points = null\r\n /**\r\n * 当前标绘工具\r\n * @type {null}\r\n */\r\n this.plot = null\r\n /**\r\n * 当前要素\r\n * @type {null}\r\n */\r\n this.feature = null\r\n /**\r\n * 标绘类型\r\n * @type {null}\r\n */\r\n this.plotType = null\r\n /**\r\n * 当前标绘参数\r\n * @type {null}\r\n */\r\n this.plotParams = null\r\n /**\r\n * 当前地图视图\r\n * @type {Element}\r\n */\r\n this.mapViewport = this.map.getViewport()\r\n /**\r\n * 地图双击交互\r\n * @type {null}\r\n */\r\n this.dblClickZoomInteraction = null\r\n\r\n /**\r\n * 绘制OverLay\r\n * @type {null}\r\n */\r\n this.drawOverlay = null\r\n\r\n /**\r\n * 事件监听器\r\n * @type {*}\r\n */\r\n this.Observable = new ol.Object()\r\n\r\n /**\r\n * 创建图层名称\r\n * @type {string}\r\n */\r\n this.layerName = ((this.options && this.options['layerName']) ? this.options['layerName'] : 'GISPLOTLAYER')\r\n\r\n /**\r\n * 当前矢量图层\r\n * @type {*}\r\n */\r\n this.drawLayer = this.createVectorLayer(this.layerName, {\r\n create: true\r\n })\r\n }\r\n\r\n /**\r\n * 激活工具\r\n * @param type\r\n * @param params\r\n */\r\n active (type, params) {\r\n this.disActive()\r\n this.deactiveMapTools()\r\n this.map.on('click', this.mapFirstClickHandler, this)\r\n this.plotType = type\r\n this.plotParams = params || {}\r\n }\r\n\r\n /**\r\n * 取消激活状态\r\n */\r\n disActive () {\r\n this.removeEventHandlers()\r\n this.map.removeLayer(this.drawOverlay)\r\n this.points = []\r\n this.plot = null\r\n this.feature = null\r\n this.plotType = null\r\n this.plotParams = null\r\n this.activateMapTools()\r\n }\r\n\r\n /**\r\n * PLOT是否处于激活状态\r\n * @returns {boolean}\r\n */\r\n isDrawing () {\r\n return (this.plotType !== null)\r\n }\r\n\r\n /**\r\n * 地图事件处理\r\n * 激活工具后第一次点击事件\r\n * @param event\r\n */\r\n mapFirstClickHandler (event) {\r\n this.points.push(event.coordinate)\r\n this.plot = this.createPlot(this.plotType, this.points, this.plotParams)\r\n this.plot.setMap(this.map)\r\n this.feature = new ol.Feature(this.plot)\r\n this.drawLayer.getSource().addFeature(this.feature)\r\n this.map.un('click', this.mapFirstClickHandler, this)\r\n if (this.plotType === PlotTypes.POINT || this.plotType === PlotTypes.PENNANT) {\r\n this.addPointStyle(this.feature, this.plotParams)\r\n this.plot.finishDrawing()\r\n this.drawEnd(event)\r\n } else {\r\n this.map.on('click', this.mapNextClickHandler, this)\r\n if (!this.plot.freehand) {\r\n this.map.on('dblclick', this.mapDoubleClickHandler, this)\r\n }\r\n Events.listen(this.mapViewport, EventType.MOUSEMOVE, this.mapMouseMoveHandler, this, false)\r\n }\r\n if (this.plotType && this.feature) {\r\n this.plotParams['plotType'] = this.plotType\r\n this.feature.setProperties(this.plotParams)\r\n }\r\n }\r\n\r\n /**\r\n * 添加点的样式\r\n * @param feature\r\n * @param params\r\n */\r\n addPointStyle (feature, params) {\r\n let style = this.getStyleByPoint(params)\r\n feature.setStyle(style)\r\n }\r\n\r\n /**\r\n * 地图点击事件处理\r\n * @param event\r\n * @returns {boolean}\r\n */\r\n mapNextClickHandler (event) {\r\n if (!this.plot.freehand) {\r\n if (MathDistance(event.coordinate, this.points[this.points.length - 1]) < 0.0001) {\r\n return false\r\n }\r\n }\r\n this.points.push(event.coordinate)\r\n this.plot.setPoints(this.points)\r\n if (this.plot.fixPointCount === this.plot.getPointCount()) {\r\n this.mapDoubleClickHandler(event)\r\n }\r\n if (this.plot && this.plot.freehand) {\r\n this.mapDoubleClickHandler(event)\r\n }\r\n }\r\n\r\n /**\r\n * 地图双击事件处理\r\n * @param event\r\n */\r\n mapDoubleClickHandler (event) {\r\n event.preventDefault()\r\n this.plot.finishDrawing()\r\n this.drawEnd(event)\r\n }\r\n\r\n /**\r\n * 地图事件处理\r\n * 鼠标移动事件\r\n * @param event\r\n * @returns {boolean}\r\n */\r\n mapMouseMoveHandler (event) {\r\n let coordinate = this.map.getCoordinateFromPixel([event.offsetX, event.offsetY])\r\n if (MathDistance(coordinate, this.points[this.points.length - 1]) < 0.0001) {\r\n return false\r\n }\r\n if (!this.plot.freehand) {\r\n let pnts = this.points.concat([coordinate])\r\n this.plot.setPoints(pnts)\r\n } else {\r\n this.points.push(coordinate)\r\n this.plot.setPoints(this.points)\r\n }\r\n }\r\n\r\n /**\r\n * 移除事件监听\r\n */\r\n removeEventHandlers () {\r\n this.map.un('click', this.mapFirstClickHandler, this)\r\n this.map.un('click', this.mapNextClickHandler, this)\r\n Events.unlisten(this.mapViewport, EventType.MOUSEMOVE, this.mapMouseMoveHandler, this)\r\n this.map.un('dblclick', this.mapDoubleClickHandler, this)\r\n }\r\n\r\n /**\r\n * 绘制结束\r\n */\r\n drawEnd (event) {\r\n this.Observable.dispatchEvent({\r\n type: 'drawEnd',\r\n event: event,\r\n feature: this.feature\r\n })\r\n if (this.feature && this.options['isClear']) {\r\n this.drawLayer.getSource().removeFeature(this.feature)\r\n }\r\n this.activateMapTools()\r\n this.removeEventHandlers()\r\n this.map.removeOverlay(this.drawOverlay)\r\n this.points = []\r\n this.plot = null\r\n this.plotType = null\r\n this.plotParams = null\r\n this.feature = null\r\n }\r\n\r\n /**\r\n * 添加要素\r\n */\r\n addFeature () {\r\n this.feature = new ol.Feature(this.plot)\r\n if (this.feature && this.drawLayer) {\r\n this.drawLayer.getSource().addFeature(this.feature)\r\n }\r\n }\r\n\r\n /**\r\n * 取消激活地图交互工具\r\n */\r\n deactiveMapTools () {\r\n let interactions = this.map.getInteractions().getArray()\r\n interactions.every(item => {\r\n if (item instanceof ol.interaction.DoubleClickZoom) {\r\n this.dblClickZoomInteraction = item\r\n this.map.removeInteraction(item)\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * 激活已取消的地图工具\r\n * 还原之前状态\r\n */\r\n activateMapTools () {\r\n if (this.dblClickZoomInteraction && this.dblClickZoomInteraction instanceof ol.interaction.DoubleClickZoom) {\r\n this.map.addInteraction(this.dblClickZoomInteraction)\r\n this.dblClickZoomInteraction = null\r\n }\r\n }\r\n}\r\n\r\nexport default PlotDraw\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Event/PlotDraw.js","import { ol } from '../../constants'\r\nimport EventType from './EventType'\r\nimport { DomUtil } from '../../dom'\r\nimport * as Events from '../../event/Events'\r\nconst Observable = ol.Observable\r\nclass PlotEdit extends Observable {\r\n constructor (map) {\r\n super()\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n /**\r\n * 当前地图容器\r\n * @type {Element}\r\n */\r\n this.mapViewport = this.map.getViewport()\r\n /**\r\n * 激活绘制工具\r\n * @type {null}\r\n */\r\n this.activePlot = null\r\n /**\r\n * 开始点\r\n * @type {null}\r\n */\r\n this.startPoint = null\r\n /**\r\n * clone的控制点\r\n * @type {null}\r\n */\r\n this.ghostControlPoints = null\r\n /**\r\n * 控制点\r\n * @type {null}\r\n */\r\n this.controlPoints = null\r\n /**\r\n * 鼠标移入\r\n * @type {boolean}\r\n */\r\n this.mouseOver = false\r\n /**\r\n * 元素\r\n * @type {{}}\r\n */\r\n this.elementTable = {}\r\n /**\r\n * 当前激活的控制点的ID\r\n * @type {null}\r\n */\r\n this.activeControlPointId = null\r\n /**\r\n * 地图拖拽交互\r\n * @type {null}\r\n */\r\n this.mapDragPan = null\r\n /**\r\n * 未激活之前鼠标样式\r\n * @type {null}\r\n * @private\r\n */\r\n this.previousCursor_ = null\r\n }\r\n\r\n /**\r\n * 初始化提示DOM\r\n * @returns {boolean}\r\n */\r\n initHelperDom () {\r\n if (!this.map || !this.activePlot) {\r\n return false\r\n }\r\n let parent = this.getMapParentElement()\r\n if (!parent) {\r\n return false\r\n } else {\r\n let hiddenDiv = DomUtil.createHidden('div', parent, 'plot-helper-hidden-div')\r\n let cPnts = this.getControlPoints()\r\n if (cPnts && Array.isArray(cPnts) && cPnts.length > 0) {\r\n cPnts.forEach((item, index) => {\r\n let id = 'plot-helper-control-point-div' + '-' + index\r\n DomUtil.create('div', 'plot-helper-control-point-div', hiddenDiv, id)\r\n this.elementTable[id] = index\r\n })\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 获取地图元素的父元素\r\n * @returns {*}\r\n */\r\n getMapParentElement () {\r\n let mapElement = this.map.getTargetElement()\r\n if (!mapElement) {\r\n return false\r\n } else {\r\n return mapElement.parentNode\r\n }\r\n }\r\n\r\n /**\r\n * 销毁帮助提示DOM\r\n */\r\n destroyHelperDom () {\r\n if (this.controlPoints && Array.isArray(this.controlPoints) && this.controlPoints.length > 0) {\r\n this.controlPoints.forEach((item, index) => {\r\n if (item && item instanceof ol.Overlay) {\r\n this.map.removeOverlay(item)\r\n }\r\n let element = DomUtil.get('plot-helper-control-point-div' + '-' + index)\r\n if (element) {\r\n DomUtil.removeListener(element, 'mousedown', this.controlPointMouseDownHandler, this)\r\n DomUtil.removeListener(element, 'mousemove', this.controlPointMouseMoveHandler2, this)\r\n }\r\n })\r\n this.controlPoints = []\r\n }\r\n let parent = this.getMapParentElement()\r\n let hiddenDiv = DomUtil.get('plot-helper-hidden-div')\r\n if (hiddenDiv && parent) {\r\n DomUtil.remove(hiddenDiv, parent)\r\n }\r\n }\r\n\r\n /**\r\n * 初始化要素控制点\r\n */\r\n initControlPoints () {\r\n this.controlPoints = []\r\n let cPnts = this.getControlPoints()\r\n if (cPnts && Array.isArray(cPnts) && cPnts.length > 0) {\r\n cPnts.forEach((item, index) => {\r\n let id = 'plot-helper-control-point-div' + '-' + index\r\n this.elementTable[id] = index\r\n let element = DomUtil.get(id)\r\n let pnt = new ol.Overlay({\r\n id: id,\r\n position: cPnts[index],\r\n positioning: 'center-center',\r\n element: element\r\n })\r\n this.controlPoints.push(pnt)\r\n this.map.addOverlay(pnt)\r\n this.map.render()\r\n DomUtil.addListener(element, 'mousedown', this.controlPointMouseDownHandler, this)\r\n DomUtil.addListener(element, 'mousemove', this.controlPointMouseMoveHandler2, this)\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 对控制点的移动事件\r\n * @param e\r\n */\r\n controlPointMouseMoveHandler2 (e) {\r\n e.stopImmediatePropagation()\r\n }\r\n\r\n /**\r\n * 对控制点的鼠标按下事件\r\n * @param e\r\n */\r\n controlPointMouseDownHandler (e) {\r\n let id = e.target.id\r\n this.activeControlPointId = id\r\n Events.listen(this.mapViewport, EventType.MOUSEMOVE, this.controlPointMouseMoveHandler, this, false)\r\n Events.listen(this.mapViewport, EventType.MOUSEUP, this.controlPointMouseUpHandler, this, false)\r\n }\r\n\r\n /**\r\n * 对控制点的移动事件\r\n * @param e\r\n */\r\n controlPointMouseMoveHandler (e) {\r\n let coordinate = this.map.getCoordinateFromPixel([e.offsetX, e.offsetY])\r\n if (this.activeControlPointId) {\r\n let plot = this.activePlot.getGeometry()\r\n let index = this.elementTable[this.activeControlPointId]\r\n plot.updatePoint(coordinate, index)\r\n let overlay = this.map.getOverlayById(this.activeControlPointId)\r\n overlay.setPosition(coordinate)\r\n }\r\n }\r\n\r\n /**\r\n * 对控制点的鼠标抬起事件\r\n * @param e\r\n */\r\n controlPointMouseUpHandler (e) {\r\n Events.unlisten(this.mapViewport, EventType.MOUSEMOVE, this.controlPointMouseMoveHandler, this)\r\n Events.unlisten(this.mapViewport, EventType.MOUSEUP, this.controlPointMouseUpHandler, this)\r\n }\r\n\r\n /**\r\n * 激活工具\r\n * @param plot\r\n * @returns {boolean}\r\n */\r\n activate (plot) {\r\n try {\r\n if (!plot || !(plot instanceof ol.Feature) || plot === this.activePlot || plot.get('notInstancePlot')) {\r\n return false\r\n } else {\r\n let geom = plot.getGeometry()\r\n if (!geom.isPlot || !geom.isPlot()) {\r\n return false\r\n } else {\r\n this.deactivate()\r\n this.previousCursor_ = this.map.getTargetElement().style.cursor\r\n this.activePlot = plot\r\n window.setTimeout(() => {\r\n // this.dispatchEvent(new EditEvent(EditEvent.ACTIVE_PLOT_CHANGE, this.activePlot))\r\n }, 500)\r\n this.map.on('pointermove', this.plotMouseOverOutHandler, this)\r\n this.initHelperDom()\r\n this.initControlPoints()\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取要素的控制点\r\n * @returns {Array}\r\n */\r\n getControlPoints () {\r\n let points = []\r\n if (this.activePlot) {\r\n let geom = this.activePlot.getGeometry()\r\n if (geom) {\r\n points = geom.getPoints()\r\n }\r\n }\r\n return points\r\n }\r\n\r\n /**\r\n * 鼠标移出要编辑的要素范围\r\n * @param e\r\n * @returns {T|undefined}\r\n */\r\n plotMouseOverOutHandler (e) {\r\n try {\r\n let feature = this.map.forEachFeatureAtPixel(e.pixel, function (feature, layer) {\r\n return feature\r\n })\r\n if (feature && feature === this.activePlot) {\r\n if (!this.mouseOver) {\r\n this.mouseOver = true\r\n this.map.getTargetElement().style.cursor = 'move'\r\n this.map.on('pointerdown', this.plotMouseDownHandler, this)\r\n }\r\n } else {\r\n if (this.mouseOver) {\r\n this.mouseOver = false\r\n this.map.getTargetElement().style.cursor = 'default'\r\n this.map.un('pointerdown', this.plotMouseDownHandler, this)\r\n }\r\n }\r\n return feature\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 在要编辑的要素按下鼠标按键\r\n * @param e\r\n */\r\n plotMouseDownHandler (e) {\r\n this.ghostControlPoints = this.getControlPoints()\r\n this.startPoint = e.coordinate\r\n this.disableMapDragPan()\r\n this.map.on('pointerup', this.plotMouseUpHandler, this)\r\n this.map.on('pointerdrag', this.plotMouseMoveHandler, this)\r\n }\r\n\r\n /**\r\n * 在要编辑的要素上移动鼠标\r\n * @param e\r\n */\r\n plotMouseMoveHandler (e) {\r\n try {\r\n let point = e.coordinate\r\n let [dx, dy, newPoints] = [(point[0] - this.startPoint[0]), (point[1] - this.startPoint[1]), []]\r\n if (this.ghostControlPoints && Array.isArray(this.ghostControlPoints) && this.ghostControlPoints.length > 0) {\r\n this.ghostControlPoints.forEach((item, index) => {\r\n let p = this.ghostControlPoints[index]\r\n let coordinate = [p[0] + dx, p[1] + dy]\r\n newPoints.push(coordinate)\r\n let id = 'plot-helper-control-point-div' + '-' + index\r\n let overlay = this.map.getOverlayById(id)\r\n overlay.setPosition(coordinate)\r\n overlay.setPositioning('center-center')\r\n })\r\n }\r\n let plot = this.activePlot.getGeometry()\r\n plot.setPoints(newPoints)\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 鼠标抬起事件\r\n * @param e\r\n */\r\n plotMouseUpHandler (e) {\r\n this.enableMapDragPan()\r\n this.map.un('pointerup', this.plotMouseUpHandler, this)\r\n this.map.un('pointerdrag', this.plotMouseMoveHandler, this)\r\n }\r\n\r\n /**\r\n * 取消事件关联\r\n */\r\n disconnectEventHandlers () {\r\n this.map.un('pointermove', this.plotMouseOverOutHandler, this)\r\n Events.unlisten(this.mapViewport, EventType.MOUSEMOVE, this.controlPointMouseMoveHandler, this)\r\n Events.unlisten(this.mapViewport, EventType.MOUSEUP, this.controlPointMouseUpHandler, this)\r\n this.map.un('pointerdown', this.plotMouseDownHandler, this)\r\n this.map.un('pointerup', this.plotMouseUpHandler, this)\r\n this.map.un('pointerdrag', this.plotMouseMoveHandler, this)\r\n }\r\n\r\n /**\r\n * 取消激活工具\r\n */\r\n deactivate () {\r\n this.activePlot = null\r\n this.mouseOver = false\r\n this.map.getTargetElement().style.cursor = this.previousCursor_\r\n this.previousCursor_ = null\r\n this.destroyHelperDom()\r\n this.disconnectEventHandlers()\r\n this.enableMapDragPan()\r\n this.elementTable = {}\r\n this.activeControlPointId = null\r\n this.startPoint = null\r\n }\r\n\r\n /**\r\n * 禁止地图的拖拽平移\r\n */\r\n disableMapDragPan () {\r\n let interactions = this.map.getInteractions().getArray()\r\n interactions.every(item => {\r\n if (item instanceof ol.interaction.DragPan) {\r\n this.mapDragPan = item\r\n this.map.removeInteraction(item)\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * 激活地图的拖拽平移\r\n */\r\n enableMapDragPan () {\r\n if (this.mapDragPan && this.mapDragPan instanceof ol.interaction.DragPan) {\r\n this.map.addInteraction(this.mapDragPan)\r\n this.mapDragPan = null\r\n }\r\n }\r\n}\r\nexport default PlotEdit\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Event/PlotEdit.js","/**\r\n * Created by FDD on 2017/5/22.\r\n * @desc 标绘画弓形算法,继承线要素相关方法和属性\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Arc extends (ol.geom.LineString) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.LineString.call(this, [])\r\n this.type = PlotTypes.ARC\r\n this.fixPointCount = 3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n let count = this.getPointCount()\r\n if (count < 2) return\r\n if (count === 2) {\r\n this.setCoordinates(this.points)\r\n } else {\r\n let [pnt1, pnt2, pnt3, startAngle, endAngle] = [this.points[0], this.points[1], this.points[2], null, null]\r\n let center = PlotUtils.getCircleCenterOfThreePoints(pnt1, pnt2, pnt3)\r\n let radius = PlotUtils.MathDistance(pnt1, center)\r\n let angle1 = PlotUtils.getAzimuth(pnt1, center)\r\n let angle2 = PlotUtils.getAzimuth(pnt2, center)\r\n if (PlotUtils.isClockWise(pnt1, pnt2, pnt3)) {\r\n startAngle = angle2\r\n endAngle = angle1\r\n } else {\r\n startAngle = angle1\r\n endAngle = angle2\r\n }\r\n this.setCoordinates(PlotUtils.getArcPoints(center, radius, startAngle, endAngle))\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Arc\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arc/Arc.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 粗单直箭头\r\n * @Inherits FineArrow\r\n */\r\nimport FineArrow from './FineArrow'\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nclass AssaultDirection extends FineArrow {\r\n constructor (points, params) {\r\n super()\r\n FineArrow.call(this, points, params)\r\n this.tailWidthFactor = 0.05\r\n this.neckWidthFactor = 0.1\r\n this.headWidthFactor = 0.15\r\n this.type = PlotTypes.ASSAULT_DIRECTION\r\n this.headAngle = Math.PI / 4\r\n this.neckAngle = Math.PI * 0.17741\r\n this.setPoints(points)\r\n this.set('params', params)\r\n }\r\n}\r\n\r\nexport default AssaultDirection\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/AssaultDirection.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 双箭头\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as Constants from '../../Constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass DoubleArrow extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.DOUBLE_ARROW\r\n this.headHeightFactor = 0.25\r\n this.headWidthFactor = 0.3\r\n this.neckHeightFactor = 0.85\r\n this.neckWidthFactor = 0.15\r\n this.connPoint = null\r\n this.tempPoint4 = null\r\n this.fixPointCount = 4\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let count = this.getPointCount()\r\n let [pnt1, pnt2, pnt3] = [this.points[0], this.points[1], this.points[2]]\r\n if (count === 2) {\r\n this.setCoordinates([this.points])\r\n return false\r\n } else if (count === 3) {\r\n this.tempPoint4 = this.getTempPoint4(pnt1, pnt2, pnt3)\r\n this.connPoint = PlotUtils.Mid(pnt1, pnt2)\r\n } else if (count === 4) {\r\n this.tempPoint4 = this.points[3]\r\n this.connPoint = PlotUtils.Mid(pnt1, pnt2)\r\n } else {\r\n this.tempPoint4 = this.points[3]\r\n this.connPoint = this.points[4]\r\n }\r\n let [leftArrowPnts, rightArrowPnts] = [undefined, undefined]\r\n if (PlotUtils.isClockWise(pnt1, pnt2, pnt3)) {\r\n leftArrowPnts = this.getArrowPoints(pnt1, this.connPoint, this.tempPoint4, false)\r\n rightArrowPnts = this.getArrowPoints(this.connPoint, pnt2, pnt3, true)\r\n } else {\r\n leftArrowPnts = this.getArrowPoints(pnt2, this.connPoint, pnt3, false)\r\n rightArrowPnts = this.getArrowPoints(this.connPoint, pnt1, this.tempPoint4, true)\r\n }\r\n let m = leftArrowPnts.length\r\n let t = (m - 5) / 2\r\n let llBodyPnts = leftArrowPnts.slice(0, t)\r\n let lArrowPnts = leftArrowPnts.slice(t, t + 5)\r\n let lrBodyPnts = leftArrowPnts.slice(t + 5, m)\r\n let rlBodyPnts = rightArrowPnts.slice(0, t)\r\n let rArrowPnts = rightArrowPnts.slice(t, t + 5)\r\n let rrBodyPnts = rightArrowPnts.slice(t + 5, m)\r\n rlBodyPnts = PlotUtils.getBezierPoints(rlBodyPnts)\r\n let bodyPnts = PlotUtils.getBezierPoints(rrBodyPnts.concat(llBodyPnts.slice(1)))\r\n lrBodyPnts = PlotUtils.getBezierPoints(lrBodyPnts)\r\n let pnts = rlBodyPnts.concat(rArrowPnts, bodyPnts, lArrowPnts, lrBodyPnts)\r\n this.setCoordinates([pnts])\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 插值箭形上的点\r\n * @param pnt1\r\n * @param pnt2\r\n * @param pnt3\r\n * @param clockWise\r\n * @returns {Array.}\r\n */\r\n getArrowPoints (pnt1, pnt2, pnt3, clockWise) {\r\n let midPnt = PlotUtils.Mid(pnt1, pnt2)\r\n let len = PlotUtils.MathDistance(midPnt, pnt3)\r\n let midPnt1 = PlotUtils.getThirdPoint(pnt3, midPnt, 0, len * 0.3, true)\r\n let midPnt2 = PlotUtils.getThirdPoint(pnt3, midPnt, 0, len * 0.5, true)\r\n midPnt1 = PlotUtils.getThirdPoint(midPnt, midPnt1, Constants.HALF_PI, len / 5, clockWise)\r\n midPnt2 = PlotUtils.getThirdPoint(midPnt, midPnt2, Constants.HALF_PI, len / 4, clockWise)\r\n let points = [midPnt, midPnt1, midPnt2, pnt3]\r\n let arrowPnts = this.getArrowHeadPoints(points)\r\n if (arrowPnts && Array.isArray(arrowPnts) && arrowPnts.length > 0) {\r\n let [neckLeftPoint, neckRightPoint] = [arrowPnts[0], arrowPnts[4]]\r\n let tailWidthFactor = PlotUtils.MathDistance(pnt1, pnt2) / PlotUtils.getBaseLength(points) / 2\r\n let bodyPnts = this.getArrowBodyPoints(points, neckLeftPoint, neckRightPoint, tailWidthFactor)\r\n if (bodyPnts) {\r\n let n = bodyPnts.length\r\n let lPoints = bodyPnts.slice(0, n / 2)\r\n let rPoints = bodyPnts.slice(n / 2, n)\r\n lPoints.push(neckLeftPoint)\r\n rPoints.push(neckRightPoint)\r\n lPoints = lPoints.reverse()\r\n lPoints.push(pnt2)\r\n rPoints = rPoints.reverse()\r\n rPoints.push(pnt1)\r\n return (lPoints.reverse().concat(arrowPnts, rPoints))\r\n }\r\n } else {\r\n throw new Error('插值出错')\r\n }\r\n }\r\n\r\n /**\r\n * 插值头部点\r\n * @param points\r\n * @returns {[*,*,*,*,*]}\r\n */\r\n getArrowHeadPoints (points) {\r\n try {\r\n let len = PlotUtils.getBaseLength(points)\r\n let headHeight = len * this.headHeightFactor\r\n let headPnt = points[points.length - 1]\r\n let headWidth = headHeight * this.headWidthFactor\r\n let neckWidth = headHeight * this.neckWidthFactor\r\n let neckHeight = headHeight * this.neckHeightFactor\r\n let headEndPnt = PlotUtils.getThirdPoint(points[points.length - 2], headPnt, 0, headHeight, true)\r\n let neckEndPnt = PlotUtils.getThirdPoint(points[points.length - 2], headPnt, 0, neckHeight, true)\r\n let headLeft = PlotUtils.getThirdPoint(headPnt, headEndPnt, Constants.HALF_PI, headWidth, false)\r\n let headRight = PlotUtils.getThirdPoint(headPnt, headEndPnt, Constants.HALF_PI, headWidth, true)\r\n let neckLeft = PlotUtils.getThirdPoint(headPnt, neckEndPnt, Constants.HALF_PI, neckWidth, false)\r\n let neckRight = PlotUtils.getThirdPoint(headPnt, neckEndPnt, Constants.HALF_PI, neckWidth, true)\r\n return [neckLeft, headLeft, headPnt, headRight, neckRight]\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 插值面部分数据\r\n * @param points\r\n * @param neckLeft\r\n * @param neckRight\r\n * @param tailWidthFactor\r\n * @returns {Array.<*>}\r\n */\r\n getArrowBodyPoints (points, neckLeft, neckRight, tailWidthFactor) {\r\n let allLen = PlotUtils.wholeDistance(points)\r\n let len = PlotUtils.getBaseLength(points)\r\n let tailWidth = len * tailWidthFactor\r\n let neckWidth = PlotUtils.MathDistance(neckLeft, neckRight)\r\n let widthDif = (tailWidth - neckWidth) / 2\r\n let [tempLen, leftBodyPnts, rightBodyPnts] = [0, [], []]\r\n for (let i = 1; i < points.length - 1; i++) {\r\n let angle = PlotUtils.getAngleOfThreePoints(points[i - 1], points[i], points[i + 1]) / 2\r\n tempLen += PlotUtils.MathDistance(points[i - 1], points[i])\r\n let w = (tailWidth / 2 - tempLen / allLen * widthDif) / Math.sin(angle)\r\n let left = PlotUtils.getThirdPoint(points[i - 1], points[i], Math.PI - angle, w, true)\r\n let right = PlotUtils.getThirdPoint(points[i - 1], points[i], angle, w, false)\r\n leftBodyPnts.push(left)\r\n rightBodyPnts.push(right)\r\n }\r\n return leftBodyPnts.concat(rightBodyPnts)\r\n }\r\n\r\n /**\r\n * 获取对称点\r\n * @param linePnt1\r\n * @param linePnt2\r\n * @param point\r\n * @returns {*}\r\n */\r\n getTempPoint4 (linePnt1, linePnt2, point) {\r\n try {\r\n let midPnt = PlotUtils.Mid(linePnt1, linePnt2)\r\n let len = PlotUtils.MathDistance(midPnt, point)\r\n let angle = PlotUtils.getAngleOfThreePoints(linePnt1, midPnt, point)\r\n let [symPnt, distance1, distance2, mid] = [undefined, undefined, undefined, undefined]\r\n if (angle < Constants.HALF_PI) {\r\n distance1 = len * Math.sin(angle)\r\n distance2 = len * Math.cos(angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, false)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, true)\r\n } else if (angle >= Constants.HALF_PI && angle < Math.PI) {\r\n distance1 = len * Math.sin(Math.PI - angle)\r\n distance2 = len * Math.cos(Math.PI - angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, false)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, false)\r\n } else if (angle >= Math.PI && angle < Math.PI * 1.5) {\r\n distance1 = len * Math.sin(angle - Math.PI)\r\n distance2 = len * Math.cos(angle - Math.PI)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, true)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, true)\r\n } else {\r\n distance1 = len * Math.sin(Math.PI * 2 - angle)\r\n distance2 = len * Math.cos(Math.PI * 2 - angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, true)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, false)\r\n }\r\n return symPnt\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n if (this.getPointCount() === 3 && this.tempPoint4 !== null) {\r\n this.points.push(this.tempPoint4)\r\n }\r\n if (this.connPoint !== null) {\r\n this.points.push(this.connPoint)\r\n }\r\n }\r\n}\r\n\r\nexport default DoubleArrow\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/DoubleArrow.js","/**\r\n * Created by FDD on 2017/5/26.\r\n * @desc 分队战斗行动\r\n * @Inherits AttackArrow\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport AttackArrow from './AttackArrow'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass SquadCombat extends AttackArrow {\r\n constructor (points, params) {\r\n super()\r\n AttackArrow.call(this, points, params)\r\n this.type = PlotTypes.SQUAD_COMBAT\r\n this.headHeightFactor = 0.18\r\n this.headWidthFactor = 0.3\r\n this.neckHeightFactor = 0.85\r\n this.neckWidthFactor = 0.15\r\n this.tailWidthFactor = 0.1\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let pnts = this.getPoints()\r\n let tailPnts = this.getTailPoints(pnts)\r\n let headPnts = this.getArrowHeadPoints(pnts, tailPnts[0], tailPnts[1])\r\n let neckLeft = headPnts[0]\r\n let neckRight = headPnts[4]\r\n let bodyPnts = this.getArrowBodyPoints(pnts, neckLeft, neckRight, this.tailWidthFactor)\r\n let count = bodyPnts.length\r\n let leftPnts = [tailPnts[0]].concat(bodyPnts.slice(0, count / 2))\r\n leftPnts.push(neckLeft)\r\n let rightPnts = [tailPnts[1]].concat(bodyPnts.slice(count / 2, count))\r\n rightPnts.push(neckRight)\r\n leftPnts = PlotUtils.getQBSplinePoints(leftPnts)\r\n rightPnts = PlotUtils.getQBSplinePoints(rightPnts)\r\n this.setCoordinates([leftPnts.concat(headPnts, rightPnts.reverse())])\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n getTailPoints (points) {\r\n let allLen = PlotUtils.getBaseLength(points)\r\n let tailWidth = allLen * this.tailWidthFactor\r\n let tailLeft = PlotUtils.getThirdPoint(points[1], points[0], Constants.HALF_PI, tailWidth, false)\r\n let tailRight = PlotUtils.getThirdPoint(points[1], points[0], Constants.HALF_PI, tailWidth, true)\r\n return ([tailLeft, tailRight])\r\n }\r\n}\r\n\r\nexport default SquadCombat\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/SquadCombat.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 细直箭头\r\n * @Inherits ol.geom.LineString\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass StraightArrow extends (ol.geom.LineString) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.LineString.call(this, [])\r\n this.type = PlotTypes.STRAIGHT_ARROW\r\n this.fixPointCount = 2\r\n this.maxArrowLength = 3000000\r\n this.arrowLengthScale = 5\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let count = this.getPointCount()\r\n if (count < 2) {\r\n return false\r\n } else {\r\n let pnts = this.getPoints()\r\n let [pnt1, pnt2] = [pnts[0], pnts[1]]\r\n let distance = PlotUtils.MathDistance(pnt1, pnt2)\r\n let len = distance / this.arrowLengthScale\r\n len = ((len > this.maxArrowLength) ? this.maxArrowLength : len)\r\n let leftPnt = PlotUtils.getThirdPoint(pnt1, pnt2, Math.PI / 6, len, false)\r\n let rightPnt = PlotUtils.getThirdPoint(pnt1, pnt2, Math.PI / 6, len, true)\r\n this.setCoordinates([pnt1, pnt2, leftPnt, pnt2, rightPnt])\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default StraightArrow\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/StraightArrow.js","/**\r\n * Created by FDD on 2017/5/26.\r\n * @desc 进攻方向(尾)\r\n * @Inherits AttackArrow\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport AttackArrow from './AttackArrow'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass TailedAttackArrow extends AttackArrow {\r\n constructor (points, params) {\r\n super()\r\n AttackArrow.call(this, points, params)\r\n this.type = PlotTypes.TAILED_ATTACK_ARROW\r\n this.headHeightFactor = 0.18\r\n this.headWidthFactor = 0.3\r\n this.neckHeightFactor = 0.85\r\n this.neckWidthFactor = 0.15\r\n this.tailWidthFactor = 0.1\r\n this.headTailFactor = 0.8\r\n this.swallowTailFactor = 1\r\n this.swallowTailPnt = null\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let points = this.getPointCount()\r\n if (points === 2) {\r\n this.setCoordinates([this.points])\r\n return false\r\n } else {\r\n let pnts = this.getPoints()\r\n let [tailLeft, tailRight] = [pnts[0], pnts[1]]\r\n if (PlotUtils.isClockWise(pnts[0], pnts[1], pnts[2])) {\r\n tailLeft = pnts[1]\r\n tailRight = pnts[0]\r\n }\r\n let midTail = PlotUtils.Mid(tailLeft, tailRight)\r\n let bonePnts = [midTail].concat(pnts.slice(2))\r\n let headPnts = this.getArrowHeadPoints(bonePnts, tailLeft, tailRight)\r\n let [neckLeft, neckRight] = [headPnts[0], headPnts[4]]\r\n let tailWidth = PlotUtils.MathDistance(tailLeft, tailRight)\r\n let allLen = PlotUtils.getBaseLength(bonePnts)\r\n let len = allLen * this.tailWidthFactor * this.swallowTailFactor\r\n this.swallowTailPnt = PlotUtils.getThirdPoint(bonePnts[1], bonePnts[0], 0, len, true)\r\n let factor = tailWidth / allLen\r\n let bodyPnts = this.getArrowBodyPoints(bonePnts, neckLeft, neckRight, factor)\r\n let count = bodyPnts.length\r\n let leftPnts = [tailLeft].concat(bodyPnts.slice(0, count / 2))\r\n leftPnts.push(neckLeft)\r\n let rightPnts = [tailRight].concat(bodyPnts.slice(count / 2, count))\r\n rightPnts.push(neckRight)\r\n leftPnts = PlotUtils.getQBSplinePoints(leftPnts)\r\n rightPnts = PlotUtils.getQBSplinePoints(rightPnts)\r\n this.setCoordinates([leftPnts.concat(headPnts, rightPnts.reverse(), [this.swallowTailPnt, leftPnts[0]])])\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n}\r\n\r\nexport default TailedAttackArrow\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/TailedAttackArrow.js","/**\r\n * Created by FDD on 2017/5/26.\r\n * @desc 分队战斗行动(尾)\r\n * @Inherits AttackArrow\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport AttackArrow from './AttackArrow'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass TailedSquadCombat extends AttackArrow {\r\n constructor (points, params) {\r\n super()\r\n AttackArrow.call(this, points, params)\r\n this.type = PlotTypes.TAILED_SQUAD_COMBAT\r\n this.headHeightFactor = 0.18\r\n this.headWidthFactor = 0.3\r\n this.neckHeightFactor = 0.85\r\n this.neckWidthFactor = 0.15\r\n this.tailWidthFactor = 0.1\r\n this.swallowTailFactor = 1\r\n this.swallowTailPnt = null\r\n this.fixPointCount = 2\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let pnts = this.getPoints()\r\n let tailPnts = this.getTailPoints(pnts)\r\n let headPnts = this.getArrowHeadPoints(pnts, tailPnts[0], tailPnts[2])\r\n let neckLeft = headPnts[0]\r\n let neckRight = headPnts[4]\r\n let bodyPnts = this.getArrowBodyPoints(pnts, neckLeft, neckRight, this.tailWidthFactor)\r\n let count = bodyPnts.length\r\n let leftPnts = [tailPnts[0]].concat(bodyPnts.slice(0, count / 2))\r\n leftPnts.push(neckLeft)\r\n let rightPnts = [tailPnts[2]].concat(bodyPnts.slice(count / 2, count))\r\n rightPnts.push(neckRight)\r\n leftPnts = PlotUtils.getQBSplinePoints(leftPnts)\r\n rightPnts = PlotUtils.getQBSplinePoints(rightPnts)\r\n this.setCoordinates([leftPnts.concat(headPnts, rightPnts.reverse(), [tailPnts[1], leftPnts[0]])])\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n getTailPoints (points) {\r\n let allLen = PlotUtils.getBaseLength(points)\r\n let tailWidth = allLen * this.tailWidthFactor\r\n let tailLeft = PlotUtils.getThirdPoint(points[1], points[0], Constants.HALF_PI, tailWidth, false)\r\n let tailRight = PlotUtils.getThirdPoint(points[1], points[0], Constants.HALF_PI, tailWidth, true)\r\n let len = tailWidth * this.swallowTailFactor\r\n let swallowTailPnt = PlotUtils.getThirdPoint(points[1], points[0], 0, len, true)\r\n return ([tailLeft, swallowTailPnt, tailRight])\r\n }\r\n}\r\n\r\nexport default TailedSquadCombat\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/TailedSquadCombat.js","/**\r\n * Created by FDD on 2017/5/22.\r\n * @desc 标绘画圆算法,继承面要素相关方法和属性\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Circle extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.CIRCLE\r\n this.fixPointCount = 2\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n generate () {\r\n let center = this.points[0]\r\n let radius = PlotUtils.MathDistance(center, this.points[1])\r\n this.setCoordinates([this.generatePoints(center, radius)])\r\n }\r\n\r\n /**\r\n * 对圆边线进行插值\r\n * @param center\r\n * @param radius\r\n * @returns {null}\r\n */\r\n generatePoints (center, radius) {\r\n let [x, y, angle, points] = [null, null, null, []]\r\n for (let i = 0; i <= 100; i++) {\r\n angle = Math.PI * 2 * i / 100\r\n x = center[0] + radius * Math.cos(angle)\r\n y = center[1] + radius * Math.sin(angle)\r\n points.push([x, y])\r\n }\r\n return points\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Circle\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Circle/Circle.js","/**\r\n * Created by FDD on 2017/5/22.\r\n * @desc 标绘画圆算法,继承面要素相关方法和属性\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as Constants from '../../Constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Ellipse extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.ELLIPSE\r\n this.fixPointCount = 2\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n generate () {\r\n if (this.getPointCount() < 2) {\r\n return false\r\n } else {\r\n let [pnt1, pnt2] = [this.points[0], this.points[1]]\r\n let center = PlotUtils.Mid(pnt1, pnt2)\r\n let majorRadius = Math.abs((pnt1[0] - pnt2[0]) / 2)\r\n let minorRadius = Math.abs((pnt1[1] - pnt2[1]) / 2)\r\n let res = this.generatePoints(center, majorRadius, minorRadius)\r\n this.setCoordinates([res])\r\n }\r\n }\r\n\r\n /**\r\n * 对圆边线进行插值\r\n * @param center\r\n * @param majorRadius\r\n * @param minorRadius\r\n * @returns {*}\r\n */\r\n generatePoints (center, majorRadius, minorRadius) {\r\n let [x, y, angle, points] = [null, null, null, []]\r\n for (let i = 0; i <= Constants.FITTING_COUNT; i++) {\r\n angle = Math.PI * 2 * i / Constants.FITTING_COUNT\r\n x = center[0] + majorRadius * Math.cos(angle)\r\n y = center[1] + minorRadius * Math.sin(angle)\r\n points.push([x, y])\r\n }\r\n return points\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Ellipse\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Circle/Ellipse.js","/**\r\n * Created by FDD on 2017/5/25.\r\n * @desc 闭合曲面\r\n * @Inherits ol.geom.Polygon\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass ClosedCurve extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.CLOSED_CURVE\r\n this.t = 0.3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n let points = this.getPointCount()\r\n if (points === 2) {\r\n this.setCoordinates([this.points])\r\n } else {\r\n let pnts = this.getPoints()\r\n pnts.push(pnts[0], pnts[1])\r\n let [normals, pList] = [[], []]\r\n for (let i = 0; i < pnts.length - 2; i++) {\r\n let normalPoints = PlotUtils.getBisectorNormals(this.t, pnts[i], pnts[i + 1], pnts[i + 2])\r\n normals = normals.concat(normalPoints)\r\n }\r\n let count = normals.length\r\n normals = [normals[count - 1]].concat(normals.slice(0, count - 1))\r\n for (let i = 0; i < pnts.length - 2; i++) {\r\n let pnt1 = pnts[i]\r\n let pnt2 = pnts[i + 1]\r\n pList.push(pnt1)\r\n for (let t = 0; t <= Constants.FITTING_COUNT; t++) {\r\n let pnt = PlotUtils.getCubicValue(t / Constants.FITTING_COUNT, pnt1, normals[i * 2], normals[i * 2 + 1], pnt2)\r\n pList.push(pnt)\r\n }\r\n pList.push(pnt2)\r\n }\r\n this.setCoordinates([pList])\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default ClosedCurve\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/ClosedCurve.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 自由面\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nclass FreePolygon extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.FREEHAND_POLYGON\r\n this.freehand = true\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n this.setCoordinates([this.points])\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default FreePolygon\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/FreePolygon.js","/**\r\n * Created by FDD on 2017/5/27.\r\n * @desc 集结地\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass GatheringPlace extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.GATHERING_PLACE\r\n this.t = 0.4\r\n this.fixPointCount = 3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n let pnts = this.getPoints()\r\n let points = this.getPointCount()\r\n if (pnts.length < 2) {\r\n return false\r\n } else {\r\n if (points === 2) {\r\n let mid = PlotUtils.Mid(pnts[0], pnts[1])\r\n let d = PlotUtils.MathDistance(pnts[0], mid) / 0.9\r\n let pnt = PlotUtils.getThirdPoint(pnts[0], mid, Constants.HALF_PI, d, true)\r\n pnts = [pnts[0], pnt, pnts[1]]\r\n }\r\n let mid = PlotUtils.Mid(pnts[0], pnts[2])\r\n pnts.push(mid, pnts[0], pnts[1])\r\n let [normals, pnt1, pnt2, pnt3, pList] = [[], undefined, undefined, undefined, []]\r\n for (let i = 0; i < pnts.length - 2; i++) {\r\n pnt1 = pnts[i]\r\n pnt2 = pnts[i + 1]\r\n pnt3 = pnts[i + 2]\r\n let normalPoints = PlotUtils.getBisectorNormals(this.t, pnt1, pnt2, pnt3)\r\n normals = normals.concat(normalPoints)\r\n }\r\n let count = normals.length\r\n normals = [normals[count - 1]].concat(normals.slice(0, count - 1))\r\n for (let i = 0; i < pnts.length - 2; i++) {\r\n pnt1 = pnts[i]\r\n pnt2 = pnts[i + 1]\r\n pList.push(pnt1)\r\n for (let t = 0; t <= Constants.FITTING_COUNT; t++) {\r\n let pnt = PlotUtils.getCubicValue(t / Constants.FITTING_COUNT, pnt1, normals[i * 2], normals[i * 2 + 1], pnt2)\r\n pList.push(pnt)\r\n }\r\n pList.push(pnt2)\r\n }\r\n this.setCoordinates([pList])\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default GatheringPlace\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/GatheringPlace.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 弓形\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as Constants from '../../Constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Lune extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.LUNE\r\n this.fixPointCount = 3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n if (this.getPointCount() < 2) {\r\n return false\r\n } else {\r\n let pnts = this.getPoints()\r\n if (this.getPointCount() === 2) {\r\n let mid = PlotUtils.Mid(pnts[0], pnts[1])\r\n let d = PlotUtils.MathDistance(pnts[0], mid)\r\n let pnt = PlotUtils.getThirdPoint(pnts[0], mid, Constants.HALF_PI, d)\r\n pnts.push(pnt)\r\n }\r\n let [pnt1, pnt2, pnt3, startAngle, endAngle] = [pnts[0], pnts[1], pnts[2], undefined, undefined]\r\n let center = PlotUtils.getCircleCenterOfThreePoints(pnt1, pnt2, pnt3)\r\n let radius = PlotUtils.MathDistance(pnt1, center)\r\n let angle1 = PlotUtils.getAzimuth(pnt1, center)\r\n let angle2 = PlotUtils.getAzimuth(pnt2, center)\r\n if (PlotUtils.isClockWise(pnt1, pnt2, pnt3)) {\r\n startAngle = angle2\r\n endAngle = angle1\r\n } else {\r\n startAngle = angle1\r\n endAngle = angle2\r\n }\r\n pnts = PlotUtils.getArcPoints(center, radius, startAngle, endAngle)\r\n pnts.push(pnts[0])\r\n this.setCoordinates([pnts])\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Lune\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/Lune.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 多边形\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nclass Polygon extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.POLYGON\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n this.setCoordinates([this.points])\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Polygon\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/Polygon.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 规则矩形\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nclass RectAngle extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.RECTANGLE\r\n this.fixPointCount = 2\r\n this.set('params', params)\r\n this.setPoints(points)\r\n this.isFill = ((params['isFill'] === false) ? params['isFill'] : true)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n if (this.points.length === 2) {\r\n let coordinates = []\r\n if (this.isFill) {\r\n let extent = ol.extent.boundingExtent(this.points)\r\n let polygon = ol.geom.Polygon.fromExtent(extent)\r\n coordinates = polygon.getCoordinates()\r\n } else {\r\n let start = this.points[0]\r\n let end = this.points[1]\r\n coordinates = [start, [start[0], end[1]], end, [end[0], start[1]], start]\r\n }\r\n this.setCoordinates(coordinates)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default RectAngle\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/RectAngle.js","/**\r\n * Created by FDD on 2017/5/25.\r\n * @desc 扇形\r\n * @Inherits ol.geom.Polygon\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Sector extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.SECTOR\r\n this.fixPointCount = 3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n let points = this.getPointCount()\r\n if (points < 2) {\r\n return false\r\n } else if (points === 2) {\r\n this.setCoordinates([this.points])\r\n } else {\r\n let pnts = this.getPoints()\r\n let [center, pnt2, pnt3] = [pnts[0], pnts[1], pnts[2]]\r\n let radius = PlotUtils.MathDistance(pnt2, center)\r\n let startAngle = PlotUtils.getAzimuth(pnt2, center)\r\n let endAngle = PlotUtils.getAzimuth(pnt3, center)\r\n let pList = PlotUtils.getArcPoints(center, radius, startAngle, endAngle)\r\n pList.push(center, pList[0])\r\n this.setCoordinates([pList])\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Sector\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/Sector.js","/**\r\n * Created by FDD on 2017/5/22.\r\n * @desc 标绘曲线算法\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Curve extends (ol.geom.LineString) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.LineString.call(this, [])\r\n this.type = PlotTypes.CURVE\r\n this.t = 0.3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n if (this.getPointCount() === 2) {\r\n this.setCoordinates(this.points)\r\n } else {\r\n let points = PlotUtils.getCurvePoints(this.t, this.points)\r\n this.setCoordinates(points)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Curve\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polyline/Curve.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 自由线\r\n * @Inherits ol.geom.LineString\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nclass FreeHandLine extends (ol.geom.LineString) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.LineString.call(this, [])\r\n this.type = PlotTypes.FREEHAND_LINE\r\n this.freehand = true\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n this.setCoordinates(this.points)\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default FreeHandLine\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polyline/FreeHandLine.js","import PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nclass Polyline extends (ol.geom.LineString) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.LineString.call(this, [])\r\n this.type = PlotTypes.POLYLINE\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n this.setCoordinates(this.points)\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Polyline\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polyline/Polyline.js","/**\r\n * Created by FDD on 2017/5/20.\r\n * @desc 标绘图形构造类\r\n */\r\nimport Point from './point/Point'\r\nimport Pennant from './point/Pennant'\r\nimport Polyline from './Polyline/Polyline'\r\nimport Arc from './Arc/Arc'\r\nimport Circle from './Circle/Circle'\r\nimport Curve from './Polyline/Curve'\r\nimport FreeHandLine from './Polyline/FreeHandLine'\r\nimport RectAngle from './Polygon/RectAngle'\r\nimport Ellipse from './Circle/Ellipse'\r\nimport Lune from './Polygon/Lune'\r\nimport Sector from './Polygon/Sector'\r\nimport ClosedCurve from './Polygon/ClosedCurve'\r\nimport Polygon from './Polygon/Polygon'\r\nimport FreePolygon from './Polygon/FreePolygon'\r\nimport AttackArrow from './Arrow/AttackArrow'\r\nimport DoubleArrow from './Arrow/DoubleArrow'\r\nimport StraightArrow from './Arrow/StraightArrow'\r\nimport FineArrow from './Arrow/FineArrow'\r\nimport AssaultDirection from './Arrow/AssaultDirection'\r\nimport TailedAttackArrow from './Arrow/TailedAttackArrow'\r\nimport SquadCombat from './Arrow/SquadCombat'\r\nimport TailedSquadCombat from './Arrow/TailedSquadCombat'\r\nimport GatheringPlace from './Polygon/GatheringPlace'\r\nexport default {\r\n Point: Point,\r\n Pennant: Pennant,\r\n Polyline: Polyline,\r\n Arc: Arc,\r\n Circle: Circle,\r\n Curve: Curve,\r\n FreeHandLine: FreeHandLine,\r\n RectAngle: RectAngle,\r\n Ellipse: Ellipse,\r\n Lune: Lune,\r\n Sector: Sector,\r\n ClosedCurve: ClosedCurve,\r\n Polygon: Polygon,\r\n FreePolygon: FreePolygon,\r\n AttackArrow: AttackArrow,\r\n DoubleArrow: DoubleArrow,\r\n StraightArrow: StraightArrow,\r\n FineArrow: FineArrow,\r\n AssaultDirection: AssaultDirection,\r\n TailedAttackArrow: TailedAttackArrow,\r\n SquadCombat: SquadCombat,\r\n TailedSquadCombat: TailedSquadCombat,\r\n GatheringPlace: GatheringPlace\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/index.js","/**\r\n * Created by FDD on 2017/5/15.\r\n * @desc 点要素\r\n * @Inherits ol.geom.Point\r\n */\r\nimport { ol } from '../../../constants'\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nconst GeomPoint = ol.geom.Point\r\nclass Pennant extends GeomPoint {\r\n constructor (point, params) {\r\n super()\r\n ol.geom.Point.call(this, [])\r\n this.type = PlotTypes.PENNANT\r\n this.options = params || {}\r\n this.set('params', this.options)\r\n this.setPoints(point)\r\n }\r\n\r\n generate () {\r\n this.setCoordinates(this.points)\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Pennant\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/point/Pennant.js","/**\r\n * Created by FDD on 2017/5/15.\r\n * @desc 点要素\r\n * @Inherits ol.geom.Point\r\n */\r\nimport { ol } from '../../../constants'\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nconst GeomPoint = ol.geom.Point\r\nclass Point extends GeomPoint {\r\n constructor (point, params) {\r\n super()\r\n ol.geom.Point.call(this, [])\r\n this.type = PlotTypes.POINT\r\n this.options = params || {}\r\n this.set('params', this.options)\r\n this.setPoints(point)\r\n }\r\n\r\n generate () {\r\n this.setCoordinates(this.points)\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n console.log(this.points)\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Point\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/point/Point.js","/**\r\n * Created by FDD on 2017/5/15.\r\n * @desc 基于openlayer的动态标绘\r\n */\r\nimport { ol } from '../constants'\r\nimport Plots from './Geometry/index'\r\nimport PlotTypes from './Utils/PlotTypes'\r\nclass Plot {\r\n constructor (map) {\r\n this.version = '1.0.0'\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('缺少地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 创建Plot\r\n * @param type\r\n * @param points\r\n * @param _params\r\n * @returns {*}\r\n */\r\n createPlot (type, points, _params) {\r\n let params = _params || {}\r\n switch (type) {\r\n case PlotTypes.POINT:\r\n return new Plots.Point(points, params)\r\n case PlotTypes.PENNANT:\r\n return new Plots.Pennant(points, params)\r\n case PlotTypes.POLYLINE:\r\n return new Plots.Polyline(points, params)\r\n case PlotTypes.ARC:\r\n return new Plots.Arc(points, params)\r\n case PlotTypes.CIRCLE:\r\n return new Plots.Circle(points, params)\r\n case PlotTypes.CURVE:\r\n return new Plots.Curve(points, params)\r\n case PlotTypes.FREE_LINE:\r\n return new Plots.FreeHandLine(points, params)\r\n case PlotTypes.RECTANGLE:\r\n return new Plots.RectAngle(points, params)\r\n case PlotTypes.ELLIPSE:\r\n return new Plots.Ellipse(points, params)\r\n case PlotTypes.LUNE:\r\n return new Plots.Lune(points, params)\r\n case PlotTypes.SECTOR:\r\n return new Plots.Sector(points, params)\r\n case PlotTypes.CLOSED_CURVE:\r\n return new Plots.ClosedCurve(points, params)\r\n case PlotTypes.POLYGON:\r\n return new Plots.Polygon(points, params)\r\n case PlotTypes.ATTACK_ARROW:\r\n return new Plots.AttackArrow(points, params)\r\n case PlotTypes.FREE_POLYGON:\r\n return new Plots.FreePolygon(points, params)\r\n case PlotTypes.DOUBLE_ARROW:\r\n return new Plots.DoubleArrow(points, params)\r\n case PlotTypes.STRAIGHT_ARROW:\r\n return new Plots.StraightArrow(points, params)\r\n case PlotTypes.FINE_ARROW:\r\n return new Plots.FineArrow(points, params)\r\n case PlotTypes.ASSAULT_DIRECTION:\r\n return new Plots.AssaultDirection(points, params)\r\n case PlotTypes.TAILED_ATTACK_ARROW:\r\n return new Plots.TailedAttackArrow(points, params)\r\n case PlotTypes.SQUAD_COMBAT:\r\n return new Plots.SquadCombat(points, params)\r\n case PlotTypes.TAILED_SQUAD_COMBAT:\r\n return new Plots.TailedSquadCombat(points, params)\r\n case PlotTypes.GATHERING_PLACE:\r\n return new Plots.GatheringPlace(points, params)\r\n }\r\n return null\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n generate () {}\r\n}\r\nexport default Plot\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/index.js","/**\r\n * Created by FDD on 2017/2/24.\r\n * @desc 原作者 Wandergis \r\n * 在此基础上添加优化和处理,并改写为es6\r\n */\r\nimport {PI, X_PI, a, ee} from '../constants'\r\nclass CoordsTransform {\r\n /**\r\n * 转换纬度\r\n * @param lng\r\n * @param lat\r\n * @returns {number}\r\n */\r\n transformlat (lng, lat) {\r\n let ret = -100.0 + 2.0 * lng + 3.0 * lat + 0.2 * lat * lat + 0.1 * lng * lat + 0.2 * Math.sqrt(Math.abs(lng))\r\n ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0\r\n ret += (20.0 * Math.sin(lat * PI) + 40.0 * Math.sin(lat / 3.0 * PI)) * 2.0 / 3.0\r\n ret += (160.0 * Math.sin(lat / 12.0 * PI) + 320 * Math.sin(lat * PI / 30.0)) * 2.0 / 3.0\r\n return ret\r\n }\r\n\r\n /**\r\n * 转换经度\r\n * @param lng\r\n * @param lat\r\n * @returns {number}\r\n */\r\n transformlng (lng, lat) {\r\n let ret = 300.0 + lng + 2.0 * lat + 0.1 * lng * lng + 0.1 * lng * lat + 0.1 * Math.sqrt(Math.abs(lng))\r\n ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0\r\n ret += (20.0 * Math.sin(lng * PI) + 40.0 * Math.sin(lng / 3.0 * PI)) * 2.0 / 3.0\r\n ret += (150.0 * Math.sin(lng / 12.0 * PI) + 300.0 * Math.sin(lng / 30.0 * PI)) * 2.0 / 3.0\r\n return ret\r\n }\r\n\r\n /**\r\n * 判断坐标是否在国内(国外坐标不需转换)\r\n * @param lng\r\n * @param lat\r\n * @returns {boolean}\r\n */\r\n outOfChina (lng, lat) {\r\n // 纬度3.86~53.55,经度73.66~135.05\r\n return !(lng > 73.66 && lng < 135.05 && lat > 3.86 && lat < 53.55)\r\n }\r\n\r\n /**\r\n * 国测局J02(火星坐标系 (GCJ-02))坐标转WGS84\r\n * @param lng\r\n * @param lat\r\n * @returns {[*,*]}\r\n */\r\n gcj02towgs84 (lng, lat) {\r\n if (this.outOfChina(lng, lat)) {\r\n return [lng, lat]\r\n } else {\r\n let dlat = this.transformlat(lng - 105.0, lat - 35.0)\r\n let dlng = this.transformlng(lng - 105.0, lat - 35.0)\r\n let radlat = lat / 180.0 * PI\r\n let magic = Math.sin(radlat)\r\n magic = 1 - ee * magic * magic\r\n let sqrtmagic = Math.sqrt(magic)\r\n dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * PI)\r\n dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * PI)\r\n let mglat = lat + dlat\r\n let mglng = lng + dlng\r\n return [lng * 2 - mglng, lat * 2 - mglat]\r\n }\r\n }\r\n\r\n /**\r\n * WGS84转国测局J02(火星坐标系 (GCJ-02))\r\n * @param lng\r\n * @param lat\r\n * @returns {[*,*]}\r\n */\r\n wgs84togcj02 (lng, lat) {\r\n if (this.outOfChina(lng, lat)) {\r\n return [lng, lat]\r\n } else {\r\n let dlat = this.transformlat(lng - 105.0, lat - 35.0)\r\n let dlng = this.transformlng(lng - 105.0, lat - 35.0)\r\n let radlat = lat / 180.0 * PI\r\n let magic = Math.sin(radlat)\r\n magic = 1 - ee * magic * magic\r\n let sqrtmagic = Math.sqrt(magic)\r\n dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * PI)\r\n dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * PI)\r\n let mglat = lat + dlat\r\n let mglng = lng + dlng\r\n return [mglng, mglat]\r\n }\r\n }\r\n\r\n /**\r\n * 国测局J02(火星坐标系 (GCJ-02))转百度坐标系\r\n * @param lng\r\n * @param lat\r\n * @returns {[*,*]}\r\n */\r\n gcj02tobd (lng, lat) {\r\n let z = Math.sqrt(lng * lng + lat * lat) + 0.00002 * Math.sin(lat * X_PI)\r\n let theta = Math.atan2(lat, lng) + 0.000003 * Math.cos(lng * X_PI)\r\n let bdLng = z * Math.cos(theta) + 0.0065\r\n let bdLat = z * Math.sin(theta) + 0.006\r\n return [bdLng, bdLat]\r\n }\r\n\r\n /**\r\n * 百度坐标系转国测局J02(火星坐标系 (GCJ-02))\r\n * @param lon\r\n * @param lat\r\n * @returns {[*,*]}\r\n */\r\n bdtogcj02 (lon, lat) {\r\n let x = lon - 0.0065\r\n let y = lat - 0.006\r\n let z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * X_PI)\r\n let theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * X_PI)\r\n let ggLng = z * Math.cos(theta)\r\n let ggLat = z * Math.sin(theta)\r\n return [ggLng, ggLat]\r\n }\r\n\r\n /**\r\n * 经纬度转Mercator\r\n * @param lontitude\r\n * @param latitude\r\n * @returns {[*,*]}\r\n */\r\n lonLatToMercator (lontitude, latitude) {\r\n let x = lontitude * 20037508.34 / 180\r\n let y = Math.log(Math.tan((90 + latitude) * Math.PI / 360)) / (Math.PI / 180)\r\n y = y * 20037508.34 / 180\r\n return [x, y]\r\n }\r\n\r\n /**\r\n * Mercator转经纬度\r\n * @param x\r\n * @param y\r\n * @returns {[*,*]}\r\n * @constructor\r\n */\r\n MercatorTolonLat (x, y) {\r\n let longtitude = x / 20037508.34 * 180\r\n let latitude = y / 20037508.34 * 180\r\n latitude = 180 / Math.PI * (2 * Math.atan(Math.exp(latitude * Math.PI / 180)) - Math.PI / 2)\r\n return [longtitude, latitude]\r\n }\r\n}\r\n\r\nexport default CoordsTransform\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plugins/CoordsTransform.js","/**\r\n * Created by FDD on 2017/5/10.\r\n * @desc 可拖拽圆创建\r\n */\r\nimport {ol} from '../constants'\r\nimport mix from '../utils/mixin'\r\nimport Layer from '../layer/Layer'\r\nimport Style from '../style/Style'\r\nimport {getuuid} from '../utils/utils'\r\nimport * as DomUtils from '../dom/domUtil'\r\n\r\nclass CustomCircle extends mix(Layer, Style) {\r\n constructor (params) {\r\n super()\r\n\r\n /**\r\n * 参数配置\r\n * @type {*}\r\n */\r\n this.options = params || {}\r\n\r\n if (!this.options['mapInstence'] || !this.options['mapInstence']['map'] || !(this.options['mapInstence']['map'] instanceof ol.Map)) {\r\n throw new Error('缺少底图对象!')\r\n } else {\r\n this.mapInstence = this.options['mapInstence']\r\n this.map = this.options['mapInstence']['map']\r\n }\r\n /**\r\n * 默认配置\r\n * @type {{radius: number, minRadius: number, maxRadius: number, layerName: string, showPolygonFeat: boolean}}\r\n */\r\n this.defaultConfig = {\r\n radius: 5000,\r\n minRadius: 50,\r\n maxRadius: 50000,\r\n layerName: 'perimeterSerachLayer',\r\n showPolygonFeature: true,\r\n showCenterFeature: true,\r\n zoomToExtent: true,\r\n style: {\r\n stroke: {\r\n strokeColor: 'rgba(71, 129, 217, 1)',\r\n strokeLineCap: 'round',\r\n strokeLineJoin: 'round',\r\n strokeLineDash: undefined,\r\n strokeLineDashOffset: '0',\r\n strokeMiterLimit: 10,\r\n strokeWidth: 1\r\n },\r\n fill: {\r\n fillColor: 'rgba(255, 255, 255, 0)'\r\n }\r\n }\r\n }\r\n // 部分配置未传时使用默认\r\n for (let key in this.defaultConfig) {\r\n if (!this.options.hasOwnProperty(key)) {\r\n this.options[key] = this.defaultConfig[key]\r\n }\r\n }\r\n\r\n /**\r\n * 如果当前坐标不是米制单位需要计算获取长度\r\n * @type {ol.Sphere}\r\n */\r\n this.sphare = new ol.Sphere(6378137)\r\n\r\n /**\r\n * 鼠标是否按下\r\n * @type {boolean}\r\n */\r\n this.isMouseDown = false\r\n /**\r\n * 是否正在移动\r\n * @type {boolean}\r\n */\r\n this.isMoving = false\r\n /**\r\n * 默认半径\r\n */\r\n this.radius = this.options['radius']\r\n /**\r\n * 半径显示DOM\r\n * @type {null}\r\n */\r\n this.handleLabel = null\r\n /**\r\n * 自动创建\r\n */\r\n this.createCircle(this.options['center'])\r\n }\r\n\r\n /**\r\n * 创建要素\r\n */\r\n createCircle (center) {\r\n try {\r\n /**\r\n * 投影后的坐标\r\n * @type {ol.Coordinate}\r\n */\r\n this.center = center\r\n this.centerCopy = ol.proj.transform(center, this._getProjectionCode(), 'EPSG:4326')\r\n this.geom = this._getCircleGeom()\r\n if (this.geom && this.options['zoomToExtent']) {\r\n let extent = this.geom.getExtent()\r\n this.zoomToExtent(extent, true)\r\n }\r\n this.circleFeature = new ol.Feature({\r\n geometry: this.geom\r\n })\r\n /**\r\n * 所在图层\r\n * @type {*}\r\n */\r\n let layer = this.createVectorLayer(this.options['layerName'], {\r\n create: true\r\n })\r\n this.mapInstence.polygonLayers.add(this.options['layerName'])\r\n this.mapInstence.orderLayerZindex()\r\n /**\r\n * 当前要素样式\r\n * @type {ol.style.Style}\r\n */\r\n let style = this.getStyleByPolygon(this.options['style'])\r\n layer.setStyle(style)\r\n layer.getSource().addFeature(this.circleFeature)\r\n if (this.options['showCenterFeature']) {\r\n this.addCenterPoint(layer)\r\n }\r\n this.addEditor()\r\n this.dispachChange()\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 销毁要素\r\n */\r\n destroyCircle () {\r\n if (this.options['layerName']) {\r\n this.removeLayerByLayerName(this.options['layerName'])\r\n this.isMouseDown = false\r\n this.isMoving = false\r\n this.handleLabel = null\r\n }\r\n if (this.overlay && this.overlay instanceof ol.Overlay) {\r\n this.map.removeOverlay(this.overlay)\r\n this.overlay = null\r\n }\r\n }\r\n\r\n /**\r\n * 获取要素空间信息\r\n * @returns {ol.geom.Geometry|*}\r\n * @private\r\n */\r\n _getCircleGeom () {\r\n let sourceGeom = new ol.geom.Circle(this.centerCopy, (this.transformRadius(this.centerCopy, this.radius)))\r\n let geom = sourceGeom.transform('EPSG:4326', this._getProjectionCode())\r\n return geom\r\n }\r\n\r\n /**\r\n * 添加中心点\r\n */\r\n addCenterPoint (layer) {\r\n this.centerPoint = new ol.Feature({\r\n geometry: new ol.geom.Point(this.center)\r\n })\r\n let centerStyle = new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 5,\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(71, 129, 217, 1)',\r\n width: 1\r\n }),\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255,255,255,0.5)'\r\n })\r\n })\r\n })\r\n this.centerPoint.setStyle(centerStyle)\r\n layer.getSource().addFeature(this.centerPoint)\r\n }\r\n\r\n /**\r\n * 添加编辑按钮\r\n * @returns {Overlay|ol.Overlay}\r\n */\r\n addEditor () {\r\n let editor = DomUtils.create('div', 'custom-circle', document.body)\r\n let button = DomUtils.create('span', 'custom-circle-button', editor, ('editor_' + getuuid()))\r\n this.handleLabel = DomUtils.create('span', 'custom-circle-handleLabel', editor)\r\n this.handleLabel.innerHTML = this.radius + 'm'\r\n this.addEventHandle(button, this.handleLabel)\r\n this.overlay = new ol.Overlay({\r\n element: editor,\r\n position: this.geom.getLastCoordinate(),\r\n positioning: 'left-center',\r\n offset: [-18, -10]\r\n })\r\n this.map.addOverlay(this.overlay)\r\n }\r\n\r\n /**\r\n * 添加事件处理机\r\n * @param button\r\n */\r\n addEventHandle (button) {\r\n if (button && button instanceof Element) {\r\n button.addEventListener('mousedown', event => {\r\n if (event.preventDefault) {\r\n event.preventDefault()\r\n } else {\r\n event.returnValue = false\r\n }\r\n this.isMouseDown = true\r\n this.map.on('pointermove', this.onMouseMove, this)\r\n })\r\n button.addEventListener('mouseup', event => {\r\n if (event.preventDefault) {\r\n event.preventDefault()\r\n } else {\r\n event.returnValue = false\r\n }\r\n if (this.isMouseDown && this.isMoving) {\r\n this.dispachChange()\r\n }\r\n this.isMouseDown = false\r\n this.isMoving = false\r\n this.map.un('pointermove', this.onMouseMove, this)\r\n })\r\n document.addEventListener('mouseup', event => {\r\n if (event.preventDefault) {\r\n event.preventDefault()\r\n } else {\r\n event.returnValue = false\r\n }\r\n if (this.isMouseDown && this.isMoving) {\r\n this.dispachChange()\r\n }\r\n this.isMouseDown = false\r\n this.isMoving = false\r\n this.map.un('pointermove', this.onMouseMove, this)\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 计算半径\r\n * @param coords\r\n */\r\n mathRadius (coords) {\r\n this.isMoving = true\r\n if (this.center && coords) {\r\n let c1 = ol.proj.transform(this.center, this._getProjectionCode(), 'EPSG:4326')\r\n let c2 = ol.proj.transform(coords, this._getProjectionCode(), 'EPSG:4326')\r\n let radius = this.sphare.haversineDistance(c1, c2)\r\n if (radius > this.options['maxRadius']) {\r\n this.radius = this.options['maxRadius'] - 1\r\n this.isMouseDown = false\r\n this.map.un('pointermove', this.onMouseMove, this)\r\n } else if (radius < this.options['minRadius']) {\r\n this.radius = this.options['minRadius'] - 1\r\n this.isMouseDown = false\r\n this.map.un('pointermove', this.onMouseMove, this)\r\n } else {\r\n this.radius = radius\r\n }\r\n this.handleLabel.innerHTML = Math.floor(this.radius) + 1 + 'm'\r\n this.geom = this._getCircleGeom()\r\n this.circleFeature.setGeometry(this.geom)\r\n this.overlay.setPosition(this.geom.getLastCoordinate())\r\n }\r\n }\r\n\r\n /**\r\n * 处理鼠标移动事件\r\n * @param event\r\n */\r\n onMouseMove (event) {\r\n if (this.isMouseDown) {\r\n this.mathRadius(event.coordinate)\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前投影\r\n * @returns {string}\r\n * @private\r\n */\r\n _getProjectionCode () {\r\n let code = ''\r\n if (this.map) {\r\n code = this.map.getView().getProjection().getCode()\r\n } else {\r\n code = 'EPSG:3857'\r\n }\r\n return code\r\n }\r\n\r\n /**\r\n * 半径和坐标间的转换\r\n * @param center\r\n * @param meterRadius\r\n * @returns {number}\r\n */\r\n transformRadius (center, meterRadius) {\r\n try {\r\n let lastCoords = this.sphare.offset(center, meterRadius, (270 / 360) * 2 * Math.PI) // 计算偏移量\r\n let [ptx, pty] = [(center[0] - lastCoords[0]), (center[1] - lastCoords[1])]\r\n let transformRadiu = (Math.sqrt(Math.pow(ptx, 2) + Math.pow(pty, 2)))\r\n return transformRadiu\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取圆的geometry\r\n * @private\r\n */\r\n getGeometry () {\r\n if (this.geom) {\r\n return this.geom\r\n } else {\r\n console.info('未创建空间几何!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取圆的中心点\r\n * @returns {ol.Coordinate|ol.Coordinate|undefined|*}\r\n * @private\r\n */\r\n getCenter () {\r\n return this.geom.getCenter()\r\n }\r\n\r\n /**\r\n * 获取圆的半径\r\n * @returns {number|*}\r\n * @private\r\n */\r\n getRadius () {\r\n return this.geom.getRadius()\r\n }\r\n\r\n /**\r\n * 获取圆的线上的坐标\r\n * @private\r\n */\r\n getCoordinates () {\r\n return this.geom.getCoordinates()\r\n }\r\n\r\n /**\r\n * 获取圆的第一个坐标\r\n * @returns {*}\r\n * @private\r\n */\r\n getFirstCoordinate () {\r\n return this.geom.getFirstCoordinate()\r\n }\r\n\r\n /**\r\n * 获取圆的最后一个坐标\r\n * @returns {*}\r\n * @private\r\n */\r\n getLastCoordinate () {\r\n return this.geom.getLastCoordinate()\r\n }\r\n\r\n /**\r\n * 设置圆的半径\r\n * @param radius 半径长度\r\n * @private\r\n */\r\n setRadius (radius) {\r\n this.radius = radius\r\n this.geom = this._getCircleGeom()\r\n this.circleFeature.setGeometry(this.geom)\r\n this.dispachChange()\r\n }\r\n\r\n /**\r\n * 设置圆的圆心\r\n * @param center 圆心坐标[x,y]\r\n * @private\r\n */\r\n setCenter (center) {\r\n this.center = center\r\n this.centerCopy = ol.proj.transform(center, this._getProjectionCode(), 'EPSG:4326')\r\n this.geom.setCenter(center)\r\n this.dispachChange()\r\n }\r\n\r\n /**\r\n * 半径中心变化触发事件\r\n */\r\n dispachChange () {\r\n if (this.options['onRadiusChangeEnd'] && typeof this.options['onRadiusChangeEnd'] === 'function') {\r\n this.options['onRadiusChangeEnd'](this)\r\n }\r\n }\r\n}\r\n\r\nexport default CustomCircle\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plugins/CustomCircle.js","/**\r\n * Created by FDD on 2017/5/10.\r\n * @desc 空间数据加密解密算法\r\n */\r\nclass GeomCoder {\r\n constructor (params) {\r\n /**\r\n * 当前参数信息\r\n * @type {{}}\r\n */\r\n this.options = (!params) ? {} : params\r\n /**\r\n * 版本信息\r\n * @type {string}\r\n */\r\n this.version = '1.0.0'\r\n /**\r\n * @private\r\n * @type {number}\r\n */\r\n this.factor_ = this.options.factor ? this.options.factor : 1e5\r\n\r\n /**\r\n * 空间数据模型\r\n * @type {{XY: string, XYM: string, XYZ: string, XYZM: string}}\r\n */\r\n this.GeometryLayout = {\r\n XY: 'XY',\r\n XYM: 'XYM',\r\n XYZ: 'XYZ',\r\n XYZM: 'XYZM'\r\n }\r\n\r\n /**\r\n * @private\r\n * @type {ol.geom.GeometryLayout}\r\n */\r\n this.geometryLayout_ = this.options.geometryLayout ? this.options.geometryLayout : this.GeometryLayout.XY\r\n }\r\n\r\n // readGeometryFromEnCodes (codes) {\r\n // if (codes && Array.isArray(codes) && codes.length > 0) { // 压缩后的数组\r\n //\r\n // } else if (typeof codes === 'string') { // 压缩后的字符串\r\n //\r\n // }\r\n // }\r\n\r\n /**\r\n * 读取加密数据\r\n * @param text\r\n * @returns {Array}\r\n */\r\n readCoordinatesFromText (text) {\r\n let stride = this.getStrideForLayout(this.geometryLayout_)\r\n let flatCoordinates = this.decodeDeltas(text, stride)\r\n this.flipXY(flatCoordinates, 0, flatCoordinates.length, stride, flatCoordinates)\r\n let coordinates = this.coordinates(flatCoordinates, 0, flatCoordinates.length, stride)\r\n return coordinates\r\n }\r\n\r\n /**\r\n * 加密空间数组\r\n * @param coordinates\r\n * @param stride\r\n * @returns {*}\r\n */\r\n writeCoordinatesText (coordinates, stride) {\r\n /**\r\n * 实际是将坐标数组转成一纬数组\r\n * @type {*}\r\n */\r\n let flatCoordinates = []\r\n if (coordinates && Array.isArray(coordinates) && coordinates.length > 0) {\r\n coordinates.forEach(item => {\r\n if (item && Array.isArray(item) && item.length > 0) {\r\n item.forEach(_item => {\r\n if (_item) {\r\n flatCoordinates.push(_item)\r\n }\r\n })\r\n }\r\n })\r\n }\r\n if (!stride) {\r\n stride = 2\r\n }\r\n this.flipXY(flatCoordinates, 0, flatCoordinates.length, stride, flatCoordinates)\r\n return (this.encodeDeltas(flatCoordinates, stride))\r\n }\r\n\r\n /**\r\n * 判断传入数据类型是否是文本类型\r\n * @param source\r\n * @returns {*}\r\n * @private\r\n */\r\n getText_ (source) {\r\n if (typeof source === 'string') {\r\n return source\r\n } else {\r\n return ''\r\n }\r\n }\r\n\r\n /**\r\n * 所传标准数据长度\r\n * @param layout\r\n * @returns {*}\r\n */\r\n getStrideForLayout (layout) {\r\n let stride = null\r\n if (layout === this.GeometryLayout.XY) {\r\n stride = 2\r\n } else if (layout === this.GeometryLayout.XYZ || layout === this.GeometryLayout.XYM) {\r\n stride = 3\r\n } else if (layout === this.GeometryLayout.XYZM) {\r\n stride = 4\r\n }\r\n return (stride)\r\n }\r\n\r\n /**\r\n * 解码增量值(核心算法)\r\n * @param encoded\r\n * @param stride\r\n * @returns {Array.}\r\n */\r\n decodeDeltas (encoded, stride) {\r\n /** @type {Array.} */\r\n let lastNumbers = new Array(stride)\r\n for (let d = 0; d < stride; ++d) {\r\n lastNumbers[d] = 0\r\n }\r\n let numbers = this.decodeFloats(encoded, this.factor_)\r\n let [i, ii] = [null, null]\r\n for (i = 0, ii = numbers.length; i < ii;) {\r\n for (let d = 0; d < stride; ++d, ++i) {\r\n lastNumbers[d] += numbers[i]\r\n numbers[i] = lastNumbers[d]\r\n }\r\n }\r\n return numbers\r\n }\r\n\r\n /**\r\n * 编码增量值\r\n * @param numbers\r\n * @param stride\r\n * @returns {*}\r\n */\r\n encodeDeltas (numbers, stride) {\r\n let [d, lastNumbers, i, ii] = [null, (new Array(stride)), null, null]\r\n for (d = 0; d < stride; ++d) {\r\n lastNumbers[d] = 0\r\n }\r\n for (i = 0, ii = numbers.length; i < ii;) {\r\n for (d = 0; d < stride; ++d, ++i) {\r\n let num = numbers[i]\r\n let delta = num - lastNumbers[d]\r\n lastNumbers[d] = num\r\n numbers[i] = delta\r\n }\r\n }\r\n return this.encodeFloats(numbers)\r\n }\r\n\r\n /**\r\n * 解码浮点数\r\n * @param encoded\r\n * @returns {*}\r\n */\r\n decodeFloats (encoded) {\r\n let numbers = this.decodeSignedIntegers(encoded)\r\n let [i, ii] = [null, null]\r\n for (i = 0, ii = numbers.length; i < ii; ++i) {\r\n numbers[i] /= this.factor_\r\n }\r\n return numbers\r\n }\r\n\r\n /**\r\n * 编码浮点数\r\n * @param numbers\r\n * @returns {*}\r\n */\r\n encodeFloats (numbers) {\r\n let [i, ii] = [null, null]\r\n for (i = 0, ii = numbers.length; i < ii; ++i) {\r\n numbers[i] = Math.round(numbers[i] * this.factor_)\r\n }\r\n return this.encodeSignedIntegers(numbers)\r\n }\r\n\r\n /**\r\n * 解码有符号整数\r\n * @param encoded\r\n * @returns {*}\r\n */\r\n decodeSignedIntegers (encoded) {\r\n let numbers = this.decodeUnsignedIntegers(encoded)\r\n let [i, ii] = [null, null]\r\n for (i = 0, ii = numbers.length; i < ii; ++i) {\r\n let num = numbers[i]\r\n numbers[i] = (num & 1) ? ~(num >> 1) : (num >> 1)\r\n }\r\n return numbers\r\n }\r\n\r\n /**\r\n * 编码有符号整数\r\n * @param numbers\r\n * @returns {*}\r\n */\r\n encodeSignedIntegers (numbers) {\r\n let [i, ii] = [null, null]\r\n for (i = 0, ii = numbers.length; i < ii; ++i) {\r\n let num = numbers[i]\r\n numbers[i] = (num < 0) ? ~(num << 1) : (num << 1)\r\n }\r\n return this.encodeUnsignedIntegers(numbers)\r\n }\r\n\r\n /**\r\n * 解码无符号整数\r\n * @param encoded\r\n * @returns {null}\r\n */\r\n decodeUnsignedIntegers (encoded) {\r\n let [numbers, current, shift, i, ii] = [[], 0, 0, null, null]\r\n for (i = 0, ii = encoded.length; i < ii; ++i) {\r\n let b = encoded.charCodeAt(i) - 63\r\n current |= (b & 0x1f) << shift\r\n if (b < 0x20) {\r\n numbers.push(current)\r\n current = 0\r\n shift = 0\r\n } else {\r\n shift += 5\r\n }\r\n }\r\n return numbers\r\n }\r\n\r\n /**\r\n * 编码无符号整数数组\r\n * @param numbers\r\n * @returns {string}\r\n */\r\n encodeUnsignedIntegers (numbers) {\r\n let [encoded, i, ii] = ['', null, null]\r\n for (i = 0, ii = numbers.length; i < ii; ++i) {\r\n encoded += this.encodeUnsignedInteger(numbers[i])\r\n }\r\n return encoded\r\n }\r\n\r\n /**\r\n * 编码无符号整数\r\n * @param num\r\n * @returns {null}\r\n */\r\n encodeUnsignedInteger (num) {\r\n let [value, encoded] = ['', '']\r\n while (num >= 0x20) {\r\n value = (0x20 | (num & 0x1f)) + 63\r\n encoded += String.fromCharCode(value)\r\n num >>= 5\r\n }\r\n value = num + 63\r\n encoded += String.fromCharCode(value)\r\n return encoded\r\n }\r\n\r\n /**\r\n * 反转XY坐标\r\n * @param flatCoordinates\r\n * @param offset\r\n * @param end\r\n * @param stride\r\n * @param optDest\r\n * @param optDestOffset\r\n * @returns {string}\r\n */\r\n flipXY (flatCoordinates, offset, end, stride, optDest, optDestOffset) {\r\n let [dest, destOffset] = ['', '']\r\n if (optDest !== undefined) {\r\n dest = optDest\r\n destOffset = optDestOffset !== undefined ? optDestOffset : 0\r\n } else {\r\n dest = []\r\n destOffset = 0\r\n }\r\n let j = offset\r\n while (j < end) {\r\n let x = flatCoordinates[j++]\r\n dest[destOffset++] = flatCoordinates[j++]\r\n dest[destOffset++] = x\r\n for (let k = 2; k < stride; ++k) {\r\n dest[destOffset++] = flatCoordinates[j++]\r\n }\r\n }\r\n dest.length = destOffset\r\n return dest\r\n }\r\n\r\n /**\r\n * 读取字符串坐标\r\n * @param flatCoordinates\r\n * @param offset\r\n * @param end\r\n * @param stride\r\n * @param optCoordinates\r\n * @returns {Array}\r\n */\r\n coordinates (flatCoordinates, offset, end, stride, optCoordinates) {\r\n let coordinates = optCoordinates !== undefined ? optCoordinates : []\r\n let [i, j] = [0, null]\r\n for (j = offset; j < end; j += stride) {\r\n coordinates[i++] = flatCoordinates.slice(j, j + stride)\r\n }\r\n coordinates.length = i\r\n return coordinates\r\n }\r\n}\r\n\r\nexport default GeomCoder\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plugins/GeomCoder.js","import mix from '../utils/mixin'\r\nimport Layer from '../layer/Layer'\r\nimport Style from '../style/Style'\r\nimport { ol } from '../constants'\r\nimport * as utils from '../utils/utils'\r\nclass MeasureTool extends mix(Layer, Style) {\r\n constructor (mapInstence, params) {\r\n super()\r\n if (mapInstence && mapInstence['map'] instanceof ol.Map) {\r\n this.defaultParams = {\r\n measureLengthCursor: 'url(../asset/cur/ruler.cur), default',\r\n measureAreaCursor: 'url(../asset/cur/ruler.cur), default',\r\n style: {\r\n fill: {\r\n fillColor: 'rgba(67, 110, 238, 0.4)'\r\n },\r\n stroke: {\r\n strokeColor: 'rgba(242,123,57,1)',\r\n strokeWidth: 2\r\n },\r\n circle: {\r\n circleRadius: 4,\r\n stroke: {\r\n strokeColor: 'rgba(255,0,0,1)',\r\n strokeWidth: 1\r\n },\r\n fill: {\r\n fillColor: 'rgba(255,255,255,1)'\r\n }\r\n }\r\n }\r\n }\r\n if (params && typeof params === 'object') {\r\n for (let key in params) {\r\n this.defaultParams[key] = params[key]\r\n }\r\n }\r\n /**\r\n * 地图实例\r\n */\r\n this.mapInstence = mapInstence\r\n /**\r\n * 地图对象\r\n * @type {ol.Map}\r\n */\r\n this.map = mapInstence['map']\r\n /**\r\n * 计算工具\r\n * @type {ol.Sphere}\r\n */\r\n this.wgs84Sphere = new ol.Sphere(6378137)\r\n /**\r\n * 测量类型(目前预制两种,测距和测面)\r\n * @type {{measureLength: string, measureArea: string}}\r\n */\r\n this.measureTypes = {\r\n measureLength: 'measureLength',\r\n measureArea: 'measureArea'\r\n }\r\n /**\r\n * 拖拽交互\r\n * @type {null}\r\n */\r\n this.dragPanInteraction = null\r\n\r\n /**\r\n * 双击交互\r\n * @type {null}\r\n */\r\n this.DoubleClickZoom = null\r\n /**\r\n * 是否使用地理测量方式\r\n * @type {boolean}\r\n */\r\n this.isGeodesic = (this.defaultParams['isGeodesic'] === false ? this.defaultParams['isGeodesic'] : true)\r\n /**\r\n * 测量工具所处图层\r\n * @type {*}\r\n */\r\n this.layerName = this.defaultParams['layerName'] || 'measureTool'\r\n } else {\r\n throw new Error('传入的不是地图对象或者地图对象为空!')\r\n }\r\n }\r\n\r\n /**\r\n * 初始设置\r\n * @param params\r\n */\r\n setUp (params) {\r\n /**\r\n * 当前设置\r\n * @type {*}\r\n */\r\n this.options = params || {}\r\n /**\r\n * 默认鼠标样式\r\n */\r\n this.previousCursor_ = this.map.getTargetElement().style.cursor\r\n /**\r\n * 点击计数器\r\n * @type {number}\r\n */\r\n this.clickCount = ''\r\n /**\r\n * 测量结果\r\n * @type {null}\r\n */\r\n this.drawSketch = null\r\n /**\r\n * draw对象\r\n * @type {null}\r\n */\r\n if (this.draw) {\r\n this.map.removeInteraction(this.draw)\r\n }\r\n this.draw = null\r\n\r\n /**\r\n * 移动事件处理\r\n * @type {null}\r\n */\r\n if (this.beforeMeasurePointerMoveHandler) {\r\n ol.Observable.unByKey(this.beforeMeasurePointerMoveHandler)\r\n }\r\n this.beforeMeasurePointerMoveHandler = null\r\n /**\r\n * 处理机\r\n * @type {null}\r\n */\r\n if (this.listener) {\r\n ol.Observable.unByKey(this.listener)\r\n }\r\n this.listener = null\r\n /**\r\n * 当前所画要素\r\n * @type {null}\r\n */\r\n this.drawSketch = null\r\n /**\r\n * 画点事件处理\r\n * @type {null}\r\n */\r\n if (this.drawPointermove) {\r\n ol.Observable.unByKey(this.drawPointermove)\r\n }\r\n this.drawPointermove = null\r\n /**\r\n * 面积测量提示\r\n * @type {null}\r\n */\r\n this.measureAreaTooltip = null\r\n\r\n this.measureAreaTooltipElement = null\r\n\r\n this.removeDrawInteraion()\r\n\r\n /**\r\n * 测量提示信息\r\n * @type {string}\r\n */\r\n if (this.measureHelpTooltip) {\r\n this.map.removeOverlay(this.measureHelpTooltip)\r\n }\r\n this.measureHelpTooltip = ''\r\n if (this.options['measureType'] === this.measureTypes.measureLength) {\r\n this.measureLengthClick = this.map.on('click', eventP => {\r\n this.measureLengthSingleClick = this.map.on('singleclick', event => {\r\n if (!this.clickCount) {\r\n this.clickCount = utils.getuuid()\r\n this.drawSketch.length = '起点'\r\n }\r\n this.addMeasureOverLay(event.coordinate, this.drawSketch.length)\r\n this.addMeasurecircle(event.coordinate)\r\n ol.Observable.unByKey(this.measureLengthSingleClick)\r\n })\r\n })\r\n this.beforeMeasurePointerMoveHandler = this.map.on('pointermove', this.beforeDrawPointMoveHandler, this)\r\n } else if (this.options['measureType'] === this.measureTypes.measureArea) {\r\n this.beforeMeasurePointerMoveHandler = this.map.on('pointermove', this.beforeDrawPointMoveHandler, this)\r\n }\r\n this.addDrawInteraction()\r\n this.changeCur(this.options['measureType'])\r\n }\r\n\r\n /**\r\n * 销毁实例\r\n */\r\n destroy () {\r\n try {\r\n window.setTimeout(() => {\r\n this.getDragPanInteraction().setActive(true)\r\n this.getDoubleClickZoomInteraction().setActive(true)\r\n }, 300)\r\n this.map.getTargetElement().style.cursor = 'default'\r\n this.map.removeOverlay(this.measureHelpTooltip)\r\n this.measureHelpTooltip = null\r\n this.removeDrawInteraion()\r\n this.changeCur()\r\n this.listener = null\r\n this.drawSketch = null\r\n if (this.layer && this.layer instanceof ol.layer.Vector) {\r\n this.map.removeLayer(this.layer)\r\n }\r\n this.mapInstence.removeOverlayByLayerName(this.layerName)\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加画笔交互\r\n */\r\n addDrawInteraction () {\r\n let [ type ] = [ '' ]\r\n if (this.options['measureType'] === this.measureTypes.measureLength) {\r\n type = 'LineString'\r\n } else if (this.options['measureType'] === this.measureTypes.measureArea) {\r\n type = 'Polygon'\r\n }\r\n this.options['create'] = true\r\n this.layer = this.createVectorLayer(this.layerName, this.options)\r\n this.mapInstence.polygonLayers.add(this.layerName)\r\n this.mapInstence.orderLayerZindex()\r\n let style = this.getStyleForMeasure(this.defaultParams['style'])\r\n this.layer.setStyle(style)\r\n this.draw = new ol.interaction.Draw({\r\n source: this.layer.getSource(),\r\n type: type,\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(254, 164, 164, 1)'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(252, 129, 129, 1)',\r\n width: 3\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 1,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33'\r\n })\r\n })\r\n })\r\n })\r\n this.map.addInteraction(this.draw)\r\n this.drawListener()\r\n this.getDragPanInteraction().setActive(false)\r\n this.getDoubleClickZoomInteraction().setActive(false)\r\n }\r\n /**\r\n * 移除交互工具\r\n */\r\n removeDrawInteraion () {\r\n if (this.draw) {\r\n this.map.removeInteraction(this.draw)\r\n this.draw = null\r\n }\r\n if (this.listener) {\r\n ol.Observable.unByKey(this.listener)\r\n this.listener = null\r\n }\r\n if (this.drawPointermove) {\r\n ol.Observable.unByKey(this.drawPointermove)\r\n this.drawPointermove = null\r\n }\r\n if (this.measureLengthClick) {\r\n ol.Observable.unByKey(this.measureLengthClick)\r\n this.measureLengthClick = null\r\n }\r\n if (this.beforeMeasurePointerMoveHandler) {\r\n ol.Observable.unByKey(this.beforeMeasurePointerMoveHandler)\r\n this.beforeMeasurePointerMoveHandler = null\r\n }\r\n if (this.measureLengthSingleClick) {\r\n ol.Observable.unByKey(this.measureLengthSingleClick)\r\n this.measureLengthSingleClick = null\r\n }\r\n this.clickCount = ''\r\n }\r\n\r\n /**\r\n * 点击之前的提示信息\r\n * @param event\r\n */\r\n beforeDrawPointMoveHandler (event) {\r\n if (!this.measureHelpTooltip) {\r\n let helpTooltipElement = document.createElement('label')\r\n if (this.measureTypes.measureLength === this.options['measureType']) {\r\n helpTooltipElement.className = 'HMapLabel'\r\n helpTooltipElement.style.position = 'absolute'\r\n helpTooltipElement.style.display = 'inline'\r\n helpTooltipElement.style.cursor = 'inherit'\r\n helpTooltipElement.style.border = 'none'\r\n helpTooltipElement.style.padding = '0'\r\n helpTooltipElement.style.whiteSpace = 'nowrap'\r\n helpTooltipElement.style.fontVariant = 'normal'\r\n helpTooltipElement.style.fontWeight = 'normal'\r\n helpTooltipElement.style.fontStretch = 'normal'\r\n helpTooltipElement.style.fontSize = '12px'\r\n helpTooltipElement.style.lineHeight = 'normal'\r\n helpTooltipElement.style.fontFamily = 'arial,simsun'\r\n helpTooltipElement.style.color = 'rgb(51, 51, 51)'\r\n helpTooltipElement.style.webkitUserSelect = 'none'\r\n helpTooltipElement.innerHTML = '单击开始测量'\r\n } else {\r\n helpTooltipElement.className = 'HMapLabel HMap_disLabel'\r\n helpTooltipElement.style.position = 'absolute'\r\n helpTooltipElement.style.display = 'inline'\r\n helpTooltipElement.style.cursor = 'inherit'\r\n helpTooltipElement.style.border = '1px solid rgb(255, 1, 3)'\r\n helpTooltipElement.style.padding = '3px 5px'\r\n helpTooltipElement.style.whiteSpace = 'nowrap'\r\n helpTooltipElement.style.fontVariant = 'normal'\r\n helpTooltipElement.style.fontWeight = 'normal'\r\n helpTooltipElement.style.fontStretch = 'normal'\r\n helpTooltipElement.style.fontSize = '12px'\r\n helpTooltipElement.style.fontFamily = 'arial,simsun'\r\n helpTooltipElement.style.color = 'rgb(51, 51, 51)'\r\n helpTooltipElement.style.backgroundColor = 'rgb(255, 255, 255)'\r\n helpTooltipElement.style.webkitUserSelect = 'none'\r\n helpTooltipElement.style.height = '24px'\r\n helpTooltipElement.style.lineHeight = '19px'\r\n helpTooltipElement.innerHTML = '单击开始测面,双击结束'\r\n }\r\n this.measureHelpTooltip = new ol.Overlay({\r\n element: helpTooltipElement,\r\n offset: [15, -10],\r\n positioning: 'center-center'\r\n })\r\n this.measureHelpTooltip.set('layerName', this.layerName)\r\n this.map.addOverlay(this.measureHelpTooltip)\r\n }\r\n this.measureHelpTooltip.setPosition(event.coordinate)\r\n }\r\n\r\n /**\r\n * 改变当前鼠标形状\r\n * @param type\r\n */\r\n changeCur (type) {\r\n if (type === this.measureTypes.measureLength) {\r\n this.map.getTargetElement().style.cursor = this.defaultParams['measureLengthCursor']\r\n } else if (type === this.measureTypes.measureArea) {\r\n this.map.getTargetElement().style.cursor = this.defaultParams['measureAreaCursor']\r\n } else {\r\n this.map.getTargetElement().style.cursor = this.previousCursor_\r\n }\r\n }\r\n\r\n /**\r\n * 点击之后的事件处理\r\n * @param event\r\n */\r\n drawPointerMoveHandler (event) {\r\n if (this.measureTypes.measureLength === this.options['measureType']) {\r\n if (event.dragging) {\r\n return\r\n }\r\n let helpTooltipElement = this.measureHelpTooltip.getElement()\r\n helpTooltipElement.className = ' HMapLabel HMap_disLabel move-label'\r\n helpTooltipElement.innerHTML = '总长:
单击确定地点,双击结束'\r\n this.measureHelpTooltip.setPosition(event.coordinate)\r\n }\r\n }\r\n\r\n /**\r\n * 画笔事件处理机\r\n */\r\n drawListener () {\r\n this.draw.on('drawstart', event => {\r\n this.drawSketch = event.feature\r\n this.drawSketch.set('uuid', utils.getuuid())\r\n if (this.measureTypes.measureLength === this.options['measureType']) {\r\n ol.Observable.unByKey(this.beforeMeasurePointerMoveHandler)\r\n ol.Observable.unByKey(this.listener)\r\n this.beforeMeasurePointerMoveHandler = null\r\n this.listener = null\r\n this.listener = this.drawSketch.getGeometry().on('change', evt => {\r\n let geom = evt.target\r\n if (geom instanceof ol.geom.LineString) {\r\n let output = this.formatData(geom)\r\n this.drawSketch.length = output\r\n this.measureHelpTooltip.getElement().firstElementChild.firstElementChild.innerHTML = output\r\n }\r\n })\r\n this.drawPointermove = this.map.on('pointermove', this.drawPointerMoveHandler, this)\r\n } else if (this.measureTypes.measureArea === this.options['measureType']) {\r\n let uuid = utils.getuuid()\r\n this.createMeasureAreaTooltip()\r\n this.drawSketch.set('uuid', uuid)\r\n this.measureAreaTooltip.set('uuid', uuid)\r\n this.listener = this.drawSketch.getGeometry().on('change', evts => {\r\n let geom = evts.target\r\n let area = this.formatData(geom)\r\n if (this.measureAreaTooltip) {\r\n this.measureAreaTooltipElement.innerHTML = '面积' + area\r\n this.measureAreaTooltip.setPosition(geom.getInteriorPoint().getCoordinates())\r\n }\r\n })\r\n }\r\n })\r\n this.draw.on('drawend', ev => {\r\n window.setTimeout(() => {\r\n this.getDragPanInteraction().setActive(true)\r\n this.getDoubleClickZoomInteraction().setActive(true)\r\n }, 300)\r\n this.map.getTargetElement().style.cursor = 'default'\r\n this.map.removeOverlay(this.measureHelpTooltip)\r\n this.measureHelpTooltip = null\r\n if (this.measureTypes.measureLength === this.options['measureType']) {\r\n this.addMeasureOverLay(ev.feature.getGeometry().getLastCoordinate(), this.drawSketch.length, '止点')\r\n this.addMeasurecircle(ev.feature.getGeometry().getLastCoordinate())\r\n } else if (this.options['measureType'] === this.measureTypes.measureArea) {\r\n this.addMeasureRemoveButton(ev.feature.getGeometry().getCoordinates()[0][0])\r\n }\r\n this.removeDrawInteraion()\r\n this.changeCur()\r\n this.listener = null\r\n this.drawSketch = null\r\n })\r\n }\r\n\r\n /**\r\n * 测量结果格式化\r\n * @param geom\r\n * @returns {*}\r\n */\r\n formatData (geom) {\r\n let output = 0\r\n if (geom) {\r\n if (this.options['measureType'] === this.measureTypes.measureLength) {\r\n if (this.isGeodesic) {\r\n let [coordinates, length] = [geom.getCoordinates(), 0]\r\n let sourceProj = this.map.getView().getProjection()\r\n for (let i = 0, ii = coordinates.length - 1; i < ii; ++i) {\r\n let c1 = ol.proj.transform(coordinates[i], sourceProj, 'EPSG:4326')\r\n let c2 = ol.proj.transform(coordinates[i + 1], sourceProj, 'EPSG:4326')\r\n length += this.wgs84Sphere.haversineDistance(c1, c2)\r\n }\r\n if (length > 100) {\r\n output = (Math.round(length / 1000 * 100) / 100) + ' ' + '公里'\r\n } else {\r\n output = (Math.round(length * 100) / 100) + ' ' + '米'\r\n }\r\n } else {\r\n output = Math.round(geom.getLength() * 100) / 100\r\n }\r\n } else if (this.options['measureType'] === this.measureTypes.measureArea) {\r\n if (this.isGeodesic) {\r\n let sourceProj = this.getMap().getView().getProjection()\r\n let geometry = /** @type {ol.geom.Polygon} */(geom.clone().transform(\r\n sourceProj, 'EPSG:4326'))\r\n let coordinates = geometry.getLinearRing(0).getCoordinates()\r\n let area = Math.abs(this.wgs84Sphere.geodesicArea(coordinates))\r\n if (area > 10000000000) {\r\n output = (Math.round(area / (1000 * 1000 * 10000) * 100) / 100) + ' ' + '万平方公里'\r\n } else if (area > 1000000 && area < 10000000000) {\r\n output = (Math.round(area / (1000 * 1000) * 100) / 100) + ' ' + '平方公里'\r\n } else {\r\n output = (Math.round(area * 100) / 100) + ' ' + '平方米'\r\n }\r\n } else {\r\n output = geom.getArea()\r\n }\r\n }\r\n }\r\n return output\r\n }\r\n\r\n /**\r\n * 添加点击测量时的圆圈\r\n * @param coordinate\r\n */\r\n addMeasurecircle (coordinate) {\r\n let feature = new ol.Feature({\r\n uuid: this.drawSketch.get('uuid'),\r\n geometry: new ol.geom.Point(coordinate)\r\n })\r\n this.layer.getSource().addFeature(feature)\r\n }\r\n\r\n /**\r\n * 添加测量结果Overlay\r\n * @param coordinate\r\n * @param length\r\n * @param type\r\n */\r\n addMeasureOverLay (coordinate, length, type) {\r\n let helpTooltipElement = document.createElement('label')\r\n if (type === '止点') {\r\n helpTooltipElement.className = 'hmap-measure-overLay HMap_disLabel'\r\n helpTooltipElement.innerHTML = \"总长\" + length + ''\r\n this.addMeasureRemoveButton(coordinate)\r\n } else {\r\n helpTooltipElement.className = 'hmap-measure-overLay HMapLabel'\r\n helpTooltipElement.innerHTML = \"\" + length + ''\r\n }\r\n let tempMeasureTooltip = new ol.Overlay({\r\n element: helpTooltipElement,\r\n offset: [10, -10],\r\n positioning: 'center-center'\r\n })\r\n tempMeasureTooltip.set('layerName', this.layerName)\r\n this.map.addOverlay(tempMeasureTooltip)\r\n tempMeasureTooltip.setPosition(coordinate)\r\n tempMeasureTooltip.set('uuid', this.drawSketch.get('uuid'))\r\n }\r\n\r\n /**\r\n * 添加移除按钮\r\n * @param coordinate\r\n */\r\n addMeasureRemoveButton (coordinate) {\r\n let pos = [coordinate[0] - 5 * this.map.getView().getResolution(), coordinate[1]]\r\n let btnImg = document.createElement('img')\r\n btnImg.src = (this.defaultParams['removeButtonSrc'] ? this.defaultParams['removeButtonSrc'] : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEYzMzc1RDY3RDU1MTFFNUFDNDJFNjQ4NUUwMzRDRDYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEYzMzc1RDc3RDU1MTFFNUFDNDJFNjQ4NUUwMzRDRDYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0RjMzNzVENDdENTUxMUU1QUM0MkU2NDg1RTAzNENENiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0RjMzNzVENTdENTUxMUU1QUM0MkU2NDg1RTAzNENENiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsDx84AAAAC3SURBVHjavJIxDoMwDEV/ok5wDCbu0DvAdUBIwMLFSs/AxDXY6tZ2SCGVUikd+ifn20+2k5hHVd0AXJGmGQw+UyWMxY8KQGpbUNcB23aYHIsnuSgIy8dlAQ2DgwWSmD0YE5ReAq5pQOMIrKsDRByjKGC/dsxz2L7XQgU8JB7n4qDoY6SYF4J+p72T7/zeOXqr03SMx8XnsTUX7UgElKVCyDK3s8Tsae6sv/8ceceZ6jr1k99fAgwAsZy0Sa2HgDcAAAAASUVORK5CYII=')\r\n btnImg.style.cursor = 'pointer'\r\n btnImg.title = '清除测量结果'\r\n btnImg.groupId = this.drawSketch.get('uuid')\r\n btnImg.pos = coordinate\r\n btnImg.onclick = evt => {\r\n this.RemoveMeasure(btnImg.groupId, coordinate)\r\n }\r\n let closeBtn = new ol.Overlay({\r\n element: btnImg,\r\n offset: [0, 10],\r\n positioning: 'center-bottom'\r\n })\r\n closeBtn.set('layerName', this.layerName)\r\n this.map.addOverlay(closeBtn)\r\n this.map.render()\r\n closeBtn.setPosition(pos)\r\n closeBtn.set('uuid', this.drawSketch.get('uuid'))\r\n }\r\n\r\n /**\r\n * 面积测量结果\r\n */\r\n createMeasureAreaTooltip () {\r\n this.measureAreaTooltipElement = document.createElement('div')\r\n this.measureAreaTooltipElement.style.marginLeft = '-6.25em'\r\n this.measureAreaTooltipElement.className = 'measureTooltip hidden'\r\n this.measureAreaTooltip = new ol.Overlay({\r\n element: this.measureAreaTooltipElement,\r\n offset: [15, 0],\r\n positioning: 'center-left'\r\n })\r\n this.measureAreaTooltip.set('layerName', this.layerName)\r\n this.map.addOverlay(this.measureAreaTooltip)\r\n }\r\n\r\n /**\r\n * 移除测量结果\r\n * @param groupId\r\n * @param pos\r\n * @constructor\r\n */\r\n RemoveMeasure (groupId, pos) {\r\n let overlays = this.getMap().getOverlays().getArray()\r\n if (overlays && Array.isArray(overlays)) {\r\n let length = overlays.length\r\n // TODO 注意地图移除Overlay时数组长度会变化\r\n for (let j = 0, i = 0; j < length; j++) {\r\n i++\r\n if (overlays[length - i] && overlays[length - i] instanceof ol.Overlay && overlays[length - i].get('uuid') === groupId) {\r\n this.map.removeOverlay(overlays[length - i])\r\n }\r\n }\r\n }\r\n if (this.layer && this.layer.getSource()) {\r\n let source = this.layer.getSource()\r\n let features = source.getFeatures()\r\n features.forEach(function (feat) {\r\n let lastCoord = feat.getGeometry().getLastCoordinate()\r\n if ((lastCoord[0] === pos[0] && lastCoord[1] === pos[1]) || feat.get('uuid') === groupId) {\r\n source.removeFeature(feat)\r\n }\r\n }, this)\r\n }\r\n }\r\n\r\n /**\r\n * 获取地图拖拽漫游交互\r\n * @returns {ol.interaction.DragPan|*|null}\r\n */\r\n getDragPanInteraction () {\r\n if (!this.dragPanInteraction) {\r\n let items = this.getMap().getInteractions().getArray()\r\n items.every(item => {\r\n if (item && item instanceof ol.interaction.DragPan) {\r\n this.dragPanInteraction = item\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n return this.dragPanInteraction\r\n }\r\n\r\n /**\r\n * 获取双击放大交互\r\n * @returns {ol.interaction.DoubleClickZoom|*|null}\r\n */\r\n getDoubleClickZoomInteraction () {\r\n if (!this.DoubleClickZoom) {\r\n let items = this.getMap().getInteractions().getArray()\r\n items.every(item => {\r\n if (item && item instanceof ol.interaction.DoubleClickZoom) {\r\n this.DoubleClickZoom = item\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n return this.DoubleClickZoom\r\n }\r\n\r\n /**\r\n * 返回当前地图对象\r\n * @returns {ol.Map}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n}\r\nexport default MeasureTool\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plugins/MeasureTool.js","/**\r\n * Created by FDD on 2017/6/27.\r\n * @desc 样式文件统一入口\r\n */\r\nimport './popup/index.scss'\r\nimport './plot/index.scss'\r\nimport './overlay/index.scss'\r\nimport './ol/ol.scss'\r\nimport './measure/index.scss'\r\nimport './geolocation/index.scss'\r\nimport './customCircle/index.scss'\r\nimport './compare/index.scss'\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/scss/index.js","// Styles for the mapbox-streets-v6 vector tile data set. Loosely based on\r\n// http://a.tiles.mapbox.com/v4/mapbox.mapbox-streets-v6.json\r\nimport {ol} from '../constants'\r\n/**\r\n * V6Style\r\n * @returns {Function}\r\n */\r\nexport const createMapboxStreetsV6Style = () => {\r\n let fill = new ol.style.Fill({color: ''})\r\n let stroke = new ol.style.Stroke({color: '', width: 1})\r\n let polygon = new ol.style.Style({fill: fill})\r\n let strokedPolygon = new ol.style.Style({fill: fill, stroke: stroke})\r\n let line = new ol.style.Style({stroke: stroke})\r\n let text = new ol.style.Style({\r\n text: new ol.style.Text({\r\n text: '', fill: fill, stroke: stroke\r\n })\r\n })\r\n let iconCache = {}\r\n\r\n function getIcon (iconName) {\r\n let icon = iconCache[iconName]\r\n if (!icon) {\r\n icon = new ol.style.Style({\r\n image: new ol.style.Icon({\r\n src: 'https://cdn.rawgit.com/mapbox/maki/master/icons/' + iconName + '-15.svg',\r\n imgSize: [15, 15]\r\n })\r\n })\r\n iconCache[iconName] = icon\r\n }\r\n return icon\r\n }\r\n\r\n let styles = []\r\n return function (feature, resolution) {\r\n let length = 0\r\n let layer = feature.get('layer')\r\n let cls = feature.get('class')\r\n let type = feature.get('type')\r\n let scalerank = feature.get('scalerank')\r\n let labelrank = feature.get('labelrank')\r\n let adminLevel = feature.get('admin_level')\r\n let maritime = feature.get('maritime')\r\n let disputed = feature.get('disputed')\r\n let maki = feature.get('maki')\r\n let geom = feature.getGeometry().getType()\r\n if (layer === 'landuse' && cls === 'park') {\r\n fill.setColor('#d8e8c8')\r\n styles[length++] = polygon\r\n } else if (layer === 'landuse' && cls === 'cemetery') {\r\n fill.setColor('#e0e4dd')\r\n styles[length++] = polygon\r\n } else if (layer === 'landuse' && cls === 'hospital') {\r\n fill.setColor('#fde')\r\n styles[length++] = polygon\r\n } else if (layer === 'landuse' && cls === 'school') {\r\n fill.setColor('#f0e8f8')\r\n styles[length++] = polygon\r\n } else if (layer === 'landuse' && cls === 'wood') {\r\n fill.setColor('rgb(233,238,223)')\r\n styles[length++] = polygon\r\n } else if (layer === 'waterway' &&\r\n cls !== 'river' && cls !== 'stream' && cls !== 'canal') {\r\n stroke.setColor('#a0c8f0')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'waterway' && cls === 'river') {\r\n stroke.setColor('#a0c8f0')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'waterway' && (cls === 'stream' ||\r\n cls === 'canal')) {\r\n stroke.setColor('#a0c8f0')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'water') {\r\n fill.setColor('#a0c8f0')\r\n styles[length++] = polygon\r\n } else if (layer === 'aeroway' && geom === 'Polygon') {\r\n fill.setColor('rgb(242,239,235)')\r\n styles[length++] = polygon\r\n } else if (layer === 'aeroway' && geom === 'LineString' &&\r\n resolution <= 76.43702828517625) {\r\n stroke.setColor('#f0ede9')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'building') {\r\n fill.setColor('#f2eae2')\r\n stroke.setColor('#dfdbd7')\r\n stroke.setWidth(1)\r\n styles[length++] = strokedPolygon\r\n } else if (layer === 'tunnel' && cls === 'motorway_link') {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' && cls === 'service') {\r\n stroke.setColor('#cfcdca')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' &&\r\n (cls === 'street' || cls === 'street_limited')) {\r\n stroke.setColor('#cfcdca')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' && cls === 'main' &&\r\n resolution <= 1222.99245256282) {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' && cls === 'motorway') {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' && cls === 'path') {\r\n stroke.setColor('#cba')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' && cls === 'major_rail') {\r\n stroke.setColor('#bbb')\r\n stroke.setWidth(2)\r\n styles[length++] = line\r\n } else if (layer === 'road' && cls === 'motorway_link') {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'road' && (cls === 'street' ||\r\n cls === 'street_limited') && geom === 'LineString') {\r\n stroke.setColor('#cfcdca')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'road' && cls === 'main' &&\r\n resolution <= 1222.99245256282) {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'road' && cls === 'motorway' &&\r\n resolution <= 4891.96981025128) {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'road' && cls === 'path') {\r\n stroke.setColor('#cba')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'road' && cls === 'major_rail') {\r\n stroke.setColor('#bbb')\r\n stroke.setWidth(2)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'motorway_link') {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'motorway') {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'service') {\r\n stroke.setColor('#cfcdca')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' &&\r\n (cls === 'street' || cls === 'street_limited')) {\r\n stroke.setColor('#cfcdca')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'main' &&\r\n resolution <= 1222.99245256282) {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'path') {\r\n stroke.setColor('#cba')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'major_rail') {\r\n stroke.setColor('#bbb')\r\n stroke.setWidth(2)\r\n styles[length++] = line\r\n } else if (layer === 'admin' && adminLevel >= 3 && maritime === 0) {\r\n stroke.setColor('#9e9cab')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'admin' && adminLevel === 2 &&\r\n disputed === 0 && maritime === 0) {\r\n stroke.setColor('#9e9cab')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'admin' && adminLevel === 2 &&\r\n disputed === 1 && maritime === 0) {\r\n stroke.setColor('#9e9cab')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'admin' && adminLevel >= 3 && maritime === 1) {\r\n stroke.setColor('#a0c8f0')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'admin' && adminLevel === 2 && maritime === 1) {\r\n stroke.setColor('#a0c8f0')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'country_label' && scalerank === 1) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('bold 11px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#334')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(2)\r\n styles[length++] = text\r\n } else if (layer === 'country_label' && scalerank === 2 &&\r\n resolution <= 19567.87924100512) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('bold 10px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#334')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(2)\r\n styles[length++] = text\r\n } else if (layer === 'country_label' && scalerank === 3 &&\r\n resolution <= 9783.93962050256) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('bold 9px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#334')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(2)\r\n styles[length++] = text\r\n } else if (layer === 'country_label' && scalerank === 4 &&\r\n resolution <= 4891.96981025128) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('bold 8px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#334')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(2)\r\n styles[length++] = text\r\n } else if (layer === 'marine_label' && labelrank === 1 &&\r\n geom === 'Point') {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont(\r\n 'italic 11px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#74aee9')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'marine_label' && labelrank === 2 &&\r\n geom === 'Point') {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont(\r\n 'italic 11px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#74aee9')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'marine_label' && labelrank === 3 &&\r\n geom === 'Point') {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont(\r\n 'italic 10px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#74aee9')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'marine_label' && labelrank === 4 &&\r\n geom === 'Point') {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont(\r\n 'italic 9px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#74aee9')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'place_label' && type === 'city' &&\r\n resolution <= 1222.99245256282) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('11px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#333')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'place_label' && type === 'town' &&\r\n resolution <= 305.748113140705) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('9px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#333')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'place_label' && type === 'village' &&\r\n resolution <= 38.21851414258813) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('8px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#333')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'place_label' &&\r\n resolution <= 19.109257071294063 && (type === 'hamlet' ||\r\n type === 'suburb' || type === 'neighbourhood')) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('bold 9px \"Arial Narrow\"')\r\n fill.setColor('#633')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'poi_label' && resolution <= 19.109257071294063 &&\r\n scalerank === 1 && maki !== 'marker') {\r\n styles[length++] = getIcon(maki)\r\n } else if (layer === 'poi_label' && resolution <= 9.554628535647032 &&\r\n scalerank === 2 && maki !== 'marker') {\r\n styles[length++] = getIcon(maki)\r\n } else if (layer === 'poi_label' && resolution <= 4.777314267823516 &&\r\n scalerank === 3 && maki !== 'marker') {\r\n styles[length++] = getIcon(maki)\r\n } else if (layer === 'poi_label' && resolution <= 2.388657133911758 &&\r\n scalerank === 4 && maki !== 'marker') {\r\n styles[length++] = getIcon(maki)\r\n } else if (layer === 'poi_label' && resolution <= 1.194328566955879 &&\r\n scalerank >= 5 && maki !== 'marker') {\r\n styles[length++] = getIcon(maki)\r\n }\r\n styles.length = length\r\n return styles\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/style/MapboxStyle.js","require('../../modules/core.regexp.escape');\nmodule.exports = require('../../modules/_core').RegExp.escape;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/fn/regexp/escape.js\n// module id = 213\n// module chunks = 0","var isObject = require('./_is-object')\n , isArray = require('./_is-array')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(original){\n var C;\n if(isArray(original)){\n C = original.constructor;\n // cross-realm fallback\n if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;\n if(isObject(C)){\n C = C[SPECIES];\n if(C === null)C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-species-constructor.js\n// module id = 214\n// module chunks = 0","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function(original, length){\n return new (speciesConstructor(original))(length);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-species-create.js\n// module id = 215\n// module chunks = 0","'use strict';\nvar anObject = require('./_an-object')\n , toPrimitive = require('./_to-primitive')\n , NUMBER = 'number';\n\nmodule.exports = function(hint){\n if(hint !== 'string' && hint !== NUMBER && hint !== 'default')throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_date-to-primitive.js\n// module id = 216\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie');\nmodule.exports = function(it){\n var result = getKeys(it)\n , getSymbols = gOPS.f;\n if(getSymbols){\n var symbols = getSymbols(it)\n , isEnum = pIE.f\n , i = 0\n , key;\n while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);\n } return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_enum-keys.js\n// module id = 217\n// module chunks = 0","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject');\nmodule.exports = function(object, el){\n var O = toIObject(object)\n , keys = getKeys(O)\n , length = keys.length\n , index = 0\n , key;\n while(length > index)if(O[key = keys[index++]] === el)return key;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_keyof.js\n// module id = 218\n// module chunks = 0","'use strict';\nvar path = require('./_path')\n , invoke = require('./_invoke')\n , aFunction = require('./_a-function');\nmodule.exports = function(/* ...pargs */){\n var fn = aFunction(this)\n , length = arguments.length\n , pargs = Array(length)\n , i = 0\n , _ = path._\n , holder = false;\n while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true;\n return function(/* ...args */){\n var that = this\n , aLen = arguments.length\n , j = 0, k = 0, args;\n if(!holder && !aLen)return invoke(fn, pargs, that);\n args = pargs.slice();\n if(holder)for(;length > j; j++)if(args[j] === _)args[j] = arguments[k++];\n while(aLen > k)args.push(arguments[k++]);\n return invoke(fn, args, that);\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_partial.js\n// module id = 219\n// module chunks = 0","module.exports = require('./_global');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_path.js\n// module id = 220\n// module chunks = 0","module.exports = function(regExp, replace){\n var replacer = replace === Object(replace) ? function(part){\n return replace[part];\n } : replace;\n return function(it){\n return String(it).replace(regExp, replacer);\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_replacer.js\n// module id = 221\n// module chunks = 0","// https://github.com/benjamingr/RexExp.escape\nvar $export = require('./_export')\n , $re = require('./_replacer')(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\n$export($export.S, 'RegExp', {escape: function escape(it){ return $re(it); }});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/core.regexp.escape.js\n// module id = 222\n// module chunks = 0","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', {copyWithin: require('./_array-copy-within')});\n\nrequire('./_add-to-unscopables')('copyWithin');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.copy-within.js\n// module id = 223\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */){\n return $every(this, callbackfn, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.every.js\n// module id = 224\n// module chunks = 0","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', {fill: require('./_array-fill')});\n\nrequire('./_add-to-unscopables')('fill');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.fill.js\n// module id = 225\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */){\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.filter.js\n// module id = 226\n// module chunks = 0","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export')\n , $find = require('./_array-methods')(6)\n , KEY = 'findIndex'\n , forced = true;\n// Shouldn't skip holes\nif(KEY in [])Array(1)[KEY](function(){ forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn/*, that = undefined */){\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.find-index.js\n// module id = 227\n// module chunks = 0","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export')\n , $find = require('./_array-methods')(5)\n , KEY = 'find'\n , forced = true;\n// Shouldn't skip holes\nif(KEY in [])Array(1)[KEY](function(){ forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn/*, that = undefined */){\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.find.js\n// module id = 228\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $forEach = require('./_array-methods')(0)\n , STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */){\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.for-each.js\n// module id = 229\n// module chunks = 0","'use strict';\nvar ctx = require('./_ctx')\n , $export = require('./_export')\n , toObject = require('./_to-object')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , toLength = require('./_to-length')\n , createProperty = require('./_create-property')\n , getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){\n var O = toObject(arrayLike)\n , C = typeof this == 'function' ? this : Array\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , index = 0\n , iterFn = getIterFn(O)\n , length, result, step, iterator;\n if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){\n for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for(result = new C(length); length > index; index++){\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.from.js\n// module id = 230\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $indexOf = require('./_array-includes')(false)\n , $native = [].indexOf\n , NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /*, fromIndex = 0 */){\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.index-of.js\n// module id = 231\n// module chunks = 0","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', {isArray: require('./_is-array')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.is-array.js\n// module id = 232\n// module chunks = 0","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n join: function join(separator){\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.join.js\n// module id = 233\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , $native = [].lastIndexOf\n , NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */){\n // convert -0 to +0\n if(NEGATIVE_ZERO)return $native.apply(this, arguments) || 0;\n var O = toIObject(this)\n , length = toLength(O.length)\n , index = length - 1;\n if(arguments.length > 1)index = Math.min(index, toInteger(arguments[1]));\n if(index < 0)index = length + index;\n for(;index >= 0; index--)if(index in O)if(O[index] === searchElement)return index || 0;\n return -1;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.last-index-of.js\n// module id = 234\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */){\n return $map(this, callbackfn, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.map.js\n// module id = 235\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function(){\n function F(){}\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */){\n var index = 0\n , aLen = arguments.length\n , result = new (typeof this == 'function' ? this : Array)(aLen);\n while(aLen > index)createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.of.js\n// module id = 236\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */){\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.reduce-right.js\n// module id = 237\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */){\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.reduce.js\n// module id = 238\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , html = require('./_html')\n , cof = require('./_cof')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length')\n , arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function(){\n if(html)arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end){\n var len = toLength(this.length)\n , klass = cof(this);\n end = end === undefined ? len : end;\n if(klass == 'Array')return arraySlice.call(this, begin, end);\n var start = toIndex(begin, len)\n , upTo = toIndex(end, len)\n , size = toLength(upTo - start)\n , cloned = Array(size)\n , i = 0;\n for(; i < size; i++)cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.slice.js\n// module id = 239\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */){\n return $some(this, callbackfn, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.some.js\n// module id = 240\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , aFunction = require('./_a-function')\n , toObject = require('./_to-object')\n , fails = require('./_fails')\n , $sort = [].sort\n , test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function(){\n // IE8-\n test.sort(undefined);\n}) || !fails(function(){\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn){\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.sort.js\n// module id = 241\n// module chunks = 0","require('./_set-species')('Array');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.species.js\n// module id = 242\n// module chunks = 0","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', {now: function(){ return new Date().getTime(); }});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.date.now.js\n// module id = 243\n// module chunks = 0","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export')\n , fails = require('./_fails')\n , getTime = Date.prototype.getTime;\n\nvar lz = function(num){\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (fails(function(){\n return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z';\n}) || !fails(function(){\n new Date(NaN).toISOString();\n})), 'Date', {\n toISOString: function toISOString(){\n if(!isFinite(getTime.call(this)))throw RangeError('Invalid time value');\n var d = this\n , y = d.getUTCFullYear()\n , m = d.getUTCMilliseconds()\n , s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.date.to-iso-string.js\n// module id = 244\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function(){\n return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({toISOString: function(){ return 1; }}) !== 1;\n}), 'Date', {\n toJSON: function toJSON(key){\n var O = toObject(this)\n , pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.date.to-json.js\n// module id = 245\n// module chunks = 0","var TO_PRIMITIVE = require('./_wks')('toPrimitive')\n , proto = Date.prototype;\n\nif(!(TO_PRIMITIVE in proto))require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.date.to-primitive.js\n// module id = 246\n// module chunks = 0","var DateProto = Date.prototype\n , INVALID_DATE = 'Invalid Date'\n , TO_STRING = 'toString'\n , $toString = DateProto[TO_STRING]\n , getTime = DateProto.getTime;\nif(new Date(NaN) + '' != INVALID_DATE){\n require('./_redefine')(DateProto, TO_STRING, function toString(){\n var value = getTime.call(this);\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.date.to-string.js\n// module id = 247\n// module chunks = 0","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', {bind: require('./_bind')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.function.bind.js\n// module id = 248\n// module chunks = 0","'use strict';\nvar isObject = require('./_is-object')\n , getPrototypeOf = require('./_object-gpo')\n , HAS_INSTANCE = require('./_wks')('hasInstance')\n , FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif(!(HAS_INSTANCE in FunctionProto))require('./_object-dp').f(FunctionProto, HAS_INSTANCE, {value: function(O){\n if(typeof this != 'function' || !isObject(O))return false;\n if(!isObject(this.prototype))return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while(O = getPrototypeOf(O))if(this.prototype === O)return true;\n return false;\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.function.has-instance.js\n// module id = 249\n// module chunks = 0","var dP = require('./_object-dp').f\n , createDesc = require('./_property-desc')\n , has = require('./_has')\n , FProto = Function.prototype\n , nameRE = /^\\s*function ([^ (]*)/\n , NAME = 'name';\n\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function(){\n try {\n var that = this\n , name = ('' + that).match(nameRE)[1];\n has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5, name));\n return name;\n } catch(e){\n return '';\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.function.name.js\n// module id = 250\n// module chunks = 0","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export')\n , log1p = require('./_math-log1p')\n , sqrt = Math.sqrt\n , $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN \n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x){\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.acosh.js\n// module id = 251\n// module chunks = 0","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export')\n , $asinh = Math.asinh;\n\nfunction asinh(x){\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0 \n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', {asinh: asinh});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.asinh.js\n// module id = 252\n// module chunks = 0","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export')\n , $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0 \n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x){\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.atanh.js\n// module id = 253\n// module chunks = 0","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export')\n , sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x){\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.cbrt.js\n// module id = 254\n// module chunks = 0","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x){\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.clz32.js\n// module id = 255\n// module chunks = 0","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export')\n , exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x){\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.cosh.js\n// module id = 256\n// module chunks = 0","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export')\n , $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', {expm1: $expm1});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.expm1.js\n// module id = 257\n// module chunks = 0","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export')\n , sign = require('./_math-sign')\n , pow = Math.pow\n , EPSILON = pow(2, -52)\n , EPSILON32 = pow(2, -23)\n , MAX32 = pow(2, 127) * (2 - EPSILON32)\n , MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function(n){\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\n\n$export($export.S, 'Math', {\n fround: function fround(x){\n var $abs = Math.abs(x)\n , $sign = sign(x)\n , a, result;\n if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n if(result > MAX32 || result != result)return $sign * Infinity;\n return $sign * result;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.fround.js\n// module id = 258\n// module chunks = 0","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export')\n , abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars\n var sum = 0\n , i = 0\n , aLen = arguments.length\n , larg = 0\n , arg, div;\n while(i < aLen){\n arg = abs(arguments[i++]);\n if(larg < arg){\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if(arg > 0){\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.hypot.js\n// module id = 259\n// module chunks = 0","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export')\n , $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function(){\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y){\n var UINT16 = 0xffff\n , xn = +x\n , yn = +y\n , xl = UINT16 & xn\n , yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.imul.js\n// module id = 260\n// module chunks = 0","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x){\n return Math.log(x) / Math.LN10;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.log10.js\n// module id = 261\n// module chunks = 0","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {log1p: require('./_math-log1p')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.log1p.js\n// module id = 262\n// module chunks = 0","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x){\n return Math.log(x) / Math.LN2;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.log2.js\n// module id = 263\n// module chunks = 0","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {sign: require('./_math-sign')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.sign.js\n// module id = 264\n// module chunks = 0","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export')\n , expm1 = require('./_math-expm1')\n , exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function(){\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x){\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.sinh.js\n// module id = 265\n// module chunks = 0","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export')\n , expm1 = require('./_math-expm1')\n , exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x){\n var a = expm1(x = +x)\n , b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.tanh.js\n// module id = 266\n// module chunks = 0","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it){\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.trunc.js\n// module id = 267\n// module chunks = 0","'use strict';\nvar global = require('./_global')\n , has = require('./_has')\n , cof = require('./_cof')\n , inheritIfRequired = require('./_inherit-if-required')\n , toPrimitive = require('./_to-primitive')\n , fails = require('./_fails')\n , gOPN = require('./_object-gopn').f\n , gOPD = require('./_object-gopd').f\n , dP = require('./_object-dp').f\n , $trim = require('./_string-trim').trim\n , NUMBER = 'Number'\n , $Number = global[NUMBER]\n , Base = $Number\n , proto = $Number.prototype\n // Opera ~12 has broken Object#toString\n , BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER\n , TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function(argument){\n var it = toPrimitive(argument, false);\n if(typeof it == 'string' && it.length > 2){\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0)\n , third, radix, maxCode;\n if(first === 43 || first === 45){\n third = it.charCodeAt(2);\n if(third === 88 || third === 120)return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if(first === 48){\n switch(it.charCodeAt(1)){\n case 66 : case 98 : radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79 : case 111 : radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default : return +it;\n }\n for(var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++){\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if(code < 48 || code > maxCode)return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif(!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')){\n $Number = function Number(value){\n var it = arguments.length < 1 ? 0 : value\n , that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function(){ proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for(var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++){\n if(has(Base, key = keys[j]) && !has($Number, key)){\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.constructor.js\n// module id = 268\n// module chunks = 0","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {EPSILON: Math.pow(2, -52)});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.epsilon.js\n// module id = 269\n// module chunks = 0","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export')\n , _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it){\n return typeof it == 'number' && _isFinite(it);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.is-finite.js\n// module id = 270\n// module chunks = 0","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {isInteger: require('./_is-integer')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.is-integer.js\n// module id = 271\n// module chunks = 0","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number){\n return number != number;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.is-nan.js\n// module id = 272\n// module chunks = 0","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export')\n , isInteger = require('./_is-integer')\n , abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number){\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.is-safe-integer.js\n// module id = 273\n// module chunks = 0","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.max-safe-integer.js\n// module id = 274\n// module chunks = 0","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.min-safe-integer.js\n// module id = 275\n// module chunks = 0","var $export = require('./_export')\n , $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', {parseFloat: $parseFloat});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.parse-float.js\n// module id = 276\n// module chunks = 0","var $export = require('./_export')\n , $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', {parseInt: $parseInt});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.parse-int.js\n// module id = 277\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toInteger = require('./_to-integer')\n , aNumberValue = require('./_a-number-value')\n , repeat = require('./_string-repeat')\n , $toFixed = 1..toFixed\n , floor = Math.floor\n , data = [0, 0, 0, 0, 0, 0]\n , ERROR = 'Number.toFixed: incorrect invocation!'\n , ZERO = '0';\n\nvar multiply = function(n, c){\n var i = -1\n , c2 = c;\n while(++i < 6){\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function(n){\n var i = 6\n , c = 0;\n while(--i >= 0){\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function(){\n var i = 6\n , s = '';\n while(--i >= 0){\n if(s !== '' || i === 0 || data[i] !== 0){\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function(x, n, acc){\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function(x){\n var n = 0\n , x2 = x;\n while(x2 >= 4096){\n n += 12;\n x2 /= 4096;\n }\n while(x2 >= 2){\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128..toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function(){\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits){\n var x = aNumberValue(this, ERROR)\n , f = toInteger(fractionDigits)\n , s = ''\n , m = ZERO\n , e, z, j, k;\n if(f < 0 || f > 20)throw RangeError(ERROR);\n if(x != x)return 'NaN';\n if(x <= -1e21 || x >= 1e21)return String(x);\n if(x < 0){\n s = '-';\n x = -x;\n }\n if(x > 1e-21){\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if(e > 0){\n multiply(0, z);\n j = f;\n while(j >= 7){\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while(j >= 23){\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if(f > 0){\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.to-fixed.js\n// module id = 278\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $fails = require('./_fails')\n , aNumberValue = require('./_a-number-value')\n , $toPrecision = 1..toPrecision;\n\n$export($export.P + $export.F * ($fails(function(){\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function(){\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision){\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); \n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.to-precision.js\n// module id = 279\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', {assign: require('./_object-assign')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.assign.js\n// module id = 280\n// module chunks = 0","var $export = require('./_export')\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', {create: require('./_object-create')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.create.js\n// module id = 281\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperties: require('./_object-dps')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.define-properties.js\n// module id = 282\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.define-property.js\n// module id = 283\n// module chunks = 0","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function($freeze){\n return function freeze(it){\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.freeze.js\n// module id = 284\n// module chunks = 0","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject')\n , $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function(){\n return function getOwnPropertyDescriptor(it, key){\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.get-own-property-descriptor.js\n// module id = 285\n// module chunks = 0","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function(){\n return require('./_object-gopn-ext').f;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.get-own-property-names.js\n// module id = 286\n// module chunks = 0","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object')\n , $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function(){\n return function getPrototypeOf(it){\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.get-prototype-of.js\n// module id = 287\n// module chunks = 0","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function($isExtensible){\n return function isExtensible(it){\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.is-extensible.js\n// module id = 288\n// module chunks = 0","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function($isFrozen){\n return function isFrozen(it){\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.is-frozen.js\n// module id = 289\n// module chunks = 0","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function($isSealed){\n return function isSealed(it){\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.is-sealed.js\n// module id = 290\n// module chunks = 0","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', {is: require('./_same-value')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.is.js\n// module id = 291\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object')\n , $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function(){\n return function keys(it){\n return $keys(toObject(it));\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.keys.js\n// module id = 292\n// module chunks = 0","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function($preventExtensions){\n return function preventExtensions(it){\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.prevent-extensions.js\n// module id = 293\n// module chunks = 0","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function($seal){\n return function seal(it){\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.seal.js\n// module id = 294\n// module chunks = 0","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', {setPrototypeOf: require('./_set-proto').set});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.set-prototype-of.js\n// module id = 295\n// module chunks = 0","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof')\n , test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif(test + '' != '[object z]'){\n require('./_redefine')(Object.prototype, 'toString', function toString(){\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.to-string.js\n// module id = 296\n// module chunks = 0","var $export = require('./_export')\n , $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), {parseFloat: $parseFloat});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.parse-float.js\n// module id = 297\n// module chunks = 0","var $export = require('./_export')\n , $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), {parseInt: $parseInt});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.parse-int.js\n// module id = 298\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library')\n , global = require('./_global')\n , ctx = require('./_ctx')\n , classof = require('./_classof')\n , $export = require('./_export')\n , isObject = require('./_is-object')\n , aFunction = require('./_a-function')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , speciesConstructor = require('./_species-constructor')\n , task = require('./_task').set\n , microtask = require('./_microtask')()\n , PROMISE = 'Promise'\n , TypeError = global.TypeError\n , process = global.process\n , $Promise = global[PROMISE]\n , process = global.process\n , isNode = classof(process) == 'process'\n , empty = function(){ /* empty */ }\n , Internal, GenericPromiseCapability, Wrapper;\n\nvar USE_NATIVE = !!function(){\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1)\n , FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function(exec){ exec(empty, empty); };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch(e){ /* empty */ }\n}();\n\n// helpers\nvar sameConstructor = function(a, b){\n // with library wrapper special case\n return a === b || a === $Promise && b === Wrapper;\n};\nvar isThenable = function(it){\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar newPromiseCapability = function(C){\n return sameConstructor($Promise, C)\n ? new PromiseCapability(C)\n : new GenericPromiseCapability(C);\n};\nvar PromiseCapability = GenericPromiseCapability = function(C){\n var resolve, reject;\n this.promise = new C(function($$resolve, $$reject){\n if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nvar perform = function(exec){\n try {\n exec();\n } catch(e){\n return {error: e};\n }\n};\nvar notify = function(promise, isReject){\n if(promise._n)return;\n promise._n = true;\n var chain = promise._c;\n microtask(function(){\n var value = promise._v\n , ok = promise._s == 1\n , i = 0;\n var run = function(reaction){\n var handler = ok ? reaction.ok : reaction.fail\n , resolve = reaction.resolve\n , reject = reaction.reject\n , domain = reaction.domain\n , result, then;\n try {\n if(handler){\n if(!ok){\n if(promise._h == 2)onHandleUnhandled(promise);\n promise._h = 1;\n }\n if(handler === true)result = value;\n else {\n if(domain)domain.enter();\n result = handler(value);\n if(domain)domain.exit();\n }\n if(result === reaction.promise){\n reject(TypeError('Promise-chain cycle'));\n } else if(then = isThenable(result)){\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch(e){\n reject(e);\n }\n };\n while(chain.length > i)run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if(isReject && !promise._h)onUnhandled(promise);\n });\n};\nvar onUnhandled = function(promise){\n task.call(global, function(){\n var value = promise._v\n , abrupt, handler, console;\n if(isUnhandled(promise)){\n abrupt = perform(function(){\n if(isNode){\n process.emit('unhandledRejection', value, promise);\n } else if(handler = global.onunhandledrejection){\n handler({promise: promise, reason: value});\n } else if((console = global.console) && console.error){\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if(abrupt)throw abrupt.error;\n });\n};\nvar isUnhandled = function(promise){\n if(promise._h == 1)return false;\n var chain = promise._a || promise._c\n , i = 0\n , reaction;\n while(chain.length > i){\n reaction = chain[i++];\n if(reaction.fail || !isUnhandled(reaction.promise))return false;\n } return true;\n};\nvar onHandleUnhandled = function(promise){\n task.call(global, function(){\n var handler;\n if(isNode){\n process.emit('rejectionHandled', promise);\n } else if(handler = global.onrejectionhandled){\n handler({promise: promise, reason: promise._v});\n }\n });\n};\nvar $reject = function(value){\n var promise = this;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if(!promise._a)promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function(value){\n var promise = this\n , then;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if(promise === value)throw TypeError(\"Promise can't be resolved itself\");\n if(then = isThenable(value)){\n microtask(function(){\n var wrapper = {_w: promise, _d: false}; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch(e){\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch(e){\n $reject.call({_w: promise, _d: false}, e); // wrap\n }\n};\n\n// constructor polyfill\nif(!USE_NATIVE){\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor){\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch(err){\n $reject.call(this, err);\n }\n };\n Internal = function Promise(executor){\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected){\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if(this._a)this._a.push(reaction);\n if(this._s)notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function(onRejected){\n return this.then(undefined, onRejected);\n }\n });\n PromiseCapability = function(){\n var promise = new Internal;\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: $Promise});\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r){\n var capability = newPromiseCapability(this)\n , $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x){\n // instanceof instead of internal slot check because we should fix it without replacement native Promise core\n if(x instanceof $Promise && sameConstructor(x.constructor, this))return x;\n var capability = newPromiseCapability(this)\n , $$resolve = capability.resolve;\n $$resolve(x);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function(iter){\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , resolve = capability.resolve\n , reject = capability.reject;\n var abrupt = perform(function(){\n var values = []\n , index = 0\n , remaining = 1;\n forOf(iterable, false, function(promise){\n var $index = index++\n , alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function(value){\n if(alreadyCalled)return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , reject = capability.reject;\n var abrupt = perform(function(){\n forOf(iterable, false, function(promise){\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.promise.js\n// module id = 299\n// module chunks = 0","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , rApply = (require('./_global').Reflect || {}).apply\n , fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function(){\n rApply(function(){});\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList){\n var T = aFunction(target)\n , L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.apply.js\n// module id = 300\n// module chunks = 0","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export')\n , create = require('./_object-create')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , isObject = require('./_is-object')\n , fails = require('./_fails')\n , bind = require('./_bind')\n , rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function(){\n function F(){}\n return !(rConstruct(function(){}, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function(){\n rConstruct(function(){});\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /*, newTarget*/){\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if(ARGS_BUG && !NEW_TARGET_BUG)return rConstruct(Target, args, newTarget);\n if(Target == newTarget){\n // w/o altered newTarget, optimization for 0-4 arguments\n switch(args.length){\n case 0: return new Target;\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args));\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype\n , instance = create(isObject(proto) ? proto : Object.prototype)\n , result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.construct.js\n// module id = 301\n// module chunks = 0","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp')\n , $export = require('./_export')\n , anObject = require('./_an-object')\n , toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function(){\n Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2});\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes){\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch(e){\n return false;\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.define-property.js\n// module id = 302\n// module chunks = 0","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export')\n , gOPD = require('./_object-gopd').f\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey){\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.delete-property.js\n// module id = 303\n// module chunks = 0","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object');\nvar Enumerate = function(iterated){\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = [] // keys\n , key;\n for(key in iterated)keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function(){\n var that = this\n , keys = that._k\n , key;\n do {\n if(that._i >= keys.length)return {value: undefined, done: true};\n } while(!((key = keys[that._i++]) in that._t));\n return {value: key, done: false};\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target){\n return new Enumerate(target);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.enumerate.js\n// module id = 304\n// module chunks = 0","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd')\n , $export = require('./_export')\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.get-own-property-descriptor.js\n// module id = 305\n// module chunks = 0","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export')\n , getProto = require('./_object-gpo')\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target){\n return getProto(anObject(target));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.get-prototype-of.js\n// module id = 306\n// module chunks = 0","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd')\n , getPrototypeOf = require('./_object-gpo')\n , has = require('./_has')\n , $export = require('./_export')\n , isObject = require('./_is-object')\n , anObject = require('./_an-object');\n\nfunction get(target, propertyKey/*, receiver*/){\n var receiver = arguments.length < 3 ? target : arguments[2]\n , desc, proto;\n if(anObject(target) === receiver)return target[propertyKey];\n if(desc = gOPD.f(target, propertyKey))return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if(isObject(proto = getPrototypeOf(target)))return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', {get: get});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.get.js\n// module id = 307\n// module chunks = 0","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey){\n return propertyKey in target;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.has.js\n// module id = 308\n// module chunks = 0","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object')\n , $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target){\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.is-extensible.js\n// module id = 309\n// module chunks = 0","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {ownKeys: require('./_own-keys')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.own-keys.js\n// module id = 310\n// module chunks = 0","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object')\n , $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target){\n anObject(target);\n try {\n if($preventExtensions)$preventExtensions(target);\n return true;\n } catch(e){\n return false;\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.prevent-extensions.js\n// module id = 311\n// module chunks = 0","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export')\n , setProto = require('./_set-proto');\n\nif(setProto)$export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto){\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch(e){\n return false;\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.set-prototype-of.js\n// module id = 312\n// module chunks = 0","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp')\n , gOPD = require('./_object-gopd')\n , getPrototypeOf = require('./_object-gpo')\n , has = require('./_has')\n , $export = require('./_export')\n , createDesc = require('./_property-desc')\n , anObject = require('./_an-object')\n , isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V/*, receiver*/){\n var receiver = arguments.length < 4 ? target : arguments[3]\n , ownDesc = gOPD.f(anObject(target), propertyKey)\n , existingDescriptor, proto;\n if(!ownDesc){\n if(isObject(proto = getPrototypeOf(target))){\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if(has(ownDesc, 'value')){\n if(ownDesc.writable === false || !isObject(receiver))return false;\n existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0);\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', {set: set});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.set.js\n// module id = 313\n// module chunks = 0","var global = require('./_global')\n , inheritIfRequired = require('./_inherit-if-required')\n , dP = require('./_object-dp').f\n , gOPN = require('./_object-gopn').f\n , isRegExp = require('./_is-regexp')\n , $flags = require('./_flags')\n , $RegExp = global.RegExp\n , Base = $RegExp\n , proto = $RegExp.prototype\n , re1 = /a/g\n , re2 = /a/g\n // \"new\" creates a new object, old webkit buggy here\n , CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif(require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function(){\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))){\n $RegExp = function RegExp(p, f){\n var tiRE = this instanceof $RegExp\n , piRE = isRegExp(p)\n , fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function(key){\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function(){ return Base[key]; },\n set: function(it){ Base[key] = it; }\n });\n };\n for(var keys = gOPN(Base), i = 0; keys.length > i; )proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.constructor.js\n// module id = 314\n// module chunks = 0","// @@match logic\nrequire('./_fix-re-wks')('match', 1, function(defined, MATCH, $match){\n // 21.1.3.11 String.prototype.match(regexp)\n return [function match(regexp){\n 'use strict';\n var O = defined(this)\n , fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n }, $match];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.match.js\n// module id = 315\n// module chunks = 0","// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function(defined, REPLACE, $replace){\n // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)\n return [function replace(searchValue, replaceValue){\n 'use strict';\n var O = defined(this)\n , fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n }, $replace];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.replace.js\n// module id = 316\n// module chunks = 0","// @@search logic\nrequire('./_fix-re-wks')('search', 1, function(defined, SEARCH, $search){\n // 21.1.3.15 String.prototype.search(regexp)\n return [function search(regexp){\n 'use strict';\n var O = defined(this)\n , fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n }, $search];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.search.js\n// module id = 317\n// module chunks = 0","// @@split logic\nrequire('./_fix-re-wks')('split', 2, function(defined, SPLIT, $split){\n 'use strict';\n var isRegExp = require('./_is-regexp')\n , _split = $split\n , $push = [].push\n , $SPLIT = 'split'\n , LENGTH = 'length'\n , LAST_INDEX = 'lastIndex';\n if(\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ){\n var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group\n // based on es5-shim implementation, need to rework it\n $split = function(separator, limit){\n var string = String(this);\n if(separator === undefined && limit === 0)return [];\n // If `separator` is not a regex, use native split\n if(!isRegExp(separator))return _split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var separator2, match, lastIndex, lastLength, i;\n // Doesn't need flags gy, but they don't hurt\n if(!NPCG)separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\\\s)', flags);\n while(match = separatorCopy.exec(string)){\n // `separatorCopy.lastIndex` is not reliable cross-browser\n lastIndex = match.index + match[0][LENGTH];\n if(lastIndex > lastLastIndex){\n output.push(string.slice(lastLastIndex, match.index));\n // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG\n if(!NPCG && match[LENGTH] > 1)match[0].replace(separator2, function(){\n for(i = 1; i < arguments[LENGTH] - 2; i++)if(arguments[i] === undefined)match[i] = undefined;\n });\n if(match[LENGTH] > 1 && match.index < string[LENGTH])$push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if(output[LENGTH] >= splitLimit)break;\n }\n if(separatorCopy[LAST_INDEX] === match.index)separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if(lastLastIndex === string[LENGTH]){\n if(lastLength || !separatorCopy.test(''))output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if('0'[$SPLIT](undefined, 0)[LENGTH]){\n $split = function(separator, limit){\n return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);\n };\n }\n // 21.1.3.17 String.prototype.split(separator, limit)\n return [function split(separator, limit){\n var O = defined(this)\n , fn = separator == undefined ? undefined : separator[SPLIT];\n return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);\n }, $split];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.split.js\n// module id = 318\n// module chunks = 0","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object')\n , $flags = require('./_flags')\n , DESCRIPTORS = require('./_descriptors')\n , TO_STRING = 'toString'\n , $toString = /./[TO_STRING];\n\nvar define = function(fn){\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif(require('./_fails')(function(){ return $toString.call({source: 'a', flags: 'b'}) != '/a/b'; })){\n define(function toString(){\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if($toString.name != TO_STRING){\n define(function toString(){\n return $toString.call(this);\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.to-string.js\n// module id = 319\n// module chunks = 0","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function(createHTML){\n return function anchor(name){\n return createHTML(this, 'a', 'name', name);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.anchor.js\n// module id = 320\n// module chunks = 0","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function(createHTML){\n return function big(){\n return createHTML(this, 'big', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.big.js\n// module id = 321\n// module chunks = 0","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function(createHTML){\n return function blink(){\n return createHTML(this, 'blink', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.blink.js\n// module id = 322\n// module chunks = 0","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function(createHTML){\n return function bold(){\n return createHTML(this, 'b', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.bold.js\n// module id = 323\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos){\n return $at(this, pos);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.code-point-at.js\n// module id = 324\n// module chunks = 0","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export')\n , toLength = require('./_to-length')\n , context = require('./_string-context')\n , ENDS_WITH = 'endsWith'\n , $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /*, endPosition = @length */){\n var that = context(this, searchString, ENDS_WITH)\n , endPosition = arguments.length > 1 ? arguments[1] : undefined\n , len = toLength(that.length)\n , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len)\n , search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.ends-with.js\n// module id = 325\n// module chunks = 0","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function(createHTML){\n return function fixed(){\n return createHTML(this, 'tt', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.fixed.js\n// module id = 326\n// module chunks = 0","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function(createHTML){\n return function fontcolor(color){\n return createHTML(this, 'font', 'color', color);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.fontcolor.js\n// module id = 327\n// module chunks = 0","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function(createHTML){\n return function fontsize(size){\n return createHTML(this, 'font', 'size', size);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.fontsize.js\n// module id = 328\n// module chunks = 0","var $export = require('./_export')\n , toIndex = require('./_to-index')\n , fromCharCode = String.fromCharCode\n , $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars\n var res = []\n , aLen = arguments.length\n , i = 0\n , code;\n while(aLen > i){\n code = +arguments[i++];\n if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.from-code-point.js\n// module id = 329\n// module chunks = 0","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export')\n , context = require('./_string-context')\n , INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /*, position = 0 */){\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.includes.js\n// module id = 330\n// module chunks = 0","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function(createHTML){\n return function italics(){\n return createHTML(this, 'i', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.italics.js\n// module id = 331\n// module chunks = 0","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.iterator.js\n// module id = 332\n// module chunks = 0","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function(createHTML){\n return function link(url){\n return createHTML(this, 'a', 'href', url);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.link.js\n// module id = 333\n// module chunks = 0","var $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite){\n var tpl = toIObject(callSite.raw)\n , len = toLength(tpl.length)\n , aLen = arguments.length\n , res = []\n , i = 0;\n while(len > i){\n res.push(String(tpl[i++]));\n if(i < aLen)res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.raw.js\n// module id = 334\n// module chunks = 0","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.repeat.js\n// module id = 335\n// module chunks = 0","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function(createHTML){\n return function small(){\n return createHTML(this, 'small', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.small.js\n// module id = 336\n// module chunks = 0","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export')\n , toLength = require('./_to-length')\n , context = require('./_string-context')\n , STARTS_WITH = 'startsWith'\n , $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /*, position = 0 */){\n var that = context(this, searchString, STARTS_WITH)\n , index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length))\n , search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.starts-with.js\n// module id = 337\n// module chunks = 0","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function(createHTML){\n return function strike(){\n return createHTML(this, 'strike', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.strike.js\n// module id = 338\n// module chunks = 0","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function(createHTML){\n return function sub(){\n return createHTML(this, 'sub', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.sub.js\n// module id = 339\n// module chunks = 0","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function(createHTML){\n return function sup(){\n return createHTML(this, 'sup', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.sup.js\n// module id = 340\n// module chunks = 0","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function($trim){\n return function trim(){\n return $trim(this, 3);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.trim.js\n// module id = 341\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global')\n , has = require('./_has')\n , DESCRIPTORS = require('./_descriptors')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , META = require('./_meta').KEY\n , $fails = require('./_fails')\n , shared = require('./_shared')\n , setToStringTag = require('./_set-to-string-tag')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , wksExt = require('./_wks-ext')\n , wksDefine = require('./_wks-define')\n , keyOf = require('./_keyof')\n , enumKeys = require('./_enum-keys')\n , isArray = require('./_is-array')\n , anObject = require('./_an-object')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , createDesc = require('./_property-desc')\n , _create = require('./_object-create')\n , gOPNExt = require('./_object-gopn-ext')\n , $GOPD = require('./_object-gopd')\n , $DP = require('./_object-dp')\n , $keys = require('./_object-keys')\n , gOPD = $GOPD.f\n , dP = $DP.f\n , gOPN = gOPNExt.f\n , $Symbol = global.Symbol\n , $JSON = global.JSON\n , _stringify = $JSON && $JSON.stringify\n , PROTOTYPE = 'prototype'\n , HIDDEN = wks('_hidden')\n , TO_PRIMITIVE = wks('toPrimitive')\n , isEnum = {}.propertyIsEnumerable\n , SymbolRegistry = shared('symbol-registry')\n , AllSymbols = shared('symbols')\n , OPSymbols = shared('op-symbols')\n , ObjectProto = Object[PROTOTYPE]\n , USE_NATIVE = typeof $Symbol == 'function'\n , QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n return _create(dP({}, 'a', {\n get: function(){ return dP(this, 'a', {value: 7}).a; }\n })).a != 7;\n}) ? function(it, key, D){\n var protoDesc = gOPD(ObjectProto, key);\n if(protoDesc)delete ObjectProto[key];\n dP(it, key, D);\n if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function(tag){\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){\n return typeof it == 'symbol';\n} : function(it){\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D){\n if(it === ObjectProto)$defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if(has(AllSymbols, key)){\n if(!D.enumerable){\n if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n D = _create(D, {enumerable: createDesc(0, false)});\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P){\n anObject(it);\n var keys = enumKeys(P = toIObject(P))\n , i = 0\n , l = keys.length\n , key;\n while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P){\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n it = toIObject(it);\n key = toPrimitive(key, true);\n if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;\n var D = gOPD(it, key);\n if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n var names = gOPN(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n var IS_OP = it === ObjectProto\n , names = gOPN(IS_OP ? OPSymbols : toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif(!USE_NATIVE){\n $Symbol = function Symbol(){\n if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function(value){\n if(this === ObjectProto)$set.call(OPSymbols, value);\n if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString(){\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if(DESCRIPTORS && !require('./_library')){\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function(name){\n return wrap(wks(name));\n }\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});\n\nfor(var symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);\n\nfor(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function(key){\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(key){\n if(isSymbol(key))return keyOf(SymbolRegistry, key);\n throw TypeError(key + ' is not a symbol!');\n },\n useSetter: function(){ setter = true; },\n useSimple: function(){ setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it){\n if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n var args = [it]\n , i = 1\n , replacer, $replacer;\n while(arguments.length > i)args.push(arguments[i++]);\n replacer = args[1];\n if(typeof replacer == 'function')$replacer = replacer;\n if($replacer || !isArray(replacer))replacer = function(key, value){\n if($replacer)value = $replacer.call(this, key, value);\n if(!isSymbol(value))return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.symbol.js\n// module id = 342\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $typed = require('./_typed')\n , buffer = require('./_typed-buffer')\n , anObject = require('./_an-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length')\n , isObject = require('./_is-object')\n , ArrayBuffer = require('./_global').ArrayBuffer\n , speciesConstructor = require('./_species-constructor')\n , $ArrayBuffer = buffer.ArrayBuffer\n , $DataView = buffer.DataView\n , $isView = $typed.ABV && ArrayBuffer.isView\n , $slice = $ArrayBuffer.prototype.slice\n , VIEW = $typed.VIEW\n , ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), {ArrayBuffer: $ArrayBuffer});\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it){\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function(){\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end){\n if($slice !== undefined && end === undefined)return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength\n , first = toIndex(start, len)\n , final = toIndex(end === undefined ? len : end, len)\n , result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first))\n , viewS = new $DataView(this)\n , viewT = new $DataView(result)\n , index = 0;\n while(first < final){\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.array-buffer.js\n// module id = 343\n// module chunks = 0","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.data-view.js\n// module id = 344\n// module chunks = 0","require('./_typed-array')('Float32', 4, function(init){\n return function Float32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.float32-array.js\n// module id = 345\n// module chunks = 0","require('./_typed-array')('Float64', 8, function(init){\n return function Float64Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.float64-array.js\n// module id = 346\n// module chunks = 0","require('./_typed-array')('Int16', 2, function(init){\n return function Int16Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.int16-array.js\n// module id = 347\n// module chunks = 0","require('./_typed-array')('Int32', 4, function(init){\n return function Int32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.int32-array.js\n// module id = 348\n// module chunks = 0","require('./_typed-array')('Int8', 1, function(init){\n return function Int8Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.int8-array.js\n// module id = 349\n// module chunks = 0","require('./_typed-array')('Uint16', 2, function(init){\n return function Uint16Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.uint16-array.js\n// module id = 350\n// module chunks = 0","require('./_typed-array')('Uint32', 4, function(init){\n return function Uint32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.uint32-array.js\n// module id = 351\n// module chunks = 0","require('./_typed-array')('Uint8', 1, function(init){\n return function Uint8Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.uint8-array.js\n// module id = 352\n// module chunks = 0","require('./_typed-array')('Uint8', 1, function(init){\n return function Uint8ClampedArray(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n}, true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.uint8-clamped-array.js\n// module id = 353\n// module chunks = 0","'use strict';\nvar weak = require('./_collection-weak');\n\n// 23.4 WeakSet Objects\nrequire('./_collection')('WeakSet', function(get){\n return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value){\n return weak.def(this, value, true);\n }\n}, weak, false, true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.weak-set.js\n// module id = 354\n// module chunks = 0","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export')\n , $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /*, fromIndex = 0 */){\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.array.includes.js\n// module id = 355\n// module chunks = 0","// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask\nvar $export = require('./_export')\n , microtask = require('./_microtask')()\n , process = require('./_global').process\n , isNode = require('./_cof')(process) == 'process';\n\n$export($export.G, {\n asap: function asap(fn){\n var domain = isNode && process.domain;\n microtask(domain ? domain.bind(fn) : fn);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.asap.js\n// module id = 356\n// module chunks = 0","// https://github.com/ljharb/proposal-is-error\nvar $export = require('./_export')\n , cof = require('./_cof');\n\n$export($export.S, 'Error', {\n isError: function isError(it){\n return cof(it) === 'Error';\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.error.is-error.js\n// module id = 357\n// module chunks = 0","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Map', {toJSON: require('./_collection-to-json')('Map')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.map.to-json.js\n// module id = 358\n// module chunks = 0","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n iaddh: function iaddh(x0, x1, y0, y1){\n var $x0 = x0 >>> 0\n , $x1 = x1 >>> 0\n , $y0 = y0 >>> 0;\n return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.math.iaddh.js\n// module id = 359\n// module chunks = 0","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n imulh: function imulh(u, v){\n var UINT16 = 0xffff\n , $u = +u\n , $v = +v\n , u0 = $u & UINT16\n , v0 = $v & UINT16\n , u1 = $u >> 16\n , v1 = $v >> 16\n , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.math.imulh.js\n// module id = 360\n// module chunks = 0","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n isubh: function isubh(x0, x1, y0, y1){\n var $x0 = x0 >>> 0\n , $x1 = x1 >>> 0\n , $y0 = y0 >>> 0;\n return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.math.isubh.js\n// module id = 361\n// module chunks = 0","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n umulh: function umulh(u, v){\n var UINT16 = 0xffff\n , $u = +u\n , $v = +v\n , u0 = $u & UINT16\n , v0 = $v & UINT16\n , u1 = $u >>> 16\n , v1 = $v >>> 16\n , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.math.umulh.js\n// module id = 362\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , aFunction = require('./_a-function')\n , $defineProperty = require('./_object-dp');\n\n// B.2.2.2 Object.prototype.__defineGetter__(P, getter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineGetter__: function __defineGetter__(P, getter){\n $defineProperty.f(toObject(this), P, {get: aFunction(getter), enumerable: true, configurable: true});\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.define-getter.js\n// module id = 363\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , aFunction = require('./_a-function')\n , $defineProperty = require('./_object-dp');\n\n// B.2.2.3 Object.prototype.__defineSetter__(P, setter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineSetter__: function __defineSetter__(P, setter){\n $defineProperty.f(toObject(this), P, {set: aFunction(setter), enumerable: true, configurable: true});\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.define-setter.js\n// module id = 364\n// module chunks = 0","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it){\n return $entries(it);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.entries.js\n// module id = 365\n// module chunks = 0","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export')\n , ownKeys = require('./_own-keys')\n , toIObject = require('./_to-iobject')\n , gOPD = require('./_object-gopd')\n , createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){\n var O = toIObject(object)\n , getDesc = gOPD.f\n , keys = ownKeys(O)\n , result = {}\n , i = 0\n , key;\n while(keys.length > i)createProperty(result, key = keys[i++], getDesc(O, key));\n return result;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.get-own-property-descriptors.js\n// module id = 366\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive')\n , getPrototypeOf = require('./_object-gpo')\n , getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.4 Object.prototype.__lookupGetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupGetter__: function __lookupGetter__(P){\n var O = toObject(this)\n , K = toPrimitive(P, true)\n , D;\n do {\n if(D = getOwnPropertyDescriptor(O, K))return D.get;\n } while(O = getPrototypeOf(O));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.lookup-getter.js\n// module id = 367\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive')\n , getPrototypeOf = require('./_object-gpo')\n , getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.5 Object.prototype.__lookupSetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupSetter__: function __lookupSetter__(P){\n var O = toObject(this)\n , K = toPrimitive(P, true)\n , D;\n do {\n if(D = getOwnPropertyDescriptor(O, K))return D.set;\n } while(O = getPrototypeOf(O));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.lookup-setter.js\n// module id = 368\n// module chunks = 0","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it){\n return $values(it);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.values.js\n// module id = 369\n// module chunks = 0","'use strict';\n// https://github.com/zenparsing/es-observable\nvar $export = require('./_export')\n , global = require('./_global')\n , core = require('./_core')\n , microtask = require('./_microtask')()\n , OBSERVABLE = require('./_wks')('observable')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , anInstance = require('./_an-instance')\n , redefineAll = require('./_redefine-all')\n , hide = require('./_hide')\n , forOf = require('./_for-of')\n , RETURN = forOf.RETURN;\n\nvar getMethod = function(fn){\n return fn == null ? undefined : aFunction(fn);\n};\n\nvar cleanupSubscription = function(subscription){\n var cleanup = subscription._c;\n if(cleanup){\n subscription._c = undefined;\n cleanup();\n }\n};\n\nvar subscriptionClosed = function(subscription){\n return subscription._o === undefined;\n};\n\nvar closeSubscription = function(subscription){\n if(!subscriptionClosed(subscription)){\n subscription._o = undefined;\n cleanupSubscription(subscription);\n }\n};\n\nvar Subscription = function(observer, subscriber){\n anObject(observer);\n this._c = undefined;\n this._o = observer;\n observer = new SubscriptionObserver(this);\n try {\n var cleanup = subscriber(observer)\n , subscription = cleanup;\n if(cleanup != null){\n if(typeof cleanup.unsubscribe === 'function')cleanup = function(){ subscription.unsubscribe(); };\n else aFunction(cleanup);\n this._c = cleanup;\n }\n } catch(e){\n observer.error(e);\n return;\n } if(subscriptionClosed(this))cleanupSubscription(this);\n};\n\nSubscription.prototype = redefineAll({}, {\n unsubscribe: function unsubscribe(){ closeSubscription(this); }\n});\n\nvar SubscriptionObserver = function(subscription){\n this._s = subscription;\n};\n\nSubscriptionObserver.prototype = redefineAll({}, {\n next: function next(value){\n var subscription = this._s;\n if(!subscriptionClosed(subscription)){\n var observer = subscription._o;\n try {\n var m = getMethod(observer.next);\n if(m)return m.call(observer, value);\n } catch(e){\n try {\n closeSubscription(subscription);\n } finally {\n throw e;\n }\n }\n }\n },\n error: function error(value){\n var subscription = this._s;\n if(subscriptionClosed(subscription))throw value;\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.error);\n if(!m)throw value;\n value = m.call(observer, value);\n } catch(e){\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n },\n complete: function complete(value){\n var subscription = this._s;\n if(!subscriptionClosed(subscription)){\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.complete);\n value = m ? m.call(observer, value) : undefined;\n } catch(e){\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n }\n }\n});\n\nvar $Observable = function Observable(subscriber){\n anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);\n};\n\nredefineAll($Observable.prototype, {\n subscribe: function subscribe(observer){\n return new Subscription(observer, this._f);\n },\n forEach: function forEach(fn){\n var that = this;\n return new (core.Promise || global.Promise)(function(resolve, reject){\n aFunction(fn);\n var subscription = that.subscribe({\n next : function(value){\n try {\n return fn(value);\n } catch(e){\n reject(e);\n subscription.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n });\n }\n});\n\nredefineAll($Observable, {\n from: function from(x){\n var C = typeof this === 'function' ? this : $Observable;\n var method = getMethod(anObject(x)[OBSERVABLE]);\n if(method){\n var observable = anObject(method.call(x));\n return observable.constructor === C ? observable : new C(function(observer){\n return observable.subscribe(observer);\n });\n }\n return new C(function(observer){\n var done = false;\n microtask(function(){\n if(!done){\n try {\n if(forOf(x, false, function(it){\n observer.next(it);\n if(done)return RETURN;\n }) === RETURN)return;\n } catch(e){\n if(done)throw e;\n observer.error(e);\n return;\n } observer.complete();\n }\n });\n return function(){ done = true; };\n });\n },\n of: function of(){\n for(var i = 0, l = arguments.length, items = Array(l); i < l;)items[i] = arguments[i++];\n return new (typeof this === 'function' ? this : $Observable)(function(observer){\n var done = false;\n microtask(function(){\n if(!done){\n for(var i = 0; i < items.length; ++i){\n observer.next(items[i]);\n if(done)return;\n } observer.complete();\n }\n });\n return function(){ done = true; };\n });\n }\n});\n\nhide($Observable.prototype, OBSERVABLE, function(){ return this; });\n\n$export($export.G, {Observable: $Observable});\n\nrequire('./_set-species')('Observable');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.observable.js\n// module id = 370\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , toMetaKey = metadata.key\n , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey){\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.define-metadata.js\n// module id = 371\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , toMetaKey = metadata.key\n , getOrCreateMetadataMap = metadata.map\n , store = metadata.store;\n\nmetadata.exp({deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */){\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2])\n , metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if(metadataMap === undefined || !metadataMap['delete'](metadataKey))return false;\n if(metadataMap.size)return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.delete-metadata.js\n// module id = 372\n// module chunks = 0","var Set = require('./es6.set')\n , from = require('./_array-from-iterable')\n , metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryOwnMetadataKeys = metadata.keys\n , toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function(O, P){\n var oKeys = ordinaryOwnMetadataKeys(O, P)\n , parent = getPrototypeOf(O);\n if(parent === null)return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({getMetadataKeys: function getMetadataKeys(target /*, targetKey */){\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.get-metadata-keys.js\n// module id = 373\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryHasOwnMetadata = metadata.has\n , ordinaryGetOwnMetadata = metadata.get\n , toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function(MetadataKey, O, P){\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({getMetadata: function getMetadata(metadataKey, target /*, targetKey */){\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.get-metadata.js\n// module id = 374\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryOwnMetadataKeys = metadata.keys\n , toMetaKey = metadata.key;\n\nmetadata.exp({getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */){\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.get-own-metadata-keys.js\n// module id = 375\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryGetOwnMetadata = metadata.get\n , toMetaKey = metadata.key;\n\nmetadata.exp({getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */){\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.get-own-metadata.js\n// module id = 376\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryHasOwnMetadata = metadata.has\n , toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function(MetadataKey, O, P){\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if(hasOwn)return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */){\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.has-metadata.js\n// module id = 377\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryHasOwnMetadata = metadata.has\n , toMetaKey = metadata.key;\n\nmetadata.exp({hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */){\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.has-own-metadata.js\n// module id = 378\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , toMetaKey = metadata.key\n , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({metadata: function metadata(metadataKey, metadataValue){\n return function decorator(target, targetKey){\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.metadata.js\n// module id = 379\n// module chunks = 0","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Set', {toJSON: require('./_collection-to-json')('Set')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.set.to-json.js\n// module id = 380\n// module chunks = 0","'use strict';\n// https://github.com/mathiasbynens/String.prototype.at\nvar $export = require('./_export')\n , $at = require('./_string-at')(true);\n\n$export($export.P, 'String', {\n at: function at(pos){\n return $at(this, pos);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.at.js\n// module id = 381\n// module chunks = 0","'use strict';\n// https://tc39.github.io/String.prototype.matchAll/\nvar $export = require('./_export')\n , defined = require('./_defined')\n , toLength = require('./_to-length')\n , isRegExp = require('./_is-regexp')\n , getFlags = require('./_flags')\n , RegExpProto = RegExp.prototype;\n\nvar $RegExpStringIterator = function(regexp, string){\n this._r = regexp;\n this._s = string;\n};\n\nrequire('./_iter-create')($RegExpStringIterator, 'RegExp String', function next(){\n var match = this._r.exec(this._s);\n return {value: match, done: match === null};\n});\n\n$export($export.P, 'String', {\n matchAll: function matchAll(regexp){\n defined(this);\n if(!isRegExp(regexp))throw TypeError(regexp + ' is not a regexp!');\n var S = String(this)\n , flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp)\n , rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);\n rx.lastIndex = toLength(regexp.lastIndex);\n return new $RegExpStringIterator(rx, S);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.match-all.js\n// module id = 382\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export')\n , $pad = require('./_string-pad');\n\n$export($export.P, 'String', {\n padEnd: function padEnd(maxLength /*, fillString = ' ' */){\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.pad-end.js\n// module id = 383\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export')\n , $pad = require('./_string-pad');\n\n$export($export.P, 'String', {\n padStart: function padStart(maxLength /*, fillString = ' ' */){\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.pad-start.js\n// module id = 384\n// module chunks = 0","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimLeft', function($trim){\n return function trimLeft(){\n return $trim(this, 1);\n };\n}, 'trimStart');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.trim-left.js\n// module id = 385\n// module chunks = 0","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimRight', function($trim){\n return function trimRight(){\n return $trim(this, 2);\n };\n}, 'trimEnd');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.trim-right.js\n// module id = 386\n// module chunks = 0","require('./_wks-define')('asyncIterator');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.symbol.async-iterator.js\n// module id = 387\n// module chunks = 0","require('./_wks-define')('observable');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.symbol.observable.js\n// module id = 388\n// module chunks = 0","// https://github.com/ljharb/proposal-global\nvar $export = require('./_export');\n\n$export($export.S, 'System', {global: require('./_global')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.system.global.js\n// module id = 389\n// module chunks = 0","var $iterators = require('./es6.array.iterator')\n , redefine = require('./_redefine')\n , global = require('./_global')\n , hide = require('./_hide')\n , Iterators = require('./_iterators')\n , wks = require('./_wks')\n , ITERATOR = wks('iterator')\n , TO_STRING_TAG = wks('toStringTag')\n , ArrayValues = Iterators.Array;\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n var NAME = collections[i]\n , Collection = global[NAME]\n , proto = Collection && Collection.prototype\n , key;\n if(proto){\n if(!proto[ITERATOR])hide(proto, ITERATOR, ArrayValues);\n if(!proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n for(key in $iterators)if(!proto[key])redefine(proto, key, $iterators[key], true);\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/web.dom.iterable.js\n// module id = 390\n// module chunks = 0","var $export = require('./_export')\n , $task = require('./_task');\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/web.immediate.js\n// module id = 391\n// module chunks = 0","// ie9- setTimeout & setInterval additional parameters fix\nvar global = require('./_global')\n , $export = require('./_export')\n , invoke = require('./_invoke')\n , partial = require('./_partial')\n , navigator = global.navigator\n , MSIE = !!navigator && /MSIE .\\./.test(navigator.userAgent); // <- dirty ie9- check\nvar wrap = function(set){\n return MSIE ? function(fn, time /*, ...args */){\n return set(invoke(\n partial,\n [].slice.call(arguments, 2),\n typeof fn == 'function' ? fn : Function(fn)\n ), time);\n } : set;\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n setTimeout: wrap(global.setTimeout),\n setInterval: wrap(global.setInterval)\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/web.timers.js\n// module id = 392\n// module chunks = 0","require('./modules/es6.symbol');\nrequire('./modules/es6.object.create');\nrequire('./modules/es6.object.define-property');\nrequire('./modules/es6.object.define-properties');\nrequire('./modules/es6.object.get-own-property-descriptor');\nrequire('./modules/es6.object.get-prototype-of');\nrequire('./modules/es6.object.keys');\nrequire('./modules/es6.object.get-own-property-names');\nrequire('./modules/es6.object.freeze');\nrequire('./modules/es6.object.seal');\nrequire('./modules/es6.object.prevent-extensions');\nrequire('./modules/es6.object.is-frozen');\nrequire('./modules/es6.object.is-sealed');\nrequire('./modules/es6.object.is-extensible');\nrequire('./modules/es6.object.assign');\nrequire('./modules/es6.object.is');\nrequire('./modules/es6.object.set-prototype-of');\nrequire('./modules/es6.object.to-string');\nrequire('./modules/es6.function.bind');\nrequire('./modules/es6.function.name');\nrequire('./modules/es6.function.has-instance');\nrequire('./modules/es6.parse-int');\nrequire('./modules/es6.parse-float');\nrequire('./modules/es6.number.constructor');\nrequire('./modules/es6.number.to-fixed');\nrequire('./modules/es6.number.to-precision');\nrequire('./modules/es6.number.epsilon');\nrequire('./modules/es6.number.is-finite');\nrequire('./modules/es6.number.is-integer');\nrequire('./modules/es6.number.is-nan');\nrequire('./modules/es6.number.is-safe-integer');\nrequire('./modules/es6.number.max-safe-integer');\nrequire('./modules/es6.number.min-safe-integer');\nrequire('./modules/es6.number.parse-float');\nrequire('./modules/es6.number.parse-int');\nrequire('./modules/es6.math.acosh');\nrequire('./modules/es6.math.asinh');\nrequire('./modules/es6.math.atanh');\nrequire('./modules/es6.math.cbrt');\nrequire('./modules/es6.math.clz32');\nrequire('./modules/es6.math.cosh');\nrequire('./modules/es6.math.expm1');\nrequire('./modules/es6.math.fround');\nrequire('./modules/es6.math.hypot');\nrequire('./modules/es6.math.imul');\nrequire('./modules/es6.math.log10');\nrequire('./modules/es6.math.log1p');\nrequire('./modules/es6.math.log2');\nrequire('./modules/es6.math.sign');\nrequire('./modules/es6.math.sinh');\nrequire('./modules/es6.math.tanh');\nrequire('./modules/es6.math.trunc');\nrequire('./modules/es6.string.from-code-point');\nrequire('./modules/es6.string.raw');\nrequire('./modules/es6.string.trim');\nrequire('./modules/es6.string.iterator');\nrequire('./modules/es6.string.code-point-at');\nrequire('./modules/es6.string.ends-with');\nrequire('./modules/es6.string.includes');\nrequire('./modules/es6.string.repeat');\nrequire('./modules/es6.string.starts-with');\nrequire('./modules/es6.string.anchor');\nrequire('./modules/es6.string.big');\nrequire('./modules/es6.string.blink');\nrequire('./modules/es6.string.bold');\nrequire('./modules/es6.string.fixed');\nrequire('./modules/es6.string.fontcolor');\nrequire('./modules/es6.string.fontsize');\nrequire('./modules/es6.string.italics');\nrequire('./modules/es6.string.link');\nrequire('./modules/es6.string.small');\nrequire('./modules/es6.string.strike');\nrequire('./modules/es6.string.sub');\nrequire('./modules/es6.string.sup');\nrequire('./modules/es6.date.now');\nrequire('./modules/es6.date.to-json');\nrequire('./modules/es6.date.to-iso-string');\nrequire('./modules/es6.date.to-string');\nrequire('./modules/es6.date.to-primitive');\nrequire('./modules/es6.array.is-array');\nrequire('./modules/es6.array.from');\nrequire('./modules/es6.array.of');\nrequire('./modules/es6.array.join');\nrequire('./modules/es6.array.slice');\nrequire('./modules/es6.array.sort');\nrequire('./modules/es6.array.for-each');\nrequire('./modules/es6.array.map');\nrequire('./modules/es6.array.filter');\nrequire('./modules/es6.array.some');\nrequire('./modules/es6.array.every');\nrequire('./modules/es6.array.reduce');\nrequire('./modules/es6.array.reduce-right');\nrequire('./modules/es6.array.index-of');\nrequire('./modules/es6.array.last-index-of');\nrequire('./modules/es6.array.copy-within');\nrequire('./modules/es6.array.fill');\nrequire('./modules/es6.array.find');\nrequire('./modules/es6.array.find-index');\nrequire('./modules/es6.array.species');\nrequire('./modules/es6.array.iterator');\nrequire('./modules/es6.regexp.constructor');\nrequire('./modules/es6.regexp.to-string');\nrequire('./modules/es6.regexp.flags');\nrequire('./modules/es6.regexp.match');\nrequire('./modules/es6.regexp.replace');\nrequire('./modules/es6.regexp.search');\nrequire('./modules/es6.regexp.split');\nrequire('./modules/es6.promise');\nrequire('./modules/es6.map');\nrequire('./modules/es6.set');\nrequire('./modules/es6.weak-map');\nrequire('./modules/es6.weak-set');\nrequire('./modules/es6.typed.array-buffer');\nrequire('./modules/es6.typed.data-view');\nrequire('./modules/es6.typed.int8-array');\nrequire('./modules/es6.typed.uint8-array');\nrequire('./modules/es6.typed.uint8-clamped-array');\nrequire('./modules/es6.typed.int16-array');\nrequire('./modules/es6.typed.uint16-array');\nrequire('./modules/es6.typed.int32-array');\nrequire('./modules/es6.typed.uint32-array');\nrequire('./modules/es6.typed.float32-array');\nrequire('./modules/es6.typed.float64-array');\nrequire('./modules/es6.reflect.apply');\nrequire('./modules/es6.reflect.construct');\nrequire('./modules/es6.reflect.define-property');\nrequire('./modules/es6.reflect.delete-property');\nrequire('./modules/es6.reflect.enumerate');\nrequire('./modules/es6.reflect.get');\nrequire('./modules/es6.reflect.get-own-property-descriptor');\nrequire('./modules/es6.reflect.get-prototype-of');\nrequire('./modules/es6.reflect.has');\nrequire('./modules/es6.reflect.is-extensible');\nrequire('./modules/es6.reflect.own-keys');\nrequire('./modules/es6.reflect.prevent-extensions');\nrequire('./modules/es6.reflect.set');\nrequire('./modules/es6.reflect.set-prototype-of');\nrequire('./modules/es7.array.includes');\nrequire('./modules/es7.string.at');\nrequire('./modules/es7.string.pad-start');\nrequire('./modules/es7.string.pad-end');\nrequire('./modules/es7.string.trim-left');\nrequire('./modules/es7.string.trim-right');\nrequire('./modules/es7.string.match-all');\nrequire('./modules/es7.symbol.async-iterator');\nrequire('./modules/es7.symbol.observable');\nrequire('./modules/es7.object.get-own-property-descriptors');\nrequire('./modules/es7.object.values');\nrequire('./modules/es7.object.entries');\nrequire('./modules/es7.object.define-getter');\nrequire('./modules/es7.object.define-setter');\nrequire('./modules/es7.object.lookup-getter');\nrequire('./modules/es7.object.lookup-setter');\nrequire('./modules/es7.map.to-json');\nrequire('./modules/es7.set.to-json');\nrequire('./modules/es7.system.global');\nrequire('./modules/es7.error.is-error');\nrequire('./modules/es7.math.iaddh');\nrequire('./modules/es7.math.isubh');\nrequire('./modules/es7.math.imulh');\nrequire('./modules/es7.math.umulh');\nrequire('./modules/es7.reflect.define-metadata');\nrequire('./modules/es7.reflect.delete-metadata');\nrequire('./modules/es7.reflect.get-metadata');\nrequire('./modules/es7.reflect.get-metadata-keys');\nrequire('./modules/es7.reflect.get-own-metadata');\nrequire('./modules/es7.reflect.get-own-metadata-keys');\nrequire('./modules/es7.reflect.has-metadata');\nrequire('./modules/es7.reflect.has-own-metadata');\nrequire('./modules/es7.reflect.metadata');\nrequire('./modules/es7.asap');\nrequire('./modules/es7.observable');\nrequire('./modules/web.timers');\nrequire('./modules/web.immediate');\nrequire('./modules/web.dom.iterable');\nmodule.exports = require('./modules/_core');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/shim.js\n// module id = 393\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/scss/compare/index.scss\n// module id = 394\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/scss/customCircle/index.scss\n// module id = 395\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/scss/geolocation/index.scss\n// module id = 396\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/scss/measure/index.scss\n// module id = 397\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/scss/ol/ol.scss\n// module id = 398\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/scss/overlay/index.scss\n// module id = 399\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/scss/plot/index.scss\n// module id = 400\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/scss/popup/index.scss\n// module id = 401\n// module chunks = 0","// OpenLayers. See https://openlayers.org/\n// License: https://raw.githubusercontent.com/openlayers/openlayers/master/LICENSE.md\n// Version: v4.2.0\n;(function (root, factory) {\n if (typeof exports === \"object\") {\n module.exports = factory();\n } else if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else {\n root.ol = factory();\n }\n}(this, function () {\n var OPENLAYERS = {};\n var k,aa=this;function t(a,b){var c=OPENLAYERS;a=a.split(\".\");c=c||aa;a[0]in c||!c.execScript||c.execScript(\"var \"+a[0]);for(var d;a.length&&(d=a.shift());)a.length||void 0===b?c[d]&&c[d]!==Object.prototype[d]?c=c[d]:c=c[d]={}:c[d]=b};var ea,fa;function ia(a,b){return a>b?1:ac)for(c=1;c>>0,d,e=0;e=b.ca&&a.da<=b.ia&&a.ia>=b.da};function Ca(a,b,c){return Math.min(Math.max(a,b),c)}var Da=function(){var a;\"cosh\"in Math?a=Math.cosh:a=function(a){a=Math.exp(a);return(a+1/a)/2};return a}();function Ea(a){xa(0a*b?a+b:a}\nfunction Ja(a,b,c){return a+c*(b-a)};function Ka(a,b,c){void 0===c&&(c=[0,0]);c[0]=a[0]+2*b;c[1]=a[1]+2*b;return c}function La(a,b,c){void 0===c&&(c=[0,0]);c[0]=a[0]*b+.5|0;c[1]=a[1]*b+.5|0;return c}function Ma(a,b){if(Array.isArray(a))return a;void 0===b?b=[a,a]:b[0]=b[1]=a;return b};function Na(a){for(var b=Oa(),c=0,d=a.length;cd&&(g|=4);be&&(g|=2);g||(g=1);return g}function Oa(){return[Infinity,Infinity,-Infinity,-Infinity]}function Xa(a,b,c,d,e){return e?(e[0]=a,e[1]=b,e[2]=c,e[3]=d,e):[a,b,c,d]}function Ya(a){return Xa(Infinity,Infinity,-Infinity,-Infinity,a)}function Za(a,b){var c=a[0];a=a[1];return Xa(c,a,c,a,b)}function $a(a,b,c,d,e){e=Ya(e);return ab(e,a,b,c,d)}\nfunction bb(a,b){return a[0]==b[0]&&a[2]==b[2]&&a[1]==b[1]&&a[3]==b[3]}function cb(a,b){b[0]a[2]&&(a[2]=b[2]);b[1]a[3]&&(a[3]=b[3]);return a}function Pa(a,b){b[0]a[2]&&(a[2]=b[0]);b[1]a[3]&&(a[3]=b[1])}function ab(a,b,c,d,e){for(;cb[0]?a[0]:b[0],c[1]=a[1]>b[1]?a[1]:b[1],c[2]=a[2]=b[0]&&a[1]<=b[3]&&a[3]>=b[1]}function kb(a){return a[2]Fb?f=Fb:f<-Fb&&(f=-Fb);b[e+1]=f}return b}function Ib(a,b,c){var d=a.length;c=1>=1}return c.join(\"\")};function lc(a){this.minZoom=void 0!==a.minZoom?a.minZoom:0;this.b=a.resolutions;xa(ta(this.b,function(a,b){return b-a}),17);this.maxZoom=this.b.length-1;this.i=void 0!==a.origin?a.origin:null;this.c=null;void 0!==a.origins&&(this.c=a.origins,xa(this.c.length==this.b.length,20));var b=a.extent;void 0===b||this.i||this.c||(this.i=ib(b));xa(!this.i&&this.c||this.i&&!this.c,18);this.f=null;void 0!==a.tileSizes&&(this.f=a.tileSizes,xa(this.f.length==this.b.length,19));this.g=void 0!==a.tileSize?a.tileSize:\nthis.f?null:256;xa(!this.g&&this.f||this.g&&!this.f,22);this.v=void 0!==b?b:null;this.a=null;this.j=[0,0];void 0!==a.sizes?this.a=a.sizes.map(function(a){return new ya(Math.min(0,a[0]),Math.max(a[0]-1,-1),Math.min(0,a[1]),Math.max(a[1]-1,-1))},this):b&&mc(this,b)}var nc=[0,0,0];k=lc.prototype;k.Rf=function(a,b,c){a=oc(this,a,b);for(var d=a.ca,e=a.$;d<=e;++d)for(var f=a.da,g=a.ia;f<=g;++f)c([b,d,f])};\nfunction pc(a,b,c,d,e){e=a.Aa(b,e);for(b=b[0]-1;b>=a.minZoom;){if(c.call(null,b,oc(a,e,b,d)))return!0;--b}return!1}k.G=function(){return this.v};k.Ti=function(){return this.maxZoom};k.Ui=function(){return this.minZoom};k.Pc=function(a){return this.i?this.i:this.c[a]};k.Da=function(a){return this.b[a]};k.Vi=function(){return this.b};function qc(a,b,c,d){return b[0]M.$)if(Ba(z,new ya(Ia(B.ca,ba),Ia(B.$,ba),B.da,B.ia))||B.$-B.ca+1>ba&&Ba(z,M)){E=!0;break a}}}E=!1}else E=!0}}else E=!1;E?(x in l&&delete l[x],E=u.b,E in m||(m[E]=!0,h[x]=u)):l[x]=u}}}}b=[h,l];p=b[0];b=b[1];for(var da in this.l)da in p?(this.j[da]||(this.l[da].style.display=\"\",this.j[da]=!0),delete p[da]):da in b?(this.j[da]&&(this.l[da].style.display=\"none\",delete this.j[da]),delete b[da]):(ld(this.l[da]),delete this.l[da],delete this.j[da]);for(da in p)r=\ndocument.createElement(\"LI\"),r.innerHTML=p[da].b,this.I.appendChild(r),this.l[da]=r,this.j[da]=!0;for(da in b)r=document.createElement(\"LI\"),r.innerHTML=b[da].b,r.style.display=\"none\",this.I.appendChild(r),this.l[da]=r;da=!wb(this.j)||!wb(a.logos);this.B!=da&&(this.element.style.display=da?\"\":\"none\",this.B=da);da&&wb(this.j)?this.element.classList.add(\"ol-logo-only\"):this.element.classList.remove(\"ol-logo-only\");a=a.logos;da=this.T;for(ca in da)ca in a||(ld(da[ca]),delete da[ca]);for(var fb in a)if(b=\na[fb],b instanceof HTMLElement&&(this.u.appendChild(b),da[fb]=b),!(fb in da)){var ca=new Image;ca.src=fb;\"\"===b?p=ca:(p=document.createElement(\"a\"),p.href=b,p.appendChild(ca));this.u.appendChild(p);da[fb]=p}this.u.style.display=wb(a)?\"none\":\"\"}else this.B&&(this.element.style.display=\"none\",this.B=!1)}k=nd.prototype;k.Vm=function(a){a.preventDefault();pd(this)};function pd(a){a.element.classList.toggle(\"ol-collapsed\");a.c?kd(a.D,a.C):kd(a.C,a.D);a.c=!a.c}k.Um=function(){return this.o};\nk.Xm=function(a){this.o!==a&&(this.o=a,this.element.classList.toggle(\"ol-uncollapsible\"),!a&&this.c&&pd(this))};k.Wm=function(a){this.o&&this.c!==a&&pd(this)};k.Tm=function(){return this.c};function qd(a){return Math.pow(a,3)}function rd(a){return 1-qd(1-a)}function sd(a){return 3*a*a-2*a*a*a}function td(a){return a};function ud(a){a=a?a:{};var b=void 0!==a.className?a.className:\"ol-rotate\",c=void 0!==a.label?a.label:\"\\u21e7\";this.c=null;\"string\"===typeof c?(this.c=document.createElement(\"span\"),this.c.className=\"ol-compass\",this.c.textContent=c):(this.c=c,this.c.classList.add(\"ol-compass\"));var d=a.tipLabel?a.tipLabel:\"Reset rotation\",c=document.createElement(\"button\");c.className=b+\"-reset\";c.setAttribute(\"type\",\"button\");c.title=d;c.appendChild(this.c);y(c,\"click\",ud.prototype.D,this);d=document.createElement(\"div\");\nd.className=b+\" ol-unselectable ol-control\";d.appendChild(c);b=a.render?a.render:vd;this.o=a.resetNorth?a.resetNorth:void 0;md.call(this,{element:d,render:b,target:a.target});this.l=void 0!==a.duration?a.duration:250;this.j=void 0!==a.autoHide?a.autoHide:!0;this.u=void 0;this.j&&this.element.classList.add(\"ol-hidden\")}v(ud,md);ud.prototype.D=function(a){a.preventDefault();this.o?this.o():(a=this.a.Z())&&void 0!==a.Qa()&&(0=Math.abs(c-f[0])&&25>=g)return!0}return!1}function ie(a){var b=je(a,a),c=b.preventDefault;b.preventDefault=function(){a.preventDefault();c()};b.pointerId=1;b.isPrimary=!0;b.pointerType=\"mouse\";return b}k=ge.prototype;\nk.fm=function(a){if(!he(this,a)){(1).toString()in this.a&&this.cancel(a);var b=ie(a);this.a[(1).toString()]=a;ke(this.b,\"pointerdown\",b,a)}};k.gm=function(a){if(!he(this,a)){var b=ie(a);ke(this.b,\"pointermove\",b,a)}};k.jm=function(a){if(!he(this,a)){var b=this.a[(1).toString()];b&&b.button===a.button&&(b=ie(a),ke(this.b,\"pointerup\",b,a),delete this.a[(1).toString()])}};k.im=function(a){if(!he(this,a)){var b=ie(a);le(this.b,b,a)}};k.hm=function(a){if(!he(this,a)){var b=ie(a);me(this.b,b,a)}};\nk.cancel=function(a){var b=ie(a);this.b.cancel(b,a);delete this.a[(1).toString()]};function ne(a){fe.call(this,a,{MSPointerDown:this.om,MSPointerMove:this.pm,MSPointerUp:this.sm,MSPointerOut:this.qm,MSPointerOver:this.rm,MSPointerCancel:this.nm,MSGotPointerCapture:this.lm,MSLostPointerCapture:this.mm});this.a=a.i;this.i=[\"\",\"unavailable\",\"touch\",\"pen\",\"mouse\"]}v(ne,fe);function oe(a,b){var c=b;\"number\"===typeof b.pointerType&&(c=je(b,b),c.pointerType=a.i[b.pointerType]);return c}k=ne.prototype;\nk.om=function(a){this.a[a.pointerId.toString()]=a;var b=oe(this,a);ke(this.b,\"pointerdown\",b,a)};k.pm=function(a){var b=oe(this,a);ke(this.b,\"pointermove\",b,a)};k.sm=function(a){var b=oe(this,a);ke(this.b,\"pointerup\",b,a);delete this.a[a.pointerId.toString()]};k.qm=function(a){var b=oe(this,a);me(this.b,b,a)};k.rm=function(a){var b=oe(this,a);le(this.b,b,a)};k.nm=function(a){var b=oe(this,a);this.b.cancel(b,a);delete this.a[a.pointerId.toString()]};\nk.mm=function(a){this.b.b(new pe(\"lostpointercapture\",a,a))};k.lm=function(a){this.b.b(new pe(\"gotpointercapture\",a,a))};function qe(a){fe.call(this,a,{pointerdown:this.ip,pointermove:this.jp,pointerup:this.mp,pointerout:this.kp,pointerover:this.lp,pointercancel:this.hp,gotpointercapture:this.ul,lostpointercapture:this.em})}v(qe,fe);k=qe.prototype;k.ip=function(a){re(this.b,a)};k.jp=function(a){re(this.b,a)};k.mp=function(a){re(this.b,a)};k.kp=function(a){re(this.b,a)};k.lp=function(a){re(this.b,a)};k.hp=function(a){re(this.b,a)};k.em=function(a){re(this.b,a)};k.ul=function(a){re(this.b,a)};function pe(a,b,c){Oc.call(this,a);this.b=b;a=c?c:{};this.buttons=se(a);this.pressure=te(a,this.buttons);this.bubbles=\"bubbles\"in a?a.bubbles:!1;this.cancelable=\"cancelable\"in a?a.cancelable:!1;this.view=\"view\"in a?a.view:null;this.detail=\"detail\"in a?a.detail:null;this.screenX=\"screenX\"in a?a.screenX:0;this.screenY=\"screenY\"in a?a.screenY:0;this.clientX=\"clientX\"in a?a.clientX:0;this.clientY=\"clientY\"in a?a.clientY:0;this.ctrlKey=\"ctrlKey\"in a?a.ctrlKey:!1;this.altKey=\"altKey\"in a?a.altKey:!1;this.shiftKey=\n\"shiftKey\"in a?a.shiftKey:!1;this.metaKey=\"metaKey\"in a?a.metaKey:!1;this.button=\"button\"in a?a.button:0;this.relatedTarget=\"relatedTarget\"in a?a.relatedTarget:null;this.pointerId=\"pointerId\"in a?a.pointerId:0;this.width=\"width\"in a?a.width:0;this.height=\"height\"in a?a.height:0;this.tiltX=\"tiltX\"in a?a.tiltX:0;this.tiltY=\"tiltY\"in a?a.tiltY:0;this.pointerType=\"pointerType\"in a?a.pointerType:\"\";this.isPrimary=\"isPrimary\"in a?a.isPrimary:!1;b.preventDefault&&(this.preventDefault=function(){b.preventDefault()})}\nv(pe,Oc);function se(a){if(a.buttons||ue)a=a.buttons;else switch(a.which){case 1:a=1;break;case 2:a=4;break;case 3:a=2;break;default:a=0}return a}function te(a,b){var c=0;a.pressure?c=a.pressure:c=b?.5:0;return c}var ue=!1;try{ue=1===(new MouseEvent(\"click\",{buttons:1})).buttons}catch(a){};function ve(a,b){fe.call(this,a,{touchstart:this.rq,touchmove:this.qq,touchend:this.pq,touchcancel:this.oq});this.a=a.i;this.j=b;this.i=void 0;this.g=0;this.c=void 0}v(ve,fe);k=ve.prototype;k.ij=function(){this.g=0;this.c=void 0};\nfunction we(a,b,c){b=je(b,c);b.pointerId=c.identifier+2;b.bubbles=!0;b.cancelable=!0;b.detail=a.g;b.button=0;b.buttons=1;b.width=c.webkitRadiusX||c.radiusX||0;b.height=c.webkitRadiusY||c.radiusY||0;b.pressure=c.webkitForce||c.force||.5;b.isPrimary=a.i===c.identifier;b.pointerType=\"touch\";b.clientX=c.clientX;b.clientY=c.clientY;b.screenX=c.screenX;b.screenY=c.screenY;return b}\nfunction xe(a,b,c){function d(){b.preventDefault()}var e=Array.prototype.slice.call(b.changedTouches),f=e.length,g;for(g=0;g=b.length){var e=[],f;for(f=0;fa.D||Math.abs(b.clientY-a.c.clientY)>a.D}k.ka=function(){this.v&&(Ec(this.v),this.v=null);this.l&&(Ec(this.l),this.l=null);this.f.forEach(Ec);this.f.length=0;this.a&&(Nc(this.a),this.a=null);this.g&&(Nc(this.g),this.g=null);Qc.prototype.ka.call(this)};function Ke(a,b){this.l=a;this.c=b;this.b=[];this.i=[];this.a={}}Ke.prototype.clear=function(){this.b.length=0;this.i.length=0;ub(this.a)};function Le(a){var b=a.b,c=a.i,d=b[0];1==b.length?(b.length=0,c.length=0):(b[0]=b.pop(),c[0]=c.pop(),Me(a,0));b=a.c(d);delete a.a[b];return d}Ke.prototype.f=function(a){xa(!(this.c(a)in this.a),31);var b=this.l(a);return Infinity!=b?(this.b.push(a),this.i.push(b),this.a[this.c(a)]=!0,Ne(this,0,this.b.length-1),!0):!1};\nfunction Me(a,b){for(var c=a.b,d=a.i,e=c.length,f=c[b],g=d[b],h=b;b>1;){var l=2*b+1,m=2*b+2,l=mb;){var g=c-1>>1;if(a[g]>f)d[c]=d[g],a[c]=a[g],c=g;else break}d[c]=e;a[c]=f}\nfunction Oe(a){var b=a.l,c=a.b,d=a.i,e=0,f=c.length,g;for(g=0;g>1)-1;0<=b;b--)Me(a,b)};function Pe(a,b){Ke.call(this,function(b){return a.apply(null,b)},function(a){return a[0].bb()});this.v=b;this.j=0;this.g={}}v(Pe,Ke);Pe.prototype.f=function(a){var b=Ke.prototype.f.call(this,a);b&&y(a[0],\"change\",this.o,this);return b};Pe.prototype.o=function(a){a=a.target;var b=a.getState();if(2===b||3===b||4===b||5===b)Kc(a,\"change\",this.o,this),a=a.bb(),a in this.g&&(delete this.g[a],--this.j),this.v()};\nfunction Qe(a,b,c){for(var d=0,e,f;a.je)return 1;if(e>d)return-1}return 0};function Ze(a,b){a[0]+=b[0];a[1]+=b[1];return a}function $e(a,b){var c=b.pd(),d=b.wa();b=d[0];var d=d[1],e=a[0]-b;a=a[1]-d;e||a||(e=1);var f=Math.sqrt(e*e+a*a);return[b+c*e/f,d+c*a/f]}function af(a,b){var c=a[0];a=a[1];var d=b[0],e=b[1];b=d[0];var d=d[1],f=e[0],e=e[1],g=f-b,h=e-d,c=g||h?(g*(c-b)+h*(a-d))/(g*g+h*h||0):0;0>=c?(a=b,c=d):1<=c?(a=f,c=e):(a=b+c*g,c=d+c*h);return[a,c]}\nfunction bf(a,b,c){b=Ia(b+180,360)-180;var d=Math.abs(3600*b);c=c||0;var e=Math.pow(10,c),f=Math.floor(d/3600),g=Math.floor((d-3600*f)/60),d=Math.ceil((d-3600*f-60*g)*e)/e;60<=d&&(d=0,g+=1);60<=g&&(g=0,f+=1);return f+\"\\u00b0 \"+Xe(g)+\"\\u2032 \"+Xe(d,c)+\"\\u2033\"+(b?\" \"+a.charAt(0>b?1:0):\"\")}function cf(a,b,c){return a?b.replace(\"{x}\",a[0].toFixed(c)).replace(\"{y}\",a[1].toFixed(c)):\"\"}function df(a,b){for(var c=!0,d=a.length-1;0<=d;--d)if(a[d]!=b[d]){c=!1;break}return c}\nfunction ef(a,b){var c=Math.cos(b);b=Math.sin(b);var d=a[1]*c+a[0]*b;a[0]=a[0]*c-a[1]*b;a[1]=d;return a}function gf(a,b){a[0]*=b;a[1]*=b}function hf(a,b){var c=a[0]-b[0];a=a[1]-b[1];return c*c+a*a}function jf(a,b){return Math.sqrt(hf(a,b))}function kf(a,b){return hf(a,af(a,b))}function lf(a,b){return cf(a,\"{x}, {y}\",b)};function mf(){return!0}function nf(){return!1};function of(){Tc.call(this);this.l=Oa();this.v=-1;this.f={};this.o=this.g=0}v(of,Tc);k=of.prototype;k.Ab=function(a,b){b=b?b:[NaN,NaN];this.Kb(a[0],a[1],b,Infinity);return b};k.sb=function(a){return this.Mc(a[0],a[1])};k.Mc=nf;k.G=function(a){this.v!=this.i&&(this.l=this.se(this.l),this.v=this.i);var b=this.l;a?(a[0]=b[0],a[1]=b[1],a[2]=b[2],a[3]=b[3]):a=b;return a};k.Rb=function(a){return this.Vd(a*a)};k.tb=function(a,b){this.Dc(ec(a,b));return this};function pf(a,b,c,d,e,f){for(var g=f?f:[],h=0;ba||this.g&&a<=this.g)return this;var b=a.toString();if(this.f.hasOwnProperty(b))return this.f[b];var c=this.hd(a);if(c.ga().lengthe&&(e=f);f=h;g=l}return e}function zf(a,b,c,d,e){var f;var g=0;for(f=c.length;gh){for(;br&&(m=n,r=A)}r>e&&(l[(m-b)/d]=1,q+dga&&Mga)&&(0>z&&baz)||(x[B++]=L,x[B++]=g,E=L,A=g);L=oa;g=ha}}x[B++]=L;x[B++]=g}g=B}h.push(g);b=n}return g};function Jf(a,b){rf.call(this);this.c=this.j=-1;this.ma(a,b)}v(Jf,rf);k=Jf.prototype;k.clone=function(){var a=new Jf(null);Kf(a,this.ja,this.A.slice());return a};k.Kb=function(a,b,c,d){if(df&&0<(m-h)*(f-l)-(e-h)*(n-l)&&g++:n<=f&&0>(m-h)*(f-l)-(e-h)*(n-l)&&g--;h=m;l=n}return!!g}function Nf(a,b,c,d,e,f){if(!c.length||!Mf(a,b,c[0],d,e,f))return!1;var g;b=1;for(g=c.length;bq&&(p=(p+r)/2,Nf(a,b,c,d,p,l)&&(n=p,q=x));p=r}isNaN(n)&&(n=e[f]);return g?(g.push(n,l),g):[n,l]};function Pf(a,b,c,d,e,f){for(var g=[a[b],a[b+1]],h=[],l;b+d=e[0]&&f[2]<=e[2]||f[1]>=e[1]&&f[3]<=e[3]?!0:Pf(a,b,c,d,function(a,b){var c=!1,d=Wa(e,a),f=Wa(e,b);if(1===d||1===f)c=!0;else{var g=e[0],h=e[1],r=e[2],u=e[3],x=b[0];b=b[1];a=(b-a[1])/(x-a[0]);f&2&&!(d&2)&&(c=x-(b-u)/a,c=c>=g&&c<=r);c||!(f&4)||d&4||(c=b-(x-r)*a,c=c>=h&&c<=u);c||!(f&8)||d&8||(c=x-(b-h)/a,c=c>=g&&c<=r);c||!(f&16)||d&16||(c=b-(x-g)*a,c=c>=h&&c<=u)}return c}):!1}\nfunction Rf(a,b,c,d,e){var f=c[0];if(!(Qf(a,b,f,d,e)||Mf(a,b,f,d,e[0],e[1])||Mf(a,b,f,d,e[0],e[3])||Mf(a,b,f,d,e[2],e[1])||Mf(a,b,f,d,e[2],e[3])))return!1;if(1===c.length)return!0;b=1;for(f=c.length;ba||this.c.length<=a)return null;var b=new Jf(null);Kf(b,this.ja,this.A.slice(a?this.c[a-1]:0,this.c[a]));return b};k.Sd=function(){var a=this.ja,b=this.A,c=this.c,d=[],e=0,f;var g=0;for(f=c.length;g=this.f&&a<=this.a){var b=this.l||0;if(this.j){var c=ka(this.j,a,1);b+=c;if(c==this.j.length-1)return b;var d=this.j[c];c=d/this.j[c+1]}else d=this.a,c=this.C;b+=Math.log(d/a)/Math.log(c)}return b};\nk.Qf=function(a,b){b=b||{};var c=b.size;c||(c=gg(this));if(a instanceof rf)if(\"Circle\"===a.U()){a=a.G();var d=Yf(a);d.rotate(this.Qa(),nb(a))}else d=a;else xa(Array.isArray(a),24),xa(!kb(a),25),d=Yf(a);var e=b.padding?b.padding:[0,0,0,0],f=void 0!==b.constrainResolution?b.constrainResolution:!0,g=void 0!==b.nearest?b.nearest:!1,h;void 0!==b.minResolution?h=b.minResolution:void 0!==b.maxZoom?h=this.constrainResolution(this.a,b.maxZoom-this.l,0):h=0;var l=d.ga(),m=this.Qa();a=Math.cos(-m);var m=Math.sin(-m),\nn=Infinity,p=Infinity,q=-Infinity,r=-Infinity;d=d.qa();for(var u=0,x=l.length;ua.b.length)return!1;var b=Date.now()-a.g,c=a.b.length-3;if(a.b[c+2]b;)d-=3;b=a.b[c+2]-a.b[d+2];if(b<1E3/60)return!1;var e=a.b[c]-a.b[d],c=a.b[c+1]-a.b[d+1];a.i=Math.atan2(c,e);a.a=Math.sqrt(e*e+c*c)/b;return a.a>a.c};function ng(a){Tc.call(this);this.v=null;this.Ha(!0);this.handleEvent=a.handleEvent}v(ng,Tc);ng.prototype.c=function(){return this.get(\"active\")};ng.prototype.f=function(){return this.v};ng.prototype.Ha=function(a){this.set(\"active\",a)};ng.prototype.setMap=function(a){this.v=a};function og(a,b,c,d){if(void 0!==b){var e=a.Qa(),f=a.wa();void 0!==e&&f&&0=this.u}function Tg(a){if(Bg(a)){var b=this.a,c=a.pixel;b.c=this.g;b.i=c;Qg(b);Pg(b);this.b(new Wg(Xg,a.coordinate,a))}}Rg.prototype.V=function(){return this.a.V()};\nRg.prototype.j=ua;function Ug(a){if(!Bg(a))return!0;this.a.setMap(null);this.l(a,this.g,a.pixel)&&(this.j(a),this.b(new Wg(Yg,a.coordinate,a)));return!1}function Sg(a){if(Bg(a)&&ug(a)&&this.C(a)){this.g=a.pixel;this.a.setMap(a.map);var b=this.a,c=this.g;b.c=this.g;b.i=c;Qg(b);Pg(b);this.b(new Wg(Zg,a.coordinate,a));return!0}return!1}var Zg=\"boxstart\",Xg=\"boxdrag\",Yg=\"boxend\";function Wg(a,b,c){Oc.call(this,a);this.coordinate=b;this.mapBrowserEvent=c}v(Wg,Oc);function $g(a){a=a?a:{};var b=a.condition?a.condition:yg;this.B=void 0!==a.duration?a.duration:200;this.I=void 0!==a.out?a.out:!1;Rg.call(this,{condition:b,className:a.className||\"ol-dragzoom\"})}v($g,Rg);\n$g.prototype.j=function(){var a=this.v,b=a.Z(),c=a.Ob(),d=this.V().G();if(this.I){var e=b.dd(c),d=[a.Ja(eb(d)),a.Ja(hb(d))],a=Ya(void 0),f;var g=0;for(f=d.length;gMath.abs(d)?gh:hh;if(this.o===gh){b=b.Z();this.l?clearTimeout(this.l):\ncg(b,1,1);this.l=setTimeout(this.B.bind(this),400);var c=b.Pa()*Math.pow(2,d/300),e=b.f,f=b.a,g=0;cf&&(c=Math.min(c,1.5*f),g=-1);if(this.a){var h=eg(b,c,this.a);b.ob(b.Ec(h))}b.Vc(c);!g&&this.R&&b.animate({resolution:b.constrainResolution(c,0g&&b.animate({resolution:f,easing:rd,anchor:this.a,duration:500});this.g=a;return!1}this.j+=d;d=Math.max(this.na-\n(a-this.g),0);clearTimeout(this.u);this.u=setTimeout(this.I.bind(this,b),d);return!1}eh.prototype.B=function(){this.l=void 0;cg(this.v.Z(),1,-1)};eh.prototype.I=function(a){a=a.Z();a.Ic()&&a.ed();pg(a,-Ca(this.j,-1,1),this.a,this.D);this.o=void 0;this.j=0;this.a=null;this.u=this.g=void 0};eh.prototype.T=function(a){this.C=a;a||(this.a=null)};var gh=\"trackpad\",hh=\"wheel\";function ih(a){Dg.call(this,{handleDownEvent:jh,handleDragEvent:kh,handleUpEvent:lh});a=a||{};this.g=null;this.j=void 0;this.a=!1;this.l=0;this.C=void 0!==a.threshold?a.threshold:.3;this.u=void 0!==a.duration?a.duration:250}v(ih,Dg);\nfunction kh(a){var b=0,c=this.o[0],d=this.o[1],c=Math.atan2(d.clientY-c.clientY,d.clientX-c.clientX);void 0!==this.j&&(b=c-this.j,this.l+=b,!this.a&&Math.abs(this.l)>this.C&&(this.a=!0));this.j=c;a=a.map;c=a.Z();if(c.g.rotation!==Te){var d=a.a.getBoundingClientRect(),e=Fg(this.o);e[0]-=d.left;e[1]-=d.top;this.g=a.Wa(e);this.a&&(d=c.Qa(),a.render(),og(c,d+b,this.g))}}\nfunction lh(a){if(2>this.o.length){a=a.map.Z();cg(a,1,-1);if(this.a){var b=a.Qa(),c=this.g,d=this.u,b=a.constrainRotation(b,0);og(a,b,c,d)}return!1}return!0}function jh(a){return 2<=this.o.length?(a=a.map,this.g=null,this.j=void 0,this.a=!1,this.l=0,this.D||cg(a.Z(),1,1),!0):!1}ih.prototype.Xc=nf;function mh(a){Dg.call(this,{handleDownEvent:nh,handleDragEvent:oh,handleUpEvent:ph});a=a?a:{};this.l=a.constrainResolution||!1;this.g=null;this.u=void 0!==a.duration?a.duration:400;this.a=void 0;this.j=1}v(mh,Dg);\nfunction oh(a){var b=1,c=this.o[0],d=this.o[1],e=c.clientX-d.clientX,c=c.clientY-d.clientY,e=Math.sqrt(e*e+c*c);void 0!==this.a&&(b=this.a/e);this.a=e;a=a.map;var e=a.Z(),d=e.Pa(),f=e.a,g=e.f,c=d*b;c>f?(b=f/d,c=f):cthis.o.length){a=a.map.Z();cg(a,1,-1);var b=a.Pa();if(this.l||ba.a){var c=this.g,d=this.u,b=a.constrainResolution(b,0,this.j-1);qg(a,b,c,d)}return!1}return!0}function nh(a){return 2<=this.o.length?(a=a.map,this.g=null,this.a=void 0,this.j=1,this.D||cg(a.Z(),1,1),!0):!1}mh.prototype.Xc=nf;function qh(a){a=a?a:{};var b=new Yc,c=new kg(-.005,.05,100);(void 0!==a.altShiftDragRotate?a.altShiftDragRotate:1)&&b.push(new Kg);(void 0!==a.doubleClickZoom?a.doubleClickZoom:1)&&b.push(new rg({delta:a.zoomDelta,duration:a.zoomDuration}));(void 0!==a.dragPan?a.dragPan:1)&&b.push(new Gg({kinetic:c}));(void 0!==a.pinchRotate?a.pinchRotate:1)&&b.push(new ih);(void 0!==a.pinchZoom?a.pinchZoom:1)&&b.push(new mh({constrainResolution:a.constrainResolution,duration:a.zoomDuration}));if(void 0!==a.keyboard?\na.keyboard:1)b.push(new ah),b.push(new ch({delta:a.zoomDelta,duration:a.zoomDuration}));(void 0!==a.mouseWheelZoom?a.mouseWheelZoom:1)&&b.push(new eh({constrainResolution:a.constrainResolution,duration:a.zoomDuration}));(void 0!==a.shiftDragZoom?a.shiftDragZoom:1)&&b.push(new $g({duration:a.zoomDuration}));return b};function sh(a){Tc.call(this);var b=tb({},a);b.opacity=void 0!==a.opacity?a.opacity:1;b.visible=void 0!==a.visible?a.visible:!0;b.zIndex=void 0!==a.zIndex?a.zIndex:0;b.maxResolution=void 0!==a.maxResolution?a.maxResolution:Infinity;b.minResolution=void 0!==a.minResolution?a.minResolution:0;this.H(b);this.a={layer:this,Je:!0}}v(sh,Tc);\nfunction th(a){a.a.opacity=Ca(a.hc(),0,1);a.a.yj=a.$f();a.a.visible=a.Mb();a.a.extent=a.G();a.a.zIndex=a.Ba();a.a.maxResolution=a.fc();a.a.minResolution=Math.max(a.gc(),0);return a.a}k=sh.prototype;k.G=function(){return this.get(\"extent\")};k.fc=function(){return this.get(\"maxResolution\")};k.gc=function(){return this.get(\"minResolution\")};k.hc=function(){return this.get(\"opacity\")};k.Mb=function(){return this.get(\"visible\")};k.Ba=function(){return this.get(\"zIndex\")};\nk.vc=function(a){this.set(\"extent\",a)};k.Ac=function(a){this.set(\"maxResolution\",a)};k.Bc=function(a){this.set(\"minResolution\",a)};k.wc=function(a){this.set(\"opacity\",a)};k.xc=function(a){this.set(\"visible\",a)};k.Vb=function(a){this.set(\"zIndex\",a)};function uh(a){var b=a||{};a=tb({},b);delete a.layers;b=b.layers;sh.call(this,a);this.f=[];this.c={};y(this,Vc(vh),this.Hl,this);b?Array.isArray(b)?b=new Yc(b.slice(),{unique:!0}):xa(b instanceof Yc,43):b=new Yc(void 0,{unique:!0});this.xi(b)}v(uh,sh);k=uh.prototype;k.Fd=function(){};k.Fe=function(){this.Mb()&&this.s()};\nk.Hl=function(){this.f.forEach(Ec);this.f.length=0;var a=this.qd();this.f.push(y(a,\"add\",this.Gl,this),y(a,\"remove\",this.Il,this));for(var b in this.c)this.c[b].forEach(Ec);ub(this.c);var a=a.a,c;b=0;for(c=a.length;b=a.minResolution&&bp[2])m=[r+q*Math.ceil((p[0]-r)/q),a[1]]}p=b.layerStatesArray;for(q=p.length-1;0<=q;--q){var u=p[q],r=u.layer;if(xh(u,n)&&f.call(g,r)&&(u=Ph(this,r),r.ha()&&(l=u.Ea(r.ha().u?m:a,b,c,h,e)),l))return l}};\nk.Ei=function(a,b,c,d,e){return void 0!==this.Ea(a,b,c,mf,this,d,e)};function Ph(a,b){var c=w(b).toString();if(c in a.c)return a.c[c];b=b.Fd(a);a.c[c]=b;a.v[c]=y(b,\"change\",a.Fl,a);return b}k.Fl=function(){this.o.render()};k.Jg=ua;k.Rp=function(a,b){for(var c in this.c)if(!(b&&c in b.layerStates)){a=c;var d=this.c[a];delete this.c[a];Ec(this.v[a]);delete this.v[a];Nc(d)}};function Qh(a,b){for(var c in a.c)if(!(c in b.layerStates)){b.postRenderFunctions.push(a.Rp.bind(a));break}}\nfunction ra(a,b){return a.zIndex-b.zIndex};function Rh(a,b,c,d,e){Oc.call(this,a);this.vectorContext=b;this.frameState=c;this.context=d;this.glContext=e}v(Rh,Oc);var Sh=[0,0,0,1],Th=[],Uh=[0,0,0,1];function Vh(a,b,c,d){b&&(a.translate(c,d),a.rotate(b),a.translate(-c,-d))};function Wh(){}k=Wh.prototype;k.zb=function(){};k.rd=function(){};k.Zb=function(){};k.te=function(){};k.ue=function(){};k.mc=function(){};k.nc=function(){};k.oc=function(){};k.pc=function(){};k.qc=function(){};k.rc=function(){};k.yc=function(){};k.Ma=function(){};k.Ub=function(){};k.Cb=function(){};function Xh(a,b,c,d,e){this.i=a;this.u=b;this.c=c;this.S=d;this.Yb=e;this.M=this.b=this.a=this.Ua=this.R=this.I=null;this.na=this.T=this.l=this.B=this.C=this.D=0;this.fa=!1;this.f=this.fb=0;this.pa=!1;this.oa=0;this.Ia=\"\";this.va=this.Jb=0;this.Sa=!1;this.j=this.$a=0;this.ra=this.o=this.g=null;this.v=[];this.xb=Bh()}v(Xh,Wh);\nfunction Yh(a,b,c){if(a.M){b=pf(b,0,c,2,a.S,a.v);c=a.i;var d=a.xb,e=c.globalAlpha;1!=a.l&&(c.globalAlpha=e*a.l);var f=a.fb;a.fa&&(f+=a.Yb);var g;var h=0;for(g=b.length;hradius+c){if(o.a==0.0){gl_FragColor=n;}else{gl_FragColor=o;}gl_FragColor.a=gl_FragColor.a-(dist-(radius+c));}else if(n.a==0.0){gl_FragColor=o;if(diststrokeDist){gl_FragColor=o;}else if(dist>=strokeDist-antialias){float step=smoothstep(strokeDist-antialias,strokeDist,dist);gl_FragColor=mix(n,o,step);}} gl_FragColor.a=gl_FragColor.a*m;if(gl_FragColor.a<=0.0){discard;}}\"}\nv(oi,mi);var pi=new oi;\nfunction qi(){this.b=\"varying vec2 a;varying vec2 b;varying float c;varying float d;attribute vec2 e;attribute float f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;uniform float k;uniform float l;void main(void){mat4 offsetMatrix=i*j;a=vec4(h*vec4(e,0.0,1.0)).xy;d=l;float lineWidth=k*l;c=lineWidth/2.0;if(lineWidth==0.0){lineWidth=2.0*l;}vec2 offset;float radius=g+3.0*l;if(f==0.0){offset=vec2(-1.0,1.0);}else if(f==1.0){offset=vec2(-1.0,-1.0);}else if(f==2.0){offset=vec2(1.0,-1.0);}else{offset=vec2(1.0,1.0);}gl_Position=h*vec4(e+offset*radius,0.0,1.0)+offsetMatrix*vec4(offset*lineWidth,0.0,0.0);b=vec4(h*vec4(e.x+g,e.y,0.0,1.0)).xy;if(distance(a,b)>20000.0){gl_Position=vec4(a,0.0,1.0);}}\"}\nv(qi,ni);var ri=new qi;function si(a,b){this.B=a.getUniformLocation(b,\"n\");this.oa=a.getUniformLocation(b,\"k\");this.c=a.getUniformLocation(b,\"j\");this.f=a.getUniformLocation(b,\"i\");this.a=a.getUniformLocation(b,\"m\");this.ra=a.getUniformLocation(b,\"l\");this.i=a.getUniformLocation(b,\"h\");this.I=a.getUniformLocation(b,\"p\");this.R=a.getUniformLocation(b,\"o\");this.j=a.getAttribLocation(b,\"f\");this.b=a.getAttribLocation(b,\"e\");this.S=a.getAttribLocation(b,\"g\")};function ti(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function ui(a,b){a[0]=b[0];a[1]=b[1];a[4]=b[2];a[5]=b[3];a[12]=b[4];a[13]=b[5];return a};function vi(a,b){this.origin=nb(b);this.xb=Bh();this.Sa=Bh();this.$a=Bh();this.Jb=ti();this.b=[];this.o=null;this.i=[];this.f=[];this.a=[];this.l=null;this.g=void 0}v(vi,Wh);\nvi.prototype.La=function(a,b,c,d,e,f,g,h,l,m,n){var p=a.b;if(this.g){var q=p.isEnabled(p.STENCIL_TEST);var r=p.getParameter(p.STENCIL_FUNC);var u=p.getParameter(p.STENCIL_VALUE_MASK);var x=p.getParameter(p.STENCIL_REF);var B=p.getParameter(p.STENCIL_WRITEMASK);var E=p.getParameter(p.STENCIL_FAIL);var A=p.getParameter(p.STENCIL_PASS_DEPTH_PASS);var L=p.getParameter(p.STENCIL_PASS_DEPTH_FAIL);p.enable(p.STENCIL_TEST);p.clear(p.STENCIL_BUFFER_BIT);p.stencilMask(255);p.stencilFunc(p.ALWAYS,1,255);p.stencilOp(p.KEEP,\np.KEEP,p.REPLACE);this.g.La(a,b,c,d,e,f,g,h,l,m,n);p.stencilMask(0);p.stencilFunc(p.NOTEQUAL,1,255)}wi(a,34962,this.l);wi(a,34963,this.o);f=this.rf(p,a,e,f);var oa=Ch(this.xb);Ih(oa,2/(c*e[0]),2/(c*e[1]));Hh(oa,-d);Jh(oa,-(b[0]-this.origin[0]),-(b[1]-this.origin[1]));b=Ch(this.$a);Ih(b,2/e[0],2/e[1]);e=Ch(this.Sa);d&&Hh(e,-d);p.uniformMatrix4fv(f.i,!1,ui(this.Jb,oa));p.uniformMatrix4fv(f.f,!1,ui(this.Jb,b));p.uniformMatrix4fv(f.c,!1,ui(this.Jb,e));p.uniform1f(f.a,g);if(l){m?a=this.ve(p,a,h,l,n):(p.clear(p.COLOR_BUFFER_BIT|\np.DEPTH_BUFFER_BIT),this.Od(p,a,h,!0),a=(a=l(null))?a:void 0);var ha=a}else this.Od(p,a,h,!1);this.sf(p,f);this.g&&(q||p.disable(p.STENCIL_TEST),p.clear(p.STENCIL_BUFFER_BIT),p.stencilFunc(r,x,u),p.stencilMask(B),p.stencilOp(E,L,A));return ha};function xi(a,b,c,d){a.drawElements(4,d-c,b.g?5125:5123,c*(b.g?4:2))};var yi=[0,0,0,1],zi=[],Ai=[0,0,0,1];function Bi(a,b,c,d,e,f){a=(c-a)*(f-b)-(e-a)*(d-b);return a<=Ci&&a>=-Ci?void 0:0f;f+=d)this.a[b++]=a[f],this.a[b++]=a[f+1],this.a[b++]=0,this.a[b++]=this.S,this.a[b++]=a[f],this.a[b++]=a[f+1],this.a[b++]=1,this.a[b++]=this.S,this.a[b++]=a[f],this.a[b++]=a[f+1],this.a[b++]=2,this.a[b++]=this.S,this.a[b++]=a[f],this.a[b++]=\na[f+1],this.a[b++]=3,this.a[b++]=this.S,this.b[c++]=e,this.b[c++]=e+1,this.b[c++]=e+2,this.b[c++]=e+2,this.b[c++]=e+3,this.b[c++]=e,e+=4}else this.c.s&&(this.j.pop(),this.j.length&&(d=this.j[this.j.length-1],this.c.fillColor=d[0],this.c.strokeColor=d[1],this.c.lineWidth=d[2],this.c.s=!1))};k.Db=function(){this.l=new Di(this.a);this.o=new Di(this.b);this.i.push(this.b.length);!this.u.length&&0=h;){var l=this.i[g];var m=this.f[g];m=w(m).toString();c[m]&&(d!==f&&xi(a,b,d,f),f=l);g--;d=l}d!==f&&xi(a,b,d,f);d=f=h}}};\nk.ve=function(a,b,c,d,e){var f,g;var h=this.i.length-2;var l=this.i[h+1];for(f=this.u.length-1;0<=f;--f){var m=this.j[f];a.uniform4fv(this.v.B,m[0]);Ii(this,a,m[1],m[2]);for(g=this.u[f];0<=h&&this.i[h]>=g;){m=this.i[h];var n=this.f[h];var p=w(n).toString();if(void 0===c[p]&&n.V()&&(void 0===e||qb(e,n.V().G()))&&(a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT),xi(a,b,m,l),l=d(n)))return l;h--;l=m}}};function Ii(a,b,c,d){b.uniform4fv(a.v.R,c);b.uniform1f(a.v.oa,d)}\nk.Ma=function(a,b){if(b){var c=b.i;this.c.lineDash=c?c:zi;c=b.g;this.c.lineDashOffset=c?c:0;c=b.a;c instanceof CanvasGradient||c instanceof CanvasPattern?c=Ai:c=ed(c).map(function(a,b){return 3!=b?a/255:a})||Ai;b=b.c;b=void 0!==b?b:1}else c=[0,0,0,0],b=0;a=a?a.b:[0,0,0,0];a instanceof CanvasGradient||a instanceof CanvasPattern?a=yi:a=ed(a).map(function(a,b){return 3!=b?a/255:a})||yi;this.c.strokeColor&&pa(this.c.strokeColor,c)&&this.c.fillColor&&pa(this.c.fillColor,a)&&this.c.lineWidth===b||(this.c.s=\n!0,this.c.fillColor=a,this.c.strokeColor=c,this.c.lineWidth=b,this.j.push([a,c,b]))};function Ji(){this.b=\"precision mediump float;varying vec2 a;varying float b;uniform float k;uniform sampler2D l;void main(void){vec4 texColor=texture2D(l,a);gl_FragColor.rgb=texColor.rgb;float alpha=texColor.a*b*k;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}\"}v(Ji,mi);var Ki=new Ji;\nfunction Li(){this.b=\"varying vec2 a;varying float b;attribute vec2 c;attribute vec2 d;attribute vec2 e;attribute float f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;void main(void){mat4 offsetMatrix=i;if(g==1.0){offsetMatrix=i*j;}vec4 offsets=offsetMatrix*vec4(e,0.0,0.0);gl_Position=h*vec4(c,0.0,1.0)+offsets;a=d;b=f;}\"}v(Li,ni);var Mi=new Li;\nfunction Ni(a,b){this.c=a.getUniformLocation(b,\"j\");this.f=a.getUniformLocation(b,\"i\");this.a=a.getUniformLocation(b,\"k\");this.i=a.getUniformLocation(b,\"h\");this.v=a.getAttribLocation(b,\"e\");this.u=a.getAttribLocation(b,\"f\");this.b=a.getAttribLocation(b,\"c\");this.D=a.getAttribLocation(b,\"g\");this.C=a.getAttribLocation(b,\"d\")};function Oi(a,b){this.j=a;this.b=b;this.a={};this.c={};this.i={};this.l=this.v=this.f=this.o=null;(this.g=ja(fa,\"OES_element_index_uint\"))&&b.getExtension(\"OES_element_index_uint\");y(this.j,\"webglcontextlost\",this.Xo,this);y(this.j,\"webglcontextrestored\",this.Yo,this)}v(Oi,Mc);\nfunction wi(a,b,c){var d=a.b,e=c.b,f=String(w(c));if(f in a.a)d.bindBuffer(b,a.a[f].buffer);else{var g=d.createBuffer();d.bindBuffer(b,g);var h;34962==b?h=new Float32Array(e):34963==b&&(h=a.g?new Uint32Array(e):new Uint16Array(e));d.bufferData(b,h,c.a);a.a[f]={lc:c,buffer:g}}}function Gi(a,b){var c=a.b;b=String(w(b));var d=a.a[b];c.isContextLost()||c.deleteBuffer(d.buffer);delete a.a[b]}k=Oi.prototype;\nk.ka=function(){Lc(this.j);var a=this.b;if(!a.isContextLost()){for(var b in this.a)a.deleteBuffer(this.a[b].buffer);for(b in this.i)a.deleteProgram(this.i[b]);for(b in this.c)a.deleteShader(this.c[b]);a.deleteFramebuffer(this.f);a.deleteRenderbuffer(this.l);a.deleteTexture(this.v)}};k.Wo=function(){return this.b};\nfunction Pi(a){if(!a.f){var b=a.b,c=b.createFramebuffer();b.bindFramebuffer(b.FRAMEBUFFER,c);var d=Qi(b,1,1),e=b.createRenderbuffer();b.bindRenderbuffer(b.RENDERBUFFER,e);b.renderbufferStorage(b.RENDERBUFFER,b.DEPTH_COMPONENT16,1,1);b.framebufferTexture2D(b.FRAMEBUFFER,b.COLOR_ATTACHMENT0,b.TEXTURE_2D,d,0);b.framebufferRenderbuffer(b.FRAMEBUFFER,b.DEPTH_ATTACHMENT,b.RENDERBUFFER,e);b.bindTexture(b.TEXTURE_2D,null);b.bindRenderbuffer(b.RENDERBUFFER,null);b.bindFramebuffer(b.FRAMEBUFFER,null);a.f=c;\na.v=d;a.l=e}return a.f}function Ri(a,b){var c=String(w(b));if(c in a.c)return a.c[c];var d=a.b,e=d.createShader(b.U());d.shaderSource(e,b.b);d.compileShader(e);return a.c[c]=e}function Hi(a,b,c){var d=w(b)+\"/\"+w(c);if(d in a.i)return a.i[d];var e=a.b,f=e.createProgram();e.attachShader(f,Ri(a,b));e.attachShader(f,Ri(a,c));e.linkProgram(f);return a.i[d]=f}k.Xo=function(){ub(this.a);ub(this.c);ub(this.i);this.l=this.v=this.f=this.o=null};k.Yo=function(){};\nk.Qc=function(a){if(a==this.o)return!1;this.b.useProgram(a);this.o=a;return!0};function Si(a,b,c){var d=a.createTexture();a.bindTexture(a.TEXTURE_2D,d);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR);void 0!==b&&a.texParameteri(3553,10242,b);void 0!==c&&a.texParameteri(3553,10243,c);return d}function Qi(a,b,c){var d=Si(a,void 0,void 0);a.texImage2D(a.TEXTURE_2D,0,a.RGBA,b,c,0,a.RGBA,a.UNSIGNED_BYTE,null);return d}\nfunction Ti(a,b){var c=Si(a,33071,33071);a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,b);return c};function Ui(a,b){vi.call(this,0,b);this.C=this.D=void 0;this.S=[];this.v=[];this.oa=void 0;this.j=[];this.c=[];this.I=this.ra=void 0;this.B=null;this.fb=this.fa=this.na=this.T=this.Ua=this.R=void 0;this.va=[];this.u=[];this.pa=void 0}v(Ui,vi);k=Ui.prototype;k.Eb=function(a){var b=this.l,c=this.o,d=this.va,e=this.u,f=a.b;return function(){if(!f.isContextLost()){var g;var h=0;for(g=d.length;h=l;){var m=this.i[h];var n=this.f[h];var p=w(n).toString();if(void 0===c[p]&&n.V()&&(void 0===e||qb(e,n.V().G()))&&(a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT),xi(a,b,m,g),g=d(n)))return g;g=m;h--}}};\nk.Ub=function(a){var b=a.Hc(),c=a.Y(1),d=a.ye(),e=a.qg(1),f=a.f,g=a.Oc(),h=a.l,l=a.g,m=a.ic();a=a.a;if(this.j.length){var n=this.j[this.j.length-1];w(n)!=w(c)&&(this.S.push(this.b.length),this.j.push(c))}else this.j.push(c);this.c.length?(n=this.c[this.c.length-1],w(n)!=w(e)&&(this.v.push(this.b.length),this.c.push(e))):this.c.push(e);this.D=b[0];this.C=b[1];this.oa=m[1];this.ra=d[1];this.I=d[0];this.R=f;this.Ua=g[0];this.T=g[1];this.fa=l;this.na=h;this.fb=a;this.pa=m[0]};function Xi(a,b,c){var d=b-c;return a[0]===a[d]&&a[1]===a[d+1]&&3<(b-0)/c?!!vf(a,0,b,c):!1};function Yi(){this.b=\"precision mediump float;varying float a;varying vec2 b;varying float c;uniform float m;uniform vec4 n;uniform vec2 o;uniform float p;void main(void){if(a>0.0){vec2 windowCoords=vec2((b.x+1.0)/2.0*o.x*p,(b.y+1.0)/2.0*o.y*p);if(length(windowCoords-gl_FragCoord.xy)>c*p){discard;}} gl_FragColor=n;float alpha=n.a*m;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}\"}v(Yi,mi);var Zi=new Yi;\nfunction $i(){this.b=\"varying float a;varying vec2 b;varying float c;attribute vec2 d;attribute vec2 e;attribute vec2 f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;uniform float k;uniform float l;bool nearlyEquals(in float value,in float ref){float epsilon=0.000000000001;return value>=ref-epsilon&&value<=ref+epsilon;}void alongNormal(out vec2 offset,in vec2 nextP,in float turnDir,in float direction){vec2 dirVect=nextP-e;vec2 normal=normalize(vec2(-turnDir*dirVect.y,turnDir*dirVect.x));offset=k/2.0*normal*direction;}void miterUp(out vec2 offset,out float round,in bool isRound,in float direction){float halfWidth=k/2.0;vec2 tangent=normalize(normalize(f-e)+normalize(e-d));vec2 normal=vec2(-tangent.y,tangent.x);vec2 dirVect=f-e;vec2 tmpNormal=normalize(vec2(-dirVect.y,dirVect.x));float miterLength=abs(halfWidth/dot(normal,tmpNormal));offset=normal*direction*miterLength;round=0.0;if(isRound){round=1.0;}else if(miterLength>l+k){offset=halfWidth*tmpNormal*direction;}} bool miterDown(out vec2 offset,in vec4 projPos,in mat4 offsetMatrix,in float direction){bool degenerate=false;vec2 tangent=normalize(normalize(f-e)+normalize(e-d));vec2 normal=vec2(-tangent.y,tangent.x);vec2 dirVect=d-e;vec2 tmpNormal=normalize(vec2(-dirVect.y,dirVect.x));vec2 longOffset,shortOffset,longVertex;vec4 shortProjVertex;float halfWidth=k/2.0;if(length(f-e)>length(d-e)){longOffset=tmpNormal*direction*halfWidth;shortOffset=normalize(vec2(dirVect.y,-dirVect.x))*direction*halfWidth;longVertex=f;shortProjVertex=h*vec4(d,0.0,1.0);}else{shortOffset=tmpNormal*direction*halfWidth;longOffset=normalize(vec2(dirVect.y,-dirVect.x))*direction*halfWidth;longVertex=d;shortProjVertex=h*vec4(f,0.0,1.0);}vec4 p1=h*vec4(longVertex,0.0,1.0)+offsetMatrix*vec4(longOffset,0.0,0.0);vec4 p2=projPos+offsetMatrix*vec4(longOffset,0.0,0.0);vec4 p3=shortProjVertex+offsetMatrix*vec4(-shortOffset,0.0,0.0);vec4 p4=shortProjVertex+offsetMatrix*vec4(shortOffset,0.0,0.0);float denom=(p4.y-p3.y)*(p2.x-p1.x)-(p4.x-p3.x)*(p2.y-p1.y);float firstU=((p4.x-p3.x)*(p1.y-p3.y)-(p4.y-p3.y)*(p1.x-p3.x))/denom;float secondU=((p2.x-p1.x)*(p1.y-p3.y)-(p2.y-p1.y)*(p1.x-p3.x))/denom;float epsilon=0.000000000001;if(firstU>epsilon&&firstU<1.0-epsilon&&secondU>epsilon&&secondU<1.0-epsilon){shortProjVertex.x=p1.x+firstU*(p2.x-p1.x);shortProjVertex.y=p1.y+firstU*(p2.y-p1.y);offset=shortProjVertex.xy;degenerate=true;}else{float miterLength=abs(halfWidth/dot(normal,tmpNormal));offset=normal*direction*miterLength;}return degenerate;}void squareCap(out vec2 offset,out float round,in bool isRound,in vec2 nextP,in float turnDir,in float direction){round=0.0;vec2 dirVect=e-nextP;vec2 firstNormal=normalize(dirVect);vec2 secondNormal=vec2(turnDir*firstNormal.y*direction,-turnDir*firstNormal.x*direction);vec2 hypotenuse=normalize(firstNormal-secondNormal);vec2 normal=vec2(turnDir*hypotenuse.y*direction,-turnDir*hypotenuse.x*direction);float length=sqrt(c*c*2.0);offset=normal*length;if(isRound){round=1.0;}} void main(void){bool degenerate=false;float direction=float(sign(g));mat4 offsetMatrix=i*j;vec2 offset;vec4 projPos=h*vec4(e,0.0,1.0);bool round=nearlyEquals(mod(g,2.0),0.0);a=0.0;c=k/2.0;b=projPos.xy;if(nearlyEquals(mod(g,3.0),0.0)||nearlyEquals(mod(g,17.0),0.0)){alongNormal(offset,f,1.0,direction);}else if(nearlyEquals(mod(g,5.0),0.0)||nearlyEquals(mod(g,13.0),0.0)){alongNormal(offset,d,-1.0,direction);}else if(nearlyEquals(mod(g,23.0),0.0)){miterUp(offset,a,round,direction);}else if(nearlyEquals(mod(g,19.0),0.0)){degenerate=miterDown(offset,projPos,offsetMatrix,direction);}else if(nearlyEquals(mod(g,7.0),0.0)){squareCap(offset,a,round,f,1.0,direction);}else if(nearlyEquals(mod(g,11.0),0.0)){squareCap(offset,a,round,d,-1.0,direction);}if(!degenerate){vec4 offsets=offsetMatrix*vec4(offset,0.0,0.0);gl_Position=projPos+offsets;}else{gl_Position=vec4(offset,0.0,1.0);}}\"}\nv($i,ni);var aj=new $i;function bj(a,b){this.B=a.getUniformLocation(b,\"n\");this.oa=a.getUniformLocation(b,\"k\");this.R=a.getUniformLocation(b,\"l\");this.c=a.getUniformLocation(b,\"j\");this.f=a.getUniformLocation(b,\"i\");this.a=a.getUniformLocation(b,\"m\");this.ra=a.getUniformLocation(b,\"p\");this.i=a.getUniformLocation(b,\"h\");this.I=a.getUniformLocation(b,\"o\");this.g=a.getAttribLocation(b,\"g\");this.o=a.getAttribLocation(b,\"d\");this.l=a.getAttribLocation(b,\"f\");this.b=a.getAttribLocation(b,\"e\")};function cj(a,b){vi.call(this,0,b);this.v=null;this.u=[];this.j=[];this.c={strokeColor:null,lineCap:void 0,lineDash:null,lineDashOffset:void 0,lineJoin:void 0,lineWidth:void 0,miterLimit:void 0,s:!1}}v(cj,vi);\nfunction dj(a,b,c,d){var e,f=a.a.length,g=a.b.length,h=\"bevel\"===a.c.lineJoin?0:\"miter\"===a.c.lineJoin?1:2,l=\"butt\"===a.c.lineCap?0:\"square\"===a.c.lineCap?1:2,m=Xi(b,c,d),n=g,p=1;for(e=0;ec&&(this.i.push(c),this.f.push(b),this.c.s&&(this.j.push(c),this.c.s=!1))};\nfunction oj(a,b,c,d){Xi(b,b.length,d)||(b.push(b[0]),b.push(b[1]));dj(a,b,b.length,d);if(c.length){var e;b=0;for(e=c.length;b=n;){var p=this.i[m];\nvar q=this.f[m];q=w(q).toString();c[q]&&(g!==l&&(xi(a,b,g,l),a.clear(a.DEPTH_BUFFER_BIT)),l=p);m--;g=p}g!==l&&(xi(a,b,g,l),a.clear(a.DEPTH_BUFFER_BIT));g=l=n}}d||(a.disable(a.DEPTH_TEST),a.clear(a.DEPTH_BUFFER_BIT),a.depthMask(f),a.depthFunc(e))};\nk.ve=function(a,b,c,d,e){var f,g;var h=this.i.length-2;var l=this.i[h+1];for(f=this.j.length-1;0<=f;--f){var m=this.u[f];qj(this,a,m[0],m[1],m[2]);for(g=this.j[f];0<=h&&this.i[h]>=g;){m=this.i[h];var n=this.f[h];var p=w(n).toString();if(void 0===c[p]&&n.V()&&(void 0===e||qb(e,n.V().G()))&&(a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT),xi(a,b,m,l),l=d(n)))return l;h--;l=m}}};function qj(a,b,c,d,e){b.uniform4fv(a.v.B,c);b.uniform1f(a.v.oa,d);b.uniform1f(a.v.R,e)}\nk.Ma=function(a,b){a=b.f;this.c.lineCap=void 0!==a?a:\"round\";a=b.i;this.c.lineDash=a?a:zi;a=b.g;this.c.lineDashOffset=a?a:0;a=b.j;this.c.lineJoin=void 0!==a?a:\"round\";a=b.a;a instanceof CanvasGradient||a instanceof CanvasPattern?a=Ai:a=ed(a).map(function(a,b){return 3!=b?a/255:a})||Ai;var c=b.c,c=void 0!==c?c:1;b=b.o;b=void 0!==b?b:10;this.c.strokeColor&&pa(this.c.strokeColor,a)&&this.c.lineWidth===c&&this.c.miterLimit===b||(this.c.s=!0,this.c.strokeColor=a,this.c.lineWidth=c,this.c.miterLimit=b,\nthis.u.push([a,c,b]))};var ij=3,fj=5,hj=7,gj=11,jj=13,kj=17,lj=19,mj=23;function rj(){this.b=\"precision mediump float;uniform vec4 e;uniform float f;void main(void){gl_FragColor=e;float alpha=e.a*f;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}\"}v(rj,mi);var sj=new rj;function tj(){this.b=\"attribute vec2 a;uniform mat4 b;uniform mat4 c;uniform mat4 d;void main(void){gl_Position=b*vec4(a,0.0,1.0);}\"}v(tj,ni);var uj=new tj;\nfunction vj(a,b){this.B=a.getUniformLocation(b,\"e\");this.c=a.getUniformLocation(b,\"d\");this.f=a.getUniformLocation(b,\"c\");this.a=a.getUniformLocation(b,\"f\");this.i=a.getUniformLocation(b,\"b\");this.b=a.getAttribLocation(b,\"a\")};function wj(a){a=a||{};this.a=void 0!==a.color?a.color:null;this.f=a.lineCap;this.i=void 0!==a.lineDash?a.lineDash:null;this.g=a.lineDashOffset;this.j=a.lineJoin;this.o=a.miterLimit;this.c=a.width;this.b=void 0}k=wj.prototype;k.clone=function(){var a=this.a;return new wj({color:a&&a.slice?a.slice():a||void 0,lineCap:this.f,lineDash:this.i?this.i.slice():void 0,lineDashOffset:this.g,lineJoin:this.j,miterLimit:this.o,width:this.c})};k.No=function(){return this.a};k.Vk=function(){return this.f};\nk.Oo=function(){return this.i};k.Wk=function(){return this.g};k.Xk=function(){return this.j};k.bl=function(){return this.o};k.Po=function(){return this.c};k.Qo=function(a){this.a=a;this.b=void 0};k.aq=function(a){this.f=a;this.b=void 0};k.setLineDash=function(a){this.i=a;this.b=void 0};k.bq=function(a){this.g=a;this.b=void 0};k.cq=function(a){this.j=a;this.b=void 0};k.gq=function(a){this.o=a;this.b=void 0};k.jq=function(a){this.c=a;this.b=void 0};function xj(a){this.b=this.a=this.i=void 0;this.f=void 0===a?!0:a;this.c=0}function yj(a){var b=a.b;if(b){var c=b.next,d=b.ub;c&&(c.ub=d);d&&(d.next=c);a.b=c||d;a.i===a.a?(a.b=void 0,a.i=void 0,a.a=void 0):a.i===b?a.i=a.b:a.a===b&&(a.a=d?a.b.ub:a.b);a.c--}}function zj(a){a.b=a.i;if(a.b)return a.b.data}function Aj(a){if(a.b&&a.b.next)return a.b=a.b.next,a.b.data}function Bj(a){if(a.b&&a.b.next)return a.b.next.data}function Cj(a){if(a.b&&a.b.ub)return a.b=a.b.ub,a.b.data}\nfunction Dj(a){if(a.b&&a.b.ub)return a.b.ub.data}function Ej(a){if(a.b)return a.b.data}xj.prototype.concat=function(a){if(a.b){if(this.b){var b=this.b.next;this.b.next=a.i;a.i.ub=this.b;b.ub=a.a;a.a.next=b;this.c+=a.c}else this.b=a.b,this.i=a.i,this.a=a.a,this.c=a.c;a.b=void 0;a.i=void 0;a.a=void 0;a.c=0}};var Fj={$d:function(){}};\n(function(a){function b(a,e,f,g,h){f=f||0;g=g||a.length-1;for(h=h||d;g>f;){if(600m-l/2?-1:1);b(a,e,Math.max(f,Math.floor(e-m*p/l+n)),Math.min(g,Math.floor(e+(l-m)*p/l+n)),h)}l=a[e];m=f;p=g;c(a,f,e);for(0h(a[m],l);)m++;for(;0b?1:0}function e(a,b){if(!(this instanceof e))return new e(a,b);this.Hf=Math.max(4,a||9);this.fh=Math.max(2,Math.ceil(.4*this.Hf));b&&this.ek(b);this.clear()}function f(a,b){g(a,0,a.children.length,b,a)}function g(a,b,c,d,e){e||(e=u(null));e.ca=Infinity;e.da=Infinity;e.$=-Infinity;e.ia=-Infinity;for(var f;b=a.ca&&b.ia>=a.da}function u(a){return{children:a,height:1,ib:!0,ca:Infinity,da:Infinity,$:-Infinity,ia:-Infinity}}function x(a,b,c,d,e){for(var f=[b,c],g;f.length;)c=f.pop(),b=f.pop(),c-b<=d||(g=b+Math.ceil((c-b)/d/2)*d,B(a,g,b,c,e),f.push(b,g,\ng,c))}var B=b;e.prototype={all:function(){return this.$g(this.data,[])},search:function(a){var b=this.data,c=[],d=this.wb;if(!r(a,b))return c;for(var e=[],f,g,h,l;b;){f=0;for(g=b.children.length;fthis.Hf)this.jk(d,b),b--;else break;this.Zj(c,d,b)},jk:function(a,b){var c=a[b],d=c.children.length,e=this.fh;this.$j(c,e,d);d=this.ak(c,e,d);d=u(c.children.splice(d,c.children.length-d));d.height=c.height;d.ib=c.ib;f(c,this.wb);f(d,this.wb);\nb?a[b-1].children.push(d):this.hh(c,d)},hh:function(a,b){this.data=u([a,b]);this.data.height=a.height+1;this.data.ib=!1;f(this.data,this.wb)},ak:function(a,b,c){var d,e;var f=e=Infinity;for(d=b;d<=c-b;d++){var h=g(a,0,d,this.wb);var l=g(a,d,c,this.wb);var m=Math.max(0,Math.min(h.$,l.$)-Math.max(h.ca,l.ca))*Math.max(0,Math.min(h.ia,l.ia)-Math.max(h.da,l.da));h=n(h)+n(l);if(m=b;m--)n=a.children[m],h(f,a.ib?d(n):n),l+=p(f);return l},Zj:function(a,b,c){for(;0<=c;c--)h(b[c],a)},ck:function(a){for(var b=a.length-1,c;0<=b;b--)0===a[b].children.length?0f&&(f=b[r],q=b[r+1]);p=u}}else for(r=b.length-c,p=l=Tj(a,b[r],b[r+1],h++),f=b[r],q=b[r+1],r-=c,g=0;r>=g;r-=c)u=Tj(a,b[r],b[r+1],h++),n.push(Uj(p,u,d)),m.push([Math.min(p.x,u.x),Math.min(p.y,u.y),Math.max(p.x,\nu.x),Math.max(p.y,u.y)]),b[r]>f&&(f=b[r],q=b[r+1]),p=u;n.push(Uj(u,l,d));m.push([Math.min(p.x,u.x),Math.min(p.y,u.y),Math.max(p.x,u.x),Math.max(p.y,u.y)]);e.load(m,n);return[f,q]}function Qj(a,b,c){var d=zj(a),e=d,f=Aj(a),g=!1;do{var h=c?Bi(f.W.x,f.W.y,e.W.x,e.W.y,e.aa.x,e.aa.y):Bi(e.aa.x,e.aa.y,e.W.x,e.W.y,f.W.x,f.W.y);void 0===h?(Vj(e,f,a,b),g=!0,f===d&&(d=Bj(a)),f=e,Cj(a)):e.W.Fb!==h&&(e.W.Fb=h,g=!0);e=f;f=Aj(a)}while(e!==d);return g}\nfunction Rj(a,b,c,d,e){for(var f=zj(a);f.W.x!==b;)f=Aj(a);b=f.W;d={x:d,y:b.y,hb:-1};var g=Infinity,h;var l=Pj({aa:b,W:d},e,!0);var m=0;for(h=l.length;mCi&&d<1-Ci&&c>Ci&&c<1-Ci||e&&0<=d&&1>=d&&0<=c&&1>=c))return[a.x+d*(b.x-a.x),a.y+d*(b.y-a.y)]}\nfunction bk(a,b,c,d,e){if(void 0===b.Fb||void 0===d.Fb)return!1;var f=(c.x-d.x)*(b.y-d.y)>(c.y-d.y)*(b.x-d.x);e=(e.x-d.x)*(b.y-d.y)<(e.y-d.y)*(b.x-d.x);a=(a.x-b.x)*(d.y-b.y)>(a.y-b.y)*(d.x-b.x);c=(c.x-b.x)*(d.y-b.y)<(c.y-b.y)*(d.x-b.x);b=b.Fb?c||a:c&&a;return(d.Fb?e||f:e&&f)&&b}k=Mj.prototype;\nk.pc=function(a,b){var c=a.c,d=a.qa(),e=this.b.length,f=this.g.b.length;a=a.ga();var g,h,l;var m=h=0;for(g=c.length;me&&(this.i.push(e),this.f.push(b),this.j.s&&(this.c.push(e),this.j.s=!1));this.g.b.length>f&&pj(this.g,\nb,f)};k.rc=function(a,b){var c=a.Bb(),d=a.qa();if(0=n;){var p=this.i[m];var q=this.f[m];q=w(q).toString();\nc[q]&&(g!==l&&(xi(a,b,g,l),a.clear(a.DEPTH_BUFFER_BIT)),l=p);m--;g=p}g!==l&&(xi(a,b,g,l),a.clear(a.DEPTH_BUFFER_BIT));g=l=n}}d||(a.disable(a.DEPTH_TEST),a.clear(a.DEPTH_BUFFER_BIT),a.depthMask(f),a.depthFunc(e))};\nk.ve=function(a,b,c,d,e){var f,g;var h=this.i.length-2;var l=this.i[h+1];for(f=this.c.length-1;0<=f;--f){var m=this.u[f];a.uniform4fv(this.v.B,m);for(g=this.c[f];0<=h&&this.i[h]>=g;){m=this.i[h];var n=this.f[h];var p=w(n).toString();if(void 0===c[p]&&n.V()&&(void 0===e||qb(e,n.V().G()))&&(a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT),xi(a,b,m,l),l=d(n)))return l;h--;l=m}}};\nk.Ma=function(a,b){a=a?a.b:[0,0,0,0];a instanceof CanvasGradient||a instanceof CanvasPattern?a=yi:a=ed(a).map(function(a,b){return 3!=b?a/255:a})||yi;this.j.fillColor&&pa(a,this.j.fillColor)||(this.j.fillColor=a,this.j.s=!0,this.u.push(a));b?this.g.Ma(null,b):this.g.Ma(null,new wj({color:[0,0,0,0],lineWidth:0}))};function ck(){}ck.prototype.La=function(){};function dk(a,b,c){this.f=b;this.g=a;this.c=c;this.a={}}v(dk,ki);function ek(a,b){var c=[],d;for(d in a.a){var e=a.a[d],f;for(f in e)c.push(e[f].Eb(b))}return function(){for(var a=c.length,b,d=0;dd?b[0]=d-c:0>e&&(b[0]=Math.abs(e)+c),0>f?b[1]=f-c:0>g&&(b[1]=Math.abs(g)+c),0===b[0]&&0===b[1])||\n(c=a.Z().wa(),c=a.Ja(c),b=[c[0]+b[0],c[1]+b[1]],a.Z().animate({center:a.Wa(b),duration:this.j.duration,easing:this.j.easing}))}}};k.Ql=function(){yk(this)};k.lj=function(a){this.set(tk,a)};k.setMap=function(a){this.set(uk,a)};k.rj=function(a){this.set(vk,a)};k.Ne=function(a){this.set(wk,a)};function zk(a,b){var c=a.getBoundingClientRect();a=c.left+window.pageXOffset;c=c.top+window.pageYOffset;return[a,c,a+b[0],c+b[1]]}k.uj=function(a){this.set(xk,a)};\nfunction Ak(a,b){a.a.visible!==b&&(a.c.style.display=b?\"\":\"none\",a.a.visible=b)}\nfunction yk(a){var b=a.Me(),c=a.Yh();if(b&&b.c&&c){var c=b.Ja(c),d=b.Ob(),b=a.c.style,e=a.Dh(),f=a.Eh();Ak(a,!0);var g=e[0],e=e[1];if(\"bottom-right\"==f||\"center-right\"==f||\"top-right\"==f)\"\"!==a.a.Ie&&(a.a.Ie=b.left=\"\"),g=Math.round(d[0]-c[0]-g)+\"px\",a.a.nf!=g&&(a.a.nf=b.right=g);else{\"\"!==a.a.nf&&(a.a.nf=b.right=\"\");if(\"bottom-center\"==f||\"center-center\"==f||\"top-center\"==f)g-=a.c.offsetWidth/2;g=Math.round(c[0]+g)+\"px\";a.a.Ie!=g&&(a.a.Ie=b.left=g)}if(\"bottom-left\"==f||\"bottom-center\"==f||\"bottom-right\"==\nf)\"\"!==a.a.vf&&(a.a.vf=b.top=\"\"),c=Math.round(d[1]-c[1]-e)+\"px\",a.a.re!=c&&(a.a.re=b.bottom=c);else{\"\"!==a.a.re&&(a.a.re=b.bottom=\"\");if(\"center-left\"==f||\"center-center\"==f||\"center-right\"==f)e-=a.c.offsetHeight/2;c=Math.round(c[1]+e)+\"px\";a.a.vf!=c&&(a.a.vf=b.top=c)}}else Ak(a,!1)}var tk=\"element\",uk=\"map\",vk=\"offset\",wk=\"position\",xk=\"positioning\";function Bk(a){function b(a){a=h.Tf(a);l.a.Z().ob(a);window.removeEventListener(\"mousemove\",c);window.removeEventListener(\"mouseup\",b)}function c(a){a=h.Tf({clientX:a.clientX-n.offsetWidth/2,clientY:a.clientY+n.offsetHeight/2});m.Ne(a)}a=a?a:{};this.j=void 0!==a.collapsed?a.collapsed:!0;this.o=void 0!==a.collapsible?a.collapsible:!0;this.o||(this.j=!1);var d=void 0!==a.className?a.className:\"ol-overviewmap\",e=void 0!==a.tipLabel?a.tipLabel:\"Overview map\",f=void 0!==a.collapseLabel?a.collapseLabel:\n\"\\u00ab\";\"string\"===typeof f?(this.u=document.createElement(\"span\"),this.u.textContent=f):this.u=f;f=void 0!==a.label?a.label:\"\\u00bb\";\"string\"===typeof f?(this.D=document.createElement(\"span\"),this.D.textContent=f):this.D=f;var g=this.o&&!this.j?this.u:this.D,f=document.createElement(\"button\");f.setAttribute(\"type\",\"button\");f.title=e;f.appendChild(g);y(f,\"click\",this.an,this);this.C=document.createElement(\"DIV\");this.C.className=\"ol-overviewmap-map\";var h=this.c=new G({controls:new Yc,interactions:new Yc,\nview:a.view});a.layers&&a.layers.forEach(function(a){h.ih(a)},this);e=document.createElement(\"DIV\");e.className=\"ol-overviewmap-box\";e.style.boxSizing=\"border-box\";this.l=new sk({position:[0,0],positioning:\"bottom-left\",element:e});this.c.jh(this.l);e=document.createElement(\"div\");e.className=d+\" ol-unselectable ol-control\"+(this.j&&this.o?\" ol-collapsed\":\"\")+(this.o?\"\":\" ol-uncollapsible\");e.appendChild(this.C);e.appendChild(f);md.call(this,{element:e,render:a.render?a.render:Ck,target:a.target});\nvar l=this,m=this.l,n=this.l.Rd();n.addEventListener(\"mousedown\",function(){window.addEventListener(\"mousemove\",c);window.addEventListener(\"mouseup\",b)})}v(Bk,md);k=Bk.prototype;k.setMap=function(a){var b=this.a;a!==b&&(b&&((b=b.Z())&&Kc(b,Vc(\"rotation\"),this.Ge,this),this.c.Le(null)),md.prototype.setMap.call(this,a),a&&(this.c.Le(this.C),this.v.push(y(a,\"propertychange\",this.Kl,this)),this.c.Xh().dc()||this.c.qj(a.Kc()),a=a.Z()))&&(y(a,Vc(\"rotation\"),this.Ge,this),jg(a)&&(this.c.Ad(),Dk(this)))};\nk.Kl=function(a){\"view\"===a.key&&((a=a.oldValue)&&Kc(a,Vc(\"rotation\"),this.Ge,this),a=this.a.Z(),y(a,Vc(\"rotation\"),this.Ge,this))};k.Ge=function(){this.c.Z().Oe(this.a.Z().Qa())};function Ck(){var a=this.a,b=this.c;if(a.c&&b.c){var c=a.Ob(),a=a.Z().dd(c),d=b.Ob(),c=b.Z().dd(d),e=b.Ja(ib(a)),f=b.Ja(gb(a)),b=Math.abs(e[0]-f[0]),e=Math.abs(e[1]-f[1]),f=d[0],d=d[1];b<.1*f||e<.1*d||b>.75*f||e>.75*d?Dk(this):Va(c,a)||(a=this.c,c=this.a.Z(),a.Z().ob(c.wa()))}Ek(this)}\nfunction Dk(a){var b=a.a;a=a.c;var c=b.Ob(),b=b.Z().dd(c);a=a.Z();rb(b,1/(.1*Math.pow(2,Math.log(7.5)/Math.LN2/2)));a.Qf(b)}function Ek(a){var b=a.a,c=a.c;if(b.c&&c.c){var d=b.Ob(),e=b.Z(),f=c.Z(),c=e.Qa(),b=a.l,g=a.l.Rd(),h=e.dd(d),d=f.Pa(),e=eb(h),f=hb(h);if(a=a.a.Z().wa()){var l=[e[0]-a[0],e[1]-a[1]];ef(l,c);Ze(l,a)}b.Ne(l);g&&(g.style.width=Math.abs((e[0]-f[0])/d)+\"px\",g.style.height=Math.abs((f[1]-e[1])/d)+\"px\")}}k.an=function(a){a.preventDefault();Fk(this)};\nfunction Fk(a){a.element.classList.toggle(\"ol-collapsed\");a.j?kd(a.u,a.D):kd(a.D,a.u);a.j=!a.j;var b=a.c;a.j||b.c||(b.Ad(),Dk(a),Jc(b,\"postrender\",function(){Ek(this)},a))}k.$m=function(){return this.o};k.cn=function(a){this.o!==a&&(this.o=a,this.element.classList.toggle(\"ol-uncollapsible\"),!a&&this.j&&Fk(this))};k.bn=function(a){this.o&&this.j!==a&&Fk(this)};k.Zm=function(){return this.j};k.gl=function(){return this.c};function Gk(a){a=a?a:{};var b=void 0!==a.className?a.className:\"ol-scale-line\";this.o=document.createElement(\"DIV\");this.o.className=b+\"-inner\";this.c=document.createElement(\"DIV\");this.c.className=b+\" ol-unselectable\";this.c.appendChild(this.o);this.u=null;this.l=void 0!==a.minWidth?a.minWidth:64;this.j=!1;this.B=void 0;this.D=\"\";md.call(this,{element:this.c,render:a.render?a.render:Hk,target:a.target});y(this,Vc(Ik),this.T,this);this.I(a.units||\"metric\")}v(Gk,md);var Jk=[1,2,5];Gk.prototype.C=function(){return this.get(Ik)};\nfunction Hk(a){(a=a.frameState)?this.u=a.viewState:this.u=null;Kk(this)}Gk.prototype.T=function(){Kk(this)};Gk.prototype.I=function(a){this.set(Ik,a)};\nfunction Kk(a){var b=a.u;if(b){var c=b.projection,d=c.sc(),b=Sb(c,b.resolution,b.center)*d,d=a.l*b,c=\"\",e=a.C();\"degrees\"==e?(c=zb.degrees,b/=c,dd?(c=\"in\",b/=.0254):1609.344>d?(c=\"ft\",b/=.3048):(c=\"mi\",b/=1609.344):\"nautical\"==e?(b/=1852,c=\"nm\"):\"metric\"==e?.001>d?(c=\"\\u03bcm\",b*=1E6):1>d?(c=\"mm\",b*=1E3):1E3>d?c=\"m\":(c=\"km\",b/=1E3):\"us\"==e?.9144>d?(c=\"in\",b*=39.37):1609.344>d?(c=\"ft\",b/=.30480061):(c=\"mi\",b/=1609.3472):\nxa(!1,33);for(var e=3*Math.floor(Math.log(a.l*b)/Math.log(10)),f;;){f=Jk[(e%3+3)%3]*Math.pow(10,Math.floor(e/3));d=Math.round(f/b);if(isNaN(d)){a.c.style.display=\"none\";a.j=!1;return}if(d>=a.l)break;++e}b=f+\" \"+c;a.D!=b&&(a.o.innerHTML=b,a.D=b);a.B!=d&&(a.o.style.width=d+\"px\",a.B=d);a.j||(a.c.style.display=\"\",a.j=!0)}else a.j&&(a.c.style.display=\"none\",a.j=!1)}var Ik=\"units\";function Lk(a){a=a?a:{};this.c=void 0;this.j=Mk;this.D=this.l=0;this.I=null;this.na=!1;this.T=void 0!==a.duration?a.duration:200;var b=void 0!==a.className?a.className:\"ol-zoomslider\",c=document.createElement(\"button\");c.setAttribute(\"type\",\"button\");c.className=b+\"-thumb ol-unselectable\";var d=document.createElement(\"div\");d.className=b+\" ol-unselectable ol-control\";d.appendChild(c);this.o=new Ae(d);y(this.o,\"pointerdown\",this.yl,this);y(this.o,\"pointermove\",this.wl,this);y(this.o,\"pointerup\",this.xl,\nthis);y(d,\"click\",this.vl,this);y(c,\"click\",Pc);md.call(this,{element:d,render:a.render?a.render:Nk})}v(Lk,md);Lk.prototype.ka=function(){Nc(this.o);md.prototype.ka.call(this)};var Mk=0;k=Lk.prototype;k.setMap=function(a){md.prototype.setMap.call(this,a);a&&a.render()};\nfunction Nk(a){if(a.frameState){if(!this.na){var b=this.element,c=b.offsetWidth,d=b.offsetHeight,e=b.firstElementChild,f=getComputedStyle(e),b=e.offsetWidth+parseFloat(f.marginRight)+parseFloat(f.marginLeft),e=e.offsetHeight+parseFloat(f.marginTop)+parseFloat(f.marginBottom);this.I=[b,e];c>d?(this.j=1,this.D=c-b):(this.j=Mk,this.l=d-e);this.na=!0}a=a.frameState.viewState.resolution;a!==this.c&&(this.c=a,Ok(this,a))}}\nk.vl=function(a){var b=this.a.Z();a=Pk(this,Ca(1===this.j?(a.offsetX-this.I[0]/2)/this.D:(a.offsetY-this.I[1]/2)/this.l,0,1));b.animate({resolution:b.constrainResolution(a),duration:this.T,easing:rd})};k.yl=function(a){this.u||a.b.target!==this.element.firstElementChild||(cg(this.a.Z(),1,1),this.C=a.clientX,this.B=a.clientY,this.u=!0)};\nk.wl=function(a){if(this.u){var b=this.element.firstElementChild;this.c=Pk(this,Ca(1===this.j?(a.clientX-this.C+parseInt(b.style.left,10))/this.D:(a.clientY-this.B+parseInt(b.style.top,10))/this.l,0,1));this.a.Z().Vc(this.c);Ok(this,this.c);this.C=a.clientX;this.B=a.clientY}};k.xl=function(){if(this.u){var a=this.a.Z();cg(a,1,-1);a.animate({resolution:a.constrainResolution(this.c),duration:this.T,easing:rd});this.u=!1;this.B=this.C=void 0}};\nfunction Ok(a,b){b=1-ig(a.a.Z())(b);var c=a.element.firstElementChild;1==a.j?c.style.left=a.D*b+\"px\":c.style.top=a.l*b+\"px\"}function Pk(a,b){return hg(a.a.Z())(1-b)};function Qk(a){a=a?a:{};this.c=a.extent?a.extent:null;var b=void 0!==a.className?a.className:\"ol-zoom-extent\",c=void 0!==a.label?a.label:\"E\",d=void 0!==a.tipLabel?a.tipLabel:\"Fit to extent\",e=document.createElement(\"button\");e.setAttribute(\"type\",\"button\");e.title=d;e.appendChild(\"string\"===typeof c?document.createTextNode(c):c);y(e,\"click\",this.j,this);c=document.createElement(\"div\");c.className=b+\" ol-unselectable ol-control\";c.appendChild(e);md.call(this,{element:c,target:a.target})}v(Qk,md);\nQk.prototype.j=function(a){a.preventDefault();a=this.a.Z();var b=this.c?this.c:a.v.G();a.Qf(b)};function Rk(a){Tc.call(this);a=a?a:{};this.a=null;y(this,Vc(Sk),this.vm,this);this.gg(void 0!==a.tracking?a.tracking:!1)}v(Rk,Tc);k=Rk.prototype;k.ka=function(){this.gg(!1);Tc.prototype.ka.call(this)};\nk.ap=function(a){if(null!==a.alpha){var b=Ha(a.alpha);this.set(Tk,b);\"boolean\"===typeof a.absolute&&a.absolute?this.set(Uk,b):\"number\"===typeof a.webkitCompassHeading&&-1!=a.webkitCompassAccuracy&&this.set(Uk,Ha(a.webkitCompassHeading))}null!==a.beta&&this.set(Vk,Ha(a.beta));null!==a.gamma&&this.set(Wk,Ha(a.gamma));this.s()};k.Fk=function(){return this.get(Tk)};k.Ik=function(){return this.get(Vk)};k.Ok=function(){return this.get(Wk)};k.um=function(){return this.get(Uk)};k.Th=function(){return this.get(Sk)};\nk.vm=function(){if(Vd){var a=this.Th();a&&!this.a?this.a=y(window,\"deviceorientation\",this.ap,this):a||null===this.a||(Ec(this.a),this.a=null)}};k.gg=function(a){this.set(Sk,a)};var Tk=\"alpha\",Vk=\"beta\",Wk=\"gamma\",Uk=\"heading\",Sk=\"tracking\";function Xk(a){this.f=a.opacity;this.l=a.rotateWithView;this.g=a.rotation;this.a=a.scale;this.v=a.snapToPixel}k=Xk.prototype;k.Ze=function(){return this.f};k.$e=function(){return this.l};k.af=function(){return this.g};k.bf=function(){return this.a};k.Ae=function(){return this.v};k.td=function(a){this.f=a};k.cf=function(a){this.g=a};k.ud=function(a){this.a=a};function Yk(a){this.D=this.u=this.c=null;this.Va=void 0!==a.fill?a.fill:null;this.oa=[0,0];this.o=a.points;this.b=void 0!==a.radius?a.radius:a.radius1;this.i=a.radius2;this.j=void 0!==a.angle?a.angle:0;this.Ya=void 0!==a.stroke?a.stroke:null;this.B=this.ra=this.C=null;this.S=a.atlasManager;Zk(this,this.S);Xk.call(this,{opacity:1,rotateWithView:void 0!==a.rotateWithView?a.rotateWithView:!1,rotation:void 0!==a.rotation?a.rotation:0,scale:1,snapToPixel:void 0!==a.snapToPixel?a.snapToPixel:!0})}\nv(Yk,Xk);k=Yk.prototype;k.clone=function(){var a=new Yk({fill:this.Fa()?this.Fa().clone():void 0,points:this.o,radius:this.b,radius2:this.i,angle:this.j,snapToPixel:this.v,stroke:this.Ga()?this.Ga().clone():void 0,rotation:this.g,rotateWithView:this.l,atlasManager:this.S});a.td(this.f);a.ud(this.a);return a};k.Hc=function(){return this.C};k.Pi=function(){return this.j};k.Fa=function(){return this.Va};k.qg=function(){return this.D};k.Y=function(){return this.u};k.ye=function(){return this.B};\nk.Ye=function(){return 2};k.Oc=function(){return this.oa};k.Qi=function(){return this.o};k.Ri=function(){return this.b};k.Fh=function(){return this.i};k.ic=function(){return this.ra};k.Ga=function(){return this.Ya};k.Nh=function(){};k.load=function(){};k.Bj=function(){};\nfunction Zk(a,b){var c=\"\",d=\"\",e=0,f=null,g=0;if(a.Ya){var h=a.Ya.a;null===h&&(h=Uh);h=id(h);g=a.Ya.c;void 0===g&&(g=1);f=a.Ya.i;Td||(f=null);d=a.Ya.j;void 0===d&&(d=\"round\");c=a.Ya.f;void 0===c&&(c=\"round\");e=a.Ya.o;void 0===e&&(e=10)}var l=2*(a.b+g)+1,c={strokeStyle:h,zj:g,size:l,lineCap:c,lineDash:f,lineJoin:d,miterLimit:e};if(void 0===b){var m=jd(l,l);a.u=m.canvas;b=l=a.u.width;a.rh(c,m,0,0);a.Va?a.D=a.u:(m=jd(c.size,c.size),a.D=m.canvas,a.qh(c,m,0,0))}else l=Math.round(l),(d=!a.Va)&&(m=a.qh.bind(a,\nc)),a.Ya?(e=a.Ya,void 0===e.b&&(e.b=\"s\",e.b=e.a?\"string\"===typeof e.a?e.b+e.a:e.b+w(e.a).toString():e.b+\"-\",e.b+=\",\"+(void 0!==e.f?e.f.toString():\"-\")+\",\"+(e.i?e.i.toString():\"-\")+\",\"+(void 0!==e.g?e.g:\"-\")+\",\"+(void 0!==e.j?e.j:\"-\")+\",\"+(void 0!==e.o?e.o.toString():\"-\")+\",\"+(void 0!==e.c?e.c.toString():\"-\")),e=e.b):e=\"-\",a.Va?(f=a.Va,void 0===f.a&&(f.a=f.b instanceof CanvasPattern||f.b instanceof CanvasGradient?w(f.b).toString():\"f\"+(f.b?gd(f.b):\"-\")),f=f.a):f=\"-\",a.c&&e==a.c[1]&&f==a.c[2]&&a.b==\na.c[3]&&a.i==a.c[4]&&a.j==a.c[5]&&a.o==a.c[6]||(a.c=[\"r\"+e+f+(void 0!==a.b?a.b.toString():\"-\")+(void 0!==a.i?a.i.toString():\"-\")+(void 0!==a.j?a.j.toString():\"-\")+(void 0!==a.o?a.o.toString():\"-\"),e,f,a.b,a.i,a.j,a.o]),m=b.add(a.c[0],l,l,a.rh.bind(a,c),m),a.u=m.image,a.oa=[m.offsetX,m.offsetY],b=m.image.width,a.D=d?m.Zl:a.u;a.C=[l/2,l/2];a.ra=[l,l];a.B=[b,b]}\nk.rh=function(a,b,c,d){b.setTransform(1,0,0,1,0,0);b.translate(c,d);b.beginPath();var e=this.o;if(Infinity===e)b.arc(a.size/2,a.size/2,this.b,0,2*Math.PI,!0);else{var f=void 0!==this.i?this.i:this.b;f!==this.b&&(e*=2);for(c=0;c<=e;c++){d=2*c*Math.PI/e-Math.PI/2+this.j;var g=c%2?f:this.b;b.lineTo(a.size/2+g*Math.cos(d),a.size/2+g*Math.sin(d))}}this.Va&&(c=this.Va.b,null===c&&(c=Sh),b.fillStyle=id(c),b.fill());this.Ya&&(b.strokeStyle=a.strokeStyle,b.lineWidth=a.zj,a.lineDash&&b.setLineDash(a.lineDash),\nb.lineCap=a.lineCap,b.lineJoin=a.lineJoin,b.miterLimit=a.miterLimit,b.stroke());b.closePath()};\nk.qh=function(a,b,c,d){b.setTransform(1,0,0,1,0,0);b.translate(c,d);b.beginPath();c=this.o;if(Infinity===c)b.arc(a.size/2,a.size/2,this.b,0,2*Math.PI,!0);else{d=void 0!==this.i?this.i:this.b;d!==this.b&&(c*=2);var e;for(e=0;e<=c;e++){var f=2*e*Math.PI/c-Math.PI/2+this.j;var g=e%2?d:this.b;b.lineTo(a.size/2+g*Math.cos(f),a.size/2+g*Math.sin(f))}}b.fillStyle=Sh;b.fill();this.Ya&&(b.strokeStyle=a.strokeStyle,b.lineWidth=a.zj,a.lineDash&&b.setLineDash(a.lineDash),b.stroke());b.closePath()};function $k(a){a=a||{};Yk.call(this,{points:Infinity,fill:a.fill,radius:a.radius,snapToPixel:a.snapToPixel,stroke:a.stroke,atlasManager:a.atlasManager})}v($k,Yk);$k.prototype.clone=function(){var a=new $k({fill:this.Fa()?this.Fa().clone():void 0,stroke:this.Ga()?this.Ga().clone():void 0,radius:this.b,snapToPixel:this.v,atlasManager:this.S});a.td(this.f);a.ud(this.a);return a};$k.prototype.Uc=function(a){this.b=a;Zk(this,this.S)};function al(a){a=a||{};this.b=void 0!==a.color?a.color:null;this.a=void 0}al.prototype.clone=function(){var a=this.b;return new al({color:a&&a.slice?a.slice():a||void 0})};al.prototype.i=function(){return this.b};al.prototype.c=function(a){this.b=a;this.a=void 0};function bl(a){a=a||{};this.Gc=null;this.Za=cl;void 0!==a.geometry&&this.Ra(a.geometry);this.Va=void 0!==a.fill?a.fill:null;this.M=void 0!==a.image?a.image:null;this.Ya=void 0!==a.stroke?a.stroke:null;this.Ia=void 0!==a.text?a.text:null;this.Fj=a.zIndex}k=bl.prototype;\nk.clone=function(){var a=this.V();a&&a.clone&&(a=a.clone());return new bl({geometry:a,fill:this.Fa()?this.Fa().clone():void 0,image:this.Y()?this.Y().clone():void 0,stroke:this.Ga()?this.Ga().clone():void 0,text:this.Na()?this.Na().clone():void 0,zIndex:this.Ba()})};k.V=function(){return this.Gc};k.Pk=function(){return this.Za};k.Fa=function(){return this.Va};k.pf=function(a){this.Va=a};k.Y=function(){return this.M};k.Og=function(a){this.M=a};k.Ga=function(){return this.Ya};\nk.qf=function(a){this.Ya=a};k.Na=function(){return this.Ia};k.xd=function(a){this.Ia=a};k.Ba=function(){return this.Fj};k.Ra=function(a){\"function\"===typeof a?this.Za=a:\"string\"===typeof a?this.Za=function(b){return b.get(a)}:a?a&&(this.Za=function(){return a}):this.Za=cl;this.Gc=a};k.Vb=function(a){this.Fj=a};function dl(a){if(\"function\"!==typeof a){if(Array.isArray(a))var b=a;else xa(a instanceof bl,41),b=[a];a=function(){return b}}return a}var el=null;\nfunction fl(){if(!el){var a=new al({color:\"rgba(255,255,255,0.4)\"}),b=new wj({color:\"#3399CC\",width:1.25});el=[new bl({image:new $k({fill:a,stroke:b,radius:5}),fill:a,stroke:b})]}return el}\nfunction gl(){var a={},b=[255,255,255,1],c=[0,153,255,1];a.Polygon=[new bl({fill:new al({color:[255,255,255,.5]})})];a.MultiPolygon=a.Polygon;a.LineString=[new bl({stroke:new wj({color:b,width:5})}),new bl({stroke:new wj({color:c,width:3})})];a.MultiLineString=a.LineString;a.Circle=a.Polygon.concat(a.LineString);a.Point=[new bl({image:new $k({radius:6,fill:new al({color:c}),stroke:new wj({color:b,width:1.5})}),zIndex:Infinity})];a.MultiPoint=a.Point;a.GeometryCollection=a.Polygon.concat(a.LineString,\na.Point);return a}function cl(a){return a.V()};function H(a){Tc.call(this);this.a=void 0;this.c=\"geometry\";this.g=null;this.j=void 0;this.f=null;y(this,Vc(this.c),this.Ee,this);void 0!==a&&(a instanceof of||!a?this.Ra(a):this.H(a))}v(H,Tc);k=H.prototype;k.clone=function(){var a=new H(this.N());a.Tc(this.c);var b=this.V();b&&a.Ra(b.clone());(b=this.g)&&a.hg(b);return a};k.V=function(){return this.get(this.c)};k.wm=function(){return this.a};k.Qk=function(){return this.c};k.xm=function(){return this.g};k.Lc=function(){return this.j};k.Al=function(){this.s()};\nk.Ee=function(){this.f&&(Ec(this.f),this.f=null);var a=this.V();a&&(this.f=y(a,\"change\",this.Al,this));this.s()};k.Ra=function(a){this.set(this.c,a)};k.hg=function(a){this.j=(this.g=a)?hl(a):void 0;this.s()};k.jc=function(a){this.a=a;this.s()};k.Tc=function(a){Kc(this,Vc(this.c),this.Ee,this);this.c=a;y(this,Vc(this.c),this.Ee,this);this.Ee()};\nfunction hl(a){var b;if(\"function\"===typeof a)2==a.length?b=function(b){return a(this,b)}:b=a;else{if(Array.isArray(a))var c=a;else xa(a instanceof bl,41),c=[a];b=function(){return c}}return b};var il=document.implementation.createDocument(\"\",\"\",null);function jl(a,b){return il.createElementNS(a,b)}function kl(a,b){return ll(a,b,[]).join(\"\")}function ll(a,b,c){if(a.nodeType==Node.CDATA_SECTION_NODE||a.nodeType==Node.TEXT_NODE)b?c.push(String(a.nodeValue).replace(/(\\r\\n|\\r|\\n)/g,\"\")):c.push(a.nodeValue);else for(a=a.firstChild;a;a=a.nextSibling)ll(a,b,c);return c}function ml(a){return a instanceof Document}function nl(a){return a instanceof Node}\nfunction pl(a){return(new DOMParser).parseFromString(a,\"application/xml\")}function ql(a,b){return function(c,d){c=a.call(b,c,d);void 0!==c&&la(d[d.length-1],c)}}function rl(a,b){return function(c,d){c=a.call(void 0!==b?b:this,c,d);void 0!==c&&d[d.length-1].push(c)}}function sl(a,b){return function(c,d){c=a.call(void 0!==b?b:this,c,d);void 0!==c&&(d[d.length-1]=c)}}\nfunction tl(a){return function(b,c){var d=a.call(this,b,c);if(void 0!==d){c=c[c.length-1];b=b.localName;var e;b in c?e=c[b]:e=c[b]=[];e.push(d)}}}function I(a,b){return function(c,d){var e=a.call(this,c,d);void 0!==e&&(d[d.length-1][void 0!==b?b:c.localName]=e)}}function J(a,b){return function(c,d,e){a.call(void 0!==b?b:this,c,d,e);e[e.length-1].node.appendChild(c)}}\nfunction vl(a){var b,c;return function(d,e,f){if(!b){b={};var g={};g[d.localName]=a;b[d.namespaceURI]=g;c=wl(d.localName)}xl(b,c,e,f)}}function wl(a,b){return function(c,d,e){c=d[d.length-1].node;d=a;void 0===d&&(d=e);e=b;void 0===b&&(e=c.namespaceURI);return jl(e,d)}}var yl=wl();function zl(a,b){for(var c=b.length,d=Array(c),e=0;eh.status){var a=b.U();if(\"json\"==a||\"text\"==a)var e=h.responseText;else\"xml\"==a?(e=h.responseXML)||(e=pl(h.responseText)):\"arraybuffer\"==a&&(e=h.response);e?c.call(this,b.Oa(e,{featureProjection:g}),b.kb(e)):d.call(this)}else d.call(this)}.bind(this);h.onerror=function(){d.call(this)}.bind(this);\nh.send()}}function Dl(a,b){return Cl(a,b,function(a){this.cd(a)},ua)};function El(){this.f=this.defaultDataProjection=null}function Fl(a,b,c){var d;c&&(d={dataProjection:c.dataProjection?c.dataProjection:a.kb(b),featureProjection:c.featureProjection});return Gl(a,d)}function Gl(a,b){return tb({dataProjection:a.defaultDataProjection,featureProjection:a.f},b)}\nfunction Hl(a,b,c){var d=c?Tb(c.featureProjection):null,e=c?Tb(c.dataProjection):null,f;d&&e&&!dc(d,e)?a instanceof of?f=(b?a.clone():a).tb(b?d:e,b?e:d):f=hc(a,e,d):f=a;if(b&&c&&void 0!==c.decimals){var g=Math.pow(10,c.decimals);f===a&&(f=f.clone());f.Dc(function(a){for(var b=0,c=a.length;b>1),h=+ia(g[e],c),0>h?l=e+1:(m=e,n=!h);e=n?l:~l;0>e?(c=(c-g[-e-2])/(g[-e-1]-g[-e-2]),b+=(-e-2)*d,g=Ja(a[b],a[b+d],c),h=Ja(a[b+1],a[b+d+1],c)):(g=a[b+e*d],h=a[b+e*d+1])}return f?(f[0]=\ng,f[1]=h,f):[g,h]}function Ll(a,b,c,d,e,f){if(c==b)return null;if(e>1,ea||this.c.length<=a)return null;var b=new O(null);b.ba(this.ja,this.A.slice(a?this.c[a-1]:0,this.c[a]));return b};\nk.gd=function(){var a=this.A,b=this.c,c=this.ja,d=[],e=0,f;var g=0;for(f=b.length;ga||b<=a)return null;b=new C(null);b.ba(this.ja,this.A.slice(a*this.a,(a+1)*this.a));return b};k.Zd=function(){var a=this.A,b=this.ja,c=this.a,d=[],e;var f=0;for(e=a.length;fa||this.c.length<=a)return null;if(a){var b=this.c[a-1];b=b[b.length-1]}else b=0;a=this.c[a].slice();var c=a[a.length-1];if(b){var d;var e=0;for(d=a.length;ea||this.g&&ac;++c){var d=parseInt(b[c],10).toString(16);b[c]=1==d.length?\"0\"+d:d}Pm(a,b.join(\"\"))}function wp(a,b,c){a={node:a};var d=b.U();if(\"GeometryCollection\"==d){var e=b.Vf();var f=xp}else\"MultiPoint\"==d?(e=b.Zd(),f=yp):\"MultiLineString\"==d?(e=b.gd(),f=zp):\"MultiPolygon\"==d?(e=b.Td(),f=Ap):xa(!1,39);Bl(a,Bp,f,e,c)}function Cp(a,b,c){Bl({node:a},Dp,Ep,[b],c)}\nfunction Fp(a,b,c){var d={node:a};b.a&&a.setAttribute(\"id\",b.a);a=b.N();var e={address:1,description:1,name:1,open:1,phoneNumber:1,styleUrl:1,visibility:1};e[b.c]=1;var f=Object.keys(a||{}).sort().filter(function(a){return!e[a]});if(0>4;if(128>f)return d(a,g,b);f=e[c.ea++];g|=(f&127)<<3;if(128>f)return d(a,g,b);f=e[c.ea++];g|=(f&127)<<10;if(128>f)return d(a,g,b);f=e[c.ea++];g|=(f&127)<<17;if(128>f)return d(a,g,b);f=e[c.ea++];g|=(f&127)<<24;if(128>f)return d(a,g,b);f=e[c.ea++];if(128>f)return d(a,g|(f&1)<<31,b);throw Error(\"Expected varint not more than 10 bytes\");\n}function d(a,b,c){return c?4294967296*b+(a>>>0):4294967296*(b>>>0)+(a>>>0)}var e={read:function(a,b,c,d,e){var f=8*e-d-1;var g=(1<>1,l=-7;e=c?e-1:0;var m=c?-1:1,x=a[b+e];e+=m;c=x&(1<<-l)-1;x>>=-l;for(l+=f;0>=-l;for(l+=d;0>1,m=23===e?Math.pow(2,\n-24)-Math.pow(2,-77):0;n=d?0:n-1;var B=d?1:-1,E=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=h):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(f=Math.pow(2,-d))&&(d--,f*=2),b=1<=d+l?b+m/f:b+m*Math.pow(2,1-l),2<=b*f&&(d++,f/=2),d+l>=h?(b=0,d=h):1<=d+l?(b=(b*f-1)*Math.pow(2,e),d+=l):(b=b*Math.pow(2,l-1)*Math.pow(2,e),d=0));for(;8<=e;a[c+n]=b&255,n+=B,b/=256,e-=8);d=d<>3,f=this.ea;this.type=d&7;a(e,b,this);this.ea===f&&this.mq(d)}return b},yp:function(){var a=e.read(this.lc,this.ea,!0,23,4);this.ea+=4;return a},up:function(){var a=e.read(this.lc,this.ea,!0,52,8);this.ea+=8;return a},Ka:function(a){var b=this.lc;var d=b[this.ea++];var e=d&127;if(128>d)return e;d=b[this.ea++];e|=(d&127)<<7;if(128>d)return e;d=b[this.ea++];e|=(d&127)<<14;if(128>d)return e;d=b[this.ea++];e|=(d&127)<<21;if(128>d)return e;d=b[this.ea];\nreturn c(e|(d&15)<<28,a,this)},Kp:function(){return this.Ka(!0)},ce:function(){var a=this.Ka();return 1===a%2?(a+1)/-2:a/2},sp:function(){return!!this.Ka()},Gg:function(){for(var a=this.Ka()+this.ea,b=this.lc,c=\"\",d=this.ea;da)break;if(1===p)128>e&&(n=e);else if(2===p){var q=b[d+1];128===(q&192)&&(n=(e&31)<<6|q&63,127>=n&&(n=null))}else if(3===p){q=b[d+1];var r=b[d+2];128===(q&192)&&128===(r&192)&&(n=(e&15)<<12|(q&63)<<6|r&63,2047>=n||55296<=\nn&&57343>=n)&&(n=null)}else if(4===p){q=b[d+1];r=b[d+2];var u=b[d+3];128===(q&192)&&128===(r&192)&&128===(u&192)&&(n=(e&15)<<18|(q&63)<<12|(r&63)<<6|u&63,65535>=n||1114112<=n)&&(n=null)}null===n?(n=65533,p=1):65535>>10&1023|55296),n=56320|n&1023);c+=String.fromCharCode(n);d+=p}this.ea=a;return c},mq:function(a){a&=7;if(a===b.c)for(;127>3,b=1===b?a.Gg():2===b?a.yp():3===b?a.up():4===b?a.Kp():5===b?a.Ka():6===b?a.ce():7===b?a.sp():null;return b}function l(a,b,c){3===a&&(a=new m(c,c.Ka()+c.ea),a.length&&(b[a.name]=a))}c.prototype={clone:function(){return new c(this.x,this.y)},add:function(a){return this.clone().Yj(a)},\nrotate:function(a){return this.clone().hk(a)},round:function(){return this.clone().ik()},angle:function(){return Math.atan2(this.y,this.x)},Yj:function(a){this.x+=a.x;this.y+=a.y;return this},hk:function(a){var b=Math.cos(a);a=Math.sin(a);var c=a*this.x+b*this.y;this.x=b*this.x-a*this.y;this.y=c;return this},ik:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this}};c.Kq=function(a){return a instanceof c?a:Array.isArray(a)?new c(a[0],a[1]):a};d.b=[\"Unknown\",\"Point\",\"LineString\",\n\"Polygon\"];d.prototype.Oh=function(){var a=this.Cc;a.ea=this.Ef;for(var b=a.Ka()+a.ea,d=1,e=0,f=0,g=0,h=[],l;a.ea>=3),e--,1===d||2===d)f+=a.ce(),g+=a.ce(),1===d&&(l&&h.push(l),l=[]),l.push(new c(f,g));else if(7===d)l&&l.push(l[0].clone());else throw Error(\"unknown command \"+d);l&&h.push(l);return h};d.prototype.bbox=function(){var a=this.Cc;a.ea=this.Ef;for(var b=a.Ka()+a.ea,c=1,d=0,e=0,f=0,g=Infinity,h=-Infinity,l=Infinity,m=-Infinity;a.ea>=\n3),d--,1===c||2===c)e+=a.ce(),f+=a.ce(),eh&&(h=e),fm&&(m=f);else if(7!==c)throw Error(\"unknown command \"+c);return[g,l,h,m]};var m=f;f.prototype.feature=function(a){if(0>a||a>=this.me.length)throw Error(\"feature index out of bounds\");this.Cc.ea=this.me[a];a=this.Cc.Ka()+this.Cc.ea;return new d(this.Cc,a,this.extent,this.ne,this.pe)};var n=m;a[\"default\"]={Bf:b,Wj:d,Xj:n};a.Bf=b;a.Wj=d;a.Xj=n})(Fj.xf=Fj.xf||{});function kq(a,b,c,d,e){this.g=e;this.i=a;this.b=b;this.f=c;this.c=d}k=kq.prototype;k.get=function(a){return this.c[a]};k.Bb=function(){return this.f};k.G=function(){this.a||(this.a=\"Point\"===this.i?Za(this.b):$a(this.b,0,this.b.length,2));return this.a};k.Wn=function(){return this.g};k.ec=function(){return this.b};k.ga=kq.prototype.ec;k.V=function(){return this};k.Xn=function(){return this.c};k.Vd=kq.prototype.V;k.qa=function(){return 2};k.Lc=ua;k.U=function(){return this.i};function lq(a){El.call(this);a=a?a:{};this.defaultDataProjection=new Bb({code:\"\",units:\"tile-pixels\"});this.b=a.featureClass?a.featureClass:kq;this.a=a.geometryName;this.i=a.layerName?a.layerName:\"layer\";this.c=a.layers?a.layers:null}v(lq,El);k=lq.prototype;k.U=function(){return\"arraybuffer\"};\nk.Oa=function(a,b){var c=this.c;a=new Fj.Dd(a);a=new Fj.xf.Bf(a);var d=[],e=this.b,f;for(f in a.layers)if(!c||-1!=c.indexOf(f)){var g=a.layers[f];for(var h=0,l=g.length;hc?~(c<<1):c<<1;b=\"\";d=0;for(c=a.length;d>=5;g+=String.fromCharCode(f+63);b+=g}return b}\nfunction Rq(a,b){b=b?b:1E5;var c=[],d=0,e=0,f;var g=0;for(f=a.length;gh?(c.push(d),e=d=0):e+=5}a=0;for(d=c.length;a>1):e>>1;a=0;for(d=c.length;a=b||\".\"==b||\"-\"==b){c.type=4;var b=a.b,d=!1,e=!1;do{if(\".\"==f)d=!0;else if(\"e\"==f||\"E\"==f)e=!0;var f=a.a.charAt(++a.b)}while(\"0\"<=f&&\"9\">=f||\".\"==f&&(void 0===d||!d)||!e&&(\"e\"==f||\"E\"==f)||e&&(\"-\"==f||\"+\"==f));a=parseFloat(a.a.substring(b,a.b--));c.value=a}else if(\"a\"<=b&&\"z\">=b||\"A\"<=b&&\"Z\">=b){c.type=1;b=a.b;do f=a.a.charAt(++a.b);while(\"a\"<=f&&\"z\">=\nf||\"A\"<=f&&\"Z\">=f);a=a.a.substring(b,a.b--).toUpperCase();c.value=a}else{if(\" \"==b||\"\\t\"==b||\"\\r\"==b||\"\\n\"==b)return Cr(a);if(\"\"===b)c.type=6;else throw Error(\"Unexpected character: \"+b);}return c}function yr(a){this.i=a;this.a=\"XY\"}function Ar(a){a.b=Cr(a.i)}function Dr(a,b){(b=a.b.type==b)&&Ar(a);return b}\nfunction Br(a){var b=a.b;if(Dr(a,1)){var b=b.value,c=\"XY\",d=a.b;1==a.b.type&&(d=d.value,\"Z\"===d?c=\"XYZ\":\"M\"===d?c=\"XYM\":\"ZM\"===d&&(c=\"XYZM\"),\"XY\"!==c&&Ar(a));a.a=c;if(\"GEOMETRYCOLLECTION\"==b){a:{if(Dr(a,2)){b=[];do b.push(Br(a));while(Dr(a,5));if(Dr(a,3)){a=b;break a}}else if(Er(a)){a=[];break a}throw Error(Fr(a));}return new tm(a)}d=Gr[b];c=Hr[b];if(!d||!c)throw Error(\"Invalid geometry type: \"+b);b=d.call(a);return new c(b,a.a)}throw Error(Fr(a));}k=yr.prototype;\nk.tg=function(){if(Dr(this,2)){var a=Ir(this);if(Dr(this,3))return a}else if(Er(this))return null;throw Error(Fr(this));};k.sg=function(){if(Dr(this,2)){var a=Jr(this);if(Dr(this,3))return a}else if(Er(this))return[];throw Error(Fr(this));};k.ug=function(){if(Dr(this,2)){var a=Kr(this);if(Dr(this,3))return a}else if(Er(this))return[];throw Error(Fr(this));};\nk.fp=function(){if(Dr(this,2)){var a;if(2==this.b.type)for(a=[this.tg()];Dr(this,5);)a.push(this.tg());else a=Jr(this);if(Dr(this,3))return a}else if(Er(this))return[];throw Error(Fr(this));};k.ep=function(){if(Dr(this,2)){var a=Kr(this);if(Dr(this,3))return a}else if(Er(this))return[];throw Error(Fr(this));};k.gp=function(){if(Dr(this,2)){for(var a=[this.ug()];Dr(this,5);)a.push(this.ug());if(Dr(this,3))return a}else if(Er(this))return[];throw Error(Fr(this));};\nfunction Ir(a){for(var b=[],c=a.a.length,d=0;d=b[0]||a[1]<=b[1]&&a[3]>=b[1]?!0:db(a,this.sb,this)):!1};\nk.ob=function(a){var b=this.a,c=a.slice();c[b]=c[0]+(this.A[b]-this.A[0]);var d;for(d=1;df[2])&&(c=h*Math.ceil((f[0]-c)/h),d=[d[0]+\nc,d[1],d[2]+c,d[3]]);c=this.S[0];f=this.S[1];h=-1;m=Math.pow(this.Jb*g,2);p=[];q=[];g=0;for(l=Fs.length;gga&&(a.Va(b,e),oa=0);ha>ga&&(b.stroke(),ha=0);oa||ha||(b.beginPath(),B=E=NaN);++n;break;case 2:q=z[1];r=m[q];z=m[q+1];A=m[q+2]-\nr;q=m[q+3]-z;q=Math.sqrt(A*A+q*q);b.moveTo(r+q,z);b.arc(r,z,q,0,2*Math.PI,!0);++n;break;case 3:b.closePath();++n;break;case 4:q=z[1];r=z[2];var M=z[3];var ba=z[4]*c;var da=z[5]*c;var fb=z[6],ca=z[7],Ub=z[8],uc=z[9];var bc=z[10];A=z[11];L=z[12];var Je=z[13],zg=z[14];for(bc&&(A+=e);qM.width?\nM.width-Ub:zg,Bq=fb+uc>M.height?M.height-uc:fb;b.drawImage(M,Ub,uc,rh,Bq,z,bc,rh*c,Bq*c);1!=ca&&(b.globalAlpha=ff);(1!=L||A)&&b.setTransform.apply(b,x)}++n;break;case 5:q=z[1];r=z[2];da=z[3];fb=z[4]*c;ca=z[5]*c;A=z[6];L=z[7]*c;M=z[8];ba=z[9];for((bc=z[10])&&(A+=e);qthis.c&&(this.c=this.i.lineWidth,this.f=null)};function lt(a,b,c,d){bt.call(this,a,b,c,d);this.f=null;this.i={oh:void 0,Md:void 0,Gd:void 0,Hd:null,Id:void 0,Jd:void 0,Kd:void 0,Ld:void 0,fillStyle:void 0,strokeStyle:void 0,lineCap:void 0,lineDash:null,lineDashOffset:void 0,lineJoin:void 0,lineWidth:void 0,miterLimit:void 0}}v(lt,bt);\nfunction mt(a,b,c,d,e){var f=a.i,g=void 0!==f.fillStyle,f=void 0!=f.strokeStyle,h=d.length,l=[1];a.a.push(l);a.b.push(l);for(l=0;lthis.c&&(this.c=c.lineWidth,this.f=null)):(c.strokeStyle=void 0,c.lineCap=void 0,c.lineDash=null,c.lineDashOffset=void 0,c.lineJoin=void 0,c.lineWidth=void 0,c.miterLimit=\nvoid 0)};function nt(a,b){var c=a.i,d=c.fillStyle,e=c.strokeStyle,f=c.lineCap,g=c.lineDash,h=c.lineDashOffset,l=c.lineJoin,m=c.lineWidth,n=c.miterLimit;if(void 0!==d&&(\"string\"!==typeof d||c.oh!=d)){var p=[9,d];\"string\"!==typeof d&&(b=b.G(),p.push([b[0],b[3]]));a.a.push(p);c.oh=c.fillStyle}void 0===e||c.Md==e&&c.Gd==f&&pa(c.Hd,g)&&c.Id==h&&c.Jd==l&&c.Kd==m&&c.Ld==n||(a.a.push([10,e,m,f,l,n,g,h,!0,1]),c.Md=e,c.Gd=f,c.Hd=g,c.Id=h,c.Jd=l,c.Kd=m,c.Ld=n)};function ot(a,b,c,d){bt.call(this,a,b,c,d);this.C=this.D=this.S=null;this.Ia=\"\";this.o=this.j=0;this.l=void 0;this.u=this.v=0;this.g=this.f=this.i=null}v(ot,bt);\not.prototype.yc=function(a,b,c,d,e,f){if(\"\"!==this.Ia&&this.g&&(this.i||this.f)){if(this.i){e=this.i;var g=this.S;if(!g||g.fillStyle!=e.fillStyle){var h=[9,e.fillStyle];this.a.push(h);this.b.push(h);g?g.fillStyle=e.fillStyle:this.S={fillStyle:e.fillStyle}}}this.f&&(e=this.f,g=this.D,g&&g.lineCap==e.lineCap&&g.lineDash==e.lineDash&&g.lineDashOffset==e.lineDashOffset&&g.lineJoin==e.lineJoin&&g.lineWidth==e.lineWidth&&g.miterLimit==e.miterLimit&&g.strokeStyle==e.strokeStyle||(h=[10,e.strokeStyle,e.lineWidth,\ne.lineCap,e.lineJoin,e.miterLimit,e.lineDash,e.lineDashOffset,!1,1],this.a.push(h),this.b.push(h),g?(g.lineCap=e.lineCap,g.lineDash=e.lineDash,g.lineDashOffset=e.lineDashOffset,g.lineJoin=e.lineJoin,g.lineWidth=e.lineWidth,g.miterLimit=e.miterLimit,g.strokeStyle=e.strokeStyle):this.D={lineCap:e.lineCap,lineDash:e.lineDash,lineDashOffset:e.lineDashOffset,lineJoin:e.lineJoin,lineWidth:e.lineWidth,miterLimit:e.miterLimit,strokeStyle:e.strokeStyle}));e=this.g;g=this.C;g&&g.font==e.font&&g.textAlign==\ne.textAlign&&g.textBaseline==e.textBaseline||(h=[11,e.font,e.textAlign,e.textBaseline],this.a.push(h),this.b.push(h),g?(g.font=e.font,g.textAlign=e.textAlign,g.textBaseline=e.textBaseline):this.C={font:e.font,textAlign:e.textAlign,textBaseline:e.textBaseline});dt(this,f);e=this.coordinates.length;a=ct(this,a,b,c,d,!1,!1);a=[5,e,a,this.Ia,this.j,this.o,this.v,this.u,!!this.i,!!this.f,this.l];this.a.push(a);this.b.push(a);gt(this,f)}};\not.prototype.Cb=function(a){if(a){var b=a.Fa();b?(b=b.b,b=id(b?b:Sh),this.i?this.i.fillStyle=b:this.i={fillStyle:b}):this.i=null;var c=a.Ga();if(c){var b=c.a,d=c.f,e=c.i,f=c.g,g=c.j,h=c.c,c=c.o,d=void 0!==d?d:\"round\",e=e?e.slice():Th,f=void 0!==f?f:0,g=void 0!==g?g:\"round\",h=void 0!==h?h:1,c=void 0!==c?c:10,b=id(b?b:Uh);if(this.f){var l=this.f;l.lineCap=d;l.lineDash=e;l.lineDashOffset=f;l.lineJoin=g;l.lineWidth=h;l.miterLimit=c;l.strokeStyle=b}else this.f={lineCap:d,lineDash:e,lineDashOffset:f,lineJoin:g,\nlineWidth:h,miterLimit:c,strokeStyle:b}}else this.f=null;var m=a.a,b=a.i,d=a.c,e=a.o,h=a.f,c=a.b,f=a.Na(),g=a.g,l=a.j;a=void 0!==m?m:\"10px sans-serif\";g=void 0!==g?g:\"center\";l=void 0!==l?l:\"middle\";this.g?(m=this.g,m.font=a,m.textAlign=g,m.textBaseline=l):this.g={font:a,textAlign:g,textBaseline:l};this.Ia=void 0!==f?f:\"\";this.j=void 0!==b?b:0;this.o=void 0!==d?d:0;this.l=void 0!==e?e:!1;this.v=void 0!==h?h:0;this.u=void 0!==c?c:1}else this.Ia=\"\"};function pt(a,b,c,d,e){this.v=a;this.c=b;this.o=d;this.l=c;this.f=e;this.a={};this.g=jd(1,1);this.j=Bh()}v(pt,ki);var qt={0:[[!0]]};function rt(a,b,c){var d,e=Math.floor(a.length/2);if(b>=e)for(d=e;d=d;)rt(c,a+b,a+d),rt(c,a+d,a+b),rt(c,a-d,a+b),rt(c,a-b,a+d),rt(c,a-b,a-d),rt(c,a-d,a-b),rt(c,a+d,a-b),rt(c,a+b,a-d),d++,e+=1+2*d,0<2*(e-b)+1&&(--b,e+=1-2*b);return qt[a]=c}function tt(a){for(var b in a.a){var c=a.a[b],d;for(d in c)c[d].Te()}}\npt.prototype.Ea=function(a,b,c,d,e,f){d=Math.round(d);var g=2*d+1,h=Kh(this.j,d+.5,d+.5,1/b,-1/b,-c,-a[0],-a[1]),l=this.g;l.canvas.width!==g||l.canvas.height!==g?(l.canvas.width=g,l.canvas.height=g):l.clearRect(0,0,g,g);if(void 0!==this.f){var m=Oa();Pa(m,a);Qa(m,b*(this.f+d),m)}var n=st(d);return ut(this,l,h,c,e,function(a){for(var b=l.getImageData(0,0,g,g).data,c=0;ca.$&&(a.$=d.$),d.daa.ia&&(a.ia=d.ia)):a[b][c]=d:(a[b]={},a[b][c]=d)}\nfunction Ft(a,b,c,d,e,f,g,h,l,m){var n=w(b).toString();n in a.wantedTiles||(a.wantedTiles[n]={});var p=a.wantedTiles[n];a=a.tileQueue;var q=c.minZoom,r,u,x;for(x=g;x>=q;--x){var B=oc(c,f,x,B);var E=c.Da(x);for(r=B.ca;r<=B.$;++r)for(u=B.da;u<=B.ia;++u)if(g-x<=h){var A=b.Nc(x,r,u,d,e);0==A.getState()&&(p[A.bb()]=!0,A.bb()in a.a||a.f([A,n,tc(c,A.ta),E]));l&&l.call(m,A)}else b.Ug(x,r,u,e)}};function Gt(a){xt.call(this,a);this.fa=Bh()}v(Gt,xt);function Ht(a,b,c){var d=b.pixelRatio,e=b.size[0]*d,f=b.size[1]*d,g=b.viewState.rotation,h=ib(c),l=hb(c),m=gb(c);c=eb(c);Gh(b.coordinateToPixelTransform,h);Gh(b.coordinateToPixelTransform,l);Gh(b.coordinateToPixelTransform,m);Gh(b.coordinateToPixelTransform,c);a.save();Vh(a,-g,e/2,f/2);a.beginPath();a.moveTo(h[0]*d,h[1]*d);a.lineTo(l[0]*d,l[1]*d);a.lineTo(m[0]*d,m[1]*d);a.lineTo(c[0]*d,c[1]*d);a.clip();Vh(a,g,e/2,f/2)}\nfunction It(a,b,c,d,e){var f=a.a;if(Rc(f,b)){var g=d.size[0]*d.pixelRatio,h=d.size[1]*d.pixelRatio,l=d.viewState.rotation;Vh(c,-l,g/2,h/2);a=e?e:Jt(a,d,0);f.b(new Rh(b,new Xh(c,d.pixelRatio,d.extent,a,d.viewState.rotation),d,c,null));Vh(c,l,g/2,h/2)}}Gt.prototype.u=function(a,b,c,d){if(this.Ea(a,b,0,mf,this))return c.call(d,this.a,null)};Gt.prototype.ef=function(a,b,c,d){It(this,\"postcompose\",a,b,d)};\nfunction Jt(a,b,c){var d=b.viewState,e=b.pixelRatio,f=e/d.resolution;return Kh(a.fa,e*b.size[0]/2,e*b.size[1]/2,f,-f,-d.rotation,-d.center[0]+c,-d.center[1])};function Kt(a,b){return w(a)-w(b)}function Lt(a,b){a=.5*a/b;return a*a}function Mt(a,b,c,d,e,f){var g=!1,h;if(h=c.Y()){var l=h.Ye();2==l||3==l?h.Bj(e,f):(0==l&&h.load(),h.Nh(e,f),g=!0)}if(e=(0,c.Za)(b))d=e.Vd(d),(0,Nt[d.U()])(a,d,c,b);return g}\nvar Nt={Point:function(a,b,c,d){var e=c.Y();if(e){if(2!=e.Ye())return;var f=a.b(c.Ba(),\"Image\");f.Ub(e);f.qc(b,d)}if(e=c.Na())a=a.b(c.Ba(),\"Text\"),a.Cb(e),a.yc(b.ga(),0,2,2,b,d)},LineString:function(a,b,c,d){var e=c.Ga();if(e){var f=a.b(c.Ba(),\"LineString\");f.Ma(null,e);f.mc(b,d)}if(e=c.Na())a=a.b(c.Ba(),\"Text\"),a.Cb(e),a.yc(di(b),0,2,2,b,d)},Polygon:function(a,b,c,d){var e=c.Fa(),f=c.Ga();if(e||f){var g=a.b(c.Ba(),\"Polygon\");g.Ma(e,f);g.rc(b,d)}if(e=c.Na())a=a.b(c.Ba(),\"Text\"),a.Cb(e),a.yc(Wf(b),\n0,2,2,b,d)},MultiPoint:function(a,b,c,d){var e=c.Y();if(e){if(2!=e.Ye())return;var f=a.b(c.Ba(),\"Image\");f.Ub(e);f.oc(b,d)}if(e=c.Na())a=a.b(c.Ba(),\"Text\"),a.Cb(e),c=b.ga(),a.yc(c,0,c.length,b.qa(),b,d)},MultiLineString:function(a,b,c,d){var e=c.Ga();if(e){var f=a.b(c.Ba(),\"LineString\");f.Ma(null,e);f.nc(b,d)}if(e=c.Na())a=a.b(c.Ba(),\"Text\"),a.Cb(e),c=ei(b),a.yc(c,0,c.length,2,b,d)},MultiPolygon:function(a,b,c,d){var e=c.Fa(),f=c.Ga();if(f||e){var g=a.b(c.Ba(),\"Polygon\");g.Ma(e,f);g.pc(b,d)}if(e=\nc.Na())a=a.b(c.Ba(),\"Text\"),a.Cb(e),c=gi(b),a.yc(c,0,c.length,2,b,d)},GeometryCollection:function(a,b,c,d){b=b.a;var e;var f=0;for(e=b.length;fl[2];)++L,n=m*L,n=Jt(this,a,n),p.La(x,e,n,g,f),h-=m;n=Jt(this,a,0)}Vh(x,g,E/2,A/2);x!=c&&(It(this,\"render\",x,a,n),c.drawImage(x.canvas,-r,-u),x.translate(-r,-u));x.globalAlpha=B}q&&c.restore();this.ef(c,a,b,n)};\nOt.prototype.Ea=function(a,b,c,d,e){if(this.f){var f=this.a,g={};return this.f.Ea(a,b.viewState.resolution,b.viewState.rotation,c,{},function(a){var b=w(a).toString();if(!(b in g))return g[b]=!0,d.call(e,a,f)})}};Ot.prototype.D=function(){zt(this)};\nOt.prototype.sd=function(a){function b(a){var b=a.Lc();if(b)var d=b.call(a,m);else(b=c.f)&&(d=b(a,m));if(d){if(d){b=!1;if(Array.isArray(d))for(var e=0,f=d.length;ea.ad:e<=a.ad}a.l?(e=b.coordinate,c=a.j.V(),a.g===pu?d=a.a:a.g===ou?(d=a.a[0],d=d[d.length-1],wu(a,b)&&(e=a.l.slice())):(d=a.a,d=d[d.length-1]),d[0]=e[0],d[1]=e[1],a.Za(a.a,c),a.B&&a.B.V().ma(e),c instanceof D&&a.g!==ou?(a.C||(a.C=new H(new O(null))),e=c.Ch(0),b=a.C.V(),b.ba(e.ja,e.ga())):a.I&&(b=a.C.V(),b.ma(a.I)),yu(a)):(b=b.coordinate.slice(),a.B?a.B.V().ma(b):(a.B=new H(new C(b)),\nyu(a)));return!0}function wu(a,b){var c=!1;if(a.j){var d=!1,e=[a.l];a.g===qu?d=a.a.length>a.Sa:a.g===ou&&(d=a.a[0].length>a.Sa,e=[a.a[0][0],a.a[0][a.a[0].length-2]]);if(d)for(var d=b.map,f=0,g=e.length;f=a.va&&(a.u?e.pop():d=!0);e.push(b.slice());a.Za(e,c)}else a.g===ou&&(e=a.a[0],e.length>=a.va&&(a.u?e.pop():d=!0),e.push(b.slice()),d&&(a.l=e[0]),a.Za(a.a,c));yu(a);d&&a.Pd()}\nk.Op=function(){if(this.j){var a=this.j.V();if(this.g===qu){var b=this.a;b.splice(-2,1);this.Za(b,a);2<=b.length&&(this.l=b[b.length-2].slice())}else if(this.g===ou){b=this.a[0];b.splice(-2,1);var c=this.C.V();c.ma(b);this.Za(this.a,a)}0===b.length&&(this.l=null);yu(this)}};\nk.Pd=function(){var a=xu(this),b=this.a,c=a.V();this.g===qu?(b.pop(),this.Za(b,c)):this.g===ou&&(b[0].pop(),this.Za(b,c),b=c.X());\"MultiPoint\"===this.R?a.Ra(new Q([b])):\"MultiLineString\"===this.R?a.Ra(new P([b])):\"MultiPolygon\"===this.R&&a.Ra(new R([b]));this.b(new zu(\"drawend\",a));this.$a&&this.$a.push(a);this.Yb&&this.Yb.yb(a)};function xu(a){a.l=null;var b=a.j;b&&(a.j=null,a.B=null,a.C=null,a.pa.ha().clear(!0));return b}\nk.vn=function(a){var b=a.V();this.j=a;this.a=b.X();a=this.a[this.a.length-1];this.l=a.slice();this.a.push(a.slice());yu(this);this.b(new zu(\"drawstart\",this.j))};k.Xc=nf;function yu(a){var b=[];a.j&&b.push(a.j);a.C&&b.push(a.C);a.B&&b.push(a.B);a=a.pa.ha();a.clear(!0);a.cd(b)}k.ri=function(){var a=this.v,b=this.c();a&&b||xu(this);this.pa.setMap(b?a:null)};\nfunction nu(a){var b;\"Point\"===a||\"MultiPoint\"===a?b=pu:\"LineString\"===a||\"MultiLineString\"===a?b=qu:\"Polygon\"===a||\"MultiPolygon\"===a?b=ou:\"Circle\"===a&&(b=vu);return b}var pu=\"Point\",qu=\"LineString\",ou=\"Polygon\",vu=\"Circle\";function zu(a,b){Oc.call(this,a);this.feature=b}v(zu,Oc);function Au(a){this.a=this.j=null;this.C=!1;this.B=this.l=null;a||(a={});a.extent&&this.g(a.extent);Dg.call(this,{handleDownEvent:Bu,handleDragEvent:Cu,handleEvent:Du,handleUpEvent:Eu});this.u=new T({source:new U({useSpatialIndex:!1,wrapX:!!a.wrapX}),style:a.boxStyle?a.boxStyle:Fu(),updateWhileAnimating:!0,updateWhileInteracting:!0});this.I=new T({source:new U({useSpatialIndex:!1,wrapX:!!a.wrapX}),style:a.pointerStyle?a.pointerStyle:Gu(),updateWhileAnimating:!0,updateWhileInteracting:!0})}v(Au,Dg);\nfunction Du(a){if(!(a instanceof ee))return!0;if(\"pointermove\"==a.type&&!this.D){var b=a.pixel,c=a.map,d=Hu(this,b,c);d||(d=c.Wa(b));Iu(this,d)}Eg.call(this,a);return!1}\nfunction Bu(a){function b(a){var b=null,c=null;a[0]==e[0]?b=e[2]:a[0]==e[2]&&(b=e[0]);a[1]==e[1]?c=e[3]:a[1]==e[3]&&(c=e[1]);return null!==b&&null!==c?[b,c]:null}var c=a.pixel,d=a.map,e=this.G();(a=Hu(this,c,d))&&e?(c=a[0]==e[0]||a[0]==e[2]?a[0]:null,d=a[1]==e[1]||a[1]==e[3]?a[1]:null,null!==c&&null!==d?this.a=Ju(b(a)):null!==c?this.a=Ku(b([c,e[1]]),b([c,e[3]])):null!==d&&(this.a=Ku(b([e[0],d]),b([e[2],d])))):(a=d.Wa(c),this.g([a[0],a[1],a[0],a[1]]),this.a=Ju(a));return!0}\nfunction Cu(a){this.a&&(a=a.coordinate,this.g(this.a(a)),Iu(this,a));return!0}function Eu(){this.a=null;var a=this.G();a&&jb(a)||this.g(null);return!1}function Fu(){var a=gl();return function(){return a.Polygon}}function Gu(){var a=gl();return function(){return a.Point}}function Ju(a){return function(b){return Na([a,b])}}function Ku(a,b){return a[0]==b[0]?function(c){return Na([a,[c[0],b[1]]])}:a[1]==b[1]?function(c){return Na([a,[b[0],c[1]]])}:null}\nfunction Hu(a,b,c){function d(a,b){return kf(e,a)-kf(e,b)}var e=c.Wa(b),f=a.G();if(f){f=[[[f[0],f[1]],[f[0],f[3]]],[[f[0],f[3]],[f[2],f[3]]],[[f[2],f[3]],[f[2],f[1]]],[[f[2],f[1]],[f[0],f[1]]]];f.sort(d);var f=f[0],g=af(e,f),h=c.Ja(g);if(10>=jf(b,h))return b=c.Ja(f[0]),c=c.Ja(f[1]),b=hf(h,b),c=hf(h,c),a.C=10>=Math.sqrt(Math.min(b,c)),a.C&&(g=b>c?f[1]:f[0]),g}return null}function Iu(a,b){var c=a.B;c?c.V().ma(b):(c=new H(new C(b)),a.B=c,a.I.ha().yb(c))}\nAu.prototype.setMap=function(a){this.u.setMap(a);this.I.setMap(a);Dg.prototype.setMap.call(this,a)};Au.prototype.G=function(){return this.j};Au.prototype.g=function(a){this.j=a?a:null;var b=this.l;b?a?b.Ra(Yf(a)):b.Ra(void 0):(this.l=b=a?new H(Yf(a)):new H({}),this.u.ha().yb(b));this.b(new Lu(this.j))};function Lu(a){Oc.call(this,Mu);this.b=a}v(Lu,Oc);var Mu=\"extentchanged\";function Nu(a){Dg.call(this,{handleDownEvent:Ou,handleDragEvent:Pu,handleEvent:Qu,handleUpEvent:Ru});this.ad=a.condition?a.condition:Cg;this.$a=function(a){return xg(a)&&wg(a)};this.xb=a.deleteCondition?a.deleteCondition:this.$a;this.Yb=a.insertVertexCondition?a.insertVertexCondition:mf;this.Sa=this.g=null;this.va=[0,0];this.C=this.I=!1;this.a=new Gj;this.fa=void 0!==a.pixelTolerance?a.pixelTolerance:10;this.l=this.pa=!1;this.j=[];this.B=new T({source:new U({useSpatialIndex:!1,wrapX:!!a.wrapX}),style:a.style?\na.style:Su(),updateWhileAnimating:!0,updateWhileInteracting:!0});this.T={Point:this.Dn,LineString:this.ti,LinearRing:this.ti,Polygon:this.En,MultiPoint:this.Bn,MultiLineString:this.An,MultiPolygon:this.Cn,Circle:this.yn,GeometryCollection:this.zn};this.u=a.features;this.u.forEach(this.kg,this);y(this.u,\"add\",this.wn,this);y(this.u,\"remove\",this.xn,this);this.R=null}v(Nu,Dg);k=Nu.prototype;\nk.kg=function(a){var b=a.V();b&&b.U()in this.T&&this.T[b.U()].call(this,a,b);(b=this.v)&&b.c&&this.c()&&Tu(this,this.va,b);y(a,\"change\",this.si,this)};function Uu(a,b){a.C||(a.C=!0,a.b(new Vu(\"modifystart\",a.u,b)))}function Wu(a,b){Xu(a,b);a.g&&!a.u.dc()&&(a.B.ha().Gb(a.g),a.g=null);Kc(b,\"change\",a.si,a)}function Xu(a,b){a=a.a;var c=[];a.forEach(function(a){b===a.feature&&c.push(a)});for(var d=c.length-1;0<=d;--d)a.remove(c[d])}\nk.Ha=function(a){this.g&&!a&&(this.B.ha().Gb(this.g),this.g=null);Dg.prototype.Ha.call(this,a)};k.setMap=function(a){this.B.setMap(a);Dg.prototype.setMap.call(this,a)};k.wn=function(a){this.kg(a.element)};k.si=function(a){this.l||(a=a.target,Wu(this,a),this.kg(a))};k.xn=function(a){Wu(this,a.element)};k.Dn=function(a,b){var c=b.X();a={feature:a,geometry:b,la:[c,c]};this.a.Ca(b.G(),a)};\nk.Bn=function(a,b){var c=b.X(),d;var e=0;for(d=c.length;em?h[1]:h[0]),Yu(a,l),m=1,c=f.length;mn&&(n=0);f=g.geometry;var p=d=f.X();var q=!1;switch(f.U()){case \"MultiLineString\":2c&&(a.index+=e)})}function Su(){var a=gl();return function(){return a.Point}}function Vu(a,b,c){Oc.call(this,a);this.features=b;this.mapBrowserEvent=c}v(Vu,Oc);function cv(a){ng.call(this,{handleEvent:dv});a=a?a:{};this.C=a.condition?a.condition:wg;this.D=a.addCondition?a.addCondition:nf;this.B=a.removeCondition?a.removeCondition:nf;this.I=a.toggleCondition?a.toggleCondition:yg;this.l=a.multi?a.multi:!1;this.o=a.filter?a.filter:mf;this.j=a.hitTolerance?a.hitTolerance:0;this.g=new T({source:new U({useSpatialIndex:!1,features:a.features,wrapX:a.wrapX}),style:a.style?a.style:ev(),updateWhileAnimating:!0,updateWhileInteracting:!0});if(a.layers)if(\"function\"===\ntypeof a.layers)a=a.layers;else{var b=a.layers;a=function(a){return ja(b,a)}}else a=mf;this.u=a;this.a={};a=this.g.ha().f;y(a,\"add\",this.Fn,this);y(a,\"remove\",this.Jn,this)}v(cv,ng);k=cv.prototype;k.Gn=function(){return this.g.ha().f};k.Hn=function(){return this.j};k.In=function(a){a=w(a);return this.a[a]};\nfunction dv(a){if(!this.C(a))return!0;var b=this.D(a),c=this.B(a),d=this.I(a),e=!b&&!c&&!d,f=a.map,g=this.g.ha().f,h=[],l=[];if(e){ub(this.a);f.we(a.pixel,function(a,b){if(this.o(a,b))return l.push(a),a=w(a),this.a[a]=b,!this.l}.bind(this),{layerFilter:this.u,hitTolerance:this.j});for(e=g.dc()-1;0<=e;--e){var f=g.item(e),m=l.indexOf(f);-1b?m[1]:m[0],l=d.Ja(f)}else a.C&&(f=h?$e(c,g[0].feature.V()):af(c,m),l=d.Ja(f),jf(b,l)<=a.g&&(e=!0,a.R&&!h&&(c=\nd.Ja(m[0]),h=d.Ja(m[1]),c=hf(l,c),b=hf(l,h),h=Math.sqrt(Math.min(c,b)),h=h<=a.g)))&&(f=c>b?m[1]:m[0],l=d.Ja(f));e&&(l=[Math.round(l[0]),Math.round(l[1])])}return{nq:e,vertex:f,wq:l}}k.Dj=function(a){this.Gb(a,!1);this.yb(a,!1)};k.Mn=function(a,b){b=Zf(b).X()[0];var c;var d=0;for(c=b.length-1;dca&&(ca=uc,m=Ub)}if(!ca){g=null;break a}ca=g[m];g[m]=g[l];g[l]=ca;for(m=l+1;mthis.b/2){var b=[[a.source[0][0],a.source[0][1]],[a.source[1][0],a.source[1][1]],[a.source[2][0],a.source[2][1]]];b[0][0]-n>this.b/2&&(b[0][0]-=this.b);b[1][0]-n>this.b/2&&(b[1][0]-=this.b);b[2][0]-n>this.b/2&&(b[2][0]-=this.b);Math.max(b[0][0],b[1][0],b[2][0])-Math.min(b[0][0],b[1][0],b[2][0])p,u=!1;if(0a.v),u)){Math.abs(b[0]-d[0])<=Math.abs(b[1]-d[1])?(r=[(c[0]+d[0])/2,(c[1]+d[1])/2],q=a.a(r),n=[(e[0]+b[0])/2,(e[1]+b[1])/2],p=a.a(n),Ev(a,b,c,r,n,f,g,q,p,m-1),Ev(a,n,r,d,e,p,q,h,l,m-1)):(r=[(b[0]+c[0])/2,(b[1]+c[1])/2],q=a.a(r),n=[(d[0]+e[0])/2,(d[1]+e[1])/2],p=a.a(n),Ev(a,b,r,n,e,f,q,p,l,m-1),Ev(a,r,c,d,n,q,g,h,p,m-1));return}if(r){if(!a.l)return;a.o=!0}a.c.push({source:[f,h,l],target:[b,d,e]});a.c.push({source:[f,g,h],target:[b,c,d]})}}\nfunction Fv(a){var b=Oa();a.c.forEach(function(a){a=a.source;Pa(b,a[0]);Pa(b,a[1]);Pa(b,a[2])});return b};function Gv(a,b,c,d,e,f){this.v=b;this.l=a.G();var g=b.G(),h=g?pb(c,g):c,g=Av(a,b,nb(h),d);this.j=new Dv(a,b,h,this.l,.5*g);this.c=d;this.i=c;a=Fv(this.j);this.o=(this.Hb=f(a,g,e))?this.Hb.a:1;this.ee=this.g=null;e=2;f=[];this.Hb&&(e=0,f=this.Hb.f);Is.call(this,c,d,this.o,e,f)}v(Gv,Is);Gv.prototype.ka=function(){1==this.state&&(Ec(this.ee),this.ee=null);Is.prototype.ka.call(this)};Gv.prototype.Y=function(){return this.g};\nGv.prototype.de=function(){var a=this.Hb.getState();2==a&&(this.g=Cv(lb(this.i)/this.c,mb(this.i)/this.c,this.o,this.Hb.resolution,0,this.c,this.i,this.j,[{extent:this.Hb.G(),image:this.Hb.Y()}],0));this.state=a;this.s()};Gv.prototype.load=function(){if(0==this.state){this.state=1;this.s();var a=this.Hb.getState();2==a||3==a?this.de():(this.ee=y(this.Hb,\"change\",function(){var a=this.Hb.getState();if(2==a||3==a)Ec(this.ee),this.ee=null,this.de()},this),this.Hb.load())}};function Hv(a){$t.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection,state:a.state});this.C=void 0!==a.resolutions?a.resolutions:null;this.a=null;this.fa=0}v(Hv,$t);function Iv(a,b){a.C&&(b=a.C[ka(a.C,b,0)]);return b}\nHv.prototype.Y=function(a,b,c,d){var e=this.c;if(e&&d&&!dc(e,d)){if(this.a){if(this.fa==this.i&&dc(this.a.v,d)&&this.a.resolution==b&&this.a.a==c&&bb(this.a.G(),a))return this.a;Nc(this.a);this.a=null}this.a=new Gv(e,d,a,b,c,function(a,b,c){return this.Jc(a,b,c,e)}.bind(this));this.fa=this.i;return this.a}e&&(d=e);return this.Jc(a,b,c,d)};Hv.prototype.o=function(a){a=a.target;switch(a.getState()){case 1:this.b(new Jv(Kv,a));break;case 2:this.b(new Jv(Lv,a));break;case 3:this.b(new Jv(Mv,a))}};\nfunction Nv(a,b){a.Y().src=b}function Jv(a,b){Oc.call(this,a);this.image=b}v(Jv,Oc);var Kv=\"imageloadstart\",Lv=\"imageloadend\",Mv=\"imageloaderror\";function Ov(a){Hv.call(this,{attributions:a.attributions,logo:a.logo,projection:a.projection,resolutions:a.resolutions,state:a.state});this.pa=a.canvasFunction;this.R=null;this.T=0;this.va=void 0!==a.ratio?a.ratio:1.5}v(Ov,Hv);Ov.prototype.Jc=function(a,b,c,d){b=Iv(this,b);var e=this.R;if(e&&this.T==this.i&&e.resolution==b&&e.a==c&&Va(e.G(),a))return e;a=a.slice();rb(a,this.va);(d=this.pa(a,b,c,[lb(a)/b*c,mb(a)/b*c],d))&&(e=new Ks(a,b,c,this.j,d));this.R=e;this.T=this.i;return e};function Pv(a){this.f=a.source;this.$a=Bh();this.g=jd();this.l=[0,0];this.Sa=void 0==a.renderBuffer?100:a.renderBuffer;this.B=null;Ov.call(this,{attributions:a.attributions,canvasFunction:this.tk.bind(this),logo:a.logo,projection:a.projection,ratio:a.ratio,resolutions:a.resolutions,state:this.f.getState()});this.I=null;this.v=void 0;this.Ii(a.style);y(this.f,\"change\",this.ro,this)}v(Pv,Ov);k=Pv.prototype;\nk.tk=function(a,b,c,d,e){var f=new pt(.5*b/c,a,b,this.f.T,this.Sa);this.f.Yd(a,b,e);var g=!1;this.f.$b(a,function(a){var d;if(!(d=g)){var e;(d=a.Lc())?e=d.call(a,b):this.v&&(e=this.v(a,b));if(e){var h,p=!1;Array.isArray(e)||(e=[e]);d=0;for(h=e.length;da[0]||a[0]>e[0]||0>a[1]||a[1]>e[1])&&(this.f||\n(this.f=jd(1,1)),this.f.clearRect(0,0,1,1),this.f.drawImage(this.M.Y(),a[0],a[1],1,1,0,0,1,1),e=this.f.getImageData(0,0,1,1).data,0=d)this.state=4;else if(this.l=new Dv(a,c,f,e,d*(void 0!==m?m:.5)),this.l.c.length)if(this.g=b.tc(d),c=Fv(this.l),e&&(a.i?(c[1]=Ca(c[1],e[1],e[3]),c[3]=Ca(c[3],e[1],e[3])):c=pb(c,e)),jb(c)){a=\noc(b,c,this.g);for(b=a.ca;b<=a.$;b++)for(c=a.da;c<=a.ia;c++)(m=l(this.g,b,c,g))&&this.a.push(m);this.a.length||(this.state=4)}else this.state=4;else this.state=4;else this.state=4}v(hw,Ls);hw.prototype.ka=function(){1==this.state&&(this.yd.forEach(Ec),this.yd=null);Ls.prototype.ka.call(this)};hw.prototype.Y=function(){return this.v};\nhw.prototype.de=function(){var a=[];this.a.forEach(function(b){b&&2==b.getState()&&a.push({extent:this.c.Aa(b.ta),image:b.Y()})},this);this.a.length=0;if(a.length){var b=this.o[0],c=this.j.gb(b),d=\"number\"===typeof c?c:c[0],c=\"number\"===typeof c?c:c[1],b=this.j.Da(b),e=this.c.Da(this.g),f=this.j.Aa(this.o);this.v=Cv(d,c,this.S,e,this.c.G(),b,f,this.l,a,this.u,this.D);this.state=2}else this.state=3;this.s()};\nhw.prototype.load=function(){if(0==this.state){this.state=1;this.s();var a=0;this.yd=[];this.a.forEach(function(b){var c=b.getState();if(0==c||1==c){a++;var d=y(b,\"change\",function(){var c=b.getState();if(2==c||3==c||4==c)Ec(d),a--,a||(this.yd.forEach(Ec),this.yd=null,this.de())},this);this.yd.push(d)}},this);this.a.forEach(function(a){0==a.getState()&&a.load()});a||setTimeout(this.de.bind(this),0)}};function iw(a,b){var c=/\\{z\\}/g,d=/\\{x\\}/g,e=/\\{y\\}/g,f=/\\{-y\\}/g;return function(g){if(g)return a.replace(c,g[0].toString()).replace(d,g[1].toString()).replace(e,function(){return(-g[2]-1).toString()}).replace(f,function(){var a=b.a?b.a[g[0]]:null;xa(a,55);return(a.ia-a.da+1+g[2]).toString()})}}function jw(a,b){for(var c=a.length,d=Array(c),e=0;ea.highWaterMark}nw.prototype.fd=function(a){for(var b,c;ow(this);){b=this.a.Yc;c=b.ta[0].toString();var d;if(d=c in a)b=b.ta,d=za(a[c],b[1],b[2]);if(d)break;else Nc(this.pop())}};function pw(a){$t.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection,state:a.state,wrapX:a.wrapX});this.va=void 0!==a.opaque?a.opaque:!1;this.$a=void 0!==a.tilePixelRatio?a.tilePixelRatio:1;this.tileGrid=void 0!==a.tileGrid?a.tileGrid:null;this.a=new nw(a.cacheSize);this.o=[0,0];this.uc=\"\"}v(pw,$t);k=pw.prototype;k.Ki=function(){return ow(this.a)};k.fd=function(a,b){(a=this.Wd(a))&&a.fd(b)};\nfunction yt(a,b,c,d,e){b=a.Wd(b);if(!b)return!1;for(var f=!0,g,h,l=d.ca;l<=d.$;++l)for(var m=d.da;m<=d.ia;++m)g=a.Sb(c,l,m),h=!1,b.b.hasOwnProperty(g)&&(g=b.get(g),(h=2===g.getState())&&(h=!1!==e(g))),h||(f=!1);return f}k.Wf=function(){return 0};function qw(a,b){a.uc!==b&&(a.uc=b,a.s())}k.Sb=function(a,b,c){return a+\"/\"+b+\"/\"+c};k.Zf=function(){return this.va};k.ab=function(){return this.tileGrid};k.Ta=function(a){return this.tileGrid?this.tileGrid:vc(a)};\nk.Wd=function(a){var b=this.c;return b&&!dc(b,a)?null:this.a};k.nb=function(){return this.$a};k.Xd=function(a,b,c){c=this.Ta(c);b=this.nb(b);a=Ma(c.gb(a),this.o);return 1==b?a:La(a,b,this.o)};function rw(a,b,c){var d=void 0!==c?c:a.c;c=a.Ta(d);if(a.u&&d.c){var e=b;b=e[0];a=tc(c,e);d=zc(d);Ta(d,a)?b=e:(e=lb(d),a[0]+=e*Math.ceil((d[0]-a[0])/e),b=c.bg(a,b))}e=b[0];d=b[1];a=b[2];if(c.minZoom>e||e>c.maxZoom)c=!1;else{var f=c.G();c=(c=f?oc(c,f,e):c.a?c.a[e]:null)?za(c,d,a):!0}return c?b:null}\nk.sa=function(){this.a.clear();this.s()};k.Ug=ua;function sw(a,b){Oc.call(this,a);this.tile=b}v(sw,Oc);function tw(a){pw.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,extent:a.extent,logo:a.logo,opaque:a.opaque,projection:a.projection,state:a.state,tileGrid:a.tileGrid,tilePixelRatio:a.tilePixelRatio,wrapX:a.wrapX});this.tileLoadFunction=a.tileLoadFunction;this.tileUrlFunction=this.Fc?this.Fc.bind(this):lw;this.urls=null;a.urls?this.eb(a.urls):a.url&&this.jb(a.url);a.tileUrlFunction&&this.cb(a.tileUrlFunction)}v(tw,pw);k=tw.prototype;k.pb=function(){return this.tileLoadFunction};\nk.qb=function(){return this.tileUrlFunction};k.rb=function(){return this.urls};k.Li=function(a){a=a.target;switch(a.getState()){case 1:this.b(new sw(\"tileloadstart\",a));break;case 2:this.b(new sw(\"tileloadend\",a));break;case 3:this.b(new sw(\"tileloaderror\",a))}};k.vb=function(a){this.a.clear();this.tileLoadFunction=a;this.s()};k.cb=function(a,b){this.tileUrlFunction=a;\"undefined\"!==typeof b?qw(this,b):this.s()};\nk.jb=function(a){var b=this.urls=mw(a);this.cb(this.Fc?this.Fc.bind(this):jw(b,this.tileGrid),a)};k.eb=function(a){this.urls=a;var b=a.join(\"\\n\");this.cb(this.Fc?this.Fc.bind(this):jw(a,this.tileGrid),b)};k.Ug=function(a,b,c){a=this.Sb(a,b,c);this.a.b.hasOwnProperty(a)&&this.a.get(a)};function X(a){tw.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,extent:a.extent,logo:a.logo,opaque:a.opaque,projection:a.projection,state:a.state,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction?a.tileLoadFunction:uw,tilePixelRatio:a.tilePixelRatio,tileUrlFunction:a.tileUrlFunction,url:a.url,urls:a.urls,wrapX:a.wrapX});this.crossOrigin=void 0!==a.crossOrigin?a.crossOrigin:null;this.tileClass=a.tileClass?a.tileClass:Os;this.g={};this.v={};this.Sa=a.reprojectionErrorThreshold;this.I=\n!1}v(X,tw);k=X.prototype;k.Ki=function(){if(ow(this.a))return!0;for(var a in this.g)if(ow(this.g[a]))return!0;return!1};k.fd=function(a,b){a=this.Wd(a);this.a.fd(this.a==a?b:{});for(var c in this.g){var d=this.g[c];d.fd(d==a?b:{})}};k.Wf=function(a){return this.c&&a&&!dc(this.c,a)?0:this.Xf()};k.Xf=function(){return 0};k.Zf=function(a){return this.c&&a&&!dc(this.c,a)?!1:tw.prototype.Zf.call(this,a)};\nk.Ta=function(a){var b=this.c;return!this.tileGrid||b&&!dc(b,a)?(b=w(a).toString(),b in this.v||(this.v[b]=vc(a)),this.v[b]):this.tileGrid};k.Wd=function(a){var b=this.c;if(!b||dc(b,a))return this.a;a=w(a).toString();a in this.g||(this.g[a]=new nw(this.a.highWaterMark));return this.g[a]};function vw(a,b,c,d,e,f,g){b=[b,c,d];e=(c=rw(a,b,f))?a.tileUrlFunction(c,e,f):void 0;e=new a.tileClass(b,void 0!==e?0:4,void 0!==e?e:\"\",a.crossOrigin,a.tileLoadFunction);e.key=g;y(e,\"change\",a.Li,a);return e}\nk.Nc=function(a,b,c,d,e){if(this.c&&e&&!dc(this.c,e)){var f=this.Wd(e);c=[a,b,c];var g;a=this.Sb.apply(this,c);f.b.hasOwnProperty(a)&&(g=f.get(a));b=this.uc;if(g&&g.key==b)return g;var h=this.c,l=this.Ta(h),m=this.Ta(e),n=rw(this,c,e);d=new hw(h,l,e,m,c,n,this.nb(d),this.Xf(),function(a,b,c,d){return ww(this,a,b,c,d,h)}.bind(this),this.Sa,this.I);d.key=b;g?(d.i=g,f.replace(a,d)):f.set(a,d);return d}return ww(this,a,b,c,d,e)};\nfunction ww(a,b,c,d,e,f){var g=a.Sb(b,c,d),h=a.uc;if(a.a.b.hasOwnProperty(g)){var l=a.a.get(g);if(l.key!=h){var m=l;l=vw(a,b,c,d,e,f,h);0==m.getState()?l.i=m.i:l.i=m;if(l.i){b=l.i;c=l;do{if(2==b.getState()){b.i=null;break}else 1==b.getState()?c=b:0==b.getState()?c.i=b.i:c=b;b=c.i}while(b)}a.a.replace(g,l)}}else l=vw(a,b,c,d,e,f,h),a.a.set(g,l);return l}k.Pb=function(a){if(this.I!=a){this.I=a;for(var b in this.g)this.g[b].clear();this.s()}};\nk.Qb=function(a,b){if(a=Tb(a))a=w(a).toString(),a in this.v||(this.v[a]=b)};function uw(a,b){a.Y().src=b};function xw(a){this.B=void 0!==a.hidpi?a.hidpi:!1;X.call(this,{cacheSize:a.cacheSize,crossOrigin:\"anonymous\",opaque:!0,projection:Tb(\"EPSG:3857\"),reprojectionErrorThreshold:a.reprojectionErrorThreshold,state:\"loading\",tileLoadFunction:a.tileLoadFunction,tilePixelRatio:this.B?2:1,wrapX:void 0!==a.wrapX?a.wrapX:!0});this.R=void 0!==a.culture?a.culture:\"en-us\";this.C=void 0!==a.maxZoom?a.maxZoom:-1;this.f=a.key;this.l=a.imagerySet;gw(\"https://dev.virtualearth.net/REST/v1/Imagery/Metadata/\"+this.l+\"?uriScheme=https&include=ImageryProviders&key=\"+\nthis.f,this.pa.bind(this),void 0,\"jsonp\")}v(xw,X);var yw=new Ac({html:'Terms of Use'});xw.prototype.T=function(){return this.f};xw.prototype.fa=function(){return this.l};\nxw.prototype.pa=function(a){if(200!=a.statusCode||\"OK\"!=a.statusDescription||\"ValidCredentials\"!=a.authenticationResultCode||1!=a.resourceSets.length||1!=a.resourceSets[0].resources.length)bu(this,\"error\");else{var b=a.brandLogoUri;-1==b.indexOf(\"https\")&&(b=b.replace(\"http\",\"https\"));var c=a.resourceSets[0].resources[0],d=-1==this.C?c.zoomMax:this.C;a=zc(this.c);var e=xc({extent:a,minZoom:c.zoomMin,maxZoom:d,tileSize:(c.imageWidth==c.imageHeight?c.imageWidth:[c.imageWidth,c.imageHeight])/this.nb()});\nthis.tileGrid=e;var f=this.R,g=this.B;this.tileUrlFunction=kw(c.imageUrlSubdomains.map(function(a){var b=[0,0,0],d=c.imageUrl.replace(\"{subdomain}\",a).replace(\"{culture}\",f);return function(a){if(a)return jc(a[0],a[1],-a[2]-1,b),a=d,g&&(a+=\"&dpi=d1&device=mobile\"),a.replace(\"{quadkey}\",kc(b))}}));if(c.imageryProviders){var h=Vb(Tb(\"EPSG:4326\"),this.c);a=c.imageryProviders.map(function(a){var b=a.attribution,c={};a.coverageAreas.forEach(function(a){var b=a.zoomMin,f=Math.min(a.zoomMax,d);a=a.bbox;\na=sb([a[1],a[0],a[3],a[2]],h);var g;for(g=b;g<=f;++g){var l=g.toString();b=oc(e,a,g);l in c?c[l].push(b):c[l]=[b]}});return new Ac({html:b,tileRanges:c})});a.push(yw);this.ua(a)}this.D=b;bu(this,\"ready\")}};function zw(a){a=a||{};var b=void 0!==a.projection?a.projection:\"EPSG:3857\",c=void 0!==a.tileGrid?a.tileGrid:xc({extent:zc(b),maxZoom:a.maxZoom,minZoom:a.minZoom,tileSize:a.tileSize});X.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,opaque:a.opaque,projection:b,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileGrid:c,tileLoadFunction:a.tileLoadFunction,tilePixelRatio:a.tilePixelRatio,tileUrlFunction:a.tileUrlFunction,url:a.url,urls:a.urls,\nwrapX:void 0!==a.wrapX?a.wrapX:!0})}v(zw,X);function Aw(a){this.C=a.account;this.B=a.map||\"\";this.f=a.config||{};this.l={};zw.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,maxZoom:void 0!==a.maxZoom?a.maxZoom:18,minZoom:a.minZoom,projection:a.projection,state:\"loading\",wrapX:a.wrapX});Bw(this)}v(Aw,zw);k=Aw.prototype;k.Kk=function(){return this.f};k.tq=function(a){tb(this.f,a);Bw(this)};k.Xp=function(a){this.f=a||{};Bw(this)};\nfunction Bw(a){var b=JSON.stringify(a.f);if(a.l[b])Cw(a,a.l[b]);else{var c=\"https://\"+a.C+\".cartodb.com/api/v1/map\";a.B&&(c+=\"/named/\"+a.B);var d=new XMLHttpRequest;d.addEventListener(\"load\",a.Dl.bind(a,b));d.addEventListener(\"error\",a.Cl.bind(a));d.open(\"POST\",c);d.setRequestHeader(\"Content-type\",\"application/json\");d.send(JSON.stringify(a.f))}}\nk.Dl=function(a,b){b=b.target;if(!b.status||200<=b.status&&300>b.status){try{var c=JSON.parse(b.responseText)}catch(d){bu(this,\"error\");return}Cw(this,c);this.l[a]=c;bu(this,\"ready\")}else bu(this,\"error\")};k.Cl=function(){bu(this,\"error\")};function Cw(a,b){a.jb(\"https://\"+b.cdn_url.https+\"/\"+a.C+\"/api/v1/map/\"+b.layergroupid+\"/{z}/{x}/{y}.png\")};function Y(a){U.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection,wrapX:a.wrapX});this.resolution=void 0;this.distance=void 0!==a.distance?a.distance:20;this.features=[];this.geometryFunction=a.geometryFunction||function(a){a=a.V();xa(a instanceof C,10);return a};this.source=a.source;this.source.J(\"change\",Y.prototype.sa,this)}v(Y,U);k=Y.prototype;k.$n=function(){return this.distance};k.ao=function(){return this.source};\nk.Yd=function(a,b,c){this.source.Yd(a,b,c);b!==this.resolution&&(this.clear(),this.resolution=b,Dw(this),this.cd(this.features))};k.Yp=function(a){this.distance=a;this.sa()};k.sa=function(){this.clear();Dw(this);this.cd(this.features);U.prototype.sa.call(this)};\nfunction Dw(a){if(void 0!==a.resolution){a.features.length=0;for(var b=Oa(),c=a.distance*a.resolution,d=a.source.Xe(),e={},f=0,g=d.length;fm*l?h*g/(m*p):l*g/(n*p),SETVIEWCENTERX:f[0],SETVIEWCENTERY:f[1]};tb(e,this.g);d=Fw(d,e);d=new Js(a,b,c,this.j,d,this.R,this.f);y(d,\"change\",this.o,this)}else d=null;this.M=d;this.B=this.i;return d};k.jo=function(){return this.f};k.mo=function(a){tb(this.g,a);this.s()};k.lo=function(a){this.M=null;this.f=a;this.s()};function Iw(a){var b=a.imageExtent,c=void 0!==a.crossOrigin?a.crossOrigin:null,d=a.imageLoadFunction?a.imageLoadFunction:Nv;Hv.call(this,{attributions:a.attributions,logo:a.logo,projection:Tb(a.projection)});this.M=new Js(b,void 0,1,this.j,a.url,c,d);this.f=a.imageSize?a.imageSize:null;y(this.M,\"change\",this.o,this)}v(Iw,Hv);Iw.prototype.Jc=function(a){return qb(a,this.M.G())?this.M:null};\nIw.prototype.o=function(a){if(2==this.M.getState()){var b=this.M.G(),c=this.M.Y();if(this.f){var d=this.f[0];var e=this.f[1]}else d=c.width,e=c.height;b=Math.ceil(lb(b)/(mb(b)/e));if(b!=d){var b=jd(b,e),f=b.canvas;b.drawImage(c,0,0,d,e,0,0,f.width,f.height);this.M.Og(f)}}Hv.prototype.o.call(this,a)};function Jw(a){a=a||{};Hv.call(this,{attributions:a.attributions,logo:a.logo,projection:a.projection,resolutions:a.resolutions});this.pa=void 0!==a.crossOrigin?a.crossOrigin:null;this.g=a.url;this.v=a.imageLoadFunction?a.imageLoadFunction:Nv;this.f=a.params||{};this.l=!0;Kw(this);this.T=a.serverType;this.va=void 0!==a.hidpi?a.hidpi:!0;this.M=null;this.B=[0,0];this.R=0;this.I=void 0!==a.ratio?a.ratio:1.5}v(Jw,Hv);var Lw=[101,101];k=Jw.prototype;\nk.so=function(a,b,c,d){if(void 0!==this.g){var e=ob(a,b,0,Lw),f={SERVICE:\"WMS\",VERSION:\"1.3.0\",REQUEST:\"GetFeatureInfo\",FORMAT:\"image/png\",TRANSPARENT:!0,QUERY_LAYERS:this.f.LAYERS};tb(f,this.f,d);d=Math.floor((e[3]-a[1])/b);f[this.l?\"I\":\"X\"]=Math.floor((a[0]-e[0])/b);f[this.l?\"J\":\"Y\"]=d;return Mw(this,e,Lw,1,Tb(c),f)}};k.uo=function(){return this.f};\nk.Jc=function(a,b,c,d){if(void 0===this.g)return null;b=Iv(this,b);1==c||this.va&&void 0!==this.T||(c=1);var e=b/c,f=nb(a),g=ob(f,e,0,[Math.ceil(lb(a)/e),Math.ceil(mb(a)/e)]);a=ob(f,e,0,[Math.ceil(this.I*lb(a)/e),Math.ceil(this.I*mb(a)/e)]);if((f=this.M)&&this.R==this.i&&f.resolution==b&&f.a==c&&Va(f.G(),g))return f;g={SERVICE:\"WMS\",VERSION:\"1.3.0\",REQUEST:\"GetMap\",FORMAT:\"image/png\",TRANSPARENT:!0};tb(g,this.f);this.B[0]=Math.round(lb(a)/e);this.B[1]=Math.round(mb(a)/e);d=Mw(this,a,this.B,c,d,g);\nthis.M=new Js(a,b,c,this.j,d,this.pa,this.v);this.R=this.i;y(this.M,\"change\",this.o,this);return this.M};k.to=function(){return this.v};\nfunction Mw(a,b,c,d,e,f){xa(void 0!==a.g,9);f[a.l?\"CRS\":\"SRS\"]=e.mb;\"STYLES\"in a.f||(f.STYLES=\"\");if(1!=d)switch(a.T){case \"geoserver\":d=90*d+.5|0;f.FORMAT_OPTIONS=\"FORMAT_OPTIONS\"in f?f.FORMAT_OPTIONS+(\";dpi:\"+d):\"dpi:\"+d;break;case \"mapserver\":f.MAP_RESOLUTION=90*d;break;case \"carmentaserver\":case \"qgis\":f.DPI=90*d;break;default:xa(!1,8)}f.WIDTH=c[0];f.HEIGHT=c[1];c=e.b;var g;a.l&&\"ne\"==c.substr(0,2)?g=[b[1],b[0],b[3],b[2]]:g=b;f.BBOX=g.join(\",\");return Fw(a.g,f)}k.vo=function(){return this.g};\nk.wo=function(a){this.M=null;this.v=a;this.s()};k.xo=function(a){a!=this.g&&(this.g=a,this.M=null,this.s())};k.yo=function(a){tb(this.f,a);Kw(this);this.M=null;this.s()};function Kw(a){a.l=0<=Ye(a.f.VERSION||\"1.3.0\")};function Nw(a){a=a||{};var b;void 0!==a.attributions?b=a.attributions:b=[Ow];zw.call(this,{attributions:b,cacheSize:a.cacheSize,crossOrigin:void 0!==a.crossOrigin?a.crossOrigin:\"anonymous\",opaque:void 0!==a.opaque?a.opaque:!0,maxZoom:void 0!==a.maxZoom?a.maxZoom:19,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileLoadFunction:a.tileLoadFunction,url:void 0!==a.url?a.url:\"https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png\",wrapX:a.wrapX})}v(Nw,zw);var Ow=new Ac({html:'© OpenStreetMap contributors.'});Fj.df={};Fj.df.Af=function(){};\n(function(a){function b(a,b,c){if(g)return new ImageData(a,b,c);b=h.createImageData(b,c);b.data.set(a);return b}function c(a){var b=!0;try{new ImageData(10,10)}catch(n){b=!1}return function(c){var d=c.buffers,e=c.meta,f=c.width,g=c.height,h=d.length,l=d[0].byteLength;if(c.imageOps){l=Array(h);for(c=0;cthis.fk;)this.Ed.shift().callback(null,null)};f.prototype.dh=function(){if(0===this.oe&&0Stamen Design, under CC BY 3.0.'}),Ow],Yw={terrain:{Lb:\"jpg\",opaque:!0},\"terrain-background\":{Lb:\"jpg\",opaque:!0},\"terrain-labels\":{Lb:\"png\",opaque:!1},\"terrain-lines\":{Lb:\"png\",opaque:!1},\"toner-background\":{Lb:\"png\",opaque:!0},toner:{Lb:\"png\",opaque:!0},\"toner-hybrid\":{Lb:\"png\",opaque:!1},\"toner-labels\":{Lb:\"png\",opaque:!1},\"toner-lines\":{Lb:\"png\",opaque:!1},\"toner-lite\":{Lb:\"png\",\nopaque:!0},watercolor:{Lb:\"jpg\",opaque:!0}},Xw={terrain:{minZoom:4,maxZoom:18},toner:{minZoom:0,maxZoom:20},watercolor:{minZoom:1,maxZoom:16}};function $w(a){a=a||{};X.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,projection:a.projection,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction,url:a.url,urls:a.urls,wrapX:void 0!==a.wrapX?a.wrapX:!0});this.f=a.params||{};this.l=Oa();qw(this,ax(this))}v($w,X);function ax(a){var b=0,c=[],d;for(d in a.f)c[b++]=d+\"-\"+a.f[d];return c.join(\"/\")}$w.prototype.C=function(){return this.f};\n$w.prototype.nb=function(a){return a};\n$w.prototype.Fc=function(a,b,c){var d=this.tileGrid;d||(d=this.Ta(c));if(!(d.b.length<=a[0])){var e=d.Aa(a,this.l),f=Ma(d.gb(a[0]),this.o);1!=b&&(f=La(f,b,this.o));d={F:\"image\",FORMAT:\"PNG32\",TRANSPARENT:!0};tb(d,this.f);var g=this.urls;g?(c=c.mb.split(\":\").pop(),d.SIZE=f[0]+\",\"+f[1],d.BBOX=e.join(\",\"),d.BBOXSR=c,d.IMAGESR=c,d.DPI=Math.round(d.DPI?d.DPI*b:90*b),a=(1==g.length?g[0]:g[Ia((a[1]<a.status){try{var b=JSON.parse(a.responseText)}catch(c){this.Ve();return}this.og(b)}else this.Ve()};k.zo=function(){this.Ve()};k.pl=function(){return this.f};\nk.og=function(a){var b=Tb(\"EPSG:4326\"),c=this.c;if(a.bounds){var d=Vb(b,c);var e=sb(a.bounds,d)}var f=a.minzoom||0,d=a.maxzoom||22;this.tileGrid=c=xc({extent:zc(c),maxZoom:d,minZoom:f});this.tileUrlFunction=jw(a.tiles,c);if(void 0!==a.attribution&&!this.j){b=void 0!==e?e:b.G();e={};for(var g;f<=d;++f)g=f.toString(),e[g]=[oc(c,b,f)];this.ua([new Ac({html:a.attribution,tileRanges:e})])}this.f=a;bu(this,\"ready\")};k.Ve=function(){bu(this,\"error\")};function ex(a){pw.call(this,{projection:Tb(\"EPSG:3857\"),state:\"loading\"});this.v=void 0!==a.preemptive?a.preemptive:!0;this.l=lw;this.g=void 0;this.f=a.jsonp||!1;if(a.url)if(this.f)gw(a.url,this.pg.bind(this),this.We.bind(this));else{var b=new XMLHttpRequest;b.addEventListener(\"load\",this.Eo.bind(this));b.addEventListener(\"error\",this.Do.bind(this));b.open(\"GET\",a.url);b.send()}else a.tileJSON?this.pg(a.tileJSON):xa(!1,51)}v(ex,pw);k=ex.prototype;\nk.Eo=function(a){a=a.target;if(!a.status||200<=a.status&&300>a.status){try{var b=JSON.parse(a.responseText)}catch(c){this.We();return}this.pg(b)}else this.We()};k.Do=function(){this.We()};k.ml=function(){return this.g};k.zk=function(a,b,c,d,e){this.tileGrid?(b=this.tileGrid.Be(a,b),fx(this.Nc(b[0],b[1],b[2],1,this.c),a,c,d,e)):!0===e?setTimeout(function(){c.call(d,null)},0):c.call(d,null)};k.We=function(){bu(this,\"error\")};\nk.pg=function(a){var b=Tb(\"EPSG:4326\"),c=this.c;if(a.bounds){var d=Vb(b,c);var e=sb(a.bounds,d)}var f=a.minzoom||0,d=a.maxzoom||22;this.tileGrid=c=xc({extent:zc(c),maxZoom:d,minZoom:f});this.g=a.template;var g=a.grids;if(g){this.l=jw(g,c);if(void 0!==a.attribution){b=void 0!==e?e:b.G();for(e={};f<=d;++f)g=f.toString(),e[g]=[oc(c,b,f)];this.ua([new Ac({html:a.attribution,tileRanges:e})])}bu(this,\"ready\")}else bu(this,\"error\")};\nk.Nc=function(a,b,c,d,e){var f=this.Sb(a,b,c);if(this.a.b.hasOwnProperty(f))return this.a.get(f);a=[a,b,c];b=rw(this,a,e);d=this.l(b,d,e);d=new gx(a,void 0!==d?0:4,void 0!==d?d:\"\",this.tileGrid.Aa(a),this.v,this.f);this.a.set(f,d);return d};k.Ug=function(a,b,c){a=this.Sb(a,b,c);this.a.b.hasOwnProperty(a)&&this.a.get(a)};function gx(a,b,c,d,e,f){Ls.call(this,a,b);this.o=c;this.a=d;this.v=e;this.c=this.j=this.g=null;this.l=f}v(gx,Ls);k=gx.prototype;k.Y=function(){return null};\nk.getData=function(a){if(!this.g||!this.j)return null;var b=this.g[Math.floor((1-(a[1]-this.a[1])/(this.a[3]-this.a[1]))*this.g.length)];if(\"string\"!==typeof b)return null;b=b.charCodeAt(Math.floor((a[0]-this.a[0])/(this.a[2]-this.a[0])*b.length));93<=b&&b--;35<=b&&b--;b-=32;a=null;b in this.j&&(b=this.j[b],this.c&&b in this.c?a=this.c[b]:a=b);return a};\nfunction fx(a,b,c,d,e){0==a.state&&!0===e?(Jc(a,\"change\",function(){c.call(d,this.getData(b))},a),hx(a)):!0===e?setTimeout(function(){c.call(d,this.getData(b))}.bind(a),0):c.call(d,a.getData(b))}k.bb=function(){return this.o};k.De=function(){this.state=3;this.s()};k.Ji=function(a){this.g=a.grid;this.j=a.keys;this.c=a.data;this.state=4;this.s()};\nfunction hx(a){if(0==a.state)if(a.state=1,a.l)gw(a.o,a.Ji.bind(a),a.De.bind(a));else{var b=new XMLHttpRequest;b.addEventListener(\"load\",a.Co.bind(a));b.addEventListener(\"error\",a.Bo.bind(a));b.open(\"GET\",a.o);b.send()}}k.Co=function(a){a=a.target;if(!a.status||200<=a.status&&300>a.status){try{var b=JSON.parse(a.responseText)}catch(c){this.De();return}this.Ji(b)}else this.De()};k.Bo=function(){this.De()};k.load=function(){this.v&&hx(this)};function ix(a){a=a||{};var b=a.params||{};X.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,opaque:!(\"TRANSPARENT\"in b?b.TRANSPARENT:1),projection:a.projection,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction,url:a.url,urls:a.urls,wrapX:void 0!==a.wrapX?a.wrapX:!0});this.C=void 0!==a.gutter?a.gutter:0;this.f=b;this.l=!0;this.B=a.serverType;this.T=void 0!==a.hidpi?a.hidpi:!0;this.R=\"\";\njx(this);this.fa=Oa();kx(this);qw(this,lx(this))}v(ix,X);k=ix.prototype;\nk.Fo=function(a,b,c,d){c=Tb(c);var e=this.tileGrid;e||(e=this.Ta(c));b=e.Be(a,b);if(!(e.b.length<=b[0])){var f=e.Da(b[0]),g=e.Aa(b,this.fa),e=Ma(e.gb(b[0]),this.o),h=this.C;h&&(e=Ka(e,h,this.o),g=Qa(g,f*h,g));h={SERVICE:\"WMS\",VERSION:\"1.3.0\",REQUEST:\"GetFeatureInfo\",FORMAT:\"image/png\",TRANSPARENT:!0,QUERY_LAYERS:this.f.LAYERS};tb(h,this.f,d);d=Math.floor((g[3]-a[1])/f);h[this.l?\"I\":\"X\"]=Math.floor((a[0]-g[0])/f);h[this.l?\"J\":\"Y\"]=d;return mx(this,b,e,g,1,c,h)}};k.Xf=function(){return this.C};\nk.Sb=function(a,b,c){return this.R+X.prototype.Sb.call(this,a,b,c)};k.Go=function(){return this.f};\nfunction mx(a,b,c,d,e,f,g){var h=a.urls;if(h){g.WIDTH=c[0];g.HEIGHT=c[1];g[a.l?\"CRS\":\"SRS\"]=f.mb;\"STYLES\"in a.f||(g.STYLES=\"\");if(1!=e)switch(a.B){case \"geoserver\":c=90*e+.5|0;g.FORMAT_OPTIONS=\"FORMAT_OPTIONS\"in g?g.FORMAT_OPTIONS+(\";dpi:\"+c):\"dpi:\"+c;break;case \"mapserver\":g.MAP_RESOLUTION=90*e;break;case \"carmentaserver\":case \"qgis\":g.DPI=90*e;break;default:xa(!1,52)}f=f.b;a.l&&\"ne\"==f.substr(0,2)&&(a=d[0],d[0]=d[1],d[1]=a,a=d[2],d[2]=d[3],d[3]=a);g.BBOX=d.join(\",\");return Fw(1==h.length?h[0]:h[Ia((b[1]<<\nb[0])+b[2],h.length)],g)}}k.nb=function(a){return this.T&&void 0!==this.B?a:1};function jx(a){var b=0,c=[];if(a.urls){var d;var e=0;for(d=a.urls.length;ef||d>f;)e.push([Math.ceil(c/f),Math.ceil(d/f)]),f+=f;break;case wx:for(;c>f||d>f;)e.push([Math.ceil(c/f),Math.ceil(d/f)]),c>>=1,d>>=1;break;default:xa(!1,53)}e.push([1,1]);e.reverse();for(var f=[1],g=[0],d=1,c=e.length;d=b+this.b&&h.height>=c+this.b)return f={offsetX:h.x+this.b,offsetY:h.y+this.b,image:this.f},this.c[a]=f,d.call(e,this.i,h.x+this.b,h.y+this.b),a=g,b+=this.b,d=c+this.b,h.width-b>h.height-d?(c={x:h.x+b,y:h.y,width:h.width-b,height:h.height},b={x:h.x,y:h.y+d,width:b,height:h.height-d},zx(this,a,c,b)):(c={x:h.x+b,y:h.y,width:h.width-b,height:d},b={x:h.x,y:h.y+d,width:h.width,height:h.height-d},\nzx(this,a,c,b)),f}return null};function zx(a,b,c,d){b=[b,1];0this.i||c+this.b>this.i)return null;d=Bx(this,!1,a,b,c,d,f);if(!d)return null;a=Bx(this,!0,a,b,c,e?e:ua,f);return{offsetX:d.offsetX,offsetY:d.offsetY,image:d.image,Zl:a.image}};\nfunction Bx(a,b,c,d,e,f,g){var h=b?a.g:a.f,l;var m=0;for(l=h.length;ma?sd(2*a):1-sd(2*(a-.5))});\nt(\"ol.extent.boundingExtent\",Na);t(\"ol.extent.buffer\",Qa);t(\"ol.extent.containsCoordinate\",Ta);t(\"ol.extent.containsExtent\",Va);t(\"ol.extent.containsXY\",Ua);t(\"ol.extent.createEmpty\",Oa);t(\"ol.extent.equals\",bb);t(\"ol.extent.extend\",cb);t(\"ol.extent.getArea\",jb);t(\"ol.extent.getBottomLeft\",eb);t(\"ol.extent.getBottomRight\",gb);t(\"ol.extent.getCenter\",nb);t(\"ol.extent.getHeight\",mb);t(\"ol.extent.getIntersection\",pb);t(\"ol.extent.getSize\",function(a){return[a[2]-a[0],a[3]-a[1]]});\nt(\"ol.extent.getTopLeft\",ib);t(\"ol.extent.getTopRight\",hb);t(\"ol.extent.getWidth\",lb);t(\"ol.extent.intersects\",qb);t(\"ol.extent.isEmpty\",kb);t(\"ol.extent.applyTransform\",sb);t(\"ol.Feature\",H);H.prototype.clone=H.prototype.clone;H.prototype.getGeometry=H.prototype.V;H.prototype.getId=H.prototype.wm;H.prototype.getGeometryName=H.prototype.Qk;H.prototype.getStyle=H.prototype.xm;H.prototype.getStyleFunction=H.prototype.Lc;H.prototype.setGeometry=H.prototype.Ra;H.prototype.setStyle=H.prototype.hg;\nH.prototype.setId=H.prototype.jc;H.prototype.setGeometryName=H.prototype.Tc;t(\"ol.featureloader.xhr\",Dl);t(\"ol.Geolocation\",xs);xs.prototype.getAccuracy=xs.prototype.Dk;xs.prototype.getAccuracyGeometry=xs.prototype.Ek;xs.prototype.getAltitude=xs.prototype.Gk;xs.prototype.getAltitudeAccuracy=xs.prototype.Hk;xs.prototype.getHeading=xs.prototype.ym;xs.prototype.getPosition=xs.prototype.zm;xs.prototype.getProjection=xs.prototype.Uh;xs.prototype.getSpeed=xs.prototype.ll;xs.prototype.getTracking=xs.prototype.Vh;\nxs.prototype.getTrackingOptions=xs.prototype.Gh;xs.prototype.setProjection=xs.prototype.Wh;xs.prototype.setTracking=xs.prototype.Ke;xs.prototype.setTrackingOptions=xs.prototype.wj;t(\"ol.Graticule\",Ds);Ds.prototype.getMap=Ds.prototype.Cm;Ds.prototype.getMeridians=Ds.prototype.al;Ds.prototype.getParallels=Ds.prototype.hl;Ds.prototype.setMap=Ds.prototype.setMap;t(\"ol.has.DEVICE_PIXEL_RATIO\",Sd);t(\"ol.has.CANVAS\",Ud);t(\"ol.has.DEVICE_ORIENTATION\",Vd);t(\"ol.has.GEOLOCATION\",Wd);t(\"ol.has.TOUCH\",Xd);\nt(\"ol.has.WEBGL\",Md);Js.prototype.getImage=Js.prototype.Y;Js.prototype.load=Js.prototype.load;Os.prototype.getImage=Os.prototype.Y;t(\"ol.inherits\",v);t(\"ol.interaction.defaults\",qh);t(\"ol.Kinetic\",kg);t(\"ol.loadingstrategy.all\",Zt);t(\"ol.loadingstrategy.bbox\",function(a){return[a]});t(\"ol.loadingstrategy.tile\",function(a){return function(b,c){c=a.tc(c);b=oc(a,b,c);var d=[];c=[c,0,0];for(c[1]=b.ca;c[1]<=b.$;++c[1])for(c[2]=b.da;c[2]<=b.ia;++c[2])d.push(a.Aa(c));return d}});t(\"ol.Map\",G);\nG.prototype.addControl=G.prototype.kk;G.prototype.addInteraction=G.prototype.lk;G.prototype.addLayer=G.prototype.ih;G.prototype.addOverlay=G.prototype.jh;G.prototype.forEachFeatureAtPixel=G.prototype.we;G.prototype.forEachLayerAtPixel=G.prototype.Im;G.prototype.hasFeatureAtPixel=G.prototype.Yl;G.prototype.getEventCoordinate=G.prototype.Tf;G.prototype.getEventPixel=G.prototype.xe;G.prototype.getTarget=G.prototype.ag;G.prototype.getTargetElement=G.prototype.jd;G.prototype.getCoordinateFromPixel=G.prototype.Wa;\nG.prototype.getControls=G.prototype.Lk;G.prototype.getOverlays=G.prototype.fl;G.prototype.getOverlayById=G.prototype.el;G.prototype.getInteractions=G.prototype.Sk;G.prototype.getLayerGroup=G.prototype.Kc;G.prototype.getLayers=G.prototype.Xh;G.prototype.getPixelFromCoordinate=G.prototype.Ja;G.prototype.getSize=G.prototype.Ob;G.prototype.getView=G.prototype.Z;G.prototype.getViewport=G.prototype.sl;G.prototype.renderSync=G.prototype.Tp;G.prototype.render=G.prototype.render;\nG.prototype.removeControl=G.prototype.Mp;G.prototype.removeInteraction=G.prototype.Np;G.prototype.removeLayer=G.prototype.Pp;G.prototype.removeOverlay=G.prototype.Qp;G.prototype.setLayerGroup=G.prototype.qj;G.prototype.setSize=G.prototype.Qg;G.prototype.setTarget=G.prototype.Le;G.prototype.setView=G.prototype.iq;G.prototype.updateSize=G.prototype.Ad;Jd.prototype.originalEvent=Jd.prototype.originalEvent;Jd.prototype.pixel=Jd.prototype.pixel;Jd.prototype.coordinate=Jd.prototype.coordinate;\nJd.prototype.dragging=Jd.prototype.dragging;Id.prototype.map=Id.prototype.map;Id.prototype.frameState=Id.prototype.frameState;t(\"ol.Object\",Tc);Tc.prototype.get=Tc.prototype.get;Tc.prototype.getKeys=Tc.prototype.O;Tc.prototype.getProperties=Tc.prototype.N;Tc.prototype.set=Tc.prototype.set;Tc.prototype.setProperties=Tc.prototype.H;Tc.prototype.unset=Tc.prototype.P;Xc.prototype.key=Xc.prototype.key;Xc.prototype.oldValue=Xc.prototype.oldValue;t(\"ol.Observable\",Sc);\nt(\"ol.Observable.unByKey\",function(a){if(Array.isArray(a))for(var b=0,c=a.length;be&&(e=0);var f=c.TileMatrixSetLink[e].TileMatrixSet;var g=c.TileMatrixSetLink[e].TileMatrixSetLimits;var h=c.Format[0];\"format\"in b&&(h=b.format);e=sa(c.Style,function(a){return\"style\"in b?a.Title==b.style:a.isDefault});0>e&&(e=0);e=c.Style[e].Identifier;var l={};\"Dimension\"in c&&c.Dimension.forEach(function(a){var b=a.Identifier,c=a.Default;void 0===c&&(c=a.Value[0]);l[b]=c});var m=na(a.Contents.TileMatrixSet,function(a){return a.Identifier==f});var n=\"projection\"in b?Tb(b.projection):\nTb(m.SupportedCRS.replace(/urn:ogc:def:crs:(\\w+):(.*:)?(\\w+)$/,\"$1:$3\"));var p=c.WGS84BoundingBox;if(void 0!==p){var q=Tb(\"EPSG:4326\").G();q=p[0]==q[0]&&p[2]==q[2];var r=hc(p,\"EPSG:4326\",n);(p=n.G())&&(Va(p,r)||(r=void 0))}g=sx(m,r,g);var u=[],m=b.requestEncoding,m=void 0!==m?m:\"\";if(\"OperationsMetadata\"in a&&\"GetTile\"in a.OperationsMetadata)for(a=a.OperationsMetadata.GetTile.DCP.HTTP.Get,r=0,p=a.length;r 60) {\n return 60;\n }\n }\n return zone;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/adjust_zone.js\n// module id = 405\n// module chunks = 0","import hypot from './hypot';\nimport log1py from './log1py';\n\nexport default function(x) {\n var y = Math.abs(x);\n y = log1py(y * (1 + y / (hypot(1, y) + 1)));\n\n return x < 0 ? -y : y;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/asinhy.js\n// module id = 406\n// module chunks = 0","export default function(pp, arg_r) {\n var r = 2 * Math.cos(arg_r);\n var i = pp.length - 1;\n var hr1 = pp[i];\n var hr2 = 0;\n var hr;\n\n while (--i >= 0) {\n hr = -hr2 + r * hr1 + pp[i];\n hr2 = hr1;\n hr1 = hr;\n }\n\n return Math.sin(arg_r) * hr;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/clens.js\n// module id = 407\n// module chunks = 0","import sinh from './sinh';\nimport cosh from './cosh';\n\nexport default function(pp, arg_r, arg_i) {\n var sin_arg_r = Math.sin(arg_r);\n var cos_arg_r = Math.cos(arg_r);\n var sinh_arg_i = sinh(arg_i);\n var cosh_arg_i = cosh(arg_i);\n var r = 2 * cos_arg_r * cosh_arg_i;\n var i = -2 * sin_arg_r * sinh_arg_i;\n var j = pp.length - 1;\n var hr = pp[j];\n var hi1 = 0;\n var hr1 = 0;\n var hi = 0;\n var hr2;\n var hi2;\n\n while (--j >= 0) {\n hr2 = hr1;\n hi2 = hi1;\n hr1 = hr;\n hi1 = hi;\n hr = -hr2 + r * hr1 - i * hi1 + pp[j];\n hi = -hi2 + i * hr1 + r * hi1;\n }\n\n r = sin_arg_r * cosh_arg_i;\n i = cos_arg_r * sinh_arg_i;\n\n return [r * hr - i * hi, r * hi + i * hr];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/clens_cmplx.js\n// module id = 408\n// module chunks = 0","export default function(x) {\n var r = Math.exp(x);\n r = (r + 1 / r) / 2;\n return r;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/cosh.js\n// module id = 409\n// module chunks = 0","export default function(pp, B) {\n var cos_2B = 2 * Math.cos(2 * B);\n var i = pp.length - 1;\n var h1 = pp[i];\n var h2 = 0;\n var h;\n\n while (--i >= 0) {\n h = -h2 + cos_2B * h1 + pp[i];\n h2 = h1;\n h1 = h;\n }\n\n return (B + h * Math.sin(2 * B));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/gatg.js\n// module id = 410\n// module chunks = 0","import {HALF_PI} from '../constants/values';\n\nexport default function(eccent, q) {\n var temp = 1 - (1 - eccent * eccent) / (2 * eccent) * Math.log((1 - eccent) / (1 + eccent));\n if (Math.abs(Math.abs(q) - temp) < 1.0E-6) {\n if (q < 0) {\n return (-1 * HALF_PI);\n }\n else {\n return HALF_PI;\n }\n }\n //var phi = 0.5* q/(1-eccent*eccent);\n var phi = Math.asin(0.5 * q);\n var dphi;\n var sin_phi;\n var cos_phi;\n var con;\n for (var i = 0; i < 30; i++) {\n sin_phi = Math.sin(phi);\n cos_phi = Math.cos(phi);\n con = eccent * sin_phi;\n dphi = Math.pow(1 - con * con, 2) / (2 * cos_phi) * (q / (1 - eccent * eccent) - sin_phi / (1 - con * con) + 0.5 / eccent * Math.log((1 - con) / (1 + con)));\n phi += dphi;\n if (Math.abs(dphi) <= 0.0000000001) {\n return phi;\n }\n }\n\n //console.log(\"IQSFN-CONV:Latitude failed to converge after 30 iterations\");\n return NaN;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/iqsfnz.js\n// module id = 411\n// module chunks = 0","export default function(x) {\n var y = 1 + x;\n var z = y - 1;\n\n return z === 0 ? x : x * Math.log(y) / z;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/log1py.js\n// module id = 412\n// module chunks = 0","export default function(esinp, exp) {\n return (Math.pow((1 - esinp) / (1 + esinp), exp));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/srat.js\n// module id = 413\n// module chunks = 0","var exports = {};\nexport {exports as default};\nexports.wgs84 = {\n towgs84: \"0,0,0\",\n ellipse: \"WGS84\",\n datumName: \"WGS84\"\n};\n\nexports.ch1903 = {\n towgs84: \"674.374,15.056,405.346\",\n ellipse: \"bessel\",\n datumName: \"swiss\"\n};\n\nexports.ggrs87 = {\n towgs84: \"-199.87,74.79,246.62\",\n ellipse: \"GRS80\",\n datumName: \"Greek_Geodetic_Reference_System_1987\"\n};\n\nexports.nad83 = {\n towgs84: \"0,0,0\",\n ellipse: \"GRS80\",\n datumName: \"North_American_Datum_1983\"\n};\n\nexports.nad27 = {\n nadgrids: \"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat\",\n ellipse: \"clrk66\",\n datumName: \"North_American_Datum_1927\"\n};\n\nexports.potsdam = {\n towgs84: \"606.0,23.0,413.0\",\n ellipse: \"bessel\",\n datumName: \"Potsdam Rauenberg 1950 DHDN\"\n};\n\nexports.carthage = {\n towgs84: \"-263.0,6.0,431.0\",\n ellipse: \"clark80\",\n datumName: \"Carthage 1934 Tunisia\"\n};\n\nexports.hermannskogel = {\n towgs84: \"653.0,-212.0,449.0\",\n ellipse: \"bessel\",\n datumName: \"Hermannskogel\"\n};\n\nexports.ire65 = {\n towgs84: \"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15\",\n ellipse: \"mod_airy\",\n datumName: \"Ireland 1965\"\n};\n\nexports.rassadiran = {\n towgs84: \"-133.63,-157.5,-158.62\",\n ellipse: \"intl\",\n datumName: \"Rassadiran\"\n};\n\nexports.nzgd49 = {\n towgs84: \"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993\",\n ellipse: \"intl\",\n datumName: \"New Zealand Geodetic Datum 1949\"\n};\n\nexports.osgb36 = {\n towgs84: \"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894\",\n ellipse: \"airy\",\n datumName: \"Airy 1830\"\n};\n\nexports.s_jtsk = {\n towgs84: \"589,76,480\",\n ellipse: 'bessel',\n datumName: 'S-JTSK (Ferro)'\n};\n\nexports.beduaram = {\n towgs84: '-106,-87,188',\n ellipse: 'clrk80',\n datumName: 'Beduaram'\n};\n\nexports.gunung_segara = {\n towgs84: '-403,684,41',\n ellipse: 'bessel',\n datumName: 'Gunung Segara Jakarta'\n};\n\nexports.rnb72 = {\n towgs84: \"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1\",\n ellipse: \"intl\",\n datumName: \"Reseau National Belge 1972\"\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/constants/Datum.js\n// module id = 414\n// module chunks = 0","var exports = {};\nexport {exports as default};\nexports.MERIT = {\n a: 6378137.0,\n rf: 298.257,\n ellipseName: \"MERIT 1983\"\n};\n\nexports.SGS85 = {\n a: 6378136.0,\n rf: 298.257,\n ellipseName: \"Soviet Geodetic System 85\"\n};\n\nexports.GRS80 = {\n a: 6378137.0,\n rf: 298.257222101,\n ellipseName: \"GRS 1980(IUGG, 1980)\"\n};\n\nexports.IAU76 = {\n a: 6378140.0,\n rf: 298.257,\n ellipseName: \"IAU 1976\"\n};\n\nexports.airy = {\n a: 6377563.396,\n b: 6356256.910,\n ellipseName: \"Airy 1830\"\n};\n\nexports.APL4 = {\n a: 6378137,\n rf: 298.25,\n ellipseName: \"Appl. Physics. 1965\"\n};\n\nexports.NWL9D = {\n a: 6378145.0,\n rf: 298.25,\n ellipseName: \"Naval Weapons Lab., 1965\"\n};\n\nexports.mod_airy = {\n a: 6377340.189,\n b: 6356034.446,\n ellipseName: \"Modified Airy\"\n};\n\nexports.andrae = {\n a: 6377104.43,\n rf: 300.0,\n ellipseName: \"Andrae 1876 (Den., Iclnd.)\"\n};\n\nexports.aust_SA = {\n a: 6378160.0,\n rf: 298.25,\n ellipseName: \"Australian Natl & S. Amer. 1969\"\n};\n\nexports.GRS67 = {\n a: 6378160.0,\n rf: 298.2471674270,\n ellipseName: \"GRS 67(IUGG 1967)\"\n};\n\nexports.bessel = {\n a: 6377397.155,\n rf: 299.1528128,\n ellipseName: \"Bessel 1841\"\n};\n\nexports.bess_nam = {\n a: 6377483.865,\n rf: 299.1528128,\n ellipseName: \"Bessel 1841 (Namibia)\"\n};\n\nexports.clrk66 = {\n a: 6378206.4,\n b: 6356583.8,\n ellipseName: \"Clarke 1866\"\n};\n\nexports.clrk80 = {\n a: 6378249.145,\n rf: 293.4663,\n ellipseName: \"Clarke 1880 mod.\"\n};\n\nexports.clrk58 = {\n a: 6378293.645208759,\n rf: 294.2606763692654,\n ellipseName: \"Clarke 1858\"\n};\n\nexports.CPM = {\n a: 6375738.7,\n rf: 334.29,\n ellipseName: \"Comm. des Poids et Mesures 1799\"\n};\n\nexports.delmbr = {\n a: 6376428.0,\n rf: 311.5,\n ellipseName: \"Delambre 1810 (Belgium)\"\n};\n\nexports.engelis = {\n a: 6378136.05,\n rf: 298.2566,\n ellipseName: \"Engelis 1985\"\n};\n\nexports.evrst30 = {\n a: 6377276.345,\n rf: 300.8017,\n ellipseName: \"Everest 1830\"\n};\n\nexports.evrst48 = {\n a: 6377304.063,\n rf: 300.8017,\n ellipseName: \"Everest 1948\"\n};\n\nexports.evrst56 = {\n a: 6377301.243,\n rf: 300.8017,\n ellipseName: \"Everest 1956\"\n};\n\nexports.evrst69 = {\n a: 6377295.664,\n rf: 300.8017,\n ellipseName: \"Everest 1969\"\n};\n\nexports.evrstSS = {\n a: 6377298.556,\n rf: 300.8017,\n ellipseName: \"Everest (Sabah & Sarawak)\"\n};\n\nexports.fschr60 = {\n a: 6378166.0,\n rf: 298.3,\n ellipseName: \"Fischer (Mercury Datum) 1960\"\n};\n\nexports.fschr60m = {\n a: 6378155.0,\n rf: 298.3,\n ellipseName: \"Fischer 1960\"\n};\n\nexports.fschr68 = {\n a: 6378150.0,\n rf: 298.3,\n ellipseName: \"Fischer 1968\"\n};\n\nexports.helmert = {\n a: 6378200.0,\n rf: 298.3,\n ellipseName: \"Helmert 1906\"\n};\n\nexports.hough = {\n a: 6378270.0,\n rf: 297.0,\n ellipseName: \"Hough\"\n};\n\nexports.intl = {\n a: 6378388.0,\n rf: 297.0,\n ellipseName: \"International 1909 (Hayford)\"\n};\n\nexports.kaula = {\n a: 6378163.0,\n rf: 298.24,\n ellipseName: \"Kaula 1961\"\n};\n\nexports.lerch = {\n a: 6378139.0,\n rf: 298.257,\n ellipseName: \"Lerch 1979\"\n};\n\nexports.mprts = {\n a: 6397300.0,\n rf: 191.0,\n ellipseName: \"Maupertius 1738\"\n};\n\nexports.new_intl = {\n a: 6378157.5,\n b: 6356772.2,\n ellipseName: \"New International 1967\"\n};\n\nexports.plessis = {\n a: 6376523.0,\n rf: 6355863.0,\n ellipseName: \"Plessis 1817 (France)\"\n};\n\nexports.krass = {\n a: 6378245.0,\n rf: 298.3,\n ellipseName: \"Krassovsky, 1942\"\n};\n\nexports.SEasia = {\n a: 6378155.0,\n b: 6356773.3205,\n ellipseName: \"Southeast Asia\"\n};\n\nexports.walbeck = {\n a: 6376896.0,\n b: 6355834.8467,\n ellipseName: \"Walbeck\"\n};\n\nexports.WGS60 = {\n a: 6378165.0,\n rf: 298.3,\n ellipseName: \"WGS 60\"\n};\n\nexports.WGS66 = {\n a: 6378145.0,\n rf: 298.25,\n ellipseName: \"WGS 66\"\n};\n\nexports.WGS7 = {\n a: 6378135.0,\n rf: 298.26,\n ellipseName: \"WGS 72\"\n};\n\nexport var WGS84 = exports.WGS84 = {\n a: 6378137.0,\n rf: 298.257223563,\n ellipseName: \"WGS 84\"\n};\n\nexports.sphere = {\n a: 6370997.0,\n b: 6370997.0,\n ellipseName: \"Normal Sphere (r=6370997)\"\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/constants/Ellipsoid.js\n// module id = 415\n// module chunks = 0","var exports = {};\nexport {exports as default};\n\nexports.greenwich = 0.0; //\"0dE\",\nexports.lisbon = -9.131906111111; //\"9d07'54.862\\\"W\",\nexports.paris = 2.337229166667; //\"2d20'14.025\\\"E\",\nexports.bogota = -74.080916666667; //\"74d04'51.3\\\"W\",\nexports.madrid = -3.687938888889; //\"3d41'16.58\\\"W\",\nexports.rome = 12.452333333333; //\"12d27'8.4\\\"E\",\nexports.bern = 7.439583333333; //\"7d26'22.5\\\"E\",\nexports.jakarta = 106.807719444444; //\"106d48'27.79\\\"E\",\nexports.ferro = -17.666666666667; //\"17d40'W\",\nexports.brussels = 4.367975; //\"4d22'4.71\\\"E\",\nexports.stockholm = 18.058277777778; //\"18d3'29.8\\\"E\",\nexports.athens = 23.7163375; //\"23d42'58.815\\\"E\",\nexports.oslo = 10.722916666667; //\"10d43'22.5\\\"E\"\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/constants/PrimeMeridian.js\n// module id = 416\n// module chunks = 0","export default {\n ft: {to_meter: 0.3048},\n 'us-ft': {to_meter: 1200 / 3937}\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/constants/units.js\n// module id = 417\n// module chunks = 0","import proj from './Proj';\nimport transform from './transform';\nvar wgs84 = proj('WGS84');\n\nfunction transformer(from, to, coords) {\n var transformedArray;\n if (Array.isArray(coords)) {\n transformedArray = transform(from, to, coords);\n if (coords.length === 3) {\n return [transformedArray.x, transformedArray.y, transformedArray.z];\n }\n else {\n return [transformedArray.x, transformedArray.y];\n }\n }\n else {\n return transform(from, to, coords);\n }\n}\n\nfunction checkProj(item) {\n if (item instanceof proj) {\n return item;\n }\n if (item.oProj) {\n return item.oProj;\n }\n return proj(item);\n}\nfunction proj4(fromProj, toProj, coord) {\n fromProj = checkProj(fromProj);\n var single = false;\n var obj;\n if (typeof toProj === 'undefined') {\n toProj = fromProj;\n fromProj = wgs84;\n single = true;\n }\n else if (typeof toProj.x !== 'undefined' || Array.isArray(toProj)) {\n coord = toProj;\n toProj = fromProj;\n fromProj = wgs84;\n single = true;\n }\n toProj = checkProj(toProj);\n if (coord) {\n return transformer(fromProj, toProj, coord);\n }\n else {\n obj = {\n forward: function(coords) {\n return transformer(fromProj, toProj, coords);\n },\n inverse: function(coords) {\n return transformer(toProj, fromProj, coords);\n }\n };\n if (single) {\n obj.oProj = toProj;\n }\n return obj;\n }\n}\nexport default proj4;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/core.js\n// module id = 418\n// module chunks = 0","import {PJD_3PARAM, PJD_7PARAM, PJD_WGS84, PJD_NODATUM, SEC_TO_RAD} from './constants/values';\n\nfunction datum(datumCode, datum_params, a, b, es, ep2) {\n var out = {};\n\n if (datumCode === undefined || datumCode === 'none') {\n out.datum_type = PJD_NODATUM;\n } else {\n out.datum_type = PJD_WGS84;\n }\n\n if (datum_params) {\n out.datum_params = datum_params.map(parseFloat);\n if (out.datum_params[0] !== 0 || out.datum_params[1] !== 0 || out.datum_params[2] !== 0) {\n out.datum_type = PJD_3PARAM;\n }\n if (out.datum_params.length > 3) {\n if (out.datum_params[3] !== 0 || out.datum_params[4] !== 0 || out.datum_params[5] !== 0 || out.datum_params[6] !== 0) {\n out.datum_type = PJD_7PARAM;\n out.datum_params[3] *= SEC_TO_RAD;\n out.datum_params[4] *= SEC_TO_RAD;\n out.datum_params[5] *= SEC_TO_RAD;\n out.datum_params[6] = (out.datum_params[6] / 1000000.0) + 1.0;\n }\n }\n }\n\n out.a = a; //datum object also uses these values\n out.b = b;\n out.es = es;\n out.ep2 = ep2;\n return out;\n}\n\nexport default datum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/datum.js\n// module id = 419\n// module chunks = 0","'use strict';\nimport {PJD_3PARAM, PJD_7PARAM, HALF_PI} from './constants/values';\nexport function compareDatums(source, dest) {\n if (source.datum_type !== dest.datum_type) {\n return false; // false, datums are not equal\n } else if (source.a !== dest.a || Math.abs(source.es - dest.es) > 0.000000000050) {\n // the tolerance for es is to ensure that GRS80 and WGS84\n // are considered identical\n return false;\n } else if (source.datum_type === PJD_3PARAM) {\n return (source.datum_params[0] === dest.datum_params[0] && source.datum_params[1] === dest.datum_params[1] && source.datum_params[2] === dest.datum_params[2]);\n } else if (source.datum_type === PJD_7PARAM) {\n return (source.datum_params[0] === dest.datum_params[0] && source.datum_params[1] === dest.datum_params[1] && source.datum_params[2] === dest.datum_params[2] && source.datum_params[3] === dest.datum_params[3] && source.datum_params[4] === dest.datum_params[4] && source.datum_params[5] === dest.datum_params[5] && source.datum_params[6] === dest.datum_params[6]);\n } else {\n return true; // datums are equal\n }\n} // cs_compare_datums()\n\n/*\n * The function Convert_Geodetic_To_Geocentric converts geodetic coordinates\n * (latitude, longitude, and height) to geocentric coordinates (X, Y, Z),\n * according to the current ellipsoid parameters.\n *\n * Latitude : Geodetic latitude in radians (input)\n * Longitude : Geodetic longitude in radians (input)\n * Height : Geodetic height, in meters (input)\n * X : Calculated Geocentric X coordinate, in meters (output)\n * Y : Calculated Geocentric Y coordinate, in meters (output)\n * Z : Calculated Geocentric Z coordinate, in meters (output)\n *\n */\nexport function geodeticToGeocentric(p, es, a) {\n var Longitude = p.x;\n var Latitude = p.y;\n var Height = p.z ? p.z : 0; //Z value not always supplied\n\n var Rn; /* Earth radius at location */\n var Sin_Lat; /* Math.sin(Latitude) */\n var Sin2_Lat; /* Square of Math.sin(Latitude) */\n var Cos_Lat; /* Math.cos(Latitude) */\n\n /*\n ** Don't blow up if Latitude is just a little out of the value\n ** range as it may just be a rounding issue. Also removed longitude\n ** test, it should be wrapped by Math.cos() and Math.sin(). NFW for PROJ.4, Sep/2001.\n */\n if (Latitude < -HALF_PI && Latitude > -1.001 * HALF_PI) {\n Latitude = -HALF_PI;\n } else if (Latitude > HALF_PI && Latitude < 1.001 * HALF_PI) {\n Latitude = HALF_PI;\n } else if ((Latitude < -HALF_PI) || (Latitude > HALF_PI)) {\n /* Latitude out of range */\n //..reportError('geocent:lat out of range:' + Latitude);\n return null;\n }\n\n if (Longitude > Math.PI) {\n Longitude -= (2 * Math.PI);\n }\n Sin_Lat = Math.sin(Latitude);\n Cos_Lat = Math.cos(Latitude);\n Sin2_Lat = Sin_Lat * Sin_Lat;\n Rn = a / (Math.sqrt(1.0e0 - es * Sin2_Lat));\n return {\n x: (Rn + Height) * Cos_Lat * Math.cos(Longitude),\n y: (Rn + Height) * Cos_Lat * Math.sin(Longitude),\n z: ((Rn * (1 - es)) + Height) * Sin_Lat\n };\n} // cs_geodetic_to_geocentric()\n\nexport function geocentricToGeodetic(p, es, a, b) {\n /* local defintions and variables */\n /* end-criterium of loop, accuracy of sin(Latitude) */\n var genau = 1e-12;\n var genau2 = (genau * genau);\n var maxiter = 30;\n\n var P; /* distance between semi-minor axis and location */\n var RR; /* distance between center and location */\n var CT; /* sin of geocentric latitude */\n var ST; /* cos of geocentric latitude */\n var RX;\n var RK;\n var RN; /* Earth radius at location */\n var CPHI0; /* cos of start or old geodetic latitude in iterations */\n var SPHI0; /* sin of start or old geodetic latitude in iterations */\n var CPHI; /* cos of searched geodetic latitude */\n var SPHI; /* sin of searched geodetic latitude */\n var SDPHI; /* end-criterium: addition-theorem of sin(Latitude(iter)-Latitude(iter-1)) */\n var iter; /* # of continous iteration, max. 30 is always enough (s.a.) */\n\n var X = p.x;\n var Y = p.y;\n var Z = p.z ? p.z : 0.0; //Z value not always supplied\n var Longitude;\n var Latitude;\n var Height;\n\n P = Math.sqrt(X * X + Y * Y);\n RR = Math.sqrt(X * X + Y * Y + Z * Z);\n\n /* special cases for latitude and longitude */\n if (P / a < genau) {\n\n /* special case, if P=0. (X=0., Y=0.) */\n Longitude = 0.0;\n\n /* if (X,Y,Z)=(0.,0.,0.) then Height becomes semi-minor axis\n * of ellipsoid (=center of mass), Latitude becomes PI/2 */\n if (RR / a < genau) {\n Latitude = HALF_PI;\n Height = -b;\n return {\n x: p.x,\n y: p.y,\n z: p.z\n };\n }\n } else {\n /* ellipsoidal (geodetic) longitude\n * interval: -PI < Longitude <= +PI */\n Longitude = Math.atan2(Y, X);\n }\n\n /* --------------------------------------------------------------\n * Following iterative algorithm was developped by\n * \"Institut for Erdmessung\", University of Hannover, July 1988.\n * Internet: www.ife.uni-hannover.de\n * Iterative computation of CPHI,SPHI and Height.\n * Iteration of CPHI and SPHI to 10**-12 radian resp.\n * 2*10**-7 arcsec.\n * --------------------------------------------------------------\n */\n CT = Z / RR;\n ST = P / RR;\n RX = 1.0 / Math.sqrt(1.0 - es * (2.0 - es) * ST * ST);\n CPHI0 = ST * (1.0 - es) * RX;\n SPHI0 = CT * RX;\n iter = 0;\n\n /* loop to find sin(Latitude) resp. Latitude\n * until |sin(Latitude(iter)-Latitude(iter-1))| < genau */\n do {\n iter++;\n RN = a / Math.sqrt(1.0 - es * SPHI0 * SPHI0);\n\n /* ellipsoidal (geodetic) height */\n Height = P * CPHI0 + Z * SPHI0 - RN * (1.0 - es * SPHI0 * SPHI0);\n\n RK = es * RN / (RN + Height);\n RX = 1.0 / Math.sqrt(1.0 - RK * (2.0 - RK) * ST * ST);\n CPHI = ST * (1.0 - RK) * RX;\n SPHI = CT * RX;\n SDPHI = SPHI * CPHI0 - CPHI * SPHI0;\n CPHI0 = CPHI;\n SPHI0 = SPHI;\n }\n while (SDPHI * SDPHI > genau2 && iter < maxiter);\n\n /* ellipsoidal (geodetic) latitude */\n Latitude = Math.atan(SPHI / Math.abs(CPHI));\n return {\n x: Longitude,\n y: Latitude,\n z: Height\n };\n} // cs_geocentric_to_geodetic()\n\n/****************************************************************/\n// pj_geocentic_to_wgs84( p )\n// p = point to transform in geocentric coordinates (x,y,z)\n\n\n/** point object, nothing fancy, just allows values to be\n passed back and forth by reference rather than by value.\n Other point classes may be used as long as they have\n x and y properties, which will get modified in the transform method.\n*/\nexport function geocentricToWgs84(p, datum_type, datum_params) {\n\n if (datum_type === PJD_3PARAM) {\n // if( x[io] === HUGE_VAL )\n // continue;\n return {\n x: p.x + datum_params[0],\n y: p.y + datum_params[1],\n z: p.z + datum_params[2],\n };\n } else if (datum_type === PJD_7PARAM) {\n var Dx_BF = datum_params[0];\n var Dy_BF = datum_params[1];\n var Dz_BF = datum_params[2];\n var Rx_BF = datum_params[3];\n var Ry_BF = datum_params[4];\n var Rz_BF = datum_params[5];\n var M_BF = datum_params[6];\n // if( x[io] === HUGE_VAL )\n // continue;\n return {\n x: M_BF * (p.x - Rz_BF * p.y + Ry_BF * p.z) + Dx_BF,\n y: M_BF * (Rz_BF * p.x + p.y - Rx_BF * p.z) + Dy_BF,\n z: M_BF * (-Ry_BF * p.x + Rx_BF * p.y + p.z) + Dz_BF\n };\n }\n} // cs_geocentric_to_wgs84\n\n/****************************************************************/\n// pj_geocentic_from_wgs84()\n// coordinate system definition,\n// point to transform in geocentric coordinates (x,y,z)\nexport function geocentricFromWgs84(p, datum_type, datum_params) {\n\n if (datum_type === PJD_3PARAM) {\n //if( x[io] === HUGE_VAL )\n // continue;\n return {\n x: p.x - datum_params[0],\n y: p.y - datum_params[1],\n z: p.z - datum_params[2],\n };\n\n } else if (datum_type === PJD_7PARAM) {\n var Dx_BF = datum_params[0];\n var Dy_BF = datum_params[1];\n var Dz_BF = datum_params[2];\n var Rx_BF = datum_params[3];\n var Ry_BF = datum_params[4];\n var Rz_BF = datum_params[5];\n var M_BF = datum_params[6];\n var x_tmp = (p.x - Dx_BF) / M_BF;\n var y_tmp = (p.y - Dy_BF) / M_BF;\n var z_tmp = (p.z - Dz_BF) / M_BF;\n //if( x[io] === HUGE_VAL )\n // continue;\n\n return {\n x: x_tmp + Rz_BF * y_tmp - Ry_BF * z_tmp,\n y: -Rz_BF * x_tmp + y_tmp + Rx_BF * z_tmp,\n z: Ry_BF * x_tmp - Rx_BF * y_tmp + z_tmp\n };\n } //cs_geocentric_from_wgs84()\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/datumUtils.js\n// module id = 420\n// module chunks = 0","import {PJD_3PARAM, PJD_7PARAM, PJD_NODATUM} from './constants/values';\n\nimport {geodeticToGeocentric, geocentricToGeodetic, geocentricToWgs84, geocentricFromWgs84, compareDatums} from './datumUtils';\nfunction checkParams(type) {\n return (type === PJD_3PARAM || type === PJD_7PARAM);\n}\n\nexport default function(source, dest, point) {\n // Short cut if the datums are identical.\n if (compareDatums(source, dest)) {\n return point; // in this case, zero is sucess,\n // whereas cs_compare_datums returns 1 to indicate TRUE\n // confusing, should fix this\n }\n\n // Explicitly skip datum transform by setting 'datum=none' as parameter for either source or dest\n if (source.datum_type === PJD_NODATUM || dest.datum_type === PJD_NODATUM) {\n return point;\n }\n\n // If this datum requires grid shifts, then apply it to geodetic coordinates.\n\n // Do we need to go through geocentric coordinates?\n if (source.es === dest.es && source.a === dest.a && !checkParams(source.datum_type) && !checkParams(dest.datum_type)) {\n return point;\n }\n\n // Convert to geocentric coordinates.\n point = geodeticToGeocentric(point, source.es, source.a);\n // Convert between datums\n if (checkParams(source.datum_type)) {\n point = geocentricToWgs84(point, source.datum_type, source.datum_params);\n }\n if (checkParams(dest.datum_type)) {\n point = geocentricFromWgs84(point, dest.datum_type, dest.datum_params);\n }\n return geocentricToGeodetic(point, dest.es, dest.a, dest.b);\n\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/datum_transform.js\n// module id = 421\n// module chunks = 0","import {SIXTH, RA4, RA6, EPSLN} from './constants/values';\nimport {default as Ellipsoid, WGS84} from './constants/Ellipsoid';\nimport match from './match';\n\nexport function eccentricity(a, b, rf, R_A) {\n var a2 = a * a; // used in geocentric\n var b2 = b * b; // used in geocentric\n var es = (a2 - b2) / a2; // e ^ 2\n var e = 0;\n if (R_A) {\n a *= 1 - es * (SIXTH + es * (RA4 + es * RA6));\n a2 = a * a;\n es = 0;\n } else {\n e = Math.sqrt(es); // eccentricity\n }\n var ep2 = (a2 - b2) / b2; // used in geocentric\n return {\n es: es,\n e: e,\n ep2: ep2\n };\n}\nexport function sphere(a, b, rf, ellps, sphere) {\n if (!a) { // do we have an ellipsoid?\n var ellipse = match(Ellipsoid, ellps);\n if (!ellipse) {\n ellipse = WGS84;\n }\n a = ellipse.a;\n b = ellipse.b;\n rf = ellipse.rf;\n }\n\n if (rf && !b) {\n b = (1.0 - 1.0 / rf) * a;\n }\n if (rf === 0 || Math.abs(a - b) < EPSLN) {\n sphere = true;\n b = a;\n }\n return {\n a: a,\n b: b,\n rf: rf,\n sphere: sphere\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/deriveConstants.js\n// module id = 422\n// module chunks = 0","export default function(destination, source) {\n destination = destination || {};\n var value, property;\n if (!source) {\n return destination;\n }\n for (property in source) {\n value = source[property];\n if (value !== undefined) {\n destination[property] = value;\n }\n }\n return destination;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/extend.js\n// module id = 423\n// module chunks = 0","export default function(defs) {\n defs('EPSG:4326', \"+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees\");\n defs('EPSG:4269', \"+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees\");\n defs('EPSG:3857', \"+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs\");\n\n defs.WGS84 = defs['EPSG:4326'];\n defs['EPSG:3785'] = defs['EPSG:3857']; // maintain backward compat, official code is 3857\n defs.GOOGLE = defs['EPSG:3857'];\n defs['EPSG:900913'] = defs['EPSG:3857'];\n defs['EPSG:102113'] = defs['EPSG:3857'];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/global.js\n// module id = 424\n// module chunks = 0","import proj4 from './core';\nimport Proj from \"./Proj\";\nimport Point from \"./Point\";\nimport common from \"./common/toPoint\";\nimport defs from \"./defs\";\nimport transform from \"./transform\";\nimport mgrs from \"mgrs\";\nimport version from \"./version\";\nimport includedProjections from \"../projs\";\n\nproj4.defaultDatum = 'WGS84'; //default datum\nproj4.Proj = Proj;\nproj4.WGS84 = new proj4.Proj('WGS84');\nproj4.Point = Point;\nproj4.toPoint = common;\nproj4.defs = defs;\nproj4.transform = transform;\nproj4.mgrs = mgrs;\nproj4.version = version;\nincludedProjections(proj4);\nexport default proj4;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/index.js\n// module id = 425\n// module chunks = 0","import defs from './defs';\nimport wkt from 'wkt-parser';\nimport projStr from './projString';\nfunction testObj(code){\n return typeof code === 'string';\n}\nfunction testDef(code){\n return code in defs;\n}\n var codeWords = ['PROJECTEDCRS', 'PROJCRS', 'GEOGCS','GEOCCS','PROJCS','LOCAL_CS', 'GEODCRS', 'GEODETICCRS', 'GEODETICDATUM', 'ENGCRS', 'ENGINEERINGCRS']; \nfunction testWKT(code){\n return codeWords.some(function (word) {\n return code.indexOf(word) > -1;\n });\n}\nfunction testProj(code){\n return code[0] === '+';\n}\nfunction parse(code){\n if (testObj(code)) {\n //check to see if this is a WKT string\n if (testDef(code)) {\n return defs[code];\n }\n if (testWKT(code)) {\n return wkt(code);\n }\n if (testProj(code)) {\n return projStr(code);\n }\n }else{\n return code;\n }\n}\n\nexport default parse;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/parseCode.js\n// module id = 426\n// module chunks = 0","import merc from \"./projections/merc\";\nimport longlat from \"./projections/longlat\";\nvar projs = [merc, longlat];\nvar names = {};\nvar projStore = [];\n\nfunction add(proj, i) {\n var len = projStore.length;\n if (!proj.names) {\n console.log(i);\n return true;\n }\n projStore[len] = proj;\n proj.names.forEach(function(n) {\n names[n.toLowerCase()] = len;\n });\n return this;\n}\n\nexport {add};\n\nexport function get(name) {\n if (!name) {\n return false;\n }\n var n = name.toLowerCase();\n if (typeof names[n] !== 'undefined' && projStore[names[n]]) {\n return projStore[names[n]];\n }\n}\n\nexport function start() {\n projs.forEach(add);\n}\nexport default {\n start: start,\n add: add,\n get: get\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections.js\n// module id = 427\n// module chunks = 0","import msfnz from '../common/msfnz';\nimport qsfnz from '../common/qsfnz';\nimport adjust_lon from '../common/adjust_lon';\nimport asinz from '../common/asinz';\nimport {EPSLN} from '../constants/values';\n\nexport function init() {\n\n if (Math.abs(this.lat1 + this.lat2) < EPSLN) {\n return;\n }\n this.temp = this.b / this.a;\n this.es = 1 - Math.pow(this.temp, 2);\n this.e3 = Math.sqrt(this.es);\n\n this.sin_po = Math.sin(this.lat1);\n this.cos_po = Math.cos(this.lat1);\n this.t1 = this.sin_po;\n this.con = this.sin_po;\n this.ms1 = msfnz(this.e3, this.sin_po, this.cos_po);\n this.qs1 = qsfnz(this.e3, this.sin_po, this.cos_po);\n\n this.sin_po = Math.sin(this.lat2);\n this.cos_po = Math.cos(this.lat2);\n this.t2 = this.sin_po;\n this.ms2 = msfnz(this.e3, this.sin_po, this.cos_po);\n this.qs2 = qsfnz(this.e3, this.sin_po, this.cos_po);\n\n this.sin_po = Math.sin(this.lat0);\n this.cos_po = Math.cos(this.lat0);\n this.t3 = this.sin_po;\n this.qs0 = qsfnz(this.e3, this.sin_po, this.cos_po);\n\n if (Math.abs(this.lat1 - this.lat2) > EPSLN) {\n this.ns0 = (this.ms1 * this.ms1 - this.ms2 * this.ms2) / (this.qs2 - this.qs1);\n }\n else {\n this.ns0 = this.con;\n }\n this.c = this.ms1 * this.ms1 + this.ns0 * this.qs1;\n this.rh = this.a * Math.sqrt(this.c - this.ns0 * this.qs0) / this.ns0;\n}\n\n/* Albers Conical Equal Area forward equations--mapping lat,long to x,y\n -------------------------------------------------------------------*/\nexport function forward(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n this.sin_phi = Math.sin(lat);\n this.cos_phi = Math.cos(lat);\n\n var qs = qsfnz(this.e3, this.sin_phi, this.cos_phi);\n var rh1 = this.a * Math.sqrt(this.c - this.ns0 * qs) / this.ns0;\n var theta = this.ns0 * adjust_lon(lon - this.long0);\n var x = rh1 * Math.sin(theta) + this.x0;\n var y = this.rh - rh1 * Math.cos(theta) + this.y0;\n\n p.x = x;\n p.y = y;\n return p;\n}\n\nexport function inverse(p) {\n var rh1, qs, con, theta, lon, lat;\n\n p.x -= this.x0;\n p.y = this.rh - p.y + this.y0;\n if (this.ns0 >= 0) {\n rh1 = Math.sqrt(p.x * p.x + p.y * p.y);\n con = 1;\n }\n else {\n rh1 = -Math.sqrt(p.x * p.x + p.y * p.y);\n con = -1;\n }\n theta = 0;\n if (rh1 !== 0) {\n theta = Math.atan2(con * p.x, con * p.y);\n }\n con = rh1 * this.ns0 / this.a;\n if (this.sphere) {\n lat = Math.asin((this.c - con * con) / (2 * this.ns0));\n }\n else {\n qs = (this.c - con * con) / this.ns0;\n lat = this.phi1z(this.e3, qs);\n }\n\n lon = adjust_lon(theta / this.ns0 + this.long0);\n p.x = lon;\n p.y = lat;\n return p;\n}\n\n/* Function to compute phi1, the latitude for the inverse of the\n Albers Conical Equal-Area projection.\n-------------------------------------------*/\nexport function phi1z(eccent, qs) {\n var sinphi, cosphi, con, com, dphi;\n var phi = asinz(0.5 * qs);\n if (eccent < EPSLN) {\n return phi;\n }\n\n var eccnts = eccent * eccent;\n for (var i = 1; i <= 25; i++) {\n sinphi = Math.sin(phi);\n cosphi = Math.cos(phi);\n con = eccent * sinphi;\n com = 1 - con * con;\n dphi = 0.5 * com * com / cosphi * (qs / (1 - eccnts) - sinphi / com + 0.5 / eccent * Math.log((1 - con) / (1 + con)));\n phi = phi + dphi;\n if (Math.abs(dphi) <= 1e-7) {\n return phi;\n }\n }\n return null;\n}\n\nexport var names = [\"Albers_Conic_Equal_Area\", \"Albers\", \"aea\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names,\n phi1z: phi1z\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/aea.js\n// module id = 428\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport {HALF_PI, EPSLN} from '../constants/values';\n\nimport mlfn from '../common/mlfn';\nimport e0fn from '../common/e0fn';\nimport e1fn from '../common/e1fn';\nimport e2fn from '../common/e2fn';\nimport e3fn from '../common/e3fn';\nimport gN from '../common/gN';\nimport asinz from '../common/asinz';\nimport imlfn from '../common/imlfn';\n\n\n\nexport function init() {\n this.sin_p12 = Math.sin(this.lat0);\n this.cos_p12 = Math.cos(this.lat0);\n}\n\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var sinphi = Math.sin(p.y);\n var cosphi = Math.cos(p.y);\n var dlon = adjust_lon(lon - this.long0);\n var e0, e1, e2, e3, Mlp, Ml, tanphi, Nl1, Nl, psi, Az, G, H, GH, Hs, c, kp, cos_c, s, s2, s3, s4, s5;\n if (this.sphere) {\n if (Math.abs(this.sin_p12 - 1) <= EPSLN) {\n //North Pole case\n p.x = this.x0 + this.a * (HALF_PI - lat) * Math.sin(dlon);\n p.y = this.y0 - this.a * (HALF_PI - lat) * Math.cos(dlon);\n return p;\n }\n else if (Math.abs(this.sin_p12 + 1) <= EPSLN) {\n //South Pole case\n p.x = this.x0 + this.a * (HALF_PI + lat) * Math.sin(dlon);\n p.y = this.y0 + this.a * (HALF_PI + lat) * Math.cos(dlon);\n return p;\n }\n else {\n //default case\n cos_c = this.sin_p12 * sinphi + this.cos_p12 * cosphi * Math.cos(dlon);\n c = Math.acos(cos_c);\n kp = c / Math.sin(c);\n p.x = this.x0 + this.a * kp * cosphi * Math.sin(dlon);\n p.y = this.y0 + this.a * kp * (this.cos_p12 * sinphi - this.sin_p12 * cosphi * Math.cos(dlon));\n return p;\n }\n }\n else {\n e0 = e0fn(this.es);\n e1 = e1fn(this.es);\n e2 = e2fn(this.es);\n e3 = e3fn(this.es);\n if (Math.abs(this.sin_p12 - 1) <= EPSLN) {\n //North Pole case\n Mlp = this.a * mlfn(e0, e1, e2, e3, HALF_PI);\n Ml = this.a * mlfn(e0, e1, e2, e3, lat);\n p.x = this.x0 + (Mlp - Ml) * Math.sin(dlon);\n p.y = this.y0 - (Mlp - Ml) * Math.cos(dlon);\n return p;\n }\n else if (Math.abs(this.sin_p12 + 1) <= EPSLN) {\n //South Pole case\n Mlp = this.a * mlfn(e0, e1, e2, e3, HALF_PI);\n Ml = this.a * mlfn(e0, e1, e2, e3, lat);\n p.x = this.x0 + (Mlp + Ml) * Math.sin(dlon);\n p.y = this.y0 + (Mlp + Ml) * Math.cos(dlon);\n return p;\n }\n else {\n //Default case\n tanphi = sinphi / cosphi;\n Nl1 = gN(this.a, this.e, this.sin_p12);\n Nl = gN(this.a, this.e, sinphi);\n psi = Math.atan((1 - this.es) * tanphi + this.es * Nl1 * this.sin_p12 / (Nl * cosphi));\n Az = Math.atan2(Math.sin(dlon), this.cos_p12 * Math.tan(psi) - this.sin_p12 * Math.cos(dlon));\n if (Az === 0) {\n s = Math.asin(this.cos_p12 * Math.sin(psi) - this.sin_p12 * Math.cos(psi));\n }\n else if (Math.abs(Math.abs(Az) - Math.PI) <= EPSLN) {\n s = -Math.asin(this.cos_p12 * Math.sin(psi) - this.sin_p12 * Math.cos(psi));\n }\n else {\n s = Math.asin(Math.sin(dlon) * Math.cos(psi) / Math.sin(Az));\n }\n G = this.e * this.sin_p12 / Math.sqrt(1 - this.es);\n H = this.e * this.cos_p12 * Math.cos(Az) / Math.sqrt(1 - this.es);\n GH = G * H;\n Hs = H * H;\n s2 = s * s;\n s3 = s2 * s;\n s4 = s3 * s;\n s5 = s4 * s;\n c = Nl1 * s * (1 - s2 * Hs * (1 - Hs) / 6 + s3 / 8 * GH * (1 - 2 * Hs) + s4 / 120 * (Hs * (4 - 7 * Hs) - 3 * G * G * (1 - 7 * Hs)) - s5 / 48 * GH);\n p.x = this.x0 + c * Math.sin(Az);\n p.y = this.y0 + c * Math.cos(Az);\n return p;\n }\n }\n\n\n}\n\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var rh, z, sinz, cosz, lon, lat, con, e0, e1, e2, e3, Mlp, M, N1, psi, Az, cosAz, tmp, A, B, D, Ee, F;\n if (this.sphere) {\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n if (rh > (2 * HALF_PI * this.a)) {\n return;\n }\n z = rh / this.a;\n\n sinz = Math.sin(z);\n cosz = Math.cos(z);\n\n lon = this.long0;\n if (Math.abs(rh) <= EPSLN) {\n lat = this.lat0;\n }\n else {\n lat = asinz(cosz * this.sin_p12 + (p.y * sinz * this.cos_p12) / rh);\n con = Math.abs(this.lat0) - HALF_PI;\n if (Math.abs(con) <= EPSLN) {\n if (this.lat0 >= 0) {\n lon = adjust_lon(this.long0 + Math.atan2(p.x, - p.y));\n }\n else {\n lon = adjust_lon(this.long0 - Math.atan2(-p.x, p.y));\n }\n }\n else {\n /*con = cosz - this.sin_p12 * Math.sin(lat);\n if ((Math.abs(con) < EPSLN) && (Math.abs(p.x) < EPSLN)) {\n //no-op, just keep the lon value as is\n } else {\n var temp = Math.atan2((p.x * sinz * this.cos_p12), (con * rh));\n lon = adjust_lon(this.long0 + Math.atan2((p.x * sinz * this.cos_p12), (con * rh)));\n }*/\n lon = adjust_lon(this.long0 + Math.atan2(p.x * sinz, rh * this.cos_p12 * cosz - p.y * this.sin_p12 * sinz));\n }\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n e0 = e0fn(this.es);\n e1 = e1fn(this.es);\n e2 = e2fn(this.es);\n e3 = e3fn(this.es);\n if (Math.abs(this.sin_p12 - 1) <= EPSLN) {\n //North pole case\n Mlp = this.a * mlfn(e0, e1, e2, e3, HALF_PI);\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n M = Mlp - rh;\n lat = imlfn(M / this.a, e0, e1, e2, e3);\n lon = adjust_lon(this.long0 + Math.atan2(p.x, - 1 * p.y));\n p.x = lon;\n p.y = lat;\n return p;\n }\n else if (Math.abs(this.sin_p12 + 1) <= EPSLN) {\n //South pole case\n Mlp = this.a * mlfn(e0, e1, e2, e3, HALF_PI);\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n M = rh - Mlp;\n\n lat = imlfn(M / this.a, e0, e1, e2, e3);\n lon = adjust_lon(this.long0 + Math.atan2(p.x, p.y));\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n //default case\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n Az = Math.atan2(p.x, p.y);\n N1 = gN(this.a, this.e, this.sin_p12);\n cosAz = Math.cos(Az);\n tmp = this.e * this.cos_p12 * cosAz;\n A = -tmp * tmp / (1 - this.es);\n B = 3 * this.es * (1 - A) * this.sin_p12 * this.cos_p12 * cosAz / (1 - this.es);\n D = rh / N1;\n Ee = D - A * (1 + A) * Math.pow(D, 3) / 6 - B * (1 + 3 * A) * Math.pow(D, 4) / 24;\n F = 1 - A * Ee * Ee / 2 - D * Ee * Ee * Ee / 6;\n psi = Math.asin(this.sin_p12 * Math.cos(Ee) + this.cos_p12 * Math.sin(Ee) * cosAz);\n lon = adjust_lon(this.long0 + Math.asin(Math.sin(Az) * Math.sin(Ee) / Math.cos(psi)));\n lat = Math.atan((1 - this.es * F * this.sin_p12 / Math.sin(psi)) * Math.tan(psi) / (1 - this.es));\n p.x = lon;\n p.y = lat;\n return p;\n }\n }\n\n}\n\nexport var names = [\"Azimuthal_Equidistant\", \"aeqd\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/aeqd.js\n// module id = 429\n// module chunks = 0","import mlfn from '../common/mlfn';\nimport e0fn from '../common/e0fn';\nimport e1fn from '../common/e1fn';\nimport e2fn from '../common/e2fn';\nimport e3fn from '../common/e3fn';\nimport gN from '../common/gN';\nimport adjust_lon from '../common/adjust_lon';\nimport adjust_lat from '../common/adjust_lat';\nimport imlfn from '../common/imlfn';\nimport {HALF_PI, EPSLN} from '../constants/values';\n\nexport function init() {\n if (!this.sphere) {\n this.e0 = e0fn(this.es);\n this.e1 = e1fn(this.es);\n this.e2 = e2fn(this.es);\n this.e3 = e3fn(this.es);\n this.ml0 = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, this.lat0);\n }\n}\n\n/* Cassini forward equations--mapping lat,long to x,y\n -----------------------------------------------------------------------*/\nexport function forward(p) {\n\n /* Forward equations\n -----------------*/\n var x, y;\n var lam = p.x;\n var phi = p.y;\n lam = adjust_lon(lam - this.long0);\n\n if (this.sphere) {\n x = this.a * Math.asin(Math.cos(phi) * Math.sin(lam));\n y = this.a * (Math.atan2(Math.tan(phi), Math.cos(lam)) - this.lat0);\n }\n else {\n //ellipsoid\n var sinphi = Math.sin(phi);\n var cosphi = Math.cos(phi);\n var nl = gN(this.a, this.e, sinphi);\n var tl = Math.tan(phi) * Math.tan(phi);\n var al = lam * Math.cos(phi);\n var asq = al * al;\n var cl = this.es * cosphi * cosphi / (1 - this.es);\n var ml = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, phi);\n\n x = nl * al * (1 - asq * tl * (1 / 6 - (8 - tl + 8 * cl) * asq / 120));\n y = ml - this.ml0 + nl * sinphi / cosphi * asq * (0.5 + (5 - tl + 6 * cl) * asq / 24);\n\n\n }\n\n p.x = x + this.x0;\n p.y = y + this.y0;\n return p;\n}\n\n/* Inverse equations\n -----------------*/\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var x = p.x / this.a;\n var y = p.y / this.a;\n var phi, lam;\n\n if (this.sphere) {\n var dd = y + this.lat0;\n phi = Math.asin(Math.sin(dd) * Math.cos(x));\n lam = Math.atan2(Math.tan(x), Math.cos(dd));\n }\n else {\n /* ellipsoid */\n var ml1 = this.ml0 / this.a + y;\n var phi1 = imlfn(ml1, this.e0, this.e1, this.e2, this.e3);\n if (Math.abs(Math.abs(phi1) - HALF_PI) <= EPSLN) {\n p.x = this.long0;\n p.y = HALF_PI;\n if (y < 0) {\n p.y *= -1;\n }\n return p;\n }\n var nl1 = gN(this.a, this.e, Math.sin(phi1));\n\n var rl1 = nl1 * nl1 * nl1 / this.a / this.a * (1 - this.es);\n var tl1 = Math.pow(Math.tan(phi1), 2);\n var dl = x * this.a / nl1;\n var dsq = dl * dl;\n phi = phi1 - nl1 * Math.tan(phi1) / rl1 * dl * dl * (0.5 - (1 + 3 * tl1) * dl * dl / 24);\n lam = dl * (1 - dsq * (tl1 / 3 + (1 + 3 * tl1) * tl1 * dsq / 15)) / Math.cos(phi1);\n\n }\n\n p.x = adjust_lon(lam + this.long0);\n p.y = adjust_lat(phi);\n return p;\n\n}\n\nexport var names = [\"Cassini\", \"Cassini_Soldner\", \"cass\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/cass.js\n// module id = 430\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport qsfnz from '../common/qsfnz';\nimport msfnz from '../common/msfnz';\nimport iqsfnz from '../common/iqsfnz';\n\n/*\n reference:\n \"Cartographic Projection Procedures for the UNIX Environment-\n A User's Manual\" by Gerald I. Evenden,\n USGS Open File Report 90-284and Release 4 Interim Reports (2003)\n*/\nexport function init() {\n //no-op\n if (!this.sphere) {\n this.k0 = msfnz(this.e, Math.sin(this.lat_ts), Math.cos(this.lat_ts));\n }\n}\n\n/* Cylindrical Equal Area forward equations--mapping lat,long to x,y\n ------------------------------------------------------------*/\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var x, y;\n /* Forward equations\n -----------------*/\n var dlon = adjust_lon(lon - this.long0);\n if (this.sphere) {\n x = this.x0 + this.a * dlon * Math.cos(this.lat_ts);\n y = this.y0 + this.a * Math.sin(lat) / Math.cos(this.lat_ts);\n }\n else {\n var qs = qsfnz(this.e, Math.sin(lat));\n x = this.x0 + this.a * this.k0 * dlon;\n y = this.y0 + this.a * qs * 0.5 / this.k0;\n }\n\n p.x = x;\n p.y = y;\n return p;\n}\n\n/* Cylindrical Equal Area inverse equations--mapping x,y to lat/long\n ------------------------------------------------------------*/\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var lon, lat;\n\n if (this.sphere) {\n lon = adjust_lon(this.long0 + (p.x / this.a) / Math.cos(this.lat_ts));\n lat = Math.asin((p.y / this.a) * Math.cos(this.lat_ts));\n }\n else {\n lat = iqsfnz(this.e, 2 * p.y * this.k0 / this.a);\n lon = adjust_lon(this.long0 + p.x / (this.a * this.k0));\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"cea\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/cea.js\n// module id = 431\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport adjust_lat from '../common/adjust_lat';\n\nexport function init() {\n\n this.x0 = this.x0 || 0;\n this.y0 = this.y0 || 0;\n this.lat0 = this.lat0 || 0;\n this.long0 = this.long0 || 0;\n this.lat_ts = this.lat_ts || 0;\n this.title = this.title || \"Equidistant Cylindrical (Plate Carre)\";\n\n this.rc = Math.cos(this.lat_ts);\n}\n\n// forward equations--mapping lat,long to x,y\n// -----------------------------------------------------------------\nexport function forward(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n var dlon = adjust_lon(lon - this.long0);\n var dlat = adjust_lat(lat - this.lat0);\n p.x = this.x0 + (this.a * dlon * this.rc);\n p.y = this.y0 + (this.a * dlat);\n return p;\n}\n\n// inverse equations--mapping x,y to lat/long\n// -----------------------------------------------------------------\nexport function inverse(p) {\n\n var x = p.x;\n var y = p.y;\n\n p.x = adjust_lon(this.long0 + ((x - this.x0) / (this.a * this.rc)));\n p.y = adjust_lat(this.lat0 + ((y - this.y0) / (this.a)));\n return p;\n}\n\nexport var names = [\"Equirectangular\", \"Equidistant_Cylindrical\", \"eqc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/eqc.js\n// module id = 432\n// module chunks = 0","import e0fn from '../common/e0fn';\nimport e1fn from '../common/e1fn';\nimport e2fn from '../common/e2fn';\nimport e3fn from '../common/e3fn';\nimport msfnz from '../common/msfnz';\nimport mlfn from '../common/mlfn';\nimport adjust_lon from '../common/adjust_lon';\nimport adjust_lat from '../common/adjust_lat';\nimport imlfn from '../common/imlfn';\nimport {EPSLN} from '../constants/values';\n\nexport function init() {\n\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n // Standard Parallels cannot be equal and on opposite sides of the equator\n if (Math.abs(this.lat1 + this.lat2) < EPSLN) {\n return;\n }\n this.lat2 = this.lat2 || this.lat1;\n this.temp = this.b / this.a;\n this.es = 1 - Math.pow(this.temp, 2);\n this.e = Math.sqrt(this.es);\n this.e0 = e0fn(this.es);\n this.e1 = e1fn(this.es);\n this.e2 = e2fn(this.es);\n this.e3 = e3fn(this.es);\n\n this.sinphi = Math.sin(this.lat1);\n this.cosphi = Math.cos(this.lat1);\n\n this.ms1 = msfnz(this.e, this.sinphi, this.cosphi);\n this.ml1 = mlfn(this.e0, this.e1, this.e2, this.e3, this.lat1);\n\n if (Math.abs(this.lat1 - this.lat2) < EPSLN) {\n this.ns = this.sinphi;\n }\n else {\n this.sinphi = Math.sin(this.lat2);\n this.cosphi = Math.cos(this.lat2);\n this.ms2 = msfnz(this.e, this.sinphi, this.cosphi);\n this.ml2 = mlfn(this.e0, this.e1, this.e2, this.e3, this.lat2);\n this.ns = (this.ms1 - this.ms2) / (this.ml2 - this.ml1);\n }\n this.g = this.ml1 + this.ms1 / this.ns;\n this.ml0 = mlfn(this.e0, this.e1, this.e2, this.e3, this.lat0);\n this.rh = this.a * (this.g - this.ml0);\n}\n\n/* Equidistant Conic forward equations--mapping lat,long to x,y\n -----------------------------------------------------------*/\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var rh1;\n\n /* Forward equations\n -----------------*/\n if (this.sphere) {\n rh1 = this.a * (this.g - lat);\n }\n else {\n var ml = mlfn(this.e0, this.e1, this.e2, this.e3, lat);\n rh1 = this.a * (this.g - ml);\n }\n var theta = this.ns * adjust_lon(lon - this.long0);\n var x = this.x0 + rh1 * Math.sin(theta);\n var y = this.y0 + this.rh - rh1 * Math.cos(theta);\n p.x = x;\n p.y = y;\n return p;\n}\n\n/* Inverse equations\n -----------------*/\nexport function inverse(p) {\n p.x -= this.x0;\n p.y = this.rh - p.y + this.y0;\n var con, rh1, lat, lon;\n if (this.ns >= 0) {\n rh1 = Math.sqrt(p.x * p.x + p.y * p.y);\n con = 1;\n }\n else {\n rh1 = -Math.sqrt(p.x * p.x + p.y * p.y);\n con = -1;\n }\n var theta = 0;\n if (rh1 !== 0) {\n theta = Math.atan2(con * p.x, con * p.y);\n }\n\n if (this.sphere) {\n lon = adjust_lon(this.long0 + theta / this.ns);\n lat = adjust_lat(this.g - rh1 / this.a);\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n var ml = this.g - rh1 / this.a;\n lat = imlfn(ml, this.e0, this.e1, this.e2, this.e3);\n lon = adjust_lon(this.long0 + theta / this.ns);\n p.x = lon;\n p.y = lat;\n return p;\n }\n\n}\n\nexport var names = [\"Equidistant_Conic\", \"eqdc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/eqdc.js\n// module id = 433\n// module chunks = 0","import srat from '../common/srat';\nvar MAX_ITER = 20;\nimport {HALF_PI, FORTPI} from '../constants/values';\n\nexport function init() {\n var sphi = Math.sin(this.lat0);\n var cphi = Math.cos(this.lat0);\n cphi *= cphi;\n this.rc = Math.sqrt(1 - this.es) / (1 - this.es * sphi * sphi);\n this.C = Math.sqrt(1 + this.es * cphi * cphi / (1 - this.es));\n this.phic0 = Math.asin(sphi / this.C);\n this.ratexp = 0.5 * this.C * this.e;\n this.K = Math.tan(0.5 * this.phic0 + FORTPI) / (Math.pow(Math.tan(0.5 * this.lat0 + FORTPI), this.C) * srat(this.e * sphi, this.ratexp));\n}\n\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n\n p.y = 2 * Math.atan(this.K * Math.pow(Math.tan(0.5 * lat + FORTPI), this.C) * srat(this.e * Math.sin(lat), this.ratexp)) - HALF_PI;\n p.x = this.C * lon;\n return p;\n}\n\nexport function inverse(p) {\n var DEL_TOL = 1e-14;\n var lon = p.x / this.C;\n var lat = p.y;\n var num = Math.pow(Math.tan(0.5 * lat + FORTPI) / this.K, 1 / this.C);\n for (var i = MAX_ITER; i > 0; --i) {\n lat = 2 * Math.atan(num * srat(this.e * Math.sin(p.y), - 0.5 * this.e)) - HALF_PI;\n if (Math.abs(lat - p.y) < DEL_TOL) {\n break;\n }\n p.y = lat;\n }\n /* convergence failed */\n if (!i) {\n return null;\n }\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"gauss\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/gauss.js\n// module id = 434\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport asinz from '../common/asinz';\nimport {EPSLN} from '../constants/values';\n\n/*\n reference:\n Wolfram Mathworld \"Gnomonic Projection\"\n http://mathworld.wolfram.com/GnomonicProjection.html\n Accessed: 12th November 2009\n */\nexport function init() {\n\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n this.sin_p14 = Math.sin(this.lat0);\n this.cos_p14 = Math.cos(this.lat0);\n // Approximation for projecting points to the horizon (infinity)\n this.infinity_dist = 1000 * this.a;\n this.rc = 1;\n}\n\n/* Gnomonic forward equations--mapping lat,long to x,y\n ---------------------------------------------------*/\nexport function forward(p) {\n var sinphi, cosphi; /* sin and cos value */\n var dlon; /* delta longitude value */\n var coslon; /* cos of longitude */\n var ksp; /* scale factor */\n var g;\n var x, y;\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n dlon = adjust_lon(lon - this.long0);\n\n sinphi = Math.sin(lat);\n cosphi = Math.cos(lat);\n\n coslon = Math.cos(dlon);\n g = this.sin_p14 * sinphi + this.cos_p14 * cosphi * coslon;\n ksp = 1;\n if ((g > 0) || (Math.abs(g) <= EPSLN)) {\n x = this.x0 + this.a * ksp * cosphi * Math.sin(dlon) / g;\n y = this.y0 + this.a * ksp * (this.cos_p14 * sinphi - this.sin_p14 * cosphi * coslon) / g;\n }\n else {\n\n // Point is in the opposing hemisphere and is unprojectable\n // We still need to return a reasonable point, so we project\n // to infinity, on a bearing\n // equivalent to the northern hemisphere equivalent\n // This is a reasonable approximation for short shapes and lines that\n // straddle the horizon.\n\n x = this.x0 + this.infinity_dist * cosphi * Math.sin(dlon);\n y = this.y0 + this.infinity_dist * (this.cos_p14 * sinphi - this.sin_p14 * cosphi * coslon);\n\n }\n p.x = x;\n p.y = y;\n return p;\n}\n\nexport function inverse(p) {\n var rh; /* Rho */\n var sinc, cosc;\n var c;\n var lon, lat;\n\n /* Inverse equations\n -----------------*/\n p.x = (p.x - this.x0) / this.a;\n p.y = (p.y - this.y0) / this.a;\n\n p.x /= this.k0;\n p.y /= this.k0;\n\n if ((rh = Math.sqrt(p.x * p.x + p.y * p.y))) {\n c = Math.atan2(rh, this.rc);\n sinc = Math.sin(c);\n cosc = Math.cos(c);\n\n lat = asinz(cosc * this.sin_p14 + (p.y * sinc * this.cos_p14) / rh);\n lon = Math.atan2(p.x * sinc, rh * this.cos_p14 * cosc - p.y * this.sin_p14 * sinc);\n lon = adjust_lon(this.long0 + lon);\n }\n else {\n lat = this.phic0;\n lon = 0;\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"gnom\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/gnom.js\n// module id = 435\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\n\nexport function init() {\n this.a = 6377397.155;\n this.es = 0.006674372230614;\n this.e = Math.sqrt(this.es);\n if (!this.lat0) {\n this.lat0 = 0.863937979737193;\n }\n if (!this.long0) {\n this.long0 = 0.7417649320975901 - 0.308341501185665;\n }\n /* if scale not set default to 0.9999 */\n if (!this.k0) {\n this.k0 = 0.9999;\n }\n this.s45 = 0.785398163397448; /* 45 */\n this.s90 = 2 * this.s45;\n this.fi0 = this.lat0;\n this.e2 = this.es;\n this.e = Math.sqrt(this.e2);\n this.alfa = Math.sqrt(1 + (this.e2 * Math.pow(Math.cos(this.fi0), 4)) / (1 - this.e2));\n this.uq = 1.04216856380474;\n this.u0 = Math.asin(Math.sin(this.fi0) / this.alfa);\n this.g = Math.pow((1 + this.e * Math.sin(this.fi0)) / (1 - this.e * Math.sin(this.fi0)), this.alfa * this.e / 2);\n this.k = Math.tan(this.u0 / 2 + this.s45) / Math.pow(Math.tan(this.fi0 / 2 + this.s45), this.alfa) * this.g;\n this.k1 = this.k0;\n this.n0 = this.a * Math.sqrt(1 - this.e2) / (1 - this.e2 * Math.pow(Math.sin(this.fi0), 2));\n this.s0 = 1.37008346281555;\n this.n = Math.sin(this.s0);\n this.ro0 = this.k1 * this.n0 / Math.tan(this.s0);\n this.ad = this.s90 - this.uq;\n}\n\n/* ellipsoid */\n/* calculate xy from lat/lon */\n/* Constants, identical to inverse transform function */\nexport function forward(p) {\n var gfi, u, deltav, s, d, eps, ro;\n var lon = p.x;\n var lat = p.y;\n var delta_lon = adjust_lon(lon - this.long0);\n /* Transformation */\n gfi = Math.pow(((1 + this.e * Math.sin(lat)) / (1 - this.e * Math.sin(lat))), (this.alfa * this.e / 2));\n u = 2 * (Math.atan(this.k * Math.pow(Math.tan(lat / 2 + this.s45), this.alfa) / gfi) - this.s45);\n deltav = -delta_lon * this.alfa;\n s = Math.asin(Math.cos(this.ad) * Math.sin(u) + Math.sin(this.ad) * Math.cos(u) * Math.cos(deltav));\n d = Math.asin(Math.cos(u) * Math.sin(deltav) / Math.cos(s));\n eps = this.n * d;\n ro = this.ro0 * Math.pow(Math.tan(this.s0 / 2 + this.s45), this.n) / Math.pow(Math.tan(s / 2 + this.s45), this.n);\n p.y = ro * Math.cos(eps) / 1;\n p.x = ro * Math.sin(eps) / 1;\n\n if (!this.czech) {\n p.y *= -1;\n p.x *= -1;\n }\n return (p);\n}\n\n/* calculate lat/lon from xy */\nexport function inverse(p) {\n var u, deltav, s, d, eps, ro, fi1;\n var ok;\n\n /* Transformation */\n /* revert y, x*/\n var tmp = p.x;\n p.x = p.y;\n p.y = tmp;\n if (!this.czech) {\n p.y *= -1;\n p.x *= -1;\n }\n ro = Math.sqrt(p.x * p.x + p.y * p.y);\n eps = Math.atan2(p.y, p.x);\n d = eps / Math.sin(this.s0);\n s = 2 * (Math.atan(Math.pow(this.ro0 / ro, 1 / this.n) * Math.tan(this.s0 / 2 + this.s45)) - this.s45);\n u = Math.asin(Math.cos(this.ad) * Math.sin(s) - Math.sin(this.ad) * Math.cos(s) * Math.cos(d));\n deltav = Math.asin(Math.cos(s) * Math.sin(d) / Math.cos(u));\n p.x = this.long0 - deltav / this.alfa;\n fi1 = u;\n ok = 0;\n var iter = 0;\n do {\n p.y = 2 * (Math.atan(Math.pow(this.k, - 1 / this.alfa) * Math.pow(Math.tan(u / 2 + this.s45), 1 / this.alfa) * Math.pow((1 + this.e * Math.sin(fi1)) / (1 - this.e * Math.sin(fi1)), this.e / 2)) - this.s45);\n if (Math.abs(fi1 - p.y) < 0.0000000001) {\n ok = 1;\n }\n fi1 = p.y;\n iter += 1;\n } while (ok === 0 && iter < 15);\n if (iter >= 15) {\n return null;\n }\n\n return (p);\n}\n\nexport var names = [\"Krovak\", \"krovak\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/krovak.js\n// module id = 436\n// module chunks = 0","\nimport {HALF_PI, EPSLN, FORTPI} from '../constants/values';\n\nimport qsfnz from '../common/qsfnz';\nimport adjust_lon from '../common/adjust_lon';\n\n/*\n reference\n \"New Equal-Area Map Projections for Noncircular Regions\", John P. Snyder,\n The American Cartographer, Vol 15, No. 4, October 1988, pp. 341-355.\n */\n\nexport var S_POLE = 1;\n\nexport var N_POLE = 2;\nexport var EQUIT = 3;\nexport var OBLIQ = 4;\n\n/* Initialize the Lambert Azimuthal Equal Area projection\n ------------------------------------------------------*/\nexport function init() {\n var t = Math.abs(this.lat0);\n if (Math.abs(t - HALF_PI) < EPSLN) {\n this.mode = this.lat0 < 0 ? this.S_POLE : this.N_POLE;\n }\n else if (Math.abs(t) < EPSLN) {\n this.mode = this.EQUIT;\n }\n else {\n this.mode = this.OBLIQ;\n }\n if (this.es > 0) {\n var sinphi;\n\n this.qp = qsfnz(this.e, 1);\n this.mmf = 0.5 / (1 - this.es);\n this.apa = authset(this.es);\n switch (this.mode) {\n case this.N_POLE:\n this.dd = 1;\n break;\n case this.S_POLE:\n this.dd = 1;\n break;\n case this.EQUIT:\n this.rq = Math.sqrt(0.5 * this.qp);\n this.dd = 1 / this.rq;\n this.xmf = 1;\n this.ymf = 0.5 * this.qp;\n break;\n case this.OBLIQ:\n this.rq = Math.sqrt(0.5 * this.qp);\n sinphi = Math.sin(this.lat0);\n this.sinb1 = qsfnz(this.e, sinphi) / this.qp;\n this.cosb1 = Math.sqrt(1 - this.sinb1 * this.sinb1);\n this.dd = Math.cos(this.lat0) / (Math.sqrt(1 - this.es * sinphi * sinphi) * this.rq * this.cosb1);\n this.ymf = (this.xmf = this.rq) / this.dd;\n this.xmf *= this.dd;\n break;\n }\n }\n else {\n if (this.mode === this.OBLIQ) {\n this.sinph0 = Math.sin(this.lat0);\n this.cosph0 = Math.cos(this.lat0);\n }\n }\n}\n\n/* Lambert Azimuthal Equal Area forward equations--mapping lat,long to x,y\n -----------------------------------------------------------------------*/\nexport function forward(p) {\n\n /* Forward equations\n -----------------*/\n var x, y, coslam, sinlam, sinphi, q, sinb, cosb, b, cosphi;\n var lam = p.x;\n var phi = p.y;\n\n lam = adjust_lon(lam - this.long0);\n if (this.sphere) {\n sinphi = Math.sin(phi);\n cosphi = Math.cos(phi);\n coslam = Math.cos(lam);\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n y = (this.mode === this.EQUIT) ? 1 + cosphi * coslam : 1 + this.sinph0 * sinphi + this.cosph0 * cosphi * coslam;\n if (y <= EPSLN) {\n return null;\n }\n y = Math.sqrt(2 / y);\n x = y * cosphi * Math.sin(lam);\n y *= (this.mode === this.EQUIT) ? sinphi : this.cosph0 * sinphi - this.sinph0 * cosphi * coslam;\n }\n else if (this.mode === this.N_POLE || this.mode === this.S_POLE) {\n if (this.mode === this.N_POLE) {\n coslam = -coslam;\n }\n if (Math.abs(phi + this.phi0) < EPSLN) {\n return null;\n }\n y = FORTPI - phi * 0.5;\n y = 2 * ((this.mode === this.S_POLE) ? Math.cos(y) : Math.sin(y));\n x = y * Math.sin(lam);\n y *= coslam;\n }\n }\n else {\n sinb = 0;\n cosb = 0;\n b = 0;\n coslam = Math.cos(lam);\n sinlam = Math.sin(lam);\n sinphi = Math.sin(phi);\n q = qsfnz(this.e, sinphi);\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n sinb = q / this.qp;\n cosb = Math.sqrt(1 - sinb * sinb);\n }\n switch (this.mode) {\n case this.OBLIQ:\n b = 1 + this.sinb1 * sinb + this.cosb1 * cosb * coslam;\n break;\n case this.EQUIT:\n b = 1 + cosb * coslam;\n break;\n case this.N_POLE:\n b = HALF_PI + phi;\n q = this.qp - q;\n break;\n case this.S_POLE:\n b = phi - HALF_PI;\n q = this.qp + q;\n break;\n }\n if (Math.abs(b) < EPSLN) {\n return null;\n }\n switch (this.mode) {\n case this.OBLIQ:\n case this.EQUIT:\n b = Math.sqrt(2 / b);\n if (this.mode === this.OBLIQ) {\n y = this.ymf * b * (this.cosb1 * sinb - this.sinb1 * cosb * coslam);\n }\n else {\n y = (b = Math.sqrt(2 / (1 + cosb * coslam))) * sinb * this.ymf;\n }\n x = this.xmf * b * cosb * sinlam;\n break;\n case this.N_POLE:\n case this.S_POLE:\n if (q >= 0) {\n x = (b = Math.sqrt(q)) * sinlam;\n y = coslam * ((this.mode === this.S_POLE) ? b : -b);\n }\n else {\n x = y = 0;\n }\n break;\n }\n }\n\n p.x = this.a * x + this.x0;\n p.y = this.a * y + this.y0;\n return p;\n}\n\n/* Inverse equations\n -----------------*/\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var x = p.x / this.a;\n var y = p.y / this.a;\n var lam, phi, cCe, sCe, q, rho, ab;\n if (this.sphere) {\n var cosz = 0,\n rh, sinz = 0;\n\n rh = Math.sqrt(x * x + y * y);\n phi = rh * 0.5;\n if (phi > 1) {\n return null;\n }\n phi = 2 * Math.asin(phi);\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n sinz = Math.sin(phi);\n cosz = Math.cos(phi);\n }\n switch (this.mode) {\n case this.EQUIT:\n phi = (Math.abs(rh) <= EPSLN) ? 0 : Math.asin(y * sinz / rh);\n x *= sinz;\n y = cosz * rh;\n break;\n case this.OBLIQ:\n phi = (Math.abs(rh) <= EPSLN) ? this.phi0 : Math.asin(cosz * this.sinph0 + y * sinz * this.cosph0 / rh);\n x *= sinz * this.cosph0;\n y = (cosz - Math.sin(phi) * this.sinph0) * rh;\n break;\n case this.N_POLE:\n y = -y;\n phi = HALF_PI - phi;\n break;\n case this.S_POLE:\n phi -= HALF_PI;\n break;\n }\n lam = (y === 0 && (this.mode === this.EQUIT || this.mode === this.OBLIQ)) ? 0 : Math.atan2(x, y);\n }\n else {\n ab = 0;\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n x /= this.dd;\n y *= this.dd;\n rho = Math.sqrt(x * x + y * y);\n if (rho < EPSLN) {\n p.x = 0;\n p.y = this.phi0;\n return p;\n }\n sCe = 2 * Math.asin(0.5 * rho / this.rq);\n cCe = Math.cos(sCe);\n x *= (sCe = Math.sin(sCe));\n if (this.mode === this.OBLIQ) {\n ab = cCe * this.sinb1 + y * sCe * this.cosb1 / rho;\n q = this.qp * ab;\n y = rho * this.cosb1 * cCe - y * this.sinb1 * sCe;\n }\n else {\n ab = y * sCe / rho;\n q = this.qp * ab;\n y = rho * cCe;\n }\n }\n else if (this.mode === this.N_POLE || this.mode === this.S_POLE) {\n if (this.mode === this.N_POLE) {\n y = -y;\n }\n q = (x * x + y * y);\n if (!q) {\n p.x = 0;\n p.y = this.phi0;\n return p;\n }\n ab = 1 - q / this.qp;\n if (this.mode === this.S_POLE) {\n ab = -ab;\n }\n }\n lam = Math.atan2(x, y);\n phi = authlat(Math.asin(ab), this.apa);\n }\n\n p.x = adjust_lon(this.long0 + lam);\n p.y = phi;\n return p;\n}\n\n/* determine latitude from authalic latitude */\nvar P00 = 0.33333333333333333333;\n\nvar P01 = 0.17222222222222222222;\nvar P02 = 0.10257936507936507936;\nvar P10 = 0.06388888888888888888;\nvar P11 = 0.06640211640211640211;\nvar P20 = 0.01641501294219154443;\n\nfunction authset(es) {\n var t;\n var APA = [];\n APA[0] = es * P00;\n t = es * es;\n APA[0] += t * P01;\n APA[1] = t * P10;\n t *= es;\n APA[0] += t * P02;\n APA[1] += t * P11;\n APA[2] = t * P20;\n return APA;\n}\n\nfunction authlat(beta, APA) {\n var t = beta + beta;\n return (beta + APA[0] * Math.sin(t) + APA[1] * Math.sin(t + t) + APA[2] * Math.sin(t + t + t));\n}\n\nexport var names = [\"Lambert Azimuthal Equal Area\", \"Lambert_Azimuthal_Equal_Area\", \"laea\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names,\n S_POLE: S_POLE,\n N_POLE: N_POLE,\n EQUIT: EQUIT,\n OBLIQ: OBLIQ\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/laea.js\n// module id = 437\n// module chunks = 0","import msfnz from '../common/msfnz';\nimport tsfnz from '../common/tsfnz';\nimport sign from '../common/sign';\nimport adjust_lon from '../common/adjust_lon';\nimport phi2z from '../common/phi2z';\nimport {HALF_PI, EPSLN} from '../constants/values';\nexport function init() {\n\n // array of: r_maj,r_min,lat1,lat2,c_lon,c_lat,false_east,false_north\n //double c_lat; /* center latitude */\n //double c_lon; /* center longitude */\n //double lat1; /* first standard parallel */\n //double lat2; /* second standard parallel */\n //double r_maj; /* major axis */\n //double r_min; /* minor axis */\n //double false_east; /* x offset in meters */\n //double false_north; /* y offset in meters */\n\n if (!this.lat2) {\n this.lat2 = this.lat1;\n } //if lat2 is not defined\n if (!this.k0) {\n this.k0 = 1;\n }\n this.x0 = this.x0 || 0;\n this.y0 = this.y0 || 0;\n // Standard Parallels cannot be equal and on opposite sides of the equator\n if (Math.abs(this.lat1 + this.lat2) < EPSLN) {\n return;\n }\n\n var temp = this.b / this.a;\n this.e = Math.sqrt(1 - temp * temp);\n\n var sin1 = Math.sin(this.lat1);\n var cos1 = Math.cos(this.lat1);\n var ms1 = msfnz(this.e, sin1, cos1);\n var ts1 = tsfnz(this.e, this.lat1, sin1);\n\n var sin2 = Math.sin(this.lat2);\n var cos2 = Math.cos(this.lat2);\n var ms2 = msfnz(this.e, sin2, cos2);\n var ts2 = tsfnz(this.e, this.lat2, sin2);\n\n var ts0 = tsfnz(this.e, this.lat0, Math.sin(this.lat0));\n\n if (Math.abs(this.lat1 - this.lat2) > EPSLN) {\n this.ns = Math.log(ms1 / ms2) / Math.log(ts1 / ts2);\n }\n else {\n this.ns = sin1;\n }\n if (isNaN(this.ns)) {\n this.ns = sin1;\n }\n this.f0 = ms1 / (this.ns * Math.pow(ts1, this.ns));\n this.rh = this.a * this.f0 * Math.pow(ts0, this.ns);\n if (!this.title) {\n this.title = \"Lambert Conformal Conic\";\n }\n}\n\n// Lambert Conformal conic forward equations--mapping lat,long to x,y\n// -----------------------------------------------------------------\nexport function forward(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n // singular cases :\n if (Math.abs(2 * Math.abs(lat) - Math.PI) <= EPSLN) {\n lat = sign(lat) * (HALF_PI - 2 * EPSLN);\n }\n\n var con = Math.abs(Math.abs(lat) - HALF_PI);\n var ts, rh1;\n if (con > EPSLN) {\n ts = tsfnz(this.e, lat, Math.sin(lat));\n rh1 = this.a * this.f0 * Math.pow(ts, this.ns);\n }\n else {\n con = lat * this.ns;\n if (con <= 0) {\n return null;\n }\n rh1 = 0;\n }\n var theta = this.ns * adjust_lon(lon - this.long0);\n p.x = this.k0 * (rh1 * Math.sin(theta)) + this.x0;\n p.y = this.k0 * (this.rh - rh1 * Math.cos(theta)) + this.y0;\n\n return p;\n}\n\n// Lambert Conformal Conic inverse equations--mapping x,y to lat/long\n// -----------------------------------------------------------------\nexport function inverse(p) {\n\n var rh1, con, ts;\n var lat, lon;\n var x = (p.x - this.x0) / this.k0;\n var y = (this.rh - (p.y - this.y0) / this.k0);\n if (this.ns > 0) {\n rh1 = Math.sqrt(x * x + y * y);\n con = 1;\n }\n else {\n rh1 = -Math.sqrt(x * x + y * y);\n con = -1;\n }\n var theta = 0;\n if (rh1 !== 0) {\n theta = Math.atan2((con * x), (con * y));\n }\n if ((rh1 !== 0) || (this.ns > 0)) {\n con = 1 / this.ns;\n ts = Math.pow((rh1 / (this.a * this.f0)), con);\n lat = phi2z(this.e, ts);\n if (lat === -9999) {\n return null;\n }\n }\n else {\n lat = -HALF_PI;\n }\n lon = adjust_lon(theta / this.ns + this.long0);\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Lambert Tangential Conformal Conic Projection\", \"Lambert_Conformal_Conic\", \"Lambert_Conformal_Conic_2SP\", \"lcc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/lcc.js\n// module id = 438\n// module chunks = 0","export function init() {\n //no-op for longlat\n}\n\nfunction identity(pt) {\n return pt;\n}\nexport {identity as forward};\nexport {identity as inverse};\nexport var names = [\"longlat\", \"identity\"];\nexport default {\n init: init,\n forward: identity,\n inverse: identity,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/longlat.js\n// module id = 439\n// module chunks = 0","import msfnz from '../common/msfnz';\n\nimport adjust_lon from '../common/adjust_lon';\nimport tsfnz from '../common/tsfnz';\nimport phi2z from '../common/phi2z';\nimport {FORTPI, R2D, EPSLN, HALF_PI} from '../constants/values';\nexport function init() {\n var con = this.b / this.a;\n this.es = 1 - con * con;\n if(!('x0' in this)){\n this.x0 = 0;\n }\n if(!('y0' in this)){\n this.y0 = 0;\n }\n this.e = Math.sqrt(this.es);\n if (this.lat_ts) {\n if (this.sphere) {\n this.k0 = Math.cos(this.lat_ts);\n }\n else {\n this.k0 = msfnz(this.e, Math.sin(this.lat_ts), Math.cos(this.lat_ts));\n }\n }\n else {\n if (!this.k0) {\n if (this.k) {\n this.k0 = this.k;\n }\n else {\n this.k0 = 1;\n }\n }\n }\n}\n\n/* Mercator forward equations--mapping lat,long to x,y\n --------------------------------------------------*/\n\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n // convert to radians\n if (lat * R2D > 90 && lat * R2D < -90 && lon * R2D > 180 && lon * R2D < -180) {\n return null;\n }\n\n var x, y;\n if (Math.abs(Math.abs(lat) - HALF_PI) <= EPSLN) {\n return null;\n }\n else {\n if (this.sphere) {\n x = this.x0 + this.a * this.k0 * adjust_lon(lon - this.long0);\n y = this.y0 + this.a * this.k0 * Math.log(Math.tan(FORTPI + 0.5 * lat));\n }\n else {\n var sinphi = Math.sin(lat);\n var ts = tsfnz(this.e, lat, sinphi);\n x = this.x0 + this.a * this.k0 * adjust_lon(lon - this.long0);\n y = this.y0 - this.a * this.k0 * Math.log(ts);\n }\n p.x = x;\n p.y = y;\n return p;\n }\n}\n\n/* Mercator inverse equations--mapping x,y to lat/long\n --------------------------------------------------*/\nexport function inverse(p) {\n\n var x = p.x - this.x0;\n var y = p.y - this.y0;\n var lon, lat;\n\n if (this.sphere) {\n lat = HALF_PI - 2 * Math.atan(Math.exp(-y / (this.a * this.k0)));\n }\n else {\n var ts = Math.exp(-y / (this.a * this.k0));\n lat = phi2z(this.e, ts);\n if (lat === -9999) {\n return null;\n }\n }\n lon = adjust_lon(this.long0 + x / (this.a * this.k0));\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Mercator\", \"Popular Visualisation Pseudo Mercator\", \"Mercator_1SP\", \"Mercator_Auxiliary_Sphere\", \"merc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/merc.js\n// module id = 440\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\n\n/*\n reference\n \"New Equal-Area Map Projections for Noncircular Regions\", John P. Snyder,\n The American Cartographer, Vol 15, No. 4, October 1988, pp. 341-355.\n */\n\n\n/* Initialize the Miller Cylindrical projection\n -------------------------------------------*/\nexport function init() {\n //no-op\n}\n\n/* Miller Cylindrical forward equations--mapping lat,long to x,y\n ------------------------------------------------------------*/\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n var dlon = adjust_lon(lon - this.long0);\n var x = this.x0 + this.a * dlon;\n var y = this.y0 + this.a * Math.log(Math.tan((Math.PI / 4) + (lat / 2.5))) * 1.25;\n\n p.x = x;\n p.y = y;\n return p;\n}\n\n/* Miller Cylindrical inverse equations--mapping x,y to lat/long\n ------------------------------------------------------------*/\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n\n var lon = adjust_lon(this.long0 + p.x / this.a);\n var lat = 2.5 * (Math.atan(Math.exp(0.8 * p.y / this.a)) - Math.PI / 4);\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Miller_Cylindrical\", \"mill\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/mill.js\n// module id = 441\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nexport function init() {}\nimport {EPSLN} from '../constants/values';\n/* Mollweide forward equations--mapping lat,long to x,y\n ----------------------------------------------------*/\nexport function forward(p) {\n\n /* Forward equations\n -----------------*/\n var lon = p.x;\n var lat = p.y;\n\n var delta_lon = adjust_lon(lon - this.long0);\n var theta = lat;\n var con = Math.PI * Math.sin(lat);\n\n /* Iterate using the Newton-Raphson method to find theta\n -----------------------------------------------------*/\n for (var i = 0; true; i++) {\n var delta_theta = -(theta + Math.sin(theta) - con) / (1 + Math.cos(theta));\n theta += delta_theta;\n if (Math.abs(delta_theta) < EPSLN) {\n break;\n }\n }\n theta /= 2;\n\n /* If the latitude is 90 deg, force the x coordinate to be \"0 + false easting\"\n this is done here because of precision problems with \"cos(theta)\"\n --------------------------------------------------------------------------*/\n if (Math.PI / 2 - Math.abs(lat) < EPSLN) {\n delta_lon = 0;\n }\n var x = 0.900316316158 * this.a * delta_lon * Math.cos(theta) + this.x0;\n var y = 1.4142135623731 * this.a * Math.sin(theta) + this.y0;\n\n p.x = x;\n p.y = y;\n return p;\n}\n\nexport function inverse(p) {\n var theta;\n var arg;\n\n /* Inverse equations\n -----------------*/\n p.x -= this.x0;\n p.y -= this.y0;\n arg = p.y / (1.4142135623731 * this.a);\n\n /* Because of division by zero problems, 'arg' can not be 1. Therefore\n a number very close to one is used instead.\n -------------------------------------------------------------------*/\n if (Math.abs(arg) > 0.999999999999) {\n arg = 0.999999999999;\n }\n theta = Math.asin(arg);\n var lon = adjust_lon(this.long0 + (p.x / (0.900316316158 * this.a * Math.cos(theta))));\n if (lon < (-Math.PI)) {\n lon = -Math.PI;\n }\n if (lon > Math.PI) {\n lon = Math.PI;\n }\n arg = (2 * theta + Math.sin(2 * theta)) / Math.PI;\n if (Math.abs(arg) > 1) {\n arg = 1;\n }\n var lat = Math.asin(arg);\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Mollweide\", \"moll\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/moll.js\n// module id = 442\n// module chunks = 0","import {SEC_TO_RAD} from '../constants/values';\n\n/*\n reference\n Department of Land and Survey Technical Circular 1973/32\n http://www.linz.govt.nz/docs/miscellaneous/nz-map-definition.pdf\n OSG Technical Report 4.1\n http://www.linz.govt.nz/docs/miscellaneous/nzmg.pdf\n */\n\n/**\n * iterations: Number of iterations to refine inverse transform.\n * 0 -> km accuracy\n * 1 -> m accuracy -- suitable for most mapping applications\n * 2 -> mm accuracy\n */\nexport var iterations = 1;\n\nexport function init() {\n this.A = [];\n this.A[1] = 0.6399175073;\n this.A[2] = -0.1358797613;\n this.A[3] = 0.063294409;\n this.A[4] = -0.02526853;\n this.A[5] = 0.0117879;\n this.A[6] = -0.0055161;\n this.A[7] = 0.0026906;\n this.A[8] = -0.001333;\n this.A[9] = 0.00067;\n this.A[10] = -0.00034;\n\n this.B_re = [];\n this.B_im = [];\n this.B_re[1] = 0.7557853228;\n this.B_im[1] = 0;\n this.B_re[2] = 0.249204646;\n this.B_im[2] = 0.003371507;\n this.B_re[3] = -0.001541739;\n this.B_im[3] = 0.041058560;\n this.B_re[4] = -0.10162907;\n this.B_im[4] = 0.01727609;\n this.B_re[5] = -0.26623489;\n this.B_im[5] = -0.36249218;\n this.B_re[6] = -0.6870983;\n this.B_im[6] = -1.1651967;\n\n this.C_re = [];\n this.C_im = [];\n this.C_re[1] = 1.3231270439;\n this.C_im[1] = 0;\n this.C_re[2] = -0.577245789;\n this.C_im[2] = -0.007809598;\n this.C_re[3] = 0.508307513;\n this.C_im[3] = -0.112208952;\n this.C_re[4] = -0.15094762;\n this.C_im[4] = 0.18200602;\n this.C_re[5] = 1.01418179;\n this.C_im[5] = 1.64497696;\n this.C_re[6] = 1.9660549;\n this.C_im[6] = 2.5127645;\n\n this.D = [];\n this.D[1] = 1.5627014243;\n this.D[2] = 0.5185406398;\n this.D[3] = -0.03333098;\n this.D[4] = -0.1052906;\n this.D[5] = -0.0368594;\n this.D[6] = 0.007317;\n this.D[7] = 0.01220;\n this.D[8] = 0.00394;\n this.D[9] = -0.0013;\n}\n\n/**\n New Zealand Map Grid Forward - long/lat to x/y\n long/lat in radians\n */\nexport function forward(p) {\n var n;\n var lon = p.x;\n var lat = p.y;\n\n var delta_lat = lat - this.lat0;\n var delta_lon = lon - this.long0;\n\n // 1. Calculate d_phi and d_psi ... // and d_lambda\n // For this algorithm, delta_latitude is in seconds of arc x 10-5, so we need to scale to those units. Longitude is radians.\n var d_phi = delta_lat / SEC_TO_RAD * 1E-5;\n var d_lambda = delta_lon;\n var d_phi_n = 1; // d_phi^0\n\n var d_psi = 0;\n for (n = 1; n <= 10; n++) {\n d_phi_n = d_phi_n * d_phi;\n d_psi = d_psi + this.A[n] * d_phi_n;\n }\n\n // 2. Calculate theta\n var th_re = d_psi;\n var th_im = d_lambda;\n\n // 3. Calculate z\n var th_n_re = 1;\n var th_n_im = 0; // theta^0\n var th_n_re1;\n var th_n_im1;\n\n var z_re = 0;\n var z_im = 0;\n for (n = 1; n <= 6; n++) {\n th_n_re1 = th_n_re * th_re - th_n_im * th_im;\n th_n_im1 = th_n_im * th_re + th_n_re * th_im;\n th_n_re = th_n_re1;\n th_n_im = th_n_im1;\n z_re = z_re + this.B_re[n] * th_n_re - this.B_im[n] * th_n_im;\n z_im = z_im + this.B_im[n] * th_n_re + this.B_re[n] * th_n_im;\n }\n\n // 4. Calculate easting and northing\n p.x = (z_im * this.a) + this.x0;\n p.y = (z_re * this.a) + this.y0;\n\n return p;\n}\n\n/**\n New Zealand Map Grid Inverse - x/y to long/lat\n */\nexport function inverse(p) {\n var n;\n var x = p.x;\n var y = p.y;\n\n var delta_x = x - this.x0;\n var delta_y = y - this.y0;\n\n // 1. Calculate z\n var z_re = delta_y / this.a;\n var z_im = delta_x / this.a;\n\n // 2a. Calculate theta - first approximation gives km accuracy\n var z_n_re = 1;\n var z_n_im = 0; // z^0\n var z_n_re1;\n var z_n_im1;\n\n var th_re = 0;\n var th_im = 0;\n for (n = 1; n <= 6; n++) {\n z_n_re1 = z_n_re * z_re - z_n_im * z_im;\n z_n_im1 = z_n_im * z_re + z_n_re * z_im;\n z_n_re = z_n_re1;\n z_n_im = z_n_im1;\n th_re = th_re + this.C_re[n] * z_n_re - this.C_im[n] * z_n_im;\n th_im = th_im + this.C_im[n] * z_n_re + this.C_re[n] * z_n_im;\n }\n\n // 2b. Iterate to refine the accuracy of the calculation\n // 0 iterations gives km accuracy\n // 1 iteration gives m accuracy -- good enough for most mapping applications\n // 2 iterations bives mm accuracy\n for (var i = 0; i < this.iterations; i++) {\n var th_n_re = th_re;\n var th_n_im = th_im;\n var th_n_re1;\n var th_n_im1;\n\n var num_re = z_re;\n var num_im = z_im;\n for (n = 2; n <= 6; n++) {\n th_n_re1 = th_n_re * th_re - th_n_im * th_im;\n th_n_im1 = th_n_im * th_re + th_n_re * th_im;\n th_n_re = th_n_re1;\n th_n_im = th_n_im1;\n num_re = num_re + (n - 1) * (this.B_re[n] * th_n_re - this.B_im[n] * th_n_im);\n num_im = num_im + (n - 1) * (this.B_im[n] * th_n_re + this.B_re[n] * th_n_im);\n }\n\n th_n_re = 1;\n th_n_im = 0;\n var den_re = this.B_re[1];\n var den_im = this.B_im[1];\n for (n = 2; n <= 6; n++) {\n th_n_re1 = th_n_re * th_re - th_n_im * th_im;\n th_n_im1 = th_n_im * th_re + th_n_re * th_im;\n th_n_re = th_n_re1;\n th_n_im = th_n_im1;\n den_re = den_re + n * (this.B_re[n] * th_n_re - this.B_im[n] * th_n_im);\n den_im = den_im + n * (this.B_im[n] * th_n_re + this.B_re[n] * th_n_im);\n }\n\n // Complex division\n var den2 = den_re * den_re + den_im * den_im;\n th_re = (num_re * den_re + num_im * den_im) / den2;\n th_im = (num_im * den_re - num_re * den_im) / den2;\n }\n\n // 3. Calculate d_phi ... // and d_lambda\n var d_psi = th_re;\n var d_lambda = th_im;\n var d_psi_n = 1; // d_psi^0\n\n var d_phi = 0;\n for (n = 1; n <= 9; n++) {\n d_psi_n = d_psi_n * d_psi;\n d_phi = d_phi + this.D[n] * d_psi_n;\n }\n\n // 4. Calculate latitude and longitude\n // d_phi is calcuated in second of arc * 10^-5, so we need to scale back to radians. d_lambda is in radians.\n var lat = this.lat0 + (d_phi * SEC_TO_RAD * 1E5);\n var lon = this.long0 + d_lambda;\n\n p.x = lon;\n p.y = lat;\n\n return p;\n}\n\nexport var names = [\"New_Zealand_Map_Grid\", \"nzmg\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/nzmg.js\n// module id = 443\n// module chunks = 0","import tsfnz from '../common/tsfnz';\nimport adjust_lon from '../common/adjust_lon';\nimport phi2z from '../common/phi2z';\nimport {EPSLN, HALF_PI, FORTPI} from '../constants/values';\n\n/* Initialize the Oblique Mercator projection\n ------------------------------------------*/\nexport function init() {\n this.no_off = this.no_off || false;\n this.no_rot = this.no_rot || false;\n\n if (isNaN(this.k0)) {\n this.k0 = 1;\n }\n var sinlat = Math.sin(this.lat0);\n var coslat = Math.cos(this.lat0);\n var con = this.e * sinlat;\n\n this.bl = Math.sqrt(1 + this.es / (1 - this.es) * Math.pow(coslat, 4));\n this.al = this.a * this.bl * this.k0 * Math.sqrt(1 - this.es) / (1 - con * con);\n var t0 = tsfnz(this.e, this.lat0, sinlat);\n var dl = this.bl / coslat * Math.sqrt((1 - this.es) / (1 - con * con));\n if (dl * dl < 1) {\n dl = 1;\n }\n var fl;\n var gl;\n if (!isNaN(this.longc)) {\n //Central point and azimuth method\n\n if (this.lat0 >= 0) {\n fl = dl + Math.sqrt(dl * dl - 1);\n }\n else {\n fl = dl - Math.sqrt(dl * dl - 1);\n }\n this.el = fl * Math.pow(t0, this.bl);\n gl = 0.5 * (fl - 1 / fl);\n this.gamma0 = Math.asin(Math.sin(this.alpha) / dl);\n this.long0 = this.longc - Math.asin(gl * Math.tan(this.gamma0)) / this.bl;\n\n }\n else {\n //2 points method\n var t1 = tsfnz(this.e, this.lat1, Math.sin(this.lat1));\n var t2 = tsfnz(this.e, this.lat2, Math.sin(this.lat2));\n if (this.lat0 >= 0) {\n this.el = (dl + Math.sqrt(dl * dl - 1)) * Math.pow(t0, this.bl);\n }\n else {\n this.el = (dl - Math.sqrt(dl * dl - 1)) * Math.pow(t0, this.bl);\n }\n var hl = Math.pow(t1, this.bl);\n var ll = Math.pow(t2, this.bl);\n fl = this.el / hl;\n gl = 0.5 * (fl - 1 / fl);\n var jl = (this.el * this.el - ll * hl) / (this.el * this.el + ll * hl);\n var pl = (ll - hl) / (ll + hl);\n var dlon12 = adjust_lon(this.long1 - this.long2);\n this.long0 = 0.5 * (this.long1 + this.long2) - Math.atan(jl * Math.tan(0.5 * this.bl * (dlon12)) / pl) / this.bl;\n this.long0 = adjust_lon(this.long0);\n var dlon10 = adjust_lon(this.long1 - this.long0);\n this.gamma0 = Math.atan(Math.sin(this.bl * (dlon10)) / gl);\n this.alpha = Math.asin(dl * Math.sin(this.gamma0));\n }\n\n if (this.no_off) {\n this.uc = 0;\n }\n else {\n if (this.lat0 >= 0) {\n this.uc = this.al / this.bl * Math.atan2(Math.sqrt(dl * dl - 1), Math.cos(this.alpha));\n }\n else {\n this.uc = -1 * this.al / this.bl * Math.atan2(Math.sqrt(dl * dl - 1), Math.cos(this.alpha));\n }\n }\n\n}\n\n/* Oblique Mercator forward equations--mapping lat,long to x,y\n ----------------------------------------------------------*/\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var dlon = adjust_lon(lon - this.long0);\n var us, vs;\n var con;\n if (Math.abs(Math.abs(lat) - HALF_PI) <= EPSLN) {\n if (lat > 0) {\n con = -1;\n }\n else {\n con = 1;\n }\n vs = this.al / this.bl * Math.log(Math.tan(FORTPI + con * this.gamma0 * 0.5));\n us = -1 * con * HALF_PI * this.al / this.bl;\n }\n else {\n var t = tsfnz(this.e, lat, Math.sin(lat));\n var ql = this.el / Math.pow(t, this.bl);\n var sl = 0.5 * (ql - 1 / ql);\n var tl = 0.5 * (ql + 1 / ql);\n var vl = Math.sin(this.bl * (dlon));\n var ul = (sl * Math.sin(this.gamma0) - vl * Math.cos(this.gamma0)) / tl;\n if (Math.abs(Math.abs(ul) - 1) <= EPSLN) {\n vs = Number.POSITIVE_INFINITY;\n }\n else {\n vs = 0.5 * this.al * Math.log((1 - ul) / (1 + ul)) / this.bl;\n }\n if (Math.abs(Math.cos(this.bl * (dlon))) <= EPSLN) {\n us = this.al * this.bl * (dlon);\n }\n else {\n us = this.al * Math.atan2(sl * Math.cos(this.gamma0) + vl * Math.sin(this.gamma0), Math.cos(this.bl * dlon)) / this.bl;\n }\n }\n\n if (this.no_rot) {\n p.x = this.x0 + us;\n p.y = this.y0 + vs;\n }\n else {\n\n us -= this.uc;\n p.x = this.x0 + vs * Math.cos(this.alpha) + us * Math.sin(this.alpha);\n p.y = this.y0 + us * Math.cos(this.alpha) - vs * Math.sin(this.alpha);\n }\n return p;\n}\n\nexport function inverse(p) {\n var us, vs;\n if (this.no_rot) {\n vs = p.y - this.y0;\n us = p.x - this.x0;\n }\n else {\n vs = (p.x - this.x0) * Math.cos(this.alpha) - (p.y - this.y0) * Math.sin(this.alpha);\n us = (p.y - this.y0) * Math.cos(this.alpha) + (p.x - this.x0) * Math.sin(this.alpha);\n us += this.uc;\n }\n var qp = Math.exp(-1 * this.bl * vs / this.al);\n var sp = 0.5 * (qp - 1 / qp);\n var tp = 0.5 * (qp + 1 / qp);\n var vp = Math.sin(this.bl * us / this.al);\n var up = (vp * Math.cos(this.gamma0) + sp * Math.sin(this.gamma0)) / tp;\n var ts = Math.pow(this.el / Math.sqrt((1 + up) / (1 - up)), 1 / this.bl);\n if (Math.abs(up - 1) < EPSLN) {\n p.x = this.long0;\n p.y = HALF_PI;\n }\n else if (Math.abs(up + 1) < EPSLN) {\n p.x = this.long0;\n p.y = -1 * HALF_PI;\n }\n else {\n p.y = phi2z(this.e, ts);\n p.x = adjust_lon(this.long0 - Math.atan2(sp * Math.cos(this.gamma0) - vp * Math.sin(this.gamma0), Math.cos(this.bl * us / this.al)) / this.bl);\n }\n return p;\n}\n\nexport var names = [\"Hotine_Oblique_Mercator\", \"Hotine Oblique Mercator\", \"Hotine_Oblique_Mercator_Azimuth_Natural_Origin\", \"Hotine_Oblique_Mercator_Azimuth_Center\", \"omerc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/omerc.js\n// module id = 444\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport asinz from '../common/asinz';\nimport {EPSLN, HALF_PI} from '../constants/values';\n\nexport function init() {\n //double temp; /* temporary variable */\n\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n this.sin_p14 = Math.sin(this.lat0);\n this.cos_p14 = Math.cos(this.lat0);\n}\n\n/* Orthographic forward equations--mapping lat,long to x,y\n ---------------------------------------------------*/\nexport function forward(p) {\n var sinphi, cosphi; /* sin and cos value */\n var dlon; /* delta longitude value */\n var coslon; /* cos of longitude */\n var ksp; /* scale factor */\n var g, x, y;\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n dlon = adjust_lon(lon - this.long0);\n\n sinphi = Math.sin(lat);\n cosphi = Math.cos(lat);\n\n coslon = Math.cos(dlon);\n g = this.sin_p14 * sinphi + this.cos_p14 * cosphi * coslon;\n ksp = 1;\n if ((g > 0) || (Math.abs(g) <= EPSLN)) {\n x = this.a * ksp * cosphi * Math.sin(dlon);\n y = this.y0 + this.a * ksp * (this.cos_p14 * sinphi - this.sin_p14 * cosphi * coslon);\n }\n p.x = x;\n p.y = y;\n return p;\n}\n\nexport function inverse(p) {\n var rh; /* height above ellipsoid */\n var z; /* angle */\n var sinz, cosz; /* sin of z and cos of z */\n var con;\n var lon, lat;\n /* Inverse equations\n -----------------*/\n p.x -= this.x0;\n p.y -= this.y0;\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n z = asinz(rh / this.a);\n\n sinz = Math.sin(z);\n cosz = Math.cos(z);\n\n lon = this.long0;\n if (Math.abs(rh) <= EPSLN) {\n lat = this.lat0;\n p.x = lon;\n p.y = lat;\n return p;\n }\n lat = asinz(cosz * this.sin_p14 + (p.y * sinz * this.cos_p14) / rh);\n con = Math.abs(this.lat0) - HALF_PI;\n if (Math.abs(con) <= EPSLN) {\n if (this.lat0 >= 0) {\n lon = adjust_lon(this.long0 + Math.atan2(p.x, - p.y));\n }\n else {\n lon = adjust_lon(this.long0 - Math.atan2(-p.x, p.y));\n }\n p.x = lon;\n p.y = lat;\n return p;\n }\n lon = adjust_lon(this.long0 + Math.atan2((p.x * sinz), rh * this.cos_p14 * cosz - p.y * this.sin_p14 * sinz));\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"ortho\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/ortho.js\n// module id = 445\n// module chunks = 0","import e0fn from '../common/e0fn';\nimport e1fn from '../common/e1fn';\nimport e2fn from '../common/e2fn';\nimport e3fn from '../common/e3fn';\nimport adjust_lon from '../common/adjust_lon';\nimport adjust_lat from '../common/adjust_lat';\nimport mlfn from '../common/mlfn';\nimport {EPSLN} from '../constants/values';\n\nimport gN from '../common/gN';\nvar MAX_ITER = 20;\n\nexport function init() {\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n this.temp = this.b / this.a;\n this.es = 1 - Math.pow(this.temp, 2); // devait etre dans tmerc.js mais n y est pas donc je commente sinon retour de valeurs nulles\n this.e = Math.sqrt(this.es);\n this.e0 = e0fn(this.es);\n this.e1 = e1fn(this.es);\n this.e2 = e2fn(this.es);\n this.e3 = e3fn(this.es);\n this.ml0 = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, this.lat0); //si que des zeros le calcul ne se fait pas\n}\n\n/* Polyconic forward equations--mapping lat,long to x,y\n ---------------------------------------------------*/\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var x, y, el;\n var dlon = adjust_lon(lon - this.long0);\n el = dlon * Math.sin(lat);\n if (this.sphere) {\n if (Math.abs(lat) <= EPSLN) {\n x = this.a * dlon;\n y = -1 * this.a * this.lat0;\n }\n else {\n x = this.a * Math.sin(el) / Math.tan(lat);\n y = this.a * (adjust_lat(lat - this.lat0) + (1 - Math.cos(el)) / Math.tan(lat));\n }\n }\n else {\n if (Math.abs(lat) <= EPSLN) {\n x = this.a * dlon;\n y = -1 * this.ml0;\n }\n else {\n var nl = gN(this.a, this.e, Math.sin(lat)) / Math.tan(lat);\n x = nl * Math.sin(el);\n y = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, lat) - this.ml0 + nl * (1 - Math.cos(el));\n }\n\n }\n p.x = x + this.x0;\n p.y = y + this.y0;\n return p;\n}\n\n/* Inverse equations\n -----------------*/\nexport function inverse(p) {\n var lon, lat, x, y, i;\n var al, bl;\n var phi, dphi;\n x = p.x - this.x0;\n y = p.y - this.y0;\n\n if (this.sphere) {\n if (Math.abs(y + this.a * this.lat0) <= EPSLN) {\n lon = adjust_lon(x / this.a + this.long0);\n lat = 0;\n }\n else {\n al = this.lat0 + y / this.a;\n bl = x * x / this.a / this.a + al * al;\n phi = al;\n var tanphi;\n for (i = MAX_ITER; i; --i) {\n tanphi = Math.tan(phi);\n dphi = -1 * (al * (phi * tanphi + 1) - phi - 0.5 * (phi * phi + bl) * tanphi) / ((phi - al) / tanphi - 1);\n phi += dphi;\n if (Math.abs(dphi) <= EPSLN) {\n lat = phi;\n break;\n }\n }\n lon = adjust_lon(this.long0 + (Math.asin(x * Math.tan(phi) / this.a)) / Math.sin(lat));\n }\n }\n else {\n if (Math.abs(y + this.ml0) <= EPSLN) {\n lat = 0;\n lon = adjust_lon(this.long0 + x / this.a);\n }\n else {\n\n al = (this.ml0 + y) / this.a;\n bl = x * x / this.a / this.a + al * al;\n phi = al;\n var cl, mln, mlnp, ma;\n var con;\n for (i = MAX_ITER; i; --i) {\n con = this.e * Math.sin(phi);\n cl = Math.sqrt(1 - con * con) * Math.tan(phi);\n mln = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, phi);\n mlnp = this.e0 - 2 * this.e1 * Math.cos(2 * phi) + 4 * this.e2 * Math.cos(4 * phi) - 6 * this.e3 * Math.cos(6 * phi);\n ma = mln / this.a;\n dphi = (al * (cl * ma + 1) - ma - 0.5 * cl * (ma * ma + bl)) / (this.es * Math.sin(2 * phi) * (ma * ma + bl - 2 * al * ma) / (4 * cl) + (al - ma) * (cl * mlnp - 2 / Math.sin(2 * phi)) - mlnp);\n phi -= dphi;\n if (Math.abs(dphi) <= EPSLN) {\n lat = phi;\n break;\n }\n }\n\n //lat=phi4z(this.e,this.e0,this.e1,this.e2,this.e3,al,bl,0,0);\n cl = Math.sqrt(1 - this.es * Math.pow(Math.sin(lat), 2)) * Math.tan(lat);\n lon = adjust_lon(this.long0 + Math.asin(x * cl / this.a) / Math.sin(lat));\n }\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Polyconic\", \"poly\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/poly.js\n// module id = 446\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport adjust_lat from '../common/adjust_lat';\nimport pj_enfn from '../common/pj_enfn';\nvar MAX_ITER = 20;\nimport pj_mlfn from '../common/pj_mlfn';\nimport pj_inv_mlfn from '../common/pj_inv_mlfn';\nimport {EPSLN, HALF_PI} from '../constants/values';\n\nimport asinz from '../common/asinz';\n\n\nexport function init() {\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n\n\n if (!this.sphere) {\n this.en = pj_enfn(this.es);\n }\n else {\n this.n = 1;\n this.m = 0;\n this.es = 0;\n this.C_y = Math.sqrt((this.m + 1) / this.n);\n this.C_x = this.C_y / (this.m + 1);\n }\n\n}\n\n/* Sinusoidal forward equations--mapping lat,long to x,y\n -----------------------------------------------------*/\nexport function forward(p) {\n var x, y;\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n lon = adjust_lon(lon - this.long0);\n\n if (this.sphere) {\n if (!this.m) {\n lat = this.n !== 1 ? Math.asin(this.n * Math.sin(lat)) : lat;\n }\n else {\n var k = this.n * Math.sin(lat);\n for (var i = MAX_ITER; i; --i) {\n var V = (this.m * lat + Math.sin(lat) - k) / (this.m + Math.cos(lat));\n lat -= V;\n if (Math.abs(V) < EPSLN) {\n break;\n }\n }\n }\n x = this.a * this.C_x * lon * (this.m + Math.cos(lat));\n y = this.a * this.C_y * lat;\n\n }\n else {\n\n var s = Math.sin(lat);\n var c = Math.cos(lat);\n y = this.a * pj_mlfn(lat, s, c, this.en);\n x = this.a * lon * c / Math.sqrt(1 - this.es * s * s);\n }\n\n p.x = x;\n p.y = y;\n return p;\n}\n\nexport function inverse(p) {\n var lat, temp, lon, s;\n\n p.x -= this.x0;\n lon = p.x / this.a;\n p.y -= this.y0;\n lat = p.y / this.a;\n\n if (this.sphere) {\n lat /= this.C_y;\n lon = lon / (this.C_x * (this.m + Math.cos(lat)));\n if (this.m) {\n lat = asinz((this.m * lat + Math.sin(lat)) / this.n);\n }\n else if (this.n !== 1) {\n lat = asinz(Math.sin(lat) / this.n);\n }\n lon = adjust_lon(lon + this.long0);\n lat = adjust_lat(lat);\n }\n else {\n lat = pj_inv_mlfn(p.y / this.a, this.es, this.en);\n s = Math.abs(lat);\n if (s < HALF_PI) {\n s = Math.sin(lat);\n temp = this.long0 + p.x * Math.sqrt(1 - this.es * s * s) / (this.a * Math.cos(lat));\n //temp = this.long0 + p.x / (this.a * Math.cos(lat));\n lon = adjust_lon(temp);\n }\n else if ((s - EPSLN) < HALF_PI) {\n lon = this.long0;\n }\n }\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Sinusoidal\", \"sinu\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/sinu.js\n// module id = 447\n// module chunks = 0","/*\n references:\n Formules et constantes pour le Calcul pour la\n projection cylindrique conforme à axe oblique et pour la transformation entre\n des systèmes de référence.\n http://www.swisstopo.admin.ch/internet/swisstopo/fr/home/topics/survey/sys/refsys/switzerland.parsysrelated1.31216.downloadList.77004.DownloadFile.tmp/swissprojectionfr.pdf\n */\n\nexport function init() {\n var phy0 = this.lat0;\n this.lambda0 = this.long0;\n var sinPhy0 = Math.sin(phy0);\n var semiMajorAxis = this.a;\n var invF = this.rf;\n var flattening = 1 / invF;\n var e2 = 2 * flattening - Math.pow(flattening, 2);\n var e = this.e = Math.sqrt(e2);\n this.R = this.k0 * semiMajorAxis * Math.sqrt(1 - e2) / (1 - e2 * Math.pow(sinPhy0, 2));\n this.alpha = Math.sqrt(1 + e2 / (1 - e2) * Math.pow(Math.cos(phy0), 4));\n this.b0 = Math.asin(sinPhy0 / this.alpha);\n var k1 = Math.log(Math.tan(Math.PI / 4 + this.b0 / 2));\n var k2 = Math.log(Math.tan(Math.PI / 4 + phy0 / 2));\n var k3 = Math.log((1 + e * sinPhy0) / (1 - e * sinPhy0));\n this.K = k1 - this.alpha * k2 + this.alpha * e / 2 * k3;\n}\n\nexport function forward(p) {\n var Sa1 = Math.log(Math.tan(Math.PI / 4 - p.y / 2));\n var Sa2 = this.e / 2 * Math.log((1 + this.e * Math.sin(p.y)) / (1 - this.e * Math.sin(p.y)));\n var S = -this.alpha * (Sa1 + Sa2) + this.K;\n\n // spheric latitude\n var b = 2 * (Math.atan(Math.exp(S)) - Math.PI / 4);\n\n // spheric longitude\n var I = this.alpha * (p.x - this.lambda0);\n\n // psoeudo equatorial rotation\n var rotI = Math.atan(Math.sin(I) / (Math.sin(this.b0) * Math.tan(b) + Math.cos(this.b0) * Math.cos(I)));\n\n var rotB = Math.asin(Math.cos(this.b0) * Math.sin(b) - Math.sin(this.b0) * Math.cos(b) * Math.cos(I));\n\n p.y = this.R / 2 * Math.log((1 + Math.sin(rotB)) / (1 - Math.sin(rotB))) + this.y0;\n p.x = this.R * rotI + this.x0;\n return p;\n}\n\nexport function inverse(p) {\n var Y = p.x - this.x0;\n var X = p.y - this.y0;\n\n var rotI = Y / this.R;\n var rotB = 2 * (Math.atan(Math.exp(X / this.R)) - Math.PI / 4);\n\n var b = Math.asin(Math.cos(this.b0) * Math.sin(rotB) + Math.sin(this.b0) * Math.cos(rotB) * Math.cos(rotI));\n var I = Math.atan(Math.sin(rotI) / (Math.cos(this.b0) * Math.cos(rotI) - Math.sin(this.b0) * Math.tan(rotB)));\n\n var lambda = this.lambda0 + I / this.alpha;\n\n var S = 0;\n var phy = b;\n var prevPhy = -1000;\n var iteration = 0;\n while (Math.abs(phy - prevPhy) > 0.0000001) {\n if (++iteration > 20) {\n //...reportError(\"omercFwdInfinity\");\n return;\n }\n //S = Math.log(Math.tan(Math.PI / 4 + phy / 2));\n S = 1 / this.alpha * (Math.log(Math.tan(Math.PI / 4 + b / 2)) - this.K) + this.e * Math.log(Math.tan(Math.PI / 4 + Math.asin(this.e * Math.sin(phy)) / 2));\n prevPhy = phy;\n phy = 2 * Math.atan(Math.exp(S)) - Math.PI / 2;\n }\n\n p.x = lambda;\n p.y = phy;\n return p;\n}\n\nexport var names = [\"somerc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/somerc.js\n// module id = 448\n// module chunks = 0","import {EPSLN, HALF_PI} from '../constants/values';\n\nimport sign from '../common/sign';\nimport msfnz from '../common/msfnz';\nimport tsfnz from '../common/tsfnz';\nimport phi2z from '../common/phi2z';\nimport adjust_lon from '../common/adjust_lon';\n\nexport function ssfn_(phit, sinphi, eccen) {\n sinphi *= eccen;\n return (Math.tan(0.5 * (HALF_PI + phit)) * Math.pow((1 - sinphi) / (1 + sinphi), 0.5 * eccen));\n}\n\nexport function init() {\n this.coslat0 = Math.cos(this.lat0);\n this.sinlat0 = Math.sin(this.lat0);\n if (this.sphere) {\n if (this.k0 === 1 && !isNaN(this.lat_ts) && Math.abs(this.coslat0) <= EPSLN) {\n this.k0 = 0.5 * (1 + sign(this.lat0) * Math.sin(this.lat_ts));\n }\n }\n else {\n if (Math.abs(this.coslat0) <= EPSLN) {\n if (this.lat0 > 0) {\n //North pole\n //trace('stere:north pole');\n this.con = 1;\n }\n else {\n //South pole\n //trace('stere:south pole');\n this.con = -1;\n }\n }\n this.cons = Math.sqrt(Math.pow(1 + this.e, 1 + this.e) * Math.pow(1 - this.e, 1 - this.e));\n if (this.k0 === 1 && !isNaN(this.lat_ts) && Math.abs(this.coslat0) <= EPSLN) {\n this.k0 = 0.5 * this.cons * msfnz(this.e, Math.sin(this.lat_ts), Math.cos(this.lat_ts)) / tsfnz(this.e, this.con * this.lat_ts, this.con * Math.sin(this.lat_ts));\n }\n this.ms1 = msfnz(this.e, this.sinlat0, this.coslat0);\n this.X0 = 2 * Math.atan(this.ssfn_(this.lat0, this.sinlat0, this.e)) - HALF_PI;\n this.cosX0 = Math.cos(this.X0);\n this.sinX0 = Math.sin(this.X0);\n }\n}\n\n// Stereographic forward equations--mapping lat,long to x,y\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var sinlat = Math.sin(lat);\n var coslat = Math.cos(lat);\n var A, X, sinX, cosX, ts, rh;\n var dlon = adjust_lon(lon - this.long0);\n\n if (Math.abs(Math.abs(lon - this.long0) - Math.PI) <= EPSLN && Math.abs(lat + this.lat0) <= EPSLN) {\n //case of the origine point\n //trace('stere:this is the origin point');\n p.x = NaN;\n p.y = NaN;\n return p;\n }\n if (this.sphere) {\n //trace('stere:sphere case');\n A = 2 * this.k0 / (1 + this.sinlat0 * sinlat + this.coslat0 * coslat * Math.cos(dlon));\n p.x = this.a * A * coslat * Math.sin(dlon) + this.x0;\n p.y = this.a * A * (this.coslat0 * sinlat - this.sinlat0 * coslat * Math.cos(dlon)) + this.y0;\n return p;\n }\n else {\n X = 2 * Math.atan(this.ssfn_(lat, sinlat, this.e)) - HALF_PI;\n cosX = Math.cos(X);\n sinX = Math.sin(X);\n if (Math.abs(this.coslat0) <= EPSLN) {\n ts = tsfnz(this.e, lat * this.con, this.con * sinlat);\n rh = 2 * this.a * this.k0 * ts / this.cons;\n p.x = this.x0 + rh * Math.sin(lon - this.long0);\n p.y = this.y0 - this.con * rh * Math.cos(lon - this.long0);\n //trace(p.toString());\n return p;\n }\n else if (Math.abs(this.sinlat0) < EPSLN) {\n //Eq\n //trace('stere:equateur');\n A = 2 * this.a * this.k0 / (1 + cosX * Math.cos(dlon));\n p.y = A * sinX;\n }\n else {\n //other case\n //trace('stere:normal case');\n A = 2 * this.a * this.k0 * this.ms1 / (this.cosX0 * (1 + this.sinX0 * sinX + this.cosX0 * cosX * Math.cos(dlon)));\n p.y = A * (this.cosX0 * sinX - this.sinX0 * cosX * Math.cos(dlon)) + this.y0;\n }\n p.x = A * cosX * Math.sin(dlon) + this.x0;\n }\n //trace(p.toString());\n return p;\n}\n\n//* Stereographic inverse equations--mapping x,y to lat/long\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var lon, lat, ts, ce, Chi;\n var rh = Math.sqrt(p.x * p.x + p.y * p.y);\n if (this.sphere) {\n var c = 2 * Math.atan(rh / (0.5 * this.a * this.k0));\n lon = this.long0;\n lat = this.lat0;\n if (rh <= EPSLN) {\n p.x = lon;\n p.y = lat;\n return p;\n }\n lat = Math.asin(Math.cos(c) * this.sinlat0 + p.y * Math.sin(c) * this.coslat0 / rh);\n if (Math.abs(this.coslat0) < EPSLN) {\n if (this.lat0 > 0) {\n lon = adjust_lon(this.long0 + Math.atan2(p.x, - 1 * p.y));\n }\n else {\n lon = adjust_lon(this.long0 + Math.atan2(p.x, p.y));\n }\n }\n else {\n lon = adjust_lon(this.long0 + Math.atan2(p.x * Math.sin(c), rh * this.coslat0 * Math.cos(c) - p.y * this.sinlat0 * Math.sin(c)));\n }\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n if (Math.abs(this.coslat0) <= EPSLN) {\n if (rh <= EPSLN) {\n lat = this.lat0;\n lon = this.long0;\n p.x = lon;\n p.y = lat;\n //trace(p.toString());\n return p;\n }\n p.x *= this.con;\n p.y *= this.con;\n ts = rh * this.cons / (2 * this.a * this.k0);\n lat = this.con * phi2z(this.e, ts);\n lon = this.con * adjust_lon(this.con * this.long0 + Math.atan2(p.x, - 1 * p.y));\n }\n else {\n ce = 2 * Math.atan(rh * this.cosX0 / (2 * this.a * this.k0 * this.ms1));\n lon = this.long0;\n if (rh <= EPSLN) {\n Chi = this.X0;\n }\n else {\n Chi = Math.asin(Math.cos(ce) * this.sinX0 + p.y * Math.sin(ce) * this.cosX0 / rh);\n lon = adjust_lon(this.long0 + Math.atan2(p.x * Math.sin(ce), rh * this.cosX0 * Math.cos(ce) - p.y * this.sinX0 * Math.sin(ce)));\n }\n lat = -1 * phi2z(this.e, Math.tan(0.5 * (HALF_PI + Chi)));\n }\n }\n p.x = lon;\n p.y = lat;\n\n //trace(p.toString());\n return p;\n\n}\n\nexport var names = [\"stere\", \"Stereographic_South_Pole\", \"Polar Stereographic (variant B)\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names,\n ssfn_: ssfn_\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/stere.js\n// module id = 449\n// module chunks = 0","import gauss from './gauss';\nimport adjust_lon from '../common/adjust_lon';\n\nexport function init() {\n gauss.init.apply(this);\n if (!this.rc) {\n return;\n }\n this.sinc0 = Math.sin(this.phic0);\n this.cosc0 = Math.cos(this.phic0);\n this.R2 = 2 * this.rc;\n if (!this.title) {\n this.title = \"Oblique Stereographic Alternative\";\n }\n}\n\nexport function forward(p) {\n var sinc, cosc, cosl, k;\n p.x = adjust_lon(p.x - this.long0);\n gauss.forward.apply(this, [p]);\n sinc = Math.sin(p.y);\n cosc = Math.cos(p.y);\n cosl = Math.cos(p.x);\n k = this.k0 * this.R2 / (1 + this.sinc0 * sinc + this.cosc0 * cosc * cosl);\n p.x = k * cosc * Math.sin(p.x);\n p.y = k * (this.cosc0 * sinc - this.sinc0 * cosc * cosl);\n p.x = this.a * p.x + this.x0;\n p.y = this.a * p.y + this.y0;\n return p;\n}\n\nexport function inverse(p) {\n var sinc, cosc, lon, lat, rho;\n p.x = (p.x - this.x0) / this.a;\n p.y = (p.y - this.y0) / this.a;\n\n p.x /= this.k0;\n p.y /= this.k0;\n if ((rho = Math.sqrt(p.x * p.x + p.y * p.y))) {\n var c = 2 * Math.atan2(rho, this.R2);\n sinc = Math.sin(c);\n cosc = Math.cos(c);\n lat = Math.asin(cosc * this.sinc0 + p.y * sinc * this.cosc0 / rho);\n lon = Math.atan2(p.x * sinc, rho * this.cosc0 * cosc - p.y * this.sinc0 * sinc);\n }\n else {\n lat = this.phic0;\n lon = 0;\n }\n\n p.x = lon;\n p.y = lat;\n gauss.inverse.apply(this, [p]);\n p.x = adjust_lon(p.x + this.long0);\n return p;\n}\n\nexport var names = [\"Stereographic_North_Pole\", \"Oblique_Stereographic\", \"Polar_Stereographic\", \"sterea\",\"Oblique Stereographic Alternative\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/sterea.js\n// module id = 450\n// module chunks = 0","// Heavily based on this tmerc projection implementation\n// https://github.com/mbloch/mapshaper-proj/blob/master/src/projections/tmerc.js\n\nimport pj_enfn from '../common/pj_enfn';\nimport pj_mlfn from '../common/pj_mlfn';\nimport pj_inv_mlfn from '../common/pj_inv_mlfn';\nimport adjust_lon from '../common/adjust_lon';\n\nimport {EPSLN, HALF_PI} from '../constants/values';\nimport sign from '../common/sign';\n\nexport function init() {\n this.x0 = this.x0 !== undefined ? this.x0 : 0;\n this.y0 = this.y0 !== undefined ? this.y0 : 0;\n this.long0 = this.long0 !== undefined ? this.long0 : 0;\n this.lat0 = this.lat0 !== undefined ? this.lat0 : 0;\n\n if (this.es) {\n this.en = pj_enfn(this.es);\n this.ml0 = pj_mlfn(this.lat0, Math.sin(this.lat0), Math.cos(this.lat0), this.en);\n }\n}\n\n/**\n Transverse Mercator Forward - long/lat to x/y\n long/lat in radians\n */\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n\n var delta_lon = adjust_lon(lon - this.long0);\n var con;\n var x, y;\n var sin_phi = Math.sin(lat);\n var cos_phi = Math.cos(lat);\n\n if (!this.es) {\n var b = cos_phi * Math.sin(delta_lon);\n\n if ((Math.abs(Math.abs(b) - 1)) < EPSLN) {\n return (93);\n }\n else {\n x = 0.5 * this.a * this.k0 * Math.log((1 + b) / (1 - b)) + this.x0;\n y = cos_phi * Math.cos(delta_lon) / Math.sqrt(1 - Math.pow(b, 2));\n b = Math.abs(y);\n\n if (b >= 1) {\n if ((b - 1) > EPSLN) {\n return (93);\n }\n else {\n y = 0;\n }\n }\n else {\n y = Math.acos(y);\n }\n\n if (lat < 0) {\n y = -y;\n }\n\n y = this.a * this.k0 * (y - this.lat0) + this.y0;\n }\n }\n else {\n var al = cos_phi * delta_lon;\n var als = Math.pow(al, 2);\n var c = this.ep2 * Math.pow(cos_phi, 2);\n var cs = Math.pow(c, 2);\n var tq = Math.abs(cos_phi) > EPSLN ? Math.tan(lat) : 0;\n var t = Math.pow(tq, 2);\n var ts = Math.pow(t, 2);\n con = 1 - this.es * Math.pow(sin_phi, 2);\n al = al / Math.sqrt(con);\n var ml = pj_mlfn(lat, sin_phi, cos_phi, this.en);\n\n x = this.a * (this.k0 * al * (1 +\n als / 6 * (1 - t + c +\n als / 20 * (5 - 18 * t + ts + 14 * c - 58 * t * c +\n als / 42 * (61 + 179 * ts - ts * t - 479 * t))))) +\n this.x0;\n\n y = this.a * (this.k0 * (ml - this.ml0 +\n sin_phi * delta_lon * al / 2 * (1 +\n als / 12 * (5 - t + 9 * c + 4 * cs +\n als / 30 * (61 + ts - 58 * t + 270 * c - 330 * t * c +\n als / 56 * (1385 + 543 * ts - ts * t - 3111 * t)))))) +\n this.y0;\n }\n\n p.x = x;\n p.y = y;\n\n return p;\n}\n\n/**\n Transverse Mercator Inverse - x/y to long/lat\n */\nexport function inverse(p) {\n var con, phi;\n var lat, lon;\n var x = (p.x - this.x0) * (1 / this.a);\n var y = (p.y - this.y0) * (1 / this.a);\n\n if (!this.es) {\n var f = Math.exp(x / this.k0);\n var g = 0.5 * (f - 1 / f);\n var temp = this.lat0 + y / this.k0;\n var h = Math.cos(temp);\n con = Math.sqrt((1 - Math.pow(h, 2)) / (1 + Math.pow(g, 2)));\n lat = Math.asin(con);\n\n if (y < 0) {\n lat = -lat;\n }\n\n if ((g === 0) && (h === 0)) {\n lon = 0;\n }\n else {\n lon = adjust_lon(Math.atan2(g, h) + this.long0);\n }\n }\n else { // ellipsoidal form\n con = this.ml0 + y / this.k0;\n phi = pj_inv_mlfn(con, this.es, this.en);\n\n if (Math.abs(phi) < HALF_PI) {\n var sin_phi = Math.sin(phi);\n var cos_phi = Math.cos(phi);\n var tan_phi = Math.abs(cos_phi) > EPSLN ? Math.tan(phi) : 0;\n var c = this.ep2 * Math.pow(cos_phi, 2);\n var cs = Math.pow(c, 2);\n var t = Math.pow(tan_phi, 2);\n var ts = Math.pow(t, 2);\n con = 1 - this.es * Math.pow(sin_phi, 2);\n var d = x * Math.sqrt(con) / this.k0;\n var ds = Math.pow(d, 2);\n con = con * tan_phi;\n\n lat = phi - (con * ds / (1 - this.es)) * 0.5 * (1 -\n ds / 12 * (5 + 3 * t - 9 * c * t + c - 4 * cs -\n ds / 30 * (61 + 90 * t - 252 * c * t + 45 * ts + 46 * c -\n ds / 56 * (1385 + 3633 * t + 4095 * ts + 1574 * ts * t))));\n\n lon = adjust_lon(this.long0 + (d * (1 -\n ds / 6 * (1 + 2 * t + c -\n ds / 20 * (5 + 28 * t + 24 * ts + 8 * c * t + 6 * c -\n ds / 42 * (61 + 662 * t + 1320 * ts + 720 * ts * t)))) / cos_phi));\n }\n else {\n lat = HALF_PI * sign(y);\n lon = 0;\n }\n }\n\n p.x = lon;\n p.y = lat;\n\n return p;\n}\n\nexport var names = [\"Transverse_Mercator\", \"Transverse Mercator\", \"tmerc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/tmerc.js\n// module id = 451\n// module chunks = 0","import adjust_zone from '../common/adjust_zone';\nimport etmerc from './etmerc';\nexport var dependsOn = 'etmerc';\nimport {D2R} from '../constants/values';\n\n\nexport function init() {\n var zone = adjust_zone(this.zone, this.long0);\n if (zone === undefined) {\n throw new Error('unknown utm zone');\n }\n this.lat0 = 0;\n this.long0 = ((6 * Math.abs(zone)) - 183) * D2R;\n this.x0 = 500000;\n this.y0 = this.utmSouth ? 10000000 : 0;\n this.k0 = 0.9996;\n\n etmerc.init.apply(this);\n this.forward = etmerc.forward;\n this.inverse = etmerc.inverse;\n}\n\nexport var names = [\"Universal Transverse Mercator System\", \"utm\"];\nexport default {\n init: init,\n names: names,\n dependsOn: dependsOn\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/utm.js\n// module id = 452\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\n\nimport {HALF_PI, EPSLN} from '../constants/values';\n\nimport asinz from '../common/asinz';\n\n/* Initialize the Van Der Grinten projection\n ----------------------------------------*/\nexport function init() {\n //this.R = 6370997; //Radius of earth\n this.R = this.a;\n}\n\nexport function forward(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n /* Forward equations\n -----------------*/\n var dlon = adjust_lon(lon - this.long0);\n var x, y;\n\n if (Math.abs(lat) <= EPSLN) {\n x = this.x0 + this.R * dlon;\n y = this.y0;\n }\n var theta = asinz(2 * Math.abs(lat / Math.PI));\n if ((Math.abs(dlon) <= EPSLN) || (Math.abs(Math.abs(lat) - HALF_PI) <= EPSLN)) {\n x = this.x0;\n if (lat >= 0) {\n y = this.y0 + Math.PI * this.R * Math.tan(0.5 * theta);\n }\n else {\n y = this.y0 + Math.PI * this.R * -Math.tan(0.5 * theta);\n }\n // return(OK);\n }\n var al = 0.5 * Math.abs((Math.PI / dlon) - (dlon / Math.PI));\n var asq = al * al;\n var sinth = Math.sin(theta);\n var costh = Math.cos(theta);\n\n var g = costh / (sinth + costh - 1);\n var gsq = g * g;\n var m = g * (2 / sinth - 1);\n var msq = m * m;\n var con = Math.PI * this.R * (al * (g - msq) + Math.sqrt(asq * (g - msq) * (g - msq) - (msq + asq) * (gsq - msq))) / (msq + asq);\n if (dlon < 0) {\n con = -con;\n }\n x = this.x0 + con;\n //con = Math.abs(con / (Math.PI * this.R));\n var q = asq + g;\n con = Math.PI * this.R * (m * q - al * Math.sqrt((msq + asq) * (asq + 1) - q * q)) / (msq + asq);\n if (lat >= 0) {\n //y = this.y0 + Math.PI * this.R * Math.sqrt(1 - con * con - 2 * al * con);\n y = this.y0 + con;\n }\n else {\n //y = this.y0 - Math.PI * this.R * Math.sqrt(1 - con * con - 2 * al * con);\n y = this.y0 - con;\n }\n p.x = x;\n p.y = y;\n return p;\n}\n\n/* Van Der Grinten inverse equations--mapping x,y to lat/long\n ---------------------------------------------------------*/\nexport function inverse(p) {\n var lon, lat;\n var xx, yy, xys, c1, c2, c3;\n var a1;\n var m1;\n var con;\n var th1;\n var d;\n\n /* inverse equations\n -----------------*/\n p.x -= this.x0;\n p.y -= this.y0;\n con = Math.PI * this.R;\n xx = p.x / con;\n yy = p.y / con;\n xys = xx * xx + yy * yy;\n c1 = -Math.abs(yy) * (1 + xys);\n c2 = c1 - 2 * yy * yy + xx * xx;\n c3 = -2 * c1 + 1 + 2 * yy * yy + xys * xys;\n d = yy * yy / c3 + (2 * c2 * c2 * c2 / c3 / c3 / c3 - 9 * c1 * c2 / c3 / c3) / 27;\n a1 = (c1 - c2 * c2 / 3 / c3) / c3;\n m1 = 2 * Math.sqrt(-a1 / 3);\n con = ((3 * d) / a1) / m1;\n if (Math.abs(con) > 1) {\n if (con >= 0) {\n con = 1;\n }\n else {\n con = -1;\n }\n }\n th1 = Math.acos(con) / 3;\n if (p.y >= 0) {\n lat = (-m1 * Math.cos(th1 + Math.PI / 3) - c2 / 3 / c3) * Math.PI;\n }\n else {\n lat = -(-m1 * Math.cos(th1 + Math.PI / 3) - c2 / 3 / c3) * Math.PI;\n }\n\n if (Math.abs(xx) < EPSLN) {\n lon = this.long0;\n }\n else {\n lon = adjust_lon(this.long0 + Math.PI * (xys - 1 + Math.sqrt(1 + 2 * (xx * xx - yy * yy) + xys * xys)) / 2 / xx);\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Van_der_Grinten_I\", \"VanDerGrinten\", \"vandg\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/vandg.js\n// module id = 453\n// module chunks = 0","export {version as default} from '../package.json';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/version.js\n// module id = 454\n// module chunks = 0","module.exports = {\n\t\"_args\": [\n\t\t[\n\t\t\t\"proj4@https://registry.npm.taobao.org/proj4/download/proj4-2.4.3.tgz\",\n\t\t\t\"E:\\\\github\\\\HMap\"\n\t\t]\n\t],\n\t\"_from\": \"proj4@https://registry.npm.taobao.org/proj4/download/proj4-2.4.3.tgz\",\n\t\"_id\": \"proj4@2.4.3\",\n\t\"_inBundle\": false,\n\t\"_integrity\": \"sha1-87t+Yxv/wEfDaho8wUUzoDu+mWk=\",\n\t\"_location\": \"/proj4\",\n\t\"_phantomChildren\": {},\n\t\"_requested\": {\n\t\t\"type\": \"remote\",\n\t\t\"raw\": \"proj4@https://registry.npm.taobao.org/proj4/download/proj4-2.4.3.tgz\",\n\t\t\"name\": \"proj4\",\n\t\t\"escapedName\": \"proj4\",\n\t\t\"rawSpec\": \"https://registry.npm.taobao.org/proj4/download/proj4-2.4.3.tgz\",\n\t\t\"saveSpec\": \"https://registry.npm.taobao.org/proj4/download/proj4-2.4.3.tgz\",\n\t\t\"fetchSpec\": \"https://registry.npm.taobao.org/proj4/download/proj4-2.4.3.tgz\"\n\t},\n\t\"_requiredBy\": [\n\t\t\"/\"\n\t],\n\t\"_spec\": \"https://registry.npm.taobao.org/proj4/download/proj4-2.4.3.tgz\",\n\t\"_where\": \"E:\\\\github\\\\HMap\",\n\t\"author\": \"\",\n\t\"bugs\": {\n\t\t\"url\": \"https://github.com/proj4js/proj4js/issues\"\n\t},\n\t\"contributors\": [\n\t\t{\n\t\t\t\"name\": \"Mike Adair\",\n\t\t\t\"email\": \"madair@dmsolutions.ca\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Richard Greenwood\",\n\t\t\t\"email\": \"rich@greenwoodmap.com\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Calvin Metcalf\",\n\t\t\t\"email\": \"calvin.metcalf@gmail.com\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Richard Marsden\",\n\t\t\t\"url\": \"http://www.winwaed.com\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"T. Mittan\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"D. Steinwand\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"S. Nelson\"\n\t\t}\n\t],\n\t\"dependencies\": {\n\t\t\"mgrs\": \"1.0.0\",\n\t\t\"wkt-parser\": \"^1.1.3\"\n\t},\n\t\"description\": \"Proj4js is a JavaScript library to transform point coordinates from one coordinate system to another, including datum transformations.\",\n\t\"devDependencies\": {\n\t\t\"chai\": \"~1.8.1\",\n\t\t\"curl\": \"git://github.com/cujojs/curl.git\",\n\t\t\"grunt\": \"~0.4.2\",\n\t\t\"grunt-cli\": \"~0.1.13\",\n\t\t\"grunt-contrib-connect\": \"~0.6.0\",\n\t\t\"grunt-contrib-jshint\": \"~1.1.0\",\n\t\t\"grunt-contrib-uglify\": \"~0.11.1\",\n\t\t\"grunt-mocha-phantomjs\": \"~0.4.0\",\n\t\t\"grunt-rollup\": \"^1.0.1\",\n\t\t\"istanbul\": \"~0.2.4\",\n\t\t\"mocha\": \"~1.17.1\",\n\t\t\"rollup\": \"^0.41.4\",\n\t\t\"rollup-plugin-json\": \"^2.0.1\",\n\t\t\"rollup-plugin-node-resolve\": \"^2.0.0\",\n\t\t\"tin\": \"~0.4.0\"\n\t},\n\t\"directories\": {\n\t\t\"test\": \"test\",\n\t\t\"doc\": \"docs\"\n\t},\n\t\"homepage\": \"https://github.com/proj4js/proj4js#readme\",\n\t\"license\": \"MIT\",\n\t\"main\": \"dist/proj4-src.js\",\n\t\"module\": \"lib/index.js\",\n\t\"name\": \"proj4\",\n\t\"repository\": {\n\t\t\"type\": \"git\",\n\t\t\"url\": \"git://github.com/proj4js/proj4js.git\"\n\t},\n\t\"scripts\": {\n\t\t\"build\": \"grunt\",\n\t\t\"build:tmerc\": \"grunt build:tmerc\",\n\t\t\"test\": \"npm run build && istanbul test _mocha test/test.js\"\n\t},\n\t\"version\": \"https://registry.npm.taobao.org/proj4/download/proj4-2.4.3.tgz\"\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/package.json\n// module id = 455\n// module chunks = 0","import tmerc from './lib/projections/tmerc';\nimport etmerc from './lib/projections/etmerc';\nimport utm from './lib/projections/utm';\nimport sterea from './lib/projections/sterea';\nimport stere from './lib/projections/stere';\nimport somerc from './lib/projections/somerc';\nimport omerc from './lib/projections/omerc';\nimport lcc from './lib/projections/lcc';\nimport krovak from './lib/projections/krovak';\nimport cass from './lib/projections/cass';\nimport laea from './lib/projections/laea';\nimport aea from './lib/projections/aea';\nimport gnom from './lib/projections/gnom';\nimport cea from './lib/projections/cea';\nimport eqc from './lib/projections/eqc';\nimport poly from './lib/projections/poly';\nimport nzmg from './lib/projections/nzmg';\nimport mill from './lib/projections/mill';\nimport sinu from './lib/projections/sinu';\nimport moll from './lib/projections/moll';\nimport eqdc from './lib/projections/eqdc';\nimport vandg from './lib/projections/vandg';\nimport aeqd from './lib/projections/aeqd';\nimport ortho from './lib/projections/ortho';\nexport default function(proj4){\n proj4.Proj.projections.add(tmerc);\n proj4.Proj.projections.add(etmerc);\n proj4.Proj.projections.add(utm);\n proj4.Proj.projections.add(sterea);\n proj4.Proj.projections.add(stere);\n proj4.Proj.projections.add(somerc);\n proj4.Proj.projections.add(omerc);\n proj4.Proj.projections.add(lcc);\n proj4.Proj.projections.add(krovak);\n proj4.Proj.projections.add(cass);\n proj4.Proj.projections.add(laea);\n proj4.Proj.projections.add(aea);\n proj4.Proj.projections.add(gnom);\n proj4.Proj.projections.add(cea);\n proj4.Proj.projections.add(eqc);\n proj4.Proj.projections.add(poly);\n proj4.Proj.projections.add(nzmg);\n proj4.Proj.projections.add(mill);\n proj4.Proj.projections.add(sinu);\n proj4.Proj.projections.add(moll);\n proj4.Proj.projections.add(eqdc);\n proj4.Proj.projections.add(vandg);\n proj4.Proj.projections.add(aeqd);\n proj4.Proj.projections.add(ortho);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/projs.js\n// module id = 456\n// module chunks = 0","/**\n * Copyright (c) 2014, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * https://raw.github.com/facebook/regenerator/master/LICENSE file. An\n * additional grant of patent rights can be found in the PATENTS file in\n * the same directory.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n if (typeof global.process === \"object\" && global.process.domain) {\n invoke = global.process.domain.bind(invoke);\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // Among the various tricks for obtaining a reference to the global\n // object, this seems to be the most reliable technique that does not\n // use indirect eval (which violates Content Security Policy).\n typeof global === \"object\" ? global :\n typeof window === \"object\" ? window :\n typeof self === \"object\" ? self : this\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/regenerator-runtime/runtime.js\n// module id = 457\n// module chunks = 0","export default parseString;\n\nvar NEUTRAL = 1;\nvar KEYWORD = 2;\nvar NUMBER = 3;\nvar QUOTED = 4;\nvar AFTERQUOTE = 5;\nvar ENDED = -1;\nvar whitespace = /\\s/;\nvar latin = /[A-Za-z]/;\nvar keyword = /[A-Za-z84]/;\nvar endThings = /[,\\]]/;\nvar digets = /[\\d\\.E\\-\\+]/;\n// const ignoredChar = /[\\s_\\-\\/\\(\\)]/g;\nfunction Parser(text) {\n if (typeof text !== 'string') {\n throw new Error('not a string');\n }\n this.text = text.trim();\n this.level = 0;\n this.place = 0;\n this.root = null;\n this.stack = [];\n this.currentObject = null;\n this.state = NEUTRAL;\n}\nParser.prototype.readCharicter = function() {\n var char = this.text[this.place++];\n if (this.state !== QUOTED) {\n while (whitespace.test(char)) {\n if (this.place >= this.text.length) {\n return;\n }\n char = this.text[this.place++];\n }\n }\n switch (this.state) {\n case NEUTRAL:\n return this.neutral(char);\n case KEYWORD:\n return this.keyword(char)\n case QUOTED:\n return this.quoted(char);\n case AFTERQUOTE:\n return this.afterquote(char);\n case NUMBER:\n return this.number(char);\n case ENDED:\n return;\n }\n};\nParser.prototype.afterquote = function(char) {\n if (char === '\"') {\n this.word += '\"';\n this.state = QUOTED;\n return;\n }\n if (endThings.test(char)) {\n this.word = this.word.trim();\n this.afterItem(char);\n return;\n }\n throw new Error('havn\\'t handled \"' +char + '\" in afterquote yet, index ' + this.place);\n};\nParser.prototype.afterItem = function(char) {\n if (char === ',') {\n if (this.word !== null) {\n this.currentObject.push(this.word);\n }\n this.word = null;\n this.state = NEUTRAL;\n return;\n }\n if (char === ']') {\n this.level--;\n if (this.word !== null) {\n this.currentObject.push(this.word);\n this.word = null;\n }\n this.state = NEUTRAL;\n this.currentObject = this.stack.pop();\n if (!this.currentObject) {\n this.state = ENDED;\n }\n\n return;\n }\n};\nParser.prototype.number = function(char) {\n if (digets.test(char)) {\n this.word += char;\n return;\n }\n if (endThings.test(char)) {\n this.word = parseFloat(this.word);\n this.afterItem(char);\n return;\n }\n throw new Error('havn\\'t handled \"' +char + '\" in number yet, index ' + this.place);\n};\nParser.prototype.quoted = function(char) {\n if (char === '\"') {\n this.state = AFTERQUOTE;\n return;\n }\n this.word += char;\n return;\n};\nParser.prototype.keyword = function(char) {\n if (keyword.test(char)) {\n this.word += char;\n return;\n }\n if (char === '[') {\n var newObjects = [];\n newObjects.push(this.word);\n this.level++;\n if (this.root === null) {\n this.root = newObjects;\n } else {\n this.currentObject.push(newObjects);\n }\n this.stack.push(this.currentObject);\n this.currentObject = newObjects;\n this.state = NEUTRAL;\n return;\n }\n if (endThings.test(char)) {\n this.afterItem(char);\n return;\n }\n throw new Error('havn\\'t handled \"' +char + '\" in keyword yet, index ' + this.place);\n};\nParser.prototype.neutral = function(char) {\n if (latin.test(char)) {\n this.word = char;\n this.state = KEYWORD;\n return;\n }\n if (char === '\"') {\n this.word = '';\n this.state = QUOTED;\n return;\n }\n if (digets.test(char)) {\n this.word = char;\n this.state = NUMBER;\n return;\n }\n if (endThings.test(char)) {\n this.afterItem(char);\n return;\n }\n throw new Error('havn\\'t handled \"' +char + '\" in neutral yet, index ' + this.place);\n};\nParser.prototype.output = function() {\n while (this.place < this.text.length) {\n this.readCharicter();\n }\n if (this.state === ENDED) {\n return this.root;\n }\n throw new Error('unable to parse string \"' +this.text + '\". State is ' + this.state);\n};\n\nfunction parseString(txt) {\n var parser = new Parser(txt);\n return parser.output();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/wkt-parser/parser.js\n// module id = 458\n// module chunks = 0","\n\nfunction mapit(obj, key, value) {\n if (Array.isArray(key)) {\n value.unshift(key);\n key = null;\n }\n var thing = key ? {} : obj;\n\n var out = value.reduce(function(newObj, item) {\n sExpr(item, newObj);\n return newObj\n }, thing);\n if (key) {\n obj[key] = out;\n }\n}\n\nexport function sExpr(v, obj) {\n if (!Array.isArray(v)) {\n obj[v] = true;\n return;\n }\n var key = v.shift();\n if (key === 'PARAMETER') {\n key = v.shift();\n }\n if (v.length === 1) {\n if (Array.isArray(v[0])) {\n obj[key] = {};\n sExpr(v[0], obj[key]);\n return;\n }\n obj[key] = v[0];\n return;\n }\n if (!v.length) {\n obj[key] = true;\n return;\n }\n if (key === 'TOWGS84') {\n obj[key] = v;\n return;\n }\n if (!Array.isArray(key)) {\n obj[key] = {};\n }\n\n var i;\n switch (key) {\n case 'UNIT':\n case 'PRIMEM':\n case 'VERT_DATUM':\n obj[key] = {\n name: v[0].toLowerCase(),\n convert: v[1]\n };\n if (v.length === 3) {\n sExpr(v[2], obj[key]);\n }\n return;\n case 'SPHEROID':\n case 'ELLIPSOID':\n obj[key] = {\n name: v[0],\n a: v[1],\n rf: v[2]\n };\n if (v.length === 4) {\n sExpr(v[3], obj[key]);\n }\n return;\n case 'PROJECTEDCRS':\n case 'PROJCRS':\n case 'GEOGCS':\n case 'GEOCCS':\n case 'PROJCS':\n case 'LOCAL_CS':\n case 'GEODCRS':\n case 'GEODETICCRS':\n case 'GEODETICDATUM':\n case 'EDATUM':\n case 'ENGINEERINGDATUM':\n case 'VERT_CS':\n case 'VERTCRS':\n case 'VERTICALCRS':\n case 'COMPD_CS':\n case 'COMPOUNDCRS':\n case 'ENGINEERINGCRS':\n case 'ENGCRS':\n case 'FITTED_CS':\n case 'LOCAL_DATUM':\n case 'DATUM':\n v[0] = ['name', v[0]];\n mapit(obj, key, v);\n return;\n default:\n i = -1;\n while (++i < v.length) {\n if (!Array.isArray(v[i])) {\n return sExpr(v, obj[key]);\n }\n }\n return mapit(obj, key, v);\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/wkt-parser/process.js\n// module id = 459\n// module chunks = 0","module.exports = {\n\t\"name\": \"hmap-js\",\n\t\"version\": \"1.3.6\",\n\t\"private\": false,\n\t\"description\": \"WEBGIS API\",\n\t\"keywords\": [\n\t\t\"webgis\",\n\t\t\"canvas\",\n\t\t\"openlayer3\",\n\t\t\"es6\"\n\t],\n\t\"author\": \"FDD \",\n\t\"repository\": {\n\t\t\"type\": \"git\",\n\t\t\"url\": \"https://github.com/sakitam-fdd/HMap.git\"\n\t},\n\t\"main\": \"src/index.js\",\n\t\"scripts\": {\n\t\t\"build\": \"webpack --env build\",\n\t\t\"dev\": \"webpack --progress --colors --watch --env dev\",\n\t\t\"test\": \"mocha --compilers js:babel-core/register --colors ./test/*.spec.js\",\n\t\t\"test:watch\": \"mocha --compilers js:babel-core/register --colors -w ./test/*.spec.js\"\n\t},\n\t\"dependencies\": {\n\t\t\"openlayers\": \"^4.0.1\",\n\t\t\"proj4\": \"^2.4.3\"\n\t},\n\t\"devDependencies\": {\n\t\t\"autoprefixer\": \"^6.7.2\",\n\t\t\"babel\": \"^6.0.0\",\n\t\t\"babel-core\": \"^6.0.0\",\n\t\t\"babel-eslint\": \"^7.0.0\",\n\t\t\"babel-loader\": \"^6.0.0\",\n\t\t\"babel-plugin-add-module-exports\": \"0.1.2\",\n\t\t\"babel-plugin-istanbul\": \"^3.1.2\",\n\t\t\"babel-plugin-transform-runtime\": \"^6.0.0\",\n\t\t\"babel-polyfill\": \"^6.23.0\",\n\t\t\"babel-preset-env\": \"^1.2.1\",\n\t\t\"babel-preset-es2015\": \"^6.0.0\",\n\t\t\"babel-preset-stage-2\": \"^6.0.0\",\n\t\t\"babel-preset-stage-3\": \"^6.24.1\",\n\t\t\"babel-register\": \"^6.0.0\",\n\t\t\"chalk\": \"^1.1.3\",\n\t\t\"css-loader\": \"^0.28.4\",\n\t\t\"eslint\": \"^3.14.1\",\n\t\t\"eslint-config-standard\": \"^6.2.1\",\n\t\t\"eslint-friendly-formatter\": \"^2.0.7\",\n\t\t\"eslint-loader\": \"^1.6.1\",\n\t\t\"eslint-plugin-html\": \"^2.0.0\",\n\t\t\"eslint-plugin-promise\": \"^3.4.0\",\n\t\t\"eslint-plugin-standard\": \"^2.0.1\",\n\t\t\"eventsource-polyfill\": \"^0.9.6\",\n\t\t\"extract-text-webpack-plugin\": \"^2.1.2\",\n\t\t\"file-loader\": \"^0.11.2\",\n\t\t\"friendly-errors-webpack-plugin\": \"^1.6.1\",\n\t\t\"mocha\": \"^2.0.0\",\n\t\t\"node-sass\": \"^4.5.3\",\n\t\t\"postcss-loader\": \"^2.0.6\",\n\t\t\"sass-loader\": \"^6.0.6\",\n\t\t\"style-loader\": \"^0.18.2\",\n\t\t\"url-loader\": \"^0.5.9\",\n\t\t\"webpack\": \"^2.2.0\",\n\t\t\"webpack-bundle-analyzer\": \"^2.8.2\",\n\t\t\"webpack-dev-middleware\": \"^1.8.3\",\n\t\t\"webpack-hot-middleware\": \"^2.12.2\",\n\t\t\"webpack-merge\": \"^0.14.1\",\n\t\t\"yargs\": \"^6.0.0\"\n\t},\n\t\"license\": \"MIT\"\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./package.json\n// module id = 460\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/package.json b/package.json index ca79b70..08e9552 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hmap-js", - "version": "1.3.5", + "version": "1.3.6", "private": false, "description": "WEBGIS API", "keywords": [