@vtx/ol-map 1.0.164 → 2.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/lib/buffer-draw/BufferDraw.js +3 -4
  2. package/lib/buffer-draw/BufferDraw.js.map +1 -1
  3. package/lib/buffer-draw/index.js +1 -3
  4. package/lib/buffer-draw/index.js.map +1 -1
  5. package/lib/feature-draw/FeatureDraw.js +3 -4
  6. package/lib/feature-draw/FeatureDraw.js.map +1 -1
  7. package/lib/feature-draw/index.js +1 -3
  8. package/lib/feature-draw/index.js.map +1 -1
  9. package/lib/heatmap-layer/index.js +3 -12
  10. package/lib/heatmap-layer/index.js.map +1 -1
  11. package/lib/high-layer/HighLayer.js +1 -2
  12. package/lib/high-layer/HighLayer.js.map +1 -1
  13. package/lib/high-layer/index.js +2 -4
  14. package/lib/high-layer/index.js.map +1 -1
  15. package/lib/legend/index.js +2 -3
  16. package/lib/legend/index.js.map +1 -1
  17. package/lib/legend/style/css.js +0 -4
  18. package/lib/legend/style/css.js.map +1 -1
  19. package/lib/legend/style/index.js +0 -4
  20. package/lib/legend/style/index.js.map +1 -1
  21. package/lib/map/Popup.js +11 -16
  22. package/lib/map/Popup.js.map +1 -1
  23. package/lib/map/index.js +18 -25
  24. package/lib/map/index.js.map +1 -1
  25. package/lib/poi-search/PoiList.js +6 -9
  26. package/lib/poi-search/PoiList.js.map +1 -1
  27. package/lib/poi-search/style/css.js +0 -4
  28. package/lib/poi-search/style/css.js.map +1 -1
  29. package/lib/poi-search/style/index.js +0 -4
  30. package/lib/poi-search/style/index.js.map +1 -1
  31. package/lib/search-map/VtxModal.js +7 -7
  32. package/lib/search-map/VtxModal.js.map +1 -1
  33. package/lib/search-map/index.js +15 -33
  34. package/lib/search-map/index.js.map +1 -1
  35. package/lib/search-map/style/index.css +4 -4
  36. package/lib/search-map/style/index.less +4 -6
  37. package/lib/search-map/style/modal.css +3 -3
  38. package/lib/search-map/style/modal.less +3 -5
  39. package/lib/style/themes/dark.less +2 -4
  40. package/lib/tile-layer/index.js +2 -4
  41. package/lib/tile-layer/index.js.map +1 -1
  42. package/lib/tools/Search/index.js +20 -21
  43. package/lib/tools/Search/index.js.map +1 -1
  44. package/lib/tools/Toolbox/BoxSelect/index.js +1 -4
  45. package/lib/tools/Toolbox/BoxSelect/index.js.map +1 -1
  46. package/lib/tools/Toolbox/CircleSelect/index.js +1 -4
  47. package/lib/tools/Toolbox/CircleSelect/index.js.map +1 -1
  48. package/lib/tools/Toolbox/EagleEye/index.js +2 -3
  49. package/lib/tools/Toolbox/EagleEye/index.js.map +1 -1
  50. package/lib/tools/Toolbox/MapBookmark/index.js +39 -40
  51. package/lib/tools/Toolbox/MapBookmark/index.js.map +1 -1
  52. package/lib/tools/Toolbox/MapPrint/index.js +16 -18
  53. package/lib/tools/Toolbox/MapPrint/index.js.map +1 -1
  54. package/lib/tools/Toolbox/Measure/Measure.js +3 -4
  55. package/lib/tools/Toolbox/Measure/Measure.js.map +1 -1
  56. package/lib/tools/Toolbox/Measure/index.js +5 -7
  57. package/lib/tools/Toolbox/Measure/index.js.map +1 -1
  58. package/lib/tools/Toolbox/ScaleLine/index.js +2 -3
  59. package/lib/tools/Toolbox/ScaleLine/index.js.map +1 -1
  60. package/lib/tools/Toolbox/SelectTools/index.js +65 -77
  61. package/lib/tools/Toolbox/SelectTools/index.js.map +1 -1
  62. package/lib/tools/Toolbox/SpaceQuery/index.js +51 -56
  63. package/lib/tools/Toolbox/SpaceQuery/index.js.map +1 -1
  64. package/lib/tools/Toolbox/ZoomInput/index.js +2 -6
  65. package/lib/tools/Toolbox/ZoomInput/index.js.map +1 -1
  66. package/lib/tools/Toolbox/index.js +24 -34
  67. package/lib/tools/Toolbox/index.js.map +1 -1
  68. package/lib/tools/Utils/HighLayer.js +1 -2
  69. package/lib/tools/Utils/HighLayer.js.map +1 -1
  70. package/lib/tools/View/index.js +12 -13
  71. package/lib/tools/View/index.js.map +1 -1
  72. package/lib/tools/base-map-switch/index.js +40 -44
  73. package/lib/tools/base-map-switch/index.js.map +1 -1
  74. package/lib/tools/components/Chart/index.js +1 -5
  75. package/lib/tools/components/Chart/index.js.map +1 -1
  76. package/lib/tools/components/Table/index.js +2 -5
  77. package/lib/tools/components/Table/index.js.map +1 -1
  78. package/lib/tools/index.js +1 -1
  79. package/lib/tools/index.js.map +1 -1
  80. package/lib/tools/layer-control/index.js +2 -3
  81. package/lib/tools/layer-control/index.js.map +1 -1
  82. package/lib/tools/style/css.js +0 -9
  83. package/lib/tools/style/css.js.map +1 -1
  84. package/lib/tools/style/index.js +0 -9
  85. package/lib/tools/style/index.js.map +1 -1
  86. package/package.json +9 -8
  87. package/lib/map/defaultTextEnum.js +0 -165
  88. package/lib/map/defaultTextEnum.js.map +0 -1
  89. package/lib/tools/Toolbox/draftingPrint/index.css +0 -26
  90. package/lib/tools/Toolbox/draftingPrint/index.js +0 -366
  91. package/lib/tools/Toolbox/draftingPrint/index.js.map +0 -1
  92. package/lib/tools/Toolbox/draftingPrint/index.less +0 -34
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_control","_ToolItem","_interopRequireDefault","_useProps2","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","isArray","_default","exports","props","onClick","_useProps","useProps","map","TextEnum","_useState","useState","_useState2","active","setActive","controlRef","useRef","useEffect","control","current","ScaleLine","units","bar","text","minWidth","className","addControl","removeControl","createElement","label","scale","icon"],"sources":["tools/Toolbox/ScaleLine/index.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { ScaleLine } from 'ol/control';\nimport ToolItem from '../../components/ToolItem';\nimport useProps from \"../../../use-props\";\n\nexport default props => {\n const { onClick } = props;\n\n const { map, TextEnum } = useProps();\n\n const [active, setActive] = useState(false);\n const controlRef = useRef();\n\n useEffect(() => {\n let control =\n controlRef.current ||\n new ScaleLine({\n units: 'metric',\n bar: true,\n text: true,\n minWidth: 125,\n className: 'ol-map-custom-scaleLine',\n });\n if (active) {\n map.addControl(controlRef.current);\n } else {\n map.removeControl(controlRef.current);\n }\n\n controlRef.current = control;\n\n return () => {\n map.removeControl(control);\n };\n }, [active]);\n\n return (\n <ToolItem\n onClick={() => {\n setActive(!active);\n onClick && onClick(!active);\n }}\n label={TextEnum.scale}\n icon=\"icon-ceju\"\n active={active}\n />\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_control","_ToolItem","_interopRequireDefault","_useProps2","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","isArray","_default","exports","props","onClick","_useProps","useProps","map","_useState","useState","_useState2","active","setActive","controlRef","useRef","useEffect","control","current","ScaleLine","units","bar","text","minWidth","className","addControl","removeControl","createElement","label","icon"],"sources":["tools/Toolbox/ScaleLine/index.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { ScaleLine } from 'ol/control';\nimport ToolItem from '../../components/ToolItem';\nimport useProps from \"../../../use-props\";\n\nexport default props => {\n const { onClick } = props;\n\n const { map } = useProps();\n\n const [active, setActive] = useState(false);\n const controlRef = useRef();\n\n useEffect(() => {\n let control =\n controlRef.current ||\n new ScaleLine({\n units: 'metric',\n bar: true,\n text: true,\n minWidth: 125,\n className: 'ol-map-custom-scaleLine',\n });\n if (active) {\n map.addControl(controlRef.current);\n } else {\n map.removeControl(controlRef.current);\n }\n\n controlRef.current = control;\n\n return () => {\n map.removeControl(control);\n };\n }, [active]);\n\n return (\n <ToolItem\n onClick={() => {\n setActive(!active);\n onClick && onClick(!active);\n }}\n label=\"比例尺\"\n icon=\"icon-ceju\"\n active={active}\n />\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -15,7 +15,7 @@ var _layer2 = require("ol/layer");
15
15
  var _Polygon = require("ol/geom/Polygon");
16
16
  var _Draw = _interopRequireDefault(require("../../Utils/Draw"));
17
17
  require("./index.less");
18
- var _useProps6 = _interopRequireDefault(require("../../../use-props"));
18
+ var _useProps3 = _interopRequireDefault(require("../../../use-props"));
19
19
  var _classnames2 = _interopRequireDefault(require("classnames"));
20
20
  var _ahooks = require("ahooks");
21
21
  var _ImageLayer = require("../../../image-layer/ImageLayer");
@@ -153,15 +153,14 @@ var TableView = function TableView(props) {
153
153
  var dataSource = props.dataSource,
154
154
  otherColumns = props.columns,
155
155
  info = props.info;
156
- var _useProps = (0, _useProps6["default"])(),
157
- map = _useProps.map,
158
- TextEnum = _useProps.TextEnum;
156
+ var _useProps = (0, _useProps3["default"])(),
157
+ map = _useProps.map;
159
158
  var _useState5 = (0, _react.useState)(true),
160
159
  _useState6 = _slicedToArray(_useState5, 2),
161
160
  open = _useState6[0],
162
161
  setOpen = _useState6[1];
163
162
  var columns = [{
164
- title: TextEnum.codeName,
163
+ title: '编码/名称',
165
164
  dataIndex: 'NAME',
166
165
  width: 180,
167
166
  render: function render(text, record) {
@@ -192,39 +191,32 @@ var TableView = function TableView(props) {
192
191
  rowKey: "code",
193
192
  dataSource: dataSource,
194
193
  columns: columns,
195
- size: "small",
196
- locale: {
197
- emptyText: TextEnum.noData
198
- }
194
+ size: "small"
199
195
  }))), (dataSource === null || dataSource === void 0 ? void 0 : dataSource.length) > 0 && /*#__PURE__*/_react["default"].createElement("div", {
200
196
  className: "ol-map-search-result-button",
201
197
  onClick: function onClick() {
202
198
  return setOpen(!open);
203
199
  }
204
- }, open ? TextEnum.collapse : TextEnum.expand, open ? /*#__PURE__*/_react["default"].createElement(_icons.CaretUpOutlined, null) : /*#__PURE__*/_react["default"].createElement(_icons.CaretDownOutlined, null)));
205
- };
206
- var TYPE = function TYPE(TextEnum) {
207
- return [{
208
- label: TextEnum.table,
209
- value: 'table',
210
- icon: /*#__PURE__*/_react["default"].createElement(_icons.TableOutlined, null)
211
- }, {
212
- label: TextEnum.barChart,
213
- value: 'bar',
214
- icon: /*#__PURE__*/_react["default"].createElement(_icons.BarChartOutlined, null)
215
- }, {
216
- label: TextEnum.lineChart,
217
- value: 'line',
218
- icon: /*#__PURE__*/_react["default"].createElement(_icons.LineChartOutlined, null)
219
- }, {
220
- label: TextEnum.pieChart,
221
- value: 'pie',
222
- icon: /*#__PURE__*/_react["default"].createElement(_icons.PieChartOutlined, null)
223
- }];
200
+ }, open ? '收起' : '展开', open ? /*#__PURE__*/_react["default"].createElement(_icons.CaretUpOutlined, null) : /*#__PURE__*/_react["default"].createElement(_icons.CaretDownOutlined, null)));
224
201
  };
