@arcgis/core 4.32.0-next.20250211 → 4.32.0-next.20250212

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 (133) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/{9a237b396518b1c67f19.js → 00780271be2fd6e298c1.js} +1 -1
  3. package/assets/esri/core/workers/chunks/0b8bf1966653c326e95a.js +1 -0
  4. package/assets/esri/core/workers/chunks/{a4a9b4f792d47566fbf4.js → 17213c3fc63f580e5b73.js} +1 -1
  5. package/assets/esri/core/workers/chunks/272662e4e28341419b4f.js +1 -0
  6. package/assets/esri/core/workers/chunks/{74844334b3a2100220fc.js → 37cfd102b6ab5b959f9d.js} +1 -1
  7. package/assets/esri/core/workers/chunks/3835c2884c55e73dc202.js +1 -0
  8. package/assets/esri/core/workers/chunks/{8ddd4e2e50b8206564a7.js → 3ebdd0701e77bb28c75d.js} +1 -1
  9. package/assets/esri/core/workers/chunks/4848a3e31632d15dc4ce.js +1 -0
  10. package/assets/esri/core/workers/chunks/{76794184ba8c2e66745e.js → 629f4621ba6ffdcaa2f9.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{c26ffbff1115e76bcb0f.js → 6c30a25adf22d73d4977.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{50ae86c23efe709f41cc.js → 6fa1f1e431aae1794ce3.js} +1 -1
  13. package/assets/esri/core/workers/chunks/82facb23dfaba2819bc7.js +1 -0
  14. package/assets/esri/core/workers/chunks/8722d05ae9b0aa5162a4.js +1 -0
  15. package/assets/esri/core/workers/chunks/8de4280080296adb1757.js +1 -0
  16. package/assets/esri/core/workers/chunks/{1f443b99653708470f31.js → 96d7f47ea8fbf345101c.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{df3d1a8d3f11d52eb30d.js → afdbdc1569b56489c14d.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{89e3f7880abd014a62c0.js → b42d26123784997c66e8.js} +1 -1
  19. package/assets/esri/core/workers/chunks/de638753a30c9aa41bad.js +1 -0
  20. package/assets/esri/core/workers/chunks/{1cbeac3301b6943bb28a.js → fc07d47d44c04f123650.js} +1 -1
  21. package/assets/esri/themes/base/_core.scss +4 -0
  22. package/assets/esri/themes/base/widgets/_BasemapGallery.scss +0 -5
  23. package/assets/esri/themes/base/widgets/_Editor.scss +1 -0
  24. package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationLayers.scss +80 -0
  25. package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationList.scss +14 -0
  26. package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationSettings.scss +41 -0
  27. package/assets/esri/themes/base/widgets/_FilterBuilder.scss +1 -6
  28. package/assets/esri/themes/dark/main.css +1 -1
  29. package/assets/esri/themes/light/main.css +1 -1
  30. package/assets/esri/themes/light/view.css +1 -1
  31. package/chunks/Bufferer-B-V7yYm-.js +5 -0
  32. package/chunks/Distance2DCalculator-Coa0qAFt.js +5 -0
  33. package/chunks/Envelope.js +1 -1
  34. package/chunks/{GeodeticDistanceCalculator-BsWHOuqE.js → GeodeticDistanceCalculator-D4iQ-_NX.js} +1 -1
  35. package/chunks/Geometry.js +1 -1
  36. package/chunks/OperatorClip.js +1 -1
  37. package/chunks/OperatorCut.js +1 -1
  38. package/chunks/OperatorGeneralize.js +1 -1
  39. package/chunks/OperatorGeodesicBuffer.js +1 -1
  40. package/chunks/OperatorGeodeticArea.js +1 -1
  41. package/chunks/OperatorGeodeticDistance.js +1 -1
  42. package/chunks/OperatorProximityGeodesic.js +1 -1
  43. package/chunks/OperatorShapePreservingLength.js +1 -1
  44. package/chunks/OperatorShapePreservingProject.js +1 -1
  45. package/chunks/Point2D.js +1 -1
  46. package/chunks/ProjectionTransformation.js +1 -1
  47. package/chunks/QuadraticBezier.js +1 -1
  48. package/chunks/ShadowHighlight.glsl.js +2 -4
  49. package/chunks/distanceOperator.js +1 -1
  50. package/editing/templateUtils.js +1 -1
  51. package/geometry/operators/extendOperator.js +1 -1
  52. package/geometry/operators/gx/operatorAlphaShape.js +1 -1
  53. package/geometry/operators/gx/operatorBuffer.js +1 -1
  54. package/geometry/operators/gx/operatorGraphicBuffer.js +1 -1
  55. package/geometry/operators/gx/operatorIntegrate.js +1 -1
  56. package/geometry/operators/gx/operatorOffset.js +1 -1
  57. package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
  58. package/geometry/operators/isNearOperator.js +1 -1
  59. package/geometry/operators/projectOperator.js +1 -1
  60. package/geometry/operators/shapePreservingProjectOperator.js +1 -1
  61. package/geometry/operators/support/jsonConverter.js +1 -1
  62. package/interfaces.d.ts +91 -67
  63. package/layers/support/SubtypeSublayer.js +1 -1
  64. package/networks/Network.js +1 -1
  65. package/networks/RulesTable.js +1 -1
  66. package/networks/UtilityNetwork.js +1 -1
  67. package/networks/support/typeUtils.js +1 -1
  68. package/package.json +1 -1
  69. package/support/revision.js +1 -1
  70. package/views/2d/engine/webgl/AttributeStoreView.js +1 -1
  71. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  72. package/views/2d/layers/features/FeatureContainer.js +1 -1
  73. package/views/2d/layers/features/FeaturePipelineWorker.js +1 -1
  74. package/views/2d/layers/features/sources/FeatureSource.js +1 -1
  75. package/views/2d/layers/features/sources/strategies/chunks/Overrides.js +1 -1
  76. package/views/2d/layers/features/sources/strategies/chunks/SourceChunkStore.js +1 -1
  77. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  78. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  79. package/views/SceneView.js +1 -1
  80. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  81. package/widgets/AreaMeasurement2D/AreaMeasurement2DViewModel.js +1 -1
  82. package/widgets/AreaMeasurement2D.js +1 -1
  83. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  84. package/widgets/BatchAttributeForm/ReactiveGraphic.js +1 -1
  85. package/widgets/BatchAttributeForm/inputs/EditableInput.js +1 -1
  86. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  87. package/widgets/BatchAttributeForm/inputs/GroupInput.js +1 -1
  88. package/widgets/BatchAttributeForm/inputs/InputBase.js +1 -1
  89. package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
  90. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  91. package/widgets/BatchAttributeForm.js +1 -1
  92. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  93. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModel.js +1 -1
  94. package/widgets/DistanceMeasurement2D.js +1 -1
  95. package/widgets/Editor/AddAssociationWorkflow.js +5 -0
  96. package/widgets/Editor/AddAssociationWorkflowData.js +5 -0
  97. package/widgets/Editor/EditorViewModel.js +1 -1
  98. package/widgets/Editor/UpdateWorkflow.js +1 -1
  99. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  100. package/widgets/Editor.js +1 -1
  101. package/widgets/Feature/FeatureUtilityNetworkAssociationList.js +1 -1
  102. package/widgets/Feature/FeatureUtilityNetworkAssociations.js +1 -1
  103. package/widgets/Feature/FeatureViewModel.js +1 -1
  104. package/widgets/Feature/support/featureUtils.js +1 -1
  105. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationList.js +1 -1
  106. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationItemList.js +5 -0
  107. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationSettings.js +5 -0
  108. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  109. package/widgets/FeatureForm/UtilityNetworkAssociationAddAssociationViewModel.js +5 -0
  110. package/widgets/FeatureForm/UtilityNetworkAssociationInput.js +1 -1
  111. package/widgets/FeatureForm.js +1 -1
  112. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  113. package/widgets/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.d.ts +2 -2
  114. package/widgets/support/FilterBuilder/FilterBuilderViewModel.js +1 -1
  115. package/widgets/support/FilterBuilder.js +1 -1
  116. package/widgets/support/FilterCondition/FilterConditionViewModel.js +1 -1
  117. package/widgets/support/FilterCondition.js +1 -1
  118. package/widgets/support/UtilityNetworkAssociations/FeatureUtilityNetworkAssociationsViewModel.js +5 -0
  119. package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationList.js +1 -1
  120. package/widgets/support/UtilityNetworkAssociations/utilityNetworkUtils.js +1 -1
  121. package/assets/esri/core/workers/chunks/0ac1399d252f2df670b6.js +0 -1
  122. package/assets/esri/core/workers/chunks/3d5442055e01493efcb2.js +0 -1
  123. package/assets/esri/core/workers/chunks/74f42e46bf551aab14dc.js +0 -1
  124. package/assets/esri/core/workers/chunks/9fb45c006d790273e8c1.js +0 -1
  125. package/assets/esri/core/workers/chunks/a6be1105a5e1f9597c5e.js +0 -1
  126. package/assets/esri/core/workers/chunks/d0e9874eb304010305c6.js +0 -1
  127. package/assets/esri/core/workers/chunks/d27a199fd8e2ade69254.js +0 -1
  128. package/assets/esri/core/workers/chunks/f9070edd8e0b2a57af79.js +0 -1
  129. package/chunks/Bufferer-DjC-SKTJ.js +0 -5
  130. package/chunks/Distance2DCalculator-8-JrFGHH.js +0 -5
  131. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationSettings.js +0 -5
  132. package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.d.ts +0 -4
  133. package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js +0 -5
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import{cast as i}from"../../core/accessorSupport/decorators/cast.js";import"../../core/has.js";import"../../core/RandomLCG.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";import o from"../Widget.js";import{loadCalciteComponents as l}from"./componentsUtils.js";import"./widgetUtils.js";import{messageBundle as s}from"./decorators/messageBundle.js";import{tsx as n}from"./jsxFactory.js";import a from"./FilterCondition/FilterConditionViewModel.js";const d={},p="esri-filter-condition",u={base:p,container:`${p}__container`,valueInputContainer:`${p}__value-input-container`};let c=class extends o{constructor(e,t){super(e,t),this.messages=null,this.messagesCommon=null,this.viewModel=new a,this.visibleElements={...d}}loadDependencies(){return l({input:()=>import("@esri/calcite-components/dist/components/calcite-input"),option:()=>import("@esri/calcite-components/dist/components/calcite-option"),select:()=>import("@esri/calcite-components/dist/components/calcite-select")})}get _defaultFieldName(){const{fields:e,fieldName:t}=this;return t||(e?.length?e[0].name:void 0)}get _valueInputType(){const{viewModel:e}=this;return e.isNumericField||e.isIdField?"number":"text"}get _visibleOperators(){const{field:e,operators:t,viewModel:i}=this;return e?i.isStringField?t.string:i.isNumericField?t.number:i.isIdField?t.id:[]:[]}get _isValueInputHidden(){const{operator:e}=this;return!!e&&["isBlank","isNotBlank","isEmpty","isNotEmpty"].includes(e)}get domain(){return this.viewModel.domain}get field(){return this.viewModel.field}get fields(){return this.viewModel.fields}get fieldLabel(){return this.viewModel.fieldLabel}get fieldName(){return this.viewModel.fieldName}set fieldName(e){this.viewModel.fieldName=e}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get normalizedFieldName(){return this.viewModel.normalizedFieldName}get operator(){return this.viewModel.operator}set operator(e){this.viewModel.operator=e}get operators(){return this.viewModel.operators}set operators(e){this.viewModel.operators=e}get state(){return this.viewModel.state}get value(){return this.viewModel.value}set value(e){this.viewModel.value=e}get valueAsString(){return this.viewModel.valueAsString}castVisibleElements(e){return{...d,...e}}get whereClause(){return this.viewModel.whereClause}render(){return n("div",{class:u.base},this._renderFieldSelection(),this._renderOperatorSelection(),this._renderValueInput())}_renderFieldSelection(){const e=this.normalizedFieldName;return n("div",null,n("calcite-select",{afterCreate:()=>{this.fieldName||(this.fieldName=this._defaultFieldName)},bind:this,label:this.messages.chooseField,width:"full",onCalciteSelectChange:({currentTarget:e})=>{this.fieldName=e.value}},this.fields.map((t=>this._renderOption(t.name,t.alias,e)))))}_renderOperatorSelection(){const{_visibleOperators:e,messages:t,operator:i}=this;if(e.length)return n("div",null,n("calcite-select",{afterUpdate:e=>{const t=e.value;this._visibleOperators.includes(t)||(this.operator=this._visibleOperators[0])},bind:this,label:t.operator,required:!0,width:"full",onCalciteSelectChange:e=>{this.operator=e.currentTarget.value}},e.map((e=>this._renderOption(e,t.operators[e],i)))))}_renderOption(e,t,i){return n("calcite-option",{key:e,label:t??e,selected:e===i,value:e})}_renderValueInput(){const{valueAsString:e,domain:t,messages:i,operator:r}=this;if(!this._isValueInputHidden)return"coded-value"===t?.type&&t.codedValues.length&&"is"===r?n("div",{key:"value-select"},n("calcite-select",{afterCreate:()=>{this.value||(this.value=`${t.codedValues[0].code}`)},bind:this,label:i.value,required:!0,width:"full",onCalciteSelectChange:({currentTarget:e})=>{this._onValueChange(e.value)}},t.codedValues.map((({code:t,name:i})=>this._renderOption(`${t}`,i,e))))):n("div",{class:u.valueInputContainer,key:"value-input"},n("calcite-input",{label:i.value,type:this._valueInputType,value:e,onCalciteInputInput:({currentTarget:e})=>{this._onValueChange(e.value)}}))}_onValueChange(e){const{viewModel:t}=this;e&&""!==e?t.isStringField?this.value=e.toString():(t.isNumericField||t.isIdField)&&(this.value=parseFloat(e)):this.value=null}};e([t()],c.prototype,"_defaultFieldName",null),e([t()],c.prototype,"_valueInputType",null),e([t()],c.prototype,"_visibleOperators",null),e([t()],c.prototype,"_isValueInputHidden",null),e([t()],c.prototype,"domain",null),e([t()],c.prototype,"field",null),e([t()],c.prototype,"fields",null),e([t()],c.prototype,"fieldLabel",null),e([t()],c.prototype,"fieldName",null),e([t()],c.prototype,"layer",null),e([t(),s("esri/widgets/support/FilterCondition/t9n/FilterCondition")],c.prototype,"messages",void 0),e([t(),s("esri/t9n/common")],c.prototype,"messagesCommon",void 0),e([t()],c.prototype,"normalizedFieldName",null),e([t()],c.prototype,"operator",null),e([t()],c.prototype,"operators",null),e([t()],c.prototype,"state",null),e([t()],c.prototype,"value",null),e([t()],c.prototype,"valueAsString",null),e([t()],c.prototype,"viewModel",void 0),e([t()],c.prototype,"visibleElements",void 0),e([i("visibleElements")],c.prototype,"castVisibleElements",null),e([t()],c.prototype,"whereClause",null),c=e([r("esri.widgets.support.FilterCondition")],c);const m=c;export{m as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import{cast as i}from"../../core/accessorSupport/decorators/cast.js";import"../../core/has.js";import"../../core/RandomLCG.js";import{subclass as l}from"../../core/accessorSupport/decorators/subclass.js";import o from"../Widget.js";import{loadCalciteComponents as r}from"./componentsUtils.js";import"./widgetUtils.js";import{messageBundle as s}from"./decorators/messageBundle.js";import{tsx as n}from"./jsxFactory.js";import a from"./FilterCondition/FilterConditionViewModel.js";const d={},p="esri-filter-condition",u={base:p,container:`${p}__container`,valueInputContainer:`${p}__value-input-container`};let c=class extends o{constructor(e,t){super(e,t),this.messages=null,this.messagesCommon=null,this.viewModel=new a,this.visibleElements={...d}}loadDependencies(){return r({input:()=>import("@esri/calcite-components/dist/components/calcite-input"),option:()=>import("@esri/calcite-components/dist/components/calcite-option"),select:()=>import("@esri/calcite-components/dist/components/calcite-select")})}get _defaultFieldName(){const{fields:e,fieldName:t}=this;return t||(e?.length?e[0].name:void 0)}get _valueInputType(){const{viewModel:e}=this;return e.isNumericField||e.isObjectIDField?"number":"text"}get _visibleOperators(){const{field:e,operators:t,viewModel:i}=this;return e?i.isStringField||i.isGlobalIDField?t.string:i.isNumericField?t.number:i.isObjectIDField?t.id:[]:[]}get _isValueInputHidden(){const{operator:e}=this;return!!e&&["isBlank","isNotBlank","isEmpty","isNotEmpty"].includes(e)}get domain(){return this.viewModel.domain}get field(){return this.viewModel.field}get fields(){return this.viewModel.fields}get fieldLabel(){return this.viewModel.fieldLabel}get fieldName(){return this.viewModel.fieldName}set fieldName(e){this.viewModel.fieldName=e}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get normalizedFieldName(){return this.viewModel.normalizedFieldName}get operator(){return this.viewModel.operator}set operator(e){this.viewModel.operator=e}get operators(){return this.viewModel.operators}set operators(e){this.viewModel.operators=e}get state(){return this.viewModel.state}get value(){return this.viewModel.value}set value(e){this.viewModel.value=e}get valueAsString(){return this.viewModel.valueAsString}castVisibleElements(e){return{...d,...e}}get whereClause(){return this.viewModel.whereClause}render(){return n("div",{class:u.base},this._renderFieldSelection(),this._renderOperatorSelection(),this._renderValueInput())}_renderFieldSelection(){const e=this.normalizedFieldName;return n("div",null,n("calcite-select",{afterCreate:()=>{this.fieldName||(this.fieldName=this._defaultFieldName)},bind:this,label:this.messages.chooseField,width:"full",onCalciteSelectChange:({currentTarget:e})=>{this.fieldName=e.value}},this.fields.map((t=>this._renderOption(t.name,t.alias,e)))))}_renderOperatorSelection(){const{_visibleOperators:e,messages:t,operator:i}=this;if(e.length)return n("div",null,n("calcite-select",{afterUpdate:e=>{const t=e.value;this._visibleOperators.includes(t)||(this.operator=this._visibleOperators[0])},bind:this,label:t.operator,required:!0,width:"full",onCalciteSelectChange:e=>{this.operator=e.currentTarget.value}},e.map((e=>this._renderOption(e,t.operators[e],i)))))}_renderOption(e,t,i){return n("calcite-option",{key:e,label:t??e,selected:e===i,value:e})}_renderValueInput(){const{valueAsString:e,domain:t,messages:i,operator:l}=this;if(!this._isValueInputHidden)return"coded-value"===t?.type&&t.codedValues.length&&"is"===l?n("div",{key:"value-select"},n("calcite-select",{afterCreate:()=>{this.value||(this.value=`${t.codedValues[0].code}`)},bind:this,label:i.value,required:!0,width:"full",onCalciteSelectChange:({currentTarget:e})=>{this._onValueChange(e.value)}},t.codedValues.map((({code:t,name:i})=>this._renderOption(`${t}`,i,e))))):n("div",{class:u.valueInputContainer,key:"value-input"},n("calcite-input",{label:i.value,type:this._valueInputType,value:e,onCalciteInputInput:({currentTarget:e})=>{this._onValueChange(e.value)}}))}_onValueChange(e){const{viewModel:t}=this;e&&""!==e?t.isStringField||t.isGlobalIDField?this.value=e.toString():(t.isNumericField||t.isObjectIDField)&&(this.value=parseFloat(e)):this.value=null}};e([t()],c.prototype,"_defaultFieldName",null),e([t()],c.prototype,"_valueInputType",null),e([t()],c.prototype,"_visibleOperators",null),e([t()],c.prototype,"_isValueInputHidden",null),e([t()],c.prototype,"domain",null),e([t()],c.prototype,"field",null),e([t()],c.prototype,"fields",null),e([t()],c.prototype,"fieldLabel",null),e([t()],c.prototype,"fieldName",null),e([t()],c.prototype,"layer",null),e([t(),s("esri/widgets/support/FilterCondition/t9n/FilterCondition")],c.prototype,"messages",void 0),e([t(),s("esri/t9n/common")],c.prototype,"messagesCommon",void 0),e([t()],c.prototype,"normalizedFieldName",null),e([t()],c.prototype,"operator",null),e([t()],c.prototype,"operators",null),e([t()],c.prototype,"state",null),e([t()],c.prototype,"value",null),e([t()],c.prototype,"valueAsString",null),e([t()],c.prototype,"viewModel",void 0),e([t()],c.prototype,"visibleElements",void 0),e([i("visibleElements")],c.prototype,"castVisibleElements",null),e([t()],c.prototype,"whereClause",null),c=e([l("esri.widgets.support.FilterCondition")],c);const m=c;export{m as default};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
+ */
5
+ import{_ as t}from"../../../chunks/tslib.es6.js";import e from"../../../Graphic.js";import o from"../../../core/Accessor.js";import s from"../../../core/Clonable.js";import r from"../../../core/Collection.js";import i from"../../../core/Identifiable.js";import{ignoreAbortErrors as a,debounce as n}from"../../../core/promiseUtils.js";import c from"../../../core/ReactiveMap.js";import{watch as l,initial as u}from"../../../core/reactiveUtils.js";import{property as d}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as y}from"../../../core/accessorSupport/decorators/subclass.js";import{isSubtypeSublayer as h}from"../../../layers/support/layerUtils.js";import p from"../../../rest/networks/support/NetworkElement.js";import m from"../../../rest/support/Query.js";import{featureUtilityNetworkFields as g}from"../../Feature/FeatureUtilityNetworkAssociations/resources.js";import{findUtilityNetwork as A}from"../../Feature/support/featureUtils.js";const b=100;let w=class extends(s.ClonableMixin(i.IdentifiableMixin(o))){constructor(t){super(t),this._loaded=!1,this._queryAbortController=null,this._queryPageAbortController=null,this._queryFeatureCountAbortController=null,this.networkSourceIdsInUse=new Set,this.source="popup",this.description=null,this.graphic=null,this.layer=null,this.map=null,this.featureCount=0,this.associationTypes=null,this.showAllEnabled=!1,this.title=null,this.attachmentsFeatureCount=0,this.structureFeatureCount=0,this.contentFeatureCount=0,this.containerFeatureCount=0,this.connectivityFeatureCount=0,this._queryOpenAssociationType=async()=>{this.activeAssociationType&&await this._queryDebounced(this.activeAssociationType)},this._cancelQuery=()=>{const{_queryAbortController:t}=this;t&&t.abort(),this._queryAbortController=null},this._cancelQueryFeatureCount=()=>{const{_queryFeatureCountAbortController:t}=this;t&&t.abort(),this._queryFeatureCountAbortController=null},this._queryController=async t=>{this._cancelQuery();const e=new AbortController;this._queryAbortController=e,await a(this._query(t)),this._queryAbortController===e&&(this._queryAbortController=null)},this._queryFeatureCountController=async()=>{this._loaded=!1,this._cancelQueryFeatureCount();const t=new AbortController;this._queryFeatureCountAbortController=t,await a(this._queryFeatureCount()),this._queryFeatureCountAbortController===t&&(this._queryFeatureCountAbortController=null),this._loaded=!0},this._queryDebounced=n(this._queryController,b),this._queryFeatureCountDebounced=n(this._queryFeatureCountController,b)}initialize(){this.addHandles([l((()=>[this.graphic,this.layer,this.map,this.associationTypes,this.objectId,this.globalId,this.canQuery]),(()=>this.refresh()),u),l((()=>this.activeAssociationType),(t=>this._queryDebounced(t)),u)])}destroy(){this._cancelQuery(),this._cancelQueryFeatureCount(),this._destroyAssociatedFeatureViewModels()}get supportsCacheHint(){return!!this.layer?.capabilities?.query?.supportsCacheHint}get canLoad(){return!!this.map&&!!this.associationTypes&&"string"==typeof this.globalId}get canQuery(){const t=this.layer?.capabilities?.query;return!!this.associationTypes&&"string"==typeof this.globalId&&!!t?.supportsPagination}set displayCount(t){const e=0,o=3;this._set("displayCount",Math.max(t??o,e))}get displayCount(){return this._get("displayCount")}get objectId(){return(this.objectIdField&&this.graphic?.attributes?.[this.objectIdField])??null}get objectIdField(){return this.layer?.objectIdField||null}get globalId(){return(this.globalIdField&&this.graphic?.attributes?.[this.globalIdField])??null}get globalIdField(){const{layer:t}=this;return t?.globalIdField}get activeAssociationType(){return this._get("activeAssociationType")}set activeAssociationType(t){t&&!this.associationTypes.includes(t)||this._set("activeAssociationType",t)}get state(){const{_queryAbortController:t,_queryFeatureCountAbortController:e,_queryPageAbortController:o,canQuery:s,_loaded:r,canLoad:i,source:a}=this;return e||i&&!r?"loading":t||o?"querying":!s||"popup"===a&&0===this.featureCount?"disabled":"ready"}get utilityNetwork(){const{layer:t,map:e}=this;if(!t?.loaded||!e)return null;const o=h(t)?t.parent:t;return A(e,o)}get attachmentsAssociations(){return this._get("attachmentsAssociations")||new r}get structureAssociations(){return this._get("structureAssociations")||new r}get contentAssociations(){return this._get("contentAssociations")||new r}get containerAssociations(){return this._get("containerAssociations")||new r}get connectivityAssociations(){return this._get("connectivityAssociations")||new r}get associationFeatures(){return this._get("associationFeatures")||new c}get associationViewModels(){return this._get("associationViewModels")||new Map}async refresh(){await this._queryFeatureCountDebounced(),await this._queryOpenAssociationType()}getFeatureCountForAssociationType(t){switch(t){case"attachment":return this.attachmentsFeatureCount;case"structure":return this.structureFeatureCount;case"content":return this.contentFeatureCount;case"container":return this.containerFeatureCount;case"connectivity":return this.connectivityFeatureCount}}_destroyAssociatedFeatureViewModels(){this.associationViewModels.forEach((t=>t.destroyAll()))}async _loadUtiltyNetworks(){const t=this.map;if(!t)return;await Promise.allSettled(t.utilityNetworks?.map((async t=>{await t.load()}))??[]);const e=this.utilityNetwork;if(e){const o=t=>{if("layerId"in t&&e.isUtilityLayer(t)){const o=e.getSourceIdByLayerId(t.layerId);null!==o&&this.networkSourceIdsInUse.add(o)}};this._set("networkSourceIdsInUse",new Set),t.allLayers.forEach(o),t.allTables.forEach(o)}}async _findLayersBySourceId(t){const{utilityNetwork:e,map:o}=this,s=t=>{const o=t;if(!t.url)return!1;if(o.layerId===r){return t.url.replace(/\/\d+$/,"")===e?.featureServiceUrl}return!1};await(e?.load());const r=e.getLayerIdBySourceId(t),i=o.allLayers.filter(s),a=o.allTables.filter(s),n=i.concat(a).toArray();return await Promise.allSettled(n.map((t=>t.load()))),n}_clearAssociations(){this.attachmentsAssociations.removeAll(),this.structureAssociations.removeAll(),this.contentAssociations.removeAll(),this.containerAssociations.removeAll(),this.connectivityAssociations.removeAll()}_clearFeatures(){this.associationFeatures.forEach((t=>t.removeAll())),this.associationFeatures.clear()}_getAssociationsByType(t){switch(t){case"attachment":return this.attachmentsAssociations;case"structure":return this.structureAssociations;case"connectivity":return this.connectivityAssociations;case"container":return this.containerAssociations;case"content":return this.contentAssociations}}async _queryLayer(t,e,o,s,r){const i=t.fieldsIndex.get(g.assetGroup),a=t.fieldsIndex.get(g.assetType),n=null!=o,c=null!=s,l="("+e.map((t=>`'${t}'`)).join(", ")+")",u=n?` AND ${i?.name} = ${o}`:"",d=n&&c?` AND ${a?.name} = ${s}`:"",y=`${t.globalIdField} IN ${l}`+u+d,h=new m({outFields:["*"],cacheHint:this.supportsCacheHint,where:y});return await this._queryAll(h,t,{signal:r?.signal})}async _createAssociationFeatureObjects(t,e,o,s,r,i){if(0===t.length)return[];const a=new Map;for(const[c,l]of e){const t=await this._findLayersBySourceId(c);for(const e of t){(await this._queryLayer(e,l,s,r,i)).forEach((t=>{if("popup"===this.source?t.layer&&t.getEffectivePopupTemplate():!!t.layer){const o=a.get(t.attributes[e.globalIdField])??[];o.push(t),a.set(t.attributes[e.globalIdField],o)}}))}}const n=[];return t.toArray().forEach((t=>{const{fromNetworkElement:e,toNetworkElement:s}=t,r=e.globalId===o?s:e;(a.get(r.globalId)??[]).forEach((e=>{const o=this.utilityNetwork?.getTerminalById(r?.terminalId)?.name;n.push({association:t,feature:e,terminalName:o})}))})),n}_parseFeatureObjects(t,e){t.forEach((t=>{const o=t?.feature,s=o.layer,i=e.get(s)??new r;i.add(t),e.set(s,i)}))}async _queryAll(t,e,o){const s=[];let r=0,i=!1;t.num=e.sourceJSON?.maxRecordCount??2e3;do{t.start=r;const a=await e.queryFeatures(t,o);s.push(...a.features),i=a.exceededTransferLimit,i&&(r+=a.features.length)}while(i);return s}async _queryAssociations(t){const{layer:e,globalId:o,associationTypes:s,utilityNetwork:r,canQuery:i}=this;if(await Promise.allSettled([e?.load(),r?.load()]),this._clearAssociations(),!(i&&e&&s&&r&&o))return;const a=h(e)?e.parent:e,n=new p({globalId:o,networkSourceId:r.getSourceIdByLayerId(a.layerId)}),c=new Set;s.forEach((t=>{switch(t.type){case"attachment":case"structure":c.add("attachment");break;case"container":case"content":c.add("containment");break;case"connectivity":c.add("connectivity"),c.add("junction-junction-connectivity"),c.add("junction-edge-from-connectivity"),c.add("junction-edge-midspan-connectivity"),c.add("junction-edge-to-connectivity")}}));const l=await(r?.queryAssociations({elements:[n],types:Array.from(c)},{signal:t?.signal})),u=new Map,d=new Map;s.forEach((t=>{d.set(t.type,t),u.set(t.type,[])})),l.forEach((t=>{const{toNetworkElement:e,fromNetworkElement:s}=t;switch(t.associationType){case"connectivity":case"junction-junction-connectivity":case"junction-edge-from-connectivity":case"junction-edge-midspan-connectivity":case"junction-edge-to-connectivity":if(s?.globalId===o){if(this._shouldDiscardNetworkElement(e,"connectivity",d))break;u.get("connectivity")?.push(e.globalId)}else{if(this._shouldDiscardNetworkElement(s,"connectivity",d))break;u.get("connectivity")?.push(s.globalId)}this.connectivityAssociations.add(t);break;case"containment":if(s?.globalId===o){if(this._shouldDiscardNetworkElement(e,"content",d))break;u.get("content")?.push(e.globalId),this.contentAssociations.add(t)}else{if(this._shouldDiscardNetworkElement(s,"container",d))break;u.get("container")?.push(s.globalId),this.containerAssociations.add(t)}break;case"attachment":if(s?.globalId===o){if(this._shouldDiscardNetworkElement(e,"attachment",d))break;u.get("attachment")?.push(e.globalId),this.attachmentsAssociations.add(t)}else{if(this._shouldDiscardNetworkElement(s,"structure",d))break;u.get("structure")?.push(s.globalId),this.structureAssociations.add(t)}}}));const y=s.map((async e=>{const{associatedNetworkSourceId:o,associatedAssetGroup:s,associatedAssetType:r}=e,i=u.get(e.type),a=null!=s?await this._countAssociatedFeatures(o,i,s,r,t):i.length;switch(e.type){case"attachment":this._set("attachmentsFeatureCount",a);break;case"structure":this._set("structureFeatureCount",a);break;case"content":this._set("contentFeatureCount",a);break;case"container":this._set("containerFeatureCount",a);break;case"connectivity":this._set("connectivityFeatureCount",a)}}));await Promise.allSettled(y)}async _countAssociatedFeatureCount(t,e,o,s,r){const i=t.fieldsIndex.get(g.assetGroup),a=t.fieldsIndex.get(g.assetType),n=null!=s,c="("+e.map((t=>`'${t}'`)).join(", ")+")",l=` AND ${i?.name} = ${o}`,u=n?` AND ${a?.name} = ${s}`:"",d=`${t.globalIdField} IN ${c}`+l+u;return t.queryFeatureCount({where:d,outFields:["*"],returnGeometry:!1},{signal:r?.signal})}async _countAssociatedFeatures(t,e,o,s,r){if(0===e.length)return 0;const i=(await this._findLayersBySourceId(t)).map((async t=>this._countAssociatedFeatureCount(t,e,o,s,r)));return(await Promise.all(i)).reduce(((t,e)=>t+e),0)}async _queryAssociatedFeatures(t,e){const{layer:o,globalId:s,associationTypes:r,utilityNetwork:i,canQuery:a,associationFeatures:n}=this;if(await Promise.allSettled([o?.load(),i?.load()]),!(a&&o&&r&&i))return;const c=this._getAssociationsByType(t.type),{associatedAssetGroup:l,associatedAssetType:u}=t,d=new Map;c.forEach((t=>{const{fromNetworkElement:e,toNetworkElement:o}=t,{networkSourceId:r,elementGlobalId:i}=e.globalId===s?{networkSourceId:o.networkSourceId,elementGlobalId:o.globalId}:{networkSourceId:e.networkSourceId,elementGlobalId:e.globalId},a=d.get(r)||[];a.push(i),d.set(r,a)}));const y=await this._createAssociationFeatureObjects(c,d,s,l,u,e);this._parseFeatureObjects(y,n)}async _queryFeatureCount(){await this._loadUtiltyNetworks();const{_queryFeatureCountAbortController:t,canQuery:e}=this;e?(await this._queryAssociations(t),this._set("featureCount",this.attachmentsFeatureCount+this.structureFeatureCount+this.contentFeatureCount+this.containerFeatureCount+this.connectivityFeatureCount)):this._set("featureCount",0)}async _query(t){if(!t)return;await this._loadUtiltyNetworks();const{_queryAbortController:e}=this;this._destroyAssociatedFeatureViewModels(),this._clearFeatures(),0!==this.featureCount&&(this.destroyed||await this._queryAssociatedFeatures(t,{signal:e?.signal}))}_shouldDiscardNetworkElement(t,e,o){if(!t)return!1;const{networkSourceIdsInUse:s}=this,{networkSourceId:r}=t,i=o.get(e)?.associatedNetworkSourceId,a=s.has(r);return null!=i&&i!==r||!a}};t([d()],w.prototype,"_loaded",void 0),t([d()],w.prototype,"_queryAbortController",void 0),t([d()],w.prototype,"_queryPageAbortController",void 0),t([d()],w.prototype,"_queryFeatureCountAbortController",void 0),t([d({readOnly:!0})],w.prototype,"supportsCacheHint",null),t([d({readOnly:!0})],w.prototype,"canLoad",null),t([d({readOnly:!0})],w.prototype,"canQuery",null),t([d()],w.prototype,"networkSourceIdsInUse",void 0),t([d({constructOnly:!0})],w.prototype,"source",void 0),t([d()],w.prototype,"description",void 0),t([d({value:3})],w.prototype,"displayCount",null),t([d({type:e})],w.prototype,"graphic",void 0),t([d()],w.prototype,"layer",void 0),t([d()],w.prototype,"map",void 0),t([d({readOnly:!0})],w.prototype,"objectId",null),t([d({readOnly:!0})],w.prototype,"objectIdField",null),t([d({readOnly:!0})],w.prototype,"globalId",null),t([d({readOnly:!0})],w.prototype,"globalIdField",null),t([d()],w.prototype,"featureCount",void 0),t([d()],w.prototype,"associationTypes",void 0),t([d()],w.prototype,"activeAssociationType",null),t([d()],w.prototype,"showAllEnabled",void 0),t([d()],w.prototype,"state",null),t([d()],w.prototype,"title",void 0),t([d({readOnly:!0})],w.prototype,"utilityNetwork",null),t([d({readOnly:!0})],w.prototype,"attachmentsFeatureCount",void 0),t([d({readOnly:!0})],w.prototype,"structureFeatureCount",void 0),t([d({readOnly:!0})],w.prototype,"attachmentsAssociations",null),t([d({readOnly:!0})],w.prototype,"structureAssociations",null),t([d({readOnly:!0})],w.prototype,"contentFeatureCount",void 0),t([d({readOnly:!0})],w.prototype,"containerFeatureCount",void 0),t([d({readOnly:!0})],w.prototype,"contentAssociations",null),t([d({readOnly:!0})],w.prototype,"containerAssociations",null),t([d({readOnly:!0})],w.prototype,"connectivityFeatureCount",void 0),t([d({readOnly:!0})],w.prototype,"connectivityAssociations",null),t([d({readOnly:!0})],w.prototype,"associationFeatures",null),t([d({readOnly:!0})],w.prototype,"associationViewModels",null),w=t([y("esri.widgets.support.UtilityNetworkAssociations.FeatureUtilityNetworkAssociationsViewModel")],w);const _=w;export{_ as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../intl.js";import t from"../../../core/ReactiveMap.js";import{watch as o}from"../../../core/reactiveUtils.js";import{property as i}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as r}from"../../../core/accessorSupport/decorators/subclass.js";import s from"../../Widget.js";import{loadCalciteComponents as n}from"../componentsUtils.js";import"../widgetUtils.js";import{messageBundle as a}from"../decorators/messageBundle.js";import{tsx as c}from"../jsxFactory.js";import l from"./UtilityNetworkAssociationsViewModel.js";import{substitute as u}from"../../../intl/substitute.js";const d="esri-utility-network-association-list",p={featureObserver:`${d}__feature-observer`,filterContainer:`${d}__filter-container`,limitNoticeContainer:`${d}__limit-notice-container`,loadingContainer:`${d}__loading-container`};let m=class extends s{constructor(e,o){super(e,o),this._isFeatureCountNoticeOpen=!0,this._observer=new IntersectionObserver((([e])=>{e?.isIntersecting&&this._increaseFeaturePage()}),{root:window.document}),this._observerNode=null,this.featuresPerPage=50,this.filterText="",this.headingLevel=5,this.maxFeatureCount=1e3,this.messagesFeature=null,this.messagesCommon=null,this.selectedLayer=null,this.tooltipReferenceMap=new t,this.viewModel=new l}initialize(){this.setUpObserver()}loadDependencies(){return n({icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),input:()=>import("@esri/calcite-components/dist/components/calcite-input"),loader:()=>import("@esri/calcite-components/dist/components/calcite-loader"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice")})}destroy(){this.tooltipReferenceMap.clear()}get associatedFeatureCount(){const e=this.viewModel.associationViewModels,t=this.selectedLayer?e.get(this.selectedLayer):null;return t?t.length:0}set currentFeaturePage(e){const{featuresPerPage:t,associatedFeatureCount:o}=this,i=Math.ceil(o/t)||1,r=Math.max(Math.min(e,i),1);this._set("currentFeaturePage",r)}get currentFeaturePage(){return this._get("currentFeaturePage")??1}get endIndex(){const{currentFeaturePage:e,featuresPerPage:t,maxFeatureCount:o}=this;return Math.min(e*t,o)}renderConnectivityIcon(e,t){const{tooltipReferenceMap:o}=this;let i;switch(e){case"junction-edge-from-connectivity":i="connection-end-left";break;case"junction-edge-to-connectivity":i="connection-end-right";break;case"junction-edge-midspan-connectivity":i="connection-middle";break;default:i="connection-to-connection"}return c("calcite-icon",{afterCreate:e=>o.set(t,e),afterRemoved:()=>o.delete(t),icon:i,scale:"s",slot:"content-start"})}renderFeatureCountWarning(){const{associatedFeatureCount:e,maxFeatureCount:t,messagesFeature:o}=this;return e>t?c("calcite-notice",{class:this._isFeatureCountNoticeOpen?p.limitNoticeContainer:void 0,closable:!0,icon:"information",kind:"info",open:!0,scale:"s",width:"full",onCalciteNoticeBeforeOpen:()=>this._isFeatureCountNoticeOpen=!0,onCalciteNoticeClose:()=>this._isFeatureCountNoticeOpen=!1},c("div",{slot:"title"},o.associationsLimitNoticeTitle),c("div",{slot:"message"},u(o.associationsLimitNoticeMessage,{number:t}))):null}renderFeatureObserver(){return c("div",{afterCreate:this._onObserverCreate,bind:this,class:p.featureObserver,key:"feature-observer"})}renderFilter(){return c("div",{class:p.filterContainer,key:"filter"},c("calcite-input",{icon:"search",placeholder:this.messagesFeature.associationFilterPlaceholder,type:"search",onCalciteInputInput:e=>{this.filterText=e.currentTarget.value.trim().toLowerCase(),this.currentFeaturePage=1}}))}renderLoading(){return c("div",{class:p.loadingContainer,key:"loading-container"},this.renderLoadingIcon())}renderLoadingIcon(){return c("calcite-loader",{inline:!0,label:this.messagesCommon.loading})}getConnectivityTooltip(e){const{messagesFeature:t}=this;switch(e){case"connectivity":case"junction-junction-connectivity":return t.associationsJunctionJunction;case"junction-edge-from-connectivity":return t.associationsJunctionEdgeFrom;case"junction-edge-midspan-connectivity":return t.associationsJunctionEdgeMidspan;case"junction-edge-to-connectivity":return t.associationsJunctionEdgeTo;default:return""}}setUpObserver(){this.addHandles(o((()=>this._observerNode),(()=>this._onObserverChange())))}_increaseFeaturePage(){this.currentFeaturePage++}async _onObserverChange(){this._observerNode&&this._observer.unobserve(this._observerNode);const{state:e,showAllEnabled:t}=this.viewModel;this._observerNode&&"ready"===e&&t&&this._observer.observe(this._observerNode)}_onObserverCreate(e){this._observerNode=e}};e([i()],m.prototype,"_observer",void 0),e([i()],m.prototype,"_observerNode",void 0),e([i()],m.prototype,"associatedFeatureCount",null),e([i()],m.prototype,"currentFeaturePage",null),e([i()],m.prototype,"endIndex",null),e([i()],m.prototype,"featuresPerPage",void 0),e([i()],m.prototype,"filterText",void 0),e([i()],m.prototype,"headingLevel",void 0),e([i()],m.prototype,"maxFeatureCount",void 0),e([i(),a("esri/widgets/Feature/t9n/Feature")],m.prototype,"messagesFeature",void 0),e([i(),a("esri/t9n/common")],m.prototype,"messagesCommon",void 0),e([i()],m.prototype,"selectedLayer",void 0),e([i()],m.prototype,"tooltipReferenceMap",void 0),e([i({type:l})],m.prototype,"viewModel",void 0),m=e([r("esri.widgets.support.UtilityNetworkAssociations.UtilityNetworkAssociationList")],m);const h=m;export{h as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../intl.js";import t from"../../../core/ReactiveMap.js";import{watch as o}from"../../../core/reactiveUtils.js";import{property as i}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as r}from"../../../core/accessorSupport/decorators/subclass.js";import s from"../../Widget.js";import{loadCalciteComponents as n}from"../componentsUtils.js";import"../widgetUtils.js";import{messageBundle as a}from"../decorators/messageBundle.js";import{tsx as c}from"../jsxFactory.js";import l from"./FeatureUtilityNetworkAssociationsViewModel.js";import{substitute as u}from"../../../intl/substitute.js";const d="esri-utility-network-association-list",p={featureObserver:`${d}__feature-observer`,filterContainer:`${d}__filter-container`,limitNoticeContainer:`${d}__limit-notice-container`,loadingContainer:`${d}__loading-container`};let m=class extends s{constructor(e,o){super(e,o),this._isFeatureCountNoticeOpen=!0,this._observer=new IntersectionObserver((([e])=>{e?.isIntersecting&&this._increaseFeaturePage()}),{root:window.document}),this._observerNode=null,this.featuresPerPage=50,this.filterText="",this.headingLevel=5,this.maxFeatureCount=1e3,this.messagesFeature=null,this.messagesCommon=null,this.selectedLayer=null,this.tooltipReferenceMap=new t,this.viewModel=new l}initialize(){this.setUpObserver()}loadDependencies(){return n({icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),input:()=>import("@esri/calcite-components/dist/components/calcite-input"),loader:()=>import("@esri/calcite-components/dist/components/calcite-loader"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice")})}destroy(){this.tooltipReferenceMap.clear()}get associatedFeatureCount(){const e=this.viewModel.associationViewModels,t=this.selectedLayer?e.get(this.selectedLayer):null;return t?t.length:0}set currentFeaturePage(e){const{featuresPerPage:t,associatedFeatureCount:o}=this,i=Math.ceil(o/t)||1,r=Math.max(Math.min(e,i),1);this._set("currentFeaturePage",r)}get currentFeaturePage(){return this._get("currentFeaturePage")??1}get endIndex(){const{currentFeaturePage:e,featuresPerPage:t,maxFeatureCount:o}=this;return Math.min(e*t,o)}renderConnectivityIcon(e,t){const{tooltipReferenceMap:o}=this;let i;switch(e){case"junction-edge-from-connectivity":i="connection-end-left";break;case"junction-edge-to-connectivity":i="connection-end-right";break;case"junction-edge-midspan-connectivity":i="connection-middle";break;default:i="connection-to-connection"}return c("calcite-icon",{afterCreate:e=>o.set(t,e),afterRemoved:()=>o.delete(t),icon:i,scale:"s",slot:"content-start"})}renderFeatureCountWarning(){const{associatedFeatureCount:e,maxFeatureCount:t,messagesFeature:o}=this;return e>t?c("calcite-notice",{class:this._isFeatureCountNoticeOpen?p.limitNoticeContainer:void 0,closable:!0,icon:"information",kind:"info",open:!0,scale:"s",width:"full",onCalciteNoticeBeforeOpen:()=>this._isFeatureCountNoticeOpen=!0,onCalciteNoticeClose:()=>this._isFeatureCountNoticeOpen=!1},c("div",{slot:"title"},o.associationsLimitNoticeTitle),c("div",{slot:"message"},u(o.associationsLimitNoticeMessage,{number:t}))):null}renderFeatureObserver(){return c("div",{afterCreate:this._onObserverCreate,bind:this,class:p.featureObserver,key:"feature-observer"})}renderFilter(){return c("div",{class:p.filterContainer,key:"filter"},c("calcite-input",{icon:"search",placeholder:this.messagesFeature.associationFilterPlaceholder,type:"search",onCalciteInputInput:e=>{this.filterText=e.currentTarget.value.trim().toLowerCase(),this.currentFeaturePage=1}}))}renderLoading(){return c("div",{class:p.loadingContainer,key:"loading-container"},this.renderLoadingIcon())}renderLoadingIcon(){return c("calcite-loader",{inline:!0,label:this.messagesCommon.loading})}getConnectivityTooltip(e){const{messagesFeature:t}=this;switch(e){case"connectivity":case"junction-junction-connectivity":return t.associationsJunctionJunction;case"junction-edge-from-connectivity":return t.associationsJunctionEdgeFrom;case"junction-edge-midspan-connectivity":return t.associationsJunctionEdgeMidspan;case"junction-edge-to-connectivity":return t.associationsJunctionEdgeTo;default:return""}}setUpObserver(){this.addHandles(o((()=>this._observerNode),(()=>this._onObserverChange())))}_increaseFeaturePage(){this.currentFeaturePage++}async _onObserverChange(){this._observerNode&&this._observer.unobserve(this._observerNode);const{state:e,showAllEnabled:t}=this.viewModel;this._observerNode&&"ready"===e&&t&&this._observer.observe(this._observerNode)}_onObserverCreate(e){this._observerNode=e}};e([i()],m.prototype,"_observer",void 0),e([i()],m.prototype,"_observerNode",void 0),e([i()],m.prototype,"associatedFeatureCount",null),e([i()],m.prototype,"currentFeaturePage",null),e([i()],m.prototype,"endIndex",null),e([i()],m.prototype,"featuresPerPage",void 0),e([i()],m.prototype,"filterText",void 0),e([i()],m.prototype,"headingLevel",void 0),e([i()],m.prototype,"maxFeatureCount",void 0),e([i(),a("esri/widgets/Feature/t9n/Feature")],m.prototype,"messagesFeature",void 0),e([i(),a("esri/t9n/common")],m.prototype,"messagesCommon",void 0),e([i()],m.prototype,"selectedLayer",void 0),e([i()],m.prototype,"tooltipReferenceMap",void 0),e([i({type:l})],m.prototype,"viewModel",void 0),m=e([r("esri.widgets.support.UtilityNetworkAssociations.UtilityNetworkAssociationList")],m);const h=m;export{h as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{formatNumber as n}from"../../../intl/number.js";function t(t){const{percentAlong:c}=t;return null==c?"":n(c,{style:"percent",maximumFractionDigits:2})}function c(n){const{associationType:t}=n;return"connectivity"===t||"junction-junction-connectivity"===t||"junction-edge-from-connectivity"===t||"junction-edge-midspan-connectivity"===t||"junction-edge-to-connectivity"===t}function i(n){return"junction-edge-midspan-connectivity"===n.associationType}function e(n){const{attributes:t,sourceLayer:c}=n??{},i=c&&"displayField"in c?c.displayField:null,e=i?t?.[i]:null,o=n?.getObjectId()?.toString();return e||o||""}function o(n,t,c){const{associationType:i}=n;switch(i){case"attachment":return"to"===t?c.attachment:c.structure;case"containment":return"to"===t?c.content:c.container;case"junction-edge-from-connectivity":case"junction-edge-midspan-connectivity":case"junction-junction-connectivity":case"connectivity":return c.connectivity}return""}export{t as formatPercentAlong,o as getAssociationTitle,e as getFeatureTitle,c as isConnectivity,i as isConnectivityMidspan};
5
+ import{generateGlobalId as t}from"../../../editing/sharedTemplates/executor/support/createServiceEdit.js";import{formatNumber as e}from"../../../intl/number.js";import{isSubtypeSublayer as n}from"../../../layers/support/layerUtils.js";import o from"../../../rest/networks/support/Association.js";import i from"../../../rest/networks/support/NetworkElement.js";function r(t){const{percentAlong:n}=t;return null==n?"":e(n,{style:"percent",maximumFractionDigits:2})}function c(t){const{associationType:e}=t;return"connectivity"===e||"junction-junction-connectivity"===e||"junction-edge-from-connectivity"===e||"junction-edge-midspan-connectivity"===e||"junction-edge-to-connectivity"===e}function a(t){return"junction-edge-midspan-connectivity"===t.associationType}function s(t){const{attributes:e,sourceLayer:n}=t??{},o=n&&"displayField"in n?n.displayField:null,i=o?e?.[o]:null,r=t?.getObjectId()?.toString();return i||r||""}function l(t,e,n){const{associationType:o}=t;switch(o){case"attachment":return"to"===e?n.attachment:n.structure;case"containment":return"to"===e?n.content:n.container;case"junction-edge-from-connectivity":case"junction-edge-to-connectivity":case"junction-edge-midspan-connectivity":case"junction-junction-connectivity":case"connectivity":return n.connectivity}}function u(t,e){return!!(t.layer&&"globalIdField"in t.layer&&t.layer.globalIdField&&e.fromNetworkElement)&&t.attributes[t.layer.globalIdField]===e.fromNetworkElement.globalId}function d(t,e){const o=e.getTerminalConfiguration(t),r=o?.terminals.at(0)?.id,c=n(t.sourceLayer)?t.sourceLayer.parent:t.sourceLayer;if(c&&"globalIdField"in c&&"layerId"in c&&c.globalIdField){const n=c.fieldsIndex.get("assetGroup").name,o=c.fieldsIndex.get("assetType").name,a=t.attributes[n],s=t.attributes[o],l=t.attributes[c.globalIdField],u=e.getSourceIdByLayerId(c.layerId);if(l&&null!=u)return new i({globalId:l,networkSourceId:u,assetGroupCode:a,assetTypeCode:s,terminalId:r})}}function y(e){return new o({fromNetworkElement:d(e.fromFeature,e.utilityNetwork),toNetworkElement:d(e.toFeature,e.utilityNetwork),associationType:e.associationType,globalId:t()})}export{y as createAssociation,r as formatPercentAlong,l as getAssociationTitle,s as getFeatureTitle,c as isConnectivity,a as isConnectivityMidspan,u as isFromElement};
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3299],{90293:(e,t,n)=>{n(79187),n(55537),n(35368),n(95213),n(83661);var r=n(12189),i=n(83047),s=n(21325);(0,r.i)((e=>{let t,n;"number"==typeof e?t=e:n=e;const r={wkid:t,wkt:n};let a,o;if(n){a=(0,i.x1)(n);const e=(0,s.EA)(r);if(!a&&!e)throw new Error(`Unsupported WKT type: ${n}`)}else a=!(0,s.EA)(r);return o=t&&i.yD.has(t)?Math.PI/200:a?(0,i.Ao)(r):Math.PI/180,{isPCS:a,metersOrRadiansPerUnit:o,semiMajor:0,wkidOrWkt:e}}))},83299:(e,t,n)=>{n.r(t),n.d(t,{fromGeometries:()=>ue,fromGeometry:()=>me,fromGeometryToGXGeometry:()=>le,getSpatialReference:()=>ae,toGeometry:()=>ce});var r=n(55537),i=n(83661),s=n(12189),a=n(95213),o=n(35368);function u(){if(-1===this.m_i)return this.m_i=0,{value:{m_token:1,m_value:null},done:!1};if(this.m_i<this.m_keys.length){const e=this.m_bReturnKey,t=Math.trunc(this.m_i);return this.m_bReturnKey=!this.m_bReturnKey,this.m_i+=.5,e?{value:{m_token:5,m_value:this.m_keys[t]},done:!1}:{value:{m_token:6,m_value:this.m_o[this.m_keys[t]]},done:!1}}return{value:{m_token:3,m_value:null},done:!0}}function m(){if(-1===this.m_i)return this.m_i=0,{value:{m_token:2,m_value:null},done:!1};if(this.m_i<this.m_a.length){const e={value:{m_token:6,m_value:this.m_a[this.m_i++]},done:!1};return this.m_strict||void 0===e.value.m_value&&(e.value.m_value=Number.NaN),e}return{value:{m_token:4,m_value:null},done:!0}}n(90293);class l{createJSONObjectIterator(e){return{m_iteratorType:"object",m_o:e,m_keys:this.m_options.strict?Object.keys(e):Object.keys(e).filter((t=>void 0!==e[t])),m_i:-1,m_bReturnKey:!0,next:u}}createJSONArrayIterator(e){return{m_iteratorType:"array",m_strict:this.m_options.strict,m_i:-1,m_a:e,next:m}}constructor(e,t){this.m_currentToken=0,this.m_options=t?{...t}:{strict:!0};const n=e;this.m_iteratorStack=[n instanceof Array?this.createJSONArrayIterator(n):this.createJSONObjectIterator(n)],this.m_nextFlatToken={m_value:null,m_token:0}}nextToken(){if(0===this.m_iteratorStack.length)return this.m_currentToken=0;switch(this.m_nextFlatToken=this.m_iteratorStack.at(-1).next().value,this.m_currentValue=void 0,this.m_nextFlatToken.m_token){case 1:return this.m_currentToken=1;case 3:return this.m_iteratorStack.pop(),this.m_currentToken=3;case 2:return this.m_currentToken=2;case 4:return this.m_iteratorStack.pop(),this.m_currentToken=4;case 5:return this.m_currentValue=this.m_nextFlatToken.m_value,this.m_currentToken=5;case 6:if(this.m_nextFlatToken.m_value instanceof Array)return this.m_iteratorStack.push(this.createJSONArrayIterator(this.m_nextFlatToken.m_value)),this.nextToken();if(this.m_nextFlatToken.m_value instanceof Object)return this.m_iteratorStack.push(this.createJSONObjectIterator(this.m_nextFlatToken.m_value)),this.nextToken();if("number"==typeof this.m_nextFlatToken.m_value)return this.m_currentValue=this.m_nextFlatToken.m_value,Number.isSafeInteger(this.m_currentValue)&&this.m_currentValue>=(0,i.am)()&&this.m_currentValue<=(0,i.i)()?this.m_currentToken=8:this.m_currentToken=7;if("string"==typeof this.m_nextFlatToken.m_value)return this.m_currentValue=this.m_nextFlatToken.m_value,this.m_currentToken=6;if("boolean"==typeof this.m_nextFlatToken.m_value)return this.m_currentValue=this.m_nextFlatToken.m_value,this.m_currentToken=this.m_nextFlatToken.m_value?11:12;if("object"==typeof this.m_nextFlatToken.m_value)return this.m_currentValue=null,this.m_currentToken=10;(0,r.c)("unrecognized json element type")}return(0,r.c)("unrecognized json element type"),0}currentToken(){return this.m_currentToken}skipChildren(){if(0!==this.m_iteratorStack.length)switch(this.m_currentValue=void 0,this.m_nextFlatToken.m_token){case 1:return this.m_iteratorStack.pop(),this.m_nextFlatToken.m_token=3,void(this.m_currentToken=3);case 2:return this.m_iteratorStack.pop(),this.m_nextFlatToken.m_token=4,void(this.m_currentToken=4)}}currentString(){return 6!==this.m_currentToken&&5!==this.m_currentToken&&(0,r.t)("invalid token"),this.m_currentValue}currentDoubleValue(){return 7!==this.m_currentToken&&8!==this.m_currentToken&&(0,r.t)("invalid token"),this.m_currentValue}currentInt32Value(){return 8!==this.m_currentToken&&(0,r.t)("invalid token"),this.m_currentValue}currentInt64Value(){return(0,r.g)(0),0n}currentBoolValue(){return 12!==this.m_currentToken&&11!==this.m_currentToken&&(0,r.t)("invalid token"),this.m_currentValue}isError(){return 0}}class c{constructor(e){return this.m_buffer=null,this.m_view=null,this.m_sz=0,this.m_offset=0,this.m_bOwnsBuffer=!0,this.m_bLittleEndian=!0,this.m_element=new ArrayBuffer(8),this.m_elementBytes=new Uint8Array(this.m_element),this.m_elementView=new DataView(this.m_element),this.m_elementDouble=new Float64Array(this.m_element),this.m_elementFloat=new Float32Array(this.m_element),this.m_elementInt64=new BigInt64Array(this.m_element),this.m_elementInt32=new Int32Array(this.m_element),this.m_elementInt16=new Int16Array(this.m_element),void 0!==e.sz?(this.m_sz=e.sz,e.buffer?(this.m_sz<0&&(0,r.n)("size out of range"),this.m_buffer=e.buffer,this.m_offset=void 0!==e.offset?e.offset:0,this.m_view=void 0!==e.offset?new DataView(e.buffer,e.offset,e.sz):new DataView(this.m_buffer),this.m_bOwnsBuffer=!1,void(this.m_bLittleEndian=!0)):(this.m_sz<0&&(0,r.n)("size out of range"),void(this.m_sz>0&&(this.m_buffer=new ArrayBuffer(this.m_sz),this.m_view=new DataView(this.m_buffer))))):e.move?(this.m_sz=e.move.m_sz,this.m_buffer=e.move.m_buffer,this.m_view=e.move.m_view,this.m_bOwnsBuffer=e.move.m_bOwnsBuffer,this.m_bLittleEndian=e.move.m_bLittleEndian,e.move.m_buffer=null,e.move.m_view=null,e.move.m_sz=0,void(e.move.m_bOwnsBuffer=!0)):void(0,r.c)("unrecognized constructor options")}swapBytesDouble(){this.doSwap()&&(this.m_elementDouble[0]=this.m_elementBytes[0]<<56|this.m_elementBytes[1]<<48|this.m_elementBytes[2]<<40|this.m_elementBytes[3]<<32|this.m_elementBytes[4]<<24|this.m_elementBytes[5]<<16|this.m_elementBytes[6]<<8|this.m_elementBytes[7])}swapBytesInt32(){this.doSwap()&&(this.m_elementInt32[0]=this.m_elementBytes[0]<<24|this.m_elementBytes[1]<<16|this.m_elementBytes[2]<<8|this.m_elementBytes[3])}getOffset(){return this.m_offset}assignMove(e){return this===e||(this.clear(),this.m_sz=e.m_sz,this.m_buffer=e.m_buffer,this.m_view=e.m_view,this.m_bOwnsBuffer=e.m_bOwnsBuffer,this.m_bLittleEndian=e.m_bLittleEndian,e.m_buffer=null,e.m_sz=0,e.m_bOwnsBuffer=!0),this}doSwap(){return this.m_bLittleEndian!==(1===c.getNativeByteOrder())}setNativeByteOrder(){this.m_bLittleEndian=1===c.getNativeByteOrder()}setOrder(e){this.m_bLittleEndian=1===e}getOrder(){return this.m_bLittleEndian?1:0}getView(){return this.m_view||(0,r.m)("buffer not defined"),this.m_view}static getNativeByteOrder(){return 1}clear(){this.m_buffer=null,this.m_sz=0,this.m_bOwnsBuffer=!0}size(){return this.m_sz}readDouble(e){return this.doSwap()?(this.m_elementDouble[0]=this.m_view.getFloat64(e,this.m_bLittleEndian),this.swapBytesDouble(),this.m_elementDouble[0]):this.m_view.getFloat64(e,this.m_bLittleEndian)}writeDouble(e,t){this.m_elementDouble[0]=t,this.swapBytesDouble(),this.m_view.setFloat64(e,this.m_elementDouble[0],this.m_bLittleEndian)}readInt32(e){return this.doSwap()?(this.m_elementInt32[0]=this.m_view.getInt32(e,this.m_bLittleEndian),this.swapBytesInt32(),this.m_elementInt32[0]):this.m_view.getInt32(e,this.m_bLittleEndian)}writeInt32(e,t){this.m_elementInt32[0]=t,this.swapBytesInt32(),this.m_view.setInt32(e,this.m_elementInt32[0],this.m_bLittleEndian)}getPtr(){return this.m_buffer}setSizeNoRealloc(e){(0,r.g)(e>=0&&e<=this.m_sz),this.m_sz=e}}function d(e){let t=!1;for(;3!==e.nextToken();){const n=e.currentString();e.nextToken(),"uwkid"===n?t||(t=!0,8===e.currentToken()&&e.currentInt32Value()):e.skipChildren()}return null}function h(e){let t=!1,n=!1,r=!1,i=!1,a=!1,o=!1,u=!1,m=!1,l=!1,c=!1,h=!1,_=!1,f=!1,p=!1,k=!1,b=!1,y=!1,g=-1,T=-1,N=-1,v=-1,A=0,x=0,S=0,w=0,C=0,D=0,F=0,j=0,I=0,O=0,z="",E="",P=null;for(;3!==e.nextToken();){const s=e.currentString();e.nextToken(),"wkid"===s?t||(t=!0,8===e.currentToken()&&(g=e.currentInt32Value())):"latestWkid"===s?n||(n=!0,8===e.currentToken()&&(T=e.currentInt32Value())):"wkt"===s?a||(a=!0,6===e.currentToken()&&(z=e.currentString())):"wkt2"===s?a||6===e.currentToken()&&(E=e.currentString()):"vcsWkid"===s?r||(r=!0,8===e.currentToken()&&(N=e.currentInt32Value())):"latestVcsWkid"===s?i||(i=!0,8===e.currentToken()&&(v=e.currentInt32Value())):"xyTolerance"===s?u||(u=!0,o=!0,A=e.currentDoubleValue()):"zTolerance"===s?m||(m=!0,o=!0,x=e.currentDoubleValue()):"mTolerance"===s?l||(l=!0,o=!0,S=e.currentDoubleValue()):"falseX"===s?c||(c=!0,o=!0,F=e.currentDoubleValue()):"falseY"===s?h||(h=!0,o=!0,j=e.currentDoubleValue()):"falseZ"===s?_||(_=!0,o=!0,I=e.currentDoubleValue()):"falseM"===s?f||(f=!0,o=!0,O=e.currentDoubleValue()):"xyUnits"===s?p||(p=!0,o=!0,w=e.currentDoubleValue()):"zUnits"===s?k||(k=!0,o=!0,C=e.currentDoubleValue()):"mUnits"===s?b||(b=!0,o=!0,D=e.currentDoubleValue()):"unit"===s?y||(y=!0,P=d(e)):e.skipChildren()}v<=0&&N>0&&(v=N),N<=0&&v>0&&(N=v);let G=null,B=!0;if(0!==z.length&&(B=!1,(0,s.aA)(z)&&(G=(0,s.a)(z))),G||0===E.length||(B=!1,(0,s.aA)(E)&&(G=(0,s.a)(E))),!G&&T>0&&(B=!1,(0,s.aB)(T)&&(v<=0||(0,s.aC)())&&(G=(0,s.c)(T,v))),!G&&g>0&&(B=!1,(0,s.aB)(g)&&(N<=0||(0,s.aC)())&&(G=(0,s.c)(g,N))),B&&(G=(0,s.z)(P)),o&&G){const e=new s.aE;G.queryPrecisionDescriptorWithoutFalseXY(e),u&&e.setTolerance(0,A),m&&e.setTolerance(1,x),l&&e.setTolerance(2,S),p&&c&&h&&e.setGridParams(F,j,w),k&&_&&e.setZParams(I,C),b&&f&&e.setMParams(O,D),G=(0,s.aD)(G,e)}return G}function _(e,t,n,s){2!==s.currentToken()&&(0,r.t)("failed to parse multipath: array of array of vertices is expected");const u=e?new o.a:new o.P,m=u,l=(0,a.y)(0),c=(0,a.D)(2,0),d=(0,a.z)(0);let h=null,_=null,f=null,p=null,b=null,N=0,v=0,A=0;const x=new o.S,S=i.P.getNAN();let w=0,C=0;const D=e?1:0;for(;4!==s.nextToken();){2!==s.currentToken()&&(0,r.t)("failed to parse multipath: ring/path array is expected");let n=2,u=0,F=!0;const j=4;let I=0,O=0;const z=i.P.getNAN(),E=new Array(j),P=new Array(j);let G=!1;for(s.nextToken();4!==s.currentToken();){if(t&&1===s.currentToken())F&&(0,r.t)("failed to parse multipath: starting vertex array is expected"),f||(f=(0,a.z)(w-1,1),p=(0,a.y)(w-1,-1),b=(0,a.D)(0)),G=!0,n=1,({segFlag:A,toPointSz:I}=T(x,E,S,s));else{for(G=!1,2!==s.currentToken()&&(0,r.t)("failed to parse multipath: array is expected, rings/paths vertices consist of arrays of coordinates"),I=0;4!==s.nextToken();)I===j&&(0,r.t)("failed to parse multipath: each vertex array has to have at most 4 elements"),E[I++]=k(s);I<2&&(0,r.t)("failed to parse multipath: each vertex array has to have at least 2 elements"),(0,a.J)(E[0],E[1])||(0,r.t)("failed to parse multipath: x and y must be finite")}s.nextToken();do{if(c.size()===2*w&&c.resize(y(w)),c.writePoint2D(2*w,z.setCoords(E[0],E[1])),h&&h.size()===w&&h.resize(g(w)),I>2?(h||(h=(0,a.D)(w+1,Number.NaN)),h.write(w,E[2])):h&&h.write(w,Number.NaN),_&&_.size()===w&&_.resize(g(w)),I>3?(_||(_=(0,a.D)(w+1,Number.NaN)),_.write(w,E[3])):_&&_.write(w,Number.NaN),F)C++,l.add(w),d.add(D),F=!1,O=I,(0,i.a)(P,E,0,0,O);else if(null!==f)if(G){const e=(0,o.H)(A),t=b.size();b.resize(t+e),f.add(A),p.add(N),x.get().writeInBufferStream(b,N),N+=e,m.incCurveType(A,1),v++}else f.add(1),p.add(-1);w++,u++,S.setCoords(E[0],E[1])}while(u<n&&4===s.currentToken())}0!==u&&(e&&u>n&&I===O&&0===(0,i.an)(E,P,I)?(w--,u--):null!==f&&(f.add(1),p.add(-1)))}return w&&(l.resize(C),d.resize(C),w>0&&(l.add(w),d.add(0)),m.setAttributeStreamRef(0,c),m.setPathFlagsStreamRef(d),m.setPathStreamRef(l),null!==f&&(m.updateCurveCounter(v),m.setSegmentData(p,b,f,N)),m.notifyModifiedFlags(65535)),{geometry:u,as:h,bs:_}}function f(e,t){2!==t.currentToken()&&(0,r.t)("failed to parse multipoint: array of vertices is expected");let n=0;const s=new o.M,u=(0,a.D)(2,0);let m=0;const l=new Array(4),c=new i.P;let d=null,h=null;for(;4!==t.nextToken();){for(2!==t.currentToken()&&(0,r.t)("failed to parse multipoint: array is expected, multipoint vertices consist of arrays of cooridinates"),m=0;4!==t.nextToken();)4===m&&(0,r.t)("failed to parse multipoint: each vertex array has to have at most 4 elements"),l[m++]=k(t);m<2&&(0,r.t)("failed to parse multipoint: each vertex array has to have at least 2 elements"),(0,a.J)(l[0],l[1])||(0,r.t)("failed to parse multipoint: x and y must be finite"),u.size()===2*n&&u.resize(y(n)),u.writePoint2D(2*n,c.setCoords(l[0],l[1])),d&&d.size()===n&&d.resize(g(n)),m>2?(d||(d=(0,a.D)(n+1,Number.NaN)),d.write(n,l[2])):d&&d.write(n,Number.NaN),h&&h.size()===n&&h.resize(g(n)),m>3?(h||(h=(0,a.D)(n+1,Number.NaN)),h.write(n,l[3])):h&&h.write(n,Number.NaN),n++}if(n){const e=s.getImpl();e.setAttributeStreamRef(0,u),e.resizeNoInit(n),e.notifyModifiedFlags(65535)}return{geometry:s,as:d,bs:h}}function p(e,t){2!==t.currentToken()&&(0,r.t)("failed to parse array of IDs: array of array of integers is expected");const n=(0,a.K)(2,0);let i=0,s=-1;for(;4!==t.nextToken();){const e=i;n.size()===i&&n.resize(g(i)),i++;let a=0;for(-1===s?s=2===t.currentToken()?1:0:1===s&&2!==t.currentToken()&&(0,r.t)("failed to parse array of IDs: array of array of integers is expected"),0===s&&(n.size()===i&&n.resize(g(i)),n.write(i,b(t)),a++,i++);4!==t.nextToken();)n.size()===i&&n.resize(g(i)),n.write(i,b(t)),a++,i++;if(n.write(e,a),0===s)break}return n.resize(i),n}function k(e){const t=e.currentToken();if(10===t||6===t&&"NaN"===e.currentString())return Number.NaN;{const t=e.currentDoubleValue();return Number.isNaN(t)?Number.NaN:t}}function b(e){return e.currentInt32Value()}function y(e){let t=2*Math.trunc(3*(e+1)/2);return t<8?t=8:t<32&&(t=32),t}function g(e){let t=Math.trunc(3*(e+1)/2);return t<4?t=4:t<16&&(t=16),t}function T(e,t,n,s,a){const u={segFlag:0,toPointSz:0};let m=s.currentToken();m=s.nextToken();const l=s.currentString(),d=l[0];for((1!==l.length||"a"!==d&&"b"!==d&&"c"!==d&&"n"!==d&&"q"!==d)&&(0,r.t)('failed to parse curve: expecting "a", "b", "n", "q", or "c"'),m=s.nextToken(),2!==m&&(0,r.t)("failed to parse curve: start array is expected for curve parameters"),m=s.nextToken(),2!==m&&(0,r.t)("failed to parse curve: start array is expected for to point"),u.toPointSz=0;4!==s.nextToken();)4===u.toPointSz&&(0,r.t)("failed to parse curve: vertex array cannot have more than 4 elements"),t[u.toPointSz++]=k(s);u.toPointSz<2&&(0,r.t)("failed to parse curve: vertex array must have at least 2 elements");const h=i.P.construct(t[0],t[1]),_=i.P.getNAN();let f=-1,p=-1,b=!1,y=Number.NaN,g=Number.NaN,T=Number.NaN;const v=[i.P.getNAN(),i.P.getNAN(),i.P.getNAN()],A=i.P.getNAN();if("a"===d){m=s.nextToken(),2!==m&&(0,r.t)("failed to parse curve: start array is expected for center point"),m=s.nextToken();const e=k(s);m=s.nextToken();const t=k(s);m=s.nextToken(),4!==m&&(0,r.t)("failed to parse curve: end array is expected for center point"),_.setCoords(e,t),m=s.nextToken(),f=s.currentInt32Value(),m=s.nextToken(),p=s.currentInt32Value(),m=s.nextToken(),4!==m?(b=!1,y=k(s),m=s.nextToken(),g=k(s),m=s.nextToken(),T=k(s),m=s.nextToken(),4!==m&&(0,r.t)("failed to parse curve: end array is expected for curve parameters")):b=!0,u.segFlag=4}else if("b"===d){for(let e=0;e<2;e++){m=s.nextToken(),2!==m&&(0,r.t)("failed to parse curve: start array is expected for control point"),m=s.nextToken();const t=k(s);m=s.nextToken();const n=k(s);m=s.nextToken(),4!==m&&(0,r.t)("failed to parse curve: end array is expected for control point"),v[e].setCoords(t,n)}m=s.nextToken(),4!==m&&(0,r.t)("failed to parse curve: end array is expected for curve parameters"),u.segFlag=2}else if("n"===d){{m=s.nextToken(),2!==m&&(0,r.t)("failed to parse curve: start array is expected for control point"),m=s.nextToken();const e=k(s);m=s.nextToken();const t=k(s);m=s.nextToken(),4!==m&&(0,r.t)("failed to parse curve: end array is expected for control point"),v[0].setCoords(e,t)}m=s.nextToken();const e=k(s);m=s.nextToken();const t=k(s);m=s.nextToken();const n=k(s);v[1].setCoords(e,t),v[2].setCoords(n,n),m=s.nextToken(),4!==m&&(0,r.t)("failed to parse curve: end array is expected for curve parameters"),u.segFlag=8}else if("q"===d){for(let e=0;e<1;e++){m=s.nextToken(),2!==m&&(0,r.t)("failed to parse curve: start array is expected for control point"),m=s.nextToken();const t=k(s);m=s.nextToken();const n=k(s);m=s.nextToken(),4!==m&&(0,r.t)("failed to parse curve: end array is expected for control point"),v[e].setCoords(t,n)}m=s.nextToken(),4!==m&&(0,r.t)("failed to parse curve: end array is expected for curve parameters"),u.segFlag=16}else{m=s.nextToken(),2!==m&&(0,r.t)("failed to parse curve: start array is expected for interior point"),m=s.nextToken();const e=k(s);m=s.nextToken();const t=k(s);m=s.nextToken(),4!==m&&(0,r.t)("failed to parse curve: end array is expected for interior point"),A.setCoords(e,t),m=s.nextToken(),4!==m&&(0,r.t)("failed to parse curve: end array is expected for curve parameters"),u.segFlag=4}if(m=s.nextToken(),3!==m&&(0,r.t)("failed to parse curve: end object is expected for curve"),"a"===d)if(e.createEllipticArc(),b){const t=!0;N(e.get(),n,h,_,t,f,p)}else!function(e,t,n,r,i,s,a,u,m){e.dropAllAttributes();const l=new ArrayBuffer(44),d=new c({sz:44,buffer:l});let h=0;d.writeDouble(h,r.x),h+=8,d.writeDouble(h,r.y),h+=8,d.writeDouble(h,a),h+=8,d.writeDouble(h,u),h+=8,d.writeDouble(h,m),h+=8;let _=0;s||(_|=2048),i&&(_|=4096),d.writeInt32(h,_),h+=4,function(e,t,n,r){e.m_bits=0,e.m_center.x=r.readDouble(0),e.m_center.y=r.readDouble(8),e.m_rotation=r.readDouble(16),e.m_semiMajorAxis=r.readDouble(24),e.m_minorMajorRatio=r.readDouble(32),e.m_XStart=t.x,e.m_YStart=t.y,e.m_XEnd=n.x,e.m_YEnd=n.y;const i=r.readInt32(40);if(1&i)return!1;let s=!!(64&i),a=!!(128&i);const u=!!(2048&i),m=!!(4096&i);!(512&i)&&!(1024&i)||a||(s=!0),a&&!t.equals(n)?(a=!1,s=!0):s&&t.equals(n)&&(a=!0,s=!1),a?(e.m_center.assign(t),e.m_startAngle=e.m_center.x,e.m_sweepAngle=e.m_center.y,(0,o.F)(e,Number.NaN,u,m),e.m_semiMajorAxis=0,e.m_interior.setCoordsPoint2D(t)):s?(e.m_center.setNAN(),e.m_semiMajorAxis=1,e.m_minorMajorRatio=0,e.m_center.setNAN(),e.m_sweepAngle=0,e.m_startAngle=0,(0,o.A)(e),e.queryCoord2D(.5,e.m_interior)):e.constructEllipticArcEndPointsCenter(t,n,e.m_semiMajorAxis,e.m_minorMajorRatio,e.m_rotation,!m,u,e.m_center),e.setProjectionBehavior(1),(0,o.A)(e)}(e,t,n,d)}(e.get(),n,h,_,f,p,y,g,T);else if("b"===d)e.createCubicBezier(),function(e,t,n,s){e.dropAllAttributes();const a=new ArrayBuffer(32),o=new c({sz:32,buffer:a});let u=0;o.writeDouble(u,s[0].x),u+=8,o.writeDouble(u,s[0].y),u+=8,o.writeDouble(u,s[1].x),u+=8,o.writeDouble(u,s[1].y),u+=8,function(e,t,n,s){(0,r.g)(32<=s.size()),e.m_cp=(0,i.m)(i.P,2),e.m_cp[0].x=s.readDouble(0),e.m_cp[0].y=s.readDouble(8),e.m_cp[1].x=s.readDouble(16),e.m_cp[1].y=s.readDouble(24),e.m_XStart=t.x,e.m_YStart=t.y,e.m_XEnd=n.x,e.m_YEnd=n.y}(e,t,n,o)}(e.get(),n,h,v);else if("n"===d)e.createQuadraticRationalBezier(),function(e,t,n,r,i,s,a){e.dropAllAttributes();const o=new ArrayBuffer(40),u=new c({sz:40,buffer:o});let m=0;u.writeDouble(m,r.x),m+=8,u.writeDouble(m,r.y),m+=8,u.writeDouble(m,i),m+=8,u.writeDouble(m,s),m+=8,u.writeDouble(m,a),m+=8,function(e,t,n,r){e.m_cp.x=r.readDouble(0),e.m_cp.y=r.readDouble(8),e.m_weights[0]=r.readDouble(16),e.m_weights[1]=r.readDouble(24),e.m_weights[2]=r.readDouble(32),e.m_XStart=t.x,e.m_YStart=t.y,e.m_XEnd=n.x,e.m_YEnd=n.y}(e,t,n,u)}(e.get(),n,h,v[0],v[1].x,v[1].y,v[2].x);else if("q"===d)e.createQuadraticBezier(),e.get().construct(n,v[0],h);else{e.createEllipticArc();const t=!1;N(e.get(),n,h,A,t,-1,-1)}return u}function N(e,t,n,s,a,u,m){e.dropAllAttributes();const l=new ArrayBuffer(20),d=new c({sz:20,buffer:l});let h=0;d.writeDouble(h,s.x),h+=8,d.writeDouble(h,s.y),h+=8;let _=0;a?(m||(_|=8),u&&(_|=16)):_|=128,d.writeInt32(h,_),h+=4,function(e,t,n,s){0>=s.size()&&(0,r.n)("Byte_buffer out of range access"),e.m_bits=0,e.m_rotation=0,e.m_cosr=1,e.m_sinr=0,e.setStartXY(t),e.setEndXY(n);const a=i.P.getNAN();a.x=s.readDouble(0),a.y=s.readDouble(8);const u=s.readInt32(16);if(1&u)return e.m_semiMajorAxis=0,e.m_minorMajorRatio=1,e.m_interior.assign(a),e.m_center.setNAN(),e.m_sweepAngle=0,e.m_startAngle=0,(0,o.A)(e),!1;let m=!!(64&u);const l=!!(128&u);let c=!!(32&u);const d=!!(8&u),h=!!(16&u),_=t.equals(n);m&&!_&&(m=!1,c=!0),c&&_&&(m=!0,c=!1,a.setCoords(0,0)),m||(l?c?(e.m_semiMajorAxis=1,e.m_minorMajorRatio=0,e.m_interior.assign(a),e.m_center.setNAN(),e.m_sweepAngle=0,e.m_startAngle=0):(e.constructCircularArcThreePoint(t,n,a),_&&d===e.isClockwise()&&e.reverse()):c?(e.m_semiMajorAxis=1,e.m_minorMajorRatio=0,e.m_center.setNAN(),e.m_sweepAngle=0,e.m_startAngle=0,(0,o.A)(e),e.queryCoord2D(.5,e.m_interior)):(0,o.B)(e,t,n,a,d,h)),m&&(e.m_center.assign(t),e.m_startAngle=a.x,e.m_sweepAngle=a.y,(0,o.F)(e,Number.NaN,d,h),e.m_semiMajorAxis=0,e.m_minorMajorRatio=1,e.m_interior.setCoordsPoint2D(t)),e.setProjectionBehavior(0),(0,o.A)(e)}(e,t,n,d)}function v(e,t,n,i,s){const a=e.getGeometryType();if(a===r.G.enumEllipticArc)return function(e,t,n,i,s){(0,r.g)(!(0,o.z)(e));const a=e.getEndXY(),u=e.hasAttribute(1)&&!t,m=e.hasAttribute(2)&&!n;let l=Number.NaN,c=Number.NaN;if(u&&(l=e.getEndAttributeAsDbl(1,0)),m&&(c=e.getEndAttributeAsDbl(2,0)),e.isDegenerateToLine()||e.isDegenerate(0))return x(u,m,a.x,a.y,l,c,i,s),!0;const d=0===e.projectionBehavior(),h=!!d&&e.isClosed();if(d&&!h)s.startObject(),s.addFieldName("c"),s.startArray(),x(u,m,a.x,a.y,l,c,i,s),S(e.m_interior.x,e.m_interior.y,17,s),s.endArray(),s.endObject();else if(d){s.startObject(),s.addFieldName("a"),s.startArray(),x(u,m,a.x,a.y,l,c,i,s);const t=0,n=0;S(e.m_center.x+t,e.m_center.y+n,17,s);const r=!e.isMajor();s.addInt32(r?1:0);const o=e.isClockwise();s.addInt32(o?1:0),s.endArray(),s.endObject()}else{s.startObject(),s.addFieldName("a"),s.startArray(),x(u,m,a.x,a.y,l,c,i,s);const t=e;S(t.m_center.x,t.m_center.y,17,s);const n=!t.isMajor();s.addInt32(n?1:0);const r=t.isClockwise();s.addInt32(r?1:0),s.addDouble(t.m_rotation,17),s.addDouble(t.m_semiMajorAxis,17),s.addDouble(t.m_minorMajorRatio,17),s.endArray(),s.endObject()}return!1}(e,t,n,i,s);if(a===r.G.enumBezier)return A(e,t,n,i,s);if(a===r.G.enumRationalBezier2)return function(e,t,n,r,i){const s=e.getEndXY(),a=e.hasAttribute(1)&&!t,o=e.hasAttribute(2)&&!n;let u=Number.NaN,m=Number.NaN;a&&(u=e.getEndAttributeAsDbl(1,0)),o&&(m=e.getEndAttributeAsDbl(2,0)),i.startObject(),i.addFieldName("n"),i.startArray(),x(a,o,s.x,s.y,u,m,r,i),S(e.m_cp.x,e.m_cp.y,r,i);const l=r;return i.addDouble(e.m_weights[0],l),i.addDouble(e.m_weights[1],l),i.addDouble(e.m_weights[2],l),i.endArray(),i.endObject(),!1}(e,t,n,i,s);if(a===r.G.enumBezier2){const r=new o.y;return r.constructFromQuadraticSegment(e),A(r,t,n,i,s)}(0,r.b)("")}function A(e,t,n,r,i){const s=e.getEndXY(),a=e.hasAttribute(1)&&!t,o=e.hasAttribute(2)&&!n;let u=Number.NaN,m=Number.NaN;return a&&(u=e.getEndAttributeAsDbl(1,0)),o&&(m=e.getEndAttributeAsDbl(2,0)),i.startObject(),i.addFieldName("b"),i.startArray(),x(a,o,s.x,s.y,u,m,r,i),S(e.m_cp[0].x,e.m_cp[0].y,r,i),S(e.m_cp[1].x,e.m_cp[1].y,r,i),i.endArray(),i.endObject(),!1}function x(e,t,n,r,i,s,a,o){o.startArray(),o.addDouble(n,a),o.addDouble(r,a),e&&o.addDouble(i,a),t&&o.addDouble(s,a),o.endArray()}function S(e,t,n,r){r.startArray(),r.addDouble(e,n),r.addDouble(t,n),r.endArray()}function w(e,t,n,i){const s=n.getImpl(),u=!!(2&t),m=!!(4&t),l=!!(8&t),c=s.hasAttribute(1)&&!u,d=s.hasAttribute(2)&&!m,h=s.hasAttribute(3)&&!l,_=s.hasNonLinearSegments();c&&(i.addFieldName("hasZ"),i.addBool(!0)),d&&(i.addFieldName("hasM"),i.addBool(!0)),e?_?i.addFieldName("curveRings"):i.addFieldName("rings"):_?i.addFieldName("curvePaths"):i.addFieldName("paths");let f=null;const p=[];if(n.isEmpty())i.startArray(),i.endArray();else{const e=17-(31&t>>13);i.startArray();const l=n.getPathCount();let k=0;const b=s.getAttributeStreamRef(0);let y=null,g=null,T=null;const N=new o.S;let A=null,x=null,S=null;_&&(A=s.getSegmentFlagsStreamRef(),x=s.getSegmentIndexStreamRef(),S=s.getSegmentDataStreamRef()),c&&(y=s.getAttributeStreamRef(1)),d&&(g=s.getAttributeStreamRef(2)),h&&(T=s.getAttributeStreamRef(3),f=(0,a.t)(3,0));for(let t=0;t<l;t++){i.startArray(),h&&p.push(0);const s=n.getPathEnd(t);if(k===s){i.endArray();continue}const a=n.isClosedPath(t);let o=b.read(2*k),l=b.read(2*k+1),_=c?y.read(k):Number.NaN,w=d?g.read(k):Number.NaN,D=h?T.read(k):0;C(c,d,o,l,_,w,e,i);let F=1;h&&(f.add(D),p[p.length-1]++);const j=o,I=l,O=_,z=w,E=D;let P=!1,G=0,B=Number.NaN,V=Number.NaN,M=0;for(let t=k+1,n=k,R=a?s+1:s;t<R;t++,n++){const a=null!==A?31&A.read(n):1;let k,R;if(t<s?(k=b.read(2*t),R=b.read(2*t+1),c&&(B=y.read(t)),d&&(V=g.read(t)),h&&(M=T.read(t))):(k=j,R=I,B=O,V=z,M=E),1!==a){P=!0,4===a?N.createEllipticArc():2===a?N.createCubicBezier():16===a?N.createQuadraticBezier():8===a?N.createQuadraticRationalBezier():(0,r.b)("JSON export.unsupported curve");const t=N.get(),s=x.read(n);t.setStartXYCoords(o,l),t.setEndXYCoords(k,R),c&&(t.setStartAttribute(1,0,_),t.setEndAttribute(1,0,B)),d&&(t.setStartAttribute(2,0,w),t.setEndAttribute(2,0,V)),t.readFromBufferStream(S,s),v(N.get(),u,m,e,i)&&G++}else C(c,d,k,R,B,V,e,i);h&&(f.add(M),p[p.length-1]++),F++,o=k,l=R,_=B,w=V,D=M}P&&0===G||(F<2&&G<1&&(C(c,d,o,l,_,w,e,i),F++,h&&(f.add(D),p[p.length-1]++)),a&&F<3&&G<2&&(C(c,d,j,I,O,z,e,i),F++,o=j,l=I,_=O,w=z,D=E,h&&(f.add(E),p[p.length-1]++))),i.endArray(),k=s}i.endArray()}if(h){i.addFieldName("ids"),i.startArray();let e=0;for(let t=0,n=p.length;t<n;++t){const n=p[t];(0,r.g)(0===n||null!==f&&e+n<=f.size()),i.startArray();for(let t=0;t<n;++t)i.addInt32(f.read(e)),e++;i.endArray()}i.endArray()}}function C(e,t,n,r,i,s,a,o){o.startArray(),o.addDouble(n,a),o.addDouble(r,a),e&&o.addDouble(i,a),t&&o.addDouble(s,a),o.endArray()}const D="a".charCodeAt(0),F="A".charCodeAt(0),j="*".charCodeAt(0),I="b".charCodeAt(0),O=("\b".charCodeAt(0),"\\".charCodeAt(0)),z="[".charCodeAt(0),E="{".charCodeAt(0),P=":".charCodeAt(0),G=".".charCodeAt(0),B=",".charCodeAt(0),V='"'.charCodeAt(0),M="]".charCodeAt(0),R="}".charCodeAt(0),U="e".charCodeAt(0),X="E".charCodeAt(0),W="f".charCodeAt(0),Y=("\f".charCodeAt(0),"F".charCodeAt(0)),K="/".charCodeAt(0),L=("<".charCodeAt(0),"-".charCodeAt(0)),q="+".charCodeAt(0),J="n".charCodeAt(0),Z="N".charCodeAt(0),H=("\n".charCodeAt(0),"r".charCodeAt(0)),Q=("\r".charCodeAt(0),"t".charCodeAt(0)),$=("\t".charCodeAt(0),"u".charCodeAt(0)),ee="0".charCodeAt(0),te="9".charCodeAt(0);class ne{constructor(e){this.m_functionStack=[],this.m_pushPositions=[],this.m_utf8Decoder=new TextDecoder("utf-8",{fatal:!0}),void 0===e?(this.m_startToken=Number.MAX_SAFE_INTEGER,this.m_endToken=0,this.m_currentTokenType=0,this.m_functionStack.push((()=>this.accept_())),this.m_jsonString=null,this.m_bHasEscapes=!1):e.jsonString?this.resetParserFromString(e.jsonString):e.jsonStream?(0,r.b)("streaming json parsing not yet impl"):(0,r.c)("invalid constructor parameter")}prepSubstrString_(){}getCurrentSubstrString_(){return this.m_jsonString.slice(this.m_startToken,this.m_endToken)}stepOverCharString_(){this.m_endToken++}peekCharString_(){return this.m_jsonString.charCodeAt(this.m_endToken)}getString_(e){const t=this.m_jsonString?.slice(this.m_startToken,this.m_startToken+e-1);return this.m_endToken+=e-1,{s:t,bDone:this.m_endToken>=this.m_jsonString.length}}incrementString_(){this.m_endToken++}eofString_(){return this.m_endToken>=this.m_jsonString.length}setStringFunctions_(){this.m_prepSubstr=this.prepSubstrString_,this.m_getCurrentSubstr=this.getCurrentSubstrString_,this.m_stepOverChar=this.stepOverCharString_,this.m_peekChar=this.peekCharString_,this.m_get=this.getString_,this.m_increment=this.incrementString_,this.m_eof=this.eofString_}setStreamFunctions_(){(0,r.b)("streaming json parsing not yet impl")}reset_(){this.m_jsonString=null,this.m_endToken=0,this.m_startToken=Number.MAX_SAFE_INTEGER,this.m_currentTokenType=0,this.m_bHasEscapes=!1,this.m_functionStack.length=0,this.m_functionStack.push((()=>this.start_())),this.m_pushPositions.length=0}resetParserFromString(e){this.reset_(),this.setStringFunctions_(),this.m_jsonString=e}resetParserFromStream(e){(0,r.b)("streaming json parsing not yet impl")}resetToPosition(e){return(0,r.g)(0),!1}nextToken(){return this.m_functionStack.at(-1)(),this.m_currentTokenType}currentToken(){return this.m_currentTokenType}currentTokenStartIndex(){return this.m_startToken}currentTokenEndIndex(){return this.m_endToken}currentText(){return(0,r.g)(0),""}childrenAsString(){return(0,r.g)(0),""}skipChildren(){this.skipChildren_()}skipChildren_(){if(1!==this.m_currentTokenType)if(2!==this.m_currentTokenType);else{let e=1;do{this.m_currentTokenType=this.nextToken(),2===this.m_currentTokenType?e++:4===this.m_currentTokenType&&e--}while(4!==this.m_currentTokenType||0!==e)}else{let e=1;do{this.m_currentTokenType=this.nextToken(),1===this.m_currentTokenType?e++:3===this.m_currentTokenType&&e--}while(3!==this.m_currentTokenType||0!==e)}}currentTerminalAsString_(){switch(this.m_currentTokenType){case 7:case 8:case 9:return this.m_getCurrentSubstr().slice(0,this.m_endToken-this.m_startToken);case 10:return"null";case 11:return"true";case 12:return"false"}(0,r.t)("invalid token")}toUTF8_(e,t){let n=0,r=e;for(;t.charCodeAt(r)===O&&t.charCodeAt(r+1)===$;)n++,r+=6;r=e;const i=new Uint8Array(n);let s=0;for(;t.charCodeAt(r)===O&&t.charCodeAt(r+1)===$;)i[s++]=Number.parseInt(t.slice(r+2,r+6),16),r+=6;return{u8s:this.m_utf8Decoder.decode(i),end:r}}unquoteCurrentString_(){let e="",t=1;const n=this.m_endToken-this.m_startToken-1;let r=0;const i=this.m_getCurrentSubstr();for(let s=t;s<n;s++)if(i.charCodeAt(s)!==O)r++;else{switch(r>0&&(e+=i.slice(t,t+r)),i.charCodeAt(++s)){case V:e+='"';break;case $:{const{u8s:t,end:n}=this.toUTF8_(s-1,i);s=n-1,e+=t;break}case O:e+="\\";break;case K:e+="/";break;case I:e+="\b";break;case W:e+="\f";break;case J:e+="\n";break;case H:e+="\r";break;case Q:e+="\t"}t=s+1,r=0}return r>0&&(e+=i.slice(t,t+r)),e}currentString(){return 5!==this.m_currentTokenType&&6!==this.m_currentTokenType?this.currentTerminalAsString_():this.m_bHasEscapes?this.unquoteCurrentString_():this.m_getCurrentSubstr().slice(1,this.m_endToken-this.m_startToken-2+1)}currentDoubleValue(){if(7!==this.m_currentTokenType&&8!==this.m_currentTokenType&&9!==this.m_currentTokenType&&6!==this.m_currentTokenType&&10!==this.m_currentTokenType&&(0,r.t)("invalid token"),10===this.m_currentTokenType)return Number.NaN;let e=this.m_getCurrentSubstr(),t=this.m_endToken-this.m_startToken;if(6===this.m_currentTokenType){if("NaN"===this.currentString())return Number.NaN;e=e.slice(1),t-=2,0===t&&(0,r.t)("invalid token")}const n=Number.parseFloat(e);if(6===this.m_currentTokenType)Number.isNaN(n)&&(0,r.t)("invalid token");else if(Number.isNaN(n))return Number.NaN;return n}currentInt32Value(){8!==this.m_currentTokenType&&6!==this.m_currentTokenType&&(0,r.t)("invalid token");let e=this.m_getCurrentSubstr(),t=this.m_endToken-this.m_startToken;6===this.m_currentTokenType&&(e=e.slice(1),t-=2,0===t&&(0,r.t)("invalid token"));const n=parseInt(e);return Number.isNaN(n)&&(0,r.t)("invalid token"),n}currentInt64Value(){return(0,r.g)(0),0n}currentBoolValue(){return(0,r.g)(0),!1}isError(){return 0}JSONString(){return(0,r.g)(0),""}pushPosition(){return(0,r.g)(0),!1}popPosition(){return(0,r.g)(0),!1}skipCStyleComments_(){(0,r.g)(0)}skipCppStyleComments_(){(0,r.g)(0)}skipComments_(){this.m_prepSubstr();let e=this.m_peekChar();this.m_stepOverChar(),this.m_eof()&&(0,r.t)("invalid token"),e=this.m_peekChar(),e===j?this.skipCStyleComments_():e===K?this.skipCppStyleComments_():(0,r.t)("invalid token")}skipWhiteSpace_(){let e;do{this.m_eof()&&(0,r.t)("invalid token");let t=this.m_peekChar();for(;t>=9&&t<=13||32===t;)this.m_increment(),this.m_eof()&&(0,r.t)("invalid token"),t=this.m_peekChar();t===K?(this.m_startToken=this.m_endToken,e=!0,this.skipComments_()):e=!1}while(e)}rightBracket_(){return this.m_peekChar()===M&&(this.m_startToken=this.m_endToken,this.m_increment(),this.m_currentTokenType=4,!0)}rightBrace_(){return this.m_peekChar()===R&&(this.m_startToken=this.m_endToken,this.m_increment(),this.m_currentTokenType=3,!0)}string_(){this.m_prepSubstr(),this.m_bHasEscapes=!1,this.m_stepOverChar(),this.m_eof()&&(0,r.t)("invalid token");let e=this.m_peekChar();for(;e!==V;){const t=e===O;if(this.m_stepOverChar(),this.m_eof()&&(0,r.t)("invalid token"),e=this.m_peekChar(),t)if(this.m_bHasEscapes=!0,e===V||e===O||e===K||e===I||e===W||e===J||e===H||e===Q)this.m_stepOverChar(),this.m_eof()&&(0,r.t)("invalid token"),e=this.m_peekChar();else if(e===$)for(let t=0;t<4;t++)this.m_stepOverChar(),this.m_eof()&&(0,r.t)("invalid token"),e=this.m_peekChar(),e>=ee&&e<=te||e>=D&&e<=W||e>=F&&e<=Y||(0,r.t)("invalid token");else(0,r.t)("invalid token")}this.m_stepOverChar()}comma_(){return this.m_peekChar()===B&&(this.m_increment(),!0)}colon_(){return this.m_peekChar()===P&&(this.m_increment(),!0)}fieldNameEnd_(){this.skipWhiteSpace_(),this.m_functionStack.pop(),this.colon_()?(this.skipWhiteSpace_(),this.value_()):(0,r.t)("invalid token")}fieldNameStart_(){this.m_startToken=this.m_endToken,this.m_peekChar()!==V&&(0,r.t)("invalid token"),this.string_(),this.m_currentTokenType=5,this.m_functionStack.push((()=>this.fieldNameEnd_()))}pairEnd_(){this.skipWhiteSpace_(),this.comma_()?(this.skipWhiteSpace_(),this.fieldNameStart_()):this.rightBrace_()?this.m_functionStack.pop():(0,r.t)("invalid token")}arrayStart_(){this.skipWhiteSpace_(),this.m_functionStack.pop(),this.rightBracket_()||(this.m_functionStack.push((()=>this.elementEnd_())),this.value_())}elementEnd_(){this.skipWhiteSpace_(),this.comma_()?(this.skipWhiteSpace_(),this.value_()):this.rightBracket_()?this.m_functionStack.pop():(0,r.t)("invalid token")}objectStart_(){this.skipWhiteSpace_(),this.m_functionStack.pop(),this.rightBrace_()||(this.m_functionStack.push((()=>this.pairEnd_())),this.fieldNameStart_())}valueStartObject_(){this.m_increment(),this.m_currentTokenType=1,this.m_functionStack.push((()=>this.objectStart_()))}valueStartArray_(){this.m_increment(),this.m_currentTokenType=2,this.m_functionStack.push((()=>this.arrayStart_()))}valueString_(){this.string_(),this.m_currentTokenType=6}int_(){this.m_peekChar()!==ee?this.digits_():this.m_stepOverChar()}digits_(){let e=this.m_peekChar();do{this.m_stepOverChar(),this.m_eof()&&(0,r.t)("invalid token"),e=this.m_peekChar()}while(e>=ee&&e<=te)}frac_(){let e=this.m_peekChar();this.m_stepOverChar(),this.m_eof()&&(0,r.t)("invalid token"),e=this.m_peekChar(),e>=ee&&e<=te||(0,r.t)("invalid token"),this.digits_()}exp_(){let e=this.m_peekChar();this.m_stepOverChar(),this.m_eof()&&(0,r.t)("invalid token"),e=this.m_peekChar(),e!==q&&e!==L||(this.m_stepOverChar(),this.m_eof()&&(0,r.t)("invalid token"),e=this.m_peekChar()),e>=ee&&e<=te||(0,r.t)("invalid token"),this.digits_()}valueNumber_(){this.m_prepSubstr();let e=!1,t=this.m_peekChar();if(t===L?(this.m_stepOverChar(),this.m_eof()&&(0,r.t)("invalid token"),t=this.m_peekChar(),e=!0,t>=ee&&t<=te||(0,r.t)("invalid token"),this.int_()):this.int_(),t=this.m_peekChar(),t===G)this.m_currentTokenType=7,this.frac_(),t=this.m_peekChar(),t!==U&&t!==X||this.exp_();else if(t===U||t===X)this.m_currentTokenType=7,this.exp_();else{let t=0;e&&t++;const n=this.m_endToken-this.m_startToken-t;if(n<10)this.m_currentTokenType=8;else if(10===n){const n=this.m_getCurrentSubstr();e?n.slice(t)<="2147483648"?this.m_currentTokenType=8:this.m_currentTokenType=9:n.slice(t)<="2147483647"?this.m_currentTokenType=8:this.m_currentTokenType=9}else if(n<19)this.m_currentTokenType=9;else if(19===n){const n=this.m_getCurrentSubstr();e?n.slice(t)<="9223372036854775808"?this.m_currentTokenType=9:this.m_currentTokenType=7:n.slice(t)<="9223372036854775807"?this.m_currentTokenType=9:this.m_currentTokenType=7}else this.m_currentTokenType=7}}valueNull_(){const{s:e,bDone:t}=this.m_get(5);t&&(0,r.t)("invalid token"),"null"!==e&&(0,r.t)("invalid token"),this.m_currentTokenType=10}valueTrue_(){const{s:e,bDone:t}=this.m_get(5);t&&(0,r.t)("invalid token"),"true"!==e&&(0,r.t)("invalid token"),this.m_currentTokenType=11}valueFalse_(){const{s:e,bDone:t}=this.m_get(6);t&&(0,r.t)("invalid token"),"false"!==e&&(0,r.t)("invalid token"),this.m_currentTokenType=12}valueNan_(){const{s:e,bDone:t}=this.m_get(4);t&&(0,r.t)("invalid token"),"NaN"!==e&&(0,r.t)("invalid token"),this.m_currentTokenType=7}value_(){this.m_startToken=this.m_endToken;const e=this.m_peekChar();e===E?this.valueStartObject_():e===z?this.valueStartArray_():e===V?this.valueString_():e===L||e>=ee&&e<=ee+9?this.valueNumber_():e===J?this.valueNull_():e===Q?this.valueTrue_():e===W?this.valueFalse_():e===Z?this.valueNan_():(0,r.t)("invalid token")}start_(){this.skipWhiteSpace_(),this.m_functionStack.pop(),this.m_functionStack.push((()=>this.accept_()));const e=this.m_peekChar();e!==E&&e!==z&&(0,r.t)("invalid token"),this.value_()}accept_(){this.m_startToken=this.m_endToken,this.m_currentTokenType=0}}const re=new class{constructor(){this.m_pendingKey=null,this.m_acceptedObject=null,this.m_currentObject=[]}reset(){this.m_pendingKey=null,this.m_acceptedObject=null,this.m_currentObject.length=0}startObject(){const e={};this.m_pendingKey?(this.m_currentObject.at(-1)[this.m_pendingKey]=e,this.m_pendingKey=null):Array.isArray(this.m_currentObject.at(-1))&&this.m_currentObject.at(-1).push(e),this.m_currentObject.push(e)}startArray(){const e=[];this.m_pendingKey?(this.m_currentObject.at(-1)[this.m_pendingKey]=e,this.m_pendingKey=null):Array.isArray(this.m_currentObject.at(-1))&&this.m_currentObject.at(-1).push(e),this.m_currentObject.push(e)}endObject(){this.m_acceptedObject=this.m_currentObject.at(-1),this.m_currentObject.pop()}endArray(){this.m_currentObject.pop()}addFieldName(e){this.m_pendingKey=e}addValue_(e){this.m_pendingKey?(this.m_currentObject.at(-1)[this.m_pendingKey]=e,this.m_pendingKey=null):this.m_currentObject.at(-1).push(e)}addString(e){this.addValue_(e)}addDouble(e,t){this.addValue_(e)}addInt64(e){(0,r.g)(0)}addInt32(e){this.addValue_(e)}addBool(e){this.addValue_(e)}addNull(){this.addValue_(null)}getObject(){return this.m_acceptedObject}},ie=new class{getOperatorType(){return 10405}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}execute(e,t,n,i,a,o){!function(e,t,n,i){if(t||n){if(i.startObject(),null!==t)switch(t.getGeometryType()){case r.G.enumPolygon:w(!0,e,t,i);break;case r.G.enumPolyline:w(!1,e,t,i);break;case r.G.enumMultiPoint:!function(e,t,n){const i=t.getImpl(),s=i.hasAttribute(1)&&!(2&e),a=i.hasAttribute(2)&&!(4&e),o=i.hasAttribute(3)&&!(8&e);s&&(n.addFieldName("hasZ"),n.addBool(!0)),a&&(n.addFieldName("hasM"),n.addBool(!0)),n.addFieldName("points");const u=t.getPointCount();if(t.isEmpty())n.startArray(),n.endArray();else{const t=17-(31&e>>13);n.startArray();const r=i.getAttributeStreamRef(0);let o=null,m=null;s&&(o=i.getAttributeStreamRef(1)),a&&(m=i.getAttributeStreamRef(2));for(let e=0;e<u;e++){const i=r.read(2*e),u=r.read(2*e+1);let l=Number.NaN,c=Number.NaN;s&&(l=o.read(e)),a&&(c=m.read(e)),C(s,a,i,u,l,c,t,n)}n.endArray()}if(o){let e=null;i.isEmpty()||(e=i.getAttributeStreamRef(3)),(0,r.g)(0===u||null!==e&&e.size()>=u),n.addFieldName("ids"),n.startArray();for(let t=0;t<u;t++)n.addInt32(e.read(t));n.endArray()}}(e,t,i);break;case r.G.enumPoint:!function(e,t,n){const r=t.hasAttribute(1)&&!(2&e),i=t.hasAttribute(2)&&!(4&e),s=t.hasAttribute(3)&&!(8&e);if(t.isEmpty())return n.addFieldName("x"),n.addNull(),n.addFieldName("y"),n.addNull(),r&&(n.addFieldName("z"),n.addNull()),i&&(n.addFieldName("m"),n.addNull()),void(s&&(n.addFieldName("id"),n.addInt32(0)));const a=17-(31&e>>13);n.addFieldName("x"),n.addDouble(t.getX(),a),n.addFieldName("y"),n.addDouble(t.getY(),a),r&&(n.addFieldName("z"),n.addDouble(t.getZ(),a)),i&&(n.addFieldName("m"),n.addDouble(t.getM(),a)),s&&(n.addFieldName("id"),n.addInt32(t.getID()))}(e,t,i);break;case r.G.enumEnvelope:!function(e,t,n){const r=t.hasAttribute(1)&&!(2&e),i=t.hasAttribute(2)&&!(4&e),s=t.hasAttribute(3)&&!(8&e);if(t.isEmpty())return n.addFieldName("xmin"),n.addNull(),n.addFieldName("ymin"),n.addNull(),n.addFieldName("xmax"),n.addNull(),n.addFieldName("ymax"),n.addNull(),r&&(n.addFieldName("zmin"),n.addNull(),n.addFieldName("zmax"),n.addNull()),i&&(n.addFieldName("mmin"),n.addNull(),n.addFieldName("mmax"),n.addNull()),void(s&&(n.addFieldName("idmin"),n.addInt32(0),n.addFieldName("idmax"),n.addInt32(0)));const a=17-(31&e>>13);if(n.addFieldName("xmin"),n.addDouble(t.getXMin(),a),n.addFieldName("ymin"),n.addDouble(t.getYMin(),a),n.addFieldName("xmax"),n.addDouble(t.getXMax(),a),n.addFieldName("ymax"),n.addDouble(t.getYMax(),a),r){const e=t.queryInterval(1,0);n.addFieldName("zmin"),n.addDouble(e.vmin,a),n.addFieldName("zmax"),n.addDouble(e.vmax,a)}if(i){const e=t.queryInterval(2,0);n.addFieldName("mmin"),n.addDouble(e.vmin,a),n.addFieldName("mmax"),n.addDouble(e.vmax,a)}if(s){const e=t.queryInterval(3,0);n.addFieldName("idmin"),n.addInt32(e.vmin),n.addFieldName("idmax"),n.addInt32(e.vmax)}}(e,t,i);break;case r.G.enumMultipatch:(0,r.g)(0);break;default:(0,r.c)("exportToJSON")}null!==n&&(i.addFieldName("spatialReference"),function(e,t,n){n.startObject();let i=0;t.isCustomWkid()||(i=t.getOldID());let a=0;const o=t.getVCS();if(null!==o&&(o.isCustomWkid()||(a=o.getOldID()),a<=0&&(i=0)),i>0){n.addFieldName("wkid"),n.addInt32(i);const e=t.getLatestID();if(e>0&&e!==i&&(n.addFieldName("latestWkid"),n.addInt32(e)),a>0){n.addFieldName("vcsWkid"),n.addInt32(a);const e=t.getLatestVerticalID();e!==a&&(n.addFieldName("latestVcsWkid"),n.addInt32(e))}}if(0===t.getCoordinateSystemType())n.addFieldName("wkid"),n.addNull(),null!==t.getUnit()&&(n.addFieldName("unit"),function(e,t,n){n.startObject();const i=t.getID();i<=0&&(0,r.t)("cannot export unit that has no valid WKID"),n.addFieldName("uwkid"),n.addInt32(i),n.endObject()}(0,t.getUnit(),n));else if(i<=0||1&e){let r="";64&e&&(r=t.getText2(),n.addFieldName("wkt2"),n.addString(r));const i=t.getText();i!==r&&(n.addFieldName("wkt"),n.addString(i))}if(16&e){const e=new s.aE;t.queryPrecisionDescriptor(e),n.addFieldName("xyTolerance"),n.addDouble(e.getTolerance(0)),n.addFieldName("zTolerance"),n.addDouble(e.getTolerance(1)),n.addFieldName("mTolerance"),n.addDouble(e.getTolerance(2)),n.addFieldName("falseX"),n.addDouble(e.getFalseX()),n.addFieldName("falseY"),n.addDouble(e.getFalseY()),n.addFieldName("xyUnits"),n.addDouble(e.getGridUnitsXY()),n.addFieldName("falseZ"),n.addDouble(e.getFalseZ()),n.addFieldName("zUnits"),n.addDouble(e.getGridUnitsZ()),n.addFieldName("falseM"),n.addDouble(e.getFalseM()),n.addFieldName("mUnits"),n.addDouble(e.getGridUnitsM())}n.endObject()}(e,n,i)),i.endObject()}}(e,t,n,i)}exportSpatialReference(e,t,n,i){(0,r.g)(0)}exportProjectionTransformation(e,t,n,i){(0,r.g)(0)}exportDatumTransformation(e,t,n,i){(0,r.g)(0)}static geometryTypeToString(e){return(0,r.g)(0),""}},se=new class{getOperatorType(){return 10404}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}execute(e,t,n,i,u,m,l){let c;"string"==typeof n?(c=new ne({jsonString:n}),c.nextToken()):c=n,1!==c.currentToken()&&(0,r.t)("failed to import map geometry: start of object is expected");const d=function(e,t,n,i,s){let u=!1,m=!1,l=!1,c=!1,d=!1,y=!1,g=!1,T=!1,N=!1,v=!1,A=!1,x=!1,S=!1,w=!1,C=!1,D=!1,F=!1,j=!1,I=!1,O=!1,z=!1,E=!1,P=!1,G=!1,B=Number.NaN,V=Number.NaN,M=Number.NaN,R=Number.NaN,U=0,X=Number.NaN,W=Number.NaN,Y=Number.NaN,K=Number.NaN,L=Number.NaN,q=Number.NaN,J=Number.NaN,Z=Number.NaN,H=0,Q=0,$=!1,ee=!1,te=null,ne=null,re=null,ie=null,se=null;for(;3!==n.nextToken();){const t=n.currentString();if(n.nextToken(),"spatialReference"===t){if(s&&!u){u=!0,1===n.currentToken()?ie=h(n):10!==n.currentToken()&&(0,r.t)("failed to parse spatial reference: object or null is expected");continue}}else if(i)if("hasZ"===t){if(!m){m=!0,$=11===n.currentToken();continue}}else if("hasM"===t){if(!l){l=!0,ee=11===n.currentToken();continue}}else if("rings"===t){if(!(d||y||e!==r.G.enumUnknown&&e!==r.G.enumPolygon)){d=!0,({geometry:se,as:te,bs:ne}=_(!0,!1,0,n));continue}}else if("curveRings"===t){if(!y&&(e===r.G.enumUnknown||e===r.G.enumPolygon)){y=!0,({geometry:se,as:te,bs:ne}=_(!0,!0,0,n));continue}}else if("paths"===t){if(!(g||T||e!==r.G.enumUnknown&&e!==r.G.enumPolyline)){g=!0,({geometry:se,as:te,bs:ne}=_(!1,!1,0,n));continue}}else if("curvePaths"===t){if(!T&&(e===r.G.enumUnknown||e===r.G.enumPolyline)){T=!0,({geometry:se,as:te,bs:ne}=_(!1,!0,0,n));continue}}else if("points"===t){if(!N&&(e===r.G.enumUnknown||e===r.G.enumMultiPoint)){N=!0,({geometry:se,as:te,bs:ne}=f(0,n));continue}}else if("ids"===t){if(!c){c=!0,re=p(0,n);continue}}else if("x"===t){if(!v&&(e===r.G.enumUnknown||e===r.G.enumPoint)){v=!0,B=k(n);continue}}else if("y"===t){if(!A&&(e===r.G.enumUnknown||e===r.G.enumPoint)){A=!0,V=k(n);continue}}else if("z"===t){if(!x&&(e===r.G.enumUnknown||e===r.G.enumPoint)){x=!0,M=k(n);continue}}else if("m"===t){if(!S&&(e===r.G.enumUnknown||e===r.G.enumPoint)){S=!0,R=k(n);continue}}else if("id"===t){if(!w&&(e===r.G.enumUnknown||e===r.G.enumPoint)){w=!0,U=b(n);continue}}else if("xmin"===t){if(!C&&(e===r.G.enumUnknown||e===r.G.enumEnvelope)){C=!0,X=k(n);continue}}else if("ymin"===t){if(!D&&(e===r.G.enumUnknown||e===r.G.enumEnvelope)){D=!0,W=k(n);continue}}else if("mmin"===t){if(!z&&(e===r.G.enumUnknown||e===r.G.enumEnvelope)){z=!0,J=k(n);continue}}else if("zmin"===t){if(!I&&(e===r.G.enumUnknown||e===r.G.enumEnvelope)){I=!0,L=k(n);continue}}else if("idmin"===t){if(!P&&(e===r.G.enumUnknown||e===r.G.enumEnvelope)){P=!0,H=b(n);continue}}else if("xmax"===t){if(!F&&(e===r.G.enumUnknown||e===r.G.enumEnvelope)){F=!0,Y=k(n);continue}}else if("ymax"===t){if(!j&&(e===r.G.enumUnknown||e===r.G.enumEnvelope)){j=!0,K=k(n);continue}}else if("mmax"===t){if(!E&&(e===r.G.enumUnknown||e===r.G.enumEnvelope)){E=!0,Z=k(n);continue}}else if("zmax"===t){if(!O&&(e===r.G.enumUnknown||e===r.G.enumEnvelope)){O=!0,q=k(n);continue}}else if("idmax"===t){if(!G&&(e===r.G.enumUnknown||e===r.G.enumEnvelope)){G=!0,Q=b(n);continue}}else"materials"===t&&(0,r.g)(0);n.skipChildren()}if(d||y||g||T||N){let e=null,t=null;const n=se;$&&(se.addAttribute(1),e=te,e||(e=(0,a.D)(n.getPointCount(),Number.NaN))),ee&&(se.addAttribute(2),t=$?ne:te),null!=re&&se.addAttribute(3),$&&null!=e&&n.setAttributeStreamRef(1,e),ee&&null!=t&&n.setAttributeStreamRef(2,t),null!=re&&function(e,t){if(e.isEmpty())return;const n=(0,a.K)(2,0),i=e.getGeometryType();let s=0;i===o.M.type?s=1:i===o.P.type||i===o.a.type?s=e.getPathCount():(0,r.c)("not implemented"),n.resize(e.getPointCount(),0);let u=0;for(let a=0;a<s;++a){const s=t.read(u);u++;const m=u+s;let l=0,c=0;i===o.M.type?l=e.getPointCount():i===o.P.type||i===o.a.type?(l=e.getPathSize(a),c=e.getPathStart(a)):(0,r.c)("not implemented");for(let e=0,r=Math.min(s,l);e<r;++e)n.write(c,t.read(u)),u++,c++;u=m}e.getImpl().setAttributeStreamRef(3,n)}(n,re)}else if(v||A||S||x||w){(0,a.I)(B,V)||(0,r.t)("failed to parse point: x and y must be finite or nan"),(Number.isNaN(V)||Number.isNaN(B))&&(B=Number.NaN,V=Number.NaN);const e=new a.P({x:B,y:V});x&&e.setZ(M),S&&e.setM(R),w&&e.setID(U),se=e}else if(C||D||F||j||I||O||z||E||P||G){(Number.isNaN(W)||Number.isNaN(Y)||Number.isNaN(K))&&(X=Number.NaN);const e=new a.E({xmin:X,ymin:W,xmax:Y,ymax:K});I&&O&&e.setInterval(1,0,L,q),z&&E&&e.setInterval(2,0,J,Z),P&&G&&e.setInterval(3,0,H,Q),se=e}return{...se?{geom:se}:{},...ie?{sr:ie}:{}}}(t,0,c,i,u);return new s.aF(d)}importProjectionTransformation(e,t){return(0,r.g)(0),{}}importDatumTransformation(e,t){return(0,r.g)(0),{}}static stringToGeometryType(e){return r.G.enumPoint}};function ae(e){return Array.isArray(e)?e[0].spatialReference:e.spatialReference}function oe(e,t){const n=new l(e,{strict:!1});return n.nextToken(),se.execute(0,r.G.enumUnknown,n,!0,t)}function ue(e){let t=null;return[e.map((e=>{if(null==t){const n=me(e);return t=n.getSpatialReference(),n.getGeometry()}return le(e)})),t]}function me(e){return oe(e,!0)}function le(e){return oe(e,!1).getGeometry()}function ce(e,t){return e instanceof s.aF&&(t=e.getSpatialReference(),e=e.getGeometry()),e?.isEmpty()?null:(re.reset(),ie.execute(0,e,t,re),re.getObject())}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[755,1088,6061],{16141:(e,t,n)=>{n.d(t,{D:()=>E,m:()=>m,s:()=>d,w:()=>y});var s=n(90237),i=n(55537),r=n(35368),a=n(12189),o=n(83661),_=n(79187),h=n(95213);function m(){return{outPoint:new o.P,index:-1,t:Number.NaN}}function u(e,t,n){return{outPoint:e.clone(),index:t,t:n}}function c(e,t,n,s){e.outPoint.assign(t),e.index=n,e.t=s}function l(e,t){e.outPoint.assign(t.outPoint),e.index=t.index,e.t=t.t}function g(e,t,n,s){e.index=n,e.t=s,t.queryCoord2D(e.t,e.outPoint)}function p(e,t){const n=m();l(n,e),l(e,t),l(t,n)}function y(e,t,n,s,r,o){if(e.getGeometryType()===i.G.enumPolygon){for(;s.nextPath();)if(s.hasNextSegment()){const t=s.nextSegment();if(0!==(0,a.g)(e,t.getEndXY(),0))return c(r,t.getEndXY(),-1,Number.NaN),c(o,t.getEndXY(),-1,Number.NaN),!0}s.resetToFirstPath()}if(t.getGeometryType()===i.G.enumPolygon){for(;n.nextPath();)if(n.hasNextSegment()){const e=n.nextSegment();if(0!==(0,a.g)(t,e.getEndXY(),0))return c(r,e.getEndXY(),-1,Number.NaN),c(o,e.getEndXY(),-1,Number.NaN),!0}n.resetToFirstPath()}return!1}function d(e){const t=e.getPathCount(),n=new Array(e.getSegmentCount());let s=0;for(let i=0;i<t;++i){const t=s+e.getSegmentCountPath(i);for(let r=s,a=e.getPathStart(i);r<t;++r,++a)n[r]=a;s=t}return(0,r.s)(e.getPointCount(),n),n}function P(e,t){return!!Number.isNaN(t)||e<=t}function f(e){const t=new r.a;return t.addEnvelope(e,!1),t}class E{constructor(e,t){if(this.m_env2DgeometryA=null,this.m_env2DgeometryB=null,this.m_progressCounter=0,this.m_progressTracker=t,this.m_maxSqrDistance=e*e,this.m_maxDistance=e,this.m_bIsNearCalc=!1,Number.isNaN(this.m_maxDistance)?this.m_maxDistance=Number.POSITIVE_INFINITY:this.m_maxDistance=e,this.m_maxSqrDistance=this.m_maxDistance*this.m_maxDistance,Number.isFinite(this.m_maxSqrDistance)){let e=Math.sqrt(this.m_maxSqrDistance);for(;e<this.m_maxDistance;)this.m_maxSqrDistance*=1+Number.EPSILON,e=Math.sqrt(this.m_maxSqrDistance)}}calculate(e,t,n,s){if((e.getGeometryType()!==h.P.type||t.getGeometryType()!==h.P.type)&&(this.m_env2DgeometryA=new _.J,this.m_env2DgeometryB=new _.J,e.queryEnvelope(this.m_env2DgeometryA),t.queryEnvelope(this.m_env2DgeometryB),!P(this.m_env2DgeometryA.distanceFromEnvelope(this.m_env2DgeometryB),this.m_maxDistance)))return Number.POSITIVE_INFINITY;const i=u(new o.P,(0,o.h)(),Number.NaN),r=u(new o.P,(0,o.h)(),Number.NaN),a=this._ExecuteBruteForce(e,t,i,r);return P(a,this.m_maxDistance)?(null!==n&&l(n,i),null!==s&&l(s,r),a):Number.POSITIVE_INFINITY}isNear(e,t){if(this.m_bIsNearCalc=!0,e.isEmpty()||t.isEmpty())return!1;if(e===t)return!0;let n=!0;if(e.getGeometryType()!==h.P.type&&e.getGeometryType()!==h.E.type||t.getGeometryType()!==h.P.type&&t.getGeometryType()!==h.E.type||(n=!1),n){if(this.m_env2DgeometryA=new _.J,this.m_env2DgeometryB=new _.J,e.queryEnvelope(this.m_env2DgeometryA),t.queryEnvelope(this.m_env2DgeometryB),!(this.m_env2DgeometryA.sqrMaxMinDistanceEnvelope(this.m_env2DgeometryB)>this.m_maxSqrDistance))return!0;if(this.m_env2DgeometryA.sqrDistanceEnvelope(this.m_env2DgeometryB,null,null)>this.m_maxSqrDistance)return!1}const s=u(new o.P,(0,o.h)(),Number.NaN),i=u(new o.P,(0,o.h)(),Number.NaN);return this._ExecuteBruteForce(e,t,s,i)<=this.m_maxDistance}progress_(e=!1){}_ExecuteBruteForce(e,t,n,s){switch(e.getGeometryType()){case i.G.enumPoint:return this.distancePointGeometry(e,t,n,s);case i.G.enumMultiPoint:return this.distanceMultipointGeometry(e,t,n,s);case i.G.enumEnvelope:return this.distanceEnvelopeGeometry(e,t,n,s);case i.G.enumPolyline:case i.G.enumPolygon:return this.distanceMultipathGeometry(e,t,n,s);default:return Number.NaN}}distancePointGeometry(e,t,n,s){switch(t.getGeometryType()){case i.G.enumPoint:return this.distancePointPoint(e,t,n,s);case i.G.enumMultiPoint:return this.distancePointMultipoint(e,t,n,s);case i.G.enumPolyline:case i.G.enumPolygon:return this.distancePointMultipath(e,t,n,s);case i.G.enumEnvelope:return this.distancePointEnvelope(e,t,n,s);default:return Number.NaN}}distancePointPoint(e,t,n,s){const i=e.getXY(),r=t.getXY();return c(n,i,0,0),c(s,r,0,0),Math.sqrt(o.P.sqrDistance(i,r))}distancePointMultipoint(e,t,n,s){const i=e.getXY();let r=this.m_maxSqrDistance,a=r,_=!1;const h=t.getPointCount(),m=new o.P;for(let e=0;e<h;++e)if(t.queryXY(e,m),a=o.P.sqrDistance(i,m),this.m_bIsNearCalc){if(a<=r)return 0}else if(!(a>r)&&(!_&&a===r||a<r)&&(r=a,c(n,i,0,0),c(s,m,e,0),_=!0,0===r))return 0;return _?Math.sqrt(r):Number.POSITIVE_INFINITY}distancePointMultipath(e,t,n,s){const r=!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB),h=e.getXY();if(!r&&t.getGeometryType()===i.G.enumPolygon&&0!==(0,a.g)(t,h,0))return c(n,h,0,0),c(s,h,-1,Number.NaN),0;t.getImpl().getAccelerators();let m=this.m_maxSqrDistance,u=m,l=-1;const g=new _.J,p=t.querySegmentIterator();let y=!1;for(;p.nextPath();)for(;p.hasNextSegment();){const e=p.nextSegment();e.queryEnvelope(g);const t=g.sqrDistance(h);if(t>m)continue;if(!this.m_bIsNearCalc&&y&&t===m)continue;l=e.getClosestCoordinate(h,!1);const i=e.getCoord2D(l);if(u=o.P.sqrDistance(h,i),this.m_bIsNearCalc){if(u<=m)return 0}else if(!(u>m)&&(!y||u<m)&&(m=u,c(n,h,0,0),c(s,i,p.getStartPointIndex(),l),y=!0,0===m))return 0}return y?Math.sqrt(m):Number.POSITIVE_INFINITY}distancePointEnvelope(e,t,n,s){const i=e.getXY();c(n,i,0,0),c(s,i,-1,Number.NaN);const r=t.asEnvelope2D();return r.contains(i)?0:Math.sqrt(r.sqrDistance(i,s.outPoint))}distanceMultipointGeometry(e,t,n,s){switch(t.getGeometryType()){case i.G.enumPoint:{this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const i=this.distancePointMultipoint(t,e,s,n);return this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),i}case i.G.enumMultiPoint:return this.distanceMultipointMultipoint(e,t,n,s,1,1);case i.G.enumPolyline:case i.G.enumPolygon:return this.distanceMultipointMultipath(e,t,n,s);case i.G.enumEnvelope:return this.distanceMultipointMultipath(e,f(t),n,s);default:return Number.NaN}}distanceMultipointMultipoint(e,t,n,i,r,a){const _={stack:[],error:void 0,hasError:!1};try{if(this.m_bIsNearCalc&&1===r&&1===a){const s=Math.trunc((0,o.c)(Math.sqrt(e.getPointCount())+1,1,(0,o.i)())),r=Math.trunc((0,o.c)(Math.sqrt(t.getPointCount())+1,1,(0,o.i)()));if((s>=4||r>=4)&&this.distanceMultipointMultipoint(e,t,n,i,s,r)<=this.m_maxSqrDistance)return 0}let h=this.m_maxSqrDistance;const m=[e],u=[t],l=this.swapGeometriesIfBGtA(m,u);l&&(this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),a=(0,o.b)(r,r=a),p(n,i)),(0,s.b)(_,(0,o.f)((()=>{p(n,i),this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)}),!l),!1);const g=m[0].getImpl(),y=u[0].getImpl(),d=g.getPointCount(),P=y.getPointCount(),f=P>1;let E=!1;const x=new o.P,S=new o.P;for(let e=0;e<d;e+=r){if(g.queryXY(e,x),f){const e=this.m_env2DgeometryB.sqrDistance(x);if(this.m_bIsNearCalc){if(e>h)continue;if(this.m_env2DgeometryB.sqrMaxMinDistance(x)<=h)return 0}else if(e>=h)continue}for(let t=0;t<P;t+=a){y.queryXY(t,S);const s=o.P.sqrDistance(x,S);if(this.m_bIsNearCalc){if(s<=h)return 0}else if(!(s>h||E&&s===h)&&(!E||s<h)&&(c(n,x,e,0),c(i,S,t,0),E=!0,h=s,0===h))return E?Math.sqrt(h):Number.POSITIVE_INFINITY}}return E?Math.sqrt(h):Number.POSITIVE_INFINITY}catch(e){_.error=e,_.hasError=!0}finally{(0,s.c)(_)}}distanceMultipointMultipath(e,t,n,s){let r=!!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)&&t.getGeometryType()===i.G.enumPolygon;const h=t.querySegmentIterator();h.stripAttributes();const m=new _.J,u=new o.P;let l=this.m_maxSqrDistance;const g=e.getImpl(),p=g.getPointCount(),y=p>1;let d=!1;for(;h.nextPath();)for(;h.hasNextSegment();){const e=h.nextSegment();if(e.queryLooseEnvelope(m),y){const e=m.sqrDistanceEnvelope(this.m_env2DgeometryA,null,null);if(this.m_bIsNearCalc){if(e>l)continue}else if(e>l||d&&e===l)continue}for(let i=0;i<p;i++){if(g.queryXY(i,u),r&&0!==(0,a.g)(t,u,0))return c(n,u,-1,Number.NaN),c(s,u,i,0),0;{const e=m.sqrDistance(u);if(this.m_bIsNearCalc){if(e>l)continue}else if(e>l)continue}const o=e.getClosestCoordinate(u,!1),_=e.getCoord2D(o);u.subThis(_);const p=u.sqrLength();if(this.m_bIsNearCalc){if(p<=l)return 0}else if(!(p>l)&&(!d||p<l)&&(l=p,c(n,g.getXY(i),i,0),c(s,_,h.getStartPointIndex(),o),d=!0,0===l))return 0}r=!1}return d?Math.sqrt(l):Number.POSITIVE_INFINITY}distanceEnvelopeGeometry(e,t,n,s){switch(t.getGeometryType()){case i.G.enumPoint:return this.distancePointEnvelope(t,e,s,n);case i.G.enumMultiPoint:{this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const i=this.distanceMultipointMultipath(t,f(e),s,n);return this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),i}case i.G.enumPolyline:case i.G.enumPolygon:return this.distanceMultipathMultipath(f(e),t,n,s);case i.G.enumEnvelope:return this.distanceEnvelopeEnvelope(e,t,n,s);default:return Number.NaN}}distanceEnvelopeEnvelope(e,t,n,s){n.t=Number.NaN,n.index=-1,s.t=Number.NaN,s.index=-1;const i=e.asEnvelope2D(),r=t.asEnvelope2D();return Math.sqrt(i.sqrDistanceEnvelope(r,n.outPoint,s.outPoint))}distanceMultipathGeometry(e,t,n,s){switch(t.getGeometryType()){case i.G.enumPoint:{this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const i=this.distancePointMultipath(t,e,s,n);return this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),i}case i.G.enumMultiPoint:{this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const i=this.distanceMultipointMultipath(t,e,s,n);return this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),i}case i.G.enumPolyline:case i.G.enumPolygon:return this.distanceMultipathMultipath(e,t,n,s);case i.G.enumEnvelope:return this.distanceMultipathMultipath(e,f(t),n,s);default:return Number.NaN}}distanceMultipathMultipath(e,t,n,i){const a={stack:[],error:void 0,hasError:!1};try{const h=[e],u=[t],c=this.swapGeometriesIfAGtB(h,u);c&&(this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),p(n,i)),(0,s.b)(a,(0,o.f)((()=>{p(n,i),this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)}),!c),!1);const P=h[0],f=u[0],E=P.querySegmentIterator();E.stripAttributes();const x=f.querySegmentIterator();if(x.stripAttributes(),this.m_bIsNearCalc&&this.m_env2DgeometryA.sqrMaxMinDistanceEnvelope(this.m_env2DgeometryB)<=this.m_maxSqrDistance)return 0;if(this.m_bIsNearCalc){const e=Math.trunc((0,o.c)(Math.sqrt(P.getPointCount())+1,1,(0,o.i)())),t=Math.trunc((0,o.c)(Math.sqrt(P.getPointCount())+1,1,(0,o.i)()));if(this.distanceMultipointMultipoint(P,f,n,i,e,t)<=this.m_maxSqrDistance)return 0}if(this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)){const e=m(),t=m();if(y(P,f,E,x,e,t))return l(n,e),l(i,t),0}const S=d(P),v=[],N=new r.S,A=new _.J,M=new _.J,D=new _.J;let C=this.m_maxSqrDistance,b=!0,T=!1;for(let e=0,t=S.length;e<t;++e){P.querySegment(S[e],N,!0);const t=N.get();if(t.queryEnvelope(A),!(A.sqrDistanceEnvelope(this.m_env2DgeometryB,null,null)>C)){if(this.m_bIsNearCalc&&A.sqrMaxDistanceEnvelope(this.m_env2DgeometryB)<=C)return 0;for(;x.nextPath();){if(this.progress_(),b)f.queryPathEnvelope(x.getPathIndex(),D),v[x.getPathIndex()]=D.clone();else if(A.sqrDistanceEnvelope(v[x.getPathIndex()],null,null)>C)continue;for(;x.hasNextSegment();){const s=x.nextSegment();if(s.queryEnvelope(M),A.sqrDistanceEnvelope(M,null,null)<=C){const r=!A.isIntersecting(M),a=[0],o=[0];let _=t.distance(s,r,a,o);if(_*=_,this.m_bIsNearCalc&&_<=this.m_maxSqrDistance)return 0;if(_<C||_===C&&S[e]<n.index){if(T=!0,g(n,t,S[e],a[0]),g(i,s,x.getStartPointIndex(),o[0]),0===_)return 0;C=_}}}}x.resetToFirstPath(),b=!1}}return T?Math.sqrt(C):Number.POSITIVE_INFINITY}catch(e){a.error=e,a.hasError=!0}finally{(0,s.c)(a)}}swapGeometriesIfAGtB(e,t){return(0,i.v)(e[0])>(0,i.v)(t[0])&&(t[0]=(0,o.b)(e[0],e[0]=t[0]),!0)}swapGeometriesIfBGtA(e,t){return this.swapGeometriesIfAGtB(t,e)}}},50755:(e,t,n)=>{n.r(t),n.d(t,{OperatorGeodeticArea:()=>T});var s=n(55537),i=n(35368),r=n(5247),a=n(12189),o=n(83661),_=n(79187),h=n(95213),m=n(31139),u=n(47591),c=n(90237),l=n(11878);n(16141),n(76061),n(31088),Symbol.dispose;class g{constructor(e,t,n,s,i=0,r=4){this.m_ptDistFrom=new o.P,this.m_segStartPt=new o.P,this.m_segEndPt=new o.P,this.m_geodeticLength=new a.E,this.m_az12=new a.E,this.m_minGeodeticDist=new a.E,this.m_segStartPt3d=new h.h,this.m_segEndPt3d=new h.h,this.m_sr=s,this.m_distCurveType=i,this.m_segCurveType=r,this.m_inputGCS=this.m_sr.getGCS(),this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_bIsPannablePcs=2===this.m_sr.getCoordinateSystemType()&&this.m_sr.isPannable();const _=(0,a.G)();this.m_inputGCS.querySpheroidData(_),this.m_a=_.majorSemiAxis,this.m_eSquared=_.e2,this.setPointDistFrom(e),this.setSegmentEndPoints(t,n)}setSegmentEndPoints(e,t){this.m_segStartPt.assign(e),this.m_segEndPt.assign(t),this.m_bIsPannablePcs||(this.m_segStartPt.mulThis(this.m_rpu),this.m_segEndPt.mulThis(this.m_rpu)),2===this.m_segCurveType&&(this.m_segStartPt3d.assign((0,a.Q)(this.m_a,this.m_eSquared,this.m_segStartPt)),this.m_segEndPt3d.assign((0,a.Q)(this.m_a,this.m_eSquared,this.m_segEndPt))),this.calculateAndUpdateSegmentLength()}setPointDistFrom(e){this.m_ptDistFrom.assign(e),this.m_ptDistFrom.scale(this.m_rpu)}setSegmentCurveType(e){this.m_segCurveType=e}setDistanceCurveType(e){this.m_distCurveType=e}makeFunctor(){return e=>{let t;switch(this.m_segCurveType){case 0:case 1:case 3:{const n={stack:[],error:void 0,hasError:!1};try{const s=(0,c.b)(n,new a.E,!1),i=(0,c.b)(n,new a.E,!1);a.F.geodeticCoordinate(this.m_a,this.m_eSquared,this.m_segStartPt.x,this.m_segStartPt.y,this.m_geodeticLength.val*e,this.m_az12.val,s,i,this.m_segCurveType),t=new o.P(s.val,i.val);break}catch(e){n.error=e,n.hasError=!0}finally{(0,c.c)(n)}}case 2:{const n=h.h.lerp(this.m_segStartPt3d,this.m_segEndPt3d,e);t=(0,a.Y)(this.m_a,this.m_eSquared,n);break}case 4:t=o.P.lerp(this.m_segStartPt,this.m_segEndPt,e),this.m_bIsPannablePcs&&((0,a.S)(this.m_sr,0,[t],1),t.mulThis(this.m_rpu));break;default:(0,s.c)("Invalid curve type")}return a.F.geodeticDistance(this.m_a,this.m_eSquared,this.m_ptDistFrom.x,this.m_ptDistFrom.y,t.x,t.y,this.m_minGeodeticDist,null,null,this.m_distCurveType),this.m_minGeodeticDist.val}}calculateAndUpdateSegmentLength(){switch(this.m_segCurveType){case 0:case 2:case 1:case 3:a.F.geodeticDistance(this.m_a,this.m_eSquared,this.m_segStartPt.x,this.m_segStartPt.y,this.m_segEndPt.x,this.m_segEndPt.y,this.m_geodeticLength,this.m_az12,null,this.m_segCurveType);break;case 4:this.m_geodeticLength.val=o.P.distance(this.m_segStartPt,this.m_segEndPt);break;default:(0,s.c)("Invalid curve type")}}[Symbol.dispose](){this.m_geodeticLength[Symbol.dispose](),this.m_az12[Symbol.dispose](),this.m_minGeodeticDist[Symbol.dispose]()}}Symbol.dispose;class p{constructor(e,t,n,s,i=100){this.m_startPt=e.clone(),this.m_endPt=t.clone(),this.m_cE2=s,this.m_cE=Math.sqrt(this.m_cE2),this.m_c1By2e=1/(2*this.m_cE),this.m_cRpu=n.getGCS().getUnit().getUnitToBaseFactor(),this.isPcs=2===n.getCoordinateSystemType(),this.PEProjcs=n.getPECoordSys(),this.m_points=new Array(2*i)}setSegmentEndPoints(e,t){this.m_startPt.assign(e),this.m_endPt.assign(t)}makeFunctor(){return e=>{const t=[0,0];t[0]=this.m_startPt.x*(1-e)+this.m_endPt.x*e,t[1]=this.m_startPt.y*(1-e)+this.m_endPt.y*e,this.isPcs&&a.Z.projToGeogCenter(this.PEProjcs,1,t,0);const n=Math.sin(t[1]*this.m_cRpu);return 0===this.m_cE2?n:-Math.log((1-this.m_cE*n)/(1+this.m_cE*n))*this.m_c1By2e+n/(1-this.m_cE2*n*n)}}}function y(e,t,n,s,i){const o=(new r.O).execute(e,t,0,0,i);let h;h=s?(new a.v).execute(o,s,i):o;const m=1===n.getUnit().getUnitToBaseFactor()?Math.PI/180:1,u=new _.J;h.queryEnvelope(u);const c=new _.J,l=new _.J,g=new _.J;c.setCoords({xmin:u.xmin,ymin:75*m,xmax:u.xmax,ymax:90*m}),l.setCoords({xmin:u.xmin,ymin:-60*m,xmax:u.xmax,ymax:75*m}),g.setCoords({xmin:u.xmin,ymin:-90*m,xmax:u.xmax,ymax:-60*m}),c.inflateCoords(.01*c.width(),0),l.inflateCoords(.01*l.width(),0),g.inflateCoords(.01*g.width(),0);let p=0;return p+=d(h,c,n,i),p+=d(h,l,n,i),p+=d(h,g,n,i),p}function d(e,t,n,i){const r=(new m.O).execute(e,t,n,i);if(null!==r&&!r.isEmpty()){const e=new _.J;r.queryEnvelope(e);const{first:t,second:h}=function(e,t){const n=function(e,t){const n=e.getUnit().getUnitToBaseFactor(),i=t.getCenter();i.scale(180*n/Math.PI);const r=new o.P;r.x=0,r.y=0;let _=0;if(0===_){i.y>45?(r.y=o.l,_=0):i.y<-45?(r.y=-o.l,_=1):i.x>=45&&i.x<135?(r.x=o.l,_=2):i.x>=135||i.x<-135?(r.x=o.l,_=3):i.x<-45&&i.x>=-135?(r.x=-o.l,_=4):(r.x=0,_=5);const e=n*Math.sqrt((0,o.s)(t.xmin-t.xmax)+(0,o.s)(t.ymin-t.ymax)),s=r.clone(),a=t.getCenter();if(a.scale(n),_<2&&(s.x=a.x),o.P.distance(s,a)+.5*e>o.l)return null}const h=P[_];if(null!==h&&h.getGCS().equalHorizontal(e))return h;const m=e.getText(),u=r.x,c=r.y;let l=0,g=-1;6!==_?g=a.a4.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA:((0,s.g)(false),l=0,g=a.a4.PE_PRJ_CYLINDRICAL_EQAREA);const p=(0,a.aw)("EqualAreaPCS");let y;g===a.a4.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA?y=`PROJCS["${p}",${m},PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",${u}],PARAMETER["Latitude_of_Origin",${c}],UNIT["Meter",1.0]]`:g===a.a4.PE_PRJ_CYLINDRICAL_EQAREA?y=`PROJCS["${p}",${m},PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",${u}],PARAMETER["Standard_Parallel_1",${l}],PARAMETER["Latitude_of_Origin",${c}],UNIT["Meter",1.0]]`:(0,s.c)("getEqualAreaPcsFixed");const d=(0,a.a)(y);return P[_]&&P[_].destroy(),P[_]=d,d}(e,t);if(null!==n)return(0,o.n)(n,!1);const i=e.getText(),r=e.getUnit().getUnitToBaseFactor(),_=(t.xmin+t.width()/2)*r,h=(t.ymin+t.height()/2)*r;let m=0,u=0,c=-1;t.ymin*r>=75*Math.PI/180||t.ymax*r<=-60*Math.PI/180?c=a.a4.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA:t.ymin>0||t.ymax<0?(m=(t.ymin+1/3*t.height())*r,u=(t.ymin+2/3*t.height())*r,c=a.a4.PE_PRJ_ALBERS):(m=(t.ymin+2/3*t.height())*r,c=a.a4.PE_PRJ_CYLINDRICAL_EQAREA);const l=(0,a.aw)("EqualAreaPCS");let g;return c===a.a4.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA?g=`PROJCS["${l}",${i},PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",${_}],PARAMETER["Latitude_of_Origin",${h}],UNIT["Meter",1.0]]`:c===a.a4.PE_PRJ_ALBERS?g=`PROJCS["${l}",${i},PROJECTION["Albers"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",${_}],PARAMETER["Standard_Parallel_1",${m}],PARAMETER["Standard_Parallel_2",${u}],PARAMETER["Latitude_of_Origin",${h}],UNIT["Meter",1.0]]`:c===a.a4.PE_PRJ_CYLINDRICAL_EQAREA?g=`PROJCS["${l}",${i},PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",${_}],PARAMETER["Standard_Parallel_1",${m}],PARAMETER["Latitude_of_Origin",${h}],UNIT["Meter",1.0]]`:(0,s.c)("getEqualAreaPCSInstance"),(0,o.n)((0,a.a)(g),!0)}(n,e),m=(0,a.p)(n,t,null),u=(new a.v).execute(r,m,i).calculateArea2D();return h&&t.destroy(),u}return 0}const P=[null,null,null,null,null,null,null];class f{getOperatorType(){return 10314}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}execute(e,t,n){if(0===t.getCoordinateSystemType()&&(0,s.t)(""),e.isEmpty()||e.getDimension()<2)return 0;if((0,s.d)(e),e.getGeometryType()===s.G.enumEnvelope){const s=new i.a;return s.addEnvelope(e,!1),this.execute(s,t,n)}let c=e;e.getDescription().getAttributeCount()>1&&(c=e.clone(),c.dropAllAttributes());const l=(new r.O).execute(c,0,t.getTolerance(0),0,n);let g=null;const d=t.getGCS();d!==t&&(g=(0,a.p)(t,d));let P=(new a.h).execute(l,t,!1,n);return P.isEmpty()?0:(P===e&&(P=e.clone()),t.isPannable()?function(e,t,n){const s=new _.J;e.queryEnvelope(s);const r=(0,h.c)(t,s,!0).total(),u=t.getPannableExtent();u.xmin=s.xmin-10*r,u.xmax=s.xmax+10*r;const c=(new m.O).execute(e,u,t,n).getImpl().querySegmentIterator();c.stripAttributes();const l=(0,a.G)();t.querySpheroidData(l);const g=l.e2,y=0===g?2:1,d=new o.P(0,0),P=new o.P(0,0),f=new o.K(0),E=new p(d,P,t,g,100);for(;c.nextPath();)for(;c.hasNextSegment();){const e=c.nextSegment();d.assign(e.getStartXY()),P.assign(e.getEndXY()),E.setSegmentEndPoints(d,P);const t=(0,i.x)(6,0,1,1e-12,1e-15,E.makeFunctor());f.pe((P.x-d.x)*t)}const x=l.majorSemiAxis;return y*x*x*(1-g)*Math.PI*f.getResult()/t.getPannableExtent().width()}(P,t,n):function(e,t,n,s,i){const r=function(e,t,n){const s=e.calculateLength2D(),i=(new u.O).execute(e,t,n)/25e3,r=s/e.getSegmentCount()*2;let a=Math.min(r,s/i);return 0===a&&(a=1),(0,o.n)(a,s/a)}(e,t,i);let a=y(e,r.first,n,s,i),_=1,h=0,m=0;do{if(_++,r.first*=.5,r.first<50*t.getTolerance(0))return a;r.second*=2,m=y(e,r.first,n,s,i),h=Math.abs(m-a),a=m}while(Math.abs(a)>1&&h>1e-8*Math.abs(a)&&(r.second<65e3&&_<8||_<4));return m}(P,t,d,g,n))}}function E(){return{m_p_PCS:new o.P,m_factor:Number.NaN,setValues:x,assign:S}}function x(e,t){this.m_factor=e,this.m_p_PCS.assign(t)}function S(e){this.m_factor=e.m_factor,this.m_p_PCS.assign(e.m_p_PCS)}class v{constructor(e,t,n,s){this.m_ptStart=new h.h,this.m_ptEnd=new h.h,this.m_ptStart.assign(t),this.m_ptEnd.assign(n),this.m_deltaX=this.m_ptEnd.x-this.m_ptStart.x,this.m_deltaY=this.m_ptEnd.y-this.m_ptStart.y,this.m_e=Math.sqrt(e),this.m_e2=e,this.m_c1MinusE2=1-e;const i=Math.sin(s);let r;r=0===this.m_e2?2*i:i*((0,o.x)(this.m_e*i)+1/(1-this.m_e2*i*i)),this.m_baseA=r}setSegmentEndPoints(e,t){this.m_ptStart.assign(e),this.m_ptEnd.assign(t),this.m_deltaX=this.m_ptEnd.x-this.m_ptStart.x,this.m_deltaY=this.m_ptEnd.y-this.m_ptStart.y}makeFunctor(){return e=>{const t=1-e,n=t*this.m_ptStart.x+e*this.m_ptEnd.x,s=t*this.m_ptStart.y+e*this.m_ptEnd.y,i=t*this.m_ptStart.z+e*this.m_ptEnd.z,r=n*n+s*s,a=i/Math.sqrt(i*i+this.m_c1MinusE2*this.m_c1MinusE2*r);let _;return _=0===this.m_e2?2*a:a*((0,o.x)(this.m_e*a)+1/(1-this.m_e2*a*a)),(this.m_deltaY*n-this.m_deltaX*s)/r*(_-this.m_baseA)}}}function N(){return{sin_phi:Number.NaN,one_p_sin_phi:Number.NaN,one_m_sin_phi:Number.NaN,one_m_e_2_sin_2_phi:Number.NaN,sin_half_phi_pf:Number.NaN,sin_half_phi_pz:Number.NaN,sin_half_asin_e_sin_phi_pf:Number.NaN,sin_half_asin_e_sin_phi_pz:Number.NaN,atanh_sin_phi:Number.NaN,atanh_esin_phi:Number.NaN,make_negative:!1,initialize:A,changeSign:M,assign:D,clone:C}}function A(e,t,n,s){const i=.5*e;this.sin_phi=Math.sin(e);const r=t*this.sin_phi,a=.5*Math.asin(r);this.one_p_sin_phi=1+this.sin_phi,this.one_m_sin_phi=1-this.sin_phi,this.one_m_e_2_sin_2_phi=(1+r)*(1-r),this.sin_half_phi_pf=Math.sin(i+n),this.sin_half_phi_pz=Math.sin(i+s),this.sin_half_asin_e_sin_phi_pf=Math.sin(a+n),this.sin_half_asin_e_sin_phi_pz=Math.sin(a+s),this.atanh_sin_phi=Math.log(this.sin_half_phi_pf/this.sin_half_phi_pz),this.atanh_esin_phi=Math.log(this.sin_half_asin_e_sin_phi_pf/this.sin_half_asin_e_sin_phi_pz)}function M(){this.sin_phi=-this.sin_phi;let e=this.one_p_sin_phi;this.one_p_sin_phi=this.one_m_sin_phi,this.one_m_sin_phi=e,e=this.sin_half_phi_pf,this.sin_half_phi_pf=this.sin_half_phi_pz,this.sin_half_phi_pz=e,e=this.sin_half_asin_e_sin_phi_pf,this.sin_half_asin_e_sin_phi_pf=this.sin_half_asin_e_sin_phi_pz,this.sin_half_asin_e_sin_phi_pz=e,this.atanh_sin_phi=-this.atanh_sin_phi,this.atanh_esin_phi=-this.atanh_esin_phi}function D(e){this.sin_phi=e.sin_phi,this.one_p_sin_phi=e.one_p_sin_phi,this.one_m_sin_phi=e.one_m_sin_phi,this.one_m_e_2_sin_2_phi=e.one_m_e_2_sin_2_phi,this.sin_half_phi_pf=e.sin_half_phi_pf,this.sin_half_phi_pz=e.sin_half_phi_pz,this.sin_half_asin_e_sin_phi_pf=e.sin_half_asin_e_sin_phi_pf,this.sin_half_asin_e_sin_phi_pz=e.sin_half_asin_e_sin_phi_pz,this.atanh_sin_phi=e.atanh_sin_phi,this.atanh_esin_phi=e.atanh_esin_phi,this.make_negative=e.make_negative}function C(){return{...this}}class b{constructor(e,t,n){this.m_transformPCS2GCS=null,this.m_scaleToRadians=new l.T,this.m_scaleToDegrees=new l.T,this.m_progressTracker=n,(0,s.g)(4!==t),this.m_curveType=t,this.m_inputSR=e,e&&0!==e.getCoordinateSystemType()||(0,s.t)(""),this.m_inputGCS=e.getGCS(),this.m_a=0,this.m_eSquared=0,this.m_b=0,this.m_rpu=0}executePolygonGeodeticArea(e){let t,n=e.clone();if(n.dropAllAttributes(),e.hasNonLinearSegments()&&(n=(new r.O).execute(n,0,this.m_inputSR.getTolerance(0),0,this.m_progressTracker)),this.m_inputSR.isPannable()){const e=new _.J;n.queryEnvelope(e);const t=this.m_inputSR.getPannableExtent();if(!t.containsEnvelope(e)){const s=t.getCenterX()-e.getCenterX(),i=new l.T;i.setShiftCoords(s,0),n.applyTransformation(i),e.move(s,0);const r=new o.E;t.queryIntervalX(r);const _=new o.E;e.queryIntervalX(_),n=r.contains(_)?(0,a.w)(n,this.m_inputSR):(new a.v).foldInto360RangeGeodetic(n,this.m_inputSR,this.m_curveType)}}if(this.m_transformPCS2GCS?(n=(new a.h).execute(n,this.m_inputSR,!1,this.m_progressTracker),t=n.createInstance(),(0,a.$)(this.m_transformPCS2GCS,n,t,this.m_progressTracker)||(t=(new a.v).execute(n,this.m_transformPCS2GCS,this.m_progressTracker))):t=(new a.h).execute(n,this.m_inputGCS,!1,this.m_progressTracker),t.isEmpty())return 0;if(1===this.m_curveType){const e=(0,a.G)();return this.m_inputGCS.querySpheroidData(e),this.m_a=e.majorSemiAxis,this.m_eSquared=e.e2,this.loxodromeArea(t)}const s=t.getImpl();this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_scaleToRadians.setScale(this.m_rpu),s.applyTransformation(this.m_scaleToRadians),this.m_scaleToDegrees=this.m_scaleToRadians,this.m_scaleToDegrees.invertThis();const i=(0,a.G)();if(this.m_inputGCS.querySpheroidData(i),this.m_a=i.majorSemiAxis,this.m_b=i.minorSemiAxis,this.m_eSquared=i.e2,2===this.m_curveType)return this.executeClippedPolygonGreatEllipticArea(t);{const e={stack:[],error:void 0,hasError:!1};try{const n=a.ax.unit(9101),s=this.m_inputGCS.getPECoordSys(),i=(0,c.b)(e,s.cloneAlterUnits(n),!1);let r,o,_=this.executeClippedPolygonGeodeticArea(t,i,0),h=0;do{h++,r=this.executeClippedPolygonGeodeticArea(t,i,h),o=Math.abs(r-_),_=r}while(Math.abs(r)>1&&o>1e-8*Math.abs(r)&&h<7);return r}catch(t){e.error=t,e.hasError=!0}finally{(0,c.c)(e)}}}executeClippedPolygonGeodeticArea(e,t,n){const s={stack:[],error:void 0,hasError:!1};try{const i=new _.J;e.queryEnvelope(i);const r=(0,c.b)(s,this.getEqualAreaPCSInstance(t,i),!1),h=e.clone();(0,a.ay)(r,h);const m=50,u=h.getImpl().getAttributeStreamRef(0),l=e.getImpl().getAttributeStreamRef(0),g=(0,c.b)(s,new a.E,!1),p=(0,c.b)(s,new a.E,!1),y=40,d=[0,0],P=(0,o.p)(E,y),f=(0,o.j)(y,-1),x=E(),S=E();let v,N;const A=r;let M=h.calculateArea2D();const D=new o.K(0),C=.5*Math.PI,b=1e-10*Math.abs(M)+1e-6,T=e.getPathCount();let q,w,I,G;const R=new o.P,L=new o.P,B=new o.P,F=new o.P,Y=new o.P,O=new o.P;let z,k;for(w=e.getPathStart(0),q=0;q<T;q++,w=I)for(I=e.getPathEnd(q),u.queryPoint2D(I-1<<1,B),l.queryPoint2D(I-1<<1,R),Math.abs(R.y)>C&&(R.y=(0,o.e)(C,R.y)),G=w;G<I;G++,B.assign(F),R.assign(L)){if(u.queryPoint2D(G<<1,F),l.queryPoint2D(G<<1,L),Math.abs(L.y)>C&&(L.y=(0,o.e)(C,L.y)),z=o.P.distance(B,F),z<m||0===R.y&&0===L.y)continue;a.F.geodeticDistance(this.m_a,this.m_eSquared,R.x,R.y,L.x,L.y,g,p,null,this.m_curveType);const e=g.val,t=p.val;for(x.setValues(0,B),S.setValues(1,F),N=n,P[0].assign(S),f[0]=n,v=0;v>=0;){k=.5*(x.m_factor+S.m_factor),a.F.geodeticCoordinate(this.m_a,this.m_eSquared,R.x,R.y,e*k,t,g,p,this.m_curveType),Y.x=g.val,Y.y=p.val,d[0]=Y.x,d[1]=Y.y,a.Z.geogToProj(A,1,d),O.x=d[0],O.y=d[1];const n=.5*-O.offset(x.m_p_PCS,S.m_p_PCS)*o.P.distance(x.m_p_PCS,S.m_p_PCS);if(D.pe(n),Math.abs(n)>b||Math.abs(n)>0&&N>0)S.setValues(k,O),v++,P[v].assign(S),Math.abs(n)<=b?(N--,f[v-1]=N,f[v]=N):(N=f[v-1],f[v]=N);else{if(v<=0)break;x.assign(S),v--,S.assign(P[v]),N=f[v]}}}return M+=D.getResult(),Math.abs(M)}catch(e){s.error=e,s.hasError=!0}finally{(0,c.c)(s)}}executeClippedPolygonGreatEllipticArea(e){const t=[],n=[],s=new o.P,i=new o.P,r=(0,a.Q)(1,this.m_eSquared,new o.P(0,.5*Math.PI)),m=new o.K(0),u=new o.K(0),c=new o.K(0),l=new h.h,g=new h.h,p=new _.J;e.queryLooseEnvelope(p);let y=0;p.containsCoords(p.xmin,0)||(y=Math.abs(p.ymin)<Math.abs(p.ymax)?p.ymin:p.ymax);const d=new v(this.m_eSquared,l,g,y),P=this.m_a*this.m_a,f=e.getImpl().querySegmentIterator();for(f.stripAttributes();f.nextPath();)for(;f.hasNextSegment();){const e=f.nextSegment();s.assign(e.getStartXY()),i.assign(e.getEndXY()),i.x-s.x>Math.PI?s.x+=2*Math.PI:i.x-s.x<-Math.PI&&(i.x+=2*Math.PI),this.splitSegmentCrossingItegralThreshold(e,t,n);for(let e of t)l.assign((0,a.Q)(this.m_a,this.m_eSquared,e.getStartXY())),g.assign((0,a.Q)(this.m_a,this.m_eSquared,e.getEndXY())),d.setSegmentEndPoints(l,g),this.adaptiveIntegrationWithRomberg(d,m);for(let e of n){let t=e.getStartXY(),n=e.getEndXY(),s=y;t.y<0&&(n=(0,o.b)(t,t=n),t.y=-t.y,n.y=-n.y,s=-s);const i=(0,a.Q)(1,this.m_eSquared,t),_=(0,a.Q)(1,this.m_eSquared,n),m=Math.min(t.y,n.y),l=(0,a.az)(this.m_eSquared,t.x,n.x,s,m);u.pe(l);const g=Math.abs((0,a.az)(this.m_eSquared,t.x,n.x,m,o.l)),p=new h.h;p.setSub(i,r);const d=new h.h;d.setSub(_,r);const f=new h.h;f.setCrossProductVector(p,d);let E=P*(g-.5*f.length());E=(0,o.e)(E,n.x-t.x),c.pe(E)}t.length=0,n.length=0}return c.getResult()+P*(.5*(1-this.m_eSquared)*m.getResult()+u.getResult())}getEqualAreaPCSInstance(e,t){const n=t.getCenterX();let s,i;const r=t.height();let _,h;(_=t.ymin>45*Math.PI/180||t.ymax<45*-Math.PI/180)?s=(0,o.e)(.5*Math.PI,t.getCenterY()):(s=t.getCenterY(),i=t.ymin+r*(2/3));const m=(0,a.aw)("EqualAreaPCS"),u=e.toString();return h=_?a.ax.fromString(a.a4.PE_TYPE_PROJCS,`PROJCS["${m}", ${u}, PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing", 0],PARAMETER["Central_Meridian", ${n}], PARAMETER["Latitude_of_Origin", ${s}], UNIT["Meter",1.0]]`):a.ax.fromString(a.a4.PE_TYPE_PROJCS,`PROJCS["${m}", ${u}, PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting", 0],PARAMETER["False_Northing", 0],PARAMETER["Central_Meridian", ${n}],PARAMETER["Standard_Parallel_1", ${i}],PARAMETER["Latitude_of_Origin", ${s}],UNIT["Meter",1.0]]`),h}splitSegmentCrossingItegralThreshold(e,t,n){const s=100,r=400,_=(0,a.Q)(this.m_a,this.m_eSquared,new o.P(0,o.l)),m=(0,a.Q)(this.m_a,this.m_eSquared,new o.P(0,-o.l)),u=this.splitSegmentPassingThroughPole(e);for(let e of u){const u=e.getStartXY(),c=e.getEndXY(),l=(0,a.Q)(this.m_a,this.m_eSquared,u),g=(0,a.Q)(this.m_a,this.m_eSquared,c),p=new o.P,y=new h.h;let d=h.h.sqrDistance(_,l),P=h.h.sqrDistance(l,g);if(d<=s){if(!(P>r)){n.push(new i.L({start:u,end:c}));continue}y.assign(g.sub(l)),y.normalizeThis(),y.assign(l.add(y.mul(20))),p.assign((0,a.Y)(this.m_a,this.m_eSquared,y)),n.push(new i.L({start:u,end:p})),u.assign(p)}if(l.assign((0,a.Q)(this.m_a,this.m_eSquared,u)),d=h.h.sqrDistance(_,g),P=h.h.sqrDistance(l,g),d<=s){if(!(P>r)){n.push(new i.L({start:u,end:c}));continue}y.assign(g.sub(l)),y.normalizeThis(),y.assign(g.sub(y.mul(20))),p.assign((0,a.Y)(this.m_a,this.m_eSquared,y)),n.push(new i.L({start:p,end:c})),c.assign(p)}if(l.assign((0,a.Q)(this.m_a,this.m_eSquared,u)),g.assign((0,a.Q)(this.m_a,this.m_eSquared,c)),d=h.h.sqrDistance(m,l),P=h.h.sqrDistance(l,g),d<=s){if(!(P>r)){n.push(new i.L({start:u,end:c}));continue}y.assign(g.sub(l)),y.normalizeThis(),y.assign(l.add(y.mul(20))),p.assign((0,a.Y)(this.m_a,this.m_eSquared,y)),n.push(new i.L({start:u,end:p})),u.assign(p)}if(l.assign((0,a.Q)(this.m_a,this.m_eSquared,u)),g.assign((0,a.Q)(this.m_a,this.m_eSquared,c)),d=h.h.sqrDistance(m,g),P=h.h.sqrDistance(l,g),d<=s){if(!(P>r)){n.push(new i.L({start:u,end:c}));continue}y.assign(g.sub(l)),y.normalizeThis(),y.assign(g.sub(y.mul(20))),p.assign((0,a.Y)(this.m_a,this.m_eSquared,y)),n.push(new i.L({start:p,end:c})),c.assign(p)}t.push(new i.L({start:u,end:c}))}}splitSegmentPassingThroughPole(e){const t={stack:[],error:void 0,hasError:!1};try{const n=[],s=new h.h,r=new h.h,_=new h.h,m=new o.P,u=20,l=3.124139361,p=10,y=e.getStartXY(),d=e.getEndXY(),P=(0,c.b)(t,new a.E,!1);if(a.F.geodeticDistance(this.m_a,this.m_eSquared,y.x,y.y,d.x,d.y,P,null,null,2),Math.abs(d.x-y.x)>l&&P.val>u){const e=new g(new o.P(0,90),y.divide(this.m_rpu),d.divide(this.m_rpu),this.m_inputGCS,2,2);let t=(0,a.U)(e.makeFunctor(),0,1,1e-10);if(t.second<=p&&t.first>0&&t.first<1)return s.assign((0,a.Q)(this.m_a,this.m_eSquared,y)),r.assign((0,a.Q)(this.m_a,this.m_eSquared,d)),(0,o.w)(s,r,t.first,_),m.assign((0,a.Y)(this.m_a,this.m_eSquared,_)),n.push(new i.L({start:y,end:m})),n.push(new i.L({start:m,end:d})),n;if(e.setPointDistFrom(new o.P(0,-90)),t=(0,a.U)(e.makeFunctor(),0,1,1e-10),t.second<=p&&t.first>0&&t.first<1)return s.assign((0,a.Q)(this.m_a,this.m_eSquared,y)),r.assign((0,a.Q)(this.m_a,this.m_eSquared,d)),(0,o.w)(s,r,t.first,_),m.assign((0,a.Y)(this.m_a,this.m_eSquared,_)),n.push(new i.L({start:y,end:m})),n.push(new i.L({start:m,end:d})),n}return n.push(new i.L({start:y,end:d})),n}catch(e){t.error=e,t.hasError=!0}finally{(0,c.c)(t)}}adaptiveIntegrationWithRomberg(e,t){const n=e.makeFunctor();let s=0,r=1,a=n(s),o=n(r);const _=1e-17,h=1e-14;let m=(s+r)/2,u=n(m),c=Math.abs(u-a),l=Math.abs(o-u),g=0;for(;g++<32&&(c/l<.1||l/c<.1);)c<l?(t.pe((0,i.x)(5,s,m,h,_,n)),s=m,a=u):(t.pe((0,i.x)(5,m,r,h,_,n)),r=m,o=u),m=(s+r)/2,u=Math.abs(n(m)),c=Math.abs(u-a),l=Math.abs(o-u);t.pe((0,i.x)(5,s,r,h,_,n))}loxodromeAreaHemi(e,t,n,s,i){const r=n.clone(),a=i.clone();let _,h,m,u,c,l,g,p,y,d,P,f,E,x,S,v;return r.make_negative&&r.changeSign(),a.make_negative&&a.changeSign(),P=s-t,1===Math.abs(r.sin_phi)||1===Math.abs(a.sin_phi)?e.half_qp*P:r.sin_phi===a.sin_phi?(d=.5*e.one_m_e_2*r.sin_phi*(1/r.one_m_e_2_sin_2_phi+(0,o.x)(e.e*r.sin_phi))*P,d):(S=Math.log(a.sin_half_phi_pf*r.sin_half_phi_pz/(a.sin_half_phi_pz*r.sin_half_phi_pf)),v=Math.log(a.sin_half_asin_e_sin_phi_pf*r.sin_half_asin_e_sin_phi_pz/(a.sin_half_asin_e_sin_phi_pz*r.sin_half_asin_e_sin_phi_pf)),1===this.m_eSquared?(c=0,_=.5*(S+a.sin_phi/a.one_m_e_2_sin_2_phi-r.sin_phi/r.one_m_e_2_sin_2_phi),h=0):(c=-2*e.atanh_e_over_e*(Math.log(a.one_p_sin_phi/r.one_p_sin_phi)-e.e*v),_=(S-e.e*v)/e.one_m_e_2,h=(Math.log(a.one_m_e_2_sin_2_phi/r.one_m_e_2_sin_2_phi)+c/e.atanh_e_over_e)/e.one_m_e_2),m=-v*(r.atanh_esin_phi+a.atanh_esin_phi),u=1/r.one_m_e_2_sin_2_phi-1/a.one_m_e_2_sin_2_phi,l=(0,o.y)(a.one_m_sin_phi/e.one_p_e,e.e)-(0,o.y)(r.one_m_sin_phi/e.one_p_e,e.e),g=(0,o.y)(a.one_p_sin_phi/e.one_p_e,e.e)-(0,o.y)(r.one_p_sin_phi/e.one_p_e,e.e),p=(0,o.y)(r.one_m_sin_phi/-e.one_m_e,e.e)-(0,o.y)(a.one_m_sin_phi/-e.one_m_e,e.e),y=(0,o.y)(r.one_p_sin_phi/-e.one_m_e,e.e)-(0,o.y)(a.one_p_sin_phi/-e.one_m_e,e.e),d=.25/_*(h+m+u+c+.5*(l+g+p+y)),d+=e.half_qp,f=.5*e.one_m_e_2*r.sin_phi*(1/r.one_m_e_2_sin_2_phi+(0,o.x)(e.e*r.sin_phi)),E=.5*e.one_m_e_2*a.sin_phi*(1/a.one_m_e_2_sin_2_phi+(0,o.x)(e.e*a.sin_phi)),E<f&&(x=f,f=E,E=x),d<f&&(d=f),d>E&&(d=E),d*=P,d)}loxodromeArea(e){const t=Math.PI/180;let n=0;const s={e:Number.NaN,one_p_e:Number.NaN,one_m_e:Number.NaN,one_m_e_2:Number.NaN,atanh_e_over_e:Number.NaN,half_qp:Number.NaN,f:Number.NaN,z:Number.NaN},i=N(),r=N();s.e=Math.sqrt(this.m_eSquared),s.one_p_e=1+s.e,s.one_m_e=1-s.e,s.one_m_e_2=1-this.m_eSquared,s.atanh_e_over_e=(0,o.x)(s.e),this.m_eSquared>=1?s.half_qp=1:s.half_qp=.5*(1+s.atanh_e_over_e*s.one_m_e_2),s.f=.25*Math.PI,s.z=.75*Math.PI,r.initialize(0,s.e,s.f,s.z);const a=e.getPathCount(),_=new o.P,h=new o.P,m=e.getImpl().getAttributeStreamRef(0);for(let o=0;o<a;o++){const a=e.getPathStart(o),u=e.getPathEnd(o);if(!(u-a<=1)){m.queryPoint2D(2*(u-1),_);for(let e=a;e<u;e++){m.queryPoint2D(2*e,h);const o=_.y*t,u=h.y*t;if(e===a?(i.initialize(o,s.e,s.f,s.z),i.make_negative=!1):i.assign(r),r.initialize(u,s.e,s.f,s.z),r.make_negative=!1,_.y*h.y<0){if(_.y>=90&&h.y<=-90||h.y>=90&&_.y<=-90)return Number.NaN;const e=N();e.initialize(0,s.e,s.f,s.z),e.make_negative=!1;const a=i.atanh_sin_phi-s.e*i.atanh_esin_phi,m=r.atanh_sin_phi-s.e*r.atanh_esin_phi,u=(m*_.x-a*h.x)/(m-a);o<0?(i.make_negative=!0,n-=this.loxodromeAreaHemi(s,_.x*t,i,u*t,e),i.make_negative=!1,n+=this.loxodromeAreaHemi(s,u*t,e,h.x*t,r)):(n+=this.loxodromeAreaHemi(s,_.x*t,i,u*t,e),r.make_negative=!0,n-=this.loxodromeAreaHemi(s,u*t,e,h.x*t,r),r.make_negative=!1)}else _.y>=0?n+=this.loxodromeAreaHemi(s,_.x*t,i,h.x*t,r):(i.make_negative=!0,r.make_negative=!0,n-=this.loxodromeAreaHemi(s,_.x*t,i,h.x*t,r),i.make_negative=!1,r.make_negative=!1);_.assign(h)}}}return this.m_a*n*this.m_a}calculate(e){if(e.isEmpty()||e.getDimension()<2)return 0;if(e.getGeometryType()===s.G.enumEnvelope){const t=new i.a;return t.addEnvelope(e,!1),this.calculate(t)}return this.m_inputSR!==this.m_inputGCS&&null===this.m_transformPCS2GCS&&(this.m_transformPCS2GCS=(0,a.p)(this.m_inputSR,this.m_inputGCS,null)),this.executePolygonGeodeticArea(e)}}class T{getOperatorType(){return 10311}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}execute(e,t,n,i){return(0,s.d)(e),4===n?(new f).execute(e,t,i):new b(t,n,i).calculate(e)}}},31088:(e,t,n)=>{n.r(t),n.d(t,{OperatorGeodeticDensifyByLength:()=>a,OperatorGeodeticDensifyCursor:()=>o});var s=n(76061),i=n(55537),r=n(12189);class a{getOperatorType(){return 10310}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,n,s,i){return new o(e,n,s,t,-1,-1,i)}execute(e,t,n,r,a){const o=new s.S([e]),_=this.executeMany(o,t,n,r,a).next();return _||(0,i.c)("null output"),_}}class o extends s.G{constructor(e,t,n,s,r,a,o){super(),this.m_progressTracker=o,a>0&&(0,i.b)(""),4!==n&&r>0&&(0,i.b)(""),t||(0,i.t)(""),0===t.getCoordinateSystemType()&&(0,i.t)(""),s>0||r>0||(0,i.t)(""),this.m_index=-1,this.m_inputGeoms=e,this.m_spatialReference=t,this.m_curveType=n,this.m_maxLengthMeters=s,this.m_maxDeviationMeters=r,this.m_maxAngle=a}next(){{let e;for(;e=this.m_inputGeoms.next();)return(0,i.d)(e),this.m_index=this.m_inputGeoms.getGeometryID(),this.geodeticDensify(e);return null}}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}geodeticDensify(e){return(0,r.u)(e,this.m_spatialReference,this.m_curveType,this.m_maxLengthMeters,this.m_maxDeviationMeters,this.m_progressTracker)}}},47591:(e,t,n)=>{n.d(t,{O:()=>p});var s=n(55537),i=n(12189),r=n(35368),a=n(83661),o=n(95213),_=n(79187),h=n(5247),m=n(31139);function u(){return{m_pGcs:new a.P,m_xyz:new o.h,m_factor:Number.NaN,m_geoLength:Number.NaN,setValues:c,setLength:l,assign:g}}function c(e,t,n,s){this.m_factor=e,this.m_pGcs.assign(t),this.m_xyz.assign(s),this.m_geoLength=n}function l(e){this.m_geoLength=e}function g(e){this.m_pGcs.assign(e.m_pGcs),this.m_xyz.assign(e.m_xyz),this.m_factor=e.m_factor,this.m_geoLength=e.m_geoLength}class p{getOperatorType(){return 10315}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}_ExecuteShapePreservingLength(e,t,n,s,r){if(e.hasNonLinearSegments()&&(e=(new h.O).execute(e,0,t.getTolerance(0),0,r)),t.isPannable()){let s=90,a=-90;if(1===n.getUnit().getUnitToBaseFactor()&&(s*=Math.PI/180,a*=Math.PI/180),2===t.getCoordinateSystemType()){let e=null;const n=[0,0,0,0];e=t.getPECoordSys(),n[0]=0,n[1]=s,n[2]=0,n[3]=a,i.Z.geogToProj(e,2,n),s=n[1],a=n[3]}const o=new _.J;e.queryEnvelope(o),o.ymin=a,o.ymax=s,e=(new m.O).execute(e,o,t,r)}else{const n=t.getPCSHorizon();if((e=(new i.f).execute(e,n,t,r))===n){const t=e.clone();e=t}}return e.isEmpty()?0:this._ExecuteIterativeApproach(e,t,n,s,1,r)}_ExecuteIterativeApproach(e,t,n,r,_,h){const m=(0,i.G)();n.querySpheroidData(m);const c=m.majorSemiAxis,l=m.e2,g=n.getUnit().getUnitToBaseFactor(),p=(0,a.p)(u,40),P=new Array(40),f=u(),E=u();let x;const S=[0,0,0,0],v=t.getPECoordSys(),N=new a.P,A=new a.P,M=new a.P,D=new a.P,C=new a.P;let b=0;const T=e.querySegmentIterator();for(;T.nextPath();)for(;T.hasNextSegment();){const e=T.nextSegment();N.assign(e.getStartXY()),A.assign(e.getEndXY()),2===t.getCoordinateSystemType()?(S[0]=N.x,S[1]=N.y,S[2]=A.x,S[3]=A.y,i.Z.projToGeog(v,2,S),M.x=S[0]*g,M.y=S[1]*g,D.x=S[2]*g,D.y=S[3]*g):(M.setCoordsPoint2D(N),D.setCoordsPoint2D(A),M.scale(g),D.scale(g));const n=new o.h,r=new o.h;y(c,l,M,n),y(c,l,D,r);let a=d(c,n,r);f.setValues(0,M,Number.NaN,n),E.setValues(1,D,a,r),x=_,p[0].assign(E),P[0]=_;let h=0;for(;;){h>128&&(0,s.c)("iterations exceeded");const n=.5*(f.m_factor+E.m_factor),r=e.getCoord2D(n);2===t.getCoordinateSystemType()?(S[0]=r.x,S[1]=r.y,i.Z.projToGeog(v,1,S),C.x=S[0]*g,C.y=S[1]*g):(C.setCoordsPoint2D(r),C.scale(g)),M.setCoordsPoint2D(f.m_pGcs),D.setCoordsPoint2D(E.m_pGcs);const m=new o.h;y(c,l,C,m);const u=d(c,f.m_xyz,m),N=d(c,E.m_xyz,m);a=E.m_geoLength,Number.isNaN(a)&&(a=d(c,f.m_xyz,E.m_xyz));const A=u+N,T=x===_&&A>=20&&Math.abs(A-a)>1e-8*(a+A);if(h+2<40&&(T||Math.abs(A-a)>0&&x>0))E.setLength(N),p[h].assign(E),E.setValues(n,C,u,m),p[++h].assign(E),T?(x=_,P[h]=_):(x--,P[h-1]=x,P[h]=x);else{if(b+=A,0===h)break;f.assign(E),E.assign(p[--h]),x=P[h]}}}return b}execute(e,t,n){if(t&&0!==t.getCoordinateSystemType()||(0,s.t)(""),e.isEmpty()||e.getDimension()<1)return 0;let a=null;const o=t.getGCS();o!==t&&(a=(0,i.p)(t,o,null));const _=e.getGeometryType();if(_===s.G.enumEnvelope){const s=new r.a;return s.addEnvelope(e,!1),this._ExecuteShapePreservingLength(s,t,o,a,n)}if((0,s.f)(_)){const s=new r.P;return s.addSegment(e,!0),this._ExecuteShapePreservingLength(s,t,o,a,n)}return this._ExecuteShapePreservingLength(e,t,o,a,n)}}function y(e,t,n,s){s.assign((0,i.Q)(e,t,n))}function d(e,t,n){const s=e,i=new o.h;i.setSub(t,n);const r=i.length();return 2*s*Math.asin(r/(2*s))}},76061:(e,t,n)=>{n.d(t,{G:()=>s,S:()=>i});class s{*[Symbol.iterator](){let e=this.next();for(;e;)yield e,e=this.next()}}class i extends s{constructor(e){super(),this.m_iGeom=-1,this.m_aGeoms=e?e.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){const e=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,e}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[716,6061],{1364:(e,t,s)=>{s.d(t,{c:()=>n});var i=s(55537);function n(e,t){const s=e.getGeometryType();return s===i.G.enumPoint?e:(0,i.h)(s)?function(e){if(function(e){for(let t=0,s=e.getPathCount();t<s;t++){const s=e.getPathSize(t);if(0===s)return!1;if(1===s){if(0===e.getSegmentCountPath(t))return!1;if(e.getSegmentType(e.getPathStart(t))===i.G.enumLine)return!1;if(!e.isClosedPath(t))return!1}}return!0}(e))return e;const t=e.createInstance();for(let s=0,n=e.getPathCount();s<n;s++){const n=e.getPathSize(s);if(0!==n){if(1===n){if(0===e.getSegmentCountPath(s))continue;if(e.getSegmentType(e.getPathStart(s))===i.G.enumLine)continue;if(!e.isClosedPath(s))continue}t.addPath(e,s,!0)}}return t}(e):s===i.G.enumMultiPoint||s===i.G.enumEnvelope?e:s===i.G.enumMultipatch?((0,i.b)("not implemented for multipatch"),e):e}},64523:(e,t,s)=>{s.d(t,{O:()=>l});var i=s(90237),n=s(76061),r=s(55537),m=s(35368),o=s(95213),h=s(83661),a=s(5247);class l{getOperatorType(){return 10204}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,s,i){return new c(e,t,s,i)}execute(e,t,s,i){return e||(0,r.t)("null param is not allowed."),new c(null,t,s,i).generalize(e)}}class c extends n.G{constructor(e,t,s,i){super(),this.m_pline=null,this.m_point=new o.P,this.m_stack=[],this.m_resultstack=[],this.m_callCount=0,this.m_progressTracker=i,this.m_geoms=e,this.m_maxDeviation=t,this.m_bRemoveDegenerateParts=s}tock(){return!0}getRank(){return 1}next(){const e=this.m_geoms.next();return null===e?null:((0,r.d)(e),this.generalize(e))}getGeometryID(){return this.m_geoms.getGeometryID()}generalize(e){const t=e.getGeometryType();if((0,r.e)(t))return e;if(t===r.G.enumEnvelope){const t=new m.a({vd:e.getDescription()});return t.addEnvelope(e,!1),this.generalize(t)}if((0,r.f)(t)){const t=new m.P({vd:e.getDescription()});return t.addSegment(e,!0),this.generalize(t)}if((0,r.h)(t)||(0,r.b)(""),e.isEmpty()||this.m_maxDeviation<=0)return e;const s=(new a.O).execute(e,0,.05*this.m_maxDeviation,0,this.m_progressTracker);e.hasNonLinearSegments()&&(this.m_maxDeviation*=.95);const n=s,o=e.createInstance();o.getGeometryType()===r.G.enumPolygon&&o.setFillRule(e.getFillRule()),this.m_xy=n.getAttributeStreamRef(0);{const e={stack:[],error:void 0,hasError:!1};try{const t=new m.L;this.m_pline=t,(0,i.b)(e,(0,h.f)((()=>{this.m_pline=null}),!1),!1);for(let e=0,t=n.getPathCount();e<t;e++)this.generalizePath(n.getImpl(),e,o.getImpl())}catch(t){e.error=t,e.hasError=!0}finally{(0,i.c)(e)}}return this.m_resultstack.length=0,this.m_stack.length=0,o}generalizePath(e,t,s){if(e.getPathSize(t)<2)return;this.m_resultstack.length=0,this.m_stack.length=0;const i=e.getPathStart(t),n=e.getPathEnd(t)-1,r=e.isClosedPath(t),m=e.isClosedPathInXYPlane(t);let o=0,a=-1;this.m_stack.push(r?i:n),this.m_stack.push(i);let l=!1,c=!1;for(!this.m_bRemoveDegenerateParts&&m&&(l=!0,c=!0);this.m_stack.length>1;){const t=this.m_stack.at(-1);this.m_stack.pop();const s=this.m_stack.at(-1);let i=e.getXY(t);this.m_pline.setStartXY(i),i=e.getXY(s),this.m_pline.setEndXY(i);const r=[0];let m=this.findGreatestDistance(t,s,n,r);m>=0&&(l?l=!1:(c&&r[0]>o&&(o=r[0],a=m),r[0]<=this.m_maxDeviation&&(m=-1))),m>=0?(this.m_stack.push(m),this.m_stack.push(t)):this.m_resultstack.push(t)}r||this.m_resultstack.push(this.m_stack[0]);const u=this.m_resultstack.length;if(u===e.getPathSize(t)&&u===this.m_stack.length)s.addPath(e,t,!0);else if(this.m_resultstack.length>0){if(this.m_bRemoveDegenerateParts&&this.m_resultstack.length<=2){if(r||1===this.m_resultstack.length)return;if(h.P.distance(e.getXY(this.m_resultstack[0]),e.getXY(this.m_resultstack[1]))<=this.m_maxDeviation)return}if(c&&a>=0&&o<=this.m_maxDeviation){const e=this.m_resultstack.at(-1)>a;this.m_resultstack.push(a),e&&(this.m_resultstack[this.m_resultstack.length-2]=(0,h.b)(this.m_resultstack[this.m_resultstack.length-1],this.m_resultstack[this.m_resultstack.length-1]=this.m_resultstack[this.m_resultstack.length-2]))}for(let t=0,i=this.m_resultstack.length;t<i;t++)e.getPointByVal(this.m_resultstack[t],this.m_point),0===t?s.startPathPoint(this.m_point):s.lineToPoint(this.m_point);if(r){for(let e=this.m_resultstack.length;e<3;e++)s.lineToPoint(this.m_point);s.closePathWithLine()}}}findGreatestDistance(e,t,s,i){let n=t-1;t<=e&&(n=s);let r=-1,m=0;const o=new h.P;for(let t=e+1;t<=n;t++){this.m_xy.queryPoint2D(2*t,o);const e=o.x,s=o.y,i=this.m_pline.getClosestCoordinate(o,!1);o.assign(this.m_pline.getCoord2D(i)),o.x-=e,o.y-=s;const n=o.length();n>m&&(r=t,m=n),this.m_callCount++}return i[0]=m,r}}},76061:(e,t,s)=>{s.d(t,{G:()=>i,S:()=>n});class i{*[Symbol.iterator](){let e=this.next();for(;e;)yield e,e=this.next()}}class n extends i{constructor(e){super(),this.m_iGeom=-1,this.m_aGeoms=e?e.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){const e=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,e}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}},30716:(e,t,s)=>{s.d(t,{g7:()=>G,yv:()=>E,fz:()=>R});var i,n,r=s(76061),m=s(55537),o=s(12189),h=s(79187),a=s(90237),l=s(95213),c=s(83661),u=s(35368),_=s(11878),f=s(1364),g=s(64523);class d{getOperatorType(){return 10104}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}isSimple(e,t,s,i,n){return 5===(0,o.aj)(e,t,s,i,n)}executeMany(e,t,s,i){return new p(e,t,s,i)}execute(e,t,s,i){const n=new r.S([e]),o=this.executeMany(n,t,s,i).next();return o||(0,m.c)("null output"),o}}class p extends r.G{constructor(e,t,s,i){super(),e||(0,m.t)(""),this.m_progressTracker=i,this.m_bForceSimplify=s,this.m_index=-1,this.m_inputGeometryCursor=e,this.m_spatialReference=t}next(){const e=this.m_inputGeometryCursor.next();return e?((0,m.d)(e),this.m_index=this.m_inputGeometryCursor.getGeometryID(),this.simplify(e)):null}getGeometryID(){return this.m_index}tock(){return!1}getRank(){return 1}simplify(e){return e||(0,m.t)(""),(0,o.ak)(e,this.m_spatialReference,this.m_bForceSimplify,this.m_progressTracker)}}function P(e,t,s,i,n,r){return{m_from:e.clone(),m_to:t.clone(),m_center:s.clone(),m_next:n,m_type:i}}function y(e,t,s,i,n){return{m_from:e.clone(),m_to:t.clone(),m_next:s,m_type:4,m_center:new c.P}}(n=i||(i={}))[n.enumDummy=256]="enumDummy",n[n.enumLine=1]="enumLine",n[n.enumArc=2]="enumArc",n[n.enumMiter=8]="enumMiter",n[n.enumBevel=16]="enumBevel",n[n.enumJoinMask=26]="enumJoinMask",n[n.enumConnectionMask=27]="enumConnectionMask";class b extends r.G{constructor(e,t,s,i,n,r,m,o,h,a){super(),this.m_index=0,this.m_bufferedPolygon=null,this.m_x=0,this.m_y=0,this.m_progressTracker=a,this.m_parent=e,this.m_mp=t,this.m_distance=s,this.m_spatialReference=i,this.m_densifyDist=o,this.m_maxVertexInCompleteCircle=h,this.m_joins=n,this.m_caps=r,this.m_miterLimit=m}next(){const e=new l.P;for(;;){if(this.m_index===this.m_mp.getPointCount())return null;if(1===this.m_caps)return this.m_index=this.m_mp.getPointCount(),new u.a({vd:this.m_mp.getDescription()});if(this.m_mp.getPointByVal(this.m_index,e),this.m_index++,!e.isEmpty())break}let t,s=!1;if(null===this.m_bufferedPolygon&&(this.m_x=e.getX(),this.m_y=e.getY(),this.m_bufferedPolygon=this.m_parent.buffer(e,this.m_distance,this.m_spatialReference,this.m_joins,this.m_caps,this.m_miterLimit,this.m_densifyDist,this.m_maxVertexInCompleteCircle),s=!0),t=this.m_index<this.m_mp.getPointCount()?this.m_bufferedPolygon.clone():this.m_bufferedPolygon,!s){const s=new _.T,i=e.getX()-this.m_x,n=e.getY()-this.m_y;s.setShiftCoords(i,n),t.applyTransformation(s)}return(0,l.s)(t,0),t}getGeometryID(){return 0}getRank(){return 1}tock(){return!0}}class x extends r.G{constructor(e){super(),this.m_currentPathIndex=0,this.m_polyline=e}next(){if(!this.m_polyline)return null;const e=this.m_polyline.getImpl(),t=e.getPathCount();if(this.m_currentPathIndex<t){const t=this.m_currentPathIndex;if(this.m_currentPathIndex++,!e.isClosedPathInXYPlane(t)){let s=e.getXY(e.getPathEnd(t)-1);for(;this.m_currentPathIndex<e.getPathCount();){const t=e.getXY(e.getPathStart(this.m_currentPathIndex));if(e.isClosedPathInXYPlane(this.m_currentPathIndex))break;if(!t.equals(s))break;s=e.getXY(e.getPathEnd(this.m_currentPathIndex)-1),this.m_currentPathIndex++}}if(0===t&&this.m_currentPathIndex===this.m_polyline.getPathCount()){const e=this.m_polyline;return this.m_polyline=null,e}const s=new u.P({vd:this.m_polyline.getDescription()});s.addPath(this.m_polyline,t,!0);for(let i=t+1;i<this.m_currentPathIndex;i++)s.addSegmentsFromPath(this.m_polyline,i,0,e.getSegmentCountPath(i),!1);return this.m_currentPathIndex===this.m_polyline.getPathCount()&&(this.m_polyline=null),s}return null}getGeometryID(){return 0}getRank(){return 1}tock(){return!0}}class C extends r.G{constructor(e,t,s){super(),this.m_geometry=null,this.m_index=0,this.m_bufferer=e,this.m_geoms=t,this.m_index=0,this.m_bFilter=s}next(){if(null===this.m_geometry&&(this.m_index=0,this.m_geometry=this.m_geoms.next(),!this.m_geometry))return null;const e=this.m_geometry.getImpl();if(this.m_index<e.getPathCount()){const e=this.m_index;return this.m_index++,this.m_bufferer.bufferPolylinePath(this.m_geometry,e,this.m_bFilter)}return this.m_geometry=null,this.next()}getGeometryID(){return 0}getRank(){return 1}tock(){return!0}}class D extends r.G{constructor(e){super(),this.m_index=0,this.m_bufferer=e}next(){const e=this.m_bufferer.m_geometry;if(this.m_index<e.getPathCount()){const t=this.m_index,s=e.calculateRingArea2D(this.m_index);for((0,m.g)(s>0),this.m_index++;this.m_index<e.getPathCount()&&!(e.calculateRingArea2D(this.m_index)>0);)this.m_index++;let i;return i=0===t&&this.m_index===e.getPathCount()?this.m_bufferer.bufferPolygonImpl(e,0,e.getPathCount()):this.m_bufferer.bufferPolygonImpl(e,t,this.m_index),i}return null}getGeometryID(){return 0}getRank(){return 1}tock(){return!0}}class w{constructor(e){this.m_geometry=null,this.m_bufferCommands=[],this.m_originalGeomType=m.G.enumUnknown,this.m_maxVertexInCompleteCircle=-1,this.m_circleTemplateSize=-1,this.m_oldCircleTemplateSize=0,this.m_spatialReference=null,this.m_tolerance=new l.C(0,0),this.m_smallTolerance=new l.C(0,0),this.m_filterTolerance=0,this.m_densifyDist=-1,this.m_distance=Number.NaN,this.m_absDistance=0,this.m_absDistanceReversed=0,this.m_dA=-1,this.m_miterLimit=4,this.m_joins=0,this.m_caps=0,this.m_bRoundBuffer=!0,this.m_bOutputLoops=!0,this.m_bFilter=!0,this.m_circleTemplate=[],this.m_leftStack=[],this.m_middleStack=[],this.m_helperLine1=new u.L,this.m_helperLine2=new u.L,this.m_helperArray=[],this.m_progressCounter=0,this.m_densificator=u.D.constructDefault(e),this.m_progressTracker=e}buffer(e,t,s,i,n,r,o,a){if(e||(0,m.t)("Geometry.Bufferer.Impl.Buffer"),o<0&&(0,m.t)("Geometry.Bufferer.Impl.Buffer"),(0,m.o)(e.getGeometryType())&&(0,m.b)("Unsupported geometry type."),e.isEmpty())return new u.a({vd:e.getDescription()});if(this.m_joins=i,this.m_caps=n,this.m_bRoundBuffer=!1,this.m_miterLimit=r,this.m_originalGeomType=e.getGeometryType(),(0,m.p)(this.m_originalGeomType)?this.m_bRoundBuffer=0===this.m_joins:(0,m.e)(this.m_originalGeomType)?this.m_bRoundBuffer=0===this.m_caps:(0,m.q)(this.m_originalGeomType)&&(this.m_bRoundBuffer=0===this.m_joins&&0===this.m_caps),this.m_bFilter=this.m_bRoundBuffer,this.m_geometry=(0,f.c)(e),this.m_geometry.isEmpty())return new u.a({vd:e.getDescription()});const _=new h.J;this.m_geometry.queryLooseEnvelope(_),t>0&&_.inflateCoords(t,t),this.m_tolerance=(0,l.c)(s,_,!0),this.m_smallTolerance=(0,l.c)(null,_,!0),a<=0&&(a=96),this.m_spatialReference=s,this.m_distance=t,this.m_absDistance=Math.abs(this.m_distance),this.m_absDistanceReversed=0!==this.m_absDistance?1/this.m_absDistance:0,Number.isNaN(o)||0===o?o=1e-5*this.m_absDistance:o>.5*this.m_absDistance&&(o=.5*this.m_absDistance),a<12&&(a=12);const g=Math.abs(t)*(1-Math.cos(Math.PI/a));if(g>o)o=g;else if(0!==t){const e=Math.PI/Math.acos(1-o/Math.abs(t));e<a-1&&(a=Math.trunc(e))<12&&(a=12,o=Math.abs(t)*(1-Math.cos(Math.PI/a)))}this.m_densifyDist=o,this.m_maxVertexInCompleteCircle=a,this.m_filterTolerance=this.m_bRoundBuffer?Math.min(this.m_smallTolerance.total(),.25*this.m_densifyDist):0,this.m_circleTemplateSize=this.calcN(),this.m_circleTemplateSize!==this.m_oldCircleTemplateSize&&(this.m_circleTemplate.length=0,this.m_oldCircleTemplateSize=this.m_circleTemplateSize),this.m_densifyDist>0&&(0,m.j)(this.m_geometry)&&(this.m_geometry=this.m_densificator.densifyEx(this.m_geometry,0,this.m_densifyDist,0,0!==this.m_joins,(0,c.i)()));const d=this.bufferImpl();return this.m_geometry=null,d}generateCircleTemplate(){if(this.m_circleTemplate.length)return;const e=this.m_circleTemplateSize,t=Math.trunc((e+3)/4),s=.5*Math.PI/t;this.m_dA=s,this.m_circleTemplate.length=4*t;const i=Math.cos(s),n=Math.sin(s),r=c.P.construct(0,1);for(let e=0;e<t;e++)this.m_circleTemplate[e+0*t]=c.P.construct(r.y,-r.x),this.m_circleTemplate[e+1*t]=c.P.construct(-r.x,-r.y),this.m_circleTemplate[e+2*t]=c.P.construct(-r.y,r.x),this.m_circleTemplate[e+3*t]=r.clone(),r.rotateReverse(i,n)}bufferImpl(){const e=this.m_geometry.getGeometryType();if((0,m.f)(e)){const e=new u.P({vd:this.m_geometry.getDescription()});return e.addSegment(this.m_geometry,!0),this.m_geometry=e,this.bufferImpl()}if(this.m_distance<=this.m_tolerance.total()){if(!(0,m.p)(e))return new u.a({vd:this.m_geometry.getDescription()});if(this.m_distance<0){const e=new h.J;if(this.m_geometry.queryEnvelope(e),e.width()<=2*this.m_absDistance||e.height()<=2*this.m_absDistance)return new u.a({vd:this.m_geometry.getDescription()})}}switch(this.m_geometry.getGeometryType()){case m.G.enumPoint:return this.bufferPoint();case m.G.enumMultiPoint:return this.bufferMultiPoint();case m.G.enumPolyline:return this.bufferPolyline();case m.G.enumPolygon:return this.bufferPolygon();case m.G.enumEnvelope:return this.bufferEnvelope();default:(0,m.c)("")}}bufferPolyline(){if(this.isDegenerateGeometry(this.m_geometry)){const e=new l.P;this.m_geometry.getPointByVal(0,e);const t=new h.J;return this.m_geometry.queryEnvelope(t),e.setXY(t.getCenter()),this.bufferDegeneratePath(e,!0)}const e=this.m_geometry,t=this.m_geometry.getDescription();this.m_geometry=null;const s=new x(e);let i,n;i=0===this.m_joins?(new g.O).executeMany(s,.25*this.m_densifyDist,!1,this.m_progressTracker):s,n=this.m_bRoundBuffer?(new d).executeMany(i,null,!0,this.m_progressTracker):i;const r=new C(this,n,this.m_bFilter),m=(new o.j).executeMany(r,this.m_spatialReference,this.m_progressTracker,2),a=(new o.h).executeMany(m,this.m_spatialReference,!1,this.m_progressTracker).next();return null!==a?a:new u.a({vd:t})}bufferPolygon(){if(0===this.m_distance)return this.m_geometry;this.generateCircleTemplate();const e=(new o.h).execute(this.m_geometry,null,!1,this.m_progressTracker);if(this.m_distance<0){if(this.m_geometry=e,this.m_geometry.isEmpty())return this.m_geometry;const t=this.m_geometry,s=this.bufferPolygonImpl(t,0,t.getPathCount());return(new o.h).execute(s,this.m_spatialReference,!1,this.m_progressTracker)}{if(this.m_geometry=e,this.isDegenerateGeometry(this.m_geometry)){const e=new l.P;this.m_geometry.getPointByVal(0,e);const t=new h.J;return this.m_geometry.queryEnvelope(t),e.setXY(t.getCenter()),this.bufferDegeneratePath(e,!0)}const t=new D(this),s=(new o.j).executeMany(t,this.m_spatialReference,this.m_progressTracker,2),i=(new o.h).executeMany(s,this.m_spatialReference,!1,this.m_progressTracker).next();return null!==i?i:new u.a({vd:this.m_geometry.getDescription()})}}bufferPolygonImpl(e,t,s){const i=e,n=i.getImpl();let r=new u.a({vd:e.getDescription()});for(let m=t;m<s;m++){if(n.getPathSize(m)<1)continue;const t=n.calculateRingArea2D(m),s=new h.J;if(n.queryPathEnvelope(m,s),this.m_distance>0)if(t>0)if(this.isDegeneratePath(n,m)){const e=new l.P;n.getPointByVal(n.getPathStart(m),e),e.setXY(s.getCenter()),r.add(this.bufferDegeneratePath(e,!0),!1)}else{const t=new u.P({vd:e.getDescription()}),s=t.getImpl();if((0,u.i)(this.m_geometry,m)){const e=this.bufferConvexPath(i,m);r.add(e,!1)}else{this.bufferClosedPath(this.m_geometry,m,s,this.m_bRoundBuffer,1);const e=this.bufferCleanup(t);r.add(e,!1)}}else{if(s.width()+this.m_tolerance.total()<=2*this.m_absDistance||s.height()+this.m_tolerance.total()<=2*this.m_absDistance)continue;const t=new u.P({vd:e.getDescription()}),i=t.getImpl();if(this.bufferClosedPath(this.m_geometry,m,i,this.m_bRoundBuffer,1),!t.isEmpty()){const e=s,n=Math.max(1,this.m_absDistance),m=e.clone();m.inflateCoords(n,n),i.addEnvelope(m,!1);const o=this.bufferCleanup(t);r.reserve(r.getPointCount()+o.getPointCount()-4),S(o,r,m,!0)}}else if(t>0){if(s.width()+this.m_tolerance.total()<=2*this.m_absDistance||s.height()+this.m_tolerance.total()<=2*this.m_absDistance)continue;const t=new u.P({vd:e.getDescription()}),i=t.getImpl();if(this.bufferClosedPath(this.m_geometry,m,i,this.m_bRoundBuffer,-1),!t.isEmpty()){const e=new h.J;i.queryLooseEnvelope(e);const s=Math.max(1,this.m_absDistance),n=e.clone();n.inflateCoords(s,s),i.addEnvelope(n,!1),S(this.bufferCleanup(t),r,n,!0)}}else{const t=new u.P({vd:e.getDescription()}),s=t.getImpl();this.bufferClosedPath(this.m_geometry,m,s,this.m_bRoundBuffer,-1);const i=this.bufferCleanup(t);for(let e=0,t=i.getPathCount();e<t;e++)r.addPath(i,e,!0)}}if(this.m_distance>0)return r.getPathCount()>1?this.bufferCleanup(r):T(r);{const e=new h.J;if(r.queryLooseEnvelope(e),r.isEmpty())return T(r);{const t=Math.max(1,this.m_absDistance),s=e.clone();s.inflateCoords(t,t),r.addEnvelope(s,!1);const i=this.bufferCleanup(r);r=new u.a;const n=new u.a({vd:i.getDescription()});return S(i,n,s,!1),T(n)}}}bufferPoint(){return this.bufferPointImpl(this.m_geometry)}bufferPointImpl(e){const t=new u.a({vd:e.getDescription()});return 0===this.m_caps?(this.addCircle(t.getImpl(),e),this.setStrongSimple(t)):2===this.m_caps?(this.addSquare(t.getImpl(),e),this.setStrongSimple(t)):t}bufferDegeneratePath(e,t){const s=new u.a({vd:e.getDescription()});return t&&0===this.m_joins||!t&&0===this.m_caps?(this.addCircle(s.getImpl(),e),this.setStrongSimple(s)):t||2!==this.m_caps?s:(this.addSquare(s.getImpl(),e),this.setStrongSimple(s))}bufferMultiPoint(){const e=new b(this,this.m_geometry,this.m_distance,this.m_spatialReference,this.m_joins,this.m_caps,this.m_miterLimit,this.m_densifyDist,this.m_maxVertexInCompleteCircle,this.m_progressTracker);return(new o.j).executeMany(e,this.m_spatialReference,this.m_progressTracker,2).next()}bufferEnvelope(){let e=new u.a({vd:this.m_geometry.getDescription()});if(this.m_distance<=0){if(0===this.m_distance)e.addEnvelope(this.m_geometry,!1),v(this.m_geometry,this.m_tolerance.total())&&(e=this.setStrongSimple(e));else{const t=new l.E;this.m_geometry.queryEnvelope(t),t.inflateCoords(this.m_distance,this.m_distance),e.addEnvelope(t,!1),v(t,this.m_tolerance.total())&&(e=this.setStrongSimple(e))}return e}if(1===this.m_joins){const t=new l.E({copy:this.m_geometry});return t.inflateCoords(this.m_absDistance,this.m_absDistance),e.addEnvelope(t,!1),e}const t=this.m_geometry.clone();if(0===t.width()||0===t.height()){if(0===t.width()&&0===t.height()){const e=new l.P({vd:this.m_geometry.getDescription()});return t.queryCornerByVal(0,e),this.m_geometry=e,this.bufferImpl()}const e=new u.P({vd:this.m_geometry.getDescription()}),s=new l.P;return t.queryCornerByVal(0,s),e.startPathPoint(s),t.queryCornerByVal(2,s),e.lineToPoint(s),this.m_geometry=e,this.bufferImpl()}return e.addEnvelope(this.m_geometry,!1),this.m_geometry=e,this.bufferConvexPath(e,0)}bufferConvexPath(e,t){this.generateCircleTemplate();const s=e.hasAttribute(10),n=new u.a({vd:e.getDescription()}),r=n.getImpl();n.reserve((this.m_circleTemplate.length/10+4)*e.getPathSize(t));const o=new c.P,h=new c.P,a=new c.P,l=new c.P(0,0),_=new c.P,f=new c.P,g=e.getImpl(),d=e.getPathSize(t),p=e.getPathStart(t);for(let n=0,c=e.getPathSize(t);n<c;n++){const e=g.getXY(p+n),t=g.getXY(p+(n+1)%d),c=g.getXY(p+(n+2)%d);_.setSub(t,e),0===_.length()&&(0,m.c)("");const u=s&&!!(1&g.getAttributeAsInt(10,(n+1)%d,0));_.normalize();const P=_.clone();_.leftPerpendicularThis(),_.scale(this.m_absDistance),o.setAdd(_,e),h.setAdd(_,t),0===n?r.startPath(o):r.lineTo(o),r.lineTo(h),f.setSub(c,t),0===f.length()&&(0,m.c)(""),f.normalize();const y=f.clone();f.leftPerpendicularThis(),f.scale(this.m_absDistance),a.setAdd(f,t);let b=i.enumArc;const x=u?0:this.m_joins;if(2===x)b=i.enumBevel;else if(1===x){const e=-P.crossProduct(y);l.setSub(P,y),l.scale(this.m_absDistance/e),l.length()<this.m_miterLimit*this.m_absDistance?(l.addThis(t),b=i.enumMiter):b=i.enumBevel}else l.assign(t);this.addJoin(b,r,l,h,a,!1,!1)}return T(n)}bufferPolylinePath(e,t,s){this.generateCircleTemplate();const i=e,n=i.getImpl();if(n.getPathSize(t)<1)return null;let r;if(r=this.m_bRoundBuffer?n.isClosedPathInXYPlane(t):n.isClosedPath(t),this.isDegeneratePath(n,t)&&this.m_distance>0){const e=new l.P;n.getPointByVal(n.getPathStart(t),e);const s=new h.J;return n.queryPathEnvelope(t,s),e.setXY(s.getCenter()),this.bufferDegeneratePath(e,r)}const m=new u.P({vd:e.getDescription()});m.reserve((Math.trunc(this.m_circleTemplate.length/10)+4)*n.getPathSize(t));const o=m.getImpl();return r?2!==this.bufferClosedPath(i,t,o,s,1)&&this.bufferClosedPath(i,t,o,s,-1):this.bufferOpenPath(i,t,o,s),this.bufferCleanup(m)}progress_(){}bufferCleanup(e,t=!1){const s=t?this.m_tolerance:this.m_smallTolerance;return(0,o.y)(e,s,!0,!t,-1,this.m_progressTracker,0,!1)}calcN(){if(0===this.m_densifyDist)return this.m_maxVertexInCompleteCircle;const e=1-this.m_densifyDist*Math.abs(this.m_absDistanceReversed);let t=4;return t=e<-1?4:2*Math.PI/Math.acos(e)+.5,t<4?t=4:t>this.m_maxVertexInCompleteCircle&&(t=this.m_maxVertexInCompleteCircle),Math.trunc(t)}addJoin(e,t,s,n,r,m,o){if(this.generateCircleTemplate(),m&&(t.startPath(n),m=!1),e===i.enumBevel)return void(o&&t.lineTo(r));if(e===i.enumMiter){const e=s.clone();return t.lineTo(e),void(o&&t.lineTo(r))}const h=new c.P;h.setSub(n,s),h.scale(this.m_absDistanceReversed);const a=new c.P;a.setSub(r,s),a.scale(this.m_absDistanceReversed);let l=Math.atan2(h.y,h.x)/this.m_dA;l<0&&(l=this.m_circleTemplate.length+l),l=this.m_circleTemplate.length-l;let u=Math.atan2(a.y,a.x)/this.m_dA;u<0&&(u=this.m_circleTemplate.length+u),u=this.m_circleTemplate.length-u,u<l&&(u+=this.m_circleTemplate.length);let _=Math.trunc(u),f=Math.ceil(l),g=this.m_circleTemplate[f%this.m_circleTemplate.length].clone();g.scaleAddThis(this.m_absDistance,s);const d=10*this.m_tolerance.total();g.sub(n).length()<d&&(f+=1),g=this.m_circleTemplate[_%this.m_circleTemplate.length].clone(),g.scaleAddThis(this.m_absDistance,s),g.sub(r).length()<d&&(_-=1);let p=_-f;p++;for(let e=0,i=f%this.m_circleTemplate.length;e<p;e++,i=(i+1)%this.m_circleTemplate.length)g=this.m_circleTemplate[i].clone(),g.scaleAddThis(this.m_absDistance,s),t.lineTo(g),this.progress_();o&&t.lineTo(r)}bufferClosedPath(e,t,s,i,n){const r=new u.E,m=r.addPathFromMultiPath(e,t,!0);return this.bufferClosedPathImpl(r,m,s,i,n)}bufferClosedPathImpl(e,t,s,n,r){const o=e.getFirstVertex(e.getFirstPath(t)),h=new l.P;if(e.queryPoint(o,h),e.filterClosePoints(this.m_filterTolerance,!1,!1,!1,-1),e.getPointCount(t)<2)return r<0?0:(this.m_bRoundBuffer&&this.addCircle(s,h),2);(0,m.g)(e.getFirstPath(t)!==u.n),(0,m.g)(e.getFirstVertex(e.getFirstPath(t))!==u.n);const f=e.getXY(e.getFirstVertex(e.getFirstPath(t))),g=new _.T;if(g.setShift(f.negate()),e.applyTransformation(g),n){const i=function(e,t,s,i,n,r,m){return function(e,t,s,i,n,r,m){const o={stack:[],error:void 0,hasError:!1};try{const i=e.getFirstPath(t),h=e.createUserIndex();(0,a.b)(o,(0,c.f)((()=>{e.removeUserIndex(h)}),!1),!1),function(e,t,s,i){let n=-1;const r=new c.P,m=new c.P,o=new c.P;for(let s=0,h=e.getPathSize(i),a=e.getFirstVertex(i);s<h;++s){-1===n&&(e.queryXY(a,m),n=e.getPrevVertex(a),-1!==n&&(e.queryXY(n,r),o.setSub(m,r),o.normalize()));const s=e.getNextVertex(a);if(-1===s)break;const i=e.getXY(s),h=i.sub(m);h.normalize(),-1!==n&&h.dotProduct(o)<-.99&&Math.abs(h.crossProduct(o))<1e-7&&e.setUserIndex(a,t,1),n=a,a=s,r.assign(m),m.assign(i),o.assign(h)}}(e,h,0,i);for(let t=0;t<100;++t){if(0===e.getPathSize(i))return 1;let t=e.getFirstVertex(i),r=e.getPathSize(i);if(r<3)return 1;e.isClosedPath(i)||(r-=1);const o=64;let a=0,l=!1;for(let i=0;i<r&&t!==u.n;i++){let c=0,u=t;for(let a=1,l=Math.min(o,r-i);a<l;a++)if(u=e.getNextVertexEx(u,s),a>1){const i=k(e,h,t,u,s,n,m,o);if(-1===i)break;c+=i,r-=i}if(a+=c,l=c>0,l){const i=e.getPrevVertexEx(t,s);if(-1!==i){t=i,r++;continue}}t=e.getNextVertexEx(t,s)}if(0===a)break}return e.filterClosePoints(r,!1,!1,!1,-1),1}catch(e){o.error=e,o.hasError=!0}finally{(0,a.c)(o)}}(e,t,s,0,n,r,m)}(e,t,r,0,this.m_absDistance,this.m_filterTolerance,this.m_densifyDist);if((0,m.g)(1===i),e.getPointCount(t)<2)return r<0?0:(this.addCircle(s,h),2)}const d=0!==this.m_joins&&e.getVertexDescription().hasAttribute(10);this.m_bufferCommands.length=0;const p=e.getFirstPath(t);let b=e.getFirstVertex(p),x=1===r?e.getPrevVertex(b):e.getNextVertex(b),C=1===r?e.getNextVertex(b):e.getPrevVertex(b),D=!0;const w=new c.P,T=new c.P,v=new c.P,S=new c.P,I=new c.P,M=new c.P,G=new c.P,E=new c.P,R=this.m_absDistance,V=e.getPathSize(p),A=new c.P(0,0);for(let t=0;t<V;t++){T.assign(e.getXY(C)),D&&(w.assign(e.getXY(b)),v.assign(e.getXY(x)),M.setSub(w,v),M.normalize(),E.leftPerpendicularOther(M),E.scale(R),S.setAdd(E,w));const t=d&&!!(1&e.getAttributeAsDbl(10,b,0));I.setSub(T,w),I.normalize(),G.leftPerpendicularOther(I),G.scale(R);const s=new c.P;s.setAdd(w,G);const n=M.crossProduct(I),m=M.dotProduct(I);if(n<0||m<0&&n<Math.abs(m)*Number.EPSILON*8){let e=!1;const r=t?0:this.m_joins;if(1===r){const t=-n;A.setSub(M,I),A.scale(this.m_absDistance/t),A.length()<this.m_miterLimit*this.m_absDistance&&(A.addThis(w),e=!0),this.m_bufferCommands.push(P(S,s,A,e?i.enumMiter:i.enumBevel,this.m_bufferCommands.length+1))}else this.m_bufferCommands.push(P(S,s,w,0===r?i.enumArc:i.enumBevel,this.m_bufferCommands.length+1))}else S.equals(s)||(this.m_bufferCommands.push(y(S,w,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(y(w,s,this.m_bufferCommands.length+1)));const o=new c.P;o.setAdd(T,G),this.m_bufferCommands.push(P(s,o,w,i.enumLine,this.m_bufferCommands.length+1)),S.setCoordsPoint2D(o),E.setCoordsPoint2D(G),v.setCoordsPoint2D(w),w.setCoordsPoint2D(T),M.setCoordsPoint2D(I),x=b,b=C,D=!1,C=1===r?e.getNextVertex(b):e.getPrevVertex(b)}return this.m_bufferCommands.at(-1).m_next=0,this.processBufferCommands(s),g.setShift(f),s.applyTransformationToPath(g,s.getPathCount()-1),1}bufferOpenPath(e,t,s,n){if(this.m_bRoundBuffer){const i=new u.P({vd:e.getDescription()});return i.addPath(e,t,!1),i.addSegmentsFromPath(e,t,0,e.getSegmentCountPath(t),!1),this.bufferClosedPath(i,0,s,n,1)}let r=0;const o=new u.P({vd:e.getDescription()}),h=new c.P(0,0);{const i=new u.E,n=i.addPathFromMultiPath(e,t,!1),m=i.getFirstVertex(i.getFirstPath(n)),a=new l.P;if(i.queryPoint(m,a),h.assign(a.getXY()),i.filterClosePoints(0,!1,!1,!1,-1),i.getPointCount(n)<2)return this.m_bRoundBuffer&&this.addCircle(s,a),2;const c=i.getGeometry(i.getFirstGeometry());o.addPath(c,0,!1),r=o.getPointCount()-1,o.addSegmentsFromPath(c,0,0,c.getSegmentCountPath(0)-1,!1)}const a=new u.E,f=a.addPathFromMultiPath(o,0,!0);(0,m.g)(a.getFirstPath(f)!==u.n),(0,m.g)(a.getFirstVertex(a.getFirstPath(f))!==u.n);const g=new _.T;g.setShift(h.negate()),a.applyTransformation(g),this.m_bufferCommands.length=0;const d=a.getFirstPath(f),p=0!==this.m_joins&&a.getVertexDescription().hasAttribute(10);let b=a.getFirstVertex(d),x=a.getPrevVertex(b),C=a.getNextVertex(b),D=!0;const w=new c.P,T=new c.P,v=new c.P,k=new c.P,S=new c.P,I=new c.P,M=new c.P,G=new c.P,E=this.m_absDistance,R=a.getPathSize(d),V=new c.P(0,0);for(let e=0;e<R;e++){let t=!1;0!==e&&e!==r||(t=!0),T.assign(a.getXY(C)),D&&(w.assign(a.getXY(b)),v.assign(a.getXY(x)),I.setSub(w,v),I.normalize(),G.leftPerpendicularOther(I),G.scale(E),k.setAdd(G,w));const s=p&&!!(1&a.getAttributeAsDbl(10,b,0));S.setSub(T,w),S.normalize(),M.leftPerpendicularOther(S),M.scale(E);const n=new c.P;n.setAdd(w,M);const m=I.crossProduct(S),o=I.dotProduct(S);if(m<0||o<0&&m<Math.abs(o)*Number.EPSILON*8)if(t)if(0===this.m_caps)this.m_bufferCommands.push(P(k,n,w,i.enumArc,this.m_bufferCommands.length+1));else if(1===this.m_caps)this.m_bufferCommands.push(P(k,n,w,i.enumLine,this.m_bufferCommands.length+1));else{const e=S.mul(this.m_absDistance).negate(),t=e.clone();e.addThis(k),t.addThis(n),this.m_bufferCommands.push(P(k,e,w,i.enumLine,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(P(e,t,w,i.enumLine,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(P(t,n,w,i.enumLine,this.m_bufferCommands.length+1))}else{let e=!1;const t=s?0:this.m_joins;if(1===t){const t=-m;V.setSub(I,S),V.scale(this.m_absDistance/t),V.length()<this.m_miterLimit*this.m_absDistance&&(V.addThis(w),e=!0),this.m_bufferCommands.push(P(k,n,V,e?i.enumMiter:i.enumBevel,this.m_bufferCommands.length+1))}else this.m_bufferCommands.push(P(k,n,w,0===t?i.enumArc:i.enumBevel,this.m_bufferCommands.length+1))}else k.equals(n)||(this.m_bufferCommands.push(y(k,w,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(y(w,n,this.m_bufferCommands.length+1)));const h=new c.P;h.setAdd(T,M),this.m_bufferCommands.push(P(n,h,w,i.enumLine,this.m_bufferCommands.length+1)),k.setCoordsPoint2D(h),G.setCoordsPoint2D(M),v.setCoordsPoint2D(w),w.setCoordsPoint2D(T),I.setCoordsPoint2D(S),x=b,b=C,D=!1,C=a.getNextVertex(b)}return this.m_bufferCommands.at(-1).m_next=0,this.processBufferCommands(s),g.setShift(h),s.applyTransformationToPath(g,s.getPathCount()-1),1}processBufferCommands(e){const t=this.cleanupBufferCommands();let s=!0,n=t+1;for(let r=t;n!==t;r=n){const t=this.m_bufferCommands[r];n=-1!==t.m_next?t.m_next:(r+1)%this.m_bufferCommands.length,t.m_type&&(s&&(e.startPath(t.m_from),s=!1),t.m_type&i.enumJoinMask?this.addJoin(t.m_type,e,t.m_center,t.m_from,t.m_to,!1,!0):e.lineTo(t.m_to))}}cleanupBufferCommands(){this.m_helperArray=(0,c.m)(c.P,9);let e=0;for(let t=0,s=this.m_bufferCommands.length;t<s;){const s=this.m_bufferCommands[t];if(s.m_type&i.enumConnectionMask){e=t;break}t=s.m_next}let t=e+1;for(let s=e;t!==e;s=t){const e=this.m_bufferCommands[s];t=e.m_next;let n=1,r=null;for(;t!==s&&(r=this.m_bufferCommands[t],!(r.m_type&i.enumConnectionMask));)t=r.m_next,n++;1!==n&&(e.m_type&r.m_type)===i.enumLine&&(this.m_helperLine1.setStartXY(e.m_from),this.m_helperLine1.setEndXY(e.m_to),this.m_helperLine2.setStartXY(r.m_from),this.m_helperLine2.setEndXY(r.m_to),1===this.m_helperLine1.intersect(this.m_helperLine2,this.m_helperArray,null,null,this.m_smallTolerance.total())&&(e.m_to.assign(this.m_helperArray[0]),r.m_from.assign(this.m_helperArray[0]),e.m_next=t))}return e}isDegeneratePath(e,t){if(1===e.getPathSize(t))return!0;if(0===this.m_joins&&0===this.m_caps){const s=new h.J;if(e.queryPathEnvelope(t,s),Math.max(s.width(),s.height())<.5*this.m_densifyDist)return!0}return!1}isDegenerateGeometry(e){if(0===this.m_joins&&0===this.m_caps){const t=new h.J;if(e.queryEnvelope(t),Math.max(t.width(),t.height())<.5*this.m_densifyDist)return!0}return!1}addCircle(e,t){const s=t.getXY();if(0!==this.m_circleTemplate.length){let t=this.m_circleTemplate[0].clone();t.scaleAddThis(this.m_absDistance,s),e.startPath(t);for(let i=1,n=this.m_circleTemplate.length;i<n;i++)t=this.m_circleTemplate[i].clone(),t.scaleAddThis(this.m_absDistance,s),e.lineTo(t);return}const i=this.m_circleTemplateSize,n=Math.trunc((i+3)/4),r=.5*Math.PI/n;e.reserve(4*n);const m=Math.cos(r),o=Math.sin(r);for(let t=3;t>=0;t--){const i=c.P.construct(0,this.m_absDistance);switch(t){case 0:for(let t=0;t<n;t++)e.lineToCoords(i.x+s.x,i.y+s.y),i.rotateReverse(m,o);break;case 1:for(let t=0;t<n;t++)e.lineToCoords(-i.y+s.x,i.x+s.y),i.rotateReverse(m,o);break;case 2:for(let t=0;t<n;t++)e.lineToCoords(-i.x+s.x,-i.y+s.y),i.rotateReverse(m,o);break;default:e.startPathCoords(i.y+s.x,-i.x+s.y);for(let t=1;t<n;t++)i.rotateReverse(m,o),e.lineToCoords(i.y+s.x,-i.x+s.y)}this.progress_()}}addSquare(e,t){const s=new l.E({vd:t.getDescription()});s.setCoords(t.getX(),t.getY(),t.getX(),t.getY()),s.inflateCoords(this.m_absDistance,this.m_absDistance),e.addEnvelope(s,!1)}setStrongSimple(e){return e.getImpl().setIsSimple(4,this.m_tolerance.total()),e.getImpl().updateOGCFlagsProtected(),e}}function T(e){return(0,l.s)(e,0),e}function v(e,t){return!!e.isEmpty()||Math.min(e.width(),e.height())>t}function k(e,t,s,i,n,r,o,h){const a=e.getXY(s),l=e.getXY(i);if(a.equals(l))return-1;const u=.25*o,_=.25*o,f=new c.P;f.setSub(l,a);const g=f.length(),d=g*g*.25,p=r*r-d;if(p<=d)return-1;const P=Math.sqrt(p);f.normalize();const y=f.clone();y.rightPerpendicularThis();const b=d/P,x=b<=_,C=c.P.lerp(l,a,.5),D=y.clone(),w=b-u;D.scaleAddThis(Math.max(0,w),C),y.negate().scaleAddThis(P,C);const T=3.61*(0,c.s)(r-_),v=D.sub(a),k=D.sub(l);let S=!1,I=0;const M=(0,c.j)(64,0);(0,m.g)(h===M.length);{for(let r=e.getPrevVertexEx(i,n);r!==s;){if(1===e.getUserIndex(r,t))return-1;if(!e.getXY(r).equals(l))break;{const t=e.getPrevVertexEx(r,n);e.removeVertex(r,!1),r=t}}const r=new c.P,o=a.clone();M[I++]=1;for(let m=e.getNextVertexEx(s,n);m!==i;){if(1===e.getUserIndex(m,t))return-1;const s=e.getXY(m);if(s.equals(o)){const t=e.getNextVertexEx(m,n);e.removeVertex(m,!1),m=t;continue}M[I++]=0;const i=new c.P;if(i.setSub(s,a),i.dotProduct(y)<0)return 0;(c.P.sqrDistance(s,a)>T||c.P.sqrDistance(s,l)>T)&&(S=!0);let h=0;if(s.sub(a).crossProduct(v)>=0&&(h=1),s.sub(l).crossProduct(k)<=0&&(h|=2),0===h)return 0;M[I-1]=h,r.assign(o),o.assign(s),m=e.getNextVertexEx(m,n)}if(1===I)return 0;(0,m.g)(I<M.length),M[I++]=2}let G=!0;for(let e=1,t=0;e<I;e++)if(M[e]!==M[e-1]&&(t++,G=t<3&&(1===t&&3===M[e]||2===t&&2===M[e]),!G))return 0;if(I>2&&G&&(3===I||!S)){let t=0,r=e.getNextVertexEx(s,n);for(x||(e.setXY(r,D),r=e.getNextVertexEx(r,n));r!==i;){const s=e.getNextVertexEx(r,n);e.removeVertex(r,!1),r=s,++t}return t}if((0,m.g)(3!==I),S&&I>3)return 0;const E=a.clone();let R=s;const V=a.clone();let A=1,X=-1,Y=R,B=0;for(I=1;Y!==i;){Y=e.getNextVertexEx(Y,n);const t=M[I++];if(0===t){if(Y===i)break;continue}const s=e.getXY(Y);if(-1!==X){if(X&A&t&3){e.removeVertex(R,!0),B++,R=Y,V.setCoordsPoint2D(s),A=t;continue}if(3===A&&0!==X&&0!==t){if(V.setCoordsPoint2D(D),x||V.equals(E)){e.removeVertex(R,!0),B++,R=Y,V.setCoordsPoint2D(s),A=t;continue}e.setXY(R,V)}}X=A,E.setCoordsPoint2D(V),R=Y,A=t,V.setCoordsPoint2D(s)}return B}function S(e,t,s,i){for(let n=0,r=e.getPathCount();n<r;n++){const r=e.getXY(e.getPathStart(n));r.x!==s.xmin&&r.x!==s.xmax&&t.addPath(e,n,i)}}class I extends r.G{constructor(e,t,s,i,n,r,m){super(),this.m_currentUnionEnvelope2D=new h.J,this.m_index=-1,this.m_dindex=-1,this.m_progressTracker=m,this.m_bufferer=new w(m),this.m_inputGeoms=e,this.m_spatialReference=t,this.m_distances=s,this.m_maxDeviation=i,this.m_maxVerticesInFullCircle=n}tock(){return!0}getRank(){return 1}next(){{let e;for(;e=this.m_inputGeoms.next();)return(0,m.d)(e),this.m_index=this.m_inputGeoms.getGeometryID(),this.m_dindex+1<this.m_distances.length&&this.m_dindex++,this.buffer(e,this.m_distances[this.m_dindex]);return null}}getGeometryID(){return this.m_index}buffer(e,t){return this.m_bufferer.buffer(e,t,this.m_spatialReference,0,0,4,this.m_maxDeviation,this.m_maxVerticesInFullCircle)}}const M=new class{getOperatorType(){return 10004}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,s,i,n){return this.executeManyEx(e,t,s,Number.NaN,96,i,n)}execute(e,t,s,i){Number.isFinite(s)||(0,m.t)("Invalid distance for buffer operation");const n=new r.S([e]),o=[s],h=this.executeMany(n,t,o,!1,i).next();return h||(0,m.c)("null buffer output"),h}executeManyEx(e,t,s,i,n,r,h){if(void 0!==s.find((e=>!Number.isFinite(e)))&&(0,m.t)("Invalid distance for buffer operation"),r){const r=new I(e,t,s,i,n,!1,h);return(new o.j).executeMany(r,t,h,2)}return new I(e,t,s,i,n,!1,h)}};function G(e,t,s){return M.execute(e,t,s,null)}function E(e,t,s,i,n,m){const o=M.executeManyEx(new r.S(e),t,s,i,n,m,null);return Array.from(o)}function R(){return M.supportsCurves()}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[591,3169,6061,8125],{64523:(e,t,s)=>{s.d(t,{O:()=>c});var n=s(90237),r=s(76061),i=s(55537),a=s(35368),o=s(95213),l=s(83661),u=s(5247);class c{getOperatorType(){return 10204}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,s,n){return new m(e,t,s,n)}execute(e,t,s,n){return e||(0,i.t)("null param is not allowed."),new m(null,t,s,n).generalize(e)}}class m extends r.G{constructor(e,t,s,n){super(),this.m_pline=null,this.m_point=new o.P,this.m_stack=[],this.m_resultstack=[],this.m_callCount=0,this.m_progressTracker=n,this.m_geoms=e,this.m_maxDeviation=t,this.m_bRemoveDegenerateParts=s}tock(){return!0}getRank(){return 1}next(){const e=this.m_geoms.next();return null===e?null:((0,i.d)(e),this.generalize(e))}getGeometryID(){return this.m_geoms.getGeometryID()}generalize(e){const t=e.getGeometryType();if((0,i.e)(t))return e;if(t===i.G.enumEnvelope){const t=new a.a({vd:e.getDescription()});return t.addEnvelope(e,!1),this.generalize(t)}if((0,i.f)(t)){const t=new a.P({vd:e.getDescription()});return t.addSegment(e,!0),this.generalize(t)}if((0,i.h)(t)||(0,i.b)(""),e.isEmpty()||this.m_maxDeviation<=0)return e;const s=(new u.O).execute(e,0,.05*this.m_maxDeviation,0,this.m_progressTracker);e.hasNonLinearSegments()&&(this.m_maxDeviation*=.95);const r=s,o=e.createInstance();o.getGeometryType()===i.G.enumPolygon&&o.setFillRule(e.getFillRule()),this.m_xy=r.getAttributeStreamRef(0);{const e={stack:[],error:void 0,hasError:!1};try{const t=new a.L;this.m_pline=t,(0,n.b)(e,(0,l.f)((()=>{this.m_pline=null}),!1),!1);for(let e=0,t=r.getPathCount();e<t;e++)this.generalizePath(r.getImpl(),e,o.getImpl())}catch(t){e.error=t,e.hasError=!0}finally{(0,n.c)(e)}}return this.m_resultstack.length=0,this.m_stack.length=0,o}generalizePath(e,t,s){if(e.getPathSize(t)<2)return;this.m_resultstack.length=0,this.m_stack.length=0;const n=e.getPathStart(t),r=e.getPathEnd(t)-1,i=e.isClosedPath(t),a=e.isClosedPathInXYPlane(t);let o=0,u=-1;this.m_stack.push(i?n:r),this.m_stack.push(n);let c=!1,m=!1;for(!this.m_bRemoveDegenerateParts&&a&&(c=!0,m=!0);this.m_stack.length>1;){const t=this.m_stack.at(-1);this.m_stack.pop();const s=this.m_stack.at(-1);let n=e.getXY(t);this.m_pline.setStartXY(n),n=e.getXY(s),this.m_pline.setEndXY(n);const i=[0];let a=this.findGreatestDistance(t,s,r,i);a>=0&&(c?c=!1:(m&&i[0]>o&&(o=i[0],u=a),i[0]<=this.m_maxDeviation&&(a=-1))),a>=0?(this.m_stack.push(a),this.m_stack.push(t)):this.m_resultstack.push(t)}i||this.m_resultstack.push(this.m_stack[0]);const h=this.m_resultstack.length;if(h===e.getPathSize(t)&&h===this.m_stack.length)s.addPath(e,t,!0);else if(this.m_resultstack.length>0){if(this.m_bRemoveDegenerateParts&&this.m_resultstack.length<=2){if(i||1===this.m_resultstack.length)return;if(l.P.distance(e.getXY(this.m_resultstack[0]),e.getXY(this.m_resultstack[1]))<=this.m_maxDeviation)return}if(m&&u>=0&&o<=this.m_maxDeviation){const e=this.m_resultstack.at(-1)>u;this.m_resultstack.push(u),e&&(this.m_resultstack[this.m_resultstack.length-2]=(0,l.b)(this.m_resultstack[this.m_resultstack.length-1],this.m_resultstack[this.m_resultstack.length-1]=this.m_resultstack[this.m_resultstack.length-2]))}for(let t=0,n=this.m_resultstack.length;t<n;t++)e.getPointByVal(this.m_resultstack[t],this.m_point),0===t?s.startPathPoint(this.m_point):s.lineToPoint(this.m_point);if(i){for(let e=this.m_resultstack.length;e<3;e++)s.lineToPoint(this.m_point);s.closePathWithLine()}}}findGreatestDistance(e,t,s,n){let r=t-1;t<=e&&(r=s);let i=-1,a=0;const o=new l.P;for(let t=e+1;t<=r;t++){this.m_xy.queryPoint2D(2*t,o);const e=o.x,s=o.y,n=this.m_pline.getClosestCoordinate(o,!1);o.assign(this.m_pline.getCoord2D(n)),o.x-=e,o.y-=s;const r=o.length();r>a&&(i=t,a=r),this.m_callCount++}return n[0]=a,i}}},76061:(e,t,s)=>{s.d(t,{G:()=>n,S:()=>r});class n{*[Symbol.iterator](){let e=this.next();for(;e;)yield e,e=this.next()}}class r extends n{constructor(e){super(),this.m_iGeom=-1,this.m_aGeoms=e?e.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){const e=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,e}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}},92523:(e,t,s)=>{s.d(t,{a:()=>l,e:()=>o,g:()=>c,s:()=>u});var n=s(4576),r=s(83047),i=s(70787),a=s(78125);function o(e,t,s={}){const{removeDegenerateParts:n=!1,unit:o}=s,l=(0,a.getSpatialReference)(e);return o&&(t=(0,r.UW)(t,o,l)),(0,a.toGeometry)((0,i.g7)((0,a.fromGeometry)(e),t,n),l)}function l(e,t,s={}){const{removeDegenerateParts:o=!1,unit:l}=s,u=e.map(a.fromGeometry),c=(0,a.getSpatialReference)(e);return l&&(t=(0,r.UW)(t,l,c)),(0,i.zo)(u,t,o).map((e=>(0,a.toGeometry)(e,c))).filter(n.Ru)}const u=(0,i.fz)(),c=Object.freeze(Object.defineProperty({__proto__:null,execute:o,executeMany:l,supportsCurves:u},Symbol.toStringTag,{value:"Module"}))},60591:(e,t,s)=>{s.r(t),s.d(t,{execute:()=>n.e,executeMany:()=>n.a,supportsCurves:()=>n.s}),s(4576),s(83047),s(70787),s(78125);var n=s(92523)},70787:(e,t,s)=>{s.d(t,{fz:()=>o,g7:()=>i,zo:()=>a});var n=s(76061);const r=new(s(64523).O);function i(e,t,s){return r.execute(e,t,s,null)}function a(e,t,s){const i=r.executeMany(new n.S(e),t,s,null);return Array.from(i)}function o(){return r.supportsCurves()}},78125:(e,t,s)=>{s.r(t),s.d(t,{fromExtent:()=>x,fromGeometry:()=>k,fromMultipoint:()=>P,fromPoint:()=>G,fromPolygon:()=>d,fromPolyline:()=>v,fromSpatialReference:()=>C,getSpatialReference:()=>y,toExtent:()=>M,toGeometry:()=>w,toMultipoint:()=>R,toPoint:()=>D,toPolygon:()=>V,toPolyline:()=>z});var n=s(83661),r=(s(79187),s(55537)),i=s(95213),a=s(35368),o=s(12189),l=s(5443),u=s(48526),c=s(86738),m=s(39829),h=s(82799),g=(s(90293),s(83299));const f="_gxVersion",p=2,_=1;function y(e){return Array.isArray(e)?e[0].spatialReference:e.spatialReference}function k(e){switch(e.type){case"point":return G(e);case"multipoint":return P(e);case"polyline":return v(e);case"polygon":return d(e);case"extent":return x(e);default:throw new Error(`Unsupported geometry type: ${e.type}`)}}function x(e){if(!e.getCacheValue(f)){const t=new i.E;t.setCoords(e.xmin,e.ymin,e.xmax,e.ymax),e.hasM&&t.setInterval(p,0,e.mmin,e.mmax),e.hasZ&&t.setInterval(_,0,e.zmin,e.zmax),e.setCacheValue(f,t)}return e.getCacheValue(f)}function P(e){if(!e.getCacheValue(f)){const t=new a.M,s=new i.P,n=e.points,r=e.hasM,o=e.hasZ,l=o?3:2;for(let e=0,i=n.length;e<i;e++){const i=n[e];s.setXYCoords(i[0],i[1]),o&&s.setZ(i[2]??0),r&&s.setM(i[l]??NaN),t.add(s)}e.setCacheValue(f,t)}return e.getCacheValue(f)}function G(e){if(!e.getCacheValue(f)){const t=new i.P;t.setXYCoords(e.x,e.y),e.hasM&&t.setM(e.m),e.hasZ&&t.setZ(e.z),e.setCacheValue(f,t)}return e.getCacheValue(f)}function d(e){if(!e.getCacheValue(f)){const{curveRings:t,hasM:s,hasZ:n,rings:r}=e,i=(0,g.fromGeometryToGXGeometry)({curveRings:t,hasM:s,hasZ:n,rings:r});e.setCacheValue(f,i)}return e.getCacheValue(f)}function v(e){if(!e.getCacheValue(f)){const{curvePaths:t,hasM:s,hasZ:n,paths:r}=e,i=(0,g.fromGeometryToGXGeometry)({curvePaths:t,hasM:s,hasZ:n,paths:r});e.setCacheValue(f,i)}return e.getCacheValue(f)}function C(e){if(e.wkid)return(0,o.c)(e.wkid);const t=e.wkt2||e.wkt;return t?(0,o.a)(t):null}function w(e,t){if(e)switch(e.getGeometryType()){case r.G.enumPoint:return D(e,t);case r.G.enumEnvelope:return M(e,t);case r.G.enumMultiPoint:return R(e,t);case r.G.enumPolyline:return z(e,t);case r.G.enumPolygon:return V(e,t)}return null}function M(e,t){if(e.isEmpty())return null;const s=new l.A({xmin:e.getXMin(),ymin:e.getYMin(),xmax:e.getXMax(),ymax:e.getYMax(),spatialReference:t}),n=e.getDescription();if(n.hasM()){const t=e.queryInterval(p,0);s.mmin=t.vmin,s.mmax=t.vmax}if(n.hasZ()){const t=e.queryInterval(_,0);s.zmin=t.vmin,s.zmax=t.vmax}return s.setCacheValue(f,e),s}function R(e,t){if(e.isEmpty())return null;const s=e.getDescription(),n=s.hasM(),r=s.hasZ(),a=[],o=new i.P;for(let t=0,s=e.getPointCount();t<s;t++){e.getPointByVal(t,o);const s=[o.getX(),o.getY()];r&&s.push(o.getZ()),n&&s.push(o.getM()),a.push(s)}const l=new u.A({hasM:n,hasZ:r,points:a,spatialReference:t});return l.setCacheValue(f,e),l}function D(e,t){if(e instanceof n.P)return new c.A({x:e.x,y:e.y,spatialReference:t});if(e.isEmpty())return null;const s=new c.A({x:e.getX(),y:e.getY(),spatialReference:t}),r=e.getDescription();return r.hasM()&&(s.m=e.getM()),r.hasZ()&&(s.z=e.getZ()),s.setCacheValue(f,e),s}function V(e,t){if(e.isEmpty())return null;const s=m.A.fromJSON({spatialReference:t,...(0,g.toGeometry)(e,null)});return s.setCacheValue(f,e),s}function z(e,t){if(e.isEmpty())return null;const s=h.A.fromJSON({spatialReference:t,...(0,g.toGeometry)(e,null)});return s.setCacheValue(f,e),s}}}]);