(self.webpackChunkRemoteClient = self.webpackChunkRemoteClient || []).push([
  [2486, 5709, 7258],
  {
    23761: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => f });
      var o,
        s = r(29768),
        i = r(74569),
        n = r(86748),
        a = r(96467),
        l = r(74673),
        u = r(76506),
        c = r(42788),
        p = r(34250),
        d = (r(91306), r(92143), r(17533)),
        h = r(32422);
      r(21801),
        r(40642),
        r(71552),
        r(73796),
        r(97714),
        r(60947),
        r(2906),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(31450),
        r(26341),
        r(91597),
        r(86787),
        r(35132),
        r(89623),
        r(84069),
        r(44567),
        r(98380),
        r(92896),
        r(22781),
        r(57251),
        r(15324),
        r(76996),
        r(14249),
        r(9801),
        r(53523),
        r(59465),
        r(42911),
        r(46826),
        r(45433),
        r(60217),
        r(29107),
        r(30574),
        r(2157),
        r(25977),
        r(7471),
        r(54414),
        r(1648),
        r(8925),
        r(33921),
        r(3482),
        r(45154),
        r(16769),
        r(55531),
        r(30582),
        r(593),
        r(85699),
        r(63136),
        r(96055),
        r(47776),
        r(18033),
        r(6331),
        r(62048),
        r(4292),
        r(75626),
        r(72652),
        r(29641),
        r(30493),
        r(70821),
        r(82673),
        r(34229),
        r(37029),
        r(63571),
        r(30776),
        r(48027),
        r(54174),
        r(82426),
        r(63130),
        r(25696),
        r(66396),
        r(42775),
        r(95834),
        r(34394),
        r(57150),
        r(76726),
        r(20444),
        r(76393),
        r(78548),
        r(2497),
        r(49906),
        r(46527),
        r(48649),
        r(9960),
        r(3101),
        r(5853),
        r(39141),
        r(32101),
        r(38742),
        r(48243),
        r(34635),
        r(10401),
        r(49900),
        r(66284),
        r(82058),
        r(88762),
        r(73173),
        r(22739),
        r(20543),
        r(67477),
        r(78533),
        r(74653),
        r(91091),
        r(58943),
        r(70737),
        r(8487),
        r(17817),
        r(90814),
        r(15459),
        r(61847),
        r(16796),
        r(16955),
        r(22401),
        r(77894),
        r(55187),
        r(8586),
        r(44509),
        r(69814),
        r(11305),
        r(62259),
        r(44790),
        r(5909),
        r(60669),
        r(48208),
        r(51589);
      let y = (o = class extends l.a {
        constructor(...e) {
          super(...e),
            (this.isAggregate = !1),
            (this.layer = null),
            (this.popupTemplate = null),
            (this.sourceLayer = null),
            Object.defineProperty(this, 'uid', { value: (0, c.g)(), configurable: !0 });
        }
        normalizeCtorArgs(e, t, r, o) {
          return e && !e.declaredClass
            ? e
            : { geometry: e, symbol: t, attributes: r, popupTemplate: o };
        }
        set attributes(e) {
          const t = this._get('attributes');
          t !== e && (this._set('attributes', e), this._notifyLayer('attributes', t, e));
        }
        set geometry(e) {
          const t = this._get('geometry');
          t !== e && (this._set('geometry', e), this._notifyLayer('geometry', t, e));
        }
        set symbol(e) {
          const t = this._get('symbol');
          t !== e && (this._set('symbol', e), this._notifyLayer('symbol', t, e));
        }
        set visible(e) {
          const t = this._get('visible');
          t !== e && (this._set('visible', e), this._notifyLayer('visible', t, e));
        }
        getEffectivePopupTemplate(e = !1) {
          if (this.popupTemplate) return this.popupTemplate;
          for (const t of [this.sourceLayer, this.layer])
            if (t) {
              if ('popupTemplate' in t && t.popupTemplate) return t.popupTemplate;
              if (e && 'defaultPopupTemplate' in t && (0, u.i)(t.defaultPopupTemplate))
                return t.defaultPopupTemplate;
            }
          return null;
        }
        getAttribute(e) {
          return this.attributes && this.attributes[e];
        }
        setAttribute(e, t) {
          if (this.attributes) {
            const r = this.getAttribute(e);
            (this.attributes[e] = t), this._notifyLayer('attributes', r, t, e);
          } else (this.attributes = { [e]: t }), this._notifyLayer('attributes', void 0, t, e);
        }
        getObjectId() {
          return this.sourceLayer &&
            'objectIdField' in this.sourceLayer &&
            this.sourceLayer.objectIdField
            ? this.getAttribute(this.sourceLayer.objectIdField)
            : null;
        }
        toJSON() {
          return {
            geometry: (0, u.i)(this.geometry) ? this.geometry.toJSON() : null,
            symbol: (0, u.i)(this.symbol) ? this.symbol.toJSON() : null,
            attributes: { ...this.attributes },
            popupTemplate: this.popupTemplate && this.popupTemplate.toJSON(),
          };
        }
        clone() {
          return new o(this.cloneProperties());
        }
        notifyGeometryChanged() {
          this._notifyLayer('geometry', this.geometry, this.geometry);
        }
        cloneProperties() {
          return {
            attributes: (0, u.d9)(this.attributes),
            geometry: (0, u.d9)(this.geometry),
            layer: this.layer,
            popupTemplate: this.popupTemplate && this.popupTemplate.clone(),
            sourceLayer: this.sourceLayer,
            symbol: (0, u.d9)(this.symbol),
            visible: this.visible,
          };
        }
        _notifyLayer(e, t, r, o) {
          if (!this.layer || !('graphicChanged' in this.layer)) return;
          const s = { graphic: this, property: e, oldValue: t, newValue: r };
          'attributes' === e && (s.attributeName = o), this.layer.graphicChanged(s);
        }
      });
      (0, s._)([(0, p.Cb)({ value: null })], y.prototype, 'attributes', null),
        (0, s._)(
          [(0, p.Cb)({ value: null, types: i.qM, json: { read: h.im } })],
          y.prototype,
          'geometry',
          null,
        ),
        (0, s._)([(0, p.Cb)({ type: Boolean })], y.prototype, 'isAggregate', void 0),
        (0, s._)([(0, p.Cb)()], y.prototype, 'layer', void 0),
        (0, s._)([(0, p.Cb)({ type: n.Z })], y.prototype, 'popupTemplate', void 0),
        (0, s._)([(0, p.Cb)()], y.prototype, 'sourceLayer', void 0),
        (0, s._)([(0, p.Cb)({ value: null, types: a.LB })], y.prototype, 'symbol', null),
        (0, s._)([(0, p.Cb)({ type: Boolean, value: !0 })], y.prototype, 'visible', null),
        (y = o = (0, s._)([(0, d.j)('esri.Graphic')], y)),
        ((y || (y = {})).generateUID = c.g);
      const f = y;
    },
    8547: (e, t, r) => {
      'use strict';
      r.d(t, { C: () => n });
      var o = r(29768),
        s = r(34250),
        i = (r(76506), r(91306), r(92143), r(17533));
      const n = (e) => {
        let t = class extends e {
          constructor() {
            super(...arguments), (this.customParameters = null);
          }
        };
        return (
          (0, o._)(
            [(0, s.Cb)({ type: Object, json: { write: !0 } })],
            t.prototype,
            'customParameters',
            void 0,
          ),
          (t = (0, o._)([(0, i.j)('esri.layers.mixins.CustomParametersMixin')], t)),
          t
        );
      };
    },
    34558: (e, t, r) => {
      'use strict';
      r.d(t, { F: () => c });
      var o = r(88762),
        s = r(82058),
        i = r(76506),
        n = r(50406),
        a = r(9506),
        l = r(49900),
        u = r(56420);
      class c {
        constructor(e, t, r, o) {
          (this.parsedUrl = e),
            (this.portalItem = t),
            (this.apiKey = r),
            (this.signal = o),
            (this.rootDocument = null);
          const s = this.parsedUrl.path.match(/^(.*)\/SceneServer\/layers\/([\d]*)\/?$/i);
          s && (this.urlParts = { root: s[1], layerId: parseInt(s[2], 10) });
        }
        async fetch() {
          var e;
          if (!this.urlParts) return null;
          const t = null != (e = this.portalItem) ? e : await this.portalItemFromServiceItemId();
          if ((0, i.b)(t)) return this.loadFromUrl();
          const r = await this.findAndLoadRelatedPortalItem(t);
          return (0, i.b)(r) ? null : this.loadFeatureLayerFromPortalItem(r);
        }
        async fetchPortalItem() {
          var e;
          if (!this.urlParts) return null;
          const t = null != (e = this.portalItem) ? e : await this.portalItemFromServiceItemId();
          return (0, i.b)(t) ? null : this.findAndLoadRelatedPortalItem(t);
        }
        async fetchRootDocument() {
          if ((0, i.i)(this.rootDocument)) return this.rootDocument;
          if ((0, i.b)(this.urlParts)) return (this.rootDocument = {}), {};
          const e = {
              query: { f: 'json', token: this.apiKey },
              responseType: 'json',
              signal: this.signal,
            },
            t = `${this.urlParts.root}/SceneServer`;
          try {
            const r = await (0, s.default)(t, e);
            this.rootDocument = r.data;
          } catch {
            this.rootDocument = {};
          }
          return this.rootDocument;
        }
        async fetchServiceOwningPortalUrl() {
          var e;
          const t = null == (e = o.id) ? void 0 : e.findServerInfo(this.parsedUrl.path);
          if (null != t && t.owningSystemUrl) return t.owningSystemUrl;
          const r = this.parsedUrl.path.replace(/(.*\/rest)\/.*/i, '$1') + '/info';
          try {
            const e = (
              await (0, s.default)(r, {
                query: { f: 'json' },
                responseType: 'json',
                signal: this.signal,
              })
            ).data.owningSystemUrl;
            if (e) return e;
          } catch (e) {
            (0, n.r9)(e);
          }
          return null;
        }
        async findAndLoadRelatedPortalItem(e) {
          try {
            return (
              (
                await e.fetchRelatedItems(
                  { relationshipType: 'Service2Service', direction: 'reverse' },
                  { signal: this.signal },
                )
              ).find((e) => 'Feature Service' === e.type) || null
            );
          } catch (e) {
            return (0, n.r9)(e), null;
          }
        }
        async loadFeatureLayerFromPortalItem(e) {
          await e.load({ signal: this.signal });
          const t = await this.findMatchingAssociatedSublayerUrl(e.url);
          return new a.default({ url: t, portalItem: e }).load({ signal: this.signal });
        }
        async loadFromUrl() {
          const e = await this.findMatchingAssociatedSublayerUrl(
            `${this.urlParts.root}/FeatureServer`,
          );
          return new a.default({ url: e }).load({ signal: this.signal });
        }
        async findMatchingAssociatedSublayerUrl(e) {
          const t = e.replace(/^(.*FeatureServer)(\/[\d]*\/?)?$/i, '$1'),
            r = {
              query: { f: 'json' },
              responseType: 'json',
              authMode: 'no-prompt',
              signal: this.signal,
            },
            o = this.urlParts.layerId,
            i = this.fetchRootDocument(),
            n = (0, s.default)(t, r),
            [a, l] = await Promise.all([n, i]),
            u = l && l.layers,
            c = a.data && a.data.layers;
          if (!Array.isArray(c)) throw new Error('expected layers array');
          if (Array.isArray(u)) {
            for (let e = 0; e < Math.min(u.length, c.length); e++)
              if (u[e].id === o) return `${t}/${c[e].id}`;
          } else if (o < c.length) return `${t}/${c[o].id}`;
          throw new Error('could not find matching associated sublayer');
        }
        async portalItemFromServiceItemId() {
          const e = (await this.fetchRootDocument()).serviceItemId;
          if (!e) return null;
          const t = new u.default({ id: e, apiKey: this.apiKey }),
            r = await this.fetchServiceOwningPortalUrl();
          (0, i.i)(r) && (t.portal = new l.Z({ url: r }));
          try {
            return t.load({ signal: this.signal });
          } catch (e) {
            return (0, n.r9)(e), null;
          }
        }
      }
    },
    69003: (e, t, r) => {
      'use strict';
      r.d(t, { I: () => l, a: () => p, b: () => h, c: () => g });
      var o = r(29768),
        s = r(74673),
        i = r(34250),
        n = (r(76506), r(91306), r(92143), r(59465)),
        a = r(17533);
      let l = class extends s.a {
        constructor() {
          super(...arguments),
            (this.nodesPerPage = null),
            (this.rootIndex = 0),
            (this.lodSelectionMetricType = null);
        }
      };
      (0, o._)([(0, i.Cb)({ type: Number })], l.prototype, 'nodesPerPage', void 0),
        (0, o._)([(0, i.Cb)({ type: Number })], l.prototype, 'rootIndex', void 0),
        (0, o._)([(0, i.Cb)({ type: String })], l.prototype, 'lodSelectionMetricType', void 0),
        (l = (0, o._)([(0, a.j)('esri.layer.support.I3SNodePageDefinition')], l));
      let u = class extends s.a {
        constructor() {
          super(...arguments), (this.factor = 1);
        }
      };
      (0, o._)(
        [(0, i.Cb)({ type: Number, json: { read: { source: 'textureSetDefinitionId' } } })],
        u.prototype,
        'id',
        void 0,
      ),
        (0, o._)([(0, i.Cb)({ type: Number })], u.prototype, 'factor', void 0),
        (u = (0, o._)([(0, a.j)('esri.layer.support.I3SMaterialTexture')], u));
      let c = class extends s.a {
        constructor() {
          super(...arguments),
            (this.baseColorFactor = [1, 1, 1, 1]),
            (this.baseColorTexture = null),
            (this.metallicRoughnessTexture = null),
            (this.metallicFactor = 1),
            (this.roughnessFactor = 1);
        }
      };
      (0, o._)([(0, i.Cb)({ type: [Number] })], c.prototype, 'baseColorFactor', void 0),
        (0, o._)([(0, i.Cb)({ type: u })], c.prototype, 'baseColorTexture', void 0),
        (0, o._)([(0, i.Cb)({ type: u })], c.prototype, 'metallicRoughnessTexture', void 0),
        (0, o._)([(0, i.Cb)({ type: Number })], c.prototype, 'metallicFactor', void 0),
        (0, o._)([(0, i.Cb)({ type: Number })], c.prototype, 'roughnessFactor', void 0),
        (c = (0, o._)([(0, a.j)('esri.layer.support.I3SMaterialPBRMetallicRoughness')], c));
      let p = class extends s.a {
        constructor() {
          super(...arguments),
            (this.alphaMode = 'opaque'),
            (this.alphaCutoff = 0.25),
            (this.doubleSided = !1),
            (this.cullFace = 'none'),
            (this.normalTexture = null),
            (this.occlusionTexture = null),
            (this.emissiveTexture = null),
            (this.emissiveFactor = null),
            (this.pbrMetallicRoughness = null);
        }
      };
      (0, o._)(
        [(0, n.e)({ opaque: 'opaque', mask: 'mask', blend: 'blend' })],
        p.prototype,
        'alphaMode',
        void 0,
      ),
        (0, o._)([(0, i.Cb)({ type: Number })], p.prototype, 'alphaCutoff', void 0),
        (0, o._)([(0, i.Cb)({ type: Boolean })], p.prototype, 'doubleSided', void 0),
        (0, o._)(
          [(0, n.e)({ none: 'none', back: 'back', front: 'front' })],
          p.prototype,
          'cullFace',
          void 0,
        ),
        (0, o._)([(0, i.Cb)({ type: u })], p.prototype, 'normalTexture', void 0),
        (0, o._)([(0, i.Cb)({ type: u })], p.prototype, 'occlusionTexture', void 0),
        (0, o._)([(0, i.Cb)({ type: u })], p.prototype, 'emissiveTexture', void 0),
        (0, o._)([(0, i.Cb)({ type: [Number] })], p.prototype, 'emissiveFactor', void 0),
        (0, o._)([(0, i.Cb)({ type: c })], p.prototype, 'pbrMetallicRoughness', void 0),
        (p = (0, o._)([(0, a.j)('esri.layer.support.I3SMaterialDefinition')], p));
      let d = class extends s.a {};
      (0, o._)(
        [
          (0, i.Cb)({
            type: String,
            json: {
              read: { source: ['name', 'index'], reader: (e, t) => (null != e ? e : `${t.index}`) },
            },
          }),
        ],
        d.prototype,
        'name',
        void 0,
      ),
        (0, o._)(
          [
            (0, n.e)({
              jpg: 'jpg',
              png: 'png',
              dds: 'dds',
              'ktx-etc2': 'ktx-etc2',
              ktx2: 'ktx2',
              basis: 'basis',
            }),
          ],
          d.prototype,
          'format',
          void 0,
        ),
        (d = (0, o._)([(0, a.j)('esri.layer.support.I3STextureFormat')], d));
      let h = class extends s.a {
        constructor() {
          super(...arguments), (this.atlas = !1);
        }
      };
      (0, o._)([(0, i.Cb)({ type: [d] })], h.prototype, 'formats', void 0),
        (0, o._)([(0, i.Cb)({ type: Boolean })], h.prototype, 'atlas', void 0),
        (h = (0, o._)([(0, a.j)('esri.layer.support.I3STextureSetDefinition')], h));
      let y = class extends s.a {};
      (0, o._)(
        [
          (0, n.e)({
            Float32: 'Float32',
            UInt64: 'UInt64',
            UInt32: 'UInt32',
            UInt16: 'UInt16',
            UInt8: 'UInt8',
          }),
        ],
        y.prototype,
        'type',
        void 0,
      ),
        (0, o._)([(0, i.Cb)({ type: Number })], y.prototype, 'component', void 0),
        (y = (0, o._)([(0, a.j)('esri.layer.support.I3SGeometryAttribute')], y));
      let f = class extends s.a {};
      (0, o._)([(0, n.e)({ draco: 'draco' })], f.prototype, 'encoding', void 0),
        (0, o._)([(0, i.Cb)({ type: [String] })], f.prototype, 'attributes', void 0),
        (f = (0, o._)([(0, a.j)('esri.layer.support.I3SGeometryCompressedAttributes')], f));
      let m = class extends s.a {
        constructor() {
          super(...arguments), (this.offset = 0);
        }
      };
      (0, o._)([(0, i.Cb)({ type: Number })], m.prototype, 'offset', void 0),
        (0, o._)([(0, i.Cb)({ type: y })], m.prototype, 'position', void 0),
        (0, o._)([(0, i.Cb)({ type: y })], m.prototype, 'normal', void 0),
        (0, o._)([(0, i.Cb)({ type: y })], m.prototype, 'uv0', void 0),
        (0, o._)([(0, i.Cb)({ type: y })], m.prototype, 'color', void 0),
        (0, o._)([(0, i.Cb)({ type: y })], m.prototype, 'uvRegion', void 0),
        (0, o._)([(0, i.Cb)({ type: y })], m.prototype, 'featureId', void 0),
        (0, o._)([(0, i.Cb)({ type: y })], m.prototype, 'faceRange', void 0),
        (0, o._)([(0, i.Cb)({ type: f })], m.prototype, 'compressedAttributes', void 0),
        (m = (0, o._)([(0, a.j)('esri.layer.support.I3SGeometryBuffer')], m));
      let g = class extends s.a {};
      (0, o._)([(0, n.e)({ triangle: 'triangle' })], g.prototype, 'topology', void 0),
        (0, o._)([(0, i.Cb)()], g.prototype, 'geometryBuffers', void 0),
        (g = (0, o._)([(0, a.j)('esri.layer.support.I3SGeometryDefinition')], g));
    },
    45272: (e, t, r) => {
      'use strict';
      r.d(t, { z: () => o });
      const o = {
        attachment: {
          supportsContentType: !1,
          supportsExifInfo: !1,
          supportsKeywords: !1,
          supportsName: !1,
          supportsSize: !1,
        },
        data: { isVersioned: !1, supportsAttachment: !1, supportsM: !1, supportsZ: !1 },
        editing: {
          supportsDeleteByAnonymous: !1,
          supportsDeleteByOthers: !1,
          supportsGeometryUpdate: !1,
          supportsGlobalId: !1,
          supportsReturnServiceEditsInSourceSpatialReference: !1,
          supportsRollbackOnFailure: !1,
          supportsUpdateByAnonymous: !1,
          supportsUpdateByOthers: !1,
          supportsUpdateWithoutM: !1,
          supportsUploadWithItemId: !1,
        },
        metadata: { supportsAdvancedFieldProperties: !1 },
        operations: {
          supportsCalculate: !1,
          supportsTruncate: !1,
          supportsValidateSql: !1,
          supportsAdd: !1,
          supportsDelete: !1,
          supportsEditing: !1,
          supportsChangeTracking: !1,
          supportsQuery: !1,
          supportsQueryAttachments: !1,
          supportsResizeAttachments: !1,
          supportsSync: !1,
          supportsUpdate: !1,
          supportsExceedsLimitStatistics: !1,
        },
        queryRelated: { supportsCount: !1, supportsOrderBy: !1, supportsPagination: !1 },
        query: {
          maxRecordCount: 0,
          maxRecordCountFactor: 0,
          standardMaxRecordCount: 0,
          supportsCacheHint: !1,
          supportsCentroid: !1,
          supportsDisjointSpatialRelationship: !1,
          supportsDistance: !1,
          supportsDistinct: !1,
          supportsExtent: !1,
          supportsFormatPBF: !1,
          supportsGeometryProperties: !1,
          supportsHavingClause: !1,
          supportsHistoricMoment: !1,
          supportsMaxRecordCountFactor: !1,
          supportsOrderBy: !1,
          supportsPagination: !1,
          supportsPercentileStatistics: !1,
          supportsQuantization: !1,
          supportsQuantizationEditMode: !1,
          supportsQueryByOthers: !1,
          supportsQueryGeometry: !1,
          supportsResultType: !1,
          supportsSqlExpression: !1,
          supportsStandardizedQueriesOnly: !1,
          supportsTopFeaturesQuery: !1,
          supportsStatistics: !1,
          tileMaxRecordCount: 0,
        },
      };
    },
    48190: (e, t, r) => {
      'use strict';
      function o(e) {}
      r.d(t, { n: () => o }), r(76506);
    },
    6941: (e, t, r) => {
      'use strict';
      r.d(t, {
        a: () => i,
        b: () => n,
        c: () => a,
        d: () => s,
        e: () => l,
        f: () => u,
        g: () => c,
      });
      const o = [252, 146, 31, 255],
        s = {
          type: 'esriSMS',
          style: 'esriSMSCircle',
          size: 6,
          color: o,
          outline: {
            type: 'esriSLS',
            style: 'esriSLSSolid',
            width: 0.75,
            color: [153, 153, 153, 255],
          },
        },
        i = { type: 'esriSLS', style: 'esriSLSSolid', width: 0.75, color: o },
        n = {
          type: 'esriSFS',
          style: 'esriSFSSolid',
          color: [252, 146, 31, 196],
          outline: {
            type: 'esriSLS',
            style: 'esriSLSSolid',
            width: 0.75,
            color: [255, 255, 255, 191],
          },
        },
        a = {
          type: 'esriTS',
          color: [255, 255, 255, 255],
          font: { family: 'arial-unicode-ms', size: 10, weight: 'bold' },
          horizontalAlignment: 'center',
          kerning: !0,
          haloColor: [0, 0, 0, 255],
          haloSize: 1,
          rotated: !1,
          text: '',
          xoffset: 0,
          yoffset: 0,
          angle: 0,
        },
        l = {
          type: 'esriSMS',
          style: 'esriSMSCircle',
          color: [0, 0, 0, 255],
          outline: null,
          size: 10.5,
        },
        u = { type: 'esriSLS', style: 'esriSLSSolid', color: [0, 0, 0, 255], width: 1.5 },
        c = { type: 'esriSFS', style: 'esriSFSSolid', color: [0, 0, 0, 255], outline: null };
    },
    93939: (e, t, r) => {
      'use strict';
      r.d(t, { a: () => y, d: () => f, h: () => h });
      var o = r(21972),
        s = r(15324),
        i = r(76506),
        n = r(86656);
      const a = [
        'esri.Color',
        'esri.portal.Portal',
        'esri.symbols.support.Symbol3DAnchorPosition2D',
        'esri.symbols.support.Symbol3DAnchorPosition3D',
      ];
      function l(e) {
        return e instanceof o.Z;
      }
      function u(e) {
        return e instanceof s.Z
          ? Object.keys(e.items)
          : l(e)
          ? (0, n.g)(e).keys()
          : e
          ? Object.keys(e)
          : [];
      }
      function c(e, t) {
        return e instanceof s.Z ? e.items[t] : e[t];
      }
      function p(e) {
        return e ? e.declaredClass : null;
      }
      function d(e, t) {
        const r = e.diff;
        if (r && 'function' == typeof r) return r(e, t);
        const o = u(e),
          s = u(t);
        if (0 === o.length && 0 === s.length) return;
        if (
          !o.length ||
          !s.length ||
          (function (e, t) {
            return !(!Array.isArray(e) || !Array.isArray(t)) && e.length !== t.length;
          })(e, t)
        )
          return { type: 'complete', oldValue: e, newValue: t };
        const n = s.filter((e) => -1 === o.indexOf(e)),
          h = o.filter((e) => -1 === s.indexOf(e)),
          y = o
            .filter((r) => s.indexOf(r) > -1 && c(e, r) !== c(t, r))
            .concat(n, h)
            .sort(),
          f = p(e);
        if (f && a.indexOf(f) > -1 && y.length)
          return { type: 'complete', oldValue: e, newValue: t };
        let m;
        const g = l(e) && l(t);
        for (const o of y) {
          const s = c(e, o),
            n = c(t, o);
          let a;
          (g || ('function' != typeof s && 'function' != typeof n)) &&
            s !== n &&
            ((null == s && null == n) ||
              ((a =
                r && r[o] && 'function' == typeof r[o]
                  ? r[o](s, n)
                  : 'object' == typeof s && 'object' == typeof n && p(s) === p(n)
                  ? d(s, n)
                  : { type: 'complete', oldValue: s, newValue: n }),
              (0, i.i)(a) &&
                ((0, i.i)(m) ? (m.diff[o] = a) : (m = { type: 'partial', diff: { [o]: a } }))));
        }
        return m;
      }
      function h(e, t) {
        if ((0, i.b)(e)) return !1;
        const r = t.split('.');
        let o = e;
        for (const e of r) {
          if ('complete' === o.type) return !0;
          if ('partial' !== o.type) return !1;
          {
            const t = o.diff[e];
            if (!t) return !1;
            o = t;
          }
        }
        return !0;
      }
      function y(e, t) {
        for (const r of t) if (h(e, r)) return !0;
        return !1;
      }
      function f(e, t) {
        if ('function' != typeof e && 'function' != typeof t && (e || t))
          return !e || !t || ('object' == typeof e && 'object' == typeof t && p(e) !== p(t))
            ? { type: 'complete', oldValue: e, newValue: t }
            : d(e, t);
      }
    },
    54732: (e, t, r) => {
      'use strict';
      r.d(t, { k: () => o });
      const o = new (r(57251).J)({
        esriFieldTypeSmallInteger: 'small-integer',
        esriFieldTypeInteger: 'integer',
        esriFieldTypeSingle: 'single',
        esriFieldTypeDouble: 'double',
        esriFieldTypeLong: 'long',
        esriFieldTypeString: 'string',
        esriFieldTypeDate: 'date',
        esriFieldTypeOID: 'oid',
        esriFieldTypeGeometry: 'geometry',
        esriFieldTypeBlob: 'blob',
        esriFieldTypeRaster: 'raster',
        esriFieldTypeGUID: 'guid',
        esriFieldTypeGlobalID: 'global-id',
        esriFieldTypeXML: 'xml',
      });
    },
    55823: (e, t, r) => {
      'use strict';
      r.d(t, { a: () => s });
      var o = r(92847);
      function s(e, t, r) {
        if (!r || !r.features || !r.hasZ) return;
        const s = (0, o.g)(r.geometryType, t, e.outSpatialReference);
        if (s) for (const e of r.features) s(e.geometry);
      }
    },
    52228: (e, t, r) => {
      'use strict';
      function o(e) {
        return e && 'esri.renderers.visualVariables.SizeVariable' === e.declaredClass;
      }
      function s(e) {
        return null != e && !isNaN(e) && isFinite(e);
      }
      function i(e) {
        return e.valueExpression
          ? 'expression'
          : e.field && 'string' == typeof e.field
          ? 'field'
          : 'unknown';
      }
      function n(e, t) {
        const r = t || i(e),
          o = e.valueUnit || 'unknown';
        return 'unknown' === r
          ? 'constant'
          : e.stops
          ? 'stops'
          : null != e.minSize &&
            null != e.maxSize &&
            null != e.minDataValue &&
            null != e.maxDataValue
          ? 'clamped-linear'
          : 'unknown' === o
          ? null != e.minSize && null != e.minDataValue
            ? e.minSize && e.minDataValue
              ? 'proportional'
              : 'additive'
            : 'identity'
          : 'real-world-size';
      }
      r.d(t, { a: () => n, b: () => s, g: () => i, i: () => o });
    },
    42788: (e, t, r) => {
      'use strict';
      r.d(t, { g: () => s });
      let o = 0;
      function s() {
        return ++o;
      }
    },
    74057: (e, t, r) => {
      'use strict';
      r.d(t, {
        PR: () => S,
        Lq: () => y,
        Km: () => f,
        cM: () => m,
        ap: () => g,
        V3: () => w,
        B3: () => h,
      });
      var o = r(48027),
        s = r(23761),
        i = r(48190),
        n = r(92143),
        a = r(76506),
        l = r(85557),
        u = r(52228);
      r(54174),
        r(82426),
        r(91306),
        r(31450),
        r(71552),
        r(40642),
        r(74569),
        r(21801),
        r(34250),
        r(86656),
        r(22723),
        r(17533),
        r(81172),
        r(73796),
        r(74673),
        r(21972),
        r(23639),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(26341),
        r(97714),
        r(60947),
        r(2906),
        r(91597),
        r(86787),
        r(35132),
        r(89623),
        r(84069),
        r(44567),
        r(98380),
        r(92896),
        r(22781),
        r(57251),
        r(32422),
        r(86748),
        r(15324),
        r(76996),
        r(14249),
        r(9801),
        r(53523),
        r(59465),
        r(42911),
        r(46826),
        r(45433),
        r(60217),
        r(29107),
        r(30574),
        r(2157),
        r(25977),
        r(7471),
        r(54414),
        r(1648),
        r(8925),
        r(33921),
        r(3482),
        r(45154),
        r(16769),
        r(55531),
        r(30582),
        r(593),
        r(85699),
        r(63136),
        r(96055),
        r(47776),
        r(18033),
        r(6331),
        r(62048),
        r(4292),
        r(75626),
        r(72652),
        r(29641),
        r(30493),
        r(70821),
        r(82673),
        r(34229),
        r(37029),
        r(96467),
        r(63571),
        r(30776),
        r(63130),
        r(25696),
        r(66396),
        r(42775),
        r(95834),
        r(34394),
        r(57150),
        r(76726),
        r(20444),
        r(76393),
        r(78548),
        r(2497),
        r(49906),
        r(46527),
        r(48649),
        r(9960),
        r(3101),
        r(5853),
        r(39141),
        r(32101),
        r(38742),
        r(48243),
        r(34635),
        r(10401),
        r(49900),
        r(66284),
        r(82058),
        r(88762),
        r(73173),
        r(22739),
        r(20543),
        r(67477),
        r(78533),
        r(74653),
        r(91091),
        r(58943),
        r(70737),
        r(8487),
        r(17817),
        r(90814),
        r(15459),
        r(61847),
        r(16796),
        r(16955),
        r(22401),
        r(77894),
        r(55187),
        r(8586),
        r(44509),
        r(69814),
        r(11305),
        r(62259),
        r(44790),
        r(5909),
        r(60669),
        r(48208),
        r(51589),
        r(53785),
        r(95587);
      const c = n.L.getLogger('esri.renderers.visualVariables.support.visualVariableUtils'),
        p = new s.Z(),
        d = Math.PI,
        h = /^\s*(return\s+)?\$view\.scale\s*(;)?\s*$/i;
      function y(e, t, r) {
        const s =
          'visualVariables' in e && e.visualVariables
            ? e.visualVariables.filter((e) => 'color' === e.type)[0]
            : e;
        if (!s) return;
        if ('esri.renderers.visualVariables.ColorVariable' !== s.declaredClass)
          return void c.warn(
            'The visualVariable should be an instance of esri.renderers.visualVariables.ColorVariable',
          );
        const i = 'number' == typeof t,
          n = i ? null : t,
          l = n && n.attributes;
        let u = i ? t : null;
        const p = s.field,
          { ipData: d, hasExpression: h } = s.cache;
        let y = s.cache.compiledFunc;
        if (!p && !h) {
          const e = s.stops;
          return e && e[0] && e[0].color;
        }
        if ('number' != typeof u)
          if (h) {
            if (!(0, a.i)(r) || !(0, a.i)(r.arcade))
              return void c.error('Use of arcade expressions requires an arcade context');
            const e = {
                viewingMode: r.viewingMode,
                scale: r.scale,
                spatialReference: r.spatialReference,
              },
              t = r.arcade.arcadeUtils,
              o = t.getViewInfo(e),
              i = t.createExecContext(n, o);
            if (!y) {
              const e = t.createSyntaxTree(s.valueExpression);
              (y = t.createFunction(e)), (s.cache.compiledFunc = y);
            }
            u = t.executeFunction(y, i);
          } else l && (u = l[p]);
        const f = s.normalizationField,
          m = l ? parseFloat(l[f]) : void 0;
        if (null != u && (!f || i || (!isNaN(m) && 0 !== m))) {
          isNaN(m) || i || (u /= m);
          const e = _(u, d);
          if (e) {
            const t = e[0],
              i = e[1],
              n =
                t === i
                  ? s.stops[t].color
                  : o.Z.blendColors(
                      s.stops[t].color,
                      s.stops[i].color,
                      e[2],
                      (0, a.i)(r) ? r.color : void 0,
                    );
            return new o.Z(n);
          }
        }
      }
      function f(e, t, r) {
        const o =
          'visualVariables' in e && e.visualVariables
            ? e.visualVariables.filter((e) => 'opacity' === e.type)[0]
            : e;
        if (!o) return;
        if ('esri.renderers.visualVariables.OpacityVariable' !== o.declaredClass)
          return void c.warn(
            'The visualVariable should be an instance of esri.renderers.visualVariables.OpacityVariable',
          );
        const s = 'number' == typeof t,
          i = s ? null : t,
          n = i && i.attributes;
        let l = s ? t : null;
        const u = o.field,
          { ipData: p, hasExpression: d } = o.cache;
        let h = o.cache.compiledFunc;
        if (!u && !d) {
          const e = o.stops;
          return e && e[0] && e[0].opacity;
        }
        if ('number' != typeof l)
          if (d) {
            if ((0, a.b)(r) || (0, a.b)(r.arcade))
              return void c.error('Use of arcade expressions requires an arcade context');
            const e = {
                viewingMode: r.viewingMode,
                scale: r.scale,
                spatialReference: r.spatialReference,
              },
              t = r.arcade.arcadeUtils,
              s = t.getViewInfo(e),
              n = t.createExecContext(i, s);
            if (!h) {
              const e = t.createSyntaxTree(o.valueExpression);
              (h = t.createFunction(e)), (o.cache.compiledFunc = h);
            }
            l = t.executeFunction(h, n);
          } else n && (l = n[u]);
        const y = o.normalizationField,
          f = n ? parseFloat(n[y]) : void 0;
        if (null != l && (!y || s || (!isNaN(f) && 0 !== f))) {
          isNaN(f) || s || (l /= f);
          const e = _(l, p);
          if (e) {
            const t = e[0],
              r = e[1];
            if (t === r) return o.stops[t].opacity;
            {
              const s = o.stops[t].opacity;
              return s + (o.stops[r].opacity - s) * e[2];
            }
          }
        }
      }
      function m(e, t, r) {
        const o =
          'visualVariables' in e && e.visualVariables
            ? e.visualVariables.filter((e) => 'rotation' === e.type)[0]
            : e;
        if (!o) return;
        if ('esri.renderers.visualVariables.RotationVariable' !== o.declaredClass)
          return void c.warn(
            'The visualVariable should be an instance of esri.renderers.visualVariables.RotationVariable',
          );
        const s = o.axis || 'heading',
          i = 'heading' === s && 'arithmetic' === o.rotationType ? 90 : 0,
          n = 'heading' === s && 'arithmetic' === o.rotationType ? -1 : 1,
          l = 'number' == typeof t ? null : t,
          u = l && l.attributes,
          p = o.field,
          { hasExpression: d } = o.cache;
        let h = o.cache.compiledFunc,
          y = 0;
        if (!p && !d) return y;
        if (d) {
          if ((0, a.b)(r) || (0, a.b)(r.arcade))
            return void c.error('Use of arcade expressions requires an arcade context');
          const e = {
              viewingMode: r.viewingMode,
              scale: r.scale,
              spatialReference: r.spatialReference,
            },
            t = r.arcade.arcadeUtils,
            s = t.getViewInfo(e),
            i = t.createExecContext(l, s);
          if (!h) {
            const e = t.createSyntaxTree(o.valueExpression);
            (h = t.createFunction(e)), (o.cache.compiledFunc = h);
          }
          y = t.executeFunction(h, i);
        } else u && (y = u[p] || 0);
        return (y = 'number' != typeof y || isNaN(y) ? null : i + n * y), y;
      }
      function g(e, t, r) {
        const o =
          'visualVariables' in e && e.visualVariables
            ? e.visualVariables.filter((e) => 'size' === e.type)[0]
            : e;
        if (!o) return;
        if ('esri.renderers.visualVariables.SizeVariable' !== o.declaredClass)
          return void c.warn(
            'The visualVariable should be an instance of esri.renderers.visualVariables.SizeVariable',
          );
        const s = (function (e, t, r, o, s) {
          switch (t.transformationType) {
            case 'additive':
              return (function (e, t, r, o) {
                return e + (b(t.minSize, r, o) || t.minDataValue);
              })(e, t, r, o);
            case 'constant':
              return (function (e, t, r) {
                const o = e.stops;
                let s = o && o.length && o[0].size;
                return null == s && (s = e.minSize), b(s, t, r);
              })(t, r, o);
            case 'clamped-linear':
              return (function (e, t, r, o) {
                const s = (e - t.minDataValue) / (t.maxDataValue - t.minDataValue),
                  i = b(t.minSize, r, o),
                  n = b(t.maxSize, r, o),
                  l = (0, a.i)(o) ? o.shape : void 0;
                if (e <= t.minDataValue) return i;
                if (e >= t.maxDataValue) return n;
                if ('area' === t.scaleBy && l) {
                  const e = 'circle' === l,
                    t = e ? d * (i / 2) ** 2 : i * i,
                    r = t + s * ((e ? d * (n / 2) ** 2 : n * n) - t);
                  return e ? 2 * Math.sqrt(r / d) : Math.sqrt(r);
                }
                return i + s * (n - i);
              })(e, t, r, o);
            case 'proportional':
              return (function (e, t, r, o) {
                const s = (0, a.i)(o) ? o.shape : void 0,
                  i = e / t.minDataValue,
                  n = b(t.minSize, r, o),
                  l = b(t.maxSize, r, o);
                let u = null;
                return (
                  (u =
                    'circle' === s
                      ? 2 * Math.sqrt(i * (n / 2) ** 2)
                      : 'square' === s || 'diamond' === s || 'image' === s
                      ? Math.sqrt(i * n ** 2)
                      : i * n),
                  v(u, n, l)
                );
              })(e, t, r, o);
            case 'stops':
              return (function (e, t, r, o, s) {
                const [i, n, a] = _(e, s);
                if (i === n) return b(t.stops[i].size, r, o);
                {
                  const e = b(t.stops[i].size, r, o);
                  return e + (b(t.stops[n].size, r, o) - e) * a;
                }
              })(e, t, r, o, s);
            case 'real-world-size':
              return (function (e, t, r, o) {
                const s = ((0, a.i)(o) && o.resolution ? o.resolution : 1) * l.m[t.valueUnit],
                  i = b(t.minSize, r, o),
                  n = b(t.maxSize, r, o),
                  { valueRepresentation: u } = t;
                let c = null;
                return (
                  (c =
                    'area' === u
                      ? (2 * Math.sqrt(e / d)) / s
                      : 'radius' === u || 'distance' === u
                      ? (2 * e) / s
                      : e / s),
                  v(c, i, n)
                );
              })(e, t, r, o);
            case 'identity':
              return e;
            case 'unknown':
              return null;
          }
        })(
          (function (e, t, r) {
            const o = 'number' == typeof t,
              s = o ? null : t,
              i = s && s.attributes;
            let n = o ? t : null;
            const { isScaleDriven: l } = e.cache;
            let p = e.cache.compiledFunc;
            if (l) {
              const t = (0, a.i)(r) ? r.scale : void 0,
                o = (0, a.i)(r) ? r.view : void 0;
              n =
                null == t || '3d' === o
                  ? (function (e) {
                      let t = null,
                        r = null;
                      const o = e.stops;
                      return (
                        o
                          ? ((t = o[0].value), (r = o[o.length - 1].value))
                          : ((t = e.minDataValue || 0), (r = e.maxDataValue || 0)),
                        (t + r) / 2
                      );
                    })(e)
                  : t;
            } else if (!o)
              switch (e.inputValueType) {
                case 'expression': {
                  if ((0, a.b)(r) || (0, a.b)(r.arcade))
                    return void c.error('Use of arcade expressions requires an arcade context');
                  const t = {
                      viewingMode: r.viewingMode,
                      scale: r.scale,
                      spatialReference: r.spatialReference,
                    },
                    o = r.arcade.arcadeUtils,
                    i = o.getViewInfo(t),
                    l = o.createExecContext(s, i);
                  if (!p) {
                    const t = o.createSyntaxTree(e.valueExpression);
                    (p = o.createFunction(t)), (e.cache.compiledFunc = p);
                  }
                  n = o.executeFunction(p, l);
                  break;
                }
                case 'field':
                  i && (n = i[e.field]);
                  break;
                case 'unknown':
                  n = null;
              }
            if (!(0, u.b)(n)) return null;
            if (o || !e.normalizationField) return n;
            const d = i ? parseFloat(i[e.normalizationField]) : null;
            return (0, u.b)(d) && 0 !== d ? n / d : null;
          })(o, t, r),
          o,
          t,
          r,
          o.cache.ipData,
        );
        return null == s || isNaN(s) ? 0 : s;
      }
      function b(e, t, r) {
        return null == e ? null : (0, u.i)(e) ? g(e, t, r) : (0, u.b)(e) ? e : null;
      }
      function v(e, t, r) {
        return (0, u.b)(r) && e > r ? r : (0, u.b)(t) && e < t ? t : e;
      }
      function w(e, t, r) {
        const { isScaleDriven: o } = e.cache;
        if (!((o && '3d' === r) || t)) return null;
        const s = { scale: t, view: r };
        let i = b(e.minSize, p, s),
          n = b(e.maxSize, p, s);
        if (null != i || null != n) {
          if (i > n) {
            const e = n;
            (n = i), (i = e);
          }
          return { minSize: i, maxSize: n };
        }
      }
      function _(e, t) {
        if (!t) return;
        let r = 0,
          o = t.length - 1;
        return (
          t.some((t, s) => (e < t ? ((o = s), !0) : ((r = s), !1))),
          [r, o, (e - t[r]) / (t[o] - t[r])]
        );
      }
      function S(e, t, r) {
        const o = ['proportional', 'proportional', 'proportional'];
        for (const s of e) {
          const e = s.useSymbolValue ? 'symbol-value' : g(s, t, r);
          switch (s.axis) {
            case 'width':
              o[0] = e;
              break;
            case 'depth':
              o[1] = e;
              break;
            case 'height':
              o[2] = e;
              break;
            case 'width-and-depth':
              (o[0] = e), (o[1] = e);
              break;
            case 'all':
            case void 0:
            case null:
              (o[0] = e), (o[1] = e), (o[2] = e);
              break;
            default:
              (0, i.n)(s.axis);
          }
        }
        return o;
      }
    },
    92847: (e, t, r) => {
      'use strict';
      r.d(t, { g: () => n, u: () => l });
      var o = r(76506),
        s = r(53785),
        i = r(60947);
      function n(e, t, r) {
        if ((0, o.b)(t) || (0, o.b)(r) || r.vcsWkid || (0, i.e)(t, r)) return null;
        const n = (0, s.d)(t) / (0, s.d)(r);
        if (1 === n) return null;
        switch (e) {
          case 'point':
          case 'esriGeometryPoint':
            return (e) => {
              return (r = n), void ((t = e) && null != t.z && (t.z *= r));
              var t, r;
            };
          case 'polyline':
          case 'esriGeometryPolyline':
            return (e) =>
              (function (e, t) {
                if (e) for (const r of e.paths) for (const e of r) e.length > 2 && (e[2] *= t);
              })(e, n);
          case 'polygon':
          case 'esriGeometryPolygon':
            return (e) =>
              (function (e, t) {
                if (e) for (const r of e.rings) for (const e of r) e.length > 2 && (e[2] *= t);
              })(e, n);
          case 'multipoint':
          case 'esriGeometryMultipoint':
            return (e) =>
              (function (e, t) {
                if (e) for (const r of e.points) r.length > 2 && (r[2] *= t);
              })(e, n);
          default:
            return null;
        }
      }
      function a(e, t, r) {
        if (null == e.hasM || e.hasZ)
          for (const e of t) for (const t of e) t.length > 2 && (t[2] *= r);
      }
      function l(e, t, r) {
        if ((!e && !t) || !r) return;
        const o = (0, s.d)(r);
        u(e, r, o), u(t, r, o);
      }
      function u(e, t, r) {
        if (e) for (const o of e) c(o.geometry, t, r);
      }
      function c(e, t, r) {
        if (!e || !e.spatialReference || (0, i.e)(e.spatialReference, t)) return;
        const o = (0, s.d)(e.spatialReference) / r;
        if (1 !== o)
          if ('x' in e) null != e.z && (e.z *= o);
          else if ('rings' in e) a(e, e.rings, o);
          else if ('paths' in e) a(e, e.paths, o);
          else if ('points' in e && (null == e.hasM || e.hasZ))
            for (const t of e.points) t.length > 2 && (t[2] *= o);
      }
    },
    82933: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => c });
      var o = r(29768),
        s = r(21972),
        i = r(15324),
        n = r(76506),
        a = r(34250),
        l = r(17533);
      r(23639),
        r(92143),
        r(31450),
        r(71552),
        r(40642),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(91306),
        r(76996);
      let u = class extends s.Z {
        constructor(e) {
          super(e), (this._groups = new Map());
        }
        destroy() {
          this.removeAll();
        }
        get size() {
          let e = 0;
          return (
            this._groups.forEach((t) => {
              e += t.length;
            }),
            e
          );
        }
        add(e, t) {
          if (!this._isHandle(e) && !Array.isArray(e) && !i.Z.isCollection(e)) return this;
          const r = this._getOrCreateGroup(t);
          return (
            Array.isArray(e) || i.Z.isCollection(e)
              ? e.forEach((e) => this._isHandle(e) && r.push(e))
              : r.push(e),
            this.notifyChange('size'),
            this
          );
        }
        forEach(e, t) {
          if ('function' == typeof e) this._groups.forEach((t) => t.forEach(e));
          else {
            const r = this._getGroup(e);
            r && t && r.forEach(t);
          }
        }
        has(e) {
          return this._groups.has(this._ensureGroupKey(e));
        }
        remove(e) {
          if (Array.isArray(e) || i.Z.isCollection(e)) return e.forEach(this.remove, this), this;
          if (!this.has(e)) return this;
          const t = this._getGroup(e);
          for (let e = 0; e < t.length; e++) t[e].remove();
          return this._deleteGroup(e), this.notifyChange('size'), this;
        }
        removeAll() {
          return (
            this._groups.forEach((e) => {
              for (let t = 0; t < e.length; t++) e[t].remove();
            }),
            this._groups.clear(),
            this.notifyChange('size'),
            this
          );
        }
        _isHandle(e) {
          return e && !!e.remove;
        }
        _getOrCreateGroup(e) {
          if (this.has(e)) return this._getGroup(e);
          const t = [];
          return this._groups.set(this._ensureGroupKey(e), t), t;
        }
        _getGroup(e) {
          return (0, n.a)(this._groups.get(this._ensureGroupKey(e)));
        }
        _deleteGroup(e) {
          return this._groups.delete(this._ensureGroupKey(e));
        }
        _ensureGroupKey(e) {
          return e || '_default_';
        }
      };
      (0, o._)([(0, a.Cb)({ readOnly: !0 })], u.prototype, 'size', null),
        (u = (0, o._)([(0, l.j)('esri.core.Handles')], u));
      const c = u;
    },
    617: (e, t, r) => {
      'use strict';
      r.d(t, {
        S1: () => c,
        on: () => f,
        OY: () => y,
        cm: () => d,
        N1: () => p,
        LR: () => h,
        tH: () => s,
      });
      var o = r(50406);
      function s(e, t, r, s, i) {
        const n = 'function' == typeof s ? s : null,
          a = 'object' == typeof s ? s : null;
        'boolean' == typeof s && (i = s);
        let l,
          u = !1;
        function c() {
          l && (l.remove(), (l = null));
        }
        const p = (0, o.dD)();
        (0, o.fu)(a, () => {
          c(), p.reject((0, o.zE)());
        });
        const d = {
          then: p.promise.then.bind(p.promise),
          catch: p.promise.catch.bind(p.promise),
          remove: c,
        };
        return (
          Object.freeze(d),
          (l = (function (e, t, r, o, s) {
            const i = e.watch(
              t,
              (t, s, i, n) => {
                (r && !r(t)) || null == o || o.call(e, t, s, i, n);
              },
              s,
            );
            if (Array.isArray(t))
              for (const s of t) {
                const i = e.get(s);
                r && r(i) && (null == o || o.call(e, i, i, t, e));
              }
            else {
              const s = e.get(t);
              r && r(s) && (null == o || o.call(e, s, s, t, e));
            }
            return i;
          })(
            e,
            t,
            r,
            (t, r, o, s) => {
              (u = !0),
                c(),
                n && n.call(e, t, r, o, s),
                p.resolve({ value: t, oldValue: r, propertyName: o, target: s });
            },
            i,
          )),
          u && c(),
          d
        );
      }
      function i(e) {
        return !!e;
      }
      function n(e) {
        return !e;
      }
      function a(e) {
        return !0 === e;
      }
      function l(e) {
        return !1 === e;
      }
      r(76506), r(60991), r(92143), r(31450), r(71552), r(40642), r(81172);
      const u = /\?(\.|$)/g;
      function c(e, t, r, o) {
        const s = Array.isArray(t) ? t : t.indexOf(',') > -1 ? t.split(',') : [t],
          i = (function (e, t, r, o) {
            return e.watch(t, r, o);
          })(e, t, r, o);
        for (const t of s) {
          const o = t.trim().replace(u, '$1'),
            s = e.get(o);
          r.call(e, s, s, o, e);
        }
        return i;
      }
      function p(e, t, r, o) {
        return s(e, t, i, r, o);
      }
      function d(e, t, r, o) {
        return s(e, t, n, r, o);
      }
      function h(e, t, r, o) {
        return s(e, t, a, r, o);
      }
      function y(e, t, r, o) {
        return s(e, t, l, r, o);
      }
      function f(e, t, r, s, i, n, a) {
        const l = {};
        function u(t) {
          const o = l[t];
          o && (n && n(o.target, t, e, r), o.handle.remove(), delete l[t]);
        }
        const p = c(
          e,
          t,
          (t, n, a) => {
            u(a),
              (0, o.i)(t) &&
                ((l[a] = { handle: (0, o.o)(t, r, s), target: t }), i && i(t, a, e, r));
          },
          a,
        );
        return {
          remove() {
            p.remove();
            for (const e in l) u(e);
          },
        };
      }
    },
    46987: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => l });
      var o = r(22723),
        s = r(92143),
        i = r(50406),
        n = r(37453);
      r(76506), r(31450), r(71552), r(40642), r(60991), r(81172), r(88762), r(32101);
      const a = s.L.getLogger('esri.core.workers.Connection'),
        l = class {
          constructor() {
            (this._clients = new Array()),
              (this._clientPromises = new Array()),
              (this._clientIdx = 0);
          }
          destroy() {
            this.close();
          }
          get closed() {
            return !this._clients || !this._clients.length;
          }
          open(e, t) {
            return new Promise((r, o) => {
              let s = !0;
              const a = (e) => {
                (0, i.k_)(t.signal), s && ((s = !1), e());
              };
              (this._clients.length = e.length), (this._clientPromises.length = e.length);
              for (let s = 0; s < e.length; ++s) {
                const l = e[s];
                (0, i.y8)(l)
                  ? (this._clientPromises[s] = l.then(
                      (e) => ((this._clients[s] = new n.default(e, t)), a(r), this._clients[s]),
                      () => (a(o), null),
                    ))
                  : ((this._clients[s] = new n.default(l, t)),
                    (this._clientPromises[s] = Promise.resolve(this._clients[s])),
                    a(r));
              }
            });
          }
          broadcast(e, t, r) {
            const o = new Array(this._clientPromises.length);
            for (let s = 0; s < this._clientPromises.length; ++s) {
              const i = this._clientPromises[s];
              o[s] = i.then((o) => o.invoke(e, t, r));
            }
            return o;
          }
          close() {
            for (const e of this._clientPromises) e.then((e) => e.close());
            (this._clients.length = 0), (this._clientPromises.length = 0);
          }
          getAvailableClient() {
            let e;
            for (let t = 0; t < this._clients.length; ++t) {
              const r = this._clients[t];
              if (r) {
                if (!r.isBusy()) return Promise.resolve(r);
              } else (e = e || []), e.push(this._clientPromises[t]);
            }
            return e
              ? Promise.race(e)
              : ((this._clientIdx = (this._clientIdx + 1) % this._clients.length),
                Promise.resolve(this._clients[this._clientIdx]));
          }
          invoke(e, t, r) {
            let o = null;
            return (
              Array.isArray(r)
                ? (a.warn(
                    'invoke()',
                    'The transferList parameter is deprecated, use the options object instead',
                  ),
                  (o = { transferList: r }))
                : (o = r),
              this.closed
                ? Promise.reject(new Error('Connection closed'))
                : this.getAvailableClient().then((r) => r.invoke(e, t, o))
            );
          }
          on(e, t) {
            return Promise.all(this._clientPromises).then(() =>
              (0, o.h)(this._clients.map((r) => r.on(e, t))),
            );
          }
          openPorts() {
            return new Promise((e) => {
              const t = new Array(this._clientPromises.length);
              let r = t.length;
              for (let o = 0; o < this._clientPromises.length; ++o)
                this._clientPromises[o].then((s) => {
                  (t[o] = s.openPort()), 0 == --r && e(t);
                });
            });
          }
          get test() {
            return { numClients: this._clients.length };
          }
        };
    },
    65514: (e, t, r) => {
      'use strict';
      r.d(t, { bA: () => U, Mz: () => D });
      var o = r(60991),
        s = r(76506),
        i = r(50406),
        n = r(46987),
        a = r(37453),
        l = r(88762),
        u = r(92143),
        c = r(73173),
        p = r(31450),
        d = (r(66284), r(32101)),
        h = r(3482);
      r(81172), r(71552), r(40642), r(22723), r(82058), r(33921), r(57251);
      let y = null;
      y = (0, d.hF)((0, c.g)('esri/core/workers/init.js'));
      const f = {};
      (f.baseUrl = (0, d.hF)((0, c.g)('dojo/'))),
        (f.packages = [{ name: 'esri', location: '../esri' }]);
      class m {
        constructor() {
          const e = document.createDocumentFragment();
          ['addEventListener', 'dispatchEvent', 'removeEventListener'].forEach((t) => {
            this[t] = (...r) => e[t](...r);
          });
        }
      }
      const g = s.g.MutationObserver || s.g.WebKitMutationObserver,
        b = (function () {
          let e;
          if (s.g.process && s.g.process.nextTick)
            e = (e) => {
              s.g.process.nextTick(e);
            };
          else if (s.g.Promise)
            e = (e) => {
              s.g.Promise.resolve().then(e);
            };
          else if (g) {
            const t = [],
              r = document.createElement('div');
            new g(() => {
              for (; t.length > 0; ) t.shift()();
            }).observe(r, { attributes: !0 }),
              (e = (e) => {
                t.push(e), r.setAttribute('queueStatus', '1');
              });
          }
          return e;
        })(),
        v = (() => {
          const e = s.g.MessageEvent;
          try {
            new e('message', { data: null });
          } catch {
            return (e, t = {}) => {
              const { data: r, bubbles: o = !1, cancelable: s = !1 } = t,
                i = document.createEvent('Event');
              return i.initEvent(e, o, s), (i.data = r), i;
            };
          }
          return (t, r) => new e(t, r);
        })();
      class w {
        constructor() {
          (this._dispatcher = new m()), this._workerPostMessage({ type: a.M.HANDSHAKE });
        }
        terminate() {}
        get onmessage() {
          return this._onmessageHandler;
        }
        set onmessage(e) {
          this._onmessageHandler && this.removeEventListener('message', this._onmessageHandler),
            (this._onmessageHandler = e),
            e && this.addEventListener('message', e);
        }
        get onmessageerror() {
          return this._onmessageerrorHandler;
        }
        set onmessageerror(e) {
          this._onmessageerrorHandler &&
            this.removeEventListener('messageerror', this._onmessageerrorHandler),
            (this._onmessageerrorHandler = e),
            e && this.addEventListener('messageerror', e);
        }
        get onerror() {
          return this._onerrorHandler;
        }
        set onerror(e) {
          this._onerrorHandler && this.removeEventListener('error', this._onerrorHandler),
            (this._onerrorHandler = e),
            e && this.addEventListener('error', e);
        }
        postMessage(e) {
          b(() => {
            this._workerMessageHandler(v('message', { data: e }));
          });
        }
        dispatchEvent(e) {
          return this._dispatcher.dispatchEvent(e);
        }
        addEventListener(e, t, r) {
          this._dispatcher.addEventListener(e, t, r);
        }
        removeEventListener(e, t, r) {
          this._dispatcher.removeEventListener(e, t, r);
        }
        _workerPostMessage(e) {
          b(() => {
            this.dispatchEvent(v('message', { data: e }));
          });
        }
        async _workerMessageHandler(e) {
          const t = (0, a.r)(e);
          if (t && t.type === a.M.OPEN) {
            const { modulePath: e, jobId: r } = t;
            let o = await a.default.loadWorker(e);
            o || (o = await import(e));
            const s = a.default.connect(o);
            this._workerPostMessage({ type: a.M.OPENED, jobId: r, data: s });
          }
        }
      }
      const _ = u.L.getLogger('esri.core.workers'),
        { HANDSHAKE: S } = a.M;
      let C, k;
      const x = 'Failed to create Worker. Fallback to execute module in main thread';
      async function P(e) {
        return new Promise((t) => {
          function r(s) {
            const i = (0, a.r)(s);
            i &&
              i.type === S &&
              (e.removeEventListener('message', r), e.removeEventListener('error', o), t(e));
          }
          function o(t) {
            t.preventDefault(),
              e.removeEventListener('message', r),
              e.removeEventListener('error', o),
              _.warn('Failed to create Worker. Fallback to execute module in main thread', t),
              (e = new w()).addEventListener('message', r),
              e.addEventListener('error', o);
          }
          e.addEventListener('message', r), e.addEventListener('error', o);
        });
      }
      let T = 0;
      const F = u.L.getLogger('esri.core.workers'),
        { ABORT: E, INVOKE: I, OPEN: j, OPENED: N, RESPONSE: M } = a.M;
      class O {
        constructor(e, t) {
          (this._outJobs = new Map()),
            (this._inJobs = new Map()),
            (this.worker = e),
            (this.id = t),
            e.addEventListener('message', this._onMessage.bind(this)),
            e.addEventListener('error', (e) => {
              e.preventDefault(), F.error(e);
            });
        }
        static async create(e) {
          const t = await (async function () {
            if (!(0, s.h)('esri-workers')) return P(new w());
            if (!C && !k)
              try {
                const e = 'let globalId=0;const outgoing=new Map,configuration=JSON.parse("{CONFIGURATION}");self.esriConfig=configuration.esriConfig;const workerPath=self.esriConfig.workers.workerPath,HANDSHAKE=0,OPEN=1,OPENED=2,RESPONSE=3,INVOKE=4,ABORT=5;function createAbortError(){const e=new Error("Aborted");return e.name="AbortError",e}function receiveMessage(e){return e&&e.data?"string"==typeof e.data?JSON.parse(e.data):e.data:null}function invokeStaticMessage(e,o,r){const t=r&&r.signal,n=globalId++;return new Promise(((r,i)=>{if(t){if(t.aborted)return i(createAbortError());t.addEventListener("abort",(()=>{outgoing.get(n)&&(outgoing.delete(n),self.postMessage({type:5,jobId:n}),i(createAbortError()))}))}outgoing.set(n,{resolve:r,reject:i}),self.postMessage({type:4,jobId:n,methodName:e,abortable:null!=t,data:o})}))}let workerRevisionChecked=!1;function checkWorkerRevision(e){if(!workerRevisionChecked&&e.kernelInfo){workerRevisionChecked=!0;const{revision:o,buildDate:r,version:t}=configuration.kernelInfo,{revision:n,buildDate:i,version:s}=e.kernelInfo;o!==n&&console.warn(`[esri.core.workers] Version mismatch detected between ArcGIS API for JavaScript and assets:\nAPI version: ${t} [Date: ${r}, Revision: ${o.slice(0,8)}]\nAssets version: ${s} [Date: ${i}, Revision: ${n.slice(0,8)}]`)}}function messageHandler(e){const o=receiveMessage(e);if(!o)return;const r=o.jobId;switch(o.type){case 1:let e;function t(o){const t=e.connect(o);self.postMessage({type:2,jobId:r,data:t},[t])}"function"==typeof define&&define.amd?require([workerPath],(r=>{e=r.default||r,checkWorkerRevision(e),e.loadWorker(o.modulePath).then((e=>e||new Promise((e=>{require([o.modulePath],e)})))).then(t)})):"System"in self&&"function"==typeof System.import?System.import(workerPath).then((r=>(e=r.default,checkWorkerRevision(e),e.loadWorker(o.modulePath)))).then((e=>e||System.import(o.modulePath))).then(t):(self.RemoteClient||importScripts(workerPath),e=self.RemoteClient.default||self.RemoteClient,checkWorkerRevision(e),e.loadWorker(o.modulePath).then(t));break;case 3:if(outgoing.has(r)){const e=outgoing.get(r);outgoing.delete(r),o.error?e.reject(JSON.parse(o.error)):e.resolve(o.data)}}}self.dojoConfig=configuration.loaderConfig,esriConfig.workers.loaderUrl&&(self.importScripts(esriConfig.workers.loaderUrl),"function"==typeof require&&"function"==typeof require.config&&require.config(configuration.loaderConfig)),self.addEventListener("message",messageHandler),self.postMessage({type:0});'.replace(
                  '"{CONFIGURATION}"',
                  `'${(function () {
                    let e;
                    if (null != p.Z.default) {
                      const t = { ...p.Z };
                      delete t.default, (e = JSON.parse(JSON.stringify(t)));
                    } else e = JSON.parse(JSON.stringify(p.Z));
                    (e.assetsPath = (0, d.hF)(e.assetsPath)),
                      (e.request.interceptors = []),
                      (e.log.interceptors = []),
                      (e.locale = (0, h.g)()),
                      (e.has = {
                        'csp-restrictions': (0, s.h)('csp-restrictions'),
                        'esri-2d-debug': !1,
                        'esri-2d-update-debug': (0, s.h)('esri-2d-update-debug'),
                        'esri-2d-query-centroid-enabled': (0, s.h)(
                          'esri-2d-query-centroid-enabled',
                        ),
                        'featurelayer-pbf': (0, s.h)('featurelayer-pbf'),
                        'esri-atomics': (0, s.h)('esri-atomics'),
                        'esri-shared-array-buffer': (0, s.h)('esri-shared-array-buffer'),
                        'esri-tiles-debug': (0, s.h)('esri-tiles-debug'),
                        'esri-workers-arraybuffer-transfer': (0, s.h)(
                          'esri-workers-arraybuffer-transfer',
                        ),
                        'host-webworker': 1,
                      }),
                      e.workers.loaderUrl
                        ? (e.workers.loaderUrl = (0, d.hF)(e.workers.loaderUrl))
                        : y && (e.workers.loaderUrl = y),
                      e.workers.workerPath
                        ? (e.workers.workerPath = (0, d.hF)(e.workers.workerPath))
                        : (e.workers.workerPath = 'esri/core/workers/RemoteClient');
                    const t = p.Z.workers.loaderConfig,
                      r = (function (e) {
                        var t;
                        const r = {
                          async: e.async,
                          isDebug: e.isDebug,
                          locale: e.locale,
                          baseUrl: e.baseUrl,
                          has: { ...e.has },
                          map: { ...e.map },
                          packages: (e.packages && e.packages.concat()) || [],
                          paths: { ...e.paths },
                        };
                        return (
                          e.hasOwnProperty('async') || (r.async = !0),
                          e.hasOwnProperty('isDebug') || (r.isDebug = !1),
                          e.baseUrl || (r.baseUrl = f.baseUrl),
                          null == (t = f.packages) ||
                            t.forEach((e) => {
                              !(function (e, t) {
                                for (const r of e) if (r.name === t.name) return;
                                e.push(t);
                              })(r.packages, e);
                            }),
                          r
                        );
                      })({
                        baseUrl: null == t ? void 0 : t.baseUrl,
                        locale: (0, h.g)(),
                        has: {
                          'csp-restrictions': (0, s.h)('csp-restrictions'),
                          'dojo-test-sniff': 0,
                          'host-webworker': 1,
                          ...(null == t ? void 0 : t.has),
                        },
                        map: { ...(null == t ? void 0 : t.map) },
                        paths: { ...(null == t ? void 0 : t.paths) },
                        packages: (null == t ? void 0 : t.packages) || [],
                      }),
                      o = { version: l.i8, buildDate: l.rh, revision: l.LB };
                    return JSON.stringify({ esriConfig: e, loaderConfig: r, kernelInfo: o });
                  })()}'`,
                );
                C = URL.createObjectURL(new Blob([e], { type: 'text/javascript' }));
              } catch (e) {
                k = e || {};
              }
            let e;
            if (C)
              try {
                e = new Worker(C, { name: 'esri-worker-' + T++ });
              } catch (t) {
                _.warn(x, k), (e = new w());
              }
            else _.warn(x, k), (e = new w());
            return P(e);
          })();
          return new O(t, e);
        }
        terminate() {
          this.worker.terminate();
        }
        async open(e, t = {}) {
          const { signal: r } = t,
            o = (0, a.n)();
          return new Promise((t, s) => {
            const n = {
              resolve: t,
              reject: s,
              abortHandle: (0, i.$F)(r, () => {
                this._outJobs.delete(o), this._post({ type: E, jobId: o });
              }),
            };
            this._outJobs.set(o, n), this._post({ type: j, jobId: o, modulePath: e });
          });
        }
        _onMessage(e) {
          const t = (0, a.r)(e);
          if (t)
            switch (t.type) {
              case N:
                this._onOpenedMessage(t);
                break;
              case M:
                this._onResponseMessage(t);
                break;
              case E:
                this._onAbortMessage(t);
                break;
              case I:
                this._onInvokeMessage(t);
            }
        }
        _onAbortMessage(e) {
          const t = this._inJobs,
            r = e.jobId,
            o = t.get(r);
          o && (o.controller && o.controller.abort(), t.delete(r));
        }
        _onInvokeMessage(e) {
          const { methodName: t, jobId: r, data: o, abortable: s } = e,
            n = s ? (0, i.yi)() : null,
            u = this._inJobs,
            c = l.Nv[t];
          let p;
          try {
            if ('function' != typeof c) throw new TypeError(`${t} is not a function`);
            p = c.call(null, o, { signal: n ? n.signal : null });
          } catch (e) {
            return void this._post({ type: M, jobId: r, error: (0, a.t)(e) });
          }
          (0, i.y8)(p)
            ? (u.set(r, { controller: n, promise: p }),
              p.then(
                (e) => {
                  u.has(r) && (u.delete(r), this._post({ type: M, jobId: r }, e));
                },
                (e) => {
                  u.has(r) &&
                    (u.delete(r),
                    e || (e = { message: 'Error encountered at method' + t }),
                    (0, i.D_)(e) ||
                      this._post({
                        type: M,
                        jobId: r,
                        error: (0, a.t)(e || { message: `Error encountered at method ${t}` }),
                      }));
                },
              ))
            : this._post({ type: M, jobId: r }, p);
        }
        _onOpenedMessage(e) {
          var t;
          const { jobId: r, data: o } = e,
            s = this._outJobs.get(r);
          s && (this._outJobs.delete(r), null == (t = s.abortHandle) || t.remove(), s.resolve(o));
        }
        _onResponseMessage(e) {
          var t;
          const { jobId: r, error: s, data: i } = e,
            n = this._outJobs.get(r);
          n &&
            (this._outJobs.delete(r),
            null == (t = n.abortHandle) || t.remove(),
            s ? n.reject(o.Z.fromJSON(JSON.parse(s))) : n.resolve(i));
        }
        _post(e, t, r) {
          return (0, a.p)(this.worker, e, t, r);
        }
      }
      let R = (0, s.h)('esri-workers-debug')
        ? 1
        : (0, s.h)('host-browser')
        ? navigator.hardwareConcurrency - 1
        : 0;
      R || (R = ((0, s.h)('safari') && (0, s.h)('mac')) || (0, s.h)('trident') ? 7 : 2);
      let A = 0;
      const V = [];
      function D(e, t) {
        return L(e, { client: t });
      }
      async function L(e, t) {
        const r = new n.Z();
        return await r.open(e, t), r;
      }
      async function U(e, t = {}) {
        if ('string' != typeof e)
          throw new o.Z('workers:undefined-module', 'modulePath is missing');
        let r = t.strategy || 'distributed';
        if (
          ((0, s.h)('host-webworker') && !(0, s.h)('esri-workers') && (r = 'local'), 'local' === r)
        ) {
          let r = await a.default.loadWorker(e);
          r || (r = await import(e)), (0, i.k_)(t.signal);
          const o = t.client || r;
          return L([a.default.connect(r)], { ...t, client: o });
        }
        if (
          (await (async function () {
            if (J) return J;
            z = (0, i.yi)();
            const e = [];
            for (let t = 0; t < R; t++) {
              const r = O.create(t).then((e) => ((V[t] = e), e));
              e.push(r);
            }
            return (J = Promise.all(e)), J;
          })(),
          (0, i.k_)(t.signal),
          'dedicated' === r)
        ) {
          const r = A++ % R;
          return L([await V[r].open(e, t)], t);
        }
        if (t.maxNumWorkers && t.maxNumWorkers > 0) {
          const r = Math.min(t.maxNumWorkers, R);
          if (r < R) {
            const o = new Array(r);
            for (let s = 0; s < r; ++s) {
              const r = A++ % R;
              o[s] = V[r].open(e, t);
            }
            return L(o, t);
          }
        }
        return L(
          V.map((r) => r.open(e, t)),
          t,
        );
      }
      let z,
        J = null;
    },
    46495: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => d });
      var o = r(29768),
        s = r(57251),
        i = r(74673),
        n = r(76506),
        a = r(34250),
        l = (r(91306), r(92143), r(17533)),
        u = r(2906);
      r(71552),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(31450),
        r(40642),
        r(26341);
      const c = new s.J({
        esriFeatureEditToolAutoCompletePolygon: 'auto-complete-polygon',
        esriFeatureEditToolCircle: 'circle',
        esriFeatureEditToolEllipse: 'ellipse',
        esriFeatureEditToolFreehand: 'freehand',
        esriFeatureEditToolLine: 'line',
        esriFeatureEditToolNone: 'none',
        esriFeatureEditToolPoint: 'point',
        esriFeatureEditToolPolygon: 'polygon',
        esriFeatureEditToolRectangle: 'rectangle',
        esriFeatureEditToolArrow: 'arrow',
        esriFeatureEditToolTriangle: 'triangle',
        esriFeatureEditToolLeftArrow: 'left-arrow',
        esriFeatureEditToolRightArrow: 'right-arrow',
        esriFeatureEditToolUpArrow: 'up-arrow',
        esriFeatureEditToolDownArrow: 'down-arrow',
      });
      let p = class extends i.a {
        constructor(e) {
          super(e),
            (this.name = null),
            (this.description = null),
            (this.drawingTool = null),
            (this.prototype = null),
            (this.thumbnail = null);
        }
        writeDrawingTool(e, t) {
          t.drawingTool = c.toJSON(e);
        }
        writePrototype(e, t) {
          t.prototype = (0, n.yd)((0, n.d9)(e), !0);
        }
        writeThumbnail(e, t) {
          t.thumbnail = (0, n.yd)((0, n.d9)(e));
        }
      };
      (0, o._)([(0, a.Cb)({ json: { write: !0 } })], p.prototype, 'name', void 0),
        (0, o._)([(0, a.Cb)({ json: { write: !0 } })], p.prototype, 'description', void 0),
        (0, o._)(
          [(0, a.Cb)({ json: { read: c.read, write: c.write } })],
          p.prototype,
          'drawingTool',
          void 0,
        ),
        (0, o._)([(0, u.w)('drawingTool')], p.prototype, 'writeDrawingTool', null),
        (0, o._)([(0, a.Cb)({ json: { write: !0 } })], p.prototype, 'prototype', void 0),
        (0, o._)([(0, u.w)('prototype')], p.prototype, 'writePrototype', null),
        (0, o._)([(0, a.Cb)({ json: { write: !0 } })], p.prototype, 'thumbnail', void 0),
        (0, o._)([(0, u.w)('thumbnail')], p.prototype, 'writeThumbnail', null),
        (p = (0, o._)([(0, l.j)('esri.layers.support.FeatureTemplate')], p));
      const d = p;
    },
    78303: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => f });
      var o = r(29768),
        s = r(74673),
        i = r(76506),
        n = r(34250),
        a = (r(91306), r(92143), r(97714)),
        l = r(17533),
        u = r(2906),
        c = (r(9801), r(46495)),
        p = r(46826),
        d = r(53523),
        h = r(45433);
      r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(71552),
        r(31450),
        r(40642),
        r(26341),
        r(42911),
        r(57251),
        r(59465);
      let y = class extends s.a {
        constructor(e) {
          super(e),
            (this.id = null),
            (this.name = null),
            (this.domains = null),
            (this.templates = null);
        }
        readDomains(e) {
          const t = {};
          for (const r in e)
            if (e.hasOwnProperty(r)) {
              const o = e[r];
              switch (o.type) {
                case 'range':
                  t[r] = h.Z.fromJSON(o);
                  break;
                case 'codedValue':
                  t[r] = d.Z.fromJSON(o);
                  break;
                case 'inherited':
                  t[r] = p.Z.fromJSON(o);
              }
            }
          return t;
        }
        writeDomains(e, t) {
          const r = {};
          for (const t in e) e.hasOwnProperty(t) && (r[t] = e[t] && e[t].toJSON());
          (0, i.yd)(r), (t.domains = r);
        }
        readTemplates(e) {
          return e && e.map((e) => new c.Z(e));
        }
        writeTemplates(e, t) {
          t.templates = e && e.map((e) => e.toJSON());
        }
      };
      (0, o._)([(0, n.Cb)({ json: { write: !0 } })], y.prototype, 'id', void 0),
        (0, o._)([(0, n.Cb)({ json: { write: !0 } })], y.prototype, 'name', void 0),
        (0, o._)([(0, n.Cb)({ json: { write: !0 } })], y.prototype, 'domains', void 0),
        (0, o._)([(0, a.r)('domains')], y.prototype, 'readDomains', null),
        (0, o._)([(0, u.w)('domains')], y.prototype, 'writeDomains', null),
        (0, o._)([(0, n.Cb)({ json: { write: !0 } })], y.prototype, 'templates', void 0),
        (0, o._)([(0, a.r)('templates')], y.prototype, 'readTemplates', null),
        (0, o._)([(0, u.w)('templates')], y.prototype, 'writeTemplates', null),
        (y = (0, o._)([(0, l.j)('esri.layers.support.FeatureType')], y));
      const f = y;
    },
    97546: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => m });
      var o,
        s = r(29768),
        i = r(57251),
        n = r(74673),
        a = r(34250),
        l = (r(76506), r(91306)),
        u = (r(92143), r(59465)),
        c = r(97714),
        p = r(17533),
        d = r(9801),
        h = r(54732);
      r(71552),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(31450),
        r(40642),
        r(26341),
        r(53523),
        r(42911),
        r(46826),
        r(45433);
      const y = new i.J({
        binary: 'binary',
        coordinate: 'coordinate',
        countOrAmount: 'count-or-amount',
        dateAndTime: 'date-and-time',
        description: 'description',
        locationOrPlaceName: 'location-or-place-name',
        measurement: 'measurement',
        nameOrTitle: 'name-or-title',
        none: 'none',
        orderedOrRanked: 'ordered-or-ranked',
        percentageOrRatio: 'percentage-or-ratio',
        typeOrCategory: 'type-or-category',
        uniqueIdentifier: 'unique-identifier',
      });
      let f = (o = class extends n.a {
        constructor(e) {
          super(e),
            (this.alias = null),
            (this.defaultValue = void 0),
            (this.description = null),
            (this.domain = null),
            (this.editable = !0),
            (this.length = -1),
            (this.name = null),
            (this.nullable = !0),
            (this.type = null),
            (this.valueType = null);
        }
        readDescription(e, { description: t }) {
          let r;
          try {
            r = JSON.parse(t);
          } catch (e) {}
          return r ? r.value : null;
        }
        readValueType(e, { description: t }) {
          let r;
          try {
            r = JSON.parse(t);
          } catch (e) {}
          return r ? y.fromJSON(r.fieldValueType) : null;
        }
        clone() {
          return new o({
            alias: this.alias,
            defaultValue: this.defaultValue,
            description: this.description,
            domain: (this.domain && this.domain.clone()) || null,
            editable: this.editable,
            length: this.length,
            name: this.name,
            nullable: this.nullable,
            type: this.type,
            valueType: this.valueType,
          });
        }
      });
      (0, s._)([(0, a.Cb)({ type: String, json: { write: !0 } })], f.prototype, 'alias', void 0),
        (0, s._)(
          [(0, a.Cb)({ type: [String, Number], json: { write: { allowNull: !0 } } })],
          f.prototype,
          'defaultValue',
          void 0,
        ),
        (0, s._)([(0, a.Cb)()], f.prototype, 'description', void 0),
        (0, s._)([(0, c.r)('description')], f.prototype, 'readDescription', null),
        (0, s._)(
          [(0, a.Cb)({ types: d.t, json: { read: { reader: d.f }, write: !0 } })],
          f.prototype,
          'domain',
          void 0,
        ),
        (0, s._)(
          [(0, a.Cb)({ type: Boolean, json: { write: !0 } })],
          f.prototype,
          'editable',
          void 0,
        ),
        (0, s._)([(0, a.Cb)({ type: l.I, json: { write: !0 } })], f.prototype, 'length', void 0),
        (0, s._)([(0, a.Cb)({ type: String, json: { write: !0 } })], f.prototype, 'name', void 0),
        (0, s._)(
          [(0, a.Cb)({ type: Boolean, json: { write: !0 } })],
          f.prototype,
          'nullable',
          void 0,
        ),
        (0, s._)([(0, u.e)(h.k)], f.prototype, 'type', void 0),
        (0, s._)([(0, a.Cb)()], f.prototype, 'valueType', void 0),
        (0, s._)([(0, c.r)('valueType', ['description'])], f.prototype, 'readValueType', null),
        (f = o = (0, s._)([(0, p.j)('esri.layers.support.Field')], f));
      const m = f;
    },
    87258: (e, t, r) => {
      'use strict';
      r.r(t), r.d(t, { default: () => b });
      var o = r(29768),
        s = r(74569),
        i = r(23761),
        n = r(57251),
        a = r(74673),
        l = r(76506),
        u = r(34250),
        c = (r(91306), r(92143), r(97714)),
        p = r(17533),
        d = r(2906),
        h = r(60947),
        y = r(32422),
        f = r(97546);
      r(21801),
        r(40642),
        r(71552),
        r(73796),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(31450),
        r(26341),
        r(91597),
        r(86787),
        r(35132),
        r(89623),
        r(84069),
        r(44567),
        r(98380),
        r(92896),
        r(22781),
        r(86748),
        r(15324),
        r(76996),
        r(14249),
        r(9801),
        r(53523),
        r(59465),
        r(42911),
        r(46826),
        r(45433),
        r(60217),
        r(29107),
        r(30574),
        r(2157),
        r(25977),
        r(7471),
        r(54414),
        r(1648),
        r(8925),
        r(33921),
        r(3482),
        r(45154),
        r(16769),
        r(55531),
        r(30582),
        r(593),
        r(85699),
        r(63136),
        r(96055),
        r(47776),
        r(18033),
        r(6331),
        r(62048),
        r(4292),
        r(75626),
        r(72652),
        r(29641),
        r(30493),
        r(70821),
        r(82673),
        r(34229),
        r(37029),
        r(96467),
        r(63571),
        r(30776),
        r(48027),
        r(54174),
        r(82426),
        r(63130),
        r(25696),
        r(66396),
        r(42775),
        r(95834),
        r(34394),
        r(57150),
        r(76726),
        r(20444),
        r(76393),
        r(78548),
        r(2497),
        r(49906),
        r(46527),
        r(48649),
        r(9960),
        r(3101),
        r(5853),
        r(39141),
        r(32101),
        r(38742),
        r(48243),
        r(34635),
        r(10401),
        r(49900),
        r(66284),
        r(82058),
        r(88762),
        r(73173),
        r(22739),
        r(20543),
        r(67477),
        r(78533),
        r(74653),
        r(91091),
        r(58943),
        r(70737),
        r(8487),
        r(17817),
        r(90814),
        r(15459),
        r(61847),
        r(16796),
        r(16955),
        r(22401),
        r(77894),
        r(55187),
        r(8586),
        r(44509),
        r(69814),
        r(11305),
        r(62259),
        r(44790),
        r(5909),
        r(60669),
        r(48208),
        r(51589),
        r(54732);
      const m = new n.J({
        esriGeometryPoint: 'point',
        esriGeometryMultipoint: 'multipoint',
        esriGeometryPolyline: 'polyline',
        esriGeometryPolygon: 'polygon',
        esriGeometryEnvelope: 'extent',
        mesh: 'mesh',
        '': null,
      });
      let g = class extends a.a {
        constructor(e) {
          super(e),
            (this.displayFieldName = null),
            (this.exceededTransferLimit = !1),
            (this.features = []),
            (this.fields = null),
            (this.geometryType = null),
            (this.hasM = !1),
            (this.hasZ = !1),
            (this.queryGeometry = null),
            (this.spatialReference = null);
        }
        readFeatures(e, t) {
          const r = h.Z.fromJSON(t.spatialReference),
            o = [];
          for (let t = 0; t < e.length; t++) {
            const s = e[t],
              n = i.Z.fromJSON(s),
              a = s.geometry && s.geometry.spatialReference;
            (0, l.i)(n.geometry) && !a && (n.geometry.spatialReference = r), o.push(n);
          }
          return o;
        }
        writeGeometryType(e, t, r, o) {
          if (e) return void m.write(e, t, r, o);
          const { features: s } = this;
          if (s)
            for (const e of s)
              if (e && (0, l.i)(e.geometry)) return void m.write(e.geometry.type, t, r, o);
        }
        readQueryGeometry(e, t) {
          if (!e) return null;
          const r = !!e.spatialReference,
            o = (0, y.im)(e);
          return (
            !r && t.spatialReference && (o.spatialReference = h.Z.fromJSON(t.spatialReference)), o
          );
        }
        writeSpatialReference(e, t) {
          if (e) return void (t.spatialReference = e.toJSON());
          const { features: r } = this;
          if (r)
            for (const e of r)
              if (e && (0, l.i)(e.geometry) && e.geometry.spatialReference)
                return void (t.spatialReference = e.geometry.spatialReference.toJSON());
        }
        toJSON(e) {
          const t = this.write(null);
          if (t.features && Array.isArray(e) && e.length > 0)
            for (let r = 0; r < t.features.length; r++) {
              const o = t.features[r];
              if (o.geometry) {
                const t = e && e[r];
                o.geometry = (t && t.toJSON()) || o.geometry;
              }
            }
          return t;
        }
        quantize(e) {
          const {
              scale: [t, r],
              translate: [o, s],
            } = e,
            i = this.features,
            n = this._getQuantizationFunction(
              this.geometryType,
              (e) => Math.round((e - o) / t),
              (e) => Math.round((s - e) / r),
            );
          for (let e = 0, t = i.length; e < t; e++)
            n((0, l.u)(i[e].geometry)) || (i.splice(e, 1), e--, t--);
          return (this.transform = e), this;
        }
        unquantize() {
          const { geometryType: e, features: t, transform: r } = this;
          if (!r) return this;
          const {
              translate: [o, s],
              scale: [i, n],
            } = r,
            a = this._getHydrationFunction(
              e,
              (e) => e * i + o,
              (e) => s - e * n,
            );
          for (const { geometry: e } of t) (0, l.i)(e) && a(e);
          return (this.transform = null), this;
        }
        _quantizePoints(e, t, r) {
          let o, s;
          const i = [];
          for (let n = 0, a = e.length; n < a; n++) {
            const a = e[n];
            if (n > 0) {
              const e = t(a[0]),
                n = r(a[1]);
              (e === o && n === s) || (i.push([e - o, n - s]), (o = e), (s = n));
            } else (o = t(a[0])), (s = r(a[1])), i.push([o, s]);
          }
          return i.length > 0 ? i : null;
        }
        _getQuantizationFunction(e, t, r) {
          return 'point' === e
            ? (e) => ((e.x = t(e.x)), (e.y = r(e.y)), e)
            : 'polyline' === e || 'polygon' === e
            ? (e) => {
                const o = (0, y.oU)(e) ? e.rings : e.paths,
                  s = [];
                for (let e = 0, i = o.length; e < i; e++) {
                  const i = o[e],
                    n = this._quantizePoints(i, t, r);
                  n && s.push(n);
                }
                return s.length > 0 ? ((0, y.oU)(e) ? (e.rings = s) : (e.paths = s), e) : null;
              }
            : 'multipoint' === e
            ? (e) => {
                const o = this._quantizePoints(e.points, t, r);
                return o.length > 0 ? ((e.points = o), e) : null;
              }
            : 'extent' === e
            ? (e) => e
            : null;
        }
        _getHydrationFunction(e, t, r) {
          return 'point' === e
            ? (e) => {
                (e.x = t(e.x)), (e.y = r(e.y));
              }
            : 'polyline' === e || 'polygon' === e
            ? (e) => {
                const o = (0, y.oU)(e) ? e.rings : e.paths;
                let s, i;
                for (let e = 0, n = o.length; e < n; e++) {
                  const n = o[e];
                  for (let e = 0, o = n.length; e < o; e++) {
                    const o = n[e];
                    e > 0 ? ((s += o[0]), (i += o[1])) : ((s = o[0]), (i = o[1])),
                      (o[0] = t(s)),
                      (o[1] = r(i));
                  }
                }
              }
            : 'extent' === e
            ? (e) => {
                (e.xmin = t(e.xmin)),
                  (e.ymin = r(e.ymin)),
                  (e.xmax = t(e.xmax)),
                  (e.ymax = r(e.ymax));
              }
            : 'multipoint' === e
            ? (e) => {
                const o = e.points;
                let s, i;
                for (let e = 0, n = o.length; e < n; e++) {
                  const n = o[e];
                  e > 0 ? ((s += n[0]), (i += n[1])) : ((s = n[0]), (i = n[1])),
                    (n[0] = t(s)),
                    (n[1] = r(i));
                }
              }
            : void 0;
        }
      };
      (0, o._)(
        [(0, u.Cb)({ type: String, json: { write: !0 } })],
        g.prototype,
        'displayFieldName',
        void 0,
      ),
        (0, o._)(
          [
            (0, u.Cb)({
              type: Boolean,
              json: { write: { overridePolicy: (e) => ({ enabled: e }) } },
            }),
          ],
          g.prototype,
          'exceededTransferLimit',
          void 0,
        ),
        (0, o._)(
          [(0, u.Cb)({ type: [i.Z], json: { write: !0 } })],
          g.prototype,
          'features',
          void 0,
        ),
        (0, o._)([(0, c.r)('features')], g.prototype, 'readFeatures', null),
        (0, o._)([(0, u.Cb)({ type: [f.Z], json: { write: !0 } })], g.prototype, 'fields', void 0),
        (0, o._)(
          [
            (0, u.Cb)({
              type: ['point', 'multipoint', 'polyline', 'polygon', 'extent', 'mesh'],
              json: { read: { reader: m.read } },
            }),
          ],
          g.prototype,
          'geometryType',
          void 0,
        ),
        (0, o._)([(0, d.w)('geometryType')], g.prototype, 'writeGeometryType', null),
        (0, o._)(
          [
            (0, u.Cb)({
              type: Boolean,
              json: { write: { overridePolicy: (e) => ({ enabled: e }) } },
            }),
          ],
          g.prototype,
          'hasM',
          void 0,
        ),
        (0, o._)(
          [
            (0, u.Cb)({
              type: Boolean,
              json: { write: { overridePolicy: (e) => ({ enabled: e }) } },
            }),
          ],
          g.prototype,
          'hasZ',
          void 0,
        ),
        (0, o._)(
          [(0, u.Cb)({ types: s.qM, json: { write: !0 } })],
          g.prototype,
          'queryGeometry',
          void 0,
        ),
        (0, o._)([(0, c.r)('queryGeometry')], g.prototype, 'readQueryGeometry', null),
        (0, o._)(
          [(0, u.Cb)({ type: h.Z, json: { write: !0 } })],
          g.prototype,
          'spatialReference',
          void 0,
        ),
        (0, o._)([(0, d.w)('spatialReference')], g.prototype, 'writeSpatialReference', null),
        (0, o._)([(0, u.Cb)({ json: { write: !0 } })], g.prototype, 'transform', void 0),
        (g = (0, o._)([(0, p.j)('esri.rest.support.FeatureSet')], g)),
        (g.prototype.toJSON.isDefaultToJSON = !0),
        g || (g = {});
      const b = g;
    },
  },
]);
