{"version":3,"sources":["node_modules/@arcgis/core/layers/graphics/featureConversionUtils.js"],"sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from \"../../core/Error.js\";\nimport e from \"../../core/Logger.js\";\nimport { assertIsSome as n } from \"../../core/maybe.js\";\nimport { is as o, fromRectValues as r } from \"../../geometry/support/aaBoundingBox.js\";\nimport { fromValues as s } from \"../../geometry/support/aaBoundingRect.js\";\nimport { isPoint as u, isPolygon as l, isPolyline as c, isMultipoint as i } from \"../../geometry/support/jsonUtils.js\";\nimport { OptimizedFeature as f } from \"./OptimizedFeature.js\";\nimport a from \"./OptimizedFeatureSet.js\";\nimport h from \"./OptimizedGeometry.js\";\nfunction d(t, e) {\n return t ? e ? 4 : 3 : e ? 3 : 2;\n}\nconst m = () => e.getLogger(\"esri.layers.graphics.featureConversionUtils\"),\n g = {\n esriGeometryPoint: 0,\n esriGeometryPolyline: 2,\n esriGeometryPolygon: 3,\n esriGeometryMultipoint: 0,\n esriGeometryMultiPatch: 3,\n esriGeometryEnvelope: 0\n },\n y = (t, e, n, o, r, s) => {\n t[n] = r, t[n + 1] = s;\n },\n p = (t, e, n, o, r, s) => {\n t[n] = r, t[n + 1] = s, t[n + 2] = e[o + 2];\n },\n I = (t, e, n, o, r, s) => {\n t[n] = r, t[n + 1] = s, t[n + 2] = e[o + 3];\n },\n b = (t, e, n, o, r, s) => {\n t[n] = r, t[n + 1] = s, t[n + 2] = e[o + 2], t[n + 3] = e[o + 3];\n };\nfunction M(t, e, n, o) {\n if (t) {\n if (n) return e && o ? b : p;\n if (e && o) return I;\n } else if (e && o) return p;\n return y;\n}\nfunction N({\n scale: t,\n translate: e\n}, n) {\n return Math.round((n - e[0]) / t[0]);\n}\nfunction w({\n scale: t,\n translate: e\n}, n) {\n return Math.round((e[1] - n) / t[1]);\n}\nfunction G(t, e) {\n return F(t, e, 0);\n}\nfunction T(t, e) {\n return F(t, -e, 1);\n}\nfunction F({\n scale: t,\n translate: e\n}, n, o) {\n return n * t[o] + e[o];\n}\nfunction P(t, e, n) {\n return t ? e ? n ? k(t) : Z(t) : n ? v(t) : x(t) : null;\n}\nfunction x(t) {\n const e = t.coords;\n return {\n x: e[0],\n y: e[1]\n };\n}\nfunction j(t, e) {\n return t.coords[0] = e.x, t.coords[1] = e.y, t;\n}\nfunction Z(t) {\n const e = t.coords;\n return {\n x: e[0],\n y: e[1],\n z: e[2]\n };\n}\nfunction E(t, e) {\n return t.coords[0] = e.x, t.coords[1] = e.y, t.coords[2] = e.z, t;\n}\nfunction v(t) {\n const e = t.coords;\n return {\n x: e[0],\n y: e[1],\n m: e[2]\n };\n}\nfunction z(t, e) {\n return t.coords[0] = e.x, t.coords[1] = e.y, t.coords[2] = e.m, t;\n}\nfunction k(t) {\n const e = t.coords;\n return {\n x: e[0],\n y: e[1],\n z: e[2],\n m: e[3]\n };\n}\nfunction V(t, e) {\n return t.coords[0] = e.x, t.coords[1] = e.y, t.coords[2] = e.z, t.coords[3] = e.m, t;\n}\nfunction Y(t, e, n, o) {\n let r = x;\n n && o ? r = k : n ? r = Z : o && (r = v);\n for (const s of e) {\n const {\n geometry: e,\n attributes: n\n } = s,\n o = null != e ? r(e) : null;\n t.push({\n attributes: n,\n geometry: o\n });\n }\n return t;\n}\nfunction _(t, e) {\n return t && e ? V : t ? E : e ? z : j;\n}\nfunction L(t, e, n, o, r) {\n const s = _(n, o);\n for (const {\n geometry: u,\n attributes: l\n } of e) {\n const e = null != u ? s(new h(), u) : null;\n t.push(new f(e, l, null, r ? l[r] : void 0));\n }\n return t;\n}\nfunction O(t, e, n = _(null != e.z, null != e.m)) {\n return n(t, e);\n}\nfunction S(t, e, n, o) {\n for (const {\n geometry: r,\n attributes: s\n } of e) t.push({\n attributes: s,\n geometry: null != r ? U(r, n, o) : null\n });\n return t;\n}\nfunction U(t, e, n) {\n if (null == t) return null;\n const o = d(e, n),\n r = [];\n for (let s = 0; s < t.coords.length; s += o) {\n const e = [];\n for (let n = 0; n < o; n++) e.push(t.coords[s + n]);\n r.push(e);\n }\n return e ? n ? {\n points: r,\n hasZ: e,\n hasM: n\n } : {\n points: r,\n hasZ: e\n } : n ? {\n points: r,\n hasM: n\n } : {\n points: r\n };\n}\nfunction q(t, e, n, o, r) {\n const s = d(n, o);\n for (const {\n geometry: u,\n attributes: l\n } of e) {\n const e = null != u ? R(new h(), u, s) : null;\n t.push(new f(e, l, null, r ? l[r] : void 0));\n }\n return t;\n}\nfunction R(t, e, n = d(e.hasZ, e.hasM)) {\n t.lengths[0] = e.points.length;\n const o = t.coords;\n let r = 0;\n for (const s of e.points) for (let t = 0; t < n; t++) o[r++] = s[t];\n return t;\n}\nfunction A(t, e, n, o) {\n for (const {\n geometry: r,\n attributes: s\n } of e) t.push({\n attributes: s,\n geometry: null != r ? $(r, n, o) : null\n });\n return t;\n}\nfunction $(t, e, n) {\n if (!t) return null;\n const o = d(e, n),\n {\n coords: r,\n lengths: s\n } = t,\n u = [];\n let l = 0;\n for (const c of s) {\n const t = [];\n for (let e = 0; e < c; e++) {\n const e = [];\n for (let t = 0; t < o; t++) e.push(r[l++]);\n t.push(e);\n }\n u.push(t);\n }\n return e ? n ? {\n paths: u,\n hasZ: e,\n hasM: n\n } : {\n paths: u,\n hasZ: e\n } : n ? {\n paths: u,\n hasM: n\n } : {\n paths: u\n };\n}\nfunction B(t, e, n, o, r) {\n const s = d(n, o);\n for (const {\n geometry: u,\n attributes: l,\n centroid: c\n } of e) {\n const e = null != u ? C(new h(), u, s) : null,\n n = null != c ? O(new h(), c) : null;\n t.push(new f(e, l, n, r ? l[r] : void 0));\n }\n return t;\n}\nfunction C(t, e, n = d(e.hasZ, e.hasM)) {\n const {\n lengths: o,\n coords: r\n } = t;\n let s = 0;\n for (const u of e.paths) {\n for (const t of u) for (let e = 0; e < n; e++) r[s++] = t[e];\n o.push(u.length);\n }\n return t;\n}\nfunction D(t, e, n, o) {\n for (const {\n geometry: r,\n attributes: s,\n centroid: u\n } of e) {\n const e = null != r ? H(r, n, o) : null;\n if (null != u) {\n const n = x(u);\n t.push({\n attributes: s,\n centroid: n,\n geometry: e\n });\n } else t.push({\n attributes: s,\n geometry: e\n });\n }\n return t;\n}\nfunction H(t, e, n) {\n if (!t) return null;\n const o = d(e, n),\n {\n coords: r,\n lengths: s\n } = t,\n u = [];\n let l = 0;\n for (const c of s) {\n const t = [];\n for (let e = 0; e < c; e++) {\n const e = [];\n for (let t = 0; t < o; t++) e.push(r[l++]);\n t.push(e);\n }\n u.push(t);\n }\n return e ? n ? {\n rings: u,\n hasZ: e,\n hasM: n\n } : {\n rings: u,\n hasZ: e\n } : n ? {\n rings: u,\n hasM: n\n } : {\n rings: u\n };\n}\nfunction J(t, e, n, o, r) {\n for (const {\n geometry: s,\n centroid: u,\n attributes: l\n } of e) {\n const e = null != s ? K(new h(), s, n, o) : null,\n c = r ? l[r] : void 0;\n null != u ? t.push(new f(e, l, j(new h(), u), c)) : t.push(new f(e, l, null, c));\n }\n return t;\n}\nfunction K(t, e, n = e.hasZ, o = e.hasM) {\n return Q(t, e.rings, n, o);\n}\nfunction Q(t, e, n, o) {\n const r = d(n, o),\n {\n lengths: s,\n coords: u\n } = t;\n let l = 0;\n wt(t);\n for (const c of e) {\n for (const t of c) for (let e = 0; e < r; e++) u[l++] = t[e];\n s.push(c.length);\n }\n return t;\n}\nconst W = [],\n X = [];\nfunction tt(t, e, n, o, r) {\n W[0] = t;\n const [s] = et(X, W, e, n, o, r);\n return Gt(W), Gt(X), s;\n}\nfunction et(e, n, o, r, s, u) {\n if (Gt(e), !o) {\n for (const t of n) {\n const n = u ? t.attributes[u] : void 0;\n e.push(new f(null, t.attributes, null, n));\n }\n return e;\n }\n switch (o) {\n case \"esriGeometryPoint\":\n return L(e, n, r, s, u);\n case \"esriGeometryMultipoint\":\n return q(e, n, r, s, u);\n case \"esriGeometryPolyline\":\n return B(e, n, r, s, u);\n case \"esriGeometryPolygon\":\n case \"esriGeometryMultiPatch\":\n return J(e, n, r, s, u);\n default:\n m().error(\"convertToFeatureSet:unknown-geometry\", new t(`Unable to parse unknown geometry type '${o}'`)), Gt(e);\n }\n return e;\n}\nfunction nt(t, e, n, o) {\n X[0] = t, ut(W, X, e, n, o);\n const r = W[0];\n return Gt(W), Gt(X), r;\n}\nfunction ot(e, n, o) {\n if (null == e) return null;\n const r = new h();\n if (\"hasZ\" in e && null == n && (n = e.hasZ), \"hasM\" in e && null == o && (o = e.hasM), u(e)) {\n return _(null != n ? n : null != e.z, null != o ? o : null != e.m)(r, e);\n }\n return l(e) ? K(r, e, n, o) : c(e) ? C(r, e, d(n, o)) : i(e) ? R(r, e, d(n, o)) : void m().error(\"convertFromGeometry:unknown-geometry\", new t(`Unable to parse unknown geometry type '${e}'`));\n}\nfunction rt(e, n, o, r) {\n const s = e && (\"coords\" in e ? e : e.geometry);\n if (null == s) return null;\n switch (n) {\n case \"esriGeometryPoint\":\n {\n let t = x;\n return o && r ? t = k : o ? t = Z : r && (t = v), t(s);\n }\n case \"esriGeometryMultipoint\":\n return U(s, o, r);\n case \"esriGeometryPolyline\":\n return $(s, o, r);\n case \"esriGeometryPolygon\":\n return H(s, o, r);\n default:\n return m().error(\"convertToGeometry:unknown-geometry\", new t(`Unable to parse unknown geometry type '${n}'`)), null;\n }\n}\nfunction st(t, e) {\n for (const n of e) t.push({\n attributes: n.attributes\n });\n return t;\n}\nfunction ut(e, n, o, r, s) {\n if (Gt(e), null == o) return st(e, n);\n switch (o) {\n case \"esriGeometryPoint\":\n return Y(e, n, r, s);\n case \"esriGeometryMultipoint\":\n return S(e, n, r, s);\n case \"esriGeometryPolyline\":\n return A(e, n, r, s);\n case \"esriGeometryPolygon\":\n return D(e, n, r, s);\n default:\n m().error(\"convertToFeatureSet:unknown-geometry\", new t(`Unable to parse unknown geometry type '${o}'`));\n }\n return e;\n}\nfunction lt(t) {\n const {\n objectIdFieldName: e,\n spatialReference: n,\n transform: o,\n fields: r,\n hasM: s,\n hasZ: u,\n features: l,\n geometryType: c,\n exceededTransferLimit: i,\n uniqueIdField: f,\n queryGeometry: a,\n queryGeometryType: h\n } = t,\n d = {\n features: ut([], l, c, u, s),\n fields: r,\n geometryType: c,\n objectIdFieldName: e,\n spatialReference: n,\n uniqueIdField: f,\n queryGeometry: rt(a, h, !1, !1)\n };\n return o && (d.transform = o), i && (d.exceededTransferLimit = i), s && (d.hasM = s), u && (d.hasZ = u), d;\n}\nfunction ct(e, n) {\n const o = new a(),\n {\n hasM: r,\n hasZ: s,\n features: u,\n objectIdFieldName: l,\n spatialReference: c,\n geometryType: i,\n exceededTransferLimit: f,\n transform: h,\n fields: d\n } = e;\n return d && (o.fields = d), o.geometryType = i ?? null, o.objectIdFieldName = l ?? n ?? null, o.spatialReference = c ?? null, o.objectIdFieldName ? (u && et(o.features, u, i, s, r, o.objectIdFieldName), f && (o.exceededTransferLimit = f), r && (o.hasM = r), s && (o.hasZ = s), h && (o.transform = h), o) : (m().error(new t(\"optimized-features:invalid-objectIdFieldName\", \"objectIdFieldName is missing\")), o);\n}\nfunction it(t) {\n const {\n transform: e,\n features: n,\n hasM: o,\n hasZ: r\n } = t;\n if (!e) return t;\n for (const s of n) null != s.geometry && pt(s.geometry, s.geometry, o, r, e), null != s.centroid && pt(s.centroid, s.centroid, o, r, e);\n return t.transform = null, t;\n}\nfunction ft(t, e) {\n const {\n geometryType: n,\n features: o,\n hasM: r,\n hasZ: s\n } = e;\n if (!t) return e;\n for (let u = 0; u < o.length; u++) {\n const e = o[u],\n l = e.weakClone();\n l.geometry = new h(), at(l.geometry, e.geometry, r, s, n, t), e.centroid && (l.centroid = new h(), at(l.centroid, e.centroid, r, s, \"esriGeometryPoint\", t)), o[u] = l;\n }\n return e.transform = t, e;\n}\nfunction at(t, e, n, o, r, s, u = n, l = o) {\n if (wt(t), !e?.coords.length) return null;\n const c = g[r],\n {\n coords: i,\n lengths: f\n } = e,\n a = d(n, o),\n h = d(n && u, o && l),\n m = M(n, o, u, l);\n if (!f.length) return m(t.coords, i, 0, 0, N(s, i[0]), w(s, i[1])), wt(t, a, 0), t;\n let y,\n p,\n I,\n b,\n G = 0,\n T = 0,\n F = T;\n for (const d of f) {\n if (d < c) continue;\n let e = 0;\n T = F, I = y = N(s, i[G]), b = p = w(s, i[G + 1]), m(t.coords, i, T, G, I, b), e++, G += a, T += h;\n for (let n = 1; n < d; n++, G += a) I = N(s, i[G]), b = w(s, i[G + 1]), I === y && b === p || (m(t.coords, i, T, G, I - y, b - p), T += h, e++, y = I, p = b);\n e >= c && (t.lengths.push(e), F = T);\n }\n return Gt(t.coords, F), t.coords.length ? t : null;\n}\nfunction ht(t, e, n, o, r, s, u = n, l = o) {\n if (wt(t), !e?.coords.length) return null;\n const c = g[r],\n {\n coords: i,\n lengths: f\n } = e,\n a = d(n, o),\n h = d(n && u, o && l),\n m = M(n, o, u, l);\n if (!f.length) return m(t.coords, i, 0, 0, i[0], i[1]), wt(t, a, 0), t;\n let y = 0;\n const p = s * s;\n for (const d of f) {\n if (d < c) {\n y += d * a;\n continue;\n }\n const e = t.coords.length / h,\n n = y,\n o = y + (d - 1) * a;\n m(t.coords, i, t.coords.length, n, i[n], i[n + 1]), mt(t.coords, i, a, p, m, n, o), m(t.coords, i, t.coords.length, o, i[o], i[o + 1]);\n const r = t.coords.length / h - e;\n r >= c ? t.lengths.push(r) : Gt(t.coords, e * h), y += d * a;\n }\n return t.coords.length ? t : null;\n}\nfunction dt(t, e, n, o) {\n const r = t[e],\n s = t[e + 1],\n u = t[n],\n l = t[n + 1],\n c = t[o],\n i = t[o + 1];\n let f = u,\n a = l,\n h = c - f,\n d = i - a;\n if (0 !== h || 0 !== d) {\n const t = ((r - f) * h + (s - a) * d) / (h * h + d * d);\n t > 1 ? (f = c, a = i) : t > 0 && (f += h * t, a += d * t);\n }\n return h = r - f, d = s - a, h * h + d * d;\n}\nfunction mt(t, e, n, o, r, s, u) {\n let l,\n c = o,\n i = 0;\n for (let f = s + n; f < u; f += n) l = dt(e, f, s, u), l > c && (i = f, c = l);\n c > o && (i - s > n && mt(t, e, n, o, r, s, i), r(t, e, t.length, i, e[i], e[i + 1]), u - i > n && mt(t, e, n, o, r, i, u));\n}\nfunction gt(t, e, n, u) {\n if (!e?.coords?.length) return null;\n const l = d(n, u);\n let c = Number.POSITIVE_INFINITY,\n i = Number.POSITIVE_INFINITY,\n f = Number.NEGATIVE_INFINITY,\n a = Number.NEGATIVE_INFINITY;\n if (e && e.coords) {\n const t = e.coords;\n for (let e = 0; e < t.length; e += l) {\n const n = t[e],\n o = t[e + 1];\n c = Math.min(c, n), f = Math.max(f, n), i = Math.min(i, o), a = Math.max(a, o);\n }\n }\n return o(t) ? r(t, c, i, f, a) : s(c, i, f, a, t), t;\n}\nfunction yt(t, e, n, o) {\n const r = d(n, o),\n {\n lengths: s,\n coords: u\n } = e;\n let l = Number.POSITIVE_INFINITY,\n c = Number.POSITIVE_INFINITY,\n i = Number.NEGATIVE_INFINITY,\n f = Number.NEGATIVE_INFINITY,\n a = 0;\n for (const h of s) {\n let t = u[a],\n e = u[a + 1];\n l = Math.min(t, l), c = Math.min(e, c), i = Math.max(t, i), f = Math.max(e, f), a += r;\n for (let n = 1; n < h; n++, a += r) {\n const n = u[a],\n o = u[a + 1];\n t += n, e += o, n < 0 && (l = Math.min(l, t)), n > 0 && (i = Math.max(i, t)), o < 0 ? c = Math.min(c, e) : o > 0 && (f = Math.max(f, e));\n }\n }\n return t[0] = l, t[1] = c, t[2] = i, t[3] = f, t;\n}\nfunction pt(t, e, o, r, s) {\n const {\n coords: u,\n lengths: l\n } = e,\n c = d(o, r);\n if (!u.length) return t !== e && wt(t), t;\n n(s);\n const {\n originPosition: i,\n scale: f,\n translate: a\n } = s,\n h = Tt;\n h.originPosition = i;\n const m = h.scale;\n m[0] = f[0] ?? 1, m[1] = -(f[1] ?? 1), m[2] = f[2] ?? 1, m[3] = f[3] ?? 1;\n const g = h.translate;\n if (g[0] = a[0] ?? 0, g[1] = a[1] ?? 0, g[2] = a[2] ?? 0, g[3] = a[3] ?? 0, !l.length) {\n for (let e = 0; e < c; ++e) t.coords[e] = F(h, u[e], e);\n return t !== e && wt(t, c, 0), t;\n }\n let y = 0;\n for (let n = 0; n < l.length; n++) {\n const e = l[n];\n t.lengths[n] = e;\n for (let n = 0; n < c; ++n) t.coords[y + n] = F(h, u[y + n], n);\n let o = t.coords[y],\n r = t.coords[y + 1];\n y += c;\n for (let n = 1; n < e; n++, y += c) {\n o += u[y] * m[0], r += u[y + 1] * m[1], t.coords[y] = o, t.coords[y + 1] = r;\n for (let e = 2; e < c; ++e) t.coords[y + e] = F(h, u[y + e], e);\n }\n }\n return t !== e && wt(t, u.length, l.length), t;\n}\nfunction It(t, e, n, o, r, s) {\n if (wt(t), t.lengths.push(...e.lengths), n === r && o === s) for (let u = 0; u < e.coords.length; u++) t.coords.push(e.coords[u]);else {\n const u = d(n, o),\n l = M(n, o, r, s),\n c = e.coords;\n for (let e = 0; e < c.length; e += u) l(t.coords, c, t.coords.length, e, c[e], c[e + 1]);\n }\n return t;\n}\nfunction bt(t, e, n, o, r) {\n if (!e?.coords?.length) return null;\n const s = g[n],\n {\n coords: u,\n lengths: l\n } = e,\n c = M(o, r, o, r),\n i = d(o, r);\n let f = 0,\n a = 0,\n h = 0,\n m = 0;\n for (const d of l) {\n a = m, c(t.coords, u, a, f, u[f], u[f + 1]), f += i;\n let e = u[f],\n n = u[f + 1],\n o = e,\n r = n,\n l = n / e;\n a += i, c(t.coords, u, a, f, o, r), f += i;\n for (let s = 2; s < d; s++) {\n e = u[f], n = u[f + 1];\n const s = n / e,\n h = l === s || !isFinite(l) && !isFinite(s),\n d = h && isFinite(s) ? l >= 0 && s >= 0 || l <= 0 && s <= 0 : r >= 0 && n >= 0 || r <= 0 && n <= 0;\n h && d ? (o += e, r += n) : (o = e, r = n, a += i), c(t.coords, u, a, f, o, r), f += i, l = s;\n }\n a += i;\n const g = (a - m) / i;\n g >= s && (t.lengths[h] = g, m = a, h++);\n }\n return t.coords.length > m && (t.coords.length = m), t.lengths.length > h && (t.lengths.length = h), t.coords.length && t.lengths.length ? t : null;\n}\nfunction Mt(t, e, n, o) {\n let r = 0,\n s = t[o * e],\n u = t[o * (e + 1)];\n for (let l = 1; l < n; l++) {\n const n = s + t[o * (e + l)],\n c = u + t[o * (e + l) + 1],\n i = (n - s) * (c + u);\n s = n, u = c, r += i;\n }\n return .5 * r;\n}\nfunction Nt(t, e) {\n const {\n coords: n,\n lengths: o\n } = t;\n let r = 0,\n s = 0;\n for (let u = 0; u < o.length; u++) {\n const t = o[u];\n s += Mt(n, r, t, e), r += t;\n }\n return Math.abs(s);\n}\nfunction wt(t, e = 0, n = 0) {\n Gt(t.lengths, n), Gt(t.coords, e);\n}\nfunction Gt(t, e = 0) {\n t.length !== e && (t.length = e);\n}\nconst Tt = {\n originPosition: \"lowerLeft\",\n scale: [1, 1, 1, 1],\n translate: [0, 0, 0, 0]\n};\nexport { tt as convertFromFeature, ct as convertFromFeatureSet, et as convertFromFeatures, ot as convertFromGeometry, R as convertFromMultipoint, q as convertFromMultipointFeatures, Q as convertFromNestedArray, O as convertFromPoint, L as convertFromPointFeatures, K as convertFromPolygon, C as convertFromPolyline, B as convertFromPolylineFeatures, nt as convertToFeature, lt as convertToFeatureSet, ut as convertToFeatures, rt as convertToGeometry, U as convertToMultipoint, S as convertToMultipointFeatures, P as convertToPoint, H as convertToPolygon, $ as convertToPolyline, ht as generalizeOptimizedGeometry, gt as getBoundsOptimizedGeometry, Nt as getQuantizedArea, yt as getQuantizedBoundsOptimizedGeometry, Mt as getSignedQuantizedRingArea, ft as quantizeOptimizedFeatureSet, at as quantizeOptimizedGeometry, N as quantizeX, w as quantizeY, bt as removeCollinearVertices, It as removeZMValues, it as unquantizeOptimizedFeatureSet, pt as unquantizeOptimizedGeometry, F as unquantizeValue, G as unquantizeX, T as unquantizeY };"],"mappings":"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","names":["d","t","e","m","n","g","y","o","r","s","p","I","b","M","N","w","F","t","e","n","o","P","k","Z","v","x","j","E","z","V","Y","r","s","_","L","O","S","U","d","q","R","A","$","B","C","D","H","J","K","c","Q","wt","W","X","tt","et","Gt","u","m","nt","ut","ot","y","l","rt","st","lt","f","a","h","ct","i","it","pt","ft","at","g","M","N","w","p","b","G","T","ht","mt","dt","gt","pt","t","e","o","u","l","c","d","wt","n","i","f","h","Tt","g","F","y","r","It","s","M","Mt","t","e","n","o","r","s","c","i","Nt","wt","Gt","Tt"],"x_google_ignoreList":[0]}