(self.webpackChunkRemoteClient = self.webpackChunkRemoteClient || []).push([
  [5754, 2058],
  {
    22739: (e, t, r) => {
      'use strict';
      r.d(t, { L: () => d });
      var s = r(29768),
        i = r(60991),
        o = r(20543),
        n = r(50406),
        a = r(17533),
        l = r(34250);
      const u = (e) => {
        let t = class extends e {
          constructor(...e) {
            super(...e),
              (this._loadController = null),
              (this.loadError = null),
              (this.loadStatus = 'not-loaded'),
              this._set('loadWarnings', []),
              this.addResolvingPromise(
                new Promise((e) => {
                  const t = this.load.bind(this);
                  this.load = (r) => {
                    const s = new Promise((e, t) => {
                      const s = (0, n.$F)(r, t);
                      this.destroyed &&
                        t(
                          new i.Z(
                            'load:instance-destroyed',
                            `Instance of '${
                              this.declaredClass || this.constructor.name
                            }' is already destroyed`,
                            { instance: this },
                          ),
                        ),
                        this._promiseProps.when(e, t).finally(() => {
                          s && s.remove();
                        });
                    });
                    if ('not-loaded' === this.loadStatus) {
                      this._set('loadStatus', 'loading');
                      const e = (this._loadController = (0, n.yi)());
                      t({ signal: e.signal }),
                        (0, n.fu)(e.signal, () => {
                          this._promiseProps.abort();
                        });
                    }
                    return e(), s;
                  };
                }),
              ),
              this.when(
                () => {
                  this._set('loadStatus', 'loaded'), (this._loadController = null);
                },
                (e) => {
                  this._set('loadStatus', 'failed'),
                    this._set('loadError', e),
                    (this._loadController = null);
                },
              );
          }
          get loaded() {
            return 'loaded' === this.loadStatus;
          }
          get loadWarnings() {
            return this._get('loadWarnings');
          }
          load() {
            return null;
          }
          cancelLoad() {
            var e;
            return (
              this.isFulfilled() ||
                (this._set('loadError', new i.Z('load:cancelled', 'Cancelled')),
                null == (e = this._loadController) || e.abort()),
              this
            );
          }
        };
        return (
          (0, s._)([(0, l.Cb)({ readOnly: !0 })], t.prototype, 'loaded', null),
          (0, s._)([(0, l.Cb)({ readOnly: !0 })], t.prototype, 'loadError', void 0),
          (0, s._)([(0, l.Cb)()], t.prototype, 'loadStatus', void 0),
          (0, s._)([(0, l.Cb)({ type: [a.W], readOnly: !0 })], t.prototype, 'loadWarnings', null),
          (t = (0, s._)([(0, a.j)('esri.core.Loadable')], t)),
          t
        );
      };
      let c = class extends u(o.E) {};
      var p;
      (c = (0, s._)([(0, a.j)('esri.core.Loadable')], c)),
        ((p = c || (c = {})).LoadableMixin = u),
        (p.isLoadable = function (e) {
          return !(!e || !e.load);
        });
      var d = c;
    },
    91700: (e, t, r) => {
      'use strict';
      r.d(t, { M: () => o, a: () => i });
      var s = r(6906);
      class i {
        constructor(e, t, r) {
          (this._namespace = e),
            (this._storage = t),
            (this._removeFunc = !1),
            (this._hit = 0),
            (this._miss = 0),
            this._storage.register(this),
            (this._namespace += ':'),
            r && (this._storage.registerRemoveFunc(this._namespace, r), (this._removeFunc = !0));
        }
        destroy() {
          this._storage.clear(this._namespace),
            this._removeFunc && this._storage.deregisterRemoveFunc(this._namespace),
            this._storage.deregister(this),
            (this._storage = null);
        }
        get namespace() {
          return this._namespace.slice(0, -1);
        }
        get hitRate() {
          return this._hit / (this._hit + this._miss);
        }
        get size() {
          return this._storage.size;
        }
        get maxSize() {
          return this._storage.maxSize;
        }
        resetHitRate() {
          this._hit = this._miss = 0;
        }
        put(e, t, r, s = 0) {
          this._storage.put(this._namespace + e, t, r, s);
        }
        get(e) {
          const t = this._storage.get(this._namespace + e);
          return void 0 === t ? ++this._miss : ++this._hit, t;
        }
        pop(e) {
          const t = this._storage.pop(this._namespace + e);
          return void 0 === t ? ++this._miss : ++this._hit, t;
        }
        updateSize(e, t, r) {
          this._storage.updateSize(this._namespace + e, t, r);
        }
        clear() {
          this._storage.clear(this._namespace);
        }
        clearAll() {
          this._storage.clearAll();
        }
        getStats() {
          return this._storage.getStats();
        }
        resetStats() {
          this._storage.resetStats();
        }
      }
      class o {
        constructor(e = 10485760) {
          (this._maxSize = e),
            (this._db = new Map()),
            (this._size = 0),
            (this._hit = 0),
            (this._miss = 0),
            (this._removeFuncs = new s.P()),
            (this._users = new s.P());
        }
        destroy() {
          this.clearAll(), this._removeFuncs.clear(), this._users.clear(), (this._db = null);
        }
        register(e) {
          this._users.push(e);
        }
        deregister(e) {
          this._users.removeUnordered(e);
        }
        registerRemoveFunc(e, t) {
          this._removeFuncs.push([e, t]);
        }
        deregisterRemoveFunc(e) {
          this._removeFuncs.filterInPlace((t) => t[0] !== e);
        }
        get size() {
          return this._size;
        }
        get maxSize() {
          return this._maxSize;
        }
        set maxSize(e) {
          (this._maxSize = Math.max(e, 0)), this._checkSizeLimit();
        }
        put(e, t, r, s) {
          const i = this._db.get(e);
          if (
            (i &&
              ((this._size -= i.size),
              this._db.delete(e),
              i.entry !== t && this._notifyRemoved(e, i.entry)),
            r > this._maxSize)
          )
            return void this._notifyRemoved(e, t);
          if (void 0 === t) return void console.warn('Refusing to cache undefined entry ');
          if (!r || r < 0)
            return void console.warn('Refusing to cache entry with invalid size ' + r);
          const o = 1 + Math.max(s, -3) - -3;
          this._db.set(e, { entry: t, size: r, lifetime: o, lives: o }),
            (this._size += r),
            this._checkSizeLimit();
        }
        updateSize(e, t, r) {
          const s = this._db.get(e);
          if (s && s.entry === t) {
            if (((this._size -= s.size), r > this._maxSize))
              return this._db.delete(e), void this._notifyRemoved(e, t);
            (s.size = r), (this._size += r), this._checkSizeLimit();
          }
        }
        pop(e) {
          const t = this._db.get(e);
          if (t) return (this._size -= t.size), this._db.delete(e), ++this._hit, t.entry;
          ++this._miss;
        }
        get(e) {
          const t = this._db.get(e);
          if (void 0 !== t)
            return (
              this._db.delete(e), (t.lives = t.lifetime), this._db.set(e, t), ++this._hit, t.entry
            );
          ++this._miss;
        }
        getStats() {
          const e = {
              Size:
                Math.round(this._size / 1048576) + '/' + Math.round(this._maxSize / 1048576) + 'MB',
              'Hit rate': Math.round(100 * this._getHitRate()) + '%',
              Entries: this._db.size.toString(),
            },
            t = {},
            r = new Array();
          this._db.forEach((e, s) => {
            const i = e.lifetime;
            (r[i] = (r[i] || 0) + e.size),
              this._users.forAll((r) => {
                const i = r.namespace;
                if (s.startsWith(i)) {
                  const r = t[i] || 0;
                  t[i] = r + e.size;
                }
              });
          });
          const s = {};
          this._users.forAll((e) => {
            const r = e.namespace;
            if (!isNaN(e.hitRate) && e.hitRate > 0) {
              const i = t[r] || 0;
              (t[r] = i), (s[r] = Math.round(100 * e.hitRate) + '%');
            } else s[r] = '0%';
          });
          const i = Object.keys(t);
          i.forEach((e) => (t[e] = (t[e] / this._size) * 100)),
            i.sort((e, r) => t[r] - t[e]),
            i.forEach((r) => (e[r] = Math.round(t[r]) + '% / ' + s[r]));
          for (let t = r.length - 1; t >= 0; --t) {
            const s = r[t];
            s && (e['Priority ' + (t + -3 - 1)] = Math.round((s / this.size) * 100) + '%');
          }
          return e;
        }
        resetStats() {
          (this._hit = this._miss = 0), this._users.forAll((e) => e.resetHitRate());
        }
        clear(e) {
          this._db.forEach((t, r) => {
            r.startsWith(e) &&
              ((this._size -= t.size), this._db.delete(r), this._notifyRemoved(r, t.entry));
          });
        }
        clearAll() {
          this._db.forEach((e, t) => this._notifyRemoved(t, e.entry)),
            (this._size = 0),
            this._db.clear();
        }
        _getHitRate() {
          return this._hit / (this._hit + this._miss);
        }
        _notifyRemoved(e, t) {
          this._removeFuncs.forAll((r) => {
            e.startsWith(r[0]) && r[1](t);
          });
        }
        _checkSizeLimit() {
          if (!(this._size <= this._maxSize))
            for (const [e, t] of this._db)
              if (
                (this._db.delete(e),
                t.lives <= 1
                  ? ((this._size -= t.size), this._notifyRemoved(e, t.entry))
                  : (--t.lives, this._db.set(e, t)),
                this._size <= 0.9 * this.maxSize)
              )
                return;
        }
      }
    },
    41864: (e, t, r) => {
      'use strict';
      r.d(t, { a: () => l, f: () => o, m: () => n, r: () => a });
      var s = r(76506),
        i = r(50406);
      function o(e, t, r) {
        return (0, i.as)(e.map((e, s) => t.apply(r, [e, s])));
      }
      function n(e, t, r) {
        return (0, i.as)(e.map((e, s) => t.apply(r, [e, s]))).then((e) => e.map((e) => e.value));
      }
      function a(e) {
        return (0, s.b)(e)
          ? (0, i.DB)()
          : e.then((e) => ({ ok: !0, value: e })).catch((e) => ({ ok: !1, error: e }));
      }
      function l(e) {
        return e
          .then((e) => ({ ok: !0, value: e }))
          .catch((e) => ((0, i.r9)(e), { ok: !1, error: e }));
      }
    },
    10401: (e, t, r) => {
      'use strict';
      r.d(t, { c: () => o, r: () => i });
      var s = r(15324);
      function i(e, t, r = s.Z) {
        return (
          t || (t = new r()),
          t === e ||
            (t.removeAll(),
            (i = e) && (Array.isArray(i) || ('items' in i && Array.isArray(i.items)))
              ? t.addMany(e)
              : e && t.add(e)),
          t
        );
        var i;
      }
      function o(e) {
        return e;
      }
    },
    94751: (e, t, r) => {
      'use strict';
      r.d(t, { c: () => n, g: () => u, o: () => a, u: () => l });
      var s = r(92896),
        i = r(60947),
        o = r(32422);
      const n = {
        102100: {
          maxX: 20037508.342788905,
          minX: -20037508.342788905,
          plus180Line: new s.Z({
            paths: [
              [
                [20037508.342788905, -20037508.342788905],
                [20037508.342788905, 20037508.342788905],
              ],
            ],
            spatialReference: i.Z.WebMercator,
          }),
          minus180Line: new s.Z({
            paths: [
              [
                [-20037508.342788905, -20037508.342788905],
                [-20037508.342788905, 20037508.342788905],
              ],
            ],
            spatialReference: i.Z.WebMercator,
          }),
        },
        4326: {
          maxX: 180,
          minX: -180,
          plus180Line: new s.Z({
            paths: [
              [
                [180, -180],
                [180, 180],
              ],
            ],
            spatialReference: i.Z.WGS84,
          }),
          minus180Line: new s.Z({
            paths: [
              [
                [-180, -180],
                [-180, 180],
              ],
            ],
            spatialReference: i.Z.WGS84,
          }),
        },
      };
      function a(e, t) {
        return Math.ceil((e - t) / (2 * t));
      }
      function l(e, t) {
        const r = u(e);
        for (const e of r) for (const r of e) r[0] += t;
        return e;
      }
      function u(e) {
        return (0, o.oU)(e) ? e.rings : e.paths;
      }
    },
    95587: (e, t, r) => {
      'use strict';
      r.d(t, {
        S: () => n,
        W: () => u,
        a: () => a,
        b: () => l,
        c: () => p,
        d: () => c,
        e: () => h,
        g: () => d,
      });
      var s = r(60947),
        i = r(89623);
      function o(e) {
        return new s.Z({
          wkt: `GEOCCS["Spherical geocentric",\n    DATUM["Not specified",\n      SPHEROID["Sphere",${e.radius},0]],\n    PRIMEM["Greenwich",0.0,\n      AUTHORITY["EPSG","8901"]],\n    UNIT["m",1.0],\n    AXIS["Geocentric X",OTHER],\n    AXIS["Geocentric Y",EAST],\n    AXIS["Geocentric Z",NORTH]\n  ]`,
        });
      }
      const n = o(i.e),
        a = o(i.m),
        l = o(i.a),
        u = new s.Z({
          wkt: `GEOCCS["WGS 84",\n  DATUM["WGS_1984",\n    SPHEROID["WGS 84",${i.e.radius},298.257223563,\n      AUTHORITY["EPSG","7030"]],\n    AUTHORITY["EPSG","6326"]],\n  PRIMEM["Greenwich",0,\n    AUTHORITY["EPSG","8901"]],\n  UNIT["m",1.0,\n    AUTHORITY["EPSG","9001"]],\n  AXIS["Geocentric X",OTHER],\n  AXIS["Geocentric Y",OTHER],\n  AXIS["Geocentric Z",NORTH],\n  AUTHORITY["EPSG","4978"]\n]`,
        });
      function c(e) {
        return e && e === i.m ? a : e && e === i.a ? l : n;
      }
      function p(e) {
        return e && ((0, s.f)(e) || e === a) ? a : e && ((0, s.h)(e) || e === l) ? l : n;
      }
      function d(e) {
        return e && ((0, s.f)(e) || e === a) ? i.m : e && ((0, s.h)(e) || e === l) ? i.a : i.e;
      }
      function h(e) {
        return (0, s.c)(e) ? i.m : (0, s.d)(e) ? i.a : i.e;
      }
    },
    53785: (e, t, r) => {
      'use strict';
      r.d(t, {
        a: () => x,
        b: () => q,
        c: () => v,
        d: () => S,
        e: () => T,
        f: () => I,
        g: () => O,
        i: () => a,
        l: () => w,
        u: () => C,
        z: () => k,
      }),
        r(76506);
      var s = r(57251),
        i = r(95587),
        o = r(60947),
        n = r(89623);
      const a = 39.37,
        l = (n.e.radius * Math.PI) / 200,
        u = /UNIT\[([^\]]+)\]\]$/i,
        c = o.o,
        p = /UNIT\[([^\]]+)\]/i,
        d = new Set([
          4261,
          4305,
          4807,
          4810,
          4811,
          4812,
          4816,
          4819,
          4821,
          4901,
          4902,
          37225,
          104139,
          104140,
        ]),
        h = (0, s.s)()({
          meter: 'meters',
          foot: 'feet',
          foot_us: 'us-feet',
          foot_clarke: 'clarke-feet',
          yard_clarke: 'clarke-yards',
          link_clarke: 'clarke-links',
          yard_sears: 'sears-yards',
          foot_sears: 'sears-feet',
          chain_sears: 'sears-chains',
          chain_benoit_1895_b: 'benoit-1895-b-chains',
          yard_indian: 'indian-yards',
          yard_indian_1937: 'indian-1937-yards',
          foot_gold_coast: 'gold-coast-feet',
          chain_sears_1922_truncated: 'sears-1922-truncated-chains',
          '50_kilometers': '50-kilometers',
          '150_kilometers': '150-kilometers',
        }),
        m = (e) => e * e,
        y = (e) => e * e * e,
        f = {
          length: {
            baseUnit: 'meters',
            units: {
              millimeters: { inBaseUnits: 0.001 },
              centimeters: { inBaseUnits: 0.01 },
              decimeters: { inBaseUnits: 0.1 },
              meters: { inBaseUnits: 1 },
              kilometers: { inBaseUnits: 1e3 },
              inches: { inBaseUnits: 0.0254 },
              feet: { inBaseUnits: 0.3048 },
              yards: { inBaseUnits: 0.9144 },
              miles: { inBaseUnits: 1609.344 },
              'nautical-miles': { inBaseUnits: 1852 },
              'us-feet': { inBaseUnits: 1200 / 3937 },
            },
          },
          area: {
            baseUnit: 'square-meters',
            units: {
              'square-millimeters': { inBaseUnits: m(0.001) },
              'square-centimeters': { inBaseUnits: m(0.01) },
              'square-decimeters': { inBaseUnits: m(0.1) },
              'square-meters': { inBaseUnits: 1 },
              'square-kilometers': { inBaseUnits: m(1e3) },
              'square-inches': { inBaseUnits: m(0.0254) },
              'square-feet': { inBaseUnits: m(0.3048) },
              'square-yards': { inBaseUnits: m(0.9144) },
              'square-miles': { inBaseUnits: m(1609.344) },
              'square-us-feet': { inBaseUnits: m(1200 / 3937) },
              acres: { inBaseUnits: 0.0015625 * m(1609.344) },
              ares: { inBaseUnits: 100 },
              hectares: { inBaseUnits: 1e4 },
            },
          },
          volume: {
            baseUnit: 'liters',
            units: {
              liters: { inBaseUnits: 1 },
              'cubic-millimeters': { inBaseUnits: 1e3 * y(0.001) },
              'cubic-centimeters': { inBaseUnits: 1e3 * y(0.01) },
              'cubic-decimeters': { inBaseUnits: 1e3 * y(0.1) },
              'cubic-meters': { inBaseUnits: 1e3 },
              'cubic-kilometers': { inBaseUnits: 1e3 * y(1e3) },
              'cubic-inches': { inBaseUnits: 1e3 * y(0.0254) },
              'cubic-feet': { inBaseUnits: 1e3 * y(0.3048) },
              'cubic-yards': { inBaseUnits: 1e3 * y(0.9144) },
              'cubic-miles': { inBaseUnits: 1e3 * y(1609.344) },
            },
          },
          angle: {
            baseUnit: 'radians',
            units: { radians: { inBaseUnits: 1 }, degrees: { inBaseUnits: Math.PI / 180 } },
          },
        },
        g = (function () {
          const e = {};
          for (const t in f) for (const r in f[t].units) e[r] = t;
          return e;
        })();
      function b(e) {
        const t = g[e];
        if (t) return t;
        throw new Error('unknown measure');
      }
      function _(e, t = null) {
        return (t = t || b(e)), f[t].baseUnit === e;
      }
      function v(e, t, r) {
        if (t === r) return e;
        const s = b(t);
        if (s !== b(r)) throw new Error('incompatible units');
        const i = _(t, s)
          ? e
          : (function (e, t, r) {
              return e * f[r].units[t].inBaseUnits;
            })(e, t, s);
        return _(r, s)
          ? i
          : (function (e, t, r) {
              return e / f[r].units[t].inBaseUnits;
            })(i, r, s);
      }
      function w(e, t, r) {
        return v(e, t, 'meters') / ((r * Math.PI) / 180);
      }
      function C(e) {
        return h.fromJSON(e.toLowerCase()) || null;
      }
      function S(e) {
        if (e && 'object' == typeof e && !(0, o.b)(e)) return 1;
        const t = x(e);
        return t > 1e5 ? 1 : t;
      }
      function O(e) {
        return x(e) >= (e instanceof o.Z ? (0, i.g)(e).metersPerDegree : 1e5) ? 'meters' : k(e);
      }
      function x(e, t = n.e.metersPerDegree) {
        return q(e, !0) || t;
      }
      function q(e, t = !1) {
        let r,
          s,
          i = null;
        if (
          (null != e &&
            ('object' == typeof e
              ? ((r = e.wkid), (s = e.wkt))
              : 'number' == typeof e
              ? (r = e)
              : 'string' == typeof e && (s = e)),
          r)
        ) {
          if ((0, o.c)(r)) return n.m.metersPerDegree;
          if ((0, o.d)(r)) return n.a.metersPerDegree;
          (i = c.values[c[r]]), !i && t && d.has(r) && (i = l);
        } else if (s)
          if (-1 !== s.search(/^PROJCS/i)) {
            const e = u.exec(s);
            e && e[1] && (i = parseFloat(e[1].split(',')[1]));
          } else if (-1 !== s.search(/^GEOCCS/i)) {
            const e = p.exec(s);
            e && e[1] && (i = parseFloat(e[1].split(',')[1]));
          }
        return i;
      }
      function k(e) {
        let t,
          r,
          s = null;
        if (
          (null != e &&
            ('object' == typeof e
              ? ((t = e.wkid), (r = e.wkt))
              : 'number' == typeof e
              ? (t = e)
              : 'string' == typeof e && (r = e)),
          t)
        )
          s = c.units[c[t]];
        else if (r && -1 !== r.search(/^PROJCS/i)) {
          let e = u.exec(r);
          e && e[1] && ((e = /[\\"\\']{1}([^\\"\\']+)/.exec(e[1])), (s = e && e[1]));
        }
        return s ? C(s) : null;
      }
      const P = {
          esriAcres: 'acres',
          esriAres: 'ares',
          esriHectares: 'hectares',
          esriSquareCentimeters: 'square-centimeters',
          esriSquareDecimeters: 'square-decimeters',
          esriSquareFeet: 'square-feet',
          esriSquareInches: 'square-inches',
          esriSquareKilometers: 'square-kilometers',
          esriSquareMeters: 'square-meters',
          esriSquareMiles: 'square-miles',
          esriSquareMillimeters: 'square-millimeters',
          esriSquareUsFeet: 'square-us-feet',
          esriSquareYards: 'square-yards',
        },
        U = {
          esriCentimeters: 'centimeters',
          esriDecimeters: 'decimeters',
          esriFeet: 'feet',
          esriInches: 'inches',
          esriKilometers: 'kilometers',
          esriMeters: 'meters',
          esriMiles: 'miles',
          esriMillimeters: 'millimeters',
          esriNauticalMiles: 'nautical-miles',
          esriYards: 'yards',
        },
        T = (0, s.s)()(P),
        I = (0, s.s)()(U);
      (0, s.s)()({ ...P, ...U });
    },
    95533: (e, t, r) => {
      'use strict';
      r.d(t, { aX: () => w });
      var s = r(31450),
        i = r(60991),
        o = r(92143),
        n = r(76506),
        a = r(44567),
        l = r(92896),
        u = r(94751),
        c = r(60947),
        p = r(35132),
        d = (r(74569), r(82058)),
        h = r(32101),
        m = r(32422);
      async function y(e, t, r) {
        const s = 'string' == typeof e ? (0, h.mN)(e) : e,
          i = t[0].spatialReference,
          o = (0, m.Ji)(t[0]),
          n = {
            ...r,
            query: {
              ...s.query,
              f: 'json',
              sr: i.wkid ? i.wkid : JSON.stringify(i),
              geometries: JSON.stringify(f(t)),
            },
          };
        return (function (e, t, r) {
          const s = (0, m.q9)(t);
          return e.map((e) => {
            const t = s.fromJSON(e);
            return (t.spatialReference = r), t;
          });
        })((await (0, d.default)(s.path + '/simplify', n)).data, o, i);
      }
      function f(e) {
        return { geometryType: (0, m.Ji)(e[0]), geometries: e.map((e) => e.toJSON()) };
      }
      r(71552),
        r(81172),
        r(40642),
        r(34250),
        r(91306),
        r(86656),
        r(22723),
        r(17533),
        r(2906),
        r(21801),
        r(73796),
        r(74673),
        r(21972),
        r(23639),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(26341),
        r(97714),
        r(91597),
        r(86787),
        r(89623),
        r(98380),
        r(84069),
        r(22781),
        r(57251),
        r(88762);
      const g = o.L.getLogger('esri.geometry.support.normalizeUtils');
      function b(e) {
        return 'polyline' === e[0].type;
      }
      function _(e, t, r) {
        if (t) {
          const t = (function (e, t) {
            if (!(e instanceof l.Z || e instanceof a.Z)) {
              const e = 'straightLineDensify: the input geometry is neither polyline nor polygon';
              throw (g.error(e), new i.Z(e));
            }
            const r = (0, u.g)(e),
              s = [];
            for (const e of r) {
              const r = [];
              s.push(r), r.push([e[0][0], e[0][1]]);
              for (let s = 0; s < e.length - 1; s++) {
                const i = e[s][0],
                  o = e[s][1],
                  n = e[s + 1][0],
                  a = e[s + 1][1],
                  l = Math.sqrt((n - i) * (n - i) + (a - o) * (a - o)),
                  u = (a - o) / l,
                  c = (n - i) / l,
                  p = l / t;
                if (p > 1) {
                  for (let e = 1; e <= p - 1; e++) {
                    const s = e * t,
                      n = c * s + i,
                      a = u * s + o;
                    r.push([n, a]);
                  }
                  const e = (l + Math.floor(p - 1) * t) / 2,
                    s = c * e + i,
                    n = u * e + o;
                  r.push([s, n]);
                }
                r.push([n, a]);
              }
            }
            return (function (e) {
              return 'polygon' === e.type;
            })(e)
              ? new a.Z({ rings: s, spatialReference: e.spatialReference })
              : new l.Z({ paths: s, spatialReference: e.spatialReference });
          })(e, 1e6);
          e = (0, p.Sx)(t, !0);
        }
        return r && (e = (0, u.u)(e, r)), e;
      }
      function v(e, t, r) {
        if (Array.isArray(e)) {
          const s = e[0];
          if (s > t) {
            const r = (0, u.o)(s, t);
            e[0] = s + r * (-2 * t);
          } else if (s < r) {
            const t = (0, u.o)(s, r);
            e[0] = s + t * (-2 * r);
          }
        } else {
          const s = e.x;
          if (s > t) {
            const r = (0, u.o)(s, t);
            e = e.clone().offset(r * (-2 * t), 0);
          } else if (s < r) {
            const t = (0, u.o)(s, r);
            e = e.clone().offset(t * (-2 * r), 0);
          }
        }
        return e;
      }
      async function w(e, t, r) {
        if (!Array.isArray(e)) return w([e], t);
        const i = t ? t.url : s.Z.geometryServiceUrl;
        let o,
          f,
          g,
          C,
          S,
          O,
          x,
          q,
          k = 0;
        const P = [],
          U = [];
        for (const t of e)
          if ((0, n.b)(t)) U.push(t);
          else if (
            (o ||
              ((o = t.spatialReference),
              (f = (0, c.g)(o)),
              (g = o.isWebMercator),
              (O = g ? 102100 : 4326),
              (C = u.c[O].maxX),
              (S = u.c[O].minX),
              (x = u.c[O].plus180Line),
              (q = u.c[O].minus180Line)),
            f)
          )
            if ('mesh' === t.type) U.push(t);
            else if ('point' === t.type) U.push(v(t.clone(), C, S));
            else if ('multipoint' === t.type) {
              const e = t.clone();
              (e.points = e.points.map((e) => v(e, C, S))), U.push(e);
            } else if ('extent' === t.type) {
              const e = t.clone()._normalize(!1, !1, f);
              U.push(e.rings ? new a.Z(e) : e);
            } else if (t.extent) {
              const e = t.extent,
                r = (0, u.o)(e.xmin, S) * (2 * C);
              let s = 0 === r ? t.clone() : (0, u.u)(t.clone(), r);
              e.offset(r, 0),
                e.intersects(x) && e.xmax !== C
                  ? ((k = e.xmax > k ? e.xmax : k), (s = _(s, g)), P.push(s), U.push('cut'))
                  : e.intersects(q) && e.xmin !== S
                  ? ((k = e.xmax * (2 * C) > k ? e.xmax * (2 * C) : k),
                    (s = _(s, g, 360)),
                    P.push(s),
                    U.push('cut'))
                  : U.push(s);
            } else U.push(t.clone());
          else U.push(t);
        let T = (0, u.o)(k, C),
          I = -90;
        const R = T,
          E = new l.Z();
        for (; T > 0; ) {
          const e = 360 * T - 180;
          E.addPath([
            [e, I],
            [e, -1 * I],
          ]),
            (I *= -1),
            T--;
        }
        if (P.length > 0 && R > 0) {
          const t = (function (e, t) {
              let r = -1;
              for (let s = 0; s < t.cutIndexes.length; s++) {
                const i = t.cutIndexes[s],
                  o = t.geometries[s],
                  n = (0, u.g)(o);
                for (let e = 0; e < n.length; e++) {
                  const t = n[e];
                  t.some((r) => {
                    if (r[0] < 180) return !0;
                    {
                      let r = 0;
                      for (let e = 0; e < t.length; e++) {
                        const s = t[e][0];
                        r = s > r ? s : r;
                      }
                      r = Number(r.toFixed(9));
                      const s = -360 * (0, u.o)(r, 180);
                      for (let r = 0; r < t.length; r++) {
                        const t = o.getPoint(e, r);
                        o.setPoint(e, r, t.clone().offset(s, 0));
                      }
                      return !0;
                    }
                  });
                }
                if (i === r) {
                  if ('polygon' === e[0].type) for (const t of (0, u.g)(o)) e[i] = e[i].addRing(t);
                  else if (b(e)) for (const t of (0, u.g)(o)) e[i] = e[i].addPath(t);
                } else (r = i), (e[i] = o);
              }
              return e;
            })(
              P,
              await (async function (e, t, r, s) {
                const i = 'string' == typeof e ? (0, h.mN)(e) : e,
                  o = t[0].spatialReference,
                  n = {
                    ...s,
                    query: {
                      ...i.query,
                      f: 'json',
                      sr: JSON.stringify(o),
                      target: JSON.stringify({ geometryType: (0, m.Ji)(t[0]), geometries: t }),
                      cutter: JSON.stringify(r),
                    },
                  },
                  a = await (0, d.default)(i.path + '/cut', n),
                  { cutIndexes: l, geometries: u = [] } = a.data;
                return {
                  cutIndexes: l,
                  geometries: u.map((e) => {
                    const t = (0, m.im)(e);
                    return (t.spatialReference = o), t;
                  }),
                };
              })(i, P, E, r),
            ),
            s = [],
            o = [];
          for (let r = 0; r < U.length; r++) {
            const i = U[r];
            if ('cut' !== i) o.push(i);
            else {
              const i = t.shift(),
                a = e[r];
              (0, n.i)(a) &&
              'polygon' === a.type &&
              a.rings &&
              a.rings.length > 1 &&
              i.rings.length >= a.rings.length
                ? (s.push(i), o.push('simplify'))
                : o.push(g ? (0, p.$)(i) : i);
            }
          }
          if (!s.length) return o;
          const a = await y(i, s, r),
            l = [];
          for (let e = 0; e < o.length; e++) {
            const t = o[e];
            'simplify' !== t ? l.push(t) : l.push(g ? (0, p.$)(a.shift()) : a.shift());
          }
          return l;
        }
        const M = [];
        for (let e = 0; e < U.length; e++) {
          const t = U[e];
          if ('cut' !== t) M.push(t);
          else {
            const e = P.shift();
            M.push(!0 === g ? (0, p.$)(e) : e);
          }
        }
        return Promise.resolve(M);
      }
    },
    1709: (e, t, r) => {
      'use strict';
      function s(e) {
        return 'date' === e.type || 'esriFieldTypeDate' === e.type;
      }
      function i(e) {
        return e.toLowerCase().trim();
      }
      r.d(t, { Z: () => o });
      const o = class {
        constructor(e) {
          if (
            ((this.fields = e),
            (this._fieldsMap = new Map()),
            (this._dateFieldsSet = new Set()),
            (this.dateFields = []),
            !e)
          )
            return;
          const t = [];
          for (const r of e) {
            const e = r && r.name;
            if (e) {
              const o = i(e);
              this._fieldsMap.set(e, r),
                this._fieldsMap.set(o, r),
                t.push(o),
                s(r) && (this.dateFields.push(r), this._dateFieldsSet.add(r));
            }
          }
          t.sort(), (this.uid = t.join(','));
        }
        destroy() {
          this._fieldsMap.clear();
        }
        has(e) {
          return null != this.get(e);
        }
        get(e) {
          return null != e ? this._fieldsMap.get(e) || this._fieldsMap.get(i(e)) : void 0;
        }
        isDateField(e) {
          return this._dateFieldsSet.has(this.get(e));
        }
        normalizeFieldName(e) {
          const t = this.get(e);
          if (t) return t.name;
        }
      };
    },
    49900: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => x });
      var s,
        i = r(29768),
        o = r(31450),
        n = (r(66284), r(88762)),
        a = r(82058),
        l = r(60991),
        u = r(74673),
        c = r(22739),
        p = r(76506),
        d = r(50406),
        h = r(34250),
        m = r(91306),
        y = (r(92143), r(97714)),
        f = r(17533),
        g = r(21801),
        b = r(67477),
        _ = r(78533),
        v = r(74653),
        w = r(3482);
      let C;
      r(71552),
        r(33921),
        r(57251),
        r(40642),
        r(73173),
        r(32101),
        r(81172),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(26341),
        r(20543),
        r(73796),
        r(60947),
        r(2906),
        r(91597),
        r(86787),
        r(35132),
        r(89623),
        r(91091),
        r(58943);
      const S = {
        PortalGroup: () => Promise.resolve().then(r.bind(r, 58943)),
        PortalItem: () => Promise.resolve().then(r.bind(r, 56420)),
        PortalUser: () => Promise.resolve().then(r.bind(r, 74653)),
      };
      let O = (s = class extends (0, u.J)(c.L) {
        constructor(e) {
          super(e),
            (this.access = null),
            (this.allSSL = !1),
            (this.authMode = 'auto'),
            (this.authorizedCrossOriginDomains = null),
            (this.basemapGalleryGroupQuery = null),
            (this.bingKey = null),
            (this.canListApps = !1),
            (this.canListData = !1),
            (this.canListPreProvisionedItems = !1),
            (this.canProvisionDirectPurchase = !1),
            (this.canSearchPublic = !0),
            (this.canShareBingPublic = !1),
            (this.canSharePublic = !1),
            (this.canSignInArcGIS = !1),
            (this.canSignInIDP = !1),
            (this.colorSetsGroupQuery = null),
            (this.commentsEnabled = !1),
            (this.created = null),
            (this.culture = null),
            (this.customBaseUrl = null),
            (this.defaultBasemap = null),
            (this.defaultExtent = null),
            (this.defaultVectorBasemap = null),
            (this.description = null),
            (this.eueiEnabled = null),
            (this.featuredGroups = null),
            (this.featuredItemsGroupQuery = null),
            (this.galleryTemplatesGroupQuery = null),
            (this.livingAtlasGroupQuery = null),
            (this.hasCategorySchema = !1),
            (this.helperServices = null),
            (this.homePageFeaturedContent = null),
            (this.homePageFeaturedContentCount = null),
            (this.httpPort = null),
            (this.httpsPort = null),
            (this.id = null),
            (this.ipCntryCode = null),
            (this.isPortal = !1),
            (this.isReadOnly = !1),
            (this.layerTemplatesGroupQuery = null),
            (this.maxTokenExpirationMinutes = null),
            (this.modified = null),
            (this.name = null),
            (this.portalHostname = null),
            (this.portalMode = null),
            (this.portalProperties = null),
            (this.region = null),
            (this.rotatorPanels = null),
            (this.showHomePageDescription = !1),
            (this.sourceJSON = null),
            (this.supportsHostedServices = !1),
            (this.symbolSetsGroupQuery = null),
            (this.templatesGroupQuery = null),
            (this.units = null),
            (this.url = o.Z.portalUrl),
            (this.urlKey = null),
            (this.user = null),
            (this.useStandardizedQuery = !1),
            (this.useVectorBasemaps = !1),
            (this.vectorBasemapGalleryGroupQuery = null);
        }
        normalizeCtorArgs(e) {
          return 'string' == typeof e ? { url: e } : e;
        }
        destroy() {
          this._esriId_credentialCreateHandle &&
            (this._esriId_credentialCreateHandle.remove(),
            (this._esriId_credentialCreateHandle = null));
        }
        readAuthorizedCrossOriginDomains(e) {
          if (e)
            for (const t of e)
              -1 === o.Z.request.trustedServers.indexOf(t) && o.Z.request.trustedServers.push(t);
          return e;
        }
        readDefaultBasemap(e) {
          if (e) {
            const t = C.fromJSON(e);
            return (t.portalItem = { portal: this }), t;
          }
          return null;
        }
        readDefaultVectorBasemap(e) {
          if (e) {
            const t = C.fromJSON(e);
            return (t.portalItem = { portal: this }), t;
          }
          return null;
        }
        get extraQuery() {
          const e = !(this.user && this.user.orgId) || this.canSearchPublic;
          return this.id && !e ? ` AND orgid:${this.id}` : null;
        }
        get isOrganization() {
          return !!this.access;
        }
        get restUrl() {
          let e = this.url;
          if (e) {
            const t = e.indexOf('/sharing');
            (e = t > 0 ? e.substring(0, t) : this.url.replace(/\/+$/, '')), (e += '/sharing/rest');
          }
          return e;
        }
        get thumbnailUrl() {
          const e = this.restUrl,
            t = this.thumbnail;
          return e && t ? this._normalizeSSL(e + '/portals/self/resources/' + t) : null;
        }
        readUrlKey(e) {
          return e ? e.toLowerCase() : e;
        }
        readUser(e) {
          let t = null;
          return e && ((t = v.default.fromJSON(e)), (t.portal = this)), t;
        }
        load(e) {
          const t = r
            .e(599)
            .then(r.bind(r, 60599))
            .then(function (e) {
              return e.B;
            })
            .then(({ default: t }) => {
              (0, d.k_)(e), (C = t);
            })
            .then(() => (this.sourceJSON ? this.sourceJSON : this._fetchSelf(this.authMode, !1, e)))
            .then((e) => {
              if (n.id) {
                const e = n.id;
                (this.credential = e.findCredential(this.restUrl)),
                  this.credential ||
                    this.authMode !== s.AUTH_MODE_AUTO ||
                    (this._esriId_credentialCreateHandle = e.on('credential-create', () => {
                      e.findCredential(this.restUrl) && this._signIn();
                    }));
              }
              (this.sourceJSON = e), this.read(e);
            });
          return this.addResolvingPromise(t), Promise.resolve(this);
        }
        async createClosestFacilityTask() {
          await this.load();
          const e = this._getHelperServiceUrl('closestFacility');
          return new (0,
          (
            await Promise.all([r.e(135), r.e(6748), r.e(378), r.e(173), r.e(4486)]).then(
              r.bind(r, 74486),
            )
          ).default)(e);
        }
        async createElevationLayers() {
          await this.load();
          const e = this._getHelperService('defaultElevationLayers'),
            t = (await Promise.all([r.e(2060), r.e(2204)]).then(r.bind(r, 72204))).default;
          return e ? e.map((e) => new t({ id: e.id, url: e.url })) : [];
        }
        async createGeometryService() {
          await this.load();
          const e = this._getHelperServiceUrl('geometry');
          return new (0, (await r.e(5996).then(r.bind(r, 5996))).default)({ url: e });
        }
        async createPrintTask() {
          await this.load();
          const e = this._getHelperServiceUrl('printTask');
          return new (0,
          (
            await Promise.all([r.e(135), r.e(6748), r.e(1292), r.e(378), r.e(3232)]).then(
              r.bind(r, 63232),
            )
          ).default)(e);
        }
        async createRouteTask() {
          await this.load();
          const e = this._getHelperServiceUrl('route');
          return new (0,
          (
            await Promise.all([r.e(135), r.e(6748), r.e(378), r.e(173), r.e(9047)]).then(
              r.bind(r, 69047),
            )
          ).default)(e);
        }
        async createServiceAreaTask() {
          await this.load();
          const e = this._getHelperServiceUrl('serviceArea');
          return new (0,
          (
            await Promise.all([r.e(135), r.e(6748), r.e(378), r.e(173), r.e(487)]).then(
              r.bind(r, 50487),
            )
          ).default)(e);
        }
        fetchBasemaps(e, t) {
          const r = new b.Z();
          return (
            (r.query =
              e ||
              (this.useVectorBasemaps
                ? this.vectorBasemapGalleryGroupQuery
                : this.basemapGalleryGroupQuery)),
            (r.disableExtraQuery = !0),
            this.queryGroups(r, t)
              .then((e) => {
                if (
                  ((r.num = 100), (r.query = 'type:"Web Map" -type:"Web Application"'), e.total)
                ) {
                  const s = e.results[0];
                  return (
                    (r.sortField = s.sortField || 'name'),
                    (r.sortOrder = s.sortOrder || 'desc'),
                    s.queryItems(r, t)
                  );
                }
                return null;
              })
              .then((e) => {
                let t;
                return (
                  (t =
                    e && e.total
                      ? e.results
                          .filter((e) => 'Web Map' === e.type)
                          .map((e) => new C({ portalItem: e }))
                      : []),
                  t
                );
              })
          );
        }
        fetchCategorySchema(e) {
          return this.hasCategorySchema
            ? this._request(this.restUrl + '/portals/self/categorySchema', e).then(
                (e) => e.categorySchema,
              )
            : (0, d.Hc)(e)
            ? Promise.reject((0, d.zE)())
            : Promise.resolve([]);
        }
        fetchFeaturedGroups(e) {
          const t = this.featuredGroups,
            r = new b.Z();
          if (((r.num = 100), (r.sortField = 'title'), t && t.length)) {
            const s = [];
            for (const e of t) s.push(`(title:"${e.title}" AND owner:${e.owner})`);
            return (r.query = s.join(' OR ')), this.queryGroups(r, e).then((e) => e.results);
          }
          return (0, d.Hc)(e) ? Promise.reject((0, d.zE)()) : Promise.resolve([]);
        }
        fetchRegions(e) {
          const t = (this.user && this.user.culture) || this.culture || (0, w.g)();
          return this._request(this.restUrl + '/portals/regions', { ...e, query: { culture: t } });
        }
        static getDefault() {
          return (s._default && !s._default.destroyed) || (s._default = new s()), s._default;
        }
        queryGroups(e, t) {
          return this._queryPortal('/community/groups', e, 'PortalGroup', t);
        }
        queryItems(e, t) {
          return this._queryPortal('/search', e, 'PortalItem', t);
        }
        queryUsers(e, t) {
          return (
            e.sortField || (e.sortField = 'username'),
            this._queryPortal('/community/users', e, 'PortalUser', t)
          );
        }
        toJSON() {
          throw new l.Z('internal:not-yet-implemented', 'Portal.toJSON is not yet implemented');
        }
        static fromJSON(e) {
          if (!e) return null;
          if (e.declaredClass) throw new Error('JSON object is already hydrated');
          return new s({ sourceJSON: e });
        }
        _getHelperService(e) {
          const t = this.helperServices && this.helperServices[e];
          if (!t)
            throw new l.Z(
              'portal:service-not-found',
              `The \`helperServices\` do not include an entry named "${e}"`,
            );
          return t;
        }
        _getHelperServiceUrl(e) {
          const t = this._getHelperService(e);
          if (!t.url)
            throw new l.Z(
              'portal:service-url-not-found',
              `The \`helperServices\` entry "${e}" does not include a \`url\` value`,
            );
          return t.url;
        }
        _fetchSelf(e = this.authMode, t = !1, r) {
          const s = this.restUrl + '/portals/self',
            i = { authMode: e, query: { culture: (0, w.g)().toLowerCase() }, ...r };
          return (
            'auto' === i.authMode && (i.authMode = 'no-prompt'),
            t && (i.query.default = !0),
            this._request(s, i)
          );
        }
        _queryPortal(e, t, r, i) {
          const o = (0, m.e)(b.Z, t),
            n = (t) =>
              this._request(this.restUrl + e, { ...o.toRequestOptions(this), ...i })
                .then((e) => {
                  const r = o.clone();
                  return (
                    (r.start = e.nextStart),
                    new _.Z({
                      nextQueryParams: r,
                      queryParams: o,
                      total: e.total,
                      results: s._resultsToTypedArray(t, { portal: this }, e, i),
                    })
                  );
                })
                .then((e) =>
                  Promise.all(
                    e.results.map((t) => ('function' == typeof t.when ? t.when() : e)),
                  ).then(
                    () => e,
                    (t) => ((0, d.r9)(t), e),
                  ),
                );
          return r && S[r] ? S[r]().then(({ default: e }) => ((0, d.k_)(i), n(e))) : n();
        }
        _signIn() {
          if (this.authMode === s.AUTH_MODE_ANONYMOUS)
            return Promise.reject(
              new l.Z('portal:invalid-auth-mode', `Current "authMode"' is "${this.authMode}"`),
            );
          if ('failed' === this.loadStatus) return Promise.reject(this.loadError);
          const e = (e) =>
            Promise.resolve()
              .then(() =>
                'not-loaded' === this.loadStatus
                  ? (e || (this.authMode = 'immediate'), this.load().then(() => null))
                  : 'loading' === this.loadStatus
                  ? this.load().then(() =>
                      this.credential
                        ? null
                        : ((this.credential = e), this._fetchSelf('immediate')),
                    )
                  : this.user && this.credential === e
                  ? null
                  : ((this.credential = e), this._fetchSelf('immediate')),
              )
              .then((e) => {
                e && ((this.sourceJSON = e), this.read(e));
              });
          return n.id ? n.id.getCredential(this.restUrl).then((t) => e(t)) : e(this.credential);
        }
        _normalizeSSL(e) {
          return e.replace(/^http:/i, 'https:').replace(':7080', ':7443');
        }
        _normalizeUrl(e) {
          const t = this.credential && this.credential.token;
          return this._normalizeSSL(t ? e + (e.indexOf('?') > -1 ? '&' : '?') + 'token=' + t : e);
        }
        _requestToTypedArray(e, t, r) {
          return this._request(e, t).then((e) => {
            const t = s._resultsToTypedArray(r, { portal: this }, e);
            return Promise.all(t.map((t) => ('function' == typeof t.when ? t.when() : e))).then(
              () => t,
              () => t,
            );
          });
        }
        _request(e, t = {}) {
          const r = { f: 'json', ...t.query },
            {
              authMode: i = this.authMode === s.AUTH_MODE_ANONYMOUS ? 'anonymous' : 'auto',
              body: o = null,
              cacheBust: n = !1,
              method: l = 'auto',
              responseType: u = 'json',
              signal: c,
            } = t,
            p = {
              authMode: i,
              body: o,
              cacheBust: n,
              method: l,
              query: r,
              responseType: u,
              timeout: 0,
              signal: c,
            };
          return (0, a.default)(this._normalizeSSL(e), p).then((e) => e.data);
        }
        static _resultsToTypedArray(e, t, r, s) {
          let i;
          if (r) {
            const o = (0, p.i)(s) ? s.signal : null;
            (i =
              r.listings ||
              r.notifications ||
              r.userInvitations ||
              r.tags ||
              r.items ||
              r.groups ||
              r.comments ||
              r.provisions ||
              r.results ||
              r.relatedItems ||
              r),
              (e || t) &&
                (i = i.map((r) => {
                  const s = Object.assign(e ? e.fromJSON(r) : r, t);
                  return 'function' == typeof s.load && s.load(o), s;
                }));
          } else i = [];
          return i;
        }
      });
      (O.AUTH_MODE_ANONYMOUS = 'anonymous'),
        (O.AUTH_MODE_AUTO = 'auto'),
        (O.AUTH_MODE_IMMEDIATE = 'immediate'),
        (0, i._)([(0, h.Cb)()], O.prototype, 'access', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'allSSL', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'authMode', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'authorizedCrossOriginDomains', void 0),
        (0, i._)(
          [(0, y.r)('authorizedCrossOriginDomains')],
          O.prototype,
          'readAuthorizedCrossOriginDomains',
          null,
        ),
        (0, i._)([(0, h.Cb)()], O.prototype, 'basemapGalleryGroupQuery', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'bingKey', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'canListApps', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'canListData', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'canListPreProvisionedItems', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'canProvisionDirectPurchase', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'canSearchPublic', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'canShareBingPublic', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'canSharePublic', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'canSignInArcGIS', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'canSignInIDP', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'colorSetsGroupQuery', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'commentsEnabled', void 0),
        (0, i._)([(0, h.Cb)({ type: Date })], O.prototype, 'created', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'credential', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'culture', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'currentVersion', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'customBaseUrl', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'defaultBasemap', void 0),
        (0, i._)([(0, y.r)('defaultBasemap')], O.prototype, 'readDefaultBasemap', null),
        (0, i._)([(0, h.Cb)({ type: g.Z })], O.prototype, 'defaultExtent', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'defaultVectorBasemap', void 0),
        (0, i._)([(0, y.r)('defaultVectorBasemap')], O.prototype, 'readDefaultVectorBasemap', null),
        (0, i._)([(0, h.Cb)()], O.prototype, 'description', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'eueiEnabled', void 0),
        (0, i._)([(0, h.Cb)({ readOnly: !0 })], O.prototype, 'extraQuery', null),
        (0, i._)([(0, h.Cb)()], O.prototype, 'featuredGroups', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'featuredItemsGroupQuery', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'galleryTemplatesGroupQuery', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'livingAtlasGroupQuery', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'hasCategorySchema', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'helpBase', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'helperServices', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'helpMap', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'homePageFeaturedContent', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'homePageFeaturedContentCount', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'httpPort', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'httpsPort', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'id', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'ipCntryCode', void 0),
        (0, i._)([(0, h.Cb)({ readOnly: !0 })], O.prototype, 'isOrganization', null),
        (0, i._)([(0, h.Cb)()], O.prototype, 'isPortal', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'isReadOnly', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'layerTemplatesGroupQuery', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'maxTokenExpirationMinutes', void 0),
        (0, i._)([(0, h.Cb)({ type: Date })], O.prototype, 'modified', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'name', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'portalHostname', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'portalMode', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'portalProperties', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'region', void 0),
        (0, i._)([(0, h.Cb)({ readOnly: !0 })], O.prototype, 'restUrl', null),
        (0, i._)([(0, h.Cb)()], O.prototype, 'rotatorPanels', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'showHomePageDescription', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'sourceJSON', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'staticImagesUrl', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'stylesGroupQuery', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'supportsHostedServices', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'symbolSetsGroupQuery', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'templatesGroupQuery', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'thumbnail', void 0),
        (0, i._)([(0, h.Cb)({ readOnly: !0 })], O.prototype, 'thumbnailUrl', null),
        (0, i._)([(0, h.Cb)()], O.prototype, 'units', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'url', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'urlKey', void 0),
        (0, i._)([(0, y.r)('urlKey')], O.prototype, 'readUrlKey', null),
        (0, i._)([(0, h.Cb)()], O.prototype, 'user', void 0),
        (0, i._)([(0, y.r)('user')], O.prototype, 'readUser', null),
        (0, i._)([(0, h.Cb)()], O.prototype, 'useStandardizedQuery', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'useVectorBasemaps', void 0),
        (0, i._)([(0, h.Cb)()], O.prototype, 'vectorBasemapGalleryGroupQuery', void 0),
        (O = s = (0, i._)([(0, f.j)('esri.portal.Portal')], O));
      const x = O;
    },
    91091: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => u });
      var s = r(29768),
        i = r(60991),
        o = r(74673),
        n = r(34250),
        a = (r(76506), r(91306), r(92143), r(17533));
      r(81172),
        r(71552),
        r(31450),
        r(40642),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(26341);
      let l = class extends o.a {
        constructor(e) {
          super(e),
            (this.created = null),
            (this.id = null),
            (this.portal = null),
            (this.title = null),
            (this.username = null);
        }
        get url() {
          const e = this.get('portal.restUrl');
          return e ? `${e}/content/users/${this.username}/${this.id}` : null;
        }
        toJSON() {
          throw new i.Z(
            'internal:not-yet-implemented',
            'PortalFolder.toJSON is not yet implemented',
          );
        }
      };
      (0, s._)([(0, n.Cb)({ type: Date })], l.prototype, 'created', void 0),
        (0, s._)([(0, n.Cb)()], l.prototype, 'id', void 0),
        (0, s._)([(0, n.Cb)()], l.prototype, 'portal', void 0),
        (0, s._)([(0, n.Cb)()], l.prototype, 'title', void 0),
        (0, s._)([(0, n.Cb)({ readOnly: !0 })], l.prototype, 'url', null),
        (0, s._)([(0, n.Cb)()], l.prototype, 'username', void 0),
        (l = (0, s._)([(0, a.j)('esri.portal.PortalFolder')], l));
      const u = l;
    },
    58943: (e, t, r) => {
      'use strict';
      r.r(t), r.d(t, { default: () => p });
      var s = r(29768),
        i = r(60991),
        o = r(74673),
        n = r(34250),
        a = (r(76506), r(91306)),
        l = (r(92143), r(17533)),
        u = r(67477);
      r(81172),
        r(71552),
        r(31450),
        r(40642),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(26341),
        r(57251),
        r(21801),
        r(73796),
        r(97714),
        r(60947),
        r(2906),
        r(91597),
        r(86787),
        r(35132),
        r(89623);
      let c = class extends o.a {
        constructor(e) {
          super(e),
            (this.access = null),
            (this.created = null),
            (this.description = null),
            (this.id = null),
            (this.isInvitationOnly = !1),
            (this.modified = null),
            (this.owner = null),
            (this.portal = null),
            (this.snippet = null),
            (this.sortField = null),
            (this.sortOrder = null),
            (this.tags = null),
            (this.title = null);
        }
        get thumbnailUrl() {
          const e = this.url,
            t = this.thumbnail;
          return e && t ? this.portal._normalizeUrl(`${e}/info/${t}?f=json`) : null;
        }
        get url() {
          const e = this.get('portal.restUrl');
          return e ? e + '/community/groups/' + this.id : null;
        }
        fetchCategorySchema(e) {
          return this.portal._request(this.url + '/categorySchema', e).then((t) => {
            const r = t.categorySchema || [];
            return r.some((e) => 'contentCategorySetsGroupQuery.LivingAtlas' === e.source)
              ? this._fetchCategorySchemaSet('LivingAtlas', e)
              : r;
          });
        }
        fetchMembers(e) {
          return this.portal._request(this.url + '/users', e);
        }
        getThumbnailUrl(e) {
          let t = this.thumbnailUrl;
          return t && e && (t += `&w=${e}`), t;
        }
        toJSON() {
          throw new i.Z(
            'internal:not-yet-implemented',
            'PortalGroup.toJSON is not yet implemented',
          );
        }
        queryItems(e, t) {
          let r = (0, a.e)(u.Z, e);
          return parseFloat(this.portal.currentVersion) > 5
            ? ((r = r || new u.Z()),
              this.portal._queryPortal(`/content/groups/${this.id}/search`, r, 'PortalItem', t))
            : ((r = r ? r.clone() : new u.Z()),
              (r.query = 'group:' + this.id + (r.query ? ' ' + r.query : '')),
              this.portal.queryItems(r, t));
        }
        _fetchCategorySchemaSet(e, t) {
          return this.portal
            ._fetchSelf(this.portal.authMode, !0, t)
            .then((e) => {
              const r = e.contentCategorySetsGroupQuery;
              if (r) {
                const e = new u.Z();
                return (
                  (e.disableExtraQuery = !0),
                  (e.num = 1),
                  (e.query = r),
                  this.portal.queryGroups(e, t)
                );
              }
              throw new i.Z(
                'portal-group:fetchCategorySchema',
                'contentCategorySetsGroupQuery value not found',
              );
            })
            .then((r) => {
              if (r.total) {
                const s = r.results[0],
                  i = new u.Z();
                return (i.num = 1), (i.query = `typekeywords:"${e}"`), s.queryItems(i, t);
              }
              throw new i.Z(
                'portal-group:fetchCategorySchema',
                'contentCategorySetsGroupQuery group not found',
              );
            })
            .then((e) =>
              e.total
                ? e.results[0].fetchData('json', t).then((e) => {
                    const t = e && e.categorySchema;
                    return t && t.length ? t : [];
                  })
                : [],
            );
        }
      };
      (0, s._)([(0, n.Cb)()], c.prototype, 'access', void 0),
        (0, s._)([(0, n.Cb)({ type: Date })], c.prototype, 'created', void 0),
        (0, s._)([(0, n.Cb)()], c.prototype, 'description', void 0),
        (0, s._)([(0, n.Cb)()], c.prototype, 'id', void 0),
        (0, s._)([(0, n.Cb)()], c.prototype, 'isInvitationOnly', void 0),
        (0, s._)([(0, n.Cb)({ type: Date })], c.prototype, 'modified', void 0),
        (0, s._)([(0, n.Cb)()], c.prototype, 'owner', void 0),
        (0, s._)([(0, n.Cb)()], c.prototype, 'portal', void 0),
        (0, s._)([(0, n.Cb)()], c.prototype, 'snippet', void 0),
        (0, s._)([(0, n.Cb)()], c.prototype, 'sortField', void 0),
        (0, s._)([(0, n.Cb)()], c.prototype, 'sortOrder', void 0),
        (0, s._)([(0, n.Cb)()], c.prototype, 'tags', void 0),
        (0, s._)([(0, n.Cb)()], c.prototype, 'thumbnail', void 0),
        (0, s._)([(0, n.Cb)({ readOnly: !0 })], c.prototype, 'thumbnailUrl', null),
        (0, s._)([(0, n.Cb)()], c.prototype, 'title', void 0),
        (0, s._)([(0, n.Cb)({ readOnly: !0 })], c.prototype, 'url', null),
        (c = (0, s._)([(0, l.j)('esri.portal.PortalGroup')], c));
      const p = c;
    },
    56420: (e, t, r) => {
      'use strict';
      r.r(t), r.d(t, { default: () => v });
      var s,
        i = r(29768),
        o = r(73173),
        n = r(60991),
        a = r(74673),
        l = r(76506),
        u = r(22739),
        c = r(32101),
        p = r(34250),
        d = r(91306),
        h = (r(92143), r(97714)),
        m = r(17533),
        y = r(21801),
        f = r(49900),
        g = r(74742),
        b = r(28239);
      r(31450),
        r(71552),
        r(82058),
        r(88762),
        r(50406),
        r(81172),
        r(40642),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(26341),
        r(20543),
        r(73796),
        r(60947),
        r(2906),
        r(91597),
        r(86787),
        r(35132),
        r(89623),
        r(66284),
        r(33921),
        r(57251),
        r(3482),
        r(67477),
        r(78533),
        r(74653),
        r(91091),
        r(58943);
      let _ = (s = class extends (0, a.J)(u.L) {
        constructor(e) {
          super(e),
            (this.access = null),
            (this.accessInformation = null),
            (this.apiKey = null),
            (this.applicationProxies = null),
            (this.avgRating = null),
            (this.categories = null),
            (this.created = null),
            (this.culture = null),
            (this.description = null),
            (this.extent = null),
            (this.groupCategories = null),
            (this.id = null),
            (this.itemControl = null),
            (this.licenseInfo = null),
            (this.modified = null),
            (this.name = null),
            (this.numComments = null),
            (this.numRatings = null),
            (this.numViews = null),
            (this.owner = null),
            (this.ownerFolder = null),
            (this.portal = null),
            (this.screenshots = null),
            (this.size = null),
            (this.snippet = null),
            (this.sourceJSON = null),
            (this.tags = null),
            (this.title = null),
            (this.type = null),
            (this.typeKeywords = null),
            (this.url = null);
        }
        static from(e) {
          return (0, d.k)(s, e);
        }
        destroy() {
          this.portal = null;
        }
        get displayName() {
          const e = this.type,
            t = this.typeKeywords || [];
          let r = e;
          return (
            'Feature Service' === e || 'Feature Collection' === e
              ? (r =
                  t.indexOf('Table') > -1
                    ? 'Table'
                    : t.indexOf('Route Layer') > -1
                    ? 'Route Layer'
                    : t.indexOf('Markup') > -1
                    ? 'Markup'
                    : 'Feature Layer')
              : 'Image Service' === e
              ? (r =
                  t.indexOf('Elevation 3D Layer') > -1
                    ? 'Elevation Layer'
                    : t.indexOf('Tiled Imagery') > -1
                    ? 'Tiled Imagery Layer'
                    : 'Imagery Layer')
              : 'Scene Service' === e
              ? (r = 'Scene Layer')
              : 'Scene Package' === e
              ? (r = 'Scene Layer Package')
              : 'Stream Service' === e
              ? (r = 'Feature Layer')
              : 'Geoprocessing Service' === e && this.portal && this.portal.isPortal
              ? (r = t.indexOf('Web Tool') > -1 ? 'Tool' : 'Geoprocessing Service')
              : 'Geocoding Service' === e
              ? (r = 'Locator')
              : 'Geoenrichment Service' === e
              ? (r = 'GeoEnrichment Service')
              : 'Microsoft Powerpoint' === e
              ? (r = 'Microsoft PowerPoint')
              : 'GeoJson' === e
              ? (r = 'GeoJSON')
              : 'Globe Service' === e
              ? (r = 'Globe Layer')
              : 'Vector Tile Service' === e
              ? (r = 'Tile Layer')
              : 'netCDF' === e
              ? (r = 'NetCDF')
              : 'Map Service' === e
              ? (r =
                  -1 === t.indexOf('Spatiotemporal') &&
                  (t.indexOf('Hosted Service') > -1 || t.indexOf('Tiled') > -1) &&
                  -1 === t.indexOf('Relational')
                    ? 'Tile Layer'
                    : 'Map Image Layer')
              : e && e.toLowerCase().indexOf('add in') > -1
              ? (r = e.replace(/(add in)/gi, 'Add-In'))
              : 'datastore catalog service' === e
              ? (r = 'Big Data File Share')
              : 'Compact Tile Package' === e
              ? (r = 'Tile Package (tpkx)')
              : 'OGCFeatureServer' === e && (r = 'OGC Feature Layer'),
            r
          );
        }
        readExtent(e) {
          return e && e.length ? new y.Z(e[0][0], e[0][1], e[1][0], e[1][1]) : null;
        }
        get iconUrl() {
          const e = (this.type && this.type.toLowerCase()) || '',
            t = this.typeKeywords || [];
          let r,
            s = !1,
            i = !1,
            n = !1,
            a = !1,
            l = !1,
            u = !1;
          return (
            e.indexOf('service') > 0 ||
            'feature collection' === e ||
            'kml' === e ||
            'wms' === e ||
            'wmts' === e ||
            'wfs' === e
              ? ((s = t.indexOf('Hosted Service') > -1),
                'feature service' === e || 'feature collection' === e || 'kml' === e || 'wfs' === e
                  ? ((i = t.indexOf('Table') > -1),
                    (n = t.indexOf('Route Layer') > -1),
                    (a = t.indexOf('Markup') > -1),
                    (l = -1 !== t.indexOf('Spatiotemporal')),
                    (u = -1 !== t.indexOf('UtilityNetwork')),
                    (r =
                      l && i
                        ? 'spatiotemporaltable'
                        : i
                        ? 'table'
                        : n
                        ? 'routelayer'
                        : a
                        ? 'markup'
                        : l
                        ? 'spatiotemporal'
                        : s
                        ? 'featureshosted'
                        : u
                        ? 'utilitynetwork'
                        : 'features'))
                  : (r =
                      'map service' === e || 'wms' === e || 'wmts' === e
                        ? s || t.indexOf('Tiled') > -1 || 'wmts' === e
                          ? 'maptiles'
                          : 'mapimages'
                        : 'scene service' === e
                        ? t.indexOf('Line') > -1
                          ? 'sceneweblayerline'
                          : t.indexOf('3DObject') > -1
                          ? 'sceneweblayermultipatch'
                          : t.indexOf('Point') > -1
                          ? 'sceneweblayerpoint'
                          : t.indexOf('IntegratedMesh') > -1
                          ? 'sceneweblayermesh'
                          : t.indexOf('PointCloud') > -1
                          ? 'sceneweblayerpointcloud'
                          : t.indexOf('Polygon') > -1
                          ? 'sceneweblayerpolygon'
                          : t.indexOf('Building') > -1
                          ? 'sceneweblayerbuilding'
                          : t.indexOf('Voxel') > -1
                          ? 'sceneweblayervoxel'
                          : 'sceneweblayer'
                        : 'image service' === e
                        ? t.indexOf('Elevation 3D Layer') > -1
                          ? 'elevationlayer'
                          : t.indexOf('Tiled Imagery') > -1
                          ? 'tiledimagerylayer'
                          : 'imagery'
                        : 'stream service' === e
                        ? 'streamlayer'
                        : 'vector tile service' === e
                        ? 'vectortile'
                        : 'datastore catalog service' === e
                        ? 'datastorecollection'
                        : 'geocoding service' === e
                        ? 'geocodeservice'
                        : 'geoprocessing service' === e &&
                          t.indexOf('Web Tool') > -1 &&
                          this.portal &&
                          this.portal.isPortal
                        ? 'tool'
                        : 'layers'))
              : (r =
                  'web map' === e || 'cityengine web scene' === e
                    ? 'maps'
                    : 'web scene' === e
                    ? t.indexOf('ViewingMode-Local') > -1
                      ? 'webscenelocal'
                      : 'websceneglobal'
                    : 'web mapping application' === e ||
                      'mobile application' === e ||
                      'application' === e ||
                      'operation view' === e ||
                      'desktop application' === e
                    ? 'apps'
                    : 'map document' === e ||
                      'map package' === e ||
                      'published map' === e ||
                      'scene document' === e ||
                      'globe document' === e ||
                      'basemap package' === e ||
                      'mobile basemap package' === e ||
                      'mobile map package' === e ||
                      'project package' === e ||
                      'project template' === e ||
                      'pro map' === e ||
                      'layout' === e ||
                      ('layer' === e && t.indexOf('ArcGIS Pro') > -1) ||
                      ('explorer map' === e && t.indexOf('Explorer Document'))
                    ? 'mapsgray'
                    : 'service definition' === e ||
                      'csv' === e ||
                      'shapefile' === e ||
                      'cad drawing' === e ||
                      'geojson' === e ||
                      '360 vr experience' === e ||
                      'netcdf' === e ||
                      'administrative report' === e
                    ? 'datafiles'
                    : 'explorer add in' === e ||
                      'desktop add in' === e ||
                      'windows viewer add in' === e ||
                      'windows viewer configuration' === e
                    ? 'appsgray'
                    : 'arcgis pro add in' === e || 'arcgis pro configuration' === e
                    ? 'addindesktop'
                    : 'rule package' === e ||
                      'file geodatabase' === e ||
                      'sqlite geodatabase' === e ||
                      'csv collection' === e ||
                      'kml collection' === e ||
                      'windows mobile package' === e ||
                      'map template' === e ||
                      'desktop application template' === e ||
                      'gml' === e ||
                      'arcpad package' === e ||
                      'code sample' === e ||
                      'form' === e ||
                      'document link' === e ||
                      'earth configuration' === e ||
                      'operations dashboard add in' === e ||
                      'rules package' === e ||
                      'image' === e ||
                      'workflow manager package' === e ||
                      ('explorer map' === e && t.indexOf('Explorer Mapping Application') > -1) ||
                      t.indexOf('Document') > -1
                    ? 'datafilesgray'
                    : 'network analysis service' === e ||
                      'geoprocessing service' === e ||
                      'geodata service' === e ||
                      'geometry service' === e ||
                      'geoprocessing package' === e ||
                      'locator package' === e ||
                      'geoprocessing sample' === e ||
                      'workflow manager service' === e
                    ? 'toolsgray'
                    : 'layer' === e || 'layer package' === e || 'explorer layer' === e
                    ? 'layersgray'
                    : 'scene package' === e
                    ? 'scenepackage'
                    : 'mobile scene package' === e
                    ? 'mobilescenepackage'
                    : 'tile package' === e || 'compact tile package' === e
                    ? 'tilepackage'
                    : 'task file' === e
                    ? 'taskfile'
                    : 'report template' === e
                    ? 'report-template'
                    : 'statistical data collection' === e
                    ? 'statisticaldatacollection'
                    : 'insights workbook' === e
                    ? 'workbook'
                    : 'insights model' === e
                    ? 'insightsmodel'
                    : 'insights page' === e
                    ? 'insightspage'
                    : 'insights theme' === e
                    ? 'insightstheme'
                    : 'hub initiative' === e
                    ? 'hubinitiative'
                    : 'hubpage' === e
                    ? 'hubpage'
                    : 'hub event' === e
                    ? 'hubevent'
                    : 'hub site application' === e
                    ? 'hubsite'
                    : 'relational database connection' === e
                    ? 'relationaldatabaseconnection'
                    : 'big data file share' === e
                    ? 'datastorecollection'
                    : 'image collection' === e
                    ? 'imagecollection'
                    : 'style' === e
                    ? 'style'
                    : 'desktop style' === e
                    ? 'desktopstyle'
                    : 'dashboard' === e
                    ? 'dashboard'
                    : 'raster function template' === e
                    ? 'rasterprocessingtemplate'
                    : 'vector tile package' === e
                    ? 'vectortilepackage'
                    : 'ortho mapping project' === e
                    ? 'orthomappingproject'
                    : 'ortho mapping template' === e
                    ? 'orthomappingtemplate'
                    : 'solution' === e
                    ? 'solutions'
                    : 'geopackage' === e
                    ? 'geopackage'
                    : 'deep learning package' === e
                    ? 'deeplearningpackage'
                    : 'real time analytic' === e
                    ? 'realtimeanalytics'
                    : 'big data analytic' === e
                    ? 'bigdataanalytics'
                    : 'feed' === e
                    ? 'feed'
                    : 'excalibur imagery project' === e
                    ? 'excaliburimageryproject'
                    : 'notebook' === e
                    ? 'notebook'
                    : 'storymap' === e
                    ? 'storymap'
                    : 'survey123 add in' === e
                    ? 'survey123addin'
                    : 'mission' === e
                    ? 'mission'
                    : 'mission report' === e
                    ? 'missionreport'
                    : 'quickcapture project' === e
                    ? 'quickcaptureproject'
                    : 'pro report' === e
                    ? 'proreport'
                    : 'urban model' === e
                    ? 'urbanmodel'
                    : 'web experience' === e
                    ? 'experiencebuilder'
                    : 'web experience template' === e
                    ? 'webexperiencetemplate'
                    : 'workflow' === e
                    ? 'workflow'
                    : 'insights script' === e
                    ? 'insightsscript'
                    : 'kernel gateway connection' === e
                    ? 'kernelgatewayconnection'
                    : 'hub initiative template' === e
                    ? 'hubinitiativetemplate'
                    : 'storymap theme' === e
                    ? 'storymaptheme'
                    : 'knowledge graph' === e
                    ? 'knowledgegraph'
                    : 'native application' === e
                    ? 'nativeapp'
                    : 'native application installer' === e
                    ? 'nativeappinstaller'
                    : 'link chart' === e
                    ? 'linkchart'
                    : 'investigation' === e
                    ? 'investigation'
                    : 'ogcfeatureserver' === e
                    ? 'features'
                    : 'pro project' === e
                    ? 'proproject'
                    : 'insights workbook package' === e
                    ? 'insightsworkbookpackage'
                    : 'maps'),
            r ? (0, o.g)('esri/images/portal/' + r + '16.png') : null
          );
        }
        get isLayer() {
          return (
            [
              'Map Service',
              'Feature Service',
              'Feature Collection',
              'Scene Service',
              'Image Service',
              'Stream Service',
              'Vector Tile Service',
              'WMTS',
              'WMS',
            ].indexOf(this.type) > -1
          );
        }
        get itemUrl() {
          const e = this.get('portal.restUrl');
          return e ? e + '/content/items/' + this.id : null;
        }
        get thumbnailUrl() {
          const e = this.itemUrl,
            t = this.thumbnail;
          return e && t ? this.portal._normalizeUrl(`${e}/info/${t}?f=json`) : null;
        }
        get userItemUrl() {
          const e = this.get('portal.restUrl');
          if (!e) return null;
          const t = this.owner || this.get('portal.user.username');
          return t
            ? `${e}/content/users/${this.ownerFolder ? `${t}/${this.ownerFolder}` : t}/items/${
                this.id
              }`
            : null;
        }
        load(e) {
          this.portal || (this.portal = f.Z.getDefault());
          const t = this.portal
            .load(e)
            .then(() =>
              this.sourceJSON
                ? this.sourceJSON
                : this.id && this.itemUrl
                ? this.portal._request(this.itemUrl, {
                    signal: (0, l.i)(e) ? e.signal : null,
                    query: { token: this.apiKey },
                  })
                : {},
            )
            .then((e) => {
              (this.sourceJSON = e), this.read(e);
            });
          return this.addResolvingPromise(t), Promise.resolve(this);
        }
        addRating(e) {
          const t = { method: 'post', query: {} };
          return (
            e instanceof b.Z && (e = e.rating),
            isNaN(e) || 'number' != typeof e || (t.query.rating = e),
            this.portal
              ._request(this.itemUrl + '/addRating', t)
              .then(() => new b.Z({ rating: e, created: new Date() }))
          );
        }
        clone() {
          const e = {
            access: this.access,
            accessInformation: this.accessInformation,
            applicationProxies: (0, l.d9)(this.applicationProxies),
            avgRating: this.avgRating,
            categories: (0, l.d9)(this.categories),
            created: (0, l.d9)(this.created),
            culture: this.culture,
            description: this.description,
            extent: (0, l.d9)(this.extent),
            groupCategories: (0, l.d9)(this.groupCategories),
            id: this.id,
            itemControl: this.itemControl,
            licenseInfo: this.licenseInfo,
            modified: (0, l.d9)(this.modified),
            name: this.name,
            numComments: this.numComments,
            numRatings: this.numRatings,
            numViews: this.numViews,
            owner: this.owner,
            ownerFolder: this.ownerFolder,
            portal: this.portal,
            screenshots: (0, l.d9)(this.screenshots),
            size: this.size,
            snippet: this.snippet,
            tags: (0, l.d9)(this.tags),
            thumbnail: this.thumbnail,
            title: this.title,
            type: this.type,
            typeKeywords: (0, l.d9)(this.typeKeywords),
            url: this.url,
          };
          return (
            this.loaded && (e.loadStatus = 'loaded'), new s({ sourceJSON: this.sourceJSON }).set(e)
          );
        }
        createPostQuery() {
          const e = this.toJSON();
          for (const t in e)
            'tags' === t && null !== e[t] && (e[t] = e[t].join(', ')),
              'typeKeywords' === t && null !== e[t] && (e[t] = e[t].join(', ')),
              'extent' === t && e[t] && (e[t] = JSON.stringify(e[t]));
          return e;
        }
        deleteRating() {
          return this.portal
            ._request(this.itemUrl + '/deleteRating', { method: 'post' })
            .then(() => {});
        }
        fetchData(e = 'json', t) {
          return this.portal._request(this.itemUrl + '/data', {
            responseType: e,
            ...t,
            query: { token: this.apiKey },
          });
        }
        fetchRating(e) {
          return this.portal
            ._request(this.itemUrl + '/rating', { query: { token: this.apiKey }, ...e })
            .then((e) =>
              null != e.rating ? ((e.created = new Date(e.created)), new b.Z(e)) : null,
            );
        }
        fetchRelatedItems(e, t) {
          return this.portal._requestToTypedArray(
            this.itemUrl + '/relatedItems',
            { query: { ...e, token: this.apiKey }, ...t },
            s,
          );
        }
        getThumbnailUrl(e) {
          let t = this.thumbnailUrl;
          return t && e && (t += `&w=${e}`), t;
        }
        reload() {
          return this.portal
            ._request(this.itemUrl, { cacheBust: !0, query: { token: this.apiKey } })
            .then((e) => ((this.sourceJSON = e), this.read(e), this));
        }
        update(e) {
          return this.id
            ? this.load()
                .then(() => this.portal._signIn())
                .then(() => {
                  const t = e && e.data,
                    r = { method: 'post' };
                  r.query = this.createPostQuery();
                  for (const e in r.query) null === r.query[e] && (r.query[e] = '');
                  return (
                    (r.query.clearEmptyFields = !0),
                    null != t &&
                      ('string' == typeof t
                        ? (r.query.text = t)
                        : 'object' == typeof t && (r.query.text = JSON.stringify(t))),
                    this.portal._request(`${this.userItemUrl}/update`, r).then(() => this.reload())
                  );
                })
            : Promise.reject(
                new n.Z(
                  'portal:item-does-not-exist',
                  'The item does not exist yet and cannot be updated',
                ),
              );
        }
        updateThumbnail(e) {
          return this.id
            ? this.load()
                .then(() => this.portal._signIn())
                .then(() => {
                  const t = e.thumbnail,
                    r = e.filename,
                    s = { method: 'post' };
                  if ('string' == typeof t)
                    (0, c.HK)(t) ? (s.query = { data: t }) : (s.query = { url: (0, c.hF)(t) }),
                      (0, l.i)(r) && (s.query.filename = r);
                  else {
                    const e = new FormData();
                    (0, l.i)(r) ? e.append('file', t, r) : e.append('file', t), (s.body = e);
                  }
                  return this.portal
                    ._request(`${this.userItemUrl}/updateThumbnail`, s)
                    .then(() => this.reload());
                })
            : Promise.reject(
                new n.Z(
                  'portal:item-does-not-exist',
                  'The item does not exist yet and cannot be updated',
                ),
              );
        }
        async fetchResources(e = {}, t) {
          return (await r.e(3754).then(r.bind(r, 3754))).fetchResources(this, e, t);
        }
        async addResource(e, t, s) {
          const i = await r.e(3754).then(r.bind(r, 3754));
          return (e.portalItem = this), i.addOrUpdateResource(e, 'add', t, s);
        }
        async removeResource(e, t) {
          const s = await r.e(3754).then(r.bind(r, 3754));
          if (e.portalItem && e.portalItem.itemUrl !== this.itemUrl)
            throw new n.Z(
              'removeresource:portal-item-mismatch',
              'The portal item associated with the provided resource does not match the item',
            );
          return s.removeResource(this, e, t);
        }
        async removeAllResources(e) {
          return (await r.e(3754).then(r.bind(r, 3754))).removeAllResources(this, e);
        }
        resourceFromPath(e) {
          return new g.Z({ portalItem: this, path: e });
        }
        toJSON() {
          const e = this.extent,
            t = {
              created: this.created && this.created.getTime(),
              description: this.description,
              extent: e && [
                [e.xmin, e.ymin],
                [e.xmax, e.ymax],
              ],
              id: this.id,
              modified: this.modified && this.modified.getTime(),
              name: this.name,
              owner: this.owner,
              ownerFolder: this.ownerFolder,
              snippet: this.snippet,
              tags: this.tags,
              thumbnail: this.thumbnail,
              title: this.title,
              type: this.type,
              typeKeywords: this.typeKeywords,
              url: this.url,
            };
          return (0, l.yd)(t);
        }
        static fromJSON(e) {
          if (!e) return null;
          if (e.declaredClass) throw new Error('JSON object is already hydrated');
          return new s({ sourceJSON: e });
        }
        _getPostQuery() {
          const e = this.toJSON();
          for (const t in e)
            'tags' === t && null !== e[t] && (e[t] = e[t].join(', ')),
              'typeKeywords' === t && null !== e[t] && (e[t] = e[t].join(', ')),
              'extent' === t && e[t] && (e[t] = JSON.stringify(e[t]));
          return e;
        }
      });
      (0, i._)(
        [(0, p.Cb)({ type: ['private', 'shared', 'org', 'public'] })],
        _.prototype,
        'access',
        void 0,
      ),
        (0, i._)([(0, p.Cb)()], _.prototype, 'accessInformation', void 0),
        (0, i._)([(0, p.Cb)({ type: String })], _.prototype, 'apiKey', void 0),
        (0, i._)(
          [(0, p.Cb)({ json: { read: { source: 'appProxies' } } })],
          _.prototype,
          'applicationProxies',
          void 0,
        ),
        (0, i._)([(0, p.Cb)()], _.prototype, 'avgRating', void 0),
        (0, i._)([(0, p.Cb)()], _.prototype, 'categories', void 0),
        (0, i._)([(0, p.Cb)({ type: Date })], _.prototype, 'created', void 0),
        (0, i._)([(0, p.Cb)()], _.prototype, 'culture', void 0),
        (0, i._)([(0, p.Cb)()], _.prototype, 'description', void 0),
        (0, i._)([(0, p.Cb)({ readOnly: !0 })], _.prototype, 'displayName', null),
        (0, i._)([(0, p.Cb)({ type: y.Z })], _.prototype, 'extent', void 0),
        (0, i._)([(0, h.r)('extent')], _.prototype, 'readExtent', null),
        (0, i._)([(0, p.Cb)()], _.prototype, 'groupCategories', void 0),
        (0, i._)([(0, p.Cb)({ readOnly: !0 })], _.prototype, 'iconUrl', null),
        (0, i._)([(0, p.Cb)()], _.prototype, 'id', void 0),
        (0, i._)([(0, p.Cb)({ readOnly: !0 })], _.prototype, 'isLayer', null),
        (0, i._)([(0, p.Cb)()], _.prototype, 'itemControl', void 0),
        (0, i._)([(0, p.Cb)({ readOnly: !0 })], _.prototype, 'itemUrl', null),
        (0, i._)([(0, p.Cb)()], _.prototype, 'licenseInfo', void 0),
        (0, i._)([(0, p.Cb)({ type: Date })], _.prototype, 'modified', void 0),
        (0, i._)([(0, p.Cb)()], _.prototype, 'name', void 0),
        (0, i._)([(0, p.Cb)()], _.prototype, 'numComments', void 0),
        (0, i._)([(0, p.Cb)()], _.prototype, 'numRatings', void 0),
        (0, i._)([(0, p.Cb)()], _.prototype, 'numViews', void 0),
        (0, i._)([(0, p.Cb)()], _.prototype, 'owner', void 0),
        (0, i._)([(0, p.Cb)()], _.prototype, 'ownerFolder', void 0),
        (0, i._)([(0, p.Cb)({ type: f.Z })], _.prototype, 'portal', void 0),
        (0, i._)([(0, p.Cb)()], _.prototype, 'screenshots', void 0),
        (0, i._)([(0, p.Cb)()], _.prototype, 'size', void 0),
        (0, i._)([(0, p.Cb)()], _.prototype, 'snippet', void 0),
        (0, i._)([(0, p.Cb)()], _.prototype, 'sourceJSON', void 0),
        (0, i._)([(0, p.Cb)()], _.prototype, 'tags', void 0),
        (0, i._)([(0, p.Cb)()], _.prototype, 'thumbnail', void 0),
        (0, i._)([(0, p.Cb)({ readOnly: !0 })], _.prototype, 'thumbnailUrl', null),
        (0, i._)([(0, p.Cb)()], _.prototype, 'title', void 0),
        (0, i._)([(0, p.Cb)()], _.prototype, 'type', void 0),
        (0, i._)([(0, p.Cb)()], _.prototype, 'typeKeywords', void 0),
        (0, i._)([(0, p.Cb)()], _.prototype, 'url', void 0),
        (0, i._)([(0, p.Cb)({ readOnly: !0 })], _.prototype, 'userItemUrl', null),
        (_ = s = (0, i._)([(0, m.j)('esri.portal.PortalItem')], _));
      const v = _;
    },
    74742: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => m });
      var s = r(29768),
        i = r(21972),
        o = r(60991),
        n = r(92143),
        a = r(76506),
        l = r(32101),
        u = r(34250),
        c = r(86787),
        p = r(17533);
      r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(81172),
        r(71552),
        r(31450),
        r(40642),
        r(91306);
      const d = n.L.getLogger('esri.portal.PortalItemResource');
      let h = class extends i.Z {
        constructor(e) {
          super(e), (this.portalItem = null);
        }
        normalizeCtorArgs(e) {
          return e && e.portalItem && e.path
            ? { ...e, path: this.normalizePath(e.path, e.portalItem) }
            : e;
        }
        set path(e) {
          (0, a.i)(e) && (0, l.YP)(e)
            ? d.error(
                'portalitemresource:invalid-path',
                'A portal item resource path must be relative',
              )
            : this._set('path', e);
        }
        _castPath(e) {
          return this.normalizePath(e, this.portalItem);
        }
        get url() {
          return this.portalItem && this.path
            ? `${this.portalItem.itemUrl}/resources/${this.path}`
            : null;
        }
        get itemRelativeUrl() {
          return this.portalItem && this.path ? `./resources/${this.path}` : null;
        }
        fetch(e = 'json', t) {
          const r = this.url;
          if ((0, a.b)(r))
            throw new o.Z(
              'portal-item-resource:fetch',
              'Portal item resource does not refer to a valid item or path',
            );
          return this.portalItem.portal._request(r, {
            responseType: e,
            query: { token: this.portalItem.apiKey },
            signal: (0, a.c)(t, 'signal'),
          });
        }
        async update(e, t) {
          return (await r.e(3754).then(r.bind(r, 3754))).addOrUpdateResource(this, 'update', e, t);
        }
        hasPath() {
          return (0, a.i)(this.path);
        }
        normalizePath(e, t) {
          return (0, a.b)(e)
            ? e
            : ((e = e.replace(/^\/+/, '')),
              (0, a.i)(t) && (0, l.YP)(e) && (e = (0, l.PF)(e, t.itemUrl)),
              e.replace(/^\/+/, '').replace(/^(\.\/)?resources\//, ''));
        }
      };
      (0, s._)([(0, u.Cb)()], h.prototype, 'portalItem', void 0),
        (0, s._)([(0, u.Cb)({ type: String, value: null })], h.prototype, 'path', null),
        (0, s._)([(0, c.p)('path')], h.prototype, '_castPath', null),
        (0, s._)([(0, u.Cb)({ type: String, readOnly: !0 })], h.prototype, 'url', null),
        (0, s._)([(0, u.Cb)({ type: String, readOnly: !0 })], h.prototype, 'itemRelativeUrl', null),
        (h = (0, s._)([(0, p.j)('esri.portal.PortalItemResource')], h));
      const m = h;
    },
    67477: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => y });
      var s,
        i = r(29768),
        o = r(21972),
        n = r(57251),
        a = r(76506),
        l = r(34250),
        u = (r(91306), r(92143), r(17533)),
        c = r(21801),
        p = r(60947),
        d = r(35132);
      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(73796),
        r(74673),
        r(26341),
        r(97714),
        r(91597),
        r(86787),
        r(2906),
        r(89623);
      const h = new n.J({
        avgRating: 'avg-rating',
        numRatings: 'num-ratings',
        numComments: 'num-comments',
        numViews: 'num-views',
      });
      let m = (s = class extends o.Z {
        constructor(e) {
          super(e),
            (this.categories = null),
            (this.disableExtraQuery = !1),
            (this.extent = null),
            (this.num = 10),
            (this.query = null),
            (this.sortField = null),
            (this.start = 1);
        }
        get sortOrder() {
          return this._get('sortOrder') || 'asc';
        }
        set sortOrder(e) {
          ('asc' !== e && 'desc' !== e) || this._set('sortOrder', e);
        }
        clone() {
          return new s({
            categories: this.categories ? (0, a.d9)(this.categories) : null,
            disableExtraQuery: this.disableExtraQuery,
            extent: this.extent ? this.extent.clone() : null,
            num: this.num,
            query: this.query,
            sortField: this.sortField,
            sortOrder: this.sortOrder,
            start: this.start,
          });
        }
        toRequestOptions(e, t) {
          let r, s;
          if (
            (this.categories &&
              (r = this.categories.map((e) => (Array.isArray(e) ? JSON.stringify(e) : e))),
            this.extent)
          ) {
            const e = (0, d.iV)(this.extent, p.Z.WGS84);
            e && (s = `${e.xmin},${e.ymin},${e.xmax},${e.ymax}`);
          }
          let i = this.query;
          !this.disableExtraQuery && e.extraQuery && (i = '(' + i + ')' + e.extraQuery);
          const o = {
            categories: r,
            bbox: s,
            q: i,
            num: this.num,
            sortField: null,
            sortOrder: null,
            start: this.start,
          };
          return (
            this.sortField &&
              ((o.sortField = this.sortField
                .split(',')
                .map((e) => h.toJSON(e.trim()))
                .join(',')),
              (o.sortOrder = this.sortOrder)),
            { query: { ...t, ...o } }
          );
        }
      });
      (0, i._)([(0, l.Cb)()], m.prototype, 'categories', void 0),
        (0, i._)([(0, l.Cb)()], m.prototype, 'disableExtraQuery', void 0),
        (0, i._)([(0, l.Cb)({ type: c.Z })], m.prototype, 'extent', void 0),
        (0, i._)([(0, l.Cb)()], m.prototype, 'num', void 0),
        (0, i._)([(0, l.Cb)()], m.prototype, 'query', void 0),
        (0, i._)([(0, l.Cb)()], m.prototype, 'sortField', void 0),
        (0, i._)([(0, l.Cb)()], m.prototype, 'sortOrder', null),
        (0, i._)([(0, l.Cb)()], m.prototype, 'start', void 0),
        (m = s = (0, i._)([(0, u.j)('esri.portal.PortalQueryParams')], m));
      const y = m;
    },
    78533: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => l });
      var s = r(29768),
        i = r(21972),
        o = r(34250),
        n = (r(76506), r(91306), r(92143), r(17533));
      r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(71552),
        r(31450),
        r(40642);
      let a = class extends i.Z {
        constructor(e) {
          super(e),
            (this.nextQueryParams = null),
            (this.queryParams = null),
            (this.results = null),
            (this.total = null);
        }
      };
      (0, s._)([(0, o.Cb)()], a.prototype, 'nextQueryParams', void 0),
        (0, s._)([(0, o.Cb)()], a.prototype, 'queryParams', void 0),
        (0, s._)([(0, o.Cb)()], a.prototype, 'results', void 0),
        (0, s._)([(0, o.Cb)()], a.prototype, 'total', void 0),
        (a = (0, s._)([(0, n.j)('esri.portal.PortalQueryResult')], a));
      const l = a;
    },
    28239: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => l });
      var s = r(29768),
        i = r(21972),
        o = r(34250),
        n = (r(76506), r(91306), r(92143), r(17533));
      r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(71552),
        r(31450),
        r(40642);
      let a = class extends i.Z {
        constructor(e) {
          super(e), (this.created = null), (this.rating = null);
        }
      };
      (0, s._)([(0, o.Cb)()], a.prototype, 'created', void 0),
        (0, s._)([(0, o.Cb)()], a.prototype, 'rating', void 0),
        (a = (0, s._)([(0, n.j)('esri.portal.PortalRating')], a));
      const l = a;
    },
    74653: (e, t, r) => {
      'use strict';
      r.r(t), r.d(t, { default: () => d });
      var s,
        i = r(29768),
        o = r(60991),
        n = r(74673),
        a = r(34250),
        l = (r(76506), r(91306), r(92143), r(17533)),
        u = r(91091),
        c = r(58943);
      r(81172),
        r(71552),
        r(31450),
        r(40642),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(26341),
        r(67477),
        r(57251),
        r(21801),
        r(73796),
        r(97714),
        r(60947),
        r(2906),
        r(91597),
        r(86787),
        r(35132),
        r(89623);
      let p = (s = class extends n.a {
        constructor(...e) {
          super(...e),
            (this.access = null),
            (this.created = null),
            (this.culture = null),
            (this.description = null),
            (this.email = null),
            (this.fullName = null),
            (this.modified = null),
            (this.orgId = null),
            (this.portal = null),
            (this.preferredView = null),
            (this.privileges = null),
            (this.region = null),
            (this.role = null),
            (this.roleId = null),
            (this.sourceJSON = null),
            (this.units = null),
            (this.username = null),
            (this.userType = null);
        }
        get thumbnailUrl() {
          const e = this.url,
            t = this.thumbnail;
          return e && t ? this.portal._normalizeUrl(`${e}/info/${t}?f=json`) : null;
        }
        get userContentUrl() {
          const e = this.get('portal.restUrl');
          return e ? `${e}/content/users/${this.username}` : null;
        }
        get url() {
          const e = this.get('portal.restUrl');
          return e ? `${e}/community/users/${this.username}` : null;
        }
        addItem(e) {
          const t = e && e.item,
            r = e && e.data,
            s = e && e.folder,
            i = { method: 'post' };
          t &&
            ((i.query = t.createPostQuery()),
            null != r &&
              ('string' == typeof r
                ? (i.query.text = r)
                : 'object' == typeof r && (i.query.text = JSON.stringify(r))));
          let o = this.userContentUrl;
          return (
            s && (o += '/' + ('string' == typeof s ? s : s.id)),
            this.portal
              ._request(o + '/addItem', i)
              .then(
                (e) => ((t.id = e.id), (t.portal = this.portal), t.loaded ? t.reload() : t.load()),
              )
          );
        }
        deleteItem(e) {
          let t = this.userContentUrl;
          return (
            e.ownerFolder && (t += '/' + e.ownerFolder),
            this.portal._request(t + `/items/${e.id}/delete`, { method: 'post' }).then(() => {
              (e.id = null), (e.portal = null);
            })
          );
        }
        deleteItems(e) {
          const t = this.userContentUrl + '/deleteItems',
            r = e.map((e) => e.id);
          if (r.length) {
            const s = { method: 'post', query: { items: r.join(',') } };
            return this.portal._request(t, s).then(() => {
              e.forEach((e) => {
                (e.id = null), (e.portal = null);
              });
            });
          }
          return Promise.resolve(void 0);
        }
        fetchFolders() {
          return this.portal._request(this.userContentUrl, { query: { num: 1 } }).then((e) => {
            let t;
            return (
              (t =
                e && e.folders
                  ? e.folders.map((e) => {
                      const t = u.Z.fromJSON(e);
                      return (t.portal = this.portal), t;
                    })
                  : []),
              t
            );
          });
        }
        fetchGroups() {
          return this.portal._request(this.url).then((e) => {
            let t;
            return (
              (t =
                e && e.groups
                  ? e.groups.map((e) => {
                      const t = c.default.fromJSON(e);
                      return (t.portal = this.portal), t;
                    })
                  : []),
              t
            );
          });
        }
        fetchItems(e) {
          e || (e = {});
          let t,
            s = this.userContentUrl;
          return (
            e.folder && (s += '/' + e.folder.id),
            Promise.resolve()
              .then(r.bind(r, 56420))
              .then(({ default: r }) => {
                t = r;
                const i = {
                  folders: !1,
                  num: e.num || 10,
                  start: e.start || 1,
                  sortField: e.sortField || 'created',
                  sortOrder: e.sortOrder || 'asc',
                };
                return this.portal._request(s, { query: i });
              })
              .then((e) => {
                let r;
                return e && e.items
                  ? ((r = e.items.map((e) => {
                      const r = t.fromJSON(e);
                      return (r.portal = this.portal), r;
                    })),
                    Promise.all(r.map((e) => e.load()))
                      .catch((e) => e)
                      .then(() => ({ items: r, nextStart: e.nextStart, total: e.total })))
                  : { items: [], nextStart: -1, total: 0 };
              })
          );
        }
        fetchTags() {
          return this.portal._request(this.url + '/tags').then((e) => e.tags);
        }
        getThumbnailUrl(e) {
          let t = this.thumbnailUrl;
          return t && e && (t += `&w=${e}`), t;
        }
        queryFavorites(e) {
          return this.favGroupId
            ? (this._favGroup ||
                (this._favGroup = new c.default({ id: this.favGroupId, portal: this.portal })),
              this._favGroup.queryItems(e))
            : Promise.reject(
                new o.Z('internal:unknown', 'Unknown internal error', {
                  internalError: 'Unknown favGroupId',
                }),
              );
        }
        toJSON() {
          throw new o.Z(
            'internal:not-yet-implemented',
            'PortalGroup.toJSON is not yet implemented',
          );
        }
        static fromJSON(e) {
          if (!e) return null;
          if (e.declaredClass) throw new Error('JSON object is already hydrated');
          const t = new s();
          return (t.sourceJSON = e), t.read(e), t;
        }
      });
      (0, i._)([(0, a.Cb)()], p.prototype, 'access', void 0),
        (0, i._)([(0, a.Cb)({ type: Date })], p.prototype, 'created', void 0),
        (0, i._)([(0, a.Cb)()], p.prototype, 'culture', void 0),
        (0, i._)([(0, a.Cb)()], p.prototype, 'description', void 0),
        (0, i._)([(0, a.Cb)()], p.prototype, 'email', void 0),
        (0, i._)([(0, a.Cb)()], p.prototype, 'favGroupId', void 0),
        (0, i._)([(0, a.Cb)()], p.prototype, 'fullName', void 0),
        (0, i._)([(0, a.Cb)({ type: Date })], p.prototype, 'modified', void 0),
        (0, i._)([(0, a.Cb)()], p.prototype, 'orgId', void 0),
        (0, i._)([(0, a.Cb)()], p.prototype, 'portal', void 0),
        (0, i._)([(0, a.Cb)()], p.prototype, 'preferredView', void 0),
        (0, i._)([(0, a.Cb)()], p.prototype, 'privileges', void 0),
        (0, i._)([(0, a.Cb)()], p.prototype, 'region', void 0),
        (0, i._)([(0, a.Cb)()], p.prototype, 'role', void 0),
        (0, i._)([(0, a.Cb)()], p.prototype, 'roleId', void 0),
        (0, i._)([(0, a.Cb)()], p.prototype, 'sourceJSON', void 0),
        (0, i._)([(0, a.Cb)()], p.prototype, 'thumbnail', void 0),
        (0, i._)([(0, a.Cb)({ readOnly: !0 })], p.prototype, 'thumbnailUrl', null),
        (0, i._)([(0, a.Cb)()], p.prototype, 'units', void 0),
        (0, i._)([(0, a.Cb)({ readOnly: !0 })], p.prototype, 'userContentUrl', null),
        (0, i._)([(0, a.Cb)({ readOnly: !0 })], p.prototype, 'url', null),
        (0, i._)([(0, a.Cb)()], p.prototype, 'username', void 0),
        (0, i._)([(0, a.Cb)()], p.prototype, 'userType', void 0),
        (p = s = (0, i._)([(0, l.j)('esri.portal.PortalUser')], p));
      const d = p;
    },
    82058: (e, t, r) => {
      'use strict';
      r.r(t), r.d(t, { default: () => I, l: () => p, r: () => T, s: () => c });
      var s = r(31450),
        i = r(88762),
        o = r(60991),
        n = r(76506),
        a = r(50406),
        l = r(32101);
      r(71552), r(92143), r(40642), r(81172);
      const u = [
        'elevation3d.arcgis.com',
        'js.arcgis.com',
        'jsdev.arcgis.com',
        'jsqa.arcgis.com',
        'static.arcgis.com',
      ];
      function c(e) {
        const t = (0, l.P$)(e, !0);
        return (
          t &&
          t.endsWith('.arcgis.com') &&
          !u.includes(t) &&
          !e.endsWith('/sharing/rest/generateToken')
        );
      }
      function p(e, t, r = !1, s) {
        return new Promise((i, o) => {
          if ((0, a.Hc)(s)) return void o(d());
          let l = () => {
              p(), o(new Error(`Unable to load ${t}`));
            },
            u = () => {
              const t = e;
              p(), i(t);
            },
            c = () => {
              if (!e) return;
              const t = e;
              p(), (t.src = ''), o(d());
            };
          const p = () => {
            (0, n.h)('esri-image-decode') ||
              (e.removeEventListener('error', l), e.removeEventListener('load', u)),
              (l = null),
              (u = null),
              (e = null),
              (0, n.i)(s) && s.removeEventListener('abort', c),
              (c = null),
              r && URL.revokeObjectURL(t);
          };
          (0, n.i)(s) && s.addEventListener('abort', c),
            (0, n.h)('esri-image-decode')
              ? e.decode().then(u, l)
              : (e.addEventListener('error', l), e.addEventListener('load', u));
        });
      }
      function d() {
        try {
          return new DOMException('Aborted', 'AbortError');
        } catch {
          const e = new Error();
          return (e.name = 'AbortError'), e;
        }
      }
      async function h(e, t) {
        const u = (0, l.HK)(e),
          p = (0, l.jc)(e);
        p || u || (e = (0, l.Fv)(e));
        const d = { url: e, requestOptions: { ...(0, n.u)(t) } };
        let g = (0, l.oh)(e);
        if (g) {
          const e = await (async function (e, t) {
            if (null != e.responseData) return e.responseData;
            if (
              (e.headers &&
                (t.requestOptions.headers = { ...t.requestOptions.headers, ...e.headers }),
              e.query && (t.requestOptions.query = { ...t.requestOptions.query, ...e.query }),
              e.before)
            ) {
              let r, s;
              try {
                s = await e.before(t);
              } catch (e) {
                r = S('request:interceptor', e, t);
              }
              if (
                ((s instanceof Error || s instanceof o.Z) && (r = S('request:interceptor', s, t)),
                r)
              )
                throw (e.error && e.error(r), r);
              return s;
            }
          })(g, d);
          if (null != e)
            return { data: e, getHeader: v, requestOptions: d.requestOptions, url: d.url };
          g.after || g.error || (g = null);
        }
        if (((e = d.url), 'image' === (t = d.requestOptions).responseType)) {
          if ((0, n.h)('host-webworker') || (0, n.h)('host-node'))
            throw S(
              'request:invalid-parameters',
              new Error("responseType 'image' is not supported in Web Workers or Node environment"),
              d,
            );
        } else if (u)
          throw S(
            'request:invalid-parameters',
            new Error('Data URLs are not supported for responseType = ' + t.responseType),
            d,
          );
        if ('head' === t.method) {
          if (t.body)
            throw S(
              'request:invalid-parameters',
              new Error("body parameter cannot be set when method is 'head'"),
              d,
            );
          if (u || p)
            throw S(
              'request:invalid-parameters',
              new Error("data and blob URLs are not supported for method 'head'"),
              d,
            );
        }
        if (
          (await (async function () {
            (0, n.h)('host-webworker')
              ? m || (m = await r.e(9768).then(r.bind(r, 89768)))
              : h._abortableFetch || (h._abortableFetch = n.g.fetch.bind(n.g));
          })(),
          m)
        )
          return m.execute(e, t);
        const b = (0, a.yi)();
        (0, a.fu)(t, () => b.abort());
        const _ = {
            controller: b,
            credential: null,
            credentialToken: null,
            fetchOptions: null,
            hasToken: !1,
            interceptor: g,
            params: d,
            redoRequest: !1,
            useIdentity: y.useIdentity,
            useProxy: !1,
            useSSL: !1,
            withCredentials: !1,
          },
          w = await (async function (e) {
            var t, r;
            let o, u;
            await (async function (e) {
              const t = e.params.url,
                r = e.params.requestOptions,
                o = e.controller.signal,
                l = r.body;
              let u = null,
                p = null,
                d = null;
              if (
                (f &&
                  'HTMLFormElement' in n.g &&
                  (l instanceof FormData
                    ? (u = l)
                    : l instanceof HTMLFormElement && ((p = l), (u = new FormData(p)))),
                'string' == typeof l && (d = l),
                (e.fetchOptions = {
                  cache: r.cacheBust && !h._abortableFetch.polyfill ? 'no-cache' : 'default',
                  credentials: 'same-origin',
                  headers: r.headers || {},
                  method: 'head' === r.method ? 'HEAD' : 'GET',
                  mode: 'cors',
                  redirect: 'follow',
                  signal: o,
                }),
                (u || d) && (e.fetchOptions.body = u || d),
                'anonymous' === r.authMode && (e.useIdentity = !1),
                (e.hasToken = !!(
                  /token=/i.test(t) ||
                  (r.query && r.query.token) ||
                  (u && u.get && u.get('token')) ||
                  (p && p.elements.token)
                )),
                !e.hasToken &&
                  s.Z.apiKey &&
                  c(t) &&
                  (r.query || (r.query = {}), (r.query.token = s.Z.apiKey), (e.hasToken = !0)),
                e.useIdentity && !e.hasToken && !e.credentialToken && !x(t) && !(0, a.Hc)(o))
              ) {
                let s;
                'immediate' === r.authMode
                  ? (await O(),
                    (s = await i.id.getCredential(t, { signal: o })),
                    (e.credential = s))
                  : 'no-prompt' === r.authMode
                  ? (await O(),
                    (s = await i.id.getCredential(t, { prompt: !1, signal: o }).catch(() => {})),
                    (e.credential = s))
                  : i.id && (s = i.id.findCredential(t)),
                  s && ((e.credentialToken = s.token), (e.useSSL = !!s.ssl));
              }
            })(e);
            try {
              do {
                [o, u] = await q(e);
              } while (!(await P(e, o, u)));
            } catch (t) {
              const r = S('request:server', t, e.params, o);
              throw (
                ((r.details.ssl = e.useSSL),
                e.interceptor && e.interceptor.error && e.interceptor.error(r),
                r)
              );
            }
            const p = e.params.url;
            if (
              /\/sharing\/rest\/(accounts|portals)\/self/i.test(p) &&
              !e.hasToken &&
              !e.credentialToken &&
              null != (t = u) &&
              null != (r = t.user) &&
              r.username &&
              !(0, l.kl)(p)
            ) {
              const e = (0, l.P$)(p, !0);
              e && y.trustedServers.push(e);
            }
            const d = e.credential;
            if (d && i.id) {
              const e = i.id.findServerInfo(d.server);
              let t = e && e.owningSystemUrl;
              if (t) {
                t = t.replace(/\/?$/, '/sharing');
                const e = i.id.findCredential(t, d.userId);
                e && -1 === i.id._getIdenticalSvcIdx(t, e) && e.resources.unshift(t);
              }
            }
            return {
              data: u,
              getHeader: o ? (e) => o.headers.get(e) : v,
              requestOptions: e.params.requestOptions,
              ssl: e.useSSL,
              url: e.params.url,
            };
          })(_);
        return g && g.after && g.after(w), w;
      }
      let m;
      const y = s.Z.request,
        f = 'FormData' in n.g,
        g = [499, 498, 403, 401],
        b = ['COM_0056', 'COM_0057', 'SB_0008'],
        _ = [/\/arcgis\/tokens/i, /\/sharing(\/rest)?\/generatetoken/i, /\/rest\/info/i],
        v = () => null,
        w = Symbol();
      function C(e) {
        const t = (0, l.P$)(e);
        return !t || t.endsWith('.arcgis.com') || h._corsServers.includes(t) || (0, l.kl)(t);
      }
      function S(e, t, r, s) {
        let i = 'Error';
        const l = { url: r.url, requestOptions: r.requestOptions, getHeader: v, ssl: !1 };
        if (t instanceof o.Z)
          return (
            t.details
              ? ((t.details = (0, n.d9)(t.details)),
                (t.details.url = r.url),
                (t.details.requestOptions = r.requestOptions))
              : (t.details = l),
            t
          );
        if (t) {
          const e = s && ((e) => s.headers.get(e)),
            r = s && s.status,
            o = t.message;
          o && (i = o),
            e && (l.getHeader = e),
            (l.httpStatus = (null != t.httpCode ? t.httpCode : t.code) || r || 0),
            (l.subCode = t.subcode),
            (l.messageCode = t.messageCode),
            'string' == typeof t.details ? (l.messages = [t.details]) : (l.messages = t.details),
            (l.raw = w in t ? t[w] : t);
        }
        return (0, a.D_)(t) ? (0, a.zE)() : new o.Z(e, i, l);
      }
      async function O() {
        i.id || (await Promise.all([r.e(6229), r.e(1503), r.e(4494)]).then(r.bind(r, 64494)));
      }
      function x(e) {
        return _.some((t) => t.test(e));
      }
      async function q(e) {
        let t = e.params.url;
        const r = e.params.requestOptions,
          s = e.fetchOptions,
          o = (0, l.jc)(t) || (0, l.HK)(t),
          u = r.responseType || 'json',
          c = o ? 0 : null != r.timeout ? r.timeout : y.timeout;
        let p = !1;
        if (!o) {
          e.useSSL && (t = (0, l.hO)(t)),
            r.cacheBust &&
              'default' === s.cache &&
              (t = (0, l.ZN)(t, 'request.preventCache', Date.now()));
          let o = { ...r.query };
          e.credentialToken && (o.token = e.credentialToken);
          let a = (0, l.B7)(o);
          (0, n.h)('esri-url-encodes-apostrophe') && (a = a.replace(/'/g, '%27'));
          const u = t.length + 1 + a.length;
          let c;
          p =
            'delete' === r.method ||
            'post' === r.method ||
            'put' === r.method ||
            !!r.body ||
            u > y.maxUrlLength;
          const d = r.useProxy || !!(0, l.ed)(t);
          if (d) {
            const e = (0, l.b7)(t);
            (c = e.path),
              !p && c.length + 1 + u > y.maxUrlLength && (p = !0),
              e.query && (o = { ...e.query, ...o });
          }
          if ('HEAD' === s.method && (p || d)) {
            if (p) {
              if (u > y.maxUrlLength)
                throw S(
                  'request:invalid-parameters',
                  new Error('URL exceeds maximum length'),
                  e.params,
                );
              throw S(
                'request:invalid-parameters',
                new Error("cannot use POST request when method is 'head'"),
                e.params,
              );
            }
            if (d)
              throw S(
                'request:invalid-parameters',
                new Error("cannot use proxy when method is 'head'"),
                e.params,
              );
          }
          if (
            (p
              ? ((s.method =
                  'delete' === r.method ? 'DELETE' : 'put' === r.method ? 'PUT' : 'POST'),
                r.body
                  ? (t = (0, l.fl)(t, o))
                  : ((s.body = (0, l.B7)(o)),
                    (s.headers['Content-Type'] = 'application/x-www-form-urlencoded')))
              : (t = (0, l.fl)(t, o)),
            d && ((e.useProxy = !0), (t = `${c}?${t}`)),
            o.token && f && s.body instanceof FormData)
          ) {
            const e = s.body;
            e.set ? e.set('token', o.token) : e.append('token', o.token);
          }
          if (r.hasOwnProperty('withCredentials')) e.withCredentials = r.withCredentials;
          else if (!(0, l.D6)(t, l.Gd))
            if ((0, l.kl)(t)) e.withCredentials = !0;
            else if (i.id) {
              const r = i.id.findServerInfo(t);
              r && r.webTierAuth && (e.withCredentials = !0);
            }
          e.withCredentials && (s.credentials = 'include');
        }
        let d,
          m,
          g = 0,
          b = !1;
        c > 0 &&
          (g = setTimeout(() => {
            (b = !0), e.controller.abort();
          }, c));
        try {
          if ('native-request-init' === r.responseType) (m = s), (m.url = t);
          else if (
            'image' !== r.responseType ||
            'default' !== s.cache ||
            'GET' !== s.method ||
            p ||
            (function (e) {
              if (e) for (const t of Object.getOwnPropertyNames(e)) if (e[t]) return !0;
              return !1;
            })(r.headers) ||
            (!o && !e.useProxy && y.proxyUrl && !C(t))
          ) {
            if (
              ((d = await h._abortableFetch(t, s)),
              e.useProxy ||
                (function (e) {
                  const t = (0, l.P$)(e);
                  t && !h._corsServers.includes(t) && h._corsServers.push(t);
                })(t),
              'native' === r.responseType)
            )
              m = d;
            else if ('HEAD' !== s.method)
              if (d.ok) {
                switch (u) {
                  case 'array-buffer':
                    m = await d.arrayBuffer();
                    break;
                  case 'blob':
                  case 'image':
                    m = await d.blob();
                    break;
                  default:
                    m = await d.text();
                }
                if (
                  (g && (clearTimeout(g), (g = 0)), 'json' === u || 'xml' === u || 'document' === u)
                )
                  if (m)
                    switch (u) {
                      case 'json':
                        m = JSON.parse(m);
                        break;
                      case 'xml':
                        m = k(m, 'application/xml');
                        break;
                      case 'document':
                        m = k(m, 'text/html');
                    }
                  else m = null;
                if (m) {
                  if ('array-buffer' === u || 'blob' === u) {
                    const e = d.headers.get('Content-Type');
                    if (
                      /application\/json|text\/plain/i.test(e) &&
                      m['blob' === u ? 'size' : 'byteLength'] <= 750
                    )
                      try {
                        const e = await new Response(m).json();
                        e.error && (m = e);
                      } catch {}
                  }
                  'image' === u &&
                    m instanceof Blob &&
                    (m = await U(URL.createObjectURL(m), e, !0));
                }
              } else m = await d.text();
          } else m = await U(t, e);
        } catch (s) {
          if ('AbortError' === s.name) {
            if (b) throw new Error('Timeout exceeded');
            throw (0, a.zE)('Request canceled');
          }
          if (
            !(!d && s instanceof TypeError && y.proxyUrl) ||
            r.body ||
            'delete' === r.method ||
            'head' === r.method ||
            'post' === r.method ||
            'put' === r.method ||
            e.useProxy ||
            C(t)
          )
            throw s;
          (e.redoRequest = !0), (0, l.tD)({ proxyUrl: y.proxyUrl, urlPrefix: (0, l.P$)(t) });
        } finally {
          g && clearTimeout(g);
        }
        return [d, m];
      }
      function k(e, t) {
        let r;
        try {
          r = new DOMParser().parseFromString(e, t);
        } catch {}
        if (!r || r.getElementsByTagName('parsererror').length)
          throw new SyntaxError('XML Parse error');
        return r;
      }
      async function P(e, t, r) {
        if (e.redoRequest) return (e.redoRequest = !1), !1;
        const s = e.params.requestOptions;
        if (!t || 'native' === s.responseType || 'native-request-init' === s.responseType)
          return !0;
        let o, n, a, l;
        if (!t.ok)
          throw ((o = new Error(`Unable to load ${t.url} status: ${t.status}`)), (o[w] = r), o);
        null != r && r.error && (o = r.error),
          o &&
            ((n = Number(o.code)),
            (a = o.hasOwnProperty('subcode') ? Number(o.subcode) : null),
            (l = o.messageCode),
            (l = l && l.toUpperCase()));
        const u = s.authMode;
        if (
          403 === n &&
          (4 === a ||
            (o.message &&
              o.message.toLowerCase().indexOf('ssl') > -1 &&
              -1 === o.message.toLowerCase().indexOf('permission')))
        ) {
          if (!e.useSSL) return (e.useSSL = !0), !1;
        } else if (
          !e.hasToken &&
          e.useIdentity &&
          ('no-prompt' !== u || 498 === n) &&
          -1 !== g.indexOf(n) &&
          !x(e.params.url) &&
          (403 !== n || (-1 === b.indexOf(l) && (null == a || (2 === a && e.credentialToken))))
        ) {
          await O();
          try {
            const t = await i.id.getCredential(e.params.url, {
              error: S('request:server', o, e.params),
              prompt: 'no-prompt' !== u,
              signal: e.controller.signal,
              token: e.credentialToken,
            });
            return (
              (e.credential = t), (e.credentialToken = t.token), (e.useSSL = e.useSSL || t.ssl), !1
            );
          } catch (t) {
            if ('no-prompt' === u) return (e.credential = null), (e.credentialToken = null), !1;
            o = t;
          }
        }
        if (o) throw o;
        return !0;
      }
      function U(e, t, r = !1) {
        const s = t.controller.signal,
          i = new Image();
        return (
          t.withCredentials ? (i.crossOrigin = 'use-credentials') : (i.crossOrigin = 'anonymous'),
          (i.alt = ''),
          (i.src = e),
          p(i, e, r, s)
        );
      }
      (h._abortableFetch = null),
        (h._corsServers = ['https://server.arcgisonline.com', 'https://services.arcgisonline.com']);
      var T = Object.freeze({ __proto__: null, default: h });
      const I = h;
    },
  },
]);
