@takram/three-geospatial 0.7.1 → 0.9.0

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.
Files changed (71) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +1 -1
  3. package/build/index.cjs +1 -1
  4. package/build/index.cjs.map +1 -1
  5. package/build/index.js +580 -598
  6. package/build/index.js.map +1 -1
  7. package/build/r3f.cjs +1 -1
  8. package/build/r3f.js +1 -1
  9. package/build/shared2.cjs +1 -1
  10. package/build/shared2.cjs.map +1 -1
  11. package/build/shared2.js +27 -212
  12. package/build/shared2.js.map +1 -1
  13. package/build/shared3.cjs +1 -1
  14. package/build/shared3.cjs.map +1 -1
  15. package/build/shared3.js +213 -8
  16. package/build/shared3.js.map +1 -1
  17. package/build/webgpu.cjs +6 -1
  18. package/build/webgpu.cjs.map +1 -1
  19. package/build/webgpu.js +1111 -768
  20. package/build/webgpu.js.map +1 -1
  21. package/package.json +1 -1
  22. package/src/EllipsoidGeometry.ts +1 -1
  23. package/src/PointOfView.ts +12 -5
  24. package/src/STBNLoader.ts +41 -19
  25. package/src/unrollLoops.ts +1 -1
  26. package/src/webgpu/CascadedShadowMapsNode.ts +48 -0
  27. package/src/webgpu/DualMipmapFilterNode.ts +8 -4
  28. package/src/webgpu/FilterNode.ts +5 -3
  29. package/src/webgpu/FnLayout.ts +17 -16
  30. package/src/webgpu/HighpVelocityNode.ts +9 -4
  31. package/src/webgpu/LensFlareNode.ts +12 -16
  32. package/src/webgpu/LensGlareNode.ts +28 -32
  33. package/src/webgpu/LensHaloNode.ts +2 -1
  34. package/src/webgpu/OutputTexture3DNode.ts +10 -0
  35. package/src/webgpu/OutputTextureNode.ts +10 -0
  36. package/src/webgpu/STBNTextureNode.ts +58 -0
  37. package/src/webgpu/ScreenSpaceShadowNode.ts +685 -0
  38. package/src/webgpu/SeparableFilterNode.ts +8 -5
  39. package/src/webgpu/SingleFilterNode.ts +5 -2
  40. package/src/webgpu/StorageTexture3DNode.ts +30 -0
  41. package/src/webgpu/TemporalAntialiasNode.ts +178 -137
  42. package/src/webgpu/accessors.ts +75 -36
  43. package/src/webgpu/debug.ts +38 -47
  44. package/src/webgpu/events.ts +18 -0
  45. package/src/webgpu/index.ts +5 -1
  46. package/src/webgpu/math.ts +116 -15
  47. package/src/webgpu/sampling.ts +39 -5
  48. package/src/webgpu/transformations.ts +71 -44
  49. package/types/PointOfView.d.ts +1 -1
  50. package/types/STBNLoader.d.ts +3 -4
  51. package/types/webgpu/CascadedShadowMapsNode.d.ts +13 -0
  52. package/types/webgpu/DualMipmapFilterNode.d.ts +1 -2
  53. package/types/webgpu/FnLayout.d.ts +4 -4
  54. package/types/webgpu/HighpVelocityNode.d.ts +1 -0
  55. package/types/webgpu/LensFlareNode.d.ts +2 -3
  56. package/types/webgpu/LensGlareNode.d.ts +1 -1
  57. package/types/webgpu/STBNTextureNode.d.ts +9 -0
  58. package/types/webgpu/ScreenSpaceShadowNode.d.ts +33 -0
  59. package/types/webgpu/SeparableFilterNode.d.ts +2 -3
  60. package/types/webgpu/SingleFilterNode.d.ts +1 -2
  61. package/types/webgpu/StorageTexture3DNode.d.ts +9 -0
  62. package/types/webgpu/TemporalAntialiasNode.d.ts +9 -10
  63. package/types/webgpu/accessors.d.ts +9 -8
  64. package/types/webgpu/debug.d.ts +4 -3
  65. package/types/webgpu/events.d.ts +3 -0
  66. package/types/webgpu/index.d.ts +5 -1
  67. package/types/webgpu/math.d.ts +3 -0
  68. package/types/webgpu/sampling.d.ts +2 -1
  69. package/types/webgpu/transformations.d.ts +7 -10
  70. package/src/webgpu/RTTextureNode.ts +0 -130
  71. package/types/webgpu/RTTextureNode.d.ts +0 -22
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/ArrayBufferLoader.ts","../src/bufferGeometry.ts","../src/capabilities.ts","../src/constants.ts","../node_modules/.pnpm/@petamoriken+float16@3.9.3/node_modules/@petamoriken/float16/src/_util/messages.mjs","../node_modules/.pnpm/@petamoriken+float16@3.9.3/node_modules/@petamoriken/float16/src/_util/primordials.mjs","../node_modules/.pnpm/@petamoriken+float16@3.9.3/node_modules/@petamoriken/float16/src/_util/arrayIterator.mjs","../node_modules/.pnpm/@petamoriken+float16@3.9.3/node_modules/@petamoriken/float16/src/_util/is.mjs","../node_modules/.pnpm/@petamoriken+float16@3.9.3/node_modules/@petamoriken/float16/src/_util/brand.mjs","../node_modules/.pnpm/@petamoriken+float16@3.9.3/node_modules/@petamoriken/float16/src/_util/converter.mjs","../node_modules/.pnpm/@petamoriken+float16@3.9.3/node_modules/@petamoriken/float16/src/_util/spec.mjs","../node_modules/.pnpm/@petamoriken+float16@3.9.3/node_modules/@petamoriken/float16/src/Float16Array.mjs","../node_modules/.pnpm/@petamoriken+float16@3.9.3/node_modules/@petamoriken/float16/src/DataView.mjs","../src/typedArray.ts","../src/TypedArrayLoader.ts","../src/DataTextureLoader.ts","../src/math.ts","../src/decorators.ts","../src/defineShorthand.ts","../src/EXR3DTextureLoader.ts","../src/EXRTextureLoader.ts","../src/PointOfView.ts","../src/Rectangle.ts","../src/resolveIncludes.ts","../src/typedArrayParsers.ts","../src/STBNLoader.ts","../src/TileCoordinate.ts","../src/TilingScheme.ts","../src/types.ts","../src/unrollLoops.ts"],"names":["ArrayBufferLoader","Loader","url","onLoad","onProgress","onError","loader","FileLoader","arrayBuffer","invariant","error","toBufferGeometryLike","geometry","attributes","index","boundingBox","boundingSphere","attribute","buffer","fromBufferGeometryLike","input","result","BufferGeometry","name","BufferAttribute","min","max","Box3","Vector3","center","radius","Sphere","isFloatLinearSupported","renderer","WebGLRenderer","STBN_TEXTURE_WIDTH","STBN_TEXTURE_HEIGHT","STBN_TEXTURE_DEPTH","ref","DEFAULT_STBN_URL","THIS_IS_NOT_AN_OBJECT","THIS_IS_NOT_A_FLOAT16ARRAY_OBJECT","THIS_CONSTRUCTOR_IS_NOT_A_SUBCLASS_OF_FLOAT16ARRAY","THE_CONSTRUCTOR_PROPERTY_VALUE_IS_NOT_AN_OBJECT","SPECIES_CONSTRUCTOR_DIDNT_RETURN_TYPEDARRAY_OBJECT","DERIVED_CONSTRUCTOR_CREATED_TYPEDARRAY_OBJECT_WHICH_WAS_TOO_SMALL_LENGTH","ATTEMPTING_TO_ACCESS_DETACHED_ARRAYBUFFER","CANNOT_CONVERT_UNDEFINED_OR_NULL_TO_OBJECT","CANNOT_MIX_BIGINT_AND_OTHER_TYPES","ITERATOR_PROPERTY_IS_NOT_CALLABLE","REDUCE_OF_EMPTY_ARRAY_WITH_NO_INITIAL_VALUE","THE_COMPARISON_FUNCTION_MUST_BE_EITHER_A_FUNCTION_OR_UNDEFINED","OFFSET_IS_OUT_OF_BOUNDS","uncurryThis","target","thisArg","args","ReflectApply","uncurryThisGetter","key","ReflectGetOwnPropertyDescriptor","ReflectConstruct","ReflectDefineProperty","ReflectGet","ReflectGetPrototypeOf","ReflectHas","ReflectOwnKeys","ReflectSet","ReflectSetPrototypeOf","NativeProxy","EPSILON","MAX_SAFE_INTEGER","NumberIsFinite","NumberIsNaN","SymbolIterator","SymbolSpecies","SymbolToStringTag","SymbolFor","NativeObject","ObjectCreate","ObjectDefineProperty","ObjectFreeze","ObjectIs","ObjectPrototype","ObjectPrototype__lookupGetter__","object","NativeTypeError","descriptor","ObjectHasOwn","NativeArray","ArrayIsArray","ArrayPrototype","ArrayPrototypeJoin","ArrayPrototypePush","ArrayPrototypeToLocaleString","NativeArrayPrototypeSymbolIterator","ArrayPrototypeSymbolIterator","MathAbs","MathTrunc","NativeArrayBuffer","ArrayBufferIsView","ArrayBufferPrototype","ArrayBufferPrototypeSlice","ArrayBufferPrototypeGetByteLength","NativeSharedArrayBuffer","SharedArrayBufferPrototypeGetByteLength","TypedArray","TypedArrayFrom","TypedArrayPrototype","NativeTypedArrayPrototypeSymbolIterator","TypedArrayPrototypeKeys","TypedArrayPrototypeValues","TypedArrayPrototypeEntries","TypedArrayPrototypeSet","TypedArrayPrototypeReverse","TypedArrayPrototypeFill","TypedArrayPrototypeCopyWithin","TypedArrayPrototypeSort","TypedArrayPrototypeSlice","TypedArrayPrototypeSubarray","TypedArrayPrototypeGetBuffer","TypedArrayPrototypeGetByteOffset","TypedArrayPrototypeGetLength","TypedArrayPrototypeGetSymbolToStringTag","NativeUint8Array","NativeUint16Array","Uint16ArrayFrom","NativeUint32Array","NativeFloat32Array","ArrayIteratorPrototype","ArrayIteratorPrototypeNext","GeneratorPrototypeNext","IteratorPrototype","DataViewPrototype","DataViewPrototypeGetUint16","NativeRangeError","NativeWeakSet","WeakSetPrototype","WeakSetPrototypeAdd","WeakSetPrototypeHas","NativeWeakMap","WeakMapPrototype","WeakMapPrototypeGet","WeakMapPrototypeHas","WeakMapPrototypeSet","arrayIterators","SafeIteratorPrototype","arrayIterator","safeIfNeeded","array","safe","generators","DummyArrayIteratorPrototype","generator","wrap","dummy","isObject","value","isObjectLike","isNativeTypedArray","isNativeBigIntTypedArray","typedArrayName","isArrayBuffer","isSharedArrayBuffer","isAnyArrayBuffer","isOrdinaryArray","isOrdinaryNativeTypedArray","isCanonicalIntegerIndexString","number","brand","hasFloat16ArrayBrand","prototype","constructor","INVERSE_OF_EPSILON","roundTiesToEven","num","FLOAT16_MIN_VALUE","FLOAT16_MAX_VALUE","FLOAT16_EPSILON","FLOAT16_EPSILON_MULTIPLIED_BY_FLOAT16_MIN_VALUE","FLOAT16_EPSILON_DEVIDED_BY_EPSILON","roundToFloat16","sign","absolute","temp","floatView","uint32View","baseTable","shiftTable","i","e","roundToFloat16Bits","f","mantissaTable","m","exponentTable","offsetTable","convertToNumber","float16bits","ToIntegerOrInfinity","ToLength","length","SpeciesConstructor","defaultConstructor","species","IsDetachedBuffer","defaultCompare","x","y","isXNaN","isYNaN","isXPlusZero","isYPlusZero","BYTES_PER_ELEMENT","float16bitsArrays","isFloat16Array","assertFloat16Array","assertSpeciesTypedArray","count","isTargetFloat16Array","isTargetTypedArray","float16bitsArray","getFloat16BitsArray","float16","cloned","Float16Array","copyToArray","TypedArrayPrototypeGetters","handler","receiver","_byteOffset","_length","list","data","iterator","proxy","src","opts","Constructor","uint16","mapFunc","val","items","relativeIndex","k","callback","kept","accumulator","start","targetOffset","targetLength","srcLength","clonedFloat16bitsArray","compareFn","sortCompare","end","relativeStart","relativeEnd","final","n","begin","uint16Subarray","element","from","isNaN","separator","Float16ArrayPrototype","getFloat16","dataView","byteOffset","isTypedArray","TypedArrayLoader","parser","manager","getTextureDataType","type","ByteType","UnsignedByteType","ShortType","UnsignedShortType","IntType","UnsignedIntType","HalfFloatType","FloatType","DataTextureLoader","textureClass","options","RGBAFormat","LinearFilter","texture","width","height","depth","clamp","MathUtils","euclideanModulo","inverseLerp","lerp","radians","degrees","isPowerOfTwo","ceilPowerOfTwo","floorPowerOfTwo","normalize","remap","min1","max1","min2","max2","remapClamped","smoothstep","saturate","closeTo","a","b","relativeEpsilon","absoluteEpsilon","diff","define","propertyKey","Material","coerceInt","defineInt","prevValue","coerceFloat","defineFloat","precision","defineExpression","validate","definePropertyShorthand","destination","sourceKeysArgs","descriptors","source","keys","defineUniformShorthand","EXR3DTextureLoader","Data3DTexture","EXRLoader","exr","image","EXRTextureLoader","DataTexture","eastScratch","northScratch","upScratch","vectorScratch1","vectorScratch2","vectorScratch3","matrixScratch","Matrix4","quaternionScratch","Quaternion","rayScratch","Ray","PointOfView","distance","heading","pitch","roll","other","eye","quaternion","up","ellipsoid","Ellipsoid","offset","rollAxis","camera","direction","s","t","_Rectangle","west","south","east","north","Geodetic","Rectangle","includePattern","resolveIncludes","includes","match","path","include","parent","component","hostLittleEndian","isHostLittleEndian","parseTypedArray","getValue","littleEndian","byteIndex","parseUint8Array","parseInt8Array","parseUint16Array","parseInt16Array","parseInt32Array","parseUint32Array","parseFloat16Array","parseFloat32Array","parseFloat64Array","STBNLoader","RedFormat","NearestFilter","RepeatWrapping","traverseChildren","z","maxZ","divisor","nextZ","scale","nextX","nextY","children","child","coord","TileCoordinate","vectorScratch","Vector2","TilingScheme","rectangle","geodetic","size","longitude","tile","reinterpretType","unrollLoopPattern","loopReplacer","snippet","string","unrollLoops"],"mappings":";;;;;;AAGO,MAAMA,WAA0BC,EAAoB;AAAA,EAChD,KACPC,GACAC,GACAC,GACAC,GACM;AACN,UAAMC,IAAS,IAAIC,GAAW,KAAK,OAAO;AAC1C,IAAAD,EAAO,gBAAgB,aAAa,GACpCA,EAAO,iBAAiB,KAAK,aAAa,GAC1CA,EAAO,QAAQ,KAAK,IAAI,GACxBA,EAAO,mBAAmB,KAAK,eAAe,GAC9CA,EAAO;AAAA,MACLJ;AAAA,MACA,CAAAM,MAAe;AACb,QAAAC,GAAUD,aAAuB,WAAW;AAC5C,YAAI;AACF,UAAAL,EAAOK,CAAW;AAAA,QACpB,SAASE,GAAO;AACd,UAAIL,KAAW,OACbA,EAAQK,CAAK,IAEb,QAAQ,MAAMA,CAAK,GAErB,KAAK,QAAQ,UAAUR,CAAG;AAAA,QAC5B;AAAA,MACF;AAAA,MACAE;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AACF;ACAO,SAASM,GACdC,GACyC;AACzC,QAAM,EAAE,YAAAC,GAAY,OAAAC,GAAO,aAAAC,GAAa,gBAAAC,MAAmBJ;AAC3D,SAAO;AAAA,IACL,EAAE,YAAAC,GAAY,OAAAC,GAAO,aAAAC,GAAa,gBAAAC,EAAA;AAAA,IAClC;AAAA,MACE,GAAG,OAAO,OAAOJ,EAAS,UAAU,EAAE;AAAA,QACpC,CAAAK,MAAaA,EAAU,MAAM;AAAA,MAAA;AAAA,MAE/BL,EAAS,OAAO,MAAM;AAAA,IAAA,EACtB,OAAO,CAAAM,MAAUA,KAAU,IAAI;AAAA,EAAA;AAErC;AAEO,SAASC,GACdC,GACAC,IAAS,IAAIC,MACG;AAChB,aAAW,CAACC,GAAMN,CAAS,KAAK,OAAO,QAAQG,EAAM,UAAU;AAC7D,IAAAC,EAAO;AAAA,MACLE;AAAA,MACA,IAAIC;AAAA,QACFP,EAAU;AAAA,QACVA,EAAU;AAAA,QACVA,EAAU;AAAA,MAAA;AAAA,IACZ;AAWJ,MARAI,EAAO,QACLD,EAAM,SAAS,OACX,IAAII;AAAA,IACFJ,EAAM,MAAM;AAAA,IACZA,EAAM,MAAM;AAAA,IACZA,EAAM,MAAM;AAAA,EAAA,IAEd,MACFA,EAAM,eAAe,MAAM;AAC7B,UAAM,EAAE,KAAAK,GAAK,KAAAC,EAAA,IAAQN,EAAM;AAC3B,IAAAC,EAAO,cAAc,IAAIM;AAAA,MACvB,IAAIC,EAAQH,EAAI,GAAGA,EAAI,GAAGA,EAAI,CAAC;AAAA,MAC/B,IAAIG,EAAQF,EAAI,GAAGA,EAAI,GAAGA,EAAI,CAAC;AAAA,IAAA;AAAA,EAEnC;AACA,MAAIN,EAAM,kBAAkB,MAAM;AAChC,UAAM,EAAE,QAAAS,GAAQ,QAAAC,EAAA,IAAWV,EAAM;AACjC,IAAAC,EAAO,iBAAiB,IAAIU;AAAA,MAC1B,IAAIH,EAAQC,EAAO,GAAGA,EAAO,GAAGA,EAAO,CAAC;AAAA,MACxCC;AAAA,IAAA;AAAA,EAEJ;AACA,SAAOT;AACT;ACnFO,SAASW,GACdC,GACS;AACT,SAAOA,aAAoBC,KACvBD,EAAS,WAAA,EAAa,aAAa,0BAA0B,KAAK,OAEhEA,EAAS,QAGT,aAAa,oBAAoB,KAAK;AAC9C;ACbO,MAAME,KAAqB,KACrBC,KAAsB,KACtBC,KAAqB,IAG5BC,KAAM,4CACCC,KAAmB,wFAAwFD,EAAG,kCCN9GE,KAAwB,yBACxBC,KAAoC,qCACpCC,KACX,sDACWC,KACX,mDACWC,KACX,uDACWC,KACX,4EACWC,IACX,6CACWC,KACX,8CACWC,KACX,+DACWC,KAAoC,uCACpCC,KACX,+CACWC,KACX,kEACWC,KAA0B;ACfvC,SAASC,EAAYC,GAAQ;AAC3B,SAAO,CAACC,MAAYC,MACXC,EAAaH,GAAQC,GAASC,CAAI;AAE7C;AAGA,SAASE,EAAkBJ,GAAQK,GAAK;AACtC,SAAON;AAAA,IACLO;AAAA,MACEN;AAAA,MACAK;AAAA,IACN,EAAM;AAAA,EACN;AACA;AAGO,MAAM;AAAA,EACX,OAAOF;AAAA,EACP,WAAWI;AAAA,EACX,gBAAgBC;AAAA,EAChB,KAAKC;AAAA,EACL,0BAA0BH;AAAA,EAC1B,gBAAgBI;AAAA,EAChB,KAAKC;AAAA,EACL,SAASC;AAAA,EACT,KAAKC;AAAA,EACL,gBAAgBC;AAClB,IAAI,SAGSC,KAAc,OAGd;AAAA,EACb,SAAEC;AAAAA,EACA,kBAAAC;AAAA,EACA,UAAUC;AAAA,EACV,OAAOC;AACT,IAAI,QAGS;AAAA,EACX,UAAUC;AAAA,EACV,SAASC;AAAA,EACT,aAAaC;AAAA,EACb,KAAKC;AACP,IAAI,QAGSC,IAAe,QACf;AAAA,EACX,QAAQC;AAAA,EACR,gBAAgBC;AAAA,EAChB,QAAQC;AAAA,EACR,IAAIC;AACN,IAAIJ,GACEK,KAAkBL,EAAa,WAExBM;AAAA;AAAA,EAAsDD,GAAiB,mBAChF9B;AAAA;AAAA,IAAgC8B,GAAiB;AAAA,EAAgB,IACjE,CAACE,GAAQ1B,MAAQ;AACjB,QAAI0B,KAAU;AACZ,YAAMC;AAAA,QACJvC;AAAA,MACR;AAGI,QAAIO,IAASwB,EAAaO,CAAM;AAChC,OAAG;AACD,YAAME,IAAa3B,EAAgCN,GAAQK,CAAG;AAC9D,UAAI4B,MAAe;AACjB,eAAIC,EAAaD,GAAY,KAAK,IACzBA,EAAW,MAGpB;AAAA,IAEJ,UAAUjC,IAASU,GAAsBV,CAAM,OAAO;AAAA,EACxD;AAAA,GAEWkC;AAAA;AAAA,EAAmCV,EAAc,UAC5DzB,EAAY8B,GAAgB,cAAc;AAAA,GAGtCM,KAAc,OACPC,KAAeD,GAAY,SAClCE,KAAiBF,GAAY,WAEtBG,KAAqBvC,EAAYsC,GAAe,IAAI,GAEpDE,KAAqBxC,EAAYsC,GAAe,IAAI,GAEpDG,KAA+BzC;AAAA,EAC1CsC,GAAe;AACjB,GACaI,KAAqCJ,GAAejB,CAAc,GAElEsB,KAA+B3C,EAAY0C,EAAkC,GAG7E;AAAA,EACX,KAAKE;AAAA,EACL,OAAOC;AACT,IAAI,MAGSC,KAAoB,aACpBC,KAAoBD,GAAkB,QAC7CE,KAAuBF,GAAkB,WAElCG,KAA4BjD,EAAYgD,GAAqB,KAAK,GAElEE,KAAoC7C,EAAkB2C,IAAsB,YAAY,GAGxFG,KAA0B,OAAO,oBAAsB,MAAc,oBAAoB,MAEzFC,KAA0CD,MAClD9C,EAAkB8C,GAAwB,WAAW,YAAY,GAKzDE,KAAa1C,GAAsB,UAAU,GACpD2C,KAAiBD,GAAW,MACrBE,IAAsBF,GAAW,WACjCG,KAA0CD,EAAoBlC,CAAc,GAE5EoC,KAA0BzD,EAAYuD,EAAoB,IAAI,GAE9DG,KAA4B1D;AAAA,EACvCuD,EAAoB;AACtB,GAEaI,KAA6B3D;AAAA,EACxCuD,EAAoB;AACtB,GAEaK,KAAyB5D,EAAYuD,EAAoB,GAAG,GAE5DM,KAA6B7D;AAAA,EACxCuD,EAAoB;AACtB,GAEaO,KAA0B9D,EAAYuD,EAAoB,IAAI,GAE9DQ,KAAgC/D;AAAA,EAC3CuD,EAAoB;AACtB,GAEaS,KAA0BhE,EAAYuD,EAAoB,IAAI,GAE9DU,IAA2BjE,EAAYuD,EAAoB,KAAK,GAEhEW,KAA8BlE;AAAA,EACzCuD,EAAoB;AACtB,GAEaY,IAA+B9D;AAAA,EAC1CkD;AAAA,EACA;AACF,GAEaa,IAAmC/D;AAAA,EAC9CkD;AAAA,EACA;AACF,GAEac,IAA+BhE;AAAA,EAC1CkD;AAAA,EACA;AACF,GAEae,KAA0CjE;AAAA,EACrDkD;AAAA,EACAhC;AACF,GAGagD,KAAmB,YAGnBC,IAAoB,aAEpBC,KAAkB,IAAItE,MAC1BC,EAAakD,IAAgBkB,GAAmBrE,CAAI,GAIhDuE,KAAoB,aAGpBC,KAAqB,cAIrBC,IAAyBjE,GAAsB,GAAGU,CAAc,EAAC,CAAE,GAEnEwD,KAA6B7E,EAAY4E,EAAuB,IAAI,GAIpEE,KAAyB9E,GAAa,aAAa;AAAC,GAAC,EAAI,IAAI,GAG7D+E,KAAoBpE,GAAsBiE,CAAsB,GAGvEI,KAAoB,SAAS,WAEtBC,KAA6BjF;AAAA,EACxCgF,GAAkB;AACpB,GAOa/C,IAAkB,WAClBiD,KAAmB,YAOnBC,KAAgB,SACvBC,KAAmBD,GAAc,WAE1BE,KAAsBrF,EAAYoF,GAAiB,GAAG,GAEtDE,KAAsBtF,EAAYoF,GAAiB,GAAG,GAOtDG,KAAgB,SACvBC,KAAmBD,GAAc,WAE1BE,KAAsBzF,EAAYwF,GAAiB,GAAG,GAEtDE,KAAsB1F,EAAYwF,GAAiB,GAAG,GAEtDG,KAAsB3F,EAAYwF,GAAiB,GAAG,GC3O7DI,KAAiB,IAAIL,GAAa,GAElCM,KAAwBnE,GAAa,MAAM;AAAA,EAC/C,MAAM;AAAA,IACJ,OAAO,WAAgB;AACrB,YAAMoE,IAAgBL,GAAoBG,IAAgB,IAAI;AAC9D,aAAOf,GAA2BiB,CAAa;AAAA,IACjD;AAAA,EACJ;AAAA,EAEE,CAACzE,CAAc,GAAG;AAAA,IAChB,OAAO,WAAkB;AACvB,aAAO;AAAA,IACT;AAAA,EACJ;AACA,CAAC;AAMM,SAAS0E,EAAaC,GAAO;AAClC,MACEA,EAAM3E,CAAc,MAAMqB,MAC1BkC,EAAuB,SAASC;AAEhC,WAAOmB;AAGT,QAAMC,IAAOvE,GAAamE,EAAqB;AAC/C,SAAAF,GAAoBC,IAAgBK,GAAMtD,GAA6BqD,CAAK,CAAC,GACtEC;AACT;AAGA,MAAMC,KAAa,IAAIX,GAAa,GAG9BY,KAA8BzE,GAAaqD,IAAmB;AAAA,EAClE,MAAM;AAAA,IACJ,OAAO,WAAgB;AACrB,YAAMqB,IAAYX,GAAoBS,IAAY,IAAI;AACtD,aAAOpB,GAAuBsB,CAAS;AAAA,IACzC;AAAA,IACA,UAAU;AAAA,IACV,cAAc;AAAA,EAClB;AACA,CAAC;AAED,WAAW9F,KAAOO,GAAe+D,CAAsB;AAErD,EAAItE,MAAQ,UAKZqB,GAAqBwE,IAA6B7F,GAAKC,EAAgCqE,GAAwBtE,CAAG,CAAC;AAO9G,SAAS+F,GAAKD,GAAW;AAC9B,QAAME,IAAQ5E,GAAayE,EAA2B;AACtD,SAAAR,GAAoBO,IAAYI,GAAOF,CAAS,GACzCE;AACT;AClEO,SAASC,GAASC,GAAO;AAC9B,SACGA,MAAU,QAAQ,OAAOA,KAAU,YACpC,OAAOA,KAAU;AAErB;AAMO,SAASC,GAAaD,GAAO;AAClC,SAAOA,MAAU,QAAQ,OAAOA,KAAU;AAC5C;AASO,SAASE,GAAmBF,GAAO;AACxC,SAAOlC,GAAwCkC,CAAK,MAAM;AAC5D;AAMO,SAASG,GAAyBH,GAAO;AAC9C,QAAMI,IAAiBtC,GAAwCkC,CAAK;AACpE,SACEI,MAAmB,mBACnBA,MAAmB;AAEvB;AAMA,SAASC,GAAcL,GAAO;AAC5B,MAAI;AAEF,WAAInE,GAAamE,CAAK,IACb,MAETtD;AAAA;AAAA,MAAsDsD;AAAA,IAAK,GACpD;AAAA,EACT,QAAY;AACV,WAAO;AAAA,EACT;AACF;AAMO,SAASM,GAAoBN,GAAO;AACzC,MAAIrD,OAA4B;AAC9B,WAAO;AAGT,MAAI;AACF,WAAAC;AAAA;AAAA,MAA4DoD;AAAA,IAAK,GAC1D;AAAA,EACT,QAAY;AACV,WAAO;AAAA,EACT;AACF;AAMO,SAASO,GAAiBP,GAAO;AACtC,SAAOK,GAAcL,CAAK,KAAKM,GAAoBN,CAAK;AAC1D;AAMO,SAASQ,GAAgBR,GAAO;AACrC,SAAKnE,GAAamE,CAAK,IAMrBA,EAAMnF,CAAc,MAAMqB,MAC1BkC,EAAuB,SAASC,KANzB;AAQX;AAMO,SAASoC,GAA2BT,GAAO;AAChD,SAAKE,GAAmBF,CAAK,IAM3BA,EAAMnF,CAAc,MAAMmC,MAC1BoB,EAAuB,SAASC,KANzB;AAQX;AAMO,SAASqC,GAA8BV,GAAO;AACnD,MAAI,OAAOA,KAAU;AACnB,WAAO;AAGT,QAAMW,IAAS,CAACX;AAKhB,SAJIA,MAAUW,IAAS,MAInB,CAAChG,GAAegG,CAAM,IACjB,KAGFA,MAAWtE,GAAUsE,CAAM;AACpC;AClJO,MAAMC,KAAQ5F,GAAU,kBAAkB;AAO1C,SAAS6F,GAAqBpH,GAAQ;AAC3C,MAAI,CAACwG,GAAaxG,CAAM;AACtB,WAAO;AAGT,QAAMqH,IAAY3G,GAAsBV,CAAM;AAC9C,MAAI,CAACwG,GAAaa,CAAS;AACzB,WAAO;AAGT,QAAMC,IAAcD,EAAU;AAC9B,MAAIC,MAAgB;AAClB,WAAO;AAET,MAAI,CAAChB,GAASgB,CAAW;AACvB,UAAMtF,EAAgB3C,EAA+C;AAGvE,SAAOsB,GAAW2G,GAAaH,EAAK;AACtC;AClBA,MAAMI,KAAqB,IAAIvG;AAQ/B,SAASwG,GAAgBC,GAAK;AAC5B,SAAQA,IAAMF,KAAsBA;AACtC;AAEA,MAAMG,KAAoB,gBACpBC,KAAoB,OACpBC,KAAkB,aAElBC,KAAkDD,KAAkBF,IACpEI,KAAqCF,KAAkBL;AAOtD,SAASQ,GAAeN,GAAK;AAClC,QAAMP,IAAS,CAACO;AAGhB,MAAI,CAACvG,GAAegG,CAAM,KAAKA,MAAW;AACxC,WAAOA;AAIT,QAAMc,IAAOd,IAAS,IAAI,IAAI,IACxBe,IAAWtF,GAAQuE,CAAM;AAG/B,MAAIe,IAAWP;AACb,WAAOM,IAAOR,GAAgBS,IAAWJ,EAA+C,IAAIA;AAG9F,QAAMK,KAAQ,IAAIJ,MAAsCG,GAClDlK,IAASmK,KAAQA,IAAOD;AAG9B,SAAIlK,IAAS4J,MAAqBxG,EAAYpD,CAAM,IAC3CiK,IAAO,UAGTA,IAAOjK;AAChB;AAIA,MAAMH,KAAS,IAAIiF,GAAkB,CAAC,GAChCsF,KAAY,IAAIzD,GAAmB9G,EAAM,GACzCwK,KAAa,IAAI3D,GAAkB7G,EAAM,GAEzCyK,IAAY,IAAI9D,EAAkB,GAAG,GACrC+D,IAAa,IAAIhE,GAAiB,GAAG;AAE3C,SAASiE,IAAI,GAAGA,IAAI,KAAK,EAAEA,GAAG;AAC5B,QAAMC,IAAID,IAAI;AAGd,EAAIC,IAAI,OACNH,EAAUE,CAAC,IAAY,GACvBF,EAAUE,IAAI,GAAK,IAAI,OACvBD,EAAWC,CAAC,IAAY,IACxBD,EAAWC,IAAI,GAAK,IAAI,MAGfC,IAAI,OACbH,EAAUE,CAAC,IAAa,QAAW,CAACC,IAAI,IACxCH,EAAUE,IAAI,GAAK,IAAK,QAAW,CAACC,IAAI,KAAO,OAC/CF,EAAWC,CAAC,IAAY,CAACC,IAAI,GAC7BF,EAAWC,IAAI,GAAK,IAAI,CAACC,IAAI,KAGpBA,KAAK,MACdH,EAAUE,CAAC,IAAcC,IAAI,MAAO,IACpCH,EAAUE,IAAI,GAAK,IAAMC,IAAI,MAAO,KAAM,OAC1CF,EAAWC,CAAC,IAAY,IACxBD,EAAWC,IAAI,GAAK,IAAI,MAGfC,IAAI,OACbH,EAAUE,CAAC,IAAY,OACvBF,EAAUE,IAAI,GAAK,IAAI,OACvBD,EAAWC,CAAC,IAAY,IACxBD,EAAWC,IAAI,GAAK,IAAI,OAIxBF,EAAUE,CAAC,IAAY,OACvBF,EAAUE,IAAI,GAAK,IAAI,OACvBD,EAAWC,CAAC,IAAY,IACxBD,EAAWC,IAAI,GAAK,IAAI;AAE5B;AAOO,SAASE,EAAmBhB,GAAK;AACtC,EAAAU,GAAU,CAAC,IAAIJ,GAAeN,CAAG;AACjC,QAAMiB,IAAIN,GAAW,CAAC,GAChBI,IAAKE,KAAK,KAAM;AACtB,SAAOL,EAAUG,CAAC,MAAME,IAAI,YAAeJ,EAAWE,CAAC;AACzD;AAEA,MAAMG,KAAgB,IAAIlE,GAAkB,IAAI;AAChD,SAAS8D,IAAI,GAAGA,IAAI,MAAM,EAAEA,GAAG;AAC7B,MAAIK,IAAIL,KAAK,IACTC,IAAI;AAGR,UAAQI,IAAI,aAAgB;AAC1B,IAAAA,MAAM,GACNJ,KAAK;AAGP,EAAAI,KAAK,UACLJ,KAAK,WAELG,GAAcJ,CAAC,IAAIK,IAAIJ;AACzB;AACA,SAASD,IAAI,MAAMA,IAAI,MAAM,EAAEA;AAC7B,EAAAI,GAAcJ,CAAC,IAAI,aAAeA,IAAI,QAAS;AAGjD,MAAMM,IAAgB,IAAIpE,GAAkB,EAAE;AAC9C,SAAS8D,IAAI,GAAGA,IAAI,IAAI,EAAEA;AACxB,EAAAM,EAAcN,CAAC,IAAIA,KAAK;AAE1BM,EAAc,EAAE,IAAI;AACpBA,EAAc,EAAE,IAAI;AACpB,SAASN,IAAI,IAAIA,IAAI,IAAI,EAAEA;AACzB,EAAAM,EAAcN,CAAC,IAAI,cAAeA,IAAI,MAAO;AAE/CM,EAAc,EAAE,IAAI;AAEpB,MAAMC,KAAc,IAAIvE,EAAkB,EAAE;AAC5C,SAASgE,IAAI,GAAGA,IAAI,IAAI,EAAEA;AACxB,EAAIA,MAAM,OACRO,GAAYP,CAAC,IAAI;AASd,SAASQ,EAAgBC,GAAa;AAC3C,QAAMT,IAAIS,KAAe;AACzB,SAAAZ,GAAW,CAAC,IAAIO,GAAcG,GAAYP,CAAC,KAAKS,IAAc,KAAM,IAAIH,EAAcN,CAAC,GAChFJ,GAAU,CAAC;AACpB;ACxJO,SAASc,EAAoBjJ,GAAQ;AAC1C,QAAMkH,IAAS,CAAClH;AAEhB,SAAImB,EAAY+F,CAAM,KAAKA,MAAW,IAC7B,IAGFtE,GAAUsE,CAAM;AACzB;AAOO,SAASgC,GAASlJ,GAAQ;AAC/B,QAAMmJ,IAASF,EAAoBjJ,CAAM;AACzC,SAAImJ,IAAS,IACJ,IAGFA,IAASlI,KACZkI,IACAlI;AACN;AAQO,SAASmI,GAAmBpJ,GAAQqJ,GAAoB;AAC7D,MAAI,CAAC/C,GAAStG,CAAM;AAClB,UAAMgC,EAAgB9C,EAAqB;AAG7C,QAAMoI,IAActH,EAAO;AAC3B,MAAIsH,MAAgB;AAClB,WAAO+B;AAET,MAAI,CAAC/C,GAASgB,CAAW;AACvB,UAAMtF,EAAgB3C,EAA+C;AAGvE,QAAMiK,IAAUhC,EAAYjG,EAAa;AACzC,SAAIiI,KACKD;AAIX;AAOO,SAASE,EAAiB3L,GAAQ;AACvC,MAAIiJ,GAAoBjJ,CAAM;AAC5B,WAAO;AAGT,MAAI;AACF,WAAAoF,GAA0BpF,GAAQ,GAAG,CAAC,GAC/B;AAAA,EACT,QAAY;AAAA,EAAY;AAExB,SAAO;AACT;AASO,SAAS4L,GAAeC,GAAGC,GAAG;AACnC,QAAMC,IAASxI,EAAYsI,CAAC,GACtBG,IAASzI,EAAYuI,CAAC;AAE5B,MAAIC,KAAUC;AACZ,WAAO;AAGT,MAAID;AACF,WAAO;AAOT,MAJIC,KAIAH,IAAIC;AACN,WAAO;AAGT,MAAID,IAAIC;AACN,WAAO;AAGT,MAAID,MAAM,KAAKC,MAAM,GAAG;AACtB,UAAMG,IAAcjI,GAAS6H,GAAG,CAAC,GAC3BK,IAAclI,GAAS8H,GAAG,CAAC;AAEjC,QAAI,CAACG,KAAeC;AAClB,aAAO;AAGT,QAAID,KAAe,CAACC;AAClB,aAAO;AAAA,EAEX;AAEA,SAAO;AACT;ACpDA,MAAMC,KAAoB,GAKpBC,KAAoB,IAAI1E,GAAa;AAMpC,SAAS2E,EAAejK,GAAQ;AACrC,SAAOyF,GAAoBuE,IAAmBhK,CAAM,KACjD,CAAC8C,GAAkB9C,CAAM,KAAKoH,GAAqBpH,CAAM;AAC9D;AAOA,SAASkK,EAAmBlK,GAAQ;AAClC,MAAI,CAACiK,EAAejK,CAAM;AACxB,UAAMgC,EAAgB7C,EAAiC;AAE3D;AAQA,SAASgL,GAAwBnK,GAAQoK,GAAO;AAC9C,QAAMC,IAAuBJ,EAAejK,CAAM,GAC5CsK,IAAqB7D,GAAmBzG,CAAM;AAEpD,MAAI,CAACqK,KAAwB,CAACC;AAC5B,UAAMtI,EAAgB1C,EAAkD;AAG1E,MAAI,OAAO8K,KAAU,UAAU;AAC7B,QAAIjB;AACJ,QAAIkB,GAAsB;AACxB,YAAME,IAAmBC,EAAoBxK,CAAM;AACnD,MAAAmJ,IAAS/E,EAA6BmG,CAAgB;AAAA,IACxD;AACE,MAAApB,IAAS/E,EAA6BpE,CAAM;AAG9C,QAAImJ,IAASiB;AACX,YAAMpI;AAAA,QACJzC;AAAA,MACR;AAAA,EAEE;AAEA,MAAImH,GAAyB1G,CAAM;AACjC,UAAMgC,EAAgBtC,EAAiC;AAE3D;AAOA,SAAS8K,EAAoBC,GAAS;AACpC,QAAMF,IAAmB/E,GAAoBwE,IAAmBS,CAAO;AACvE,MAAIF,MAAqB,QAAW;AAClC,UAAM3M,IAASsG,EAA6BqG,CAAgB;AAE5D,QAAIhB,EAAiB3L,CAAM;AACzB,YAAMoE,EAAgBxC,CAAyC;AAGjE,WAAO+K;AAAA,EACT;AAGA,QAAM3M;AAAA;AAAA,IAA6B6M,EAAS;AAAA;AAE5C,MAAIlB,EAAiB3L,CAAM;AACzB,UAAMoE,EAAgBxC,CAAyC;AAGjE,QAAMkL,IAASnK,EAAiBoK,GAAc;AAAA,IAC5C/M;AAAA;AAAA,IACoB6M,EAAS;AAAA;AAAA,IACTA,EAAS;AAAA,EACjC,GAAKA,EAAQ,WAAW;AACtB,SAAOjF,GAAoBwE,IAAmBU,CAAM;AACtD;AAMA,SAASE,GAAYL,GAAkB;AACrC,QAAMpB,IAAS/E,EAA6BmG,CAAgB,GAEtDxE,IAAQ,CAAA;AACd,WAASwC,IAAI,GAAGA,IAAIY,GAAQ,EAAEZ;AAC5B,IAAAxC,EAAMwC,CAAC,IAAIQ,EAAgBwB,EAAiBhC,CAAC,CAAC;AAGhD,SAAOxC;AACT;AAGA,MAAM8E,KAA6B,IAAI3F,GAAa;AACpD,WAAW7E,KAAOO,GAAe0C,CAAmB,GAAG;AAErD,MAAIjD,MAAQiB;AACV;AAGF,QAAMW,IAAa3B,EAAgCgD,GAAqBjD,CAAG;AAC3E,EAAI6B,EAAaD,GAAY,KAAK,KAAK,OAAOA,EAAW,OAAQ,cAC/DmD,GAAoByF,IAA4B5I,EAAW,GAAG;AAElE;AAEA,MAAM6I,KAAUnJ;AAAA;AAAA,EAA4D;AAAA,IAC1E,IAAI3B,GAAQK,GAAK0K,GAAU;AACzB,aAAI9D,GAA8B5G,CAAG,KAAK6B,EAAalC,GAAQK,CAAG,IACzD0I,EAAgBtI,GAAWT,GAAQK,CAAG,CAAC,IAI5CgF,GAAoBwF,IAA4B/I,GAAgC9B,GAAQK,CAAG,CAAC,IACvFI,GAAWT,GAAQK,CAAG,IAGxBI,GAAWT,GAAQK,GAAK0K,CAAQ;AAAA,IACzC;AAAA,IAEA,IAAI/K,GAAQK,GAAKkG,GAAOwE,GAAU;AAChC,aAAI9D,GAA8B5G,CAAG,KAAK6B,EAAalC,GAAQK,CAAG,IACzDQ,GAAWb,GAAQK,GAAKoI,EAAmBlC,CAAK,CAAC,IAGnD1F,GAAWb,GAAQK,GAAKkG,GAAOwE,CAAQ;AAAA,IAChD;AAAA,IAEA,yBAAyB/K,GAAQK,GAAK;AACpC,UAAI4G,GAA8B5G,CAAG,KAAK6B,EAAalC,GAAQK,CAAG,GAAG;AACnE,cAAM4B,IAAa3B,EAAgCN,GAAQK,CAAG;AAC9D,eAAA4B,EAAW,QAAQ8G,EAAgB9G,EAAW,KAAK,GAC5CA;AAAA,MACT;AAEA,aAAO3B,EAAgCN,GAAQK,CAAG;AAAA,IACpD;AAAA,IAEA,eAAeL,GAAQK,GAAK4B,GAAY;AACtC,aACEgF,GAA8B5G,CAAG,KACjC6B,EAAalC,GAAQK,CAAG,KACxB6B,EAAaD,GAAY,OAAO,MAEhCA,EAAW,QAAQwG,EAAmBxG,EAAW,KAAK,IAC/CzB,GAAsBR,GAAQK,GAAK4B,CAAU;AAAA,IAIxD;AAAA,EACF;AAAC;AAEM,MAAM0I,EAAa;AAAA;AAAA,EAExB,YAAY7M,GAAOkN,GAAaC,GAAS;AAEvC,QAAIV;AAEJ,QAAIN,EAAenM,CAAK;AACtB,MAAAyM,IAAmBhK,EAAiBgE,GAAmB,CAACiG,EAAoB1M,CAAK,CAAC,GAAG,UAAU;AAAA,aACtFwI,GAASxI,CAAK,KAAK,CAACgJ,GAAiBhJ,CAAK,GAAG;AAEtD,UAAIoN,GAEA/B;AAEJ,UAAI1C,GAAmB3I,CAAK,GAAG;AAC7B,QAAAoN,IAAOpN,GACPqL,IAAS/E,EAA6BtG,CAAK;AAE3C,cAAMF,IAASsG,EAA6BpG,CAAK;AAEjD,YAAIyL,EAAiB3L,CAAM;AACzB,gBAAMoE,EAAgBxC,CAAyC;AAGjE,YAAIkH,GAAyB5I,CAAK;AAChC,gBAAMkE,EAAgBtC,EAAiC;AAGzD,cAAMyL,IAAO,IAAItI;AAAA,UACfsG,IAASY;AAAA,QACnB;AACQ,QAAAQ,IAAmBhK,EAAiBgE,GAAmB,CAAC4G,CAAI,GAAG,UAAU;AAAA,MAC3E,OAAO;AACL,cAAMC,IAAWtN,EAAMsD,CAAc;AACrC,YAAIgK,KAAY,QAAQ,OAAOA,KAAa;AAC1C,gBAAMpJ,EAAgBrC,EAAiC;AAGzD,QAAIyL,KAAY,OAEVrE,GAAgBjJ,CAAK,KACvBoN,IAAOpN,GACPqL,IAASrL,EAAM,WAGfoN,IAAO,CAAC;AAAA,QAAsCpN,CAAM,GACpDqL,IAAS+B,EAAK,WAGhBA;AAAA,QAA0CpN,GAC1CqL,IAASD,GAASgC,EAAK,MAAM,IAE/BX,IAAmBhK,EAAiBgE,GAAmB,CAAC4E,CAAM,GAAG,UAAU;AAAA,MAC7E;AAGA,eAASZ,IAAI,GAAGA,IAAIY,GAAQ,EAAEZ;AAC5B,QAAAgC,EAAiBhC,CAAC,IAAIE,EAAmByC,EAAK3C,CAAC,CAAC;AAAA,IAEpD;AACE,MAAAgC,IAAmBhK,EAAiBgE,GAAmB,WAAW,UAAU;AAI9E,UAAM8G;AAAA;AAAA,MAA4B,IAAItK,GAAYwJ,GAAkBO,EAAO;AAAA;AAG3E,WAAApF,GAAoBsE,IAAmBqB,GAAOd,CAAgB,GAEvDc;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO,KAAKC,MAAQC,GAAM;AACxB,UAAMC,IAAc;AAEpB,QAAI,CAAC7K,GAAW6K,GAAarE,EAAK;AAChC,YAAMnF;AAAA,QACJ5C;AAAA,MACR;AAII,QAAIoM,MAAgBb,GAAc;AAChC,UAAIV,EAAeqB,CAAG,KAAKC,EAAK,WAAW,GAAG;AAC5C,cAAMhB,IAAmBC,EAAoBc,CAAG,GAC1CG,IAAS,IAAIlH;AAAA,UACjBL,EAA6BqG,CAAgB;AAAA,UAC7CpG,EAAiCoG,CAAgB;AAAA,UACjDnG,EAA6BmG,CAAgB;AAAA,QACvD;AACQ,eAAO,IAAII;AAAA,UACTzG,EAA6BF,EAAyByH,CAAM,CAAC;AAAA,QACvE;AAAA,MACM;AAEA,UAAIF,EAAK,WAAW;AAClB,eAAO,IAAIZ;AAAA,UACTzG;AAAA,YACEM,GAAgB8G,GAAK7C,CAAkB;AAAA,UACnD;AAAA,QACA;AAGM,YAAMiD,IAAUH,EAAK,CAAC,GAChBtL,IAAUsL,EAAK,CAAC;AAEtB,aAAO,IAAIZ;AAAA,QACTzG;AAAA,UACEM,GAAgB8G,GAAK,SAAUK,MAAQzL,GAAM;AAC3C,mBAAOuI;AAAA,cACLtI,EAAauL,GAAS,MAAM,CAACC,GAAK,GAAG7F,EAAa5F,CAAI,CAAC,CAAC;AAAA,YACtE;AAAA,UACU,GAAGD,CAAO;AAAA,QACpB;AAAA,MACA;AAAA,IACI;AAGA,QAAIiL,GAEA/B;AAEJ,UAAMiC,IAAWE,EAAIlK,CAAc;AACnC,QAAIgK,KAAY,QAAQ,OAAOA,KAAa;AAC1C,YAAMpJ,EAAgBrC,EAAiC;AAGzD,QAAIyL,KAAY;AAEd,MAAIrE,GAAgBuE,CAAG,KACrBJ,IAAOI,GACPnC,IAASmC,EAAI,UACJtE,GAA2BsE,CAAG,KACvCJ,IAAOI,GACPnC,IAAS/E,EAA6BkH,CAAG,MAGzCJ,IAAO,CAAC,GAAGI,CAAG,GACdnC,IAAS+B,EAAK;AAAA,SAEX;AACL,UAAII,KAAO;AACT,cAAMtJ;AAAA,UACJvC;AAAA,QACV;AAEM,MAAAyL,IAAO1J,EAAa8J,CAAG,GACvBnC,IAASD,GAASgC,EAAK,MAAM;AAAA,IAC/B;AAEA,UAAMnF,IAAQ,IAAIyF,EAAYrC,CAAM;AAEpC,QAAIoC,EAAK,WAAW;AAClB,eAAShD,IAAI,GAAGA,IAAIY,GAAQ,EAAEZ;AAC5B,QAAAxC,EAAMwC,CAAC;AAAA,QAA2B2C,EAAK3C,CAAC;AAAA,SAErC;AACL,YAAMmD,IAAUH,EAAK,CAAC,GAChBtL,IAAUsL,EAAK,CAAC;AACtB,eAAShD,IAAI,GAAGA,IAAIY,GAAQ,EAAEZ;AAC5B,QAAAxC,EAAMwC,CAAC,IAAIpI,EAAauL,GAASzL,GAAS,CAACiL,EAAK3C,CAAC,GAAGA,CAAC,CAAC;AAAA,IAE1D;AAEA,WAAOxC;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO,MAAM6F,GAAO;AAClB,UAAMJ,IAAc;AAEpB,QAAI,CAAC7K,GAAW6K,GAAarE,EAAK;AAChC,YAAMnF;AAAA,QACJ5C;AAAA,MACR;AAGI,UAAM+J,IAASyC,EAAM;AAGrB,QAAIJ,MAAgBb,GAAc;AAChC,YAAMU,IAAQ,IAAIV,EAAaxB,CAAM,GAC/BoB,IAAmBC,EAAoBa,CAAK;AAElD,eAAS9C,IAAI,GAAGA,IAAIY,GAAQ,EAAEZ;AAC5B,QAAAgC,EAAiBhC,CAAC,IAAIE,EAAmBmD,EAAMrD,CAAC,CAAC;AAGnD,aAAO8C;AAAA,IACT;AAEA,UAAMtF,IAAQ,IAAIyF,EAAYrC,CAAM;AAEpC,aAASZ,IAAI,GAAGA,IAAIY,GAAQ,EAAEZ;AAC5B,MAAAxC,EAAMwC,CAAC,IAAIqD,EAAMrD,CAAC;AAGpB,WAAOxC;AAAA,EACT;AAAA;AAAA,EAGA,OAAO;AACL,IAAAmE,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI;AAEjD,WAAOhH,GAAwB+G,CAAgB;AAAA,EACjD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS;AACP,IAAAL,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI;AAEjD,WAAOpE,IAAM,aAAa;AAExB,iBAAWuF,KAAOlI,GAA0B8G,CAAgB;AAC1D,cAAMxB,EAAgB4C,CAAG;AAAA,IAE7B,IAAI;AAAA,EACN;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAU;AACR,IAAAzB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI;AAEjD,WAAOpE,IAAM,aAAa;AAExB,iBAAW,CAACmC,GAAGoD,CAAG,KAAKjI,GAA2B6G,CAAgB;AAChE;AAAA;AAAA,UAAuC,CAAChC,GAAGQ,EAAgB4C,CAAG,CAAC;AAAA;AAAA,IAEnE,IAAI;AAAA,EACN;AAAA;AAAA,EAGA,GAAGnO,GAAO;AACR,IAAA0M,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDsB,IAAgB5C,EAAoBzL,CAAK,GACzCsO,IAAID,KAAiB,IAAIA,IAAgB1C,IAAS0C;AAExD,QAAI,EAAAC,IAAI,KAAKA,KAAK3C;AAIlB,aAAOJ,EAAgBwB,EAAiBuB,CAAC,CAAC;AAAA,EAC5C;AAAA;AAAA,EAGA,KAAKtO,GAAO+I,GAAO;AACjB,IAAA2D,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDsB,IAAgB5C,EAAoBzL,CAAK,GACzCsO,IAAID,KAAiB,IAAIA,IAAgB1C,IAAS0C,GAElD3E,IAAS,CAACX;AAEhB,QAAIuF,IAAI,KAAKA,KAAK3C;AAChB,YAAMlE,GAAiBnF,EAAuB;AAIhD,UAAM2L,IAAS,IAAIlH;AAAA,MACjBL,EAA6BqG,CAAgB;AAAA,MAC7CpG,EAAiCoG,CAAgB;AAAA,MACjDnG,EAA6BmG,CAAgB;AAAA,IACnD,GACUG,IAAS,IAAIC;AAAA,MACjBzG;AAAA,QACEF,EAAyByH,CAAM;AAAA,MACvC;AAAA,IACA,GACU1F,IAAQyE,EAAoBE,CAAM;AAExC,WAAA3E,EAAM+F,CAAC,IAAIrD,EAAmBvB,CAAM,GAE7BwD;AAAA,EACT;AAAA;AAAA,EAGA,IAAIqB,MAAaR,GAAM;AACrB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDtK,IAAUsL,EAAK,CAAC,GAEhBC,IAAcpC,GAAmBmB,GAAkBI,CAAY;AAGrE,QAAIa,MAAgBb,GAAc;AAChC,YAAMU,IAAQ,IAAIV,EAAaxB,CAAM,GAC/BpD,IAAQyE,EAAoBa,CAAK;AAEvC,eAAS9C,IAAI,GAAGA,IAAIY,GAAQ,EAAEZ,GAAG;AAC/B,cAAMoD,IAAM5C,EAAgBwB,EAAiBhC,CAAC,CAAC;AAC/C,QAAAxC,EAAMwC,CAAC,IAAIE;AAAA,UACTtI,EAAa4L,GAAU9L,GAAS,CAAC0L,GAAKpD,GAAG,IAAI,CAAC;AAAA,QACxD;AAAA,MACM;AAEA,aAAO8C;AAAA,IACT;AAEA,UAAMtF,IAAQ,IAAIyF,EAAYrC,CAAM;AACpC,IAAAgB,GAAwBpE,GAAOoD,CAAM;AAErC,aAASZ,IAAI,GAAGA,IAAIY,GAAQ,EAAEZ,GAAG;AAC/B,YAAMoD,IAAM5C,EAAgBwB,EAAiBhC,CAAC,CAAC;AAC/C,MAAAxC,EAAMwC,CAAC,IAAIpI,EAAa4L,GAAU9L,GAAS,CAAC0L,GAAKpD,GAAG,IAAI,CAAC;AAAA,IAC3D;AAEA;AAAA;AAAA,MAA2BxC;AAAA;AAAA,EAC7B;AAAA;AAAA,EAGA,OAAOgG,MAAaR,GAAM;AACxB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDtK,IAAUsL,EAAK,CAAC,GAEhBS,IAAO,CAAA;AACb,aAASzD,IAAI,GAAGA,IAAIY,GAAQ,EAAEZ,GAAG;AAC/B,YAAMoD,IAAM5C,EAAgBwB,EAAiBhC,CAAC,CAAC;AAC/C,MAAIpI,EAAa4L,GAAU9L,GAAS,CAAC0L,GAAKpD,GAAG,IAAI,CAAC,KAChDhG,GAAmByJ,GAAML,CAAG;AAAA,IAEhC;AAEA,UAAMH,IAAcpC,GAAmBmB,GAAkBI,CAAY,GAC/D5E,IAAQ,IAAIyF,EAAYQ,CAAI;AAClC,WAAA7B,GAAwBpE,CAAK;AAAA,IAEFA;AAAA,EAC7B;AAAA;AAAA,EAGA,OAAOgG,MAAaR,GAAM;AACxB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB;AAC5D,QAAIpB,MAAW,KAAKoC,EAAK,WAAW;AAClC,YAAMvJ,EAAgBpC,EAA2C;AAGnE,QAAIqM,GAAaC;AACjB,IAAIX,EAAK,WAAW,KAClBU,IAAclD,EAAgBwB,EAAiB,CAAC,CAAC,GACjD2B,IAAQ,MAERD,IAAcV,EAAK,CAAC,GACpBW,IAAQ;AAGV,aAAS3D,IAAI2D,GAAO3D,IAAIY,GAAQ,EAAEZ;AAChC,MAAA0D,IAAcF;AAAA,QACZE;AAAA,QACAlD,EAAgBwB,EAAiBhC,CAAC,CAAC;AAAA,QACnCA;AAAA,QACA;AAAA,MACR;AAGI,WAAO0D;AAAA,EACT;AAAA;AAAA,EAGA,YAAYF,MAAaR,GAAM;AAC7B,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB;AAC5D,QAAIpB,MAAW,KAAKoC,EAAK,WAAW;AAClC,YAAMvJ,EAAgBpC,EAA2C;AAGnE,QAAIqM,GAAaC;AACjB,IAAIX,EAAK,WAAW,KAClBU,IAAclD,EAAgBwB,EAAiBpB,IAAS,CAAC,CAAC,GAC1D+C,IAAQ/C,IAAS,MAEjB8C,IAAcV,EAAK,CAAC,GACpBW,IAAQ/C,IAAS;AAGnB,aAASZ,IAAI2D,GAAO3D,KAAK,GAAG,EAAEA;AAC5B,MAAA0D,IAAcF;AAAA,QACZE;AAAA,QACAlD,EAAgBwB,EAAiBhC,CAAC,CAAC;AAAA,QACnCA;AAAA,QACA;AAAA,MACR;AAGI,WAAO0D;AAAA,EACT;AAAA;AAAA,EAGA,QAAQF,MAAaR,GAAM;AACzB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDtK,IAAUsL,EAAK,CAAC;AAEtB,aAAS,IAAI,GAAG,IAAIpC,GAAQ,EAAE;AAC5B,MAAAhJ,EAAa4L,GAAU9L,GAAS;AAAA,QAC9B8I,EAAgBwB,EAAiB,CAAC,CAAC;AAAA,QACnC;AAAA,QACA;AAAA,MACR,CAAO;AAAA,EAEL;AAAA;AAAA,EAGA,KAAKwB,MAAaR,GAAM;AACtB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDtK,IAAUsL,EAAK,CAAC;AAEtB,aAAS,IAAI,GAAG,IAAIpC,GAAQ,EAAE,GAAG;AAC/B,YAAM5C,IAAQwC,EAAgBwB,EAAiB,CAAC,CAAC;AACjD,UAAIpK,EAAa4L,GAAU9L,GAAS,CAACsG,GAAO,GAAG,IAAI,CAAC;AAClD,eAAOA;AAAA,IAEX;AAAA,EACF;AAAA;AAAA,EAGA,UAAUwF,MAAaR,GAAM;AAC3B,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDtK,IAAUsL,EAAK,CAAC;AAEtB,aAAS,IAAI,GAAG,IAAIpC,GAAQ,EAAE,GAAG;AAC/B,YAAM5C,IAAQwC,EAAgBwB,EAAiB,CAAC,CAAC;AACjD,UAAIpK,EAAa4L,GAAU9L,GAAS,CAACsG,GAAO,GAAG,IAAI,CAAC;AAClD,eAAO;AAAA,IAEX;AAEA,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,SAASwF,MAAaR,GAAM;AAC1B,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDtK,IAAUsL,EAAK,CAAC;AAEtB,aAAS,IAAIpC,IAAS,GAAG,KAAK,GAAG,EAAE,GAAG;AACpC,YAAM5C,IAAQwC,EAAgBwB,EAAiB,CAAC,CAAC;AACjD,UAAIpK,EAAa4L,GAAU9L,GAAS,CAACsG,GAAO,GAAG,IAAI,CAAC;AAClD,eAAOA;AAAA,IAEX;AAAA,EACF;AAAA;AAAA,EAGA,cAAcwF,MAAaR,GAAM;AAC/B,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDtK,IAAUsL,EAAK,CAAC;AAEtB,aAAS,IAAIpC,IAAS,GAAG,KAAK,GAAG,EAAE,GAAG;AACpC,YAAM5C,IAAQwC,EAAgBwB,EAAiB,CAAC,CAAC;AACjD,UAAIpK,EAAa4L,GAAU9L,GAAS,CAACsG,GAAO,GAAG,IAAI,CAAC;AAClD,eAAO;AAAA,IAEX;AAEA,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,MAAMwF,MAAaR,GAAM;AACvB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDtK,IAAUsL,EAAK,CAAC;AAEtB,aAAS,IAAI,GAAG,IAAIpC,GAAQ,EAAE;AAC5B,UACE,CAAChJ,EAAa4L,GAAU9L,GAAS;AAAA,QAC/B8I,EAAgBwB,EAAiB,CAAC,CAAC;AAAA,QACnC;AAAA,QACA;AAAA,MACV,CAAS;AAED,eAAO;AAIX,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,KAAKwB,MAAaR,GAAM;AACtB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDtK,IAAUsL,EAAK,CAAC;AAEtB,aAAS,IAAI,GAAG,IAAIpC,GAAQ,EAAE;AAC5B,UACEhJ,EAAa4L,GAAU9L,GAAS;AAAA,QAC9B8I,EAAgBwB,EAAiB,CAAC,CAAC;AAAA,QACnC;AAAA,QACA;AAAA,MACV,CAAS;AAED,eAAO;AAIX,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,IAAIzM,MAAUyN,GAAM;AAClB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3C2B,IAAelD,EAAoBsC,EAAK,CAAC,CAAC;AAChD,QAAIY,IAAe;AACjB,YAAMlH,GAAiBnF,EAAuB;AAGhD,QAAIhC,KAAS;AACX,YAAMkE;AAAA,QACJvC;AAAA,MACR;AAGI,QAAIiH,GAAyB5I,CAAK;AAChC,YAAMkE;AAAA,QACJtC;AAAA,MACR;AAII,QAAIuK,EAAenM,CAAK;AAEtB,aAAO6F;AAAA,QACL6G,EAAoB,IAAI;AAAA,QACxBA,EAAoB1M,CAAK;AAAA,QACzBqO;AAAA,MACR;AAGI,QAAI1F,GAAmB3I,CAAK,GAAG;AAC7B,YAAMF,IAASsG,EAA6BpG,CAAK;AACjD,UAAIyL,EAAiB3L,CAAM;AACzB,cAAMoE,EAAgBxC,CAAyC;AAAA,IAEnE;AAEA,UAAM4M,IAAehI,EAA6BmG,CAAgB,GAE5De,IAAM9J,EAAa1D,CAAK,GACxBuO,IAAYnD,GAASoC,EAAI,MAAM;AAErC,QAAIa,MAAiB,SAAYE,IAAYF,IAAeC;AAC1D,YAAMnH,GAAiBnF,EAAuB;AAGhD,aAASyI,IAAI,GAAGA,IAAI8D,GAAW,EAAE9D;AAC/B,MAAAgC,EAAiBhC,IAAI4D,CAAY,IAAI1D,EAAmB6C,EAAI/C,CAAC,CAAC;AAAA,EAElE;AAAA;AAAA,EAGA,UAAU;AACR,IAAA2B,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI;AAEjD,WAAA5G,GAA2B2G,CAAgB,GAEpC;AAAA,EACT;AAAA;AAAA,EAGA,aAAa;AACX,IAAAL,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAG3CiB,IAAS,IAAIlH;AAAA,MACjBL,EAA6BqG,CAAgB;AAAA,MAC7CpG,EAAiCoG,CAAgB;AAAA,MACjDnG,EAA6BmG,CAAgB;AAAA,IACnD,GACUG,IAAS,IAAIC;AAAA,MACjBzG;AAAA,QACEF,EAAyByH,CAAM;AAAA,MACvC;AAAA,IACA,GAEUa,IAAyB9B,EAAoBE,CAAM;AACzD,WAAA9G,GAA2B0I,CAAsB,GAE1C5B;AAAA,EACT;AAAA;AAAA,EAGA,KAAKnE,MAAUgF,GAAM;AACnB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI;AAEjD,WAAA3G;AAAA,MACE0G;AAAA,MACA9B,EAAmBlC,CAAK;AAAA,MACxB,GAAGT,EAAayF,CAAI;AAAA,IAC1B,GAEW;AAAA,EACT;AAAA;AAAA,EAGA,WAAWvL,GAAQkM,MAAUX,GAAM;AACjC,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI;AAEjD,WAAA1G,GAA8ByG,GAAkBvK,GAAQkM,GAAO,GAAGpG,EAAayF,CAAI,CAAC,GAE7E;AAAA,EACT;AAAA;AAAA,EAGA,KAAKgB,GAAW;AACd,IAAArC,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CgC,IAAcD,MAAc,SAAYA,IAAY/C;AAC1D,WAAAzF,GAAwBwG,GAAkB,CAACd,GAAGC,MACrC8C,EAAYzD,EAAgBU,CAAC,GAAGV,EAAgBW,CAAC,CAAC,CAC1D,GAEM;AAAA,EACT;AAAA;AAAA,EAGA,SAAS6C,GAAW;AAClB,IAAArC,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI;AAEjD,QAAI+B,MAAc,UAAa,OAAOA,KAAc;AAClD,YAAM,IAAIvK,EAAgBnC,EAA8D;AAE1F,UAAM2M,IAAcD,MAAc,SAAYA,IAAY/C,IAGpDiC,IAAS,IAAIlH;AAAA,MACjBL,EAA6BqG,CAAgB;AAAA,MAC7CpG,EAAiCoG,CAAgB;AAAA,MACjDnG,EAA6BmG,CAAgB;AAAA,IACnD,GACUG,IAAS,IAAIC;AAAA,MACjBzG;AAAA,QACEF,EAAyByH,CAAM;AAAA,MACvC;AAAA,IACA,GAEUa,IAAyB9B,EAAoBE,CAAM;AACzD,WAAA3G,GAAwBuI,GAAwB,CAAC7C,GAAGC,MAC3C8C,EAAYzD,EAAgBU,CAAC,GAAGV,EAAgBW,CAAC,CAAC,CAC1D,GAEMgB;AAAA,EACT;AAAA;AAAA,EAGA,MAAMwB,GAAOO,GAAK;AAChB,IAAAvC,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CgB,IAAcpC,GAAmBmB,GAAkBI,CAAY;AAGrE,QAAIa,MAAgBb,GAAc;AAChC,YAAMc,KAAS,IAAIlH;AAAA,QACjBL,EAA6BqG,CAAgB;AAAA,QAC7CpG,EAAiCoG,CAAgB;AAAA,QACjDnG,EAA6BmG,CAAgB;AAAA,MACrD;AACM,aAAO,IAAII;AAAA,QACTzG;AAAA,UACEF,EAAyByH,IAAQS,GAAOO,CAAG;AAAA,QACrD;AAAA,MACA;AAAA,IACI;AAEA,UAAMtD,IAAS/E,EAA6BmG,CAAgB,GACtDmC,IAAgBzD,EAAoBiD,CAAK,GACzCS,IAAcF,MAAQ,SAAYtD,IAASF,EAAoBwD,CAAG;AAExE,QAAIX;AACJ,IAAIY,MAAkB,SACpBZ,IAAI,IACKY,IAAgB,IACzBZ,IAAI3C,IAASuD,IAAgB,IAAIvD,IAASuD,IAAgB,IAE1DZ,IAAI3C,IAASuD,IAAgBvD,IAASuD;AAGxC,QAAIE;AACJ,IAAID,MAAgB,SAClBC,IAAQ,IACCD,IAAc,IACvBC,IAAQzD,IAASwD,IAAc,IAAIxD,IAASwD,IAAc,IAE1DC,IAAQzD,IAASwD,IAAcxD,IAASwD;AAG1C,UAAMvC,IAAQwC,IAAQd,IAAI,IAAIc,IAAQd,IAAI,GACpC/F,IAAQ,IAAIyF,EAAYpB,CAAK;AAGnC,QAFAD,GAAwBpE,GAAOqE,CAAK,GAEhCA,MAAU;AACZ,aAAOrE;AAGT,UAAMnI,IAASsG,EAA6BqG,CAAgB;AAC5D,QAAIhB,EAAiB3L,CAAM;AACzB,YAAMoE,EAAgBxC,CAAyC;AAGjE,QAAIqN,IAAI;AACR,WAAOf,IAAIc;AACT,MAAA7G,EAAM8G,CAAC,IAAI9D,EAAgBwB,EAAiBuB,CAAC,CAAC,GAC9C,EAAEA,GACF,EAAEe;AAGJ;AAAA;AAAA,MAA2B9G;AAAA;AAAA,EAC7B;AAAA;AAAA,EAGA,SAAS+G,GAAOL,GAAK;AACnB,IAAAvC,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CgB,IAAcpC,GAAmBmB,GAAkBI,CAAY,GAE/Dc,IAAS,IAAIlH;AAAA,MACjBL,EAA6BqG,CAAgB;AAAA,MAC7CpG,EAAiCoG,CAAgB;AAAA,MACjDnG,EAA6BmG,CAAgB;AAAA,IACnD,GACUwC,IAAiB9I,GAA4BwH,GAAQqB,GAAOL,CAAG,GAE/D1G,IAAQ,IAAIyF;AAAA,MAChBtH,EAA6B6I,CAAc;AAAA,MAC3C5I,EAAiC4I,CAAc;AAAA,MAC/C3I,EAA6B2I,CAAc;AAAA,IACjD;AACI,WAAA5C,GAAwBpE,CAAK;AAAA,IAEFA;AAAA,EAC7B;AAAA;AAAA,EAGA,QAAQiH,MAAYzB,GAAM;AACxB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB;AAE5D,QAAI0C,IAAOhE,EAAoBsC,EAAK,CAAC,CAAC;AACtC,QAAI0B,MAAS;AACX,aAAO;AAGT,IAAIA,IAAO,MACTA,KAAQ9D,GACJ8D,IAAO,MACTA,IAAO;AAIX,aAAS,IAAIA,GAAM,IAAI9D,GAAQ,EAAE;AAC/B,UACEjH,EAAaqI,GAAkB,CAAC,KAChCxB,EAAgBwB,EAAiB,CAAC,CAAC,MAAMyC;AAEzC,eAAO;AAIX,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,YAAYA,MAAYzB,GAAM;AAC5B,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB;AAE5D,QAAI0C,IAAO1B,EAAK,UAAU,IAAItC,EAAoBsC,EAAK,CAAC,CAAC,IAAIpC,IAAS;AACtE,QAAI8D,MAAS;AACX,aAAO;AAGT,IAAIA,KAAQ,IACVA,IAAOA,IAAO9D,IAAS,IAAI8D,IAAO9D,IAAS,IAE3C8D,KAAQ9D;AAGV,aAAS,IAAI8D,GAAM,KAAK,GAAG,EAAE;AAC3B,UACE/K,EAAaqI,GAAkB,CAAC,KAChCxB,EAAgBwB,EAAiB,CAAC,CAAC,MAAMyC;AAEzC,eAAO;AAIX,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,SAASA,MAAYzB,GAAM;AACzB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB;AAE5D,QAAI0C,IAAOhE,EAAoBsC,EAAK,CAAC,CAAC;AACtC,QAAI0B,MAAS;AACX,aAAO;AAGT,IAAIA,IAAO,MACTA,KAAQ9D,GACJ8D,IAAO,MACTA,IAAO;AAIX,UAAMC,IAAQ/L,EAAY6L,CAAO;AACjC,aAASzE,IAAI0E,GAAM1E,IAAIY,GAAQ,EAAEZ,GAAG;AAClC,YAAMhC,IAAQwC,EAAgBwB,EAAiBhC,CAAC,CAAC;AAMjD,UAJI2E,KAAS/L,EAAYoF,CAAK,KAI1BA,MAAUyG;AACZ,eAAO;AAAA,IAEX;AAEA,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,KAAKG,GAAW;AACd,IAAAjD,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CzE,IAAQ6E,GAAYL,CAAgB;AAE1C,WAAOjI,GAAmByD,GAAOoH,CAAS;AAAA,EAC5C;AAAA;AAAA,EAGA,kBAAkB5B,GAAM;AACtB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CzE,IAAQ6E,GAAYL,CAAgB;AAE1C,WAAO/H,GAA6BuD,GAAO,GAAGD,EAAayF,CAAI,CAAC;AAAA,EAClE;AAAA;AAAA,EAGA,KAAKjK,EAAiB,IAAI;AACxB,QAAI2I,EAAe,IAAI;AACrB;AAAA;AAAA,QAA2B;AAAA;AAAA,EAE/B;AACF;AAGAvI,GAAqBiJ,GAAc,qBAAqB;AAAA,EACtD,OAAOZ;AACT,CAAC;AAGDrI,GAAqBiJ,GAAcxD,IAAO,EAAE;AAG5CrG,GAAsB6J,GAAcvH,EAAU;AAE9C,MAAMgK,KAAwBzC,EAAa;AAG3CjJ,GAAqB0L,IAAuB,qBAAqB;AAAA,EAC/D,OAAOrD;AACT,CAAC;AAGDrI,GAAqB0L,IAAuBhM,GAAgB;AAAA,EAC1D,OAAOgM,GAAsB;AAAA,EAC7B,UAAU;AAAA,EACV,cAAc;AAChB,CAAC;AAEDtM,GAAsBsM,IAAuB9J,CAAmB;AC3pCzD,SAAS+J,GAAWC,GAAUC,MAAehC,GAAM;AACxD,SAAOxC;AAAA,IACL/D,GAA2BsI,GAAUC,GAAY,GAAGzH,EAAayF,CAAI,CAAC;AAAA,EAC1E;AACA;ACWO,SAASiC,GAAajH,GAAqC;AAChE,SACEA,aAAiB,aACjBA,aAAiB,cACjBA,aAAiB,qBACjBA,aAAiB,cACjBA,aAAiB,eACjBA,aAAiB,cACjBA,aAAiB,eACjBA,aAAiBoE,KACjBpE,aAAiB,gBACjBA,aAAiB;AAErB;ACpCO,MAAMkH,WAA+C9Q,EAAU;AAAA,EAGpE,YAAY+Q,GAA6BC,GAA0B;AACjE,UAAMA,CAAO,GACb,KAAK,SAASD;AAAA,EAChB;AAAA,EAES,KACP9Q,GACAC,GACAC,GACAC,GACM;AACN,UAAMC,IAAS,IAAIN,GAAkB,KAAK,OAAO;AACjD,IAAAM,EAAO,iBAAiB,KAAK,aAAa,GAC1CA,EAAO,QAAQ,KAAK,IAAI,GACxBA,EAAO,mBAAmB,KAAK,eAAe,GAC9CA,EAAO;AAAA,MACLJ;AAAA,MACA,CAAAM,MAAe;AACb,YAAI;AACF,UAAAL,EAAO,KAAK,OAAOK,CAAW,CAAC;AAAA,QACjC,SAASE,GAAO;AACd,UAAIL,KAAW,OACbA,EAAQK,CAAK,IAEb,QAAQ,MAAMA,CAAK,GAErB,KAAK,QAAQ,UAAUR,CAAG;AAAA,QAC5B;AAAA,MACF;AAAA,MACAE;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AACF;ACZA,SAAS6Q,GAAmB7H,GAAoC;AAE9D,QAAM8H,IACJ9H,aAAiB,YAAY+H,KAC7B/H,aAAiB,aAAagI,KAC9BhI,aAAiB,oBAAoBgI,KACrChI,aAAiB,aAAaiI,KAC9BjI,aAAiB,cAAckI,KAC/BlI,aAAiB,aAAamI,KAC9BnI,aAAiB,cAAcoI,KAC/BpI,aAAiB4E,IAAeyD,KAChCrI,aAAiB,eAAesI,KAChCtI,aAAiB,eAAesI,KAChC;AAEF,SAAAlR,GAAU0Q,KAAQ,IAAI,GACfA;AACT;AAmBO,MAAMS,WAGH3R,EAAU;AAAA,EAKlB,YACE4R,GACAb,GACAc,IAAoC,CAAA,GACpCb,GACA;AACA,UAAMA,CAAO,GACb,KAAK,eAAeY,GACpB,KAAK,SAASb,GACd,KAAK,UAAU;AAAA,MACb,QAAQe;AAAA,MACR,WAAWC;AAAA,MACX,WAAWA;AAAA,MACX,GAAGF;AAAA,IAAA;AAAA,EAEP;AAAA,EAES,KACP5R,GACAC,GACAC,GACAC,GACG;AAEH,UAAM4R,IAAU,IAAI,KAAK,aAAA,GAEnB3R,IAAS,IAAIyQ,GAAiB,KAAK,QAAQ,KAAK,OAAO;AAC7D,WAAAzQ,EAAO,iBAAiB,KAAK,aAAa,GAC1CA,EAAO,QAAQ,KAAK,IAAI,GACxBA,EAAO,mBAAmB,KAAK,eAAe,GAC9CA,EAAO;AAAA,MACLJ;AAAA,MACA,CAAAmJ,MAAS;AACP,QAAA4I,EAAQ,MAAM,OACZ5I,aAAiB4E,IAAe,IAAI,YAAY5E,EAAM,MAAM,IAAIA;AAClE,cAAM,EAAE,OAAA6I,GAAO,QAAAC,GAAQ,OAAAC,GAAO,GAAGN,EAAA,IAAY,KAAK;AAClD,QAAII,KAAS,SACXD,EAAQ,MAAM,QAAQC,IAEpBC,KAAU,SACZF,EAAQ,MAAM,SAASE,IAErB,WAAWF,EAAQ,SAASG,KAAS,SACvCH,EAAQ,MAAM,QAAQG,IAIxBH,EAAQ,OAAOf,GAAmB7H,CAAK,GAEvC,OAAO,OAAO4I,GAASH,CAAO,GAC9BG,EAAQ,cAAc,IACtB9R,IAAS8R,CAAO;AAAA,MAClB;AAAA,MACA7R;AAAA,MACAC;AAAA,IAAA,GAGK4R;AAAA,EACT;AACF;ACnIO,MAAMI,IAAQC,EAAU,OAClBC,KAAkBD,EAAU,iBAC5BE,KAAcF,EAAU,aACxBG,KAAOH,EAAU,MACjBI,KAAUJ,EAAU,UACpBK,KAAUL,EAAU,UACpBM,KAAeN,EAAU,cACzBO,KAAiBP,EAAU,gBAC3BQ,KAAkBR,EAAU,iBAC5BS,KAAYT,EAAU;AAU5B,SAASU,GACdjG,GACAkG,GACAC,GACAC,IAAO,GACPC,IAAO,GACC;AACR,SAAOd,EAAU,UAAUvF,GAAGkG,GAAMC,GAAMC,GAAMC,CAAI;AACtD;AAUO,SAASC,GACdtG,GACAkG,GACAC,GACAC,IAAO,GACPC,IAAO,GACC;AACR,SAAOf,EAAMC,EAAU,UAAUvF,GAAGkG,GAAMC,GAAMC,GAAMC,CAAI,GAAGD,GAAMC,CAAI;AACzE;AAGO,SAASE,GAAW7R,GAAaC,GAAaqL,GAAmB;AACtE,SAAIA,KAAKtL,IACA,IAELsL,KAAKrL,IACA,KAETqL,KAAKA,IAAItL,MAAQC,IAAMD,IAChBsL,IAAIA,KAAK,IAAI,IAAIA;AAC1B;AAEO,SAASwG,GAASxG,GAAmB;AAC1C,SAAO,KAAK,IAAI,KAAK,IAAIA,GAAG,CAAC,GAAG,CAAC;AACnC;AAEO,SAASyG,GACdC,GACAC,GACAC,GACAC,IAAkBD,GACT;AACT,QAAME,IAAO,KAAK,IAAIJ,IAAIC,CAAC;AAC3B,SACEG,KAAQD,KACRC,KAAQF,IAAkB,KAAK,IAAI,KAAK,IAAIF,CAAC,GAAG,KAAK,IAAIC,CAAC,CAAC;AAE/D;AC/DO,SAASI,GAAOvS,GAAc;AACnC,SAAO,CACL+B,GACAyQ,MACG;AACH,IAAIzQ,aAAkB0Q,KACpB,OAAO,eAAe1Q,GAAQyQ,GAAa;AAAA,MACzC,YAAY;AAAA,MACZ,MAAyC;AACvC,eAAO,KAAK,UAAUxS,CAAI,KAAK;AAAA,MACjC;AAAA,MACA,IAAgCsI,GAAgB;AAC9C,QAAIA,MAAU,KAAKkK,CAAW,MACxBlK,KACF,KAAK,YAAY,CAAA,GACjB,KAAK,QAAQtI,CAAI,IAAI,OAErB,OAAO,KAAK,UAAUA,CAAI,GAE5B,KAAK,cAAc;AAAA,MAEvB;AAAA,IAAA,CACD,IAED,OAAO,eAAe+B,GAAQyQ,GAAa;AAAA,MACzC,YAAY;AAAA,MACZ,MAA2C;AACzC,eAAO,KAAK,QAAQ,IAAIxS,CAAI;AAAA,MAC9B;AAAA,MACA,IAAkCsI,GAAgB;AAChD,QAAIA,MAAU,KAAKkK,CAAW,MACxBlK,IACF,KAAK,QAAQ,IAAItI,GAAM,GAAG,IAE1B,KAAK,QAAQ,OAAOA,CAAI,GAExB,KAAa,WAAA;AAAA,MAEnB;AAAA,IAAA,CACD;AAAA,EAEL;AACF;AAOA,SAAS0S,GAAUpK,GAAwB;AACzC,SAAO,OAAOA,KAAU,WACpB,KAAK,MAAMA,CAAK,IAChB,OAAOA,KAAU,WACf,SAASA,GAAO,EAAE,IAClB,OAAOA,KAAU,YACf,CAACA,IACD;AACV;AAEO,SAASqK,GACd3S,GACA;AAAA,EACE,KAAAE,IAAM,OAAO;AAAA,EACb,KAAAC,IAAM,OAAO;AACf,IAA+B,IAC/B;AACA,SAAO,CACL4B,GACAyQ,MACG;AACH,IAAIzQ,aAAkB0Q,KACpB,OAAO,eAAe1Q,GAAQyQ,GAAa;AAAA,MACzC,YAAY;AAAA,MACZ,MAAwC;AACtC,cAAMlK,IAAQ,KAAK,UAAUtI,CAAI;AACjC,eAAOsI,KAAS,OAAOoK,GAAUpK,CAAK,IAAI;AAAA,MAC5C;AAAA,MACA,IAAgCA,GAAe;AAC7C,cAAMsK,IAAY,KAAKJ,CAAW;AAClC,QAAIlK,MAAUsK,MACZ,KAAK,YAAY,CAAA,GACjB,KAAK,QAAQ5S,CAAI,IAAI8Q,EAAMxI,GAAOpI,GAAKC,CAAG,EAAE,QAAQ,CAAC,GACrD,KAAK,cAAc;AAAA,MAEvB;AAAA,IAAA,CACD,IAED,OAAO,eAAe4B,GAAQyQ,GAAa;AAAA,MACzC,YAAY;AAAA,MACZ,MAA0C;AACxC,cAAMlK,IAAQ,KAAK,QAAQ,IAAItI,CAAI;AACnC,eAAOsI,KAAS,OAAOoK,GAAUpK,CAAK,IAAI;AAAA,MAC5C;AAAA,MACA,IAAkCA,GAAe;AAC/C,cAAMsK,IAAY,KAAKJ,CAAW;AAClC,QAAIlK,MAAUsK,MACZ,KAAK,QAAQ,IAAI5S,GAAM8Q,EAAMxI,GAAOpI,GAAKC,CAAG,EAAE,QAAQ,CAAC,CAAC,GACtD,KAAa,WAAA;AAAA,MAEnB;AAAA,IAAA,CACD;AAAA,EAEL;AACF;AAQA,SAAS0S,GAAYvK,GAAwB;AAC3C,SAAO,OAAOA,KAAU,WACpBA,IACA,OAAOA,KAAU,WACf,WAAWA,CAAK,IAChB,OAAOA,KAAU,YACf,CAACA,IACD;AACV;AAEO,SAASwK,GACd9S,GACA;AAAA,EACE,KAAAE,IAAM;AAAA,EACN,KAAAC,IAAM;AAAA,EACN,WAAA4S,IAAY;AACd,IAAiC,IACjC;AACA,SAAO,CACLhR,GACAyQ,MACG;AACH,IAAIzQ,aAAkB0Q,KACpB,OAAO,eAAe1Q,GAAQyQ,GAAa;AAAA,MACzC,YAAY;AAAA,MACZ,MAAwC;AACtC,cAAMlK,IAAQ,KAAK,UAAUtI,CAAI;AACjC,eAAOsI,KAAS,OAAOuK,GAAYvK,CAAK,IAAI;AAAA,MAC9C;AAAA,MACA,IAAgCA,GAAe;AAC7C,cAAMsK,IAAY,KAAKJ,CAAW;AAClC,QAAIlK,MAAUsK,MACZ,KAAK,YAAY,CAAA,GACjB,KAAK,QAAQ5S,CAAI,IAAI8Q,EAAMxI,GAAOpI,GAAKC,CAAG,EAAE,QAAQ4S,CAAS,GAC7D,KAAK,cAAc;AAAA,MAEvB;AAAA,IAAA,CACD,IAED,OAAO,eAAehR,GAAQyQ,GAAa;AAAA,MACzC,YAAY;AAAA,MACZ,MAA0C;AACxC,cAAMlK,IAAQ,KAAK,QAAQ,IAAItI,CAAI;AACnC,eAAOsI,KAAS,OAAOuK,GAAYvK,CAAK,IAAI;AAAA,MAC9C;AAAA,MACA,IAAkCA,GAAe;AAC/C,cAAMsK,IAAY,KAAKJ,CAAW;AAClC,QAAIlK,MAAUsK,MACZ,KAAK,QAAQ,IAAI5S,GAAM8Q,EAAMxI,GAAOpI,GAAKC,CAAG,EAAE,QAAQ4S,CAAS,CAAC,GAC9D,KAAa,WAAA;AAAA,MAEnB;AAAA,IAAA,CACD;AAAA,EAEL;AACF;AAMO,SAASC,GACdhT,GACA,EAAE,UAAAiT,EAAA,IAA+C,CAAA,GACjD;AACA,SAAO,CACLlR,GACAyQ,MACG;AACH,IAAIzQ,aAAkB0Q,KACpB,OAAO,eAAe1Q,GAAQyQ,GAAa;AAAA,MACzC,YAAY;AAAA,MACZ,MAAyC;AACvC,eAAO,KAAK,UAAUxS,CAAI;AAAA,MAC5B;AAAA,MACA,IAAgCsI,GAAe;AAC7C,YAAIA,MAAU,KAAKkK,CAAW,GAAG;AAC/B,cAAIS,IAAW3K,CAAK,MAAM,IAAO;AAC/B,oBAAQ,MAAM,iCAAiCA,CAAK,EAAE;AACtD;AAAA,UACF;AACA,eAAK,YAAY,CAAA,GACjB,KAAK,QAAQtI,CAAI,IAAIsI,GACrB,KAAK,cAAc;AAAA,QACrB;AAAA,MACF;AAAA,IAAA,CACD,IAED,OAAO,eAAevG,GAAQyQ,GAAa;AAAA,MACzC,YAAY;AAAA,MACZ,MAA2C;AACzC,eAAO,KAAK,QAAQ,IAAIxS,CAAI;AAAA,MAC9B;AAAA,MACA,IAAkCsI,GAAe;AAC/C,YAAIA,MAAU,KAAKkK,CAAW,GAAG;AAC/B,cAAIS,IAAW3K,CAAK,MAAM,IAAO;AAC/B,oBAAQ,MAAM,iCAAiCA,CAAK,EAAE;AACtD;AAAA,UACF;AACA,eAAK,QAAQ,IAAItI,GAAMsI,CAAK,GAC1B,KAAa,WAAA;AAAA,QACjB;AAAA,MACF;AAAA,IAAA,CACD;AAAA,EAEL;AACF;ACpNO,SAAS4K,GACdC,MACGC,GAC0B;AAC7B,QAAMC,IAAqC,CAAA;AAC3C,WAAS/I,IAAI,GAAGA,IAAI8I,EAAe,QAAQ9I,KAAK,GAAG;AACjD,UAAMgJ,IAASF,EAAe9I,CAAC,GACzBiJ,IAAOH,EAAe9I,IAAI,CAAC;AACjC,eAAWlI,KAAOmR;AAChB,MAAAF,EAAYjR,CAAG,IAAI;AAAA,QACjB,YAAY;AAAA,QACZ,KAAK,MAAMkR,EAAOlR,CAAG;AAAA,QACrB,KAAK,CAACkG,MAAe;AACnB,UAAAgL,EAAOlR,CAAG,IAAIkG;AAAA,QAChB;AAAA,MAAA;AAAA,EAGN;AACA,gBAAO,iBAAiB6K,GAAaE,CAAW,GACzCF;AACT;AAYO,SAASK,GAIdL,GAAgBG,GAAWC,GAAgD;AAC3E,QAAMF,IAAqC,CAAA;AAC3C,aAAWjR,KAAOmR;AAChB,IAAAF,EAAYjR,CAAG,IAAI;AAAA,MACjB,YAAY;AAAA,MACZ,KAAK,MAAMkR,EAAO,SAASlR,CAAG,EAAE;AAAA,MAChC,KAAK,CAACkG,MAA4B;AAChC,QAAAgL,EAAO,SAASlR,CAAG,EAAE,QAAQkG;AAAA,MAC/B;AAAA,IAAA;AAGJ,gBAAO,iBAAiB6K,GAAaE,CAAW,GACzCF;AACT;AC1DO,MAAMM,WAA2B/U,EAAsB;AAAA,EAG5D,YACE6R,IAAqC,CAAA,GACrCb,GACA;AACA,UAAMA,CAAO,GACb,KAAK,UAAUa;AAAA,EACjB;AAAA,EAES,KACP5R,GACAC,GACAC,GACAC,GACe;AACf,UAAM,EAAE,OAAA6R,GAAO,QAAAC,GAAQ,OAAAC,EAAA,IAAU,KAAK,SAChCH,IAAU,IAAIgD,GAAc,MAAM/C,GAAOC,GAAQC,CAAK,GAEtD9R,IAAS,IAAI4U,GAAU,KAAK,OAAO;AACzC,WAAA5U,EAAO,iBAAiB,KAAK,aAAa,GAC1CA,EAAO,QAAQ,KAAK,IAAI,GACxBA,EAAO,mBAAmB,KAAK,eAAe,GAC9CA,EAAO;AAAA,MACLJ;AAAA,MACA,CAAAiV,MAAO;AACL,cAAM,EAAE,OAAAC,MAAUD;AAClB,QAAAlD,EAAQ,QAAQ;AAAA,UACd,MAAMmD,EAAM;AAAA,UACZ,OAAOlD,KAASkD,EAAM;AAAA,UACtB,QAAQjD,KAAUiD,EAAM;AAAA,UACxB,OAAOhD,KAAS,KAAK,KAAKgD,EAAM,MAAM;AAAA,QAAA,GAExCnD,EAAQ,OAAOkD,EAAI,MACnBlD,EAAQ,SAASkD,EAAI,QACrBlD,EAAQ,aAAakD,EAAI,YACzBlD,EAAQ,cAAc;AAEtB,YAAI;AACF,UAAA9R,IAAS8R,CAAO;AAAA,QAClB,SAASvR,GAAO;AACd,UAAIL,KAAW,OACbA,EAAQK,CAAK,IAEb,QAAQ,MAAMA,CAAK,GAErB,KAAK,QAAQ,UAAUR,CAAG;AAAA,QAC5B;AAAA,MACF;AAAA,MACAE;AAAA,MACAC;AAAA,IAAA,GAGK4R;AAAA,EACT;AACF;ACzDO,MAAMoD,WAAyBpV,EAAoB;AAAA,EAGxD,YAAY6R,IAAmC,CAAA,GAAIb,GAA0B;AAC3E,UAAMA,CAAO,GACb,KAAK,UAAUa;AAAA,EACjB;AAAA,EAES,KACP5R,GACAC,GACAC,GACAC,GACa;AACb,UAAM,EAAE,OAAA6R,GAAO,QAAAC,EAAA,IAAW,KAAK,SACzBF,IAAU,IAAIqD,GAAY,MAAMpD,GAAOC,CAAM,GAE7C7R,IAAS,IAAI4U,GAAU,KAAK,OAAO;AACzC,WAAA5U,EAAO,iBAAiB,KAAK,aAAa,GAC1CA,EAAO,QAAQ,KAAK,IAAI,GACxBA,EAAO,mBAAmB,KAAK,eAAe,GAC9CA,EAAO;AAAA,MACLJ;AAAA,MACA,CAAAiV,MAAO;AACL,cAAM,EAAE,OAAAC,MAAUD;AAClB,QAAAlD,EAAQ,QAAQ;AAAA,UACd,MAAMmD,EAAM;AAAA,UACZ,OAAOlD,KAASkD,EAAM;AAAA,UACtB,QAAQjD,KAAUiD,EAAM;AAAA,QAAA,GAE1BnD,EAAQ,OAAOkD,EAAI,MACnBlD,EAAQ,SAASkD,EAAI,QACrBlD,EAAQ,aAAakD,EAAI,YACzBlD,EAAQ,cAAc;AAEtB,YAAI;AACF,UAAA9R,IAAS8R,CAAO;AAAA,QAClB,SAASvR,GAAO;AACd,UAAIL,KAAW,OACbA,EAAQK,CAAK,IAEb,QAAQ,MAAMA,CAAK,GAErB,KAAK,QAAQ,UAAUR,CAAG;AAAA,QAC5B;AAAA,MACF;AAAA,MACAE;AAAA,MACAC;AAAA,IAAA,GAGK4R;AAAA,EACT;AACF;ACvDA,MAAM3N,KAAU,MAEViR,yBAAgC3T,EAAA,GAChC4T,yBAAiC5T,EAAA,GACjC6T,wBAA8B7T,EAAA,GAC9B8T,wBAAmC9T,EAAA,GACnC+T,yBAAmC/T,EAAA,GACnCgU,yBAAmChU,EAAA,GACnCiU,yBAAkCC,GAAA,GAClCC,yBAAsCC,GAAA,GACtCC,yBAA+BC,GAAA;AAE9B,MAAMC,GAAY;AAAA,EAcvB,YAAYC,IAAW,GAAGC,IAAU,GAAGC,IAAQ,GAAGC,IAAO,GAAG;AAC1D,SAAK,WAAWH,GAChB,KAAK,UAAUC,GACf,KAAK,QAAQC,GACb,KAAK,OAAOC;AAAA,EACd;AAAA,EAEA,IAAI,WAAmB;AACrB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,SAAS1M,GAAe;AAC1B,SAAK,YAAY,KAAK,IAAIA,GAAOvF,EAAO;AAAA,EAC1C;AAAA,EAEA,IAAI,QAAgB;AAClB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,MAAMuF,GAAe;AACvB,SAAK,SAASwI,EAAMxI,GAAO,CAAC,KAAK,KAAK,IAAIvF,IAAS,KAAK,KAAK,IAAIA,EAAO;AAAA,EAC1E;AAAA,EAEA,IAAI8R,GAAkBC,GAAiBC,GAAeC,GAAqB;AACzE,gBAAK,WAAWH,GAChB,KAAK,UAAUC,GACf,KAAK,QAAQC,GACTC,KAAQ,SACV,KAAK,OAAOA,IAEP;AAAA,EACT;AAAA,EAEA,QAAqB;AACnB,WAAO,IAAIJ,GAAY,KAAK,UAAU,KAAK,SAAS,KAAK,OAAO,KAAK,IAAI;AAAA,EAC3E;AAAA,EAEA,KAAKK,GAA0B;AAC7B,gBAAK,WAAWA,EAAM,UACtB,KAAK,UAAUA,EAAM,SACrB,KAAK,QAAQA,EAAM,OACnB,KAAK,OAAOA,EAAM,MACX;AAAA,EACT;AAAA,EAEA,OAAOA,GAA6B;AAClC,WACEA,EAAM,aAAa,KAAK,YACxBA,EAAM,YAAY,KAAK,WACvBA,EAAM,UAAU,KAAK,SACrBA,EAAM,SAAS,KAAK;AAAA,EAExB;AAAA,EAEA,UACElT,GACAmT,GACAC,GACAC,GACAC,IAAYC,GAAU,OAChB;AACN,IAAAD,EAAU;AAAA,MACRtT;AAAA,MACAiS;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA,GAEFkB,GAAI,KAAKlB,CAAS;AAIlB,UAAMqB,IAASpB,EACZ,KAAKH,EAAW,EAChB,eAAe,KAAK,IAAI,KAAK,OAAO,CAAC,EACrC;AAAA,MACCI,GAAe,KAAKH,EAAY,EAAE,eAAe,KAAK,IAAI,KAAK,OAAO,CAAC;AAAA,IAAA,EAExE,eAAe,KAAK,IAAI,KAAK,KAAK,CAAC,EACnC,IAAIG,GAAe,KAAKF,CAAS,EAAE,eAAe,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,EACvE,YACA,eAAe,KAAK,QAAQ;AAG/B,QAFAgB,EAAI,KAAKnT,CAAM,EAAE,IAAIwT,CAAM,GAEvB,KAAK,SAAS,GAAG;AACnB,YAAMC,IAAWrB,EAAe,KAAKpS,CAAM,EAAE,IAAImT,CAAG,EAAE,UAAA;AACtD,MAAAhB,EAAU;AAAA,QACRM,GAAkB,iBAAiBgB,GAAU,KAAK,IAAI;AAAA,MAAA;AAAA,IAE1D;AACA,IAAAL,EAAW;AAAA,MACTb,GAAc,OAAOY,GAAKnT,GAAQmS,CAAS;AAAA,IAAA;AAAA,EAE/C;AAAA,EAEA,cAAcuB,GAAgBJ,IAAYC,GAAU,OAAyB;AAC3E,UAAMJ,IAAMf,EAAe,sBAAsBsB,EAAO,WAAW,GAC7DC,IAAYtB,GACf,IAAI,GAAG,GAAG,GAAG,EACb,UAAUqB,CAAM,EAChB,IAAIP,CAAG,EACP,UAAA,GACGnT,IAASsT,EAAU,gBAAgBX,GAAW,IAAIQ,GAAKQ,CAAS,CAAC;AACvE,QAAI3T,KAAU;AACZ;AAGF,SAAK,WAAWmT,EAAI,WAAWnT,CAAM,GACrCsT,EAAU;AAAA,MACRtT;AAAA,MACAiS;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA,GAEF,KAAK,UAAU,KAAK;AAAA,MAClBD,GAAa,IAAIyB,CAAS;AAAA,MAC1B1B,GAAY,IAAI0B,CAAS;AAAA,IAAA,GAE3B,KAAK,QAAQ,KAAK,KAAKxB,EAAU,IAAIwB,CAAS,CAAC;AAG/C,UAAMN,IAAKjB,EAAe,KAAKsB,EAAO,EAAE,EAAE,gBAAgBA,EAAO,UAAU,GACrEE,IAAItB,GACP,KAAKqB,CAAS,EACd,eAAe,CAACN,EAAG,IAAIM,CAAS,CAAC,EACjC,IAAIN,CAAE,EACN,UAAA,GACGQ,IAAIzB,EACP,KAAKuB,CAAS,EACd,eAAe,CAACxB,EAAU,IAAIwB,CAAS,CAAC,EACxC,IAAIxB,CAAS,EACb,UAAA,GACG1I,IAAIoK,EAAE,IAAID,CAAC,GACXlK,IAAIiK,EAAU,IAAIE,EAAE,MAAMD,CAAC,CAAC;AAClC,gBAAK,OAAO,KAAK,MAAMlK,GAAGD,CAAC,GAEpB;AAAA,EACT;AACF;AC7JO,MAAMqK,IAAN,MAAMA,EAAU;AAAA,EAQrB,YACSC,IAAO,GACPC,IAAQ,GACRC,IAAO,GACPC,IAAQ,GACf;AAJO,SAAA,OAAAH,GACA,KAAA,QAAAC,GACA,KAAA,OAAAC,GACA,KAAA,QAAAC;AAAA,EACN;AAAA,EAEH,IAAI,QAAgB;AAClB,QAAID,IAAO,KAAK;AAChB,WAAIA,IAAO,KAAK,SACdA,KAAQ,KAAK,KAAK,IAEbA,IAAO,KAAK;AAAA,EACrB;AAAA,EAEA,IAAI,SAAiB;AACnB,WAAO,KAAK,QAAQ,KAAK;AAAA,EAC3B;AAAA,EAEA,IAAIF,GAAcC,GAAeC,GAAcC,GAAqB;AAClE,gBAAK,OAAOH,GACZ,KAAK,QAAQC,GACb,KAAK,OAAOC,GACZ,KAAK,QAAQC,GACN;AAAA,EACT;AAAA,EAEA,QAAmB;AACjB,WAAO,IAAIJ,EAAU,KAAK,MAAM,KAAK,OAAO,KAAK,MAAM,KAAK,KAAK;AAAA,EACnE;AAAA,EAEA,KAAKZ,GAA4B;AAC/B,gBAAK,OAAOA,EAAM,MAClB,KAAK,QAAQA,EAAM,OACnB,KAAK,OAAOA,EAAM,MAClB,KAAK,QAAQA,EAAM,OACZ;AAAA,EACT;AAAA,EAEA,OAAOA,GAA+B;AACpC,WACEA,EAAM,SAAS,KAAK,QACpBA,EAAM,UAAU,KAAK,SACrBA,EAAM,SAAS,KAAK,QACpBA,EAAM,UAAU,KAAK;AAAA,EAEzB;AAAA,EAEA,GAAGzJ,GAAWC,GAAW3L,IAAS,IAAIoW,KAAsB;AAC1D,WAAOpW,EAAO;AAAA,MACZ,KAAK,QAAQ,KAAK,OAAO,KAAK,QAAQ0L;AAAA,MACtC,KAAK,SAAS,KAAK,QAAQ,KAAK,SAASC;AAAA,IAAA;AAAA,EAE7C;AAAA,EAEA,UAAU3D,GAA0ByN,IAAS,GAAS;AACpD,gBAAK,OAAOzN,EAAMyN,CAAM,GACxB,KAAK,QAAQzN,EAAMyN,IAAS,CAAC,GAC7B,KAAK,OAAOzN,EAAMyN,IAAS,CAAC,GAC5B,KAAK,QAAQzN,EAAMyN,IAAS,CAAC,GACtB;AAAA,EACT;AAAA,EAEA,QAAQzN,IAAkB,IAAIyN,IAAS,GAAa;AAClD,WAAAzN,EAAMyN,CAAM,IAAI,KAAK,MACrBzN,EAAMyN,IAAS,CAAC,IAAI,KAAK,OACzBzN,EAAMyN,IAAS,CAAC,IAAI,KAAK,MACzBzN,EAAMyN,IAAS,CAAC,IAAI,KAAK,OAClBzN;AAAA,EACT;AAAA,EAEA,EAAE,OAAO,QAAQ,IAAuB;AACtC,UAAM,KAAK,MACX,MAAM,KAAK,OACX,MAAM,KAAK,MACX,MAAM,KAAK;AAAA,EACb;AACF;AApFE+N,EAAgB,MAAoB,oBAAIA;AAAA,EACtCK,EAAS;AAAA,EACTA,EAAS;AAAA,EACTA,EAAS;AAAA,EACTA,EAAS;AAAA;AALN,IAAMC,KAANN;ACXP,MAAMO,KAAiB;AAMhB,SAASC,GAAgB/C,GAAgBgD,GAA4B;AAC1E,SAAOhD,EAAO,QAAQ8C,IAAgB,CAACG,GAAOC,MAAiB;AAE7D,UAAMC,IADaD,EAAK,MAAM,GAAG,EACN;AAAA,MACzB,CAACE,GAAQC,MACP,OAAOD,KAAW,YAAYA,KAAU,OACpCA,EAAOC,CAAS,IAChB;AAAA,MACNL;AAAA,IAAA;AAEF,QAAI,OAAOG,KAAY;AACrB,YAAM,IAAI,MAAM,8BAA8BD,CAAI,GAAG;AAEvD,WAAOH,GAAgBI,GAASH,CAAQ;AAAA,EAC1C,CAAC;AACH;ACjBA,IAAIM;AAEJ,SAASC,KAA8B;AACrC,MAAID,MAAoB;AACtB,WAAOA;AAET,QAAM1E,IAAI,IAAI,YAAY,CAAC,SAAU,CAAC;AAEtC,SAAA0E,KADU,IAAI,WAAW1E,EAAE,QAAQA,EAAE,YAAYA,EAAE,UAAU,EACxC,CAAC,MAAM,GACrB0E;AACT;AAiBA,SAASE,EACPnX,GACAwF,GACA4R,GACAC,IAAe,IACH;AACZ,MAAIA,MAAiBH;AAGnB,WAAO,IAAI1R,EAAWxF,CAAM;AAE9B,QAAMuN,IAAO,OAAO,OAAO,IAAI,SAASvN,CAAM,GAAG;AAAA,IAC/C,WAA2B2P,GAAoB0H,GAAwB;AACrE,aAAO5H,GAAW,MAAME,GAAY0H,CAAY;AAAA,IAClD;AAAA,EAAA,CACD,GACKlP,IAAQ,IAAI3C,EAAW+H,EAAK,aAAa/H,EAAW,iBAAiB;AAC3E,WACM5F,IAAQ,GAAG0X,IAAY,GAC3B1X,IAAQuI,EAAM,QACd,EAAEvI,GAAO0X,KAAa9R,EAAW;AAEjC,IAAA2C,EAAMvI,CAAK,IAAI2N,EAAK6J,CAAQ,EAAEE,GAAWD,CAAY;AAEvD,SAAOlP;AACT;AAOO,MAAMoP,KAAgD,CAAAvX,MAC3D,IAAI,WAAWA,CAAM,GAEVwX,KAA8C,CAAAxX,MACzD,IAAI,UAAUA,CAAM,GAETyX,KAAkD,CAC7DzX,GACAqX,MACGF,EAAgBnX,GAAQ,aAAa,aAAaqX,CAAY,GAEtDK,KAAgD,CAC3D1X,GACAqX,MACGF,EAAgBnX,GAAQ,YAAY,YAAYqX,CAAY,GAEpDM,KAAgD,CAC3D3X,GACAqX,MACGF,EAAgBnX,GAAQ,YAAY,YAAYqX,CAAY,GAEpDO,KAAkD,CAC7D5X,GACAqX,MACGF,EAAgBnX,GAAQ,aAAa,aAAaqX,CAAY,GAEtDQ,KAAoD,CAC/D7X,GACAqX,MACGF,EAAgBnX,GAAQ+M,GAAc,cAAcsK,CAAY,GAExDS,KAAoD,CAC/D9X,GACAqX,MACGF,EAAgBnX,GAAQ,cAAc,cAAcqX,CAAY,GAExDU,KAAoD,CAC/D/X,GACAqX,MACGF,EAAgBnX,GAAQ,cAAc,cAAcqX,CAAY;ACtF9D,MAAMW,WAAmBtH,GAAiC;AAAA,EAC/D,YAAYX,GAA0B;AACpC;AAAA,MACEgE;AAAA,MACAwD;AAAA,MACA;AAAA,QACE,QAAQU;AAAA,QACR,WAAWC;AAAA,QACX,WAAWA;AAAA,QACX,OAAOC;AAAA,QACP,OAAOA;AAAA,QACP,OAAOA;AAAA,QACP,OAAOlX;AAAA,QACP,QAAQC;AAAA,QACR,OAAOC;AAAA,MAAA;AAAA,MAET4O;AAAA,IAAA;AAAA,EAEJ;AACF;AC3BA,UAAUqI,GACRvM,GACAC,GACAuM,GACAC,GACAnY,GAC2B;AAC3B,MAAIkY,KAAKC;AACP;AAEF,QAAMC,IAAU,KAAKF,GACfG,IAAQH,IAAI,GACZI,IAAQ,KAAKD,GACbE,IAAQ,KAAK,MAAO7M,IAAI0M,IAAWE,CAAK,GACxCE,IAAQ,KAAK,MAAO7M,IAAIyM,IAAWE,CAAK,GACxCG,IAAW;AAAA,IACf,CAACF,GAAOC,GAAOH,CAAK;AAAA,IACpB,CAACE,IAAQ,GAAGC,GAAOH,CAAK;AAAA,IACxB,CAACE,GAAOC,IAAQ,GAAGH,CAAK;AAAA,IACxB,CAACE,IAAQ,GAAGC,IAAQ,GAAGH,CAAK;AAAA,EAAA;AAE9B,MAAIA,IAAQF;AACV,eAAWO,KAASD;AAClB,iBAAWE,KAASV,GAAiB,GAAGS,GAAOP,GAAMnY,CAAM;AACzD,cAAM2Y;AAAA;AAIV,eAAWD,KAASD;AAClB,aAAOzY,KAAU,IAAI4Y,EAAA,GAAkB,IAAI,GAAGF,CAAK;AAGzD;AAEO,MAAME,EAAe;AAAA,EAC1B,YACSlN,IAAI,GACJC,IAAI,GACJuM,IAAI,GACX;AAHO,SAAA,IAAAxM,GACA,KAAA,IAAAC,GACA,KAAA,IAAAuM;AAAA,EACN;AAAA,EAEH,IAAIxM,GAAWC,GAAWuM,GAAkB;AAC1C,gBAAK,IAAIxM,GACT,KAAK,IAAIC,GACLuM,KAAK,SACP,KAAK,IAAIA,IAEJ;AAAA,EACT;AAAA,EAEA,QAAwB;AACtB,WAAO,IAAIU,EAAe,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAAA,EAClD;AAAA,EAEA,KAAKzD,GAAiC;AACpC,gBAAK,IAAIA,EAAM,GACf,KAAK,IAAIA,EAAM,GACf,KAAK,IAAIA,EAAM,GACR;AAAA,EACT;AAAA,EAEA,OAAOA,GAAoC;AACzC,WAAOA,EAAM,MAAM,KAAK,KAAKA,EAAM,MAAM,KAAK,KAAKA,EAAM,MAAM,KAAK;AAAA,EACtE;AAAA,EAEA,UAAUnV,IAAS,IAAI4Y,KAAkC;AACvD,UAAMR,IAAU,KAAK,KAAK,GACpB1M,IAAI,KAAK,IAAI0M,GACbzM,IAAI,KAAK,IAAIyM,GACbF,IAAI,KAAK,IAAI,GACbI,IAAQ,KAAKJ;AACnB,WAAOlY,EAAO,IAAI,KAAK,MAAM0L,IAAI4M,CAAK,GAAG,KAAK,MAAM3M,IAAI2M,CAAK,GAAGJ,CAAC;AAAA,EACnE;AAAA,EAEA,CAAC,iBACCnH,GACA/Q,GAC2B;AAC3B,UAAM,EAAE,GAAA0L,GAAG,GAAAC,GAAG,GAAAuM,EAAA,IAAM;AACpB,eAAWS,KAASV,GAAiBvM,GAAGC,GAAGuM,GAAGA,IAAInH,GAAO/Q,CAAM;AAC7D,YAAM2Y;AAAA,EAEV;AAAA,EAEA,UAAU3Q,GAA0ByN,IAAS,GAAS;AACpD,gBAAK,IAAIzN,EAAMyN,CAAM,GACrB,KAAK,IAAIzN,EAAMyN,IAAS,CAAC,GACzB,KAAK,IAAIzN,EAAMyN,IAAS,CAAC,GAClB;AAAA,EACT;AAAA,EAEA,QAAQzN,IAAkB,IAAIyN,IAAS,GAAa;AAClD,WAAAzN,EAAMyN,CAAM,IAAI,KAAK,GACrBzN,EAAMyN,IAAS,CAAC,IAAI,KAAK,GACzBzN,EAAMyN,IAAS,CAAC,IAAI,KAAK,GAClBzN;AAAA,EACT;AAAA,EAEA,EAAE,OAAO,QAAQ,IAAuB;AACtC,UAAM,KAAK,GACX,MAAM,KAAK,GACX,MAAM,KAAK;AAAA,EACb;AACF;ACzGA,MAAM6Q,yBAAkCC,GAAA;AASjC,MAAMC,GAAa;AAAA,EACxB,YACSlI,IAAQ,GACRC,IAAS,GACTkI,IAAY3C,GAAU,KAC7B;AAHO,SAAA,QAAAxF,GACA,KAAA,SAAAC,GACA,KAAA,YAAAkI;AAAA,EACN;AAAA,EAEH,QAAsB;AACpB,WAAO,IAAID,GAAa,KAAK,OAAO,KAAK,QAAQ,KAAK,UAAU,OAAO;AAAA,EACzE;AAAA,EAEA,KAAK5D,GAA+B;AAClC,gBAAK,QAAQA,EAAM,OACnB,KAAK,SAASA,EAAM,QACpB,KAAK,UAAU,KAAKA,EAAM,SAAS,GAC5B;AAAA,EACT;AAAA,EAEA,QAAQ+C,GAAWlY,IAAS,IAAI8Y,MAAoB;AAClD,WAAO9Y,EAAO,IAAI,KAAK,SAASkY,GAAG,KAAK,UAAUA,CAAC;AAAA,EACrD;AAAA;AAAA,EAGA,QACEe,GACAf,GACAlY,IAAS,IAAI4Y,KACG;AAChB,UAAMM,IAAO,KAAK,QAAQhB,GAAGW,EAAa,GACpC,EAAE,WAAAG,MAAc,MAChBnI,IAAQmI,EAAU,QAAQE,EAAK,GAC/BpI,IAASkI,EAAU,SAASE,EAAK,GACjC,EAAE,MAAAlD,GAAM,OAAAC,GAAO,MAAAC,EAAA,IAAS8C;AAC9B,QAAIG,IAAYF,EAAS;AACzB,IAAI/C,IAAOF,MACTmD,KAAa,KAAK,KAAK;AAEzB,QAAIzN,IAAI,KAAK,OAAOyN,IAAYnD,KAAQnF,CAAK;AAC7C,IAAInF,KAAKwN,EAAK,MACZxN,IAAIwN,EAAK,IAAI;AAEf,QAAIvN,IAAI,KAAK,OAAOsN,EAAS,WAAWhD,KAASnF,CAAM;AACvD,WAAInF,KAAKuN,EAAK,MACZvN,IAAIuN,EAAK,IAAI,IAEflZ,EAAO,IAAI0L,GACX1L,EAAO,IAAI2L,GACX3L,EAAO,IAAIkY,GACJlY;AAAA,EACT;AAAA;AAAA,EAGA,aAAaoZ,GAA0BpZ,IAAS,IAAIqW,MAAwB;AAC1E,UAAM6C,IAAO,KAAK,QAAQE,EAAK,GAAGP,EAAa,GACzC,EAAE,WAAAG,MAAc,MAChBnI,IAAQmI,EAAU,QAAQE,EAAK,GAC/BpI,IAASkI,EAAU,SAASE,EAAK,GACjC,EAAE,MAAAlD,GAAM,OAAAG,EAAA,IAAU6C;AACxB,WAAAhZ,EAAO,OAAOoZ,EAAK,IAAIvI,IAAQmF,GAC/BhW,EAAO,QAAQoZ,EAAK,IAAI,KAAKvI,IAAQmF,GACrChW,EAAO,QAAQmW,KAAS+C,EAAK,IAAIE,EAAK,IAAI,KAAKtI,GAC/C9Q,EAAO,QAAQmW,KAAS+C,EAAK,IAAIE,EAAK,KAAKtI,GACpC9Q;AAAA,EACT;AACF;ACpEO,SAASqZ,GAAmB7Q,GAAoC;AAAC;ACTxE,MAAM8Q,KACJ;AAEF,SAASC,GACP9C,GACAtI,GACAO,GACA8K,GACQ;AACR,MAAIC,IAAS;AACb,WAASjP,IAAI,SAAS2D,GAAO,EAAE,GAAG3D,IAAI,SAASkE,GAAK,EAAE,GAAG,EAAElE;AACzD,IAAAiP,KAAUD,EACP,QAAQ,gBAAgB,MAAMhP,IAAI,GAAG,EACrC,QAAQ,wBAAwB,GAAGA,CAAC,EAAE;AAE3C,SAAOiP;AACT;AAEO,SAASC,GAAYD,GAAwB;AAClD,SAAOA,EAAO,QAAQH,IAAmBC,EAAY;AACvD;","x_google_ignoreList":[4,5,6,7,8,9,10,11,12]}
1
+ {"version":3,"file":"index.js","sources":["../src/ArrayBufferLoader.ts","../src/bufferGeometry.ts","../src/capabilities.ts","../node_modules/.pnpm/@petamoriken+float16@3.9.3/node_modules/@petamoriken/float16/src/_util/messages.mjs","../node_modules/.pnpm/@petamoriken+float16@3.9.3/node_modules/@petamoriken/float16/src/_util/primordials.mjs","../node_modules/.pnpm/@petamoriken+float16@3.9.3/node_modules/@petamoriken/float16/src/_util/arrayIterator.mjs","../node_modules/.pnpm/@petamoriken+float16@3.9.3/node_modules/@petamoriken/float16/src/_util/is.mjs","../node_modules/.pnpm/@petamoriken+float16@3.9.3/node_modules/@petamoriken/float16/src/_util/brand.mjs","../node_modules/.pnpm/@petamoriken+float16@3.9.3/node_modules/@petamoriken/float16/src/_util/converter.mjs","../node_modules/.pnpm/@petamoriken+float16@3.9.3/node_modules/@petamoriken/float16/src/_util/spec.mjs","../node_modules/.pnpm/@petamoriken+float16@3.9.3/node_modules/@petamoriken/float16/src/Float16Array.mjs","../node_modules/.pnpm/@petamoriken+float16@3.9.3/node_modules/@petamoriken/float16/src/DataView.mjs","../src/typedArray.ts","../src/TypedArrayLoader.ts","../src/DataTextureLoader.ts","../src/math.ts","../src/decorators.ts","../src/defineShorthand.ts","../src/EXR3DTextureLoader.ts","../src/EXRTextureLoader.ts","../src/PointOfView.ts","../src/Rectangle.ts","../src/resolveIncludes.ts","../src/TileCoordinate.ts","../src/TilingScheme.ts","../src/typedArrayParsers.ts","../src/types.ts","../src/unrollLoops.ts"],"names":["ArrayBufferLoader","Loader","url","onLoad","onProgress","onError","loader","FileLoader","arrayBuffer","invariant","error","toBufferGeometryLike","geometry","attributes","index","boundingBox","boundingSphere","attribute","buffer","fromBufferGeometryLike","input","result","BufferGeometry","name","BufferAttribute","min","max","Box3","Vector3","center","radius","Sphere","isFloatLinearSupported","renderer","WebGLRenderer","THIS_IS_NOT_AN_OBJECT","THIS_IS_NOT_A_FLOAT16ARRAY_OBJECT","THIS_CONSTRUCTOR_IS_NOT_A_SUBCLASS_OF_FLOAT16ARRAY","THE_CONSTRUCTOR_PROPERTY_VALUE_IS_NOT_AN_OBJECT","SPECIES_CONSTRUCTOR_DIDNT_RETURN_TYPEDARRAY_OBJECT","DERIVED_CONSTRUCTOR_CREATED_TYPEDARRAY_OBJECT_WHICH_WAS_TOO_SMALL_LENGTH","ATTEMPTING_TO_ACCESS_DETACHED_ARRAYBUFFER","CANNOT_CONVERT_UNDEFINED_OR_NULL_TO_OBJECT","CANNOT_MIX_BIGINT_AND_OTHER_TYPES","ITERATOR_PROPERTY_IS_NOT_CALLABLE","REDUCE_OF_EMPTY_ARRAY_WITH_NO_INITIAL_VALUE","THE_COMPARISON_FUNCTION_MUST_BE_EITHER_A_FUNCTION_OR_UNDEFINED","OFFSET_IS_OUT_OF_BOUNDS","uncurryThis","target","thisArg","args","ReflectApply","uncurryThisGetter","key","ReflectGetOwnPropertyDescriptor","ReflectConstruct","ReflectDefineProperty","ReflectGet","ReflectGetPrototypeOf","ReflectHas","ReflectOwnKeys","ReflectSet","ReflectSetPrototypeOf","NativeProxy","EPSILON","MAX_SAFE_INTEGER","NumberIsFinite","NumberIsNaN","SymbolIterator","SymbolSpecies","SymbolToStringTag","SymbolFor","NativeObject","ObjectCreate","ObjectDefineProperty","ObjectFreeze","ObjectIs","ObjectPrototype","ObjectPrototype__lookupGetter__","object","NativeTypeError","descriptor","ObjectHasOwn","NativeArray","ArrayIsArray","ArrayPrototype","ArrayPrototypeJoin","ArrayPrototypePush","ArrayPrototypeToLocaleString","NativeArrayPrototypeSymbolIterator","ArrayPrototypeSymbolIterator","MathAbs","MathTrunc","NativeArrayBuffer","ArrayBufferIsView","ArrayBufferPrototype","ArrayBufferPrototypeSlice","ArrayBufferPrototypeGetByteLength","NativeSharedArrayBuffer","SharedArrayBufferPrototypeGetByteLength","TypedArray","TypedArrayFrom","TypedArrayPrototype","NativeTypedArrayPrototypeSymbolIterator","TypedArrayPrototypeKeys","TypedArrayPrototypeValues","TypedArrayPrototypeEntries","TypedArrayPrototypeSet","TypedArrayPrototypeReverse","TypedArrayPrototypeFill","TypedArrayPrototypeCopyWithin","TypedArrayPrototypeSort","TypedArrayPrototypeSlice","TypedArrayPrototypeSubarray","TypedArrayPrototypeGetBuffer","TypedArrayPrototypeGetByteOffset","TypedArrayPrototypeGetLength","TypedArrayPrototypeGetSymbolToStringTag","NativeUint8Array","NativeUint16Array","Uint16ArrayFrom","NativeUint32Array","NativeFloat32Array","ArrayIteratorPrototype","ArrayIteratorPrototypeNext","GeneratorPrototypeNext","IteratorPrototype","DataViewPrototype","DataViewPrototypeGetUint16","NativeRangeError","NativeWeakSet","WeakSetPrototype","WeakSetPrototypeAdd","WeakSetPrototypeHas","NativeWeakMap","WeakMapPrototype","WeakMapPrototypeGet","WeakMapPrototypeHas","WeakMapPrototypeSet","arrayIterators","SafeIteratorPrototype","arrayIterator","safeIfNeeded","array","safe","generators","DummyArrayIteratorPrototype","generator","wrap","dummy","isObject","value","isObjectLike","isNativeTypedArray","isNativeBigIntTypedArray","typedArrayName","isArrayBuffer","isSharedArrayBuffer","isAnyArrayBuffer","isOrdinaryArray","isOrdinaryNativeTypedArray","isCanonicalIntegerIndexString","number","brand","hasFloat16ArrayBrand","prototype","constructor","INVERSE_OF_EPSILON","roundTiesToEven","num","FLOAT16_MIN_VALUE","FLOAT16_MAX_VALUE","FLOAT16_EPSILON","FLOAT16_EPSILON_MULTIPLIED_BY_FLOAT16_MIN_VALUE","FLOAT16_EPSILON_DEVIDED_BY_EPSILON","roundToFloat16","sign","absolute","temp","floatView","uint32View","baseTable","shiftTable","i","e","roundToFloat16Bits","f","mantissaTable","m","exponentTable","offsetTable","convertToNumber","float16bits","ToIntegerOrInfinity","ToLength","length","SpeciesConstructor","defaultConstructor","species","IsDetachedBuffer","defaultCompare","x","y","isXNaN","isYNaN","isXPlusZero","isYPlusZero","BYTES_PER_ELEMENT","float16bitsArrays","isFloat16Array","assertFloat16Array","assertSpeciesTypedArray","count","isTargetFloat16Array","isTargetTypedArray","float16bitsArray","getFloat16BitsArray","float16","cloned","Float16Array","copyToArray","TypedArrayPrototypeGetters","handler","receiver","_byteOffset","_length","list","data","iterator","proxy","src","opts","Constructor","uint16","mapFunc","val","items","relativeIndex","k","callback","kept","accumulator","start","targetOffset","targetLength","srcLength","clonedFloat16bitsArray","compareFn","sortCompare","end","relativeStart","relativeEnd","final","n","begin","uint16Subarray","element","from","isNaN","separator","Float16ArrayPrototype","getFloat16","dataView","byteOffset","isTypedArray","TypedArrayLoader","parser","manager","getTextureDataType","type","ByteType","UnsignedByteType","ShortType","UnsignedShortType","IntType","UnsignedIntType","HalfFloatType","FloatType","DataTextureLoader","textureClass","options","RGBAFormat","LinearFilter","texture","width","height","depth","clamp","MathUtils","euclideanModulo","inverseLerp","lerp","radians","degrees","isPowerOfTwo","ceilPowerOfTwo","floorPowerOfTwo","normalize","remap","min1","max1","min2","max2","remapClamped","smoothstep","saturate","closeTo","a","b","relativeEpsilon","absoluteEpsilon","diff","define","propertyKey","Material","coerceInt","defineInt","prevValue","coerceFloat","defineFloat","precision","defineExpression","validate","definePropertyShorthand","destination","sourceKeysArgs","descriptors","source","keys","defineUniformShorthand","EXR3DTextureLoader","Data3DTexture","EXRLoader","exr","image","EXRTextureLoader","DataTexture","eastScratch","northScratch","upScratch","vectorScratch1","vectorScratch2","vectorScratch3","matrixScratch","Matrix4","quaternionScratch","Quaternion","rayScratch","Ray","PointOfView","distance","heading","pitch","roll","other","eye","quaternion","up","ellipsoid","Ellipsoid","offset","rollAxis","camera","direction","intersection","s","t","_Rectangle","west","south","east","north","Geodetic","Rectangle","includePattern","resolveIncludes","includes","match","path","include","parent","component","traverseChildren","z","maxZ","divisor","nextZ","scale","nextX","nextY","children","child","coord","TileCoordinate","vectorScratch","Vector2","TilingScheme","rectangle","geodetic","size","longitude","tile","hostLittleEndian","isHostLittleEndian","parseTypedArray","getValue","littleEndian","byteIndex","parseUint8Array","parseInt8Array","parseUint16Array","parseInt16Array","parseInt32Array","parseUint32Array","parseFloat16Array","parseFloat32Array","parseFloat64Array","reinterpretType","unrollLoopPattern","loopReplacer","snippet","string","unrollLoops"],"mappings":";;;;;;AAGO,MAAMA,WAA0BC,EAAoB;AAAA,EAChD,KACPC,GACAC,GACAC,GACAC,GACM;AACN,UAAMC,IAAS,IAAIC,GAAW,KAAK,OAAO;AAC1C,IAAAD,EAAO,gBAAgB,aAAa,GACpCA,EAAO,iBAAiB,KAAK,aAAa,GAC1CA,EAAO,QAAQ,KAAK,IAAI,GACxBA,EAAO,mBAAmB,KAAK,eAAe,GAC9CA,EAAO;AAAA,MACLJ;AAAA,MACA,CAAAM,MAAe;AACb,QAAAC,GAAUD,aAAuB,WAAW;AAC5C,YAAI;AACF,UAAAL,EAAOK,CAAW;AAAA,QACpB,SAASE,GAAO;AACd,UAAIL,KAAW,OACbA,EAAQK,CAAK,IAEb,QAAQ,MAAMA,CAAK,GAErB,KAAK,QAAQ,UAAUR,CAAG;AAAA,QAC5B;AAAA,MACF;AAAA,MACAE;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AACF;ACAO,SAASM,GACdC,GACyC;AACzC,QAAM,EAAE,YAAAC,GAAY,OAAAC,GAAO,aAAAC,GAAa,gBAAAC,MAAmBJ;AAC3D,SAAO;AAAA,IACL,EAAE,YAAAC,GAAY,OAAAC,GAAO,aAAAC,GAAa,gBAAAC,EAAA;AAAA,IAClC;AAAA,MACE,GAAG,OAAO,OAAOJ,EAAS,UAAU,EAAE;AAAA,QACpC,CAAAK,MAAaA,EAAU,MAAM;AAAA,MAAA;AAAA,MAE/BL,EAAS,OAAO,MAAM;AAAA,IAAA,EACtB,OAAO,CAAAM,MAAUA,KAAU,IAAI;AAAA,EAAA;AAErC;AAEO,SAASC,GACdC,GACAC,IAAS,IAAIC,MACG;AAChB,aAAW,CAACC,GAAMN,CAAS,KAAK,OAAO,QAAQG,EAAM,UAAU;AAC7D,IAAAC,EAAO;AAAA,MACLE;AAAA,MACA,IAAIC;AAAA,QACFP,EAAU;AAAA,QACVA,EAAU;AAAA,QACVA,EAAU;AAAA,MAAA;AAAA,IACZ;AAWJ,MARAI,EAAO,QACLD,EAAM,SAAS,OACX,IAAII;AAAA,IACFJ,EAAM,MAAM;AAAA,IACZA,EAAM,MAAM;AAAA,IACZA,EAAM,MAAM;AAAA,EAAA,IAEd,MACFA,EAAM,eAAe,MAAM;AAC7B,UAAM,EAAE,KAAAK,GAAK,KAAAC,EAAA,IAAQN,EAAM;AAC3B,IAAAC,EAAO,cAAc,IAAIM;AAAA,MACvB,IAAIC,EAAQH,EAAI,GAAGA,EAAI,GAAGA,EAAI,CAAC;AAAA,MAC/B,IAAIG,EAAQF,EAAI,GAAGA,EAAI,GAAGA,EAAI,CAAC;AAAA,IAAA;AAAA,EAEnC;AACA,MAAIN,EAAM,kBAAkB,MAAM;AAChC,UAAM,EAAE,QAAAS,GAAQ,QAAAC,EAAA,IAAWV,EAAM;AACjC,IAAAC,EAAO,iBAAiB,IAAIU;AAAA,MAC1B,IAAIH,EAAQC,EAAO,GAAGA,EAAO,GAAGA,EAAO,CAAC;AAAA,MACxCC;AAAA,IAAA;AAAA,EAEJ;AACA,SAAOT;AACT;ACnFO,SAASW,GACdC,GACS;AACT,SAAOA,aAAoBC,KACvBD,EAAS,WAAA,EAAa,aAAa,0BAA0B,KAAK,OAEhEA,EAAS,QAGT,aAAa,oBAAoB,KAAK;AAC9C;ACbO,MAAME,KAAwB,yBACxBC,KAAoC,qCACpCC,KACX,sDACWC,KACX,mDACWC,KACX,uDACWC,KACX,4EACWC,IACX,6CACWC,KACX,8CACWC,KACX,+DACWC,KAAoC,uCACpCC,KACX,+CACWC,KACX,kEACWC,KAA0B;ACfvC,SAASC,EAAYC,GAAQ;AAC3B,SAAO,CAACC,MAAYC,MACXC,EAAaH,GAAQC,GAASC,CAAI;AAE7C;AAGA,SAASE,EAAkBJ,GAAQK,GAAK;AACtC,SAAON;AAAA,IACLO;AAAA,MACEN;AAAA,MACAK;AAAA,IACN,EAAM;AAAA,EACN;AACA;AAGO,MAAM;AAAA,EACX,OAAOF;AAAA,EACP,WAAWI;AAAA,EACX,gBAAgBC;AAAA,EAChB,KAAKC;AAAA,EACL,0BAA0BH;AAAA,EAC1B,gBAAgBI;AAAA,EAChB,KAAKC;AAAA,EACL,SAASC;AAAA,EACT,KAAKC;AAAA,EACL,gBAAgBC;AAClB,IAAI,SAGSC,KAAc,OAGd;AAAA,EACb,SAAEC;AAAAA,EACA,kBAAAC;AAAA,EACA,UAAUC;AAAA,EACV,OAAOC;AACT,IAAI,QAGS;AAAA,EACX,UAAUC;AAAA,EACV,SAASC;AAAA,EACT,aAAaC;AAAA,EACb,KAAKC;AACP,IAAI,QAGSC,IAAe,QACf;AAAA,EACX,QAAQC;AAAA,EACR,gBAAgBC;AAAA,EAChB,QAAQC;AAAA,EACR,IAAIC;AACN,IAAIJ,GACEK,KAAkBL,EAAa,WAExBM;AAAA;AAAA,EAAsDD,GAAiB,mBAChF9B;AAAA;AAAA,IAAgC8B,GAAiB;AAAA,EAAgB,IACjE,CAACE,GAAQ1B,MAAQ;AACjB,QAAI0B,KAAU;AACZ,YAAMC;AAAA,QACJvC;AAAA,MACR;AAGI,QAAIO,IAASwB,EAAaO,CAAM;AAChC,OAAG;AACD,YAAME,IAAa3B,EAAgCN,GAAQK,CAAG;AAC9D,UAAI4B,MAAe;AACjB,eAAIC,EAAaD,GAAY,KAAK,IACzBA,EAAW,MAGpB;AAAA,IAEJ,UAAUjC,IAASU,GAAsBV,CAAM,OAAO;AAAA,EACxD;AAAA,GAEWkC;AAAA;AAAA,EAAmCV,EAAc,UAC5DzB,EAAY8B,GAAgB,cAAc;AAAA,GAGtCM,KAAc,OACPC,KAAeD,GAAY,SAClCE,KAAiBF,GAAY,WAEtBG,KAAqBvC,EAAYsC,GAAe,IAAI,GAEpDE,KAAqBxC,EAAYsC,GAAe,IAAI,GAEpDG,KAA+BzC;AAAA,EAC1CsC,GAAe;AACjB,GACaI,KAAqCJ,GAAejB,CAAc,GAElEsB,KAA+B3C,EAAY0C,EAAkC,GAG7E;AAAA,EACX,KAAKE;AAAA,EACL,OAAOC;AACT,IAAI,MAGSC,KAAoB,aACpBC,KAAoBD,GAAkB,QAC7CE,KAAuBF,GAAkB,WAElCG,KAA4BjD,EAAYgD,GAAqB,KAAK,GAElEE,KAAoC7C,EAAkB2C,IAAsB,YAAY,GAGxFG,KAA0B,OAAO,oBAAsB,MAAc,oBAAoB,MAEzFC,KAA0CD,MAClD9C,EAAkB8C,GAAwB,WAAW,YAAY,GAKzDE,KAAa1C,GAAsB,UAAU,GACpD2C,KAAiBD,GAAW,MACrBE,IAAsBF,GAAW,WACjCG,KAA0CD,EAAoBlC,CAAc,GAE5EoC,KAA0BzD,EAAYuD,EAAoB,IAAI,GAE9DG,KAA4B1D;AAAA,EACvCuD,EAAoB;AACtB,GAEaI,KAA6B3D;AAAA,EACxCuD,EAAoB;AACtB,GAEaK,KAAyB5D,EAAYuD,EAAoB,GAAG,GAE5DM,KAA6B7D;AAAA,EACxCuD,EAAoB;AACtB,GAEaO,KAA0B9D,EAAYuD,EAAoB,IAAI,GAE9DQ,KAAgC/D;AAAA,EAC3CuD,EAAoB;AACtB,GAEaS,KAA0BhE,EAAYuD,EAAoB,IAAI,GAE9DU,IAA2BjE,EAAYuD,EAAoB,KAAK,GAEhEW,KAA8BlE;AAAA,EACzCuD,EAAoB;AACtB,GAEaY,IAA+B9D;AAAA,EAC1CkD;AAAA,EACA;AACF,GAEaa,IAAmC/D;AAAA,EAC9CkD;AAAA,EACA;AACF,GAEac,IAA+BhE;AAAA,EAC1CkD;AAAA,EACA;AACF,GAEae,KAA0CjE;AAAA,EACrDkD;AAAA,EACAhC;AACF,GAGagD,KAAmB,YAGnBC,IAAoB,aAEpBC,KAAkB,IAAItE,MAC1BC,EAAakD,IAAgBkB,GAAmBrE,CAAI,GAIhDuE,KAAoB,aAGpBC,KAAqB,cAIrBC,IAAyBjE,GAAsB,GAAGU,CAAc,EAAC,CAAE,GAEnEwD,KAA6B7E,EAAY4E,EAAuB,IAAI,GAIpEE,KAAyB9E,GAAa,aAAa;AAAC,GAAC,EAAI,IAAI,GAG7D+E,KAAoBpE,GAAsBiE,CAAsB,GAGvEI,KAAoB,SAAS,WAEtBC,KAA6BjF;AAAA,EACxCgF,GAAkB;AACpB,GAOa/C,IAAkB,WAClBiD,KAAmB,YAOnBC,KAAgB,SACvBC,KAAmBD,GAAc,WAE1BE,KAAsBrF,EAAYoF,GAAiB,GAAG,GAEtDE,KAAsBtF,EAAYoF,GAAiB,GAAG,GAOtDG,KAAgB,SACvBC,KAAmBD,GAAc,WAE1BE,KAAsBzF,EAAYwF,GAAiB,GAAG,GAEtDE,KAAsB1F,EAAYwF,GAAiB,GAAG,GAEtDG,KAAsB3F,EAAYwF,GAAiB,GAAG,GC3O7DI,KAAiB,IAAIL,GAAa,GAElCM,KAAwBnE,GAAa,MAAM;AAAA,EAC/C,MAAM;AAAA,IACJ,OAAO,WAAgB;AACrB,YAAMoE,IAAgBL,GAAoBG,IAAgB,IAAI;AAC9D,aAAOf,GAA2BiB,CAAa;AAAA,IACjD;AAAA,EACJ;AAAA,EAEE,CAACzE,CAAc,GAAG;AAAA,IAChB,OAAO,WAAkB;AACvB,aAAO;AAAA,IACT;AAAA,EACJ;AACA,CAAC;AAMM,SAAS0E,EAAaC,GAAO;AAClC,MACEA,EAAM3E,CAAc,MAAMqB,MAC1BkC,EAAuB,SAASC;AAEhC,WAAOmB;AAGT,QAAMC,IAAOvE,GAAamE,EAAqB;AAC/C,SAAAF,GAAoBC,IAAgBK,GAAMtD,GAA6BqD,CAAK,CAAC,GACtEC;AACT;AAGA,MAAMC,KAAa,IAAIX,GAAa,GAG9BY,KAA8BzE,GAAaqD,IAAmB;AAAA,EAClE,MAAM;AAAA,IACJ,OAAO,WAAgB;AACrB,YAAMqB,IAAYX,GAAoBS,IAAY,IAAI;AACtD,aAAOpB,GAAuBsB,CAAS;AAAA,IACzC;AAAA,IACA,UAAU;AAAA,IACV,cAAc;AAAA,EAClB;AACA,CAAC;AAED,WAAW9F,KAAOO,GAAe+D,CAAsB;AAErD,EAAItE,MAAQ,UAKZqB,GAAqBwE,IAA6B7F,GAAKC,EAAgCqE,GAAwBtE,CAAG,CAAC;AAO9G,SAAS+F,GAAKD,GAAW;AAC9B,QAAME,IAAQ5E,GAAayE,EAA2B;AACtD,SAAAR,GAAoBO,IAAYI,GAAOF,CAAS,GACzCE;AACT;AClEO,SAASC,GAASC,GAAO;AAC9B,SACGA,MAAU,QAAQ,OAAOA,KAAU,YACpC,OAAOA,KAAU;AAErB;AAMO,SAASC,GAAaD,GAAO;AAClC,SAAOA,MAAU,QAAQ,OAAOA,KAAU;AAC5C;AASO,SAASE,GAAmBF,GAAO;AACxC,SAAOlC,GAAwCkC,CAAK,MAAM;AAC5D;AAMO,SAASG,GAAyBH,GAAO;AAC9C,QAAMI,IAAiBtC,GAAwCkC,CAAK;AACpE,SACEI,MAAmB,mBACnBA,MAAmB;AAEvB;AAMA,SAASC,GAAcL,GAAO;AAC5B,MAAI;AAEF,WAAInE,GAAamE,CAAK,IACb,MAETtD;AAAA;AAAA,MAAsDsD;AAAA,IAAK,GACpD;AAAA,EACT,QAAY;AACV,WAAO;AAAA,EACT;AACF;AAMO,SAASM,GAAoBN,GAAO;AACzC,MAAIrD,OAA4B;AAC9B,WAAO;AAGT,MAAI;AACF,WAAAC;AAAA;AAAA,MAA4DoD;AAAA,IAAK,GAC1D;AAAA,EACT,QAAY;AACV,WAAO;AAAA,EACT;AACF;AAMO,SAASO,GAAiBP,GAAO;AACtC,SAAOK,GAAcL,CAAK,KAAKM,GAAoBN,CAAK;AAC1D;AAMO,SAASQ,GAAgBR,GAAO;AACrC,SAAKnE,GAAamE,CAAK,IAMrBA,EAAMnF,CAAc,MAAMqB,MAC1BkC,EAAuB,SAASC,KANzB;AAQX;AAMO,SAASoC,GAA2BT,GAAO;AAChD,SAAKE,GAAmBF,CAAK,IAM3BA,EAAMnF,CAAc,MAAMmC,MAC1BoB,EAAuB,SAASC,KANzB;AAQX;AAMO,SAASqC,GAA8BV,GAAO;AACnD,MAAI,OAAOA,KAAU;AACnB,WAAO;AAGT,QAAMW,IAAS,CAACX;AAKhB,SAJIA,MAAUW,IAAS,MAInB,CAAChG,GAAegG,CAAM,IACjB,KAGFA,MAAWtE,GAAUsE,CAAM;AACpC;AClJO,MAAMC,KAAQ5F,GAAU,kBAAkB;AAO1C,SAAS6F,GAAqBpH,GAAQ;AAC3C,MAAI,CAACwG,GAAaxG,CAAM;AACtB,WAAO;AAGT,QAAMqH,IAAY3G,GAAsBV,CAAM;AAC9C,MAAI,CAACwG,GAAaa,CAAS;AACzB,WAAO;AAGT,QAAMC,IAAcD,EAAU;AAC9B,MAAIC,MAAgB;AAClB,WAAO;AAET,MAAI,CAAChB,GAASgB,CAAW;AACvB,UAAMtF,EAAgB3C,EAA+C;AAGvE,SAAOsB,GAAW2G,GAAaH,EAAK;AACtC;AClBA,MAAMI,KAAqB,IAAIvG;AAQ/B,SAASwG,GAAgBC,GAAK;AAC5B,SAAQA,IAAMF,KAAsBA;AACtC;AAEA,MAAMG,KAAoB,gBACpBC,KAAoB,OACpBC,KAAkB,aAElBC,KAAkDD,KAAkBF,IACpEI,KAAqCF,KAAkBL;AAOtD,SAASQ,GAAeN,GAAK;AAClC,QAAMP,IAAS,CAACO;AAGhB,MAAI,CAACvG,GAAegG,CAAM,KAAKA,MAAW;AACxC,WAAOA;AAIT,QAAMc,IAAOd,IAAS,IAAI,IAAI,IACxBe,IAAWtF,GAAQuE,CAAM;AAG/B,MAAIe,IAAWP;AACb,WAAOM,IAAOR,GAAgBS,IAAWJ,EAA+C,IAAIA;AAG9F,QAAMK,KAAQ,IAAIJ,MAAsCG,GAClD7J,IAAS8J,KAAQA,IAAOD;AAG9B,SAAI7J,IAASuJ,MAAqBxG,EAAY/C,CAAM,IAC3C4J,IAAO,UAGTA,IAAO5J;AAChB;AAIA,MAAMH,KAAS,IAAI4E,GAAkB,CAAC,GAChCsF,KAAY,IAAIzD,GAAmBzG,EAAM,GACzCmK,KAAa,IAAI3D,GAAkBxG,EAAM,GAEzCoK,IAAY,IAAI9D,EAAkB,GAAG,GACrC+D,IAAa,IAAIhE,GAAiB,GAAG;AAE3C,SAASiE,IAAI,GAAGA,IAAI,KAAK,EAAEA,GAAG;AAC5B,QAAMC,IAAID,IAAI;AAGd,EAAIC,IAAI,OACNH,EAAUE,CAAC,IAAY,GACvBF,EAAUE,IAAI,GAAK,IAAI,OACvBD,EAAWC,CAAC,IAAY,IACxBD,EAAWC,IAAI,GAAK,IAAI,MAGfC,IAAI,OACbH,EAAUE,CAAC,IAAa,QAAW,CAACC,IAAI,IACxCH,EAAUE,IAAI,GAAK,IAAK,QAAW,CAACC,IAAI,KAAO,OAC/CF,EAAWC,CAAC,IAAY,CAACC,IAAI,GAC7BF,EAAWC,IAAI,GAAK,IAAI,CAACC,IAAI,KAGpBA,KAAK,MACdH,EAAUE,CAAC,IAAcC,IAAI,MAAO,IACpCH,EAAUE,IAAI,GAAK,IAAMC,IAAI,MAAO,KAAM,OAC1CF,EAAWC,CAAC,IAAY,IACxBD,EAAWC,IAAI,GAAK,IAAI,MAGfC,IAAI,OACbH,EAAUE,CAAC,IAAY,OACvBF,EAAUE,IAAI,GAAK,IAAI,OACvBD,EAAWC,CAAC,IAAY,IACxBD,EAAWC,IAAI,GAAK,IAAI,OAIxBF,EAAUE,CAAC,IAAY,OACvBF,EAAUE,IAAI,GAAK,IAAI,OACvBD,EAAWC,CAAC,IAAY,IACxBD,EAAWC,IAAI,GAAK,IAAI;AAE5B;AAOO,SAASE,EAAmBhB,GAAK;AACtC,EAAAU,GAAU,CAAC,IAAIJ,GAAeN,CAAG;AACjC,QAAMiB,IAAIN,GAAW,CAAC,GAChBI,IAAKE,KAAK,KAAM;AACtB,SAAOL,EAAUG,CAAC,MAAME,IAAI,YAAeJ,EAAWE,CAAC;AACzD;AAEA,MAAMG,KAAgB,IAAIlE,GAAkB,IAAI;AAChD,SAAS8D,IAAI,GAAGA,IAAI,MAAM,EAAEA,GAAG;AAC7B,MAAIK,IAAIL,KAAK,IACTC,IAAI;AAGR,UAAQI,IAAI,aAAgB;AAC1B,IAAAA,MAAM,GACNJ,KAAK;AAGP,EAAAI,KAAK,UACLJ,KAAK,WAELG,GAAcJ,CAAC,IAAIK,IAAIJ;AACzB;AACA,SAASD,IAAI,MAAMA,IAAI,MAAM,EAAEA;AAC7B,EAAAI,GAAcJ,CAAC,IAAI,aAAeA,IAAI,QAAS;AAGjD,MAAMM,IAAgB,IAAIpE,GAAkB,EAAE;AAC9C,SAAS8D,IAAI,GAAGA,IAAI,IAAI,EAAEA;AACxB,EAAAM,EAAcN,CAAC,IAAIA,KAAK;AAE1BM,EAAc,EAAE,IAAI;AACpBA,EAAc,EAAE,IAAI;AACpB,SAASN,IAAI,IAAIA,IAAI,IAAI,EAAEA;AACzB,EAAAM,EAAcN,CAAC,IAAI,cAAeA,IAAI,MAAO;AAE/CM,EAAc,EAAE,IAAI;AAEpB,MAAMC,KAAc,IAAIvE,EAAkB,EAAE;AAC5C,SAASgE,IAAI,GAAGA,IAAI,IAAI,EAAEA;AACxB,EAAIA,MAAM,OACRO,GAAYP,CAAC,IAAI;AASd,SAASQ,EAAgBC,GAAa;AAC3C,QAAMT,IAAIS,KAAe;AACzB,SAAAZ,GAAW,CAAC,IAAIO,GAAcG,GAAYP,CAAC,KAAKS,IAAc,KAAM,IAAIH,EAAcN,CAAC,GAChFJ,GAAU,CAAC;AACpB;ACxJO,SAASc,EAAoBjJ,GAAQ;AAC1C,QAAMkH,IAAS,CAAClH;AAEhB,SAAImB,EAAY+F,CAAM,KAAKA,MAAW,IAC7B,IAGFtE,GAAUsE,CAAM;AACzB;AAOO,SAASgC,GAASlJ,GAAQ;AAC/B,QAAMmJ,IAASF,EAAoBjJ,CAAM;AACzC,SAAImJ,IAAS,IACJ,IAGFA,IAASlI,KACZkI,IACAlI;AACN;AAQO,SAASmI,GAAmBpJ,GAAQqJ,GAAoB;AAC7D,MAAI,CAAC/C,GAAStG,CAAM;AAClB,UAAMgC,EAAgB9C,EAAqB;AAG7C,QAAMoI,IAActH,EAAO;AAC3B,MAAIsH,MAAgB;AAClB,WAAO+B;AAET,MAAI,CAAC/C,GAASgB,CAAW;AACvB,UAAMtF,EAAgB3C,EAA+C;AAGvE,QAAMiK,IAAUhC,EAAYjG,EAAa;AACzC,SAAIiI,KACKD;AAIX;AAOO,SAASE,EAAiBtL,GAAQ;AACvC,MAAI4I,GAAoB5I,CAAM;AAC5B,WAAO;AAGT,MAAI;AACF,WAAA+E,GAA0B/E,GAAQ,GAAG,CAAC,GAC/B;AAAA,EACT,QAAY;AAAA,EAAY;AAExB,SAAO;AACT;AASO,SAASuL,GAAeC,GAAGC,GAAG;AACnC,QAAMC,IAASxI,EAAYsI,CAAC,GACtBG,IAASzI,EAAYuI,CAAC;AAE5B,MAAIC,KAAUC;AACZ,WAAO;AAGT,MAAID;AACF,WAAO;AAOT,MAJIC,KAIAH,IAAIC;AACN,WAAO;AAGT,MAAID,IAAIC;AACN,WAAO;AAGT,MAAID,MAAM,KAAKC,MAAM,GAAG;AACtB,UAAMG,IAAcjI,GAAS6H,GAAG,CAAC,GAC3BK,IAAclI,GAAS8H,GAAG,CAAC;AAEjC,QAAI,CAACG,KAAeC;AAClB,aAAO;AAGT,QAAID,KAAe,CAACC;AAClB,aAAO;AAAA,EAEX;AAEA,SAAO;AACT;ACpDA,MAAMC,KAAoB,GAKpBC,KAAoB,IAAI1E,GAAa;AAMpC,SAAS2E,EAAejK,GAAQ;AACrC,SAAOyF,GAAoBuE,IAAmBhK,CAAM,KACjD,CAAC8C,GAAkB9C,CAAM,KAAKoH,GAAqBpH,CAAM;AAC9D;AAOA,SAASkK,EAAmBlK,GAAQ;AAClC,MAAI,CAACiK,EAAejK,CAAM;AACxB,UAAMgC,EAAgB7C,EAAiC;AAE3D;AAQA,SAASgL,GAAwBnK,GAAQoK,GAAO;AAC9C,QAAMC,IAAuBJ,EAAejK,CAAM,GAC5CsK,IAAqB7D,GAAmBzG,CAAM;AAEpD,MAAI,CAACqK,KAAwB,CAACC;AAC5B,UAAMtI,EAAgB1C,EAAkD;AAG1E,MAAI,OAAO8K,KAAU,UAAU;AAC7B,QAAIjB;AACJ,QAAIkB,GAAsB;AACxB,YAAME,IAAmBC,EAAoBxK,CAAM;AACnD,MAAAmJ,IAAS/E,EAA6BmG,CAAgB;AAAA,IACxD;AACE,MAAApB,IAAS/E,EAA6BpE,CAAM;AAG9C,QAAImJ,IAASiB;AACX,YAAMpI;AAAA,QACJzC;AAAA,MACR;AAAA,EAEE;AAEA,MAAImH,GAAyB1G,CAAM;AACjC,UAAMgC,EAAgBtC,EAAiC;AAE3D;AAOA,SAAS8K,EAAoBC,GAAS;AACpC,QAAMF,IAAmB/E,GAAoBwE,IAAmBS,CAAO;AACvE,MAAIF,MAAqB,QAAW;AAClC,UAAMtM,IAASiG,EAA6BqG,CAAgB;AAE5D,QAAIhB,EAAiBtL,CAAM;AACzB,YAAM+D,EAAgBxC,CAAyC;AAGjE,WAAO+K;AAAA,EACT;AAGA,QAAMtM;AAAA;AAAA,IAA6BwM,EAAS;AAAA;AAE5C,MAAIlB,EAAiBtL,CAAM;AACzB,UAAM+D,EAAgBxC,CAAyC;AAGjE,QAAMkL,IAASnK,EAAiBoK,GAAc;AAAA,IAC5C1M;AAAA;AAAA,IACoBwM,EAAS;AAAA;AAAA,IACTA,EAAS;AAAA,EACjC,GAAKA,EAAQ,WAAW;AACtB,SAAOjF,GAAoBwE,IAAmBU,CAAM;AACtD;AAMA,SAASE,GAAYL,GAAkB;AACrC,QAAMpB,IAAS/E,EAA6BmG,CAAgB,GAEtDxE,IAAQ,CAAA;AACd,WAASwC,IAAI,GAAGA,IAAIY,GAAQ,EAAEZ;AAC5B,IAAAxC,EAAMwC,CAAC,IAAIQ,EAAgBwB,EAAiBhC,CAAC,CAAC;AAGhD,SAAOxC;AACT;AAGA,MAAM8E,KAA6B,IAAI3F,GAAa;AACpD,WAAW7E,KAAOO,GAAe0C,CAAmB,GAAG;AAErD,MAAIjD,MAAQiB;AACV;AAGF,QAAMW,IAAa3B,EAAgCgD,GAAqBjD,CAAG;AAC3E,EAAI6B,EAAaD,GAAY,KAAK,KAAK,OAAOA,EAAW,OAAQ,cAC/DmD,GAAoByF,IAA4B5I,EAAW,GAAG;AAElE;AAEA,MAAM6I,KAAUnJ;AAAA;AAAA,EAA4D;AAAA,IAC1E,IAAI3B,GAAQK,GAAK0K,GAAU;AACzB,aAAI9D,GAA8B5G,CAAG,KAAK6B,EAAalC,GAAQK,CAAG,IACzD0I,EAAgBtI,GAAWT,GAAQK,CAAG,CAAC,IAI5CgF,GAAoBwF,IAA4B/I,GAAgC9B,GAAQK,CAAG,CAAC,IACvFI,GAAWT,GAAQK,CAAG,IAGxBI,GAAWT,GAAQK,GAAK0K,CAAQ;AAAA,IACzC;AAAA,IAEA,IAAI/K,GAAQK,GAAKkG,GAAOwE,GAAU;AAChC,aAAI9D,GAA8B5G,CAAG,KAAK6B,EAAalC,GAAQK,CAAG,IACzDQ,GAAWb,GAAQK,GAAKoI,EAAmBlC,CAAK,CAAC,IAGnD1F,GAAWb,GAAQK,GAAKkG,GAAOwE,CAAQ;AAAA,IAChD;AAAA,IAEA,yBAAyB/K,GAAQK,GAAK;AACpC,UAAI4G,GAA8B5G,CAAG,KAAK6B,EAAalC,GAAQK,CAAG,GAAG;AACnE,cAAM4B,IAAa3B,EAAgCN,GAAQK,CAAG;AAC9D,eAAA4B,EAAW,QAAQ8G,EAAgB9G,EAAW,KAAK,GAC5CA;AAAA,MACT;AAEA,aAAO3B,EAAgCN,GAAQK,CAAG;AAAA,IACpD;AAAA,IAEA,eAAeL,GAAQK,GAAK4B,GAAY;AACtC,aACEgF,GAA8B5G,CAAG,KACjC6B,EAAalC,GAAQK,CAAG,KACxB6B,EAAaD,GAAY,OAAO,MAEhCA,EAAW,QAAQwG,EAAmBxG,EAAW,KAAK,IAC/CzB,GAAsBR,GAAQK,GAAK4B,CAAU;AAAA,IAIxD;AAAA,EACF;AAAC;AAEM,MAAM0I,EAAa;AAAA;AAAA,EAExB,YAAYxM,GAAO6M,GAAaC,GAAS;AAEvC,QAAIV;AAEJ,QAAIN,EAAe9L,CAAK;AACtB,MAAAoM,IAAmBhK,EAAiBgE,GAAmB,CAACiG,EAAoBrM,CAAK,CAAC,GAAG,UAAU;AAAA,aACtFmI,GAASnI,CAAK,KAAK,CAAC2I,GAAiB3I,CAAK,GAAG;AAEtD,UAAI+M,GAEA/B;AAEJ,UAAI1C,GAAmBtI,CAAK,GAAG;AAC7B,QAAA+M,IAAO/M,GACPgL,IAAS/E,EAA6BjG,CAAK;AAE3C,cAAMF,IAASiG,EAA6B/F,CAAK;AAEjD,YAAIoL,EAAiBtL,CAAM;AACzB,gBAAM+D,EAAgBxC,CAAyC;AAGjE,YAAIkH,GAAyBvI,CAAK;AAChC,gBAAM6D,EAAgBtC,EAAiC;AAGzD,cAAMyL,IAAO,IAAItI;AAAA,UACfsG,IAASY;AAAA,QACnB;AACQ,QAAAQ,IAAmBhK,EAAiBgE,GAAmB,CAAC4G,CAAI,GAAG,UAAU;AAAA,MAC3E,OAAO;AACL,cAAMC,IAAWjN,EAAMiD,CAAc;AACrC,YAAIgK,KAAY,QAAQ,OAAOA,KAAa;AAC1C,gBAAMpJ,EAAgBrC,EAAiC;AAGzD,QAAIyL,KAAY,OAEVrE,GAAgB5I,CAAK,KACvB+M,IAAO/M,GACPgL,IAAShL,EAAM,WAGf+M,IAAO,CAAC;AAAA,QAAsC/M,CAAM,GACpDgL,IAAS+B,EAAK,WAGhBA;AAAA,QAA0C/M,GAC1CgL,IAASD,GAASgC,EAAK,MAAM,IAE/BX,IAAmBhK,EAAiBgE,GAAmB,CAAC4E,CAAM,GAAG,UAAU;AAAA,MAC7E;AAGA,eAASZ,IAAI,GAAGA,IAAIY,GAAQ,EAAEZ;AAC5B,QAAAgC,EAAiBhC,CAAC,IAAIE,EAAmByC,EAAK3C,CAAC,CAAC;AAAA,IAEpD;AACE,MAAAgC,IAAmBhK,EAAiBgE,GAAmB,WAAW,UAAU;AAI9E,UAAM8G;AAAA;AAAA,MAA4B,IAAItK,GAAYwJ,GAAkBO,EAAO;AAAA;AAG3E,WAAApF,GAAoBsE,IAAmBqB,GAAOd,CAAgB,GAEvDc;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO,KAAKC,MAAQC,GAAM;AACxB,UAAMC,IAAc;AAEpB,QAAI,CAAC7K,GAAW6K,GAAarE,EAAK;AAChC,YAAMnF;AAAA,QACJ5C;AAAA,MACR;AAII,QAAIoM,MAAgBb,GAAc;AAChC,UAAIV,EAAeqB,CAAG,KAAKC,EAAK,WAAW,GAAG;AAC5C,cAAMhB,IAAmBC,EAAoBc,CAAG,GAC1CG,IAAS,IAAIlH;AAAA,UACjBL,EAA6BqG,CAAgB;AAAA,UAC7CpG,EAAiCoG,CAAgB;AAAA,UACjDnG,EAA6BmG,CAAgB;AAAA,QACvD;AACQ,eAAO,IAAII;AAAA,UACTzG,EAA6BF,EAAyByH,CAAM,CAAC;AAAA,QACvE;AAAA,MACM;AAEA,UAAIF,EAAK,WAAW;AAClB,eAAO,IAAIZ;AAAA,UACTzG;AAAA,YACEM,GAAgB8G,GAAK7C,CAAkB;AAAA,UACnD;AAAA,QACA;AAGM,YAAMiD,IAAUH,EAAK,CAAC,GAChBtL,IAAUsL,EAAK,CAAC;AAEtB,aAAO,IAAIZ;AAAA,QACTzG;AAAA,UACEM,GAAgB8G,GAAK,SAAUK,MAAQzL,GAAM;AAC3C,mBAAOuI;AAAA,cACLtI,EAAauL,GAAS,MAAM,CAACC,GAAK,GAAG7F,EAAa5F,CAAI,CAAC,CAAC;AAAA,YACtE;AAAA,UACU,GAAGD,CAAO;AAAA,QACpB;AAAA,MACA;AAAA,IACI;AAGA,QAAIiL,GAEA/B;AAEJ,UAAMiC,IAAWE,EAAIlK,CAAc;AACnC,QAAIgK,KAAY,QAAQ,OAAOA,KAAa;AAC1C,YAAMpJ,EAAgBrC,EAAiC;AAGzD,QAAIyL,KAAY;AAEd,MAAIrE,GAAgBuE,CAAG,KACrBJ,IAAOI,GACPnC,IAASmC,EAAI,UACJtE,GAA2BsE,CAAG,KACvCJ,IAAOI,GACPnC,IAAS/E,EAA6BkH,CAAG,MAGzCJ,IAAO,CAAC,GAAGI,CAAG,GACdnC,IAAS+B,EAAK;AAAA,SAEX;AACL,UAAII,KAAO;AACT,cAAMtJ;AAAA,UACJvC;AAAA,QACV;AAEM,MAAAyL,IAAO1J,EAAa8J,CAAG,GACvBnC,IAASD,GAASgC,EAAK,MAAM;AAAA,IAC/B;AAEA,UAAMnF,IAAQ,IAAIyF,EAAYrC,CAAM;AAEpC,QAAIoC,EAAK,WAAW;AAClB,eAAShD,IAAI,GAAGA,IAAIY,GAAQ,EAAEZ;AAC5B,QAAAxC,EAAMwC,CAAC;AAAA,QAA2B2C,EAAK3C,CAAC;AAAA,SAErC;AACL,YAAMmD,IAAUH,EAAK,CAAC,GAChBtL,IAAUsL,EAAK,CAAC;AACtB,eAAShD,IAAI,GAAGA,IAAIY,GAAQ,EAAEZ;AAC5B,QAAAxC,EAAMwC,CAAC,IAAIpI,EAAauL,GAASzL,GAAS,CAACiL,EAAK3C,CAAC,GAAGA,CAAC,CAAC;AAAA,IAE1D;AAEA,WAAOxC;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO,MAAM6F,GAAO;AAClB,UAAMJ,IAAc;AAEpB,QAAI,CAAC7K,GAAW6K,GAAarE,EAAK;AAChC,YAAMnF;AAAA,QACJ5C;AAAA,MACR;AAGI,UAAM+J,IAASyC,EAAM;AAGrB,QAAIJ,MAAgBb,GAAc;AAChC,YAAMU,IAAQ,IAAIV,EAAaxB,CAAM,GAC/BoB,IAAmBC,EAAoBa,CAAK;AAElD,eAAS9C,IAAI,GAAGA,IAAIY,GAAQ,EAAEZ;AAC5B,QAAAgC,EAAiBhC,CAAC,IAAIE,EAAmBmD,EAAMrD,CAAC,CAAC;AAGnD,aAAO8C;AAAA,IACT;AAEA,UAAMtF,IAAQ,IAAIyF,EAAYrC,CAAM;AAEpC,aAASZ,IAAI,GAAGA,IAAIY,GAAQ,EAAEZ;AAC5B,MAAAxC,EAAMwC,CAAC,IAAIqD,EAAMrD,CAAC;AAGpB,WAAOxC;AAAA,EACT;AAAA;AAAA,EAGA,OAAO;AACL,IAAAmE,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI;AAEjD,WAAOhH,GAAwB+G,CAAgB;AAAA,EACjD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS;AACP,IAAAL,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI;AAEjD,WAAOpE,IAAM,aAAa;AAExB,iBAAWuF,KAAOlI,GAA0B8G,CAAgB;AAC1D,cAAMxB,EAAgB4C,CAAG;AAAA,IAE7B,IAAI;AAAA,EACN;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAU;AACR,IAAAzB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI;AAEjD,WAAOpE,IAAM,aAAa;AAExB,iBAAW,CAACmC,GAAGoD,CAAG,KAAKjI,GAA2B6G,CAAgB;AAChE;AAAA;AAAA,UAAuC,CAAChC,GAAGQ,EAAgB4C,CAAG,CAAC;AAAA;AAAA,IAEnE,IAAI;AAAA,EACN;AAAA;AAAA,EAGA,GAAG9N,GAAO;AACR,IAAAqM,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDsB,IAAgB5C,EAAoBpL,CAAK,GACzCiO,IAAID,KAAiB,IAAIA,IAAgB1C,IAAS0C;AAExD,QAAI,EAAAC,IAAI,KAAKA,KAAK3C;AAIlB,aAAOJ,EAAgBwB,EAAiBuB,CAAC,CAAC;AAAA,EAC5C;AAAA;AAAA,EAGA,KAAKjO,GAAO0I,GAAO;AACjB,IAAA2D,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDsB,IAAgB5C,EAAoBpL,CAAK,GACzCiO,IAAID,KAAiB,IAAIA,IAAgB1C,IAAS0C,GAElD3E,IAAS,CAACX;AAEhB,QAAIuF,IAAI,KAAKA,KAAK3C;AAChB,YAAMlE,GAAiBnF,EAAuB;AAIhD,UAAM2L,IAAS,IAAIlH;AAAA,MACjBL,EAA6BqG,CAAgB;AAAA,MAC7CpG,EAAiCoG,CAAgB;AAAA,MACjDnG,EAA6BmG,CAAgB;AAAA,IACnD,GACUG,IAAS,IAAIC;AAAA,MACjBzG;AAAA,QACEF,EAAyByH,CAAM;AAAA,MACvC;AAAA,IACA,GACU1F,IAAQyE,EAAoBE,CAAM;AAExC,WAAA3E,EAAM+F,CAAC,IAAIrD,EAAmBvB,CAAM,GAE7BwD;AAAA,EACT;AAAA;AAAA,EAGA,IAAIqB,MAAaR,GAAM;AACrB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDtK,IAAUsL,EAAK,CAAC,GAEhBC,IAAcpC,GAAmBmB,GAAkBI,CAAY;AAGrE,QAAIa,MAAgBb,GAAc;AAChC,YAAMU,IAAQ,IAAIV,EAAaxB,CAAM,GAC/BpD,IAAQyE,EAAoBa,CAAK;AAEvC,eAAS9C,IAAI,GAAGA,IAAIY,GAAQ,EAAEZ,GAAG;AAC/B,cAAMoD,IAAM5C,EAAgBwB,EAAiBhC,CAAC,CAAC;AAC/C,QAAAxC,EAAMwC,CAAC,IAAIE;AAAA,UACTtI,EAAa4L,GAAU9L,GAAS,CAAC0L,GAAKpD,GAAG,IAAI,CAAC;AAAA,QACxD;AAAA,MACM;AAEA,aAAO8C;AAAA,IACT;AAEA,UAAMtF,IAAQ,IAAIyF,EAAYrC,CAAM;AACpC,IAAAgB,GAAwBpE,GAAOoD,CAAM;AAErC,aAASZ,IAAI,GAAGA,IAAIY,GAAQ,EAAEZ,GAAG;AAC/B,YAAMoD,IAAM5C,EAAgBwB,EAAiBhC,CAAC,CAAC;AAC/C,MAAAxC,EAAMwC,CAAC,IAAIpI,EAAa4L,GAAU9L,GAAS,CAAC0L,GAAKpD,GAAG,IAAI,CAAC;AAAA,IAC3D;AAEA;AAAA;AAAA,MAA2BxC;AAAA;AAAA,EAC7B;AAAA;AAAA,EAGA,OAAOgG,MAAaR,GAAM;AACxB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDtK,IAAUsL,EAAK,CAAC,GAEhBS,IAAO,CAAA;AACb,aAASzD,IAAI,GAAGA,IAAIY,GAAQ,EAAEZ,GAAG;AAC/B,YAAMoD,IAAM5C,EAAgBwB,EAAiBhC,CAAC,CAAC;AAC/C,MAAIpI,EAAa4L,GAAU9L,GAAS,CAAC0L,GAAKpD,GAAG,IAAI,CAAC,KAChDhG,GAAmByJ,GAAML,CAAG;AAAA,IAEhC;AAEA,UAAMH,IAAcpC,GAAmBmB,GAAkBI,CAAY,GAC/D5E,IAAQ,IAAIyF,EAAYQ,CAAI;AAClC,WAAA7B,GAAwBpE,CAAK;AAAA,IAEFA;AAAA,EAC7B;AAAA;AAAA,EAGA,OAAOgG,MAAaR,GAAM;AACxB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB;AAC5D,QAAIpB,MAAW,KAAKoC,EAAK,WAAW;AAClC,YAAMvJ,EAAgBpC,EAA2C;AAGnE,QAAIqM,GAAaC;AACjB,IAAIX,EAAK,WAAW,KAClBU,IAAclD,EAAgBwB,EAAiB,CAAC,CAAC,GACjD2B,IAAQ,MAERD,IAAcV,EAAK,CAAC,GACpBW,IAAQ;AAGV,aAAS3D,IAAI2D,GAAO3D,IAAIY,GAAQ,EAAEZ;AAChC,MAAA0D,IAAcF;AAAA,QACZE;AAAA,QACAlD,EAAgBwB,EAAiBhC,CAAC,CAAC;AAAA,QACnCA;AAAA,QACA;AAAA,MACR;AAGI,WAAO0D;AAAA,EACT;AAAA;AAAA,EAGA,YAAYF,MAAaR,GAAM;AAC7B,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB;AAC5D,QAAIpB,MAAW,KAAKoC,EAAK,WAAW;AAClC,YAAMvJ,EAAgBpC,EAA2C;AAGnE,QAAIqM,GAAaC;AACjB,IAAIX,EAAK,WAAW,KAClBU,IAAclD,EAAgBwB,EAAiBpB,IAAS,CAAC,CAAC,GAC1D+C,IAAQ/C,IAAS,MAEjB8C,IAAcV,EAAK,CAAC,GACpBW,IAAQ/C,IAAS;AAGnB,aAASZ,IAAI2D,GAAO3D,KAAK,GAAG,EAAEA;AAC5B,MAAA0D,IAAcF;AAAA,QACZE;AAAA,QACAlD,EAAgBwB,EAAiBhC,CAAC,CAAC;AAAA,QACnCA;AAAA,QACA;AAAA,MACR;AAGI,WAAO0D;AAAA,EACT;AAAA;AAAA,EAGA,QAAQF,MAAaR,GAAM;AACzB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDtK,IAAUsL,EAAK,CAAC;AAEtB,aAAS,IAAI,GAAG,IAAIpC,GAAQ,EAAE;AAC5B,MAAAhJ,EAAa4L,GAAU9L,GAAS;AAAA,QAC9B8I,EAAgBwB,EAAiB,CAAC,CAAC;AAAA,QACnC;AAAA,QACA;AAAA,MACR,CAAO;AAAA,EAEL;AAAA;AAAA,EAGA,KAAKwB,MAAaR,GAAM;AACtB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDtK,IAAUsL,EAAK,CAAC;AAEtB,aAAS,IAAI,GAAG,IAAIpC,GAAQ,EAAE,GAAG;AAC/B,YAAM5C,IAAQwC,EAAgBwB,EAAiB,CAAC,CAAC;AACjD,UAAIpK,EAAa4L,GAAU9L,GAAS,CAACsG,GAAO,GAAG,IAAI,CAAC;AAClD,eAAOA;AAAA,IAEX;AAAA,EACF;AAAA;AAAA,EAGA,UAAUwF,MAAaR,GAAM;AAC3B,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDtK,IAAUsL,EAAK,CAAC;AAEtB,aAAS,IAAI,GAAG,IAAIpC,GAAQ,EAAE,GAAG;AAC/B,YAAM5C,IAAQwC,EAAgBwB,EAAiB,CAAC,CAAC;AACjD,UAAIpK,EAAa4L,GAAU9L,GAAS,CAACsG,GAAO,GAAG,IAAI,CAAC;AAClD,eAAO;AAAA,IAEX;AAEA,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,SAASwF,MAAaR,GAAM;AAC1B,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDtK,IAAUsL,EAAK,CAAC;AAEtB,aAAS,IAAIpC,IAAS,GAAG,KAAK,GAAG,EAAE,GAAG;AACpC,YAAM5C,IAAQwC,EAAgBwB,EAAiB,CAAC,CAAC;AACjD,UAAIpK,EAAa4L,GAAU9L,GAAS,CAACsG,GAAO,GAAG,IAAI,CAAC;AAClD,eAAOA;AAAA,IAEX;AAAA,EACF;AAAA;AAAA,EAGA,cAAcwF,MAAaR,GAAM;AAC/B,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDtK,IAAUsL,EAAK,CAAC;AAEtB,aAAS,IAAIpC,IAAS,GAAG,KAAK,GAAG,EAAE,GAAG;AACpC,YAAM5C,IAAQwC,EAAgBwB,EAAiB,CAAC,CAAC;AACjD,UAAIpK,EAAa4L,GAAU9L,GAAS,CAACsG,GAAO,GAAG,IAAI,CAAC;AAClD,eAAO;AAAA,IAEX;AAEA,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,MAAMwF,MAAaR,GAAM;AACvB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDtK,IAAUsL,EAAK,CAAC;AAEtB,aAAS,IAAI,GAAG,IAAIpC,GAAQ,EAAE;AAC5B,UACE,CAAChJ,EAAa4L,GAAU9L,GAAS;AAAA,QAC/B8I,EAAgBwB,EAAiB,CAAC,CAAC;AAAA,QACnC;AAAA,QACA;AAAA,MACV,CAAS;AAED,eAAO;AAIX,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,KAAKwB,MAAaR,GAAM;AACtB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB,GACtDtK,IAAUsL,EAAK,CAAC;AAEtB,aAAS,IAAI,GAAG,IAAIpC,GAAQ,EAAE;AAC5B,UACEhJ,EAAa4L,GAAU9L,GAAS;AAAA,QAC9B8I,EAAgBwB,EAAiB,CAAC,CAAC;AAAA,QACnC;AAAA,QACA;AAAA,MACV,CAAS;AAED,eAAO;AAIX,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,IAAIpM,MAAUoN,GAAM;AAClB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3C2B,IAAelD,EAAoBsC,EAAK,CAAC,CAAC;AAChD,QAAIY,IAAe;AACjB,YAAMlH,GAAiBnF,EAAuB;AAGhD,QAAI3B,KAAS;AACX,YAAM6D;AAAA,QACJvC;AAAA,MACR;AAGI,QAAIiH,GAAyBvI,CAAK;AAChC,YAAM6D;AAAA,QACJtC;AAAA,MACR;AAII,QAAIuK,EAAe9L,CAAK;AAEtB,aAAOwF;AAAA,QACL6G,EAAoB,IAAI;AAAA,QACxBA,EAAoBrM,CAAK;AAAA,QACzBgO;AAAA,MACR;AAGI,QAAI1F,GAAmBtI,CAAK,GAAG;AAC7B,YAAMF,IAASiG,EAA6B/F,CAAK;AACjD,UAAIoL,EAAiBtL,CAAM;AACzB,cAAM+D,EAAgBxC,CAAyC;AAAA,IAEnE;AAEA,UAAM4M,IAAehI,EAA6BmG,CAAgB,GAE5De,IAAM9J,EAAarD,CAAK,GACxBkO,IAAYnD,GAASoC,EAAI,MAAM;AAErC,QAAIa,MAAiB,SAAYE,IAAYF,IAAeC;AAC1D,YAAMnH,GAAiBnF,EAAuB;AAGhD,aAASyI,IAAI,GAAGA,IAAI8D,GAAW,EAAE9D;AAC/B,MAAAgC,EAAiBhC,IAAI4D,CAAY,IAAI1D,EAAmB6C,EAAI/C,CAAC,CAAC;AAAA,EAElE;AAAA;AAAA,EAGA,UAAU;AACR,IAAA2B,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI;AAEjD,WAAA5G,GAA2B2G,CAAgB,GAEpC;AAAA,EACT;AAAA;AAAA,EAGA,aAAa;AACX,IAAAL,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAG3CiB,IAAS,IAAIlH;AAAA,MACjBL,EAA6BqG,CAAgB;AAAA,MAC7CpG,EAAiCoG,CAAgB;AAAA,MACjDnG,EAA6BmG,CAAgB;AAAA,IACnD,GACUG,IAAS,IAAIC;AAAA,MACjBzG;AAAA,QACEF,EAAyByH,CAAM;AAAA,MACvC;AAAA,IACA,GAEUa,IAAyB9B,EAAoBE,CAAM;AACzD,WAAA9G,GAA2B0I,CAAsB,GAE1C5B;AAAA,EACT;AAAA;AAAA,EAGA,KAAKnE,MAAUgF,GAAM;AACnB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI;AAEjD,WAAA3G;AAAA,MACE0G;AAAA,MACA9B,EAAmBlC,CAAK;AAAA,MACxB,GAAGT,EAAayF,CAAI;AAAA,IAC1B,GAEW;AAAA,EACT;AAAA;AAAA,EAGA,WAAWvL,GAAQkM,MAAUX,GAAM;AACjC,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI;AAEjD,WAAA1G,GAA8ByG,GAAkBvK,GAAQkM,GAAO,GAAGpG,EAAayF,CAAI,CAAC,GAE7E;AAAA,EACT;AAAA;AAAA,EAGA,KAAKgB,GAAW;AACd,IAAArC,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CgC,IAAcD,MAAc,SAAYA,IAAY/C;AAC1D,WAAAzF,GAAwBwG,GAAkB,CAACd,GAAGC,MACrC8C,EAAYzD,EAAgBU,CAAC,GAAGV,EAAgBW,CAAC,CAAC,CAC1D,GAEM;AAAA,EACT;AAAA;AAAA,EAGA,SAAS6C,GAAW;AAClB,IAAArC,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI;AAEjD,QAAI+B,MAAc,UAAa,OAAOA,KAAc;AAClD,YAAM,IAAIvK,EAAgBnC,EAA8D;AAE1F,UAAM2M,IAAcD,MAAc,SAAYA,IAAY/C,IAGpDiC,IAAS,IAAIlH;AAAA,MACjBL,EAA6BqG,CAAgB;AAAA,MAC7CpG,EAAiCoG,CAAgB;AAAA,MACjDnG,EAA6BmG,CAAgB;AAAA,IACnD,GACUG,IAAS,IAAIC;AAAA,MACjBzG;AAAA,QACEF,EAAyByH,CAAM;AAAA,MACvC;AAAA,IACA,GAEUa,IAAyB9B,EAAoBE,CAAM;AACzD,WAAA3G,GAAwBuI,GAAwB,CAAC7C,GAAGC,MAC3C8C,EAAYzD,EAAgBU,CAAC,GAAGV,EAAgBW,CAAC,CAAC,CAC1D,GAEMgB;AAAA,EACT;AAAA;AAAA,EAGA,MAAMwB,GAAOO,GAAK;AAChB,IAAAvC,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CgB,IAAcpC,GAAmBmB,GAAkBI,CAAY;AAGrE,QAAIa,MAAgBb,GAAc;AAChC,YAAMc,KAAS,IAAIlH;AAAA,QACjBL,EAA6BqG,CAAgB;AAAA,QAC7CpG,EAAiCoG,CAAgB;AAAA,QACjDnG,EAA6BmG,CAAgB;AAAA,MACrD;AACM,aAAO,IAAII;AAAA,QACTzG;AAAA,UACEF,EAAyByH,IAAQS,GAAOO,CAAG;AAAA,QACrD;AAAA,MACA;AAAA,IACI;AAEA,UAAMtD,IAAS/E,EAA6BmG,CAAgB,GACtDmC,IAAgBzD,EAAoBiD,CAAK,GACzCS,IAAcF,MAAQ,SAAYtD,IAASF,EAAoBwD,CAAG;AAExE,QAAIX;AACJ,IAAIY,MAAkB,SACpBZ,IAAI,IACKY,IAAgB,IACzBZ,IAAI3C,IAASuD,IAAgB,IAAIvD,IAASuD,IAAgB,IAE1DZ,IAAI3C,IAASuD,IAAgBvD,IAASuD;AAGxC,QAAIE;AACJ,IAAID,MAAgB,SAClBC,IAAQ,IACCD,IAAc,IACvBC,IAAQzD,IAASwD,IAAc,IAAIxD,IAASwD,IAAc,IAE1DC,IAAQzD,IAASwD,IAAcxD,IAASwD;AAG1C,UAAMvC,IAAQwC,IAAQd,IAAI,IAAIc,IAAQd,IAAI,GACpC/F,IAAQ,IAAIyF,EAAYpB,CAAK;AAGnC,QAFAD,GAAwBpE,GAAOqE,CAAK,GAEhCA,MAAU;AACZ,aAAOrE;AAGT,UAAM9H,IAASiG,EAA6BqG,CAAgB;AAC5D,QAAIhB,EAAiBtL,CAAM;AACzB,YAAM+D,EAAgBxC,CAAyC;AAGjE,QAAIqN,IAAI;AACR,WAAOf,IAAIc;AACT,MAAA7G,EAAM8G,CAAC,IAAI9D,EAAgBwB,EAAiBuB,CAAC,CAAC,GAC9C,EAAEA,GACF,EAAEe;AAGJ;AAAA;AAAA,MAA2B9G;AAAA;AAAA,EAC7B;AAAA;AAAA,EAGA,SAAS+G,GAAOL,GAAK;AACnB,IAAAvC,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CgB,IAAcpC,GAAmBmB,GAAkBI,CAAY,GAE/Dc,IAAS,IAAIlH;AAAA,MACjBL,EAA6BqG,CAAgB;AAAA,MAC7CpG,EAAiCoG,CAAgB;AAAA,MACjDnG,EAA6BmG,CAAgB;AAAA,IACnD,GACUwC,IAAiB9I,GAA4BwH,GAAQqB,GAAOL,CAAG,GAE/D1G,IAAQ,IAAIyF;AAAA,MAChBtH,EAA6B6I,CAAc;AAAA,MAC3C5I,EAAiC4I,CAAc;AAAA,MAC/C3I,EAA6B2I,CAAc;AAAA,IACjD;AACI,WAAA5C,GAAwBpE,CAAK;AAAA,IAEFA;AAAA,EAC7B;AAAA;AAAA,EAGA,QAAQiH,MAAYzB,GAAM;AACxB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB;AAE5D,QAAI0C,IAAOhE,EAAoBsC,EAAK,CAAC,CAAC;AACtC,QAAI0B,MAAS;AACX,aAAO;AAGT,IAAIA,IAAO,MACTA,KAAQ9D,GACJ8D,IAAO,MACTA,IAAO;AAIX,aAAS,IAAIA,GAAM,IAAI9D,GAAQ,EAAE;AAC/B,UACEjH,EAAaqI,GAAkB,CAAC,KAChCxB,EAAgBwB,EAAiB,CAAC,CAAC,MAAMyC;AAEzC,eAAO;AAIX,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,YAAYA,MAAYzB,GAAM;AAC5B,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB;AAE5D,QAAI0C,IAAO1B,EAAK,UAAU,IAAItC,EAAoBsC,EAAK,CAAC,CAAC,IAAIpC,IAAS;AACtE,QAAI8D,MAAS;AACX,aAAO;AAGT,IAAIA,KAAQ,IACVA,IAAOA,IAAO9D,IAAS,IAAI8D,IAAO9D,IAAS,IAE3C8D,KAAQ9D;AAGV,aAAS,IAAI8D,GAAM,KAAK,GAAG,EAAE;AAC3B,UACE/K,EAAaqI,GAAkB,CAAC,KAChCxB,EAAgBwB,EAAiB,CAAC,CAAC,MAAMyC;AAEzC,eAAO;AAIX,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,SAASA,MAAYzB,GAAM;AACzB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CrB,IAAS/E,EAA6BmG,CAAgB;AAE5D,QAAI0C,IAAOhE,EAAoBsC,EAAK,CAAC,CAAC;AACtC,QAAI0B,MAAS;AACX,aAAO;AAGT,IAAIA,IAAO,MACTA,KAAQ9D,GACJ8D,IAAO,MACTA,IAAO;AAIX,UAAMC,IAAQ/L,EAAY6L,CAAO;AACjC,aAASzE,IAAI0E,GAAM1E,IAAIY,GAAQ,EAAEZ,GAAG;AAClC,YAAMhC,IAAQwC,EAAgBwB,EAAiBhC,CAAC,CAAC;AAMjD,UAJI2E,KAAS/L,EAAYoF,CAAK,KAI1BA,MAAUyG;AACZ,eAAO;AAAA,IAEX;AAEA,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,KAAKG,GAAW;AACd,IAAAjD,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CzE,IAAQ6E,GAAYL,CAAgB;AAE1C,WAAOjI,GAAmByD,GAAOoH,CAAS;AAAA,EAC5C;AAAA;AAAA,EAGA,kBAAkB5B,GAAM;AACtB,IAAArB,EAAmB,IAAI;AACvB,UAAMK,IAAmBC,EAAoB,IAAI,GAE3CzE,IAAQ6E,GAAYL,CAAgB;AAE1C,WAAO/H,GAA6BuD,GAAO,GAAGD,EAAayF,CAAI,CAAC;AAAA,EAClE;AAAA;AAAA,EAGA,KAAKjK,EAAiB,IAAI;AACxB,QAAI2I,EAAe,IAAI;AACrB;AAAA;AAAA,QAA2B;AAAA;AAAA,EAE/B;AACF;AAGAvI,GAAqBiJ,GAAc,qBAAqB;AAAA,EACtD,OAAOZ;AACT,CAAC;AAGDrI,GAAqBiJ,GAAcxD,IAAO,EAAE;AAG5CrG,GAAsB6J,GAAcvH,EAAU;AAE9C,MAAMgK,KAAwBzC,EAAa;AAG3CjJ,GAAqB0L,IAAuB,qBAAqB;AAAA,EAC/D,OAAOrD;AACT,CAAC;AAGDrI,GAAqB0L,IAAuBhM,GAAgB;AAAA,EAC1D,OAAOgM,GAAsB;AAAA,EAC7B,UAAU;AAAA,EACV,cAAc;AAChB,CAAC;AAEDtM,GAAsBsM,IAAuB9J,CAAmB;AC3pCzD,SAAS+J,GAAWC,GAAUC,MAAehC,GAAM;AACxD,SAAOxC;AAAA,IACL/D,GAA2BsI,GAAUC,GAAY,GAAGzH,EAAayF,CAAI,CAAC;AAAA,EAC1E;AACA;ACWO,SAASiC,GAAajH,GAAqC;AAChE,SACEA,aAAiB,aACjBA,aAAiB,cACjBA,aAAiB,qBACjBA,aAAiB,cACjBA,aAAiB,eACjBA,aAAiB,cACjBA,aAAiB,eACjBA,aAAiBoE,KACjBpE,aAAiB,gBACjBA,aAAiB;AAErB;ACpCO,MAAMkH,WAA+CzQ,EAAU;AAAA,EAGpE,YAAY0Q,GAA6BC,GAA0B;AACjE,UAAMA,CAAO,GACb,KAAK,SAASD;AAAA,EAChB;AAAA,EAES,KACPzQ,GACAC,GACAC,GACAC,GACM;AACN,UAAMC,IAAS,IAAIN,GAAkB,KAAK,OAAO;AACjD,IAAAM,EAAO,iBAAiB,KAAK,aAAa,GAC1CA,EAAO,QAAQ,KAAK,IAAI,GACxBA,EAAO,mBAAmB,KAAK,eAAe,GAC9CA,EAAO;AAAA,MACLJ;AAAA,MACA,CAAAM,MAAe;AACb,YAAI;AACF,UAAAL,EAAO,KAAK,OAAOK,CAAW,CAAC;AAAA,QACjC,SAASE,GAAO;AACd,UAAIL,KAAW,OACbA,EAAQK,CAAK,IAEb,QAAQ,MAAMA,CAAK,GAErB,KAAK,QAAQ,UAAUR,CAAG;AAAA,QAC5B;AAAA,MACF;AAAA,MACAE;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AACF;ACZA,SAASwQ,GAAmB7H,GAAoC;AAE9D,QAAM8H,IACJ9H,aAAiB,YAAY+H,KAC7B/H,aAAiB,aAAagI,KAC9BhI,aAAiB,oBAAoBgI,KACrChI,aAAiB,aAAaiI,KAC9BjI,aAAiB,cAAckI,KAC/BlI,aAAiB,aAAamI,KAC9BnI,aAAiB,cAAcoI,KAC/BpI,aAAiB4E,IAAeyD,KAChCrI,aAAiB,eAAesI,KAChCtI,aAAiB,eAAesI,KAChC;AAEF,SAAA7Q,GAAUqQ,KAAQ,IAAI,GACfA;AACT;AAmBO,MAAMS,WAGHtR,EAAU;AAAA,EAKlB,YACEuR,GACAb,GACAc,IAAoC,CAAA,GACpCb,GACA;AACA,UAAMA,CAAO,GACb,KAAK,eAAeY,GACpB,KAAK,SAASb,GACd,KAAK,UAAU;AAAA,MACb,QAAQe;AAAA,MACR,WAAWC;AAAA,MACX,WAAWA;AAAA,MACX,GAAGF;AAAA,IAAA;AAAA,EAEP;AAAA,EAES,KACPvR,GACAC,GACAC,GACAC,GACG;AAEH,UAAMuR,IAAU,IAAI,KAAK,aAAA,GAEnBtR,IAAS,IAAIoQ,GAAiB,KAAK,QAAQ,KAAK,OAAO;AAC7D,WAAApQ,EAAO,iBAAiB,KAAK,aAAa,GAC1CA,EAAO,QAAQ,KAAK,IAAI,GACxBA,EAAO,mBAAmB,KAAK,eAAe,GAC9CA,EAAO;AAAA,MACLJ;AAAA,MACA,CAAA8I,MAAS;AACP,QAAA4I,EAAQ,MAAM,OACZ5I,aAAiB4E,IAAe,IAAI,YAAY5E,EAAM,MAAM,IAAIA;AAClE,cAAM,EAAE,OAAA6I,GAAO,QAAAC,GAAQ,OAAAC,GAAO,GAAGN,EAAA,IAAY,KAAK;AAClD,QAAII,KAAS,SACXD,EAAQ,MAAM,QAAQC,IAEpBC,KAAU,SACZF,EAAQ,MAAM,SAASE,IAErB,WAAWF,EAAQ,SAASG,KAAS,SACvCH,EAAQ,MAAM,QAAQG,IAIxBH,EAAQ,OAAOf,GAAmB7H,CAAK,GAEvC,OAAO,OAAO4I,GAASH,CAAO,GAC9BG,EAAQ,cAAc,IACtBzR,IAASyR,CAAO;AAAA,MAClB;AAAA,MACAxR;AAAA,MACAC;AAAA,IAAA,GAGKuR;AAAA,EACT;AACF;ACnIO,MAAMI,IAAQC,EAAU,OAClBC,KAAkBD,EAAU,iBAC5BE,KAAcF,EAAU,aACxBG,KAAOH,EAAU,MACjBI,KAAUJ,EAAU,UACpBK,KAAUL,EAAU,UACpBM,KAAeN,EAAU,cACzBO,KAAiBP,EAAU,gBAC3BQ,KAAkBR,EAAU,iBAC5BS,KAAYT,EAAU;AAU5B,SAASU,GACdjG,GACAkG,GACAC,GACAC,IAAO,GACPC,IAAO,GACC;AACR,SAAOd,EAAU,UAAUvF,GAAGkG,GAAMC,GAAMC,GAAMC,CAAI;AACtD;AAUO,SAASC,GACdtG,GACAkG,GACAC,GACAC,IAAO,GACPC,IAAO,GACC;AACR,SAAOf,EAAMC,EAAU,UAAUvF,GAAGkG,GAAMC,GAAMC,GAAMC,CAAI,GAAGD,GAAMC,CAAI;AACzE;AAGO,SAASE,GAAWxR,GAAaC,GAAagL,GAAmB;AACtE,SAAIA,KAAKjL,IACA,IAELiL,KAAKhL,IACA,KAETgL,KAAKA,IAAIjL,MAAQC,IAAMD,IAChBiL,IAAIA,KAAK,IAAI,IAAIA;AAC1B;AAEO,SAASwG,GAASxG,GAAmB;AAC1C,SAAO,KAAK,IAAI,KAAK,IAAIA,GAAG,CAAC,GAAG,CAAC;AACnC;AAEO,SAASyG,GACdC,GACAC,GACAC,GACAC,IAAkBD,GACT;AACT,QAAME,IAAO,KAAK,IAAIJ,IAAIC,CAAC;AAC3B,SACEG,KAAQD,KACRC,KAAQF,IAAkB,KAAK,IAAI,KAAK,IAAIF,CAAC,GAAG,KAAK,IAAIC,CAAC,CAAC;AAE/D;AC/DO,SAASI,GAAOlS,GAAc;AACnC,SAAO,CACL0B,GACAyQ,MACG;AACH,IAAIzQ,aAAkB0Q,KACpB,OAAO,eAAe1Q,GAAQyQ,GAAa;AAAA,MACzC,YAAY;AAAA,MACZ,MAAyC;AACvC,eAAO,KAAK,UAAUnS,CAAI,KAAK;AAAA,MACjC;AAAA,MACA,IAAgCiI,GAAgB;AAC9C,QAAIA,MAAU,KAAKkK,CAAW,MACxBlK,KACF,KAAK,YAAY,CAAA,GACjB,KAAK,QAAQjI,CAAI,IAAI,OAErB,OAAO,KAAK,UAAUA,CAAI,GAE5B,KAAK,cAAc;AAAA,MAEvB;AAAA,IAAA,CACD,IAED,OAAO,eAAe0B,GAAQyQ,GAAa;AAAA,MACzC,YAAY;AAAA,MACZ,MAA2C;AACzC,eAAO,KAAK,QAAQ,IAAInS,CAAI;AAAA,MAC9B;AAAA,MACA,IAAkCiI,GAAgB;AAChD,QAAIA,MAAU,KAAKkK,CAAW,MACxBlK,IACF,KAAK,QAAQ,IAAIjI,GAAM,GAAG,IAE1B,KAAK,QAAQ,OAAOA,CAAI,GAExB,KAAa,WAAA;AAAA,MAEnB;AAAA,IAAA,CACD;AAAA,EAEL;AACF;AAOA,SAASqS,GAAUpK,GAAwB;AACzC,SAAO,OAAOA,KAAU,WACpB,KAAK,MAAMA,CAAK,IAChB,OAAOA,KAAU,WACf,SAASA,GAAO,EAAE,IAClB,OAAOA,KAAU,YACf,CAACA,IACD;AACV;AAEO,SAASqK,GACdtS,GACA;AAAA,EACE,KAAAE,IAAM,OAAO;AAAA,EACb,KAAAC,IAAM,OAAO;AACf,IAA+B,IAC/B;AACA,SAAO,CACLuB,GACAyQ,MACG;AACH,IAAIzQ,aAAkB0Q,KACpB,OAAO,eAAe1Q,GAAQyQ,GAAa;AAAA,MACzC,YAAY;AAAA,MACZ,MAAwC;AACtC,cAAMlK,IAAQ,KAAK,UAAUjI,CAAI;AACjC,eAAOiI,KAAS,OAAOoK,GAAUpK,CAAK,IAAI;AAAA,MAC5C;AAAA,MACA,IAAgCA,GAAe;AAC7C,cAAMsK,IAAY,KAAKJ,CAAW;AAClC,QAAIlK,MAAUsK,MACZ,KAAK,YAAY,CAAA,GACjB,KAAK,QAAQvS,CAAI,IAAIyQ,EAAMxI,GAAO/H,GAAKC,CAAG,EAAE,QAAQ,CAAC,GACrD,KAAK,cAAc;AAAA,MAEvB;AAAA,IAAA,CACD,IAED,OAAO,eAAeuB,GAAQyQ,GAAa;AAAA,MACzC,YAAY;AAAA,MACZ,MAA0C;AACxC,cAAMlK,IAAQ,KAAK,QAAQ,IAAIjI,CAAI;AACnC,eAAOiI,KAAS,OAAOoK,GAAUpK,CAAK,IAAI;AAAA,MAC5C;AAAA,MACA,IAAkCA,GAAe;AAC/C,cAAMsK,IAAY,KAAKJ,CAAW;AAClC,QAAIlK,MAAUsK,MACZ,KAAK,QAAQ,IAAIvS,GAAMyQ,EAAMxI,GAAO/H,GAAKC,CAAG,EAAE,QAAQ,CAAC,CAAC,GACtD,KAAa,WAAA;AAAA,MAEnB;AAAA,IAAA,CACD;AAAA,EAEL;AACF;AAQA,SAASqS,GAAYvK,GAAwB;AAC3C,SAAO,OAAOA,KAAU,WACpBA,IACA,OAAOA,KAAU,WACf,WAAWA,CAAK,IAChB,OAAOA,KAAU,YACf,CAACA,IACD;AACV;AAEO,SAASwK,GACdzS,GACA;AAAA,EACE,KAAAE,IAAM;AAAA,EACN,KAAAC,IAAM;AAAA,EACN,WAAAuS,IAAY;AACd,IAAiC,IACjC;AACA,SAAO,CACLhR,GACAyQ,MACG;AACH,IAAIzQ,aAAkB0Q,KACpB,OAAO,eAAe1Q,GAAQyQ,GAAa;AAAA,MACzC,YAAY;AAAA,MACZ,MAAwC;AACtC,cAAMlK,IAAQ,KAAK,UAAUjI,CAAI;AACjC,eAAOiI,KAAS,OAAOuK,GAAYvK,CAAK,IAAI;AAAA,MAC9C;AAAA,MACA,IAAgCA,GAAe;AAC7C,cAAMsK,IAAY,KAAKJ,CAAW;AAClC,QAAIlK,MAAUsK,MACZ,KAAK,YAAY,CAAA,GACjB,KAAK,QAAQvS,CAAI,IAAIyQ,EAAMxI,GAAO/H,GAAKC,CAAG,EAAE,QAAQuS,CAAS,GAC7D,KAAK,cAAc;AAAA,MAEvB;AAAA,IAAA,CACD,IAED,OAAO,eAAehR,GAAQyQ,GAAa;AAAA,MACzC,YAAY;AAAA,MACZ,MAA0C;AACxC,cAAMlK,IAAQ,KAAK,QAAQ,IAAIjI,CAAI;AACnC,eAAOiI,KAAS,OAAOuK,GAAYvK,CAAK,IAAI;AAAA,MAC9C;AAAA,MACA,IAAkCA,GAAe;AAC/C,cAAMsK,IAAY,KAAKJ,CAAW;AAClC,QAAIlK,MAAUsK,MACZ,KAAK,QAAQ,IAAIvS,GAAMyQ,EAAMxI,GAAO/H,GAAKC,CAAG,EAAE,QAAQuS,CAAS,CAAC,GAC9D,KAAa,WAAA;AAAA,MAEnB;AAAA,IAAA,CACD;AAAA,EAEL;AACF;AAMO,SAASC,GACd3S,GACA,EAAE,UAAA4S,EAAA,IAA+C,CAAA,GACjD;AACA,SAAO,CACLlR,GACAyQ,MACG;AACH,IAAIzQ,aAAkB0Q,KACpB,OAAO,eAAe1Q,GAAQyQ,GAAa;AAAA,MACzC,YAAY;AAAA,MACZ,MAAyC;AACvC,eAAO,KAAK,UAAUnS,CAAI;AAAA,MAC5B;AAAA,MACA,IAAgCiI,GAAe;AAC7C,YAAIA,MAAU,KAAKkK,CAAW,GAAG;AAC/B,cAAIS,IAAW3K,CAAK,MAAM,IAAO;AAC/B,oBAAQ,MAAM,iCAAiCA,CAAK,EAAE;AACtD;AAAA,UACF;AACA,eAAK,YAAY,CAAA,GACjB,KAAK,QAAQjI,CAAI,IAAIiI,GACrB,KAAK,cAAc;AAAA,QACrB;AAAA,MACF;AAAA,IAAA,CACD,IAED,OAAO,eAAevG,GAAQyQ,GAAa;AAAA,MACzC,YAAY;AAAA,MACZ,MAA2C;AACzC,eAAO,KAAK,QAAQ,IAAInS,CAAI;AAAA,MAC9B;AAAA,MACA,IAAkCiI,GAAe;AAC/C,YAAIA,MAAU,KAAKkK,CAAW,GAAG;AAC/B,cAAIS,IAAW3K,CAAK,MAAM,IAAO;AAC/B,oBAAQ,MAAM,iCAAiCA,CAAK,EAAE;AACtD;AAAA,UACF;AACA,eAAK,QAAQ,IAAIjI,GAAMiI,CAAK,GAC1B,KAAa,WAAA;AAAA,QACjB;AAAA,MACF;AAAA,IAAA,CACD;AAAA,EAEL;AACF;ACpNO,SAAS4K,GACdC,MACGC,GAC0B;AAC7B,QAAMC,IAAqC,CAAA;AAC3C,WAAS/I,IAAI,GAAGA,IAAI8I,EAAe,QAAQ9I,KAAK,GAAG;AACjD,UAAMgJ,IAASF,EAAe9I,CAAC,GACzBiJ,IAAOH,EAAe9I,IAAI,CAAC;AACjC,eAAWlI,KAAOmR;AAChB,MAAAF,EAAYjR,CAAG,IAAI;AAAA,QACjB,YAAY;AAAA,QACZ,KAAK,MAAMkR,EAAOlR,CAAG;AAAA,QACrB,KAAK,CAACkG,MAAe;AACnB,UAAAgL,EAAOlR,CAAG,IAAIkG;AAAA,QAChB;AAAA,MAAA;AAAA,EAGN;AACA,gBAAO,iBAAiB6K,GAAaE,CAAW,GACzCF;AACT;AAYO,SAASK,GAIdL,GAAgBG,GAAWC,GAAgD;AAC3E,QAAMF,IAAqC,CAAA;AAC3C,aAAWjR,KAAOmR;AAChB,IAAAF,EAAYjR,CAAG,IAAI;AAAA,MACjB,YAAY;AAAA,MACZ,KAAK,MAAMkR,EAAO,SAASlR,CAAG,EAAE;AAAA,MAChC,KAAK,CAACkG,MAA4B;AAChC,QAAAgL,EAAO,SAASlR,CAAG,EAAE,QAAQkG;AAAA,MAC/B;AAAA,IAAA;AAGJ,gBAAO,iBAAiB6K,GAAaE,CAAW,GACzCF;AACT;AC1DO,MAAMM,WAA2B1U,EAAsB;AAAA,EAG5D,YACEwR,IAAqC,CAAA,GACrCb,GACA;AACA,UAAMA,CAAO,GACb,KAAK,UAAUa;AAAA,EACjB;AAAA,EAES,KACPvR,GACAC,GACAC,GACAC,GACe;AACf,UAAM,EAAE,OAAAwR,GAAO,QAAAC,GAAQ,OAAAC,EAAA,IAAU,KAAK,SAChCH,IAAU,IAAIgD,GAAc,MAAM/C,GAAOC,GAAQC,CAAK,GAEtDzR,IAAS,IAAIuU,GAAU,KAAK,OAAO;AACzC,WAAAvU,EAAO,iBAAiB,KAAK,aAAa,GAC1CA,EAAO,QAAQ,KAAK,IAAI,GACxBA,EAAO,mBAAmB,KAAK,eAAe,GAC9CA,EAAO;AAAA,MACLJ;AAAA,MACA,CAAA4U,MAAO;AACL,cAAM,EAAE,OAAAC,MAAUD;AAClB,QAAAlD,EAAQ,QAAQ;AAAA,UACd,MAAMmD,EAAM;AAAA,UACZ,OAAOlD,KAASkD,EAAM;AAAA,UACtB,QAAQjD,KAAUiD,EAAM;AAAA,UACxB,OAAOhD,KAAS,KAAK,KAAKgD,EAAM,MAAM;AAAA,QAAA,GAExCnD,EAAQ,OAAOkD,EAAI,MACnBlD,EAAQ,SAASkD,EAAI,QACrBlD,EAAQ,aAAakD,EAAI,YACzBlD,EAAQ,cAAc;AAEtB,YAAI;AACF,UAAAzR,IAASyR,CAAO;AAAA,QAClB,SAASlR,GAAO;AACd,UAAIL,KAAW,OACbA,EAAQK,CAAK,IAEb,QAAQ,MAAMA,CAAK,GAErB,KAAK,QAAQ,UAAUR,CAAG;AAAA,QAC5B;AAAA,MACF;AAAA,MACAE;AAAA,MACAC;AAAA,IAAA,GAGKuR;AAAA,EACT;AACF;ACzDO,MAAMoD,WAAyB/U,EAAoB;AAAA,EAGxD,YAAYwR,IAAmC,CAAA,GAAIb,GAA0B;AAC3E,UAAMA,CAAO,GACb,KAAK,UAAUa;AAAA,EACjB;AAAA,EAES,KACPvR,GACAC,GACAC,GACAC,GACa;AACb,UAAM,EAAE,OAAAwR,GAAO,QAAAC,EAAA,IAAW,KAAK,SACzBF,IAAU,IAAIqD,GAAY,MAAMpD,GAAOC,CAAM,GAE7CxR,IAAS,IAAIuU,GAAU,KAAK,OAAO;AACzC,WAAAvU,EAAO,iBAAiB,KAAK,aAAa,GAC1CA,EAAO,QAAQ,KAAK,IAAI,GACxBA,EAAO,mBAAmB,KAAK,eAAe,GAC9CA,EAAO;AAAA,MACLJ;AAAA,MACA,CAAA4U,MAAO;AACL,cAAM,EAAE,OAAAC,MAAUD;AAClB,QAAAlD,EAAQ,QAAQ;AAAA,UACd,MAAMmD,EAAM;AAAA,UACZ,OAAOlD,KAASkD,EAAM;AAAA,UACtB,QAAQjD,KAAUiD,EAAM;AAAA,QAAA,GAE1BnD,EAAQ,OAAOkD,EAAI,MACnBlD,EAAQ,SAASkD,EAAI,QACrBlD,EAAQ,aAAakD,EAAI,YACzBlD,EAAQ,cAAc;AAEtB,YAAI;AACF,UAAAzR,IAASyR,CAAO;AAAA,QAClB,SAASlR,GAAO;AACd,UAAIL,KAAW,OACbA,EAAQK,CAAK,IAEb,QAAQ,MAAMA,CAAK,GAErB,KAAK,QAAQ,UAAUR,CAAG;AAAA,QAC5B;AAAA,MACF;AAAA,MACAE;AAAA,MACAC;AAAA,IAAA,GAGKuR;AAAA,EACT;AACF;ACvDA,MAAM3N,KAAU,MAEViR,yBAAgCtT,EAAA,GAChCuT,yBAAiCvT,EAAA,GACjCwT,wBAA8BxT,EAAA,GAC9ByT,wBAAmCzT,EAAA,GACnC0T,yBAAmC1T,EAAA,GACnC2T,yBAAmC3T,EAAA,GACnC4T,yBAAkCC,GAAA,GAClCC,yBAAsCC,GAAA,GACtCC,yBAA+BC,GAAA;AAE9B,MAAMC,GAAY;AAAA,EAcvB,YAAYC,IAAW,GAAGC,IAAU,GAAGC,IAAQ,GAAGC,IAAO,GAAG;AAC1D,SAAK,WAAWH,GAChB,KAAK,UAAUC,GACf,KAAK,QAAQC,GACb,KAAK,OAAOC;AAAA,EACd;AAAA,EAEA,IAAI,WAAmB;AACrB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,SAAS1M,GAAe;AAC1B,SAAK,YAAY,KAAK,IAAIA,GAAOvF,EAAO;AAAA,EAC1C;AAAA,EAEA,IAAI,QAAgB;AAClB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,MAAMuF,GAAe;AACvB,SAAK,SAASwI,EAAMxI,GAAO,CAAC,KAAK,KAAK,IAAIvF,IAAS,KAAK,KAAK,IAAIA,EAAO;AAAA,EAC1E;AAAA,EAEA,IAAI8R,GAAkBC,GAAiBC,GAAeC,GAAqB;AACzE,gBAAK,WAAWH,GAChB,KAAK,UAAUC,GACf,KAAK,QAAQC,GACTC,KAAQ,SACV,KAAK,OAAOA,IAEP;AAAA,EACT;AAAA,EAEA,QAAqB;AACnB,WAAO,IAAIJ,GAAY,KAAK,UAAU,KAAK,SAAS,KAAK,OAAO,KAAK,IAAI;AAAA,EAC3E;AAAA,EAEA,KAAKK,GAA0B;AAC7B,gBAAK,WAAWA,EAAM,UACtB,KAAK,UAAUA,EAAM,SACrB,KAAK,QAAQA,EAAM,OACnB,KAAK,OAAOA,EAAM,MACX;AAAA,EACT;AAAA,EAEA,OAAOA,GAA6B;AAClC,WACEA,EAAM,aAAa,KAAK,YACxBA,EAAM,YAAY,KAAK,WACvBA,EAAM,UAAU,KAAK,SACrBA,EAAM,SAAS,KAAK;AAAA,EAExB;AAAA,EAEA,UACElT,GACAmT,GACAC,GACAC,GACAC,IAAYC,GAAU,OAChB;AACN,IAAAD,EAAU;AAAA,MACRtT;AAAA,MACAiS;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA,GAEFkB,GAAI,KAAKlB,CAAS;AAIlB,UAAMqB,IAASpB,EACZ,KAAKH,EAAW,EAChB,eAAe,KAAK,IAAI,KAAK,OAAO,CAAC,EACrC;AAAA,MACCI,GAAe,KAAKH,EAAY,EAAE,eAAe,KAAK,IAAI,KAAK,OAAO,CAAC;AAAA,IAAA,EAExE,eAAe,KAAK,IAAI,KAAK,KAAK,CAAC,EACnC,IAAIG,GAAe,KAAKF,CAAS,EAAE,eAAe,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,EACvE,YACA,eAAe,KAAK,QAAQ;AAG/B,QAFAgB,EAAI,KAAKnT,CAAM,EAAE,IAAIwT,CAAM,GAEvB,KAAK,SAAS,GAAG;AACnB,YAAMC,IAAWrB,EAAe,KAAKpS,CAAM,EAAE,IAAImT,CAAG,EAAE,UAAA;AACtD,MAAAhB,EAAU;AAAA,QACRM,GAAkB,iBAAiBgB,GAAU,KAAK,IAAI;AAAA,MAAA;AAAA,IAE1D;AACA,IAAAL,EAAW;AAAA,MACTb,GAAc,OAAOY,GAAKnT,GAAQmS,CAAS;AAAA,IAAA;AAAA,EAE/C;AAAA,EAEA,cACEuB,GACAJ,IAAYC,GAAU,OACtBvT,GACkB;AAClB,UAAMmT,IAAMf,EAAe,sBAAsBsB,EAAO,WAAW,GAC7DC,IAAYtB,GACf,IAAI,GAAG,GAAG,GAAG,EACb,UAAUqB,CAAM,EAChB,IAAIP,CAAG,EACP,UAAA,GACGS,IAAeN,EAAU;AAAA,MAC7BX,GAAW,IAAIQ,GAAKQ,CAAS;AAAA,IAAA;AAE/B,QAAIC,KAAgB;AAClB;AAEF,IAAA5T,GAAQ,KAAK4T,CAAY,GAEzB,KAAK,WAAWT,EAAI,WAAWS,CAAY,GAC3CN,EAAU;AAAA,MACRM;AAAA,MACA3B;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA,GAEF,KAAK,UAAU,KAAK;AAAA,MAClBD,GAAa,IAAIyB,CAAS;AAAA,MAC1B1B,GAAY,IAAI0B,CAAS;AAAA,IAAA,GAE3B,KAAK,QAAQ,KAAK,KAAKxB,EAAU,IAAIwB,CAAS,CAAC;AAG/C,UAAMN,IAAKjB,EAAe,KAAKsB,EAAO,EAAE,EAAE,gBAAgBA,EAAO,UAAU,GACrEG,IAAIvB,GACP,KAAKqB,CAAS,EACd,eAAe,CAACN,EAAG,IAAIM,CAAS,CAAC,EACjC,IAAIN,CAAE,EACN,UAAA,GACGS,IAAI1B,EACP,KAAKuB,CAAS,EACd,eAAe,CAACxB,EAAU,IAAIwB,CAAS,CAAC,EACxC,IAAIxB,CAAS,EACb,UAAA,GACG1I,IAAIqK,EAAE,IAAID,CAAC,GACXnK,IAAIiK,EAAU,IAAIG,EAAE,MAAMD,CAAC,CAAC;AAClC,gBAAK,OAAO,KAAK,MAAMnK,GAAGD,CAAC,GAEpB;AAAA,EACT;AACF;ACpKO,MAAMsK,IAAN,MAAMA,EAAU;AAAA,EAQrB,YACSC,IAAO,GACPC,IAAQ,GACRC,IAAO,GACPC,IAAQ,GACf;AAJO,SAAA,OAAAH,GACA,KAAA,QAAAC,GACA,KAAA,OAAAC,GACA,KAAA,QAAAC;AAAA,EACN;AAAA,EAEH,IAAI,QAAgB;AAClB,QAAID,IAAO,KAAK;AAChB,WAAIA,IAAO,KAAK,SACdA,KAAQ,KAAK,KAAK,IAEbA,IAAO,KAAK;AAAA,EACrB;AAAA,EAEA,IAAI,SAAiB;AACnB,WAAO,KAAK,QAAQ,KAAK;AAAA,EAC3B;AAAA,EAEA,IAAIF,GAAcC,GAAeC,GAAcC,GAAqB;AAClE,gBAAK,OAAOH,GACZ,KAAK,QAAQC,GACb,KAAK,OAAOC,GACZ,KAAK,QAAQC,GACN;AAAA,EACT;AAAA,EAEA,QAAmB;AACjB,WAAO,IAAIJ,EAAU,KAAK,MAAM,KAAK,OAAO,KAAK,MAAM,KAAK,KAAK;AAAA,EACnE;AAAA,EAEA,KAAKb,GAA4B;AAC/B,gBAAK,OAAOA,EAAM,MAClB,KAAK,QAAQA,EAAM,OACnB,KAAK,OAAOA,EAAM,MAClB,KAAK,QAAQA,EAAM,OACZ;AAAA,EACT;AAAA,EAEA,OAAOA,GAA+B;AACpC,WACEA,EAAM,SAAS,KAAK,QACpBA,EAAM,UAAU,KAAK,SACrBA,EAAM,SAAS,KAAK,QACpBA,EAAM,UAAU,KAAK;AAAA,EAEzB;AAAA,EAEA,GAAGzJ,GAAWC,GAAWtL,IAAS,IAAIgW,KAAsB;AAC1D,WAAOhW,EAAO;AAAA,MACZ,KAAK,QAAQ,KAAK,OAAO,KAAK,QAAQqL;AAAA,MACtC,KAAK,SAAS,KAAK,QAAQ,KAAK,SAASC;AAAA,IAAA;AAAA,EAE7C;AAAA,EAEA,UAAU3D,GAA0ByN,IAAS,GAAS;AACpD,gBAAK,OAAOzN,EAAMyN,CAAM,GACxB,KAAK,QAAQzN,EAAMyN,IAAS,CAAC,GAC7B,KAAK,OAAOzN,EAAMyN,IAAS,CAAC,GAC5B,KAAK,QAAQzN,EAAMyN,IAAS,CAAC,GACtB;AAAA,EACT;AAAA,EAEA,QAAQzN,IAAkB,IAAIyN,IAAS,GAAa;AAClD,WAAAzN,EAAMyN,CAAM,IAAI,KAAK,MACrBzN,EAAMyN,IAAS,CAAC,IAAI,KAAK,OACzBzN,EAAMyN,IAAS,CAAC,IAAI,KAAK,MACzBzN,EAAMyN,IAAS,CAAC,IAAI,KAAK,OAClBzN;AAAA,EACT;AAAA,EAEA,EAAE,OAAO,QAAQ,IAAuB;AACtC,UAAM,KAAK,MACX,MAAM,KAAK,OACX,MAAM,KAAK,MACX,MAAM,KAAK;AAAA,EACb;AACF;AApFEgO,EAAgB,MAAoB,oBAAIA;AAAA,EACtCK,EAAS;AAAA,EACTA,EAAS;AAAA,EACTA,EAAS;AAAA,EACTA,EAAS;AAAA;AALN,IAAMC,KAANN;ACXP,MAAMO,KAAiB;AAMhB,SAASC,GAAgBhD,GAAgBiD,GAA4B;AAC1E,SAAOjD,EAAO,QAAQ+C,IAAgB,CAACG,GAAOC,MAAiB;AAE7D,UAAMC,IADaD,EAAK,MAAM,GAAG,EACN;AAAA,MACzB,CAACE,GAAQC,MACP,OAAOD,KAAW,YAAYA,KAAU,OACpCA,EAAOC,CAAS,IAChB;AAAA,MACNL;AAAA,IAAA;AAEF,QAAI,OAAOG,KAAY;AACrB,YAAM,IAAI,MAAM,8BAA8BD,CAAI,GAAG;AAEvD,WAAOH,GAAgBI,GAASH,CAAQ;AAAA,EAC1C,CAAC;AACH;ACbA,UAAUM,GACRrL,GACAC,GACAqL,GACAC,GACA5W,GAC2B;AAC3B,MAAI2W,KAAKC;AACP;AAEF,QAAMC,IAAU,KAAKF,GACfG,IAAQH,IAAI,GACZI,IAAQ,KAAKD,GACbE,IAAQ,KAAK,MAAO3L,IAAIwL,IAAWE,CAAK,GACxCE,IAAQ,KAAK,MAAO3L,IAAIuL,IAAWE,CAAK,GACxCG,IAAW;AAAA,IACf,CAACF,GAAOC,GAAOH,CAAK;AAAA,IACpB,CAACE,IAAQ,GAAGC,GAAOH,CAAK;AAAA,IACxB,CAACE,GAAOC,IAAQ,GAAGH,CAAK;AAAA,IACxB,CAACE,IAAQ,GAAGC,IAAQ,GAAGH,CAAK;AAAA,EAAA;AAE9B,MAAIA,IAAQF;AACV,eAAWO,KAASD;AAClB,iBAAWE,KAASV,GAAiB,GAAGS,GAAOP,GAAM5W,CAAM;AACzD,cAAMoX;AAAA;AAIV,eAAWD,KAASD;AAClB,aAAOlX,KAAU,IAAIqX,EAAA,GAAkB,IAAI,GAAGF,CAAK;AAGzD;AAEO,MAAME,EAAe;AAAA,EAC1B,YACShM,IAAI,GACJC,IAAI,GACJqL,IAAI,GACX;AAHO,SAAA,IAAAtL,GACA,KAAA,IAAAC,GACA,KAAA,IAAAqL;AAAA,EACN;AAAA,EAEH,IAAItL,GAAWC,GAAWqL,GAAkB;AAC1C,gBAAK,IAAItL,GACT,KAAK,IAAIC,GACLqL,KAAK,SACP,KAAK,IAAIA,IAEJ;AAAA,EACT;AAAA,EAEA,QAAwB;AACtB,WAAO,IAAIU,EAAe,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAAA,EAClD;AAAA,EAEA,KAAKvC,GAAiC;AACpC,gBAAK,IAAIA,EAAM,GACf,KAAK,IAAIA,EAAM,GACf,KAAK,IAAIA,EAAM,GACR;AAAA,EACT;AAAA,EAEA,OAAOA,GAAoC;AACzC,WAAOA,EAAM,MAAM,KAAK,KAAKA,EAAM,MAAM,KAAK,KAAKA,EAAM,MAAM,KAAK;AAAA,EACtE;AAAA,EAEA,UAAU9U,IAAS,IAAIqX,KAAkC;AACvD,UAAMR,IAAU,KAAK,KAAK,GACpBxL,IAAI,KAAK,IAAIwL,GACbvL,IAAI,KAAK,IAAIuL,GACbF,IAAI,KAAK,IAAI,GACbI,IAAQ,KAAKJ;AACnB,WAAO3W,EAAO,IAAI,KAAK,MAAMqL,IAAI0L,CAAK,GAAG,KAAK,MAAMzL,IAAIyL,CAAK,GAAGJ,CAAC;AAAA,EACnE;AAAA,EAEA,CAAC,iBACCjG,GACA1Q,GAC2B;AAC3B,UAAM,EAAE,GAAAqL,GAAG,GAAAC,GAAG,GAAAqL,EAAA,IAAM;AACpB,eAAWS,KAASV,GAAiBrL,GAAGC,GAAGqL,GAAGA,IAAIjG,GAAO1Q,CAAM;AAC7D,YAAMoX;AAAA,EAEV;AAAA,EAEA,UAAUzP,GAA0ByN,IAAS,GAAS;AACpD,gBAAK,IAAIzN,EAAMyN,CAAM,GACrB,KAAK,IAAIzN,EAAMyN,IAAS,CAAC,GACzB,KAAK,IAAIzN,EAAMyN,IAAS,CAAC,GAClB;AAAA,EACT;AAAA,EAEA,QAAQzN,IAAkB,IAAIyN,IAAS,GAAa;AAClD,WAAAzN,EAAMyN,CAAM,IAAI,KAAK,GACrBzN,EAAMyN,IAAS,CAAC,IAAI,KAAK,GACzBzN,EAAMyN,IAAS,CAAC,IAAI,KAAK,GAClBzN;AAAA,EACT;AAAA,EAEA,EAAE,OAAO,QAAQ,IAAuB;AACtC,UAAM,KAAK,GACX,MAAM,KAAK,GACX,MAAM,KAAK;AAAA,EACb;AACF;ACzGA,MAAM2P,yBAAkCC,GAAA;AASjC,MAAMC,GAAa;AAAA,EACxB,YACShH,IAAQ,GACRC,IAAS,GACTgH,IAAYxB,GAAU,KAC7B;AAHO,SAAA,QAAAzF,GACA,KAAA,SAAAC,GACA,KAAA,YAAAgH;AAAA,EACN;AAAA,EAEH,QAAsB;AACpB,WAAO,IAAID,GAAa,KAAK,OAAO,KAAK,QAAQ,KAAK,UAAU,OAAO;AAAA,EACzE;AAAA,EAEA,KAAK1C,GAA+B;AAClC,gBAAK,QAAQA,EAAM,OACnB,KAAK,SAASA,EAAM,QACpB,KAAK,UAAU,KAAKA,EAAM,SAAS,GAC5B;AAAA,EACT;AAAA,EAEA,QAAQ6B,GAAW3W,IAAS,IAAIuX,MAAoB;AAClD,WAAOvX,EAAO,IAAI,KAAK,SAAS2W,GAAG,KAAK,UAAUA,CAAC;AAAA,EACrD;AAAA;AAAA,EAGA,QACEe,GACAf,GACA3W,IAAS,IAAIqX,KACG;AAChB,UAAMM,IAAO,KAAK,QAAQhB,GAAGW,EAAa,GACpC,EAAE,WAAAG,MAAc,MAChBjH,IAAQiH,EAAU,QAAQE,EAAK,GAC/BlH,IAASgH,EAAU,SAASE,EAAK,GACjC,EAAE,MAAA/B,GAAM,OAAAC,GAAO,MAAAC,EAAA,IAAS2B;AAC9B,QAAIG,IAAYF,EAAS;AACzB,IAAI5B,IAAOF,MACTgC,KAAa,KAAK,KAAK;AAEzB,QAAIvM,IAAI,KAAK,OAAOuM,IAAYhC,KAAQpF,CAAK;AAC7C,IAAInF,KAAKsM,EAAK,MACZtM,IAAIsM,EAAK,IAAI;AAEf,QAAIrM,IAAI,KAAK,OAAOoM,EAAS,WAAW7B,KAASpF,CAAM;AACvD,WAAInF,KAAKqM,EAAK,MACZrM,IAAIqM,EAAK,IAAI,IAEf3X,EAAO,IAAIqL,GACXrL,EAAO,IAAIsL,GACXtL,EAAO,IAAI2W,GACJ3W;AAAA,EACT;AAAA;AAAA,EAGA,aAAa6X,GAA0B7X,IAAS,IAAIiW,MAAwB;AAC1E,UAAM0B,IAAO,KAAK,QAAQE,EAAK,GAAGP,EAAa,GACzC,EAAE,WAAAG,MAAc,MAChBjH,IAAQiH,EAAU,QAAQE,EAAK,GAC/BlH,IAASgH,EAAU,SAASE,EAAK,GACjC,EAAE,MAAA/B,GAAM,OAAAG,EAAA,IAAU0B;AACxB,WAAAzX,EAAO,OAAO6X,EAAK,IAAIrH,IAAQoF,GAC/B5V,EAAO,QAAQ6X,EAAK,IAAI,KAAKrH,IAAQoF,GACrC5V,EAAO,QAAQ+V,KAAS4B,EAAK,IAAIE,EAAK,IAAI,KAAKpH,GAC/CzQ,EAAO,QAAQ+V,KAAS4B,EAAK,IAAIE,EAAK,KAAKpH,GACpCzQ;AAAA,EACT;AACF;AC3EA,IAAI8X;AAEJ,SAASC,KAA8B;AACrC,MAAID,MAAoB;AACtB,WAAOA;AAET,QAAM/F,IAAI,IAAI,YAAY,CAAC,SAAU,CAAC;AAEtC,SAAA+F,KADU,IAAI,WAAW/F,EAAE,QAAQA,EAAE,YAAYA,EAAE,UAAU,EACxC,CAAC,MAAM,GACrB+F;AACT;AAiBA,SAASE,EACPnY,GACAmF,GACAiT,GACAC,IAAe,IACH;AACZ,MAAIA,MAAiBH;AAGnB,WAAO,IAAI/S,EAAWnF,CAAM;AAE9B,QAAMkN,IAAO,OAAO,OAAO,IAAI,SAASlN,CAAM,GAAG;AAAA,IAC/C,WAA2BsP,GAAoB+I,GAAwB;AACrE,aAAOjJ,GAAW,MAAME,GAAY+I,CAAY;AAAA,IAClD;AAAA,EAAA,CACD,GACKvQ,IAAQ,IAAI3C,EAAW+H,EAAK,aAAa/H,EAAW,iBAAiB;AAC3E,WACMvF,IAAQ,GAAG0Y,IAAY,GAC3B1Y,IAAQkI,EAAM,QACd,EAAElI,GAAO0Y,KAAanT,EAAW;AAEjC,IAAA2C,EAAMlI,CAAK,IAAIsN,EAAKkL,CAAQ,EAAEE,GAAWD,CAAY;AAEvD,SAAOvQ;AACT;AAOO,MAAMyQ,KAAgD,CAAAvY,MAC3D,IAAI,WAAWA,CAAM,GAEVwY,KAA8C,CAAAxY,MACzD,IAAI,UAAUA,CAAM,GAETyY,KAAkD,CAC7DzY,GACAqY,MACGF,EAAgBnY,GAAQ,aAAa,aAAaqY,CAAY,GAEtDK,KAAgD,CAC3D1Y,GACAqY,MACGF,EAAgBnY,GAAQ,YAAY,YAAYqY,CAAY,GAEpDM,KAAgD,CAC3D3Y,GACAqY,MACGF,EAAgBnY,GAAQ,YAAY,YAAYqY,CAAY,GAEpDO,KAAkD,CAC7D5Y,GACAqY,MACGF,EAAgBnY,GAAQ,aAAa,aAAaqY,CAAY,GAEtDQ,KAAoD,CAC/D7Y,GACAqY,MACGF,EAAgBnY,GAAQ0M,GAAc,cAAc2L,CAAY,GAExDS,KAAoD,CAC/D9Y,GACAqY,MACGF,EAAgBnY,GAAQ,cAAc,cAAcqY,CAAY,GAExDU,KAAoD,CAC/D/Y,GACAqY,MACGF,EAAgBnY,GAAQ,cAAc,cAAcqY,CAAY;AC3F9D,SAASW,GAAmB1Q,GAAoC;AAAC;ACTxE,MAAM2Q,KACJ;AAEF,SAASC,GACP1C,GACAvI,GACAO,GACA2K,GACQ;AACR,MAAIC,IAAS;AACb,WAAS9O,IAAI,SAAS2D,GAAO,EAAE,GAAG3D,IAAI,SAASkE,GAAK,EAAE,GAAG,EAAElE;AACzD,IAAA8O,KAAUD,EACP,QAAQ,gBAAgB,IAAI7O,CAAC,GAAG,EAChC,QAAQ,wBAAwB,GAAGA,CAAC,EAAE;AAE3C,SAAO8O;AACT;AAEO,SAASC,GAAYD,GAAwB;AAClD,SAAOA,EAAO,QAAQH,IAAmBC,EAAY;AACvD;","x_google_ignoreList":[3,4,5,6,7,8,9,10,11]}
package/build/r3f.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),l=require("react"),p=require("three"),c=require("./shared2.cjs"),m=require("@react-three/fiber"),u=new p.Matrix4,d=new c.Geodetic,h=new p.Vector3;class E extends p.Group{set(e,t,r,o=c.Ellipsoid.WGS84){const n=d.set(e,t,r).toECEF(h);o.getEastNorthUpFrame(n,u).decompose(this.position,this.quaternion,this.scale)}}const x=({ref:s,longitude:e,latitude:t,height:r=0,ellipsoid:o=c.Ellipsoid.WGS84,children:n})=>{const i=l.useMemo(()=>new E,[]);return l.useEffect(()=>{i.set(e,t,r,o)},[e,t,r,o,i]),a.jsx("primitive",{ref:s,object:i,children:n})},G=({ref:s,args:e,children:t,...r})=>(m.extend({EllipsoidGeometry:c.EllipsoidGeometry}),a.jsxs("mesh",{ref:s,...r,children:[a.jsx("ellipsoidGeometry",{args:e}),t]}));exports.EastNorthUpFrame=x;exports.EllipsoidMesh=G;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),l=require("react"),p=require("three"),c=require("./shared3.cjs"),m=require("@react-three/fiber"),u=new p.Matrix4,d=new c.Geodetic,h=new p.Vector3;class E extends p.Group{set(e,t,r,o=c.Ellipsoid.WGS84){const n=d.set(e,t,r).toECEF(h);o.getEastNorthUpFrame(n,u).decompose(this.position,this.quaternion,this.scale)}}const x=({ref:s,longitude:e,latitude:t,height:r=0,ellipsoid:o=c.Ellipsoid.WGS84,children:n})=>{const i=l.useMemo(()=>new E,[]);return l.useEffect(()=>{i.set(e,t,r,o)},[e,t,r,o,i]),a.jsx("primitive",{ref:s,object:i,children:n})},G=({ref:s,args:e,children:t,...r})=>(m.extend({EllipsoidGeometry:c.EllipsoidGeometry}),a.jsxs("mesh",{ref:s,...r,children:[a.jsx("ellipsoidGeometry",{args:e}),t]}));exports.EastNorthUpFrame=x;exports.EllipsoidMesh=G;
2
2
  //# sourceMappingURL=r3f.cjs.map
