(self.webpackChunkRemoteClient = self.webpackChunkRemoteClient || []).push([
  [5032],
  {
    93314: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => g });
      var i,
        n = r(29768),
        s = r(74673),
        o = r(76506),
        a = r(35197),
        l = r(34250),
        d = (r(91306), r(92143), r(97714)),
        u = r(17533),
        p = r(2906);
      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);
      let c = (i = class extends s.a {
        constructor(e) {
          super(e), (this.end = null), (this.start = null);
        }
        static get allTime() {
          return y;
        }
        static get empty() {
          return h;
        }
        readEnd(e, t) {
          return null != t.end ? new Date(t.end) : null;
        }
        writeEnd(e, t) {
          t.end = e ? e.getTime() : null;
        }
        get isAllTime() {
          return this.equals(i.allTime);
        }
        get isEmpty() {
          return this.equals(i.empty);
        }
        readStart(e, t) {
          return null != t.start ? new Date(t.start) : null;
        }
        writeStart(e, t) {
          t.start = e ? e.getTime() : null;
        }
        clone() {
          return new i({ end: this.end, start: this.start });
        }
        expandTo(e) {
          if (this.isEmpty || this.isAllTime) return this.clone();
          const t = (0, o.e)(this.start, (t) => (0, a.t)(t, e)),
            r = (0, o.e)(this.end, (t) => (0, a.o)((0, a.t)(t, e), 1, e));
          return new i({ start: t, end: r });
        }
        intersection(e) {
          if (!e) return this.clone();
          if (this.isEmpty || e.isEmpty) return i.empty;
          if (this.isAllTime) return e.clone();
          if (e.isAllTime) return this.clone();
          const t = (0, o.m)(this.start, -1 / 0, (e) => e.getTime()),
            r = (0, o.m)(this.end, 1 / 0, (e) => e.getTime()),
            n = (0, o.m)(e.start, -1 / 0, (e) => e.getTime()),
            s = (0, o.m)(e.end, 1 / 0, (e) => e.getTime());
          let a, l;
          if (
            (n >= t && n <= r ? (a = n) : t >= n && t <= s && (a = t),
            r >= n && r <= s ? (l = r) : s >= t && s <= r && (l = s),
            !isNaN(a) && !isNaN(l))
          ) {
            const e = new i();
            return (
              (e.start = a === -1 / 0 ? null : new Date(a)),
              (e.end = l === 1 / 0 ? null : new Date(l)),
              e
            );
          }
          return i.empty;
        }
        offset(e, t) {
          if (this.isEmpty || this.isAllTime) return this.clone();
          const r = new i(),
            { start: n, end: s } = this;
          return (
            (0, o.i)(n) && (r.start = (0, a.o)(n, e, t)),
            (0, o.i)(s) && (r.end = (0, a.o)(s, e, t)),
            r
          );
        }
        equals(e) {
          if (!e) return !1;
          const t = (0, o.i)(this.start) ? this.start.getTime() : this.start,
            r = (0, o.i)(this.end) ? this.end.getTime() : this.end,
            i = (0, o.i)(e.start) ? e.start.getTime() : e.start,
            n = (0, o.i)(e.end) ? e.end.getTime() : e.end;
          return t === i && r === n;
        }
        union(e) {
          if (!e || e.isEmpty) return this.clone();
          if (this.isEmpty) return e.clone();
          if (this.isAllTime || e.isAllTime) return y.clone();
          const t =
              (0, o.i)(this.start) && (0, o.i)(e.start)
                ? new Date(Math.min(this.start.getTime(), e.start.getTime()))
                : null,
            r =
              (0, o.i)(this.end) && (0, o.i)(e.end)
                ? new Date(Math.max(this.end.getTime(), e.end.getTime()))
                : null;
          return new i({ start: t, end: r });
        }
      });
      (0, n._)(
        [(0, l.Cb)({ type: Date, json: { write: { allowNull: !0 } } })],
        c.prototype,
        'end',
        void 0,
      ),
        (0, n._)([(0, d.r)('end')], c.prototype, 'readEnd', null),
        (0, n._)([(0, p.w)('end')], c.prototype, 'writeEnd', null),
        (0, n._)([(0, l.Cb)({ readOnly: !0, json: { read: !1 } })], c.prototype, 'isAllTime', null),
        (0, n._)([(0, l.Cb)({ readOnly: !0, json: { read: !1 } })], c.prototype, 'isEmpty', null),
        (0, n._)(
          [(0, l.Cb)({ type: Date, json: { write: { allowNull: !0 } } })],
          c.prototype,
          'start',
          void 0,
        ),
        (0, n._)([(0, d.r)('start')], c.prototype, 'readStart', null),
        (0, n._)([(0, p.w)('start')], c.prototype, 'writeStart', null),
        (c = i = (0, n._)([(0, u.j)('esri.TimeExtent')], c));
      const y = new c(),
        h = new c({ start: void 0, end: void 0 }),
        g = c;
    },
    47842: (e, t, r) => {
      'use strict';
      r.d(t, { E: () => w });
      var i,
        n = r(29768),
        s = r(57251),
        o = r(74673),
        a = r(76506),
        l = r(34250),
        d = (r(91306), r(92143), r(97714)),
        u = r(17533),
        p = r(2906),
        c = r(14249),
        y = r(17298);
      let h = (i = class extends o.a {
        async collectRequiredFields(e, t) {
          return (0, c.io)(e, t, this.expression);
        }
        clone() {
          return new i({ expression: this.expression, title: this.title });
        }
      });
      (0, n._)(
        [(0, l.Cb)({ type: String, json: { write: !0 } })],
        h.prototype,
        'expression',
        void 0,
      ),
        (0, n._)([(0, l.Cb)({ type: String, json: { write: !0 } })], h.prototype, 'title', void 0),
        (h = i = (0, n._)([(0, u.j)('esri.layers.support.FeatureExpressionInfo')], h));
      var g,
        f = h;
      const m = (0, s.s)()({
          onTheGround: 'on-the-ground',
          relativeToGround: 'relative-to-ground',
          relativeToScene: 'relative-to-scene',
          absoluteHeight: 'absolute-height',
        }),
        v = new s.J({
          foot: 'feet',
          kilometer: 'kilometers',
          meter: 'meters',
          mile: 'miles',
          'us-foot': 'us-feet',
          yard: 'yards',
        });
      let b = (g = class extends o.a {
        constructor() {
          super(...arguments), (this.offset = null);
        }
        readFeatureExpressionInfo(e, t) {
          return null != e
            ? e
            : t.featureExpression && 0 === t.featureExpression.value
            ? { expression: '0' }
            : void 0;
        }
        writeFeatureExpressionInfo(e, t, r, i) {
          (t[r] = e.write(null, i)), '0' === e.expression && (t.featureExpression = { value: 0 });
        }
        get mode() {
          const { offset: e, featureExpressionInfo: t } = this;
          return this._isOverridden('mode')
            ? this._get('mode')
            : (0, a.i)(e) || t
            ? 'relative-to-ground'
            : 'on-the-ground';
        }
        set mode(e) {
          this._override('mode', e);
        }
        set unit(e) {
          this._set('unit', e);
        }
        write(e, t) {
          return this.offset || this.mode || this.featureExpressionInfo || this.unit
            ? super.write(e, t)
            : null;
        }
        clone() {
          return new g({
            mode: this.mode,
            offset: this.offset,
            featureExpressionInfo: this.featureExpressionInfo
              ? this.featureExpressionInfo.clone()
              : void 0,
            unit: this.unit,
          });
        }
      });
      (0, n._)(
        [(0, l.Cb)({ type: f, json: { write: !0 } })],
        b.prototype,
        'featureExpressionInfo',
        void 0,
      ),
        (0, n._)(
          [(0, d.r)('featureExpressionInfo', ['featureExpressionInfo', 'featureExpression'])],
          b.prototype,
          'readFeatureExpressionInfo',
          null,
        ),
        (0, n._)(
          [
            (0, p.w)('featureExpressionInfo', {
              featureExpressionInfo: { type: f },
              'featureExpression.value': { type: [0] },
            }),
          ],
          b.prototype,
          'writeFeatureExpressionInfo',
          null,
        ),
        (0, n._)(
          [
            (0, l.Cb)({
              type: m.apiValues,
              nonNullable: !0,
              json: {
                type: m.jsonValues,
                read: m.read,
                write: { writer: m.write, isRequired: !0 },
              },
            }),
          ],
          b.prototype,
          'mode',
          null,
        ),
        (0, n._)([(0, l.Cb)({ type: Number, json: { write: !0 } })], b.prototype, 'offset', void 0),
        (0, n._)(
          [(0, l.Cb)({ type: y.s, json: { type: String, read: v.read, write: v.write } })],
          b.prototype,
          'unit',
          null,
        ),
        (b = g = (0, n._)([(0, u.j)('esri.layers.support.ElevationInfo')], b));
      var w = b;
    },
    82673: (e, t, r) => {
      'use strict';
      r.d(t, { I: () => o });
      var i = r(29768),
        n = r(17533);
      let s = 0;
      const o = (e) => {
        let t = class extends e {
          constructor(...e) {
            super(...e),
              Object.defineProperty(this, 'uid', {
                writable: !1,
                configurable: !1,
                value: Date.now().toString(16) + '-object-' + s++,
              });
          }
        };
        return (t = (0, i._)([(0, n.j)('esri.core.Identifiable')], t)), t;
      };
      let a = class extends o(class {}) {};
      a = (0, i._)([(0, n.j)('esri.core.Identifiable')], a);
    },
    54179: (e, t, r) => {
      'use strict';
      r.d(t, { M: () => p, a: () => c });
      var i = r(29768),
        n = r(21972),
        s = r(50161),
        o = r(86656),
        a = r(26341),
        l = r(17533);
      const d = (e) => {
        let t = class extends e {
          constructor(...e) {
            super(...e);
          }
          clear(e, t = 'user') {
            return u(this).delete(e, (0, n.n)(t));
          }
          write(e = {}, t) {
            return (0, a.w)(this, (e = e || {}), t), e;
          }
          setAtOrigin(e, t, r) {
            (0, o.g)(this).setAtOrigin(e, t, (0, n.n)(r));
          }
          removeOrigin(e) {
            const t = u(this),
              r = (0, n.n)(e),
              i = t.keys(r);
            for (const e of i) t.originOf(e) === r && t.set(e, t.get(e, r), 6);
          }
          updateOrigin(e, t) {
            const r = u(this),
              i = (0, n.n)(t),
              s = this.get(e);
            for (let t = i + 1; t < n.b; ++t) r.delete(e, t);
            r.set(e, s, i);
          }
          toJSON(e) {
            return this.write({}, e);
          }
        };
        return (
          (t = (0, i._)([(0, l.j)('esri.core.WriteableMultiOriginJSONSupport')], t)),
          (t.prototype.toJSON.isDefaultToJSON = !0),
          t
        );
      };
      function u(e) {
        return (0, o.g)(e).store;
      }
      const p = (e) => {
        let t = class extends d((0, s.R)(e)) {
          constructor(...e) {
            super(...e);
          }
        };
        return (t = (0, i._)([(0, l.j)('esri.core.MultiOriginJSONSupport')], t)), t;
      };
      let c = class extends p(n.Z) {};
      c = (0, i._)([(0, l.j)('esri.core.MultiOriginJSONSupport')], c);
    },
    89440: (e, t, r) => {
      'use strict';
      r.d(t, { O: () => p });
      var i = r(29768),
        n = r(60991),
        s = r(34250),
        o = (r(76506), r(91306), r(92143), r(17533)),
        a = r(2906),
        l = r(26341),
        d = r(43022);
      const u = {
          'web-scene/operational-layers': {
            ArcGISFeatureLayer: !0,
            ArcGISImageServiceLayer: !0,
            ArcGISMapServiceLayer: !0,
            ArcGISSceneServiceLayer: !0,
            ArcGISTiledElevationServiceLayer: !0,
            ArcGISTiledImageServiceLayer: !0,
            ArcGISTiledMapServiceLayer: !0,
            BuildingSceneLayer: !0,
            GroupLayer: !0,
            IntegratedMeshLayer: !0,
            PointCloudLayer: !0,
            WebTiledLayer: !0,
            CSV: !0,
            VectorTileLayer: !0,
            WMS: !0,
            KML: !0,
            RasterDataLayer: !0,
          },
          'web-scene/basemap': {
            ArcGISTiledImageServiceLayer: !0,
            ArcGISTiledMapServiceLayer: !0,
            WebTiledLayer: !0,
            OpenStreetMap: !0,
            VectorTileLayer: !0,
            ArcGISImageServiceLayer: !0,
            WMS: !0,
            ArcGISMapServiceLayer: !0,
          },
          'web-scene/ground': {
            ArcGISTiledElevationServiceLayer: !0,
            RasterDataElevationLayer: !0,
          },
          'web-map/operational-layers': {
            ArcGISFeatureLayer: !0,
            ArcGISImageServiceLayer: !0,
            ArcGISImageServiceVectorLayer: !0,
            ArcGISMapServiceLayer: !0,
            ArcGISStreamLayer: !0,
            ArcGISTiledImageServiceLayer: !0,
            ArcGISTiledMapServiceLayer: !0,
            BingMapsAerial: !0,
            BingMapsHybrid: !0,
            BingMapsRoad: !0,
            CSV: !0,
            GeoRSS: !0,
            GroupLayer: !0,
            KML: !0,
            OGCFeatureLayer: !0,
            SubtypeGroupLayer: !0,
            VectorTileLayer: !0,
            WFS: !0,
            WMS: !0,
            WebTiledLayer: !0,
          },
          'web-map/basemap': {
            ArcGISImageServiceLayer: !0,
            ArcGISImageServiceVectorLayer: !0,
            ArcGISMapServiceLayer: !0,
            ArcGISTiledImageServiceLayer: !0,
            ArcGISTiledMapServiceLayer: !0,
            OpenStreetMap: !0,
            VectorTileLayer: !0,
            WMS: !0,
            WebTiledLayer: !0,
            BingMapsAerial: !0,
            BingMapsRoad: !0,
            BingMapsHybrid: !0,
          },
          'web-map/tables': { ArcGISFeatureLayer: !0 },
          'portal-item/operational-layers': {
            ArcGISSceneServiceLayer: !0,
            PointCloudLayer: !0,
            BuildingSceneLayer: !0,
            IntegratedMeshLayer: !0,
          },
        },
        p = (e) => {
          let t = class extends e {
            constructor() {
              super(...arguments), (this.title = null);
            }
            writeListMode(e, t, r, i) {
              ((i && 'ground' === i.layerContainerType) || (e && (0, l.b)(this, r, {}, i))) &&
                (t[r] = e);
            }
            writeOperationalLayerType(e, t, r, i) {
              !e || (i && 'tables' === i.layerContainerType) || (t.layerType = e);
            }
            writeTitle(e, t) {
              t.title = e || 'Layer';
            }
            read(e, t) {
              t && (t.layer = this), (0, l.a)(this, e, (t) => super.read(e, t), t);
            }
            write(e, t) {
              if (t && t.origin) {
                const e = `${t.origin}/${t.layerContainerType || 'operational-layers'}`,
                  r = u[e];
                let i = r && r[this.operationalLayerType];
                if (
                  ('ArcGISTiledElevationServiceLayer' === this.operationalLayerType &&
                    'web-scene/operational-layers' === e &&
                    (i = !1),
                  !i)
                )
                  return (
                    t.messages &&
                      t.messages.push(
                        new n.Z(
                          'layer:unsupported',
                          `Layers (${this.title}, ${this.id}) of type '${this.declaredClass}' are not supported in the context of '${e}'`,
                          { layer: this },
                        ),
                      ),
                    null
                  );
              }
              const r = super.write(e, { ...t, layer: this }),
                i =
                  !!t &&
                  !!t.messages &&
                  !!t.messages.filter(
                    (e) => e instanceof n.Z && 'web-document-write:property-required' === e.name,
                  ).length;
              return !this.url && i ? null : r;
            }
            beforeSave() {}
          };
          return (
            (0, i._)(
              [
                (0, s.Cb)({
                  type: String,
                  json: {
                    write: { ignoreOrigin: !0 },
                    origins: {
                      'web-scene': { write: { isRequired: !0, ignoreOrigin: !0 } },
                      'portal-item': { write: !1 },
                    },
                  },
                }),
              ],
              t.prototype,
              'id',
              void 0,
            ),
            (0, i._)(
              [
                (0, s.Cb)({
                  json: {
                    write: { ignoreOrigin: !0 },
                    origins: { 'web-map': { read: !1, write: !1 } },
                  },
                }),
              ],
              t.prototype,
              'listMode',
              void 0,
            ),
            (0, i._)([(0, a.w)('listMode')], t.prototype, 'writeListMode', null),
            (0, i._)(
              [
                (0, s.Cb)({
                  type: String,
                  readOnly: !0,
                  json: {
                    read: !1,
                    write: { target: 'layerType', ignoreOrigin: !0 },
                    origins: { 'portal-item': { write: !1 } },
                  },
                }),
              ],
              t.prototype,
              'operationalLayerType',
              void 0,
            ),
            (0, i._)(
              [(0, a.w)('operationalLayerType')],
              t.prototype,
              'writeOperationalLayerType',
              null,
            ),
            (0, i._)([(0, s.Cb)(d.o)], t.prototype, 'opacity', void 0),
            (0, i._)(
              [
                (0, s.Cb)({
                  type: String,
                  json: {
                    write: { ignoreOrigin: !0, allowNull: !0 },
                    origins: {
                      'web-scene': { write: { isRequired: !0, ignoreOrigin: !0, allowNull: !0 } },
                      'portal-item': { write: !1 },
                    },
                  },
                  value: 'Layer',
                }),
              ],
              t.prototype,
              'title',
              void 0,
            ),
            (0, i._)([(0, a.w)('title')], t.prototype, 'writeTitle', null),
            (0, i._)(
              [
                (0, s.Cb)({
                  type: Boolean,
                  json: {
                    name: 'visibility',
                    origins: {
                      'web-document': { name: 'visibility', default: !0 },
                      'portal-item': {
                        name: 'visibility',
                        read: { source: ['visible', 'visibility'] },
                      },
                    },
                  },
                }),
              ],
              t.prototype,
              'visible',
              void 0,
            ),
            (t = (0, i._)([(0, o.j)('esri.layers.mixins.OperationalLayer')], t)),
            t
          );
        };
    },
    62162: (e, t, r) => {
      'use strict';
      r.d(t, { P: () => w });
      var i = r(29768),
        n = r(88762),
        s = r(82058),
        o = r(41864),
        a = r(60991),
        l = r(92143),
        d = r(76506),
        u = r(50406),
        p = r(32101),
        c = r(34250),
        y = (r(91306), r(97714)),
        h = r(17533),
        g = r(2906),
        f = r(49900),
        m = r(56420),
        v = r(74653);
      const b = l.L.getLogger('esri.layers.mixins.PortalLayer'),
        w = (e) => {
          let t = class extends e {
            constructor() {
              super(...arguments),
                (this.resourceReferences = { portalItem: null, paths: [] }),
                (this.userHasEditingPrivileges = !0);
            }
            destroy() {
              var e;
              null == (e = this.portalItem) || e.destroy(), (this.portalItem = null);
            }
            set portalItem(e) {
              e !== this._get('portalItem') &&
                (this.removeOrigin('portal-item'), this._set('portalItem', e));
            }
            readPortalItem(e, t, r) {
              if (t.itemId) return new m.default({ id: t.itemId, portal: r && r.portal });
            }
            writePortalItem(e, t) {
              e && e.id && (t.itemId = e.id);
            }
            async loadFromPortal(e, t) {
              if (this.portalItem && this.portalItem.id)
                try {
                  const i = await r
                    .e(8642)
                    .then(r.bind(r, 8642))
                    .then(function (e) {
                      return e.l;
                    });
                  return (
                    (0, u.k_)(t),
                    await i.load(
                      {
                        instance: this,
                        supportedTypes: e.supportedTypes,
                        validateItem: e.validateItem,
                        supportsData: e.supportsData,
                      },
                      t,
                    )
                  );
                } catch (e) {
                  throw (
                    ((0, u.D_)(e) ||
                      b.warn(
                        `Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n  ${e}`,
                      ),
                    e)
                  );
                }
            }
            async finishLoadEditablePortalLayer(e) {
              this._set(
                'userHasEditingPrivileges',
                await this.fetchUserHasEditingPrivileges(e).catch((e) => ((0, u.r9)(e), !0)),
              );
            }
            async fetchUserHasEditingPrivileges(e) {
              const t = this.url ? (null == n.id ? void 0 : n.id.findCredential(this.url)) : null;
              if (!t) return !0;
              const r = S.credential === t ? S.user : await this.fetchEditingUser(e);
              return (
                (S.credential = t),
                (S.user = r),
                (0, d.b)(r) || null == r.privileges || r.privileges.includes('features:user:edit')
              );
            }
            async fetchEditingUser(e) {
              var t, r;
              const i = null == (t = this.portalItem) || null == (r = t.portal) ? void 0 : r.user;
              if (i) return i;
              const a = n.id.findServerInfo(this.url);
              if (null == a || !a.owningSystemUrl) return null;
              const l = `${a.owningSystemUrl}/sharing/rest`,
                u = f.Z.getDefault();
              if (u && u.loaded && (0, p.Fv)(u.restUrl) === (0, p.Fv)(l)) return u.user;
              const c = `${l}/community/self`,
                y = (0, d.i)(e) ? e.signal : null,
                h = await (0, o.r)(
                  (0, s.default)(c, { authMode: 'no-prompt', query: { f: 'json' }, signal: y }),
                );
              return h.ok ? v.default.fromJSON(h.value.data) : null;
            }
            read(e, t) {
              t && (t.layer = this), super.read(e, t);
            }
            write(e, t) {
              const r = t && t.portal,
                i =
                  this.portalItem &&
                  this.portalItem.id &&
                  (this.portalItem.portal || f.Z.getDefault());
              return r && i && !(0, p.tm)(i.restUrl, r.restUrl)
                ? (t.messages &&
                    t.messages.push(
                      new a.Z(
                        'layer:cross-portal',
                        `The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save the scene, set the layer.portalItem to null or save the scene to the same portal as the item associated with the layer`,
                        { layer: this },
                      ),
                    ),
                  null)
                : super.write(e, { ...t, layer: this });
            }
          };
          return (
            (0, i._)([(0, c.Cb)({ type: m.default })], t.prototype, 'portalItem', null),
            (0, i._)(
              [(0, y.r)('web-document', 'portalItem', ['itemId'])],
              t.prototype,
              'readPortalItem',
              null,
            ),
            (0, i._)(
              [(0, g.w)('web-document', 'portalItem', { itemId: { type: String } })],
              t.prototype,
              'writePortalItem',
              null,
            ),
            (0, i._)([(0, c.Cb)()], t.prototype, 'resourceReferences', void 0),
            (0, i._)(
              [(0, c.Cb)({ readOnly: !0 })],
              t.prototype,
              'userHasEditingPrivileges',
              void 0,
            ),
            (t = (0, i._)([(0, h.j)('esri.layers.mixins.PortalLayer')], t)),
            t
          );
        },
        S = { credential: null, user: null };
    },
    50161: (e, t, r) => {
      'use strict';
      r.d(t, { R: () => u });
      var i = r(29768),
        n = r(21972),
        s = r(76506),
        o = r(26341),
        a = r(86656),
        l = r(17533);
      class d {
        constructor() {
          (this._propertyOriginMap = new Map()),
            (this._originStores = new Array(n.b)),
            (this._values = new Map());
        }
        clone(e) {
          const t = new d(),
            r = this._originStores[0];
          r &&
            r.forEach((e, r) => {
              t.set(r, (0, s.d9)(e), 0);
            });
          for (let r = 2; r < n.b; r++) {
            const i = this._originStores[r];
            i &&
              i.forEach((i, n) => {
                (e && e.has(n)) || t.set(n, (0, s.d9)(i), r);
              });
          }
          return t;
        }
        get(e, t) {
          const r = void 0 === t ? this._values : this._originStores[t];
          return r ? r.get(e) : void 0;
        }
        keys(e) {
          const t = null == e ? this._values : this._originStores[e];
          return t ? [...t.keys()] : [];
        }
        set(e, t, r = 6) {
          let i = this._originStores[r];
          if (
            (i || ((i = new Map()), (this._originStores[r] = i)),
            i.set(e, t),
            !this._values.has(e) || (0, s.a)(this._propertyOriginMap.get(e)) <= r)
          ) {
            const i = this._values.get(e);
            return this._values.set(e, t), this._propertyOriginMap.set(e, r), i !== t;
          }
          return !1;
        }
        delete(e, t = 6) {
          const r = this._originStores[t];
          if (!r) return;
          const i = r.get(e);
          if ((r.delete(e), this._values.has(e) && this._propertyOriginMap.get(e) === t)) {
            this._values.delete(e);
            for (let r = t - 1; r >= 0; r--) {
              const t = this._originStores[r];
              if (t && t.has(e)) {
                this._values.set(e, t.get(e)), this._propertyOriginMap.set(e, r);
                break;
              }
            }
          }
          return i;
        }
        has(e, t) {
          const r = void 0 === t ? this._values : this._originStores[t];
          return !!r && r.has(e);
        }
        revert(e, t) {
          for (; t > 0 && !this.has(e, t); ) --t;
          const r = this._originStores[t],
            i = r && r.get(e),
            n = this._values.get(e);
          return this._values.set(e, i), this._propertyOriginMap.set(e, t), n !== i;
        }
        originOf(e) {
          return this._propertyOriginMap.get(e) || 0;
        }
        forEach(e) {
          this._values.forEach(e);
        }
      }
      const u = (e) => {
        let t = class extends e {
          constructor(...e) {
            super(...e);
            const t = (0, s.a)((0, a.g)(this)),
              r = t.metadatas,
              i = t.store,
              n = new d();
            (t.store = n),
              i.keys().forEach((e) => {
                n.set(e, i.get(e), 0);
              }),
              Object.keys(r).forEach((e) => {
                t.internalGet(e) && n.set(e, t.internalGet(e), 0);
              });
          }
          read(e, t) {
            (0, o.r)(this, e, t);
          }
          getAtOrigin(e, t) {
            const r = p(this),
              i = (0, n.n)(t);
            if ('string' == typeof e) return r.get(e, i);
            const s = {};
            return (
              e.forEach((e) => {
                s[e] = r.get(e, i);
              }),
              s
            );
          }
          originOf(e) {
            return (0, n.c)(this.originIdOf(e));
          }
          originIdOf(e) {
            return p(this).originOf(e);
          }
          revert(e, t) {
            const r = p(this),
              i = (0, n.n)(t),
              s = (0, a.g)(this);
            let o;
            (o = 'string' == typeof e ? ('*' === e ? r.keys(i) : [e]) : e),
              o.forEach((e) => {
                s.invalidate(e), r.revert(e, i), s.commit(e);
              });
          }
        };
        return (t = (0, i._)([(0, l.j)('esri.core.ReadOnlyMultiOriginJSONSupport')], t)), t;
      };
      function p(e) {
        return (0, a.g)(e).store;
      }
      let c = class extends u(n.Z) {};
      c = (0, i._)([(0, l.j)('esri.core.ReadOnlyMultiOriginJSONSupport')], c);
    },
    58912: (e, t, r) => {
      'use strict';
      r.d(t, { S: () => o });
      var i = r(29768),
        n = r(34250),
        s = (r(76506), r(91306), r(92143), r(17533));
      const o = (e) => {
        let t = class extends e {
          constructor() {
            super(...arguments), (this.minScale = 0), (this.maxScale = 0);
          }
          get scaleRangeId() {
            return `${this.minScale},${this.maxScale}`;
          }
        };
        return (
          (0, i._)(
            [(0, n.Cb)({ type: Number, nonNullable: !0, json: { write: !0 } })],
            t.prototype,
            'minScale',
            void 0,
          ),
          (0, i._)(
            [(0, n.Cb)({ type: Number, nonNullable: !0, json: { write: !0 } })],
            t.prototype,
            'maxScale',
            void 0,
          ),
          (0, i._)([(0, n.Cb)({ readOnly: !0 })], t.prototype, 'scaleRangeId', null),
          (t = (0, i._)([(0, s.j)('esri.layers.mixins.ScaleRangeLayer')], t)),
          t
        );
      };
    },
    43022: (e, t, r) => {
      'use strict';
      r.d(t, {
        a: () => m,
        b: () => y,
        c: () => I,
        d: () => d,
        e: () => h,
        f: () => v,
        i: () => w,
        l: () => p,
        m: () => S,
        o: () => f,
        p: () => u,
        r: () => g,
        s: () => b,
        u: () => c,
      });
      var i = r(93314),
        n = r(21801),
        s = r(60947),
        o = r(38742),
        a = r(47842),
        l = r(34394);
      const d = {
          type: Boolean,
          value: !0,
          json: {
            origins: { service: { read: !1, write: !1 }, 'web-map': { read: !1, write: !1 } },
            name: 'screenSizePerspective',
            write: !0,
          },
        },
        u = {
          type: Boolean,
          value: !0,
          json: {
            name: 'disablePopup',
            read: { reader: (e, t) => !t.disablePopup },
            write: {
              enabled: !0,
              writer(e, t, r) {
                t[r] = !e;
              },
            },
          },
        },
        p = { type: Boolean, value: !0, json: { name: 'showLabels', write: !0 } },
        c = {
          type: String,
          json: {
            origins: { 'portal-item': { write: !1 } },
            write: { isRequired: !0, ignoreOrigin: !0, writer: o.w },
          },
        },
        y = {
          type: Boolean,
          value: !0,
          json: { origins: { service: { read: { enabled: !1 } } }, name: 'showLegend', write: !0 },
        },
        h = {
          value: null,
          type: a.E,
          json: {
            origins: { service: { name: 'elevationInfo', write: !0 } },
            name: 'layerDefinition.elevationInfo',
            write: !0,
          },
        };
      function g(e) {
        return { type: e, readOnly: !0, json: { origins: { service: { read: !0 } }, read: !1 } };
      }
      const f = {
          type: Number,
          json: {
            origins: {
              'web-document': { default: 1, write: !0, read: !0 },
              'portal-item': { write: !0 },
            },
          },
        },
        m = {
          ...f,
          json: {
            ...f.json,
            origins: {
              'web-document': {
                ...f.json.origins['web-document'],
                write: {
                  enabled: !0,
                  target: {
                    opacity: { type: Number },
                    'layerDefinition.drawingInfo.transparency': { type: Number },
                  },
                },
              },
            },
            read: {
              source: ['layerDefinition.drawingInfo.transparency', 'drawingInfo.transparency'],
              reader: (e, t, r) =>
                (r && 'service' !== r.origin) ||
                !t.drawingInfo ||
                void 0 === t.drawingInfo.transparency
                  ? t.layerDefinition &&
                    t.layerDefinition.drawingInfo &&
                    void 0 !== t.layerDefinition.drawingInfo.transparency
                    ? (0, l.t)(t.layerDefinition.drawingInfo.transparency)
                    : void 0
                  : (0, l.t)(t.drawingInfo.transparency),
            },
          },
        },
        v = {
          type: i.Z,
          readOnly: !0,
          get() {
            var e, t;
            if (null == (e = this.layer) || !e.timeInfo) return null;
            const r = null == (t = this.view) ? void 0 : t.timeExtent,
              i = this.layer.timeExtent,
              n = this.layer.useViewTime ? (r && i ? r.intersection(i) : r || i) : i;
            if (!n || n.isEmpty) return n;
            const s = this.layer.timeOffset,
              o = s ? n.offset(-s.value, s.unit) : n,
              a = this._get('timeExtent');
            return o.equals(a) ? a : o;
          },
        },
        b = {
          type: n.Z,
          readOnly: !0,
          json: {
            origins: {
              service: {
                read: {
                  source: ['fullExtent', 'spatialReference'],
                  reader: (e, t) => {
                    const r = n.Z.fromJSON(e);
                    return (
                      null != t.spatialReference &&
                        'object' == typeof t.spatialReference &&
                        (r.spatialReference = s.Z.fromJSON(t.spatialReference)),
                      r
                    );
                  },
                },
              },
            },
            read: !1,
          },
        },
        w = {
          type: String,
          json: { origins: { service: { read: !1 }, 'portal-item': { read: !1 } } },
        },
        S = {
          type: Number,
          json: {
            origins: { service: { write: { enabled: !1 } } },
            read: { source: 'layerDefinition.minScale' },
            write: { target: 'layerDefinition.minScale' },
          },
        },
        I = {
          type: Number,
          json: {
            origins: { service: { write: { enabled: !1 } } },
            read: { source: 'layerDefinition.maxScale' },
            write: { target: 'layerDefinition.maxScale' },
          },
        };
    },
    47346: (e, t, r) => {
      'use strict';
      r.d(t, { d: () => l });
      var i = r(92143),
        n = r(97546),
        s = r(1709),
        o = r(14249);
      const a = i.L.getLogger('esri.layers.support.fieldProperties');
      function l() {
        return {
          fields: { type: [n.Z], value: null },
          fieldsIndex: {
            readOnly: !0,
            get() {
              return new s.Z(this.fields || []);
            },
          },
          outFields: {
            type: [String],
            json: { read: !1 },
            set: function (e) {
              (this._userOutFields = e), this.notifyChange('outFields');
            },
            get: function () {
              const e = this._userOutFields;
              if (!e || !e.length) return null;
              if (e.includes('*')) return ['*'];
              if (!this.fields) return e;
              for (const t of e)
                this.fieldsIndex.has(t) ||
                  a.error(
                    'field-attributes-layer:invalid-field',
                    `Invalid field ${t} found in outFields`,
                    { layer: this, outFields: e },
                  );
              return (0, o.Q0)(this.fieldsIndex, e);
            },
          },
        };
      }
    },
    54732: (e, t, r) => {
      'use strict';
      r.d(t, { k: () => i });
      const i = 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',
      });
    },
    34394: (e, t, r) => {
      'use strict';
      r.d(t, { o: () => n, t: () => s });
      var i = r(91306);
      function n(e) {
        const t = (0, i.m)(100 * (1 - e));
        return Math.max(0, Math.min(t, 100));
      }
      function s(e) {
        const t = 1 - e / 100;
        return Math.max(0, Math.min(t, 1));
      }
    },
    38742: (e, t, r) => {
      'use strict';
      r.d(t, { f: () => s, i: () => p, p: () => y, r: () => a, t: () => o, w: () => l });
      var i = r(76506),
        n = r(32101);
      function s(e, t) {
        const r = t && t.url && t.url.path;
        if (
          e &&
          r &&
          ((e = (0, n.hF)(e, r, { preserveProtocolRelative: !0 })),
          t.portalItem && t.readResourcePaths)
        ) {
          const r = (0, n.PF)(e, t.portalItem.itemUrl);
          u.test(r) && t.readResourcePaths.push(t.portalItem.resourceFromPath(r).path);
        }
        return c(e, t && t.portal);
      }
      function o(e, t, r = 0) {
        if (!e) return e;
        !(0, n.YP)(e) && t && t.blockedRelativeUrls && t.blockedRelativeUrls.push(e);
        let i = (0, n.hF)(e);
        if (t) {
          const r =
            (t.verifyItemRelativeUrls && t.verifyItemRelativeUrls.rootPath) ||
            (t.url && t.url.path);
          if (r) {
            const s = c(r, t.portal);
            (i = (0, n.PF)(c(i, t.portal), s, s)),
              i !== e && t.verifyItemRelativeUrls && t.verifyItemRelativeUrls.writtenUrls.push(i);
          }
        }
        return (
          (i = (function (e, t) {
            return t && !t.isPortal && t.urlKey && t.customBaseUrl
              ? (0, n.Ie)(e, `${t.urlKey}.${t.customBaseUrl}`, t.portalHostname)
              : e;
          })(i, t && t.portal)),
          (0, n.YP)(i) && (i = (0, n.Fv)(i)),
          null != t &&
            t.resources &&
            null != t &&
            t.portalItem &&
            !(0, n.YP)(i) &&
            !(0, n.HK)(i) &&
            0 === r &&
            t.resources.toKeep.push({ resource: t.portalItem.resourceFromPath(i) }),
          i
        );
      }
      function a(e, t, r) {
        return s(e, r);
      }
      function l(e, t, r, i) {
        const n = o(e, i);
        void 0 !== n && (t[r] = n);
      }
      const d = /\/items\/([^\/]+)\/resources\//,
        u = /^\.\/resources\//;
      function p(e) {
        const t = (0, i.i)(e) ? e.match(d) : null;
        return (0, i.i)(t) ? t[1] : null;
      }
      function c(e, t) {
        if (!t || t.isPortal || !t.urlKey || !t.customBaseUrl) return e;
        const r = `${t.urlKey}.${t.customBaseUrl}`;
        return (0, n.D6)(n.Gd, `${n.Gd.scheme}://${r}`)
          ? (0, n.Ie)(e, t.portalHostname, r)
          : (0, n.Ie)(e, r, t.portalHostname);
      }
      var y = Object.freeze({
        __proto__: null,
        fromJSON: s,
        toJSON: o,
        read: a,
        write: l,
        itemIdFromResourceUrl: p,
      });
    },
    35197: (e, t, r) => {
      'use strict';
      r.d(t, { c: () => a, o: () => s, t: () => o }), r(76506);
      const i = {
          milliseconds: 1,
          seconds: 1e3,
          minutes: 6e4,
          hours: 36e5,
          days: 864e5,
          weeks: 6048e5,
          months: 26784e5,
          years: 31536e6,
          decades: 31536e7,
          centuries: 31536e8,
        },
        n = {
          milliseconds: { getter: 'getMilliseconds', setter: 'setMilliseconds', multiplier: 1 },
          seconds: { getter: 'getSeconds', setter: 'setSeconds', multiplier: 1 },
          minutes: { getter: 'getMinutes', setter: 'setMinutes', multiplier: 1 },
          hours: { getter: 'getHours', setter: 'setHours', multiplier: 1 },
          days: { getter: 'getDate', setter: 'setDate', multiplier: 1 },
          weeks: { getter: 'getDate', setter: 'setDate', multiplier: 7 },
          months: { getter: 'getMonth', setter: 'setMonth', multiplier: 1 },
          years: { getter: 'getFullYear', setter: 'setFullYear', multiplier: 1 },
          decades: { getter: 'getFullYear', setter: 'setFullYear', multiplier: 10 },
          centuries: { getter: 'getFullYear', setter: 'setFullYear', multiplier: 100 },
        };
      function s(e, t, r) {
        const i = new Date(e.getTime());
        if (t && r) {
          const e = n[r],
            { getter: s, setter: o, multiplier: a } = e;
          i[o](i[s]() + t * a);
        }
        return i;
      }
      function o(e, t) {
        switch (t) {
          case 'milliseconds':
            return new Date(e.getTime());
          case 'seconds':
            return new Date(
              e.getFullYear(),
              e.getMonth(),
              e.getDate(),
              e.getHours(),
              e.getMinutes(),
              e.getSeconds(),
            );
          case 'minutes':
            return new Date(
              e.getFullYear(),
              e.getMonth(),
              e.getDate(),
              e.getHours(),
              e.getMinutes(),
            );
          case 'hours':
            return new Date(e.getFullYear(), e.getMonth(), e.getDate(), e.getHours());
          case 'days':
            return new Date(e.getFullYear(), e.getMonth(), e.getDate());
          case 'weeks':
            return new Date(e.getFullYear(), e.getMonth(), e.getDate() - e.getDay());
          case 'months':
            return new Date(e.getFullYear(), e.getMonth(), 1);
          case 'years':
            return new Date(e.getFullYear(), 0, 1);
          case 'decades':
            return new Date(e.getFullYear() - (e.getFullYear() % 10), 0, 1);
          case 'centuries':
            return new Date(e.getFullYear() - (e.getFullYear() % 100), 0, 1);
          default:
            return new Date();
        }
      }
      function a(e, t, r) {
        return 0 === e ? 0 : (e * i[t]) / i[r];
      }
    },
    17298: (e, t, r) => {
      'use strict';
      r.d(t, { s: () => n });
      var i = r(85557);
      const n = (function () {
        const e = Object.keys(i.m);
        return e.sort(), e;
      })();
    },
    29027: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => v });
      var i,
        n = r(29768),
        s = r(27794),
        o = r(57251),
        a = r(74673),
        l = r(53785),
        d = r(17533),
        u = r(34250),
        p = (r(76506), r(91306), r(92143), r(97714)),
        c = r(2906);
      r(71552),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(31450),
        r(40642),
        r(26341),
        r(95587),
        r(60947),
        r(89623);
      const y = (0, o.s)()({
          orthometric: 'gravity-related-height',
          gravity_related_height: 'gravity-related-height',
          ellipsoidal: 'ellipsoidal',
        }),
        h = y.jsonValues.slice();
      (0, s.r)(h, 'orthometric');
      const g = (0, o.s)()({
        meter: 'meters',
        foot: 'feet',
        'us-foot': 'us-feet',
        'clarke-foot': 'clarke-feet',
        'clarke-yard': 'clarke-yards',
        'clarke-link': 'clarke-links',
        'sears-yard': 'sears-yards',
        'sears-foot': 'sears-feet',
        'sears-chain': 'sears-chains',
        'benoit-1895-b-chain': 'benoit-1895-b-chains',
        'indian-yard': 'indian-yards',
        'indian-1937-yard': 'indian-1937-yards',
        'gold-coast-foot': 'gold-coast-feet',
        'sears-1922-truncated-chain': 'sears-1922-truncated-chains',
        '50-kilometers': '50-kilometers',
        '150-kilometers': '150-kilometers',
      });
      let f = (i = class extends a.a {
        constructor(e) {
          super(e),
            (this.heightModel = 'gravity-related-height'),
            (this.heightUnit = 'meters'),
            (this.vertCRS = null);
        }
        writeHeightModel(e, t, r) {
          return y.write(e, t, r);
        }
        readHeightModel(e, t, r) {
          return (
            y.read(e) ||
            (r &&
              r.messages &&
              r.messages.push(
                (function (e, t) {
                  return new d.W(
                    'height-model:unsupported',
                    `Height model of value '${e}' is not supported`,
                    t,
                  );
                })(e, { context: r }),
              ),
            null)
          );
        }
        readHeightUnit(e, t, r) {
          return g.read(e) || (r && r.messages && r.messages.push(m(e, { context: r })), null);
        }
        readHeightUnitService(e, t, r) {
          return (
            (0, l.u)(e) ||
            g.read(e) ||
            (r && r.messages && r.messages.push(m(e, { context: r })), null)
          );
        }
        readVertCRS(e, t) {
          return t.vertCRS || t.ellipsoid || t.geoid;
        }
        clone() {
          return new i({
            heightModel: this.heightModel,
            heightUnit: this.heightUnit,
            vertCRS: this.vertCRS,
          });
        }
        equals(e) {
          return (
            !!e &&
            (this === e ||
              (this.heightModel === e.heightModel &&
                this.heightUnit === e.heightUnit &&
                this.vertCRS === e.vertCRS))
          );
        }
        static deriveUnitFromSR(e, t) {
          const r = (0, l.g)(t);
          return new i({ heightModel: e.heightModel, heightUnit: r, vertCRS: e.vertCRS });
        }
        write(e, t) {
          return (t = { origin: 'web-scene', ...t }), super.write(e, t);
        }
        static fromJSON(e) {
          if (!e) return null;
          const t = new i();
          return t.read(e, { origin: 'web-scene' }), t;
        }
      });
      function m(e, t) {
        return new d.W(
          'height-unit:unsupported',
          `Height unit of value '${e}' is not supported`,
          t,
        );
      }
      (0, n._)(
        [
          (0, u.Cb)({
            type: y.apiValues,
            constructOnly: !0,
            json: { origins: { 'web-scene': { type: h, default: 'ellipsoidal' } } },
          }),
        ],
        f.prototype,
        'heightModel',
        void 0,
      ),
        (0, n._)([(0, c.w)('web-scene', 'heightModel')], f.prototype, 'writeHeightModel', null),
        (0, n._)(
          [(0, p.r)(['web-scene', 'service'], 'heightModel')],
          f.prototype,
          'readHeightModel',
          null,
        ),
        (0, n._)(
          [
            (0, u.Cb)({
              type: g.apiValues,
              constructOnly: !0,
              json: { origins: { 'web-scene': { type: g.jsonValues, write: g.write } } },
            }),
          ],
          f.prototype,
          'heightUnit',
          void 0,
        ),
        (0, n._)([(0, p.r)('web-scene', 'heightUnit')], f.prototype, 'readHeightUnit', null),
        (0, n._)([(0, p.r)('service', 'heightUnit')], f.prototype, 'readHeightUnitService', null),
        (0, n._)(
          [
            (0, u.Cb)({
              type: String,
              constructOnly: !0,
              json: { origins: { 'web-scene': { write: !0 } } },
            }),
          ],
          f.prototype,
          'vertCRS',
          void 0,
        ),
        (0, n._)(
          [(0, p.r)('service', 'vertCRS', ['vertCRS', 'ellipsoid', 'geoid'])],
          f.prototype,
          'readVertCRS',
          null,
        ),
        (f = i = (0, n._)([(0, d.j)('esri.geometry.HeightModelInfo')], f));
      const v = f;
    },
    41617: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => w });
      var i = r(29768),
        n = r(31450),
        s = (r(74569), r(82058)),
        o = r(60991),
        a = r(76996),
        l = r(82673),
        d = r(22739),
        u = r(92143),
        p = r(50406),
        c = r(32101),
        y = r(34250),
        h = (r(76506), r(91306), r(17533)),
        g = r(21801),
        f = r(60947);
      r(71552),
        r(73796),
        r(74673),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(40642),
        r(81172),
        r(26341),
        r(97714),
        r(2906),
        r(84069),
        r(91597),
        r(86787),
        r(35132),
        r(89623),
        r(44567),
        r(98380),
        r(92896),
        r(22781),
        r(57251),
        r(32422),
        r(88762),
        r(20543);
      let m = 0;
      const v = u.L.getLogger('esri.layers.Layer');
      let b = class extends a.E.EventedMixin((0, l.I)(d.L)) {
        constructor() {
          super(...arguments),
            (this.attributionDataUrl = null),
            (this.fullExtent = new g.Z(-180, -90, 180, 90, f.Z.WGS84)),
            (this.id = Date.now().toString(16) + '-layer-' + m++),
            (this.legendEnabled = !0),
            (this.listMode = 'show'),
            (this.opacity = 1),
            (this.parent = null),
            (this.popupEnabled = !0),
            (this.attributionVisible = !0),
            (this.spatialReference = f.Z.WGS84),
            (this.title = null),
            (this.type = null),
            (this.url = null),
            (this.visible = !0);
        }
        static async fromArcGISServerUrl(e) {
          const t = 'string' == typeof e ? { url: e } : e,
            i = await r.e(6601).then(r.bind(r, 66601));
          try {
            return await i.fromUrl(t);
          } catch (e) {
            throw (
              (v.error(
                "#fromArcGISServerUrl({ url: '" + t.url + "'})",
                'Failed to create layer from arcgis server url',
                e,
              ),
              e)
            );
          }
        }
        static async fromPortalItem(e) {
          const t = 'portalItem' in e ? e : { portalItem: e },
            i = await r.e(6458).then(r.bind(r, 36458));
          try {
            return await i.fromItem(t);
          } catch (e) {
            const r = t && t.portalItem,
              i = (r && r.id) || 'unset',
              s = (r && r.portal && r.portal.url) || n.Z.portalUrl;
            throw (
              (v.error(
                '#fromPortalItem()',
                "Failed to create layer from portal item (portal: '" + s + "', id: '" + i + "')",
                e,
              ),
              e)
            );
          }
        }
        initialize() {
          this.when().catch((e) => {
            var t, r;
            (0, p.D_)(e) ||
              u.L.getLogger(this.declaredClass).error(
                '#load()',
                `Failed to load layer (title: '${
                  null != (t = this.title) ? t : 'no title'
                }', id: '${null != (r = this.id) ? r : 'no id'}')`,
                { error: e },
              );
          });
        }
        destroy() {
          if (this.parent) {
            const e = this,
              t = this.parent;
            'layers' in t && t.layers.includes(e)
              ? t.layers.remove(e)
              : 'tables' in t && t.tables.includes(e)
              ? t.tables.remove(e)
              : 'baseLayers' in t && t.baseLayers.includes(e)
              ? t.baseLayers.remove(e)
              : 'baseLayers' in t && t.referenceLayers.includes(e) && t.referenceLayers.remove(e);
          }
        }
        get hasAttributionData() {
          return null != this.attributionDataUrl;
        }
        get parsedUrl() {
          const e = this.url;
          return e ? (0, c.mN)(e) : null;
        }
        async fetchAttributionData() {
          const e = this.attributionDataUrl;
          if (this.hasAttributionData && e)
            return (await (0, s.default)(e, { query: { f: 'json' }, responseType: 'json' })).data;
          throw new o.Z('layer:no-attribution-data', 'Layer does not have attribution data');
        }
      };
      (0, i._)([(0, y.Cb)({ type: String })], b.prototype, 'attributionDataUrl', void 0),
        (0, i._)([(0, y.Cb)({ type: g.Z })], b.prototype, 'fullExtent', void 0),
        (0, i._)([(0, y.Cb)({ readOnly: !0 })], b.prototype, 'hasAttributionData', null),
        (0, i._)([(0, y.Cb)({ type: String })], b.prototype, 'id', void 0),
        (0, i._)(
          [(0, y.Cb)({ type: Boolean, nonNullable: !0 })],
          b.prototype,
          'legendEnabled',
          void 0,
        ),
        (0, i._)(
          [(0, y.Cb)({ type: ['show', 'hide', 'hide-children'] })],
          b.prototype,
          'listMode',
          void 0,
        ),
        (0, i._)(
          [(0, y.Cb)({ type: Number, range: { min: 0, max: 1 }, nonNullable: !0 })],
          b.prototype,
          'opacity',
          void 0,
        ),
        (0, i._)([(0, y.Cb)()], b.prototype, 'parent', void 0),
        (0, i._)([(0, y.Cb)({ readOnly: !0 })], b.prototype, 'parsedUrl', null),
        (0, i._)([(0, y.Cb)({ type: Boolean })], b.prototype, 'popupEnabled', void 0),
        (0, i._)([(0, y.Cb)({ type: Boolean })], b.prototype, 'attributionVisible', void 0),
        (0, i._)([(0, y.Cb)({ type: f.Z })], b.prototype, 'spatialReference', void 0),
        (0, i._)([(0, y.Cb)({ type: String })], b.prototype, 'title', void 0),
        (0, i._)(
          [(0, y.Cb)({ type: String, readOnly: !0, json: { read: !1 } })],
          b.prototype,
          'type',
          void 0,
        ),
        (0, i._)([(0, y.Cb)()], b.prototype, 'url', void 0),
        (0, i._)([(0, y.Cb)({ type: Boolean, nonNullable: !0 })], b.prototype, 'visible', void 0),
        (b = (0, i._)([(0, h.j)('esri.layers.Layer')], b));
      const w = b;
    },
    25032: (e, t, r) => {
      'use strict';
      r.r(t), r.d(t, { default: () => ee });
      var i = r(29768),
        n = r(86748),
        s = r(82058),
        o = r(60991),
        a = r(76506),
        l = r(92143),
        d = r(54179),
        u = r(71552),
        p = r(50406),
        c = r(32101),
        y = r(34250),
        h = r(91306),
        g = r(97714),
        f = r(17533),
        m = r(2906),
        v = r(41617),
        b = r(21781),
        w = r(75025),
        S = r(89440),
        I = r(62162),
        _ = r(58912),
        C = r(98412),
        T = r(59465),
        F = r(74673);
      r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(81172),
        r(31450),
        r(40642),
        r(26341);
      let L = class extends F.a {
        constructor(e) {
          super(e), (this.field = null), (this.type = null);
        }
        clone() {
          return console.warn('.clone() is not implemented for ' + this.declaredClass), null;
        }
      };
      (0, i._)(
        [(0, y.Cb)({ type: String, json: { write: { enabled: !0, isRequired: !0 } } })],
        L.prototype,
        'field',
        void 0,
      ),
        (0, i._)(
          [(0, y.Cb)({ readOnly: !0, nonNullable: !0, json: { read: !1 } })],
          L.prototype,
          'type',
          void 0,
        ),
        (L = (0, i._)([(0, f.j)('esri.layers.pointCloudFilters.PointCloudFilter')], L));
      const x = L;
      var j;
      r(57251);
      let O = (j = class extends x {
        constructor(e) {
          super(e), (this.includedReturns = []), (this.type = 'return');
        }
        clone() {
          return new j({ field: this.field, includedReturns: (0, a.d9)(this.includedReturns) });
        }
      });
      (0, i._)(
        [
          (0, y.Cb)({
            type: [['firstOfMany', 'last', 'lastOfMany', 'single']],
            json: { write: { enabled: !0, isRequired: !0 } },
          }),
        ],
        O.prototype,
        'includedReturns',
        void 0,
      ),
        (0, i._)([(0, T.e)({ pointCloudReturnFilter: 'return' })], O.prototype, 'type', void 0),
        (O = j = (0, i._)([(0, f.j)('esri.layers.pointCloudFilters.PointCloudReturnFilter')], O));
      const M = O;
      var E;
      let R = (E = class extends x {
        constructor(e) {
          super(e), (this.mode = 'exclude'), (this.type = 'value'), (this.values = []);
        }
        clone() {
          return new E({ field: this.field, mode: this.mode, values: (0, a.d9)(this.values) });
        }
      });
      (0, i._)(
        [
          (0, y.Cb)({
            type: ['exclude', 'include'],
            json: { write: { enabled: !0, isRequired: !0 } },
          }),
        ],
        R.prototype,
        'mode',
        void 0,
      ),
        (0, i._)([(0, T.e)({ pointCloudValueFilter: 'value' })], R.prototype, 'type', void 0),
        (0, i._)(
          [(0, y.Cb)({ type: [Number], json: { write: { enabled: !0, isRequired: !0 } } })],
          R.prototype,
          'values',
          void 0,
        ),
        (R = E = (0, i._)([(0, f.j)('esri.layers.pointCloudFilters.PointCloudValueFilter')], R));
      const D = R;
      var P,
        N = r(43022),
        A = r(97546),
        Z = r(47346),
        G = r(75626),
        U = r(15206),
        $ = r(60158);
      r(17035);
      let k = (P = class extends $.Z {
        constructor(e) {
          super(e), (this.type = 'point-cloud-rgb'), (this.field = null);
        }
        clone() {
          return new P({ ...this.cloneProperties(), field: (0, a.d9)(this.field) });
        }
      });
      (0, i._)(
        [(0, T.e)({ pointCloudRGBRenderer: 'point-cloud-rgb' })],
        k.prototype,
        'type',
        void 0,
      ),
        (0, i._)([(0, y.Cb)({ type: String, json: { write: !0 } })], k.prototype, 'field', void 0),
        (k = P = (0, i._)([(0, f.j)('esri.renderers.PointCloudRGBRenderer')], k));
      const B = k;
      var V,
        q = r(35491),
        H = r(23884),
        J = r(78893);
      r(15324),
        r(76996),
        r(86787),
        r(14249),
        r(9801),
        r(53523),
        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(72652),
        r(29641),
        r(30493),
        r(70821),
        r(82673),
        r(34229),
        r(37029),
        r(88762),
        r(50161),
        r(22739),
        r(20543),
        r(21132),
        r(38742),
        r(41864),
        r(49900),
        r(66284),
        r(73173),
        r(67477),
        r(78533),
        r(74653),
        r(91091),
        r(58943),
        r(56420),
        r(74742),
        r(28239),
        r(29027),
        r(53785),
        r(95587),
        r(83805),
        r(46857),
        r(10279),
        r(3754),
        r(93314),
        r(35197),
        r(47842),
        r(17298),
        r(85557),
        r(34394),
        r(54732),
        r(51669),
        r(48027),
        r(54174),
        r(82426),
        r(6090);
      let Y = (V = class extends x {
        constructor(e) {
          super(e),
            (this.requiredClearBits = null),
            (this.requiredSetBits = null),
            (this.type = 'bitfield');
        }
        clone() {
          return new V({
            field: this.field,
            requiredClearBits: (0, a.d9)(this.requiredClearBits),
            requiredSetBits: (0, a.d9)(this.requiredSetBits),
          });
        }
      });
      (0, i._)(
        [
          (0, y.Cb)({
            type: [h.I],
            json: {
              write: {
                enabled: !0,
                overridePolicy() {
                  return { enabled: !0, isRequired: !this.requiredSetBits };
                },
              },
            },
          }),
        ],
        Y.prototype,
        'requiredClearBits',
        void 0,
      ),
        (0, i._)(
          [
            (0, y.Cb)({
              type: [h.I],
              json: {
                write: {
                  enabled: !0,
                  overridePolicy() {
                    return { enabled: !0, isRequired: !this.requiredClearBits };
                  },
                },
              },
            }),
          ],
          Y.prototype,
          'requiredSetBits',
          void 0,
        ),
        (0, i._)([(0, T.e)({ pointCloudBitfieldFilter: 'bitfield' })], Y.prototype, 'type', void 0),
        (Y = V = (0, i._)([(0, f.j)('esri.layers.pointCloudFilters.PointCloudBitfieldFilter')], Y));
      const K = { key: 'type', base: x, typeMap: { value: D, bitfield: Y, return: M } },
        W = {
          key: 'type',
          base: $.Z,
          typeMap: {
            'point-cloud-class-breaks': U.Z,
            'point-cloud-rgb': B,
            'point-cloud-stretch': q.Z,
            'point-cloud-unique-value': H.Z,
          },
          errorContext: 'renderer',
        },
        z = l.L.getLogger('esri.layers.PointCloudLayer'),
        Q = (0, Z.d)();
      let X = class extends (0, C.S)(
        (0, w.A)((0, S.O)((0, I.P)((0, _.S)((0, d.M)((0, b.A)(v.Z)))))),
      ) {
        constructor(...e) {
          super(...e),
            (this.operationalLayerType = 'PointCloudLayer'),
            (this.popupEnabled = !0),
            (this.popupTemplate = null),
            (this.opacity = 1),
            (this.filters = []),
            (this.fields = null),
            (this.fieldsIndex = null),
            (this.outFields = null),
            (this.path = null),
            (this.legendEnabled = !0),
            (this.renderer = null),
            (this.type = 'point-cloud');
        }
        normalizeCtorArgs(e, t) {
          return 'string' == typeof e ? { url: e, ...t } : e;
        }
        get defaultPopupTemplate() {
          return this.attributeStorageInfo ? this.createPopupTemplate() : null;
        }
        getFieldDomain(e) {
          const t = this.fieldsIndex.get(e);
          return t && t.domain ? t.domain : null;
        }
        readServiceFields(e, t, r) {
          return Array.isArray(e)
            ? e.map((e) => {
                const t = new A.Z();
                return (
                  'FieldTypeInteger' === e.type &&
                    ((e = (0, a.d9)(e)).type = 'esriFieldTypeInteger'),
                  t.read(e, r),
                  t
                );
              })
            : Array.isArray(t.attributeStorageInfo)
            ? t.attributeStorageInfo.map(
                (e) =>
                  new A.Z({ name: e.name, type: 'ELEVATION' === e.name ? 'double' : 'integer' }),
              )
            : null;
        }
        set elevationInfo(e) {
          this._set('elevationInfo', e), this._validateElevationInfo();
        }
        writeRenderer(e, t, r, i) {
          (0, u.s)('layerDefinition.drawingInfo.renderer', e.write(null, i), t);
        }
        load(e) {
          const t = (0, a.i)(e) ? e.signal : null,
            r = this.loadFromPortal({ supportedTypes: ['Scene Service'] }, e)
              .catch(p.r9)
              .then(() => this._fetchService(t));
          return this.addResolvingPromise(r), Promise.resolve(this);
        }
        createPopupTemplate(e) {
          const t = (0, J.eZ)(this, e);
          return this.formatPopupTemplateReturnsField(t), this.formatPopupTemplateRGBField(t), t;
        }
        formatPopupTemplateReturnsField(e) {
          const t = this.fieldsIndex.get('RETURNS');
          if (!t) return;
          const r = e.fieldInfos.find((e) => e.fieldName === t.name);
          if (!r) return;
          const i = new G.Z({
            name: 'pcl-returns-decoded',
            title: t.alias || t.name,
            expression: `\n        var returnValue = $feature.${t.name};\n        return (returnValue % 16) + " / " + Floor(returnValue / 16);\n      `,
          });
          (e.expressionInfos = [...(e.expressionInfos || []), i]),
            (r.fieldName = 'expression/pcl-returns-decoded');
        }
        formatPopupTemplateRGBField(e) {
          const t = this.fieldsIndex.get('RGB');
          if (!t) return;
          const r = e.fieldInfos.find((e) => e.fieldName === t.name);
          if (!r) return;
          const i = new G.Z({
            name: 'pcl-rgb-decoded',
            title: t.alias || t.name,
            expression: `\n        var rgb = $feature.${t.name};\n        var red = Floor(rgb / 65536, 0);\n        var green = Floor((rgb - (red * 65536)) / 256,0);\n        var blue = rgb - (red * 65536) - (green * 256);\n\n        return "rgb(" + red + "," + green + "," + blue + ")";\n      `,
          });
          (e.expressionInfos = [...(e.expressionInfos || []), i]),
            (r.fieldName = 'expression/pcl-rgb-decoded');
        }
        async queryCachedStatistics(e, t) {
          if ((await this.load(t), !this.attributeStorageInfo))
            throw new o.Z(
              'scenelayer:no-cached-statistics',
              'Cached statistics are not available for this layer',
            );
          const r = this.fieldsIndex.get(e);
          if (!r)
            throw new o.Z(
              'pointcloudlayer:field-unexisting',
              `Field '${e}' does not exist on the layer`,
            );
          for (const e of this.attributeStorageInfo)
            if (e.name === r.name) {
              const r = (0, c.v_)(this.parsedUrl.path, `./statistics/${e.key}`);
              return (0, s.default)(r, {
                query: { f: 'json', token: this.apiKey },
                responseType: 'json',
                signal: t ? t.signal : null,
              }).then((e) => e.data);
            }
          throw new o.Z(
            'pointcloudlayer:no-cached-statistics',
            'Cached statistics for this attribute are not available',
          );
        }
        async saveAs(e, t) {
          return this._debouncedSaveOperations(
            1,
            {
              ...t,
              getTypeKeywords: () => this._getTypeKeywords(),
              portalItemLayerType: 'point-cloud',
            },
            e,
          );
        }
        async save() {
          const e = {
            getTypeKeywords: () => this._getTypeKeywords(),
            portalItemLayerType: 'point-cloud',
          };
          return this._debouncedSaveOperations(0, e);
        }
        validateLayer(e) {
          if (e.layerType && 'PointCloud' !== e.layerType)
            throw new o.Z(
              'pointcloudlayer:layer-type-not-supported',
              'PointCloudLayer does not support this layer type',
              { layerType: e.layerType },
            );
          if (isNaN(this.version.major) || isNaN(this.version.minor))
            throw new o.Z(
              'layer:service-version-not-supported',
              'Service version is not supported.',
              { serviceVersion: this.version.versionString, supportedVersions: '1.x-2.x' },
            );
          if (this.version.major > 2)
            throw new o.Z('layer:service-version-too-new', 'Service version is too new.', {
              serviceVersion: this.version.versionString,
              supportedVersions: '1.x-2.x',
            });
        }
        hasCachedStatistics(e) {
          return (
            null != this.attributeStorageInfo && this.attributeStorageInfo.some((t) => t.name === e)
          );
        }
        _getTypeKeywords() {
          return ['PointCloud'];
        }
        _validateElevationInfo() {
          const e = this.elevationInfo;
          e &&
            ('absolute-height' !== e.mode &&
              z.warn(
                '.elevationInfo=',
                'Point cloud layers only support absolute-height elevation mode',
              ),
            e.featureExpressionInfo &&
              '0' !== e.featureExpressionInfo.expression &&
              z.warn('.elevationInfo=', 'Point cloud layers do not support featureExpressionInfo'));
        }
      };
      (0, i._)(
        [(0, y.Cb)({ type: ['PointCloudLayer'] })],
        X.prototype,
        'operationalLayerType',
        void 0,
      ),
        (0, i._)([(0, y.Cb)(N.p)], X.prototype, 'popupEnabled', void 0),
        (0, i._)(
          [(0, y.Cb)({ type: n.Z, json: { name: 'popupInfo', write: !0 } })],
          X.prototype,
          'popupTemplate',
          void 0,
        ),
        (0, i._)(
          [(0, y.Cb)({ readOnly: !0, json: { read: !1 } })],
          X.prototype,
          'defaultPopupTemplate',
          null,
        ),
        (0, i._)(
          [
            (0, y.Cb)({
              readOnly: !0,
              json: { write: !1, read: !1, origins: { 'web-document': { write: !1, read: !1 } } },
            }),
          ],
          X.prototype,
          'opacity',
          void 0,
        ),
        (0, i._)([(0, y.Cb)({ type: ['show', 'hide'] })], X.prototype, 'listMode', void 0),
        (0, i._)(
          [
            (0, y.Cb)({
              types: [K],
              json: {
                origins: { service: { read: { source: 'filters' } } },
                name: 'layerDefinition.filters',
                write: !0,
              },
            }),
          ],
          X.prototype,
          'filters',
          void 0,
        ),
        (0, i._)([(0, y.Cb)({ type: [A.Z] })], X.prototype, 'fields', void 0),
        (0, i._)([(0, y.Cb)(Q.fieldsIndex)], X.prototype, 'fieldsIndex', void 0),
        (0, i._)(
          [(0, g.r)('service', 'fields', ['fields', 'attributeStorageInfo'])],
          X.prototype,
          'readServiceFields',
          null,
        ),
        (0, i._)([(0, y.Cb)(Q.outFields)], X.prototype, 'outFields', void 0),
        (0, i._)([(0, y.Cb)({ readOnly: !0 })], X.prototype, 'attributeStorageInfo', void 0),
        (0, i._)([(0, y.Cb)(N.e)], X.prototype, 'elevationInfo', null),
        (0, i._)(
          [
            (0, y.Cb)({
              type: String,
              json: {
                origins: {
                  'web-scene': { read: !0, write: !0 },
                  'portal-item': { read: !0, write: !0 },
                },
                read: !1,
              },
            }),
          ],
          X.prototype,
          'path',
          void 0,
        ),
        (0, i._)([(0, y.Cb)(N.b)], X.prototype, 'legendEnabled', void 0),
        (0, i._)(
          [
            (0, y.Cb)({
              types: W,
              json: {
                origins: { service: { read: { source: 'drawingInfo.renderer' } } },
                name: 'layerDefinition.drawingInfo.renderer',
                write: {
                  target: {
                    'layerDefinition.drawingInfo.renderer': { types: W },
                    'layerDefinition.drawingInfo.transparency': { type: Number },
                  },
                },
              },
            }),
          ],
          X.prototype,
          'renderer',
          void 0,
        ),
        (0, i._)([(0, m.w)('renderer')], X.prototype, 'writeRenderer', null),
        (0, i._)([(0, y.Cb)({ json: { read: !1 }, readOnly: !0 })], X.prototype, 'type', void 0),
        (X = (0, i._)([(0, f.j)('esri.layers.PointCloudLayer')], X));
      const ee = X;
    },
    97546: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => f });
      var i,
        n = r(29768),
        s = r(57251),
        o = r(74673),
        a = r(34250),
        l = (r(76506), r(91306)),
        d = (r(92143), r(59465)),
        u = r(97714),
        p = r(17533),
        c = r(9801),
        y = 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 h = new s.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 g = (i = class extends o.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 ? h.fromJSON(r.fieldValueType) : null;
        }
        clone() {
          return new i({
            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, n._)([(0, a.Cb)({ type: String, json: { write: !0 } })], g.prototype, 'alias', void 0),
        (0, n._)(
          [(0, a.Cb)({ type: [String, Number], json: { write: { allowNull: !0 } } })],
          g.prototype,
          'defaultValue',
          void 0,
        ),
        (0, n._)([(0, a.Cb)()], g.prototype, 'description', void 0),
        (0, n._)([(0, u.r)('description')], g.prototype, 'readDescription', null),
        (0, n._)(
          [(0, a.Cb)({ types: c.t, json: { read: { reader: c.f }, write: !0 } })],
          g.prototype,
          'domain',
          void 0,
        ),
        (0, n._)(
          [(0, a.Cb)({ type: Boolean, json: { write: !0 } })],
          g.prototype,
          'editable',
          void 0,
        ),
        (0, n._)([(0, a.Cb)({ type: l.I, json: { write: !0 } })], g.prototype, 'length', void 0),
        (0, n._)([(0, a.Cb)({ type: String, json: { write: !0 } })], g.prototype, 'name', void 0),
        (0, n._)(
          [(0, a.Cb)({ type: Boolean, json: { write: !0 } })],
          g.prototype,
          'nullable',
          void 0,
        ),
        (0, n._)([(0, d.e)(y.k)], g.prototype, 'type', void 0),
        (0, n._)([(0, a.Cb)()], g.prototype, 'valueType', void 0),
        (0, n._)([(0, u.r)('valueType', ['description'])], g.prototype, 'readValueType', null),
        (g = i = (0, n._)([(0, p.j)('esri.layers.support.Field')], g));
      const f = g;
    },
    78893: (e, t, r) => {
      'use strict';
      r.d(t, { eZ: () => p });
      var i = r(86748),
        n = r(14249),
        s = r(30574),
        o = (r(2157), r(25977), r(7471)),
        a = (r(45154), r(4292), r(54414)),
        l = r(1648);
      r(15324),
        r(91055),
        r(76996),
        r(21972),
        r(23639),
        r(76506),
        r(92143),
        r(31450),
        r(71552),
        r(40642),
        r(34250),
        r(91306),
        r(86656),
        r(22723),
        r(17533),
        r(81172),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(74673),
        r(26341),
        r(86787),
        r(97714),
        r(2906),
        r(29107),
        r(57251),
        r(59465),
        r(8925),
        r(33921),
        r(3482),
        r(16769),
        r(55531),
        r(30582),
        r(593),
        r(85699),
        r(63136),
        r(96055),
        r(47776),
        r(18033),
        r(6331),
        r(62048),
        r(75626),
        r(72652),
        r(29641),
        r(30493),
        r(70821),
        r(82673),
        r(34229),
        r(37029),
        r(9801),
        r(53523),
        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);
      const d = ['oid', 'global-id'],
        u = ['oid', 'global-id', 'guid'];
      function p({ displayField: e, editFieldsInfo: t, fields: r, objectIdField: a, title: l }, d) {
        if (!r) return null;
        const u = m({ editFieldsInfo: t, fields: r, objectIdField: a }, d);
        if (!u.length) return null;
        const p = (function (e) {
            const t = (0, n.O5)(e),
              { titleBase: r } = e;
            return t ? `${r}: {${t.trim()}}` : r;
          })({ titleBase: l, fields: r, displayField: e }),
          c = [new o.Z(), new s.Z()];
        return new i.Z({ title: p, content: c, fieldInfos: u });
      }
      const c = [
          /^fnode_$/i,
          /^tnode_$/i,
          /^lpoly_$/i,
          /^rpoly_$/i,
          /^poly_$/i,
          /^subclass$/i,
          /^subclass_$/i,
          /^rings_ok$/i,
          /^rings_nok$/i,
          /shape/i,
          /perimeter/i,
          /objectid/i,
          /_i$/i,
        ],
        y = (e, { editFieldsInfo: t, objectIdField: r, visibleFieldNames: i }) =>
          i
            ? i.has(e.name)
            : !(
                g(e.name, t) ||
                (r && e.name === r) ||
                d.indexOf(e.type) > -1 ||
                c.some((t) => t.test(e.name))
              );
      function h(e, t) {
        return 'oid' === e.type
          ? -1
          : 'oid' === t.type
          ? 1
          : b(e)
          ? -1
          : b(t)
          ? 1
          : (e.alias || e.name)
              .toLocaleLowerCase()
              .localeCompare((t.alias || t.name).toLocaleLowerCase());
      }
      function g(e, t) {
        if (!e || !t) return !1;
        const { creationDateField: r, creatorField: i, editDateField: n, editorField: s } = t;
        return (
          -1 !==
          [
            r && r.toLowerCase(),
            i && i.toLowerCase(),
            n && n.toLowerCase(),
            s && s.toLowerCase(),
          ].indexOf(e.toLowerCase())
        );
      }
      function f(e, t) {
        return e.editable && -1 === u.indexOf(e.type) && !g(e.name, t);
      }
      function m({ editFieldsInfo: e, fields: t, objectIdField: r }, i) {
        return (function (e, t) {
          const r = e;
          return (
            t && (e = e.filter((e) => -1 === t.indexOf(e.type))),
            e === r && (e = e.slice()),
            e.sort(h),
            e
          );
        })(t, (null == i ? void 0 : i.ignoreFieldTypes) || w).map(
          (t) =>
            new a.Z({
              fieldName: t.name,
              isEditable: f(t, e),
              label: t.alias,
              format: v(t),
              visible: y(t, {
                editFieldsInfo: e,
                objectIdField: r,
                visibleFieldNames: null == i ? void 0 : i.visibleFieldNames,
              }),
            }),
        );
      }
      function v(e) {
        switch (e.type) {
          case 'small-integer':
          case 'integer':
          case 'single':
            return new l.Z({ digitSeparator: !0, places: 0 });
          case 'double':
            return new l.Z({ digitSeparator: !0, places: 2 });
          case 'date':
            return new l.Z({ dateFormat: 'long-month-day-year' });
          default:
            return null;
        }
      }
      function b(e) {
        return (
          'name' === (e.name && e.name.toLowerCase()) ||
          'name' === (e.alias && e.alias.toLowerCase()) ||
          void 0
        );
      }
      const w = ['geometry', 'blob', 'raster', 'guid', 'xml'];
    },
  },
]);
