(self.webpackChunkRemoteClient = self.webpackChunkRemoteClient || []).push([
  [4841, 3602, 6202, 9450, 5709, 7258],
  {
    23761: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => y });
      var s,
        i = r(29768),
        o = 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 f = (s = 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, s) {
          return e && !e.declaredClass
            ? e
            : { geometry: e, symbol: t, attributes: r, popupTemplate: s };
        }
        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 s(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, s) {
          if (!this.layer || !('graphicChanged' in this.layer)) return;
          const i = { graphic: this, property: e, oldValue: t, newValue: r };
          'attributes' === e && (i.attributeName = s), this.layer.graphicChanged(i);
        }
      });
      (0, i._)([(0, p.Cb)({ value: null })], f.prototype, 'attributes', null),
        (0, i._)(
          [(0, p.Cb)({ value: null, types: o.qM, json: { read: h.im } })],
          f.prototype,
          'geometry',
          null,
        ),
        (0, i._)([(0, p.Cb)({ type: Boolean })], f.prototype, 'isAggregate', void 0),
        (0, i._)([(0, p.Cb)()], f.prototype, 'layer', void 0),
        (0, i._)([(0, p.Cb)({ type: n.Z })], f.prototype, 'popupTemplate', void 0),
        (0, i._)([(0, p.Cb)()], f.prototype, 'sourceLayer', void 0),
        (0, i._)([(0, p.Cb)({ value: null, types: a.LB })], f.prototype, 'symbol', null),
        (0, i._)([(0, p.Cb)({ type: Boolean, value: !0 })], f.prototype, 'visible', null),
        (f = s = (0, i._)([(0, d.j)('esri.Graphic')], f)),
        ((f || (f = {})).generateUID = c.g);
      const y = f;
    },
    21781: (e, t, r) => {
      'use strict';
      r.d(t, { A: () => n });
      var s = r(29768),
        i = r(34250),
        o = (r(76506), r(91306), r(92143), r(17533));
      const n = (e) => {
        let t = class extends e {
          get apiKey() {
            var e;
            return this._isOverridden('apiKey')
              ? this._get('apiKey')
              : 'portalItem' in this
              ? null == (e = this.portalItem)
                ? void 0
                : e.apiKey
              : null;
          }
          set apiKey(e) {
            null != e
              ? this._override('apiKey', e)
              : (this._clearOverride('apiKey'), this.clear('apiKey', 'user'));
          }
        };
        return (
          (0, s._)([(0, i.Cb)({ type: String })], t.prototype, 'apiKey', null),
          (t = (0, s._)([(0, o.j)('esri.layers.mixins.APIKeyMixin')], t)),
          t
        );
      };
    },
    75025: (e, t, r) => {
      'use strict';
      r.d(t, { A: () => u });
      var s = r(29768),
        i = r(92143),
        o = r(76506),
        n = r(34250),
        a = (r(91306), r(17533)),
        l = r(21132);
      const u = (e) => {
        let t = class extends e {
          get title() {
            if (this._get('title') && 'defaults' !== this.originOf('title'))
              return this._get('title');
            if (this.url) {
              const e = (0, l.p)(this.url);
              if ((0, o.i)(e) && e.title) return e.title;
            }
            return this._get('title') || '';
          }
          set title(e) {
            this._set('title', e);
          }
          set url(e) {
            this._set('url', (0, l.s)(e, i.L.getLogger(this.declaredClass)));
          }
        };
        return (
          (0, s._)([(0, n.Cb)()], t.prototype, 'title', null),
          (0, s._)([(0, n.Cb)({ type: String })], t.prototype, 'url', null),
          (t = (0, s._)([(0, a.j)('esri.layers.mixins.ArcGISService')], t)),
          t
        );
      };
    },
    8547: (e, t, r) => {
      'use strict';
      r.d(t, { C: () => n });
      var s = r(29768),
        i = r(34250),
        o = (r(76506), r(91306), r(92143), r(17533));
      const n = (e) => {
        let t = class extends e {
          constructor() {
            super(...arguments), (this.customParameters = null);
          }
        };
        return (
          (0, s._)(
            [(0, i.Cb)({ type: Object, json: { write: !0 } })],
            t.prototype,
            'customParameters',
            void 0,
          ),
          (t = (0, s._)([(0, o.j)('esri.layers.mixins.CustomParametersMixin')], t)),
          t
        );
      };
    },
    24841: (e, t, r) => {
      'use strict';
      r.r(t), r.d(t, { default: () => f });
      var s = r(29768),
        i = r(15324),
        o = r(54179),
        n = r(34250),
        a = (r(76506), r(91306), r(92143), r(97714)),
        l = r(17533),
        u = r(9506),
        c = r(41617),
        p = r(89440),
        d = r(62162);
      r(91055),
        r(76996),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(71552),
        r(31450),
        r(40642),
        r(50161),
        r(26341),
        r(86748),
        r(74673),
        r(86787),
        r(2906),
        r(14249),
        r(9801),
        r(53523),
        r(59465),
        r(57251),
        r(42911),
        r(46826),
        r(45433),
        r(60217),
        r(74569),
        r(21801),
        r(73796),
        r(60947),
        r(91597),
        r(35132),
        r(89623),
        r(84069),
        r(44567),
        r(98380),
        r(92896),
        r(22781),
        r(32422),
        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(55306),
        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(65684),
        r(12158),
        r(74864),
        r(63683),
        r(94479),
        r(45702),
        r(51127),
        r(74071),
        r(51723),
        r(23243),
        r(51669),
        r(6090),
        r(3977),
        r(36741),
        r(11253),
        r(90319),
        r(38822),
        r(74057),
        r(23761),
        r(48190),
        r(85557),
        r(53785),
        r(95587),
        r(94070),
        r(16218),
        r(9075),
        r(67541),
        r(71206),
        r(89241),
        r(91700),
        r(51979),
        r(32037),
        r(60698),
        r(90811),
        r(86758),
        r(95310),
        r(93939),
        r(238),
        r(71831),
        r(49500),
        r(20208),
        r(82933),
        r(10691),
        r(38949),
        r(71777),
        r(27371),
        r(78648),
        r(87558),
        r(13063),
        r(17153),
        r(35962),
        r(9252),
        r(67350),
        r(11471),
        r(83748),
        r(28376),
        r(62554),
        r(29027),
        r(48687),
        r(65514),
        r(46987),
        r(37453),
        r(55823),
        r(92847),
        r(87258),
        r(97546),
        r(54732),
        r(21781),
        r(75025),
        r(21132),
        r(11118),
        r(8547),
        r(16647),
        r(58912),
        r(19902),
        r(93314),
        r(35197),
        r(59765),
        r(77361),
        r(43022),
        r(47842),
        r(17298),
        r(13322),
        r(14460),
        r(77807),
        r(50203),
        r(30439),
        r(6941),
        r(83290),
        r(46495),
        r(78303),
        r(47346),
        r(17055),
        r(68653),
        r(2180),
        r(14327),
        r(69218),
        r(68714),
        r(41864),
        r(34446),
        r(31292),
        r(27207),
        r(46646),
        r(39210),
        r(90549),
        r(78893),
        r(56420),
        r(74742),
        r(28239);
      let h = class extends (0, p.O)((0, d.P)((0, o.M)(c.Z))) {
        constructor(...e) {
          super(...e), (this.type = 'route');
        }
        get barrierLines() {
          return this._getNamedFeatureLayer('PolylineBarriers');
        }
        get barrierPoints() {
          return this._getNamedFeatureLayer('Barriers');
        }
        get barrierPolygons() {
          return this._getNamedFeatureLayer('PolygonBarriers');
        }
        get directionLines() {
          return this._getNamedFeatureLayer('DirectionLines');
        }
        get directionPoints() {
          return this._getNamedFeatureLayer('DirectionPoints');
        }
        readFeatureCollectionsFromItem(e, t, r) {
          return (
            this.revert('featureCollections', 'portal-item'),
            t.layers.map((e) => {
              const t = new u.default();
              return t.read(e, r), t;
            })
          );
        }
        readFeatureCollectionsFromWebMap(e, t, r) {
          return t.featureCollection.layers.map((e) => {
            const t = new u.default();
            return t.read(e, r), t;
          });
        }
        get fullExtent() {
          return this.featureCollections
            ? this.featureCollections.reduce(
                (e, t) => (e ? e.union(t.fullExtent) : t.fullExtent),
                null,
              )
            : null;
        }
        get maxScale() {
          return this.featureCollections
            ? this.featureCollections.reduce(
                (e, t) => (null == e ? t.maxScale : Math.min(e, t.maxScale)),
                null,
              )
            : 0;
        }
        set maxScale(e) {
          this.featureCollections.forEach((t) => {
            t.maxScale = e;
          }),
            this._set('maxScale', e);
        }
        get minScale() {
          return this.featureCollections
            ? this.featureCollections.reduce(
                (e, t) => (null == e ? t.minScale : Math.min(e, t.minScale)),
                null,
              )
            : 0;
        }
        set minScale(e) {
          this.featureCollections.forEach((t) => {
            t.minScale = e;
          }),
            this._set('minScale', e);
        }
        get routeInfo() {
          return this._getNamedFeatureLayer('RouteInfo');
        }
        get stops() {
          return this._getNamedFeatureLayer('Stops');
        }
        load(e) {
          return (
            this.addResolvingPromise(
              this.loadFromPortal({ supportedTypes: ['Feature Collection'] }, e),
            ),
            Promise.resolve(this)
          );
        }
        _getNamedFeatureLayer(e) {
          if (this.featureCollections) return this.featureCollections.find((t) => t.title === e);
        }
      };
      (0, s._)([(0, n.Cb)()], h.prototype, 'barrierLines', null),
        (0, s._)([(0, n.Cb)()], h.prototype, 'barrierPoints', null),
        (0, s._)([(0, n.Cb)()], h.prototype, 'barrierPolygons', null),
        (0, s._)([(0, n.Cb)()], h.prototype, 'directionLines', null),
        (0, s._)([(0, n.Cb)()], h.prototype, 'directionPoints', null),
        (0, s._)(
          [(0, n.Cb)({ type: i.Z.ofType(u.default) })],
          h.prototype,
          'featureCollections',
          void 0,
        ),
        (0, s._)(
          [(0, a.r)('portal-item', 'featureCollections', ['layers'])],
          h.prototype,
          'readFeatureCollectionsFromItem',
          null,
        ),
        (0, s._)(
          [(0, a.r)('web-map', 'featureCollections', ['featureCollection.layers'])],
          h.prototype,
          'readFeatureCollectionsFromWebMap',
          null,
        ),
        (0, s._)([(0, n.Cb)({ readOnly: !0 })], h.prototype, 'fullExtent', null),
        (0, s._)([(0, n.Cb)({ type: ['show', 'hide'] })], h.prototype, 'listMode', void 0),
        (0, s._)([(0, n.Cb)()], h.prototype, 'maxScale', null),
        (0, s._)([(0, n.Cb)()], h.prototype, 'minScale', null),
        (0, s._)([(0, n.Cb)()], h.prototype, 'routeInfo', null),
        (0, s._)([(0, n.Cb)()], h.prototype, 'stops', null),
        (0, s._)([(0, n.Cb)({ readOnly: !0, json: { read: !1 } })], h.prototype, 'type', void 0),
        (h = (0, s._)([(0, l.j)('esri.layers.RouteLayer')], h));
      const f = h;
    },
    21132: (e, t, r) => {
      'use strict';
      r.d(t, {
        a: () => g,
        b: () => y,
        c: () => h,
        d: () => c,
        e: () => v,
        f: () => d,
        p: () => p,
        s: () => m,
        t: () => f,
        w: () => b,
      });
      var s = r(76506),
        i = r(32101),
        o = r(38742);
      const n = [
          'MapServer',
          'ImageServer',
          'FeatureServer',
          'SceneServer',
          'StreamServer',
          'VectorTileServer',
        ],
        a = new RegExp(
          `^((?:https?:)?\\/\\/\\S+?\\/rest\\/services\\/(.+?)\\/(${n.join(
            '|',
          )}))(?:\\/(?:layers\\/)?(\\d+))?`,
          'i',
        ),
        l = new RegExp(
          `^((?:https?:)?\\/\\/\\S+?\\/([^\\/\\n]+)\\/(${n.join(
            '|',
          )}))(?:\\/(?:layers\\/)?(\\d+))?`,
          'i',
        ),
        u = /(.*?)\/(?:layers\/)?(\d+)\/?$/i;
      function c(e) {
        return !!a.test(e);
      }
      function p(e) {
        const t = (0, i.mN)(e),
          r = t.path.match(a) || t.path.match(l);
        if (!r) return null;
        const [, s, o, n, u] = r,
          c = o.indexOf('/');
        return {
          title: h(-1 !== c ? o.slice(c + 1) : o),
          serverType: n,
          sublayer: null != u && '' !== u ? parseInt(u, 10) : null,
          url: { path: s },
        };
      }
      function d(e) {
        const t = (0, i.mN)(e).path.match(u);
        return t ? { serviceUrl: t[1], sublayerId: Number(t[2]) } : null;
      }
      function h(e) {
        return (e = e.replace(/\s*[/_]+\s*/g, ' '))[0].toUpperCase() + e.slice(1);
      }
      function f(e, t) {
        const r = [];
        if (e) {
          const t = p(e);
          (0, s.i)(t) && t.title && r.push(t.title);
        }
        if (t) {
          const e = h(t);
          r.push(e);
        }
        if (2 === r.length) {
          if (-1 !== r[0].toLowerCase().indexOf(r[1].toLowerCase())) return r[0];
          if (-1 !== r[1].toLowerCase().indexOf(r[0].toLowerCase())) return r[1];
        }
        return r.join(' - ');
      }
      function y(e) {
        if (!e) return !1;
        const t = -1 !== (e = e.toLowerCase()).indexOf('.arcgis.com/'),
          r =
            -1 !== e.indexOf('//services') ||
            -1 !== e.indexOf('//tiles') ||
            -1 !== e.indexOf('//features');
        return t && r;
      }
      function m(e, t) {
        return e ? (0, i.Qj)((0, i.Hu)(e, t)) : e;
      }
      function g(e) {
        let { url: t } = e;
        if (!t) return { url: t };
        t = (0, i.Hu)(t, e.logger);
        const r = (0, i.mN)(t),
          o = p(r.path);
        let n;
        if ((0, s.i)(o))
          null != o.sublayer && null == e.layer.layerId && (n = o.sublayer), (t = o.url.path);
        else if (e.nonStandardUrlAllowed) {
          const e = d(r.path);
          (0, s.i)(e) && ((t = e.serviceUrl), (n = e.sublayerId));
        }
        return { url: (0, i.Qj)(t), layerId: n };
      }
      function b(e, t, r, s, n) {
        (0, o.w)(t, s, 'url', n),
          s.url && null != e.layerId && (s.url = (0, i.v_)(s.url, r, e.layerId.toString()));
      }
      function v(e) {
        if (!e) return !1;
        const t = e.toLowerCase(),
          r = -1 !== t.indexOf('/services/'),
          s = -1 !== t.indexOf('/mapserver/wmsserver'),
          i = -1 !== t.indexOf('/imageserver/wmsserver'),
          o = -1 !== t.indexOf('/wmsserver');
        return r && (s || i || o);
      }
    },
    48190: (e, t, r) => {
      'use strict';
      function s(e) {}
      r.d(t, { n: () => s }), r(76506);
    },
    6941: (e, t, r) => {
      'use strict';
      r.d(t, {
        a: () => o,
        b: () => n,
        c: () => a,
        d: () => i,
        e: () => l,
        f: () => u,
        g: () => c,
      });
      const s = [252, 146, 31, 255],
        i = {
          type: 'esriSMS',
          style: 'esriSMSCircle',
          size: 6,
          color: s,
          outline: {
            type: 'esriSLS',
            style: 'esriSLSSolid',
            width: 0.75,
            color: [153, 153, 153, 255],
          },
        },
        o = { type: 'esriSLS', style: 'esriSLSSolid', width: 0.75, color: s },
        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: () => f, d: () => y, h: () => h });
      var s = r(21972),
        i = r(15324),
        o = 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 s.Z;
      }
      function u(e) {
        return e instanceof i.Z
          ? Object.keys(e.items)
          : l(e)
          ? (0, n.g)(e).keys()
          : e
          ? Object.keys(e)
          : [];
      }
      function c(e, t) {
        return e instanceof i.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 s = u(e),
          i = u(t);
        if (0 === s.length && 0 === i.length) return;
        if (
          !s.length ||
          !i.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 = i.filter((e) => -1 === s.indexOf(e)),
          h = s.filter((e) => -1 === i.indexOf(e)),
          f = s
            .filter((r) => i.indexOf(r) > -1 && c(e, r) !== c(t, r))
            .concat(n, h)
            .sort(),
          y = p(e);
        if (y && a.indexOf(y) > -1 && f.length)
          return { type: 'complete', oldValue: e, newValue: t };
        let m;
        const g = l(e) && l(t);
        for (const s of f) {
          const i = c(e, s),
            n = c(t, s);
          let a;
          (g || ('function' != typeof i && 'function' != typeof n)) &&
            i !== n &&
            ((null == i && null == n) ||
              ((a =
                r && r[s] && 'function' == typeof r[s]
                  ? r[s](i, n)
                  : 'object' == typeof i && 'object' == typeof n && p(i) === p(n)
                  ? d(i, n)
                  : { type: 'complete', oldValue: i, newValue: n }),
              (0, o.i)(a) &&
                ((0, o.i)(m) ? (m.diff[s] = a) : (m = { type: 'partial', diff: { [s]: a } }))));
        }
        return m;
      }
      function h(e, t) {
        if ((0, o.b)(e)) return !1;
        const r = t.split('.');
        let s = e;
        for (const e of r) {
          if ('complete' === s.type) return !0;
          if ('partial' !== s.type) return !1;
          {
            const t = s.diff[e];
            if (!t) return !1;
            s = t;
          }
        }
        return !0;
      }
      function f(e, t) {
        for (const r of t) if (h(e, r)) return !0;
        return !1;
      }
      function y(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: () => s });
      const s = 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',
      });
    },
    85557: (e, t, r) => {
      'use strict';
      r.d(t, { m: () => o });
      var s = r(53785),
        i = r(89623);
      const o = {
        inches: (0, s.c)(1, 'meters', 'inches'),
        feet: (0, s.c)(1, 'meters', 'feet'),
        'us-feet': (0, s.c)(1, 'meters', 'us-feet'),
        yards: (0, s.c)(1, 'meters', 'yards'),
        miles: (0, s.c)(1, 'meters', 'miles'),
        'nautical-miles': (0, s.c)(1, 'meters', 'nautical-miles'),
        millimeters: (0, s.c)(1, 'meters', 'millimeters'),
        centimeters: (0, s.c)(1, 'meters', 'centimeters'),
        decimeters: (0, s.c)(1, 'meters', 'decimeters'),
        meters: (0, s.c)(1, 'meters', 'meters'),
        kilometers: (0, s.c)(1, 'meters', 'kilometers'),
        'decimal-degrees': 1 / (0, s.l)(1, 'meters', i.e.radius),
      };
    },
    55823: (e, t, r) => {
      'use strict';
      r.d(t, { a: () => i });
      var s = r(92847);
      function i(e, t, r) {
        if (!r || !r.features || !r.hasZ) return;
        const i = (0, s.g)(r.geometryType, t, e.outSpatialReference);
        if (i) for (const e of r.features) i(e.geometry);
      }
    },
    52228: (e, t, r) => {
      'use strict';
      function s(e) {
        return e && 'esri.renderers.visualVariables.SizeVariable' === e.declaredClass;
      }
      function i(e) {
        return null != e && !isNaN(e) && isFinite(e);
      }
      function o(e) {
        return e.valueExpression
          ? 'expression'
          : e.field && 'string' == typeof e.field
          ? 'field'
          : 'unknown';
      }
      function n(e, t) {
        const r = t || o(e),
          s = 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' === s
          ? null != e.minSize && null != e.minDataValue
            ? e.minSize && e.minDataValue
              ? 'proportional'
              : 'additive'
            : 'identity'
          : 'real-world-size';
      }
      r.d(t, { a: () => n, b: () => i, g: () => o, i: () => s });
    },
    42788: (e, t, r) => {
      'use strict';
      r.d(t, { g: () => i });
      let s = 0;
      function i() {
        return ++s;
      }
    },
    74057: (e, t, r) => {
      'use strict';
      r.d(t, {
        PR: () => S,
        Lq: () => f,
        Km: () => y,
        cM: () => m,
        ap: () => g,
        V3: () => w,
        B3: () => h,
      });
      var s = r(48027),
        i = r(23761),
        o = 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 i.Z(),
        d = Math.PI,
        h = /^\s*(return\s+)?\$view\.scale\s*(;)?\s*$/i;
      function f(e, t, r) {
        const i =
          'visualVariables' in e && e.visualVariables
            ? e.visualVariables.filter((e) => 'color' === e.type)[0]
            : e;
        if (!i) return;
        if ('esri.renderers.visualVariables.ColorVariable' !== i.declaredClass)
          return void c.warn(
            'The visualVariable should be an instance of esri.renderers.visualVariables.ColorVariable',
          );
        const o = 'number' == typeof t,
          n = o ? null : t,
          l = n && n.attributes;
        let u = o ? t : null;
        const p = i.field,
          { ipData: d, hasExpression: h } = i.cache;
        let f = i.cache.compiledFunc;
        if (!p && !h) {
          const e = i.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,
              s = t.getViewInfo(e),
              o = t.createExecContext(n, s);
            if (!f) {
              const e = t.createSyntaxTree(i.valueExpression);
              (f = t.createFunction(e)), (i.cache.compiledFunc = f);
            }
            u = t.executeFunction(f, o);
          } else l && (u = l[p]);
        const y = i.normalizationField,
          m = l ? parseFloat(l[y]) : void 0;
        if (null != u && (!y || o || (!isNaN(m) && 0 !== m))) {
          isNaN(m) || o || (u /= m);
          const e = _(u, d);
          if (e) {
            const t = e[0],
              o = e[1],
              n =
                t === o
                  ? i.stops[t].color
                  : s.Z.blendColors(
                      i.stops[t].color,
                      i.stops[o].color,
                      e[2],
                      (0, a.i)(r) ? r.color : void 0,
                    );
            return new s.Z(n);
          }
        }
      }
      function y(e, t, r) {
        const s =
          'visualVariables' in e && e.visualVariables
            ? e.visualVariables.filter((e) => 'opacity' === e.type)[0]
            : e;
        if (!s) return;
        if ('esri.renderers.visualVariables.OpacityVariable' !== s.declaredClass)
          return void c.warn(
            'The visualVariable should be an instance of esri.renderers.visualVariables.OpacityVariable',
          );
        const i = 'number' == typeof t,
          o = i ? null : t,
          n = o && o.attributes;
        let l = i ? t : null;
        const u = s.field,
          { ipData: p, hasExpression: d } = s.cache;
        let h = s.cache.compiledFunc;
        if (!u && !d) {
          const e = s.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,
              i = t.getViewInfo(e),
              n = t.createExecContext(o, i);
            if (!h) {
              const e = t.createSyntaxTree(s.valueExpression);
              (h = t.createFunction(e)), (s.cache.compiledFunc = h);
            }
            l = t.executeFunction(h, n);
          } else n && (l = n[u]);
        const f = s.normalizationField,
          y = n ? parseFloat(n[f]) : void 0;
        if (null != l && (!f || i || (!isNaN(y) && 0 !== y))) {
          isNaN(y) || i || (l /= y);
          const e = _(l, p);
          if (e) {
            const t = e[0],
              r = e[1];
            if (t === r) return s.stops[t].opacity;
            {
              const i = s.stops[t].opacity;
              return i + (s.stops[r].opacity - i) * e[2];
            }
          }
        }
      }
      function m(e, t, r) {
        const s =
          'visualVariables' in e && e.visualVariables
            ? e.visualVariables.filter((e) => 'rotation' === e.type)[0]
            : e;
        if (!s) return;
        if ('esri.renderers.visualVariables.RotationVariable' !== s.declaredClass)
          return void c.warn(
            'The visualVariable should be an instance of esri.renderers.visualVariables.RotationVariable',
          );
        const i = s.axis || 'heading',
          o = 'heading' === i && 'arithmetic' === s.rotationType ? 90 : 0,
          n = 'heading' === i && 'arithmetic' === s.rotationType ? -1 : 1,
          l = 'number' == typeof t ? null : t,
          u = l && l.attributes,
          p = s.field,
          { hasExpression: d } = s.cache;
        let h = s.cache.compiledFunc,
          f = 0;
        if (!p && !d) return f;
        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,
            i = t.getViewInfo(e),
            o = t.createExecContext(l, i);
          if (!h) {
            const e = t.createSyntaxTree(s.valueExpression);
            (h = t.createFunction(e)), (s.cache.compiledFunc = h);
          }
          f = t.executeFunction(h, o);
        } else u && (f = u[p] || 0);
        return (f = 'number' != typeof f || isNaN(f) ? null : o + n * f), f;
      }
      function g(e, t, r) {
        const s =
          'visualVariables' in e && e.visualVariables
            ? e.visualVariables.filter((e) => 'size' === e.type)[0]
            : e;
        if (!s) return;
        if ('esri.renderers.visualVariables.SizeVariable' !== s.declaredClass)
          return void c.warn(
            'The visualVariable should be an instance of esri.renderers.visualVariables.SizeVariable',
          );
        const i = (function (e, t, r, s, i) {
          switch (t.transformationType) {
            case 'additive':
              return (function (e, t, r, s) {
                return e + (b(t.minSize, r, s) || t.minDataValue);
              })(e, t, r, s);
            case 'constant':
              return (function (e, t, r) {
                const s = e.stops;
                let i = s && s.length && s[0].size;
                return null == i && (i = e.minSize), b(i, t, r);
              })(t, r, s);
            case 'clamped-linear':
              return (function (e, t, r, s) {
                const i = (e - t.minDataValue) / (t.maxDataValue - t.minDataValue),
                  o = b(t.minSize, r, s),
                  n = b(t.maxSize, r, s),
                  l = (0, a.i)(s) ? s.shape : void 0;
                if (e <= t.minDataValue) return o;
                if (e >= t.maxDataValue) return n;
                if ('area' === t.scaleBy && l) {
                  const e = 'circle' === l,
                    t = e ? d * (o / 2) ** 2 : o * o,
                    r = t + i * ((e ? d * (n / 2) ** 2 : n * n) - t);
                  return e ? 2 * Math.sqrt(r / d) : Math.sqrt(r);
                }
                return o + i * (n - o);
              })(e, t, r, s);
            case 'proportional':
              return (function (e, t, r, s) {
                const i = (0, a.i)(s) ? s.shape : void 0,
                  o = e / t.minDataValue,
                  n = b(t.minSize, r, s),
                  l = b(t.maxSize, r, s);
                let u = null;
                return (
                  (u =
                    'circle' === i
                      ? 2 * Math.sqrt(o * (n / 2) ** 2)
                      : 'square' === i || 'diamond' === i || 'image' === i
                      ? Math.sqrt(o * n ** 2)
                      : o * n),
                  v(u, n, l)
                );
              })(e, t, r, s);
            case 'stops':
              return (function (e, t, r, s, i) {
                const [o, n, a] = _(e, i);
                if (o === n) return b(t.stops[o].size, r, s);
                {
                  const e = b(t.stops[o].size, r, s);
                  return e + (b(t.stops[n].size, r, s) - e) * a;
                }
              })(e, t, r, s, i);
            case 'real-world-size':
              return (function (e, t, r, s) {
                const i = ((0, a.i)(s) && s.resolution ? s.resolution : 1) * l.m[t.valueUnit],
                  o = b(t.minSize, r, s),
                  n = b(t.maxSize, r, s),
                  { valueRepresentation: u } = t;
                let c = null;
                return (
                  (c =
                    'area' === u
                      ? (2 * Math.sqrt(e / d)) / i
                      : 'radius' === u || 'distance' === u
                      ? (2 * e) / i
                      : e / i),
                  v(c, o, n)
                );
              })(e, t, r, s);
            case 'identity':
              return e;
            case 'unknown':
              return null;
          }
        })(
          (function (e, t, r) {
            const s = 'number' == typeof t,
              i = s ? null : t,
              o = i && i.attributes;
            let n = s ? t : null;
            const { isScaleDriven: l } = e.cache;
            let p = e.cache.compiledFunc;
            if (l) {
              const t = (0, a.i)(r) ? r.scale : void 0,
                s = (0, a.i)(r) ? r.view : void 0;
              n =
                null == t || '3d' === s
                  ? (function (e) {
                      let t = null,
                        r = null;
                      const s = e.stops;
                      return (
                        s
                          ? ((t = s[0].value), (r = s[s.length - 1].value))
                          : ((t = e.minDataValue || 0), (r = e.maxDataValue || 0)),
                        (t + r) / 2
                      );
                    })(e)
                  : t;
            } else if (!s)
              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,
                    },
                    s = r.arcade.arcadeUtils,
                    o = s.getViewInfo(t),
                    l = s.createExecContext(i, o);
                  if (!p) {
                    const t = s.createSyntaxTree(e.valueExpression);
                    (p = s.createFunction(t)), (e.cache.compiledFunc = p);
                  }
                  n = s.executeFunction(p, l);
                  break;
                }
                case 'field':
                  o && (n = o[e.field]);
                  break;
                case 'unknown':
                  n = null;
              }
            if (!(0, u.b)(n)) return null;
            if (s || !e.normalizationField) return n;
            const d = o ? parseFloat(o[e.normalizationField]) : null;
            return (0, u.b)(d) && 0 !== d ? n / d : null;
          })(s, t, r),
          s,
          t,
          r,
          s.cache.ipData,
        );
        return null == i || isNaN(i) ? 0 : i;
      }
      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: s } = e.cache;
        if (!((s && '3d' === r) || t)) return null;
        const i = { scale: t, view: r };
        let o = b(e.minSize, p, i),
          n = b(e.maxSize, p, i);
        if (null != o || null != n) {
          if (o > n) {
            const e = n;
            (n = o), (o = e);
          }
          return { minSize: o, maxSize: n };
        }
      }
      function _(e, t) {
        if (!t) return;
        let r = 0,
          s = t.length - 1;
        return (
          t.some((t, i) => (e < t ? ((s = i), !0) : ((r = i), !1))),
          [r, s, (e - t[r]) / (t[s] - t[r])]
        );
      }
      function S(e, t, r) {
        const s = ['proportional', 'proportional', 'proportional'];
        for (const i of e) {
          const e = i.useSymbolValue ? 'symbol-value' : g(i, t, r);
          switch (i.axis) {
            case 'width':
              s[0] = e;
              break;
            case 'depth':
              s[1] = e;
              break;
            case 'height':
              s[2] = e;
              break;
            case 'width-and-depth':
              (s[0] = e), (s[1] = e);
              break;
            case 'all':
            case void 0:
            case null:
              (s[0] = e), (s[1] = e), (s[2] = e);
              break;
            default:
              (0, o.n)(i.axis);
          }
        }
        return s;
      }
    },
    92847: (e, t, r) => {
      'use strict';
      r.d(t, { g: () => n, u: () => l });
      var s = r(76506),
        i = r(53785),
        o = r(60947);
      function n(e, t, r) {
        if ((0, s.b)(t) || (0, s.b)(r) || r.vcsWkid || (0, o.e)(t, r)) return null;
        const n = (0, i.d)(t) / (0, i.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 s = (0, i.d)(r);
        u(e, r, s), u(t, r, s);
      }
      function u(e, t, r) {
        if (e) for (const s of e) c(s.geometry, t, r);
      }
      function c(e, t, r) {
        if (!e || !e.spatialReference || (0, o.e)(e.spatialReference, t)) return;
        const s = (0, i.d)(e.spatialReference) / r;
        if (1 !== s)
          if ('x' in e) null != e.z && (e.z *= s);
          else if ('rings' in e) a(e, e.rings, s);
          else if ('paths' in e) a(e, e.paths, s);
          else if ('points' in e && (null == e.hasM || e.hasZ))
            for (const t of e.points) t.length > 2 && (t[2] *= s);
      }
    },
    82933: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => c });
      var s = r(29768),
        i = r(21972),
        o = 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 i.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) && !o.Z.isCollection(e)) return this;
          const r = this._getOrCreateGroup(t);
          return (
            Array.isArray(e) || o.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) || o.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, s._)([(0, a.Cb)({ readOnly: !0 })], u.prototype, 'size', null),
        (u = (0, s._)([(0, l.j)('esri.core.Handles')], u));
      const c = u;
    },
    46987: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => l });
      var s = r(22723),
        i = r(92143),
        o = r(50406),
        n = r(37453);
      r(76506), r(31450), r(71552), r(40642), r(60991), r(81172), r(88762), r(32101);
      const a = i.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, s) => {
              let i = !0;
              const a = (e) => {
                (0, o.k_)(t.signal), i && ((i = !1), e());
              };
              (this._clients.length = e.length), (this._clientPromises.length = e.length);
              for (let i = 0; i < e.length; ++i) {
                const l = e[i];
                (0, o.y8)(l)
                  ? (this._clientPromises[i] = l.then(
                      (e) => ((this._clients[i] = new n.default(e, t)), a(r), this._clients[i]),
                      () => (a(s), null),
                    ))
                  : ((this._clients[i] = new n.default(l, t)),
                    (this._clientPromises[i] = Promise.resolve(this._clients[i])),
                    a(r));
              }
            });
          }
          broadcast(e, t, r) {
            const s = new Array(this._clientPromises.length);
            for (let i = 0; i < this._clientPromises.length; ++i) {
              const o = this._clientPromises[i];
              s[i] = o.then((s) => s.invoke(e, t, r));
            }
            return s;
          }
          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 s = null;
            return (
              Array.isArray(r)
                ? (a.warn(
                    'invoke()',
                    'The transferList parameter is deprecated, use the options object instead',
                  ),
                  (s = { transferList: r }))
                : (s = r),
              this.closed
                ? Promise.reject(new Error('Connection closed'))
                : this.getAvailableClient().then((r) => r.invoke(e, t, s))
            );
          }
          on(e, t) {
            return Promise.all(this._clientPromises).then(() =>
              (0, s.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 s = 0; s < this._clientPromises.length; ++s)
                this._clientPromises[s].then((i) => {
                  (t[s] = i.openPort()), 0 == --r && e(t);
                });
            });
          }
          get test() {
            return { numClients: this._clients.length };
          }
        };
    },
    65514: (e, t, r) => {
      'use strict';
      r.d(t, { bA: () => z, Mz: () => R });
      var s = r(60991),
        i = r(76506),
        o = 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 f = null;
      f = (0, d.hF)((0, c.g)('esri/core/workers/init.js'));
      const y = {};
      (y.baseUrl = (0, d.hF)((0, c.g)('dojo/'))),
        (y.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 = i.g.MutationObserver || i.g.WebKitMutationObserver,
        b = (function () {
          let e;
          if (i.g.process && i.g.process.nextTick)
            e = (e) => {
              i.g.process.nextTick(e);
            };
          else if (i.g.Promise)
            e = (e) => {
              i.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 = i.g.MessageEvent;
          try {
            new e('message', { data: null });
          } catch {
            return (e, t = {}) => {
              const { data: r, bubbles: s = !1, cancelable: i = !1 } = t,
                o = document.createEvent('Event');
              return o.initEvent(e, s, i), (o.data = r), o;
            };
          }
          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 s = await a.default.loadWorker(e);
            s || (s = await import(e));
            const i = a.default.connect(s);
            this._workerPostMessage({ type: a.M.OPENED, jobId: r, data: i });
          }
        }
      }
      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(i) {
            const o = (0, a.r)(i);
            o &&
              o.type === S &&
              (e.removeEventListener('message', r), e.removeEventListener('error', s), t(e));
          }
          function s(t) {
            t.preventDefault(),
              e.removeEventListener('message', r),
              e.removeEventListener('error', s),
              _.warn('Failed to create Worker. Fallback to execute module in main thread', t),
              (e = new w()).addEventListener('message', r),
              e.addEventListener('error', s);
          }
          e.addEventListener('message', r), e.addEventListener('error', s);
        });
      }
      let E = 0;
      const T = u.L.getLogger('esri.core.workers'),
        { ABORT: F, INVOKE: O, OPEN: L, OPENED: N, RESPONSE: j } = a.M;
      class V {
        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(), T.error(e);
            });
        }
        static async create(e) {
          const t = await (async function () {
            if (!(0, i.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, i.h)('csp-restrictions'),
                        'esri-2d-debug': !1,
                        'esri-2d-update-debug': (0, i.h)('esri-2d-update-debug'),
                        'esri-2d-query-centroid-enabled': (0, i.h)(
                          'esri-2d-query-centroid-enabled',
                        ),
                        'featurelayer-pbf': (0, i.h)('featurelayer-pbf'),
                        'esri-atomics': (0, i.h)('esri-atomics'),
                        'esri-shared-array-buffer': (0, i.h)('esri-shared-array-buffer'),
                        'esri-tiles-debug': (0, i.h)('esri-tiles-debug'),
                        'esri-workers-arraybuffer-transfer': (0, i.h)(
                          'esri-workers-arraybuffer-transfer',
                        ),
                        'host-webworker': 1,
                      }),
                      e.workers.loaderUrl
                        ? (e.workers.loaderUrl = (0, d.hF)(e.workers.loaderUrl))
                        : f && (e.workers.loaderUrl = f),
                      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 = y.baseUrl),
                          null == (t = y.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, i.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) || [],
                      }),
                      s = { version: l.i8, buildDate: l.rh, revision: l.LB };
                    return JSON.stringify({ esriConfig: e, loaderConfig: r, kernelInfo: s });
                  })()}'`,
                );
                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-' + E++ });
              } catch (t) {
                _.warn(x, k), (e = new w());
              }
            else _.warn(x, k), (e = new w());
            return P(e);
          })();
          return new V(t, e);
        }
        terminate() {
          this.worker.terminate();
        }
        async open(e, t = {}) {
          const { signal: r } = t,
            s = (0, a.n)();
          return new Promise((t, i) => {
            const n = {
              resolve: t,
              reject: i,
              abortHandle: (0, o.$F)(r, () => {
                this._outJobs.delete(s), this._post({ type: F, jobId: s });
              }),
            };
            this._outJobs.set(s, n), this._post({ type: L, jobId: s, modulePath: e });
          });
        }
        _onMessage(e) {
          const t = (0, a.r)(e);
          if (t)
            switch (t.type) {
              case N:
                this._onOpenedMessage(t);
                break;
              case j:
                this._onResponseMessage(t);
                break;
              case F:
                this._onAbortMessage(t);
                break;
              case O:
                this._onInvokeMessage(t);
            }
        }
        _onAbortMessage(e) {
          const t = this._inJobs,
            r = e.jobId,
            s = t.get(r);
          s && (s.controller && s.controller.abort(), t.delete(r));
        }
        _onInvokeMessage(e) {
          const { methodName: t, jobId: r, data: s, abortable: i } = e,
            n = i ? (0, o.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, s, { signal: n ? n.signal : null });
          } catch (e) {
            return void this._post({ type: j, jobId: r, error: (0, a.t)(e) });
          }
          (0, o.y8)(p)
            ? (u.set(r, { controller: n, promise: p }),
              p.then(
                (e) => {
                  u.has(r) && (u.delete(r), this._post({ type: j, jobId: r }, e));
                },
                (e) => {
                  u.has(r) &&
                    (u.delete(r),
                    e || (e = { message: 'Error encountered at method' + t }),
                    (0, o.D_)(e) ||
                      this._post({
                        type: j,
                        jobId: r,
                        error: (0, a.t)(e || { message: `Error encountered at method ${t}` }),
                      }));
                },
              ))
            : this._post({ type: j, jobId: r }, p);
        }
        _onOpenedMessage(e) {
          var t;
          const { jobId: r, data: s } = e,
            i = this._outJobs.get(r);
          i && (this._outJobs.delete(r), null == (t = i.abortHandle) || t.remove(), i.resolve(s));
        }
        _onResponseMessage(e) {
          var t;
          const { jobId: r, error: i, data: o } = e,
            n = this._outJobs.get(r);
          n &&
            (this._outJobs.delete(r),
            null == (t = n.abortHandle) || t.remove(),
            i ? n.reject(s.Z.fromJSON(JSON.parse(i))) : n.resolve(o));
        }
        _post(e, t, r) {
          return (0, a.p)(this.worker, e, t, r);
        }
      }
      let M = (0, i.h)('esri-workers-debug')
        ? 1
        : (0, i.h)('host-browser')
        ? navigator.hardwareConcurrency - 1
        : 0;
      M || (M = ((0, i.h)('safari') && (0, i.h)('mac')) || (0, i.h)('trident') ? 7 : 2);
      let I = 0;
      const A = [];
      function R(e, t) {
        return D(e, { client: t });
      }
      async function D(e, t) {
        const r = new n.Z();
        return await r.open(e, t), r;
      }
      async function z(e, t = {}) {
        if ('string' != typeof e)
          throw new s.Z('workers:undefined-module', 'modulePath is missing');
        let r = t.strategy || 'distributed';
        if (
          ((0, i.h)('host-webworker') && !(0, i.h)('esri-workers') && (r = 'local'), 'local' === r)
        ) {
          let r = await a.default.loadWorker(e);
          r || (r = await import(e)), (0, o.k_)(t.signal);
          const s = t.client || r;
          return D([a.default.connect(r)], { ...t, client: s });
        }
        if (
          (await (async function () {
            if (Z) return Z;
            J = (0, o.yi)();
            const e = [];
            for (let t = 0; t < M; t++) {
              const r = V.create(t).then((e) => ((A[t] = e), e));
              e.push(r);
            }
            return (Z = Promise.all(e)), Z;
          })(),
          (0, o.k_)(t.signal),
          'dedicated' === r)
        ) {
          const r = I++ % M;
          return D([await A[r].open(e, t)], t);
        }
        if (t.maxNumWorkers && t.maxNumWorkers > 0) {
          const r = Math.min(t.maxNumWorkers, M);
          if (r < M) {
            const s = new Array(r);
            for (let i = 0; i < r; ++i) {
              const r = I++ % M;
              s[i] = A[r].open(e, t);
            }
            return D(s, t);
          }
        }
        return D(
          A.map((r) => r.open(e, t)),
          t,
        );
      }
      let J,
        Z = null;
    },
    46495: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => d });
      var s = r(29768),
        i = r(57251),
        o = 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 i.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 o.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, s._)([(0, a.Cb)({ json: { write: !0 } })], p.prototype, 'name', void 0),
        (0, s._)([(0, a.Cb)({ json: { write: !0 } })], p.prototype, 'description', void 0),
        (0, s._)(
          [(0, a.Cb)({ json: { read: c.read, write: c.write } })],
          p.prototype,
          'drawingTool',
          void 0,
        ),
        (0, s._)([(0, u.w)('drawingTool')], p.prototype, 'writeDrawingTool', null),
        (0, s._)([(0, a.Cb)({ json: { write: !0 } })], p.prototype, 'prototype', void 0),
        (0, s._)([(0, u.w)('prototype')], p.prototype, 'writePrototype', null),
        (0, s._)([(0, a.Cb)({ json: { write: !0 } })], p.prototype, 'thumbnail', void 0),
        (0, s._)([(0, u.w)('thumbnail')], p.prototype, 'writeThumbnail', null),
        (p = (0, s._)([(0, l.j)('esri.layers.support.FeatureTemplate')], p));
      const d = p;
    },
    78303: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => y });
      var s = r(29768),
        i = r(74673),
        o = 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 f = class extends i.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 s = e[r];
              switch (s.type) {
                case 'range':
                  t[r] = h.Z.fromJSON(s);
                  break;
                case 'codedValue':
                  t[r] = d.Z.fromJSON(s);
                  break;
                case 'inherited':
                  t[r] = p.Z.fromJSON(s);
              }
            }
          return t;
        }
        writeDomains(e, t) {
          const r = {};
          for (const t in e) e.hasOwnProperty(t) && (r[t] = e[t] && e[t].toJSON());
          (0, o.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, s._)([(0, n.Cb)({ json: { write: !0 } })], f.prototype, 'id', void 0),
        (0, s._)([(0, n.Cb)({ json: { write: !0 } })], f.prototype, 'name', void 0),
        (0, s._)([(0, n.Cb)({ json: { write: !0 } })], f.prototype, 'domains', void 0),
        (0, s._)([(0, a.r)('domains')], f.prototype, 'readDomains', null),
        (0, s._)([(0, u.w)('domains')], f.prototype, 'writeDomains', null),
        (0, s._)([(0, n.Cb)({ json: { write: !0 } })], f.prototype, 'templates', void 0),
        (0, s._)([(0, a.r)('templates')], f.prototype, 'readTemplates', null),
        (0, s._)([(0, u.w)('templates')], f.prototype, 'writeTemplates', null),
        (f = (0, s._)([(0, l.j)('esri.layers.support.FeatureType')], f));
      const y = f;
    },
    97546: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => m });
      var s,
        i = r(29768),
        o = 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 f = new o.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 y = (s = 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 ? f.fromJSON(r.fieldValueType) : null;
        }
        clone() {
          return new s({
            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, i._)([(0, a.Cb)({ type: String, json: { write: !0 } })], y.prototype, 'alias', void 0),
        (0, i._)(
          [(0, a.Cb)({ type: [String, Number], json: { write: { allowNull: !0 } } })],
          y.prototype,
          'defaultValue',
          void 0,
        ),
        (0, i._)([(0, a.Cb)()], y.prototype, 'description', void 0),
        (0, i._)([(0, c.r)('description')], y.prototype, 'readDescription', null),
        (0, i._)(
          [(0, a.Cb)({ types: d.t, json: { read: { reader: d.f }, write: !0 } })],
          y.prototype,
          'domain',
          void 0,
        ),
        (0, i._)(
          [(0, a.Cb)({ type: Boolean, json: { write: !0 } })],
          y.prototype,
          'editable',
          void 0,
        ),
        (0, i._)([(0, a.Cb)({ type: l.I, json: { write: !0 } })], y.prototype, 'length', void 0),
        (0, i._)([(0, a.Cb)({ type: String, json: { write: !0 } })], y.prototype, 'name', void 0),
        (0, i._)(
          [(0, a.Cb)({ type: Boolean, json: { write: !0 } })],
          y.prototype,
          'nullable',
          void 0,
        ),
        (0, i._)([(0, u.e)(h.k)], y.prototype, 'type', void 0),
        (0, i._)([(0, a.Cb)()], y.prototype, 'valueType', void 0),
        (0, i._)([(0, c.r)('valueType', ['description'])], y.prototype, 'readValueType', null),
        (y = s = (0, i._)([(0, p.j)('esri.layers.support.Field')], y));
      const m = y;
    },
    87258: (e, t, r) => {
      'use strict';
      r.r(t), r.d(t, { default: () => b });
      var s = r(29768),
        i = r(74569),
        o = 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),
        f = r(32422),
        y = 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),
            s = [];
          for (let t = 0; t < e.length; t++) {
            const i = e[t],
              n = o.Z.fromJSON(i),
              a = i.geometry && i.geometry.spatialReference;
            (0, l.i)(n.geometry) && !a && (n.geometry.spatialReference = r), s.push(n);
          }
          return s;
        }
        writeGeometryType(e, t, r, s) {
          if (e) return void m.write(e, t, r, s);
          const { features: i } = this;
          if (i)
            for (const e of i)
              if (e && (0, l.i)(e.geometry)) return void m.write(e.geometry.type, t, r, s);
        }
        readQueryGeometry(e, t) {
          if (!e) return null;
          const r = !!e.spatialReference,
            s = (0, f.im)(e);
          return (
            !r && t.spatialReference && (s.spatialReference = h.Z.fromJSON(t.spatialReference)), s
          );
        }
        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 s = t.features[r];
              if (s.geometry) {
                const t = e && e[r];
                s.geometry = (t && t.toJSON()) || s.geometry;
              }
            }
          return t;
        }
        quantize(e) {
          const {
              scale: [t, r],
              translate: [s, i],
            } = e,
            o = this.features,
            n = this._getQuantizationFunction(
              this.geometryType,
              (e) => Math.round((e - s) / t),
              (e) => Math.round((i - e) / r),
            );
          for (let e = 0, t = o.length; e < t; e++)
            n((0, l.u)(o[e].geometry)) || (o.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: [s, i],
              scale: [o, n],
            } = r,
            a = this._getHydrationFunction(
              e,
              (e) => e * o + s,
              (e) => i - e * n,
            );
          for (const { geometry: e } of t) (0, l.i)(e) && a(e);
          return (this.transform = null), this;
        }
        _quantizePoints(e, t, r) {
          let s, i;
          const o = [];
          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 === s && n === i) || (o.push([e - s, n - i]), (s = e), (i = n));
            } else (s = t(a[0])), (i = r(a[1])), o.push([s, i]);
          }
          return o.length > 0 ? o : 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 s = (0, f.oU)(e) ? e.rings : e.paths,
                  i = [];
                for (let e = 0, o = s.length; e < o; e++) {
                  const o = s[e],
                    n = this._quantizePoints(o, t, r);
                  n && i.push(n);
                }
                return i.length > 0 ? ((0, f.oU)(e) ? (e.rings = i) : (e.paths = i), e) : null;
              }
            : 'multipoint' === e
            ? (e) => {
                const s = this._quantizePoints(e.points, t, r);
                return s.length > 0 ? ((e.points = s), 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 s = (0, f.oU)(e) ? e.rings : e.paths;
                let i, o;
                for (let e = 0, n = s.length; e < n; e++) {
                  const n = s[e];
                  for (let e = 0, s = n.length; e < s; e++) {
                    const s = n[e];
                    e > 0 ? ((i += s[0]), (o += s[1])) : ((i = s[0]), (o = s[1])),
                      (s[0] = t(i)),
                      (s[1] = r(o));
                  }
                }
              }
            : '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 s = e.points;
                let i, o;
                for (let e = 0, n = s.length; e < n; e++) {
                  const n = s[e];
                  e > 0 ? ((i += n[0]), (o += n[1])) : ((i = n[0]), (o = n[1])),
                    (n[0] = t(i)),
                    (n[1] = r(o));
                }
              }
            : void 0;
        }
      };
      (0, s._)(
        [(0, u.Cb)({ type: String, json: { write: !0 } })],
        g.prototype,
        'displayFieldName',
        void 0,
      ),
        (0, s._)(
          [
            (0, u.Cb)({
              type: Boolean,
              json: { write: { overridePolicy: (e) => ({ enabled: e }) } },
            }),
          ],
          g.prototype,
          'exceededTransferLimit',
          void 0,
        ),
        (0, s._)(
          [(0, u.Cb)({ type: [o.Z], json: { write: !0 } })],
          g.prototype,
          'features',
          void 0,
        ),
        (0, s._)([(0, c.r)('features')], g.prototype, 'readFeatures', null),
        (0, s._)([(0, u.Cb)({ type: [y.Z], json: { write: !0 } })], g.prototype, 'fields', void 0),
        (0, s._)(
          [
            (0, u.Cb)({
              type: ['point', 'multipoint', 'polyline', 'polygon', 'extent', 'mesh'],
              json: { read: { reader: m.read } },
            }),
          ],
          g.prototype,
          'geometryType',
          void 0,
        ),
        (0, s._)([(0, d.w)('geometryType')], g.prototype, 'writeGeometryType', null),
        (0, s._)(
          [
            (0, u.Cb)({
              type: Boolean,
              json: { write: { overridePolicy: (e) => ({ enabled: e }) } },
            }),
          ],
          g.prototype,
          'hasM',
          void 0,
        ),
        (0, s._)(
          [
            (0, u.Cb)({
              type: Boolean,
              json: { write: { overridePolicy: (e) => ({ enabled: e }) } },
            }),
          ],
          g.prototype,
          'hasZ',
          void 0,
        ),
        (0, s._)(
          [(0, u.Cb)({ types: i.qM, json: { write: !0 } })],
          g.prototype,
          'queryGeometry',
          void 0,
        ),
        (0, s._)([(0, c.r)('queryGeometry')], g.prototype, 'readQueryGeometry', null),
        (0, s._)(
          [(0, u.Cb)({ type: h.Z, json: { write: !0 } })],
          g.prototype,
          'spatialReference',
          void 0,
        ),
        (0, s._)([(0, d.w)('spatialReference')], g.prototype, 'writeSpatialReference', null),
        (0, s._)([(0, u.Cb)({ json: { write: !0 } })], g.prototype, 'transform', void 0),
        (g = (0, s._)([(0, p.j)('esri.rest.support.FeatureSet')], g)),
        (g.prototype.toJSON.isDefaultToJSON = !0),
        g || (g = {});
      const b = g;
    },
  },
]);