202
+ var TYPE = [{
203
+ label: '表格',
204
+ value: 'table',
205
+ icon: /*#__PURE__*/_react["default"].createElement(_icons.TableOutlined, null)
206
+ }, {
207
+ label: '柱状图',
208
+ value: 'bar',
209
+ icon: /*#__PURE__*/_react["default"].createElement(_icons.BarChartOutlined, null)
210
+ }, {
211
+ label: '折线图',
212
+ value: 'line',
213
+ icon: /*#__PURE__*/_react["default"].createElement(_icons.LineChartOutlined, null)
214
+ }, {
215
+ label: '饼图',
216
+ value: 'pie',
217
+ icon: /*#__PURE__*/_react["default"].createElement(_icons.PieChartOutlined, null)
218
+ }];
225
219
  var ChartView = function ChartView(props) {
226
- var _useProps2 = (0, _useProps6["default"])(),
227
- TextEnum = _useProps2.TextEnum;
228
220
  var type = props.type,
229
221
  data = props.data;
230
222
  return /*#__PURE__*/_react["default"].createElement(_Chart["default"], {
@@ -233,7 +225,7 @@ var ChartView = function ChartView(props) {
233
225
  },
234
226
  yAxis: {
235
227
  show: type !== 'pie',
236
- name: TextEnum.unitItemText
228
+ name: '条'
237
229
  },
238
230
  legend: {
239
231
  show: false
@@ -242,7 +234,7 @@ var ChartView = function ChartView(props) {
242
234
  show: type !== 'pie',
243
235
  field: 'name'
244
236
  },
245
- unit: TextEnum.unitItemText,
237
+ unit: "\u6761",
246
238
  series: [_objectSpread({
247
239
  type: type,
248
240
  name: '管线',
@@ -269,15 +261,13 @@ var ChartView = function ChartView(props) {
269
261
  var PipeDataView = function PipeDataView(props) {
270
262
  var _TYPE$;
271
263
  var dataSource = props.dataSource;
272
- var _useProps3 = (0, _useProps6["default"])(),
273
- TextEnum = _useProps3.TextEnum;
274
- var _useState7 = (0, _react.useState)((_TYPE$ = TYPE(TextEnum)[0]) === null || _TYPE$ === void 0 ? void 0 : _TYPE$.value),
264
+ var _useState7 = (0, _react.useState)((_TYPE$ = TYPE[0]) === null || _TYPE$ === void 0 ? void 0 : _TYPE$.value),
275
265
  _useState8 = _slicedToArray(_useState7, 2),
276
266
  type = _useState8[0],
277
267
  setType = _useState8[1];
278
268
  var chartData = (0, _react.useMemo)(function () {
279
269
  var data = [{
280
- name: TextEnum.under50mm,
270
+ name: '50mm以下',
281
271
  value: 0,
282
272
  filter: function filter(item) {
283
273
  return item.ds < 50;
@@ -307,7 +297,7 @@ var PipeDataView = function PipeDataView(props) {
307
297
  return item.ds >= 600 && item.ds < 1000;
308
298
  }
309
299
  }, {
310
- name: TextEnum.over1000mm,
300
+ name: '1000mm以上',
311
301
  value: 0,
312
302
  filter: function filter(item) {
313
303
  return item.ds >= 1000;
@@ -326,7 +316,7 @@ var PipeDataView = function PipeDataView(props) {
326
316
  });
327
317
  }, [dataSource]);
328
318
  var columns = [{
329
- title: TextEnum.lengthM,
319
+ title: '长度(m)',
330
320
  dataIndex: 'lineLength',
331
321
  width: 100
332
322
  }];
@@ -337,7 +327,7 @@ var PipeDataView = function PipeDataView(props) {
337
327
  }, 0) / 1000;
338
328
  }
339
329
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_antd.Segmented, {
340
- options: TYPE(TextEnum),
330
+ options: TYPE,
341
331
  value: type,
342
332
  onChange: setType
343
333
  }), type === 'table' ? /*#__PURE__*/_react["default"].createElement(TableView, {
@@ -345,11 +335,11 @@ var PipeDataView = function PipeDataView(props) {
345
335
  dataSource: dataSource,
346
336
  info: /*#__PURE__*/_react["default"].createElement(_Info["default"], {
347
337
  list: [{
348
- label: TextEnum.pipeTotalCount,
338
+ label: '管线总数',
349
339
  value: (dataSource === null || dataSource === void 0 ? void 0 : dataSource.length) || 0,
350
- unit: TextEnum.unitItemText
340
+ unit: '条'
351
341
  }, {
352
- label: TextEnum.pipeTotalLength,
342
+ label: '管线总长',
353
343
  value: totalLength ? Number(totalLength).toFixed(2) : totalLength,
354
344
  unit: 'km'
355
345
  }]
@@ -359,6 +349,27 @@ var PipeDataView = function PipeDataView(props) {
359
349
  type: type
360
350
  }));
361
351
  };
352
+ var DEVICE_STATUS_NAME = {
353
+ 1: {
354
+ label: '在线',
355
+ color: '#119FFB'
356
+ },
357
+ // 正常/在线
358
+ 2: {
359
+ label: '报警',
360
+ color: '#CE3739'
361
+ },
362
+ // 报警/异常
363
+ 3: {
364
+ label: '离线',
365
+ color: '#AAAAAD'
366
+ },
367
+ // 离线
368
+ 4: {
369
+ label: '故障',
370
+ color: '#CE3739'
371
+ } // 故障/堵塞
372
+ };
362
373
  var DeviceInfo = function DeviceInfo(props) {
363
374
  var data = props.data;
364
375
  var list = (0, _react.useMemo)(function () {
@@ -425,31 +436,8 @@ var DeviceDataView = function DeviceDataView(props) {
425
436
  _useState0 = _slicedToArray(_useState9, 2),
426
437
  filter = _useState0[0],
427
438
  setFilter = _useState0[1];
428
- var _useProps4 = (0, _useProps6["default"])(),
429
- TextEnum = _useProps4.TextEnum;
430
- var DEVICE_STATUS_NAME = {
431
- 1: {
432
- label: TextEnum.online,
433
- color: '#119FFB'
434
- },
435
- // 正常/在线
436
- 2: {
437
- label: TextEnum.alarm,
438
- color: '#CE3739'
439
- },
440
- // 报警/异常
441
- 3: {
442
- label: TextEnum.offline,
443
- color: '#AAAAAD'
444
- },
445
- // 离线
446
- 4: {
447
- label: TextEnum.fault,
448
- color: '#CE3739'
449
- } // 故障/堵塞
450
- };
451
439
  var columns = [{
452
- title: TextEnum.status,
440
+ title: '状态',
453
441
  dataIndex: 'status',
454
442
  width: 100,
455
443
  render: function render(text) {
@@ -481,30 +469,30 @@ var DeviceDataView = function DeviceDataView(props) {
481
469
  dataSource: tableData,
482
470
  info: /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Info["default"], {
483
471
  list: [{
484
- label: TextEnum.total,
472
+ label: '总数',
485
473
  value: (dataSource === null || dataSource === void 0 ? void 0 : dataSource.length) || 0,
486
- unit: TextEnum.unitGeText,
474
+ unit: '个',
487
475
  onClick: function onClick() {
488
476
  return setFilter(null);
489
477
  }
490
478
  }, {
491
- label: TextEnum.online,
479
+ label: '在线',
492
480
  value: getTotal(1),
493
- unit: TextEnum.unitGeText,
481
+ unit: '个',
494
482
  onClick: function onClick() {
495
483
  return setFilter(1);
496
484
  }
497
485
  }, {
498
- label: TextEnum.alarm,
486
+ label: '报警',
499
487
  value: getTotal(2),
500
- unit: TextEnum.unitGeText,
488
+ unit: '个',
501
489
  onClick: function onClick() {
502
490
  return setFilter(2);
503
491
  }
504
492
  }, {
505
- label: TextEnum.offline,
493
+ label: '离线',
506
494
  value: getTotal(3),
507
- unit: TextEnum.unitGeText,
495
+ unit: '个',
508
496
  onClick: function onClick() {
509
497
  return setFilter(3);
510
498
  }
@@ -520,8 +508,8 @@ var _default = exports["default"] = function _default(props) {
520
508
  title = props.title,
521
509
  renderTableActive = props.renderTableActive,
522
510
  statistic = props.statistic;
523
- var _useProps5 = (0, _useProps6["default"])(),
524
- map = _useProps5.map;
511
+ var _useProps2 = (0, _useProps3["default"])(),
512
+ map = _useProps2.map;
525
513
  var _useState1 = (0, _react.useState)(''),
526
514
  _useState10 = _slicedToArray(_useState1, 2),
527
515
  currentLayerKey = _useState10[0],
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_antd","_icons","_Table","_interopRequireDefault","_Modal","_layer","_layer2","_Polygon","_Draw","_useProps6","_classnames2","_ahooks","_ImageLayer","_WmsLayer","_turf","_Info","_Chart","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_toPropertyKey","value","configurable","writable","_toPrimitive","toPrimitive","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","a","toString","slice","constructor","name","test","l","u","next","done","classPrefix","getFeatureIntersects","polygon","feature","_feature$getGeometry","_feature$getGeometry2","_feature$getGeometry3","_lngLat$","lngLat","getGeometry","getCoordinates","poly","TurfPolygon","pt","B","getType","map","v","TurfPoint","intersects","TurfBooleanPointInPolygon","_lngLat$2","item","LayerSelect","props","_list","_props$options","options","onChange","currentKey","_useState","useState","_useState2","open","setOpen","_useState3","_useState4","active","setActive","time","useRef","useUpdateEffect","createElement","Fragment","showOpen","list","onClick","current","clearTimeout","setTimeout","className","classnames","concat","Space","size","wrap","index","key","label","Divider","style","margin","Button","icon","VerticalAlignTopOutlined","VerticalAlignBottomOutlined","type","TableView","dataSource","otherColumns","columns","info","_useProps","useProps","TextEnum","_useState5","_useState6","title","codeName","dataIndex","width","render","text","record","_map$getViewport","doc","document","getElementsByClassName","rect","getBoundingClientRect","parentRect","getViewport","left","showTemplate","fitViewOptions","padding","minHeight","rowKey","locale","emptyText","noData","collapse","expand","CaretUpOutlined","CaretDownOutlined","TYPE","table","TableOutlined","barChart","BarChartOutlined","lineChart","LineChartOutlined","pieChart","PieChartOutlined","ChartView","_useProps2","data","height","yAxis","show","unitItemText","legend","xAxis","field","unit","series","radius","center","position","formatter","PipeDataView","_TYPE$","_useProps3","_useState7","_useState8","setType","chartData","useMemo","under50mm","ds","over1000mm","d","lengthM","totalLength","reduce","prev","cur","Segmented","pipeTotalCount","pipeTotalLength","toFixed","DeviceInfo","val","deviceValues","device","factorValues","factor","monitorItemName","formatValue","collectFrequency","dataVal","maxValue","Math","max","minValue","min","avgValue","DeviceDataView","_useState9","_useState0","setFilter","_useProps4","DEVICE_STATUS_NAME","online","color","alarm","offline","fault","status","_DEVICE_STATUS_NAME$t","tableData","getTotal","total","unitGeText","_default","exports","onClose","drawType","renderTableActive","statistic","_useProps5","_useState1","_useState10","currentLayerKey","setCurrentLayerKey","_useState11","_useState12","setDataSource","_useState13","_useState14","loading","setLoading","_useState15","_useState16","layersOpts","setLayersOpts","_useState17","_useState18","setFeature","draw","useDeepCompareEffect","useEffect","layersChange","getOptions","layers","on","un","Draw","zIndex","destroy","hideTemplate","_opts$","opts","getAllLayers","viewOnly","layerControl","_key","layer","getLayerByKey","_feature$getGeometry4","geometry","Image","WmsLayer","getWmsData","Vector","getWfsData","message","extent","getExtent","source","getSource","features","getFeatureInfo","listKeys","getKeys","labelField","NAME","forEachFeatureIntersectingExtent","featureList","addTableData","polygonGeometry","fromCircle","featureIntersects","setHighlightFeature","_layer$getSource","_layer$group","_filter","params_","cql_filter","group","getFilter","coorStr","coordinates","getWFSFeatureInfoByLayer","then","line_length","lineLength","isDeviceLayer","_layer$params","_layer$url","deviceTypeId","params","url","indexOf","Boolean","isPipeLineLayer","toUpperCase","Spin","spinning"],"sources":["tools/Toolbox/SelectTools/index.js"],"sourcesContent":["/*\n * @Description:框选、圈选、多边形选择\n */\nimport React, { useEffect, useRef, useState, useMemo, use } from 'react';\nimport { message, Space, Divider, Button, Spin, Segmented } from 'antd';\nimport {\n CaretUpOutlined,\n CaretDownOutlined,\n TableOutlined,\n PieChartOutlined,\n BarChartOutlined,\n LineChartOutlined,\n} from '@ant-design/icons';\nimport Table from '../../components/Table';\nimport Modal from '../../components/Modal';\nimport { getWFSFeatureInfoByLayer } from '../../../_util/layer';\nimport { Image, Vector } from 'ol/layer';\nimport { fromCircle } from 'ol/geom/Polygon';\nimport Draw from '../../Utils/Draw';\nimport './index.less';\nimport useProps from '../../../use-props';\nimport classnames from 'classnames';\nimport { useUpdateEffect, useDeepCompareEffect } from 'ahooks';\nimport { VerticalAlignBottomOutlined, VerticalAlignTopOutlined } from '@ant-design/icons';\nimport { getFilter } from '../../../image-layer/ImageLayer';\nimport WmsLayer from '../../../wms-layer/WmsLayer';\nimport {\n booleanPointInPolygon as TurfBooleanPointInPolygon,\n point as TurfPoint,\n polygon as TurfPolygon,\n} from '@turf/turf';\nimport Info from '../../components/Info';\nimport Chart from '../../components/Chart';\n\nconst classPrefix = 'selectTools';\n\nconst getFeatureIntersects = (polygon, feature) => {\n let lngLat = feature?.getGeometry()?.getCoordinates();\n const poly = TurfPolygon(polygon.getCoordinates());\n\n let pt;\n let B = false;\n\n if (feature?.getGeometry()?.getType() === 'Point') {\n lngLat.map(v => Number(v));\n pt = TurfPoint(lngLat);\n // 判断在点在多边形内\n if (poly && pt) {\n const intersects = TurfBooleanPointInPolygon(pt, poly);\n if (intersects) {\n B = true;\n }\n }\n }\n\n if (feature?.getGeometry()?.getType() === 'Polygon' && lngLat?.[0]?.length) {\n lngLat?.[0].map(v => Number(v));\n lngLat?.[0]?.map(item => {\n pt = TurfPoint(item);\n if (poly && pt) {\n const intersects = TurfBooleanPointInPolygon(pt, poly);\n if (intersects) {\n B = true;\n }\n }\n });\n }\n\n return B;\n};\n\nconst LayerSelect = props => {\n const { options = [], value, onChange, currentKey } = props;\n const [open, setOpen] = useState(false);\n const [active, setActive] = useState(value);\n const time = useRef();\n\n useUpdateEffect(() => {\n setActive(value);\n }, [value]);\n\n if (!options?.length) {\n return <></>;\n }\n const showOpen = options?.length > 9;\n\n let list = options;\n if (options?.length) {\n if (!open) {\n if (options.length > 9) {\n list = options.slice(0, 9);\n }\n } else {\n list = options;\n }\n }\n\n const onClick = value => {\n setActive(value);\n currentKey.current = value;\n\n if (time.current) {\n clearTimeout(time.current);\n }\n\n time.current = setTimeout(() => {\n onChange?.(value);\n }, 500);\n };\n\n return (\n <div\n className={classnames(`${classPrefix}-layer-select`, {\n 'selectTools-layer-select-scroll': open,\n })}\n >\n <Space size={[8, 8]} wrap>\n {list?.length > 0 &&\n list.map((item, index) => (\n <div\n key={index}\n className={classnames(`${classPrefix}-layer-select-item`, {\n [`${classPrefix}-layer-select-item-active`]: active === item.value,\n })}\n onClick={() => onClick(item.value)}\n >\n {item.label}\n </div>\n ))}\n </Space>\n\n {showOpen && (\n <Divider style={{ margin: 0 }}>\n <Button\n icon={open ? <VerticalAlignTopOutlined /> : <VerticalAlignBottomOutlined />}\n onClick={() => setOpen(!open)}\n type=\"link\"\n >\n {open ? '收起' : '展开'}\n </Button>\n </Divider>\n )}\n </div>\n );\n};\n\nconst TableView = props => {\n const { dataSource, columns: otherColumns, info } = props;\n const { map, TextEnum } = useProps();\n const [open, setOpen] = useState(true);\n\n const columns = [\n {\n title: TextEnum.codeName,\n dataIndex: 'NAME',\n width: 180,\n render: (text, record) => {\n return (\n <a\n onClick={() => {\n let doc = document.getElementsByClassName('ol-map-tools')[0];\n let rect = doc?.getBoundingClientRect();\n let parentRect = map.getViewport()?.getBoundingClientRect();\n let left = 400;\n if (rect && parentRect) {\n left = rect?.left - parentRect?.left + 12 + 350 + 150;\n }\n map.showTemplate(record.feature, {\n fitViewOptions: { padding: [100, 400, 100, left] },\n });\n }}\n >\n {text}\n </a>\n );\n },\n },\n ...(otherColumns || []),\n ];\n\n return (\n <>\n <div style={{ minHeight: 20 }}>\n {open && (\n <>\n {info}\n <Table\n rowKey=\"code\"\n dataSource={dataSource}\n columns={columns}\n size=\"small\"\n locale={{\n emptyText: TextEnum.noData,\n\n }}\n />\n </>\n )}\n </div>\n\n {dataSource?.length > 0 && (\n <div className=\"ol-map-search-result-button\" onClick={() => setOpen(!open)}>\n {open ? TextEnum.collapse : TextEnum.expand}\n {open ? <CaretUpOutlined /> : <CaretDownOutlined />}\n </div>\n )}\n </>\n );\n};\n\nconst TYPE = (TextEnum) => {\n\n return [\n { label: TextEnum.table, value: 'table', icon: <TableOutlined /> },\n { label: TextEnum.barChart, value: 'bar', icon: <BarChartOutlined /> },\n { label: TextEnum.lineChart, value: 'line', icon: <LineChartOutlined /> },\n { label: TextEnum.pieChart, value: 'pie', icon: <PieChartOutlined /> },\n ]\n};\n\nconst ChartView = props => {\n const { TextEnum } = useProps();\n const { type, data } = props;\n return (\n <Chart\n style={{ height: 300 }}\n yAxis={{\n show: type !== 'pie',\n name: TextEnum.unitItemText,\n }}\n legend={{ show: false }}\n xAxis={{\n show: type !== 'pie',\n field: 'name',\n }}\n unit={TextEnum.unitItemText}\n series={[\n {\n type,\n name: '管线',\n radius: ['30%', '50%'],\n center: ['50%', '50%'],\n // data: data['供水量'] || [1000, 1200],\n ...(type === 'pie'\n ? {\n data,\n label: {\n show: true,\n position: 'outside',\n formatter: '{b}\\n{c}条',\n },\n }\n : {\n field: 'value',\n label: {\n show: true,\n position: 'top',\n formatter: '{c}条',\n },\n }),\n },\n ]}\n data={data}\n />\n );\n};\nconst PipeDataView = props => {\n const { dataSource } = props;\n const { TextEnum } = useProps();\n const [type, setType] = useState(TYPE(TextEnum)[0]?.value);\n\n const chartData = useMemo(() => {\n const data = [\n { name: TextEnum.under50mm, value: 0, filter: item => item.ds < 50 },\n { name: '50-100mm', value: 0, filter: item => item.ds >= 50 && item.ds < 100 },\n { name: '100-300mm', value: 0, filter: item => item.ds >= 100 && item.ds < 300 },\n { name: '300-600mm', value: 0, filter: item => item.ds >= 300 && item.ds < 600 },\n { name: '600-1000mm', value: 0, filter: item => item.ds >= 600 && item.ds < 1000 },\n { name: TextEnum.over1000mm, value: 0, filter: item => item.ds >= 1000 },\n ];\n dataSource.map(item => {\n item.ds = item.ds ? Number(item.ds) : 0;\n data.map(d => {\n if (d.filter(item)) {\n d.value += 1;\n }\n });\n });\n\n return data.filter(v => v.value > 0);\n }, [dataSource]);\n\n const columns = [\n {\n title: TextEnum.lengthM,\n dataIndex: 'lineLength',\n width: 100,\n },\n ];\n\n let totalLength = 0;\n if (dataSource?.length) {\n totalLength =\n dataSource.reduce((prev, cur) => {\n return prev + (cur['lineLength'] || 0);\n }, 0) / 1000;\n }\n return (\n <>\n <Segmented options={TYPE(TextEnum)} value={type} onChange={setType} />\n\n {type === 'table' ? (\n <TableView\n columns={columns}\n dataSource={dataSource}\n info={\n <Info\n list={[\n { label: TextEnum.pipeTotalCount, value: dataSource?.length || 0, unit: TextEnum.unitItemText },\n {\n label: TextEnum.pipeTotalLength,\n value: totalLength\n ? Number(totalLength).toFixed(2)\n : totalLength,\n unit: 'km',\n },\n ]}\n />\n }\n />\n ) : (\n <ChartView data={chartData} type={type} />\n )}\n </>\n );\n};\n\n\nconst DeviceInfo = props => {\n const { data } = props;\n\n const list = useMemo(() => {\n const val = {};\n data.map(item => {\n const { deviceValues } = item;\n if (deviceValues?.length) {\n deviceValues.map(device => {\n const { factorValues } = device;\n if (factorValues?.length) {\n factorValues.map(factor => {\n const { monitorItemName, formatValue, unit, collectFrequency } = factor;\n if (collectFrequency === 'realtime' && formatValue) {\n val[monitorItemName] = val[monitorItemName] || {\n name: monitorItemName,\n unit: unit,\n data: [],\n };\n val[monitorItemName].data.push(Number(formatValue));\n }\n });\n }\n });\n }\n });\n\n const dataVal = [];\n for (let i in val) {\n const { data } = val[i];\n const maxValue = Math.max(...data);\n const minValue = Math.min(...data);\n const avgValue =\n data.reduce((prev, cur) => {\n return prev + cur;\n }, 0) / data.length;\n\n dataVal.push({\n ...val[i],\n maxValue,\n minValue,\n avgValue: avgValue ? Number(avgValue).toFixed(2) : avgValue,\n });\n }\n\n return dataVal;\n }, [data?.length]);\n\n if (!list?.length) {\n return <></>;\n }\n\n return (\n <div className={classnames(`${classPrefix}-device`)}>\n <div className={classnames(`${classPrefix}-device-top`)}>\n <div>监测项</div>\n <div>最大值</div>\n <div>最小值</div>\n <div>平均值</div>\n </div>\n <div className={classnames(`${classPrefix}-device-content`)}>\n {list?.length > 0 &&\n list.map((item, index) => (\n <div\n key={index}\n className={classnames(`${classPrefix}-device-content-item`)}\n >\n <div>{item.name}</div>\n <div>\n {item.maxValue}\n <span>{item.unit}</span>\n </div>\n <div>\n {item.minValue}\n <span>{item.unit}</span>\n </div>\n <div>\n {item.avgValue}\n <span>{item.unit}</span>\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n};\nconst DeviceDataView = props => {\n const { dataSource } = props;\n const [filter, setFilter] = useState(null);\n const { TextEnum } = useProps();\n const DEVICE_STATUS_NAME = {\n 1: { label: TextEnum.online, color: '#119FFB' }, // 正常/在线\n 2: { label: TextEnum.alarm, color: '#CE3739' }, // 报警/异常\n 3: { label: TextEnum.offline, color: '#AAAAAD' }, // 离线\n 4: { label: TextEnum.fault, color: '#CE3739' }, // 故障/堵塞\n };\n const columns = [\n {\n title: TextEnum.status,\n dataIndex: 'status',\n width: 100,\n render: text => {\n if (DEVICE_STATUS_NAME[text]) {\n const { color, label } = DEVICE_STATUS_NAME[text];\n return <span style={{ color }}>{label}</span>;\n }\n return '-';\n },\n },\n ];\n\n const tableData = useMemo(() => {\n return filter ? dataSource.filter(item => Number(item.status) === filter) : dataSource;\n }, [filter, dataSource?.length]);\n\n const getTotal = value => {\n return dataSource.filter(item => Number(item.status) === value).length;\n };\n return (\n <TableView\n columns={columns}\n dataSource={tableData}\n info={\n <div>\n <Info\n list={[\n {\n label: TextEnum.total,\n value: dataSource?.length || 0,\n unit: TextEnum.unitGeText,\n onClick: () => setFilter(null),\n },\n {\n label: TextEnum.online,\n value: getTotal(1),\n unit: TextEnum.unitGeText,\n onClick: () => setFilter(1),\n },\n {\n label: TextEnum.alarm,\n value: getTotal(2),\n unit: TextEnum.unitGeText,\n onClick: () => setFilter(2),\n },\n {\n label: TextEnum.offline,\n value: getTotal(3),\n unit: TextEnum.unitGeText,\n onClick: () => setFilter(3),\n },\n ]}\n />\n <DeviceInfo data={dataSource} />\n </div>\n }\n />\n );\n};\n\nexport default props => {\n const { onClose, drawType, title, renderTableActive, statistic } = props;\n const { map } = useProps();\n const [currentLayerKey, setCurrentLayerKey] = useState('');\n const [dataSource, setDataSource] = useState([]);\n const [loading, setLoading] = useState(false);\n\n const [layersOpts, setLayersOpts] = useState([]);\n const [feature, setFeature] = useState({});\n\n const draw = useRef();\n const currentKey = useRef();\n\n useDeepCompareEffect(() => {\n onClick();\n }, [currentLayerKey, feature, layersOpts]);\n\n useEffect(() => {\n const layersChange = () => {\n getOptions();\n };\n\n layersChange();\n\n // 添加图层变化监听事件\n map.layers.on('change', layersChange);\n\n return () => {\n // 移除图层变化监听事件\n map.layers.un('change', layersChange);\n };\n }, []);\n\n useEffect(() => {\n draw.current = new Draw({ map, zIndex: 80 });\n draw.current.draw(drawType, feature => {\n setFeature(feature);\n });\n return () => {\n draw.current.destroy();\n map.hideTemplate();\n currentKey.current = null;\n };\n }, []);\n\n const getOptions = () => {\n if (map) {\n let opts = [];\n let layers = map.getAllLayers().filter(v => {\n return (\n !v.viewOnly &&\n v.key &&\n v.name &&\n v.layerControl &&\n v.show &&\n v.key !== 'Highlight'\n );\n });\n layers.map(v => {\n opts.push({\n ...v,\n value: v.key,\n label: v.name,\n });\n });\n\n // 当前key对应的图层还显示的话取当前的key否者取第一个layersOpts的key\n let _key = opts?.[0]?.value;\n if (currentKey.current) {\n let layer = map.layers.getLayerByKey(currentKey.current);\n if (layer && layer?.show) {\n _key = currentKey.current;\n }\n }\n currentKey.current = _key;\n setCurrentLayerKey(_key);\n setLayersOpts(opts);\n }\n };\n\n const onClick = () => {\n setDataSource([]);\n if (!feature) return;\n let geometry = feature?.getGeometry?.();\n if (!geometry) return;\n setLoading(true);\n\n let layer = map.layers.getLayerByKey(currentLayerKey);\n if (geometry && currentLayerKey && layer) {\n let tableData = [];\n // wms图层\n if (layer instanceof Image || layer instanceof WmsLayer) {\n getWmsData(geometry, layer, tableData);\n } else if (layer instanceof Vector) {\n getWfsData(geometry, layer, tableData);\n }\n } else {\n setLoading(false);\n if (!geometry) {\n message.destroy();\n message.info('请先框选图层', 2);\n }\n if (!currentLayerKey) {\n message.destroy();\n message.info('请先选择图层', 2);\n }\n }\n };\n\n /**\n * @description: wfs图层时获取框选数据\n * @param {*} geometry\n * @param {*} layer\n * @param {*} tableData\n * @return {*}\n */\n const getWfsData = (geometry, layer, tableData) => {\n let extent = geometry.getExtent();\n let source = layer.getSource();\n let features = [];\n const getFeatureInfo = feature => {\n let listKeys = feature.getKeys();\n let data = {};\n listKeys.forEach(item => {\n if (feature.get(item)) {\n data[item] = feature.get(item);\n\n if (layer.labelField) {\n data.NAME = feature.get(layer.labelField);\n }\n\n data.feature = feature;\n }\n });\n return data;\n };\n if (source.forEachFeatureIntersectingExtent && extent) {\n source.forEachFeatureIntersectingExtent(extent, feature => {\n let featureList = feature.get('features');\n\n const addTableData = f => {\n let data = getFeatureInfo(f);\n tableData.push(data);\n features.push(f);\n };\n if (featureList?.length > 1) {\n featureList.forEach(f => {\n // 圈选处理\n if (drawType === 'Circle') {\n const polygonGeometry = new fromCircle(geometry);\n const featureIntersects = getFeatureIntersects(polygonGeometry, f);\n if (!featureIntersects) {\n return;\n }\n }\n\n addTableData(f);\n });\n } else {\n // 圈选处理\n if (drawType === 'Circle') {\n const polygonGeometry = new fromCircle(geometry);\n const featureIntersects = getFeatureIntersects(polygonGeometry, feature);\n if (!featureIntersects) {\n return;\n }\n }\n\n addTableData(feature);\n }\n });\n setLoading(false);\n map.setHighlightFeature(features);\n setDataSource(tableData);\n } else {\n setLoading(false);\n }\n };\n\n /**\n * @description: wms图层时获取框选数据\n * @return {*}\n */\n const getWmsData = (geometry, layer, tableData) => {\n let _filter = layer?.getSource()?.params_?.cql_filter || '';\n\n if (layer?.group?.length) {\n _filter = getFilter(layer.group);\n }\n\n let coorStr = '';\n let coordinates = geometry.getCoordinates();\n\n // 圈选处理\n if (drawType === 'Circle') {\n let polygonGeometry = new fromCircle(geometry);\n coordinates = polygonGeometry.getCoordinates();\n }\n\n coordinates[0].forEach((v, i) => {\n if (i == 0) {\n coorStr += `${v[0]} ${v[1]}`;\n } else {\n coorStr += `, ${v[0]} ${v[1]}`;\n }\n });\n // 增加图层的其他过滤\n const filter = _filter ? `(${_filter}) and ` : '';\n\n getWFSFeatureInfoByLayer(\n layer,\n `${filter}INTERSECTS(geo_location, POLYGON((${coorStr})))`,\n ).then(features => {\n setLoading(false);\n map.setHighlightFeature(features);\n if (features?.length) {\n features.forEach(item => {\n let listKeys = item.getKeys();\n let data = {};\n listKeys.forEach(key => {\n if (item.get(key)) {\n data[key] = item.get(key);\n data.feature = item;\n }\n });\n if (layer.labelField) {\n data.NAME = item.get(layer.labelField) || '';\n }\n\n // 处理管线长度字段\n if (data.line_length) {\n data.lineLength = data.lineLength || data.line_length;\n }\n\n tableData.push(data);\n });\n setDataSource(tableData);\n } else {\n message.destroy();\n message.info('暂无数据', 2);\n }\n });\n };\n\n // 判断是否是设备图层\n const isDeviceLayer = useMemo(() => {\n const layer = map?.getLayerByKey(currentLayerKey);\n const deviceTypeId = layer?.params?.deviceTypeId;\n const url = layer?.url?.indexOf('/cloud/device/deviceMap/list') !== -1;\n return Boolean(deviceTypeId && url);\n }, [currentLayerKey]);\n\n // 判断是否是管线图层\n const isPipeLineLayer = currentLayerKey && currentLayerKey.toUpperCase().indexOf('LINE') !== -1;\n\n return (\n <Modal title={title || ''} onClose={onClose} width={300}>\n <Spin spinning={loading}>\n <LayerSelect\n options={layersOpts}\n value={currentLayerKey}\n onChange={setCurrentLayerKey}\n currentKey={currentKey}\n />\n\n {renderTableActive && renderTableActive(dataSource, currentLayerKey, onClick)}\n\n {statistic ? (\n isPipeLineLayer ? (\n <PipeDataView dataSource={dataSource} />\n ) : isDeviceLayer ? (\n <DeviceDataView dataSource={dataSource} />\n ) : (\n <TableView dataSource={dataSource} />\n )\n ) : (\n <TableView dataSource={dataSource} />\n )}\n </Spin>\n </Modal>\n );\n};\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAQA,IAAAG,MAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAL,sBAAA,CAAAJ,OAAA;AACAA,OAAA;AACA,IAAAU,UAAA,GAAAN,sBAAA,CAAAJ,OAAA;AACA,IAAAW,YAAA,GAAAP,sBAAA,CAAAJ,OAAA;AACA,IAAAY,OAAA,GAAAZ,OAAA;AAEA,IAAAa,WAAA,GAAAb,OAAA;AACA,IAAAc,SAAA,GAAAV,sBAAA,CAAAJ,OAAA;AACA,IAAAe,KAAA,GAAAf,OAAA;AAKA,IAAAgB,KAAA,GAAAZ,sBAAA,CAAAJ,OAAA;AACA,IAAAiB,MAAA,GAAAb,sBAAA,CAAAJ,OAAA;AAA2C,SAAAI,uBAAAc,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAAA,SAAAnB,wBAAAmB,CAAA,EAAAE,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAtB,uBAAA,YAAAA,wBAAAmB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,mBAAAT,CAAA,iBAAAA,CAAA,gBAAAU,OAAA,CAAAV,CAAA,0BAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,cAAAM,EAAA,IAAAd,CAAA,gBAAAc,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,EAAA,OAAAP,CAAA,IAAAD,CAAA,GAAAW,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,EAAA,OAAAP,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAM,EAAA,EAAAP,CAAA,IAAAC,CAAA,CAAAM,EAAA,IAAAd,CAAA,CAAAc,EAAA,WAAAN,CAAA,KAAAR,CAAA,EAAAE,CAAA;AAAA,SAAAkB,QAAApB,CAAA,EAAAI,CAAA,QAAAF,CAAA,GAAAe,MAAA,CAAAI,IAAA,CAAArB,CAAA,OAAAiB,MAAA,CAAAK,qBAAA,QAAAhB,CAAA,GAAAW,MAAA,CAAAK,qBAAA,CAAAtB,CAAA,GAAAI,CAAA,KAAAE,CAAA,GAAAA,CAAA,CAAAiB,MAAA,WAAAnB,CAAA,WAAAa,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAI,CAAA,EAAAoB,UAAA,OAAAtB,CAAA,CAAAuB,IAAA,CAAAC,KAAA,CAAAxB,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAyB,cAAA3B,CAAA,aAAAI,CAAA,MAAAA,CAAA,GAAAwB,SAAA,CAAAC,MAAA,EAAAzB,CAAA,UAAAF,CAAA,WAAA0B,SAAA,CAAAxB,CAAA,IAAAwB,SAAA,CAAAxB,CAAA,QAAAA,CAAA,OAAAgB,OAAA,CAAAH,MAAA,CAAAf,CAAA,OAAA4B,OAAA,WAAA1B,CAAA,IAAA2B,eAAA,CAAA/B,CAAA,EAAAI,CAAA,EAAAF,CAAA,CAAAE,CAAA,SAAAa,MAAA,CAAAe,yBAAA,GAAAf,MAAA,CAAAgB,gBAAA,CAAAjC,CAAA,EAAAiB,MAAA,CAAAe,yBAAA,CAAA9B,CAAA,KAAAkB,OAAA,CAAAH,MAAA,CAAAf,CAAA,GAAA4B,OAAA,WAAA1B,CAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAlB,CAAA,EAAAI,CAAA,EAAAa,MAAA,CAAAE,wBAAA,CAAAjB,CAAA,EAAAE,CAAA,iBAAAJ,CAAA;AAAA,SAAAkC,mBAAA9B,CAAA,WAAA+B,kBAAA,CAAA/B,CAAA,KAAAgC,gBAAA,CAAAhC,CAAA,KAAAiC,2BAAA,CAAAjC,CAAA,KAAAkC,kBAAA;AAAA,SAAAA,mBAAA,cAAAC,SAAA;AAAA,SAAAH,iBAAAhC,CAAA,8BAAAoC,MAAA,YAAApC,CAAA,CAAAoC,MAAA,CAAAC,QAAA,aAAArC,CAAA,uBAAAsC,KAAA,CAAAC,IAAA,CAAAvC,CAAA;AAAA,SAAA+B,mBAAA/B,CAAA,QAAAsC,KAAA,CAAAE,OAAA,CAAAxC,CAAA,UAAAyC,iBAAA,CAAAzC,CAAA;AAAA,SAAA2B,gBAAA/B,CAAA,EAAAI,CAAA,EAAAF,CAAA,YAAAE,CAAA,GAAA0C,cAAA,CAAA1C,CAAA,MAAAJ,CAAA,GAAAiB,MAAA,CAAAC,cAAA,CAAAlB,CAAA,EAAAI,CAAA,IAAA2C,KAAA,EAAA7C,CAAA,EAAAsB,UAAA,MAAAwB,YAAA,MAAAC,QAAA,UAAAjD,CAAA,CAAAI,CAAA,IAAAF,CAAA,EAAAF,CAAA;AAAA,SAAA8C,eAAA5C,CAAA,QAAAK,CAAA,GAAA2C,YAAA,CAAAhD,CAAA,gCAAAQ,OAAA,CAAAH,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAA2C,aAAAhD,CAAA,EAAAE,CAAA,oBAAAM,OAAA,CAAAR,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAsC,MAAA,CAAAW,WAAA,kBAAAnD,CAAA,QAAAO,CAAA,GAAAP,CAAA,CAAAgB,IAAA,CAAAd,CAAA,EAAAE,CAAA,gCAAAM,OAAA,CAAAH,CAAA,UAAAA,CAAA,YAAAgC,SAAA,yEAAAnC,CAAA,GAAAgD,MAAA,GAAAC,MAAA,EAAAnD,CAAA;AAAA,SAAAoD,eAAAlD,CAAA,EAAAJ,CAAA,WAAAuD,eAAA,CAAAnD,CAAA,KAAAoD,qBAAA,CAAApD,CAAA,EAAAJ,CAAA,KAAAqC,2BAAA,CAAAjC,CAAA,EAAAJ,CAAA,KAAAyD,gBAAA;AAAA,SAAAA,iBAAA,cAAAlB,SAAA;AAAA,SAAAF,4BAAAjC,CAAA,EAAAsD,CAAA,QAAAtD,CAAA,2BAAAA,CAAA,SAAAyC,iBAAA,CAAAzC,CAAA,EAAAsD,CAAA,OAAAxD,CAAA,MAAAyD,QAAA,CAAA3C,IAAA,CAAAZ,CAAA,EAAAwD,KAAA,6BAAA1D,CAAA,IAAAE,CAAA,CAAAyD,WAAA,KAAA3D,CAAA,GAAAE,CAAA,CAAAyD,WAAA,CAAAC,IAAA,aAAA5D,CAAA,cAAAA,CAAA,GAAAwC,KAAA,CAAAC,IAAA,CAAAvC,CAAA,oBAAAF,CAAA,+CAAA6D,IAAA,CAAA7D,CAAA,IAAA2C,iBAAA,CAAAzC,CAAA,EAAAsD,CAAA;AAAA,SAAAb,kBAAAzC,CAAA,EAAAsD,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAtD,CAAA,CAAAyB,MAAA,MAAA6B,CAAA,GAAAtD,CAAA,CAAAyB,MAAA,YAAA7B,CAAA,MAAAK,CAAA,GAAAqC,KAAA,CAAAgB,CAAA,GAAA1D,CAAA,GAAA0D,CAAA,EAAA1D,CAAA,IAAAK,CAAA,CAAAL,CAAA,IAAAI,CAAA,CAAAJ,CAAA,UAAAK,CAAA;AAAA,SAAAmD,sBAAApD,CAAA,EAAA4D,CAAA,QAAA9D,CAAA,WAAAE,CAAA,gCAAAoC,MAAA,IAAApC,CAAA,CAAAoC,MAAA,CAAAC,QAAA,KAAArC,CAAA,4BAAAF,CAAA,QAAAF,CAAA,EAAAK,CAAA,EAAAE,CAAA,EAAA0D,CAAA,EAAAP,CAAA,OAAAlD,CAAA,OAAAF,CAAA,iBAAAC,CAAA,IAAAL,CAAA,GAAAA,CAAA,CAAAc,IAAA,CAAAZ,CAAA,GAAA8D,IAAA,QAAAF,CAAA,QAAA/C,MAAA,CAAAf,CAAA,MAAAA,CAAA,UAAAM,CAAA,uBAAAA,CAAA,IAAAR,CAAA,GAAAO,CAAA,CAAAS,IAAA,CAAAd,CAAA,GAAAiE,IAAA,MAAAT,CAAA,CAAAjC,IAAA,CAAAzB,CAAA,CAAA+C,KAAA,GAAAW,CAAA,CAAA7B,MAAA,KAAAmC,CAAA,GAAAxD,CAAA,iBAAAJ,CAAA,IAAAE,CAAA,OAAAD,CAAA,GAAAD,CAAA,yBAAAI,CAAA,YAAAN,CAAA,eAAA+D,CAAA,GAAA/D,CAAA,cAAAe,MAAA,CAAAgD,CAAA,MAAAA,CAAA,2BAAA3D,CAAA,QAAAD,CAAA,aAAAqD,CAAA;AAAA,SAAAH,gBAAAnD,CAAA,QAAAsC,KAAA,CAAAE,OAAA,CAAAxC,CAAA,UAAAA,CAAA,IAhC3C;AACA;AACA;AAgCA,IAAMgE,WAAW,GAAG,aAAa;AAEjC,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,OAAO,EAAEC,OAAO,EAAK;EAAA,IAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,QAAA;EAC/C,IAAIC,MAAM,GAAGL,OAAO,aAAPA,OAAO,gBAAAC,oBAAA,GAAPD,OAAO,CAAEM,WAAW,CAAC,CAAC,cAAAL,oBAAA,uBAAtBA,oBAAA,CAAwBM,cAAc,CAAC,CAAC;EACrD,IAAMC,IAAI,GAAG,IAAAC,aAAW,EAACV,OAAO,CAACQ,cAAc,CAAC,CAAC,CAAC;EAElD,IAAIG,EAAE;EACN,IAAIC,CAAC,GAAG,KAAK;EAEb,IAAI,CAAAX,OAAO,aAAPA,OAAO,gBAAAE,qBAAA,GAAPF,OAAO,CAAEM,WAAW,CAAC,CAAC,cAAAJ,qBAAA,uBAAtBA,qBAAA,CAAwBU,OAAO,CAAC,CAAC,MAAK,OAAO,EAAE;IAC/CP,MAAM,CAACQ,GAAG,CAAC,UAAAC,CAAC;MAAA,OAAIhC,MAAM,CAACgC,CAAC,CAAC;IAAA,EAAC;IAC1BJ,EAAE,GAAG,IAAAK,WAAS,EAACV,MAAM,CAAC;IACtB;IACA,IAAIG,IAAI,IAAIE,EAAE,EAAE;MACZ,IAAMM,UAAU,GAAG,IAAAC,2BAAyB,EAACP,EAAE,EAAEF,IAAI,CAAC;MACtD,IAAIQ,UAAU,EAAE;QACZL,CAAC,GAAG,IAAI;MACZ;IACJ;EACJ;EAEA,IAAI,CAAAX,OAAO,aAAPA,OAAO,gBAAAG,qBAAA,GAAPH,OAAO,CAAEM,WAAW,CAAC,CAAC,cAAAH,qBAAA,uBAAtBA,qBAAA,CAAwBS,OAAO,CAAC,CAAC,MAAK,SAAS,IAAIP,MAAM,aAANA,MAAM,gBAAAD,QAAA,GAANC,MAAM,CAAG,CAAC,CAAC,cAAAD,QAAA,eAAXA,QAAA,CAAa9C,MAAM,EAAE;IAAA,IAAA4D,SAAA;IACxEb,MAAM,aAANA,MAAM,eAANA,MAAM,CAAG,CAAC,CAAC,CAACQ,GAAG,CAAC,UAAAC,CAAC;MAAA,OAAIhC,MAAM,CAACgC,CAAC,CAAC;IAAA,EAAC;IAC/BT,MAAM,aAANA,MAAM,gBAAAa,SAAA,GAANb,MAAM,CAAG,CAAC,CAAC,cAAAa,SAAA,eAAXA,SAAA,CAAaL,GAAG,CAAC,UAAAM,IAAI,EAAI;MACrBT,EAAE,GAAG,IAAAK,WAAS,EAACI,IAAI,CAAC;MACpB,IAAIX,IAAI,IAAIE,EAAE,EAAE;QACZ,IAAMM,WAAU,GAAG,IAAAC,2BAAyB,EAACP,EAAE,EAAEF,IAAI,CAAC;QACtD,IAAIQ,WAAU,EAAE;UACZL,CAAC,GAAG,IAAI;QACZ;MACJ;IACJ,CAAC,CAAC;EACN;EAEA,OAAOA,CAAC;AACZ,CAAC;AAED,IAAMS,WAAW,GAAG,SAAdA,WAAWA,CAAGC,KAAK,EAAI;EAAA,IAAAC,KAAA;EACzB,IAAAC,cAAA,GAAsDF,KAAK,CAAnDG,OAAO;IAAPA,OAAO,GAAAD,cAAA,cAAG,EAAE,GAAAA,cAAA;IAAE/C,KAAK,GAA2B6C,KAAK,CAArC7C,KAAK;IAAEiD,QAAQ,GAAiBJ,KAAK,CAA9BI,QAAQ;IAAEC,UAAU,GAAKL,KAAK,CAApBK,UAAU;EACjD,IAAAC,SAAA,GAAwB,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAAC,UAAA,GAAA9C,cAAA,CAAA4C,SAAA;IAAhCG,IAAI,GAAAD,UAAA;IAAEE,OAAO,GAAAF,UAAA;EACpB,IAAAG,UAAA,GAA4B,IAAAJ,eAAQ,EAACpD,KAAK,CAAC;IAAAyD,UAAA,GAAAlD,cAAA,CAAAiD,UAAA;IAApCE,MAAM,GAAAD,UAAA;IAAEE,SAAS,GAAAF,UAAA;EACxB,IAAMG,IAAI,GAAG,IAAAC,aAAM,EAAC,CAAC;EAErB,IAAAC,uBAAe,EAAC,YAAM;IAClBH,SAAS,CAAC3D,KAAK,CAAC;EACpB,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,IAAI,EAACgD,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAElE,MAAM,GAAE;IAClB,oBAAOjD,MAAA,YAAAkI,aAAA,CAAAlI,MAAA,YAAAmI,QAAA,MAAI,CAAC;EAChB;EACA,IAAMC,QAAQ,GAAG,CAAAjB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAElE,MAAM,IAAG,CAAC;EAEpC,IAAIoF,IAAI,GAAGlB,OAAO;EAClB,IAAIA,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAElE,MAAM,EAAE;IACjB,IAAI,CAACwE,IAAI,EAAE;MACP,IAAIN,OAAO,CAAClE,MAAM,GAAG,CAAC,EAAE;QACpBoF,IAAI,GAAGlB,OAAO,CAACnC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;MAC9B;IACJ,CAAC,MAAM;MACHqD,IAAI,GAAGlB,OAAO;IAClB;EACJ;EAEA,IAAMmB,QAAO,GAAG,SAAVA,OAAOA,CAAGnE,KAAK,EAAI;IACrB2D,SAAS,CAAC3D,KAAK,CAAC;IAChBkD,UAAU,CAACkB,OAAO,GAAGpE,KAAK;IAE1B,IAAI4D,IAAI,CAACQ,OAAO,EAAE;MACdC,YAAY,CAACT,IAAI,CAACQ,OAAO,CAAC;IAC9B;IAEAR,IAAI,CAACQ,OAAO,GAAGE,UAAU,CAAC,YAAM;MAC5BrB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAGjD,KAAK,CAAC;IACrB,CAAC,EAAE,GAAG,CAAC;EACX,CAAC;EAED,oBACInE,MAAA,YAAAkI,aAAA;IACIQ,SAAS,EAAE,IAAAC,uBAAU,KAAAC,MAAA,CAAIpD,WAAW,oBAAiB;MACjD,iCAAiC,EAAEiC;IACvC,CAAC;EAAE,gBAEHzH,MAAA,YAAAkI,aAAA,CAAC/H,KAAA,CAAA0I,KAAK;IAACC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAE;IAACC,IAAI;EAAA,GACpB,EAAA9B,KAAA,GAAAoB,IAAI,cAAApB,KAAA,uBAAJA,KAAA,CAAMhE,MAAM,IAAG,CAAC,IACboF,IAAI,CAAC7B,GAAG,CAAC,UAACM,IAAI,EAAEkC,KAAK;IAAA,oBACjBhJ,MAAA,YAAAkI,aAAA;MACIe,GAAG,EAAED,KAAM;MACXN,SAAS,EAAE,IAAAC,uBAAU,KAAAC,MAAA,CAAIpD,WAAW,yBAAArC,eAAA,QAAAyF,MAAA,CAC5BpD,WAAW,gCAA8BqC,MAAM,KAAKf,IAAI,CAAC3C,KAAK,CACrE,CAAE;MACHmE,OAAO,EAAE,SAATA,OAAOA,CAAA;QAAA,OAAQA,QAAO,CAACxB,IAAI,CAAC3C,KAAK,CAAC;MAAA;IAAC,GAElC2C,IAAI,CAACoC,KACL,CAAC;EAAA,CACT,CACF,CAAC,EAEPd,QAAQ,iBACLpI,MAAA,YAAAkI,aAAA,CAAC/H,KAAA,CAAAgJ,OAAO;IAACC,KAAK,EAAE;MAAEC,MAAM,EAAE;IAAE;EAAE,gBAC1BrJ,MAAA,YAAAkI,aAAA,CAAC/H,KAAA,CAAAmJ,MAAM;IACHC,IAAI,EAAE9B,IAAI,gBAAGzH,MAAA,YAAAkI,aAAA,CAAC9H,MAAA,CAAAoJ,wBAAwB,MAAE,CAAC,gBAAGxJ,MAAA,YAAAkI,aAAA,CAAC9H,MAAA,CAAAqJ,2BAA2B,MAAE,CAAE;IAC5EnB,OAAO,EAAE,SAATA,OAAOA,CAAA;MAAA,OAAQZ,OAAO,CAAC,CAACD,IAAI,CAAC;IAAA,CAAC;IAC9BiC,IAAI,EAAC;EAAM,GAEVjC,IAAI,GAAG,IAAI,GAAG,IACX,CACH,CAEZ,CAAC;AAEd,CAAC;AAED,IAAMkC,SAAS,GAAG,SAAZA,SAASA,CAAG3C,KAAK,EAAI;EACvB,IAAQ4C,UAAU,GAAkC5C,KAAK,CAAjD4C,UAAU;IAAWC,YAAY,GAAW7C,KAAK,CAArC8C,OAAO;IAAgBC,IAAI,GAAK/C,KAAK,CAAd+C,IAAI;EAC/C,IAAAC,SAAA,GAA0B,IAAAC,qBAAQ,EAAC,CAAC;IAA5BzD,GAAG,GAAAwD,SAAA,CAAHxD,GAAG;IAAE0D,QAAQ,GAAAF,SAAA,CAARE,QAAQ;EACrB,IAAAC,UAAA,GAAwB,IAAA5C,eAAQ,EAAC,IAAI,CAAC;IAAA6C,UAAA,GAAA1F,cAAA,CAAAyF,UAAA;IAA/B1C,IAAI,GAAA2C,UAAA;IAAE1C,OAAO,GAAA0C,UAAA;EAEpB,IAAMN,OAAO,IACT;IACIO,KAAK,EAAEH,QAAQ,CAACI,QAAQ;IACxBC,SAAS,EAAE,MAAM;IACjBC,KAAK,EAAE,GAAG;IACVC,MAAM,EAAE,SAARA,MAAMA,CAAGC,IAAI,EAAEC,MAAM,EAAK;MACtB,oBACI3K,MAAA,YAAAkI,aAAA;QACII,OAAO,EAAE,SAATA,OAAOA,CAAA,EAAQ;UAAA,IAAAsC,gBAAA;UACX,IAAIC,GAAG,GAAGC,QAAQ,CAACC,sBAAsB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;UAC5D,IAAIC,IAAI,GAAGH,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEI,qBAAqB,CAAC,CAAC;UACvC,IAAIC,UAAU,IAAAN,gBAAA,GAAGpE,GAAG,CAAC2E,WAAW,CAAC,CAAC,cAAAP,gBAAA,uBAAjBA,gBAAA,CAAmBK,qBAAqB,CAAC,CAAC;UAC3D,IAAIG,IAAI,GAAG,GAAG;UACd,IAAIJ,IAAI,IAAIE,UAAU,EAAE;YACpBE,IAAI,GAAG,CAAAJ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEI,IAAI,KAAGF,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEE,IAAI,IAAG,EAAE,GAAG,GAAG,GAAG,GAAG;UACzD;UACA5E,GAAG,CAAC6E,YAAY,CAACV,MAAM,CAAChF,OAAO,EAAE;YAC7B2F,cAAc,EAAE;cAAEC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAEH,IAAI;YAAE;UACrD,CAAC,CAAC;QACN;MAAE,GAEDV,IACF,CAAC;IAEZ;EACJ,CAAC,EAAA9B,MAAA,CAAAtF,kBAAA,CACGuG,YAAY,IAAI,EAAE,EACzB;EAED,oBACI7J,MAAA,YAAAkI,aAAA,CAAAlI,MAAA,YAAAmI,QAAA,qBACInI,MAAA,YAAAkI,aAAA;IAAKkB,KAAK,EAAE;MAAEoC,SAAS,EAAE;IAAG;EAAE,GACzB/D,IAAI,iBACDzH,MAAA,YAAAkI,aAAA,CAAAlI,MAAA,YAAAmI,QAAA,QACK4B,IAAI,eACL/J,MAAA,YAAAkI,aAAA,CAAC7H,MAAA,WAAK;IACFoL,MAAM,EAAC,MAAM;IACb7B,UAAU,EAAEA,UAAW;IACvBE,OAAO,EAAEA,OAAQ;IACjBhB,IAAI,EAAC,OAAO;IACZ4C,MAAM,EAAE;MACJC,SAAS,EAAEzB,QAAQ,CAAC0B;IAExB;EAAE,CACL,CACH,CAEL,CAAC,EAEL,CAAAhC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE3G,MAAM,IAAG,CAAC,iBACnBjD,MAAA,YAAAkI,aAAA;IAAKQ,SAAS,EAAC,6BAA6B;IAACJ,OAAO,EAAE,SAATA,OAAOA,CAAA;MAAA,OAAQZ,OAAO,CAAC,CAACD,IAAI,CAAC;IAAA;EAAC,GACtEA,IAAI,GAAGyC,QAAQ,CAAC2B,QAAQ,GAAG3B,QAAQ,CAAC4B,MAAM,EAC1CrE,IAAI,gBAAGzH,MAAA,YAAAkI,aAAA,CAAC9H,MAAA,CAAA2L,eAAe,MAAE,CAAC,gBAAG/L,MAAA,YAAAkI,aAAA,CAAC9H,MAAA,CAAA4L,iBAAiB,MAAE,CACjD,CAEX,CAAC;AAEX,CAAC;AAED,IAAMC,IAAI,GAAG,SAAPA,IAAIA,CAAI/B,QAAQ,EAAK;EAEvB,OAAO,CACH;IAAEhB,KAAK,EAAEgB,QAAQ,CAACgC,KAAK;IAAE/H,KAAK,EAAE,OAAO;IAAEoF,IAAI,eAAEvJ,MAAA,YAAAkI,aAAA,CAAC9H,MAAA,CAAA+L,aAAa,MAAE;EAAE,CAAC,EAClE;IAAEjD,KAAK,EAAEgB,QAAQ,CAACkC,QAAQ;IAAEjI,KAAK,EAAE,KAAK;IAAEoF,IAAI,eAAEvJ,MAAA,YAAAkI,aAAA,CAAC9H,MAAA,CAAAiM,gBAAgB,MAAE;EAAE,CAAC,EACtE;IAAEnD,KAAK,EAAEgB,QAAQ,CAACoC,SAAS;IAAEnI,KAAK,EAAE,MAAM;IAAEoF,IAAI,eAAEvJ,MAAA,YAAAkI,aAAA,CAAC9H,MAAA,CAAAmM,iBAAiB,MAAE;EAAE,CAAC,EACzE;IAAErD,KAAK,EAAEgB,QAAQ,CAACsC,QAAQ;IAAErI,KAAK,EAAE,KAAK;IAAEoF,IAAI,eAAEvJ,MAAA,YAAAkI,aAAA,CAAC9H,MAAA,CAAAqM,gBAAgB,MAAE;EAAE,CAAC,CACzE;AACL,CAAC;AAED,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAG1F,KAAK,EAAI;EACvB,IAAA2F,UAAA,GAAqB,IAAA1C,qBAAQ,EAAC,CAAC;IAAvBC,QAAQ,GAAAyC,UAAA,CAARzC,QAAQ;EAChB,IAAQR,IAAI,GAAW1C,KAAK,CAApB0C,IAAI;IAAEkD,IAAI,GAAK5F,KAAK,CAAd4F,IAAI;EAClB,oBACI5M,MAAA,YAAAkI,aAAA,CAAC/G,MAAA,WAAK;IACFiI,KAAK,EAAE;MAAEyD,MAAM,EAAE;IAAI,CAAE;IACvBC,KAAK,EAAE;MACHC,IAAI,EAAErD,IAAI,KAAK,KAAK;MACpBxE,IAAI,EAAEgF,QAAQ,CAAC8C;IACnB,CAAE;IACFC,MAAM,EAAE;MAAEF,IAAI,EAAE;IAAM,CAAE;IACxBG,KAAK,EAAE;MACHH,IAAI,EAAErD,IAAI,KAAK,KAAK;MACpByD,KAAK,EAAE;IACX,CAAE;IACFC,IAAI,EAAElD,QAAQ,CAAC8C,YAAa;IAC5BK,MAAM,EAAE,CAAAtK,aAAA;MAEA2G,IAAI,EAAJA,IAAI;MACJxE,IAAI,EAAE,IAAI;MACVoI,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;MACtBC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK;IAAC,GAElB7D,IAAI,KAAK,KAAK,GACZ;MACEkD,IAAI,EAAJA,IAAI;MACJ1D,KAAK,EAAE;QACH6D,IAAI,EAAE,IAAI;QACVS,QAAQ,EAAE,SAAS;QACnBC,SAAS,EAAE;MACf;IACJ,CAAC,GACC;MACEN,KAAK,EAAE,OAAO;MACdjE,KAAK,EAAE;QACH6D,IAAI,EAAE,IAAI;QACVS,QAAQ,EAAE,KAAK;QACfC,SAAS,EAAE;MACf;IACJ,CAAC,EAEX;IACFb,IAAI,EAAEA;EAAK,CACd,CAAC;AAEV,CAAC;AACD,IAAMc,YAAY,GAAG,SAAfA,YAAYA,CAAG1G,KAAK,EAAI;EAAA,IAAA2G,MAAA;EAC1B,IAAQ/D,UAAU,GAAK5C,KAAK,CAApB4C,UAAU;EAClB,IAAAgE,UAAA,GAAqB,IAAA3D,qBAAQ,EAAC,CAAC;IAAvBC,QAAQ,GAAA0D,UAAA,CAAR1D,QAAQ;EAChB,IAAA2D,UAAA,GAAwB,IAAAtG,eAAQ,GAAAoG,MAAA,GAAC1B,IAAI,CAAC/B,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAAyD,MAAA,uBAAjBA,MAAA,CAAmBxJ,KAAK,CAAC;IAAA2J,UAAA,GAAApJ,cAAA,CAAAmJ,UAAA;IAAnDnE,IAAI,GAAAoE,UAAA;IAAEC,OAAO,GAAAD,UAAA;EAEpB,IAAME,SAAS,GAAG,IAAAC,cAAO,EAAC,YAAM;IAC5B,IAAMrB,IAAI,GAAG,CACT;MAAE1H,IAAI,EAAEgF,QAAQ,CAACgE,SAAS;MAAE/J,KAAK,EAAE,CAAC;MAAExB,MAAM,EAAE,SAARA,MAAMA,CAAEmE,IAAI;QAAA,OAAIA,IAAI,CAACqH,EAAE,GAAG,EAAE;MAAA;IAAC,CAAC,EACpE;MAAEjJ,IAAI,EAAE,UAAU;MAAEf,KAAK,EAAE,CAAC;MAAExB,MAAM,EAAE,SAARA,MAAMA,CAAEmE,IAAI;QAAA,OAAIA,IAAI,CAACqH,EAAE,IAAI,EAAE,IAAIrH,IAAI,CAACqH,EAAE,GAAG,GAAG;MAAA;IAAC,CAAC,EAC9E;MAAEjJ,IAAI,EAAE,WAAW;MAAEf,KAAK,EAAE,CAAC;MAAExB,MAAM,EAAE,SAARA,MAAMA,CAAEmE,IAAI;QAAA,OAAIA,IAAI,CAACqH,EAAE,IAAI,GAAG,IAAIrH,IAAI,CAACqH,EAAE,GAAG,GAAG;MAAA;IAAC,CAAC,EAChF;MAAEjJ,IAAI,EAAE,WAAW;MAAEf,KAAK,EAAE,CAAC;MAAExB,MAAM,EAAE,SAARA,MAAMA,CAAEmE,IAAI;QAAA,OAAIA,IAAI,CAACqH,EAAE,IAAI,GAAG,IAAIrH,IAAI,CAACqH,EAAE,GAAG,GAAG;MAAA;IAAC,CAAC,EAChF;MAAEjJ,IAAI,EAAE,YAAY;MAAEf,KAAK,EAAE,CAAC;MAAExB,MAAM,EAAE,SAARA,MAAMA,CAAEmE,IAAI;QAAA,OAAIA,IAAI,CAACqH,EAAE,IAAI,GAAG,IAAIrH,IAAI,CAACqH,EAAE,GAAG,IAAI;MAAA;IAAC,CAAC,EAClF;MAAEjJ,IAAI,EAAEgF,QAAQ,CAACkE,UAAU;MAAEjK,KAAK,EAAE,CAAC;MAAExB,MAAM,EAAE,SAARA,MAAMA,CAAEmE,IAAI;QAAA,OAAIA,IAAI,CAACqH,EAAE,IAAI,IAAI;MAAA;IAAC,CAAC,CAC3E;IACDvE,UAAU,CAACpD,GAAG,CAAC,UAAAM,IAAI,EAAI;MACnBA,IAAI,CAACqH,EAAE,GAAGrH,IAAI,CAACqH,EAAE,GAAG1J,MAAM,CAACqC,IAAI,CAACqH,EAAE,CAAC,GAAG,CAAC;MACvCvB,IAAI,CAACpG,GAAG,CAAC,UAAA6H,CAAC,EAAI;QACV,IAAIA,CAAC,CAAC1L,MAAM,CAACmE,IAAI,CAAC,EAAE;UAChBuH,CAAC,CAAClK,KAAK,IAAI,CAAC;QAChB;MACJ,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,OAAOyI,IAAI,CAACjK,MAAM,CAAC,UAAA8D,CAAC;MAAA,OAAIA,CAAC,CAACtC,KAAK,GAAG,CAAC;IAAA,EAAC;EACxC,CAAC,EAAE,CAACyF,UAAU,CAAC,CAAC;EAEhB,IAAME,OAAO,GAAG,CACZ;IACIO,KAAK,EAAEH,QAAQ,CAACoE,OAAO;IACvB/D,SAAS,EAAE,YAAY;IACvBC,KAAK,EAAE;EACX,CAAC,CACJ;EAED,IAAI+D,WAAW,GAAG,CAAC;EACnB,IAAI3E,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAE3G,MAAM,EAAE;IACpBsL,WAAW,GACP3E,UAAU,CAAC4E,MAAM,CAAC,UAACC,IAAI,EAAEC,GAAG,EAAK;MAC7B,OAAOD,IAAI,IAAIC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;EACpB;EACA,oBACI1O,MAAA,YAAAkI,aAAA,CAAAlI,MAAA,YAAAmI,QAAA,qBACInI,MAAA,YAAAkI,aAAA,CAAC/H,KAAA,CAAAwO,SAAS;IAACxH,OAAO,EAAE8E,IAAI,CAAC/B,QAAQ,CAAE;IAAC/F,KAAK,EAAEuF,IAAK;IAACtC,QAAQ,EAAE2G;EAAQ,CAAE,CAAC,EAErErE,IAAI,KAAK,OAAO,gBACb1J,MAAA,YAAAkI,aAAA,CAACyB,SAAS;IACNG,OAAO,EAAEA,OAAQ;IACjBF,UAAU,EAAEA,UAAW;IACvBG,IAAI,eACA/J,MAAA,YAAAkI,aAAA,CAAChH,KAAA,WAAI;MACDmH,IAAI,EAAE,CACF;QAAEa,KAAK,EAAEgB,QAAQ,CAAC0E,cAAc;QAAEzK,KAAK,EAAE,CAAAyF,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE3G,MAAM,KAAI,CAAC;QAAEmK,IAAI,EAAElD,QAAQ,CAAC8C;MAAa,CAAC,EAC/F;QACI9D,KAAK,EAAEgB,QAAQ,CAAC2E,eAAe;QAC/B1K,KAAK,EAAEoK,WAAW,GACZ9J,MAAM,CAAC8J,WAAW,CAAC,CAACO,OAAO,CAAC,CAAC,CAAC,GAC9BP,WAAW;QACjBnB,IAAI,EAAE;MACV,CAAC;IACH,CACL;EACJ,CACJ,CAAC,gBAEFpN,MAAA,YAAAkI,aAAA,CAACwE,SAAS;IAACE,IAAI,EAAEoB,SAAU;IAACtE,IAAI,EAAEA;EAAK,CAAE,CAE/C,CAAC;AAEX,CAAC;AAGD,IAAMqF,UAAU,GAAG,SAAbA,UAAUA,CAAG/H,KAAK,EAAI;EACxB,IAAQ4F,IAAI,GAAK5F,KAAK,CAAd4F,IAAI;EAEZ,IAAMvE,IAAI,GAAG,IAAA4F,cAAO,EAAC,YAAM;IACvB,IAAMe,GAAG,GAAG,CAAC,CAAC;IACdpC,IAAI,CAACpG,GAAG,CAAC,UAAAM,IAAI,EAAI;MACb,IAAQmI,YAAY,GAAKnI,IAAI,CAArBmI,YAAY;MACpB,IAAIA,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAEhM,MAAM,EAAE;QACtBgM,YAAY,CAACzI,GAAG,CAAC,UAAA0I,MAAM,EAAI;UACvB,IAAQC,YAAY,GAAKD,MAAM,CAAvBC,YAAY;UACpB,IAAIA,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAElM,MAAM,EAAE;YACtBkM,YAAY,CAAC3I,GAAG,CAAC,UAAA4I,MAAM,EAAI;cACvB,IAAQC,eAAe,GAA0CD,MAAM,CAA/DC,eAAe;gBAAEC,WAAW,GAA6BF,MAAM,CAA9CE,WAAW;gBAAElC,IAAI,GAAuBgC,MAAM,CAAjChC,IAAI;gBAAEmC,gBAAgB,GAAKH,MAAM,CAA3BG,gBAAgB;cAC5D,IAAIA,gBAAgB,KAAK,UAAU,IAAID,WAAW,EAAE;gBAChDN,GAAG,CAACK,eAAe,CAAC,GAAGL,GAAG,CAACK,eAAe,CAAC,IAAI;kBAC3CnK,IAAI,EAAEmK,eAAe;kBACrBjC,IAAI,EAAEA,IAAI;kBACVR,IAAI,EAAE;gBACV,CAAC;gBACDoC,GAAG,CAACK,eAAe,CAAC,CAACzC,IAAI,CAAC/J,IAAI,CAAC4B,MAAM,CAAC6K,WAAW,CAAC,CAAC;cACvD;YACJ,CAAC,CAAC;UACN;QACJ,CAAC,CAAC;MACN;IACJ,CAAC,CAAC;IAEF,IAAME,OAAO,GAAG,EAAE;IAClB,KAAK,IAAI7N,CAAC,IAAIqN,GAAG,EAAE;MACf,IAAQpC,KAAI,GAAKoC,GAAG,CAACrN,CAAC,CAAC,CAAfiL,IAAI;MACZ,IAAM6C,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAAA7M,KAAA,CAAR4M,IAAI,EAAApM,kBAAA,CAAQsJ,KAAI,EAAC;MAClC,IAAMgD,QAAQ,GAAGF,IAAI,CAACG,GAAG,CAAA/M,KAAA,CAAR4M,IAAI,EAAApM,kBAAA,CAAQsJ,KAAI,EAAC;MAClC,IAAMkD,QAAQ,GACVlD,KAAI,CAAC4B,MAAM,CAAC,UAACC,IAAI,EAAEC,GAAG,EAAK;QACvB,OAAOD,IAAI,GAAGC,GAAG;MACrB,CAAC,EAAE,CAAC,CAAC,GAAG9B,KAAI,CAAC3J,MAAM;MAEvBuM,OAAO,CAAC3M,IAAI,CAAAE,aAAA,CAAAA,aAAA,KACLiM,GAAG,CAACrN,CAAC,CAAC;QACT8N,QAAQ,EAARA,QAAQ;QACRG,QAAQ,EAARA,QAAQ;QACRE,QAAQ,EAAEA,QAAQ,GAAGrL,MAAM,CAACqL,QAAQ,CAAC,CAAChB,OAAO,CAAC,CAAC,CAAC,GAAGgB;MAAQ,EAC9D,CAAC;IACN;IAEA,OAAON,OAAO;EAClB,CAAC,EAAE,CAAC5C,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE3J,MAAM,CAAC,CAAC;EAElB,IAAI,EAACoF,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEpF,MAAM,GAAE;IACf,oBAAOjD,MAAA,YAAAkI,aAAA,CAAAlI,MAAA,YAAAmI,QAAA,MAAI,CAAC;EAChB;EAEA,oBACInI,MAAA,YAAAkI,aAAA;IAAKQ,SAAS,EAAE,IAAAC,uBAAU,KAAAC,MAAA,CAAIpD,WAAW,YAAS;EAAE,gBAChDxF,MAAA,YAAAkI,aAAA;IAAKQ,SAAS,EAAE,IAAAC,uBAAU,KAAAC,MAAA,CAAIpD,WAAW,gBAAa;EAAE,gBACpDxF,MAAA,YAAAkI,aAAA,cAAK,oBAAQ,CAAC,eACdlI,MAAA,YAAAkI,aAAA,cAAK,oBAAQ,CAAC,eACdlI,MAAA,YAAAkI,aAAA,cAAK,oBAAQ,CAAC,eACdlI,MAAA,YAAAkI,aAAA,cAAK,oBAAQ,CACZ,CAAC,eACNlI,MAAA,YAAAkI,aAAA;IAAKQ,SAAS,EAAE,IAAAC,uBAAU,KAAAC,MAAA,CAAIpD,WAAW,oBAAiB;EAAE,GACvD,CAAA6C,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEpF,MAAM,IAAG,CAAC,IACboF,IAAI,CAAC7B,GAAG,CAAC,UAACM,IAAI,EAAEkC,KAAK;IAAA,oBACjBhJ,MAAA,YAAAkI,aAAA;MACIe,GAAG,EAAED,KAAM;MACXN,SAAS,EAAE,IAAAC,uBAAU,KAAAC,MAAA,CAAIpD,WAAW,yBAAsB;IAAE,gBAE5DxF,MAAA,YAAAkI,aAAA,cAAMpB,IAAI,CAAC5B,IAAU,CAAC,eACtBlF,MAAA,YAAAkI,aAAA,cACKpB,IAAI,CAAC2I,QAAQ,eACdzP,MAAA,YAAAkI,aAAA,eAAOpB,IAAI,CAACsG,IAAW,CACtB,CAAC,eACNpN,MAAA,YAAAkI,aAAA,cACKpB,IAAI,CAAC8I,QAAQ,eACd5P,MAAA,YAAAkI,aAAA,eAAOpB,IAAI,CAACsG,IAAW,CACtB,CAAC,eACNpN,MAAA,YAAAkI,aAAA,cACKpB,IAAI,CAACgJ,QAAQ,eACd9P,MAAA,YAAAkI,aAAA,eAAOpB,IAAI,CAACsG,IAAW,CACtB,CACJ,CAAC;EAAA,CACT,CACJ,CACJ,CAAC;AAEd,CAAC;AACD,IAAM2C,cAAc,GAAG,SAAjBA,cAAcA,CAAG/I,KAAK,EAAI;EAC5B,IAAQ4C,UAAU,GAAK5C,KAAK,CAApB4C,UAAU;EAClB,IAAAoG,UAAA,GAA4B,IAAAzI,eAAQ,EAAC,IAAI,CAAC;IAAA0I,UAAA,GAAAvL,cAAA,CAAAsL,UAAA;IAAnCrN,MAAM,GAAAsN,UAAA;IAAEC,SAAS,GAAAD,UAAA;EACxB,IAAAE,UAAA,GAAqB,IAAAlG,qBAAQ,EAAC,CAAC;IAAvBC,QAAQ,GAAAiG,UAAA,CAARjG,QAAQ;EAChB,IAAMkG,kBAAkB,GAAG;IACvB,CAAC,EAAE;MAAElH,KAAK,EAAEgB,QAAQ,CAACmG,MAAM;MAAEC,KAAK,EAAE;IAAU,CAAC;IAAE;IACjD,CAAC,EAAE;MAAEpH,KAAK,EAAEgB,QAAQ,CAACqG,KAAK;MAAED,KAAK,EAAE;IAAU,CAAC;IAAE;IAChD,CAAC,EAAE;MAAEpH,KAAK,EAAEgB,QAAQ,CAACsG,OAAO;MAAEF,KAAK,EAAE;IAAU,CAAC;IAAE;IAClD,CAAC,EAAE;MAAEpH,KAAK,EAAEgB,QAAQ,CAACuG,KAAK;MAAEH,KAAK,EAAE;IAAU,CAAC,CAAE;EACpD,CAAC;EACD,IAAMxG,OAAO,GAAG,CACZ;IACIO,KAAK,EAAEH,QAAQ,CAACwG,MAAM;IACtBnG,SAAS,EAAE,QAAQ;IACnBC,KAAK,EAAE,GAAG;IACVC,MAAM,EAAE,SAARA,MAAMA,CAAEC,IAAI,EAAI;MACZ,IAAI0F,kBAAkB,CAAC1F,IAAI,CAAC,EAAE;QAC1B,IAAAiG,qBAAA,GAAyBP,kBAAkB,CAAC1F,IAAI,CAAC;UAAzC4F,KAAK,GAAAK,qBAAA,CAALL,KAAK;UAAEpH,KAAK,GAAAyH,qBAAA,CAALzH,KAAK;QACpB,oBAAOlJ,MAAA,YAAAkI,aAAA;UAAMkB,KAAK,EAAE;YAAEkH,KAAK,EAALA;UAAM;QAAE,GAAEpH,KAAY,CAAC;MACjD;MACA,OAAO,GAAG;IACd;EACJ,CAAC,CACJ;EAED,IAAM0H,SAAS,GAAG,IAAA3C,cAAO,EAAC,YAAM;IAC5B,OAAOtL,MAAM,GAAGiH,UAAU,CAACjH,MAAM,CAAC,UAAAmE,IAAI;MAAA,OAAIrC,MAAM,CAACqC,IAAI,CAAC4J,MAAM,CAAC,KAAK/N,MAAM;IAAA,EAAC,GAAGiH,UAAU;EAC1F,CAAC,EAAE,CAACjH,MAAM,EAAEiH,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE3G,MAAM,CAAC,CAAC;EAEhC,IAAM4N,QAAQ,GAAG,SAAXA,QAAQA,CAAG1M,KAAK,EAAI;IACtB,OAAOyF,UAAU,CAACjH,MAAM,CAAC,UAAAmE,IAAI;MAAA,OAAIrC,MAAM,CAACqC,IAAI,CAAC4J,MAAM,CAAC,KAAKvM,KAAK;IAAA,EAAC,CAAClB,MAAM;EAC1E,CAAC;EACD,oBACIjD,MAAA,YAAAkI,aAAA,CAACyB,SAAS;IACNG,OAAO,EAAEA,OAAQ;IACjBF,UAAU,EAAEgH,SAAU;IACtB7G,IAAI,eACA/J,MAAA,YAAAkI,aAAA,2BACIlI,MAAA,YAAAkI,aAAA,CAAChH,KAAA,WAAI;MACDmH,IAAI,EAAE,CACF;QACIa,KAAK,EAAEgB,QAAQ,CAAC4G,KAAK;QACrB3M,KAAK,EAAE,CAAAyF,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE3G,MAAM,KAAI,CAAC;QAC9BmK,IAAI,EAAElD,QAAQ,CAAC6G,UAAU;QACzBzI,OAAO,EAAE,SAATA,OAAOA,CAAA;UAAA,OAAQ4H,SAAS,CAAC,IAAI,CAAC;QAAA;MAClC,CAAC,EACD;QACIhH,KAAK,EAAEgB,QAAQ,CAACmG,MAAM;QACtBlM,KAAK,EAAE0M,QAAQ,CAAC,CAAC,CAAC;QAClBzD,IAAI,EAAElD,QAAQ,CAAC6G,UAAU;QACzBzI,OAAO,EAAE,SAATA,OAAOA,CAAA;UAAA,OAAQ4H,SAAS,CAAC,CAAC,CAAC;QAAA;MAC/B,CAAC,EACD;QACIhH,KAAK,EAAEgB,QAAQ,CAACqG,KAAK;QACrBpM,KAAK,EAAE0M,QAAQ,CAAC,CAAC,CAAC;QAClBzD,IAAI,EAAElD,QAAQ,CAAC6G,UAAU;QACzBzI,OAAO,EAAE,SAATA,OAAOA,CAAA;UAAA,OAAQ4H,SAAS,CAAC,CAAC,CAAC;QAAA;MAC/B,CAAC,EACD;QACIhH,KAAK,EAAEgB,QAAQ,CAACsG,OAAO;QACvBrM,KAAK,EAAE0M,QAAQ,CAAC,CAAC,CAAC;QAClBzD,IAAI,EAAElD,QAAQ,CAAC6G,UAAU;QACzBzI,OAAO,EAAE,SAATA,OAAOA,CAAA;UAAA,OAAQ4H,SAAS,CAAC,CAAC,CAAC;QAAA;MAC/B,CAAC;IACH,CACL,CAAC,eACFlQ,MAAA,YAAAkI,aAAA,CAAC6G,UAAU;MAACnC,IAAI,EAAEhD;IAAW,CAAE,CAC9B;EACR,CACJ,CAAC;AAEV,CAAC;AAAC,IAAAoH,QAAA,GAAAC,OAAA,cAEa,SAAAD,SAAAhK,KAAK,EAAI;EACpB,IAAQkK,OAAO,GAAoDlK,KAAK,CAAhEkK,OAAO;IAAEC,QAAQ,GAA0CnK,KAAK,CAAvDmK,QAAQ;IAAE9G,KAAK,GAAmCrD,KAAK,CAA7CqD,KAAK;IAAE+G,iBAAiB,GAAgBpK,KAAK,CAAtCoK,iBAAiB;IAAEC,SAAS,GAAKrK,KAAK,CAAnBqK,SAAS;EAC9D,IAAAC,UAAA,GAAgB,IAAArH,qBAAQ,EAAC,CAAC;IAAlBzD,GAAG,GAAA8K,UAAA,CAAH9K,GAAG;EACX,IAAA+K,UAAA,GAA8C,IAAAhK,eAAQ,EAAC,EAAE,CAAC;IAAAiK,WAAA,GAAA9M,cAAA,CAAA6M,UAAA;IAAnDE,eAAe,GAAAD,WAAA;IAAEE,kBAAkB,GAAAF,WAAA;EAC1C,IAAAG,WAAA,GAAoC,IAAApK,eAAQ,EAAC,EAAE,CAAC;IAAAqK,WAAA,GAAAlN,cAAA,CAAAiN,WAAA;IAAzC/H,UAAU,GAAAgI,WAAA;IAAEC,aAAa,GAAAD,WAAA;EAChC,IAAAE,WAAA,GAA8B,IAAAvK,eAAQ,EAAC,KAAK,CAAC;IAAAwK,WAAA,GAAArN,cAAA,CAAAoN,WAAA;IAAtCE,OAAO,GAAAD,WAAA;IAAEE,UAAU,GAAAF,WAAA;EAE1B,IAAAG,WAAA,GAAoC,IAAA3K,eAAQ,EAAC,EAAE,CAAC;IAAA4K,WAAA,GAAAzN,cAAA,CAAAwN,WAAA;IAAzCE,UAAU,GAAAD,WAAA;IAAEE,aAAa,GAAAF,WAAA;EAChC,IAAAG,WAAA,GAA8B,IAAA/K,eAAQ,EAAC,CAAC,CAAC,CAAC;IAAAgL,WAAA,GAAA7N,cAAA,CAAA4N,WAAA;IAAnC3M,OAAO,GAAA4M,WAAA;IAAEC,UAAU,GAAAD,WAAA;EAE1B,IAAME,IAAI,GAAG,IAAAzK,aAAM,EAAC,CAAC;EACrB,IAAMX,UAAU,GAAG,IAAAW,aAAM,EAAC,CAAC;EAE3B,IAAA0K,4BAAoB,EAAC,YAAM;IACvBpK,OAAO,CAAC,CAAC;EACb,CAAC,EAAE,CAACmJ,eAAe,EAAE9L,OAAO,EAAEyM,UAAU,CAAC,CAAC;EAE1C,IAAAO,gBAAS,EAAC,YAAM;IACZ,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAS;MACvBC,UAAU,CAAC,CAAC;IAChB,CAAC;IAEDD,YAAY,CAAC,CAAC;;IAEd;IACApM,GAAG,CAACsM,MAAM,CAACC,EAAE,CAAC,QAAQ,EAAEH,YAAY,CAAC;IAErC,OAAO,YAAM;MACT;MACApM,GAAG,CAACsM,MAAM,CAACE,EAAE,CAAC,QAAQ,EAAEJ,YAAY,CAAC;IACzC,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAD,gBAAS,EAAC,YAAM;IACZF,IAAI,CAAClK,OAAO,GAAG,IAAI0K,gBAAI,CAAC;MAAEzM,GAAG,EAAHA,GAAG;MAAE0M,MAAM,EAAE;IAAG,CAAC,CAAC;IAC5CT,IAAI,CAAClK,OAAO,CAACkK,IAAI,CAACtB,QAAQ,EAAE,UAAAxL,OAAO,EAAI;MACnC6M,UAAU,CAAC7M,OAAO,CAAC;IACvB,CAAC,CAAC;IACF,OAAO,YAAM;MACT8M,IAAI,CAAClK,OAAO,CAAC4K,OAAO,CAAC,CAAC;MACtB3M,GAAG,CAAC4M,YAAY,CAAC,CAAC;MAClB/L,UAAU,CAACkB,OAAO,GAAG,IAAI;IAC7B,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMsK,UAAU,GAAG,SAAbA,UAAUA,CAAA,EAAS;IACrB,IAAIrM,GAAG,EAAE;MAAA,IAAA6M,MAAA;MACL,IAAIC,IAAI,GAAG,EAAE;MACb,IAAIR,MAAM,GAAGtM,GAAG,CAAC+M,YAAY,CAAC,CAAC,CAAC5Q,MAAM,CAAC,UAAA8D,CAAC,EAAI;QACxC,OACI,CAACA,CAAC,CAAC+M,QAAQ,IACX/M,CAAC,CAACwC,GAAG,IACLxC,CAAC,CAACvB,IAAI,IACNuB,CAAC,CAACgN,YAAY,IACdhN,CAAC,CAACsG,IAAI,IACNtG,CAAC,CAACwC,GAAG,KAAK,WAAW;MAE7B,CAAC,CAAC;MACF6J,MAAM,CAACtM,GAAG,CAAC,UAAAC,CAAC,EAAI;QACZ6M,IAAI,CAACzQ,IAAI,CAAAE,aAAA,CAAAA,aAAA,KACF0D,CAAC;UACJtC,KAAK,EAAEsC,CAAC,CAACwC,GAAG;UACZC,KAAK,EAAEzC,CAAC,CAACvB;QAAI,EAChB,CAAC;MACN,CAAC,CAAC;;MAEF;MACA,IAAIwO,IAAI,GAAGJ,IAAI,aAAJA,IAAI,gBAAAD,MAAA,GAAJC,IAAI,CAAG,CAAC,CAAC,cAAAD,MAAA,uBAATA,MAAA,CAAWlP,KAAK;MAC3B,IAAIkD,UAAU,CAACkB,OAAO,EAAE;QACpB,IAAIoL,KAAK,GAAGnN,GAAG,CAACsM,MAAM,CAACc,aAAa,CAACvM,UAAU,CAACkB,OAAO,CAAC;QACxD,IAAIoL,KAAK,IAAIA,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE5G,IAAI,EAAE;UACtB2G,IAAI,GAAGrM,UAAU,CAACkB,OAAO;QAC7B;MACJ;MACAlB,UAAU,CAACkB,OAAO,GAAGmL,IAAI;MACzBhC,kBAAkB,CAACgC,IAAI,CAAC;MACxBrB,aAAa,CAACiB,IAAI,CAAC;IACvB;EACJ,CAAC;EAED,IAAMhL,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;IAAA,IAAAuL,qBAAA;IAClBhC,aAAa,CAAC,EAAE,CAAC;IACjB,IAAI,CAAClM,OAAO,EAAE;IACd,IAAImO,QAAQ,GAAGnO,OAAO,aAAPA,OAAO,gBAAAkO,qBAAA,GAAPlO,OAAO,CAAEM,WAAW,cAAA4N,qBAAA,uBAApBA,qBAAA,CAAAzR,IAAA,CAAAuD,OAAuB,CAAC;IACvC,IAAI,CAACmO,QAAQ,EAAE;IACf7B,UAAU,CAAC,IAAI,CAAC;IAEhB,IAAI0B,KAAK,GAAGnN,GAAG,CAACsM,MAAM,CAACc,aAAa,CAACnC,eAAe,CAAC;IACrD,IAAIqC,QAAQ,IAAIrC,eAAe,IAAIkC,KAAK,EAAE;MACtC,IAAI/C,SAAS,GAAG,EAAE;MAClB;MACA,IAAI+C,KAAK,YAAYI,aAAK,IAAIJ,KAAK,YAAYK,oBAAQ,EAAE;QACrDC,UAAU,CAACH,QAAQ,EAAEH,KAAK,EAAE/C,SAAS,CAAC;MAC1C,CAAC,MAAM,IAAI+C,KAAK,YAAYO,cAAM,EAAE;QAChCC,UAAU,CAACL,QAAQ,EAAEH,KAAK,EAAE/C,SAAS,CAAC;MAC1C;IACJ,CAAC,MAAM;MACHqB,UAAU,CAAC,KAAK,CAAC;MACjB,IAAI,CAAC6B,QAAQ,EAAE;QACXM,aAAO,CAACjB,OAAO,CAAC,CAAC;QACjBiB,aAAO,CAACrK,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;MAC7B;MACA,IAAI,CAAC0H,eAAe,EAAE;QAClB2C,aAAO,CAACjB,OAAO,CAAC,CAAC;QACjBiB,aAAO,CAACrK,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;MAC7B;IACJ;EACJ,CAAC;;EAED;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,IAAMoK,UAAU,GAAG,SAAbA,UAAUA,CAAIL,QAAQ,EAAEH,KAAK,EAAE/C,SAAS,EAAK;IAC/C,IAAIyD,MAAM,GAAGP,QAAQ,CAACQ,SAAS,CAAC,CAAC;IACjC,IAAIC,MAAM,GAAGZ,KAAK,CAACa,SAAS,CAAC,CAAC;IAC9B,IAAIC,QAAQ,GAAG,EAAE;IACjB,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAG/O,OAAO,EAAI;MAC9B,IAAIgP,QAAQ,GAAGhP,OAAO,CAACiP,OAAO,CAAC,CAAC;MAChC,IAAIhI,IAAI,GAAG,CAAC,CAAC;MACb+H,QAAQ,CAACzR,OAAO,CAAC,UAAA4D,IAAI,EAAI;QACrB,IAAInB,OAAO,CAAC3D,GAAG,CAAC8E,IAAI,CAAC,EAAE;UACnB8F,IAAI,CAAC9F,IAAI,CAAC,GAAGnB,OAAO,CAAC3D,GAAG,CAAC8E,IAAI,CAAC;UAE9B,IAAI6M,KAAK,CAACkB,UAAU,EAAE;YAClBjI,IAAI,CAACkI,IAAI,GAAGnP,OAAO,CAAC3D,GAAG,CAAC2R,KAAK,CAACkB,UAAU,CAAC;UAC7C;UAEAjI,IAAI,CAACjH,OAAO,GAAGA,OAAO;QAC1B;MACJ,CAAC,CAAC;MACF,OAAOiH,IAAI;IACf,CAAC;IACD,IAAI2H,MAAM,CAACQ,gCAAgC,IAAIV,MAAM,EAAE;MACnDE,MAAM,CAACQ,gCAAgC,CAACV,MAAM,EAAE,UAAA1O,OAAO,EAAI;QACvD,IAAIqP,WAAW,GAAGrP,OAAO,CAAC3D,GAAG,CAAC,UAAU,CAAC;QAEzC,IAAMiT,YAAY,GAAG,SAAfA,YAAYA,CAAGrT,CAAC,EAAI;UACtB,IAAIgL,IAAI,GAAG8H,cAAc,CAAC9S,CAAC,CAAC;UAC5BgP,SAAS,CAAC/N,IAAI,CAAC+J,IAAI,CAAC;UACpB6H,QAAQ,CAAC5R,IAAI,CAACjB,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,CAAAoT,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE/R,MAAM,IAAG,CAAC,EAAE;UACzB+R,WAAW,CAAC9R,OAAO,CAAC,UAAAtB,CAAC,EAAI;YACrB;YACA,IAAIuP,QAAQ,KAAK,QAAQ,EAAE;cACvB,IAAM+D,eAAe,GAAG,IAAIC,mBAAU,CAACrB,QAAQ,CAAC;cAChD,IAAMsB,iBAAiB,GAAG3P,oBAAoB,CAACyP,eAAe,EAAEtT,CAAC,CAAC;cAClE,IAAI,CAACwT,iBAAiB,EAAE;gBACpB;cACJ;YACJ;YAEAH,YAAY,CAACrT,CAAC,CAAC;UACnB,CAAC,CAAC;QACN,CAAC,MAAM;UACH;UACA,IAAIuP,QAAQ,KAAK,QAAQ,EAAE;YACvB,IAAM+D,eAAe,GAAG,IAAIC,mBAAU,CAACrB,QAAQ,CAAC;YAChD,IAAMsB,iBAAiB,GAAG3P,oBAAoB,CAACyP,eAAe,EAAEvP,OAAO,CAAC;YACxE,IAAI,CAACyP,iBAAiB,EAAE;cACpB;YACJ;UACJ;UAEAH,YAAY,CAACtP,OAAO,CAAC;QACzB;MACJ,CAAC,CAAC;MACFsM,UAAU,CAAC,KAAK,CAAC;MACjBzL,GAAG,CAAC6O,mBAAmB,CAACZ,QAAQ,CAAC;MACjC5C,aAAa,CAACjB,SAAS,CAAC;IAC5B,CAAC,MAAM;MACHqB,UAAU,CAAC,KAAK,CAAC;IACrB;EACJ,CAAC;;EAED;AACJ;AACA;AACA;EACI,IAAMgC,UAAU,GAAG,SAAbA,UAAUA,CAAIH,QAAQ,EAAEH,KAAK,EAAE/C,SAAS,EAAK;IAAA,IAAA0E,gBAAA,EAAAC,YAAA;IAC/C,IAAIC,OAAO,GAAG,CAAA7B,KAAK,aAALA,KAAK,gBAAA2B,gBAAA,GAAL3B,KAAK,CAAEa,SAAS,CAAC,CAAC,cAAAc,gBAAA,gBAAAA,gBAAA,GAAlBA,gBAAA,CAAoBG,OAAO,cAAAH,gBAAA,uBAA3BA,gBAAA,CAA6BI,UAAU,KAAI,EAAE;IAE3D,IAAI/B,KAAK,aAALA,KAAK,gBAAA4B,YAAA,GAAL5B,KAAK,CAAEgC,KAAK,cAAAJ,YAAA,eAAZA,YAAA,CAActS,MAAM,EAAE;MACtBuS,OAAO,GAAG,IAAAI,qBAAS,EAACjC,KAAK,CAACgC,KAAK,CAAC;IACpC;IAEA,IAAIE,OAAO,GAAG,EAAE;IAChB,IAAIC,WAAW,GAAGhC,QAAQ,CAAC5N,cAAc,CAAC,CAAC;;IAE3C;IACA,IAAIiL,QAAQ,KAAK,QAAQ,EAAE;MACvB,IAAI+D,eAAe,GAAG,IAAIC,mBAAU,CAACrB,QAAQ,CAAC;MAC9CgC,WAAW,GAAGZ,eAAe,CAAChP,cAAc,CAAC,CAAC;IAClD;IAEA4P,WAAW,CAAC,CAAC,CAAC,CAAC5S,OAAO,CAAC,UAACuD,CAAC,EAAE9E,CAAC,EAAK;MAC7B,IAAIA,CAAC,IAAI,CAAC,EAAE;QACRkU,OAAO,OAAAjN,MAAA,CAAOnC,CAAC,CAAC,CAAC,CAAC,OAAAmC,MAAA,CAAInC,CAAC,CAAC,CAAC,CAAC,CAAE;MAChC,CAAC,MAAM;QACHoP,OAAO,SAAAjN,MAAA,CAASnC,CAAC,CAAC,CAAC,CAAC,OAAAmC,MAAA,CAAInC,CAAC,CAAC,CAAC,CAAC,CAAE;MAClC;IACJ,CAAC,CAAC;IACF;IACA,IAAM9D,MAAM,GAAG6S,OAAO,OAAA5M,MAAA,CAAO4M,OAAO,cAAW,EAAE;IAEjD,IAAAO,+BAAwB,EACpBpC,KAAK,KAAA/K,MAAA,CACFjG,MAAM,wCAAAiG,MAAA,CAAqCiN,OAAO,QACzD,CAAC,CAACG,IAAI,CAAC,UAAAvB,QAAQ,EAAI;MACfxC,UAAU,CAAC,KAAK,CAAC;MACjBzL,GAAG,CAAC6O,mBAAmB,CAACZ,QAAQ,CAAC;MACjC,IAAIA,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAExR,MAAM,EAAE;QAClBwR,QAAQ,CAACvR,OAAO,CAAC,UAAA4D,IAAI,EAAI;UACrB,IAAI6N,QAAQ,GAAG7N,IAAI,CAAC8N,OAAO,CAAC,CAAC;UAC7B,IAAIhI,IAAI,GAAG,CAAC,CAAC;UACb+H,QAAQ,CAACzR,OAAO,CAAC,UAAA+F,GAAG,EAAI;YACpB,IAAInC,IAAI,CAAC9E,GAAG,CAACiH,GAAG,CAAC,EAAE;cACf2D,IAAI,CAAC3D,GAAG,CAAC,GAAGnC,IAAI,CAAC9E,GAAG,CAACiH,GAAG,CAAC;cACzB2D,IAAI,CAACjH,OAAO,GAAGmB,IAAI;YACvB;UACJ,CAAC,CAAC;UACF,IAAI6M,KAAK,CAACkB,UAAU,EAAE;YAClBjI,IAAI,CAACkI,IAAI,GAAGhO,IAAI,CAAC9E,GAAG,CAAC2R,KAAK,CAACkB,UAAU,CAAC,IAAI,EAAE;UAChD;;UAEA;UACA,IAAIjI,IAAI,CAACqJ,WAAW,EAAE;YAClBrJ,IAAI,CAACsJ,UAAU,GAAGtJ,IAAI,CAACsJ,UAAU,IAAItJ,IAAI,CAACqJ,WAAW;UACzD;UAEArF,SAAS,CAAC/N,IAAI,CAAC+J,IAAI,CAAC;QACxB,CAAC,CAAC;QACFiF,aAAa,CAACjB,SAAS,CAAC;MAC5B,CAAC,MAAM;QACHwD,aAAO,CAACjB,OAAO,CAAC,CAAC;QACjBiB,aAAO,CAACrK,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;MAC3B;IACJ,CAAC,CAAC;EACN,CAAC;;EAED;EACA,IAAMoM,aAAa,GAAG,IAAAlI,cAAO,EAAC,YAAM;IAAA,IAAAmI,aAAA,EAAAC,UAAA;IAChC,IAAM1C,KAAK,GAAGnN,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEoN,aAAa,CAACnC,eAAe,CAAC;IACjD,IAAM6E,YAAY,GAAG3C,KAAK,aAALA,KAAK,gBAAAyC,aAAA,GAALzC,KAAK,CAAE4C,MAAM,cAAAH,aAAA,uBAAbA,aAAA,CAAeE,YAAY;IAChD,IAAME,GAAG,GAAG,CAAA7C,KAAK,aAALA,KAAK,gBAAA0C,UAAA,GAAL1C,KAAK,CAAE6C,GAAG,cAAAH,UAAA,uBAAVA,UAAA,CAAYI,OAAO,CAAC,8BAA8B,CAAC,MAAK,CAAC,CAAC;IACtE,OAAOC,OAAO,CAACJ,YAAY,IAAIE,GAAG,CAAC;EACvC,CAAC,EAAE,CAAC/E,eAAe,CAAC,CAAC;;EAErB;EACA,IAAMkF,eAAe,GAAGlF,eAAe,IAAIA,eAAe,CAACmF,WAAW,CAAC,CAAC,CAACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;EAE/F,oBACIzW,MAAA,YAAAkI,aAAA,CAAC3H,MAAA,WAAK;IAAC8J,KAAK,EAAEA,KAAK,IAAI,EAAG;IAAC6G,OAAO,EAAEA,OAAQ;IAAC1G,KAAK,EAAE;EAAI,gBACpDxK,MAAA,YAAAkI,aAAA,CAAC/H,KAAA,CAAA0W,IAAI;IAACC,QAAQ,EAAE9E;EAAQ,gBACpBhS,MAAA,YAAAkI,aAAA,CAACnB,WAAW;IACRI,OAAO,EAAEiL,UAAW;IACpBjO,KAAK,EAAEsN,eAAgB;IACvBrK,QAAQ,EAAEsK,kBAAmB;IAC7BrK,UAAU,EAAEA;EAAW,CAC1B,CAAC,EAED+J,iBAAiB,IAAIA,iBAAiB,CAACxH,UAAU,EAAE6H,eAAe,EAAEnJ,OAAO,CAAC,EAE5E+I,SAAS,GACNsF,eAAe,gBACX3W,MAAA,YAAAkI,aAAA,CAACwF,YAAY;IAAC9D,UAAU,EAAEA;EAAW,CAAE,CAAC,GACxCuM,aAAa,gBACbnW,MAAA,YAAAkI,aAAA,CAAC6H,cAAc;IAACnG,UAAU,EAAEA;EAAW,CAAE,CAAC,gBAE1C5J,MAAA,YAAAkI,aAAA,CAACyB,SAAS;IAACC,UAAU,EAAEA;EAAW,CAAE,CACvC,gBAED5J,MAAA,YAAAkI,aAAA,CAACyB,SAAS;IAACC,UAAU,EAAEA;EAAW,CAAE,CAEtC,CACH,CAAC;AAEhB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_antd","_icons","_Table","_interopRequireDefault","_Modal","_layer","_layer2","_Polygon","_Draw","_useProps3","_classnames2","_ahooks","_ImageLayer","_WmsLayer","_turf","_Info","_Chart","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_toPropertyKey","value","configurable","writable","_toPrimitive","toPrimitive","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","a","toString","slice","constructor","name","test","l","u","next","done","classPrefix","getFeatureIntersects","polygon","feature","_feature$getGeometry","_feature$getGeometry2","_feature$getGeometry3","_lngLat$","lngLat","getGeometry","getCoordinates","poly","TurfPolygon","pt","B","getType","map","v","TurfPoint","intersects","TurfBooleanPointInPolygon","_lngLat$2","item","LayerSelect","props","_list","_props$options","options","onChange","currentKey","_useState","useState","_useState2","open","setOpen","_useState3","_useState4","active","setActive","time","useRef","useUpdateEffect","createElement","Fragment","showOpen","list","onClick","current","clearTimeout","setTimeout","className","classnames","concat","Space","size","wrap","index","key","label","Divider","style","margin","Button","icon","VerticalAlignTopOutlined","VerticalAlignBottomOutlined","type","TableView","dataSource","otherColumns","columns","info","_useProps","useProps","_useState5","_useState6","title","dataIndex","width","render","text","record","_map$getViewport","doc","document","getElementsByClassName","rect","getBoundingClientRect","parentRect","getViewport","left","showTemplate","fitViewOptions","padding","minHeight","rowKey","CaretUpOutlined","CaretDownOutlined","TYPE","TableOutlined","BarChartOutlined","LineChartOutlined","PieChartOutlined","ChartView","data","height","yAxis","show","legend","xAxis","field","unit","series","radius","center","position","formatter","PipeDataView","_TYPE$","_useState7","_useState8","setType","chartData","useMemo","ds","d","totalLength","reduce","prev","cur","Segmented","toFixed","DEVICE_STATUS_NAME","color","DeviceInfo","val","deviceValues","device","factorValues","factor","monitorItemName","formatValue","collectFrequency","dataVal","maxValue","Math","max","minValue","min","avgValue","DeviceDataView","_useState9","_useState0","setFilter","_DEVICE_STATUS_NAME$t","tableData","status","getTotal","_default","exports","onClose","drawType","renderTableActive","statistic","_useProps2","_useState1","_useState10","currentLayerKey","setCurrentLayerKey","_useState11","_useState12","setDataSource","_useState13","_useState14","loading","setLoading","_useState15","_useState16","layersOpts","setLayersOpts","_useState17","_useState18","setFeature","draw","useDeepCompareEffect","useEffect","layersChange","getOptions","layers","on","un","Draw","zIndex","destroy","hideTemplate","_opts$","opts","getAllLayers","viewOnly","layerControl","_key","layer","getLayerByKey","_feature$getGeometry4","geometry","Image","WmsLayer","getWmsData","Vector","getWfsData","message","extent","getExtent","source","getSource","features","getFeatureInfo","listKeys","getKeys","labelField","NAME","forEachFeatureIntersectingExtent","featureList","addTableData","polygonGeometry","fromCircle","featureIntersects","setHighlightFeature","_layer$getSource","_layer$group","_filter","params_","cql_filter","group","getFilter","coorStr","coordinates","getWFSFeatureInfoByLayer","then","line_length","lineLength","isDeviceLayer","_layer$params","_layer$url","deviceTypeId","params","url","indexOf","Boolean","isPipeLineLayer","toUpperCase","Spin","spinning"],"sources":["tools/Toolbox/SelectTools/index.js"],"sourcesContent":["/*\n * @Description:框选、圈选、多边形选择\n */\nimport React, { useEffect, useRef, useState, useMemo } from 'react';\nimport { message, Space, Divider, Button, Spin, Segmented } from 'antd';\nimport {\n CaretUpOutlined,\n CaretDownOutlined,\n TableOutlined,\n PieChartOutlined,\n BarChartOutlined,\n LineChartOutlined,\n} from '@ant-design/icons';\nimport Table from '../../components/Table';\nimport Modal from '../../components/Modal';\nimport { getWFSFeatureInfoByLayer } from '../../../_util/layer';\nimport { Image, Vector } from 'ol/layer';\nimport { fromCircle } from 'ol/geom/Polygon';\nimport Draw from '../../Utils/Draw';\nimport './index.less';\nimport useProps from '../../../use-props';\nimport classnames from 'classnames';\nimport { useUpdateEffect, useDeepCompareEffect } from 'ahooks';\nimport { VerticalAlignBottomOutlined, VerticalAlignTopOutlined } from '@ant-design/icons';\nimport { getFilter } from '../../../image-layer/ImageLayer';\nimport WmsLayer from '../../../wms-layer/WmsLayer';\nimport {\n booleanPointInPolygon as TurfBooleanPointInPolygon,\n point as TurfPoint,\n polygon as TurfPolygon,\n} from '@turf/turf';\nimport Info from '../../components/Info';\nimport Chart from '../../components/Chart';\n\nconst classPrefix = 'selectTools';\n\nconst getFeatureIntersects = (polygon, feature) => {\n let lngLat = feature?.getGeometry()?.getCoordinates();\n const poly = TurfPolygon(polygon.getCoordinates());\n\n let pt;\n let B = false;\n\n if (feature?.getGeometry()?.getType() === 'Point') {\n lngLat.map(v => Number(v));\n pt = TurfPoint(lngLat);\n // 判断在点在多边形内\n if (poly && pt) {\n const intersects = TurfBooleanPointInPolygon(pt, poly);\n if (intersects) {\n B = true;\n }\n }\n }\n\n if (feature?.getGeometry()?.getType() === 'Polygon' && lngLat?.[0]?.length) {\n lngLat?.[0].map(v => Number(v));\n lngLat?.[0]?.map(item => {\n pt = TurfPoint(item);\n if (poly && pt) {\n const intersects = TurfBooleanPointInPolygon(pt, poly);\n if (intersects) {\n B = true;\n }\n }\n });\n }\n\n return B;\n};\n\nconst LayerSelect = props => {\n const { options = [], value, onChange, currentKey } = props;\n const [open, setOpen] = useState(false);\n const [active, setActive] = useState(value);\n const time = useRef();\n\n useUpdateEffect(() => {\n setActive(value);\n }, [value]);\n\n if (!options?.length) {\n return <></>;\n }\n const showOpen = options?.length > 9;\n\n let list = options;\n if (options?.length) {\n if (!open) {\n if (options.length > 9) {\n list = options.slice(0, 9);\n }\n } else {\n list = options;\n }\n }\n\n const onClick = value => {\n setActive(value);\n currentKey.current = value;\n\n if (time.current) {\n clearTimeout(time.current);\n }\n\n time.current = setTimeout(() => {\n onChange?.(value);\n }, 500);\n };\n\n return (\n <div\n className={classnames(`${classPrefix}-layer-select`, {\n 'selectTools-layer-select-scroll': open,\n })}\n >\n <Space size={[8, 8]} wrap>\n {list?.length > 0 &&\n list.map((item, index) => (\n <div\n key={index}\n className={classnames(`${classPrefix}-layer-select-item`, {\n [`${classPrefix}-layer-select-item-active`]: active === item.value,\n })}\n onClick={() => onClick(item.value)}\n >\n {item.label}\n </div>\n ))}\n </Space>\n\n {showOpen && (\n <Divider style={{ margin: 0 }}>\n <Button\n icon={open ? <VerticalAlignTopOutlined /> : <VerticalAlignBottomOutlined />}\n onClick={() => setOpen(!open)}\n type=\"link\"\n >\n {open ? '收起' : '展开'}\n </Button>\n </Divider>\n )}\n </div>\n );\n};\n\nconst TableView = props => {\n const { dataSource, columns: otherColumns, info } = props;\n const { map } = useProps();\n const [open, setOpen] = useState(true);\n\n const columns = [\n {\n title: '编码/名称',\n dataIndex: 'NAME',\n width: 180,\n render: (text, record) => {\n return (\n <a\n onClick={() => {\n let doc = document.getElementsByClassName('ol-map-tools')[0];\n let rect = doc?.getBoundingClientRect();\n let parentRect = map.getViewport()?.getBoundingClientRect();\n let left = 400;\n if (rect && parentRect) {\n left = rect?.left - parentRect?.left + 12 + 350 + 150;\n }\n map.showTemplate(record.feature, {\n fitViewOptions: { padding: [100, 400, 100, left] },\n });\n }}\n >\n {text}\n </a>\n );\n },\n },\n ...(otherColumns || []),\n ];\n\n return (\n <>\n <div style={{ minHeight: 20 }}>\n {open && (\n <>\n {info}\n <Table\n rowKey=\"code\"\n dataSource={dataSource}\n columns={columns}\n size=\"small\"\n />\n </>\n )}\n </div>\n\n {dataSource?.length > 0 && (\n <div className=\"ol-map-search-result-button\" onClick={() => setOpen(!open)}>\n {open ? '收起' : '展开'}\n {open ? <CaretUpOutlined /> : <CaretDownOutlined />}\n </div>\n )}\n </>\n );\n};\n\nconst TYPE = [\n { label: '表格', value: 'table', icon: <TableOutlined /> },\n { label: '柱状图', value: 'bar', icon: <BarChartOutlined /> },\n { label: '折线图', value: 'line', icon: <LineChartOutlined /> },\n { label: '饼图', value: 'pie', icon: <PieChartOutlined /> },\n];\n\nconst ChartView = props => {\n const { type, data } = props;\n return (\n <Chart\n style={{ height: 300 }}\n yAxis={{\n show: type !== 'pie',\n name: '条',\n }}\n legend={{ show: false }}\n xAxis={{\n show: type !== 'pie',\n field: 'name',\n }}\n unit=\"条\"\n series={[\n {\n type,\n name: '管线',\n radius: ['30%', '50%'],\n center: ['50%', '50%'],\n // data: data['供水量'] || [1000, 1200],\n ...(type === 'pie'\n ? {\n data,\n label: {\n show: true,\n position: 'outside',\n formatter: '{b}\\n{c}条',\n },\n }\n : {\n field: 'value',\n label: {\n show: true,\n position: 'top',\n formatter: '{c}条',\n },\n }),\n },\n ]}\n data={data}\n />\n );\n};\nconst PipeDataView = props => {\n const { dataSource } = props;\n const [type, setType] = useState(TYPE[0]?.value);\n\n const chartData = useMemo(() => {\n const data = [\n { name: '50mm以下', value: 0, filter: item => item.ds < 50 },\n { name: '50-100mm', value: 0, filter: item => item.ds >= 50 && item.ds < 100 },\n { name: '100-300mm', value: 0, filter: item => item.ds >= 100 && item.ds < 300 },\n { name: '300-600mm', value: 0, filter: item => item.ds >= 300 && item.ds < 600 },\n { name: '600-1000mm', value: 0, filter: item => item.ds >= 600 && item.ds < 1000 },\n { name: '1000mm以上', value: 0, filter: item => item.ds >= 1000 },\n ];\n dataSource.map(item => {\n item.ds = item.ds ? Number(item.ds) : 0;\n data.map(d => {\n if (d.filter(item)) {\n d.value += 1;\n }\n });\n });\n\n return data.filter(v => v.value > 0);\n }, [dataSource]);\n\n const columns = [\n {\n title: '长度(m)',\n dataIndex: 'lineLength',\n width: 100,\n },\n ];\n\n let totalLength = 0;\n if (dataSource?.length) {\n totalLength =\n dataSource.reduce((prev, cur) => {\n return prev + (cur['lineLength'] || 0);\n }, 0) / 1000;\n }\n return (\n <>\n <Segmented options={TYPE} value={type} onChange={setType} />\n\n {type === 'table' ? (\n <TableView\n columns={columns}\n dataSource={dataSource}\n info={\n <Info\n list={[\n { label: '管线总数', value: dataSource?.length || 0, unit: '条' },\n {\n label: '管线总长',\n value: totalLength\n ? Number(totalLength).toFixed(2)\n : totalLength,\n unit: 'km',\n },\n ]}\n />\n }\n />\n ) : (\n <ChartView data={chartData} type={type} />\n )}\n </>\n );\n};\n\nconst DEVICE_STATUS_NAME = {\n 1: { label: '在线', color: '#119FFB' }, // 正常/在线\n 2: { label: '报警', color: '#CE3739' }, // 报警/异常\n 3: { label: '离线', color: '#AAAAAD' }, // 离线\n 4: { label: '故障', color: '#CE3739' }, // 故障/堵塞\n};\nconst DeviceInfo = props => {\n const { data } = props;\n\n const list = useMemo(() => {\n const val = {};\n data.map(item => {\n const { deviceValues } = item;\n if (deviceValues?.length) {\n deviceValues.map(device => {\n const { factorValues } = device;\n if (factorValues?.length) {\n factorValues.map(factor => {\n const { monitorItemName, formatValue, unit, collectFrequency } = factor;\n if (collectFrequency === 'realtime' && formatValue) {\n val[monitorItemName] = val[monitorItemName] || {\n name: monitorItemName,\n unit: unit,\n data: [],\n };\n val[monitorItemName].data.push(Number(formatValue));\n }\n });\n }\n });\n }\n });\n\n const dataVal = [];\n for (let i in val) {\n const { data } = val[i];\n const maxValue = Math.max(...data);\n const minValue = Math.min(...data);\n const avgValue =\n data.reduce((prev, cur) => {\n return prev + cur;\n }, 0) / data.length;\n\n dataVal.push({\n ...val[i],\n maxValue,\n minValue,\n avgValue: avgValue ? Number(avgValue).toFixed(2) : avgValue,\n });\n }\n\n return dataVal;\n }, [data?.length]);\n\n if (!list?.length) {\n return <></>;\n }\n\n return (\n <div className={classnames(`${classPrefix}-device`)}>\n <div className={classnames(`${classPrefix}-device-top`)}>\n <div>监测项</div>\n <div>最大值</div>\n <div>最小值</div>\n <div>平均值</div>\n </div>\n <div className={classnames(`${classPrefix}-device-content`)}>\n {list?.length > 0 &&\n list.map((item, index) => (\n <div\n key={index}\n className={classnames(`${classPrefix}-device-content-item`)}\n >\n <div>{item.name}</div>\n <div>\n {item.maxValue}\n <span>{item.unit}</span>\n </div>\n <div>\n {item.minValue}\n <span>{item.unit}</span>\n </div>\n <div>\n {item.avgValue}\n <span>{item.unit}</span>\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n};\nconst DeviceDataView = props => {\n const { dataSource } = props;\n const [filter, setFilter] = useState(null);\n\n const columns = [\n {\n title: '状态',\n dataIndex: 'status',\n width: 100,\n render: text => {\n if (DEVICE_STATUS_NAME[text]) {\n const { color, label } = DEVICE_STATUS_NAME[text];\n return <span style={{ color }}>{label}</span>;\n }\n return '-';\n },\n },\n ];\n\n const tableData = useMemo(() => {\n return filter ? dataSource.filter(item => Number(item.status) === filter) : dataSource;\n }, [filter, dataSource?.length]);\n\n const getTotal = value => {\n return dataSource.filter(item => Number(item.status) === value).length;\n };\n return (\n <TableView\n columns={columns}\n dataSource={tableData}\n info={\n <div>\n <Info\n list={[\n {\n label: '总数',\n value: dataSource?.length || 0,\n unit: '个',\n onClick: () => setFilter(null),\n },\n {\n label: '在线',\n value: getTotal(1),\n unit: '个',\n onClick: () => setFilter(1),\n },\n {\n label: '报警',\n value: getTotal(2),\n unit: '个',\n onClick: () => setFilter(2),\n },\n {\n label: '离线',\n value: getTotal(3),\n unit: '个',\n onClick: () => setFilter(3),\n },\n ]}\n />\n <DeviceInfo data={dataSource} />\n </div>\n }\n />\n );\n};\n\nexport default props => {\n const { onClose, drawType, title, renderTableActive, statistic } = props;\n const { map } = useProps();\n const [currentLayerKey, setCurrentLayerKey] = useState('');\n const [dataSource, setDataSource] = useState([]);\n const [loading, setLoading] = useState(false);\n\n const [layersOpts, setLayersOpts] = useState([]);\n const [feature, setFeature] = useState({});\n\n const draw = useRef();\n const currentKey = useRef();\n\n useDeepCompareEffect(() => {\n onClick();\n }, [currentLayerKey, feature, layersOpts]);\n\n useEffect(() => {\n const layersChange = () => {\n getOptions();\n };\n\n layersChange();\n\n // 添加图层变化监听事件\n map.layers.on('change', layersChange);\n\n return () => {\n // 移除图层变化监听事件\n map.layers.un('change', layersChange);\n };\n }, []);\n\n useEffect(() => {\n draw.current = new Draw({ map, zIndex: 80 });\n draw.current.draw(drawType, feature => {\n setFeature(feature);\n });\n return () => {\n draw.current.destroy();\n map.hideTemplate();\n currentKey.current = null;\n };\n }, []);\n\n const getOptions = () => {\n if (map) {\n let opts = [];\n let layers = map.getAllLayers().filter(v => {\n return (\n !v.viewOnly &&\n v.key &&\n v.name &&\n v.layerControl &&\n v.show &&\n v.key !== 'Highlight'\n );\n });\n layers.map(v => {\n opts.push({\n ...v,\n value: v.key,\n label: v.name,\n });\n });\n\n // 当前key对应的图层还显示的话取当前的key否者取第一个layersOpts的key\n let _key = opts?.[0]?.value;\n if (currentKey.current) {\n let layer = map.layers.getLayerByKey(currentKey.current);\n if (layer && layer?.show) {\n _key = currentKey.current;\n }\n }\n currentKey.current = _key;\n setCurrentLayerKey(_key);\n setLayersOpts(opts);\n }\n };\n\n const onClick = () => {\n setDataSource([]);\n if (!feature) return;\n let geometry = feature?.getGeometry?.();\n if (!geometry) return;\n setLoading(true);\n\n let layer = map.layers.getLayerByKey(currentLayerKey);\n if (geometry && currentLayerKey && layer) {\n let tableData = [];\n // wms图层\n if (layer instanceof Image || layer instanceof WmsLayer) {\n getWmsData(geometry, layer, tableData);\n } else if (layer instanceof Vector) {\n getWfsData(geometry, layer, tableData);\n }\n } else {\n setLoading(false);\n if (!geometry) {\n message.destroy();\n message.info('请先框选图层', 2);\n }\n if (!currentLayerKey) {\n message.destroy();\n message.info('请先选择图层', 2);\n }\n }\n };\n\n /**\n * @description: wfs图层时获取框选数据\n * @param {*} geometry\n * @param {*} layer\n * @param {*} tableData\n * @return {*}\n */\n const getWfsData = (geometry, layer, tableData) => {\n let extent = geometry.getExtent();\n let source = layer.getSource();\n let features = [];\n const getFeatureInfo = feature => {\n let listKeys = feature.getKeys();\n let data = {};\n listKeys.forEach(item => {\n if (feature.get(item)) {\n data[item] = feature.get(item);\n\n if (layer.labelField) {\n data.NAME = feature.get(layer.labelField);\n }\n\n data.feature = feature;\n }\n });\n return data;\n };\n if (source.forEachFeatureIntersectingExtent && extent) {\n source.forEachFeatureIntersectingExtent(extent, feature => {\n let featureList = feature.get('features');\n\n const addTableData = f => {\n let data = getFeatureInfo(f);\n tableData.push(data);\n features.push(f);\n };\n if (featureList?.length > 1) {\n featureList.forEach(f => {\n // 圈选处理\n if (drawType === 'Circle') {\n const polygonGeometry = new fromCircle(geometry);\n const featureIntersects = getFeatureIntersects(polygonGeometry, f);\n if (!featureIntersects) {\n return;\n }\n }\n\n addTableData(f);\n });\n } else {\n // 圈选处理\n if (drawType === 'Circle') {\n const polygonGeometry = new fromCircle(geometry);\n const featureIntersects = getFeatureIntersects(polygonGeometry, feature);\n if (!featureIntersects) {\n return;\n }\n }\n\n addTableData(feature);\n }\n });\n setLoading(false);\n map.setHighlightFeature(features);\n setDataSource(tableData);\n } else {\n setLoading(false);\n }\n };\n\n /**\n * @description: wms图层时获取框选数据\n * @return {*}\n */\n const getWmsData = (geometry, layer, tableData) => {\n let _filter = layer?.getSource()?.params_?.cql_filter || '';\n\n if (layer?.group?.length) {\n _filter = getFilter(layer.group);\n }\n\n let coorStr = '';\n let coordinates = geometry.getCoordinates();\n\n // 圈选处理\n if (drawType === 'Circle') {\n let polygonGeometry = new fromCircle(geometry);\n coordinates = polygonGeometry.getCoordinates();\n }\n\n coordinates[0].forEach((v, i) => {\n if (i == 0) {\n coorStr += `${v[0]} ${v[1]}`;\n } else {\n coorStr += `, ${v[0]} ${v[1]}`;\n }\n });\n // 增加图层的其他过滤\n const filter = _filter ? `(${_filter}) and ` : '';\n\n getWFSFeatureInfoByLayer(\n layer,\n `${filter}INTERSECTS(geo_location, POLYGON((${coorStr})))`,\n ).then(features => {\n setLoading(false);\n map.setHighlightFeature(features);\n if (features?.length) {\n features.forEach(item => {\n let listKeys = item.getKeys();\n let data = {};\n listKeys.forEach(key => {\n if (item.get(key)) {\n data[key] = item.get(key);\n data.feature = item;\n }\n });\n if (layer.labelField) {\n data.NAME = item.get(layer.labelField) || '';\n }\n\n // 处理管线长度字段\n if (data.line_length) {\n data.lineLength = data.lineLength || data.line_length;\n }\n\n tableData.push(data);\n });\n setDataSource(tableData);\n } else {\n message.destroy();\n message.info('暂无数据', 2);\n }\n });\n };\n\n // 判断是否是设备图层\n const isDeviceLayer = useMemo(() => {\n const layer = map?.getLayerByKey(currentLayerKey);\n const deviceTypeId = layer?.params?.deviceTypeId;\n const url = layer?.url?.indexOf('/cloud/device/deviceMap/list') !== -1;\n return Boolean(deviceTypeId && url);\n }, [currentLayerKey]);\n\n // 判断是否是管线图层\n const isPipeLineLayer = currentLayerKey && currentLayerKey.toUpperCase().indexOf('LINE') !== -1;\n\n return (\n <Modal title={title || ''} onClose={onClose} width={300}>\n <Spin spinning={loading}>\n <LayerSelect\n options={layersOpts}\n value={currentLayerKey}\n onChange={setCurrentLayerKey}\n currentKey={currentKey}\n />\n\n {renderTableActive && renderTableActive(dataSource, currentLayerKey, onClick)}\n\n {statistic ? (\n isPipeLineLayer ? (\n <PipeDataView dataSource={dataSource} />\n ) : isDeviceLayer ? (\n <DeviceDataView dataSource={dataSource} />\n ) : (\n <TableView dataSource={dataSource} />\n )\n ) : (\n <TableView dataSource={dataSource} />\n )}\n </Spin>\n </Modal>\n );\n};\n"],"mappings":"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","ignoreList":[]}