????

Your IP : 18.188.252.203


Current Path : C:/inetpub/vhost/bcvt.kontum.gov.vn/www/
Upload File :
Current File : C:/inetpub/vhost/bcvt.kontum.gov.vn/www/28-es5.js

(function () {
  var absMids = {
    "esri/layers/ImageryLayer": "./node_modules/arcgis-js-api/layers/ImageryLayer.js",
    "esri/layers/mixins/ArcGISImageService": "./node_modules/arcgis-js-api/layers/mixins/ArcGISImageService.js",
    "esri/layers/support/DimensionalDefinition": "./node_modules/arcgis-js-api/layers/support/DimensionalDefinition.js",
    "esri/layers/support/ExportImageServiceParameters": "./node_modules/arcgis-js-api/layers/support/ExportImageServiceParameters.js",
    "esri/layers/support/MosaicRule": "./node_modules/arcgis-js-api/layers/support/MosaicRule.js",
    "esri/layers/support/RasterFunction": "./node_modules/arcgis-js-api/layers/support/RasterFunction.js",
    "esri/layers/support/RasterInfo": "./node_modules/arcgis-js-api/layers/support/RasterInfo.js",
    "esri/layers/support/RasterJobHandler": "./node_modules/arcgis-js-api/layers/support/RasterJobHandler.js",
    "esri/layers/support/imageryRendererUtils": "./node_modules/arcgis-js-api/layers/support/imageryRendererUtils.js",
    "esri/layers/support/rasterFormats/ImageCanvasDecoder": "./node_modules/arcgis-js-api/layers/support/rasterFormats/ImageCanvasDecoder.js",
    "esri/layers/support/rasterFormats/Jpg": "./node_modules/arcgis-js-api/layers/support/rasterFormats/Jpg.js",
    "esri/layers/support/rasterFormats/JpgPlus": "./node_modules/arcgis-js-api/layers/support/rasterFormats/JpgPlus.js",
    "esri/layers/support/rasterFormats/Lerc2Codec": "./node_modules/arcgis-js-api/layers/support/rasterFormats/Lerc2Codec.js",
    "esri/layers/support/rasterFormats/Png": "./node_modules/arcgis-js-api/layers/support/rasterFormats/Png.js",
    "esri/layers/support/rasterFormats/RasterCodec": "./node_modules/arcgis-js-api/layers/support/rasterFormats/RasterCodec.js",
    "esri/layers/support/rasterFormats/Raw": "./node_modules/arcgis-js-api/layers/support/rasterFormats/Raw.js",
    "esri/layers/support/rasterFormats/TiffDecoder": "./node_modules/arcgis-js-api/layers/support/rasterFormats/TiffDecoder.js",
    "esri/layers/support/rasterFormats/Zlib": "./node_modules/arcgis-js-api/layers/support/rasterFormats/Zlib.js",
    "esri/rasterRenderers": "./node_modules/arcgis-js-api/rasterRenderers.js",
    "esri/renderers/RasterColormapRenderer": "./node_modules/arcgis-js-api/renderers/RasterColormapRenderer.js",
    "esri/renderers/RasterStretchRenderer": "./node_modules/arcgis-js-api/renderers/RasterStretchRenderer.js",
    "esri/renderers/support/ColormapInfo": "./node_modules/arcgis-js-api/renderers/support/ColormapInfo.js",
    "esri/renderers/support/RasterSymbolizer": "./node_modules/arcgis-js-api/renderers/support/RasterSymbolizer.js",
    "esri/renderers/support/colorRampUtils": "./node_modules/arcgis-js-api/renderers/support/colorRampUtils.js",
    "esri/renderers/support/stretchRendererUtils": "./node_modules/arcgis-js-api/renderers/support/stretchRendererUtils.js",
    "esri/tasks/ImageServiceIdentifyTask": "./node_modules/arcgis-js-api/tasks/ImageServiceIdentifyTask.js",
    "esri/tasks/support/ImageServiceIdentifyParameters": "./node_modules/arcgis-js-api/tasks/support/ImageServiceIdentifyParameters.js",
    "esri/tasks/support/ImageServiceIdentifyResult": "./node_modules/arcgis-js-api/tasks/support/ImageServiceIdentifyResult.js"
  };
  var globalObj = this || window;
  var jsonpArray = globalObj["webpackJsonp"] = globalObj["webpackJsonp"] || [];

  if (jsonpArray.registerAbsMids) {
    jsonpArray.registerAbsMids(absMids);
  } else {
    var absMidsWaiting = jsonpArray.absMidsWaiting = jsonpArray.absMidsWaiting || [];
    absMidsWaiting.push(absMids);
  }
})(), (window["webpackJsonp"] = window["webpackJsonp"] || []).push([[28], {
  /***/
  "./node_modules/arcgis-js-api/layers/ImageryLayer.js":
  /*!***********************************************************!*\
    !*** ./node_modules/arcgis-js-api/layers/ImageryLayer.js ***!
    \***********************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiLayersImageryLayerJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.

    /**
     *
     * Represents an [image service resource](https://developers.arcgis.com/rest/services-reference/image-service.htm)
     * as a layer. An ImageryLayer retrieves and displays data from image services.
     * An image service supports accessing the mosaicked image, its catalog, and the individual
     * rasters in the catalog. An image service supports dynamic access and tiled access. Dynamic access provides more functionalities,
     * and tiled access provides faster and more scalable access to precooked tiles.
     *
     * [![layers-imagery](../../assets/img/apiref/layers/layers-imagery.png)](../sample-code/layers-imagery-pixelvalues/index.html)
     *
     * If the image service is requested from a different domain, a [CORS enabled server](../guide/cors/index.html) or a
     * [proxy](../guide/proxies/index.html) is required.
     *
     * ::: esri-md class="panel trailer-1"
     * Esri requires that when you use an ArcGIS Online basemap in your app, the map must include Esri attribution and you must be licensed to use the content.
     * For detailed guidelines on working with attribution, please visit the official [attribution in your app](https://developers.arcgis.com/terms/attribution/) documentation.
     * For information on terms of use, see the [Terms of Use FAQ](https://developers.arcgis.com/terms/faq/).
     * :::
     *
     * ### ImageryLayer rendering
     *
     * ImageryLayer can be rendered on the server or on the client. This section talks about different approaches you can take when rendering
     * an ImageryLayer in your application.
     *
     * #### Applying renderingRule
     *
     * Image service supports dynamic processing which can be applied through the layer’s [renderingRule](#renderingRule) property.
     * A rendering rule defines how the requested image should be rendered or processed. You can process images using raster functions
     * published with the image service. You can also use well-known raster functions, such as the
     * [hillshade function](https://developers.arcgis.com/documentation/common-data-types/raster-function-objects.htm) for elevation data,
     * the [stretch function](https://developers.arcgis.com/documentation/common-data-types/raster-function-objects.htm) for multispectral
     * data, and the [colormap function](https://developers.arcgis.com/documentation/common-data-types/raster-function-objects.htm)
     * for thematic data. When renderingRule is applied to the layer, the network request is made to the server for the image to be processed.
     *
     * #### Applying renderer
     *
     * ImageryLayer supports various [renderers](#renderer). By default, an ImageryLayer uses server side rendering. ImageryLayer
     * parses a renderer specified by a user and leverages a [renderingRule](#renderingRule) specified by the server or the user to achieve the
     * expected rendering for the images. The server processes and renders the ImageryLayer and returns a ready-to-draw `jpg` or `png` image
     * to the client.
     *
     * When an ImageryLayer is created with `lerc` [format](#format), the client gets access to the raw data which
     * can be used for client-side analysis and rendering. A default renderer that leverages available imagery information
     * is applied to an ImageryLayer with `lerc` format if the [pixelFilter](#pixelFilter) function is not specified.
     * The user can change this default renderer on the client-side by applying a [renderer](#renderer) or [pixelFilter](#pixelFilter).
     * The [pixelFilter](#pixelFilter) is a good alternative if the existing renderers do not meet your requirements. If both
     * `renderer` and `pixelFilter` are applied to the layer then the `pixelFilter` will take priority and its logic will be applied.
     *
     * #### Applying pixelFilter
     *
     * The [pixelFilter](#pixelFilter) can be used to colorize raw image pixels when ImageryLayer's [format](#format) is set to `lerc`.
     * It is a function that processes the {@link module:esri/views/layers/ImageryLayerView#pixelData pixelData}.
     * The `pixelData` object contains a {@link module:esri/layers/support/PixelBlock pixelBlock} property that gives
     * you access to all of the pixels in the raster on the client. Inside the `pixelFilter` you may loop through all the pixels
     * and process them. This function is a useful alternative if the existing renderers do not meet your requirements, because it gives you
     * control over how to color image pixels. If both a [renderer](#renderer) and `pixelFilter` are applied to the layer then the
     * `pixelFilter` will take priority and its logic will be applied.
     *
     * @module esri/layers/ImageryLayer
     * @since 4.0
     * @see module:esri/views/layers/ImageryLayerView
     * @see [Sample - Add an ImageryLayer to a map](../sample-code/layers-imagerylayer/index.html)
     * @see [Sample - Work with pixelFilter in an ImageryLayer](../sample-code/layers-imagery-pixelvalues/index.html)
     * @see [Sample - Set a server side raster function](../sample-code/layers-imagery-popup/index.html)
     * @see [Sample - Set a client side raster function](../sample-code/layers-imagery-renderingrule/index.html)
     * @see [Sample - Raster attribute table](../sample-code/layers-imagery-attribute-table/index.html)
     * @see [Sample - Image coordinate system](../sample-code/layers-imagery-coordinatesystem/index.html)
     */


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../core/tsSupport/declareExtendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__(
    /*! ../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! ../core/tsSupport/assignHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/assignHelper.js"), __webpack_require__(
    /*! ../core/tsSupport/generatorHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/generatorHelper.js"), __webpack_require__(
    /*! ../core/tsSupport/awaiterHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/awaiterHelper.js"), __webpack_require__(
    /*! ../PopupTemplate */
    "./node_modules/arcgis-js-api/PopupTemplate.js"), __webpack_require__(
    /*! ../core/maybe */
    "./node_modules/arcgis-js-api/core/maybe.js"), __webpack_require__(
    /*! ../core/MultiOriginJSONSupport */
    "./node_modules/arcgis-js-api/core/MultiOriginJSONSupport.js"), __webpack_require__(
    /*! ../core/accessorSupport/decorators */
    "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js"), __webpack_require__(
    /*! ./Layer */
    "./node_modules/arcgis-js-api/layers/Layer.js"), __webpack_require__(
    /*! ./mixins/ArcGISImageService */
    "./node_modules/arcgis-js-api/layers/mixins/ArcGISImageService.js"), __webpack_require__(
    /*! ./mixins/ArcGISService */
    "./node_modules/arcgis-js-api/layers/mixins/ArcGISService.js"), __webpack_require__(
    /*! ./mixins/OperationalLayer */
    "./node_modules/arcgis-js-api/layers/mixins/OperationalLayer.js"), __webpack_require__(
    /*! ./mixins/PortalLayer */
    "./node_modules/arcgis-js-api/layers/mixins/PortalLayer.js"), __webpack_require__(
    /*! ./mixins/RefreshableLayer */
    "./node_modules/arcgis-js-api/layers/mixins/RefreshableLayer.js"), __webpack_require__(
    /*! ./mixins/ScaleRangeLayer */
    "./node_modules/arcgis-js-api/layers/mixins/ScaleRangeLayer.js"), __webpack_require__(
    /*! ./mixins/TemporalLayer */
    "./node_modules/arcgis-js-api/layers/mixins/TemporalLayer.js"), __webpack_require__(
    /*! ./support/commonProperties */
    "./node_modules/arcgis-js-api/layers/support/commonProperties.js"), __webpack_require__(
    /*! ../support/popupUtils */
    "./node_modules/arcgis-js-api/support/popupUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, r, t, p, o, a, i, n, l, s, c, u, d, y, m, f, v, S, g, h, b) {
      return function (e) {
        function r(r, t) {
          var p = e.call(this, r) || this;
          return p.legendEnabled = !0, p.isReference = null, p.operationalLayerType = "ArcGISImageServiceLayer", p.popupEnabled = !0, p.popupTemplate = null, p.type = "imagery", p;
        }

        return t(r, e), r.prototype.normalizeCtorArgs = function (e, r) {
          return "string" == typeof e ? o({
            url: e
          }, r) : e;
        }, r.prototype.load = function (e) {
          var r = this,
              t = l.isSome(e) ? e.signal : null;
          return this.addResolvingPromise(this.loadFromPortal({
            supportedTypes: ["Image Service"]
          }, e).then(function () {
            return r._fetchService(t);
          }, function () {
            return r._fetchService(t);
          })), this.when();
        }, Object.defineProperty(r.prototype, "defaultPopupTemplate", {
          get: function get() {
            return this.createPopupTemplate();
          },
          enumerable: !0,
          configurable: !0
        }), r.prototype.createPopupTemplate = function (e) {
          var r = this.rasterFields,
              t = this.title,
              p = new Set(),
              o = !1,
              a = !1;
          this.capabilities && (o = this.capabilities && this.capabilities.some(function (e) {
            return "catalog" === e.toLowerCase();
          }) || this.fields && this.fields.length > 0, a = o && ("esriImageServiceDataTypeVector-UV" === this.serviceDataType || "esriImageServiceDataTypeVector-MagDir" === this.serviceDataType));
          var i = new Set();
          o && (i.add("raster.itempixelvalue"), a && i.add("raster.magnitude").add("raster.direction"));

          for (var n = 0, l = r; n < l.length; n++) {
            var s = l[n],
                c = s.name.toLowerCase();
            i.has(c) || c.indexOf("raster.servicepixelvalue.") > -1 || p.add(s.name);
          }

          return b.createPopupTemplate({
            fields: r,
            title: t,
            visibleFieldNames: p
          }, e);
        }, r.prototype.redraw = function () {
          this.emit("redraw");
        }, p([c.property(h.legendEnabled)], r.prototype, "legendEnabled", void 0), p([c.property({
          type: ["show", "hide"]
        })], r.prototype, "listMode", void 0), p([c.property({
          type: Boolean,
          json: {
            read: !1,
            write: {
              enabled: !0,
              overridePolicy: function overridePolicy() {
                return {
                  enabled: !1
                };
              }
            }
          }
        })], r.prototype, "isReference", void 0), p([c.property({
          type: ["ArcGISImageServiceLayer"]
        })], r.prototype, "operationalLayerType", void 0), p([c.property(h.popupEnabled)], r.prototype, "popupEnabled", void 0), p([c.property({
          type: n,
          json: {
            read: {
              source: "popupInfo"
            },
            write: {
              target: "popupInfo"
            }
          }
        })], r.prototype, "popupTemplate", void 0), p([c.property({
          readOnly: !0,
          dependsOn: ["fields", "title"]
        })], r.prototype, "defaultPopupTemplate", null), p([c.property({
          readOnly: !0,
          json: {
            read: !1
          }
        })], r.prototype, "type", void 0), r = p([c.subclass("esri.layers.ImageryLayer")], r);
      }(c.declared(g.TemporalLayer(v.RefreshableLayer(S.ScaleRangeLayer(m.OperationalLayer(f.PortalLayer(d.ArcGISImageService(y.ArcGISService(s.MultiOriginJSONMixin(u))))))))));
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/layers/mixins/ArcGISImageService.js":
  /*!************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/layers/mixins/ArcGISImageService.js ***!
    \************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiLayersMixinsArcGISImageServiceJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.
    //  copyright

    /**
                     * The copyright text as defined by the service.
                     *
                     * @name copyright
                     * @type {string}
                     * @memberof module:esri/layers/mixins/ArcGISImageService
                     *
                     */


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../core/tsSupport/assignHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/assignHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/declareExtendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/generatorHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/generatorHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/awaiterHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/awaiterHelper.js"), __webpack_require__(
    /*! ../../geometry */
    "./node_modules/arcgis-js-api/geometry.js"), __webpack_require__(
    /*! ../../Graphic */
    "./node_modules/arcgis-js-api/Graphic.js"), __webpack_require__(
    /*! ../../rasterRenderers */
    "./node_modules/arcgis-js-api/rasterRenderers.js"), __webpack_require__(
    /*! ../../request */
    "./node_modules/arcgis-js-api/request.js"), __webpack_require__(
    /*! ../../core/Error */
    "./node_modules/arcgis-js-api/core/Error.js"), __webpack_require__(
    /*! ../../core/jsonMap */
    "./node_modules/arcgis-js-api/core/jsonMap.js"), __webpack_require__(
    /*! ../../core/lang */
    "./node_modules/arcgis-js-api/core/lang.js"), __webpack_require__(
    /*! ../../core/Logger */
    "./node_modules/arcgis-js-api/core/Logger.js"), __webpack_require__(
    /*! ../../core/maybe */
    "./node_modules/arcgis-js-api/core/maybe.js"), __webpack_require__(
    /*! ../../core/promiseUtils */
    "./node_modules/arcgis-js-api/core/promiseUtils.js"), __webpack_require__(
    /*! ../../core/urlUtils */
    "./node_modules/arcgis-js-api/core/urlUtils.js"), __webpack_require__(
    /*! ../../core/accessorSupport/decorators */
    "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js"), __webpack_require__(
    /*! ../../core/accessorSupport/ensureType */
    "./node_modules/arcgis-js-api/core/accessorSupport/ensureType.js"), __webpack_require__(
    /*! ../support/commonProperties */
    "./node_modules/arcgis-js-api/layers/support/commonProperties.js"), __webpack_require__(
    /*! ../support/DimensionalDefinition */
    "./node_modules/arcgis-js-api/layers/support/DimensionalDefinition.js"), __webpack_require__(
    /*! ../support/ExportImageServiceParameters */
    "./node_modules/arcgis-js-api/layers/support/ExportImageServiceParameters.js"), __webpack_require__(
    /*! ../support/Field */
    "./node_modules/arcgis-js-api/layers/support/Field.js"), __webpack_require__(
    /*! ../support/FieldsIndex */
    "./node_modules/arcgis-js-api/layers/support/FieldsIndex.js"), __webpack_require__(
    /*! ../support/imageryRendererUtils */
    "./node_modules/arcgis-js-api/layers/support/imageryRendererUtils.js"), __webpack_require__(
    /*! ../support/MosaicRule */
    "./node_modules/arcgis-js-api/layers/support/MosaicRule.js"), __webpack_require__(
    /*! ../support/PixelBlock */
    "./node_modules/arcgis-js-api/layers/support/PixelBlock.js"), __webpack_require__(
    /*! ../support/RasterFunction */
    "./node_modules/arcgis-js-api/layers/support/RasterFunction.js"), __webpack_require__(
    /*! ../support/RasterInfo */
    "./node_modules/arcgis-js-api/layers/support/RasterInfo.js"), __webpack_require__(
    /*! ../support/RasterJobHandler */
    "./node_modules/arcgis-js-api/layers/support/RasterJobHandler.js"), __webpack_require__(
    /*! ../support/rasterFormats/RasterCodec */
    "./node_modules/arcgis-js-api/layers/support/rasterFormats/RasterCodec.js"), __webpack_require__(
    /*! ../../renderers/support/RasterSymbolizer */
    "./node_modules/arcgis-js-api/renderers/support/RasterSymbolizer.js"), __webpack_require__(
    /*! ../../tasks/ImageServiceIdentifyTask */
    "./node_modules/arcgis-js-api/tasks/ImageServiceIdentifyTask.js"), __webpack_require__(
    /*! ../../tasks/QueryTask */
    "./node_modules/arcgis-js-api/tasks/QueryTask.js"), __webpack_require__(
    /*! ../../tasks/support/FeatureSet */
    "./node_modules/arcgis-js-api/tasks/support/FeatureSet.js"), __webpack_require__(
    /*! ../../tasks/support/ImageServiceIdentifyParameters */
    "./node_modules/arcgis-js-api/tasks/support/ImageServiceIdentifyParameters.js"), __webpack_require__(
    /*! ../../tasks/support/Query */
    "./node_modules/arcgis-js-api/tasks/support/Query.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, n, i, a, o, s, l, u, p, c, d, f, y, h, m, g, v, R, b, x, I, S, w, _, O, P, F, T, N, J, D, C, j, M, V, q) {
      function z(e) {
        return e ? JSON.stringify(e).match(/"rasterFunction":"(.*?")/gi).map(function (e) {
          return e.replace('"rasterFunction":"', "").replace('"', "");
        }).join("/") : null;
      }

      Object.defineProperty(t, "__esModule", {
        value: !0
      });
      var A = y.getLogger("esri.layers.mixins.ArcGISImageService"),
          E = d.strict()({
        RSP_NearestNeighbor: "nearest",
        RSP_BilinearInterpolation: "bilinear",
        RSP_CubicConvolution: "cubic",
        RSP_Majority: "majority"
      }),
          U = d.strict()({
        esriNoDataMatchAny: "any",
        esriNoDataMatchAll: "all"
      }),
          H = d.strict()({
        U1: "u1",
        U2: "u2",
        U4: "u4",
        U8: "u8",
        S8: "s8",
        U16: "u16",
        S16: "s16",
        U32: "u32",
        S32: "s32",
        F32: "f32",
        F64: "f64",
        C64: "c64",
        C128: "c128",
        UNKNOWN: "unknown"
      });

      t.ArcGISImageService = function (e) {
        return function (e) {
          function t() {
            var t = null !== e && e.apply(this, arguments) || this;
            return t._functionRasterInfos = {}, t._rasterJobHandler = {
              instance: null,
              refCount: 0,
              connectionPromise: null
            }, t._symbolizer = null, t._defaultServiceMosaicRule = null, t.rasterAttributeTableFieldPrefix = "Raster.", t.adjustAspectRatio = null, t.bandCount = null, t.bandIds = void 0, t.capabilities = null, t.compressionQuality = void 0, t.compressionTolerance = .01, t.copyright = null, t.definitionExpression = null, t.exportImageServiceParameters = null, t.rasterInfo = null, t.fields = null, t.fullExtent = null, t.hasMultidimensions = !1, t.imageMaxHeight = 4100, t.imageMaxWidth = 4100, t.interpolation = void 0, t.multidimensionalInfo = null, t.noData = null, t.noDataInterpretation = void 0, t.objectIdField = null, t.pixelSizeX = null, t.pixelSizeY = null, t.pixelFilter = null, t.raster = void 0, t.viewId = void 0, t.renderer = null, t.rasterAttributeTable = null, t.rasterFunctionInfos = null, t.serviceDataType = null, t.spatialReference = null, t.pixelType = null, t.serviceRasterInfo = null, t.sourceJSON = null, t.url = null, t.version = null, t;
          }

          return n(t, e), t.prototype.initialize = function () {
            this._set("exportImageServiceParameters", new I.ExportImageServiceParameters({
              layer: this
            }));
          }, t.prototype.readDefaultServiceMosaicRule = function (e, t) {
            return O.fromJSON(t);
          }, Object.defineProperty(t.prototype, "rasterFunctionNamesIndex", {
            get: function get() {
              var e = new Map();
              return !this.rasterFunctionInfos || this.rasterFunctionInfos.length < 1 ? e : (this.rasterFunctionInfos.forEach(function (t) {
                e.set(t.name.toLowerCase().replace(/ /gi, "_"), t.name);
              }), e);
            },
            enumerable: !0,
            configurable: !0
          }), Object.defineProperty(t.prototype, "queryTask", {
            get: function get() {
              return new j({
                url: this.url
              });
            },
            enumerable: !0,
            configurable: !0
          }), t.prototype.readCapabilities = function (e) {
            return e && e.split(",").map(function (e) {
              return e.trim();
            });
          }, t.prototype.writeCompressionQuality = function (e, t, r) {
            null != e && "lerc" !== this.format && (t[r] = e);
          }, t.prototype.writeCompressionTolerance = function (e, t, r) {
            "lerc" === this.format && null != e && (t[r] = e);
          }, Object.defineProperty(t.prototype, "fieldsIndex", {
            get: function get() {
              return this.fields ? new w(this.fields) : null;
            },
            enumerable: !0,
            configurable: !0
          }), Object.defineProperty(t.prototype, "format", {
            get: function get() {
              return this._get("format") || (null != this.pixelFilter ? "lerc" : "jpgpng");
            },
            set: function set(e) {
              e && ["png", "png8", "png24", "png32", "jpg", "bmp", "jpgpng", "lerc", "tiff"].indexOf(e.toLowerCase()) > -1 && this._set("format", e.toLowerCase());
            },
            enumerable: !0,
            configurable: !0
          }), Object.defineProperty(t.prototype, "mosaicRule", {
            set: function set(e) {
              var t = e;
              t && t.mosaicMethod && (t = O.fromJSON(r({}, t.toJSON(), {
                mosaicMethod: t.mosaicMethod,
                mosaicOperation: t.mosaicOperation
              }))), this._set("mosaicRule", t);
            },
            enumerable: !0,
            configurable: !0
          }), t.prototype.readMosaicRule = function (e, t) {
            return O.fromJSON(e || t.mosaicRule || t);
          }, t.prototype.writeMosaicRule = function (e, t, r) {
            var n = this.mosaicRule,
                i = this.definitionExpression;
            n ? i && i !== n.where && (n = n.clone(), n.where = i) : i && (n = new O({
              where: i
            })), this._isValidCustomizedMosaicRule(n) && (t[r] = n.toJSON());
          }, t.prototype.writeNoData = function (e, t, r) {
            null != e && "number" == typeof e && (t[r] = e);
          }, t.prototype.readObjectIdField = function (e, t) {
            if (!e) {
              var r = t.fields.filter(function (e) {
                return "esriFieldTypeOID" === e.type || "oid" === e.type;
              });
              e = r && r[0] && r[0].name;
            }

            return e;
          }, Object.defineProperty(t.prototype, "parsedUrl", {
            get: function get() {
              return this.url ? g.urlToObject(this.url) : null;
            },
            enumerable: !0,
            configurable: !0
          }), t.prototype.readRenderer = function (e, t, r) {
            var n = t && t.layerDefinition && t.layerDefinition.drawingInfo && t.layerDefinition.drawingInfo.renderer,
                i = u.read(n, r) || void 0;
            if (null != i) return _.isSupportedRendererType(i) || A.warn("ArcGISImageService", "Imagery layer doesn't support given renderer type."), i;
          }, Object.defineProperty(t.prototype, "rasterFields", {
            get: function get() {
              var e = this.rasterAttributeTableFieldPrefix || "Raster.",
                  t = new S({
                name: "Raster.ItemPixelValue",
                alias: "Item Pixel Value",
                domain: null,
                editable: !1,
                length: 50,
                type: "string"
              }),
                  r = new S({
                name: "Raster.ServicePixelValue",
                alias: "Service Pixel Value",
                domain: null,
                editable: !1,
                length: 50,
                type: "string"
              }),
                  n = new S({
                name: "Raster.ServicePixelValue.Raw",
                alias: "Raw Service Pixel Value",
                domain: null,
                editable: !1,
                length: 50,
                type: "string"
              }),
                  i = this.fields ? f.clone(this.fields) : [];
              i.push(r), this.capabilities && this.capabilities.some(function (e) {
                return "catalog" === e.toLowerCase();
              }) && this.fields && this.fields.length > 0 && i.push(t), this.version >= 10.4 && this.rasterFunctionInfos && this.rasterFunctionInfos.some(function (e) {
                return "none" === e.name.toLowerCase();
              }) && i.push(n), this.rasterFunctionInfos && this.rasterFunctionInfos.filter(function (e) {
                return "none" !== e.name.toLowerCase();
              }).forEach(function (e) {
                i.push(new S({
                  name: "Raster.ServicePixelValue." + e.name,
                  alias: e.name,
                  domain: null,
                  editable: !1,
                  length: 50,
                  type: "string"
                }));
              }), null == this.pixelFilter || "esriImageServiceDataTypeVector-UV" !== this.serviceDataType && "esriImageServiceDataTypeVector-MagDir" !== this.serviceDataType || (i.push(new S({
                name: "Raster.Magnitude",
                alias: "Magnitude",
                domain: null,
                editable: !1,
                type: "double"
              })), i.push(new S({
                name: "Raster.Direction",
                alias: "Direction",
                domain: null,
                editable: !1,
                type: "double"
              })));
              var a = this.rasterInfo.attributeTable && this.rasterInfo.attributeTable.fields || null;

              if (a && a.length > 0) {
                var o = a.filter(function (e) {
                  return "esriFieldTypeOID" !== e.type && "value" !== e.name.toLowerCase();
                }).map(function (t) {
                  var r = f.clone(t);
                  return r.name = e + t.name, r;
                });
                i = i.concat(o);
              }

              return i;
            },
            enumerable: !0,
            configurable: !0
          }), Object.defineProperty(t.prototype, "renderingRule", {
            set: function set(e) {
              var t = e;
              t && t.rasterFunction && (t = F.fromJSON(r({}, t.toJSON(), {
                rasterFunction: t.rasterFunction,
                rasterFunctionArguments: t.rasterFunctionArguments
              }))), this._set("renderingRule", t);
            },
            enumerable: !0,
            configurable: !0
          }), t.prototype.readRenderingRule = function (e, t) {
            var r = t.rasterFunctionInfos;
            return t.renderingRule || r && r.length && "None" !== r[0].name ? F.fromJSON(t.renderingRule || {
              rasterFunctionInfos: t.rasterFunctionInfos
            }) : null;
          }, t.prototype.writeRenderingRule = function (e, t, r) {
            this._isRFTJson(e) || (t[r] = e.toJSON());
          }, t.prototype.readSpatialReference = function (e, t) {
            var r = e || t.extent.spatialReference;
            return r ? s.SpatialReference.fromJSON(r) : null;
          }, t.prototype.readPixelType = function (e) {
            return H.fromJSON(e) || e;
          }, t.prototype.writePixelType = function (e, t, r) {
            (h.isNone(this.serviceRasterInfo) || this.pixelType !== this.serviceRasterInfo.pixelType) && (t[r] = H.toJSON(e));
          }, t.prototype.readVersion = function (e, t) {
            var r = t.currentVersion;
            return r || (r = t.hasOwnProperty("fields") || t.hasOwnProperty("timeInfo") ? 10 : 9.3), r;
          }, t.prototype.applyFilter = function (e) {
            var t = e;
            return this.pixelFilter && (t = this._clonePixelData(e), this.pixelFilter(t)), t;
          }, t.prototype.applyRenderer = function (e, t) {
            return o(this, void 0, void 0, function () {
              var r, n, i, o;
              return a(this, function (a) {
                switch (a.label) {
                  case 0:
                    return r = e, this._isPicture() || !this.renderer || !this._symbolizer || this.pixelFilter ? [3, 5] : (n = JSON.stringify(this._cachedRendererJson) !== JSON.stringify(this.renderer.toJSON()), (i = this._rasterJobHandler.instance) ? n ? (this._cachedRendererJson = this.renderer.toJSON(), this._symbolizer.bind(), [4, i.updateSymbolizer(this._symbolizer, t)]) : [3, 2] : [3, 4]);

                  case 1:
                    a.sent(), a.label = 2;

                  case 2:
                    return [4, i.symbolize(e.pixelBlock, t)];

                  case 3:
                    return o = a.sent(), r = {
                      extent: e.extent,
                      pixelBlock: o
                    }, [3, 5];

                  case 4:
                    r = {
                      extent: e.extent,
                      pixelBlock: this._symbolizer.symbolize(e.pixelBlock)
                    }, a.label = 5;

                  case 5:
                    return [2, r];
                }
              });
            });
          }, t.prototype.destroy = function () {
            this._shutdownJobHandler();
          }, t.prototype.increaseRasterJobHandlerUsage = function () {
            this._rasterJobHandler.refCount++;
          }, t.prototype.decreaseRasterJobHandlerUsage = function () {
            --this._rasterJobHandler.refCount <= 0 && this._shutdownJobHandler();
          }, t.prototype.fetchImage = function (e, t, r, n) {
            var i = this;
            if (void 0 === n && (n = {}), null == e || null == t || null == r) return m.reject(new c("imagery-layer:fetch-image", "Insufficient parameters for requesting an image. A valid extent, width and height values are required."));
            var a = this.renderer || this._symbolizer ? this.generateRasterInfo(this.renderingRule, {
              signal: n.signal
            }) : null;
            return m.when(a).then(function (a) {
              a && (i.rasterInfo = a);
              var o = i.getExportImageServiceParameters(e, t, r, n.timeExtent),
                  s = {
                imageServiceParameters: o,
                imageProps: {
                  extent: e,
                  width: t,
                  height: r,
                  format: i.format
                },
                requestAsImageElement: n.requestAsImageElement && !i.pixelFilter || !1,
                signal: n.signal
              };
              return i._requestArrayBuffer(s);
            });
          }, t.prototype.fetchKeyProperties = function (e) {
            var t = e && e.renderingRule && e.renderingRule.toJSON();
            return p(this.parsedUrl.path + "/keyProperties", {
              query: this._getQueryParams({
                renderingRule: this.version >= 10.3 && t ? JSON.stringify(t) : null
              })
            }).then(function (e) {
              return e.data;
            });
          }, t.prototype.fetchRasterAttributeTable = function (e) {
            var t = e && e.renderingRule && e.renderingRule.toJSON();
            return this.version < 10.1 ? m.reject(new c("#fetchRasterAttributeTable()", "Failed to get rasterAttributeTable")) : p(this.parsedUrl.path + "/rasterAttributeTable", {
              query: this._getQueryParams({
                renderingRule: this.version >= 10.3 && t ? JSON.stringify(t) : null
              })
            }).then(function (e) {
              return M.fromJSON(e.data);
            });
          }, t.prototype.getCatalogItemRasterInfo = function (e, t) {
            return o(this, void 0, void 0, function () {
              var n, i, o, l, u;
              return a(this, function (a) {
                switch (a.label) {
                  case 0:
                    return n = p(this.parsedUrl.path + "/" + e + "/info", r({
                      query: this._getQueryParams(),
                      responseType: "json"
                    }, t)).then(function (e) {
                      return e.data;
                    }), i = p(this.parsedUrl.path + "/" + e + "/info/keyProperties", r({
                      query: this._getQueryParams(),
                      responseType: "json"
                    }, t)).then(function (e) {
                      return e.data;
                    })["catch"](function () {}), [4, m.all([n, i])];

                  case 1:
                    return o = a.sent(), o[0] ? (l = s.Extent.fromJSON(o[0].extent), u = o[0].statistics ? o[0].statistics.map(function (e) {
                      return {
                        min: e[0],
                        max: e[1],
                        avg: e[2],
                        stddev: e[3]
                      };
                    }) : null, [2, new T({
                      bandCount: o[0].bandCount,
                      extent: l,
                      spatialReference: l.sr,
                      pixelSize: new s.Point({
                        x: o[0].pixelSizeX,
                        y: o[0].pixelSizeY,
                        spatialReference: l.sr
                      }),
                      pixelType: o[0].pixelType.toLowerCase(),
                      statistics: u,
                      histograms: o[0].histograms,
                      keyProperties: o[1]
                    })]) : [2, void 0];
                }
              });
            });
          }, t.prototype.getCatalogItemICSInfo = function (e, t) {
            return o(this, void 0, void 0, function () {
              var n, i, o, l, u, c, d, f, y, h, g, v, R, b, x, I, S, w, _, O, P, F, T, N, J, R, D, C, j, M;

              return a(this, function (a) {
                switch (a.label) {
                  case 0:
                    return [4, p(this.parsedUrl.path + "/" + e + "/info/ics", r({
                      query: this._getQueryParams(),
                      responseType: "json"
                    }, t))];

                  case 1:
                    if (n = a.sent().data, !(i = n && n.ics)) return [2, void 0];
                    if (o = this.version >= 10.7 ? p(this.parsedUrl.path + "/" + e + "/info/icstopixel", r({
                      query: this._getQueryParams(),
                      responseType: "json"
                    }, t)).then(function (e) {
                      return e.data;
                    })["catch"](function () {
                      return {};
                    }) : {}, !(l = i.extent.spatialReference)) for (u in i.geodataXform) i.geodataXform[u].spatialReference && (l = i.geodataXform[u].spatialReference);

                    for (c = {
                      geometries: JSON.stringify({
                        geometryType: "esriGeometryEnvelope",
                        geometries: [i.extent]
                      }),
                      inSR: l.wkid || l,
                      outSR: "0:" + e
                    }, d = p(this.parsedUrl.path + "/project", r({
                      query: this._getQueryParams(c),
                      responseType: "json"
                    }, t)).then(function (e) {
                      return e.data;
                    }), f = 5, y = (i.extent.xmin + i.extent.xmax) / 2, h = (i.extent.ymax - i.extent.ymin) / (f + 1), g = i.extent.ymin + h, v = [], R = 0; R < f; R++) v.push({
                      x: y,
                      y: g + h * R
                    });

                    return b = {
                      geometries: JSON.stringify({
                        geometryType: "esriGeometryPoint",
                        geometries: v
                      }),
                      inSR: l.wkid || l,
                      outSR: "0:" + e
                    }, x = p(this.parsedUrl.path + "/project", r({
                      query: this._getQueryParams(b),
                      responseType: "json"
                    }, t)).then(function (e) {
                      return e.data;
                    }), [4, m.all([o, d, x])];

                  case 2:
                    for (I = a.sent(), S = I[0].ipxf, null == S && (w = i.geodataXform && i.geodataXform.xf_0) && "topup" === w.name.toLowerCase() && (S = {
                      affine: {
                        name: "ics [sensor: Frame] to pixel (column, row) transformation",
                        coefficients: w.coefficients,
                        cellsizeRatio: 0,
                        type: "GeometricXform"
                      }
                    }), _ = s.Extent.fromJSON(I[1] && I[1].geometries && I[1].geometries[0]), _ && (_.spatialReference = new s.SpatialReference({
                      wkid: 0,
                      imageCoordinateSystem: i
                    })), O = I[2].geometries.filter(function (e) {
                      return null != e;
                    }), P = O.length, F = 0, T = 0, N = 0, J = 0, R = 0; R < P; R++) F += O[R].x, T += O[R].y, N += O[R].x * O[R].x, J += O[R].x * O[R].y;

                    return D = (P * J - F * T) / (P * N - F * F), C = 0, j = O[f - 1].x > O[0].x, M = O[f - 1].y > O[0].y, D === 1 / 0 ? C = M ? 90 : 270 : 0 === D ? C = j ? 0 : 180 : D > 0 ? C = j ? 180 * Math.atan(D) / Math.PI : 180 * Math.atan(D) / Math.PI + 180 : D < 0 && (C = M ? 180 + 180 * Math.atan(D) / Math.PI : 360 + 180 * Math.atan(D) / Math.PI), [2, {
                      ics: i,
                      icsToPixelTransform: S,
                      icsExtent: _,
                      northDirection: C
                    }];
                }
              });
            });
          }, t.prototype.generateRasterInfo = function (e, t) {
            return o(this, void 0, void 0, function () {
              var r, n, i;
              return a(this, function (a) {
                switch (a.label) {
                  case 0:
                    if ((!e || "none" === e.functionName.toLowerCase()) && h.isSome(this.serviceRasterInfo)) return [2, this.serviceRasterInfo];
                    if (r = z(e), this._functionRasterInfos[r]) return [2, this._functionRasterInfos[r]];
                    n = this._generateRasterInfo(e, t), this._functionRasterInfos[r] = n, a.label = 1;

                  case 1:
                    return a.trys.push([1, 3,, 4]), [4, n];

                  case 2:
                    return [2, a.sent()];

                  case 3:
                    return i = a.sent(), this._functionRasterInfos[r] = null, [2, null];

                  case 4:
                    return [2];
                }
              });
            });
          }, t.prototype.getExportImageServiceParameters = function (e, t, n, i) {
            e = e.clone().shiftCentralMeridian();
            var a,
                o = e.spatialReference;

            if (o.imageCoordinateSystem) {
              var s = o.imageCoordinateSystem,
                  l = s.id,
                  u = s.referenceServiceName;
              a = null != l ? u ? this.parsedUrl.path.toLowerCase().indexOf("/" + u.toLowerCase() + "/") > -1 ? "0:" + l : JSON.stringify({
                icsid: l,
                icsns: u
              }) : "0:" + l : JSON.stringify({
                ics: o.imageCoordinateSystem
              });
            } else a = o.wkid || JSON.stringify(o.toJSON());

            h.isSome(this.serviceRasterInfo) && this.pixelType !== this.serviceRasterInfo.pixelType && (this.exportImageServiceParameters.pixelType = this.pixelType);
            var p = this.exportImageServiceParameters.toJSON(),
                c = p.bandIds,
                d = p.noData,
                f = p.mosaicRule,
                y = p.renderingRule;
            c instanceof Array && c.length > 0 && (p.bandIds = c.join(",")), d instanceof Array && d.length > 0 && (p.noData = d.join(","));
            var m = this.timeInfo;
            f && f.multidimensionalDefinition && i && m && m.startField && (f.multidimensionalDefinition = f.multidimensionalDefinition.filter(function (e) {
              return e.dimensionName !== m.startField;
            })), p.mosaicRule = f && JSON.stringify(f), p.renderingRule = y && JSON.stringify(y);
            var g = {};

            if (i) {
              var v = i.toJSON(),
                  R = v.start,
                  b = v.end;
              R && b && R === b ? g.time = "" + R : null == R && null == b || (g.time = (null == R ? "null" : R) + "," + (null == b ? "null" : b));
            }

            return r({
              bbox: e.xmin + "," + e.ymin + "," + e.xmax + "," + e.ymax,
              bboxSR: a,
              imageSR: a,
              size: t + "," + n
            }, p, g);
          }, t.prototype.queryRasters = function (e) {
            return this.queryTask.execute(e);
          }, t.prototype.queryVisibleRasters = function (e, t) {
            var r = this;
            if (!e) return m.reject(new c("imagery-layer: query-visible-rasters", "missing query parameter"));
            var n = t || {
              pixelSize: null,
              returnDomainValues: !1,
              returnTopmostRaster: !1,
              showNoDataRecords: !1
            },
                i = n.pixelSize,
                a = n.returnDomainValues,
                o = n.returnTopmostRaster,
                l = n.showNoDataRecords,
                u = !1,
                p = null,
                d = null,
                f = this.rasterFunctionNamesIndex;

            if (e.outFields && this.version >= 10.4) {
              var y = e.outFields.filter(function (e) {
                return e.toLowerCase().indexOf("raster.servicepixelvalue") > -1 && e.length > "raster.servicepixelvalue".length;
              }).map(function (e) {
                var t = e.slice("raster.servicepixelvalue".length + 1);
                return [r._updateRenderingRulesFunctionName(t, f), t];
              });
              p = y.map(function (e) {
                return new F({
                  functionName: e[0]
                });
              }), d = y.map(function (e) {
                return e[1];
              }), u = e.outFields.some(function (e) {
                return -1 === e.toLowerCase().indexOf("raster.servicepixelvalue");
              }), 0 === p.length && (p = null);
            }

            var h = !e.outSpatialReference || e.outSpatialReference.equals(this.spatialReference),
                g = this._getQueryParams({
              geometry: e.geometry,
              timeExtent: e.timeExtent,
              mosaicRule: this.exportImageServiceParameters.mosaicRule,
              renderingRule: this.renderingRule,
              renderingRules: p,
              pixelSize: i,
              returnCatalogItems: u,
              returnGeometry: h,
              maxItemCount: o ? 1 : null
            });

            delete g.f;
            var v = new V(g),
                R = new C({
              url: this.url
            }),
                b = this.generateRasterInfo(this.renderingRule);
            return m.create(function (t) {
              b.then(function () {
                R.execute(v).then(function (n) {
                  var i = e.outFields;

                  if (u && !h && n.catalogItems && n.catalogItems.features && n.catalogItems.features.length > 0) {
                    var o = r.objectIdField || "ObjectId",
                        p = n.catalogItems.features,
                        f = p.map(function (e) {
                      return e.attributes && e.attributes[o];
                    }),
                        y = new q({
                      objectIds: f,
                      returnGeometry: !0,
                      outSpatialReference: e.outSpatialReference,
                      outFields: [o]
                    });
                    return r.queryRasters(y).then(function (u) {
                      u && u.features && u.features.length > 0 && u.features.forEach(function (t) {
                        p.forEach(function (r) {
                          r.attributes[o] === t.attributes[o] && (r.geometry = new s.Polygon(t.geometry), r.geometry.spatialReference = e.outSpatialReference);
                        });
                      }), t(r._processVisibleRastersResponse(n, {
                        returnDomainValues: a,
                        templateRRFunctionNames: d,
                        showNoDataRecords: l,
                        templateFields: i
                      }));
                    })["catch"](function () {
                      throw new c("imagery-layer:query-visible-rasters", "encountered error when querying visible rasters geometry");
                    });
                  }

                  t(r._processVisibleRastersResponse(n, {
                    returnDomainValues: a,
                    templateRRFunctionNames: d,
                    showNoDataRecords: l,
                    templateFields: i
                  }));
                })["catch"](function () {
                  throw new c("imagery-layer:query-visible-rasters", "encountered error when querying visible rasters");
                });
              });
            });
          }, t.prototype._fetchService = function (e) {
            return o(this, void 0, void 0, function () {
              var t,
                  r,
                  n,
                  i,
                  o,
                  s,
                  l = this;
              return a(this, function (a) {
                switch (a.label) {
                  case 0:
                    return t = this.sourceJSON, t ? [3, 2] : [4, p(this.parsedUrl.path, {
                      query: this._getQueryParams(),
                      responseType: "json",
                      signal: e
                    })];

                  case 1:
                    r = a.sent(), n = r.data, i = r.ssl, t = n, this.sourceJSON = t, i && (this.url = this.url.replace(/^http:/i, "https:")), a.label = 2;

                  case 2:
                    return this.read(t, {
                      origin: "service",
                      url: this.parsedUrl
                    }), h.isSome(this.serviceRasterInfo) && !this.rasterInfo && (this.rasterInfo = this.serviceRasterInfo), o = h.isSome(this.serviceRasterInfo) ? m.resolve(this.serviceRasterInfo) : this._fetchAuxiliaryRasterInfo({
                      serviceInfo: t,
                      signal: e
                    }).then(function (e) {
                      return l._set("serviceRasterInfo", e), e;
                    }), s = this.renderingRule && "none" !== this.renderingRule.functionName.toLowerCase() ? this.generateRasterInfo(this.renderingRule, {
                      signal: e
                    }) : null, [2, m.all([o, s]).then(function (e) {
                      e[1] ? l._set("rasterInfo", e[1]) : l._set("rasterInfo", e[0]), l._configDefaultRenderer(), l.watch("renderer", function () {
                        return l._configDefaultRenderer();
                      }), l.watch("renderingRule", function (e) {
                        (l.renderer || l._symbolizer || l.popupEnabled && l.popupTemplate) && l.generateRasterInfo(e).then(function (e) {
                          e && (l.rasterInfo = e);
                        });
                      });
                      var t = h.isSome(l.serviceRasterInfo) && l.serviceRasterInfo.multidimensionalInfo;
                      t && l._updateMultidimensionalDefinition(t);
                    })];
                }
              });
            });
          }, t.prototype._initJobHandler = function () {
            return o(this, void 0, void 0, function () {
              var e,
                  t = this;
              return a(this, function (r) {
                switch (r.label) {
                  case 0:
                    return null != this._rasterJobHandler.connectionPromise ? [2, this._rasterJobHandler.connectionPromise] : (e = new N(), this._rasterJobHandler.connectionPromise = e.initialize().then(function () {
                      t._rasterJobHandler.instance = e;
                    }, function () {
                      return null;
                    }), [4, this._rasterJobHandler.connectionPromise]);

                  case 1:
                    return r.sent(), [2];
                }
              });
            });
          }, t.prototype._shutdownJobHandler = function () {
            this._rasterJobHandler.instance && this._rasterJobHandler.instance.destroy(), this._rasterJobHandler.instance = null, this._rasterJobHandler.connectionPromise = null, this._rasterJobHandler.refCount = 0;
          }, t.prototype._isPicture = function () {
            return !this.format || this.format.indexOf("jpg") > -1 || this.format.indexOf("png") > -1;
          }, t.prototype._configDefaultRenderer = function () {
            if (!this._isPicture() && !this.pixelFilter) {
              if (!this.bandIds && this.rasterInfo.bandCount >= 3) {
                var e = _.getDefaultBandCombination(this.rasterInfo);

                !e || 3 === this.rasterInfo.bandCount && 0 === e[0] && 1 === e[1] && 2 === e[2] || (this.bandIds = e);
              }

              this.renderer || (this.renderer = _.createDefaultRenderer(this.rasterInfo, this.bandIds)), this._symbolizer ? (this._symbolizer.renderer = this.renderer, this._symbolizer.rasterInfo = this.rasterInfo) : this._symbolizer = new D({
                renderer: this.renderer,
                rasterInfo: this.rasterInfo
              }), this._symbolizer.bind() || (this._symbolizer = null);
            }
          }, t.prototype._clonePixelData = function (e) {
            return null == e ? e : {
              extent: e.extent && e.extent.clone(),
              pixelBlock: e.pixelBlock && e.pixelBlock.clone()
            };
          }, t.prototype._getQueryParams = function (e) {
            var t = this,
                n = t.raster,
                i = t.viewId;
            return r({
              raster: n,
              viewId: i,
              f: "json"
            }, e);
          }, t.prototype._decodePixelBlock = function (e, t, r) {
            return this._rasterJobHandler.instance ? this._rasterJobHandler.instance.decode({
              data: e,
              options: t
            }) : J.decode(e, t, r);
          }, t.prototype._fetchAuxiliaryRasterInfo = function (e) {
            var t = e && e.serviceInfo;
            if (!t) return m.reject(new c("imagery-layer:fetch-metadata", "valid serviceInfo is required"));
            var r = e.renderingRule ? JSON.stringify(e.renderingRule.toJSON()) : null,
                n = e.signal,
                i = !!(t.hasRasterAttributeTable && this.version >= 10.1) && p(this.parsedUrl.path + "/rasterAttributeTable", {
              query: this._getQueryParams({
                renderingRule: this.version >= 10.1 ? r : null
              }),
              signal: n
            }).then(function (e) {
              return M.fromJSON(e.data);
            })["catch"](function () {
              return null;
            }),
                a = !!(t.hasColormap && this.version >= 10.1) && p(this.parsedUrl.path + "/colormap", {
              query: this._getQueryParams({
                renderingRule: this.version >= 10.6 ? r : null
              }),
              signal: n
            }).then(function (e) {
              return e.data && e.data.colormap;
            }),
                o = !!(t.hasHistograms && this.version >= 10.1) && p(this.parsedUrl.path + "/histograms", {
              query: this._getQueryParams({
                renderingRule: this.version >= 10.1 ? r : null
              }),
              signal: n
            }).then(function (e) {
              return e.data && e.data.histograms;
            }),
                l = this.version >= 10.3 && p(this.parsedUrl.path + "/keyProperties", {
              query: this._getQueryParams({
                renderingRule: r
              }),
              signal: n
            }).then(function (e) {
              return e.data;
            })["catch"](function () {}),
                u = !!(t.hasMultidimensions && this.version >= 10.3) && p(this.parsedUrl.path + "/multidimensionalInfo", {
              query: this._getQueryParams(),
              signal: n
            }).then(function (e) {
              return e.data && e.data.multidimensionalInfo;
            });
            return m.all([i, a, o, l, u]).then(function (e) {
              var r = null;

              if (t.minValues && t.minValues.length === t.bandCount) {
                r = [];

                for (var n = 0; n < t.minValues.length; n++) r.push({
                  min: t.minValues[n],
                  max: t.maxValues[n],
                  avg: t.meanValues[n],
                  stddev: t.stdvValues[n]
                });
              }

              var i = s.SpatialReference.fromJSON(t.spatialReference || t.extent.spatialReference);
              return new T({
                bandCount: t.bandCount,
                extent: s.Extent.fromJSON(t.extent),
                spatialReference: i,
                pixelSize: new s.Point({
                  x: t.pixelSizeX,
                  y: t.pixelSizeY,
                  spatialReference: i
                }),
                pixelType: t.pixelType.toLowerCase(),
                statistics: r,
                attributeTable: e[0] || null,
                colormap: e[1] || null,
                histograms: e[2] || null,
                keyProperties: e[3] || null,
                multidimensionalInfo: e[4] || null
              });
            });
          }, t.prototype._requestArrayBuffer = function (e) {
            var t = this,
                n = e.imageProps,
                i = e.requestAsImageElement,
                a = e.signal;
            if (i && !this.pixelFilter && n.format && n.format.indexOf("png") > -1) return p(this.parsedUrl.path + "/exportImage", {
              responseType: "image",
              query: this._getQueryParams(r({
                f: "image"
              }, e.imageServiceParameters)),
              signal: a
            }).then(function (e) {
              return {
                imageElement: e.data,
                params: n
              };
            });

            var o = this._initJobHandler(),
                s = p(this.parsedUrl.path + "/exportImage", {
              responseType: "array-buffer",
              query: this._getQueryParams(r({
                f: "image"
              }, e.imageServiceParameters)),
              signal: a
            });

            return m.all([s, o]).then(function (e) {
              var i = e[0].data,
                  o = n.format || "jpgpng",
                  s = o;

              if ("bsq" !== s && "bip" !== s && (s = J.getFormat(i)), !s) {
                throw new c("imagery-layer:fetch-image", "unsupported format signature " + String.fromCharCode.apply(null, new Uint8Array(i)));
              }

              var l = o.indexOf("png") > -1 && ("png" === s || "jpg" === s),
                  u = {
                signal: a
              };
              return l ? J.decode(i, r({
                useCanvas: !0
              }, n), u).then(function (e) {
                return {
                  pixelData: {
                    pixelBlock: e,
                    extent: n.extent
                  },
                  params: n
                };
              }) : t._decodePixelBlock(i, {
                width: n.width,
                height: n.height,
                planes: null,
                pixelType: null,
                noDataValue: null,
                format: o
              }, u).then(function (e) {
                return {
                  pixelData: {
                    pixelBlock: e,
                    extent: n.extent
                  },
                  params: n
                };
              });
            });
          }, t.prototype._generateRasterInfo = function (e, t) {
            return o(this, void 0, void 0, function () {
              var n, i;
              return a(this, function (a) {
                switch (a.label) {
                  case 0:
                    return [4, p(this.parsedUrl.path, r({
                      query: this._getQueryParams({
                        renderingRule: e
                      }),
                      responseType: "json"
                    }, t))];

                  case 1:
                    return n = a.sent().data, [4, this._fetchAuxiliaryRasterInfo(r({
                      serviceInfo: n,
                      renderingRule: e
                    }, t))];

                  case 2:
                    return i = a.sent(), [2, i];
                }
              });
            });
          }, t.prototype._isValidCustomizedMosaicRule = function (e) {
            return e && JSON.stringify(e.toJSON()) !== JSON.stringify(this._defaultServiceMosaicRule && this._defaultServiceMosaicRule.toJSON());
          }, t.prototype._updateMultidimensionalDefinition = function (e) {
            if (!this._isValidCustomizedMosaicRule(this.mosaicRule)) {
              var t = e.variables[0].dimensions,
                  r = [];

              for (var n in t) if (t.hasOwnProperty(n)) {
                var i = t[n],
                    a = i.extent,
                    o = !0,
                    s = [a[0]];
                i.hasRanges && !0 === i.hasRanges ? (o = !1, s = [i.values[0]]) : "stdz" === i.name.toLowerCase() && Math.abs(a[1]) <= Math.abs(a[0]) && (s = [a[1]]), r.push(new x({
                  variableName: "",
                  dimensionName: t[n].name,
                  isSlice: o,
                  values: s
                }));
              }

              if (r.length > 0) {
                this.mosaicRule = this.mosaicRule || new O();
                var l = this.mosaicRule.multidimensionalDefinition;
                (!l || l && l.length <= 0) && (this.mosaicRule.multidimensionalDefinition = r);
              }
            }
          }, t.prototype._processVisibleRastersResponse = function (e, t) {
            t = t || {};
            var r = e.value,
                n = t.templateRRFunctionNames,
                i = t.showNoDataRecords,
                a = t.returnDomainValues,
                o = t.templateFields,
                s = e.processedValues,
                u = e.catalogItems && e.catalogItems.features,
                p = e.properties && e.properties.Values && e.properties.Values.map(function (e) {
              return e.replace(/ /gi, ", ");
            }) || [],
                c = this.objectIdField || "ObjectId",
                d = r.toLowerCase().indexOf("nodata") > -1,
                f = [];

            if (r && !u && !d) {
              var y = {};
              y[c] = 0;
              var h = new l(this.fullExtent, null, y);
              p = [r], u = [h];
            }

            if (!u) return [];

            this._updateResponseFieldNames(u, o);

            for (var m, g, v = 0; v < u.length; v++) {
              if (m = u[v], null != r && !d) {
                if (g = p[v], "nodata" === g.toLowerCase() && !i) continue;
                m.attributes["Raster.ItemPixelValue"] = g, m.attributes["Raster.ServicePixelValue"] = r, this._updateFeatureWithMagDirValues(m, g), this._updateFeatureWithRasterAttributeTableValues(m, this.renderingRule ? r : g);
              }

              if (m.sourceLayer = this, a && this._updateFeatureWithDomainValues(m), n && s && n.length === s.length) for (var R = 0; R < n.length; R++) m.attributes["Raster.ServicePixelValue." + n[R]] = s[R];
              f.push(u[v]);
            }

            return f;
          }, t.prototype._updateFeatureWithRasterAttributeTableValues = function (e, t) {
            var r = this,
                n = this.rasterInfo && this.rasterInfo.attributeTable,
                i = n && n.features;

            if (i) {
              var a = n.fields,
                  o = a.map(function (e) {
                return e.name;
              }).filter(function (e) {
                return "value" === e.toLowerCase();
              }),
                  s = o && o[0];

              if (s) {
                var l = i.filter(function (e) {
                  return e.attributes[s] === (null != t ? parseInt(t, 10) : null);
                });
                l && l[0] && a.forEach(function (t) {
                  e.attributes[r.rasterAttributeTableFieldPrefix + t.name] = l[0].attributes[t.name];
                });
              }
            }
          }, t.prototype._updateFeatureWithMagDirValues = function (e, t) {
            if (this.pixelFilter && ("esriImageServiceDataTypeVector-UV" === this.serviceDataType || "esriImageServiceDataTypeVector-MagDir" === this.serviceDataType)) {
              var r = t.replace(" ", ",").split(",").map(function (e) {
                return parseFloat(e);
              }),
                  n = r.map(function (e) {
                return [e];
              }),
                  i = r.map(function (e) {
                return {
                  minValue: e,
                  maxValue: e,
                  noDataValue: null
                };
              }),
                  a = new P({
                height: 1,
                width: 1,
                pixelType: "f32",
                pixels: n,
                statistics: i
              });
              this.pixelFilter({
                pixelBlock: a,
                extent: new s.Extent(0, 0, 0, 0, this.spatialReference)
              }), e.attributes["Raster.Magnitude"] = a.pixels[0][0], e.attributes["Raster.Direction"] = a.pixels[1][0];
            }
          }, t.prototype._updateFeatureWithDomainValues = function (e) {
            var t = this.fields && this.fields.filter(function (e) {
              return e.domain && "coded-value" === e.domain.type;
            });
            null != t && t.forEach(function (t) {
              var r = e.attributes[t.name];

              if (null != r) {
                var n = t.domain.codedValues.filter(function (e) {
                  return e.code === r;
                })[0];
                n && (e.attributes[t.name] = n.name);
              }
            });
          }, t.prototype._updateResponseFieldNames = function (e, t) {
            if (t && !(t.length < 1)) {
              var r = this.fieldsIndex;
              r && e.forEach(function (e) {
                if (e && e.attributes) for (var n = 0, i = t; n < i.length; n++) {
                  var a = i[n];

                  if (r.has(a)) {
                    var o = r.get(a).name;
                    o !== a && (e.attributes[a] = e.attributes[o], delete e.attributes[o]);
                  }
                }
              });
            }
          }, t.prototype._updateRenderingRulesFunctionName = function (e, t) {
            if (e && !(e.length < 1)) {
              if ("Raw" === e) return e.replace("Raw", "None");
              var r = e.toLowerCase().replace(/ /gi, "_");
              return t.has(r) ? t.get(r) : e;
            }
          }, t.prototype._isRFTJson = function (e) {
            return e.name && e.arguments && e["function"] && e.hasOwnProperty("functionType");
          }, i([v.property()], t.prototype, "_functionRasterInfos", void 0), i([v.property()], t.prototype, "_rasterJobHandler", void 0), i([v.property()], t.prototype, "_symbolizer", void 0), i([v.property()], t.prototype, "_defaultServiceMosaicRule", void 0), i([v.reader("_defaultServiceMosaicRule", ["defaultMosaicMethod"])], t.prototype, "readDefaultServiceMosaicRule", null), i([v.property()], t.prototype, "_cachedRendererJson", void 0), i([v.property()], t.prototype, "rasterAttributeTableFieldPrefix", void 0), i([v.property({
            readOnly: !0,
            dependsOn: ["rasterFunctionInfos"]
          })], t.prototype, "rasterFunctionNamesIndex", null), i([v.property({
            readOnly: !0,
            dependsOn: ["url"]
          })], t.prototype, "queryTask", null), i([v.property()], t.prototype, "adjustAspectRatio", void 0), i([v.property({
            readOnly: !0
          }), v.aliasOf("serviceRasterInfo.bandCount")], t.prototype, "bandCount", void 0), i([v.property({
            type: [R.Integer],
            json: {
              write: !0
            }
          })], t.prototype, "bandIds", void 0), i([v.property({
            readOnly: !0
          })], t.prototype, "capabilities", void 0), i([v.reader("capabilities")], t.prototype, "readCapabilities", null), i([v.property({
            type: Number
          })], t.prototype, "compressionQuality", void 0), i([v.writer("compressionQuality")], t.prototype, "writeCompressionQuality", null), i([v.property({
            type: Number
          })], t.prototype, "compressionTolerance", void 0), i([v.writer("compressionTolerance")], t.prototype, "writeCompressionTolerance", null), i([v.property({
            json: {
              read: {
                source: "copyrightText"
              }
            }
          })], t.prototype, "copyright", void 0), i([v.property({
            type: String,
            json: {
              read: {
                source: "layerDefinition.definitionExpression"
              },
              write: {
                target: "layerDefinition.definitionExpression"
              }
            }
          })], t.prototype, "definitionExpression", void 0), i([v.property({
            readOnly: !0,
            constructOnly: !0
          })], t.prototype, "exportImageServiceParameters", void 0), i([v.property()], t.prototype, "rasterInfo", void 0), i([v.property({
            readOnly: !0,
            type: [S]
          })], t.prototype, "fields", void 0), i([v.property({
            readOnly: !0,
            dependsOn: ["fields"]
          })], t.prototype, "fieldsIndex", null), i([v.property({
            type: String,
            json: {
              write: !0
            }
          })], t.prototype, "format", null), i([v.property({
            type: s.Extent
          })], t.prototype, "fullExtent", void 0), i([v.property({
            readOnly: !0
          })], t.prototype, "hasMultidimensions", void 0), i([v.property({
            json: {
              read: {
                source: "maxImageHeight"
              }
            }
          })], t.prototype, "imageMaxHeight", void 0), i([v.property({
            json: {
              read: {
                source: "maxImageWidth"
              }
            }
          })], t.prototype, "imageMaxWidth", void 0), i([v.property({
            type: String,
            json: {
              read: {
                reader: E.read
              },
              write: {
                writer: E.write
              }
            }
          })], t.prototype, "interpolation", void 0), i([v.property({
            type: O
          })], t.prototype, "mosaicRule", null), i([v.reader("mosaicRule", ["mosaicRule", "defaultMosaicMethod"])], t.prototype, "readMosaicRule", null), i([v.writer("mosaicRule")], t.prototype, "writeMosaicRule", null), i([v.property({
            readOnly: !0
          }), v.aliasOf("serviceRasterInfo.multidimensionalInfo")], t.prototype, "multidimensionalInfo", void 0), i([v.property()], t.prototype, "noData", void 0), i([v.writer("noData")], t.prototype, "writeNoData", null), i([v.property({
            type: String,
            json: {
              read: {
                reader: U.read
              },
              write: {
                writer: U.write
              }
            }
          })], t.prototype, "noDataInterpretation", void 0), i([v.property({
            type: String,
            readOnly: !0,
            json: {
              read: {
                source: ["fields"]
              }
            }
          })], t.prototype, "objectIdField", void 0), i([v.reader("objectIdField")], t.prototype, "readObjectIdField", null), i([v.property({
            readOnly: !0,
            dependsOn: ["url"]
          })], t.prototype, "parsedUrl", null), i([v.property({
            readOnly: !0
          }), v.aliasOf("serviceRasterInfo.pixelSize.x")], t.prototype, "pixelSizeX", void 0), i([v.property({
            readOnly: !0
          }), v.aliasOf("serviceRasterInfo.pixelSize.y")], t.prototype, "pixelSizeY", void 0), i([v.property({
            type: Function
          })], t.prototype, "pixelFilter", void 0), i([v.property()], t.prototype, "raster", void 0), i([v.property()], t.prototype, "viewId", void 0), i([v.property({
            types: u.rasterRendererTypes,
            json: {
              read: {
                source: "layerDefinition.drawingInfo.renderer"
              },
              write: {
                target: "layerDefinition.drawingInfo.renderer"
              }
            }
          })], t.prototype, "renderer", void 0), i([v.reader("renderer")], t.prototype, "readRenderer", null), i([v.property(b.opacityDrawingInfo)], t.prototype, "opacity", void 0), i([v.property({
            readOnly: !0
          }), v.aliasOf("serviceRasterInfo.attributeTable")], t.prototype, "rasterAttributeTable", void 0), i([v.property({
            readOnly: !0,
            dependsOn: ["fields", "rasterInfo"]
          })], t.prototype, "rasterFields", null), i([v.property({
            readOnly: !0
          })], t.prototype, "rasterFunctionInfos", void 0), i([v.property({
            type: F
          })], t.prototype, "renderingRule", null), i([v.reader("renderingRule", ["renderingRule", "rasterFunctionInfos"])], t.prototype, "readRenderingRule", null), i([v.writer("renderingRule")], t.prototype, "writeRenderingRule", null), i([v.property()], t.prototype, "serviceDataType", void 0), i([v.property({
            readOnly: !0,
            type: s.SpatialReference
          })], t.prototype, "spatialReference", void 0), i([v.reader("spatialReference", ["spatialReference", "extent"])], t.prototype, "readSpatialReference", null), i([v.property()], t.prototype, "pixelType", void 0), i([v.reader("pixelType")], t.prototype, "readPixelType", null), i([v.writer("pixelType")], t.prototype, "writePixelType", null), i([v.property({
            constructOnly: !0,
            type: T
          })], t.prototype, "serviceRasterInfo", void 0), i([v.property()], t.prototype, "sourceJSON", void 0), i([v.property(b.url)], t.prototype, "url", void 0), i([v.property({
            readOnly: !0
          })], t.prototype, "version", void 0), i([v.reader("version", ["currentVersion", "fields", "timeInfo"])], t.prototype, "readVersion", null), t = i([v.subclass("esri.layers.mixins.ArcGISImageService")], t);
        }(v.declared(e));
      };
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/layers/support/DimensionalDefinition.js":
  /*!****************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/layers/support/DimensionalDefinition.js ***!
    \****************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiLayersSupportDimensionalDefinitionJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../core/tsSupport/declareExtendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! ../../core/JSONSupport */
    "./node_modules/arcgis-js-api/core/JSONSupport.js"), __webpack_require__(
    /*! ../../core/lang */
    "./node_modules/arcgis-js-api/core/lang.js"), __webpack_require__(
    /*! ../../core/accessorSupport/decorators */
    "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js"), __webpack_require__(
    /*! ../../core/accessorSupport/ensureType */
    "./node_modules/arcgis-js-api/core/accessorSupport/ensureType.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, r, t, o, i, p, s, n) {
      return function (e) {
        function r(r) {
          var t = e.call(this, r) || this;
          return t.variableName = null, t.dimensionName = null, t.values = [], t.isSlice = !1, t;
        }

        t(r, e), i = r, r.prototype.clone = function () {
          return new i({
            variableName: this.variableName,
            dimensionName: this.dimensionName,
            values: p.clone(this.values),
            isSlice: this.isSlice
          });
        };
        var i;
        return o([s.property({
          type: String,
          json: {
            write: !0
          }
        })], r.prototype, "variableName", void 0), o([s.property({
          type: String,
          json: {
            write: !0
          }
        })], r.prototype, "dimensionName", void 0), o([s.property({
          type: n.types.array(n.types.oneOf([n.types["native"](Number), n.types.array(n.types["native"](Number))])),
          json: {
            write: !0
          }
        })], r.prototype, "values", void 0), o([s.property({
          type: Boolean,
          json: {
            write: !0
          }
        })], r.prototype, "isSlice", void 0), r = i = o([s.subclass("esri.layers.support.DimensionalDefinition")], r);
      }(s.declared(i.JSONSupport));
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/layers/support/ExportImageServiceParameters.js":
  /*!***********************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/layers/support/ExportImageServiceParameters.js ***!
    \***********************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiLayersSupportExportImageServiceParametersJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../core/tsSupport/assignHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/assignHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/declareExtendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! ../../core/jsonMap */
    "./node_modules/arcgis-js-api/core/jsonMap.js"), __webpack_require__(
    /*! ../../core/JSONSupport */
    "./node_modules/arcgis-js-api/core/JSONSupport.js"), __webpack_require__(
    /*! ../../core/accessorSupport/decorators */
    "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js"), __webpack_require__(
    /*! ./imageryRendererUtils */
    "./node_modules/arcgis-js-api/layers/support/imageryRendererUtils.js"), __webpack_require__(
    /*! ./MosaicRule */
    "./node_modules/arcgis-js-api/layers/support/MosaicRule.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, r, o, t, i, n, a, p, l, s) {
      Object.defineProperty(r, "__esModule", {
        value: !0
      });

      var y = new n["default"]({
        RSP_NearestNeighbor: "nearest",
        RSP_BilinearInterpolation: "bilinear",
        RSP_CubicConvolution: "cubic",
        RSP_Majority: "majority"
      }),
          u = new n["default"]({
        esriNoDataMatchAny: "any",
        esriNoDataMatchAll: "all"
      }),
          c = function (e) {
        function r() {
          var r = null !== e && e.apply(this, arguments) || this;
          return r.layer = null, r.adjustAspectRatio = void 0, r.bandIds = void 0, r.compression = void 0, r.compressionQuality = void 0, r.compressionTolerance = .01, r.format = null, r.interpolation = null, r.noData = null, r.noDataInterpretation = void 0, r.pixelType = void 0, r.lercVersion = 2, r;
        }

        return t(r, e), r.prototype.writeAdjustAspectRatio = function (e, r, o) {
          this.layer.version < 10.3 || (r[o] = e);
        }, r.prototype.writeCompressionQuality = function (e, r, o) {
          this.format && this.format.toLowerCase().indexOf("jpg") > -1 && null != e && (r[o] = e);
        }, r.prototype.writeCompressionTolerance = function (e, r, o) {
          "lerc" === this.format && null != e && (r[o] = e);
        }, r.prototype.writeLercVersion = function (e, r, o) {
          "lerc" === this.format && this.layer.version >= 10.5 && (r[o] = e);
        }, Object.defineProperty(r.prototype, "version", {
          get: function get() {
            var e = this.layer;
            return e.bandIds, e.format, e.compressionQuality, e.compressionTolerance, e.interpolation, e.noData, e.noDataInterpretation, e.mosaicRule, e.renderingRule, e.adjustAspectRatio, e.pixelFilter, e.renderer, e.definitionExpression, (this._get("version") || 0) + 1;
          },
          set: function set(e) {
            this._set("version", e);
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(r.prototype, "mosaicRule", {
          get: function get() {
            var e = this.layer,
                r = e.mosaicRule,
                o = e.definitionExpression;
            return r ? o && o !== r.where && (r = r.clone(), r.where = o) : o && (r = new s({
              where: o
            })), r;
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(r.prototype, "renderingRule", {
          get: function get() {
            var e = this.layer,
                r = e.renderingRule,
                o = e.pixelFilter;
            return (!e.format || e.format.indexOf("jpg") > -1 || e.format.indexOf("png") > -1) && !o && (r = this.combineRendererWithRenderingRule()), r;
          },
          enumerable: !0,
          configurable: !0
        }), r.prototype.combineRendererWithRenderingRule = function () {
          var e = this.layer,
              r = e.rasterInfo,
              o = e.renderingRule,
              t = e.renderer;
          return t && l.isSupportedRendererType(t) ? l.combineRenderingRules(l.convertRendererToRenderingRule(t, {
            rasterAttributeTable: r.attributeTable,
            pixelType: r.pixelType,
            convertColorRampToColormap: e.version < 10.6
          }), o) : o;
        }, i([p.property()], r.prototype, "layer", void 0), i([p.property({
          json: {
            write: !0
          }
        })], r.prototype, "adjustAspectRatio", void 0), i([p.writer("adjustAspectRatio")], r.prototype, "writeAdjustAspectRatio", null), i([p.property({
          json: {
            write: !0
          }
        }), p.aliasOf("layer.bandIds")], r.prototype, "bandIds", void 0), i([p.property({
          json: {
            write: !0
          }
        })], r.prototype, "compression", void 0), i([p.property({
          json: {
            write: !0
          }
        }), p.aliasOf("layer.compressionQuality")], r.prototype, "compressionQuality", void 0), i([p.writer("compressionQuality")], r.prototype, "writeCompressionQuality", null), i([p.property({
          json: {
            write: !0
          }
        }), p.aliasOf("layer.compressionTolerance")], r.prototype, "compressionTolerance", void 0), i([p.writer("compressionTolerance")], r.prototype, "writeCompressionTolerance", null), i([p.property({
          json: {
            write: !0
          }
        }), p.aliasOf("layer.format")], r.prototype, "format", void 0), i([p.property({
          type: String,
          json: {
            read: {
              reader: y.read
            },
            write: {
              writer: y.write
            }
          }
        }), p.aliasOf("layer.interpolation")], r.prototype, "interpolation", void 0), i([p.property({
          json: {
            write: !0
          }
        }), p.aliasOf("layer.noData")], r.prototype, "noData", void 0), i([p.property({
          type: String,
          json: {
            read: {
              reader: u.read
            },
            write: {
              writer: u.write
            }
          }
        }), p.aliasOf("layer.noDataInterpretation")], r.prototype, "noDataInterpretation", void 0), i([p.property({
          json: {
            write: !0
          }
        })], r.prototype, "pixelType", void 0), i([p.property({
          json: {
            write: !0
          }
        })], r.prototype, "lercVersion", void 0), i([p.writer("lercVersion")], r.prototype, "writeLercVersion", null), i([p.property({
          type: Number,
          dependsOn: ["layer.adjustAspectRatio", "layer.bandIds", "layer.format", "layer.compressionQuality", "layer.compressionTolerance", "layer.definitionExpression", "layer.interpolation", "layer.noData", "layer.noDataInterpretation", "layer.mosaicRule", "layer.renderingRule", "layer.pixelFilter", "layer.renderer", "lercVersion", "pixelType"]
        })], r.prototype, "version", null), i([p.property({
          dependsOn: ["layer.mosaicRule", "layer.definitionExpression"],
          json: {
            write: !0
          }
        })], r.prototype, "mosaicRule", null), i([p.property({
          dependsOn: ["layer.renderingRule", "layer.renderer", "layer.rasterInfo", "layer.format"],
          json: {
            write: !0
          }
        })], r.prototype, "renderingRule", null), r = i([p.subclass("esri.layers.mixins.ExportImageServiceParameters")], r);
      }(p.declared(a.JSONSupport));

      r.ExportImageServiceParameters = c;
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/layers/support/MosaicRule.js":
  /*!*****************************************************************!*\
    !*** ./node_modules/arcgis-js-api/layers/support/MosaicRule.js ***!
    \*****************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiLayersSupportMosaicRuleJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../core/tsSupport/declareExtendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! ../../core/jsonMap */
    "./node_modules/arcgis-js-api/core/jsonMap.js"), __webpack_require__(
    /*! ../../core/JSONSupport */
    "./node_modules/arcgis-js-api/core/JSONSupport.js"), __webpack_require__(
    /*! ../../core/lang */
    "./node_modules/arcgis-js-api/core/lang.js"), __webpack_require__(
    /*! ../../core/accessorSupport/decorators */
    "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js"), __webpack_require__(
    /*! ../../geometry/Point */
    "./node_modules/arcgis-js-api/geometry/Point.js"), __webpack_require__(
    /*! ./DimensionalDefinition */
    "./node_modules/arcgis-js-api/layers/support/DimensionalDefinition.js"), __webpack_require__(
    /*! ./RasterFunction */
    "./node_modules/arcgis-js-api/layers/support/RasterFunction.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, o, i, n, s, a, p, c, l) {
      function d(e) {
        var t;

        switch (e ? e.toLowerCase().replace("esrimosaic", "") : "") {
          case "byattribute":
          case "attribute":
            t = "esriMosaicAttribute";
            break;

          case "lockraster":
            t = "esriMosaicLockRaster";
            break;

          case "center":
            t = "esriMosaicCenter";
            break;

          case "northwest":
            t = "esriMosaicNorthwest";
            break;

          case "nadir":
            t = "esriMosaicNadir";
            break;

          case "viewpoint":
            t = "esriMosaicViewpoint";
            break;

          case "seamline":
            t = "esriMosaicSeamline";
            break;

          case "none":
          default:
            t = "esriMosaicNone";
        }

        return y.fromJSON(t);
      }

      var u = i.strict()({
        MT_FIRST: "first",
        MT_LAST: "last",
        MT_MIN: "min",
        MT_MAX: "max",
        MT_MEAN: "mean",
        MT_BLEND: "blend",
        MT_SUM: "sum"
      }),
          y = i.strict()({
        esriMosaicNone: "none",
        esriMosaicCenter: "center",
        esriMosaicNadir: "nadir",
        esriMosaicViewpoint: "viewpoint",
        esriMosaicAttribute: "attribute",
        esriMosaicLockRaster: "lock-raster",
        esriMosaicNorthwest: "northwest",
        esriMosaicSeamline: "seamline"
      });
      return function (e) {
        function t(t) {
          var r = e.call(this, t) || this;
          return r.ascending = !0, r.itemRenderingRule = null, r.lockRasterIds = null, r.method = null, r.multidimensionalDefinition = null, r.objectIds = null, r.operation = null, r.sortField = null, r.sortValue = null, r.viewpoint = null, r.where = null, r;
        }

        r(t, e), i = t, t.prototype.readAscending = function (e, t) {
          return null != t.ascending ? t.ascending : null == t.sortAscending || t.sortAscending;
        }, t.prototype.readMethod = function (e, t) {
          return d(t.mosaicMethod || t.defaultMosaicMethod);
        }, t.prototype.readOperation = function (e, t) {
          var r = t.mosaicOperation,
              o = t.mosaicOperator && t.mosaicOperator.toLowerCase(),
              i = r || (o ? u.toJSON(o) : null);
          return u.fromJSON(i) || "first";
        }, t.prototype.castSortValue = function (e) {
          return null == e || "string" == typeof e || "number" == typeof e ? e : "" + e;
        }, t.prototype.clone = function () {
          return new i({
            ascending: this.ascending,
            itemRenderingRule: s.clone(this.itemRenderingRule),
            lockRasterIds: s.clone(this.lockRasterIds),
            method: this.method,
            multidimensionalDefinition: s.clone(this.multidimensionalDefinition),
            objectIds: s.clone(this.objectIds),
            operation: this.operation,
            sortField: this.sortField,
            sortValue: this.sortValue,
            viewpoint: s.clone(this.viewpoint),
            where: this.where
          });
        };
        var i;
        return o([a.property({
          type: Boolean,
          json: {
            write: !0
          }
        })], t.prototype, "ascending", void 0), o([a.reader("ascending", ["ascending", "sortAscending"])], t.prototype, "readAscending", null), o([a.property({
          type: l,
          json: {
            write: !0
          }
        })], t.prototype, "itemRenderingRule", void 0), o([a.property({
          type: [Number],
          json: {
            write: {
              overridePolicy: function overridePolicy() {
                return {
                  enabled: "lock-raster" === this.method
                };
              }
            }
          }
        })], t.prototype, "lockRasterIds", void 0), o([a.property({
          type: String,
          json: {
            type: y.jsonValues,
            write: {
              target: "mosaicMethod",
              writer: y.write
            }
          }
        })], t.prototype, "method", void 0), o([a.reader("method", ["mosaicMethod", "defaultMosaicMethod"])], t.prototype, "readMethod", null), o([a.property({
          type: [c],
          json: {
            write: !0
          }
        })], t.prototype, "multidimensionalDefinition", void 0), o([a.property({
          type: [Number],
          json: {
            read: {
              source: "fids"
            },
            write: {
              target: "fids"
            }
          }
        })], t.prototype, "objectIds", void 0), o([a.property({
          json: {
            type: u.jsonValues,
            read: {
              reader: u.read
            },
            write: {
              target: "mosaicOperation",
              writer: u.write
            }
          }
        })], t.prototype, "operation", void 0), o([a.reader("operation", ["mosaicOperation", "mosaicOperator"])], t.prototype, "readOperation", null), o([a.property({
          type: String,
          json: {
            write: {
              overridePolicy: function overridePolicy() {
                return {
                  enabled: "attribute" === this.method
                };
              }
            }
          }
        })], t.prototype, "sortField", void 0), o([a.property({
          type: [String, Number],
          json: {
            write: {
              allowNull: !0,
              overridePolicy: function overridePolicy() {
                return {
                  enabled: "attribute" === this.method,
                  allowNull: !0
                };
              }
            }
          }
        })], t.prototype, "sortValue", void 0), o([a.cast("sortValue")], t.prototype, "castSortValue", null), o([a.property({
          type: p,
          json: {
            write: !0
          }
        })], t.prototype, "viewpoint", void 0), o([a.property({
          type: String,
          json: {
            write: !0
          }
        })], t.prototype, "where", void 0), t = i = o([a.subclass("esri.layers.support.MosaicRule")], t);
      }(a.declared(n.JSONSupport));
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/layers/support/RasterFunction.js":
  /*!*********************************************************************!*\
    !*** ./node_modules/arcgis-js-api/layers/support/RasterFunction.js ***!
    \*********************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiLayersSupportRasterFunctionJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../core/tsSupport/declareExtendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! ../../core/iteratorUtils */
    "./node_modules/arcgis-js-api/core/iteratorUtils.js"), __webpack_require__(
    /*! ../../core/JSONSupport */
    "./node_modules/arcgis-js-api/core/JSONSupport.js"), __webpack_require__(
    /*! ../../core/lang */
    "./node_modules/arcgis-js-api/core/lang.js"), __webpack_require__(
    /*! ../../core/accessorSupport/decorators */
    "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (t, n, e, r, o, i, u, a) {
      var p,
          c = o.createSetFromValues(["Raster", "Raster2", "DEM", "FillRaster"]),
          s = o.createSetFromValues(["Rasters"]),
          l = function l(t) {
        return t && t.rasterFunction ? m.fromJSON(t) : t;
      },
          f = function f(t) {
        return t && t instanceof m ? t.toJSON() : t;
      };

      !function (t) {
        t[t.MOSAIC = 0] = "MOSAIC", t[t.GROUP = 1] = "GROUP", t[t.ITEM = 2] = "ITEM";
      }(p || (p = {}));

      var y = function y(t) {
        if (null == t) return null;

        for (var n = {}, e = 0, r = Object.keys(t); e < r.length; e++) {
          var o = r[e];
          c.has(o) ? n[o] = l(t[o]) : s.has(o) && Array.isArray(t[o]) ? n[o] = t[o].map(l) : n[o] = t[o];
        }

        return n;
      },
          m = function (t) {
        function n(n) {
          var e = t.call(this, n) || this;
          return e.functionArguments = null, e.functionName = null, e.outputPixelType = "unknown", e.variableName = null, e.description = null, e.functionDefinition = null, e.thumbnail = null, e;
        }

        e(n, t), o = n, n.prototype.readFunctionArguments = function (t, n) {
          return t = n.arguments || n.rasterFunctionArguments, y(t);
        }, n.prototype.writeFunctionArguments = function (t, n, e) {
          for (var r = {}, o = 0, i = Object.keys(t); o < i.length; o++) {
            var u = i[o];
            c.has(u) ? r[u] = f(t[u]) : s.has(u) && Array.isArray(t[u]) ? r[u] = t[u].map(f) : r[u] = f(t[u]);
          }

          this.functionDefinition ? n.arguments = r : n[e] = r;
        }, n.prototype.readFunctionName = function (t, n) {
          var e = n.rasterFunctionInfos,
              r = n.name;
          return r || (e && e.length && "None" !== e[0].name ? e[0].name : n.rasterFunction);
        }, n.prototype.writeFunctionName = function (t, n, e) {
          this.functionDefinition ? n.name = t : n[e] = t;
        }, n.prototype.readFunctionType = function (t) {
          return p[t];
        }, n.prototype.writeFunctionType = function (t, n, e) {
          n[e] = p[t];
        }, n.prototype.clone = function () {
          return new o({
            functionName: this.functionName,
            functionArguments: u.clone(this.functionArguments),
            outputPixelType: this.outputPixelType,
            variableName: this.variableName,
            name: this.functionName,
            description: this.description,
            functionType: this.functionType,
            functionDefinition: this.functionDefinition,
            thumbnail: this.thumbnail
          });
        };
        var o;
        return r([a.property({
          json: {
            type: Object,
            write: {
              target: "rasterFunctionArguments"
            }
          }
        })], n.prototype, "functionArguments", void 0), r([a.reader("functionArguments", ["rasterFunctionArguments", "arguments"])], n.prototype, "readFunctionArguments", null), r([a.writer("functionArguments")], n.prototype, "writeFunctionArguments", null), r([a.property({
          json: {
            type: String,
            write: {
              target: "rasterFunction"
            }
          }
        })], n.prototype, "functionName", void 0), r([a.reader("functionName", ["rasterFunction", "rasterFunctionInfos", "name"])], n.prototype, "readFunctionName", null), r([a.writer("functionName")], n.prototype, "writeFunctionName", null), r([a.enumeration.serializable()({
          C128: "c128",
          C64: "c64",
          F32: "f32",
          F64: "f64",
          S16: "s16",
          S32: "s32",
          S8: "s8",
          U1: "u1",
          U16: "u16",
          U2: "u2",
          U32: "u32",
          U4: "u4",
          U8: "u8",
          UNKNOWN: "unknown"
        }, {
          ignoreUnknown: !1
        }), a.property({
          json: {
            "default": "unknown"
          }
        })], n.prototype, "outputPixelType", void 0), r([a.property({
          type: String,
          json: {
            read: !0,
            write: !0
          }
        })], n.prototype, "variableName", void 0), r([a.property({
          type: String,
          json: {
            read: !0,
            write: !0
          }
        })], n.prototype, "description", void 0), r([a.property()], n.prototype, "functionType", void 0), r([a.reader("functionType")], n.prototype, "readFunctionType", null), r([a.writer("functionType")], n.prototype, "writeFunctionType", null), r([a.property({
          type: Object,
          json: {
            read: {
              source: "function"
            },
            write: {
              target: "function"
            }
          }
        })], n.prototype, "functionDefinition", void 0), r([a.property({
          type: String,
          json: {
            read: !0,
            write: !0
          }
        })], n.prototype, "thumbnail", void 0), n = o = r([a.subclass("esri.layers.support.RasterFunction")], n);
      }(a.declared(i.JSONSupport));

      return m;
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/layers/support/RasterInfo.js":
  /*!*****************************************************************!*\
    !*** ./node_modules/arcgis-js-api/layers/support/RasterInfo.js ***!
    \*****************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiLayersSupportRasterInfoJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../core/tsSupport/assignHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/assignHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/declareExtendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! ../../core/JSONSupport */
    "./node_modules/arcgis-js-api/core/JSONSupport.js"), __webpack_require__(
    /*! ../../core/accessorSupport/decorators */
    "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js"), __webpack_require__(
    /*! ../../geometry/Extent */
    "./node_modules/arcgis-js-api/geometry/Extent.js"), __webpack_require__(
    /*! ../../tasks/support/FeatureSet */
    "./node_modules/arcgis-js-api/tasks/support/FeatureSet.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, o, p, i, n, s, l) {
      return function (e) {
        function t(t) {
          var r = e.call(this, t) || this;
          return r.attributeTable = null, r.bandCount = null, r.colormap = null, r.extent = null, r.format = void 0, r.histograms = null, r.keyProperties = null, r.multidimensionalInfo = null, r.pixelSize = null, r.pixelType = null, r.spatialReference = null, r.statistics = null, r;
        }

        return o(t, e), Object.defineProperty(t.prototype, "dataType", {
          get: function get() {
            var e = this.keyProperties && this.keyProperties.DataType;
            return e ? e.toLowerCase() : "generic";
          },
          enumerable: !0,
          configurable: !0
        }), p([n.property({
          type: l,
          json: {
            write: !0
          }
        })], t.prototype, "attributeTable", void 0), p([n.property({
          json: {
            write: !0
          }
        })], t.prototype, "bandCount", void 0), p([n.property({
          json: {
            write: !0
          }
        })], t.prototype, "colormap", void 0), p([n.property({
          type: String,
          readOnly: !0
        })], t.prototype, "dataType", null), p([n.property({
          type: s,
          json: {
            write: !0
          }
        })], t.prototype, "extent", void 0), p([n.property({
          json: {
            write: !0
          }
        })], t.prototype, "format", void 0), p([n.property({
          json: {
            write: !0
          }
        })], t.prototype, "histograms", void 0), p([n.property({
          json: {
            write: !0
          }
        })], t.prototype, "keyProperties", void 0), p([n.property({
          json: {
            write: !0
          }
        })], t.prototype, "multidimensionalInfo", void 0), p([n.property({
          json: {
            write: !0
          }
        })], t.prototype, "pixelSize", void 0), p([n.property({
          json: {
            write: !0
          }
        })], t.prototype, "pixelType", void 0), p([n.property({
          json: {
            write: !0
          }
        })], t.prototype, "spatialReference", void 0), p([n.property({
          json: {
            write: !0
          }
        })], t.prototype, "statistics", void 0), t = p([n.subclass("esri.layers.support.RasterInfo")], t);
      }(n.declared(i.JSONSupport));
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/layers/support/RasterJobHandler.js":
  /*!***********************************************************************!*\
    !*** ./node_modules/arcgis-js-api/layers/support/RasterJobHandler.js ***!
    \***********************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiLayersSupportRasterJobHandlerJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../core/tsSupport/generatorHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/generatorHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/awaiterHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/awaiterHelper.js"), __webpack_require__(
    /*! ../../core/Error */
    "./node_modules/arcgis-js-api/core/Error.js"), __webpack_require__(
    /*! ../../core/promiseUtils */
    "./node_modules/arcgis-js-api/core/promiseUtils.js"), __webpack_require__(
    /*! ../../core/requireUtils */
    "./node_modules/arcgis-js-api/core/requireUtils.js"), __webpack_require__(
    /*! ../../core/workers */
    "./node_modules/arcgis-js-api/core/workers.js"), __webpack_require__(
    /*! ./PixelBlock */
    "./node_modules/arcgis-js-api/layers/support/PixelBlock.js"), __webpack_require__.dj.m(module)], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, r, t, o, n, i, s, a, c, h) {
      return function () {
        function r() {
          this._workerThread = null, this._destroyed = !1;
        }

        return r.prototype.initialize = function () {
          return o(this, void 0, void 0, function () {
            var r;
            return t(this, function (t) {
              switch (t.label) {
                case 0:
                  return [4, a.open(s.getAbsMid("./RasterWorker", e, h))];

                case 1:
                  return r = t.sent(), this._destroyed ? r.close() : this._workerThread = r, [2];
              }
            });
          });
        }, r.prototype.destroy = function () {
          this._destroyed = !0, this._workerThread && (this._workerThread.close(), this._workerThread = null);
        }, r.prototype.decode = function (e, r) {
          return o(this, void 0, void 0, function () {
            var o;
            return t(this, function (t) {
              switch (t.label) {
                case 0:
                  if (!this._workerThread) throw new n("raster-jobhandler:no-connection", "no available worker connection");
                  return [4, this._workerThread.invoke("decode", e, r)];

                case 1:
                  return o = t.sent(), [2, o ? new c(o) : null];
              }
            });
          });
        }, r.prototype.symbolize = function (e, r) {
          return o(this, void 0, void 0, function () {
            var o;
            return t(this, function (t) {
              switch (t.label) {
                case 0:
                  if (!this._workerThread) throw new n("raster-jobhandler:no-connection", "no available worker connection");
                  return [4, this._workerThread.invoke("symbolize", e.toJSON(), r)];

                case 1:
                  return o = t.sent(), [2, o ? new c(o) : null];
              }
            });
          });
        }, r.prototype.updateSymbolizer = function (e, r) {
          return o(this, void 0, void 0, function () {
            var o;
            return t(this, function (t) {
              switch (t.label) {
                case 0:
                  if (!this._workerThread) throw new n("raster-jobhandler:no-connection", "no available worker connection");
                  return o = e && e.renderer && "raster-stretch" === e.renderer.type && e.renderer.histograms, [4, i.all(this._workerThread.broadcast("updateSymbolizer", {
                    symbolizerJSON: e.toJSON(),
                    histograms: o
                  }, r))];

                case 1:
                  return t.sent(), [2];
              }
            });
          });
        }, r;
      }();
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/layers/support/imageryRendererUtils.js":
  /*!***************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/layers/support/imageryRendererUtils.js ***!
    \***************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiLayersSupportImageryRendererUtilsJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../rasterRenderers */
    "./node_modules/arcgis-js-api/rasterRenderers.js"), __webpack_require__(
    /*! ../../core/arrayUtils */
    "./node_modules/arcgis-js-api/core/arrayUtils.js"), __webpack_require__(
    /*! ../../core/lang */
    "./node_modules/arcgis-js-api/core/lang.js"), __webpack_require__(
    /*! ./RasterFunction */
    "./node_modules/arcgis-js-api/layers/support/RasterFunction.js"), __webpack_require__(
    /*! ../../renderers/support/colorRampUtils */
    "./node_modules/arcgis-js-api/renderers/support/colorRampUtils.js"), __webpack_require__(
    /*! ../../renderers/support/stretchRendererUtils */
    "./node_modules/arcgis-js-api/renderers/support/stretchRendererUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, r, t, n, a, o, i, u) {
      function s(e) {
        var r = e.type;
        return "raster-stretch" === r || "unique-value" === r || "class-breaks" === r;
      }

      function l(e, r) {
        if (!e || !r) return a.clone(e || r);
        var t = a.clone(e);

        if ("none" !== r.functionName.toLowerCase()) {
          p(t.functionArguments).Raster = r;
        }

        return t;
      }

      function m(e, r) {
        switch (r = r || {}, e.type) {
          case "raster-stretch":
            return d(e, r);

          case "class-breaks":
            return v(e, r);

          case "unique-value":
            return b(e, r);

          case "raster-colormap":
            return R(e, r);
        }
      }

      function c(e, r) {
        if (e) {
          var n = e.attributeTable,
              a = e.dataType,
              o = e.bandCount,
              i = e.pixelType,
              u = e.colormap,
              s = e.statistics,
              l = e.histograms;
          r && r.length > 0 && (s = s ? r.map(function (e) {
            return s[e];
          }) : null, l = l ? r.map(function (e) {
            return l[e];
          }) : null);
          var m;
          if (1 === o && u && u.length > 0) m = t.RasterColormapRenderer.createFromColormap(u);else if (1 === o && n) {
            var c = n.fields.filter(function (e) {
              return "red" === e.name.toLowerCase();
            })[0],
                f = n.fields.filter(function (e) {
              return "green" === e.name.toLowerCase();
            })[0],
                p = n.fields.filter(function (e) {
              return "blue" === e.name.toLowerCase();
            })[0],
                d = n.fields.filter(function (e) {
              return "value" === e.name;
            })[0],
                v = n.fields.filter(function (e) {
              return "classname" === e.name.toLowerCase();
            })[0];
            v || (v = n.fields.filter(function (e) {
              return "string" === e.type;
            })[0]) || (v = d), c && f && p && v && (m = t.UniqueValueRenderer.fromJSON({
              field1: v.name,
              uniqueValueInfos: n.features.map(function (e) {
                return {
                  value: e.attributes[v.name],
                  label: e.attributes[v.name],
                  symbol: {
                    color: [e.attributes[c.name], e.attributes[f.name], e.attributes[p.name], 255],
                    type: "esriSFS",
                    style: "esriSFSSolid"
                  }
                };
              })
            }));
          } else {
            var g = void 0,
                C = !1,
                b = void 0,
                R = void 0,
                h = void 0;
            "u8" === i && "processed" === a ? (g = "min-max", s = s || [{
              min: 0,
              max: 255
            }, {
              min: 0,
              max: 255
            }, {
              min: 0,
              max: 255
            }]) : "u8" === i || "elevation" === a ? (g = "min-max", C = !s) : "scientific" === a ? (g = "min-max", C = !s, b = y) : l && l.length > 0 ? (g = "percent-clip", h = R = .25) : s ? g = "min-max" : (g = "percent-clip", C = !0), m = t.RasterStretchRenderer.fromJSON({
              stretchType: g,
              dra: C,
              colorRamp: b,
              min: 0,
              max: 255,
              statistics: C ? null : s,
              histograms: C ? null : l,
              maxPercent: R,
              minPercent: h
            });
          }
          return m;
        }
      }

      function f(e) {
        var r,
            t,
            n,
            a,
            o,
            i,
            u = e.keyProperties && e.keyProperties.BandProperties;

        if (e.bandCount >= 3) {
          if (u && u.length === e.bandCount) {
            for (r = 0; r < u.length; r++) u[r].BandName && "red" === u[r].BandName.toLowerCase() && (n = r), u[r].BandName && "green" === u[r].BandName.toLowerCase() && (a = r), u[r].BandName && "blue" === u[r].BandName.toLowerCase() && (o = r), u[r].BandName && "nearinfrared" === u[r].BandName.toLowerCase() && (i = r);

            void 0 !== n && void 0 !== a && void 0 !== o ? t = [n, a, o] : void 0 !== n && void 0 !== a && void 0 !== i && (t = [i, n, a]);
          }

          !t && e.bandCount > 3 && (t = [0, 1, 2]);
        }

        return t;
      }

      function p(e) {
        var r = e.Raster;
        return r && "esri.layers.support.RasterFunction" === r.declaredClass ? p(r.functionArguments) : e;
      }

      function d(e, r) {
        var t = new o();
        t.functionName = "Stretch";
        var n = N[u.stretchTypeJSONDict.toJSON(e.stretchType)],
            a = {
          StretchType: n,
          Statistics: e.statistics,
          DRA: e.dynamicRangeAdjustment,
          UseGamma: e.useGamma,
          Gamma: e.gamma,
          ComputeGamma: e.computeGamma
        };

        if (null != e.outputMin && (a.Min = e.outputMin), null != e.outputMax && (a.Max = e.outputMax), n === N.standardDeviation ? (a.NumberOfStandardDeviations = e.numberOfStandardDeviations, t.outputPixelType = "u8") : n === N.percentClip ? (a.MinPercent = e.minPercent, a.MaxPercent = e.maxPercent, t.outputPixelType = "u8") : n === N.minMax ? t.outputPixelType = "u8" : n === N.sigmoid && (a.SigmoidStrengthLevel = e.sigmoidStrengthLevel), t.functionArguments = a, t.variableName = "Raster", e.colorRamp) {
          var s = e.colorRamp,
              l = new o(),
              m = i.getColorRampName(s);
          return m ? l.functionArguments = {
            colorRamp: m
          } : !r.convertColorRampToColormap || "algorithmic" !== s.type && "multipart" !== s.type ? l.functionArguments = {
            colorRamp: e.colorRamp.toJSON()
          } : l.functionArguments = {
            Colormap: i.convertColorRampToColormap(s, 256)
          }, l.variableName = "Raster", l.functionName = "Colormap", l.functionArguments.Raster = t, l;
        }

        return t;
      }

      function v(e, r) {
        var t = [],
            n = [],
            a = [],
            i = [],
            u = r.pixelType,
            s = r.rasterAttributeTable,
            l = s && s.features,
            m = C(s);

        if (l && Array.isArray(l) && e.classBreakInfos) {
          e.classBreakInfos.forEach(function (r, t) {
            var n,
                a = r.symbol.color;
            a.a && l.forEach(function (o) {
              ((n = o.attributes[e.field]) >= r.minValue && n < r.maxValue || t === e.classBreakInfos.length - 1 && n >= r.minValue) && i.push([o.attributes[m], a.r, a.g, a.b]);
            });
          });
          var c = u ? g(i, u) : i,
              f = new o();
          return f.functionName = "Colormap", f.functionArguments = {}, f.functionArguments.Colormap = c, f.variableName = "Raster", f;
        }

        e.classBreakInfos.forEach(function (e, r) {
          var o = e.symbol && e.symbol.color;
          o.a ? (0 === r ? t.push(e.minValue, e.maxValue + 1e-6) : t.push(e.minValue + 1e-6, e.maxValue + 1e-6), n.push(r), i.push([r, o.r, o.g, o.b])) : a.push(e.minValue, e.maxValue);
        });
        var p = u ? g(i, u) : i,
            d = new o();
        d.functionName = "Remap", d.functionArguments = {
          InputRanges: t,
          OutputValues: n,
          NoDataRanges: a
        }, d.variableName = "Raster";
        var v = new o();
        return v.functionName = "Colormap", v.functionArguments = {
          Colormap: p,
          Raster: d
        }, v;
      }

      function g(e, r) {
        var t = h[String(r).toLowerCase()];
        return t && e.push([Math.floor(t[0] - 1), 0, 0, 0], [Math.ceil(t[1] + 1), 0, 0, 0]), e;
      }

      function C(e) {
        if (e) {
          var r = e.fields,
              t = r && n.find(r, function (e) {
            return e && e.name && "value" === e.name.toLowerCase();
          });
          return t && t.name;
        }
      }

      function b(e, r) {
        var t = [],
            n = r.pixelType,
            a = r.rasterAttributeTable,
            i = a && a.features,
            u = C(a),
            s = !1;
        if (e.uniqueValueInfos && e.uniqueValueInfos.forEach(function (r) {
          var n = r.symbol.color;
          n.a && (e.field !== u && i ? i && i.forEach(function (a) {
            String(a.attributes[e.field]) === String(r.value) && t.push([a.attributes[u], n.r, n.g, n.b]);
          }) : isNaN(r.value) ? s = !0 : t.push([r.value, n.r, n.g, n.b]));
        }), s) return null;
        var l = n && t.length > 0 ? g(t, n) : t,
            m = new o();
        return m.functionName = "Colormap", m.functionArguments = {}, m.functionArguments.Colormap = l, m.variableName = "Raster", m;
      }

      function R(e, r) {
        var t = e.extractColormap();

        if (t && 0 !== t.length) {
          var n = r.pixelType,
              a = n ? g(t, n) : t,
              i = new o();
          return i.functionName = "Colormap", i.functionArguments = {}, i.functionArguments.Colormap = a, i;
        }
      }

      Object.defineProperty(r, "__esModule", {
        value: !0
      });
      var h = {
        u1: [0, 1],
        u2: [0, 3],
        u4: [0, 15],
        u8: [0, 255],
        s8: [-128, 127],
        u16: [0, 65535],
        s16: [-32768, 32767]
      },
          y = {
        type: "multipart",
        colorRamps: [{
          fromColor: [0, 0, 255],
          toColor: [0, 255, 255]
        }, {
          fromColor: [0, 255, 255],
          toColor: [255, 255, 0]
        }, {
          fromColor: [255, 255, 0],
          toColor: [255, 0, 0]
        }]
      };
      r.isSupportedRendererType = s, r.combineRenderingRules = l, r.convertRendererToRenderingRule = m, r.createDefaultRenderer = c, r.getDefaultBandCombination = f;
      var N = {
        none: 0,
        standardDeviation: 3,
        histogramEqualization: 4,
        minMax: 5,
        percentClip: 6,
        sigmoid: 9
      };
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/layers/support/rasterFormats/ImageCanvasDecoder.js":
  /*!***************************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/layers/support/rasterFormats/ImageCanvasDecoder.js ***!
    \***************************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiLayersSupportRasterFormatsImageCanvasDecoderJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../../core/Error */
    "./node_modules/arcgis-js-api/core/Error.js"), __webpack_require__(
    /*! ../../../core/promiseUtils */
    "./node_modules/arcgis-js-api/core/promiseUtils.js"), __webpack_require__(
    /*! ../../../core/promiseUtils */
    "./node_modules/arcgis-js-api/core/promiseUtils.js"), __webpack_require__(
    /*! ./Zlib */
    "./node_modules/arcgis-js-api/layers/support/rasterFormats/Zlib.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, a, r, n, i) {
      return function () {
        function e(e) {
          e && (this.canvas = e.canvas, this.ctx = e.ctx || e.canvas && e.canvas.getContext("2d"));
        }

        return e.getFormat = function (e) {
          if (!e || e.byteLength < 10) return "";
          var t = new Uint8Array(e, 0, 10),
              a = "";
          return 255 === t[0] && 216 === t[1] ? a = "jpeg" : 137 === t[0] && 80 === t[1] && 78 === t[2] && 71 === t[3] && (a = "png"), a;
        }, e.prototype.decode = function (t, i, c) {
          var o = this;
          if (!t || t.byteLength < 10) throw new a("imagecanvasdecoder: decode", "required a valid encoded data as input.");
          var d = e.getFormat(t);
          if ("" === d) throw new a("imagecanvasdecoder: decode", "encoded data format is not a supported format (jpeg or png).");
          var s = i.width,
              g = i.height,
              h = i.applyJpegMask;
          if (h && (!s || !g)) throw new a("imagecanvasdecoder: decode", "image width and height are needed to apply jpeg mask directly to canvas");
          return r.create(function (a, v) {
            var u = null;
            "jpeg" === d && h && (u = e.getMask(t, i));
            var f,
                l = new Blob([new Uint8Array(t)], {
              type: "image/" + d
            }),
                w = URL.createObjectURL(l),
                p = new Image();
            p.src = w, p.onload = function () {
              if (URL.revokeObjectURL(w), r.isAborted(c)) return void v(n.createAbortError());
              s = p.width, g = p.height, o.canvas ? (o.canvas.width === s && o.canvas.height === g || (o.canvas.width = s, o.canvas.height = g), o.ctx.clearRect(0, 0, s, g)) : (o.canvas = document.createElement("canvas"), o.canvas.width = s, o.canvas.height = g, o.ctx = o.canvas.getContext("2d")), o.ctx.drawImage(p, 0, 0);
              var e = o.ctx.getImageData(0, 0, s, g);
              f = e.data;
              var t;

              if (i.renderOnCanvas) {
                if (u) for (t = 0; t < u.length; t++) u[t] ? f[4 * t + 3] = 255 : f[4 * t + 3] = 0;
                return o.ctx.putImageData(e, 0, 0), void a(null);
              }

              var d = s * g,
                  h = new Uint8Array(d),
                  l = new Uint8Array(d),
                  m = new Uint8Array(d);
              if (u) for (t = 0; t < d; t++) h[t] = f[4 * t], l[t] = f[4 * t + 1], m[t] = f[4 * t + 2];else for (u = new Uint8Array(d), t = 0; t < d; t++) h[t] = f[4 * t], l[t] = f[4 * t + 1], m[t] = f[4 * t + 2], u[t] = f[4 * t + 3];
              a({
                width: s,
                height: g,
                pixels: [h, l, m],
                mask: u,
                pixelType: "u8"
              });
            }, p.onerror = function () {
              URL.revokeObjectURL(w), v("cannot load image");
            };
          });
        }, e.getMask = function (e, t) {
          var a = null;

          try {
            var r = new Uint8Array(e),
                n = Math.ceil(r.length / 2),
                c = 0,
                o = r.length - 2;

            for (c = n; c < o && (255 !== r[c] || 217 !== r[c + 1]); c++);

            if ((c += 2) < r.length - 1) {
              var d = new i(r.subarray(c)),
                  s = d.getBytes();
              a = new Uint8Array(t.width * t.height);

              for (var g = 0, h = 0; h < s.length; h++) for (var v = 7; v >= 0; v--) a[g++] = s[h] >> v & 1;
            }
          } catch (e) {}

          return a;
        }, e;
      }();
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/layers/support/rasterFormats/Jpg.js":
  /*!************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/layers/support/rasterFormats/Jpg.js ***!
    \************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiLayersSupportRasterFormatsJpgJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.

    /* Copyright 2014 Mozilla Foundation
     *
     * Licensed under the Apache License, Version 2.0 (the 'License');
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     *     http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an 'AS IS' BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () {
      "use strict";

      var e = function () {
        function e(e) {
          this.message = "JPEG error: " + e;
        }

        return e.prototype = new Error(), e.prototype.name = "JpegError", e.constructor = e, e;
      }();

      return function () {
        function n() {
          this.decodeTransform = null, this.colorTransform = -1;
        }

        function r(e, n) {
          for (var r, o, a = 0, t = [], i = 16; i > 0 && !e[i - 1];) i--;

          t.push({
            children: [],
            index: 0
          });
          var s,
              c = t[0];

          for (r = 0; r < i; r++) {
            for (o = 0; o < e[r]; o++) {
              for (c = t.pop(), c.children[c.index] = n[a]; c.index > 0;) c = t.pop();

              for (c.index++, t.push(c); t.length <= r;) t.push(s = {
                children: [],
                index: 0
              }), c.children[c.index] = s.children, c = s;

              a++;
            }

            r + 1 < i && (t.push(s = {
              children: [],
              index: 0
            }), c.children[c.index] = s.children, c = s);
          }

          return t[0].children;
        }

        function o(e, n, r) {
          return 64 * ((e.blocksPerLine + 1) * n + r);
        }

        function a(n, r, a, t, i, f, l, u, h) {
          function v() {
            if (M > 0) return M--, I >> M & 1;

            if (255 === (I = n[r++])) {
              var o = n[r++];
              if (o) throw new e("unexpected marker " + (I << 8 | o).toString(16));
            }

            return M = 7, I >>> 7;
          }

          function m(n) {
            for (var r = n;;) {
              if ("number" == typeof (r = r[v()])) return r;
              if ("object" != typeof r) throw new e("invalid huffman sequence");
            }
          }

          function d(e) {
            for (var n = 0; e > 0;) n = n << 1 | v(), e--;

            return n;
          }

          function b(e) {
            if (1 === e) return 1 === v() ? 1 : -1;
            var n = d(e);
            return n >= 1 << e - 1 ? n : n + (-1 << e) + 1;
          }

          function p(e, n) {
            var r = m(e.huffmanTableDC),
                o = 0 === r ? 0 : b(r);
            e.blockData[n] = e.pred += o;

            for (var a = 1; a < 64;) {
              var t = m(e.huffmanTableAC),
                  i = 15 & t,
                  s = t >> 4;

              if (0 !== i) {
                a += s;
                var f = c[a];
                e.blockData[n + f] = b(i), a++;
              } else {
                if (s < 15) break;
                a += 16;
              }
            }
          }

          function k(e, n) {
            var r = m(e.huffmanTableDC),
                o = 0 === r ? 0 : b(r) << h;
            e.blockData[n] = e.pred += o;
          }

          function g(e, n) {
            e.blockData[n] |= v() << h;
          }

          function C(e, n) {
            if (Y > 0) return void Y--;

            for (var r = f, o = l; r <= o;) {
              var a = m(e.huffmanTableAC),
                  t = 15 & a,
                  i = a >> 4;

              if (0 !== t) {
                r += i;
                var s = c[r];
                e.blockData[n + s] = b(t) * (1 << h), r++;
              } else {
                if (i < 15) {
                  Y = d(i) + (1 << i) - 1;
                  break;
                }

                r += 16;
              }
            }
          }

          function w(n, r) {
            for (var o, a, t = f, i = l, s = 0; t <= i;) {
              var u = c[t];

              switch (q) {
                case 0:
                  if (a = m(n.huffmanTableAC), o = 15 & a, s = a >> 4, 0 === o) s < 15 ? (Y = d(s) + (1 << s), q = 4) : (s = 16, q = 1);else {
                    if (1 !== o) throw new e("invalid ACn encoding");
                    y = b(o), q = s ? 2 : 3;
                  }
                  continue;

                case 1:
                case 2:
                  n.blockData[r + u] ? n.blockData[r + u] += v() << h : 0 === --s && (q = 2 === q ? 3 : 0);
                  break;

                case 3:
                  n.blockData[r + u] ? n.blockData[r + u] += v() << h : (n.blockData[r + u] = y << h, q = 0);
                  break;

                case 4:
                  n.blockData[r + u] && (n.blockData[r + u] += v() << h);
              }

              t++;
            }

            4 === q && 0 === --Y && (q = 0);
          }

          var y,
              D,
              T,
              x,
              P,
              L,
              A,
              _ = a.mcusPerLine,
              U = a.progressive,
              z = r,
              I = 0,
              M = 0,
              Y = 0,
              q = 0,
              S = t.length;
          A = U ? 0 === f ? 0 === u ? k : g : 0 === u ? C : w : p;
          var R,
              H,
              E = 0;
          H = 1 === S ? t[0].blocksPerLine * t[0].blocksPerColumn : _ * a.mcusPerColumn;

          for (var V, j; E < H;) {
            var B = i ? Math.min(H - E, i) : H;

            for (T = 0; T < S; T++) t[T].pred = 0;

            if (Y = 0, 1 === S) for (D = t[0], L = 0; L < B; L++) !function (e, n, r) {
              n(e, o(e, r / e.blocksPerLine | 0, r % e.blocksPerLine));
            }(D, A, E), E++;else for (L = 0; L < B; L++) {
              for (T = 0; T < S; T++) for (D = t[T], V = D.h, j = D.v, x = 0; x < j; x++) for (P = 0; P < V; P++) !function (e, n, r, a, t) {
                var i = r / _ | 0,
                    s = r % _;
                n(e, o(e, i * e.v + a, s * e.h + t));
              }(D, A, E, x, P);

              E++;
            }
            M = 0, R = s(n, r), R && R.invalid && (console.log("decodeScan - unexpected MCU data, next marker is: " + R.invalid), r = R.offset);
            var J = R && R.marker;
            if (!J || J <= 65280) throw new e("marker was not found");
            if (!(J >= 65488 && J <= 65495)) break;
            r += 2;
          }

          return R = s(n, r), R && R.invalid && (console.log("decodeScan - unexpected Scan data, next marker is: " + R.invalid), r = R.offset), r - z;
        }

        function t(n, r, o) {
          var a,
              t,
              i,
              s,
              c,
              p,
              k,
              g,
              C,
              w,
              y,
              D,
              T,
              x,
              P,
              L,
              A,
              _ = n.quantizationTable,
              U = n.blockData;
          if (!_) throw new e("missing required Quantization Table.");

          for (var z = 0; z < 64; z += 8) C = U[r + z], w = U[r + z + 1], y = U[r + z + 2], D = U[r + z + 3], T = U[r + z + 4], x = U[r + z + 5], P = U[r + z + 6], L = U[r + z + 7], C *= _[z], 0 != (w | y | D | T | x | P | L) ? (w *= _[z + 1], y *= _[z + 2], D *= _[z + 3], T *= _[z + 4], x *= _[z + 5], P *= _[z + 6], L *= _[z + 7], a = d * C + 128 >> 8, t = d * T + 128 >> 8, i = y, s = P, c = b * (w - L) + 128 >> 8, g = b * (w + L) + 128 >> 8, p = D << 4, k = x << 4, a = a + t + 1 >> 1, t = a - t, A = i * m + s * v + 128 >> 8, i = i * v - s * m + 128 >> 8, s = A, c = c + k + 1 >> 1, k = c - k, g = g + p + 1 >> 1, p = g - p, a = a + s + 1 >> 1, s = a - s, t = t + i + 1 >> 1, i = t - i, A = c * h + g * u + 2048 >> 12, c = c * u - g * h + 2048 >> 12, g = A, A = p * l + k * f + 2048 >> 12, p = p * f - k * l + 2048 >> 12, k = A, o[z] = a + g, o[z + 7] = a - g, o[z + 1] = t + k, o[z + 6] = t - k, o[z + 2] = i + p, o[z + 5] = i - p, o[z + 3] = s + c, o[z + 4] = s - c) : (A = d * C + 512 >> 10, o[z] = A, o[z + 1] = A, o[z + 2] = A, o[z + 3] = A, o[z + 4] = A, o[z + 5] = A, o[z + 6] = A, o[z + 7] = A);

          for (var I = 0; I < 8; ++I) C = o[I], w = o[I + 8], y = o[I + 16], D = o[I + 24], T = o[I + 32], x = o[I + 40], P = o[I + 48], L = o[I + 56], 0 != (w | y | D | T | x | P | L) ? (a = d * C + 2048 >> 12, t = d * T + 2048 >> 12, i = y, s = P, c = b * (w - L) + 2048 >> 12, g = b * (w + L) + 2048 >> 12, p = D, k = x, a = 4112 + (a + t + 1 >> 1), t = a - t, A = i * m + s * v + 2048 >> 12, i = i * v - s * m + 2048 >> 12, s = A, c = c + k + 1 >> 1, k = c - k, g = g + p + 1 >> 1, p = g - p, a = a + s + 1 >> 1, s = a - s, t = t + i + 1 >> 1, i = t - i, A = c * h + g * u + 2048 >> 12, c = c * u - g * h + 2048 >> 12, g = A, A = p * l + k * f + 2048 >> 12, p = p * f - k * l + 2048 >> 12, k = A, C = a + g, L = a - g, w = t + k, P = t - k, y = i + p, x = i - p, D = s + c, T = s - c, C = C < 16 ? 0 : C >= 4080 ? 255 : C >> 4, w = w < 16 ? 0 : w >= 4080 ? 255 : w >> 4, y = y < 16 ? 0 : y >= 4080 ? 255 : y >> 4, D = D < 16 ? 0 : D >= 4080 ? 255 : D >> 4, T = T < 16 ? 0 : T >= 4080 ? 255 : T >> 4, x = x < 16 ? 0 : x >= 4080 ? 255 : x >> 4, P = P < 16 ? 0 : P >= 4080 ? 255 : P >> 4, L = L < 16 ? 0 : L >= 4080 ? 255 : L >> 4, U[r + I] = C, U[r + I + 8] = w, U[r + I + 16] = y, U[r + I + 24] = D, U[r + I + 32] = T, U[r + I + 40] = x, U[r + I + 48] = P, U[r + I + 56] = L) : (A = d * C + 8192 >> 14, A = A < -2040 ? 0 : A >= 2024 ? 255 : A + 2056 >> 4, U[r + I] = A, U[r + I + 8] = A, U[r + I + 16] = A, U[r + I + 24] = A, U[r + I + 32] = A, U[r + I + 40] = A, U[r + I + 48] = A, U[r + I + 56] = A);
        }

        function i(e, n) {
          for (var r = n.blocksPerLine, a = n.blocksPerColumn, i = new Int16Array(64), s = 0; s < a; s++) for (var c = 0; c < r; c++) {
            var f = o(n, s, c);
            t(n, f, i);
          }

          return n.blockData;
        }

        function s(e, n, r) {
          function o(n) {
            return e[n] << 8 | e[n + 1];
          }

          var a = e.length - 1,
              t = r < n ? r : n;
          if (n >= a) return null;
          var i = o(n);
          if (i >= 65472 && i <= 65534) return {
            invalid: null,
            marker: i,
            offset: n
          };

          for (var s = o(t); !(s >= 65472 && s <= 65534);) {
            if (++t >= a) return null;
            s = o(t);
          }

          return {
            invalid: i.toString(16),
            marker: s,
            offset: t
          };
        }

        if (!self || !self.Uint8ClampedArray) return null;
        var c = new Uint8Array([0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63]),
            f = 4017,
            l = 799,
            u = 3406,
            h = 2276,
            v = 1567,
            m = 3784,
            d = 5793,
            b = 2896;
        return n.prototype = {
          parse: function parse(n) {
            function o() {
              var e = n[l] << 8 | n[l + 1];
              return l += 2, e;
            }

            var t,
                f,
                l = 0,
                u = null,
                h = null,
                v = [],
                m = [],
                d = [],
                b = o();
            if (65496 !== b) throw new e("SOI not found");

            for (b = o(); 65497 !== b;) {
              var p, k, g;

              switch (b) {
                case 65504:
                case 65505:
                case 65506:
                case 65507:
                case 65508:
                case 65509:
                case 65510:
                case 65511:
                case 65512:
                case 65513:
                case 65514:
                case 65515:
                case 65516:
                case 65517:
                case 65518:
                case 65519:
                case 65534:
                  var C = function () {
                    var e = o(),
                        r = l + e - 2,
                        a = s(n, r, l);
                    a && a.invalid && (console.log("readDataBlock - incorrect length, next marker is: " + a.invalid), r = a.offset);
                    var t = n.subarray(l, r);
                    return l += t.length, t;
                  }();

                  65504 === b && 74 === C[0] && 70 === C[1] && 73 === C[2] && 70 === C[3] && 0 === C[4] && (u = {
                    version: {
                      major: C[5],
                      minor: C[6]
                    },
                    densityUnits: C[7],
                    xDensity: C[8] << 8 | C[9],
                    yDensity: C[10] << 8 | C[11],
                    thumbWidth: C[12],
                    thumbHeight: C[13],
                    thumbData: C.subarray(14, 14 + 3 * C[12] * C[13])
                  }), 65518 === b && 65 === C[0] && 100 === C[1] && 111 === C[2] && 98 === C[3] && 101 === C[4] && (h = {
                    version: C[5] << 8 | C[6],
                    flags0: C[7] << 8 | C[8],
                    flags1: C[9] << 8 | C[10],
                    transformCode: C[11]
                  });
                  break;

                case 65499:
                  for (var w, y = o(), D = y + l - 2; l < D;) {
                    var T = n[l++],
                        x = new Uint16Array(64);
                    if (T >> 4 == 0) for (k = 0; k < 64; k++) w = c[k], x[w] = n[l++];else {
                      if (T >> 4 != 1) throw new e("DQT - invalid table spec");

                      for (k = 0; k < 64; k++) w = c[k], x[w] = o();
                    }
                    v[15 & T] = x;
                  }

                  break;

                case 65472:
                case 65473:
                case 65474:
                  if (t) throw new e("Only single frame JPEGs supported");
                  o(), t = {}, t.extended = 65473 === b, t.progressive = 65474 === b, t.precision = n[l++], t.scanLines = o(), t.samplesPerLine = o(), t.components = [], t.componentIds = {};
                  var P,
                      L = n[l++],
                      A = 0,
                      _ = 0;

                  for (p = 0; p < L; p++) {
                    P = n[l];
                    var U = n[l + 1] >> 4,
                        z = 15 & n[l + 1];
                    A < U && (A = U), _ < z && (_ = z);
                    var I = n[l + 2];
                    g = t.components.push({
                      h: U,
                      v: z,
                      quantizationId: I,
                      quantizationTable: null
                    }), t.componentIds[P] = g - 1, l += 3;
                  }

                  t.maxH = A, t.maxV = _, function (e) {
                    for (var n = Math.ceil(e.samplesPerLine / 8 / e.maxH), r = Math.ceil(e.scanLines / 8 / e.maxV), o = 0; o < e.components.length; o++) {
                      H = e.components[o];
                      var a = Math.ceil(Math.ceil(e.samplesPerLine / 8) * H.h / e.maxH),
                          t = Math.ceil(Math.ceil(e.scanLines / 8) * H.v / e.maxV),
                          i = n * H.h,
                          s = r * H.v,
                          c = 64 * s * (i + 1);
                      H.blockData = new Int16Array(c), H.blocksPerLine = a, H.blocksPerColumn = t;
                    }

                    e.mcusPerLine = n, e.mcusPerColumn = r;
                  }(t);
                  break;

                case 65476:
                  var M = o();

                  for (p = 2; p < M;) {
                    var Y = n[l++],
                        q = new Uint8Array(16),
                        S = 0;

                    for (k = 0; k < 16; k++, l++) S += q[k] = n[l];

                    var R = new Uint8Array(S);

                    for (k = 0; k < S; k++, l++) R[k] = n[l];

                    p += 17 + S, (Y >> 4 == 0 ? d : m)[15 & Y] = r(q, R);
                  }

                  break;

                case 65501:
                  o(), f = o();
                  break;

                case 65498:
                  o();
                  var H,
                      E = n[l++],
                      V = [];

                  for (p = 0; p < E; p++) {
                    var j = t.componentIds[n[l++]];
                    H = t.components[j];
                    var B = n[l++];
                    H.huffmanTableDC = d[B >> 4], H.huffmanTableAC = m[15 & B], V.push(H);
                  }

                  var J = n[l++],
                      N = n[l++],
                      G = n[l++],
                      O = a(n, l, t, V, f, J, N, G >> 4, 15 & G);
                  l += O;
                  break;

                case 65535:
                  255 !== n[l] && l--;
                  break;

                default:
                  if (255 === n[l - 3] && n[l - 2] >= 192 && n[l - 2] <= 254) {
                    l -= 3;
                    break;
                  }

                  throw new e("unknown marker " + b.toString(16));
              }

              b = o();
            }

            for (this.width = t.samplesPerLine, this.height = t.scanLines, this.jfif = u, this.eof = l, this.adobe = h, this.components = [], p = 0; p < t.components.length; p++) {
              H = t.components[p];
              var Q = v[H.quantizationId];
              Q && (H.quantizationTable = Q), this.components.push({
                output: i(t, H),
                scaleX: H.h / t.maxH,
                scaleY: H.v / t.maxV,
                blocksPerLine: H.blocksPerLine,
                blocksPerColumn: H.blocksPerColumn
              });
            }

            this.numComponents = this.components.length;
          },
          _getLinearizedBlockData: function _getLinearizedBlockData(e, n) {
            var r,
                o,
                a,
                t,
                i,
                s,
                c,
                f,
                l,
                u,
                h,
                v = this.width / e,
                m = this.height / n,
                d = 0,
                b = this.components.length,
                p = e * n * b,
                k = new Uint8ClampedArray(p),
                g = new Uint32Array(e);

            for (c = 0; c < b; c++) {
              for (r = this.components[c], o = r.scaleX * v, a = r.scaleY * m, d = c, h = r.output, t = r.blocksPerLine + 1 << 3, i = 0; i < e; i++) f = 0 | i * o, g[i] = (4294967288 & f) << 3 | 7 & f;

              for (s = 0; s < n; s++) for (f = 0 | s * a, u = t * (4294967288 & f) | (7 & f) << 3, i = 0; i < e; i++) k[d] = h[u + g[i]], d += b;
            }

            var C = this.decodeTransform;
            if (C) for (c = 0; c < p;) for (f = 0, l = 0; f < b; f++, c++, l += 2) k[c] = (k[c] * C[l] >> 8) + C[l + 1];
            return k;
          },
          _isColorConversionNeeded: function _isColorConversionNeeded() {
            return this.adobe ? !!this.adobe.transformCode : 3 === this.numComponents ? 0 !== this.colorTransform : 1 === this.colorTransform;
          },
          _convertYccToRgb: function _convertYccToRgb(e) {
            for (var n, r, o, a = 0, t = e.length; a < t; a += 3) n = e[a], r = e[a + 1], o = e[a + 2], e[a] = n - 179.456 + 1.402 * o, e[a + 1] = n + 135.459 - .344 * r - .714 * o, e[a + 2] = n - 226.816 + 1.772 * r;

            return e;
          },
          _convertYcckToRgb: function _convertYcckToRgb(e) {
            for (var n, r, o, a, t = 0, i = 0, s = e.length; i < s; i += 4) n = e[i], r = e[i + 1], o = e[i + 2], a = e[i + 3], e[t++] = r * (-660635669420364e-19 * r + .000437130475926232 * o - 54080610064599e-18 * n + .00048449797120281 * a - .154362151871126) - 122.67195406894 + o * (-.000957964378445773 * o + .000817076911346625 * n - .00477271405408747 * a + 1.53380253221734) + n * (.000961250184130688 * n - .00266257332283933 * a + .48357088451265) + a * (-.000336197177618394 * a + .484791561490776), e[t++] = 107.268039397724 + r * (219927104525741e-19 * r - .000640992018297945 * o + .000659397001245577 * n + .000426105652938837 * a - .176491792462875) + o * (-.000778269941513683 * o + .00130872261408275 * n + .000770482631801132 * a - .151051492775562) + n * (.00126935368114843 * n - .00265090189010898 * a + .25802910206845) + a * (-.000318913117588328 * a - .213742400323665), e[t++] = r * (-.000570115196973677 * r - 263409051004589e-19 * o + .0020741088115012 * n - .00288260236853442 * a + .814272968359295) - 20.810012546947 + o * (-153496057440975e-19 * o - .000132689043961446 * n + .000560833691242812 * a - .195152027534049) + n * (.00174418132927582 * n - .00255243321439347 * a + .116935020465145) + a * (-.000343531996510555 * a + .24165260232407);

            return e;
          },
          _convertYcckToCmyk: function _convertYcckToCmyk(e) {
            for (var n, r, o, a = 0, t = e.length; a < t; a += 4) n = e[a], r = e[a + 1], o = e[a + 2], e[a] = 434.456 - n - 1.402 * o, e[a + 1] = 119.541 - n + .344 * r + .714 * o, e[a + 2] = 481.816 - n - 1.772 * r;

            return e;
          },
          _convertCmykToRgb: function _convertCmykToRgb(e) {
            for (var n, r, o, a, t = 0, i = 0, s = e.length; i < s; i += 4) n = e[i] * (1 / 255), r = e[i + 1] * (1 / 255), o = e[i + 2] * (1 / 255), a = e[i + 3] * (1 / 255), e[t++] = 255 + n * (-4.387332384609988 * n + 54.48615194189176 * r + 18.82290502165302 * o + 212.25662451639585 * a - 285.2331026137004) + r * (1.7149763477362134 * r - 5.6096736904047315 * o - 17.873870861415444 * a - 5.497006427196366) + o * (-2.5217340131683033 * o - 21.248923337353073 * a + 17.5119270841813) - a * (21.86122147463605 * a + 189.48180835922747), e[t++] = 255 + n * (8.841041422036149 * n + 60.118027045597366 * r + 6.871425592049007 * o + 31.159100130055922 * a - 79.2970844816548) + r * (-15.310361306967817 * r + 17.575251261109482 * o + 131.35250912493976 * a - 190.9453302588951) + o * (4.444339102852739 * o + 9.8632861493405 * a - 24.86741582555878) - a * (20.737325471181034 * a + 187.80453709719578), e[t++] = 255 + n * (.8842522430003296 * n + 8.078677503112928 * r + 30.89978309703729 * o - .23883238689178934 * a - 14.183576799673286) + r * (10.49593273432072 * r + 63.02378494754052 * o + 50.606957656360734 * a - 112.23884253719248) + o * (.03296041114873217 * o + 115.60384449646641 * a - 193.58209356861505) - a * (22.33816807309886 * a + 180.12613974708367);

            return e;
          },
          getData: function getData(n, r, o) {
            if (this.numComponents > 4) throw new e("Unsupported color mode");

            var a = this._getLinearizedBlockData(n, r);

            if (1 === this.numComponents && o) {
              for (var t = a.length, i = new Uint8ClampedArray(3 * t), s = 0, c = 0; c < t; c++) {
                var f = a[c];
                i[s++] = f, i[s++] = f, i[s++] = f;
              }

              return i;
            }

            if (3 === this.numComponents && this._isColorConversionNeeded()) return this._convertYccToRgb(a);

            if (4 === this.numComponents) {
              if (this._isColorConversionNeeded()) return o ? this._convertYcckToRgb(a) : this._convertYcckToCmyk(a);
              if (o) return this._convertCmykToRgb(a);
            }

            return a;
          }
        }, n;
      }();
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/layers/support/rasterFormats/JpgPlus.js":
  /*!****************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/layers/support/rasterFormats/JpgPlus.js ***!
    \****************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiLayersSupportRasterFormatsJpgPlusJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ./Jpg */
    "./node_modules/arcgis-js-api/layers/support/rasterFormats/Jpg.js"), __webpack_require__(
    /*! ./Zlib */
    "./node_modules/arcgis-js-api/layers/support/rasterFormats/Zlib.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, r, n, t) {
      return function () {
        function e() {}

        return e.decode = function (e) {
          var r = new Uint8Array(e),
              i = new n();
          i.parse(r);
          var a,
              o = i.width,
              f = i.height,
              u = i.numComponents,
              h = i.eof,
              s = i.getData(o, f, !0),
              g = o * f,
              l = 0,
              w = 0,
              p = 0;

          if (h < r.length - 1) {
            var c = new t(r.subarray(h)),
                d = c.getBytes();
            a = new Uint8Array(g);
            var v = 0;

            for (l = 0; l < d.length; l++) for (p = 7; p >= 0; p--) a[v++] = d[l] >> p & 1;
          }

          var y,
              m = null;
          if (1 === u) m = [s, s, s];else {
            for (m = [], l = 0; l < 3; l++) y = new Uint8Array(g), m.push(y);

            for (p = 0, w = 0; w < g; w++) for (l = 0; l < 3; l++) m[l][w] = s[p++];
          }
          return {
            width: o,
            height: f,
            pixels: m,
            mask: a
          };
        }, e;
      }();
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/layers/support/rasterFormats/Lerc2Codec.js":
  /*!*******************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/layers/support/rasterFormats/Lerc2Codec.js ***!
    \*******************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiLayersSupportRasterFormatsLerc2CodecJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () {
      "use strict";

      var e = {
        unstuff: function unstuff(e, r, t, a, i, n, f, s) {
          var l,
              o,
              u,
              c,
              h,
              d = (1 << t) - 1,
              p = 0,
              g = 0,
              m = 4 * e.length - Math.ceil(t * a / 8);
          if (e[e.length - 1] <<= 8 * m, i) for (l = 0; l < a; l++) 0 === g && (u = e[p++], g = 32), g >= t ? (o = u >>> g - t & d, g -= t) : (c = t - g, o = (u & d) << c & d, u = e[p++], g = 32 - c, o += u >>> g), r[l] = i[o];else for (h = Math.ceil((s - n) / f), l = 0; l < a; l++) 0 === g && (u = e[p++], g = 32), g >= t ? (o = u >>> g - t & d, g -= t) : (c = t - g, o = (u & d) << c & d, u = e[p++], g = 32 - c, o += u >>> g), r[l] = o < h ? n + o * f : s;
        },
        unstuffLUT: function unstuffLUT(e, r, t, a, i, n) {
          var f,
              s = (1 << r) - 1,
              l = 0,
              o = 0,
              u = 0,
              c = 0,
              h = 0,
              d = [],
              p = 4 * e.length - Math.ceil(r * t / 8);
          e[e.length - 1] <<= 8 * p;
          var g = Math.ceil((n - a) / i);

          for (o = 0; o < t; o++) 0 === c && (f = e[l++], c = 32), c >= r ? (h = f >>> c - r & s, c -= r) : (u = r - c, h = (f & s) << u & s, f = e[l++], c = 32 - u, h += f >>> c), d[o] = h < g ? a + h * i : n;

          return d.unshift(a), d;
        },
        unstuff2: function unstuff2(e, r, t, a, i, n, f, s) {
          var l,
              o,
              u,
              c,
              h = (1 << t) - 1,
              d = 0,
              p = 0,
              g = 0;
          if (i) for (l = 0; l < a; l++) 0 === p && (u = e[d++], p = 32, g = 0), p >= t ? (o = u >>> g & h, p -= t, g += t) : (c = t - p, o = u >>> g & h, u = e[d++], p = 32 - c, o |= (u & (1 << c) - 1) << t - c, g = c), r[l] = i[o];else {
            var m = Math.ceil((s - n) / f);

            for (l = 0; l < a; l++) 0 === p && (u = e[d++], p = 32, g = 0), p >= t ? (o = u >>> g & h, p -= t, g += t) : (c = t - p, o = u >>> g & h, u = e[d++], p = 32 - c, o |= (u & (1 << c) - 1) << t - c, g = c), r[l] = o < m ? n + o * f : s;
          }
          return r;
        },
        unstuffLUT2: function unstuffLUT2(e, r, t, a, i, n) {
          var f,
              s = (1 << r) - 1,
              l = 0,
              o = 0,
              u = 0,
              c = 0,
              h = 0,
              d = 0,
              p = [],
              g = Math.ceil((n - a) / i);

          for (o = 0; o < t; o++) 0 === c && (f = e[l++], c = 32, d = 0), c >= r ? (h = f >>> d & s, c -= r, d += r) : (u = r - c, h = f >>> d & s, f = e[l++], c = 32 - u, h |= (f & (1 << u) - 1) << r - u, d = u), p[o] = h < g ? a + h * i : n;

          return p.unshift(a), p;
        },
        originalUnstuff: function originalUnstuff(e, r, t, a) {
          var i,
              n,
              f,
              s,
              l = (1 << t) - 1,
              o = 0,
              u = 0,
              c = 4 * e.length - Math.ceil(t * a / 8);

          for (e[e.length - 1] <<= 8 * c, i = 0; i < a; i++) 0 === u && (f = e[o++], u = 32), u >= t ? (n = f >>> u - t & l, u -= t) : (s = t - u, n = (f & l) << s & l, f = e[o++], u = 32 - s, n += f >>> u), r[i] = n;

          return r;
        },
        originalUnstuff2: function originalUnstuff2(e, r, t, a) {
          var i,
              n,
              f,
              s,
              l = (1 << t) - 1,
              o = 0,
              u = 0,
              c = 0;

          for (i = 0; i < a; i++) 0 === u && (f = e[o++], u = 32, c = 0), u >= t ? (n = f >>> c & l, u -= t, c += t) : (s = t - u, n = f >>> c & l, f = e[o++], u = 32 - s, n |= (f & (1 << s) - 1) << t - s, c = s), r[i] = n;

          return r;
        }
      },
          r = {
        HUFFMAN_LUT_BITS_MAX: 12,
        computeChecksumFletcher32: function computeChecksumFletcher32(e) {
          for (var r = 65535, t = 65535, a = e.length, i = Math.floor(a / 2), n = 0; i;) {
            var f = i >= 359 ? 359 : i;
            i -= f;

            do {
              r += e[n++] << 8, t += r += e[n++];
            } while (--f);

            r = (65535 & r) + (r >>> 16), t = (65535 & t) + (t >>> 16);
          }

          return 1 & a && (t += r += e[n] << 8), r = (65535 & r) + (r >>> 16), ((t = (65535 & t) + (t >>> 16)) << 16 | r) >>> 0;
        },
        readHeaderInfo: function readHeaderInfo(e, r) {
          var t = r.ptr,
              a = new Uint8Array(e, t, 6),
              i = {};
          if (i.fileIdentifierString = String.fromCharCode.apply(null, a), 0 !== i.fileIdentifierString.lastIndexOf("Lerc2", 0)) throw "Unexpected file identifier string (expect Lerc2 ): " + i.fileIdentifierString;
          t += 6;
          var n = new DataView(e, t, 8),
              f = n.getInt32(0, !0);
          i.fileVersion = f, t += 4, f >= 3 && (i.checksum = n.getUint32(4, !0), t += 4), n = new DataView(e, t, 12), i.height = n.getUint32(0, !0), i.width = n.getUint32(4, !0), t += 8, f >= 4 ? (i.numDims = n.getUint32(8, !0), t += 4) : i.numDims = 1, n = new DataView(e, t, 40), i.numValidPixel = n.getUint32(0, !0), i.microBlockSize = n.getInt32(4, !0), i.blobSize = n.getInt32(8, !0), i.imageType = n.getInt32(12, !0), i.maxZError = n.getFloat64(16, !0), i.zMin = n.getFloat64(24, !0), i.zMax = n.getFloat64(32, !0), t += 40, r.headerInfo = i, r.ptr = t;
          var s;
          if (f >= 3 && (s = f >= 4 ? 52 : 48, this.computeChecksumFletcher32(new Uint8Array(e, t - s, i.blobSize - 14)) !== i.checksum)) throw "Checksum failed.";
          return !0;
        },
        checkMinMaxRanges: function checkMinMaxRanges(e, r) {
          var t = r.headerInfo,
              a = this.getDataTypeArray(t.imageType),
              i = t.numDims * this.getDataTypeSize(t.imageType),
              n = this.readSubArray(e, r.ptr, a, i),
              f = this.readSubArray(e, r.ptr + i, a, i);
          r.ptr += 2 * i;
          var s,
              l = !0;

          for (s = 0; s < t.numDims; s++) if (n[s] !== f[s]) {
            l = !1;
            break;
          }

          return t.minValues = n, t.maxValues = f, l;
        },
        readSubArray: function readSubArray(e, r, t, a) {
          var i;
          if (t === Uint8Array) i = new Uint8Array(e, r, a);else {
            var n = new ArrayBuffer(a);
            new Uint8Array(n).set(new Uint8Array(e, r, a)), i = new t(n);
          }
          return i;
        },
        readMask: function readMask(e, r) {
          var t = r.ptr,
              a = r.headerInfo,
              i = a.width * a.height,
              n = a.numValidPixel,
              f = new DataView(e, t, 4),
              s = {};
          if (s.numBytes = f.getUint32(0, !0), t += 4, (0 === n || i === n) && 0 !== s.numBytes) throw "invalid mask";
          var l, o;
          if (0 === n) l = new Uint8Array(Math.ceil(i / 8)), s.bitset = l, o = new Uint8Array(i), r.pixels.resultMask = o, t += s.numBytes;else if (s.numBytes > 0) {
            l = new Uint8Array(Math.ceil(i / 8)), f = new DataView(e, t, s.numBytes);
            var u = f.getInt16(0, !0),
                c = 2,
                h = 0,
                d = 0;

            do {
              if (u > 0) for (; u--;) l[h++] = f.getUint8(c++);else for (d = f.getUint8(c++), u = -u; u--;) l[h++] = d;
              u = f.getInt16(c, !0), c += 2;
            } while (c < s.numBytes);

            if (-32768 !== u || h < l.length) throw "Unexpected end of mask RLE encoding";
            o = new Uint8Array(i);
            var p = 0,
                g = 0;

            for (g = 0; g < i; g++) 7 & g ? (p = l[g >> 3], p <<= 7 & g) : p = l[g >> 3], 128 & p && (o[g] = 1);

            r.pixels.resultMask = o, s.bitset = l, t += s.numBytes;
          }
          return r.ptr = t, r.mask = s, !0;
        },
        readDataOneSweep: function readDataOneSweep(e, t, a) {
          var i,
              n = t.ptr,
              f = t.headerInfo,
              s = f.numDims,
              l = f.width * f.height,
              o = f.imageType,
              u = f.numValidPixel * r.getDataTypeSize(o) * s,
              c = t.pixels.resultMask;
          if (a === Uint8Array) i = new Uint8Array(e, n, u);else {
            var h = new ArrayBuffer(u);
            new Uint8Array(h).set(new Uint8Array(e, n, u)), i = new a(h);
          }
          if (i.length === l * s) t.pixels.resultPixels = i;else {
            t.pixels.resultPixels = new a(l * s);
            var d = 0,
                p = 0,
                g = 0,
                m = 0;
            if (s > 1) for (g = 0; g < s; g++) for (m = g * l, p = 0; p < l; p++) c[p] && (t.pixels.resultPixels[m + p] = i[d++]);else for (p = 0; p < l; p++) c[p] && (t.pixels.resultPixels[p] = i[d++]);
          }
          return n += u, t.ptr = n, !0;
        },
        readHuffmanTree: function readHuffmanTree(e, a) {
          var i = this.HUFFMAN_LUT_BITS_MAX,
              n = new DataView(e, a.ptr, 16);
          if (a.ptr += 16, n.getInt32(0, !0) < 2) throw "unsupported Huffman version";
          var f = n.getInt32(4, !0),
              s = n.getInt32(8, !0),
              l = n.getInt32(12, !0);
          if (s >= l) return !1;
          var o = new Uint32Array(l - s);
          r.decodeBits(e, a, o);
          var u,
              c,
              h,
              d,
              p = [];

          for (u = s; u < l; u++) c = u - (u < f ? 0 : f), p[c] = {
            first: o[u - s],
            second: null
          };

          var g = e.byteLength - a.ptr,
              m = Math.ceil(g / 4),
              w = new ArrayBuffer(4 * m);
          new Uint8Array(w).set(new Uint8Array(e, a.ptr, g));
          var y,
              x = new Uint32Array(w),
              k = 0,
              b = 0;

          for (y = x[0], u = s; u < l; u++) c = u - (u < f ? 0 : f), (d = p[c].first) > 0 && (p[c].second = y << k >>> 32 - d, 32 - k >= d ? 32 === (k += d) && (k = 0, b++, y = x[b]) : (k += d - 32, b++, y = x[b], p[c].second |= y >>> 32 - k));

          var U = 0,
              v = 0,
              I = new t();

          for (u = 0; u < p.length; u++) void 0 !== p[u] && (U = Math.max(U, p[u].first));

          v = U >= i ? i : U;
          var M,
              A,
              V,
              D,
              T,
              S,
              B = [];

          for (u = s; u < l; u++) if (c = u - (u < f ? 0 : f), (d = p[c].first) > 0) if (M = [d, c], d <= v) for (A = p[c].second << v - d, V = 1 << v - d, h = 0; h < V; h++) B[A | h] = M;else for (A = p[c].second, S = I, D = d - 1; D >= 0; D--) T = A >>> D & 1, T ? (S.right || (S.right = new t()), S = S.right) : (S.left || (S.left = new t()), S = S.left), 0 !== D || S.val || (S.val = M[1]);

          return {
            decodeLut: B,
            numBitsLUTQick: v,
            numBitsLUT: U,
            tree: I,
            stuffedData: x,
            srcPtr: b,
            bitPos: k
          };
        },
        readHuffman: function readHuffman(e, r, t) {
          var a,
              i,
              n,
              f,
              s,
              l,
              o,
              u,
              c,
              h,
              d = r.headerInfo,
              p = d.numDims,
              g = r.headerInfo.height,
              m = r.headerInfo.width,
              w = m * g,
              y = this.readHuffmanTree(e, r),
              x = y.decodeLut,
              k = y.tree,
              b = y.stuffedData,
              U = y.srcPtr,
              v = y.bitPos,
              I = y.numBitsLUTQick,
              M = y.numBitsLUT,
              A = 0 === r.headerInfo.imageType ? 128 : 0,
              V = r.pixels.resultMask,
              D = 0;
          v > 0 && (U++, v = 0);
          var T,
              S = b[U],
              B = 1 === r.encodeMode,
              P = new t(w * p),
              z = P;

          for (T = 0; T < d.numDims; T++) {
            if (p > 1 && (z = new t(P.buffer, w * T, w), D = 0), r.headerInfo.numValidPixel === m * g) for (c = 0, o = 0; o < g; o++) for (u = 0; u < m; u++, c++) {
              if (i = 0, f = S << v >>> 32 - I, s = f, 32 - v < I && (f |= b[U + 1] >>> 64 - v - I, s = f), x[s]) i = x[s][1], v += x[s][0];else for (f = S << v >>> 32 - M, s = f, 32 - v < M && (f |= b[U + 1] >>> 64 - v - M, s = f), a = k, h = 0; h < M; h++) if (l = f >>> M - h - 1 & 1, a = l ? a.right : a.left, !a.left && !a.right) {
                i = a.val, v = v + h + 1;
                break;
              }
              v >= 32 && (v -= 32, U++, S = b[U]), n = i - A, B ? (n += u > 0 ? D : o > 0 ? z[c - m] : D, n &= 255, z[c] = n, D = n) : z[c] = n;
            } else for (c = 0, o = 0; o < g; o++) for (u = 0; u < m; u++, c++) if (V[c]) {
              if (i = 0, f = S << v >>> 32 - I, s = f, 32 - v < I && (f |= b[U + 1] >>> 64 - v - I, s = f), x[s]) i = x[s][1], v += x[s][0];else for (f = S << v >>> 32 - M, s = f, 32 - v < M && (f |= b[U + 1] >>> 64 - v - M, s = f), a = k, h = 0; h < M; h++) if (l = f >>> M - h - 1 & 1, a = l ? a.right : a.left, !a.left && !a.right) {
                i = a.val, v = v + h + 1;
                break;
              }
              v >= 32 && (v -= 32, U++, S = b[U]), n = i - A, B ? (u > 0 && V[c - 1] ? n += D : o > 0 && V[c - m] ? n += z[c - m] : n += D, n &= 255, z[c] = n, D = n) : z[c] = n;
            }
            r.ptr = r.ptr + 4 * (U + 1) + (v > 0 ? 4 : 0);
          }

          r.pixels.resultPixels = P;
        },
        decodeBits: function decodeBits(r, t, a, i, n) {
          var f = t.headerInfo,
              s = f.fileVersion,
              l = 0,
              o = r.byteLength - t.ptr >= 5 ? 5 : r.byteLength - t.ptr,
              u = new DataView(r, t.ptr, o),
              c = u.getUint8(0);
          l++;
          var h = c >> 6,
              d = 0 === h ? 4 : 3 - h,
              p = (32 & c) > 0,
              g = 31 & c,
              m = 0;
          if (1 === d) m = u.getUint8(l), l++;else if (2 === d) m = u.getUint16(l, !0), l += 2;else {
            if (4 !== d) throw "Invalid valid pixel count type";
            m = u.getUint32(l, !0), l += 4;
          }
          var w,
              y,
              x,
              k,
              b,
              U,
              v,
              I,
              M,
              A = 2 * f.maxZError,
              V = f.numDims > 1 ? f.maxValues[n] : f.zMax;

          if (p) {
            for (t.counter.lut++, I = u.getUint8(l), g, l++, k = Math.ceil((I - 1) * g / 8), b = Math.ceil(k / 4), y = new ArrayBuffer(4 * b), x = new Uint8Array(y), t.ptr += l, x.set(new Uint8Array(r, t.ptr, k)), v = new Uint32Array(y), t.ptr += k, M = 0; I - 1 >>> M;) M++;

            k = Math.ceil(m * M / 8), b = Math.ceil(k / 4), y = new ArrayBuffer(4 * b), x = new Uint8Array(y), x.set(new Uint8Array(r, t.ptr, k)), w = new Uint32Array(y), t.ptr += k, U = s >= 3 ? e.unstuffLUT2(v, g, I - 1, i, A, V) : e.unstuffLUT(v, g, I - 1, i, A, V), s >= 3 ? e.unstuff2(w, a, M, m, U) : e.unstuff(w, a, M, m, U);
          } else t.counter.bitstuffer++, M = g, t.ptr += l, M > 0 && (k = Math.ceil(m * M / 8), b = Math.ceil(k / 4), y = new ArrayBuffer(4 * b), x = new Uint8Array(y), x.set(new Uint8Array(r, t.ptr, k)), w = new Uint32Array(y), t.ptr += k, s >= 3 ? null == i ? e.originalUnstuff2(w, a, M, m) : e.unstuff2(w, a, M, m, !1, i, A, V) : null == i ? e.originalUnstuff(w, a, M, m) : e.unstuff(w, a, M, m, !1, i, A, V));
        },
        readTiles: function readTiles(e, t, a) {
          var i = t.headerInfo,
              n = i.width,
              f = i.height,
              s = i.microBlockSize,
              l = i.imageType,
              o = r.getDataTypeSize(l),
              u = Math.ceil(n / s),
              c = Math.ceil(f / s);
          t.pixels.numBlocksY = c, t.pixels.numBlocksX = u, t.pixels.ptr = 0;

          var h,
              d,
              p,
              g,
              m,
              w,
              y,
              x,
              k,
              b,
              U,
              v = 0,
              I = 0,
              M = 0,
              A = 0,
              V = 0,
              D = 0,
              T = 0,
              S = 0,
              B = 0,
              P = 0,
              z = 0,
              L = 0,
              F = 0,
              O = 0,
              C = 0,
              H = new a(s * s),
              E = f % s || s,
              _ = n % s || s,
              X = i.numDims,
              Z = t.pixels.resultMask,
              R = t.pixels.resultPixels,
              Y = i.fileVersion,
              N = Y >= 5 ? 14 : 15,
              Q = i.zMax;

          for (M = 0; M < c; M++) for (V = M !== c - 1 ? s : E, A = 0; A < u; A++) for (D = A !== u - 1 ? s : _, P = M * n * s + A * s, z = n - D, k = 0; k < X; k++) {
            if (X > 1 ? (U = R, P = M * n * s + A * s, R = new a(t.pixels.resultPixels.buffer, n * f * k * o, n * f), Q = i.maxValues[k]) : U = null, T = e.byteLength - t.ptr, h = new DataView(e, t.ptr, Math.min(10, T)), d = {}, C = 0, S = h.getUint8(0), C++, b = i.fileVersion >= 5 ? 4 & S : 0, B = S >> 6 & 255, (S >> 2 & N) !== (A * s >> 3 & N)) throw "integrity issue";
            if (b && 0 === k) throw "integrity issue";
            if ((w = 3 & S) > 3) throw t.ptr += C, "Invalid block encoding (" + w + ")";
            if (2 !== w) {
              if (0 === w) {
                if (b) throw "integrity issue";
                if (t.counter.uncompressed++, t.ptr += C, L = V * D * o, F = e.byteLength - t.ptr, L = L < F ? L : F, p = new ArrayBuffer(L % o == 0 ? L : L + o - L % o), g = new Uint8Array(p), g.set(new Uint8Array(e, t.ptr, L)), m = new a(p), O = 0, Z) for (v = 0; v < V; v++) {
                  for (I = 0; I < D; I++) Z[P] && (R[P] = m[O++]), P++;

                  P += z;
                } else for (v = 0; v < V; v++) {
                  for (I = 0; I < D; I++) R[P++] = m[O++];

                  P += z;
                }
                t.ptr += O * o;
              } else if (y = r.getDataTypeUsed(b && l < 6 ? 5 : l, B), x = r.getOnePixel(d, C, y, h), C += r.getDataTypeSize(y), 3 === w) {
                if (t.ptr += C, t.counter.constantoffset++, Z) for (v = 0; v < V; v++) {
                  for (I = 0; I < D; I++) Z[P] && (R[P] = b ? Math.min(Q, U[P] + x) : x), P++;

                  P += z;
                } else for (v = 0; v < V; v++) {
                  for (I = 0; I < D; I++) R[P] = b ? Math.min(Q, U[P] + x) : x, P++;

                  P += z;
                }
              } else if (t.ptr += C, r.decodeBits(e, t, H, x, k), C = 0, b) {
                if (Z) for (v = 0; v < V; v++) {
                  for (I = 0; I < D; I++) Z[P] && (R[P] = H[C++] + U[P]), P++;

                  P += z;
                } else for (v = 0; v < V; v++) {
                  for (I = 0; I < D; I++) R[P] = H[C++] + U[P], P++;

                  P += z;
                }
              } else if (Z) for (v = 0; v < V; v++) {
                for (I = 0; I < D; I++) Z[P] && (R[P] = H[C++]), P++;

                P += z;
              } else for (v = 0; v < V; v++) {
                for (I = 0; I < D; I++) R[P++] = H[C++];

                P += z;
              }
            } else {
              if (b) if (Z) for (v = 0; v < V; v++) for (I = 0; I < D; I++) Z[P] && (R[P] = U[P]), P++;else for (v = 0; v < V; v++) for (I = 0; I < D; I++) R[P] = U[P], P++;
              t.counter.constant++, t.ptr += C;
            }
          }
        },
        formatFileInfo: function formatFileInfo(e) {
          return {
            fileIdentifierString: e.headerInfo.fileIdentifierString,
            fileVersion: e.headerInfo.fileVersion,
            imageType: e.headerInfo.imageType,
            height: e.headerInfo.height,
            width: e.headerInfo.width,
            numValidPixel: e.headerInfo.numValidPixel,
            microBlockSize: e.headerInfo.microBlockSize,
            blobSize: e.headerInfo.blobSize,
            maxZError: e.headerInfo.maxZError,
            pixelType: r.getPixelType(e.headerInfo.imageType),
            eofOffset: e.eofOffset,
            mask: e.mask ? {
              numBytes: e.mask.numBytes
            } : null,
            pixels: {
              numBlocksX: e.pixels.numBlocksX,
              numBlocksY: e.pixels.numBlocksY,
              maxValue: e.headerInfo.zMax,
              minValue: e.headerInfo.zMin,
              noDataValue: e.noDataValue
            }
          };
        },
        constructConstantSurface: function constructConstantSurface(e) {
          var r = e.headerInfo.zMax,
              t = e.headerInfo.numDims,
              a = e.headerInfo.height * e.headerInfo.width,
              i = 0,
              n = 0,
              f = 0,
              s = e.pixels.resultMask,
              l = e.pixels.resultPixels;
          if (s) {
            if (t > 1) for (i = 0; i < t; i++) for (f = i * a, r = e.headerInfo.maxValues[i], n = 0; n < a; n++) s[n] && (l[f + n] = r);else for (n = 0; n < a; n++) s[n] && (l[n] = r);
          } else if (t > 1) for (i = 0; i < t; i++) for (f = i * a, r = e.headerInfo.maxValues[i], n = 0; n < a; n++) l[f + n] = r;else for (n = 0; n < a; n++) l[n] = r;
        },
        getDataTypeArray: function getDataTypeArray(e) {
          var r;

          switch (e) {
            case 0:
              r = Int8Array;
              break;

            case 1:
              r = Uint8Array;
              break;

            case 2:
              r = Int16Array;
              break;

            case 3:
              r = Uint16Array;
              break;

            case 4:
              r = Int32Array;
              break;

            case 5:
              r = Uint32Array;
              break;

            case 6:
              r = Float32Array;
              break;

            case 7:
              r = Float64Array;
              break;

            default:
              r = Float32Array;
          }

          return r;
        },
        getPixelType: function getPixelType(e) {
          var r;

          switch (e) {
            case 0:
              r = "S8";
              break;

            case 1:
              r = "U8";
              break;

            case 2:
              r = "S16";
              break;

            case 3:
              r = "U16";
              break;

            case 4:
              r = "S32";
              break;

            case 5:
              r = "U32";
              break;

            case 6:
              r = "F32";
              break;

            case 7:
              r = "F64";
              break;

            default:
              r = "F32";
          }

          return r;
        },
        isValidPixelValue: function isValidPixelValue(e, r) {
          if (null == r) return !1;
          var t;

          switch (e) {
            case 0:
              t = r >= -128 && r <= 127;
              break;

            case 1:
              t = r >= 0 && r <= 255;
              break;

            case 2:
              t = r >= -32768 && r <= 32767;
              break;

            case 3:
              t = r >= 0 && r <= 65536;
              break;

            case 4:
              t = r >= -2147483648 && r <= 2147483647;
              break;

            case 5:
              t = r >= 0 && r <= 4294967296;
              break;

            case 6:
              t = r >= -3.4027999387901484e38 && r <= 3.4027999387901484e38;
              break;

            case 7:
              t = r >= 5e-324 && r <= 1.7976931348623157e308;
              break;

            default:
              t = !1;
          }

          return t;
        },
        getDataTypeSize: function getDataTypeSize(e) {
          var r = 0;

          switch (e) {
            case 0:
            case 1:
              r = 1;
              break;

            case 2:
            case 3:
              r = 2;
              break;

            case 4:
            case 5:
            case 6:
              r = 4;
              break;

            case 7:
              r = 8;
              break;

            default:
              r = e;
          }

          return r;
        },
        getDataTypeUsed: function getDataTypeUsed(e, r) {
          var t = e;

          switch (e) {
            case 2:
            case 4:
              t = e - r;
              break;

            case 3:
            case 5:
              t = e - 2 * r;
              break;

            case 6:
              t = 0 === r ? e : 1 === r ? 2 : 1;
              break;

            case 7:
              t = 0 === r ? e : e - 2 * r + 1;
              break;

            default:
              t = e;
          }

          return t;
        },
        getOnePixel: function getOnePixel(e, r, t, a) {
          var i = 0;

          switch (t) {
            case 0:
              i = a.getInt8(r);
              break;

            case 1:
              i = a.getUint8(r);
              break;

            case 2:
              i = a.getInt16(r, !0);
              break;

            case 3:
              i = a.getUint16(r, !0);
              break;

            case 4:
              i = a.getInt32(r, !0);
              break;

            case 5:
              i = a.getUInt32(r, !0);
              break;

            case 6:
              i = a.getFloat32(r, !0);
              break;

            case 7:
              i = a.getFloat64(r, !0);
              break;

            default:
              throw "the decoder does not understand this pixel type";
          }

          return i;
        }
      },
          t = function t(e, r, _t) {
        this.val = e, this.left = r, this.right = _t;
      };

      return {
        decode: function decode(e, t) {
          t = t || {};
          var a = t.noDataValue,
              i = 0,
              n = {};

          if (n.ptr = t.inputOffset || 0, n.pixels = {}, r.readHeaderInfo(e, n)) {
            var f = n.headerInfo,
                s = f.fileVersion,
                l = r.getDataTypeArray(f.imageType);
            if (s > 5) throw "unsupported lerc version 2." + s;
            r.readMask(e, n), f.numValidPixel === f.width * f.height || n.pixels.resultMask || (n.pixels.resultMask = t.maskData);
            var o = f.width * f.height;
            if (n.pixels.resultPixels = new l(o * f.numDims), n.counter = {
              onesweep: 0,
              uncompressed: 0,
              lut: 0,
              bitstuffer: 0,
              constant: 0,
              constantoffset: 0
            }, 0 !== f.numValidPixel) if (f.zMax === f.zMin) r.constructConstantSurface(n);else if (s >= 4 && r.checkMinMaxRanges(e, n)) r.constructConstantSurface(n);else {
              var u = new DataView(e, n.ptr, 2),
                  c = u.getUint8(0);
              if (n.ptr++, c) r.readDataOneSweep(e, n, l);else if (s > 1 && f.imageType <= 1 && Math.abs(f.maxZError - .5) < 1e-5) {
                var h = u.getUint8(1);
                if (n.ptr++, n.encodeMode = h, h > 2 || s < 4 && h > 1) throw "Invalid Huffman flag " + h;
                h ? r.readHuffman(e, n, l) : r.readTiles(e, n, l);
              } else r.readTiles(e, n, l);
            }
            n.eofOffset = n.ptr;
            var d;
            t.inputOffset ? (d = n.headerInfo.blobSize + t.inputOffset - n.ptr, Math.abs(d) >= 1 && (n.eofOffset = t.inputOffset + n.headerInfo.blobSize)) : (d = n.headerInfo.blobSize - n.ptr, Math.abs(d) >= 1 && (n.eofOffset = n.headerInfo.blobSize));
            var p = {
              width: f.width,
              height: f.height,
              pixelData: n.pixels.resultPixels,
              minValue: f.zMin,
              maxValue: f.zMax,
              validPixelCount: f.numValidPixel,
              dimCount: f.numDims,
              dimStats: {
                minValues: f.minValues,
                maxValues: f.maxValues
              },
              maskData: n.pixels.resultMask
            };

            if (n.pixels.resultMask && r.isValidPixelValue(f.imageType, a)) {
              var g = n.pixels.resultMask;

              for (i = 0; i < o; i++) g[i] || (p.pixelData[i] = a);

              p.noDataValue = a;
            }

            return n.noDataValue = a, t.returnFileInfo && (p.fileInfo = r.formatFileInfo(n)), p;
          }
        },
        getBandCount: function getBandCount(e) {
          var t = 0,
              a = 0,
              i = {};

          for (i.ptr = 0, i.pixels = {}; a < e.byteLength - 58;) r.readHeaderInfo(e, i), a += i.headerInfo.blobSize, t++, i.ptr = a;

          return t;
        }
      };
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/layers/support/rasterFormats/Png.js":
  /*!************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/layers/support/rasterFormats/Png.js ***!
    \************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiLayersSupportRasterFormatsPngJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.

    /*
    # MIT LICENSE
    # Copyright (c) 2011 Devon Govett
    #
    # Permission is hereby granted, free of charge, to any person obtaining a copy of this
    # software and associated documentation files (the "Software"), to deal in the Software
    # without restriction, including without limitation the rights to use, copy, modify, merge,
    # publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
    # to whom the Software is furnished to do so, subject to the following conditions:
    #
    # The above copyright notice and this permission notice shall be included in all copies or
    # substantial portions of the Software.
    #
    # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
    # BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
    # DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    */


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(
    /*! ./Zlib */
    "./node_modules/arcgis-js-api/layers/support/rasterFormats/Zlib.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (t) {
      return function (e) {
        function a(t) {
          var e, a, i, s, r, n, h, o, d, c, p, l, f, u;

          for (this.data = t, this.pos = 8, this.palette = [], this.imgData = [], this.transparency = {}, this.animation = null, this.text = {}, r = null;;) {
            switch (e = this.readUInt32(), d = function () {
              var t, e;

              for (e = [], n = t = 0; t < 4; n = ++t) e.push(String.fromCharCode(this.data[this.pos++]));

              return e;
            }.call(this).join("")) {
              case "IHDR":
                this.width = this.readUInt32(), this.height = this.readUInt32(), this.bits = this.data[this.pos++], this.colorType = this.data[this.pos++], this.compressionMethod = this.data[this.pos++], this.filterMethod = this.data[this.pos++], this.interlaceMethod = this.data[this.pos++];
                break;

              case "acTL":
                this.animation = {
                  numFrames: this.readUInt32(),
                  numPlays: this.readUInt32() || 1 / 0,
                  frames: []
                };
                break;

              case "PLTE":
                this.palette = this.read(e);
                break;

              case "fcTL":
                r && this.animation.frames.push(r), this.pos += 4, r = {
                  width: this.readUInt32(),
                  height: this.readUInt32(),
                  xOffset: this.readUInt32(),
                  yOffset: this.readUInt32()
                }, s = this.readUInt16(), i = this.readUInt16() || 100, r.delay = 1e3 * s / i, r.disposeOp = this.data[this.pos++], r.blendOp = this.data[this.pos++], r.data = [];
                break;

              case "IDAT":
              case "fdAT":
                for ("fdAT" === d && (this.pos += 4, e -= 4), t = (null != r ? r.data : void 0) || this.imgData, n = l = 0; 0 <= e ? l < e : l > e; n = 0 <= e ? ++l : --l) t.push(this.data[this.pos++]);

                break;

              case "tRNS":
                switch (this.transparency = {}, this.colorType) {
                  case 3:
                    if (this.transparency.indexed = this.read(e), (c = 255 - this.transparency.indexed.length) > 0) for (n = f = 0; 0 <= c ? f < c : f > c; n = 0 <= c ? ++f : --f) this.transparency.indexed.push(255);
                    break;

                  case 0:
                    this.transparency.grayscale = this.read(e)[0];
                    break;

                  case 2:
                    this.transparency.rgb = this.read(e);
                }

                break;

              case "tEXt":
                p = this.read(e), h = p.indexOf(0), o = String.fromCharCode.apply(String, p.slice(0, h)), this.text[o] = String.fromCharCode.apply(String, p.slice(h + 1));
                break;

              case "IEND":
                return r && this.animation.frames.push(r), this.colors = function () {
                  switch (this.colorType) {
                    case 0:
                    case 3:
                    case 4:
                      return 1;

                    case 2:
                    case 6:
                      return 3;
                  }
                }.call(this), this.hasAlphaChannel = 4 === (u = this.colorType) || 6 === u, a = this.colors + (this.hasAlphaChannel ? 1 : 0), this.pixelBitlength = this.bits * a, this.colorSpace = function () {
                  switch (this.colors) {
                    case 1:
                      return "DeviceGray";

                    case 3:
                      return "DeviceRGB";
                  }
                }.call(this), void (this.imgData = new Uint8Array(this.imgData));

              default:
                this.pos += e;
            }

            if (this.pos += 4, this.pos > this.data.length) throw new Error("Incomplete or corrupt PNG file");
          }
        }

        var i, s, r, n, h, o;
        return a.load = function (t, e, i) {
          var s;
          return "function" == typeof e && (i = e), s = new XMLHttpRequest(), s.open("GET", t, !0), s.responseType = "arraybuffer", s.onload = function () {
            var t, r;
            return t = new Uint8Array(s.response || s.mozResponseArrayBuffer), r = new a(t), "function" == typeof (null != e ? e.getContext : void 0) && r.render(e), "function" == typeof i ? i(r) : void 0;
          }, s.send(null);
        }, 0, s = 1, r = 2, i = 0, 1, a.prototype.read = function (t) {
          var e, a;

          for (a = [], e = 0; 0 <= t ? e < t : e > t; 0 <= t ? ++e : --e) a.push(this.data[this.pos++]);

          return a;
        }, a.prototype.readUInt32 = function () {
          var t, e, a, i;
          return t = this.data[this.pos++] << 24, e = this.data[this.pos++] << 16, a = this.data[this.pos++] << 8, i = this.data[this.pos++], t | e | a | i;
        }, a.prototype.readUInt16 = function () {
          var t, e;
          return t = this.data[this.pos++] << 8, e = this.data[this.pos++], t | e;
        }, a.prototype.decodePixels = function (e) {
          var a, i, s, r, n, h, o, d, c, p, l, f, u, g, m, y, w, v, I, b, D, x, U;
          if (null == e && (e = this.imgData), 0 === e.length) return new Uint8Array(0);

          for (e = new t(e), e = e.getBytes(), f = this.pixelBitlength / 8, y = f * this.width, u = new Uint8Array(y * this.height), h = e.length, m = 0, g = 0, i = 0; g < h;) {
            switch (e[g++]) {
              case 0:
                for (r = I = 0; I < y; r = I += 1) u[i++] = e[g++];

                break;

              case 1:
                for (r = b = 0; b < y; r = b += 1) a = e[g++], n = r < f ? 0 : u[i - f], u[i++] = (a + n) % 256;

                break;

              case 2:
                for (r = D = 0; D < y; r = D += 1) a = e[g++], s = (r - r % f) / f, w = m && u[(m - 1) * y + s * f + r % f], u[i++] = (w + a) % 256;

                break;

              case 3:
                for (r = x = 0; x < y; r = x += 1) a = e[g++], s = (r - r % f) / f, n = r < f ? 0 : u[i - f], w = m && u[(m - 1) * y + s * f + r % f], u[i++] = (a + Math.floor((n + w) / 2)) % 256;

                break;

              case 4:
                for (r = U = 0; U < y; r = U += 1) a = e[g++], s = (r - r % f) / f, n = r < f ? 0 : u[i - f], 0 === m ? w = v = 0 : (w = u[(m - 1) * y + s * f + r % f], v = s && u[(m - 1) * y + (s - 1) * f + r % f]), o = n + w - v, d = Math.abs(o - n), p = Math.abs(o - w), l = Math.abs(o - v), c = d <= p && d <= l ? n : p <= l ? w : v, u[i++] = (a + c) % 256;

                break;

              default:
                throw new Error("Invalid filter algorithm: " + e[g - 1]);
            }

            m++;
          }

          return u;
        }, a.prototype.decodePalette = function () {
          var t, e, a, i, s, r, n, h, o;

          for (a = this.palette, r = this.transparency.indexed || [], s = new Uint8Array((r.length || 0) + a.length), i = 0, a.length, t = 0, e = n = 0, h = a.length; n < h; e = n += 3) s[i++] = a[e], s[i++] = a[e + 1], s[i++] = a[e + 2], s[i++] = null != (o = r[t++]) ? o : 255;

          return s;
        }, a.prototype.copyToImageData = function (t, e) {
          var a, i, s, r, n, h, o, d, c, p, l;
          if (i = this.colors, c = null, a = this.hasAlphaChannel, this.palette.length && (c = null != (l = this._decodedPalette) ? l : this._decodedPalette = this.decodePalette(), i = 4, a = !0), s = t.data || t, d = s.length, n = c || e, r = h = 0, 1 === i) for (; r < d;) o = c ? 4 * e[r / 4] : h, p = n[o++], s[r++] = p, s[r++] = p, s[r++] = p, s[r++] = a ? n[o++] : this.transparency.grayscale && this.transparency.grayscale === p ? 0 : 255, h = o;else for (; r < d;) o = c ? 4 * e[r / 4] : h, s[r++] = n[o++], s[r++] = n[o++], s[r++] = n[o++], s[r++] = a ? n[o++] : this.transparency.rgb && this.transparency.rgb[1] === n[o - 3] && this.transparency.rgb[3] === n[o - 2] && this.transparency.rgb[5] === n[o - 1] ? 0 : 255, h = o;
        }, a.prototype.decode = function () {
          var t;
          return t = new Uint8Array(this.width * this.height * 4), this.copyToImageData(t, this.decodePixels()), t;
        }, h = e.document && e.document.createElement("canvas"), o = h && h.getContext("2d"), n = function n(t) {
          var e;
          return o.width = t.width, o.height = t.height, o.clearRect(0, 0, t.width, t.height), o.putImageData(t, 0, 0), e = new Image(), e.src = h.toDataURL(), e;
        }, a.prototype.decodeFrames = function (t) {
          var e, a, i, s, r, h, o, d;

          if (this.animation) {
            for (o = this.animation.frames, d = [], a = r = 0, h = o.length; r < h; a = ++r) e = o[a], i = t.createImageData(e.width, e.height), s = this.decodePixels(new Uint8Array(e.data)), this.copyToImageData(i, s), e.imageData = i, d.push(e.image = n(i));

            return d;
          }
        }, a.prototype.renderFrame = function (t, e) {
          var a, n, h;
          return n = this.animation.frames, a = n[e], h = n[e - 1], 0 === e && t.clearRect(0, 0, this.width, this.height), (null != h ? h.disposeOp : void 0) === s ? t.clearRect(h.xOffset, h.yOffset, h.width, h.height) : (null != h ? h.disposeOp : void 0) === r && t.putImageData(h.imageData, h.xOffset, h.yOffset), a.blendOp === i && t.clearRect(a.xOffset, a.yOffset, a.width, a.height), t.drawImage(a.image, a.xOffset, a.yOffset);
        }, a.prototype.animate = function (t) {
          var _e,
              a,
              i,
              s,
              r,
              n,
              h = this;

          return a = 0, n = this.animation, s = n.numFrames, i = n.frames, r = n.numPlays, (_e = function e() {
            var n, o;
            if (n = a++ % s, o = i[n], h.renderFrame(t, n), s > 1 && a / s < r) return h.animation._timeout = setTimeout(_e, o.delay);
          })();
        }, a.prototype.stopAnimation = function () {
          var t;
          return clearTimeout(null != (t = this.animation) ? t._timeout : void 0);
        }, a.prototype.render = function (t) {
          var e, a;
          return t._png && t._png.stopAnimation(), t._png = this, t.width = this.width, t.height = this.height, e = t.getContext("2d"), this.animation ? (this.decodeFrames(e), this.animate(e)) : (a = e.createImageData(this.width, this.height), this.copyToImageData(a, this.decodePixels()), e.putImageData(a, 0, 0));
        }, a;
      }(this);
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/layers/support/rasterFormats/RasterCodec.js":
  /*!********************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/layers/support/rasterFormats/RasterCodec.js ***!
    \********************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiLayersSupportRasterFormatsRasterCodecJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../../core/tsSupport/generatorHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/generatorHelper.js"), __webpack_require__(
    /*! ../../../core/tsSupport/awaiterHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/awaiterHelper.js"), __webpack_require__(
    /*! ../../../core/tsSupport/assignHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/assignHelper.js"), __webpack_require__(
    /*! ../../../core/Error */
    "./node_modules/arcgis-js-api/core/Error.js"), __webpack_require__(
    /*! ../PixelBlock */
    "./node_modules/arcgis-js-api/layers/support/PixelBlock.js"), __webpack_require__(
    /*! ./ImageCanvasDecoder */
    "./node_modules/arcgis-js-api/layers/support/rasterFormats/ImageCanvasDecoder.js"), __webpack_require__(
    /*! ./JpgPlus */
    "./node_modules/arcgis-js-api/layers/support/rasterFormats/JpgPlus.js"), __webpack_require__(
    /*! ./Lerc2Codec */
    "./node_modules/arcgis-js-api/layers/support/rasterFormats/Lerc2Codec.js"), __webpack_require__(
    /*! ./LercCodec */
    "./node_modules/arcgis-js-api/layers/support/rasterFormats/LercCodec.js"), __webpack_require__(
    /*! ./Png */
    "./node_modules/arcgis-js-api/layers/support/rasterFormats/Png.js"), __webpack_require__(
    /*! ./Raw */
    "./node_modules/arcgis-js-api/layers/support/rasterFormats/Raw.js"), __webpack_require__(
    /*! ./TiffDecoder */
    "./node_modules/arcgis-js-api/layers/support/rasterFormats/TiffDecoder.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, a, i, n, o, s, d, l, c, u, h, p) {
      function f(e, t) {
        if (!A) throw new n("rasterCoded:decode", "lerc decoder is not supported on big endian platform");

        for (var r, a, i = t.width, s = t.height, d = t.pixelType, l = C(d), u = l.pixelTypeCtor, h = null == t.noDataValue ? l.noDataValue : t.noDataValue, p = 0, f = 0, w = e.byteLength - 10; f < w;) {
          var g = c.decode(e, {
            inputOffset: f,
            encodedMaskData: r,
            returnMask: 0 === p,
            returnEncodedMask: 0 === p,
            returnFileInfo: !0,
            pixelType: u,
            noDataValue: h
          });
          if (i && s && (g.width !== i || g.height !== s)) throw new n("rasterCoded:decode", "lerc decoded result has width or height different from specified in options");
          f = g.fileInfo.eofOffset, 0 === p && (r = g.encodedMaskData, a = new o({
            width: g.width,
            height: g.height,
            pixels: [],
            pixelType: d,
            mask: g.maskData,
            statistics: []
          })), p++, a.addData({
            pixels: g.pixelData,
            statistics: {
              minValue: g.minValue,
              maxValue: g.maxValue,
              noDataValue: g.noDataValue
            }
          });
        }

        return a;
      }

      function w(e, t) {
        if (!A) throw new n("rasterCoded:decode", "lerc decoder is not supported on big endian platform");

        for (var r, a, i, s = 0, d = 0, c = 0, u = e.byteLength - 10, h = [], p = t.width, f = t.height; d < u;) {
          if (a = l.decode(e, {
            inputOffset: d,
            maskData: r,
            returnFileInfo: !0
          }), p && f && (a.width !== p || a.height !== f)) throw new n("rasterCoded:decode", "lerc2 decoded result has width or height different from what's specified in options");
          d = a.fileInfo.eofOffset, 0 === s && (c = a.fileInfo.numValidPixel, r = a.maskData, i = new o({
            width: a.width,
            height: a.height,
            pixels: [],
            pixelType: a.fileInfo.pixelType,
            mask: a.maskData,
            statistics: []
          })), a.fileInfo.mask && a.fileInfo.mask.numBytes > 0 && h.push(a.maskData), s++, i.addData({
            pixels: a.pixelData,
            statistics: {
              minValue: a.minValue,
              maxValue: a.maxValue
            }
          });
        }

        var w = 0,
            g = 0,
            m = 0;

        if (h.length > 1) {
          for (m = i.width * i.height, r = new Uint8Array(m), r.set(h[0]), w = 1; w < h.length; w++) {
            var x = h[w];

            for (g = 0; g < m; g++) r[g] = r[g] & x[g];
          }

          for (c = 0, g = 0; g < m; g++) c += r[g];

          i.mask = r;
        }

        return i.validPixelCount = c, i;
      }

      function g(e) {
        var t = p.decode(e),
            r = new o({
          width: t.width,
          height: t.height,
          pixels: t.pixels,
          pixelType: t.pixelType.toLowerCase(),
          mask: t.maskData,
          statistics: null
        });
        return r.updateStatistics(), r;
      }

      function m(e, t, r) {
        var a = C(t.pixelType).pixelTypeCtor,
            i = "bsq" === r ? h.decodeBSQ : h.decodeBIP,
            n = i(e, {
          bandCount: t.planes,
          width: t.width,
          height: t.height,
          pixelType: a
        }),
            s = new o({
          width: t.width,
          height: t.height,
          pixels: n.pixels,
          pixelType: t.pixelType,
          mask: n.mask,
          statistics: null
        });
        return s.updateStatistics(), s;
      }

      function x(e) {
        var t = d.decode(e),
            r = new o({
          width: t.width,
          height: t.height,
          pixels: t.pixels,
          pixelType: "U8",
          mask: t.mask,
          statistics: null
        });
        return r.updateStatistics(), r;
      }

      function y(e, t) {
        var r,
            a = new Uint8Array(e),
            i = new u(a),
            n = t.width,
            s = t.height,
            d = n * s,
            l = i.decode(),
            c = 0,
            h = 0,
            p = new Uint8Array(d);

        for (c = 0; c < d; c++) p[c] = l[4 * c + 3];

        var f = new o({
          width: n,
          height: s,
          pixels: [],
          pixelType: "U8",
          mask: p,
          statistics: []
        });

        for (c = 0; c < 3; c++) {
          for (r = new Uint8Array(d), h = 0; h < d; h++) r[h] = l[4 * h + c];

          f.addData({
            pixels: r
          });
        }

        return f.updateStatistics(), f;
      }

      function k(e, t, n) {
        return a(this, void 0, void 0, function () {
          var a, d, l, c;
          return r(this, function (r) {
            switch (r.label) {
              case 0:
                return a = new s(), d = i({
                  applyJpegMask: !1
                }, t), [4, a.decode(e, d, n)];

              case 1:
                return l = r.sent(), c = new o(l), c.updateStatistics(), [2, c];
            }
          });
        });
      }

      function b(e) {
        if (null == e) throw new n("rasterCodec:decode", "parameter encodeddata is required.");
        var t = new Uint8Array(e, 0, 10),
            r = "";
        return 255 === t[0] && 216 === t[1] ? r = "jpg" : 137 === t[0] && 80 === t[1] && 78 === t[2] && 71 === t[3] ? r = "png" : 67 === t[0] && 110 === t[1] && 116 === t[2] && 90 === t[3] && 73 === t[4] && 109 === t[5] && 97 === t[6] && 103 === t[7] && 101 === t[8] && 32 === t[9] ? r = "lerc" : 76 === t[0] && 101 === t[1] && 114 === t[2] && 99 === t[3] && 50 === t[4] && 32 === t[5] ? r = "lerc2" : 73 === t[0] && 73 === t[1] && 42 === t[2] && 0 === t[3] || 77 === t[0] && 77 === t[1] && 0 === t[2] && 42 === t[3] ? r = "tiff" : String.fromCharCode.apply(null, t).toLowerCase().indexOf("error") > -1 && (r = "error"), r;
      }

      function v(e) {
        var t = null;

        switch (e) {
          case "lerc":
            t = f;
            break;

          case "lerc2":
            t = w;
            break;

          case "jpg":
            t = x;
            break;

          case "png":
            t = y;
            break;

          case "bsq":
            t = function t(e, _t2) {
              return m(e, _t2, "bsq");
            };

            break;

          case "bip":
            t = function t(e, _t3) {
              return m(e, _t3, "bip");
            };

            break;

          case "tiff":
            t = g;
            break;

          case "error":
            t = function t() {
              throw new n("rasterCodec:decode", "input data contains error");
            };

            break;

          default:
            t = function t() {
              throw new n("rasterCodec:decode", "unsupported raster format");
            };

        }

        return t;
      }

      function C(e) {
        var t = e ? e.toLowerCase() : "f32",
            r = null,
            a = null;

        switch (t) {
          case "u1":
          case "u2":
          case "u4":
          case "u8":
            a = Math.pow(2, 8) - 1, r = Uint8Array;
            break;

          case "u16":
            a = a || Math.pow(2, 16) - 1, r = Uint16Array;
            break;

          case "u32":
            a = a || Math.pow(2, 32) - 1, r = Uint32Array;
            break;

          case "s8":
            a = a || 0 - Math.pow(2, 7), r = Int8Array;
            break;

          case "s16":
            a = a || 0 - Math.pow(2, 15), r = Int16Array;
            break;

          case "s32":
            a = a || 0 - Math.pow(2, 31), r = Int32Array;
            break;

          default:
            r = Float32Array;
        }

        return {
          pixelTypeCtor: r,
          noDataValue: a
        };
      }

      function D(e, t) {
        if (void 0 === t && (t = 1), e) {
          var r = e.pixels,
              a = e.width,
              i = e.height,
              n = e.mask;

          if (r && 0 !== r.length) {
            var o,
                s,
                d,
                l,
                c,
                u,
                h,
                p = r.length,
                f = a - 1,
                w = i - 1,
                g = [],
                m = e.getPixelArrayConstructor(e.pixelType);

            if (0 === t) {
              for (o = 0; o < p; o++) {
                for (c = r[o], u = new m(f * w), s = 0; s < w; s++) for (l = s * a, d = 0; d < f; d++) u[s * f + d] = c[l + d];

                g.push(u);
              }

              if (n) for (h = new Uint8Array(f * w), s = 0; s < w; s++) for (l = s * a, d = 0; d < f; d++) h[s * f + d] = n[l + d];
            } else {
              for (o = 0; o < p; o++) {
                for (c = r[o], u = new m(f * w), s = 0; s < w; s++) for (l = s * a, d = 0; d < f; d++) u[s * f + d] = (c[l + d] + c[l + d + 1] + c[l + a + d] + c[l + a + d + 1]) / 4;

                g.push(u);
              }

              if (n) for (h = new Uint8Array(f * w), s = 0; s < w; s++) for (l = s * a, d = 0; d < f; d++) h[s * f + d] = Math.min.apply(null, [n[l + d], n[l + d + 1], n[l + a + d], n[l + a + d + 1]]);
            }

            e.width = f, e.height = w, e.mask = h, e.pixels = g;
          }
        }
      }

      var A = function () {
        var e = new ArrayBuffer(4),
            t = new Uint8Array(e);
        return new Uint32Array(e)[0] = 1, 1 === t[0];
      }();

      return function () {
        function e() {}

        return e.getFormat = function (e) {
          var t = b(e);
          return "lerc2" === t ? t = "lerc" : "error" === t && (t = ""), t;
        }, e.decode = function (e, t, o) {
          return a(this, void 0, void 0, function () {
            var a, s, d;
            return r(this, function (r) {
              switch (r.label) {
                case 0:
                  if (null == e) throw new n("rasterCodec:decode", "missing encodeddata parameter.");
                  if (null == t || null == t.width || null == t.height) throw new n("rasterCodec:decode", "requires width and height in options parameter.");
                  return a = t.format && t.format.toLowerCase(), (!a || "bsq" !== a && "bip" !== a) && (a = b(e)), !t.useCanvas || "jpg" !== a && "png" !== a ? [3, 2] : [4, k(e, t, o)];

                case 1:
                  return d = r.sent(), [3, 3];

                case 2:
                  s = v(a), t.isPoint && (t = i({}, t), t.width++, t.height++), d = s(e, t), t.isPoint && D(d), r.label = 3;

                case 3:
                  return [2, d];
              }
            });
          });
        }, e;
      }();
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/layers/support/rasterFormats/Raw.js":
  /*!************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/layers/support/rasterFormats/Raw.js ***!
    \************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiLayersSupportRasterFormatsRawJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () {
      "use strict";

      return {
        decodeBIP: function decodeBIP(e, t) {
          var n = t.pixelType,
              r = t.bandCount,
              a = [],
              i = t.width * t.height,
              h = this.getBandCount(e, t);
          r = r || h;

          var s,
              o,
              g,
              c,
              u = e.byteLength - e.byteLength % (i * this._getPixelLength(n)),
              d = i * h,
              y = new n(e, 0, d);

          for (s = 0; s < r; s++) {
            for (c = new n(i), o = 0; o < i; o++) c[o] = y[o * h + s];

            a.push(c);
          }

          return u < e.byteLength - 1 && (g = this._decodeMask(e.slice(u), t)), {
            pixels: a,
            mask: g
          };
        },
        decodeBSQ: function decodeBSQ(e, t) {
          var n = t.pixelType,
              r = t.bandCount;
          void 0 !== r && null !== r || (r = this.getBandCount(e, t));

          var a,
              i,
              h = [],
              s = t.width * t.height,
              o = s * r,
              g = e.byteLength - e.byteLength % (s * this._getPixelLength(n)),
              c = new n(e, 0, o);

          for (a = 0; a < r; a++) h.push(c.subarray(a * s, (a + 1) * s));

          return g < e.byteLength - 1 && (i = this._decodeMask(e.slice(g), t)), {
            pixels: h,
            mask: i
          };
        },
        getBandCount: function getBandCount(e, t) {
          var n = t.width * t.height,
              r = t.pixelType;
          return Math.floor(e.byteLength / (n * this._getPixelLength(r)));
        },
        _getPixelLength: function _getPixelLength(e) {
          var t = 1;

          switch (e) {
            case Uint8Array:
            case Int8Array:
            case Uint8ClampedArray:
              t = 1;
              break;

            case Uint16Array:
            case Int16Array:
              t = 2;
              break;

            case Uint32Array:
            case Int32Array:
            case Float32Array:
              t = 4;
              break;

            case Float64Array:
              t = 8;
          }

          return t;
        },
        _decodeMask: function _decodeMask(e, t) {
          var n = t.width * t.height;
          if (8 * e.byteLength < n) return null;
          var r = new Uint8Array(e, 0, Math.ceil(n / 8)),
              a = new Uint8Array(t.width * t.height),
              i = 0,
              h = 0,
              s = 0,
              o = 0;

          for (s = 0; s < r.length - 1; s++) for (h = r[s], o = 7; o >= 0; o--) a[i++] = h >> o & 1;

          for (o = 7; i < n - 1;) h = r[r.length - 1], a[i++] = h >> o & 1, o--;

          return a;
        }
      };
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/layers/support/rasterFormats/TiffDecoder.js":
  /*!********************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/layers/support/rasterFormats/TiffDecoder.js ***!
    \********************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiLayersSupportRasterFormatsTiffDecoderJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(
    /*! ./Jpg */
    "./node_modules/arcgis-js-api/layers/support/rasterFormats/Jpg.js"), __webpack_require__(
    /*! ./Zlib */
    "./node_modules/arcgis-js-api/layers/support/rasterFormats/Zlib.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t) {
      "use strict";

      var n = function n() {
        var e = new ArrayBuffer(4),
            t = new Uint8Array(e),
            n = new Uint32Array(e);
        return t[0] = 1, t[1] = 2, t[2] = 3, t[3] = 4, 67305985 === n[0];
      },
          a = function () {
        var e = [];
        return e[254] = "NEWSUBFILETYPE", e[255] = "SUBFILETYPE", e[256] = "IMAGEWIDTH", e[257] = "IMAGELENGTH", e[258] = "BITSPERSAMPLE", e[259] = "COMPRESSION", e[262] = "PHOTOMETRICINTERPRETATION", e[263] = "THRESHHOLDING", e[264] = "CELLWIDTH", e[265] = "CELLLENGTH", e[266] = "FILLORDER", e[269] = "DOCUMENTNAME", e[270] = "IMAGEDESCRIPTION", e[271] = "MAKE", e[272] = "MODEL", e[273] = "STRIPOFFSETS", e[274] = "ORIENTATION", e[277] = "SAMPLESPERPIXEL", e[278] = "ROWSPERSTRIP", e[279] = "STRIPBYTECOUNTS", e[280] = "MINSAMPLEVALUE", e[281] = "MAXSAMPLEVALUE", e[282] = "XRESOLUTION", e[283] = "YRESOLUTION", e[284] = "PLANARCONFIGURATION", e[285] = "PAGENAME", e[286] = "XPOSITION", e[287] = "YPOSITION", e[288] = "FREEOFFSETS", e[289] = "FREEBYTECOUNTS", e[290] = "GRAYRESPONSEUNIT", e[291] = "GRAYRESPONSECURVE", e[292] = "T4OPTIONS", e[293] = "T6OPTIONS", e[296] = "RESOLUTIONUNIT", e[297] = "PAGENUMBER", e[300] = "COLORRESPONSEUNIT", e[301] = "TRANSFERFUNCTION", e[305] = "SOFTWARE", e[306] = "DATETIME", e[315] = "ARTIST", e[316] = "HOSTCOMPUTER", e[317] = "PREDICTOR", e[318] = "WHITEPOINT", e[319] = "PRIMARYCHROMATICITIES", e[320] = "COLORMAP", e[321] = "HALFTONEHINTS", e[322] = "TILEWIDTH", e[323] = "TILELENGTH", e[324] = "TILEOFFSETS", e[325] = "TILEBYTECOUNTS", e[326] = "BADFAXLINES", e[327] = "CLEANFAXDATA", e[328] = "CONSECUTIVEBADFAXLINES", e[330] = "SUBIFD", e[332] = "INKSET", e[333] = "INKNAMES", e[334] = "NUMBEROFINKS", e[336] = "DOTRANGE", e[337] = "TARGETPRINTER", e[338] = "EXTRASAMPLES", e[339] = "SAMPLEFORMAT", e[340] = "SMINSAMPLEVALUE", e[341] = "SMAXSAMPLEVALUE", e[342] = "TRANSFERRANGE", e[347] = "JPEGTABLES", e[512] = "JPEGPROC", e[513] = "JPEGIFOFFSET", e[514] = "JPEGIFBYTECOUNT", e[515] = "JPEGRESTARTINTERVAL", e[517] = "JPEGLOSSLESSPREDICTORS", e[518] = "JPEGPOINTTRANSFORM", e[519] = "JPEGQTABLES", e[520] = "JPEGDCTABLES", e[521] = "JPEGACTABLES", e[529] = "YCBCRCOEFFICIENTS", e[530] = "YCBCRSUBSAMPLING", e[531] = "YCBCRPOSITIONING", e[532] = "REFERENCEBLACKWHITE", e[33550] = "GEOPIXELSCALE", e[33922] = "GEOTIEPOINTS", e[33432] = "COPYRIGHT", e[42112] = "GDAL_METADATA", e[42113] = "GDAL_NODATA", e[50844] = "RPCCOEFFICIENT", e[34735] = "GEOKEYDIRECTORY", e[34736] = "GEODOUBLEPARAMS", e[34737] = "GEOASCIIPARAMS", e;
      }(),
          r = function r(e) {
        var t = a[e];
        return void 0 === t && (t = "unknown" + e), t;
      },
          i = [0, 1, 1, 2, 4, 8, 1, 1, 2, 4, 8, 4, 8],
          A = function A(e) {
        var t,
            n = new DataView(e, 0, 8),
            a = n.getUint16(0, !1);
        if (18761 === a) t = !0;else {
          if (19789 !== a) throw "unexpected endianess byte";
          t = !1;
        }
        if (42 !== n.getUint16(2, t)) throw "unexpected tiff identifier";
        return {
          littleEndian: t,
          firstIFD: n.getUint32(4, t)
        };
      },
          E = function E(e, t) {
        var n = "UNKNOWN";
        return 3 === e ? n = "F32" : 1 === e ? t <= 8 ? n = "U8" : t <= 16 ? n = "U16" : t <= 32 && (n = "U32") : 2 === e && (t <= 8 ? n = "S8" : t <= 16 ? n = "S16" : t <= 32 && (n = "S32")), n;
      },
          s = function s(e, t, n) {
        var a,
            r,
            A = [],
            E = n.fieldType,
            s = n.fieldValueCount,
            l = n.fieldValueOffset,
            T = l,
            I = i[E],
            S = 8 * I,
            o = s * I,
            f = s * i[E] * 8;
        if (f <= 32) {
          if (t || (l >>>= 32 - f), 1 === s) A = [l];else for (r = 0; r < s; r++) A.push(l << S * r >>> 32 - S);
        } else for (T = l; T < l + o; T += I) {
          switch (E) {
            case 1:
            case 2:
              a = new DataView(e, T, 1).getUint8(0);
              break;

            case 3:
              a = new DataView(e, T, 2).getUint16(0, t);
              break;

            case 4:
              a = new DataView(e, T, 4).getUint32(0, t);
              break;

            case 5:
              a = new DataView(e, T, 4).getUint32(0, t) / new DataView(e, T + 4, 4).getUint32(0, t);
              break;

            case 6:
              a = new DataView(e, T, 1).getInt8(0);
              break;

            case 8:
              a = new DataView(e, T, 2).getInt16(0, t);
              break;

            case 9:
              a = new DataView(e, T, 4).getInt32(0, t);
              break;

            case 10:
              a = new DataView(e, T, 4).getInt32(0, t) / new DataView(e, T + 4, 4).getInt32(0, t);
              break;

            case 11:
              a = new DataView(e, T, 4).getFloat32(0, t);
              break;

            case 12:
              a = new DataView(e, T, 8).getFloat64(0, t);
              break;

            case 7:
              a = null;
              break;

            default:
              a = null;
          }

          A.push(a);
        }

        if (2 === E) {
          var O = "",
              N = A;

          for (A = [], r = 0; r < N.length; r++) 0 === N[r] && "" !== O ? (A.push(O), O = "") : O += String.fromCharCode(N[r]);

          "" === O && 0 !== A.length || A.push(O);
        }

        return A;
      },
          l = function l(e, t) {
        var n, a, i, A, E, l, T, I, S, o, f, O;
        n = t.littleEndian, a = t.firstIFD;

        for (var N = []; a;) {
          for (i = new DataView(e, a, 2).getUint16(0, n), A = a + 2, a = new DataView(e, A + 12 * i, 4).getUint32(0, n), f = {}, E = 0; E < i; E++) l = new DataView(e, A, 12), T = l.getUint16(0, n), I = l.getUint16(2, n), S = l.getUint32(4, n), o = l.getUint32(8, n), A += 12, 7 === I || I > 12 || (O = {
            fieldTag: T,
            fieldType: I,
            fieldValueCount: S,
            fieldValueOffset: o
          }, O.fieldValues = s(e, n, O), f[r(T)] = {
            type: I,
            values: O.fieldValues
          });

          N.push(f);
        }

        return N;
      },
          T = function T(a, r, i) {
        var A,
            s,
            l,
            T = n() === r.littleEndian,
            I = i.TILEOFFSETS ? i.TILEOFFSETS.values : void 0;

        if (void 0 !== I) {
          var S = i.TILEBYTECOUNTS.values,
              o = i.TILEWIDTH.values[0],
              f = i.TILELENGTH.values[0],
              O = i.IMAGEWIDTH.values[0],
              N = i.IMAGELENGTH.values[0],
              R = O * N,
              w = i.BITSPERSAMPLE.values[0],
              u = i.SAMPLESPERPIXEL.values[0],
              U = i.SAMPLEFORMAT ? i.SAMPLEFORMAT.values[0] : 1,
              P = E(U, w);
          if (1 !== (i.PLANARCONFIGURATION ? i.PLANARCONFIGURATION.values[0] : 1)) throw console.log("can only handle PLANARCONFIGURATION=1"), "can only handle PLANARCONFIGURATION=1";
          var L = i.COMPRESSION ? i.COMPRESSION.values[0] : 1;
          if (1 !== L && 6 !== L && 8 !== L && 32946 !== L) throw console.log("this compression is not supported at this moment"), "this compression is not supported at this moment";

          if (!(U > 3)) {
            3 === U ? (s = new Float32Array(R * u), l = Float32Array) : 1 === U ? w <= 8 ? (s = new Uint8Array(R * u), l = Uint8Array) : w <= 16 ? (s = new Uint16Array(R * u), l = Uint16Array) : w <= 32 && (s = new Uint32Array(R * u), l = Uint32Array) : 2 === U && (w <= 8 ? (s = new Int8Array(R * u), l = Int8Array) : w <= 16 ? (s = new Int16Array(R * u), l = Int16Array) : w <= 32 && (s = new Int32Array(R * u), l = Int32Array));
            var h,
                c,
                y,
                g,
                F,
                d,
                M,
                C,
                D,
                v,
                G,
                p,
                B,
                V,
                b,
                H,
                m,
                x,
                k = Math.ceil(O / o);
            if (w % 8 == 0) for (h = 0; h < I.length; h++) {
              if (d = Math.floor(h / k) * f, M = h % k * o, C = (d * O + M) * u, "U8" === P || "S8" === P || T) {
                if (8 === L || 32946 === L) V = new Uint8Array(a, I[h], S[h]), m = new t(V), x = m.getBytes(), B = new ArrayBuffer(x.length), V = new Uint8Array(B), V.set(x), V.length !== o * f * u * w / 8 && console.log("tile byte counts is different than expected");else if (6 === L) {
                  V = new Uint8Array(a, I[h], S[h]);
                  var Y = new e();
                  Y.parse(V);
                  var W = Y.getData(Y.width, Y.height);
                  B = new ArrayBuffer(W.length), V = new Uint8Array(B), V.set(W);
                } else 1 === L && (S[h] !== o * f * u * w / 8 && console.log("tile byte counts is different than expected"), B = a.slice(I[h], I[h] + S[h]));
                A = new l(B);
              } else {
                switch (8 === L || 32946 === L ? (V = new Uint8Array(a, I[h], S[h]), m = new t(V), V = m.getBytes(), B = new ArrayBuffer(V.length), b = new Uint8Array(B), V.length !== o * f * u * w / 8 && console.log("tile byte counts is different than expected")) : 1 === L && (S[h] !== o * f * u * w / 8 && console.log("tile byte counts is different than expected"), B = new ArrayBuffer(S[h]), V = new Uint8Array(a, I[h], S[h]), b = new Uint8Array(B)), P) {
                  case "U16":
                  case "S16":
                    for (y = 0; y < V.length; y += 2) b[y] = V[y + 1], b[y + 1] = V[y];

                    break;

                  case "U32":
                  case "S32":
                  case "F32":
                    for (y = 0; y < V.length; y += 4) b[y] = V[y + 3], b[y + 1] = V[y + 2], b[y + 2] = V[y + 1], b[y + 3] = V[y];

                }

                A = new l(B);
              }

              for (v = 0, D = C, p = Math.min(o, O - M), G = Math.min(f, N - d), g = 0; g < G; g++) for (D = C + g * O * u, v = g * o * u, F = 0; F < p * u; F++, D++, v++) s[D] = A[v];
            }
            var X = {
              width: O,
              height: N,
              pixelType: P
            };
            if (1 === u) X.pixels = [s];else for (X.pixels = [], h = 0; h < u; h++) {
              for (H = new l(R), c = 0; c < R; c++) H[c] = s[c * u + h];

              X.pixels.push(H);
            }
            return X;
          }
        }
      },
          I = function I(a, r, i) {
        var A,
            s,
            l,
            T = n() === r.littleEndian,
            I = i.STRIPOFFSETS ? i.STRIPOFFSETS.values : void 0;

        if (void 0 !== I) {
          var S = i.STRIPBYTECOUNTS.values,
              o = i.ROWSPERSTRIP.values,
              f = i.IMAGEWIDTH.values[0],
              O = i.IMAGELENGTH.values[0],
              N = f * O,
              R = i.BITSPERSAMPLE.values[0],
              w = i.SAMPLESPERPIXEL.values[0],
              u = i.SAMPLEFORMAT ? i.SAMPLEFORMAT.values[0] : 1,
              U = E(u, R);
          if (1 !== (i.PLANARCONFIGURATION ? i.PLANARCONFIGURATION.values[0] : 1)) throw console.log("can only handle PLANARCONFIGURATION=1"), "can only handle PLANARCONFIGURATION=1";
          var P = i.COMPRESSION ? i.COMPRESSION.values[0] : 1;
          if (1 !== P && 6 !== P && 8 !== P && 32946 !== P) throw console.log("compressed tiff is not supported at this moment"), "compressed tiff is not supported at this moment";

          if (!(u > 3)) {
            3 === u ? (s = new Float32Array(N * w), l = Float32Array) : 1 === u ? R <= 8 ? (s = new Uint8Array(N * w), l = Uint8Array) : R <= 16 ? (s = new Uint16Array(N * w), l = Uint16Array) : R <= 32 && (s = new Uint32Array(N * w), l = Uint32Array) : 2 === u && (R <= 8 ? (s = new Int8Array(N * w), l = Int8Array) : R <= 16 ? (s = new Int16Array(N * w), l = Int16Array) : R <= 32 && (s = new Int32Array(f * O * w), l = Int32Array));
            var L,
                h,
                c,
                y,
                g,
                F,
                d,
                M,
                C,
                D,
                v = o;
            if (R % 8 == 0) for (L = 0; L < I.length; L++) {
              if (y = L * (o * f) * w, v = (L + 1) * o > O ? O - L * o : o, "U8" === U || "S8" === U || T) {
                if (8 === P || 32946 === P) F = new Uint8Array(a, I[L], S[L]), C = new t(F), D = C.getBytes(), g = new ArrayBuffer(D.length), F = new Uint8Array(g), F.set(D), F.length !== v * f * w * R / 8 && console.log("strip byte counts is different than expected");else if (6 === P) {
                  F = new Uint8Array(a, I[L], S[L]);
                  var G = new e();
                  G.parse(F);
                  var p = G.getData(G.width, G.height);
                  g = new ArrayBuffer(p.length), F = new Uint8Array(g), F.set(p);
                } else 1 === P && (S[L] !== v * f * w * R / 8 && console.log("strip byte counts is different than expected"), g = a.slice(I[L], I[L] + S[L]));
                A = new l(g);
              } else {
                switch (6 === P || 8 === P || 32946 === P ? (F = new Uint8Array(a, I[L], S[L]), C = new t(F), F = C.getBytes(), g = new ArrayBuffer(F.length), d = new Uint8Array(g), F.length !== v * f * w * R / 8 && console.log("strip byte counts is different than expected")) : 1 === P && (S[L] !== v * f * w * R / 8 && console.log("strip byte counts is different than expected"), g = new ArrayBuffer(S[L]), F = new Uint8Array(a, I[L], S[L]), d = new Uint8Array(g)), U) {
                  case "U16":
                  case "S16":
                    for (c = 0; c < F.length; c += 2) d[c] = F[c + 1], d[c + 1] = F[c];

                    break;

                  case "U32":
                  case "S32":
                  case "F32":
                    for (c = 0; c < F.length; c += 4) d[c] = F[c + 3], d[c + 1] = F[c + 2], d[c + 2] = F[c + 1], d[c + 3] = F[c];

                }

                A = new l(g);
              }

              s.set(A, y);
            }
            var B = {
              width: f,
              height: O,
              pixelType: U
            };
            if (1 === w) B.pixels = [s];else for (B.pixels = [], L = 0; L < w; L++) {
              for (M = new l(N), h = 0; h < N; h++) M[h] = s[h * w + L];

              B.pixels.push(M);
            }
            return B;
          }
        }
      };

      return {
        decode: function decode(e) {
          var t = A(e),
              n = l(e, t);
          if (0 === n.length) throw "no valid image file directory";
          var a,
              r,
              i = n[0],
              E = void 0 === i.GDAL_NODATA || null === i.GDAL_NODATA ? null : parseFloat(i.GDAL_NODATA.values[0]);

          if (i.TILEOFFSETS ? r = T(e, t, i) : i.STRIPOFFSETS && (r = I(e, t, i)), null !== E) {
            if (r.maskData = new Uint8Array(r.width * r.height), Math.abs(E) > 1e24) for (a = 0; a < r.width * r.height; a++) Math.abs((r.pixels[0][a] - E) / E) < 1e-6 ? r.maskData[a] = 0 : r.maskData[a] = 1;else for (a = 0; a < r.width * r.height; a++) r.pixels[0][a] === E ? r.maskData[a] = 0 : r.maskData[a] = 1;
            r.noDataValue = E;
          }

          return r;
        }
      };
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/layers/support/rasterFormats/Zlib.js":
  /*!*************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/layers/support/rasterFormats/Zlib.js ***!
    \*************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiLayersSupportRasterFormatsZlibJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.

    /*
        * Extracted from pdf.js
        * https://github.com/andreasgal/pdf.js
        *
        * Copyright (c) 2011 Mozilla Foundation
        *
        * Contributors: Andreas Gal <gal@mozilla.com>
        *               Chris G Jones <cjones@mozilla.com>
        *               Shaon Barman <shaon.barman@gmail.com>
        *               Vivien Nicolas <21@vingtetun.org>
        *               Justin D'Arcangelo <justindarc@gmail.com>
        *               Yury Delendik
        *
        * Permission is hereby granted, free of charge, to any person obtaining a
        * copy of this software and associated documentation files (the "Software"),
        * to deal in the Software without restriction, including without limitation
        * the rights to use, copy, modify, merge, publish, distribute, sublicense,
        * and/or sell copies of the Software, and to permit persons to whom the
        * Software is furnished to do so, subject to the following conditions:
        *
        * The above copyright notice and this permission notice shall be included in
        * all copies or substantial portions of the Software.
        *
        * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
        * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
        * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
        * DEALINGS IN THE SOFTWARE.
        */


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () {
      var t = function () {
        function t() {
          this.pos = 0, this.bufferLength = 0, this.eof = !1, this.buffer = null;
        }

        return t.prototype = {
          ensureBuffer: function ensureBuffer(t) {
            var e = this.buffer,
                r = e ? e.byteLength : 0;
            if (t < r) return e;

            for (var i = 512; i < t;) i <<= 1;

            for (var s = new Uint8Array(i), f = 0; f < r; ++f) s[f] = e[f];

            return this.buffer = s;
          },
          getByte: function getByte() {
            for (var t = this.pos; this.bufferLength <= t;) {
              if (this.eof) return null;
              this.readBlock();
            }

            return this.buffer[this.pos++];
          },
          getBytes: function getBytes(t) {
            var e = this.pos;

            if (t) {
              this.ensureBuffer(e + t);

              for (var r = e + t; !this.eof && this.bufferLength < r;) this.readBlock();

              var i = this.bufferLength;
              r > i && (r = i);
            } else {
              for (; !this.eof;) this.readBlock();

              var r = this.bufferLength;
            }

            return this.pos = r, this.buffer.subarray(e, r);
          },
          lookChar: function lookChar() {
            for (var t = this.pos; this.bufferLength <= t;) {
              if (this.eof) return null;
              this.readBlock();
            }

            return String.fromCharCode(this.buffer[this.pos]);
          },
          getChar: function getChar() {
            for (var t = this.pos; this.bufferLength <= t;) {
              if (this.eof) return null;
              this.readBlock();
            }

            return String.fromCharCode(this.buffer[this.pos++]);
          },
          makeSubStream: function makeSubStream(t, e, r) {
            for (var i = t + e; this.bufferLength <= i && !this.eof;) this.readBlock();

            return new Stream(this.buffer, t, e, r);
          },
          skip: function skip(t) {
            t || (t = 1), this.pos += t;
          },
          reset: function reset() {
            this.pos = 0;
          }
        }, t;
      }();

      return function () {
        function e(t) {
          throw new Error(t);
        }

        function r(r) {
          var i = 0,
              s = r[i++],
              f = r[i++];
          -1 != s && -1 != f || e("Invalid header in flate stream"), 8 != (15 & s) && e("Unknown compression method in flate stream"), ((s << 8) + f) % 31 != 0 && e("Bad FCHECK in flate stream"), 32 & f && e("FDICT bit set in flate stream"), this.bytes = r, this.bytesPos = i, this.codeSize = 0, this.codeBuf = 0, t.call(this);
        }

        if (!self || !self.Uint32Array) return null;
        var i = new Uint32Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]),
            s = new Uint32Array([3, 4, 5, 6, 7, 8, 9, 10, 65547, 65549, 65551, 65553, 131091, 131095, 131099, 131103, 196643, 196651, 196659, 196667, 262211, 262227, 262243, 262259, 327811, 327843, 327875, 327907, 258, 258, 258]),
            f = new Uint32Array([1, 2, 3, 4, 65541, 65543, 131081, 131085, 196625, 196633, 262177, 262193, 327745, 327777, 393345, 393409, 459009, 459137, 524801, 525057, 590849, 591361, 657409, 658433, 724993, 727041, 794625, 798721, 868353, 876545]),
            n = [new Uint32Array([459008, 524368, 524304, 524568, 459024, 524400, 524336, 590016, 459016, 524384, 524320, 589984, 524288, 524416, 524352, 590048, 459012, 524376, 524312, 589968, 459028, 524408, 524344, 590032, 459020, 524392, 524328, 59e4, 524296, 524424, 524360, 590064, 459010, 524372, 524308, 524572, 459026, 524404, 524340, 590024, 459018, 524388, 524324, 589992, 524292, 524420, 524356, 590056, 459014, 524380, 524316, 589976, 459030, 524412, 524348, 590040, 459022, 524396, 524332, 590008, 524300, 524428, 524364, 590072, 459009, 524370, 524306, 524570, 459025, 524402, 524338, 590020, 459017, 524386, 524322, 589988, 524290, 524418, 524354, 590052, 459013, 524378, 524314, 589972, 459029, 524410, 524346, 590036, 459021, 524394, 524330, 590004, 524298, 524426, 524362, 590068, 459011, 524374, 524310, 524574, 459027, 524406, 524342, 590028, 459019, 524390, 524326, 589996, 524294, 524422, 524358, 590060, 459015, 524382, 524318, 589980, 459031, 524414, 524350, 590044, 459023, 524398, 524334, 590012, 524302, 524430, 524366, 590076, 459008, 524369, 524305, 524569, 459024, 524401, 524337, 590018, 459016, 524385, 524321, 589986, 524289, 524417, 524353, 590050, 459012, 524377, 524313, 589970, 459028, 524409, 524345, 590034, 459020, 524393, 524329, 590002, 524297, 524425, 524361, 590066, 459010, 524373, 524309, 524573, 459026, 524405, 524341, 590026, 459018, 524389, 524325, 589994, 524293, 524421, 524357, 590058, 459014, 524381, 524317, 589978, 459030, 524413, 524349, 590042, 459022, 524397, 524333, 590010, 524301, 524429, 524365, 590074, 459009, 524371, 524307, 524571, 459025, 524403, 524339, 590022, 459017, 524387, 524323, 589990, 524291, 524419, 524355, 590054, 459013, 524379, 524315, 589974, 459029, 524411, 524347, 590038, 459021, 524395, 524331, 590006, 524299, 524427, 524363, 590070, 459011, 524375, 524311, 524575, 459027, 524407, 524343, 590030, 459019, 524391, 524327, 589998, 524295, 524423, 524359, 590062, 459015, 524383, 524319, 589982, 459031, 524415, 524351, 590046, 459023, 524399, 524335, 590014, 524303, 524431, 524367, 590078, 459008, 524368, 524304, 524568, 459024, 524400, 524336, 590017, 459016, 524384, 524320, 589985, 524288, 524416, 524352, 590049, 459012, 524376, 524312, 589969, 459028, 524408, 524344, 590033, 459020, 524392, 524328, 590001, 524296, 524424, 524360, 590065, 459010, 524372, 524308, 524572, 459026, 524404, 524340, 590025, 459018, 524388, 524324, 589993, 524292, 524420, 524356, 590057, 459014, 524380, 524316, 589977, 459030, 524412, 524348, 590041, 459022, 524396, 524332, 590009, 524300, 524428, 524364, 590073, 459009, 524370, 524306, 524570, 459025, 524402, 524338, 590021, 459017, 524386, 524322, 589989, 524290, 524418, 524354, 590053, 459013, 524378, 524314, 589973, 459029, 524410, 524346, 590037, 459021, 524394, 524330, 590005, 524298, 524426, 524362, 590069, 459011, 524374, 524310, 524574, 459027, 524406, 524342, 590029, 459019, 524390, 524326, 589997, 524294, 524422, 524358, 590061, 459015, 524382, 524318, 589981, 459031, 524414, 524350, 590045, 459023, 524398, 524334, 590013, 524302, 524430, 524366, 590077, 459008, 524369, 524305, 524569, 459024, 524401, 524337, 590019, 459016, 524385, 524321, 589987, 524289, 524417, 524353, 590051, 459012, 524377, 524313, 589971, 459028, 524409, 524345, 590035, 459020, 524393, 524329, 590003, 524297, 524425, 524361, 590067, 459010, 524373, 524309, 524573, 459026, 524405, 524341, 590027, 459018, 524389, 524325, 589995, 524293, 524421, 524357, 590059, 459014, 524381, 524317, 589979, 459030, 524413, 524349, 590043, 459022, 524397, 524333, 590011, 524301, 524429, 524365, 590075, 459009, 524371, 524307, 524571, 459025, 524403, 524339, 590023, 459017, 524387, 524323, 589991, 524291, 524419, 524355, 590055, 459013, 524379, 524315, 589975, 459029, 524411, 524347, 590039, 459021, 524395, 524331, 590007, 524299, 524427, 524363, 590071, 459011, 524375, 524311, 524575, 459027, 524407, 524343, 590031, 459019, 524391, 524327, 589999, 524295, 524423, 524359, 590063, 459015, 524383, 524319, 589983, 459031, 524415, 524351, 590047, 459023, 524399, 524335, 590015, 524303, 524431, 524367, 590079]), 9],
            o = [new Uint32Array([327680, 327696, 327688, 327704, 327684, 327700, 327692, 327708, 327682, 327698, 327690, 327706, 327686, 327702, 327694, 0, 327681, 327697, 327689, 327705, 327685, 327701, 327693, 327709, 327683, 327699, 327691, 327707, 327687, 327703, 327695, 0]), 5];
        return r.prototype = Object.create(t.prototype), r.prototype.getBits = function (t) {
          for (var r, i = this.codeSize, s = this.codeBuf, f = this.bytes, n = this.bytesPos; i < t;) void 0 === (r = f[n++]) && e("Bad encoding in flate stream"), s |= r << i, i += 8;

          return r = s & (1 << t) - 1, this.codeBuf = s >> t, this.codeSize = i -= t, this.bytesPos = n, r;
        }, r.prototype.getCode = function (t) {
          for (var r = t[0], i = t[1], s = this.codeSize, f = this.codeBuf, n = this.bytes, o = this.bytesPos; s < i;) {
            var a;
            void 0 === (a = n[o++]) && e("Bad encoding in flate stream"), f |= a << s, s += 8;
          }

          var h = r[f & (1 << i) - 1],
              u = h >> 16,
              l = 65535 & h;
          return (0 == s || s < u || 0 == u) && e("Bad encoding in flate stream"), this.codeBuf = f >> u, this.codeSize = s - u, this.bytesPos = o, l;
        }, r.prototype.generateHuffmanTable = function (t) {
          for (var e = t.length, r = 0, i = 0; i < e; ++i) t[i] > r && (r = t[i]);

          for (var s = 1 << r, f = new Uint32Array(s), n = 1, o = 0, a = 2; n <= r; ++n, o <<= 1, a <<= 1) for (var h = 0; h < e; ++h) if (t[h] == n) {
            for (var u = 0, l = o, i = 0; i < n; ++i) u = u << 1 | 1 & l, l >>= 1;

            for (var i = u; i < s; i += a) f[i] = n << 16 | h;

            ++o;
          }

          return [f, r];
        }, r.prototype.readBlock = function () {
          function t(t, e, r, i, s) {
            for (var f = t.getBits(r) + i; f-- > 0;) e[C++] = s;
          }

          var r = this.getBits(3);

          if (1 & r && (this.eof = !0), 0 == (r >>= 1)) {
            var a,
                h = this.bytes,
                u = this.bytesPos;
            void 0 === (a = h[u++]) && e("Bad block header in flate stream");
            var l = a;
            void 0 === (a = h[u++]) && e("Bad block header in flate stream"), l |= a << 8, void 0 === (a = h[u++]) && e("Bad block header in flate stream");
            var d = a;
            void 0 === (a = h[u++]) && e("Bad block header in flate stream"), d |= a << 8, d != (65535 & ~l) && e("Bad uncompressed block length in flate stream"), this.codeBuf = 0, this.codeSize = 0;
            var c = this.bufferLength,
                v = this.ensureBuffer(c + l),
                b = c + l;
            this.bufferLength = b;

            for (var g = c; g < b; ++g) {
              if (void 0 === (a = h[u++])) {
                this.eof = !0;
                break;
              }

              v[g] = a;
            }

            return void (this.bytesPos = u);
          }

          var B, y;
          if (1 == r) B = n, y = o;else if (2 == r) {
            for (var p = this.getBits(5) + 257, m = this.getBits(5) + 1, k = this.getBits(4) + 4, w = Array(i.length), C = 0; C < k;) w[i[C++]] = this.getBits(3);

            for (var L = this.generateHuffmanTable(w), S = 0, C = 0, A = p + m, U = new Array(A); C < A;) {
              var P = this.getCode(L);
              16 == P ? t(this, U, 2, 3, S) : 17 == P ? t(this, U, 3, 3, S = 0) : 18 == P ? t(this, U, 7, 11, S = 0) : U[C++] = S = P;
            }

            B = this.generateHuffmanTable(U.slice(0, p)), y = this.generateHuffmanTable(U.slice(p, A));
          } else e("Unknown block type in flate stream");

          for (var v = this.buffer, z = v ? v.length : 0, H = this.bufferLength;;) {
            var T = this.getCode(B);
            if (T < 256) H + 1 >= z && (v = this.ensureBuffer(H + 1), z = v.length), v[H++] = T;else {
              if (256 == T) return void (this.bufferLength = H);
              T -= 257, T = s[T];
              var E = T >> 16;
              E > 0 && (E = this.getBits(E));
              var S = (65535 & T) + E;
              T = this.getCode(y), T = f[T], E = T >> 16, E > 0 && (E = this.getBits(E));
              var F = (65535 & T) + E;
              H + S >= z && (v = this.ensureBuffer(H + S), z = v.length);

              for (var I = 0; I < S; ++I, ++H) v[H] = v[H - F];
            }
          }
        }, r;
      }();
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/rasterRenderers.js":
  /*!*******************************************************!*\
    !*** ./node_modules/arcgis-js-api/rasterRenderers.js ***!
    \*******************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiRasterRenderersJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ./core/Warning */
    "./node_modules/arcgis-js-api/core/Warning.js"), __webpack_require__(
    /*! ./renderers/ClassBreaksRenderer */
    "./node_modules/arcgis-js-api/renderers/ClassBreaksRenderer.js"), __webpack_require__(
    /*! ./renderers/RasterColormapRenderer */
    "./node_modules/arcgis-js-api/renderers/RasterColormapRenderer.js"), __webpack_require__(
    /*! ./renderers/RasterStretchRenderer */
    "./node_modules/arcgis-js-api/renderers/RasterStretchRenderer.js"), __webpack_require__(
    /*! ./renderers/UniqueValueRenderer */
    "./node_modules/arcgis-js-api/renderers/UniqueValueRenderer.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, r, n, s, a, t, u) {
      function d(e) {
        return e ? R[e.type] || null : null;
      }

      function l(e, r) {
        if (!e) return null;
        var s = d(e);

        if (s) {
          var a = new s();
          return a.read(e, r), a;
        }

        return r && r.messages && e && r.messages.push(new n("renderer:unsupported", "Renderers of type '" + (e.type || "unknown") + "' are not supported", {
          definition: e,
          context: r
        })), null;
      }

      function o(e, r) {
        return l(e, r);
      }

      Object.defineProperty(r, "__esModule", {
        value: !0
      }), r.ClassBreaksRenderer = s, r.RasterColormapRenderer = a, r.RasterStretchRenderer = t, r.UniqueValueRenderer = u, r.rasterRendererTypes = {
        key: "type",
        base: null,
        typeMap: {
          "unique-value": r.UniqueValueRenderer,
          "class-breaks": r.ClassBreaksRenderer,
          "raster-colormap": r.RasterColormapRenderer,
          "raster-stretch": r.RasterStretchRenderer
        }
      };
      var R = {
        uniqueValue: r.UniqueValueRenderer,
        classBreaks: r.ClassBreaksRenderer,
        rasterStretch: r.RasterStretchRenderer,
        rasterColormap: r.RasterColormapRenderer
      };
      r.read = l, r.fromJSON = o;
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/renderers/RasterColormapRenderer.js":
  /*!************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/renderers/RasterColormapRenderer.js ***!
    \************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiRenderersRasterColormapRendererJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../core/tsSupport/declareExtendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__(
    /*! ../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! ../core/tsSupport/paramHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/paramHelper.js"), __webpack_require__(
    /*! ../core/JSONSupport */
    "./node_modules/arcgis-js-api/core/JSONSupport.js"), __webpack_require__(
    /*! ../core/accessorSupport/decorators */
    "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js"), __webpack_require__(
    /*! ./support/ColormapInfo */
    "./node_modules/arcgis-js-api/renderers/support/ColormapInfo.js"), __webpack_require__(
    /*! ./support/colorRampUtils */
    "./node_modules/arcgis-js-api/renderers/support/colorRampUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (r, o, e, t, n, p, a, c, l) {
      return function (r) {
        function o(o) {
          var e = r.call(this, o) || this;
          return e.type = "raster-colormap", e;
        }

        e(o, r), n = o, o.createFromColormap = function (r) {
          if (!r) return null;
          var o = 5 === r[0].length,
              e = r.sort(function (r) {
            return r[0] - r[1];
          }),
              t = o ? e.map(function (r) {
            return c.fromJSON({
              value: r[0],
              color: r.slice(1, 5),
              label: String(r[0])
            });
          }) : e.map(function (r) {
            return c.fromJSON({
              value: r[0],
              color: r.slice(1, 4).concat([255]),
              label: String(r[0])
            });
          });
          return new n({
            colormapInfos: t
          });
        }, o.createFromColorramp = function (r) {
          var o = l.convertColorRampToColormap(r, 256);
          return n.createFromColormap(o);
        }, o.prototype.clone = function () {
          return new n({
            colormapInfos: this.colormapInfos.map(function (r) {
              return r.toJSON();
            })
          });
        }, o.prototype.extractColormap = function () {
          return this.colormapInfos.map(function (r) {
            return [r.value, r.color.r, r.color.g, r.color.b, r.color.a > 1 ? r.color.a : 255 * r.color.a & 255];
          }).sort(function (r, o) {
            return r[0] - o[0];
          });
        };
        var n;
        return t([a.property({
          type: [c],
          json: {
            write: !0
          }
        })], o.prototype, "colormapInfos", void 0), t([a.enumeration.serializable()({
          rasterColormap: "raster-colormap"
        })], o.prototype, "type", void 0), o = n = t([a.subclass("esri.renderers.RasterColormapRenderer")], o);
      }(a.declared(p.JSONSupport));
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/renderers/RasterStretchRenderer.js":
  /*!***********************************************************************!*\
    !*** ./node_modules/arcgis-js-api/renderers/RasterStretchRenderer.js ***!
    \***********************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiRenderersRasterStretchRendererJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../core/tsSupport/declareExtendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__(
    /*! ../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! ../core/tsSupport/paramHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/paramHelper.js"), __webpack_require__(
    /*! ../core/JSONSupport */
    "./node_modules/arcgis-js-api/core/JSONSupport.js"), __webpack_require__(
    /*! ../core/lang */
    "./node_modules/arcgis-js-api/core/lang.js"), __webpack_require__(
    /*! ../core/accessorSupport/decorators */
    "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js"), __webpack_require__(
    /*! ./support/stretchRendererUtils */
    "./node_modules/arcgis-js-api/renderers/support/stretchRendererUtils.js"), __webpack_require__(
    /*! ../tasks/support/colorRamps */
    "./node_modules/arcgis-js-api/tasks/support/colorRamps.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (t, e, r, o, p, a, i, s, n, l) {
      return function (t) {
        function e(e) {
          var r = t.call(this, e) || this;
          return r.colorRamp = null, r.computeGamma = !1, r.dynamicRangeAdjustment = !0, r.gamma = [], r.maxPercent = null, r.minPercent = null, r.numberOfStandardDeviations = null, r.outputMax = null, r.outputMin = null, r.sigmoidStrengthLevel = null, r.statistics = [], r.histograms = null, r.useGamma = !1, r.stretchType = "none", r.type = "raster-stretch", r;
        }

        r(e, t), p = e, e.prototype.readColorRamp = function (t) {
          if (t) return l.fromJSON(t);
        }, e.prototype.writeStatistics = function (t, e, r) {
          null == t || 0 === t.length ? t = null : t[0] instanceof Array || (t = t.map(function (t) {
            return [t.min, t.max, t.avg, t.stddev];
          })), e[r] = t;
        }, e.prototype.clone = function () {
          return new p({
            stretchType: this.stretchType,
            outputMin: this.outputMin,
            outputMax: this.outputMax,
            useGamma: this.useGamma,
            computeGamma: this.computeGamma,
            statistics: i.clone(this.statistics),
            gamma: i.clone(this.gamma),
            sigmoidStrengthLevel: this.sigmoidStrengthLevel,
            numberOfStandardDeviations: this.numberOfStandardDeviations,
            minPercent: this.minPercent,
            maxPercent: this.maxPercent,
            colorRamp: i.clone(this.colorRamp),
            histograms: i.clone(this.histograms),
            dynamicRangeAdjustment: this.dynamicRangeAdjustment
          });
        };
        var p;
        return o([s.property({
          types: l.types,
          json: {
            write: !0
          }
        })], e.prototype, "colorRamp", void 0), o([s.reader("colorRamp")], e.prototype, "readColorRamp", null), o([s.property({
          type: Boolean,
          json: {
            write: !0
          }
        })], e.prototype, "computeGamma", void 0), o([s.property({
          type: Boolean,
          json: {
            write: {
              target: "dra"
            },
            read: {
              source: "dra"
            }
          }
        })], e.prototype, "dynamicRangeAdjustment", void 0), o([s.property({
          type: [Number],
          json: {
            write: {
              allowNull: !0
            }
          }
        })], e.prototype, "gamma", void 0), o([s.property({
          type: Number,
          json: {
            write: {
              allowNull: !0
            }
          }
        })], e.prototype, "maxPercent", void 0), o([s.property({
          type: Number,
          json: {
            write: {
              allowNull: !0
            }
          }
        })], e.prototype, "minPercent", void 0), o([s.property({
          type: Number,
          json: {
            write: {
              allowNull: !0
            }
          }
        })], e.prototype, "numberOfStandardDeviations", void 0), o([s.property({
          type: Number,
          json: {
            read: {
              source: "max"
            },
            write: {
              target: "max",
              allowNull: !0
            }
          }
        })], e.prototype, "outputMax", void 0), o([s.property({
          type: Number,
          json: {
            read: {
              source: "min"
            },
            write: {
              target: "min",
              allowNull: !0
            }
          }
        })], e.prototype, "outputMin", void 0), o([s.property({
          type: Number,
          json: {
            write: {
              allowNull: !0
            }
          }
        })], e.prototype, "sigmoidStrengthLevel", void 0), o([s.property({
          json: {
            write: {
              allowNull: !0
            }
          }
        })], e.prototype, "statistics", void 0), o([s.property()], e.prototype, "histograms", void 0), o([s.writer("statistics")], e.prototype, "writeStatistics", null), o([s.property({
          type: Boolean,
          json: {
            write: !0
          }
        })], e.prototype, "useGamma", void 0), o([s.property({
          type: n.stretchTypeJSONDict.apiValues,
          json: {
            type: n.stretchTypeJSONDict.jsonValues,
            read: n.stretchTypeJSONDict.read,
            write: n.stretchTypeJSONDict.write
          }
        })], e.prototype, "stretchType", void 0), o([s.enumeration.serializable()({
          rasterStretch: "raster-stretch"
        })], e.prototype, "type", void 0), e = p = o([s.subclass("esri.renderers.RasterStretchRenderer")], e);
      }(s.declared(a.JSONSupport));
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/renderers/support/ColormapInfo.js":
  /*!**********************************************************************!*\
    !*** ./node_modules/arcgis-js-api/renderers/support/ColormapInfo.js ***!
    \**********************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiRenderersSupportColormapInfoJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../core/tsSupport/declareExtendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/paramHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/paramHelper.js"), __webpack_require__(
    /*! ../../Color */
    "./node_modules/arcgis-js-api/Color.js"), __webpack_require__(
    /*! ../../core/JSONSupport */
    "./node_modules/arcgis-js-api/core/JSONSupport.js"), __webpack_require__(
    /*! ../../core/accessorSupport/decorators */
    "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (r, e, o, t, p, l, u, n) {
      return function (r) {
        function e() {
          var e = null !== r && r.apply(this, arguments) || this;
          return e.value = null, e.label = null, e.color = null, e;
        }

        return o(e, r), t([n.property({
          type: Number,
          json: {
            write: !0
          }
        })], e.prototype, "value", void 0), t([n.property({
          type: String,
          json: {
            write: !0
          }
        })], e.prototype, "label", void 0), t([n.property({
          type: l,
          json: {
            write: !0
          }
        })], e.prototype, "color", void 0), e = t([n.subclass("esri.renderers.support.ColormapInfo")], e);
      }(n.declared(u.JSONSupport));
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/renderers/support/RasterSymbolizer.js":
  /*!**************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/renderers/support/RasterSymbolizer.js ***!
    \**************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiRenderersSupportRasterSymbolizerJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../core/tsSupport/assignHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/assignHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/declareExtendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/generatorHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/generatorHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/awaiterHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/awaiterHelper.js"), __webpack_require__(
    /*! ../../rasterRenderers */
    "./node_modules/arcgis-js-api/rasterRenderers.js"), __webpack_require__(
    /*! ../../core/JSONSupport */
    "./node_modules/arcgis-js-api/core/JSONSupport.js"), __webpack_require__(
    /*! ../../core/Logger */
    "./node_modules/arcgis-js-api/core/Logger.js"), __webpack_require__(
    /*! ../../core/accessorSupport/decorators */
    "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js"), __webpack_require__(
    /*! ../../layers/support/RasterInfo */
    "./node_modules/arcgis-js-api/layers/support/RasterInfo.js"), __webpack_require__(
    /*! ../../layers/support/rasterFunctions/pixelUtils */
    "./node_modules/arcgis-js-api/layers/support/rasterFunctions/pixelUtils.js"), __webpack_require__(
    /*! ../support/colorRampUtils */
    "./node_modules/arcgis-js-api/renderers/support/colorRampUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (r, e, t, o, s, a, n, i, l, u, p, c, m, f) {
      var h = u.getLogger("esri.renderers.support.RasterSymbolizer");
      return function (r) {
        function e(e) {
          return r.call(this, e) || this;
        }

        return o(e, r), e.prototype.readRenderer = function (r, e, t) {
          return i.read(r, t);
        }, e.prototype.bind = function () {
          if (this.lookup = {}, !this.renderer) return !1;
          var r;

          switch (this.renderer.type) {
            case "unique-value":
              r = this._updateUVRenderer(this.renderer);
              break;

            case "raster-colormap":
              r = this._updateColormapRenderer(this.renderer);
              break;

            case "raster-stretch":
              r = this._updateStretchRenderer(this.renderer);
              break;

            case "class-breaks":
              r = this._updateClassBreaksRenderer(this.renderer);
          }

          return r;
        }, e.prototype.symbolize = function (r) {
          if (!(r && r.pixels && r.pixels.length > 0 && 0 !== r.validPixelCount)) return r;

          try {
            r.pixels.length > 3 && (r = m.extractBands(r, [0, 1, 2]));
            var e = void 0;

            switch (this.renderer.type) {
              case "unique-value":
              case "raster-colormap":
                e = this._symbolize_colormap(r);
                break;

              case "class-breaks":
                e = this._symbolize_classBreaks(r);
                break;

              case "raster-stretch":
                e = this._symbolize_stretch(r);
            }

            return e;
          } catch (e) {
            return h.error("symbolize", e.message), r;
          }
        }, e.prototype._isLUTChanged = function (r) {
          if (!this.lookup) return !0;

          if ("raster-stretch" === this.renderer.type) {
            var e = this.renderer.colorRamp;
            if (r) return JSON.stringify(e.toJSON()) !== JSON.stringify(this.lookup.rendererJson.colorRamp);
            var o = t({}, this.renderer.toJSON()),
                s = t({}, this.lookup.rendererJson);
            return o.colorRamp = null, s.colorRamp = null, JSON.stringify(this.renderer.toJSON()) !== JSON.stringify(this.lookup.rendererJson);
          }

          return JSON.stringify(this.renderer.toJSON()) !== JSON.stringify(this.lookup.rendererJson);
        }, e.prototype._symbolize_colormap = function (r) {
          if (this._isLUTChanged()) {
            if (!this.bind()) return r;
          }

          return m.colorize(r, this.lookup.lut);
        }, e.prototype._symbolize_classBreaks = function (r) {
          var e = this.rasterInfo.pixelType,
              t = ["u8", "u16", "s8", "s16"].indexOf(e) > -1;

          if (this._isLUTChanged()) {
            if (!this.bind()) return r;
          }

          return t ? m.colorize(r, this.lookup.lut) : m.remapColor(r, this.lookup.lut);
        }, e.prototype._symbolize_stretch = function (r) {
          var e,
              o,
              s,
              a = this.rasterInfo.pixelType,
              n = this.renderer,
              i = ["u8", "u16", "s8", "s16"].indexOf(a) > -1,
              l = n.gamma,
              u = n.useGamma;

          if (i) {
            if (n.dynamicRangeAdjustment) o = this.getStretchCutoff(n, r), e = m.createStretchLUT(t({
              pixelType: a
            }, o, {
              gamma: u ? l : null
            }));else if (this._isLUTChanged()) {
              var p = this.bind();
              if (!p) return r;
              e = this.lookup ? this.lookup.lut : null;
            } else e = this.lookup ? this.lookup.lut : null;
            if (!e) return r;
            s = m.lookupPixels(r, e);
          } else o = this.getStretchCutoff(n, r), s = m.stretch(r, t({}, o, {
            gamma: u ? l : null
          }));

          if (n.colorRamp) {
            if (this._isLUTChanged(!0)) {
              var p = this.bind();
              if (!p) return r;
            }

            s = m.colorize(s, this.lookup.colorRampLut);
          }

          return s;
        }, e.prototype._updateUVRenderer = function (r) {
          var e = this.rasterInfo,
              t = e.bandCount,
              o = e.attributeTable,
              s = e.statistics,
              a = e.pixelType,
              n = ["u8", "s8"].indexOf(a) > -1 && s && null != s[0].min && null != s[0].max;
          if (1 !== t || !o && !n) return !1;
          var i = r.field;
          if (!i) return !1;
          var l = [];

          if (o) {
            var u = o.fields.filter(function (r) {
              return "value" === r.name.toLowerCase();
            })[0];
            if (!u) return !1;
            o.features.forEach(function (e) {
              var t = r.uniqueValueInfos.filter(function (r) {
                return String(r.value) === String(e.attributes[i]);
              })[0],
                  o = t && t.symbol && t.symbol.color;
              o && l.push([e.attributes[u.name], o.r, o.g, o.b, o.a > 1 ? o.a : Math.round(255 * o.a)]);
            });
          } else {
            if ("Value" !== i.toLowerCase()) return !1;
            r.uniqueValueInfos.forEach(function (r) {
              var e = r && r.symbol && r.symbol.color;
              e && l.push([parseInt(r.value, 10), e.r, e.g, e.b, e.a > 1 ? e.a : Math.round(255 * e.a)]);
            });
          }

          if (0 === l.length) return !1;
          var p = m.createColormapLUT({
            colormap: l
          });
          return this.lookup = {
            rendererJson: r.toJSON(),
            lut: p
          }, !0;
        }, e.prototype._updateColormapRenderer = function (r) {
          var e = r.extractColormap();
          if (!e || 0 === e.length) return !1;
          var t = m.createColormapLUT({
            colormap: e
          });
          return this.lookup = {
            rendererJson: r.toJSON(),
            lut: t
          }, !0;
        }, e.prototype._updateClassBreaksRenderer = function (r) {
          var e = this.rasterInfo.pixelType,
              t = ["u8", "u16", "s8", "s16"].indexOf(e) > -1,
              o = r.classBreakInfos;
          if (!o || 0 === o.length) return !1;
          var s = o.sort(function (r, e) {
            return r.minValue - e.minValue;
          }),
              a = s[s.length - 1];

          if (!t) {
            var n = s.map(function (r) {
              return {
                value: r.minValue,
                mappedColor: [r.symbol.color.r, r.symbol.color.g, r.symbol.color.b, r.symbol.color.a > 1 ? r.symbol.color.a : Math.round(255 * r.symbol.color.a)]
              };
            });
            return n.push({
              value: a.maxValue,
              mappedColor: [a.symbol.color.g, a.symbol.color.b, a.symbol.color.a > 1 ? a.symbol.color.a : Math.round(255 * a.symbol.color.a)]
            }), this.lookup = {
              rendererJson: r.toJSON(),
              lut: n
            }, !0;
          }

          var i,
              l = [],
              u = 0;
          s.forEach(function (r) {
            i = Math.ceil(r.minValue), u = Math.floor(r.maxValue);

            for (var e = i; e < u; e++) l.push([e, r.symbol.color.r, r.symbol.color.g, r.symbol.color.b, r.symbol.color.a > 1 ? r.symbol.color.a : Math.round(255 * r.symbol.color.a)]);
          }), l.push([a.maxValue, a.symbol.color.r, a.symbol.color.g, a.symbol.color.b, a.symbol.color.a > 1 ? a.symbol.color.a : Math.round(255 * a.symbol.color.a)]);
          var p = m.createColormapLUT({
            colormap: l,
            fillUnspecified: !1
          });
          return this.lookup = {
            rendererJson: r.toJSON(),
            lut: p
          }, !0;
        }, e.prototype._updateStretchRenderer = function (r) {
          if (!(r.statistics || this.rasterInfo.statistics || r.dynamicRangeAdjustment)) return !1;
          var e = r.histograms || this.rasterInfo.histograms;
          if (!r.dynamicRangeAdjustment && "percent-clip" === r.stretchType && !e) return !1;
          var o = r.gamma,
              s = r.useGamma,
              a = r.colorRamp,
              n = this.rasterInfo.pixelType;

          if (!r.dynamicRangeAdjustment && ["u8", "u16", "s8", "s16"].indexOf(n) > -1) {
            var i = this.getStretchCutoff(r),
                l = m.createStretchLUT(t({
              pixelType: n
            }, i, {
              gamma: s ? o : null
            }));
            this.lookup = {
              rendererJson: r.toJSON(),
              lut: l
            };
          }

          if (a) {
            var u = f.convertColorRampToColormap(a, 256);
            this.lookup.colorRampLut = m.createColormapLUT({
              colormap: u
            }), this.lookup.rendererJson = r.toJSON();
          }

          return !0;
        }, e.prototype.getStretchCutoff = function (r, e) {
          var t,
              o,
              s = r.stretchType;
          if (r.dynamicRangeAdjustment) {
            if ("min-max" === s && e.statistics) t = e.statistics.map(function (r) {
              return [r.minValue, r.maxValue, 0, 0];
            });else {
              var a = m.estimateStatisticsHistograms(e);
              t = a.statistics, o = a.histograms;
            }
          } else t = r.statistics, o = r.histograms || this.rasterInfo.histograms;
          var n,
              i,
              l,
              u,
              p,
              c,
              f,
              h,
              d,
              y = t || o ? (t || o).length : this.rasterInfo.bandCount,
              b = [],
              g = [];

          switch (t[0] instanceof Array || (t = t.map(function (r) {
            return [r.min, r.max, r.avg, r.stddev];
          })), s) {
            case "min-max":
              for (h = 0; h < y; h++) b[h] = t[h][0], g[h] = t[h][1];

              break;

            case "standard-deviation":
              for (h = 0; h < y; h++) b[h] = t[h][2] - r.numberOfStandardDeviations * t[h][3], g[h] = t[h][2] + r.numberOfStandardDeviations * t[h][3], b[h] < t[h][0] && (b[h] = t[h][0]), g[h] > t[h][1] && (g[h] = t[h][1]);

              break;

            case "percent-clip":
              for (h = 0; h < y; h++) {
                for (n = o[h], p = new Uint32Array(n.size), u = n.counts, l = 0, i = (n.max - n.min) / n.size, f = -.5 === n.min && 1 === i ? .5 : 0, d = 0; d < n.size; d++) l += u[d], p[d] = l;

                for (c = r.minPercent * l / 100, d = 0; d < n.size; d++) if (p[d] > c) {
                  b[h] = n.min + i * (d + f);
                  break;
                }

                for (c = (1 - r.maxPercent / 100) * l, d = n.size - 2; d >= 0; d--) if (p[d] < c) {
                  g[h] = n.min + i * (d + 2 - f);
                  break;
                }
              }

              break;

            default:
              for (h = 0; h < y; h++) b[h] = t[h][0], g[h] = t[h][1];

          }

          return {
            minCutOff: b,
            maxCutOff: g,
            outMax: r.outputMax || 255,
            outMin: r.outputMin || 0
          };
        }, s([p.property({
          types: i.rasterRendererTypes,
          json: {
            write: !0
          }
        })], e.prototype, "renderer", void 0), s([p.reader("renderer")], e.prototype, "readRenderer", null), s([p.property({
          type: c,
          json: {
            write: !0
          }
        })], e.prototype, "rasterInfo", void 0), s([p.property({
          json: {
            write: !0
          }
        })], e.prototype, "lookup", void 0), e = s([p.subclass("esri.renderers.support.RasterSymbolizer")], e);
      }(p.declared(l.JSONSupport));
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/renderers/support/colorRampUtils.js":
  /*!************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/renderers/support/colorRampUtils.js ***!
    \************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiRenderersSupportColorRampUtilsJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../Color */
    "./node_modules/arcgis-js-api/Color.js"), __webpack_require__(
    /*! ../../core/colorUtils */
    "./node_modules/arcgis-js-api/core/colorUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (o, r, e, l) {
      function t(o, r) {
        if (!o || !r || o.length !== r.length) return !1;

        for (var e = 0; e < o.length; e++) if (o[e] > r[e] + 2 || o[e] < r[e] - 2) return !1;

        return !0;
      }

      function i(o, r, e) {
        var t = l.toLAB(o),
            i = l.toLAB(r),
            d = {
          l: t.l * (1 - e) + e * i.l,
          a: t.a * (1 - e) + e * i.a,
          b: t.b * (1 - e) + e * i.b
        };
        return l.toRGB(d);
      }

      function d(o, l) {
        if (o) {
          var i,
              d = l || r.PREDEFINED_JSON_COLOR_RAMPS,
              p = null;
          return "algorithmic" === o.type ? d.some(function (r) {
            if (t(o.fromColor.toRgb(), r.fromColor) && t(o.toColor.toRgb(), r.toColor)) return p = r.id, !0;
          }) : "multipart" === o.type && d.some(function (r) {
            if (o.colorRamps && r.colorRamps && o.colorRamps.length === r.colorRamps.length && (i = o.colorRamps, !r.colorRamps.some(function (o, r) {
              if (!t(i[r].fromColor.toRgb(), new e(o.fromColor).toRgb()) || !t(i[r].toColor.toRgb(), new e(o.toColor).toRgb())) return !0;
            }))) {
              if (p) return !0;
              p = r.id;
            }
          }), p;
        }
      }

      function p(o) {
        var e = d(o);
        return e ? r.PREDEFINED_COLOR_RAMP_NAME_MAP[e] : null;
      }

      function n(o, r) {
        if (o && r) {
          for (var l, t, d, p, n, f = "multipart" === o.type ? o.colorRamps.length : 1, C = [], m = [], a = 0, g = 0; g < f; g++) C[g] = {
            start: null,
            end: null
          }, C[g].start = a, C[g].end = a + 1 / f, a = C[g].end;

          for (var g = 0; g < r; g++) !function (f) {
            p = f / r, C.forEach(function (C, a) {
              p >= C.start && p < C.end && (n = (p - C.start) / (C.end - C.start), "multipart" === o.type ? (l = new e(o.colorRamps[a].fromColor), t = new e(o.colorRamps[a].toColor)) : (l = new e(o.fromColor), t = new e(o.toColor)), d = i(l, t, n), 0 === f ? m.push([f, l.r, l.g, l.b]) : f === r - 1 ? m.push([f, t.r, t.g, t.b]) : (d = i(l, t, n), m.push([f, d.r, d.g, d.b])));
            });
          }(g);

          return m;
        }
      }

      Object.defineProperty(r, "__esModule", {
        value: !0
      }), r.PREDEFINED_JSON_COLOR_RAMPS = [{
        id: "aspect_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [190, 190, 190],
          toColor: [255, 45, 8]
        }, {
          fromColor: [255, 45, 8],
          toColor: [255, 181, 61]
        }, {
          fromColor: [255, 181, 61],
          toColor: [255, 254, 52]
        }, {
          fromColor: [255, 254, 52],
          toColor: [0, 251, 50]
        }, {
          fromColor: [0, 251, 50],
          toColor: [255, 254, 52]
        }, {
          fromColor: [0, 253, 255],
          toColor: [0, 181, 255]
        }, {
          fromColor: [0, 181, 255],
          toColor: [26, 35, 253]
        }, {
          fromColor: [26, 35, 253],
          toColor: [255, 57, 251]
        }, {
          fromColor: [255, 57, 251],
          toColor: [255, 45, 8]
        }]
      }, {
        id: "blackToWhite_predefined",
        fromColor: [0, 0, 0],
        toColor: [255, 255, 255]
      }, {
        id: "blueBright_predefined",
        fromColor: [204, 204, 255],
        toColor: [0, 0, 224]
      }, {
        id: "blueLightToDark_predefined",
        fromColor: [211, 229, 232],
        toColor: [46, 100, 140]
      }, {
        id: "blueGreenBright_predefined",
        fromColor: [203, 245, 234],
        toColor: [48, 207, 146]
      }, {
        id: "blueGreenLightToDark_predefined",
        fromColor: [216, 242, 237],
        toColor: [21, 79, 74]
      }, {
        id: "brownLightToDark_predefined",
        fromColor: [240, 236, 170],
        toColor: [102, 72, 48]
      }, {
        id: "brownToBlueGreenDivergingBright_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [156, 85, 31],
          toColor: [255, 255, 191]
        }, {
          fromColor: [255, 255, 191],
          toColor: [33, 130, 145]
        }]
      }, {
        id: "brownToBlueGreenDivergingDark_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [110, 70, 45],
          toColor: [204, 204, 102]
        }, {
          fromColor: [204, 204, 102],
          toColor: [48, 100, 102]
        }]
      }, {
        id: "coefficientBias_predefined",
        fromColor: [214, 214, 255],
        toColor: [0, 57, 148]
      }, {
        id: "coldToHotDiverging_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [69, 117, 181],
          toColor: [255, 255, 191]
        }, {
          fromColor: [255, 255, 191],
          toColor: [214, 47, 39]
        }]
      }, {
        id: "conditionNumber_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [0, 97, 0],
          toColor: [255, 255, 0]
        }, {
          fromColor: [255, 255, 0],
          toColor: [255, 34, 0]
        }]
      }, {
        id: "cyanToPurple_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [0, 245, 245],
          toColor: [0, 0, 245]
        }, {
          fromColor: [0, 0, 245],
          toColor: [245, 0, 245]
        }]
      }, {
        id: "cyanLightToBlueDark_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [182, 237, 240],
          toColor: [31, 131, 224]
        }, {
          fromColor: [31, 131, 224],
          toColor: [9, 9, 145]
        }]
      }, {
        id: "distance_predefined",
        fromColor: [255, 200, 0],
        toColor: [0, 0, 255]
      }, {
        id: "elevation1_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [175, 240, 233],
          toColor: [255, 255, 179]
        }, {
          fromColor: [255, 255, 179],
          toColor: [0, 128, 64]
        }, {
          fromColor: [0, 128, 64],
          toColor: [252, 186, 3]
        }, {
          fromColor: [252, 186, 3],
          toColor: [128, 0, 0]
        }, {
          fromColor: [120, 0, 0],
          toColor: [105, 48, 13]
        }, {
          fromColor: [105, 48, 13],
          toColor: [171, 171, 171]
        }, {
          fromColor: [171, 171, 171],
          toColor: [255, 252, 255]
        }]
      }, {
        id: "elevation2_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [118, 219, 211],
          toColor: [255, 255, 199]
        }, {
          fromColor: [255, 255, 199],
          toColor: [255, 255, 128]
        }, {
          fromColor: [255, 255, 128],
          toColor: [217, 194, 121]
        }, {
          fromColor: [217, 194, 121],
          toColor: [135, 96, 38]
        }, {
          fromColor: [135, 96, 38],
          toColor: [150, 150, 181]
        }, {
          fromColor: [150, 150, 181],
          toColor: [181, 150, 181]
        }, {
          fromColor: [181, 150, 181],
          toColor: [255, 252, 255]
        }]
      }, {
        id: "errors_predefined",
        fromColor: [255, 235, 214],
        toColor: [196, 10, 10]
      }, {
        id: "grayLightToDark_predefined",
        fromColor: [219, 219, 219],
        toColor: [69, 69, 69]
      }, {
        id: "greenBright_predefined",
        fromColor: [204, 255, 204],
        toColor: [14, 204, 14]
      }, {
        id: "greenLightToDark_predefined",
        fromColor: [220, 245, 233],
        toColor: [34, 102, 51]
      }, {
        id: "greenToBlue_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [32, 204, 16],
          toColor: [0, 242, 242]
        }, {
          fromColor: [0, 242, 242],
          toColor: [2, 33, 227]
        }]
      }, {
        id: "orangeBright_predefined",
        fromColor: [255, 235, 204],
        toColor: [240, 118, 5]
      }, {
        id: "orangeLightToDark_predefined",
        fromColor: [250, 233, 212],
        toColor: [171, 65, 36]
      }, {
        id: "partialSpectrum_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [242, 241, 162],
          toColor: [255, 255, 0]
        }, {
          fromColor: [255, 255, 0],
          toColor: [255, 0, 0]
        }, {
          fromColor: [252, 3, 69],
          toColor: [176, 7, 237]
        }, {
          fromColor: [176, 7, 237],
          toColor: [2, 29, 173]
        }]
      }, {
        id: "partialSpectrum1Diverging_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [135, 38, 38],
          toColor: [240, 149, 12]
        }, {
          fromColor: [240, 149, 12],
          toColor: [255, 255, 191]
        }, {
          fromColor: [255, 255, 191],
          toColor: [74, 80, 181]
        }, {
          fromColor: [74, 80, 181],
          toColor: [39, 32, 122]
        }]
      }, {
        id: "partialSpectrum2Diverging_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [115, 77, 42],
          toColor: [201, 137, 52]
        }, {
          fromColor: [201, 137, 52],
          toColor: [255, 255, 191]
        }, {
          fromColor: [255, 255, 191],
          toColor: [91, 63, 176]
        }, {
          fromColor: [91, 63, 176],
          toColor: [81, 13, 97]
        }]
      }, {
        id: "pinkToYellowGreenDivergingBright_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [158, 30, 113],
          toColor: [255, 255, 191]
        }, {
          fromColor: [255, 255, 191],
          toColor: [99, 110, 45]
        }]
      }, {
        id: "pinkToYellowGreenDivergingDark_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [97, 47, 73],
          toColor: [204, 204, 102]
        }, {
          fromColor: [204, 204, 102],
          toColor: [22, 59, 15]
        }]
      }, {
        id: "precipitation_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [194, 82, 60],
          toColor: [237, 161, 19]
        }, {
          fromColor: [237, 161, 19],
          toColor: [255, 255, 0]
        }, {
          fromColor: [255, 255, 0],
          toColor: [0, 219, 0]
        }, {
          fromColor: [0, 219, 0],
          toColor: [32, 153, 143]
        }, {
          fromColor: [32, 153, 143],
          toColor: [11, 44, 122]
        }]
      }, {
        id: "prediction_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [40, 146, 199],
          toColor: [250, 250, 100]
        }, {
          fromColor: [250, 250, 100],
          toColor: [232, 16, 20]
        }]
      }, {
        id: "purpleBright_predefined",
        fromColor: [255, 204, 255],
        toColor: [199, 0, 199]
      }, {
        id: "purpleToGreenDivergingBright_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [77, 32, 150],
          toColor: [255, 255, 191]
        }, {
          fromColor: [255, 255, 191],
          toColor: [20, 122, 11]
        }]
      }, {
        id: "purpleToGreenDivergingDark_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [67, 14, 89],
          toColor: [204, 204, 102]
        }, {
          fromColor: [204, 204, 102],
          toColor: [24, 79, 15]
        }]
      }, {
        id: "purpleBlueBright_predefined",
        fromColor: [223, 184, 230],
        toColor: [112, 12, 242]
      }, {
        id: "purpleBlueLightToDark_predefined",
        fromColor: [229, 213, 242],
        toColor: [93, 44, 112]
      }, {
        id: "purpleRedBright_predefined",
        fromColor: [255, 204, 225],
        toColor: [199, 0, 99]
      }, {
        id: "purpleRedLightToDark_predefined",
        fromColor: [250, 215, 246],
        toColor: [143, 17, 57]
      }, {
        id: "redBright_predefined",
        fromColor: [255, 204, 204],
        toColor: [219, 0, 0]
      }, {
        id: "redLightToDark_predefined",
        fromColor: [255, 224, 224],
        toColor: [143, 10, 10]
      }, {
        id: "redToBlueDivergingBright_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [196, 69, 57],
          toColor: [255, 255, 191]
        }, {
          fromColor: [255, 255, 191],
          toColor: [48, 95, 207]
        }]
      }, {
        id: "redToBlueDivergingDark_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [107, 13, 13],
          toColor: [204, 204, 102]
        }, {
          fromColor: [204, 204, 102],
          toColor: [13, 53, 97]
        }]
      }, {
        id: "redToGreen_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [245, 0, 0],
          toColor: [245, 245, 0]
        }, {
          fromColor: [245, 245, 0],
          toColor: [0, 245, 0]
        }]
      }, {
        id: "redToGreenDivergingBright_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [186, 20, 20],
          toColor: [255, 255, 191]
        }, {
          fromColor: [255, 255, 191],
          toColor: [54, 145, 33]
        }]
      }, {
        id: "redToGreenDivergingDark_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [97, 21, 13],
          toColor: [204, 204, 102]
        }, {
          fromColor: [204, 204, 102],
          toColor: [16, 69, 16]
        }]
      }, {
        id: "slope_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [56, 168, 0],
          toColor: [255, 255, 0]
        }, {
          fromColor: [255, 255, 0],
          toColor: [255, 0, 0]
        }]
      }, {
        id: "spectrumFullBright_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [255, 0, 0],
          toColor: [255, 255, 0]
        }, {
          fromColor: [255, 255, 0],
          toColor: [0, 255, 255]
        }, {
          fromColor: [0, 255, 255],
          toColor: [0, 0, 255]
        }]
      }, {
        id: "spectrumFullDark_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [153, 0, 0],
          toColor: [153, 153, 0]
        }, {
          fromColor: [153, 153, 0],
          toColor: [0, 153, 153]
        }, {
          fromColor: [0, 153, 153],
          toColor: [0, 0, 153]
        }]
      }, {
        id: "spectrumFullLight_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [255, 153, 153],
          toColor: [255, 255, 153]
        }, {
          fromColor: [255, 255, 153],
          toColor: [153, 255, 255]
        }, {
          fromColor: [153, 255, 255],
          toColor: [153, 153, 255]
        }]
      }, {
        id: "surface_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [112, 153, 89],
          toColor: [242, 238, 162]
        }, {
          fromColor: [242, 238, 162],
          toColor: [242, 206, 133]
        }, {
          fromColor: [242, 206, 133],
          toColor: [194, 140, 124]
        }, {
          fromColor: [194, 140, 124],
          toColor: [255, 242, 255]
        }]
      }, {
        id: "temperature_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [255, 252, 255],
          toColor: [255, 0, 255]
        }, {
          fromColor: [255, 0, 255],
          toColor: [0, 0, 255]
        }, {
          fromColor: [0, 0, 255],
          toColor: [0, 255, 255]
        }, {
          fromColor: [0, 255, 255],
          toColor: [0, 255, 0]
        }, {
          fromColor: [0, 255, 0],
          toColor: [255, 255, 0]
        }, {
          fromColor: [255, 255, 0],
          toColor: [255, 128, 0]
        }, {
          fromColor: [255, 128, 0],
          toColor: [128, 0, 0]
        }]
      }, {
        id: "whiteToBlack_predefined",
        fromColor: [255, 255, 255],
        toColor: [0, 0, 0]
      }, {
        id: "yellowToDarkRed_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [255, 255, 128],
          toColor: [242, 167, 46]
        }, {
          fromColor: [242, 167, 46],
          toColor: [107, 0, 0]
        }]
      }, {
        id: "yellowToGreenToDarkBlue_predefined",
        type: "multipart",
        colorRamps: [{
          fromColor: [255, 255, 128],
          toColor: [56, 224, 9]
        }, {
          fromColor: [56, 224, 9],
          toColor: [26, 147, 171]
        }, {
          fromColor: [26, 147, 171],
          toColor: [12, 16, 120]
        }]
      }, {
        id: "yellowToRed_predefined",
        fromColor: [245, 245, 0],
        toColor: [255, 0, 0]
      }, {
        id: "yellowGreenBright_predefined",
        fromColor: [236, 252, 204],
        toColor: [157, 204, 16]
      }, {
        id: "yellowGreenLightToDark_predefined",
        fromColor: [215, 240, 175],
        toColor: [96, 107, 45]
      }], r.PREDEFINED_COLOR_RAMP_NAME_MAP = {
        aspect_predefined: "Aspect",
        blackToWhite_predefined: "Black to White",
        blueBright_predefined: "Blue Bright",
        blueLightToDark_predefined: "Blue Light to Dark",
        blueGreenBright_predefined: "Blue-Green Bright",
        blueGreenLightToDark_predefined: "Blue-Green Light to Dark",
        brownLightToDark_predefined: "Brown Light to Dark",
        brownToBlueGreenDivergingBright_predefined: "Brown to Blue Green Diverging, Bright",
        brownToBlueGreenDivergingDark_predefined: "Brown to Blue Green Diverging, Dark",
        coefficientBias_predefined: "Coefficient Bias",
        coldToHotDiverging_predefined: "Cold to Hot Diverging",
        conditionNumber_predefined: "Condition Number",
        cyanToPurple_predefined: "Cyan to Purple",
        cyanLightToBlueDark_predefined: "Cyan-Light to Blue-Dark",
        distance_predefined: "Distance",
        elevation1_predefined: "Elevation #1",
        elevation2_predefined: "Elevation #2",
        errors_predefined: "Errors",
        grayLightToDark_predefined: "Gray Light to Dark",
        greenBright_predefined: "Green Bright",
        greenLightToDark_predefined: "Green Light to Dark",
        greenToBlue_predefined: "Green to Blue",
        orangeBright_predefined: "Orange Bright",
        orangeLightToDark_predefined: "Orange Light to Dark",
        partialSpectrum_predefined: "Partial Spectrum",
        partialSpectrum1Diverging_predefined: "Partial Spectrum 1 Diverging",
        partialSpectrum2Diverging_predefined: "Partial Spectrum 2 Diverging",
        pinkToYellowGreenDivergingBright_predefined: "Pink to YellowGreen Diverging, Bright",
        pinkToYellowGreenDivergingDark_predefined: "Pink to YellowGreen Diverging, Dark",
        precipitation_predefined: "Precipitation",
        prediction_predefined: "Prediction",
        purpleBright_predefined: "Purple Bright",
        purpleToGreenDivergingBright_predefined: "Purple to Green Diverging, Bright",
        purpleToGreenDivergingDark_predefined: "Purple to Green Diverging, Dark",
        purpleBlueBright_predefined: "Purple-Blue Bright",
        purpleBlueLightToDark_predefined: "Purple-Blue Light to Dark",
        purpleRedBright_predefined: "Purple-Red Bright",
        purpleRedLightToDark_predefined: "Purple-Red Light to Dark",
        redBright_predefined: "Red Bright",
        redLightToDark_predefined: "Red Light to Dark",
        redToBlueDivergingBright_predefined: "Red to Blue Diverging, Bright",
        redToBlueDivergingDark_predefined: "Red to Blue Diverging, Dark",
        redToGreen_predefined: "Red to Green",
        redToGreenDivergingBright_predefined: "Red to Green Diverging, Bright",
        redToGreenDivergingDark_predefined: "Red to Green Diverging, Dark",
        slope_predefined: "Slope",
        spectrumFullBright_predefined: "Spectrum-Full Bright",
        spectrumFullDark_predefined: "Spectrum-Full Dark",
        spectrumFullLight_predefined: "Spectrum-Full Light",
        surface_predefined: "Surface",
        temperature_predefined: "Temperature",
        whiteToBlack_predefined: "White to Black",
        yellowToDarkRed_predefined: "Yellow to Dark Red",
        yellowToGreenToDarkBlue_predefined: "Yellow to Green to Dark Blue",
        yellowToRed_predefined: "Yellow to Red",
        yellowGreenBright_predefined: "Yellow-Green Bright",
        yellowGreenLightToDark_predefined: "Yellow-Green Light to Dark"
      }, r.getColorRampId = d, r.getColorRampName = p, r.convertColorRampToColormap = n;
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/renderers/support/stretchRendererUtils.js":
  /*!******************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/renderers/support/stretchRendererUtils.js ***!
    \******************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiRenderersSupportStretchRendererUtilsJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../core/jsonMap */
    "./node_modules/arcgis-js-api/core/jsonMap.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, i, n) {
      Object.defineProperty(i, "__esModule", {
        value: !0
      }), i.stretchTypeJSONDict = new n["default"]({
        none: "none",
        standardDeviation: "standard-deviation",
        histogramEqualization: "histogram-equalization",
        minMax: "min-max",
        percentClip: "percent-clip",
        sigmoid: "sigmoid"
      });
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/tasks/ImageServiceIdentifyTask.js":
  /*!**********************************************************************!*\
    !*** ./node_modules/arcgis-js-api/tasks/ImageServiceIdentifyTask.js ***!
    \**********************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiTasksImageServiceIdentifyTaskJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../core/tsSupport/declareExtendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__(
    /*! ../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! ../core/tsSupport/assignHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/assignHelper.js"), __webpack_require__(
    /*! ../request */
    "./node_modules/arcgis-js-api/request.js"), __webpack_require__(
    /*! ../core/maybe */
    "./node_modules/arcgis-js-api/core/maybe.js"), __webpack_require__(
    /*! ../core/accessorSupport/decorators */
    "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js"), __webpack_require__(
    /*! ../geometry/support/normalizeUtils */
    "./node_modules/arcgis-js-api/geometry/support/normalizeUtils.js"), __webpack_require__(
    /*! ./Task */
    "./node_modules/arcgis-js-api/tasks/Task.js"), __webpack_require__(
    /*! ./support/ImageServiceIdentifyResult */
    "./node_modules/arcgis-js-api/tasks/support/ImageServiceIdentifyResult.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, r, t, o, n, s, i, u, a, p, c) {
      return function (e) {
        function r() {
          return null !== e && e.apply(this, arguments) || this;
        }

        return t(r, e), r.prototype.execute = function (e, r) {
          var t = this,
              o = e.geometry ? [e.geometry] : [];
          return a.normalizeCentralMeridian(o).then(function (o) {
            var u = e.toJSON(),
                a = o && o[0];
            i.isSome(a) && (u.geometry = JSON.stringify(a.toJSON()));

            var p = t._encode(n({
              f: "json"
            }, t.parsedUrl.query, u)),
                c = n({
              query: p
            }, t.requestOptions, r);

            return s(t.parsedUrl.path + "/identify", c);
          }).then(function (e) {
            return c.fromJSON(e.data);
          });
        }, r = o([u.subclass("esri.tasks.ImageServiceIdentifyTask")], r);
      }(u.declared(p));
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/tasks/support/ImageServiceIdentifyParameters.js":
  /*!************************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/tasks/support/ImageServiceIdentifyParameters.js ***!
    \************************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiTasksSupportImageServiceIdentifyParametersJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../core/tsSupport/declareExtendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/assignHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/assignHelper.js"), __webpack_require__(
    /*! ../../TimeExtent */
    "./node_modules/arcgis-js-api/TimeExtent.js"), __webpack_require__(
    /*! ../../core/JSONSupport */
    "./node_modules/arcgis-js-api/core/JSONSupport.js"), __webpack_require__(
    /*! ../../core/accessorSupport/decorators */
    "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js"), __webpack_require__(
    /*! ../../geometry/Point */
    "./node_modules/arcgis-js-api/geometry/Point.js"), __webpack_require__(
    /*! ../../geometry/support/jsonUtils */
    "./node_modules/arcgis-js-api/geometry/support/jsonUtils.js"), __webpack_require__(
    /*! ../../layers/support/MosaicRule */
    "./node_modules/arcgis-js-api/layers/support/MosaicRule.js"), __webpack_require__(
    /*! ../../layers/support/RasterFunction */
    "./node_modules/arcgis-js-api/layers/support/RasterFunction.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, o, n, i, p, l, u, s, y, a) {
      return function (e) {
        function t() {
          var t = null !== e && e.apply(this, arguments) || this;
          return t.geometry = null, t.renderingRules = null, t.pixelSize = null, t.returnGeometry = !0, t.returnCatalogItems = !0, t.returnPixelValues = !0, t.maxItemCount = null, t.timeExtent = null, t.raster = void 0, t.viewId = void 0, t;
        }

        return r(t, e), t.prototype.writeGeometry = function (e, t, r) {
          null != e && (t.geometryType = s.getJsonType(e), t[r] = JSON.stringify(e.toJSON()));
        }, Object.defineProperty(t.prototype, "mosaicRule", {
          set: function set(e) {
            var t = e;
            t && t.mosaicMethod && (t = y.fromJSON(n({}, t.toJSON(), {
              mosaicMethod: t.mosaicMethod,
              mosaicOperation: t.mosaicOperation
            }))), this._set("mosaicRule", t);
          },
          enumerable: !0,
          configurable: !0
        }), t.prototype.writeMosaicRule = function (e, t, r) {
          null != e && (t[r] = JSON.stringify(e.toJSON()));
        }, Object.defineProperty(t.prototype, "renderingRule", {
          set: function set(e) {
            var t = e;
            t && t.rasterFunction && (t = a.fromJSON(n({}, t.toJSON(), {
              rasterFunction: t.rasterFunction,
              rasterFunctionArguments: t.rasterFunctionArguments
            }))), this._set("renderingRule", t);
          },
          enumerable: !0,
          configurable: !0
        }), t.prototype.writeRenderingRule = function (e, t, r) {
          null != e && (t[r] = JSON.stringify(e.toJSON()));
        }, t.prototype.writeRenderingRules = function (e, t, r) {
          null != e && (t[r] = JSON.stringify(e.map(function (e) {
            return e.toJSON();
          })));
        }, t.prototype.writePixelSize = function (e, t, r) {
          null != e && (t[r] = JSON.stringify(e.toJSON()));
        }, t.prototype.writeTimeExtent = function (e, t, r) {
          if (null != e) {
            var o = e.start ? e.start.getTime() : null,
                n = e.end ? e.end.getTime() : null;
            t[r] = null != o ? null != n ? o + "," + n : "" + o : null;
          }
        }, o([l.property({
          json: {
            write: !0
          }
        })], t.prototype, "geometry", void 0), o([l.writer("geometry")], t.prototype, "writeGeometry", null), o([l.property({
          type: y,
          json: {
            write: !0
          }
        })], t.prototype, "mosaicRule", null), o([l.writer("mosaicRule")], t.prototype, "writeMosaicRule", null), o([l.property({
          type: a,
          json: {
            write: !0
          }
        })], t.prototype, "renderingRule", null), o([l.writer("renderingRule")], t.prototype, "writeRenderingRule", null), o([l.property({
          type: [a],
          json: {
            write: !0
          }
        })], t.prototype, "renderingRules", void 0), o([l.writer("renderingRules")], t.prototype, "writeRenderingRules", null), o([l.property({
          type: u,
          json: {
            write: !0
          }
        })], t.prototype, "pixelSize", void 0), o([l.writer("pixelSize")], t.prototype, "writePixelSize", null), o([l.property({
          type: Boolean,
          json: {
            write: !0
          }
        })], t.prototype, "returnGeometry", void 0), o([l.property({
          type: Boolean,
          json: {
            write: !0
          }
        })], t.prototype, "returnCatalogItems", void 0), o([l.property({
          type: Boolean,
          json: {
            write: !0
          }
        })], t.prototype, "returnPixelValues", void 0), o([l.property({
          type: Number,
          json: {
            write: !0
          }
        })], t.prototype, "maxItemCount", void 0), o([l.property({
          type: i,
          json: {
            write: {
              target: "time"
            }
          }
        })], t.prototype, "timeExtent", void 0), o([l.writer("timeExtent")], t.prototype, "writeTimeExtent", null), o([l.property({
          json: {
            write: !0
          }
        })], t.prototype, "raster", void 0), o([l.property({
          json: {
            write: !0
          }
        })], t.prototype, "viewId", void 0), t = o([l.subclass("esri.tasks.support.ImageServiceIdentifyParameters")], t);
      }(l.declared(p.JSONSupport));
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/tasks/support/ImageServiceIdentifyResult.js":
  /*!********************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/tasks/support/ImageServiceIdentifyResult.js ***!
    \********************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiTasksSupportImageServiceIdentifyResultJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../core/tsSupport/declareExtendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! ../../core/JSONSupport */
    "./node_modules/arcgis-js-api/core/JSONSupport.js"), __webpack_require__(
    /*! ../../core/accessorSupport/decorators */
    "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js"), __webpack_require__(
    /*! ../../geometry/Point */
    "./node_modules/arcgis-js-api/geometry/Point.js"), __webpack_require__(
    /*! ./FeatureSet */
    "./node_modules/arcgis-js-api/tasks/support/FeatureSet.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, o, r, p, i, s, l) {
      return function (e) {
        function t() {
          var t = null !== e && e.apply(this, arguments) || this;
          return t.catalogItemVisibilities = null, t.catalogItems = null, t.location = null, t.name = null, t.objectId = null, t.processedValues = null, t.properties = null, t.value = null, t;
        }

        return o(t, e), r([i.property({
          json: {
            write: !0
          }
        })], t.prototype, "catalogItemVisibilities", void 0), r([i.property({
          type: l,
          json: {
            write: !0
          }
        })], t.prototype, "catalogItems", void 0), r([i.property({
          type: s,
          json: {
            write: !0
          }
        })], t.prototype, "location", void 0), r([i.property({
          json: {
            write: !0
          }
        })], t.prototype, "name", void 0), r([i.property({
          json: {
            write: !0
          }
        })], t.prototype, "objectId", void 0), r([i.property({
          json: {
            write: !0
          }
        })], t.prototype, "processedValues", void 0), r([i.property({
          json: {
            write: !0
          }
        })], t.prototype, "properties", void 0), r([i.property({
          json: {
            write: !0
          }
        })], t.prototype, "value", void 0), t = r([i.subclass("esri.tasks.support.ImageServiceIdentifyResult")], t);
      }(i.declared(p.JSONSupport));
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  }
}]);
//# sourceMappingURL=28-es5.js.map