{"version":3,"file":"range.vue2.mjs","sources":["../../../../../../packages/components/range/src/range.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToRange'\n});\n</script>\n<template>\n\t<span class=\"to-range\" :flex=\"flex ? flex : null\" :class=\"setClass\" :style=\"setStyle\" @touchmove=\"moveHandle($event)\" @touchend=\"endHandle($event)\">\n\t\t<span ref=\"barRef\" class=\"to-range-bar\">\n\t\t\t<span ref=\"progressRef\" class=\"to-range-progress\" :style=\"{ width: endProgress - startProgress + '%', left: startProgress + '%' }\">\n\t\t\t\t<span v-if=\"start\" ref=\"startRef\" class=\"to-range-handle is-start\" @mousedown=\"onStartButtonDown\"></span>\n\t\t\t\t<span ref=\"endRef\" class=\"to-range-handle\" @mousedown=\"onButtonDown\" @touchstart=\"endStartHandle($event)\"></span>\n\t\t\t</span>\n\t\t</span>\n\t\t<to-input v-if=\"inputable\" v-model=\"endProgress\" class=\"to-range-input\" :width=\"inputWidth\" :dot=\"fixed\"></to-input>\n\t</span>\n</template>\n<script lang=\"ts\" setup>\nimport { CSSProperties, computed, nextTick, onMounted, ref, watch } from 'vue'\nimport { ToInput } from '@touchvue/components'\n\n\nexport interface RangeProps {\n\tflex?: boolean\n\tmode?: string\n\tmodelValue?: string | number\n\tdisabled?: boolean\n\tinputable?: boolean\n\tmax?: string | number\n\tmin?: string | number\n\truler?: boolean\n\tstart?: boolean\n\tstep?: string | number\n\twidth?: string | number\n\tinputWidth?: string | number\n\ttoFixed?: string | number\n}\nconst props = withDefaults(defineProps<RangeProps>(), {\n\tmode: 'default',\n\tmodelValue: 0,\n\tdisabled: false,\n\tinputable: false,\n\tmax: 100,\n\tmin: 0,\n\tflex: false,\n\truler: false,\n\tstart: false,\n\tstep: 1,\n\twidth: '',\n\tinputWidth: 6,\n\ttoFixed: 0\n})\n\nconst endProgress = ref(0)\nconst startProgress = ref(0)\nconst progressRef = ref(null)\nconst endRef = ref(null)\nconst startRef = ref(null)\nconst barRef = ref(null)\nconst endDragX = ref(0)\nconst startDragX = ref(0)\nconst endProgressWidth = ref(0)\nconst startLeft = ref(0)\nconst fixed = ref(0)\nconst valueWidth = ref(0)\nconst stepProgress = ref(0)\n\nconst emit = defineEmits(['update:modelValue', 'change'])\n\nonMounted(() => {\n\tvalueWidth.value = Number(props.max) - Number(props.min)\n\tif (props.step) {\n\t\tstepProgress.value = Number(((1 / (valueWidth.value / Number(props.step))) * 100).toFixed(2))\n\t}\n\tfixed.value = Number(props.toFixed) ? Number(props.toFixed) : getDecimalPlaces(props.min)\n})\nwatch(\n\t() => endProgress.value,\n\tval => {\n\t\tnextTick(() => {\n\t\t\tlet value: string | number = 0\n\t\t\tlet valueWidth = Number(props.max) - Number(props.min)\n\t\t\tlet startValue = (Number(props.min) + valueWidth * (startProgress.value / 100)).toFixed(fixed.value)\n\t\t\tlet endValue = (Number(props.min) + valueWidth * (val / 100)).toFixed(fixed.value)\n\t\t\tif (props.start) {\n\t\t\t\tvalue = `${startValue},${Math.max(Number(startValue), Number(endValue))}`\n\t\t\t} else {\n\t\t\t\tvalue = endValue\n\t\t\t}\n\t\t\temit('update:modelValue', value)\n\t\t})\n\t}\n)\n\nwatch(\n\t() => startProgress.value,\n\tval => {\n\t\tnextTick(() => {\n\t\t\tlet value: string | number = 0\n\t\t\tlet valueWidth = Number(props.max) - Number(props.min)\n\t\t\tlet startValue = (Number(props.min) + valueWidth * (val / 100)).toFixed(fixed.value)\n\t\t\tlet endValue = (Number(props.min) + valueWidth * (endProgress.value / 100)).toFixed(fixed.value)\n\t\t\tif (props.start) {\n\t\t\t\tvalue = `${startValue},${Math.max(Number(startValue), Number(endValue))}`\n\t\t\t} else {\n\t\t\t\tvalue = endValue\n\t\t\t}\n\t\t\temit('update:modelValue', value)\n\t\t})\n\t}\n)\n\nwatch(\n\t() => props.modelValue,\n\tval => {\n\t\tlet valueWidth = Number(props.max) - Number(props.min)\n\t\tif (props.start && typeof val === 'string') {\n\t\t\tlet arr = val.split(',')\n\t\t\tendProgress.value = ((Number(arr[1]) - Number(props.min)) / valueWidth) * 100\n\t\t\tstartProgress.value = ((Number(arr[0]) - Number(props.min)) / valueWidth) * 100\n\t\t} else {\n\t\t\tlet width = ((Number(val) - Number(props.min)) / valueWidth) * 100\n\t\t\tendProgress.value = width\n\t\t}\n\t},\n\t{ immediate: true }\n)\n\nfunction getDecimalPlaces(num) {\n\t// 处理整数（无小数点）的情况\n\tif (Number.isInteger(num)) return 0\n\n\t// 将数字转为字符串并按小数点分割\n\tconst parts = num.toString().split('.')\n\n\t// 小数点后部分的长度即为小数位数（若没有小数点，返回0）\n\treturn parts.length > 1 ? parts[1].length : 0\n}\n\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.inputable) {\n\t\tarr.push(`is-inputable`)\n\t}\n\tif (props.disabled) {\n\t\tarr.push(`is-disabled`)\n\t}\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\treturn arr\n})\nconst setStyle = computed(() => {\n\tlet obj: CSSProperties = {}\n\tif (props.width) {\n\t\tobj.width = isNaN(Number(props.width)) ? props.width : `${props.width}em`\n\t}\n\treturn obj\n})\n\nfunction onButtonDown(event: MouseEvent) {\n\tif (props.disabled) return false\n\tevent.preventDefault()\n\tonEndDragStart(event)\n\twindow.addEventListener('mousemove', onDragging)\n\twindow.addEventListener('touchmove', onDragging)\n\twindow.addEventListener('mouseup', onDragEnd)\n\twindow.addEventListener('touchend', onDragEnd)\n\twindow.addEventListener('contextmenu', onDragEnd)\n}\nfunction onStartButtonDown(event: MouseEvent) {\n\tif (props.disabled) return false\n\tevent.preventDefault()\n\tonStartDragStart(event)\n\twindow.addEventListener('mousemove', onStartDragging)\n\twindow.addEventListener('touchmove', onStartDragging)\n\twindow.addEventListener('mouseup', onStartDragEnd)\n\twindow.addEventListener('touchend', onStartDragEnd)\n\twindow.addEventListener('contextmenu', onStartDragEnd)\n}\nfunction onStartDragStart(event: MouseEvent) {\n\tstartDragX.value = event.clientX\n\tstartLeft.value = Number(progressRef.value.style.left.split('%')[0])\n}\nfunction onEndDragStart(event: MouseEvent) {\n\tendDragX.value = event.clientX\n\tendProgressWidth.value = progressRef.value.offsetWidth\n}\nfunction onStartDragging(e: MouseEvent) {\n\tlet width = e.clientX - startDragX.value\n\tlet barWidth = barRef.value.offsetWidth\n\tif (width > 0) {\n\t\tlet per = startLeft.value + (width / barWidth) * 100\n\t\tif (per < endProgress.value) {\n\t\t\tstartProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t}\n\t} else if (width <= 0) {\n\t\tlet per = startLeft.value + (width / barWidth) * 100\n\t\tif (per <= 0) {\n\t\t\tstartProgress.value = 0\n\t\t} else {\n\t\t\tstartProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t}\n\t}\n}\nfunction onDragging(e: MouseEvent) {\n\tlet width = e.clientX - endDragX.value //变动值\n\tlet barWidth = barRef.value.offsetWidth //滚动区域总宽度\n\tlet startWidth = (startProgress.value / 100) * barWidth //开始按钮的位置\n\tif (props.start) {\n\t\tlet per = (width / barWidth) * 100 + ((endProgressWidth.value + startWidth) * 100) / barWidth\n\t\tif (width > 0) {\n\t\t\tif (width > barWidth - startWidth) {\n\t\t\t\tendProgress.value = 100\n\t\t\t} else {\n\t\t\t\tif (per <= 100) {\n\t\t\t\t\tendProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t\t\t} else {\n\t\t\t\t\tendProgress.value = 100\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (width <= 0) {\n\t\t\tif (Math.abs(width) > barWidth - startWidth) {\n\t\t\t\tendProgress.value = startProgress.value\n\t\t\t} else {\n\t\t\t\tendProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif (width > 0) {\n\t\t\tif (width > barWidth) {\n\t\t\t\tendProgress.value = 100\n\t\t\t} else {\n\t\t\t\tlet per = (endProgressWidth.value / barWidth + width / barWidth) * 100\n\t\t\t\tif (per <= 100) {\n\t\t\t\t\tendProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t\t\t} else {\n\t\t\t\t\tendProgress.value = 100\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (width <= 0) {\n\t\t\tlet per = (width / barWidth) * 100 + (endProgressWidth.value / barWidth) * 100\n\t\t\tif (per >= 0) {\n\t\t\t\tendProgress.value = stepProgress.value * Math.round(per / stepProgress.value)\n\t\t\t} else if (per < 0) {\n\t\t\t\tendProgress.value = 0\n\t\t\t}\n\t\t}\n\t}\n}\nfunction onDragEnd() {\n\twindow.removeEventListener('mousemove', onDragging)\n\twindow.removeEventListener('touchmove', onDragging)\n\twindow.removeEventListener('mouseup', onDragEnd)\n\twindow.removeEventListener('touchend', onDragEnd)\n\twindow.removeEventListener('contextmenu', onDragEnd)\n}\nfunction onStartDragEnd() {\n\twindow.removeEventListener('mousemove', onStartDragging)\n\twindow.removeEventListener('touchmove', onStartDragging)\n\twindow.removeEventListener('mouseup', onStartDragEnd)\n\twindow.removeEventListener('touchend', onStartDragEnd)\n\twindow.removeEventListener('contextmenu', onStartDragEnd)\n}\nfunction endStartHandle(event) {\n\tconsole.log('endStartHandle', event)\n}\nfunction moveHandle(event) {\n\tconsole.log('moveHandle', event)\n}\nfunction endHandle(event) {\n\tconsole.log('moveHandle', event)\n}\n</script>\n"],"names":["DO_defineComponent","valueWidth","_createElementBlock","_normalizeClass","flex","_createElementVNode","_normalizeStyle","start","inputable","_createBlock","_unref","inputWidth"],"mappings":";;;AAEA,MAAA,cAA6BA,eAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,SAAA;AACP,CAAC,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;AAiCD,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAgBd,IAAM,MAAA,WAAA,GAAc,IAAI,CAAC,CAAA,CAAA;AACzB,IAAM,MAAA,aAAA,GAAgB,IAAI,CAAC,CAAA,CAAA;AAC3B,IAAM,MAAA,WAAA,GAAc,IAAI,IAAI,CAAA,CAAA;AAC5B,IAAM,MAAA,MAAA,GAAS,IAAI,IAAI,CAAA,CAAA;AACvB,IAAM,MAAA,QAAA,GAAW,IAAI,IAAI,CAAA,CAAA;AACzB,IAAM,MAAA,MAAA,GAAS,IAAI,IAAI,CAAA,CAAA;AACvB,IAAM,MAAA,QAAA,GAAW,IAAI,CAAC,CAAA,CAAA;AACtB,IAAM,MAAA,UAAA,GAAa,IAAI,CAAC,CAAA,CAAA;AACxB,IAAM,MAAA,gBAAA,GAAmB,IAAI,CAAC,CAAA,CAAA;AAC9B,IAAM,MAAA,SAAA,GAAY,IAAI,CAAC,CAAA,CAAA;AACvB,IAAM,MAAA,KAAA,GAAQ,IAAI,CAAC,CAAA,CAAA;AACnB,IAAM,MAAA,UAAA,GAAa,IAAI,CAAC,CAAA,CAAA;AACxB,IAAM,MAAA,YAAA,GAAe,IAAI,CAAC,CAAA,CAAA;AAE1B,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAA,SAAA,CAAU,MAAM;AACf,MAAA,UAAA,CAAW,QAAQ,MAAO,CAAA,KAAA,CAAM,GAAG,CAAI,GAAA,MAAA,CAAO,MAAM,GAAG,CAAA,CAAA;AACvD,MAAA,IAAI,MAAM,IAAM,EAAA;AACf,QAAA,YAAA,CAAa,KAAQ,GAAA,MAAA,CAAA,CAAS,CAAK,IAAA,UAAA,CAAW,KAAQ,GAAA,MAAA,CAAO,KAAM,CAAA,IAAI,CAAM,CAAA,GAAA,GAAA,EAAK,OAAQ,CAAA,CAAC,CAAC,CAAA,CAAA;AAAA,OAC7F;AACA,MAAM,KAAA,CAAA,KAAA,GAAQ,MAAO,CAAA,KAAA,CAAM,OAAO,CAAA,GAAI,MAAO,CAAA,KAAA,CAAM,OAAO,CAAA,GAAI,gBAAiB,CAAA,KAAA,CAAM,GAAG,CAAA,CAAA;AAAA,KACxF,CAAA,CAAA;AACD,IAAA,KAAA;AAAA,MACC,MAAM,WAAY,CAAA,KAAA;AAAA,MAClB,CAAO,GAAA,KAAA;AACN,QAAA,QAAA,CAAS,MAAM;AACd,UAAA,IAAI,KAAyB,GAAA,CAAA,CAAA;AAC7B,UAAA,IAAIC,cAAa,MAAO,CAAA,KAAA,CAAM,GAAG,CAAI,GAAA,MAAA,CAAO,MAAM,GAAG,CAAA,CAAA;AACrD,UAAI,IAAA,UAAA,GAAA,CAAc,MAAO,CAAA,KAAA,CAAM,GAAG,CAAA,GAAIA,WAAc,IAAA,aAAA,CAAc,KAAQ,GAAA,GAAA,CAAA,EAAM,OAAQ,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AACnG,UAAI,IAAA,QAAA,GAAA,CAAY,MAAO,CAAA,KAAA,CAAM,GAAG,CAAA,GAAIA,eAAc,GAAM,GAAA,GAAA,CAAA,EAAM,OAAQ,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AACjF,UAAA,IAAI,MAAM,KAAO,EAAA;AAChB,YAAQ,KAAA,GAAA,CAAA,EAAG,cAAc,IAAK,CAAA,GAAA,CAAI,OAAO,UAAU,CAAA,EAAG,MAAO,CAAA,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA;AAAA,WAChE,MAAA;AACN,YAAQ,KAAA,GAAA,QAAA,CAAA;AAAA,WACT;AACA,UAAA,IAAA,CAAK,qBAAqB,KAAK,CAAA,CAAA;AAAA,SAC/B,CAAA,CAAA;AAAA,OACF;AAAA,KACD,CAAA;AAEA,IAAA,KAAA;AAAA,MACC,MAAM,aAAc,CAAA,KAAA;AAAA,MACpB,CAAO,GAAA,KAAA;AACN,QAAA,QAAA,CAAS,MAAM;AACd,UAAA,IAAI,KAAyB,GAAA,CAAA,CAAA;AAC7B,UAAA,IAAIA,cAAa,MAAO,CAAA,KAAA,CAAM,GAAG,CAAI,GAAA,MAAA,CAAO,MAAM,GAAG,CAAA,CAAA;AACrD,UAAI,IAAA,UAAA,GAAA,CAAc,MAAO,CAAA,KAAA,CAAM,GAAG,CAAA,GAAIA,eAAc,GAAM,GAAA,GAAA,CAAA,EAAM,OAAQ,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AACnF,UAAI,IAAA,QAAA,GAAA,CAAY,MAAO,CAAA,KAAA,CAAM,GAAG,CAAA,GAAIA,WAAc,IAAA,WAAA,CAAY,KAAQ,GAAA,GAAA,CAAA,EAAM,OAAQ,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AAC/F,UAAA,IAAI,MAAM,KAAO,EAAA;AAChB,YAAQ,KAAA,GAAA,CAAA,EAAG,cAAc,IAAK,CAAA,GAAA,CAAI,OAAO,UAAU,CAAA,EAAG,MAAO,CAAA,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA;AAAA,WAChE,MAAA;AACN,YAAQ,KAAA,GAAA,QAAA,CAAA;AAAA,WACT;AACA,UAAA,IAAA,CAAK,qBAAqB,KAAK,CAAA,CAAA;AAAA,SAC/B,CAAA,CAAA;AAAA,OACF;AAAA,KACD,CAAA;AAEA,IAAA,KAAA;AAAA,MACC,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,CAAO,GAAA,KAAA;AACN,QAAA,IAAIA,cAAa,MAAO,CAAA,KAAA,CAAM,GAAG,CAAI,GAAA,MAAA,CAAO,MAAM,GAAG,CAAA,CAAA;AACrD,QAAA,IAAI,KAAM,CAAA,KAAA,IAAS,OAAO,GAAA,KAAQ,QAAU,EAAA;AAC3C,UAAI,IAAA,GAAA,GAAM,GAAI,CAAA,KAAA,CAAM,GAAG,CAAA,CAAA;AACvB,UAAY,WAAA,CAAA,KAAA,GAAA,CAAU,MAAO,CAAA,GAAA,CAAI,CAAC,CAAC,IAAI,MAAO,CAAA,KAAA,CAAM,GAAG,CAAA,IAAKA,WAAc,GAAA,GAAA,CAAA;AAC1E,UAAc,aAAA,CAAA,KAAA,GAAA,CAAU,MAAO,CAAA,GAAA,CAAI,CAAC,CAAC,IAAI,MAAO,CAAA,KAAA,CAAM,GAAG,CAAA,IAAKA,WAAc,GAAA,GAAA,CAAA;AAAA,SACtE,MAAA;AACN,UAAI,IAAA,KAAA,GAAA,CAAU,OAAO,GAAG,CAAA,GAAI,OAAO,KAAM,CAAA,GAAG,KAAKA,WAAc,GAAA,GAAA,CAAA;AAC/D,UAAA,WAAA,CAAY,KAAQ,GAAA,KAAA,CAAA;AAAA,SACrB;AAAA,OACD;AAAA,MACA,EAAE,WAAW,IAAK,EAAA;AAAA,KACnB,CAAA;AAEA,IAAA,SAAS,iBAAiB,GAAK,EAAA;AAE9B,MAAI,IAAA,MAAA,CAAO,UAAU,GAAG,CAAA;AAAG,QAAO,OAAA,CAAA,CAAA;AAGlC,MAAA,MAAM,KAAQ,GAAA,GAAA,CAAI,QAAS,EAAA,CAAE,MAAM,GAAG,CAAA,CAAA;AAGtC,MAAA,OAAO,MAAM,MAAS,GAAA,CAAA,GAAI,KAAM,CAAA,CAAC,EAAE,MAAS,GAAA,CAAA,CAAA;AAAA,KAC7C;AAEA,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAA,IAAI,MAAgB,EAAC,CAAA;AACrB,MAAA,IAAI,MAAM,SAAW,EAAA;AACpB,QAAA,GAAA,CAAI,KAAK,CAAc,YAAA,CAAA,CAAA,CAAA;AAAA,OACxB;AACA,MAAA,IAAI,MAAM,QAAU,EAAA;AACnB,QAAA,GAAA,CAAI,KAAK,CAAa,WAAA,CAAA,CAAA,CAAA;AAAA,OACvB;AACA,MAAA,IAAI,MAAM,IAAM,EAAA;AACf,QAAI,GAAA,CAAA,IAAA,CAAK,CAAQ,KAAA,EAAA,KAAA,CAAM,IAAM,CAAA,CAAA,CAAA,CAAA;AAAA,OAC9B;AACA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AACD,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAA,IAAI,MAAqB,EAAC,CAAA;AAC1B,MAAA,IAAI,MAAM,KAAO,EAAA;AAChB,QAAI,GAAA,CAAA,KAAA,GAAQ,KAAM,CAAA,MAAA,CAAO,KAAM,CAAA,KAAK,CAAC,CAAI,GAAA,KAAA,CAAM,KAAQ,GAAA,CAAA,EAAG,KAAM,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA;AAAA,OACjE;AACA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAA,SAAS,aAAa,KAAmB,EAAA;AACxC,MAAA,IAAI,KAAM,CAAA,QAAA;AAAU,QAAO,OAAA,KAAA,CAAA;AAC3B,MAAA,KAAA,CAAM,cAAe,EAAA,CAAA;AACrB,MAAA,cAAA,CAAe,KAAK,CAAA,CAAA;AACpB,MAAO,MAAA,CAAA,gBAAA,CAAiB,aAAa,UAAU,CAAA,CAAA;AAC/C,MAAO,MAAA,CAAA,gBAAA,CAAiB,aAAa,UAAU,CAAA,CAAA;AAC/C,MAAO,MAAA,CAAA,gBAAA,CAAiB,WAAW,SAAS,CAAA,CAAA;AAC5C,MAAO,MAAA,CAAA,gBAAA,CAAiB,YAAY,SAAS,CAAA,CAAA;AAC7C,MAAO,MAAA,CAAA,gBAAA,CAAiB,eAAe,SAAS,CAAA,CAAA;AAAA,KACjD;AACA,IAAA,SAAS,kBAAkB,KAAmB,EAAA;AAC7C,MAAA,IAAI,KAAM,CAAA,QAAA;AAAU,QAAO,OAAA,KAAA,CAAA;AAC3B,MAAA,KAAA,CAAM,cAAe,EAAA,CAAA;AACrB,MAAA,gBAAA,CAAiB,KAAK,CAAA,CAAA;AACtB,MAAO,MAAA,CAAA,gBAAA,CAAiB,aAAa,eAAe,CAAA,CAAA;AACpD,MAAO,MAAA,CAAA,gBAAA,CAAiB,aAAa,eAAe,CAAA,CAAA;AACpD,MAAO,MAAA,CAAA,gBAAA,CAAiB,WAAW,cAAc,CAAA,CAAA;AACjD,MAAO,MAAA,CAAA,gBAAA,CAAiB,YAAY,cAAc,CAAA,CAAA;AAClD,MAAO,MAAA,CAAA,gBAAA,CAAiB,eAAe,cAAc,CAAA,CAAA;AAAA,KACtD;AACA,IAAA,SAAS,iBAAiB,KAAmB,EAAA;AAC5C,MAAA,UAAA,CAAW,QAAQ,KAAM,CAAA,OAAA,CAAA;AACzB,MAAU,SAAA,CAAA,KAAA,GAAQ,MAAO,CAAA,WAAA,CAAY,KAAM,CAAA,KAAA,CAAM,KAAK,KAAM,CAAA,GAAG,CAAE,CAAA,CAAC,CAAC,CAAA,CAAA;AAAA,KACpE;AACA,IAAA,SAAS,eAAe,KAAmB,EAAA;AAC1C,MAAA,QAAA,CAAS,QAAQ,KAAM,CAAA,OAAA,CAAA;AACvB,MAAiB,gBAAA,CAAA,KAAA,GAAQ,YAAY,KAAM,CAAA,WAAA,CAAA;AAAA,KAC5C;AACA,IAAA,SAAS,gBAAgB,CAAe,EAAA;AACvC,MAAI,IAAA,KAAA,GAAQ,CAAE,CAAA,OAAA,GAAU,UAAW,CAAA,KAAA,CAAA;AACnC,MAAI,IAAA,QAAA,GAAW,OAAO,KAAM,CAAA,WAAA,CAAA;AAC5B,MAAA,IAAI,QAAQ,CAAG,EAAA;AACd,QAAA,IAAI,GAAM,GAAA,SAAA,CAAU,KAAS,GAAA,KAAA,GAAQ,QAAY,GAAA,GAAA,CAAA;AACjD,QAAI,IAAA,GAAA,GAAM,YAAY,KAAO,EAAA;AAC5B,UAAA,aAAA,CAAc,QAAQ,YAAa,CAAA,KAAA,GAAQ,KAAK,KAAM,CAAA,GAAA,GAAM,aAAa,KAAK,CAAA,CAAA;AAAA,SAC/E;AAAA,OACD,MAAA,IAAW,SAAS,CAAG,EAAA;AACtB,QAAA,IAAI,GAAM,GAAA,SAAA,CAAU,KAAS,GAAA,KAAA,GAAQ,QAAY,GAAA,GAAA,CAAA;AACjD,QAAA,IAAI,OAAO,CAAG,EAAA;AACb,UAAA,aAAA,CAAc,KAAQ,GAAA,CAAA,CAAA;AAAA,SAChB,MAAA;AACN,UAAA,aAAA,CAAc,QAAQ,YAAa,CAAA,KAAA,GAAQ,KAAK,KAAM,CAAA,GAAA,GAAM,aAAa,KAAK,CAAA,CAAA;AAAA,SAC/E;AAAA,OACD;AAAA,KACD;AACA,IAAA,SAAS,WAAW,CAAe,EAAA;AAClC,MAAI,IAAA,KAAA,GAAQ,CAAE,CAAA,OAAA,GAAU,QAAS,CAAA,KAAA,CAAA;AACjC,MAAI,IAAA,QAAA,GAAW,OAAO,KAAM,CAAA,WAAA,CAAA;AAC5B,MAAI,IAAA,UAAA,GAAc,aAAc,CAAA,KAAA,GAAQ,GAAO,GAAA,QAAA,CAAA;AAC/C,MAAA,IAAI,MAAM,KAAO,EAAA;AAChB,QAAA,IAAI,MAAO,KAAQ,GAAA,QAAA,GAAY,OAAQ,gBAAiB,CAAA,KAAA,GAAQ,cAAc,GAAO,GAAA,QAAA,CAAA;AACrF,QAAA,IAAI,QAAQ,CAAG,EAAA;AACd,UAAI,IAAA,KAAA,GAAQ,WAAW,UAAY,EAAA;AAClC,YAAA,WAAA,CAAY,KAAQ,GAAA,GAAA,CAAA;AAAA,WACd,MAAA;AACN,YAAA,IAAI,OAAO,GAAK,EAAA;AACf,cAAA,WAAA,CAAY,QAAQ,YAAa,CAAA,KAAA,GAAQ,KAAK,KAAM,CAAA,GAAA,GAAM,aAAa,KAAK,CAAA,CAAA;AAAA,aACtE,MAAA;AACN,cAAA,WAAA,CAAY,KAAQ,GAAA,GAAA,CAAA;AAAA,aACrB;AAAA,WACD;AAAA,SACD,MAAA,IAAW,SAAS,CAAG,EAAA;AACtB,UAAA,IAAI,IAAK,CAAA,GAAA,CAAI,KAAK,CAAA,GAAI,WAAW,UAAY,EAAA;AAC5C,YAAA,WAAA,CAAY,QAAQ,aAAc,CAAA,KAAA,CAAA;AAAA,WAC5B,MAAA;AACN,YAAA,WAAA,CAAY,QAAQ,YAAa,CAAA,KAAA,GAAQ,KAAK,KAAM,CAAA,GAAA,GAAM,aAAa,KAAK,CAAA,CAAA;AAAA,WAC7E;AAAA,SACD;AAAA,OACM,MAAA;AACN,QAAA,IAAI,QAAQ,CAAG,EAAA;AACd,UAAA,IAAI,QAAQ,QAAU,EAAA;AACrB,YAAA,WAAA,CAAY,KAAQ,GAAA,GAAA,CAAA;AAAA,WACd,MAAA;AACN,YAAA,IAAI,GAAO,GAAA,CAAA,gBAAA,CAAiB,KAAQ,GAAA,QAAA,GAAW,QAAQ,QAAY,IAAA,GAAA,CAAA;AACnE,YAAA,IAAI,OAAO,GAAK,EAAA;AACf,cAAA,WAAA,CAAY,QAAQ,YAAa,CAAA,KAAA,GAAQ,KAAK,KAAM,CAAA,GAAA,GAAM,aAAa,KAAK,CAAA,CAAA;AAAA,aACtE,MAAA;AACN,cAAA,WAAA,CAAY,KAAQ,GAAA,GAAA,CAAA;AAAA,aACrB;AAAA,WACD;AAAA,SACD,MAAA,IAAW,SAAS,CAAG,EAAA;AACtB,UAAA,IAAI,MAAO,KAAQ,GAAA,QAAA,GAAY,GAAO,GAAA,gBAAA,CAAiB,QAAQ,QAAY,GAAA,GAAA,CAAA;AAC3E,UAAA,IAAI,OAAO,CAAG,EAAA;AACb,YAAA,WAAA,CAAY,QAAQ,YAAa,CAAA,KAAA,GAAQ,KAAK,KAAM,CAAA,GAAA,GAAM,aAAa,KAAK,CAAA,CAAA;AAAA,WAC7E,MAAA,IAAW,MAAM,CAAG,EAAA;AACnB,YAAA,WAAA,CAAY,KAAQ,GAAA,CAAA,CAAA;AAAA,WACrB;AAAA,SACD;AAAA,OACD;AAAA,KACD;AACA,IAAA,SAAS,SAAY,GAAA;AACpB,MAAO,MAAA,CAAA,mBAAA,CAAoB,aAAa,UAAU,CAAA,CAAA;AAClD,MAAO,MAAA,CAAA,mBAAA,CAAoB,aAAa,UAAU,CAAA,CAAA;AAClD,MAAO,MAAA,CAAA,mBAAA,CAAoB,WAAW,SAAS,CAAA,CAAA;AAC/C,MAAO,MAAA,CAAA,mBAAA,CAAoB,YAAY,SAAS,CAAA,CAAA;AAChD,MAAO,MAAA,CAAA,mBAAA,CAAoB,eAAe,SAAS,CAAA,CAAA;AAAA,KACpD;AACA,IAAA,SAAS,cAAiB,GAAA;AACzB,MAAO,MAAA,CAAA,mBAAA,CAAoB,aAAa,eAAe,CAAA,CAAA;AACvD,MAAO,MAAA,CAAA,mBAAA,CAAoB,aAAa,eAAe,CAAA,CAAA;AACvD,MAAO,MAAA,CAAA,mBAAA,CAAoB,WAAW,cAAc,CAAA,CAAA;AACpD,MAAO,MAAA,CAAA,mBAAA,CAAoB,YAAY,cAAc,CAAA,CAAA;AACrD,MAAO,MAAA,CAAA,mBAAA,CAAoB,eAAe,cAAc,CAAA,CAAA;AAAA,KACzD;AACA,IAAA,SAAS,eAAe,KAAO,EAAA;AAC9B,MAAQ,OAAA,CAAA,GAAA,CAAI,kBAAkB,KAAK,CAAA,CAAA;AAAA,KACpC;AACA,IAAA,SAAS,WAAW,KAAO,EAAA;AAC1B,MAAQ,OAAA,CAAA,GAAA,CAAI,cAAc,KAAK,CAAA,CAAA;AAAA,KAChC;AACA,IAAA,SAAS,UAAU,KAAO,EAAA;AACzB,MAAQ,OAAA,CAAA,GAAA,CAAI,cAAc,KAAK,CAAA,CAAA;AAAA,KAChC;;wBAzQC,EAAAC,kBAAA,CAQO,MAAA,EAAA;AAAA,QARD,OAAKC,cAAA,CAAA,CAAC,UAA8C,EAAA,QAAA,CAAQ,KAAA,CAAA,CAAA;AAAA,QAA1C,IAAMC,EAAAA,IAAAA,CAAI,IAAGA,GAAAA,IAAAA,CAAI,IAAA,GAAA,IAAA;AAAA,QAA4B,KAAA,gBAAO,CAAA,QAAA,CAAQ,KAAA,CAAA;AAAA,QAAG,WAAS,EAAA,CAAA,MAAE,KAAA,UAAA,CAAW,MAAM,CAAA;AAAA,QAAI,UAAQ,EAAA,CAAA,MAAE,KAAA,SAAA,CAAU,MAAM,CAAA;AAAA;QAChJC,kBAAA;AAAA,UAKO,MAAA;AAAA,UAAA;AAAA,mBALG,EAAA,QAAA;AAAA,YAAJ,GAAI,EAAA,MAAA;AAAA,YAAS,KAAM,EAAA,cAAA;AAAA;;YACxBA,kBAAA;AAAA,cAGO,MAAA;AAAA,cAAA;AAAA,uBAHG,EAAA,aAAA;AAAA,gBAAJ,GAAI,EAAA,WAAA;AAAA,gBAAc,KAAM,EAAA,mBAAA;AAAA,gBAAqB,KAAgB,EAAAC,cAAA,CAAA,EAAA,KAAA,EAAA,WAAA,CAAA,KAAA,GAAc,aAAA,CAAA,KAAA,cAA2B,aAAa,CAAA,KAAA,GAAA,KAAA,CAAA;AAAA;;gBAC5GC,IAAAA,CAAK,oBAAjB,EAAAL,kBAAA;AAAA,kBAAyG,MAAA;AAAA,kBAAA;AAAA;2BAAlF,EAAA,UAAA;AAAA,oBAAJ,GAAI,EAAA,QAAA;AAAA,oBAAW,KAAM,EAAA,0BAAA;AAAA,oBAA4B,WAAW,EAAA,iBAAA;AAAA;;;;;gBAC/EG,mBAAiH,MAAA,EAAA;AAAA,yBAAvG,EAAA,QAAA;AAAA,kBAAJ,GAAI,EAAA,MAAA;AAAA,kBAAS,KAAM,EAAA,iBAAA;AAAA,kBAAmB,WAAW,EAAA,YAAA;AAAA,kBAAe,YAAU,EAAA,CAAA,MAAE,KAAA,cAAA,CAAe,MAAM,CAAA;AAAA;;;;;;;;;QAGzFG,KAAS,0BAAzBC,WAAoH,CAAAC,KAAA,CAAA,OAAA,CAAA,EAAA;AAAA;sBAAhF,WAAW,CAAA,KAAA;AAAA,wCAAX,KAAA,WAAA,CAAW,KAAA,GAAA,MAAA;AAAA,UAAE,KAAM,EAAA,gBAAA;AAAA,UAAkB,OAAOC,IAAU,CAAA,UAAA;AAAA,UAAG,KAAK,KAAK,CAAA,KAAA;AAAA;;;;;;;;"}