bmc-common-resource 1.1.163 → 1.1.165
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants/dictionary-media-channel-options.constant.d.ts +5 -0
- package/dist/enums/dictionary-identify.enum.d.ts +15 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +52 -52
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/enums/solution-status.enum.ts","../src/enums/solution-item-audit-status.enum.ts","../src/enums/design-type.enum.ts","../src/enums/currency-unit.enum.ts","../src/enums/supply-mode.enum.ts","../src/enums/im_group_type.enum.ts","../src/enums/recommendation-type.enum.ts","../src/enums/pro_series_type.enum.ts","../src/enums/sales_end_app_tag.enum.ts","../src/enums/solution_price_type.enum.ts","../src/enums/spatial-category.enum.ts","../src/enums/house-status.enum.ts","../src/enums/house-type.enum.ts","../src/enums/price-flag.enum.ts","../src/enums/rounding-rule.enum.ts","../src/enums/assign-business-type.enum.ts","../src/enums/business-scope.enum.ts","../src/enums/business-work-phase.enum.ts","../src/enums/contract-state.enum.ts","../src/enums/amount-decimal-value.enum.ts","../src/enums/amount-decimal-type.enum.ts","../src/enums/sign-style.enum.ts","../src/enums/mq-receipt-type-enum.ts","../src/enums/customer-classification.enum.ts","../src/enums/index.ts","../src/constants/solution-status-options.constant.ts","../src/constants/design-type-options.constant.ts","../src/enums/order-status.enum.ts","../src/constants/order-status-options.constant.ts","../src/constants/currency-unit-options.constant.ts","../src/constants/supply-mode-options.constant.ts","../src/constants/im-group-type-options.constants.ts","../src/enums/dictionary-identify.enum.ts","../src/enums/customer-source.enum.ts","../src/constants/dictionary-customer-source-options.constant.ts","../src/enums/process-stage.enum.ts","../src/constants/dictionary-process-stage-options.constant.ts","../src/enums/customer-label.enum.ts","../src/constants/dictionary-customer-label-options.constant.ts","../src/constants/dictionary-business-scope-options.constant.ts","../src/constants/dictionary-business-work-phase-options.constant.ts","../src/constants/dictionary-customer-classification-options.constant.ts","../src/constants/dictionary-attribute-options.constant.ts","../src/constants/dictionary-identify-options.constant.ts","../src/constants/recommendation-type-options.constant.ts","../src/constants/pro_series_type_enum.constant.ts","../src/constants/spatial-category-options.constant.ts","../src/constants/house-status-options.constant.ts","../src/constants/house-type-options.constant.ts","../src/constants/price-flag-options.constant.ts","../src/constants/rounding-rule-options.constant.ts","../src/constants/assign-business-type-options.constant.ts","../src/constants/amount-decimal-value-constant.ts","../src/constants/contract-status-options.constant.ts","../src/constants/sign-style-options.constant.ts","../src/constants/sales-end-app-tag.constant.ts","../src/enums/product-unit-measure.enum.ts","../src/constants/product-unit-measure.constant.ts","../src/constants/index.ts","../src/interfaces/index.ts","../src/utils/solution.util.ts","../src/utils/common.util.ts","../src/modules/solution/productCategories.ts","../src/modules/solution/groupTypes.ts","../src/modules/solution/classifyRoomGroupMap.ts","../src/modules/solution/measure/utils/MeasureCalculator.js","../src/modules/solution/measure/index.js","../src/modules/solution/dosage/index.ts","../src/modules/solution/categoryFormMap.ts","../src/modules/solution/models/QuotationItem.ts","../src/enums/privilege-status.enum.ts","../src/constants/privilege-status-options.constant.ts","../src/enums/contract-cancel-type.enum.ts","../src/enums/mq-consumer-group-enum.ts","../src/enums/place-order-type.enum.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/**\r\n * 产品单元计量计算工具\r\n * 用于根据产品尺寸(宽、高、深)和计量单位计算实际计量值\r\n */\r\nclass ItemUnitMeasureCalculator {\r\n /**\r\n * 计量单位枚举\r\n */\r\n static ProductUnitMeasureEnum = {\r\n // 计件类单位\r\n PC: {\r\n name: 'PC',\r\n label: '件',\r\n simpleLabel: '件',\r\n enName: 'Place',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n EA: {\r\n name: 'EA',\r\n label: '个',\r\n simpleLabel: '个',\r\n enName: 'Each',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n CELL: {\r\n name: 'CELL',\r\n label: '节',\r\n simpleLabel: '节',\r\n enName: 'cELL',\r\n dimension: 0,\r\n scale: 1,\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n SET: {\r\n name: 'SET',\r\n label: '套',\r\n simpleLabel: '套',\r\n enName: 'Set',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n BAN: {\r\n name: 'BAN',\r\n label: '把',\r\n simpleLabel: '把',\r\n enName: 'Ban',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n SAG: {\r\n name: 'SAG',\r\n label: '袋',\r\n simpleLabel: '袋',\r\n enName: 'Bag',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n VOL: {\r\n name: 'VOL',\r\n label: '本',\r\n simpleLabel: '本',\r\n enName: 'Volume',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n BOX: {\r\n name: 'BOX',\r\n label: '箱',\r\n simpleLabel: '箱',\r\n enName: 'Boxful',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAIL: {\r\n name: 'PAIL',\r\n label: '桶',\r\n simpleLabel: '桶',\r\n enName: 'Pail',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n CAN: {\r\n name: 'CAN',\r\n label: '罐',\r\n simpleLabel: '罐',\r\n enName: 'Can',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n TAI: {\r\n name: 'TAI',\r\n label: '台',\r\n simpleLabel: '台',\r\n enName: 'Tai',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n CAR: {\r\n name: 'CAR',\r\n label: '盒',\r\n simpleLabel: '盒',\r\n enName: 'Carton',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAK: {\r\n name: 'PAK',\r\n label: '包',\r\n simpleLabel: '包',\r\n enName: 'Package',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n STP: {\r\n name: 'STP',\r\n label: '条',\r\n simpleLabel: '条',\r\n enName: 'Strip',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n ZHI: {\r\n name: 'ZHI',\r\n label: '只',\r\n simpleLabel: '只',\r\n enName: 'Zhi',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n ZII: {\r\n name: 'ZII',\r\n label: '支',\r\n simpleLabel: '支',\r\n enName: 'Zii',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n SLC: {\r\n name: 'SLC',\r\n label: '片',\r\n simpleLabel: '片',\r\n enName: 'Slice',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n BLK: {\r\n name: 'BLK',\r\n label: '块',\r\n simpleLabel: '块',\r\n enName: 'Block',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n ZHG: {\r\n name: 'ZHG',\r\n label: '张',\r\n simpleLabel: '张',\r\n enName: 'Zhang',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAL: {\r\n name: 'PAL',\r\n label: '货盘',\r\n simpleLabel: '货盘',\r\n enName: 'Pallet',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n GEN: {\r\n name: 'GEN',\r\n label: '根',\r\n simpleLabel: '根',\r\n enName: 'Gen',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n FAN: {\r\n name: 'FAN',\r\n label: '扇',\r\n simpleLabel: '扇',\r\n enName: 'Fan',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n REEL: {\r\n name: 'REEL',\r\n label: '卷',\r\n simpleLabel: '卷',\r\n enName: 'Reel',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAIR: {\r\n name: 'PAIR',\r\n label: '副',\r\n simpleLabel: '副',\r\n enName: 'Pair',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n GROUP: {\r\n name: 'GROUP',\r\n label: '组',\r\n simpleLabel: '组',\r\n enName: 'Group',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n STEP: {\r\n name: 'STEP',\r\n label: '步',\r\n simpleLabel: '步',\r\n enName: 'Step',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n \r\n // 长度类单位\r\n M: {\r\n name: 'M',\r\n label: '米',\r\n simpleLabel: '米',\r\n enName: 'Metre',\r\n dimension: 1,\r\n scale: 1000,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width / 1000; // 毫米转米\r\n }\r\n })\r\n },\r\n LM: {\r\n name: 'LM',\r\n label: '延米',\r\n simpleLabel: '延米',\r\n enName: 'LinearMeter',\r\n dimension: 1,\r\n scale: 1000,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width / 1000; // 毫米转米\r\n }\r\n })\r\n },\r\n H2W1: {\r\n name: 'H2W1',\r\n label: '门套延米',\r\n simpleLabel: 'tm',\r\n enName: 'Tow',\r\n dimension: 1,\r\n scale: 1000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (2 * height + width) / 1000; // 毫米转米\r\n }\r\n })\r\n },\r\n MM: {\r\n name: 'MM',\r\n label: '毫米',\r\n simpleLabel: '毫米',\r\n enName: 'MilliMetre',\r\n dimension: 1,\r\n scale: 10,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width; // 直接返回毫米值\r\n }\r\n })\r\n },\r\n INC: {\r\n name: 'INC',\r\n label: '英寸',\r\n simpleLabel: '英寸',\r\n enName: 'Inch',\r\n dimension: 1,\r\n scale: 304,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width / 25.4; // 毫米转英寸\r\n }\r\n })\r\n },\r\n \r\n // 面积类单位\r\n M2: {\r\n name: 'M2',\r\n label: '平米',\r\n simpleLabel: '㎡',\r\n enName: 'SquareMetre',\r\n dimension: 2,\r\n scale: 1000000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (width * height) / 1000000; // 毫米²转平米\r\n }\r\n })\r\n },\r\n PM2: {\r\n name: 'PM2',\r\n label: '投影平米',\r\n simpleLabel: 'pm²',\r\n enName: 'ProjectionSquareMetre',\r\n dimension: 2,\r\n scale: 1000000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (width * height) / 1000000; // 毫米²转平米\r\n }\r\n })\r\n },\r\n FM2: {\r\n name: 'FM2',\r\n label: '立面平米',\r\n simpleLabel: 'fm²',\r\n enName: 'FacadeSquareMetre',\r\n dimension: 2,\r\n scale: 1000000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (width * height) / 1000000; // 毫米²转平米\r\n }\r\n })\r\n },\r\n \r\n // 体积类单位\r\n M3: {\r\n name: 'M3',\r\n label: '立方米',\r\n simpleLabel: 'm²',\r\n enName: 'CubicMetre',\r\n dimension: 3,\r\n scale: 1000000000,\r\n requiredDimensions: ['width', 'height', 'depth'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height, depth } = countParam;\r\n return (width * height * depth) / 1000000000; // 毫米³转立方米\r\n }\r\n })\r\n },\r\n L: {\r\n name: 'L',\r\n label: '公升',\r\n simpleLabel: '公升',\r\n enName: 'Liter',\r\n dimension: 3,\r\n scale: 1000000000,\r\n requiredDimensions: ['width', 'height', 'depth'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height, depth } = countParam;\r\n return (width * height * depth) / 1000000; // 毫米³转升(1升=1000cm³)\r\n }\r\n })\r\n },\r\n ML: {\r\n name: 'ML',\r\n label: '毫升',\r\n simpleLabel: '毫升',\r\n enName: 'MilliLiter',\r\n dimension: 3,\r\n scale: 1000000000,\r\n requiredDimensions: ['width', 'height', 'depth'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height, depth } = countParam;\r\n return (width * height * depth) / 1000; // 毫米³转毫升(1毫升=1cm³)\r\n }\r\n })\r\n },\r\n \r\n // 重量类单位\r\n KG: {\r\n name: 'KG',\r\n label: '千克',\r\n simpleLabel: 'kg',\r\n enName: 'Kilogram',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1 // 默认1kg\r\n })\r\n },\r\n TON: {\r\n name: 'TON',\r\n label: '吨',\r\n simpleLabel: 't',\r\n enName: 'Ton',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1 // 默认1吨\r\n })\r\n },\r\n \r\n // 其他类型\r\n WORKLOAD: {\r\n name: 'WORKLOAD',\r\n label: '工作量',\r\n simpleLabel: '工作量',\r\n enName: 'workload',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n \r\n // 根据名称获取枚举\r\n getByName: function(name) {\r\n if (!name) return null;\r\n for (const key in this) {\r\n if (this[key] && this[key].name === name) {\r\n return this[key];\r\n }\r\n }\r\n return null;\r\n }\r\n };\r\n\r\n /**\r\n * 计算规则操作类型枚举\r\n */\r\n static ProductAttrQuotaOperatorTypeEnum = {\r\n NORMAL: 'NORMAL', // 正常值(不做任何处理)\r\n ADD_MULTIPLE: 'ADD_MULTIPLE', // 先加后乘\r\n MULTIPLE_ADD: 'MULTIPLE_ADD' // 先乘后加\r\n };\r\n\r\n /**\r\n * 查找计量单位并计算\r\n * @param {Object} dto 计算参数对象\r\n * @param {string} dto.measureUnit 计量单位\r\n * @param {number} dto.width 宽度(mm)\r\n * @param {number} dto.height 高度(mm)\r\n * @param {number} dto.depth 深度(mm)\r\n * @param {string} [dto.calculationMethod] 计算方法\r\n * @param {number} [dto.customLength] 自定义长度,用于特殊计算\r\n * @returns {number} 计算结果\r\n */\r\n static findItemUnitMeasure(dto) {\r\n // 处理尺寸\r\n const { width, height, depth } = this.calculateSizeByConfig(dto);\r\n\r\n // 更新DTO中的尺寸\r\n dto.width = width;\r\n dto.height = height;\r\n dto.depth = depth;\r\n\r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum)\r\n .filter(key => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .find(unit => this.ProductUnitMeasureEnum[unit]?.label === dto.measureUnit);\r\n \r\n if (!unitCode) {\r\n console.warn(`未找到计量单位 ${dto.measureUnit} 的处理方法`);\r\n return 1; // 默认按件计算\r\n }\r\n\r\n const measureUnit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 执行计算\r\n try {\r\n // 根据计算方法确定使用哪种计算方式\r\n if (dto.calculationMethod) {\r\n // 如果指定了计算方法,根据方法计算\r\n switch (dto.calculationMethod) {\r\n case 'WIDTH_HEIGHT':\r\n return (width * height) / (measureUnit.scale || 1000000);\r\n case 'HEIGHT_DEPTH':\r\n return (height * depth) / (measureUnit.scale || 1000000);\r\n case 'WIDTH_DEPTH':\r\n return (width * depth) / (measureUnit.scale || 1000000);\r\n case 'PERIMETER':\r\n return 2 * (width + depth) / 1000;\r\n case 'WIDTH':\r\n return width / (measureUnit.dimension === 1 ? 1000 : 1);\r\n case 'HEIGHT':\r\n return height / (measureUnit.dimension === 1 ? 1000 : 1);\r\n case 'DEPTH':\r\n return depth / (measureUnit.dimension === 1 ? 1000 : 1);\r\n case 'CUSTOM_LENGTH':\r\n return (dto.customLength || width) / 1000;\r\n default:\r\n // 使用默认计算方法\r\n return this.calculateByUnitDefinition(measureUnit, width, height, depth, dto.customLength);\r\n }\r\n } else {\r\n // 使用默认计算方法\r\n return this.calculateByUnitDefinition(measureUnit, width, height, depth, dto.customLength);\r\n }\r\n } catch (error) {\r\n console.error('计算过程中出错:', error);\r\n return 1; // 出错时默认按件计算\r\n }\r\n }\r\n\r\n /**\r\n * 根据单位定义计算\r\n * @param {Object} measureUnit 计量单位对象\r\n * @param {number} width 宽度\r\n * @param {number} height 高度\r\n * @param {number} depth 深度\r\n * @param {number} customLength 自定义长度\r\n * @returns {number} 计算结果\r\n */\r\n static calculateByUnitDefinition(measureUnit, width, height, depth, customLength) {\r\n return measureUnit.getCount().apply({\r\n width,\r\n height,\r\n depth,\r\n customLength\r\n });\r\n }\r\n\r\n /**\r\n * 获取计量单位的信息,包括所需尺寸和可用计算方式\r\n * @param {string} measureUnit 计量单位名称\r\n * @returns {Object|null} 计量单位信息\r\n */\r\n static getMeasureUnitInfo(measureUnit) {\r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum).find(unit => \r\n this.ProductUnitMeasureEnum[unit]?.label === measureUnit\r\n );\r\n \r\n if (!unitCode) {\r\n return null;\r\n }\r\n \r\n const unit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 确定可用的计算方法\r\n let methods = [];\r\n \r\n // 根据单位维度确定可用的计算方法\r\n if (unit.dimension === 2) {\r\n // 二维单位可以用width_height或width_depth或height_depth\r\n methods.push({\r\n key: 'WIDTH_HEIGHT',\r\n label: '宽度×高度',\r\n description: `${unit.label}宽×高计算方式`,\r\n requiredDimensions: ['width', 'height']\r\n });\r\n \r\n methods.push({\r\n key: 'WIDTH_DEPTH',\r\n label: '宽度×深度',\r\n description: `${unit.label}宽×深计算方式`,\r\n requiredDimensions: ['width', 'depth']\r\n });\r\n \r\n methods.push({\r\n key: 'HEIGHT_DEPTH',\r\n label: '高度×深度',\r\n description: `${unit.label}高×深计算方式`,\r\n requiredDimensions: ['height', 'depth']\r\n });\r\n } else if (unit.dimension === 1) {\r\n // 一维单位可以用width、height或depth\r\n methods.push({\r\n key: 'WIDTH',\r\n label: '宽度',\r\n description: `${unit.label}宽度计算方式`,\r\n requiredDimensions: ['width']\r\n });\r\n \r\n methods.push({\r\n key: 'HEIGHT',\r\n label: '高度',\r\n description: `${unit.label}高度计算方式`,\r\n requiredDimensions: ['height']\r\n });\r\n \r\n methods.push({\r\n key: 'DEPTH',\r\n label: '深度',\r\n description: `${unit.label}深度计算方式`,\r\n requiredDimensions: ['depth']\r\n });\r\n\r\n // 添加周长计算方法\r\n methods.push({\r\n key: 'PERIMETER',\r\n label: '周长',\r\n description: `${unit.label}周长计算方式`,\r\n requiredDimensions: ['width', 'depth']\r\n });\r\n }\r\n \r\n // 如果没有计算方法,添加默认计算方法\r\n if (methods.length === 0) {\r\n methods.push({\r\n key: 'DEFAULT',\r\n label: '标准计算',\r\n description: `标准${unit.label}计算方式`,\r\n requiredDimensions: unit.requiredDimensions\r\n });\r\n }\r\n \r\n // 确定默认计算方法\r\n let defaultMethod = 'DEFAULT';\r\n \r\n // 根据单位的维度确定默认方法\r\n if (unit.dimension === 2) {\r\n defaultMethod = 'WIDTH_HEIGHT';\r\n } else if (unit.dimension === 1) {\r\n defaultMethod = 'WIDTH';\r\n }\r\n \r\n return {\r\n name: unit.name,\r\n label: unit.label,\r\n simpleLabel: unit.simpleLabel,\r\n enName: unit.enName,\r\n dimension: unit.dimension,\r\n defaultMethod: defaultMethod,\r\n methods: methods,\r\n requiredDimensions: unit.requiredDimensions\r\n };\r\n }\r\n\r\n /**\r\n * 获取所有计量单位列表\r\n * @returns {Array} 计量单位列表\r\n */\r\n static getAllMeasureUnits() {\r\n return Object.entries(this.ProductUnitMeasureEnum)\r\n .filter(([key]) => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .map(([code, unit]) => {\r\n // 获取单位信息\r\n const unitInfo = this.getMeasureUnitInfo(unit.label);\r\n \r\n return {\r\n name: unit.name,\r\n label: unit.label,\r\n enName: unit.enName,\r\n dimension: unit.dimension,\r\n defaultMethod: unitInfo?.defaultMethod || 'DEFAULT',\r\n methods: unitInfo?.methods || [{\r\n key: 'DEFAULT',\r\n label: '标准计算',\r\n description: `标准${unit.label}计算方式`,\r\n requiredDimensions: unit.requiredDimensions\r\n }],\r\n requiredDimensions: unit.requiredDimensions\r\n };\r\n });\r\n }\r\n\r\n /**\r\n * 根据配置计算尺寸\r\n * @param {Object} dto 计算参数对象\r\n * @returns {Object} 计算后的尺寸\r\n */\r\n static calculateSizeByConfig(dto) {\r\n // 创建一个尺寸对象,包含三个维度\r\n const size = {\r\n width: dto.width || 0,\r\n height: dto.height || 0,\r\n depth: dto.depth || 0\r\n };\r\n\r\n // 获取计算配额\r\n const quotaMap = this.getQuotaMapByDto(dto);\r\n\r\n // 分别计算三个维度\r\n if (quotaMap.WIDTH) {\r\n size.width = this.calculateValue(size.width, quotaMap.WIDTH);\r\n }\r\n\r\n if (quotaMap.HEIGHT) {\r\n size.height = this.calculateValue(size.height, quotaMap.HEIGHT);\r\n }\r\n\r\n if (quotaMap.DEPTH) {\r\n size.depth = this.calculateValue(size.depth, quotaMap.DEPTH);\r\n }\r\n\r\n return size;\r\n }\r\n\r\n /**\r\n * 获取计算规则配置\r\n * @param {Object} dto 计算参数对象\r\n * @returns {Object} 计算规则配置\r\n */\r\n static getQuotaMapByDto(dto) {\r\n // 返回默认规则\r\n return {\r\n 'WIDTH': { operatorType: 'NORMAL', addValue: 0, multipleValue: 1 },\r\n 'HEIGHT': { operatorType: 'NORMAL', addValue: 0, multipleValue: 1 },\r\n 'DEPTH': { operatorType: 'NORMAL', addValue: 0, multipleValue: 1 }\r\n };\r\n }\r\n\r\n /**\r\n * 根据计算规则处理值\r\n * @param {number} value 原始值\r\n * @param {Object} quota 计算规则\r\n * @returns {number} 计算后的值\r\n */\r\n static calculateValue(value, quota) {\r\n const { operatorType, addValue, multipleValue } = quota;\r\n let result = value;\r\n\r\n // 将字符串转换为数字\r\n const numAddValue = parseFloat(addValue || 0);\r\n const numMultipleValue = parseFloat(multipleValue || 1);\r\n\r\n // 根据操作类型进行计算\r\n switch (operatorType) {\r\n case this.ProductAttrQuotaOperatorTypeEnum.ADD_MULTIPLE:\r\n // 先加后乘\r\n result = (result + numAddValue) * numMultipleValue;\r\n break;\r\n case this.ProductAttrQuotaOperatorTypeEnum.MULTIPLE_ADD:\r\n // 先乘后加\r\n result = result * numMultipleValue + numAddValue;\r\n break;\r\n case this.ProductAttrQuotaOperatorTypeEnum.NORMAL:\r\n default:\r\n // 不做特殊处理\r\n break;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * 判断指定尺寸是否与计量单位计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @param {string} dimension 尺寸名称 ('width'|'height'|'depth')\r\n * @param {string} [calculationMethod] 计算方法,如果指定则根据计算方法判断\r\n * @returns {boolean} 如果尺寸与计量相关则返回true,否则返回false\r\n */\r\n static isDimensionRequired(measureUnit, dimension, calculationMethod) {\r\n // 检查参数有效性\r\n if (!measureUnit || !dimension) {\r\n return false;\r\n }\r\n \r\n // 标准化尺寸名称\r\n const normalizedDimension = dimension.toLowerCase();\r\n if (!['width', 'height', 'depth'].includes(normalizedDimension)) {\r\n return false;\r\n }\r\n \r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum)\r\n .filter(key => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .find(unit => this.ProductUnitMeasureEnum[unit]?.label === measureUnit);\r\n \r\n if (!unitCode) {\r\n return false;\r\n }\r\n \r\n const unit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 如果指定了计算方法,根据计算方法判断\r\n if (calculationMethod) {\r\n switch (calculationMethod) {\r\n case 'WIDTH_HEIGHT':\r\n return normalizedDimension === 'width' || normalizedDimension === 'height';\r\n case 'WIDTH_DEPTH':\r\n return normalizedDimension === 'width' || normalizedDimension === 'depth';\r\n case 'HEIGHT_DEPTH':\r\n return normalizedDimension === 'height' || normalizedDimension === 'depth';\r\n case 'PERIMETER':\r\n return normalizedDimension === 'width' || normalizedDimension === 'depth';\r\n case 'WIDTH':\r\n return normalizedDimension === 'width';\r\n case 'HEIGHT':\r\n return normalizedDimension === 'height';\r\n case 'DEPTH':\r\n return normalizedDimension === 'depth';\r\n case 'CUSTOM_LENGTH':\r\n return normalizedDimension === 'width'; // 默认使用宽度作为自定义长度的备选\r\n default:\r\n // 使用单位定义的必需尺寸\r\n return unit.requiredDimensions.includes(normalizedDimension);\r\n }\r\n }\r\n \r\n // 如果没有指定计算方法,使用单位定义的必需尺寸\r\n return unit.requiredDimensions.includes(normalizedDimension);\r\n }\r\n\r\n /**\r\n * 判断计量单位是否与尺寸计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @returns {boolean} 如果计量单位与尺寸计算相关则返回true,否则返回false\r\n */\r\n static isDimensionRelated(measureUnit) {\r\n // 检查参数有效性\r\n if (!measureUnit) {\r\n return false;\r\n }\r\n \r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum)\r\n .filter(key => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .find(unit => this.ProductUnitMeasureEnum[unit]?.label === measureUnit);\r\n \r\n if (!unitCode) {\r\n return false;\r\n }\r\n \r\n const unit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 如果单位维度大于0或者有必需尺寸,则与尺寸计算相关\r\n return unit.dimension > 0 || unit.requiredDimensions.length > 0;\r\n }\r\n}\r\n\r\nmodule.exports = ItemUnitMeasureCalculator; ","/**\r\n * 产品计量计算工具方法\r\n * 功能:根据产品尺寸(宽、高、深)和计量单位计算实际计量值\r\n */\r\n\r\nconst ItemUnitMeasureCalculator = require('./utils/MeasureCalculator')\r\nconst { formatDecimal } = require('../../../utils/common.util');\r\n\r\n/**\r\n * 参数验证函数\r\n * @param {Object} params - 请求参数\r\n * @throws {Error} 当参数验证失败时抛出\r\n */\r\nfunction validateParams(params) {\r\n const { measureUnit, width, height, depth } = params;\r\n const errors = [];\r\n\r\n // 验证计量单位\r\n if (!measureUnit) {\r\n errors.push('缺少必要参数:计量单位');\r\n } else if (typeof measureUnit !== 'string') {\r\n errors.push('计量单位必须是字符串');\r\n }\r\n\r\n // 验证宽度、高度、深度为数字或可转换为数字的值\r\n const dimensions = [\r\n { name: '宽度', value: width },\r\n { name: '高度', value: height },\r\n { name: '深度', value: depth }\r\n ];\r\n\r\n dimensions.forEach(dim => {\r\n if (dim.value !== null && dim.value !== undefined && dim.value !== '' && isNaN(Number(dim.value)) && !Array.isArray(dim.value)) {\r\n errors.push(`${dim.name}必须是数字或数组`);\r\n }\r\n \r\n if (Array.isArray(dim.value)) {\r\n const hasInvalidValue = dim.value.some(v => isNaN(Number(v)) || Number(v) < 0);\r\n if (hasInvalidValue) {\r\n errors.push(`${dim.name}数组中的值必须是大于等于0的数字`);\r\n }\r\n } else if (dim.value !== null && dim.value !== undefined && dim.value !== '' && Number(dim.value) < 0) {\r\n errors.push(`${dim.name}不能小于0`);\r\n }\r\n });\r\n\r\n if (errors.length > 0) {\r\n throw new Error(errors.join('; '));\r\n }\r\n}\r\n\r\n/**\r\n * 产品计量值计算工具函数\r\n * @param {Object} params - 计算参数对象\r\n * @param {string} params.measureUnit - 必填参数,计量单位\r\n * @param {number|Array|string} params.width - 宽度(mm)\r\n * @param {number|Array|string} params.height - 高度(mm)\r\n * @param {number|Array|string} params.depth - 深度(mm)\r\n * @param {string} [params.calculationMethod] - 计算方法,用于施工报价计量\r\n * @param {number} [params.customLength] - 自定义长度,用于特殊计算\r\n * @returns {Object} 返回计算结果\r\n * @throws {Error} 当参数验证失败或计算过程中出错时抛出\r\n */\r\nfunction calculateProductMeasure(params) {\r\n try {\r\n // 1. 参数验证\r\n if (!params.measureUnit) {\r\n return 0;\r\n }\r\n // 2. 执行计算\r\n const calculationResult = ItemUnitMeasureCalculator.findItemUnitMeasure({\r\n measureUnit: params.measureUnit,\r\n width: params.width || 0,\r\n height: params.height || 0,\r\n depth: params.depth || 0,\r\n calculationMethod: params.calculationMethod,\r\n customLength: params.customLength\r\n });\r\n\r\n // 3. 格式化结果\r\n const result = formatDecimal(calculationResult, 3) || 0;\r\n\r\n // 4. 返回计算计量值\r\n return result;\r\n } catch (error) {\r\n // 直接抛出错误,不再包装为特定响应结构\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 获取计量单位的信息,包括所需尺寸和可用计算方式\r\n * @param {string} measureUnit - 计量单位名称\r\n * @returns {Object|null} 计量单位信息\r\n * @throws {Error} 当获取过程中出错时抛出\r\n */\r\nfunction getMeasureUnitInfo(measureUnit) {\r\n try {\r\n return ItemUnitMeasureCalculator.getMeasureUnitInfo(measureUnit);\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n\r\n/**\r\n * 获取用量\r\n * @param {Object} params - 计算参数对象\r\n * @param {string} params.measureUnit - 必填参数,计量单位\r\n * @param {number|Array|string} params.width - 宽度(mm)\r\n * @param {number|Array|string} params.height - 高度(mm)\r\n * @param {number|Array|string} params.depth - 深度(mm)\r\n * @param {number} params.count - 数量\r\n * @param {string} [params.calculationMethod] - 计算方法,用于施工报价计量\r\n * @param {number} [params.customLength] - 自定义长度,用于特殊计算\r\n * @returns {Object} 返回计算结果\r\n * @throws {Error} 当参数验证失败或计算过程中出错时抛出\r\n */\r\nfunction getUsage(params) {\r\n try {\r\n const measure = formatDecimal(calculateProductMeasure(params) || '0', 6, true);\r\n return measure * params.count\r\n } catch (error) {\r\n throw error; \r\n }\r\n}\r\n\r\n/**\r\n * 获取所有计量单位列表\r\n * @returns {Array} 计量单位列表\r\n * @throws {Error} 当获取过程中出错时抛出\r\n */\r\nfunction getAllMeasureUnits() {\r\n try {\r\n return ItemUnitMeasureCalculator.getAllMeasureUnits();\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 判断指定尺寸是否与计量单位计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @param {string} dimension 尺寸名称 ('width'|'height'|'depth')\r\n * @param {string} [calculationMethod] 计算方法,如果指定则根据计算方法判断\r\n * @returns {boolean} 如果尺寸与计量相关则返回true,否则返回false\r\n * @throws {Error} 当判断过程中出错时抛出\r\n */\r\nfunction isDimensionRequired(measureUnit, dimension, calculationMethod) {\r\n try {\r\n return ItemUnitMeasureCalculator.isDimensionRequired(measureUnit, dimension, calculationMethod);\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 判断计量单位是否与尺寸计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @returns {boolean} 如果计量单位与尺寸计算相关则返回true,否则返回false\r\n * @throws {Error} 当判断过程中出错时抛出\r\n */\r\nfunction isDimensionRelated(measureUnit) {\r\n try {\r\n return ItemUnitMeasureCalculator.isDimensionRelated(measureUnit);\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 获取产品计量单位枚举列表\r\n * @returns {Array} 返回格式为 [{ name: '件', code: 'PC' }] 的计量单位列表\r\n * @throws {Error} 当获取过程中出错时抛出\r\n */\r\nfunction getProductUnitMeasureEnum() {\r\n try {\r\n const enumObj = ItemUnitMeasureCalculator.ProductUnitMeasureEnum;\r\n const result = [];\r\n \r\n // 遍历枚举对象,过滤掉方法和非对象属性\r\n for (const key in enumObj) {\r\n if (typeof enumObj[key] === 'object' && enumObj[key] !== null && key !== 'getByName') {\r\n result.push({\r\n name: enumObj[key].label,\r\n code: enumObj[key].name\r\n });\r\n }\r\n }\r\n \r\n return result;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n// 导出工具函数\r\nmodule.exports = {\r\n getUsage,\r\n calculateProductMeasure,\r\n getMeasureUnitInfo,\r\n getAllMeasureUnits,\r\n isDimensionRequired,\r\n isDimensionRelated,\r\n getProductUnitMeasureEnum,\r\n ItemUnitMeasureCalculator\r\n}; ",null,null,null,null,null,null,null,null],"names":["solution_status","SOLUTION_ITEM_AUDIT_STATUS","design_type","CURRENCY_UNIT_ENUM","supply_mode","IM_GROUP_TYPE","RECOMMENDATION_TYPE_ENUM","pro_series_type_enum","sales_end_app_tag","solution_price_type","spatial_category","house_status","house_type","price_flag","rounding_rule","assign_business_type","BUSINESS_SCOPE_ENUM","BUSINESS_WORK_PHASE_ENUM","CONTRACT_STATE_ENUM","AMOUNT_DECIMAL_VALUE_ENUM","AMOUNT_DECIMAL_TYPE_ENUM","SIGN_STYLE","MQ_RECEIPT_TYPE_ENUM","CUSTOMER_CLASSIFICATION_ENUM","__enumsPlaceholder","solution_status_options","name","value","DRAFT","ACTIVE","LOCKED","REVOKED","PRE_SIGNED","SIGNED","SIGNED_REVOKED","STAY_AUDIT","REJECTED","COMPLETED","design_type_options","BUDGET","MODEL_ROOM_EX","COMMUNITY_EX","ORDER","CONTRACT","SCALE","ABNORMAL_SOLUTION","order_status","order_status_options","NULLIFIED","OPEN","CURRENCY_UNIT_OPTIONS","CNY","USD","EUR","GBP","HKD","supply_mode_options","own_production","brand_agency","wholesale_procur","cross_border_pro","oem_contract","agency_purchase","behalf_purchase","IM_GROUP_TYPE_OPTION","INTERNAL","CUSTOMER","SHARE","DICTIONARY_IDENTIFY_ENUM","CUSTOMER_SOURCE_ENUM","DICTIONARY_CUSTOMER_SOURCE_OPTIONS","label","OTO_TOURIST_SOURCE","GROUP_OTO","TMALL","TENCENT_PLATFORM","DA_ZHONG_DIAN_PING","STORE_SALES","OFFICIAL_REGISTRATION","CITY_OTO","COMMUNITY_MARKETING_ACCOUNTS","MERCHANT_WE_MEDIA_REGISTRATION","PRIVATE_DOMAIN","CUSTOMER_RECOMMENDATION","ON_GOING_CUSTOMER_REFERRAL","OLD_CUSTOMER_REFERRAL","RECOMMENDED_BY_SEED_CUSTOMER","MALL_TRAFFIC_FLOW","NATURAL_TRAFFIC","EVENT_TRAFFIC","ADVERTISING_TRAFFIC","SOCIAL_COMMUNITY_CUSTOMER","SELF_BUILT_COMMUNITY","SELF_BUILT_EVENT_COMMUNITY","MALL_MARKETING_COMMUNITY","ALLIANCE_COOPERATION","INTERIOR_DESIGNER_COLLABORATION","FRACTURED_CUSTOMER_REFERRAL","HOME_IMPROVEMENT_COMPANY_COLLABORATION","MAIN_MATERIAL_MERCHANT_COLLABORATION","MAIN_MATERIAL_SALES_COLLABORATION","NON_INDUSTRY_ALLIANCE","DEVELOPER_COLLABORATION","PROPERTY_COLLABORATION","MALL_COLLABORATION","BANK_COOPERATION","EMPLOYEE_REFERRAL","BE_ON_THE_JOB_EMPLOYEE_REFERRAL","EARLY_EMPLOYEE_REFERRAL","OTHER_SOURCE","SCAN_EMPLOYEE_QR_CODE","PROCESS_STAGE_ENUM","DICTIONARY_PROCESS_STAGE_OPTIONS","INFORMATION","CUSTOMER_SOURCE","LINK_IN_TRANSIT","MEETING_IN_TRANSIT","INTENTION_IN_TRANSIT","ORDER_FORM","ASSIGN_DESIGNER","MEASURE_IN_TRANSIT","SOLUTION_QUOTATION","CONTRACT_IN_TRANSIT","COMPOUND_RULER","PURCHASE_IN_TRANSIT","PRODUCTION","LOGISTICS_IN_TRANSIT","STORAGE_IN_TRANSIT","INSTALL_IN_TRANSIT","DELIVER_IN_TRANSIT","OLD_CUSTOMER","CUSTOMER_LABEL_ENUM","DICTIONARY_CUSTOMER_LABEL_OPTIONS","UNGROUPED","DICTIONARY_BUSINESS_SCOPE_OPTIONS","SELF_OPERATED_PRODUCT","AGENCY_PURCHASE_SALES","INTERIOR_DESIGN","ENGINEERING_CONSTRUCTION","DICTIONARY_BUSINESS_WORK_PHASE_OPTIONS","MARKETING","SALES","DESIGN","INSTALLATION","AFTER_SALES","CONSTRUCTION","DICTIONARY_CUSTOMER_CLASSIFICATION_OPTIONS","PASSERBY","FRACTURED_CUSTOMER","OTO_ASSIGNMENT","ON_THE_WAY_CUSTOMER","KEY_FOCUS","DICTIONARY_ATTRIBUTE_OPTIONS_MAP","PROCESS_STAGE","CUSTOMER_LABEL","BUSINESS_SCOPE","BUSINESS_WORK_PHASE","CUSTOMER_CLASSIFICATION","DICTIONARY_IDENTIFY_OPTIONS","POSITION","BEDROOM","DELIVERY_TIME_OPTION","HOUSE_INFORMATION","HOUSE_SQUARE_METERS","PROJECT_CLASSIFICATION","PROJECT_TYPE","PROJECT_SOLUTION","PROJECT_TAG","PROJECT_TEMPLATE_LEVEL","PROJECT_WORK_ITEM","BUILDING_DEVELOPER","recommendation_type_options","DESIGN_ALLIANCE","DIFFERENT_DESIGN_ALLIANCE","EMPLOYEE_RECOMMENDATION","WECHAT_GROUPS","pro_series_type_options","SERIES","STYLE","spatial_category_options","KITCHEN","LIVING_ROOM","RESTAURANT","MASTER_BEDROOM","SECOND_BEDROOM","CLOAKROOM","YOUNGSTER_ROOM","STUDY","MASTER_BATHROOM","SECOND_BATHROOM","HALLWAY","BALCONY","STOREROOM","OTHER_SPACE","house_status_options","DELIVERED_HOUSE","UNDEVELOPED_HOUSE","UNCERTAIN_DELIVERY","house_type_options","LUXURY_HOUSE","BARE_SHELL_HOUSE","SECOND_HAND_HOUSE","UNDETERMINED","ListType","price_flag_options","stdConf","gift","present","package","positive","specialPrice","fixPrice","returnedPurchase","refund","sample","returning_inventory","backup_warehouse","sec_kill_product","activity_product","product_stock","PRICE_FLAG_LIST_TYPE_MAP","QUOTATION_SOLUTION","getPriceFlagOptionsByListType","listType","availableFlags","length","filter","option","includes","isPriceFlagValidForListType","flag","rounding_rule_options","SINGLE_ROUND","SINGLE_SET_EIGHT","SINGLE_SET_NINE","SINGLE_SET_TEN","SINGLE_PLUS_ONE","TEN_PLUS_ONE","SINGLE_TEN_PLUS_ONE","assign_business_type_options","ESTATE","AMOUNT_DECIMAL_VALUE_OPTIONS","AMOUNT_KEEP_1_DECIMAL_PLACE","AMOUNT_KEEP_2_DECIMAL_PLACE","AMOUNT_KEEP_3_DECIMAL_PLACE","AMOUNT_KEEP_4_DECIMAL_PLACE","CONTRACT_STATUS_OPTIONS","VOIDED","SIGN_STAY_FOR_ME","SIGN_STAY_CUSTOMER","STAY_REPORTED","UNDER_REVIEW","STAY_SCALE","STAY_SCALE_REPORTED","SCALE_UNDER_REVIEW","SCALE_REJECTED","SCALE_COMPLETED","SIGN_STYLE_OPTIONS","ONLINE_SIGN","PRINT_SIGN","SALES_END_APP_TAG_OPTIONS","STANDARD_RETAIL","ACTUAL_RETAIL","SETTLEMENT_PRICE","EXCLUSIVE_PACKAGE_PRICE","ProductUnitMeasure","ProductUnitMeasureCN","PRODUCT_UNIT_MEASURE","code","PC","english","EA","SET","BAN","SAG","VOL","BOX","PAIL","CAN","TAI","CAR","PAK","STP","ZHI","ZII","SLC","BLK","ZHG","PAL","GEN","FAN","REEL","PAIR","GROUP","STEP","M","LM","H2W1","MM","INC","M2","PM2","FM2","M3","L","ML","KG","TON","WORKLOAD","PRODUCT_UNIT_MEASURE_OPTIONS","map","item","getProductUnitMeasureByCode","find","getProductUnitMeasureByName","__constantsPlaceholder","__interfacesPlaceholder","formatDecimal","decimalPlaces","undefined","places","Math","max","floor","factor","pow","round","calcStandardPrice","children","totalChildrenPrice","forEach","childItem","calcActualPrice","count","measure","unitPrice","priceFlag","safeMeasure","safeCount","safePrice","safeCoefficient","productCoefficient","priceFlagEnum","standardAmount","result","itemDiscount","abs","calcItemUnitPrice","console","warn","itemId","uuid","calcTaxAmount","safeRate","taxRate","actualPrice","managementFeeAmount","managementFeeRate","calcTaxFeePrice","enableTaxRate","enableManagementFeeRate","taxAmount","managementFee","generateUUID","replace","c","r","random","toString","generateRandomId","chars","i","formatNumberWithCommas","valueStr","trim","number","parseFloat","isNaN","parts","split","integerPart","decimalPart","formattedInteger","findOptionByValue","options","valueField","strictOrField","Array","isArray","strict","field","getFileExtension","filename","_a","pop","toLowerCase","formatChineseMobile","phone","digits","test","slice","decimals","parseNumber","num","Number","toFixed","applyAmountDecimal","decimalType","fixed","AMOUNT_DO_NOT_RETAIN_DECIMALS","PRODUCT_CATEGORIES","WALLBOARD","VENEER","FULL_LENGTH_MIRROR","STAY_WIRE","PASS","COSTS","GAS_PIPE","SOFT_BED","DCJGF","WAT","WAT_THERMAL_SOUND","parentKey","WAT_SUPPLY","WAT_DRAINAGE","DESIGN_COSTS","DECORATIVE_LIGHTS","CLOS_PLATE","SKELETON_ARRANGEMENT","ACCESSORIES","WATER_TREATMENT","GUIDAO","ELEC","CIRCULAR_TABLE","DECORATIVE_PARTS","RUBBER_STRIP","PLUG","DECORATIVE_COLUMN","COVER_PLATE","DECORATIVE_PLATE","OTHER_ACCESSORIES","LMLJGF","WAIST_LINE","BAR_CHAIR","STRUCTURE_PROFILES","REMOTE_CONTROL","WALLPAPER","COLUMN","LATEX_PAINT","GIFTS","SLATE","BAR_COUNTER","STORAGE","PLATFORM","SUSPENDED_CEILING","BACK_SEVERAL","WALL_PANEL_FRAME","RATE_COUPON","CEMENT_MORTAR","DECORATIVE_PART","HANGING_CODE","SKIRTING_BOARD","WINDOW_CURTAINS","SHAD_CLOTH","SOFT_COVER","DECORATIVE_STONE","MESA","FUNCTIONAL_PART","CORE_BOARD","TABLE","CREATE","CREATE_LIGHT_STEEL_JOIST_WALL","CREATE_WALL","INSTALL","LIGHT_FIX_INSTALL","STONE_INSTALL","DRILL_HOLE_INSTALL","SANITARY_WARE_INSTALL","CPL","INTELLIGENCE_ELECTRICAL","DISHWASHER","STERILIZER","AGITATOR","STOVE","PURIFIER","RADIANT_COOKER","DRYER","HEATER","DISINFECTION_CABINET","WASHING_MACHINE","INTELLIGENT_PLUG_IN","MICROWAVE_OVEN","SMOKE_MACHINE","ADDTIONAL","SMART_TRASH_CAN","SLAG_CRUSHER","WATER_PURIFIER","TRANSFORMER","INTELLIGENCE_ELECTRICAL_APPARATUS","ELECTRIC_OVEN","GAS_STOVE","ELECTRIC_STEAMER","PROXYELE","LAMPS_AND_LANTERNS","QIANXIAN","LOUNGE_CHAIR","JEWELRY_HANGER","DRESS_STOOL","CLOTH","SCJGF","WALL","WALL_WOOD_BASE","WALL_SUPPORT","WALL_DECORATE","WALL_TIL","DINGING_CHAIR","CASH_COUPON","OTHER","CABINET_PANEL","SPLIT_HALL_CABINET","SHOE_CABINET","CUSTOMIZED_UNIT","HANG_GRID","WOODINESS_CD","BOOKCASE","BOX_STRUCTURE","WINE_GRID","TIE_GRID","GEO_GRID","BATHROOM_CABINET","SIDE_CABINET","SEMI_HIGH_LATTICE","DRAWER_CABINET","CYLINDER_CABINET","HALF_HEIGHT_CABINET","DECORATIVE_CABINET","KEYBOARD_HOLDER","DISPLAY_CABINET","SLIDE_DOOR_CABINET","ELEVATED_CABINET","BALCONY_CABINET","CELLS","SHOE_HAT_CABINET","WALL_CABINET","SHIRT_PALLET","WARDROBE","GRIDBOARD","TV_CABINET","WALL_MOUNTED_WARDROBE","HALL_CABINET","BEDSIDE","CONSOLE_CABINET","BED_CABINET","BOARD","BOX_BOARD","BEAR_BOARD","SIDE_BOARD","VERTICAL_SUPPORT_BOARD","TOP_BOARD","INCLINED_LAYER_BOARD","CONNECTING_BOARD","BOTTOM_BOARD","SHELF_BOARD","T_FIXTURE_BOARD","L_FIXTURE_BOARD","MID_VERTICAL_BOARD","DIVIDING_INTI_GRIDS","CABINET_IN_CABINET","SHOE_BOX","FIXTURE","ISLAND_PLATFORM","CYLINDER_CABINET_HIGH_LATTICE","CABINET_STYLE_WARDROBE","MIRROR_CABINET","COLUMN_WARDROBE","STORAGE_CABINET","WATER_BASIN_CABINET","FLOOR_CABINET","INSERT_GRID","BASE_GRID","BACKGROUND_PLATE","INSERT_UNIT","WINE_CABINET","TABLEWARE","WINE_GRILLE_HOLDER","OPEN_LATTICE","CORNER_TABLE","SHOE_RACK","BOOKSHELF","ELE","ELE_WEAK_GALVANIZED","ELE_SPECIALIZED_FURNISH","ELE_PVC_PIPE","ELE_WEAK_WIRE","ELE_ASSISTANCE","ELE_WIRE","WAT_SLOTTING","ELE_GALVANIZED","ELE_WEAK_BOX","ELE_WEAK_PVC_PIPE","COMMODE","UNIT_CABINET_PANEL","LOCK_SET","YARN_MANTLE","SPECIAL","SIDE_TABLE","FUNCTIONAL_HARDWARE","COOKER","BOTTLE_OPENER","HANDLES","DRAWER","LIGHT_BELT","HANGER_ROD","DAMPER","OTHER_HARDWARE","COUPLE","CAN_OPENER","HARDWARE_ACCESSORIES","WATERPROOF_PARTS","FAUCET","SLIDE_DOOR_HARDWARE","STOP","SWITCH","COAT_HANGER","HINGE","COUPLING_HEAD","INTELLIGENCE_HARDWARE","SLIDE_RAIL","WATER_BASIN","PULL_BASKET","FLOODLIGHT","CLOTHES_RAIL","REBOUND_DEVICE","BRACE","DISC_EXTRACTOR","SLIDE_DOOR","SCREEN","BENCH","PARAPET_WALL_BOARD","OFFICE_CHAIR","QIANGGOU","RIBBON_CLOTH","SANITARY_WARE","TRAY","PROTECT","MATERIAL_HAND_PROTECT","GARBAGE_DISPOSAL_PROTECT","LONG_RANGE_PROTECT","LOFT_PROTECT","N_SPECIAL","LB","QIANPIAN","DRESSER","ACTIVITY","TEA_TABLE","DECORATIVE_LINE","CARPET","HALF_PASS","CHAIR","CERAMICTILE","ELECTRIC_MODULE","DOOR_BOARD","FITTED_SHEET","BED","Fabric","CURTAIN_CLOTH","SOFA","BASIN","BATHROOM_MIRROR","CUSHION","DECORATIVE_LACE_YARN_MANTLE","FOLDING_SCREEN","MATTRESS","DESK","TJX","REMOVE","REMOVE_GROUND","REMOVE_WALL","REMOVE_SUSPEND_CEIL","REMOVE_METOPE","REMOVE_NEW_WORK_ITEM","GROUND","GROUND_TIL","GROUND_WOOD","GROUND_POINT","GROUND_HANDLE","ADJUSTING_PLATE","CUSTOM_PARTS","CORNET","SOFA_ROLL","TECHNOLOGY","BUILD_WALLS","PAINT","LI_XIE_QI","MORTAR_MIX","DOOR_LINTEL","PLANT_TENDONS","PRE_ARRANGED_POSIT","AN_DI_LIANG","SPREAD","REINFORCEMENT_COMPONENTS","TOP","TOP_LINE","TUYERE","SUSPENDED_SUPPORT","PLATFOND_WATER_RESISTANCE","PLATFOND","PELMET","PULLEY","PENDANT","YANGPIN","BRICK","INNER_DOOR","DOOR_LOCK","DOOR_HEADER","DOOR_JAMB","DOOR_STOPPER","DOOR_LEAF","UPGRADE_COSTS","STRUCTURAL_COMPONENTS","ALUMINUM_WIRE_CONNECTOR","OUTRIGGER","ALLOY_CLIP","LAMINATE_SUPPORT","EXPANSION_SCREW","WALL_HANGING_SUPPORT","ALUMINUM_PROFILE_COMPONENTS","STRUCTURAL_ADHESIVE","GRILLE","CIVIL_ENGINEERING","CIVIL_ENGINEERING_CREATE","CIVIL_ENGINEERING_REMOVE","WATERPROOF_BOARD","BATHTUB","ALUMINUM_FRAME","PORCH","ACCESSORIES_YARN_MANTLE","BANDING","NON_SLIP_MAT","DRESS_UNIT","FLOOR","CUSTOMIZED_TABLE_RACK","FITT","getProductCategoryByKey","categoryKey","getAllProductCategories","Object","entries","category","getSortedGroupTypes","groupCategoryMap","values","sort","a","b","order","getGroupTypeByKey","groupTypeKey","getProductCategoriesByGroupType","productCategoryMap","groupType","mainCategory","productCategories","findCategoryByKey","push","categoryName","categoryCode","some","productCategoryKey","keys","categories","key","childCategory","getPriceParamsByGroupType","categoryPriceUnit","priceUnit","excludeCategoryPriceUnit","excludePriceUnit","getClassifyRoomsAndGroups","classifyType","classifyRoomGroupMap","roomOptions","classifyMap","roomGroups","roomGroup","roomCode","room","roomName","parentCode","parentName","parentSort","roomSort","targetRoom","child","groupsData","groups","groupCode","groupInfo","productCategoriesData","groupName","groupSort","getGroupsByClassifyAndRoom","roomType","rg","getClassifyBaseInfo","classifyCode","classifyInfo","icon","matchUnit","getGroupTypeByProductCategory","productCategory","mainCategoryCode","availableGroups","Set","add","bestMatchGroupKey","mainCategoryMatchGroupKey","mainCategoryMatches","mcCode","toUpperCase","productCategoryMatches","error","groupTypesMap","actualProductCategory","mainCategoryObj","MeasureCalculator","static","simpleLabel","enName","dimension","scale","requiredDimensions","getCount","apply","countParam","CELL","width","height","depth","getByName","this","NORMAL","ADD_MULTIPLE","MULTIPLE_ADD","findItemUnitMeasure","dto","calculateSizeByConfig","unitCode","ProductUnitMeasureEnum","unit","measureUnit","calculationMethod","calculateByUnitDefinition","customLength","getMeasureUnitInfo","methods","description","defaultMethod","getAllMeasureUnits","unitInfo","size","quotaMap","getQuotaMapByDto","WIDTH","calculateValue","HEIGHT","DEPTH","operatorType","addValue","multipleValue","quota","numAddValue","numMultipleValue","ProductAttrQuotaOperatorTypeEnum","isDimensionRequired","normalizedDimension","isDimensionRelated","ItemUnitMeasureCalculator","require$$0","require$$1","calculateProductMeasure","params","calculationResult","getUsage","getProductUnitMeasureEnum","enumObj","calculateProductDosage","rowData","CUSTOM_FURNITURE","editSections","skuAttriCode","expand","attributes","type","required","dependency","isMainProduct","baseAttribute","min","default","labelKey","TOTAL_CUPBOARD","FINISHED_CABINET","FINISHED_PRODUCT","viewSettingBuilder","setting","rest","log","viewSetting","JSON","stringify","index","replaceTemplate","repeat","replaceAll","parse","getCategoryViewSetting","viewType","QuotationItem","constructor","config","productId","supplyPrice","productPriceId","spuName","unitLabel","spuId","brandId","brandName","classifyId","classifyName","model","supplyMode","outlineDemension","parentCategoryCode","parentCategoryName","styleId","styleName","schemeName","originWidth","originHeight","originDepth","skuAttributes","moveDirection","location","crimpRatio","openWidth","measureCalcParams","isExclusivePackage","standardPrice","taxFeePrice","dosage","remark","picture","components","assign","PRIVILEGE_STATE_ENUM","PRIVILEGE_STATUS_OPTIONS","TO_BE_REVIEW","APPROVED","CONTRACT_CANCEL_TYPE","CONSUMER_GROUP_ENUM","PLACE_ORDER_TYPE_ENUM"],"mappings":"IAGYA,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,ECAAC,GvBAZ,SAAYvB,GAEVA,EAAA,MAAA,QAGAA,EAAA,OAAA,SAGAA,EAAA,WAAA,aAGAA,EAAA,SAAA,WAGAA,EAAA,UAAA,YAGAA,EAAA,OAAA,SAGAA,EAAA,QAAA,UAGAA,EAAA,WAAA,aAGAA,EAAA,OAAA,SAGAA,EAAA,eAAA,gBACD,CA9BD,CAAYA,IAAAA,EA8BX,CAAA,IC9BD,SAAYC,GAEVA,EAAA,SAAA,WAGAA,EAAA,SAAA,WAGAA,EAAA,OAAA,SAGAA,EAAA,IAAA,MAGAA,EAAA,KAAA,OAGAA,EAAA,OAAA,QACD,CAlBD,CAAYA,IAAAA,EAkBX,CAAA,IClBD,SAAYC,GAERA,EAAA,OAAA,SAGAA,EAAA,cAAA,gBAGAA,EAAA,aAAA,eAGAA,EAAA,MAAA,QAGAA,EAAA,SAAA,WAGAA,EAAA,MAAA,QAGAA,EAAA,kBAAA,mBACD,CArBH,CAAYA,IAAAA,EAqBT,CAAA,ICrBH,SAAYC,GAEVA,EAAA,IAAA,MAGAA,EAAA,IAAA,MAGAA,EAAA,IAAA,MAGAA,EAAA,IAAA,MAGAA,EAAA,IAAA,KACD,CAfD,CAAYA,IAAAA,EAeX,CAAA,ICfD,SAAYC,GAEVA,EAAA,eAAA,iBAGAA,EAAA,aAAA,eAGAA,EAAA,iBAAA,mBAGAA,EAAA,iBAAA,mBAGAA,EAAA,aAAA,eAGAA,EAAA,gBAAA,kBAGAA,EAAA,gBAAA,iBACD,CArBD,CAAYA,IAAAA,EAqBX,CAAA,ICrBD,SAAYC,GAEVA,EAAA,SAAA,WAGAA,EAAA,SAAA,WAGAA,EAAA,MAAA,OACD,CATD,CAAYA,IAAAA,EASX,CAAA,ICTD,SAAYC,GAERA,EAAA,wBAAA,0BAGAA,EAAA,gBAAA,kBAGAA,EAAA,0BAAA,4BAGAA,EAAA,wBAAA,0BAGAA,EAAA,cAAA,eACH,CAfD,CAAYA,IAAAA,EAeX,CAAA,ICfD,SAAYC,GAERA,EAAA,OAAA,SAGAA,EAAA,MAAA,OACD,CANH,CAAYA,IAAAA,EAMT,CAAA,ICNH,SAAYC,GAEVA,EAAA,gBAAA,kBAGAA,EAAA,cAAA,gBAGAA,EAAA,iBAAA,mBAGAA,EAAA,wBAAA,yBACD,CAZD,CAAYA,IAAAA,EAYX,CAAA,ICZD,SAAYC,GAEVA,EAAA,SAAA,WAGAA,EAAA,kBAAA,oBAGAA,EAAA,mBAAA,oBACD,CATD,CAAYA,IAAAA,EASX,CAAA,ICTD,SAAYC,GAEVA,EAAA,QAAA,UAGAA,EAAA,YAAA,cAGAA,EAAA,WAAA,aAGAA,EAAA,eAAA,iBAGAA,EAAA,eAAA,iBAGAA,EAAA,UAAA,YAGAA,EAAA,eAAA,iBAGAA,EAAA,MAAA,QAGAA,EAAA,gBAAA,kBAGAA,EAAA,gBAAA,kBAGAA,EAAA,QAAA,UAGAA,EAAA,QAAA,UAGAA,EAAA,UAAA,YAGAA,EAAA,YAAA,aACD,CA1CD,CAAYA,IAAAA,EA0CX,CAAA,IC1CD,SAAYC,GAEVA,EAAA,gBAAA,kBAGAA,EAAA,kBAAA,oBAGAA,EAAA,mBAAA,oBACD,CATD,CAAYA,IAAAA,EASX,CAAA,ICTD,SAAYC,GAEVA,EAAA,aAAA,eAGAA,EAAA,iBAAA,mBAGAA,EAAA,kBAAA,oBAGAA,EAAA,aAAA,cACD,CAZD,CAAYA,IAAAA,EAYX,CAAA,ICZD,SAAYC,GAEVA,EAAA,QAAA,UAGAA,EAAA,KAAA,OAGAA,EAAA,QAAA,UAGAA,EAAA,QAAA,UAGAA,EAAA,SAAA,WAGAA,EAAA,aAAA,eAGAA,EAAA,SAAA,WAGAA,EAAA,iBAAA,mBAGAA,EAAA,OAAA,SAGAA,EAAA,OAAA,SAGAA,EAAA,oBAAA,sBAGAA,EAAA,iBAAA,mBAGAA,EAAA,iBAAA,mBAGAA,EAAA,iBAAA,mBAGAA,EAAA,cAAA,eACD,CA7CD,CAAYA,IAAAA,EA6CX,CAAA,IC7CD,SAAYC,GAEVA,EAAA,aAAA,eAGAA,EAAA,iBAAA,mBAGAA,EAAA,gBAAA,kBAGAA,EAAA,eAAA,iBAGAA,EAAA,gBAAA,kBAGAA,EAAA,aAAA,eAGAA,EAAA,oBAAA,qBACD,CArBD,CAAYA,IAAAA,EAqBX,CAAA,ICrBD,SAAYC,GAERA,EAAA,OAAA,QAED,CAJH,CAAYA,IAAAA,EAIT,CAAA,ICJH,SAAYC,GAERA,EAAA,sBAAA,wBAGAA,EAAA,sBAAA,wBAGAA,EAAA,gBAAA,kBAGAA,EAAA,yBAAA,0BACH,CAZD,CAAYA,IAAAA,EAYX,CAAA,ICZD,SAAYC,GAEVA,EAAA,UAAA,YAGAA,EAAA,MAAA,QAGAA,EAAA,OAAA,SAGAA,EAAA,aAAA,eAGAA,EAAA,YAAA,cAGAA,EAAA,aAAA,cACD,CAlBD,CAAYA,IAAAA,EAkBX,CAAA,IClBD,SAAYC,GAEVA,EAAA,MAAA,QAEAA,EAAA,iBAAA,mBAEAA,EAAA,mBAAA,qBAEAA,EAAA,cAAA,gBAEAA,EAAA,WAAA,aAEAA,EAAA,aAAA,eAEAA,EAAA,SAAA,WAEAA,EAAA,UAAA,YAEAA,EAAA,WAAA,aAEAA,EAAA,oBAAA,sBAEAA,EAAA,mBAAA,qBAEAA,EAAA,eAAA,iBAEAA,EAAA,gBAAA,kBAEAA,EAAA,OAAA,QACD,CA7BD,CAAYA,IAAAA,EA6BX,CAAA,IC7BD,SAAYC,GAEVA,EAAA,4BAAA,8BAEAA,EAAA,4BAAA,8BAEAA,EAAA,4BAAA,8BAEAA,EAAA,4BAAA,8BAEAA,EAAA,8BAAA,+BACD,CAXD,CAAYA,IAAAA,EAWX,CAAA,ICXD,SAAYC,GAEVA,EAAA,YAAA,cAEAA,EAAA,aAAA,eAEAA,EAAA,YAAA,cAEAA,EAAA,aAAA,eAEAA,EAAA,MAAA,OACD,CAXD,CAAYA,IAAAA,EAWX,CAAA,ICXD,SAAYC,GAEVA,EAAA,YAAA,cAGAA,EAAA,WAAA,YACD,CAND,CAAYA,IAAAA,EAMX,CAAA,ICND,SAAYC,GAGRA,EAAA,eAAA,iBAEAA,EAAA,gBAAA,kBAEAA,EAAA,aAAA,eAEAA,EAAA,gBAAA,kBAEAA,EAAA,sBAAA,wBAEAA,EAAA,qBAAA,uBAEAA,EAAA,gBAAA,kBAEAA,EAAA,eAAA,iBAEAA,EAAA,sBAAA,wBAEAA,EAAA,qBAAA,uBAEAA,EAAA,wBAAA,0BAEAA,EAAA,oBAAA,sBAEAA,EAAA,iBAAA,mBAEAA,EAAA,qCAAA,uCAIAA,EAAA,eAAA,iBAEAA,EAAA,WAAA,aAEAA,EAAA,iBAAA,mBAEAA,EAAA,gBAAA,kBAEAA,EAAA,gBAAA,kBAEAA,EAAA,WAAA,aAIAA,EAAA,mBAAA,qBAEAA,EAAA,cAAA,gBAEAA,EAAA,uBAAA,yBAEAA,EAAA,8BAAA,gCAIAA,EAAA,sBAAA,wBAEAA,EAAA,eAAA,iBAEAA,EAAA,0BAAA,4BAEAA,EAAA,oBAAA,sBAEAA,EAAA,aAAA,eAEAA,EAAA,eAAA,iBAEAA,EAAA,iBAAA,mBAEAA,EAAA,sBAAA,wBAIAA,EAAA,eAAA,iBAEAA,EAAA,kBAAA,oBAEAA,EAAA,cAAA,gBAEAA,EAAA,YAAA,cAEAA,EAAA,aAAA,eAEAA,EAAA,oBAAA,sBAEAA,EAAA,eAAA,iBAEAA,EAAA,kBAAA,oBAEAA,EAAA,WAAA,aAEAA,EAAA,wBAAA,0BAIAA,EAAA,YAAA,cAEAA,EAAA,eAAA,iBAEAA,EAAA,UAAA,YAEAA,EAAA,WAAA,aAEAA,EAAA,aAAA,eAEAA,EAAA,cAAA,gBAEAA,EAAA,eAAA,iBAEAA,EAAA,2BAAA,6BAEAA,EAAA,qBAAA,uBAEAA,EAAA,2BAAA,6BAEAA,EAAA,kBAAA,oBAEAA,EAAA,iBAAA,mBAEAA,EAAA,eAAA,iBAEAA,EAAA,cAAA,gBAEAA,EAAA,cAAA,gBAEAA,EAAA,wCAAA,0CAEAA,EAAA,eAAA,iBAEAA,EAAA,kBAAA,oBAEAA,EAAA,qBAAA,uBAEAA,EAAA,oBAAA,sBAEAA,EAAA,iBAAA,mBAEAA,EAAA,iBAAA,mBAEAA,EAAA,kBAAA,oBAIAA,EAAA,UAAA,YAIAA,EAAA,2BAAA,6BAEAA,EAAA,sBAAA,wBAEAA,EAAA,oBAAA,sBAIAA,EAAA,sBAAA,wBAEAA,EAAA,4BAAA,8BAEAA,EAAA,eAAA,iBAEAA,EAAA,sBAAA,wBAIAA,EAAA,cAAA,gBAEAA,EAAA,iBAAA,mBAEAA,EAAA,mBAAA,qBAEAA,EAAA,iBAAA,mBAEAA,EAAA,aAAA,eAEAA,EAAA,YAAA,cAEAA,EAAA,cAAA,gBAEAA,EAAA,kBAAA,oBAEAA,EAAA,aAAA,eAEAA,EAAA,sBAAA,wBAEAA,EAAA,oBAAA,sBAIAA,EAAA,8BAAA,gCAEAA,EAAA,mBAAA,oBACH,CAlMD,CAAYA,IAAAA,EAkMX,CAAA,IClMD,SAAYC,GAERA,EAAA,SAAA,WAEAA,EAAA,mBAAA,qBAEAA,EAAA,eAAA,iBAEAA,EAAA,oBAAA,sBAEAA,EAAA,UAAA,YAEAA,EAAA,aAAA,cACH,CAbD,CAAYA,IAAAA,EAaX,CAAA,ICXM,MAAMC,EAAqB,CAAA,ECWrBC,EAA0C,CACrD,CAAEC,KAAM,KAAMC,MAAO3B,EAAgB4B,OACrC,CAAEF,KAAM,KAAMC,MAAO3B,EAAgB6B,QACrC,CAAEH,KAAM,KAAMC,MAAO3B,EAAgB8B,QACrC,CAAEJ,KAAM,MAAOC,MAAO3B,EAAgB+B,SACtC,CAAEL,KAAM,KAAMC,MAAO3B,EAAgBgC,YACrC,CAAEN,KAAM,KAAMC,MAAO3B,EAAgBiC,QACrC,CAAEP,KAAM,OAAQC,MAAO3B,EAAgBkC,gBACvC,CAAER,KAAM,MAAOC,MAAO3B,EAAgBmC,YACtC,CAAET,KAAM,MAAOC,MAAO3B,EAAgBoC,UACtC,CAAEV,KAAM,MAAOC,MAAO3B,EAAgBqC,YCV3BC,EAA0C,CACrD,CAAEZ,KAAM,OAAQC,MAAOzB,EAAYqC,QACnC,CAAEb,KAAM,UAAWC,MAAOzB,EAAYsC,eACtC,CAAEd,KAAM,SAAUC,MAAOzB,EAAYuC,cACrC,CAAEf,KAAM,OAAQC,MAAOzB,EAAYwC,OACnC,CAAEhB,KAAM,OAAQC,MAAOzB,EAAYyC,UACnC,CAAEjB,KAAM,OAAQC,MAAOzB,EAAY0C,OACnC,CAAElB,KAAM,OAAQC,MAAOzB,EAAY2C,wBCpBzBC,GAAZ,SAAYA,GAERA,EAAA,UAAA,YAGAA,EAAA,OAAA,SAGAA,EAAA,KAAA,MACD,CATH,CAAYA,IAAAA,EAST,CAAA,ICIU,MAAAC,EAA4C,CACvD,CAAErB,KAAM,KAAMC,MAAOmB,EAAaE,WAClC,CAAEtB,KAAM,KAAMC,MAAOmB,EAAahB,QAClC,CAAEJ,KAAM,KAAMC,MAAOmB,EAAaG,OCHvBC,EAA0C,CACrD,CAAExB,KAAM,MAAOC,MAAOxB,EAAmBgD,KACzC,CAAEzB,KAAM,KAAMC,MAAOxB,EAAmBiD,KACxC,CAAE1B,KAAM,KAAMC,MAAOxB,EAAmBkD,KACxC,CAAE3B,KAAM,KAAMC,MAAOxB,EAAmBmD,KACxC,CAAE5B,KAAM,KAAMC,MAAOxB,EAAmBoD,MCL7BC,EAA0C,CACrD,CAAE9B,KAAM,OAAQC,MAAOvB,EAAYqD,gBACnC,CAAE/B,KAAM,OAAQC,MAAOvB,EAAYsD,cACnC,CAAEhC,KAAM,OAAQC,MAAOvB,EAAYuD,kBACnC,CAAEjC,KAAM,OAAQC,MAAOvB,EAAYwD,kBACnC,CAAElC,KAAM,QAASC,MAAOvB,EAAYyD,cACpC,CAAEnC,KAAM,KAAMC,MAAOvB,EAAY0D,iBACjC,CAAEpC,KAAM,KAAMC,MAAOvB,EAAY2D,kBCPtBC,EAA+C,CAC1D,CAAEtC,KAAM,OAAQC,MAAOtB,EAAc4D,UACrC,CAAEvC,KAAM,OAAQC,MAAOtB,EAAc6D,UACrC,CAAExC,KAAM,OAAQC,MAAOtB,EAAc8D,YChB3BC,ECAAC,GDAZ,SAAYD,GAEVA,EAAA,gBAAA,kBAGAA,EAAA,cAAA,gBAGAA,EAAA,SAAA,WAGAA,EAAA,eAAA,iBAGAA,EAAA,QAAA,UAGAA,EAAA,qBAAA,uBAGAA,EAAA,kBAAA,oBAGAA,EAAA,oBAAA,sBAGAA,EAAA,eAAA,iBAGAA,EAAA,oBAAA,sBAGAA,EAAA,uBAAA,yBAGAA,EAAA,aAAA,eAGAA,EAAA,iBAAA,mBAIAA,EAAA,YAAA,cAMAA,EAAA,uBAAA,yBAKAA,EAAA,kBAAA,oBAKAA,EAAA,wBAAA,0BAKAA,EAAA,mBAAA,oBACD,CAhED,CAAYA,IAAAA,EAgEX,CAAA,IChED,SAAYC,GAERA,EAAA,mBAAA,qBAEAA,EAAA,UAAA,YAEAA,EAAA,MAAA,QAEAA,EAAA,iBAAA,mBAEAA,EAAA,mBAAA,qBAEAA,EAAA,YAAA,cAEAA,EAAA,sBAAA,wBAEAA,EAAA,SAAA,WAEAA,EAAA,6BAAA,+BAEAA,EAAA,+BAAA,iCAEAA,EAAA,eAAA,iBAEAA,EAAA,wBAAA,0BAEAA,EAAA,2BAAA,6BAEAA,EAAA,sBAAA,wBAEAA,EAAA,6BAAA,+BAEAA,EAAA,kBAAA,oBAEAA,EAAA,gBAAA,kBAEAA,EAAA,cAAA,gBAEAA,EAAA,oBAAA,sBAEAA,EAAA,0BAAA,4BAEAA,EAAA,qBAAA,uBAEAA,EAAA,2BAAA,6BAEAA,EAAA,yBAAA,2BAEAA,EAAA,qBAAA,uBAEAA,EAAA,gCAAA,kCAEAA,EAAA,4BAAA,8BAEAA,EAAA,uCAAA,yCAEAA,EAAA,qCAAA,uCAEAA,EAAA,kCAAA,oCAEAA,EAAA,sBAAA,wBAEAA,EAAA,wBAAA,0BAEAA,EAAA,uBAAA,yBAEAA,EAAA,mBAAA,qBAEAA,EAAA,iBAAA,mBAEAA,EAAA,kBAAA,oBAEAA,EAAA,gCAAA,kCAEAA,EAAA,wBAAA,0BAEAA,EAAA,aAAA,eAEAA,EAAA,sBAAA,uBACH,CA/ED,CAAYA,IAAAA,EA+EX,CAAA,IC3EY,MAAAC,EAA6D,CACtE,CACIC,MAAO,QACP5C,MAAO0C,EAAqBG,oBAEhC,CACID,MAAO,QACP5C,MAAO0C,EAAqBI,WAEhC,CACIF,MAAO,OACP5C,MAAO0C,EAAqBK,OAEhC,CACIH,MAAO,OACP5C,MAAO0C,EAAqBM,kBAEhC,CACIJ,MAAO,OACP5C,MAAO0C,EAAqBO,oBAEhC,CACIL,MAAO,OACP5C,MAAO0C,EAAqBQ,aAEhC,CACIN,MAAO,OACP5C,MAAO0C,EAAqBS,uBAEhC,CACIP,MAAO,QACP5C,MAAO0C,EAAqBU,UAEhC,CACIR,MAAO,UACP5C,MAAO0C,EAAqBW,8BAEhC,CACIT,MAAO,UACP5C,MAAO0C,EAAqBY,gCAEhC,CACIV,MAAO,QACP5C,MAAO0C,EAAqBa,gBAEhC,CACIX,MAAO,OACP5C,MAAO0C,EAAqBc,yBAEhC,CACIZ,MAAO,SACP5C,MAAO0C,EAAqBe,4BAEhC,CACIb,MAAO,QACP5C,MAAO0C,EAAqBgB,uBAEhC,CACId,MAAO,SACP5C,MAAO0C,EAAqBiB,8BAEhC,CACIf,MAAO,OACP5C,MAAO0C,EAAqBkB,mBAEhC,CACIhB,MAAO,OACP5C,MAAO0C,EAAqBmB,iBAEhC,CACIjB,MAAO,OACP5C,MAAO0C,EAAqBoB,eAEhC,CACIlB,MAAO,OACP5C,MAAO0C,EAAqBqB,qBAEhC,CACInB,MAAO,OACP5C,MAAO0C,EAAqBsB,2BAEhC,CACIpB,MAAO,SACP5C,MAAO0C,EAAqBuB,sBAEhC,CACIrB,MAAO,SACP5C,MAAO0C,EAAqBwB,4BAEhC,CACItB,MAAO,SACP5C,MAAO0C,EAAqByB,0BAEhC,CACIvB,MAAO,SACP5C,MAAO0C,EAAqB0B,sBAEhC,CACIxB,MAAO,UACP5C,MAAO0C,EAAqB2B,iCAEhC,CACIzB,MAAO,SACP5C,MAAO0C,EAAqB4B,6BAEhC,CACI1B,MAAO,SACP5C,MAAO0C,EAAqB6B,wCAEhC,CACI3B,MAAO,SACP5C,MAAO0C,EAAqB8B,sCAEhC,CACI5B,MAAO,SACP5C,MAAO0C,EAAqB+B,mCAEhC,CACI7B,MAAO,SACP5C,MAAO0C,EAAqBgC,uBAEhC,CACI9B,MAAO,QACP5C,MAAO0C,EAAqBiC,yBAEhC,CACI/B,MAAO,OACP5C,MAAO0C,EAAqBkC,wBAEhC,CACIhC,MAAO,OACP5C,MAAO0C,EAAqBmC,oBAEhC,CACIjC,MAAO,OACP5C,MAAO0C,EAAqBoC,kBAEhC,CACIlC,MAAO,OACP5C,MAAO0C,EAAqBqC,mBAEhC,CACInC,MAAO,SACP5C,MAAO0C,EAAqBsC,iCAEhC,CACIpC,MAAO,SACP5C,MAAO0C,EAAqBuC,yBAEhC,CACIrC,MAAO,OACP5C,MAAO0C,EAAqBwC,cAEhC,CACItC,MAAO,QACP5C,MAAO0C,EAAqByC,4BC9JxBC,GAAZ,SAAYA,GAERA,EAAA,YAAA,yBAEAA,EAAA,gBAAA,6BAEAA,EAAA,gBAAA,kBAEAA,EAAA,mBAAA,qBAEAA,EAAA,qBAAA,uBAEAA,EAAA,WAAA,wBAEAA,EAAA,gBAAA,kBAEAA,EAAA,mBAAA,qBAEAA,EAAA,mBAAA,gCAEAA,EAAA,oBAAA,sBAEAA,EAAA,eAAA,4BAEAA,EAAA,oBAAA,sBAEAA,EAAA,WAAA,wBAEAA,EAAA,qBAAA,uBAEAA,EAAA,mBAAA,qBAEAA,EAAA,mBAAA,qBAEAA,EAAA,mBAAA,qBAEAA,EAAA,aAAA,yBACH,CArCD,CAAYA,IAAAA,EAqCX,CAAA,IClCY,MAAAC,EAAyD,CAClE,CACIzC,MAAO,KACP5C,MAAOoF,EAAmBE,aAE9B,CACI1C,MAAO,KACP5C,MAAOoF,EAAmBG,iBAE9B,CACI3C,MAAO,KACP5C,MAAOoF,EAAmBI,iBAE9B,CACI5C,MAAO,KACP5C,MAAOoF,EAAmBK,oBAE9B,CACI7C,MAAO,KACP5C,MAAOoF,EAAmBM,sBAE9B,CACI9C,MAAO,KACP5C,MAAOoF,EAAmBO,YAE9B,CACI/C,MAAO,KACP5C,MAAOoF,EAAmBQ,iBAE9B,CACIhD,MAAO,KACP5C,MAAOoF,EAAmBS,oBAE9B,CACIjD,MAAO,KACP5C,MAAOoF,EAAmBU,oBAE9B,CACIlD,MAAO,KACP5C,MAAOoF,EAAmBW,qBAE9B,CACInD,MAAO,KACP5C,MAAOoF,EAAmBY,gBAE9B,CACIpD,MAAO,KACP5C,MAAOoF,EAAmBa,qBAE9B,CACIrD,MAAO,KACP5C,MAAOoF,EAAmBc,YAE9B,CACItD,MAAO,KACP5C,MAAOoF,EAAmBe,sBAE9B,CACIvD,MAAO,KACP5C,MAAOoF,EAAmBgB,oBAE9B,CACIxD,MAAO,KACP5C,MAAOoF,EAAmBiB,oBAE9B,CACIzD,MAAO,QACP5C,MAAOoF,EAAmBkB,oBAE9B,CACI1D,MAAO,MACP5C,MAAOoF,EAAmBmB,mBC3EtBC,GAAZ,SAAYA,GAERA,EAAA,UAAA,WACH,CAHD,CAAYA,IAAAA,EAGX,CAAA,ICAY,MAAAC,EAA6E,CACtF,CACI7D,MAAO,MACP5C,MAAOwG,EAAoBE,YCFtBC,EAA6E,CACtF,CACI/D,MAAO,OACP5C,MAAOX,EAAoBuH,uBAE/B,CACIhE,MAAO,OACP5C,MAAOX,EAAoBwH,uBAE/B,CACIjE,MAAO,OACP5C,MAAOX,EAAoByH,iBAE/B,CACIlE,MAAO,OACP5C,MAAOX,EAAoB0H,2BCftBC,EACX,CACE,CACEpE,MAAO,KACP5C,MAAOV,EAAyB2H,WAElC,CACErE,MAAO,KACP5C,MAAOV,EAAyB4H,OAElC,CACEtE,MAAO,KACP5C,MAAOV,EAAyB6H,QAElC,CACEvE,MAAO,KACP5C,MAAOV,EAAyB8H,cAElC,CACExE,MAAO,KACP5C,MAAOV,EAAyB+H,aAElC,CACEzE,MAAO,KACP5C,MAAOV,EAAyBgI,eCzBzBC,EAA6E,CACtF,CACI3E,MAAO,KACP5C,MAAOJ,EAA6B4H,UAExC,CACI5E,MAAO,OACP5C,MAAOJ,EAA6B6H,oBAExC,CACI7E,MAAO,QACP5C,MAAOJ,EAA6B8H,gBAExC,CACI9E,MAAO,OACP5C,MAAOJ,EAA6B+H,qBAExC,CACI/E,MAAO,OACP5C,MAAOJ,EAA6BgI,WAExC,CACIhF,MAAO,MACP5C,MAAOJ,EAA6B2G,eChB/BsB,EAAyD,CAClE,CAACpF,EAAyB8C,iBAAkB5C,EAC5C,CAACF,EAAyBqF,eAAgBzC,EAC1C,CAAC5C,EAAyBsF,gBAAiBtB,EAC3C,CAAChE,EAAyBuF,gBAAiBrB,EAC3C,CAAClE,EAAyBwF,qBAAsBjB,EAChD,CAACvE,EAAyByF,yBAA0BX,GCR3CY,EACX,CACE,CACEvF,MAAO,OACP5C,MAAOyC,EAAyB8C,iBAElC,CACE3C,MAAO,OACP5C,MAAOyC,EAAyBqF,eAElC,CACElF,MAAO,OACP5C,MAAOyC,EAAyB2F,UAElC,CACExF,MAAO,OACP5C,MAAOyC,EAAyBsF,gBAElC,CACEnF,MAAO,OACP5C,MAAOyC,EAAyB4F,SAElC,CACEzF,MAAO,OACP5C,MAAOyC,EAAyB6F,sBAElC,CACE1F,MAAO,OACP5C,MAAOyC,EAAyB8F,mBAElC,CACE3F,MAAO,OACP5C,MAAOyC,EAAyB+F,qBAElC,CACE5F,MAAO,SACP5C,MAAOyC,EAAyBuF,gBAElC,CACEpF,MAAO,OACP5C,MAAOyC,EAAyBwF,qBAElC,CACErF,MAAO,OACP5C,MAAOyC,EAAyBgG,wBAElC,CACE7F,MAAO,OACP5C,MAAOyC,EAAyBiG,cAElC,CACE9F,MAAO,OACP5C,MAAOyC,EAAyBkG,kBAElC,CACE/F,MAAO,OACP5C,MAAOyC,EAAyBmG,aAElC,CACEhG,MAAO,SACP5C,MAAOyC,EAAyBoG,wBAElC,CACEjG,MAAO,SACP5C,MAAOyC,EAAyBqG,mBAElC,CACElG,MAAO,OACP5C,MAAOyC,EAAyByF,yBAElC,CACEtF,MAAO,QACP5C,MAAOyC,EAAyBsG,qBCnEzBC,EAA0D,CACrE,CAAEjJ,KAAM,OAAQC,MAAOrB,EAAyB6E,yBAChD,CAAEzD,KAAM,SAAUC,MAAOrB,EAAyBsK,iBAClD,CAAElJ,KAAM,SAAUC,MAAOrB,EAAyBuK,2BAClD,CAAEnJ,KAAM,OAAQC,MAAOrB,EAAyBwK,yBAChD,CAAEpJ,KAAM,MAAOC,MAAOrB,EAAyByK,gBCLpCC,EAA8C,CACzD,CAAEtJ,KAAM,KAAMC,MAAOpB,EAAqB0K,QAC1C,CAAEvJ,KAAM,KAAMC,MAAOpB,EAAqB2K,QCF/BC,EAAoD,CAC/D,CAAEzJ,KAAM,KAAMC,MAAOjB,EAAiB0K,SACtC,CAAE1J,KAAM,KAAMC,MAAOjB,EAAiB2K,aACtC,CAAE3J,KAAM,KAAMC,MAAOjB,EAAiB4K,YACtC,CAAE5J,KAAM,KAAMC,MAAOjB,EAAiB6K,gBACtC,CAAE7J,KAAM,KAAMC,MAAOjB,EAAiB8K,gBACtC,CAAE9J,KAAM,MAAOC,MAAOjB,EAAiB+K,WACvC,CAAE/J,KAAM,OAAQC,MAAOjB,EAAiBgL,gBACxC,CAAEhK,KAAM,KAAMC,MAAOjB,EAAiBiL,OACtC,CAAEjK,KAAM,KAAMC,MAAOjB,EAAiBkL,iBACtC,CAAElK,KAAM,KAAMC,MAAOjB,EAAiBmL,iBACtC,CAAEnK,KAAM,KAAMC,MAAOjB,EAAiBoL,SACtC,CAAEpK,KAAM,KAAMC,MAAOjB,EAAiBqL,SACtC,CAAErK,KAAM,MAAOC,MAAOjB,EAAiBsL,WACvC,CAAEtK,KAAM,OAAQC,MAAOjB,EAAiBuL,cCd7BC,EAA4C,CACvD,CAAExK,KAAM,MAAOC,MAAOhB,EAAawL,iBACnC,CAAEzK,KAAM,MAAOC,MAAOhB,EAAayL,mBACnC,CAAE1K,KAAM,QAASC,MAAOhB,EAAa0L,qBCH1BC,EAAwC,CACnD,CAAE5K,KAAM,MAAOC,MAAOf,EAAW2L,cACjC,CAAE7K,KAAM,MAAOC,MAAOf,EAAW4L,kBACjC,CAAE9K,KAAM,MAAOC,MAAOf,EAAW6L,mBACjC,CAAE/K,KAAM,KAAMC,MAAOf,EAAW8L,mBCHtBC,GAAZ,SAAYA,GAEVA,EAAA,mBAAA,oBACD,CAHD,CAAYA,IAAAA,EAGX,CAAA,IAKY,MAAAC,EAAwC,CACnD,CAAElL,KAAM,KAAMC,MAAOd,EAAWgM,SAChC,CAAEnL,KAAM,KAAMC,MAAOd,EAAWiM,MAChC,CAAEpL,KAAM,KAAMC,MAAOd,EAAWkM,SAChC,CAAErL,KAAM,KAAMC,MAAOd,EAAWmM,SAChC,CAAEtL,KAAM,KAAMC,MAAOd,EAAWoM,UAChC,CAAEvL,KAAM,KAAMC,MAAOd,EAAWqM,cAChC,CAAExL,KAAM,KAAMC,MAAOd,EAAWsM,UAChC,CAAEzL,KAAM,KAAMC,MAAOd,EAAWuM,kBAChC,CAAE1L,KAAM,KAAMC,MAAOd,EAAWwM,QAChC,CAAE3L,KAAM,KAAMC,MAAOd,EAAWyM,QAChC,CAAE5L,KAAM,KAAMC,MAAOd,EAAW0M,qBAChC,CAAE7L,KAAM,KAAMC,MAAOd,EAAW2M,kBAChC,CAAE9L,KAAM,MAAOC,MAAOd,EAAW4M,kBACjC,CAAE/L,KAAM,OAAQC,MAAOd,EAAW6M,kBAClC,CAAEhM,KAAM,OAAQC,MAAOd,EAAW8M,gBAOvBC,EAA2D,CACtE,CAACjB,EAASkB,oBAAqB,CAC7BhN,EAAWgM,QACXhM,EAAWiM,KACXjM,EAAWkM,QACXlM,EAAWoM,SACXpM,EAAWqM,aACXrM,EAAWsM,SACXtM,EAAW0M,sBAST,SAAUO,EAA8BC,GAE5C,MAAMC,EAAiBJ,EAAyBG,IAAa,GAG7D,OAA8B,IAA1BC,EAAeC,OACVrB,EAIFA,EAAmBsB,QAAOC,GAC/BH,EAAeI,SAASD,EAAOxM,QAEnC,CAQgB,SAAA0M,EAA4BC,EAAkBP,GAE5D,OADuBH,EAAyBG,IAAa,IACvCK,SAASE,EACjC,CCxEa,MAAAC,GAA8C,CACzD,CAAE7M,KAAM,SAAUC,MAAOb,EAAc0N,cACvC,CAAE9M,KAAM,SAAUC,MAAOb,EAAc2N,kBACvC,CAAE/M,KAAM,SAAUC,MAAOb,EAAc4N,iBACvC,CAAEhN,KAAM,OAAQC,MAAOb,EAAc6N,gBACrC,CAAEjN,KAAM,uBAAwBC,MAAOb,EAAc8N,iBACrD,CAAElN,KAAM,uBAAwBC,MAAOb,EAAc+N,cACrD,CAAEnN,KAAM,0BAA2BC,MAAOb,EAAcgO,sBCX7CC,GAA2D,CACtE,CAAErN,KAAM,KAAMC,MAAOZ,EAAqBiO,SCG/BC,GAA4D,CACvE,CAAEvN,KAAM,SAAUC,MAAOR,EAA0B+N,6BACnD,CAAExN,KAAM,SAAUC,MAAOR,EAA0BgO,6BACnD,CAAEzN,KAAM,SAAUC,MAAOR,EAA0BiO,6BACnD,CAAE1N,KAAM,SAAUC,MAAOR,EAA0BkO,8BCJxCC,GAAkD,CAC7D,CAAE5N,KAAM,MAAOC,MAAOT,EAAoBqO,QAC1C,CAAE7N,KAAM,KAAMC,MAAOT,EAAoBU,OACzC,CAAEF,KAAM,MAAOC,MAAOT,EAAoBsO,kBAC1C,CAAE9N,KAAM,MAAOC,MAAOT,EAAoBuO,oBAC1C,CAAE/N,KAAM,MAAOC,MAAOT,EAAoBwO,eAC1C,CAAEhO,KAAM,MAAOC,MAAOT,EAAoBkB,UAC1C,CAAEV,KAAM,MAAOC,MAAOT,EAAoByO,cAC1C,CAAEjO,KAAM,MAAOC,MAAOT,EAAoBiB,YAC1C,CAAET,KAAM,MAAOC,MAAOT,EAAoBmB,WAC1C,CAAEX,KAAM,MAAOC,MAAOT,EAAoB0O,YAC1C,CAAElO,KAAM,QAASC,MAAOT,EAAoB2O,qBAC5C,CAAEnO,KAAM,OAAQC,MAAOT,EAAoB4O,oBAC3C,CAAEpO,KAAM,OAAQC,MAAOT,EAAoB6O,gBAC3C,CAAErO,KAAM,OAAQC,MAAOT,EAAoB8O,kBCdhCC,GAAwC,CACnD,CAAEvO,KAAM,OAAQC,MAAON,EAAW6O,aAClC,CAAExO,KAAM,SAAUC,MAAON,EAAW8O,aCFzBC,GAAoD,CAC/D,CAAE1O,KAAM,QAASC,MAAOnB,EAAkB6P,iBAC1C,CAAE3O,KAAM,QAASC,MAAOnB,EAAkB8P,eAC1C,CAAE5O,KAAM,MAAOC,MAAOnB,EAAkB+P,kBACxC,CAAE7O,KAAM,QAASC,MAAOnB,EAAkBgQ,8BCjBhCC,GAoEAC,IApEZ,SAAYD,GAIVA,EAAA,GAAA,KACAA,EAAA,GAAA,KACAA,EAAA,IAAA,MACAA,EAAA,IAAA,MACAA,EAAA,IAAA,MACAA,EAAA,IAAA,MACAA,EAAA,IAAA,MACAA,EAAA,KAAA,OACAA,EAAA,IAAA,MACAA,EAAA,IAAA,MACAA,EAAA,IAAA,MACAA,EAAA,IAAA,MACAA,EAAA,IAAA,MACAA,EAAA,IAAA,MACAA,EAAA,IAAA,MACAA,EAAA,IAAA,MACAA,EAAA,IAAA,MACAA,EAAA,IAAA,MACAA,EAAA,IAAA,MACAA,EAAA,IAAA,MACAA,EAAA,IAAA,MACAA,EAAA,KAAA,OACAA,EAAA,KAAA,OACAA,EAAA,MAAA,QACAA,EAAA,KAAA,OAKAA,EAAA,EAAA,IACAA,EAAA,GAAA,KACAA,EAAA,KAAA,OACAA,EAAA,GAAA,KACAA,EAAA,IAAA,MAKAA,EAAA,GAAA,KACAA,EAAA,IAAA,MACAA,EAAA,IAAA,MAKAA,EAAA,GAAA,KACAA,EAAA,EAAA,IACAA,EAAA,GAAA,KAKAA,EAAA,GAAA,KACAA,EAAA,IAAA,MAKAA,EAAA,SAAA,UACD,CA/DD,CAAYA,KAAAA,GA+DX,CAAA,IAKD,SAAYC,GAIVA,EAAA,GAAA,IACAA,EAAA,GAAA,IACAA,EAAA,IAAA,IACAA,EAAA,IAAA,IACAA,EAAA,IAAA,IACAA,EAAA,IAAA,IACAA,EAAA,IAAA,IACAA,EAAA,KAAA,IACAA,EAAA,IAAA,IACAA,EAAA,IAAA,IACAA,EAAA,IAAA,IACAA,EAAA,IAAA,IACAA,EAAA,IAAA,IACAA,EAAA,IAAA,IACAA,EAAA,IAAA,IACAA,EAAA,IAAA,IACAA,EAAA,IAAA,IACAA,EAAA,IAAA,IACAA,EAAA,IAAA,KACAA,EAAA,IAAA,IACAA,EAAA,IAAA,IACAA,EAAA,KAAA,IACAA,EAAA,KAAA,IACAA,EAAA,MAAA,IACAA,EAAA,KAAA,IAKAA,EAAA,EAAA,IACAA,EAAA,GAAA,KACAA,EAAA,KAAA,OACAA,EAAA,GAAA,KACAA,EAAA,IAAA,KAKAA,EAAA,GAAA,KACAA,EAAA,IAAA,OACAA,EAAA,IAAA,OAKAA,EAAA,GAAA,MACAA,EAAA,EAAA,KACAA,EAAA,GAAA,KAKAA,EAAA,GAAA,KACAA,EAAA,IAAA,IAKAA,EAAA,SAAA,KACD,CA/DD,CAAYA,KAAAA,GA+DX,CAAA,ICjIY,MAAAC,GAAuB,CAIlC,CAAEC,KAAMH,GAAmBI,GAAInP,KAAM,IAAKoP,QAAS,SACnD,CAAEF,KAAMH,GAAmBM,GAAIrP,KAAM,IAAKoP,QAAS,QACnD,CAAEF,KAAMH,GAAmBO,IAAKtP,KAAM,IAAKoP,QAAS,OACpD,CAAEF,KAAMH,GAAmBQ,IAAKvP,KAAM,IAAKoP,QAAS,OACpD,CAAEF,KAAMH,GAAmBS,IAAKxP,KAAM,IAAKoP,QAAS,OACpD,CAAEF,KAAMH,GAAmBU,IAAKzP,KAAM,IAAKoP,QAAS,UACpD,CAAEF,KAAMH,GAAmBW,IAAK1P,KAAM,IAAKoP,QAAS,UACpD,CAAEF,KAAMH,GAAmBY,KAAM3P,KAAM,IAAKoP,QAAS,QACrD,CAAEF,KAAMH,GAAmBa,IAAK5P,KAAM,IAAKoP,QAAS,OACpD,CAAEF,KAAMH,GAAmBc,IAAK7P,KAAM,IAAKoP,QAAS,OACpD,CAAEF,KAAMH,GAAmBe,IAAK9P,KAAM,IAAKoP,QAAS,UACpD,CAAEF,KAAMH,GAAmBgB,IAAK/P,KAAM,IAAKoP,QAAS,WACpD,CAAEF,KAAMH,GAAmBiB,IAAKhQ,KAAM,IAAKoP,QAAS,SACpD,CAAEF,KAAMH,GAAmBkB,IAAKjQ,KAAM,IAAKoP,QAAS,OACpD,CAAEF,KAAMH,GAAmBmB,IAAKlQ,KAAM,IAAKoP,QAAS,OACpD,CAAEF,KAAMH,GAAmBoB,IAAKnQ,KAAM,IAAKoP,QAAS,SACpD,CAAEF,KAAMH,GAAmBqB,IAAKpQ,KAAM,IAAKoP,QAAS,SACpD,CAAEF,KAAMH,GAAmBsB,IAAKrQ,KAAM,IAAKoP,QAAS,SACpD,CAAEF,KAAMH,GAAmBuB,IAAKtQ,KAAM,KAAMoP,QAAS,UACrD,CAAEF,KAAMH,GAAmBwB,IAAKvQ,KAAM,IAAKoP,QAAS,OACpD,CAAEF,KAAMH,GAAmByB,IAAKxQ,KAAM,IAAKoP,QAAS,OACpD,CAAEF,KAAMH,GAAmB0B,KAAMzQ,KAAM,IAAKoP,QAAS,QACrD,CAAEF,KAAMH,GAAmB2B,KAAM1Q,KAAM,IAAKoP,QAAS,QACrD,CAAEF,KAAMH,GAAmB4B,MAAO3Q,KAAM,IAAKoP,QAAS,SACtD,CAAEF,KAAMH,GAAmB6B,KAAM5Q,KAAM,IAAKoP,QAAS,QAKrD,CAAEF,KAAMH,GAAmB8B,EAAG7Q,KAAM,IAAKoP,QAAS,SAClD,CAAEF,KAAMH,GAAmB+B,GAAI9Q,KAAM,KAAMoP,QAAS,eACpD,CAAEF,KAAMH,GAAmBgC,KAAM/Q,KAAM,OAAQoP,QAAS,OACxD,CAAEF,KAAMH,GAAmBiC,GAAIhR,KAAM,KAAMoP,QAAS,cACpD,CAAEF,KAAMH,GAAmBkC,IAAKjR,KAAM,KAAMoP,QAAS,QAKrD,CAAEF,KAAMH,GAAmBmC,GAAIlR,KAAM,KAAMoP,QAAS,eACpD,CACEF,KAAMH,GAAmBoC,IACzBnR,KAAM,OACNoP,QAAS,yBAEX,CACEF,KAAMH,GAAmBqC,IACzBpR,KAAM,OACNoP,QAAS,qBAMX,CAAEF,KAAMH,GAAmBsC,GAAIrR,KAAM,MAAOoP,QAAS,cACrD,CAAEF,KAAMH,GAAmBuC,EAAGtR,KAAM,KAAMoP,QAAS,SACnD,CAAEF,KAAMH,GAAmBwC,GAAIvR,KAAM,KAAMoP,QAAS,cAKpD,CAAEF,KAAMH,GAAmByC,GAAIxR,KAAM,KAAMoP,QAAS,YACpD,CAAEF,KAAMH,GAAmB0C,IAAKzR,KAAM,IAAKoP,QAAS,OAKpD,CAAEF,KAAMH,GAAmB2C,SAAU1R,KAAM,MAAOoP,QAAS,aAMhDuC,GAA+B1C,GAAqB2C,KAC9DC,IAAU,CACT5R,MAAO4R,EAAK3C,KACZrM,MAAOgP,EAAK7R,KACZoP,QAASyC,EAAKzC,YAOL0C,GAA+B5C,GACnCD,GAAqB8C,MAAMF,GAASA,EAAK3C,OAASA,IAM9C8C,GAA+BhS,GACnCiP,GAAqB8C,MAAMF,GAASA,EAAK7R,OAASA,IC/F9CiS,GAAyB,CAAA,ECAzBC,GAA0B,CAAA,ECKjCC,GAAgB,CAAClS,EAAemS,EAPd,KAQtB,QAAsBC,IAAlBD,EAA6B,CAE/B,MAAME,EAASC,KAAKC,IAAI,EAAGD,KAAKE,MAAML,IAChCM,EAASH,KAAKI,IAAI,GAAIL,GAC5B,OAAOC,KAAKK,MAAM3S,EAAQyS,GAAUA,CACrC,CACD,OAAOzS,CAAK,EASD4S,GAAoB,CAC/BhB,EACAO,EAzBsB,KA4BtB,GAAIP,EAAKiB,UAAYjB,EAAKiB,SAASvG,OAAS,EAAG,CAE7C,IAAIwG,EAAqB,EAOzB,OALAlB,EAAKiB,SAASE,SAASC,IAErBF,GAAsBG,GAAgBD,EAAWb,EAAc,IAG1DD,GAAcY,EAAqBlB,EAAKsB,MAAOf,EACvD,CAED,MAAMgB,EAAUvB,EAAKuB,QACfD,EAAQtB,EAAKsB,MACbE,EAAYxB,EAAKwB,UAELxB,EAAKyB,WAClBnU,EAAmB0S,EAAKyB,WAI7B,MAAMC,EAAchB,KAAKC,IAAI,EAAGY,GAAW,GACrCI,EAAYjB,KAAKC,IAAI,EAAGW,GAAS,GACjCM,EAAYlB,KAAKC,IAAI,EAAGa,GAAa,GAGrCK,EAAkBnB,KAAKC,IAAI,EAAGX,EAAK8B,oBAAsB,GAmC/D,OAAOxB,GAhCMoB,EAAcC,EAAYC,EAAYC,EAgCtBtB,EAAc,EAahCc,GAAkB,CAC7BrB,EACAO,EAxGsB,KA2GtB,GAAIP,EAAKiB,UAAYjB,EAAKiB,SAASvG,OAAS,EAAG,CAE7C,IAAIwG,EAAqB,EAOzB,OALAlB,EAAKiB,SAASE,SAAQC,IAEpBF,GAAsBG,GAAgBD,EAAWb,EAAc,IAG1DD,GAAcN,EAAKsB,MAAQJ,EAAoBX,EACvD,CAGD,MAAMwB,EAAgB/B,EAAKyB,UACtBnU,EAAmB0S,EAAKyB,gBACzBjB,EAGJ,GACEuB,IAAkBzU,EAAWgM,SAC7ByI,IAAkBzU,EAAWiM,KAE7B,OAAO,EAIT,MAAMyI,EAAiBhB,GAAkBhB,EAAMO,GAM/C,IAAI0B,EAASD,GAHQtB,KAAKC,IAAI,EAAGX,EAAKkC,cAAgB,KAAO,KAU7D,OAJIF,EAAiB,IACnBC,GAAUvB,KAAKyB,IAAIF,IAGd3B,GAAc2B,EAAQ1B,EAAc,EAWhC6B,GAAoB,CAC/BpC,EACAO,EA/JsB,KAkKtB,IAAKP,EAAKiB,UAAqC,IAAzBjB,EAAKiB,SAASvG,OAAc,CAChD,MAAM8G,EAAYxB,EAAKwB,WAAa,EACpC,OAAOlB,GAAckB,EAAWjB,EACjC,CAGD,IAAIW,EAAqB,EACzBlB,EAAKiB,SAASE,SAASC,IAErBF,GAAsBG,GAAgBD,EAAWb,EAAc,IAIjE,MAAMmB,EAAc1B,EAAKuB,SAAW,EACpC,GAAIG,GAAe,EAKjB,OAJAW,QAAQC,KAAK,yCAA0C,CACrDC,OAAQvC,EAAKwC,KACbjB,QAASvB,EAAKuB,UAETjB,GAAcY,EAAoBX,GAI3C,OAAOD,GADQY,EAAqBQ,EACPnB,EAAc,EAShCkC,GAAgB,CAACzC,EAAqBO,EAlM3B,KAmMtB,MAAMmC,EAAWhC,KAAKC,IAAI,EAAGX,EAAK2C,SAAW,GAAK,IAC5CC,EAAcvB,GAAgBrB,EAAMO,GAC1C,OAAOD,GAAcsC,EAAcF,EAAUnC,EAAc,EAShDsC,GAAsB,CAAC7C,EAAqBO,EA9MjC,KA+MtB,MAAMmC,EAAWhC,KAAKC,IAAI,EAAGX,EAAK8C,mBAAqB,GAAK,IACtDF,EAAcvB,GAAgBrB,EAAMO,GAC1C,OAAOD,GAAcsC,EAAcF,EAAUnC,EAAc,EAWhDwC,GAAkB,CAAC/C,EAAqBgD,EAAwBC,EAAkC1C,EA5NvF,KA6NtB,MAAM2C,EAAYF,EAAgBP,GAAczC,EAAMO,GAAiB,EACjE4C,EAAgBF,EAA0BJ,GAAoB7C,EAAMO,GAAiB,EACrFqC,EAAcvB,GAAgBrB,EAAMO,GAC1C,OAAOD,GAAcsC,EAAcM,EAAYC,EAAe5C,EAAc,WC5N9D6C,KAEd,MAAO,uCAAuCC,QAAQ,SAAUC,IAC9D,MAAMC,EAAqB,GAAhB7C,KAAK8C,SAAiB,EAEjC,OADgB,MAANF,EAAYC,EAAS,EAAJA,EAAW,GAC7BE,SAAS,GAAG,GAEzB,CAOgB,SAAAC,GAAiBhJ,EAAS,IACxC,MAAMiJ,EAAQ,mEACd,IAAI1B,EAAS,GACb,IAAK,IAAI2B,EAAI,EAAGA,EAAIlJ,EAAQkJ,IAAK,CAE/B3B,GAAU0B,EADUjD,KAAKE,MAAsB+C,GAAhBjD,KAAK8C,UAErC,CACD,OAAOvB,CACT,CAqBM,SAAU4B,GAAuBzV,GAErC,GAAIA,SAAmD,KAAVA,EAC3C,MAAO,IAIT,MAAM0V,EAAW1V,EAAMqV,WAAWM,OAG5BC,EAASC,WAAWH,GAC1B,GAAII,MAAMF,GACR,MAAO,IAIT,MAAMG,EAAQL,EAASM,MAAM,KACvBC,EAAcF,EAAM,GACpBG,EAAcH,EAAM,GAIpBI,EAAmBF,EAAYhB,QAAQ,wBAAyB,KAGtE,YAAuB7C,IAAhB8D,EAA4B,GAAGC,KAAoBD,IAAgBC,CAC5E,CAmCM,SAAUC,GACdpW,EACAqW,EACAC,EAAqB,QACrBC,GAAkC,GAElC,IAAKC,MAAMC,QAAQJ,GACjB,OAIF,IAAIK,GAAS,EACTC,EAAQ,QAUZ,MAR6B,kBAAlBJ,GACTG,EAASH,EACTI,EAAQL,GAC0B,iBAAlBC,IAChBI,EAAQJ,EACRG,EAA+B,kBAAfJ,GAA2BA,GAGtCD,EAAQvE,MAAKtF,MACbA,GAA4B,iBAAXA,KAKhBmK,KAASnK,IAKRkK,EAASlK,EAAOmK,KAAW3W,EAAQwM,EAAOmK,IAAU3W,KAE/D,CAQM,SAAU4W,GAAiBC,SAC/B,GAAwB,iBAAbA,EAAuB,MAAO,GACzC,MAAMd,EAAQc,EAASb,MAAM,KAC7B,OAAOD,EAAMzJ,OAAS,IAAiB,QAAbwK,EAAAf,EAAMgB,aAAO,IAAAD,OAAA,EAAAA,EAAAE,gBAAsB,EAC/D,CAOM,SAAUC,GAAoBC,GAClC,IAAKA,EAAO,OAAOA,EAGnB,MAAMC,EAASD,EAAMjC,QAAQ,SAAU,IAGvC,MAAI,gBAAgBmC,KAAKD,GAChB,GAAGA,EAAOE,MAAM,EAAG,MAAMF,EAAOE,MAAM,EAAG,MAAMF,EAAOE,MAAM,KAI9DH,CACT,CAUM,SAAUhF,GAAclS,EAAYsX,EAAW,EAAGC,GAAc,GACpE,MAAMC,EAAM3B,WAAW7V,GAGvB,OAAI8V,MAAM0B,IAA4B,iBAAbF,GAAyBA,EAAW,EACpDG,QAAO,GAAIC,QAAQJ,IAEvBC,EACEE,OAAOD,EAAIE,QAAQJ,IADDE,EAAIE,QAAQJ,EAEvC,CAUM,SAAUK,GAAmB3X,EAAY4X,EAAyCL,GAAc,GACpG,IAAIM,EAAQ,EACZ,OAAQD,GACN,KAAKpY,EAA0B+N,4BAC7BsK,EAAQ,EACR,MACF,KAAKrY,EAA0BgO,4BAC7BqK,EAAQ,EACR,MACF,KAAKrY,EAA0BiO,4BAC7BoK,EAAQ,EACR,MACF,KAAKrY,EAA0BkO,4BAC7BmK,EAAQ,EACR,MACF,KAAKrY,EAA0BsY,8BAC7BD,EAAQ,EAGZ,OAAO3F,GAAclS,EAAO6X,EAAON,EACrC,6MCzNA,MAAMQ,GAAsD,CAC1DC,UAAa,CACXjY,KAAQ,KACRkP,KAAQ,aAEVgJ,OAAU,CACRlY,KAAQ,KACRkP,KAAQ,UAEViJ,mBAAsB,CACpBnY,KAAQ,MACRkP,KAAQ,sBAEVkJ,UAAa,CACXpY,KAAQ,KACRkP,KAAQ,aAEVmJ,KAAQ,CACNrY,KAAQ,KACRkP,KAAQ,QAEVoJ,MAAS,CACPtY,KAAQ,KACRkP,KAAQ,SAEVqJ,SAAY,CACVvY,KAAQ,MACRkP,KAAQ,YAEVsJ,SAAY,CACVxY,KAAQ,KACRkP,KAAQ,YAEVuJ,MAAS,CACPzY,KAAQ,QACRkP,KAAQ,SAEVwJ,IAAO,CACL1Y,KAAQ,KACRkP,KAAQ,MACR4D,SAAY,CACV6F,kBAAqB,CACnB3Y,KAAQ,OACRkP,KAAQ,oBACR0J,UAAa,OAEfC,WAAc,CACZ7Y,KAAQ,KACRkP,KAAQ,aACR0J,UAAa,OAEfE,aAAgB,CACd9Y,KAAQ,KACRkP,KAAQ,eACR0J,UAAa,SAInBG,aAAgB,CACd/Y,KAAQ,OACRkP,KAAQ,gBAEV8J,kBAAqB,CACnBhZ,KAAQ,MACRkP,KAAQ,qBAEV+J,WAAc,CACZjZ,KAAQ,MACRkP,KAAQ,cAEVgK,qBAAwB,CACtBlZ,KAAQ,MACRkP,KAAQ,wBAEViK,YAAe,CACbnZ,KAAQ,MACRkP,KAAQ,eAEVkK,gBAAmB,CACjBpZ,KAAQ,MACRkP,KAAQ,mBAEVmK,OAAU,CACRrZ,KAAQ,KACRkP,KAAQ,UAEVoK,KAAQ,CACNtZ,KAAQ,OACRkP,KAAQ,QAEVqK,eAAkB,CAChBvZ,KAAQ,KACRkP,KAAQ,kBAEVsK,iBAAoB,CAClBxZ,KAAQ,OACRkP,KAAQ,mBACR4D,SAAY,CACV2G,aAAgB,CACdzZ,KAAQ,KACRkP,KAAQ,eACR0J,UAAa,oBAEfc,KAAQ,CACN1Z,KAAQ,KACRkP,KAAQ,OACR0J,UAAa,oBAEfe,kBAAqB,CACnB3Z,KAAQ,MACRkP,KAAQ,oBACR0J,UAAa,oBAEfgB,YAAe,CACb5Z,KAAQ,KACRkP,KAAQ,cACR0J,UAAa,oBAEfiB,iBAAoB,CAClB7Z,KAAQ,MACRkP,KAAQ,mBACR0J,UAAa,sBAInBkB,kBAAqB,CACnB9Z,KAAQ,OACRkP,KAAQ,qBAEV6K,OAAU,CACR/Z,KAAQ,SACRkP,KAAQ,UAEV8K,WAAc,CACZha,KAAQ,KACRkP,KAAQ,cAEV+K,UAAa,CACXja,KAAQ,KACRkP,KAAQ,aAEVgL,mBAAsB,CACpBla,KAAQ,OACRkP,KAAQ,sBAEViL,eAAkB,CAChBna,KAAQ,MACRkP,KAAQ,kBAEVkL,UAAa,CACXpa,KAAQ,KACRkP,KAAQ,aAEVmL,OAAU,CACRra,KAAQ,KACRkP,KAAQ,UAEVoL,YAAe,CACbta,KAAQ,MACRkP,KAAQ,eAEVqL,MAAS,CACPva,KAAQ,KACRkP,KAAQ,SAEVsL,MAAS,CACPxa,KAAQ,KACRkP,KAAQ,SAEVuL,YAAe,CACbza,KAAQ,KACRkP,KAAQ,eAEVwL,QAAW,CACT1a,KAAQ,OACRkP,KAAQ,WAEVyL,SAAY,CACV3a,KAAQ,KACRkP,KAAQ,YAEV0L,kBAAqB,CACnB5a,KAAQ,KACRkP,KAAQ,qBAEV2L,aAAgB,CACd7a,KAAQ,KACRkP,KAAQ,gBAEV4L,iBAAoB,CAClB9a,KAAQ,OACRkP,KAAQ,oBAEV6L,YAAe,CACb/a,KAAQ,MACRkP,KAAQ,eAEV8L,cAAiB,CACfhb,KAAQ,OACRkP,KAAQ,iBAEV+L,gBAAmB,CACjBjb,KAAQ,OACRkP,KAAQ,mBAEVgM,aAAgB,CACdlb,KAAQ,KACRkP,KAAQ,gBAEViM,eAAkB,CAChBnb,KAAQ,MACRkP,KAAQ,kBAEVkM,gBAAmB,CACjBpb,KAAQ,KACRkP,KAAQ,mBAEVmM,WAAc,CACZrb,KAAQ,MACRkP,KAAQ,cAEVoM,WAAc,CACZtb,KAAQ,MACRkP,KAAQ,cAEVqM,iBAAoB,CAClBvb,KAAQ,OACRkP,KAAQ,oBAEVsM,KAAQ,CACNxb,KAAQ,KACRkP,KAAQ,QAEVuM,gBAAmB,CACjBzb,KAAQ,OACRkP,KAAQ,mBAEVwM,WAAc,CACZ1b,KAAQ,KACRkP,KAAQ,cAEVyM,MAAS,CACP3b,KAAQ,KACRkP,KAAQ,SAEV0M,OAAU,CACR5b,KAAQ,KACRkP,KAAQ,SACR4D,SAAY,CACV+I,8BAAiC,CAC/B7b,KAAQ,UACRkP,KAAQ,gCACR0J,UAAa,UAEfkD,YAAe,CACb9b,KAAQ,OACRkP,KAAQ,cACR0J,UAAa,YAInBmD,QAAW,CACT/b,KAAQ,KACRkP,KAAQ,UACR4D,SAAY,CACVkJ,kBAAqB,CACnBhc,KAAQ,OACRkP,KAAQ,oBACR0J,UAAa,WAEfqD,cAAiB,CACfjc,KAAQ,OACRkP,KAAQ,gBACR0J,UAAa,WAEfsD,mBAAsB,CACpBlc,KAAQ,KACRkP,KAAQ,qBACR0J,UAAa,WAEfuD,sBAAyB,CACvBnc,KAAQ,OACRkP,KAAQ,wBACR0J,UAAa,aAInBwD,IAAO,CACLpc,KAAQ,MACRkP,KAAQ,OAEVmN,wBAA2B,CACzBrc,KAAQ,KACRkP,KAAQ,0BACR4D,SAAY,CACVwJ,WAAc,CACZtc,KAAQ,MACRkP,KAAQ,aACR0J,UAAa,2BAEf2D,WAAc,CACZvc,KAAQ,MACRkP,KAAQ,aACR0J,UAAa,2BAEf4D,SAAY,CACVxc,KAAQ,MACRkP,KAAQ,WACR0J,UAAa,2BAEf6D,MAAS,CACPzc,KAAQ,IACRkP,KAAQ,QACR0J,UAAa,2BAEf8D,SAAY,CACV1c,KAAQ,MACRkP,KAAQ,WACR0J,UAAa,2BAEf+D,eAAkB,CAChB3c,KAAQ,MACRkP,KAAQ,iBACR0J,UAAa,2BAEfgE,MAAS,CACP5c,KAAQ,MACRkP,KAAQ,QACR0J,UAAa,2BAEfiE,OAAU,CACR7c,KAAQ,MACRkP,KAAQ,SACR0J,UAAa,2BAEfkE,qBAAwB,CACtB9c,KAAQ,MACRkP,KAAQ,uBACR0J,UAAa,2BAEfmE,gBAAmB,CACjB/c,KAAQ,MACRkP,KAAQ,kBACR0J,UAAa,2BAEfoE,oBAAuB,CACrBhd,KAAQ,OACRkP,KAAQ,sBACR0J,UAAa,2BAEfqE,eAAkB,CAChBjd,KAAQ,MACRkP,KAAQ,iBACR0J,UAAa,2BAEfsE,cAAiB,CACfld,KAAQ,KACRkP,KAAQ,gBACR0J,UAAa,2BAEfuE,UAAa,CACXnd,KAAQ,OACRkP,KAAQ,YACR0J,UAAa,2BAEfwE,gBAAmB,CACjBpd,KAAQ,QACRkP,KAAQ,kBACR0J,UAAa,2BAEfyE,aAAgB,CACdrd,KAAQ,MACRkP,KAAQ,eACR0J,UAAa,2BAEf0E,eAAkB,CAChBtd,KAAQ,MACRkP,KAAQ,iBACR0J,UAAa,2BAEf2E,YAAe,CACbvd,KAAQ,MACRkP,KAAQ,cACR0J,UAAa,2BAEf4E,kCAAqC,CACnCxd,KAAQ,OACRkP,KAAQ,oCACR0J,UAAa,2BAEf6E,cAAiB,CACfzd,KAAQ,MACRkP,KAAQ,gBACR0J,UAAa,2BAEf8E,UAAa,CACX1d,KAAQ,MACRkP,KAAQ,YACR0J,UAAa,2BAEf+E,iBAAoB,CAClB3d,KAAQ,MACRkP,KAAQ,mBACR0J,UAAa,2BAEfgF,SAAY,CACV5d,KAAQ,OACRkP,KAAQ,WACR0J,UAAa,2BAEfiF,mBAAsB,CACpB7d,KAAQ,KACRkP,KAAQ,qBACR0J,UAAa,6BAInBkF,SAAY,CACV9d,KAAQ,KACRkP,KAAQ,YAEV6O,aAAgB,CACd/d,KAAQ,MACRkP,KAAQ,gBAEV8O,eAAkB,CAChBhe,KAAQ,OACRkP,KAAQ,kBAEV+O,YAAe,CACbje,KAAQ,MACRkP,KAAQ,eAEVgP,MAAS,CACPle,KAAQ,IACRkP,KAAQ,SAEViP,MAAS,CACPne,KAAQ,QACRkP,KAAQ,SAEVkP,KAAQ,CACNpe,KAAQ,KACRkP,KAAQ,OACR4D,SAAY,CACVuL,eAAkB,CAChBre,KAAQ,QACRkP,KAAQ,iBACR0J,UAAa,QAEf0F,aAAgB,CACdte,KAAQ,OACRkP,KAAQ,eACR0J,UAAa,QAEf2F,cAAiB,CACfve,KAAQ,UACRkP,KAAQ,gBACR0J,UAAa,QAEf4F,SAAY,CACVxe,KAAQ,OACRkP,KAAQ,WACR0J,UAAa,UAInB6F,cAAiB,CACfze,KAAQ,KACRkP,KAAQ,iBAEVwP,YAAe,CACb1e,KAAQ,MACRkP,KAAQ,eAEVyP,MAAS,CACP3e,KAAQ,KACRkP,KAAQ,SAEV0P,cAAiB,CACf5e,KAAQ,KACRkP,KAAQ,gBACR4D,SAAY,CACV+L,mBAAsB,CACpB7e,KAAQ,QACRkP,KAAQ,qBACR0J,UAAa,iBAEfkG,aAAgB,CACd9e,KAAQ,KACRkP,KAAQ,eACR0J,UAAa,iBAEfmG,gBAAmB,CACjB/e,KAAQ,OACRkP,KAAQ,kBACR0J,UAAa,iBAEfoG,UAAa,CACXhf,KAAQ,KACRkP,KAAQ,YACR0J,UAAa,iBAEfqG,aAAgB,CACdjf,KAAQ,QACRkP,KAAQ,eACR0J,UAAa,iBAEfsG,SAAY,CACVlf,KAAQ,KACRkP,KAAQ,WACR0J,UAAa,iBAEfuG,cAAiB,CACfnf,KAAQ,KACRkP,KAAQ,gBACR0J,UAAa,iBAEfwG,UAAa,CACXpf,KAAQ,KACRkP,KAAQ,YACR0J,UAAa,iBAEfyG,SAAY,CACVrf,KAAQ,MACRkP,KAAQ,WACR0J,UAAa,iBAEf0G,SAAY,CACVtf,KAAQ,KACRkP,KAAQ,WACR0J,UAAa,iBAEf2G,iBAAoB,CAClBvf,KAAQ,MACRkP,KAAQ,mBACR0J,UAAa,iBAEf4G,aAAgB,CACdxf,KAAQ,KACRkP,KAAQ,eACR0J,UAAa,iBAEf6G,kBAAqB,CACnBzf,KAAQ,MACRkP,KAAQ,oBACR0J,UAAa,iBAEf8G,eAAkB,CAChB1f,KAAQ,MACRkP,KAAQ,iBACR0J,UAAa,iBAEf+G,iBAAoB,CAClB3f,KAAQ,KACRkP,KAAQ,mBACR0J,UAAa,iBAEfgH,oBAAuB,CACrB5f,KAAQ,MACRkP,KAAQ,sBACR0J,UAAa,iBAEfiH,mBAAsB,CACpB7f,KAAQ,MACRkP,KAAQ,qBACR0J,UAAa,iBAEfkH,gBAAmB,CACjB9f,KAAQ,MACRkP,KAAQ,kBACR0J,UAAa,iBAEfmH,gBAAmB,CACjB/f,KAAQ,MACRkP,KAAQ,kBACR0J,UAAa,iBAEfoH,mBAAsB,CACpBhgB,KAAQ,MACRkP,KAAQ,qBACR0J,UAAa,iBAEfqH,iBAAoB,CAClBjgB,KAAQ,MACRkP,KAAQ,mBACR0J,UAAa,iBAEfsH,gBAAmB,CACjBlgB,KAAQ,MACRkP,KAAQ,kBACR0J,UAAa,iBAEfuH,MAAS,CACPngB,KAAQ,MACRkP,KAAQ,QACR0J,UAAa,iBAEfwH,iBAAoB,CAClBpgB,KAAQ,MACRkP,KAAQ,mBACR0J,UAAa,iBAEfyH,aAAgB,CACdrgB,KAAQ,KACRkP,KAAQ,eACR0J,UAAa,iBAEf0H,aAAgB,CACdtgB,KAAQ,OACRkP,KAAQ,eACR0J,UAAa,iBAEf2H,SAAY,CACVvgB,KAAQ,KACRkP,KAAQ,WACR0J,UAAa,iBAEf4H,UAAa,CACXxgB,KAAQ,KACRkP,KAAQ,YACR0J,UAAa,iBAEf6H,WAAc,CACZzgB,KAAQ,MACRkP,KAAQ,aACR0J,UAAa,iBAEf8H,sBAAyB,CACvB1gB,KAAQ,OACRkP,KAAQ,wBACR0J,UAAa,iBAEf+H,aAAgB,CACd3gB,KAAQ,KACRkP,KAAQ,eACR0J,UAAa,iBAEfgI,QAAW,CACT5gB,KAAQ,MACRkP,KAAQ,UACR0J,UAAa,iBAEfiI,gBAAmB,CACjB7gB,KAAQ,MACRkP,KAAQ,kBACR0J,UAAa,iBAEfkI,YAAe,CACb9gB,KAAQ,KACRkP,KAAQ,cACR0J,UAAa,iBAEfmI,MAAS,CACP/gB,KAAQ,KACRkP,KAAQ,QACR0J,UAAa,gBACb9F,SAAY,CACVkO,UAAa,CACXhhB,KAAQ,MACRkP,KAAQ,YACR0J,UAAa,SAEfqI,WAAc,CACZjhB,KAAQ,KACRkP,KAAQ,aACR0J,UAAa,SAEfsI,WAAc,CACZlhB,KAAQ,KACRkP,KAAQ,aACR0J,UAAa,SAEfuI,uBAA0B,CACxBnhB,KAAQ,MACRkP,KAAQ,yBACR0J,UAAa,SAEfwI,UAAa,CACXphB,KAAQ,KACRkP,KAAQ,YACR0J,UAAa,SAEfyI,qBAAwB,CACtBrhB,KAAQ,MACRkP,KAAQ,uBACR0J,UAAa,SAEf0I,iBAAoB,CAClBthB,KAAQ,MACRkP,KAAQ,mBACR0J,UAAa,SAEf2I,aAAgB,CACdvhB,KAAQ,KACRkP,KAAQ,eACR0J,UAAa,SAEf4I,YAAe,CACbxhB,KAAQ,KACRkP,KAAQ,cACR0J,UAAa,SAEf6I,gBAAmB,CACjBzhB,KAAQ,MACRkP,KAAQ,kBACR0J,UAAa,SAEf8I,gBAAmB,CACjB1hB,KAAQ,MACRkP,KAAQ,kBACR0J,UAAa,SAEf+I,mBAAsB,CACpB3hB,KAAQ,MACRkP,KAAQ,qBACR0J,UAAa,WAInBgJ,oBAAuB,CACrB5hB,KAAQ,KACRkP,KAAQ,sBACR0J,UAAa,iBAEfiJ,mBAAsB,CACpB7hB,KAAQ,MACRkP,KAAQ,qBACR0J,UAAa,iBAEfkJ,SAAY,CACV9hB,KAAQ,KACRkP,KAAQ,WACR0J,UAAa,iBAEfmJ,QAAW,CACT/hB,KAAQ,KACRkP,KAAQ,UACR0J,UAAa,iBAEfoJ,gBAAmB,CACjBhiB,KAAQ,KACRkP,KAAQ,kBACR0J,UAAa,iBAEfqJ,8BAAiC,CAC/BjiB,KAAQ,QACRkP,KAAQ,gCACR0J,UAAa,iBAEfsJ,uBAA0B,CACxBliB,KAAQ,OACRkP,KAAQ,yBACR0J,UAAa,iBAEfuJ,eAAkB,CAChBniB,KAAQ,KACRkP,KAAQ,iBACR0J,UAAa,iBAEfwJ,gBAAmB,CACjBpiB,KAAQ,OACRkP,KAAQ,kBACR0J,UAAa,iBAEfyJ,gBAAmB,CACjBriB,KAAQ,MACRkP,KAAQ,kBACR0J,UAAa,iBAEf0J,oBAAuB,CACrBtiB,KAAQ,MACRkP,KAAQ,sBACR0J,UAAa,iBAEf2J,cAAiB,CACfviB,KAAQ,KACRkP,KAAQ,gBACR0J,UAAa,iBAEf4J,YAAe,CACbxiB,KAAQ,MACRkP,KAAQ,cACR0J,UAAa,iBAEf6J,UAAa,CACXziB,KAAQ,MACRkP,KAAQ,YACR0J,UAAa,iBAEf8J,iBAAoB,CAClB1iB,KAAQ,MACRkP,KAAQ,mBACR0J,UAAa,iBAEf+J,YAAe,CACb3iB,KAAQ,OACRkP,KAAQ,cACR0J,UAAa,iBAEfgK,aAAgB,CACd5iB,KAAQ,KACRkP,KAAQ,eACR0J,UAAa,iBAEfiK,UAAa,CACX7iB,KAAQ,MACRkP,KAAQ,YACR0J,UAAa,iBAEfkK,mBAAsB,CACpB9iB,KAAQ,MACRkP,KAAQ,qBACR0J,UAAa,iBAEfmK,aAAgB,CACd/iB,KAAQ,MACRkP,KAAQ,eACR0J,UAAa,mBAInBoK,aAAgB,CACdhjB,KAAQ,KACRkP,KAAQ,gBAEV+T,UAAa,CACXjjB,KAAQ,KACRkP,KAAQ,aAEVgU,UAAa,CACXljB,KAAQ,KACRkP,KAAQ,aAEViU,IAAO,CACLnjB,KAAQ,KACRkP,KAAQ,MACR4D,SAAY,CACVsQ,oBAAuB,CACrBpjB,KAAQ,QACRkP,KAAQ,sBACR0J,UAAa,OAEfyK,wBAA2B,CACzBrjB,KAAQ,OACRkP,KAAQ,0BACR0J,UAAa,OAEf0K,aAAgB,CACdtjB,KAAQ,SACRkP,KAAQ,eACR0J,UAAa,OAEf2K,cAAiB,CACfvjB,KAAQ,MACRkP,KAAQ,gBACR0J,UAAa,OAEf4K,eAAkB,CAChBxjB,KAAQ,OACRkP,KAAQ,iBACR0J,UAAa,OAEf6K,SAAY,CACVzjB,KAAQ,MACRkP,KAAQ,WACR0J,UAAa,OAEf8K,aAAgB,CACd1jB,KAAQ,KACRkP,KAAQ,eACR0J,UAAa,OAEf+K,eAAkB,CAChB3jB,KAAQ,QACRkP,KAAQ,iBACR0J,UAAa,OAEfgL,aAAgB,CACd5jB,KAAQ,OACRkP,KAAQ,eACR0J,UAAa,OAEfiL,kBAAqB,CACnB7jB,KAAQ,SACRkP,KAAQ,oBACR0J,UAAa,SAInBkL,QAAW,CACT9jB,KAAQ,KACRkP,KAAQ,WAEV6U,mBAAsB,CACpB/jB,KAAQ,OACRkP,KAAQ,sBAEV8U,SAAY,CACVhkB,KAAQ,KACRkP,KAAQ,YAEV+U,YAAe,CACbjkB,KAAQ,OACRkP,KAAQ,eAEVgV,QAAW,CACTlkB,KAAQ,OACRkP,KAAQ,WAEViV,WAAc,CACZnkB,KAAQ,KACRkP,KAAQ,cAEVkV,oBAAuB,CACrBpkB,KAAQ,OACRkP,KAAQ,sBACR4D,SAAY,CACVuR,OAAU,CACRrkB,KAAQ,KACRkP,KAAQ,SACR0J,UAAa,uBAEf0L,cAAiB,CACftkB,KAAQ,MACRkP,KAAQ,gBACR0J,UAAa,uBAEf2L,QAAW,CACTvkB,KAAQ,KACRkP,KAAQ,UACR0J,UAAa,uBAEf4L,OAAU,CACRxkB,KAAQ,KACRkP,KAAQ,SACR0J,UAAa,uBAEf6L,WAAc,CACZzkB,KAAQ,KACRkP,KAAQ,aACR0J,UAAa,uBAEf8L,WAAc,CACZ1kB,KAAQ,KACRkP,KAAQ,aACR0J,UAAa,uBAEf+L,OAAU,CACR3kB,KAAQ,MACRkP,KAAQ,SACR0J,UAAa,uBAEfgM,eAAkB,CAChB5kB,KAAQ,OACRkP,KAAQ,iBACR0J,UAAa,uBAEfiM,OAAU,CACR7kB,KAAQ,KACRkP,KAAQ,SACR0J,UAAa,uBAEfkM,WAAc,CACZ9kB,KAAQ,MACRkP,KAAQ,aACR0J,UAAa,uBAEfmM,qBAAwB,CACtB/kB,KAAQ,OACRkP,KAAQ,uBACR0J,UAAa,uBAEfoM,iBAAoB,CAClBhlB,KAAQ,OACRkP,KAAQ,mBACR0J,UAAa,uBAEfqM,OAAU,CACRjlB,KAAQ,KACRkP,KAAQ,SACR0J,UAAa,uBAEfsM,oBAAuB,CACrBllB,KAAQ,OACRkP,KAAQ,sBACR0J,UAAa,uBAEfuM,KAAQ,CACNnlB,KAAQ,MACRkP,KAAQ,OACR0J,UAAa,uBAEfwM,OAAU,CACRplB,KAAQ,KACRkP,KAAQ,SACR0J,UAAa,uBAEfyM,YAAe,CACbrlB,KAAQ,KACRkP,KAAQ,cACR0J,UAAa,uBAEf0M,MAAS,CACPtlB,KAAQ,KACRkP,KAAQ,QACR0J,UAAa,uBAEf2M,cAAiB,CACfvlB,KAAQ,KACRkP,KAAQ,gBACR0J,UAAa,uBAEf4M,sBAAyB,CACvBxlB,KAAQ,OACRkP,KAAQ,wBACR0J,UAAa,uBAEf6M,WAAc,CACZzlB,KAAQ,KACRkP,KAAQ,aACR0J,UAAa,uBAEf8M,YAAe,CACb1lB,KAAQ,KACRkP,KAAQ,cACR0J,UAAa,uBAEf+M,YAAe,CACb3lB,KAAQ,KACRkP,KAAQ,cACR0J,UAAa,uBAEfgN,WAAc,CACZ5lB,KAAQ,MACRkP,KAAQ,aACR0J,UAAa,uBAEfiN,aAAgB,CACd7lB,KAAQ,MACRkP,KAAQ,eACR0J,UAAa,uBAEfkN,eAAkB,CAChB9lB,KAAQ,MACRkP,KAAQ,iBACR0J,UAAa,uBAEfmN,MAAS,CACP/lB,KAAQ,KACRkP,KAAQ,QACR0J,UAAa,uBAEfoN,eAAkB,CAChBhmB,KAAQ,MACRkP,KAAQ,iBACR0J,UAAa,yBAInBqN,WAAc,CACZjmB,KAAQ,KACRkP,KAAQ,cAEVgX,OAAU,CACRlmB,KAAQ,KACRkP,KAAQ,UAEViX,MAAS,CACPnmB,KAAQ,MACRkP,KAAQ,SAEVkX,mBAAsB,CACpBpmB,KAAQ,MACRkP,KAAQ,sBAEVmX,aAAgB,CACdrmB,KAAQ,MACRkP,KAAQ,gBAEVoX,SAAY,CACVtmB,KAAQ,KACRkP,KAAQ,YAEVqX,aAAgB,CACdvmB,KAAQ,MACRkP,KAAQ,gBAEVsX,cAAiB,CACfxmB,KAAQ,KACRkP,KAAQ,iBAEVQ,IAAO,CACL1P,KAAQ,SACRkP,KAAQ,OAEVuX,KAAQ,CACNzmB,KAAQ,KACRkP,KAAQ,QAEVwX,QAAW,CACT1mB,KAAQ,KACRkP,KAAQ,UACR4D,SAAY,CACV6T,sBAAyB,CACvB3mB,KAAQ,OACRkP,KAAQ,wBACR0J,UAAa,WAEfgO,yBAA4B,CAC1B5mB,KAAQ,OACRkP,KAAQ,2BACR0J,UAAa,WAEfiO,mBAAsB,CACpB7mB,KAAQ,KACRkP,KAAQ,qBACR0J,UAAa,WAEfkO,aAAgB,CACd9mB,KAAQ,KACRkP,KAAQ,eACR0J,UAAa,aAInBmO,UAAa,CACX/mB,KAAQ,QACRkP,KAAQ,aAEV8X,GAAM,CACJhnB,KAAQ,KACRkP,KAAQ,MAEV+X,SAAY,CACVjnB,KAAQ,KACRkP,KAAQ,YAEVgY,QAAW,CACTlnB,KAAQ,MACRkP,KAAQ,WAEViY,SAAY,CACVnnB,KAAQ,KACRkP,KAAQ,YAEVkY,UAAa,CACXpnB,KAAQ,KACRkP,KAAQ,aAEVmY,gBAAmB,CACjBrnB,KAAQ,MACRkP,KAAQ,mBAEVoY,OAAU,CACRtnB,KAAQ,KACRkP,KAAQ,UAEVqY,UAAa,CACXvnB,KAAQ,MACRkP,KAAQ,aAEVsY,MAAS,CACPxnB,KAAQ,KACRkP,KAAQ,SAEVuY,YAAe,CACbznB,KAAQ,KACRkP,KAAQ,eAEVwY,gBAAmB,CACjB1nB,KAAQ,OACRkP,KAAQ,mBAEVyY,WAAc,CACZ3nB,KAAQ,KACRkP,KAAQ,cAEV0Y,aAAgB,CACd5nB,KAAQ,KACRkP,KAAQ,gBAEV2Y,IAAO,CACL7nB,KAAQ,IACRkP,KAAQ,OAEV4Y,OAAU,CACR9nB,KAAQ,KACRkP,KAAQ,UAEV6Y,cAAiB,CACf/nB,KAAQ,MACRkP,KAAQ,iBAEV8Y,KAAQ,CACNhoB,KAAQ,KACRkP,KAAQ,QAEV+Y,MAAS,CACPjoB,KAAQ,KACRkP,KAAQ,SAEVgZ,gBAAmB,CACjBloB,KAAQ,MACRkP,KAAQ,mBAEViZ,QAAW,CACTnoB,KAAQ,KACRkP,KAAQ,WAEVkZ,4BAA+B,CAC7BpoB,KAAQ,OACRkP,KAAQ,+BAEVmZ,eAAkB,CAChBroB,KAAQ,KACRkP,KAAQ,kBAEVoZ,SAAY,CACVtoB,KAAQ,KACRkP,KAAQ,YAEVqZ,KAAQ,CACNvoB,KAAQ,KACRkP,KAAQ,QAEVsZ,IAAO,CACLxoB,KAAQ,MACRkP,KAAQ,OAEVuZ,OAAU,CACRzoB,KAAQ,KACRkP,KAAQ,SACR4D,SAAY,CACV4V,cAAiB,CACf1oB,KAAQ,OACRkP,KAAQ,gBACR0J,UAAa,UAEf+P,YAAe,CACb3oB,KAAQ,OACRkP,KAAQ,cACR0J,UAAa,UAEfgQ,oBAAuB,CACrB5oB,KAAQ,OACRkP,KAAQ,sBACR0J,UAAa,UAEfiQ,cAAiB,CACf7oB,KAAQ,OACRkP,KAAQ,gBACR0J,UAAa,UAEfkQ,qBAAwB,CACtB9oB,KAAQ,OACRkP,KAAQ,uBACR0J,UAAa,YAInBmQ,OAAU,CACR/oB,KAAQ,KACRkP,KAAQ,SACR4D,SAAY,CACVkW,WAAc,CACZhpB,KAAQ,OACRkP,KAAQ,aACR0J,UAAa,UAEfqQ,YAAe,CACbjpB,KAAQ,OACRkP,KAAQ,cACR0J,UAAa,UAEfsQ,aAAgB,CACdlpB,KAAQ,KACRkP,KAAQ,eACR0J,UAAa,UAEfuQ,cAAiB,CACfnpB,KAAQ,OACRkP,KAAQ,gBACR0J,UAAa,YAInBwQ,gBAAmB,CACjBppB,KAAQ,MACRkP,KAAQ,mBAEVma,aAAgB,CACdrpB,KAAQ,OACRkP,KAAQ,eACR4D,SAAY,CACVwW,OAAU,CACRtpB,KAAQ,KACRkP,KAAQ,SACR0J,UAAa,kBAInB2Q,UAAa,CACXvpB,KAAQ,KACRkP,KAAQ,aAEVsa,WAAc,CACZxpB,KAAQ,OACRkP,KAAQ,aACR4D,SAAY,CACV2W,YAAe,CACbzpB,KAAQ,KACRkP,KAAQ,cACR0J,UAAa,cAEf8Q,MAAS,CACP1pB,KAAQ,KACRkP,KAAQ,QACR0J,UAAa,cAEf+Q,UAAa,CACX3pB,KAAQ,OACRkP,KAAQ,YACR0J,UAAa,cAEfgR,WAAc,CACZ5pB,KAAQ,OACRkP,KAAQ,aACR0J,UAAa,cAEfiR,YAAe,CACb7pB,KAAQ,OACRkP,KAAQ,cACR0J,UAAa,cAEfkR,cAAiB,CACf9pB,KAAQ,KACRkP,KAAQ,gBACR0J,UAAa,cAEfmR,mBAAsB,CACpB/pB,KAAQ,OACRkP,KAAQ,qBACR0J,UAAa,cAEfoR,YAAe,CACbhqB,KAAQ,OACRkP,KAAQ,cACR0J,UAAa,cAEfqR,OAAU,CACRjqB,KAAQ,KACRkP,KAAQ,SACR0J,UAAa,gBAInBsR,yBAA4B,CAC1BlqB,KAAQ,OACRkP,KAAQ,4BAEVib,IAAO,CACLnqB,KAAQ,KACRkP,KAAQ,MACR4D,SAAY,CACVsX,SAAY,CACVpqB,KAAQ,KACRkP,KAAQ,WACR0J,UAAa,OAEfyR,OAAU,CACRrqB,KAAQ,OACRkP,KAAQ,SACR0J,UAAa,OAEf0R,kBAAqB,CACnBtqB,KAAQ,OACRkP,KAAQ,oBACR0J,UAAa,OAEf2R,0BAA6B,CAC3BvqB,KAAQ,OACRkP,KAAQ,4BACR0J,UAAa,OAEf4R,SAAY,CACVxqB,KAAQ,OACRkP,KAAQ,WACR0J,UAAa,OAEf6R,OAAU,CACRzqB,KAAQ,WACRkP,KAAQ,SACR0J,UAAa,SAInB8R,OAAU,CACR1qB,KAAQ,KACRkP,KAAQ,UAEVyb,QAAW,CACT3qB,KAAQ,KACRkP,KAAQ,WAEV0b,QAAW,CACT5qB,KAAQ,OACRkP,KAAQ,WAEV2b,MAAS,CACP7qB,KAAQ,KACRkP,KAAQ,SAEV4b,WAAc,CACZ9qB,KAAQ,KACRkP,KAAQ,aACR4D,SAAY,CACViY,UAAa,CACX/qB,KAAQ,KACRkP,KAAQ,YACR0J,UAAa,cAEfoS,YAAe,CACbhrB,KAAQ,KACRkP,KAAQ,cACR0J,UAAa,cAEfqS,UAAa,CACXjrB,KAAQ,KACRkP,KAAQ,YACR0J,UAAa,cAEfsS,aAAgB,CACdlrB,KAAQ,KACRkP,KAAQ,eACR0J,UAAa,cAEfuS,UAAa,CACXnrB,KAAQ,KACRkP,KAAQ,YACR0J,UAAa,gBAInBwS,cAAiB,CACfprB,KAAQ,OACRkP,KAAQ,iBAEVmc,sBAAyB,CACvBrrB,KAAQ,OACRkP,KAAQ,wBACR4D,SAAY,CACVwY,wBAA2B,CACzBtrB,KAAQ,QACRkP,KAAQ,0BACR0J,UAAa,yBAEf2S,UAAa,CACXvrB,KAAQ,KACRkP,KAAQ,YACR0J,UAAa,yBAEf4S,WAAc,CACZxrB,KAAQ,OACRkP,KAAQ,aACR0J,UAAa,yBAEf6S,iBAAoB,CAClBzrB,KAAQ,OACRkP,KAAQ,mBACR0J,UAAa,yBAEf8S,gBAAmB,CACjB1rB,KAAQ,OACRkP,KAAQ,kBACR0J,UAAa,yBAEf+S,qBAAwB,CACtB3rB,KAAQ,OACRkP,KAAQ,uBACR0J,UAAa,yBAEfgT,4BAA+B,CAC7B5rB,KAAQ,QACRkP,KAAQ,8BACR0J,UAAa,yBAEfiT,oBAAuB,CACrB7rB,KAAQ,MACRkP,KAAQ,sBACR0J,UAAa,2BAInBkT,OAAU,CACR9rB,KAAQ,KACRkP,KAAQ,UAEV6c,kBAAqB,CACnB/rB,KAAQ,KACRkP,KAAQ,oBACR4D,SAAY,CACVkZ,yBAA4B,CAC1BhsB,KAAQ,OACRkP,KAAQ,2BACR0J,UAAa,qBAEfqT,yBAA4B,CAC1BjsB,KAAQ,OACRkP,KAAQ,2BACR0J,UAAa,uBAInBsT,iBAAoB,CAClBlsB,KAAQ,MACRkP,KAAQ,oBAEVid,QAAW,CACTnsB,KAAQ,KACRkP,KAAQ,WAEVkd,eAAkB,CAChBpsB,KAAQ,KACRkP,KAAQ,kBAEVmd,MAAS,CACPrsB,KAAQ,KACRkP,KAAQ,SAEVod,wBAA2B,CACzBtsB,KAAQ,KACRkP,KAAQ,2BAEVqd,QAAW,CACTvsB,KAAQ,OACRkP,KAAQ,WAEVsd,aAAgB,CACdxsB,KAAQ,MACRkP,KAAQ,gBAEVud,WAAc,CACZzsB,KAAQ,OACRkP,KAAQ,cAEVwd,MAAS,CACP1sB,KAAQ,KACRkP,KAAQ,SAEVyd,sBAAyB,CACvB3sB,KAAQ,OACRkP,KAAQ,yBAEV0d,KAAQ,CACN5sB,KAAQ,OACRkP,KAAQ,SASN,SAAU2d,GAAwBC,GACtC,OAAO9U,GAAmB8U,IAAgB,IAC5C,UAMgBC,KACd,OAAOC,OAAOC,QAAQjV,IAAoBpG,KAAI,EAAE1C,EAAMge,MAAe,CACnEhe,OACAlP,KAAMktB,EAASltB,QAEnB,CCxiDM,SAAUmtB,GAAoBC,GACnC,OAAOJ,OAAOK,OAAOD,GAAkBE,MAAK,CAACC,EAAQC,IAAWD,EAAEE,MAAQD,EAAEC,OAC7E,CAQgB,SAAAC,GAAkBC,EAAsBP,GAEvD,OAAOA,EAAiBO,IAAiB,IAC1C,UASgBC,GAAgCD,EAAsBP,EAAuBS,GAE5F,MAAMC,EAAYJ,GAAkBC,EAAcP,GAElD,IAAKU,IAAeA,EAAUC,eAAiBD,EAAUE,kBACxD,MAAO,GAIR,MAAMA,EAA2C,GA8CjD,OA3CIF,EAAUC,cACbD,EAAUC,aAAa/a,SAAS8Z,IAC/B,MAAMI,EAAWe,GAAkBnB,EAAae,GAGhD,GAAIX,IAAaA,EAASpa,SACzBkb,EAAkBE,KAAK,CACtBC,aAAcjB,EAASltB,KACvBouB,aAActB,SAIX,GAAII,GAAYA,EAASpa,SAAU,CACAgb,EAAUE,mBAChDF,EAAUE,kBAAkBK,MAAMC,GAE1BtB,OAAOuB,KAAKrB,EAASpa,UAAUpG,SAAS4hB,MAKhDN,EAAkBE,KAAK,CACtBC,aAAcjB,EAASltB,KACvBouB,aAActB,GAGhB,KAKCgB,EAAUE,mBACbF,EAAUE,kBAAkBhb,SAAS8Z,IAEpC,MAAMI,EAAWe,GAAkBnB,EAAae,GAEhDG,EAAkBE,KAAK,CACtBC,aAAcjB,EAAWA,EAASltB,KAAO8sB,EACzCsB,aAActB,GACb,IAIGkB,CACR,CAQA,SAASC,GAAkBnB,EAAqB0B,GAE/C,GAAIA,EAAW1B,GACd,OAAO0B,EAAW1B,GAInB,IAAK,MAAM2B,KAAOD,EAAY,CAC7B,MAAMtB,EAAWsB,EAAWC,GAG5B,GAAIvB,EAASpa,SAAU,CAEtB,MAAM4b,EAAgBT,GAAkBnB,EAAaI,EAASpa,UAC9D,GAAI4b,EACH,OAAOA,CAER,CACD,CAIF,UASgBC,GAA0BhB,EAAsBP,EAAuBgB,GAKtF,MAAMN,EAAYJ,GAAkBC,EAAcP,GAElD,IAAKU,EACJ,MAAO,GAGR,MAAMha,EAAgE,CAAA,EAmBtE,OAhBIsa,GAAgBN,EAAUc,mBAAqBd,EAAUc,kBAAkBR,GAC9Eta,EAAO+a,UAAYf,EAAUc,kBAAkBR,GAGvCN,EAAUe,WAAapY,MAAMC,QAAQoX,EAAUe,aACvD/a,EAAO+a,UAAYf,EAAUe,WAI1BT,GAAgBN,EAAUgB,0BAA4BhB,EAAUgB,yBAAyBV,GAC5Fta,EAAOib,iBAAmBjB,EAAUgB,yBAAyBV,GAErDN,EAAUiB,kBAAoBtY,MAAMC,QAAQoX,EAAUiB,oBAC9Djb,EAAOib,iBAAmBjB,EAAUiB,kBAG9Bjb,CACR,CChJM,SAAUkb,GACfC,EACAC,EACArB,EACAT,EACA+B,GAEA,MAAMC,EAAcF,EAAqBD,GACzC,OAAKG,EAKEA,EAAYC,WAAWzd,KAAK0d,IAElC,MAAMC,EAAWD,EAAUE,KAC3B,IAAIC,EAAmB,GACjBC,EAAqB,GACrBC,EAAqB,GACvBC,EAAqB,EACrBC,EAAmB,EACvBV,EAAYnc,SAASnB,IACpB,GAAIA,EAAKiB,UAAYjB,EAAKiB,SAASvG,OAAS,EAAG,CAC9C,MAAMujB,EAAaje,EAAKiB,SAASf,MAC/Bge,GAAeA,EAAM7gB,OAASqgB,IAE5BO,IACHL,EAAWK,EAAW9vB,KACtB6vB,EAAWC,EAAWxC,KACtBoC,EAAa7d,EAAK3C,KAClBygB,EAAa9d,EAAK7R,KAClB4vB,EAAa/d,EAAKyb,KAEnB,KAIF,MAAM0C,EAAaV,EAAUW,OAAOre,KAAKse,IAExC,MAAMC,EAAY/C,EAAiB8C,GAGnC,IAAIE,EAA0E,GAa9E,OAXID,GAAaA,EAAUnC,oBAE1BoC,EAAwBD,EAAUnC,kBAAkBpc,KAAKwc,IACxD,MAAMlB,EAAWW,EAAmBO,GACpC,MAAO,CACND,aAAcjB,EAAWA,EAASltB,KAAOouB,EACzCA,aAAcA,EACd,KAII,CACNiC,UAAWF,EAAYA,EAAUnwB,KAAOkwB,EACxCA,UAAWA,EACXlC,kBAAmBoC,EACnB,IAGF,MAAO,CACNX,SAAUA,EACPF,SAAUA,EACbM,SAAUA,EACPH,WAAYA,EACZC,WAAYA,EACfW,UAAWV,EACRK,OAAQD,EACX,IA7DM,EA+DT,CAUM,SAAUO,GAA2BtB,EAAsBuB,EAAkBtB,EAA2B9B,EAAuBS,GACpI,MAAMuB,EAAcF,EAAqBD,GACzC,IAAKG,EACJ,MAAO,GAGR,MAAME,EAAYF,EAAYC,WAAWtd,MAAM0e,GAEvCA,EAAGjB,OAASgB,IAEpB,OAAKlB,EAKEA,EAAUW,OAAOre,KAAKse,IAE5B,MAAMC,EAAY/C,EAAiB8C,GAEnC,IAAKC,EACJ,MAAO,CACNE,UAAWH,EACXA,UAAWA,EACXlC,kBAAmB,GACnBiB,gBAKF,MAAMmB,GAAyBD,EAAUnC,mBAAqB,IAAIpc,KAAKwc,IACtE,MAAMlB,EAAWW,EAAmBO,GACpC,MAAO,CACND,aAAcjB,EAAWA,EAASltB,KAAOouB,EACzCA,aAAcA,EACd,IAGF,MAAO,CACNiC,UAAWF,EAAUnwB,KACrBkwB,UAAWA,EACXlC,kBAAmBoC,EACnBnB,eACA,IA/BM,EAiCT,CAQgB,SAAAyB,GAAoBC,EAAsBzB,GAQzD,IAAKyB,EACJ,OAAO,KAIR,MAAMC,EAAe1B,EAAqByB,GAC1C,OAAKC,EAKE,CACN1hB,KAAMyhB,EACN3wB,KAAM4wB,EAAa5wB,KACnB6wB,KAAMD,EAAaC,KACnBpD,MAAOmD,EAAanD,MACpBqD,UAAWF,EAAaE,WATjB,IAWT,CAYgB,SAAAC,GACfC,EACAC,EACAhC,EACAC,EACA9B,EACAS,GAGA,IAAKmD,EACJ,OAAO,KAaR,GATAA,EAAkBA,EAAgBpb,OAC9Bqb,IACHA,EAAmBA,EAAiBrb,QAEjCqZ,IACHA,EAAeA,EAAarZ,QAIzBqZ,GAAgBC,GAAwB9B,EAC3C,IAEC,MAAMwD,EAAe1B,EAAqBD,GAC1C,GAAI2B,GAAgBA,EAAavB,WAAY,CAE5C,MAAM6B,EAAkB,IAAIC,IAC5BP,EAAavB,WAAWrc,SAASsc,IAC5BA,EAAUW,QAAUX,EAAUW,OAAO1jB,OAAS,GACjD+iB,EAAUW,OAAOjd,SAASkd,GAAsBgB,EAAgBE,IAAIlB,IACpE,IAGF,IAAImB,EAAmC,KACnCC,EAA2C,KAG/C,IAAK,MAAMpB,KAAagB,EAAiB,CACxC,MAAMf,EAAY/C,EAAiB8C,GACnC,IAAKC,EAAW,SAGhB,IAAIoB,GAAsB,EAC1B,GAAIN,EAAkB,CACrB,MAAMO,EAASP,EACfM,EAAsBpB,EAAUpC,cAC/BoC,EAAUpC,aAAaM,MAAMnB,GAC5BA,EAASuE,gBAAkBD,EAAOC,eACpC,CAGD,MAAMC,EAAyBvB,EAAUnC,mBACxCmC,EAAUnC,kBAAkBK,MAAMnB,GACjCA,EAASuE,gBAAkBT,EAAgBS,gBAG7C,GAAIF,GAAuBG,EAAwB,CAClDL,EAAoBnB,EACpB,KACA,CAGGqB,IAAwBD,IAC3BA,EAA4BpB,EAE7B,CAGD,GAAImB,EACH,OAAOA,EAIR,GAAIC,EACH,OAAOA,CAER,CACD,CAAC,MAAOK,GACRzd,QAAQyd,MAAM,yCAA0CA,EACxD,CAKF,MAAMC,EAAgBxE,GAAoBA,EAG1C,IAAKwE,EACJ,OAAO,KAIR,IAAIC,EAAwBb,EAC5B,GAAIC,GAAoBpD,EAAmBoD,IAAqBpD,EAAmBoD,GAAkBne,SAAU,CAE9G,MAAMib,EAAeF,EAAmBoD,GAEpClD,EAAajb,UAAYib,EAAajb,SAASke,KAClDa,EAAwBb,EAEzB,CAGD,IAAK,MAAOrD,EAAcG,KAAcd,OAAOC,QAAQ2E,GAAgB,CACtE,MAAMzB,EAAYrC,EAGlB,GAAImD,EAAkB,CACrB,MAAMO,EAASP,EAOf,KAL0Bd,EAAUpC,cACnCoC,EAAUpC,aAAaM,MAAMnB,GAC5BA,EAASuE,gBAAkBD,EAAOC,iBAInC,SAKD,GAAII,EAAsBJ,gBAAkBD,EAAOC,cAClD,OAAO9D,EAIR,IAAKwC,EAAUnC,mBAA4D,IAAvCmC,EAAUnC,kBAAkBzhB,OAC/D,OAAOohB,EAOR,GAH6BwC,EAAUnC,kBAAkBK,MAAMnB,GAC9DA,EAASuE,gBAAkBI,EAAsBJ,gBAGjD,OAAO9D,CAER,KAAM,CAIN,GAAIwC,EAAUpC,cAAgBoC,EAAUpC,aAAaM,MAAMnB,GAC1DA,EAASuE,gBAAkBI,EAAsBJ,gBACjD,OAAO9D,EAIR,GAAIwC,EAAUnC,mBAAqBmC,EAAUnC,kBAAkBK,MAAMnB,GACpEA,EAASuE,gBAAkBI,EAAsBJ,gBACjD,OAAO9D,EAIR,IAAK,MAAMI,KAAiBoC,EAAUpC,cAAgB,GAAK,CAC1D,MAAM+D,EAAkBjE,EAAmBE,GAC3C,GAAI+D,GAAmBA,EAAgBhf,UAAYgf,EAAgBhf,SAAS+e,GAC3E,OAAOlE,CAER,CACD,CACD,CAGD,OAAO,IACR,uWCykBA,IAAAoE,GAx6BA,MAIEC,8BAAgC,CAE9B7iB,GAAI,CACFnP,KAAM,KACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,QACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3BnjB,GAAI,CACFrP,KAAM,KACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,OACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3BC,KAAM,CACJzyB,KAAM,OACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,OACRC,UAAW,EACXC,MAAO,EACPE,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3BljB,IAAK,CACHtP,KAAM,MACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3BjjB,IAAK,CACHvP,KAAM,MACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3BhjB,IAAK,CACHxP,KAAM,MACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3B/iB,IAAK,CACHzP,KAAM,MACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,SACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3B9iB,IAAK,CACH1P,KAAM,MACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,SACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3B7iB,KAAM,CACJ3P,KAAM,OACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,OACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3B5iB,IAAK,CACH5P,KAAM,MACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3B3iB,IAAK,CACH7P,KAAM,MACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3B1iB,IAAK,CACH9P,KAAM,MACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,SACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3BziB,IAAK,CACH/P,KAAM,MACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,UACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3BxiB,IAAK,CACHhQ,KAAM,MACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,QACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3BviB,IAAK,CACHjQ,KAAM,MACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3BtiB,IAAK,CACHlQ,KAAM,MACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3BriB,IAAK,CACHnQ,KAAM,MACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,QACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3BpiB,IAAK,CACHpQ,KAAM,MACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,QACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3BniB,IAAK,CACHrQ,KAAM,MACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,QACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3BliB,IAAK,CACHtQ,KAAM,MACN6C,MAAO,KACPovB,YAAa,KACbC,OAAQ,SACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3BjiB,IAAK,CACHvQ,KAAM,MACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3BhiB,IAAK,CACHxQ,KAAM,MACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3B/hB,KAAM,CACJzQ,KAAM,OACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,OACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3B9hB,KAAM,CACJ1Q,KAAM,OACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,OACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3B7hB,MAAO,CACL3Q,KAAM,QACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,QACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3B5hB,KAAM,CACJ5Q,KAAM,OACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,OACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAK3B3hB,EAAG,CACD7Q,KAAM,IACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,QACRC,UAAW,EACXC,MAAO,IACPC,mBAAoB,CAAC,SACrBC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,GAAUF,EAClB,OAAOE,EAAQ,GAAI,KAIzB5hB,GAAI,CACF9Q,KAAM,KACN6C,MAAO,KACPovB,YAAa,KACbC,OAAQ,cACRC,UAAW,EACXC,MAAO,IACPC,mBAAoB,CAAC,SACrBC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,GAAUF,EAClB,OAAOE,EAAQ,GAAI,KAIzB3hB,KAAM,CACJ/Q,KAAM,OACN6C,MAAO,OACPovB,YAAa,KACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,IACPC,mBAAoB,CAAC,QAAS,UAC9BC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,EAAKC,OAAEA,GAAWH,EAC1B,OAAQ,EAAIG,EAASD,GAAS,GAAI,KAIxC1hB,GAAI,CACFhR,KAAM,KACN6C,MAAO,KACPovB,YAAa,KACbC,OAAQ,aACRC,UAAW,EACXC,MAAO,GACPC,mBAAoB,CAAC,SACrBC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,GAAUF,EAClB,OAAOE,CAAK,KAIlBzhB,IAAK,CACHjR,KAAM,MACN6C,MAAO,KACPovB,YAAa,KACbC,OAAQ,OACRC,UAAW,EACXC,MAAO,IACPC,mBAAoB,CAAC,SACrBC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,GAAUF,EAClB,OAAOE,EAAQ,IAAI,KAMzBxhB,GAAI,CACFlR,KAAM,KACN6C,MAAO,KACPovB,YAAa,IACbC,OAAQ,cACRC,UAAW,EACXC,MAAO,IACPC,mBAAoB,CAAC,QAAS,UAC9BC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,EAAKC,OAAEA,GAAWH,EAC1B,OAAQE,EAAQC,EAAU,GAAO,KAIvCxhB,IAAK,CACHnR,KAAM,MACN6C,MAAO,OACPovB,YAAa,MACbC,OAAQ,wBACRC,UAAW,EACXC,MAAO,IACPC,mBAAoB,CAAC,QAAS,UAC9BC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,EAAKC,OAAEA,GAAWH,EAC1B,OAAQE,EAAQC,EAAU,GAAO,KAIvCvhB,IAAK,CACHpR,KAAM,MACN6C,MAAO,OACPovB,YAAa,MACbC,OAAQ,oBACRC,UAAW,EACXC,MAAO,IACPC,mBAAoB,CAAC,QAAS,UAC9BC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,EAAKC,OAAEA,GAAWH,EAC1B,OAAQE,EAAQC,EAAU,GAAO,KAMvCthB,GAAI,CACFrR,KAAM,KACN6C,MAAO,MACPovB,YAAa,KACbC,OAAQ,aACRC,UAAW,EACXC,MAAO,IACPC,mBAAoB,CAAC,QAAS,SAAU,SACxCC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,EAAKC,OAAEA,EAAMC,MAAEA,GAAUJ,EACjC,OAAQE,EAAQC,EAASC,EAAS,GAAU,KAIlDthB,EAAG,CACDtR,KAAM,IACN6C,MAAO,KACPovB,YAAa,KACbC,OAAQ,QACRC,UAAW,EACXC,MAAO,IACPC,mBAAoB,CAAC,QAAS,SAAU,SACxCC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,EAAKC,OAAEA,EAAMC,MAAEA,GAAUJ,EACjC,OAAQE,EAAQC,EAASC,EAAS,GAAO,KAI/CrhB,GAAI,CACFvR,KAAM,KACN6C,MAAO,KACPovB,YAAa,KACbC,OAAQ,aACRC,UAAW,EACXC,MAAO,IACPC,mBAAoB,CAAC,QAAS,SAAU,SACxCC,SAAU,KAAO,CACfC,MAAQC,IACN,MAAME,MAAEA,EAAKC,OAAEA,EAAMC,MAAEA,GAAUJ,EACjC,OAAQE,EAAQC,EAASC,EAAS,GAAI,KAM5CphB,GAAI,CACFxR,KAAM,KACN6C,MAAO,KACPovB,YAAa,KACbC,OAAQ,WACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAG3B/gB,IAAK,CACHzR,KAAM,MACN6C,MAAO,IACPovB,YAAa,IACbC,OAAQ,MACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAK3B9gB,SAAU,CACR1R,KAAM,WACN6C,MAAO,MACPovB,YAAa,MACbC,OAAQ,WACRC,UAAW,EACXC,MAAO,EACPC,mBAAoB,GACpBC,SAAU,KAAO,CACfC,MAAQC,GAAe,KAK3BK,UAAW,SAAS7yB,GAClB,IAAKA,EAAM,OAAO,KAClB,IAAK,MAAMyuB,KAAOqE,KAChB,GAAIA,KAAKrE,IAAQqE,KAAKrE,GAAKzuB,OAASA,EAClC,OAAO8yB,KAAKrE,GAGhB,OAAO,IACR,GAMHuD,wCAA0C,CACxCe,OAAQ,SACRC,aAAc,eACdC,aAAc,gBAchB,0BAAOC,CAAoBC,GAEzB,MAAMT,MAAEA,EAAKC,OAAEA,EAAMC,MAAEA,GAAUE,KAAKM,sBAAsBD,GAG5DA,EAAIT,MAAQA,EACZS,EAAIR,OAASA,EACbQ,EAAIP,MAAQA,EAGZ,MAAMS,EAAWrG,OAAOuB,KAAKuE,KAAKQ,wBAC/B9mB,QAAOiiB,GAAmD,iBAArCqE,KAAKQ,uBAAuB7E,IAA6B,cAARA,IACtE1c,MAAKwhB,GAAQT,KAAKQ,uBAAuBC,IAAO1wB,QAAUswB,EAAIK,cAEjE,IAAKH,EAEH,OADAnf,QAAQC,KAAK,WAAWgf,EAAIK,qBACrB,EAGT,MAAMA,EAAcV,KAAKQ,uBAAuBD,GAGhD,IAEE,IAAIF,EAAIM,kBAyBN,OAAOX,KAAKY,0BAA0BF,EAAad,EAAOC,EAAQC,EAAOO,EAAIQ,cAvB7E,OAAQR,EAAIM,mBACV,IAAK,eACH,OAAQf,EAAQC,GAAWa,EAAYpB,OAAS,KAClD,IAAK,eACH,OAAQO,EAASC,GAAUY,EAAYpB,OAAS,KAClD,IAAK,cACH,OAAQM,EAAQE,GAAUY,EAAYpB,OAAS,KACjD,IAAK,YACH,OAAO,GAAKM,EAAQE,GAAS,IAC/B,IAAK,QACH,OAAOF,GAAmC,IAA1Bc,EAAYrB,UAAkB,IAAO,GACvD,IAAK,SACH,OAAOQ,GAAoC,IAA1Ba,EAAYrB,UAAkB,IAAO,GACxD,IAAK,QACH,OAAOS,GAAmC,IAA1BY,EAAYrB,UAAkB,IAAO,GACvD,IAAK,gBACH,OAAQgB,EAAIQ,cAAgBjB,GAAS,IACvC,QAEE,OAAOI,KAAKY,0BAA0BF,EAAad,EAAOC,EAAQC,EAAOO,EAAIQ,cAMpF,CAAC,MAAOhC,GAEP,OADAzd,QAAQyd,MAAM,WAAYA,GACnB,CACR,CACF,CAWD,gCAAO+B,CAA0BF,EAAad,EAAOC,EAAQC,EAAOe,GAClE,OAAOH,EAAYlB,WAAWC,MAAM,CAClCG,QACAC,SACAC,QACAe,gBAEH,CAOD,yBAAOC,CAAmBJ,GAExB,MAAMH,EAAWrG,OAAOuB,KAAKuE,KAAKQ,wBAAwBvhB,MAAKwhB,GAC7DT,KAAKQ,uBAAuBC,IAAO1wB,QAAU2wB,IAG/C,IAAKH,EACH,OAAO,KAGT,MAAME,EAAOT,KAAKQ,uBAAuBD,GAGzC,IAAIQ,EAAU,GAGS,IAAnBN,EAAKpB,WAEP0B,EAAQ3F,KAAK,CACXO,IAAK,eACL5rB,MAAO,QACPixB,YAAa,GAAGP,EAAK1wB,eACrBwvB,mBAAoB,CAAC,QAAS,YAGhCwB,EAAQ3F,KAAK,CACXO,IAAK,cACL5rB,MAAO,QACPixB,YAAa,GAAGP,EAAK1wB,eACrBwvB,mBAAoB,CAAC,QAAS,WAGhCwB,EAAQ3F,KAAK,CACXO,IAAK,eACL5rB,MAAO,QACPixB,YAAa,GAAGP,EAAK1wB,eACrBwvB,mBAAoB,CAAC,SAAU,YAEL,IAAnBkB,EAAKpB,YAEd0B,EAAQ3F,KAAK,CACXO,IAAK,QACL5rB,MAAO,KACPixB,YAAa,GAAGP,EAAK1wB,cACrBwvB,mBAAoB,CAAC,WAGvBwB,EAAQ3F,KAAK,CACXO,IAAK,SACL5rB,MAAO,KACPixB,YAAa,GAAGP,EAAK1wB,cACrBwvB,mBAAoB,CAAC,YAGvBwB,EAAQ3F,KAAK,CACXO,IAAK,QACL5rB,MAAO,KACPixB,YAAa,GAAGP,EAAK1wB,cACrBwvB,mBAAoB,CAAC,WAIvBwB,EAAQ3F,KAAK,CACXO,IAAK,YACL5rB,MAAO,KACPixB,YAAa,GAAGP,EAAK1wB,cACrBwvB,mBAAoB,CAAC,QAAS,YAKX,IAAnBwB,EAAQtnB,QACVsnB,EAAQ3F,KAAK,CACXO,IAAK,UACL5rB,MAAO,OACPixB,YAAa,KAAKP,EAAK1wB,YACvBwvB,mBAAoBkB,EAAKlB,qBAK7B,IAAI0B,EAAgB,UASpB,OANuB,IAAnBR,EAAKpB,UACP4B,EAAgB,eACY,IAAnBR,EAAKpB,YACd4B,EAAgB,SAGX,CACL/zB,KAAMuzB,EAAKvzB,KACX6C,MAAO0wB,EAAK1wB,MACZovB,YAAasB,EAAKtB,YAClBC,OAAQqB,EAAKrB,OACbC,UAAWoB,EAAKpB,UAChB4B,cAAeA,EACfF,QAASA,EACTxB,mBAAoBkB,EAAKlB,mBAE5B,CAMD,yBAAO2B,GACL,OAAOhH,OAAOC,QAAQ6F,KAAKQ,wBACxB9mB,QAAO,EAAEiiB,KAAqD,iBAArCqE,KAAKQ,uBAAuB7E,IAA6B,cAARA,IAC1E7c,KAAI,EAAE1C,EAAMqkB,MAEX,MAAMU,EAAWnB,KAAKc,mBAAmBL,EAAK1wB,OAE9C,MAAO,CACL7C,KAAMuzB,EAAKvzB,KACX6C,MAAO0wB,EAAK1wB,MACZqvB,OAAQqB,EAAKrB,OACbC,UAAWoB,EAAKpB,UAChB4B,cAAeE,GAAUF,eAAiB,UAC1CF,QAASI,GAAUJ,SAAW,CAAC,CAC7BpF,IAAK,UACL5rB,MAAO,OACPixB,YAAa,KAAKP,EAAK1wB,YACvBwvB,mBAAoBkB,EAAKlB,qBAE3BA,mBAAoBkB,EAAKlB,mBAC1B,GAEN,CAOD,4BAAOe,CAAsBD,GAE3B,MAAMe,EAAO,CACXxB,MAAOS,EAAIT,OAAS,EACpBC,OAAQQ,EAAIR,QAAU,EACtBC,MAAOO,EAAIP,OAAS,GAIhBuB,EAAWrB,KAAKsB,iBAAiBjB,GAevC,OAZIgB,EAASE,QACXH,EAAKxB,MAAQI,KAAKwB,eAAeJ,EAAKxB,MAAOyB,EAASE,QAGpDF,EAASI,SACXL,EAAKvB,OAASG,KAAKwB,eAAeJ,EAAKvB,OAAQwB,EAASI,SAGtDJ,EAASK,QACXN,EAAKtB,MAAQE,KAAKwB,eAAeJ,EAAKtB,MAAOuB,EAASK,QAGjDN,CACR,CAOD,uBAAOE,CAAiBjB,GAEtB,MAAO,CACLkB,MAAS,CAAEI,aAAc,SAAUC,SAAU,EAAGC,cAAe,GAC/DJ,OAAU,CAAEE,aAAc,SAAUC,SAAU,EAAGC,cAAe,GAChEH,MAAS,CAAEC,aAAc,SAAUC,SAAU,EAAGC,cAAe,GAElE,CAQD,qBAAOL,CAAer0B,EAAO20B,GAC3B,MAAMH,aAAEA,EAAYC,SAAEA,EAAQC,cAAEA,GAAkBC,EAClD,IAAI9gB,EAAS7T,EAGb,MAAM40B,EAAc/e,WAAW4e,GAAY,GACrCI,EAAmBhf,WAAW6e,GAAiB,GAGrD,OAAQF,GACN,KAAK3B,KAAKiC,iCAAiC/B,aAEzClf,GAAUA,EAAS+gB,GAAeC,EAClC,MACF,KAAKhC,KAAKiC,iCAAiC9B,aAEzCnf,EAASA,EAASghB,EAAmBD,EAEvC,KAAK/B,KAAKiC,iCAAiChC,QAM7C,OAAOjf,CACR,CASD,0BAAOkhB,CAAoBxB,EAAarB,EAAWsB,GAEjD,IAAKD,IAAgBrB,EACnB,OAAO,EAIT,MAAM8C,EAAsB9C,EAAUlb,cACtC,IAAK,CAAC,QAAS,SAAU,SAASvK,SAASuoB,GACzC,OAAO,EAIT,MAAM5B,EAAWrG,OAAOuB,KAAKuE,KAAKQ,wBAC/B9mB,QAAOiiB,GAAmD,iBAArCqE,KAAKQ,uBAAuB7E,IAA6B,cAARA,IACtE1c,MAAKwhB,GAAQT,KAAKQ,uBAAuBC,IAAO1wB,QAAU2wB,IAE7D,IAAKH,EACH,OAAO,EAGT,MAAME,EAAOT,KAAKQ,uBAAuBD,GAGzC,GAAII,EACF,OAAQA,GACN,IAAK,eACH,MAA+B,UAAxBwB,GAA2D,WAAxBA,EAC5C,IAAK,cAIL,IAAK,YACH,MAA+B,UAAxBA,GAA2D,UAAxBA,EAH5C,IAAK,eACH,MAA+B,WAAxBA,GAA4D,UAAxBA,EAG7C,IAAK,QAML,IAAK,gBACH,MAA+B,UAAxBA,EALT,IAAK,SACH,MAA+B,WAAxBA,EACT,IAAK,QACH,MAA+B,UAAxBA,EAGT,QAEE,OAAO1B,EAAKlB,mBAAmB3lB,SAASuoB,GAK9C,OAAO1B,EAAKlB,mBAAmB3lB,SAASuoB,EACzC,CAOD,yBAAOC,CAAmB1B,GAExB,IAAKA,EACH,OAAO,EAIT,MAAMH,EAAWrG,OAAOuB,KAAKuE,KAAKQ,wBAC/B9mB,QAAOiiB,GAAmD,iBAArCqE,KAAKQ,uBAAuB7E,IAA6B,cAARA,IACtE1c,MAAKwhB,GAAQT,KAAKQ,uBAAuBC,IAAO1wB,QAAU2wB,IAE7D,IAAKH,EACH,OAAO,EAGT,MAAME,EAAOT,KAAKQ,uBAAuBD,GAGzC,OAAOE,EAAKpB,UAAY,GAAKoB,EAAKlB,mBAAmB9lB,OAAS,CAC/D,aCp6BH,MAAM4oB,GAA4BC,IAC5BjjB,cAAEA,IAAkBkjB,GAyD1B,SAASC,GAAwBC,GAC/B,IAEE,IAAKA,EAAO/B,YACV,OAAO,EAGT,MAAMgC,EAAoBL,GAA0BjC,oBAAoB,CACtEM,YAAa+B,EAAO/B,YACpBd,MAAO6C,EAAO7C,OAAS,EACvBC,OAAQ4C,EAAO5C,QAAU,EACzBC,MAAO2C,EAAO3C,OAAS,EACvBa,kBAAmB8B,EAAO9B,kBAC1BE,aAAc4B,EAAO5B,eAOvB,OAHgBxhB,GAAcqjB,EAAmB,IAAM,CAIxD,CAAC,MAAO7D,GAEP,MAAMA,CACP,CACH,CA6GA,IAAAve,GAAiB,CACfqiB,SAhFF,SAAkBF,GAChB,IAEE,OADgBpjB,GAAcmjB,GAAwBC,IAAW,IAAK,GAAG,GACxDA,EAAOpiB,KACzB,CAAC,MAAOwe,GACP,MAAMA,CACP,CACH,EA0EE2D,2BACA1B,mBAxGF,SAA4BJ,GAC1B,IACE,OAAO2B,GAA0BvB,mBAAmBJ,EACrD,CAAC,MAAO7B,GACP,MAAMA,CACP,CACH,EAmGEqC,mBArEF,WACE,IACE,OAAOmB,GAA0BnB,oBAClC,CAAC,MAAOrC,GACP,MAAMA,CACP,CACH,EAgEEqD,oBAtDF,SAA6BxB,EAAarB,EAAWsB,GACnD,IACE,OAAO0B,GAA0BH,oBAAoBxB,EAAarB,EAAWsB,EAC9E,CAAC,MAAO9B,GACP,MAAMA,CACP,CACH,EAiDEuD,mBAzCF,SAA4B1B,GAC1B,IACE,OAAO2B,GAA0BD,mBAAmB1B,EACrD,CAAC,MAAO7B,GACP,MAAMA,CACP,CACH,EAoCE+D,0BA7BF,WACE,IACE,MAAMC,EAAUR,GAA0B7B,uBACpCxf,EAAS,GAGf,IAAK,MAAM2a,KAAOkH,EACY,iBAAjBA,EAAQlH,IAAsC,OAAjBkH,EAAQlH,IAAyB,cAARA,GAC/D3a,EAAOoa,KAAK,CACVluB,KAAM21B,EAAQlH,GAAK5rB,MACnBqM,KAAMymB,EAAQlH,GAAKzuB,OAKzB,OAAO8T,CACR,CAAC,MAAO6d,GACP,MAAMA,CACP,CACH,EAWEwD,8BCvMF,SAASS,GAAuBC,GAC5B,MAAMziB,QAAEA,EAAOD,MAAEA,GAAU0iB,EAC3B,OAAiB,IAAVziB,EAAiBD,EAAQ,GACpC,CCmIY/G,EAA8BnB,EAASkB,oBAMnD,MAAM2pB,GAAgC,CACrCC,aAAc,CAAC,CACb/1B,KAAM,MACNytB,MAAO,EACPW,aAAc,aACd4H,aAAc,gBACdC,QAAQ,EACRC,WAAY,CAAC,CACXl2B,KAAM,QACNm2B,KAAM,eACNvf,MAAO,QACPwf,UAAU,EACV9f,QAAS,IAEV,CACCtW,KAAM,QACNm2B,KAAM,eACNvf,MAAO,QACPwf,UAAU,EACVC,WAAY,WACZ/f,QAAS,IAEV,CACCtW,KAAM,QACNm2B,KAAM,kBACNvf,MAAO,WACPwf,UAAU,EACVC,WAAY,QACZ/f,QAAS,IAEV,CACCtW,KAAM,QACNm2B,KAAM,iBACNvf,MAAO,UACPwf,UAAU,EACVC,WAAY,WACZ/f,QAAS,MAIZ,CACCtW,KAAM,OACNytB,MAAO,EACPW,aAAc,iBACd4H,aAAc,gBACdM,eAAe,EACfL,QAAQ,EACRC,WAAY,CAAC,CACXl2B,KAAM,SACNm2B,KAAM,eACNvf,MAAO,QACPwf,UAAU,EACV9f,QAAS,IAEV,CACCtW,KAAM,SACNm2B,KAAM,eACNvf,MAAO,QACPwf,UAAU,EACVC,WAAY,WACZ/f,QAAS,IAEV,CACCtW,KAAM,SACNm2B,KAAM,kBACNvf,MAAO,WACPwf,UAAU,EACVC,WAAY,QACZ/f,QAAS,IAEV,CACCtW,KAAM,SACNm2B,KAAM,iBACNvf,MAAO,UACPwf,UAAU,EACVC,WAAY,WACZ/f,QAAS,OAKbigB,cAAe,CAAC,CACdv2B,KAAM,KACNm2B,KAAM,kBACNvf,MAAO,WACP4f,IAAK,EACLhkB,IAAK,GACLikB,QAAS,EACTngB,QAAS,IAEV,CACCtW,KAAM,KACNm2B,KAAM,eACNvf,MAAO,qBACP4f,IAAK,EACLhkB,IAAK,GACLikB,QAAS,EACTngB,QAAS,IAEV,CACCtW,KAAM,KACNm2B,KAAM,SACNO,SAAU,OACV9f,MAAO,YACP6f,QAAS,KACTngB,QAASlK,EAA8BnB,EAASkB,uBAM7CwqB,GAA8B,CACnCZ,aAAc,CAAC,CACb/1B,KAAM,MACNytB,MAAO,EACP6I,eAAe,EACflI,aAAc,iBACd4H,aAAc,gBACdC,QAAQ,EACRC,WAAY,CAAC,CACXl2B,KAAM,QACNm2B,KAAM,eACNvf,MAAO,QACPwf,UAAU,EACV9f,QAAS,IAEV,CACCtW,KAAM,QACNm2B,KAAM,eACNvf,MAAO,QACPwf,UAAU,EACVC,WAAY,WACZ/f,QAAS,IAEV,CACCtW,KAAM,QACNm2B,KAAM,kBACNvf,MAAO,WACPwf,UAAU,EACVC,WAAY,QACZ/f,QAAS,IAEV,CACCtW,KAAM,QACNm2B,KAAM,iBACNvf,MAAO,UACPwf,UAAU,EACVC,WAAY,WACZ/f,QAAS,MAIZ,CACCtW,KAAM,OACNytB,MAAO,EACPW,aAAc,aACd4H,aAAc,gBACdC,QAAQ,EACRC,WAAY,CACX,CACCl2B,KAAM,SACNm2B,KAAM,eACNvf,MAAO,QACPwf,UAAU,EACVC,WAAY,WACZ/f,QAAS,OAKbigB,cAAe,CAAC,CACdv2B,KAAM,KACNm2B,KAAM,kBACNvf,MAAO,WACP4f,IAAK,EACLhkB,IAAK,GACLikB,QAAS,EACTngB,QAAS,IAEV,CACCtW,KAAM,KACNm2B,KAAM,eACNvf,MAAO,qBACP4f,IAAK,EACLhkB,IAAK,GACLikB,QAAS,EACTngB,QAAS,IAEV,CACCtW,KAAM,KACNm2B,KAAM,SACNO,SAAU,OACV9f,MAAO,YACP6f,QAAS,KACTngB,QAASlK,EAA8BnB,EAASkB,uBAM7CyqB,GAAgC,CACrCb,aAAc,CAAC,CACb/1B,KAAM,MACNytB,MAAO,EACP6I,eAAe,EACflI,aAAc,iBACd4H,aAAc,gBACdC,QAAQ,EACRC,WAAY,CAAC,CACXl2B,KAAM,QACNm2B,KAAM,eACNvf,MAAO,QACPwf,UAAU,EACV9f,QAAS,IAEV,CACCtW,KAAM,QACNm2B,KAAM,eACNvf,MAAO,QACPwf,UAAU,EACVC,WAAY,WACZ/f,QAAS,IAEV,CACCtW,KAAM,QACNm2B,KAAM,kBACNvf,MAAO,WACPwf,UAAU,EACVC,WAAY,QACZ/f,QAAS,IAEV,CACCtW,KAAM,QACNm2B,KAAM,iBACNvf,MAAO,UACPwf,UAAU,EACVC,WAAY,WACZ/f,QAAS,MAIZ,CACCtW,KAAM,OACNytB,MAAO,EACPW,aAAc,aACd4H,aAAc,gBACdC,QAAQ,EACRC,WAAY,CACX,CACCl2B,KAAM,SACNm2B,KAAM,eACNvf,MAAO,QACPwf,UAAU,EACVC,WAAY,WACZ/f,QAAS,OAKbigB,cAAe,CAAC,CACdv2B,KAAM,KACNm2B,KAAM,kBACNvf,MAAO,WACP4f,IAAK,EACLhkB,IAAK,GACLikB,QAAS,EACTngB,QAAS,IAEV,CACCtW,KAAM,KACNm2B,KAAM,eACNvf,MAAO,qBACP4f,IAAK,EACLhkB,IAAK,GACLikB,QAAS,EACTngB,QAAS,IAEV,CACCtW,KAAM,KACNm2B,KAAM,SACNO,SAAU,OACV9f,MAAO,YACP6f,QAAS,KACTngB,QAASlK,EAA8BnB,EAASkB,uBAO7C0qB,GAAgC,CACrCd,aAAc,CAAC,CACd/1B,KAAM,MACNytB,MAAO,EACPW,aAAc,iBACd4H,aAAc,gBACdC,QAAQ,EACRK,eAAe,EACfJ,WAAY,CAAC,CACXl2B,KAAM,QACNm2B,KAAM,eACNvf,MAAO,QACPwf,UAAU,EACV9f,QAAS,IAEV,CACCtW,KAAM,QACNm2B,KAAM,eACNvf,MAAO,QACPwf,UAAU,EACVC,WAAY,WACZ/f,QAAS,IAEV,CACCtW,KAAM,QACNm2B,KAAM,kBACNvf,MAAO,WACPwf,UAAU,EACVC,WAAY,QACZ/f,QAAS,IAEV,CACCtW,KAAM,QACNm2B,KAAM,iBACNvf,MAAO,UACPwf,UAAU,EACVC,WAAY,WACZ/f,QAAS,OAIZigB,cAAe,CAAC,CACfv2B,KAAM,KACNm2B,KAAM,kBACNvf,MAAO,WACP4f,IAAK,EACLhkB,IAAK,GACLikB,QAAS,EACTngB,QAAS,IAEV,CACCtW,KAAM,KACNm2B,KAAM,eACNvf,MAAO,qBACP4f,IAAK,EACLhkB,IAAK,GACLikB,QAAS,EACTngB,QAAS,IAEV,CACCtW,KAAM,KACNm2B,KAAM,SACNO,SAAU,OACV9f,MAAO,YACP6f,QAAS,KACTngB,QAASlK,EAA8BnB,EAASkB,uBAY5C2qB,GAAqB,CAACC,EAAsB3I,KAAyB4I,KAC1E9iB,QAAQ+iB,IAAI,OAAQ7I,EAAc4I,GAClC,IAAIE,EAAcC,KAAKC,UAAUL,GAcjC,OAZIC,EAAKzqB,OAAS,GACjByqB,EAAKhkB,SAAQ,CAACnQ,EAAOw0B,KACpB,GAAIx0B,EAAO,CACV,IAAIy0B,EAAkB,IAAM,IAAIC,OAAOF,EAAQ,GAAK,IACpDH,EAAcA,EAAYM,WAAWF,EAAiBz0B,EACtD,KAGCurB,IACH8I,EAAcA,EAAYM,WAAW,iBAAkBpJ,IAExDla,QAAQ+iB,IAAI,QAASE,KAAKM,MAAMP,IACzBC,KAAKM,MAAMP,EAAY,EAWlBQ,GAAyB,CAACC,EAAkBvJ,KAAyB4I,KAEjF,OADA9iB,QAAQ+iB,IAAI,qBAAsBU,EAAUvJ,EAAc4I,GAClDW,GAEP,IAAK,mBACJ,OAAOb,GAAmBhB,GAAkB1H,KAAiB4I,GAE9D,IAAK,iBACL,IAAK,mBACJ,OAAOF,GAAmBH,GAAgBvI,KAAiB4I,GAE5D,IAAK,mBACJ,OAAOF,GAAmBF,GAAkBxI,KAAiB4I,GAE9D,IAAK,aACL,IAAK,YAEJ,OADA9iB,QAAQ+iB,IAAI,UACLH,GAAmBD,GAAkBzI,KAAiB4I,GAC9D,QACC,OAAOlB,GACR,EC1iBY,MAAO8B,GAkVpB,WAAAC,CAAYC,GA9UZhF,KAAIze,KAAW,GAKfye,KAASiF,UAAW,GAMpBjF,KAASzf,UAAW,EAKpByf,KAAWkF,YAAW,EAKtBlF,KAAcmF,eAAW,GAOzBnF,KAAOoF,QAAW,GAKlBpF,KAASqF,UAAW,GAKpBrF,KAAKsF,MAAW,GAKhBtF,KAAOuF,QAAW,GAIlBvF,KAASwF,UAAW,GAKpBxF,KAAUyF,WAAW,GAIrBzF,KAAY0F,aAAW,GAIvB1F,KAAYnC,aAAW,GAKvBmC,KAAK2F,MAAW,GAKhB3F,KAAU4F,WAAW,GAKrB5F,KAAgB6F,iBAAW,GAM3B7F,KAAY1E,aAAW,GAKvB0E,KAAY3E,aAAW,GAMvB2E,KAAkB8F,mBAAW,GAK7B9F,KAAkB+F,mBAAW,GAK7B/F,KAAOgG,QAAW,GAMlBhG,KAASiG,UAAW,GAOpBjG,KAAQrD,SAAW,GAOnBqD,KAAQvD,SAAW,GAOnBuD,KAAUkG,WAAW,MAMrBlG,KAASzC,UAAW,GAMpByC,KAAS5C,UAAW,GAMpB4C,KAAKJ,MAAkB,KAKvBI,KAAMH,OAAkB,KAKxBG,KAAKF,MAAkB,KAMvBE,KAAWmG,YAAkB,KAK7BnG,KAAYoG,aAAkB,KAK9BpG,KAAWqG,YAAkB,KAK7BrG,KAAasG,cAAoB,GAMjCtG,KAAauG,cAAW,GAMxBvG,KAAQwG,SAAW,GAKnBxG,KAAUyG,WAAW,EAKrBzG,KAAS0G,UAAmB,KAO5B1G,KAAWU,YAAW,GAMtBV,KAAO1f,QAAW,EAKlB0f,KAAiB2G,kBAAa,GAK9B3G,KAAkB4G,oBAAY,EAK9B5G,KAASxf,UAAW,GAKpBwf,KAAa6G,cAAW,EAKxB7G,KAAWre,YAAW,EAKtBqe,KAAW8G,YAAW,EAMtB9G,KAAK3f,MAAW,EAMhB2f,KAAM+G,OAAW,EAMjB/G,KAAMgH,OAAW,GAQjBhH,KAAkBnf,mBAAW,EAS7Bmf,KAAY/e,aAAW,IAQvB+e,KAAOte,QAAW,EAKlBse,KAAS/d,UAAW,EAQpB+d,KAAiBne,kBAAW,EAM5Bme,KAAa9d,cAAW,EAUxB8d,KAAOiH,QAAa,GAOpBjH,KAAQhgB,SAAoB,GAM5BggB,KAAUkH,WAAoB,GAOzBlC,GAEH9K,OAAOiN,OAAOnH,KAAMgF,EAErB,MC1VUoC,IAAZ,SAAYA,GAEVA,EAAA,MAAA,QAEAA,EAAA,aAAA,eAEAA,EAAA,SAAA,WAEAA,EAAA,SAAA,WAEAA,EAAA,aAAA,eAEAA,EAAA,UAAA,WACD,CAbD,CAAYA,KAAAA,GAaX,CAAA,ICAY,MAAAC,GAAoD,CAC/D,CAAEn6B,KAAM,MAAOC,MAAOi6B,GAAqBh6B,OAC3C,CAAEF,KAAM,MAAOC,MAAOi6B,GAAqBE,cAC3C,CAAEp6B,KAAM,MAAOC,MAAOi6B,GAAqBx5B,UAC3C,CAAEV,KAAM,MAAOC,MAAOi6B,GAAqBG,UAC3C,CAAEr6B,KAAM,MAAOC,MAAOi6B,GAAqBjsB,cAC3C,CAAEjO,KAAM,MAAOC,MAAOi6B,GAAqBv5B,gBCnBjC25B,GCAAC,GCAAC,IFAZ,SAAYF,GAERA,EAAA,sBAAA,uBAGAA,EAAA,aAAA,cACD,CANH,CAAYA,KAAAA,GAMT,CAAA,ICNH,SAAYC,GAGTA,EAAA,4BAAA,6BACF,CAJD,CAAYA,KAAAA,GAIX,CAAA,ICJD,SAAYC,GAEVA,EAAA,eAAA,iBAGAA,EAAA,aAAA,cACD,CAND,CAAYA,KAAAA,GAMX,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/enums/solution-status.enum.ts","../src/enums/solution-item-audit-status.enum.ts","../src/enums/design-type.enum.ts","../src/enums/currency-unit.enum.ts","../src/enums/supply-mode.enum.ts","../src/enums/im_group_type.enum.ts","../src/enums/recommendation-type.enum.ts","../src/enums/pro_series_type.enum.ts","../src/enums/sales_end_app_tag.enum.ts","../src/enums/solution_price_type.enum.ts","../src/enums/spatial-category.enum.ts","../src/enums/house-status.enum.ts","../src/enums/house-type.enum.ts","../src/enums/price-flag.enum.ts","../src/enums/rounding-rule.enum.ts","../src/enums/assign-business-type.enum.ts","../src/enums/business-scope.enum.ts","../src/enums/business-work-phase.enum.ts","../src/enums/contract-state.enum.ts","../src/enums/amount-decimal-value.enum.ts","../src/enums/amount-decimal-type.enum.ts","../src/enums/sign-style.enum.ts","../src/enums/mq-receipt-type-enum.ts","../src/enums/customer-classification.enum.ts","../src/enums/index.ts","../src/constants/solution-status-options.constant.ts","../src/constants/design-type-options.constant.ts","../src/enums/order-status.enum.ts","../src/constants/order-status-options.constant.ts","../src/constants/currency-unit-options.constant.ts","../src/constants/supply-mode-options.constant.ts","../src/constants/im-group-type-options.constants.ts","../src/enums/dictionary-identify.enum.ts","../src/enums/customer-source.enum.ts","../src/constants/dictionary-customer-source-options.constant.ts","../src/enums/process-stage.enum.ts","../src/constants/dictionary-process-stage-options.constant.ts","../src/enums/customer-label.enum.ts","../src/constants/dictionary-customer-label-options.constant.ts","../src/constants/dictionary-business-scope-options.constant.ts","../src/constants/dictionary-business-work-phase-options.constant.ts","../src/constants/dictionary-customer-classification-options.constant.ts","../src/constants/dictionary-media-channel-options.constant.ts","../src/constants/dictionary-attribute-options.constant.ts","../src/constants/dictionary-identify-options.constant.ts","../src/constants/recommendation-type-options.constant.ts","../src/constants/pro_series_type_enum.constant.ts","../src/constants/spatial-category-options.constant.ts","../src/constants/house-status-options.constant.ts","../src/constants/house-type-options.constant.ts","../src/constants/price-flag-options.constant.ts","../src/constants/rounding-rule-options.constant.ts","../src/constants/assign-business-type-options.constant.ts","../src/constants/amount-decimal-value-constant.ts","../src/constants/contract-status-options.constant.ts","../src/constants/sign-style-options.constant.ts","../src/constants/sales-end-app-tag.constant.ts","../src/enums/product-unit-measure.enum.ts","../src/constants/product-unit-measure.constant.ts","../src/constants/index.ts","../src/interfaces/index.ts","../src/utils/solution.util.ts","../src/utils/common.util.ts","../src/modules/solution/productCategories.ts","../src/modules/solution/groupTypes.ts","../src/modules/solution/classifyRoomGroupMap.ts","../src/modules/solution/measure/utils/MeasureCalculator.js","../src/modules/solution/measure/index.js","../src/modules/solution/dosage/index.ts","../src/modules/solution/categoryFormMap.ts","../src/modules/solution/models/QuotationItem.ts","../src/enums/privilege-status.enum.ts","../src/constants/privilege-status-options.constant.ts","../src/enums/contract-cancel-type.enum.ts","../src/enums/mq-consumer-group-enum.ts","../src/enums/place-order-type.enum.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/**\r\n * 产品单元计量计算工具\r\n * 用于根据产品尺寸(宽、高、深)和计量单位计算实际计量值\r\n */\r\nclass ItemUnitMeasureCalculator {\r\n /**\r\n * 计量单位枚举\r\n */\r\n static ProductUnitMeasureEnum = {\r\n // 计件类单位\r\n PC: {\r\n name: 'PC',\r\n label: '件',\r\n simpleLabel: '件',\r\n enName: 'Place',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n EA: {\r\n name: 'EA',\r\n label: '个',\r\n simpleLabel: '个',\r\n enName: 'Each',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n CELL: {\r\n name: 'CELL',\r\n label: '节',\r\n simpleLabel: '节',\r\n enName: 'cELL',\r\n dimension: 0,\r\n scale: 1,\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n SET: {\r\n name: 'SET',\r\n label: '套',\r\n simpleLabel: '套',\r\n enName: 'Set',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n BAN: {\r\n name: 'BAN',\r\n label: '把',\r\n simpleLabel: '把',\r\n enName: 'Ban',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n SAG: {\r\n name: 'SAG',\r\n label: '袋',\r\n simpleLabel: '袋',\r\n enName: 'Bag',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n VOL: {\r\n name: 'VOL',\r\n label: '本',\r\n simpleLabel: '本',\r\n enName: 'Volume',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n BOX: {\r\n name: 'BOX',\r\n label: '箱',\r\n simpleLabel: '箱',\r\n enName: 'Boxful',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAIL: {\r\n name: 'PAIL',\r\n label: '桶',\r\n simpleLabel: '桶',\r\n enName: 'Pail',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n CAN: {\r\n name: 'CAN',\r\n label: '罐',\r\n simpleLabel: '罐',\r\n enName: 'Can',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n TAI: {\r\n name: 'TAI',\r\n label: '台',\r\n simpleLabel: '台',\r\n enName: 'Tai',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n CAR: {\r\n name: 'CAR',\r\n label: '盒',\r\n simpleLabel: '盒',\r\n enName: 'Carton',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAK: {\r\n name: 'PAK',\r\n label: '包',\r\n simpleLabel: '包',\r\n enName: 'Package',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n STP: {\r\n name: 'STP',\r\n label: '条',\r\n simpleLabel: '条',\r\n enName: 'Strip',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n ZHI: {\r\n name: 'ZHI',\r\n label: '只',\r\n simpleLabel: '只',\r\n enName: 'Zhi',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n ZII: {\r\n name: 'ZII',\r\n label: '支',\r\n simpleLabel: '支',\r\n enName: 'Zii',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n SLC: {\r\n name: 'SLC',\r\n label: '片',\r\n simpleLabel: '片',\r\n enName: 'Slice',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n BLK: {\r\n name: 'BLK',\r\n label: '块',\r\n simpleLabel: '块',\r\n enName: 'Block',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n ZHG: {\r\n name: 'ZHG',\r\n label: '张',\r\n simpleLabel: '张',\r\n enName: 'Zhang',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAL: {\r\n name: 'PAL',\r\n label: '货盘',\r\n simpleLabel: '货盘',\r\n enName: 'Pallet',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n GEN: {\r\n name: 'GEN',\r\n label: '根',\r\n simpleLabel: '根',\r\n enName: 'Gen',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n FAN: {\r\n name: 'FAN',\r\n label: '扇',\r\n simpleLabel: '扇',\r\n enName: 'Fan',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n REEL: {\r\n name: 'REEL',\r\n label: '卷',\r\n simpleLabel: '卷',\r\n enName: 'Reel',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n PAIR: {\r\n name: 'PAIR',\r\n label: '副',\r\n simpleLabel: '副',\r\n enName: 'Pair',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n GROUP: {\r\n name: 'GROUP',\r\n label: '组',\r\n simpleLabel: '组',\r\n enName: 'Group',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n STEP: {\r\n name: 'STEP',\r\n label: '步',\r\n simpleLabel: '步',\r\n enName: 'Step',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n \r\n // 长度类单位\r\n M: {\r\n name: 'M',\r\n label: '米',\r\n simpleLabel: '米',\r\n enName: 'Metre',\r\n dimension: 1,\r\n scale: 1000,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width / 1000; // 毫米转米\r\n }\r\n })\r\n },\r\n LM: {\r\n name: 'LM',\r\n label: '延米',\r\n simpleLabel: '延米',\r\n enName: 'LinearMeter',\r\n dimension: 1,\r\n scale: 1000,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width / 1000; // 毫米转米\r\n }\r\n })\r\n },\r\n H2W1: {\r\n name: 'H2W1',\r\n label: '门套延米',\r\n simpleLabel: 'tm',\r\n enName: 'Tow',\r\n dimension: 1,\r\n scale: 1000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (2 * height + width) / 1000; // 毫米转米\r\n }\r\n })\r\n },\r\n MM: {\r\n name: 'MM',\r\n label: '毫米',\r\n simpleLabel: '毫米',\r\n enName: 'MilliMetre',\r\n dimension: 1,\r\n scale: 10,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width; // 直接返回毫米值\r\n }\r\n })\r\n },\r\n INC: {\r\n name: 'INC',\r\n label: '英寸',\r\n simpleLabel: '英寸',\r\n enName: 'Inch',\r\n dimension: 1,\r\n scale: 304,\r\n requiredDimensions: ['width'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width } = countParam;\r\n return width / 25.4; // 毫米转英寸\r\n }\r\n })\r\n },\r\n \r\n // 面积类单位\r\n M2: {\r\n name: 'M2',\r\n label: '平米',\r\n simpleLabel: '㎡',\r\n enName: 'SquareMetre',\r\n dimension: 2,\r\n scale: 1000000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (width * height) / 1000000; // 毫米²转平米\r\n }\r\n })\r\n },\r\n PM2: {\r\n name: 'PM2',\r\n label: '投影平米',\r\n simpleLabel: 'pm²',\r\n enName: 'ProjectionSquareMetre',\r\n dimension: 2,\r\n scale: 1000000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (width * height) / 1000000; // 毫米²转平米\r\n }\r\n })\r\n },\r\n FM2: {\r\n name: 'FM2',\r\n label: '立面平米',\r\n simpleLabel: 'fm²',\r\n enName: 'FacadeSquareMetre',\r\n dimension: 2,\r\n scale: 1000000,\r\n requiredDimensions: ['width', 'height'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height } = countParam;\r\n return (width * height) / 1000000; // 毫米²转平米\r\n }\r\n })\r\n },\r\n \r\n // 体积类单位\r\n M3: {\r\n name: 'M3',\r\n label: '立方米',\r\n simpleLabel: 'm²',\r\n enName: 'CubicMetre',\r\n dimension: 3,\r\n scale: 1000000000,\r\n requiredDimensions: ['width', 'height', 'depth'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height, depth } = countParam;\r\n return (width * height * depth) / 1000000000; // 毫米³转立方米\r\n }\r\n })\r\n },\r\n L: {\r\n name: 'L',\r\n label: '公升',\r\n simpleLabel: '公升',\r\n enName: 'Liter',\r\n dimension: 3,\r\n scale: 1000000000,\r\n requiredDimensions: ['width', 'height', 'depth'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height, depth } = countParam;\r\n return (width * height * depth) / 1000000; // 毫米³转升(1升=1000cm³)\r\n }\r\n })\r\n },\r\n ML: {\r\n name: 'ML',\r\n label: '毫升',\r\n simpleLabel: '毫升',\r\n enName: 'MilliLiter',\r\n dimension: 3,\r\n scale: 1000000000,\r\n requiredDimensions: ['width', 'height', 'depth'],\r\n getCount: () => ({\r\n apply: (countParam) => {\r\n const { width, height, depth } = countParam;\r\n return (width * height * depth) / 1000; // 毫米³转毫升(1毫升=1cm³)\r\n }\r\n })\r\n },\r\n \r\n // 重量类单位\r\n KG: {\r\n name: 'KG',\r\n label: '千克',\r\n simpleLabel: 'kg',\r\n enName: 'Kilogram',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1 // 默认1kg\r\n })\r\n },\r\n TON: {\r\n name: 'TON',\r\n label: '吨',\r\n simpleLabel: 't',\r\n enName: 'Ton',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1 // 默认1吨\r\n })\r\n },\r\n \r\n // 其他类型\r\n WORKLOAD: {\r\n name: 'WORKLOAD',\r\n label: '工作量',\r\n simpleLabel: '工作量',\r\n enName: 'workload',\r\n dimension: 0,\r\n scale: 1,\r\n requiredDimensions: [],\r\n getCount: () => ({\r\n apply: (countParam) => 1\r\n })\r\n },\r\n \r\n // 根据名称获取枚举\r\n getByName: function(name) {\r\n if (!name) return null;\r\n for (const key in this) {\r\n if (this[key] && this[key].name === name) {\r\n return this[key];\r\n }\r\n }\r\n return null;\r\n }\r\n };\r\n\r\n /**\r\n * 计算规则操作类型枚举\r\n */\r\n static ProductAttrQuotaOperatorTypeEnum = {\r\n NORMAL: 'NORMAL', // 正常值(不做任何处理)\r\n ADD_MULTIPLE: 'ADD_MULTIPLE', // 先加后乘\r\n MULTIPLE_ADD: 'MULTIPLE_ADD' // 先乘后加\r\n };\r\n\r\n /**\r\n * 查找计量单位并计算\r\n * @param {Object} dto 计算参数对象\r\n * @param {string} dto.measureUnit 计量单位\r\n * @param {number} dto.width 宽度(mm)\r\n * @param {number} dto.height 高度(mm)\r\n * @param {number} dto.depth 深度(mm)\r\n * @param {string} [dto.calculationMethod] 计算方法\r\n * @param {number} [dto.customLength] 自定义长度,用于特殊计算\r\n * @returns {number} 计算结果\r\n */\r\n static findItemUnitMeasure(dto) {\r\n // 处理尺寸\r\n const { width, height, depth } = this.calculateSizeByConfig(dto);\r\n\r\n // 更新DTO中的尺寸\r\n dto.width = width;\r\n dto.height = height;\r\n dto.depth = depth;\r\n\r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum)\r\n .filter(key => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .find(unit => this.ProductUnitMeasureEnum[unit]?.label === dto.measureUnit);\r\n \r\n if (!unitCode) {\r\n console.warn(`未找到计量单位 ${dto.measureUnit} 的处理方法`);\r\n return 1; // 默认按件计算\r\n }\r\n\r\n const measureUnit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 执行计算\r\n try {\r\n // 根据计算方法确定使用哪种计算方式\r\n if (dto.calculationMethod) {\r\n // 如果指定了计算方法,根据方法计算\r\n switch (dto.calculationMethod) {\r\n case 'WIDTH_HEIGHT':\r\n return (width * height) / (measureUnit.scale || 1000000);\r\n case 'HEIGHT_DEPTH':\r\n return (height * depth) / (measureUnit.scale || 1000000);\r\n case 'WIDTH_DEPTH':\r\n return (width * depth) / (measureUnit.scale || 1000000);\r\n case 'PERIMETER':\r\n return 2 * (width + depth) / 1000;\r\n case 'WIDTH':\r\n return width / (measureUnit.dimension === 1 ? 1000 : 1);\r\n case 'HEIGHT':\r\n return height / (measureUnit.dimension === 1 ? 1000 : 1);\r\n case 'DEPTH':\r\n return depth / (measureUnit.dimension === 1 ? 1000 : 1);\r\n case 'CUSTOM_LENGTH':\r\n return (dto.customLength || width) / 1000;\r\n default:\r\n // 使用默认计算方法\r\n return this.calculateByUnitDefinition(measureUnit, width, height, depth, dto.customLength);\r\n }\r\n } else {\r\n // 使用默认计算方法\r\n return this.calculateByUnitDefinition(measureUnit, width, height, depth, dto.customLength);\r\n }\r\n } catch (error) {\r\n console.error('计算过程中出错:', error);\r\n return 1; // 出错时默认按件计算\r\n }\r\n }\r\n\r\n /**\r\n * 根据单位定义计算\r\n * @param {Object} measureUnit 计量单位对象\r\n * @param {number} width 宽度\r\n * @param {number} height 高度\r\n * @param {number} depth 深度\r\n * @param {number} customLength 自定义长度\r\n * @returns {number} 计算结果\r\n */\r\n static calculateByUnitDefinition(measureUnit, width, height, depth, customLength) {\r\n return measureUnit.getCount().apply({\r\n width,\r\n height,\r\n depth,\r\n customLength\r\n });\r\n }\r\n\r\n /**\r\n * 获取计量单位的信息,包括所需尺寸和可用计算方式\r\n * @param {string} measureUnit 计量单位名称\r\n * @returns {Object|null} 计量单位信息\r\n */\r\n static getMeasureUnitInfo(measureUnit) {\r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum).find(unit => \r\n this.ProductUnitMeasureEnum[unit]?.label === measureUnit\r\n );\r\n \r\n if (!unitCode) {\r\n return null;\r\n }\r\n \r\n const unit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 确定可用的计算方法\r\n let methods = [];\r\n \r\n // 根据单位维度确定可用的计算方法\r\n if (unit.dimension === 2) {\r\n // 二维单位可以用width_height或width_depth或height_depth\r\n methods.push({\r\n key: 'WIDTH_HEIGHT',\r\n label: '宽度×高度',\r\n description: `${unit.label}宽×高计算方式`,\r\n requiredDimensions: ['width', 'height']\r\n });\r\n \r\n methods.push({\r\n key: 'WIDTH_DEPTH',\r\n label: '宽度×深度',\r\n description: `${unit.label}宽×深计算方式`,\r\n requiredDimensions: ['width', 'depth']\r\n });\r\n \r\n methods.push({\r\n key: 'HEIGHT_DEPTH',\r\n label: '高度×深度',\r\n description: `${unit.label}高×深计算方式`,\r\n requiredDimensions: ['height', 'depth']\r\n });\r\n } else if (unit.dimension === 1) {\r\n // 一维单位可以用width、height或depth\r\n methods.push({\r\n key: 'WIDTH',\r\n label: '宽度',\r\n description: `${unit.label}宽度计算方式`,\r\n requiredDimensions: ['width']\r\n });\r\n \r\n methods.push({\r\n key: 'HEIGHT',\r\n label: '高度',\r\n description: `${unit.label}高度计算方式`,\r\n requiredDimensions: ['height']\r\n });\r\n \r\n methods.push({\r\n key: 'DEPTH',\r\n label: '深度',\r\n description: `${unit.label}深度计算方式`,\r\n requiredDimensions: ['depth']\r\n });\r\n\r\n // 添加周长计算方法\r\n methods.push({\r\n key: 'PERIMETER',\r\n label: '周长',\r\n description: `${unit.label}周长计算方式`,\r\n requiredDimensions: ['width', 'depth']\r\n });\r\n }\r\n \r\n // 如果没有计算方法,添加默认计算方法\r\n if (methods.length === 0) {\r\n methods.push({\r\n key: 'DEFAULT',\r\n label: '标准计算',\r\n description: `标准${unit.label}计算方式`,\r\n requiredDimensions: unit.requiredDimensions\r\n });\r\n }\r\n \r\n // 确定默认计算方法\r\n let defaultMethod = 'DEFAULT';\r\n \r\n // 根据单位的维度确定默认方法\r\n if (unit.dimension === 2) {\r\n defaultMethod = 'WIDTH_HEIGHT';\r\n } else if (unit.dimension === 1) {\r\n defaultMethod = 'WIDTH';\r\n }\r\n \r\n return {\r\n name: unit.name,\r\n label: unit.label,\r\n simpleLabel: unit.simpleLabel,\r\n enName: unit.enName,\r\n dimension: unit.dimension,\r\n defaultMethod: defaultMethod,\r\n methods: methods,\r\n requiredDimensions: unit.requiredDimensions\r\n };\r\n }\r\n\r\n /**\r\n * 获取所有计量单位列表\r\n * @returns {Array} 计量单位列表\r\n */\r\n static getAllMeasureUnits() {\r\n return Object.entries(this.ProductUnitMeasureEnum)\r\n .filter(([key]) => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .map(([code, unit]) => {\r\n // 获取单位信息\r\n const unitInfo = this.getMeasureUnitInfo(unit.label);\r\n \r\n return {\r\n name: unit.name,\r\n label: unit.label,\r\n enName: unit.enName,\r\n dimension: unit.dimension,\r\n defaultMethod: unitInfo?.defaultMethod || 'DEFAULT',\r\n methods: unitInfo?.methods || [{\r\n key: 'DEFAULT',\r\n label: '标准计算',\r\n description: `标准${unit.label}计算方式`,\r\n requiredDimensions: unit.requiredDimensions\r\n }],\r\n requiredDimensions: unit.requiredDimensions\r\n };\r\n });\r\n }\r\n\r\n /**\r\n * 根据配置计算尺寸\r\n * @param {Object} dto 计算参数对象\r\n * @returns {Object} 计算后的尺寸\r\n */\r\n static calculateSizeByConfig(dto) {\r\n // 创建一个尺寸对象,包含三个维度\r\n const size = {\r\n width: dto.width || 0,\r\n height: dto.height || 0,\r\n depth: dto.depth || 0\r\n };\r\n\r\n // 获取计算配额\r\n const quotaMap = this.getQuotaMapByDto(dto);\r\n\r\n // 分别计算三个维度\r\n if (quotaMap.WIDTH) {\r\n size.width = this.calculateValue(size.width, quotaMap.WIDTH);\r\n }\r\n\r\n if (quotaMap.HEIGHT) {\r\n size.height = this.calculateValue(size.height, quotaMap.HEIGHT);\r\n }\r\n\r\n if (quotaMap.DEPTH) {\r\n size.depth = this.calculateValue(size.depth, quotaMap.DEPTH);\r\n }\r\n\r\n return size;\r\n }\r\n\r\n /**\r\n * 获取计算规则配置\r\n * @param {Object} dto 计算参数对象\r\n * @returns {Object} 计算规则配置\r\n */\r\n static getQuotaMapByDto(dto) {\r\n // 返回默认规则\r\n return {\r\n 'WIDTH': { operatorType: 'NORMAL', addValue: 0, multipleValue: 1 },\r\n 'HEIGHT': { operatorType: 'NORMAL', addValue: 0, multipleValue: 1 },\r\n 'DEPTH': { operatorType: 'NORMAL', addValue: 0, multipleValue: 1 }\r\n };\r\n }\r\n\r\n /**\r\n * 根据计算规则处理值\r\n * @param {number} value 原始值\r\n * @param {Object} quota 计算规则\r\n * @returns {number} 计算后的值\r\n */\r\n static calculateValue(value, quota) {\r\n const { operatorType, addValue, multipleValue } = quota;\r\n let result = value;\r\n\r\n // 将字符串转换为数字\r\n const numAddValue = parseFloat(addValue || 0);\r\n const numMultipleValue = parseFloat(multipleValue || 1);\r\n\r\n // 根据操作类型进行计算\r\n switch (operatorType) {\r\n case this.ProductAttrQuotaOperatorTypeEnum.ADD_MULTIPLE:\r\n // 先加后乘\r\n result = (result + numAddValue) * numMultipleValue;\r\n break;\r\n case this.ProductAttrQuotaOperatorTypeEnum.MULTIPLE_ADD:\r\n // 先乘后加\r\n result = result * numMultipleValue + numAddValue;\r\n break;\r\n case this.ProductAttrQuotaOperatorTypeEnum.NORMAL:\r\n default:\r\n // 不做特殊处理\r\n break;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * 判断指定尺寸是否与计量单位计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @param {string} dimension 尺寸名称 ('width'|'height'|'depth')\r\n * @param {string} [calculationMethod] 计算方法,如果指定则根据计算方法判断\r\n * @returns {boolean} 如果尺寸与计量相关则返回true,否则返回false\r\n */\r\n static isDimensionRequired(measureUnit, dimension, calculationMethod) {\r\n // 检查参数有效性\r\n if (!measureUnit || !dimension) {\r\n return false;\r\n }\r\n \r\n // 标准化尺寸名称\r\n const normalizedDimension = dimension.toLowerCase();\r\n if (!['width', 'height', 'depth'].includes(normalizedDimension)) {\r\n return false;\r\n }\r\n \r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum)\r\n .filter(key => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .find(unit => this.ProductUnitMeasureEnum[unit]?.label === measureUnit);\r\n \r\n if (!unitCode) {\r\n return false;\r\n }\r\n \r\n const unit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 如果指定了计算方法,根据计算方法判断\r\n if (calculationMethod) {\r\n switch (calculationMethod) {\r\n case 'WIDTH_HEIGHT':\r\n return normalizedDimension === 'width' || normalizedDimension === 'height';\r\n case 'WIDTH_DEPTH':\r\n return normalizedDimension === 'width' || normalizedDimension === 'depth';\r\n case 'HEIGHT_DEPTH':\r\n return normalizedDimension === 'height' || normalizedDimension === 'depth';\r\n case 'PERIMETER':\r\n return normalizedDimension === 'width' || normalizedDimension === 'depth';\r\n case 'WIDTH':\r\n return normalizedDimension === 'width';\r\n case 'HEIGHT':\r\n return normalizedDimension === 'height';\r\n case 'DEPTH':\r\n return normalizedDimension === 'depth';\r\n case 'CUSTOM_LENGTH':\r\n return normalizedDimension === 'width'; // 默认使用宽度作为自定义长度的备选\r\n default:\r\n // 使用单位定义的必需尺寸\r\n return unit.requiredDimensions.includes(normalizedDimension);\r\n }\r\n }\r\n \r\n // 如果没有指定计算方法,使用单位定义的必需尺寸\r\n return unit.requiredDimensions.includes(normalizedDimension);\r\n }\r\n\r\n /**\r\n * 判断计量单位是否与尺寸计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @returns {boolean} 如果计量单位与尺寸计算相关则返回true,否则返回false\r\n */\r\n static isDimensionRelated(measureUnit) {\r\n // 检查参数有效性\r\n if (!measureUnit) {\r\n return false;\r\n }\r\n \r\n // 查找计量单位\r\n const unitCode = Object.keys(this.ProductUnitMeasureEnum)\r\n .filter(key => typeof this.ProductUnitMeasureEnum[key] === 'object' && key !== 'getByName')\r\n .find(unit => this.ProductUnitMeasureEnum[unit]?.label === measureUnit);\r\n \r\n if (!unitCode) {\r\n return false;\r\n }\r\n \r\n const unit = this.ProductUnitMeasureEnum[unitCode];\r\n \r\n // 如果单位维度大于0或者有必需尺寸,则与尺寸计算相关\r\n return unit.dimension > 0 || unit.requiredDimensions.length > 0;\r\n }\r\n}\r\n\r\nmodule.exports = ItemUnitMeasureCalculator; ","/**\r\n * 产品计量计算工具方法\r\n * 功能:根据产品尺寸(宽、高、深)和计量单位计算实际计量值\r\n */\r\n\r\nconst ItemUnitMeasureCalculator = require('./utils/MeasureCalculator')\r\nconst { formatDecimal } = require('../../../utils/common.util');\r\n\r\n/**\r\n * 参数验证函数\r\n * @param {Object} params - 请求参数\r\n * @throws {Error} 当参数验证失败时抛出\r\n */\r\nfunction validateParams(params) {\r\n const { measureUnit, width, height, depth } = params;\r\n const errors = [];\r\n\r\n // 验证计量单位\r\n if (!measureUnit) {\r\n errors.push('缺少必要参数:计量单位');\r\n } else if (typeof measureUnit !== 'string') {\r\n errors.push('计量单位必须是字符串');\r\n }\r\n\r\n // 验证宽度、高度、深度为数字或可转换为数字的值\r\n const dimensions = [\r\n { name: '宽度', value: width },\r\n { name: '高度', value: height },\r\n { name: '深度', value: depth }\r\n ];\r\n\r\n dimensions.forEach(dim => {\r\n if (dim.value !== null && dim.value !== undefined && dim.value !== '' && isNaN(Number(dim.value)) && !Array.isArray(dim.value)) {\r\n errors.push(`${dim.name}必须是数字或数组`);\r\n }\r\n \r\n if (Array.isArray(dim.value)) {\r\n const hasInvalidValue = dim.value.some(v => isNaN(Number(v)) || Number(v) < 0);\r\n if (hasInvalidValue) {\r\n errors.push(`${dim.name}数组中的值必须是大于等于0的数字`);\r\n }\r\n } else if (dim.value !== null && dim.value !== undefined && dim.value !== '' && Number(dim.value) < 0) {\r\n errors.push(`${dim.name}不能小于0`);\r\n }\r\n });\r\n\r\n if (errors.length > 0) {\r\n throw new Error(errors.join('; '));\r\n }\r\n}\r\n\r\n/**\r\n * 产品计量值计算工具函数\r\n * @param {Object} params - 计算参数对象\r\n * @param {string} params.measureUnit - 必填参数,计量单位\r\n * @param {number|Array|string} params.width - 宽度(mm)\r\n * @param {number|Array|string} params.height - 高度(mm)\r\n * @param {number|Array|string} params.depth - 深度(mm)\r\n * @param {string} [params.calculationMethod] - 计算方法,用于施工报价计量\r\n * @param {number} [params.customLength] - 自定义长度,用于特殊计算\r\n * @returns {Object} 返回计算结果\r\n * @throws {Error} 当参数验证失败或计算过程中出错时抛出\r\n */\r\nfunction calculateProductMeasure(params) {\r\n try {\r\n // 1. 参数验证\r\n if (!params.measureUnit) {\r\n return 0;\r\n }\r\n // 2. 执行计算\r\n const calculationResult = ItemUnitMeasureCalculator.findItemUnitMeasure({\r\n measureUnit: params.measureUnit,\r\n width: params.width || 0,\r\n height: params.height || 0,\r\n depth: params.depth || 0,\r\n calculationMethod: params.calculationMethod,\r\n customLength: params.customLength\r\n });\r\n\r\n // 3. 格式化结果\r\n const result = formatDecimal(calculationResult, 3) || 0;\r\n\r\n // 4. 返回计算计量值\r\n return result;\r\n } catch (error) {\r\n // 直接抛出错误,不再包装为特定响应结构\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 获取计量单位的信息,包括所需尺寸和可用计算方式\r\n * @param {string} measureUnit - 计量单位名称\r\n * @returns {Object|null} 计量单位信息\r\n * @throws {Error} 当获取过程中出错时抛出\r\n */\r\nfunction getMeasureUnitInfo(measureUnit) {\r\n try {\r\n return ItemUnitMeasureCalculator.getMeasureUnitInfo(measureUnit);\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n\r\n/**\r\n * 获取用量\r\n * @param {Object} params - 计算参数对象\r\n * @param {string} params.measureUnit - 必填参数,计量单位\r\n * @param {number|Array|string} params.width - 宽度(mm)\r\n * @param {number|Array|string} params.height - 高度(mm)\r\n * @param {number|Array|string} params.depth - 深度(mm)\r\n * @param {number} params.count - 数量\r\n * @param {string} [params.calculationMethod] - 计算方法,用于施工报价计量\r\n * @param {number} [params.customLength] - 自定义长度,用于特殊计算\r\n * @returns {Object} 返回计算结果\r\n * @throws {Error} 当参数验证失败或计算过程中出错时抛出\r\n */\r\nfunction getUsage(params) {\r\n try {\r\n const measure = formatDecimal(calculateProductMeasure(params) || '0', 6, true);\r\n return measure * params.count\r\n } catch (error) {\r\n throw error; \r\n }\r\n}\r\n\r\n/**\r\n * 获取所有计量单位列表\r\n * @returns {Array} 计量单位列表\r\n * @throws {Error} 当获取过程中出错时抛出\r\n */\r\nfunction getAllMeasureUnits() {\r\n try {\r\n return ItemUnitMeasureCalculator.getAllMeasureUnits();\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 判断指定尺寸是否与计量单位计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @param {string} dimension 尺寸名称 ('width'|'height'|'depth')\r\n * @param {string} [calculationMethod] 计算方法,如果指定则根据计算方法判断\r\n * @returns {boolean} 如果尺寸与计量相关则返回true,否则返回false\r\n * @throws {Error} 当判断过程中出错时抛出\r\n */\r\nfunction isDimensionRequired(measureUnit, dimension, calculationMethod) {\r\n try {\r\n return ItemUnitMeasureCalculator.isDimensionRequired(measureUnit, dimension, calculationMethod);\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 判断计量单位是否与尺寸计算相关\r\n * @param {string} measureUnit 计量单位名称\r\n * @returns {boolean} 如果计量单位与尺寸计算相关则返回true,否则返回false\r\n * @throws {Error} 当判断过程中出错时抛出\r\n */\r\nfunction isDimensionRelated(measureUnit) {\r\n try {\r\n return ItemUnitMeasureCalculator.isDimensionRelated(measureUnit);\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * 获取产品计量单位枚举列表\r\n * @returns {Array} 返回格式为 [{ name: '件', code: 'PC' }] 的计量单位列表\r\n * @throws {Error} 当获取过程中出错时抛出\r\n */\r\nfunction getProductUnitMeasureEnum() {\r\n try {\r\n const enumObj = ItemUnitMeasureCalculator.ProductUnitMeasureEnum;\r\n const result = [];\r\n \r\n // 遍历枚举对象,过滤掉方法和非对象属性\r\n for (const key in enumObj) {\r\n if (typeof enumObj[key] === 'object' && enumObj[key] !== null && key !== 'getByName') {\r\n result.push({\r\n name: enumObj[key].label,\r\n code: enumObj[key].name\r\n });\r\n }\r\n }\r\n \r\n return result;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n// 导出工具函数\r\nmodule.exports = {\r\n getUsage,\r\n calculateProductMeasure,\r\n getMeasureUnitInfo,\r\n getAllMeasureUnits,\r\n isDimensionRequired,\r\n isDimensionRelated,\r\n getProductUnitMeasureEnum,\r\n ItemUnitMeasureCalculator\r\n}; ",null,null,null,null,null,null,null,null],"names":["solution_status","SOLUTION_ITEM_AUDIT_STATUS","design_type","CURRENCY_UNIT_ENUM","supply_mode","IM_GROUP_TYPE","RECOMMENDATION_TYPE_ENUM","pro_series_type_enum","sales_end_app_tag","solution_price_type","spatial_category","house_status","house_type","price_flag","rounding_rule","assign_business_type","BUSINESS_SCOPE_ENUM","BUSINESS_WORK_PHASE_ENUM","CONTRACT_STATE_ENUM","AMOUNT_DECIMAL_VALUE_ENUM","AMOUNT_DECIMAL_TYPE_ENUM","SIGN_STYLE","MQ_RECEIPT_TYPE_ENUM","CUSTOMER_CLASSIFICATION_ENUM","__enumsPlaceholder","solution_status_options","name","value","DRAFT","ACTIVE","LOCKED","REVOKED","PRE_SIGNED","SIGNED","SIGNED_REVOKED","STAY_AUDIT","REJECTED","COMPLETED","design_type_options","BUDGET","MODEL_ROOM_EX","COMMUNITY_EX","ORDER","CONTRACT","SCALE","ABNORMAL_SOLUTION","order_status","order_status_options","NULLIFIED","OPEN","CURRENCY_UNIT_OPTIONS","CNY","USD","EUR","GBP","HKD","supply_mode_options","own_production","brand_agency","wholesale_procur","cross_border_pro","oem_contract","agency_purchase","behalf_purchase","IM_GROUP_TYPE_OPTION","INTERNAL","CUSTOMER","SHARE","DICTIONARY_IDENTIFY_ENUM","CUSTOMER_SOURCE_ENUM","DICTIONARY_CUSTOMER_SOURCE_OPTIONS","label","OTO_TOURIST_SOURCE","GROUP_OTO","TMALL","TENCENT_PLATFORM","DA_ZHONG_DIAN_PING","STORE_SALES","OFFICIAL_REGISTRATION","CITY_OTO","COMMUNITY_MARKETING_ACCOUNTS","MERCHANT_WE_MEDIA_REGISTRATION","PRIVATE_DOMAIN","CUSTOMER_RECOMMENDATION","ON_GOING_CUSTOMER_REFERRAL","OLD_CUSTOMER_REFERRAL","RECOMMENDED_BY_SEED_CUSTOMER","MALL_TRAFFIC_FLOW","NATURAL_TRAFFIC","EVENT_TRAFFIC","ADVERTISING_TRAFFIC","SOCIAL_COMMUNITY_CUSTOMER","SELF_BUILT_COMMUNITY","SELF_BUILT_EVENT_COMMUNITY","MALL_MARKETING_COMMUNITY","ALLIANCE_COOPERATION","INTERIOR_DESIGNER_COLLABORATION","FRACTURED_CUSTOMER_REFERRAL","HOME_IMPROVEMENT_COMPANY_COLLABORATION","MAIN_MATERIAL_MERCHANT_COLLABORATION","MAIN_MATERIAL_SALES_COLLABORATION","NON_INDUSTRY_ALLIANCE","DEVELOPER_COLLABORATION","PROPERTY_COLLABORATION","MALL_COLLABORATION","BANK_COOPERATION","EMPLOYEE_REFERRAL","BE_ON_THE_JOB_EMPLOYEE_REFERRAL","EARLY_EMPLOYEE_REFERRAL","OTHER_SOURCE","SCAN_EMPLOYEE_QR_CODE","PROCESS_STAGE_ENUM","DICTIONARY_PROCESS_STAGE_OPTIONS","INFORMATION","CUSTOMER_SOURCE","LINK_IN_TRANSIT","MEETING_IN_TRANSIT","INTENTION_IN_TRANSIT","ORDER_FORM","ASSIGN_DESIGNER","MEASURE_IN_TRANSIT","SOLUTION_QUOTATION","CONTRACT_IN_TRANSIT","COMPOUND_RULER","PURCHASE_IN_TRANSIT","PRODUCTION","LOGISTICS_IN_TRANSIT","STORAGE_IN_TRANSIT","INSTALL_IN_TRANSIT","DELIVER_IN_TRANSIT","OLD_CUSTOMER","CUSTOMER_LABEL_ENUM","DICTIONARY_CUSTOMER_LABEL_OPTIONS","UNGROUPED","DICTIONARY_BUSINESS_SCOPE_OPTIONS","SELF_OPERATED_PRODUCT","AGENCY_PURCHASE_SALES","INTERIOR_DESIGN","ENGINEERING_CONSTRUCTION","DICTIONARY_BUSINESS_WORK_PHASE_OPTIONS","MARKETING","SALES","DESIGN","INSTALLATION","AFTER_SALES","CONSTRUCTION","DICTIONARY_CUSTOMER_CLASSIFICATION_OPTIONS","PASSERBY","FRACTURED_CUSTOMER","OTO_ASSIGNMENT","ON_THE_WAY_CUSTOMER","KEY_FOCUS","DICTIONARY_MEDIA_CHANNEL_OPTIONS","DICTIONARY_ATTRIBUTE_OPTIONS_MAP","MEDIA_CHANNEL","PROCESS_STAGE","CUSTOMER_LABEL","BUSINESS_SCOPE","BUSINESS_WORK_PHASE","CUSTOMER_CLASSIFICATION","DICTIONARY_IDENTIFY_OPTIONS","POSITION","BEDROOM","DELIVERY_TIME_OPTION","HOUSE_INFORMATION","HOUSE_SQUARE_METERS","PROJECT_CLASSIFICATION","PROJECT_TYPE","PROJECT_SOLUTION","PROJECT_TAG","PROJECT_TEMPLATE_LEVEL","PROJECT_WORK_ITEM","BUILDING_DEVELOPER","BUILDING_PROPERTY_COMPANY","BUILDING_CATEGORY_TAG","BUILDING_HOUSE_TYPE_TAG","recommendation_type_options","DESIGN_ALLIANCE","DIFFERENT_DESIGN_ALLIANCE","EMPLOYEE_RECOMMENDATION","WECHAT_GROUPS","pro_series_type_options","SERIES","STYLE","spatial_category_options","KITCHEN","LIVING_ROOM","RESTAURANT","MASTER_BEDROOM","SECOND_BEDROOM","CLOAKROOM","YOUNGSTER_ROOM","STUDY","MASTER_BATHROOM","SECOND_BATHROOM","HALLWAY","BALCONY","STOREROOM","OTHER_SPACE","house_status_options","DELIVERED_HOUSE","UNDEVELOPED_HOUSE","UNCERTAIN_DELIVERY","house_type_options","LUXURY_HOUSE","BARE_SHELL_HOUSE","SECOND_HAND_HOUSE","UNDETERMINED","ListType","price_flag_options","stdConf","gift","present","package","positive","specialPrice","fixPrice","returnedPurchase","refund","sample","returning_inventory","backup_warehouse","sec_kill_product","activity_product","product_stock","PRICE_FLAG_LIST_TYPE_MAP","QUOTATION_SOLUTION","getPriceFlagOptionsByListType","listType","availableFlags","length","filter","option","includes","isPriceFlagValidForListType","flag","rounding_rule_options","SINGLE_ROUND","SINGLE_SET_EIGHT","SINGLE_SET_NINE","SINGLE_SET_TEN","SINGLE_PLUS_ONE","TEN_PLUS_ONE","SINGLE_TEN_PLUS_ONE","assign_business_type_options","ESTATE","AMOUNT_DECIMAL_VALUE_OPTIONS","AMOUNT_KEEP_1_DECIMAL_PLACE","AMOUNT_KEEP_2_DECIMAL_PLACE","AMOUNT_KEEP_3_DECIMAL_PLACE","AMOUNT_KEEP_4_DECIMAL_PLACE","CONTRACT_STATUS_OPTIONS","VOIDED","SIGN_STAY_FOR_ME","SIGN_STAY_CUSTOMER","STAY_REPORTED","UNDER_REVIEW","STAY_SCALE","STAY_SCALE_REPORTED","SCALE_UNDER_REVIEW","SCALE_REJECTED","SCALE_COMPLETED","SIGN_STYLE_OPTIONS","ONLINE_SIGN","PRINT_SIGN","SALES_END_APP_TAG_OPTIONS","STANDARD_RETAIL","ACTUAL_RETAIL","SETTLEMENT_PRICE","EXCLUSIVE_PACKAGE_PRICE","ProductUnitMeasure","ProductUnitMeasureCN","PRODUCT_UNIT_MEASURE","code","PC","english","EA","SET","BAN","SAG","VOL","BOX","PAIL","CAN","TAI","CAR","PAK","STP","ZHI","ZII","SLC","BLK","ZHG","PAL","GEN","FAN","REEL","PAIR","GROUP","STEP","M","LM","H2W1","MM","INC","M2","PM2","FM2","M3","L","ML","KG","TON","WORKLOAD","PRODUCT_UNIT_MEASURE_OPTIONS","map","item","getProductUnitMeasureByCode","find","getProductUnitMeasureByName","__constantsPlaceholder","__interfacesPlaceholder","formatDecimal","decimalPlaces","undefined","places","Math","max","floor","factor","pow","round","calcStandardPrice","children","totalChildrenPrice","forEach","childItem","calcActualPrice","count","measure","unitPrice","priceFlag","safeMeasure","safeCount","safePrice","safeCoefficient","productCoefficient","priceFlagEnum","standardAmount","result","itemDiscount","abs","calcItemUnitPrice","console","warn","itemId","uuid","calcTaxAmount","safeRate","taxRate","actualPrice","managementFeeAmount","managementFeeRate","calcTaxFeePrice","enableTaxRate","enableManagementFeeRate","taxAmount","managementFee","generateUUID","replace","c","r","random","toString","generateRandomId","chars","i","formatNumberWithCommas","valueStr","trim","number","parseFloat","isNaN","parts","split","integerPart","decimalPart","formattedInteger","findOptionByValue","options","valueField","strictOrField","Array","isArray","strict","field","getFileExtension","filename","_a","pop","toLowerCase","formatChineseMobile","phone","digits","test","slice","decimals","parseNumber","num","Number","toFixed","applyAmountDecimal","decimalType","fixed","AMOUNT_DO_NOT_RETAIN_DECIMALS","PRODUCT_CATEGORIES","WALLBOARD","VENEER","FULL_LENGTH_MIRROR","STAY_WIRE","PASS","COSTS","GAS_PIPE","SOFT_BED","DCJGF","WAT","WAT_THERMAL_SOUND","parentKey","WAT_SUPPLY","WAT_DRAINAGE","DESIGN_COSTS","DECORATIVE_LIGHTS","CLOS_PLATE","SKELETON_ARRANGEMENT","ACCESSORIES","WATER_TREATMENT","GUIDAO","ELEC","CIRCULAR_TABLE","DECORATIVE_PARTS","RUBBER_STRIP","PLUG","DECORATIVE_COLUMN","COVER_PLATE","DECORATIVE_PLATE","OTHER_ACCESSORIES","LMLJGF","WAIST_LINE","BAR_CHAIR","STRUCTURE_PROFILES","REMOTE_CONTROL","WALLPAPER","COLUMN","LATEX_PAINT","GIFTS","SLATE","BAR_COUNTER","STORAGE","PLATFORM","SUSPENDED_CEILING","BACK_SEVERAL","WALL_PANEL_FRAME","RATE_COUPON","CEMENT_MORTAR","DECORATIVE_PART","HANGING_CODE","SKIRTING_BOARD","WINDOW_CURTAINS","SHAD_CLOTH","SOFT_COVER","DECORATIVE_STONE","MESA","FUNCTIONAL_PART","CORE_BOARD","TABLE","CREATE","CREATE_LIGHT_STEEL_JOIST_WALL","CREATE_WALL","INSTALL","LIGHT_FIX_INSTALL","STONE_INSTALL","DRILL_HOLE_INSTALL","SANITARY_WARE_INSTALL","CPL","INTELLIGENCE_ELECTRICAL","DISHWASHER","STERILIZER","AGITATOR","STOVE","PURIFIER","RADIANT_COOKER","DRYER","HEATER","DISINFECTION_CABINET","WASHING_MACHINE","INTELLIGENT_PLUG_IN","MICROWAVE_OVEN","SMOKE_MACHINE","ADDTIONAL","SMART_TRASH_CAN","SLAG_CRUSHER","WATER_PURIFIER","TRANSFORMER","INTELLIGENCE_ELECTRICAL_APPARATUS","ELECTRIC_OVEN","GAS_STOVE","ELECTRIC_STEAMER","PROXYELE","LAMPS_AND_LANTERNS","QIANXIAN","LOUNGE_CHAIR","JEWELRY_HANGER","DRESS_STOOL","CLOTH","SCJGF","WALL","WALL_WOOD_BASE","WALL_SUPPORT","WALL_DECORATE","WALL_TIL","DINGING_CHAIR","CASH_COUPON","OTHER","CABINET_PANEL","SPLIT_HALL_CABINET","SHOE_CABINET","CUSTOMIZED_UNIT","HANG_GRID","WOODINESS_CD","BOOKCASE","BOX_STRUCTURE","WINE_GRID","TIE_GRID","GEO_GRID","BATHROOM_CABINET","SIDE_CABINET","SEMI_HIGH_LATTICE","DRAWER_CABINET","CYLINDER_CABINET","HALF_HEIGHT_CABINET","DECORATIVE_CABINET","KEYBOARD_HOLDER","DISPLAY_CABINET","SLIDE_DOOR_CABINET","ELEVATED_CABINET","BALCONY_CABINET","CELLS","SHOE_HAT_CABINET","WALL_CABINET","SHIRT_PALLET","WARDROBE","GRIDBOARD","TV_CABINET","WALL_MOUNTED_WARDROBE","HALL_CABINET","BEDSIDE","CONSOLE_CABINET","BED_CABINET","BOARD","BOX_BOARD","BEAR_BOARD","SIDE_BOARD","VERTICAL_SUPPORT_BOARD","TOP_BOARD","INCLINED_LAYER_BOARD","CONNECTING_BOARD","BOTTOM_BOARD","SHELF_BOARD","T_FIXTURE_BOARD","L_FIXTURE_BOARD","MID_VERTICAL_BOARD","DIVIDING_INTI_GRIDS","CABINET_IN_CABINET","SHOE_BOX","FIXTURE","ISLAND_PLATFORM","CYLINDER_CABINET_HIGH_LATTICE","CABINET_STYLE_WARDROBE","MIRROR_CABINET","COLUMN_WARDROBE","STORAGE_CABINET","WATER_BASIN_CABINET","FLOOR_CABINET","INSERT_GRID","BASE_GRID","BACKGROUND_PLATE","INSERT_UNIT","WINE_CABINET","TABLEWARE","WINE_GRILLE_HOLDER","OPEN_LATTICE","CORNER_TABLE","SHOE_RACK","BOOKSHELF","ELE","ELE_WEAK_GALVANIZED","ELE_SPECIALIZED_FURNISH","ELE_PVC_PIPE","ELE_WEAK_WIRE","ELE_ASSISTANCE","ELE_WIRE","WAT_SLOTTING","ELE_GALVANIZED","ELE_WEAK_BOX","ELE_WEAK_PVC_PIPE","COMMODE","UNIT_CABINET_PANEL","LOCK_SET","YARN_MANTLE","SPECIAL","SIDE_TABLE","FUNCTIONAL_HARDWARE","COOKER","BOTTLE_OPENER","HANDLES","DRAWER","LIGHT_BELT","HANGER_ROD","DAMPER","OTHER_HARDWARE","COUPLE","CAN_OPENER","HARDWARE_ACCESSORIES","WATERPROOF_PARTS","FAUCET","SLIDE_DOOR_HARDWARE","STOP","SWITCH","COAT_HANGER","HINGE","COUPLING_HEAD","INTELLIGENCE_HARDWARE","SLIDE_RAIL","WATER_BASIN","PULL_BASKET","FLOODLIGHT","CLOTHES_RAIL","REBOUND_DEVICE","BRACE","DISC_EXTRACTOR","SLIDE_DOOR","SCREEN","BENCH","PARAPET_WALL_BOARD","OFFICE_CHAIR","QIANGGOU","RIBBON_CLOTH","SANITARY_WARE","TRAY","PROTECT","MATERIAL_HAND_PROTECT","GARBAGE_DISPOSAL_PROTECT","LONG_RANGE_PROTECT","LOFT_PROTECT","N_SPECIAL","LB","QIANPIAN","DRESSER","ACTIVITY","TEA_TABLE","DECORATIVE_LINE","CARPET","HALF_PASS","CHAIR","CERAMICTILE","ELECTRIC_MODULE","DOOR_BOARD","FITTED_SHEET","BED","Fabric","CURTAIN_CLOTH","SOFA","BASIN","BATHROOM_MIRROR","CUSHION","DECORATIVE_LACE_YARN_MANTLE","FOLDING_SCREEN","MATTRESS","DESK","TJX","REMOVE","REMOVE_GROUND","REMOVE_WALL","REMOVE_SUSPEND_CEIL","REMOVE_METOPE","REMOVE_NEW_WORK_ITEM","GROUND","GROUND_TIL","GROUND_WOOD","GROUND_POINT","GROUND_HANDLE","ADJUSTING_PLATE","CUSTOM_PARTS","CORNET","SOFA_ROLL","TECHNOLOGY","BUILD_WALLS","PAINT","LI_XIE_QI","MORTAR_MIX","DOOR_LINTEL","PLANT_TENDONS","PRE_ARRANGED_POSIT","AN_DI_LIANG","SPREAD","REINFORCEMENT_COMPONENTS","TOP","TOP_LINE","TUYERE","SUSPENDED_SUPPORT","PLATFOND_WATER_RESISTANCE","PLATFOND","PELMET","PULLEY","PENDANT","YANGPIN","BRICK","INNER_DOOR","DOOR_LOCK","DOOR_HEADER","DOOR_JAMB","DOOR_STOPPER","DOOR_LEAF","UPGRADE_COSTS","STRUCTURAL_COMPONENTS","ALUMINUM_WIRE_CONNECTOR","OUTRIGGER","ALLOY_CLIP","LAMINATE_SUPPORT","EXPANSION_SCREW","WALL_HANGING_SUPPORT","ALUMINUM_PROFILE_COMPONENTS","STRUCTURAL_ADHESIVE","GRILLE","CIVIL_ENGINEERING","CIVIL_ENGINEERING_CREATE","CIVIL_ENGINEERING_REMOVE","WATERPROOF_BOARD","BATHTUB","ALUMINUM_FRAME","PORCH","ACCESSORIES_YARN_MANTLE","BANDING","NON_SLIP_MAT","DRESS_UNIT","FLOOR","CUSTOMIZED_TABLE_RACK","FITT","getProductCategoryByKey","categoryKey","getAllProductCategories","Object","entries","category","getSortedGroupTypes","groupCategoryMap","values","sort","a","b","order","getGroupTypeByKey","groupTypeKey","getProductCategoriesByGroupType","productCategoryMap","groupType","mainCategory","productCategories","findCategoryByKey","push","categoryName","categoryCode","some","productCategoryKey","keys","categories","key","childCategory","getPriceParamsByGroupType","categoryPriceUnit","priceUnit","excludeCategoryPriceUnit","excludePriceUnit","getClassifyRoomsAndGroups","classifyType","classifyRoomGroupMap","roomOptions","classifyMap","roomGroups","roomGroup","roomCode","room","roomName","parentCode","parentName","parentSort","roomSort","targetRoom","child","groupsData","groups","groupCode","groupInfo","productCategoriesData","groupName","groupSort","getGroupsByClassifyAndRoom","roomType","rg","getClassifyBaseInfo","classifyCode","classifyInfo","icon","matchUnit","getGroupTypeByProductCategory","productCategory","mainCategoryCode","availableGroups","Set","add","bestMatchGroupKey","mainCategoryMatchGroupKey","mainCategoryMatches","mcCode","toUpperCase","productCategoryMatches","error","groupTypesMap","actualProductCategory","mainCategoryObj","MeasureCalculator","static","simpleLabel","enName","dimension","scale","requiredDimensions","getCount","apply","countParam","CELL","width","height","depth","getByName","this","NORMAL","ADD_MULTIPLE","MULTIPLE_ADD","findItemUnitMeasure","dto","calculateSizeByConfig","unitCode","ProductUnitMeasureEnum","unit","measureUnit","calculationMethod","calculateByUnitDefinition","customLength","getMeasureUnitInfo","methods","description","defaultMethod","getAllMeasureUnits","unitInfo","size","quotaMap","getQuotaMapByDto","WIDTH","calculateValue","HEIGHT","DEPTH","operatorType","addValue","multipleValue","quota","numAddValue","numMultipleValue","ProductAttrQuotaOperatorTypeEnum","isDimensionRequired","normalizedDimension","isDimensionRelated","ItemUnitMeasureCalculator","require$$0","require$$1","calculateProductMeasure","params","calculationResult","getUsage","getProductUnitMeasureEnum","enumObj","calculateProductDosage","rowData","CUSTOM_FURNITURE","editSections","skuAttriCode","expand","attributes","type","required","dependency","isMainProduct","baseAttribute","min","default","labelKey","TOTAL_CUPBOARD","FINISHED_CABINET","FINISHED_PRODUCT","viewSettingBuilder","setting","rest","log","viewSetting","JSON","stringify","index","replaceTemplate","repeat","replaceAll","parse","getCategoryViewSetting","viewType","QuotationItem","constructor","config","productId","supplyPrice","productPriceId","spuName","unitLabel","spuId","brandId","brandName","classifyId","classifyName","model","supplyMode","outlineDemension","parentCategoryCode","parentCategoryName","styleId","styleName","schemeName","originWidth","originHeight","originDepth","skuAttributes","moveDirection","location","crimpRatio","openWidth","measureCalcParams","isExclusivePackage","standardPrice","taxFeePrice","dosage","remark","picture","components","assign","PRIVILEGE_STATE_ENUM","PRIVILEGE_STATUS_OPTIONS","TO_BE_REVIEW","APPROVED","CONTRACT_CANCEL_TYPE","CONSUMER_GROUP_ENUM","PLACE_ORDER_TYPE_ENUM"],"mappings":"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"}
|