package/build/r3f.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx as m, jsxs as a } from "react/jsx-runtime";
2
2
  import { useMemo as p, useEffect as f } from "react";
3
3
  import { Group as h, Vector3 as E, Matrix4 as x } from "three";
4
- import { E as n, G, a as d } from "./shared2.js";
4
+ import { E as n, G, a as d } from "./shared3.js";
5
5
  import { extend as l } from "@react-three/fiber";
6
6
  const u = /* @__PURE__ */ new x(), S = /* @__PURE__ */ new G(), w = /* @__PURE__ */ new E();
7
7
  class F extends h {
package/build/shared2.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";const o=require("three"),T=require("./shared.cjs"),D=new o.Vector3;function B(q,t,i=new o.Vector3,r){const{x:e,y:s,z:n}=q,c=t.x,h=t.y,u=t.z,d=e*e*c,y=s*s*h,a=n*n*u,l=d+y+a,p=Math.sqrt(1/l);if(!Number.isFinite(p))return;const w=D.copy(q).multiplyScalar(p);if(l<(r?.centerTolerance??.1))return i.copy(w);const V=w.multiply(t).multiplyScalar(2);let m=(1-p)*q.length()/(V.length()/2),f=0,x,M,g,I;do{m-=f,x=1/(1+m*c),M=1/(1+m*h),g=1/(1+m*u);const U=x*x,F=M*M,L=g*g,G=U*x,P=F*M,C=L*g;I=d*U+y*F+a*L-1,f=I/((d*G*c+y*P*h+a*C*u)*-2)}while(Math.abs(I)>1e-12);return i.set(e*x,s*M,n*g)}const v=new o.Vector3,N=new o.Vector3,S=new o.Vector3,b=class b{constructor(t,i,r){this.radii=new o.Vector3(t,i,r)}get minimumRadius(){return Math.min(this.radii.x,this.radii.y,this.radii.z)}get maximumRadius(){return Math.max(this.radii.x,this.radii.y,this.radii.z)}get flattening(){return 1-this.minimumRadius/this.maximumRadius}get eccentricity(){return Math.sqrt(this.eccentricitySquared)}get eccentricitySquared(){const t=this.maximumRadius**2,i=this.minimumRadius**2;return(t-i)/t}reciprocalRadii(t=new o.Vector3){const{x:i,y:r,z:e}=this.radii;return t.set(1/i,1/r,1/e)}reciprocalRadiiSquared(t=new o.Vector3){const{x:i,y:r,z:e}=this.radii;return t.set(1/i**2,1/r**2,1/e**2)}projectOnSurface(t,i=new o.Vector3,r){return B(t,this.reciprocalRadiiSquared(),i,r)}getSurfaceNormal(t,i=new o.Vector3){return i.multiplyVectors(this.reciprocalRadiiSquared(v),t).normalize()}getEastNorthUpVectors(t,i=new o.Vector3,r=new o.Vector3,e=new o.Vector3){this.getSurfaceNormal(t,e),i.set(-t.y,t.x,0).normalize(),r.crossVectors(e,i).normalize()}getEastNorthUpFrame(t,i=new o.Matrix4){const r=v,e=N,s=S;return this.getEastNorthUpVectors(t,r,e,s),i.makeBasis(r,e,s).setPosition(t)}getNorthUpEastFrame(t,i=new o.Matrix4){const r=v,e=N,s=S;return this.getEastNorthUpVectors(t,r,e,s),i.makeBasis(e,s,r).setPosition(t)}getIntersection(t,i=new o.Vector3){const r=this.reciprocalRadii(v),e=N.copy(r).multiply(t.origin),s=S.copy(r).multiply(t.direction),n=e.lengthSq(),c=s.lengthSq(),h=e.dot(s),u=h**2-c*(n-1);if(n===1)return i.copy(t.origin);if(n>1){if(h>=0||u<0)return;const d=Math.sqrt(u),y=(-h-d)/c,a=(-h+d)/c;return t.at(Math.min(y,a),i)}if(n<1){const d=h**2-c*(n-1),y=Math.sqrt(d),a=(-h+y)/c;return t.at(a,i)}if(h<0)return t.at(-h/c,i)}getOsculatingSphereCenter(t,i,r=new o.Vector3){T.invariant(this.radii.x===this.radii.y);const e=this.radii.x**2,s=this.radii.z**2,n=v.set(t.x/e,t.y/e,t.z/s).normalize();return r.copy(n.multiplyScalar(-i).add(t))}getNormalAtHorizon(t,i,r=new o.Vector3){T.invariant(this.radii.x===this.radii.y);const e=this.radii.x**2,s=this.radii.z**2,n=t,c=i;let h=(n.x*c.x+n.y*c.y)/e+n.z*c.z/s;h/=(n.x**2+n.y**2)/e+n.z**2/s;const u=v.copy(c).multiplyScalar(-h).add(t);return r.set(u.x/e,u.y/e,u.z/s).normalize()}};b.WGS84=new b(6378137,6378137,6356752314245179e-9);let E=b;class j extends o.BufferGeometry{constructor(t=new o.Vector3(1,1,1),i=32,r=16){super(),this.type="EllipsoidGeometry",this.parameters={radii:t,longitudeSegments:i,latitudeSegments:r},i=Math.max(3,Math.floor(i)),r=Math.max(2,Math.floor(r));const e=(i+1)*(r+1),s=new o.Vector3,n=new o.Vector3,c=new Float32Array(e*3),h=new Float32Array(e*3),u=new Float32Array(e*2),d=[],y=[];for(let a=0,l=0,p=0,w=0;a<=r;++a){const V=[],m=a/r,f=m*Math.PI;let x=0;a===0?x=.5/i:a===r&&(x=-.5/i);for(let M=0;M<=i;++M,l+=3,p+=2,++w){const g=M/i,I=g*Math.PI*2;s.x=t.x*Math.cos(I)*Math.sin(f),s.y=t.y*Math.sin(I)*Math.sin(f),s.z=t.z*Math.cos(f),c[l]=s.x,c[l+1]=s.y,c[l+2]=s.z,n.copy(s).normalize(),h[l]=n.x,h[l+1]=n.y,h[l+2]=n.z,u[p]=g+x,u[p+1]=1-m,V.push(w)}d.push(V)}for(let a=0;a<r;++a)for(let l=0;l<i;++l){const p=d[a][l+1],w=d[a][l],V=d[a+1][l],m=d[a+1][l+1];a!==0&&y.push(p,w,m),a!==r-1&&y.push(w,V,m)}this.setIndex(y),this.setAttribute("position",new o.BufferAttribute(c,3)),this.setAttribute("normal",new o.BufferAttribute(h,3)),this.setAttribute("uv",new o.BufferAttribute(u,2))}copy(t){return super.copy(t),this.parameters={...t.parameters},this}}const A=new o.Vector3,O=new o.Vector3,z=class z{constructor(t=0,i=0,r=0){this.longitude=t,this.latitude=i,this.height=r}set(t,i,r){return this.longitude=t,this.latitude=i,r!=null&&(this.height=r),this}clone(){return new z(this.longitude,this.latitude,this.height)}copy(t){return this.longitude=t.longitude,this.latitude=t.latitude,this.height=t.height,this}equals(t){return t.longitude===this.longitude&&t.latitude===this.latitude&&t.height===this.height}setLongitude(t){return this.longitude=t,this}setLatitude(t){return this.latitude=t,this}setHeight(t){return this.height=t,this}normalize(){return this.longitude<z.MIN_LONGITUDE&&(this.longitude+=Math.PI*2),this}setFromECEF(t,i){const e=(i?.ellipsoid??E.WGS84).reciprocalRadiiSquared(A),s=B(t,e,O,i);if(s==null)throw new Error(`Could not project position to ellipsoid surface: ${t.toArray()}`);const n=A.multiplyVectors(s,e).normalize();this.longitude=Math.atan2(n.y,n.x),this.latitude=Math.asin(n.z);const c=A.subVectors(t,s);return this.height=Math.sign(c.dot(t))*c.length(),this}toECEF(t=new o.Vector3,i){const r=i?.ellipsoid??E.WGS84,e=A.multiplyVectors(r.radii,r.radii),s=Math.cos(this.latitude),n=O.set(s*Math.cos(this.longitude),s*Math.sin(this.longitude),Math.sin(this.latitude)).normalize();return t.multiplyVectors(e,n),t.divideScalar(Math.sqrt(n.dot(t))).add(n.multiplyScalar(this.height))}fromArray(t,i=0){return this.longitude=t[i],this.latitude=t[i+1],this.height=t[i+2],this}toArray(t=[],i=0){return t[i]=this.longitude,t[i+1]=this.latitude,t[i+2]=this.height,t}*[Symbol.iterator](){yield this.longitude,yield this.latitude,yield this.height}};z.MIN_LONGITUDE=-Math.PI,z.MAX_LONGITUDE=Math.PI,z.MIN_LATITUDE=-Math.PI/2,z.MAX_LATITUDE=Math.PI/2;let R=z;exports.Ellipsoid=E;exports.EllipsoidGeometry=j;exports.Geodetic=R;
1
+ "use strict";const e=require("three"),c=require("./shared.cjs"),i=128,s=128,n=64,h="9627216cc50057994c98a2118f3c4a23765d43b9",g=`https://media.githubusercontent.com/media/takram-design-engineering/three-geospatial/${h}/packages/core/assets/stbn.bin`;class E extends e.BufferGeometry{constructor(){super(),this.boundingSphere=new e.Sphere,this.boundingSphere.set(new e.Vector3,1/0),this.setAttribute("position",new e.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute("uv",new e.Float32BufferAttribute([0,-1,0,1,2,1],2))}}class m extends e.Loader{load(T,d,p,u){const t=new e.Data3DTexture,r=new e.FileLoader(this.manager);return r.setPath(this.path),r.setRequestHeader(this.requestHeader),r.setWithCredentials(this.withCredentials),r.setResponseType("arraybuffer"),r.load(T,a=>{c.invariant(a instanceof ArrayBuffer),t.image.data=new Uint8Array(a),t.image.width=i,t.image.height=s,t.image.depth=n,t.type=e.UnsignedByteType,t.format=e.RedFormat,t.minFilter=e.NearestFilter,t.magFilter=e.NearestFilter,t.wrapS=e.RepeatWrapping,t.wrapT=e.RepeatWrapping,t.wrapR=e.RepeatWrapping,t.needsUpdate=!0,d?.(t)},p,u),t}}exports.DEFAULT_STBN_URL=g;exports.QuadGeometry=E;exports.STBNLoader=m;exports.STBN_TEXTURE_DEPTH=n;exports.STBN_TEXTURE_HEIGHT=s;exports.STBN_TEXTURE_WIDTH=i;
2
2
  //# sourceMappingURL=shared2.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared2.cjs","sources":["../src/helpers/projectOnEllipsoidSurface.ts","../src/Ellipsoid.ts","../src/EllipsoidGeometry.ts","../src/Geodetic.ts"],"names":["vectorScratch","Vector3","projectOnEllipsoidSurface","position","reciprocalRadiiSquared","result","options","x","y","z","rx","ry","rz","x2","y2","z2","normSquared","ratio","intersection","gradient","lambda","correction","sx","sy","sz","error","sx2","sy2","sz2","sx3","sy3","sz3","vectorScratch1","vectorScratch2","vectorScratch3","_Ellipsoid","a2","b2","east","north","up","Matrix4","ray","reciprocalRadii","p","d","p2","d2","pd","discriminant","Q","t1","t2","t","surfacePosition","radius","invariant","normal","direction","v","q","Ellipsoid","EllipsoidGeometry","BufferGeometry","radii","longitudeSegments","latitudeSegments","elementCount","vertex","vertices","normals","uvs","grid","indices","vertexIndex","uvIndex","rowIndex","rowIndices","phi","uOffset","u","theta","a","b","c","BufferAttribute","source","_Geodetic","longitude","latitude","height","other","value","projection","ellipsoid","radiiSquared","cosLatitude","array","offset","Geodetic"],"mappings":"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"}
1
+ {"version":3,"file":"shared2.cjs","sources":["../src/constants.ts","../src/QuadGeometry.ts","../src/STBNLoader.ts"],"names":["STBN_TEXTURE_WIDTH","STBN_TEXTURE_HEIGHT","STBN_TEXTURE_DEPTH","ref","DEFAULT_STBN_URL","QuadGeometry","BufferGeometry","Sphere","Vector3","Float32BufferAttribute","STBNLoader","Loader","url","onLoad","onProgress","onError","texture","Data3DTexture","loader","FileLoader","arrayBuffer","invariant","UnsignedByteType","RedFormat","NearestFilter","RepeatWrapping"],"mappings":"gEAAaA,EAAqB,IACrBC,EAAsB,IACtBC,EAAqB,GAG5BC,EAAM,2CACCC,EAAmB,wFAAwFD,CAAG,iCCJpH,MAAME,UAAqBC,EAAAA,cAAe,CAC/C,aAAc,CACZ,MAAA,EACA,KAAK,eAAiB,IAAIC,SAC1B,KAAK,eAAe,IAAI,IAAIC,EAAAA,QAAW,GAAQ,EAC/C,KAAK,aACH,WACA,IAAIC,yBAAuB,CAAC,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,CAAC,EAAG,CAAC,CAAA,EAE/D,KAAK,aAAa,KAAM,IAAIA,EAAAA,uBAAuB,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,CAAC,CAC5E,CACF,CCIO,MAAMC,UAAmBC,EAAAA,MAAsB,CAC3C,KACPC,EACAC,EACAC,EACAC,EACe,CACf,MAAMC,EAAU,IAAIC,gBAEdC,EAAS,IAAIC,aAAW,KAAK,OAAO,EAC1C,OAAAD,EAAO,QAAQ,KAAK,IAAI,EACxBA,EAAO,iBAAiB,KAAK,aAAa,EAC1CA,EAAO,mBAAmB,KAAK,eAAe,EAC9CA,EAAO,gBAAgB,aAAa,EACpCA,EAAO,KACLN,EACAQ,GAAe,CACbC,EAAAA,UAAUD,aAAuB,WAAW,EAC5CJ,EAAQ,MAAM,KAAO,IAAI,WAAWI,CAAW,EAC/CJ,EAAQ,MAAM,MAAQhB,EACtBgB,EAAQ,MAAM,OAASf,EACvBe,EAAQ,MAAM,MAAQd,EAEtBc,EAAQ,KAAOM,EAAAA,iBACfN,EAAQ,OAASO,EAAAA,UACjBP,EAAQ,UAAYQ,EAAAA,cACpBR,EAAQ,UAAYQ,EAAAA,cACpBR,EAAQ,MAAQS,EAAAA,eAChBT,EAAQ,MAAQS,EAAAA,eAChBT,EAAQ,MAAQS,EAAAA,eAEhBT,EAAQ,YAAc,GACtBH,IAASG,CAAO,CAClB,EACAF,EACAC,CAAA,EAGKC,CACT,CACF"}
package/build/shared2.js CHANGED
@@ -1,218 +1,33 @@
1
- import { Vector3 as a, Matrix4 as T, BufferGeometry as W, BufferAttribute as S } from "three";
2
- import { i as O } from "./shared.js";
3
- const $ = /* @__PURE__ */ new a();
4
- function D(q, t, i = new a(), s) {
5
- const { x: r, y: e, z: n } = q, o = t.x, h = t.y, u = t.z, d = r * r * o, m = e * e * h, c = n * n * u, l = d + m + c, p = Math.sqrt(1 / l);
6
- if (!Number.isFinite(p))
7
- return;
8
- const w = $.copy(q).multiplyScalar(p);
9
- if (l < (s?.centerTolerance ?? 0.1))
10
- return i.copy(w);
11
- const f = w.multiply(t).multiplyScalar(2);
12
- let y = (1 - p) * q.length() / (f.length() / 2), I = 0, x, M, g, v;
13
- do {
14
- y -= I, x = 1 / (1 + y * o), M = 1 / (1 + y * h), g = 1 / (1 + y * u);
15
- const V = x * x, F = M * M, L = g * g, G = V * x, j = F * M, B = L * g;
16
- v = d * V + m * F + c * L - 1, I = v / ((d * G * o + m * j * h + c * B * u) * -2);
17
- } while (Math.abs(v) > 1e-12);
18
- return i.set(r * x, e * M, n * g);
19
- }
20
- const E = /* @__PURE__ */ new a(), R = /* @__PURE__ */ new a(), U = /* @__PURE__ */ new a(), b = class b {
21
- constructor(t, i, s) {
22
- this.radii = new a(t, i, s);
23
- }
24
- // TODO: Rename to semiMinorAxis
25
- get minimumRadius() {
26
- return Math.min(this.radii.x, this.radii.y, this.radii.z);
27
- }
28
- // TODO: Rename to semiMajorAxis
29
- get maximumRadius() {
30
- return Math.max(this.radii.x, this.radii.y, this.radii.z);
31
- }
32
- get flattening() {
33
- return 1 - this.minimumRadius / this.maximumRadius;
34
- }
35
- get eccentricity() {
36
- return Math.sqrt(this.eccentricitySquared);
37
- }
38
- get eccentricitySquared() {
39
- const t = this.maximumRadius ** 2, i = this.minimumRadius ** 2;
40
- return (t - i) / t;
41
- }
42
- reciprocalRadii(t = new a()) {
43
- const { x: i, y: s, z: r } = this.radii;
44
- return t.set(1 / i, 1 / s, 1 / r);
45
- }
46
- reciprocalRadiiSquared(t = new a()) {
47
- const { x: i, y: s, z: r } = this.radii;
48
- return t.set(1 / i ** 2, 1 / s ** 2, 1 / r ** 2);
49
- }
50
- projectOnSurface(t, i = new a(), s) {
51
- return D(
52
- t,
53
- this.reciprocalRadiiSquared(),
54
- i,
55
- s
56
- );
57
- }
58
- getSurfaceNormal(t, i = new a()) {
59
- return i.multiplyVectors(this.reciprocalRadiiSquared(E), t).normalize();
60
- }
61
- getEastNorthUpVectors(t, i = new a(), s = new a(), r = new a()) {
62
- this.getSurfaceNormal(t, r), i.set(-t.y, t.x, 0).normalize(), s.crossVectors(r, i).normalize();
63
- }
64
- getEastNorthUpFrame(t, i = new T()) {
65
- const s = E, r = R, e = U;
66
- return this.getEastNorthUpVectors(t, s, r, e), i.makeBasis(s, r, e).setPosition(t);
67
- }
68
- getNorthUpEastFrame(t, i = new T()) {
69
- const s = E, r = R, e = U;
70
- return this.getEastNorthUpVectors(t, s, r, e), i.makeBasis(r, e, s).setPosition(t);
71
- }
72
- getIntersection(t, i = new a()) {
73
- const s = this.reciprocalRadii(E), r = R.copy(s).multiply(t.origin), e = U.copy(s).multiply(t.direction), n = r.lengthSq(), o = e.lengthSq(), h = r.dot(e), u = h ** 2 - o * (n - 1);
74
- if (n === 1)
75
- return i.copy(t.origin);
76
- if (n > 1) {
77
- if (h >= 0 || u < 0)
78
- return;
79
- const d = Math.sqrt(u), m = (-h - d) / o, c = (-h + d) / o;
80
- return t.at(Math.min(m, c), i);
81
- }
82
- if (n < 1) {
83
- const d = h ** 2 - o * (n - 1), m = Math.sqrt(d), c = (-h + m) / o;
84
- return t.at(c, i);
85
- }
86
- if (h < 0)
87
- return t.at(-h / o, i);
88
- }
89
- getOsculatingSphereCenter(t, i, s = new a()) {
90
- O(this.radii.x === this.radii.y);
91
- const r = this.radii.x ** 2, e = this.radii.z ** 2, n = E.set(
92
- t.x / r,
93
- t.y / r,
94
- t.z / e
95
- ).normalize();
96
- return s.copy(n.multiplyScalar(-i).add(t));
97
- }
98
- getNormalAtHorizon(t, i, s = new a()) {
99
- O(this.radii.x === this.radii.y);
100
- const r = this.radii.x ** 2, e = this.radii.z ** 2, n = t, o = i;
101
- let h = (n.x * o.x + n.y * o.y) / r + n.z * o.z / e;
102
- h /= (n.x ** 2 + n.y ** 2) / r + n.z ** 2 / e;
103
- const u = E.copy(o).multiplyScalar(-h).add(t);
104
- return s.set(u.x / r, u.y / r, u.z / e).normalize();
105
- }
106
- };
107
- b.WGS84 = /* @__PURE__ */ new b(
108
- 6378137,
109
- 6378137,
110
- 6356752314245179e-9
111
- );
112
- let N = b;
113
- class Q extends W {
114
- constructor(t = new a(1, 1, 1), i = 32, s = 16) {
115
- super(), this.type = "EllipsoidGeometry", this.parameters = {
116
- radii: t,
117
- longitudeSegments: i,
118
- latitudeSegments: s
119
- }, i = Math.max(3, Math.floor(i)), s = Math.max(2, Math.floor(s));
120
- const r = (i + 1) * (s + 1), e = new a(), n = new a(), o = new Float32Array(r * 3), h = new Float32Array(r * 3), u = new Float32Array(r * 2), d = [], m = [];
121
- for (let c = 0, l = 0, p = 0, w = 0; c <= s; ++c) {
122
- const f = [], y = c / s, I = y * Math.PI;
123
- let x = 0;
124
- c === 0 ? x = 0.5 / i : c === s && (x = -0.5 / i);
125
- for (let M = 0; M <= i; ++M, l += 3, p += 2, ++w) {
126
- const g = M / i, v = g * Math.PI * 2;
127
- e.x = t.x * Math.cos(v) * Math.sin(I), e.y = t.y * Math.sin(v) * Math.sin(I), e.z = t.z * Math.cos(I), o[l] = e.x, o[l + 1] = e.y, o[l + 2] = e.z, n.copy(e).normalize(), h[l] = n.x, h[l + 1] = n.y, h[l + 2] = n.z, u[p] = g + x, u[p + 1] = 1 - y, f.push(w);
128
- }
129
- d.push(f);
130
- }
131
- for (let c = 0; c < s; ++c)
132
- for (let l = 0; l < i; ++l) {
133
- const p = d[c][l + 1], w = d[c][l], f = d[c + 1][l], y = d[c + 1][l + 1];
134
- c !== 0 && m.push(p, w, y), c !== s - 1 && m.push(w, f, y);
135
- }
136
- this.setIndex(m), this.setAttribute("position", new S(o, 3)), this.setAttribute("normal", new S(h, 3)), this.setAttribute("uv", new S(u, 2));
137
- }
138
- copy(t) {
139
- return super.copy(t), this.parameters = { ...t.parameters }, this;
1
+ import { BufferGeometry as h, Sphere as u, Vector3 as m, Float32BufferAttribute as r, Loader as T, Data3DTexture as g, FileLoader as f, UnsignedByteType as l, RedFormat as w, NearestFilter as i, RepeatWrapping as a } from "three";
2
+ import { i as b } from "./shared.js";
3
+ const S = 128, y = 128, E = 64, R = "9627216cc50057994c98a2118f3c4a23765d43b9", _ = `https://media.githubusercontent.com/media/takram-design-engineering/three-geospatial/${R}/packages/core/assets/stbn.bin`;
4
+ class F extends h {
5
+ constructor() {
6
+ super(), this.boundingSphere = new u(), this.boundingSphere.set(new m(), 1 / 0), this.setAttribute(
7
+ "position",
8
+ new r([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3)
9
+ ), this.setAttribute("uv", new r([0, -1, 0, 1, 2, 1], 2));
140
10
  }
141
11
  }
142
- const A = /* @__PURE__ */ new a(), P = /* @__PURE__ */ new a(), z = class z {
143
- constructor(t = 0, i = 0, s = 0) {
144
- this.longitude = t, this.latitude = i, this.height = s;
145
- }
146
- set(t, i, s) {
147
- return this.longitude = t, this.latitude = i, s != null && (this.height = s), this;
148
- }
149
- clone() {
150
- return new z(this.longitude, this.latitude, this.height);
151
- }
152
- copy(t) {
153
- return this.longitude = t.longitude, this.latitude = t.latitude, this.height = t.height, this;
154
- }
155
- equals(t) {
156
- return t.longitude === this.longitude && t.latitude === this.latitude && t.height === this.height;
157
- }
158
- setLongitude(t) {
159
- return this.longitude = t, this;
160
- }
161
- setLatitude(t) {
162
- return this.latitude = t, this;
163
- }
164
- setHeight(t) {
165
- return this.height = t, this;
12
+ class A extends T {
13
+ load(o, d, p, c) {
14
+ const e = new g(), t = new f(this.manager);
15
+ return t.setPath(this.path), t.setRequestHeader(this.requestHeader), t.setWithCredentials(this.withCredentials), t.setResponseType("arraybuffer"), t.load(
16
+ o,
17
+ (s) => {
18
+ b(s instanceof ArrayBuffer), e.image.data = new Uint8Array(s), e.image.width = S, e.image.height = y, e.image.depth = E, e.type = l, e.format = w, e.minFilter = i, e.magFilter = i, e.wrapS = a, e.wrapT = a, e.wrapR = a, e.needsUpdate = !0, d?.(e);
19
+ },
20
+ p,
21
+ c
22
+ ), e;
166
23
  }
167
- normalize() {
168
- return this.longitude < z.MIN_LONGITUDE && (this.longitude += Math.PI * 2), this;
169
- }
170
- // See: https://en.wikipedia.org/wiki/Geographic_coordinate_conversion
171
- // Reference: https://github.com/CesiumGS/cesium/blob/1.122/packages/engine/Source/Core/Geodetic.js#L119
172
- setFromECEF(t, i) {
173
- const r = (i?.ellipsoid ?? N.WGS84).reciprocalRadiiSquared(A), e = D(
174
- t,
175
- r,
176
- P,
177
- i
178
- );
179
- if (e == null)
180
- throw new Error(
181
- `Could not project position to ellipsoid surface: ${t.toArray()}`
182
- );
183
- const n = A.multiplyVectors(e, r).normalize();
184
- this.longitude = Math.atan2(n.y, n.x), this.latitude = Math.asin(n.z);
185
- const o = A.subVectors(t, e);
186
- return this.height = Math.sign(o.dot(t)) * o.length(), this;
187
- }
188
- // See: https://en.wikipedia.org/wiki/Geographic_coordinate_conversion
189
- // Reference: https://github.com/CesiumGS/cesium/blob/1.122/packages/engine/Source/Core/Cartesian3.js#L916
190
- toECEF(t = new a(), i) {
191
- const s = i?.ellipsoid ?? N.WGS84, r = A.multiplyVectors(
192
- s.radii,
193
- s.radii
194
- ), e = Math.cos(this.latitude), n = P.set(
195
- e * Math.cos(this.longitude),
196
- e * Math.sin(this.longitude),
197
- Math.sin(this.latitude)
198
- ).normalize();
199
- return t.multiplyVectors(r, n), t.divideScalar(Math.sqrt(n.dot(t))).add(n.multiplyScalar(this.height));
200
- }
201
- fromArray(t, i = 0) {
202
- return this.longitude = t[i], this.latitude = t[i + 1], this.height = t[i + 2], this;
203
- }
204
- toArray(t = [], i = 0) {
205
- return t[i] = this.longitude, t[i + 1] = this.latitude, t[i + 2] = this.height, t;
206
- }
207
- *[Symbol.iterator]() {
208
- yield this.longitude, yield this.latitude, yield this.height;
209
- }
210
- };
211
- z.MIN_LONGITUDE = -Math.PI, z.MAX_LONGITUDE = Math.PI, z.MIN_LATITUDE = -Math.PI / 2, z.MAX_LATITUDE = Math.PI / 2;
212
- let C = z;
24
+ }
213
25
  export {
214
- N as E,
215
- C as G,
216
- Q as a
26
+ _ as D,
27
+ F as Q,
28
+ A as S,
29
+ E as a,
30
+ y as b,
31
+ S as c
217
32
  };
218
33
  //# sourceMappingURL=shared2.js.map