@carto/ps-react-maps 4.5.1 → 4.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx as Y, jsxs as Ce } from "react/jsx-runtime";
2
2
  import { c as G } from "react/compiler-runtime";
3
3
  import { useImperativeHandle as YA, useEffect as Z, useState as uA, createContext as WA, useContext as KA, useRef as OA, useMemo as TA, useCallback as CA } from "react";
4
- import { MapProvider as $e, Map as Xe, useMap as Je } from "react-map-gl/maplibre";
4
+ import { MapProvider as $e, Map as Je, useMap as Xe } from "react-map-gl/maplibre";
5
5
  import At from "@deck.gl/react";
6
6
  import { useMap as Be, Map as et, APIProvider as tt } from "@vis.gl/react-google-maps";
7
7
  import { GoogleMapsOverlay as rt } from "@deck.gl/google-maps";
@@ -10,17 +10,17 @@ import { FlyToInterpolator as nt, WebMercatorViewport as xe } from "@deck.gl/cor
10
10
  import { CompositeMode as it, TranslateMode as ot, ModifyMode as st, DrawPolygonByDraggingMode as lt, DrawCircleFromCenterMode as Se, DrawRectangleMode as at, DrawPolygonMode as ut, EditableGeoJsonLayer as ft, MeasureAreaMode as ct, getPickedEditHandle as ht, MeasureDistanceMode as gt, ViewMode as dt } from "@deck.gl-community/editable-layers";
11
11
  import { DataFilterExtension as pt, MaskExtension as mt } from "@deck.gl/extensions";
12
12
  import { Pan as ie, InputDirection as wt, EventManager as yt, Tap as oe, Pinch as bt } from "mjolnir.js";
13
- import { GeoJsonLayer as Et } from "@deck.gl/layers";
13
+ import { GeoJsonLayer as vt } from "@deck.gl/layers";
14
14
  import { useShallow as Me } from "zustand/shallow";
15
- import { area as se, centroid as De, lineIntersect as vt, booleanIntersects as kt, feature as Ct, bbox as Bt, featureCollection as _t, multiPolygon as XA, multiLineString as xt, multiPoint as St, polygon as Mt, lineString as Dt, point as Pt } from "@turf/turf";
15
+ import { area as se, centroid as De, lineIntersect as Et, booleanIntersects as kt, feature as Ct, bbox as Bt, featureCollection as _t, multiPolygon as JA, multiLineString as xt, multiPoint as St, polygon as Mt, lineString as Dt, point as Pt } from "@turf/turf";
16
16
  import { formatNumber as Pe, formatCurrency as Tt } from "@carto/ps-utils";
17
17
  import Te from "convert-units";
18
18
  import Ot from "convert-units/definitions/length";
19
19
  import Lt from "convert-units/definitions/area";
20
20
  import { useQuery as Oe } from "@tanstack/react-query";
21
- import { WidgetSource as Le, AggregationTypes as yA, aggregationFunctions as SA, histogram as It, groupValuesByColumn as Qt, OTHERS_CATEGORY_NAME as Ft, scatterPlot as Rt, applySorting as Ut, groupValuesByDateColumn as Nt, applyFilters as Gt, getApplicableFilters as zt, removeFilter as jt, addFilter as JA, WidgetRasterSource as Vt, WidgetTilesetSource as Ht, TileFormat as qt, WidgetTableSource as Yt, WidgetQuerySource as Wt, createViewportSpatialFilter as Kt, vectorTilesetSource as Zt } from "@carto/api-client";
21
+ import { WidgetSource as Le, AggregationTypes as yA, aggregationFunctions as SA, histogram as It, groupValuesByColumn as Qt, OTHERS_CATEGORY_NAME as Ft, scatterPlot as Rt, applySorting as Ut, groupValuesByDateColumn as Nt, applyFilters as Gt, getApplicableFilters as zt, removeFilter as jt, addFilter as XA, WidgetRasterSource as Vt, WidgetTilesetSource as Ht, TileFormat as qt, WidgetTableSource as Yt, WidgetQuerySource as Wt, createViewportSpatialFilter as Kt, vectorTilesetSource as Zt } from "@carto/api-client";
22
22
  import { devtools as $t } from "zustand/middleware";
23
- import Xt from "html2canvas";
23
+ import Jt from "html2canvas";
24
24
  const RA = {
25
25
  roadmap: "roadmap",
26
26
  satellite: "satellite",
@@ -60,7 +60,7 @@ const RA = {
60
60
  type: aA.googleMaps
61
61
  }
62
62
  };
63
- function Jt({
63
+ function Xt({
64
64
  isDragging: r,
65
65
  isHovering: A
66
66
  }) {
@@ -77,48 +77,48 @@ function A0(r) {
77
77
  }
78
78
  function e0(r) {
79
79
  const A = G(39);
80
- let e, t, n, i, o, s, l, f, g, c, h, y;
80
+ let e, t, n, i, o, s, l, f, h, d, c, y;
81
81
  A[0] !== r ? ({
82
82
  instanceRef: o,
83
- overlayRef: c,
83
+ overlayRef: d,
84
84
  controller: e,
85
85
  id: i,
86
86
  layers: s,
87
87
  mapStyle: l,
88
- parameters: h,
88
+ parameters: c,
89
89
  getCursor: t,
90
90
  getTooltip: n,
91
91
  onLoad: f,
92
- onViewStateChange: g,
92
+ onViewStateChange: h,
93
93
  ...y
94
- } = r, A[0] = r, A[1] = e, A[2] = t, A[3] = n, A[4] = i, A[5] = o, A[6] = s, A[7] = l, A[8] = f, A[9] = g, A[10] = c, A[11] = h, A[12] = y) : (e = A[1], t = A[2], n = A[3], i = A[4], o = A[5], s = A[6], l = A[7], f = A[8], g = A[9], c = A[10], h = A[11], y = A[12]);
95
- let E;
96
- A[13] !== s ? (E = s.filter(n0).map(r0), A[13] = s, A[14] = E) : E = A[14];
97
- const w = E, k = o;
94
+ } = r, A[0] = r, A[1] = e, A[2] = t, A[3] = n, A[4] = i, A[5] = o, A[6] = s, A[7] = l, A[8] = f, A[9] = h, A[10] = d, A[11] = c, A[12] = y) : (e = A[1], t = A[2], n = A[3], i = A[4], o = A[5], s = A[6], l = A[7], f = A[8], h = A[9], d = A[10], c = A[11], y = A[12]);
95
+ let b;
96
+ A[13] !== s ? (b = s.filter(n0).map(r0), A[13] = s, A[14] = b) : b = A[14];
97
+ const m = b, E = o;
98
98
  let u;
99
99
  A[15] !== f ? (u = () => f({
100
100
  type: "deckgl",
101
101
  value: !0
102
102
  }), A[15] = f, A[16] = u) : u = A[16];
103
- let d;
104
- A[17] !== h ? (d = {
103
+ let g;
104
+ A[17] !== c ? (g = {
105
105
  depthTest: !1,
106
- ...h
107
- }, A[17] = h, A[18] = d) : d = A[18];
108
- let m;
109
- A[19] !== c ? (m = /* @__PURE__ */ Y(i0, { overlayRef: c }), A[19] = c, A[20] = m) : m = A[20];
110
- let v;
111
- A[21] !== f ? (v = () => f({
106
+ ...c
107
+ }, A[17] = c, A[18] = g) : g = A[18];
108
+ let w;
109
+ A[19] !== d ? (w = /* @__PURE__ */ Y(i0, { overlayRef: d }), A[19] = d, A[20] = w) : w = A[20];
110
+ let k;
111
+ A[21] !== f ? (k = () => f({
112
112
  type: "load",
113
113
  value: !0
114
- }), A[21] = f, A[22] = v) : v = A[22];
115
- let b;
116
- A[23] !== l || A[24] !== v ? (b = /* @__PURE__ */ Y(Xe, { reuseMaps: !1, mapStyle: l, onLoad: v, onRender: t0 }), A[23] = l, A[24] = v, A[25] = b) : b = A[25];
114
+ }), A[21] = f, A[22] = k) : k = A[22];
115
+ let v;
116
+ A[23] !== l || A[24] !== k ? (v = /* @__PURE__ */ Y(Je, { reuseMaps: !1, mapStyle: l, onLoad: k, onRender: t0 }), A[23] = l, A[24] = k, A[25] = v) : v = A[25];
117
117
  let _;
118
- return A[26] !== w || A[27] !== e || A[28] !== t || A[29] !== n || A[30] !== i || A[31] !== g || A[32] !== y || A[33] !== k || A[34] !== u || A[35] !== d || A[36] !== m || A[37] !== b ? (_ = /* @__PURE__ */ Y($e, { children: /* @__PURE__ */ Y("div", { className: "deckgl-map", children: /* @__PURE__ */ Ce(At, { controller: e, id: i, ref: k, layers: w, getCursor: t, getTooltip: n, onLoad: u, onViewStateChange: g, parameters: d, ...y, children: [
119
- m,
120
- b
121
- ] }) }) }), A[26] = w, A[27] = e, A[28] = t, A[29] = n, A[30] = i, A[31] = g, A[32] = y, A[33] = k, A[34] = u, A[35] = d, A[36] = m, A[37] = b, A[38] = _) : _ = A[38], _;
118
+ return A[26] !== m || A[27] !== e || A[28] !== t || A[29] !== n || A[30] !== i || A[31] !== h || A[32] !== y || A[33] !== E || A[34] !== u || A[35] !== g || A[36] !== w || A[37] !== v ? (_ = /* @__PURE__ */ Y($e, { children: /* @__PURE__ */ Y("div", { className: "deckgl-map", children: /* @__PURE__ */ Ce(At, { controller: e, id: i, ref: E, layers: m, getCursor: t, getTooltip: n, onLoad: u, onViewStateChange: h, parameters: g, ...y, children: [
119
+ w,
120
+ v
121
+ ] }) }) }), A[26] = m, A[27] = e, A[28] = t, A[29] = n, A[30] = i, A[31] = h, A[32] = y, A[33] = E, A[34] = u, A[35] = g, A[36] = w, A[37] = v, A[38] = _) : _ = A[38], _;
122
122
  }
123
123
  function t0() {
124
124
  document.querySelector(".maplibregl-compact-show")?.classList.remove("maplibregl-compact-show");
@@ -138,7 +138,7 @@ function i0(r) {
138
138
  overlayRef: e
139
139
  } = r, {
140
140
  default: t
141
- } = Je();
141
+ } = Xe();
142
142
  let n, i;
143
143
  return A[0] !== t ? (n = () => t, i = [t], A[0] = t, A[1] = n, A[2] = i) : (n = A[1], i = A[2]), YA(e, n, i), null;
144
144
  }
@@ -155,37 +155,37 @@ const o0 = (r) => {
155
155
  A[3] !== n ? (s = () => (t.setMap(n), () => {
156
156
  t.finalize();
157
157
  }), l = [t, n], A[3] = n, A[4] = s, A[5] = l) : (s = A[4], l = A[5]), Z(s, l);
158
- let f, g;
158
+ let f, h;
159
159
  return A[6] !== r ? (f = () => {
160
160
  t.setProps(r);
161
- }, g = [t, r], A[6] = r, A[7] = f, A[8] = g) : (f = A[7], g = A[8]), Z(f, g), null;
161
+ }, h = [t, r], A[6] = r, A[7] = f, A[8] = h) : (f = A[7], h = A[8]), Z(f, h), null;
162
162
  };
163
163
  function s0(r) {
164
164
  const A = G(77);
165
- let e, t, n, i, o, s, l, f, g, c, h;
165
+ let e, t, n, i, o, s, l, f, h, d, c;
166
166
  A[0] !== r ? ({
167
167
  id: n,
168
168
  instanceRef: i,
169
169
  basemap: e,
170
170
  layers: o,
171
- gmapsProps: h,
171
+ gmapsProps: c,
172
172
  overlayRef: f,
173
- parameters: g,
173
+ parameters: h,
174
174
  controller: t,
175
175
  onLoad: s,
176
176
  onViewStateChange: l,
177
- ...c
178
- } = r, A[0] = r, A[1] = e, A[2] = t, A[3] = n, A[4] = i, A[5] = o, A[6] = s, A[7] = l, A[8] = f, A[9] = g, A[10] = c, A[11] = h) : (e = A[1], t = A[2], n = A[3], i = A[4], o = A[5], s = A[6], l = A[7], f = A[8], g = A[9], c = A[10], h = A[11]);
177
+ ...d
178
+ } = r, A[0] = r, A[1] = e, A[2] = t, A[3] = n, A[4] = i, A[5] = o, A[6] = s, A[7] = l, A[8] = f, A[9] = h, A[10] = d, A[11] = c) : (e = A[1], t = A[2], n = A[3], i = A[4], o = A[5], s = A[6], l = A[7], f = A[8], h = A[9], d = A[10], c = A[11]);
179
179
  let y;
180
- A[12] !== h ? (y = h === void 0 ? {
180
+ A[12] !== c ? (y = c === void 0 ? {
181
181
  apiKey: ""
182
- } : h, A[12] = h, A[13] = y) : y = A[13];
183
- let E, w, k;
182
+ } : c, A[12] = c, A[13] = y) : y = A[13];
183
+ let b, m, E;
184
184
  A[14] !== y ? ({
185
- apiKey: k,
186
- APIProviderProps: E,
187
- ...w
188
- } = y, A[14] = y, A[15] = E, A[16] = w, A[17] = k) : (E = A[15], w = A[16], k = A[17]);
185
+ apiKey: E,
186
+ APIProviderProps: b,
187
+ ...m
188
+ } = y, A[14] = y, A[15] = b, A[16] = m, A[17] = E) : (b = A[15], m = A[16], E = A[17]);
189
189
  let u;
190
190
  A: {
191
191
  if (typeof t == "boolean") {
@@ -197,7 +197,7 @@ function s0(r) {
197
197
  }, A[18] = t, A[19] = oA) : oA = A[19], u = oA;
198
198
  break A;
199
199
  }
200
- const J = t, eA = J?.dragPan ?? !0, $ = J?.doubleClickZoom ?? !0, W = J?.scrollZoom ?? !0;
200
+ const X = t, eA = X?.dragPan ?? !0, $ = X?.doubleClickZoom ?? !0, W = X?.scrollZoom ?? !0;
201
201
  let AA;
202
202
  A[20] !== eA || A[21] !== $ || A[22] !== W ? (AA = {
203
203
  dragPan: eA,
@@ -205,36 +205,36 @@ function s0(r) {
205
205
  scrollZoom: W
206
206
  }, A[20] = eA, A[21] = $, A[22] = W, A[23] = AA) : AA = A[23], u = AA;
207
207
  }
208
- const d = u;
209
- let m;
210
- A[24] !== o ? (m = o.filter(a0).map(l0), A[24] = o, A[25] = m) : m = A[25];
211
- const v = m;
212
- let b;
213
- A[26] !== c.initialViewState?.maxZoom || A[27] !== c.initialViewState?.minZoom ? (b = (J) => {
208
+ const g = u;
209
+ let w;
210
+ A[24] !== o ? (w = o.filter(a0).map(l0), A[24] = o, A[25] = w) : w = A[25];
211
+ const k = w;
212
+ let v;
213
+ A[26] !== d.initialViewState?.maxZoom || A[27] !== d.initialViewState?.minZoom ? (v = (X) => {
214
214
  const {
215
215
  detail: eA
216
- } = J, {
216
+ } = X, {
217
217
  center: $,
218
218
  zoom: W,
219
219
  heading: AA,
220
220
  tilt: oA
221
221
  } = eA;
222
222
  return {
223
- maxZoom: c.initialViewState?.maxZoom,
224
- minZoom: c.initialViewState?.minZoom,
223
+ maxZoom: d.initialViewState?.maxZoom,
224
+ minZoom: d.initialViewState?.minZoom,
225
225
  latitude: $.lat,
226
226
  longitude: $.lng,
227
227
  zoom: W - 1,
228
228
  bearing: AA,
229
229
  pitch: oA
230
230
  };
231
- }, A[26] = c.initialViewState?.maxZoom, A[27] = c.initialViewState?.minZoom, A[28] = b) : b = A[28], c.initialViewState?.maxZoom, c.initialViewState?.minZoom;
232
- const _ = b;
231
+ }, A[26] = d.initialViewState?.maxZoom, A[27] = d.initialViewState?.minZoom, A[28] = v) : v = A[28], d.initialViewState?.maxZoom, d.initialViewState?.minZoom;
232
+ const _ = v;
233
233
  let T;
234
- A[29] !== i || A[30] !== l ? (T = (J) => {
234
+ A[29] !== i || A[30] !== l ? (T = (X) => {
235
235
  const $ = i?.current?._deck, W = {
236
236
  ...$?.viewState,
237
- ...J
237
+ ...X
238
238
  }, AA = {
239
239
  ...W,
240
240
  latitude: W.latitude,
@@ -254,25 +254,25 @@ function s0(r) {
254
254
  }, A[29] = i, A[30] = l, A[31] = T) : T = A[31];
255
255
  const I = T;
256
256
  let x;
257
- A[32] !== I || A[33] !== _ ? (x = (J) => {
258
- const eA = _(J);
257
+ A[32] !== I || A[33] !== _ ? (x = (X) => {
258
+ const eA = _(X);
259
259
  I(eA);
260
260
  }, A[32] = I, A[33] = _, A[34] = x) : x = A[34];
261
- const Q = x, F = c.initialViewState?.latitude ?? 0, D = c.initialViewState?.longitude ?? 0;
261
+ const Q = x, F = d.initialViewState?.latitude ?? 0, D = d.initialViewState?.longitude ?? 0;
262
262
  let P;
263
263
  A[35] !== F || A[36] !== D ? (P = {
264
264
  lat: F,
265
265
  lng: D
266
266
  }, A[35] = F, A[36] = D, A[37] = P) : P = A[37];
267
- const N = (c.initialViewState?.zoom ?? 0) + 1, a = (c.initialViewState?.maxZoom ?? 23) + 1, p = (c.initialViewState?.minZoom ?? 0) + 1, C = c.initialViewState?.pitch, M = c.initialViewState?.bearing;
267
+ const N = (d.initialViewState?.zoom ?? 0) + 1, a = (d.initialViewState?.maxZoom ?? 23) + 1, p = (d.initialViewState?.minZoom ?? 0) + 1, C = d.initialViewState?.pitch, M = d.initialViewState?.bearing;
268
268
  let S;
269
- A[38] !== I || A[39] !== s || A[40] !== c.initialViewState ? (S = () => {
269
+ A[38] !== I || A[39] !== s || A[40] !== d.initialViewState ? (S = () => {
270
270
  s({
271
271
  type: "load",
272
272
  value: !0
273
- }), I(c.initialViewState);
274
- }, A[38] = I, A[39] = s, A[40] = c.initialViewState, A[41] = S) : S = A[41];
275
- const B = typeof d.scrollZoom == "boolean" ? d.scrollZoom : !!d.scrollZoom, z = d.dragPan ? "greedy" : "none", U = !d.doubleClickZoom;
273
+ }), I(d.initialViewState);
274
+ }, A[38] = I, A[39] = s, A[40] = d.initialViewState, A[41] = S) : S = A[41];
275
+ const B = typeof g.scrollZoom == "boolean" ? g.scrollZoom : !!g.scrollZoom, z = g.dragPan ? "greedy" : "none", U = !g.doubleClickZoom;
276
276
  let j;
277
277
  A[42] !== n || A[43] !== f ? (j = /* @__PURE__ */ Y(u0, { id: n, overlayRef: f }), A[42] = n, A[43] = f, A[44] = j) : j = A[44];
278
278
  let R;
@@ -283,19 +283,19 @@ function s0(r) {
283
283
  });
284
284
  }, A[45] = s, A[46] = R) : R = A[46];
285
285
  let H;
286
- A[47] !== g ? (H = {
286
+ A[47] !== h ? (H = {
287
287
  depthTest: !1,
288
- ...g
289
- }, A[47] = g, A[48] = H) : H = A[48];
288
+ ...h
289
+ }, A[47] = h, A[48] = H) : H = A[48];
290
290
  let nA;
291
- A[49] !== v || A[50] !== n || A[51] !== i || A[52] !== c || A[53] !== R || A[54] !== H ? (nA = /* @__PURE__ */ Y(o0, { id: n, instanceRef: i, layers: v, onLoad: R, parameters: H, ...c }), A[49] = v, A[50] = n, A[51] = i, A[52] = c, A[53] = R, A[54] = H, A[55] = nA) : nA = A[55];
292
- let X;
293
- A[56] !== w || A[57] !== e || A[58] !== Q || A[59] !== n || A[60] !== P || A[61] !== N || A[62] !== a || A[63] !== p || A[64] !== C || A[65] !== M || A[66] !== S || A[67] !== B || A[68] !== z || A[69] !== U || A[70] !== j || A[71] !== nA ? (X = /* @__PURE__ */ Y("div", { className: "deckgl-map", children: /* @__PURE__ */ Ce(et, { id: n, mapTypeId: e, disableDefaultUI: !0, ...w, center: P, zoom: N, maxZoom: a, minZoom: p, tilt: C, heading: M, onTilesLoaded: S, onBoundsChanged: Q, onZoomChanged: Q, scrollwheel: B, gestureHandling: z, disableDoubleClickZoom: U, children: [
291
+ A[49] !== k || A[50] !== n || A[51] !== i || A[52] !== d || A[53] !== R || A[54] !== H ? (nA = /* @__PURE__ */ Y(o0, { id: n, instanceRef: i, layers: k, onLoad: R, parameters: H, ...d }), A[49] = k, A[50] = n, A[51] = i, A[52] = d, A[53] = R, A[54] = H, A[55] = nA) : nA = A[55];
292
+ let J;
293
+ A[56] !== m || A[57] !== e || A[58] !== Q || A[59] !== n || A[60] !== P || A[61] !== N || A[62] !== a || A[63] !== p || A[64] !== C || A[65] !== M || A[66] !== S || A[67] !== B || A[68] !== z || A[69] !== U || A[70] !== j || A[71] !== nA ? (J = /* @__PURE__ */ Y("div", { className: "deckgl-map", children: /* @__PURE__ */ Ce(et, { id: n, mapTypeId: e, disableDefaultUI: !0, ...m, center: P, zoom: N, maxZoom: a, minZoom: p, tilt: C, heading: M, onTilesLoaded: S, onBoundsChanged: Q, onZoomChanged: Q, scrollwheel: B, gestureHandling: z, disableDoubleClickZoom: U, children: [
294
294
  j,
295
295
  nA
296
- ] }) }), A[56] = w, A[57] = e, A[58] = Q, A[59] = n, A[60] = P, A[61] = N, A[62] = a, A[63] = p, A[64] = C, A[65] = M, A[66] = S, A[67] = B, A[68] = z, A[69] = U, A[70] = j, A[71] = nA, A[72] = X) : X = A[72];
296
+ ] }) }), A[56] = m, A[57] = e, A[58] = Q, A[59] = n, A[60] = P, A[61] = N, A[62] = a, A[63] = p, A[64] = C, A[65] = M, A[66] = S, A[67] = B, A[68] = z, A[69] = U, A[70] = j, A[71] = nA, A[72] = J) : J = A[72];
297
297
  let lA;
298
- return A[73] !== E || A[74] !== k || A[75] !== X ? (lA = /* @__PURE__ */ Y(tt, { apiKey: k, ...E, children: X }), A[73] = E, A[74] = k, A[75] = X, A[76] = lA) : lA = A[76], lA;
298
+ return A[73] !== b || A[74] !== E || A[75] !== J ? (lA = /* @__PURE__ */ Y(tt, { apiKey: E, ...b, children: J }), A[73] = b, A[74] = E, A[75] = J, A[76] = lA) : lA = A[76], lA;
299
299
  }
300
300
  function l0(r) {
301
301
  const {
@@ -317,31 +317,31 @@ function u0(r) {
317
317
  }
318
318
  function f0(r) {
319
319
  const A = G(46);
320
- let e, t, n, i, o, s, l, f, g, c, h, y;
320
+ let e, t, n, i, o, s, l, f, h, d, c, y;
321
321
  A[0] !== r ? ({
322
322
  instanceRef: t,
323
323
  overlayRef: i,
324
324
  basemap: s,
325
325
  controller: l,
326
326
  id: f,
327
- layers: g,
327
+ layers: h,
328
328
  gmapsProps: e,
329
- getCursor: c,
330
- getTooltip: h,
329
+ getCursor: d,
330
+ getTooltip: c,
331
331
  onLoad: n,
332
332
  onViewStateChange: y,
333
333
  ...o
334
- } = r, A[0] = r, A[1] = e, A[2] = t, A[3] = n, A[4] = i, A[5] = o, A[6] = s, A[7] = l, A[8] = f, A[9] = g, A[10] = c, A[11] = h, A[12] = y) : (e = A[1], t = A[2], n = A[3], i = A[4], o = A[5], s = A[6], l = A[7], f = A[8], g = A[9], c = A[10], h = A[11], y = A[12]);
335
- const E = s === void 0 ? sA.positron : s, w = l === void 0 ? !0 : l, k = f === void 0 ? "deck-gl-map" : f;
334
+ } = r, A[0] = r, A[1] = e, A[2] = t, A[3] = n, A[4] = i, A[5] = o, A[6] = s, A[7] = l, A[8] = f, A[9] = h, A[10] = d, A[11] = c, A[12] = y) : (e = A[1], t = A[2], n = A[3], i = A[4], o = A[5], s = A[6], l = A[7], f = A[8], h = A[9], d = A[10], c = A[11], y = A[12]);
335
+ const b = s === void 0 ? sA.positron : s, m = l === void 0 ? !0 : l, E = f === void 0 ? "deck-gl-map" : f;
336
336
  let u;
337
- A[13] !== g ? (u = g === void 0 ? [] : g, A[13] = g, A[14] = u) : u = A[14];
338
- const d = u, m = c === void 0 ? Jt : c, v = h === void 0 ? A0 : h, b = y === void 0 ? h0 : y;
337
+ A[13] !== h ? (u = h === void 0 ? [] : h, A[13] = h, A[14] = u) : u = A[14];
338
+ const g = u, w = d === void 0 ? Xt : d, k = c === void 0 ? A0 : c, v = y === void 0 ? h0 : y;
339
339
  let _;
340
340
  A[15] === Symbol.for("react.memo_cache_sentinel") ? (_ = [!1, !1], A[15] = _) : _ = A[15];
341
341
  const [T, I] = uA(_), {
342
342
  url: x,
343
343
  type: Q
344
- } = BA[E], F = Q === aA.googleMaps;
344
+ } = BA[b], F = Q === aA.googleMaps;
345
345
  let D;
346
346
  A[16] === Symbol.for("react.memo_cache_sentinel") ? (D = (S) => {
347
347
  const B = S.type === "deckgl" ? 0 : 1;
@@ -364,10 +364,10 @@ function f0(r) {
364
364
  n?.(S);
365
365
  }, C = [T, n], A[19] = T, A[20] = n, A[21] = p, A[22] = C) : (p = A[21], C = A[22]), Z(p, C), F) {
366
366
  let S;
367
- return A[23] !== E || A[24] !== w || A[25] !== m || A[26] !== v || A[27] !== e || A[28] !== k || A[29] !== t || A[30] !== d || A[31] !== b || A[32] !== i || A[33] !== o ? (S = /* @__PURE__ */ Y(s0, { instanceRef: t, overlayRef: i, controller: w, id: k, basemap: E, layers: d, gmapsProps: e, getCursor: m, getTooltip: v, onLoad: P, onViewStateChange: b, ...o }), A[23] = E, A[24] = w, A[25] = m, A[26] = v, A[27] = e, A[28] = k, A[29] = t, A[30] = d, A[31] = b, A[32] = i, A[33] = o, A[34] = S) : S = A[34], S;
367
+ return A[23] !== b || A[24] !== m || A[25] !== w || A[26] !== k || A[27] !== e || A[28] !== E || A[29] !== t || A[30] !== g || A[31] !== v || A[32] !== i || A[33] !== o ? (S = /* @__PURE__ */ Y(s0, { instanceRef: t, overlayRef: i, controller: m, id: E, basemap: b, layers: g, gmapsProps: e, getCursor: w, getTooltip: k, onLoad: P, onViewStateChange: v, ...o }), A[23] = b, A[24] = m, A[25] = w, A[26] = k, A[27] = e, A[28] = E, A[29] = t, A[30] = g, A[31] = v, A[32] = i, A[33] = o, A[34] = S) : S = A[34], S;
368
368
  }
369
369
  let M;
370
- return A[35] !== w || A[36] !== m || A[37] !== v || A[38] !== k || A[39] !== t || A[40] !== d || A[41] !== x || A[42] !== b || A[43] !== i || A[44] !== o ? (M = /* @__PURE__ */ Y(e0, { instanceRef: t, overlayRef: i, controller: w, id: k, layers: d, mapStyle: x, getCursor: m, getTooltip: v, onLoad: P, onViewStateChange: b, ...o }), A[35] = w, A[36] = m, A[37] = v, A[38] = k, A[39] = t, A[40] = d, A[41] = x, A[42] = b, A[43] = i, A[44] = o, A[45] = M) : M = A[45], M;
370
+ return A[35] !== m || A[36] !== w || A[37] !== k || A[38] !== E || A[39] !== t || A[40] !== g || A[41] !== x || A[42] !== v || A[43] !== i || A[44] !== o ? (M = /* @__PURE__ */ Y(e0, { instanceRef: t, overlayRef: i, controller: m, id: E, layers: g, mapStyle: x, getCursor: w, getTooltip: k, onLoad: P, onViewStateChange: v, ...o }), A[35] = m, A[36] = w, A[37] = k, A[38] = E, A[39] = t, A[40] = g, A[41] = x, A[42] = v, A[43] = i, A[44] = o, A[45] = M) : M = A[45], M;
371
371
  }
372
372
  function c0(r) {
373
373
  return r;
@@ -389,15 +389,15 @@ var NA, le;
389
389
  function d0() {
390
390
  if (le) return NA;
391
391
  le = 1;
392
- var r = function(d) {
393
- return A(d) && !e(d);
392
+ var r = function(g) {
393
+ return A(g) && !e(g);
394
394
  };
395
395
  function A(u) {
396
396
  return !!u && typeof u == "object";
397
397
  }
398
398
  function e(u) {
399
- var d = Object.prototype.toString.call(u);
400
- return d === "[object RegExp]" || d === "[object Date]" || i(u);
399
+ var g = Object.prototype.toString.call(u);
400
+ return g === "[object RegExp]" || g === "[object Date]" || i(u);
401
401
  }
402
402
  var t = typeof Symbol == "function" && Symbol.for, n = t ? Symbol.for("react.element") : 60103;
403
403
  function i(u) {
@@ -406,60 +406,60 @@ function d0() {
406
406
  function o(u) {
407
407
  return Array.isArray(u) ? [] : {};
408
408
  }
409
- function s(u, d) {
410
- return d.clone !== !1 && d.isMergeableObject(u) ? w(o(u), u, d) : u;
409
+ function s(u, g) {
410
+ return g.clone !== !1 && g.isMergeableObject(u) ? m(o(u), u, g) : u;
411
411
  }
412
- function l(u, d, m) {
413
- return u.concat(d).map(function(v) {
414
- return s(v, m);
412
+ function l(u, g, w) {
413
+ return u.concat(g).map(function(k) {
414
+ return s(k, w);
415
415
  });
416
416
  }
417
- function f(u, d) {
418
- if (!d.customMerge)
419
- return w;
420
- var m = d.customMerge(u);
421
- return typeof m == "function" ? m : w;
417
+ function f(u, g) {
418
+ if (!g.customMerge)
419
+ return m;
420
+ var w = g.customMerge(u);
421
+ return typeof w == "function" ? w : m;
422
422
  }
423
- function g(u) {
424
- return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(u).filter(function(d) {
425
- return Object.propertyIsEnumerable.call(u, d);
423
+ function h(u) {
424
+ return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(u).filter(function(g) {
425
+ return Object.propertyIsEnumerable.call(u, g);
426
426
  }) : [];
427
427
  }
428
- function c(u) {
429
- return Object.keys(u).concat(g(u));
428
+ function d(u) {
429
+ return Object.keys(u).concat(h(u));
430
430
  }
431
- function h(u, d) {
431
+ function c(u, g) {
432
432
  try {
433
- return d in u;
433
+ return g in u;
434
434
  } catch {
435
435
  return !1;
436
436
  }
437
437
  }
438
- function y(u, d) {
439
- return h(u, d) && !(Object.hasOwnProperty.call(u, d) && Object.propertyIsEnumerable.call(u, d));
438
+ function y(u, g) {
439
+ return c(u, g) && !(Object.hasOwnProperty.call(u, g) && Object.propertyIsEnumerable.call(u, g));
440
440
  }
441
- function E(u, d, m) {
442
- var v = {};
443
- return m.isMergeableObject(u) && c(u).forEach(function(b) {
444
- v[b] = s(u[b], m);
445
- }), c(d).forEach(function(b) {
446
- y(u, b) || (h(u, b) && m.isMergeableObject(d[b]) ? v[b] = f(b, m)(u[b], d[b], m) : v[b] = s(d[b], m));
447
- }), v;
441
+ function b(u, g, w) {
442
+ var k = {};
443
+ return w.isMergeableObject(u) && d(u).forEach(function(v) {
444
+ k[v] = s(u[v], w);
445
+ }), d(g).forEach(function(v) {
446
+ y(u, v) || (c(u, v) && w.isMergeableObject(g[v]) ? k[v] = f(v, w)(u[v], g[v], w) : k[v] = s(g[v], w));
447
+ }), k;
448
448
  }
449
- function w(u, d, m) {
450
- m = m || {}, m.arrayMerge = m.arrayMerge || l, m.isMergeableObject = m.isMergeableObject || r, m.cloneUnlessOtherwiseSpecified = s;
451
- var v = Array.isArray(d), b = Array.isArray(u), _ = v === b;
452
- return _ ? v ? m.arrayMerge(u, d, m) : E(u, d, m) : s(d, m);
449
+ function m(u, g, w) {
450
+ w = w || {}, w.arrayMerge = w.arrayMerge || l, w.isMergeableObject = w.isMergeableObject || r, w.cloneUnlessOtherwiseSpecified = s;
451
+ var k = Array.isArray(g), v = Array.isArray(u), _ = k === v;
452
+ return _ ? k ? w.arrayMerge(u, g, w) : b(u, g, w) : s(g, w);
453
453
  }
454
- w.all = function(d, m) {
455
- if (!Array.isArray(d))
454
+ m.all = function(g, w) {
455
+ if (!Array.isArray(g))
456
456
  throw new Error("first argument should be an array");
457
- return d.reduce(function(v, b) {
458
- return w(v, b, m);
457
+ return g.reduce(function(k, v) {
458
+ return m(k, v, w);
459
459
  }, {});
460
460
  };
461
- var k = w;
462
- return NA = k, NA;
461
+ var E = m;
462
+ return NA = E, NA;
463
463
  }
464
464
  var p0 = d0();
465
465
  const gA = /* @__PURE__ */ Ie(p0), m0 = (r) => {
@@ -540,11 +540,11 @@ const gA = /* @__PURE__ */ Ie(p0), m0 = (r) => {
540
540
  if (!s.maps?.[n]?.isLoaded) return;
541
541
  const l = s.getViewState(n);
542
542
  if (!l) return;
543
- const g = new xe(l).fitBounds(i, o?.boundsOptions);
543
+ const h = new xe(l).fitBounds(i, o?.boundsOptions);
544
544
  return {
545
- latitude: g.latitude,
546
- longitude: g.longitude,
547
- zoom: g.zoom,
545
+ latitude: h.latitude,
546
+ longitude: h.longitude,
547
+ zoom: h.zoom,
548
548
  ...o?.viewStateOptions
549
549
  };
550
550
  },
@@ -696,7 +696,7 @@ const gA = /* @__PURE__ */ Ie(p0), m0 = (r) => {
696
696
  const t = A(), n = t.initialViewStates;
697
697
  n[e] && t.flyTo(e, n[e]);
698
698
  }
699
- })), E0 = (r) => {
699
+ })), v0 = (r) => {
700
700
  const A = r.reduce((e, t) => (e[t.id] = t.spatialFilter ?? {}, e), {});
701
701
  return ((e) => ({
702
702
  spatialFilter: A,
@@ -720,25 +720,25 @@ const gA = /* @__PURE__ */ Ie(p0), m0 = (r) => {
720
720
  });
721
721
  }
722
722
  }));
723
- }, v0 = ((r, A) => ({
723
+ }, E0 = ((r, A) => ({
724
724
  setLayerHover: (e, t, n) => {
725
725
  const i = A(), o = i.getDeckInstance(e), s = i.getViewport(e), l = o?.widgetManager;
726
726
  if (!l || !s) return;
727
- const [f, g] = s.project(n);
728
- if (f == null || g == null || isNaN(f) || isNaN(g)) return;
729
- const c = o.pickObject({
727
+ const [f, h] = s.project(n);
728
+ if (f == null || h == null || isNaN(f) || isNaN(h)) return;
729
+ const d = o.pickObject({
730
730
  x: f,
731
- y: g,
731
+ y: h,
732
732
  radius: 5,
733
733
  layerIds: [t]
734
734
  });
735
- if (!c) return;
736
- const h = {
737
- ...c,
735
+ if (!d) return;
736
+ const c = {
737
+ ...d,
738
738
  x: f,
739
- y: g
739
+ y: h
740
740
  }, y = new MouseEvent("mouseenter");
741
- c.layer?.onHover?.(h, y), l.onHover?.(h, y);
741
+ d.layer?.onHover?.(c, y), l.onHover?.(c, y);
742
742
  },
743
743
  clearLayersHover: (e) => {
744
744
  const i = A().getDeckInstance(e)?.widgetManager;
@@ -750,9 +750,9 @@ const gA = /* @__PURE__ */ Ie(p0), m0 = (r) => {
750
750
  ...m0(r)(...A),
751
751
  ...w0(r)(...A),
752
752
  ...y0(r)(...A),
753
- ...E0(r)(...A),
753
+ ...v0(r)(...A),
754
754
  ...b0(...A),
755
- ...v0(...A)
755
+ ...E0(...A)
756
756
  })), Qe = WA({});
757
757
  function C0(r) {
758
758
  const A = G(5), {
@@ -777,12 +777,12 @@ function ei(r) {
777
777
  mapId: t
778
778
  } = r;
779
779
  let n;
780
- A[0] !== t ? (n = (g) => g.maps[t], A[0] = t, A[1] = n) : n = A[1];
780
+ A[0] !== t ? (n = (h) => h.maps[t], A[0] = t, A[1] = n) : n = A[1];
781
781
  const {
782
782
  basemap: i
783
783
  } = L(n), o = L(B0);
784
784
  let s;
785
- A[2] !== t || A[3] !== o ? (s = (g) => o(t, g), A[2] = t, A[3] = o, A[4] = s) : s = A[4];
785
+ A[2] !== t || A[3] !== o ? (s = (h) => o(t, h), A[2] = t, A[3] = o, A[4] = s) : s = A[4];
786
786
  const l = s;
787
787
  let f;
788
788
  return A[5] !== i || A[6] !== e || A[7] !== l ? (f = e({
@@ -876,7 +876,7 @@ const mA = "lassoLayer", IA = "maskLayer", x0 = {
876
876
  value: "edit",
877
877
  mode: _0
878
878
  }
879
- }, EA = _e((r, A) => ({
879
+ }, vA = _e((r, A) => ({
880
880
  layers: {},
881
881
  setLayer: (e, t) => r((n) => {
882
882
  const i = {
@@ -884,7 +884,7 @@ const mA = "lassoLayer", IA = "maskLayer", x0 = {
884
884
  }, o = i[e] ?? {
885
885
  type: null,
886
886
  props: {}
887
- }, s = [...o.props.extensions ?? [], ...t.props?.extensions ?? []].reduce((f, g) => (f.some((c) => c.equals(g)) || f.push(g), f), []), l = o.legend || t.legend ? {
887
+ }, s = [...o.props.extensions ?? [], ...t.props?.extensions ?? []].reduce((f, h) => (f.some((d) => d.equals(h)) || f.push(h), f), []), l = o.legend || t.legend ? {
888
888
  ...o.legend,
889
889
  ...t.legend
890
890
  } : void 0;
@@ -940,30 +940,30 @@ function Re(r) {
940
940
  layerId: t
941
941
  } = r;
942
942
  let n;
943
- A[0] !== e ? (n = (E) => E.maps[e]?.basemap, A[0] = e, A[1] = n) : n = A[1];
943
+ A[0] !== e ? (n = (b) => b.maps[e]?.basemap, A[0] = e, A[1] = n) : n = A[1];
944
944
  const i = L(n);
945
945
  let o;
946
- A[2] !== e ? (o = (E) => E.maps[e]?.isLoaded, A[2] = e, A[3] = o) : o = A[3];
947
- const s = L(o), l = L(P0), f = EA(D0), {
948
- type: g
949
- } = BA[i], c = g === aA.googleMaps;
950
- let h, y;
951
- A[4] !== l || A[5] !== c || A[6] !== s || A[7] !== t || A[8] !== e || A[9] !== f ? (h = () => {
952
- let E = null;
953
- if (c && s) {
954
- const w = l(e);
955
- E = new yt(w.getDiv(), {
946
+ A[2] !== e ? (o = (b) => b.maps[e]?.isLoaded, A[2] = e, A[3] = o) : o = A[3];
947
+ const s = L(o), l = L(P0), f = vA(D0), {
948
+ type: h
949
+ } = BA[i], d = h === aA.googleMaps;
950
+ let c, y;
951
+ A[4] !== l || A[5] !== d || A[6] !== s || A[7] !== t || A[8] !== e || A[9] !== f ? (c = () => {
952
+ let b = null;
953
+ if (d && s) {
954
+ const m = l(e);
955
+ b = new yt(m.getDiv(), {
956
956
  recognizers: Object.keys(Fe).map(M0)
957
957
  });
958
958
  }
959
959
  return f(t, {
960
960
  props: {
961
- eventManager: E
961
+ eventManager: b
962
962
  }
963
963
  }), () => {
964
- E?.destroy(), E = null;
964
+ b?.destroy(), b = null;
965
965
  };
966
- }, y = [l, c, s, t, e, f], A[4] = l, A[5] = c, A[6] = s, A[7] = t, A[8] = e, A[9] = f, A[10] = h, A[11] = y) : (h = A[10], y = A[11]), Z(h, y);
966
+ }, y = [l, d, s, t, e, f], A[4] = l, A[5] = d, A[6] = s, A[7] = t, A[8] = e, A[9] = f, A[10] = c, A[11] = y) : (c = A[10], y = A[11]), Z(c, y);
967
967
  }
968
968
  function M0(r) {
969
969
  const [A, e, t, n] = Fe[r], i = {
@@ -1066,14 +1066,14 @@ const L0 = (r) => ZA()((A) => ({
1066
1066
  modeInstance: s = new zA.polygon.mode(),
1067
1067
  modes: l = zA,
1068
1068
  modeSelected: f = zA.polygon.value,
1069
- values: g = {}
1069
+ values: h = {}
1070
1070
  } = n;
1071
1071
  return t[o] = {
1072
1072
  enabled: i,
1073
1073
  modeInstance: s,
1074
1074
  modes: l,
1075
1075
  modeSelected: f,
1076
- values: g
1076
+ values: h
1077
1077
  }, t;
1078
1078
  }, {}),
1079
1079
  setEnabled: (t, n) => {
@@ -1179,50 +1179,50 @@ function Q0(r) {
1179
1179
  const i = K(n), o = K(j0);
1180
1180
  let s;
1181
1181
  A[2] !== e ? (s = (x) => x.data[e]?.values, A[2] = e, A[3] = s) : s = A[3];
1182
- const l = K(s), f = K(z0), g = K(G0);
1183
- let c;
1184
- A[4] !== e ? (c = (x) => x.data[e]?.modeSelected, A[4] = e, A[5] = c) : c = A[5];
1185
- const h = K(c), y = K(N0);
1186
- let E;
1187
- A[6] !== e ? (E = (x) => x.data[e]?.modes, A[6] = e, A[7] = E) : E = A[7];
1188
- const w = K(E), k = K(U0);
1189
- let u, d;
1190
- A[8] !== i || A[9] !== e || A[10] !== h || A[11] !== w || A[12] !== k ? (u = () => {
1191
- const x = w[h];
1182
+ const l = K(s), f = K(z0), h = K(G0);
1183
+ let d;
1184
+ A[4] !== e ? (d = (x) => x.data[e]?.modeSelected, A[4] = e, A[5] = d) : d = A[5];
1185
+ const c = K(d), y = K(N0);
1186
+ let b;
1187
+ A[6] !== e ? (b = (x) => x.data[e]?.modes, A[6] = e, A[7] = b) : b = A[7];
1188
+ const m = K(b), E = K(U0);
1189
+ let u, g;
1190
+ A[8] !== i || A[9] !== e || A[10] !== c || A[11] !== m || A[12] !== E ? (u = () => {
1191
+ const x = m[c];
1192
1192
  if (x && i) {
1193
1193
  const Q = x.mode;
1194
- k(e, new Q());
1194
+ E(e, new Q());
1195
1195
  }
1196
- }, d = [i, e, h, w, k], A[8] = i, A[9] = e, A[10] = h, A[11] = w, A[12] = k, A[13] = u, A[14] = d) : (u = A[13], d = A[14]), Z(u, d);
1197
- const m = R0;
1198
- let v;
1199
- A[15] !== l ? (v = [Object.values(l).filter(F0).map(m)], A[15] = l, A[16] = v) : v = A[16];
1200
- const [b] = v;
1196
+ }, g = [i, e, c, m, E], A[8] = i, A[9] = e, A[10] = c, A[11] = m, A[12] = E, A[13] = u, A[14] = g) : (u = A[13], g = A[14]), Z(u, g);
1197
+ const w = R0;
1198
+ let k;
1199
+ A[15] !== l ? (k = [Object.values(l).filter(F0).map(w)], A[15] = l, A[16] = k) : k = A[16];
1200
+ const [v] = k;
1201
1201
  let _;
1202
1202
  A[17] !== e || A[18] !== o || A[19] !== y ? (_ = (x) => {
1203
1203
  o(e, !!x), y(e, x);
1204
1204
  }, A[17] = e, A[18] = o, A[19] = y, A[20] = _) : _ = A[20];
1205
1205
  const T = _;
1206
1206
  let I;
1207
- if (A[21] !== t || A[22] !== i || A[23] !== T || A[24] !== e || A[25] !== b || A[26] !== h || A[27] !== w || A[28] !== o || A[29] !== f || A[30] !== g) {
1207
+ if (A[21] !== t || A[22] !== i || A[23] !== T || A[24] !== e || A[25] !== v || A[26] !== c || A[27] !== m || A[28] !== o || A[29] !== f || A[30] !== h) {
1208
1208
  let x;
1209
1209
  A[32] !== e || A[33] !== f ? (x = (D, P) => f(e, D, P), A[32] = e, A[33] = f, A[34] = x) : x = A[34];
1210
1210
  let Q;
1211
1211
  A[35] !== e || A[36] !== o ? (Q = (D) => o(e, D), A[35] = e, A[36] = o, A[37] = Q) : Q = A[37];
1212
1212
  let F;
1213
- A[38] !== e || A[39] !== g ? (F = (D, P) => g(e, D, P), A[38] = e, A[39] = g, A[40] = F) : F = A[40], I = t({
1213
+ A[38] !== e || A[39] !== h ? (F = (D, P) => h(e, D, P), A[38] = e, A[39] = h, A[40] = F) : F = A[40], I = t({
1214
1214
  mapId: e,
1215
1215
  enabled: i,
1216
- modes: w,
1217
- modeSelected: h,
1216
+ modes: m,
1217
+ modeSelected: c,
1218
1218
  values: {
1219
- mask: b
1219
+ mask: v
1220
1220
  },
1221
1221
  setValue: x,
1222
1222
  setEnabled: Q,
1223
1223
  setVisibility: F,
1224
1224
  setModeSelected: T
1225
- }), A[21] = t, A[22] = i, A[23] = T, A[24] = e, A[25] = b, A[26] = h, A[27] = w, A[28] = o, A[29] = f, A[30] = g, A[31] = I;
1225
+ }), A[21] = t, A[22] = i, A[23] = T, A[24] = e, A[25] = v, A[26] = c, A[27] = m, A[28] = o, A[29] = f, A[30] = h, A[31] = I;
1226
1226
  } else
1227
1227
  I = A[31];
1228
1228
  return I;
@@ -1299,23 +1299,23 @@ function QA({
1299
1299
  dimension: o = "length"
1300
1300
  }) {
1301
1301
  const s = A === qA["m-km"], l = A === qA["ft-mi"], f = s || l;
1302
- let g, c;
1302
+ let h, d;
1303
1303
  if (f) {
1304
1304
  const y = r < (t ?? ce);
1305
- let E = y ? V.meter : V.kilometer;
1306
- g = y ? vA.meter : vA.kilometer, l && (g = y ? vA.feet : vA.mile, E = y ? V.feet : V.mile), c = fe(r, E, o);
1305
+ let b = y ? V.meter : V.kilometer;
1306
+ h = y ? EA.meter : EA.kilometer, l && (h = y ? EA.feet : EA.mile, b = y ? V.feet : V.mile), d = fe(r, b, o);
1307
1307
  } else
1308
- g = vA[A], c = fe(r, A, o);
1309
- let h = `${Pe(c, e, {
1308
+ h = EA[A], d = fe(r, A, o);
1309
+ let c = `${Pe(d, e, {
1310
1310
  style: "unit",
1311
- unit: g,
1311
+ unit: h,
1312
1312
  unitDisplay: "short",
1313
1313
  notation: "standard",
1314
1314
  minimumFractionDigits: 2,
1315
1315
  maximumFractionDigits: 2,
1316
1316
  ...i
1317
1317
  })}`;
1318
- return o === "area" && (h += "2"), n ? n(h) : h;
1318
+ return o === "area" && (c += "2"), n ? n(c) : c;
1319
1319
  }
1320
1320
  function ti(r, {
1321
1321
  hasDoubleClickZoom: A
@@ -1420,7 +1420,7 @@ class Y0 extends ct {
1420
1420
  type: "LineString",
1421
1421
  coordinates: [...t.slice(0, t.length - 1)]
1422
1422
  };
1423
- vt(n, i).features.length > 0 && (e = !0);
1423
+ Et(n, i).features.length > 0 && (e = !0);
1424
1424
  }
1425
1425
  return e;
1426
1426
  }
@@ -1677,7 +1677,7 @@ const cA = "mapMeasureLayer", K0 = {
1677
1677
  [V.kilometer]: hA.squareKilometer,
1678
1678
  [V.mile]: hA.squareMile,
1679
1679
  [V.feet]: hA.squareFeet
1680
- }, vA = {
1680
+ }, EA = {
1681
1681
  [V.kilometer]: "kilometer",
1682
1682
  [V.meter]: "meter",
1683
1683
  [V.centimeter]: "centimeter",
@@ -1722,7 +1722,7 @@ const cA = "mapMeasureLayer", K0 = {
1722
1722
  value: "feet",
1723
1723
  system: "imperial"
1724
1724
  }
1725
- }, pe = [tA["m-km"], tA.kilometer, tA.meter, tA["ft-mi"], tA.mile, tA.feet], $0 = [tA["m-km"], tA.kilometer, tA.meter, tA["ft-mi"], tA.mile, tA.feet], X0 = {
1725
+ }, pe = [tA["m-km"], tA.kilometer, tA.meter, tA["ft-mi"], tA.mile, tA.feet], $0 = [tA["m-km"], tA.kilometer, tA.meter, tA["ft-mi"], tA.mile, tA.feet], J0 = {
1726
1726
  distance: {
1727
1727
  value: "distance",
1728
1728
  mode: ze
@@ -1735,7 +1735,7 @@ const cA = "mapMeasureLayer", K0 = {
1735
1735
  value: "area",
1736
1736
  mode: Y0
1737
1737
  }
1738
- }, J0 = {
1738
+ }, X0 = {
1739
1739
  distance: pe,
1740
1740
  buffer: pe,
1741
1741
  area: $0
@@ -1753,7 +1753,7 @@ function er({
1753
1753
  layerProps: n = {},
1754
1754
  defaultType: i = "mask"
1755
1755
  }) {
1756
- const o = L((a) => a.getController), s = L((a) => a.setController), l = K((a) => a.data[A]?.enabled), f = K((a) => a.setEnabled), g = K((a) => a.data[A]?.values), c = K((a) => a.setValue), h = K((a) => a.data[A]?.modeInstance), y = K((a) => a.data[A]?.modeSelected), E = EA((a) => a.setLayer), w = L((a) => a.addLayers), k = L((a) => a.removeLayers), u = L(Me((a) => a.maps[A]?.layers.filter((p) => !Ar.includes(p)))), d = L((a) => a.getDeckInstance), m = OA({});
1756
+ const o = L((a) => a.getController), s = L((a) => a.setController), l = K((a) => a.data[A]?.enabled), f = K((a) => a.setEnabled), h = K((a) => a.data[A]?.values), d = K((a) => a.setValue), c = K((a) => a.data[A]?.modeInstance), y = K((a) => a.data[A]?.modeSelected), b = vA((a) => a.setLayer), m = L((a) => a.addLayers), E = L((a) => a.removeLayers), u = L(Me((a) => a.maps[A]?.layers.filter((p) => !Ar.includes(p)))), g = L((a) => a.getDeckInstance), w = OA({});
1757
1757
  Re({
1758
1758
  mapId: A,
1759
1759
  layerId: mA
@@ -1766,30 +1766,30 @@ function er({
1766
1766
  s(A, a);
1767
1767
  };
1768
1768
  }, [l, o, A, y, s]);
1769
- const v = TA(() => Ne({
1770
- values: g
1771
- }), [g]), b = TA(() => ({
1769
+ const k = TA(() => Ne({
1770
+ values: h
1771
+ }), [h]), v = TA(() => ({
1772
1772
  type: "FeatureCollection",
1773
- features: v.map((a) => ({
1773
+ features: k.map((a) => ({
1774
1774
  type: "Feature",
1775
1775
  geometry: a.geometry,
1776
1776
  properties: a.properties,
1777
1777
  id: a.id
1778
1778
  }))
1779
- }), [v]), _ = TA(() => v.filter((a) => a.properties.visible).map((a) => a.id), [v]), [T, I] = uA(b), [x, Q] = uA([]), F = CA(() => {
1779
+ }), [k]), _ = TA(() => k.filter((a) => a.properties.visible).map((a) => a.id), [k]), [T, I] = uA(v), [x, Q] = uA([]), F = CA(() => {
1780
1780
  const a = {
1781
- ...b,
1782
- features: b.features.filter((p) => p.properties?.visible)
1781
+ ...v,
1782
+ features: v.features.filter((p) => p.properties?.visible)
1783
1783
  };
1784
1784
  I(a);
1785
- }, [b]);
1785
+ }, [v]);
1786
1786
  Z(() => {
1787
1787
  F();
1788
1788
  }, [F]);
1789
- const D = OA(v.length);
1790
- Z(() => (w(A, [mA]), () => {
1791
- k(A, [mA]);
1792
- }), [w, A, k]);
1789
+ const D = OA(k.length);
1790
+ Z(() => (m(A, [mA]), () => {
1791
+ E(A, [mA]);
1792
+ }), [m, A, E]);
1793
1793
  const P = CA(() => {
1794
1794
  F(), Q([]), f(A, !1);
1795
1795
  }, [A, F, f]), N = CA(({
@@ -1803,14 +1803,14 @@ function er({
1803
1803
  I(p), a !== rA.updateTentativeFeature && a === rA.addFeature && (y !== "edit" && (D.current = D.current + 1), p.features.forEach((C, M) => {
1804
1804
  C.properties.label ??= `${t?.mask} ${D.current}`, C.properties.index = M, C.properties.visible = C.properties.visible ?? !0;
1805
1805
  const S = C.id ?? crypto.randomUUID();
1806
- c(A, S, {
1806
+ d(A, S, {
1807
1807
  geometry: C.geometry,
1808
1808
  properties: C.properties,
1809
1809
  // visible: true,
1810
1810
  type: i
1811
1811
  });
1812
1812
  }), P());
1813
- }, [i, P, t?.mask, A, y, c]);
1813
+ }, [i, P, t?.mask, A, y, d]);
1814
1814
  return Z(() => {
1815
1815
  const a = l, {
1816
1816
  border: p,
@@ -1840,31 +1840,31 @@ function er({
1840
1840
  outline: p
1841
1841
  },
1842
1842
  onEdit: N,
1843
- mode: a ? h : new dt()
1843
+ mode: a ? c : new dt()
1844
1844
  });
1845
- E(mA, z);
1846
- }, [T, l, n.mask, _, h, N, x, E, e.colors.editing, e.colors.finished]), Z(() => {
1845
+ b(mA, z);
1846
+ }, [T, l, n.mask, _, c, N, x, b, e.colors.editing, e.colors.finished]), Z(() => {
1847
1847
  const a = {
1848
1848
  ...DA,
1849
- data: b,
1849
+ data: v,
1850
1850
  getFilterValue: (p) => Number(_.includes(p.id)),
1851
1851
  updateTriggers: {
1852
1852
  getFilterValue: _
1853
1853
  }
1854
1854
  };
1855
- return E(DA.id, {
1856
- type: Et,
1855
+ return b(DA.id, {
1856
+ type: vt,
1857
1857
  props: a
1858
- }), w(A, [DA.id]), () => {
1859
- k(A, [DA.id]);
1858
+ }), m(A, [DA.id]), () => {
1859
+ E(A, [DA.id]);
1860
1860
  };
1861
- }, [w, A, b, _, k, E]), Z(() => {
1861
+ }, [m, A, v, _, E, b]), Z(() => {
1862
1862
  u?.forEach((a) => {
1863
- const p = d(A)?.props.layers.find((M) => M.props.id === a);
1863
+ const p = g(A)?.props.layers.find((M) => M.props.id === a);
1864
1864
  if (!p) return;
1865
- l && (m.current[a] = p?.props.pickable);
1866
- const C = !l && (m.current[a] ?? p?.props.pickable);
1867
- E(a, {
1865
+ l && (w.current[a] = p?.props.pickable);
1866
+ const C = !l && (w.current[a] ?? p?.props.pickable);
1867
+ b(a, {
1868
1868
  props: {
1869
1869
  pickable: C,
1870
1870
  extensions: [new mt()],
@@ -1872,7 +1872,7 @@ function er({
1872
1872
  }
1873
1873
  });
1874
1874
  });
1875
- }, [l, d, A, u, _.length, E]), r;
1875
+ }, [l, g, A, u, _.length, b]), r;
1876
1876
  }
1877
1877
  er.Controls = Q0;
1878
1878
  function tr({
@@ -1908,7 +1908,7 @@ function rr({
1908
1908
  pickable: t,
1909
1909
  modeConfig: {
1910
1910
  // We force distance due to conversion is addressed at feature getText level
1911
- formatTooltip: (h) => h,
1911
+ formatTooltip: (c) => c,
1912
1912
  turfOptions: {
1913
1913
  units: Z0.meters
1914
1914
  }
@@ -1925,8 +1925,8 @@ function rr({
1925
1925
  // needed for the outlineWidth and outlineColor attributes to be effective
1926
1926
  smoothing: 0.2
1927
1927
  },
1928
- getText: (h) => r?.getTooltipText?.({
1929
- meters: h.text,
1928
+ getText: (c) => r?.getTooltipText?.({
1929
+ meters: c.text,
1930
1930
  locale: e,
1931
1931
  unit: n,
1932
1932
  options: l
@@ -1936,7 +1936,7 @@ function rr({
1936
1936
  }
1937
1937
  }
1938
1938
  }
1939
- }), g = gA(K0, {
1939
+ }), h = gA(K0, {
1940
1940
  _subLayerProps: {
1941
1941
  guides: {
1942
1942
  getLineColor: o,
@@ -1946,34 +1946,34 @@ function rr({
1946
1946
  getEditHandlePointColor: s,
1947
1947
  getEditHandlePointOutlineColor: o
1948
1948
  });
1949
- return gA(g, f);
1949
+ return gA(h, f);
1950
1950
  }
1951
1951
  const nr = (r) => ZA()((A) => ({
1952
1952
  measurements: r.reduce((t, n) => {
1953
1953
  const {
1954
1954
  mapId: i,
1955
1955
  modeSelected: o,
1956
- modes: s = X0,
1957
- units: l = J0,
1956
+ modes: s = J0,
1957
+ units: l = X0,
1958
1958
  distance: f = 0,
1959
- finished: g = !1,
1960
- locale: c = "en",
1961
- positions: h = [],
1959
+ finished: h = !1,
1960
+ locale: d = "en",
1961
+ positions: c = [],
1962
1962
  clearLayerOnStart: y = !1,
1963
- unit: E = qA["m-km"],
1964
- enabled: w = !1
1963
+ unit: b = qA["m-km"],
1964
+ enabled: m = !1
1965
1965
  } = n;
1966
1966
  return t[i] = {
1967
1967
  modes: s,
1968
1968
  units: l,
1969
1969
  modeSelected: o,
1970
1970
  distance: f,
1971
- finished: g,
1972
- locale: c,
1973
- positions: h,
1974
- unit: E,
1971
+ finished: h,
1972
+ locale: d,
1973
+ positions: c,
1974
+ unit: b,
1975
1975
  clearLayerOnStart: y,
1976
- enabled: w
1976
+ enabled: m
1977
1977
  }, t;
1978
1978
  }, {}),
1979
1979
  mode: ze,
@@ -2096,25 +2096,25 @@ function Ve(r) {
2096
2096
  let s;
2097
2097
  A[4] !== e ? (s = (O) => O.measurements[e].distance, A[4] = e, A[5] = s) : s = A[5];
2098
2098
  const l = q(s), f = q(hr);
2099
- let g;
2100
- A[6] !== f || A[7] !== e ? (g = (O) => f(e, O), A[6] = f, A[7] = e, A[8] = g) : g = A[8];
2101
- const c = g;
2102
2099
  let h;
2103
- A[9] !== e ? (h = (O) => O.measurements[e].clearLayerOnStart, A[9] = e, A[10] = h) : h = A[10];
2104
- const y = q(h);
2105
- let E;
2106
- A[11] !== e ? (E = (O) => O.measurements[e].enabled, A[11] = e, A[12] = E) : E = A[12];
2107
- const w = q(E), k = q(cr);
2100
+ A[6] !== f || A[7] !== e ? (h = (O) => f(e, O), A[6] = f, A[7] = e, A[8] = h) : h = A[8];
2101
+ const d = h;
2102
+ let c;
2103
+ A[9] !== e ? (c = (O) => O.measurements[e].clearLayerOnStart, A[9] = e, A[10] = c) : c = A[10];
2104
+ const y = q(c);
2105
+ let b;
2106
+ A[11] !== e ? (b = (O) => O.measurements[e].enabled, A[11] = e, A[12] = b) : b = A[12];
2107
+ const m = q(b), E = q(cr);
2108
2108
  let u;
2109
- A[13] !== k || A[14] !== e ? (u = (O) => k(e, O), A[13] = k, A[14] = e, A[15] = u) : u = A[15];
2110
- const d = u;
2111
- let m;
2112
- A[16] !== e ? (m = (O) => O.measurements[e].modeSelected, A[16] = e, A[17] = m) : m = A[17];
2113
- const v = q(m), b = q(fr);
2109
+ A[13] !== E || A[14] !== e ? (u = (O) => E(e, O), A[13] = E, A[14] = e, A[15] = u) : u = A[15];
2110
+ const g = u;
2111
+ let w;
2112
+ A[16] !== e ? (w = (O) => O.measurements[e].modeSelected, A[16] = e, A[17] = w) : w = A[17];
2113
+ const k = q(w), v = q(fr);
2114
2114
  let _;
2115
- A[18] !== b || A[19] !== e || A[20] !== d ? (_ = (O) => {
2116
- d(!!O), b(e, O);
2117
- }, A[18] = b, A[19] = e, A[20] = d, A[21] = _) : _ = A[21];
2115
+ A[18] !== v || A[19] !== e || A[20] !== g ? (_ = (O) => {
2116
+ g(!!O), v(e, O);
2117
+ }, A[18] = v, A[19] = e, A[20] = g, A[21] = _) : _ = A[21];
2118
2118
  const T = _;
2119
2119
  let I;
2120
2120
  A[22] !== e ? (I = (O) => O.measurements[e].finished, A[22] = e, A[23] = I) : I = A[23];
@@ -2139,47 +2139,47 @@ function Ve(r) {
2139
2139
  const R = q(j), H = q(sr);
2140
2140
  let nA;
2141
2141
  A[39] !== H || A[40] !== e ? (nA = (O) => H(e, O), A[39] = H, A[40] = e, A[41] = nA) : nA = A[41];
2142
- const X = nA;
2142
+ const J = nA;
2143
2143
  let lA;
2144
2144
  A[42] !== e ? (lA = (O) => O.measurements[e].unit, A[42] = e, A[43] = lA) : lA = A[43];
2145
- const J = q(lA), eA = q(or);
2145
+ const X = q(lA), eA = q(or);
2146
2146
  let $;
2147
2147
  A[44] !== eA || A[45] !== e ? ($ = (O) => eA(e, O), A[44] = eA, A[45] = e, A[46] = $) : $ = A[46];
2148
2148
  const W = $;
2149
2149
  let AA;
2150
- A[47] !== S || A[48] !== X ? (AA = () => {
2151
- S?.resetClickSequence(), X([]);
2152
- }, A[47] = S, A[48] = X, A[49] = AA) : AA = A[49];
2150
+ A[47] !== S || A[48] !== J ? (AA = () => {
2151
+ S?.resetClickSequence(), J([]);
2152
+ }, A[47] = S, A[48] = J, A[49] = AA) : AA = A[49];
2153
2153
  const oA = AA;
2154
2154
  let _A;
2155
- A[50] !== d ? (_A = (O) => {
2156
- d(O);
2157
- }, A[50] = d, A[51] = _A) : _A = A[51];
2155
+ A[50] !== g ? (_A = (O) => {
2156
+ g(O);
2157
+ }, A[50] = g, A[51] = _A) : _A = A[51];
2158
2158
  const FA = _A;
2159
2159
  let xA;
2160
- return A[52] !== oA || A[53] !== y || A[54] !== l || A[55] !== w || A[56] !== x || A[57] !== N || A[58] !== S || A[59] !== v || A[60] !== n || A[61] !== R || A[62] !== c || A[63] !== d || A[64] !== D || A[65] !== C || A[66] !== U || A[67] !== T || A[68] !== X || A[69] !== W || A[70] !== FA || A[71] !== J || A[72] !== o ? (xA = {
2160
+ return A[52] !== oA || A[53] !== y || A[54] !== l || A[55] !== m || A[56] !== x || A[57] !== N || A[58] !== S || A[59] !== k || A[60] !== n || A[61] !== R || A[62] !== d || A[63] !== g || A[64] !== D || A[65] !== C || A[66] !== U || A[67] !== T || A[68] !== J || A[69] !== W || A[70] !== FA || A[71] !== X || A[72] !== o ? (xA = {
2161
2161
  modes: n,
2162
2162
  units: o,
2163
2163
  distance: l,
2164
2164
  clearLayerOnStart: y,
2165
- modeSelected: v,
2166
- enabled: w,
2165
+ modeSelected: k,
2166
+ enabled: m,
2167
2167
  finished: x,
2168
2168
  locale: N,
2169
2169
  modeInstance: S,
2170
2170
  positions: R,
2171
- unit: J,
2172
- setDistance: c,
2171
+ unit: X,
2172
+ setDistance: d,
2173
2173
  setModeSelected: T,
2174
2174
  setFinished: D,
2175
2175
  setLocale: C,
2176
- setPositions: X,
2176
+ setPositions: J,
2177
2177
  setUnit: W,
2178
- setEnabled: d,
2178
+ setEnabled: g,
2179
2179
  toggleLayer: FA,
2180
2180
  clearLayer: oA,
2181
2181
  setModeInstance: U
2182
- }, A[52] = oA, A[53] = y, A[54] = l, A[55] = w, A[56] = x, A[57] = N, A[58] = S, A[59] = v, A[60] = n, A[61] = R, A[62] = c, A[63] = d, A[64] = D, A[65] = C, A[66] = U, A[67] = T, A[68] = X, A[69] = W, A[70] = FA, A[71] = J, A[72] = o, A[73] = xA) : xA = A[73], xA;
2182
+ }, A[52] = oA, A[53] = y, A[54] = l, A[55] = m, A[56] = x, A[57] = N, A[58] = S, A[59] = k, A[60] = n, A[61] = R, A[62] = d, A[63] = g, A[64] = D, A[65] = C, A[66] = U, A[67] = T, A[68] = J, A[69] = W, A[70] = FA, A[71] = X, A[72] = o, A[73] = xA) : xA = A[73], xA;
2183
2183
  }
2184
2184
  function or(r) {
2185
2185
  return r.setUnit;
@@ -2220,18 +2220,18 @@ function gr(r) {
2220
2220
  units: s,
2221
2221
  distance: l,
2222
2222
  setDistance: f,
2223
- clearLayerOnStart: g,
2224
- modeSelected: c,
2225
- setModeSelected: h,
2223
+ clearLayerOnStart: h,
2224
+ modeSelected: d,
2225
+ setModeSelected: c,
2226
2226
  enabled: y,
2227
- setEnabled: E,
2228
- finished: w,
2229
- setFinished: k,
2227
+ setEnabled: b,
2228
+ finished: m,
2229
+ setFinished: E,
2230
2230
  locale: u,
2231
- setLocale: d,
2232
- modeInstance: m,
2233
- setModeInstance: v,
2234
- positions: b,
2231
+ setLocale: g,
2232
+ modeInstance: w,
2233
+ setModeInstance: k,
2234
+ positions: v,
2235
2235
  setPositions: _,
2236
2236
  unit: T,
2237
2237
  setUnit: I,
@@ -2239,33 +2239,33 @@ function gr(r) {
2239
2239
  toggleLayer: Q
2240
2240
  } = Ve(i);
2241
2241
  let F;
2242
- A[2] !== c || A[3] !== o || A[4] !== v || A[5] !== _ ? (F = () => {
2243
- if (c && o[c]) {
2244
- const C = o[c].mode;
2245
- v(new C());
2242
+ A[2] !== d || A[3] !== o || A[4] !== k || A[5] !== _ ? (F = () => {
2243
+ if (d && o[d]) {
2244
+ const C = o[d].mode;
2245
+ k(new C());
2246
2246
  }
2247
2247
  return () => {
2248
2248
  _([]);
2249
2249
  };
2250
- }, A[2] = c, A[3] = o, A[4] = v, A[5] = _, A[6] = F) : F = A[6];
2250
+ }, A[2] = d, A[3] = o, A[4] = k, A[5] = _, A[6] = F) : F = A[6];
2251
2251
  let D;
2252
- A[7] !== c || A[8] !== o || A[9] !== E || A[10] !== v || A[11] !== _ ? (D = [o, c, _, v, E], A[7] = c, A[8] = o, A[9] = E, A[10] = v, A[11] = _, A[12] = D) : D = A[12], Z(F, D);
2252
+ A[7] !== d || A[8] !== o || A[9] !== b || A[10] !== k || A[11] !== _ ? (D = [o, d, _, k, b], A[7] = d, A[8] = o, A[9] = b, A[10] = k, A[11] = _, A[12] = D) : D = A[12], Z(F, D);
2253
2253
  let P;
2254
- A[13] !== Q || A[14] !== x || A[15] !== g || A[16] !== w ? (P = (C) => {
2255
- C && (g || !w) && x(), Q(C);
2256
- }, A[13] = Q, A[14] = x, A[15] = g, A[16] = w, A[17] = P) : P = A[17];
2257
- const N = P, a = !!g;
2254
+ A[13] !== Q || A[14] !== x || A[15] !== h || A[16] !== m ? (P = (C) => {
2255
+ C && (h || !m) && x(), Q(C);
2256
+ }, A[13] = Q, A[14] = x, A[15] = h, A[16] = m, A[17] = P) : P = A[17];
2257
+ const N = P, a = !!h;
2258
2258
  let p;
2259
- return A[18] !== n || A[19] !== x || A[20] !== l || A[21] !== y || A[22] !== w || A[23] !== u || A[24] !== e || A[25] !== m || A[26] !== c || A[27] !== o || A[28] !== b || A[29] !== f || A[30] !== E || A[31] !== k || A[32] !== d || A[33] !== h || A[34] !== _ || A[35] !== I || A[36] !== a || A[37] !== t || A[38] !== N || A[39] !== T || A[40] !== s ? (p = n({
2259
+ return A[18] !== n || A[19] !== x || A[20] !== l || A[21] !== y || A[22] !== m || A[23] !== u || A[24] !== e || A[25] !== w || A[26] !== d || A[27] !== o || A[28] !== v || A[29] !== f || A[30] !== b || A[31] !== E || A[32] !== g || A[33] !== c || A[34] !== _ || A[35] !== I || A[36] !== a || A[37] !== t || A[38] !== N || A[39] !== T || A[40] !== s ? (p = n({
2260
2260
  mapId: e,
2261
2261
  distance: l,
2262
2262
  enabled: y,
2263
- finished: w,
2263
+ finished: m,
2264
2264
  locale: u,
2265
- positions: b,
2265
+ positions: v,
2266
2266
  unit: T,
2267
2267
  clearLayerOnStart: a,
2268
- modeSelected: c,
2268
+ modeSelected: d,
2269
2269
  modes: o,
2270
2270
  units: s,
2271
2271
  value: QA({
@@ -2274,17 +2274,17 @@ function gr(r) {
2274
2274
  locale: u,
2275
2275
  options: t
2276
2276
  }),
2277
- modeInstance: m,
2278
- setModeSelected: h,
2277
+ modeInstance: w,
2278
+ setModeSelected: c,
2279
2279
  setDistance: f,
2280
- setFinished: k,
2281
- setLocale: d,
2280
+ setFinished: E,
2281
+ setLocale: g,
2282
2282
  setPositions: _,
2283
2283
  setUnit: I,
2284
- setEnabled: E,
2284
+ setEnabled: b,
2285
2285
  toggleLayer: N,
2286
2286
  clearLayer: x
2287
- }), A[18] = n, A[19] = x, A[20] = l, A[21] = y, A[22] = w, A[23] = u, A[24] = e, A[25] = m, A[26] = c, A[27] = o, A[28] = b, A[29] = f, A[30] = E, A[31] = k, A[32] = d, A[33] = h, A[34] = _, A[35] = I, A[36] = a, A[37] = t, A[38] = N, A[39] = T, A[40] = s, A[41] = p) : p = A[41], p;
2287
+ }), A[18] = n, A[19] = x, A[20] = l, A[21] = y, A[22] = m, A[23] = u, A[24] = e, A[25] = w, A[26] = d, A[27] = o, A[28] = v, A[29] = f, A[30] = b, A[31] = E, A[32] = g, A[33] = c, A[34] = _, A[35] = I, A[36] = a, A[37] = t, A[38] = N, A[39] = T, A[40] = s, A[41] = p) : p = A[41], p;
2288
2288
  }
2289
2289
  const dr = [cA];
2290
2290
  function pr(r) {
@@ -2302,20 +2302,20 @@ function pr(r) {
2302
2302
  const {
2303
2303
  styles: l
2304
2304
  } = s, f = l === void 0 ? he.styles : l;
2305
- let g;
2306
- A[2] !== t ? (g = {
2305
+ let h;
2306
+ A[2] !== t ? (h = {
2307
2307
  mapId: t
2308
- }, A[2] = t, A[3] = g) : g = A[3];
2308
+ }, A[2] = t, A[3] = h) : h = A[3];
2309
2309
  const {
2310
- setDistance: c,
2311
- enabled: h,
2310
+ setDistance: d,
2311
+ enabled: c,
2312
2312
  finished: y,
2313
- setFinished: E,
2314
- locale: w,
2315
- setPositions: k,
2313
+ setFinished: b,
2314
+ locale: m,
2315
+ setPositions: E,
2316
2316
  unit: u,
2317
- modeInstance: d
2318
- } = Ve(g), m = EA(kr), v = L(vr), b = L(Er), _ = L(br), T = L(yr);
2317
+ modeInstance: g
2318
+ } = Ve(h), w = vA(kr), k = L(Er), v = L(vr), _ = L(br), T = L(yr);
2319
2319
  let I;
2320
2320
  A[4] !== t ? (I = (U) => U.maps[t]?.layers.filter(wr), A[4] = t, A[5] = I) : I = A[5];
2321
2321
  const x = L(Me(I)), Q = L(mr);
@@ -2328,62 +2328,62 @@ function pr(r) {
2328
2328
  layerId: cA
2329
2329
  }, A[7] = t, A[8] = P) : P = A[8], Re(P);
2330
2330
  let N, a;
2331
- A[9] !== _ || A[10] !== h || A[11] !== v || A[12] !== t || A[13] !== T || A[14] !== b ? (N = () => {
2332
- const U = v(t);
2333
- return h && (_(t, [cA]), b(t, {
2331
+ A[9] !== _ || A[10] !== c || A[11] !== k || A[12] !== t || A[13] !== T || A[14] !== v ? (N = () => {
2332
+ const U = k(t);
2333
+ return c && (_(t, [cA]), v(t, {
2334
2334
  doubleClickZoom: !1
2335
2335
  })), () => {
2336
- T(t, [cA]), b(t, U);
2336
+ T(t, [cA]), v(t, U);
2337
2337
  };
2338
- }, a = [_, h, v, t, T, b], A[9] = _, A[10] = h, A[11] = v, A[12] = t, A[13] = T, A[14] = b, A[15] = N, A[16] = a) : (N = A[15], a = A[16]), Z(N, a);
2338
+ }, a = [_, c, k, t, T, v], A[9] = _, A[10] = c, A[11] = k, A[12] = t, A[13] = T, A[14] = v, A[15] = N, A[16] = a) : (N = A[15], a = A[16]), Z(N, a);
2339
2339
  let p, C;
2340
- A[17] !== h || A[18] !== Q || A[19] !== t || A[20] !== x || A[21] !== m ? (p = () => {
2340
+ A[17] !== c || A[18] !== Q || A[19] !== t || A[20] !== x || A[21] !== w ? (p = () => {
2341
2341
  x?.forEach((U) => {
2342
2342
  const j = Q(t)?.props.layers.find((H) => H.props.id === U);
2343
2343
  if (!j)
2344
2344
  return;
2345
- h && (D.current[U] = j?.props.pickable);
2346
- const R = !h && (D.current[U] ?? j?.props.pickable);
2347
- m(U, {
2345
+ c && (D.current[U] = j?.props.pickable);
2346
+ const R = !c && (D.current[U] ?? j?.props.pickable);
2347
+ w(U, {
2348
2348
  props: {
2349
2349
  pickable: R
2350
2350
  }
2351
2351
  });
2352
2352
  });
2353
- }, C = [h, Q, t, x, m], A[17] = h, A[18] = Q, A[19] = t, A[20] = x, A[21] = m, A[22] = p, A[23] = C) : (p = A[22], C = A[23]), Z(p, C);
2353
+ }, C = [c, Q, t, x, w], A[17] = c, A[18] = Q, A[19] = t, A[20] = x, A[21] = w, A[22] = p, A[23] = C) : (p = A[22], C = A[23]), Z(p, C);
2354
2354
  let M;
2355
- A[24] !== d || A[25] !== c || A[26] !== E || A[27] !== k ? (M = (U) => {
2355
+ A[24] !== g || A[25] !== d || A[26] !== b || A[27] !== E ? (M = (U) => {
2356
2356
  const {
2357
2357
  editType: j,
2358
2358
  editContext: R
2359
2359
  } = U;
2360
2360
  if (j === rA.cancel) {
2361
- d.resetClickSequence();
2361
+ g.resetClickSequence();
2362
2362
  return;
2363
2363
  }
2364
- j === rA.addPosition && c(R.distance), E(!!R.finished);
2364
+ j === rA.addPosition && d(R.distance), b(!!R.finished);
2365
2365
  const H = R.positions;
2366
- H?.length && k(H);
2367
- }, A[24] = d, A[25] = c, A[26] = E, A[27] = k, A[28] = M) : M = A[28];
2366
+ H?.length && E(H);
2367
+ }, A[24] = g, A[25] = d, A[26] = b, A[27] = E, A[28] = M) : M = A[28];
2368
2368
  const S = M;
2369
2369
  let B, z;
2370
- return A[29] !== h || A[30] !== y || A[31] !== i || A[32] !== w || A[33] !== d || A[34] !== S || A[35] !== m || A[36] !== f.colors.editing || A[37] !== f.colors.finished || A[38] !== f.colors.point || A[39] !== o || A[40] !== u ? (B = () => {
2370
+ return A[29] !== c || A[30] !== y || A[31] !== i || A[32] !== m || A[33] !== g || A[34] !== S || A[35] !== w || A[36] !== f.colors.editing || A[37] !== f.colors.finished || A[38] !== f.colors.point || A[39] !== o || A[40] !== u ? (B = () => {
2371
2371
  const U = y ? f.colors.finished : f.colors.editing, j = y ? f.colors.finished : f.colors.point, R = tr({
2372
2372
  layerProps: {
2373
2373
  ...i,
2374
2374
  pickable: i?.pickable ?? !y
2375
2375
  },
2376
- enabled: h,
2376
+ enabled: c,
2377
2377
  guideColor: U,
2378
2378
  pointColor: j,
2379
- locale: w,
2379
+ locale: m,
2380
2380
  onEdit: S,
2381
2381
  unit: u,
2382
- mode: d,
2382
+ mode: g,
2383
2383
  textOptions: o
2384
2384
  });
2385
- m(cA, R);
2386
- }, z = [y, d, i, w, S, m, f.colors.editing, f.colors.finished, f.colors.point, o, u, h], A[29] = h, A[30] = y, A[31] = i, A[32] = w, A[33] = d, A[34] = S, A[35] = m, A[36] = f.colors.editing, A[37] = f.colors.finished, A[38] = f.colors.point, A[39] = o, A[40] = u, A[41] = B, A[42] = z) : (B = A[41], z = A[42]), Z(B, z), e;
2385
+ w(cA, R);
2386
+ }, z = [y, g, i, m, S, w, f.colors.editing, f.colors.finished, f.colors.point, o, u, c], A[29] = c, A[30] = y, A[31] = i, A[32] = m, A[33] = g, A[34] = S, A[35] = w, A[36] = f.colors.editing, A[37] = f.colors.finished, A[38] = f.colors.point, A[39] = o, A[40] = u, A[41] = B, A[42] = z) : (B = A[41], z = A[42]), Z(B, z), e;
2387
2387
  }
2388
2388
  function mr(r) {
2389
2389
  return r.getDeckInstance;
@@ -2397,10 +2397,10 @@ function yr(r) {
2397
2397
  function br(r) {
2398
2398
  return r.addLayers;
2399
2399
  }
2400
- function Er(r) {
2400
+ function vr(r) {
2401
2401
  return r.setController;
2402
2402
  }
2403
- function vr(r) {
2403
+ function Er(r) {
2404
2404
  return r.getController;
2405
2405
  }
2406
2406
  function kr(r) {
@@ -2415,7 +2415,7 @@ function Cr(r) {
2415
2415
  A[0] !== e ? (t = (l) => l.maps[e], A[0] = e, A[1] = t) : t = A[1];
2416
2416
  const {
2417
2417
  layers: n
2418
- } = L(t), i = EA(_r);
2418
+ } = L(t), i = vA(_r);
2419
2419
  let o;
2420
2420
  if (A[2] !== i || A[3] !== n) {
2421
2421
  let l;
@@ -2451,15 +2451,15 @@ function ri(r) {
2451
2451
  let l;
2452
2452
  A[7] !== e ? (l = (B) => B.maps[e].instanceRef, A[7] = e, A[8] = l) : l = A[8];
2453
2453
  const f = L(l);
2454
- let g;
2455
- A[9] !== e ? (g = (B) => B.maps[e].overlayRef, A[9] = e, A[10] = g) : g = A[10];
2456
- const c = L(g), h = OA(null);
2454
+ let h;
2455
+ A[9] !== e ? (h = (B) => B.maps[e].overlayRef, A[9] = e, A[10] = h) : h = A[10];
2456
+ const d = L(h), c = OA(null);
2457
2457
  let y;
2458
2458
  A[11] !== e ? (y = (B) => B.viewStates[e], A[11] = e, A[12] = y) : y = A[12];
2459
- const E = L(y);
2460
- let w;
2461
- A[13] !== e ? (w = (B) => B.maps[e].controller, A[13] = e, A[14] = w) : w = A[14];
2462
- const k = L(w), u = L(Or), d = L(Tr), m = L(Pr), v = L(Dr), b = L(Mr);
2459
+ const b = L(y);
2460
+ let m;
2461
+ A[13] !== e ? (m = (B) => B.maps[e].controller, A[13] = e, A[14] = m) : m = A[14];
2462
+ const E = L(m), u = L(Or), g = L(Tr), w = L(Pr), k = L(Dr), v = L(Mr);
2463
2463
  let _;
2464
2464
  A[15] !== e ? (_ = {
2465
2465
  mapId: e
@@ -2469,36 +2469,36 @@ function ri(r) {
2469
2469
  A[17] !== T ? (I = He(T), A[17] = T, A[18] = I) : I = A[18];
2470
2470
  const x = I;
2471
2471
  let Q;
2472
- A[19] !== e || A[20] !== n || A[21] !== d || A[22] !== b ? (Q = (B) => {
2473
- const z = d;
2474
- if (h.current && clearInterval(h.current), h.current = setTimeout(() => {
2475
- b(e);
2472
+ A[19] !== e || A[20] !== n || A[21] !== g || A[22] !== v ? (Q = (B) => {
2473
+ const z = g;
2474
+ if (c.current && clearInterval(c.current), c.current = setTimeout(() => {
2475
+ v(e);
2476
2476
  }, xr), n) {
2477
2477
  n(B, z);
2478
2478
  return;
2479
2479
  }
2480
2480
  z(e, B.viewState);
2481
- }, A[19] = e, A[20] = n, A[21] = d, A[22] = b, A[23] = Q) : Q = A[23];
2481
+ }, A[19] = e, A[20] = n, A[21] = g, A[22] = v, A[23] = Q) : Q = A[23];
2482
2482
  const F = Q;
2483
2483
  let D;
2484
- A[24] !== e || A[25] !== t || A[26] !== m || A[27] !== b ? (D = (B) => {
2485
- m(e, B), t?.(B), b(e);
2486
- }, A[24] = e, A[25] = t, A[26] = m, A[27] = b, A[28] = D) : D = A[28];
2484
+ A[24] !== e || A[25] !== t || A[26] !== w || A[27] !== v ? (D = (B) => {
2485
+ w(e, B), t?.(B), v(e);
2486
+ }, A[24] = e, A[25] = t, A[26] = w, A[27] = v, A[28] = D) : D = A[28];
2487
2487
  const P = D;
2488
2488
  let N;
2489
- A[29] !== u || A[30] !== e || A[31] !== i || A[32] !== v ? (N = (B) => {
2489
+ A[29] !== u || A[30] !== e || A[31] !== i || A[32] !== k ? (N = (B) => {
2490
2490
  const U = !!u(e)?.props.layers?.every(Sr);
2491
- v(e, U), i.onAfterRender?.(B);
2492
- }, A[29] = u, A[30] = e, A[31] = i, A[32] = v, A[33] = N) : N = A[33];
2491
+ k(e, U), i.onAfterRender?.(B);
2492
+ }, A[29] = u, A[30] = e, A[31] = i, A[32] = k, A[33] = N) : N = A[33];
2493
2493
  const a = N, p = i.onDragEnd;
2494
2494
  let C;
2495
- A[34] !== p || A[35] !== e || A[36] !== b ? (C = (...B) => {
2495
+ A[34] !== p || A[35] !== e || A[36] !== v ? (C = (...B) => {
2496
2496
  const z = B;
2497
- b(e), p && p(...z);
2498
- }, A[34] = p, A[35] = e, A[36] = b, A[37] = C) : C = A[37];
2497
+ v(e), p && p(...z);
2498
+ }, A[34] = p, A[35] = e, A[36] = v, A[37] = C) : C = A[37];
2499
2499
  const M = C;
2500
2500
  let S;
2501
- return A[38] !== s || A[39] !== x || A[40] !== k || A[41] !== a || A[42] !== M || A[43] !== P || A[44] !== F || A[45] !== e || A[46] !== f || A[47] !== c || A[48] !== i || A[49] !== E ? (S = /* @__PURE__ */ Y(f0, { ...i, controller: k, id: e, layers: x, instanceRef: f, overlayRef: c, basemap: s, initialViewState: E, onLoad: P, onViewStateChange: F, onAfterRender: a, onDragEnd: M }), A[38] = s, A[39] = x, A[40] = k, A[41] = a, A[42] = M, A[43] = P, A[44] = F, A[45] = e, A[46] = f, A[47] = c, A[48] = i, A[49] = E, A[50] = S) : S = A[50], S;
2501
+ return A[38] !== s || A[39] !== x || A[40] !== E || A[41] !== a || A[42] !== M || A[43] !== P || A[44] !== F || A[45] !== e || A[46] !== f || A[47] !== d || A[48] !== i || A[49] !== b ? (S = /* @__PURE__ */ Y(f0, { ...i, controller: E, id: e, layers: x, instanceRef: f, overlayRef: d, basemap: s, initialViewState: b, onLoad: P, onViewStateChange: F, onAfterRender: a, onDragEnd: M }), A[38] = s, A[39] = x, A[40] = E, A[41] = a, A[42] = M, A[43] = P, A[44] = F, A[45] = e, A[46] = f, A[47] = d, A[48] = i, A[49] = b, A[50] = S) : S = A[50], S;
2502
2502
  }
2503
2503
  function Sr(r) {
2504
2504
  return r?.isLoaded;
@@ -2547,7 +2547,7 @@ function Lr() {
2547
2547
  return a && DataView.prototype.isPrototypeOf(a);
2548
2548
  }
2549
2549
  if (l.arrayBuffer)
2550
- var g = [
2550
+ var h = [
2551
2551
  "[object Int8Array]",
2552
2552
  "[object Uint8Array]",
2553
2553
  "[object Uint8ClampedArray]",
@@ -2557,10 +2557,10 @@ function Lr() {
2557
2557
  "[object Uint32Array]",
2558
2558
  "[object Float32Array]",
2559
2559
  "[object Float64Array]"
2560
- ], c = ArrayBuffer.isView || function(a) {
2561
- return a && g.indexOf(Object.prototype.toString.call(a)) > -1;
2560
+ ], d = ArrayBuffer.isView || function(a) {
2561
+ return a && h.indexOf(Object.prototype.toString.call(a)) > -1;
2562
2562
  };
2563
- function h(a) {
2563
+ function c(a) {
2564
2564
  if (typeof a != "string" && (a = String(a)), /[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(a) || a === "")
2565
2565
  throw new TypeError('Invalid character in header field name: "' + a + '"');
2566
2566
  return a.toLowerCase();
@@ -2568,7 +2568,7 @@ function Lr() {
2568
2568
  function y(a) {
2569
2569
  return typeof a != "string" && (a = String(a)), a;
2570
2570
  }
2571
- function E(a) {
2571
+ function b(a) {
2572
2572
  var p = {
2573
2573
  next: function() {
2574
2574
  var C = a.shift();
@@ -2579,8 +2579,8 @@ function Lr() {
2579
2579
  return p;
2580
2580
  }), p;
2581
2581
  }
2582
- function w(a) {
2583
- this.map = {}, a instanceof w ? a.forEach(function(p, C) {
2582
+ function m(a) {
2583
+ this.map = {}, a instanceof m ? a.forEach(function(p, C) {
2584
2584
  this.append(C, p);
2585
2585
  }, this) : Array.isArray(a) ? a.forEach(function(p) {
2586
2586
  if (p.length != 2)
@@ -2590,38 +2590,38 @@ function Lr() {
2590
2590
  this.append(p, a[p]);
2591
2591
  }, this);
2592
2592
  }
2593
- w.prototype.append = function(a, p) {
2594
- a = h(a), p = y(p);
2593
+ m.prototype.append = function(a, p) {
2594
+ a = c(a), p = y(p);
2595
2595
  var C = this.map[a];
2596
2596
  this.map[a] = C ? C + ", " + p : p;
2597
- }, w.prototype.delete = function(a) {
2598
- delete this.map[h(a)];
2599
- }, w.prototype.get = function(a) {
2600
- return a = h(a), this.has(a) ? this.map[a] : null;
2601
- }, w.prototype.has = function(a) {
2602
- return this.map.hasOwnProperty(h(a));
2603
- }, w.prototype.set = function(a, p) {
2604
- this.map[h(a)] = y(p);
2605
- }, w.prototype.forEach = function(a, p) {
2597
+ }, m.prototype.delete = function(a) {
2598
+ delete this.map[c(a)];
2599
+ }, m.prototype.get = function(a) {
2600
+ return a = c(a), this.has(a) ? this.map[a] : null;
2601
+ }, m.prototype.has = function(a) {
2602
+ return this.map.hasOwnProperty(c(a));
2603
+ }, m.prototype.set = function(a, p) {
2604
+ this.map[c(a)] = y(p);
2605
+ }, m.prototype.forEach = function(a, p) {
2606
2606
  for (var C in this.map)
2607
2607
  this.map.hasOwnProperty(C) && a.call(p, this.map[C], C, this);
2608
- }, w.prototype.keys = function() {
2608
+ }, m.prototype.keys = function() {
2609
2609
  var a = [];
2610
2610
  return this.forEach(function(p, C) {
2611
2611
  a.push(C);
2612
- }), E(a);
2613
- }, w.prototype.values = function() {
2612
+ }), b(a);
2613
+ }, m.prototype.values = function() {
2614
2614
  var a = [];
2615
2615
  return this.forEach(function(p) {
2616
2616
  a.push(p);
2617
- }), E(a);
2618
- }, w.prototype.entries = function() {
2617
+ }), b(a);
2618
+ }, m.prototype.entries = function() {
2619
2619
  var a = [];
2620
2620
  return this.forEach(function(p, C) {
2621
2621
  a.push([C, p]);
2622
- }), E(a);
2623
- }, l.iterable && (w.prototype[Symbol.iterator] = w.prototype.entries);
2624
- function k(a) {
2622
+ }), b(a);
2623
+ }, l.iterable && (m.prototype[Symbol.iterator] = m.prototype.entries);
2624
+ function E(a) {
2625
2625
  if (!a._noBody) {
2626
2626
  if (a.bodyUsed)
2627
2627
  return Promise.reject(new TypeError("Already read"));
@@ -2637,20 +2637,20 @@ function Lr() {
2637
2637
  };
2638
2638
  });
2639
2639
  }
2640
- function d(a) {
2640
+ function g(a) {
2641
2641
  var p = new FileReader(), C = u(p);
2642
2642
  return p.readAsArrayBuffer(a), C;
2643
2643
  }
2644
- function m(a) {
2644
+ function w(a) {
2645
2645
  var p = new FileReader(), C = u(p), M = /charset=([A-Za-z0-9_-]+)/.exec(a.type), S = M ? M[1] : "utf-8";
2646
2646
  return p.readAsText(a, S), C;
2647
2647
  }
2648
- function v(a) {
2648
+ function k(a) {
2649
2649
  for (var p = new Uint8Array(a), C = new Array(p.length), M = 0; M < p.length; M++)
2650
2650
  C[M] = String.fromCharCode(p[M]);
2651
2651
  return C.join("");
2652
2652
  }
2653
- function b(a) {
2653
+ function v(a) {
2654
2654
  if (a.slice)
2655
2655
  return a.slice(0);
2656
2656
  var p = new Uint8Array(a.byteLength);
@@ -2658,9 +2658,9 @@ function Lr() {
2658
2658
  }
2659
2659
  function _() {
2660
2660
  return this.bodyUsed = !1, this._initBody = function(a) {
2661
- this.bodyUsed = this.bodyUsed, this._bodyInit = a, a ? typeof a == "string" ? this._bodyText = a : l.blob && Blob.prototype.isPrototypeOf(a) ? this._bodyBlob = a : l.formData && FormData.prototype.isPrototypeOf(a) ? this._bodyFormData = a : l.searchParams && URLSearchParams.prototype.isPrototypeOf(a) ? this._bodyText = a.toString() : l.arrayBuffer && l.blob && f(a) ? (this._bodyArrayBuffer = b(a.buffer), this._bodyInit = new Blob([this._bodyArrayBuffer])) : l.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(a) || c(a)) ? this._bodyArrayBuffer = b(a) : this._bodyText = a = Object.prototype.toString.call(a) : (this._noBody = !0, this._bodyText = ""), this.headers.get("content-type") || (typeof a == "string" ? this.headers.set("content-type", "text/plain;charset=UTF-8") : this._bodyBlob && this._bodyBlob.type ? this.headers.set("content-type", this._bodyBlob.type) : l.searchParams && URLSearchParams.prototype.isPrototypeOf(a) && this.headers.set("content-type", "application/x-www-form-urlencoded;charset=UTF-8"));
2661
+ this.bodyUsed = this.bodyUsed, this._bodyInit = a, a ? typeof a == "string" ? this._bodyText = a : l.blob && Blob.prototype.isPrototypeOf(a) ? this._bodyBlob = a : l.formData && FormData.prototype.isPrototypeOf(a) ? this._bodyFormData = a : l.searchParams && URLSearchParams.prototype.isPrototypeOf(a) ? this._bodyText = a.toString() : l.arrayBuffer && l.blob && f(a) ? (this._bodyArrayBuffer = v(a.buffer), this._bodyInit = new Blob([this._bodyArrayBuffer])) : l.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(a) || d(a)) ? this._bodyArrayBuffer = v(a) : this._bodyText = a = Object.prototype.toString.call(a) : (this._noBody = !0, this._bodyText = ""), this.headers.get("content-type") || (typeof a == "string" ? this.headers.set("content-type", "text/plain;charset=UTF-8") : this._bodyBlob && this._bodyBlob.type ? this.headers.set("content-type", this._bodyBlob.type) : l.searchParams && URLSearchParams.prototype.isPrototypeOf(a) && this.headers.set("content-type", "application/x-www-form-urlencoded;charset=UTF-8"));
2662
2662
  }, l.blob && (this.blob = function() {
2663
- var a = k(this);
2663
+ var a = E(this);
2664
2664
  if (a)
2665
2665
  return a;
2666
2666
  if (this._bodyBlob)
@@ -2672,7 +2672,7 @@ function Lr() {
2672
2672
  return Promise.resolve(new Blob([this._bodyText]));
2673
2673
  }), this.arrayBuffer = function() {
2674
2674
  if (this._bodyArrayBuffer) {
2675
- var a = k(this);
2675
+ var a = E(this);
2676
2676
  return a || (ArrayBuffer.isView(this._bodyArrayBuffer) ? Promise.resolve(
2677
2677
  this._bodyArrayBuffer.buffer.slice(
2678
2678
  this._bodyArrayBuffer.byteOffset,
@@ -2681,17 +2681,17 @@ function Lr() {
2681
2681
  ) : Promise.resolve(this._bodyArrayBuffer));
2682
2682
  } else {
2683
2683
  if (l.blob)
2684
- return this.blob().then(d);
2684
+ return this.blob().then(g);
2685
2685
  throw new Error("could not read as ArrayBuffer");
2686
2686
  }
2687
2687
  }, this.text = function() {
2688
- var a = k(this);
2688
+ var a = E(this);
2689
2689
  if (a)
2690
2690
  return a;
2691
2691
  if (this._bodyBlob)
2692
- return m(this._bodyBlob);
2692
+ return w(this._bodyBlob);
2693
2693
  if (this._bodyArrayBuffer)
2694
- return Promise.resolve(v(this._bodyArrayBuffer));
2694
+ return Promise.resolve(k(this._bodyArrayBuffer));
2695
2695
  if (this._bodyFormData)
2696
2696
  throw new Error("could not read FormData body as text");
2697
2697
  return Promise.resolve(this._bodyText);
@@ -2714,10 +2714,10 @@ function Lr() {
2714
2714
  if (a instanceof x) {
2715
2715
  if (a.bodyUsed)
2716
2716
  throw new TypeError("Already read");
2717
- this.url = a.url, this.credentials = a.credentials, p.headers || (this.headers = new w(a.headers)), this.method = a.method, this.mode = a.mode, this.signal = a.signal, !C && a._bodyInit != null && (C = a._bodyInit, a.bodyUsed = !0);
2717
+ this.url = a.url, this.credentials = a.credentials, p.headers || (this.headers = new m(a.headers)), this.method = a.method, this.mode = a.mode, this.signal = a.signal, !C && a._bodyInit != null && (C = a._bodyInit, a.bodyUsed = !0);
2718
2718
  } else
2719
2719
  this.url = String(a);
2720
- if (this.credentials = p.credentials || this.credentials || "same-origin", (p.headers || !this.headers) && (this.headers = new w(p.headers)), this.method = I(p.method || this.method || "GET"), this.mode = p.mode || this.mode || null, this.signal = p.signal || this.signal || (function() {
2720
+ if (this.credentials = p.credentials || this.credentials || "same-origin", (p.headers || !this.headers) && (this.headers = new m(p.headers)), this.method = I(p.method || this.method || "GET"), this.mode = p.mode || this.mode || null, this.signal = p.signal || this.signal || (function() {
2721
2721
  if ("AbortController" in s) {
2722
2722
  var B = new AbortController();
2723
2723
  return B.signal;
@@ -2747,7 +2747,7 @@ function Lr() {
2747
2747
  }), p;
2748
2748
  }
2749
2749
  function F(a) {
2750
- var p = new w(), C = a.replace(/\r?\n[\t ]+/g, " ");
2750
+ var p = new m(), C = a.replace(/\r?\n[\t ]+/g, " ");
2751
2751
  return C.split("\r").map(function(M) {
2752
2752
  return M.indexOf(`
2753
2753
  `) === 0 ? M.substr(1, M.length) : M;
@@ -2769,13 +2769,13 @@ function Lr() {
2769
2769
  throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');
2770
2770
  if (p || (p = {}), this.type = "default", this.status = p.status === void 0 ? 200 : p.status, this.status < 200 || this.status > 599)
2771
2771
  throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");
2772
- this.ok = this.status >= 200 && this.status < 300, this.statusText = p.statusText === void 0 ? "" : "" + p.statusText, this.headers = new w(p.headers), this.url = p.url || "", this._initBody(a);
2772
+ this.ok = this.status >= 200 && this.status < 300, this.statusText = p.statusText === void 0 ? "" : "" + p.statusText, this.headers = new m(p.headers), this.url = p.url || "", this._initBody(a);
2773
2773
  }
2774
2774
  _.call(D.prototype), D.prototype.clone = function() {
2775
2775
  return new D(this._bodyInit, {
2776
2776
  status: this.status,
2777
2777
  statusText: this.statusText,
2778
- headers: new w(this.headers),
2778
+ headers: new m(this.headers),
2779
2779
  url: this.url
2780
2780
  });
2781
2781
  }, D.error = function() {
@@ -2836,10 +2836,10 @@ function Lr() {
2836
2836
  return R;
2837
2837
  }
2838
2838
  }
2839
- if (B.open(S.method, U(S.url), !0), S.credentials === "include" ? B.withCredentials = !0 : S.credentials === "omit" && (B.withCredentials = !1), "responseType" in B && (l.blob ? B.responseType = "blob" : l.arrayBuffer && (B.responseType = "arraybuffer")), p && typeof p.headers == "object" && !(p.headers instanceof w || s.Headers && p.headers instanceof s.Headers)) {
2839
+ if (B.open(S.method, U(S.url), !0), S.credentials === "include" ? B.withCredentials = !0 : S.credentials === "omit" && (B.withCredentials = !1), "responseType" in B && (l.blob ? B.responseType = "blob" : l.arrayBuffer && (B.responseType = "arraybuffer")), p && typeof p.headers == "object" && !(p.headers instanceof m || s.Headers && p.headers instanceof s.Headers)) {
2840
2840
  var j = [];
2841
2841
  Object.getOwnPropertyNames(p.headers).forEach(function(R) {
2842
- j.push(h(R)), B.setRequestHeader(R, y(p.headers[R]));
2842
+ j.push(c(R)), B.setRequestHeader(R, y(p.headers[R]));
2843
2843
  }), S.headers.forEach(function(R, H) {
2844
2844
  j.indexOf(H) === -1 && B.setRequestHeader(H, R);
2845
2845
  });
@@ -2852,7 +2852,7 @@ function Lr() {
2852
2852
  }), B.send(typeof S._bodyInit > "u" ? null : S._bodyInit);
2853
2853
  });
2854
2854
  }
2855
- return N.polyfill = !0, s.fetch || (s.fetch = N, s.Headers = w, s.Request = x, s.Response = D), o.Headers = w, o.Request = x, o.Response = D, o.fetch = N, o;
2855
+ return N.polyfill = !0, s.fetch || (s.fetch = N, s.Headers = m, s.Request = x, s.Response = D), o.Headers = m, o.Request = x, o.Response = D, o.fetch = N, o;
2856
2856
  })({});
2857
2857
  })(t), t.fetch.ponyfill = !0, delete t.fetch.polyfill;
2858
2858
  var n = e.fetch ? e : t;
@@ -2889,8 +2889,8 @@ function Gr() {
2889
2889
  return !!u && typeof u == "object";
2890
2890
  }
2891
2891
  function e(u) {
2892
- var d = Object.prototype.toString.call(u);
2893
- return d === "[object RegExp]" || d === "[object Date]" || i(u);
2892
+ var g = Object.prototype.toString.call(u);
2893
+ return g === "[object RegExp]" || g === "[object Date]" || i(u);
2894
2894
  }
2895
2895
  var t = typeof Symbol == "function" && Symbol.for, n = t ? Symbol.for("react.element") : 60103;
2896
2896
  function i(u) {
@@ -2899,58 +2899,58 @@ function Gr() {
2899
2899
  function o(u) {
2900
2900
  return Array.isArray(u) ? [] : {};
2901
2901
  }
2902
- function s(u, d) {
2903
- return d.clone !== !1 && d.isMergeableObject(u) ? w(o(u), u, d) : u;
2902
+ function s(u, g) {
2903
+ return g.clone !== !1 && g.isMergeableObject(u) ? m(o(u), u, g) : u;
2904
2904
  }
2905
- function l(u, d, m) {
2906
- return u.concat(d).map(function(v) {
2907
- return s(v, m);
2905
+ function l(u, g, w) {
2906
+ return u.concat(g).map(function(k) {
2907
+ return s(k, w);
2908
2908
  });
2909
2909
  }
2910
- function f(u, d) {
2911
- if (!d.customMerge) return w;
2912
- var m = d.customMerge(u);
2913
- return typeof m == "function" ? m : w;
2910
+ function f(u, g) {
2911
+ if (!g.customMerge) return m;
2912
+ var w = g.customMerge(u);
2913
+ return typeof w == "function" ? w : m;
2914
2914
  }
2915
- function g(u) {
2916
- return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(u).filter(function(d) {
2917
- return Object.propertyIsEnumerable.call(u, d);
2915
+ function h(u) {
2916
+ return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(u).filter(function(g) {
2917
+ return Object.propertyIsEnumerable.call(u, g);
2918
2918
  }) : [];
2919
2919
  }
2920
- function c(u) {
2921
- return Object.keys(u).concat(g(u));
2920
+ function d(u) {
2921
+ return Object.keys(u).concat(h(u));
2922
2922
  }
2923
- function h(u, d) {
2923
+ function c(u, g) {
2924
2924
  try {
2925
- return d in u;
2925
+ return g in u;
2926
2926
  } catch {
2927
2927
  return !1;
2928
2928
  }
2929
2929
  }
2930
- function y(u, d) {
2931
- return h(u, d) && !(Object.hasOwnProperty.call(u, d) && Object.propertyIsEnumerable.call(u, d));
2930
+ function y(u, g) {
2931
+ return c(u, g) && !(Object.hasOwnProperty.call(u, g) && Object.propertyIsEnumerable.call(u, g));
2932
2932
  }
2933
- function E(u, d, m) {
2934
- var v = {};
2935
- return m.isMergeableObject(u) && c(u).forEach(function(b) {
2936
- v[b] = s(u[b], m);
2937
- }), c(d).forEach(function(b) {
2938
- y(u, b) || (h(u, b) && m.isMergeableObject(d[b]) ? v[b] = f(b, m)(u[b], d[b], m) : v[b] = s(d[b], m));
2939
- }), v;
2933
+ function b(u, g, w) {
2934
+ var k = {};
2935
+ return w.isMergeableObject(u) && d(u).forEach(function(v) {
2936
+ k[v] = s(u[v], w);
2937
+ }), d(g).forEach(function(v) {
2938
+ y(u, v) || (c(u, v) && w.isMergeableObject(g[v]) ? k[v] = f(v, w)(u[v], g[v], w) : k[v] = s(g[v], w));
2939
+ }), k;
2940
2940
  }
2941
- function w(u, d, m) {
2942
- m = m || {}, m.arrayMerge = m.arrayMerge || l, m.isMergeableObject = m.isMergeableObject || r, m.cloneUnlessOtherwiseSpecified = s;
2943
- var v = Array.isArray(d), b = Array.isArray(u), _ = v === b;
2944
- return _ ? v ? m.arrayMerge(u, d, m) : E(u, d, m) : s(d, m);
2941
+ function m(u, g, w) {
2942
+ w = w || {}, w.arrayMerge = w.arrayMerge || l, w.isMergeableObject = w.isMergeableObject || r, w.cloneUnlessOtherwiseSpecified = s;
2943
+ var k = Array.isArray(g), v = Array.isArray(u), _ = k === v;
2944
+ return _ ? k ? w.arrayMerge(u, g, w) : b(u, g, w) : s(g, w);
2945
2945
  }
2946
- w.all = function(u, d) {
2946
+ m.all = function(u, g) {
2947
2947
  if (!Array.isArray(u)) throw new Error("first argument should be an array");
2948
- return u.reduce(function(m, v) {
2949
- return w(m, v, d);
2948
+ return u.reduce(function(w, k) {
2949
+ return m(w, k, g);
2950
2950
  }, {});
2951
2951
  };
2952
- var k = w;
2953
- return VA = k, VA;
2952
+ var E = m;
2953
+ return VA = E, VA;
2954
2954
  }
2955
2955
  var zr = Gr();
2956
2956
  const re = /* @__PURE__ */ Nr(zr);
@@ -3014,19 +3014,19 @@ async function qe({
3014
3014
  let f = Ur({
3015
3015
  url: o,
3016
3016
  params: i
3017
- }), g = A, c = n;
3018
- n === wA.get && f.length > s && (g = i, c = wA.post, f = o);
3019
- const h = Vr({
3020
- body: g,
3017
+ }), h = A, d = n;
3018
+ n === wA.get && f.length > s && (h = i, d = wA.post, f = o);
3019
+ const c = Vr({
3020
+ body: h,
3021
3021
  accessToken: e ?? t?.accessToken,
3022
- method: c,
3022
+ method: d,
3023
3023
  ...l
3024
3024
  });
3025
- r && (h.signal = r);
3026
- const y = await Qr(f, h);
3025
+ r && (c.signal = r);
3026
+ const y = await Qr(f, c);
3027
3027
  if (!y.ok) {
3028
- const E = await y.text();
3029
- throw new Error(E);
3028
+ const b = await y.text();
3029
+ throw new Error(b);
3030
3030
  }
3031
3031
  return y.status === 204 ? Promise.resolve() : await y.json();
3032
3032
  }
@@ -3125,14 +3125,14 @@ class Yr extends Le {
3125
3125
  spatialFilter: s,
3126
3126
  othersThreshold: l,
3127
3127
  orderBy: f = "frequency_desc",
3128
- rawResult: g
3128
+ rawResult: h
3129
3129
  }) {
3130
- const c = this._getFilteredFeatures(s, i, o);
3131
- if (!c.length)
3130
+ const d = this._getFilteredFeatures(s, i, o);
3131
+ if (!d.length)
3132
3132
  return Promise.resolve([]);
3133
- dA(c, A, t);
3134
- const h = Qt({
3135
- data: c,
3133
+ dA(d, A, t);
3134
+ const c = Qt({
3135
+ data: d,
3136
3136
  valuesColumns: bA(t ?? A),
3137
3137
  joinOperation: n,
3138
3138
  keysColumn: A,
@@ -3140,10 +3140,10 @@ class Yr extends Le {
3140
3140
  othersThreshold: l,
3141
3141
  orderBy: f
3142
3142
  });
3143
- return g ? Promise.resolve(h) : l ? Promise.resolve([...h?.rows ?? [], {
3143
+ return h ? Promise.resolve(c) : l ? Promise.resolve([...c?.rows ?? [], {
3144
3144
  name: Ft,
3145
- value: h?.metadata?.others ?? 0
3146
- }]) : Promise.resolve(h?.rows ?? []);
3145
+ value: c?.metadata?.others ?? 0
3146
+ }]) : Promise.resolve(c?.rows ?? []);
3147
3147
  }
3148
3148
  getScatter({
3149
3149
  xAxisColumn: A,
@@ -3173,31 +3173,31 @@ class Yr extends Le {
3173
3173
  offset: s = 0,
3174
3174
  limit: l = 10,
3175
3175
  filters: f,
3176
- filterOwner: g,
3177
- spatialFilter: c
3176
+ filterOwner: h,
3177
+ spatialFilter: d
3178
3178
  }) {
3179
- let h = this._getFilteredFeatures(c, f, g);
3180
- if (!h.length)
3179
+ let c = this._getFilteredFeatures(d, f, h);
3180
+ if (!c.length)
3181
3181
  return Promise.resolve({
3182
3182
  rows: [],
3183
3183
  totalCount: 0
3184
3184
  });
3185
- e && t && (console.warn('WidgetGeoJsonSource: "searchFilterText" is deprecated, use "filters" and FilterType.STRING_SEARCH instead.'), h = h.filter((w) => w[e] && String(w[e]).toLowerCase().includes(String(t).toLowerCase())));
3186
- let y = Ut(h, {
3185
+ e && t && (console.warn('WidgetGeoJsonSource: "searchFilterText" is deprecated, use "filters" and FilterType.STRING_SEARCH instead.'), c = c.filter((m) => m[e] && String(m[e]).toLowerCase().includes(String(t).toLowerCase())));
3186
+ let y = Ut(c, {
3187
3187
  sortBy: n,
3188
3188
  sortByDirection: i,
3189
3189
  sortByColumnType: o
3190
3190
  });
3191
- const E = y.length;
3192
- return y = y.slice(Math.min(s, E), Math.min(s + l, E)), y = y.map((w) => {
3193
- const k = {};
3194
- if (w)
3191
+ const b = y.length;
3192
+ return y = y.slice(Math.min(s, b), Math.min(s + l, b)), y = y.map((m) => {
3193
+ const E = {};
3194
+ if (m)
3195
3195
  for (const u of A)
3196
- k[u] = w[u];
3197
- return k;
3196
+ E[u] = m[u];
3197
+ return E;
3198
3198
  }), Promise.resolve({
3199
3199
  rows: y,
3200
- totalCount: E
3200
+ totalCount: b
3201
3201
  });
3202
3202
  }
3203
3203
  getTimeSeries({
@@ -3216,7 +3216,7 @@ class Yr extends Le {
3216
3216
  rows: []
3217
3217
  });
3218
3218
  dA(f, A, n), kA(t !== "custom", "Custom operation not supported for geojson");
3219
- const g = Nt({
3219
+ const h = Nt({
3220
3220
  data: f,
3221
3221
  valuesColumns: bA(n ?? A),
3222
3222
  keysColumn: A,
@@ -3225,7 +3225,7 @@ class Yr extends Le {
3225
3225
  joinOperation: i
3226
3226
  }) ?? [];
3227
3227
  return Promise.resolve({
3228
- rows: g
3228
+ rows: h
3229
3229
  });
3230
3230
  }
3231
3231
  getRange({
@@ -3256,13 +3256,13 @@ class Yr extends Le {
3256
3256
  for (const {
3257
3257
  column: l,
3258
3258
  operation: f,
3259
- alias: g
3259
+ alias: h
3260
3260
  } of A) {
3261
3261
  (l && l !== "*" || f !== yA.Count) && dA(i, l);
3262
- const c = g.toLowerCase();
3263
- kA(!s.has(c), `Duplicate alias: ${c}`), s.add(c);
3264
- const h = SA[f];
3265
- kA(h, `Unsupported operation: ${f}`), o[g] = h(i, l);
3262
+ const d = h.toLowerCase();
3263
+ kA(!s.has(d), `Duplicate alias: ${d}`), s.add(d);
3264
+ const c = SA[f];
3265
+ kA(c, `Unsupported operation: ${f}`), o[h] = c(i, l);
3266
3266
  }
3267
3267
  return Promise.resolve({
3268
3268
  rows: [o]
@@ -3295,13 +3295,13 @@ function dA(r, ...A) {
3295
3295
  function bA(r) {
3296
3296
  return Array.isArray(r) ? r : typeof r == "string" ? [r] : [];
3297
3297
  }
3298
- const Ye = '(function(){"use strict";const Ln={INIT:"init"};var Je=(function(u){u=u||{};var o=typeof u<"u"?u:{},h={},c;for(c in o)o.hasOwnProperty(c)&&(h[c]=o[c]);var w="";function m(W){return o.locateFile?o.locateFile(W,w):w+W}var k;typeof document<"u"&&document.currentScript&&(w=document.currentScript.src),w.indexOf("blob:")!==0?w=w.substr(0,w.lastIndexOf("/")+1):w="",k=function(AA,fA,tA){var e=new XMLHttpRequest;e.open("GET",AA,!0),e.responseType="arraybuffer",e.onload=function(){if(e.status==200||e.status==0&&e.response){fA(e.response);return}var zA=nr(AA);if(zA){fA(zA.buffer);return}tA()},e.onerror=tA,e.send(null)};var C=o.print||console.log.bind(console),_=o.printErr||console.warn.bind(console);for(c in h)h.hasOwnProperty(c)&&(o[c]=h[c]);h=null,o.arguments&&o.arguments;var P=0,Y=function(W){P=W},O=function(){return P},q=8;function J(W,AA,fA,tA){switch(fA=fA||"i8",fA.charAt(fA.length-1)==="*"&&(fA="i32"),fA){case"i1":I[W>>0]=AA;break;case"i8":I[W>>0]=AA;break;case"i16":V[W>>1]=AA;break;case"i32":L[W>>2]=AA;break;case"i64":ir=[AA>>>0,(ve=AA,+E0(ve)>=1?ve>0?(ao(+JA(ve/4294967296),4294967295)|0)>>>0:~~+f0((ve-+(~~ve>>>0))/4294967296)>>>0:0)],L[W>>2]=ir[0],L[W+4>>2]=ir[1];break;case"float":U[W>>2]=AA;break;case"double":H[W>>3]=AA;break;default:be("invalid type for setValue: "+fA)}}function oA(W,AA,fA){switch(AA=AA||"i8",AA.charAt(AA.length-1)==="*"&&(AA="i32"),AA){case"i1":return I[W>>0];case"i8":return I[W>>0];case"i16":return V[W>>1];case"i32":return L[W>>2];case"i64":return L[W>>2];case"float":return U[W>>2];case"double":return H[W>>3];default:be("invalid type for getValue: "+AA)}return null}var lA=!1;function gA(W,AA){W||be("Assertion failed: "+AA)}function aA(W){var AA=o["_"+W];return gA(AA,"Cannot call unknown function "+W+", make sure it is exported"),AA}function Z(W,AA,fA,tA,e){var E={string:function(OA){var x0=0;if(OA!=null&&OA!==0){var dt=(OA.length<<2)+1;x0=Li(dt),B(OA,x0,dt)}return x0},array:function(OA){var x0=Li(OA.length);return M(OA,x0),x0}};function zA(OA){return AA==="string"?GA(OA):AA==="boolean"?!!OA:OA}var VA=aA(W),s0=[],IA=0;if(tA)for(var YA=0;YA<tA.length;YA++){var W0=E[fA[YA]];W0?(IA===0&&(IA=Po()),s0[YA]=W0(tA[YA])):s0[YA]=tA[YA]}var jA=VA.apply(null,s0);return jA=zA(jA),IA!==0&&Mo(IA),jA}function RA(W,AA,fA,tA){fA=fA||[];var e=fA.every(function(zA){return zA==="number"}),E=AA!=="string";return E&&e&&!tA?aA(W):function(){return Z(W,AA,fA,arguments)}}var FA=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function TA(W,AA,fA){for(var tA=AA+fA,e=AA;W[e]&&!(e>=tA);)++e;if(e-AA>16&&W.subarray&&FA)return FA.decode(W.subarray(AA,e));for(var E="";AA<e;){var zA=W[AA++];if(!(zA&128)){E+=String.fromCharCode(zA);continue}var VA=W[AA++]&63;if((zA&224)==192){E+=String.fromCharCode((zA&31)<<6|VA);continue}var s0=W[AA++]&63;if((zA&240)==224?zA=(zA&15)<<12|VA<<6|s0:zA=(zA&7)<<18|VA<<12|s0<<6|W[AA++]&63,zA<65536)E+=String.fromCharCode(zA);else{var IA=zA-65536;E+=String.fromCharCode(55296|IA>>10,56320|IA&1023)}}return E}function GA(W,AA){return W?TA(N,W,AA):""}function XA(W,AA,fA,tA){if(!(tA>0))return 0;for(var e=fA,E=fA+tA-1,zA=0;zA<W.length;++zA){var VA=W.charCodeAt(zA);if(VA>=55296&&VA<=57343){var s0=W.charCodeAt(++zA);VA=65536+((VA&1023)<<10)|s0&1023}if(VA<=127){if(fA>=E)break;AA[fA++]=VA}else if(VA<=2047){if(fA+1>=E)break;AA[fA++]=192|VA>>6,AA[fA++]=128|VA&63}else if(VA<=65535){if(fA+2>=E)break;AA[fA++]=224|VA>>12,AA[fA++]=128|VA>>6&63,AA[fA++]=128|VA&63}else{if(fA+3>=E)break;AA[fA++]=240|VA>>18,AA[fA++]=128|VA>>12&63,AA[fA++]=128|VA>>6&63,AA[fA++]=128|VA&63}}return AA[fA]=0,fA-e}function B(W,AA,fA){return XA(W,N,AA,fA)}typeof TextDecoder<"u"&&new TextDecoder("utf-16le");function M(W,AA){I.set(W,AA)}function Q(W,AA){return W%AA>0&&(W+=AA-W%AA),W}var R,I,N,V,L,U,H;function j(W){R=W,o.HEAP8=I=new Int8Array(W),o.HEAP16=V=new Int16Array(W),o.HEAP32=L=new Int32Array(W),o.HEAPU8=N=new Uint8Array(W),o.HEAPU16=new Uint16Array(W),o.HEAPU32=new Uint32Array(W),o.HEAPF32=U=new Float32Array(W),o.HEAPF64=H=new Float64Array(W)}var $=5271520,mA=28608,vA=o.TOTAL_MEMORY||33554432;o.buffer?R=o.buffer:R=new ArrayBuffer(vA),vA=R.byteLength,j(R),L[mA>>2]=$;function NA(W){for(;W.length>0;){var AA=W.shift();if(typeof AA=="function"){AA();continue}var fA=AA.func;typeof fA=="number"?AA.arg===void 0?o.dynCall_v(fA):o.dynCall_vi(fA,AA.arg):fA(AA.arg===void 0?null:AA.arg)}}var ZA=[],e0=[],UA=[],HA=[];function n0(){if(o.preRun)for(typeof o.preRun=="function"&&(o.preRun=[o.preRun]);o.preRun.length;)d0(o.preRun.shift());NA(ZA)}function ye(){NA(e0)}function Ue(){NA(UA)}function ze(){if(o.postRun)for(typeof o.postRun=="function"&&(o.postRun=[o.postRun]);o.postRun.length;)se(o.postRun.shift());NA(HA)}function d0(W){ZA.unshift(W)}function se(W){HA.unshift(W)}var E0=Math.abs,f0=Math.ceil,JA=Math.floor,ao=Math.min,oe=0,Ye=null;function go(W){oe++,o.monitorRunDependencies&&o.monitorRunDependencies(oe)}function co(W){if(oe--,o.monitorRunDependencies&&o.monitorRunDependencies(oe),oe==0&&Ye){var AA=Ye;Ye=null,AA()}}o.preloadedImages={},o.preloadedAudios={};var U0=null,rr="data:application/octet-stream;base64,";function Oi(W){return String.prototype.startsWith?W.startsWith(rr):W.indexOf(rr)===0}var ve,ir;U0="data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAAAQAAAAQAAAADAAAABgAAAAUAAAACAAAAAAAAAAIAAAADAAAAAQAAAAQAAAAGAAAAAAAAAAUAAAADAAAABgAAAAQAAAAFAAAAAAAAAAEAAAACAAAABAAAAAUAAAAGAAAAAAAAAAIAAAADAAAAAQAAAAUAAAACAAAAAAAAAAEAAAADAAAABgAAAAQAAAAGAAAAAAAAAAUAAAACAAAAAQAAAAQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAAAAAAEAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAYAAAAAAAAABQAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAYAAAAAAAAAAwAAAAIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAFAAAABAAAAAAAAAABAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAADAAAACAAAAAEAAAAHAAAABgAAAAkAAAAAAAAAAwAAAAIAAAACAAAA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AAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAUAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABAAAAAUAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAD/////AQAAAAAAAAADAAAABAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAUAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAD//////////wEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAAAAAAAAAAABAAAAAgAAAAYAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAAAAAAAAAAAAQAAAAEAAAAFAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAAAAAAAAAAABAAAAAwAAAAcAAAAGAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADgAAAAIAAAAAAAAAAAAAAAEAAAAAAAAACQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAAAAAAAAAAAAAEAAAAEAAAACAAAAAoAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAAAAAAAAAAAAQAAAAsAAAAPAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAIAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAAAAAAAAAAAAQAAAAwAAAAQAAAADAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAAAAAAAAAAABAAAACgAAABMAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAAAAAAAAEAAAANAAAAEQAAAA0AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAACAAAAAAAAAAAAAAABAAAADgAAABIAAAAPAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAgAAAAAAAAAAAAAAAQAAAP//////////EwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAASAAAAAAAAABgAAAAAAAAAIQAAAAAAAAAeAAAAAAAAACAAAAADAAAAMQAAAAEAAAAwAAAAAwAAADIAAAADAAAACAAAAAAAAAAFAAAABQAAAAoAAAAFAAAAFgAAAAAAAAAQAAAAAAAAABIAAAAAAAAAKQAAAAEAAAAhAAAAAAAAAB4AAAAAAAAABAAAAAAAAAAAAAAABQAAAAIAAAAFAAAADwAAAAEAAAAIAAAAAAAAAAUAAAAFAAAAHwAAAAEAAAAWAAAAAAAAABAAAAAAAAAAAgAAAAAAAAAGAAAAAAAAAA4AAAAAAAAACgAAAAAAAAALAAAAAAAAABEAAAADAAAAGAAAAAEAAAAXAAAAAwAAABkAAAADAAAAAAAAAAAAAAABAAAABQAAAAkAAAAFAAAABQAAAAAAAAACAAAAAAAAAAYAAAAAAAAAEgAAAAEAAAAKAAAAAAAAAAsAAAAAAAAABAAAAAEAAAADAAAABQAAAAcAAAAFAAAACAAAAAEAAAAAAAAAAAAAAAEAAAAFAAAAEAAAAAEAAAAFAAAAAAAAAAIAAAAAAAAABwAAAAAAAAAVAAAAAAAAACYAAAAAAAAACQAAAAAAAAATAAAAAAAAACIAAAADAAAADgAAAAEAAAAUAAAAAwAAACQAAAADAAAAAwAAAAAAAAANAAAABQAAAB0AAAAFAAAAAQAAAAAAAAAHAAAAAAAAABUAAAAAAAAABgAAAAEAAAAJAAAAAAAAABMAAAAAAAAABAAAAAIAAAAMAAAA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Zhu25b633D8c1YgmzowSQNM25BRKWARArGS08/lNxD+LFssHwmMRQLC5aNcxBgJABL9HT0WRF0CjCmJmOGEOQHsuaVzMP/s/TWJCaGGwBUCeu1PAPLzjP9nqN9DZOBNAKE4JcydbCkCGtbd1qjPzP8dgm9U8jhVAtPeKTkVwDkCeCLss5l37P401XMPLmBdAFd29VMVQDUBg0yA55h75Pz6odcYLCRdApBM4rBrkAkDyAVWgQxbRP4XDMnK20hFAymLlF7EmzD8GUgo9XBHlP3lbK7T9COc/k+OhPthhy7+YGEpnrOvCPzBFhLs15u4/epbqB6H4uz9IuuLF5svev6lzLKY31es/CaQ0envF5z8ZY0xlUADXv7zaz7HYEuI/CfbK1sn16T8uAQfWwxLWPzKn/YuFN94/5KdbC1AFu793fyCSnlfvPzK2y4doAMY/NRg5t1/X6b/shq4QJaHDP5yNIAKPOeI/vpn7BSE30r/X4YQrO6nrv78Ziv/Thto/DqJ1Y6+y5z9l51NaxFrlv8QlA65HOLS/86dxiEc96z+Hj0+LFjneP6LzBZ8LTc2/DaJ1Y6+y579l51NaxFrlP8QlA65HOLQ/8qdxiEc967+Jj0+LFjnev6LzBZ8LTc0/1qdbC1AFuz93fyCSnlfvvzK2y4doAMa/NRg5t1/X6T/vhq4QJaHDv5yNIAKPOeK/wJn7BSE30j/W4YQrO6nrP78Ziv/Thtq/CaQ0envF578XY0xlUADXP7zaz7HYEuK/CvbK1sn16b8rAQfWwxLWvzKn/YuFN96/zWLlF7EmzL8GUgo9XBHlv3lbK7T9COe/kOOhPthhyz+cGEpnrOvCvzBFhLs15u6/c5bqB6H4u79IuuLF5sveP6lzLKY31eu/AQAAAP////8HAAAA/////zEAAAD/////VwEAAP////9hCQAA/////6dBAAD/////kcsBAP/////3kAwA/////8H2VwAAAAAAAAAAAAAAAAACAAAA/////w4AAAD/////YgAAAP////+uAgAA/////8ISAAD/////ToMAAP////8ilwMA/////+4hGQD/////gu2vAAAAAAAAAAAAAAAAAAAAAAACAAAA//////////8BAAAAAwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////AgAAAP//////////AQAAAAAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD/////////////////////AQAAAP///////////////wIAAAD///////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP///////////////////////////////wIAAAD///////////////8BAAAA/////////////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAABAAAA//////////8CAAAA//////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAAAQAAAP//////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAIAAAABAAAAAQAAAAIAAAACAAAAAAAAAAUAAAAFAAAAAAAAAAIAAAACAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAACAAAAAgAAAAIAAAAAAAAABQAAAAYAAAAAAAAAAgAAAAIAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAACAAAAAQAAAAMAAAACAAAAAgAAAAAAAAAFAAAABwAAAAAAAAACAAAAAgAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAIAAAABAAAABAAAAAIAAAACAAAAAAAAAAUAAAAIAAAAAAAAAAIAAAACAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAAAAAAAAgAAAAIAAAAAAAAABQAAAAkAAAAAAAAAAgAAAAIAAAADAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAIAAAAAAAAAAwAAAA4AAAACAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAgAAAAMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAgAAAAAAAAADAAAACgAAAAIAAAAAAAAAAgAAAAMAAAABAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAACAAAAAAAAAAMAAAALAAAAAgAAAAAAAAACAAAAAwAAAAIAAAAAAAAAAgAAAAIAAAADAAAACAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAIAAAAAAAAAAwAAAAwAAAACAAAAAAAAAAIAAAADAAAAAwAAAAAAAAACAAAAAgAAAAMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAAAAgAAAAAAAAADAAAADQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAAAAAAAAIAAAACAAAAAwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAACAAAAAAAAAAMAAAAGAAAAAgAAAAAAAAACAAAAAwAAAA8AAAAAAAAAAgAAAAIAAAADAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAIAAAAAAAAAAwAAAAcAAAACAAAAAAAAAAIAAAADAAAAEAAAAAAAAAACAAAAAgAAAAMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAgAAAAAAAAADAAAACAAAAAIAAAAAAAAAAgAAAAMAAAARAAAAAAAAAAIAAAACAAAAAwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAACAAAAAAAAAAMAAAAJAAAAAgAAAAAAAAACAAAAAwAAABIAAAAAAAAAAgAAAAIAAAADAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAgAAAAIAAAAAAAAAAwAAAAUAAAACAAAA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ZV0gPT0gS0kAZmFjZWlqay5jAF9mYWNlSWprUGVudFRvQ2VsbEJvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9DZWxsQm91bmRhcnkAaDNJbmRleC5jAGNvbXBhY3RDZWxscwBsYXRMbmdUb0NlbGwAY2VsbFRvQ2hpbGRQb3MAdmFsaWRhdGVDaGlsZFBvcwBsYXRMbmcuYwBjZWxsQXJlYVJhZHMyAHBvbHlnb24tPm5leHQgPT0gTlVMTABsaW5rZWRHZW8uYwBhZGROZXdMaW5rZWRQb2x5Z29uAG5leHQgIT0gTlVMTABsb29wICE9IE5VTEwAYWRkTmV3TGlua2VkTG9vcABwb2x5Z29uLT5maXJzdCA9PSBOVUxMAGFkZExpbmtlZExvb3AAY29vcmQgIT0gTlVMTABhZGRMaW5rZWRDb29yZABsb29wLT5maXJzdCA9PSBOVUxMAGlubmVyTG9vcHMgIT0gTlVMTABub3JtYWxpemVNdWx0aVBvbHlnb24AYmJveGVzICE9IE5VTEwAY2FuZGlkYXRlcyAhPSBOVUxMAGZpbmRQb2x5Z29uRm9ySG9sZQBjYW5kaWRhdGVCQm94ZXMgIT0gTlVMTAByZXZEaXIgIT0gSU5WQUxJRF9ESUdJVABsb2NhbGlqLmMAY2VsbFRvTG9jYWxJamsAYmFzZUNlbGwgIT0gb3JpZ2luQmFzZUNlbGwAIShvcmlnaW5PblBlbnQgJiYgaW5kZXhPblBlbnQpAGJhc2VDZWxsID09IG9yaWdpbkJhc2VDZWxsAGJhc2VDZWxsICE9IElOVkFMSURfQkFTRV9DRUxMAGxvY2FsSWprVG9DZWxsACFfaXNCYXNlQ2VsbFBlbnRhZ29uKGJhc2VDZWxsKQBiYXNlQ2VsbFJvdGF0aW9ucyA+PSAwAGdyaWRQYXRoQ2VsbHMAcG9seWZpbGwuYwBpdGVyU3RlcFBvbHlnb25Db21wYWN0ADAAdmVydGV4LmMAY2VsbFRvVmVydGV4AGdyYXBoLT5idWNrZXRzICE9IE5VTEwAdmVydGV4R3JhcGguYwBpbml0VmVydGV4R3JhcGgAbm9kZSAhPSBOVUxMAGFkZFZlcnRleE5vZGU=";var wo=28624;function po(W,AA,fA,tA){be("Assertion failed: "+GA(W)+", at: "+[AA?GA(AA):"unknown filename",fA,tA?GA(tA):"unknown function"])}function Ri(){return I.length}function mo(W,AA,fA){N.set(N.subarray(AA,AA+fA),W)}function Eo(W){return o.___errno_location&&(L[o.___errno_location()>>2]=W),W}function yo(W){be("OOM")}function vo(W){try{var AA=new ArrayBuffer(W);return AA.byteLength!=W?void 0:(new Int8Array(AA).set(I),Do(AA),j(AA),1)}catch{}}function bo(W){var AA=Ri(),fA=16777216,tA=2147483648-fA;if(W>tA)return!1;for(var e=16777216,E=Math.max(AA,e);E<W;)E<=536870912?E=Q(2*E,fA):E=Math.min(Q((3*E+2147483648)/4,fA),tA);var zA=vo(E);return!!zA}var ko=typeof atob=="function"?atob:function(W){var AA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",fA="",tA,e,E,zA,VA,s0,IA,YA=0;W=W.replace(/[^A-Za-z0-9\\+\\/\\=]/g,"");do zA=AA.indexOf(W.charAt(YA++)),VA=AA.indexOf(W.charAt(YA++)),s0=AA.indexOf(W.charAt(YA++)),IA=AA.indexOf(W.charAt(YA++)),tA=zA<<2|VA>>4,e=(VA&15)<<4|s0>>2,E=(s0&3)<<6|IA,fA=fA+String.fromCharCode(tA),s0!==64&&(fA=fA+String.fromCharCode(e)),IA!==64&&(fA=fA+String.fromCharCode(E));while(YA<W.length);return fA};function Bo(W){try{for(var AA=ko(W),fA=new Uint8Array(AA.length),tA=0;tA<AA.length;++tA)fA[tA]=AA.charCodeAt(tA);return fA}catch{throw new Error("Converting base64 string to bytes failed.")}}function nr(W){if(Oi(W))return Bo(W.slice(rr.length))}var Co={Math,Int8Array,Int32Array,Uint8Array,Float32Array,Float64Array},xo={b:Y,c:O,d:po,e:Eo,f:Ri,g:mo,h:bo,i:yo,o:wo,p:mA},rA=(function(W,AA,fA){"almost asm";var tA=new W.Int8Array(fA),e=new W.Int32Array(fA);new W.Uint8Array(fA),new W.Float32Array(fA);var E=new W.Float64Array(fA),zA=AA.o|0,VA=AA.p|0,s0=W.Math.floor,IA=W.Math.abs,YA=W.Math.sqrt,W0=W.Math.pow,jA=W.Math.cos,OA=W.Math.sin,x0=W.Math.tan,dt=W.Math.acos,_o=W.Math.asin,lr=W.Math.atan,D0=W.Math.atan2,ke=W.Math.ceil,O0=W.Math.imul,fr=W.Math.min,Qo=W.Math.max,z0=W.Math.clz32,MA=AA.b,b=AA.c,BA=AA.d,Ui=AA.e,So=AA.f,To=AA.g,Io=AA.h,Oo=AA.i,y=28640;function Ro(A){return tA=new Int8Array(A),e=new Int32Array(A),E=new Float64Array(A),fA=A,!0}function Lo(A){A=A|0;var t=0;return t=y,y=y+A|0,y=y+15&-16,t|0}function Fo(){return y|0}function No(A){A=A|0,y=A}function Go(A,t){A=A|0,y=A}function Uo(A,t){A=A|0,t=t|0;var r=0,i=0,n=0;return(A|0)<0?(t=2,t|0):(A|0)>13780509?(t=_t(15,t)|0,t|0):(r=((A|0)<0)<<31>>31,n=l0(A|0,r|0,3,0)|0,i=b()|0,r=EA(A|0,r|0,1,0)|0,r=l0(n|0,i|0,r|0,b()|0)|0,r=EA(r|0,b()|0,1,0)|0,A=b()|0,e[t>>2]=r,e[t+4>>2]=A,t=0,t|0)}function zi(A,t,r,i){return A=A|0,t=t|0,r=r|0,i=i|0,Yi(A,t,r,i,0)|0}function Yi(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0;if(a=y,y=y+16|0,l=a,!(ji(A,t,r,i,n)|0))return i=0,y=a,i|0;do if((r|0)>=0){if((r|0)>13780509){if(s=_t(15,l)|0,s|0)break;f=l,l=e[f>>2]|0,f=e[f+4>>2]|0}else s=((r|0)<0)<<31>>31,g=l0(r|0,s|0,3,0)|0,f=b()|0,s=EA(r|0,s|0,1,0)|0,s=l0(g|0,f|0,s|0,b()|0)|0,s=EA(s|0,b()|0,1,0)|0,f=b()|0,e[l>>2]=s,e[l+4>>2]=f,l=s;if(Ae(i|0,0,l<<3|0)|0,n|0){Ae(n|0,0,l<<2|0)|0,s=R0(A,t,r,i,n,l,f,0)|0;break}s=v0(l,4)|0,s?(g=R0(A,t,r,i,s,l,f,0)|0,yA(s),s=g):s=13}else s=2;while(!1);return g=s,y=a,g|0}function ji(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0;if(S=y,y=y+16|0,x=S,D=S+8|0,d=x,e[d>>2]=A,e[d+4>>2]=t,(r|0)<0)return D=2,y=S,D|0;if(s=i,e[s>>2]=A,e[s+4>>2]=t,s=(n|0)!=0,s&&(e[n>>2]=0),WA(A,t)|0)return D=9,y=S,D|0;e[D>>2]=0;A:do if((r|0)>=1)if(s)for(p=1,g=0,v=0,d=1,s=A;;){if(!(g|v)){if(s=o0(s,t,4,D,x)|0,s|0)break A;if(t=x,s=e[t>>2]|0,t=e[t+4>>2]|0,WA(s,t)|0){s=9;break A}}if(s=o0(s,t,e[26800+(v<<2)>>2]|0,D,x)|0,s|0)break A;if(t=x,s=e[t>>2]|0,t=e[t+4>>2]|0,A=i+(p<<3)|0,e[A>>2]=s,e[A+4>>2]=t,e[n+(p<<2)>>2]=d,A=g+1|0,l=(A|0)==(d|0),f=v+1|0,a=(f|0)==6,WA(s,t)|0){s=9;break A}if(d=d+(a&l&1)|0,(d|0)>(r|0)){s=0;break}else p=p+1|0,g=l?0:A,v=l?a?0:f:v}else for(p=1,g=0,v=0,d=1,s=A;;){if(!(g|v)){if(s=o0(s,t,4,D,x)|0,s|0)break A;if(t=x,s=e[t>>2]|0,t=e[t+4>>2]|0,WA(s,t)|0){s=9;break A}}if(s=o0(s,t,e[26800+(v<<2)>>2]|0,D,x)|0,s|0)break A;if(t=x,s=e[t>>2]|0,t=e[t+4>>2]|0,A=i+(p<<3)|0,e[A>>2]=s,e[A+4>>2]=t,A=g+1|0,l=(A|0)==(d|0),f=v+1|0,a=(f|0)==6,WA(s,t)|0){s=9;break A}if(d=d+(a&l&1)|0,(d|0)>(r|0)){s=0;break}else p=p+1|0,g=l?0:A,v=l?a?0:f:v}else s=0;while(!1);return D=s,y=S,D|0}function R0(A,t,r,i,n,s,l,f){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0,s=s|0,l=l|0,f=f|0;var a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0;if(S=y,y=y+16|0,x=S+8|0,D=S,a=Me(A|0,t|0,s|0,l|0)|0,p=b()|0,v=i+(a<<3)|0,F=v,K=e[F>>2]|0,F=e[F+4>>2]|0,g=(K|0)==(A|0)&(F|0)==(t|0),!((K|0)==0&(F|0)==0|g))do a=EA(a|0,p|0,1,0)|0,a=De(a|0,b()|0,s|0,l|0)|0,p=b()|0,v=i+(a<<3)|0,K=v,F=e[K>>2]|0,K=e[K+4>>2]|0,g=(F|0)==(A|0)&(K|0)==(t|0);while(!((F|0)==0&(K|0)==0|g));if(a=n+(a<<2)|0,g&&(e[a>>2]|0)<=(f|0)||(K=v,e[K>>2]=A,e[K+4>>2]=t,e[a>>2]=f,(f|0)>=(r|0)))return K=0,y=S,K|0;switch(g=f+1|0,e[x>>2]=0,a=o0(A,t,2,x,D)|0,a|0){case 9:{d=9;break}case 0:{a=D,a=R0(e[a>>2]|0,e[a+4>>2]|0,r,i,n,s,l,g)|0,a||(d=9);break}}A:do if((d|0)==9){switch(e[x>>2]=0,a=o0(A,t,3,x,D)|0,a|0){case 9:break;case 0:{if(a=D,a=R0(e[a>>2]|0,e[a+4>>2]|0,r,i,n,s,l,g)|0,a|0)break A;break}default:break A}switch(e[x>>2]=0,a=o0(A,t,1,x,D)|0,a|0){case 9:break;case 0:{if(a=D,a=R0(e[a>>2]|0,e[a+4>>2]|0,r,i,n,s,l,g)|0,a|0)break A;break}default:break A}switch(e[x>>2]=0,a=o0(A,t,5,x,D)|0,a|0){case 9:break;case 0:{if(a=D,a=R0(e[a>>2]|0,e[a+4>>2]|0,r,i,n,s,l,g)|0,a|0)break A;break}default:break A}switch(e[x>>2]=0,a=o0(A,t,4,x,D)|0,a|0){case 9:break;case 0:{if(a=D,a=R0(e[a>>2]|0,e[a+4>>2]|0,r,i,n,s,l,g)|0,a|0)break A;break}default:break A}switch(e[x>>2]=0,a=o0(A,t,6,x,D)|0,a|0){case 9:break;case 0:{if(a=D,a=R0(e[a>>2]|0,e[a+4>>2]|0,r,i,n,s,l,g)|0,a|0)break A;break}default:break A}return K=0,y=S,K|0}while(!1);return K=a,y=S,K|0}function o0(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0;if(r>>>0>6)return n=1,n|0;if(v=(e[i>>2]|0)%6|0,e[i>>2]=v,(v|0)>0){s=0;do r=ue(r)|0,s=s+1|0;while((s|0)<(e[i>>2]|0))}if(v=eA(A|0,t|0,45)|0,b()|0,p=v&127,p>>>0>121)return n=5,n|0;a=y0(A,t)|0,s=eA(A|0,t|0,52)|0,b()|0,s=s&15;A:do if(!s)g=8;else{for(;;){if(l=(15-s|0)*3|0,f=eA(A|0,t|0,l|0)|0,b()|0,f=f&7,(f|0)==7){t=5;break}if(D=(M0(s)|0)==0,s=s+-1|0,d=sA(7,0,l|0)|0,t=t&~(b()|0),x=sA(e[(D?432:16)+(f*28|0)+(r<<2)>>2]|0,0,l|0)|0,l=b()|0,r=e[(D?640:224)+(f*28|0)+(r<<2)>>2]|0,A=x|A&~d,t=l|t,!r){r=0;break A}if(!s){g=8;break A}}return t|0}while(!1);(g|0)==8&&(D=e[848+(p*28|0)+(r<<2)>>2]|0,x=sA(D|0,0,45)|0,A=x|A,t=b()|0|t&-1040385,r=e[4272+(p*28|0)+(r<<2)>>2]|0,(D&127|0)==127&&(D=sA(e[848+(p*28|0)+20>>2]|0,0,45)|0,t=b()|0|t&-1040385,r=e[4272+(p*28|0)+20>>2]|0,A=he(D|A,t)|0,t=b()|0,e[i>>2]=(e[i>>2]|0)+1)),f=eA(A|0,t|0,45)|0,b()|0,f=f&127;A:do if($A(f)|0){e:do if((y0(A,t)|0)==1){if((p|0)!=(f|0))if(qi(f,e[7696+(p*28|0)>>2]|0)|0){A=Cr(A,t)|0,l=1,t=b()|0;break}else BA(27795,26864,533,26872);switch(a|0){case 3:{A=he(A,t)|0,t=b()|0,e[i>>2]=(e[i>>2]|0)+1,l=0;break e}case 5:{A=Cr(A,t)|0,t=b()|0,e[i>>2]=(e[i>>2]|0)+5,l=0;break e}case 0:return D=9,D|0;default:return D=1,D|0}}else l=0;while(!1);if((r|0)>0){s=0;do A=Br(A,t)|0,t=b()|0,s=s+1|0;while((s|0)!=(r|0))}if((p|0)!=(f|0)){if(!(hr(f)|0)){if((l|0)!=0|(y0(A,t)|0)!=5)break;e[i>>2]=(e[i>>2]|0)+1;break}switch(v&127){case 8:case 118:break A}(y0(A,t)|0)!=3&&(e[i>>2]=(e[i>>2]|0)+1)}}else if((r|0)>0){s=0;do A=he(A,t)|0,t=b()|0,s=s+1|0;while((s|0)!=(r|0))}while(!1);return e[i>>2]=((e[i>>2]|0)+r|0)%6|0,D=n,e[D>>2]=A,e[D+4>>2]=t,D=0,D|0}function zo(A,t,r,i){return A=A|0,t=t|0,r=r|0,i=i|0,Hi(A,t,r,i)|0?(Ae(i|0,0,r*48|0)|0,i=Yo(A,t,r,i)|0,i|0):(i=0,i|0)}function Hi(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0;if(D=y,y=y+16|0,d=D,x=D+8|0,v=d,e[v>>2]=A,e[v+4>>2]=t,(r|0)<0)return x=2,y=D,x|0;if(!r)return x=i,e[x>>2]=A,e[x+4>>2]=t,x=0,y=D,x|0;e[x>>2]=0;A:do if(WA(A,t)|0)A=9;else{n=0,v=A;do{if(A=o0(v,t,4,x,d)|0,A|0)break A;if(t=d,v=e[t>>2]|0,t=e[t+4>>2]|0,n=n+1|0,WA(v,t)|0){A=9;break A}}while((n|0)<(r|0));p=i,e[p>>2]=v,e[p+4>>2]=t,p=r+-1|0,g=0,A=1;do{if(n=26800+(g<<2)|0,(g|0)==5)for(l=e[n>>2]|0,s=0,n=A;;){if(A=d,A=o0(e[A>>2]|0,e[A+4>>2]|0,l,x,d)|0,A|0)break A;if((s|0)!=(p|0))if(a=d,f=e[a>>2]|0,a=e[a+4>>2]|0,A=i+(n<<3)|0,e[A>>2]=f,e[A+4>>2]=a,!(WA(f,a)|0))A=n+1|0;else{A=9;break A}else A=n;if(s=s+1|0,(s|0)>=(r|0))break;n=A}else for(l=d,a=e[n>>2]|0,f=0,n=A,s=e[l>>2]|0,l=e[l+4>>2]|0;;){if(A=o0(s,l,a,x,d)|0,A|0)break A;if(l=d,s=e[l>>2]|0,l=e[l+4>>2]|0,A=i+(n<<3)|0,e[A>>2]=s,e[A+4>>2]=l,A=n+1|0,WA(s,l)|0){A=9;break A}if(f=f+1|0,(f|0)>=(r|0))break;n=A}g=g+1|0}while(g>>>0<6);A=d,A=(v|0)==(e[A>>2]|0)&&(t|0)==(e[A+4>>2]|0)?0:9}while(!1);return x=A,y=D,x|0}function Yo(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0;if(v=y,y=y+16|0,l=v,!r)return e[i>>2]=A,e[i+4>>2]=t,i=0,y=v,i|0;do if((r|0)>=0){if((r|0)>13780509){if(n=_t(15,l)|0,n|0)break;s=l,n=e[s>>2]|0,s=e[s+4>>2]|0}else n=((r|0)<0)<<31>>31,p=l0(r|0,n|0,3,0)|0,s=b()|0,n=EA(r|0,n|0,1,0)|0,n=l0(p|0,s|0,n|0,b()|0)|0,n=EA(n|0,b()|0,1,0)|0,s=b()|0,p=l,e[p>>2]=n,e[p+4>>2]=s;if(g=v0(n,8)|0,!g)n=13;else{if(p=v0(n,4)|0,!p){yA(g),n=13;break}if(n=R0(A,t,r,g,p,n,s,0)|0,n|0){yA(g),yA(p);break}if(t=e[l>>2]|0,l=e[l+4>>2]|0,(l|0)>0|(l|0)==0&t>>>0>0){n=0,f=0,a=0;do A=g+(f<<3)|0,s=e[A>>2]|0,A=e[A+4>>2]|0,!((s|0)==0&(A|0)==0)&&(e[p+(f<<2)>>2]|0)==(r|0)&&(d=i+(n<<3)|0,e[d>>2]=s,e[d+4>>2]=A,n=n+1|0),f=EA(f|0,a|0,1,0)|0,a=b()|0;while((a|0)<(l|0)|(a|0)==(l|0)&f>>>0<t>>>0)}yA(g),yA(p),n=0}}else n=2;while(!1);return d=n,y=v,d|0}function ur(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0;for(f=y,y=y+16|0,s=f,l=f+8|0,n=(WA(A,t)|0)==0,n=n?1:2;;){if(e[l>>2]=0,g=(o0(A,t,n,l,s)|0)==0,a=s,g&((e[a>>2]|0)==(r|0)?(e[a+4>>2]|0)==(i|0):0)){A=4;break}if(n=n+1|0,n>>>0>=7){n=7,A=4;break}}return(A|0)==4?(y=f,n|0):0}function jo(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0;if(f=y,y=y+48|0,n=f+16|0,s=f+8|0,l=f,r=We(r)|0,r|0)return l=r,y=f,l|0;if(g=A,a=e[g+4>>2]|0,r=s,e[r>>2]=e[g>>2],e[r+4>>2]=a,vn(s,n),r=$i(n,t,l)|0,!r){if(t=e[s>>2]|0,s=e[A+8>>2]|0,(s|0)>0){n=e[A+12>>2]|0,r=0;do t=(e[n+(r<<3)>>2]|0)+t|0,r=r+1|0;while((r|0)<(s|0))}r=l,n=e[r>>2]|0,r=e[r+4>>2]|0,s=((t|0)<0)<<31>>31,(r|0)<(s|0)|(r|0)==(s|0)&n>>>0<t>>>0?(r=l,e[r>>2]=t,e[r+4>>2]=s,r=s):t=n,a=EA(t|0,r|0,12,0)|0,g=b()|0,r=l,e[r>>2]=a,e[r+4>>2]=g,r=i,e[r>>2]=a,e[r+4>>2]=g,r=0}return g=r,y=f,g|0}function Vi(A,t,r,i,n,s,l){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0,s=s|0,l=l|0;var f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0,nA=0,cA=0,uA=0,DA=0,PA=0,LA=0,kA=0,wA=0,iA=0,SA=0,KA=0,_A=0,qA=0,w0=0,In=0;if(KA=y,y=y+64|0,kA=KA+48|0,wA=KA+32|0,iA=KA+24|0,nA=KA+8|0,cA=KA,a=e[A>>2]|0,(a|0)<=0)return SA=0,y=KA,SA|0;for(uA=A+4|0,DA=kA+8|0,PA=wA+8|0,LA=nA+8|0,f=0,G=0;;){g=e[uA>>2]|0,z=g+(G<<4)|0,e[kA>>2]=e[z>>2],e[kA+4>>2]=e[z+4>>2],e[kA+8>>2]=e[z+8>>2],e[kA+12>>2]=e[z+12>>2],(G|0)==(a+-1|0)?(e[wA>>2]=e[g>>2],e[wA+4>>2]=e[g+4>>2],e[wA+8>>2]=e[g+8>>2],e[wA+12>>2]=e[g+12>>2]):(z=g+(G+1<<4)|0,e[wA>>2]=e[z>>2],e[wA+4>>2]=e[z+4>>2],e[wA+8>>2]=e[z+8>>2],e[wA+12>>2]=e[z+12>>2]),a=tl(kA,wA,i,iA)|0;A:do if(a)g=0,f=a;else if(a=iA,g=e[a>>2]|0,a=e[a+4>>2]|0,(a|0)>0|(a|0)==0&g>>>0>0){K=0,z=0;e:for(;;){if(qA=1/(+(g>>>0)+4294967296*+(a|0)),In=+E[kA>>3],a=u0(g|0,a|0,K|0,z|0)|0,w0=+(a>>>0)+4294967296*+(b()|0),_A=+(K>>>0)+4294967296*+(z|0),E[nA>>3]=qA*(In*w0)+qA*(+E[wA>>3]*_A),E[LA>>3]=qA*(+E[DA>>3]*w0)+qA*(+E[PA>>3]*_A),a=dr(nA,i,cA)|0,a|0){f=a;break}F=cA,S=e[F>>2]|0,F=e[F+4>>2]|0,d=Me(S|0,F|0,t|0,r|0)|0,p=b()|0,a=l+(d<<3)|0,v=a,g=e[v>>2]|0,v=e[v+4>>2]|0;t:do if((g|0)==0&(v|0)==0)T=a,SA=16;else for(x=0,D=0;;){if((x|0)>(r|0)|(x|0)==(r|0)&D>>>0>t>>>0){f=1;break e}if((g|0)==(S|0)&(v|0)==(F|0))break t;if(a=EA(d|0,p|0,1,0)|0,d=De(a|0,b()|0,t|0,r|0)|0,p=b()|0,D=EA(D|0,x|0,1,0)|0,x=b()|0,a=l+(d<<3)|0,v=a,g=e[v>>2]|0,v=e[v+4>>2]|0,(g|0)==0&(v|0)==0){T=a,SA=16;break}}while(!1);if((SA|0)==16&&(SA=0,!((S|0)==0&(F|0)==0))&&(D=T,e[D>>2]=S,e[D+4>>2]=F,D=s+(e[n>>2]<<3)|0,e[D>>2]=S,e[D+4>>2]=F,D=n,D=EA(e[D>>2]|0,e[D+4>>2]|0,1,0)|0,S=b()|0,F=n,e[F>>2]=D,e[F+4>>2]=S),K=EA(K|0,z|0,1,0)|0,z=b()|0,a=iA,g=e[a>>2]|0,a=e[a+4>>2]|0,!((a|0)>(z|0)|(a|0)==(z|0)&g>>>0>K>>>0)){g=1;break A}}g=0}else g=1;while(!1);if(G=G+1|0,!g){SA=21;break}if(a=e[A>>2]|0,(G|0)>=(a|0)){f=0,SA=21;break}}return(SA|0)==21?(y=KA,f|0):0}function Ho(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0,nA=0,cA=0,uA=0,DA=0,PA=0,LA=0,kA=0,wA=0,iA=0,SA=0,KA=0,_A=0,qA=0,w0=0;if(w0=y,y=y+112|0,SA=w0+80|0,a=w0+72|0,KA=w0,_A=w0+56|0,n=We(r)|0,n|0)return qA=n,y=w0,qA|0;if(g=A+8|0,qA=L0((e[g>>2]<<5)+32|0)|0,!qA)return qA=13,y=w0,qA|0;if(Sr(A,qA),n=We(r)|0,!n){if(wA=A,iA=e[wA+4>>2]|0,n=a,e[n>>2]=e[wA>>2],e[n+4>>2]=iA,vn(a,SA),n=$i(SA,t,KA)|0,n)wA=0,iA=0;else{if(n=e[a>>2]|0,s=e[g>>2]|0,(s|0)>0){l=e[A+12>>2]|0,r=0;do n=(e[l+(r<<3)>>2]|0)+n|0,r=r+1|0;while((r|0)!=(s|0));r=n}else r=n;n=KA,s=e[n>>2]|0,n=e[n+4>>2]|0,l=((r|0)<0)<<31>>31,(n|0)<(l|0)|(n|0)==(l|0)&s>>>0<r>>>0?(n=KA,e[n>>2]=r,e[n+4>>2]=l,n=l):r=s,wA=EA(r|0,n|0,12,0)|0,iA=b()|0,n=KA,e[n>>2]=wA,e[n+4>>2]=iA,n=0}if(!n){if(r=v0(wA,8)|0,!r)return yA(qA),qA=13,y=w0,qA|0;if(f=v0(wA,8)|0,!f)return yA(qA),yA(r),qA=13,y=w0,qA|0;LA=SA,e[LA>>2]=0,e[LA+4>>2]=0,LA=A,kA=e[LA+4>>2]|0,n=a,e[n>>2]=e[LA>>2],e[n+4>>2]=kA,n=Vi(a,wA,iA,t,SA,r,f)|0;A:do if(n)yA(r),yA(f),yA(qA);else{e:do if((e[g>>2]|0)>0){for(l=A+12|0,s=0;n=Vi((e[l>>2]|0)+(s<<3)|0,wA,iA,t,SA,r,f)|0,s=s+1|0,!(n|0);)if((s|0)>=(e[g>>2]|0))break e;yA(r),yA(f),yA(qA);break A}while(!1);(iA|0)>0|(iA|0)==0&wA>>>0>0&&Ae(f|0,0,wA<<3|0)|0,kA=SA,LA=e[kA+4>>2]|0;e:do if((LA|0)>0|(LA|0)==0&(e[kA>>2]|0)>>>0>0){uA=r,DA=f,PA=r,LA=f,kA=r,n=r,T=r,nA=f,cA=f,r=f;t:for(;;){for(F=0,K=0,z=0,G=0,s=0,l=0;;){f=KA,a=f+56|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(a|0));if(t=uA+(F<<3)|0,g=e[t>>2]|0,t=e[t+4>>2]|0,ji(g,t,1,KA,0)|0){f=KA,a=f+56|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(a|0));f=v0(7,4)|0,f|0&&(R0(g,t,1,KA,f,7,0,0)|0,yA(f))}for(S=0;;){D=KA+(S<<3)|0,x=e[D>>2]|0,D=e[D+4>>2]|0;r:do if((x|0)==0&(D|0)==0)f=s,a=l;else{if(p=Me(x|0,D|0,wA|0,iA|0)|0,g=b()|0,f=i+(p<<3)|0,t=f,a=e[t>>2]|0,t=e[t+4>>2]|0,!((a|0)==0&(t|0)==0)){v=0,d=0;do{if((v|0)>(iA|0)|(v|0)==(iA|0)&d>>>0>wA>>>0)break t;if((a|0)==(x|0)&(t|0)==(D|0)){f=s,a=l;break r}f=EA(p|0,g|0,1,0)|0,p=De(f|0,b()|0,wA|0,iA|0)|0,g=b()|0,d=EA(d|0,v|0,1,0)|0,v=b()|0,f=i+(p<<3)|0,t=f,a=e[t>>2]|0,t=e[t+4>>2]|0}while(!((a|0)==0&(t|0)==0))}if((x|0)==0&(D|0)==0){f=s,a=l;break}ae(x,D,_A)|0,Tr(A,qA,_A)|0&&(d=EA(s|0,l|0,1,0)|0,l=b()|0,v=f,e[v>>2]=x,e[v+4>>2]=D,s=DA+(s<<3)|0,e[s>>2]=x,e[s+4>>2]=D,s=d),f=s,a=l}while(!1);if(S=S+1|0,S>>>0>=7)break;s=f,l=a}if(F=EA(F|0,K|0,1,0)|0,K=b()|0,z=EA(z|0,G|0,1,0)|0,G=b()|0,l=SA,s=e[l>>2]|0,l=e[l+4>>2]|0,(G|0)<(l|0)|(G|0)==(l|0)&z>>>0<s>>>0)s=f,l=a;else break}if((l|0)>0|(l|0)==0&s>>>0>0){s=0,l=0;do G=uA+(s<<3)|0,e[G>>2]=0,e[G+4>>2]=0,s=EA(s|0,l|0,1,0)|0,l=b()|0,G=SA,z=e[G+4>>2]|0;while((l|0)<(z|0)|((l|0)==(z|0)?s>>>0<(e[G>>2]|0)>>>0:0))}if(G=SA,e[G>>2]=f,e[G+4>>2]=a,(a|0)>0|(a|0)==0&f>>>0>0)S=r,F=cA,K=kA,z=nA,G=DA,r=T,cA=n,nA=PA,T=S,n=F,kA=LA,LA=K,PA=z,DA=uA,uA=G;else break e}yA(PA),yA(LA),yA(qA),n=1;break A}else n=f;while(!1);yA(qA),yA(r),yA(n),n=0}while(!1);return qA=n,y=w0,qA|0}}return yA(qA),qA=n,y=w0,qA|0}function Vo(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0;if(p=y,y=y+176|0,a=p,(t|0)<1)return dn(r,0,0),g=0,y=p,g|0;for(f=A,f=eA(e[f>>2]|0,e[f+4>>2]|0,52)|0,b()|0,dn(r,(t|0)>6?t:6,f&15),f=0;i=A+(f<<3)|0,i=de(e[i>>2]|0,e[i+4>>2]|0,a)|0,!(i|0);){if(i=e[a>>2]|0,(i|0)>0){l=0;do s=a+8+(l<<4)|0,l=l+1|0,i=a+8+(((l|0)%(i|0)|0)<<4)|0,n=v1(r,i,s)|0,n?Mn(r,n)|0:y1(r,s,i)|0,i=e[a>>2]|0;while((l|0)<(i|0))}if(f=f+1|0,(f|0)>=(t|0)){i=0,g=13;break}}return(g|0)==13?(y=p,i|0):(xn(r),g=i,y=p,g|0)}function Ko(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0;if(s=y,y=y+32|0,i=s,n=s+16|0,A=Vo(A,t,n)|0,A|0)return r=A,y=s,r|0;if(e[r>>2]=0,e[r+4>>2]=0,e[r+8>>2]=0,A=Dn(n)|0,A|0)do{t=ql(r)|0;do Wl(t,A)|0,l=A+16|0,e[i>>2]=e[l>>2],e[i+4>>2]=e[l+4>>2],e[i+8>>2]=e[l+8>>2],e[i+12>>2]=e[l+12>>2],Mn(n,A)|0,A=b1(n,i)|0;while((A|0)!=0);A=Dn(n)|0}while((A|0)!=0);return xn(n),A=Xl(r)|0,A?(pn(r),l=A,y=s,l|0):(l=0,y=s,l|0)}function $A(A){return A=A|0,A>>>0>121?(A=0,A|0):(A=e[7696+(A*28|0)+16>>2]|0,A|0)}function hr(A){return A=A|0,(A|0)==4|(A|0)==117|0}function Ki(A){return A=A|0,e[11120+((e[A>>2]|0)*216|0)+((e[A+4>>2]|0)*72|0)+((e[A+8>>2]|0)*24|0)+(e[A+12>>2]<<3)>>2]|0}function qo(A){return A=A|0,e[11120+((e[A>>2]|0)*216|0)+((e[A+4>>2]|0)*72|0)+((e[A+8>>2]|0)*24|0)+(e[A+12>>2]<<3)+4>>2]|0}function Wo(A,t){A=A|0,t=t|0,A=7696+(A*28|0)|0,e[t>>2]=e[A>>2],e[t+4>>2]=e[A+4>>2],e[t+8>>2]=e[A+8>>2],e[t+12>>2]=e[A+12>>2]}function Xo(A,t){A=A|0,t=t|0;var r=0,i=0;if(t>>>0>20)return t=-1,t|0;do if((e[11120+(t*216|0)>>2]|0)!=(A|0))if((e[11120+(t*216|0)+8>>2]|0)!=(A|0))if((e[11120+(t*216|0)+16>>2]|0)!=(A|0))if((e[11120+(t*216|0)+24>>2]|0)!=(A|0))if((e[11120+(t*216|0)+32>>2]|0)!=(A|0))if((e[11120+(t*216|0)+40>>2]|0)!=(A|0))if((e[11120+(t*216|0)+48>>2]|0)!=(A|0))if((e[11120+(t*216|0)+56>>2]|0)!=(A|0))if((e[11120+(t*216|0)+64>>2]|0)!=(A|0))if((e[11120+(t*216|0)+72>>2]|0)!=(A|0))if((e[11120+(t*216|0)+80>>2]|0)!=(A|0))if((e[11120+(t*216|0)+88>>2]|0)!=(A|0))if((e[11120+(t*216|0)+96>>2]|0)!=(A|0))if((e[11120+(t*216|0)+104>>2]|0)!=(A|0))if((e[11120+(t*216|0)+112>>2]|0)!=(A|0))if((e[11120+(t*216|0)+120>>2]|0)!=(A|0))if((e[11120+(t*216|0)+128>>2]|0)!=(A|0))if((e[11120+(t*216|0)+136>>2]|0)==(A|0))A=2,r=1,i=2;else{if((e[11120+(t*216|0)+144>>2]|0)==(A|0)){A=0,r=2,i=0;break}if((e[11120+(t*216|0)+152>>2]|0)==(A|0)){A=0,r=2,i=1;break}if((e[11120+(t*216|0)+160>>2]|0)==(A|0)){A=0,r=2,i=2;break}if((e[11120+(t*216|0)+168>>2]|0)==(A|0)){A=1,r=2,i=0;break}if((e[11120+(t*216|0)+176>>2]|0)==(A|0)){A=1,r=2,i=1;break}if((e[11120+(t*216|0)+184>>2]|0)==(A|0)){A=1,r=2,i=2;break}if((e[11120+(t*216|0)+192>>2]|0)==(A|0)){A=2,r=2,i=0;break}if((e[11120+(t*216|0)+200>>2]|0)==(A|0)){A=2,r=2,i=1;break}if((e[11120+(t*216|0)+208>>2]|0)==(A|0)){A=2,r=2,i=2;break}else A=-1;return A|0}else A=2,r=1,i=1;else A=2,r=1,i=0;else A=1,r=1,i=2;else A=1,r=1,i=1;else A=1,r=1,i=0;else A=0,r=1,i=2;else A=0,r=1,i=1;else A=0,r=1,i=0;else A=2,r=0,i=2;else A=2,r=0,i=1;else A=2,r=0,i=0;else A=1,r=0,i=2;else A=1,r=0,i=1;else A=1,r=0,i=0;else A=0,r=0,i=2;else A=0,r=0,i=1;else A=0,r=0,i=0;while(!1);return t=e[11120+(t*216|0)+(r*72|0)+(A*24|0)+(i<<3)+4>>2]|0,t|0}function qi(A,t){return A=A|0,t=t|0,(e[7696+(A*28|0)+20>>2]|0)==(t|0)?(t=1,t|0):(t=(e[7696+(A*28|0)+24>>2]|0)==(t|0),t|0)}function ar(A,t){return A=A|0,t=t|0,e[848+(A*28|0)+(t<<2)>>2]|0}function gr(A,t){return A=A|0,t=t|0,(e[848+(A*28|0)>>2]|0)==(t|0)?(t=0,t|0):(e[848+(A*28|0)+4>>2]|0)==(t|0)?(t=1,t|0):(e[848+(A*28|0)+8>>2]|0)==(t|0)?(t=2,t|0):(e[848+(A*28|0)+12>>2]|0)==(t|0)?(t=3,t|0):(e[848+(A*28|0)+16>>2]|0)==(t|0)?(t=4,t|0):(e[848+(A*28|0)+20>>2]|0)==(t|0)?(t=5,t|0):((e[848+(A*28|0)+24>>2]|0)==(t|0)?6:7)|0}function Zo(){return 122}function $o(A){A=A|0;var t=0,r=0,i=0;t=0;do sA(t|0,0,45)|0,i=b()|0|134225919,r=A+(t<<3)|0,e[r>>2]=-1,e[r+4>>2]=i,t=t+1|0;while((t|0)!=122);return 0}function Jo(A){A=A|0;var t=0,r=0,i=0;return i=+E[A+16>>3],r=+E[A+24>>3],t=i-r,+(i<r?t+6.283185307179586:t)}function Wi(A){return A=A|0,+E[A+16>>3]<+E[A+24>>3]|0}function Al(A){return A=A|0,+(+E[A>>3]-+E[A+8>>3])}function cr(A,t){A=A|0,t=t|0;var r=0,i=0,n=0;return r=+E[t>>3],!(r>=+E[A+8>>3])||!(r<=+E[A>>3])?(t=0,t|0):(i=+E[A+16>>3],r=+E[A+24>>3],n=+E[t+8>>3],t=n>=r,A=n<=i&1,i<r?t&&(A=1):t||(A=0),t=(A|0)!=0,t|0)}function wr(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0;return+E[A>>3]<+E[t+8>>3]||+E[A+8>>3]>+E[t>>3]?(i=0,i|0):(s=+E[A+16>>3],r=A+24|0,p=+E[r>>3],l=s<p,i=t+16|0,g=+E[i>>3],n=t+24|0,a=+E[n>>3],f=g<a,t=p-g<a-s,A=l?f|t?1:2:0,t=f?l?1:t?2:1:0,s=+b0(s,A),s<+b0(+E[n>>3],t)||(p=+b0(+E[r>>3],A),p>+b0(+E[i>>3],t))?(f=0,f|0):(f=1,f|0))}function el(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0;s=+E[A+16>>3],a=+E[A+24>>3],A=s<a,f=+E[t+16>>3],l=+E[t+24>>3],n=f<l,t=a-f<l-s,e[r>>2]=A?n|t?1:2:0,e[i>>2]=n?A?1:t?2:1:0}function Xi(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0;return+E[A>>3]<+E[t>>3]||+E[A+8>>3]>+E[t+8>>3]?(i=0,i|0):(i=A+16|0,a=+E[i>>3],s=+E[A+24>>3],l=a<s,r=t+16|0,p=+E[r>>3],n=t+24|0,g=+E[n>>3],f=p<g,t=s-p<g-a,A=l?f|t?1:2:0,t=f?l?1:t?2:1:0,s=+b0(s,A),s<=+b0(+E[n>>3],t)?(p=+b0(+E[i>>3],A),f=p>=+b0(+E[r>>3],t),f|0):(f=0,f|0))}function Zi(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0;n=y,y=y+176|0,i=n,e[i>>2]=4,f=+E[t>>3],E[i+8>>3]=f,s=+E[t+16>>3],E[i+16>>3]=s,E[i+24>>3]=f,f=+E[t+24>>3],E[i+32>>3]=f,l=+E[t+8>>3],E[i+40>>3]=l,E[i+48>>3]=f,E[i+56>>3]=l,E[i+64>>3]=s,t=i+72|0,r=t+96|0;do e[t>>2]=0,t=t+4|0;while((t|0)<(r|0));Pe(A|0,i|0,168)|0,y=n}function $i(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0;D=y,y=y+288|0,p=D+264|0,v=D+96|0,g=D,f=g,a=f+96|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(a|0));return t=Dr(t,g)|0,t|0?(x=t,y=D,x|0):(a=g,g=e[a>>2]|0,a=e[a+4>>2]|0,ae(g,a,p)|0,de(g,a,v)|0,l=+Ke(p,v+8|0),E[p>>3]=+E[A>>3],a=p+8|0,E[a>>3]=+E[A+16>>3],E[v>>3]=+E[A+8>>3],g=v+8|0,E[g>>3]=+E[A+24>>3],n=+Ke(p,v),F=+E[a>>3]-+E[g>>3],s=+IA(+F),S=+E[p>>3]-+E[v>>3],i=+IA(+S),!(F==0|S==0)&&(F=+Sn(+s,+i),F=+ke(+(n*n/+Tt(+(F/+Tt(+s,+i)),3)/(l*(l*2.59807621135)*.8))),E[zA>>3]=F,d=~~F>>>0,x=+IA(F)>=1?F>0?~~+fr(+s0(F/4294967296),4294967295)>>>0:~~+ke((F-+(~~F>>>0))/4294967296)>>>0:0,(e[zA+4>>2]&2146435072|0)!=2146435072)?(v=(d|0)==0&(x|0)==0,t=r,e[t>>2]=v?1:d,e[t+4>>2]=v?0:x,t=0):t=1,x=t,y=D,x|0)}function tl(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0;g=y,y=y+288|0,l=g+264|0,f=g+96|0,a=g,n=a,s=n+96|0;do e[n>>2]=0,n=n+4|0;while((n|0)<(s|0));return r=Dr(r,a)|0,r|0?(i=r,y=g,i|0):(r=a,n=e[r>>2]|0,r=e[r+4>>2]|0,ae(n,r,l)|0,de(n,r,f)|0,p=+Ke(l,f+8|0),p=+ke(+(+Ke(A,t)/(p*2))),E[zA>>3]=p,r=~~p>>>0,n=+IA(p)>=1?p>0?~~+fr(+s0(p/4294967296),4294967295)>>>0:~~+ke((p-+(~~p>>>0))/4294967296)>>>0:0,(e[zA+4>>2]&2146435072|0)==2146435072?(i=1,y=g,i|0):(a=(r|0)==0&(n|0)==0,e[i>>2]=a?1:r,e[i+4>>2]=a?0:n,i=0,y=g,i|0))}function rl(A,t){A=A|0,t=+t;var r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0;s=A+16|0,l=+E[s>>3],r=A+24|0,n=+E[r>>3],i=l-n,i=l<n?i+6.283185307179586:i,g=+E[A>>3],f=A+8|0,a=+E[f>>3],p=g-a,i=(i*t-i)*.5,t=(p*t-p)*.5,g=g+t,E[A>>3]=g>1.5707963267948966?1.5707963267948966:g,t=a-t,E[f>>3]=t<-1.5707963267948966?-1.5707963267948966:t,t=l+i,t=t>3.141592653589793?t+-6.283185307179586:t,E[s>>3]=t<-3.141592653589793?t+6.283185307179586:t,t=n-i,t=t>3.141592653589793?t+-6.283185307179586:t,E[r>>3]=t<-3.141592653589793?t+6.283185307179586:t}function il(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0,e[A>>2]=t,e[A+4>>2]=r,e[A+8>>2]=i}function nl(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0;v=t+8|0,e[v>>2]=0,a=+E[A>>3],l=+IA(+a),g=+E[A+8>>3],f=+IA(+g)*1.1547005383792515,l=l+f*.5,r=~~l,A=~~f,l=l-+(r|0),f=f-+(A|0);do if(l<.5)if(l<.3333333333333333)if(e[t>>2]=r,f<(l+1)*.5){e[t+4>>2]=A;break}else{A=A+1|0,e[t+4>>2]=A;break}else if(d=1-l,A=(!(f<d)&1)+A|0,e[t+4>>2]=A,d<=f&f<l*2){r=r+1|0,e[t>>2]=r;break}else{e[t>>2]=r;break}else{if(!(l<.6666666666666666))if(r=r+1|0,e[t>>2]=r,f<l*.5){e[t+4>>2]=A;break}else{A=A+1|0,e[t+4>>2]=A;break}if(f<1-l){if(e[t+4>>2]=A,l*2+-1<f){e[t>>2]=r;break}}else A=A+1|0,e[t+4>>2]=A;r=r+1|0,e[t>>2]=r}while(!1);do if(a<0)if(A&1){p=(A+1|0)/2|0,p=u0(r|0,((r|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0,r=~~(+(r|0)-((+(p>>>0)+4294967296*+(b()|0))*2+1)),e[t>>2]=r;break}else{p=(A|0)/2|0,p=u0(r|0,((r|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0,r=~~(+(r|0)-(+(p>>>0)+4294967296*+(b()|0))*2),e[t>>2]=r;break}while(!1);p=t+4|0,g<0&&(r=r-((A<<1|1|0)/2|0)|0,e[t>>2]=r,A=0-A|0,e[p>>2]=A),i=A-r|0,(r|0)<0?(n=0-r|0,e[p>>2]=i,e[v>>2]=n,e[t>>2]=0,A=i,r=0):n=0,(A|0)<0&&(r=r-A|0,e[t>>2]=r,n=n-A|0,e[v>>2]=n,e[p>>2]=0,A=0),s=r-n|0,i=A-n|0,(n|0)<0&&(e[t>>2]=s,e[p>>2]=i,e[v>>2]=0,A=i,r=s,n=0),i=(A|0)<(r|0)?A:r,i=(n|0)<(i|0)?n:i,!((i|0)<=0)&&(e[t>>2]=r-i,e[p>>2]=A-i,e[v>>2]=n-i)}function a0(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0;t=e[A>>2]|0,l=A+4|0,r=e[l>>2]|0,(t|0)<0&&(r=r-t|0,e[l>>2]=r,s=A+8|0,e[s>>2]=(e[s>>2]|0)-t,e[A>>2]=0,t=0),(r|0)<0?(t=t-r|0,e[A>>2]=t,s=A+8|0,n=(e[s>>2]|0)-r|0,e[s>>2]=n,e[l>>2]=0,r=0):(n=A+8|0,s=n,n=e[n>>2]|0),(n|0)<0&&(t=t-n|0,e[A>>2]=t,r=r-n|0,e[l>>2]=r,e[s>>2]=0,n=0),i=(r|0)<(t|0)?r:t,i=(n|0)<(i|0)?n:i,!((i|0)<=0)&&(e[A>>2]=t-i,e[l>>2]=r-i,e[s>>2]=n-i)}function le(A,t){A=A|0,t=t|0;var r=0,i=0;i=e[A+8>>2]|0,r=+((e[A+4>>2]|0)-i|0),E[t>>3]=+((e[A>>2]|0)-i|0)-r*.5,E[t+8>>3]=r*.8660254037844386}function c0(A,t,r){A=A|0,t=t|0,r=r|0,e[r>>2]=(e[t>>2]|0)+(e[A>>2]|0),e[r+4>>2]=(e[t+4>>2]|0)+(e[A+4>>2]|0),e[r+8>>2]=(e[t+8>>2]|0)+(e[A+8>>2]|0)}function pr(A,t,r){A=A|0,t=t|0,r=r|0,e[r>>2]=(e[A>>2]|0)-(e[t>>2]|0),e[r+4>>2]=(e[A+4>>2]|0)-(e[t+4>>2]|0),e[r+8>>2]=(e[A+8>>2]|0)-(e[t+8>>2]|0)}function Ji(A,t){A=A|0,t=t|0;var r=0,i=0;r=O0(e[A>>2]|0,t)|0,e[A>>2]=r,r=A+4|0,i=O0(e[r>>2]|0,t)|0,e[r>>2]=i,A=A+8|0,t=O0(e[A>>2]|0,t)|0,e[A>>2]=t}function xt(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;l=e[A>>2]|0,f=(l|0)<0,i=(e[A+4>>2]|0)-(f?l:0)|0,s=(i|0)<0,n=(s?0-i|0:0)+((e[A+8>>2]|0)-(f?l:0))|0,r=(n|0)<0,A=r?0:n,t=(s?0:i)-(r?n:0)|0,n=(f?0:l)-(s?i:0)-(r?n:0)|0,r=(t|0)<(n|0)?t:n,r=(A|0)<(r|0)?A:r,i=(r|0)>0,A=A-(i?r:0)|0,t=t-(i?r:0)|0;A:do switch(n-(i?r:0)|0){case 0:switch(t|0){case 0:return f=(A|0)==0?0:(A|0)==1?1:7,f|0;case 1:return f=(A|0)==0?2:(A|0)==1?3:7,f|0;default:break A}case 1:switch(t|0){case 0:return f=(A|0)==0?4:(A|0)==1?5:7,f|0;case 1:{if(!A)A=6;else break A;return A|0}default:break A}}while(!1);return f=7,f|0}function sl(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0;if(a=A+8|0,l=e[a>>2]|0,f=(e[A>>2]|0)-l|0,g=A+4|0,l=(e[g>>2]|0)-l|0,f>>>0>715827881|l>>>0>715827881){if(i=(f|0)>0,n=2147483647-f|0,s=-2147483648-f|0,(i?(n|0)<(f|0):(s|0)>(f|0))||(r=f<<1,i?(2147483647-r|0)<(f|0):(-2147483648-r|0)>(f|0))||((l|0)>0?(2147483647-l|0)<(l|0):(-2147483648-l|0)>(l|0))||(t=f*3|0,r=l<<1,(i?(n|0)<(r|0):(s|0)>(r|0))||((f|0)>-1?(t|-2147483648|0)>=(l|0):(t^-2147483648|0)<(l|0))))return g=1,g|0}else r=l<<1,t=f*3|0;return i=$0(+(t-l|0)*.14285714285714285)|0,e[A>>2]=i,n=$0(+(r+f|0)*.14285714285714285)|0,e[g>>2]=n,e[a>>2]=0,r=(n|0)<(i|0),t=r?i:n,r=r?n:i,(r|0)<0&&(((r|0)==-2147483648||((t|0)>0?(2147483647-t|0)<(r|0):(-2147483648-t|0)>(r|0)))&&BA(27795,26892,354,26903),((t|0)>-1?(t|-2147483648|0)>=(r|0):(t^-2147483648|0)<(r|0))&&BA(27795,26892,354,26903)),t=n-i|0,(i|0)<0?(r=0-i|0,e[g>>2]=t,e[a>>2]=r,e[A>>2]=0,i=0):(t=n,r=0),(t|0)<0&&(i=i-t|0,e[A>>2]=i,r=r-t|0,e[a>>2]=r,e[g>>2]=0,t=0),s=i-r|0,n=t-r|0,(r|0)<0?(e[A>>2]=s,e[g>>2]=n,e[a>>2]=0,t=n,n=s,r=0):n=i,i=(t|0)<(n|0)?t:n,i=(r|0)<(i|0)?r:i,(i|0)<=0?(g=0,g|0):(e[A>>2]=n-i,e[g>>2]=t-i,e[a>>2]=r-i,g=0,g|0)}function ol(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0,a=0;if(l=A+8|0,n=e[l>>2]|0,s=(e[A>>2]|0)-n|0,f=A+4|0,n=(e[f>>2]|0)-n|0,s>>>0>715827881|n>>>0>715827881){if(r=(s|0)>0,(r?(2147483647-s|0)<(s|0):(-2147483648-s|0)>(s|0))||(t=s<<1,i=(n|0)>0,i?(2147483647-n|0)<(n|0):(-2147483648-n|0)>(n|0)))return f=1,f|0;if(a=n<<1,(i?(2147483647-a|0)<(n|0):(-2147483648-a|0)>(n|0))||(r?(2147483647-t|0)<(n|0):(-2147483648-t|0)>(n|0))||(r=n*3|0,(n|0)>-1?(r|-2147483648|0)>=(s|0):(r^-2147483648|0)<(s|0)))return a=1,a|0}else r=n*3|0,t=s<<1;return i=$0(+(t+n|0)*.14285714285714285)|0,e[A>>2]=i,n=$0(+(r-s|0)*.14285714285714285)|0,e[f>>2]=n,e[l>>2]=0,r=(n|0)<(i|0),t=r?i:n,r=r?n:i,(r|0)<0&&(((r|0)==-2147483648||((t|0)>0?(2147483647-t|0)<(r|0):(-2147483648-t|0)>(r|0)))&&BA(27795,26892,402,26917),((t|0)>-1?(t|-2147483648|0)>=(r|0):(t^-2147483648|0)<(r|0))&&BA(27795,26892,402,26917)),t=n-i|0,(i|0)<0?(r=0-i|0,e[f>>2]=t,e[l>>2]=r,e[A>>2]=0,i=0):(t=n,r=0),(t|0)<0&&(i=i-t|0,e[A>>2]=i,r=r-t|0,e[l>>2]=r,e[f>>2]=0,t=0),s=i-r|0,n=t-r|0,(r|0)<0?(e[A>>2]=s,e[f>>2]=n,e[l>>2]=0,t=n,n=s,r=0):n=i,i=(t|0)<(n|0)?t:n,i=(r|0)<(i|0)?r:i,(i|0)<=0?(a=0,a|0):(e[A>>2]=n-i,e[f>>2]=t-i,e[l>>2]=r-i,a=0,a|0)}function ll(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;l=A+8|0,r=e[l>>2]|0,t=(e[A>>2]|0)-r|0,f=A+4|0,r=(e[f>>2]|0)-r|0,i=$0(+((t*3|0)-r|0)*.14285714285714285)|0,e[A>>2]=i,t=$0(+((r<<1)+t|0)*.14285714285714285)|0,e[f>>2]=t,e[l>>2]=0,r=t-i|0,(i|0)<0?(s=0-i|0,e[f>>2]=r,e[l>>2]=s,e[A>>2]=0,t=r,i=0,r=s):r=0,(t|0)<0&&(i=i-t|0,e[A>>2]=i,r=r-t|0,e[l>>2]=r,e[f>>2]=0,t=0),s=i-r|0,n=t-r|0,(r|0)<0?(e[A>>2]=s,e[f>>2]=n,e[l>>2]=0,t=n,n=s,r=0):n=i,i=(t|0)<(n|0)?t:n,i=(r|0)<(i|0)?r:i,!((i|0)<=0)&&(e[A>>2]=n-i,e[f>>2]=t-i,e[l>>2]=r-i)}function An(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;l=A+8|0,r=e[l>>2]|0,t=(e[A>>2]|0)-r|0,f=A+4|0,r=(e[f>>2]|0)-r|0,i=$0(+((t<<1)+r|0)*.14285714285714285)|0,e[A>>2]=i,t=$0(+((r*3|0)-t|0)*.14285714285714285)|0,e[f>>2]=t,e[l>>2]=0,r=t-i|0,(i|0)<0?(s=0-i|0,e[f>>2]=r,e[l>>2]=s,e[A>>2]=0,t=r,i=0,r=s):r=0,(t|0)<0&&(i=i-t|0,e[A>>2]=i,r=r-t|0,e[l>>2]=r,e[f>>2]=0,t=0),s=i-r|0,n=t-r|0,(r|0)<0?(e[A>>2]=s,e[f>>2]=n,e[l>>2]=0,t=n,n=s,r=0):n=i,i=(t|0)<(n|0)?t:n,i=(r|0)<(i|0)?r:i,!((i|0)<=0)&&(e[A>>2]=n-i,e[f>>2]=t-i,e[l>>2]=r-i)}function Dt(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;t=e[A>>2]|0,l=A+4|0,r=e[l>>2]|0,f=A+8|0,i=e[f>>2]|0,n=r+(t*3|0)|0,e[A>>2]=n,r=i+(r*3|0)|0,e[l>>2]=r,t=(i*3|0)+t|0,e[f>>2]=t,i=r-n|0,(n|0)<0?(t=t-n|0,e[l>>2]=i,e[f>>2]=t,e[A>>2]=0,r=i,i=0):i=n,(r|0)<0&&(i=i-r|0,e[A>>2]=i,t=t-r|0,e[f>>2]=t,e[l>>2]=0,r=0),s=i-t|0,n=r-t|0,(t|0)<0?(e[A>>2]=s,e[l>>2]=n,e[f>>2]=0,i=s,t=0):n=r,r=(n|0)<(i|0)?n:i,r=(t|0)<(r|0)?t:r,!((r|0)<=0)&&(e[A>>2]=i-r,e[l>>2]=n-r,e[f>>2]=t-r)}function fe(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;n=e[A>>2]|0,l=A+4|0,t=e[l>>2]|0,f=A+8|0,r=e[f>>2]|0,i=(t*3|0)+n|0,n=r+(n*3|0)|0,e[A>>2]=n,e[l>>2]=i,t=(r*3|0)+t|0,e[f>>2]=t,r=i-n|0,(n|0)<0?(t=t-n|0,e[l>>2]=r,e[f>>2]=t,e[A>>2]=0,n=0):r=i,(r|0)<0&&(n=n-r|0,e[A>>2]=n,t=t-r|0,e[f>>2]=t,e[l>>2]=0,r=0),s=n-t|0,i=r-t|0,(t|0)<0?(e[A>>2]=s,e[l>>2]=i,e[f>>2]=0,n=s,t=0):i=r,r=(i|0)<(n|0)?i:n,r=(t|0)<(r|0)?t:r,!((r|0)<=0)&&(e[A>>2]=n-r,e[l>>2]=i-r,e[f>>2]=t-r)}function en(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0;(t+-1|0)>>>0>=6||(n=(e[15440+(t*12|0)>>2]|0)+(e[A>>2]|0)|0,e[A>>2]=n,f=A+4|0,i=(e[15440+(t*12|0)+4>>2]|0)+(e[f>>2]|0)|0,e[f>>2]=i,l=A+8|0,t=(e[15440+(t*12|0)+8>>2]|0)+(e[l>>2]|0)|0,e[l>>2]=t,r=i-n|0,(n|0)<0?(t=t-n|0,e[f>>2]=r,e[l>>2]=t,e[A>>2]=0,i=0):(r=i,i=n),(r|0)<0&&(i=i-r|0,e[A>>2]=i,t=t-r|0,e[l>>2]=t,e[f>>2]=0,r=0),s=i-t|0,n=r-t|0,(t|0)<0?(e[A>>2]=s,e[f>>2]=n,e[l>>2]=0,i=s,t=0):n=r,r=(n|0)<(i|0)?n:i,r=(t|0)<(r|0)?t:r,!((r|0)<=0)&&(e[A>>2]=i-r,e[f>>2]=n-r,e[l>>2]=t-r))}function tn(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;n=e[A>>2]|0,l=A+4|0,t=e[l>>2]|0,f=A+8|0,r=e[f>>2]|0,i=t+n|0,n=r+n|0,e[A>>2]=n,e[l>>2]=i,t=r+t|0,e[f>>2]=t,r=i-n|0,(n|0)<0?(t=t-n|0,e[l>>2]=r,e[f>>2]=t,e[A>>2]=0,i=0):(r=i,i=n),(r|0)<0&&(i=i-r|0,e[A>>2]=i,t=t-r|0,e[f>>2]=t,e[l>>2]=0,r=0),s=i-t|0,n=r-t|0,(t|0)<0?(e[A>>2]=s,e[l>>2]=n,e[f>>2]=0,i=s,t=0):n=r,r=(n|0)<(i|0)?n:i,r=(t|0)<(r|0)?t:r,!((r|0)<=0)&&(e[A>>2]=i-r,e[l>>2]=n-r,e[f>>2]=t-r)}function Mt(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;t=e[A>>2]|0,l=A+4|0,i=e[l>>2]|0,f=A+8|0,r=e[f>>2]|0,n=i+t|0,e[A>>2]=n,i=r+i|0,e[l>>2]=i,t=r+t|0,e[f>>2]=t,r=i-n|0,(n|0)<0?(t=t-n|0,e[l>>2]=r,e[f>>2]=t,e[A>>2]=0,i=0):(r=i,i=n),(r|0)<0&&(i=i-r|0,e[A>>2]=i,t=t-r|0,e[f>>2]=t,e[l>>2]=0,r=0),s=i-t|0,n=r-t|0,(t|0)<0?(e[A>>2]=s,e[l>>2]=n,e[f>>2]=0,i=s,t=0):n=r,r=(n|0)<(i|0)?n:i,r=(t|0)<(r|0)?t:r,!((r|0)<=0)&&(e[A>>2]=i-r,e[l>>2]=n-r,e[f>>2]=t-r)}function ue(A){switch(A=A|0,A|0){case 1:{A=5;break}case 5:{A=4;break}case 4:{A=6;break}case 6:{A=2;break}case 2:{A=3;break}case 3:{A=1;break}}return A|0}function X0(A){switch(A=A|0,A|0){case 1:{A=3;break}case 3:{A=2;break}case 2:{A=6;break}case 6:{A=4;break}case 4:{A=5;break}case 5:{A=1;break}}return A|0}function rn(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;t=e[A>>2]|0,l=A+4|0,r=e[l>>2]|0,f=A+8|0,i=e[f>>2]|0,n=r+(t<<1)|0,e[A>>2]=n,r=i+(r<<1)|0,e[l>>2]=r,t=(i<<1)+t|0,e[f>>2]=t,i=r-n|0,(n|0)<0?(t=t-n|0,e[l>>2]=i,e[f>>2]=t,e[A>>2]=0,r=i,i=0):i=n,(r|0)<0&&(i=i-r|0,e[A>>2]=i,t=t-r|0,e[f>>2]=t,e[l>>2]=0,r=0),s=i-t|0,n=r-t|0,(t|0)<0?(e[A>>2]=s,e[l>>2]=n,e[f>>2]=0,i=s,t=0):n=r,r=(n|0)<(i|0)?n:i,r=(t|0)<(r|0)?t:r,!((r|0)<=0)&&(e[A>>2]=i-r,e[l>>2]=n-r,e[f>>2]=t-r)}function nn(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;n=e[A>>2]|0,l=A+4|0,t=e[l>>2]|0,f=A+8|0,r=e[f>>2]|0,i=(t<<1)+n|0,n=r+(n<<1)|0,e[A>>2]=n,e[l>>2]=i,t=(r<<1)+t|0,e[f>>2]=t,r=i-n|0,(n|0)<0?(t=t-n|0,e[l>>2]=r,e[f>>2]=t,e[A>>2]=0,n=0):r=i,(r|0)<0&&(n=n-r|0,e[A>>2]=n,t=t-r|0,e[f>>2]=t,e[l>>2]=0,r=0),s=n-t|0,i=r-t|0,(t|0)<0?(e[A>>2]=s,e[l>>2]=i,e[f>>2]=0,n=s,t=0):i=r,r=(i|0)<(n|0)?i:n,r=(t|0)<(r|0)?t:r,!((r|0)<=0)&&(e[A>>2]=n-r,e[l>>2]=i-r,e[f>>2]=t-r)}function mr(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0;return l=(e[A>>2]|0)-(e[t>>2]|0)|0,f=(l|0)<0,i=(e[A+4>>2]|0)-(e[t+4>>2]|0)-(f?l:0)|0,s=(i|0)<0,n=(f?0-l|0:0)+(e[A+8>>2]|0)-(e[t+8>>2]|0)+(s?0-i|0:0)|0,A=(n|0)<0,t=A?0:n,r=(s?0:i)-(A?n:0)|0,n=(f?0:l)-(s?i:0)-(A?n:0)|0,A=(r|0)<(n|0)?r:n,A=(t|0)<(A|0)?t:A,i=(A|0)>0,t=t-(i?A:0)|0,r=r-(i?A:0)|0,A=n-(i?A:0)|0,A=(A|0)>-1?A:0-A|0,r=(r|0)>-1?r:0-r|0,t=(t|0)>-1?t:0-t|0,t=(r|0)>(t|0)?r:t,((A|0)>(t|0)?A:t)|0}function fl(A,t){A=A|0,t=t|0;var r=0;r=e[A+8>>2]|0,e[t>>2]=(e[A>>2]|0)-r,e[t+4>>2]=(e[A+4>>2]|0)-r}function ul(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0;return i=e[A>>2]|0,e[t>>2]=i,n=e[A+4>>2]|0,l=t+4|0,e[l>>2]=n,f=t+8|0,e[f>>2]=0,r=(n|0)<(i|0),A=r?i:n,r=r?n:i,(r|0)<0&&((r|0)==-2147483648||((A|0)>0?(2147483647-A|0)<(r|0):(-2147483648-A|0)>(r|0))||((A|0)>-1?(A|-2147483648|0)>=(r|0):(A^-2147483648|0)<(r|0)))?(t=1,t|0):(A=n-i|0,(i|0)<0?(r=0-i|0,e[l>>2]=A,e[f>>2]=r,e[t>>2]=0,i=0):(A=n,r=0),(A|0)<0&&(i=i-A|0,e[t>>2]=i,r=r-A|0,e[f>>2]=r,e[l>>2]=0,A=0),s=i-r|0,n=A-r|0,(r|0)<0?(e[t>>2]=s,e[l>>2]=n,e[f>>2]=0,A=n,n=s,r=0):n=i,i=(A|0)<(n|0)?A:n,i=(r|0)<(i|0)?r:i,(i|0)<=0?(t=0,t|0):(e[t>>2]=n-i,e[l>>2]=A-i,e[f>>2]=r-i,t=0,t|0))}function sn(A){A=A|0;var t=0,r=0,i=0,n=0;t=A+8|0,n=e[t>>2]|0,r=n-(e[A>>2]|0)|0,e[A>>2]=r,i=A+4|0,A=(e[i>>2]|0)-n|0,e[i>>2]=A,e[t>>2]=0-(A+r)}function hl(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;r=e[A>>2]|0,t=0-r|0,e[A>>2]=t,l=A+8|0,e[l>>2]=0,f=A+4|0,i=e[f>>2]|0,n=i+r|0,(r|0)>0?(e[f>>2]=n,e[l>>2]=r,e[A>>2]=0,t=0,i=n):r=0,(i|0)<0?(s=t-i|0,e[A>>2]=s,r=r-i|0,e[l>>2]=r,e[f>>2]=0,n=s-r|0,t=0-r|0,(r|0)<0?(e[A>>2]=n,e[f>>2]=t,e[l>>2]=0,i=t,r=0):(i=0,n=s)):n=t,t=(i|0)<(n|0)?i:n,t=(r|0)<(t|0)?r:t,!((t|0)<=0)&&(e[A>>2]=n-t,e[f>>2]=i-t,e[l>>2]=r-t)}function al(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0,p=0,v=0;if(v=y,y=y+64|0,p=v,f=v+56|0,!(!0&(t&2013265920|0)==134217728&(!0&(i&2013265920|0)==134217728)))return n=5,y=v,n|0;if((A|0)==(r|0)&(t|0)==(i|0))return e[n>>2]=0,n=0,y=v,n|0;if(l=eA(A|0,t|0,52)|0,b()|0,l=l&15,g=eA(r|0,i|0,52)|0,b()|0,(l|0)!=(g&15|0))return n=12,y=v,n|0;if(s=l+-1|0,l>>>0>1){kr(A,t,s,p)|0,kr(r,i,s,f)|0,g=p,a=e[g>>2]|0,g=e[g+4>>2]|0;A:do if((a|0)==(e[f>>2]|0)&&(g|0)==(e[f+4>>2]|0)){l=(l^15)*3|0,s=eA(A|0,t|0,l|0)|0,b()|0,s=s&7,l=eA(r|0,i|0,l|0)|0,b()|0,l=l&7;do if((s|0)==0|(l|0)==0)e[n>>2]=1,s=0;else if((s|0)==7)s=5;else{if((s|0)==1|(l|0)==1&&WA(a,g)|0){s=5;break}if((e[15536+(s<<2)>>2]|0)!=(l|0)&&(e[15568+(s<<2)>>2]|0)!=(l|0))break A;e[n>>2]=1,s=0}while(!1);return n=s,y=v,n|0}while(!1)}s=p,l=s+56|0;do e[s>>2]=0,s=s+4|0;while((s|0)<(l|0));return zi(A,t,1,p)|0,t=p,!((e[t>>2]|0)==(r|0)&&(e[t+4>>2]|0)==(i|0))&&(t=p+8|0,!((e[t>>2]|0)==(r|0)&&(e[t+4>>2]|0)==(i|0)))&&(t=p+16|0,!((e[t>>2]|0)==(r|0)&&(e[t+4>>2]|0)==(i|0)))&&(t=p+24|0,!((e[t>>2]|0)==(r|0)&&(e[t+4>>2]|0)==(i|0)))&&(t=p+32|0,!((e[t>>2]|0)==(r|0)&&(e[t+4>>2]|0)==(i|0)))&&(t=p+40|0,!((e[t>>2]|0)==(r|0)&&(e[t+4>>2]|0)==(i|0)))?(s=p+48|0,s=((e[s>>2]|0)==(r|0)?(e[s+4>>2]|0)==(i|0):0)&1):s=1,e[n>>2]=s,n=0,y=v,n|0}function gl(A,t,r,i,n){return A=A|0,t=t|0,r=r|0,i=i|0,n=n|0,r=ur(A,t,r,i)|0,(r|0)==7?(n=11,n|0):(i=sA(r|0,0,56)|0,t=t&-2130706433|(b()|0)|268435456,e[n>>2]=A|i,e[n+4>>2]=t,n=0,n|0)}function cl(A,t,r){return A=A|0,t=t|0,r=r|0,!0&(t&2013265920|0)==268435456?(e[r>>2]=A,e[r+4>>2]=t&-2130706433|134217728,r=0,r|0):(r=6,r|0)}function wl(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0;return n=y,y=y+16|0,i=n,e[i>>2]=0,!0&(t&2013265920|0)==268435456?(s=eA(A|0,t|0,56)|0,b()|0,i=o0(A,t&-2130706433|134217728,s&7,i,r)|0,y=n,i|0):(i=6,y=n,i|0)}function pl(A,t){A=A|0,t=t|0;var r=0;switch(r=eA(A|0,t|0,56)|0,b()|0,r&7){case 0:case 7:return r=0,r|0}return r=t&-2130706433|134217728,!(!0&(t&2013265920|0)==268435456)||!0&(t&117440512|0)==16777216&(WA(A,r)|0)!=0?(r=0,r|0):(r=vr(A,r)|0,r|0)}function ml(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0;return n=y,y=y+16|0,i=n,!0&(t&2013265920|0)==268435456?(s=t&-2130706433|134217728,l=r,e[l>>2]=A,e[l+4>>2]=s,e[i>>2]=0,t=eA(A|0,t|0,56)|0,b()|0,i=o0(A,s,t&7,i,r+8|0)|0,y=n,i|0):(i=6,y=n,i|0)}function El(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0;return n=(WA(A,t)|0)==0,t=t&-2130706433,i=r,e[i>>2]=n?A:0,e[i+4>>2]=n?t|285212672:0,i=r+8|0,e[i>>2]=A,e[i+4>>2]=t|301989888,i=r+16|0,e[i>>2]=A,e[i+4>>2]=t|318767104,i=r+24|0,e[i>>2]=A,e[i+4>>2]=t|335544320,i=r+32|0,e[i>>2]=A,e[i+4>>2]=t|352321536,r=r+40|0,e[r>>2]=A,e[r+4>>2]=t|369098752,0}function Pt(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0;return l=y,y=y+16|0,n=l,s=t&-2130706433|134217728,!0&(t&2013265920|0)==268435456?(i=eA(A|0,t|0,56)|0,b()|0,i=w1(A,s,i&7)|0,(i|0)==-1?(e[r>>2]=0,s=6,y=l,s|0):(Ce(A,s,n)|0&&BA(27795,26932,282,26947),t=eA(A|0,t|0,52)|0,b()|0,t=t&15,WA(A,s)|0?Er(n,t,i,2,r):yr(n,t,i,2,r),s=0,y=l,s|0)):(s=6,y=l,s|0)}function yl(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0;i=y,y=y+16|0,n=i,vl(A,t,r,n),nl(n,r+4|0),y=i}function vl(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0;if(f=y,y=y+16|0,a=f,bl(A,r,a),s=+dt(+(1-+E[a>>3]*.5)),s<1e-16){e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0,y=f;return}if(a=e[r>>2]|0,n=+E[15920+(a*24|0)>>3],n=+Ve(n-+Ve(+Fl(15600+(a<<4)|0,A))),M0(t)|0?l=+Ve(n+-.3334731722518321):l=n,n=+x0(+s)*2.618033988749896,(t|0)>0){A=0;do n=n*2.6457513110645907,A=A+1|0;while((A|0)!=(t|0))}s=+jA(+l)*n,E[i>>3]=s,l=+OA(+l)*n,E[i+8>>3]=l,y=f}function bl(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0;if(s=y,y=y+32|0,n=s,c1(A,n),e[t>>2]=0,E[r>>3]=5,i=+t0(16400,n),i<+E[r>>3]&&(e[t>>2]=0,E[r>>3]=i),i=+t0(16424,n),i<+E[r>>3]&&(e[t>>2]=1,E[r>>3]=i),i=+t0(16448,n),i<+E[r>>3]&&(e[t>>2]=2,E[r>>3]=i),i=+t0(16472,n),i<+E[r>>3]&&(e[t>>2]=3,E[r>>3]=i),i=+t0(16496,n),i<+E[r>>3]&&(e[t>>2]=4,E[r>>3]=i),i=+t0(16520,n),i<+E[r>>3]&&(e[t>>2]=5,E[r>>3]=i),i=+t0(16544,n),i<+E[r>>3]&&(e[t>>2]=6,E[r>>3]=i),i=+t0(16568,n),i<+E[r>>3]&&(e[t>>2]=7,E[r>>3]=i),i=+t0(16592,n),i<+E[r>>3]&&(e[t>>2]=8,E[r>>3]=i),i=+t0(16616,n),i<+E[r>>3]&&(e[t>>2]=9,E[r>>3]=i),i=+t0(16640,n),i<+E[r>>3]&&(e[t>>2]=10,E[r>>3]=i),i=+t0(16664,n),i<+E[r>>3]&&(e[t>>2]=11,E[r>>3]=i),i=+t0(16688,n),i<+E[r>>3]&&(e[t>>2]=12,E[r>>3]=i),i=+t0(16712,n),i<+E[r>>3]&&(e[t>>2]=13,E[r>>3]=i),i=+t0(16736,n),i<+E[r>>3]&&(e[t>>2]=14,E[r>>3]=i),i=+t0(16760,n),i<+E[r>>3]&&(e[t>>2]=15,E[r>>3]=i),i=+t0(16784,n),i<+E[r>>3]&&(e[t>>2]=16,E[r>>3]=i),i=+t0(16808,n),i<+E[r>>3]&&(e[t>>2]=17,E[r>>3]=i),i=+t0(16832,n),i<+E[r>>3]&&(e[t>>2]=18,E[r>>3]=i),i=+t0(16856,n),!(i<+E[r>>3])){y=s;return}e[t>>2]=19,E[r>>3]=i,y=s}function je(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0;if(s=+g1(A),s<1e-16){t=15600+(t<<4)|0,e[n>>2]=e[t>>2],e[n+4>>2]=e[t+4>>2],e[n+8>>2]=e[t+8>>2],e[n+12>>2]=e[t+12>>2];return}if(l=+D0(+ +E[A+8>>3],+ +E[A>>3]),(r|0)>0){A=0;do s=s*.37796447300922725,A=A+1|0;while((A|0)!=(r|0))}f=s*.3333333333333333,i?(r=(M0(r)|0)==0,s=+lr(+((r?f:f*.37796447300922725)*.381966011250105))):(s=+lr(+(s*.381966011250105)),M0(r)|0&&(l=+Ve(l+.3334731722518321))),Nl(15600+(t<<4)|0,+Ve(+E[15920+(t*24|0)>>3]-l),s,n)}function kl(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0;i=y,y=y+16|0,n=i,le(A+4|0,n),je(n,e[A>>2]|0,t,0,r),y=i}function Er(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0,nA=0,cA=0,uA=0,DA=0,PA=0,LA=0,kA=0,wA=0,iA=0,SA=0,KA=0,_A=0;if(SA=y,y=y+272|0,s=SA+256|0,z=SA+240|0,kA=SA,wA=SA+224|0,iA=SA+208|0,G=SA+176|0,T=SA+160|0,nA=SA+192|0,cA=SA+144|0,uA=SA+128|0,DA=SA+112|0,PA=SA+96|0,LA=SA+80|0,e[s>>2]=t,e[z>>2]=e[A>>2],e[z+4>>2]=e[A+4>>2],e[z+8>>2]=e[A+8>>2],e[z+12>>2]=e[A+12>>2],on(z,s,kA),e[n>>2]=0,z=i+r+((i|0)==5&1)|0,(z|0)<=(r|0)){y=SA;return}a=e[s>>2]|0,g=wA+4|0,p=G+4|0,v=r+5|0,d=16880+(a<<2)|0,x=16960+(a<<2)|0,D=uA+8|0,S=DA+8|0,F=PA+8|0,K=iA+4|0,f=r;A:for(;;){l=kA+(((f|0)%5|0)<<4)|0,e[iA>>2]=e[l>>2],e[iA+4>>2]=e[l+4>>2],e[iA+8>>2]=e[l+8>>2],e[iA+12>>2]=e[l+12>>2];do;while((Be(iA,a,0,1)|0)==2);if((f|0)>(r|0)&(M0(t)|0)!=0){if(e[G>>2]=e[iA>>2],e[G+4>>2]=e[iA+4>>2],e[G+8>>2]=e[iA+8>>2],e[G+12>>2]=e[iA+12>>2],le(g,T),i=e[G>>2]|0,s=e[17040+(i*80|0)+(e[wA>>2]<<2)>>2]|0,e[G>>2]=e[18640+(i*80|0)+(s*20|0)>>2],l=e[18640+(i*80|0)+(s*20|0)+16>>2]|0,(l|0)>0){A=0;do tn(p),A=A+1|0;while((A|0)<(l|0))}switch(l=18640+(i*80|0)+(s*20|0)+4|0,e[nA>>2]=e[l>>2],e[nA+4>>2]=e[l+4>>2],e[nA+8>>2]=e[l+8>>2],Ji(nA,(e[d>>2]|0)*3|0),c0(p,nA,p),a0(p),le(p,cA),KA=+(e[x>>2]|0),E[uA>>3]=KA*3,E[D>>3]=0,_A=KA*-1.5,E[DA>>3]=_A,E[S>>3]=KA*2.598076211353316,E[PA>>3]=_A,E[F>>3]=KA*-2.598076211353316,e[17040+((e[G>>2]|0)*80|0)+(e[iA>>2]<<2)>>2]|0){case 1:{A=DA,i=uA;break}case 3:{A=PA,i=DA;break}case 2:{A=uA,i=PA;break}default:{A=12;break A}}Bn(T,cA,i,A,LA),je(LA,e[G>>2]|0,a,1,n+8+(e[n>>2]<<4)|0),e[n>>2]=(e[n>>2]|0)+1}if((f|0)<(v|0)&&(le(K,G),je(G,e[iA>>2]|0,a,1,n+8+(e[n>>2]<<4)|0),e[n>>2]=(e[n>>2]|0)+1),e[wA>>2]=e[iA>>2],e[wA+4>>2]=e[iA+4>>2],e[wA+8>>2]=e[iA+8>>2],e[wA+12>>2]=e[iA+12>>2],f=f+1|0,(f|0)>=(z|0)){A=3;break}}if((A|0)==3){y=SA;return}else(A|0)==12&&BA(26970,27017,572,27027)}function on(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0;a=y,y=y+128|0,i=a+64|0,n=a,s=i,l=20240,f=s+60|0;do e[s>>2]=e[l>>2],s=s+4|0,l=l+4|0;while((s|0)<(f|0));s=n,l=20304,f=s+60|0;do e[s>>2]=e[l>>2],s=s+4|0,l=l+4|0;while((s|0)<(f|0));f=(M0(e[t>>2]|0)|0)==0,i=f?i:n,n=A+4|0,rn(n),nn(n),M0(e[t>>2]|0)|0&&(fe(n),e[t>>2]=(e[t>>2]|0)+1),e[r>>2]=e[A>>2],t=r+4|0,c0(n,i,t),a0(t),e[r+16>>2]=e[A>>2],t=r+20|0,c0(n,i+12|0,t),a0(t),e[r+32>>2]=e[A>>2],t=r+36|0,c0(n,i+24|0,t),a0(t),e[r+48>>2]=e[A>>2],t=r+52|0,c0(n,i+36|0,t),a0(t),e[r+64>>2]=e[A>>2],r=r+68|0,c0(n,i+48|0,r),a0(r),y=a}function Be(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0;if(D=y,y=y+32|0,d=D+12|0,f=D,x=A+4|0,v=e[16960+(t<<2)>>2]|0,p=(i|0)!=0,v=p?v*3|0:v,n=e[x>>2]|0,g=A+8|0,l=e[g>>2]|0,p){if(s=A+12|0,i=e[s>>2]|0,n=l+n+i|0,(n|0)==(v|0))return x=1,y=D,x|0;a=s}else a=A+12|0,i=e[a>>2]|0,n=l+n+i|0;if((n|0)<=(v|0))return x=0,y=D,x|0;do if((i|0)>0){if(i=e[A>>2]|0,(l|0)>0){s=18640+(i*80|0)+60|0,i=A;break}i=18640+(i*80|0)+40|0,r?(il(d,v,0,0),pr(x,d,f),Mt(f),c0(f,d,x),s=i,i=A):(s=i,i=A)}else s=18640+((e[A>>2]|0)*80|0)+20|0,i=A;while(!1);if(e[i>>2]=e[s>>2],n=s+16|0,(e[n>>2]|0)>0){i=0;do tn(x),i=i+1|0;while((i|0)<(e[n>>2]|0))}return A=s+4|0,e[d>>2]=e[A>>2],e[d+4>>2]=e[A+4>>2],e[d+8>>2]=e[A+8>>2],t=e[16880+(t<<2)>>2]|0,Ji(d,p?t*3|0:t),c0(x,d,x),a0(x),p?i=((e[g>>2]|0)+(e[x>>2]|0)+(e[a>>2]|0)|0)==(v|0)?1:2:i=2,x=i,y=D,x|0}function Bl(A,t){A=A|0,t=t|0;var r=0;do r=Be(A,t,0,1)|0;while((r|0)==2);return r|0}function yr(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0,nA=0,cA=0,uA=0,DA=0,PA=0,LA=0,kA=0;if(PA=y,y=y+240|0,s=PA+224|0,nA=PA+208|0,cA=PA,uA=PA+192|0,DA=PA+176|0,F=PA+160|0,K=PA+144|0,z=PA+128|0,G=PA+112|0,T=PA+96|0,e[s>>2]=t,e[nA>>2]=e[A>>2],e[nA+4>>2]=e[A+4>>2],e[nA+8>>2]=e[A+8>>2],e[nA+12>>2]=e[A+12>>2],ln(nA,s,cA),e[n>>2]=0,S=i+r+((i|0)==6&1)|0,(S|0)<=(r|0)){y=PA;return}a=e[s>>2]|0,g=r+6|0,p=16960+(a<<2)|0,v=K+8|0,d=z+8|0,x=G+8|0,D=uA+4|0,l=0,f=r,i=-1;A:for(;;){if(s=(f|0)%6|0,A=cA+(s<<4)|0,e[uA>>2]=e[A>>2],e[uA+4>>2]=e[A+4>>2],e[uA+8>>2]=e[A+8>>2],e[uA+12>>2]=e[A+12>>2],A=l,l=Be(uA,a,0,1)|0,(f|0)>(r|0)&(M0(t)|0)!=0&&(A|0)!=1&&(e[uA>>2]|0)!=(i|0)){switch(le(cA+(((s+5|0)%6|0)<<4)+4|0,DA),le(cA+(s<<4)+4|0,F),LA=+(e[p>>2]|0),E[K>>3]=LA*3,E[v>>3]=0,kA=LA*-1.5,E[z>>3]=kA,E[d>>3]=LA*2.598076211353316,E[G>>3]=kA,E[x>>3]=LA*-2.598076211353316,s=e[nA>>2]|0,e[17040+(s*80|0)+(((i|0)==(s|0)?e[uA>>2]|0:i)<<2)>>2]|0){case 1:{A=z,i=K;break}case 3:{A=G,i=z;break}case 2:{A=K,i=G;break}default:{A=8;break A}}Bn(DA,F,i,A,T),!(Cn(DA,T)|0)&&!(Cn(F,T)|0)&&(je(T,e[nA>>2]|0,a,1,n+8+(e[n>>2]<<4)|0),e[n>>2]=(e[n>>2]|0)+1)}if((f|0)<(g|0)&&(le(D,DA),je(DA,e[uA>>2]|0,a,1,n+8+(e[n>>2]<<4)|0),e[n>>2]=(e[n>>2]|0)+1),f=f+1|0,(f|0)>=(S|0)){A=3;break}else i=e[uA>>2]|0}if((A|0)==3){y=PA;return}else(A|0)==8&&BA(27054,27017,737,27099)}function ln(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0;a=y,y=y+160|0,i=a+80|0,n=a,s=i,l=20368,f=s+72|0;do e[s>>2]=e[l>>2],s=s+4|0,l=l+4|0;while((s|0)<(f|0));s=n,l=20448,f=s+72|0;do e[s>>2]=e[l>>2],s=s+4|0,l=l+4|0;while((s|0)<(f|0));f=(M0(e[t>>2]|0)|0)==0,i=f?i:n,n=A+4|0,rn(n),nn(n),M0(e[t>>2]|0)|0&&(fe(n),e[t>>2]=(e[t>>2]|0)+1),e[r>>2]=e[A>>2],t=r+4|0,c0(n,i,t),a0(t),e[r+16>>2]=e[A>>2],t=r+20|0,c0(n,i+12|0,t),a0(t),e[r+32>>2]=e[A>>2],t=r+36|0,c0(n,i+24|0,t),a0(t),e[r+48>>2]=e[A>>2],t=r+52|0,c0(n,i+36|0,t),a0(t),e[r+64>>2]=e[A>>2],t=r+68|0,c0(n,i+48|0,t),a0(t),e[r+80>>2]=e[A>>2],r=r+84|0,c0(n,i+60|0,r),a0(r),y=a}function Cl(A,t){return A=A|0,t=t|0,t=eA(A|0,t|0,52)|0,b()|0,t&15|0}function fn(A,t){return A=A|0,t=t|0,t=eA(A|0,t|0,45)|0,b()|0,t&127|0}function vr(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0;return!(!0&(t&-16777216|0)==134217728)||(i=eA(A|0,t|0,52)|0,b()|0,i=i&15,r=eA(A|0,t|0,45)|0,b()|0,r=r&127,r>>>0>121)?(A=0,A|0):(l=(i^15)*3|0,n=eA(A|0,t|0,l|0)|0,l=sA(n|0,b()|0,l|0)|0,n=b()|0,s=u0(-1227133514,-1171,l|0,n|0)|0,!((l&613566756&s|0)==0&(n&4681&(b()|0)|0)==0)||(l=(i*3|0)+19|0,s=sA(~A|0,~t|0,l|0)|0,l=eA(s|0,b()|0,l|0)|0,!((i|0)==15|(l|0)==0&(b()|0)==0))?(l=0,l|0):!(tA[20528+r>>0]|0)||(t=t&8191,(A|0)==0&(t|0)==0)?(l=1,l|0):(l=Qn(A|0,t|0)|0,b()|0,((63-l|0)%3|0|0)!=0|0))}function br(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0;if(n=sA(t|0,0,52)|0,s=b()|0,r=sA(r|0,0,45)|0,r=s|(b()|0)|134225919,(t|0)<1){s=-1,i=r,t=A,e[t>>2]=s,A=A+4|0,e[A>>2]=i;return}for(s=1,n=-1;l=(15-s|0)*3|0,f=sA(7,0,l|0)|0,r=r&~(b()|0),l=sA(i|0,0,l|0)|0,n=n&~f|l,r=r|(b()|0),(s|0)!=(t|0);)s=s+1|0;f=A,l=f,e[l>>2]=n,f=f+4|0,e[f>>2]=r}function kr(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0;if(s=eA(A|0,t|0,52)|0,b()|0,s=s&15,r>>>0>15)return i=4,i|0;if((s|0)<(r|0))return i=12,i|0;if((s|0)==(r|0))return e[i>>2]=A,e[i+4>>2]=t,i=0,i|0;if(n=sA(r|0,0,52)|0,n=n|A,A=b()|0|t&-15728641,(s|0)>(r|0))do t=sA(7,0,(14-r|0)*3|0)|0,r=r+1|0,n=t|n,A=b()|0|A;while((r|0)<(s|0));return e[i>>2]=n,e[i+4>>2]=A,i=0,i|0}function He(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0;if(s=eA(A|0,t|0,52)|0,b()|0,s=s&15,!((r|0)<16&(s|0)<=(r|0)))return i=4,i|0;n=r-s|0,r=eA(A|0,t|0,45)|0,b()|0;A:do if(!($A(r&127)|0))r=Z0(7,0,n,((n|0)<0)<<31>>31)|0,n=b()|0;else{e:do if(s|0){for(r=1;l=sA(7,0,(15-r|0)*3|0)|0,!!((l&A|0)==0&((b()|0)&t|0)==0);)if(r>>>0<s>>>0)r=r+1|0;else break e;r=Z0(7,0,n,((n|0)<0)<<31>>31)|0,n=b()|0;break A}while(!1);r=Z0(7,0,n,((n|0)<0)<<31>>31)|0,r=l0(r|0,b()|0,5,0)|0,r=EA(r|0,b()|0,-5,-1)|0,r=J0(r|0,b()|0,6,0)|0,r=EA(r|0,b()|0,1,0)|0,n=b()|0}while(!1);return l=i,e[l>>2]=r,e[l+4>>2]=n,l=0,l|0}function WA(A,t){A=A|0,t=t|0;var r=0,i=0,n=0;if(n=eA(A|0,t|0,45)|0,b()|0,!($A(n&127)|0))return n=0,n|0;n=eA(A|0,t|0,52)|0,b()|0,n=n&15;A:do if(!n)r=0;else for(i=1;;){if(r=eA(A|0,t|0,(15-i|0)*3|0)|0,b()|0,r=r&7,r|0)break A;if(i>>>0<n>>>0)i=i+1|0;else{r=0;break}}while(!1);return n=(r|0)==0&1,n|0}function dl(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0;if(l=y,y=y+16|0,s=l,Mr(s,A,t,r),t=s,A=e[t>>2]|0,t=e[t+4>>2]|0,(A|0)==0&(t|0)==0)return y=l,0;n=0,r=0;do f=i+(n<<3)|0,e[f>>2]=A,e[f+4>>2]=t,n=EA(n|0,r|0,1,0)|0,r=b()|0,Pr(s),f=s,A=e[f>>2]|0,t=e[f+4>>2]|0;while(!((A|0)==0&(t|0)==0));return y=l,0}function un(A,t,r,i){return A=A|0,t=t|0,r=r|0,i=i|0,(i|0)<(r|0)?(r=t,i=A,MA(r|0),i|0):(r=sA(-1,-1,((i-r|0)*3|0)+3|0)|0,i=sA(~r|0,~(b()|0)|0,(15-i|0)*3|0)|0,r=~(b()|0)&t,i=~i&A,MA(r|0),i|0)}function hn(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0;return n=eA(A|0,t|0,52)|0,b()|0,n=n&15,(r|0)<16&(n|0)<=(r|0)?((n|0)<(r|0)&&(n=sA(-1,-1,((r+-1-n|0)*3|0)+3|0)|0,n=sA(~n|0,~(b()|0)|0,(15-r|0)*3|0)|0,t=~(b()|0)&t,A=~n&A),n=sA(r|0,0,52)|0,r=t&-15728641|(b()|0),e[i>>2]=A|n,e[i+4>>2]=r,i=0,i|0):(i=4,i|0)}function xl(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0,nA=0,cA=0,uA=0,DA=0,PA=0,LA=0,kA=0,wA=0,iA=0;if((r|0)==0&(i|0)==0)return iA=0,iA|0;if(n=A,s=e[n>>2]|0,n=e[n+4>>2]|0,!0&(n&15728640|0)==0){if(!((i|0)>0|(i|0)==0&r>>>0>0)||(iA=t,e[iA>>2]=s,e[iA+4>>2]=n,(r|0)==1&(i|0)==0))return iA=0,iA|0;n=1,s=0;do kA=A+(n<<3)|0,wA=e[kA+4>>2]|0,iA=t+(n<<3)|0,e[iA>>2]=e[kA>>2],e[iA+4>>2]=wA,n=EA(n|0,s|0,1,0)|0,s=b()|0;while((s|0)<(i|0)|(s|0)==(i|0)&n>>>0<r>>>0);return n=0,n|0}if(LA=r<<3,wA=L0(LA)|0,!wA)return iA=13,iA|0;if(Pe(wA|0,A|0,LA|0)|0,kA=v0(r,8)|0,!kA)return yA(wA),iA=13,iA|0;A:for(;;){n=wA,g=e[n>>2]|0,n=e[n+4>>2]|0,DA=eA(g|0,n|0,52)|0,b()|0,DA=DA&15,PA=DA+-1|0,uA=(DA|0)!=0,cA=(i|0)>0|(i|0)==0&r>>>0>0;e:do if(uA&cA){if(z=sA(PA|0,0,52)|0,G=b()|0,PA>>>0>15){if(!((g|0)==0&(n|0)==0)){iA=16;break A}for(s=0,A=0;;){if(s=EA(s|0,A|0,1,0)|0,A=b()|0,!((A|0)<(i|0)|(A|0)==(i|0)&s>>>0<r>>>0))break e;if(l=wA+(s<<3)|0,nA=e[l>>2]|0,l=e[l+4>>2]|0,!((nA|0)==0&(l|0)==0)){n=l,iA=16;break A}}}for(f=g,A=n,s=0,l=0;;){if(!((f|0)==0&(A|0)==0)){if(!(!0&(A&117440512|0)==0)){iA=21;break A}if(p=eA(f|0,A|0,52)|0,b()|0,p=p&15,(p|0)<(PA|0)){n=12,iA=27;break A}if((p|0)!=(PA|0)&&(f=f|z,A=A&-15728641|G,p>>>0>=DA>>>0)){a=PA;do nA=sA(7,0,(14-a|0)*3|0)|0,a=a+1|0,f=nA|f,A=b()|0|A;while(a>>>0<p>>>0)}if(d=Me(f|0,A|0,r|0,i|0)|0,x=b()|0,a=kA+(d<<3)|0,p=a,v=e[p>>2]|0,p=e[p+4>>2]|0,!((v|0)==0&(p|0)==0)){F=0,K=0;do{if((F|0)>(i|0)|(F|0)==(i|0)&K>>>0>r>>>0){iA=31;break A}if((v|0)==(f|0)&(p&-117440513|0)==(A|0)){D=eA(v|0,p|0,56)|0,b()|0,D=D&7,S=D+1|0,nA=eA(v|0,p|0,45)|0,b()|0;t:do if(!($A(nA&127)|0))p=7;else{if(v=eA(v|0,p|0,52)|0,b()|0,v=v&15,!v){p=6;break}for(p=1;;){if(nA=sA(7,0,(15-p|0)*3|0)|0,!((nA&f|0)==0&((b()|0)&A|0)==0)){p=7;break t}if(p>>>0<v>>>0)p=p+1|0;else{p=6;break}}}while(!1);if((D+2|0)>>>0>p>>>0){iA=41;break A}nA=sA(S|0,0,56)|0,A=b()|0|A&-117440513,T=a,e[T>>2]=0,e[T+4>>2]=0,f=nA|f}else d=EA(d|0,x|0,1,0)|0,d=De(d|0,b()|0,r|0,i|0)|0,x=b()|0;K=EA(K|0,F|0,1,0)|0,F=b()|0,a=kA+(d<<3)|0,p=a,v=e[p>>2]|0,p=e[p+4>>2]|0}while(!((v|0)==0&(p|0)==0))}nA=a,e[nA>>2]=f,e[nA+4>>2]=A}if(s=EA(s|0,l|0,1,0)|0,l=b()|0,!((l|0)<(i|0)|(l|0)==(i|0)&s>>>0<r>>>0))break e;A=wA+(s<<3)|0,f=e[A>>2]|0,A=e[A+4>>2]|0}}while(!1);if(nA=EA(r|0,i|0,5,0)|0,T=b()|0,T>>>0<0|(T|0)==0&nA>>>0<11){iA=85;break}if(nA=J0(r|0,i|0,6,0)|0,b()|0,nA=v0(nA,8)|0,!nA){iA=48;break}do if(cA){for(S=0,A=0,D=0,F=0;;){if(p=kA+(S<<3)|0,l=p,s=e[l>>2]|0,l=e[l+4>>2]|0,(s|0)==0&(l|0)==0)T=D;else{v=eA(s|0,l|0,56)|0,b()|0,v=v&7,f=v+1|0,d=l&-117440513,T=eA(s|0,l|0,45)|0,b()|0;e:do if($A(T&127)|0){if(x=eA(s|0,l|0,52)|0,b()|0,x=x&15,x|0)for(a=1;;){if(T=sA(7,0,(15-a|0)*3|0)|0,!((s&T|0)==0&(d&(b()|0)|0)==0))break e;if(a>>>0<x>>>0)a=a+1|0;else break}l=sA(f|0,0,56)|0,s=l|s,l=b()|0|d,f=p,e[f>>2]=s,e[f+4>>2]=l,f=v+2|0}while(!1);(f|0)==7?(T=nA+(A<<3)|0,e[T>>2]=s,e[T+4>>2]=l&-117440513,A=EA(A|0,D|0,1,0)|0,T=b()|0):T=D}if(S=EA(S|0,F|0,1,0)|0,F=b()|0,(F|0)<(i|0)|(F|0)==(i|0)&S>>>0<r>>>0)D=T;else break}if(cA){if(K=PA>>>0>15,z=sA(PA|0,0,52)|0,G=b()|0,!uA){for(s=0,a=0,f=0,l=0;(g|0)==0&(n|0)==0||(PA=t+(s<<3)|0,e[PA>>2]=g,e[PA+4>>2]=n,s=EA(s|0,a|0,1,0)|0,a=b()|0),f=EA(f|0,l|0,1,0)|0,l=b()|0,!!((l|0)<(i|0)|(l|0)==(i|0)&f>>>0<r>>>0);)n=wA+(f<<3)|0,g=e[n>>2]|0,n=e[n+4>>2]|0;n=T;break}for(s=0,a=0,l=0,f=0;;){do if(!((g|0)==0&(n|0)==0)){if(x=eA(g|0,n|0,52)|0,b()|0,x=x&15,K|(x|0)<(PA|0)){iA=80;break A}if((x|0)!=(PA|0)){if(p=g|z,v=n&-15728641|G,x>>>0>=DA>>>0){d=PA;do uA=sA(7,0,(14-d|0)*3|0)|0,d=d+1|0,p=uA|p,v=b()|0|v;while(d>>>0<x>>>0)}}else p=g,v=n;D=Me(p|0,v|0,r|0,i|0)|0,d=0,x=0,F=b()|0;do{if((d|0)>(i|0)|(d|0)==(i|0)&x>>>0>r>>>0){iA=81;break A}if(uA=kA+(D<<3)|0,S=e[uA+4>>2]|0,(S&-117440513|0)==(v|0)&&(e[uA>>2]|0)==(p|0)){iA=65;break}uA=EA(D|0,F|0,1,0)|0,D=De(uA|0,b()|0,r|0,i|0)|0,F=b()|0,x=EA(x|0,d|0,1,0)|0,d=b()|0,uA=kA+(D<<3)|0}while(!((e[uA>>2]|0)==(p|0)&&(e[uA+4>>2]|0)==(v|0)));if((iA|0)==65&&(iA=0,!0&(S&117440512|0)==100663296))break;uA=t+(s<<3)|0,e[uA>>2]=g,e[uA+4>>2]=n,s=EA(s|0,a|0,1,0)|0,a=b()|0}while(!1);if(l=EA(l|0,f|0,1,0)|0,f=b()|0,!((f|0)<(i|0)|(f|0)==(i|0)&l>>>0<r>>>0))break;n=wA+(l<<3)|0,g=e[n>>2]|0,n=e[n+4>>2]|0}n=T}else s=0,n=T}else s=0,A=0,n=0;while(!1);if(Ae(kA|0,0,LA|0)|0,Pe(wA|0,nA|0,A<<3|0)|0,yA(nA),(A|0)==0&(n|0)==0){iA=89;break}else t=t+(s<<3)|0,i=n,r=A}if((iA|0)==16)!0&(n&117440512|0)==0?(n=4,iA=27):iA=21;else if((iA|0)==31)BA(27795,27122,529,27132);else{if((iA|0)==41)return yA(wA),yA(kA),iA=10,iA|0;if((iA|0)==48)return yA(wA),yA(kA),iA=13,iA|0;(iA|0)==80?BA(27795,27122,620,27132):(iA|0)==81?BA(27795,27122,632,27132):(iA|0)==85&&(Pe(t|0,wA|0,r<<3|0)|0,iA=89)}return(iA|0)==21?(yA(wA),yA(kA),iA=5,iA|0):(iA|0)==27?(yA(wA),yA(kA),iA=n,iA|0):(iA|0)==89?(yA(wA),yA(kA),iA=0,iA|0):0}function Dl(A,t,r,i,n,s,l){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0,s=s|0,l=l|0;var f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0;if(S=y,y=y+16|0,D=S,!((r|0)>0|(r|0)==0&t>>>0>0))return D=0,y=S,D|0;if((l|0)>=16)return D=12,y=S,D|0;d=0,x=0,v=0,f=0;A:for(;;){if(g=A+(d<<3)|0,a=e[g>>2]|0,g=e[g+4>>2]|0,p=eA(a|0,g|0,52)|0,b()|0,(p&15|0)>(l|0)){f=12,a=11;break}if(Mr(D,a,g,l),p=D,g=e[p>>2]|0,p=e[p+4>>2]|0,(g|0)==0&(p|0)==0)a=v;else{a=v;do{if(!((f|0)<(s|0)|(f|0)==(s|0)&a>>>0<n>>>0)){a=10;break A}v=i+(a<<3)|0,e[v>>2]=g,e[v+4>>2]=p,a=EA(a|0,f|0,1,0)|0,f=b()|0,Pr(D),v=D,g=e[v>>2]|0,p=e[v+4>>2]|0}while(!((g|0)==0&(p|0)==0))}if(d=EA(d|0,x|0,1,0)|0,x=b()|0,(x|0)<(r|0)|(x|0)==(r|0)&d>>>0<t>>>0)v=a;else{f=0,a=11;break}}return(a|0)==10?(D=14,y=S,D|0):(a|0)==11?(y=S,f|0):0}function Ml(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0;d=y,y=y+16|0,v=d;A:do if((r|0)>0|(r|0)==0&t>>>0>0){for(g=0,l=0,s=0,p=0;;){if(a=A+(g<<3)|0,f=e[a>>2]|0,a=e[a+4>>2]|0,!((f|0)==0&(a|0)==0)&&(a=(He(f,a,i,v)|0)==0,f=v,l=EA(e[f>>2]|0,e[f+4>>2]|0,l|0,s|0)|0,s=b()|0,!a)){s=12;break}if(g=EA(g|0,p|0,1,0)|0,p=b()|0,!((p|0)<(r|0)|(p|0)==(r|0)&g>>>0<t>>>0))break A}return y=d,s|0}else l=0,s=0;while(!1);return e[n>>2]=l,e[n+4>>2]=s,n=0,y=d,n|0}function Pl(A,t){return A=A|0,t=t|0,t=eA(A|0,t|0,52)|0,b()|0,t&1|0}function y0(A,t){A=A|0,t=t|0;var r=0,i=0,n=0;if(n=eA(A|0,t|0,52)|0,b()|0,n=n&15,!n)return n=0,n|0;for(i=1;;){if(r=eA(A|0,t|0,(15-i|0)*3|0)|0,b()|0,r=r&7,r|0){i=5;break}if(i>>>0<n>>>0)i=i+1|0;else{r=0,i=5;break}}return(i|0)==5?r|0:0}function Br(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0,a=0;if(a=eA(A|0,t|0,52)|0,b()|0,a=a&15,!a)return f=t,a=A,MA(f|0),a|0;for(f=1,r=0;;){s=(15-f|0)*3|0,i=sA(7,0,s|0)|0,n=b()|0,l=eA(A|0,t|0,s|0)|0,b()|0,s=sA(ue(l&7)|0,0,s|0)|0,l=b()|0,A=s|A&~i,t=l|t&~n;A:do if(!r)if((s&i|0)==0&(l&n|0)==0)r=0;else if(i=eA(A|0,t|0,52)|0,b()|0,i=i&15,!i)r=1;else{r=1;e:for(;;){switch(l=eA(A|0,t|0,(15-r|0)*3|0)|0,b()|0,l&7){case 1:break e;case 0:break;default:{r=1;break A}}if(r>>>0<i>>>0)r=r+1|0;else{r=1;break A}}for(r=1;;)if(l=(15-r|0)*3|0,n=eA(A|0,t|0,l|0)|0,b()|0,s=sA(7,0,l|0)|0,t=t&~(b()|0),l=sA(ue(n&7)|0,0,l|0)|0,A=A&~s|l,t=t|(b()|0),r>>>0<i>>>0)r=r+1|0;else{r=1;break}}while(!1);if(f>>>0<a>>>0)f=f+1|0;else break}return MA(t|0),A|0}function he(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0;if(i=eA(A|0,t|0,52)|0,b()|0,i=i&15,!i)return r=t,i=A,MA(r|0),i|0;for(r=1;s=(15-r|0)*3|0,l=eA(A|0,t|0,s|0)|0,b()|0,n=sA(7,0,s|0)|0,t=t&~(b()|0),s=sA(ue(l&7)|0,0,s|0)|0,A=s|A&~n,t=b()|0|t,r>>>0<i>>>0;)r=r+1|0;return MA(t|0),A|0}function _l(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0,a=0;if(a=eA(A|0,t|0,52)|0,b()|0,a=a&15,!a)return f=t,a=A,MA(f|0),a|0;for(f=1,r=0;;){s=(15-f|0)*3|0,i=sA(7,0,s|0)|0,n=b()|0,l=eA(A|0,t|0,s|0)|0,b()|0,s=sA(X0(l&7)|0,0,s|0)|0,l=b()|0,A=s|A&~i,t=l|t&~n;A:do if(!r)if((s&i|0)==0&(l&n|0)==0)r=0;else if(i=eA(A|0,t|0,52)|0,b()|0,i=i&15,!i)r=1;else{r=1;e:for(;;){switch(l=eA(A|0,t|0,(15-r|0)*3|0)|0,b()|0,l&7){case 1:break e;case 0:break;default:{r=1;break A}}if(r>>>0<i>>>0)r=r+1|0;else{r=1;break A}}for(r=1;;)if(n=(15-r|0)*3|0,s=sA(7,0,n|0)|0,l=t&~(b()|0),t=eA(A|0,t|0,n|0)|0,b()|0,t=sA(X0(t&7)|0,0,n|0)|0,A=A&~s|t,t=l|(b()|0),r>>>0<i>>>0)r=r+1|0;else{r=1;break}}while(!1);if(f>>>0<a>>>0)f=f+1|0;else break}return MA(t|0),A|0}function Cr(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0;if(i=eA(A|0,t|0,52)|0,b()|0,i=i&15,!i)return r=t,i=A,MA(r|0),i|0;for(r=1;l=(15-r|0)*3|0,s=sA(7,0,l|0)|0,n=t&~(b()|0),t=eA(A|0,t|0,l|0)|0,b()|0,t=sA(X0(t&7)|0,0,l|0)|0,A=t|A&~s,t=b()|0|n,r>>>0<i>>>0;)r=r+1|0;return MA(t|0),A|0}function Ql(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0;if(a=y,y=y+64|0,f=a+40|0,i=a+24|0,n=a+12|0,s=a,sA(t|0,0,52)|0,r=b()|0|134225919,!t)return(e[A+4>>2]|0)>2||(e[A+8>>2]|0)>2||(e[A+12>>2]|0)>2?(l=0,f=0,MA(l|0),y=a,f|0):(sA(Ki(A)|0,0,45)|0,l=b()|0|r,f=-1,MA(l|0),y=a,f|0);if(e[f>>2]=e[A>>2],e[f+4>>2]=e[A+4>>2],e[f+8>>2]=e[A+8>>2],e[f+12>>2]=e[A+12>>2],l=f+4|0,(t|0)>0)for(A=-1;e[i>>2]=e[l>>2],e[i+4>>2]=e[l+4>>2],e[i+8>>2]=e[l+8>>2],t&1?(ll(l),e[n>>2]=e[l>>2],e[n+4>>2]=e[l+4>>2],e[n+8>>2]=e[l+8>>2],Dt(n)):(An(l),e[n>>2]=e[l>>2],e[n+4>>2]=e[l+4>>2],e[n+8>>2]=e[l+8>>2],fe(n)),pr(i,n,s),a0(s),p=(15-t|0)*3|0,g=sA(7,0,p|0)|0,r=r&~(b()|0),p=sA(xt(s)|0,0,p|0)|0,A=p|A&~g,r=b()|0|r,(t|0)>1;)t=t+-1|0;else A=-1;A:do if((e[l>>2]|0)<=2&&(e[f+8>>2]|0)<=2&&(e[f+12>>2]|0)<=2){if(i=Ki(f)|0,t=sA(i|0,0,45)|0,t=t|A,A=b()|0|r&-1040385,s=qo(f)|0,!($A(i)|0)){if((s|0)<=0)break;for(n=0;;){if(i=eA(t|0,A|0,52)|0,b()|0,i=i&15,i)for(r=1;p=(15-r|0)*3|0,f=eA(t|0,A|0,p|0)|0,b()|0,g=sA(7,0,p|0)|0,A=A&~(b()|0),p=sA(ue(f&7)|0,0,p|0)|0,t=t&~g|p,A=A|(b()|0),r>>>0<i>>>0;)r=r+1|0;if(n=n+1|0,(n|0)==(s|0))break A}}n=eA(t|0,A|0,52)|0,b()|0,n=n&15;e:do if(n){r=1;t:for(;;){switch(p=eA(t|0,A|0,(15-r|0)*3|0)|0,b()|0,p&7){case 1:break t;case 0:break;default:break e}if(r>>>0<n>>>0)r=r+1|0;else break e}if(qi(i,e[f>>2]|0)|0)for(r=1;f=(15-r|0)*3|0,g=sA(7,0,f|0)|0,p=A&~(b()|0),A=eA(t|0,A|0,f|0)|0,b()|0,A=sA(X0(A&7)|0,0,f|0)|0,t=t&~g|A,A=p|(b()|0),r>>>0<n>>>0;)r=r+1|0;else for(r=1;p=(15-r|0)*3|0,f=eA(t|0,A|0,p|0)|0,b()|0,g=sA(7,0,p|0)|0,A=A&~(b()|0),p=sA(ue(f&7)|0,0,p|0)|0,t=t&~g|p,A=A|(b()|0),r>>>0<n>>>0;)r=r+1|0}while(!1);if((s|0)>0){r=0;do t=Br(t,A)|0,A=b()|0,r=r+1|0;while((r|0)!=(s|0))}}else t=0,A=0;while(!1);return g=A,p=t,MA(g|0),y=a,p|0}function M0(A){return A=A|0,(A|0)%2|0|0}function dr(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0;return n=y,y=y+16|0,i=n,t>>>0>15?(i=4,y=n,i|0):(e[A+4>>2]&2146435072|0)==2146435072||(e[A+8+4>>2]&2146435072|0)==2146435072?(i=3,y=n,i|0):(yl(A,t,i),t=Ql(i,t)|0,i=b()|0,e[r>>2]=t,e[r+4>>2]=i,(t|0)==0&(i|0)==0&&BA(27795,27122,959,27145),i=0,y=n,i|0)}function xr(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0;if(n=r+4|0,s=eA(A|0,t|0,52)|0,b()|0,s=s&15,l=eA(A|0,t|0,45)|0,b()|0,i=(s|0)==0,$A(l&127)|0){if(i)return l=1,l|0;i=1}else{if(i)return l=0,l|0;(e[n>>2]|0)==0&&(e[r+8>>2]|0)==0?i=(e[r+12>>2]|0)!=0&1:i=1}for(r=1;r&1?Dt(n):fe(n),l=eA(A|0,t|0,(15-r|0)*3|0)|0,b()|0,en(n,l&7),r>>>0<s>>>0;)r=r+1|0;return i|0}function Ce(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0;if(p=y,y=y+16|0,a=p,g=eA(A|0,t|0,45)|0,b()|0,g=g&127,g>>>0>121)return e[r>>2]=0,e[r+4>>2]=0,e[r+8>>2]=0,e[r+12>>2]=0,g=5,y=p,g|0;A:do if(($A(g)|0)!=0&&(s=eA(A|0,t|0,52)|0,b()|0,s=s&15,(s|0)!=0)){i=1;e:for(;;){switch(f=eA(A|0,t|0,(15-i|0)*3|0)|0,b()|0,f&7){case 5:break e;case 0:break;default:{i=t;break A}}if(i>>>0<s>>>0)i=i+1|0;else{i=t;break A}}for(n=1,i=t;t=(15-n|0)*3|0,l=sA(7,0,t|0)|0,f=i&~(b()|0),i=eA(A|0,i|0,t|0)|0,b()|0,i=sA(X0(i&7)|0,0,t|0)|0,A=A&~l|i,i=f|(b()|0),n>>>0<s>>>0;)n=n+1|0}else i=t;while(!1);if(f=7696+(g*28|0)|0,e[r>>2]=e[f>>2],e[r+4>>2]=e[f+4>>2],e[r+8>>2]=e[f+8>>2],e[r+12>>2]=e[f+12>>2],!(xr(A,i,r)|0))return g=0,y=p,g|0;if(l=r+4|0,e[a>>2]=e[l>>2],e[a+4>>2]=e[l+4>>2],e[a+8>>2]=e[l+8>>2],s=eA(A|0,i|0,52)|0,b()|0,f=s&15,s&1?(fe(l),s=f+1|0):s=f,!($A(g)|0))i=0;else{A:do if(!f)i=0;else for(t=1;;){if(n=eA(A|0,i|0,(15-t|0)*3|0)|0,b()|0,n=n&7,n|0){i=n;break A}if(t>>>0<f>>>0)t=t+1|0;else{i=0;break}}while(!1);i=(i|0)==4&1}if(!(Be(r,s,i,0)|0))(s|0)!=(f|0)&&(e[l>>2]=e[a>>2],e[l+4>>2]=e[a+4>>2],e[l+8>>2]=e[a+8>>2]);else{if($A(g)|0)do;while((Be(r,s,0,0)|0)!=0);(s|0)!=(f|0)&&An(l)}return g=0,y=p,g|0}function ae(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0;return s=y,y=y+16|0,i=s,n=Ce(A,t,i)|0,n|0?(y=s,n|0):(n=eA(A|0,t|0,52)|0,b()|0,kl(i,n&15,r),n=0,y=s,n|0)}function de(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0;if(l=y,y=y+16|0,s=l,i=Ce(A,t,s)|0,i|0)return s=i,y=l,s|0;i=eA(A|0,t|0,45)|0,b()|0,i=($A(i&127)|0)==0,n=eA(A|0,t|0,52)|0,b()|0,n=n&15;A:do if(!i){if(n|0)for(i=1;;){if(f=sA(7,0,(15-i|0)*3|0)|0,!((f&A|0)==0&((b()|0)&t|0)==0))break A;if(i>>>0<n>>>0)i=i+1|0;else break}return Er(s,n,0,5,r),f=0,y=l,f|0}while(!1);return yr(s,n,0,6,r),f=0,y=l,f|0}function Sl(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0;if(n=eA(A|0,t|0,45)|0,b()|0,!($A(n&127)|0))return n=2,e[r>>2]=n,0;if(n=eA(A|0,t|0,52)|0,b()|0,n=n&15,!n)return n=5,e[r>>2]=n,0;for(i=1;;){if(s=sA(7,0,(15-i|0)*3|0)|0,!((s&A|0)==0&((b()|0)&t|0)==0)){i=2,A=6;break}if(i>>>0<n>>>0)i=i+1|0;else{i=5,A=6;break}}return(A|0)==6&&(e[r>>2]=i),0}function an(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0;v=y,y=y+128|0,g=v+112|0,s=v+96|0,p=v,n=eA(A|0,t|0,52)|0,b()|0,f=n&15,e[g>>2]=f,l=eA(A|0,t|0,45)|0,b()|0,l=l&127;A:do if($A(l)|0){if(f|0)for(i=1;;){if(a=sA(7,0,(15-i|0)*3|0)|0,!((a&A|0)==0&((b()|0)&t|0)==0)){n=0;break A}if(i>>>0<f>>>0)i=i+1|0;else break}if(n&1)n=1;else return a=sA(f+1|0,0,52)|0,p=b()|0|t&-15728641,g=sA(7,0,(14-f|0)*3|0)|0,p=an((a|A)&~g,p&~(b()|0),r)|0,y=v,p|0}else n=0;while(!1);if(i=Ce(A,t,s)|0,!i){n?(on(s,g,p),a=5):(ln(s,g,p),a=6);A:do if($A(l)|0)if(!f)A=5;else for(i=1;;){if(l=sA(7,0,(15-i|0)*3|0)|0,!((l&A|0)==0&((b()|0)&t|0)==0)){A=2;break A}if(i>>>0<f>>>0)i=i+1|0;else{A=5;break}}else A=2;while(!1);Ae(r|0,-1,A<<2|0)|0;A:do if(n)for(s=0;;){if(l=p+(s<<4)|0,Bl(l,e[g>>2]|0)|0,l=e[l>>2]|0,f=e[r>>2]|0,(f|0)==-1|(f|0)==(l|0))i=r;else{n=0;do{if(n=n+1|0,n>>>0>=A>>>0){i=1;break A}i=r+(n<<2)|0,f=e[i>>2]|0}while(!((f|0)==-1|(f|0)==(l|0)))}if(e[i>>2]=l,s=s+1|0,s>>>0>=a>>>0){i=0;break}}else for(s=0;;){if(l=p+(s<<4)|0,Be(l,e[g>>2]|0,0,1)|0,l=e[l>>2]|0,f=e[r>>2]|0,(f|0)==-1|(f|0)==(l|0))i=r;else{n=0;do{if(n=n+1|0,n>>>0>=A>>>0){i=1;break A}i=r+(n<<2)|0,f=e[i>>2]|0}while(!((f|0)==-1|(f|0)==(l|0)))}if(e[i>>2]=l,s=s+1|0,s>>>0>=a>>>0){i=0;break}}while(!1)}return p=i,y=v,p|0}function Tl(){return 12}function Dr(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0,a=0;if(A>>>0>15)return f=4,f|0;if(sA(A|0,0,52)|0,f=b()|0|134225919,!A){r=0,i=0;do $A(i)|0&&(sA(i|0,0,45)|0,l=f|(b()|0),A=t+(r<<3)|0,e[A>>2]=-1,e[A+4>>2]=l,r=r+1|0),i=i+1|0;while((i|0)!=122);return r=0,r|0}r=0,l=0;do{if($A(l)|0){for(sA(l|0,0,45)|0,i=1,n=-1,s=f|(b()|0);a=sA(7,0,(15-i|0)*3|0)|0,n=n&~a,s=s&~(b()|0),(i|0)!=(A|0);)i=i+1|0;a=t+(r<<3)|0,e[a>>2]=n,e[a+4>>2]=s,r=r+1|0}l=l+1|0}while((l|0)!=122);return r=0,r|0}function Il(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0;if(z=y,y=y+16|0,F=z,K=eA(A|0,t|0,52)|0,b()|0,K=K&15,r>>>0>15)return K=4,y=z,K|0;if((K|0)<(r|0))return K=12,y=z,K|0;if((K|0)!=(r|0))if(s=sA(r|0,0,52)|0,s=s|A,f=b()|0|t&-15728641,(K|0)>(r|0)){a=r;do S=sA(7,0,(14-a|0)*3|0)|0,a=a+1|0,s=S|s,f=b()|0|f;while((a|0)<(K|0));S=s}else S=s;else S=A,f=t;D=eA(S|0,f|0,45)|0,b()|0;A:do if($A(D&127)|0){if(a=eA(S|0,f|0,52)|0,b()|0,a=a&15,a|0)for(s=1;;){if(D=sA(7,0,(15-s|0)*3|0)|0,!((D&S|0)==0&((b()|0)&f|0)==0)){g=33;break A}if(s>>>0<a>>>0)s=s+1|0;else break}if(D=i,e[D>>2]=0,e[D+4>>2]=0,(K|0)>(r|0)){for(D=t&-15728641,x=K;;){if(d=x,x=x+-1|0,x>>>0>15|(K|0)<(x|0)){g=19;break}if((K|0)!=(x|0))if(s=sA(x|0,0,52)|0,s=s|A,a=b()|0|D,(K|0)<(d|0))v=s;else{g=x;do v=sA(7,0,(14-g|0)*3|0)|0,g=g+1|0,s=v|s,a=b()|0|a;while((g|0)<(K|0));v=s}else v=A,a=t;if(p=eA(v|0,a|0,45)|0,b()|0,!($A(p&127)|0))s=0;else{p=eA(v|0,a|0,52)|0,b()|0,p=p&15;e:do if(!p)s=0;else for(g=1;;){if(s=eA(v|0,a|0,(15-g|0)*3|0)|0,b()|0,s=s&7,s|0)break e;if(g>>>0<p>>>0)g=g+1|0;else{s=0;break}}while(!1);s=(s|0)==0&1}if(a=eA(A|0,t|0,(15-d|0)*3|0)|0,b()|0,a=a&7,(a|0)==7){n=5,g=42;break}if(s=(s|0)!=0,(a|0)==1&s){n=5,g=42;break}if(v=a+(((a|0)!=0&s)<<31>>31)|0,v|0&&(g=K-d|0,g=Z0(7,0,g,((g|0)<0)<<31>>31)|0,p=b()|0,s?(s=l0(g|0,p|0,5,0)|0,s=EA(s|0,b()|0,-5,-1)|0,s=J0(s|0,b()|0,6,0)|0,s=EA(s|0,b()|0,1,0)|0,a=b()|0):(s=g,a=p),d=v+-1|0,d=l0(g|0,p|0,d|0,((d|0)<0)<<31>>31|0)|0,d=EA(s|0,a|0,d|0,b()|0)|0,v=b()|0,p=i,p=EA(d|0,v|0,e[p>>2]|0,e[p+4>>2]|0)|0,v=b()|0,d=i,e[d>>2]=p,e[d+4>>2]=v),(x|0)<=(r|0)){g=37;break}}if((g|0)==19)BA(27795,27122,1276,27158);else if((g|0)==37){l=i,n=e[l+4>>2]|0,l=e[l>>2]|0;break}else if((g|0)==42)return y=z,n|0}else n=0,l=0}else g=33;while(!1);A:do if((g|0)==33)if(D=i,e[D>>2]=0,e[D+4>>2]=0,(K|0)>(r|0)){for(s=K;;){if(n=eA(A|0,t|0,(15-s|0)*3|0)|0,b()|0,n=n&7,(n|0)==7){n=5;break}if(l=K-s|0,l=Z0(7,0,l,((l|0)<0)<<31>>31)|0,n=l0(l|0,b()|0,n|0,0)|0,l=b()|0,D=i,l=EA(e[D>>2]|0,e[D+4>>2]|0,n|0,l|0)|0,n=b()|0,D=i,e[D>>2]=l,e[D+4>>2]=n,s=s+-1|0,(s|0)<=(r|0))break A}return y=z,n|0}else n=0,l=0;while(!1);return He(S,f,K,F)|0&&BA(27795,27122,1236,27173),K=F,F=e[K+4>>2]|0,((n|0)>-1|(n|0)==-1&l>>>0>4294967295)&((F|0)>(n|0)|((F|0)==(n|0)?(e[K>>2]|0)>>>0>l>>>0:0))?(K=0,y=z,K|0):(BA(27795,27122,1316,27158),0)}function Ol(A,t,r,i,n,s){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0,s=s|0;var l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0;if(v=y,y=y+16|0,l=v,n>>>0>15)return s=4,y=v,s|0;if(f=eA(r|0,i|0,52)|0,b()|0,f=f&15,(f|0)>(n|0))return s=12,y=v,s|0;if(He(r,i,n,l)|0&&BA(27795,27122,1236,27173),p=l,g=e[p+4>>2]|0,!(((t|0)>-1|(t|0)==-1&A>>>0>4294967295)&((g|0)>(t|0)|((g|0)==(t|0)?(e[p>>2]|0)>>>0>A>>>0:0))))return s=2,y=v,s|0;p=n-f|0,n=sA(n|0,0,52)|0,a=b()|0|i&-15728641,g=s,e[g>>2]=n|r,e[g+4>>2]=a,g=eA(r|0,i|0,45)|0,b()|0;A:do if($A(g&127)|0){if(f|0)for(l=1;;){if(g=sA(7,0,(15-l|0)*3|0)|0,!((g&r|0)==0&((b()|0)&i|0)==0))break A;if(l>>>0<f>>>0)l=l+1|0;else break}if((p|0)<1)return s=0,y=v,s|0;for(g=f^15,i=-1,a=1,l=1;;){f=p-a|0,f=Z0(7,0,f,((f|0)<0)<<31>>31)|0,r=b()|0;do if(l)if(l=l0(f|0,r|0,5,0)|0,l=EA(l|0,b()|0,-5,-1)|0,l=J0(l|0,b()|0,6,0)|0,n=b()|0,(t|0)>(n|0)|(t|0)==(n|0)&A>>>0>l>>>0){t=EA(A|0,t|0,-1,-1)|0,t=u0(t|0,b()|0,l|0,n|0)|0,l=b()|0,d=s,D=e[d>>2]|0,d=e[d+4>>2]|0,S=(g+i|0)*3|0,x=sA(7,0,S|0)|0,d=d&~(b()|0),i=J0(t|0,l|0,f|0,r|0)|0,A=b()|0,n=EA(i|0,A|0,2,0)|0,S=sA(n|0,b()|0,S|0)|0,d=b()|0|d,n=s,e[n>>2]=S|D&~x,e[n+4>>2]=d,A=l0(i|0,A|0,f|0,r|0)|0,A=u0(t|0,l|0,A|0,b()|0)|0,l=0,t=b()|0;break}else{S=s,x=e[S>>2]|0,S=e[S+4>>2]|0,D=sA(7,0,(g+i|0)*3|0)|0,S=S&~(b()|0),l=s,e[l>>2]=x&~D,e[l+4>>2]=S,l=1;break}else x=s,n=e[x>>2]|0,x=e[x+4>>2]|0,i=(g+i|0)*3|0,d=sA(7,0,i|0)|0,x=x&~(b()|0),S=J0(A|0,t|0,f|0,r|0)|0,l=b()|0,i=sA(S|0,l|0,i|0)|0,x=b()|0|x,D=s,e[D>>2]=i|n&~d,e[D+4>>2]=x,l=l0(S|0,l|0,f|0,r|0)|0,A=u0(A|0,t|0,l|0,b()|0)|0,l=0,t=b()|0;while(!1);if((p|0)>(a|0))i=~a,a=a+1|0;else{t=0;break}}return y=v,t|0}while(!1);if((p|0)<1)return S=0,y=v,S|0;for(n=f^15,l=1;;)if(D=p-l|0,D=Z0(7,0,D,((D|0)<0)<<31>>31)|0,S=b()|0,a=s,r=e[a>>2]|0,a=e[a+4>>2]|0,f=(n-l|0)*3|0,i=sA(7,0,f|0)|0,a=a&~(b()|0),d=J0(A|0,t|0,D|0,S|0)|0,x=b()|0,f=sA(d|0,x|0,f|0)|0,a=b()|0|a,g=s,e[g>>2]=f|r&~i,e[g+4>>2]=a,S=l0(d|0,x|0,D|0,S|0)|0,A=u0(A|0,t|0,S|0,b()|0)|0,t=b()|0,(p|0)<=(l|0)){t=0;break}else l=l+1|0;return y=v,t|0}function Mr(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0;n=eA(t|0,r|0,52)|0,b()|0,n=n&15,(t|0)==0&(r|0)==0|((i|0)>15|(n|0)>(i|0))?(s=-1,t=-1,r=0,n=0):(t=un(t,r,n+1|0,i)|0,l=(b()|0)&-15728641,r=sA(i|0,0,52)|0,r=t|r,l=l|(b()|0),t=(WA(r,l)|0)==0,s=n,t=t?-1:i,n=l),l=A,e[l>>2]=r,e[l+4>>2]=n,e[A+8>>2]=s,e[A+12>>2]=t}function gn(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0;if(n=eA(A|0,t|0,52)|0,b()|0,n=n&15,s=i+8|0,e[s>>2]=n,(A|0)==0&(t|0)==0|((r|0)>15|(n|0)>(r|0))){r=i,e[r>>2]=0,e[r+4>>2]=0,e[s>>2]=-1,e[i+12>>2]=-1;return}if(A=un(A,t,n+1|0,r)|0,s=(b()|0)&-15728641,n=sA(r|0,0,52)|0,n=A|n,s=s|(b()|0),A=i,e[A>>2]=n,e[A+4>>2]=s,A=i+12|0,WA(n,s)|0){e[A>>2]=r;return}else{e[A>>2]=-1;return}}function Pr(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0;if(r=A,t=e[r>>2]|0,r=e[r+4>>2]|0,!((t|0)==0&(r|0)==0)&&(i=eA(t|0,r|0,52)|0,b()|0,i=i&15,f=sA(1,0,(i^15)*3|0)|0,t=EA(f|0,b()|0,t|0,r|0)|0,r=b()|0,f=A,e[f>>2]=t,e[f+4>>2]=r,f=A+8|0,l=e[f>>2]|0,!((i|0)<(l|0)))){for(a=A+12|0,s=i;;){if((s|0)==(l|0)){i=5;break}if(g=(s|0)==(e[a>>2]|0),n=(15-s|0)*3|0,i=eA(t|0,r|0,n|0)|0,b()|0,i=i&7,g&((i|0)==1&!0)){i=7;break}if(!((i|0)==7&!0)){i=10;break}if(g=sA(1,0,n|0)|0,t=EA(t|0,r|0,g|0,b()|0)|0,r=b()|0,g=A,e[g>>2]=t,e[g+4>>2]=r,(s|0)>(l|0))s=s+-1|0;else{i=10;break}}if((i|0)==5){g=A,e[g>>2]=0,e[g+4>>2]=0,e[f>>2]=-1,e[a>>2]=-1;return}else if((i|0)==7){l=sA(1,0,n|0)|0,l=EA(t|0,r|0,l|0,b()|0)|0,f=b()|0,g=A,e[g>>2]=l,e[g+4>>2]=f,e[a>>2]=s+-1;return}else if((i|0)==10)return}}function Ve(A){A=+A;var t=0;return t=A<0?A+6.283185307179586:A,+(A>=6.283185307179586?t+-6.283185307179586:t)}function xe(A,t){return A=A|0,t=t|0,+IA(+(+E[A>>3]-+E[t>>3]))<17453292519943298e-27?(t=+IA(+(+E[A+8>>3]-+E[t+8>>3]))<17453292519943298e-27,t|0):(t=0,t|0)}function b0(A,t){switch(A=+A,t=t|0,t|0){case 1:{A=A<0?A+6.283185307179586:A;break}case 2:{A=A>0?A+-6.283185307179586:A;break}}return+A}function Rl(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0;return n=+E[t>>3],i=+E[A>>3],s=+OA(+((n-i)*.5)),r=+OA(+((+E[t+8>>3]-+E[A+8>>3])*.5)),r=s*s+r*(+jA(+n)*+jA(+i)*r),+(+D0(+ +YA(+r),+ +YA(+(1-r)))*2)}function Ke(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0;return n=+E[t>>3],i=+E[A>>3],s=+OA(+((n-i)*.5)),r=+OA(+((+E[t+8>>3]-+E[A+8>>3])*.5)),r=s*s+r*(+jA(+n)*+jA(+i)*r),+(+D0(+ +YA(+r),+ +YA(+(1-r)))*2*6371.007180918475)}function Ll(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0;return n=+E[t>>3],i=+E[A>>3],s=+OA(+((n-i)*.5)),r=+OA(+((+E[t+8>>3]-+E[A+8>>3])*.5)),r=s*s+r*(+jA(+n)*+jA(+i)*r),+(+D0(+ +YA(+r),+ +YA(+(1-r)))*2*6371.007180918475*1e3)}function Fl(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0;return s=+E[t>>3],i=+jA(+s),n=+E[t+8>>3]-+E[A+8>>3],l=i*+OA(+n),r=+E[A>>3],+ +D0(+l,+(+OA(+s)*+jA(+r)-+jA(+n)*(i*+OA(+r))))}function Nl(A,t,r,i){A=A|0,t=+t,r=+r,i=i|0;var n=0,s=0,l=0,f=0;if(r<1e-16){e[i>>2]=e[A>>2],e[i+4>>2]=e[A+4>>2],e[i+8>>2]=e[A+8>>2],e[i+12>>2]=e[A+12>>2];return}s=t<0?t+6.283185307179586:t,s=t>=6.283185307179586?s+-6.283185307179586:s;do if(s<1e-16)t=+E[A>>3]+r,E[i>>3]=t,n=i;else{if(n=+IA(+(s+-3.141592653589793))<1e-16,t=+E[A>>3],n){t=t-r,E[i>>3]=t,n=i;break}if(l=+jA(+r),r=+OA(+r),t=l*+OA(+t)+ +jA(+s)*(r*+jA(+t)),t=t>1?1:t,t=+_o(+(t<-1?-1:t)),E[i>>3]=t,+IA(+(t+-1.5707963267948966))<1e-16){E[i>>3]=1.5707963267948966,E[i+8>>3]=0;return}if(+IA(+(t+1.5707963267948966))<1e-16){E[i>>3]=-1.5707963267948966,E[i+8>>3]=0;return}if(f=1/+jA(+t),s=r*+OA(+s)*f,r=+E[A>>3],t=f*((l-+OA(+t)*+OA(+r))/+jA(+r)),l=s>1?1:s,t=t>1?1:t,t=+E[A+8>>3]+ +D0(+(l<-1?-1:l),+(t<-1?-1:t)),t>3.141592653589793)do t=t+-6.283185307179586;while(t>3.141592653589793);if(t<-3.141592653589793)do t=t+6.283185307179586;while(t<-3.141592653589793);E[i+8>>3]=t;return}while(!1);if(+IA(+(t+-1.5707963267948966))<1e-16){E[n>>3]=1.5707963267948966,E[i+8>>3]=0;return}if(+IA(+(t+1.5707963267948966))<1e-16){E[n>>3]=-1.5707963267948966,E[i+8>>3]=0;return}if(t=+E[A+8>>3],t>3.141592653589793)do t=t+-6.283185307179586;while(t>3.141592653589793);if(t<-3.141592653589793)do t=t+6.283185307179586;while(t<-3.141592653589793);E[i+8>>3]=t}function cn(A,t){return A=A|0,t=t|0,A>>>0>15?(t=4,t|0):(E[t>>3]=+E[20656+(A<<3)>>3],t=0,t|0)}function Gl(A,t){return A=A|0,t=t|0,A>>>0>15?(t=4,t|0):(E[t>>3]=+E[20784+(A<<3)>>3],t=0,t|0)}function Ul(A,t){return A=A|0,t=t|0,A>>>0>15?(t=4,t|0):(E[t>>3]=+E[20912+(A<<3)>>3],t=0,t|0)}function zl(A,t){return A=A|0,t=t|0,A>>>0>15?(t=4,t|0):(E[t>>3]=+E[21040+(A<<3)>>3],t=0,t|0)}function _t(A,t){A=A|0,t=t|0;var r=0;return A>>>0>15?(t=4,t|0):(r=Z0(7,0,A,((A|0)<0)<<31>>31)|0,r=l0(r|0,b()|0,120,0)|0,A=b()|0,e[t>>2]=r|2,e[t+4>>2]=A,t=0,t|0)}function wn(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0;return d=+E[t>>3],p=+E[A>>3],a=+OA(+((d-p)*.5)),s=+E[t+8>>3],g=+E[A+8>>3],l=+OA(+((s-g)*.5)),f=+jA(+p),v=+jA(+d),l=a*a+l*(v*f*l),l=+D0(+ +YA(+l),+ +YA(+(1-l)))*2,a=+E[r>>3],d=+OA(+((a-d)*.5)),i=+E[r+8>>3],s=+OA(+((i-s)*.5)),n=+jA(+a),s=d*d+s*(v*n*s),s=+D0(+ +YA(+s),+ +YA(+(1-s)))*2,a=+OA(+((p-a)*.5)),i=+OA(+((g-i)*.5)),i=a*a+i*(f*n*i),i=+D0(+ +YA(+i),+ +YA(+(1-i)))*2,n=(l+s+i)*.5,+(+lr(+ +YA(+(+x0(+(n*.5))*+x0(+((n-l)*.5))*+x0(+((n-s)*.5))*+x0(+((n-i)*.5)))))*4)}function _r(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0;if(f=y,y=y+192|0,s=f+168|0,l=f,n=ae(A,t,s)|0,n|0)return r=n,y=f,r|0;if(de(A,t,l)|0&&BA(27795,27190,415,27199),t=e[l>>2]|0,(t|0)>0){if(i=+wn(l+8|0,l+8+(((t|0)!=1&1)<<4)|0,s)+0,(t|0)!=1){A=1;do n=A,A=A+1|0,i=i+ +wn(l+8+(n<<4)|0,l+8+(((A|0)%(t|0)|0)<<4)|0,s);while((A|0)<(t|0))}}else i=0;return E[r>>3]=i,r=0,y=f,r|0}function Yl(A,t,r){return A=A|0,t=t|0,r=r|0,A=_r(A,t,r)|0,A|0||(E[r>>3]=+E[r>>3]*6371.007180918475*6371.007180918475),A|0}function jl(A,t,r){return A=A|0,t=t|0,r=r|0,A=_r(A,t,r)|0,A|0||(E[r>>3]=+E[r>>3]*6371.007180918475*6371.007180918475*1e3*1e3),A|0}function Hl(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0;if(f=y,y=y+176|0,l=f,A=Pt(A,t,l)|0,A|0)return l=A,y=f,l|0;if(E[r>>3]=0,A=e[l>>2]|0,(A|0)<=1)return l=0,y=f,l|0;t=A+-1|0,A=0,i=+E[l+8>>3],n=+E[l+16>>3],s=0;do A=A+1|0,g=i,i=+E[l+8+(A<<4)>>3],p=+OA(+((i-g)*.5)),a=n,n=+E[l+8+(A<<4)+8>>3],a=+OA(+((n-a)*.5)),a=p*p+a*(+jA(+i)*+jA(+g)*a),s=s+ +D0(+ +YA(+a),+ +YA(+(1-a)))*2;while((A|0)<(t|0));return E[r>>3]=s,l=0,y=f,l|0}function Vl(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0;if(f=y,y=y+176|0,l=f,A=Pt(A,t,l)|0,A|0)return l=A,s=+E[r>>3],s=s*6371.007180918475,E[r>>3]=s,y=f,l|0;if(E[r>>3]=0,A=e[l>>2]|0,(A|0)<=1)return l=0,s=0,s=s*6371.007180918475,E[r>>3]=s,y=f,l|0;t=A+-1|0,A=0,i=+E[l+8>>3],n=+E[l+16>>3],s=0;do A=A+1|0,g=i,i=+E[l+8+(A<<4)>>3],p=+OA(+((i-g)*.5)),a=n,n=+E[l+8+(A<<4)+8>>3],a=+OA(+((n-a)*.5)),a=p*p+a*(+jA(+g)*+jA(+i)*a),s=s+ +D0(+ +YA(+a),+ +YA(+(1-a)))*2;while((A|0)!=(t|0));return E[r>>3]=s,l=0,p=s,p=p*6371.007180918475,E[r>>3]=p,y=f,l|0}function Kl(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0;if(f=y,y=y+176|0,l=f,A=Pt(A,t,l)|0,A|0)return l=A,s=+E[r>>3],s=s*6371.007180918475,s=s*1e3,E[r>>3]=s,y=f,l|0;if(E[r>>3]=0,A=e[l>>2]|0,(A|0)<=1)return l=0,s=0,s=s*6371.007180918475,s=s*1e3,E[r>>3]=s,y=f,l|0;t=A+-1|0,A=0,i=+E[l+8>>3],n=+E[l+16>>3],s=0;do A=A+1|0,g=i,i=+E[l+8+(A<<4)>>3],p=+OA(+((i-g)*.5)),a=n,n=+E[l+8+(A<<4)+8>>3],a=+OA(+((n-a)*.5)),a=p*p+a*(+jA(+g)*+jA(+i)*a),s=s+ +D0(+ +YA(+a),+ +YA(+(1-a)))*2;while((A|0)!=(t|0));return E[r>>3]=s,l=0,p=s,p=p*6371.007180918475,p=p*1e3,E[r>>3]=p,y=f,l|0}function ql(A){A=A|0;var t=0,r=0,i=0;return t=v0(1,12)|0,t||BA(27280,27235,49,27293),r=A+4|0,i=e[r>>2]|0,i|0?(i=i+8|0,e[i>>2]=t,e[r>>2]=t,t|0):(e[A>>2]|0&&BA(27310,27235,61,27333),i=A,e[i>>2]=t,e[r>>2]=t,t|0)}function Wl(A,t){A=A|0,t=t|0;var r=0,i=0;return i=L0(24)|0,i||BA(27347,27235,78,27361),e[i>>2]=e[t>>2],e[i+4>>2]=e[t+4>>2],e[i+8>>2]=e[t+8>>2],e[i+12>>2]=e[t+12>>2],e[i+16>>2]=0,t=A+4|0,r=e[t>>2]|0,r|0?(e[r+16>>2]=i,e[t>>2]=i,i|0):(e[A>>2]|0&&BA(27376,27235,82,27361),e[A>>2]=i,e[t>>2]=i,i|0)}function pn(A){A=A|0;var t=0,r=0,i=0,n=0;if(A)for(i=1;;){if(t=e[A>>2]|0,t|0)do{if(r=e[t>>2]|0,r|0)do n=r,r=e[r+16>>2]|0,yA(n);while((r|0)!=0);n=t,t=e[t+8>>2]|0,yA(n)}while((t|0)!=0);if(t=A,A=e[A+8>>2]|0,i||yA(t),A)i=0;else break}}function Xl(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0,nA=0,cA=0,uA=0,DA=0,PA=0,LA=0,kA=0,wA=0,iA=0,SA=0,KA=0,_A=0;if(n=A+8|0,e[n>>2]|0)return _A=1,_A|0;if(i=e[A>>2]|0,!i)return _A=0,_A|0;t=i,r=0;do r=r+1|0,t=e[t+8>>2]|0;while((t|0)!=0);if(r>>>0<2)return _A=0,_A|0;SA=L0(r<<2)|0,SA||BA(27396,27235,317,27415),iA=L0(r<<5)|0,iA||BA(27437,27235,321,27415),e[A>>2]=0,cA=A+4|0,e[cA>>2]=0,e[n>>2]=0,r=0,wA=0,nA=0,v=0;A:for(;;){if(p=e[i>>2]|0,p){s=0,l=p;do{if(a=+E[l+8>>3],t=l,l=e[l+16>>2]|0,g=(l|0)==0,n=g?p:l,f=+E[n+8>>3],+IA(+(a-f))>3.141592653589793){_A=14;break}s=s+(f-a)*(+E[t>>3]+ +E[n>>3])}while(!g);if((_A|0)==14){_A=0,s=0,t=p;do T=+E[t+8>>3],kA=t+16|0,LA=e[kA>>2]|0,LA=(LA|0)==0?p:LA,G=+E[LA+8>>3],s=s+(+E[t>>3]+ +E[LA>>3])*((G<0?G+6.283185307179586:G)-(T<0?T+6.283185307179586:T)),t=e[((t|0)==0?i:kA)>>2]|0;while((t|0)!=0)}s>0?(e[SA+(wA<<2)>>2]=i,wA=wA+1|0,n=nA,t=v):_A=19}else _A=19;if((_A|0)==19){_A=0;do if(r){if(t=r+8|0,e[t>>2]|0){_A=21;break A}if(r=v0(1,12)|0,!r){_A=23;break A}e[t>>2]=r,n=r+4|0,l=r,t=v}else if(v){n=cA,l=v+8|0,t=i,r=A;break}else if(e[A>>2]|0){_A=27;break A}else{n=cA,l=A,t=i,r=A;break}while(!1);if(e[l>>2]=i,e[n>>2]=i,l=iA+(nA<<5)|0,g=e[i>>2]|0,g){for(p=iA+(nA<<5)+8|0,E[p>>3]=17976931348623157e292,v=iA+(nA<<5)+24|0,E[v>>3]=17976931348623157e292,E[l>>3]=-17976931348623157e292,d=iA+(nA<<5)+16|0,E[d>>3]=-17976931348623157e292,K=17976931348623157e292,z=-17976931348623157e292,n=0,x=g,a=17976931348623157e292,S=17976931348623157e292,F=-17976931348623157e292,f=-17976931348623157e292;s=+E[x>>3],T=+E[x+8>>3],x=e[x+16>>2]|0,D=(x|0)==0,G=+E[(D?g:x)+8>>3],s<a&&(E[p>>3]=s,a=s),T<S&&(E[v>>3]=T,S=T),s>F?E[l>>3]=s:s=F,T>f&&(E[d>>3]=T,f=T),K=T>0&T<K?T:K,z=T<0&T>z?T:z,n=n|+IA(+(T-G))>3.141592653589793,!D;)F=s;n&&(E[d>>3]=z,E[v>>3]=K)}else e[l>>2]=0,e[l+4>>2]=0,e[l+8>>2]=0,e[l+12>>2]=0,e[l+16>>2]=0,e[l+20>>2]=0,e[l+24>>2]=0,e[l+28>>2]=0;n=nA+1|0}if(kA=i+8|0,i=e[kA>>2]|0,e[kA>>2]=0,i)nA=n,v=t;else{_A=45;break}}if((_A|0)==21)BA(27213,27235,35,27247);else if((_A|0)==23)BA(27267,27235,37,27247);else if((_A|0)==27)BA(27310,27235,61,27333);else if((_A|0)==45){A:do if((wA|0)>0){for(kA=(n|0)==0,PA=n<<2,LA=(A|0)==0,DA=0,t=0;;){if(uA=e[SA+(DA<<2)>>2]|0,kA)_A=73;else{if(nA=L0(PA)|0,!nA){_A=50;break}if(cA=L0(PA)|0,!cA){_A=52;break}e:do if(LA)r=0;else{for(n=0,r=0,l=A;i=iA+(n<<5)|0,mn(e[l>>2]|0,i,e[uA>>2]|0)|0?(e[nA+(r<<2)>>2]=l,e[cA+(r<<2)>>2]=i,D=r+1|0):D=r,l=e[l+8>>2]|0,l;)n=n+1|0,r=D;if((D|0)>0)if(i=e[nA>>2]|0,(D|0)==1)r=i;else for(d=0,x=-1,r=i,v=i;;){for(g=e[v>>2]|0,i=0,l=0;n=e[e[nA+(l<<2)>>2]>>2]|0,(n|0)==(g|0)?p=i:p=i+((mn(n,e[cA+(l<<2)>>2]|0,e[g>>2]|0)|0)&1)|0,l=l+1|0,(l|0)!=(D|0);)i=p;if(n=(p|0)>(x|0),r=n?v:r,i=d+1|0,(i|0)==(D|0))break e;d=i,x=n?p:x,v=e[nA+(i<<2)>>2]|0}else r=0}while(!1);if(yA(nA),yA(cA),r){if(n=r+4|0,i=e[n>>2]|0,i)r=i+8|0;else if(e[r>>2]|0){_A=70;break}e[r>>2]=uA,e[n>>2]=uA}else _A=73}if((_A|0)==73){if(_A=0,t=e[uA>>2]|0,t|0)do cA=t,t=e[t+16>>2]|0,yA(cA);while((t|0)!=0);yA(uA),t=1}if(DA=DA+1|0,(DA|0)>=(wA|0)){KA=t;break A}}(_A|0)==50?BA(27452,27235,249,27471):(_A|0)==52?BA(27490,27235,252,27471):(_A|0)==70&&BA(27310,27235,61,27333)}else KA=0;while(!1);return yA(SA),yA(iA),_A=KA,_A|0}return 0}function mn(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0;if(!(cr(t,r)|0)||(t=Wi(t)|0,i=+E[r>>3],n=+E[r+8>>3],n=t&n<0?n+6.283185307179586:n,A=e[A>>2]|0,!A))return A=0,A|0;if(t){t=0,g=n,r=A;A:for(;;){for(;l=+E[r>>3],n=+E[r+8>>3],r=r+16|0,p=e[r>>2]|0,p=(p|0)==0?A:p,s=+E[p>>3],f=+E[p+8>>3],l>s?(a=l,l=f):(a=s,s=l,l=n,n=f),i=i==s|i==a?i+2220446049250313e-31:i,!!(i<s|i>a);)if(r=e[r>>2]|0,!r){r=22;break A}if(f=l<0?l+6.283185307179586:l,l=n<0?n+6.283185307179586:n,g=f==g|l==g?g+-2220446049250313e-31:g,a=f+(l-f)*((i-s)/(a-s)),(a<0?a+6.283185307179586:a)>g&&(t=t^1),r=e[r>>2]|0,!r){r=22;break}}if((r|0)==22)return t|0}else{t=0,g=n,r=A;A:for(;;){for(;l=+E[r>>3],n=+E[r+8>>3],r=r+16|0,p=e[r>>2]|0,p=(p|0)==0?A:p,s=+E[p>>3],f=+E[p+8>>3],l>s?(a=l,l=f):(a=s,s=l,l=n,n=f),i=i==s|i==a?i+2220446049250313e-31:i,!!(i<s|i>a);)if(r=e[r>>2]|0,!r){r=22;break A}if(g=l==g|n==g?g+-2220446049250313e-31:g,l+(n-l)*((i-s)/(a-s))>g&&(t=t^1),r=e[r>>2]|0,!r){r=22;break}}if((r|0)==22)return t|0}return 0}function Y0(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0;if(z=y,y=y+32|0,K=z+16|0,F=z,s=eA(A|0,t|0,52)|0,b()|0,s=s&15,x=eA(r|0,i|0,52)|0,b()|0,(s|0)!=(x&15|0))return K=12,y=z,K|0;if(g=eA(A|0,t|0,45)|0,b()|0,g=g&127,p=eA(r|0,i|0,45)|0,b()|0,p=p&127,g>>>0>121|p>>>0>121)return K=5,y=z,K|0;if(x=(g|0)!=(p|0),x){if(f=gr(g,p)|0,(f|0)==7)return K=1,y=z,K|0;a=gr(p,g)|0,(a|0)==7?BA(27514,27538,161,27548):(D=f,l=a)}else D=0,l=0;v=$A(g)|0,d=$A(p)|0,e[K>>2]=0,e[K+4>>2]=0,e[K+8>>2]=0,e[K+12>>2]=0;do if(D){if(p=e[4272+(g*28|0)+(D<<2)>>2]|0,f=(p|0)>0,d)if(f){g=0,a=r,f=i;do a=_l(a,f)|0,f=b()|0,l=X0(l)|0,(l|0)==1&&(l=X0(1)|0),g=g+1|0;while((g|0)!=(p|0));p=l,g=a,a=f}else p=l,g=r,a=i;else if(f){g=0,a=r,f=i;do a=Cr(a,f)|0,f=b()|0,l=X0(l)|0,g=g+1|0;while((g|0)!=(p|0));p=l,g=a,a=f}else p=l,g=r,a=i;if(xr(g,a,K)|0,x||BA(27563,27538,191,27548),f=(v|0)!=0,l=(d|0)!=0,f&l&&BA(27590,27538,192,27548),f){if(l=y0(A,t)|0,(l|0)==7){s=5;break}if(tA[22e3+(l*7|0)+D>>0]|0){s=1;break}a=e[21168+(l*28|0)+(D<<2)>>2]|0,g=a}else if(l){if(l=y0(g,a)|0,(l|0)==7){s=5;break}if(tA[22e3+(l*7|0)+p>>0]|0){s=1;break}g=0,a=e[21168+(p*28|0)+(l<<2)>>2]|0}else g=0,a=0;if((g|a|0)<0)s=5;else{if((a|0)>0){f=K+4|0,l=0;do Mt(f),l=l+1|0;while((l|0)!=(a|0))}if(e[F>>2]=0,e[F+4>>2]=0,e[F+8>>2]=0,en(F,D),s|0)for(;M0(s)|0?Dt(F):fe(F),(s|0)>1;)s=s+-1|0;if((g|0)>0){s=0;do Mt(F),s=s+1|0;while((s|0)!=(g|0))}S=K+4|0,c0(S,F,S),a0(S),S=51}}else if(xr(r,i,K)|0,(v|0)!=0&(d|0)!=0)if((p|0)!=(g|0)&&BA(27621,27538,261,27548),l=y0(A,t)|0,s=y0(r,i)|0,(l|0)==7|(s|0)==7)s=5;else if(tA[22e3+(l*7|0)+s>>0]|0)s=1;else if(l=e[21168+(l*28|0)+(s<<2)>>2]|0,(l|0)>0){f=K+4|0,s=0;do Mt(f),s=s+1|0;while((s|0)!=(l|0));S=51}else S=51;else S=51;while(!1);return(S|0)==51&&(s=K+4|0,e[n>>2]=e[s>>2],e[n+4>>2]=e[s+4>>2],e[n+8>>2]=e[s+8>>2],s=0),K=s,y=z,K|0}function En(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0;if(S=y,y=y+48|0,g=S+36|0,l=S+24|0,f=S+12|0,a=S,n=eA(A|0,t|0,52)|0,b()|0,n=n&15,d=eA(A|0,t|0,45)|0,b()|0,d=d&127,d>>>0>121)return i=5,y=S,i|0;if(p=$A(d)|0,sA(n|0,0,52)|0,F=b()|0|134225919,s=i,e[s>>2]=-1,e[s+4>>2]=F,!n)return n=xt(r)|0,(n|0)==7||(n=ar(d,n)|0,(n|0)==127)?(F=1,y=S,F|0):(x=sA(n|0,0,45)|0,D=b()|0,d=i,D=e[d+4>>2]&-1040385|D,F=i,e[F>>2]=e[d>>2]|x,e[F+4>>2]=D,F=0,y=S,F|0);for(e[g>>2]=e[r>>2],e[g+4>>2]=e[r+4>>2],e[g+8>>2]=e[r+8>>2],r=n;;){if(s=r,r=r+-1|0,e[l>>2]=e[g>>2],e[l+4>>2]=e[g+4>>2],e[l+8>>2]=e[g+8>>2],M0(s)|0){if(n=sl(g)|0,n|0){r=13;break}e[f>>2]=e[g>>2],e[f+4>>2]=e[g+4>>2],e[f+8>>2]=e[g+8>>2],Dt(f)}else{if(n=ol(g)|0,n|0){r=13;break}e[f>>2]=e[g>>2],e[f+4>>2]=e[g+4>>2],e[f+8>>2]=e[g+8>>2],fe(f)}if(pr(l,f,a),a0(a),n=i,z=e[n>>2]|0,n=e[n+4>>2]|0,G=(15-s|0)*3|0,K=sA(7,0,G|0)|0,n=n&~(b()|0),G=sA(xt(a)|0,0,G|0)|0,n=b()|0|n,F=i,e[F>>2]=G|z&~K,e[F+4>>2]=n,(s|0)<=1){r=14;break}}A:do if((r|0)!=13&&(r|0)==14)if((e[g>>2]|0)<=1&&(e[g+4>>2]|0)<=1&&(e[g+8>>2]|0)<=1){r=xt(g)|0,n=ar(d,r)|0,(n|0)==127?a=0:a=$A(n)|0;e:do if(r){if(p){if(n=y0(A,t)|0,(n|0)==7){n=5;break A}if(s=e[21376+(n*28|0)+(r<<2)>>2]|0,(s|0)>0){n=r,r=0;do n=ue(n)|0,r=r+1|0;while((r|0)!=(s|0))}else n=r;if((n|0)==1){n=9;break A}r=ar(d,n)|0,(r|0)==127&&BA(27648,27538,411,27678),$A(r)|0?BA(27693,27538,412,27678):(D=r,x=s,v=n)}else D=n,x=0,v=r;if(f=e[4272+(d*28|0)+(v<<2)>>2]|0,(f|0)<=-1&&BA(27724,27538,419,27678),!a){if((x|0)<0){n=5;break A}if(x|0){s=i,n=0,r=e[s>>2]|0,s=e[s+4>>2]|0;do r=he(r,s)|0,s=b()|0,G=i,e[G>>2]=r,e[G+4>>2]=s,n=n+1|0;while((n|0)<(x|0))}if((f|0)<=0){n=D,r=58;break}for(s=i,n=0,r=e[s>>2]|0,s=e[s+4>>2]|0;;)if(r=he(r,s)|0,s=b()|0,G=i,e[G>>2]=r,e[G+4>>2]=s,n=n+1|0,(n|0)==(f|0)){n=D,r=58;break e}}if(l=gr(D,d)|0,(l|0)==7&&BA(27514,27538,428,27678),n=i,r=e[n>>2]|0,n=e[n+4>>2]|0,(f|0)>0){s=0;do r=he(r,n)|0,n=b()|0,G=i,e[G>>2]=r,e[G+4>>2]=n,s=s+1|0;while((s|0)!=(f|0))}if(n=y0(r,n)|0,(n|0)==7&&BA(27795,27538,440,27678),r=hr(D)|0,r=e[(r?21792:21584)+(l*28|0)+(n<<2)>>2]|0,(r|0)<0&&BA(27795,27538,454,27678),!r)n=D,r=58;else{l=i,n=0,s=e[l>>2]|0,l=e[l+4>>2]|0;do s=Br(s,l)|0,l=b()|0,G=i,e[G>>2]=s,e[G+4>>2]=l,n=n+1|0;while((n|0)<(r|0));n=D,r=58}}else if((p|0)!=0&(a|0)!=0){if(r=y0(A,t)|0,s=i,s=y0(e[s>>2]|0,e[s+4>>2]|0)|0,(r|0)==7|(s|0)==7){n=5;break A}if(s=e[21376+(r*28|0)+(s<<2)>>2]|0,(s|0)<0){n=5;break A}if(!s)r=59;else{f=i,r=0,l=e[f>>2]|0,f=e[f+4>>2]|0;do l=he(l,f)|0,f=b()|0,G=i,e[G>>2]=l,e[G+4>>2]=f,r=r+1|0;while((r|0)<(s|0));r=58}}else r=58;while(!1);if((r|0)==58&&a&&(r=59),(r|0)==59&&(G=i,(y0(e[G>>2]|0,e[G+4>>2]|0)|0)==1)){n=9;break}G=i,K=e[G>>2]|0,G=e[G+4>>2]&-1040385,z=sA(n|0,0,45)|0,G=G|(b()|0),n=i,e[n>>2]=K|z,e[n+4>>2]=G,n=0}else n=1;while(!1);return G=n,y=S,G|0}function Zl(A,t,r,i,n,s){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0,s=s|0;var l=0,f=0;return f=y,y=y+16|0,l=f,n?A=15:(A=Y0(A,t,r,i,l)|0,A||(fl(l,s),A=0)),y=f,A|0}function $l(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0;return l=y,y=y+16|0,s=l,i?r=15:(r=ul(r,s)|0,r||(r=En(A,t,s,n)|0)),y=l,r|0}function Jl(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0;return a=y,y=y+32|0,l=a+12|0,f=a,s=Y0(A,t,A,t,l)|0,s|0?(f=s,y=a,f|0):(A=Y0(A,t,r,i,f)|0,A|0?(f=A,y=a,f|0):(l=mr(l,f)|0,f=n,e[f>>2]=l,e[f+4>>2]=((l|0)<0)<<31>>31,f=0,y=a,f|0))}function A1(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0;return a=y,y=y+32|0,l=a+12|0,f=a,s=Y0(A,t,A,t,l)|0,!s&&(s=Y0(A,t,r,i,f)|0,!s)?(i=mr(l,f)|0,i=EA(i|0,((i|0)<0)<<31>>31|0,1,0)|0,l=b()|0,f=n,e[f>>2]=i,e[f+4>>2]=l,f=0,y=a,f|0):(f=s,y=a,f|0)}function e1(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0,nA=0,cA=0,uA=0,DA=0;if(uA=y,y=y+48|0,nA=uA+24|0,l=uA+12|0,cA=uA,s=Y0(A,t,A,t,nA)|0,!s&&(s=Y0(A,t,r,i,l)|0,!s)){G=mr(nA,l)|0,T=((G|0)<0)<<31>>31,e[nA>>2]=0,e[nA+4>>2]=0,e[nA+8>>2]=0,e[l>>2]=0,e[l+4>>2]=0,e[l+8>>2]=0,Y0(A,t,A,t,nA)|0&&BA(27795,27538,692,27747),Y0(A,t,r,i,l)|0&&BA(27795,27538,697,27747),sn(nA),sn(l),p=(G|0)==0?0:1/+(G|0),r=e[nA>>2]|0,S=p*+((e[l>>2]|0)-r|0),F=nA+4|0,i=e[F>>2]|0,K=p*+((e[l+4>>2]|0)-i|0),z=nA+8|0,s=e[z>>2]|0,p=p*+((e[l+8>>2]|0)-s|0),e[cA>>2]=r,v=cA+4|0,e[v>>2]=i,d=cA+8|0,e[d>>2]=s;A:do if((G|0)<0)s=0;else for(x=0,D=0;;){a=+(D>>>0)+4294967296*+(x|0),DA=S*a+ +(r|0),f=K*a+ +(i|0),a=p*a+ +(s|0),r=~~+It(+DA),l=~~+It(+f),s=~~+It(+a),DA=+IA(+(+(r|0)-DA)),f=+IA(+(+(l|0)-f)),a=+IA(+(+(s|0)-a));do if(DA>f&DA>a)r=0-(l+s)|0,i=l;else if(g=0-r|0,f>a){i=g-s|0;break}else{i=l,s=g-l|0;break}while(!1);if(e[cA>>2]=r,e[v>>2]=i,e[d>>2]=s,hl(cA),s=En(A,t,cA,n+(D<<3)|0)|0,s|0)break A;if(!((x|0)<(T|0)|(x|0)==(T|0)&D>>>0<G>>>0)){s=0;break A}r=EA(D|0,x|0,1,0)|0,i=b()|0,x=i,D=r,r=e[nA>>2]|0,i=e[F>>2]|0,s=e[z>>2]|0}while(!1);return cA=s,y=uA,cA|0}return cA=s,y=uA,cA|0}function Z0(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0;if((r|0)==0&(i|0)==0)return n=0,s=1,MA(n|0),s|0;s=A,n=t,A=1,t=0;do l=(r&1|0)==0&!0,A=l0((l?1:s)|0,(l?0:n)|0,A|0,t|0)|0,t=b()|0,r=_n(r|0,i|0,1)|0,i=b()|0,s=l0(s|0,n|0,s|0,n|0)|0,n=b()|0;while(!((r|0)==0&(i|0)==0));return MA(t|0),A|0}function Qr(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0;f=y,y=y+16|0,s=f,l=eA(A|0,t|0,52)|0,b()|0,l=l&15;do if(l){if(n=ae(A,t,s)|0,!n){g=+E[s>>3],a=1/+jA(+g),p=+E[25968+(l<<3)>>3],E[r>>3]=g+p,E[r+8>>3]=g-p,g=+E[s+8>>3],a=p*a,E[r+16>>3]=a+g,E[r+24>>3]=g-a;break}return l=n,y=f,l|0}else{if(n=eA(A|0,t|0,45)|0,b()|0,n=n&127,n>>>0>121)return l=5,y=f,l|0;s=22064+(n<<5)|0,e[r>>2]=e[s>>2],e[r+4>>2]=e[s+4>>2],e[r+8>>2]=e[s+8>>2],e[r+12>>2]=e[s+12>>2],e[r+16>>2]=e[s+16>>2],e[r+20>>2]=e[s+20>>2],e[r+24>>2]=e[s+24>>2],e[r+28>>2]=e[s+28>>2];break}while(!1);return rl(r,i?1.4:1.1),i=26096+(l<<3)|0,(e[i>>2]|0)==(A|0)&&(e[i+4>>2]|0)==(t|0)&&(E[r>>3]=1.5707963267948966),l=26224+(l<<3)|0,(e[l>>2]|0)==(A|0)&&(e[l+4>>2]|0)==(t|0)&&(E[r+8>>3]=-1.5707963267948966),+E[r>>3]!=1.5707963267948966&&+E[r+8>>3]!=-1.5707963267948966?(l=0,y=f,l|0):(E[r+16>>3]=3.141592653589793,E[r+24>>3]=-3.141592653589793,l=0,y=f,l|0)}function t1(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0;g=y,y=y+48|0,l=g+32|0,s=g+40|0,f=g,br(l,0,0,0),a=e[l>>2]|0,l=e[l+4>>2]|0;do if(r>>>0<=15){if(n=We(i)|0,n|0){i=f,e[i>>2]=0,e[i+4>>2]=0,e[f+8>>2]=n,e[f+12>>2]=-1,i=f+16|0,a=f+29|0,e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,tA[i+12>>0]=0,tA[a>>0]=tA[s>>0]|0,tA[a+1>>0]=tA[s+1>>0]|0,tA[a+2>>0]=tA[s+2>>0]|0;break}if(n=v0((e[t+8>>2]|0)+1|0,32)|0,n){Sr(t,n),p=f,e[p>>2]=a,e[p+4>>2]=l,e[f+8>>2]=0,e[f+12>>2]=r,e[f+16>>2]=i,e[f+20>>2]=t,e[f+24>>2]=n,tA[f+28>>0]=0,a=f+29|0,tA[a>>0]=tA[s>>0]|0,tA[a+1>>0]=tA[s+1>>0]|0,tA[a+2>>0]=tA[s+2>>0]|0;break}else{i=f,e[i>>2]=0,e[i+4>>2]=0,e[f+8>>2]=13,e[f+12>>2]=-1,i=f+16|0,a=f+29|0,e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,tA[i+12>>0]=0,tA[a>>0]=tA[s>>0]|0,tA[a+1>>0]=tA[s+1>>0]|0,tA[a+2>>0]=tA[s+2>>0]|0;break}}else a=f,e[a>>2]=0,e[a+4>>2]=0,e[f+8>>2]=4,e[f+12>>2]=-1,a=f+16|0,p=f+29|0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,tA[a+12>>0]=0,tA[p>>0]=tA[s>>0]|0,tA[p+1>>0]=tA[s+1>>0]|0,tA[p+2>>0]=tA[s+2>>0]|0;while(!1);Qt(f),e[A>>2]=e[f>>2],e[A+4>>2]=e[f+4>>2],e[A+8>>2]=e[f+8>>2],e[A+12>>2]=e[f+12>>2],e[A+16>>2]=e[f+16>>2],e[A+20>>2]=e[f+20>>2],e[A+24>>2]=e[f+24>>2],e[A+28>>2]=e[f+28>>2],y=g}function Qt(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0;if(T=y,y=y+336|0,x=T+168|0,D=T,i=A,r=e[i>>2]|0,i=e[i+4>>2]|0,(r|0)==0&(i|0)==0){y=T;return}if(t=A+28|0,tA[t>>0]|0?(r=yn(r,i)|0,i=b()|0):tA[t>>0]=1,G=A+20|0,!(e[e[G>>2]>>2]|0)){t=A+24|0,r=e[t>>2]|0,r|0&&yA(r),z=A,e[z>>2]=0,e[z+4>>2]=0,e[A+8>>2]=0,e[G>>2]=0,e[A+12>>2]=-1,e[A+16>>2]=0,e[t>>2]=0,y=T;return}z=A+16|0,t=e[z>>2]|0,n=t&15;A:do if((r|0)==0&(i|0)==0)K=A+24|0;else{S=A+12|0,v=(n|0)==3,p=t&255,a=(n|1|0)==3,d=A+24|0,g=(n+-1|0)>>>0<3,l=(n|2|0)==3,f=D+8|0;e:for(;;){if(s=eA(r|0,i|0,52)|0,b()|0,s=s&15,(s|0)==(e[S>>2]|0)){switch(p&15){case 0:case 2:case 3:{if(n=ae(r,i,x)|0,n|0){F=15;break e}if(Tr(e[G>>2]|0,e[d>>2]|0,x)|0){F=19;break e}break}}if(a&&(n=e[(e[G>>2]|0)+4>>2]|0,e[x>>2]=e[n>>2],e[x+4>>2]=e[n+4>>2],e[x+8>>2]=e[n+8>>2],e[x+12>>2]=e[n+12>>2],cr(26832,x)|0)){if(dr(e[(e[G>>2]|0)+4>>2]|0,s,D)|0){F=25;break}if(n=D,(e[n>>2]|0)==(r|0)&&(e[n+4>>2]|0)==(i|0)){F=29;break}}if(g){if(n=de(r,i,x)|0,n|0){F=32;break}if(Qr(r,i,D,0)|0){F=36;break}if(l&&bn(e[G>>2]|0,e[d>>2]|0,x,D)|0){F=42;break}if(a&&kn(e[G>>2]|0,e[d>>2]|0,x,D)|0){F=42;break}}if(v){if(t=Qr(r,i,x,1)|0,n=e[d>>2]|0,t|0){F=45;break}if(wr(n,x)|0){if(Zi(D,x),Xi(x,e[d>>2]|0)|0){F=53;break}if(Tr(e[G>>2]|0,e[d>>2]|0,f)|0){F=53;break}if(kn(e[G>>2]|0,e[d>>2]|0,D,x)|0){F=53;break}}}}do if((s|0)<(e[S>>2]|0)){if(t=Qr(r,i,x,1)|0,n=e[d>>2]|0,t|0){F=58;break e}if(!(wr(n,x)|0)){F=73;break}if(Xi(e[d>>2]|0,x)|0&&(Zi(D,x),bn(e[G>>2]|0,e[d>>2]|0,D,x)|0)){F=65;break e}if(r=hn(r,i,s+1|0,D)|0,r|0){F=67;break e}i=D,r=e[i>>2]|0,i=e[i+4>>2]|0}else F=73;while(!1);if((F|0)==73&&(F=0,r=yn(r,i)|0,i=b()|0),(r|0)==0&(i|0)==0){K=d;break A}}switch(F|0){case 15:{t=e[d>>2]|0,t|0&&yA(t),F=A,e[F>>2]=0,e[F+4>>2]=0,e[G>>2]=0,e[S>>2]=-1,e[z>>2]=0,e[d>>2]=0,e[A+8>>2]=n,F=20;break}case 19:{e[A>>2]=r,e[A+4>>2]=i,F=20;break}case 25:{BA(27795,27761,470,27772);break}case 29:{e[A>>2]=r,e[A+4>>2]=i,y=T;return}case 32:{t=e[d>>2]|0,t|0&&yA(t),K=A,e[K>>2]=0,e[K+4>>2]=0,e[G>>2]=0,e[S>>2]=-1,e[z>>2]=0,e[d>>2]=0,e[A+8>>2]=n,y=T;return}case 36:{BA(27795,27761,493,27772);break}case 42:{e[A>>2]=r,e[A+4>>2]=i,y=T;return}case 45:{n|0&&yA(n),F=A,e[F>>2]=0,e[F+4>>2]=0,e[G>>2]=0,e[S>>2]=-1,e[z>>2]=0,e[d>>2]=0,e[A+8>>2]=t,F=55;break}case 53:{e[A>>2]=r,e[A+4>>2]=i,F=55;break}case 58:{n|0&&yA(n),F=A,e[F>>2]=0,e[F+4>>2]=0,e[G>>2]=0,e[S>>2]=-1,e[z>>2]=0,e[d>>2]=0,e[A+8>>2]=t,F=71;break}case 65:{e[A>>2]=r,e[A+4>>2]=i,F=71;break}case 67:{t=e[d>>2]|0,t|0&&yA(t),K=A,e[K>>2]=0,e[K+4>>2]=0,e[G>>2]=0,e[S>>2]=-1,e[z>>2]=0,e[d>>2]=0,e[A+8>>2]=r,y=T;return}}if((F|0)==20){y=T;return}else if((F|0)==55){y=T;return}else if((F|0)==71){y=T;return}}while(!1);t=e[K>>2]|0,t|0&&yA(t),F=A,e[F>>2]=0,e[F+4>>2]=0,e[A+8>>2]=0,e[G>>2]=0,e[A+12>>2]=-1,e[z>>2]=0,e[K>>2]=0,y=T}function yn(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0;v=y,y=y+16|0,p=v,i=eA(A|0,t|0,52)|0,b()|0,i=i&15,r=eA(A|0,t|0,45)|0,b()|0;do if(i){for(;r=sA(i+4095|0,0,52)|0,n=b()|0|t&-15728641,s=(15-i|0)*3|0,l=sA(7,0,s|0)|0,f=b()|0,r=r|A|l,n=n|f,a=eA(A|0,t|0,s|0)|0,b()|0,a=a&7,i=i+-1|0,!(a>>>0<6);)if(i)t=n,A=r;else{g=4;break}if((g|0)==4){r=eA(r|0,n|0,45)|0,b()|0;break}return p=(a|0)==0&(WA(r,n)|0)!=0,p=sA((p?2:1)+a|0,0,s|0)|0,g=b()|0|t&~f,p=p|A&~l,MA(g|0),y=v,p|0}while(!1);return r=r&127,r>>>0>120?(g=0,p=0,MA(g|0),y=v,p|0):(br(p,0,r+1|0,0),g=e[p+4>>2]|0,p=e[p>>2]|0,MA(g|0),y=v,p|0)}function r1(A,t,r,i,n,s){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0,s=s|0;var l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0;F=y,y=y+160|0,v=F+80|0,f=F+64|0,d=F+112|0,S=F,t1(v,A,t,r),g=v,Mr(f,e[g>>2]|0,e[g+4>>2]|0,t),g=f,a=e[g>>2]|0,g=e[g+4>>2]|0,l=e[v+8>>2]|0,x=d+4|0,e[x>>2]=e[v>>2],e[x+4>>2]=e[v+4>>2],e[x+8>>2]=e[v+8>>2],e[x+12>>2]=e[v+12>>2],e[x+16>>2]=e[v+16>>2],e[x+20>>2]=e[v+20>>2],e[x+24>>2]=e[v+24>>2],e[x+28>>2]=e[v+28>>2],x=S,e[x>>2]=a,e[x+4>>2]=g,x=S+8|0,e[x>>2]=l,A=S+12|0,t=d,r=A+36|0;do e[A>>2]=e[t>>2],A=A+4|0,t=t+4|0;while((A|0)<(r|0));if(d=S+48|0,e[d>>2]=e[f>>2],e[d+4>>2]=e[f+4>>2],e[d+8>>2]=e[f+8>>2],e[d+12>>2]=e[f+12>>2],(a|0)==0&(g|0)==0)return S=l,y=F,S|0;r=S+16|0,p=S+24|0,v=S+28|0,l=0,f=0,t=a,A=g;do{if(!((l|0)<(n|0)|(l|0)==(n|0)&f>>>0<i>>>0)){D=4;break}if(g=f,f=EA(f|0,l|0,1,0)|0,l=b()|0,g=s+(g<<3)|0,e[g>>2]=t,e[g+4>>2]=A,Pr(d),A=d,t=e[A>>2]|0,A=e[A+4>>2]|0,(t|0)==0&(A|0)==0){if(Qt(r),t=r,A=e[t>>2]|0,t=e[t+4>>2]|0,(A|0)==0&(t|0)==0){D=10;break}gn(A,t,e[v>>2]|0,d),A=d,t=e[A>>2]|0,A=e[A+4>>2]|0}g=S,e[g>>2]=t,e[g+4>>2]=A}while(!((t|0)==0&(A|0)==0));return(D|0)==4?(A=S+40|0,t=e[A>>2]|0,t|0&&yA(t),D=S+16|0,e[D>>2]=0,e[D+4>>2]=0,e[p>>2]=0,e[S+36>>2]=0,e[v>>2]=-1,e[S+32>>2]=0,e[A>>2]=0,gn(0,0,0,d),e[S>>2]=0,e[S+4>>2]=0,e[x>>2]=0,S=14,y=F,S|0):((D|0)==10&&(e[S>>2]=0,e[S+4>>2]=0,e[x>>2]=e[p>>2]),S=e[x>>2]|0,y=F,S|0)}function i1(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0;if(v=y,y=y+48|0,a=v+32|0,f=v+40|0,g=v,!(e[A>>2]|0))return p=i,e[p>>2]=0,e[p+4>>2]=0,p=0,y=v,p|0;br(a,0,0,0),l=a,n=e[l>>2]|0,l=e[l+4>>2]|0;do if(t>>>0>15)p=g,e[p>>2]=0,e[p+4>>2]=0,e[g+8>>2]=4,e[g+12>>2]=-1,p=g+16|0,r=g+29|0,e[p>>2]=0,e[p+4>>2]=0,e[p+8>>2]=0,tA[p+12>>0]=0,tA[r>>0]=tA[f>>0]|0,tA[r+1>>0]=tA[f+1>>0]|0,tA[r+2>>0]=tA[f+2>>0]|0,r=4,p=9;else{if(r=We(r)|0,r|0){a=g,e[a>>2]=0,e[a+4>>2]=0,e[g+8>>2]=r,e[g+12>>2]=-1,a=g+16|0,p=g+29|0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,tA[a+12>>0]=0,tA[p>>0]=tA[f>>0]|0,tA[p+1>>0]=tA[f+1>>0]|0,tA[p+2>>0]=tA[f+2>>0]|0,p=9;break}if(r=v0((e[A+8>>2]|0)+1|0,32)|0,!r){p=g,e[p>>2]=0,e[p+4>>2]=0,e[g+8>>2]=13,e[g+12>>2]=-1,p=g+16|0,r=g+29|0,e[p>>2]=0,e[p+4>>2]=0,e[p+8>>2]=0,tA[p+12>>0]=0,tA[r>>0]=tA[f>>0]|0,tA[r+1>>0]=tA[f+1>>0]|0,tA[r+2>>0]=tA[f+2>>0]|0,r=13,p=9;break}Sr(A,r),x=g,e[x>>2]=n,e[x+4>>2]=l,l=g+8|0,e[l>>2]=0,e[g+12>>2]=t,e[g+20>>2]=A,e[g+24>>2]=r,tA[g+28>>0]=0,n=g+29|0,tA[n>>0]=tA[f>>0]|0,tA[n+1>>0]=tA[f+1>>0]|0,tA[n+2>>0]=tA[f+2>>0]|0,e[g+16>>2]=3,d=+Al(r),d=d*+Jo(r),s=+IA(+ +E[r>>3]),s=d/+jA(+ +Tt(+s,+ +IA(+ +E[r+8>>3])))*6371.007180918475*6371.007180918475,n=g+12|0,r=e[n>>2]|0;A:do if((r|0)>0)do{if(cn(r+-1|0,a)|0,!(s/+E[a>>3]>10))break A;x=e[n>>2]|0,r=x+-1|0,e[n>>2]=r}while((x|0)>1);while(!1);if(Qt(g),n=i,e[n>>2]=0,e[n+4>>2]=0,n=g,r=e[n>>2]|0,n=e[n+4>>2]|0,!((r|0)==0&(n|0)==0))do He(r,n,t,a)|0,f=a,A=i,f=EA(e[A>>2]|0,e[A+4>>2]|0,e[f>>2]|0,e[f+4>>2]|0)|0,A=b()|0,x=i,e[x>>2]=f,e[x+4>>2]=A,Qt(g),x=g,r=e[x>>2]|0,n=e[x+4>>2]|0;while(!((r|0)==0&(n|0)==0));r=e[l>>2]|0}while(!1);return x=r,y=v,x|0}function qe(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0;if(!(cr(t,r)|0)||(t=Wi(t)|0,i=+E[r>>3],n=+E[r+8>>3],n=t&n<0?n+6.283185307179586:n,d=e[A>>2]|0,(d|0)<=0))return d=0,d|0;if(v=e[A+4>>2]|0,t){t=0,p=n,r=-1,A=0;A:for(;;){for(g=A;l=+E[v+(g<<4)>>3],n=+E[v+(g<<4)+8>>3],A=(r+2|0)%(d|0)|0,s=+E[v+(A<<4)>>3],f=+E[v+(A<<4)+8>>3],l>s?(a=l,l=f):(a=s,s=l,l=n,n=f),i=i==s|i==a?i+2220446049250313e-31:i,!!(i<s|i>a);)if(r=g+1|0,(r|0)>=(d|0)){r=22;break A}else A=g,g=r,r=A;if(f=l<0?l+6.283185307179586:l,l=n<0?n+6.283185307179586:n,p=f==p|l==p?p+-2220446049250313e-31:p,a=f+(l-f)*((i-s)/(a-s)),(a<0?a+6.283185307179586:a)>p&&(t=t^1),A=g+1|0,(A|0)>=(d|0)){r=22;break}else r=g}if((r|0)==22)return t|0}else{t=0,p=n,r=-1,A=0;A:for(;;){for(g=A;l=+E[v+(g<<4)>>3],n=+E[v+(g<<4)+8>>3],A=(r+2|0)%(d|0)|0,s=+E[v+(A<<4)>>3],f=+E[v+(A<<4)+8>>3],l>s?(a=l,l=f):(a=s,s=l,l=n,n=f),i=i==s|i==a?i+2220446049250313e-31:i,!!(i<s|i>a);)if(r=g+1|0,(r|0)>=(d|0)){r=22;break A}else A=g,g=r,r=A;if(p=l==p|n==p?p+-2220446049250313e-31:p,l+(n-l)*((i-s)/(a-s))>p&&(t=t^1),A=g+1|0,(A|0)>=(d|0)){r=22;break}else r=g}if((r|0)==22)return t|0}return 0}function vn(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0;if(D=e[A>>2]|0,!D){e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0;return}if(S=t+8|0,E[S>>3]=17976931348623157e292,F=t+24|0,E[F>>3]=17976931348623157e292,E[t>>3]=-17976931348623157e292,K=t+16|0,E[K>>3]=-17976931348623157e292,!((D|0)<=0)){for(d=e[A+4>>2]|0,g=17976931348623157e292,p=-17976931348623157e292,v=0,A=-1,s=17976931348623157e292,l=17976931348623157e292,a=-17976931348623157e292,i=-17976931348623157e292,x=0;r=+E[d+(x<<4)>>3],f=+E[d+(x<<4)+8>>3],A=A+2|0,n=+E[d+(((A|0)==(D|0)?0:A)<<4)+8>>3],r<s&&(E[S>>3]=r,s=r),f<l&&(E[F>>3]=f,l=f),r>a?E[t>>3]=r:r=a,f>i&&(E[K>>3]=f,i=f),g=f>0&f<g?f:g,p=f<0&f>p?f:p,v=v|+IA(+(f-n))>3.141592653589793,A=x+1|0,(A|0)!=(D|0);)z=x,a=r,x=A,A=z;v&&(E[K>>3]=p,E[F>>3]=g)}}function We(A){return A=A|0,(A>>>0<4?0:15)|0}function Sr(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0,nA=0,cA=0,uA=0;if(D=e[A>>2]|0,D){if(S=t+8|0,E[S>>3]=17976931348623157e292,F=t+24|0,E[F>>3]=17976931348623157e292,E[t>>3]=-17976931348623157e292,K=t+16|0,E[K>>3]=-17976931348623157e292,(D|0)>0){for(n=e[A+4>>2]|0,d=17976931348623157e292,x=-17976931348623157e292,i=0,r=-1,a=17976931348623157e292,g=17976931348623157e292,v=-17976931348623157e292,l=-17976931348623157e292,z=0;s=+E[n+(z<<4)>>3],p=+E[n+(z<<4)+8>>3],cA=r+2|0,f=+E[n+(((cA|0)==(D|0)?0:cA)<<4)+8>>3],s<a&&(E[S>>3]=s,a=s),p<g&&(E[F>>3]=p,g=p),s>v?E[t>>3]=s:s=v,p>l&&(E[K>>3]=p,l=p),d=p>0&p<d?p:d,x=p<0&p>x?p:x,i=i|+IA(+(p-f))>3.141592653589793,r=z+1|0,(r|0)!=(D|0);)cA=z,v=s,z=r,r=cA;i&&(E[K>>3]=x,E[F>>3]=d)}}else e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0;if(cA=A+8|0,r=e[cA>>2]|0,!((r|0)<=0)){nA=A+12|0,T=0;do if(n=e[nA>>2]|0,i=T,T=T+1|0,F=t+(T<<5)|0,K=e[n+(i<<3)>>2]|0,K){if(z=t+(T<<5)+8|0,E[z>>3]=17976931348623157e292,A=t+(T<<5)+24|0,E[A>>3]=17976931348623157e292,E[F>>3]=-17976931348623157e292,G=t+(T<<5)+16|0,E[G>>3]=-17976931348623157e292,(K|0)>0){for(D=e[n+(i<<3)+4>>2]|0,d=17976931348623157e292,x=-17976931348623157e292,n=0,i=-1,S=0,a=17976931348623157e292,g=17976931348623157e292,p=-17976931348623157e292,l=-17976931348623157e292;s=+E[D+(S<<4)>>3],v=+E[D+(S<<4)+8>>3],i=i+2|0,f=+E[D+(((i|0)==(K|0)?0:i)<<4)+8>>3],s<a&&(E[z>>3]=s,a=s),v<g&&(E[A>>3]=v,g=v),s>p?E[F>>3]=s:s=p,v>l&&(E[G>>3]=v,l=v),d=v>0&v<d?v:d,x=v<0&v>x?v:x,n=n|+IA(+(v-f))>3.141592653589793,i=S+1|0,(i|0)!=(K|0);)uA=S,S=i,p=s,i=uA;n&&(E[G>>3]=x,E[A>>3]=d)}}else e[F>>2]=0,e[F+4>>2]=0,e[F+8>>2]=0,e[F+12>>2]=0,e[F+16>>2]=0,e[F+20>>2]=0,e[F+24>>2]=0,e[F+28>>2]=0,r=e[cA>>2]|0;while((T|0)<(r|0))}}function Tr(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0;if(!(qe(A,t,r)|0))return n=0,n|0;if(n=A+8|0,(e[n>>2]|0)<=0)return n=1,n|0;for(i=A+12|0,A=0;;){if(s=A,A=A+1|0,qe((e[i>>2]|0)+(s<<3)|0,t+(A<<5)|0,r)|0){A=0,i=6;break}if((A|0)>=(e[n>>2]|0)){A=1,i=6;break}}return(i|0)==6?A|0:0}function bn(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0;if(g=y,y=y+16|0,f=g,l=r+8|0,!(qe(A,t,l)|0))return a=0,y=g,a|0;a=A+8|0;A:do if((e[a>>2]|0)>0){for(s=A+12|0,n=0;;){if(p=n,n=n+1|0,qe((e[s>>2]|0)+(p<<3)|0,t+(n<<5)|0,l)|0){n=0;break}if((n|0)>=(e[a>>2]|0))break A}return y=g,n|0}while(!1);if(St(A,t,r,i)|0)return p=0,y=g,p|0;e[f>>2]=e[r>>2],e[f+4>>2]=l,n=e[a>>2]|0;A:do if((n|0)>0)for(A=A+12|0,l=0,s=n;;){if(n=e[A>>2]|0,(e[n+(l<<3)>>2]|0)>0){if(qe(f,i,e[n+(l<<3)+4>>2]|0)|0){n=0;break A}if(n=l+1|0,St((e[A>>2]|0)+(l<<3)|0,t+(n<<5)|0,r,i)|0){n=0;break A}s=e[a>>2]|0}else n=l+1|0;if((n|0)<(s|0))l=n;else{n=1;break}}else n=1;while(!1);return p=n,y=g,p|0}function St(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0,nA=0,cA=0,uA=0,DA=0;if(cA=y,y=y+176|0,z=cA+172|0,n=cA+168|0,G=cA,!(wr(t,i)|0))return A=0,y=cA,A|0;if(el(t,i,z,n),Pe(G|0,r|0,168)|0,(e[r>>2]|0)>0){t=0;do uA=G+8+(t<<4)+8|0,K=+b0(+E[uA>>3],e[n>>2]|0),E[uA>>3]=K,t=t+1|0;while((t|0)<(e[r>>2]|0))}S=+E[i>>3],F=+E[i+8>>3],K=+b0(+E[i+16>>3],e[n>>2]|0),x=+b0(+E[i+24>>3],e[n>>2]|0);A:do if((e[A>>2]|0)>0){if(i=A+4|0,n=e[G>>2]|0,(n|0)<=0){for(t=0;;)if(t=t+1|0,(t|0)>=(e[A>>2]|0)){t=0;break A}}for(r=0;;){if(t=e[i>>2]|0,d=+E[t+(r<<4)>>3],D=+b0(+E[t+(r<<4)+8>>3],e[z>>2]|0),t=e[i>>2]|0,r=r+1|0,uA=(r|0)%(e[A>>2]|0)|0,s=+E[t+(uA<<4)>>3],l=+b0(+E[t+(uA<<4)+8>>3],e[z>>2]|0),!(d>=S)|!(s>=S)&&!(d<=F)|!(s<=F)&&!(D<=x)|!(l<=x)&&!(D>=K)|!(l>=K)){v=s-d,g=l-D,t=0;do if(DA=t,t=t+1|0,uA=(t|0)==(n|0)?0:t,s=+E[G+8+(DA<<4)+8>>3],l=+E[G+8+(uA<<4)+8>>3]-s,f=+E[G+8+(DA<<4)>>3],a=+E[G+8+(uA<<4)>>3]-f,p=v*l-g*a,p!=0&&(T=D-s,nA=d-f,a=(T*a-l*nA)/p,!(a<0|a>1))&&(p=(v*T-g*nA)/p,p>=0&p<=1)){t=1;break A}while((t|0)<(n|0))}if((r|0)>=(e[A>>2]|0)){t=0;break}}}else t=0;while(!1);return DA=t,y=cA,DA|0}function kn(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0;if(St(A,t,r,i)|0)return s=1,s|0;if(s=A+8|0,(e[s>>2]|0)<=0)return s=0,s|0;for(n=A+12|0,A=0;;){if(l=A,A=A+1|0,St((e[n>>2]|0)+(l<<3)|0,t+(A<<5)|0,r,i)|0){A=1,n=6;break}if((A|0)>=(e[s>>2]|0)){A=0,n=6;break}}return(n|0)==6?A|0:0}function n1(){return 8}function s1(){return 16}function o1(){return 168}function l1(){return 8}function f1(){return 16}function u1(){return 12}function h1(){return 8}function a1(A){return A=A|0,+(+((e[A>>2]|0)>>>0)+4294967296*+(e[A+4>>2]|0))}function g1(A){A=A|0;var t=0,r=0;return r=+E[A>>3],t=+E[A+8>>3],+ +YA(+(r*r+t*t))}function Bn(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0;g=+E[A>>3],a=+E[t>>3]-g,f=+E[A+8>>3],l=+E[t+8>>3]-f,v=+E[r>>3],s=+E[i>>3]-v,d=+E[r+8>>3],p=+E[i+8>>3]-d,s=(s*(f-d)-(g-v)*p)/(a*p-l*s),E[n>>3]=g+a*s,E[n+8>>3]=f+l*s}function Cn(A,t){return A=A|0,t=t|0,+IA(+(+E[A>>3]-+E[t>>3]))<11920928955078125e-23?(t=+IA(+(+E[A+8>>3]-+E[t+8>>3]))<11920928955078125e-23,t|0):(t=0,t|0)}function t0(A,t){A=A|0,t=t|0;var r=0,i=0,n=0;return n=+E[A>>3]-+E[t>>3],i=+E[A+8>>3]-+E[t+8>>3],r=+E[A+16>>3]-+E[t+16>>3],+(n*n+i*i+r*r)}function c1(A,t){A=A|0,t=t|0;var r=0,i=0,n=0;r=+E[A>>3],i=+jA(+r),r=+OA(+r),E[t+16>>3]=r,r=+E[A+8>>3],n=i*+jA(+r),E[t>>3]=n,r=i*+OA(+r),E[t+8>>3]=r}function w1(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0;if(s=y,y=y+16|0,n=s,i=WA(A,t)|0,(r+-1|0)>>>0>5||(i=(i|0)!=0,(r|0)==1&i))return n=-1,y=s,n|0;do if(Xe(A,t,n)|0)i=-1;else if(i){i=((e[26352+(r<<2)>>2]|0)+5-(e[n>>2]|0)|0)%5|0;break}else{i=((e[26384+(r<<2)>>2]|0)+6-(e[n>>2]|0)|0)%6|0;break}while(!1);return n=i,y=s,n|0}function Xe(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0;if(g=y,y=y+32|0,l=g+16|0,f=g,i=Ce(A,t,l)|0,i|0)return r=i,y=g,r|0;s=fn(A,t)|0,a=y0(A,t)|0,Wo(s,f),i=Xo(s,e[l>>2]|0)|0;A:do if($A(s)|0){do switch(s|0){case 4:{A=0;break}case 14:{A=1;break}case 24:{A=2;break}case 38:{A=3;break}case 49:{A=4;break}case 58:{A=5;break}case 63:{A=6;break}case 72:{A=7;break}case 83:{A=8;break}case 97:{A=9;break}case 107:{A=10;break}case 117:{A=11;break}default:{i=1;break A}}while(!1);if(n=e[26416+(A*24|0)+8>>2]|0,t=e[26416+(A*24|0)+16>>2]|0,A=e[l>>2]|0,(A|0)!=(e[f>>2]|0)&&(f=hr(s)|0,A=e[l>>2]|0,f|(A|0)==(t|0)&&(i=(i+1|0)%6|0)),(a|0)==3&(A|0)==(t|0)){i=(i+5|0)%6|0,n=22;break}(a|0)==5&(A|0)==(n|0)&&(i=(i+1|0)%6|0),n=22}else n=22;while(!1);return(n|0)==22&&(e[r>>2]=i,i=0),r=i,y=g,r|0}function P0(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0;if(G=y,y=y+32|0,z=G+24|0,F=G+20|0,D=G+8|0,x=G+16|0,d=G,a=(WA(A,t)|0)==0,a=a?6:5,p=eA(A|0,t|0,52)|0,b()|0,p=p&15,a>>>0<=r>>>0)return i=2,y=G,i|0;v=(p|0)==0,!v&&(S=sA(7,0,(p^15)*3|0)|0,(S&A|0)==0&((b()|0)&t|0)==0)?n=r:s=4;A:do if((s|0)==4){if(n=(WA(A,t)|0)!=0,((n?4:5)|0)<(r|0)||Xe(A,t,z)|0||(s=(e[z>>2]|0)+r|0,n?n=26704+(((s|0)%5|0)<<2)|0:n=26736+(((s|0)%6|0)<<2)|0,S=e[n>>2]|0,(S|0)==7))return i=1,y=G,i|0;e[F>>2]=0,n=o0(A,t,S,F,D)|0;do if(!n){if(f=D,g=e[f>>2]|0,f=e[f+4>>2]|0,l=f>>>0<t>>>0|(f|0)==(t|0)&g>>>0<A>>>0,s=l?g:A,l=l?f:t,!v&&(v=sA(7,0,(p^15)*3|0)|0,(g&v|0)==0&(f&(b()|0)|0)==0))n=r;else{if(f=(r+-1+a|0)%(a|0)|0,n=WA(A,t)|0,(f|0)<0&&BA(27795,27797,246,27806),a=(n|0)!=0,((a?4:5)|0)<(f|0)&&BA(27795,27797,246,27806),Xe(A,t,z)|0&&BA(27795,27797,246,27806),n=(e[z>>2]|0)+f|0,a?n=26704+(((n|0)%5|0)<<2)|0:n=26736+(((n|0)%6|0)<<2)|0,f=e[n>>2]|0,(f|0)==7&&BA(27795,27797,246,27806),e[x>>2]=0,n=o0(A,t,f,x,d)|0,n|0)break;g=d,a=e[g>>2]|0,g=e[g+4>>2]|0;do if(g>>>0<l>>>0|(g|0)==(l|0)&a>>>0<s>>>0){if(WA(a,g)|0?s=ur(a,g,A,t)|0:s=e[26800+((((e[x>>2]|0)+(e[26768+(f<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,n=WA(a,g)|0,(s+-1|0)>>>0>5){n=-1,s=a,l=g;break}if(n=(n|0)!=0,(s|0)==1&n){n=-1,s=a,l=g;break}do if(Xe(a,g,z)|0)n=-1;else if(n){n=((e[26352+(s<<2)>>2]|0)+5-(e[z>>2]|0)|0)%5|0;break}else{n=((e[26384+(s<<2)>>2]|0)+6-(e[z>>2]|0)|0)%6|0;break}while(!1);s=a,l=g}else n=r;while(!1);f=D,g=e[f>>2]|0,f=e[f+4>>2]|0}if((s|0)==(g|0)&(l|0)==(f|0)){if(a=(WA(g,f)|0)!=0,a?A=ur(g,f,A,t)|0:A=e[26800+((((e[F>>2]|0)+(e[26768+(S<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,n=WA(g,f)|0,(A+-1|0)>>>0<=5&&(K=(n|0)!=0,!((A|0)==1&K)))do if(Xe(g,f,z)|0)n=-1;else if(K){n=((e[26352+(A<<2)>>2]|0)+5-(e[z>>2]|0)|0)%5|0;break}else{n=((e[26384+(A<<2)>>2]|0)+6-(e[z>>2]|0)|0)%6|0;break}while(!1);else n=-1;n=n+1|0,n=(n|0)==6|a&(n|0)==5?0:n}t=l,A=s;break A}while(!1);return i=n,y=G,i|0}while(!1);return K=sA(n|0,0,56)|0,z=b()|0|t&-2130706433|536870912,e[i>>2]=K|A,e[i+4>>2]=z,i=0,y=G,i|0}function p1(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0;return s=(WA(A,t)|0)==0,i=P0(A,t,0,r)|0,n=(i|0)==0,s?!n||(i=P0(A,t,1,r+8|0)|0,i|0)||(i=P0(A,t,2,r+16|0)|0,i|0)||(i=P0(A,t,3,r+24|0)|0,i|0)||(i=P0(A,t,4,r+32|0)|0,i)?(s=i,s|0):P0(A,t,5,r+40|0)|0:!n||(i=P0(A,t,1,r+8|0)|0,i|0)||(i=P0(A,t,2,r+16|0)|0,i|0)||(i=P0(A,t,3,r+24|0)|0,i|0)||(i=P0(A,t,4,r+32|0)|0,i|0)?(s=i,s|0):(s=r+40|0,e[s>>2]=0,e[s+4>>2]=0,s=0,s|0)}function m1(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0;return a=y,y=y+192|0,n=a,s=a+168|0,l=eA(A|0,t|0,56)|0,b()|0,l=l&7,f=t&-2130706433|134217728,i=Ce(A,f,s)|0,i|0?(f=i,y=a,f|0):(t=eA(A|0,t|0,52)|0,b()|0,t=t&15,WA(A,f)|0?Er(s,t,l,1,n):yr(s,t,l,1,n),f=n+8|0,e[r>>2]=e[f>>2],e[r+4>>2]=e[f+4>>2],e[r+8>>2]=e[f+8>>2],e[r+12>>2]=e[f+12>>2],f=0,y=a,f|0)}function E1(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0;return n=y,y=y+16|0,r=n,!(!0&(t&2013265920|0)==536870912)||(i=t&-2130706433|134217728,!(vr(A,i)|0))?(i=0,y=n,i|0):(s=eA(A|0,t|0,56)|0,b()|0,s=(P0(A,i,s&7,r)|0)==0,i=r,i=s&((e[i>>2]|0)==(A|0)?(e[i+4>>2]|0)==(t|0):0)&1,y=n,i|0)}function dn(A,t,r){A=A|0,t=t|0,r=r|0;var i=0;(t|0)>0?(i=v0(t,4)|0,e[A>>2]=i,i||BA(27819,27842,40,27856)):e[A>>2]=0,e[A+4>>2]=t,e[A+8>>2]=0,e[A+12>>2]=r}function xn(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;n=A+4|0,s=A+12|0,l=A+8|0;A:for(;;){for(r=e[n>>2]|0,t=0;;){if((t|0)>=(r|0))break A;if(i=e[A>>2]|0,f=e[i+(t<<2)>>2]|0,!f)t=t+1|0;else break}t=i+(~~(+IA(+(+W0(10,+ +(15-(e[s>>2]|0)|0))*(+E[f>>3]+ +E[f+8>>3])))%+(r|0))>>>0<<2)|0,r=e[t>>2]|0;e:do if(r|0){if(i=f+32|0,(r|0)==(f|0))e[t>>2]=e[i>>2];else{if(r=r+32|0,t=e[r>>2]|0,!t)break;for(;(t|0)!=(f|0);)if(r=t+32|0,t=e[r>>2]|0,!t)break e;e[r>>2]=e[i>>2]}yA(f),e[l>>2]=(e[l>>2]|0)+-1}while(!1)}yA(e[A>>2]|0)}function Dn(A){A=A|0;var t=0,r=0,i=0;for(i=e[A+4>>2]|0,r=0;;){if((r|0)>=(i|0)){t=0,r=4;break}if(t=e[(e[A>>2]|0)+(r<<2)>>2]|0,!t)r=r+1|0;else{r=4;break}}return(r|0)==4?t|0:0}function Mn(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0;if(r=~~(+IA(+(+W0(10,+ +(15-(e[A+12>>2]|0)|0))*(+E[t>>3]+ +E[t+8>>3])))%+(e[A+4>>2]|0))>>>0,r=(e[A>>2]|0)+(r<<2)|0,i=e[r>>2]|0,!i)return s=1,s|0;s=t+32|0;do if((i|0)!=(t|0)){if(r=e[i+32>>2]|0,!r)return s=1,s|0;for(n=r;;){if((n|0)==(t|0)){n=8;break}if(r=e[n+32>>2]|0,r)i=n,n=r;else{r=1,n=10;break}}if((n|0)==8){e[i+32>>2]=e[s>>2];break}else if((n|0)==10)return r|0}else e[r>>2]=e[s>>2];while(!1);return yA(t),s=A+8|0,e[s>>2]=(e[s>>2]|0)+-1,s=0,s|0}function y1(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0;s=L0(40)|0,s||BA(27872,27842,98,27885),e[s>>2]=e[t>>2],e[s+4>>2]=e[t+4>>2],e[s+8>>2]=e[t+8>>2],e[s+12>>2]=e[t+12>>2],n=s+16|0,e[n>>2]=e[r>>2],e[n+4>>2]=e[r+4>>2],e[n+8>>2]=e[r+8>>2],e[n+12>>2]=e[r+12>>2],e[s+32>>2]=0,n=~~(+IA(+(+W0(10,+ +(15-(e[A+12>>2]|0)|0))*(+E[t>>3]+ +E[t+8>>3])))%+(e[A+4>>2]|0))>>>0,n=(e[A>>2]|0)+(n<<2)|0,i=e[n>>2]|0;do if(!i)e[n>>2]=s;else{for(;!(xe(i,t)|0&&xe(i+16|0,r)|0);)if(n=e[i+32>>2]|0,i=(n|0)==0?i:n,!(e[i+32>>2]|0)){l=10;break}if((l|0)==10){e[i+32>>2]=s;break}return yA(s),l=i,l|0}while(!1);return l=A+8|0,e[l>>2]=(e[l>>2]|0)+1,l=s,l|0}function v1(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0;if(n=~~(+IA(+(+W0(10,+ +(15-(e[A+12>>2]|0)|0))*(+E[t>>3]+ +E[t+8>>3])))%+(e[A+4>>2]|0))>>>0,n=e[(e[A>>2]|0)+(n<<2)>>2]|0,!n)return r=0,r|0;if(!r){for(A=n;;){if(xe(A,t)|0){i=10;break}if(A=e[A+32>>2]|0,!A){A=0,i=10;break}}if((i|0)==10)return A|0}for(A=n;;){if(xe(A,t)|0&&xe(A+16|0,r)|0){i=10;break}if(A=e[A+32>>2]|0,!A){A=0,i=10;break}}return(i|0)==10?A|0:0}function b1(A,t){A=A|0,t=t|0;var r=0;if(r=~~(+IA(+(+W0(10,+ +(15-(e[A+12>>2]|0)|0))*(+E[t>>3]+ +E[t+8>>3])))%+(e[A+4>>2]|0))>>>0,A=e[(e[A>>2]|0)+(r<<2)>>2]|0,!A)return r=0,r|0;for(;;){if(xe(A,t)|0){t=5;break}if(A=e[A+32>>2]|0,!A){A=0,t=5;break}}return(t|0)==5?A|0:0}function k1(){return 27904}function $0(A){return A=+A,~~+Tn(+A)|0}function L0(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0,nA=0;nA=y,y=y+16|0,d=nA;do if(A>>>0<245){if(g=A>>>0<11?16:A+11&-8,A=g>>>3,v=e[6977]|0,r=v>>>A,r&3|0)return t=(r&1^1)+A|0,A=27948+(t<<1<<2)|0,r=A+8|0,i=e[r>>2]|0,n=i+8|0,s=e[n>>2]|0,(s|0)==(A|0)?e[6977]=v&~(1<<t):(e[s+12>>2]=A,e[r>>2]=s),T=t<<3,e[i+4>>2]=T|3,T=i+T+4|0,e[T>>2]=e[T>>2]|1,T=n,y=nA,T|0;if(p=e[6979]|0,g>>>0>p>>>0){if(r|0)return t=2<<A,t=r<<A&(t|0-t),t=(t&0-t)+-1|0,f=t>>>12&16,t=t>>>f,r=t>>>5&8,t=t>>>r,s=t>>>2&4,t=t>>>s,A=t>>>1&2,t=t>>>A,i=t>>>1&1,i=(r|f|s|A|i)+(t>>>i)|0,t=27948+(i<<1<<2)|0,A=t+8|0,s=e[A>>2]|0,f=s+8|0,r=e[f>>2]|0,(r|0)==(t|0)?(A=v&~(1<<i),e[6977]=A):(e[r+12>>2]=t,e[A>>2]=r,A=v),T=i<<3,l=T-g|0,e[s+4>>2]=g|3,n=s+g|0,e[n+4>>2]=l|1,e[s+T>>2]=l,p|0&&(i=e[6982]|0,t=p>>>3,r=27948+(t<<1<<2)|0,t=1<<t,A&t?(A=r+8|0,t=e[A>>2]|0):(e[6977]=A|t,t=r,A=r+8|0),e[A>>2]=i,e[t+12>>2]=i,e[i+8>>2]=t,e[i+12>>2]=r),e[6979]=l,e[6982]=n,T=f,y=nA,T|0;if(s=e[6978]|0,s){for(r=(s&0-s)+-1|0,n=r>>>12&16,r=r>>>n,i=r>>>5&8,r=r>>>i,l=r>>>2&4,r=r>>>l,f=r>>>1&2,r=r>>>f,a=r>>>1&1,a=e[28212+((i|n|l|f|a)+(r>>>a)<<2)>>2]|0,r=a,f=a,a=(e[a+4>>2]&-8)-g|0;A=e[r+16>>2]|0,!(!A&&(A=e[r+20>>2]|0,!A));)l=(e[A+4>>2]&-8)-g|0,n=l>>>0<a>>>0,r=A,f=n?A:f,a=n?l:a;if(l=f+g|0,l>>>0>f>>>0){n=e[f+24>>2]|0,t=e[f+12>>2]|0;do if((t|0)==(f|0)){if(A=f+20|0,t=e[A>>2]|0,!t&&(A=f+16|0,t=e[A>>2]|0,!t)){r=0;break}for(;;)if(i=t+20|0,r=e[i>>2]|0,r)t=r,A=i;else if(i=t+16|0,r=e[i>>2]|0,r)t=r,A=i;else break;e[A>>2]=0,r=t}else r=e[f+8>>2]|0,e[r+12>>2]=t,e[t+8>>2]=r,r=t;while(!1);do if(n|0){if(t=e[f+28>>2]|0,A=28212+(t<<2)|0,(f|0)==(e[A>>2]|0)){if(e[A>>2]=r,!r){e[6978]=s&~(1<<t);break}}else if(T=n+16|0,e[((e[T>>2]|0)==(f|0)?T:n+20|0)>>2]=r,!r)break;e[r+24>>2]=n,t=e[f+16>>2]|0,t|0&&(e[r+16>>2]=t,e[t+24>>2]=r),t=e[f+20>>2]|0,t|0&&(e[r+20>>2]=t,e[t+24>>2]=r)}while(!1);return a>>>0<16?(T=a+g|0,e[f+4>>2]=T|3,T=f+T+4|0,e[T>>2]=e[T>>2]|1):(e[f+4>>2]=g|3,e[l+4>>2]=a|1,e[l+a>>2]=a,p|0&&(i=e[6982]|0,t=p>>>3,r=27948+(t<<1<<2)|0,t=1<<t,t&v?(A=r+8|0,t=e[A>>2]|0):(e[6977]=t|v,t=r,A=r+8|0),e[A>>2]=i,e[t+12>>2]=i,e[i+8>>2]=t,e[i+12>>2]=r),e[6979]=a,e[6982]=l),T=f+8|0,y=nA,T|0}else v=g}else v=g}else v=g}else if(A>>>0<=4294967231)if(A=A+11|0,g=A&-8,i=e[6978]|0,i){n=0-g|0,A=A>>>8,A?g>>>0>16777215?a=31:(v=(A+1048320|0)>>>16&8,S=A<<v,f=(S+520192|0)>>>16&4,S=S<<f,a=(S+245760|0)>>>16&2,a=14-(f|v|a)+(S<<a>>>15)|0,a=g>>>(a+7|0)&1|a<<1):a=0,r=e[28212+(a<<2)>>2]|0;A:do if(!r)r=0,A=0,S=61;else for(A=0,f=g<<((a|0)==31?0:25-(a>>>1)|0),s=0;;){if(l=(e[r+4>>2]&-8)-g|0,l>>>0<n>>>0)if(l)A=r,n=l;else{A=r,n=0,S=65;break A}if(S=e[r+20>>2]|0,r=e[r+16+(f>>>31<<2)>>2]|0,s=(S|0)==0|(S|0)==(r|0)?s:S,r)f=f<<1;else{r=s,S=61;break}}while(!1);if((S|0)==61){if((r|0)==0&(A|0)==0){if(A=2<<a,A=(A|0-A)&i,!A){v=g;break}v=(A&0-A)+-1|0,l=v>>>12&16,v=v>>>l,s=v>>>5&8,v=v>>>s,f=v>>>2&4,v=v>>>f,a=v>>>1&2,v=v>>>a,r=v>>>1&1,A=0,r=e[28212+((s|l|f|a|r)+(v>>>r)<<2)>>2]|0}r?S=65:(f=A,l=n)}if((S|0)==65)for(s=r;;)if(v=(e[s+4>>2]&-8)-g|0,r=v>>>0<n>>>0,n=r?v:n,A=r?s:A,r=e[s+16>>2]|0,r||(r=e[s+20>>2]|0),r)s=r;else{f=A,l=n;break}if((f|0)!=0&&l>>>0<((e[6979]|0)-g|0)>>>0&&(p=f+g|0,p>>>0>f>>>0)){s=e[f+24>>2]|0,t=e[f+12>>2]|0;do if((t|0)==(f|0)){if(A=f+20|0,t=e[A>>2]|0,!t&&(A=f+16|0,t=e[A>>2]|0,!t)){t=0;break}for(;;)if(n=t+20|0,r=e[n>>2]|0,r)t=r,A=n;else if(n=t+16|0,r=e[n>>2]|0,r)t=r,A=n;else break;e[A>>2]=0}else T=e[f+8>>2]|0,e[T+12>>2]=t,e[t+8>>2]=T;while(!1);do if(s){if(A=e[f+28>>2]|0,r=28212+(A<<2)|0,(f|0)==(e[r>>2]|0)){if(e[r>>2]=t,!t){i=i&~(1<<A),e[6978]=i;break}}else if(T=s+16|0,e[((e[T>>2]|0)==(f|0)?T:s+20|0)>>2]=t,!t)break;e[t+24>>2]=s,A=e[f+16>>2]|0,A|0&&(e[t+16>>2]=A,e[A+24>>2]=t),A=e[f+20>>2]|0,A&&(e[t+20>>2]=A,e[A+24>>2]=t)}while(!1);A:do if(l>>>0<16)T=l+g|0,e[f+4>>2]=T|3,T=f+T+4|0,e[T>>2]=e[T>>2]|1;else{if(e[f+4>>2]=g|3,e[p+4>>2]=l|1,e[p+l>>2]=l,t=l>>>3,l>>>0<256){r=27948+(t<<1<<2)|0,A=e[6977]|0,t=1<<t,A&t?(A=r+8|0,t=e[A>>2]|0):(e[6977]=A|t,t=r,A=r+8|0),e[A>>2]=p,e[t+12>>2]=p,e[p+8>>2]=t,e[p+12>>2]=r;break}if(t=l>>>8,t?l>>>0>16777215?r=31:(G=(t+1048320|0)>>>16&8,T=t<<G,z=(T+520192|0)>>>16&4,T=T<<z,r=(T+245760|0)>>>16&2,r=14-(z|G|r)+(T<<r>>>15)|0,r=l>>>(r+7|0)&1|r<<1):r=0,t=28212+(r<<2)|0,e[p+28>>2]=r,A=p+16|0,e[A+4>>2]=0,e[A>>2]=0,A=1<<r,!(i&A)){e[6978]=i|A,e[t>>2]=p,e[p+24>>2]=t,e[p+12>>2]=p,e[p+8>>2]=p;break}t=e[t>>2]|0;e:do if((e[t+4>>2]&-8|0)!=(l|0)){for(i=l<<((r|0)==31?0:25-(r>>>1)|0);r=t+16+(i>>>31<<2)|0,A=e[r>>2]|0,!!A;)if((e[A+4>>2]&-8|0)==(l|0)){t=A;break e}else i=i<<1,t=A;e[r>>2]=p,e[p+24>>2]=t,e[p+12>>2]=p,e[p+8>>2]=p;break A}while(!1);G=t+8|0,T=e[G>>2]|0,e[T+12>>2]=p,e[G>>2]=p,e[p+8>>2]=T,e[p+12>>2]=t,e[p+24>>2]=0}while(!1);return T=f+8|0,y=nA,T|0}else v=g}else v=g;else v=-1;while(!1);if(r=e[6979]|0,r>>>0>=v>>>0)return t=r-v|0,A=e[6982]|0,t>>>0>15?(T=A+v|0,e[6982]=T,e[6979]=t,e[T+4>>2]=t|1,e[A+r>>2]=t,e[A+4>>2]=v|3):(e[6979]=0,e[6982]=0,e[A+4>>2]=r|3,T=A+r+4|0,e[T>>2]=e[T>>2]|1),T=A+8|0,y=nA,T|0;if(l=e[6980]|0,l>>>0>v>>>0)return z=l-v|0,e[6980]=z,T=e[6983]|0,G=T+v|0,e[6983]=G,e[G+4>>2]=z|1,e[T+4>>2]=v|3,T=T+8|0,y=nA,T|0;if(e[7095]|0?A=e[7097]|0:(e[7097]=4096,e[7096]=4096,e[7098]=-1,e[7099]=-1,e[7100]=0,e[7088]=0,e[7095]=d&-16^1431655768,A=4096),f=v+48|0,a=v+47|0,s=A+a|0,n=0-A|0,g=s&n,g>>>0<=v>>>0||(A=e[7087]|0,A|0&&(p=e[7085]|0,d=p+g|0,d>>>0<=p>>>0|d>>>0>A>>>0)))return T=0,y=nA,T|0;A:do if(e[7088]&4)t=0,S=143;else{r=e[6983]|0;e:do if(r){for(i=28356;d=e[i>>2]|0,!(d>>>0<=r>>>0&&(d+(e[i+4>>2]|0)|0)>>>0>r>>>0);)if(A=e[i+8>>2]|0,A)i=A;else{S=128;break e}if(t=s-l&n,t>>>0<2147483647)if(A=ee(t|0)|0,(A|0)==((e[i>>2]|0)+(e[i+4>>2]|0)|0)){if((A|0)!=-1){l=t,s=A,S=145;break A}}else i=A,S=136;else t=0}else S=128;while(!1);do if((S|0)==128)if(r=ee(0)|0,(r|0)!=-1&&(t=r,x=e[7096]|0,D=x+-1|0,t=((D&t|0)==0?0:(D+t&0-x)-t|0)+g|0,x=e[7085]|0,D=t+x|0,t>>>0>v>>>0&t>>>0<2147483647)){if(d=e[7087]|0,d|0&&D>>>0<=x>>>0|D>>>0>d>>>0){t=0;break}if(A=ee(t|0)|0,(A|0)==(r|0)){l=t,s=r,S=145;break A}else i=A,S=136}else t=0;while(!1);do if((S|0)==136){if(r=0-t|0,!(f>>>0>t>>>0&(t>>>0<2147483647&(i|0)!=-1)))if((i|0)==-1){t=0;break}else{l=t,s=i,S=145;break A}if(A=e[7097]|0,A=a-t+A&0-A,A>>>0>=2147483647){l=t,s=i,S=145;break A}if((ee(A|0)|0)==-1){ee(r|0)|0,t=0;break}else{l=A+t|0,s=i,S=145;break A}}while(!1);e[7088]=e[7088]|4,S=143}while(!1);if((S|0)==143&&g>>>0<2147483647&&(z=ee(g|0)|0,D=ee(0)|0,F=D-z|0,K=F>>>0>(v+40|0)>>>0,!((z|0)==-1|K^1|z>>>0<D>>>0&((z|0)!=-1&(D|0)!=-1)^1))&&(l=K?F:t,s=z,S=145),(S|0)==145){t=(e[7085]|0)+l|0,e[7085]=t,t>>>0>(e[7086]|0)>>>0&&(e[7086]=t),a=e[6983]|0;A:do if(a){for(t=28356;;){if(A=e[t>>2]|0,r=e[t+4>>2]|0,(s|0)==(A+r|0)){S=154;break}if(i=e[t+8>>2]|0,i)t=i;else break}if((S|0)==154&&(G=t+4|0,(e[t+12>>2]&8|0)==0)&&s>>>0>a>>>0&A>>>0<=a>>>0){e[G>>2]=r+l,T=(e[6980]|0)+l|0,z=a+8|0,z=(z&7|0)==0?0:0-z&7,G=a+z|0,z=T-z|0,e[6983]=G,e[6980]=z,e[G+4>>2]=z|1,e[a+T+4>>2]=40,e[6984]=e[7099];break}for(s>>>0<(e[6981]|0)>>>0&&(e[6981]=s),r=s+l|0,t=28356;;){if((e[t>>2]|0)==(r|0)){S=162;break}if(A=e[t+8>>2]|0,A)t=A;else break}if((S|0)==162&&(e[t+12>>2]&8|0)==0){e[t>>2]=s,p=t+4|0,e[p>>2]=(e[p>>2]|0)+l,p=s+8|0,p=s+((p&7|0)==0?0:0-p&7)|0,t=r+8|0,t=r+((t&7|0)==0?0:0-t&7)|0,g=p+v|0,f=t-p-v|0,e[p+4>>2]=v|3;e:do if((a|0)==(t|0))T=(e[6980]|0)+f|0,e[6980]=T,e[6983]=g,e[g+4>>2]=T|1;else{if((e[6982]|0)==(t|0)){T=(e[6979]|0)+f|0,e[6979]=T,e[6982]=g,e[g+4>>2]=T|1,e[g+T>>2]=T;break}if(A=e[t+4>>2]|0,(A&3|0)==1){l=A&-8,i=A>>>3;t:do if(A>>>0<256)if(A=e[t+8>>2]|0,r=e[t+12>>2]|0,(r|0)==(A|0)){e[6977]=e[6977]&~(1<<i);break}else{e[A+12>>2]=r,e[r+8>>2]=A;break}else{s=e[t+24>>2]|0,A=e[t+12>>2]|0;do if((A|0)==(t|0)){if(r=t+16|0,i=r+4|0,A=e[i>>2]|0,A)r=i;else if(A=e[r>>2]|0,!A){A=0;break}for(;;)if(n=A+20|0,i=e[n>>2]|0,i)A=i,r=n;else if(n=A+16|0,i=e[n>>2]|0,i)A=i,r=n;else break;e[r>>2]=0}else T=e[t+8>>2]|0,e[T+12>>2]=A,e[A+8>>2]=T;while(!1);if(!s)break;r=e[t+28>>2]|0,i=28212+(r<<2)|0;do if((e[i>>2]|0)!=(t|0)){if(T=s+16|0,e[((e[T>>2]|0)==(t|0)?T:s+20|0)>>2]=A,!A)break t}else{if(e[i>>2]=A,A|0)break;e[6978]=e[6978]&~(1<<r);break t}while(!1);if(e[A+24>>2]=s,r=t+16|0,i=e[r>>2]|0,i|0&&(e[A+16>>2]=i,e[i+24>>2]=A),r=e[r+4>>2]|0,!r)break;e[A+20>>2]=r,e[r+24>>2]=A}while(!1);t=t+l|0,n=l+f|0}else n=f;if(t=t+4|0,e[t>>2]=e[t>>2]&-2,e[g+4>>2]=n|1,e[g+n>>2]=n,t=n>>>3,n>>>0<256){r=27948+(t<<1<<2)|0,A=e[6977]|0,t=1<<t,A&t?(A=r+8|0,t=e[A>>2]|0):(e[6977]=A|t,t=r,A=r+8|0),e[A>>2]=g,e[t+12>>2]=g,e[g+8>>2]=t,e[g+12>>2]=r;break}t=n>>>8;do if(!t)i=0;else{if(n>>>0>16777215){i=31;break}G=(t+1048320|0)>>>16&8,T=t<<G,z=(T+520192|0)>>>16&4,T=T<<z,i=(T+245760|0)>>>16&2,i=14-(z|G|i)+(T<<i>>>15)|0,i=n>>>(i+7|0)&1|i<<1}while(!1);if(t=28212+(i<<2)|0,e[g+28>>2]=i,A=g+16|0,e[A+4>>2]=0,e[A>>2]=0,A=e[6978]|0,r=1<<i,!(A&r)){e[6978]=A|r,e[t>>2]=g,e[g+24>>2]=t,e[g+12>>2]=g,e[g+8>>2]=g;break}t=e[t>>2]|0;t:do if((e[t+4>>2]&-8|0)!=(n|0)){for(i=n<<((i|0)==31?0:25-(i>>>1)|0);r=t+16+(i>>>31<<2)|0,A=e[r>>2]|0,!!A;)if((e[A+4>>2]&-8|0)==(n|0)){t=A;break t}else i=i<<1,t=A;e[r>>2]=g,e[g+24>>2]=t,e[g+12>>2]=g,e[g+8>>2]=g;break e}while(!1);G=t+8|0,T=e[G>>2]|0,e[T+12>>2]=g,e[G>>2]=g,e[g+8>>2]=T,e[g+12>>2]=t,e[g+24>>2]=0}while(!1);return T=p+8|0,y=nA,T|0}for(t=28356;A=e[t>>2]|0,!(A>>>0<=a>>>0&&(T=A+(e[t+4>>2]|0)|0,T>>>0>a>>>0));)t=e[t+8>>2]|0;n=T+-47|0,A=n+8|0,A=n+((A&7|0)==0?0:0-A&7)|0,n=a+16|0,A=A>>>0<n>>>0?a:A,t=A+8|0,r=l+-40|0,z=s+8|0,z=(z&7|0)==0?0:0-z&7,G=s+z|0,z=r-z|0,e[6983]=G,e[6980]=z,e[G+4>>2]=z|1,e[s+r+4>>2]=40,e[6984]=e[7099],r=A+4|0,e[r>>2]=27,e[t>>2]=e[7089],e[t+4>>2]=e[7090],e[t+8>>2]=e[7091],e[t+12>>2]=e[7092],e[7089]=s,e[7090]=l,e[7092]=0,e[7091]=t,t=A+24|0;do G=t,t=t+4|0,e[t>>2]=7;while((G+8|0)>>>0<T>>>0);if((A|0)!=(a|0)){if(s=A-a|0,e[r>>2]=e[r>>2]&-2,e[a+4>>2]=s|1,e[A>>2]=s,t=s>>>3,s>>>0<256){r=27948+(t<<1<<2)|0,A=e[6977]|0,t=1<<t,A&t?(A=r+8|0,t=e[A>>2]|0):(e[6977]=A|t,t=r,A=r+8|0),e[A>>2]=a,e[t+12>>2]=a,e[a+8>>2]=t,e[a+12>>2]=r;break}if(t=s>>>8,t?s>>>0>16777215?i=31:(G=(t+1048320|0)>>>16&8,T=t<<G,z=(T+520192|0)>>>16&4,T=T<<z,i=(T+245760|0)>>>16&2,i=14-(z|G|i)+(T<<i>>>15)|0,i=s>>>(i+7|0)&1|i<<1):i=0,r=28212+(i<<2)|0,e[a+28>>2]=i,e[a+20>>2]=0,e[n>>2]=0,t=e[6978]|0,A=1<<i,!(t&A)){e[6978]=t|A,e[r>>2]=a,e[a+24>>2]=r,e[a+12>>2]=a,e[a+8>>2]=a;break}t=e[r>>2]|0;e:do if((e[t+4>>2]&-8|0)!=(s|0)){for(i=s<<((i|0)==31?0:25-(i>>>1)|0);r=t+16+(i>>>31<<2)|0,A=e[r>>2]|0,!!A;)if((e[A+4>>2]&-8|0)==(s|0)){t=A;break e}else i=i<<1,t=A;e[r>>2]=a,e[a+24>>2]=t,e[a+12>>2]=a,e[a+8>>2]=a;break A}while(!1);G=t+8|0,T=e[G>>2]|0,e[T+12>>2]=a,e[G>>2]=a,e[a+8>>2]=T,e[a+12>>2]=t,e[a+24>>2]=0}}else T=e[6981]|0,(T|0)==0|s>>>0<T>>>0&&(e[6981]=s),e[7089]=s,e[7090]=l,e[7092]=0,e[6986]=e[7095],e[6985]=-1,e[6990]=27948,e[6989]=27948,e[6992]=27956,e[6991]=27956,e[6994]=27964,e[6993]=27964,e[6996]=27972,e[6995]=27972,e[6998]=27980,e[6997]=27980,e[7e3]=27988,e[6999]=27988,e[7002]=27996,e[7001]=27996,e[7004]=28004,e[7003]=28004,e[7006]=28012,e[7005]=28012,e[7008]=28020,e[7007]=28020,e[7010]=28028,e[7009]=28028,e[7012]=28036,e[7011]=28036,e[7014]=28044,e[7013]=28044,e[7016]=28052,e[7015]=28052,e[7018]=28060,e[7017]=28060,e[7020]=28068,e[7019]=28068,e[7022]=28076,e[7021]=28076,e[7024]=28084,e[7023]=28084,e[7026]=28092,e[7025]=28092,e[7028]=28100,e[7027]=28100,e[7030]=28108,e[7029]=28108,e[7032]=28116,e[7031]=28116,e[7034]=28124,e[7033]=28124,e[7036]=28132,e[7035]=28132,e[7038]=28140,e[7037]=28140,e[7040]=28148,e[7039]=28148,e[7042]=28156,e[7041]=28156,e[7044]=28164,e[7043]=28164,e[7046]=28172,e[7045]=28172,e[7048]=28180,e[7047]=28180,e[7050]=28188,e[7049]=28188,e[7052]=28196,e[7051]=28196,T=l+-40|0,z=s+8|0,z=(z&7|0)==0?0:0-z&7,G=s+z|0,z=T-z|0,e[6983]=G,e[6980]=z,e[G+4>>2]=z|1,e[s+T+4>>2]=40,e[6984]=e[7099];while(!1);if(t=e[6980]|0,t>>>0>v>>>0)return z=t-v|0,e[6980]=z,T=e[6983]|0,G=T+v|0,e[6983]=G,e[G+4>>2]=z|1,e[T+4>>2]=v|3,T=T+8|0,y=nA,T|0}return T=k1()|0,e[T>>2]=12,T=0,y=nA,T|0}function yA(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0,a=0;if(A){r=A+-8|0,n=e[6981]|0,A=e[A+-4>>2]|0,t=A&-8,a=r+t|0;do if(A&1)f=r,l=r;else{if(i=e[r>>2]|0,!(A&3)||(l=r+(0-i)|0,s=i+t|0,l>>>0<n>>>0))return;if((e[6982]|0)==(l|0)){if(A=a+4|0,t=e[A>>2]|0,(t&3|0)!=3){f=l,t=s;break}e[6979]=s,e[A>>2]=t&-2,e[l+4>>2]=s|1,e[l+s>>2]=s;return}if(r=i>>>3,i>>>0<256)if(A=e[l+8>>2]|0,t=e[l+12>>2]|0,(t|0)==(A|0)){e[6977]=e[6977]&~(1<<r),f=l,t=s;break}else{e[A+12>>2]=t,e[t+8>>2]=A,f=l,t=s;break}n=e[l+24>>2]|0,A=e[l+12>>2]|0;do if((A|0)==(l|0)){if(t=l+16|0,r=t+4|0,A=e[r>>2]|0,A)t=r;else if(A=e[t>>2]|0,!A){A=0;break}for(;;)if(i=A+20|0,r=e[i>>2]|0,r)A=r,t=i;else if(i=A+16|0,r=e[i>>2]|0,r)A=r,t=i;else break;e[t>>2]=0}else f=e[l+8>>2]|0,e[f+12>>2]=A,e[A+8>>2]=f;while(!1);if(n){if(t=e[l+28>>2]|0,r=28212+(t<<2)|0,(e[r>>2]|0)==(l|0)){if(e[r>>2]=A,!A){e[6978]=e[6978]&~(1<<t),f=l,t=s;break}}else if(f=n+16|0,e[((e[f>>2]|0)==(l|0)?f:n+20|0)>>2]=A,!A){f=l,t=s;break}e[A+24>>2]=n,t=l+16|0,r=e[t>>2]|0,r|0&&(e[A+16>>2]=r,e[r+24>>2]=A),t=e[t+4>>2]|0,t?(e[A+20>>2]=t,e[t+24>>2]=A,f=l,t=s):(f=l,t=s)}else f=l,t=s}while(!1);if(!(l>>>0>=a>>>0)&&(A=a+4|0,i=e[A>>2]|0,!!(i&1))){if(i&2)e[A>>2]=i&-2,e[f+4>>2]=t|1,e[l+t>>2]=t,n=t;else{if((e[6983]|0)==(a|0)){if(a=(e[6980]|0)+t|0,e[6980]=a,e[6983]=f,e[f+4>>2]=a|1,(f|0)!=(e[6982]|0))return;e[6982]=0,e[6979]=0;return}if((e[6982]|0)==(a|0)){a=(e[6979]|0)+t|0,e[6979]=a,e[6982]=l,e[f+4>>2]=a|1,e[l+a>>2]=a;return}n=(i&-8)+t|0,r=i>>>3;do if(i>>>0<256)if(t=e[a+8>>2]|0,A=e[a+12>>2]|0,(A|0)==(t|0)){e[6977]=e[6977]&~(1<<r);break}else{e[t+12>>2]=A,e[A+8>>2]=t;break}else{s=e[a+24>>2]|0,A=e[a+12>>2]|0;do if((A|0)==(a|0)){if(t=a+16|0,r=t+4|0,A=e[r>>2]|0,A)t=r;else if(A=e[t>>2]|0,!A){r=0;break}for(;;)if(i=A+20|0,r=e[i>>2]|0,r)A=r,t=i;else if(i=A+16|0,r=e[i>>2]|0,r)A=r,t=i;else break;e[t>>2]=0,r=A}else r=e[a+8>>2]|0,e[r+12>>2]=A,e[A+8>>2]=r,r=A;while(!1);if(s|0){if(A=e[a+28>>2]|0,t=28212+(A<<2)|0,(e[t>>2]|0)==(a|0)){if(e[t>>2]=r,!r){e[6978]=e[6978]&~(1<<A);break}}else if(i=s+16|0,e[((e[i>>2]|0)==(a|0)?i:s+20|0)>>2]=r,!r)break;e[r+24>>2]=s,A=a+16|0,t=e[A>>2]|0,t|0&&(e[r+16>>2]=t,e[t+24>>2]=r),A=e[A+4>>2]|0,A|0&&(e[r+20>>2]=A,e[A+24>>2]=r)}}while(!1);if(e[f+4>>2]=n|1,e[l+n>>2]=n,(f|0)==(e[6982]|0)){e[6979]=n;return}}if(A=n>>>3,n>>>0<256){r=27948+(A<<1<<2)|0,t=e[6977]|0,A=1<<A,t&A?(t=r+8|0,A=e[t>>2]|0):(e[6977]=t|A,A=r,t=r+8|0),e[t>>2]=f,e[A+12>>2]=f,e[f+8>>2]=A,e[f+12>>2]=r;return}A=n>>>8,A?n>>>0>16777215?i=31:(l=(A+1048320|0)>>>16&8,a=A<<l,s=(a+520192|0)>>>16&4,a=a<<s,i=(a+245760|0)>>>16&2,i=14-(s|l|i)+(a<<i>>>15)|0,i=n>>>(i+7|0)&1|i<<1):i=0,A=28212+(i<<2)|0,e[f+28>>2]=i,e[f+20>>2]=0,e[f+16>>2]=0,t=e[6978]|0,r=1<<i;A:do if(!(t&r))e[6978]=t|r,e[A>>2]=f,e[f+24>>2]=A,e[f+12>>2]=f,e[f+8>>2]=f;else{A=e[A>>2]|0;e:do if((e[A+4>>2]&-8|0)!=(n|0)){for(i=n<<((i|0)==31?0:25-(i>>>1)|0);r=A+16+(i>>>31<<2)|0,t=e[r>>2]|0,!!t;)if((e[t+4>>2]&-8|0)==(n|0)){A=t;break e}else i=i<<1,A=t;e[r>>2]=f,e[f+24>>2]=A,e[f+12>>2]=f,e[f+8>>2]=f;break A}while(!1);l=A+8|0,a=e[l>>2]|0,e[a+12>>2]=f,e[l>>2]=f,e[f+8>>2]=a,e[f+12>>2]=A,e[f+24>>2]=0}while(!1);if(a=(e[6985]|0)+-1|0,e[6985]=a,!(a|0)){for(A=28364;A=e[A>>2]|0,A;)A=A+8|0;e[6985]=-1}}}}function v0(A,t){A=A|0,t=t|0;var r=0;return A?(r=O0(t,A)|0,(t|A)>>>0>65535&&(r=((r>>>0)/(A>>>0)|0|0)==(t|0)?r:-1)):r=0,A=L0(r)|0,!A||!(e[A+-4>>2]&3)||Ae(A|0,0,r|0)|0,A|0}function EA(A,t,r,i){return A=A|0,t=t|0,r=r|0,i=i|0,r=A+r>>>0,MA(t+i+(r>>>0<A>>>0|0)>>>0|0),r|0|0}function u0(A,t,r,i){return A=A|0,t=t|0,r=r|0,i=i|0,i=t-i-(r>>>0>A>>>0|0)>>>0,MA(i|0),A-r>>>0|0|0}function Pn(A){return A=A|0,(A?31-(z0(A^A-1)|0)|0:32)|0}function Ir(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0;if(p=A,a=t,g=a,l=r,d=i,f=d,!g)return s=(n|0)!=0,f?s?(e[n>>2]=A|0,e[n+4>>2]=t&0,d=0,n=0,MA(d|0),n|0):(d=0,n=0,MA(d|0),n|0):(s&&(e[n>>2]=(p>>>0)%(l>>>0),e[n+4>>2]=0),d=0,n=(p>>>0)/(l>>>0)>>>0,MA(d|0),n|0);s=(f|0)==0;do if(l){if(!s){if(s=(z0(f|0)|0)-(z0(g|0)|0)|0,s>>>0<=31){v=s+1|0,f=31-s|0,t=s-31>>31,l=v,A=p>>>(v>>>0)&t|g<<f,t=g>>>(v>>>0)&t,s=0,f=p<<f;break}return n?(e[n>>2]=A|0,e[n+4>>2]=a|t&0,d=0,n=0,MA(d|0),n|0):(d=0,n=0,MA(d|0),n|0)}if(s=l-1|0,s&l|0){f=(z0(l|0)|0)+33-(z0(g|0)|0)|0,D=64-f|0,v=32-f|0,a=v>>31,x=f-32|0,t=x>>31,l=f,A=v-1>>31&g>>>(x>>>0)|(g<<v|p>>>(f>>>0))&t,t=t&g>>>(f>>>0),s=p<<D&a,f=(g<<D|p>>>(x>>>0))&a|p<<v&f-33>>31;break}return n|0&&(e[n>>2]=s&p,e[n+4>>2]=0),(l|0)==1?(x=a|t&0,D=A|0|0,MA(x|0),D|0):(D=Pn(l|0)|0,x=g>>>(D>>>0)|0,D=g<<32-D|p>>>(D>>>0)|0,MA(x|0),D|0)}else{if(s)return n|0&&(e[n>>2]=(g>>>0)%(l>>>0),e[n+4>>2]=0),x=0,D=(g>>>0)/(l>>>0)>>>0,MA(x|0),D|0;if(!p)return n|0&&(e[n>>2]=0,e[n+4>>2]=(g>>>0)%(f>>>0)),x=0,D=(g>>>0)/(f>>>0)>>>0,MA(x|0),D|0;if(s=f-1|0,!(s&f))return n|0&&(e[n>>2]=A|0,e[n+4>>2]=s&g|t&0),x=0,D=g>>>((Pn(f|0)|0)>>>0),MA(x|0),D|0;if(s=(z0(f|0)|0)-(z0(g|0)|0)|0,s>>>0<=30){t=s+1|0,f=31-s|0,l=t,A=g<<f|p>>>(t>>>0),t=g>>>(t>>>0),s=0,f=p<<f;break}return n?(e[n>>2]=A|0,e[n+4>>2]=a|t&0,x=0,D=0,MA(x|0),D|0):(x=0,D=0,MA(x|0),D|0)}while(!1);if(!l)g=f,a=0,f=0;else{v=r|0|0,p=d|i&0,g=EA(v|0,p|0,-1,-1)|0,r=b()|0,a=f,f=0;do i=a,a=s>>>31|a<<1,s=f|s<<1,i=A<<1|i>>>31|0,d=A>>>31|t<<1|0,u0(g|0,r|0,i|0,d|0)|0,D=b()|0,x=D>>31|((D|0)<0?-1:0)<<1,f=x&1,A=u0(i|0,d|0,x&v|0,(((D|0)<0?-1:0)>>31|((D|0)<0?-1:0)<<1)&p|0)|0,t=b()|0,l=l-1|0;while((l|0)!=0);g=a,a=0}return l=0,n|0&&(e[n>>2]=A,e[n+4>>2]=t),x=(s|0)>>>31|(g|l)<<1|(l<<1|s>>>31)&0|a,D=(s<<1|0)&-2|f,MA(x|0),D|0}function J0(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0;return g=t>>31|((t|0)<0?-1:0)<<1,a=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1,s=i>>31|((i|0)<0?-1:0)<<1,n=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1,f=u0(g^A|0,a^t|0,g|0,a|0)|0,l=b()|0,A=s^g,t=n^a,u0((Ir(f,l,u0(s^r|0,n^i|0,s|0,n|0)|0,b()|0,0)|0)^A|0,(b()|0)^t|0,A|0,t|0)|0}function B1(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0;return s=A&65535,n=t&65535,r=O0(n,s)|0,i=A>>>16,A=(r>>>16)+(O0(n,i)|0)|0,n=t>>>16,t=O0(n,s)|0,MA((A>>>16)+(O0(n,i)|0)+(((A&65535)+t|0)>>>16)|0),A+t<<16|r&65535|0|0}function l0(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0;return n=A,s=r,r=B1(n,s)|0,A=b()|0,MA((O0(t,s)|0)+(O0(i,n)|0)+A|A&0|0),r|0|0|0}function De(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0;return n=y,y=y+16|0,f=n|0,l=t>>31|((t|0)<0?-1:0)<<1,s=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1,g=i>>31|((i|0)<0?-1:0)<<1,a=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1,A=u0(l^A|0,s^t|0,l|0,s|0)|0,t=b()|0,Ir(A,t,u0(g^r|0,a^i|0,g|0,a|0)|0,b()|0,f)|0,i=u0(e[f>>2]^l|0,e[f+4>>2]^s|0,l|0,s|0)|0,r=b()|0,y=n,MA(r|0),i|0}function Me(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0;return s=y,y=y+16|0,n=s|0,Ir(A,t,r,i,n)|0,y=s,MA(e[n+4>>2]|0),e[n>>2]|0|0}function _n(A,t,r){return A=A|0,t=t|0,r=r|0,(r|0)<32?(MA(t>>r|0),A>>>r|(t&(1<<r)-1)<<32-r):(MA(((t|0)<0?-1:0)|0),t>>r-32|0)}function eA(A,t,r){return A=A|0,t=t|0,r=r|0,(r|0)<32?(MA(t>>>r|0),A>>>r|(t&(1<<r)-1)<<32-r):(MA(0),t>>>r-32|0)}function sA(A,t,r){return A=A|0,t=t|0,r=r|0,(r|0)<32?(MA(t<<r|(A&(1<<r)-1<<32-r)>>>32-r|0),A<<r):(MA(A<<r-32|0),0)}function Qn(A,t,r){return A=A|0,t=t|0,t=z0(t)|0,(t|0)==32&&(t=t+(z0(A)|0)|0),MA(0),t|0}function Sn(A,t){return A=+A,t=+t,A!=A?+t:t!=t?+A:+Qo(+A,+t)}function Tt(A,t){return A=+A,t=+t,A!=A?+t:t!=t?+A:+fr(+A,+t)}function It(A){return A=+A,A>=0?+s0(A+.5):+ke(A-.5)}function Pe(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0;if((r|0)>=8192)return To(A|0,t|0,r|0)|0,A|0;if(s=A|0,n=A+r|0,(A&3)==(t&3)){for(;A&3;){if(!r)return s|0;tA[A>>0]=tA[t>>0]|0,A=A+1|0,t=t+1|0,r=r-1|0}for(r=n&-4|0,i=r-64|0;(A|0)<=(i|0);)e[A>>2]=e[t>>2],e[A+4>>2]=e[t+4>>2],e[A+8>>2]=e[t+8>>2],e[A+12>>2]=e[t+12>>2],e[A+16>>2]=e[t+16>>2],e[A+20>>2]=e[t+20>>2],e[A+24>>2]=e[t+24>>2],e[A+28>>2]=e[t+28>>2],e[A+32>>2]=e[t+32>>2],e[A+36>>2]=e[t+36>>2],e[A+40>>2]=e[t+40>>2],e[A+44>>2]=e[t+44>>2],e[A+48>>2]=e[t+48>>2],e[A+52>>2]=e[t+52>>2],e[A+56>>2]=e[t+56>>2],e[A+60>>2]=e[t+60>>2],A=A+64|0,t=t+64|0;for(;(A|0)<(r|0);)e[A>>2]=e[t>>2],A=A+4|0,t=t+4|0}else for(r=n-4|0;(A|0)<(r|0);)tA[A>>0]=tA[t>>0]|0,tA[A+1>>0]=tA[t+1>>0]|0,tA[A+2>>0]=tA[t+2>>0]|0,tA[A+3>>0]=tA[t+3>>0]|0,A=A+4|0,t=t+4|0;for(;(A|0)<(n|0);)tA[A>>0]=tA[t>>0]|0,A=A+1|0,t=t+1|0;return s|0}function Ae(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0;if(s=A+r|0,t=t&255,(r|0)>=67){for(;A&3;)tA[A>>0]=t,A=A+1|0;for(i=s&-4|0,l=t|t<<8|t<<16|t<<24,n=i-64|0;(A|0)<=(n|0);)e[A>>2]=l,e[A+4>>2]=l,e[A+8>>2]=l,e[A+12>>2]=l,e[A+16>>2]=l,e[A+20>>2]=l,e[A+24>>2]=l,e[A+28>>2]=l,e[A+32>>2]=l,e[A+36>>2]=l,e[A+40>>2]=l,e[A+44>>2]=l,e[A+48>>2]=l,e[A+52>>2]=l,e[A+56>>2]=l,e[A+60>>2]=l,A=A+64|0;for(;(A|0)<(i|0);)e[A>>2]=l,A=A+4|0}for(;(A|0)<(s|0);)tA[A>>0]=t,A=A+1|0;return s-r|0}function Tn(A){return A=+A,A>=0?+s0(A+.5):+ke(A-.5)}function ee(A){A=A|0;var t=0,r=0,i=0;return i=So()|0,r=e[VA>>2]|0,t=r+A|0,(A|0)>0&(t|0)<(r|0)|(t|0)<0?(Oo(t|0)|0,Ui(12),-1):(t|0)>(i|0)&&!(Io(t|0)|0)?(Ui(12),-1):(e[VA>>2]=t,r|0)}return{___divdi3:J0,___muldi3:l0,___remdi3:De,___uremdi3:Me,_areNeighborCells:al,_bitshift64Ashr:_n,_bitshift64Lshr:eA,_bitshift64Shl:sA,_calloc:v0,_cellAreaKm2:Yl,_cellAreaM2:jl,_cellAreaRads2:_r,_cellToBoundary:de,_cellToCenterChild:hn,_cellToChildPos:Il,_cellToChildren:dl,_cellToChildrenSize:He,_cellToLatLng:ae,_cellToLocalIj:Zl,_cellToParent:kr,_cellToVertex:P0,_cellToVertexes:p1,_cellsToDirectedEdge:gl,_cellsToLinkedMultiPolygon:Ko,_childPosToCell:Ol,_compactCells:xl,_destroyLinkedMultiPolygon:pn,_directedEdgeToBoundary:Pt,_directedEdgeToCells:ml,_edgeLengthKm:Vl,_edgeLengthM:Kl,_edgeLengthRads:Hl,_emscripten_replace_memory:Ro,_free:yA,_getBaseCellNumber:fn,_getDirectedEdgeDestination:wl,_getDirectedEdgeOrigin:cl,_getHexagonAreaAvgKm2:cn,_getHexagonAreaAvgM2:Gl,_getHexagonEdgeLengthAvgKm:Ul,_getHexagonEdgeLengthAvgM:zl,_getIcosahedronFaces:an,_getNumCells:_t,_getPentagons:Dr,_getRes0Cells:$o,_getResolution:Cl,_greatCircleDistanceKm:Ke,_greatCircleDistanceM:Ll,_greatCircleDistanceRads:Rl,_gridDisk:zi,_gridDiskDistances:Yi,_gridDistance:Jl,_gridPathCells:e1,_gridPathCellsSize:A1,_gridRing:zo,_gridRingUnsafe:Hi,_i64Add:EA,_i64Subtract:u0,_isPentagon:WA,_isResClassIII:Pl,_isValidCell:vr,_isValidDirectedEdge:pl,_isValidVertex:E1,_latLngToCell:dr,_llvm_ctlz_i64:Qn,_llvm_maxnum_f64:Sn,_llvm_minnum_f64:Tt,_llvm_round_f64:It,_localIjToCell:$l,_malloc:L0,_maxFaceCount:Sl,_maxGridDiskSize:Uo,_maxPolygonToCellsSize:jo,_maxPolygonToCellsSizeExperimental:i1,_memcpy:Pe,_memset:Ae,_originToDirectedEdges:El,_pentagonCount:Tl,_polygonToCells:Ho,_polygonToCellsExperimental:r1,_readInt64AsDoubleFromPointer:a1,_res0CellCount:Zo,_round:Tn,_sbrk:ee,_sizeOfCellBoundary:o1,_sizeOfCoordIJ:h1,_sizeOfGeoLoop:l1,_sizeOfGeoPolygon:f1,_sizeOfH3Index:n1,_sizeOfLatLng:s1,_sizeOfLinkedGeoPolygon:u1,_uncompactCells:Dl,_uncompactCellsSize:Ml,_vertexToLatLng:m1,establishStackSpace:Go,stackAlloc:Lo,stackRestore:No,stackSave:Fo}})(Co,xo,R);o.___divdi3=rA.___divdi3,o.___muldi3=rA.___muldi3,o.___remdi3=rA.___remdi3,o.___uremdi3=rA.___uremdi3,o._areNeighborCells=rA._areNeighborCells,o._bitshift64Ashr=rA._bitshift64Ashr,o._bitshift64Lshr=rA._bitshift64Lshr,o._bitshift64Shl=rA._bitshift64Shl,o._calloc=rA._calloc,o._cellAreaKm2=rA._cellAreaKm2,o._cellAreaM2=rA._cellAreaM2,o._cellAreaRads2=rA._cellAreaRads2,o._cellToBoundary=rA._cellToBoundary,o._cellToCenterChild=rA._cellToCenterChild,o._cellToChildPos=rA._cellToChildPos,o._cellToChildren=rA._cellToChildren,o._cellToChildrenSize=rA._cellToChildrenSize,o._cellToLatLng=rA._cellToLatLng,o._cellToLocalIj=rA._cellToLocalIj,o._cellToParent=rA._cellToParent,o._cellToVertex=rA._cellToVertex,o._cellToVertexes=rA._cellToVertexes,o._cellsToDirectedEdge=rA._cellsToDirectedEdge,o._cellsToLinkedMultiPolygon=rA._cellsToLinkedMultiPolygon,o._childPosToCell=rA._childPosToCell,o._compactCells=rA._compactCells,o._destroyLinkedMultiPolygon=rA._destroyLinkedMultiPolygon,o._directedEdgeToBoundary=rA._directedEdgeToBoundary,o._directedEdgeToCells=rA._directedEdgeToCells,o._edgeLengthKm=rA._edgeLengthKm,o._edgeLengthM=rA._edgeLengthM,o._edgeLengthRads=rA._edgeLengthRads;var Do=o._emscripten_replace_memory=rA._emscripten_replace_memory;o._free=rA._free,o._getBaseCellNumber=rA._getBaseCellNumber,o._getDirectedEdgeDestination=rA._getDirectedEdgeDestination,o._getDirectedEdgeOrigin=rA._getDirectedEdgeOrigin,o._getHexagonAreaAvgKm2=rA._getHexagonAreaAvgKm2,o._getHexagonAreaAvgM2=rA._getHexagonAreaAvgM2,o._getHexagonEdgeLengthAvgKm=rA._getHexagonEdgeLengthAvgKm,o._getHexagonEdgeLengthAvgM=rA._getHexagonEdgeLengthAvgM,o._getIcosahedronFaces=rA._getIcosahedronFaces,o._getNumCells=rA._getNumCells,o._getPentagons=rA._getPentagons,o._getRes0Cells=rA._getRes0Cells,o._getResolution=rA._getResolution,o._greatCircleDistanceKm=rA._greatCircleDistanceKm,o._greatCircleDistanceM=rA._greatCircleDistanceM,o._greatCircleDistanceRads=rA._greatCircleDistanceRads,o._gridDisk=rA._gridDisk,o._gridDiskDistances=rA._gridDiskDistances,o._gridDistance=rA._gridDistance,o._gridPathCells=rA._gridPathCells,o._gridPathCellsSize=rA._gridPathCellsSize,o._gridRing=rA._gridRing,o._gridRingUnsafe=rA._gridRingUnsafe,o._i64Add=rA._i64Add,o._i64Subtract=rA._i64Subtract,o._isPentagon=rA._isPentagon,o._isResClassIII=rA._isResClassIII,o._isValidCell=rA._isValidCell,o._isValidDirectedEdge=rA._isValidDirectedEdge,o._isValidVertex=rA._isValidVertex,o._latLngToCell=rA._latLngToCell,o._llvm_ctlz_i64=rA._llvm_ctlz_i64,o._llvm_maxnum_f64=rA._llvm_maxnum_f64,o._llvm_minnum_f64=rA._llvm_minnum_f64,o._llvm_round_f64=rA._llvm_round_f64,o._localIjToCell=rA._localIjToCell,o._malloc=rA._malloc,o._maxFaceCount=rA._maxFaceCount,o._maxGridDiskSize=rA._maxGridDiskSize,o._maxPolygonToCellsSize=rA._maxPolygonToCellsSize,o._maxPolygonToCellsSizeExperimental=rA._maxPolygonToCellsSizeExperimental,o._memcpy=rA._memcpy,o._memset=rA._memset,o._originToDirectedEdges=rA._originToDirectedEdges,o._pentagonCount=rA._pentagonCount,o._polygonToCells=rA._polygonToCells,o._polygonToCellsExperimental=rA._polygonToCellsExperimental,o._readInt64AsDoubleFromPointer=rA._readInt64AsDoubleFromPointer,o._res0CellCount=rA._res0CellCount,o._round=rA._round,o._sbrk=rA._sbrk,o._sizeOfCellBoundary=rA._sizeOfCellBoundary,o._sizeOfCoordIJ=rA._sizeOfCoordIJ,o._sizeOfGeoLoop=rA._sizeOfGeoLoop,o._sizeOfGeoPolygon=rA._sizeOfGeoPolygon,o._sizeOfH3Index=rA._sizeOfH3Index,o._sizeOfLatLng=rA._sizeOfLatLng,o._sizeOfLinkedGeoPolygon=rA._sizeOfLinkedGeoPolygon,o._uncompactCells=rA._uncompactCells,o._uncompactCellsSize=rA._uncompactCellsSize,o._vertexToLatLng=rA._vertexToLatLng,o.establishStackSpace=rA.establishStackSpace;var Li=o.stackAlloc=rA.stackAlloc,Mo=o.stackRestore=rA.stackRestore,Po=o.stackSave=rA.stackSave;if(o.asm=rA,o.cwrap=RA,o.setValue=J,o.getValue=oA,U0){Oi(U0)||(U0=m(U0));{go();var sr=function(W){W.byteLength&&(W=new Uint8Array(W)),N.set(W,q),o.memoryInitializerRequest&&delete o.memoryInitializerRequest.response,co()},Fi=function(){k(U0,sr,function(){throw"could not load memory initializer "+U0})},Ni=nr(U0);if(Ni)sr(Ni.buffer);else if(o.memoryInitializerRequest){var Gi=function(){var W=o.memoryInitializerRequest,AA=W.response;if(W.status!==200&&W.status!==0){var fA=nr(o.memoryInitializerRequestURL);if(fA)AA=fA.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+W.status+", retrying "+U0),Fi();return}}sr(AA)};o.memoryInitializerRequest.response?setTimeout(Gi,0):o.memoryInitializerRequest.addEventListener("load",Gi)}else Fi()}}var Ct;Ye=function W(){Ct||or(),Ct||(Ye=W)};function or(W){if(oe>0||(n0(),oe>0))return;function AA(){Ct||(Ct=!0,!lA&&(ye(),Ue(),o.onRuntimeInitialized&&o.onRuntimeInitialized(),ze()))}o.setStatus?(o.setStatus("Running..."),setTimeout(function(){setTimeout(function(){o.setStatus("")},1),AA()},1)):AA()}o.run=or;function be(W){throw o.onAbort&&o.onAbort(W),W+="",C(W),_(W),lA=!0,"abort("+W+"). Build with -s ASSERTIONS=1 for more info."}if(o.abort=be,o.preInit)for(typeof o.preInit=="function"&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();return or(),u})(typeof Je=="object"?Je:{}),CA="number",bA=CA,_e=CA,dA=CA,xA=CA,r0=CA,hA=CA,Fn=[["sizeOfH3Index",CA],["sizeOfLatLng",CA],["sizeOfCellBoundary",CA],["sizeOfGeoLoop",CA],["sizeOfGeoPolygon",CA],["sizeOfLinkedGeoPolygon",CA],["sizeOfCoordIJ",CA],["readInt64AsDoubleFromPointer",CA],["isValidCell",_e,[dA,xA]],["latLngToCell",bA,[CA,CA,r0,hA]],["cellToLatLng",bA,[dA,xA,hA]],["cellToBoundary",bA,[dA,xA,hA]],["maxGridDiskSize",bA,[CA,hA]],["gridDisk",bA,[dA,xA,CA,hA]],["gridDiskDistances",bA,[dA,xA,CA,hA,hA]],["gridRing",bA,[dA,xA,CA,hA]],["gridRingUnsafe",bA,[dA,xA,CA,hA]],["maxPolygonToCellsSize",bA,[hA,r0,CA,hA]],["polygonToCells",bA,[hA,r0,CA,hA]],["maxPolygonToCellsSizeExperimental",bA,[hA,r0,CA,hA]],["polygonToCellsExperimental",bA,[hA,r0,CA,CA,CA,hA]],["cellsToLinkedMultiPolygon",bA,[hA,CA,hA]],["destroyLinkedMultiPolygon",null,[hA]],["compactCells",bA,[hA,hA,CA,CA]],["uncompactCells",bA,[hA,CA,CA,hA,CA,r0]],["uncompactCellsSize",bA,[hA,CA,CA,r0,hA]],["isPentagon",_e,[dA,xA]],["isResClassIII",_e,[dA,xA]],["getBaseCellNumber",CA,[dA,xA]],["getResolution",CA,[dA,xA]],["maxFaceCount",bA,[dA,xA,hA]],["getIcosahedronFaces",bA,[dA,xA,hA]],["cellToParent",bA,[dA,xA,r0,hA]],["cellToChildren",bA,[dA,xA,r0,hA]],["cellToCenterChild",bA,[dA,xA,r0,hA]],["cellToChildrenSize",bA,[dA,xA,r0,hA]],["cellToChildPos",bA,[dA,xA,r0,hA]],["childPosToCell",bA,[CA,CA,dA,xA,r0,hA]],["areNeighborCells",bA,[dA,xA,dA,xA,hA]],["cellsToDirectedEdge",bA,[dA,xA,dA,xA,hA]],["getDirectedEdgeOrigin",bA,[dA,xA,hA]],["getDirectedEdgeDestination",bA,[dA,xA,hA]],["isValidDirectedEdge",_e,[dA,xA]],["directedEdgeToCells",bA,[dA,xA,hA]],["originToDirectedEdges",bA,[dA,xA,hA]],["directedEdgeToBoundary",bA,[dA,xA,hA]],["gridDistance",bA,[dA,xA,dA,xA,hA]],["gridPathCells",bA,[dA,xA,dA,xA,hA]],["gridPathCellsSize",bA,[dA,xA,dA,xA,hA]],["cellToLocalIj",bA,[dA,xA,dA,xA,CA,hA]],["localIjToCell",bA,[dA,xA,hA,CA,hA]],["getHexagonAreaAvgM2",bA,[r0,hA]],["getHexagonAreaAvgKm2",bA,[r0,hA]],["getHexagonEdgeLengthAvgM",bA,[r0,hA]],["getHexagonEdgeLengthAvgKm",bA,[r0,hA]],["greatCircleDistanceM",CA,[hA,hA]],["greatCircleDistanceKm",CA,[hA,hA]],["greatCircleDistanceRads",CA,[hA,hA]],["cellAreaM2",bA,[dA,xA,hA]],["cellAreaKm2",bA,[dA,xA,hA]],["cellAreaRads2",bA,[dA,xA,hA]],["edgeLengthM",bA,[dA,xA,hA]],["edgeLengthKm",bA,[dA,xA,hA]],["edgeLengthRads",bA,[dA,xA,hA]],["getNumCells",bA,[r0,hA]],["getRes0Cells",bA,[hA]],["res0CellCount",CA],["getPentagons",bA,[CA,hA]],["pentagonCount",CA],["cellToVertex",bA,[dA,xA,CA,hA]],["cellToVertexes",bA,[dA,xA,hA]],["vertexToLatLng",bA,[dA,xA,hA]],["isValidVertex",_e,[dA,xA]]],j0={};Fn.forEach(function(o){j0[o[0]]=Je.cwrap.apply(Je,o)}),j0.sizeOfH3Index(),j0.sizeOfLatLng(),j0.sizeOfCellBoundary(),j0.sizeOfGeoPolygon(),j0.sizeOfGeoLoop(),j0.sizeOfLinkedGeoPolygon(),j0.sizeOfCoordIJ();class Nn{add(o,h,c){if(typeof arguments[0]!="string")for(let w in arguments[0])this.add(w,arguments[0][w],arguments[1]);else(Array.isArray(o)?o:[o]).forEach(function(w){this[w]=this[w]||[],h&&this[w][c?"unshift":"push"](h)},this)}run(o,h){this[o]=this[o]||[],this[o].forEach(function(c){c.call(h&&h.context?h.context:h,h)})}}class Gn{constructor(o){this.jsep=o,this.registered={}}register(...o){o.forEach(h=>{if(typeof h!="object"||!h.name||!h.init)throw new Error("Invalid JSEP plugin format");this.registered[h.name]||(h.init(this.jsep),this.registered[h.name]=h)})}}class X{static get version(){return"1.4.0"}static toString(){return"JavaScript Expression Parser (JSEP) v"+X.version}static addUnaryOp(o){return X.max_unop_len=Math.max(o.length,X.max_unop_len),X.unary_ops[o]=1,X}static addBinaryOp(o,h,c){return X.max_binop_len=Math.max(o.length,X.max_binop_len),X.binary_ops[o]=h,c?X.right_associative.add(o):X.right_associative.delete(o),X}static addIdentifierChar(o){return X.additional_identifier_chars.add(o),X}static addLiteral(o,h){return X.literals[o]=h,X}static removeUnaryOp(o){return delete X.unary_ops[o],o.length===X.max_unop_len&&(X.max_unop_len=X.getMaxKeyLen(X.unary_ops)),X}static removeAllUnaryOps(){return X.unary_ops={},X.max_unop_len=0,X}static removeIdentifierChar(o){return X.additional_identifier_chars.delete(o),X}static removeBinaryOp(o){return delete X.binary_ops[o],o.length===X.max_binop_len&&(X.max_binop_len=X.getMaxKeyLen(X.binary_ops)),X.right_associative.delete(o),X}static removeAllBinaryOps(){return X.binary_ops={},X.max_binop_len=0,X}static removeLiteral(o){return delete X.literals[o],X}static removeAllLiterals(){return X.literals={},X}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(o){this.expr=o,this.index=0}static parse(o){return new X(o).parse()}static getMaxKeyLen(o){return Math.max(0,...Object.keys(o).map(h=>h.length))}static isDecimalDigit(o){return o>=48&&o<=57}static binaryPrecedence(o){return X.binary_ops[o]||0}static isIdentifierStart(o){return o>=65&&o<=90||o>=97&&o<=122||o>=128&&!X.binary_ops[String.fromCharCode(o)]||X.additional_identifier_chars.has(String.fromCharCode(o))}static isIdentifierPart(o){return X.isIdentifierStart(o)||X.isDecimalDigit(o)}throwError(o){const h=new Error(o+" at character "+this.index);throw h.index=this.index,h.description=o,h}runHook(o,h){if(X.hooks[o]){const c={context:this,node:h};return X.hooks.run(o,c),c.node}return h}searchHook(o){if(X.hooks[o]){const h={context:this};return X.hooks[o].find(function(c){return c.call(h.context,h),h.node}),h.node}}gobbleSpaces(){let o=this.code;for(;o===X.SPACE_CODE||o===X.TAB_CODE||o===X.LF_CODE||o===X.CR_CODE;)o=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");const o=this.gobbleExpressions(),h=o.length===1?o[0]:{type:X.COMPOUND,body:o};return this.runHook("after-all",h)}gobbleExpressions(o){let h=[],c,w;for(;this.index<this.expr.length;)if(c=this.code,c===X.SEMCOL_CODE||c===X.COMMA_CODE)this.index++;else if(w=this.gobbleExpression())h.push(w);else if(this.index<this.expr.length){if(c===o)break;this.throwError(\'Unexpected "\'+this.char+\'"\')}return h}gobbleExpression(){const o=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",o)}gobbleBinaryOp(){this.gobbleSpaces();let o=this.expr.substr(this.index,X.max_binop_len),h=o.length;for(;h>0;){if(X.binary_ops.hasOwnProperty(o)&&(!X.isIdentifierStart(this.code)||this.index+o.length<this.expr.length&&!X.isIdentifierPart(this.expr.charCodeAt(this.index+o.length))))return this.index+=h,o;o=o.substr(0,--h)}return!1}gobbleBinaryExpression(){let o,h,c,w,m,k,C,_,P;if(k=this.gobbleToken(),!k||(h=this.gobbleBinaryOp(),!h))return k;for(m={value:h,prec:X.binaryPrecedence(h),right_a:X.right_associative.has(h)},C=this.gobbleToken(),C||this.throwError("Expected expression after "+h),w=[k,m,C];h=this.gobbleBinaryOp();){if(c=X.binaryPrecedence(h),c===0){this.index-=h.length;break}m={value:h,prec:c,right_a:X.right_associative.has(h)},P=h;const Y=O=>m.right_a&&O.right_a?c>O.prec:c<=O.prec;for(;w.length>2&&Y(w[w.length-2]);)C=w.pop(),h=w.pop().value,k=w.pop(),o={type:X.BINARY_EXP,operator:h,left:k,right:C},w.push(o);o=this.gobbleToken(),o||this.throwError("Expected expression after "+P),w.push(m,o)}for(_=w.length-1,o=w[_];_>1;)o={type:X.BINARY_EXP,operator:w[_-1].value,left:w[_-2],right:o},_-=2;return o}gobbleToken(){let o,h,c,w;if(this.gobbleSpaces(),w=this.searchHook("gobble-token"),w)return this.runHook("after-token",w);if(o=this.code,X.isDecimalDigit(o)||o===X.PERIOD_CODE)return this.gobbleNumericLiteral();if(o===X.SQUOTE_CODE||o===X.DQUOTE_CODE)w=this.gobbleStringLiteral();else if(o===X.OBRACK_CODE)w=this.gobbleArray();else{for(h=this.expr.substr(this.index,X.max_unop_len),c=h.length;c>0;){if(X.unary_ops.hasOwnProperty(h)&&(!X.isIdentifierStart(this.code)||this.index+h.length<this.expr.length&&!X.isIdentifierPart(this.expr.charCodeAt(this.index+h.length)))){this.index+=c;const m=this.gobbleToken();return m||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:X.UNARY_EXP,operator:h,argument:m,prefix:!0})}h=h.substr(0,--c)}X.isIdentifierStart(o)?(w=this.gobbleIdentifier(),X.literals.hasOwnProperty(w.name)?w={type:X.LITERAL,value:X.literals[w.name],raw:w.name}:w.name===X.this_str&&(w={type:X.THIS_EXP})):o===X.OPAREN_CODE&&(w=this.gobbleGroup())}return w?(w=this.gobbleTokenProperty(w),this.runHook("after-token",w)):this.runHook("after-token",!1)}gobbleTokenProperty(o){this.gobbleSpaces();let h=this.code;for(;h===X.PERIOD_CODE||h===X.OBRACK_CODE||h===X.OPAREN_CODE||h===X.QUMARK_CODE;){let c;if(h===X.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==X.PERIOD_CODE)break;c=!0,this.index+=2,this.gobbleSpaces(),h=this.code}this.index++,h===X.OBRACK_CODE?(o={type:X.MEMBER_EXP,computed:!0,object:o,property:this.gobbleExpression()},o.property||this.throwError(\'Unexpected "\'+this.char+\'"\'),this.gobbleSpaces(),h=this.code,h!==X.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):h===X.OPAREN_CODE?o={type:X.CALL_EXP,arguments:this.gobbleArguments(X.CPAREN_CODE),callee:o}:(h===X.PERIOD_CODE||c)&&(c&&this.index--,this.gobbleSpaces(),o={type:X.MEMBER_EXP,computed:!1,object:o,property:this.gobbleIdentifier()}),c&&(o.optional=!0),this.gobbleSpaces(),h=this.code}return o}gobbleNumericLiteral(){let o="",h,c;for(;X.isDecimalDigit(this.code);)o+=this.expr.charAt(this.index++);if(this.code===X.PERIOD_CODE)for(o+=this.expr.charAt(this.index++);X.isDecimalDigit(this.code);)o+=this.expr.charAt(this.index++);if(h=this.char,h==="e"||h==="E"){for(o+=this.expr.charAt(this.index++),h=this.char,(h==="+"||h==="-")&&(o+=this.expr.charAt(this.index++));X.isDecimalDigit(this.code);)o+=this.expr.charAt(this.index++);X.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+o+this.char+")")}return c=this.code,X.isIdentifierStart(c)?this.throwError("Variable names cannot start with a number ("+o+this.char+")"):(c===X.PERIOD_CODE||o.length===1&&o.charCodeAt(0)===X.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:X.LITERAL,value:parseFloat(o),raw:o}}gobbleStringLiteral(){let o="";const h=this.index,c=this.expr.charAt(this.index++);let w=!1;for(;this.index<this.expr.length;){let m=this.expr.charAt(this.index++);if(m===c){w=!0;break}else if(m==="\\\\")switch(m=this.expr.charAt(this.index++),m){case"n":o+=`\n`;break;case"r":o+="\\r";break;case"t":o+=" ";break;case"b":o+="\\b";break;case"f":o+="\\f";break;case"v":o+="\\v";break;default:o+=m}else o+=m}return w||this.throwError(\'Unclosed quote after "\'+o+\'"\'),{type:X.LITERAL,value:o,raw:this.expr.substring(h,this.index)}}gobbleIdentifier(){let o=this.code,h=this.index;for(X.isIdentifierStart(o)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length&&(o=this.code,X.isIdentifierPart(o));)this.index++;return{type:X.IDENTIFIER,name:this.expr.slice(h,this.index)}}gobbleArguments(o){const h=[];let c=!1,w=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let m=this.code;if(m===o){c=!0,this.index++,o===X.CPAREN_CODE&&w&&w>=h.length&&this.throwError("Unexpected token "+String.fromCharCode(o));break}else if(m===X.COMMA_CODE){if(this.index++,w++,w!==h.length){if(o===X.CPAREN_CODE)this.throwError("Unexpected token ,");else if(o===X.CBRACK_CODE)for(let k=h.length;k<w;k++)h.push(null)}}else if(h.length!==w&&w!==0)this.throwError("Expected comma");else{const k=this.gobbleExpression();(!k||k.type===X.COMPOUND)&&this.throwError("Expected comma"),h.push(k)}}return c||this.throwError("Expected "+String.fromCharCode(o)),h}gobbleGroup(){this.index++;let o=this.gobbleExpressions(X.CPAREN_CODE);if(this.code===X.CPAREN_CODE)return this.index++,o.length===1?o[0]:o.length?{type:X.SEQUENCE_EXP,expressions:o}:!1;this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:X.ARRAY_EXP,elements:this.gobbleArguments(X.CBRACK_CODE)}}}const Un=new Nn;Object.assign(X,{hooks:Un,plugins:new Gn(X),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"??":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10,"**":11},right_associative:new Set(["**"]),additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"}),X.max_unop_len=X.getMaxKeyLen(X.unary_ops),X.max_binop_len=X.getMaxKeyLen(X.binary_ops);const At=u=>new X(u).parse(),zn=Object.getOwnPropertyNames(class{});Object.getOwnPropertyNames(X).filter(u=>!zn.includes(u)&&At[u]===void 0).forEach(u=>{At[u]=X[u]}),At.Jsep=X;const Yn="ConditionalExpression";var jn={name:"ternary",init(u){u.hooks.add("after-expression",function(h){if(h.node&&this.code===u.QUMARK_CODE){this.index++;const c=h.node,w=this.gobbleExpression();if(w||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===u.COLON_CODE){this.index++;const m=this.gobbleExpression();if(m||this.throwError("Expected expression"),h.node={type:Yn,test:c,consequent:w,alternate:m},c.operator&&u.binary_ops[c.operator]<=.9){let k=c;for(;k.right.operator&&u.binary_ops[k.right.operator]<=.9;)k=k.right;h.node.test=k.right,k.right=h.node,h.node=c}}else this.throwError("Expected :")}})}};At.plugins.register(jn);function Hn(u){return Math.abs(u=Math.round(u))>=1e21?u.toLocaleString("en").replace(/,/g,""):u.toString(10)}function et(u,o){if((h=(u=o?u.toExponential(o-1):u.toExponential()).indexOf("e"))<0)return null;var h,c=u.slice(0,h);return[c.length>1?c[0]+c.slice(2):c,+u.slice(h+1)]}function Vn(u){return u=et(Math.abs(u)),u?u[1]:NaN}function Kn(u,o){return function(h,c){for(var w=h.length,m=[],k=0,C=u[0],_=0;w>0&&C>0&&(_+C+1>c&&(C=Math.max(1,c-_)),m.push(h.substring(w-=C,w+C)),!((_+=C+1)>c));)C=u[k=(k+1)%u.length];return m.reverse().join(o)}}function qn(u){return function(o){return o.replace(/[0-9]/g,function(h){return u[+h]})}}var Wn=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function Rt(u){if(!(o=Wn.exec(u)))throw new Error("invalid format: "+u);var o;return new Lt({fill:o[1],align:o[2],sign:o[3],symbol:o[4],zero:o[5],width:o[6],comma:o[7],precision:o[8]&&o[8].slice(1),trim:o[9],type:o[10]})}Rt.prototype=Lt.prototype;function Lt(u){this.fill=u.fill===void 0?" ":u.fill+"",this.align=u.align===void 0?">":u.align+"",this.sign=u.sign===void 0?"-":u.sign+"",this.symbol=u.symbol===void 0?"":u.symbol+"",this.zero=!!u.zero,this.width=u.width===void 0?void 0:+u.width,this.comma=!!u.comma,this.precision=u.precision===void 0?void 0:+u.precision,this.trim=!!u.trim,this.type=u.type===void 0?"":u.type+""}Lt.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Xn(u){A:for(var o=u.length,h=1,c=-1,w;h<o;++h)switch(u[h]){case".":c=w=h;break;case"0":c===0&&(c=h),w=h;break;default:if(!+u[h])break A;c>0&&(c=0);break}return c>0?u.slice(0,c)+u.slice(w+1):u}var Rr;function Zn(u,o){var h=et(u,o);if(!h)return u+"";var c=h[0],w=h[1],m=w-(Rr=Math.max(-8,Math.min(8,Math.floor(w/3)))*3)+1,k=c.length;return m===k?c:m>k?c+new Array(m-k+1).join("0"):m>0?c.slice(0,m)+"."+c.slice(m):"0."+new Array(1-m).join("0")+et(u,Math.max(0,o+m-1))[0]}function Lr(u,o){var h=et(u,o);if(!h)return u+"";var c=h[0],w=h[1];return w<0?"0."+new Array(-w).join("0")+c:c.length>w+1?c.slice(0,w+1)+"."+c.slice(w+1):c+new Array(w-c.length+2).join("0")}var Fr={"%":(u,o)=>(u*100).toFixed(o),b:u=>Math.round(u).toString(2),c:u=>u+"",d:Hn,e:(u,o)=>u.toExponential(o),f:(u,o)=>u.toFixed(o),g:(u,o)=>u.toPrecision(o),o:u=>Math.round(u).toString(8),p:(u,o)=>Lr(u*100,o),r:Lr,s:Zn,X:u=>Math.round(u).toString(16).toUpperCase(),x:u=>Math.round(u).toString(16)};function Nr(u){return u}var Gr=Array.prototype.map,Ur=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function $n(u){var o=u.grouping===void 0||u.thousands===void 0?Nr:Kn(Gr.call(u.grouping,Number),u.thousands+""),h=u.currency===void 0?"":u.currency[0]+"",c=u.currency===void 0?"":u.currency[1]+"",w=u.decimal===void 0?".":u.decimal+"",m=u.numerals===void 0?Nr:qn(Gr.call(u.numerals,String)),k=u.percent===void 0?"%":u.percent+"",C=u.minus===void 0?"−":u.minus+"",_=u.nan===void 0?"NaN":u.nan+"";function P(O){O=Rt(O);var q=O.fill,J=O.align,oA=O.sign,lA=O.symbol,gA=O.zero,aA=O.width,Z=O.comma,RA=O.precision,FA=O.trim,TA=O.type;TA==="n"?(Z=!0,TA="g"):Fr[TA]||(RA===void 0&&(RA=12),FA=!0,TA="g"),(gA||q==="0"&&J==="=")&&(gA=!0,q="0",J="=");var GA=lA==="$"?h:lA==="#"&&/[boxX]/.test(TA)?"0"+TA.toLowerCase():"",XA=lA==="$"?c:/[%p]/.test(TA)?k:"",B=Fr[TA],M=/[defgprs%]/.test(TA);RA=RA===void 0?6:/[gprs]/.test(TA)?Math.max(1,Math.min(21,RA)):Math.max(0,Math.min(20,RA));function Q(R){var I=GA,N=XA,V,L,U;if(TA==="c")N=B(R)+N,R="";else{R=+R;var H=R<0||1/R<0;if(R=isNaN(R)?_:B(Math.abs(R),RA),FA&&(R=Xn(R)),H&&+R==0&&oA!=="+"&&(H=!1),I=(H?oA==="("?oA:C:oA==="-"||oA==="("?"":oA)+I,N=(TA==="s"?Ur[8+Rr/3]:"")+N+(H&&oA==="("?")":""),M){for(V=-1,L=R.length;++V<L;)if(U=R.charCodeAt(V),48>U||U>57){N=(U===46?w+R.slice(V+1):R.slice(V))+N,R=R.slice(0,V);break}}}Z&&!gA&&(R=o(R,1/0));var j=I.length+R.length+N.length,$=j<aA?new Array(aA-j+1).join(q):"";switch(Z&&gA&&(R=o($+R,$.length?aA-N.length:1/0),$=""),J){case"<":R=I+R+N+$;break;case"=":R=I+$+R+N;break;case"^":R=$.slice(0,j=$.length>>1)+I+R+N+$.slice(j);break;default:R=$+I+R+N;break}return m(R)}return Q.toString=function(){return O+""},Q}function Y(O,q){var J=P((O=Rt(O),O.type="f",O)),oA=Math.max(-8,Math.min(8,Math.floor(Vn(q)/3)))*3,lA=Math.pow(10,-oA),gA=Ur[8+oA/3];return function(aA){return J(lA*aA)+gA}}return{format:P,formatPrefix:Y}}var tt,Ft;Jn({thousands:",",grouping:[3],currency:["$",""]});function Jn(u){return tt=$n(u),Ft=tt.format,tt.formatPrefix,tt}var As=Object.create,Nt=Object.defineProperty,es=Object.getOwnPropertyDescriptor,zr=Object.getOwnPropertyNames,ts=Object.getPrototypeOf,rs=Object.prototype.hasOwnProperty,is=(u,o,h)=>o in u?Nt(u,o,{enumerable:!0,configurable:!0,writable:!0,value:h}):u[o]=h,ns=(u,o)=>function(){return o||(0,u[zr(u)[0]])((o={exports:{}}).exports,o),o.exports},ss=(u,o,h,c)=>{if(o&&typeof o=="object"||typeof o=="function")for(let w of zr(o))!rs.call(u,w)&&w!==h&&Nt(u,w,{get:()=>o[w],enumerable:!(c=es(o,w))||c.enumerable});return u},os=(u,o,h)=>(h=u!=null?As(ts(u)):{},ss(Nt(h,"default",{value:u,enumerable:!0}),u)),pA=(u,o,h)=>is(u,typeof o!="symbol"?o+"":o,h),ls=ns({"node_modules/thenby/thenBy.module.js"(u,o){o.exports=(function(){function h(k){return k}function c(k){return typeof k=="string"?k.toLowerCase():k}function w(k,C){if(C=typeof C=="object"?C:{direction:C},typeof k!="function"){var _=k;k=function(J){return J[_]?J[_]:""}}if(k.length===1){var P=k,Y=C.ignoreCase?c:h,O=C.cmp||function(J,oA){return J<oA?-1:J>oA?1:0};k=function(J,oA){return O(Y(P(J)),Y(P(oA)))}}const q={"-1":"",desc:""};return C.direction in q?function(J,oA){return-k(J,oA)}:k}function m(k,C){var _=typeof this=="function"&&!this.firstBy?this:!1,P=w(k,C),Y=_?function(O,q){return _(O,q)||P(O,q)}:P;return Y.thenBy=m,Y}return m.firstBy=m,m})()}}),fs="deck-gl-carto";function Yr(){return fs}var Gt=(u=>(u.IN="in",u.BETWEEN="between",u.CLOSED_OPEN="closed_open",u.TIME="time",u.STRING_SEARCH="stringSearch",u))(Gt||{}),jr=(u=>(u.V1="v1",u.V2="v2",u.V3="v3",u))(jr||{}),us="https://gcp-us-east1.api.carto.com",ge={Count:"count",Custom:"custom"};function Hr(u){return u.map(o=>o[0]===void 0||o[0]===null?[Number.MIN_SAFE_INTEGER,o[1]]:o[1]===void 0||o[1]===null?[o[0],Number.MAX_SAFE_INTEGER]:o)}var hs={in:as,between:Vr,time:gs,closed_open:cs,stringSearch:ws};function as(u,o){return u.includes(o)}function Vr(u,o){const h=c=>{const[w,m]=c;return o>=w&&o<=m};return Hr(u).some(h)}function gs(u,o){const h=new Date(o).getTime();if(isFinite(h))return Vr(u,h);throw new Error("Column used to filter by time isn\'t well formatted.")}function cs(u,o){const h=c=>{const[w,m]=c;return o>=w&&o<m};return Hr(u).some(h)}function ws(u,o,h={}){const c=Kr(o,h),w=h.useRegExp?u:u.map(k=>{let C=Es(Kr(k,h));return h.mustStart&&(C=`^${C}`),h.mustEnd&&(C=`${C}$`),C}),m=new RegExp(w.join("|"),h.caseSensitive?"g":"gi");return!!c.match(m)}var ps=/[.*+?^${}()|[\\]\\\\]/g,ms=new RegExp("\\\\p{Diacritic}","gu");function Es(u){return u.replace(ps,"\\\\$&")}function Kr(u,o){let h=String(u);return o.keepSpecialCharacters||(h=h.normalize("NFD").replace(ms,"")),h}var ys={and:"every",or:"some"};function vs(u,o,h,c){const w=ys[c];return u[w](m=>{const k=o[m],C=Object.keys(k);return!h||h[m]===null||h[m]===void 0?!1:C.every(_=>{const P=hs[_];if(!P)throw new Error(`"${_}" filter is not implemented.`);return P(k[_].values,h[m],k[_].params)})})}function bs({filters:u={},type:o="boolean",filtersLogicalOperator:h="and"}){const c=Object.keys(u);return c.length?w=>{const m=w.properties||w,k=vs(c,u,m,h);return o==="number"?Number(k):k}:()=>o==="number"?1:!0}function ks(u,o,h){return Object.keys(o).length?u.filter(bs({filters:o,filtersLogicalOperator:h})):u}var Bs={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...Bs}},globalThis.mathgl.config;var Cs=/^-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?$/i,Ut=Math.ceil,k0=Math.floor,p0="[BigNumber Error] ",qr=p0+"Number primitive has more than 15 significant digits: ",_0=1e14,QA=14,zt=9007199254740991,Yt=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],H0=1e7,i0=1e9;function Wr(u){var o,h,c,w=Z.prototype={constructor:Z,toString:null,valueOf:null},m=new Z(1),k=20,C=4,_=-7,P=21,Y=-1e7,O=1e7,q=!1,J=1,oA=0,lA={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},gA="0123456789abcdefghijklmnopqrstuvwxyz",aA=!0;function Z(B,M){var Q,R,I,N,V,L,U,H,j=this;if(!(j instanceof Z))return new Z(B,M);if(M==null){if(B&&B._isBigNumber===!0){j.s=B.s,!B.c||B.e>O?j.c=j.e=null:B.e<Y?j.c=[j.e=0]:(j.e=B.e,j.c=B.c.slice());return}if((L=typeof B=="number")&&B*0==0){if(j.s=1/B<0?(B=-B,-1):1,B===~~B){for(N=0,V=B;V>=10;V/=10,N++);N>O?j.c=j.e=null:(j.e=N,j.c=[B]);return}H=String(B)}else{if(!Cs.test(H=String(B)))return c(j,H,L);j.s=H.charCodeAt(0)==45?(H=H.slice(1),-1):1}(N=H.indexOf("."))>-1&&(H=H.replace(".","")),(V=H.search(/e/i))>0?(N<0&&(N=V),N+=+H.slice(V+1),H=H.substring(0,V)):N<0&&(N=H.length)}else{if(A0(M,2,gA.length,"Base"),M==10&&aA)return j=new Z(B),GA(j,k+j.e+1,C);if(H=String(B),L=typeof B=="number"){if(B*0!=0)return c(j,H,L,M);if(j.s=1/B<0?(H=H.slice(1),-1):1,Z.DEBUG&&H.replace(/^0\\.0*|\\./,"").length>15)throw Error(qr+B)}else j.s=H.charCodeAt(0)===45?(H=H.slice(1),-1):1;for(Q=gA.slice(0,M),N=V=0,U=H.length;V<U;V++)if(Q.indexOf(R=H.charAt(V))<0){if(R=="."){if(V>N){N=U;continue}}else if(!I&&(H==H.toUpperCase()&&(H=H.toLowerCase())||H==H.toLowerCase()&&(H=H.toUpperCase()))){I=!0,V=-1,N=0;continue}return c(j,String(B),L,M)}L=!1,H=h(H,M,10,j.s),(N=H.indexOf("."))>-1?H=H.replace(".",""):N=H.length}for(V=0;H.charCodeAt(V)===48;V++);for(U=H.length;H.charCodeAt(--U)===48;);if(H=H.slice(V,++U)){if(U-=V,L&&Z.DEBUG&&U>15&&(B>zt||B!==k0(B)))throw Error(qr+j.s*B);if((N=N-V-1)>O)j.c=j.e=null;else if(N<Y)j.c=[j.e=0];else{if(j.e=N,j.c=[],V=(N+1)%QA,N<0&&(V+=QA),V<U){for(V&&j.c.push(+H.slice(0,V)),U-=QA;V<U;)j.c.push(+H.slice(V,V+=QA));V=QA-(H=H.slice(V)).length}else V-=U;for(;V--;H+="0");j.c.push(+H)}}else j.c=[j.e=0]}Z.clone=Wr,Z.ROUND_UP=0,Z.ROUND_DOWN=1,Z.ROUND_CEIL=2,Z.ROUND_FLOOR=3,Z.ROUND_HALF_UP=4,Z.ROUND_HALF_DOWN=5,Z.ROUND_HALF_EVEN=6,Z.ROUND_HALF_CEIL=7,Z.ROUND_HALF_FLOOR=8,Z.EUCLID=9,Z.config=Z.set=function(B){var M,Q;if(B!=null)if(typeof B=="object"){if(B.hasOwnProperty(M="DECIMAL_PLACES")&&(Q=B[M],A0(Q,0,i0,M),k=Q),B.hasOwnProperty(M="ROUNDING_MODE")&&(Q=B[M],A0(Q,0,8,M),C=Q),B.hasOwnProperty(M="EXPONENTIAL_AT")&&(Q=B[M],Q&&Q.pop?(A0(Q[0],-i0,0,M),A0(Q[1],0,i0,M),_=Q[0],P=Q[1]):(A0(Q,-i0,i0,M),_=-(P=Q<0?-Q:Q))),B.hasOwnProperty(M="RANGE"))if(Q=B[M],Q&&Q.pop)A0(Q[0],-i0,-1,M),A0(Q[1],1,i0,M),Y=Q[0],O=Q[1];else if(A0(Q,-i0,i0,M),Q)Y=-(O=Q<0?-Q:Q);else throw Error(p0+M+" cannot be zero: "+Q);if(B.hasOwnProperty(M="CRYPTO"))if(Q=B[M],Q===!!Q)if(Q)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))q=Q;else throw q=!Q,Error(p0+"crypto unavailable");else q=Q;else throw Error(p0+M+" not true or false: "+Q);if(B.hasOwnProperty(M="MODULO_MODE")&&(Q=B[M],A0(Q,0,9,M),J=Q),B.hasOwnProperty(M="POW_PRECISION")&&(Q=B[M],A0(Q,0,i0,M),oA=Q),B.hasOwnProperty(M="FORMAT"))if(Q=B[M],typeof Q=="object")lA=Q;else throw Error(p0+M+" not an object: "+Q);if(B.hasOwnProperty(M="ALPHABET"))if(Q=B[M],typeof Q=="string"&&!/^.?$|[+\\-.\\s]|(.).*\\1/.test(Q))aA=Q.slice(0,10)=="0123456789",gA=Q;else throw Error(p0+M+" invalid: "+Q)}else throw Error(p0+"Object expected: "+B);return{DECIMAL_PLACES:k,ROUNDING_MODE:C,EXPONENTIAL_AT:[_,P],RANGE:[Y,O],CRYPTO:q,MODULO_MODE:J,POW_PRECISION:oA,FORMAT:lA,ALPHABET:gA}},Z.isBigNumber=function(B){if(!B||B._isBigNumber!==!0)return!1;if(!Z.DEBUG)return!0;var M,Q,R=B.c,I=B.e,N=B.s;A:if({}.toString.call(R)=="[object Array]"){if((N===1||N===-1)&&I>=-i0&&I<=i0&&I===k0(I)){if(R[0]===0){if(I===0&&R.length===1)return!0;break A}if(M=(I+1)%QA,M<1&&(M+=QA),String(R[0]).length==M){for(M=0;M<R.length;M++)if(Q=R[M],Q<0||Q>=_0||Q!==k0(Q))break A;if(Q!==0)return!0}}}else if(R===null&&I===null&&(N===null||N===1||N===-1))return!0;throw Error(p0+"Invalid BigNumber: "+B)},Z.maximum=Z.max=function(){return FA(arguments,-1)},Z.minimum=Z.min=function(){return FA(arguments,1)},Z.random=(function(){var B=9007199254740992,M=Math.random()*B&2097151?function(){return k0(Math.random()*B)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(Q){var R,I,N,V,L,U=0,H=[],j=new Z(m);if(Q==null?Q=k:A0(Q,0,i0),V=Ut(Q/QA),q)if(crypto.getRandomValues){for(R=crypto.getRandomValues(new Uint32Array(V*=2));U<V;)L=R[U]*131072+(R[U+1]>>>11),L>=9e15?(I=crypto.getRandomValues(new Uint32Array(2)),R[U]=I[0],R[U+1]=I[1]):(H.push(L%1e14),U+=2);U=V/2}else if(crypto.randomBytes){for(R=crypto.randomBytes(V*=7);U<V;)L=(R[U]&31)*281474976710656+R[U+1]*1099511627776+R[U+2]*4294967296+R[U+3]*16777216+(R[U+4]<<16)+(R[U+5]<<8)+R[U+6],L>=9e15?crypto.randomBytes(7).copy(R,U):(H.push(L%1e14),U+=7);U=V/7}else throw q=!1,Error(p0+"crypto unavailable");if(!q)for(;U<V;)L=M(),L<9e15&&(H[U++]=L%1e14);for(V=H[--U],Q%=QA,V&&Q&&(L=Yt[QA-Q],H[U]=k0(V/L)*L);H[U]===0;H.pop(),U--);if(U<0)H=[N=0];else{for(N=-1;H[0]===0;H.splice(0,1),N-=QA);for(U=1,L=H[0];L>=10;L/=10,U++);U<QA&&(N-=QA-U)}return j.e=N,j.c=H,j}})(),Z.sum=function(){for(var B=1,M=arguments,Q=new Z(M[0]);B<M.length;)Q=Q.plus(M[B++]);return Q},h=(function(){var B="0123456789";function M(Q,R,I,N){for(var V,L=[0],U,H=0,j=Q.length;H<j;){for(U=L.length;U--;L[U]*=R);for(L[0]+=N.indexOf(Q.charAt(H++)),V=0;V<L.length;V++)L[V]>I-1&&(L[V+1]==null&&(L[V+1]=0),L[V+1]+=L[V]/I|0,L[V]%=I)}return L.reverse()}return function(Q,R,I,N,V){var L,U,H,j,$,mA,vA,NA,ZA=Q.indexOf("."),e0=k,UA=C;for(ZA>=0&&(j=oA,oA=0,Q=Q.replace(".",""),NA=new Z(R),mA=NA.pow(Q.length-ZA),oA=j,NA.c=M(F0(C0(mA.c),mA.e,"0"),10,I,B),NA.e=NA.c.length),vA=M(Q,R,I,V?(L=gA,B):(L=B,gA)),H=j=vA.length;vA[--j]==0;vA.pop());if(!vA[0])return L.charAt(0);if(ZA<0?--H:(mA.c=vA,mA.e=H,mA.s=N,mA=o(mA,NA,e0,UA,I),vA=mA.c,$=mA.r,H=mA.e),U=H+e0+1,ZA=vA[U],j=I/2,$=$||U<0||vA[U+1]!=null,$=UA<4?(ZA!=null||$)&&(UA==0||UA==(mA.s<0?3:2)):ZA>j||ZA==j&&(UA==4||$||UA==6&&vA[U-1]&1||UA==(mA.s<0?8:7)),U<1||!vA[0])Q=$?F0(L.charAt(1),-e0,L.charAt(0)):L.charAt(0);else{if(vA.length=U,$)for(--I;++vA[--U]>I;)vA[U]=0,U||(++H,vA=[1].concat(vA));for(j=vA.length;!vA[--j];);for(ZA=0,Q="";ZA<=j;Q+=L.charAt(vA[ZA++]));Q=F0(Q,H,L.charAt(0))}return Q}})(),o=(function(){function B(R,I,N){var V,L,U,H,j=0,$=R.length,mA=I%H0,vA=I/H0|0;for(R=R.slice();$--;)U=R[$]%H0,H=R[$]/H0|0,V=vA*U+H*mA,L=mA*U+V%H0*H0+j,j=(L/N|0)+(V/H0|0)+vA*H,R[$]=L%N;return j&&(R=[j].concat(R)),R}function M(R,I,N,V){var L,U;if(N!=V)U=N>V?1:-1;else for(L=U=0;L<N;L++)if(R[L]!=I[L]){U=R[L]>I[L]?1:-1;break}return U}function Q(R,I,N,V){for(var L=0;N--;)R[N]-=L,L=R[N]<I[N]?1:0,R[N]=L*V+R[N]-I[N];for(;!R[0]&&R.length>1;R.splice(0,1));}return function(R,I,N,V,L){var U,H,j,$,mA,vA,NA,ZA,e0,UA,HA,n0,ye,Ue,ze,d0,se,E0=R.s==I.s?1:-1,f0=R.c,JA=I.c;if(!f0||!f0[0]||!JA||!JA[0])return new Z(!R.s||!I.s||(f0?JA&&f0[0]==JA[0]:!JA)?NaN:f0&&f0[0]==0||!JA?E0*0:E0/0);for(ZA=new Z(E0),e0=ZA.c=[],H=R.e-I.e,E0=N+H+1,L||(L=_0,H=B0(R.e/QA)-B0(I.e/QA),E0=E0/QA|0),j=0;JA[j]==(f0[j]||0);j++);if(JA[j]>(f0[j]||0)&&H--,E0<0)e0.push(1),$=!0;else{for(Ue=f0.length,d0=JA.length,j=0,E0+=2,mA=k0(L/(JA[0]+1)),mA>1&&(JA=B(JA,mA,L),f0=B(f0,mA,L),d0=JA.length,Ue=f0.length),ye=d0,UA=f0.slice(0,d0),HA=UA.length;HA<d0;UA[HA++]=0);se=JA.slice(),se=[0].concat(se),ze=JA[0],JA[1]>=L/2&&ze++;do{if(mA=0,U=M(JA,UA,d0,HA),U<0){if(n0=UA[0],d0!=HA&&(n0=n0*L+(UA[1]||0)),mA=k0(n0/ze),mA>1)for(mA>=L&&(mA=L-1),vA=B(JA,mA,L),NA=vA.length,HA=UA.length;M(vA,UA,NA,HA)==1;)mA--,Q(vA,d0<NA?se:JA,NA,L),NA=vA.length,U=1;else mA==0&&(U=mA=1),vA=JA.slice(),NA=vA.length;if(NA<HA&&(vA=[0].concat(vA)),Q(UA,vA,HA,L),HA=UA.length,U==-1)for(;M(JA,UA,d0,HA)<1;)mA++,Q(UA,d0<HA?se:JA,HA,L),HA=UA.length}else U===0&&(mA++,UA=[0]);e0[j++]=mA,UA[0]?UA[HA++]=f0[ye]||0:(UA=[f0[ye]],HA=1)}while((ye++<Ue||UA[0]!=null)&&E0--);$=UA[0]!=null,e0[0]||e0.splice(0,1)}if(L==_0){for(j=1,E0=e0[0];E0>=10;E0/=10,j++);GA(ZA,N+(ZA.e=j+H*QA-1)+1,V,$)}else ZA.e=H,ZA.r=+$;return ZA}})();function RA(B,M,Q,R){var I,N,V,L,U;if(Q==null?Q=C:A0(Q,0,8),!B.c)return B.toString();if(I=B.c[0],V=B.e,M==null)U=C0(B.c),U=R==1||R==2&&(V<=_||V>=P)?it(U,V):F0(U,V,"0");else if(B=GA(new Z(B),M,Q),N=B.e,U=C0(B.c),L=U.length,R==1||R==2&&(M<=N||N<=_)){for(;L<M;U+="0",L++);U=it(U,N)}else if(M-=V,U=F0(U,N,"0"),N+1>L){if(--M>0)for(U+=".";M--;U+="0");}else if(M+=N-L,M>0)for(N+1==L&&(U+=".");M--;U+="0");return B.s<0&&I?"-"+U:U}function FA(B,M){for(var Q,R,I=1,N=new Z(B[0]);I<B.length;I++)R=new Z(B[I]),(!R.s||(Q=te(N,R))===M||Q===0&&N.s===M)&&(N=R);return N}function TA(B,M,Q){for(var R=1,I=M.length;!M[--I];M.pop());for(I=M[0];I>=10;I/=10,R++);return(Q=R+Q*QA-1)>O?B.c=B.e=null:Q<Y?B.c=[B.e=0]:(B.e=Q,B.c=M),B}c=(function(){var B=/^(-?)0([xbo])(?=\\w[\\w.]*$)/i,M=/^([^.]+)\\.$/,Q=/^\\.([^.]+)$/,R=/^-?(Infinity|NaN)$/,I=/^\\s*\\+(?=[\\w.])|^\\s+|\\s+$/g;return function(N,V,L,U){var H,j=L?V:V.replace(I,"");if(R.test(j))N.s=isNaN(j)?null:j<0?-1:1;else{if(!L&&(j=j.replace(B,function($,mA,vA){return H=(vA=vA.toLowerCase())=="x"?16:vA=="b"?2:8,!U||U==H?mA:$}),U&&(H=U,j=j.replace(M,"$1").replace(Q,"0.$1")),V!=j))return new Z(j,H);if(Z.DEBUG)throw Error(p0+"Not a"+(U?" base "+U:"")+" number: "+V);N.s=null}N.c=N.e=null}})();function GA(B,M,Q,R){var I,N,V,L,U,H,j,$=B.c,mA=Yt;if($){A:{for(I=1,L=$[0];L>=10;L/=10,I++);if(N=M-I,N<0)N+=QA,V=M,U=$[H=0],j=k0(U/mA[I-V-1]%10);else if(H=Ut((N+1)/QA),H>=$.length)if(R){for(;$.length<=H;$.push(0));U=j=0,I=1,N%=QA,V=N-QA+1}else break A;else{for(U=L=$[H],I=1;L>=10;L/=10,I++);N%=QA,V=N-QA+I,j=V<0?0:k0(U/mA[I-V-1]%10)}if(R=R||M<0||$[H+1]!=null||(V<0?U:U%mA[I-V-1]),R=Q<4?(j||R)&&(Q==0||Q==(B.s<0?3:2)):j>5||j==5&&(Q==4||R||Q==6&&(N>0?V>0?U/mA[I-V]:0:$[H-1])%10&1||Q==(B.s<0?8:7)),M<1||!$[0])return $.length=0,R?(M-=B.e+1,$[0]=mA[(QA-M%QA)%QA],B.e=-M||0):$[0]=B.e=0,B;if(N==0?($.length=H,L=1,H--):($.length=H+1,L=mA[QA-N],$[H]=V>0?k0(U/mA[I-V]%mA[V])*L:0),R)for(;;)if(H==0){for(N=1,V=$[0];V>=10;V/=10,N++);for(V=$[0]+=L,L=1;V>=10;V/=10,L++);N!=L&&(B.e++,$[0]==_0&&($[0]=1));break}else{if($[H]+=L,$[H]!=_0)break;$[H--]=0,L=1}for(N=$.length;$[--N]===0;$.pop());}B.e>O?B.c=B.e=null:B.e<Y&&(B.c=[B.e=0])}return B}function XA(B){var M,Q=B.e;return Q===null?B.toString():(M=C0(B.c),M=Q<=_||Q>=P?it(M,Q):F0(M,Q,"0"),B.s<0?"-"+M:M)}return w.absoluteValue=w.abs=function(){var B=new Z(this);return B.s<0&&(B.s=1),B},w.comparedTo=function(B,M){return te(this,new Z(B,M))},w.decimalPlaces=w.dp=function(B,M){var Q,R,I,N=this;if(B!=null)return A0(B,0,i0),M==null?M=C:A0(M,0,8),GA(new Z(N),B+N.e+1,M);if(!(Q=N.c))return null;if(R=((I=Q.length-1)-B0(this.e/QA))*QA,I=Q[I])for(;I%10==0;I/=10,R--);return R<0&&(R=0),R},w.dividedBy=w.div=function(B,M){return o(this,new Z(B,M),k,C)},w.dividedToIntegerBy=w.idiv=function(B,M){return o(this,new Z(B,M),0,1)},w.exponentiatedBy=w.pow=function(B,M){var Q,R,I,N,V,L,U,H,j,$=this;if(B=new Z(B),B.c&&!B.isInteger())throw Error(p0+"Exponent not an integer: "+XA(B));if(M!=null&&(M=new Z(M)),L=B.e>14,!$.c||!$.c[0]||$.c[0]==1&&!$.e&&$.c.length==1||!B.c||!B.c[0])return j=new Z(Math.pow(+XA($),L?B.s*(2-rt(B)):+XA(B))),M?j.mod(M):j;if(U=B.s<0,M){if(M.c?!M.c[0]:!M.s)return new Z(NaN);R=!U&&$.isInteger()&&M.isInteger(),R&&($=$.mod(M))}else{if(B.e>9&&($.e>0||$.e<-1||($.e==0?$.c[0]>1||L&&$.c[1]>=24e7:$.c[0]<8e13||L&&$.c[0]<=9999975e7)))return N=$.s<0&&rt(B)?-0:0,$.e>-1&&(N=1/N),new Z(U?1/N:N);oA&&(N=Ut(oA/QA+2))}for(L?(Q=new Z(.5),U&&(B.s=1),H=rt(B)):(I=Math.abs(+XA(B)),H=I%2),j=new Z(m);;){if(H){if(j=j.times($),!j.c)break;N?j.c.length>N&&(j.c.length=N):R&&(j=j.mod(M))}if(I){if(I=k0(I/2),I===0)break;H=I%2}else if(B=B.times(Q),GA(B,B.e+1,1),B.e>14)H=rt(B);else{if(I=+XA(B),I===0)break;H=I%2}$=$.times($),N?$.c&&$.c.length>N&&($.c.length=N):R&&($=$.mod(M))}return R?j:(U&&(j=m.div(j)),M?j.mod(M):N?GA(j,oA,C,V):j)},w.integerValue=function(B){var M=new Z(this);return B==null?B=C:A0(B,0,8),GA(M,M.e+1,B)},w.isEqualTo=w.eq=function(B,M){return te(this,new Z(B,M))===0},w.isFinite=function(){return!!this.c},w.isGreaterThan=w.gt=function(B,M){return te(this,new Z(B,M))>0},w.isGreaterThanOrEqualTo=w.gte=function(B,M){return(M=te(this,new Z(B,M)))===1||M===0},w.isInteger=function(){return!!this.c&&B0(this.e/QA)>this.c.length-2},w.isLessThan=w.lt=function(B,M){return te(this,new Z(B,M))<0},w.isLessThanOrEqualTo=w.lte=function(B,M){return(M=te(this,new Z(B,M)))===-1||M===0},w.isNaN=function(){return!this.s},w.isNegative=function(){return this.s<0},w.isPositive=function(){return this.s>0},w.isZero=function(){return!!this.c&&this.c[0]==0},w.minus=function(B,M){var Q,R,I,N,V=this,L=V.s;if(B=new Z(B,M),M=B.s,!L||!M)return new Z(NaN);if(L!=M)return B.s=-M,V.plus(B);var U=V.e/QA,H=B.e/QA,j=V.c,$=B.c;if(!U||!H){if(!j||!$)return j?(B.s=-M,B):new Z($?V:NaN);if(!j[0]||!$[0])return $[0]?(B.s=-M,B):new Z(j[0]?V:C==3?-0:0)}if(U=B0(U),H=B0(H),j=j.slice(),L=U-H){for((N=L<0)?(L=-L,I=j):(H=U,I=$),I.reverse(),M=L;M--;I.push(0));I.reverse()}else for(R=(N=(L=j.length)<(M=$.length))?L:M,L=M=0;M<R;M++)if(j[M]!=$[M]){N=j[M]<$[M];break}if(N&&(I=j,j=$,$=I,B.s=-B.s),M=(R=$.length)-(Q=j.length),M>0)for(;M--;j[Q++]=0);for(M=_0-1;R>L;){if(j[--R]<$[R]){for(Q=R;Q&&!j[--Q];j[Q]=M);--j[Q],j[R]+=_0}j[R]-=$[R]}for(;j[0]==0;j.splice(0,1),--H);return j[0]?TA(B,j,H):(B.s=C==3?-1:1,B.c=[B.e=0],B)},w.modulo=w.mod=function(B,M){var Q,R,I=this;return B=new Z(B,M),!I.c||!B.s||B.c&&!B.c[0]?new Z(NaN):!B.c||I.c&&!I.c[0]?new Z(I):(J==9?(R=B.s,B.s=1,Q=o(I,B,0,3),B.s=R,Q.s*=R):Q=o(I,B,0,J),B=I.minus(Q.times(B)),!B.c[0]&&J==1&&(B.s=I.s),B)},w.multipliedBy=w.times=function(B,M){var Q,R,I,N,V,L,U,H,j,$,mA,vA,NA,ZA,e0,UA=this,HA=UA.c,n0=(B=new Z(B,M)).c;if(!HA||!n0||!HA[0]||!n0[0])return!UA.s||!B.s||HA&&!HA[0]&&!n0||n0&&!n0[0]&&!HA?B.c=B.e=B.s=null:(B.s*=UA.s,!HA||!n0?B.c=B.e=null:(B.c=[0],B.e=0)),B;for(R=B0(UA.e/QA)+B0(B.e/QA),B.s*=UA.s,U=HA.length,$=n0.length,U<$&&(NA=HA,HA=n0,n0=NA,I=U,U=$,$=I),I=U+$,NA=[];I--;NA.push(0));for(ZA=_0,e0=H0,I=$;--I>=0;){for(Q=0,mA=n0[I]%e0,vA=n0[I]/e0|0,V=U,N=I+V;N>I;)H=HA[--V]%e0,j=HA[V]/e0|0,L=vA*H+j*mA,H=mA*H+L%e0*e0+NA[N]+Q,Q=(H/ZA|0)+(L/e0|0)+vA*j,NA[N--]=H%ZA;NA[N]=Q}return Q?++R:NA.splice(0,1),TA(B,NA,R)},w.negated=function(){var B=new Z(this);return B.s=-B.s||null,B},w.plus=function(B,M){var Q,R=this,I=R.s;if(B=new Z(B,M),M=B.s,!I||!M)return new Z(NaN);if(I!=M)return B.s=-M,R.minus(B);var N=R.e/QA,V=B.e/QA,L=R.c,U=B.c;if(!N||!V){if(!L||!U)return new Z(I/0);if(!L[0]||!U[0])return U[0]?B:new Z(L[0]?R:I*0)}if(N=B0(N),V=B0(V),L=L.slice(),I=N-V){for(I>0?(V=N,Q=U):(I=-I,Q=L),Q.reverse();I--;Q.push(0));Q.reverse()}for(I=L.length,M=U.length,I-M<0&&(Q=U,U=L,L=Q,M=I),I=0;M;)I=(L[--M]=L[M]+U[M]+I)/_0|0,L[M]=_0===L[M]?0:L[M]%_0;return I&&(L=[I].concat(L),++V),TA(B,L,V)},w.precision=w.sd=function(B,M){var Q,R,I,N=this;if(B!=null&&B!==!!B)return A0(B,1,i0),M==null?M=C:A0(M,0,8),GA(new Z(N),B,M);if(!(Q=N.c))return null;if(I=Q.length-1,R=I*QA+1,I=Q[I]){for(;I%10==0;I/=10,R--);for(I=Q[0];I>=10;I/=10,R++);}return B&&N.e+1>R&&(R=N.e+1),R},w.shiftedBy=function(B){return A0(B,-zt,zt),this.times("1e"+B)},w.squareRoot=w.sqrt=function(){var B,M,Q,R,I,N=this,V=N.c,L=N.s,U=N.e,H=k+4,j=new Z("0.5");if(L!==1||!V||!V[0])return new Z(!L||L<0&&(!V||V[0])?NaN:V?N:1/0);if(L=Math.sqrt(+XA(N)),L==0||L==1/0?(M=C0(V),(M.length+U)%2==0&&(M+="0"),L=Math.sqrt(+M),U=B0((U+1)/2)-(U<0||U%2),L==1/0?M="5e"+U:(M=L.toExponential(),M=M.slice(0,M.indexOf("e")+1)+U),Q=new Z(M)):Q=new Z(L+""),Q.c[0]){for(U=Q.e,L=U+H,L<3&&(L=0);;)if(I=Q,Q=j.times(I.plus(o(N,I,H,1))),C0(I.c).slice(0,L)===(M=C0(Q.c)).slice(0,L))if(Q.e<U&&--L,M=M.slice(L-3,L+1),M=="9999"||!R&&M=="4999"){if(!R&&(GA(I,I.e+k+2,0),I.times(I).eq(N))){Q=I;break}H+=4,L+=4,R=1}else{(!+M||!+M.slice(1)&&M.charAt(0)=="5")&&(GA(Q,Q.e+k+2,1),B=!Q.times(Q).eq(N));break}}return GA(Q,Q.e+k+1,C,B)},w.toExponential=function(B,M){return B!=null&&(A0(B,0,i0),B++),RA(this,B,M,1)},w.toFixed=function(B,M){return B!=null&&(A0(B,0,i0),B=B+this.e+1),RA(this,B,M)},w.toFormat=function(B,M,Q){var R,I=this;if(Q==null)B!=null&&M&&typeof M=="object"?(Q=M,M=null):B&&typeof B=="object"?(Q=B,B=M=null):Q=lA;else if(typeof Q!="object")throw Error(p0+"Argument not an object: "+Q);if(R=I.toFixed(B,M),I.c){var N,V=R.split("."),L=+Q.groupSize,U=+Q.secondaryGroupSize,H=Q.groupSeparator||"",j=V[0],$=V[1],mA=I.s<0,vA=mA?j.slice(1):j,NA=vA.length;if(U&&(N=L,L=U,U=N,NA-=N),L>0&&NA>0){for(N=NA%L||L,j=vA.substr(0,N);N<NA;N+=L)j+=H+vA.substr(N,L);U>0&&(j+=H+vA.slice(N)),mA&&(j="-"+j)}R=$?j+(Q.decimalSeparator||"")+((U=+Q.fractionGroupSize)?$.replace(new RegExp("\\\\d{"+U+"}\\\\B","g"),"$&"+(Q.fractionGroupSeparator||"")):$):j}return(Q.prefix||"")+R+(Q.suffix||"")},w.toFraction=function(B){var M,Q,R,I,N,V,L,U,H,j,$,mA,vA=this,NA=vA.c;if(B!=null&&(L=new Z(B),!L.isInteger()&&(L.c||L.s!==1)||L.lt(m)))throw Error(p0+"Argument "+(L.isInteger()?"out of range: ":"not an integer: ")+XA(L));if(!NA)return new Z(vA);for(M=new Z(m),H=Q=new Z(m),R=U=new Z(m),mA=C0(NA),N=M.e=mA.length-vA.e-1,M.c[0]=Yt[(V=N%QA)<0?QA+V:V],B=!B||L.comparedTo(M)>0?N>0?M:H:L,V=O,O=1/0,L=new Z(mA),U.c[0]=0;j=o(L,M,0,1),I=Q.plus(j.times(R)),I.comparedTo(B)!=1;)Q=R,R=I,H=U.plus(j.times(I=H)),U=I,M=L.minus(j.times(I=M)),L=I;return I=o(B.minus(Q),R,0,1),U=U.plus(I.times(H)),Q=Q.plus(I.times(R)),U.s=H.s=vA.s,N=N*2,$=o(H,R,N,C).minus(vA).abs().comparedTo(o(U,Q,N,C).minus(vA).abs())<1?[H,R]:[U,Q],O=V,$},w.toNumber=function(){return+XA(this)},w.toPrecision=function(B,M){return B!=null&&A0(B,1,i0),RA(this,B,M,2)},w.toString=function(B){var M,Q=this,R=Q.s,I=Q.e;return I===null?R?(M="Infinity",R<0&&(M="-"+M)):M="NaN":(B==null?M=I<=_||I>=P?it(C0(Q.c),I):F0(C0(Q.c),I,"0"):B===10&&aA?(Q=GA(new Z(Q),k+I+1,C),M=F0(C0(Q.c),Q.e,"0")):(A0(B,2,gA.length,"Base"),M=h(F0(C0(Q.c),I,"0"),10,B,R,!0)),R<0&&Q.c[0]&&(M="-"+M)),M},w.valueOf=w.toJSON=function(){return XA(this)},w._isBigNumber=!0,w[Symbol.toStringTag]="BigNumber",w[Symbol.for("nodejs.util.inspect.custom")]=w.valueOf,u!=null&&Z.set(u),Z}function B0(u){var o=u|0;return u>0||u===o?o:o-1}function C0(u){for(var o,h,c=1,w=u.length,m=u[0]+"";c<w;){for(o=u[c++]+"",h=QA-o.length;h--;o="0"+o);m+=o}for(w=m.length;m.charCodeAt(--w)===48;);return m.slice(0,w+1||1)}function te(u,o){var h,c,w=u.c,m=o.c,k=u.s,C=o.s,_=u.e,P=o.e;if(!k||!C)return null;if(h=w&&!w[0],c=m&&!m[0],h||c)return h?c?0:-C:k;if(k!=C)return k;if(h=k<0,c=_==P,!w||!m)return c?0:!w^h?1:-1;if(!c)return _>P^h?1:-1;for(C=(_=w.length)<(P=m.length)?_:P,k=0;k<C;k++)if(w[k]!=m[k])return w[k]>m[k]^h?1:-1;return _==P?0:_>P^h?1:-1}function A0(u,o,h,c){if(u<o||u>h||u!==k0(u))throw Error(p0+(c||"Argument")+(typeof u=="number"?u<o||u>h?" out of range: ":" not an integer: ":" not a primitive number: ")+String(u))}function rt(u){var o=u.c.length-1;return B0(u.e/QA)==o&&u.c[o]%2!=0}function it(u,o){return(u.length>1?u.charAt(0)+"."+u.slice(1):u)+(o<0?"e":"e+")+o}function F0(u,o,h){var c,w;if(o<0){for(w=h+".";++o;w+=h);u=w+u}else if(c=u.length,++o>c){for(w=h,o-=c;--o;w+=h);u+=w}else o<c&&(u=u.slice(0,o)+"."+u.slice(o));return u}var ds=Wr(),S0=ds,xs=class{constructor(u){pA(this,"key"),pA(this,"left",null),pA(this,"right",null),this.key=u}},Qe=class extends xs{constructor(u){super(u)}},Ds=class{constructor(){pA(this,"size",0),pA(this,"modificationCount",0),pA(this,"splayCount",0)}splay(u){const o=this.root;if(o==null)return this.compare(u,u),-1;let h=null,c=null,w=null,m=null,k=o;const C=this.compare;let _;for(;;)if(_=C(k.key,u),_>0){let P=k.left;if(P==null||(_=C(P.key,u),_>0&&(k.left=P.right,P.right=k,k=P,P=k.left,P==null)))break;h==null?c=k:h.left=k,h=k,k=P}else if(_<0){let P=k.right;if(P==null||(_=C(P.key,u),_<0&&(k.right=P.left,P.left=k,k=P,P=k.right,P==null)))break;w==null?m=k:w.right=k,w=k,k=P}else break;return w!=null&&(w.right=k.left,k.left=m),h!=null&&(h.left=k.right,k.right=c),this.root!==k&&(this.root=k,this.splayCount++),_}splayMin(u){let o=u,h=o.left;for(;h!=null;){const c=h;o.left=c.right,c.right=o,o=c,h=o.left}return o}splayMax(u){let o=u,h=o.right;for(;h!=null;){const c=h;o.right=c.left,c.left=o,o=c,h=o.right}return o}_delete(u){if(this.root==null||this.splay(u)!=0)return null;let h=this.root;const c=h,w=h.left;if(this.size--,w==null)this.root=h.right;else{const m=h.right;h=this.splayMax(w),h.right=m,this.root=h}return this.modificationCount++,c}addNewRoot(u,o){this.size++,this.modificationCount++;const h=this.root;if(h==null){this.root=u;return}o<0?(u.left=h,u.right=h.right,h.right=null):(u.right=h,u.left=h.left,h.left=null),this.root=u}_first(){const u=this.root;return u==null?null:(this.root=this.splayMin(u),this.root)}_last(){const u=this.root;return u==null?null:(this.root=this.splayMax(u),this.root)}clear(){this.root=null,this.size=0,this.modificationCount++}has(u){return this.validKey(u)&&this.splay(u)==0}defaultCompare(){return(u,o)=>u<o?-1:u>o?1:0}wrap(){return{getRoot:()=>this.root,setRoot:u=>{this.root=u},getSize:()=>this.size,getModificationCount:()=>this.modificationCount,getSplayCount:()=>this.splayCount,setSplayCount:u=>{this.splayCount=u},splay:u=>this.splay(u),has:u=>this.has(u)}}},Xr,Zr,nt=class Ze extends Ds{constructor(o,h){super(),pA(this,"root",null),pA(this,"compare"),pA(this,"validKey"),pA(this,Xr,"[object Set]"),this.compare=o??this.defaultCompare(),this.validKey=h??(c=>c!=null&&c!=null)}delete(o){return this.validKey(o)?this._delete(o)!=null:!1}deleteAll(o){for(const h of o)this.delete(h)}forEach(o){const h=this[Symbol.iterator]();let c;for(;c=h.next(),!c.done;)o(c.value,c.value,this)}add(o){const h=this.splay(o);return h!=0&&this.addNewRoot(new Qe(o),h),this}addAndReturn(o){const h=this.splay(o);return h!=0&&this.addNewRoot(new Qe(o),h),this.root.key}addAll(o){for(const h of o)this.add(h)}isEmpty(){return this.root==null}isNotEmpty(){return this.root!=null}single(){if(this.size==0)throw"Bad state: No element";if(this.size>1)throw"Bad state: Too many element";return this.root.key}first(){if(this.size==0)throw"Bad state: No element";return this._first().key}last(){if(this.size==0)throw"Bad state: No element";return this._last().key}lastBefore(o){if(o==null)throw"Invalid arguments(s)";if(this.root==null)return null;if(this.splay(o)<0)return this.root.key;let c=this.root.left;if(c==null)return null;let w=c.right;for(;w!=null;)c=w,w=c.right;return c.key}firstAfter(o){if(o==null)throw"Invalid arguments(s)";if(this.root==null)return null;if(this.splay(o)>0)return this.root.key;let c=this.root.right;if(c==null)return null;let w=c.left;for(;w!=null;)c=w,w=c.left;return c.key}retainAll(o){const h=new Ze(this.compare,this.validKey),c=this.modificationCount;for(const w of o){if(c!=this.modificationCount)throw"Concurrent modification during iteration.";this.validKey(w)&&this.splay(w)==0&&h.add(this.root.key)}h.size!=this.size&&(this.root=h.root,this.size=h.size,this.modificationCount++)}lookup(o){return!this.validKey(o)||this.splay(o)!=0?null:this.root.key}intersection(o){const h=new Ze(this.compare,this.validKey);for(const c of this)o.has(c)&&h.add(c);return h}difference(o){const h=new Ze(this.compare,this.validKey);for(const c of this)o.has(c)||h.add(c);return h}union(o){const h=this.clone();return h.addAll(o),h}clone(){const o=new Ze(this.compare,this.validKey);return o.size=this.size,o.root=this.copyNode(this.root),o}copyNode(o){if(o==null)return null;function h(w,m){let k,C;do{if(k=w.left,C=w.right,k!=null){const _=new Qe(k.key);m.left=_,h(k,_)}if(C!=null){const _=new Qe(C.key);m.right=_,w=C,m=_}}while(C!=null)}const c=new Qe(o.key);return h(o,c),c}toSet(){return this.clone()}entries(){return new Ps(this.wrap())}keys(){return this[Symbol.iterator]()}values(){return this[Symbol.iterator]()}[(Zr=Symbol.iterator,Xr=Symbol.toStringTag,Zr)](){return new Ms(this.wrap())}},$r=class{constructor(u){pA(this,"tree"),pA(this,"path",new Array),pA(this,"modificationCount",null),pA(this,"splayCount"),this.tree=u,this.splayCount=u.getSplayCount()}[Symbol.iterator](){return this}next(){return this.moveNext()?{done:!1,value:this.current()}:{done:!0,value:null}}current(){if(!this.path.length)return null;const u=this.path[this.path.length-1];return this.getValue(u)}rebuildPath(u){this.path.splice(0,this.path.length),this.tree.splay(u),this.path.push(this.tree.getRoot()),this.splayCount=this.tree.getSplayCount()}findLeftMostDescendent(u){for(;u!=null;)this.path.push(u),u=u.left}moveNext(){if(this.modificationCount!=this.tree.getModificationCount()){if(this.modificationCount==null){this.modificationCount=this.tree.getModificationCount();let h=this.tree.getRoot();for(;h!=null;)this.path.push(h),h=h.left;return this.path.length>0}throw"Concurrent modification during iteration."}if(!this.path.length)return!1;this.splayCount!=this.tree.getSplayCount()&&this.rebuildPath(this.path[this.path.length-1].key);let u=this.path[this.path.length-1],o=u.right;if(o!=null){for(;o!=null;)this.path.push(o),o=o.left;return!0}for(this.path.pop();this.path.length&&this.path[this.path.length-1].right===u;)u=this.path.pop();return this.path.length>0}},Ms=class extends $r{getValue(u){return u.key}},Ps=class extends $r{getValue(u){return[u.key,u.key]}},Jr=u=>()=>u,jt=u=>{const o=u?(h,c)=>c.minus(h).abs().isLessThanOrEqualTo(u):Jr(!1);return(h,c)=>o(h,c)?0:h.comparedTo(c)};function _s(u){const o=u?(h,c,w,m,k)=>h.exponentiatedBy(2).isLessThanOrEqualTo(m.minus(c).exponentiatedBy(2).plus(k.minus(w).exponentiatedBy(2)).times(u)):Jr(!1);return(h,c,w)=>{const m=h.x,k=h.y,C=w.x,_=w.y,P=k.minus(_).times(c.x.minus(C)).minus(m.minus(C).times(c.y.minus(_)));return o(P,m,k,C,_)?0:P.comparedTo(0)}}var Qs=u=>u,Ss=u=>{if(u){const o=new nt(jt(u)),h=new nt(jt(u)),c=(m,k)=>k.addAndReturn(m),w=m=>({x:c(m.x,o),y:c(m.y,h)});return w({x:new S0(0),y:new S0(0)}),w}return Qs},Ht=u=>({set:o=>{N0=Ht(o)},reset:()=>Ht(u),compare:jt(u),snap:Ss(u),orient:_s(u)}),N0=Ht(),Se=(u,o)=>u.ll.x.isLessThanOrEqualTo(o.x)&&o.x.isLessThanOrEqualTo(u.ur.x)&&u.ll.y.isLessThanOrEqualTo(o.y)&&o.y.isLessThanOrEqualTo(u.ur.y),Vt=(u,o)=>{if(o.ur.x.isLessThan(u.ll.x)||u.ur.x.isLessThan(o.ll.x)||o.ur.y.isLessThan(u.ll.y)||u.ur.y.isLessThan(o.ll.y))return null;const h=u.ll.x.isLessThan(o.ll.x)?o.ll.x:u.ll.x,c=u.ur.x.isLessThan(o.ur.x)?u.ur.x:o.ur.x,w=u.ll.y.isLessThan(o.ll.y)?o.ll.y:u.ll.y,m=u.ur.y.isLessThan(o.ur.y)?u.ur.y:o.ur.y;return{ll:{x:h,y:w},ur:{x:c,y:m}}},st=(u,o)=>u.x.times(o.y).minus(u.y.times(o.x)),Ai=(u,o)=>u.x.times(o.x).plus(u.y.times(o.y)),ot=u=>Ai(u,u).sqrt(),Ts=(u,o,h)=>{const c={x:o.x.minus(u.x),y:o.y.minus(u.y)},w={x:h.x.minus(u.x),y:h.y.minus(u.y)};return st(w,c).div(ot(w)).div(ot(c))},Is=(u,o,h)=>{const c={x:o.x.minus(u.x),y:o.y.minus(u.y)},w={x:h.x.minus(u.x),y:h.y.minus(u.y)};return Ai(w,c).div(ot(w)).div(ot(c))},ei=(u,o,h)=>o.y.isZero()?null:{x:u.x.plus(o.x.div(o.y).times(h.minus(u.y))),y:h},ti=(u,o,h)=>o.x.isZero()?null:{x:h,y:u.y.plus(o.y.div(o.x).times(h.minus(u.x)))},Os=(u,o,h,c)=>{if(o.x.isZero())return ti(h,c,u.x);if(c.x.isZero())return ti(u,o,h.x);if(o.y.isZero())return ei(h,c,u.y);if(c.y.isZero())return ei(u,o,h.y);const w=st(o,c);if(w.isZero())return null;const m={x:h.x.minus(u.x),y:h.y.minus(u.y)},k=st(m,o).div(w),C=st(m,c).div(w),_=u.x.plus(C.times(o.x)),P=h.x.plus(k.times(c.x)),Y=u.y.plus(C.times(o.y)),O=h.y.plus(k.times(c.y)),q=_.plus(P).div(2),J=Y.plus(O).div(2);return{x:q,y:J}},T0=class On{constructor(o,h){pA(this,"point"),pA(this,"isLeft"),pA(this,"segment"),pA(this,"otherSE"),pA(this,"consumedBy"),o.events===void 0?o.events=[this]:o.events.push(this),this.point=o,this.isLeft=h}static compare(o,h){const c=On.comparePoints(o.point,h.point);return c!==0?c:(o.point!==h.point&&o.link(h),o.isLeft!==h.isLeft?o.isLeft?1:-1:lt.compare(o.segment,h.segment))}static comparePoints(o,h){return o.x.isLessThan(h.x)?-1:o.x.isGreaterThan(h.x)?1:o.y.isLessThan(h.y)?-1:o.y.isGreaterThan(h.y)?1:0}link(o){if(o.point===this.point)throw new Error("Tried to link already linked events");const h=o.point.events;for(let c=0,w=h.length;c<w;c++){const m=h[c];this.point.events.push(m),m.point=this.point}this.checkForConsuming()}checkForConsuming(){const o=this.point.events.length;for(let h=0;h<o;h++){const c=this.point.events[h];if(c.segment.consumedBy===void 0)for(let w=h+1;w<o;w++){const m=this.point.events[w];m.consumedBy===void 0&&c.otherSE.point.events===m.otherSE.point.events&&c.segment.consume(m.segment)}}}getAvailableLinkedEvents(){const o=[];for(let h=0,c=this.point.events.length;h<c;h++){const w=this.point.events[h];w!==this&&!w.segment.ringOut&&w.segment.isInResult()&&o.push(w)}return o}getLeftmostComparator(o){const h=new Map,c=w=>{const m=w.otherSE;h.set(w,{sine:Ts(this.point,o.point,m.point),cosine:Is(this.point,o.point,m.point)})};return(w,m)=>{h.has(w)||c(w),h.has(m)||c(m);const{sine:k,cosine:C}=h.get(w),{sine:_,cosine:P}=h.get(m);return k.isGreaterThanOrEqualTo(0)&&_.isGreaterThanOrEqualTo(0)?C.isLessThan(P)?1:C.isGreaterThan(P)?-1:0:k.isLessThan(0)&&_.isLessThan(0)?C.isLessThan(P)?-1:C.isGreaterThan(P)?1:0:_.isLessThan(k)?-1:_.isGreaterThan(k)?1:0}}},Rs=class Or{constructor(o){pA(this,"events"),pA(this,"poly"),pA(this,"_isExteriorRing"),pA(this,"_enclosingRing"),this.events=o;for(let h=0,c=o.length;h<c;h++)o[h].segment.ringOut=this;this.poly=null}static factory(o){const h=[];for(let c=0,w=o.length;c<w;c++){const m=o[c];if(!m.isInResult()||m.ringOut)continue;let k=null,C=m.leftSE,_=m.rightSE;const P=[C],Y=C.point,O=[];for(;k=C,C=_,P.push(C),C.point!==Y;)for(;;){const q=C.getAvailableLinkedEvents();if(q.length===0){const lA=P[0].point,gA=P[P.length-1].point;throw new Error(`Unable to complete output ring starting at [${lA.x}, ${lA.y}]. Last matching segment found ends at [${gA.x}, ${gA.y}].`)}if(q.length===1){_=q[0].otherSE;break}let J=null;for(let lA=0,gA=O.length;lA<gA;lA++)if(O[lA].point===C.point){J=lA;break}if(J!==null){const lA=O.splice(J)[0],gA=P.splice(lA.index);gA.unshift(gA[0].otherSE),h.push(new Or(gA.reverse()));continue}O.push({index:P.length,point:C.point});const oA=C.getLeftmostComparator(k);_=q.sort(oA)[0].otherSE;break}h.push(new Or(P))}return h}getGeom(){let o=this.events[0].point;const h=[o];for(let P=1,Y=this.events.length-1;P<Y;P++){const O=this.events[P].point,q=this.events[P+1].point;N0.orient(O,o,q)!==0&&(h.push(O),o=O)}if(h.length===1)return null;const c=h[0],w=h[1];N0.orient(c,o,w)===0&&h.shift(),h.push(h[0]);const m=this.isExteriorRing()?1:-1,k=this.isExteriorRing()?0:h.length-1,C=this.isExteriorRing()?h.length:-1,_=[];for(let P=k;P!=C;P+=m)_.push([h[P].x.toNumber(),h[P].y.toNumber()]);return _}isExteriorRing(){if(this._isExteriorRing===void 0){const o=this.enclosingRing();this._isExteriorRing=o?!o.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let o=this.events[0];for(let w=1,m=this.events.length;w<m;w++){const k=this.events[w];T0.compare(o,k)>0&&(o=k)}let h=o.segment.prevInResult(),c=h?h.prevInResult():null;for(;;){if(!h)return null;if(!c)return h.ringOut;if(c.ringOut!==h.ringOut)return c.ringOut?.enclosingRing()!==h.ringOut?h.ringOut:h.ringOut?.enclosingRing();h=c.prevInResult(),c=h?h.prevInResult():null}}},ri=class{constructor(u){pA(this,"exteriorRing"),pA(this,"interiorRings"),this.exteriorRing=u,u.poly=this,this.interiorRings=[]}addInterior(u){this.interiorRings.push(u),u.poly=this}getGeom(){const u=this.exteriorRing.getGeom();if(u===null)return null;const o=[u];for(let h=0,c=this.interiorRings.length;h<c;h++){const w=this.interiorRings[h].getGeom();w!==null&&o.push(w)}return o}},Ls=class{constructor(u){pA(this,"rings"),pA(this,"polys"),this.rings=u,this.polys=this._composePolys(u)}getGeom(){const u=[];for(let o=0,h=this.polys.length;o<h;o++){const c=this.polys[o].getGeom();c!==null&&u.push(c)}return u}_composePolys(u){const o=[];for(let h=0,c=u.length;h<c;h++){const w=u[h];if(!w.poly)if(w.isExteriorRing())o.push(new ri(w));else{const m=w.enclosingRing();m?.poly||o.push(new ri(m)),m?.poly?.addInterior(w)}}return o}},Fs=class{constructor(u,o=lt.compare){pA(this,"queue"),pA(this,"tree"),pA(this,"segments"),this.queue=u,this.tree=new nt(o),this.segments=[]}process(u){const o=u.segment,h=[];if(u.consumedBy)return u.isLeft?this.queue.delete(u.otherSE):this.tree.delete(o),h;u.isLeft&&this.tree.add(o);let c=o,w=o;do c=this.tree.lastBefore(c);while(c!=null&&c.consumedBy!=null);do w=this.tree.firstAfter(w);while(w!=null&&w.consumedBy!=null);if(u.isLeft){let m=null;if(c){const C=c.getIntersection(o);if(C!==null&&(o.isAnEndpoint(C)||(m=C),!c.isAnEndpoint(C))){const _=this._splitSafely(c,C);for(let P=0,Y=_.length;P<Y;P++)h.push(_[P])}}let k=null;if(w){const C=w.getIntersection(o);if(C!==null&&(o.isAnEndpoint(C)||(k=C),!w.isAnEndpoint(C))){const _=this._splitSafely(w,C);for(let P=0,Y=_.length;P<Y;P++)h.push(_[P])}}if(m!==null||k!==null){let C=null;m===null?C=k:k===null?C=m:C=T0.comparePoints(m,k)<=0?m:k,this.queue.delete(o.rightSE),h.push(o.rightSE);const _=o.split(C);for(let P=0,Y=_.length;P<Y;P++)h.push(_[P])}h.length>0?(this.tree.delete(o),h.push(u)):(this.segments.push(o),o.prev=c)}else{if(c&&w){const m=c.getIntersection(w);if(m!==null){if(!c.isAnEndpoint(m)){const k=this._splitSafely(c,m);for(let C=0,_=k.length;C<_;C++)h.push(k[C])}if(!w.isAnEndpoint(m)){const k=this._splitSafely(w,m);for(let C=0,_=k.length;C<_;C++)h.push(k[C])}}}this.tree.delete(o)}return h}_splitSafely(u,o){this.tree.delete(u);const h=u.rightSE;this.queue.delete(h);const c=u.split(o);return c.push(h),u.consumedBy===void 0&&this.tree.add(u),c}},Ns=class{constructor(){pA(this,"type"),pA(this,"numMultiPolys")}run(u,o,h){Te.type=u;const c=[new si(o,!0)];for(let P=0,Y=h.length;P<Y;P++)c.push(new si(h[P],!1));if(Te.numMultiPolys=c.length,Te.type==="difference"){const P=c[0];let Y=1;for(;Y<c.length;)Vt(c[Y].bbox,P.bbox)!==null?Y++:c.splice(Y,1)}if(Te.type==="intersection")for(let P=0,Y=c.length;P<Y;P++){const O=c[P];for(let q=P+1,J=c.length;q<J;q++)if(Vt(O.bbox,c[q].bbox)===null)return[]}const w=new nt(T0.compare);for(let P=0,Y=c.length;P<Y;P++){const O=c[P].getSweepEvents();for(let q=0,J=O.length;q<J;q++)w.add(O[q])}const m=new Fs(w);let k=null;for(w.size!=0&&(k=w.first(),w.delete(k));k;){const P=m.process(k);for(let Y=0,O=P.length;Y<O;Y++){const q=P[Y];q.consumedBy===void 0&&w.add(q)}w.size!=0?(k=w.first(),w.delete(k)):k=null}N0.reset();const C=Rs.factory(m.segments);return new Ls(C).getGeom()}},Te=new Ns,ii=Te,Gs=0,lt=class Ot{constructor(o,h,c,w){pA(this,"id"),pA(this,"leftSE"),pA(this,"rightSE"),pA(this,"rings"),pA(this,"windings"),pA(this,"ringOut"),pA(this,"consumedBy"),pA(this,"prev"),pA(this,"_prevInResult"),pA(this,"_beforeState"),pA(this,"_afterState"),pA(this,"_isInResult"),this.id=++Gs,this.leftSE=o,o.segment=this,o.otherSE=h,this.rightSE=h,h.segment=this,h.otherSE=o,this.rings=c,this.windings=w}static compare(o,h){const c=o.leftSE.point.x,w=h.leftSE.point.x,m=o.rightSE.point.x,k=h.rightSE.point.x;if(k.isLessThan(c))return 1;if(m.isLessThan(w))return-1;const C=o.leftSE.point.y,_=h.leftSE.point.y,P=o.rightSE.point.y,Y=h.rightSE.point.y;if(c.isLessThan(w)){if(_.isLessThan(C)&&_.isLessThan(P))return 1;if(_.isGreaterThan(C)&&_.isGreaterThan(P))return-1;const O=o.comparePoint(h.leftSE.point);if(O<0)return 1;if(O>0)return-1;const q=h.comparePoint(o.rightSE.point);return q!==0?q:-1}if(c.isGreaterThan(w)){if(C.isLessThan(_)&&C.isLessThan(Y))return-1;if(C.isGreaterThan(_)&&C.isGreaterThan(Y))return 1;const O=h.comparePoint(o.leftSE.point);if(O!==0)return O;const q=o.comparePoint(h.rightSE.point);return q<0?1:q>0?-1:1}if(C.isLessThan(_))return-1;if(C.isGreaterThan(_))return 1;if(m.isLessThan(k)){const O=h.comparePoint(o.rightSE.point);if(O!==0)return O}if(m.isGreaterThan(k)){const O=o.comparePoint(h.rightSE.point);if(O<0)return 1;if(O>0)return-1}if(!m.eq(k)){const O=P.minus(C),q=m.minus(c),J=Y.minus(_),oA=k.minus(w);if(O.isGreaterThan(q)&&J.isLessThan(oA))return 1;if(O.isLessThan(q)&&J.isGreaterThan(oA))return-1}return m.isGreaterThan(k)?1:m.isLessThan(k)||P.isLessThan(Y)?-1:P.isGreaterThan(Y)?1:o.id<h.id?-1:o.id>h.id?1:0}static fromRing(o,h,c){let w,m,k;const C=T0.comparePoints(o,h);if(C<0)w=o,m=h,k=1;else if(C>0)w=h,m=o,k=-1;else throw new Error(`Tried to create degenerate segment at [${o.x}, ${o.y}]`);const _=new T0(w,!0),P=new T0(m,!1);return new Ot(_,P,[c],[k])}replaceRightSE(o){this.rightSE=o,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){const o=this.leftSE.point.y,h=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:o.isLessThan(h)?o:h},ur:{x:this.rightSE.point.x,y:o.isGreaterThan(h)?o:h}}}vector(){return{x:this.rightSE.point.x.minus(this.leftSE.point.x),y:this.rightSE.point.y.minus(this.leftSE.point.y)}}isAnEndpoint(o){return o.x.eq(this.leftSE.point.x)&&o.y.eq(this.leftSE.point.y)||o.x.eq(this.rightSE.point.x)&&o.y.eq(this.rightSE.point.y)}comparePoint(o){return N0.orient(this.leftSE.point,o,this.rightSE.point)}getIntersection(o){const h=this.bbox(),c=o.bbox(),w=Vt(h,c);if(w===null)return null;const m=this.leftSE.point,k=this.rightSE.point,C=o.leftSE.point,_=o.rightSE.point,P=Se(h,C)&&this.comparePoint(C)===0,Y=Se(c,m)&&o.comparePoint(m)===0,O=Se(h,_)&&this.comparePoint(_)===0,q=Se(c,k)&&o.comparePoint(k)===0;if(Y&&P)return q&&!O?k:!q&&O?_:null;if(Y)return O&&m.x.eq(_.x)&&m.y.eq(_.y)?null:m;if(P)return q&&k.x.eq(C.x)&&k.y.eq(C.y)?null:C;if(q&&O)return null;if(q)return k;if(O)return _;const J=Os(m,this.vector(),C,o.vector());return J===null||!Se(w,J)?null:N0.snap(J)}split(o){const h=[],c=o.events!==void 0,w=new T0(o,!0),m=new T0(o,!1),k=this.rightSE;this.replaceRightSE(m),h.push(m),h.push(w);const C=new Ot(w,k,this.rings.slice(),this.windings.slice());return T0.comparePoints(C.leftSE.point,C.rightSE.point)>0&&C.swapEvents(),T0.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),c&&(w.checkForConsuming(),m.checkForConsuming()),h}swapEvents(){const o=this.rightSE;this.rightSE=this.leftSE,this.leftSE=o,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let h=0,c=this.windings.length;h<c;h++)this.windings[h]*=-1}consume(o){let h=this,c=o;for(;h.consumedBy;)h=h.consumedBy;for(;c.consumedBy;)c=c.consumedBy;const w=Ot.compare(h,c);if(w!==0){if(w>0){const m=h;h=c,c=m}if(h.prev===c){const m=h;h=c,c=m}for(let m=0,k=c.rings.length;m<k;m++){const C=c.rings[m],_=c.windings[m],P=h.rings.indexOf(C);P===-1?(h.rings.push(C),h.windings.push(_)):h.windings[P]+=_}c.rings=null,c.windings=null,c.consumedBy=h,c.leftSE.consumedBy=h.leftSE,c.rightSE.consumedBy=h.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{const o=this.prev.consumedBy||this.prev;this._beforeState=o.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;const o=this.beforeState();this._afterState={rings:o.rings.slice(0),windings:o.windings.slice(0),multiPolys:[]};const h=this._afterState.rings,c=this._afterState.windings,w=this._afterState.multiPolys;for(let C=0,_=this.rings.length;C<_;C++){const P=this.rings[C],Y=this.windings[C],O=h.indexOf(P);O===-1?(h.push(P),c.push(Y)):c[O]+=Y}const m=[],k=[];for(let C=0,_=h.length;C<_;C++){if(c[C]===0)continue;const P=h[C],Y=P.poly;if(k.indexOf(Y)===-1)if(P.isExterior)m.push(Y);else{k.indexOf(Y)===-1&&k.push(Y);const O=m.indexOf(P.poly);O!==-1&&m.splice(O,1)}}for(let C=0,_=m.length;C<_;C++){const P=m[C].multiPoly;w.indexOf(P)===-1&&w.push(P)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;const o=this.beforeState().multiPolys,h=this.afterState().multiPolys;switch(ii.type){case"union":{const c=o.length===0,w=h.length===0;this._isInResult=c!==w;break}case"intersection":{let c,w;o.length<h.length?(c=o.length,w=h.length):(c=h.length,w=o.length),this._isInResult=w===ii.numMultiPolys&&c<w;break}case"xor":{const c=Math.abs(o.length-h.length);this._isInResult=c%2===1;break}case"difference":{const c=w=>w.length===1&&w[0].isSubject;this._isInResult=c(o)!==c(h);break}}return this._isInResult}},ni=class{constructor(u,o,h){if(pA(this,"poly"),pA(this,"isExterior"),pA(this,"segments"),pA(this,"bbox"),!Array.isArray(u)||u.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=o,this.isExterior=h,this.segments=[],typeof u[0][0]!="number"||typeof u[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const c=N0.snap({x:new S0(u[0][0]),y:new S0(u[0][1])});this.bbox={ll:{x:c.x,y:c.y},ur:{x:c.x,y:c.y}};let w=c;for(let m=1,k=u.length;m<k;m++){if(typeof u[m][0]!="number"||typeof u[m][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const C=N0.snap({x:new S0(u[m][0]),y:new S0(u[m][1])});C.x.eq(w.x)&&C.y.eq(w.y)||(this.segments.push(lt.fromRing(w,C,this)),C.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=C.x),C.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=C.y),C.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=C.x),C.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=C.y),w=C)}(!c.x.eq(w.x)||!c.y.eq(w.y))&&this.segments.push(lt.fromRing(w,c,this))}getSweepEvents(){const u=[];for(let o=0,h=this.segments.length;o<h;o++){const c=this.segments[o];u.push(c.leftSE),u.push(c.rightSE)}return u}},Us=class{constructor(u,o){if(pA(this,"multiPoly"),pA(this,"exteriorRing"),pA(this,"interiorRings"),pA(this,"bbox"),!Array.isArray(u))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new ni(u[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let h=1,c=u.length;h<c;h++){const w=new ni(u[h],this,!1);w.bbox.ll.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=w.bbox.ll.x),w.bbox.ll.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=w.bbox.ll.y),w.bbox.ur.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=w.bbox.ur.x),w.bbox.ur.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=w.bbox.ur.y),this.interiorRings.push(w)}this.multiPoly=o}getSweepEvents(){const u=this.exteriorRing.getSweepEvents();for(let o=0,h=this.interiorRings.length;o<h;o++){const c=this.interiorRings[o].getSweepEvents();for(let w=0,m=c.length;w<m;w++)u.push(c[w])}return u}},si=class{constructor(u,o){if(pA(this,"isSubject"),pA(this,"polys"),pA(this,"bbox"),!Array.isArray(u))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof u[0][0][0]=="number"&&(u=[u])}catch{}this.polys=[],this.bbox={ll:{x:new S0(Number.POSITIVE_INFINITY),y:new S0(Number.POSITIVE_INFINITY)},ur:{x:new S0(Number.NEGATIVE_INFINITY),y:new S0(Number.NEGATIVE_INFINITY)}};for(let h=0,c=u.length;h<c;h++){const w=new Us(u[h],this);w.bbox.ll.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=w.bbox.ll.x),w.bbox.ll.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=w.bbox.ll.y),w.bbox.ur.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=w.bbox.ur.x),w.bbox.ur.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=w.bbox.ur.y),this.polys.push(w)}this.isSubject=o}getSweepEvents(){const u=[];for(let o=0,h=this.polys.length;o<h;o++){const c=this.polys[o].getSweepEvents();for(let w=0,m=c.length;w<m;w++)u.push(c[w])}return u}};N0.set,new Set(Object.values(Gt));var zs=class $e extends Error{constructor(o){super(`${$e.NAME}: ${o}`),this.name=$e.NAME}static is(o){return o instanceof $e||o.message?.includes($e.NAME)}};pA(zs,"NAME","InvalidColumnError");var oi=class Rn{constructor(o){pA(this,"props"),this.props={...Rn.defaultProps,clientId:Yr(),...o}}destroy(){}};pA(oi,"defaultProps",{apiVersion:"v3",apiBaseUrl:us,clientId:Yr(),filters:{},filtersLogicalOperator:"and"});var Ys=oi,{V3:C1}=jr,js=new Set(Object.values(Gt)),Hs=u=>js.has(u);function Vs(u,o){if(!o)return{};const h={};for(const c in o)for(const w in o[c]){if(!Hs(w))continue;const m=o[c][w],k=!u||!m?.owner||m?.owner!==u;m&&k&&(h[c]||(h[c]={}),h[c][w]=m)}return h}var Ks="_carto_others",V0={count:u=>u.length,min:(...u)=>ft(Xs,...u),max:(...u)=>ft(Zs,...u),sum:(...u)=>ft(fi,...u),avg:(...u)=>ft(Ws,...u)};function K0(u,o,h){if(o?.length){if(o.length===1){const w=u[o[0]];return li(w)?Number(w):w}}else throw new Error("Cannot aggregate a feature without having keys");const c=V0[h];if(!c)throw new Error(`${h} isn\'t a valid aggregation function`);return c(o.map(w=>{const m=u[w];return li(m)?Number(m):m}))}function li(u){return typeof u=="string"&&u.trim().length>0}var ft=(u,o,h,c)=>{const w=ut(h),m=(w?.length||0)<=1?qs(o,w||[]):o;return u(m,h,c)};function qs(u,o){const h=c=>c!=null;return o?.length?u.filter(c=>h(c[o[0]])):u.filter(h)}function Ws(u,o,h){return fi(u,o,h)/(u.length||1)}function fi(u,o,h){const c=ut(o);return c?u.reduce((w,m)=>w+K0(m,c,h),0):u.reduce((w,m)=>w+m,0)}function Xs(u,o,h){const c=ut(o);if(c)return u.reduce((m,k)=>Math.min(m,K0(k,c,h)),1/0);let w=Number.POSITIVE_INFINITY;for(const m of u)w=Math.min(w,m);return w}function Zs(u,o,h){const c=ut(o);if(c)return u.reduce((m,k)=>Math.max(m,K0(k,c,h)),-1/0);let w=Number.NEGATIVE_INFINITY;for(const m of u)w=Math.max(w,m);return w}function ut(u){return Array.isArray(u)?u:typeof u=="string"?[u]:void 0}var $s=os(ls());function Js(u,{sortBy:o,sortByDirection:h="asc",sortByColumnType:c="string"}={}){if(o===void 0)return u;if(!(Array.isArray(o)&&o.length||typeof o=="string"))throw new Error("Sorting options are bad formatted");const m=A2({sortBy:o,sortByDirection:h,sortByColumnType:c||"string"});return u.sort(m)}function A2({sortBy:u,sortByDirection:o,sortByColumnType:h}){const[c,...w]=e2({sortBy:u,sortByDirection:o,sortByColumnType:h});let m=(0,$s.firstBy)(...c);for(const k of w)m=m.thenBy(...k);return m}function e2({sortBy:u,sortByDirection:o,sortByColumnType:h}){const c=h==="number"&&{cmp:(w,m)=>w-m};return Array.isArray(u)||(u=[u]),u.map(w=>{if(typeof w=="string")return[w,{direction:o,...c}];if(Array.isArray(w)){if(w[1]===void 0)return[w,{direction:o,...c}];if(typeof w[1]=="object"){const m=c?{...c,...w[1]}:w[1];return[w[0],{direction:o,...m}]}}return w})}function t2({data:u,valuesColumns:o,joinOperation:h,keysColumn:c,operation:w,othersThreshold:m,orderBy:k="frequency_desc"}){if(Array.isArray(u)&&u.length===0)return{rows:null};const C=u.reduce((Y,O)=>{const q=O[c],J=Y.get(q)||[];Y.set(q,J);const oA=K0(O,o,h);return(w==="count"?!0:oA!==null)&&oA!==void 0&&(J.push(oA),Y.set(q,J)),Y},new Map),_=V0[w];if(!_)return{rows:[]};const P=Array.from(C).map(([Y,O])=>({name:Y,value:_(O)})).sort(r2(k));if(m&&P.length>m){const Y=P.slice(m).flatMap(({name:O})=>C.get(O));return{rows:P,metadata:{others:_(Y)}}}return{rows:P}}function r2(u){switch(u){case"frequency_asc":return(o,h)=>o.value-h.value||ht(o.name,h.name);case"frequency_desc":return(o,h)=>h.value-o.value||ht(o.name,h.name);case"alphabetical_asc":return(o,h)=>ht(o.name,h.name)||h.value-o.value;case"alphabetical_desc":return(o,h)=>ht(h.name,o.name)||h.value-o.value}}function ht(u,o){return typeof u=="number"&&typeof o=="number"?u-o:String(u??"null").localeCompare(String(o??"null"))}function i2(u){const o=new Date(u),h=o.getUTCDay(),c=o.getUTCDate()-h+(h?1:-6);return o.setUTCDate(c),Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate())}var n2={year:u=>Date.UTC(u.getUTCFullYear()),month:u=>Date.UTC(u.getUTCFullYear(),u.getUTCMonth()),week:u=>i2(u),day:u=>Date.UTC(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()),hour:u=>Date.UTC(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate(),u.getUTCHours()),minute:u=>Date.UTC(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate(),u.getUTCHours(),u.getUTCMinutes()),second:u=>Date.UTC(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate(),u.getUTCHours(),u.getUTCMinutes(),u.getUTCSeconds())};function s2({data:u,valuesColumns:o,joinOperation:h,keysColumn:c,groupType:w,operation:m}){if(Array.isArray(u)&&u.length===0)return null;const k=n2[w];if(!k)return null;const C=u.reduce((P,Y)=>{const O=Y[c],q=new Date(O),J=k(q);if(!isNaN(J)){let oA=P.get(J);oA||(oA=[],P.set(J,oA));const lA=K0(Y,o,h);lA!=null&&(oA.push(lA),P.set(J,oA))}return P},new Map),_=V0[m];return[...C.entries()].map(([P,Y])=>({name:P,value:_(Y)})).sort((P,Y)=>P.name-Y.name)}function o2({data:u,valuesColumns:o,joinOperation:h,ticks:c,operation:w}){if(Array.isArray(u)&&u.length===0)return[];const m=[Number.MIN_SAFE_INTEGER,...c].map((_,P,Y)=>({bin:P,start:_,end:P===Y.length-1?Number.MAX_SAFE_INTEGER:Y[P+1],values:[]}));u.forEach(_=>{const P=K0(_,o,h);if(!(P!=null))return;const O=m.find(q=>q.start<=P&&q.end>P);O&&O.values.push(P)});const k=V0[w];return m.map(_=>_.values).map(_=>_.length?k(_):0)}function l2({data:u,xAxisColumns:o,xAxisJoinOperation:h,yAxisColumns:c,yAxisJoinOperation:w}){return u.reduce((m,k)=>{const C=K0(k,o,h),_=C!=null,P=K0(k,c,w),Y=P!=null;return _&&Y&&m.push([C,P]),m},[])}var f2=Object.defineProperty,ce=(u,o)=>f2(u,"name",{value:o,configurable:!0}),ui=class{constructor(o){this.direction=!1,this.compareProperties=!0;var h,c,w;this.precision=10**-((h=o?.precision)!=null?h:17),this.direction=(c=o?.direction)!=null?c:!1,this.compareProperties=(w=o?.compareProperties)!=null?w:!0}compare(o,h){if(o.type!==h.type||!Ie(o,h))return!1;switch(o.type){case"Point":return this.compareCoord(o.coordinates,h.coordinates);case"LineString":return this.compareLine(o.coordinates,h.coordinates);case"Polygon":return this.comparePolygon(o,h);case"GeometryCollection":return this.compareGeometryCollection(o,h);case"Feature":return this.compareFeature(o,h);case"FeatureCollection":return this.compareFeatureCollection(o,h);default:if(o.type.startsWith("Multi")){const c=Kt(o),w=Kt(h);return c.every(m=>w.some(k=>this.compare(m,k)))}}return!1}compareCoord(o,h){return o.length===h.length&&o.every((c,w)=>Math.abs(c-h[w])<this.precision)}compareLine(o,h,c=0,w=!1){if(!Ie(o,h))return!1;const m=o;let k=h;if(w&&!this.compareCoord(m[0],k[0])){const _=this.fixStartIndex(k,m);if(_)k=_;else return!1}const C=this.compareCoord(m[c],k[c]);return this.direction||C?this.comparePath(m,k):this.compareCoord(m[c],k[k.length-(1+c)])?this.comparePath(m.slice().reverse(),k):!1}fixStartIndex(o,h){let c,w=-1;for(let m=0;m<o.length;m++)if(this.compareCoord(o[m],h[0])){w=m;break}return w>=0&&(c=[].concat(o.slice(w,o.length),o.slice(1,w+1))),c}comparePath(o,h){return o.every((c,w)=>this.compareCoord(c,h[w]))}comparePolygon(o,h){if(this.compareLine(o.coordinates[0],h.coordinates[0],1,!0)){const c=o.coordinates.slice(1,o.coordinates.length),w=h.coordinates.slice(1,h.coordinates.length);return c.every(m=>w.some(k=>this.compareLine(m,k,1,!0)))}return!1}compareGeometryCollection(o,h){return Ie(o.geometries,h.geometries)&&this.compareBBox(o,h)&&o.geometries.every((c,w)=>this.compare(c,h.geometries[w]))}compareFeature(o,h){return o.id===h.id&&(this.compareProperties?qt(o.properties,h.properties):!0)&&this.compareBBox(o,h)&&this.compare(o.geometry,h.geometry)}compareFeatureCollection(o,h){return Ie(o.features,h.features)&&this.compareBBox(o,h)&&o.features.every((c,w)=>this.compare(c,h.features[w]))}compareBBox(o,h){return!o.bbox&&!h.bbox||(o.bbox&&h.bbox?this.compareCoord(o.bbox,h.bbox):!1)}};ce(ui,"GeojsonEquality");var u2=ui;function Ie(u,o){return u.coordinates?u.coordinates.length===o.coordinates.length:u.length===o.length}ce(Ie,"sameLength");function Kt(u){return u.coordinates.map(o=>({type:u.type.replace("Multi",""),coordinates:o}))}ce(Kt,"explode");function h2(u,o,h){return new u2(h).compare(u,o)}ce(h2,"geojsonEquality");function qt(u,o){if(u===null&&o===null)return!0;if(u===null||o===null)return!1;const h=Object.keys(u),c=Object.keys(o);if(h.length!==c.length)return!1;for(var w of h){const m=u[w],k=o[w],C=hi(m)&&hi(k);if(C&&!qt(m,k)||!C&&m!==k)return!1}return!0}ce(qt,"equal");var hi=ce(u=>u!=null&&typeof u=="object","isObject"),a2="https://basemaps.cartocdn.com/gl/{basemap}-gl-style/style.json";function we(u){return a2.replace("{basemap}",u)}we("voyager"),we("positron"),we("dark-matter"),we("voyager-nolabels"),we("positron-nolabels"),we("dark-matter-nolabels");function at(u,o=u.length){return new Array(o)}var g2=u=>(o,h)=>{const c=Math.min(o.length,h.length),w=at(o,c);for(let m=0;m<c;m++)w[m]=u(o[m],h[m]);return w},c2=u=>(o,h)=>{const c=o.length,w=at(o,c);for(let m=0;m<c;m++)w[m]=u(o[m],h);return w},w2=u=>(o,h)=>{const c=h.length,w=at(h,c);for(let m=0;m<c;m++)w[m]=u(o,h[m]);return w},p2=u=>o=>{const h=o.length,c=at(o,h);for(let w=0;w<h;w++)c[w]=u(o[w]);return c};function gt(u,o){return Object.keys(u).reduce((h,c)=>(h[c]=o(u[c]),h),{})}var Wt={"||":(u,o)=>u||o,"&&":(u,o)=>u&&o,"|":(u,o)=>u|o,"^":(u,o)=>u^o,"&":(u,o)=>u&o,"==":(u,o)=>+(u==o),"!=":(u,o)=>+(u!=o),"===":(u,o)=>+(u===o),"!==":(u,o)=>+(u!==o),"<":(u,o)=>+(u<o),">":(u,o)=>+(u>o),"<=":(u,o)=>+(u<=o),">=":(u,o)=>+(u>=o),"<<":(u,o)=>u<<o,">>":(u,o)=>u>>o,">>>":(u,o)=>u>>>o,"+":(u,o)=>u+o,"-":(u,o)=>u-o,"*":(u,o)=>u*o,"/":(u,o)=>u/o,"%":(u,o)=>u%o},m2={"-":u=>-u,"+":u=>+u,"~":u=>~u,"!":u=>+!u};gt(Wt,g2),gt(Wt,w2),gt(Wt,c2),gt(m2,p2);function Xt(u,o,h){u.prototype=o.prototype=h,h.constructor=u}function ai(u,o){var h=Object.create(u.prototype);for(var c in o)h[c]=o[c];return h}function Oe(){}var Re=.7,ct=1/Re,pe="\\\\s*([+-]?\\\\d+)\\\\s*",Le="\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*",I0="\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*",E2=/^#([0-9a-f]{3,8})$/,y2=new RegExp(`^rgb\\\\(${pe},${pe},${pe}\\\\)$`),v2=new RegExp(`^rgb\\\\(${I0},${I0},${I0}\\\\)$`),b2=new RegExp(`^rgba\\\\(${pe},${pe},${pe},${Le}\\\\)$`),k2=new RegExp(`^rgba\\\\(${I0},${I0},${I0},${Le}\\\\)$`),B2=new RegExp(`^hsl\\\\(${Le},${I0},${I0}\\\\)$`),C2=new RegExp(`^hsla\\\\(${Le},${I0},${I0},${Le}\\\\)$`),gi={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Xt(Oe,Zt,{copy(u){return Object.assign(new this.constructor,this,u)},displayable(){return this.rgb().displayable()},hex:ci,formatHex:ci,formatHex8:d2,formatHsl:x2,formatRgb:wi,toString:wi});function ci(){return this.rgb().formatHex()}function d2(){return this.rgb().formatHex8()}function x2(){return bi(this).formatHsl()}function wi(){return this.rgb().formatRgb()}function Zt(u){var o,h;return u=(u+"").trim().toLowerCase(),(o=E2.exec(u))?(h=o[1].length,o=parseInt(o[1],16),h===6?pi(o):h===3?new m0(o>>8&15|o>>4&240,o>>4&15|o&240,(o&15)<<4|o&15,1):h===8?wt(o>>24&255,o>>16&255,o>>8&255,(o&255)/255):h===4?wt(o>>12&15|o>>8&240,o>>8&15|o>>4&240,o>>4&15|o&240,((o&15)<<4|o&15)/255):null):(o=y2.exec(u))?new m0(o[1],o[2],o[3],1):(o=v2.exec(u))?new m0(o[1]*255/100,o[2]*255/100,o[3]*255/100,1):(o=b2.exec(u))?wt(o[1],o[2],o[3],o[4]):(o=k2.exec(u))?wt(o[1]*255/100,o[2]*255/100,o[3]*255/100,o[4]):(o=B2.exec(u))?vi(o[1],o[2]/100,o[3]/100,1):(o=C2.exec(u))?vi(o[1],o[2]/100,o[3]/100,o[4]):gi.hasOwnProperty(u)?pi(gi[u]):u==="transparent"?new m0(NaN,NaN,NaN,0):null}function pi(u){return new m0(u>>16&255,u>>8&255,u&255,1)}function wt(u,o,h,c){return c<=0&&(u=o=h=NaN),new m0(u,o,h,c)}function D2(u){return u instanceof Oe||(u=Zt(u)),u?(u=u.rgb(),new m0(u.r,u.g,u.b,u.opacity)):new m0}function mi(u,o,h,c){return arguments.length===1?D2(u):new m0(u,o,h,c??1)}function m0(u,o,h,c){this.r=+u,this.g=+o,this.b=+h,this.opacity=+c}Xt(m0,mi,ai(Oe,{brighter(u){return u=u==null?ct:Math.pow(ct,u),new m0(this.r*u,this.g*u,this.b*u,this.opacity)},darker(u){return u=u==null?Re:Math.pow(Re,u),new m0(this.r*u,this.g*u,this.b*u,this.opacity)},rgb(){return this},clamp(){return new m0(re(this.r),re(this.g),re(this.b),pt(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ei,formatHex:Ei,formatHex8:M2,formatRgb:yi,toString:yi}));function Ei(){return`#${ie(this.r)}${ie(this.g)}${ie(this.b)}`}function M2(){return`#${ie(this.r)}${ie(this.g)}${ie(this.b)}${ie((isNaN(this.opacity)?1:this.opacity)*255)}`}function yi(){const u=pt(this.opacity);return`${u===1?"rgb(":"rgba("}${re(this.r)}, ${re(this.g)}, ${re(this.b)}${u===1?")":`, ${u})`}`}function pt(u){return isNaN(u)?1:Math.max(0,Math.min(1,u))}function re(u){return Math.max(0,Math.min(255,Math.round(u)||0))}function ie(u){return u=re(u),(u<16?"0":"")+u.toString(16)}function vi(u,o,h,c){return c<=0?u=o=h=NaN:h<=0||h>=1?u=o=NaN:o<=0&&(u=NaN),new Q0(u,o,h,c)}function bi(u){if(u instanceof Q0)return new Q0(u.h,u.s,u.l,u.opacity);if(u instanceof Oe||(u=Zt(u)),!u)return new Q0;if(u instanceof Q0)return u;u=u.rgb();var o=u.r/255,h=u.g/255,c=u.b/255,w=Math.min(o,h,c),m=Math.max(o,h,c),k=NaN,C=m-w,_=(m+w)/2;return C?(o===m?k=(h-c)/C+(h<c)*6:h===m?k=(c-o)/C+2:k=(o-h)/C+4,C/=_<.5?m+w:2-m-w,k*=60):C=_>0&&_<1?0:k,new Q0(k,C,_,u.opacity)}function P2(u,o,h,c){return arguments.length===1?bi(u):new Q0(u,o,h,c??1)}function Q0(u,o,h,c){this.h=+u,this.s=+o,this.l=+h,this.opacity=+c}Xt(Q0,P2,ai(Oe,{brighter(u){return u=u==null?ct:Math.pow(ct,u),new Q0(this.h,this.s,this.l*u,this.opacity)},darker(u){return u=u==null?Re:Math.pow(Re,u),new Q0(this.h,this.s,this.l*u,this.opacity)},rgb(){var u=this.h%360+(this.h<0)*360,o=isNaN(u)||isNaN(this.s)?0:this.s,h=this.l,c=h+(h<.5?h:1-h)*o,w=2*h-c;return new m0($t(u>=240?u-240:u+120,w,c),$t(u,w,c),$t(u<120?u+240:u-120,w,c),this.opacity)},clamp(){return new Q0(ki(this.h),mt(this.s),mt(this.l),pt(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const u=pt(this.opacity);return`${u===1?"hsl(":"hsla("}${ki(this.h)}, ${mt(this.s)*100}%, ${mt(this.l)*100}%${u===1?")":`, ${u})`}`}}));function ki(u){return u=(u||0)%360,u<0?u+360:u}function mt(u){return Math.max(0,Math.min(1,u||0))}function $t(u,o,h){return(u<60?o+(h-o)*u/60:u<180?h:u<240?o+(h-o)*(240-u)/60:o)*255}var _2=u=>{const{r:o,g:h,b:c}=mi(u);return[o,h,c]},Q2="#868d91";_2(Q2),Ft("i"),Ft(".5f");function S2({geojson:u,uniqueIdProperty:o}){return u.map(h=>{const c=h.properties??{},w=o&&c[o]!=null?c:{...c,id:o?String(c[o]):""};return{...h,properties:w}})}function q0(u,o,h={}){const c={type:"Feature"};return(h.id===0||h.id)&&(c.id=h.id),h.bbox&&(c.bbox=h.bbox),c.properties=o||{},c.geometry=u,c}function T2(u,o,h={}){if(!u)throw new Error("coordinates is required");if(!Array.isArray(u))throw new Error("coordinates must be an Array");if(u.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!Bi(u[0])||!Bi(u[1]))throw new Error("coordinates must contain numbers");return q0({type:"Point",coordinates:u},o,h)}function I2(u,o,h={}){if(u.length<2)throw new Error("coordinates must be an array of two or more positions");return q0({type:"LineString",coordinates:u},o,h)}function Et(u,o={}){const h={type:"FeatureCollection"};return o.id&&(h.id=o.id),o.bbox&&(h.bbox=o.bbox),h.features=u,h}function O2(u,o,h={}){return q0({type:"MultiLineString",coordinates:u},o,h)}function Bi(u){return!isNaN(u)&&u!==null&&!Array.isArray(u)}function R2(u){if(!u)throw new Error("coord is required");if(!Array.isArray(u)){if(u.type==="Feature"&&u.geometry!==null&&u.geometry.type==="Point")return[...u.geometry.coordinates];if(u.type==="Point")return[...u.coordinates]}if(Array.isArray(u)&&u.length>=2&&!Array.isArray(u[0])&&!Array.isArray(u[1]))return[...u];throw new Error("coord must be GeoJSON Point or an Array of numbers")}function yt(u){return u.type==="Feature"?u.geometry:u}function Ci(u,o,h){if(u!==null)for(var c,w,m,k,C,_,P,Y=0,O=0,q,J=u.type,oA=J==="FeatureCollection",lA=J==="Feature",gA=oA?u.features.length:1,aA=0;aA<gA;aA++){P=oA?u.features[aA].geometry:lA?u.geometry:u,q=P?P.type==="GeometryCollection":!1,C=q?P.geometries.length:1;for(var Z=0;Z<C;Z++){var RA=0,FA=0;if(k=q?P.geometries[Z]:P,k!==null){_=k.coordinates;var TA=k.type;switch(Y=0,TA){case null:break;case"Point":if(o(_,O,aA,RA,FA)===!1)return!1;O++,RA++;break;case"LineString":case"MultiPoint":for(c=0;c<_.length;c++){if(o(_[c],O,aA,RA,FA)===!1)return!1;O++,TA==="MultiPoint"&&RA++}TA==="LineString"&&RA++;break;case"Polygon":case"MultiLineString":for(c=0;c<_.length;c++){for(w=0;w<_[c].length-Y;w++){if(o(_[c][w],O,aA,RA,FA)===!1)return!1;O++}TA==="MultiLineString"&&RA++,TA==="Polygon"&&FA++}TA==="Polygon"&&RA++;break;case"MultiPolygon":for(c=0;c<_.length;c++){for(FA=0,w=0;w<_[c].length;w++){for(m=0;m<_[c][w].length-Y;m++){if(o(_[c][w][m],O,aA,RA,FA)===!1)return!1;O++}FA++}RA++}break;case"GeometryCollection":for(c=0;c<k.geometries.length;c++)if(Ci(k.geometries[c],o)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function L2(u,o){var h,c,w,m,k,C,_,P,Y,O,q=0,J=u.type==="FeatureCollection",oA=u.type==="Feature",lA=J?u.features.length:1;for(h=0;h<lA;h++){for(C=J?u.features[h].geometry:oA?u.geometry:u,P=J?u.features[h].properties:oA?u.properties:{},Y=J?u.features[h].bbox:oA?u.bbox:void 0,O=J?u.features[h].id:oA?u.id:void 0,_=C?C.type==="GeometryCollection":!1,k=_?C.geometries.length:1,w=0;w<k;w++){if(m=_?C.geometries[w]:C,m===null){if(o(null,q,P,Y,O)===!1)return!1;continue}switch(m.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(o(m,q,P,Y,O)===!1)return!1;break}case"GeometryCollection":{for(c=0;c<m.geometries.length;c++)if(o(m.geometries[c],q,P,Y,O)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}q++}}function vt(u,o){L2(u,function(h,c,w,m,k){var C=h===null?null:h.type;switch(C){case null:case"Point":case"LineString":case"Polygon":return o(q0(h,w,{bbox:m,id:k}),c,0)===!1?!1:void 0}var _;switch(C){case"MultiPoint":_="Point";break;case"MultiLineString":_="LineString";break;case"MultiPolygon":_="Polygon";break}for(var P=0;P<h.coordinates.length;P++){var Y=h.coordinates[P],O={type:_,coordinates:Y};if(o(q0(O,w),c,P)===!1)return!1}})}function F2(u,o={}){if(u.bbox!=null&&o.recompute!==!0)return u.bbox;const h=[1/0,1/0,-1/0,-1/0];return Ci(u,c=>{h[0]>c[0]&&(h[0]=c[0]),h[1]>c[1]&&(h[1]=c[1]),h[2]<c[0]&&(h[2]=c[0]),h[3]<c[1]&&(h[3]=c[1])}),h}const G0=11102230246251565e-32,h0=134217729,N2=(3+8*G0)*G0;function Jt(u,o,h,c,w){let m,k,C,_,P=o[0],Y=c[0],O=0,q=0;Y>P==Y>-P?(m=P,P=o[++O]):(m=Y,Y=c[++q]);let J=0;if(O<u&&q<h)for(Y>P==Y>-P?(k=P+m,C=m-(k-P),P=o[++O]):(k=Y+m,C=m-(k-Y),Y=c[++q]),m=k,C!==0&&(w[J++]=C);O<u&&q<h;)Y>P==Y>-P?(k=m+P,_=k-m,C=m-(k-_)+(P-_),P=o[++O]):(k=m+Y,_=k-m,C=m-(k-_)+(Y-_),Y=c[++q]),m=k,C!==0&&(w[J++]=C);for(;O<u;)k=m+P,_=k-m,C=m-(k-_)+(P-_),P=o[++O],m=k,C!==0&&(w[J++]=C);for(;q<h;)k=m+Y,_=k-m,C=m-(k-_)+(Y-_),Y=c[++q],m=k,C!==0&&(w[J++]=C);return(m!==0||J===0)&&(w[J++]=m),J}function G2(u,o){let h=o[0];for(let c=1;c<u;c++)h+=o[c];return h}function Fe(u){return new Float64Array(u)}const U2=(3+16*G0)*G0,z2=(2+12*G0)*G0,Y2=(9+64*G0)*G0*G0,me=Fe(4),di=Fe(8),xi=Fe(12),Di=Fe(16),g0=Fe(4);function j2(u,o,h,c,w,m,k){let C,_,P,Y,O,q,J,oA,lA,gA,aA,Z,RA,FA,TA,GA,XA,B;const M=u-w,Q=h-w,R=o-m,I=c-m;FA=M*I,q=h0*M,J=q-(q-M),oA=M-J,q=h0*I,lA=q-(q-I),gA=I-lA,TA=oA*gA-(FA-J*lA-oA*lA-J*gA),GA=R*Q,q=h0*R,J=q-(q-R),oA=R-J,q=h0*Q,lA=q-(q-Q),gA=Q-lA,XA=oA*gA-(GA-J*lA-oA*lA-J*gA),aA=TA-XA,O=TA-aA,me[0]=TA-(aA+O)+(O-XA),Z=FA+aA,O=Z-FA,RA=FA-(Z-O)+(aA-O),aA=RA-GA,O=RA-aA,me[1]=RA-(aA+O)+(O-GA),B=Z+aA,O=B-Z,me[2]=Z-(B-O)+(aA-O),me[3]=B;let N=G2(4,me),V=z2*k;if(N>=V||-N>=V||(O=u-M,C=u-(M+O)+(O-w),O=h-Q,P=h-(Q+O)+(O-w),O=o-R,_=o-(R+O)+(O-m),O=c-I,Y=c-(I+O)+(O-m),C===0&&_===0&&P===0&&Y===0)||(V=Y2*k+N2*Math.abs(N),N+=M*Y+I*C-(R*P+Q*_),N>=V||-N>=V))return N;FA=C*I,q=h0*C,J=q-(q-C),oA=C-J,q=h0*I,lA=q-(q-I),gA=I-lA,TA=oA*gA-(FA-J*lA-oA*lA-J*gA),GA=_*Q,q=h0*_,J=q-(q-_),oA=_-J,q=h0*Q,lA=q-(q-Q),gA=Q-lA,XA=oA*gA-(GA-J*lA-oA*lA-J*gA),aA=TA-XA,O=TA-aA,g0[0]=TA-(aA+O)+(O-XA),Z=FA+aA,O=Z-FA,RA=FA-(Z-O)+(aA-O),aA=RA-GA,O=RA-aA,g0[1]=RA-(aA+O)+(O-GA),B=Z+aA,O=B-Z,g0[2]=Z-(B-O)+(aA-O),g0[3]=B;const L=Jt(4,me,4,g0,di);FA=M*Y,q=h0*M,J=q-(q-M),oA=M-J,q=h0*Y,lA=q-(q-Y),gA=Y-lA,TA=oA*gA-(FA-J*lA-oA*lA-J*gA),GA=R*P,q=h0*R,J=q-(q-R),oA=R-J,q=h0*P,lA=q-(q-P),gA=P-lA,XA=oA*gA-(GA-J*lA-oA*lA-J*gA),aA=TA-XA,O=TA-aA,g0[0]=TA-(aA+O)+(O-XA),Z=FA+aA,O=Z-FA,RA=FA-(Z-O)+(aA-O),aA=RA-GA,O=RA-aA,g0[1]=RA-(aA+O)+(O-GA),B=Z+aA,O=B-Z,g0[2]=Z-(B-O)+(aA-O),g0[3]=B;const U=Jt(L,di,4,g0,xi);FA=C*Y,q=h0*C,J=q-(q-C),oA=C-J,q=h0*Y,lA=q-(q-Y),gA=Y-lA,TA=oA*gA-(FA-J*lA-oA*lA-J*gA),GA=_*P,q=h0*_,J=q-(q-_),oA=_-J,q=h0*P,lA=q-(q-P),gA=P-lA,XA=oA*gA-(GA-J*lA-oA*lA-J*gA),aA=TA-XA,O=TA-aA,g0[0]=TA-(aA+O)+(O-XA),Z=FA+aA,O=Z-FA,RA=FA-(Z-O)+(aA-O),aA=RA-GA,O=RA-aA,g0[1]=RA-(aA+O)+(O-GA),B=Z+aA,O=B-Z,g0[2]=Z-(B-O)+(aA-O),g0[3]=B;const H=Jt(U,xi,4,g0,Di);return Di[H-1]}function H2(u,o,h,c,w,m){const k=(o-m)*(h-w),C=(u-w)*(c-m),_=k-C,P=Math.abs(k+C);return Math.abs(_)>=U2*P?_:-j2(u,o,h,c,w,m,P)}function V2(u,o){var h,c,w=0,m,k,C,_,P,Y,O,q=u[0],J=u[1],oA=o.length;for(h=0;h<oA;h++){c=0;var lA=o[h],gA=lA.length-1;if(Y=lA[0],Y[0]!==lA[gA][0]&&Y[1]!==lA[gA][1])throw new Error("First and last coordinates in a ring must be the same");for(k=Y[0]-q,C=Y[1]-J,c;c<gA;c++){if(O=lA[c+1],_=O[0]-q,P=O[1]-J,C===0&&P===0){if(_<=0&&k>=0||k<=0&&_>=0)return 0}else if(P>=0&&C<=0||P<=0&&C>=0){if(m=H2(k,_,C,P,0,0),m===0)return 0;(m>0&&P>0&&C<=0||m<0&&P<=0&&C>0)&&w++}Y=O,C=P,k=_}}return w%2!==0}function Ne(u,o,h={}){if(!u)throw new Error("point is required");if(!o)throw new Error("polygon is required");const c=R2(u),w=yt(o),m=w.type,k=o.bbox;let C=w.coordinates;if(k&&K2(c,k)===!1)return!1;m==="Polygon"&&(C=[C]);let _=!1;for(var P=0;P<C.length;++P){const Y=V2(c,C[P]);if(Y===0)return!h.ignoreBoundary;Y&&(_=!0)}return _}function K2(u,o){return o[0]<=u[0]&&o[1]<=u[1]&&o[2]>=u[0]&&o[3]>=u[1]}class Mi{constructor(o=[],h=q2){if(this.data=o,this.length=this.data.length,this.compare=h,this.length>0)for(let c=(this.length>>1)-1;c>=0;c--)this._down(c)}push(o){this.data.push(o),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;const o=this.data[0],h=this.data.pop();return this.length--,this.length>0&&(this.data[0]=h,this._down(0)),o}peek(){return this.data[0]}_up(o){const{data:h,compare:c}=this,w=h[o];for(;o>0;){const m=o-1>>1,k=h[m];if(c(w,k)>=0)break;h[o]=k,o=m}h[o]=w}_down(o){const{data:h,compare:c}=this,w=this.length>>1,m=h[o];for(;o<w;){let k=(o<<1)+1,C=h[k];const _=k+1;if(_<this.length&&c(h[_],C)<0&&(k=_,C=h[_]),c(C,m)>=0)break;h[o]=C,o=k}h[o]=m}}function q2(u,o){return u<o?-1:u>o?1:0}function Pi(u,o){return u.p.x>o.p.x?1:u.p.x<o.p.x?-1:u.p.y!==o.p.y?u.p.y>o.p.y?1:-1:1}function W2(u,o){return u.rightSweepEvent.p.x>o.rightSweepEvent.p.x?1:u.rightSweepEvent.p.x<o.rightSweepEvent.p.x?-1:u.rightSweepEvent.p.y!==o.rightSweepEvent.p.y?u.rightSweepEvent.p.y<o.rightSweepEvent.p.y?1:-1:1}class _i{constructor(o,h,c,w){this.p={x:o[0],y:o[1]},this.featureId=h,this.ringId=c,this.eventId=w,this.otherEvent=null,this.isLeftEndpoint=null}isSamePoint(o){return this.p.x===o.p.x&&this.p.y===o.p.y}}function X2(u,o){if(u.type==="FeatureCollection"){const h=u.features;for(let c=0;c<h.length;c++)Qi(h[c],o)}else Qi(u,o)}let bt=0,kt=0,Bt=0;function Qi(u,o){const h=u.type==="Feature"?u.geometry:u;let c=h.coordinates;(h.type==="Polygon"||h.type==="MultiLineString")&&(c=[c]),h.type==="LineString"&&(c=[[c]]);for(let w=0;w<c.length;w++)for(let m=0;m<c[w].length;m++){let k=c[w][m][0],C=null;kt=kt+1;for(let _=0;_<c[w][m].length-1;_++){C=c[w][m][_+1];const P=new _i(k,bt,kt,Bt),Y=new _i(C,bt,kt,Bt+1);P.otherEvent=Y,Y.otherEvent=P,Pi(P,Y)>0?(Y.isLeftEndpoint=!0,P.isLeftEndpoint=!1):(P.isLeftEndpoint=!0,Y.isLeftEndpoint=!1),o.push(P),o.push(Y),k=C,Bt=Bt+1}}bt=bt+1}class Z2{constructor(o){this.leftSweepEvent=o,this.rightSweepEvent=o.otherEvent}}function $2(u,o){if(u===null||o===null||u.leftSweepEvent.ringId===o.leftSweepEvent.ringId&&(u.rightSweepEvent.isSamePoint(o.leftSweepEvent)||u.rightSweepEvent.isSamePoint(o.leftSweepEvent)||u.rightSweepEvent.isSamePoint(o.rightSweepEvent)||u.leftSweepEvent.isSamePoint(o.leftSweepEvent)||u.leftSweepEvent.isSamePoint(o.rightSweepEvent)))return!1;const h=u.leftSweepEvent.p.x,c=u.leftSweepEvent.p.y,w=u.rightSweepEvent.p.x,m=u.rightSweepEvent.p.y,k=o.leftSweepEvent.p.x,C=o.leftSweepEvent.p.y,_=o.rightSweepEvent.p.x,P=o.rightSweepEvent.p.y,Y=(P-C)*(w-h)-(_-k)*(m-c),O=(_-k)*(c-C)-(P-C)*(h-k),q=(w-h)*(c-C)-(m-c)*(h-k);if(Y===0)return!1;const J=O/Y,oA=q/Y;if(J>=0&&J<=1&&oA>=0&&oA<=1){const lA=h+J*(w-h),gA=c+J*(m-c);return[lA,gA]}return!1}function J2(u,o){o=o||!1;const h=[],c=new Mi([],W2);for(;u.length;){const w=u.pop();if(w.isLeftEndpoint){const m=new Z2(w);for(let k=0;k<c.data.length;k++){const C=c.data[k];if(o&&C.leftSweepEvent.featureId===w.featureId)continue;const _=$2(m,C);_!==!1&&h.push(_)}c.push(m)}else w.isLeftEndpoint===!1&&c.pop()}return h}function Ao(u,o){const h=new Mi([],Pi);return X2(u,h),J2(h,o)}var eo=Ao;function Ar(u,o,h={}){const{removeDuplicates:c=!0,ignoreSelfIntersections:w=!0}=h;let m=[];u.type==="FeatureCollection"?m=m.concat(u.features):u.type==="Feature"?m.push(u):(u.type==="LineString"||u.type==="Polygon"||u.type==="MultiLineString"||u.type==="MultiPolygon")&&m.push(q0(u)),o.type==="FeatureCollection"?m=m.concat(o.features):o.type==="Feature"?m.push(o):(o.type==="LineString"||o.type==="Polygon"||o.type==="MultiLineString"||o.type==="MultiPolygon")&&m.push(q0(o));const k=eo(Et(m),w);let C=[];if(c){const _={};k.forEach(P=>{const Y=P.join(",");_[Y]||(_[Y]=!0,C.push(P))})}else C=k;return Et(C.map(_=>T2(_)))}function er(u,o={}){const h=yt(u);switch(!o.properties&&u.type==="Feature"&&(o.properties=u.properties),h.type){case"Polygon":return to(h,o);case"MultiPolygon":return ro(h,o);default:throw new Error("invalid poly")}}function to(u,o={}){const c=yt(u).coordinates,w=o.properties?o.properties:u.type==="Feature"?u.properties:{};return Si(c,w)}function ro(u,o={}){const c=yt(u).coordinates,w=o.properties?o.properties:u.type==="Feature"?u.properties:{},m=[];return c.forEach(k=>{m.push(Si(k,w))}),Et(m)}function Si(u,o){return u.length>1?O2(u,o):I2(u[0],o)}function io(u,o,{ignoreSelfIntersections:h=!0}={ignoreSelfIntersections:!0}){let c=!0;return vt(u,w=>{vt(o,m=>{if(c===!1)return!1;c=no(w.geometry,m.geometry,h)})}),c}function no(u,o,h){switch(u.type){case"Point":switch(o.type){case"Point":return!fo(u.coordinates,o.coordinates);case"LineString":return!Ti(o,u);case"Polygon":return!Ne(u,o)}break;case"LineString":switch(o.type){case"Point":return!Ti(u,o);case"LineString":return!so(u,o,h);case"Polygon":return!Ii(o,u,h)}break;case"Polygon":switch(o.type){case"Point":return!Ne(o,u);case"LineString":return!Ii(u,o,h);case"Polygon":return!oo(o,u,h)}}return!1}function Ti(u,o){for(let h=0;h<u.coordinates.length-1;h++)if(lo(u.coordinates[h],u.coordinates[h+1],o.coordinates))return!0;return!1}function so(u,o,h){return Ar(u,o,{ignoreSelfIntersections:h}).features.length>0}function Ii(u,o,h){for(const w of o.coordinates)if(Ne(w,u))return!0;return Ar(o,er(u),{ignoreSelfIntersections:h}).features.length>0}function oo(u,o,h){for(const w of u.coordinates[0])if(Ne(w,o))return!0;for(const w of o.coordinates[0])if(Ne(w,u))return!0;return Ar(er(u),er(o),{ignoreSelfIntersections:h}).features.length>0}function lo(u,o,h){const c=h[0]-u[0],w=h[1]-u[1],m=o[0]-u[0],k=o[1]-u[1];return c*k-w*m!==0?!1:Math.abs(m)>=Math.abs(k)?m>0?u[0]<=h[0]&&h[0]<=o[0]:o[0]<=h[0]&&h[0]<=u[0]:k>0?u[1]<=h[1]&&h[1]<=o[1]:o[1]<=h[1]&&h[1]<=u[1]}function fo(u,o){return u[0]===o[0]&&u[1]===o[1]}function uo(u,o,{ignoreSelfIntersections:h=!0}={}){let c=!1;return vt(u,w=>{vt(o,m=>{if(c===!0)return!0;c=!io(w.geometry,m.geometry,{ignoreSelfIntersections:h})})}),c}class ho extends Ys{features=[];_filterFeaturesBySpatial(o){return o?this.features.filter(h=>uo(h,q0(o))):this.features}loadGeoJSON({geojson:o}){this.features=S2({geojson:o})}getFeatures(){return Promise.reject(new Error("getFeatures not supported for geojson"))}getFormula({column:o="*",operation:h=ge.Count,joinOperation:c,filters:w,filterOwner:m,spatialFilter:k}){const C=this._getFilteredFeatures(k,w,m);if(C.length===0)return Promise.resolve({value:null});if(h===ge.Custom)throw new Error("Custom aggregation not supported for geojson");(o&&o!=="*"||h!==ge.Count)&&ne(C,o);const _=V0[h];return Ge(_,`Unsupported aggregation operation: ${h}`),Promise.resolve({value:_(C.map(P=>P?.properties),o,c)})}getHistogram({operation:o=ge.Count,ticks:h,column:c,joinOperation:w,filters:m,filterOwner:k,spatialFilter:C}){const _=this._getFilteredFeatures(C,m,k);return _.length?(ne(_,c),Promise.resolve(o2({data:_,valuesColumns:Ee(c),joinOperation:w,ticks:h,operation:o}))):Promise.resolve([])}getCategories({column:o,operation:h=ge.Count,operationColumn:c,joinOperation:w,filters:m,filterOwner:k,spatialFilter:C,othersThreshold:_,orderBy:P="frequency_desc",rawResult:Y}){const O=this._getFilteredFeatures(C,m,k);if(!O.length)return Promise.resolve([]);ne(O,o,c);const q=t2({data:O,valuesColumns:Ee(c??o),joinOperation:w,keysColumn:o,operation:h,othersThreshold:_,orderBy:P});return Y?Promise.resolve(q):_?Promise.resolve([...q?.rows??[],{name:Ks,value:q?.metadata?.others??0}]):Promise.resolve(q?.rows??[])}getScatter({xAxisColumn:o,yAxisColumn:h,xAxisJoinOperation:c,yAxisJoinOperation:w,filters:m,filterOwner:k,spatialFilter:C}){const _=this._getFilteredFeatures(C,m,k);return _.length?(ne(_,o,h),Promise.resolve(l2({data:_,xAxisColumns:Ee(o),xAxisJoinOperation:c,yAxisColumns:Ee(h),yAxisJoinOperation:w}))):Promise.resolve([])}getTable({columns:o,searchFilterColumn:h,searchFilterText:c,sortBy:w,sortDirection:m,sortByColumnType:k,offset:C=0,limit:_=10,filters:P,filterOwner:Y,spatialFilter:O}){let q=this._getFilteredFeatures(O,P,Y);if(!q.length)return Promise.resolve({rows:[],totalCount:0});h&&c&&(console.warn(\'WidgetGeoJsonSource: "searchFilterText" is deprecated, use "filters" and FilterType.STRING_SEARCH instead.\'),q=q.filter(lA=>lA[h]&&String(lA[h]).toLowerCase().includes(String(c).toLowerCase())));let J=Js(q,{sortBy:w,sortByDirection:m,sortByColumnType:k});const oA=J.length;return J=J.slice(Math.min(C,oA),Math.min(C+_,oA)),J=J.map(lA=>{const gA={};if(lA)for(const aA of o)gA[aA]=lA[aA];return gA}),Promise.resolve({rows:J,totalCount:oA})}getTimeSeries({column:o,stepSize:h,operation:c,operationColumn:w,joinOperation:m,filters:k,filterOwner:C,spatialFilter:_}){const P=this._getFilteredFeatures(_,k,C);if(!P.length)return Promise.resolve({rows:[]});ne(P,o,w),Ge(c!=="custom","Custom operation not supported for geojson");const Y=s2({data:P,valuesColumns:Ee(w??o),keysColumn:o,groupType:h,operation:c,joinOperation:m})??[];return Promise.resolve({rows:Y})}getRange({column:o,filters:h,filterOwner:c,spatialFilter:w}){const m=this._getFilteredFeatures(w,h,c);return m.length?(ne(m,o),Promise.resolve({min:V0.min(m,o),max:V0.max(m,o)})):Promise.resolve(null)}getAggregations({aggregations:o,filters:h,filterOwner:c,spatialFilter:w}){const m=this._getFilteredFeatures(w,h,c);if(!m.length)return Promise.resolve({rows:[]});Ge(typeof o!="string","Unsupported geojson SQL aggregation");const k={},C=new Set;for(const{column:_,operation:P,alias:Y}of o){(_&&_!=="*"||P!==ge.Count)&&ne(m,_);const O=Y.toLowerCase();Ge(!C.has(O),`Duplicate alias: ${O}`),C.add(O);const q=V0[P];Ge(q,`Unsupported operation: ${P}`),k[Y]=q(m,_)}return Promise.resolve({rows:[k]})}getExtent(){const o=F2(Et(this.features));return Promise.resolve({bbox:o})}_getFilteredFeatures(o,h,c){const w=this._filterFeaturesBySpatial(o);return ks(w.map(m=>m.properties??{}),Vs(c,h??this.props.filters),this.props.filtersLogicalOperator??"and")}}function Ge(u,o){if(!u)throw new Error(o)}function ne(u,...o){const h=Array.from(new Set(o.map(Ee).flat())),c=Object.keys(u[0]??{}),w=h.filter(m=>m&&!c.includes(m));if(w.length)throw new Error(`Missing column(s): ${w.join(", ")}`)}function Ee(u){return Array.isArray(u)?u:typeof u=="string"?[u]:[]}let tr;addEventListener("message",u=>{const{method:o,params:h,requestId:c}=u.data;if(o===Ln.INIT){tr=new ho({...h[0],widgetWorker:!1});return}if(!tr){const w=`Cannot execute "${o}" on uninitialized source.`;postMessage({ok:!1,error:w,requestId:c});return}Promise.resolve(tr[o](...h)).then(w=>{postMessage({ok:!0,result:w,requestId:c})}).catch(w=>{postMessage({ok:!1,error:w,requestId:c})})})})();\n//# sourceMappingURL=widget-geojson-worker-9J7Q5sUJ.js.map\n', Ee = typeof self < "u" && self.Blob && new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);", Ye], {
3298
+ const Ye = '(function(){"use strict";const Ln={INIT:"init"};var Je=(function(u){u=u||{};var o=typeof u<"u"?u:{},h={},c;for(c in o)o.hasOwnProperty(c)&&(h[c]=o[c]);var w="";function m(W){return o.locateFile?o.locateFile(W,w):w+W}var k;typeof document<"u"&&document.currentScript&&(w=document.currentScript.src),w.indexOf("blob:")!==0?w=w.substr(0,w.lastIndexOf("/")+1):w="",k=function(AA,fA,tA){var e=new XMLHttpRequest;e.open("GET",AA,!0),e.responseType="arraybuffer",e.onload=function(){if(e.status==200||e.status==0&&e.response){fA(e.response);return}var zA=nr(AA);if(zA){fA(zA.buffer);return}tA()},e.onerror=tA,e.send(null)};var C=o.print||console.log.bind(console),_=o.printErr||console.warn.bind(console);for(c in h)h.hasOwnProperty(c)&&(o[c]=h[c]);h=null,o.arguments&&o.arguments;var P=0,Y=function(W){P=W},O=function(){return P},q=8;function J(W,AA,fA,tA){switch(fA=fA||"i8",fA.charAt(fA.length-1)==="*"&&(fA="i32"),fA){case"i1":I[W>>0]=AA;break;case"i8":I[W>>0]=AA;break;case"i16":V[W>>1]=AA;break;case"i32":L[W>>2]=AA;break;case"i64":ir=[AA>>>0,(ve=AA,+E0(ve)>=1?ve>0?(ao(+JA(ve/4294967296),4294967295)|0)>>>0:~~+f0((ve-+(~~ve>>>0))/4294967296)>>>0:0)],L[W>>2]=ir[0],L[W+4>>2]=ir[1];break;case"float":U[W>>2]=AA;break;case"double":H[W>>3]=AA;break;default:be("invalid type for setValue: "+fA)}}function oA(W,AA,fA){switch(AA=AA||"i8",AA.charAt(AA.length-1)==="*"&&(AA="i32"),AA){case"i1":return I[W>>0];case"i8":return I[W>>0];case"i16":return V[W>>1];case"i32":return L[W>>2];case"i64":return L[W>>2];case"float":return U[W>>2];case"double":return H[W>>3];default:be("invalid type for getValue: "+AA)}return null}var lA=!1;function gA(W,AA){W||be("Assertion failed: "+AA)}function aA(W){var AA=o["_"+W];return gA(AA,"Cannot call unknown function "+W+", make sure it is exported"),AA}function Z(W,AA,fA,tA,e){var E={string:function(OA){var x0=0;if(OA!=null&&OA!==0){var dt=(OA.length<<2)+1;x0=Li(dt),B(OA,x0,dt)}return x0},array:function(OA){var x0=Li(OA.length);return M(OA,x0),x0}};function zA(OA){return AA==="string"?GA(OA):AA==="boolean"?!!OA:OA}var VA=aA(W),s0=[],IA=0;if(tA)for(var YA=0;YA<tA.length;YA++){var W0=E[fA[YA]];W0?(IA===0&&(IA=Po()),s0[YA]=W0(tA[YA])):s0[YA]=tA[YA]}var jA=VA.apply(null,s0);return jA=zA(jA),IA!==0&&Mo(IA),jA}function RA(W,AA,fA,tA){fA=fA||[];var e=fA.every(function(zA){return zA==="number"}),E=AA!=="string";return E&&e&&!tA?aA(W):function(){return Z(W,AA,fA,arguments)}}var FA=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function TA(W,AA,fA){for(var tA=AA+fA,e=AA;W[e]&&!(e>=tA);)++e;if(e-AA>16&&W.subarray&&FA)return FA.decode(W.subarray(AA,e));for(var E="";AA<e;){var zA=W[AA++];if(!(zA&128)){E+=String.fromCharCode(zA);continue}var VA=W[AA++]&63;if((zA&224)==192){E+=String.fromCharCode((zA&31)<<6|VA);continue}var s0=W[AA++]&63;if((zA&240)==224?zA=(zA&15)<<12|VA<<6|s0:zA=(zA&7)<<18|VA<<12|s0<<6|W[AA++]&63,zA<65536)E+=String.fromCharCode(zA);else{var IA=zA-65536;E+=String.fromCharCode(55296|IA>>10,56320|IA&1023)}}return E}function GA(W,AA){return W?TA(N,W,AA):""}function XA(W,AA,fA,tA){if(!(tA>0))return 0;for(var e=fA,E=fA+tA-1,zA=0;zA<W.length;++zA){var VA=W.charCodeAt(zA);if(VA>=55296&&VA<=57343){var s0=W.charCodeAt(++zA);VA=65536+((VA&1023)<<10)|s0&1023}if(VA<=127){if(fA>=E)break;AA[fA++]=VA}else if(VA<=2047){if(fA+1>=E)break;AA[fA++]=192|VA>>6,AA[fA++]=128|VA&63}else if(VA<=65535){if(fA+2>=E)break;AA[fA++]=224|VA>>12,AA[fA++]=128|VA>>6&63,AA[fA++]=128|VA&63}else{if(fA+3>=E)break;AA[fA++]=240|VA>>18,AA[fA++]=128|VA>>12&63,AA[fA++]=128|VA>>6&63,AA[fA++]=128|VA&63}}return AA[fA]=0,fA-e}function B(W,AA,fA){return XA(W,N,AA,fA)}typeof TextDecoder<"u"&&new TextDecoder("utf-16le");function M(W,AA){I.set(W,AA)}function Q(W,AA){return W%AA>0&&(W+=AA-W%AA),W}var R,I,N,V,L,U,H;function j(W){R=W,o.HEAP8=I=new Int8Array(W),o.HEAP16=V=new Int16Array(W),o.HEAP32=L=new Int32Array(W),o.HEAPU8=N=new Uint8Array(W),o.HEAPU16=new Uint16Array(W),o.HEAPU32=new Uint32Array(W),o.HEAPF32=U=new Float32Array(W),o.HEAPF64=H=new Float64Array(W)}var $=5271520,mA=28608,vA=o.TOTAL_MEMORY||33554432;o.buffer?R=o.buffer:R=new ArrayBuffer(vA),vA=R.byteLength,j(R),L[mA>>2]=$;function NA(W){for(;W.length>0;){var AA=W.shift();if(typeof AA=="function"){AA();continue}var fA=AA.func;typeof fA=="number"?AA.arg===void 0?o.dynCall_v(fA):o.dynCall_vi(fA,AA.arg):fA(AA.arg===void 0?null:AA.arg)}}var ZA=[],e0=[],UA=[],HA=[];function n0(){if(o.preRun)for(typeof o.preRun=="function"&&(o.preRun=[o.preRun]);o.preRun.length;)d0(o.preRun.shift());NA(ZA)}function ye(){NA(e0)}function Ue(){NA(UA)}function ze(){if(o.postRun)for(typeof o.postRun=="function"&&(o.postRun=[o.postRun]);o.postRun.length;)se(o.postRun.shift());NA(HA)}function d0(W){ZA.unshift(W)}function se(W){HA.unshift(W)}var E0=Math.abs,f0=Math.ceil,JA=Math.floor,ao=Math.min,oe=0,Ye=null;function go(W){oe++,o.monitorRunDependencies&&o.monitorRunDependencies(oe)}function co(W){if(oe--,o.monitorRunDependencies&&o.monitorRunDependencies(oe),oe==0&&Ye){var AA=Ye;Ye=null,AA()}}o.preloadedImages={},o.preloadedAudios={};var U0=null,rr="data:application/octet-stream;base64,";function Oi(W){return String.prototype.startsWith?W.startsWith(rr):W.indexOf(rr)===0}var ve,ir;U0="data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAAAQAAAAQAAAADAAAABgAAAAUAAAACAAAAAAAAAAIAAAADAAAAAQAAAAQAAAAGAAAAAAAAAAUAAAADAAAABgAAAAQAAAAFAAAAAAAAAAEAAAACAAAABAAAAAUAAAAGAAAAAAAAAAIAAAADAAAAAQAAAAUAAAACAAAAAAAAAAEAAAADAAAABgAAAAQAAAAGAAAAAAAAAAUAAAACAAAAAQAAAAQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAAAAAAEAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAYAAAAAAAAABQAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAYAAAAAAAAAAwAAAAIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAFAAAABAAAAAAAAAABAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAADAAAACAAAAAEAAAAHAAAABgAAAAkAAAAAAAAAAwAAAAIAAAACAAAA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AAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAUAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABAAAAAUAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAD/////AQAAAAAAAAADAAAABAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAUAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAD//////////wEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAAAAAAAAAAABAAAAAgAAAAYAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAAAAAAAAAAAAQAAAAEAAAAFAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAAAAAAAAAAABAAAAAwAAAAcAAAAGAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADgAAAAIAAAAAAAAAAAAAAAEAAAAAAAAACQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAAAAAAAAAAAAAEAAAAEAAAACAAAAAoAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAAAAAAAAAAAAQAAAAsAAAAPAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAIAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAAAAAAAAAAAAQAAAAwAAAAQAAAADAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAAAAAAAAAAABAAAACgAAABMAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAAAAAAAAEAAAANAAAAEQAAAA0AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAACAAAAAAAAAAAAAAABAAAADgAAABIAAAAPAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAgAAAAAAAAAAAAAAAQAAAP//////////EwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAASAAAAAAAAABgAAAAAAAAAIQAAAAAAAAAeAAAAAAAAACAAAAADAAAAMQAAAAEAAAAwAAAAAwAAADIAAAADAAAACAAAAAAAAAAFAAAABQAAAAoAAAAFAAAAFgAAAAAAAAAQAAAAAAAAABIAAAAAAAAAKQAAAAEAAAAhAAAAAAAAAB4AAAAAAAAABAAAAAAAAAAAAAAABQAAAAIAAAAFAAAADwAAAAEAAAAIAAAAAAAAAAUAAAAFAAAAHwAAAAEAAAAWAAAAAAAAABAAAAAAAAAAAgAAAAAAAAAGAAAAAAAAAA4AAAAAAAAACgAAAAAAAAALAAAAAAAAABEAAAADAAAAGAAAAAEAAAAXAAAAAwAAABkAAAADAAAAAAAAAAAAAAABAAAABQAAAAkAAAAFAAAABQAAAAAAAAACAAAAAAAAAAYAAAAAAAAAEgAAAAEAAAAKAAAAAAAAAAsAAAAAAAAABAAAAAEAAAADAAAABQAAAAcAAAAFAAAACAAAAAEAAAAAAAAAAAAAAAEAAAAFAAAAEAAAAAEAAAAFAAAAAAAAAAIAAAAAAAAABwAAAAAAAAAVAAAAAAAAACYAAAAAAAAACQAAAAAAAAATAAAAAAAAACIAAAADAAAADgAAAAEAAAAUAAAAAwAAACQAAAADAAAAAwAAAAAAAAANAAAABQAAAB0AAAAFAAAAAQAAAAAAAAAHAAAAAAAAABUAAAAAAAAABgAAAAEAAAAJAAAAAAAAABMAAAAAAAAABAAAAAIAAAAMAAAA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Zhu25b633D8c1YgmzowSQNM25BRKWARArGS08/lNxD+LFssHwmMRQLC5aNcxBgJABL9HT0WRF0CjCmJmOGEOQHsuaVzMP/s/TWJCaGGwBUCeu1PAPLzjP9nqN9DZOBNAKE4JcydbCkCGtbd1qjPzP8dgm9U8jhVAtPeKTkVwDkCeCLss5l37P401XMPLmBdAFd29VMVQDUBg0yA55h75Pz6odcYLCRdApBM4rBrkAkDyAVWgQxbRP4XDMnK20hFAymLlF7EmzD8GUgo9XBHlP3lbK7T9COc/k+OhPthhy7+YGEpnrOvCPzBFhLs15u4/epbqB6H4uz9IuuLF5svev6lzLKY31es/CaQ0envF5z8ZY0xlUADXv7zaz7HYEuI/CfbK1sn16T8uAQfWwxLWPzKn/YuFN94/5KdbC1AFu793fyCSnlfvPzK2y4doAMY/NRg5t1/X6b/shq4QJaHDP5yNIAKPOeI/vpn7BSE30r/X4YQrO6nrv78Ziv/Thto/DqJ1Y6+y5z9l51NaxFrlv8QlA65HOLS/86dxiEc96z+Hj0+LFjneP6LzBZ8LTc2/DaJ1Y6+y579l51NaxFrlP8QlA65HOLQ/8qdxiEc967+Jj0+LFjnev6LzBZ8LTc0/1qdbC1AFuz93fyCSnlfvvzK2y4doAMa/NRg5t1/X6T/vhq4QJaHDv5yNIAKPOeK/wJn7BSE30j/W4YQrO6nrP78Ziv/Thtq/CaQ0envF578XY0xlUADXP7zaz7HYEuK/CvbK1sn16b8rAQfWwxLWvzKn/YuFN96/zWLlF7EmzL8GUgo9XBHlv3lbK7T9COe/kOOhPthhyz+cGEpnrOvCvzBFhLs15u6/c5bqB6H4u79IuuLF5sveP6lzLKY31eu/AQAAAP////8HAAAA/////zEAAAD/////VwEAAP////9hCQAA/////6dBAAD/////kcsBAP/////3kAwA/////8H2VwAAAAAAAAAAAAAAAAACAAAA/////w4AAAD/////YgAAAP////+uAgAA/////8ISAAD/////ToMAAP////8ilwMA/////+4hGQD/////gu2vAAAAAAAAAAAAAAAAAAAAAAACAAAA//////////8BAAAAAwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////AgAAAP//////////AQAAAAAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD/////////////////////AQAAAP///////////////wIAAAD///////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP///////////////////////////////wIAAAD///////////////8BAAAA/////////////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAABAAAA//////////8CAAAA//////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAAAQAAAP//////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAIAAAABAAAAAQAAAAIAAAACAAAAAAAAAAUAAAAFAAAAAAAAAAIAAAACAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAACAAAAAgAAAAIAAAAAAAAABQAAAAYAAAAAAAAAAgAAAAIAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAACAAAAAQAAAAMAAAACAAAAAgAAAAAAAAAFAAAABwAAAAAAAAACAAAAAgAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAIAAAABAAAABAAAAAIAAAACAAAAAAAAAAUAAAAIAAAAAAAAAAIAAAACAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAAAAAAAAgAAAAIAAAAAAAAABQAAAAkAAAAAAAAAAgAAAAIAAAADAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAIAAAAAAAAAAwAAAA4AAAACAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAgAAAAMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAgAAAAAAAAADAAAACgAAAAIAAAAAAAAAAgAAAAMAAAABAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAACAAAAAAAAAAMAAAALAAAAAgAAAAAAAAACAAAAAwAAAAIAAAAAAAAAAgAAAAIAAAADAAAACAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAIAAAAAAAAAAwAAAAwAAAACAAAAAAAAAAIAAAADAAAAAwAAAAAAAAACAAAAAgAAAAMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAAAAgAAAAAAAAADAAAADQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAAAAAAAAIAAAACAAAAAwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAACAAAAAAAAAAMAAAAGAAAAAgAAAAAAAAACAAAAAwAAAA8AAAAAAAAAAgAAAAIAAAADAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAIAAAAAAAAAAwAAAAcAAAACAAAAAAAAAAIAAAADAAAAEAAAAAAAAAACAAAAAgAAAAMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAgAAAAAAAAADAAAACAAAAAIAAAAAAAAAAgAAAAMAAAARAAAAAAAAAAIAAAACAAAAAwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAACAAAAAAAAAAMAAAAJAAAAAgAAAAAAAAACAAAAAwAAABIAAAAAAAAAAgAAAAIAAAADAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAgAAAAIAAAAAAAAAAwAAAAUAAAACAAAA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ZV0gPT0gS0kAZmFjZWlqay5jAF9mYWNlSWprUGVudFRvQ2VsbEJvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9DZWxsQm91bmRhcnkAaDNJbmRleC5jAGNvbXBhY3RDZWxscwBsYXRMbmdUb0NlbGwAY2VsbFRvQ2hpbGRQb3MAdmFsaWRhdGVDaGlsZFBvcwBsYXRMbmcuYwBjZWxsQXJlYVJhZHMyAHBvbHlnb24tPm5leHQgPT0gTlVMTABsaW5rZWRHZW8uYwBhZGROZXdMaW5rZWRQb2x5Z29uAG5leHQgIT0gTlVMTABsb29wICE9IE5VTEwAYWRkTmV3TGlua2VkTG9vcABwb2x5Z29uLT5maXJzdCA9PSBOVUxMAGFkZExpbmtlZExvb3AAY29vcmQgIT0gTlVMTABhZGRMaW5rZWRDb29yZABsb29wLT5maXJzdCA9PSBOVUxMAGlubmVyTG9vcHMgIT0gTlVMTABub3JtYWxpemVNdWx0aVBvbHlnb24AYmJveGVzICE9IE5VTEwAY2FuZGlkYXRlcyAhPSBOVUxMAGZpbmRQb2x5Z29uRm9ySG9sZQBjYW5kaWRhdGVCQm94ZXMgIT0gTlVMTAByZXZEaXIgIT0gSU5WQUxJRF9ESUdJVABsb2NhbGlqLmMAY2VsbFRvTG9jYWxJamsAYmFzZUNlbGwgIT0gb3JpZ2luQmFzZUNlbGwAIShvcmlnaW5PblBlbnQgJiYgaW5kZXhPblBlbnQpAGJhc2VDZWxsID09IG9yaWdpbkJhc2VDZWxsAGJhc2VDZWxsICE9IElOVkFMSURfQkFTRV9DRUxMAGxvY2FsSWprVG9DZWxsACFfaXNCYXNlQ2VsbFBlbnRhZ29uKGJhc2VDZWxsKQBiYXNlQ2VsbFJvdGF0aW9ucyA+PSAwAGdyaWRQYXRoQ2VsbHMAcG9seWZpbGwuYwBpdGVyU3RlcFBvbHlnb25Db21wYWN0ADAAdmVydGV4LmMAY2VsbFRvVmVydGV4AGdyYXBoLT5idWNrZXRzICE9IE5VTEwAdmVydGV4R3JhcGguYwBpbml0VmVydGV4R3JhcGgAbm9kZSAhPSBOVUxMAGFkZFZlcnRleE5vZGU=";var wo=28624;function po(W,AA,fA,tA){be("Assertion failed: "+GA(W)+", at: "+[AA?GA(AA):"unknown filename",fA,tA?GA(tA):"unknown function"])}function Ri(){return I.length}function mo(W,AA,fA){N.set(N.subarray(AA,AA+fA),W)}function Eo(W){return o.___errno_location&&(L[o.___errno_location()>>2]=W),W}function yo(W){be("OOM")}function vo(W){try{var AA=new ArrayBuffer(W);return AA.byteLength!=W?void 0:(new Int8Array(AA).set(I),Do(AA),j(AA),1)}catch{}}function bo(W){var AA=Ri(),fA=16777216,tA=2147483648-fA;if(W>tA)return!1;for(var e=16777216,E=Math.max(AA,e);E<W;)E<=536870912?E=Q(2*E,fA):E=Math.min(Q((3*E+2147483648)/4,fA),tA);var zA=vo(E);return!!zA}var ko=typeof atob=="function"?atob:function(W){var AA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",fA="",tA,e,E,zA,VA,s0,IA,YA=0;W=W.replace(/[^A-Za-z0-9\\+\\/\\=]/g,"");do zA=AA.indexOf(W.charAt(YA++)),VA=AA.indexOf(W.charAt(YA++)),s0=AA.indexOf(W.charAt(YA++)),IA=AA.indexOf(W.charAt(YA++)),tA=zA<<2|VA>>4,e=(VA&15)<<4|s0>>2,E=(s0&3)<<6|IA,fA=fA+String.fromCharCode(tA),s0!==64&&(fA=fA+String.fromCharCode(e)),IA!==64&&(fA=fA+String.fromCharCode(E));while(YA<W.length);return fA};function Bo(W){try{for(var AA=ko(W),fA=new Uint8Array(AA.length),tA=0;tA<AA.length;++tA)fA[tA]=AA.charCodeAt(tA);return fA}catch{throw new Error("Converting base64 string to bytes failed.")}}function nr(W){if(Oi(W))return Bo(W.slice(rr.length))}var Co={Math,Int8Array,Int32Array,Uint8Array,Float32Array,Float64Array},xo={b:Y,c:O,d:po,e:Eo,f:Ri,g:mo,h:bo,i:yo,o:wo,p:mA},rA=(function(W,AA,fA){"almost asm";var tA=new W.Int8Array(fA),e=new W.Int32Array(fA);new W.Uint8Array(fA),new W.Float32Array(fA);var E=new W.Float64Array(fA),zA=AA.o|0,VA=AA.p|0,s0=W.Math.floor,IA=W.Math.abs,YA=W.Math.sqrt,W0=W.Math.pow,jA=W.Math.cos,OA=W.Math.sin,x0=W.Math.tan,dt=W.Math.acos,_o=W.Math.asin,lr=W.Math.atan,D0=W.Math.atan2,ke=W.Math.ceil,O0=W.Math.imul,fr=W.Math.min,Qo=W.Math.max,z0=W.Math.clz32,MA=AA.b,b=AA.c,BA=AA.d,Ui=AA.e,So=AA.f,To=AA.g,Io=AA.h,Oo=AA.i,y=28640;function Ro(A){return tA=new Int8Array(A),e=new Int32Array(A),E=new Float64Array(A),fA=A,!0}function Lo(A){A=A|0;var t=0;return t=y,y=y+A|0,y=y+15&-16,t|0}function Fo(){return y|0}function No(A){A=A|0,y=A}function Go(A,t){A=A|0,y=A}function Uo(A,t){A=A|0,t=t|0;var r=0,i=0,n=0;return(A|0)<0?(t=2,t|0):(A|0)>13780509?(t=_t(15,t)|0,t|0):(r=((A|0)<0)<<31>>31,n=l0(A|0,r|0,3,0)|0,i=b()|0,r=EA(A|0,r|0,1,0)|0,r=l0(n|0,i|0,r|0,b()|0)|0,r=EA(r|0,b()|0,1,0)|0,A=b()|0,e[t>>2]=r,e[t+4>>2]=A,t=0,t|0)}function zi(A,t,r,i){return A=A|0,t=t|0,r=r|0,i=i|0,Yi(A,t,r,i,0)|0}function Yi(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0;if(a=y,y=y+16|0,l=a,!(ji(A,t,r,i,n)|0))return i=0,y=a,i|0;do if((r|0)>=0){if((r|0)>13780509){if(s=_t(15,l)|0,s|0)break;f=l,l=e[f>>2]|0,f=e[f+4>>2]|0}else s=((r|0)<0)<<31>>31,g=l0(r|0,s|0,3,0)|0,f=b()|0,s=EA(r|0,s|0,1,0)|0,s=l0(g|0,f|0,s|0,b()|0)|0,s=EA(s|0,b()|0,1,0)|0,f=b()|0,e[l>>2]=s,e[l+4>>2]=f,l=s;if(Ae(i|0,0,l<<3|0)|0,n|0){Ae(n|0,0,l<<2|0)|0,s=R0(A,t,r,i,n,l,f,0)|0;break}s=v0(l,4)|0,s?(g=R0(A,t,r,i,s,l,f,0)|0,yA(s),s=g):s=13}else s=2;while(!1);return g=s,y=a,g|0}function ji(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0;if(S=y,y=y+16|0,x=S,D=S+8|0,d=x,e[d>>2]=A,e[d+4>>2]=t,(r|0)<0)return D=2,y=S,D|0;if(s=i,e[s>>2]=A,e[s+4>>2]=t,s=(n|0)!=0,s&&(e[n>>2]=0),WA(A,t)|0)return D=9,y=S,D|0;e[D>>2]=0;A:do if((r|0)>=1)if(s)for(p=1,g=0,v=0,d=1,s=A;;){if(!(g|v)){if(s=o0(s,t,4,D,x)|0,s|0)break A;if(t=x,s=e[t>>2]|0,t=e[t+4>>2]|0,WA(s,t)|0){s=9;break A}}if(s=o0(s,t,e[26800+(v<<2)>>2]|0,D,x)|0,s|0)break A;if(t=x,s=e[t>>2]|0,t=e[t+4>>2]|0,A=i+(p<<3)|0,e[A>>2]=s,e[A+4>>2]=t,e[n+(p<<2)>>2]=d,A=g+1|0,l=(A|0)==(d|0),f=v+1|0,a=(f|0)==6,WA(s,t)|0){s=9;break A}if(d=d+(a&l&1)|0,(d|0)>(r|0)){s=0;break}else p=p+1|0,g=l?0:A,v=l?a?0:f:v}else for(p=1,g=0,v=0,d=1,s=A;;){if(!(g|v)){if(s=o0(s,t,4,D,x)|0,s|0)break A;if(t=x,s=e[t>>2]|0,t=e[t+4>>2]|0,WA(s,t)|0){s=9;break A}}if(s=o0(s,t,e[26800+(v<<2)>>2]|0,D,x)|0,s|0)break A;if(t=x,s=e[t>>2]|0,t=e[t+4>>2]|0,A=i+(p<<3)|0,e[A>>2]=s,e[A+4>>2]=t,A=g+1|0,l=(A|0)==(d|0),f=v+1|0,a=(f|0)==6,WA(s,t)|0){s=9;break A}if(d=d+(a&l&1)|0,(d|0)>(r|0)){s=0;break}else p=p+1|0,g=l?0:A,v=l?a?0:f:v}else s=0;while(!1);return D=s,y=S,D|0}function R0(A,t,r,i,n,s,l,f){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0,s=s|0,l=l|0,f=f|0;var a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0;if(S=y,y=y+16|0,x=S+8|0,D=S,a=Me(A|0,t|0,s|0,l|0)|0,p=b()|0,v=i+(a<<3)|0,F=v,K=e[F>>2]|0,F=e[F+4>>2]|0,g=(K|0)==(A|0)&(F|0)==(t|0),!((K|0)==0&(F|0)==0|g))do a=EA(a|0,p|0,1,0)|0,a=De(a|0,b()|0,s|0,l|0)|0,p=b()|0,v=i+(a<<3)|0,K=v,F=e[K>>2]|0,K=e[K+4>>2]|0,g=(F|0)==(A|0)&(K|0)==(t|0);while(!((F|0)==0&(K|0)==0|g));if(a=n+(a<<2)|0,g&&(e[a>>2]|0)<=(f|0)||(K=v,e[K>>2]=A,e[K+4>>2]=t,e[a>>2]=f,(f|0)>=(r|0)))return K=0,y=S,K|0;switch(g=f+1|0,e[x>>2]=0,a=o0(A,t,2,x,D)|0,a|0){case 9:{d=9;break}case 0:{a=D,a=R0(e[a>>2]|0,e[a+4>>2]|0,r,i,n,s,l,g)|0,a||(d=9);break}}A:do if((d|0)==9){switch(e[x>>2]=0,a=o0(A,t,3,x,D)|0,a|0){case 9:break;case 0:{if(a=D,a=R0(e[a>>2]|0,e[a+4>>2]|0,r,i,n,s,l,g)|0,a|0)break A;break}default:break A}switch(e[x>>2]=0,a=o0(A,t,1,x,D)|0,a|0){case 9:break;case 0:{if(a=D,a=R0(e[a>>2]|0,e[a+4>>2]|0,r,i,n,s,l,g)|0,a|0)break A;break}default:break A}switch(e[x>>2]=0,a=o0(A,t,5,x,D)|0,a|0){case 9:break;case 0:{if(a=D,a=R0(e[a>>2]|0,e[a+4>>2]|0,r,i,n,s,l,g)|0,a|0)break A;break}default:break A}switch(e[x>>2]=0,a=o0(A,t,4,x,D)|0,a|0){case 9:break;case 0:{if(a=D,a=R0(e[a>>2]|0,e[a+4>>2]|0,r,i,n,s,l,g)|0,a|0)break A;break}default:break A}switch(e[x>>2]=0,a=o0(A,t,6,x,D)|0,a|0){case 9:break;case 0:{if(a=D,a=R0(e[a>>2]|0,e[a+4>>2]|0,r,i,n,s,l,g)|0,a|0)break A;break}default:break A}return K=0,y=S,K|0}while(!1);return K=a,y=S,K|0}function o0(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0;if(r>>>0>6)return n=1,n|0;if(v=(e[i>>2]|0)%6|0,e[i>>2]=v,(v|0)>0){s=0;do r=ue(r)|0,s=s+1|0;while((s|0)<(e[i>>2]|0))}if(v=eA(A|0,t|0,45)|0,b()|0,p=v&127,p>>>0>121)return n=5,n|0;a=y0(A,t)|0,s=eA(A|0,t|0,52)|0,b()|0,s=s&15;A:do if(!s)g=8;else{for(;;){if(l=(15-s|0)*3|0,f=eA(A|0,t|0,l|0)|0,b()|0,f=f&7,(f|0)==7){t=5;break}if(D=(M0(s)|0)==0,s=s+-1|0,d=sA(7,0,l|0)|0,t=t&~(b()|0),x=sA(e[(D?432:16)+(f*28|0)+(r<<2)>>2]|0,0,l|0)|0,l=b()|0,r=e[(D?640:224)+(f*28|0)+(r<<2)>>2]|0,A=x|A&~d,t=l|t,!r){r=0;break A}if(!s){g=8;break A}}return t|0}while(!1);(g|0)==8&&(D=e[848+(p*28|0)+(r<<2)>>2]|0,x=sA(D|0,0,45)|0,A=x|A,t=b()|0|t&-1040385,r=e[4272+(p*28|0)+(r<<2)>>2]|0,(D&127|0)==127&&(D=sA(e[848+(p*28|0)+20>>2]|0,0,45)|0,t=b()|0|t&-1040385,r=e[4272+(p*28|0)+20>>2]|0,A=he(D|A,t)|0,t=b()|0,e[i>>2]=(e[i>>2]|0)+1)),f=eA(A|0,t|0,45)|0,b()|0,f=f&127;A:do if($A(f)|0){e:do if((y0(A,t)|0)==1){if((p|0)!=(f|0))if(qi(f,e[7696+(p*28|0)>>2]|0)|0){A=Cr(A,t)|0,l=1,t=b()|0;break}else BA(27795,26864,533,26872);switch(a|0){case 3:{A=he(A,t)|0,t=b()|0,e[i>>2]=(e[i>>2]|0)+1,l=0;break e}case 5:{A=Cr(A,t)|0,t=b()|0,e[i>>2]=(e[i>>2]|0)+5,l=0;break e}case 0:return D=9,D|0;default:return D=1,D|0}}else l=0;while(!1);if((r|0)>0){s=0;do A=Br(A,t)|0,t=b()|0,s=s+1|0;while((s|0)!=(r|0))}if((p|0)!=(f|0)){if(!(hr(f)|0)){if((l|0)!=0|(y0(A,t)|0)!=5)break;e[i>>2]=(e[i>>2]|0)+1;break}switch(v&127){case 8:case 118:break A}(y0(A,t)|0)!=3&&(e[i>>2]=(e[i>>2]|0)+1)}}else if((r|0)>0){s=0;do A=he(A,t)|0,t=b()|0,s=s+1|0;while((s|0)!=(r|0))}while(!1);return e[i>>2]=((e[i>>2]|0)+r|0)%6|0,D=n,e[D>>2]=A,e[D+4>>2]=t,D=0,D|0}function zo(A,t,r,i){return A=A|0,t=t|0,r=r|0,i=i|0,Hi(A,t,r,i)|0?(Ae(i|0,0,r*48|0)|0,i=Yo(A,t,r,i)|0,i|0):(i=0,i|0)}function Hi(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0;if(D=y,y=y+16|0,d=D,x=D+8|0,v=d,e[v>>2]=A,e[v+4>>2]=t,(r|0)<0)return x=2,y=D,x|0;if(!r)return x=i,e[x>>2]=A,e[x+4>>2]=t,x=0,y=D,x|0;e[x>>2]=0;A:do if(WA(A,t)|0)A=9;else{n=0,v=A;do{if(A=o0(v,t,4,x,d)|0,A|0)break A;if(t=d,v=e[t>>2]|0,t=e[t+4>>2]|0,n=n+1|0,WA(v,t)|0){A=9;break A}}while((n|0)<(r|0));p=i,e[p>>2]=v,e[p+4>>2]=t,p=r+-1|0,g=0,A=1;do{if(n=26800+(g<<2)|0,(g|0)==5)for(l=e[n>>2]|0,s=0,n=A;;){if(A=d,A=o0(e[A>>2]|0,e[A+4>>2]|0,l,x,d)|0,A|0)break A;if((s|0)!=(p|0))if(a=d,f=e[a>>2]|0,a=e[a+4>>2]|0,A=i+(n<<3)|0,e[A>>2]=f,e[A+4>>2]=a,!(WA(f,a)|0))A=n+1|0;else{A=9;break A}else A=n;if(s=s+1|0,(s|0)>=(r|0))break;n=A}else for(l=d,a=e[n>>2]|0,f=0,n=A,s=e[l>>2]|0,l=e[l+4>>2]|0;;){if(A=o0(s,l,a,x,d)|0,A|0)break A;if(l=d,s=e[l>>2]|0,l=e[l+4>>2]|0,A=i+(n<<3)|0,e[A>>2]=s,e[A+4>>2]=l,A=n+1|0,WA(s,l)|0){A=9;break A}if(f=f+1|0,(f|0)>=(r|0))break;n=A}g=g+1|0}while(g>>>0<6);A=d,A=(v|0)==(e[A>>2]|0)&&(t|0)==(e[A+4>>2]|0)?0:9}while(!1);return x=A,y=D,x|0}function Yo(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0;if(v=y,y=y+16|0,l=v,!r)return e[i>>2]=A,e[i+4>>2]=t,i=0,y=v,i|0;do if((r|0)>=0){if((r|0)>13780509){if(n=_t(15,l)|0,n|0)break;s=l,n=e[s>>2]|0,s=e[s+4>>2]|0}else n=((r|0)<0)<<31>>31,p=l0(r|0,n|0,3,0)|0,s=b()|0,n=EA(r|0,n|0,1,0)|0,n=l0(p|0,s|0,n|0,b()|0)|0,n=EA(n|0,b()|0,1,0)|0,s=b()|0,p=l,e[p>>2]=n,e[p+4>>2]=s;if(g=v0(n,8)|0,!g)n=13;else{if(p=v0(n,4)|0,!p){yA(g),n=13;break}if(n=R0(A,t,r,g,p,n,s,0)|0,n|0){yA(g),yA(p);break}if(t=e[l>>2]|0,l=e[l+4>>2]|0,(l|0)>0|(l|0)==0&t>>>0>0){n=0,f=0,a=0;do A=g+(f<<3)|0,s=e[A>>2]|0,A=e[A+4>>2]|0,!((s|0)==0&(A|0)==0)&&(e[p+(f<<2)>>2]|0)==(r|0)&&(d=i+(n<<3)|0,e[d>>2]=s,e[d+4>>2]=A,n=n+1|0),f=EA(f|0,a|0,1,0)|0,a=b()|0;while((a|0)<(l|0)|(a|0)==(l|0)&f>>>0<t>>>0)}yA(g),yA(p),n=0}}else n=2;while(!1);return d=n,y=v,d|0}function ur(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0;for(f=y,y=y+16|0,s=f,l=f+8|0,n=(WA(A,t)|0)==0,n=n?1:2;;){if(e[l>>2]=0,g=(o0(A,t,n,l,s)|0)==0,a=s,g&((e[a>>2]|0)==(r|0)?(e[a+4>>2]|0)==(i|0):0)){A=4;break}if(n=n+1|0,n>>>0>=7){n=7,A=4;break}}return(A|0)==4?(y=f,n|0):0}function jo(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0;if(f=y,y=y+48|0,n=f+16|0,s=f+8|0,l=f,r=We(r)|0,r|0)return l=r,y=f,l|0;if(g=A,a=e[g+4>>2]|0,r=s,e[r>>2]=e[g>>2],e[r+4>>2]=a,vn(s,n),r=$i(n,t,l)|0,!r){if(t=e[s>>2]|0,s=e[A+8>>2]|0,(s|0)>0){n=e[A+12>>2]|0,r=0;do t=(e[n+(r<<3)>>2]|0)+t|0,r=r+1|0;while((r|0)<(s|0))}r=l,n=e[r>>2]|0,r=e[r+4>>2]|0,s=((t|0)<0)<<31>>31,(r|0)<(s|0)|(r|0)==(s|0)&n>>>0<t>>>0?(r=l,e[r>>2]=t,e[r+4>>2]=s,r=s):t=n,a=EA(t|0,r|0,12,0)|0,g=b()|0,r=l,e[r>>2]=a,e[r+4>>2]=g,r=i,e[r>>2]=a,e[r+4>>2]=g,r=0}return g=r,y=f,g|0}function Vi(A,t,r,i,n,s,l){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0,s=s|0,l=l|0;var f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0,nA=0,cA=0,uA=0,DA=0,PA=0,LA=0,kA=0,wA=0,iA=0,SA=0,KA=0,_A=0,qA=0,w0=0,In=0;if(KA=y,y=y+64|0,kA=KA+48|0,wA=KA+32|0,iA=KA+24|0,nA=KA+8|0,cA=KA,a=e[A>>2]|0,(a|0)<=0)return SA=0,y=KA,SA|0;for(uA=A+4|0,DA=kA+8|0,PA=wA+8|0,LA=nA+8|0,f=0,G=0;;){g=e[uA>>2]|0,z=g+(G<<4)|0,e[kA>>2]=e[z>>2],e[kA+4>>2]=e[z+4>>2],e[kA+8>>2]=e[z+8>>2],e[kA+12>>2]=e[z+12>>2],(G|0)==(a+-1|0)?(e[wA>>2]=e[g>>2],e[wA+4>>2]=e[g+4>>2],e[wA+8>>2]=e[g+8>>2],e[wA+12>>2]=e[g+12>>2]):(z=g+(G+1<<4)|0,e[wA>>2]=e[z>>2],e[wA+4>>2]=e[z+4>>2],e[wA+8>>2]=e[z+8>>2],e[wA+12>>2]=e[z+12>>2]),a=tl(kA,wA,i,iA)|0;A:do if(a)g=0,f=a;else if(a=iA,g=e[a>>2]|0,a=e[a+4>>2]|0,(a|0)>0|(a|0)==0&g>>>0>0){K=0,z=0;e:for(;;){if(qA=1/(+(g>>>0)+4294967296*+(a|0)),In=+E[kA>>3],a=u0(g|0,a|0,K|0,z|0)|0,w0=+(a>>>0)+4294967296*+(b()|0),_A=+(K>>>0)+4294967296*+(z|0),E[nA>>3]=qA*(In*w0)+qA*(+E[wA>>3]*_A),E[LA>>3]=qA*(+E[DA>>3]*w0)+qA*(+E[PA>>3]*_A),a=dr(nA,i,cA)|0,a|0){f=a;break}F=cA,S=e[F>>2]|0,F=e[F+4>>2]|0,d=Me(S|0,F|0,t|0,r|0)|0,p=b()|0,a=l+(d<<3)|0,v=a,g=e[v>>2]|0,v=e[v+4>>2]|0;t:do if((g|0)==0&(v|0)==0)T=a,SA=16;else for(x=0,D=0;;){if((x|0)>(r|0)|(x|0)==(r|0)&D>>>0>t>>>0){f=1;break e}if((g|0)==(S|0)&(v|0)==(F|0))break t;if(a=EA(d|0,p|0,1,0)|0,d=De(a|0,b()|0,t|0,r|0)|0,p=b()|0,D=EA(D|0,x|0,1,0)|0,x=b()|0,a=l+(d<<3)|0,v=a,g=e[v>>2]|0,v=e[v+4>>2]|0,(g|0)==0&(v|0)==0){T=a,SA=16;break}}while(!1);if((SA|0)==16&&(SA=0,!((S|0)==0&(F|0)==0))&&(D=T,e[D>>2]=S,e[D+4>>2]=F,D=s+(e[n>>2]<<3)|0,e[D>>2]=S,e[D+4>>2]=F,D=n,D=EA(e[D>>2]|0,e[D+4>>2]|0,1,0)|0,S=b()|0,F=n,e[F>>2]=D,e[F+4>>2]=S),K=EA(K|0,z|0,1,0)|0,z=b()|0,a=iA,g=e[a>>2]|0,a=e[a+4>>2]|0,!((a|0)>(z|0)|(a|0)==(z|0)&g>>>0>K>>>0)){g=1;break A}}g=0}else g=1;while(!1);if(G=G+1|0,!g){SA=21;break}if(a=e[A>>2]|0,(G|0)>=(a|0)){f=0,SA=21;break}}return(SA|0)==21?(y=KA,f|0):0}function Ho(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0,nA=0,cA=0,uA=0,DA=0,PA=0,LA=0,kA=0,wA=0,iA=0,SA=0,KA=0,_A=0,qA=0,w0=0;if(w0=y,y=y+112|0,SA=w0+80|0,a=w0+72|0,KA=w0,_A=w0+56|0,n=We(r)|0,n|0)return qA=n,y=w0,qA|0;if(g=A+8|0,qA=L0((e[g>>2]<<5)+32|0)|0,!qA)return qA=13,y=w0,qA|0;if(Sr(A,qA),n=We(r)|0,!n){if(wA=A,iA=e[wA+4>>2]|0,n=a,e[n>>2]=e[wA>>2],e[n+4>>2]=iA,vn(a,SA),n=$i(SA,t,KA)|0,n)wA=0,iA=0;else{if(n=e[a>>2]|0,s=e[g>>2]|0,(s|0)>0){l=e[A+12>>2]|0,r=0;do n=(e[l+(r<<3)>>2]|0)+n|0,r=r+1|0;while((r|0)!=(s|0));r=n}else r=n;n=KA,s=e[n>>2]|0,n=e[n+4>>2]|0,l=((r|0)<0)<<31>>31,(n|0)<(l|0)|(n|0)==(l|0)&s>>>0<r>>>0?(n=KA,e[n>>2]=r,e[n+4>>2]=l,n=l):r=s,wA=EA(r|0,n|0,12,0)|0,iA=b()|0,n=KA,e[n>>2]=wA,e[n+4>>2]=iA,n=0}if(!n){if(r=v0(wA,8)|0,!r)return yA(qA),qA=13,y=w0,qA|0;if(f=v0(wA,8)|0,!f)return yA(qA),yA(r),qA=13,y=w0,qA|0;LA=SA,e[LA>>2]=0,e[LA+4>>2]=0,LA=A,kA=e[LA+4>>2]|0,n=a,e[n>>2]=e[LA>>2],e[n+4>>2]=kA,n=Vi(a,wA,iA,t,SA,r,f)|0;A:do if(n)yA(r),yA(f),yA(qA);else{e:do if((e[g>>2]|0)>0){for(l=A+12|0,s=0;n=Vi((e[l>>2]|0)+(s<<3)|0,wA,iA,t,SA,r,f)|0,s=s+1|0,!(n|0);)if((s|0)>=(e[g>>2]|0))break e;yA(r),yA(f),yA(qA);break A}while(!1);(iA|0)>0|(iA|0)==0&wA>>>0>0&&Ae(f|0,0,wA<<3|0)|0,kA=SA,LA=e[kA+4>>2]|0;e:do if((LA|0)>0|(LA|0)==0&(e[kA>>2]|0)>>>0>0){uA=r,DA=f,PA=r,LA=f,kA=r,n=r,T=r,nA=f,cA=f,r=f;t:for(;;){for(F=0,K=0,z=0,G=0,s=0,l=0;;){f=KA,a=f+56|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(a|0));if(t=uA+(F<<3)|0,g=e[t>>2]|0,t=e[t+4>>2]|0,ji(g,t,1,KA,0)|0){f=KA,a=f+56|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(a|0));f=v0(7,4)|0,f|0&&(R0(g,t,1,KA,f,7,0,0)|0,yA(f))}for(S=0;;){D=KA+(S<<3)|0,x=e[D>>2]|0,D=e[D+4>>2]|0;r:do if((x|0)==0&(D|0)==0)f=s,a=l;else{if(p=Me(x|0,D|0,wA|0,iA|0)|0,g=b()|0,f=i+(p<<3)|0,t=f,a=e[t>>2]|0,t=e[t+4>>2]|0,!((a|0)==0&(t|0)==0)){v=0,d=0;do{if((v|0)>(iA|0)|(v|0)==(iA|0)&d>>>0>wA>>>0)break t;if((a|0)==(x|0)&(t|0)==(D|0)){f=s,a=l;break r}f=EA(p|0,g|0,1,0)|0,p=De(f|0,b()|0,wA|0,iA|0)|0,g=b()|0,d=EA(d|0,v|0,1,0)|0,v=b()|0,f=i+(p<<3)|0,t=f,a=e[t>>2]|0,t=e[t+4>>2]|0}while(!((a|0)==0&(t|0)==0))}if((x|0)==0&(D|0)==0){f=s,a=l;break}ae(x,D,_A)|0,Tr(A,qA,_A)|0&&(d=EA(s|0,l|0,1,0)|0,l=b()|0,v=f,e[v>>2]=x,e[v+4>>2]=D,s=DA+(s<<3)|0,e[s>>2]=x,e[s+4>>2]=D,s=d),f=s,a=l}while(!1);if(S=S+1|0,S>>>0>=7)break;s=f,l=a}if(F=EA(F|0,K|0,1,0)|0,K=b()|0,z=EA(z|0,G|0,1,0)|0,G=b()|0,l=SA,s=e[l>>2]|0,l=e[l+4>>2]|0,(G|0)<(l|0)|(G|0)==(l|0)&z>>>0<s>>>0)s=f,l=a;else break}if((l|0)>0|(l|0)==0&s>>>0>0){s=0,l=0;do G=uA+(s<<3)|0,e[G>>2]=0,e[G+4>>2]=0,s=EA(s|0,l|0,1,0)|0,l=b()|0,G=SA,z=e[G+4>>2]|0;while((l|0)<(z|0)|((l|0)==(z|0)?s>>>0<(e[G>>2]|0)>>>0:0))}if(G=SA,e[G>>2]=f,e[G+4>>2]=a,(a|0)>0|(a|0)==0&f>>>0>0)S=r,F=cA,K=kA,z=nA,G=DA,r=T,cA=n,nA=PA,T=S,n=F,kA=LA,LA=K,PA=z,DA=uA,uA=G;else break e}yA(PA),yA(LA),yA(qA),n=1;break A}else n=f;while(!1);yA(qA),yA(r),yA(n),n=0}while(!1);return qA=n,y=w0,qA|0}}return yA(qA),qA=n,y=w0,qA|0}function Vo(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0;if(p=y,y=y+176|0,a=p,(t|0)<1)return dn(r,0,0),g=0,y=p,g|0;for(f=A,f=eA(e[f>>2]|0,e[f+4>>2]|0,52)|0,b()|0,dn(r,(t|0)>6?t:6,f&15),f=0;i=A+(f<<3)|0,i=de(e[i>>2]|0,e[i+4>>2]|0,a)|0,!(i|0);){if(i=e[a>>2]|0,(i|0)>0){l=0;do s=a+8+(l<<4)|0,l=l+1|0,i=a+8+(((l|0)%(i|0)|0)<<4)|0,n=v1(r,i,s)|0,n?Mn(r,n)|0:y1(r,s,i)|0,i=e[a>>2]|0;while((l|0)<(i|0))}if(f=f+1|0,(f|0)>=(t|0)){i=0,g=13;break}}return(g|0)==13?(y=p,i|0):(xn(r),g=i,y=p,g|0)}function Ko(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0;if(s=y,y=y+32|0,i=s,n=s+16|0,A=Vo(A,t,n)|0,A|0)return r=A,y=s,r|0;if(e[r>>2]=0,e[r+4>>2]=0,e[r+8>>2]=0,A=Dn(n)|0,A|0)do{t=ql(r)|0;do Wl(t,A)|0,l=A+16|0,e[i>>2]=e[l>>2],e[i+4>>2]=e[l+4>>2],e[i+8>>2]=e[l+8>>2],e[i+12>>2]=e[l+12>>2],Mn(n,A)|0,A=b1(n,i)|0;while((A|0)!=0);A=Dn(n)|0}while((A|0)!=0);return xn(n),A=Xl(r)|0,A?(pn(r),l=A,y=s,l|0):(l=0,y=s,l|0)}function $A(A){return A=A|0,A>>>0>121?(A=0,A|0):(A=e[7696+(A*28|0)+16>>2]|0,A|0)}function hr(A){return A=A|0,(A|0)==4|(A|0)==117|0}function Ki(A){return A=A|0,e[11120+((e[A>>2]|0)*216|0)+((e[A+4>>2]|0)*72|0)+((e[A+8>>2]|0)*24|0)+(e[A+12>>2]<<3)>>2]|0}function qo(A){return A=A|0,e[11120+((e[A>>2]|0)*216|0)+((e[A+4>>2]|0)*72|0)+((e[A+8>>2]|0)*24|0)+(e[A+12>>2]<<3)+4>>2]|0}function Wo(A,t){A=A|0,t=t|0,A=7696+(A*28|0)|0,e[t>>2]=e[A>>2],e[t+4>>2]=e[A+4>>2],e[t+8>>2]=e[A+8>>2],e[t+12>>2]=e[A+12>>2]}function Xo(A,t){A=A|0,t=t|0;var r=0,i=0;if(t>>>0>20)return t=-1,t|0;do if((e[11120+(t*216|0)>>2]|0)!=(A|0))if((e[11120+(t*216|0)+8>>2]|0)!=(A|0))if((e[11120+(t*216|0)+16>>2]|0)!=(A|0))if((e[11120+(t*216|0)+24>>2]|0)!=(A|0))if((e[11120+(t*216|0)+32>>2]|0)!=(A|0))if((e[11120+(t*216|0)+40>>2]|0)!=(A|0))if((e[11120+(t*216|0)+48>>2]|0)!=(A|0))if((e[11120+(t*216|0)+56>>2]|0)!=(A|0))if((e[11120+(t*216|0)+64>>2]|0)!=(A|0))if((e[11120+(t*216|0)+72>>2]|0)!=(A|0))if((e[11120+(t*216|0)+80>>2]|0)!=(A|0))if((e[11120+(t*216|0)+88>>2]|0)!=(A|0))if((e[11120+(t*216|0)+96>>2]|0)!=(A|0))if((e[11120+(t*216|0)+104>>2]|0)!=(A|0))if((e[11120+(t*216|0)+112>>2]|0)!=(A|0))if((e[11120+(t*216|0)+120>>2]|0)!=(A|0))if((e[11120+(t*216|0)+128>>2]|0)!=(A|0))if((e[11120+(t*216|0)+136>>2]|0)==(A|0))A=2,r=1,i=2;else{if((e[11120+(t*216|0)+144>>2]|0)==(A|0)){A=0,r=2,i=0;break}if((e[11120+(t*216|0)+152>>2]|0)==(A|0)){A=0,r=2,i=1;break}if((e[11120+(t*216|0)+160>>2]|0)==(A|0)){A=0,r=2,i=2;break}if((e[11120+(t*216|0)+168>>2]|0)==(A|0)){A=1,r=2,i=0;break}if((e[11120+(t*216|0)+176>>2]|0)==(A|0)){A=1,r=2,i=1;break}if((e[11120+(t*216|0)+184>>2]|0)==(A|0)){A=1,r=2,i=2;break}if((e[11120+(t*216|0)+192>>2]|0)==(A|0)){A=2,r=2,i=0;break}if((e[11120+(t*216|0)+200>>2]|0)==(A|0)){A=2,r=2,i=1;break}if((e[11120+(t*216|0)+208>>2]|0)==(A|0)){A=2,r=2,i=2;break}else A=-1;return A|0}else A=2,r=1,i=1;else A=2,r=1,i=0;else A=1,r=1,i=2;else A=1,r=1,i=1;else A=1,r=1,i=0;else A=0,r=1,i=2;else A=0,r=1,i=1;else A=0,r=1,i=0;else A=2,r=0,i=2;else A=2,r=0,i=1;else A=2,r=0,i=0;else A=1,r=0,i=2;else A=1,r=0,i=1;else A=1,r=0,i=0;else A=0,r=0,i=2;else A=0,r=0,i=1;else A=0,r=0,i=0;while(!1);return t=e[11120+(t*216|0)+(r*72|0)+(A*24|0)+(i<<3)+4>>2]|0,t|0}function qi(A,t){return A=A|0,t=t|0,(e[7696+(A*28|0)+20>>2]|0)==(t|0)?(t=1,t|0):(t=(e[7696+(A*28|0)+24>>2]|0)==(t|0),t|0)}function ar(A,t){return A=A|0,t=t|0,e[848+(A*28|0)+(t<<2)>>2]|0}function gr(A,t){return A=A|0,t=t|0,(e[848+(A*28|0)>>2]|0)==(t|0)?(t=0,t|0):(e[848+(A*28|0)+4>>2]|0)==(t|0)?(t=1,t|0):(e[848+(A*28|0)+8>>2]|0)==(t|0)?(t=2,t|0):(e[848+(A*28|0)+12>>2]|0)==(t|0)?(t=3,t|0):(e[848+(A*28|0)+16>>2]|0)==(t|0)?(t=4,t|0):(e[848+(A*28|0)+20>>2]|0)==(t|0)?(t=5,t|0):((e[848+(A*28|0)+24>>2]|0)==(t|0)?6:7)|0}function Zo(){return 122}function $o(A){A=A|0;var t=0,r=0,i=0;t=0;do sA(t|0,0,45)|0,i=b()|0|134225919,r=A+(t<<3)|0,e[r>>2]=-1,e[r+4>>2]=i,t=t+1|0;while((t|0)!=122);return 0}function Jo(A){A=A|0;var t=0,r=0,i=0;return i=+E[A+16>>3],r=+E[A+24>>3],t=i-r,+(i<r?t+6.283185307179586:t)}function Wi(A){return A=A|0,+E[A+16>>3]<+E[A+24>>3]|0}function Al(A){return A=A|0,+(+E[A>>3]-+E[A+8>>3])}function cr(A,t){A=A|0,t=t|0;var r=0,i=0,n=0;return r=+E[t>>3],!(r>=+E[A+8>>3])||!(r<=+E[A>>3])?(t=0,t|0):(i=+E[A+16>>3],r=+E[A+24>>3],n=+E[t+8>>3],t=n>=r,A=n<=i&1,i<r?t&&(A=1):t||(A=0),t=(A|0)!=0,t|0)}function wr(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0;return+E[A>>3]<+E[t+8>>3]||+E[A+8>>3]>+E[t>>3]?(i=0,i|0):(s=+E[A+16>>3],r=A+24|0,p=+E[r>>3],l=s<p,i=t+16|0,g=+E[i>>3],n=t+24|0,a=+E[n>>3],f=g<a,t=p-g<a-s,A=l?f|t?1:2:0,t=f?l?1:t?2:1:0,s=+b0(s,A),s<+b0(+E[n>>3],t)||(p=+b0(+E[r>>3],A),p>+b0(+E[i>>3],t))?(f=0,f|0):(f=1,f|0))}function el(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0;s=+E[A+16>>3],a=+E[A+24>>3],A=s<a,f=+E[t+16>>3],l=+E[t+24>>3],n=f<l,t=a-f<l-s,e[r>>2]=A?n|t?1:2:0,e[i>>2]=n?A?1:t?2:1:0}function Xi(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0;return+E[A>>3]<+E[t>>3]||+E[A+8>>3]>+E[t+8>>3]?(i=0,i|0):(i=A+16|0,a=+E[i>>3],s=+E[A+24>>3],l=a<s,r=t+16|0,p=+E[r>>3],n=t+24|0,g=+E[n>>3],f=p<g,t=s-p<g-a,A=l?f|t?1:2:0,t=f?l?1:t?2:1:0,s=+b0(s,A),s<=+b0(+E[n>>3],t)?(p=+b0(+E[i>>3],A),f=p>=+b0(+E[r>>3],t),f|0):(f=0,f|0))}function Zi(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0;n=y,y=y+176|0,i=n,e[i>>2]=4,f=+E[t>>3],E[i+8>>3]=f,s=+E[t+16>>3],E[i+16>>3]=s,E[i+24>>3]=f,f=+E[t+24>>3],E[i+32>>3]=f,l=+E[t+8>>3],E[i+40>>3]=l,E[i+48>>3]=f,E[i+56>>3]=l,E[i+64>>3]=s,t=i+72|0,r=t+96|0;do e[t>>2]=0,t=t+4|0;while((t|0)<(r|0));Pe(A|0,i|0,168)|0,y=n}function $i(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0;D=y,y=y+288|0,p=D+264|0,v=D+96|0,g=D,f=g,a=f+96|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(a|0));return t=Dr(t,g)|0,t|0?(x=t,y=D,x|0):(a=g,g=e[a>>2]|0,a=e[a+4>>2]|0,ae(g,a,p)|0,de(g,a,v)|0,l=+Ke(p,v+8|0),E[p>>3]=+E[A>>3],a=p+8|0,E[a>>3]=+E[A+16>>3],E[v>>3]=+E[A+8>>3],g=v+8|0,E[g>>3]=+E[A+24>>3],n=+Ke(p,v),F=+E[a>>3]-+E[g>>3],s=+IA(+F),S=+E[p>>3]-+E[v>>3],i=+IA(+S),!(F==0|S==0)&&(F=+Sn(+s,+i),F=+ke(+(n*n/+Tt(+(F/+Tt(+s,+i)),3)/(l*(l*2.59807621135)*.8))),E[zA>>3]=F,d=~~F>>>0,x=+IA(F)>=1?F>0?~~+fr(+s0(F/4294967296),4294967295)>>>0:~~+ke((F-+(~~F>>>0))/4294967296)>>>0:0,(e[zA+4>>2]&2146435072|0)!=2146435072)?(v=(d|0)==0&(x|0)==0,t=r,e[t>>2]=v?1:d,e[t+4>>2]=v?0:x,t=0):t=1,x=t,y=D,x|0)}function tl(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0;g=y,y=y+288|0,l=g+264|0,f=g+96|0,a=g,n=a,s=n+96|0;do e[n>>2]=0,n=n+4|0;while((n|0)<(s|0));return r=Dr(r,a)|0,r|0?(i=r,y=g,i|0):(r=a,n=e[r>>2]|0,r=e[r+4>>2]|0,ae(n,r,l)|0,de(n,r,f)|0,p=+Ke(l,f+8|0),p=+ke(+(+Ke(A,t)/(p*2))),E[zA>>3]=p,r=~~p>>>0,n=+IA(p)>=1?p>0?~~+fr(+s0(p/4294967296),4294967295)>>>0:~~+ke((p-+(~~p>>>0))/4294967296)>>>0:0,(e[zA+4>>2]&2146435072|0)==2146435072?(i=1,y=g,i|0):(a=(r|0)==0&(n|0)==0,e[i>>2]=a?1:r,e[i+4>>2]=a?0:n,i=0,y=g,i|0))}function rl(A,t){A=A|0,t=+t;var r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0;s=A+16|0,l=+E[s>>3],r=A+24|0,n=+E[r>>3],i=l-n,i=l<n?i+6.283185307179586:i,g=+E[A>>3],f=A+8|0,a=+E[f>>3],p=g-a,i=(i*t-i)*.5,t=(p*t-p)*.5,g=g+t,E[A>>3]=g>1.5707963267948966?1.5707963267948966:g,t=a-t,E[f>>3]=t<-1.5707963267948966?-1.5707963267948966:t,t=l+i,t=t>3.141592653589793?t+-6.283185307179586:t,E[s>>3]=t<-3.141592653589793?t+6.283185307179586:t,t=n-i,t=t>3.141592653589793?t+-6.283185307179586:t,E[r>>3]=t<-3.141592653589793?t+6.283185307179586:t}function il(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0,e[A>>2]=t,e[A+4>>2]=r,e[A+8>>2]=i}function nl(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0;v=t+8|0,e[v>>2]=0,a=+E[A>>3],l=+IA(+a),g=+E[A+8>>3],f=+IA(+g)*1.1547005383792515,l=l+f*.5,r=~~l,A=~~f,l=l-+(r|0),f=f-+(A|0);do if(l<.5)if(l<.3333333333333333)if(e[t>>2]=r,f<(l+1)*.5){e[t+4>>2]=A;break}else{A=A+1|0,e[t+4>>2]=A;break}else if(d=1-l,A=(!(f<d)&1)+A|0,e[t+4>>2]=A,d<=f&f<l*2){r=r+1|0,e[t>>2]=r;break}else{e[t>>2]=r;break}else{if(!(l<.6666666666666666))if(r=r+1|0,e[t>>2]=r,f<l*.5){e[t+4>>2]=A;break}else{A=A+1|0,e[t+4>>2]=A;break}if(f<1-l){if(e[t+4>>2]=A,l*2+-1<f){e[t>>2]=r;break}}else A=A+1|0,e[t+4>>2]=A;r=r+1|0,e[t>>2]=r}while(!1);do if(a<0)if(A&1){p=(A+1|0)/2|0,p=u0(r|0,((r|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0,r=~~(+(r|0)-((+(p>>>0)+4294967296*+(b()|0))*2+1)),e[t>>2]=r;break}else{p=(A|0)/2|0,p=u0(r|0,((r|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0,r=~~(+(r|0)-(+(p>>>0)+4294967296*+(b()|0))*2),e[t>>2]=r;break}while(!1);p=t+4|0,g<0&&(r=r-((A<<1|1|0)/2|0)|0,e[t>>2]=r,A=0-A|0,e[p>>2]=A),i=A-r|0,(r|0)<0?(n=0-r|0,e[p>>2]=i,e[v>>2]=n,e[t>>2]=0,A=i,r=0):n=0,(A|0)<0&&(r=r-A|0,e[t>>2]=r,n=n-A|0,e[v>>2]=n,e[p>>2]=0,A=0),s=r-n|0,i=A-n|0,(n|0)<0&&(e[t>>2]=s,e[p>>2]=i,e[v>>2]=0,A=i,r=s,n=0),i=(A|0)<(r|0)?A:r,i=(n|0)<(i|0)?n:i,!((i|0)<=0)&&(e[t>>2]=r-i,e[p>>2]=A-i,e[v>>2]=n-i)}function a0(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0;t=e[A>>2]|0,l=A+4|0,r=e[l>>2]|0,(t|0)<0&&(r=r-t|0,e[l>>2]=r,s=A+8|0,e[s>>2]=(e[s>>2]|0)-t,e[A>>2]=0,t=0),(r|0)<0?(t=t-r|0,e[A>>2]=t,s=A+8|0,n=(e[s>>2]|0)-r|0,e[s>>2]=n,e[l>>2]=0,r=0):(n=A+8|0,s=n,n=e[n>>2]|0),(n|0)<0&&(t=t-n|0,e[A>>2]=t,r=r-n|0,e[l>>2]=r,e[s>>2]=0,n=0),i=(r|0)<(t|0)?r:t,i=(n|0)<(i|0)?n:i,!((i|0)<=0)&&(e[A>>2]=t-i,e[l>>2]=r-i,e[s>>2]=n-i)}function le(A,t){A=A|0,t=t|0;var r=0,i=0;i=e[A+8>>2]|0,r=+((e[A+4>>2]|0)-i|0),E[t>>3]=+((e[A>>2]|0)-i|0)-r*.5,E[t+8>>3]=r*.8660254037844386}function c0(A,t,r){A=A|0,t=t|0,r=r|0,e[r>>2]=(e[t>>2]|0)+(e[A>>2]|0),e[r+4>>2]=(e[t+4>>2]|0)+(e[A+4>>2]|0),e[r+8>>2]=(e[t+8>>2]|0)+(e[A+8>>2]|0)}function pr(A,t,r){A=A|0,t=t|0,r=r|0,e[r>>2]=(e[A>>2]|0)-(e[t>>2]|0),e[r+4>>2]=(e[A+4>>2]|0)-(e[t+4>>2]|0),e[r+8>>2]=(e[A+8>>2]|0)-(e[t+8>>2]|0)}function Ji(A,t){A=A|0,t=t|0;var r=0,i=0;r=O0(e[A>>2]|0,t)|0,e[A>>2]=r,r=A+4|0,i=O0(e[r>>2]|0,t)|0,e[r>>2]=i,A=A+8|0,t=O0(e[A>>2]|0,t)|0,e[A>>2]=t}function xt(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;l=e[A>>2]|0,f=(l|0)<0,i=(e[A+4>>2]|0)-(f?l:0)|0,s=(i|0)<0,n=(s?0-i|0:0)+((e[A+8>>2]|0)-(f?l:0))|0,r=(n|0)<0,A=r?0:n,t=(s?0:i)-(r?n:0)|0,n=(f?0:l)-(s?i:0)-(r?n:0)|0,r=(t|0)<(n|0)?t:n,r=(A|0)<(r|0)?A:r,i=(r|0)>0,A=A-(i?r:0)|0,t=t-(i?r:0)|0;A:do switch(n-(i?r:0)|0){case 0:switch(t|0){case 0:return f=(A|0)==0?0:(A|0)==1?1:7,f|0;case 1:return f=(A|0)==0?2:(A|0)==1?3:7,f|0;default:break A}case 1:switch(t|0){case 0:return f=(A|0)==0?4:(A|0)==1?5:7,f|0;case 1:{if(!A)A=6;else break A;return A|0}default:break A}}while(!1);return f=7,f|0}function sl(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0;if(a=A+8|0,l=e[a>>2]|0,f=(e[A>>2]|0)-l|0,g=A+4|0,l=(e[g>>2]|0)-l|0,f>>>0>715827881|l>>>0>715827881){if(i=(f|0)>0,n=2147483647-f|0,s=-2147483648-f|0,(i?(n|0)<(f|0):(s|0)>(f|0))||(r=f<<1,i?(2147483647-r|0)<(f|0):(-2147483648-r|0)>(f|0))||((l|0)>0?(2147483647-l|0)<(l|0):(-2147483648-l|0)>(l|0))||(t=f*3|0,r=l<<1,(i?(n|0)<(r|0):(s|0)>(r|0))||((f|0)>-1?(t|-2147483648|0)>=(l|0):(t^-2147483648|0)<(l|0))))return g=1,g|0}else r=l<<1,t=f*3|0;return i=$0(+(t-l|0)*.14285714285714285)|0,e[A>>2]=i,n=$0(+(r+f|0)*.14285714285714285)|0,e[g>>2]=n,e[a>>2]=0,r=(n|0)<(i|0),t=r?i:n,r=r?n:i,(r|0)<0&&(((r|0)==-2147483648||((t|0)>0?(2147483647-t|0)<(r|0):(-2147483648-t|0)>(r|0)))&&BA(27795,26892,354,26903),((t|0)>-1?(t|-2147483648|0)>=(r|0):(t^-2147483648|0)<(r|0))&&BA(27795,26892,354,26903)),t=n-i|0,(i|0)<0?(r=0-i|0,e[g>>2]=t,e[a>>2]=r,e[A>>2]=0,i=0):(t=n,r=0),(t|0)<0&&(i=i-t|0,e[A>>2]=i,r=r-t|0,e[a>>2]=r,e[g>>2]=0,t=0),s=i-r|0,n=t-r|0,(r|0)<0?(e[A>>2]=s,e[g>>2]=n,e[a>>2]=0,t=n,n=s,r=0):n=i,i=(t|0)<(n|0)?t:n,i=(r|0)<(i|0)?r:i,(i|0)<=0?(g=0,g|0):(e[A>>2]=n-i,e[g>>2]=t-i,e[a>>2]=r-i,g=0,g|0)}function ol(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0,a=0;if(l=A+8|0,n=e[l>>2]|0,s=(e[A>>2]|0)-n|0,f=A+4|0,n=(e[f>>2]|0)-n|0,s>>>0>715827881|n>>>0>715827881){if(r=(s|0)>0,(r?(2147483647-s|0)<(s|0):(-2147483648-s|0)>(s|0))||(t=s<<1,i=(n|0)>0,i?(2147483647-n|0)<(n|0):(-2147483648-n|0)>(n|0)))return f=1,f|0;if(a=n<<1,(i?(2147483647-a|0)<(n|0):(-2147483648-a|0)>(n|0))||(r?(2147483647-t|0)<(n|0):(-2147483648-t|0)>(n|0))||(r=n*3|0,(n|0)>-1?(r|-2147483648|0)>=(s|0):(r^-2147483648|0)<(s|0)))return a=1,a|0}else r=n*3|0,t=s<<1;return i=$0(+(t+n|0)*.14285714285714285)|0,e[A>>2]=i,n=$0(+(r-s|0)*.14285714285714285)|0,e[f>>2]=n,e[l>>2]=0,r=(n|0)<(i|0),t=r?i:n,r=r?n:i,(r|0)<0&&(((r|0)==-2147483648||((t|0)>0?(2147483647-t|0)<(r|0):(-2147483648-t|0)>(r|0)))&&BA(27795,26892,402,26917),((t|0)>-1?(t|-2147483648|0)>=(r|0):(t^-2147483648|0)<(r|0))&&BA(27795,26892,402,26917)),t=n-i|0,(i|0)<0?(r=0-i|0,e[f>>2]=t,e[l>>2]=r,e[A>>2]=0,i=0):(t=n,r=0),(t|0)<0&&(i=i-t|0,e[A>>2]=i,r=r-t|0,e[l>>2]=r,e[f>>2]=0,t=0),s=i-r|0,n=t-r|0,(r|0)<0?(e[A>>2]=s,e[f>>2]=n,e[l>>2]=0,t=n,n=s,r=0):n=i,i=(t|0)<(n|0)?t:n,i=(r|0)<(i|0)?r:i,(i|0)<=0?(a=0,a|0):(e[A>>2]=n-i,e[f>>2]=t-i,e[l>>2]=r-i,a=0,a|0)}function ll(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;l=A+8|0,r=e[l>>2]|0,t=(e[A>>2]|0)-r|0,f=A+4|0,r=(e[f>>2]|0)-r|0,i=$0(+((t*3|0)-r|0)*.14285714285714285)|0,e[A>>2]=i,t=$0(+((r<<1)+t|0)*.14285714285714285)|0,e[f>>2]=t,e[l>>2]=0,r=t-i|0,(i|0)<0?(s=0-i|0,e[f>>2]=r,e[l>>2]=s,e[A>>2]=0,t=r,i=0,r=s):r=0,(t|0)<0&&(i=i-t|0,e[A>>2]=i,r=r-t|0,e[l>>2]=r,e[f>>2]=0,t=0),s=i-r|0,n=t-r|0,(r|0)<0?(e[A>>2]=s,e[f>>2]=n,e[l>>2]=0,t=n,n=s,r=0):n=i,i=(t|0)<(n|0)?t:n,i=(r|0)<(i|0)?r:i,!((i|0)<=0)&&(e[A>>2]=n-i,e[f>>2]=t-i,e[l>>2]=r-i)}function An(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;l=A+8|0,r=e[l>>2]|0,t=(e[A>>2]|0)-r|0,f=A+4|0,r=(e[f>>2]|0)-r|0,i=$0(+((t<<1)+r|0)*.14285714285714285)|0,e[A>>2]=i,t=$0(+((r*3|0)-t|0)*.14285714285714285)|0,e[f>>2]=t,e[l>>2]=0,r=t-i|0,(i|0)<0?(s=0-i|0,e[f>>2]=r,e[l>>2]=s,e[A>>2]=0,t=r,i=0,r=s):r=0,(t|0)<0&&(i=i-t|0,e[A>>2]=i,r=r-t|0,e[l>>2]=r,e[f>>2]=0,t=0),s=i-r|0,n=t-r|0,(r|0)<0?(e[A>>2]=s,e[f>>2]=n,e[l>>2]=0,t=n,n=s,r=0):n=i,i=(t|0)<(n|0)?t:n,i=(r|0)<(i|0)?r:i,!((i|0)<=0)&&(e[A>>2]=n-i,e[f>>2]=t-i,e[l>>2]=r-i)}function Dt(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;t=e[A>>2]|0,l=A+4|0,r=e[l>>2]|0,f=A+8|0,i=e[f>>2]|0,n=r+(t*3|0)|0,e[A>>2]=n,r=i+(r*3|0)|0,e[l>>2]=r,t=(i*3|0)+t|0,e[f>>2]=t,i=r-n|0,(n|0)<0?(t=t-n|0,e[l>>2]=i,e[f>>2]=t,e[A>>2]=0,r=i,i=0):i=n,(r|0)<0&&(i=i-r|0,e[A>>2]=i,t=t-r|0,e[f>>2]=t,e[l>>2]=0,r=0),s=i-t|0,n=r-t|0,(t|0)<0?(e[A>>2]=s,e[l>>2]=n,e[f>>2]=0,i=s,t=0):n=r,r=(n|0)<(i|0)?n:i,r=(t|0)<(r|0)?t:r,!((r|0)<=0)&&(e[A>>2]=i-r,e[l>>2]=n-r,e[f>>2]=t-r)}function fe(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;n=e[A>>2]|0,l=A+4|0,t=e[l>>2]|0,f=A+8|0,r=e[f>>2]|0,i=(t*3|0)+n|0,n=r+(n*3|0)|0,e[A>>2]=n,e[l>>2]=i,t=(r*3|0)+t|0,e[f>>2]=t,r=i-n|0,(n|0)<0?(t=t-n|0,e[l>>2]=r,e[f>>2]=t,e[A>>2]=0,n=0):r=i,(r|0)<0&&(n=n-r|0,e[A>>2]=n,t=t-r|0,e[f>>2]=t,e[l>>2]=0,r=0),s=n-t|0,i=r-t|0,(t|0)<0?(e[A>>2]=s,e[l>>2]=i,e[f>>2]=0,n=s,t=0):i=r,r=(i|0)<(n|0)?i:n,r=(t|0)<(r|0)?t:r,!((r|0)<=0)&&(e[A>>2]=n-r,e[l>>2]=i-r,e[f>>2]=t-r)}function en(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0;(t+-1|0)>>>0>=6||(n=(e[15440+(t*12|0)>>2]|0)+(e[A>>2]|0)|0,e[A>>2]=n,f=A+4|0,i=(e[15440+(t*12|0)+4>>2]|0)+(e[f>>2]|0)|0,e[f>>2]=i,l=A+8|0,t=(e[15440+(t*12|0)+8>>2]|0)+(e[l>>2]|0)|0,e[l>>2]=t,r=i-n|0,(n|0)<0?(t=t-n|0,e[f>>2]=r,e[l>>2]=t,e[A>>2]=0,i=0):(r=i,i=n),(r|0)<0&&(i=i-r|0,e[A>>2]=i,t=t-r|0,e[l>>2]=t,e[f>>2]=0,r=0),s=i-t|0,n=r-t|0,(t|0)<0?(e[A>>2]=s,e[f>>2]=n,e[l>>2]=0,i=s,t=0):n=r,r=(n|0)<(i|0)?n:i,r=(t|0)<(r|0)?t:r,!((r|0)<=0)&&(e[A>>2]=i-r,e[f>>2]=n-r,e[l>>2]=t-r))}function tn(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;n=e[A>>2]|0,l=A+4|0,t=e[l>>2]|0,f=A+8|0,r=e[f>>2]|0,i=t+n|0,n=r+n|0,e[A>>2]=n,e[l>>2]=i,t=r+t|0,e[f>>2]=t,r=i-n|0,(n|0)<0?(t=t-n|0,e[l>>2]=r,e[f>>2]=t,e[A>>2]=0,i=0):(r=i,i=n),(r|0)<0&&(i=i-r|0,e[A>>2]=i,t=t-r|0,e[f>>2]=t,e[l>>2]=0,r=0),s=i-t|0,n=r-t|0,(t|0)<0?(e[A>>2]=s,e[l>>2]=n,e[f>>2]=0,i=s,t=0):n=r,r=(n|0)<(i|0)?n:i,r=(t|0)<(r|0)?t:r,!((r|0)<=0)&&(e[A>>2]=i-r,e[l>>2]=n-r,e[f>>2]=t-r)}function Mt(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;t=e[A>>2]|0,l=A+4|0,i=e[l>>2]|0,f=A+8|0,r=e[f>>2]|0,n=i+t|0,e[A>>2]=n,i=r+i|0,e[l>>2]=i,t=r+t|0,e[f>>2]=t,r=i-n|0,(n|0)<0?(t=t-n|0,e[l>>2]=r,e[f>>2]=t,e[A>>2]=0,i=0):(r=i,i=n),(r|0)<0&&(i=i-r|0,e[A>>2]=i,t=t-r|0,e[f>>2]=t,e[l>>2]=0,r=0),s=i-t|0,n=r-t|0,(t|0)<0?(e[A>>2]=s,e[l>>2]=n,e[f>>2]=0,i=s,t=0):n=r,r=(n|0)<(i|0)?n:i,r=(t|0)<(r|0)?t:r,!((r|0)<=0)&&(e[A>>2]=i-r,e[l>>2]=n-r,e[f>>2]=t-r)}function ue(A){switch(A=A|0,A|0){case 1:{A=5;break}case 5:{A=4;break}case 4:{A=6;break}case 6:{A=2;break}case 2:{A=3;break}case 3:{A=1;break}}return A|0}function X0(A){switch(A=A|0,A|0){case 1:{A=3;break}case 3:{A=2;break}case 2:{A=6;break}case 6:{A=4;break}case 4:{A=5;break}case 5:{A=1;break}}return A|0}function rn(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;t=e[A>>2]|0,l=A+4|0,r=e[l>>2]|0,f=A+8|0,i=e[f>>2]|0,n=r+(t<<1)|0,e[A>>2]=n,r=i+(r<<1)|0,e[l>>2]=r,t=(i<<1)+t|0,e[f>>2]=t,i=r-n|0,(n|0)<0?(t=t-n|0,e[l>>2]=i,e[f>>2]=t,e[A>>2]=0,r=i,i=0):i=n,(r|0)<0&&(i=i-r|0,e[A>>2]=i,t=t-r|0,e[f>>2]=t,e[l>>2]=0,r=0),s=i-t|0,n=r-t|0,(t|0)<0?(e[A>>2]=s,e[l>>2]=n,e[f>>2]=0,i=s,t=0):n=r,r=(n|0)<(i|0)?n:i,r=(t|0)<(r|0)?t:r,!((r|0)<=0)&&(e[A>>2]=i-r,e[l>>2]=n-r,e[f>>2]=t-r)}function nn(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;n=e[A>>2]|0,l=A+4|0,t=e[l>>2]|0,f=A+8|0,r=e[f>>2]|0,i=(t<<1)+n|0,n=r+(n<<1)|0,e[A>>2]=n,e[l>>2]=i,t=(r<<1)+t|0,e[f>>2]=t,r=i-n|0,(n|0)<0?(t=t-n|0,e[l>>2]=r,e[f>>2]=t,e[A>>2]=0,n=0):r=i,(r|0)<0&&(n=n-r|0,e[A>>2]=n,t=t-r|0,e[f>>2]=t,e[l>>2]=0,r=0),s=n-t|0,i=r-t|0,(t|0)<0?(e[A>>2]=s,e[l>>2]=i,e[f>>2]=0,n=s,t=0):i=r,r=(i|0)<(n|0)?i:n,r=(t|0)<(r|0)?t:r,!((r|0)<=0)&&(e[A>>2]=n-r,e[l>>2]=i-r,e[f>>2]=t-r)}function mr(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0;return l=(e[A>>2]|0)-(e[t>>2]|0)|0,f=(l|0)<0,i=(e[A+4>>2]|0)-(e[t+4>>2]|0)-(f?l:0)|0,s=(i|0)<0,n=(f?0-l|0:0)+(e[A+8>>2]|0)-(e[t+8>>2]|0)+(s?0-i|0:0)|0,A=(n|0)<0,t=A?0:n,r=(s?0:i)-(A?n:0)|0,n=(f?0:l)-(s?i:0)-(A?n:0)|0,A=(r|0)<(n|0)?r:n,A=(t|0)<(A|0)?t:A,i=(A|0)>0,t=t-(i?A:0)|0,r=r-(i?A:0)|0,A=n-(i?A:0)|0,A=(A|0)>-1?A:0-A|0,r=(r|0)>-1?r:0-r|0,t=(t|0)>-1?t:0-t|0,t=(r|0)>(t|0)?r:t,((A|0)>(t|0)?A:t)|0}function fl(A,t){A=A|0,t=t|0;var r=0;r=e[A+8>>2]|0,e[t>>2]=(e[A>>2]|0)-r,e[t+4>>2]=(e[A+4>>2]|0)-r}function ul(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0;return i=e[A>>2]|0,e[t>>2]=i,n=e[A+4>>2]|0,l=t+4|0,e[l>>2]=n,f=t+8|0,e[f>>2]=0,r=(n|0)<(i|0),A=r?i:n,r=r?n:i,(r|0)<0&&((r|0)==-2147483648||((A|0)>0?(2147483647-A|0)<(r|0):(-2147483648-A|0)>(r|0))||((A|0)>-1?(A|-2147483648|0)>=(r|0):(A^-2147483648|0)<(r|0)))?(t=1,t|0):(A=n-i|0,(i|0)<0?(r=0-i|0,e[l>>2]=A,e[f>>2]=r,e[t>>2]=0,i=0):(A=n,r=0),(A|0)<0&&(i=i-A|0,e[t>>2]=i,r=r-A|0,e[f>>2]=r,e[l>>2]=0,A=0),s=i-r|0,n=A-r|0,(r|0)<0?(e[t>>2]=s,e[l>>2]=n,e[f>>2]=0,A=n,n=s,r=0):n=i,i=(A|0)<(n|0)?A:n,i=(r|0)<(i|0)?r:i,(i|0)<=0?(t=0,t|0):(e[t>>2]=n-i,e[l>>2]=A-i,e[f>>2]=r-i,t=0,t|0))}function sn(A){A=A|0;var t=0,r=0,i=0,n=0;t=A+8|0,n=e[t>>2]|0,r=n-(e[A>>2]|0)|0,e[A>>2]=r,i=A+4|0,A=(e[i>>2]|0)-n|0,e[i>>2]=A,e[t>>2]=0-(A+r)}function hl(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;r=e[A>>2]|0,t=0-r|0,e[A>>2]=t,l=A+8|0,e[l>>2]=0,f=A+4|0,i=e[f>>2]|0,n=i+r|0,(r|0)>0?(e[f>>2]=n,e[l>>2]=r,e[A>>2]=0,t=0,i=n):r=0,(i|0)<0?(s=t-i|0,e[A>>2]=s,r=r-i|0,e[l>>2]=r,e[f>>2]=0,n=s-r|0,t=0-r|0,(r|0)<0?(e[A>>2]=n,e[f>>2]=t,e[l>>2]=0,i=t,r=0):(i=0,n=s)):n=t,t=(i|0)<(n|0)?i:n,t=(r|0)<(t|0)?r:t,!((t|0)<=0)&&(e[A>>2]=n-t,e[f>>2]=i-t,e[l>>2]=r-t)}function al(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0,p=0,v=0;if(v=y,y=y+64|0,p=v,f=v+56|0,!(!0&(t&2013265920|0)==134217728&(!0&(i&2013265920|0)==134217728)))return n=5,y=v,n|0;if((A|0)==(r|0)&(t|0)==(i|0))return e[n>>2]=0,n=0,y=v,n|0;if(l=eA(A|0,t|0,52)|0,b()|0,l=l&15,g=eA(r|0,i|0,52)|0,b()|0,(l|0)!=(g&15|0))return n=12,y=v,n|0;if(s=l+-1|0,l>>>0>1){kr(A,t,s,p)|0,kr(r,i,s,f)|0,g=p,a=e[g>>2]|0,g=e[g+4>>2]|0;A:do if((a|0)==(e[f>>2]|0)&&(g|0)==(e[f+4>>2]|0)){l=(l^15)*3|0,s=eA(A|0,t|0,l|0)|0,b()|0,s=s&7,l=eA(r|0,i|0,l|0)|0,b()|0,l=l&7;do if((s|0)==0|(l|0)==0)e[n>>2]=1,s=0;else if((s|0)==7)s=5;else{if((s|0)==1|(l|0)==1&&WA(a,g)|0){s=5;break}if((e[15536+(s<<2)>>2]|0)!=(l|0)&&(e[15568+(s<<2)>>2]|0)!=(l|0))break A;e[n>>2]=1,s=0}while(!1);return n=s,y=v,n|0}while(!1)}s=p,l=s+56|0;do e[s>>2]=0,s=s+4|0;while((s|0)<(l|0));return zi(A,t,1,p)|0,t=p,!((e[t>>2]|0)==(r|0)&&(e[t+4>>2]|0)==(i|0))&&(t=p+8|0,!((e[t>>2]|0)==(r|0)&&(e[t+4>>2]|0)==(i|0)))&&(t=p+16|0,!((e[t>>2]|0)==(r|0)&&(e[t+4>>2]|0)==(i|0)))&&(t=p+24|0,!((e[t>>2]|0)==(r|0)&&(e[t+4>>2]|0)==(i|0)))&&(t=p+32|0,!((e[t>>2]|0)==(r|0)&&(e[t+4>>2]|0)==(i|0)))&&(t=p+40|0,!((e[t>>2]|0)==(r|0)&&(e[t+4>>2]|0)==(i|0)))?(s=p+48|0,s=((e[s>>2]|0)==(r|0)?(e[s+4>>2]|0)==(i|0):0)&1):s=1,e[n>>2]=s,n=0,y=v,n|0}function gl(A,t,r,i,n){return A=A|0,t=t|0,r=r|0,i=i|0,n=n|0,r=ur(A,t,r,i)|0,(r|0)==7?(n=11,n|0):(i=sA(r|0,0,56)|0,t=t&-2130706433|(b()|0)|268435456,e[n>>2]=A|i,e[n+4>>2]=t,n=0,n|0)}function cl(A,t,r){return A=A|0,t=t|0,r=r|0,!0&(t&2013265920|0)==268435456?(e[r>>2]=A,e[r+4>>2]=t&-2130706433|134217728,r=0,r|0):(r=6,r|0)}function wl(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0;return n=y,y=y+16|0,i=n,e[i>>2]=0,!0&(t&2013265920|0)==268435456?(s=eA(A|0,t|0,56)|0,b()|0,i=o0(A,t&-2130706433|134217728,s&7,i,r)|0,y=n,i|0):(i=6,y=n,i|0)}function pl(A,t){A=A|0,t=t|0;var r=0;switch(r=eA(A|0,t|0,56)|0,b()|0,r&7){case 0:case 7:return r=0,r|0}return r=t&-2130706433|134217728,!(!0&(t&2013265920|0)==268435456)||!0&(t&117440512|0)==16777216&(WA(A,r)|0)!=0?(r=0,r|0):(r=vr(A,r)|0,r|0)}function ml(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0;return n=y,y=y+16|0,i=n,!0&(t&2013265920|0)==268435456?(s=t&-2130706433|134217728,l=r,e[l>>2]=A,e[l+4>>2]=s,e[i>>2]=0,t=eA(A|0,t|0,56)|0,b()|0,i=o0(A,s,t&7,i,r+8|0)|0,y=n,i|0):(i=6,y=n,i|0)}function El(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0;return n=(WA(A,t)|0)==0,t=t&-2130706433,i=r,e[i>>2]=n?A:0,e[i+4>>2]=n?t|285212672:0,i=r+8|0,e[i>>2]=A,e[i+4>>2]=t|301989888,i=r+16|0,e[i>>2]=A,e[i+4>>2]=t|318767104,i=r+24|0,e[i>>2]=A,e[i+4>>2]=t|335544320,i=r+32|0,e[i>>2]=A,e[i+4>>2]=t|352321536,r=r+40|0,e[r>>2]=A,e[r+4>>2]=t|369098752,0}function Pt(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0;return l=y,y=y+16|0,n=l,s=t&-2130706433|134217728,!0&(t&2013265920|0)==268435456?(i=eA(A|0,t|0,56)|0,b()|0,i=w1(A,s,i&7)|0,(i|0)==-1?(e[r>>2]=0,s=6,y=l,s|0):(Ce(A,s,n)|0&&BA(27795,26932,282,26947),t=eA(A|0,t|0,52)|0,b()|0,t=t&15,WA(A,s)|0?Er(n,t,i,2,r):yr(n,t,i,2,r),s=0,y=l,s|0)):(s=6,y=l,s|0)}function yl(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0;i=y,y=y+16|0,n=i,vl(A,t,r,n),nl(n,r+4|0),y=i}function vl(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0;if(f=y,y=y+16|0,a=f,bl(A,r,a),s=+dt(+(1-+E[a>>3]*.5)),s<1e-16){e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0,y=f;return}if(a=e[r>>2]|0,n=+E[15920+(a*24|0)>>3],n=+Ve(n-+Ve(+Fl(15600+(a<<4)|0,A))),M0(t)|0?l=+Ve(n+-.3334731722518321):l=n,n=+x0(+s)*2.618033988749896,(t|0)>0){A=0;do n=n*2.6457513110645907,A=A+1|0;while((A|0)!=(t|0))}s=+jA(+l)*n,E[i>>3]=s,l=+OA(+l)*n,E[i+8>>3]=l,y=f}function bl(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0;if(s=y,y=y+32|0,n=s,c1(A,n),e[t>>2]=0,E[r>>3]=5,i=+t0(16400,n),i<+E[r>>3]&&(e[t>>2]=0,E[r>>3]=i),i=+t0(16424,n),i<+E[r>>3]&&(e[t>>2]=1,E[r>>3]=i),i=+t0(16448,n),i<+E[r>>3]&&(e[t>>2]=2,E[r>>3]=i),i=+t0(16472,n),i<+E[r>>3]&&(e[t>>2]=3,E[r>>3]=i),i=+t0(16496,n),i<+E[r>>3]&&(e[t>>2]=4,E[r>>3]=i),i=+t0(16520,n),i<+E[r>>3]&&(e[t>>2]=5,E[r>>3]=i),i=+t0(16544,n),i<+E[r>>3]&&(e[t>>2]=6,E[r>>3]=i),i=+t0(16568,n),i<+E[r>>3]&&(e[t>>2]=7,E[r>>3]=i),i=+t0(16592,n),i<+E[r>>3]&&(e[t>>2]=8,E[r>>3]=i),i=+t0(16616,n),i<+E[r>>3]&&(e[t>>2]=9,E[r>>3]=i),i=+t0(16640,n),i<+E[r>>3]&&(e[t>>2]=10,E[r>>3]=i),i=+t0(16664,n),i<+E[r>>3]&&(e[t>>2]=11,E[r>>3]=i),i=+t0(16688,n),i<+E[r>>3]&&(e[t>>2]=12,E[r>>3]=i),i=+t0(16712,n),i<+E[r>>3]&&(e[t>>2]=13,E[r>>3]=i),i=+t0(16736,n),i<+E[r>>3]&&(e[t>>2]=14,E[r>>3]=i),i=+t0(16760,n),i<+E[r>>3]&&(e[t>>2]=15,E[r>>3]=i),i=+t0(16784,n),i<+E[r>>3]&&(e[t>>2]=16,E[r>>3]=i),i=+t0(16808,n),i<+E[r>>3]&&(e[t>>2]=17,E[r>>3]=i),i=+t0(16832,n),i<+E[r>>3]&&(e[t>>2]=18,E[r>>3]=i),i=+t0(16856,n),!(i<+E[r>>3])){y=s;return}e[t>>2]=19,E[r>>3]=i,y=s}function je(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0;if(s=+g1(A),s<1e-16){t=15600+(t<<4)|0,e[n>>2]=e[t>>2],e[n+4>>2]=e[t+4>>2],e[n+8>>2]=e[t+8>>2],e[n+12>>2]=e[t+12>>2];return}if(l=+D0(+ +E[A+8>>3],+ +E[A>>3]),(r|0)>0){A=0;do s=s*.37796447300922725,A=A+1|0;while((A|0)!=(r|0))}f=s*.3333333333333333,i?(r=(M0(r)|0)==0,s=+lr(+((r?f:f*.37796447300922725)*.381966011250105))):(s=+lr(+(s*.381966011250105)),M0(r)|0&&(l=+Ve(l+.3334731722518321))),Nl(15600+(t<<4)|0,+Ve(+E[15920+(t*24|0)>>3]-l),s,n)}function kl(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0;i=y,y=y+16|0,n=i,le(A+4|0,n),je(n,e[A>>2]|0,t,0,r),y=i}function Er(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0,nA=0,cA=0,uA=0,DA=0,PA=0,LA=0,kA=0,wA=0,iA=0,SA=0,KA=0,_A=0;if(SA=y,y=y+272|0,s=SA+256|0,z=SA+240|0,kA=SA,wA=SA+224|0,iA=SA+208|0,G=SA+176|0,T=SA+160|0,nA=SA+192|0,cA=SA+144|0,uA=SA+128|0,DA=SA+112|0,PA=SA+96|0,LA=SA+80|0,e[s>>2]=t,e[z>>2]=e[A>>2],e[z+4>>2]=e[A+4>>2],e[z+8>>2]=e[A+8>>2],e[z+12>>2]=e[A+12>>2],on(z,s,kA),e[n>>2]=0,z=i+r+((i|0)==5&1)|0,(z|0)<=(r|0)){y=SA;return}a=e[s>>2]|0,g=wA+4|0,p=G+4|0,v=r+5|0,d=16880+(a<<2)|0,x=16960+(a<<2)|0,D=uA+8|0,S=DA+8|0,F=PA+8|0,K=iA+4|0,f=r;A:for(;;){l=kA+(((f|0)%5|0)<<4)|0,e[iA>>2]=e[l>>2],e[iA+4>>2]=e[l+4>>2],e[iA+8>>2]=e[l+8>>2],e[iA+12>>2]=e[l+12>>2];do;while((Be(iA,a,0,1)|0)==2);if((f|0)>(r|0)&(M0(t)|0)!=0){if(e[G>>2]=e[iA>>2],e[G+4>>2]=e[iA+4>>2],e[G+8>>2]=e[iA+8>>2],e[G+12>>2]=e[iA+12>>2],le(g,T),i=e[G>>2]|0,s=e[17040+(i*80|0)+(e[wA>>2]<<2)>>2]|0,e[G>>2]=e[18640+(i*80|0)+(s*20|0)>>2],l=e[18640+(i*80|0)+(s*20|0)+16>>2]|0,(l|0)>0){A=0;do tn(p),A=A+1|0;while((A|0)<(l|0))}switch(l=18640+(i*80|0)+(s*20|0)+4|0,e[nA>>2]=e[l>>2],e[nA+4>>2]=e[l+4>>2],e[nA+8>>2]=e[l+8>>2],Ji(nA,(e[d>>2]|0)*3|0),c0(p,nA,p),a0(p),le(p,cA),KA=+(e[x>>2]|0),E[uA>>3]=KA*3,E[D>>3]=0,_A=KA*-1.5,E[DA>>3]=_A,E[S>>3]=KA*2.598076211353316,E[PA>>3]=_A,E[F>>3]=KA*-2.598076211353316,e[17040+((e[G>>2]|0)*80|0)+(e[iA>>2]<<2)>>2]|0){case 1:{A=DA,i=uA;break}case 3:{A=PA,i=DA;break}case 2:{A=uA,i=PA;break}default:{A=12;break A}}Bn(T,cA,i,A,LA),je(LA,e[G>>2]|0,a,1,n+8+(e[n>>2]<<4)|0),e[n>>2]=(e[n>>2]|0)+1}if((f|0)<(v|0)&&(le(K,G),je(G,e[iA>>2]|0,a,1,n+8+(e[n>>2]<<4)|0),e[n>>2]=(e[n>>2]|0)+1),e[wA>>2]=e[iA>>2],e[wA+4>>2]=e[iA+4>>2],e[wA+8>>2]=e[iA+8>>2],e[wA+12>>2]=e[iA+12>>2],f=f+1|0,(f|0)>=(z|0)){A=3;break}}if((A|0)==3){y=SA;return}else(A|0)==12&&BA(26970,27017,572,27027)}function on(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0;a=y,y=y+128|0,i=a+64|0,n=a,s=i,l=20240,f=s+60|0;do e[s>>2]=e[l>>2],s=s+4|0,l=l+4|0;while((s|0)<(f|0));s=n,l=20304,f=s+60|0;do e[s>>2]=e[l>>2],s=s+4|0,l=l+4|0;while((s|0)<(f|0));f=(M0(e[t>>2]|0)|0)==0,i=f?i:n,n=A+4|0,rn(n),nn(n),M0(e[t>>2]|0)|0&&(fe(n),e[t>>2]=(e[t>>2]|0)+1),e[r>>2]=e[A>>2],t=r+4|0,c0(n,i,t),a0(t),e[r+16>>2]=e[A>>2],t=r+20|0,c0(n,i+12|0,t),a0(t),e[r+32>>2]=e[A>>2],t=r+36|0,c0(n,i+24|0,t),a0(t),e[r+48>>2]=e[A>>2],t=r+52|0,c0(n,i+36|0,t),a0(t),e[r+64>>2]=e[A>>2],r=r+68|0,c0(n,i+48|0,r),a0(r),y=a}function Be(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0;if(D=y,y=y+32|0,d=D+12|0,f=D,x=A+4|0,v=e[16960+(t<<2)>>2]|0,p=(i|0)!=0,v=p?v*3|0:v,n=e[x>>2]|0,g=A+8|0,l=e[g>>2]|0,p){if(s=A+12|0,i=e[s>>2]|0,n=l+n+i|0,(n|0)==(v|0))return x=1,y=D,x|0;a=s}else a=A+12|0,i=e[a>>2]|0,n=l+n+i|0;if((n|0)<=(v|0))return x=0,y=D,x|0;do if((i|0)>0){if(i=e[A>>2]|0,(l|0)>0){s=18640+(i*80|0)+60|0,i=A;break}i=18640+(i*80|0)+40|0,r?(il(d,v,0,0),pr(x,d,f),Mt(f),c0(f,d,x),s=i,i=A):(s=i,i=A)}else s=18640+((e[A>>2]|0)*80|0)+20|0,i=A;while(!1);if(e[i>>2]=e[s>>2],n=s+16|0,(e[n>>2]|0)>0){i=0;do tn(x),i=i+1|0;while((i|0)<(e[n>>2]|0))}return A=s+4|0,e[d>>2]=e[A>>2],e[d+4>>2]=e[A+4>>2],e[d+8>>2]=e[A+8>>2],t=e[16880+(t<<2)>>2]|0,Ji(d,p?t*3|0:t),c0(x,d,x),a0(x),p?i=((e[g>>2]|0)+(e[x>>2]|0)+(e[a>>2]|0)|0)==(v|0)?1:2:i=2,x=i,y=D,x|0}function Bl(A,t){A=A|0,t=t|0;var r=0;do r=Be(A,t,0,1)|0;while((r|0)==2);return r|0}function yr(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0,nA=0,cA=0,uA=0,DA=0,PA=0,LA=0,kA=0;if(PA=y,y=y+240|0,s=PA+224|0,nA=PA+208|0,cA=PA,uA=PA+192|0,DA=PA+176|0,F=PA+160|0,K=PA+144|0,z=PA+128|0,G=PA+112|0,T=PA+96|0,e[s>>2]=t,e[nA>>2]=e[A>>2],e[nA+4>>2]=e[A+4>>2],e[nA+8>>2]=e[A+8>>2],e[nA+12>>2]=e[A+12>>2],ln(nA,s,cA),e[n>>2]=0,S=i+r+((i|0)==6&1)|0,(S|0)<=(r|0)){y=PA;return}a=e[s>>2]|0,g=r+6|0,p=16960+(a<<2)|0,v=K+8|0,d=z+8|0,x=G+8|0,D=uA+4|0,l=0,f=r,i=-1;A:for(;;){if(s=(f|0)%6|0,A=cA+(s<<4)|0,e[uA>>2]=e[A>>2],e[uA+4>>2]=e[A+4>>2],e[uA+8>>2]=e[A+8>>2],e[uA+12>>2]=e[A+12>>2],A=l,l=Be(uA,a,0,1)|0,(f|0)>(r|0)&(M0(t)|0)!=0&&(A|0)!=1&&(e[uA>>2]|0)!=(i|0)){switch(le(cA+(((s+5|0)%6|0)<<4)+4|0,DA),le(cA+(s<<4)+4|0,F),LA=+(e[p>>2]|0),E[K>>3]=LA*3,E[v>>3]=0,kA=LA*-1.5,E[z>>3]=kA,E[d>>3]=LA*2.598076211353316,E[G>>3]=kA,E[x>>3]=LA*-2.598076211353316,s=e[nA>>2]|0,e[17040+(s*80|0)+(((i|0)==(s|0)?e[uA>>2]|0:i)<<2)>>2]|0){case 1:{A=z,i=K;break}case 3:{A=G,i=z;break}case 2:{A=K,i=G;break}default:{A=8;break A}}Bn(DA,F,i,A,T),!(Cn(DA,T)|0)&&!(Cn(F,T)|0)&&(je(T,e[nA>>2]|0,a,1,n+8+(e[n>>2]<<4)|0),e[n>>2]=(e[n>>2]|0)+1)}if((f|0)<(g|0)&&(le(D,DA),je(DA,e[uA>>2]|0,a,1,n+8+(e[n>>2]<<4)|0),e[n>>2]=(e[n>>2]|0)+1),f=f+1|0,(f|0)>=(S|0)){A=3;break}else i=e[uA>>2]|0}if((A|0)==3){y=PA;return}else(A|0)==8&&BA(27054,27017,737,27099)}function ln(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0;a=y,y=y+160|0,i=a+80|0,n=a,s=i,l=20368,f=s+72|0;do e[s>>2]=e[l>>2],s=s+4|0,l=l+4|0;while((s|0)<(f|0));s=n,l=20448,f=s+72|0;do e[s>>2]=e[l>>2],s=s+4|0,l=l+4|0;while((s|0)<(f|0));f=(M0(e[t>>2]|0)|0)==0,i=f?i:n,n=A+4|0,rn(n),nn(n),M0(e[t>>2]|0)|0&&(fe(n),e[t>>2]=(e[t>>2]|0)+1),e[r>>2]=e[A>>2],t=r+4|0,c0(n,i,t),a0(t),e[r+16>>2]=e[A>>2],t=r+20|0,c0(n,i+12|0,t),a0(t),e[r+32>>2]=e[A>>2],t=r+36|0,c0(n,i+24|0,t),a0(t),e[r+48>>2]=e[A>>2],t=r+52|0,c0(n,i+36|0,t),a0(t),e[r+64>>2]=e[A>>2],t=r+68|0,c0(n,i+48|0,t),a0(t),e[r+80>>2]=e[A>>2],r=r+84|0,c0(n,i+60|0,r),a0(r),y=a}function Cl(A,t){return A=A|0,t=t|0,t=eA(A|0,t|0,52)|0,b()|0,t&15|0}function fn(A,t){return A=A|0,t=t|0,t=eA(A|0,t|0,45)|0,b()|0,t&127|0}function vr(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0;return!(!0&(t&-16777216|0)==134217728)||(i=eA(A|0,t|0,52)|0,b()|0,i=i&15,r=eA(A|0,t|0,45)|0,b()|0,r=r&127,r>>>0>121)?(A=0,A|0):(l=(i^15)*3|0,n=eA(A|0,t|0,l|0)|0,l=sA(n|0,b()|0,l|0)|0,n=b()|0,s=u0(-1227133514,-1171,l|0,n|0)|0,!((l&613566756&s|0)==0&(n&4681&(b()|0)|0)==0)||(l=(i*3|0)+19|0,s=sA(~A|0,~t|0,l|0)|0,l=eA(s|0,b()|0,l|0)|0,!((i|0)==15|(l|0)==0&(b()|0)==0))?(l=0,l|0):!(tA[20528+r>>0]|0)||(t=t&8191,(A|0)==0&(t|0)==0)?(l=1,l|0):(l=Qn(A|0,t|0)|0,b()|0,((63-l|0)%3|0|0)!=0|0))}function br(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0;if(n=sA(t|0,0,52)|0,s=b()|0,r=sA(r|0,0,45)|0,r=s|(b()|0)|134225919,(t|0)<1){s=-1,i=r,t=A,e[t>>2]=s,A=A+4|0,e[A>>2]=i;return}for(s=1,n=-1;l=(15-s|0)*3|0,f=sA(7,0,l|0)|0,r=r&~(b()|0),l=sA(i|0,0,l|0)|0,n=n&~f|l,r=r|(b()|0),(s|0)!=(t|0);)s=s+1|0;f=A,l=f,e[l>>2]=n,f=f+4|0,e[f>>2]=r}function kr(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0;if(s=eA(A|0,t|0,52)|0,b()|0,s=s&15,r>>>0>15)return i=4,i|0;if((s|0)<(r|0))return i=12,i|0;if((s|0)==(r|0))return e[i>>2]=A,e[i+4>>2]=t,i=0,i|0;if(n=sA(r|0,0,52)|0,n=n|A,A=b()|0|t&-15728641,(s|0)>(r|0))do t=sA(7,0,(14-r|0)*3|0)|0,r=r+1|0,n=t|n,A=b()|0|A;while((r|0)<(s|0));return e[i>>2]=n,e[i+4>>2]=A,i=0,i|0}function He(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0;if(s=eA(A|0,t|0,52)|0,b()|0,s=s&15,!((r|0)<16&(s|0)<=(r|0)))return i=4,i|0;n=r-s|0,r=eA(A|0,t|0,45)|0,b()|0;A:do if(!($A(r&127)|0))r=Z0(7,0,n,((n|0)<0)<<31>>31)|0,n=b()|0;else{e:do if(s|0){for(r=1;l=sA(7,0,(15-r|0)*3|0)|0,!!((l&A|0)==0&((b()|0)&t|0)==0);)if(r>>>0<s>>>0)r=r+1|0;else break e;r=Z0(7,0,n,((n|0)<0)<<31>>31)|0,n=b()|0;break A}while(!1);r=Z0(7,0,n,((n|0)<0)<<31>>31)|0,r=l0(r|0,b()|0,5,0)|0,r=EA(r|0,b()|0,-5,-1)|0,r=J0(r|0,b()|0,6,0)|0,r=EA(r|0,b()|0,1,0)|0,n=b()|0}while(!1);return l=i,e[l>>2]=r,e[l+4>>2]=n,l=0,l|0}function WA(A,t){A=A|0,t=t|0;var r=0,i=0,n=0;if(n=eA(A|0,t|0,45)|0,b()|0,!($A(n&127)|0))return n=0,n|0;n=eA(A|0,t|0,52)|0,b()|0,n=n&15;A:do if(!n)r=0;else for(i=1;;){if(r=eA(A|0,t|0,(15-i|0)*3|0)|0,b()|0,r=r&7,r|0)break A;if(i>>>0<n>>>0)i=i+1|0;else{r=0;break}}while(!1);return n=(r|0)==0&1,n|0}function dl(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0;if(l=y,y=y+16|0,s=l,Mr(s,A,t,r),t=s,A=e[t>>2]|0,t=e[t+4>>2]|0,(A|0)==0&(t|0)==0)return y=l,0;n=0,r=0;do f=i+(n<<3)|0,e[f>>2]=A,e[f+4>>2]=t,n=EA(n|0,r|0,1,0)|0,r=b()|0,Pr(s),f=s,A=e[f>>2]|0,t=e[f+4>>2]|0;while(!((A|0)==0&(t|0)==0));return y=l,0}function un(A,t,r,i){return A=A|0,t=t|0,r=r|0,i=i|0,(i|0)<(r|0)?(r=t,i=A,MA(r|0),i|0):(r=sA(-1,-1,((i-r|0)*3|0)+3|0)|0,i=sA(~r|0,~(b()|0)|0,(15-i|0)*3|0)|0,r=~(b()|0)&t,i=~i&A,MA(r|0),i|0)}function hn(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0;return n=eA(A|0,t|0,52)|0,b()|0,n=n&15,(r|0)<16&(n|0)<=(r|0)?((n|0)<(r|0)&&(n=sA(-1,-1,((r+-1-n|0)*3|0)+3|0)|0,n=sA(~n|0,~(b()|0)|0,(15-r|0)*3|0)|0,t=~(b()|0)&t,A=~n&A),n=sA(r|0,0,52)|0,r=t&-15728641|(b()|0),e[i>>2]=A|n,e[i+4>>2]=r,i=0,i|0):(i=4,i|0)}function xl(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0,nA=0,cA=0,uA=0,DA=0,PA=0,LA=0,kA=0,wA=0,iA=0;if((r|0)==0&(i|0)==0)return iA=0,iA|0;if(n=A,s=e[n>>2]|0,n=e[n+4>>2]|0,!0&(n&15728640|0)==0){if(!((i|0)>0|(i|0)==0&r>>>0>0)||(iA=t,e[iA>>2]=s,e[iA+4>>2]=n,(r|0)==1&(i|0)==0))return iA=0,iA|0;n=1,s=0;do kA=A+(n<<3)|0,wA=e[kA+4>>2]|0,iA=t+(n<<3)|0,e[iA>>2]=e[kA>>2],e[iA+4>>2]=wA,n=EA(n|0,s|0,1,0)|0,s=b()|0;while((s|0)<(i|0)|(s|0)==(i|0)&n>>>0<r>>>0);return n=0,n|0}if(LA=r<<3,wA=L0(LA)|0,!wA)return iA=13,iA|0;if(Pe(wA|0,A|0,LA|0)|0,kA=v0(r,8)|0,!kA)return yA(wA),iA=13,iA|0;A:for(;;){n=wA,g=e[n>>2]|0,n=e[n+4>>2]|0,DA=eA(g|0,n|0,52)|0,b()|0,DA=DA&15,PA=DA+-1|0,uA=(DA|0)!=0,cA=(i|0)>0|(i|0)==0&r>>>0>0;e:do if(uA&cA){if(z=sA(PA|0,0,52)|0,G=b()|0,PA>>>0>15){if(!((g|0)==0&(n|0)==0)){iA=16;break A}for(s=0,A=0;;){if(s=EA(s|0,A|0,1,0)|0,A=b()|0,!((A|0)<(i|0)|(A|0)==(i|0)&s>>>0<r>>>0))break e;if(l=wA+(s<<3)|0,nA=e[l>>2]|0,l=e[l+4>>2]|0,!((nA|0)==0&(l|0)==0)){n=l,iA=16;break A}}}for(f=g,A=n,s=0,l=0;;){if(!((f|0)==0&(A|0)==0)){if(!(!0&(A&117440512|0)==0)){iA=21;break A}if(p=eA(f|0,A|0,52)|0,b()|0,p=p&15,(p|0)<(PA|0)){n=12,iA=27;break A}if((p|0)!=(PA|0)&&(f=f|z,A=A&-15728641|G,p>>>0>=DA>>>0)){a=PA;do nA=sA(7,0,(14-a|0)*3|0)|0,a=a+1|0,f=nA|f,A=b()|0|A;while(a>>>0<p>>>0)}if(d=Me(f|0,A|0,r|0,i|0)|0,x=b()|0,a=kA+(d<<3)|0,p=a,v=e[p>>2]|0,p=e[p+4>>2]|0,!((v|0)==0&(p|0)==0)){F=0,K=0;do{if((F|0)>(i|0)|(F|0)==(i|0)&K>>>0>r>>>0){iA=31;break A}if((v|0)==(f|0)&(p&-117440513|0)==(A|0)){D=eA(v|0,p|0,56)|0,b()|0,D=D&7,S=D+1|0,nA=eA(v|0,p|0,45)|0,b()|0;t:do if(!($A(nA&127)|0))p=7;else{if(v=eA(v|0,p|0,52)|0,b()|0,v=v&15,!v){p=6;break}for(p=1;;){if(nA=sA(7,0,(15-p|0)*3|0)|0,!((nA&f|0)==0&((b()|0)&A|0)==0)){p=7;break t}if(p>>>0<v>>>0)p=p+1|0;else{p=6;break}}}while(!1);if((D+2|0)>>>0>p>>>0){iA=41;break A}nA=sA(S|0,0,56)|0,A=b()|0|A&-117440513,T=a,e[T>>2]=0,e[T+4>>2]=0,f=nA|f}else d=EA(d|0,x|0,1,0)|0,d=De(d|0,b()|0,r|0,i|0)|0,x=b()|0;K=EA(K|0,F|0,1,0)|0,F=b()|0,a=kA+(d<<3)|0,p=a,v=e[p>>2]|0,p=e[p+4>>2]|0}while(!((v|0)==0&(p|0)==0))}nA=a,e[nA>>2]=f,e[nA+4>>2]=A}if(s=EA(s|0,l|0,1,0)|0,l=b()|0,!((l|0)<(i|0)|(l|0)==(i|0)&s>>>0<r>>>0))break e;A=wA+(s<<3)|0,f=e[A>>2]|0,A=e[A+4>>2]|0}}while(!1);if(nA=EA(r|0,i|0,5,0)|0,T=b()|0,T>>>0<0|(T|0)==0&nA>>>0<11){iA=85;break}if(nA=J0(r|0,i|0,6,0)|0,b()|0,nA=v0(nA,8)|0,!nA){iA=48;break}do if(cA){for(S=0,A=0,D=0,F=0;;){if(p=kA+(S<<3)|0,l=p,s=e[l>>2]|0,l=e[l+4>>2]|0,(s|0)==0&(l|0)==0)T=D;else{v=eA(s|0,l|0,56)|0,b()|0,v=v&7,f=v+1|0,d=l&-117440513,T=eA(s|0,l|0,45)|0,b()|0;e:do if($A(T&127)|0){if(x=eA(s|0,l|0,52)|0,b()|0,x=x&15,x|0)for(a=1;;){if(T=sA(7,0,(15-a|0)*3|0)|0,!((s&T|0)==0&(d&(b()|0)|0)==0))break e;if(a>>>0<x>>>0)a=a+1|0;else break}l=sA(f|0,0,56)|0,s=l|s,l=b()|0|d,f=p,e[f>>2]=s,e[f+4>>2]=l,f=v+2|0}while(!1);(f|0)==7?(T=nA+(A<<3)|0,e[T>>2]=s,e[T+4>>2]=l&-117440513,A=EA(A|0,D|0,1,0)|0,T=b()|0):T=D}if(S=EA(S|0,F|0,1,0)|0,F=b()|0,(F|0)<(i|0)|(F|0)==(i|0)&S>>>0<r>>>0)D=T;else break}if(cA){if(K=PA>>>0>15,z=sA(PA|0,0,52)|0,G=b()|0,!uA){for(s=0,a=0,f=0,l=0;(g|0)==0&(n|0)==0||(PA=t+(s<<3)|0,e[PA>>2]=g,e[PA+4>>2]=n,s=EA(s|0,a|0,1,0)|0,a=b()|0),f=EA(f|0,l|0,1,0)|0,l=b()|0,!!((l|0)<(i|0)|(l|0)==(i|0)&f>>>0<r>>>0);)n=wA+(f<<3)|0,g=e[n>>2]|0,n=e[n+4>>2]|0;n=T;break}for(s=0,a=0,l=0,f=0;;){do if(!((g|0)==0&(n|0)==0)){if(x=eA(g|0,n|0,52)|0,b()|0,x=x&15,K|(x|0)<(PA|0)){iA=80;break A}if((x|0)!=(PA|0)){if(p=g|z,v=n&-15728641|G,x>>>0>=DA>>>0){d=PA;do uA=sA(7,0,(14-d|0)*3|0)|0,d=d+1|0,p=uA|p,v=b()|0|v;while(d>>>0<x>>>0)}}else p=g,v=n;D=Me(p|0,v|0,r|0,i|0)|0,d=0,x=0,F=b()|0;do{if((d|0)>(i|0)|(d|0)==(i|0)&x>>>0>r>>>0){iA=81;break A}if(uA=kA+(D<<3)|0,S=e[uA+4>>2]|0,(S&-117440513|0)==(v|0)&&(e[uA>>2]|0)==(p|0)){iA=65;break}uA=EA(D|0,F|0,1,0)|0,D=De(uA|0,b()|0,r|0,i|0)|0,F=b()|0,x=EA(x|0,d|0,1,0)|0,d=b()|0,uA=kA+(D<<3)|0}while(!((e[uA>>2]|0)==(p|0)&&(e[uA+4>>2]|0)==(v|0)));if((iA|0)==65&&(iA=0,!0&(S&117440512|0)==100663296))break;uA=t+(s<<3)|0,e[uA>>2]=g,e[uA+4>>2]=n,s=EA(s|0,a|0,1,0)|0,a=b()|0}while(!1);if(l=EA(l|0,f|0,1,0)|0,f=b()|0,!((f|0)<(i|0)|(f|0)==(i|0)&l>>>0<r>>>0))break;n=wA+(l<<3)|0,g=e[n>>2]|0,n=e[n+4>>2]|0}n=T}else s=0,n=T}else s=0,A=0,n=0;while(!1);if(Ae(kA|0,0,LA|0)|0,Pe(wA|0,nA|0,A<<3|0)|0,yA(nA),(A|0)==0&(n|0)==0){iA=89;break}else t=t+(s<<3)|0,i=n,r=A}if((iA|0)==16)!0&(n&117440512|0)==0?(n=4,iA=27):iA=21;else if((iA|0)==31)BA(27795,27122,529,27132);else{if((iA|0)==41)return yA(wA),yA(kA),iA=10,iA|0;if((iA|0)==48)return yA(wA),yA(kA),iA=13,iA|0;(iA|0)==80?BA(27795,27122,620,27132):(iA|0)==81?BA(27795,27122,632,27132):(iA|0)==85&&(Pe(t|0,wA|0,r<<3|0)|0,iA=89)}return(iA|0)==21?(yA(wA),yA(kA),iA=5,iA|0):(iA|0)==27?(yA(wA),yA(kA),iA=n,iA|0):(iA|0)==89?(yA(wA),yA(kA),iA=0,iA|0):0}function Dl(A,t,r,i,n,s,l){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0,s=s|0,l=l|0;var f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0;if(S=y,y=y+16|0,D=S,!((r|0)>0|(r|0)==0&t>>>0>0))return D=0,y=S,D|0;if((l|0)>=16)return D=12,y=S,D|0;d=0,x=0,v=0,f=0;A:for(;;){if(g=A+(d<<3)|0,a=e[g>>2]|0,g=e[g+4>>2]|0,p=eA(a|0,g|0,52)|0,b()|0,(p&15|0)>(l|0)){f=12,a=11;break}if(Mr(D,a,g,l),p=D,g=e[p>>2]|0,p=e[p+4>>2]|0,(g|0)==0&(p|0)==0)a=v;else{a=v;do{if(!((f|0)<(s|0)|(f|0)==(s|0)&a>>>0<n>>>0)){a=10;break A}v=i+(a<<3)|0,e[v>>2]=g,e[v+4>>2]=p,a=EA(a|0,f|0,1,0)|0,f=b()|0,Pr(D),v=D,g=e[v>>2]|0,p=e[v+4>>2]|0}while(!((g|0)==0&(p|0)==0))}if(d=EA(d|0,x|0,1,0)|0,x=b()|0,(x|0)<(r|0)|(x|0)==(r|0)&d>>>0<t>>>0)v=a;else{f=0,a=11;break}}return(a|0)==10?(D=14,y=S,D|0):(a|0)==11?(y=S,f|0):0}function Ml(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0;d=y,y=y+16|0,v=d;A:do if((r|0)>0|(r|0)==0&t>>>0>0){for(g=0,l=0,s=0,p=0;;){if(a=A+(g<<3)|0,f=e[a>>2]|0,a=e[a+4>>2]|0,!((f|0)==0&(a|0)==0)&&(a=(He(f,a,i,v)|0)==0,f=v,l=EA(e[f>>2]|0,e[f+4>>2]|0,l|0,s|0)|0,s=b()|0,!a)){s=12;break}if(g=EA(g|0,p|0,1,0)|0,p=b()|0,!((p|0)<(r|0)|(p|0)==(r|0)&g>>>0<t>>>0))break A}return y=d,s|0}else l=0,s=0;while(!1);return e[n>>2]=l,e[n+4>>2]=s,n=0,y=d,n|0}function Pl(A,t){return A=A|0,t=t|0,t=eA(A|0,t|0,52)|0,b()|0,t&1|0}function y0(A,t){A=A|0,t=t|0;var r=0,i=0,n=0;if(n=eA(A|0,t|0,52)|0,b()|0,n=n&15,!n)return n=0,n|0;for(i=1;;){if(r=eA(A|0,t|0,(15-i|0)*3|0)|0,b()|0,r=r&7,r|0){i=5;break}if(i>>>0<n>>>0)i=i+1|0;else{r=0,i=5;break}}return(i|0)==5?r|0:0}function Br(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0,a=0;if(a=eA(A|0,t|0,52)|0,b()|0,a=a&15,!a)return f=t,a=A,MA(f|0),a|0;for(f=1,r=0;;){s=(15-f|0)*3|0,i=sA(7,0,s|0)|0,n=b()|0,l=eA(A|0,t|0,s|0)|0,b()|0,s=sA(ue(l&7)|0,0,s|0)|0,l=b()|0,A=s|A&~i,t=l|t&~n;A:do if(!r)if((s&i|0)==0&(l&n|0)==0)r=0;else if(i=eA(A|0,t|0,52)|0,b()|0,i=i&15,!i)r=1;else{r=1;e:for(;;){switch(l=eA(A|0,t|0,(15-r|0)*3|0)|0,b()|0,l&7){case 1:break e;case 0:break;default:{r=1;break A}}if(r>>>0<i>>>0)r=r+1|0;else{r=1;break A}}for(r=1;;)if(l=(15-r|0)*3|0,n=eA(A|0,t|0,l|0)|0,b()|0,s=sA(7,0,l|0)|0,t=t&~(b()|0),l=sA(ue(n&7)|0,0,l|0)|0,A=A&~s|l,t=t|(b()|0),r>>>0<i>>>0)r=r+1|0;else{r=1;break}}while(!1);if(f>>>0<a>>>0)f=f+1|0;else break}return MA(t|0),A|0}function he(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0;if(i=eA(A|0,t|0,52)|0,b()|0,i=i&15,!i)return r=t,i=A,MA(r|0),i|0;for(r=1;s=(15-r|0)*3|0,l=eA(A|0,t|0,s|0)|0,b()|0,n=sA(7,0,s|0)|0,t=t&~(b()|0),s=sA(ue(l&7)|0,0,s|0)|0,A=s|A&~n,t=b()|0|t,r>>>0<i>>>0;)r=r+1|0;return MA(t|0),A|0}function _l(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0,a=0;if(a=eA(A|0,t|0,52)|0,b()|0,a=a&15,!a)return f=t,a=A,MA(f|0),a|0;for(f=1,r=0;;){s=(15-f|0)*3|0,i=sA(7,0,s|0)|0,n=b()|0,l=eA(A|0,t|0,s|0)|0,b()|0,s=sA(X0(l&7)|0,0,s|0)|0,l=b()|0,A=s|A&~i,t=l|t&~n;A:do if(!r)if((s&i|0)==0&(l&n|0)==0)r=0;else if(i=eA(A|0,t|0,52)|0,b()|0,i=i&15,!i)r=1;else{r=1;e:for(;;){switch(l=eA(A|0,t|0,(15-r|0)*3|0)|0,b()|0,l&7){case 1:break e;case 0:break;default:{r=1;break A}}if(r>>>0<i>>>0)r=r+1|0;else{r=1;break A}}for(r=1;;)if(n=(15-r|0)*3|0,s=sA(7,0,n|0)|0,l=t&~(b()|0),t=eA(A|0,t|0,n|0)|0,b()|0,t=sA(X0(t&7)|0,0,n|0)|0,A=A&~s|t,t=l|(b()|0),r>>>0<i>>>0)r=r+1|0;else{r=1;break}}while(!1);if(f>>>0<a>>>0)f=f+1|0;else break}return MA(t|0),A|0}function Cr(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0;if(i=eA(A|0,t|0,52)|0,b()|0,i=i&15,!i)return r=t,i=A,MA(r|0),i|0;for(r=1;l=(15-r|0)*3|0,s=sA(7,0,l|0)|0,n=t&~(b()|0),t=eA(A|0,t|0,l|0)|0,b()|0,t=sA(X0(t&7)|0,0,l|0)|0,A=t|A&~s,t=b()|0|n,r>>>0<i>>>0;)r=r+1|0;return MA(t|0),A|0}function Ql(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0;if(a=y,y=y+64|0,f=a+40|0,i=a+24|0,n=a+12|0,s=a,sA(t|0,0,52)|0,r=b()|0|134225919,!t)return(e[A+4>>2]|0)>2||(e[A+8>>2]|0)>2||(e[A+12>>2]|0)>2?(l=0,f=0,MA(l|0),y=a,f|0):(sA(Ki(A)|0,0,45)|0,l=b()|0|r,f=-1,MA(l|0),y=a,f|0);if(e[f>>2]=e[A>>2],e[f+4>>2]=e[A+4>>2],e[f+8>>2]=e[A+8>>2],e[f+12>>2]=e[A+12>>2],l=f+4|0,(t|0)>0)for(A=-1;e[i>>2]=e[l>>2],e[i+4>>2]=e[l+4>>2],e[i+8>>2]=e[l+8>>2],t&1?(ll(l),e[n>>2]=e[l>>2],e[n+4>>2]=e[l+4>>2],e[n+8>>2]=e[l+8>>2],Dt(n)):(An(l),e[n>>2]=e[l>>2],e[n+4>>2]=e[l+4>>2],e[n+8>>2]=e[l+8>>2],fe(n)),pr(i,n,s),a0(s),p=(15-t|0)*3|0,g=sA(7,0,p|0)|0,r=r&~(b()|0),p=sA(xt(s)|0,0,p|0)|0,A=p|A&~g,r=b()|0|r,(t|0)>1;)t=t+-1|0;else A=-1;A:do if((e[l>>2]|0)<=2&&(e[f+8>>2]|0)<=2&&(e[f+12>>2]|0)<=2){if(i=Ki(f)|0,t=sA(i|0,0,45)|0,t=t|A,A=b()|0|r&-1040385,s=qo(f)|0,!($A(i)|0)){if((s|0)<=0)break;for(n=0;;){if(i=eA(t|0,A|0,52)|0,b()|0,i=i&15,i)for(r=1;p=(15-r|0)*3|0,f=eA(t|0,A|0,p|0)|0,b()|0,g=sA(7,0,p|0)|0,A=A&~(b()|0),p=sA(ue(f&7)|0,0,p|0)|0,t=t&~g|p,A=A|(b()|0),r>>>0<i>>>0;)r=r+1|0;if(n=n+1|0,(n|0)==(s|0))break A}}n=eA(t|0,A|0,52)|0,b()|0,n=n&15;e:do if(n){r=1;t:for(;;){switch(p=eA(t|0,A|0,(15-r|0)*3|0)|0,b()|0,p&7){case 1:break t;case 0:break;default:break e}if(r>>>0<n>>>0)r=r+1|0;else break e}if(qi(i,e[f>>2]|0)|0)for(r=1;f=(15-r|0)*3|0,g=sA(7,0,f|0)|0,p=A&~(b()|0),A=eA(t|0,A|0,f|0)|0,b()|0,A=sA(X0(A&7)|0,0,f|0)|0,t=t&~g|A,A=p|(b()|0),r>>>0<n>>>0;)r=r+1|0;else for(r=1;p=(15-r|0)*3|0,f=eA(t|0,A|0,p|0)|0,b()|0,g=sA(7,0,p|0)|0,A=A&~(b()|0),p=sA(ue(f&7)|0,0,p|0)|0,t=t&~g|p,A=A|(b()|0),r>>>0<n>>>0;)r=r+1|0}while(!1);if((s|0)>0){r=0;do t=Br(t,A)|0,A=b()|0,r=r+1|0;while((r|0)!=(s|0))}}else t=0,A=0;while(!1);return g=A,p=t,MA(g|0),y=a,p|0}function M0(A){return A=A|0,(A|0)%2|0|0}function dr(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0;return n=y,y=y+16|0,i=n,t>>>0>15?(i=4,y=n,i|0):(e[A+4>>2]&2146435072|0)==2146435072||(e[A+8+4>>2]&2146435072|0)==2146435072?(i=3,y=n,i|0):(yl(A,t,i),t=Ql(i,t)|0,i=b()|0,e[r>>2]=t,e[r+4>>2]=i,(t|0)==0&(i|0)==0&&BA(27795,27122,959,27145),i=0,y=n,i|0)}function xr(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0;if(n=r+4|0,s=eA(A|0,t|0,52)|0,b()|0,s=s&15,l=eA(A|0,t|0,45)|0,b()|0,i=(s|0)==0,$A(l&127)|0){if(i)return l=1,l|0;i=1}else{if(i)return l=0,l|0;(e[n>>2]|0)==0&&(e[r+8>>2]|0)==0?i=(e[r+12>>2]|0)!=0&1:i=1}for(r=1;r&1?Dt(n):fe(n),l=eA(A|0,t|0,(15-r|0)*3|0)|0,b()|0,en(n,l&7),r>>>0<s>>>0;)r=r+1|0;return i|0}function Ce(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0;if(p=y,y=y+16|0,a=p,g=eA(A|0,t|0,45)|0,b()|0,g=g&127,g>>>0>121)return e[r>>2]=0,e[r+4>>2]=0,e[r+8>>2]=0,e[r+12>>2]=0,g=5,y=p,g|0;A:do if(($A(g)|0)!=0&&(s=eA(A|0,t|0,52)|0,b()|0,s=s&15,(s|0)!=0)){i=1;e:for(;;){switch(f=eA(A|0,t|0,(15-i|0)*3|0)|0,b()|0,f&7){case 5:break e;case 0:break;default:{i=t;break A}}if(i>>>0<s>>>0)i=i+1|0;else{i=t;break A}}for(n=1,i=t;t=(15-n|0)*3|0,l=sA(7,0,t|0)|0,f=i&~(b()|0),i=eA(A|0,i|0,t|0)|0,b()|0,i=sA(X0(i&7)|0,0,t|0)|0,A=A&~l|i,i=f|(b()|0),n>>>0<s>>>0;)n=n+1|0}else i=t;while(!1);if(f=7696+(g*28|0)|0,e[r>>2]=e[f>>2],e[r+4>>2]=e[f+4>>2],e[r+8>>2]=e[f+8>>2],e[r+12>>2]=e[f+12>>2],!(xr(A,i,r)|0))return g=0,y=p,g|0;if(l=r+4|0,e[a>>2]=e[l>>2],e[a+4>>2]=e[l+4>>2],e[a+8>>2]=e[l+8>>2],s=eA(A|0,i|0,52)|0,b()|0,f=s&15,s&1?(fe(l),s=f+1|0):s=f,!($A(g)|0))i=0;else{A:do if(!f)i=0;else for(t=1;;){if(n=eA(A|0,i|0,(15-t|0)*3|0)|0,b()|0,n=n&7,n|0){i=n;break A}if(t>>>0<f>>>0)t=t+1|0;else{i=0;break}}while(!1);i=(i|0)==4&1}if(!(Be(r,s,i,0)|0))(s|0)!=(f|0)&&(e[l>>2]=e[a>>2],e[l+4>>2]=e[a+4>>2],e[l+8>>2]=e[a+8>>2]);else{if($A(g)|0)do;while((Be(r,s,0,0)|0)!=0);(s|0)!=(f|0)&&An(l)}return g=0,y=p,g|0}function ae(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0;return s=y,y=y+16|0,i=s,n=Ce(A,t,i)|0,n|0?(y=s,n|0):(n=eA(A|0,t|0,52)|0,b()|0,kl(i,n&15,r),n=0,y=s,n|0)}function de(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0;if(l=y,y=y+16|0,s=l,i=Ce(A,t,s)|0,i|0)return s=i,y=l,s|0;i=eA(A|0,t|0,45)|0,b()|0,i=($A(i&127)|0)==0,n=eA(A|0,t|0,52)|0,b()|0,n=n&15;A:do if(!i){if(n|0)for(i=1;;){if(f=sA(7,0,(15-i|0)*3|0)|0,!((f&A|0)==0&((b()|0)&t|0)==0))break A;if(i>>>0<n>>>0)i=i+1|0;else break}return Er(s,n,0,5,r),f=0,y=l,f|0}while(!1);return yr(s,n,0,6,r),f=0,y=l,f|0}function Sl(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0;if(n=eA(A|0,t|0,45)|0,b()|0,!($A(n&127)|0))return n=2,e[r>>2]=n,0;if(n=eA(A|0,t|0,52)|0,b()|0,n=n&15,!n)return n=5,e[r>>2]=n,0;for(i=1;;){if(s=sA(7,0,(15-i|0)*3|0)|0,!((s&A|0)==0&((b()|0)&t|0)==0)){i=2,A=6;break}if(i>>>0<n>>>0)i=i+1|0;else{i=5,A=6;break}}return(A|0)==6&&(e[r>>2]=i),0}function an(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0;v=y,y=y+128|0,g=v+112|0,s=v+96|0,p=v,n=eA(A|0,t|0,52)|0,b()|0,f=n&15,e[g>>2]=f,l=eA(A|0,t|0,45)|0,b()|0,l=l&127;A:do if($A(l)|0){if(f|0)for(i=1;;){if(a=sA(7,0,(15-i|0)*3|0)|0,!((a&A|0)==0&((b()|0)&t|0)==0)){n=0;break A}if(i>>>0<f>>>0)i=i+1|0;else break}if(n&1)n=1;else return a=sA(f+1|0,0,52)|0,p=b()|0|t&-15728641,g=sA(7,0,(14-f|0)*3|0)|0,p=an((a|A)&~g,p&~(b()|0),r)|0,y=v,p|0}else n=0;while(!1);if(i=Ce(A,t,s)|0,!i){n?(on(s,g,p),a=5):(ln(s,g,p),a=6);A:do if($A(l)|0)if(!f)A=5;else for(i=1;;){if(l=sA(7,0,(15-i|0)*3|0)|0,!((l&A|0)==0&((b()|0)&t|0)==0)){A=2;break A}if(i>>>0<f>>>0)i=i+1|0;else{A=5;break}}else A=2;while(!1);Ae(r|0,-1,A<<2|0)|0;A:do if(n)for(s=0;;){if(l=p+(s<<4)|0,Bl(l,e[g>>2]|0)|0,l=e[l>>2]|0,f=e[r>>2]|0,(f|0)==-1|(f|0)==(l|0))i=r;else{n=0;do{if(n=n+1|0,n>>>0>=A>>>0){i=1;break A}i=r+(n<<2)|0,f=e[i>>2]|0}while(!((f|0)==-1|(f|0)==(l|0)))}if(e[i>>2]=l,s=s+1|0,s>>>0>=a>>>0){i=0;break}}else for(s=0;;){if(l=p+(s<<4)|0,Be(l,e[g>>2]|0,0,1)|0,l=e[l>>2]|0,f=e[r>>2]|0,(f|0)==-1|(f|0)==(l|0))i=r;else{n=0;do{if(n=n+1|0,n>>>0>=A>>>0){i=1;break A}i=r+(n<<2)|0,f=e[i>>2]|0}while(!((f|0)==-1|(f|0)==(l|0)))}if(e[i>>2]=l,s=s+1|0,s>>>0>=a>>>0){i=0;break}}while(!1)}return p=i,y=v,p|0}function Tl(){return 12}function Dr(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0,a=0;if(A>>>0>15)return f=4,f|0;if(sA(A|0,0,52)|0,f=b()|0|134225919,!A){r=0,i=0;do $A(i)|0&&(sA(i|0,0,45)|0,l=f|(b()|0),A=t+(r<<3)|0,e[A>>2]=-1,e[A+4>>2]=l,r=r+1|0),i=i+1|0;while((i|0)!=122);return r=0,r|0}r=0,l=0;do{if($A(l)|0){for(sA(l|0,0,45)|0,i=1,n=-1,s=f|(b()|0);a=sA(7,0,(15-i|0)*3|0)|0,n=n&~a,s=s&~(b()|0),(i|0)!=(A|0);)i=i+1|0;a=t+(r<<3)|0,e[a>>2]=n,e[a+4>>2]=s,r=r+1|0}l=l+1|0}while((l|0)!=122);return r=0,r|0}function Il(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0;if(z=y,y=y+16|0,F=z,K=eA(A|0,t|0,52)|0,b()|0,K=K&15,r>>>0>15)return K=4,y=z,K|0;if((K|0)<(r|0))return K=12,y=z,K|0;if((K|0)!=(r|0))if(s=sA(r|0,0,52)|0,s=s|A,f=b()|0|t&-15728641,(K|0)>(r|0)){a=r;do S=sA(7,0,(14-a|0)*3|0)|0,a=a+1|0,s=S|s,f=b()|0|f;while((a|0)<(K|0));S=s}else S=s;else S=A,f=t;D=eA(S|0,f|0,45)|0,b()|0;A:do if($A(D&127)|0){if(a=eA(S|0,f|0,52)|0,b()|0,a=a&15,a|0)for(s=1;;){if(D=sA(7,0,(15-s|0)*3|0)|0,!((D&S|0)==0&((b()|0)&f|0)==0)){g=33;break A}if(s>>>0<a>>>0)s=s+1|0;else break}if(D=i,e[D>>2]=0,e[D+4>>2]=0,(K|0)>(r|0)){for(D=t&-15728641,x=K;;){if(d=x,x=x+-1|0,x>>>0>15|(K|0)<(x|0)){g=19;break}if((K|0)!=(x|0))if(s=sA(x|0,0,52)|0,s=s|A,a=b()|0|D,(K|0)<(d|0))v=s;else{g=x;do v=sA(7,0,(14-g|0)*3|0)|0,g=g+1|0,s=v|s,a=b()|0|a;while((g|0)<(K|0));v=s}else v=A,a=t;if(p=eA(v|0,a|0,45)|0,b()|0,!($A(p&127)|0))s=0;else{p=eA(v|0,a|0,52)|0,b()|0,p=p&15;e:do if(!p)s=0;else for(g=1;;){if(s=eA(v|0,a|0,(15-g|0)*3|0)|0,b()|0,s=s&7,s|0)break e;if(g>>>0<p>>>0)g=g+1|0;else{s=0;break}}while(!1);s=(s|0)==0&1}if(a=eA(A|0,t|0,(15-d|0)*3|0)|0,b()|0,a=a&7,(a|0)==7){n=5,g=42;break}if(s=(s|0)!=0,(a|0)==1&s){n=5,g=42;break}if(v=a+(((a|0)!=0&s)<<31>>31)|0,v|0&&(g=K-d|0,g=Z0(7,0,g,((g|0)<0)<<31>>31)|0,p=b()|0,s?(s=l0(g|0,p|0,5,0)|0,s=EA(s|0,b()|0,-5,-1)|0,s=J0(s|0,b()|0,6,0)|0,s=EA(s|0,b()|0,1,0)|0,a=b()|0):(s=g,a=p),d=v+-1|0,d=l0(g|0,p|0,d|0,((d|0)<0)<<31>>31|0)|0,d=EA(s|0,a|0,d|0,b()|0)|0,v=b()|0,p=i,p=EA(d|0,v|0,e[p>>2]|0,e[p+4>>2]|0)|0,v=b()|0,d=i,e[d>>2]=p,e[d+4>>2]=v),(x|0)<=(r|0)){g=37;break}}if((g|0)==19)BA(27795,27122,1276,27158);else if((g|0)==37){l=i,n=e[l+4>>2]|0,l=e[l>>2]|0;break}else if((g|0)==42)return y=z,n|0}else n=0,l=0}else g=33;while(!1);A:do if((g|0)==33)if(D=i,e[D>>2]=0,e[D+4>>2]=0,(K|0)>(r|0)){for(s=K;;){if(n=eA(A|0,t|0,(15-s|0)*3|0)|0,b()|0,n=n&7,(n|0)==7){n=5;break}if(l=K-s|0,l=Z0(7,0,l,((l|0)<0)<<31>>31)|0,n=l0(l|0,b()|0,n|0,0)|0,l=b()|0,D=i,l=EA(e[D>>2]|0,e[D+4>>2]|0,n|0,l|0)|0,n=b()|0,D=i,e[D>>2]=l,e[D+4>>2]=n,s=s+-1|0,(s|0)<=(r|0))break A}return y=z,n|0}else n=0,l=0;while(!1);return He(S,f,K,F)|0&&BA(27795,27122,1236,27173),K=F,F=e[K+4>>2]|0,((n|0)>-1|(n|0)==-1&l>>>0>4294967295)&((F|0)>(n|0)|((F|0)==(n|0)?(e[K>>2]|0)>>>0>l>>>0:0))?(K=0,y=z,K|0):(BA(27795,27122,1316,27158),0)}function Ol(A,t,r,i,n,s){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0,s=s|0;var l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0;if(v=y,y=y+16|0,l=v,n>>>0>15)return s=4,y=v,s|0;if(f=eA(r|0,i|0,52)|0,b()|0,f=f&15,(f|0)>(n|0))return s=12,y=v,s|0;if(He(r,i,n,l)|0&&BA(27795,27122,1236,27173),p=l,g=e[p+4>>2]|0,!(((t|0)>-1|(t|0)==-1&A>>>0>4294967295)&((g|0)>(t|0)|((g|0)==(t|0)?(e[p>>2]|0)>>>0>A>>>0:0))))return s=2,y=v,s|0;p=n-f|0,n=sA(n|0,0,52)|0,a=b()|0|i&-15728641,g=s,e[g>>2]=n|r,e[g+4>>2]=a,g=eA(r|0,i|0,45)|0,b()|0;A:do if($A(g&127)|0){if(f|0)for(l=1;;){if(g=sA(7,0,(15-l|0)*3|0)|0,!((g&r|0)==0&((b()|0)&i|0)==0))break A;if(l>>>0<f>>>0)l=l+1|0;else break}if((p|0)<1)return s=0,y=v,s|0;for(g=f^15,i=-1,a=1,l=1;;){f=p-a|0,f=Z0(7,0,f,((f|0)<0)<<31>>31)|0,r=b()|0;do if(l)if(l=l0(f|0,r|0,5,0)|0,l=EA(l|0,b()|0,-5,-1)|0,l=J0(l|0,b()|0,6,0)|0,n=b()|0,(t|0)>(n|0)|(t|0)==(n|0)&A>>>0>l>>>0){t=EA(A|0,t|0,-1,-1)|0,t=u0(t|0,b()|0,l|0,n|0)|0,l=b()|0,d=s,D=e[d>>2]|0,d=e[d+4>>2]|0,S=(g+i|0)*3|0,x=sA(7,0,S|0)|0,d=d&~(b()|0),i=J0(t|0,l|0,f|0,r|0)|0,A=b()|0,n=EA(i|0,A|0,2,0)|0,S=sA(n|0,b()|0,S|0)|0,d=b()|0|d,n=s,e[n>>2]=S|D&~x,e[n+4>>2]=d,A=l0(i|0,A|0,f|0,r|0)|0,A=u0(t|0,l|0,A|0,b()|0)|0,l=0,t=b()|0;break}else{S=s,x=e[S>>2]|0,S=e[S+4>>2]|0,D=sA(7,0,(g+i|0)*3|0)|0,S=S&~(b()|0),l=s,e[l>>2]=x&~D,e[l+4>>2]=S,l=1;break}else x=s,n=e[x>>2]|0,x=e[x+4>>2]|0,i=(g+i|0)*3|0,d=sA(7,0,i|0)|0,x=x&~(b()|0),S=J0(A|0,t|0,f|0,r|0)|0,l=b()|0,i=sA(S|0,l|0,i|0)|0,x=b()|0|x,D=s,e[D>>2]=i|n&~d,e[D+4>>2]=x,l=l0(S|0,l|0,f|0,r|0)|0,A=u0(A|0,t|0,l|0,b()|0)|0,l=0,t=b()|0;while(!1);if((p|0)>(a|0))i=~a,a=a+1|0;else{t=0;break}}return y=v,t|0}while(!1);if((p|0)<1)return S=0,y=v,S|0;for(n=f^15,l=1;;)if(D=p-l|0,D=Z0(7,0,D,((D|0)<0)<<31>>31)|0,S=b()|0,a=s,r=e[a>>2]|0,a=e[a+4>>2]|0,f=(n-l|0)*3|0,i=sA(7,0,f|0)|0,a=a&~(b()|0),d=J0(A|0,t|0,D|0,S|0)|0,x=b()|0,f=sA(d|0,x|0,f|0)|0,a=b()|0|a,g=s,e[g>>2]=f|r&~i,e[g+4>>2]=a,S=l0(d|0,x|0,D|0,S|0)|0,A=u0(A|0,t|0,S|0,b()|0)|0,t=b()|0,(p|0)<=(l|0)){t=0;break}else l=l+1|0;return y=v,t|0}function Mr(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0;n=eA(t|0,r|0,52)|0,b()|0,n=n&15,(t|0)==0&(r|0)==0|((i|0)>15|(n|0)>(i|0))?(s=-1,t=-1,r=0,n=0):(t=un(t,r,n+1|0,i)|0,l=(b()|0)&-15728641,r=sA(i|0,0,52)|0,r=t|r,l=l|(b()|0),t=(WA(r,l)|0)==0,s=n,t=t?-1:i,n=l),l=A,e[l>>2]=r,e[l+4>>2]=n,e[A+8>>2]=s,e[A+12>>2]=t}function gn(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0;if(n=eA(A|0,t|0,52)|0,b()|0,n=n&15,s=i+8|0,e[s>>2]=n,(A|0)==0&(t|0)==0|((r|0)>15|(n|0)>(r|0))){r=i,e[r>>2]=0,e[r+4>>2]=0,e[s>>2]=-1,e[i+12>>2]=-1;return}if(A=un(A,t,n+1|0,r)|0,s=(b()|0)&-15728641,n=sA(r|0,0,52)|0,n=A|n,s=s|(b()|0),A=i,e[A>>2]=n,e[A+4>>2]=s,A=i+12|0,WA(n,s)|0){e[A>>2]=r;return}else{e[A>>2]=-1;return}}function Pr(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0;if(r=A,t=e[r>>2]|0,r=e[r+4>>2]|0,!((t|0)==0&(r|0)==0)&&(i=eA(t|0,r|0,52)|0,b()|0,i=i&15,f=sA(1,0,(i^15)*3|0)|0,t=EA(f|0,b()|0,t|0,r|0)|0,r=b()|0,f=A,e[f>>2]=t,e[f+4>>2]=r,f=A+8|0,l=e[f>>2]|0,!((i|0)<(l|0)))){for(a=A+12|0,s=i;;){if((s|0)==(l|0)){i=5;break}if(g=(s|0)==(e[a>>2]|0),n=(15-s|0)*3|0,i=eA(t|0,r|0,n|0)|0,b()|0,i=i&7,g&((i|0)==1&!0)){i=7;break}if(!((i|0)==7&!0)){i=10;break}if(g=sA(1,0,n|0)|0,t=EA(t|0,r|0,g|0,b()|0)|0,r=b()|0,g=A,e[g>>2]=t,e[g+4>>2]=r,(s|0)>(l|0))s=s+-1|0;else{i=10;break}}if((i|0)==5){g=A,e[g>>2]=0,e[g+4>>2]=0,e[f>>2]=-1,e[a>>2]=-1;return}else if((i|0)==7){l=sA(1,0,n|0)|0,l=EA(t|0,r|0,l|0,b()|0)|0,f=b()|0,g=A,e[g>>2]=l,e[g+4>>2]=f,e[a>>2]=s+-1;return}else if((i|0)==10)return}}function Ve(A){A=+A;var t=0;return t=A<0?A+6.283185307179586:A,+(A>=6.283185307179586?t+-6.283185307179586:t)}function xe(A,t){return A=A|0,t=t|0,+IA(+(+E[A>>3]-+E[t>>3]))<17453292519943298e-27?(t=+IA(+(+E[A+8>>3]-+E[t+8>>3]))<17453292519943298e-27,t|0):(t=0,t|0)}function b0(A,t){switch(A=+A,t=t|0,t|0){case 1:{A=A<0?A+6.283185307179586:A;break}case 2:{A=A>0?A+-6.283185307179586:A;break}}return+A}function Rl(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0;return n=+E[t>>3],i=+E[A>>3],s=+OA(+((n-i)*.5)),r=+OA(+((+E[t+8>>3]-+E[A+8>>3])*.5)),r=s*s+r*(+jA(+n)*+jA(+i)*r),+(+D0(+ +YA(+r),+ +YA(+(1-r)))*2)}function Ke(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0;return n=+E[t>>3],i=+E[A>>3],s=+OA(+((n-i)*.5)),r=+OA(+((+E[t+8>>3]-+E[A+8>>3])*.5)),r=s*s+r*(+jA(+n)*+jA(+i)*r),+(+D0(+ +YA(+r),+ +YA(+(1-r)))*2*6371.007180918475)}function Ll(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0;return n=+E[t>>3],i=+E[A>>3],s=+OA(+((n-i)*.5)),r=+OA(+((+E[t+8>>3]-+E[A+8>>3])*.5)),r=s*s+r*(+jA(+n)*+jA(+i)*r),+(+D0(+ +YA(+r),+ +YA(+(1-r)))*2*6371.007180918475*1e3)}function Fl(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0;return s=+E[t>>3],i=+jA(+s),n=+E[t+8>>3]-+E[A+8>>3],l=i*+OA(+n),r=+E[A>>3],+ +D0(+l,+(+OA(+s)*+jA(+r)-+jA(+n)*(i*+OA(+r))))}function Nl(A,t,r,i){A=A|0,t=+t,r=+r,i=i|0;var n=0,s=0,l=0,f=0;if(r<1e-16){e[i>>2]=e[A>>2],e[i+4>>2]=e[A+4>>2],e[i+8>>2]=e[A+8>>2],e[i+12>>2]=e[A+12>>2];return}s=t<0?t+6.283185307179586:t,s=t>=6.283185307179586?s+-6.283185307179586:s;do if(s<1e-16)t=+E[A>>3]+r,E[i>>3]=t,n=i;else{if(n=+IA(+(s+-3.141592653589793))<1e-16,t=+E[A>>3],n){t=t-r,E[i>>3]=t,n=i;break}if(l=+jA(+r),r=+OA(+r),t=l*+OA(+t)+ +jA(+s)*(r*+jA(+t)),t=t>1?1:t,t=+_o(+(t<-1?-1:t)),E[i>>3]=t,+IA(+(t+-1.5707963267948966))<1e-16){E[i>>3]=1.5707963267948966,E[i+8>>3]=0;return}if(+IA(+(t+1.5707963267948966))<1e-16){E[i>>3]=-1.5707963267948966,E[i+8>>3]=0;return}if(f=1/+jA(+t),s=r*+OA(+s)*f,r=+E[A>>3],t=f*((l-+OA(+t)*+OA(+r))/+jA(+r)),l=s>1?1:s,t=t>1?1:t,t=+E[A+8>>3]+ +D0(+(l<-1?-1:l),+(t<-1?-1:t)),t>3.141592653589793)do t=t+-6.283185307179586;while(t>3.141592653589793);if(t<-3.141592653589793)do t=t+6.283185307179586;while(t<-3.141592653589793);E[i+8>>3]=t;return}while(!1);if(+IA(+(t+-1.5707963267948966))<1e-16){E[n>>3]=1.5707963267948966,E[i+8>>3]=0;return}if(+IA(+(t+1.5707963267948966))<1e-16){E[n>>3]=-1.5707963267948966,E[i+8>>3]=0;return}if(t=+E[A+8>>3],t>3.141592653589793)do t=t+-6.283185307179586;while(t>3.141592653589793);if(t<-3.141592653589793)do t=t+6.283185307179586;while(t<-3.141592653589793);E[i+8>>3]=t}function cn(A,t){return A=A|0,t=t|0,A>>>0>15?(t=4,t|0):(E[t>>3]=+E[20656+(A<<3)>>3],t=0,t|0)}function Gl(A,t){return A=A|0,t=t|0,A>>>0>15?(t=4,t|0):(E[t>>3]=+E[20784+(A<<3)>>3],t=0,t|0)}function Ul(A,t){return A=A|0,t=t|0,A>>>0>15?(t=4,t|0):(E[t>>3]=+E[20912+(A<<3)>>3],t=0,t|0)}function zl(A,t){return A=A|0,t=t|0,A>>>0>15?(t=4,t|0):(E[t>>3]=+E[21040+(A<<3)>>3],t=0,t|0)}function _t(A,t){A=A|0,t=t|0;var r=0;return A>>>0>15?(t=4,t|0):(r=Z0(7,0,A,((A|0)<0)<<31>>31)|0,r=l0(r|0,b()|0,120,0)|0,A=b()|0,e[t>>2]=r|2,e[t+4>>2]=A,t=0,t|0)}function wn(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0;return d=+E[t>>3],p=+E[A>>3],a=+OA(+((d-p)*.5)),s=+E[t+8>>3],g=+E[A+8>>3],l=+OA(+((s-g)*.5)),f=+jA(+p),v=+jA(+d),l=a*a+l*(v*f*l),l=+D0(+ +YA(+l),+ +YA(+(1-l)))*2,a=+E[r>>3],d=+OA(+((a-d)*.5)),i=+E[r+8>>3],s=+OA(+((i-s)*.5)),n=+jA(+a),s=d*d+s*(v*n*s),s=+D0(+ +YA(+s),+ +YA(+(1-s)))*2,a=+OA(+((p-a)*.5)),i=+OA(+((g-i)*.5)),i=a*a+i*(f*n*i),i=+D0(+ +YA(+i),+ +YA(+(1-i)))*2,n=(l+s+i)*.5,+(+lr(+ +YA(+(+x0(+(n*.5))*+x0(+((n-l)*.5))*+x0(+((n-s)*.5))*+x0(+((n-i)*.5)))))*4)}function _r(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0;if(f=y,y=y+192|0,s=f+168|0,l=f,n=ae(A,t,s)|0,n|0)return r=n,y=f,r|0;if(de(A,t,l)|0&&BA(27795,27190,415,27199),t=e[l>>2]|0,(t|0)>0){if(i=+wn(l+8|0,l+8+(((t|0)!=1&1)<<4)|0,s)+0,(t|0)!=1){A=1;do n=A,A=A+1|0,i=i+ +wn(l+8+(n<<4)|0,l+8+(((A|0)%(t|0)|0)<<4)|0,s);while((A|0)<(t|0))}}else i=0;return E[r>>3]=i,r=0,y=f,r|0}function Yl(A,t,r){return A=A|0,t=t|0,r=r|0,A=_r(A,t,r)|0,A|0||(E[r>>3]=+E[r>>3]*6371.007180918475*6371.007180918475),A|0}function jl(A,t,r){return A=A|0,t=t|0,r=r|0,A=_r(A,t,r)|0,A|0||(E[r>>3]=+E[r>>3]*6371.007180918475*6371.007180918475*1e3*1e3),A|0}function Hl(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0;if(f=y,y=y+176|0,l=f,A=Pt(A,t,l)|0,A|0)return l=A,y=f,l|0;if(E[r>>3]=0,A=e[l>>2]|0,(A|0)<=1)return l=0,y=f,l|0;t=A+-1|0,A=0,i=+E[l+8>>3],n=+E[l+16>>3],s=0;do A=A+1|0,g=i,i=+E[l+8+(A<<4)>>3],p=+OA(+((i-g)*.5)),a=n,n=+E[l+8+(A<<4)+8>>3],a=+OA(+((n-a)*.5)),a=p*p+a*(+jA(+i)*+jA(+g)*a),s=s+ +D0(+ +YA(+a),+ +YA(+(1-a)))*2;while((A|0)<(t|0));return E[r>>3]=s,l=0,y=f,l|0}function Vl(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0;if(f=y,y=y+176|0,l=f,A=Pt(A,t,l)|0,A|0)return l=A,s=+E[r>>3],s=s*6371.007180918475,E[r>>3]=s,y=f,l|0;if(E[r>>3]=0,A=e[l>>2]|0,(A|0)<=1)return l=0,s=0,s=s*6371.007180918475,E[r>>3]=s,y=f,l|0;t=A+-1|0,A=0,i=+E[l+8>>3],n=+E[l+16>>3],s=0;do A=A+1|0,g=i,i=+E[l+8+(A<<4)>>3],p=+OA(+((i-g)*.5)),a=n,n=+E[l+8+(A<<4)+8>>3],a=+OA(+((n-a)*.5)),a=p*p+a*(+jA(+g)*+jA(+i)*a),s=s+ +D0(+ +YA(+a),+ +YA(+(1-a)))*2;while((A|0)!=(t|0));return E[r>>3]=s,l=0,p=s,p=p*6371.007180918475,E[r>>3]=p,y=f,l|0}function Kl(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0;if(f=y,y=y+176|0,l=f,A=Pt(A,t,l)|0,A|0)return l=A,s=+E[r>>3],s=s*6371.007180918475,s=s*1e3,E[r>>3]=s,y=f,l|0;if(E[r>>3]=0,A=e[l>>2]|0,(A|0)<=1)return l=0,s=0,s=s*6371.007180918475,s=s*1e3,E[r>>3]=s,y=f,l|0;t=A+-1|0,A=0,i=+E[l+8>>3],n=+E[l+16>>3],s=0;do A=A+1|0,g=i,i=+E[l+8+(A<<4)>>3],p=+OA(+((i-g)*.5)),a=n,n=+E[l+8+(A<<4)+8>>3],a=+OA(+((n-a)*.5)),a=p*p+a*(+jA(+g)*+jA(+i)*a),s=s+ +D0(+ +YA(+a),+ +YA(+(1-a)))*2;while((A|0)!=(t|0));return E[r>>3]=s,l=0,p=s,p=p*6371.007180918475,p=p*1e3,E[r>>3]=p,y=f,l|0}function ql(A){A=A|0;var t=0,r=0,i=0;return t=v0(1,12)|0,t||BA(27280,27235,49,27293),r=A+4|0,i=e[r>>2]|0,i|0?(i=i+8|0,e[i>>2]=t,e[r>>2]=t,t|0):(e[A>>2]|0&&BA(27310,27235,61,27333),i=A,e[i>>2]=t,e[r>>2]=t,t|0)}function Wl(A,t){A=A|0,t=t|0;var r=0,i=0;return i=L0(24)|0,i||BA(27347,27235,78,27361),e[i>>2]=e[t>>2],e[i+4>>2]=e[t+4>>2],e[i+8>>2]=e[t+8>>2],e[i+12>>2]=e[t+12>>2],e[i+16>>2]=0,t=A+4|0,r=e[t>>2]|0,r|0?(e[r+16>>2]=i,e[t>>2]=i,i|0):(e[A>>2]|0&&BA(27376,27235,82,27361),e[A>>2]=i,e[t>>2]=i,i|0)}function pn(A){A=A|0;var t=0,r=0,i=0,n=0;if(A)for(i=1;;){if(t=e[A>>2]|0,t|0)do{if(r=e[t>>2]|0,r|0)do n=r,r=e[r+16>>2]|0,yA(n);while((r|0)!=0);n=t,t=e[t+8>>2]|0,yA(n)}while((t|0)!=0);if(t=A,A=e[A+8>>2]|0,i||yA(t),A)i=0;else break}}function Xl(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0,nA=0,cA=0,uA=0,DA=0,PA=0,LA=0,kA=0,wA=0,iA=0,SA=0,KA=0,_A=0;if(n=A+8|0,e[n>>2]|0)return _A=1,_A|0;if(i=e[A>>2]|0,!i)return _A=0,_A|0;t=i,r=0;do r=r+1|0,t=e[t+8>>2]|0;while((t|0)!=0);if(r>>>0<2)return _A=0,_A|0;SA=L0(r<<2)|0,SA||BA(27396,27235,317,27415),iA=L0(r<<5)|0,iA||BA(27437,27235,321,27415),e[A>>2]=0,cA=A+4|0,e[cA>>2]=0,e[n>>2]=0,r=0,wA=0,nA=0,v=0;A:for(;;){if(p=e[i>>2]|0,p){s=0,l=p;do{if(a=+E[l+8>>3],t=l,l=e[l+16>>2]|0,g=(l|0)==0,n=g?p:l,f=+E[n+8>>3],+IA(+(a-f))>3.141592653589793){_A=14;break}s=s+(f-a)*(+E[t>>3]+ +E[n>>3])}while(!g);if((_A|0)==14){_A=0,s=0,t=p;do T=+E[t+8>>3],kA=t+16|0,LA=e[kA>>2]|0,LA=(LA|0)==0?p:LA,G=+E[LA+8>>3],s=s+(+E[t>>3]+ +E[LA>>3])*((G<0?G+6.283185307179586:G)-(T<0?T+6.283185307179586:T)),t=e[((t|0)==0?i:kA)>>2]|0;while((t|0)!=0)}s>0?(e[SA+(wA<<2)>>2]=i,wA=wA+1|0,n=nA,t=v):_A=19}else _A=19;if((_A|0)==19){_A=0;do if(r){if(t=r+8|0,e[t>>2]|0){_A=21;break A}if(r=v0(1,12)|0,!r){_A=23;break A}e[t>>2]=r,n=r+4|0,l=r,t=v}else if(v){n=cA,l=v+8|0,t=i,r=A;break}else if(e[A>>2]|0){_A=27;break A}else{n=cA,l=A,t=i,r=A;break}while(!1);if(e[l>>2]=i,e[n>>2]=i,l=iA+(nA<<5)|0,g=e[i>>2]|0,g){for(p=iA+(nA<<5)+8|0,E[p>>3]=17976931348623157e292,v=iA+(nA<<5)+24|0,E[v>>3]=17976931348623157e292,E[l>>3]=-17976931348623157e292,d=iA+(nA<<5)+16|0,E[d>>3]=-17976931348623157e292,K=17976931348623157e292,z=-17976931348623157e292,n=0,x=g,a=17976931348623157e292,S=17976931348623157e292,F=-17976931348623157e292,f=-17976931348623157e292;s=+E[x>>3],T=+E[x+8>>3],x=e[x+16>>2]|0,D=(x|0)==0,G=+E[(D?g:x)+8>>3],s<a&&(E[p>>3]=s,a=s),T<S&&(E[v>>3]=T,S=T),s>F?E[l>>3]=s:s=F,T>f&&(E[d>>3]=T,f=T),K=T>0&T<K?T:K,z=T<0&T>z?T:z,n=n|+IA(+(T-G))>3.141592653589793,!D;)F=s;n&&(E[d>>3]=z,E[v>>3]=K)}else e[l>>2]=0,e[l+4>>2]=0,e[l+8>>2]=0,e[l+12>>2]=0,e[l+16>>2]=0,e[l+20>>2]=0,e[l+24>>2]=0,e[l+28>>2]=0;n=nA+1|0}if(kA=i+8|0,i=e[kA>>2]|0,e[kA>>2]=0,i)nA=n,v=t;else{_A=45;break}}if((_A|0)==21)BA(27213,27235,35,27247);else if((_A|0)==23)BA(27267,27235,37,27247);else if((_A|0)==27)BA(27310,27235,61,27333);else if((_A|0)==45){A:do if((wA|0)>0){for(kA=(n|0)==0,PA=n<<2,LA=(A|0)==0,DA=0,t=0;;){if(uA=e[SA+(DA<<2)>>2]|0,kA)_A=73;else{if(nA=L0(PA)|0,!nA){_A=50;break}if(cA=L0(PA)|0,!cA){_A=52;break}e:do if(LA)r=0;else{for(n=0,r=0,l=A;i=iA+(n<<5)|0,mn(e[l>>2]|0,i,e[uA>>2]|0)|0?(e[nA+(r<<2)>>2]=l,e[cA+(r<<2)>>2]=i,D=r+1|0):D=r,l=e[l+8>>2]|0,l;)n=n+1|0,r=D;if((D|0)>0)if(i=e[nA>>2]|0,(D|0)==1)r=i;else for(d=0,x=-1,r=i,v=i;;){for(g=e[v>>2]|0,i=0,l=0;n=e[e[nA+(l<<2)>>2]>>2]|0,(n|0)==(g|0)?p=i:p=i+((mn(n,e[cA+(l<<2)>>2]|0,e[g>>2]|0)|0)&1)|0,l=l+1|0,(l|0)!=(D|0);)i=p;if(n=(p|0)>(x|0),r=n?v:r,i=d+1|0,(i|0)==(D|0))break e;d=i,x=n?p:x,v=e[nA+(i<<2)>>2]|0}else r=0}while(!1);if(yA(nA),yA(cA),r){if(n=r+4|0,i=e[n>>2]|0,i)r=i+8|0;else if(e[r>>2]|0){_A=70;break}e[r>>2]=uA,e[n>>2]=uA}else _A=73}if((_A|0)==73){if(_A=0,t=e[uA>>2]|0,t|0)do cA=t,t=e[t+16>>2]|0,yA(cA);while((t|0)!=0);yA(uA),t=1}if(DA=DA+1|0,(DA|0)>=(wA|0)){KA=t;break A}}(_A|0)==50?BA(27452,27235,249,27471):(_A|0)==52?BA(27490,27235,252,27471):(_A|0)==70&&BA(27310,27235,61,27333)}else KA=0;while(!1);return yA(SA),yA(iA),_A=KA,_A|0}return 0}function mn(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0;if(!(cr(t,r)|0)||(t=Wi(t)|0,i=+E[r>>3],n=+E[r+8>>3],n=t&n<0?n+6.283185307179586:n,A=e[A>>2]|0,!A))return A=0,A|0;if(t){t=0,g=n,r=A;A:for(;;){for(;l=+E[r>>3],n=+E[r+8>>3],r=r+16|0,p=e[r>>2]|0,p=(p|0)==0?A:p,s=+E[p>>3],f=+E[p+8>>3],l>s?(a=l,l=f):(a=s,s=l,l=n,n=f),i=i==s|i==a?i+2220446049250313e-31:i,!!(i<s|i>a);)if(r=e[r>>2]|0,!r){r=22;break A}if(f=l<0?l+6.283185307179586:l,l=n<0?n+6.283185307179586:n,g=f==g|l==g?g+-2220446049250313e-31:g,a=f+(l-f)*((i-s)/(a-s)),(a<0?a+6.283185307179586:a)>g&&(t=t^1),r=e[r>>2]|0,!r){r=22;break}}if((r|0)==22)return t|0}else{t=0,g=n,r=A;A:for(;;){for(;l=+E[r>>3],n=+E[r+8>>3],r=r+16|0,p=e[r>>2]|0,p=(p|0)==0?A:p,s=+E[p>>3],f=+E[p+8>>3],l>s?(a=l,l=f):(a=s,s=l,l=n,n=f),i=i==s|i==a?i+2220446049250313e-31:i,!!(i<s|i>a);)if(r=e[r>>2]|0,!r){r=22;break A}if(g=l==g|n==g?g+-2220446049250313e-31:g,l+(n-l)*((i-s)/(a-s))>g&&(t=t^1),r=e[r>>2]|0,!r){r=22;break}}if((r|0)==22)return t|0}return 0}function Y0(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0;if(z=y,y=y+32|0,K=z+16|0,F=z,s=eA(A|0,t|0,52)|0,b()|0,s=s&15,x=eA(r|0,i|0,52)|0,b()|0,(s|0)!=(x&15|0))return K=12,y=z,K|0;if(g=eA(A|0,t|0,45)|0,b()|0,g=g&127,p=eA(r|0,i|0,45)|0,b()|0,p=p&127,g>>>0>121|p>>>0>121)return K=5,y=z,K|0;if(x=(g|0)!=(p|0),x){if(f=gr(g,p)|0,(f|0)==7)return K=1,y=z,K|0;a=gr(p,g)|0,(a|0)==7?BA(27514,27538,161,27548):(D=f,l=a)}else D=0,l=0;v=$A(g)|0,d=$A(p)|0,e[K>>2]=0,e[K+4>>2]=0,e[K+8>>2]=0,e[K+12>>2]=0;do if(D){if(p=e[4272+(g*28|0)+(D<<2)>>2]|0,f=(p|0)>0,d)if(f){g=0,a=r,f=i;do a=_l(a,f)|0,f=b()|0,l=X0(l)|0,(l|0)==1&&(l=X0(1)|0),g=g+1|0;while((g|0)!=(p|0));p=l,g=a,a=f}else p=l,g=r,a=i;else if(f){g=0,a=r,f=i;do a=Cr(a,f)|0,f=b()|0,l=X0(l)|0,g=g+1|0;while((g|0)!=(p|0));p=l,g=a,a=f}else p=l,g=r,a=i;if(xr(g,a,K)|0,x||BA(27563,27538,191,27548),f=(v|0)!=0,l=(d|0)!=0,f&l&&BA(27590,27538,192,27548),f){if(l=y0(A,t)|0,(l|0)==7){s=5;break}if(tA[22e3+(l*7|0)+D>>0]|0){s=1;break}a=e[21168+(l*28|0)+(D<<2)>>2]|0,g=a}else if(l){if(l=y0(g,a)|0,(l|0)==7){s=5;break}if(tA[22e3+(l*7|0)+p>>0]|0){s=1;break}g=0,a=e[21168+(p*28|0)+(l<<2)>>2]|0}else g=0,a=0;if((g|a|0)<0)s=5;else{if((a|0)>0){f=K+4|0,l=0;do Mt(f),l=l+1|0;while((l|0)!=(a|0))}if(e[F>>2]=0,e[F+4>>2]=0,e[F+8>>2]=0,en(F,D),s|0)for(;M0(s)|0?Dt(F):fe(F),(s|0)>1;)s=s+-1|0;if((g|0)>0){s=0;do Mt(F),s=s+1|0;while((s|0)!=(g|0))}S=K+4|0,c0(S,F,S),a0(S),S=51}}else if(xr(r,i,K)|0,(v|0)!=0&(d|0)!=0)if((p|0)!=(g|0)&&BA(27621,27538,261,27548),l=y0(A,t)|0,s=y0(r,i)|0,(l|0)==7|(s|0)==7)s=5;else if(tA[22e3+(l*7|0)+s>>0]|0)s=1;else if(l=e[21168+(l*28|0)+(s<<2)>>2]|0,(l|0)>0){f=K+4|0,s=0;do Mt(f),s=s+1|0;while((s|0)!=(l|0));S=51}else S=51;else S=51;while(!1);return(S|0)==51&&(s=K+4|0,e[n>>2]=e[s>>2],e[n+4>>2]=e[s+4>>2],e[n+8>>2]=e[s+8>>2],s=0),K=s,y=z,K|0}function En(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0;if(S=y,y=y+48|0,g=S+36|0,l=S+24|0,f=S+12|0,a=S,n=eA(A|0,t|0,52)|0,b()|0,n=n&15,d=eA(A|0,t|0,45)|0,b()|0,d=d&127,d>>>0>121)return i=5,y=S,i|0;if(p=$A(d)|0,sA(n|0,0,52)|0,F=b()|0|134225919,s=i,e[s>>2]=-1,e[s+4>>2]=F,!n)return n=xt(r)|0,(n|0)==7||(n=ar(d,n)|0,(n|0)==127)?(F=1,y=S,F|0):(x=sA(n|0,0,45)|0,D=b()|0,d=i,D=e[d+4>>2]&-1040385|D,F=i,e[F>>2]=e[d>>2]|x,e[F+4>>2]=D,F=0,y=S,F|0);for(e[g>>2]=e[r>>2],e[g+4>>2]=e[r+4>>2],e[g+8>>2]=e[r+8>>2],r=n;;){if(s=r,r=r+-1|0,e[l>>2]=e[g>>2],e[l+4>>2]=e[g+4>>2],e[l+8>>2]=e[g+8>>2],M0(s)|0){if(n=sl(g)|0,n|0){r=13;break}e[f>>2]=e[g>>2],e[f+4>>2]=e[g+4>>2],e[f+8>>2]=e[g+8>>2],Dt(f)}else{if(n=ol(g)|0,n|0){r=13;break}e[f>>2]=e[g>>2],e[f+4>>2]=e[g+4>>2],e[f+8>>2]=e[g+8>>2],fe(f)}if(pr(l,f,a),a0(a),n=i,z=e[n>>2]|0,n=e[n+4>>2]|0,G=(15-s|0)*3|0,K=sA(7,0,G|0)|0,n=n&~(b()|0),G=sA(xt(a)|0,0,G|0)|0,n=b()|0|n,F=i,e[F>>2]=G|z&~K,e[F+4>>2]=n,(s|0)<=1){r=14;break}}A:do if((r|0)!=13&&(r|0)==14)if((e[g>>2]|0)<=1&&(e[g+4>>2]|0)<=1&&(e[g+8>>2]|0)<=1){r=xt(g)|0,n=ar(d,r)|0,(n|0)==127?a=0:a=$A(n)|0;e:do if(r){if(p){if(n=y0(A,t)|0,(n|0)==7){n=5;break A}if(s=e[21376+(n*28|0)+(r<<2)>>2]|0,(s|0)>0){n=r,r=0;do n=ue(n)|0,r=r+1|0;while((r|0)!=(s|0))}else n=r;if((n|0)==1){n=9;break A}r=ar(d,n)|0,(r|0)==127&&BA(27648,27538,411,27678),$A(r)|0?BA(27693,27538,412,27678):(D=r,x=s,v=n)}else D=n,x=0,v=r;if(f=e[4272+(d*28|0)+(v<<2)>>2]|0,(f|0)<=-1&&BA(27724,27538,419,27678),!a){if((x|0)<0){n=5;break A}if(x|0){s=i,n=0,r=e[s>>2]|0,s=e[s+4>>2]|0;do r=he(r,s)|0,s=b()|0,G=i,e[G>>2]=r,e[G+4>>2]=s,n=n+1|0;while((n|0)<(x|0))}if((f|0)<=0){n=D,r=58;break}for(s=i,n=0,r=e[s>>2]|0,s=e[s+4>>2]|0;;)if(r=he(r,s)|0,s=b()|0,G=i,e[G>>2]=r,e[G+4>>2]=s,n=n+1|0,(n|0)==(f|0)){n=D,r=58;break e}}if(l=gr(D,d)|0,(l|0)==7&&BA(27514,27538,428,27678),n=i,r=e[n>>2]|0,n=e[n+4>>2]|0,(f|0)>0){s=0;do r=he(r,n)|0,n=b()|0,G=i,e[G>>2]=r,e[G+4>>2]=n,s=s+1|0;while((s|0)!=(f|0))}if(n=y0(r,n)|0,(n|0)==7&&BA(27795,27538,440,27678),r=hr(D)|0,r=e[(r?21792:21584)+(l*28|0)+(n<<2)>>2]|0,(r|0)<0&&BA(27795,27538,454,27678),!r)n=D,r=58;else{l=i,n=0,s=e[l>>2]|0,l=e[l+4>>2]|0;do s=Br(s,l)|0,l=b()|0,G=i,e[G>>2]=s,e[G+4>>2]=l,n=n+1|0;while((n|0)<(r|0));n=D,r=58}}else if((p|0)!=0&(a|0)!=0){if(r=y0(A,t)|0,s=i,s=y0(e[s>>2]|0,e[s+4>>2]|0)|0,(r|0)==7|(s|0)==7){n=5;break A}if(s=e[21376+(r*28|0)+(s<<2)>>2]|0,(s|0)<0){n=5;break A}if(!s)r=59;else{f=i,r=0,l=e[f>>2]|0,f=e[f+4>>2]|0;do l=he(l,f)|0,f=b()|0,G=i,e[G>>2]=l,e[G+4>>2]=f,r=r+1|0;while((r|0)<(s|0));r=58}}else r=58;while(!1);if((r|0)==58&&a&&(r=59),(r|0)==59&&(G=i,(y0(e[G>>2]|0,e[G+4>>2]|0)|0)==1)){n=9;break}G=i,K=e[G>>2]|0,G=e[G+4>>2]&-1040385,z=sA(n|0,0,45)|0,G=G|(b()|0),n=i,e[n>>2]=K|z,e[n+4>>2]=G,n=0}else n=1;while(!1);return G=n,y=S,G|0}function Zl(A,t,r,i,n,s){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0,s=s|0;var l=0,f=0;return f=y,y=y+16|0,l=f,n?A=15:(A=Y0(A,t,r,i,l)|0,A||(fl(l,s),A=0)),y=f,A|0}function $l(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0;return l=y,y=y+16|0,s=l,i?r=15:(r=ul(r,s)|0,r||(r=En(A,t,s,n)|0)),y=l,r|0}function Jl(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0;return a=y,y=y+32|0,l=a+12|0,f=a,s=Y0(A,t,A,t,l)|0,s|0?(f=s,y=a,f|0):(A=Y0(A,t,r,i,f)|0,A|0?(f=A,y=a,f|0):(l=mr(l,f)|0,f=n,e[f>>2]=l,e[f+4>>2]=((l|0)<0)<<31>>31,f=0,y=a,f|0))}function A1(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0;return a=y,y=y+32|0,l=a+12|0,f=a,s=Y0(A,t,A,t,l)|0,!s&&(s=Y0(A,t,r,i,f)|0,!s)?(i=mr(l,f)|0,i=EA(i|0,((i|0)<0)<<31>>31|0,1,0)|0,l=b()|0,f=n,e[f>>2]=i,e[f+4>>2]=l,f=0,y=a,f|0):(f=s,y=a,f|0)}function e1(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0,nA=0,cA=0,uA=0,DA=0;if(uA=y,y=y+48|0,nA=uA+24|0,l=uA+12|0,cA=uA,s=Y0(A,t,A,t,nA)|0,!s&&(s=Y0(A,t,r,i,l)|0,!s)){G=mr(nA,l)|0,T=((G|0)<0)<<31>>31,e[nA>>2]=0,e[nA+4>>2]=0,e[nA+8>>2]=0,e[l>>2]=0,e[l+4>>2]=0,e[l+8>>2]=0,Y0(A,t,A,t,nA)|0&&BA(27795,27538,692,27747),Y0(A,t,r,i,l)|0&&BA(27795,27538,697,27747),sn(nA),sn(l),p=(G|0)==0?0:1/+(G|0),r=e[nA>>2]|0,S=p*+((e[l>>2]|0)-r|0),F=nA+4|0,i=e[F>>2]|0,K=p*+((e[l+4>>2]|0)-i|0),z=nA+8|0,s=e[z>>2]|0,p=p*+((e[l+8>>2]|0)-s|0),e[cA>>2]=r,v=cA+4|0,e[v>>2]=i,d=cA+8|0,e[d>>2]=s;A:do if((G|0)<0)s=0;else for(x=0,D=0;;){a=+(D>>>0)+4294967296*+(x|0),DA=S*a+ +(r|0),f=K*a+ +(i|0),a=p*a+ +(s|0),r=~~+It(+DA),l=~~+It(+f),s=~~+It(+a),DA=+IA(+(+(r|0)-DA)),f=+IA(+(+(l|0)-f)),a=+IA(+(+(s|0)-a));do if(DA>f&DA>a)r=0-(l+s)|0,i=l;else if(g=0-r|0,f>a){i=g-s|0;break}else{i=l,s=g-l|0;break}while(!1);if(e[cA>>2]=r,e[v>>2]=i,e[d>>2]=s,hl(cA),s=En(A,t,cA,n+(D<<3)|0)|0,s|0)break A;if(!((x|0)<(T|0)|(x|0)==(T|0)&D>>>0<G>>>0)){s=0;break A}r=EA(D|0,x|0,1,0)|0,i=b()|0,x=i,D=r,r=e[nA>>2]|0,i=e[F>>2]|0,s=e[z>>2]|0}while(!1);return cA=s,y=uA,cA|0}return cA=s,y=uA,cA|0}function Z0(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0;if((r|0)==0&(i|0)==0)return n=0,s=1,MA(n|0),s|0;s=A,n=t,A=1,t=0;do l=(r&1|0)==0&!0,A=l0((l?1:s)|0,(l?0:n)|0,A|0,t|0)|0,t=b()|0,r=_n(r|0,i|0,1)|0,i=b()|0,s=l0(s|0,n|0,s|0,n|0)|0,n=b()|0;while(!((r|0)==0&(i|0)==0));return MA(t|0),A|0}function Qr(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0;f=y,y=y+16|0,s=f,l=eA(A|0,t|0,52)|0,b()|0,l=l&15;do if(l){if(n=ae(A,t,s)|0,!n){g=+E[s>>3],a=1/+jA(+g),p=+E[25968+(l<<3)>>3],E[r>>3]=g+p,E[r+8>>3]=g-p,g=+E[s+8>>3],a=p*a,E[r+16>>3]=a+g,E[r+24>>3]=g-a;break}return l=n,y=f,l|0}else{if(n=eA(A|0,t|0,45)|0,b()|0,n=n&127,n>>>0>121)return l=5,y=f,l|0;s=22064+(n<<5)|0,e[r>>2]=e[s>>2],e[r+4>>2]=e[s+4>>2],e[r+8>>2]=e[s+8>>2],e[r+12>>2]=e[s+12>>2],e[r+16>>2]=e[s+16>>2],e[r+20>>2]=e[s+20>>2],e[r+24>>2]=e[s+24>>2],e[r+28>>2]=e[s+28>>2];break}while(!1);return rl(r,i?1.4:1.1),i=26096+(l<<3)|0,(e[i>>2]|0)==(A|0)&&(e[i+4>>2]|0)==(t|0)&&(E[r>>3]=1.5707963267948966),l=26224+(l<<3)|0,(e[l>>2]|0)==(A|0)&&(e[l+4>>2]|0)==(t|0)&&(E[r+8>>3]=-1.5707963267948966),+E[r>>3]!=1.5707963267948966&&+E[r+8>>3]!=-1.5707963267948966?(l=0,y=f,l|0):(E[r+16>>3]=3.141592653589793,E[r+24>>3]=-3.141592653589793,l=0,y=f,l|0)}function t1(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0;g=y,y=y+48|0,l=g+32|0,s=g+40|0,f=g,br(l,0,0,0),a=e[l>>2]|0,l=e[l+4>>2]|0;do if(r>>>0<=15){if(n=We(i)|0,n|0){i=f,e[i>>2]=0,e[i+4>>2]=0,e[f+8>>2]=n,e[f+12>>2]=-1,i=f+16|0,a=f+29|0,e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,tA[i+12>>0]=0,tA[a>>0]=tA[s>>0]|0,tA[a+1>>0]=tA[s+1>>0]|0,tA[a+2>>0]=tA[s+2>>0]|0;break}if(n=v0((e[t+8>>2]|0)+1|0,32)|0,n){Sr(t,n),p=f,e[p>>2]=a,e[p+4>>2]=l,e[f+8>>2]=0,e[f+12>>2]=r,e[f+16>>2]=i,e[f+20>>2]=t,e[f+24>>2]=n,tA[f+28>>0]=0,a=f+29|0,tA[a>>0]=tA[s>>0]|0,tA[a+1>>0]=tA[s+1>>0]|0,tA[a+2>>0]=tA[s+2>>0]|0;break}else{i=f,e[i>>2]=0,e[i+4>>2]=0,e[f+8>>2]=13,e[f+12>>2]=-1,i=f+16|0,a=f+29|0,e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,tA[i+12>>0]=0,tA[a>>0]=tA[s>>0]|0,tA[a+1>>0]=tA[s+1>>0]|0,tA[a+2>>0]=tA[s+2>>0]|0;break}}else a=f,e[a>>2]=0,e[a+4>>2]=0,e[f+8>>2]=4,e[f+12>>2]=-1,a=f+16|0,p=f+29|0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,tA[a+12>>0]=0,tA[p>>0]=tA[s>>0]|0,tA[p+1>>0]=tA[s+1>>0]|0,tA[p+2>>0]=tA[s+2>>0]|0;while(!1);Qt(f),e[A>>2]=e[f>>2],e[A+4>>2]=e[f+4>>2],e[A+8>>2]=e[f+8>>2],e[A+12>>2]=e[f+12>>2],e[A+16>>2]=e[f+16>>2],e[A+20>>2]=e[f+20>>2],e[A+24>>2]=e[f+24>>2],e[A+28>>2]=e[f+28>>2],y=g}function Qt(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0;if(T=y,y=y+336|0,x=T+168|0,D=T,i=A,r=e[i>>2]|0,i=e[i+4>>2]|0,(r|0)==0&(i|0)==0){y=T;return}if(t=A+28|0,tA[t>>0]|0?(r=yn(r,i)|0,i=b()|0):tA[t>>0]=1,G=A+20|0,!(e[e[G>>2]>>2]|0)){t=A+24|0,r=e[t>>2]|0,r|0&&yA(r),z=A,e[z>>2]=0,e[z+4>>2]=0,e[A+8>>2]=0,e[G>>2]=0,e[A+12>>2]=-1,e[A+16>>2]=0,e[t>>2]=0,y=T;return}z=A+16|0,t=e[z>>2]|0,n=t&15;A:do if((r|0)==0&(i|0)==0)K=A+24|0;else{S=A+12|0,v=(n|0)==3,p=t&255,a=(n|1|0)==3,d=A+24|0,g=(n+-1|0)>>>0<3,l=(n|2|0)==3,f=D+8|0;e:for(;;){if(s=eA(r|0,i|0,52)|0,b()|0,s=s&15,(s|0)==(e[S>>2]|0)){switch(p&15){case 0:case 2:case 3:{if(n=ae(r,i,x)|0,n|0){F=15;break e}if(Tr(e[G>>2]|0,e[d>>2]|0,x)|0){F=19;break e}break}}if(a&&(n=e[(e[G>>2]|0)+4>>2]|0,e[x>>2]=e[n>>2],e[x+4>>2]=e[n+4>>2],e[x+8>>2]=e[n+8>>2],e[x+12>>2]=e[n+12>>2],cr(26832,x)|0)){if(dr(e[(e[G>>2]|0)+4>>2]|0,s,D)|0){F=25;break}if(n=D,(e[n>>2]|0)==(r|0)&&(e[n+4>>2]|0)==(i|0)){F=29;break}}if(g){if(n=de(r,i,x)|0,n|0){F=32;break}if(Qr(r,i,D,0)|0){F=36;break}if(l&&bn(e[G>>2]|0,e[d>>2]|0,x,D)|0){F=42;break}if(a&&kn(e[G>>2]|0,e[d>>2]|0,x,D)|0){F=42;break}}if(v){if(t=Qr(r,i,x,1)|0,n=e[d>>2]|0,t|0){F=45;break}if(wr(n,x)|0){if(Zi(D,x),Xi(x,e[d>>2]|0)|0){F=53;break}if(Tr(e[G>>2]|0,e[d>>2]|0,f)|0){F=53;break}if(kn(e[G>>2]|0,e[d>>2]|0,D,x)|0){F=53;break}}}}do if((s|0)<(e[S>>2]|0)){if(t=Qr(r,i,x,1)|0,n=e[d>>2]|0,t|0){F=58;break e}if(!(wr(n,x)|0)){F=73;break}if(Xi(e[d>>2]|0,x)|0&&(Zi(D,x),bn(e[G>>2]|0,e[d>>2]|0,D,x)|0)){F=65;break e}if(r=hn(r,i,s+1|0,D)|0,r|0){F=67;break e}i=D,r=e[i>>2]|0,i=e[i+4>>2]|0}else F=73;while(!1);if((F|0)==73&&(F=0,r=yn(r,i)|0,i=b()|0),(r|0)==0&(i|0)==0){K=d;break A}}switch(F|0){case 15:{t=e[d>>2]|0,t|0&&yA(t),F=A,e[F>>2]=0,e[F+4>>2]=0,e[G>>2]=0,e[S>>2]=-1,e[z>>2]=0,e[d>>2]=0,e[A+8>>2]=n,F=20;break}case 19:{e[A>>2]=r,e[A+4>>2]=i,F=20;break}case 25:{BA(27795,27761,470,27772);break}case 29:{e[A>>2]=r,e[A+4>>2]=i,y=T;return}case 32:{t=e[d>>2]|0,t|0&&yA(t),K=A,e[K>>2]=0,e[K+4>>2]=0,e[G>>2]=0,e[S>>2]=-1,e[z>>2]=0,e[d>>2]=0,e[A+8>>2]=n,y=T;return}case 36:{BA(27795,27761,493,27772);break}case 42:{e[A>>2]=r,e[A+4>>2]=i,y=T;return}case 45:{n|0&&yA(n),F=A,e[F>>2]=0,e[F+4>>2]=0,e[G>>2]=0,e[S>>2]=-1,e[z>>2]=0,e[d>>2]=0,e[A+8>>2]=t,F=55;break}case 53:{e[A>>2]=r,e[A+4>>2]=i,F=55;break}case 58:{n|0&&yA(n),F=A,e[F>>2]=0,e[F+4>>2]=0,e[G>>2]=0,e[S>>2]=-1,e[z>>2]=0,e[d>>2]=0,e[A+8>>2]=t,F=71;break}case 65:{e[A>>2]=r,e[A+4>>2]=i,F=71;break}case 67:{t=e[d>>2]|0,t|0&&yA(t),K=A,e[K>>2]=0,e[K+4>>2]=0,e[G>>2]=0,e[S>>2]=-1,e[z>>2]=0,e[d>>2]=0,e[A+8>>2]=r,y=T;return}}if((F|0)==20){y=T;return}else if((F|0)==55){y=T;return}else if((F|0)==71){y=T;return}}while(!1);t=e[K>>2]|0,t|0&&yA(t),F=A,e[F>>2]=0,e[F+4>>2]=0,e[A+8>>2]=0,e[G>>2]=0,e[A+12>>2]=-1,e[z>>2]=0,e[K>>2]=0,y=T}function yn(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0;v=y,y=y+16|0,p=v,i=eA(A|0,t|0,52)|0,b()|0,i=i&15,r=eA(A|0,t|0,45)|0,b()|0;do if(i){for(;r=sA(i+4095|0,0,52)|0,n=b()|0|t&-15728641,s=(15-i|0)*3|0,l=sA(7,0,s|0)|0,f=b()|0,r=r|A|l,n=n|f,a=eA(A|0,t|0,s|0)|0,b()|0,a=a&7,i=i+-1|0,!(a>>>0<6);)if(i)t=n,A=r;else{g=4;break}if((g|0)==4){r=eA(r|0,n|0,45)|0,b()|0;break}return p=(a|0)==0&(WA(r,n)|0)!=0,p=sA((p?2:1)+a|0,0,s|0)|0,g=b()|0|t&~f,p=p|A&~l,MA(g|0),y=v,p|0}while(!1);return r=r&127,r>>>0>120?(g=0,p=0,MA(g|0),y=v,p|0):(br(p,0,r+1|0,0),g=e[p+4>>2]|0,p=e[p>>2]|0,MA(g|0),y=v,p|0)}function r1(A,t,r,i,n,s){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0,s=s|0;var l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0;F=y,y=y+160|0,v=F+80|0,f=F+64|0,d=F+112|0,S=F,t1(v,A,t,r),g=v,Mr(f,e[g>>2]|0,e[g+4>>2]|0,t),g=f,a=e[g>>2]|0,g=e[g+4>>2]|0,l=e[v+8>>2]|0,x=d+4|0,e[x>>2]=e[v>>2],e[x+4>>2]=e[v+4>>2],e[x+8>>2]=e[v+8>>2],e[x+12>>2]=e[v+12>>2],e[x+16>>2]=e[v+16>>2],e[x+20>>2]=e[v+20>>2],e[x+24>>2]=e[v+24>>2],e[x+28>>2]=e[v+28>>2],x=S,e[x>>2]=a,e[x+4>>2]=g,x=S+8|0,e[x>>2]=l,A=S+12|0,t=d,r=A+36|0;do e[A>>2]=e[t>>2],A=A+4|0,t=t+4|0;while((A|0)<(r|0));if(d=S+48|0,e[d>>2]=e[f>>2],e[d+4>>2]=e[f+4>>2],e[d+8>>2]=e[f+8>>2],e[d+12>>2]=e[f+12>>2],(a|0)==0&(g|0)==0)return S=l,y=F,S|0;r=S+16|0,p=S+24|0,v=S+28|0,l=0,f=0,t=a,A=g;do{if(!((l|0)<(n|0)|(l|0)==(n|0)&f>>>0<i>>>0)){D=4;break}if(g=f,f=EA(f|0,l|0,1,0)|0,l=b()|0,g=s+(g<<3)|0,e[g>>2]=t,e[g+4>>2]=A,Pr(d),A=d,t=e[A>>2]|0,A=e[A+4>>2]|0,(t|0)==0&(A|0)==0){if(Qt(r),t=r,A=e[t>>2]|0,t=e[t+4>>2]|0,(A|0)==0&(t|0)==0){D=10;break}gn(A,t,e[v>>2]|0,d),A=d,t=e[A>>2]|0,A=e[A+4>>2]|0}g=S,e[g>>2]=t,e[g+4>>2]=A}while(!((t|0)==0&(A|0)==0));return(D|0)==4?(A=S+40|0,t=e[A>>2]|0,t|0&&yA(t),D=S+16|0,e[D>>2]=0,e[D+4>>2]=0,e[p>>2]=0,e[S+36>>2]=0,e[v>>2]=-1,e[S+32>>2]=0,e[A>>2]=0,gn(0,0,0,d),e[S>>2]=0,e[S+4>>2]=0,e[x>>2]=0,S=14,y=F,S|0):((D|0)==10&&(e[S>>2]=0,e[S+4>>2]=0,e[x>>2]=e[p>>2]),S=e[x>>2]|0,y=F,S|0)}function i1(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0;if(v=y,y=y+48|0,a=v+32|0,f=v+40|0,g=v,!(e[A>>2]|0))return p=i,e[p>>2]=0,e[p+4>>2]=0,p=0,y=v,p|0;br(a,0,0,0),l=a,n=e[l>>2]|0,l=e[l+4>>2]|0;do if(t>>>0>15)p=g,e[p>>2]=0,e[p+4>>2]=0,e[g+8>>2]=4,e[g+12>>2]=-1,p=g+16|0,r=g+29|0,e[p>>2]=0,e[p+4>>2]=0,e[p+8>>2]=0,tA[p+12>>0]=0,tA[r>>0]=tA[f>>0]|0,tA[r+1>>0]=tA[f+1>>0]|0,tA[r+2>>0]=tA[f+2>>0]|0,r=4,p=9;else{if(r=We(r)|0,r|0){a=g,e[a>>2]=0,e[a+4>>2]=0,e[g+8>>2]=r,e[g+12>>2]=-1,a=g+16|0,p=g+29|0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,tA[a+12>>0]=0,tA[p>>0]=tA[f>>0]|0,tA[p+1>>0]=tA[f+1>>0]|0,tA[p+2>>0]=tA[f+2>>0]|0,p=9;break}if(r=v0((e[A+8>>2]|0)+1|0,32)|0,!r){p=g,e[p>>2]=0,e[p+4>>2]=0,e[g+8>>2]=13,e[g+12>>2]=-1,p=g+16|0,r=g+29|0,e[p>>2]=0,e[p+4>>2]=0,e[p+8>>2]=0,tA[p+12>>0]=0,tA[r>>0]=tA[f>>0]|0,tA[r+1>>0]=tA[f+1>>0]|0,tA[r+2>>0]=tA[f+2>>0]|0,r=13,p=9;break}Sr(A,r),x=g,e[x>>2]=n,e[x+4>>2]=l,l=g+8|0,e[l>>2]=0,e[g+12>>2]=t,e[g+20>>2]=A,e[g+24>>2]=r,tA[g+28>>0]=0,n=g+29|0,tA[n>>0]=tA[f>>0]|0,tA[n+1>>0]=tA[f+1>>0]|0,tA[n+2>>0]=tA[f+2>>0]|0,e[g+16>>2]=3,d=+Al(r),d=d*+Jo(r),s=+IA(+ +E[r>>3]),s=d/+jA(+ +Tt(+s,+ +IA(+ +E[r+8>>3])))*6371.007180918475*6371.007180918475,n=g+12|0,r=e[n>>2]|0;A:do if((r|0)>0)do{if(cn(r+-1|0,a)|0,!(s/+E[a>>3]>10))break A;x=e[n>>2]|0,r=x+-1|0,e[n>>2]=r}while((x|0)>1);while(!1);if(Qt(g),n=i,e[n>>2]=0,e[n+4>>2]=0,n=g,r=e[n>>2]|0,n=e[n+4>>2]|0,!((r|0)==0&(n|0)==0))do He(r,n,t,a)|0,f=a,A=i,f=EA(e[A>>2]|0,e[A+4>>2]|0,e[f>>2]|0,e[f+4>>2]|0)|0,A=b()|0,x=i,e[x>>2]=f,e[x+4>>2]=A,Qt(g),x=g,r=e[x>>2]|0,n=e[x+4>>2]|0;while(!((r|0)==0&(n|0)==0));r=e[l>>2]|0}while(!1);return x=r,y=v,x|0}function qe(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0;if(!(cr(t,r)|0)||(t=Wi(t)|0,i=+E[r>>3],n=+E[r+8>>3],n=t&n<0?n+6.283185307179586:n,d=e[A>>2]|0,(d|0)<=0))return d=0,d|0;if(v=e[A+4>>2]|0,t){t=0,p=n,r=-1,A=0;A:for(;;){for(g=A;l=+E[v+(g<<4)>>3],n=+E[v+(g<<4)+8>>3],A=(r+2|0)%(d|0)|0,s=+E[v+(A<<4)>>3],f=+E[v+(A<<4)+8>>3],l>s?(a=l,l=f):(a=s,s=l,l=n,n=f),i=i==s|i==a?i+2220446049250313e-31:i,!!(i<s|i>a);)if(r=g+1|0,(r|0)>=(d|0)){r=22;break A}else A=g,g=r,r=A;if(f=l<0?l+6.283185307179586:l,l=n<0?n+6.283185307179586:n,p=f==p|l==p?p+-2220446049250313e-31:p,a=f+(l-f)*((i-s)/(a-s)),(a<0?a+6.283185307179586:a)>p&&(t=t^1),A=g+1|0,(A|0)>=(d|0)){r=22;break}else r=g}if((r|0)==22)return t|0}else{t=0,p=n,r=-1,A=0;A:for(;;){for(g=A;l=+E[v+(g<<4)>>3],n=+E[v+(g<<4)+8>>3],A=(r+2|0)%(d|0)|0,s=+E[v+(A<<4)>>3],f=+E[v+(A<<4)+8>>3],l>s?(a=l,l=f):(a=s,s=l,l=n,n=f),i=i==s|i==a?i+2220446049250313e-31:i,!!(i<s|i>a);)if(r=g+1|0,(r|0)>=(d|0)){r=22;break A}else A=g,g=r,r=A;if(p=l==p|n==p?p+-2220446049250313e-31:p,l+(n-l)*((i-s)/(a-s))>p&&(t=t^1),A=g+1|0,(A|0)>=(d|0)){r=22;break}else r=g}if((r|0)==22)return t|0}return 0}function vn(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0;if(D=e[A>>2]|0,!D){e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0;return}if(S=t+8|0,E[S>>3]=17976931348623157e292,F=t+24|0,E[F>>3]=17976931348623157e292,E[t>>3]=-17976931348623157e292,K=t+16|0,E[K>>3]=-17976931348623157e292,!((D|0)<=0)){for(d=e[A+4>>2]|0,g=17976931348623157e292,p=-17976931348623157e292,v=0,A=-1,s=17976931348623157e292,l=17976931348623157e292,a=-17976931348623157e292,i=-17976931348623157e292,x=0;r=+E[d+(x<<4)>>3],f=+E[d+(x<<4)+8>>3],A=A+2|0,n=+E[d+(((A|0)==(D|0)?0:A)<<4)+8>>3],r<s&&(E[S>>3]=r,s=r),f<l&&(E[F>>3]=f,l=f),r>a?E[t>>3]=r:r=a,f>i&&(E[K>>3]=f,i=f),g=f>0&f<g?f:g,p=f<0&f>p?f:p,v=v|+IA(+(f-n))>3.141592653589793,A=x+1|0,(A|0)!=(D|0);)z=x,a=r,x=A,A=z;v&&(E[K>>3]=p,E[F>>3]=g)}}function We(A){return A=A|0,(A>>>0<4?0:15)|0}function Sr(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0,nA=0,cA=0,uA=0;if(D=e[A>>2]|0,D){if(S=t+8|0,E[S>>3]=17976931348623157e292,F=t+24|0,E[F>>3]=17976931348623157e292,E[t>>3]=-17976931348623157e292,K=t+16|0,E[K>>3]=-17976931348623157e292,(D|0)>0){for(n=e[A+4>>2]|0,d=17976931348623157e292,x=-17976931348623157e292,i=0,r=-1,a=17976931348623157e292,g=17976931348623157e292,v=-17976931348623157e292,l=-17976931348623157e292,z=0;s=+E[n+(z<<4)>>3],p=+E[n+(z<<4)+8>>3],cA=r+2|0,f=+E[n+(((cA|0)==(D|0)?0:cA)<<4)+8>>3],s<a&&(E[S>>3]=s,a=s),p<g&&(E[F>>3]=p,g=p),s>v?E[t>>3]=s:s=v,p>l&&(E[K>>3]=p,l=p),d=p>0&p<d?p:d,x=p<0&p>x?p:x,i=i|+IA(+(p-f))>3.141592653589793,r=z+1|0,(r|0)!=(D|0);)cA=z,v=s,z=r,r=cA;i&&(E[K>>3]=x,E[F>>3]=d)}}else e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0;if(cA=A+8|0,r=e[cA>>2]|0,!((r|0)<=0)){nA=A+12|0,T=0;do if(n=e[nA>>2]|0,i=T,T=T+1|0,F=t+(T<<5)|0,K=e[n+(i<<3)>>2]|0,K){if(z=t+(T<<5)+8|0,E[z>>3]=17976931348623157e292,A=t+(T<<5)+24|0,E[A>>3]=17976931348623157e292,E[F>>3]=-17976931348623157e292,G=t+(T<<5)+16|0,E[G>>3]=-17976931348623157e292,(K|0)>0){for(D=e[n+(i<<3)+4>>2]|0,d=17976931348623157e292,x=-17976931348623157e292,n=0,i=-1,S=0,a=17976931348623157e292,g=17976931348623157e292,p=-17976931348623157e292,l=-17976931348623157e292;s=+E[D+(S<<4)>>3],v=+E[D+(S<<4)+8>>3],i=i+2|0,f=+E[D+(((i|0)==(K|0)?0:i)<<4)+8>>3],s<a&&(E[z>>3]=s,a=s),v<g&&(E[A>>3]=v,g=v),s>p?E[F>>3]=s:s=p,v>l&&(E[G>>3]=v,l=v),d=v>0&v<d?v:d,x=v<0&v>x?v:x,n=n|+IA(+(v-f))>3.141592653589793,i=S+1|0,(i|0)!=(K|0);)uA=S,S=i,p=s,i=uA;n&&(E[G>>3]=x,E[A>>3]=d)}}else e[F>>2]=0,e[F+4>>2]=0,e[F+8>>2]=0,e[F+12>>2]=0,e[F+16>>2]=0,e[F+20>>2]=0,e[F+24>>2]=0,e[F+28>>2]=0,r=e[cA>>2]|0;while((T|0)<(r|0))}}function Tr(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0;if(!(qe(A,t,r)|0))return n=0,n|0;if(n=A+8|0,(e[n>>2]|0)<=0)return n=1,n|0;for(i=A+12|0,A=0;;){if(s=A,A=A+1|0,qe((e[i>>2]|0)+(s<<3)|0,t+(A<<5)|0,r)|0){A=0,i=6;break}if((A|0)>=(e[n>>2]|0)){A=1,i=6;break}}return(i|0)==6?A|0:0}function bn(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0;if(g=y,y=y+16|0,f=g,l=r+8|0,!(qe(A,t,l)|0))return a=0,y=g,a|0;a=A+8|0;A:do if((e[a>>2]|0)>0){for(s=A+12|0,n=0;;){if(p=n,n=n+1|0,qe((e[s>>2]|0)+(p<<3)|0,t+(n<<5)|0,l)|0){n=0;break}if((n|0)>=(e[a>>2]|0))break A}return y=g,n|0}while(!1);if(St(A,t,r,i)|0)return p=0,y=g,p|0;e[f>>2]=e[r>>2],e[f+4>>2]=l,n=e[a>>2]|0;A:do if((n|0)>0)for(A=A+12|0,l=0,s=n;;){if(n=e[A>>2]|0,(e[n+(l<<3)>>2]|0)>0){if(qe(f,i,e[n+(l<<3)+4>>2]|0)|0){n=0;break A}if(n=l+1|0,St((e[A>>2]|0)+(l<<3)|0,t+(n<<5)|0,r,i)|0){n=0;break A}s=e[a>>2]|0}else n=l+1|0;if((n|0)<(s|0))l=n;else{n=1;break}}else n=1;while(!1);return p=n,y=g,p|0}function St(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0,nA=0,cA=0,uA=0,DA=0;if(cA=y,y=y+176|0,z=cA+172|0,n=cA+168|0,G=cA,!(wr(t,i)|0))return A=0,y=cA,A|0;if(el(t,i,z,n),Pe(G|0,r|0,168)|0,(e[r>>2]|0)>0){t=0;do uA=G+8+(t<<4)+8|0,K=+b0(+E[uA>>3],e[n>>2]|0),E[uA>>3]=K,t=t+1|0;while((t|0)<(e[r>>2]|0))}S=+E[i>>3],F=+E[i+8>>3],K=+b0(+E[i+16>>3],e[n>>2]|0),x=+b0(+E[i+24>>3],e[n>>2]|0);A:do if((e[A>>2]|0)>0){if(i=A+4|0,n=e[G>>2]|0,(n|0)<=0){for(t=0;;)if(t=t+1|0,(t|0)>=(e[A>>2]|0)){t=0;break A}}for(r=0;;){if(t=e[i>>2]|0,d=+E[t+(r<<4)>>3],D=+b0(+E[t+(r<<4)+8>>3],e[z>>2]|0),t=e[i>>2]|0,r=r+1|0,uA=(r|0)%(e[A>>2]|0)|0,s=+E[t+(uA<<4)>>3],l=+b0(+E[t+(uA<<4)+8>>3],e[z>>2]|0),!(d>=S)|!(s>=S)&&!(d<=F)|!(s<=F)&&!(D<=x)|!(l<=x)&&!(D>=K)|!(l>=K)){v=s-d,g=l-D,t=0;do if(DA=t,t=t+1|0,uA=(t|0)==(n|0)?0:t,s=+E[G+8+(DA<<4)+8>>3],l=+E[G+8+(uA<<4)+8>>3]-s,f=+E[G+8+(DA<<4)>>3],a=+E[G+8+(uA<<4)>>3]-f,p=v*l-g*a,p!=0&&(T=D-s,nA=d-f,a=(T*a-l*nA)/p,!(a<0|a>1))&&(p=(v*T-g*nA)/p,p>=0&p<=1)){t=1;break A}while((t|0)<(n|0))}if((r|0)>=(e[A>>2]|0)){t=0;break}}}else t=0;while(!1);return DA=t,y=cA,DA|0}function kn(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0;if(St(A,t,r,i)|0)return s=1,s|0;if(s=A+8|0,(e[s>>2]|0)<=0)return s=0,s|0;for(n=A+12|0,A=0;;){if(l=A,A=A+1|0,St((e[n>>2]|0)+(l<<3)|0,t+(A<<5)|0,r,i)|0){A=1,n=6;break}if((A|0)>=(e[s>>2]|0)){A=0,n=6;break}}return(n|0)==6?A|0:0}function n1(){return 8}function s1(){return 16}function o1(){return 168}function l1(){return 8}function f1(){return 16}function u1(){return 12}function h1(){return 8}function a1(A){return A=A|0,+(+((e[A>>2]|0)>>>0)+4294967296*+(e[A+4>>2]|0))}function g1(A){A=A|0;var t=0,r=0;return r=+E[A>>3],t=+E[A+8>>3],+ +YA(+(r*r+t*t))}function Bn(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0;g=+E[A>>3],a=+E[t>>3]-g,f=+E[A+8>>3],l=+E[t+8>>3]-f,v=+E[r>>3],s=+E[i>>3]-v,d=+E[r+8>>3],p=+E[i+8>>3]-d,s=(s*(f-d)-(g-v)*p)/(a*p-l*s),E[n>>3]=g+a*s,E[n+8>>3]=f+l*s}function Cn(A,t){return A=A|0,t=t|0,+IA(+(+E[A>>3]-+E[t>>3]))<11920928955078125e-23?(t=+IA(+(+E[A+8>>3]-+E[t+8>>3]))<11920928955078125e-23,t|0):(t=0,t|0)}function t0(A,t){A=A|0,t=t|0;var r=0,i=0,n=0;return n=+E[A>>3]-+E[t>>3],i=+E[A+8>>3]-+E[t+8>>3],r=+E[A+16>>3]-+E[t+16>>3],+(n*n+i*i+r*r)}function c1(A,t){A=A|0,t=t|0;var r=0,i=0,n=0;r=+E[A>>3],i=+jA(+r),r=+OA(+r),E[t+16>>3]=r,r=+E[A+8>>3],n=i*+jA(+r),E[t>>3]=n,r=i*+OA(+r),E[t+8>>3]=r}function w1(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0;if(s=y,y=y+16|0,n=s,i=WA(A,t)|0,(r+-1|0)>>>0>5||(i=(i|0)!=0,(r|0)==1&i))return n=-1,y=s,n|0;do if(Xe(A,t,n)|0)i=-1;else if(i){i=((e[26352+(r<<2)>>2]|0)+5-(e[n>>2]|0)|0)%5|0;break}else{i=((e[26384+(r<<2)>>2]|0)+6-(e[n>>2]|0)|0)%6|0;break}while(!1);return n=i,y=s,n|0}function Xe(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0,g=0;if(g=y,y=y+32|0,l=g+16|0,f=g,i=Ce(A,t,l)|0,i|0)return r=i,y=g,r|0;s=fn(A,t)|0,a=y0(A,t)|0,Wo(s,f),i=Xo(s,e[l>>2]|0)|0;A:do if($A(s)|0){do switch(s|0){case 4:{A=0;break}case 14:{A=1;break}case 24:{A=2;break}case 38:{A=3;break}case 49:{A=4;break}case 58:{A=5;break}case 63:{A=6;break}case 72:{A=7;break}case 83:{A=8;break}case 97:{A=9;break}case 107:{A=10;break}case 117:{A=11;break}default:{i=1;break A}}while(!1);if(n=e[26416+(A*24|0)+8>>2]|0,t=e[26416+(A*24|0)+16>>2]|0,A=e[l>>2]|0,(A|0)!=(e[f>>2]|0)&&(f=hr(s)|0,A=e[l>>2]|0,f|(A|0)==(t|0)&&(i=(i+1|0)%6|0)),(a|0)==3&(A|0)==(t|0)){i=(i+5|0)%6|0,n=22;break}(a|0)==5&(A|0)==(n|0)&&(i=(i+1|0)%6|0),n=22}else n=22;while(!1);return(n|0)==22&&(e[r>>2]=i,i=0),r=i,y=g,r|0}function P0(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0;if(G=y,y=y+32|0,z=G+24|0,F=G+20|0,D=G+8|0,x=G+16|0,d=G,a=(WA(A,t)|0)==0,a=a?6:5,p=eA(A|0,t|0,52)|0,b()|0,p=p&15,a>>>0<=r>>>0)return i=2,y=G,i|0;v=(p|0)==0,!v&&(S=sA(7,0,(p^15)*3|0)|0,(S&A|0)==0&((b()|0)&t|0)==0)?n=r:s=4;A:do if((s|0)==4){if(n=(WA(A,t)|0)!=0,((n?4:5)|0)<(r|0)||Xe(A,t,z)|0||(s=(e[z>>2]|0)+r|0,n?n=26704+(((s|0)%5|0)<<2)|0:n=26736+(((s|0)%6|0)<<2)|0,S=e[n>>2]|0,(S|0)==7))return i=1,y=G,i|0;e[F>>2]=0,n=o0(A,t,S,F,D)|0;do if(!n){if(f=D,g=e[f>>2]|0,f=e[f+4>>2]|0,l=f>>>0<t>>>0|(f|0)==(t|0)&g>>>0<A>>>0,s=l?g:A,l=l?f:t,!v&&(v=sA(7,0,(p^15)*3|0)|0,(g&v|0)==0&(f&(b()|0)|0)==0))n=r;else{if(f=(r+-1+a|0)%(a|0)|0,n=WA(A,t)|0,(f|0)<0&&BA(27795,27797,246,27806),a=(n|0)!=0,((a?4:5)|0)<(f|0)&&BA(27795,27797,246,27806),Xe(A,t,z)|0&&BA(27795,27797,246,27806),n=(e[z>>2]|0)+f|0,a?n=26704+(((n|0)%5|0)<<2)|0:n=26736+(((n|0)%6|0)<<2)|0,f=e[n>>2]|0,(f|0)==7&&BA(27795,27797,246,27806),e[x>>2]=0,n=o0(A,t,f,x,d)|0,n|0)break;g=d,a=e[g>>2]|0,g=e[g+4>>2]|0;do if(g>>>0<l>>>0|(g|0)==(l|0)&a>>>0<s>>>0){if(WA(a,g)|0?s=ur(a,g,A,t)|0:s=e[26800+((((e[x>>2]|0)+(e[26768+(f<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,n=WA(a,g)|0,(s+-1|0)>>>0>5){n=-1,s=a,l=g;break}if(n=(n|0)!=0,(s|0)==1&n){n=-1,s=a,l=g;break}do if(Xe(a,g,z)|0)n=-1;else if(n){n=((e[26352+(s<<2)>>2]|0)+5-(e[z>>2]|0)|0)%5|0;break}else{n=((e[26384+(s<<2)>>2]|0)+6-(e[z>>2]|0)|0)%6|0;break}while(!1);s=a,l=g}else n=r;while(!1);f=D,g=e[f>>2]|0,f=e[f+4>>2]|0}if((s|0)==(g|0)&(l|0)==(f|0)){if(a=(WA(g,f)|0)!=0,a?A=ur(g,f,A,t)|0:A=e[26800+((((e[F>>2]|0)+(e[26768+(S<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,n=WA(g,f)|0,(A+-1|0)>>>0<=5&&(K=(n|0)!=0,!((A|0)==1&K)))do if(Xe(g,f,z)|0)n=-1;else if(K){n=((e[26352+(A<<2)>>2]|0)+5-(e[z>>2]|0)|0)%5|0;break}else{n=((e[26384+(A<<2)>>2]|0)+6-(e[z>>2]|0)|0)%6|0;break}while(!1);else n=-1;n=n+1|0,n=(n|0)==6|a&(n|0)==5?0:n}t=l,A=s;break A}while(!1);return i=n,y=G,i|0}while(!1);return K=sA(n|0,0,56)|0,z=b()|0|t&-2130706433|536870912,e[i>>2]=K|A,e[i+4>>2]=z,i=0,y=G,i|0}function p1(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0;return s=(WA(A,t)|0)==0,i=P0(A,t,0,r)|0,n=(i|0)==0,s?!n||(i=P0(A,t,1,r+8|0)|0,i|0)||(i=P0(A,t,2,r+16|0)|0,i|0)||(i=P0(A,t,3,r+24|0)|0,i|0)||(i=P0(A,t,4,r+32|0)|0,i)?(s=i,s|0):P0(A,t,5,r+40|0)|0:!n||(i=P0(A,t,1,r+8|0)|0,i|0)||(i=P0(A,t,2,r+16|0)|0,i|0)||(i=P0(A,t,3,r+24|0)|0,i|0)||(i=P0(A,t,4,r+32|0)|0,i|0)?(s=i,s|0):(s=r+40|0,e[s>>2]=0,e[s+4>>2]=0,s=0,s|0)}function m1(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0,f=0,a=0;return a=y,y=y+192|0,n=a,s=a+168|0,l=eA(A|0,t|0,56)|0,b()|0,l=l&7,f=t&-2130706433|134217728,i=Ce(A,f,s)|0,i|0?(f=i,y=a,f|0):(t=eA(A|0,t|0,52)|0,b()|0,t=t&15,WA(A,f)|0?Er(s,t,l,1,n):yr(s,t,l,1,n),f=n+8|0,e[r>>2]=e[f>>2],e[r+4>>2]=e[f+4>>2],e[r+8>>2]=e[f+8>>2],e[r+12>>2]=e[f+12>>2],f=0,y=a,f|0)}function E1(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0;return n=y,y=y+16|0,r=n,!(!0&(t&2013265920|0)==536870912)||(i=t&-2130706433|134217728,!(vr(A,i)|0))?(i=0,y=n,i|0):(s=eA(A|0,t|0,56)|0,b()|0,s=(P0(A,i,s&7,r)|0)==0,i=r,i=s&((e[i>>2]|0)==(A|0)?(e[i+4>>2]|0)==(t|0):0)&1,y=n,i|0)}function dn(A,t,r){A=A|0,t=t|0,r=r|0;var i=0;(t|0)>0?(i=v0(t,4)|0,e[A>>2]=i,i||BA(27819,27842,40,27856)):e[A>>2]=0,e[A+4>>2]=t,e[A+8>>2]=0,e[A+12>>2]=r}function xn(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0;n=A+4|0,s=A+12|0,l=A+8|0;A:for(;;){for(r=e[n>>2]|0,t=0;;){if((t|0)>=(r|0))break A;if(i=e[A>>2]|0,f=e[i+(t<<2)>>2]|0,!f)t=t+1|0;else break}t=i+(~~(+IA(+(+W0(10,+ +(15-(e[s>>2]|0)|0))*(+E[f>>3]+ +E[f+8>>3])))%+(r|0))>>>0<<2)|0,r=e[t>>2]|0;e:do if(r|0){if(i=f+32|0,(r|0)==(f|0))e[t>>2]=e[i>>2];else{if(r=r+32|0,t=e[r>>2]|0,!t)break;for(;(t|0)!=(f|0);)if(r=t+32|0,t=e[r>>2]|0,!t)break e;e[r>>2]=e[i>>2]}yA(f),e[l>>2]=(e[l>>2]|0)+-1}while(!1)}yA(e[A>>2]|0)}function Dn(A){A=A|0;var t=0,r=0,i=0;for(i=e[A+4>>2]|0,r=0;;){if((r|0)>=(i|0)){t=0,r=4;break}if(t=e[(e[A>>2]|0)+(r<<2)>>2]|0,!t)r=r+1|0;else{r=4;break}}return(r|0)==4?t|0:0}function Mn(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0;if(r=~~(+IA(+(+W0(10,+ +(15-(e[A+12>>2]|0)|0))*(+E[t>>3]+ +E[t+8>>3])))%+(e[A+4>>2]|0))>>>0,r=(e[A>>2]|0)+(r<<2)|0,i=e[r>>2]|0,!i)return s=1,s|0;s=t+32|0;do if((i|0)!=(t|0)){if(r=e[i+32>>2]|0,!r)return s=1,s|0;for(n=r;;){if((n|0)==(t|0)){n=8;break}if(r=e[n+32>>2]|0,r)i=n,n=r;else{r=1,n=10;break}}if((n|0)==8){e[i+32>>2]=e[s>>2];break}else if((n|0)==10)return r|0}else e[r>>2]=e[s>>2];while(!1);return yA(t),s=A+8|0,e[s>>2]=(e[s>>2]|0)+-1,s=0,s|0}function y1(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0;s=L0(40)|0,s||BA(27872,27842,98,27885),e[s>>2]=e[t>>2],e[s+4>>2]=e[t+4>>2],e[s+8>>2]=e[t+8>>2],e[s+12>>2]=e[t+12>>2],n=s+16|0,e[n>>2]=e[r>>2],e[n+4>>2]=e[r+4>>2],e[n+8>>2]=e[r+8>>2],e[n+12>>2]=e[r+12>>2],e[s+32>>2]=0,n=~~(+IA(+(+W0(10,+ +(15-(e[A+12>>2]|0)|0))*(+E[t>>3]+ +E[t+8>>3])))%+(e[A+4>>2]|0))>>>0,n=(e[A>>2]|0)+(n<<2)|0,i=e[n>>2]|0;do if(!i)e[n>>2]=s;else{for(;!(xe(i,t)|0&&xe(i+16|0,r)|0);)if(n=e[i+32>>2]|0,i=(n|0)==0?i:n,!(e[i+32>>2]|0)){l=10;break}if((l|0)==10){e[i+32>>2]=s;break}return yA(s),l=i,l|0}while(!1);return l=A+8|0,e[l>>2]=(e[l>>2]|0)+1,l=s,l|0}function v1(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0;if(n=~~(+IA(+(+W0(10,+ +(15-(e[A+12>>2]|0)|0))*(+E[t>>3]+ +E[t+8>>3])))%+(e[A+4>>2]|0))>>>0,n=e[(e[A>>2]|0)+(n<<2)>>2]|0,!n)return r=0,r|0;if(!r){for(A=n;;){if(xe(A,t)|0){i=10;break}if(A=e[A+32>>2]|0,!A){A=0,i=10;break}}if((i|0)==10)return A|0}for(A=n;;){if(xe(A,t)|0&&xe(A+16|0,r)|0){i=10;break}if(A=e[A+32>>2]|0,!A){A=0,i=10;break}}return(i|0)==10?A|0:0}function b1(A,t){A=A|0,t=t|0;var r=0;if(r=~~(+IA(+(+W0(10,+ +(15-(e[A+12>>2]|0)|0))*(+E[t>>3]+ +E[t+8>>3])))%+(e[A+4>>2]|0))>>>0,A=e[(e[A>>2]|0)+(r<<2)>>2]|0,!A)return r=0,r|0;for(;;){if(xe(A,t)|0){t=5;break}if(A=e[A+32>>2]|0,!A){A=0,t=5;break}}return(t|0)==5?A|0:0}function k1(){return 27904}function $0(A){return A=+A,~~+Tn(+A)|0}function L0(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0,S=0,F=0,K=0,z=0,G=0,T=0,nA=0;nA=y,y=y+16|0,d=nA;do if(A>>>0<245){if(g=A>>>0<11?16:A+11&-8,A=g>>>3,v=e[6977]|0,r=v>>>A,r&3|0)return t=(r&1^1)+A|0,A=27948+(t<<1<<2)|0,r=A+8|0,i=e[r>>2]|0,n=i+8|0,s=e[n>>2]|0,(s|0)==(A|0)?e[6977]=v&~(1<<t):(e[s+12>>2]=A,e[r>>2]=s),T=t<<3,e[i+4>>2]=T|3,T=i+T+4|0,e[T>>2]=e[T>>2]|1,T=n,y=nA,T|0;if(p=e[6979]|0,g>>>0>p>>>0){if(r|0)return t=2<<A,t=r<<A&(t|0-t),t=(t&0-t)+-1|0,f=t>>>12&16,t=t>>>f,r=t>>>5&8,t=t>>>r,s=t>>>2&4,t=t>>>s,A=t>>>1&2,t=t>>>A,i=t>>>1&1,i=(r|f|s|A|i)+(t>>>i)|0,t=27948+(i<<1<<2)|0,A=t+8|0,s=e[A>>2]|0,f=s+8|0,r=e[f>>2]|0,(r|0)==(t|0)?(A=v&~(1<<i),e[6977]=A):(e[r+12>>2]=t,e[A>>2]=r,A=v),T=i<<3,l=T-g|0,e[s+4>>2]=g|3,n=s+g|0,e[n+4>>2]=l|1,e[s+T>>2]=l,p|0&&(i=e[6982]|0,t=p>>>3,r=27948+(t<<1<<2)|0,t=1<<t,A&t?(A=r+8|0,t=e[A>>2]|0):(e[6977]=A|t,t=r,A=r+8|0),e[A>>2]=i,e[t+12>>2]=i,e[i+8>>2]=t,e[i+12>>2]=r),e[6979]=l,e[6982]=n,T=f,y=nA,T|0;if(s=e[6978]|0,s){for(r=(s&0-s)+-1|0,n=r>>>12&16,r=r>>>n,i=r>>>5&8,r=r>>>i,l=r>>>2&4,r=r>>>l,f=r>>>1&2,r=r>>>f,a=r>>>1&1,a=e[28212+((i|n|l|f|a)+(r>>>a)<<2)>>2]|0,r=a,f=a,a=(e[a+4>>2]&-8)-g|0;A=e[r+16>>2]|0,!(!A&&(A=e[r+20>>2]|0,!A));)l=(e[A+4>>2]&-8)-g|0,n=l>>>0<a>>>0,r=A,f=n?A:f,a=n?l:a;if(l=f+g|0,l>>>0>f>>>0){n=e[f+24>>2]|0,t=e[f+12>>2]|0;do if((t|0)==(f|0)){if(A=f+20|0,t=e[A>>2]|0,!t&&(A=f+16|0,t=e[A>>2]|0,!t)){r=0;break}for(;;)if(i=t+20|0,r=e[i>>2]|0,r)t=r,A=i;else if(i=t+16|0,r=e[i>>2]|0,r)t=r,A=i;else break;e[A>>2]=0,r=t}else r=e[f+8>>2]|0,e[r+12>>2]=t,e[t+8>>2]=r,r=t;while(!1);do if(n|0){if(t=e[f+28>>2]|0,A=28212+(t<<2)|0,(f|0)==(e[A>>2]|0)){if(e[A>>2]=r,!r){e[6978]=s&~(1<<t);break}}else if(T=n+16|0,e[((e[T>>2]|0)==(f|0)?T:n+20|0)>>2]=r,!r)break;e[r+24>>2]=n,t=e[f+16>>2]|0,t|0&&(e[r+16>>2]=t,e[t+24>>2]=r),t=e[f+20>>2]|0,t|0&&(e[r+20>>2]=t,e[t+24>>2]=r)}while(!1);return a>>>0<16?(T=a+g|0,e[f+4>>2]=T|3,T=f+T+4|0,e[T>>2]=e[T>>2]|1):(e[f+4>>2]=g|3,e[l+4>>2]=a|1,e[l+a>>2]=a,p|0&&(i=e[6982]|0,t=p>>>3,r=27948+(t<<1<<2)|0,t=1<<t,t&v?(A=r+8|0,t=e[A>>2]|0):(e[6977]=t|v,t=r,A=r+8|0),e[A>>2]=i,e[t+12>>2]=i,e[i+8>>2]=t,e[i+12>>2]=r),e[6979]=a,e[6982]=l),T=f+8|0,y=nA,T|0}else v=g}else v=g}else v=g}else if(A>>>0<=4294967231)if(A=A+11|0,g=A&-8,i=e[6978]|0,i){n=0-g|0,A=A>>>8,A?g>>>0>16777215?a=31:(v=(A+1048320|0)>>>16&8,S=A<<v,f=(S+520192|0)>>>16&4,S=S<<f,a=(S+245760|0)>>>16&2,a=14-(f|v|a)+(S<<a>>>15)|0,a=g>>>(a+7|0)&1|a<<1):a=0,r=e[28212+(a<<2)>>2]|0;A:do if(!r)r=0,A=0,S=61;else for(A=0,f=g<<((a|0)==31?0:25-(a>>>1)|0),s=0;;){if(l=(e[r+4>>2]&-8)-g|0,l>>>0<n>>>0)if(l)A=r,n=l;else{A=r,n=0,S=65;break A}if(S=e[r+20>>2]|0,r=e[r+16+(f>>>31<<2)>>2]|0,s=(S|0)==0|(S|0)==(r|0)?s:S,r)f=f<<1;else{r=s,S=61;break}}while(!1);if((S|0)==61){if((r|0)==0&(A|0)==0){if(A=2<<a,A=(A|0-A)&i,!A){v=g;break}v=(A&0-A)+-1|0,l=v>>>12&16,v=v>>>l,s=v>>>5&8,v=v>>>s,f=v>>>2&4,v=v>>>f,a=v>>>1&2,v=v>>>a,r=v>>>1&1,A=0,r=e[28212+((s|l|f|a|r)+(v>>>r)<<2)>>2]|0}r?S=65:(f=A,l=n)}if((S|0)==65)for(s=r;;)if(v=(e[s+4>>2]&-8)-g|0,r=v>>>0<n>>>0,n=r?v:n,A=r?s:A,r=e[s+16>>2]|0,r||(r=e[s+20>>2]|0),r)s=r;else{f=A,l=n;break}if((f|0)!=0&&l>>>0<((e[6979]|0)-g|0)>>>0&&(p=f+g|0,p>>>0>f>>>0)){s=e[f+24>>2]|0,t=e[f+12>>2]|0;do if((t|0)==(f|0)){if(A=f+20|0,t=e[A>>2]|0,!t&&(A=f+16|0,t=e[A>>2]|0,!t)){t=0;break}for(;;)if(n=t+20|0,r=e[n>>2]|0,r)t=r,A=n;else if(n=t+16|0,r=e[n>>2]|0,r)t=r,A=n;else break;e[A>>2]=0}else T=e[f+8>>2]|0,e[T+12>>2]=t,e[t+8>>2]=T;while(!1);do if(s){if(A=e[f+28>>2]|0,r=28212+(A<<2)|0,(f|0)==(e[r>>2]|0)){if(e[r>>2]=t,!t){i=i&~(1<<A),e[6978]=i;break}}else if(T=s+16|0,e[((e[T>>2]|0)==(f|0)?T:s+20|0)>>2]=t,!t)break;e[t+24>>2]=s,A=e[f+16>>2]|0,A|0&&(e[t+16>>2]=A,e[A+24>>2]=t),A=e[f+20>>2]|0,A&&(e[t+20>>2]=A,e[A+24>>2]=t)}while(!1);A:do if(l>>>0<16)T=l+g|0,e[f+4>>2]=T|3,T=f+T+4|0,e[T>>2]=e[T>>2]|1;else{if(e[f+4>>2]=g|3,e[p+4>>2]=l|1,e[p+l>>2]=l,t=l>>>3,l>>>0<256){r=27948+(t<<1<<2)|0,A=e[6977]|0,t=1<<t,A&t?(A=r+8|0,t=e[A>>2]|0):(e[6977]=A|t,t=r,A=r+8|0),e[A>>2]=p,e[t+12>>2]=p,e[p+8>>2]=t,e[p+12>>2]=r;break}if(t=l>>>8,t?l>>>0>16777215?r=31:(G=(t+1048320|0)>>>16&8,T=t<<G,z=(T+520192|0)>>>16&4,T=T<<z,r=(T+245760|0)>>>16&2,r=14-(z|G|r)+(T<<r>>>15)|0,r=l>>>(r+7|0)&1|r<<1):r=0,t=28212+(r<<2)|0,e[p+28>>2]=r,A=p+16|0,e[A+4>>2]=0,e[A>>2]=0,A=1<<r,!(i&A)){e[6978]=i|A,e[t>>2]=p,e[p+24>>2]=t,e[p+12>>2]=p,e[p+8>>2]=p;break}t=e[t>>2]|0;e:do if((e[t+4>>2]&-8|0)!=(l|0)){for(i=l<<((r|0)==31?0:25-(r>>>1)|0);r=t+16+(i>>>31<<2)|0,A=e[r>>2]|0,!!A;)if((e[A+4>>2]&-8|0)==(l|0)){t=A;break e}else i=i<<1,t=A;e[r>>2]=p,e[p+24>>2]=t,e[p+12>>2]=p,e[p+8>>2]=p;break A}while(!1);G=t+8|0,T=e[G>>2]|0,e[T+12>>2]=p,e[G>>2]=p,e[p+8>>2]=T,e[p+12>>2]=t,e[p+24>>2]=0}while(!1);return T=f+8|0,y=nA,T|0}else v=g}else v=g;else v=-1;while(!1);if(r=e[6979]|0,r>>>0>=v>>>0)return t=r-v|0,A=e[6982]|0,t>>>0>15?(T=A+v|0,e[6982]=T,e[6979]=t,e[T+4>>2]=t|1,e[A+r>>2]=t,e[A+4>>2]=v|3):(e[6979]=0,e[6982]=0,e[A+4>>2]=r|3,T=A+r+4|0,e[T>>2]=e[T>>2]|1),T=A+8|0,y=nA,T|0;if(l=e[6980]|0,l>>>0>v>>>0)return z=l-v|0,e[6980]=z,T=e[6983]|0,G=T+v|0,e[6983]=G,e[G+4>>2]=z|1,e[T+4>>2]=v|3,T=T+8|0,y=nA,T|0;if(e[7095]|0?A=e[7097]|0:(e[7097]=4096,e[7096]=4096,e[7098]=-1,e[7099]=-1,e[7100]=0,e[7088]=0,e[7095]=d&-16^1431655768,A=4096),f=v+48|0,a=v+47|0,s=A+a|0,n=0-A|0,g=s&n,g>>>0<=v>>>0||(A=e[7087]|0,A|0&&(p=e[7085]|0,d=p+g|0,d>>>0<=p>>>0|d>>>0>A>>>0)))return T=0,y=nA,T|0;A:do if(e[7088]&4)t=0,S=143;else{r=e[6983]|0;e:do if(r){for(i=28356;d=e[i>>2]|0,!(d>>>0<=r>>>0&&(d+(e[i+4>>2]|0)|0)>>>0>r>>>0);)if(A=e[i+8>>2]|0,A)i=A;else{S=128;break e}if(t=s-l&n,t>>>0<2147483647)if(A=ee(t|0)|0,(A|0)==((e[i>>2]|0)+(e[i+4>>2]|0)|0)){if((A|0)!=-1){l=t,s=A,S=145;break A}}else i=A,S=136;else t=0}else S=128;while(!1);do if((S|0)==128)if(r=ee(0)|0,(r|0)!=-1&&(t=r,x=e[7096]|0,D=x+-1|0,t=((D&t|0)==0?0:(D+t&0-x)-t|0)+g|0,x=e[7085]|0,D=t+x|0,t>>>0>v>>>0&t>>>0<2147483647)){if(d=e[7087]|0,d|0&&D>>>0<=x>>>0|D>>>0>d>>>0){t=0;break}if(A=ee(t|0)|0,(A|0)==(r|0)){l=t,s=r,S=145;break A}else i=A,S=136}else t=0;while(!1);do if((S|0)==136){if(r=0-t|0,!(f>>>0>t>>>0&(t>>>0<2147483647&(i|0)!=-1)))if((i|0)==-1){t=0;break}else{l=t,s=i,S=145;break A}if(A=e[7097]|0,A=a-t+A&0-A,A>>>0>=2147483647){l=t,s=i,S=145;break A}if((ee(A|0)|0)==-1){ee(r|0)|0,t=0;break}else{l=A+t|0,s=i,S=145;break A}}while(!1);e[7088]=e[7088]|4,S=143}while(!1);if((S|0)==143&&g>>>0<2147483647&&(z=ee(g|0)|0,D=ee(0)|0,F=D-z|0,K=F>>>0>(v+40|0)>>>0,!((z|0)==-1|K^1|z>>>0<D>>>0&((z|0)!=-1&(D|0)!=-1)^1))&&(l=K?F:t,s=z,S=145),(S|0)==145){t=(e[7085]|0)+l|0,e[7085]=t,t>>>0>(e[7086]|0)>>>0&&(e[7086]=t),a=e[6983]|0;A:do if(a){for(t=28356;;){if(A=e[t>>2]|0,r=e[t+4>>2]|0,(s|0)==(A+r|0)){S=154;break}if(i=e[t+8>>2]|0,i)t=i;else break}if((S|0)==154&&(G=t+4|0,(e[t+12>>2]&8|0)==0)&&s>>>0>a>>>0&A>>>0<=a>>>0){e[G>>2]=r+l,T=(e[6980]|0)+l|0,z=a+8|0,z=(z&7|0)==0?0:0-z&7,G=a+z|0,z=T-z|0,e[6983]=G,e[6980]=z,e[G+4>>2]=z|1,e[a+T+4>>2]=40,e[6984]=e[7099];break}for(s>>>0<(e[6981]|0)>>>0&&(e[6981]=s),r=s+l|0,t=28356;;){if((e[t>>2]|0)==(r|0)){S=162;break}if(A=e[t+8>>2]|0,A)t=A;else break}if((S|0)==162&&(e[t+12>>2]&8|0)==0){e[t>>2]=s,p=t+4|0,e[p>>2]=(e[p>>2]|0)+l,p=s+8|0,p=s+((p&7|0)==0?0:0-p&7)|0,t=r+8|0,t=r+((t&7|0)==0?0:0-t&7)|0,g=p+v|0,f=t-p-v|0,e[p+4>>2]=v|3;e:do if((a|0)==(t|0))T=(e[6980]|0)+f|0,e[6980]=T,e[6983]=g,e[g+4>>2]=T|1;else{if((e[6982]|0)==(t|0)){T=(e[6979]|0)+f|0,e[6979]=T,e[6982]=g,e[g+4>>2]=T|1,e[g+T>>2]=T;break}if(A=e[t+4>>2]|0,(A&3|0)==1){l=A&-8,i=A>>>3;t:do if(A>>>0<256)if(A=e[t+8>>2]|0,r=e[t+12>>2]|0,(r|0)==(A|0)){e[6977]=e[6977]&~(1<<i);break}else{e[A+12>>2]=r,e[r+8>>2]=A;break}else{s=e[t+24>>2]|0,A=e[t+12>>2]|0;do if((A|0)==(t|0)){if(r=t+16|0,i=r+4|0,A=e[i>>2]|0,A)r=i;else if(A=e[r>>2]|0,!A){A=0;break}for(;;)if(n=A+20|0,i=e[n>>2]|0,i)A=i,r=n;else if(n=A+16|0,i=e[n>>2]|0,i)A=i,r=n;else break;e[r>>2]=0}else T=e[t+8>>2]|0,e[T+12>>2]=A,e[A+8>>2]=T;while(!1);if(!s)break;r=e[t+28>>2]|0,i=28212+(r<<2)|0;do if((e[i>>2]|0)!=(t|0)){if(T=s+16|0,e[((e[T>>2]|0)==(t|0)?T:s+20|0)>>2]=A,!A)break t}else{if(e[i>>2]=A,A|0)break;e[6978]=e[6978]&~(1<<r);break t}while(!1);if(e[A+24>>2]=s,r=t+16|0,i=e[r>>2]|0,i|0&&(e[A+16>>2]=i,e[i+24>>2]=A),r=e[r+4>>2]|0,!r)break;e[A+20>>2]=r,e[r+24>>2]=A}while(!1);t=t+l|0,n=l+f|0}else n=f;if(t=t+4|0,e[t>>2]=e[t>>2]&-2,e[g+4>>2]=n|1,e[g+n>>2]=n,t=n>>>3,n>>>0<256){r=27948+(t<<1<<2)|0,A=e[6977]|0,t=1<<t,A&t?(A=r+8|0,t=e[A>>2]|0):(e[6977]=A|t,t=r,A=r+8|0),e[A>>2]=g,e[t+12>>2]=g,e[g+8>>2]=t,e[g+12>>2]=r;break}t=n>>>8;do if(!t)i=0;else{if(n>>>0>16777215){i=31;break}G=(t+1048320|0)>>>16&8,T=t<<G,z=(T+520192|0)>>>16&4,T=T<<z,i=(T+245760|0)>>>16&2,i=14-(z|G|i)+(T<<i>>>15)|0,i=n>>>(i+7|0)&1|i<<1}while(!1);if(t=28212+(i<<2)|0,e[g+28>>2]=i,A=g+16|0,e[A+4>>2]=0,e[A>>2]=0,A=e[6978]|0,r=1<<i,!(A&r)){e[6978]=A|r,e[t>>2]=g,e[g+24>>2]=t,e[g+12>>2]=g,e[g+8>>2]=g;break}t=e[t>>2]|0;t:do if((e[t+4>>2]&-8|0)!=(n|0)){for(i=n<<((i|0)==31?0:25-(i>>>1)|0);r=t+16+(i>>>31<<2)|0,A=e[r>>2]|0,!!A;)if((e[A+4>>2]&-8|0)==(n|0)){t=A;break t}else i=i<<1,t=A;e[r>>2]=g,e[g+24>>2]=t,e[g+12>>2]=g,e[g+8>>2]=g;break e}while(!1);G=t+8|0,T=e[G>>2]|0,e[T+12>>2]=g,e[G>>2]=g,e[g+8>>2]=T,e[g+12>>2]=t,e[g+24>>2]=0}while(!1);return T=p+8|0,y=nA,T|0}for(t=28356;A=e[t>>2]|0,!(A>>>0<=a>>>0&&(T=A+(e[t+4>>2]|0)|0,T>>>0>a>>>0));)t=e[t+8>>2]|0;n=T+-47|0,A=n+8|0,A=n+((A&7|0)==0?0:0-A&7)|0,n=a+16|0,A=A>>>0<n>>>0?a:A,t=A+8|0,r=l+-40|0,z=s+8|0,z=(z&7|0)==0?0:0-z&7,G=s+z|0,z=r-z|0,e[6983]=G,e[6980]=z,e[G+4>>2]=z|1,e[s+r+4>>2]=40,e[6984]=e[7099],r=A+4|0,e[r>>2]=27,e[t>>2]=e[7089],e[t+4>>2]=e[7090],e[t+8>>2]=e[7091],e[t+12>>2]=e[7092],e[7089]=s,e[7090]=l,e[7092]=0,e[7091]=t,t=A+24|0;do G=t,t=t+4|0,e[t>>2]=7;while((G+8|0)>>>0<T>>>0);if((A|0)!=(a|0)){if(s=A-a|0,e[r>>2]=e[r>>2]&-2,e[a+4>>2]=s|1,e[A>>2]=s,t=s>>>3,s>>>0<256){r=27948+(t<<1<<2)|0,A=e[6977]|0,t=1<<t,A&t?(A=r+8|0,t=e[A>>2]|0):(e[6977]=A|t,t=r,A=r+8|0),e[A>>2]=a,e[t+12>>2]=a,e[a+8>>2]=t,e[a+12>>2]=r;break}if(t=s>>>8,t?s>>>0>16777215?i=31:(G=(t+1048320|0)>>>16&8,T=t<<G,z=(T+520192|0)>>>16&4,T=T<<z,i=(T+245760|0)>>>16&2,i=14-(z|G|i)+(T<<i>>>15)|0,i=s>>>(i+7|0)&1|i<<1):i=0,r=28212+(i<<2)|0,e[a+28>>2]=i,e[a+20>>2]=0,e[n>>2]=0,t=e[6978]|0,A=1<<i,!(t&A)){e[6978]=t|A,e[r>>2]=a,e[a+24>>2]=r,e[a+12>>2]=a,e[a+8>>2]=a;break}t=e[r>>2]|0;e:do if((e[t+4>>2]&-8|0)!=(s|0)){for(i=s<<((i|0)==31?0:25-(i>>>1)|0);r=t+16+(i>>>31<<2)|0,A=e[r>>2]|0,!!A;)if((e[A+4>>2]&-8|0)==(s|0)){t=A;break e}else i=i<<1,t=A;e[r>>2]=a,e[a+24>>2]=t,e[a+12>>2]=a,e[a+8>>2]=a;break A}while(!1);G=t+8|0,T=e[G>>2]|0,e[T+12>>2]=a,e[G>>2]=a,e[a+8>>2]=T,e[a+12>>2]=t,e[a+24>>2]=0}}else T=e[6981]|0,(T|0)==0|s>>>0<T>>>0&&(e[6981]=s),e[7089]=s,e[7090]=l,e[7092]=0,e[6986]=e[7095],e[6985]=-1,e[6990]=27948,e[6989]=27948,e[6992]=27956,e[6991]=27956,e[6994]=27964,e[6993]=27964,e[6996]=27972,e[6995]=27972,e[6998]=27980,e[6997]=27980,e[7e3]=27988,e[6999]=27988,e[7002]=27996,e[7001]=27996,e[7004]=28004,e[7003]=28004,e[7006]=28012,e[7005]=28012,e[7008]=28020,e[7007]=28020,e[7010]=28028,e[7009]=28028,e[7012]=28036,e[7011]=28036,e[7014]=28044,e[7013]=28044,e[7016]=28052,e[7015]=28052,e[7018]=28060,e[7017]=28060,e[7020]=28068,e[7019]=28068,e[7022]=28076,e[7021]=28076,e[7024]=28084,e[7023]=28084,e[7026]=28092,e[7025]=28092,e[7028]=28100,e[7027]=28100,e[7030]=28108,e[7029]=28108,e[7032]=28116,e[7031]=28116,e[7034]=28124,e[7033]=28124,e[7036]=28132,e[7035]=28132,e[7038]=28140,e[7037]=28140,e[7040]=28148,e[7039]=28148,e[7042]=28156,e[7041]=28156,e[7044]=28164,e[7043]=28164,e[7046]=28172,e[7045]=28172,e[7048]=28180,e[7047]=28180,e[7050]=28188,e[7049]=28188,e[7052]=28196,e[7051]=28196,T=l+-40|0,z=s+8|0,z=(z&7|0)==0?0:0-z&7,G=s+z|0,z=T-z|0,e[6983]=G,e[6980]=z,e[G+4>>2]=z|1,e[s+T+4>>2]=40,e[6984]=e[7099];while(!1);if(t=e[6980]|0,t>>>0>v>>>0)return z=t-v|0,e[6980]=z,T=e[6983]|0,G=T+v|0,e[6983]=G,e[G+4>>2]=z|1,e[T+4>>2]=v|3,T=T+8|0,y=nA,T|0}return T=k1()|0,e[T>>2]=12,T=0,y=nA,T|0}function yA(A){A=A|0;var t=0,r=0,i=0,n=0,s=0,l=0,f=0,a=0;if(A){r=A+-8|0,n=e[6981]|0,A=e[A+-4>>2]|0,t=A&-8,a=r+t|0;do if(A&1)f=r,l=r;else{if(i=e[r>>2]|0,!(A&3)||(l=r+(0-i)|0,s=i+t|0,l>>>0<n>>>0))return;if((e[6982]|0)==(l|0)){if(A=a+4|0,t=e[A>>2]|0,(t&3|0)!=3){f=l,t=s;break}e[6979]=s,e[A>>2]=t&-2,e[l+4>>2]=s|1,e[l+s>>2]=s;return}if(r=i>>>3,i>>>0<256)if(A=e[l+8>>2]|0,t=e[l+12>>2]|0,(t|0)==(A|0)){e[6977]=e[6977]&~(1<<r),f=l,t=s;break}else{e[A+12>>2]=t,e[t+8>>2]=A,f=l,t=s;break}n=e[l+24>>2]|0,A=e[l+12>>2]|0;do if((A|0)==(l|0)){if(t=l+16|0,r=t+4|0,A=e[r>>2]|0,A)t=r;else if(A=e[t>>2]|0,!A){A=0;break}for(;;)if(i=A+20|0,r=e[i>>2]|0,r)A=r,t=i;else if(i=A+16|0,r=e[i>>2]|0,r)A=r,t=i;else break;e[t>>2]=0}else f=e[l+8>>2]|0,e[f+12>>2]=A,e[A+8>>2]=f;while(!1);if(n){if(t=e[l+28>>2]|0,r=28212+(t<<2)|0,(e[r>>2]|0)==(l|0)){if(e[r>>2]=A,!A){e[6978]=e[6978]&~(1<<t),f=l,t=s;break}}else if(f=n+16|0,e[((e[f>>2]|0)==(l|0)?f:n+20|0)>>2]=A,!A){f=l,t=s;break}e[A+24>>2]=n,t=l+16|0,r=e[t>>2]|0,r|0&&(e[A+16>>2]=r,e[r+24>>2]=A),t=e[t+4>>2]|0,t?(e[A+20>>2]=t,e[t+24>>2]=A,f=l,t=s):(f=l,t=s)}else f=l,t=s}while(!1);if(!(l>>>0>=a>>>0)&&(A=a+4|0,i=e[A>>2]|0,!!(i&1))){if(i&2)e[A>>2]=i&-2,e[f+4>>2]=t|1,e[l+t>>2]=t,n=t;else{if((e[6983]|0)==(a|0)){if(a=(e[6980]|0)+t|0,e[6980]=a,e[6983]=f,e[f+4>>2]=a|1,(f|0)!=(e[6982]|0))return;e[6982]=0,e[6979]=0;return}if((e[6982]|0)==(a|0)){a=(e[6979]|0)+t|0,e[6979]=a,e[6982]=l,e[f+4>>2]=a|1,e[l+a>>2]=a;return}n=(i&-8)+t|0,r=i>>>3;do if(i>>>0<256)if(t=e[a+8>>2]|0,A=e[a+12>>2]|0,(A|0)==(t|0)){e[6977]=e[6977]&~(1<<r);break}else{e[t+12>>2]=A,e[A+8>>2]=t;break}else{s=e[a+24>>2]|0,A=e[a+12>>2]|0;do if((A|0)==(a|0)){if(t=a+16|0,r=t+4|0,A=e[r>>2]|0,A)t=r;else if(A=e[t>>2]|0,!A){r=0;break}for(;;)if(i=A+20|0,r=e[i>>2]|0,r)A=r,t=i;else if(i=A+16|0,r=e[i>>2]|0,r)A=r,t=i;else break;e[t>>2]=0,r=A}else r=e[a+8>>2]|0,e[r+12>>2]=A,e[A+8>>2]=r,r=A;while(!1);if(s|0){if(A=e[a+28>>2]|0,t=28212+(A<<2)|0,(e[t>>2]|0)==(a|0)){if(e[t>>2]=r,!r){e[6978]=e[6978]&~(1<<A);break}}else if(i=s+16|0,e[((e[i>>2]|0)==(a|0)?i:s+20|0)>>2]=r,!r)break;e[r+24>>2]=s,A=a+16|0,t=e[A>>2]|0,t|0&&(e[r+16>>2]=t,e[t+24>>2]=r),A=e[A+4>>2]|0,A|0&&(e[r+20>>2]=A,e[A+24>>2]=r)}}while(!1);if(e[f+4>>2]=n|1,e[l+n>>2]=n,(f|0)==(e[6982]|0)){e[6979]=n;return}}if(A=n>>>3,n>>>0<256){r=27948+(A<<1<<2)|0,t=e[6977]|0,A=1<<A,t&A?(t=r+8|0,A=e[t>>2]|0):(e[6977]=t|A,A=r,t=r+8|0),e[t>>2]=f,e[A+12>>2]=f,e[f+8>>2]=A,e[f+12>>2]=r;return}A=n>>>8,A?n>>>0>16777215?i=31:(l=(A+1048320|0)>>>16&8,a=A<<l,s=(a+520192|0)>>>16&4,a=a<<s,i=(a+245760|0)>>>16&2,i=14-(s|l|i)+(a<<i>>>15)|0,i=n>>>(i+7|0)&1|i<<1):i=0,A=28212+(i<<2)|0,e[f+28>>2]=i,e[f+20>>2]=0,e[f+16>>2]=0,t=e[6978]|0,r=1<<i;A:do if(!(t&r))e[6978]=t|r,e[A>>2]=f,e[f+24>>2]=A,e[f+12>>2]=f,e[f+8>>2]=f;else{A=e[A>>2]|0;e:do if((e[A+4>>2]&-8|0)!=(n|0)){for(i=n<<((i|0)==31?0:25-(i>>>1)|0);r=A+16+(i>>>31<<2)|0,t=e[r>>2]|0,!!t;)if((e[t+4>>2]&-8|0)==(n|0)){A=t;break e}else i=i<<1,A=t;e[r>>2]=f,e[f+24>>2]=A,e[f+12>>2]=f,e[f+8>>2]=f;break A}while(!1);l=A+8|0,a=e[l>>2]|0,e[a+12>>2]=f,e[l>>2]=f,e[f+8>>2]=a,e[f+12>>2]=A,e[f+24>>2]=0}while(!1);if(a=(e[6985]|0)+-1|0,e[6985]=a,!(a|0)){for(A=28364;A=e[A>>2]|0,A;)A=A+8|0;e[6985]=-1}}}}function v0(A,t){A=A|0,t=t|0;var r=0;return A?(r=O0(t,A)|0,(t|A)>>>0>65535&&(r=((r>>>0)/(A>>>0)|0|0)==(t|0)?r:-1)):r=0,A=L0(r)|0,!A||!(e[A+-4>>2]&3)||Ae(A|0,0,r|0)|0,A|0}function EA(A,t,r,i){return A=A|0,t=t|0,r=r|0,i=i|0,r=A+r>>>0,MA(t+i+(r>>>0<A>>>0|0)>>>0|0),r|0|0}function u0(A,t,r,i){return A=A|0,t=t|0,r=r|0,i=i|0,i=t-i-(r>>>0>A>>>0|0)>>>0,MA(i|0),A-r>>>0|0|0}function Pn(A){return A=A|0,(A?31-(z0(A^A-1)|0)|0:32)|0}function Ir(A,t,r,i,n){A=A|0,t=t|0,r=r|0,i=i|0,n=n|0;var s=0,l=0,f=0,a=0,g=0,p=0,v=0,d=0,x=0,D=0;if(p=A,a=t,g=a,l=r,d=i,f=d,!g)return s=(n|0)!=0,f?s?(e[n>>2]=A|0,e[n+4>>2]=t&0,d=0,n=0,MA(d|0),n|0):(d=0,n=0,MA(d|0),n|0):(s&&(e[n>>2]=(p>>>0)%(l>>>0),e[n+4>>2]=0),d=0,n=(p>>>0)/(l>>>0)>>>0,MA(d|0),n|0);s=(f|0)==0;do if(l){if(!s){if(s=(z0(f|0)|0)-(z0(g|0)|0)|0,s>>>0<=31){v=s+1|0,f=31-s|0,t=s-31>>31,l=v,A=p>>>(v>>>0)&t|g<<f,t=g>>>(v>>>0)&t,s=0,f=p<<f;break}return n?(e[n>>2]=A|0,e[n+4>>2]=a|t&0,d=0,n=0,MA(d|0),n|0):(d=0,n=0,MA(d|0),n|0)}if(s=l-1|0,s&l|0){f=(z0(l|0)|0)+33-(z0(g|0)|0)|0,D=64-f|0,v=32-f|0,a=v>>31,x=f-32|0,t=x>>31,l=f,A=v-1>>31&g>>>(x>>>0)|(g<<v|p>>>(f>>>0))&t,t=t&g>>>(f>>>0),s=p<<D&a,f=(g<<D|p>>>(x>>>0))&a|p<<v&f-33>>31;break}return n|0&&(e[n>>2]=s&p,e[n+4>>2]=0),(l|0)==1?(x=a|t&0,D=A|0|0,MA(x|0),D|0):(D=Pn(l|0)|0,x=g>>>(D>>>0)|0,D=g<<32-D|p>>>(D>>>0)|0,MA(x|0),D|0)}else{if(s)return n|0&&(e[n>>2]=(g>>>0)%(l>>>0),e[n+4>>2]=0),x=0,D=(g>>>0)/(l>>>0)>>>0,MA(x|0),D|0;if(!p)return n|0&&(e[n>>2]=0,e[n+4>>2]=(g>>>0)%(f>>>0)),x=0,D=(g>>>0)/(f>>>0)>>>0,MA(x|0),D|0;if(s=f-1|0,!(s&f))return n|0&&(e[n>>2]=A|0,e[n+4>>2]=s&g|t&0),x=0,D=g>>>((Pn(f|0)|0)>>>0),MA(x|0),D|0;if(s=(z0(f|0)|0)-(z0(g|0)|0)|0,s>>>0<=30){t=s+1|0,f=31-s|0,l=t,A=g<<f|p>>>(t>>>0),t=g>>>(t>>>0),s=0,f=p<<f;break}return n?(e[n>>2]=A|0,e[n+4>>2]=a|t&0,x=0,D=0,MA(x|0),D|0):(x=0,D=0,MA(x|0),D|0)}while(!1);if(!l)g=f,a=0,f=0;else{v=r|0|0,p=d|i&0,g=EA(v|0,p|0,-1,-1)|0,r=b()|0,a=f,f=0;do i=a,a=s>>>31|a<<1,s=f|s<<1,i=A<<1|i>>>31|0,d=A>>>31|t<<1|0,u0(g|0,r|0,i|0,d|0)|0,D=b()|0,x=D>>31|((D|0)<0?-1:0)<<1,f=x&1,A=u0(i|0,d|0,x&v|0,(((D|0)<0?-1:0)>>31|((D|0)<0?-1:0)<<1)&p|0)|0,t=b()|0,l=l-1|0;while((l|0)!=0);g=a,a=0}return l=0,n|0&&(e[n>>2]=A,e[n+4>>2]=t),x=(s|0)>>>31|(g|l)<<1|(l<<1|s>>>31)&0|a,D=(s<<1|0)&-2|f,MA(x|0),D|0}function J0(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0;return g=t>>31|((t|0)<0?-1:0)<<1,a=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1,s=i>>31|((i|0)<0?-1:0)<<1,n=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1,f=u0(g^A|0,a^t|0,g|0,a|0)|0,l=b()|0,A=s^g,t=n^a,u0((Ir(f,l,u0(s^r|0,n^i|0,s|0,n|0)|0,b()|0,0)|0)^A|0,(b()|0)^t|0,A|0,t|0)|0}function B1(A,t){A=A|0,t=t|0;var r=0,i=0,n=0,s=0;return s=A&65535,n=t&65535,r=O0(n,s)|0,i=A>>>16,A=(r>>>16)+(O0(n,i)|0)|0,n=t>>>16,t=O0(n,s)|0,MA((A>>>16)+(O0(n,i)|0)+(((A&65535)+t|0)>>>16)|0),A+t<<16|r&65535|0|0}function l0(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0;return n=A,s=r,r=B1(n,s)|0,A=b()|0,MA((O0(t,s)|0)+(O0(i,n)|0)+A|A&0|0),r|0|0|0}function De(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0,l=0,f=0,a=0,g=0;return n=y,y=y+16|0,f=n|0,l=t>>31|((t|0)<0?-1:0)<<1,s=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1,g=i>>31|((i|0)<0?-1:0)<<1,a=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1,A=u0(l^A|0,s^t|0,l|0,s|0)|0,t=b()|0,Ir(A,t,u0(g^r|0,a^i|0,g|0,a|0)|0,b()|0,f)|0,i=u0(e[f>>2]^l|0,e[f+4>>2]^s|0,l|0,s|0)|0,r=b()|0,y=n,MA(r|0),i|0}function Me(A,t,r,i){A=A|0,t=t|0,r=r|0,i=i|0;var n=0,s=0;return s=y,y=y+16|0,n=s|0,Ir(A,t,r,i,n)|0,y=s,MA(e[n+4>>2]|0),e[n>>2]|0|0}function _n(A,t,r){return A=A|0,t=t|0,r=r|0,(r|0)<32?(MA(t>>r|0),A>>>r|(t&(1<<r)-1)<<32-r):(MA(((t|0)<0?-1:0)|0),t>>r-32|0)}function eA(A,t,r){return A=A|0,t=t|0,r=r|0,(r|0)<32?(MA(t>>>r|0),A>>>r|(t&(1<<r)-1)<<32-r):(MA(0),t>>>r-32|0)}function sA(A,t,r){return A=A|0,t=t|0,r=r|0,(r|0)<32?(MA(t<<r|(A&(1<<r)-1<<32-r)>>>32-r|0),A<<r):(MA(A<<r-32|0),0)}function Qn(A,t,r){return A=A|0,t=t|0,t=z0(t)|0,(t|0)==32&&(t=t+(z0(A)|0)|0),MA(0),t|0}function Sn(A,t){return A=+A,t=+t,A!=A?+t:t!=t?+A:+Qo(+A,+t)}function Tt(A,t){return A=+A,t=+t,A!=A?+t:t!=t?+A:+fr(+A,+t)}function It(A){return A=+A,A>=0?+s0(A+.5):+ke(A-.5)}function Pe(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0;if((r|0)>=8192)return To(A|0,t|0,r|0)|0,A|0;if(s=A|0,n=A+r|0,(A&3)==(t&3)){for(;A&3;){if(!r)return s|0;tA[A>>0]=tA[t>>0]|0,A=A+1|0,t=t+1|0,r=r-1|0}for(r=n&-4|0,i=r-64|0;(A|0)<=(i|0);)e[A>>2]=e[t>>2],e[A+4>>2]=e[t+4>>2],e[A+8>>2]=e[t+8>>2],e[A+12>>2]=e[t+12>>2],e[A+16>>2]=e[t+16>>2],e[A+20>>2]=e[t+20>>2],e[A+24>>2]=e[t+24>>2],e[A+28>>2]=e[t+28>>2],e[A+32>>2]=e[t+32>>2],e[A+36>>2]=e[t+36>>2],e[A+40>>2]=e[t+40>>2],e[A+44>>2]=e[t+44>>2],e[A+48>>2]=e[t+48>>2],e[A+52>>2]=e[t+52>>2],e[A+56>>2]=e[t+56>>2],e[A+60>>2]=e[t+60>>2],A=A+64|0,t=t+64|0;for(;(A|0)<(r|0);)e[A>>2]=e[t>>2],A=A+4|0,t=t+4|0}else for(r=n-4|0;(A|0)<(r|0);)tA[A>>0]=tA[t>>0]|0,tA[A+1>>0]=tA[t+1>>0]|0,tA[A+2>>0]=tA[t+2>>0]|0,tA[A+3>>0]=tA[t+3>>0]|0,A=A+4|0,t=t+4|0;for(;(A|0)<(n|0);)tA[A>>0]=tA[t>>0]|0,A=A+1|0,t=t+1|0;return s|0}function Ae(A,t,r){A=A|0,t=t|0,r=r|0;var i=0,n=0,s=0,l=0;if(s=A+r|0,t=t&255,(r|0)>=67){for(;A&3;)tA[A>>0]=t,A=A+1|0;for(i=s&-4|0,l=t|t<<8|t<<16|t<<24,n=i-64|0;(A|0)<=(n|0);)e[A>>2]=l,e[A+4>>2]=l,e[A+8>>2]=l,e[A+12>>2]=l,e[A+16>>2]=l,e[A+20>>2]=l,e[A+24>>2]=l,e[A+28>>2]=l,e[A+32>>2]=l,e[A+36>>2]=l,e[A+40>>2]=l,e[A+44>>2]=l,e[A+48>>2]=l,e[A+52>>2]=l,e[A+56>>2]=l,e[A+60>>2]=l,A=A+64|0;for(;(A|0)<(i|0);)e[A>>2]=l,A=A+4|0}for(;(A|0)<(s|0);)tA[A>>0]=t,A=A+1|0;return s-r|0}function Tn(A){return A=+A,A>=0?+s0(A+.5):+ke(A-.5)}function ee(A){A=A|0;var t=0,r=0,i=0;return i=So()|0,r=e[VA>>2]|0,t=r+A|0,(A|0)>0&(t|0)<(r|0)|(t|0)<0?(Oo(t|0)|0,Ui(12),-1):(t|0)>(i|0)&&!(Io(t|0)|0)?(Ui(12),-1):(e[VA>>2]=t,r|0)}return{___divdi3:J0,___muldi3:l0,___remdi3:De,___uremdi3:Me,_areNeighborCells:al,_bitshift64Ashr:_n,_bitshift64Lshr:eA,_bitshift64Shl:sA,_calloc:v0,_cellAreaKm2:Yl,_cellAreaM2:jl,_cellAreaRads2:_r,_cellToBoundary:de,_cellToCenterChild:hn,_cellToChildPos:Il,_cellToChildren:dl,_cellToChildrenSize:He,_cellToLatLng:ae,_cellToLocalIj:Zl,_cellToParent:kr,_cellToVertex:P0,_cellToVertexes:p1,_cellsToDirectedEdge:gl,_cellsToLinkedMultiPolygon:Ko,_childPosToCell:Ol,_compactCells:xl,_destroyLinkedMultiPolygon:pn,_directedEdgeToBoundary:Pt,_directedEdgeToCells:ml,_edgeLengthKm:Vl,_edgeLengthM:Kl,_edgeLengthRads:Hl,_emscripten_replace_memory:Ro,_free:yA,_getBaseCellNumber:fn,_getDirectedEdgeDestination:wl,_getDirectedEdgeOrigin:cl,_getHexagonAreaAvgKm2:cn,_getHexagonAreaAvgM2:Gl,_getHexagonEdgeLengthAvgKm:Ul,_getHexagonEdgeLengthAvgM:zl,_getIcosahedronFaces:an,_getNumCells:_t,_getPentagons:Dr,_getRes0Cells:$o,_getResolution:Cl,_greatCircleDistanceKm:Ke,_greatCircleDistanceM:Ll,_greatCircleDistanceRads:Rl,_gridDisk:zi,_gridDiskDistances:Yi,_gridDistance:Jl,_gridPathCells:e1,_gridPathCellsSize:A1,_gridRing:zo,_gridRingUnsafe:Hi,_i64Add:EA,_i64Subtract:u0,_isPentagon:WA,_isResClassIII:Pl,_isValidCell:vr,_isValidDirectedEdge:pl,_isValidVertex:E1,_latLngToCell:dr,_llvm_ctlz_i64:Qn,_llvm_maxnum_f64:Sn,_llvm_minnum_f64:Tt,_llvm_round_f64:It,_localIjToCell:$l,_malloc:L0,_maxFaceCount:Sl,_maxGridDiskSize:Uo,_maxPolygonToCellsSize:jo,_maxPolygonToCellsSizeExperimental:i1,_memcpy:Pe,_memset:Ae,_originToDirectedEdges:El,_pentagonCount:Tl,_polygonToCells:Ho,_polygonToCellsExperimental:r1,_readInt64AsDoubleFromPointer:a1,_res0CellCount:Zo,_round:Tn,_sbrk:ee,_sizeOfCellBoundary:o1,_sizeOfCoordIJ:h1,_sizeOfGeoLoop:l1,_sizeOfGeoPolygon:f1,_sizeOfH3Index:n1,_sizeOfLatLng:s1,_sizeOfLinkedGeoPolygon:u1,_uncompactCells:Dl,_uncompactCellsSize:Ml,_vertexToLatLng:m1,establishStackSpace:Go,stackAlloc:Lo,stackRestore:No,stackSave:Fo}})(Co,xo,R);o.___divdi3=rA.___divdi3,o.___muldi3=rA.___muldi3,o.___remdi3=rA.___remdi3,o.___uremdi3=rA.___uremdi3,o._areNeighborCells=rA._areNeighborCells,o._bitshift64Ashr=rA._bitshift64Ashr,o._bitshift64Lshr=rA._bitshift64Lshr,o._bitshift64Shl=rA._bitshift64Shl,o._calloc=rA._calloc,o._cellAreaKm2=rA._cellAreaKm2,o._cellAreaM2=rA._cellAreaM2,o._cellAreaRads2=rA._cellAreaRads2,o._cellToBoundary=rA._cellToBoundary,o._cellToCenterChild=rA._cellToCenterChild,o._cellToChildPos=rA._cellToChildPos,o._cellToChildren=rA._cellToChildren,o._cellToChildrenSize=rA._cellToChildrenSize,o._cellToLatLng=rA._cellToLatLng,o._cellToLocalIj=rA._cellToLocalIj,o._cellToParent=rA._cellToParent,o._cellToVertex=rA._cellToVertex,o._cellToVertexes=rA._cellToVertexes,o._cellsToDirectedEdge=rA._cellsToDirectedEdge,o._cellsToLinkedMultiPolygon=rA._cellsToLinkedMultiPolygon,o._childPosToCell=rA._childPosToCell,o._compactCells=rA._compactCells,o._destroyLinkedMultiPolygon=rA._destroyLinkedMultiPolygon,o._directedEdgeToBoundary=rA._directedEdgeToBoundary,o._directedEdgeToCells=rA._directedEdgeToCells,o._edgeLengthKm=rA._edgeLengthKm,o._edgeLengthM=rA._edgeLengthM,o._edgeLengthRads=rA._edgeLengthRads;var Do=o._emscripten_replace_memory=rA._emscripten_replace_memory;o._free=rA._free,o._getBaseCellNumber=rA._getBaseCellNumber,o._getDirectedEdgeDestination=rA._getDirectedEdgeDestination,o._getDirectedEdgeOrigin=rA._getDirectedEdgeOrigin,o._getHexagonAreaAvgKm2=rA._getHexagonAreaAvgKm2,o._getHexagonAreaAvgM2=rA._getHexagonAreaAvgM2,o._getHexagonEdgeLengthAvgKm=rA._getHexagonEdgeLengthAvgKm,o._getHexagonEdgeLengthAvgM=rA._getHexagonEdgeLengthAvgM,o._getIcosahedronFaces=rA._getIcosahedronFaces,o._getNumCells=rA._getNumCells,o._getPentagons=rA._getPentagons,o._getRes0Cells=rA._getRes0Cells,o._getResolution=rA._getResolution,o._greatCircleDistanceKm=rA._greatCircleDistanceKm,o._greatCircleDistanceM=rA._greatCircleDistanceM,o._greatCircleDistanceRads=rA._greatCircleDistanceRads,o._gridDisk=rA._gridDisk,o._gridDiskDistances=rA._gridDiskDistances,o._gridDistance=rA._gridDistance,o._gridPathCells=rA._gridPathCells,o._gridPathCellsSize=rA._gridPathCellsSize,o._gridRing=rA._gridRing,o._gridRingUnsafe=rA._gridRingUnsafe,o._i64Add=rA._i64Add,o._i64Subtract=rA._i64Subtract,o._isPentagon=rA._isPentagon,o._isResClassIII=rA._isResClassIII,o._isValidCell=rA._isValidCell,o._isValidDirectedEdge=rA._isValidDirectedEdge,o._isValidVertex=rA._isValidVertex,o._latLngToCell=rA._latLngToCell,o._llvm_ctlz_i64=rA._llvm_ctlz_i64,o._llvm_maxnum_f64=rA._llvm_maxnum_f64,o._llvm_minnum_f64=rA._llvm_minnum_f64,o._llvm_round_f64=rA._llvm_round_f64,o._localIjToCell=rA._localIjToCell,o._malloc=rA._malloc,o._maxFaceCount=rA._maxFaceCount,o._maxGridDiskSize=rA._maxGridDiskSize,o._maxPolygonToCellsSize=rA._maxPolygonToCellsSize,o._maxPolygonToCellsSizeExperimental=rA._maxPolygonToCellsSizeExperimental,o._memcpy=rA._memcpy,o._memset=rA._memset,o._originToDirectedEdges=rA._originToDirectedEdges,o._pentagonCount=rA._pentagonCount,o._polygonToCells=rA._polygonToCells,o._polygonToCellsExperimental=rA._polygonToCellsExperimental,o._readInt64AsDoubleFromPointer=rA._readInt64AsDoubleFromPointer,o._res0CellCount=rA._res0CellCount,o._round=rA._round,o._sbrk=rA._sbrk,o._sizeOfCellBoundary=rA._sizeOfCellBoundary,o._sizeOfCoordIJ=rA._sizeOfCoordIJ,o._sizeOfGeoLoop=rA._sizeOfGeoLoop,o._sizeOfGeoPolygon=rA._sizeOfGeoPolygon,o._sizeOfH3Index=rA._sizeOfH3Index,o._sizeOfLatLng=rA._sizeOfLatLng,o._sizeOfLinkedGeoPolygon=rA._sizeOfLinkedGeoPolygon,o._uncompactCells=rA._uncompactCells,o._uncompactCellsSize=rA._uncompactCellsSize,o._vertexToLatLng=rA._vertexToLatLng,o.establishStackSpace=rA.establishStackSpace;var Li=o.stackAlloc=rA.stackAlloc,Mo=o.stackRestore=rA.stackRestore,Po=o.stackSave=rA.stackSave;if(o.asm=rA,o.cwrap=RA,o.setValue=J,o.getValue=oA,U0){Oi(U0)||(U0=m(U0));{go();var sr=function(W){W.byteLength&&(W=new Uint8Array(W)),N.set(W,q),o.memoryInitializerRequest&&delete o.memoryInitializerRequest.response,co()},Fi=function(){k(U0,sr,function(){throw"could not load memory initializer "+U0})},Ni=nr(U0);if(Ni)sr(Ni.buffer);else if(o.memoryInitializerRequest){var Gi=function(){var W=o.memoryInitializerRequest,AA=W.response;if(W.status!==200&&W.status!==0){var fA=nr(o.memoryInitializerRequestURL);if(fA)AA=fA.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+W.status+", retrying "+U0),Fi();return}}sr(AA)};o.memoryInitializerRequest.response?setTimeout(Gi,0):o.memoryInitializerRequest.addEventListener("load",Gi)}else Fi()}}var Ct;Ye=function W(){Ct||or(),Ct||(Ye=W)};function or(W){if(oe>0||(n0(),oe>0))return;function AA(){Ct||(Ct=!0,!lA&&(ye(),Ue(),o.onRuntimeInitialized&&o.onRuntimeInitialized(),ze()))}o.setStatus?(o.setStatus("Running..."),setTimeout(function(){setTimeout(function(){o.setStatus("")},1),AA()},1)):AA()}o.run=or;function be(W){throw o.onAbort&&o.onAbort(W),W+="",C(W),_(W),lA=!0,"abort("+W+"). Build with -s ASSERTIONS=1 for more info."}if(o.abort=be,o.preInit)for(typeof o.preInit=="function"&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();return or(),u})(typeof Je=="object"?Je:{}),CA="number",bA=CA,_e=CA,dA=CA,xA=CA,r0=CA,hA=CA,Fn=[["sizeOfH3Index",CA],["sizeOfLatLng",CA],["sizeOfCellBoundary",CA],["sizeOfGeoLoop",CA],["sizeOfGeoPolygon",CA],["sizeOfLinkedGeoPolygon",CA],["sizeOfCoordIJ",CA],["readInt64AsDoubleFromPointer",CA],["isValidCell",_e,[dA,xA]],["latLngToCell",bA,[CA,CA,r0,hA]],["cellToLatLng",bA,[dA,xA,hA]],["cellToBoundary",bA,[dA,xA,hA]],["maxGridDiskSize",bA,[CA,hA]],["gridDisk",bA,[dA,xA,CA,hA]],["gridDiskDistances",bA,[dA,xA,CA,hA,hA]],["gridRing",bA,[dA,xA,CA,hA]],["gridRingUnsafe",bA,[dA,xA,CA,hA]],["maxPolygonToCellsSize",bA,[hA,r0,CA,hA]],["polygonToCells",bA,[hA,r0,CA,hA]],["maxPolygonToCellsSizeExperimental",bA,[hA,r0,CA,hA]],["polygonToCellsExperimental",bA,[hA,r0,CA,CA,CA,hA]],["cellsToLinkedMultiPolygon",bA,[hA,CA,hA]],["destroyLinkedMultiPolygon",null,[hA]],["compactCells",bA,[hA,hA,CA,CA]],["uncompactCells",bA,[hA,CA,CA,hA,CA,r0]],["uncompactCellsSize",bA,[hA,CA,CA,r0,hA]],["isPentagon",_e,[dA,xA]],["isResClassIII",_e,[dA,xA]],["getBaseCellNumber",CA,[dA,xA]],["getResolution",CA,[dA,xA]],["maxFaceCount",bA,[dA,xA,hA]],["getIcosahedronFaces",bA,[dA,xA,hA]],["cellToParent",bA,[dA,xA,r0,hA]],["cellToChildren",bA,[dA,xA,r0,hA]],["cellToCenterChild",bA,[dA,xA,r0,hA]],["cellToChildrenSize",bA,[dA,xA,r0,hA]],["cellToChildPos",bA,[dA,xA,r0,hA]],["childPosToCell",bA,[CA,CA,dA,xA,r0,hA]],["areNeighborCells",bA,[dA,xA,dA,xA,hA]],["cellsToDirectedEdge",bA,[dA,xA,dA,xA,hA]],["getDirectedEdgeOrigin",bA,[dA,xA,hA]],["getDirectedEdgeDestination",bA,[dA,xA,hA]],["isValidDirectedEdge",_e,[dA,xA]],["directedEdgeToCells",bA,[dA,xA,hA]],["originToDirectedEdges",bA,[dA,xA,hA]],["directedEdgeToBoundary",bA,[dA,xA,hA]],["gridDistance",bA,[dA,xA,dA,xA,hA]],["gridPathCells",bA,[dA,xA,dA,xA,hA]],["gridPathCellsSize",bA,[dA,xA,dA,xA,hA]],["cellToLocalIj",bA,[dA,xA,dA,xA,CA,hA]],["localIjToCell",bA,[dA,xA,hA,CA,hA]],["getHexagonAreaAvgM2",bA,[r0,hA]],["getHexagonAreaAvgKm2",bA,[r0,hA]],["getHexagonEdgeLengthAvgM",bA,[r0,hA]],["getHexagonEdgeLengthAvgKm",bA,[r0,hA]],["greatCircleDistanceM",CA,[hA,hA]],["greatCircleDistanceKm",CA,[hA,hA]],["greatCircleDistanceRads",CA,[hA,hA]],["cellAreaM2",bA,[dA,xA,hA]],["cellAreaKm2",bA,[dA,xA,hA]],["cellAreaRads2",bA,[dA,xA,hA]],["edgeLengthM",bA,[dA,xA,hA]],["edgeLengthKm",bA,[dA,xA,hA]],["edgeLengthRads",bA,[dA,xA,hA]],["getNumCells",bA,[r0,hA]],["getRes0Cells",bA,[hA]],["res0CellCount",CA],["getPentagons",bA,[CA,hA]],["pentagonCount",CA],["cellToVertex",bA,[dA,xA,CA,hA]],["cellToVertexes",bA,[dA,xA,hA]],["vertexToLatLng",bA,[dA,xA,hA]],["isValidVertex",_e,[dA,xA]]],j0={};Fn.forEach(function(o){j0[o[0]]=Je.cwrap.apply(Je,o)}),j0.sizeOfH3Index(),j0.sizeOfLatLng(),j0.sizeOfCellBoundary(),j0.sizeOfGeoPolygon(),j0.sizeOfGeoLoop(),j0.sizeOfLinkedGeoPolygon(),j0.sizeOfCoordIJ();class Nn{add(o,h,c){if(typeof arguments[0]!="string")for(let w in arguments[0])this.add(w,arguments[0][w],arguments[1]);else(Array.isArray(o)?o:[o]).forEach(function(w){this[w]=this[w]||[],h&&this[w][c?"unshift":"push"](h)},this)}run(o,h){this[o]=this[o]||[],this[o].forEach(function(c){c.call(h&&h.context?h.context:h,h)})}}class Gn{constructor(o){this.jsep=o,this.registered={}}register(...o){o.forEach(h=>{if(typeof h!="object"||!h.name||!h.init)throw new Error("Invalid JSEP plugin format");this.registered[h.name]||(h.init(this.jsep),this.registered[h.name]=h)})}}class X{static get version(){return"1.4.0"}static toString(){return"JavaScript Expression Parser (JSEP) v"+X.version}static addUnaryOp(o){return X.max_unop_len=Math.max(o.length,X.max_unop_len),X.unary_ops[o]=1,X}static addBinaryOp(o,h,c){return X.max_binop_len=Math.max(o.length,X.max_binop_len),X.binary_ops[o]=h,c?X.right_associative.add(o):X.right_associative.delete(o),X}static addIdentifierChar(o){return X.additional_identifier_chars.add(o),X}static addLiteral(o,h){return X.literals[o]=h,X}static removeUnaryOp(o){return delete X.unary_ops[o],o.length===X.max_unop_len&&(X.max_unop_len=X.getMaxKeyLen(X.unary_ops)),X}static removeAllUnaryOps(){return X.unary_ops={},X.max_unop_len=0,X}static removeIdentifierChar(o){return X.additional_identifier_chars.delete(o),X}static removeBinaryOp(o){return delete X.binary_ops[o],o.length===X.max_binop_len&&(X.max_binop_len=X.getMaxKeyLen(X.binary_ops)),X.right_associative.delete(o),X}static removeAllBinaryOps(){return X.binary_ops={},X.max_binop_len=0,X}static removeLiteral(o){return delete X.literals[o],X}static removeAllLiterals(){return X.literals={},X}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(o){this.expr=o,this.index=0}static parse(o){return new X(o).parse()}static getMaxKeyLen(o){return Math.max(0,...Object.keys(o).map(h=>h.length))}static isDecimalDigit(o){return o>=48&&o<=57}static binaryPrecedence(o){return X.binary_ops[o]||0}static isIdentifierStart(o){return o>=65&&o<=90||o>=97&&o<=122||o>=128&&!X.binary_ops[String.fromCharCode(o)]||X.additional_identifier_chars.has(String.fromCharCode(o))}static isIdentifierPart(o){return X.isIdentifierStart(o)||X.isDecimalDigit(o)}throwError(o){const h=new Error(o+" at character "+this.index);throw h.index=this.index,h.description=o,h}runHook(o,h){if(X.hooks[o]){const c={context:this,node:h};return X.hooks.run(o,c),c.node}return h}searchHook(o){if(X.hooks[o]){const h={context:this};return X.hooks[o].find(function(c){return c.call(h.context,h),h.node}),h.node}}gobbleSpaces(){let o=this.code;for(;o===X.SPACE_CODE||o===X.TAB_CODE||o===X.LF_CODE||o===X.CR_CODE;)o=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");const o=this.gobbleExpressions(),h=o.length===1?o[0]:{type:X.COMPOUND,body:o};return this.runHook("after-all",h)}gobbleExpressions(o){let h=[],c,w;for(;this.index<this.expr.length;)if(c=this.code,c===X.SEMCOL_CODE||c===X.COMMA_CODE)this.index++;else if(w=this.gobbleExpression())h.push(w);else if(this.index<this.expr.length){if(c===o)break;this.throwError(\'Unexpected "\'+this.char+\'"\')}return h}gobbleExpression(){const o=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",o)}gobbleBinaryOp(){this.gobbleSpaces();let o=this.expr.substr(this.index,X.max_binop_len),h=o.length;for(;h>0;){if(X.binary_ops.hasOwnProperty(o)&&(!X.isIdentifierStart(this.code)||this.index+o.length<this.expr.length&&!X.isIdentifierPart(this.expr.charCodeAt(this.index+o.length))))return this.index+=h,o;o=o.substr(0,--h)}return!1}gobbleBinaryExpression(){let o,h,c,w,m,k,C,_,P;if(k=this.gobbleToken(),!k||(h=this.gobbleBinaryOp(),!h))return k;for(m={value:h,prec:X.binaryPrecedence(h),right_a:X.right_associative.has(h)},C=this.gobbleToken(),C||this.throwError("Expected expression after "+h),w=[k,m,C];h=this.gobbleBinaryOp();){if(c=X.binaryPrecedence(h),c===0){this.index-=h.length;break}m={value:h,prec:c,right_a:X.right_associative.has(h)},P=h;const Y=O=>m.right_a&&O.right_a?c>O.prec:c<=O.prec;for(;w.length>2&&Y(w[w.length-2]);)C=w.pop(),h=w.pop().value,k=w.pop(),o={type:X.BINARY_EXP,operator:h,left:k,right:C},w.push(o);o=this.gobbleToken(),o||this.throwError("Expected expression after "+P),w.push(m,o)}for(_=w.length-1,o=w[_];_>1;)o={type:X.BINARY_EXP,operator:w[_-1].value,left:w[_-2],right:o},_-=2;return o}gobbleToken(){let o,h,c,w;if(this.gobbleSpaces(),w=this.searchHook("gobble-token"),w)return this.runHook("after-token",w);if(o=this.code,X.isDecimalDigit(o)||o===X.PERIOD_CODE)return this.gobbleNumericLiteral();if(o===X.SQUOTE_CODE||o===X.DQUOTE_CODE)w=this.gobbleStringLiteral();else if(o===X.OBRACK_CODE)w=this.gobbleArray();else{for(h=this.expr.substr(this.index,X.max_unop_len),c=h.length;c>0;){if(X.unary_ops.hasOwnProperty(h)&&(!X.isIdentifierStart(this.code)||this.index+h.length<this.expr.length&&!X.isIdentifierPart(this.expr.charCodeAt(this.index+h.length)))){this.index+=c;const m=this.gobbleToken();return m||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:X.UNARY_EXP,operator:h,argument:m,prefix:!0})}h=h.substr(0,--c)}X.isIdentifierStart(o)?(w=this.gobbleIdentifier(),X.literals.hasOwnProperty(w.name)?w={type:X.LITERAL,value:X.literals[w.name],raw:w.name}:w.name===X.this_str&&(w={type:X.THIS_EXP})):o===X.OPAREN_CODE&&(w=this.gobbleGroup())}return w?(w=this.gobbleTokenProperty(w),this.runHook("after-token",w)):this.runHook("after-token",!1)}gobbleTokenProperty(o){this.gobbleSpaces();let h=this.code;for(;h===X.PERIOD_CODE||h===X.OBRACK_CODE||h===X.OPAREN_CODE||h===X.QUMARK_CODE;){let c;if(h===X.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==X.PERIOD_CODE)break;c=!0,this.index+=2,this.gobbleSpaces(),h=this.code}this.index++,h===X.OBRACK_CODE?(o={type:X.MEMBER_EXP,computed:!0,object:o,property:this.gobbleExpression()},o.property||this.throwError(\'Unexpected "\'+this.char+\'"\'),this.gobbleSpaces(),h=this.code,h!==X.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):h===X.OPAREN_CODE?o={type:X.CALL_EXP,arguments:this.gobbleArguments(X.CPAREN_CODE),callee:o}:(h===X.PERIOD_CODE||c)&&(c&&this.index--,this.gobbleSpaces(),o={type:X.MEMBER_EXP,computed:!1,object:o,property:this.gobbleIdentifier()}),c&&(o.optional=!0),this.gobbleSpaces(),h=this.code}return o}gobbleNumericLiteral(){let o="",h,c;for(;X.isDecimalDigit(this.code);)o+=this.expr.charAt(this.index++);if(this.code===X.PERIOD_CODE)for(o+=this.expr.charAt(this.index++);X.isDecimalDigit(this.code);)o+=this.expr.charAt(this.index++);if(h=this.char,h==="e"||h==="E"){for(o+=this.expr.charAt(this.index++),h=this.char,(h==="+"||h==="-")&&(o+=this.expr.charAt(this.index++));X.isDecimalDigit(this.code);)o+=this.expr.charAt(this.index++);X.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+o+this.char+")")}return c=this.code,X.isIdentifierStart(c)?this.throwError("Variable names cannot start with a number ("+o+this.char+")"):(c===X.PERIOD_CODE||o.length===1&&o.charCodeAt(0)===X.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:X.LITERAL,value:parseFloat(o),raw:o}}gobbleStringLiteral(){let o="";const h=this.index,c=this.expr.charAt(this.index++);let w=!1;for(;this.index<this.expr.length;){let m=this.expr.charAt(this.index++);if(m===c){w=!0;break}else if(m==="\\\\")switch(m=this.expr.charAt(this.index++),m){case"n":o+=`\n`;break;case"r":o+="\\r";break;case"t":o+=" ";break;case"b":o+="\\b";break;case"f":o+="\\f";break;case"v":o+="\\v";break;default:o+=m}else o+=m}return w||this.throwError(\'Unclosed quote after "\'+o+\'"\'),{type:X.LITERAL,value:o,raw:this.expr.substring(h,this.index)}}gobbleIdentifier(){let o=this.code,h=this.index;for(X.isIdentifierStart(o)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length&&(o=this.code,X.isIdentifierPart(o));)this.index++;return{type:X.IDENTIFIER,name:this.expr.slice(h,this.index)}}gobbleArguments(o){const h=[];let c=!1,w=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let m=this.code;if(m===o){c=!0,this.index++,o===X.CPAREN_CODE&&w&&w>=h.length&&this.throwError("Unexpected token "+String.fromCharCode(o));break}else if(m===X.COMMA_CODE){if(this.index++,w++,w!==h.length){if(o===X.CPAREN_CODE)this.throwError("Unexpected token ,");else if(o===X.CBRACK_CODE)for(let k=h.length;k<w;k++)h.push(null)}}else if(h.length!==w&&w!==0)this.throwError("Expected comma");else{const k=this.gobbleExpression();(!k||k.type===X.COMPOUND)&&this.throwError("Expected comma"),h.push(k)}}return c||this.throwError("Expected "+String.fromCharCode(o)),h}gobbleGroup(){this.index++;let o=this.gobbleExpressions(X.CPAREN_CODE);if(this.code===X.CPAREN_CODE)return this.index++,o.length===1?o[0]:o.length?{type:X.SEQUENCE_EXP,expressions:o}:!1;this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:X.ARRAY_EXP,elements:this.gobbleArguments(X.CBRACK_CODE)}}}const Un=new Nn;Object.assign(X,{hooks:Un,plugins:new Gn(X),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"??":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10,"**":11},right_associative:new Set(["**"]),additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"}),X.max_unop_len=X.getMaxKeyLen(X.unary_ops),X.max_binop_len=X.getMaxKeyLen(X.binary_ops);const At=u=>new X(u).parse(),zn=Object.getOwnPropertyNames(class{});Object.getOwnPropertyNames(X).filter(u=>!zn.includes(u)&&At[u]===void 0).forEach(u=>{At[u]=X[u]}),At.Jsep=X;const Yn="ConditionalExpression";var jn={name:"ternary",init(u){u.hooks.add("after-expression",function(h){if(h.node&&this.code===u.QUMARK_CODE){this.index++;const c=h.node,w=this.gobbleExpression();if(w||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===u.COLON_CODE){this.index++;const m=this.gobbleExpression();if(m||this.throwError("Expected expression"),h.node={type:Yn,test:c,consequent:w,alternate:m},c.operator&&u.binary_ops[c.operator]<=.9){let k=c;for(;k.right.operator&&u.binary_ops[k.right.operator]<=.9;)k=k.right;h.node.test=k.right,k.right=h.node,h.node=c}}else this.throwError("Expected :")}})}};At.plugins.register(jn);function Hn(u){return Math.abs(u=Math.round(u))>=1e21?u.toLocaleString("en").replace(/,/g,""):u.toString(10)}function et(u,o){if((h=(u=o?u.toExponential(o-1):u.toExponential()).indexOf("e"))<0)return null;var h,c=u.slice(0,h);return[c.length>1?c[0]+c.slice(2):c,+u.slice(h+1)]}function Vn(u){return u=et(Math.abs(u)),u?u[1]:NaN}function Kn(u,o){return function(h,c){for(var w=h.length,m=[],k=0,C=u[0],_=0;w>0&&C>0&&(_+C+1>c&&(C=Math.max(1,c-_)),m.push(h.substring(w-=C,w+C)),!((_+=C+1)>c));)C=u[k=(k+1)%u.length];return m.reverse().join(o)}}function qn(u){return function(o){return o.replace(/[0-9]/g,function(h){return u[+h]})}}var Wn=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function Rt(u){if(!(o=Wn.exec(u)))throw new Error("invalid format: "+u);var o;return new Lt({fill:o[1],align:o[2],sign:o[3],symbol:o[4],zero:o[5],width:o[6],comma:o[7],precision:o[8]&&o[8].slice(1),trim:o[9],type:o[10]})}Rt.prototype=Lt.prototype;function Lt(u){this.fill=u.fill===void 0?" ":u.fill+"",this.align=u.align===void 0?">":u.align+"",this.sign=u.sign===void 0?"-":u.sign+"",this.symbol=u.symbol===void 0?"":u.symbol+"",this.zero=!!u.zero,this.width=u.width===void 0?void 0:+u.width,this.comma=!!u.comma,this.precision=u.precision===void 0?void 0:+u.precision,this.trim=!!u.trim,this.type=u.type===void 0?"":u.type+""}Lt.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Xn(u){A:for(var o=u.length,h=1,c=-1,w;h<o;++h)switch(u[h]){case".":c=w=h;break;case"0":c===0&&(c=h),w=h;break;default:if(!+u[h])break A;c>0&&(c=0);break}return c>0?u.slice(0,c)+u.slice(w+1):u}var Rr;function Zn(u,o){var h=et(u,o);if(!h)return u+"";var c=h[0],w=h[1],m=w-(Rr=Math.max(-8,Math.min(8,Math.floor(w/3)))*3)+1,k=c.length;return m===k?c:m>k?c+new Array(m-k+1).join("0"):m>0?c.slice(0,m)+"."+c.slice(m):"0."+new Array(1-m).join("0")+et(u,Math.max(0,o+m-1))[0]}function Lr(u,o){var h=et(u,o);if(!h)return u+"";var c=h[0],w=h[1];return w<0?"0."+new Array(-w).join("0")+c:c.length>w+1?c.slice(0,w+1)+"."+c.slice(w+1):c+new Array(w-c.length+2).join("0")}var Fr={"%":(u,o)=>(u*100).toFixed(o),b:u=>Math.round(u).toString(2),c:u=>u+"",d:Hn,e:(u,o)=>u.toExponential(o),f:(u,o)=>u.toFixed(o),g:(u,o)=>u.toPrecision(o),o:u=>Math.round(u).toString(8),p:(u,o)=>Lr(u*100,o),r:Lr,s:Zn,X:u=>Math.round(u).toString(16).toUpperCase(),x:u=>Math.round(u).toString(16)};function Nr(u){return u}var Gr=Array.prototype.map,Ur=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function $n(u){var o=u.grouping===void 0||u.thousands===void 0?Nr:Kn(Gr.call(u.grouping,Number),u.thousands+""),h=u.currency===void 0?"":u.currency[0]+"",c=u.currency===void 0?"":u.currency[1]+"",w=u.decimal===void 0?".":u.decimal+"",m=u.numerals===void 0?Nr:qn(Gr.call(u.numerals,String)),k=u.percent===void 0?"%":u.percent+"",C=u.minus===void 0?"−":u.minus+"",_=u.nan===void 0?"NaN":u.nan+"";function P(O){O=Rt(O);var q=O.fill,J=O.align,oA=O.sign,lA=O.symbol,gA=O.zero,aA=O.width,Z=O.comma,RA=O.precision,FA=O.trim,TA=O.type;TA==="n"?(Z=!0,TA="g"):Fr[TA]||(RA===void 0&&(RA=12),FA=!0,TA="g"),(gA||q==="0"&&J==="=")&&(gA=!0,q="0",J="=");var GA=lA==="$"?h:lA==="#"&&/[boxX]/.test(TA)?"0"+TA.toLowerCase():"",XA=lA==="$"?c:/[%p]/.test(TA)?k:"",B=Fr[TA],M=/[defgprs%]/.test(TA);RA=RA===void 0?6:/[gprs]/.test(TA)?Math.max(1,Math.min(21,RA)):Math.max(0,Math.min(20,RA));function Q(R){var I=GA,N=XA,V,L,U;if(TA==="c")N=B(R)+N,R="";else{R=+R;var H=R<0||1/R<0;if(R=isNaN(R)?_:B(Math.abs(R),RA),FA&&(R=Xn(R)),H&&+R==0&&oA!=="+"&&(H=!1),I=(H?oA==="("?oA:C:oA==="-"||oA==="("?"":oA)+I,N=(TA==="s"?Ur[8+Rr/3]:"")+N+(H&&oA==="("?")":""),M){for(V=-1,L=R.length;++V<L;)if(U=R.charCodeAt(V),48>U||U>57){N=(U===46?w+R.slice(V+1):R.slice(V))+N,R=R.slice(0,V);break}}}Z&&!gA&&(R=o(R,1/0));var j=I.length+R.length+N.length,$=j<aA?new Array(aA-j+1).join(q):"";switch(Z&&gA&&(R=o($+R,$.length?aA-N.length:1/0),$=""),J){case"<":R=I+R+N+$;break;case"=":R=I+$+R+N;break;case"^":R=$.slice(0,j=$.length>>1)+I+R+N+$.slice(j);break;default:R=$+I+R+N;break}return m(R)}return Q.toString=function(){return O+""},Q}function Y(O,q){var J=P((O=Rt(O),O.type="f",O)),oA=Math.max(-8,Math.min(8,Math.floor(Vn(q)/3)))*3,lA=Math.pow(10,-oA),gA=Ur[8+oA/3];return function(aA){return J(lA*aA)+gA}}return{format:P,formatPrefix:Y}}var tt,Ft;Jn({thousands:",",grouping:[3],currency:["$",""]});function Jn(u){return tt=$n(u),Ft=tt.format,tt.formatPrefix,tt}var As=Object.create,Nt=Object.defineProperty,es=Object.getOwnPropertyDescriptor,zr=Object.getOwnPropertyNames,ts=Object.getPrototypeOf,rs=Object.prototype.hasOwnProperty,is=(u,o,h)=>o in u?Nt(u,o,{enumerable:!0,configurable:!0,writable:!0,value:h}):u[o]=h,ns=(u,o)=>function(){return o||(0,u[zr(u)[0]])((o={exports:{}}).exports,o),o.exports},ss=(u,o,h,c)=>{if(o&&typeof o=="object"||typeof o=="function")for(let w of zr(o))!rs.call(u,w)&&w!==h&&Nt(u,w,{get:()=>o[w],enumerable:!(c=es(o,w))||c.enumerable});return u},os=(u,o,h)=>(h=u!=null?As(ts(u)):{},ss(Nt(h,"default",{value:u,enumerable:!0}),u)),pA=(u,o,h)=>is(u,typeof o!="symbol"?o+"":o,h),ls=ns({"node_modules/thenby/thenBy.module.js"(u,o){o.exports=(function(){function h(k){return k}function c(k){return typeof k=="string"?k.toLowerCase():k}function w(k,C){if(C=typeof C=="object"?C:{direction:C},typeof k!="function"){var _=k;k=function(J){return J[_]?J[_]:""}}if(k.length===1){var P=k,Y=C.ignoreCase?c:h,O=C.cmp||function(J,oA){return J<oA?-1:J>oA?1:0};k=function(J,oA){return O(Y(P(J)),Y(P(oA)))}}const q={"-1":"",desc:""};return C.direction in q?function(J,oA){return-k(J,oA)}:k}function m(k,C){var _=typeof this=="function"&&!this.firstBy?this:!1,P=w(k,C),Y=_?function(O,q){return _(O,q)||P(O,q)}:P;return Y.thenBy=m,Y}return m.firstBy=m,m})()}}),fs="deck-gl-carto";function Yr(){return fs}var Gt=(u=>(u.IN="in",u.BETWEEN="between",u.CLOSED_OPEN="closed_open",u.TIME="time",u.STRING_SEARCH="stringSearch",u))(Gt||{}),jr=(u=>(u.V1="v1",u.V2="v2",u.V3="v3",u))(jr||{}),us="https://gcp-us-east1.api.carto.com",ge={Count:"count",Custom:"custom"};function Hr(u){return u.map(o=>o[0]===void 0||o[0]===null?[Number.MIN_SAFE_INTEGER,o[1]]:o[1]===void 0||o[1]===null?[o[0],Number.MAX_SAFE_INTEGER]:o)}var hs={in:as,between:Vr,time:gs,closed_open:cs,stringSearch:ws};function as(u,o){return u.includes(o)}function Vr(u,o){const h=c=>{const[w,m]=c;return o>=w&&o<=m};return Hr(u).some(h)}function gs(u,o){const h=new Date(o).getTime();if(isFinite(h))return Vr(u,h);throw new Error("Column used to filter by time isn\'t well formatted.")}function cs(u,o){const h=c=>{const[w,m]=c;return o>=w&&o<m};return Hr(u).some(h)}function ws(u,o,h={}){const c=Kr(o,h),w=h.useRegExp?u:u.map(k=>{let C=Es(Kr(k,h));return h.mustStart&&(C=`^${C}`),h.mustEnd&&(C=`${C}$`),C}),m=new RegExp(w.join("|"),h.caseSensitive?"g":"gi");return!!c.match(m)}var ps=/[.*+?^${}()|[\\]\\\\]/g,ms=new RegExp("\\\\p{Diacritic}","gu");function Es(u){return u.replace(ps,"\\\\$&")}function Kr(u,o){let h=String(u);return o.keepSpecialCharacters||(h=h.normalize("NFD").replace(ms,"")),h}var ys={and:"every",or:"some"};function vs(u,o,h,c){const w=ys[c];return u[w](m=>{const k=o[m],C=Object.keys(k);return!h||h[m]===null||h[m]===void 0?!1:C.every(_=>{const P=hs[_];if(!P)throw new Error(`"${_}" filter is not implemented.`);return P(k[_].values,h[m],k[_].params)})})}function bs({filters:u={},type:o="boolean",filtersLogicalOperator:h="and"}){const c=Object.keys(u);return c.length?w=>{const m=w.properties||w,k=vs(c,u,m,h);return o==="number"?Number(k):k}:()=>o==="number"?1:!0}function ks(u,o,h){return Object.keys(o).length?u.filter(bs({filters:o,filtersLogicalOperator:h})):u}var Bs={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...Bs}},globalThis.mathgl.config;var Cs=/^-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?$/i,Ut=Math.ceil,k0=Math.floor,p0="[BigNumber Error] ",qr=p0+"Number primitive has more than 15 significant digits: ",_0=1e14,QA=14,zt=9007199254740991,Yt=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],H0=1e7,i0=1e9;function Wr(u){var o,h,c,w=Z.prototype={constructor:Z,toString:null,valueOf:null},m=new Z(1),k=20,C=4,_=-7,P=21,Y=-1e7,O=1e7,q=!1,J=1,oA=0,lA={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},gA="0123456789abcdefghijklmnopqrstuvwxyz",aA=!0;function Z(B,M){var Q,R,I,N,V,L,U,H,j=this;if(!(j instanceof Z))return new Z(B,M);if(M==null){if(B&&B._isBigNumber===!0){j.s=B.s,!B.c||B.e>O?j.c=j.e=null:B.e<Y?j.c=[j.e=0]:(j.e=B.e,j.c=B.c.slice());return}if((L=typeof B=="number")&&B*0==0){if(j.s=1/B<0?(B=-B,-1):1,B===~~B){for(N=0,V=B;V>=10;V/=10,N++);N>O?j.c=j.e=null:(j.e=N,j.c=[B]);return}H=String(B)}else{if(!Cs.test(H=String(B)))return c(j,H,L);j.s=H.charCodeAt(0)==45?(H=H.slice(1),-1):1}(N=H.indexOf("."))>-1&&(H=H.replace(".","")),(V=H.search(/e/i))>0?(N<0&&(N=V),N+=+H.slice(V+1),H=H.substring(0,V)):N<0&&(N=H.length)}else{if(A0(M,2,gA.length,"Base"),M==10&&aA)return j=new Z(B),GA(j,k+j.e+1,C);if(H=String(B),L=typeof B=="number"){if(B*0!=0)return c(j,H,L,M);if(j.s=1/B<0?(H=H.slice(1),-1):1,Z.DEBUG&&H.replace(/^0\\.0*|\\./,"").length>15)throw Error(qr+B)}else j.s=H.charCodeAt(0)===45?(H=H.slice(1),-1):1;for(Q=gA.slice(0,M),N=V=0,U=H.length;V<U;V++)if(Q.indexOf(R=H.charAt(V))<0){if(R=="."){if(V>N){N=U;continue}}else if(!I&&(H==H.toUpperCase()&&(H=H.toLowerCase())||H==H.toLowerCase()&&(H=H.toUpperCase()))){I=!0,V=-1,N=0;continue}return c(j,String(B),L,M)}L=!1,H=h(H,M,10,j.s),(N=H.indexOf("."))>-1?H=H.replace(".",""):N=H.length}for(V=0;H.charCodeAt(V)===48;V++);for(U=H.length;H.charCodeAt(--U)===48;);if(H=H.slice(V,++U)){if(U-=V,L&&Z.DEBUG&&U>15&&(B>zt||B!==k0(B)))throw Error(qr+j.s*B);if((N=N-V-1)>O)j.c=j.e=null;else if(N<Y)j.c=[j.e=0];else{if(j.e=N,j.c=[],V=(N+1)%QA,N<0&&(V+=QA),V<U){for(V&&j.c.push(+H.slice(0,V)),U-=QA;V<U;)j.c.push(+H.slice(V,V+=QA));V=QA-(H=H.slice(V)).length}else V-=U;for(;V--;H+="0");j.c.push(+H)}}else j.c=[j.e=0]}Z.clone=Wr,Z.ROUND_UP=0,Z.ROUND_DOWN=1,Z.ROUND_CEIL=2,Z.ROUND_FLOOR=3,Z.ROUND_HALF_UP=4,Z.ROUND_HALF_DOWN=5,Z.ROUND_HALF_EVEN=6,Z.ROUND_HALF_CEIL=7,Z.ROUND_HALF_FLOOR=8,Z.EUCLID=9,Z.config=Z.set=function(B){var M,Q;if(B!=null)if(typeof B=="object"){if(B.hasOwnProperty(M="DECIMAL_PLACES")&&(Q=B[M],A0(Q,0,i0,M),k=Q),B.hasOwnProperty(M="ROUNDING_MODE")&&(Q=B[M],A0(Q,0,8,M),C=Q),B.hasOwnProperty(M="EXPONENTIAL_AT")&&(Q=B[M],Q&&Q.pop?(A0(Q[0],-i0,0,M),A0(Q[1],0,i0,M),_=Q[0],P=Q[1]):(A0(Q,-i0,i0,M),_=-(P=Q<0?-Q:Q))),B.hasOwnProperty(M="RANGE"))if(Q=B[M],Q&&Q.pop)A0(Q[0],-i0,-1,M),A0(Q[1],1,i0,M),Y=Q[0],O=Q[1];else if(A0(Q,-i0,i0,M),Q)Y=-(O=Q<0?-Q:Q);else throw Error(p0+M+" cannot be zero: "+Q);if(B.hasOwnProperty(M="CRYPTO"))if(Q=B[M],Q===!!Q)if(Q)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))q=Q;else throw q=!Q,Error(p0+"crypto unavailable");else q=Q;else throw Error(p0+M+" not true or false: "+Q);if(B.hasOwnProperty(M="MODULO_MODE")&&(Q=B[M],A0(Q,0,9,M),J=Q),B.hasOwnProperty(M="POW_PRECISION")&&(Q=B[M],A0(Q,0,i0,M),oA=Q),B.hasOwnProperty(M="FORMAT"))if(Q=B[M],typeof Q=="object")lA=Q;else throw Error(p0+M+" not an object: "+Q);if(B.hasOwnProperty(M="ALPHABET"))if(Q=B[M],typeof Q=="string"&&!/^.?$|[+\\-.\\s]|(.).*\\1/.test(Q))aA=Q.slice(0,10)=="0123456789",gA=Q;else throw Error(p0+M+" invalid: "+Q)}else throw Error(p0+"Object expected: "+B);return{DECIMAL_PLACES:k,ROUNDING_MODE:C,EXPONENTIAL_AT:[_,P],RANGE:[Y,O],CRYPTO:q,MODULO_MODE:J,POW_PRECISION:oA,FORMAT:lA,ALPHABET:gA}},Z.isBigNumber=function(B){if(!B||B._isBigNumber!==!0)return!1;if(!Z.DEBUG)return!0;var M,Q,R=B.c,I=B.e,N=B.s;A:if({}.toString.call(R)=="[object Array]"){if((N===1||N===-1)&&I>=-i0&&I<=i0&&I===k0(I)){if(R[0]===0){if(I===0&&R.length===1)return!0;break A}if(M=(I+1)%QA,M<1&&(M+=QA),String(R[0]).length==M){for(M=0;M<R.length;M++)if(Q=R[M],Q<0||Q>=_0||Q!==k0(Q))break A;if(Q!==0)return!0}}}else if(R===null&&I===null&&(N===null||N===1||N===-1))return!0;throw Error(p0+"Invalid BigNumber: "+B)},Z.maximum=Z.max=function(){return FA(arguments,-1)},Z.minimum=Z.min=function(){return FA(arguments,1)},Z.random=(function(){var B=9007199254740992,M=Math.random()*B&2097151?function(){return k0(Math.random()*B)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(Q){var R,I,N,V,L,U=0,H=[],j=new Z(m);if(Q==null?Q=k:A0(Q,0,i0),V=Ut(Q/QA),q)if(crypto.getRandomValues){for(R=crypto.getRandomValues(new Uint32Array(V*=2));U<V;)L=R[U]*131072+(R[U+1]>>>11),L>=9e15?(I=crypto.getRandomValues(new Uint32Array(2)),R[U]=I[0],R[U+1]=I[1]):(H.push(L%1e14),U+=2);U=V/2}else if(crypto.randomBytes){for(R=crypto.randomBytes(V*=7);U<V;)L=(R[U]&31)*281474976710656+R[U+1]*1099511627776+R[U+2]*4294967296+R[U+3]*16777216+(R[U+4]<<16)+(R[U+5]<<8)+R[U+6],L>=9e15?crypto.randomBytes(7).copy(R,U):(H.push(L%1e14),U+=7);U=V/7}else throw q=!1,Error(p0+"crypto unavailable");if(!q)for(;U<V;)L=M(),L<9e15&&(H[U++]=L%1e14);for(V=H[--U],Q%=QA,V&&Q&&(L=Yt[QA-Q],H[U]=k0(V/L)*L);H[U]===0;H.pop(),U--);if(U<0)H=[N=0];else{for(N=-1;H[0]===0;H.splice(0,1),N-=QA);for(U=1,L=H[0];L>=10;L/=10,U++);U<QA&&(N-=QA-U)}return j.e=N,j.c=H,j}})(),Z.sum=function(){for(var B=1,M=arguments,Q=new Z(M[0]);B<M.length;)Q=Q.plus(M[B++]);return Q},h=(function(){var B="0123456789";function M(Q,R,I,N){for(var V,L=[0],U,H=0,j=Q.length;H<j;){for(U=L.length;U--;L[U]*=R);for(L[0]+=N.indexOf(Q.charAt(H++)),V=0;V<L.length;V++)L[V]>I-1&&(L[V+1]==null&&(L[V+1]=0),L[V+1]+=L[V]/I|0,L[V]%=I)}return L.reverse()}return function(Q,R,I,N,V){var L,U,H,j,$,mA,vA,NA,ZA=Q.indexOf("."),e0=k,UA=C;for(ZA>=0&&(j=oA,oA=0,Q=Q.replace(".",""),NA=new Z(R),mA=NA.pow(Q.length-ZA),oA=j,NA.c=M(F0(C0(mA.c),mA.e,"0"),10,I,B),NA.e=NA.c.length),vA=M(Q,R,I,V?(L=gA,B):(L=B,gA)),H=j=vA.length;vA[--j]==0;vA.pop());if(!vA[0])return L.charAt(0);if(ZA<0?--H:(mA.c=vA,mA.e=H,mA.s=N,mA=o(mA,NA,e0,UA,I),vA=mA.c,$=mA.r,H=mA.e),U=H+e0+1,ZA=vA[U],j=I/2,$=$||U<0||vA[U+1]!=null,$=UA<4?(ZA!=null||$)&&(UA==0||UA==(mA.s<0?3:2)):ZA>j||ZA==j&&(UA==4||$||UA==6&&vA[U-1]&1||UA==(mA.s<0?8:7)),U<1||!vA[0])Q=$?F0(L.charAt(1),-e0,L.charAt(0)):L.charAt(0);else{if(vA.length=U,$)for(--I;++vA[--U]>I;)vA[U]=0,U||(++H,vA=[1].concat(vA));for(j=vA.length;!vA[--j];);for(ZA=0,Q="";ZA<=j;Q+=L.charAt(vA[ZA++]));Q=F0(Q,H,L.charAt(0))}return Q}})(),o=(function(){function B(R,I,N){var V,L,U,H,j=0,$=R.length,mA=I%H0,vA=I/H0|0;for(R=R.slice();$--;)U=R[$]%H0,H=R[$]/H0|0,V=vA*U+H*mA,L=mA*U+V%H0*H0+j,j=(L/N|0)+(V/H0|0)+vA*H,R[$]=L%N;return j&&(R=[j].concat(R)),R}function M(R,I,N,V){var L,U;if(N!=V)U=N>V?1:-1;else for(L=U=0;L<N;L++)if(R[L]!=I[L]){U=R[L]>I[L]?1:-1;break}return U}function Q(R,I,N,V){for(var L=0;N--;)R[N]-=L,L=R[N]<I[N]?1:0,R[N]=L*V+R[N]-I[N];for(;!R[0]&&R.length>1;R.splice(0,1));}return function(R,I,N,V,L){var U,H,j,$,mA,vA,NA,ZA,e0,UA,HA,n0,ye,Ue,ze,d0,se,E0=R.s==I.s?1:-1,f0=R.c,JA=I.c;if(!f0||!f0[0]||!JA||!JA[0])return new Z(!R.s||!I.s||(f0?JA&&f0[0]==JA[0]:!JA)?NaN:f0&&f0[0]==0||!JA?E0*0:E0/0);for(ZA=new Z(E0),e0=ZA.c=[],H=R.e-I.e,E0=N+H+1,L||(L=_0,H=B0(R.e/QA)-B0(I.e/QA),E0=E0/QA|0),j=0;JA[j]==(f0[j]||0);j++);if(JA[j]>(f0[j]||0)&&H--,E0<0)e0.push(1),$=!0;else{for(Ue=f0.length,d0=JA.length,j=0,E0+=2,mA=k0(L/(JA[0]+1)),mA>1&&(JA=B(JA,mA,L),f0=B(f0,mA,L),d0=JA.length,Ue=f0.length),ye=d0,UA=f0.slice(0,d0),HA=UA.length;HA<d0;UA[HA++]=0);se=JA.slice(),se=[0].concat(se),ze=JA[0],JA[1]>=L/2&&ze++;do{if(mA=0,U=M(JA,UA,d0,HA),U<0){if(n0=UA[0],d0!=HA&&(n0=n0*L+(UA[1]||0)),mA=k0(n0/ze),mA>1)for(mA>=L&&(mA=L-1),vA=B(JA,mA,L),NA=vA.length,HA=UA.length;M(vA,UA,NA,HA)==1;)mA--,Q(vA,d0<NA?se:JA,NA,L),NA=vA.length,U=1;else mA==0&&(U=mA=1),vA=JA.slice(),NA=vA.length;if(NA<HA&&(vA=[0].concat(vA)),Q(UA,vA,HA,L),HA=UA.length,U==-1)for(;M(JA,UA,d0,HA)<1;)mA++,Q(UA,d0<HA?se:JA,HA,L),HA=UA.length}else U===0&&(mA++,UA=[0]);e0[j++]=mA,UA[0]?UA[HA++]=f0[ye]||0:(UA=[f0[ye]],HA=1)}while((ye++<Ue||UA[0]!=null)&&E0--);$=UA[0]!=null,e0[0]||e0.splice(0,1)}if(L==_0){for(j=1,E0=e0[0];E0>=10;E0/=10,j++);GA(ZA,N+(ZA.e=j+H*QA-1)+1,V,$)}else ZA.e=H,ZA.r=+$;return ZA}})();function RA(B,M,Q,R){var I,N,V,L,U;if(Q==null?Q=C:A0(Q,0,8),!B.c)return B.toString();if(I=B.c[0],V=B.e,M==null)U=C0(B.c),U=R==1||R==2&&(V<=_||V>=P)?it(U,V):F0(U,V,"0");else if(B=GA(new Z(B),M,Q),N=B.e,U=C0(B.c),L=U.length,R==1||R==2&&(M<=N||N<=_)){for(;L<M;U+="0",L++);U=it(U,N)}else if(M-=V,U=F0(U,N,"0"),N+1>L){if(--M>0)for(U+=".";M--;U+="0");}else if(M+=N-L,M>0)for(N+1==L&&(U+=".");M--;U+="0");return B.s<0&&I?"-"+U:U}function FA(B,M){for(var Q,R,I=1,N=new Z(B[0]);I<B.length;I++)R=new Z(B[I]),(!R.s||(Q=te(N,R))===M||Q===0&&N.s===M)&&(N=R);return N}function TA(B,M,Q){for(var R=1,I=M.length;!M[--I];M.pop());for(I=M[0];I>=10;I/=10,R++);return(Q=R+Q*QA-1)>O?B.c=B.e=null:Q<Y?B.c=[B.e=0]:(B.e=Q,B.c=M),B}c=(function(){var B=/^(-?)0([xbo])(?=\\w[\\w.]*$)/i,M=/^([^.]+)\\.$/,Q=/^\\.([^.]+)$/,R=/^-?(Infinity|NaN)$/,I=/^\\s*\\+(?=[\\w.])|^\\s+|\\s+$/g;return function(N,V,L,U){var H,j=L?V:V.replace(I,"");if(R.test(j))N.s=isNaN(j)?null:j<0?-1:1;else{if(!L&&(j=j.replace(B,function($,mA,vA){return H=(vA=vA.toLowerCase())=="x"?16:vA=="b"?2:8,!U||U==H?mA:$}),U&&(H=U,j=j.replace(M,"$1").replace(Q,"0.$1")),V!=j))return new Z(j,H);if(Z.DEBUG)throw Error(p0+"Not a"+(U?" base "+U:"")+" number: "+V);N.s=null}N.c=N.e=null}})();function GA(B,M,Q,R){var I,N,V,L,U,H,j,$=B.c,mA=Yt;if($){A:{for(I=1,L=$[0];L>=10;L/=10,I++);if(N=M-I,N<0)N+=QA,V=M,U=$[H=0],j=k0(U/mA[I-V-1]%10);else if(H=Ut((N+1)/QA),H>=$.length)if(R){for(;$.length<=H;$.push(0));U=j=0,I=1,N%=QA,V=N-QA+1}else break A;else{for(U=L=$[H],I=1;L>=10;L/=10,I++);N%=QA,V=N-QA+I,j=V<0?0:k0(U/mA[I-V-1]%10)}if(R=R||M<0||$[H+1]!=null||(V<0?U:U%mA[I-V-1]),R=Q<4?(j||R)&&(Q==0||Q==(B.s<0?3:2)):j>5||j==5&&(Q==4||R||Q==6&&(N>0?V>0?U/mA[I-V]:0:$[H-1])%10&1||Q==(B.s<0?8:7)),M<1||!$[0])return $.length=0,R?(M-=B.e+1,$[0]=mA[(QA-M%QA)%QA],B.e=-M||0):$[0]=B.e=0,B;if(N==0?($.length=H,L=1,H--):($.length=H+1,L=mA[QA-N],$[H]=V>0?k0(U/mA[I-V]%mA[V])*L:0),R)for(;;)if(H==0){for(N=1,V=$[0];V>=10;V/=10,N++);for(V=$[0]+=L,L=1;V>=10;V/=10,L++);N!=L&&(B.e++,$[0]==_0&&($[0]=1));break}else{if($[H]+=L,$[H]!=_0)break;$[H--]=0,L=1}for(N=$.length;$[--N]===0;$.pop());}B.e>O?B.c=B.e=null:B.e<Y&&(B.c=[B.e=0])}return B}function XA(B){var M,Q=B.e;return Q===null?B.toString():(M=C0(B.c),M=Q<=_||Q>=P?it(M,Q):F0(M,Q,"0"),B.s<0?"-"+M:M)}return w.absoluteValue=w.abs=function(){var B=new Z(this);return B.s<0&&(B.s=1),B},w.comparedTo=function(B,M){return te(this,new Z(B,M))},w.decimalPlaces=w.dp=function(B,M){var Q,R,I,N=this;if(B!=null)return A0(B,0,i0),M==null?M=C:A0(M,0,8),GA(new Z(N),B+N.e+1,M);if(!(Q=N.c))return null;if(R=((I=Q.length-1)-B0(this.e/QA))*QA,I=Q[I])for(;I%10==0;I/=10,R--);return R<0&&(R=0),R},w.dividedBy=w.div=function(B,M){return o(this,new Z(B,M),k,C)},w.dividedToIntegerBy=w.idiv=function(B,M){return o(this,new Z(B,M),0,1)},w.exponentiatedBy=w.pow=function(B,M){var Q,R,I,N,V,L,U,H,j,$=this;if(B=new Z(B),B.c&&!B.isInteger())throw Error(p0+"Exponent not an integer: "+XA(B));if(M!=null&&(M=new Z(M)),L=B.e>14,!$.c||!$.c[0]||$.c[0]==1&&!$.e&&$.c.length==1||!B.c||!B.c[0])return j=new Z(Math.pow(+XA($),L?B.s*(2-rt(B)):+XA(B))),M?j.mod(M):j;if(U=B.s<0,M){if(M.c?!M.c[0]:!M.s)return new Z(NaN);R=!U&&$.isInteger()&&M.isInteger(),R&&($=$.mod(M))}else{if(B.e>9&&($.e>0||$.e<-1||($.e==0?$.c[0]>1||L&&$.c[1]>=24e7:$.c[0]<8e13||L&&$.c[0]<=9999975e7)))return N=$.s<0&&rt(B)?-0:0,$.e>-1&&(N=1/N),new Z(U?1/N:N);oA&&(N=Ut(oA/QA+2))}for(L?(Q=new Z(.5),U&&(B.s=1),H=rt(B)):(I=Math.abs(+XA(B)),H=I%2),j=new Z(m);;){if(H){if(j=j.times($),!j.c)break;N?j.c.length>N&&(j.c.length=N):R&&(j=j.mod(M))}if(I){if(I=k0(I/2),I===0)break;H=I%2}else if(B=B.times(Q),GA(B,B.e+1,1),B.e>14)H=rt(B);else{if(I=+XA(B),I===0)break;H=I%2}$=$.times($),N?$.c&&$.c.length>N&&($.c.length=N):R&&($=$.mod(M))}return R?j:(U&&(j=m.div(j)),M?j.mod(M):N?GA(j,oA,C,V):j)},w.integerValue=function(B){var M=new Z(this);return B==null?B=C:A0(B,0,8),GA(M,M.e+1,B)},w.isEqualTo=w.eq=function(B,M){return te(this,new Z(B,M))===0},w.isFinite=function(){return!!this.c},w.isGreaterThan=w.gt=function(B,M){return te(this,new Z(B,M))>0},w.isGreaterThanOrEqualTo=w.gte=function(B,M){return(M=te(this,new Z(B,M)))===1||M===0},w.isInteger=function(){return!!this.c&&B0(this.e/QA)>this.c.length-2},w.isLessThan=w.lt=function(B,M){return te(this,new Z(B,M))<0},w.isLessThanOrEqualTo=w.lte=function(B,M){return(M=te(this,new Z(B,M)))===-1||M===0},w.isNaN=function(){return!this.s},w.isNegative=function(){return this.s<0},w.isPositive=function(){return this.s>0},w.isZero=function(){return!!this.c&&this.c[0]==0},w.minus=function(B,M){var Q,R,I,N,V=this,L=V.s;if(B=new Z(B,M),M=B.s,!L||!M)return new Z(NaN);if(L!=M)return B.s=-M,V.plus(B);var U=V.e/QA,H=B.e/QA,j=V.c,$=B.c;if(!U||!H){if(!j||!$)return j?(B.s=-M,B):new Z($?V:NaN);if(!j[0]||!$[0])return $[0]?(B.s=-M,B):new Z(j[0]?V:C==3?-0:0)}if(U=B0(U),H=B0(H),j=j.slice(),L=U-H){for((N=L<0)?(L=-L,I=j):(H=U,I=$),I.reverse(),M=L;M--;I.push(0));I.reverse()}else for(R=(N=(L=j.length)<(M=$.length))?L:M,L=M=0;M<R;M++)if(j[M]!=$[M]){N=j[M]<$[M];break}if(N&&(I=j,j=$,$=I,B.s=-B.s),M=(R=$.length)-(Q=j.length),M>0)for(;M--;j[Q++]=0);for(M=_0-1;R>L;){if(j[--R]<$[R]){for(Q=R;Q&&!j[--Q];j[Q]=M);--j[Q],j[R]+=_0}j[R]-=$[R]}for(;j[0]==0;j.splice(0,1),--H);return j[0]?TA(B,j,H):(B.s=C==3?-1:1,B.c=[B.e=0],B)},w.modulo=w.mod=function(B,M){var Q,R,I=this;return B=new Z(B,M),!I.c||!B.s||B.c&&!B.c[0]?new Z(NaN):!B.c||I.c&&!I.c[0]?new Z(I):(J==9?(R=B.s,B.s=1,Q=o(I,B,0,3),B.s=R,Q.s*=R):Q=o(I,B,0,J),B=I.minus(Q.times(B)),!B.c[0]&&J==1&&(B.s=I.s),B)},w.multipliedBy=w.times=function(B,M){var Q,R,I,N,V,L,U,H,j,$,mA,vA,NA,ZA,e0,UA=this,HA=UA.c,n0=(B=new Z(B,M)).c;if(!HA||!n0||!HA[0]||!n0[0])return!UA.s||!B.s||HA&&!HA[0]&&!n0||n0&&!n0[0]&&!HA?B.c=B.e=B.s=null:(B.s*=UA.s,!HA||!n0?B.c=B.e=null:(B.c=[0],B.e=0)),B;for(R=B0(UA.e/QA)+B0(B.e/QA),B.s*=UA.s,U=HA.length,$=n0.length,U<$&&(NA=HA,HA=n0,n0=NA,I=U,U=$,$=I),I=U+$,NA=[];I--;NA.push(0));for(ZA=_0,e0=H0,I=$;--I>=0;){for(Q=0,mA=n0[I]%e0,vA=n0[I]/e0|0,V=U,N=I+V;N>I;)H=HA[--V]%e0,j=HA[V]/e0|0,L=vA*H+j*mA,H=mA*H+L%e0*e0+NA[N]+Q,Q=(H/ZA|0)+(L/e0|0)+vA*j,NA[N--]=H%ZA;NA[N]=Q}return Q?++R:NA.splice(0,1),TA(B,NA,R)},w.negated=function(){var B=new Z(this);return B.s=-B.s||null,B},w.plus=function(B,M){var Q,R=this,I=R.s;if(B=new Z(B,M),M=B.s,!I||!M)return new Z(NaN);if(I!=M)return B.s=-M,R.minus(B);var N=R.e/QA,V=B.e/QA,L=R.c,U=B.c;if(!N||!V){if(!L||!U)return new Z(I/0);if(!L[0]||!U[0])return U[0]?B:new Z(L[0]?R:I*0)}if(N=B0(N),V=B0(V),L=L.slice(),I=N-V){for(I>0?(V=N,Q=U):(I=-I,Q=L),Q.reverse();I--;Q.push(0));Q.reverse()}for(I=L.length,M=U.length,I-M<0&&(Q=U,U=L,L=Q,M=I),I=0;M;)I=(L[--M]=L[M]+U[M]+I)/_0|0,L[M]=_0===L[M]?0:L[M]%_0;return I&&(L=[I].concat(L),++V),TA(B,L,V)},w.precision=w.sd=function(B,M){var Q,R,I,N=this;if(B!=null&&B!==!!B)return A0(B,1,i0),M==null?M=C:A0(M,0,8),GA(new Z(N),B,M);if(!(Q=N.c))return null;if(I=Q.length-1,R=I*QA+1,I=Q[I]){for(;I%10==0;I/=10,R--);for(I=Q[0];I>=10;I/=10,R++);}return B&&N.e+1>R&&(R=N.e+1),R},w.shiftedBy=function(B){return A0(B,-zt,zt),this.times("1e"+B)},w.squareRoot=w.sqrt=function(){var B,M,Q,R,I,N=this,V=N.c,L=N.s,U=N.e,H=k+4,j=new Z("0.5");if(L!==1||!V||!V[0])return new Z(!L||L<0&&(!V||V[0])?NaN:V?N:1/0);if(L=Math.sqrt(+XA(N)),L==0||L==1/0?(M=C0(V),(M.length+U)%2==0&&(M+="0"),L=Math.sqrt(+M),U=B0((U+1)/2)-(U<0||U%2),L==1/0?M="5e"+U:(M=L.toExponential(),M=M.slice(0,M.indexOf("e")+1)+U),Q=new Z(M)):Q=new Z(L+""),Q.c[0]){for(U=Q.e,L=U+H,L<3&&(L=0);;)if(I=Q,Q=j.times(I.plus(o(N,I,H,1))),C0(I.c).slice(0,L)===(M=C0(Q.c)).slice(0,L))if(Q.e<U&&--L,M=M.slice(L-3,L+1),M=="9999"||!R&&M=="4999"){if(!R&&(GA(I,I.e+k+2,0),I.times(I).eq(N))){Q=I;break}H+=4,L+=4,R=1}else{(!+M||!+M.slice(1)&&M.charAt(0)=="5")&&(GA(Q,Q.e+k+2,1),B=!Q.times(Q).eq(N));break}}return GA(Q,Q.e+k+1,C,B)},w.toExponential=function(B,M){return B!=null&&(A0(B,0,i0),B++),RA(this,B,M,1)},w.toFixed=function(B,M){return B!=null&&(A0(B,0,i0),B=B+this.e+1),RA(this,B,M)},w.toFormat=function(B,M,Q){var R,I=this;if(Q==null)B!=null&&M&&typeof M=="object"?(Q=M,M=null):B&&typeof B=="object"?(Q=B,B=M=null):Q=lA;else if(typeof Q!="object")throw Error(p0+"Argument not an object: "+Q);if(R=I.toFixed(B,M),I.c){var N,V=R.split("."),L=+Q.groupSize,U=+Q.secondaryGroupSize,H=Q.groupSeparator||"",j=V[0],$=V[1],mA=I.s<0,vA=mA?j.slice(1):j,NA=vA.length;if(U&&(N=L,L=U,U=N,NA-=N),L>0&&NA>0){for(N=NA%L||L,j=vA.substr(0,N);N<NA;N+=L)j+=H+vA.substr(N,L);U>0&&(j+=H+vA.slice(N)),mA&&(j="-"+j)}R=$?j+(Q.decimalSeparator||"")+((U=+Q.fractionGroupSize)?$.replace(new RegExp("\\\\d{"+U+"}\\\\B","g"),"$&"+(Q.fractionGroupSeparator||"")):$):j}return(Q.prefix||"")+R+(Q.suffix||"")},w.toFraction=function(B){var M,Q,R,I,N,V,L,U,H,j,$,mA,vA=this,NA=vA.c;if(B!=null&&(L=new Z(B),!L.isInteger()&&(L.c||L.s!==1)||L.lt(m)))throw Error(p0+"Argument "+(L.isInteger()?"out of range: ":"not an integer: ")+XA(L));if(!NA)return new Z(vA);for(M=new Z(m),H=Q=new Z(m),R=U=new Z(m),mA=C0(NA),N=M.e=mA.length-vA.e-1,M.c[0]=Yt[(V=N%QA)<0?QA+V:V],B=!B||L.comparedTo(M)>0?N>0?M:H:L,V=O,O=1/0,L=new Z(mA),U.c[0]=0;j=o(L,M,0,1),I=Q.plus(j.times(R)),I.comparedTo(B)!=1;)Q=R,R=I,H=U.plus(j.times(I=H)),U=I,M=L.minus(j.times(I=M)),L=I;return I=o(B.minus(Q),R,0,1),U=U.plus(I.times(H)),Q=Q.plus(I.times(R)),U.s=H.s=vA.s,N=N*2,$=o(H,R,N,C).minus(vA).abs().comparedTo(o(U,Q,N,C).minus(vA).abs())<1?[H,R]:[U,Q],O=V,$},w.toNumber=function(){return+XA(this)},w.toPrecision=function(B,M){return B!=null&&A0(B,1,i0),RA(this,B,M,2)},w.toString=function(B){var M,Q=this,R=Q.s,I=Q.e;return I===null?R?(M="Infinity",R<0&&(M="-"+M)):M="NaN":(B==null?M=I<=_||I>=P?it(C0(Q.c),I):F0(C0(Q.c),I,"0"):B===10&&aA?(Q=GA(new Z(Q),k+I+1,C),M=F0(C0(Q.c),Q.e,"0")):(A0(B,2,gA.length,"Base"),M=h(F0(C0(Q.c),I,"0"),10,B,R,!0)),R<0&&Q.c[0]&&(M="-"+M)),M},w.valueOf=w.toJSON=function(){return XA(this)},w._isBigNumber=!0,w[Symbol.toStringTag]="BigNumber",w[Symbol.for("nodejs.util.inspect.custom")]=w.valueOf,u!=null&&Z.set(u),Z}function B0(u){var o=u|0;return u>0||u===o?o:o-1}function C0(u){for(var o,h,c=1,w=u.length,m=u[0]+"";c<w;){for(o=u[c++]+"",h=QA-o.length;h--;o="0"+o);m+=o}for(w=m.length;m.charCodeAt(--w)===48;);return m.slice(0,w+1||1)}function te(u,o){var h,c,w=u.c,m=o.c,k=u.s,C=o.s,_=u.e,P=o.e;if(!k||!C)return null;if(h=w&&!w[0],c=m&&!m[0],h||c)return h?c?0:-C:k;if(k!=C)return k;if(h=k<0,c=_==P,!w||!m)return c?0:!w^h?1:-1;if(!c)return _>P^h?1:-1;for(C=(_=w.length)<(P=m.length)?_:P,k=0;k<C;k++)if(w[k]!=m[k])return w[k]>m[k]^h?1:-1;return _==P?0:_>P^h?1:-1}function A0(u,o,h,c){if(u<o||u>h||u!==k0(u))throw Error(p0+(c||"Argument")+(typeof u=="number"?u<o||u>h?" out of range: ":" not an integer: ":" not a primitive number: ")+String(u))}function rt(u){var o=u.c.length-1;return B0(u.e/QA)==o&&u.c[o]%2!=0}function it(u,o){return(u.length>1?u.charAt(0)+"."+u.slice(1):u)+(o<0?"e":"e+")+o}function F0(u,o,h){var c,w;if(o<0){for(w=h+".";++o;w+=h);u=w+u}else if(c=u.length,++o>c){for(w=h,o-=c;--o;w+=h);u+=w}else o<c&&(u=u.slice(0,o)+"."+u.slice(o));return u}var ds=Wr(),S0=ds,xs=class{constructor(u){pA(this,"key"),pA(this,"left",null),pA(this,"right",null),this.key=u}},Qe=class extends xs{constructor(u){super(u)}},Ds=class{constructor(){pA(this,"size",0),pA(this,"modificationCount",0),pA(this,"splayCount",0)}splay(u){const o=this.root;if(o==null)return this.compare(u,u),-1;let h=null,c=null,w=null,m=null,k=o;const C=this.compare;let _;for(;;)if(_=C(k.key,u),_>0){let P=k.left;if(P==null||(_=C(P.key,u),_>0&&(k.left=P.right,P.right=k,k=P,P=k.left,P==null)))break;h==null?c=k:h.left=k,h=k,k=P}else if(_<0){let P=k.right;if(P==null||(_=C(P.key,u),_<0&&(k.right=P.left,P.left=k,k=P,P=k.right,P==null)))break;w==null?m=k:w.right=k,w=k,k=P}else break;return w!=null&&(w.right=k.left,k.left=m),h!=null&&(h.left=k.right,k.right=c),this.root!==k&&(this.root=k,this.splayCount++),_}splayMin(u){let o=u,h=o.left;for(;h!=null;){const c=h;o.left=c.right,c.right=o,o=c,h=o.left}return o}splayMax(u){let o=u,h=o.right;for(;h!=null;){const c=h;o.right=c.left,c.left=o,o=c,h=o.right}return o}_delete(u){if(this.root==null||this.splay(u)!=0)return null;let h=this.root;const c=h,w=h.left;if(this.size--,w==null)this.root=h.right;else{const m=h.right;h=this.splayMax(w),h.right=m,this.root=h}return this.modificationCount++,c}addNewRoot(u,o){this.size++,this.modificationCount++;const h=this.root;if(h==null){this.root=u;return}o<0?(u.left=h,u.right=h.right,h.right=null):(u.right=h,u.left=h.left,h.left=null),this.root=u}_first(){const u=this.root;return u==null?null:(this.root=this.splayMin(u),this.root)}_last(){const u=this.root;return u==null?null:(this.root=this.splayMax(u),this.root)}clear(){this.root=null,this.size=0,this.modificationCount++}has(u){return this.validKey(u)&&this.splay(u)==0}defaultCompare(){return(u,o)=>u<o?-1:u>o?1:0}wrap(){return{getRoot:()=>this.root,setRoot:u=>{this.root=u},getSize:()=>this.size,getModificationCount:()=>this.modificationCount,getSplayCount:()=>this.splayCount,setSplayCount:u=>{this.splayCount=u},splay:u=>this.splay(u),has:u=>this.has(u)}}},Xr,Zr,nt=class Ze extends Ds{constructor(o,h){super(),pA(this,"root",null),pA(this,"compare"),pA(this,"validKey"),pA(this,Xr,"[object Set]"),this.compare=o??this.defaultCompare(),this.validKey=h??(c=>c!=null&&c!=null)}delete(o){return this.validKey(o)?this._delete(o)!=null:!1}deleteAll(o){for(const h of o)this.delete(h)}forEach(o){const h=this[Symbol.iterator]();let c;for(;c=h.next(),!c.done;)o(c.value,c.value,this)}add(o){const h=this.splay(o);return h!=0&&this.addNewRoot(new Qe(o),h),this}addAndReturn(o){const h=this.splay(o);return h!=0&&this.addNewRoot(new Qe(o),h),this.root.key}addAll(o){for(const h of o)this.add(h)}isEmpty(){return this.root==null}isNotEmpty(){return this.root!=null}single(){if(this.size==0)throw"Bad state: No element";if(this.size>1)throw"Bad state: Too many element";return this.root.key}first(){if(this.size==0)throw"Bad state: No element";return this._first().key}last(){if(this.size==0)throw"Bad state: No element";return this._last().key}lastBefore(o){if(o==null)throw"Invalid arguments(s)";if(this.root==null)return null;if(this.splay(o)<0)return this.root.key;let c=this.root.left;if(c==null)return null;let w=c.right;for(;w!=null;)c=w,w=c.right;return c.key}firstAfter(o){if(o==null)throw"Invalid arguments(s)";if(this.root==null)return null;if(this.splay(o)>0)return this.root.key;let c=this.root.right;if(c==null)return null;let w=c.left;for(;w!=null;)c=w,w=c.left;return c.key}retainAll(o){const h=new Ze(this.compare,this.validKey),c=this.modificationCount;for(const w of o){if(c!=this.modificationCount)throw"Concurrent modification during iteration.";this.validKey(w)&&this.splay(w)==0&&h.add(this.root.key)}h.size!=this.size&&(this.root=h.root,this.size=h.size,this.modificationCount++)}lookup(o){return!this.validKey(o)||this.splay(o)!=0?null:this.root.key}intersection(o){const h=new Ze(this.compare,this.validKey);for(const c of this)o.has(c)&&h.add(c);return h}difference(o){const h=new Ze(this.compare,this.validKey);for(const c of this)o.has(c)||h.add(c);return h}union(o){const h=this.clone();return h.addAll(o),h}clone(){const o=new Ze(this.compare,this.validKey);return o.size=this.size,o.root=this.copyNode(this.root),o}copyNode(o){if(o==null)return null;function h(w,m){let k,C;do{if(k=w.left,C=w.right,k!=null){const _=new Qe(k.key);m.left=_,h(k,_)}if(C!=null){const _=new Qe(C.key);m.right=_,w=C,m=_}}while(C!=null)}const c=new Qe(o.key);return h(o,c),c}toSet(){return this.clone()}entries(){return new Ps(this.wrap())}keys(){return this[Symbol.iterator]()}values(){return this[Symbol.iterator]()}[(Zr=Symbol.iterator,Xr=Symbol.toStringTag,Zr)](){return new Ms(this.wrap())}},$r=class{constructor(u){pA(this,"tree"),pA(this,"path",new Array),pA(this,"modificationCount",null),pA(this,"splayCount"),this.tree=u,this.splayCount=u.getSplayCount()}[Symbol.iterator](){return this}next(){return this.moveNext()?{done:!1,value:this.current()}:{done:!0,value:null}}current(){if(!this.path.length)return null;const u=this.path[this.path.length-1];return this.getValue(u)}rebuildPath(u){this.path.splice(0,this.path.length),this.tree.splay(u),this.path.push(this.tree.getRoot()),this.splayCount=this.tree.getSplayCount()}findLeftMostDescendent(u){for(;u!=null;)this.path.push(u),u=u.left}moveNext(){if(this.modificationCount!=this.tree.getModificationCount()){if(this.modificationCount==null){this.modificationCount=this.tree.getModificationCount();let h=this.tree.getRoot();for(;h!=null;)this.path.push(h),h=h.left;return this.path.length>0}throw"Concurrent modification during iteration."}if(!this.path.length)return!1;this.splayCount!=this.tree.getSplayCount()&&this.rebuildPath(this.path[this.path.length-1].key);let u=this.path[this.path.length-1],o=u.right;if(o!=null){for(;o!=null;)this.path.push(o),o=o.left;return!0}for(this.path.pop();this.path.length&&this.path[this.path.length-1].right===u;)u=this.path.pop();return this.path.length>0}},Ms=class extends $r{getValue(u){return u.key}},Ps=class extends $r{getValue(u){return[u.key,u.key]}},Jr=u=>()=>u,jt=u=>{const o=u?(h,c)=>c.minus(h).abs().isLessThanOrEqualTo(u):Jr(!1);return(h,c)=>o(h,c)?0:h.comparedTo(c)};function _s(u){const o=u?(h,c,w,m,k)=>h.exponentiatedBy(2).isLessThanOrEqualTo(m.minus(c).exponentiatedBy(2).plus(k.minus(w).exponentiatedBy(2)).times(u)):Jr(!1);return(h,c,w)=>{const m=h.x,k=h.y,C=w.x,_=w.y,P=k.minus(_).times(c.x.minus(C)).minus(m.minus(C).times(c.y.minus(_)));return o(P,m,k,C,_)?0:P.comparedTo(0)}}var Qs=u=>u,Ss=u=>{if(u){const o=new nt(jt(u)),h=new nt(jt(u)),c=(m,k)=>k.addAndReturn(m),w=m=>({x:c(m.x,o),y:c(m.y,h)});return w({x:new S0(0),y:new S0(0)}),w}return Qs},Ht=u=>({set:o=>{N0=Ht(o)},reset:()=>Ht(u),compare:jt(u),snap:Ss(u),orient:_s(u)}),N0=Ht(),Se=(u,o)=>u.ll.x.isLessThanOrEqualTo(o.x)&&o.x.isLessThanOrEqualTo(u.ur.x)&&u.ll.y.isLessThanOrEqualTo(o.y)&&o.y.isLessThanOrEqualTo(u.ur.y),Vt=(u,o)=>{if(o.ur.x.isLessThan(u.ll.x)||u.ur.x.isLessThan(o.ll.x)||o.ur.y.isLessThan(u.ll.y)||u.ur.y.isLessThan(o.ll.y))return null;const h=u.ll.x.isLessThan(o.ll.x)?o.ll.x:u.ll.x,c=u.ur.x.isLessThan(o.ur.x)?u.ur.x:o.ur.x,w=u.ll.y.isLessThan(o.ll.y)?o.ll.y:u.ll.y,m=u.ur.y.isLessThan(o.ur.y)?u.ur.y:o.ur.y;return{ll:{x:h,y:w},ur:{x:c,y:m}}},st=(u,o)=>u.x.times(o.y).minus(u.y.times(o.x)),Ai=(u,o)=>u.x.times(o.x).plus(u.y.times(o.y)),ot=u=>Ai(u,u).sqrt(),Ts=(u,o,h)=>{const c={x:o.x.minus(u.x),y:o.y.minus(u.y)},w={x:h.x.minus(u.x),y:h.y.minus(u.y)};return st(w,c).div(ot(w)).div(ot(c))},Is=(u,o,h)=>{const c={x:o.x.minus(u.x),y:o.y.minus(u.y)},w={x:h.x.minus(u.x),y:h.y.minus(u.y)};return Ai(w,c).div(ot(w)).div(ot(c))},ei=(u,o,h)=>o.y.isZero()?null:{x:u.x.plus(o.x.div(o.y).times(h.minus(u.y))),y:h},ti=(u,o,h)=>o.x.isZero()?null:{x:h,y:u.y.plus(o.y.div(o.x).times(h.minus(u.x)))},Os=(u,o,h,c)=>{if(o.x.isZero())return ti(h,c,u.x);if(c.x.isZero())return ti(u,o,h.x);if(o.y.isZero())return ei(h,c,u.y);if(c.y.isZero())return ei(u,o,h.y);const w=st(o,c);if(w.isZero())return null;const m={x:h.x.minus(u.x),y:h.y.minus(u.y)},k=st(m,o).div(w),C=st(m,c).div(w),_=u.x.plus(C.times(o.x)),P=h.x.plus(k.times(c.x)),Y=u.y.plus(C.times(o.y)),O=h.y.plus(k.times(c.y)),q=_.plus(P).div(2),J=Y.plus(O).div(2);return{x:q,y:J}},T0=class On{constructor(o,h){pA(this,"point"),pA(this,"isLeft"),pA(this,"segment"),pA(this,"otherSE"),pA(this,"consumedBy"),o.events===void 0?o.events=[this]:o.events.push(this),this.point=o,this.isLeft=h}static compare(o,h){const c=On.comparePoints(o.point,h.point);return c!==0?c:(o.point!==h.point&&o.link(h),o.isLeft!==h.isLeft?o.isLeft?1:-1:lt.compare(o.segment,h.segment))}static comparePoints(o,h){return o.x.isLessThan(h.x)?-1:o.x.isGreaterThan(h.x)?1:o.y.isLessThan(h.y)?-1:o.y.isGreaterThan(h.y)?1:0}link(o){if(o.point===this.point)throw new Error("Tried to link already linked events");const h=o.point.events;for(let c=0,w=h.length;c<w;c++){const m=h[c];this.point.events.push(m),m.point=this.point}this.checkForConsuming()}checkForConsuming(){const o=this.point.events.length;for(let h=0;h<o;h++){const c=this.point.events[h];if(c.segment.consumedBy===void 0)for(let w=h+1;w<o;w++){const m=this.point.events[w];m.consumedBy===void 0&&c.otherSE.point.events===m.otherSE.point.events&&c.segment.consume(m.segment)}}}getAvailableLinkedEvents(){const o=[];for(let h=0,c=this.point.events.length;h<c;h++){const w=this.point.events[h];w!==this&&!w.segment.ringOut&&w.segment.isInResult()&&o.push(w)}return o}getLeftmostComparator(o){const h=new Map,c=w=>{const m=w.otherSE;h.set(w,{sine:Ts(this.point,o.point,m.point),cosine:Is(this.point,o.point,m.point)})};return(w,m)=>{h.has(w)||c(w),h.has(m)||c(m);const{sine:k,cosine:C}=h.get(w),{sine:_,cosine:P}=h.get(m);return k.isGreaterThanOrEqualTo(0)&&_.isGreaterThanOrEqualTo(0)?C.isLessThan(P)?1:C.isGreaterThan(P)?-1:0:k.isLessThan(0)&&_.isLessThan(0)?C.isLessThan(P)?-1:C.isGreaterThan(P)?1:0:_.isLessThan(k)?-1:_.isGreaterThan(k)?1:0}}},Rs=class Or{constructor(o){pA(this,"events"),pA(this,"poly"),pA(this,"_isExteriorRing"),pA(this,"_enclosingRing"),this.events=o;for(let h=0,c=o.length;h<c;h++)o[h].segment.ringOut=this;this.poly=null}static factory(o){const h=[];for(let c=0,w=o.length;c<w;c++){const m=o[c];if(!m.isInResult()||m.ringOut)continue;let k=null,C=m.leftSE,_=m.rightSE;const P=[C],Y=C.point,O=[];for(;k=C,C=_,P.push(C),C.point!==Y;)for(;;){const q=C.getAvailableLinkedEvents();if(q.length===0){const lA=P[0].point,gA=P[P.length-1].point;throw new Error(`Unable to complete output ring starting at [${lA.x}, ${lA.y}]. Last matching segment found ends at [${gA.x}, ${gA.y}].`)}if(q.length===1){_=q[0].otherSE;break}let J=null;for(let lA=0,gA=O.length;lA<gA;lA++)if(O[lA].point===C.point){J=lA;break}if(J!==null){const lA=O.splice(J)[0],gA=P.splice(lA.index);gA.unshift(gA[0].otherSE),h.push(new Or(gA.reverse()));continue}O.push({index:P.length,point:C.point});const oA=C.getLeftmostComparator(k);_=q.sort(oA)[0].otherSE;break}h.push(new Or(P))}return h}getGeom(){let o=this.events[0].point;const h=[o];for(let P=1,Y=this.events.length-1;P<Y;P++){const O=this.events[P].point,q=this.events[P+1].point;N0.orient(O,o,q)!==0&&(h.push(O),o=O)}if(h.length===1)return null;const c=h[0],w=h[1];N0.orient(c,o,w)===0&&h.shift(),h.push(h[0]);const m=this.isExteriorRing()?1:-1,k=this.isExteriorRing()?0:h.length-1,C=this.isExteriorRing()?h.length:-1,_=[];for(let P=k;P!=C;P+=m)_.push([h[P].x.toNumber(),h[P].y.toNumber()]);return _}isExteriorRing(){if(this._isExteriorRing===void 0){const o=this.enclosingRing();this._isExteriorRing=o?!o.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let o=this.events[0];for(let w=1,m=this.events.length;w<m;w++){const k=this.events[w];T0.compare(o,k)>0&&(o=k)}let h=o.segment.prevInResult(),c=h?h.prevInResult():null;for(;;){if(!h)return null;if(!c)return h.ringOut;if(c.ringOut!==h.ringOut)return c.ringOut?.enclosingRing()!==h.ringOut?h.ringOut:h.ringOut?.enclosingRing();h=c.prevInResult(),c=h?h.prevInResult():null}}},ri=class{constructor(u){pA(this,"exteriorRing"),pA(this,"interiorRings"),this.exteriorRing=u,u.poly=this,this.interiorRings=[]}addInterior(u){this.interiorRings.push(u),u.poly=this}getGeom(){const u=this.exteriorRing.getGeom();if(u===null)return null;const o=[u];for(let h=0,c=this.interiorRings.length;h<c;h++){const w=this.interiorRings[h].getGeom();w!==null&&o.push(w)}return o}},Ls=class{constructor(u){pA(this,"rings"),pA(this,"polys"),this.rings=u,this.polys=this._composePolys(u)}getGeom(){const u=[];for(let o=0,h=this.polys.length;o<h;o++){const c=this.polys[o].getGeom();c!==null&&u.push(c)}return u}_composePolys(u){const o=[];for(let h=0,c=u.length;h<c;h++){const w=u[h];if(!w.poly)if(w.isExteriorRing())o.push(new ri(w));else{const m=w.enclosingRing();m?.poly||o.push(new ri(m)),m?.poly?.addInterior(w)}}return o}},Fs=class{constructor(u,o=lt.compare){pA(this,"queue"),pA(this,"tree"),pA(this,"segments"),this.queue=u,this.tree=new nt(o),this.segments=[]}process(u){const o=u.segment,h=[];if(u.consumedBy)return u.isLeft?this.queue.delete(u.otherSE):this.tree.delete(o),h;u.isLeft&&this.tree.add(o);let c=o,w=o;do c=this.tree.lastBefore(c);while(c!=null&&c.consumedBy!=null);do w=this.tree.firstAfter(w);while(w!=null&&w.consumedBy!=null);if(u.isLeft){let m=null;if(c){const C=c.getIntersection(o);if(C!==null&&(o.isAnEndpoint(C)||(m=C),!c.isAnEndpoint(C))){const _=this._splitSafely(c,C);for(let P=0,Y=_.length;P<Y;P++)h.push(_[P])}}let k=null;if(w){const C=w.getIntersection(o);if(C!==null&&(o.isAnEndpoint(C)||(k=C),!w.isAnEndpoint(C))){const _=this._splitSafely(w,C);for(let P=0,Y=_.length;P<Y;P++)h.push(_[P])}}if(m!==null||k!==null){let C=null;m===null?C=k:k===null?C=m:C=T0.comparePoints(m,k)<=0?m:k,this.queue.delete(o.rightSE),h.push(o.rightSE);const _=o.split(C);for(let P=0,Y=_.length;P<Y;P++)h.push(_[P])}h.length>0?(this.tree.delete(o),h.push(u)):(this.segments.push(o),o.prev=c)}else{if(c&&w){const m=c.getIntersection(w);if(m!==null){if(!c.isAnEndpoint(m)){const k=this._splitSafely(c,m);for(let C=0,_=k.length;C<_;C++)h.push(k[C])}if(!w.isAnEndpoint(m)){const k=this._splitSafely(w,m);for(let C=0,_=k.length;C<_;C++)h.push(k[C])}}}this.tree.delete(o)}return h}_splitSafely(u,o){this.tree.delete(u);const h=u.rightSE;this.queue.delete(h);const c=u.split(o);return c.push(h),u.consumedBy===void 0&&this.tree.add(u),c}},Ns=class{constructor(){pA(this,"type"),pA(this,"numMultiPolys")}run(u,o,h){Te.type=u;const c=[new si(o,!0)];for(let P=0,Y=h.length;P<Y;P++)c.push(new si(h[P],!1));if(Te.numMultiPolys=c.length,Te.type==="difference"){const P=c[0];let Y=1;for(;Y<c.length;)Vt(c[Y].bbox,P.bbox)!==null?Y++:c.splice(Y,1)}if(Te.type==="intersection")for(let P=0,Y=c.length;P<Y;P++){const O=c[P];for(let q=P+1,J=c.length;q<J;q++)if(Vt(O.bbox,c[q].bbox)===null)return[]}const w=new nt(T0.compare);for(let P=0,Y=c.length;P<Y;P++){const O=c[P].getSweepEvents();for(let q=0,J=O.length;q<J;q++)w.add(O[q])}const m=new Fs(w);let k=null;for(w.size!=0&&(k=w.first(),w.delete(k));k;){const P=m.process(k);for(let Y=0,O=P.length;Y<O;Y++){const q=P[Y];q.consumedBy===void 0&&w.add(q)}w.size!=0?(k=w.first(),w.delete(k)):k=null}N0.reset();const C=Rs.factory(m.segments);return new Ls(C).getGeom()}},Te=new Ns,ii=Te,Gs=0,lt=class Ot{constructor(o,h,c,w){pA(this,"id"),pA(this,"leftSE"),pA(this,"rightSE"),pA(this,"rings"),pA(this,"windings"),pA(this,"ringOut"),pA(this,"consumedBy"),pA(this,"prev"),pA(this,"_prevInResult"),pA(this,"_beforeState"),pA(this,"_afterState"),pA(this,"_isInResult"),this.id=++Gs,this.leftSE=o,o.segment=this,o.otherSE=h,this.rightSE=h,h.segment=this,h.otherSE=o,this.rings=c,this.windings=w}static compare(o,h){const c=o.leftSE.point.x,w=h.leftSE.point.x,m=o.rightSE.point.x,k=h.rightSE.point.x;if(k.isLessThan(c))return 1;if(m.isLessThan(w))return-1;const C=o.leftSE.point.y,_=h.leftSE.point.y,P=o.rightSE.point.y,Y=h.rightSE.point.y;if(c.isLessThan(w)){if(_.isLessThan(C)&&_.isLessThan(P))return 1;if(_.isGreaterThan(C)&&_.isGreaterThan(P))return-1;const O=o.comparePoint(h.leftSE.point);if(O<0)return 1;if(O>0)return-1;const q=h.comparePoint(o.rightSE.point);return q!==0?q:-1}if(c.isGreaterThan(w)){if(C.isLessThan(_)&&C.isLessThan(Y))return-1;if(C.isGreaterThan(_)&&C.isGreaterThan(Y))return 1;const O=h.comparePoint(o.leftSE.point);if(O!==0)return O;const q=o.comparePoint(h.rightSE.point);return q<0?1:q>0?-1:1}if(C.isLessThan(_))return-1;if(C.isGreaterThan(_))return 1;if(m.isLessThan(k)){const O=h.comparePoint(o.rightSE.point);if(O!==0)return O}if(m.isGreaterThan(k)){const O=o.comparePoint(h.rightSE.point);if(O<0)return 1;if(O>0)return-1}if(!m.eq(k)){const O=P.minus(C),q=m.minus(c),J=Y.minus(_),oA=k.minus(w);if(O.isGreaterThan(q)&&J.isLessThan(oA))return 1;if(O.isLessThan(q)&&J.isGreaterThan(oA))return-1}return m.isGreaterThan(k)?1:m.isLessThan(k)||P.isLessThan(Y)?-1:P.isGreaterThan(Y)?1:o.id<h.id?-1:o.id>h.id?1:0}static fromRing(o,h,c){let w,m,k;const C=T0.comparePoints(o,h);if(C<0)w=o,m=h,k=1;else if(C>0)w=h,m=o,k=-1;else throw new Error(`Tried to create degenerate segment at [${o.x}, ${o.y}]`);const _=new T0(w,!0),P=new T0(m,!1);return new Ot(_,P,[c],[k])}replaceRightSE(o){this.rightSE=o,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){const o=this.leftSE.point.y,h=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:o.isLessThan(h)?o:h},ur:{x:this.rightSE.point.x,y:o.isGreaterThan(h)?o:h}}}vector(){return{x:this.rightSE.point.x.minus(this.leftSE.point.x),y:this.rightSE.point.y.minus(this.leftSE.point.y)}}isAnEndpoint(o){return o.x.eq(this.leftSE.point.x)&&o.y.eq(this.leftSE.point.y)||o.x.eq(this.rightSE.point.x)&&o.y.eq(this.rightSE.point.y)}comparePoint(o){return N0.orient(this.leftSE.point,o,this.rightSE.point)}getIntersection(o){const h=this.bbox(),c=o.bbox(),w=Vt(h,c);if(w===null)return null;const m=this.leftSE.point,k=this.rightSE.point,C=o.leftSE.point,_=o.rightSE.point,P=Se(h,C)&&this.comparePoint(C)===0,Y=Se(c,m)&&o.comparePoint(m)===0,O=Se(h,_)&&this.comparePoint(_)===0,q=Se(c,k)&&o.comparePoint(k)===0;if(Y&&P)return q&&!O?k:!q&&O?_:null;if(Y)return O&&m.x.eq(_.x)&&m.y.eq(_.y)?null:m;if(P)return q&&k.x.eq(C.x)&&k.y.eq(C.y)?null:C;if(q&&O)return null;if(q)return k;if(O)return _;const J=Os(m,this.vector(),C,o.vector());return J===null||!Se(w,J)?null:N0.snap(J)}split(o){const h=[],c=o.events!==void 0,w=new T0(o,!0),m=new T0(o,!1),k=this.rightSE;this.replaceRightSE(m),h.push(m),h.push(w);const C=new Ot(w,k,this.rings.slice(),this.windings.slice());return T0.comparePoints(C.leftSE.point,C.rightSE.point)>0&&C.swapEvents(),T0.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),c&&(w.checkForConsuming(),m.checkForConsuming()),h}swapEvents(){const o=this.rightSE;this.rightSE=this.leftSE,this.leftSE=o,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let h=0,c=this.windings.length;h<c;h++)this.windings[h]*=-1}consume(o){let h=this,c=o;for(;h.consumedBy;)h=h.consumedBy;for(;c.consumedBy;)c=c.consumedBy;const w=Ot.compare(h,c);if(w!==0){if(w>0){const m=h;h=c,c=m}if(h.prev===c){const m=h;h=c,c=m}for(let m=0,k=c.rings.length;m<k;m++){const C=c.rings[m],_=c.windings[m],P=h.rings.indexOf(C);P===-1?(h.rings.push(C),h.windings.push(_)):h.windings[P]+=_}c.rings=null,c.windings=null,c.consumedBy=h,c.leftSE.consumedBy=h.leftSE,c.rightSE.consumedBy=h.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{const o=this.prev.consumedBy||this.prev;this._beforeState=o.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;const o=this.beforeState();this._afterState={rings:o.rings.slice(0),windings:o.windings.slice(0),multiPolys:[]};const h=this._afterState.rings,c=this._afterState.windings,w=this._afterState.multiPolys;for(let C=0,_=this.rings.length;C<_;C++){const P=this.rings[C],Y=this.windings[C],O=h.indexOf(P);O===-1?(h.push(P),c.push(Y)):c[O]+=Y}const m=[],k=[];for(let C=0,_=h.length;C<_;C++){if(c[C]===0)continue;const P=h[C],Y=P.poly;if(k.indexOf(Y)===-1)if(P.isExterior)m.push(Y);else{k.indexOf(Y)===-1&&k.push(Y);const O=m.indexOf(P.poly);O!==-1&&m.splice(O,1)}}for(let C=0,_=m.length;C<_;C++){const P=m[C].multiPoly;w.indexOf(P)===-1&&w.push(P)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;const o=this.beforeState().multiPolys,h=this.afterState().multiPolys;switch(ii.type){case"union":{const c=o.length===0,w=h.length===0;this._isInResult=c!==w;break}case"intersection":{let c,w;o.length<h.length?(c=o.length,w=h.length):(c=h.length,w=o.length),this._isInResult=w===ii.numMultiPolys&&c<w;break}case"xor":{const c=Math.abs(o.length-h.length);this._isInResult=c%2===1;break}case"difference":{const c=w=>w.length===1&&w[0].isSubject;this._isInResult=c(o)!==c(h);break}}return this._isInResult}},ni=class{constructor(u,o,h){if(pA(this,"poly"),pA(this,"isExterior"),pA(this,"segments"),pA(this,"bbox"),!Array.isArray(u)||u.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=o,this.isExterior=h,this.segments=[],typeof u[0][0]!="number"||typeof u[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const c=N0.snap({x:new S0(u[0][0]),y:new S0(u[0][1])});this.bbox={ll:{x:c.x,y:c.y},ur:{x:c.x,y:c.y}};let w=c;for(let m=1,k=u.length;m<k;m++){if(typeof u[m][0]!="number"||typeof u[m][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const C=N0.snap({x:new S0(u[m][0]),y:new S0(u[m][1])});C.x.eq(w.x)&&C.y.eq(w.y)||(this.segments.push(lt.fromRing(w,C,this)),C.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=C.x),C.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=C.y),C.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=C.x),C.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=C.y),w=C)}(!c.x.eq(w.x)||!c.y.eq(w.y))&&this.segments.push(lt.fromRing(w,c,this))}getSweepEvents(){const u=[];for(let o=0,h=this.segments.length;o<h;o++){const c=this.segments[o];u.push(c.leftSE),u.push(c.rightSE)}return u}},Us=class{constructor(u,o){if(pA(this,"multiPoly"),pA(this,"exteriorRing"),pA(this,"interiorRings"),pA(this,"bbox"),!Array.isArray(u))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new ni(u[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let h=1,c=u.length;h<c;h++){const w=new ni(u[h],this,!1);w.bbox.ll.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=w.bbox.ll.x),w.bbox.ll.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=w.bbox.ll.y),w.bbox.ur.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=w.bbox.ur.x),w.bbox.ur.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=w.bbox.ur.y),this.interiorRings.push(w)}this.multiPoly=o}getSweepEvents(){const u=this.exteriorRing.getSweepEvents();for(let o=0,h=this.interiorRings.length;o<h;o++){const c=this.interiorRings[o].getSweepEvents();for(let w=0,m=c.length;w<m;w++)u.push(c[w])}return u}},si=class{constructor(u,o){if(pA(this,"isSubject"),pA(this,"polys"),pA(this,"bbox"),!Array.isArray(u))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof u[0][0][0]=="number"&&(u=[u])}catch{}this.polys=[],this.bbox={ll:{x:new S0(Number.POSITIVE_INFINITY),y:new S0(Number.POSITIVE_INFINITY)},ur:{x:new S0(Number.NEGATIVE_INFINITY),y:new S0(Number.NEGATIVE_INFINITY)}};for(let h=0,c=u.length;h<c;h++){const w=new Us(u[h],this);w.bbox.ll.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=w.bbox.ll.x),w.bbox.ll.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=w.bbox.ll.y),w.bbox.ur.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=w.bbox.ur.x),w.bbox.ur.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=w.bbox.ur.y),this.polys.push(w)}this.isSubject=o}getSweepEvents(){const u=[];for(let o=0,h=this.polys.length;o<h;o++){const c=this.polys[o].getSweepEvents();for(let w=0,m=c.length;w<m;w++)u.push(c[w])}return u}};N0.set,new Set(Object.values(Gt));var zs=class $e extends Error{constructor(o){super(`${$e.NAME}: ${o}`),this.name=$e.NAME}static is(o){return o instanceof $e||o.message?.includes($e.NAME)}};pA(zs,"NAME","InvalidColumnError");var oi=class Rn{constructor(o){pA(this,"props"),this.props={...Rn.defaultProps,clientId:Yr(),...o}}destroy(){}};pA(oi,"defaultProps",{apiVersion:"v3",apiBaseUrl:us,clientId:Yr(),filters:{},filtersLogicalOperator:"and"});var Ys=oi,{V3:C1}=jr,js=new Set(Object.values(Gt)),Hs=u=>js.has(u);function Vs(u,o){if(!o)return{};const h={};for(const c in o)for(const w in o[c]){if(!Hs(w))continue;const m=o[c][w],k=!u||!m?.owner||m?.owner!==u;m&&k&&(h[c]||(h[c]={}),h[c][w]=m)}return h}var Ks="_carto_others",V0={count:u=>u.length,min:(...u)=>ft(Xs,...u),max:(...u)=>ft(Zs,...u),sum:(...u)=>ft(fi,...u),avg:(...u)=>ft(Ws,...u)};function K0(u,o,h){if(o?.length){if(o.length===1){const w=u[o[0]];return li(w)?Number(w):w}}else throw new Error("Cannot aggregate a feature without having keys");const c=V0[h];if(!c)throw new Error(`${h} isn\'t a valid aggregation function`);return c(o.map(w=>{const m=u[w];return li(m)?Number(m):m}))}function li(u){return typeof u=="string"&&u.trim().length>0}var ft=(u,o,h,c)=>{const w=ut(h),m=(w?.length||0)<=1?qs(o,w||[]):o;return u(m,h,c)};function qs(u,o){const h=c=>c!=null;return o?.length?u.filter(c=>h(c[o[0]])):u.filter(h)}function Ws(u,o,h){return fi(u,o,h)/(u.length||1)}function fi(u,o,h){const c=ut(o);return c?u.reduce((w,m)=>w+K0(m,c,h),0):u.reduce((w,m)=>w+m,0)}function Xs(u,o,h){const c=ut(o);if(c)return u.reduce((m,k)=>Math.min(m,K0(k,c,h)),1/0);let w=Number.POSITIVE_INFINITY;for(const m of u)w=Math.min(w,m);return w}function Zs(u,o,h){const c=ut(o);if(c)return u.reduce((m,k)=>Math.max(m,K0(k,c,h)),-1/0);let w=Number.NEGATIVE_INFINITY;for(const m of u)w=Math.max(w,m);return w}function ut(u){return Array.isArray(u)?u:typeof u=="string"?[u]:void 0}var $s=os(ls());function Js(u,{sortBy:o,sortByDirection:h="asc",sortByColumnType:c="string"}={}){if(o===void 0)return u;if(!(Array.isArray(o)&&o.length||typeof o=="string"))throw new Error("Sorting options are bad formatted");const m=A2({sortBy:o,sortByDirection:h,sortByColumnType:c||"string"});return u.sort(m)}function A2({sortBy:u,sortByDirection:o,sortByColumnType:h}){const[c,...w]=e2({sortBy:u,sortByDirection:o,sortByColumnType:h});let m=(0,$s.firstBy)(...c);for(const k of w)m=m.thenBy(...k);return m}function e2({sortBy:u,sortByDirection:o,sortByColumnType:h}){const c=h==="number"&&{cmp:(w,m)=>w-m};return Array.isArray(u)||(u=[u]),u.map(w=>{if(typeof w=="string")return[w,{direction:o,...c}];if(Array.isArray(w)){if(w[1]===void 0)return[w,{direction:o,...c}];if(typeof w[1]=="object"){const m=c?{...c,...w[1]}:w[1];return[w[0],{direction:o,...m}]}}return w})}function t2({data:u,valuesColumns:o,joinOperation:h,keysColumn:c,operation:w,othersThreshold:m,orderBy:k="frequency_desc"}){if(Array.isArray(u)&&u.length===0)return{rows:null};const C=u.reduce((Y,O)=>{const q=O[c],J=Y.get(q)||[];Y.set(q,J);const oA=K0(O,o,h);return(w==="count"?!0:oA!==null)&&oA!==void 0&&(J.push(oA),Y.set(q,J)),Y},new Map),_=V0[w];if(!_)return{rows:[]};const P=Array.from(C).map(([Y,O])=>({name:Y,value:_(O)})).sort(r2(k));if(m&&P.length>m){const Y=P.slice(m).flatMap(({name:O})=>C.get(O));return{rows:P,metadata:{others:_(Y)}}}return{rows:P}}function r2(u){switch(u){case"frequency_asc":return(o,h)=>o.value-h.value||ht(o.name,h.name);case"frequency_desc":return(o,h)=>h.value-o.value||ht(o.name,h.name);case"alphabetical_asc":return(o,h)=>ht(o.name,h.name)||h.value-o.value;case"alphabetical_desc":return(o,h)=>ht(h.name,o.name)||h.value-o.value}}function ht(u,o){return typeof u=="number"&&typeof o=="number"?u-o:String(u??"null").localeCompare(String(o??"null"))}function i2(u){const o=new Date(u),h=o.getUTCDay(),c=o.getUTCDate()-h+(h?1:-6);return o.setUTCDate(c),Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate())}var n2={year:u=>Date.UTC(u.getUTCFullYear()),month:u=>Date.UTC(u.getUTCFullYear(),u.getUTCMonth()),week:u=>i2(u),day:u=>Date.UTC(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()),hour:u=>Date.UTC(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate(),u.getUTCHours()),minute:u=>Date.UTC(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate(),u.getUTCHours(),u.getUTCMinutes()),second:u=>Date.UTC(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate(),u.getUTCHours(),u.getUTCMinutes(),u.getUTCSeconds())};function s2({data:u,valuesColumns:o,joinOperation:h,keysColumn:c,groupType:w,operation:m}){if(Array.isArray(u)&&u.length===0)return null;const k=n2[w];if(!k)return null;const C=u.reduce((P,Y)=>{const O=Y[c],q=new Date(O),J=k(q);if(!isNaN(J)){let oA=P.get(J);oA||(oA=[],P.set(J,oA));const lA=K0(Y,o,h);lA!=null&&(oA.push(lA),P.set(J,oA))}return P},new Map),_=V0[m];return[...C.entries()].map(([P,Y])=>({name:P,value:_(Y)})).sort((P,Y)=>P.name-Y.name)}function o2({data:u,valuesColumns:o,joinOperation:h,ticks:c,operation:w}){if(Array.isArray(u)&&u.length===0)return[];const m=[Number.MIN_SAFE_INTEGER,...c].map((_,P,Y)=>({bin:P,start:_,end:P===Y.length-1?Number.MAX_SAFE_INTEGER:Y[P+1],values:[]}));u.forEach(_=>{const P=K0(_,o,h);if(!(P!=null))return;const O=m.find(q=>q.start<=P&&q.end>P);O&&O.values.push(P)});const k=V0[w];return m.map(_=>_.values).map(_=>_.length?k(_):0)}function l2({data:u,xAxisColumns:o,xAxisJoinOperation:h,yAxisColumns:c,yAxisJoinOperation:w}){return u.reduce((m,k)=>{const C=K0(k,o,h),_=C!=null,P=K0(k,c,w),Y=P!=null;return _&&Y&&m.push([C,P]),m},[])}var f2=Object.defineProperty,ce=(u,o)=>f2(u,"name",{value:o,configurable:!0}),ui=class{constructor(o){this.direction=!1,this.compareProperties=!0;var h,c,w;this.precision=10**-((h=o?.precision)!=null?h:17),this.direction=(c=o?.direction)!=null?c:!1,this.compareProperties=(w=o?.compareProperties)!=null?w:!0}compare(o,h){if(o.type!==h.type||!Ie(o,h))return!1;switch(o.type){case"Point":return this.compareCoord(o.coordinates,h.coordinates);case"LineString":return this.compareLine(o.coordinates,h.coordinates);case"Polygon":return this.comparePolygon(o,h);case"GeometryCollection":return this.compareGeometryCollection(o,h);case"Feature":return this.compareFeature(o,h);case"FeatureCollection":return this.compareFeatureCollection(o,h);default:if(o.type.startsWith("Multi")){const c=Kt(o),w=Kt(h);return c.every(m=>w.some(k=>this.compare(m,k)))}}return!1}compareCoord(o,h){return o.length===h.length&&o.every((c,w)=>Math.abs(c-h[w])<this.precision)}compareLine(o,h,c=0,w=!1){if(!Ie(o,h))return!1;const m=o;let k=h;if(w&&!this.compareCoord(m[0],k[0])){const _=this.fixStartIndex(k,m);if(_)k=_;else return!1}const C=this.compareCoord(m[c],k[c]);return this.direction||C?this.comparePath(m,k):this.compareCoord(m[c],k[k.length-(1+c)])?this.comparePath(m.slice().reverse(),k):!1}fixStartIndex(o,h){let c,w=-1;for(let m=0;m<o.length;m++)if(this.compareCoord(o[m],h[0])){w=m;break}return w>=0&&(c=[].concat(o.slice(w,o.length),o.slice(1,w+1))),c}comparePath(o,h){return o.every((c,w)=>this.compareCoord(c,h[w]))}comparePolygon(o,h){if(this.compareLine(o.coordinates[0],h.coordinates[0],1,!0)){const c=o.coordinates.slice(1,o.coordinates.length),w=h.coordinates.slice(1,h.coordinates.length);return c.every(m=>w.some(k=>this.compareLine(m,k,1,!0)))}return!1}compareGeometryCollection(o,h){return Ie(o.geometries,h.geometries)&&this.compareBBox(o,h)&&o.geometries.every((c,w)=>this.compare(c,h.geometries[w]))}compareFeature(o,h){return o.id===h.id&&(this.compareProperties?qt(o.properties,h.properties):!0)&&this.compareBBox(o,h)&&this.compare(o.geometry,h.geometry)}compareFeatureCollection(o,h){return Ie(o.features,h.features)&&this.compareBBox(o,h)&&o.features.every((c,w)=>this.compare(c,h.features[w]))}compareBBox(o,h){return!o.bbox&&!h.bbox||(o.bbox&&h.bbox?this.compareCoord(o.bbox,h.bbox):!1)}};ce(ui,"GeojsonEquality");var u2=ui;function Ie(u,o){return u.coordinates?u.coordinates.length===o.coordinates.length:u.length===o.length}ce(Ie,"sameLength");function Kt(u){return u.coordinates.map(o=>({type:u.type.replace("Multi",""),coordinates:o}))}ce(Kt,"explode");function h2(u,o,h){return new u2(h).compare(u,o)}ce(h2,"geojsonEquality");function qt(u,o){if(u===null&&o===null)return!0;if(u===null||o===null)return!1;const h=Object.keys(u),c=Object.keys(o);if(h.length!==c.length)return!1;for(var w of h){const m=u[w],k=o[w],C=hi(m)&&hi(k);if(C&&!qt(m,k)||!C&&m!==k)return!1}return!0}ce(qt,"equal");var hi=ce(u=>u!=null&&typeof u=="object","isObject"),a2="https://basemaps.cartocdn.com/gl/{basemap}-gl-style/style.json";function we(u){return a2.replace("{basemap}",u)}we("voyager"),we("positron"),we("dark-matter"),we("voyager-nolabels"),we("positron-nolabels"),we("dark-matter-nolabels");function at(u,o=u.length){return new Array(o)}var g2=u=>(o,h)=>{const c=Math.min(o.length,h.length),w=at(o,c);for(let m=0;m<c;m++)w[m]=u(o[m],h[m]);return w},c2=u=>(o,h)=>{const c=o.length,w=at(o,c);for(let m=0;m<c;m++)w[m]=u(o[m],h);return w},w2=u=>(o,h)=>{const c=h.length,w=at(h,c);for(let m=0;m<c;m++)w[m]=u(o,h[m]);return w},p2=u=>o=>{const h=o.length,c=at(o,h);for(let w=0;w<h;w++)c[w]=u(o[w]);return c};function gt(u,o){return Object.keys(u).reduce((h,c)=>(h[c]=o(u[c]),h),{})}var Wt={"||":(u,o)=>u||o,"&&":(u,o)=>u&&o,"|":(u,o)=>u|o,"^":(u,o)=>u^o,"&":(u,o)=>u&o,"==":(u,o)=>+(u==o),"!=":(u,o)=>+(u!=o),"===":(u,o)=>+(u===o),"!==":(u,o)=>+(u!==o),"<":(u,o)=>+(u<o),">":(u,o)=>+(u>o),"<=":(u,o)=>+(u<=o),">=":(u,o)=>+(u>=o),"<<":(u,o)=>u<<o,">>":(u,o)=>u>>o,">>>":(u,o)=>u>>>o,"+":(u,o)=>u+o,"-":(u,o)=>u-o,"*":(u,o)=>u*o,"/":(u,o)=>u/o,"%":(u,o)=>u%o},m2={"-":u=>-u,"+":u=>+u,"~":u=>~u,"!":u=>+!u};gt(Wt,g2),gt(Wt,w2),gt(Wt,c2),gt(m2,p2);function Xt(u,o,h){u.prototype=o.prototype=h,h.constructor=u}function ai(u,o){var h=Object.create(u.prototype);for(var c in o)h[c]=o[c];return h}function Oe(){}var Re=.7,ct=1/Re,pe="\\\\s*([+-]?\\\\d+)\\\\s*",Le="\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*",I0="\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*",E2=/^#([0-9a-f]{3,8})$/,y2=new RegExp(`^rgb\\\\(${pe},${pe},${pe}\\\\)$`),v2=new RegExp(`^rgb\\\\(${I0},${I0},${I0}\\\\)$`),b2=new RegExp(`^rgba\\\\(${pe},${pe},${pe},${Le}\\\\)$`),k2=new RegExp(`^rgba\\\\(${I0},${I0},${I0},${Le}\\\\)$`),B2=new RegExp(`^hsl\\\\(${Le},${I0},${I0}\\\\)$`),C2=new RegExp(`^hsla\\\\(${Le},${I0},${I0},${Le}\\\\)$`),gi={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Xt(Oe,Zt,{copy(u){return Object.assign(new this.constructor,this,u)},displayable(){return this.rgb().displayable()},hex:ci,formatHex:ci,formatHex8:d2,formatHsl:x2,formatRgb:wi,toString:wi});function ci(){return this.rgb().formatHex()}function d2(){return this.rgb().formatHex8()}function x2(){return bi(this).formatHsl()}function wi(){return this.rgb().formatRgb()}function Zt(u){var o,h;return u=(u+"").trim().toLowerCase(),(o=E2.exec(u))?(h=o[1].length,o=parseInt(o[1],16),h===6?pi(o):h===3?new m0(o>>8&15|o>>4&240,o>>4&15|o&240,(o&15)<<4|o&15,1):h===8?wt(o>>24&255,o>>16&255,o>>8&255,(o&255)/255):h===4?wt(o>>12&15|o>>8&240,o>>8&15|o>>4&240,o>>4&15|o&240,((o&15)<<4|o&15)/255):null):(o=y2.exec(u))?new m0(o[1],o[2],o[3],1):(o=v2.exec(u))?new m0(o[1]*255/100,o[2]*255/100,o[3]*255/100,1):(o=b2.exec(u))?wt(o[1],o[2],o[3],o[4]):(o=k2.exec(u))?wt(o[1]*255/100,o[2]*255/100,o[3]*255/100,o[4]):(o=B2.exec(u))?vi(o[1],o[2]/100,o[3]/100,1):(o=C2.exec(u))?vi(o[1],o[2]/100,o[3]/100,o[4]):gi.hasOwnProperty(u)?pi(gi[u]):u==="transparent"?new m0(NaN,NaN,NaN,0):null}function pi(u){return new m0(u>>16&255,u>>8&255,u&255,1)}function wt(u,o,h,c){return c<=0&&(u=o=h=NaN),new m0(u,o,h,c)}function D2(u){return u instanceof Oe||(u=Zt(u)),u?(u=u.rgb(),new m0(u.r,u.g,u.b,u.opacity)):new m0}function mi(u,o,h,c){return arguments.length===1?D2(u):new m0(u,o,h,c??1)}function m0(u,o,h,c){this.r=+u,this.g=+o,this.b=+h,this.opacity=+c}Xt(m0,mi,ai(Oe,{brighter(u){return u=u==null?ct:Math.pow(ct,u),new m0(this.r*u,this.g*u,this.b*u,this.opacity)},darker(u){return u=u==null?Re:Math.pow(Re,u),new m0(this.r*u,this.g*u,this.b*u,this.opacity)},rgb(){return this},clamp(){return new m0(re(this.r),re(this.g),re(this.b),pt(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ei,formatHex:Ei,formatHex8:M2,formatRgb:yi,toString:yi}));function Ei(){return`#${ie(this.r)}${ie(this.g)}${ie(this.b)}`}function M2(){return`#${ie(this.r)}${ie(this.g)}${ie(this.b)}${ie((isNaN(this.opacity)?1:this.opacity)*255)}`}function yi(){const u=pt(this.opacity);return`${u===1?"rgb(":"rgba("}${re(this.r)}, ${re(this.g)}, ${re(this.b)}${u===1?")":`, ${u})`}`}function pt(u){return isNaN(u)?1:Math.max(0,Math.min(1,u))}function re(u){return Math.max(0,Math.min(255,Math.round(u)||0))}function ie(u){return u=re(u),(u<16?"0":"")+u.toString(16)}function vi(u,o,h,c){return c<=0?u=o=h=NaN:h<=0||h>=1?u=o=NaN:o<=0&&(u=NaN),new Q0(u,o,h,c)}function bi(u){if(u instanceof Q0)return new Q0(u.h,u.s,u.l,u.opacity);if(u instanceof Oe||(u=Zt(u)),!u)return new Q0;if(u instanceof Q0)return u;u=u.rgb();var o=u.r/255,h=u.g/255,c=u.b/255,w=Math.min(o,h,c),m=Math.max(o,h,c),k=NaN,C=m-w,_=(m+w)/2;return C?(o===m?k=(h-c)/C+(h<c)*6:h===m?k=(c-o)/C+2:k=(o-h)/C+4,C/=_<.5?m+w:2-m-w,k*=60):C=_>0&&_<1?0:k,new Q0(k,C,_,u.opacity)}function P2(u,o,h,c){return arguments.length===1?bi(u):new Q0(u,o,h,c??1)}function Q0(u,o,h,c){this.h=+u,this.s=+o,this.l=+h,this.opacity=+c}Xt(Q0,P2,ai(Oe,{brighter(u){return u=u==null?ct:Math.pow(ct,u),new Q0(this.h,this.s,this.l*u,this.opacity)},darker(u){return u=u==null?Re:Math.pow(Re,u),new Q0(this.h,this.s,this.l*u,this.opacity)},rgb(){var u=this.h%360+(this.h<0)*360,o=isNaN(u)||isNaN(this.s)?0:this.s,h=this.l,c=h+(h<.5?h:1-h)*o,w=2*h-c;return new m0($t(u>=240?u-240:u+120,w,c),$t(u,w,c),$t(u<120?u+240:u-120,w,c),this.opacity)},clamp(){return new Q0(ki(this.h),mt(this.s),mt(this.l),pt(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const u=pt(this.opacity);return`${u===1?"hsl(":"hsla("}${ki(this.h)}, ${mt(this.s)*100}%, ${mt(this.l)*100}%${u===1?")":`, ${u})`}`}}));function ki(u){return u=(u||0)%360,u<0?u+360:u}function mt(u){return Math.max(0,Math.min(1,u||0))}function $t(u,o,h){return(u<60?o+(h-o)*u/60:u<180?h:u<240?o+(h-o)*(240-u)/60:o)*255}var _2=u=>{const{r:o,g:h,b:c}=mi(u);return[o,h,c]},Q2="#868d91";_2(Q2),Ft("i"),Ft(".5f");function S2({geojson:u,uniqueIdProperty:o}){return u.map(h=>{const c=h.properties??{},w=o&&c[o]!=null?c:{...c,id:o?String(c[o]):""};return{...h,properties:w}})}function q0(u,o,h={}){const c={type:"Feature"};return(h.id===0||h.id)&&(c.id=h.id),h.bbox&&(c.bbox=h.bbox),c.properties=o||{},c.geometry=u,c}function T2(u,o,h={}){if(!u)throw new Error("coordinates is required");if(!Array.isArray(u))throw new Error("coordinates must be an Array");if(u.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!Bi(u[0])||!Bi(u[1]))throw new Error("coordinates must contain numbers");return q0({type:"Point",coordinates:u},o,h)}function I2(u,o,h={}){if(u.length<2)throw new Error("coordinates must be an array of two or more positions");return q0({type:"LineString",coordinates:u},o,h)}function Et(u,o={}){const h={type:"FeatureCollection"};return o.id&&(h.id=o.id),o.bbox&&(h.bbox=o.bbox),h.features=u,h}function O2(u,o,h={}){return q0({type:"MultiLineString",coordinates:u},o,h)}function Bi(u){return!isNaN(u)&&u!==null&&!Array.isArray(u)}function R2(u){if(!u)throw new Error("coord is required");if(!Array.isArray(u)){if(u.type==="Feature"&&u.geometry!==null&&u.geometry.type==="Point")return[...u.geometry.coordinates];if(u.type==="Point")return[...u.coordinates]}if(Array.isArray(u)&&u.length>=2&&!Array.isArray(u[0])&&!Array.isArray(u[1]))return[...u];throw new Error("coord must be GeoJSON Point or an Array of numbers")}function yt(u){return u.type==="Feature"?u.geometry:u}function Ci(u,o,h){if(u!==null)for(var c,w,m,k,C,_,P,Y=0,O=0,q,J=u.type,oA=J==="FeatureCollection",lA=J==="Feature",gA=oA?u.features.length:1,aA=0;aA<gA;aA++){P=oA?u.features[aA].geometry:lA?u.geometry:u,q=P?P.type==="GeometryCollection":!1,C=q?P.geometries.length:1;for(var Z=0;Z<C;Z++){var RA=0,FA=0;if(k=q?P.geometries[Z]:P,k!==null){_=k.coordinates;var TA=k.type;switch(Y=0,TA){case null:break;case"Point":if(o(_,O,aA,RA,FA)===!1)return!1;O++,RA++;break;case"LineString":case"MultiPoint":for(c=0;c<_.length;c++){if(o(_[c],O,aA,RA,FA)===!1)return!1;O++,TA==="MultiPoint"&&RA++}TA==="LineString"&&RA++;break;case"Polygon":case"MultiLineString":for(c=0;c<_.length;c++){for(w=0;w<_[c].length-Y;w++){if(o(_[c][w],O,aA,RA,FA)===!1)return!1;O++}TA==="MultiLineString"&&RA++,TA==="Polygon"&&FA++}TA==="Polygon"&&RA++;break;case"MultiPolygon":for(c=0;c<_.length;c++){for(FA=0,w=0;w<_[c].length;w++){for(m=0;m<_[c][w].length-Y;m++){if(o(_[c][w][m],O,aA,RA,FA)===!1)return!1;O++}FA++}RA++}break;case"GeometryCollection":for(c=0;c<k.geometries.length;c++)if(Ci(k.geometries[c],o)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function L2(u,o){var h,c,w,m,k,C,_,P,Y,O,q=0,J=u.type==="FeatureCollection",oA=u.type==="Feature",lA=J?u.features.length:1;for(h=0;h<lA;h++){for(C=J?u.features[h].geometry:oA?u.geometry:u,P=J?u.features[h].properties:oA?u.properties:{},Y=J?u.features[h].bbox:oA?u.bbox:void 0,O=J?u.features[h].id:oA?u.id:void 0,_=C?C.type==="GeometryCollection":!1,k=_?C.geometries.length:1,w=0;w<k;w++){if(m=_?C.geometries[w]:C,m===null){if(o(null,q,P,Y,O)===!1)return!1;continue}switch(m.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(o(m,q,P,Y,O)===!1)return!1;break}case"GeometryCollection":{for(c=0;c<m.geometries.length;c++)if(o(m.geometries[c],q,P,Y,O)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}q++}}function vt(u,o){L2(u,function(h,c,w,m,k){var C=h===null?null:h.type;switch(C){case null:case"Point":case"LineString":case"Polygon":return o(q0(h,w,{bbox:m,id:k}),c,0)===!1?!1:void 0}var _;switch(C){case"MultiPoint":_="Point";break;case"MultiLineString":_="LineString";break;case"MultiPolygon":_="Polygon";break}for(var P=0;P<h.coordinates.length;P++){var Y=h.coordinates[P],O={type:_,coordinates:Y};if(o(q0(O,w),c,P)===!1)return!1}})}function F2(u,o={}){if(u.bbox!=null&&o.recompute!==!0)return u.bbox;const h=[1/0,1/0,-1/0,-1/0];return Ci(u,c=>{h[0]>c[0]&&(h[0]=c[0]),h[1]>c[1]&&(h[1]=c[1]),h[2]<c[0]&&(h[2]=c[0]),h[3]<c[1]&&(h[3]=c[1])}),h}const G0=11102230246251565e-32,h0=134217729,N2=(3+8*G0)*G0;function Jt(u,o,h,c,w){let m,k,C,_,P=o[0],Y=c[0],O=0,q=0;Y>P==Y>-P?(m=P,P=o[++O]):(m=Y,Y=c[++q]);let J=0;if(O<u&&q<h)for(Y>P==Y>-P?(k=P+m,C=m-(k-P),P=o[++O]):(k=Y+m,C=m-(k-Y),Y=c[++q]),m=k,C!==0&&(w[J++]=C);O<u&&q<h;)Y>P==Y>-P?(k=m+P,_=k-m,C=m-(k-_)+(P-_),P=o[++O]):(k=m+Y,_=k-m,C=m-(k-_)+(Y-_),Y=c[++q]),m=k,C!==0&&(w[J++]=C);for(;O<u;)k=m+P,_=k-m,C=m-(k-_)+(P-_),P=o[++O],m=k,C!==0&&(w[J++]=C);for(;q<h;)k=m+Y,_=k-m,C=m-(k-_)+(Y-_),Y=c[++q],m=k,C!==0&&(w[J++]=C);return(m!==0||J===0)&&(w[J++]=m),J}function G2(u,o){let h=o[0];for(let c=1;c<u;c++)h+=o[c];return h}function Fe(u){return new Float64Array(u)}const U2=(3+16*G0)*G0,z2=(2+12*G0)*G0,Y2=(9+64*G0)*G0*G0,me=Fe(4),di=Fe(8),xi=Fe(12),Di=Fe(16),g0=Fe(4);function j2(u,o,h,c,w,m,k){let C,_,P,Y,O,q,J,oA,lA,gA,aA,Z,RA,FA,TA,GA,XA,B;const M=u-w,Q=h-w,R=o-m,I=c-m;FA=M*I,q=h0*M,J=q-(q-M),oA=M-J,q=h0*I,lA=q-(q-I),gA=I-lA,TA=oA*gA-(FA-J*lA-oA*lA-J*gA),GA=R*Q,q=h0*R,J=q-(q-R),oA=R-J,q=h0*Q,lA=q-(q-Q),gA=Q-lA,XA=oA*gA-(GA-J*lA-oA*lA-J*gA),aA=TA-XA,O=TA-aA,me[0]=TA-(aA+O)+(O-XA),Z=FA+aA,O=Z-FA,RA=FA-(Z-O)+(aA-O),aA=RA-GA,O=RA-aA,me[1]=RA-(aA+O)+(O-GA),B=Z+aA,O=B-Z,me[2]=Z-(B-O)+(aA-O),me[3]=B;let N=G2(4,me),V=z2*k;if(N>=V||-N>=V||(O=u-M,C=u-(M+O)+(O-w),O=h-Q,P=h-(Q+O)+(O-w),O=o-R,_=o-(R+O)+(O-m),O=c-I,Y=c-(I+O)+(O-m),C===0&&_===0&&P===0&&Y===0)||(V=Y2*k+N2*Math.abs(N),N+=M*Y+I*C-(R*P+Q*_),N>=V||-N>=V))return N;FA=C*I,q=h0*C,J=q-(q-C),oA=C-J,q=h0*I,lA=q-(q-I),gA=I-lA,TA=oA*gA-(FA-J*lA-oA*lA-J*gA),GA=_*Q,q=h0*_,J=q-(q-_),oA=_-J,q=h0*Q,lA=q-(q-Q),gA=Q-lA,XA=oA*gA-(GA-J*lA-oA*lA-J*gA),aA=TA-XA,O=TA-aA,g0[0]=TA-(aA+O)+(O-XA),Z=FA+aA,O=Z-FA,RA=FA-(Z-O)+(aA-O),aA=RA-GA,O=RA-aA,g0[1]=RA-(aA+O)+(O-GA),B=Z+aA,O=B-Z,g0[2]=Z-(B-O)+(aA-O),g0[3]=B;const L=Jt(4,me,4,g0,di);FA=M*Y,q=h0*M,J=q-(q-M),oA=M-J,q=h0*Y,lA=q-(q-Y),gA=Y-lA,TA=oA*gA-(FA-J*lA-oA*lA-J*gA),GA=R*P,q=h0*R,J=q-(q-R),oA=R-J,q=h0*P,lA=q-(q-P),gA=P-lA,XA=oA*gA-(GA-J*lA-oA*lA-J*gA),aA=TA-XA,O=TA-aA,g0[0]=TA-(aA+O)+(O-XA),Z=FA+aA,O=Z-FA,RA=FA-(Z-O)+(aA-O),aA=RA-GA,O=RA-aA,g0[1]=RA-(aA+O)+(O-GA),B=Z+aA,O=B-Z,g0[2]=Z-(B-O)+(aA-O),g0[3]=B;const U=Jt(L,di,4,g0,xi);FA=C*Y,q=h0*C,J=q-(q-C),oA=C-J,q=h0*Y,lA=q-(q-Y),gA=Y-lA,TA=oA*gA-(FA-J*lA-oA*lA-J*gA),GA=_*P,q=h0*_,J=q-(q-_),oA=_-J,q=h0*P,lA=q-(q-P),gA=P-lA,XA=oA*gA-(GA-J*lA-oA*lA-J*gA),aA=TA-XA,O=TA-aA,g0[0]=TA-(aA+O)+(O-XA),Z=FA+aA,O=Z-FA,RA=FA-(Z-O)+(aA-O),aA=RA-GA,O=RA-aA,g0[1]=RA-(aA+O)+(O-GA),B=Z+aA,O=B-Z,g0[2]=Z-(B-O)+(aA-O),g0[3]=B;const H=Jt(U,xi,4,g0,Di);return Di[H-1]}function H2(u,o,h,c,w,m){const k=(o-m)*(h-w),C=(u-w)*(c-m),_=k-C,P=Math.abs(k+C);return Math.abs(_)>=U2*P?_:-j2(u,o,h,c,w,m,P)}function V2(u,o){var h,c,w=0,m,k,C,_,P,Y,O,q=u[0],J=u[1],oA=o.length;for(h=0;h<oA;h++){c=0;var lA=o[h],gA=lA.length-1;if(Y=lA[0],Y[0]!==lA[gA][0]&&Y[1]!==lA[gA][1])throw new Error("First and last coordinates in a ring must be the same");for(k=Y[0]-q,C=Y[1]-J,c;c<gA;c++){if(O=lA[c+1],_=O[0]-q,P=O[1]-J,C===0&&P===0){if(_<=0&&k>=0||k<=0&&_>=0)return 0}else if(P>=0&&C<=0||P<=0&&C>=0){if(m=H2(k,_,C,P,0,0),m===0)return 0;(m>0&&P>0&&C<=0||m<0&&P<=0&&C>0)&&w++}Y=O,C=P,k=_}}return w%2!==0}function Ne(u,o,h={}){if(!u)throw new Error("point is required");if(!o)throw new Error("polygon is required");const c=R2(u),w=yt(o),m=w.type,k=o.bbox;let C=w.coordinates;if(k&&K2(c,k)===!1)return!1;m==="Polygon"&&(C=[C]);let _=!1;for(var P=0;P<C.length;++P){const Y=V2(c,C[P]);if(Y===0)return!h.ignoreBoundary;Y&&(_=!0)}return _}function K2(u,o){return o[0]<=u[0]&&o[1]<=u[1]&&o[2]>=u[0]&&o[3]>=u[1]}class Mi{constructor(o=[],h=q2){if(this.data=o,this.length=this.data.length,this.compare=h,this.length>0)for(let c=(this.length>>1)-1;c>=0;c--)this._down(c)}push(o){this.data.push(o),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;const o=this.data[0],h=this.data.pop();return this.length--,this.length>0&&(this.data[0]=h,this._down(0)),o}peek(){return this.data[0]}_up(o){const{data:h,compare:c}=this,w=h[o];for(;o>0;){const m=o-1>>1,k=h[m];if(c(w,k)>=0)break;h[o]=k,o=m}h[o]=w}_down(o){const{data:h,compare:c}=this,w=this.length>>1,m=h[o];for(;o<w;){let k=(o<<1)+1,C=h[k];const _=k+1;if(_<this.length&&c(h[_],C)<0&&(k=_,C=h[_]),c(C,m)>=0)break;h[o]=C,o=k}h[o]=m}}function q2(u,o){return u<o?-1:u>o?1:0}function Pi(u,o){return u.p.x>o.p.x?1:u.p.x<o.p.x?-1:u.p.y!==o.p.y?u.p.y>o.p.y?1:-1:1}function W2(u,o){return u.rightSweepEvent.p.x>o.rightSweepEvent.p.x?1:u.rightSweepEvent.p.x<o.rightSweepEvent.p.x?-1:u.rightSweepEvent.p.y!==o.rightSweepEvent.p.y?u.rightSweepEvent.p.y<o.rightSweepEvent.p.y?1:-1:1}class _i{constructor(o,h,c,w){this.p={x:o[0],y:o[1]},this.featureId=h,this.ringId=c,this.eventId=w,this.otherEvent=null,this.isLeftEndpoint=null}isSamePoint(o){return this.p.x===o.p.x&&this.p.y===o.p.y}}function X2(u,o){if(u.type==="FeatureCollection"){const h=u.features;for(let c=0;c<h.length;c++)Qi(h[c],o)}else Qi(u,o)}let bt=0,kt=0,Bt=0;function Qi(u,o){const h=u.type==="Feature"?u.geometry:u;let c=h.coordinates;(h.type==="Polygon"||h.type==="MultiLineString")&&(c=[c]),h.type==="LineString"&&(c=[[c]]);for(let w=0;w<c.length;w++)for(let m=0;m<c[w].length;m++){let k=c[w][m][0],C=null;kt=kt+1;for(let _=0;_<c[w][m].length-1;_++){C=c[w][m][_+1];const P=new _i(k,bt,kt,Bt),Y=new _i(C,bt,kt,Bt+1);P.otherEvent=Y,Y.otherEvent=P,Pi(P,Y)>0?(Y.isLeftEndpoint=!0,P.isLeftEndpoint=!1):(P.isLeftEndpoint=!0,Y.isLeftEndpoint=!1),o.push(P),o.push(Y),k=C,Bt=Bt+1}}bt=bt+1}class Z2{constructor(o){this.leftSweepEvent=o,this.rightSweepEvent=o.otherEvent}}function $2(u,o){if(u===null||o===null||u.leftSweepEvent.ringId===o.leftSweepEvent.ringId&&(u.rightSweepEvent.isSamePoint(o.leftSweepEvent)||u.rightSweepEvent.isSamePoint(o.leftSweepEvent)||u.rightSweepEvent.isSamePoint(o.rightSweepEvent)||u.leftSweepEvent.isSamePoint(o.leftSweepEvent)||u.leftSweepEvent.isSamePoint(o.rightSweepEvent)))return!1;const h=u.leftSweepEvent.p.x,c=u.leftSweepEvent.p.y,w=u.rightSweepEvent.p.x,m=u.rightSweepEvent.p.y,k=o.leftSweepEvent.p.x,C=o.leftSweepEvent.p.y,_=o.rightSweepEvent.p.x,P=o.rightSweepEvent.p.y,Y=(P-C)*(w-h)-(_-k)*(m-c),O=(_-k)*(c-C)-(P-C)*(h-k),q=(w-h)*(c-C)-(m-c)*(h-k);if(Y===0)return!1;const J=O/Y,oA=q/Y;if(J>=0&&J<=1&&oA>=0&&oA<=1){const lA=h+J*(w-h),gA=c+J*(m-c);return[lA,gA]}return!1}function J2(u,o){o=o||!1;const h=[],c=new Mi([],W2);for(;u.length;){const w=u.pop();if(w.isLeftEndpoint){const m=new Z2(w);for(let k=0;k<c.data.length;k++){const C=c.data[k];if(o&&C.leftSweepEvent.featureId===w.featureId)continue;const _=$2(m,C);_!==!1&&h.push(_)}c.push(m)}else w.isLeftEndpoint===!1&&c.pop()}return h}function Ao(u,o){const h=new Mi([],Pi);return X2(u,h),J2(h,o)}var eo=Ao;function Ar(u,o,h={}){const{removeDuplicates:c=!0,ignoreSelfIntersections:w=!0}=h;let m=[];u.type==="FeatureCollection"?m=m.concat(u.features):u.type==="Feature"?m.push(u):(u.type==="LineString"||u.type==="Polygon"||u.type==="MultiLineString"||u.type==="MultiPolygon")&&m.push(q0(u)),o.type==="FeatureCollection"?m=m.concat(o.features):o.type==="Feature"?m.push(o):(o.type==="LineString"||o.type==="Polygon"||o.type==="MultiLineString"||o.type==="MultiPolygon")&&m.push(q0(o));const k=eo(Et(m),w);let C=[];if(c){const _={};k.forEach(P=>{const Y=P.join(",");_[Y]||(_[Y]=!0,C.push(P))})}else C=k;return Et(C.map(_=>T2(_)))}function er(u,o={}){const h=yt(u);switch(!o.properties&&u.type==="Feature"&&(o.properties=u.properties),h.type){case"Polygon":return to(h,o);case"MultiPolygon":return ro(h,o);default:throw new Error("invalid poly")}}function to(u,o={}){const c=yt(u).coordinates,w=o.properties?o.properties:u.type==="Feature"?u.properties:{};return Si(c,w)}function ro(u,o={}){const c=yt(u).coordinates,w=o.properties?o.properties:u.type==="Feature"?u.properties:{},m=[];return c.forEach(k=>{m.push(Si(k,w))}),Et(m)}function Si(u,o){return u.length>1?O2(u,o):I2(u[0],o)}function io(u,o,{ignoreSelfIntersections:h=!0}={ignoreSelfIntersections:!0}){let c=!0;return vt(u,w=>{vt(o,m=>{if(c===!1)return!1;c=no(w.geometry,m.geometry,h)})}),c}function no(u,o,h){switch(u.type){case"Point":switch(o.type){case"Point":return!fo(u.coordinates,o.coordinates);case"LineString":return!Ti(o,u);case"Polygon":return!Ne(u,o)}break;case"LineString":switch(o.type){case"Point":return!Ti(u,o);case"LineString":return!so(u,o,h);case"Polygon":return!Ii(o,u,h)}break;case"Polygon":switch(o.type){case"Point":return!Ne(o,u);case"LineString":return!Ii(u,o,h);case"Polygon":return!oo(o,u,h)}}return!1}function Ti(u,o){for(let h=0;h<u.coordinates.length-1;h++)if(lo(u.coordinates[h],u.coordinates[h+1],o.coordinates))return!0;return!1}function so(u,o,h){return Ar(u,o,{ignoreSelfIntersections:h}).features.length>0}function Ii(u,o,h){for(const w of o.coordinates)if(Ne(w,u))return!0;return Ar(o,er(u),{ignoreSelfIntersections:h}).features.length>0}function oo(u,o,h){for(const w of u.coordinates[0])if(Ne(w,o))return!0;for(const w of o.coordinates[0])if(Ne(w,u))return!0;return Ar(er(u),er(o),{ignoreSelfIntersections:h}).features.length>0}function lo(u,o,h){const c=h[0]-u[0],w=h[1]-u[1],m=o[0]-u[0],k=o[1]-u[1];return c*k-w*m!==0?!1:Math.abs(m)>=Math.abs(k)?m>0?u[0]<=h[0]&&h[0]<=o[0]:o[0]<=h[0]&&h[0]<=u[0]:k>0?u[1]<=h[1]&&h[1]<=o[1]:o[1]<=h[1]&&h[1]<=u[1]}function fo(u,o){return u[0]===o[0]&&u[1]===o[1]}function uo(u,o,{ignoreSelfIntersections:h=!0}={}){let c=!1;return vt(u,w=>{vt(o,m=>{if(c===!0)return!0;c=!io(w.geometry,m.geometry,{ignoreSelfIntersections:h})})}),c}class ho extends Ys{features=[];_filterFeaturesBySpatial(o){return o?this.features.filter(h=>uo(h,q0(o))):this.features}loadGeoJSON({geojson:o}){this.features=S2({geojson:o})}getFeatures(){return Promise.reject(new Error("getFeatures not supported for geojson"))}getFormula({column:o="*",operation:h=ge.Count,joinOperation:c,filters:w,filterOwner:m,spatialFilter:k}){const C=this._getFilteredFeatures(k,w,m);if(C.length===0)return Promise.resolve({value:null});if(h===ge.Custom)throw new Error("Custom aggregation not supported for geojson");(o&&o!=="*"||h!==ge.Count)&&ne(C,o);const _=V0[h];return Ge(_,`Unsupported aggregation operation: ${h}`),Promise.resolve({value:_(C.map(P=>P?.properties),o,c)})}getHistogram({operation:o=ge.Count,ticks:h,column:c,joinOperation:w,filters:m,filterOwner:k,spatialFilter:C}){const _=this._getFilteredFeatures(C,m,k);return _.length?(ne(_,c),Promise.resolve(o2({data:_,valuesColumns:Ee(c),joinOperation:w,ticks:h,operation:o}))):Promise.resolve([])}getCategories({column:o,operation:h=ge.Count,operationColumn:c,joinOperation:w,filters:m,filterOwner:k,spatialFilter:C,othersThreshold:_,orderBy:P="frequency_desc",rawResult:Y}){const O=this._getFilteredFeatures(C,m,k);if(!O.length)return Promise.resolve([]);ne(O,o,c);const q=t2({data:O,valuesColumns:Ee(c??o),joinOperation:w,keysColumn:o,operation:h,othersThreshold:_,orderBy:P});return Y?Promise.resolve(q):_?Promise.resolve([...q?.rows??[],{name:Ks,value:q?.metadata?.others??0}]):Promise.resolve(q?.rows??[])}getScatter({xAxisColumn:o,yAxisColumn:h,xAxisJoinOperation:c,yAxisJoinOperation:w,filters:m,filterOwner:k,spatialFilter:C}){const _=this._getFilteredFeatures(C,m,k);return _.length?(ne(_,o,h),Promise.resolve(l2({data:_,xAxisColumns:Ee(o),xAxisJoinOperation:c,yAxisColumns:Ee(h),yAxisJoinOperation:w}))):Promise.resolve([])}getTable({columns:o,searchFilterColumn:h,searchFilterText:c,sortBy:w,sortDirection:m,sortByColumnType:k,offset:C=0,limit:_=10,filters:P,filterOwner:Y,spatialFilter:O}){let q=this._getFilteredFeatures(O,P,Y);if(!q.length)return Promise.resolve({rows:[],totalCount:0});h&&c&&(console.warn(\'WidgetGeoJsonSource: "searchFilterText" is deprecated, use "filters" and FilterType.STRING_SEARCH instead.\'),q=q.filter(lA=>lA[h]&&String(lA[h]).toLowerCase().includes(String(c).toLowerCase())));let J=Js(q,{sortBy:w,sortByDirection:m,sortByColumnType:k});const oA=J.length;return J=J.slice(Math.min(C,oA),Math.min(C+_,oA)),J=J.map(lA=>{const gA={};if(lA)for(const aA of o)gA[aA]=lA[aA];return gA}),Promise.resolve({rows:J,totalCount:oA})}getTimeSeries({column:o,stepSize:h,operation:c,operationColumn:w,joinOperation:m,filters:k,filterOwner:C,spatialFilter:_}){const P=this._getFilteredFeatures(_,k,C);if(!P.length)return Promise.resolve({rows:[]});ne(P,o,w),Ge(c!=="custom","Custom operation not supported for geojson");const Y=s2({data:P,valuesColumns:Ee(w??o),keysColumn:o,groupType:h,operation:c,joinOperation:m})??[];return Promise.resolve({rows:Y})}getRange({column:o,filters:h,filterOwner:c,spatialFilter:w}){const m=this._getFilteredFeatures(w,h,c);return m.length?(ne(m,o),Promise.resolve({min:V0.min(m,o),max:V0.max(m,o)})):Promise.resolve(null)}getAggregations({aggregations:o,filters:h,filterOwner:c,spatialFilter:w}){const m=this._getFilteredFeatures(w,h,c);if(!m.length)return Promise.resolve({rows:[]});Ge(typeof o!="string","Unsupported geojson SQL aggregation");const k={},C=new Set;for(const{column:_,operation:P,alias:Y}of o){(_&&_!=="*"||P!==ge.Count)&&ne(m,_);const O=Y.toLowerCase();Ge(!C.has(O),`Duplicate alias: ${O}`),C.add(O);const q=V0[P];Ge(q,`Unsupported operation: ${P}`),k[Y]=q(m,_)}return Promise.resolve({rows:[k]})}getExtent(){const o=F2(Et(this.features));return Promise.resolve({bbox:o})}_getFilteredFeatures(o,h,c){const w=this._filterFeaturesBySpatial(o);return ks(w.map(m=>m.properties??{}),Vs(c,h??this.props.filters),this.props.filtersLogicalOperator??"and")}}function Ge(u,o){if(!u)throw new Error(o)}function ne(u,...o){const h=Array.from(new Set(o.map(Ee).flat())),c=Object.keys(u[0]??{}),w=h.filter(m=>m&&!c.includes(m));if(w.length)throw new Error(`Missing column(s): ${w.join(", ")}`)}function Ee(u){return Array.isArray(u)?u:typeof u=="string"?[u]:[]}let tr;addEventListener("message",u=>{const{method:o,params:h,requestId:c}=u.data;if(o===Ln.INIT){tr=new ho({...h[0],widgetWorker:!1});return}if(!tr){const w=`Cannot execute "${o}" on uninitialized source.`;postMessage({ok:!1,error:w,requestId:c});return}Promise.resolve(tr[o](...h)).then(w=>{postMessage({ok:!0,result:w,requestId:c})}).catch(w=>{postMessage({ok:!1,error:w,requestId:c})})})})();\n//# sourceMappingURL=widget-geojson-worker-9J7Q5sUJ.js.map\n', ve = typeof self < "u" && self.Blob && new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);", Ye], {
3299
3299
  type: "text/javascript;charset=utf-8"
3300
3300
  });
3301
- function ve(r) {
3301
+ function Ee(r) {
3302
3302
  let A;
3303
3303
  try {
3304
- if (A = Ee && (self.URL || self.webkitURL).createObjectURL(Ee), !A) throw "";
3304
+ if (A = ve && (self.URL || self.webkitURL).createObjectURL(ve), !A) throw "";
3305
3305
  const e = new Worker(A, {
3306
3306
  name: r?.name
3307
3307
  });
@@ -3320,7 +3320,7 @@ class Wr extends Le {
3320
3320
  _workerEnabled;
3321
3321
  _workerNextRequestId = 1;
3322
3322
  constructor(A) {
3323
- super(A), this._workerEnabled = (A.widgetWorker ?? !0) && typeof ve < "u", this._workerEnabled || (this._localImpl = new Yr(this.props));
3323
+ super(A), this._workerEnabled = (A.widgetWorker ?? !0) && typeof Ee < "u", this._workerEnabled || (this._localImpl = new Yr(this.props));
3324
3324
  }
3325
3325
  destroy() {
3326
3326
  this._localImpl?.destroy(), this._localImpl = null, this._workerImpl?.terminate(), this._workerImpl = null, super.destroy();
@@ -3332,7 +3332,7 @@ class Wr extends Le {
3332
3332
  * source instance.
3333
3333
  */
3334
3334
  _getWorker() {
3335
- return this._workerImpl ? this._workerImpl : (this._workerImpl = new ve({
3335
+ return this._workerImpl ? this._workerImpl : (this._workerImpl = new Ee({
3336
3336
  name: "cartowidgetgeojson"
3337
3337
  }), this._workerImpl.addEventListener("error", (A) => {
3338
3338
  console.error("widget-geojson-source worker error", A);
@@ -3347,24 +3347,24 @@ class Wr extends Le {
3347
3347
  return this._localImpl ? this._localImpl[A](...e) : Promise.reject(new Error("Local implementation not initialized"));
3348
3348
  const n = this._getWorker(), i = this._workerNextRequestId++;
3349
3349
  let o = null, s = null;
3350
- function l(c) {
3351
- const h = c.data;
3352
- h.requestId === i && (t?.aborted || (h.ok ? o(h.result) : s(new Error(h.error))));
3350
+ function l(d) {
3351
+ const c = d.data;
3352
+ c.requestId === i && (t?.aborted || (c.ok ? o(c.result) : s(new Error(c.error))));
3353
3353
  }
3354
3354
  function f() {
3355
3355
  s(new Error(String(t.reason)));
3356
3356
  }
3357
3357
  n.addEventListener("message", l), t?.addEventListener("abort", f);
3358
- const g = new Promise((c, h) => {
3359
- o = c, s = h, n.postMessage({
3358
+ const h = new Promise((d, c) => {
3359
+ o = d, s = c, n.postMessage({
3360
3360
  requestId: i,
3361
3361
  method: A,
3362
3362
  params: e
3363
3363
  });
3364
3364
  });
3365
- return g.finally(() => {
3365
+ return h.finally(() => {
3366
3366
  n.removeEventListener("message", l), t?.removeEventListener("abort", f);
3367
- }), g;
3367
+ }), h;
3368
3368
  }
3369
3369
  /////////////////////////////////////////////////////////////////////////////
3370
3370
  // DATA LOADING
@@ -3478,7 +3478,7 @@ const We = _e()($t((r, A) => ({
3478
3478
  };
3479
3479
  }, void 0, "removeSource"),
3480
3480
  setFilters: (e, t) => r((n) => {
3481
- const i = n.filters[e] ?? {}, o = t.reduce((s, l) => JA(s, l), i);
3481
+ const i = n.filters[e] ?? {}, o = t.reduce((s, l) => XA(s, l), i);
3482
3482
  return {
3483
3483
  filters: {
3484
3484
  ...n.filters,
@@ -3642,12 +3642,12 @@ function $r(r, A) {
3642
3642
  }
3643
3643
  if (!t) {
3644
3644
  let o;
3645
- e[0] !== A ? (o = A.reduce(Jr, {}), e[0] = A, e[1] = o) : o = e[1], n = o;
3645
+ e[0] !== A ? (o = A.reduce(Xr, {}), e[0] = A, e[1] = o) : o = e[1], n = o;
3646
3646
  break A;
3647
3647
  }
3648
3648
  let i;
3649
3649
  if (e[2] !== A || e[3] !== t) {
3650
- const o = A.reduce(Xr, {});
3650
+ const o = A.reduce(Jr, {});
3651
3651
  i = gA(t, o), e[2] = A, e[3] = t, e[4] = i;
3652
3652
  } else
3653
3653
  i = e[4];
@@ -3655,11 +3655,11 @@ function $r(r, A) {
3655
3655
  }
3656
3656
  return n;
3657
3657
  }
3658
- function Xr(r, A) {
3659
- return JA(r, A);
3660
- }
3661
3658
  function Jr(r, A) {
3662
- return JA(r, A);
3659
+ return XA(r, A);
3660
+ }
3661
+ function Xr(r, A) {
3662
+ return XA(r, A);
3663
3663
  }
3664
3664
  function An(r, A) {
3665
3665
  const e = ne(A);
@@ -3680,32 +3680,34 @@ function tn(r) {
3680
3680
  return Object.keys(A).length > 0 ? JSON.stringify(A) : "";
3681
3681
  }
3682
3682
  function Ze(r) {
3683
- const A = G(8), {
3683
+ const A = G(11), {
3684
3684
  queryKeyPrefix: e,
3685
- accessToken: t,
3686
- sourceId: n
3687
- } = r, i = ne(n);
3688
- let o;
3685
+ sourceId: t
3686
+ } = r, n = ne(t);
3687
+ let i;
3689
3688
  A: {
3690
- if (!i || !("queryParameters" in i) || !i.queryParameters) {
3691
- o = void 0;
3689
+ if (!n || !("queryParameters" in n) || !n.queryParameters) {
3690
+ i = void 0;
3692
3691
  break A;
3693
3692
  }
3694
- o = i.queryParameters;
3693
+ let c;
3694
+ A[0] !== n.queryParameters ? (c = JSON.stringify(n.queryParameters), A[0] = n.queryParameters, A[1] = c) : c = A[1], i = c;
3695
3695
  }
3696
- const s = o;
3696
+ const o = i;
3697
+ let s;
3698
+ A[2] !== n?.headers ? (s = () => {
3699
+ const c = tn(n?.headers);
3700
+ if (c)
3701
+ return JSON.stringify(c);
3702
+ }, A[2] = n?.headers, A[3] = s) : s = A[3], n?.headers;
3697
3703
  let l;
3698
- A[0] !== t || A[1] !== e || A[2] !== s || A[3] !== i?.headers || A[4] !== n ? (l = () => {
3699
- const c = [n, ...e];
3700
- s && c.push(s);
3701
- const h = tn(i?.headers);
3702
- return h && c.push(h), c.push(t), c;
3703
- }, A[0] = t, A[1] = e, A[2] = s, A[3] = i?.headers, A[4] = n, A[5] = l) : l = A[5], i?.headers;
3704
- let f;
3705
- return A[6] !== l ? (f = l(), A[6] = l, A[7] = f) : f = A[7], f;
3704
+ A[4] !== s ? (l = s(), A[4] = s, A[5] = l) : l = A[5];
3705
+ const f = l;
3706
+ let h;
3707
+ return A[6] !== e || A[7] !== o || A[8] !== f || A[9] !== t ? (h = [t, ...e], o && h.push(o), f && h.push(f), A[6] = e, A[7] = o, A[8] = f, A[9] = t, A[10] = h) : h = A[10], h;
3706
3708
  }
3707
3709
  function rn(r) {
3708
- const A = G(12), {
3710
+ const A = G(15), {
3709
3711
  queryKeyPrefix: e,
3710
3712
  accessToken: t,
3711
3713
  sourceId: n,
@@ -3713,21 +3715,26 @@ function rn(r) {
3713
3715
  additionalFilter: o
3714
3716
  } = r, s = $r(n, o), l = An(t, n);
3715
3717
  let f;
3716
- A[0] !== t || A[1] !== e || A[2] !== n ? (f = {
3718
+ A[0] !== e || A[1] !== n ? (f = {
3717
3719
  queryKeyPrefix: e,
3718
- accessToken: t,
3719
3720
  sourceId: n
3720
- }, A[0] = t, A[1] = e, A[2] = n, A[3] = f) : f = A[3];
3721
- const g = Ze(f);
3722
- let c;
3723
- A[4] !== g || A[5] !== s || A[6] !== i ? (c = [...g, i], s && c.push(s), A[4] = g, A[5] = s, A[6] = i, A[7] = c) : c = A[7];
3724
- const h = c;
3721
+ }, A[0] = e, A[1] = n, A[2] = f) : f = A[2];
3722
+ const h = Ze(f);
3723
+ let d;
3724
+ A[3] !== i ? (d = i ? JSON.stringify(i) : void 0, A[3] = i, A[4] = d) : d = A[4];
3725
+ const c = d;
3725
3726
  let y;
3726
- return A[8] !== s || A[9] !== h || A[10] !== l ? (y = {
3727
+ A[5] !== s ? (y = s ? JSON.stringify(s) : void 0, A[5] = s, A[6] = y) : y = A[6];
3728
+ const b = y;
3729
+ let m;
3730
+ A[7] !== h || A[8] !== b || A[9] !== c ? (m = [...h, c], b && m.push(b), A[7] = h, A[8] = b, A[9] = c, A[10] = m) : m = A[10];
3731
+ const E = m;
3732
+ let u;
3733
+ return A[11] !== s || A[12] !== E || A[13] !== l ? (u = {
3727
3734
  mergedFilters: s,
3728
3735
  widgetModel: l,
3729
- queryKey: h
3730
- }, A[8] = s, A[9] = h, A[10] = l, A[11] = y) : y = A[11], y;
3736
+ queryKey: E
3737
+ }, A[11] = s, A[12] = E, A[13] = l, A[14] = u) : u = A[14], u;
3731
3738
  }
3732
3739
  function fA({
3733
3740
  queryKeyPrefix: r,
@@ -3739,50 +3746,50 @@ function fA({
3739
3746
  sourceId: s,
3740
3747
  widgetProps: l,
3741
3748
  additionalFilter: f,
3742
- useQueryProps: g
3749
+ useQueryProps: h
3743
3750
  } = n;
3744
- let c;
3745
- i[0] !== g ? (c = g === void 0 ? {} : g, i[0] = g, i[1] = c) : c = i[1];
3746
- let h, y;
3747
- i[2] !== c ? ({
3748
- enabled: h,
3751
+ let d;
3752
+ i[0] !== h ? (d = h === void 0 ? {} : h, i[0] = h, i[1] = d) : d = i[1];
3753
+ let c, y;
3754
+ i[2] !== d ? ({
3755
+ enabled: c,
3749
3756
  ...y
3750
- } = c, i[2] = c, i[3] = h, i[4] = y) : (h = i[3], y = i[4]);
3751
- const E = h === void 0 ? !0 : h;
3752
- let w;
3753
- i[5] !== o || i[6] !== f || i[7] !== s || i[8] !== l ? (w = {
3757
+ } = d, i[2] = d, i[3] = c, i[4] = y) : (c = i[3], y = i[4]);
3758
+ const b = c === void 0 ? !0 : c;
3759
+ let m;
3760
+ i[5] !== o || i[6] !== f || i[7] !== s || i[8] !== l ? (m = {
3754
3761
  queryKeyPrefix: r,
3755
3762
  accessToken: o,
3756
3763
  additionalFilter: f,
3757
3764
  sourceId: s,
3758
3765
  widgetProps: l
3759
- }, i[5] = o, i[6] = f, i[7] = s, i[8] = l, i[9] = w) : w = i[9];
3766
+ }, i[5] = o, i[6] = f, i[7] = s, i[8] = l, i[9] = m) : m = i[9];
3760
3767
  const {
3761
- mergedFilters: k,
3768
+ mergedFilters: E,
3762
3769
  queryKey: u,
3763
- widgetModel: d
3764
- } = rn(w);
3765
- let m;
3766
- i[10] !== k || i[11] !== d || i[12] !== l ? (m = (_) => {
3770
+ widgetModel: g
3771
+ } = rn(m);
3772
+ let w;
3773
+ i[10] !== E || i[11] !== g || i[12] !== l ? (w = (_) => {
3767
3774
  const {
3768
3775
  signal: T
3769
3776
  } = _;
3770
- if (!d)
3777
+ if (!g)
3771
3778
  throw new Error("widgetModel is not available");
3772
- return A(d)({
3779
+ return A(g)({
3773
3780
  ...l,
3774
- filters: k,
3781
+ filters: E,
3775
3782
  signal: T
3776
3783
  });
3777
- }, i[10] = k, i[11] = d, i[12] = l, i[13] = m) : m = i[13];
3778
- const v = !!d && E;
3779
- let b;
3780
- return i[14] !== u || i[15] !== m || i[16] !== v || i[17] !== y ? (b = {
3784
+ }, i[10] = E, i[11] = g, i[12] = l, i[13] = w) : w = i[13];
3785
+ const k = !!g && b;
3786
+ let v;
3787
+ return i[14] !== u || i[15] !== w || i[16] !== k || i[17] !== y ? (v = {
3781
3788
  queryKey: u,
3782
- queryFn: m,
3783
- enabled: v,
3789
+ queryFn: w,
3790
+ enabled: k,
3784
3791
  ...y
3785
- }, i[14] = u, i[15] = m, i[16] = v, i[17] = y, i[18] = b) : b = i[18], Oe(b);
3792
+ }, i[14] = u, i[15] = w, i[16] = k, i[17] = y, i[18] = v) : v = i[18], Oe(v);
3786
3793
  };
3787
3794
  return {
3788
3795
  useModelHook: e,
@@ -3877,12 +3884,12 @@ const {
3877
3884
  getWidgetMethod: (r) => r.getScatter.bind(r)
3878
3885
  }), {
3879
3886
  useModelHook: bi,
3880
- ModelComponent: Ei
3887
+ ModelComponent: vi
3881
3888
  } = fA({
3882
3889
  queryKeyPrefix: ["table"],
3883
3890
  getWidgetMethod: (r) => r.getTable.bind(r)
3884
3891
  }), {
3885
- useModelHook: vi,
3892
+ useModelHook: Ei,
3886
3893
  ModelComponent: ki
3887
3894
  } = fA({
3888
3895
  queryKeyPrefix: ["timeSeries"],
@@ -3901,19 +3908,19 @@ function Bi(r) {
3901
3908
  let l;
3902
3909
  A[2] !== i ? (l = i === void 0 ? [] : i, A[2] = i, A[3] = l) : l = A[3];
3903
3910
  const f = l;
3904
- let g;
3905
- A[4] !== e || A[5] !== f ? (g = /* @__PURE__ */ Y(ir, { values: f, children: e }), A[4] = e, A[5] = f, A[6] = g) : g = A[6];
3906
- let c;
3907
- A[7] !== s || A[8] !== g ? (c = /* @__PURE__ */ Y(I0, { values: s, children: g }), A[7] = s, A[8] = g, A[9] = c) : c = A[9];
3908
3911
  let h;
3909
- return A[10] !== t || A[11] !== c ? (h = /* @__PURE__ */ Y(C0, { values: t, children: c }), A[10] = t, A[11] = c, A[12] = h) : h = A[12], h;
3912
+ A[4] !== e || A[5] !== f ? (h = /* @__PURE__ */ Y(ir, { values: f, children: e }), A[4] = e, A[5] = f, A[6] = h) : h = A[6];
3913
+ let d;
3914
+ A[7] !== s || A[8] !== h ? (d = /* @__PURE__ */ Y(I0, { values: s, children: h }), A[7] = s, A[8] = h, A[9] = d) : d = A[9];
3915
+ let c;
3916
+ return A[10] !== t || A[11] !== d ? (c = /* @__PURE__ */ Y(C0, { values: t, children: d }), A[10] = t, A[11] = d, A[12] = c) : c = A[12], c;
3910
3917
  }
3911
3918
  function _i(r, A) {
3912
- const e = G(19), t = EA(ln), n = EA(sn);
3919
+ const e = G(19), t = vA(ln), n = vA(sn);
3913
3920
  let i;
3914
3921
  if (e[0] !== t || e[1] !== r) {
3915
- let k;
3916
- e[3] !== t ? (k = (u) => t[u], e[3] = t, e[4] = k) : k = e[4], i = He(r.map(k).filter(on)).toReversed(), e[0] = t, e[1] = r, e[2] = i;
3922
+ let E;
3923
+ e[3] !== t ? (E = (u) => t[u], e[3] = t, e[4] = E) : E = e[4], i = He(r.map(E).filter(on)).toReversed(), e[0] = t, e[1] = r, e[2] = i;
3917
3924
  } else
3918
3925
  i = e[2];
3919
3926
  const o = i;
@@ -3921,53 +3928,53 @@ function _i(r, A) {
3921
3928
  e[5] !== A || e[6] !== o ? (s = o.map(A), e[5] = A, e[6] = o, e[7] = s) : s = e[7];
3922
3929
  const l = s;
3923
3930
  let f;
3924
- e[8] !== n ? (f = (k) => {
3931
+ e[8] !== n ? (f = (E) => {
3925
3932
  const {
3926
3933
  id: u,
3927
- visible: d,
3928
- ...m
3929
- } = k;
3934
+ visible: g,
3935
+ ...w
3936
+ } = E;
3930
3937
  n(u, {
3931
3938
  props: {
3932
- visible: d
3939
+ visible: g
3933
3940
  },
3934
- legend: m
3941
+ legend: w
3935
3942
  });
3936
3943
  }, e[8] = n, e[9] = f) : f = e[9];
3937
- const g = f;
3938
- let c;
3939
- e[10] !== n ? (c = (k) => {
3944
+ const h = f;
3945
+ let d;
3946
+ e[10] !== n ? (d = (E) => {
3940
3947
  const {
3941
3948
  id: u,
3942
- collapsed: d
3943
- } = k;
3949
+ collapsed: g
3950
+ } = E;
3944
3951
  n(u, {
3945
3952
  legend: {
3946
- collapsed: d
3953
+ collapsed: g
3947
3954
  }
3948
3955
  });
3949
- }, e[10] = n, e[11] = c) : c = e[11];
3950
- const h = c;
3956
+ }, e[10] = n, e[11] = d) : d = e[11];
3957
+ const c = d;
3951
3958
  let y;
3952
- e[12] !== n ? (y = (k) => {
3959
+ e[12] !== n ? (y = (E) => {
3953
3960
  const {
3954
3961
  id: u,
3955
- opacity: d
3956
- } = k;
3962
+ opacity: g
3963
+ } = E;
3957
3964
  n(u, {
3958
3965
  props: {
3959
- opacity: d
3966
+ opacity: g
3960
3967
  }
3961
3968
  });
3962
3969
  }, e[12] = n, e[13] = y) : y = e[13];
3963
- const E = y;
3964
- let w;
3965
- return e[14] !== l || e[15] !== E || e[16] !== h || e[17] !== g ? (w = {
3970
+ const b = y;
3971
+ let m;
3972
+ return e[14] !== l || e[15] !== b || e[16] !== c || e[17] !== h ? (m = {
3966
3973
  legend: l,
3967
- onChangeVisibility: g,
3968
- onChangeOpacity: E,
3969
- onChangeRowCollapse: h
3970
- }, e[14] = l, e[15] = E, e[16] = h, e[17] = g, e[18] = w) : w = e[18], w;
3974
+ onChangeVisibility: h,
3975
+ onChangeOpacity: b,
3976
+ onChangeRowCollapse: c
3977
+ }, e[14] = l, e[15] = b, e[16] = c, e[17] = h, e[18] = m) : m = e[18], m;
3971
3978
  }
3972
3979
  function on(r) {
3973
3980
  return !!r?.legend;
@@ -3981,39 +3988,39 @@ function ln(r) {
3981
3988
  function xi({
3982
3989
  mapId: r
3983
3990
  }) {
3984
- const [A, e] = uA(void 0), [t, n] = uA(!1), [i, o] = uA(void 0), s = L((u) => u.maps[r]?.basemap), l = L((u) => u.getDeckInstance), f = L((u) => u.getOverlayInstance), g = L((u) => u.areLayersLoaded[r]), h = L((u) => u.maps[r]?.isLoaded) && g, {
3991
+ const [A, e] = uA(void 0), [t, n] = uA(!1), [i, o] = uA(void 0), s = L((u) => u.maps[r]?.basemap), l = L((u) => u.getDeckInstance), f = L((u) => u.getOverlayInstance), h = L((u) => u.areLayersLoaded[r]), c = L((u) => u.maps[r]?.isLoaded) && h, {
3985
3992
  type: y
3986
- } = BA[s], E = y === aA.googleMaps, w = CA(async () => {
3987
- const u = l(r), d = f(r);
3993
+ } = BA[s], b = y === aA.googleMaps, m = CA(async () => {
3994
+ const u = l(r), g = f(r);
3988
3995
  try {
3989
- const m = document.createElement("canvas");
3990
- m.width = u.width ?? 0, m.height = u.height ?? 0;
3991
- const v = m.getContext("2d");
3992
- if (E) {
3993
- const _ = d;
3996
+ const w = document.createElement("canvas");
3997
+ w.width = u.width ?? 0, w.height = u.height ?? 0;
3998
+ const k = w.getContext("2d");
3999
+ if (b) {
4000
+ const _ = g;
3994
4001
  if (_.getRenderingType() !== "RASTER")
3995
4002
  throw new Error("Only raster type is supported for Google Maps");
3996
- const T = await Xt(_.getDiv(), {
4003
+ const T = await Jt(_.getDiv(), {
3997
4004
  useCORS: !0
3998
4005
  });
3999
- v?.drawImage(T, 0, 0, u.width, u.height);
4006
+ k?.drawImage(T, 0, 0, u.width, u.height);
4000
4007
  } else {
4001
- const _ = d;
4002
- _.redraw(), v?.drawImage(_.getMap().getCanvas(), 0, 0, u.width, u.height);
4008
+ const _ = g;
4009
+ _.redraw(), k?.drawImage(_.getMap().getCanvas(), 0, 0, u.width, u.height);
4003
4010
  }
4004
- u?.redraw("screenshot"), v?.drawImage(u.getCanvas(), 0, 0, u.width, u.height);
4005
- const b = m.toDataURL();
4006
- e(b);
4007
- } catch (m) {
4008
- o(m), console.error(m);
4011
+ u?.redraw("screenshot"), k?.drawImage(u.getCanvas(), 0, 0, u.width, u.height);
4012
+ const v = w.toDataURL();
4013
+ e(v);
4014
+ } catch (w) {
4015
+ o(w), console.error(w);
4009
4016
  } finally {
4010
4017
  n(!1);
4011
4018
  }
4012
- }, [l, E, r, f]);
4019
+ }, [l, b, r, f]);
4013
4020
  return {
4014
4021
  takeScreenshot: CA(() => {
4015
- o(void 0), n(!0), h && w();
4016
- }, [w, h]),
4022
+ o(void 0), n(!0), c && m();
4023
+ }, [m, c]),
4017
4024
  isLoading: t,
4018
4025
  screenshot: A,
4019
4026
  error: i
@@ -4038,13 +4045,13 @@ function Si(r) {
4038
4045
  mapId: e
4039
4046
  }, A[4] = e, A[5] = s) : s = A[5];
4040
4047
  const l = hn(s), f = o ?? l ?? n;
4041
- let g;
4042
- return A[6] !== o || A[7] !== l || A[8] !== f || A[9] !== n ? (g = {
4048
+ let h;
4049
+ return A[6] !== o || A[7] !== l || A[8] !== f || A[9] !== n ? (h = {
4043
4050
  spatialFilter: f,
4044
4051
  staticSpatialFilter: l,
4045
4052
  lassoToolsSpatialFilter: o,
4046
4053
  viewportSpatialFilter: n
4047
- }, A[6] = o, A[7] = l, A[8] = f, A[9] = n, A[10] = g) : g = A[10], g;
4054
+ }, A[6] = o, A[7] = l, A[8] = f, A[9] = n, A[10] = h) : h = A[10], h;
4048
4055
  }
4049
4056
  function an(r) {
4050
4057
  const A = G(4), {
@@ -4081,7 +4088,7 @@ function un(r) {
4081
4088
  i = void 0;
4082
4089
  break A;
4083
4090
  }
4084
- i = XA(o.map(fn)).geometry;
4091
+ i = JA(o.map(fn)).geometry;
4085
4092
  }
4086
4093
  A[2] = n, A[3] = i;
4087
4094
  } else
@@ -4110,7 +4117,7 @@ function hn(r) {
4110
4117
  let o;
4111
4118
  if (A[2] !== n) {
4112
4119
  const s = Object.values(n).filter(dn).flatMap(gn);
4113
- o = XA(s), A[2] = n, A[3] = o;
4120
+ o = JA(s), A[2] = n, A[3] = o;
4114
4121
  } else
4115
4122
  o = A[3];
4116
4123
  i = o.geometry;
@@ -4153,11 +4160,11 @@ function Mi({
4153
4160
  getTitle: l = pn,
4154
4161
  getValue: f = wn
4155
4162
  }) {
4156
- const g = i ? l(i) : "", h = e.reduce((y, E) => {
4157
- const w = A[E], k = r[E], u = f(k, t, w), d = n ? o(E) : "";
4158
- return y + s(d, u);
4163
+ const h = i ? l(i) : "", c = e.reduce((y, b) => {
4164
+ const m = A[b], E = r[b], u = f(E, t, m), g = n ? o(b) : "";
4165
+ return y + s(g, u);
4159
4166
  }, "");
4160
- return g + h;
4167
+ return h + c;
4161
4168
  }
4162
4169
  function pn(r) {
4163
4170
  return `<h3 style="margin: 0"><strong>${r}</strong></h3></br>`;
@@ -4194,16 +4201,16 @@ function Di(r) {
4194
4201
  visible: r.props.visible ?? !0
4195
4202
  };
4196
4203
  }
4197
- const En = {
4204
+ const vn = {
4198
4205
  Point: (r) => Pt(r.coordinates),
4199
4206
  LineString: (r) => Dt(r.coordinates),
4200
4207
  Polygon: (r) => Mt(r.coordinates),
4201
4208
  MultiPoint: (r) => St(r.coordinates),
4202
4209
  MultiLineString: (r) => xt(r.coordinates),
4203
- MultiPolygon: (r) => XA(r.coordinates)
4210
+ MultiPolygon: (r) => JA(r.coordinates)
4204
4211
  };
4205
4212
  function Pi(r) {
4206
- const A = En[r.type], e = A?.(r);
4213
+ const A = vn[r.type], e = A?.(r);
4207
4214
  if (e)
4208
4215
  return De(e).geometry.coordinates;
4209
4216
  }
@@ -4213,36 +4220,36 @@ function Ti(r) {
4213
4220
  mapId: t
4214
4221
  } = r;
4215
4222
  let n;
4216
- A[0] !== t ? (n = (b) => b.viewStates[t], A[0] = t, A[1] = n) : n = A[1];
4223
+ A[0] !== t ? (n = (v) => v.viewStates[t], A[0] = t, A[1] = n) : n = A[1];
4217
4224
  const {
4218
4225
  zoom: i,
4219
4226
  maxZoom: o,
4220
4227
  minZoom: s
4221
4228
  } = L(n);
4222
4229
  let l;
4223
- A[2] !== t ? (l = (b) => b.areLayersLoaded[t], A[2] = t, A[3] = l) : l = A[3];
4224
- const f = L(l), g = L(Cn), c = L(kn), h = L(vn), y = !f;
4230
+ A[2] !== t ? (l = (v) => v.areLayersLoaded[t], A[2] = t, A[3] = l) : l = A[3];
4231
+ const f = L(l), h = L(Cn), d = L(kn), c = L(En), y = !f;
4232
+ let b;
4233
+ A[4] !== t || A[5] !== h ? (b = (v) => h(t, v), A[4] = t, A[5] = h, A[6] = b) : b = A[6];
4234
+ const m = b;
4225
4235
  let E;
4226
- A[4] !== t || A[5] !== g ? (E = (b) => g(t, b), A[4] = t, A[5] = g, A[6] = E) : E = A[6];
4227
- const w = E;
4236
+ A[7] !== d || A[8] !== t ? (E = (v) => d(t, v), A[7] = d, A[8] = t, A[9] = E) : E = A[9];
4237
+ const u = E;
4238
+ let g;
4239
+ A[10] !== t || A[11] !== c ? (g = () => c(t), A[10] = t, A[11] = c, A[12] = g) : g = A[12];
4240
+ const w = g;
4228
4241
  let k;
4229
- A[7] !== c || A[8] !== t ? (k = (b) => c(t, b), A[7] = c, A[8] = t, A[9] = k) : k = A[9];
4230
- const u = k;
4231
- let d;
4232
- A[10] !== t || A[11] !== h ? (d = () => h(t), A[10] = t, A[11] = h, A[12] = d) : d = A[12];
4233
- const m = d;
4234
- let v;
4235
- return A[13] !== e || A[14] !== o || A[15] !== s || A[16] !== y || A[17] !== w || A[18] !== u || A[19] !== m || A[20] !== i ? (v = e({
4242
+ return A[13] !== e || A[14] !== o || A[15] !== s || A[16] !== y || A[17] !== m || A[18] !== u || A[19] !== w || A[20] !== i ? (k = e({
4236
4243
  zoom: i,
4237
4244
  maxZoom: o,
4238
4245
  minZoom: s,
4239
4246
  isLoading: y,
4240
- setZoom: w,
4247
+ setZoom: m,
4241
4248
  flyTo: u,
4242
- resetViewState: m
4243
- }), A[13] = e, A[14] = o, A[15] = s, A[16] = y, A[17] = w, A[18] = u, A[19] = m, A[20] = i, A[21] = v) : v = A[21], v;
4249
+ resetViewState: w
4250
+ }), A[13] = e, A[14] = o, A[15] = s, A[16] = y, A[17] = m, A[18] = u, A[19] = w, A[20] = i, A[21] = k) : k = A[21], k;
4244
4251
  }
4245
- function vn(r) {
4252
+ function En(r) {
4246
4253
  return r.resetViewState;
4247
4254
  }
4248
4255
  function kn(r) {
@@ -4265,11 +4272,11 @@ async function Bn({
4265
4272
  params: l,
4266
4273
  apiVersion: f = te
4267
4274
  }) {
4268
- const g = `${r}/${f}/stats/${A}/${n}`;
4275
+ const h = `${r}/${f}/stats/${A}/${n}`;
4269
4276
  return qe({
4270
4277
  accessToken: e,
4271
4278
  signal: i,
4272
- url: g,
4279
+ url: h,
4273
4280
  method: wA.get,
4274
4281
  params: {
4275
4282
  q: t,
@@ -4305,7 +4312,7 @@ async function _n({
4305
4312
  });
4306
4313
  }
4307
4314
  function Oi(r) {
4308
- const A = G(23), {
4315
+ const A = G(22), {
4309
4316
  source: e,
4310
4317
  attribute: t,
4311
4318
  accessToken: n,
@@ -4315,43 +4322,42 @@ function Oi(r) {
4315
4322
  } = r;
4316
4323
  let l;
4317
4324
  A[0] !== s ? (l = s === void 0 ? {} : s, A[0] = s, A[1] = l) : l = A[1];
4318
- let f, g;
4325
+ let f, h;
4319
4326
  A[2] !== l ? ({
4320
4327
  enabled: f,
4321
- ...g
4322
- } = l, A[2] = l, A[3] = f, A[4] = g) : (f = A[3], g = A[4]);
4323
- const c = f === void 0 ? !0 : f;
4324
- let h;
4325
- A[5] !== t ? (h = ["stats", t], A[5] = t, A[6] = h) : h = A[6];
4328
+ ...h
4329
+ } = l, A[2] = l, A[3] = f, A[4] = h) : (f = A[3], h = A[4]);
4330
+ const d = f === void 0 ? !0 : f;
4331
+ let c;
4332
+ A[5] !== t ? (c = ["stats", t], A[5] = t, A[6] = c) : c = A[6];
4326
4333
  const y = e?.id ?? "";
4327
- let E;
4328
- A[7] !== n || A[8] !== h || A[9] !== y ? (E = {
4329
- queryKeyPrefix: h,
4330
- accessToken: n,
4334
+ let b;
4335
+ A[7] !== c || A[8] !== y ? (b = {
4336
+ queryKeyPrefix: c,
4331
4337
  sourceId: y
4332
- }, A[7] = n, A[8] = h, A[9] = y, A[10] = E) : E = A[10];
4333
- const w = Ze(E);
4334
- let k;
4335
- A[11] !== n || A[12] !== t || A[13] !== o || A[14] !== i || A[15] !== e ? (k = () => xn({
4338
+ }, A[7] = c, A[8] = y, A[9] = b) : b = A[9];
4339
+ const m = Ze(b);
4340
+ let E;
4341
+ A[10] !== n || A[11] !== t || A[12] !== o || A[13] !== i || A[14] !== e ? (E = () => xn({
4336
4342
  source: e,
4337
4343
  params: i,
4338
4344
  attribute: t,
4339
4345
  accessToken: n,
4340
4346
  fetcherOptions: o
4341
- }), A[11] = n, A[12] = t, A[13] = o, A[14] = i, A[15] = e, A[16] = k) : k = A[16];
4347
+ }), A[10] = n, A[11] = t, A[12] = o, A[13] = i, A[14] = e, A[15] = E) : E = A[15];
4342
4348
  let u;
4343
- return A[17] !== c || A[18] !== w || A[19] !== e || A[20] !== k || A[21] !== g ? (u = {
4344
- queryKey: w,
4345
- queryFn: k,
4346
- select(d) {
4349
+ return A[16] !== d || A[17] !== m || A[18] !== e || A[19] !== E || A[20] !== h ? (u = {
4350
+ queryKey: m,
4351
+ queryFn: E,
4352
+ select(g) {
4347
4353
  return {
4348
- ...d,
4349
- type: d.type.toLowerCase()
4354
+ ...g,
4355
+ type: g.type.toLowerCase()
4350
4356
  };
4351
4357
  },
4352
- enabled: !!e && c,
4353
- ...g
4354
- }, A[17] = c, A[18] = w, A[19] = e, A[20] = k, A[21] = g, A[22] = u) : u = A[22], Oe(u);
4358
+ enabled: !!e && d,
4359
+ ...h
4360
+ }, A[16] = d, A[17] = m, A[18] = e, A[19] = E, A[20] = h, A[21] = u) : u = A[21], Oe(u);
4355
4361
  }
4356
4362
  function xn({
4357
4363
  source: r,
@@ -4501,8 +4507,8 @@ export {
4501
4507
  zA as DEFAULT_LASSO_TOOLS_MODES,
4502
4508
  GA as DEFAULT_LASSO_TOOLS_PROPS,
4503
4509
  DA as DEFAULT_MASK_LAYER_PROPS,
4504
- X0 as DEFAULT_MEASUREMENT_TOOLS_MODES,
4505
- J0 as DEFAULT_MEASUREMENT_TOOLS_UNITS,
4510
+ J0 as DEFAULT_MEASUREMENT_TOOLS_MODES,
4511
+ X0 as DEFAULT_MEASUREMENT_TOOLS_UNITS,
4506
4512
  jA as DEFAULT_MEASURE_COLORS,
4507
4513
  f0 as DeckGLComponent,
4508
4514
  rA as EditableEditType,
@@ -4510,7 +4516,7 @@ export {
4510
4516
  hi as FormulaModel,
4511
4517
  RA as GmapsBasemap,
4512
4518
  di as HistogramModel,
4513
- vA as INTL_UNITS,
4519
+ EA as INTL_UNITS,
4514
4520
  er as LassoTools,
4515
4521
  I0 as LassoToolsProvider,
4516
4522
  BA as MAPS_BASEMAP,
@@ -4530,7 +4536,7 @@ export {
4530
4536
  ir as MeasurementToolsProvider,
4531
4537
  mi as RangeModel,
4532
4538
  yi as ScatterModel,
4533
- Ei as TableModel,
4539
+ vi as TableModel,
4534
4540
  ki as TimeSeriesModel,
4535
4541
  Ti as ZoomControls,
4536
4542
  Ci as clientID,
@@ -4540,7 +4546,7 @@ export {
4540
4546
  nr as createMeasurementToolsStore,
4541
4547
  pA as formatterTypes,
4542
4548
  Pi as getCentroid,
4543
- Jt as getCursorDefault,
4549
+ Xt as getCursorDefault,
4544
4550
  ti as getDeckController,
4545
4551
  ii as getFilterValues,
4546
4552
  T0 as getLassoToolsLayer,
@@ -4560,7 +4566,7 @@ export {
4560
4566
  gi as useHistogram,
4561
4567
  un as useLassoToolsSpatialFilter,
4562
4568
  K as useLassoToolsState,
4563
- EA as useLayerStore,
4569
+ vA as useLayerStore,
4564
4570
  Cr as useLayers,
4565
4571
  _i as useLegend,
4566
4572
  xi as useMapScreenshot,
@@ -4574,7 +4580,7 @@ export {
4574
4580
  Si as useSpatialFilter,
4575
4581
  Oi as useStats,
4576
4582
  bi as useTable,
4577
- vi as useTimeSeries,
4583
+ Ei as useTimeSeries,
4578
4584
  an as useViewportSpatialFilter,
4579
4585
  An as useWidgetModel
4580
4586
  };