@jnrs/lingshu-smart 3.0.0 → 3.1.1

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.
@@ -1,15 +1,15 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode('@charset "UTF-8";.perf-stats-toggle[data-v-6d69d95e]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#0a0e14;border:1px solid #1a2332;border-radius:6px;color:#00d97e;font-family:JetBrains Mono,SF Mono,Fira Code,Consolas,Menlo,monospace;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.perf-stats-toggle[data-v-6d69d95e]:hover{border-color:#00d97e;box-shadow:0 0 12px #00d97e4d}.perf-monitor[data-v-6d69d95e]{background:#0a0e14;border:1px solid #1a2332;border-radius:8px;overflow:hidden;font-family:JetBrains Mono,SF Mono,Fira Code,Consolas,Menlo,monospace;box-shadow:inset 0 1px #ffffff08,0 4px 16px #0006}.perf-monitor__header[data-v-6d69d95e]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:linear-gradient(180deg,#111827,#0d1117);border-bottom:1px solid #1a2332}.perf-monitor__pulse[data-v-6d69d95e]{width:7px;height:7px;border-radius:50%;background:#00d97e;box-shadow:0 0 8px #00d97ecc;animation:perf-pulse-6d69d95e 1.6s ease-in-out infinite;flex-shrink:0}.perf-monitor__pulse--offline[data-v-6d69d95e]{background:#f56c6c;box-shadow:0 0 8px #f56c6ccc;animation:none}.perf-monitor__title[data-v-6d69d95e]{font-size:10px;font-weight:600;letter-spacing:1.5px;color:#50617d;text-transform:uppercase;white-space:nowrap}.perf-monitor__status[data-v-6d69d95e]{font-size:9px;font-weight:700;letter-spacing:1px;color:#00d97e;padding:2px 6px;background:#00d97e1a;border:1px solid rgba(0,217,126,.3);border-radius:3px;white-space:nowrap}.perf-monitor__status--connected[data-v-6d69d95e]{color:#00d97e;background:#00d97e1a;border-color:#00d97e4d}.perf-monitor__status--disconnected[data-v-6d69d95e]{color:#f56c6c;background:#f56c6c1a;border-color:#f56c6c4d}.perf-monitor__header-spacer[data-v-6d69d95e]{flex:1}.perf-monitor__collapse[data-v-6d69d95e]{background:none;border:none;color:#4a5568;cursor:pointer;font-size:14px;line-height:1;padding:0 2px;transition:color .2s;flex-shrink:0}.perf-monitor__collapse[data-v-6d69d95e]:hover{color:#f56c6c}.perf-monitor__grid[data-v-6d69d95e]{display:grid;gap:1px;background:#1a2332;background:linear-gradient(180deg,#111827,#0d1117);padding:1px}.perf-monitor--stacked .perf-monitor__grid[data-v-6d69d95e]{grid-template-columns:1fr 1fr}.perf-monitor--inline .perf-monitor__grid[data-v-6d69d95e]{grid-template-columns:repeat(4,minmax(120px,1fr));align-items:center}.perf-monitor--inline .perf-monitor__grid--inline-header[data-v-6d69d95e]{grid-template-columns:auto auto auto auto auto auto}.perf-monitor--inline .perf-cell[data-v-6d69d95e]{display:flex;flex-direction:column;justify-content:center;height:var(--perf-height, auto);min-height:32px;padding:4px 10px;overflow:hidden}.perf-monitor--inline .perf-cell[data-v-6d69d95e]:not(:last-of-type){border-right:1px solid #1a2332}.perf-monitor--inline .perf-cell__label[data-v-6d69d95e]{margin-bottom:1px}.perf-monitor--inline .perf-cell--header[data-v-6d69d95e],.perf-monitor--inline .perf-cell--action[data-v-6d69d95e]{flex-direction:row}.perf-cell[data-v-6d69d95e]{padding:10px 12px}.perf-cell--header[data-v-6d69d95e]{display:flex;align-items:center;gap:8px;white-space:nowrap}.perf-cell--action[data-v-6d69d95e]{display:flex;align-items:center;justify-content:flex-end;background:linear-gradient(180deg,#111827,#0d1117);padding:8px 12px;white-space:nowrap}.perf-cell__label[data-v-6d69d95e]{font-size:9px;font-weight:600;letter-spacing:1.2px;color:#50617d;margin-bottom:5px;text-transform:uppercase;text-align:center;width:100%}.perf-cell__value[data-v-6d69d95e]{font-size:14px;font-weight:500;letter-spacing:.3px;line-height:1.2;text-align:center}.perf-cell__value--time[data-v-6d69d95e]{color:#c59a82;font-variant-numeric:tabular-nums;min-width:6.5ch}.perf-cell__value--uptime[data-v-6d69d95e]{color:#5eb1ff;font-variant-numeric:tabular-nums;min-width:7.5ch}.perf-cell__value--count[data-v-6d69d95e]{color:#5eb1ff;font-variant-numeric:tabular-nums}.perf-cell__value--size[data-v-6d69d95e]{color:#c792ea;font-variant-numeric:tabular-nums}.perf-cell__value--fps-green[data-v-6d69d95e]{color:#00d97e;font-variant-numeric:tabular-nums;min-width:7.5ch}.perf-cell__value--fps-yellow[data-v-6d69d95e]{color:#f5c542;font-variant-numeric:tabular-nums}.perf-cell__value--fps-red[data-v-6d69d95e]{color:#f56c6c;font-variant-numeric:tabular-nums}.perf-cell__traffic[data-v-6d69d95e]{display:flex;align-items:baseline;justify-content:center;gap:6px;white-space:nowrap;min-width:20ch;width:100%}.perf-cell__unit_count[data-v-6d69d95e]{color:#5eb1ff;font-size:10px;font-weight:400}.perf-cell__divider[data-v-6d69d95e]{width:1px;height:12px;background:#1a2332;margin:0 4px;align-self:center}@keyframes perf-pulse-6d69d95e{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.8)}}.debug-hint[data-v-a7919be0]{margin-left:8px;font-size:12px;opacity:.6}.debug-panel__level-option[data-v-a7919be0]{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px}.debug-panel__level-name[data-v-a7919be0]{font-size:12px;color:var(--el-text-color-primary)}.debug-panel__level-tag[data-v-a7919be0]{font-size:12px;color:#2a64f6;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.tinyScrollbar[data-v-de2a0143]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-de2a0143]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-de2a0143]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-de2a0143]{font-size:30px}.commonBtn[data-v-de2a0143]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-de2a0143]:hover{filter:opacity(.8)}.commonBtn span[data-v-de2a0143]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-de2a0143]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-de2a0143]{background:#7cdcb7}.commonBtn.emerald[data-v-de2a0143]{background:#10b981;color:#fff}.commonBtn.white[data-v-de2a0143]{background:#f2f2f2}.commonBtn.readOnly[data-v-de2a0143]{pointer-events:none}.commonBtn.disable[data-v-de2a0143]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-de2a0143]{position:relative;pointer-events:none;animation:brightness-de2a0143 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-de2a0143]{animation:spin-de2a0143 1s linear infinite}@keyframes brightness-de2a0143{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-de2a0143{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-de2a0143]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-de2a0143] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-de2a0143],.el-dialog[data-v-de2a0143]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.menu[data-v-de2a0143]{width:100%;height:100%}.menu .menu_input[data-v-de2a0143]{width:100%;display:flex;align-items:center;background-color:#373737;padding-left:10px;box-sizing:border-box;border-radius:16px;color:#f2f2f2;font-size:18px}.menu .menu_input input[data-v-de2a0143]{flex:1;min-width:0;height:38px;padding:0 8px;background:none;border:none;outline:none;color:#f2f2f2;font-size:16px}.menu .menu_input .menu_input_clear[data-v-de2a0143]{margin-right:8px;font-size:14px;cursor:pointer;opacity:.6}.menu .menu_input .menu_input_clear[data-v-de2a0143]:hover{opacity:1}.menu .menu_container[data-v-de2a0143]{position:absolute;top:48px;bottom:0;width:100%;padding-right:8px;overflow-x:hidden;overflow-y:auto}.menu .menu_container .menu_group[data-v-de2a0143]{word-break:break-all}.menu .menu_container .menu_group .menu_group_title[data-v-de2a0143]{padding:16px 0;font-size:16px;color:#f2c34f}.menu .menu_container .menu_group .menu_group_item[data-v-de2a0143]{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;margin-bottom:8px;border-radius:4px;line-height:1.2em;font-size:14px;background-color:#373737;transition:all .25s ease;cursor:pointer}.menu .menu_container .menu_group .menu_group_item[data-v-de2a0143]:hover{filter:brightness(1.2)}.menu .menu_container .menu_group .menu_group_item span[data-v-de2a0143]{font-size:12px;color:#ffffff80;width:50%;text-align:right;line-height:1em}.menu .menu_container .menu_group .menu_group_noItem[data-v-de2a0143]{padding:8px 16px;margin-bottom:8px;line-height:1.2em;color:#fff9}.menu .menu_container .menu_group .menu_group_noItem span[data-v-de2a0143]{color:#fffc;text-decoration:underline;cursor:pointer}.menu .menu_container .menu_group .menu_group_noItem span[data-v-de2a0143]:hover{color:#f9dd4a}.tinyScrollbar[data-v-74074b92]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-74074b92]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-74074b92]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-74074b92]{font-size:30px}.commonBtn[data-v-74074b92]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-74074b92]:hover{filter:opacity(.8)}.commonBtn span[data-v-74074b92]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-74074b92]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-74074b92]{background:#7cdcb7}.commonBtn.emerald[data-v-74074b92]{background:#10b981;color:#fff}.commonBtn.white[data-v-74074b92]{background:#f2f2f2}.commonBtn.readOnly[data-v-74074b92]{pointer-events:none}.commonBtn.disable[data-v-74074b92]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-74074b92]{position:relative;pointer-events:none;animation:brightness-74074b92 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-74074b92]{animation:spin-74074b92 1s linear infinite}@keyframes brightness-74074b92{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-74074b92{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-74074b92]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-74074b92] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-74074b92],.el-dialog[data-v-74074b92]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.layer_wrap[data-v-74074b92]{position:relative;width:100%;height:100%;box-sizing:border-box;display:flex;flex-direction:column}.layer[data-v-74074b92]{position:relative;flex:1;min-height:0;width:100%;padding-right:8px;overflow-x:hidden;overflow-y:auto}.layer .layer_item[data-v-74074b92]{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 0;border-radius:8px;background-color:#373737;margin:8px 0;box-sizing:border-box;transition:all .25s ease;cursor:pointer}.layer .layer_item[data-v-74074b92]:hover{filter:brightness(1.2)}.layer .layer_item .layer_item_index[data-v-74074b92]{width:24px;text-align:center;font-size:14px;opacity:.5}.layer .layer_item .layer_item_icon[data-v-74074b92]{box-sizing:unset;padding:8px 16px;font-size:14px;opacity:.8}.layer .layer_item .layer_item_icon[data-v-74074b92]:hover{opacity:1;filter:brightness(2)}.layer .layer_item .layer_item_icon_active[data-v-74074b92]{color:#d73732}.layer .layer_item .layer_item_text[data-v-74074b92]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.layer .layer_item .layer_item_name[data-v-74074b92]{word-break:break-all;line-height:1.2em;font-size:14px}.layer .layer_item .layer_item_nameplate[data-v-74074b92]{word-break:break-all;line-height:1.2em;font-size:11px;opacity:.8}.layer .layer_item .layer_item_right[data-v-74074b92]{display:flex;align-items:center}.layer .layer_item .layer_item_right .layer_item_icon[data-v-74074b92]{padding:6px}.layer .layer_item_selected[data-v-74074b92]{color:#373737;background:#7cdcb7}.layer .layer_item_hide[data-v-74074b92]{filter:brightness(.6)}.layer .layer_item_sort[data-v-74074b92]{position:relative;transform:translateY(4px)}.layer .layer_item_sort[data-v-74074b92]:before{content:"";position:absolute;top:-7px;left:50%;width:90%;height:2px;border-radius:2px;background:#f9dd4a;transform:translate(-50%)}.layer .layer_sort_end[data-v-74074b92]{width:90%;height:2px;margin:4px auto;border-radius:2px;background:#f9dd4a}.layer_footer[data-v-74074b92]{flex-shrink:0;display:flex;justify-content:center;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.layer_footer .clear_all_btn[data-v-74074b92]{min-width:88px;padding:6px 16px;border:1px solid rgba(255,255,255,.35);border-radius:4px;background-color:transparent;color:#f2f2f2;font-size:12px;line-height:1;cursor:pointer;transition:all .25s ease}.layer_footer .clear_all_btn[data-v-74074b92]:hover:not(:disabled){border-color:#f9dd4a;color:#f9dd4a}.layer_footer .clear_all_btn[data-v-74074b92]:disabled{opacity:.4;cursor:not-allowed}.tinyScrollbar[data-v-b0bca111]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-b0bca111]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-b0bca111]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-b0bca111]{font-size:30px}.commonBtn[data-v-b0bca111]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-b0bca111]:hover{filter:opacity(.8)}.commonBtn span[data-v-b0bca111]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-b0bca111]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-b0bca111]{background:#7cdcb7}.commonBtn.emerald[data-v-b0bca111]{background:#10b981;color:#fff}.commonBtn.white[data-v-b0bca111]{background:#f2f2f2}.commonBtn.readOnly[data-v-b0bca111]{pointer-events:none}.commonBtn.disable[data-v-b0bca111]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-b0bca111]{position:relative;pointer-events:none;animation:brightness-b0bca111 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-b0bca111]{animation:spin-b0bca111 1s linear infinite}@keyframes brightness-b0bca111{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-b0bca111{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-b0bca111]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-b0bca111] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-b0bca111],.el-dialog[data-v-b0bca111]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.equipmentCard[data-v-b0bca111]{position:relative;width:100%;height:100%;box-sizing:border-box}.container[data-v-b0bca111]{position:absolute;top:48px;bottom:0;width:100%;box-sizing:border-box}.tab[data-v-b0bca111]{width:100%;height:32px;display:flex;justify-content:space-between}.tab .tab_item[data-v-b0bca111]{flex:1;display:inline-block;border-bottom:2px solid rgba(255,255,255,.2);text-align:center;transition:all .25s ease;cursor:pointer}.tab .tab_item[data-v-b0bca111]:hover{filter:opacity(.8)}.tab .tab_item_active[data-v-b0bca111]{color:#f2c34f;border-color:#f2c34f}.tinyScrollbar[data-v-54c16d2b]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-54c16d2b]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-54c16d2b]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-54c16d2b]{font-size:30px}.commonBtn[data-v-54c16d2b]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-54c16d2b]:hover{filter:opacity(.8)}.commonBtn span[data-v-54c16d2b]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-54c16d2b]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-54c16d2b]{background:#7cdcb7}.commonBtn.emerald[data-v-54c16d2b]{background:#10b981;color:#fff}.commonBtn.white[data-v-54c16d2b]{background:#f2f2f2}.commonBtn.readOnly[data-v-54c16d2b]{pointer-events:none}.commonBtn.disable[data-v-54c16d2b]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-54c16d2b]{position:relative;pointer-events:none;animation:brightness-54c16d2b 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-54c16d2b]{animation:spin-54c16d2b 1s linear infinite}@keyframes brightness-54c16d2b{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-54c16d2b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-54c16d2b]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-54c16d2b] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-54c16d2b],.el-dialog[data-v-54c16d2b]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.texture[data-v-54c16d2b]{display:flex;align-items:center;justify-content:space-between;width:100%;height:24px;background:#424242}.textureLabel[data-v-54c16d2b]{display:inline-block;width:50%;height:24px;line-height:24px;color:#fff;font-size:12px;text-align:center}.textureImg[data-v-54c16d2b]{display:inline-block;width:50%;height:24px;background-size:8px 8px;background-position:center;background-repeat:repeat}[data-v-54c16d2b] .color_picker,[data-v-54c16d2b] .color_picker .el-color-picker__trigger{width:100%}.tinyScrollbar[data-v-1981c110]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-1981c110]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-1981c110]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-1981c110]{font-size:30px}.commonBtn[data-v-1981c110]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-1981c110]:hover{filter:opacity(.8)}.commonBtn span[data-v-1981c110]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-1981c110]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-1981c110]{background:#7cdcb7}.commonBtn.emerald[data-v-1981c110]{background:#10b981;color:#fff}.commonBtn.white[data-v-1981c110]{background:#f2f2f2}.commonBtn.readOnly[data-v-1981c110]{pointer-events:none}.commonBtn.disable[data-v-1981c110]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-1981c110]{position:relative;pointer-events:none;animation:brightness-1981c110 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-1981c110]{animation:spin-1981c110 1s linear infinite}@keyframes brightness-1981c110{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-1981c110{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-1981c110]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-1981c110] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-1981c110],.el-dialog[data-v-1981c110]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.tinyScrollbar[data-v-991554f9]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-991554f9]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-991554f9]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-991554f9]{font-size:30px}.commonBtn[data-v-991554f9]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-991554f9]:hover{filter:opacity(.8)}.commonBtn span[data-v-991554f9]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-991554f9]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-991554f9]{background:#7cdcb7}.commonBtn.emerald[data-v-991554f9]{background:#10b981;color:#fff}.commonBtn.white[data-v-991554f9]{background:#f2f2f2}.commonBtn.readOnly[data-v-991554f9]{pointer-events:none}.commonBtn.disable[data-v-991554f9]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-991554f9]{position:relative;pointer-events:none;animation:brightness-991554f9 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-991554f9]{animation:spin-991554f9 1s linear infinite}@keyframes brightness-991554f9{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-991554f9{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-991554f9]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-991554f9] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-991554f9],.el-dialog[data-v-991554f9]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.tinyScrollbar[data-v-ca6127d3]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-ca6127d3]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-ca6127d3]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-ca6127d3]{font-size:30px}.commonBtn[data-v-ca6127d3]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-ca6127d3]:hover{filter:opacity(.8)}.commonBtn span[data-v-ca6127d3]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-ca6127d3]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-ca6127d3]{background:#7cdcb7}.commonBtn.emerald[data-v-ca6127d3]{background:#10b981;color:#fff}.commonBtn.white[data-v-ca6127d3]{background:#f2f2f2}.commonBtn.readOnly[data-v-ca6127d3]{pointer-events:none}.commonBtn.disable[data-v-ca6127d3]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-ca6127d3]{position:relative;pointer-events:none;animation:brightness-ca6127d3 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-ca6127d3]{animation:spin-ca6127d3 1s linear infinite}@keyframes brightness-ca6127d3{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-ca6127d3{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-ca6127d3]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-ca6127d3] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-ca6127d3],.el-dialog[data-v-ca6127d3]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.val_inline[data-v-ca6127d3]{display:flex;align-items:center;gap:4px}.val_inline .el-input[data-v-ca6127d3]{flex:1;min-width:0}.val_inline .reset_btn[data-v-ca6127d3]{flex:0 0 auto;margin-left:0}.tinyScrollbar[data-v-847869a2]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-847869a2]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-847869a2]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-847869a2]{font-size:30px}.commonBtn[data-v-847869a2]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-847869a2]:hover{filter:opacity(.8)}.commonBtn span[data-v-847869a2]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-847869a2]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-847869a2]{background:#7cdcb7}.commonBtn.emerald[data-v-847869a2]{background:#10b981;color:#fff}.commonBtn.white[data-v-847869a2]{background:#f2f2f2}.commonBtn.readOnly[data-v-847869a2]{pointer-events:none}.commonBtn.disable[data-v-847869a2]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-847869a2]{position:relative;pointer-events:none;animation:brightness-847869a2 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-847869a2]{animation:spin-847869a2 1s linear infinite}@keyframes brightness-847869a2{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-847869a2{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-847869a2]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-847869a2] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-847869a2],.el-dialog[data-v-847869a2]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.tinyScrollbar[data-v-4812a45a]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-4812a45a]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-4812a45a]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-4812a45a]{font-size:30px}.commonBtn[data-v-4812a45a]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-4812a45a]:hover{filter:opacity(.8)}.commonBtn span[data-v-4812a45a]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-4812a45a]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-4812a45a]{background:#7cdcb7}.commonBtn.emerald[data-v-4812a45a]{background:#10b981;color:#fff}.commonBtn.white[data-v-4812a45a]{background:#f2f2f2}.commonBtn.readOnly[data-v-4812a45a]{pointer-events:none}.commonBtn.disable[data-v-4812a45a]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-4812a45a]{position:relative;pointer-events:none;animation:brightness-4812a45a 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-4812a45a]{animation:spin-4812a45a 1s linear infinite}@keyframes brightness-4812a45a{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-4812a45a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-4812a45a]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-4812a45a] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-4812a45a],.el-dialog[data-v-4812a45a]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.section-title[data-v-b50f0bdf]{display:inline-block;position:relative;margin-bottom:8px}.section-title b[data-v-b50f0bdf]{position:relative;z-index:1;font-size:16px;color:#424242;padding:0 8px;border-radius:4px;background-color:#f2c34f}.station-slot-table-wrap[data-v-b50f0bdf]{height:450px}.station-slot-table[data-v-b50f0bdf] .el-table-v2__header-cell{border-right:1px solid var(--el-border-color-lighter);padding:0}.station-slot-table[data-v-b50f0bdf] .el-table-v2__row-cell{border-right:1px solid var(--el-border-color-lighter);border-bottom:1px solid var(--el-border-color-lighter)}.station-slot-table[data-v-b50f0bdf] .required{color:#f56c6c}.station-slot-table[data-v-b50f0bdf] .resource-type-option{display:flex;align-items:center;justify-content:space-between;gap:8px}.station-slot-table[data-v-b50f0bdf] .resource-type-option__name{color:#909399;font-size:12px}.station-slot-table[data-v-b50f0bdf] .display-option{display:flex;align-items:center;justify-content:space-between;gap:8px}.station-slot-table[data-v-b50f0bdf] .display-option__desc{color:#909399;font-size:12px}.station-slot-table[data-v-b50f0bdf] .op-cell{display:flex;align-items:center;justify-content:center}.station-slot-table[data-v-b50f0bdf] .op-cell .el-button+.el-button{margin-left:0}.table-empty[data-v-b50f0bdf]{display:flex;align-items:center;justify-content:center;height:100%;color:#909399;font-size:13px}.dialog-actions[data-v-b50f0bdf]{display:flex;justify-content:flex-end;gap:8px;margin:8px 0 0 auto}.batch-tip[data-v-b50f0bdf]{color:#e6a23c;font-size:13px;margin-bottom:12px;padding:8px 12px;background-color:#e6a23c1a;border:1px solid rgba(230,162,60,.3);border-radius:4px}.tinyScrollbar[data-v-0c12be0a]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-0c12be0a]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-0c12be0a]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-0c12be0a]{font-size:30px}.commonBtn[data-v-0c12be0a]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-0c12be0a]:hover{filter:opacity(.8)}.commonBtn span[data-v-0c12be0a]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-0c12be0a]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-0c12be0a]{background:#7cdcb7}.commonBtn.emerald[data-v-0c12be0a]{background:#10b981;color:#fff}.commonBtn.white[data-v-0c12be0a]{background:#f2f2f2}.commonBtn.readOnly[data-v-0c12be0a]{pointer-events:none}.commonBtn.disable[data-v-0c12be0a]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-0c12be0a]{position:relative;pointer-events:none;animation:brightness-0c12be0a 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-0c12be0a]{animation:spin-0c12be0a 1s linear infinite}@keyframes brightness-0c12be0a{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-0c12be0a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-0c12be0a]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-0c12be0a] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-0c12be0a],.el-dialog[data-v-0c12be0a]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.form_group_title[data-v-0c12be0a]{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;color:#303133;margin-bottom:8px;padding-left:8px}.layer_item[data-v-0c12be0a]{position:relative;border-radius:6px;padding:5px 10px 10px;margin-bottom:4px;background:#e2e2e2;overflow:hidden}.layer_badge[data-v-0c12be0a]{position:absolute;top:-1px;left:-1px;display:flex;align-items:center;background:#121212;color:#fff;font-size:12px;line-height:1;padding:4px;border-radius:0 0 10px}.layer_badge_input[data-v-0c12be0a]{width:52px}.layer_badge_input[data-v-0c12be0a] .el-input__wrapper{background:transparent;box-shadow:none;padding:0 2px}.layer_badge_input[data-v-0c12be0a] .el-input__inner{color:#fff;font-size:12px;height:16px;line-height:16px}.layer_header[data-v-0c12be0a]{display:flex;justify-content:flex-end;align-items:center;margin-bottom:8px;padding-bottom:6px;border-bottom:1px dashed #424242}.layer_actions[data-v-0c12be0a]{display:flex;align-items:center;gap:8px}.layer_actions .el-button+.el-button[data-v-0c12be0a]{margin-left:0}.layer_actions .el-button[data-v-0c12be0a]:not(.is-link){padding:0}.layer_info[data-v-0c12be0a]{display:flex;flex-wrap:nowrap;justify-content:space-between}.info_row[data-v-0c12be0a]{display:flex;align-items:center;gap:4px}.info_label[data-v-0c12be0a]{font-size:12px;color:#909399}.info_value[data-v-0c12be0a]{font-size:12px;color:#303133;font-weight:500}.empty_hint[data-v-0c12be0a]{text-align:center;padding:16px;font-size:12px;color:#909399;background:#f5f7fa;border-radius:4px;border:1px dashed #dcdfe6}.tinyScrollbar[data-v-0d9800be]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-0d9800be]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-0d9800be]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-0d9800be]{font-size:30px}.commonBtn[data-v-0d9800be]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-0d9800be]:hover{filter:opacity(.8)}.commonBtn span[data-v-0d9800be]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-0d9800be]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-0d9800be]{background:#7cdcb7}.commonBtn.emerald[data-v-0d9800be]{background:#10b981;color:#fff}.commonBtn.white[data-v-0d9800be]{background:#f2f2f2}.commonBtn.readOnly[data-v-0d9800be]{pointer-events:none}.commonBtn.disable[data-v-0d9800be]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-0d9800be]{position:relative;pointer-events:none;animation:brightness-0d9800be 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-0d9800be]{animation:spin-0d9800be 1s linear infinite}@keyframes brightness-0d9800be{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-0d9800be{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-0d9800be]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-0d9800be] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-0d9800be],.el-dialog[data-v-0d9800be]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.tinyScrollbar[data-v-5c6df67d]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-5c6df67d]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-5c6df67d]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-5c6df67d]{font-size:30px}.commonBtn[data-v-5c6df67d]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-5c6df67d]:hover{filter:opacity(.8)}.commonBtn span[data-v-5c6df67d]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-5c6df67d]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-5c6df67d]{background:#7cdcb7}.commonBtn.emerald[data-v-5c6df67d]{background:#10b981;color:#fff}.commonBtn.white[data-v-5c6df67d]{background:#f2f2f2}.commonBtn.readOnly[data-v-5c6df67d]{pointer-events:none}.commonBtn.disable[data-v-5c6df67d]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-5c6df67d]{position:relative;pointer-events:none;animation:brightness-5c6df67d 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-5c6df67d]{animation:spin-5c6df67d 1s linear infinite}@keyframes brightness-5c6df67d{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-5c6df67d{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-5c6df67d]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-5c6df67d] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-5c6df67d],.el-dialog[data-v-5c6df67d]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.fixture-binding-option[data-v-5c6df67d]{display:flex;align-items:center;justify-content:space-between;gap:8px}.fixture-binding-option .fixture-binding-option__fixtures[data-v-5c6df67d]{color:#67c23a;font-size:12px}.tinyScrollbar[data-v-88782ed6]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-88782ed6]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-88782ed6]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-88782ed6]{font-size:30px}.commonBtn[data-v-88782ed6]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-88782ed6]:hover{filter:opacity(.8)}.commonBtn span[data-v-88782ed6]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-88782ed6]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-88782ed6]{background:#7cdcb7}.commonBtn.emerald[data-v-88782ed6]{background:#10b981;color:#fff}.commonBtn.white[data-v-88782ed6]{background:#f2f2f2}.commonBtn.readOnly[data-v-88782ed6]{pointer-events:none}.commonBtn.disable[data-v-88782ed6]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-88782ed6]{position:relative;pointer-events:none;animation:brightness-88782ed6 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-88782ed6]{animation:spin-88782ed6 1s linear infinite}@keyframes brightness-88782ed6{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-88782ed6{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-88782ed6]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-88782ed6] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-88782ed6],.el-dialog[data-v-88782ed6]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.tinyScrollbar[data-v-b11802e4]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-b11802e4]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-b11802e4]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-b11802e4]{font-size:30px}.commonBtn[data-v-b11802e4]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-b11802e4]:hover{filter:opacity(.8)}.commonBtn span[data-v-b11802e4]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-b11802e4]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-b11802e4]{background:#7cdcb7}.commonBtn.emerald[data-v-b11802e4]{background:#10b981;color:#fff}.commonBtn.white[data-v-b11802e4]{background:#f2f2f2}.commonBtn.readOnly[data-v-b11802e4]{pointer-events:none}.commonBtn.disable[data-v-b11802e4]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-b11802e4]{position:relative;pointer-events:none;animation:brightness-b11802e4 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-b11802e4]{animation:spin-b11802e4 1s linear infinite}@keyframes brightness-b11802e4{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-b11802e4{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-b11802e4]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-b11802e4] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-b11802e4],.el-dialog[data-v-b11802e4]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.tinyScrollbar[data-v-952be1e4]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-952be1e4]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-952be1e4]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-952be1e4]{font-size:30px}.commonBtn[data-v-952be1e4]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-952be1e4]:hover{filter:opacity(.8)}.commonBtn span[data-v-952be1e4]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-952be1e4]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-952be1e4]{background:#7cdcb7}.commonBtn.emerald[data-v-952be1e4]{background:#10b981;color:#fff}.commonBtn.white[data-v-952be1e4]{background:#f2f2f2}.commonBtn.readOnly[data-v-952be1e4]{pointer-events:none}.commonBtn.disable[data-v-952be1e4]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-952be1e4]{position:relative;pointer-events:none;animation:brightness-952be1e4 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-952be1e4]{animation:spin-952be1e4 1s linear infinite}@keyframes brightness-952be1e4{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-952be1e4{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-952be1e4]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-952be1e4] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-952be1e4],.el-dialog[data-v-952be1e4]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.tinyScrollbar[data-v-8efbee24]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-8efbee24]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-8efbee24]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-8efbee24]{font-size:30px}.commonBtn[data-v-8efbee24]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-8efbee24]:hover{filter:opacity(.8)}.commonBtn span[data-v-8efbee24]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-8efbee24]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-8efbee24]{background:#7cdcb7}.commonBtn.emerald[data-v-8efbee24]{background:#10b981;color:#fff}.commonBtn.white[data-v-8efbee24]{background:#f2f2f2}.commonBtn.readOnly[data-v-8efbee24]{pointer-events:none}.commonBtn.disable[data-v-8efbee24]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-8efbee24]{position:relative;pointer-events:none;animation:brightness-8efbee24 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-8efbee24]{animation:spin-8efbee24 1s linear infinite}@keyframes brightness-8efbee24{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-8efbee24{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-8efbee24]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-8efbee24] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-8efbee24],.el-dialog[data-v-8efbee24]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.tinyScrollbar[data-v-7cd0d7a7]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-7cd0d7a7]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-7cd0d7a7]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-7cd0d7a7]{font-size:30px}.commonBtn[data-v-7cd0d7a7]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-7cd0d7a7]:hover{filter:opacity(.8)}.commonBtn span[data-v-7cd0d7a7]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-7cd0d7a7]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-7cd0d7a7]{background:#7cdcb7}.commonBtn.emerald[data-v-7cd0d7a7]{background:#10b981;color:#fff}.commonBtn.white[data-v-7cd0d7a7]{background:#f2f2f2}.commonBtn.readOnly[data-v-7cd0d7a7]{pointer-events:none}.commonBtn.disable[data-v-7cd0d7a7]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-7cd0d7a7]{position:relative;pointer-events:none;animation:brightness-7cd0d7a7 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-7cd0d7a7]{animation:spin-7cd0d7a7 1s linear infinite}@keyframes brightness-7cd0d7a7{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-7cd0d7a7{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-7cd0d7a7]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-7cd0d7a7] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-7cd0d7a7],.el-dialog[data-v-7cd0d7a7]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.container[data-v-7cd0d7a7]{position:absolute;top:48px;bottom:0;width:100%;box-sizing:border-box}.tab[data-v-7cd0d7a7]{width:100%;height:32px;display:flex;justify-content:space-between}.tab .tab_item[data-v-7cd0d7a7]{flex:1;display:inline-block;border-bottom:2px solid rgba(255,255,255,.2);text-align:center;transition:all .25s ease;cursor:pointer}.tab .tab_item[data-v-7cd0d7a7]:hover{filter:opacity(.8)}.tab .tab_item_active[data-v-7cd0d7a7]{color:#f2c34f;border-color:#f2c34f}.editParamsForm{position:relative;width:100%;height:100%;box-sizing:border-box}.editParamsForm .formContainer{width:100%;height:100%;padding-right:8px;overflow-x:hidden;overflow-y:auto}.editParamsForm .formContainer .form_group{padding-bottom:16px;word-break:break-all}.editParamsForm .formContainer .form_group:not(:first-child) .form_group_title{border-top:1px solid rgba(255,255,255,.2)}.editParamsForm .formContainer .form_group .form_group_title{display:flex;align-items:center;justify-content:space-between;padding:16px 0;font-size:16px;color:#f2c34f}.editParamsForm .formContainer .form_group .keyVal{display:flex;align-items:center;margin-bottom:16px;position:relative}.editParamsForm .formContainer .form_group .keyVal .key{width:80px;line-height:1.2em;font-size:14px}.editParamsForm .formContainer .form_group .keyVal .key_required{position:relative;display:inline-block}.editParamsForm .formContainer .form_group .keyVal .key_required:after{content:"";position:absolute;left:0;bottom:-3px;width:50%;height:2px;border-radius:1px;background-color:#ff4d4f}.editParamsForm .formContainer .form_group .keyVal .val{flex:1;border-radius:4px;min-height:32px}.editParamsForm .formContainer .form_group .keyVal .val_readonly{flex:1;background-color:#fff;color:#666;border-radius:4px;min-height:32px;font-size:14px;line-height:1.2em;padding:1px 11px}.editParamsForm .formContainer .form_group .keyVal .unit{display:block;font-size:14px;opacity:.6}.editParamsForm .formContainer .form_group .keyVal .errorMessage{position:absolute;left:0;right:0;bottom:-4px;z-index:1;border-radius:4px;transform:translateY(100%);background-color:#d73732;color:#f2f2f2;font-size:12px;text-align:center}.editParamsForm .formContainer .el_icon{margin-left:8px;opacity:.6;cursor:pointer}.editParamsForm .formContainer .el_icon:hover{opacity:1}.editParamsForm .sameAreaBox{position:relative;background-color:#8fb9cb80;border-radius:4px}#lingshu-smart-editorApp[data-v-ca67a980]{width:100%;height:100%;display:block}.tinyScrollbar[data-v-e2ae50f5]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-e2ae50f5]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-e2ae50f5]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-e2ae50f5]{font-size:30px}.commonBtn[data-v-e2ae50f5]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-e2ae50f5]:hover{filter:opacity(.8)}.commonBtn span[data-v-e2ae50f5]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-e2ae50f5]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-e2ae50f5]{background:#7cdcb7}.commonBtn.emerald[data-v-e2ae50f5]{background:#10b981;color:#fff}.commonBtn.white[data-v-e2ae50f5]{background:#f2f2f2}.commonBtn.readOnly[data-v-e2ae50f5]{pointer-events:none}.commonBtn.disable[data-v-e2ae50f5]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-e2ae50f5]{position:relative;pointer-events:none;animation:brightness-e2ae50f5 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-e2ae50f5]{animation:spin-e2ae50f5 1s linear infinite}@keyframes brightness-e2ae50f5{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-e2ae50f5{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-e2ae50f5]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-e2ae50f5] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-e2ae50f5],.el-dialog[data-v-e2ae50f5]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.case_title[data-v-e2ae50f5]{color:#f2c34f;font-size:18px;font-weight:400;text-align:left;text-decoration:underline;cursor:pointer;line-height:1.2}.case_title[data-v-e2ae50f5]:hover{opacity:.8}.case_id[data-v-e2ae50f5]{display:flex;align-items:center;justify-content:flex-start;gap:4px;margin-top:4px;font-size:12px;color:#ffffff73}.case_id .case_id_text[data-v-e2ae50f5]{font-family:JetBrains Mono,SF Mono,Consolas,Menlo,monospace}.case_id .case_id_copy[data-v-e2ae50f5]{flex-shrink:0;cursor:pointer}.case_id .case_id_copy[data-v-e2ae50f5]:hover{opacity:.75}.ei_header[data-v-41cb1641]{display:flex;align-items:center;gap:12px;padding:4px 0}.ei_header .ei_header_title[data-v-41cb1641]{font-size:17px;font-weight:600;line-height:1.3}.ei_header .ei_header_sub[data-v-41cb1641]{margin-top:2px;font-size:12px;color:#909399}.ei_body[data-v-41cb1641]{display:flex;flex-direction:column;gap:18px;padding:4px 2px}.ei_section .ei_section_title[data-v-41cb1641]{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;font-weight:600;color:#606266}.ei_section .ei_section_title .ei_section_title_warn[data-v-41cb1641]{font-size:12px;font-weight:400;color:#e6a23c}.ei_section .ei_alert[data-v-41cb1641]{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;border-radius:6px;background:#e6a23c14;border:1px solid rgba(230,162,60,.35);color:#b88230;font-size:12px;line-height:1.5}.ei_section .ei_alert .el-icon[data-v-41cb1641]{flex-shrink:0;color:#e6a23c}.ei_actions[data-v-41cb1641]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ei_actions .ei_action[data-v-41cb1641]{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #e4e7ed;border-radius:10px;background:#fafbfc;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.ei_actions .ei_action[data-v-41cb1641]:hover{border-color:#409eff;background:#409eff0a;box-shadow:0 2px 10px #409eff1f;transform:translateY(-1px)}.ei_actions .ei_action .ei_action_icon[data-v-41cb1641]{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:8px;background:#409eff1a;color:#409eff;font-size:18px}.ei_actions .ei_action .ei_action_text[data-v-41cb1641]{display:flex;flex-direction:column;gap:2px;min-width:0}.ei_actions .ei_action .ei_action_text b[data-v-41cb1641]{font-size:14px;color:#303133}.ei_actions .ei_action .ei_action_text span[data-v-41cb1641]{font-size:12px;color:#909399}.ei_footer[data-v-41cb1641]{display:flex;justify-content:flex-end;gap:8px}.export-import-dialog{border-radius:12px;box-shadow:0 12px 40px #0000002e}.export-import-dialog .el-dialog__header{padding:16px 20px 12px;margin-right:0;background:linear-gradient(180deg,#409eff0f,#409eff00);border-bottom:1px solid #ebeef5}.export-import-dialog .el-dialog__headerbtn{top:20px;right:20px}.export-import-dialog .el-dialog__body{padding:16px 20px}.export-import-dialog .el-dialog__footer{padding:12px 20px 16px;border-top:1px solid #ebeef5}.export-import-dialog .el-textarea__inner{border-radius:8px;font-family:JetBrains Mono,SF Mono,Consolas,Menlo,monospace;font-size:12px;line-height:1.6}.export-import-dialog .el-textarea__inner:focus{box-shadow:0 0 0 1px #409eff inset}.tinyScrollbar[data-v-dfd86e18]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-dfd86e18]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-dfd86e18]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-dfd86e18]{font-size:30px}.commonBtn[data-v-dfd86e18]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-dfd86e18]:hover{filter:opacity(.8)}.commonBtn span[data-v-dfd86e18]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-dfd86e18]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-dfd86e18]{background:#7cdcb7}.commonBtn.emerald[data-v-dfd86e18]{background:#10b981;color:#fff}.commonBtn.white[data-v-dfd86e18]{background:#f2f2f2}.commonBtn.readOnly[data-v-dfd86e18]{pointer-events:none}.commonBtn.disable[data-v-dfd86e18]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-dfd86e18]{position:relative;pointer-events:none;animation:brightness-dfd86e18 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-dfd86e18]{animation:spin-dfd86e18 1s linear infinite}@keyframes brightness-dfd86e18{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-dfd86e18{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-dfd86e18]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-dfd86e18] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-dfd86e18],.el-dialog[data-v-dfd86e18]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.persist_dialog[data-v-dfd86e18]{display:flex;flex-direction:column;gap:16px}.persist_dialog .persist_option_title[data-v-dfd86e18]{margin-bottom:4px;font-size:15px;font-weight:700}.persist_dialog .persist_option_desc[data-v-dfd86e18]{margin-bottom:10px;font-size:13px;line-height:1.5;color:#909399;word-break:break-all}.persist_dialog .persist_option_desc code[data-v-dfd86e18]{padding:1px 6px;border-radius:4px;background:#409eff1a;color:#409eff;font-family:JetBrains Mono,SF Mono,Consolas,Menlo,monospace}.persist_dialog .persist_option[data-v-dfd86e18]{display:flex;gap:14px;padding:16px;border:1px solid #e5e7eb;border-radius:8px}.persist_dialog .persist_option .persist_option_icon[data-v-dfd86e18]{display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex-shrink:0;border-radius:8px;background:#409eff1f;color:#409eff}.persist_dialog .persist_option .persist_option_icon_green[data-v-dfd86e18]{background:#10b9811f;color:#10b981}.persist_dialog .persist_option .persist_option_icon_disabled[data-v-dfd86e18]{filter:grayscale(1);opacity:.6}.persist_dialog .persist_option .persist_option_body[data-v-dfd86e18]{flex:1;min-width:0}.persist_dialog .persist_option .persist_option_error[data-v-dfd86e18]{margin-top:10px;padding:8px 12px;border-radius:4px;background:#f56c6c1a;border:1px solid rgba(245,108,108,.4);color:#f56c6c;font-size:13px;line-height:1.5;word-break:break-all}.persist_dialog .persist_btn_warn[data-v-dfd86e18]{--el-button-bg-color: #e6a23c;--el-button-border-color: #e6a23c;--el-button-hover-bg-color: #eebe77;--el-button-hover-border-color: #eebe77}.persist_dialog .persist_git[data-v-dfd86e18]{padding:16px;border:1px dashed #10b981;border-radius:8px;background:#10b9810f}.persist_dialog .persist_git .persist_option_title[data-v-dfd86e18]{color:#10b981}.persist_dialog .persist_git .persist_git_command[data-v-dfd86e18]{display:flex;align-items:flex-start;gap:8px}.persist_dialog .persist_git .persist_git_command .persist_git_textarea[data-v-dfd86e18]{flex:1}.persist_dialog .persist_git .persist_git_command .persist_git_textarea[data-v-dfd86e18] textarea{font-family:JetBrains Mono,SF Mono,Consolas,Menlo,monospace;font-size:12px}.tinyScrollbar[data-v-d79837b9]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-d79837b9]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-d79837b9]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-d79837b9]{font-size:30px}.commonBtn[data-v-d79837b9]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-d79837b9]:hover{filter:opacity(.8)}.commonBtn span[data-v-d79837b9]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-d79837b9]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-d79837b9]{background:#7cdcb7}.commonBtn.emerald[data-v-d79837b9]{background:#10b981;color:#fff}.commonBtn.white[data-v-d79837b9]{background:#f2f2f2}.commonBtn.readOnly[data-v-d79837b9]{pointer-events:none}.commonBtn.disable[data-v-d79837b9]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-d79837b9]{position:relative;pointer-events:none;animation:brightness-d79837b9 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-d79837b9]{animation:spin-d79837b9 1s linear infinite}@keyframes brightness-d79837b9{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-d79837b9{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-d79837b9]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-d79837b9] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-d79837b9],.el-dialog[data-v-d79837b9]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.dropdown_menu_btn[data-v-d79837b9]{padding-top:5px;border-top:1px solid #e5e7eb}.tinyScrollbar::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon{font-size:30px}.commonBtn{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn:hover{filter:opacity(.8)}.commonBtn span{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red{background:#d73732;color:#f2f2f2}.commonBtn.green{background:#7cdcb7}.commonBtn.emerald{background:#10b981;color:#fff}.commonBtn.white{background:#f2f2f2}.commonBtn.readOnly{pointer-events:none}.commonBtn.disable{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading{position:relative;pointer-events:none;animation:brightness 1s linear infinite}.commonBtn.loading .loadingIcon{animation:spin 1s linear infinite}@keyframes brightness{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn :deep(.el-dropdown-menu__item){display:block;width:100%;padding:0}.el-message-box,.el-dialog{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.dropdown_menu_item{width:100%;display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none}.dropdown_menu_header{display:flex;align-items:center;padding:0 16px 5px;margin-bottom:2px;border-bottom:1px solid #e5e7eb;font-size:12px;color:#909399}.dropdown_menu_header .dropdown_menu_header_title{flex:1;min-width:0}.dropdown_menu_header .dropdown_menu_header_id{width:77px;text-align:center}.dropdown_menu_header .dropdown_menu_header_actions{width:44px;text-align:center}.dropdown_menu_item_title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown_menu_item_id{width:64px;margin-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;font-size:12px;font-family:JetBrains Mono,SF Mono,Consolas,Menlo,monospace;color:#8f8f8f}.dropdown_menu_item_actions{display:flex;align-items:center;gap:2px;margin-left:10px;flex-shrink:0}.dropdown_menu_item_action{font-size:14px;padding:2px;border-radius:2px;cursor:pointer}.dropdown_menu_item_action:hover{opacity:.75}.dropdown_menu_item_active{position:relative}.dropdown_menu_item_active:before{content:"";position:absolute;top:50%;left:-7px;border:5px solid transparent;border-color:transparent transparent transparent rgb(242,195,79);transform:translateY(-50%) scaleX(1.5)}.dropdown_menu_item_active .dropdown_menu_item_title{color:#f2c34f}.dropdown_menu_noData{padding:5px 0;text-align:center;color:#999}.tinyScrollbar[data-v-a9412967]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-a9412967]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-a9412967]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-a9412967]{font-size:30px}.commonBtn[data-v-a9412967]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-a9412967]:hover{filter:opacity(.8)}.commonBtn span[data-v-a9412967]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-a9412967]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-a9412967]{background:#7cdcb7}.commonBtn.emerald[data-v-a9412967]{background:#10b981;color:#fff}.commonBtn.white[data-v-a9412967]{background:#f2f2f2}.commonBtn.readOnly[data-v-a9412967]{pointer-events:none}.commonBtn.disable[data-v-a9412967]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-a9412967]{position:relative;pointer-events:none;animation:brightness-a9412967 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-a9412967]{animation:spin-a9412967 1s linear infinite}@keyframes brightness-a9412967{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-a9412967{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-a9412967]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-a9412967] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-a9412967],.el-dialog[data-v-a9412967]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.step-visualizer-container[data-v-a9412967]{display:flex;flex-direction:column;align-items:center;padding:8px;background:#f2c34f26;border-radius:8px;border:1px solid rgb(242,195,79);font-family:sans-serif;-webkit-user-select:none;user-select:none}.step-labels[data-v-a9412967]{width:100%;display:flex;justify-content:space-between;font-size:12px;color:#f2c34f;margin-bottom:8px}.dots-wrapper[data-v-a9412967]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border-radius:20px;box-shadow:inset 2px 1px 2px #00000040,inset -1px -1px 2px #0000000d}.dot[data-v-a9412967]{width:16px;height:16px;border-radius:50%;background-color:transparent;border:2px solid rgba(242,195,79,.15);position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.dot-inner[data-v-a9412967]{width:6px;height:6px;border-radius:50%;background-color:transparent;transition:all .3s ease}.dot.is-past[data-v-a9412967]{background-color:#f2c34f26;border-color:#f2c34f;cursor:pointer}.dot.is-past[data-v-a9412967]:hover{filter:brightness(1.1)}.dot.is-past .dot-inner[data-v-a9412967]{background-color:#f2c34f66}.dot.is-current[data-v-a9412967]{border-color:#f2c34f;transform:scale(1.2);box-shadow:0 2px 2px #f2c34f66;z-index:10}.dot.is-current .dot-inner[data-v-a9412967]{background-color:#f2c34f;width:8px;height:8px}.status-text[data-v-a9412967]{position:relative;width:100%;text-align:center;margin-top:12px;font-size:12px}.status-text .status[data-v-a9412967]{display:inline-block;padding:0 8px;border-radius:16px;color:#fff;background:#f2c34f}.hint[data-v-a9412967]{position:absolute;top:50%;transform:translateY(-50%) scale(0);font-size:12px;color:#f2c34f;opacity:0;transition:all .25s ease}.hint-show[data-v-a9412967]{opacity:1;transform:translateY(-50%) scale(1)}.tinyScrollbar[data-v-e28fe45c]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-e28fe45c]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-e28fe45c]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-e28fe45c]{font-size:30px}.commonBtn[data-v-e28fe45c]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-e28fe45c]:hover{filter:opacity(.8)}.commonBtn span[data-v-e28fe45c]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-e28fe45c]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-e28fe45c]{background:#7cdcb7}.commonBtn.emerald[data-v-e28fe45c]{background:#10b981;color:#fff}.commonBtn.white[data-v-e28fe45c]{background:#f2f2f2}.commonBtn.readOnly[data-v-e28fe45c]{pointer-events:none}.commonBtn.disable[data-v-e28fe45c]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-e28fe45c]{position:relative;pointer-events:none;animation:brightness-e28fe45c 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-e28fe45c]{animation:spin-e28fe45c 1s linear infinite}@keyframes brightness-e28fe45c{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-e28fe45c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-e28fe45c]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-e28fe45c] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-e28fe45c],.el-dialog[data-v-e28fe45c]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.tinyScrollbar[data-v-82025425]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-82025425]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-82025425]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-82025425]{font-size:30px}.commonBtn[data-v-82025425]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-82025425]:hover{filter:opacity(.8)}.commonBtn span[data-v-82025425]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-82025425]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-82025425]{background:#7cdcb7}.commonBtn.emerald[data-v-82025425]{background:#10b981;color:#fff}.commonBtn.white[data-v-82025425]{background:#f2f2f2}.commonBtn.readOnly[data-v-82025425]{pointer-events:none}.commonBtn.disable[data-v-82025425]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-82025425]{position:relative;pointer-events:none;animation:brightness-82025425 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-82025425]{animation:spin-82025425 1s linear infinite}@keyframes brightness-82025425{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-82025425{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-82025425]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-82025425] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-82025425],.el-dialog[data-v-82025425]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.tinyScrollbar[data-v-91ea6b0c]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-91ea6b0c]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-91ea6b0c]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-91ea6b0c]{font-size:30px}.commonBtn[data-v-91ea6b0c]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-91ea6b0c]:hover{filter:opacity(.8)}.commonBtn span[data-v-91ea6b0c]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-91ea6b0c]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-91ea6b0c]{background:#7cdcb7}.commonBtn.emerald[data-v-91ea6b0c]{background:#10b981;color:#fff}.commonBtn.white[data-v-91ea6b0c]{background:#f2f2f2}.commonBtn.readOnly[data-v-91ea6b0c]{pointer-events:none}.commonBtn.disable[data-v-91ea6b0c]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-91ea6b0c]{position:relative;pointer-events:none;animation:brightness-91ea6b0c 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-91ea6b0c]{animation:spin-91ea6b0c 1s linear infinite}@keyframes brightness-91ea6b0c{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-91ea6b0c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-91ea6b0c]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-91ea6b0c] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-91ea6b0c],.el-dialog[data-v-91ea6b0c]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.lingshu_smart_editor[data-v-91ea6b0c]{position:relative;display:flex;justify-content:space-between;width:100%;height:100%;box-sizing:border-box;font-size:18px;color:#f2f2f2;overflow:hidden;-webkit-user-select:none;user-select:none}.lingshu_smart_editor .main_logo[data-v-91ea6b0c]{margin-bottom:50px;text-align:left;will-change:transform}.lingshu_smart_editor .main_logo .main_logo_title[data-v-91ea6b0c]{display:flex;align-items:center}.lingshu_smart_editor .main_logo .main_logo_title .main_logo_img[data-v-91ea6b0c]{width:60px;height:60px;animation:rotate-91ea6b0c 30s linear infinite}.lingshu_smart_editor .main_logo .main_logo_title .main_logo_icon[data-v-91ea6b0c]{position:relative;top:-5px;left:-5px;width:60px;height:60px}.lingshu_smart_editor .main_logo .main_logo_title .main_logo_icon span[data-v-91ea6b0c]:nth-of-type(1){position:absolute;font-size:50px;animation:rotate-91ea6b0c 30s linear infinite}.lingshu_smart_editor .main_logo .main_logo_title .main_logo_icon span[data-v-91ea6b0c]:nth-of-type(2){position:absolute;bottom:-10px;right:-5px;z-index:1;font-size:25px;animation:rotate_reverse-91ea6b0c 10s linear infinite}.lingshu_smart_editor .main_logo .main_logo_title .main_logo_title_text[data-v-91ea6b0c]{font-size:30px;color:#f2c34f;background:linear-gradient(190deg,#fff,#98a9b9,#fff);background-size:200% 100%;background-repeat:no-repeat;background-position:left center;background-clip:text;-webkit-background-clip:text;color:transparent;animation:shine-91ea6b0c 10s infinite}.lingshu_smart_editor .main_logo .main_logo_title .main_logo_title_version[data-v-91ea6b0c]{display:inline-block;padding:0 6px 0 4px;margin-left:3px;border-radius:3px;height:14px;line-height:14px;font-size:12px;text-align:center;color:#212121d9;background:linear-gradient(135deg,#dbdbdb,#242323 90%);background-size:200% 100%}@keyframes shine-91ea6b0c{0%{background-position:left center}50%{background-position:right center}to{background-position:left center}}@keyframes rotate-91ea6b0c{50%{filter:brightness(1.4)}to{transform:rotate(360deg)}}@keyframes rotate_reverse-91ea6b0c{50%{filter:brightness(1.2)}to{transform:rotate(-360deg)}}.lingshu_smart_editor .main_logo .main_logo_intro[data-v-91ea6b0c]{padding:8px 0 0 8px}.lingshu_smart_editor .main_logo .main_logo_intro p[data-v-91ea6b0c]{font-size:14px;font-family:Alibaba-PuHuiTi-Light;opacity:.8}.lingshu_smart_editor .main_left[data-v-91ea6b0c],.lingshu_smart_editor .control_bar[data-v-91ea6b0c],.lingshu_smart_editor .main_right[data-v-91ea6b0c]{padding:16px;box-sizing:border-box;background:#121212}.lingshu_smart_editor .control_bar_right[data-v-91ea6b0c]{display:flex;align-items:center;gap:8px}.lingshu_smart_editor .control_bar_right .control_bar_iconBtn[data-v-91ea6b0c]{padding:0 6px}.lingshu_smart_editor .control_bar_right .control_bar_iconBtn[data-v-91ea6b0c] .el-icon{font-size:14px}.lingshu_smart_editor .main_left[data-v-91ea6b0c],.lingshu_smart_editor .main_right[data-v-91ea6b0c]{position:relative;z-index:10;width:300px;height:100%;flex-shrink:0}.lingshu_smart_editor .main_left[data-v-91ea6b0c]{display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.3)}.lingshu_smart_editor .main_right[data-v-91ea6b0c]{border-left:1px solid rgba(255,255,255,.3)}.lingshu_smart_editor .main_mid[data-v-91ea6b0c]{position:relative;z-index:5;flex:1;display:flex;flex-direction:column;background:#242323}.lingshu_smart_editor .main_mid .control_bar[data-v-91ea6b0c]{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;min-height:64px;padding:0 16px;font-size:0}.lingshu_smart_editor .main_mid .main_mid_content[data-v-91ea6b0c]{width:100%;height:100%;background:#373737}.lingshu_smart_preview[data-v-f4ab6a3c]{position:relative;width:100%;height:100%;overflow:hidden}.lingshu_smart_preview.interactions-disabled[data-v-f4ab6a3c] *{pointer-events:none!important}.lingshu_smart_preview #lingshu-smart-previewApp[data-v-f4ab6a3c]{width:100%;height:100%}.lingshu_smart_preview .preset[data-v-f4ab6a3c]{position:fixed;top:0;left:0;z-index:10;width:100%;height:100%;color:#f2f2f2;background:#000}.lingshu_smart_preview .preset .preset-content[data-v-f4ab6a3c]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:60px;color:#fff;opacity:.8}.lingshu_smart_preview .preset .preset-content p[data-v-f4ab6a3c]{font-size:20px;color:#fff;opacity:.6}.lingshu_smart_preview .preset .preset-content .preset_id_row[data-v-f4ab6a3c]{display:flex;align-items:center;justify-content:center;gap:10px}.lingshu_smart_preview .preset .preset-content .preset_id_copy[data-v-f4ab6a3c]{margin-left:0}.script-runner__steps[data-v-ec01f685]{position:relative;width:300px;height:500px;flex-shrink:0;display:flex;flex-direction:column;border:1px solid #e4e7ed;border-radius:6px}.script-runner__steps-label[data-v-ec01f685]{position:absolute;top:-10px;left:10px;z-index:5;padding:0 8px;font-size:12px;font-weight:400;color:#424242;background:#fff;pointer-events:none}.script-runner__steps-header[data-v-ec01f685]{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 8px;border-bottom:1px solid #e4e7ed}.script-runner__steps-tools[data-v-ec01f685]{display:flex;align-items:center;gap:5px}.script-runner__steps-list[data-v-ec01f685]{flex:1 1 0;min-height:0;overflow:hidden}.script-runner__steps-controls[data-v-ec01f685]{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-top:1px solid #e4e7ed}.script-runner__steps-actions[data-v-ec01f685]{display:flex;gap:8px}.script-runner__steps-actions .el-button[data-v-ec01f685]{flex:1}.script-runner__status[data-v-ec01f685]{margin-left:auto;white-space:nowrap;font-size:12px;font-weight:600;color:#d88c5a}.script-runner__status--running[data-v-ec01f685]{color:#4ca56e;font-size:14px}.script-runner__status--paused[data-v-ec01f685]{color:#f56c6c}.tpl-dropdown-wrap[data-v-ec01f685]{position:relative;display:inline-flex}.dropdown-caret[data-v-ec01f685]{font-size:12px;margin-left:2px}.add-btn-wrap[data-v-ec01f685]{position:relative;display:inline-flex}.script-runner__paused-controls[data-v-ec01f685]{display:flex;gap:8px}.script-runner__paused-controls .el-button[data-v-ec01f685]{flex:1}.loop-control[data-v-ec01f685]{display:flex;align-items:center;gap:8px}.loop-control__label[data-v-ec01f685]{font-size:12px;color:#606266}.btn-play-icon[data-v-ec01f685],.btn-stop-icon[data-v-ec01f685]{font-size:12px;margin-right:2px}.script-step[data-v-ec01f685]{display:flex;align-items:center;gap:5px;padding:8px 10px;cursor:pointer;border:1px solid transparent;border-width:1px 1px 1px 4px;border-bottom:1px solid #f2f2f2}.script-step--active[data-v-ec01f685]{position:relative;border-color:#629dfa}.script-step--running[data-v-ec01f685]{background:#0098661a!important}.script-step--paused[data-v-ec01f685]{background:#e6a23c2e!important}.script-step--disabled[data-v-ec01f685]{opacity:.4}.script-step__index[data-v-ec01f685]{font-size:12px;font-weight:700;color:#909399;min-width:20px;text-align:center}.script-step__info[data-v-ec01f685]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;padding-bottom:2px}.script-step__info--error[data-v-ec01f685]{border-bottom:1px dashed #f56c6c}.script-step__type[data-v-ec01f685]{font-size:12px;font-weight:500;color:#d88c5a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.script-step__type--gold[data-v-ec01f685]{color:#e6b800;font-weight:600}.script-step__plate[data-v-ec01f685]{font-size:.85em;opacity:.85}.script-step__meta[data-v-ec01f685]{display:flex;align-items:center;gap:5px}.script-step__msgtag[data-v-ec01f685]{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#4ca56e;background:#4ca56e1f;border-radius:3px;padding:0 5px;line-height:16px}.script-step__delay[data-v-ec01f685]{font-size:12px;color:#c0c4cc}.step-ring[data-v-ec01f685]{position:relative;width:24px;height:24px;flex-shrink:0}.step-ring svg[data-v-ec01f685]{width:100%;height:100%;transform:rotate(-90deg)}.step-ring__bar[data-v-ec01f685]{stroke:#67de7c;stroke-linecap:round;stroke-dasharray:62.83;stroke-dashoffset:62.83;animation:step-ring-fill-ec01f685 var(--delay) linear forwards}.step-ring__icon[data-v-ec01f685]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:#67de7c;transform:translate(1px)}.step-ring--paused .step-ring__bar[data-v-ec01f685]{stroke:#e6a23c;stroke-dashoffset:0;animation:none}.step-ring--paused .step-ring__icon[data-v-ec01f685]{color:#e6a23c;font-size:9px;letter-spacing:-1px;transform:translate(0)}.step-ring--skip[data-v-ec01f685]{width:20px;height:20px}.step-ring--skip .step-ring__icon[data-v-ec01f685]{color:#009866;font-size:14px;transform:none}@keyframes step-ring-fill-ec01f685{to{stroke-dashoffset:0}}.script-runner__editor[data-v-6ad91643]{position:relative;flex:1;width:auto;height:500px;min-width:0;border:1px solid #e4e7ed;border-radius:6px;display:flex;flex-direction:column}.script-runner__editor[data-v-6ad91643] .el-form-item__label{margin-bottom:0}.script-runner__editor[data-v-6ad91643] .el-form-item--small{margin-bottom:8px}.script-runner__editor-label[data-v-6ad91643]{position:absolute;top:-10px;left:10px;z-index:5;padding:0 8px;font-size:12px;font-weight:400;color:#424242;background:#fff;pointer-events:none}.script-editor__field-label[data-v-6ad91643]{display:inline-flex;align-items:center;white-space:nowrap}.script-editor__field-label .script-editor__required[data-v-6ad91643]{font-style:normal;font-weight:700;color:var(--el-color-danger);margin-left:2px}.script-editor[data-v-6ad91643]{padding:12px 16px;overflow-y:auto;flex:1;min-height:0}.script-editor__section-title[data-v-6ad91643]{font-size:12px;font-weight:600;letter-spacing:1.2px;color:#909399;text-transform:uppercase;margin:12px 0 8px;padding-bottom:4px;border-bottom:1px solid #e4e7ed}.script-editor__group[data-v-6ad91643]{border-top:1px dashed #e4e7ed;border-radius:6px;margin-bottom:8px}.script-editor__group--to[data-v-6ad91643]{background:#409eff1a}.script-editor__group--from[data-v-6ad91643]{background:#e6a23c24}.script-editor__group-title[data-v-6ad91643]{font-size:12px;font-weight:600;margin:0 0 8px}.script-editor__group--to .script-editor__group-title[data-v-6ad91643]{color:var(--el-color-primary)}.script-editor__group--from .script-editor__group-title[data-v-6ad91643]{color:var(--el-color-warning)}.script-editor__hint[data-v-6ad91643]{font-size:12px;line-height:1.6;color:#909399}.script-editor__customdata[data-v-6ad91643]{position:relative}.script-editor__customdata-button[data-v-6ad91643]{position:absolute;top:-25px;right:0;z-index:1}.script-editor__customdata-input[data-v-6ad91643]{font-family:SF Mono,Consolas,Menlo,monospace;font-size:12px}.script-editor__field-row[data-v-6ad91643]{display:flex;align-items:flex-start;gap:6px;width:100%}.script-editor__field-pass[data-v-6ad91643]{flex-shrink:0;margin-right:0}.script-editor__field-control[data-v-6ad91643]{flex:1;min-width:0}.script-editor__pseudo[data-v-6ad91643]{width:100%;min-height:160px;max-height:220px;margin:0;padding:10px 12px;box-sizing:border-box;font-family:SF Mono,Consolas,Menlo,monospace;font-size:12px;line-height:1.7;color:#424242;background:#f7f8fa;border:1px solid #e4e7ed;border-radius:4px;overflow:auto;white-space:pre}.script-editor__pseudo code[data-v-6ad91643]{font-family:inherit;font-size:inherit;color:inherit}.script-editor__customdata-code[data-v-6ad91643]{width:100%;margin:0;padding:10px 12px;box-sizing:border-box;font-family:SF Mono,Consolas,Menlo,monospace;font-size:12px;line-height:1.7;color:#303133;background:#f7f8fa;border:1px solid #e4e7ed;border-radius:4px;overflow:auto;white-space:pre}.script-editor__customdata-code code[data-v-6ad91643]{font-family:inherit;font-size:inherit;color:inherit}.script-editor__actions[data-v-6ad91643]{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e4e7ed}.script-editor__actions-row[data-v-6ad91643]{display:flex;gap:8px}.script-editor__actions-row .el-button[data-v-6ad91643]{flex:1;width:100%}.quick-resource-dialog__body[data-v-6ad91643]{display:flex;gap:20px;min-height:460px}.quick-resource-dialog__form[data-v-6ad91643]{flex:0 0 340px;border-right:1px solid #ebeef5;padding-right:20px}.quick-resource-dialog__form-title[data-v-6ad91643]{font-size:13px;font-weight:600;color:#303133;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #ebeef5}.quick-resource-dialog__form-actions[data-v-6ad91643]{margin-top:12px;display:flex;gap:8px;justify-content:flex-end}.quick-resource-dialog__table[data-v-6ad91643]{flex:1;min-width:0}.quick-resource-dialog__table-title[data-v-6ad91643]{font-size:13px;font-weight:600;color:#303133;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #ebeef5}[data-v-6ad91643] .quick-resource-row--editing{--el-table-tr-bg-color: var(--el-color-primary-light-9)}.msg-type-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.msg-type-option__value{flex-shrink:0;font-family:SF Mono,Consolas,Menlo,monospace;font-size:12px;color:#4ca56e}.msg-type-option__name{flex:1;min-width:0;text-align:right;font-size:13px;color:#606266;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-header{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#909399}.select-header__col{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-option{display:flex;align-items:center;gap:8px;width:100%}.device-option__name{flex:1;min-width:0;font-size:13px;color:#d88c5a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-option__plate{flex:1;min-width:0;font-size:12px;color:#909399;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-option__id{flex:1;min-width:0;font-size:12px;color:#c0c4cc;font-family:SF Mono,Consolas,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-option__class{flex:1;min-width:0;font-size:12px;color:#4ca56e;font-family:SF Mono,Consolas,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.script-editor__id-group{display:flex;flex-direction:column;gap:4px;width:100%}.stress-test[data-v-8e4aec6c]{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid #e4e7ed;border-radius:6px}.stress-test__header[data-v-8e4aec6c]{display:flex;align-items:center;gap:10px;min-width:0;cursor:pointer;-webkit-user-select:none;user-select:none}.stress-test__header:hover .stress-test__title[data-v-8e4aec6c]{color:#409eff}.stress-test__collapse-icon[data-v-8e4aec6c]{flex-shrink:0;font-size:14px;color:#909399}.stress-test__running-tag[data-v-8e4aec6c]{flex-shrink:0;padding:1px 8px;font-size:12px;font-weight:600;color:#67c23a;background:#67c23a1a;border:1px solid rgba(103,194,58,.4);border-radius:3px}.stress-test--collapsed[data-v-8e4aec6c]{gap:0}.stress-test__title[data-v-8e4aec6c]{flex-shrink:0;font-size:13px;font-weight:600;color:#424242}.stress-test__hint[data-v-8e4aec6c]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#909399}.stress-test__controls[data-v-8e4aec6c]{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.stress-test__field[data-v-8e4aec6c]{display:flex;align-items:center;gap:8px}.stress-test__label[data-v-8e4aec6c]{white-space:nowrap;font-size:12px;color:#606266}.stress-test__stats[data-v-8e4aec6c]{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12px;color:#909399;font-variant-numeric:tabular-nums}.stress-test__stats span[data-v-8e4aec6c]{flex:1}.log-panel[data-v-fd179144]{position:relative;display:flex;flex-direction:column;height:100%}.log-panel__label[data-v-fd179144]{position:absolute;top:-10px;left:10px;z-index:5;padding:0 8px;font-size:12px;font-weight:400;color:#424242;background:#fff;pointer-events:none}.log-panel__header[data-v-fd179144]{display:flex;flex-direction:column;padding:8px 12px;border-bottom:1px solid #e4e7ed}.log-panel__tools[data-v-fd179144]{display:flex;align-items:center;justify-content:space-between}.log-panel__tools-count-wrap[data-v-fd179144]{display:flex;align-items:center;gap:8px}.log-panel__count[data-v-fd179144]{display:inline-block;width:50px;font-size:12px;font-weight:600;color:#909399;white-space:nowrap;text-align:right}.log-panel__sort-row[data-v-fd179144]{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:nowrap}.log-panel__filter[data-v-fd179144]{flex:1;min-width:0}.log-panel__body[data-v-fd179144]{position:relative;flex:1;min-height:0}.log-panel__body--snapshot[data-v-fd179144]{box-shadow:0 0 3px 1px #ff9b00}.log-panel__detail-mask[data-v-fd179144]{position:absolute;inset:0;z-index:20;background:#000;display:flex;flex-direction:column}.log-panel__detail[data-v-fd179144]{display:flex;flex-direction:column;height:100%;min-height:0;background:#000;color:#e6edf3}.log-panel__detail-header[data-v-fd179144]{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-bottom:1px solid #333}.log-panel__detail-actions[data-v-fd179144]{display:flex;align-items:center;gap:8px}.log-panel__detail-pre[data-v-fd179144]{flex:1;min-height:0;margin:0;padding:12px 16px;font-size:12px;color:#e6edf3;font-family:SF Mono,Consolas,Menlo,monospace;background:#000;white-space:pre-wrap;word-break:break-all;line-height:1.6;overflow:auto}.log-panel__tag[data-v-fd179144]{font-size:.85em;padding:2px 5px;border-radius:3px}.log-panel__tag-code[data-v-fd179144]{font-variant-numeric:tabular-nums}.log-panel__cell[data-v-fd179144]{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.log-panel__ack[data-v-fd179144]{display:inline-block;margin-left:6px;padding:0 6px;height:18px;line-height:18px;font-size:11px;color:#fff;background:#67c23a;border-radius:9px;flex-shrink:0}.log-panel__ack--warn[data-v-fd179144]{background:#e6a23c}.log-panel__ack--error[data-v-fd179144]{background:#f56c6c}[data-v-fd179144] .el-table .cell{height:20px;line-height:20px}[data-v-fd179144] .row-snapshot-last td{background:#fdf6ec!important}.detail-header__index[data-v-fd179144]{font-size:12px;font-weight:600;color:#909399}.script-runner__header[data-v-483a1310]{display:flex;align-items:center;gap:10px}.script-runner__header .script-runner__title[data-v-483a1310]{font-size:15px;font-weight:600;text-wrap:nowrap;display:inline-flex;align-items:center;gap:4px}.script-runner__header .script-runner__title-icon[data-v-483a1310]{font-size:14px;color:#e6a23c;cursor:pointer}.script-runner__header-tools[data-v-483a1310]{display:flex;align-items:center;flex-wrap:wrap}.script-runner__tool-msg[data-v-483a1310]{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;line-height:1.5;border-radius:4px}.script-runner__tool-msg--error[data-v-483a1310]{color:#b30000;background:#fff7f7;border:1px solid #ffd9d9}.script-runner__tool-msg--error .el-icon[data-v-483a1310]{font-size:14px;color:#f56c6c;flex-shrink:0}.script-runner__tool-msg--success[data-v-483a1310]{color:#1f6b3a;background:#f2fbf5;border:1px solid #cdeed8}.script-runner__tool-msg-text[data-v-483a1310]{flex:1;min-width:0;word-break:break-all}.script-runner[data-v-483a1310]{display:flex;flex-direction:column;gap:12px}.script-runner__body[data-v-483a1310]{display:flex;gap:12px}.script-runner__log[data-v-483a1310]{display:flex;flex-direction:column;width:420px;height:500px;flex-shrink:0;border:1px solid #e4e7ed;border-radius:6px}.script-runner__log-body[data-v-483a1310]{flex:1;min-height:0}.script-runner__log-continuous[data-v-483a1310]{flex-shrink:0;white-space:nowrap}.script-runner__log-continuous[data-v-483a1310] .el-checkbox__label{white-space:nowrap}.script-runner__bottom-msg[data-v-483a1310]{position:fixed;left:50%;bottom:36px;transform:translate(-50%);z-index:3000;display:flex;align-items:center;gap:6px;max-width:82vw;padding:9px 16px;font-size:13px;line-height:1.4;color:#b30000;background:#fff7f7;border:1px solid #ffd9d9;border-radius:6px;box-shadow:0 4px 18px #00000024}.script-runner__bottom-msg .el-icon[data-v-483a1310]{font-size:15px;color:#f56c6c;flex-shrink:0}.script-bottommsg-enter-active[data-v-483a1310]{transition:all .25s ease}.script-bottommsg-leave-active[data-v-483a1310]{transition:all .2s ease}.script-bottommsg-enter-from[data-v-483a1310],.script-bottommsg-leave-to[data-v-483a1310]{opacity:0;transform:translate(-50%) translateY(10px)}.wsproxy-conn[data-v-09a5546a]{display:flex;flex-direction:column;gap:8px}.wsproxy-conn[data-v-09a5546a] .el-form-item__label{margin-bottom:0}.wsproxy-conn[data-v-09a5546a] .el-form-item--small{margin-bottom:8px}.wsproxy-conn__status[data-v-09a5546a]{display:flex;align-items:center;gap:8px}.wsproxy-conn__auto[data-v-09a5546a]{margin-left:auto;flex-shrink:0}.wsproxy-conn__dot[data-v-09a5546a]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.wsproxy-conn__dot--on[data-v-09a5546a]{background:#00d97e;box-shadow:0 0 6px #00d97e99}.wsproxy-conn__dot--loading[data-v-09a5546a]{background:#e6a23c;animation:wsproxy-conn-pulse-09a5546a 1s ease-in-out infinite}.wsproxy-conn__dot--off[data-v-09a5546a]{background:#f56c6c}.wsproxy-conn__state[data-v-09a5546a]{font-size:12px;font-weight:600;color:#606266}.wsproxy-conn__hb-tag[data-v-09a5546a]{font-size:12px;color:#4ca56e;background:#4ca56e1a;padding:2px 6px;border-radius:4px}.wsproxy-conn__actions[data-v-09a5546a]{display:flex;gap:8px}.wsproxy-conn__actions .el-button[data-v-09a5546a]{flex:1}.wsproxy-conn__send[data-v-09a5546a]{display:flex;flex-direction:column;gap:8px}.wsproxy-conn__token-input[data-v-09a5546a]{margin-top:8px;width:100%}.wsproxy-conn__token-hint[data-v-09a5546a]{margin-top:4px;font-size:12px;line-height:1.2;color:#f56c6c}.wsproxy-conn__token-persist-hint[data-v-09a5546a]{margin-top:4px;font-size:12px;line-height:1.2;color:#e6a23c}@keyframes wsproxy-conn-pulse-09a5546a{0%,to{opacity:1}50%{opacity:.3}}.mapping-grid[data-v-5847495b]{display:flex;flex-direction:column;gap:6px;min-width:0}.mapping-grid__head[data-v-5847495b],.mapping-grid__row[data-v-5847495b]{display:flex;gap:8px;align-items:center;min-width:0}.mapping-grid__head[data-v-5847495b]{font-size:12px;font-weight:600;color:#909399}.mapping-grid__row-wrap[data-v-5847495b]{display:flex;flex-direction:column;gap:2px;min-width:0}.mapping-grid__row-warns[data-v-5847495b]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.mapping-grid__warn-tag[data-v-5847495b]{font-size:12px;line-height:1.4;height:auto;white-space:normal;word-break:break-word;text-align:left;max-width:100%}.mapping-grid__col[data-v-5847495b]{min-width:0}.mapping-grid__col--source[data-v-5847495b]{width:100px;text-align:center}.mapping-grid__col--target[data-v-5847495b]{width:120px;text-align:center}.mapping-grid__col--handler[data-v-5847495b]{width:115px;text-align:center}.mapping-grid__col--handler-config[data-v-5847495b]{width:92px;text-align:center;white-space:nowrap}.mapping-grid__col--action[data-v-5847495b]{width:40px;text-align:center}.mapping-grid__del[data-v-5847495b]{padding:2px 4px}.mapping-grid__handler-option[data-v-5847495b]{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;font-size:12px}.mapping-grid__handler-none[data-v-5847495b]{font-size:12px;color:#c0c4cc}.mapping-grid__handler-dict[data-v-5847495b]{font-size:12px}.mapping-grid__target-wrap[data-v-5847495b]{display:flex;flex-direction:column;gap:2px;min-width:0}.mapping-grid__target-type[data-v-5847495b]{font-size:12px;color:#4ca56e;font-family:JetBrains Mono,SF Mono,Consolas,Menlo,monospace;line-height:1;padding-left:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.mapping-grid__field-tip[data-v-5847495b]{margin-left:4px;font-size:14px;color:#e6a23c;cursor:pointer;vertical-align:middle}.mapping-grid__footer[data-v-5847495b]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}.mapping-grid__condition-entry[data-v-5847495b]{display:flex;align-items:center;justify-content:center}.wsproxy-cfg[data-v-a3c01d59]{display:flex;flex-direction:column;gap:12px;height:100%}.wsproxy-cfg[data-v-a3c01d59] .el-form-item__label{margin-bottom:0}.wsproxy-cfg__meta[data-v-a3c01d59]{display:flex;flex-direction:column}.wsproxy-cfg__meta-row[data-v-a3c01d59]{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.wsproxy-cfg__meta-row .el-form-item[data-v-a3c01d59]{margin-bottom:0}.wsproxy-cfg__msg-head[data-v-a3c01d59]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid #e4e7ed}.wsproxy-cfg__msg-title[data-v-a3c01d59]{font-size:12px;font-weight:600;letter-spacing:1.2px;color:#909399;text-transform:uppercase}.wsproxy-cfg__msg-tools[data-v-a3c01d59]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.wsproxy-cfg__msg-row[data-v-a3c01d59]{display:flex;gap:12px}.wsproxy-cfg__msg-row .el-form-item[data-v-a3c01d59]{flex:1;margin-bottom:0}.wsproxy-cfg__source[data-v-a3c01d59]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px;min-width:0}.wsproxy-cfg__source-tag[data-v-a3c01d59]{position:relative;flex:1;min-width:0;justify-content:flex-start;overflow:hidden}.wsproxy-cfg__source-reason[data-v-a3c01d59]{font-weight:400;opacity:.85}.wsproxy-cfg__source-reset[data-v-a3c01d59]{position:absolute;right:4px;top:50%;transform:translateY(-50%);z-index:2;padding:0 4px}.wsproxy-cfg__store-tip[data-v-a3c01d59]{flex:1 1 100%;min-width:0;justify-content:flex-start;overflow:hidden;white-space:normal;line-height:1.5}.wsproxy-cfg__body[data-v-a3c01d59]{display:flex;gap:12px;flex:1;min-height:0}.wsproxy-cfg__types[data-v-a3c01d59]{width:200px;flex-shrink:0;display:flex;flex-direction:column;border:1px solid #e4e7ed;border-radius:6px;overflow:hidden}.wsproxy-cfg__types-header[data-v-a3c01d59]{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid #e4e7ed;cursor:pointer;-webkit-user-select:none;user-select:none}.wsproxy-cfg__types-header[data-v-a3c01d59]:hover{background:#f2c34f14}.wsproxy-cfg__types-header--global[data-v-a3c01d59],.wsproxy-cfg__types-header--model[data-v-a3c01d59]{border-top:1px solid #e4e7ed}.wsproxy-cfg__types-header--active[data-v-a3c01d59]{background:#f2c34f29;box-shadow:inset 4px 0 #d88c5a}.wsproxy-cfg__types-arrow[data-v-a3c01d59]{display:inline-block;width:14px;font-size:10px;color:#909399;text-align:center}.wsproxy-cfg__types-title[data-v-a3c01d59]{font-size:12px;font-weight:600;color:#606266;display:flex;align-items:center;gap:2px}.wsproxy-cfg__types-list[data-v-a3c01d59]{flex:1;min-height:0;overflow-y:auto}.wsproxy-cfg__type-item[data-v-a3c01d59]{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.5)}.wsproxy-cfg__type-item[data-v-a3c01d59]:hover{background:#f2c34f29}.wsproxy-cfg__type-item--active[data-v-a3c01d59]{background:#f2c34f29;border-left:4px solid #d88c5a;padding-left:8px}.wsproxy-cfg__type-name[data-v-a3c01d59]{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3;font-size:12px;overflow:hidden}.wsproxy-cfg__type-name-main[data-v-a3c01d59]{font-size:12px;color:#303133;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wsproxy-cfg__type-name-sub[data-v-a3c01d59]{font-size:10px;color:#909399;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wsproxy-cfg__editor[data-v-a3c01d59]{flex:1 1 auto;min-width:0;min-height:0;border:1px solid #e4e7ed;border-radius:6px;padding:8px;overflow-y:auto}.wsproxy-cfg__editor-footer[data-v-a3c01d59]{display:flex;justify-content:flex-end;margin-top:12px;padding-top:8px;border-top:1px solid #e4e7ed}.wsproxy-cfg__mappings[data-v-a3c01d59]{display:flex;flex-direction:column;gap:12px}.wsproxy-cfg__mappings-header[data-v-a3c01d59]{display:flex;align-items:center;justify-content:space-between}.wsproxy-cfg__mappings-title[data-v-a3c01d59]{font-size:13px;font-weight:600;color:#303133}.wsproxy-cfg__modelgrid[data-v-a3c01d59]{display:flex;flex-direction:column;gap:6px}.wsproxy-cfg__modelgrid-head[data-v-a3c01d59],.wsproxy-cfg__modelgrid-row[data-v-a3c01d59]{display:flex;gap:8px;align-items:center}.wsproxy-cfg__modelgrid-head[data-v-a3c01d59]{font-size:12px;font-weight:600;color:#909399}.wsproxy-cfg__modelgrid-col[data-v-a3c01d59]{flex:1;min-width:0}.wsproxy-cfg__modelgrid-col--equip[data-v-a3c01d59]{flex:0 0 120px;max-width:120px;font-weight:600;color:#303133;font-size:13px;line-height:28px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wsproxy-cfg__modelgrid-col--action[data-v-a3c01d59]{flex:0 0 60px;text-align:center}.wsproxy-cfg__modelgrid-footer[data-v-a3c01d59]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}.wsproxy-cfg__sourcechain[data-v-a3c01d59]{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:10px}.wsproxy-cfg__sourcetype[data-v-a3c01d59]{margin:0;max-width:220px;min-width:0}.wsproxy-cfg__sourcetype-input[data-v-a3c01d59],.wsproxy-cfg__sourcetype[data-v-a3c01d59] .el-input__inner{font-size:12px}.wsproxy-cfg__classname[data-v-a3c01d59]{margin:0;min-width:0}.wsproxy-cfg__arrow[data-v-a3c01d59]{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;line-height:1;padding-bottom:2px}.wsproxy-cfg__arrow-text[data-v-a3c01d59]{font-size:12px;color:#909399;margin-bottom:2px}.wsproxy-cfg__arrow-icon[data-v-a3c01d59]{font-size:14px;color:#d88c5a;font-weight:600;line-height:1}.wsproxy-cfg__resource[data-v-a3c01d59]{display:flex;flex-direction:column;gap:12px}.wsproxy-cfg__resource-hint[data-v-a3c01d59]{font-size:12px;color:#e6a23c;background:#fdf6ecb3;border-radius:4px;padding:6px 10px}.wsproxy-cfg__resource-group[data-v-a3c01d59]{border:1px solid #e4e7ed;border-radius:4px;padding:8px 10px}.wsproxy-cfg__resource-group-head[data-v-a3c01d59]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding-bottom:6px;border-bottom:1px dashed #e4e7ed}.wsproxy-cfg__resource-group-title[data-v-a3c01d59]{font-size:12px;font-weight:600;color:#303133}.wsproxy-cfg__field-label[data-v-a3c01d59]{font-size:12px;color:#606266;font-family:JetBrains Mono,SF Mono,Consolas,Menlo,monospace}.wsproxy-cfg__resetall-preview[data-v-a3c01d59]{display:flex;flex-direction:column;gap:6px}.wsproxy-cfg__resetall-preview-label[data-v-a3c01d59]{font-size:12px;font-weight:600;color:#909399}.wsproxy-cfg__resetall-preview-code[data-v-a3c01d59]{padding:8px 10px;font-size:12px;color:#303133;font-family:JetBrains Mono,SF Mono,Consolas,Menlo,monospace;background:#f5f7fa;border-radius:4px}.wsproxy-cfg__grid[data-v-a3c01d59]{display:grid;gap:6px}.wsproxy-cfg__grid-head[data-v-a3c01d59],.wsproxy-cfg__grid-row[data-v-a3c01d59]{display:grid;grid-template-columns:100px 100px;gap:8px;align-items:center}.wsproxy-cfg__grid-head[data-v-a3c01d59]{font-size:12px;font-weight:600;color:#909399}.wsproxy-cfg__grid-col--source[data-v-a3c01d59]{width:90px;text-align:center}.wsproxy-cfg__grid-col--target[data-v-a3c01d59]{width:115px;text-align:center}.wsproxy-cfg__grid-col--handler[data-v-a3c01d59]{width:90px;text-align:center}.wsproxy-cfg__grid-col--handler-config[data-v-a3c01d59]{width:75px;text-align:center}.wsproxy-cfg__grid-col--action[data-v-a3c01d59]{width:50px;text-align:center}.wsproxy-cfg__field-tip[data-v-a3c01d59]{margin-left:4px;font-size:14px;color:#e6a23c;cursor:pointer;vertical-align:middle}.wsproxy-cfg__resource-toggle[data-v-a3c01d59]{display:flex;align-items:center;justify-content:flex-end}.wsproxy-cfg__op-option[data-v-a3c01d59]{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px}.wsproxy-cfg__op-option-label[data-v-a3c01d59]{font-weight:500}.wsproxy-cfg__op-option-desc[data-v-a3c01d59]{font-size:12px;color:#909399}.wsproxy-cfg__cond-dialog[data-v-a3c01d59]{display:flex;flex-direction:column;gap:10px}.wsproxy-cfg__cond-dialog-hint[data-v-a3c01d59]{font-size:12px;color:#3981ea;background:#3981ea1a;border-radius:4px;padding:6px 10px}.wsproxy-cfg__cond-dialog-add[data-v-a3c01d59]{align-self:flex-start}.wsproxy-cfg__step-title[data-v-a3c01d59]{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#e6a23c;padding:4px 8px;background:#fdf6ecb3;border-left:3px solid #e6a23c;border-radius:2px}.wsproxy-cfg__op-grid[data-v-a3c01d59]{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.wsproxy-cfg__op-card[data-v-a3c01d59]{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:1px solid #e4e7ed;border-radius:4px;cursor:pointer}.wsproxy-cfg__op-card--active[data-v-a3c01d59]{border-color:#409eff;background:#409eff14}.wsproxy-cfg__op-card-desc[data-v-a3c01d59]{font-size:12px;color:#909399}.wsproxy-cfg__op-tip[data-v-a3c01d59]{margin-top:6px;font-size:12px;line-height:1.5;color:#909399}.wsproxy-cfg__cond-op-wrap[data-v-a3c01d59]{display:flex;gap:6px;align-items:center;width:100%}.wsproxy-cfg__cond-op-wrap-select[data-v-a3c01d59],.wsproxy-cfg__cond-op-wrap-input[data-v-a3c01d59]{flex:1;min-width:0;width:auto}.wsproxy-dialog[data-v-8768c9e6]{min-width:1000px}.wsproxy__header[data-v-8768c9e6]{display:flex;align-items:center;gap:10px}.wsproxy__header .wsproxy__title[data-v-8768c9e6]{font-size:15px;font-weight:600}.wsproxy__header-tools[data-v-8768c9e6]{display:flex;align-items:center;gap:4px;flex:1}.wsproxy__always-record[data-v-8768c9e6]{margin-left:8px;white-space:nowrap}.wsproxy__always-record[data-v-8768c9e6] .el-checkbox__label{font-size:12px}.wsproxy__case[data-v-8768c9e6]{display:flex;align-items:center;gap:8px;margin-left:auto;padding:3px 12px;border:1px solid rgba(42,100,246,.45);border-radius:4px;background:linear-gradient(90deg,#2a64f61a,#00d97e0d);box-shadow:inset 0 0 10px #2a64f61f;white-space:nowrap}.wsproxy__case-name[data-v-8768c9e6]{font-size:12px;font-weight:600;color:#303133;letter-spacing:.5px}.wsproxy__case-id[data-v-8768c9e6]{font-size:12px;font-family:JetBrains Mono,SF Mono,Consolas,Menlo,monospace;color:#2a64f6;letter-spacing:.5px}.wsproxy__header-radio[data-v-8768c9e6]{position:absolute;top:-18px;left:10px;z-index:20}.wsproxy[data-v-8768c9e6]{display:flex;flex-direction:column;gap:12px}.wsproxy__body[data-v-8768c9e6]{display:flex;gap:12px;min-width:0}.wsproxy__conn-wrapper[data-v-8768c9e6]{position:relative;width:220px;flex-shrink:0}.wsproxy__conn[data-v-8768c9e6]{width:220px;height:500px;flex-shrink:0;padding:12px;border:1px solid #e4e7ed;border-radius:6px;overflow-y:auto}.wsproxy__conn-mask[data-v-8768c9e6]{position:absolute;inset:0;background:#000c;border-radius:6px;display:flex;align-items:center;justify-content:center;padding:16px;pointer-events:auto;z-index:10}.wsproxy__conn-mask-text[data-v-8768c9e6]{font-size:12px;color:#fff;text-align:center;line-height:1.6}.wsproxy__conn-mask-text p[data-v-8768c9e6]{margin-top:8px;color:#f9dd4a}.wsproxy__conn-tip[data-v-8768c9e6]{display:block;width:100%;margin-bottom:8px;line-height:1.5;background:#fdf6eccc;border-radius:4px;color:#e6a23c;padding:4px;font-size:12px;text-align:center}.wsproxy__cfg[data-v-8768c9e6]{flex:1;min-width:0;height:500px}.wsproxy__log[data-v-8768c9e6],.wsproxy__runlog[data-v-8768c9e6]{display:flex;flex-direction:column;width:420px;height:500px;flex-shrink:0;border:1px solid #e4e7ed;border-radius:6px}')),document.head.appendChild(e)}}catch(a){console.error("vite-plugin-css-injected-by-js",a)}})();
1
+ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode('@charset "UTF-8";.perf-stats-toggle[data-v-6d69d95e]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#0a0e14;border:1px solid #1a2332;border-radius:6px;color:#00d97e;font-family:JetBrains Mono,SF Mono,Fira Code,Consolas,Menlo,monospace;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.perf-stats-toggle[data-v-6d69d95e]:hover{border-color:#00d97e;box-shadow:0 0 12px #00d97e4d}.perf-monitor[data-v-6d69d95e]{background:#0a0e14;border:1px solid #1a2332;border-radius:8px;overflow:hidden;font-family:JetBrains Mono,SF Mono,Fira Code,Consolas,Menlo,monospace;box-shadow:inset 0 1px #ffffff08,0 4px 16px #0006}.perf-monitor__header[data-v-6d69d95e]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:linear-gradient(180deg,#111827,#0d1117);border-bottom:1px solid #1a2332}.perf-monitor__pulse[data-v-6d69d95e]{width:7px;height:7px;border-radius:50%;background:#00d97e;box-shadow:0 0 8px #00d97ecc;animation:perf-pulse-6d69d95e 1.6s ease-in-out infinite;flex-shrink:0}.perf-monitor__pulse--offline[data-v-6d69d95e]{background:#f56c6c;box-shadow:0 0 8px #f56c6ccc;animation:none}.perf-monitor__title[data-v-6d69d95e]{font-size:10px;font-weight:600;letter-spacing:1.5px;color:#50617d;text-transform:uppercase;white-space:nowrap}.perf-monitor__status[data-v-6d69d95e]{font-size:9px;font-weight:700;letter-spacing:1px;color:#00d97e;padding:2px 6px;background:#00d97e1a;border:1px solid rgba(0,217,126,.3);border-radius:3px;white-space:nowrap}.perf-monitor__status--connected[data-v-6d69d95e]{color:#00d97e;background:#00d97e1a;border-color:#00d97e4d}.perf-monitor__status--disconnected[data-v-6d69d95e]{color:#f56c6c;background:#f56c6c1a;border-color:#f56c6c4d}.perf-monitor__header-spacer[data-v-6d69d95e]{flex:1}.perf-monitor__collapse[data-v-6d69d95e]{background:none;border:none;color:#4a5568;cursor:pointer;font-size:14px;line-height:1;padding:0 2px;transition:color .2s;flex-shrink:0}.perf-monitor__collapse[data-v-6d69d95e]:hover{color:#f56c6c}.perf-monitor__grid[data-v-6d69d95e]{display:grid;gap:1px;background:#1a2332;background:linear-gradient(180deg,#111827,#0d1117);padding:1px}.perf-monitor--stacked .perf-monitor__grid[data-v-6d69d95e]{grid-template-columns:1fr 1fr}.perf-monitor--inline .perf-monitor__grid[data-v-6d69d95e]{grid-template-columns:repeat(4,minmax(120px,1fr));align-items:center}.perf-monitor--inline .perf-monitor__grid--inline-header[data-v-6d69d95e]{grid-template-columns:auto auto auto auto auto auto}.perf-monitor--inline .perf-cell[data-v-6d69d95e]{display:flex;flex-direction:column;justify-content:center;height:var(--perf-height, auto);min-height:32px;padding:4px 10px;overflow:hidden}.perf-monitor--inline .perf-cell[data-v-6d69d95e]:not(:last-of-type){border-right:1px solid #1a2332}.perf-monitor--inline .perf-cell__label[data-v-6d69d95e]{margin-bottom:1px}.perf-monitor--inline .perf-cell--header[data-v-6d69d95e],.perf-monitor--inline .perf-cell--action[data-v-6d69d95e]{flex-direction:row}.perf-cell[data-v-6d69d95e]{padding:10px 12px}.perf-cell--header[data-v-6d69d95e]{display:flex;align-items:center;gap:8px;white-space:nowrap}.perf-cell--action[data-v-6d69d95e]{display:flex;align-items:center;justify-content:flex-end;background:linear-gradient(180deg,#111827,#0d1117);padding:8px 12px;white-space:nowrap}.perf-cell__label[data-v-6d69d95e]{font-size:9px;font-weight:600;letter-spacing:1.2px;color:#50617d;margin-bottom:5px;text-transform:uppercase;text-align:center;width:100%}.perf-cell__value[data-v-6d69d95e]{font-size:14px;font-weight:500;letter-spacing:.3px;line-height:1.2;text-align:center}.perf-cell__value--time[data-v-6d69d95e]{color:#c59a82;font-variant-numeric:tabular-nums;min-width:6.5ch}.perf-cell__value--uptime[data-v-6d69d95e]{color:#5eb1ff;font-variant-numeric:tabular-nums;min-width:7.5ch}.perf-cell__value--count[data-v-6d69d95e]{color:#5eb1ff;font-variant-numeric:tabular-nums}.perf-cell__value--size[data-v-6d69d95e]{color:#c792ea;font-variant-numeric:tabular-nums}.perf-cell__value--fps-green[data-v-6d69d95e]{color:#00d97e;font-variant-numeric:tabular-nums;min-width:7.5ch}.perf-cell__value--fps-yellow[data-v-6d69d95e]{color:#f5c542;font-variant-numeric:tabular-nums}.perf-cell__value--fps-red[data-v-6d69d95e]{color:#f56c6c;font-variant-numeric:tabular-nums}.perf-cell__traffic[data-v-6d69d95e]{display:flex;align-items:baseline;justify-content:center;gap:6px;white-space:nowrap;min-width:20ch;width:100%}.perf-cell__unit_count[data-v-6d69d95e]{color:#5eb1ff;font-size:10px;font-weight:400}.perf-cell__divider[data-v-6d69d95e]{width:1px;height:12px;background:#1a2332;margin:0 4px;align-self:center}@keyframes perf-pulse-6d69d95e{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.8)}}.debug-hint[data-v-a7919be0]{margin-left:8px;font-size:12px;opacity:.6}.debug-panel__level-option[data-v-a7919be0]{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px}.debug-panel__level-name[data-v-a7919be0]{font-size:12px;color:var(--el-text-color-primary)}.debug-panel__level-tag[data-v-a7919be0]{font-size:12px;color:#2a64f6;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.tinyScrollbar[data-v-de2a0143]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-de2a0143]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-de2a0143]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-de2a0143]{font-size:30px}.commonBtn[data-v-de2a0143]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-de2a0143]:hover{filter:opacity(.8)}.commonBtn span[data-v-de2a0143]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-de2a0143]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-de2a0143]{background:#7cdcb7}.commonBtn.emerald[data-v-de2a0143]{background:#10b981;color:#fff}.commonBtn.white[data-v-de2a0143]{background:#f2f2f2}.commonBtn.readOnly[data-v-de2a0143]{pointer-events:none}.commonBtn.disable[data-v-de2a0143]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-de2a0143]{position:relative;pointer-events:none;animation:brightness-de2a0143 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-de2a0143]{animation:spin-de2a0143 1s linear infinite}@keyframes brightness-de2a0143{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-de2a0143{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-de2a0143]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-de2a0143] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-de2a0143],.el-dialog[data-v-de2a0143]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.menu[data-v-de2a0143]{width:100%;height:100%}.menu .menu_input[data-v-de2a0143]{width:100%;display:flex;align-items:center;background-color:#373737;padding-left:10px;box-sizing:border-box;border-radius:16px;color:#f2f2f2;font-size:18px}.menu .menu_input input[data-v-de2a0143]{flex:1;min-width:0;height:38px;padding:0 8px;background:none;border:none;outline:none;color:#f2f2f2;font-size:16px}.menu .menu_input .menu_input_clear[data-v-de2a0143]{margin-right:8px;font-size:14px;cursor:pointer;opacity:.6}.menu .menu_input .menu_input_clear[data-v-de2a0143]:hover{opacity:1}.menu .menu_container[data-v-de2a0143]{position:absolute;top:48px;bottom:0;width:100%;padding-right:8px;overflow-x:hidden;overflow-y:auto}.menu .menu_container .menu_group[data-v-de2a0143]{word-break:break-all}.menu .menu_container .menu_group .menu_group_title[data-v-de2a0143]{padding:16px 0;font-size:16px;color:#f2c34f}.menu .menu_container .menu_group .menu_group_item[data-v-de2a0143]{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;margin-bottom:8px;border-radius:4px;line-height:1.2em;font-size:14px;background-color:#373737;transition:all .25s ease;cursor:pointer}.menu .menu_container .menu_group .menu_group_item[data-v-de2a0143]:hover{filter:brightness(1.2)}.menu .menu_container .menu_group .menu_group_item span[data-v-de2a0143]{font-size:12px;color:#ffffff80;width:50%;text-align:right;line-height:1em}.menu .menu_container .menu_group .menu_group_noItem[data-v-de2a0143]{padding:8px 16px;margin-bottom:8px;line-height:1.2em;color:#fff9}.menu .menu_container .menu_group .menu_group_noItem span[data-v-de2a0143]{color:#fffc;text-decoration:underline;cursor:pointer}.menu .menu_container .menu_group .menu_group_noItem span[data-v-de2a0143]:hover{color:#f9dd4a}.tinyScrollbar[data-v-74074b92]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-74074b92]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-74074b92]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-74074b92]{font-size:30px}.commonBtn[data-v-74074b92]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-74074b92]:hover{filter:opacity(.8)}.commonBtn span[data-v-74074b92]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-74074b92]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-74074b92]{background:#7cdcb7}.commonBtn.emerald[data-v-74074b92]{background:#10b981;color:#fff}.commonBtn.white[data-v-74074b92]{background:#f2f2f2}.commonBtn.readOnly[data-v-74074b92]{pointer-events:none}.commonBtn.disable[data-v-74074b92]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-74074b92]{position:relative;pointer-events:none;animation:brightness-74074b92 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-74074b92]{animation:spin-74074b92 1s linear infinite}@keyframes brightness-74074b92{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-74074b92{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-74074b92]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-74074b92] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-74074b92],.el-dialog[data-v-74074b92]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.layer_wrap[data-v-74074b92]{position:relative;width:100%;height:100%;box-sizing:border-box;display:flex;flex-direction:column}.layer[data-v-74074b92]{position:relative;flex:1;min-height:0;width:100%;padding-right:8px;overflow-x:hidden;overflow-y:auto}.layer .layer_item[data-v-74074b92]{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 0;border-radius:8px;background-color:#373737;margin:8px 0;box-sizing:border-box;transition:all .25s ease;cursor:pointer}.layer .layer_item[data-v-74074b92]:hover{filter:brightness(1.2)}.layer .layer_item .layer_item_index[data-v-74074b92]{width:24px;text-align:center;font-size:14px;opacity:.5}.layer .layer_item .layer_item_icon[data-v-74074b92]{box-sizing:unset;padding:8px 16px;font-size:14px;opacity:.8}.layer .layer_item .layer_item_icon[data-v-74074b92]:hover{opacity:1;filter:brightness(2)}.layer .layer_item .layer_item_icon_active[data-v-74074b92]{color:#d73732}.layer .layer_item .layer_item_text[data-v-74074b92]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.layer .layer_item .layer_item_name[data-v-74074b92]{word-break:break-all;line-height:1.2em;font-size:14px}.layer .layer_item .layer_item_nameplate[data-v-74074b92]{word-break:break-all;line-height:1.2em;font-size:11px;opacity:.8}.layer .layer_item .layer_item_right[data-v-74074b92]{display:flex;align-items:center}.layer .layer_item .layer_item_right .layer_item_icon[data-v-74074b92]{padding:6px}.layer .layer_item_selected[data-v-74074b92]{color:#373737;background:#7cdcb7}.layer .layer_item_hide[data-v-74074b92]{filter:brightness(.6)}.layer .layer_item_sort[data-v-74074b92]{position:relative;transform:translateY(4px)}.layer .layer_item_sort[data-v-74074b92]:before{content:"";position:absolute;top:-7px;left:50%;width:90%;height:2px;border-radius:2px;background:#f9dd4a;transform:translate(-50%)}.layer .layer_sort_end[data-v-74074b92]{width:90%;height:2px;margin:4px auto;border-radius:2px;background:#f9dd4a}.layer_footer[data-v-74074b92]{flex-shrink:0;display:flex;justify-content:center;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.layer_footer .clear_all_btn[data-v-74074b92]{min-width:88px;padding:6px 16px;border:1px solid rgba(255,255,255,.35);border-radius:4px;background-color:transparent;color:#f2f2f2;font-size:12px;line-height:1;cursor:pointer;transition:all .25s ease}.layer_footer .clear_all_btn[data-v-74074b92]:hover:not(:disabled){border-color:#f9dd4a;color:#f9dd4a}.layer_footer .clear_all_btn[data-v-74074b92]:disabled{opacity:.4;cursor:not-allowed}.tinyScrollbar[data-v-b0bca111]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-b0bca111]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-b0bca111]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-b0bca111]{font-size:30px}.commonBtn[data-v-b0bca111]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-b0bca111]:hover{filter:opacity(.8)}.commonBtn span[data-v-b0bca111]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-b0bca111]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-b0bca111]{background:#7cdcb7}.commonBtn.emerald[data-v-b0bca111]{background:#10b981;color:#fff}.commonBtn.white[data-v-b0bca111]{background:#f2f2f2}.commonBtn.readOnly[data-v-b0bca111]{pointer-events:none}.commonBtn.disable[data-v-b0bca111]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-b0bca111]{position:relative;pointer-events:none;animation:brightness-b0bca111 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-b0bca111]{animation:spin-b0bca111 1s linear infinite}@keyframes brightness-b0bca111{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-b0bca111{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-b0bca111]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-b0bca111] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-b0bca111],.el-dialog[data-v-b0bca111]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.equipmentCard[data-v-b0bca111]{position:relative;width:100%;height:100%;box-sizing:border-box}.container[data-v-b0bca111]{position:absolute;top:48px;bottom:0;width:100%;box-sizing:border-box}.tab[data-v-b0bca111]{width:100%;height:32px;display:flex;justify-content:space-between}.tab .tab_item[data-v-b0bca111]{flex:1;display:inline-block;border-bottom:2px solid rgba(255,255,255,.2);text-align:center;transition:all .25s ease;cursor:pointer}.tab .tab_item[data-v-b0bca111]:hover{filter:opacity(.8)}.tab .tab_item_active[data-v-b0bca111]{color:#f2c34f;border-color:#f2c34f}.tinyScrollbar[data-v-54c16d2b]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-54c16d2b]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-54c16d2b]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-54c16d2b]{font-size:30px}.commonBtn[data-v-54c16d2b]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-54c16d2b]:hover{filter:opacity(.8)}.commonBtn span[data-v-54c16d2b]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-54c16d2b]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-54c16d2b]{background:#7cdcb7}.commonBtn.emerald[data-v-54c16d2b]{background:#10b981;color:#fff}.commonBtn.white[data-v-54c16d2b]{background:#f2f2f2}.commonBtn.readOnly[data-v-54c16d2b]{pointer-events:none}.commonBtn.disable[data-v-54c16d2b]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-54c16d2b]{position:relative;pointer-events:none;animation:brightness-54c16d2b 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-54c16d2b]{animation:spin-54c16d2b 1s linear infinite}@keyframes brightness-54c16d2b{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-54c16d2b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-54c16d2b]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-54c16d2b] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-54c16d2b],.el-dialog[data-v-54c16d2b]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.texture[data-v-54c16d2b]{display:flex;align-items:center;justify-content:space-between;width:100%;height:24px;background:#424242}.textureLabel[data-v-54c16d2b]{display:inline-block;width:50%;height:24px;line-height:24px;color:#fff;font-size:12px;text-align:center}.textureImg[data-v-54c16d2b]{display:inline-block;width:50%;height:24px;background-size:8px 8px;background-position:center;background-repeat:repeat}[data-v-54c16d2b] .color_picker,[data-v-54c16d2b] .color_picker .el-color-picker__trigger{width:100%}.tinyScrollbar[data-v-bfc4ebd5]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-bfc4ebd5]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-bfc4ebd5]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-bfc4ebd5]{font-size:30px}.commonBtn[data-v-bfc4ebd5]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-bfc4ebd5]:hover{filter:opacity(.8)}.commonBtn span[data-v-bfc4ebd5]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-bfc4ebd5]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-bfc4ebd5]{background:#7cdcb7}.commonBtn.emerald[data-v-bfc4ebd5]{background:#10b981;color:#fff}.commonBtn.white[data-v-bfc4ebd5]{background:#f2f2f2}.commonBtn.readOnly[data-v-bfc4ebd5]{pointer-events:none}.commonBtn.disable[data-v-bfc4ebd5]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-bfc4ebd5]{position:relative;pointer-events:none;animation:brightness-bfc4ebd5 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-bfc4ebd5]{animation:spin-bfc4ebd5 1s linear infinite}@keyframes brightness-bfc4ebd5{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-bfc4ebd5{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-bfc4ebd5]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-bfc4ebd5] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-bfc4ebd5],.el-dialog[data-v-bfc4ebd5]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.tinyScrollbar[data-v-991554f9]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-991554f9]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-991554f9]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-991554f9]{font-size:30px}.commonBtn[data-v-991554f9]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-991554f9]:hover{filter:opacity(.8)}.commonBtn span[data-v-991554f9]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-991554f9]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-991554f9]{background:#7cdcb7}.commonBtn.emerald[data-v-991554f9]{background:#10b981;color:#fff}.commonBtn.white[data-v-991554f9]{background:#f2f2f2}.commonBtn.readOnly[data-v-991554f9]{pointer-events:none}.commonBtn.disable[data-v-991554f9]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-991554f9]{position:relative;pointer-events:none;animation:brightness-991554f9 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-991554f9]{animation:spin-991554f9 1s linear infinite}@keyframes brightness-991554f9{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-991554f9{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-991554f9]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-991554f9] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-991554f9],.el-dialog[data-v-991554f9]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.tinyScrollbar[data-v-ca6127d3]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-ca6127d3]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-ca6127d3]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-ca6127d3]{font-size:30px}.commonBtn[data-v-ca6127d3]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-ca6127d3]:hover{filter:opacity(.8)}.commonBtn span[data-v-ca6127d3]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-ca6127d3]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-ca6127d3]{background:#7cdcb7}.commonBtn.emerald[data-v-ca6127d3]{background:#10b981;color:#fff}.commonBtn.white[data-v-ca6127d3]{background:#f2f2f2}.commonBtn.readOnly[data-v-ca6127d3]{pointer-events:none}.commonBtn.disable[data-v-ca6127d3]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-ca6127d3]{position:relative;pointer-events:none;animation:brightness-ca6127d3 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-ca6127d3]{animation:spin-ca6127d3 1s linear infinite}@keyframes brightness-ca6127d3{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-ca6127d3{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-ca6127d3]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-ca6127d3] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-ca6127d3],.el-dialog[data-v-ca6127d3]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.val_inline[data-v-ca6127d3]{display:flex;align-items:center;gap:4px}.val_inline .el-input[data-v-ca6127d3]{flex:1;min-width:0}.val_inline .reset_btn[data-v-ca6127d3]{flex:0 0 auto;margin-left:0}.tinyScrollbar[data-v-847869a2]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-847869a2]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-847869a2]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-847869a2]{font-size:30px}.commonBtn[data-v-847869a2]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-847869a2]:hover{filter:opacity(.8)}.commonBtn span[data-v-847869a2]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-847869a2]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-847869a2]{background:#7cdcb7}.commonBtn.emerald[data-v-847869a2]{background:#10b981;color:#fff}.commonBtn.white[data-v-847869a2]{background:#f2f2f2}.commonBtn.readOnly[data-v-847869a2]{pointer-events:none}.commonBtn.disable[data-v-847869a2]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-847869a2]{position:relative;pointer-events:none;animation:brightness-847869a2 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-847869a2]{animation:spin-847869a2 1s linear infinite}@keyframes brightness-847869a2{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-847869a2{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-847869a2]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-847869a2] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-847869a2],.el-dialog[data-v-847869a2]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.tinyScrollbar[data-v-4812a45a]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-4812a45a]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-4812a45a]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-4812a45a]{font-size:30px}.commonBtn[data-v-4812a45a]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-4812a45a]:hover{filter:opacity(.8)}.commonBtn span[data-v-4812a45a]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-4812a45a]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-4812a45a]{background:#7cdcb7}.commonBtn.emerald[data-v-4812a45a]{background:#10b981;color:#fff}.commonBtn.white[data-v-4812a45a]{background:#f2f2f2}.commonBtn.readOnly[data-v-4812a45a]{pointer-events:none}.commonBtn.disable[data-v-4812a45a]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-4812a45a]{position:relative;pointer-events:none;animation:brightness-4812a45a 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-4812a45a]{animation:spin-4812a45a 1s linear infinite}@keyframes brightness-4812a45a{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-4812a45a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-4812a45a]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-4812a45a] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-4812a45a],.el-dialog[data-v-4812a45a]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.section-title[data-v-b50f0bdf]{display:inline-block;position:relative;margin-bottom:8px}.section-title b[data-v-b50f0bdf]{position:relative;z-index:1;font-size:16px;color:#424242;padding:0 8px;border-radius:4px;background-color:#f2c34f}.station-slot-table-wrap[data-v-b50f0bdf]{height:450px}.station-slot-table[data-v-b50f0bdf] .el-table-v2__header-cell{border-right:1px solid var(--el-border-color-lighter);padding:0}.station-slot-table[data-v-b50f0bdf] .el-table-v2__row-cell{border-right:1px solid var(--el-border-color-lighter);border-bottom:1px solid var(--el-border-color-lighter)}.station-slot-table[data-v-b50f0bdf] .required{color:#f56c6c}.station-slot-table[data-v-b50f0bdf] .resource-type-option{display:flex;align-items:center;justify-content:space-between;gap:8px}.station-slot-table[data-v-b50f0bdf] .resource-type-option__name{color:#909399;font-size:12px}.station-slot-table[data-v-b50f0bdf] .display-option{display:flex;align-items:center;justify-content:space-between;gap:8px}.station-slot-table[data-v-b50f0bdf] .display-option__desc{color:#909399;font-size:12px}.station-slot-table[data-v-b50f0bdf] .op-cell{display:flex;align-items:center;justify-content:center}.station-slot-table[data-v-b50f0bdf] .op-cell .el-button+.el-button{margin-left:0}.table-empty[data-v-b50f0bdf]{display:flex;align-items:center;justify-content:center;height:100%;color:#909399;font-size:13px}.dialog-actions[data-v-b50f0bdf]{display:flex;justify-content:flex-end;gap:8px;margin:8px 0 0 auto}.batch-tip[data-v-b50f0bdf]{color:#e6a23c;font-size:13px;margin-bottom:12px;padding:8px 12px;background-color:#e6a23c1a;border:1px solid rgba(230,162,60,.3);border-radius:4px}.tinyScrollbar[data-v-0c12be0a]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-0c12be0a]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-0c12be0a]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-0c12be0a]{font-size:30px}.commonBtn[data-v-0c12be0a]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-0c12be0a]:hover{filter:opacity(.8)}.commonBtn span[data-v-0c12be0a]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-0c12be0a]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-0c12be0a]{background:#7cdcb7}.commonBtn.emerald[data-v-0c12be0a]{background:#10b981;color:#fff}.commonBtn.white[data-v-0c12be0a]{background:#f2f2f2}.commonBtn.readOnly[data-v-0c12be0a]{pointer-events:none}.commonBtn.disable[data-v-0c12be0a]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-0c12be0a]{position:relative;pointer-events:none;animation:brightness-0c12be0a 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-0c12be0a]{animation:spin-0c12be0a 1s linear infinite}@keyframes brightness-0c12be0a{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-0c12be0a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-0c12be0a]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-0c12be0a] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-0c12be0a],.el-dialog[data-v-0c12be0a]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.form_group_title[data-v-0c12be0a]{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;color:#303133;margin-bottom:8px;padding-left:8px}.layer_item[data-v-0c12be0a]{position:relative;border-radius:6px;padding:5px 10px 10px;margin-bottom:4px;background:#e2e2e2;overflow:hidden}.layer_badge[data-v-0c12be0a]{position:absolute;top:-1px;left:-1px;display:flex;align-items:center;background:#121212;color:#fff;font-size:12px;line-height:1;padding:4px;border-radius:0 0 10px}.layer_badge_input[data-v-0c12be0a]{width:52px}.layer_badge_input[data-v-0c12be0a] .el-input__wrapper{background:transparent;box-shadow:none;padding:0 2px}.layer_badge_input[data-v-0c12be0a] .el-input__inner{color:#fff;font-size:12px;height:16px;line-height:16px}.layer_header[data-v-0c12be0a]{display:flex;justify-content:flex-end;align-items:center;margin-bottom:8px;padding-bottom:6px;border-bottom:1px dashed #424242}.layer_actions[data-v-0c12be0a]{display:flex;align-items:center;gap:8px}.layer_actions .el-button+.el-button[data-v-0c12be0a]{margin-left:0}.layer_actions .el-button[data-v-0c12be0a]:not(.is-link){padding:0}.layer_info[data-v-0c12be0a]{display:flex;flex-wrap:nowrap;justify-content:space-between}.info_row[data-v-0c12be0a]{display:flex;align-items:center;gap:4px}.info_label[data-v-0c12be0a]{font-size:12px;color:#909399}.info_value[data-v-0c12be0a]{font-size:12px;color:#303133;font-weight:500}.empty_hint[data-v-0c12be0a]{text-align:center;padding:16px;font-size:12px;color:#909399;background:#f5f7fa;border-radius:4px;border:1px dashed #dcdfe6}.tinyScrollbar[data-v-0d9800be]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-0d9800be]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-0d9800be]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-0d9800be]{font-size:30px}.commonBtn[data-v-0d9800be]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-0d9800be]:hover{filter:opacity(.8)}.commonBtn span[data-v-0d9800be]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-0d9800be]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-0d9800be]{background:#7cdcb7}.commonBtn.emerald[data-v-0d9800be]{background:#10b981;color:#fff}.commonBtn.white[data-v-0d9800be]{background:#f2f2f2}.commonBtn.readOnly[data-v-0d9800be]{pointer-events:none}.commonBtn.disable[data-v-0d9800be]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-0d9800be]{position:relative;pointer-events:none;animation:brightness-0d9800be 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-0d9800be]{animation:spin-0d9800be 1s linear infinite}@keyframes brightness-0d9800be{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-0d9800be{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-0d9800be]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-0d9800be] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-0d9800be],.el-dialog[data-v-0d9800be]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.tinyScrollbar[data-v-8d094834]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-8d094834]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-8d094834]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-8d094834]{font-size:30px}.commonBtn[data-v-8d094834]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-8d094834]:hover{filter:opacity(.8)}.commonBtn span[data-v-8d094834]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-8d094834]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-8d094834]{background:#7cdcb7}.commonBtn.emerald[data-v-8d094834]{background:#10b981;color:#fff}.commonBtn.white[data-v-8d094834]{background:#f2f2f2}.commonBtn.readOnly[data-v-8d094834]{pointer-events:none}.commonBtn.disable[data-v-8d094834]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-8d094834]{position:relative;pointer-events:none;animation:brightness-8d094834 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-8d094834]{animation:spin-8d094834 1s linear infinite}@keyframes brightness-8d094834{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-8d094834{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-8d094834]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-8d094834] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-8d094834],.el-dialog[data-v-8d094834]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.fixture-binding-option[data-v-8d094834]{display:flex;align-items:center;justify-content:space-between;gap:8px}.fixture-binding-option .fixture-binding-option__fixtures[data-v-8d094834]{color:#67c23a;font-size:12px}.tinyScrollbar[data-v-88782ed6]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-88782ed6]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-88782ed6]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-88782ed6]{font-size:30px}.commonBtn[data-v-88782ed6]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-88782ed6]:hover{filter:opacity(.8)}.commonBtn span[data-v-88782ed6]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-88782ed6]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-88782ed6]{background:#7cdcb7}.commonBtn.emerald[data-v-88782ed6]{background:#10b981;color:#fff}.commonBtn.white[data-v-88782ed6]{background:#f2f2f2}.commonBtn.readOnly[data-v-88782ed6]{pointer-events:none}.commonBtn.disable[data-v-88782ed6]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-88782ed6]{position:relative;pointer-events:none;animation:brightness-88782ed6 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-88782ed6]{animation:spin-88782ed6 1s linear infinite}@keyframes brightness-88782ed6{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-88782ed6{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-88782ed6]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-88782ed6] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-88782ed6],.el-dialog[data-v-88782ed6]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.tinyScrollbar[data-v-b11802e4]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-b11802e4]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-b11802e4]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-b11802e4]{font-size:30px}.commonBtn[data-v-b11802e4]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-b11802e4]:hover{filter:opacity(.8)}.commonBtn span[data-v-b11802e4]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-b11802e4]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-b11802e4]{background:#7cdcb7}.commonBtn.emerald[data-v-b11802e4]{background:#10b981;color:#fff}.commonBtn.white[data-v-b11802e4]{background:#f2f2f2}.commonBtn.readOnly[data-v-b11802e4]{pointer-events:none}.commonBtn.disable[data-v-b11802e4]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-b11802e4]{position:relative;pointer-events:none;animation:brightness-b11802e4 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-b11802e4]{animation:spin-b11802e4 1s linear infinite}@keyframes brightness-b11802e4{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-b11802e4{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-b11802e4]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-b11802e4] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-b11802e4],.el-dialog[data-v-b11802e4]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.tinyScrollbar[data-v-952be1e4]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-952be1e4]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-952be1e4]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-952be1e4]{font-size:30px}.commonBtn[data-v-952be1e4]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-952be1e4]:hover{filter:opacity(.8)}.commonBtn span[data-v-952be1e4]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-952be1e4]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-952be1e4]{background:#7cdcb7}.commonBtn.emerald[data-v-952be1e4]{background:#10b981;color:#fff}.commonBtn.white[data-v-952be1e4]{background:#f2f2f2}.commonBtn.readOnly[data-v-952be1e4]{pointer-events:none}.commonBtn.disable[data-v-952be1e4]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-952be1e4]{position:relative;pointer-events:none;animation:brightness-952be1e4 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-952be1e4]{animation:spin-952be1e4 1s linear infinite}@keyframes brightness-952be1e4{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-952be1e4{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-952be1e4]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-952be1e4] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-952be1e4],.el-dialog[data-v-952be1e4]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.tinyScrollbar[data-v-a66d7981]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-a66d7981]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-a66d7981]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-a66d7981]{font-size:30px}.commonBtn[data-v-a66d7981]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-a66d7981]:hover{filter:opacity(.8)}.commonBtn span[data-v-a66d7981]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-a66d7981]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-a66d7981]{background:#7cdcb7}.commonBtn.emerald[data-v-a66d7981]{background:#10b981;color:#fff}.commonBtn.white[data-v-a66d7981]{background:#f2f2f2}.commonBtn.readOnly[data-v-a66d7981]{pointer-events:none}.commonBtn.disable[data-v-a66d7981]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-a66d7981]{position:relative;pointer-events:none;animation:brightness-a66d7981 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-a66d7981]{animation:spin-a66d7981 1s linear infinite}@keyframes brightness-a66d7981{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-a66d7981{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-a66d7981]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-a66d7981] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-a66d7981],.el-dialog[data-v-a66d7981]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.tinyScrollbar[data-v-7cd0d7a7]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-7cd0d7a7]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-7cd0d7a7]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-7cd0d7a7]{font-size:30px}.commonBtn[data-v-7cd0d7a7]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-7cd0d7a7]:hover{filter:opacity(.8)}.commonBtn span[data-v-7cd0d7a7]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-7cd0d7a7]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-7cd0d7a7]{background:#7cdcb7}.commonBtn.emerald[data-v-7cd0d7a7]{background:#10b981;color:#fff}.commonBtn.white[data-v-7cd0d7a7]{background:#f2f2f2}.commonBtn.readOnly[data-v-7cd0d7a7]{pointer-events:none}.commonBtn.disable[data-v-7cd0d7a7]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-7cd0d7a7]{position:relative;pointer-events:none;animation:brightness-7cd0d7a7 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-7cd0d7a7]{animation:spin-7cd0d7a7 1s linear infinite}@keyframes brightness-7cd0d7a7{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-7cd0d7a7{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-7cd0d7a7]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-7cd0d7a7] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-7cd0d7a7],.el-dialog[data-v-7cd0d7a7]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.container[data-v-7cd0d7a7]{position:absolute;top:48px;bottom:0;width:100%;box-sizing:border-box}.tab[data-v-7cd0d7a7]{width:100%;height:32px;display:flex;justify-content:space-between}.tab .tab_item[data-v-7cd0d7a7]{flex:1;display:inline-block;border-bottom:2px solid rgba(255,255,255,.2);text-align:center;transition:all .25s ease;cursor:pointer}.tab .tab_item[data-v-7cd0d7a7]:hover{filter:opacity(.8)}.tab .tab_item_active[data-v-7cd0d7a7]{color:#f2c34f;border-color:#f2c34f}.editParamsForm{position:relative;width:100%;height:100%;box-sizing:border-box}.editParamsForm .formContainer{width:100%;height:100%;padding-right:8px;overflow-x:hidden;overflow-y:auto}.editParamsForm .formContainer .form_group{padding-bottom:16px;word-break:break-all}.editParamsForm .formContainer .form_group:not(:first-child) .form_group_title{border-top:1px solid rgba(255,255,255,.2)}.editParamsForm .formContainer .form_group .form_group_title{display:flex;align-items:center;justify-content:space-between;padding:16px 0;font-size:16px;color:#f2c34f}.editParamsForm .formContainer .form_group .keyVal{display:flex;align-items:center;margin-bottom:16px;position:relative}.editParamsForm .formContainer .form_group .keyVal .key{width:80px;line-height:1.2em;font-size:14px}.editParamsForm .formContainer .form_group .keyVal .key_required{position:relative;display:inline-block}.editParamsForm .formContainer .form_group .keyVal .key_required:after{content:"";position:absolute;left:0;bottom:-3px;width:50%;height:2px;border-radius:1px;background-color:#ff4d4f}.editParamsForm .formContainer .form_group .keyVal .val{flex:1;border-radius:4px;min-height:32px}.editParamsForm .formContainer .form_group .keyVal .val_readonly{flex:1;background-color:#fff;color:#666;border-radius:4px;min-height:32px;font-size:14px;line-height:1.2em;padding:1px 11px}.editParamsForm .formContainer .form_group .keyVal .unit{display:block;font-size:14px;opacity:.6}.editParamsForm .formContainer .form_group .keyVal .errorMessage{position:absolute;left:0;right:0;bottom:-4px;z-index:1;border-radius:4px;transform:translateY(100%);background-color:#d73732;color:#f2f2f2;font-size:12px;text-align:center}.editParamsForm .formContainer .el_icon{margin-left:8px;opacity:.6;cursor:pointer}.editParamsForm .formContainer .el_icon:hover{opacity:1}.editParamsForm .sameAreaBox{position:relative;background-color:#8fb9cb80;border-radius:4px}#lingshu-smart-editorApp[data-v-ca67a980]{width:100%;height:100%;display:block}.tinyScrollbar[data-v-e2ae50f5]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-e2ae50f5]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-e2ae50f5]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-e2ae50f5]{font-size:30px}.commonBtn[data-v-e2ae50f5]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-e2ae50f5]:hover{filter:opacity(.8)}.commonBtn span[data-v-e2ae50f5]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-e2ae50f5]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-e2ae50f5]{background:#7cdcb7}.commonBtn.emerald[data-v-e2ae50f5]{background:#10b981;color:#fff}.commonBtn.white[data-v-e2ae50f5]{background:#f2f2f2}.commonBtn.readOnly[data-v-e2ae50f5]{pointer-events:none}.commonBtn.disable[data-v-e2ae50f5]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-e2ae50f5]{position:relative;pointer-events:none;animation:brightness-e2ae50f5 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-e2ae50f5]{animation:spin-e2ae50f5 1s linear infinite}@keyframes brightness-e2ae50f5{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-e2ae50f5{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-e2ae50f5]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-e2ae50f5] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-e2ae50f5],.el-dialog[data-v-e2ae50f5]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.case_title[data-v-e2ae50f5]{color:#f2c34f;font-size:18px;font-weight:400;text-align:left;text-decoration:underline;cursor:pointer;line-height:1.2}.case_title[data-v-e2ae50f5]:hover{opacity:.8}.case_id[data-v-e2ae50f5]{display:flex;align-items:center;justify-content:flex-start;gap:4px;margin-top:4px;font-size:12px;color:#ffffff73}.case_id .case_id_text[data-v-e2ae50f5]{font-family:JetBrains Mono,SF Mono,Consolas,Menlo,monospace}.case_id .case_id_copy[data-v-e2ae50f5]{flex-shrink:0;cursor:pointer}.case_id .case_id_copy[data-v-e2ae50f5]:hover{opacity:.75}.ei_header[data-v-41cb1641]{display:flex;align-items:center;gap:12px;padding:4px 0}.ei_header .ei_header_title[data-v-41cb1641]{font-size:17px;font-weight:600;line-height:1.3}.ei_header .ei_header_sub[data-v-41cb1641]{margin-top:2px;font-size:12px;color:#909399}.ei_body[data-v-41cb1641]{display:flex;flex-direction:column;gap:18px;padding:4px 2px}.ei_section .ei_section_title[data-v-41cb1641]{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;font-weight:600;color:#606266}.ei_section .ei_section_title .ei_section_title_warn[data-v-41cb1641]{font-size:12px;font-weight:400;color:#e6a23c}.ei_section .ei_alert[data-v-41cb1641]{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;border-radius:6px;background:#e6a23c14;border:1px solid rgba(230,162,60,.35);color:#b88230;font-size:12px;line-height:1.5}.ei_section .ei_alert .el-icon[data-v-41cb1641]{flex-shrink:0;color:#e6a23c}.ei_actions[data-v-41cb1641]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ei_actions .ei_action[data-v-41cb1641]{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #e4e7ed;border-radius:10px;background:#fafbfc;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.ei_actions .ei_action[data-v-41cb1641]:hover{border-color:#409eff;background:#409eff0a;box-shadow:0 2px 10px #409eff1f;transform:translateY(-1px)}.ei_actions .ei_action .ei_action_icon[data-v-41cb1641]{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:8px;background:#409eff1a;color:#409eff;font-size:18px}.ei_actions .ei_action .ei_action_text[data-v-41cb1641]{display:flex;flex-direction:column;gap:2px;min-width:0}.ei_actions .ei_action .ei_action_text b[data-v-41cb1641]{font-size:14px;color:#303133}.ei_actions .ei_action .ei_action_text span[data-v-41cb1641]{font-size:12px;color:#909399}.ei_footer[data-v-41cb1641]{display:flex;justify-content:flex-end;gap:8px}.export-import-dialog{border-radius:12px;box-shadow:0 12px 40px #0000002e}.export-import-dialog .el-dialog__header{padding:16px 20px 12px;margin-right:0;background:linear-gradient(180deg,#409eff0f,#409eff00);border-bottom:1px solid #ebeef5}.export-import-dialog .el-dialog__headerbtn{top:20px;right:20px}.export-import-dialog .el-dialog__body{padding:16px 20px}.export-import-dialog .el-dialog__footer{padding:12px 20px 16px;border-top:1px solid #ebeef5}.export-import-dialog .el-textarea__inner{border-radius:8px;font-family:JetBrains Mono,SF Mono,Consolas,Menlo,monospace;font-size:12px;line-height:1.6}.export-import-dialog .el-textarea__inner:focus{box-shadow:0 0 0 1px #409eff inset}.tinyScrollbar[data-v-dfd86e18]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-dfd86e18]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-dfd86e18]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-dfd86e18]{font-size:30px}.commonBtn[data-v-dfd86e18]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-dfd86e18]:hover{filter:opacity(.8)}.commonBtn span[data-v-dfd86e18]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-dfd86e18]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-dfd86e18]{background:#7cdcb7}.commonBtn.emerald[data-v-dfd86e18]{background:#10b981;color:#fff}.commonBtn.white[data-v-dfd86e18]{background:#f2f2f2}.commonBtn.readOnly[data-v-dfd86e18]{pointer-events:none}.commonBtn.disable[data-v-dfd86e18]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-dfd86e18]{position:relative;pointer-events:none;animation:brightness-dfd86e18 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-dfd86e18]{animation:spin-dfd86e18 1s linear infinite}@keyframes brightness-dfd86e18{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-dfd86e18{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-dfd86e18]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-dfd86e18] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-dfd86e18],.el-dialog[data-v-dfd86e18]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.persist_dialog[data-v-dfd86e18]{display:flex;flex-direction:column;gap:16px}.persist_dialog .persist_option_title[data-v-dfd86e18]{margin-bottom:4px;font-size:15px;font-weight:700}.persist_dialog .persist_option_desc[data-v-dfd86e18]{margin-bottom:10px;font-size:13px;line-height:1.5;color:#909399;word-break:break-all}.persist_dialog .persist_option_desc code[data-v-dfd86e18]{padding:1px 6px;border-radius:4px;background:#409eff1a;color:#409eff;font-family:JetBrains Mono,SF Mono,Consolas,Menlo,monospace}.persist_dialog .persist_option[data-v-dfd86e18]{display:flex;gap:14px;padding:16px;border:1px solid #e5e7eb;border-radius:8px}.persist_dialog .persist_option .persist_option_icon[data-v-dfd86e18]{display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex-shrink:0;border-radius:8px;background:#409eff1f;color:#409eff}.persist_dialog .persist_option .persist_option_icon_green[data-v-dfd86e18]{background:#10b9811f;color:#10b981}.persist_dialog .persist_option .persist_option_icon_disabled[data-v-dfd86e18]{filter:grayscale(1);opacity:.6}.persist_dialog .persist_option .persist_option_body[data-v-dfd86e18]{flex:1;min-width:0}.persist_dialog .persist_option .persist_option_error[data-v-dfd86e18]{margin-top:10px;padding:8px 12px;border-radius:4px;background:#f56c6c1a;border:1px solid rgba(245,108,108,.4);color:#f56c6c;font-size:13px;line-height:1.5;word-break:break-all}.persist_dialog .persist_btn_warn[data-v-dfd86e18]{--el-button-bg-color: #e6a23c;--el-button-border-color: #e6a23c;--el-button-hover-bg-color: #eebe77;--el-button-hover-border-color: #eebe77}.persist_dialog .persist_git[data-v-dfd86e18]{padding:16px;border:1px dashed #10b981;border-radius:8px;background:#10b9810f}.persist_dialog .persist_git .persist_option_title[data-v-dfd86e18]{color:#10b981}.persist_dialog .persist_git .persist_git_command[data-v-dfd86e18]{display:flex;align-items:flex-start;gap:8px}.persist_dialog .persist_git .persist_git_command .persist_git_textarea[data-v-dfd86e18]{flex:1}.persist_dialog .persist_git .persist_git_command .persist_git_textarea[data-v-dfd86e18] textarea{font-family:JetBrains Mono,SF Mono,Consolas,Menlo,monospace;font-size:12px}.tinyScrollbar[data-v-d79837b9]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-d79837b9]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-d79837b9]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-d79837b9]{font-size:30px}.commonBtn[data-v-d79837b9]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-d79837b9]:hover{filter:opacity(.8)}.commonBtn span[data-v-d79837b9]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-d79837b9]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-d79837b9]{background:#7cdcb7}.commonBtn.emerald[data-v-d79837b9]{background:#10b981;color:#fff}.commonBtn.white[data-v-d79837b9]{background:#f2f2f2}.commonBtn.readOnly[data-v-d79837b9]{pointer-events:none}.commonBtn.disable[data-v-d79837b9]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-d79837b9]{position:relative;pointer-events:none;animation:brightness-d79837b9 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-d79837b9]{animation:spin-d79837b9 1s linear infinite}@keyframes brightness-d79837b9{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-d79837b9{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-d79837b9]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-d79837b9] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-d79837b9],.el-dialog[data-v-d79837b9]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.dropdown_menu_btn[data-v-d79837b9]{padding-top:5px;border-top:1px solid #e5e7eb}.tinyScrollbar::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon{font-size:30px}.commonBtn{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn:hover{filter:opacity(.8)}.commonBtn span{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red{background:#d73732;color:#f2f2f2}.commonBtn.green{background:#7cdcb7}.commonBtn.emerald{background:#10b981;color:#fff}.commonBtn.white{background:#f2f2f2}.commonBtn.readOnly{pointer-events:none}.commonBtn.disable{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading{position:relative;pointer-events:none;animation:brightness 1s linear infinite}.commonBtn.loading .loadingIcon{animation:spin 1s linear infinite}@keyframes brightness{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn :deep(.el-dropdown-menu__item){display:block;width:100%;padding:0}.el-message-box,.el-dialog{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.dropdown_menu_item{width:100%;display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none}.dropdown_menu_header{display:flex;align-items:center;padding:0 16px 5px;margin-bottom:2px;border-bottom:1px solid #e5e7eb;font-size:12px;color:#909399}.dropdown_menu_header .dropdown_menu_header_title{flex:1;min-width:0}.dropdown_menu_header .dropdown_menu_header_id{width:77px;text-align:center}.dropdown_menu_header .dropdown_menu_header_actions{width:44px;text-align:center}.dropdown_menu_item_title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown_menu_item_id{width:64px;margin-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;font-size:12px;font-family:JetBrains Mono,SF Mono,Consolas,Menlo,monospace;color:#8f8f8f}.dropdown_menu_item_actions{display:flex;align-items:center;gap:2px;margin-left:10px;flex-shrink:0}.dropdown_menu_item_action{font-size:14px;padding:2px;border-radius:2px;cursor:pointer}.dropdown_menu_item_action:hover{opacity:.75}.dropdown_menu_item_active{position:relative}.dropdown_menu_item_active:before{content:"";position:absolute;top:50%;left:-7px;border:5px solid transparent;border-color:transparent transparent transparent rgb(242,195,79);transform:translateY(-50%) scaleX(1.5)}.dropdown_menu_item_active .dropdown_menu_item_title{color:#f2c34f}.dropdown_menu_noData{padding:5px 0;text-align:center;color:#999}.tinyScrollbar[data-v-a9412967]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-a9412967]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-a9412967]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-a9412967]{font-size:30px}.commonBtn[data-v-a9412967]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-a9412967]:hover{filter:opacity(.8)}.commonBtn span[data-v-a9412967]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-a9412967]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-a9412967]{background:#7cdcb7}.commonBtn.emerald[data-v-a9412967]{background:#10b981;color:#fff}.commonBtn.white[data-v-a9412967]{background:#f2f2f2}.commonBtn.readOnly[data-v-a9412967]{pointer-events:none}.commonBtn.disable[data-v-a9412967]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-a9412967]{position:relative;pointer-events:none;animation:brightness-a9412967 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-a9412967]{animation:spin-a9412967 1s linear infinite}@keyframes brightness-a9412967{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-a9412967{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-a9412967]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-a9412967] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-a9412967],.el-dialog[data-v-a9412967]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.step-visualizer-container[data-v-a9412967]{display:flex;flex-direction:column;align-items:center;padding:8px;background:#f2c34f26;border-radius:8px;border:1px solid rgb(242,195,79);font-family:sans-serif;-webkit-user-select:none;user-select:none}.step-labels[data-v-a9412967]{width:100%;display:flex;justify-content:space-between;font-size:12px;color:#f2c34f;margin-bottom:8px}.dots-wrapper[data-v-a9412967]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border-radius:20px;box-shadow:inset 2px 1px 2px #00000040,inset -1px -1px 2px #0000000d}.dot[data-v-a9412967]{width:16px;height:16px;border-radius:50%;background-color:transparent;border:2px solid rgba(242,195,79,.15);position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.dot-inner[data-v-a9412967]{width:6px;height:6px;border-radius:50%;background-color:transparent;transition:all .3s ease}.dot.is-past[data-v-a9412967]{background-color:#f2c34f26;border-color:#f2c34f;cursor:pointer}.dot.is-past[data-v-a9412967]:hover{filter:brightness(1.1)}.dot.is-past .dot-inner[data-v-a9412967]{background-color:#f2c34f66}.dot.is-current[data-v-a9412967]{border-color:#f2c34f;transform:scale(1.2);box-shadow:0 2px 2px #f2c34f66;z-index:10}.dot.is-current .dot-inner[data-v-a9412967]{background-color:#f2c34f;width:8px;height:8px}.status-text[data-v-a9412967]{position:relative;width:100%;text-align:center;margin-top:12px;font-size:12px}.status-text .status[data-v-a9412967]{display:inline-block;padding:0 8px;border-radius:16px;color:#fff;background:#f2c34f}.hint[data-v-a9412967]{position:absolute;top:50%;transform:translateY(-50%) scale(0);font-size:12px;color:#f2c34f;opacity:0;transition:all .25s ease}.hint-show[data-v-a9412967]{opacity:1;transform:translateY(-50%) scale(1)}.tinyScrollbar[data-v-e28fe45c]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-e28fe45c]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-e28fe45c]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-e28fe45c]{font-size:30px}.commonBtn[data-v-e28fe45c]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-e28fe45c]:hover{filter:opacity(.8)}.commonBtn span[data-v-e28fe45c]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-e28fe45c]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-e28fe45c]{background:#7cdcb7}.commonBtn.emerald[data-v-e28fe45c]{background:#10b981;color:#fff}.commonBtn.white[data-v-e28fe45c]{background:#f2f2f2}.commonBtn.readOnly[data-v-e28fe45c]{pointer-events:none}.commonBtn.disable[data-v-e28fe45c]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-e28fe45c]{position:relative;pointer-events:none;animation:brightness-e28fe45c 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-e28fe45c]{animation:spin-e28fe45c 1s linear infinite}@keyframes brightness-e28fe45c{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-e28fe45c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-e28fe45c]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-e28fe45c] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-e28fe45c],.el-dialog[data-v-e28fe45c]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.tinyScrollbar[data-v-82025425]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-82025425]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-82025425]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-82025425]{font-size:30px}.commonBtn[data-v-82025425]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-82025425]:hover{filter:opacity(.8)}.commonBtn span[data-v-82025425]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-82025425]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-82025425]{background:#7cdcb7}.commonBtn.emerald[data-v-82025425]{background:#10b981;color:#fff}.commonBtn.white[data-v-82025425]{background:#f2f2f2}.commonBtn.readOnly[data-v-82025425]{pointer-events:none}.commonBtn.disable[data-v-82025425]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-82025425]{position:relative;pointer-events:none;animation:brightness-82025425 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-82025425]{animation:spin-82025425 1s linear infinite}@keyframes brightness-82025425{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-82025425{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-82025425]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-82025425] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-82025425],.el-dialog[data-v-82025425]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.tinyScrollbar[data-v-91ea6b0c]::-webkit-scrollbar{width:5px;height:1px}.tinyScrollbar[data-v-91ea6b0c]::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:#888}.noData[data-v-91ea6b0c]{width:100%;text-align:center;color:#f2f2f299;font-size:14px}.noData .noData_icon[data-v-91ea6b0c]{font-size:30px}.commonBtn[data-v-91ea6b0c]{display:flex;align-items:center;min-height:22px;padding:0 8px;box-sizing:border-box;border-radius:2px;vertical-align:middle;background:#f2c34f;color:#212121d9;font-size:14px;transition:all .25s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.commonBtn[data-v-91ea6b0c]:hover{filter:opacity(.8)}.commonBtn span[data-v-91ea6b0c]{display:inline-block;margin:0 2px;font-size:14px}.commonBtn.red[data-v-91ea6b0c]{background:#d73732;color:#f2f2f2}.commonBtn.green[data-v-91ea6b0c]{background:#7cdcb7}.commonBtn.emerald[data-v-91ea6b0c]{background:#10b981;color:#fff}.commonBtn.white[data-v-91ea6b0c]{background:#f2f2f2}.commonBtn.readOnly[data-v-91ea6b0c]{pointer-events:none}.commonBtn.disable[data-v-91ea6b0c]{cursor:not-allowed;filter:brightness(.7)}.commonBtn.loading[data-v-91ea6b0c]{position:relative;pointer-events:none;animation:brightness-91ea6b0c 1s linear infinite}.commonBtn.loading .loadingIcon[data-v-91ea6b0c]{animation:spin-91ea6b0c 1s linear infinite}@keyframes brightness-91ea6b0c{0%{filter:brightness(.5)}50%{filter:brightness(1.5)}to{filter:brightness(.5)}}@keyframes spin-91ea6b0c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown_menu_btn[data-v-91ea6b0c]{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:0 5px}.dropdown_menu_btn[data-v-91ea6b0c] .el-dropdown-menu__item{display:block;width:100%;padding:0}.el-message-box[data-v-91ea6b0c],.el-dialog[data-v-91ea6b0c]{border:1px solid rgba(255,255,255,.12);border:1px solid var(--jnrs-font-primary-05, rgba(255, 255, 255, .12))}.lingshu_smart_editor[data-v-91ea6b0c]{position:relative;display:flex;justify-content:space-between;width:100%;height:100%;box-sizing:border-box;font-size:18px;color:#f2f2f2;overflow:hidden;-webkit-user-select:none;user-select:none}.lingshu_smart_editor .main_logo[data-v-91ea6b0c]{margin-bottom:50px;text-align:left;will-change:transform}.lingshu_smart_editor .main_logo .main_logo_title[data-v-91ea6b0c]{display:flex;align-items:center}.lingshu_smart_editor .main_logo .main_logo_title .main_logo_img[data-v-91ea6b0c]{width:60px;height:60px;animation:rotate-91ea6b0c 30s linear infinite}.lingshu_smart_editor .main_logo .main_logo_title .main_logo_icon[data-v-91ea6b0c]{position:relative;top:-5px;left:-5px;width:60px;height:60px}.lingshu_smart_editor .main_logo .main_logo_title .main_logo_icon span[data-v-91ea6b0c]:nth-of-type(1){position:absolute;font-size:50px;animation:rotate-91ea6b0c 30s linear infinite}.lingshu_smart_editor .main_logo .main_logo_title .main_logo_icon span[data-v-91ea6b0c]:nth-of-type(2){position:absolute;bottom:-10px;right:-5px;z-index:1;font-size:25px;animation:rotate_reverse-91ea6b0c 10s linear infinite}.lingshu_smart_editor .main_logo .main_logo_title .main_logo_title_text[data-v-91ea6b0c]{font-size:30px;color:#f2c34f;background:linear-gradient(190deg,#fff,#98a9b9,#fff);background-size:200% 100%;background-repeat:no-repeat;background-position:left center;background-clip:text;-webkit-background-clip:text;color:transparent;animation:shine-91ea6b0c 10s infinite}.lingshu_smart_editor .main_logo .main_logo_title .main_logo_title_version[data-v-91ea6b0c]{display:inline-block;padding:0 6px 0 4px;margin-left:3px;border-radius:3px;height:14px;line-height:14px;font-size:12px;text-align:center;color:#212121d9;background:linear-gradient(135deg,#dbdbdb,#242323 90%);background-size:200% 100%}@keyframes shine-91ea6b0c{0%{background-position:left center}50%{background-position:right center}to{background-position:left center}}@keyframes rotate-91ea6b0c{50%{filter:brightness(1.4)}to{transform:rotate(360deg)}}@keyframes rotate_reverse-91ea6b0c{50%{filter:brightness(1.2)}to{transform:rotate(-360deg)}}.lingshu_smart_editor .main_logo .main_logo_intro[data-v-91ea6b0c]{padding:8px 0 0 8px}.lingshu_smart_editor .main_logo .main_logo_intro p[data-v-91ea6b0c]{font-size:14px;font-family:Alibaba-PuHuiTi-Light;opacity:.8}.lingshu_smart_editor .main_left[data-v-91ea6b0c],.lingshu_smart_editor .control_bar[data-v-91ea6b0c],.lingshu_smart_editor .main_right[data-v-91ea6b0c]{padding:16px;box-sizing:border-box;background:#121212}.lingshu_smart_editor .control_bar_right[data-v-91ea6b0c]{display:flex;align-items:center;gap:8px}.lingshu_smart_editor .control_bar_right .control_bar_iconBtn[data-v-91ea6b0c]{padding:0 6px}.lingshu_smart_editor .control_bar_right .control_bar_iconBtn[data-v-91ea6b0c] .el-icon{font-size:14px}.lingshu_smart_editor .main_left[data-v-91ea6b0c],.lingshu_smart_editor .main_right[data-v-91ea6b0c]{position:relative;z-index:10;width:300px;height:100%;flex-shrink:0}.lingshu_smart_editor .main_left[data-v-91ea6b0c]{display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.3)}.lingshu_smart_editor .main_right[data-v-91ea6b0c]{border-left:1px solid rgba(255,255,255,.3)}.lingshu_smart_editor .main_mid[data-v-91ea6b0c]{position:relative;z-index:5;flex:1;display:flex;flex-direction:column;background:#242323}.lingshu_smart_editor .main_mid .control_bar[data-v-91ea6b0c]{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;min-height:64px;padding:0 16px;font-size:0}.lingshu_smart_editor .main_mid .main_mid_content[data-v-91ea6b0c]{width:100%;height:100%;background:#373737}.lingshu_smart_preview[data-v-b9909a32]{position:relative;width:100%;height:100%;overflow:hidden}.lingshu_smart_preview.interactions-disabled[data-v-b9909a32] *{pointer-events:none!important}.lingshu_smart_preview #lingshu-smart-previewApp[data-v-b9909a32]{width:100%;height:100%}.lingshu_smart_preview .preset[data-v-b9909a32]{position:fixed;top:0;left:0;z-index:10;width:100%;height:100%;color:#f2f2f2;background:#000}.lingshu_smart_preview .preset .preset-content[data-v-b9909a32]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:60px;color:#fff;opacity:.8}.lingshu_smart_preview .preset .preset-content p[data-v-b9909a32]{font-size:20px;color:#fff;opacity:.6}.lingshu_smart_preview .preset .preset-content .preset_id_row[data-v-b9909a32]{display:flex;align-items:center;gap:10px}.lingshu_smart_preview .preset .preset-content .preset_id_copy[data-v-b9909a32]{margin-left:0}.script-runner__steps[data-v-ec01f685]{position:relative;width:300px;height:500px;flex-shrink:0;display:flex;flex-direction:column;border:1px solid #e4e7ed;border-radius:6px}.script-runner__steps-label[data-v-ec01f685]{position:absolute;top:-10px;left:10px;z-index:5;padding:0 8px;font-size:12px;font-weight:400;color:#424242;background:#fff;pointer-events:none}.script-runner__steps-header[data-v-ec01f685]{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 8px;border-bottom:1px solid #e4e7ed}.script-runner__steps-tools[data-v-ec01f685]{display:flex;align-items:center;gap:5px}.script-runner__steps-list[data-v-ec01f685]{flex:1 1 0;min-height:0;overflow:hidden}.script-runner__steps-controls[data-v-ec01f685]{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-top:1px solid #e4e7ed}.script-runner__steps-actions[data-v-ec01f685]{display:flex;gap:8px}.script-runner__steps-actions .el-button[data-v-ec01f685]{flex:1}.script-runner__status[data-v-ec01f685]{margin-left:auto;white-space:nowrap;font-size:12px;font-weight:600;color:#d88c5a}.script-runner__status--running[data-v-ec01f685]{color:#4ca56e;font-size:14px}.script-runner__status--paused[data-v-ec01f685]{color:#f56c6c}.tpl-dropdown-wrap[data-v-ec01f685]{position:relative;display:inline-flex}.dropdown-caret[data-v-ec01f685]{font-size:12px;margin-left:2px}.add-btn-wrap[data-v-ec01f685]{position:relative;display:inline-flex}.script-runner__paused-controls[data-v-ec01f685]{display:flex;gap:8px}.script-runner__paused-controls .el-button[data-v-ec01f685]{flex:1}.loop-control[data-v-ec01f685]{display:flex;align-items:center;gap:8px}.loop-control__label[data-v-ec01f685]{font-size:12px;color:#606266}.btn-play-icon[data-v-ec01f685],.btn-stop-icon[data-v-ec01f685]{font-size:12px;margin-right:2px}.script-step[data-v-ec01f685]{display:flex;align-items:center;gap:5px;padding:8px 10px;cursor:pointer;border:1px solid transparent;border-width:1px 1px 1px 4px;border-bottom:1px solid #f2f2f2}.script-step--active[data-v-ec01f685]{position:relative;border-color:#629dfa}.script-step--running[data-v-ec01f685]{background:#0098661a!important}.script-step--paused[data-v-ec01f685]{background:#e6a23c2e!important}.script-step--disabled[data-v-ec01f685]{opacity:.4}.script-step__index[data-v-ec01f685]{font-size:12px;font-weight:700;color:#909399;min-width:20px;text-align:center}.script-step__info[data-v-ec01f685]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;padding-bottom:2px}.script-step__info--error[data-v-ec01f685]{border-bottom:1px dashed #f56c6c}.script-step__type[data-v-ec01f685]{font-size:12px;font-weight:500;color:#d88c5a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.script-step__type--gold[data-v-ec01f685]{color:#e6b800;font-weight:600}.script-step__plate[data-v-ec01f685]{font-size:.85em;opacity:.85}.script-step__meta[data-v-ec01f685]{display:flex;align-items:center;gap:5px}.script-step__msgtag[data-v-ec01f685]{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#4ca56e;background:#4ca56e1f;border-radius:3px;padding:0 5px;line-height:16px}.script-step__delay[data-v-ec01f685]{font-size:12px;color:#c0c4cc}.step-ring[data-v-ec01f685]{position:relative;width:24px;height:24px;flex-shrink:0}.step-ring svg[data-v-ec01f685]{width:100%;height:100%;transform:rotate(-90deg)}.step-ring__bar[data-v-ec01f685]{stroke:#67de7c;stroke-linecap:round;stroke-dasharray:62.83;stroke-dashoffset:62.83;animation:step-ring-fill-ec01f685 var(--delay) linear forwards}.step-ring__icon[data-v-ec01f685]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:#67de7c;transform:translate(1px)}.step-ring--paused .step-ring__bar[data-v-ec01f685]{stroke:#e6a23c;stroke-dashoffset:0;animation:none}.step-ring--paused .step-ring__icon[data-v-ec01f685]{color:#e6a23c;font-size:9px;letter-spacing:-1px;transform:translate(0)}.step-ring--skip[data-v-ec01f685]{width:20px;height:20px}.step-ring--skip .step-ring__icon[data-v-ec01f685]{color:#009866;font-size:14px;transform:none}@keyframes step-ring-fill-ec01f685{to{stroke-dashoffset:0}}.script-runner__editor[data-v-6ad91643]{position:relative;flex:1;width:auto;height:500px;min-width:0;border:1px solid #e4e7ed;border-radius:6px;display:flex;flex-direction:column}.script-runner__editor[data-v-6ad91643] .el-form-item__label{margin-bottom:0}.script-runner__editor[data-v-6ad91643] .el-form-item--small{margin-bottom:8px}.script-runner__editor-label[data-v-6ad91643]{position:absolute;top:-10px;left:10px;z-index:5;padding:0 8px;font-size:12px;font-weight:400;color:#424242;background:#fff;pointer-events:none}.script-editor__field-label[data-v-6ad91643]{display:inline-flex;align-items:center;white-space:nowrap}.script-editor__field-label .script-editor__required[data-v-6ad91643]{font-style:normal;font-weight:700;color:var(--el-color-danger);margin-left:2px}.script-editor[data-v-6ad91643]{padding:12px 16px;overflow-y:auto;flex:1;min-height:0}.script-editor__section-title[data-v-6ad91643]{font-size:12px;font-weight:600;letter-spacing:1.2px;color:#909399;text-transform:uppercase;margin:12px 0 8px;padding-bottom:4px;border-bottom:1px solid #e4e7ed}.script-editor__group[data-v-6ad91643]{border-top:1px dashed #e4e7ed;border-radius:6px;margin-bottom:8px}.script-editor__group--to[data-v-6ad91643]{background:#409eff1a}.script-editor__group--from[data-v-6ad91643]{background:#e6a23c24}.script-editor__group-title[data-v-6ad91643]{font-size:12px;font-weight:600;margin:0 0 8px}.script-editor__group--to .script-editor__group-title[data-v-6ad91643]{color:var(--el-color-primary)}.script-editor__group--from .script-editor__group-title[data-v-6ad91643]{color:var(--el-color-warning)}.script-editor__hint[data-v-6ad91643]{font-size:12px;line-height:1.6;color:#909399}.script-editor__customdata[data-v-6ad91643]{position:relative}.script-editor__customdata-button[data-v-6ad91643]{position:absolute;top:-25px;right:0;z-index:1}.script-editor__customdata-input[data-v-6ad91643]{font-family:SF Mono,Consolas,Menlo,monospace;font-size:12px}.script-editor__field-row[data-v-6ad91643]{display:flex;align-items:flex-start;gap:6px;width:100%}.script-editor__field-pass[data-v-6ad91643]{flex-shrink:0;margin-right:0}.script-editor__field-control[data-v-6ad91643]{flex:1;min-width:0}.script-editor__pseudo[data-v-6ad91643]{width:100%;min-height:160px;max-height:220px;margin:0;padding:10px 12px;box-sizing:border-box;font-family:SF Mono,Consolas,Menlo,monospace;font-size:12px;line-height:1.7;color:#424242;background:#f7f8fa;border:1px solid #e4e7ed;border-radius:4px;overflow:auto;white-space:pre}.script-editor__pseudo code[data-v-6ad91643]{font-family:inherit;font-size:inherit;color:inherit}.script-editor__customdata-code[data-v-6ad91643]{width:100%;margin:0;padding:10px 12px;box-sizing:border-box;font-family:SF Mono,Consolas,Menlo,monospace;font-size:12px;line-height:1.7;color:#303133;background:#f7f8fa;border:1px solid #e4e7ed;border-radius:4px;overflow:auto;white-space:pre}.script-editor__customdata-code code[data-v-6ad91643]{font-family:inherit;font-size:inherit;color:inherit}.script-editor__actions[data-v-6ad91643]{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e4e7ed}.script-editor__actions-row[data-v-6ad91643]{display:flex;gap:8px}.script-editor__actions-row .el-button[data-v-6ad91643]{flex:1;width:100%}.quick-resource-dialog__body[data-v-6ad91643]{display:flex;gap:20px;min-height:460px}.quick-resource-dialog__form[data-v-6ad91643]{flex:0 0 340px;border-right:1px solid #ebeef5;padding-right:20px}.quick-resource-dialog__form-title[data-v-6ad91643]{font-size:13px;font-weight:600;color:#303133;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #ebeef5}.quick-resource-dialog__form-actions[data-v-6ad91643]{margin-top:12px;display:flex;gap:8px;justify-content:flex-end}.quick-resource-dialog__table[data-v-6ad91643]{flex:1;min-width:0}.quick-resource-dialog__table-title[data-v-6ad91643]{font-size:13px;font-weight:600;color:#303133;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #ebeef5}[data-v-6ad91643] .quick-resource-row--editing{--el-table-tr-bg-color: var(--el-color-primary-light-9)}.msg-type-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.msg-type-option__value{flex-shrink:0;font-family:SF Mono,Consolas,Menlo,monospace;font-size:12px;color:#4ca56e}.msg-type-option__name{flex:1;min-width:0;text-align:right;font-size:13px;color:#606266;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-header{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#909399}.select-header__col{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-option{display:flex;align-items:center;gap:8px;width:100%}.device-option__name{flex:1;min-width:0;font-size:13px;color:#d88c5a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-option__plate{flex:1;min-width:0;font-size:12px;color:#909399;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-option__id{flex:1;min-width:0;font-size:12px;color:#c0c4cc;font-family:SF Mono,Consolas,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-option__class{flex:1;min-width:0;font-size:12px;color:#4ca56e;font-family:SF Mono,Consolas,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.script-editor__id-group{display:flex;flex-direction:column;gap:4px;width:100%}.stress-test[data-v-8e4aec6c]{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid #e4e7ed;border-radius:6px}.stress-test__header[data-v-8e4aec6c]{display:flex;align-items:center;gap:10px;min-width:0;cursor:pointer;-webkit-user-select:none;user-select:none}.stress-test__header:hover .stress-test__title[data-v-8e4aec6c]{color:#409eff}.stress-test__collapse-icon[data-v-8e4aec6c]{flex-shrink:0;font-size:14px;color:#909399}.stress-test__running-tag[data-v-8e4aec6c]{flex-shrink:0;padding:1px 8px;font-size:12px;font-weight:600;color:#67c23a;background:#67c23a1a;border:1px solid rgba(103,194,58,.4);border-radius:3px}.stress-test--collapsed[data-v-8e4aec6c]{gap:0}.stress-test__title[data-v-8e4aec6c]{flex-shrink:0;font-size:13px;font-weight:600;color:#424242}.stress-test__hint[data-v-8e4aec6c]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#909399}.stress-test__controls[data-v-8e4aec6c]{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.stress-test__field[data-v-8e4aec6c]{display:flex;align-items:center;gap:8px}.stress-test__label[data-v-8e4aec6c]{white-space:nowrap;font-size:12px;color:#606266}.stress-test__stats[data-v-8e4aec6c]{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12px;color:#909399;font-variant-numeric:tabular-nums}.stress-test__stats span[data-v-8e4aec6c]{flex:1}.log-panel[data-v-fd179144]{position:relative;display:flex;flex-direction:column;height:100%}.log-panel__label[data-v-fd179144]{position:absolute;top:-10px;left:10px;z-index:5;padding:0 8px;font-size:12px;font-weight:400;color:#424242;background:#fff;pointer-events:none}.log-panel__header[data-v-fd179144]{display:flex;flex-direction:column;padding:8px 12px;border-bottom:1px solid #e4e7ed}.log-panel__tools[data-v-fd179144]{display:flex;align-items:center;justify-content:space-between}.log-panel__tools-count-wrap[data-v-fd179144]{display:flex;align-items:center;gap:8px}.log-panel__count[data-v-fd179144]{display:inline-block;width:50px;font-size:12px;font-weight:600;color:#909399;white-space:nowrap;text-align:right}.log-panel__sort-row[data-v-fd179144]{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:nowrap}.log-panel__filter[data-v-fd179144]{flex:1;min-width:0}.log-panel__body[data-v-fd179144]{position:relative;flex:1;min-height:0}.log-panel__body--snapshot[data-v-fd179144]{box-shadow:0 0 3px 1px #ff9b00}.log-panel__detail-mask[data-v-fd179144]{position:absolute;inset:0;z-index:20;background:#000;display:flex;flex-direction:column}.log-panel__detail[data-v-fd179144]{display:flex;flex-direction:column;height:100%;min-height:0;background:#000;color:#e6edf3}.log-panel__detail-header[data-v-fd179144]{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-bottom:1px solid #333}.log-panel__detail-actions[data-v-fd179144]{display:flex;align-items:center;gap:8px}.log-panel__detail-pre[data-v-fd179144]{flex:1;min-height:0;margin:0;padding:12px 16px;font-size:12px;color:#e6edf3;font-family:SF Mono,Consolas,Menlo,monospace;background:#000;white-space:pre-wrap;word-break:break-all;line-height:1.6;overflow:auto}.log-panel__tag[data-v-fd179144]{font-size:.85em;padding:2px 5px;border-radius:3px}.log-panel__tag-code[data-v-fd179144]{font-variant-numeric:tabular-nums}.log-panel__cell[data-v-fd179144]{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.log-panel__ack[data-v-fd179144]{display:inline-block;margin-left:6px;padding:0 6px;height:18px;line-height:18px;font-size:11px;color:#fff;background:#67c23a;border-radius:9px;flex-shrink:0}.log-panel__ack--warn[data-v-fd179144]{background:#e6a23c}.log-panel__ack--error[data-v-fd179144]{background:#f56c6c}[data-v-fd179144] .el-table .cell{height:20px;line-height:20px}[data-v-fd179144] .row-snapshot-last td{background:#fdf6ec!important}.detail-header__index[data-v-fd179144]{font-size:12px;font-weight:600;color:#909399}.script-runner__header[data-v-d37821d1]{display:flex;align-items:center;gap:10px}.script-runner__header .script-runner__title[data-v-d37821d1]{font-size:15px;font-weight:600;text-wrap:nowrap;display:inline-flex;align-items:center;gap:4px}.script-runner__header .script-runner__title-icon[data-v-d37821d1]{font-size:14px;color:#e6a23c;cursor:pointer}.script-runner__header-tools[data-v-d37821d1]{display:flex;align-items:center;flex-wrap:wrap}.script-runner__tool-msg[data-v-d37821d1]{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;line-height:1.5;border-radius:4px}.script-runner__tool-msg--error[data-v-d37821d1]{color:#b30000;background:#fff7f7;border:1px solid #ffd9d9}.script-runner__tool-msg--error .el-icon[data-v-d37821d1]{font-size:14px;color:#f56c6c;flex-shrink:0}.script-runner__tool-msg--success[data-v-d37821d1]{color:#1f6b3a;background:#f2fbf5;border:1px solid #cdeed8}.script-runner__tool-msg-text[data-v-d37821d1]{flex:1;min-width:0;word-break:break-all}.script-runner[data-v-d37821d1]{display:flex;flex-direction:column;gap:12px}.script-runner__body[data-v-d37821d1]{display:flex;gap:12px}.script-runner__log[data-v-d37821d1]{display:flex;flex-direction:column;width:420px;height:500px;flex-shrink:0;border:1px solid #e4e7ed;border-radius:6px}.script-runner__log-body[data-v-d37821d1]{flex:1;min-height:0}.script-runner__log-continuous[data-v-d37821d1]{flex-shrink:0;white-space:nowrap}.script-runner__log-continuous[data-v-d37821d1] .el-checkbox__label{white-space:nowrap}.script-runner__bottom-msg[data-v-d37821d1]{position:fixed;left:50%;bottom:36px;transform:translate(-50%);z-index:3000;display:flex;align-items:center;gap:6px;max-width:82vw;padding:9px 16px;font-size:13px;line-height:1.4;color:#b30000;background:#fff7f7;border:1px solid #ffd9d9;border-radius:6px;box-shadow:0 4px 18px #00000024}.script-runner__bottom-msg .el-icon[data-v-d37821d1]{font-size:15px;color:#f56c6c;flex-shrink:0}.script-bottommsg-enter-active[data-v-d37821d1]{transition:all .25s ease}.script-bottommsg-leave-active[data-v-d37821d1]{transition:all .2s ease}.script-bottommsg-enter-from[data-v-d37821d1],.script-bottommsg-leave-to[data-v-d37821d1]{opacity:0;transform:translate(-50%) translateY(10px)}.wsproxy-conn[data-v-09a5546a]{display:flex;flex-direction:column;gap:8px}.wsproxy-conn[data-v-09a5546a] .el-form-item__label{margin-bottom:0}.wsproxy-conn[data-v-09a5546a] .el-form-item--small{margin-bottom:8px}.wsproxy-conn__status[data-v-09a5546a]{display:flex;align-items:center;gap:8px}.wsproxy-conn__auto[data-v-09a5546a]{margin-left:auto;flex-shrink:0}.wsproxy-conn__dot[data-v-09a5546a]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.wsproxy-conn__dot--on[data-v-09a5546a]{background:#00d97e;box-shadow:0 0 6px #00d97e99}.wsproxy-conn__dot--loading[data-v-09a5546a]{background:#e6a23c;animation:wsproxy-conn-pulse-09a5546a 1s ease-in-out infinite}.wsproxy-conn__dot--off[data-v-09a5546a]{background:#f56c6c}.wsproxy-conn__state[data-v-09a5546a]{font-size:12px;font-weight:600;color:#606266}.wsproxy-conn__hb-tag[data-v-09a5546a]{font-size:12px;color:#4ca56e;background:#4ca56e1a;padding:2px 6px;border-radius:4px}.wsproxy-conn__actions[data-v-09a5546a]{display:flex;gap:8px}.wsproxy-conn__actions .el-button[data-v-09a5546a]{flex:1}.wsproxy-conn__send[data-v-09a5546a]{display:flex;flex-direction:column;gap:8px}.wsproxy-conn__token-input[data-v-09a5546a]{margin-top:8px;width:100%}.wsproxy-conn__token-hint[data-v-09a5546a]{margin-top:4px;font-size:12px;line-height:1.2;color:#f56c6c}.wsproxy-conn__token-persist-hint[data-v-09a5546a]{margin-top:4px;font-size:12px;line-height:1.2;color:#e6a23c}@keyframes wsproxy-conn-pulse-09a5546a{0%,to{opacity:1}50%{opacity:.3}}.mapping-grid[data-v-74c93ad3]{display:flex;flex-direction:column;gap:6px;min-width:0}.mapping-grid__head[data-v-74c93ad3],.mapping-grid__row[data-v-74c93ad3]{display:flex;gap:8px;align-items:center;min-width:0}.mapping-grid__head[data-v-74c93ad3]{font-size:12px;font-weight:600;color:#909399}.mapping-grid__row-wrap[data-v-74c93ad3]{display:flex;flex-direction:column;gap:2px;min-width:0}.mapping-grid__row-warns[data-v-74c93ad3]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.mapping-grid__warn-tag[data-v-74c93ad3]{font-size:12px;line-height:1.4;height:auto;white-space:normal;word-break:break-word;text-align:left;max-width:100%}.mapping-grid__col[data-v-74c93ad3]{min-width:0}.mapping-grid__col--source[data-v-74c93ad3]{width:100px;text-align:center}.mapping-grid__col--target[data-v-74c93ad3]{width:120px;text-align:center}.mapping-grid__col--handler[data-v-74c93ad3]{width:115px;text-align:center}.mapping-grid__col--handler-config[data-v-74c93ad3]{width:92px;text-align:center;white-space:nowrap}.mapping-grid__col--action[data-v-74c93ad3]{width:40px;text-align:center}.mapping-grid__del[data-v-74c93ad3]{padding:2px 4px}.mapping-grid__handler-option[data-v-74c93ad3]{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;font-size:12px}.mapping-grid__handler-none[data-v-74c93ad3]{font-size:12px;color:#c0c4cc}.mapping-grid__handler-dict[data-v-74c93ad3]{font-size:12px}.mapping-grid__target-wrap[data-v-74c93ad3]{display:flex;flex-direction:column;gap:2px;min-width:0}.mapping-grid__target-type[data-v-74c93ad3]{font-size:12px;color:#4ca56e;font-family:JetBrains Mono,SF Mono,Consolas,Menlo,monospace;line-height:1;padding-left:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.mapping-grid__field-tip[data-v-74c93ad3]{margin-left:4px;font-size:14px;color:#e6a23c;cursor:pointer;vertical-align:middle}.mapping-grid__footer[data-v-74c93ad3]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}.mapping-grid__condition-entry[data-v-74c93ad3]{display:flex;align-items:center;justify-content:center}.wsproxy-cfg[data-v-a3c01d59]{display:flex;flex-direction:column;gap:12px;height:100%}.wsproxy-cfg[data-v-a3c01d59] .el-form-item__label{margin-bottom:0}.wsproxy-cfg__meta[data-v-a3c01d59]{display:flex;flex-direction:column}.wsproxy-cfg__meta-row[data-v-a3c01d59]{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.wsproxy-cfg__meta-row .el-form-item[data-v-a3c01d59]{margin-bottom:0}.wsproxy-cfg__msg-head[data-v-a3c01d59]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid #e4e7ed}.wsproxy-cfg__msg-title[data-v-a3c01d59]{font-size:12px;font-weight:600;letter-spacing:1.2px;color:#909399;text-transform:uppercase}.wsproxy-cfg__msg-tools[data-v-a3c01d59]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.wsproxy-cfg__msg-row[data-v-a3c01d59]{display:flex;gap:12px}.wsproxy-cfg__msg-row .el-form-item[data-v-a3c01d59]{flex:1;margin-bottom:0}.wsproxy-cfg__source[data-v-a3c01d59]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px;min-width:0}.wsproxy-cfg__source-tag[data-v-a3c01d59]{position:relative;flex:1;min-width:0;justify-content:flex-start;overflow:hidden}.wsproxy-cfg__source-reason[data-v-a3c01d59]{font-weight:400;opacity:.85}.wsproxy-cfg__source-reset[data-v-a3c01d59]{position:absolute;right:4px;top:50%;transform:translateY(-50%);z-index:2;padding:0 4px}.wsproxy-cfg__store-tip[data-v-a3c01d59]{flex:1 1 100%;min-width:0;justify-content:flex-start;overflow:hidden;white-space:normal;line-height:1.5}.wsproxy-cfg__body[data-v-a3c01d59]{display:flex;gap:12px;flex:1;min-height:0}.wsproxy-cfg__types[data-v-a3c01d59]{width:200px;flex-shrink:0;display:flex;flex-direction:column;border:1px solid #e4e7ed;border-radius:6px;overflow:hidden}.wsproxy-cfg__types-header[data-v-a3c01d59]{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid #e4e7ed;cursor:pointer;-webkit-user-select:none;user-select:none}.wsproxy-cfg__types-header[data-v-a3c01d59]:hover{background:#f2c34f14}.wsproxy-cfg__types-header--global[data-v-a3c01d59],.wsproxy-cfg__types-header--model[data-v-a3c01d59]{border-top:1px solid #e4e7ed}.wsproxy-cfg__types-header--active[data-v-a3c01d59]{background:#f2c34f29;box-shadow:inset 4px 0 #d88c5a}.wsproxy-cfg__types-arrow[data-v-a3c01d59]{display:inline-block;width:14px;font-size:10px;color:#909399;text-align:center}.wsproxy-cfg__types-title[data-v-a3c01d59]{font-size:12px;font-weight:600;color:#606266;display:flex;align-items:center;gap:2px}.wsproxy-cfg__types-list[data-v-a3c01d59]{flex:1;min-height:0;overflow-y:auto}.wsproxy-cfg__type-item[data-v-a3c01d59]{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.5)}.wsproxy-cfg__type-item[data-v-a3c01d59]:hover{background:#f2c34f29}.wsproxy-cfg__type-item--active[data-v-a3c01d59]{background:#f2c34f29;border-left:4px solid #d88c5a;padding-left:8px}.wsproxy-cfg__type-name[data-v-a3c01d59]{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3;font-size:12px;overflow:hidden}.wsproxy-cfg__type-name-main[data-v-a3c01d59]{font-size:12px;color:#303133;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wsproxy-cfg__type-name-sub[data-v-a3c01d59]{font-size:10px;color:#909399;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wsproxy-cfg__editor[data-v-a3c01d59]{flex:1 1 auto;min-width:0;min-height:0;border:1px solid #e4e7ed;border-radius:6px;padding:8px;overflow-y:auto}.wsproxy-cfg__editor-footer[data-v-a3c01d59]{display:flex;justify-content:flex-end;margin-top:12px;padding-top:8px;border-top:1px solid #e4e7ed}.wsproxy-cfg__mappings[data-v-a3c01d59]{display:flex;flex-direction:column;gap:12px}.wsproxy-cfg__mappings-header[data-v-a3c01d59]{display:flex;align-items:center;justify-content:space-between}.wsproxy-cfg__mappings-title[data-v-a3c01d59]{font-size:13px;font-weight:600;color:#303133}.wsproxy-cfg__modelgrid[data-v-a3c01d59]{display:flex;flex-direction:column;gap:6px}.wsproxy-cfg__modelgrid-head[data-v-a3c01d59],.wsproxy-cfg__modelgrid-row[data-v-a3c01d59]{display:flex;gap:8px;align-items:center}.wsproxy-cfg__modelgrid-head[data-v-a3c01d59]{font-size:12px;font-weight:600;color:#909399}.wsproxy-cfg__modelgrid-col[data-v-a3c01d59]{flex:1;min-width:0}.wsproxy-cfg__modelgrid-col--equip[data-v-a3c01d59]{flex:0 0 120px;max-width:120px;font-weight:600;color:#303133;font-size:13px;line-height:28px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wsproxy-cfg__modelgrid-col--action[data-v-a3c01d59]{flex:0 0 60px;text-align:center}.wsproxy-cfg__modelgrid-footer[data-v-a3c01d59]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}.wsproxy-cfg__sourcechain[data-v-a3c01d59]{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:10px}.wsproxy-cfg__sourcetype[data-v-a3c01d59]{margin:0;max-width:220px;min-width:0}.wsproxy-cfg__sourcetype-input[data-v-a3c01d59],.wsproxy-cfg__sourcetype[data-v-a3c01d59] .el-input__inner{font-size:12px}.wsproxy-cfg__classname[data-v-a3c01d59]{margin:0;min-width:0}.wsproxy-cfg__arrow[data-v-a3c01d59]{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;line-height:1;padding-bottom:2px}.wsproxy-cfg__arrow-text[data-v-a3c01d59]{font-size:12px;color:#909399;margin-bottom:2px}.wsproxy-cfg__arrow-icon[data-v-a3c01d59]{font-size:14px;color:#d88c5a;font-weight:600;line-height:1}.wsproxy-cfg__resource[data-v-a3c01d59]{display:flex;flex-direction:column;gap:12px}.wsproxy-cfg__resource-hint[data-v-a3c01d59]{font-size:12px;color:#e6a23c;background:#fdf6ecb3;border-radius:4px;padding:6px 10px}.wsproxy-cfg__resource-group[data-v-a3c01d59]{border:1px solid #e4e7ed;border-radius:4px;padding:8px 10px}.wsproxy-cfg__resource-group-head[data-v-a3c01d59]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding-bottom:6px;border-bottom:1px dashed #e4e7ed}.wsproxy-cfg__resource-group-title[data-v-a3c01d59]{font-size:12px;font-weight:600;color:#303133}.wsproxy-cfg__field-label[data-v-a3c01d59]{font-size:12px;color:#606266;font-family:JetBrains Mono,SF Mono,Consolas,Menlo,monospace}.wsproxy-cfg__resetall-preview[data-v-a3c01d59]{display:flex;flex-direction:column;gap:6px}.wsproxy-cfg__resetall-preview-label[data-v-a3c01d59]{font-size:12px;font-weight:600;color:#909399}.wsproxy-cfg__resetall-preview-code[data-v-a3c01d59]{padding:8px 10px;font-size:12px;color:#303133;font-family:JetBrains Mono,SF Mono,Consolas,Menlo,monospace;background:#f5f7fa;border-radius:4px}.wsproxy-cfg__grid[data-v-a3c01d59]{display:grid;gap:6px}.wsproxy-cfg__grid-head[data-v-a3c01d59],.wsproxy-cfg__grid-row[data-v-a3c01d59]{display:grid;grid-template-columns:100px 100px;gap:8px;align-items:center}.wsproxy-cfg__grid-head[data-v-a3c01d59]{font-size:12px;font-weight:600;color:#909399}.wsproxy-cfg__grid-col--source[data-v-a3c01d59]{width:90px;text-align:center}.wsproxy-cfg__grid-col--target[data-v-a3c01d59]{width:115px;text-align:center}.wsproxy-cfg__grid-col--handler[data-v-a3c01d59]{width:90px;text-align:center}.wsproxy-cfg__grid-col--handler-config[data-v-a3c01d59]{width:75px;text-align:center}.wsproxy-cfg__grid-col--action[data-v-a3c01d59]{width:50px;text-align:center}.wsproxy-cfg__field-tip[data-v-a3c01d59]{margin-left:4px;font-size:14px;color:#e6a23c;cursor:pointer;vertical-align:middle}.wsproxy-cfg__resource-toggle[data-v-a3c01d59]{display:flex;align-items:center;justify-content:flex-end}.wsproxy-cfg__op-option[data-v-a3c01d59]{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px}.wsproxy-cfg__op-option-label[data-v-a3c01d59]{font-weight:500}.wsproxy-cfg__op-option-desc[data-v-a3c01d59]{font-size:12px;color:#909399}.wsproxy-cfg__cond-dialog[data-v-a3c01d59]{display:flex;flex-direction:column;gap:10px}.wsproxy-cfg__cond-dialog-hint[data-v-a3c01d59]{font-size:12px;color:#3981ea;background:#3981ea1a;border-radius:4px;padding:6px 10px}.wsproxy-cfg__cond-dialog-add[data-v-a3c01d59]{align-self:flex-start}.wsproxy-cfg__step-title[data-v-a3c01d59]{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#e6a23c;padding:4px 8px;background:#fdf6ecb3;border-left:3px solid #e6a23c;border-radius:2px}.wsproxy-cfg__op-grid[data-v-a3c01d59]{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.wsproxy-cfg__op-card[data-v-a3c01d59]{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:1px solid #e4e7ed;border-radius:4px;cursor:pointer}.wsproxy-cfg__op-card--active[data-v-a3c01d59]{border-color:#409eff;background:#409eff14}.wsproxy-cfg__op-card-desc[data-v-a3c01d59]{font-size:12px;color:#909399}.wsproxy-cfg__op-tip[data-v-a3c01d59]{margin-top:6px;font-size:12px;line-height:1.5;color:#909399}.wsproxy-cfg__cond-op-wrap[data-v-a3c01d59]{display:flex;gap:6px;align-items:center;width:100%}.wsproxy-cfg__cond-op-wrap-select[data-v-a3c01d59],.wsproxy-cfg__cond-op-wrap-input[data-v-a3c01d59]{flex:1;min-width:0;width:auto}.wsproxy-dialog[data-v-f162d89c]{min-width:1000px}.wsproxy__header[data-v-f162d89c]{display:flex;align-items:center;gap:10px}.wsproxy__header .wsproxy__title[data-v-f162d89c]{font-size:15px;font-weight:600}.wsproxy__header-tools[data-v-f162d89c]{display:flex;align-items:center;gap:4px;flex:1}.wsproxy__always-record[data-v-f162d89c]{margin-left:8px;white-space:nowrap}.wsproxy__always-record[data-v-f162d89c] .el-checkbox__label{font-size:12px}.wsproxy__case[data-v-f162d89c]{display:flex;align-items:center;gap:8px;margin-left:auto;padding:3px 12px;border:1px solid rgba(42,100,246,.45);border-radius:4px;background:linear-gradient(90deg,#2a64f61a,#00d97e0d);box-shadow:inset 0 0 10px #2a64f61f;white-space:nowrap}.wsproxy__case-name[data-v-f162d89c]{font-size:12px;font-weight:600;color:#303133;letter-spacing:.5px}.wsproxy__case-id[data-v-f162d89c]{font-size:12px;font-family:JetBrains Mono,SF Mono,Consolas,Menlo,monospace;color:#2a64f6;letter-spacing:.5px}.wsproxy__header-radio[data-v-f162d89c]{position:absolute;top:-18px;left:10px;z-index:20}.wsproxy[data-v-f162d89c]{display:flex;flex-direction:column;gap:12px}.wsproxy__body[data-v-f162d89c]{display:flex;gap:12px;min-width:0}.wsproxy__conn-wrapper[data-v-f162d89c]{position:relative;width:220px;flex-shrink:0}.wsproxy__conn[data-v-f162d89c]{width:220px;height:500px;flex-shrink:0;padding:12px;border:1px solid #e4e7ed;border-radius:6px;overflow-y:auto}.wsproxy__conn-mask[data-v-f162d89c]{position:absolute;inset:0;background:#000c;border-radius:6px;display:flex;align-items:center;justify-content:center;padding:16px;pointer-events:auto;z-index:10}.wsproxy__conn-mask-text[data-v-f162d89c]{font-size:12px;color:#fff;text-align:center;line-height:1.6}.wsproxy__conn-mask-text p[data-v-f162d89c]{margin-top:8px;color:#f9dd4a}.wsproxy__conn-tip[data-v-f162d89c]{display:block;width:100%;margin-bottom:8px;line-height:1.5;background:#fdf6eccc;border-radius:4px;color:#e6a23c;padding:4px;font-size:12px;text-align:center}.wsproxy__cfg[data-v-f162d89c]{flex:1;min-width:0;height:500px}.wsproxy__log[data-v-f162d89c],.wsproxy__runlog[data-v-f162d89c]{display:flex;flex-direction:column;width:420px;height:500px;flex-shrink:0;border:1px solid #e4e7ed;border-radius:6px}')),document.head.appendChild(e)}}catch(a){console.error("vite-plugin-css-injected-by-js",a)}})();
2
2
  import { onMounted as At, onUnmounted as ts, defineComponent as Te, computed as se, ref as H, watch as Ge, createElementBlock as q, openBlock as $, Fragment as ge, withDirectives as Pe, createElementVNode as t, normalizeStyle as qt, toDisplayString as J, unref as e, vShow as Ke, normalizeClass as Oe, createCommentVNode as fe, createTextVNode as j, createBlock as de, isRef as Ko, withCtx as o, createVNode as s, renderList as ke, vModelText as Yo, withModifiers as ut, h as He, nextTick as Al, reactive as zl, renderSlot as Go, Transition as Ho, createStaticVNode as Xo } from "vue";
3
- import { ElMessageBox as at, ElDialog as _t, ElForm as Tt, ElFormItem as he, ElSelect as Se, ElOption as ce, ElSwitch as qe, ElButton as le, ElIcon as $e, ElMessage as re, ElColorPicker as Rs, ElInputNumber as We, ElInput as _e, ElPopover as Qo, TableV2FixedDir as Zo, ElAutoResizer as ea, ElTableV2 as ta, ElTooltip as Wt, ElTag as st, ElLoading as no, ElRadioGroup as sl, ElRadioButton as _s, ElDropdown as Ms, ElDropdownMenu as Ns, ElDropdownItem as Vt, vLoading as io, ElCheckbox as Ut, ElScrollbar as sa, ElEmpty as Ul, ElTable as Xs, ElTableColumn as Qe, ElButtonGroup as ro, ElRadio as la } from "element-plus";
3
+ import { ElMessageBox as at, ElDialog as _t, ElForm as Tt, ElFormItem as he, ElSelect as Se, ElOption as ce, ElSwitch as qe, ElButton as le, ElIcon as $e, ElMessage as re, ElColorPicker as Us, ElInputNumber as We, ElInput as _e, ElPopover as Qo, TableV2FixedDir as Zo, ElAutoResizer as ea, ElTableV2 as ta, ElTooltip as Wt, ElTag as st, ElLoading as no, ElRadioGroup as sl, ElRadioButton as _s, ElDropdown as Ms, ElDropdownMenu as Ns, ElDropdownItem as Vt, vLoading as io, ElCheckbox as Rt, ElScrollbar as sa, ElEmpty as Rl, ElTable as Xs, ElTableColumn as Qe, ElButtonGroup as ro, ElRadio as la } from "element-plus";
4
4
  import { Search as oa, Close as Cl, WarnTriangleFilled as ll, View as uo, Hide as aa, CopyDocument as bs, Delete as Qs, QuestionFilled as na, Plus as Ds, Minus as gl, Top as ia, Bottom as ra, Select as ua, WarningFilled as gs, Upload as co, Download as po, Coin as Pl, Cpu as Sl, ArrowDown as ol, Connection as da, Refresh as ca, Finished as pa, Back as fa, Right as va, SwitchButton as ma, Sunny as ga, Moon as _a, FullScreen as ya, ArrowRight as ba } from "@element-plus/icons-vue";
5
5
  import { storeToRefs as Je } from "pinia";
6
- import { c as zt, i as Rl, u as Et, a as Ze, d as Kt, s as Ot, L as ha, D as wa, M as ka, e as xa, f as Ca, W as Sa, g as fo, r as vo, b as Ml, h as $l, j as $a, v as Va, k as Fl, l as Ia, m as Ta, n as Ea, o as Da, p as Ua, q as Ra, t as Bl, w as Ma, x as mo, y as jl, z as Na, A as Oa, B as La } from "../useAppStore-DASwAOBy.js";
6
+ import { c as zt, i as Ul, u as Et, a as Ze, d as Kt, s as Ot, L as ha, D as wa, M as ka, e as xa, f as Ca, W as Sa, g as fo, r as vo, b as Ml, h as $l, j as $a, v as Va, k as Fl, l as Ia, m as Ta, n as Ea, o as Da, p as Ra, q as Ua, t as Bl, w as Ma, x as mo, y as jl, z as Na, A as Oa, B as La } from "../useAppStore-C-k9P93v.js";
7
7
  import { z as Ae, t as ys, b as dt, H as Ft, e as rt, a as go, q as Aa, p as za, u as Pa, r as Fa, E as $t, m as Ba, M as ja, o as vs } from "../index-C6Liz-8o.js";
8
8
  import { clipboard as hs, formatDateTime as Nl } from "@jnrs/shared";
9
- import { f as Ja, b as Nt, i as _l, d as Ht, e as Qt, g as jt, c as Zt, u as qa } from "../fullscreen-BA3oea8O.js";
9
+ import { f as Ja, b as Nt, i as _l, d as Ht, e as Qt, g as jt, c as Zt, u as qa } from "../fullscreen-cF8Z5e2Z.js";
10
10
  const Wa = 10, Jl = 500;
11
11
  function _o(a) {
12
- const y = zt(), { t: l } = Rl.global;
12
+ const y = zt(), { t: l } = Ul.global;
13
13
  let m = 0, u = 0, p = null;
14
14
  const h = () => {
15
15
  if (y.debugPanelVisible) return;
@@ -46,17 +46,17 @@ const Dt = {
46
46
  function Ka(a) {
47
47
  Dt.wsConnected = a;
48
48
  }
49
- let Us = null, Vl = 0, yl = 0, Il = 0, bl = 60;
49
+ let Rs = null, Vl = 0, yl = 0, Il = 0, bl = 60;
50
50
  const ql = 0.1;
51
51
  function yo(a) {
52
- Vl > 0 && yl++, Vl = a, a - Il >= 1e3 && (bl = bl * (1 - ql) + yl * ql, Dt.fps = Math.round(bl), yl = 0, Il = a), Us = requestAnimationFrame(yo);
52
+ Vl > 0 && yl++, Vl = a, a - Il >= 1e3 && (bl = bl * (1 - ql) + yl * ql, Dt.fps = Math.round(bl), yl = 0, Il = a), Rs = requestAnimationFrame(yo);
53
53
  }
54
54
  let Tl = !1;
55
55
  function Ya() {
56
- Tl || (Tl = !0, Il = performance.now(), Vl = performance.now(), Us = requestAnimationFrame(yo));
56
+ Tl || (Tl = !0, Il = performance.now(), Vl = performance.now(), Rs = requestAnimationFrame(yo));
57
57
  }
58
58
  function Ga() {
59
- Us !== null && (cancelAnimationFrame(Us), Us = null), Tl = !1;
59
+ Rs !== null && (cancelAnimationFrame(Rs), Rs = null), Tl = !1;
60
60
  }
61
61
  function Ha(a) {
62
62
  Dt.wsCount++;
@@ -120,7 +120,7 @@ const sn = {
120
120
  }), u = se(() => {
121
121
  const P = { ...m.value };
122
122
  return l.height && (P["--perf-height"] = l.height), l.width && (P.width = l.width), P;
123
- }), { t: p } = Rl.global, h = zt(), d = se({
123
+ }), { t: p } = Ul.global, h = zt(), d = se({
124
124
  get: () => h.perfStatsCollapsed,
125
125
  set: (P) => h.setPerfStatsCollapsed(P)
126
126
  }), I = H({ duration: 0, wsCount: 0, wsSize: 0, startTime: 0, fps: 0, wsConnected: !1 });
@@ -157,7 +157,7 @@ const sn = {
157
157
  const v = () => {
158
158
  d.value = !d.value;
159
159
  };
160
- return y({ toggleCollapse: v }), (P, U) => ($(), q(ge, null, [
160
+ return y({ toggleCollapse: v }), (P, R) => ($(), q(ge, null, [
161
161
  Pe(t("button", {
162
162
  class: "perf-stats-toggle",
163
163
  style: qt(m.value),
@@ -177,7 +177,7 @@ const sn = {
177
177
  t("span", {
178
178
  class: Oe(["perf-monitor__status", w.value])
179
179
  }, J(g.value), 3),
180
- U[0] || (U[0] = t("span", { class: "perf-monitor__header-spacer" }, null, -1)),
180
+ R[0] || (R[0] = t("span", { class: "perf-monitor__header-spacer" }, null, -1)),
181
181
  l.collapsible ? ($(), q("button", {
182
182
  key: 0,
183
183
  class: "perf-monitor__collapse",
@@ -201,7 +201,7 @@ const sn = {
201
201
  t("div", un, [
202
202
  t("span", dn, J(e(Za)(I.value.wsCount)), 1),
203
203
  t("span", cn, J(e(p)("perf.messages")), 1),
204
- U[1] || (U[1] = t("span", { class: "perf-cell__divider" }, null, -1)),
204
+ R[1] || (R[1] = t("span", { class: "perf-cell__divider" }, null, -1)),
205
205
  t("span", {
206
206
  class: "perf-cell__value perf-cell__value--size",
207
207
  innerHTML: e(en)(I.value.wsSize)
@@ -222,7 +222,7 @@ const sn = {
222
222
  class: Oe(["perf-cell__value", E.value])
223
223
  }, [
224
224
  j(J(I.value.fps) + " ", 1),
225
- U[2] || (U[2] = t("span", { style: { "font-size": "10px" } }, "fps", -1))
225
+ R[2] || (R[2] = t("span", { style: { "font-size": "10px" } }, "fps", -1))
226
226
  ], 2)
227
227
  ]),
228
228
  l.layout === "inline" && l.showHeader && l.collapsible ? ($(), q("div", wn, [
@@ -246,7 +246,7 @@ const sn = {
246
246
  name: "GlobalSetting",
247
247
  __name: "GlobalSetting",
248
248
  setup(a) {
249
- const { t: y } = Rl.global, l = zt(), { debugPanelVisible: m, logLevel: u, shadowsEnabled: p, animationsEnabled: h, fpsMode: d, interactionsDisabled: I, locale: F } = Je(l), W = se(() => [
249
+ const { t: y } = Ul.global, l = zt(), { debugPanelVisible: m, logLevel: u, shadowsEnabled: p, animationsEnabled: h, fpsMode: d, interactionsDisabled: I, locale: F } = Je(l), W = se(() => [
250
250
  { label: y("debug.logLevels.all"), level: "log / info / warn / error", value: "log" },
251
251
  { label: y("debug.logLevels.info"), level: "info / warn / error", value: "info" },
252
252
  { label: y("debug.logLevels.warn"), level: "warn / error", value: "warn" },
@@ -267,10 +267,10 @@ const sn = {
267
267
  }, v = () => {
268
268
  l.setLogLevel("warn"), l.setShadowsEnabled(!0), l.setAnimationsEnabled(!0), l.setFpsMode("auto"), l.setInteractionsDisabled(!1), l.setLocale("zhCn");
269
269
  };
270
- return (P, U) => ($(), de(e(_t), {
270
+ return (P, R) => ($(), de(e(_t), {
271
271
  class: "debug-panel-dialog",
272
272
  modelValue: e(m),
273
- "onUpdate:modelValue": U[6] || (U[6] = (_) => Ko(m) ? m.value = _ : null),
273
+ "onUpdate:modelValue": R[6] || (R[6] = (_) => Ko(m) ? m.value = _ : null),
274
274
  title: e(y)("debug.triggerTitle"),
275
275
  width: "520px",
276
276
  draggable: "",
@@ -308,7 +308,7 @@ const sn = {
308
308
  default: o(() => [
309
309
  s(e(Se), {
310
310
  "model-value": e(F),
311
- "onUpdate:modelValue": U[0] || (U[0] = (_) => e(l).setLocale(_)),
311
+ "onUpdate:modelValue": R[0] || (R[0] = (_) => e(l).setLocale(_)),
312
312
  style: { width: "100%" }
313
313
  }, {
314
314
  default: o(() => [
@@ -329,7 +329,7 @@ const sn = {
329
329
  default: o(() => [
330
330
  s(e(Se), {
331
331
  "model-value": e(u),
332
- "onUpdate:modelValue": U[1] || (U[1] = (_) => e(l).setLogLevel(_)),
332
+ "onUpdate:modelValue": R[1] || (R[1] = (_) => e(l).setLogLevel(_)),
333
333
  style: { width: "100%" }
334
334
  }, {
335
335
  default: o(() => [
@@ -358,7 +358,7 @@ const sn = {
358
358
  default: o(() => [
359
359
  s(e(Se), {
360
360
  "model-value": e(d),
361
- "onUpdate:modelValue": U[2] || (U[2] = (_) => e(l).setFpsMode(_)),
361
+ "onUpdate:modelValue": R[2] || (R[2] = (_) => e(l).setFpsMode(_)),
362
362
  style: { width: "100%" }
363
363
  }, {
364
364
  default: o(() => [
@@ -379,7 +379,7 @@ const sn = {
379
379
  default: o(() => [
380
380
  s(e(qe), {
381
381
  "model-value": e(p),
382
- "onUpdate:modelValue": U[3] || (U[3] = (_) => e(l).setShadowsEnabled(!!_))
382
+ "onUpdate:modelValue": R[3] || (R[3] = (_) => e(l).setShadowsEnabled(!!_))
383
383
  }, null, 8, ["model-value"])
384
384
  ]),
385
385
  _: 1
@@ -390,7 +390,7 @@ const sn = {
390
390
  default: o(() => [
391
391
  s(e(qe), {
392
392
  "model-value": e(h),
393
- "onUpdate:modelValue": U[4] || (U[4] = (_) => e(l).setAnimationsEnabled(!!_))
393
+ "onUpdate:modelValue": R[4] || (R[4] = (_) => e(l).setAnimationsEnabled(!!_))
394
394
  }, null, 8, ["model-value"])
395
395
  ]),
396
396
  _: 1
@@ -401,7 +401,7 @@ const sn = {
401
401
  default: o(() => [
402
402
  s(e(qe), {
403
403
  "model-value": e(I),
404
- "onUpdate:modelValue": U[5] || (U[5] = (_) => e(l).setInteractionsDisabled(!!_))
404
+ "onUpdate:modelValue": R[5] || (R[5] = (_) => e(l).setInteractionsDisabled(!!_))
405
405
  }, null, 8, ["model-value"]),
406
406
  t("span", Vn, "(" + J(e(y)("debug.interactionsHint")) + ")", 1)
407
407
  ]),
@@ -415,7 +415,7 @@ const sn = {
415
415
  _: 1
416
416
  }, 8, ["modelValue", "title"]));
417
417
  }
418
- }), bo = /* @__PURE__ */ De(In, [["__scopeId", "data-v-a7919be0"]]), Tn = { class: "menu" }, En = { class: "menu_input" }, Dn = { class: "menu_container tinyScrollbar" }, Un = { class: "menu_group_title" }, Rn = ["onClick"], Mn = { class: "menu_group_noItem" }, Nn = { class: "noData" }, On = /* @__PURE__ */ Te({
418
+ }), bo = /* @__PURE__ */ De(In, [["__scopeId", "data-v-a7919be0"]]), Tn = { class: "menu" }, En = { class: "menu_input" }, Dn = { class: "menu_container tinyScrollbar" }, Rn = { class: "menu_group_title" }, Un = ["onClick"], Mn = { class: "menu_group_noItem" }, Nn = { class: "noData" }, On = /* @__PURE__ */ Te({
419
419
  __name: "Equipments",
420
420
  setup(a) {
421
421
  const y = Et(), l = Ze(), { equipmentsMenu: m } = y, { currentCase: u } = Je(l), { addLayer: p } = l, h = H(""), d = H(""), I = (g) => {
@@ -476,15 +476,15 @@ const sn = {
476
476
  class: "menu_group",
477
477
  key: P
478
478
  }, [
479
- t("div", Un, J(v.title), 1),
480
- ($(!0), q(ge, null, ke(v.children, (U, _) => ($(), q("div", {
479
+ t("div", Rn, J(v.title), 1),
480
+ ($(!0), q(ge, null, ke(v.children, (R, _) => ($(), q("div", {
481
481
  class: "menu_group_item",
482
482
  key: _,
483
- onClick: (C) => I(U)
483
+ onClick: (C) => I(R)
484
484
  }, [
485
- t("b", null, J(U.equipmentName), 1),
486
- t("span", null, J(U.className), 1)
487
- ], 8, Rn))), 128)),
485
+ t("b", null, J(R.equipmentName), 1),
486
+ t("span", null, J(R.className), 1)
487
+ ], 8, Un))), 128)),
488
488
  Pe(t("div", Mn, "暂无数据", 512), [
489
489
  [Ke, !v.children || v.children.length === 0]
490
490
  ])
@@ -514,9 +514,9 @@ const sn = {
514
514
  }, F = (P) => {
515
515
  m.value.splice(P, 1), p();
516
516
  }, W = (P) => {
517
- const U = m.value[P];
518
- if (!U) return;
519
- const _ = Ae(U);
517
+ const R = m.value[P];
518
+ if (!R) return;
519
+ const _ = Ae(R);
520
520
  _.id = Ot(), m.value.splice(P + 1, 0, _), m.value.forEach((C) => {
521
521
  C.selected = C.id === _.id;
522
522
  }), p();
@@ -533,17 +533,17 @@ const sn = {
533
533
  m.value.splice(0, m.value.length), p(), re.success("已清空全部图层");
534
534
  }).catch(() => {
535
535
  });
536
- }, g = (P, U) => {
536
+ }, g = (P, R) => {
537
537
  const C = P.currentTarget.getBoundingClientRect(), i = P.clientY > C.top + C.height / 2;
538
- d.value = i ? U + 1 : U;
538
+ d.value = i ? R + 1 : R;
539
539
  }, w = (P) => {
540
540
  const _ = P.currentTarget.querySelectorAll(".layer_item"), C = _[_.length - 1];
541
541
  C && P.clientY > C.getBoundingClientRect().bottom && (d.value = m.value.length);
542
542
  }, v = (P) => {
543
- const U = m.value.splice(P, 1)[0];
544
- d.value > P && (d.value -= 1), m.value.splice(d.value, 0, U), d.value = -1, p();
543
+ const R = m.value.splice(P, 1)[0];
544
+ d.value > P && (d.value -= 1), m.value.splice(d.value, 0, R), d.value = -1, p();
545
545
  };
546
- return (P, U) => ($(), q("div", An, [
546
+ return (P, R) => ($(), q("div", An, [
547
547
  t("div", {
548
548
  class: "layer tinyScrollbar",
549
549
  onDragover: w
@@ -748,7 +748,7 @@ const sn = {
748
748
  Pe(t("div", ri, [
749
749
  d[11] || (d[11] = t("div", { class: "key" }, "颜色", -1)),
750
750
  t("div", ui, [
751
- s(e(Rs), {
751
+ s(e(Us), {
752
752
  class: "color_picker",
753
753
  modelValue: e(y).fill.color,
754
754
  "onUpdate:modelValue": d[2] || (d[2] = (I) => e(y).fill.color = I),
@@ -803,7 +803,7 @@ const sn = {
803
803
  }, [
804
804
  t("div", vi, "颜色 " + J(F + 1), 1),
805
805
  t("div", mi, [
806
- s(e(Rs), {
806
+ s(e(Us), {
807
807
  class: "color_picker",
808
808
  modelValue: I.color,
809
809
  "onUpdate:modelValue": (W) => I.color = W,
@@ -951,20 +951,20 @@ const sn = {
951
951
  ])
952
952
  ])) : fe("", !0);
953
953
  }
954
- }), Di = /* @__PURE__ */ De(Ei, [["__scopeId", "data-v-54c16d2b"]]), Ui = { class: "formContainer" }, Ri = { class: "form_group" }, Mi = { class: "keyVal" }, Ni = { class: "val" }, Oi = { class: "keyVal" }, Li = { class: "val" }, Ai = { class: "keyVal" }, zi = { class: "val" }, Pi = { class: "keyVal" }, Fi = { class: "val" }, Bi = { class: "keyVal" }, ji = { class: "val" }, Ji = {
954
+ }), Di = /* @__PURE__ */ De(Ei, [["__scopeId", "data-v-54c16d2b"]]), Ri = { class: "formContainer" }, Ui = { class: "form_group" }, Mi = { class: "keyVal" }, Ni = { class: "val" }, Oi = { class: "keyVal" }, Li = { class: "val" }, Ai = { class: "keyVal" }, zi = { class: "val" }, Pi = { class: "keyVal" }, Fi = { class: "val" }, Bi = { class: "keyVal" }, ji = { class: "val" }, Ji = {
955
955
  key: 1,
956
956
  class: "noData"
957
957
  }, qi = /* @__PURE__ */ Te({
958
958
  __name: "index",
959
959
  setup(a) {
960
960
  const y = Ze(), { scene: l } = Je(y);
961
- return (m, u) => ($(), q("div", Ui, [
961
+ return (m, u) => ($(), q("div", Ri, [
962
962
  e(l) ? ($(), q(ge, { key: 0 }, [
963
- t("div", Ri, [
963
+ t("div", Ui, [
964
964
  u[10] || (u[10] = t("div", { class: "form_group_title" }, "屏幕", -1)),
965
965
  t("div", Mi, [
966
966
  u[5] || (u[5] = t("div", { class: "key" }, [
967
- j(" 宽度 "),
967
+ j(" 画布宽度 "),
968
968
  t("span", { class: "unit" }, "(px)")
969
969
  ], -1)),
970
970
  t("div", Ni, [
@@ -982,7 +982,7 @@ const sn = {
982
982
  ]),
983
983
  t("div", Oi, [
984
984
  u[6] || (u[6] = t("div", { class: "key" }, [
985
- j(" 高度 "),
985
+ j(" 画布高度 "),
986
986
  t("span", { class: "unit" }, "(px)")
987
987
  ], -1)),
988
988
  t("div", Li, [
@@ -1070,7 +1070,7 @@ const sn = {
1070
1070
  ]))
1071
1071
  ]));
1072
1072
  }
1073
- }), Wi = /* @__PURE__ */ De(qi, [["__scopeId", "data-v-1981c110"]]), Ki = {
1073
+ }), Wi = /* @__PURE__ */ De(qi, [["__scopeId", "data-v-bfc4ebd5"]]), Ki = {
1074
1074
  key: 0,
1075
1075
  class: "form_group"
1076
1076
  }, Yi = { class: "keyVal" }, Gi = { class: "val" }, Hi = { class: "keyVal" }, Xi = { class: "val" }, Qi = { class: "keyVal" }, Zi = { class: "val" }, er = /* @__PURE__ */ Te({
@@ -1152,8 +1152,8 @@ const sn = {
1152
1152
  }
1153
1153
  return "(0,0)";
1154
1154
  }), I = (g, w) => {
1155
- const v = g === "x" ? p.value : h.value, P = typeof v == "number" && !isNaN(v) ? v : 0, U = Number((P + w).toFixed(10));
1156
- g === "x" ? p.value = U : h.value = U;
1155
+ const v = g === "x" ? p.value : h.value, P = typeof v == "number" && !isNaN(v) ? v : 0, R = Number((P + w).toFixed(10));
1156
+ g === "x" ? p.value = R : h.value = R;
1157
1157
  }, F = (g) => {
1158
1158
  const w = l.value;
1159
1159
  if (!w) return;
@@ -1407,7 +1407,7 @@ const sn = {
1407
1407
  }), Vr = /* @__PURE__ */ De($r, [["__scopeId", "data-v-ca6127d3"]]), Ir = {
1408
1408
  key: 0,
1409
1409
  class: "form_group"
1410
- }, Tr = { class: "keyVal" }, Er = { class: "val" }, Dr = { class: "keyVal" }, Ur = { class: "val" }, Rr = {
1410
+ }, Tr = { class: "keyVal" }, Er = { class: "val" }, Dr = { class: "keyVal" }, Rr = { class: "val" }, Ur = {
1411
1411
  key: 0,
1412
1412
  class: "keyVal"
1413
1413
  }, Mr = { class: "val" }, Nr = { class: "keyVal" }, Or = { class: "optionCardDialog_textarea" }, Lr = { class: "optionCardDialog_footer" }, Ar = /* @__PURE__ */ Te({
@@ -1487,7 +1487,7 @@ const sn = {
1487
1487
  ]),
1488
1488
  t("div", Dr, [
1489
1489
  v[10] || (v[10] = t("div", { class: "key key_required" }, "设备 ID", -1)),
1490
- t("div", Ur, [
1490
+ t("div", Rr, [
1491
1491
  s(e(_e), {
1492
1492
  modelValue: I.value,
1493
1493
  "onUpdate:modelValue": v[2] || (v[2] = (P) => I.value = P),
@@ -1499,7 +1499,7 @@ const sn = {
1499
1499
  }, null, 8, ["modelValue"])
1500
1500
  ])
1501
1501
  ]),
1502
- p.value ? ($(), q("div", Rr, [
1502
+ p.value ? ($(), q("div", Ur, [
1503
1503
  v[11] || (v[11] = t("div", { class: "key" }, "扩展宿主 ID", -1)),
1504
1504
  t("div", Mr, [
1505
1505
  s(e(_e), {
@@ -1738,10 +1738,10 @@ const sn = {
1738
1738
  { value: 0, label: "不占位隐藏" }
1739
1739
  ];
1740
1740
  let g = 0;
1741
- const w = () => `slot_row_${++g}`, v = (S) => ({ ...S, __key: w() }), P = (S) => S.map((T) => T.__key ? T : v(T)), U = (S) => Ae(S).map((T) => {
1742
- const R = { ...T };
1743
- return delete R.__key, R;
1744
- }), _ = { "--el-switch-on-color": "rgb(124, 220, 183)", "--el-switch-off-color": "rgb(215, 55, 50)" }, C = (S, T, R = {}) => He(We, {
1741
+ const w = () => `slot_row_${++g}`, v = (S) => ({ ...S, __key: w() }), P = (S) => S.map((T) => T.__key ? T : v(T)), R = (S) => Ae(S).map((T) => {
1742
+ const U = { ...T };
1743
+ return delete U.__key, U;
1744
+ }), _ = { "--el-switch-on-color": "rgb(124, 220, 183)", "--el-switch-off-color": "rgb(215, 55, 50)" }, C = (S, T, U = {}) => He(We, {
1745
1745
  modelValue: S[T],
1746
1746
  "onUpdate:modelValue": (n) => {
1747
1747
  S[T] = n;
@@ -1750,15 +1750,15 @@ const sn = {
1750
1750
  precision: 0,
1751
1751
  controlsPosition: "right",
1752
1752
  stepStrictly: T === "index",
1753
- min: R.min,
1754
- max: R.max,
1755
- disabled: R.disabled,
1753
+ min: U.min,
1754
+ max: U.max,
1755
+ disabled: U.disabled,
1756
1756
  size: "small",
1757
1757
  style: { width: "100%" }
1758
1758
  }), i = (S, T) => He(qe, {
1759
1759
  modelValue: S[T],
1760
- "onUpdate:modelValue": (R) => {
1761
- S[T] = R;
1760
+ "onUpdate:modelValue": (U) => {
1761
+ S[T] = U;
1762
1762
  },
1763
1763
  inlinePrompt: !0,
1764
1764
  activeText: "是",
@@ -1768,17 +1768,17 @@ const sn = {
1768
1768
  size: "small",
1769
1769
  width: 40,
1770
1770
  style: _
1771
- }), f = (S, T) => He(Rs, {
1771
+ }), f = (S, T) => He(Us, {
1772
1772
  modelValue: S[T],
1773
- "onUpdate:modelValue": (R) => {
1774
- S[T] = R;
1773
+ "onUpdate:modelValue": (U) => {
1774
+ S[T] = U;
1775
1775
  },
1776
1776
  showAlpha: !0,
1777
1777
  size: "small",
1778
1778
  style: { width: "100%" }
1779
1779
  }), z = (S) => () => He("span", null, [S, He("span", { class: "required" }, "*")]), D = (S) => {
1780
- const T = S.__key, R = h.value.findIndex((n) => n.__key === T);
1781
- R !== -1 && Ve(R);
1780
+ const T = S.__key, U = h.value.findIndex((n) => n.__key === T);
1781
+ U !== -1 && Ve(U);
1782
1782
  }, A = [
1783
1783
  {
1784
1784
  key: "resourceType",
@@ -2007,8 +2007,8 @@ const sn = {
2007
2007
  h.value = P([r(1)]);
2008
2008
  return;
2009
2009
  }
2010
- const S = h.value[h.value.length - 1], T = Math.max(...h.value.map((n) => n.index)) + 1, R = L(S.name);
2011
- h.value.push(v({ ...Ae(S), index: T, name: R }));
2010
+ const S = h.value[h.value.length - 1], T = Math.max(...h.value.map((n) => n.index)) + 1, U = L(S.name);
2011
+ h.value.push(v({ ...Ae(S), index: T, name: U }));
2012
2012
  }, V = (S) => ({
2013
2013
  background: Ft.background,
2014
2014
  stroke: Ft.stroke,
@@ -2043,11 +2043,11 @@ const sn = {
2043
2043
  const T = Number(S);
2044
2044
  return isNaN(T) ? "" : String(T + 1);
2045
2045
  }, B = (S) => {
2046
- const T = /* @__PURE__ */ new Set(["index", "name", "__key"]), R = {};
2046
+ const T = /* @__PURE__ */ new Set(["index", "name", "__key"]), U = {};
2047
2047
  for (const n of Object.keys(S))
2048
- T.has(n) || (R[n] = Ae(S[n]));
2048
+ T.has(n) || (U[n] = Ae(S[n]));
2049
2049
  h.value = P(
2050
- h.value.map((n) => ({ ...Ae(R), index: n.index, name: n.name }))
2050
+ h.value.map((n) => ({ ...Ae(U), index: n.index, name: n.name }))
2051
2051
  ), re.success("已应用到全部工位");
2052
2052
  }, ie = () => {
2053
2053
  h.value = [];
@@ -2059,8 +2059,8 @@ const sn = {
2059
2059
  re.warning("当前无工位数据,请先新增工位");
2060
2060
  return;
2061
2061
  }
2062
- const { width: T, height: R, gap: n, oneDirectionMaxQuantity: k, flow: M, flowWrap: X } = p.value;
2063
- if (!T || !R) {
2062
+ const { width: T, height: U, gap: n, oneDirectionMaxQuantity: k, flow: M, flowWrap: X } = p.value;
2063
+ if (!T || !U) {
2064
2064
  re.warning("请先设置容器宽度和容器高度");
2065
2065
  return;
2066
2066
  }
@@ -2071,7 +2071,7 @@ const sn = {
2071
2071
  }
2072
2072
  const ne = X !== !1, ye = ne ? Math.ceil(S / Z) : 1;
2073
2073
  let Ee, Le;
2074
- if (M === "y" || M === "y-reverse" ? (Le = Math.floor((R - n * (Z - 1)) / Z), Ee = ne ? Math.floor((T - n * (ye - 1)) / ye) : T) : (Ee = Math.floor((T - n * (Z - 1)) / Z), Le = ne ? Math.floor((R - n * (ye - 1)) / ye) : R), Ee < 1 || Le < 1) {
2074
+ if (M === "y" || M === "y-reverse" ? (Le = Math.floor((U - n * (Z - 1)) / Z), Ee = ne ? Math.floor((T - n * (ye - 1)) / ye) : T) : (Ee = Math.floor((T - n * (Z - 1)) / Z), Le = ne ? Math.floor((U - n * (ye - 1)) / ye) : U), Ee < 1 || Le < 1) {
2075
2075
  re.warning("容器尺寸不足,请增大容器宽度/高度或减小工位间距");
2076
2076
  return;
2077
2077
  }
@@ -2089,14 +2089,14 @@ const sn = {
2089
2089
  return;
2090
2090
  }
2091
2091
  const T = [];
2092
- for (let R = 0; R < S; R++)
2093
- T.push(r(R + 1));
2092
+ for (let U = 0; U < S; U++)
2093
+ T.push(r(U + 1));
2094
2094
  h.value = T.map(v), ae.value = !1, re.success(`已批量生成 ${S} 个工位`);
2095
2095
  }, Ve = (S) => {
2096
- h.value = h.value.filter((T, R) => R !== S);
2096
+ h.value = h.value.filter((T, U) => U !== S);
2097
2097
  }, me = () => ({
2098
2098
  flowOptions: Ae(p.value),
2099
- stationSlots: U(h.value),
2099
+ stationSlots: R(h.value),
2100
2100
  showBounds: d.value,
2101
2101
  visible: I.value
2102
2102
  }), it = async () => {
@@ -2127,16 +2127,16 @@ const sn = {
2127
2127
  return;
2128
2128
  }
2129
2129
  p.value = Ae(T.flowOptions);
2130
- const R = Ae(T.stationSlots).map(V).map(v);
2131
- d.value = T.showBounds ?? !1, I.value = T.visible ?? !0, h.value = R, re.success(`已粘贴工位组 JSON 数据(${R.length} 个工位)`);
2130
+ const U = Ae(T.stationSlots).map(V).map(v);
2131
+ d.value = T.showBounds ?? !1, I.value = T.visible ?? !0, h.value = U, re.success(`已粘贴工位组 JSON 数据(${U.length} 个工位)`);
2132
2132
  } catch {
2133
2133
  re.warning("粘贴失败:剪贴板内容不是有效的 JSON");
2134
2134
  }
2135
2135
  }, Q = () => {
2136
2136
  try {
2137
- const S = h.value, T = /* @__PURE__ */ new Set(), R = ["index", "resourceType"];
2137
+ const S = h.value, T = /* @__PURE__ */ new Set(), U = ["index", "resourceType"];
2138
2138
  for (const n of S) {
2139
- for (const k of R)
2139
+ for (const k of U)
2140
2140
  if (!Object.hasOwn(n, k))
2141
2141
  throw new Error(`工位必须包含 "${k}" 字段`);
2142
2142
  if (T.has(n.index))
@@ -2146,7 +2146,7 @@ const sn = {
2146
2146
  m("save", {
2147
2147
  flowOptions: Ae(p.value),
2148
2148
  // 剥离内部 __key 后再落盘,业务数据结构与改造前完全一致
2149
- stationSlots: U(S),
2149
+ stationSlots: R(S),
2150
2150
  hideBounds: !d.value,
2151
2151
  visible: I.value
2152
2152
  }), u.value = !1, re.success("工位组数据已保存");
@@ -2163,7 +2163,7 @@ const sn = {
2163
2163
  };
2164
2164
  return (S, T) => ($(), de(e(_t), {
2165
2165
  modelValue: u.value,
2166
- "onUpdate:modelValue": T[11] || (T[11] = (R) => u.value = R),
2166
+ "onUpdate:modelValue": T[11] || (T[11] = (U) => u.value = U),
2167
2167
  title: a.title,
2168
2168
  width: "1400",
2169
2169
  center: "",
@@ -2207,7 +2207,7 @@ const sn = {
2207
2207
  default: o(() => [
2208
2208
  s(e(qe), {
2209
2209
  modelValue: I.value,
2210
- "onUpdate:modelValue": T[0] || (T[0] = (R) => I.value = R),
2210
+ "onUpdate:modelValue": T[0] || (T[0] = (U) => I.value = U),
2211
2211
  "inline-prompt": "",
2212
2212
  "active-text": "是",
2213
2213
  "inactive-text": "否",
@@ -2224,7 +2224,7 @@ const sn = {
2224
2224
  default: o(() => [
2225
2225
  s(e(qe), {
2226
2226
  modelValue: d.value,
2227
- "onUpdate:modelValue": T[1] || (T[1] = (R) => d.value = R),
2227
+ "onUpdate:modelValue": T[1] || (T[1] = (U) => d.value = U),
2228
2228
  "inline-prompt": "",
2229
2229
  "active-text": "是",
2230
2230
  "inactive-text": "否",
@@ -2241,7 +2241,7 @@ const sn = {
2241
2241
  default: o(() => [
2242
2242
  s(e(We), {
2243
2243
  modelValue: p.value.width,
2244
- "onUpdate:modelValue": T[2] || (T[2] = (R) => p.value.width = R),
2244
+ "onUpdate:modelValue": T[2] || (T[2] = (U) => p.value.width = U),
2245
2245
  modelModifiers: { number: !0 },
2246
2246
  step: 1,
2247
2247
  precision: 0,
@@ -2257,7 +2257,7 @@ const sn = {
2257
2257
  default: o(() => [
2258
2258
  s(e(We), {
2259
2259
  modelValue: p.value.height,
2260
- "onUpdate:modelValue": T[3] || (T[3] = (R) => p.value.height = R),
2260
+ "onUpdate:modelValue": T[3] || (T[3] = (U) => p.value.height = U),
2261
2261
  modelModifiers: { number: !0 },
2262
2262
  step: 1,
2263
2263
  precision: 0,
@@ -2273,7 +2273,7 @@ const sn = {
2273
2273
  default: o(() => [
2274
2274
  s(e(We), {
2275
2275
  modelValue: p.value.gap,
2276
- "onUpdate:modelValue": T[4] || (T[4] = (R) => p.value.gap = R),
2276
+ "onUpdate:modelValue": T[4] || (T[4] = (U) => p.value.gap = U),
2277
2277
  modelModifiers: { number: !0 },
2278
2278
  step: 1,
2279
2279
  precision: 0,
@@ -2289,7 +2289,7 @@ const sn = {
2289
2289
  default: o(() => [
2290
2290
  s(e(Se), {
2291
2291
  modelValue: p.value.flowWrap,
2292
- "onUpdate:modelValue": T[5] || (T[5] = (R) => p.value.flowWrap = R),
2292
+ "onUpdate:modelValue": T[5] || (T[5] = (U) => p.value.flowWrap = U),
2293
2293
  style: { width: "120px" }
2294
2294
  }, {
2295
2295
  default: o(() => [
@@ -2315,7 +2315,7 @@ const sn = {
2315
2315
  default: o(() => [
2316
2316
  s(e(We), {
2317
2317
  modelValue: p.value.oneDirectionMaxQuantity,
2318
- "onUpdate:modelValue": T[6] || (T[6] = (R) => p.value.oneDirectionMaxQuantity = R),
2318
+ "onUpdate:modelValue": T[6] || (T[6] = (U) => p.value.oneDirectionMaxQuantity = U),
2319
2319
  modelModifiers: { number: !0 },
2320
2320
  step: 1,
2321
2321
  precision: 0,
@@ -2333,7 +2333,7 @@ const sn = {
2333
2333
  default: o(() => [
2334
2334
  s(e(Se), {
2335
2335
  modelValue: p.value.flow,
2336
- "onUpdate:modelValue": T[7] || (T[7] = (R) => p.value.flow = R),
2336
+ "onUpdate:modelValue": T[7] || (T[7] = (U) => p.value.flow = U),
2337
2337
  style: { width: "120px" }
2338
2338
  }, {
2339
2339
  default: o(() => [
@@ -2383,12 +2383,12 @@ const sn = {
2383
2383
  ], -1)),
2384
2384
  t("div", tu, [
2385
2385
  s(e(ea), null, {
2386
- default: o(({ width: R, height: n }) => [
2386
+ default: o(({ width: U, height: n }) => [
2387
2387
  s(e(ta), {
2388
2388
  class: "station-slot-table",
2389
2389
  columns: A,
2390
2390
  data: h.value,
2391
- width: R,
2391
+ width: U,
2392
2392
  height: n,
2393
2393
  "row-height": 40,
2394
2394
  "header-height": 36,
@@ -2462,7 +2462,7 @@ const sn = {
2462
2462
  ]),
2463
2463
  s(e(_t), {
2464
2464
  modelValue: ae.value,
2465
- "onUpdate:modelValue": T[10] || (T[10] = (R) => ae.value = R),
2465
+ "onUpdate:modelValue": T[10] || (T[10] = (U) => ae.value = U),
2466
2466
  title: "批量生成工位",
2467
2467
  width: "360",
2468
2468
  center: "",
@@ -2475,7 +2475,7 @@ const sn = {
2475
2475
  footer: o(() => [
2476
2476
  t("div", lu, [
2477
2477
  s(e(le), {
2478
- onClick: T[9] || (T[9] = (R) => ae.value = !1)
2478
+ onClick: T[9] || (T[9] = (U) => ae.value = !1)
2479
2479
  }, {
2480
2480
  default: o(() => [...T[19] || (T[19] = [
2481
2481
  j("取消", -1)
@@ -2505,7 +2505,7 @@ const sn = {
2505
2505
  default: o(() => [
2506
2506
  s(e(We), {
2507
2507
  modelValue: xe.value,
2508
- "onUpdate:modelValue": T[8] || (T[8] = (R) => xe.value = R),
2508
+ "onUpdate:modelValue": T[8] || (T[8] = (U) => xe.value = U),
2509
2509
  modelModifiers: { number: !0 },
2510
2510
  min: 1,
2511
2511
  max: 999,
@@ -2587,7 +2587,7 @@ const sn = {
2587
2587
  if (!Nt(l.value)) return;
2588
2588
  const f = h.value.find((z) => z.index === u.value);
2589
2589
  f && (f.stationSlotGroup.stationSlots = i.stationSlots, f.stationSlotGroup.flowOptions = i.flowOptions, f.stationSlotGroup.hideBounds = i.hideBounds, f.stationSlotGroup.visible = i.visible, d([...h.value]));
2590
- }, U = (i, f, z) => {
2590
+ }, R = (i, f, z) => {
2591
2591
  if (!Nt(l.value)) return;
2592
2592
  const D = h.value.find((A) => A.index === i);
2593
2593
  D && (D[f] = z, d([...h.value]));
@@ -2721,7 +2721,7 @@ const sn = {
2721
2721
  f[8] || (f[8] = t("span", { class: "info_label" }, "状态灯", -1)),
2722
2722
  s(e(qe), {
2723
2723
  "model-value": z.lightEnabled !== !1,
2724
- "onUpdate:modelValue": (A) => U(z.index, "lightEnabled", A),
2724
+ "onUpdate:modelValue": (A) => R(z.index, "lightEnabled", A),
2725
2725
  size: "small"
2726
2726
  }, null, 8, ["model-value", "onUpdate:modelValue"])
2727
2727
  ])) : fe("", !0)
@@ -2788,7 +2788,7 @@ const sn = {
2788
2788
  key: 0,
2789
2789
  class: "form_group"
2790
2790
  }, Su = { class: "keyVal" }, $u = { class: "val" }, Vu = { class: "keyVal" }, Iu = { class: "val" }, Tu = { class: "fixture-binding-option" }, Eu = { class: "fixture-binding-option__fixtures" }, Du = /* @__PURE__ */ Te({
2791
- __name: "SingleJointRobot",
2791
+ __name: "JointRobot",
2792
2792
  setup(a) {
2793
2793
  const y = Ze(), { currentLayer: l } = Je(y), m = se({
2794
2794
  get() {
@@ -2870,7 +2870,7 @@ const sn = {
2870
2870
  "onUpdate:modelValue": W[1] || (W[1] = (E) => d.value = E),
2871
2871
  multiple: "",
2872
2872
  disabled: m.value === "none",
2873
- placeholder: "未绑定(显示全部工位层)",
2873
+ placeholder: "显示全部",
2874
2874
  style: { width: "100%" }
2875
2875
  }, {
2876
2876
  default: o(() => [
@@ -2894,7 +2894,7 @@ const sn = {
2894
2894
  ])
2895
2895
  ])) : fe("", !0);
2896
2896
  }
2897
- }), Uu = /* @__PURE__ */ De(Du, [["__scopeId", "data-v-5c6df67d"]]), Ru = {
2897
+ }), Ru = /* @__PURE__ */ De(Du, [["__scopeId", "data-v-8d094834"]]), Uu = {
2898
2898
  key: 0,
2899
2899
  class: "form_group"
2900
2900
  }, Mu = { class: "keyVal" }, Nu = { class: "val" }, Ou = { class: "keyVal" }, Lu = { class: "val" }, Au = { style: { display: "flex", "justify-content": "space-between", "align-items": "center" } }, zu = { style: { display: "inline-block", "margin-right": "8px" } }, Pu = /* @__PURE__ */ Te({
@@ -2920,11 +2920,11 @@ const sn = {
2920
2920
  if (!Qt(E)) return;
2921
2921
  const g = u.value?.width, w = u.value?.height;
2922
2922
  for (const v of W) {
2923
- const P = m.value.find((U) => U.id === v);
2923
+ const P = m.value.find((R) => R.id === v);
2924
2924
  P && (P.x = E.x, P.y = E.y, P.percentX = ys(E.x, g, 3, !0), P.percentY = ys(E.y, w, 3, !0), p(P));
2925
2925
  }
2926
2926
  };
2927
- return (W, E) => e(Qt)(e(l)) ? ($(), q("div", Ru, [
2927
+ return (W, E) => e(Qt)(e(l)) ? ($(), q("div", Uu, [
2928
2928
  E[4] || (E[4] = t("div", { class: "form_group_title" }, "轨道配置", -1)),
2929
2929
  t("div", Mu, [
2930
2930
  E[2] || (E[2] = t("div", { class: "key" }, "拖链方向", -1)),
@@ -3124,7 +3124,7 @@ const sn = {
3124
3124
  F.value = E;
3125
3125
  const g = l.value;
3126
3126
  if (!jt(g) || !E) return;
3127
- const w = m.value.find((U) => U.id === E);
3127
+ const w = m.value.find((R) => R.id === E);
3128
3128
  if (!w) return;
3129
3129
  const v = u.value?.width, P = u.value?.height;
3130
3130
  g.x = w.x, g.y = w.y, g.percentX = ys(w.x, v, 3, !0), g.percentY = ys(w.y, P, 3, !0), p(g);
@@ -3134,7 +3134,7 @@ const sn = {
3134
3134
  t("div", Zu, [
3135
3135
  g[2] || (g[2] = t("div", { class: "key" }, "主体背景色", -1)),
3136
3136
  t("div", ed, [
3137
- s(e(Rs), {
3137
+ s(e(Us), {
3138
3138
  modelValue: d.value,
3139
3139
  "onUpdate:modelValue": g[0] || (g[0] = (w) => d.value = w)
3140
3140
  }, null, 8, ["modelValue"])
@@ -3372,7 +3372,7 @@ const sn = {
3372
3372
  s(Vr),
3373
3373
  s(eu),
3374
3374
  s(xu),
3375
- s(Uu),
3375
+ s(Ru),
3376
3376
  e(Qt)(e(y).currentLayer) ? ($(), de(Fu, { key: 0 })) : fe("", !0),
3377
3377
  e(jt)(e(y).currentLayer) ? ($(), de(nd, { key: 1 })) : fe("", !0),
3378
3378
  e(Zt)(e(y).currentLayer) ? ($(), de(kd, { key: 2 })) : fe("", !0),
@@ -3389,7 +3389,7 @@ const sn = {
3389
3389
  ]))
3390
3390
  ]));
3391
3391
  }
3392
- }), $d = /* @__PURE__ */ De(Sd, [["__scopeId", "data-v-8efbee24"]]), Vd = { class: "editParamsForm" }, Id = { class: "tab" }, Td = { class: "container" }, Ed = /* @__PURE__ */ Te({
3392
+ }), $d = /* @__PURE__ */ De(Sd, [["__scopeId", "data-v-a66d7981"]]), Vd = { class: "editParamsForm" }, Id = { class: "tab" }, Td = { class: "container" }, Ed = /* @__PURE__ */ Te({
3393
3393
  __name: "index",
3394
3394
  setup(a) {
3395
3395
  const { currentLayer: y } = Je(Ze()), l = H(0);
@@ -3420,7 +3420,7 @@ const sn = {
3420
3420
  ])
3421
3421
  ]));
3422
3422
  }
3423
- }), Dd = /* @__PURE__ */ De(Ed, [["__scopeId", "data-v-7cd0d7a7"]]), Ud = /* @__PURE__ */ Te({
3423
+ }), Dd = /* @__PURE__ */ De(Ed, [["__scopeId", "data-v-7cd0d7a7"]]), Rd = /* @__PURE__ */ Te({
3424
3424
  __name: "DrawingBoard",
3425
3425
  setup(a) {
3426
3426
  const { initContainer: y, resizeContainer: l, destroyContainer: m } = Ze(), u = H();
@@ -3441,7 +3441,7 @@ const sn = {
3441
3441
  ref: u
3442
3442
  }, null, 512));
3443
3443
  }
3444
- }), Rd = /* @__PURE__ */ De(Ud, [["__scopeId", "data-v-ca67a980"]]), Md = { class: "case_id" }, Nd = { class: "case_id_text" }, Od = {
3444
+ }), Ud = /* @__PURE__ */ De(Rd, [["__scopeId", "data-v-ca67a980"]]), Md = { class: "case_id" }, Nd = { class: "case_id_text" }, Od = {
3445
3445
  key: 1,
3446
3446
  class: "noData"
3447
3447
  }, Ld = /* @__PURE__ */ Te({
@@ -3527,28 +3527,28 @@ const zd = Kt(() => {
3527
3527
  F.value === "cases" ? W.value = JSON.stringify(Aa(u.value), null, 2) : F.value === "currentCase" && d.value && (W.value = JSON.stringify(za(d.value), null, 2));
3528
3528
  }, g = () => {
3529
3529
  I.value = !0, E();
3530
- }, w = (U) => {
3531
- hs(U), re({
3530
+ }, w = (R) => {
3531
+ hs(R), re({
3532
3532
  message: "数据已复制到剪贴板",
3533
3533
  type: "success",
3534
3534
  grouping: !0,
3535
3535
  showClose: !0
3536
3536
  });
3537
3537
  }, v = () => {
3538
- let U = "数据 ";
3539
- F.value === "cases" ? U = "方案列表数据 " : F.value === "currentCase" && d.value && (U = "当前方案数据-" + d.value.title + " ");
3538
+ let R = "数据 ";
3539
+ F.value === "cases" ? R = "方案列表数据 " : F.value === "currentCase" && d.value && (R = "当前方案数据-" + d.value.title + " ");
3540
3540
  const _ = new Blob([W.value], { type: "text/plain;charset=utf-8" }), C = URL.createObjectURL(_), i = document.createElement("a");
3541
- i.href = C, i.download = U + Nl() + ".json", i.click(), URL.revokeObjectURL(C);
3541
+ i.href = C, i.download = R + Nl() + ".json", i.click(), URL.revokeObjectURL(C);
3542
3542
  }, P = () => {
3543
3543
  try {
3544
- const U = W.value.trim();
3545
- if (!U.startsWith("{") && !U.startsWith("["))
3546
- throw new Error(`数据格式错误:期望 JSON 对象或数组,但收到以 "${U[0]}" 开头的内容`);
3544
+ const R = W.value.trim();
3545
+ if (!R.startsWith("{") && !R.startsWith("["))
3546
+ throw new Error(`数据格式错误:期望 JSON 对象或数组,但收到以 "${R[0]}" 开头的内容`);
3547
3547
  if (ms(), F.value === "cases") {
3548
- const _ = JSON.parse(U);
3548
+ const _ = JSON.parse(R);
3549
3549
  p(Array.isArray(_) ? Pa(_) : _);
3550
3550
  } else if (F.value === "currentCase") {
3551
- const _ = JSON.parse(U);
3551
+ const _ = JSON.parse(R);
3552
3552
  h(Fa(_));
3553
3553
  }
3554
3554
  I.value = !1, re({
@@ -3557,9 +3557,9 @@ const zd = Kt(() => {
3557
3557
  grouping: !0,
3558
3558
  showClose: !0
3559
3559
  });
3560
- } catch (U) {
3560
+ } catch (R) {
3561
3561
  re({
3562
- message: U || "数据格式错误",
3562
+ message: R || "数据格式错误",
3563
3563
  type: "error",
3564
3564
  grouping: !0,
3565
3565
  showClose: !0
@@ -3568,7 +3568,7 @@ const zd = Kt(() => {
3568
3568
  };
3569
3569
  return y({
3570
3570
  showVisible: g
3571
- }), (U, _) => ($(), de(e(_t), {
3571
+ }), (R, _) => ($(), de(e(_t), {
3572
3572
  modelValue: I.value,
3573
3573
  "onUpdate:modelValue": _[7] || (_[7] = (C) => I.value = C),
3574
3574
  width: "680px",
@@ -3753,7 +3753,7 @@ const zd = Kt(() => {
3753
3753
  const v = await w.json();
3754
3754
  if (!w.ok || v.code !== 0)
3755
3755
  throw new Error(v.msg || `烧录失败(HTTP ${w.status})`);
3756
- const P = u.value.map((U) => U.title).join("、") || "空方案";
3756
+ const P = u.value.map((R) => R.title).join("、") || "空方案";
3757
3757
  I.value = `chore(lingshu-smart): 更新方案数据(${P})${Nl()}`, re({
3758
3758
  message: "方案数据已烧录进源码 cases.json,请手动提交到代码仓库",
3759
3759
  type: "success",
@@ -3917,7 +3917,7 @@ const zd = Kt(() => {
3917
3917
  ms(), I(i.id), l.setWsProxyConfig(l.wsProxyConfig.filter((f) => f.caseId !== i.id));
3918
3918
  }).catch(() => {
3919
3919
  });
3920
- }, U = () => {
3920
+ }, R = () => {
3921
3921
  W.value.showVisible();
3922
3922
  }, _ = async (i) => {
3923
3923
  if (!y.loadCases)
@@ -4020,7 +4020,7 @@ const zd = Kt(() => {
4020
4020
  _: 1
4021
4021
  }),
4022
4022
  s(e(Vt), {
4023
- onClick: f[1] || (f[1] = (z) => U())
4023
+ onClick: f[1] || (f[1] = (z) => R())
4024
4024
  }, {
4025
4025
  default: o(() => [
4026
4026
  t("span", mc, [
@@ -4161,12 +4161,12 @@ function kc() {
4161
4161
  }, u.keysMD5 = function(D) {
4162
4162
  return P(D, { algorithm: "md5", encoding: "hex", excludeValues: !0 });
4163
4163
  };
4164
- var U = v.getHashes ? v.getHashes().slice() : ["sha1", "md5"], _ = (U.push("passthrough"), ["buffer", "hex", "binary", "base64"]);
4164
+ var R = v.getHashes ? v.getHashes().slice() : ["sha1", "md5"], _ = (R.push("passthrough"), ["buffer", "hex", "binary", "base64"]);
4165
4165
  function C(D, A) {
4166
4166
  var b = {};
4167
4167
  if (b.algorithm = (A = A || {}).algorithm || "sha1", b.encoding = A.encoding || "hex", b.excludeValues = !!A.excludeValues, b.algorithm = b.algorithm.toLowerCase(), b.encoding = b.encoding.toLowerCase(), b.ignoreUnknown = A.ignoreUnknown === !0, b.respectType = A.respectType !== !1, b.respectFunctionNames = A.respectFunctionNames !== !1, b.respectFunctionProperties = A.respectFunctionProperties !== !1, b.unorderedArrays = A.unorderedArrays === !0, b.unorderedSets = A.unorderedSets !== !1, b.unorderedObjects = A.unorderedObjects !== !1, b.replacer = A.replacer || void 0, b.excludeKeys = A.excludeKeys || void 0, D === void 0) throw new Error("Object argument required.");
4168
- for (var V = 0; V < U.length; ++V) U[V].toLowerCase() === b.algorithm.toLowerCase() && (b.algorithm = U[V]);
4169
- if (U.indexOf(b.algorithm) === -1) throw new Error('Algorithm "' + b.algorithm + '" not supported. supported values: ' + U.join(", "));
4168
+ for (var V = 0; V < R.length; ++V) R[V].toLowerCase() === b.algorithm.toLowerCase() && (b.algorithm = R[V]);
4169
+ if (R.indexOf(b.algorithm) === -1) throw new Error('Algorithm "' + b.algorithm + '" not supported. supported values: ' + R.join(", "));
4170
4170
  if (_.indexOf(b.encoding) === -1 && b.algorithm !== "passthrough") throw new Error('Encoding "' + b.encoding + '" not supported. supported values: ' + _.join(", "));
4171
4171
  return b;
4172
4172
  }
@@ -4317,9 +4317,9 @@ Use "options.replacer" or "options.ignoreUnknown"
4317
4317
  }, { buffer: 3, crypto: 5, lYpoI2: 11 }], 2: [function(l, m, u) {
4318
4318
  (function(p, h, d, I, F, W, E, g, w) {
4319
4319
  (function(v) {
4320
- var P = typeof Uint8Array < "u" ? Uint8Array : Array, U = 43, _ = 47, C = 48, i = 97, f = 65, z = 45, D = 95;
4320
+ var P = typeof Uint8Array < "u" ? Uint8Array : Array, R = 43, _ = 47, C = 48, i = 97, f = 65, z = 45, D = 95;
4321
4321
  function A(b) {
4322
- return b = b.charCodeAt(0), b === U || b === z ? 62 : b === _ || b === D ? 63 : b < C ? -1 : b < C + 10 ? b - C + 26 + 26 : b < f + 26 ? b - f : b < i + 26 ? b - i + 26 : void 0;
4322
+ return b = b.charCodeAt(0), b === R || b === z ? 62 : b === _ || b === D ? 63 : b < C ? -1 : b < C + 10 ? b - C + 26 + 26 : b < f + 26 ? b - f : b < i + 26 ? b - i + 26 : void 0;
4323
4323
  }
4324
4324
  v.toByteArray = function(b) {
4325
4325
  var V, r;
@@ -4348,32 +4348,32 @@ Use "options.replacer" or "options.ignoreUnknown"
4348
4348
  })(u === void 0 ? this.base64js = {} : u);
4349
4349
  }).call(this, l("lYpoI2"), typeof self < "u" ? self : typeof window < "u" ? window : {}, l("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js", "/node_modules/gulp-browserify/node_modules/base64-js/lib");
4350
4350
  }, { buffer: 3, lYpoI2: 11 }], 3: [function(l, m, u) {
4351
- (function(p, h, U, I, F, W, E, g, w) {
4351
+ (function(p, h, R, I, F, W, E, g, w) {
4352
4352
  var v = l("base64-js"), P = l("ieee754");
4353
- function U(n, k, M) {
4354
- if (!(this instanceof U)) return new U(n, k, M);
4353
+ function R(n, k, M) {
4354
+ if (!(this instanceof R)) return new R(n, k, M);
4355
4355
  var X, Z, ne, ye, Ee = typeof n;
4356
4356
  if (k === "base64" && Ee == "string") for (n = (ye = n).trim ? ye.trim() : ye.replace(/^\s+|\s+$/g, ""); n.length % 4 != 0; ) n += "=";
4357
4357
  if (Ee == "number") X = Me(n);
4358
- else if (Ee == "string") X = U.byteLength(n, k);
4358
+ else if (Ee == "string") X = R.byteLength(n, k);
4359
4359
  else {
4360
4360
  if (Ee != "object") throw new Error("First argument needs to be a number, array or string.");
4361
4361
  X = Me(n.length);
4362
4362
  }
4363
- if (U._useTypedArrays ? Z = U._augment(new Uint8Array(X)) : ((Z = this).length = X, Z._isBuffer = !0), U._useTypedArrays && typeof n.byteLength == "number") Z._set(n);
4364
- else if (Ce(ye = n) || U.isBuffer(ye) || ye && typeof ye == "object" && typeof ye.length == "number") for (ne = 0; ne < X; ne++) U.isBuffer(n) ? Z[ne] = n.readUInt8(ne) : Z[ne] = n[ne];
4363
+ if (R._useTypedArrays ? Z = R._augment(new Uint8Array(X)) : ((Z = this).length = X, Z._isBuffer = !0), R._useTypedArrays && typeof n.byteLength == "number") Z._set(n);
4364
+ else if (Ce(ye = n) || R.isBuffer(ye) || ye && typeof ye == "object" && typeof ye.length == "number") for (ne = 0; ne < X; ne++) R.isBuffer(n) ? Z[ne] = n.readUInt8(ne) : Z[ne] = n[ne];
4365
4365
  else if (Ee == "string") Z.write(n, 0, k);
4366
- else if (Ee == "number" && !U._useTypedArrays && !M) for (ne = 0; ne < X; ne++) Z[ne] = 0;
4366
+ else if (Ee == "number" && !R._useTypedArrays && !M) for (ne = 0; ne < X; ne++) Z[ne] = 0;
4367
4367
  return Z;
4368
4368
  }
4369
4369
  function _(n, k, M, X) {
4370
- return U._charsWritten = nt((function(Z) {
4370
+ return R._charsWritten = nt((function(Z) {
4371
4371
  for (var ne = [], ye = 0; ye < Z.length; ye++) ne.push(255 & Z.charCodeAt(ye));
4372
4372
  return ne;
4373
4373
  })(k), n, M, X);
4374
4374
  }
4375
4375
  function C(n, k, M, X) {
4376
- return U._charsWritten = nt((function(Z) {
4376
+ return R._charsWritten = nt((function(Z) {
4377
4377
  for (var ne, ye, Ee = [], Le = 0; Le < Z.length; Le++) ye = Z.charCodeAt(Le), ne = ye >> 8, ye = ye % 256, Ee.push(ye), Ee.push(ne);
4378
4378
  return Ee;
4379
4379
  })(k), n, M, X);
@@ -4385,46 +4385,46 @@ Use "options.replacer" or "options.ignoreUnknown"
4385
4385
  return X;
4386
4386
  }
4387
4387
  function f(n, k, M, ne) {
4388
- ne || (R(typeof M == "boolean", "missing or invalid endian"), R(k != null, "missing offset"), R(k + 1 < n.length, "Trying to read beyond buffer length"));
4388
+ ne || (U(typeof M == "boolean", "missing or invalid endian"), U(k != null, "missing offset"), U(k + 1 < n.length, "Trying to read beyond buffer length"));
4389
4389
  var Z, ne = n.length;
4390
4390
  if (!(ne <= k)) return M ? (Z = n[k], k + 1 < ne && (Z |= n[k + 1] << 8)) : (Z = n[k] << 8, k + 1 < ne && (Z |= n[k + 1])), Z;
4391
4391
  }
4392
4392
  function z(n, k, M, ne) {
4393
- ne || (R(typeof M == "boolean", "missing or invalid endian"), R(k != null, "missing offset"), R(k + 3 < n.length, "Trying to read beyond buffer length"));
4393
+ ne || (U(typeof M == "boolean", "missing or invalid endian"), U(k != null, "missing offset"), U(k + 3 < n.length, "Trying to read beyond buffer length"));
4394
4394
  var Z, ne = n.length;
4395
4395
  if (!(ne <= k)) return M ? (k + 2 < ne && (Z = n[k + 2] << 16), k + 1 < ne && (Z |= n[k + 1] << 8), Z |= n[k], k + 3 < ne && (Z += n[k + 3] << 24 >>> 0)) : (k + 1 < ne && (Z = n[k + 1] << 16), k + 2 < ne && (Z |= n[k + 2] << 8), k + 3 < ne && (Z |= n[k + 3]), Z += n[k] << 24 >>> 0), Z;
4396
4396
  }
4397
4397
  function D(n, k, M, X) {
4398
- if (X || (R(typeof M == "boolean", "missing or invalid endian"), R(k != null, "missing offset"), R(k + 1 < n.length, "Trying to read beyond buffer length")), !(n.length <= k)) return X = f(n, k, M, !0), 32768 & X ? -1 * (65535 - X + 1) : X;
4398
+ if (X || (U(typeof M == "boolean", "missing or invalid endian"), U(k != null, "missing offset"), U(k + 1 < n.length, "Trying to read beyond buffer length")), !(n.length <= k)) return X = f(n, k, M, !0), 32768 & X ? -1 * (65535 - X + 1) : X;
4399
4399
  }
4400
4400
  function A(n, k, M, X) {
4401
- if (X || (R(typeof M == "boolean", "missing or invalid endian"), R(k != null, "missing offset"), R(k + 3 < n.length, "Trying to read beyond buffer length")), !(n.length <= k)) return X = z(n, k, M, !0), 2147483648 & X ? -1 * (4294967295 - X + 1) : X;
4401
+ if (X || (U(typeof M == "boolean", "missing or invalid endian"), U(k != null, "missing offset"), U(k + 3 < n.length, "Trying to read beyond buffer length")), !(n.length <= k)) return X = z(n, k, M, !0), 2147483648 & X ? -1 * (4294967295 - X + 1) : X;
4402
4402
  }
4403
4403
  function b(n, k, M, X) {
4404
- return X || (R(typeof M == "boolean", "missing or invalid endian"), R(k + 3 < n.length, "Trying to read beyond buffer length")), P.read(n, k, M, 23, 4);
4404
+ return X || (U(typeof M == "boolean", "missing or invalid endian"), U(k + 3 < n.length, "Trying to read beyond buffer length")), P.read(n, k, M, 23, 4);
4405
4405
  }
4406
4406
  function V(n, k, M, X) {
4407
- return X || (R(typeof M == "boolean", "missing or invalid endian"), R(k + 7 < n.length, "Trying to read beyond buffer length")), P.read(n, k, M, 52, 8);
4407
+ return X || (U(typeof M == "boolean", "missing or invalid endian"), U(k + 7 < n.length, "Trying to read beyond buffer length")), P.read(n, k, M, 52, 8);
4408
4408
  }
4409
4409
  function r(n, k, M, X, Z) {
4410
- if (Z || (R(k != null, "missing value"), R(typeof X == "boolean", "missing or invalid endian"), R(M != null, "missing offset"), R(M + 1 < n.length, "trying to write beyond buffer length"), K(k, 65535)), Z = n.length, !(Z <= M)) for (var ne = 0, ye = Math.min(Z - M, 2); ne < ye; ne++) n[M + ne] = (k & 255 << 8 * (X ? ne : 1 - ne)) >>> 8 * (X ? ne : 1 - ne);
4410
+ if (Z || (U(k != null, "missing value"), U(typeof X == "boolean", "missing or invalid endian"), U(M != null, "missing offset"), U(M + 1 < n.length, "trying to write beyond buffer length"), K(k, 65535)), Z = n.length, !(Z <= M)) for (var ne = 0, ye = Math.min(Z - M, 2); ne < ye; ne++) n[M + ne] = (k & 255 << 8 * (X ? ne : 1 - ne)) >>> 8 * (X ? ne : 1 - ne);
4411
4411
  }
4412
4412
  function L(n, k, M, X, Z) {
4413
- if (Z || (R(k != null, "missing value"), R(typeof X == "boolean", "missing or invalid endian"), R(M != null, "missing offset"), R(M + 3 < n.length, "trying to write beyond buffer length"), K(k, 4294967295)), Z = n.length, !(Z <= M)) for (var ne = 0, ye = Math.min(Z - M, 4); ne < ye; ne++) n[M + ne] = k >>> 8 * (X ? ne : 3 - ne) & 255;
4413
+ if (Z || (U(k != null, "missing value"), U(typeof X == "boolean", "missing or invalid endian"), U(M != null, "missing offset"), U(M + 3 < n.length, "trying to write beyond buffer length"), K(k, 4294967295)), Z = n.length, !(Z <= M)) for (var ne = 0, ye = Math.min(Z - M, 4); ne < ye; ne++) n[M + ne] = k >>> 8 * (X ? ne : 3 - ne) & 255;
4414
4414
  }
4415
4415
  function B(n, k, M, X, Z) {
4416
- Z || (R(k != null, "missing value"), R(typeof X == "boolean", "missing or invalid endian"), R(M != null, "missing offset"), R(M + 1 < n.length, "Trying to write beyond buffer length"), S(k, 32767, -32768)), n.length <= M || r(n, 0 <= k ? k : 65535 + k + 1, M, X, Z);
4416
+ Z || (U(k != null, "missing value"), U(typeof X == "boolean", "missing or invalid endian"), U(M != null, "missing offset"), U(M + 1 < n.length, "Trying to write beyond buffer length"), S(k, 32767, -32768)), n.length <= M || r(n, 0 <= k ? k : 65535 + k + 1, M, X, Z);
4417
4417
  }
4418
4418
  function ie(n, k, M, X, Z) {
4419
- Z || (R(k != null, "missing value"), R(typeof X == "boolean", "missing or invalid endian"), R(M != null, "missing offset"), R(M + 3 < n.length, "Trying to write beyond buffer length"), S(k, 2147483647, -2147483648)), n.length <= M || L(n, 0 <= k ? k : 4294967295 + k + 1, M, X, Z);
4419
+ Z || (U(k != null, "missing value"), U(typeof X == "boolean", "missing or invalid endian"), U(M != null, "missing offset"), U(M + 3 < n.length, "Trying to write beyond buffer length"), S(k, 2147483647, -2147483648)), n.length <= M || L(n, 0 <= k ? k : 4294967295 + k + 1, M, X, Z);
4420
4420
  }
4421
4421
  function pe(n, k, M, X, Z) {
4422
- Z || (R(k != null, "missing value"), R(typeof X == "boolean", "missing or invalid endian"), R(M != null, "missing offset"), R(M + 3 < n.length, "Trying to write beyond buffer length"), T(k, 34028234663852886e22, -34028234663852886e22)), n.length <= M || P.write(n, k, M, X, 23, 4);
4422
+ Z || (U(k != null, "missing value"), U(typeof X == "boolean", "missing or invalid endian"), U(M != null, "missing offset"), U(M + 3 < n.length, "Trying to write beyond buffer length"), T(k, 34028234663852886e22, -34028234663852886e22)), n.length <= M || P.write(n, k, M, X, 23, 4);
4423
4423
  }
4424
4424
  function ve(n, k, M, X, Z) {
4425
- Z || (R(k != null, "missing value"), R(typeof X == "boolean", "missing or invalid endian"), R(M != null, "missing offset"), R(M + 7 < n.length, "Trying to write beyond buffer length"), T(k, 17976931348623157e292, -17976931348623157e292)), n.length <= M || P.write(n, k, M, X, 52, 8);
4425
+ Z || (U(k != null, "missing value"), U(typeof X == "boolean", "missing or invalid endian"), U(M != null, "missing offset"), U(M + 7 < n.length, "Trying to write beyond buffer length"), T(k, 17976931348623157e292, -17976931348623157e292)), n.length <= M || P.write(n, k, M, X, 52, 8);
4426
4426
  }
4427
- u.Buffer = U, u.SlowBuffer = U, u.INSPECT_MAX_BYTES = 50, U.poolSize = 8192, U._useTypedArrays = (function() {
4427
+ u.Buffer = R, u.SlowBuffer = R, u.INSPECT_MAX_BYTES = 50, R.poolSize = 8192, R._useTypedArrays = (function() {
4428
4428
  try {
4429
4429
  var n = new ArrayBuffer(0), k = new Uint8Array(n);
4430
4430
  return k.foo = function() {
@@ -4433,7 +4433,7 @@ Use "options.replacer" or "options.ignoreUnknown"
4433
4433
  } catch {
4434
4434
  return !1;
4435
4435
  }
4436
- })(), U.isEncoding = function(n) {
4436
+ })(), R.isEncoding = function(n) {
4437
4437
  switch (String(n).toLowerCase()) {
4438
4438
  case "hex":
4439
4439
  case "utf8":
@@ -4450,9 +4450,9 @@ Use "options.replacer" or "options.ignoreUnknown"
4450
4450
  default:
4451
4451
  return !1;
4452
4452
  }
4453
- }, U.isBuffer = function(n) {
4453
+ }, R.isBuffer = function(n) {
4454
4454
  return !(n == null || !n._isBuffer);
4455
- }, U.byteLength = function(n, k) {
4455
+ }, R.byteLength = function(n, k) {
4456
4456
  var M;
4457
4457
  switch (n += "", k || "utf8") {
4458
4458
  case "hex":
@@ -4480,42 +4480,42 @@ Use "options.replacer" or "options.ignoreUnknown"
4480
4480
  throw new Error("Unknown encoding");
4481
4481
  }
4482
4482
  return M;
4483
- }, U.concat = function(n, k) {
4484
- if (R(Ce(n), `Usage: Buffer.concat(list, [totalLength])
4485
- list should be an Array.`), n.length === 0) return new U(0);
4483
+ }, R.concat = function(n, k) {
4484
+ if (U(Ce(n), `Usage: Buffer.concat(list, [totalLength])
4485
+ list should be an Array.`), n.length === 0) return new R(0);
4486
4486
  if (n.length === 1) return n[0];
4487
4487
  if (typeof k != "number") for (Z = k = 0; Z < n.length; Z++) k += n[Z].length;
4488
- for (var M = new U(k), X = 0, Z = 0; Z < n.length; Z++) {
4488
+ for (var M = new R(k), X = 0, Z = 0; Z < n.length; Z++) {
4489
4489
  var ne = n[Z];
4490
4490
  ne.copy(M, X), X += ne.length;
4491
4491
  }
4492
4492
  return M;
4493
- }, U.prototype.write = function(n, k, M, X) {
4493
+ }, R.prototype.write = function(n, k, M, X) {
4494
4494
  isFinite(k) ? isFinite(M) || (X = M, M = void 0) : (Le = X, X = k, k = M, M = Le), k = Number(k) || 0;
4495
4495
  var Z, ne, ye, Ee, Le = this.length - k;
4496
4496
  switch ((!M || Le < (M = Number(M))) && (M = Le), X = String(X || "utf8").toLowerCase()) {
4497
4497
  case "hex":
4498
4498
  Z = (function(Ye, Fe, Be, Ie) {
4499
4499
  Be = Number(Be) || 0;
4500
- var Ue = Ye.length - Be;
4501
- (!Ie || Ue < (Ie = Number(Ie))) && (Ie = Ue), R((Ue = Fe.length) % 2 == 0, "Invalid hex string"), Ue / 2 < Ie && (Ie = Ue / 2);
4500
+ var Re = Ye.length - Be;
4501
+ (!Ie || Re < (Ie = Number(Ie))) && (Ie = Re), U((Re = Fe.length) % 2 == 0, "Invalid hex string"), Re / 2 < Ie && (Ie = Re / 2);
4502
4502
  for (var lt = 0; lt < Ie; lt++) {
4503
4503
  var wt = parseInt(Fe.substr(2 * lt, 2), 16);
4504
- R(!isNaN(wt), "Invalid hex string"), Ye[Be + lt] = wt;
4504
+ U(!isNaN(wt), "Invalid hex string"), Ye[Be + lt] = wt;
4505
4505
  }
4506
- return U._charsWritten = 2 * lt, lt;
4506
+ return R._charsWritten = 2 * lt, lt;
4507
4507
  })(this, n, k, M);
4508
4508
  break;
4509
4509
  case "utf8":
4510
4510
  case "utf-8":
4511
- ne = this, ye = k, Ee = M, Z = U._charsWritten = nt(me(n), ne, ye, Ee);
4511
+ ne = this, ye = k, Ee = M, Z = R._charsWritten = nt(me(n), ne, ye, Ee);
4512
4512
  break;
4513
4513
  case "ascii":
4514
4514
  case "binary":
4515
4515
  Z = _(this, n, k, M);
4516
4516
  break;
4517
4517
  case "base64":
4518
- ne = this, ye = k, Ee = M, Z = U._charsWritten = nt(it(n), ne, ye, Ee);
4518
+ ne = this, ye = k, Ee = M, Z = R._charsWritten = nt(it(n), ne, ye, Ee);
4519
4519
  break;
4520
4520
  case "ucs2":
4521
4521
  case "ucs-2":
@@ -4527,7 +4527,7 @@ list should be an Array.`), n.length === 0) return new U(0);
4527
4527
  throw new Error("Unknown encoding");
4528
4528
  }
4529
4529
  return Z;
4530
- }, U.prototype.toString = function(n, k, M) {
4530
+ }, R.prototype.toString = function(n, k, M) {
4531
4531
  var X, Z, ne, ye, Ee = this;
4532
4532
  if (n = String(n || "utf8").toLowerCase(), k = Number(k) || 0, (M = M !== void 0 ? Number(M) : Ee.length) === k) return "";
4533
4533
  switch (n) {
@@ -4535,7 +4535,7 @@ list should be an Array.`), n.length === 0) return new U(0);
4535
4535
  X = (function(Le, Ye, Fe) {
4536
4536
  var Be = Le.length;
4537
4537
  (!Ye || Ye < 0) && (Ye = 0), (!Fe || Fe < 0 || Be < Fe) && (Fe = Be);
4538
- for (var Ie = "", Ue = Ye; Ue < Fe; Ue++) Ie += Ve(Le[Ue]);
4538
+ for (var Ie = "", Re = Ye; Re < Fe; Re++) Ie += Ve(Le[Re]);
4539
4539
  return Ie;
4540
4540
  })(Ee, k, M);
4541
4541
  break;
@@ -4544,7 +4544,7 @@ list should be an Array.`), n.length === 0) return new U(0);
4544
4544
  X = (function(Le, Ye, Fe) {
4545
4545
  var Be = "", Ie = "";
4546
4546
  Fe = Math.min(Le.length, Fe);
4547
- for (var Ue = Ye; Ue < Fe; Ue++) Le[Ue] <= 127 ? (Be += Q(Ie) + String.fromCharCode(Le[Ue]), Ie = "") : Ie += "%" + Le[Ue].toString(16);
4547
+ for (var Re = Ye; Re < Fe; Re++) Le[Re] <= 127 ? (Be += Q(Ie) + String.fromCharCode(Le[Re]), Ie = "") : Ie += "%" + Le[Re].toString(16);
4548
4548
  return Be + Q(Ie);
4549
4549
  })(Ee, k, M);
4550
4550
  break;
@@ -4560,7 +4560,7 @@ list should be an Array.`), n.length === 0) return new U(0);
4560
4560
  case "utf16le":
4561
4561
  case "utf-16le":
4562
4562
  X = (function(Le, Ye, Fe) {
4563
- for (var Be = Le.slice(Ye, Fe), Ie = "", Ue = 0; Ue < Be.length; Ue += 2) Ie += String.fromCharCode(Be[Ue] + 256 * Be[Ue + 1]);
4563
+ for (var Be = Le.slice(Ye, Fe), Ie = "", Re = 0; Re < Be.length; Re += 2) Ie += String.fromCharCode(Be[Re] + 256 * Be[Re + 1]);
4564
4564
  return Ie;
4565
4565
  })(Ee, k, M);
4566
4566
  break;
@@ -4568,98 +4568,98 @@ list should be an Array.`), n.length === 0) return new U(0);
4568
4568
  throw new Error("Unknown encoding");
4569
4569
  }
4570
4570
  return X;
4571
- }, U.prototype.toJSON = function() {
4571
+ }, R.prototype.toJSON = function() {
4572
4572
  return { type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0) };
4573
- }, U.prototype.copy = function(n, k, M, X) {
4573
+ }, R.prototype.copy = function(n, k, M, X) {
4574
4574
  if (k = k || 0, (X = X || X === 0 ? X : this.length) !== (M = M || 0) && n.length !== 0 && this.length !== 0) {
4575
- R(M <= X, "sourceEnd < sourceStart"), R(0 <= k && k < n.length, "targetStart out of bounds"), R(0 <= M && M < this.length, "sourceStart out of bounds"), R(0 <= X && X <= this.length, "sourceEnd out of bounds"), X > this.length && (X = this.length);
4575
+ U(M <= X, "sourceEnd < sourceStart"), U(0 <= k && k < n.length, "targetStart out of bounds"), U(0 <= M && M < this.length, "sourceStart out of bounds"), U(0 <= X && X <= this.length, "sourceEnd out of bounds"), X > this.length && (X = this.length);
4576
4576
  var Z = (X = n.length - k < X - M ? n.length - k + M : X) - M;
4577
- if (Z < 100 || !U._useTypedArrays) for (var ne = 0; ne < Z; ne++) n[ne + k] = this[ne + M];
4577
+ if (Z < 100 || !R._useTypedArrays) for (var ne = 0; ne < Z; ne++) n[ne + k] = this[ne + M];
4578
4578
  else n._set(this.subarray(M, M + Z), k);
4579
4579
  }
4580
- }, U.prototype.slice = function(n, k) {
4580
+ }, R.prototype.slice = function(n, k) {
4581
4581
  var M = this.length;
4582
- if (n = xe(n, M, 0), k = xe(k, M, M), U._useTypedArrays) return U._augment(this.subarray(n, k));
4583
- for (var X = k - n, Z = new U(X, void 0, !0), ne = 0; ne < X; ne++) Z[ne] = this[ne + n];
4582
+ if (n = xe(n, M, 0), k = xe(k, M, M), R._useTypedArrays) return R._augment(this.subarray(n, k));
4583
+ for (var X = k - n, Z = new R(X, void 0, !0), ne = 0; ne < X; ne++) Z[ne] = this[ne + n];
4584
4584
  return Z;
4585
- }, U.prototype.get = function(n) {
4585
+ }, R.prototype.get = function(n) {
4586
4586
  return console.log(".get() is deprecated. Access using array indexes instead."), this.readUInt8(n);
4587
- }, U.prototype.set = function(n, k) {
4587
+ }, R.prototype.set = function(n, k) {
4588
4588
  return console.log(".set() is deprecated. Access using array indexes instead."), this.writeUInt8(n, k);
4589
- }, U.prototype.readUInt8 = function(n, k) {
4590
- if (k || (R(n != null, "missing offset"), R(n < this.length, "Trying to read beyond buffer length")), !(n >= this.length)) return this[n];
4591
- }, U.prototype.readUInt16LE = function(n, k) {
4589
+ }, R.prototype.readUInt8 = function(n, k) {
4590
+ if (k || (U(n != null, "missing offset"), U(n < this.length, "Trying to read beyond buffer length")), !(n >= this.length)) return this[n];
4591
+ }, R.prototype.readUInt16LE = function(n, k) {
4592
4592
  return f(this, n, !0, k);
4593
- }, U.prototype.readUInt16BE = function(n, k) {
4593
+ }, R.prototype.readUInt16BE = function(n, k) {
4594
4594
  return f(this, n, !1, k);
4595
- }, U.prototype.readUInt32LE = function(n, k) {
4595
+ }, R.prototype.readUInt32LE = function(n, k) {
4596
4596
  return z(this, n, !0, k);
4597
- }, U.prototype.readUInt32BE = function(n, k) {
4597
+ }, R.prototype.readUInt32BE = function(n, k) {
4598
4598
  return z(this, n, !1, k);
4599
- }, U.prototype.readInt8 = function(n, k) {
4600
- if (k || (R(n != null, "missing offset"), R(n < this.length, "Trying to read beyond buffer length")), !(n >= this.length)) return 128 & this[n] ? -1 * (255 - this[n] + 1) : this[n];
4601
- }, U.prototype.readInt16LE = function(n, k) {
4599
+ }, R.prototype.readInt8 = function(n, k) {
4600
+ if (k || (U(n != null, "missing offset"), U(n < this.length, "Trying to read beyond buffer length")), !(n >= this.length)) return 128 & this[n] ? -1 * (255 - this[n] + 1) : this[n];
4601
+ }, R.prototype.readInt16LE = function(n, k) {
4602
4602
  return D(this, n, !0, k);
4603
- }, U.prototype.readInt16BE = function(n, k) {
4603
+ }, R.prototype.readInt16BE = function(n, k) {
4604
4604
  return D(this, n, !1, k);
4605
- }, U.prototype.readInt32LE = function(n, k) {
4605
+ }, R.prototype.readInt32LE = function(n, k) {
4606
4606
  return A(this, n, !0, k);
4607
- }, U.prototype.readInt32BE = function(n, k) {
4607
+ }, R.prototype.readInt32BE = function(n, k) {
4608
4608
  return A(this, n, !1, k);
4609
- }, U.prototype.readFloatLE = function(n, k) {
4609
+ }, R.prototype.readFloatLE = function(n, k) {
4610
4610
  return b(this, n, !0, k);
4611
- }, U.prototype.readFloatBE = function(n, k) {
4611
+ }, R.prototype.readFloatBE = function(n, k) {
4612
4612
  return b(this, n, !1, k);
4613
- }, U.prototype.readDoubleLE = function(n, k) {
4613
+ }, R.prototype.readDoubleLE = function(n, k) {
4614
4614
  return V(this, n, !0, k);
4615
- }, U.prototype.readDoubleBE = function(n, k) {
4615
+ }, R.prototype.readDoubleBE = function(n, k) {
4616
4616
  return V(this, n, !1, k);
4617
- }, U.prototype.writeUInt8 = function(n, k, M) {
4618
- M || (R(n != null, "missing value"), R(k != null, "missing offset"), R(k < this.length, "trying to write beyond buffer length"), K(n, 255)), k >= this.length || (this[k] = n);
4619
- }, U.prototype.writeUInt16LE = function(n, k, M) {
4617
+ }, R.prototype.writeUInt8 = function(n, k, M) {
4618
+ M || (U(n != null, "missing value"), U(k != null, "missing offset"), U(k < this.length, "trying to write beyond buffer length"), K(n, 255)), k >= this.length || (this[k] = n);
4619
+ }, R.prototype.writeUInt16LE = function(n, k, M) {
4620
4620
  r(this, n, k, !0, M);
4621
- }, U.prototype.writeUInt16BE = function(n, k, M) {
4621
+ }, R.prototype.writeUInt16BE = function(n, k, M) {
4622
4622
  r(this, n, k, !1, M);
4623
- }, U.prototype.writeUInt32LE = function(n, k, M) {
4623
+ }, R.prototype.writeUInt32LE = function(n, k, M) {
4624
4624
  L(this, n, k, !0, M);
4625
- }, U.prototype.writeUInt32BE = function(n, k, M) {
4625
+ }, R.prototype.writeUInt32BE = function(n, k, M) {
4626
4626
  L(this, n, k, !1, M);
4627
- }, U.prototype.writeInt8 = function(n, k, M) {
4628
- M || (R(n != null, "missing value"), R(k != null, "missing offset"), R(k < this.length, "Trying to write beyond buffer length"), S(n, 127, -128)), k >= this.length || (0 <= n ? this.writeUInt8(n, k, M) : this.writeUInt8(255 + n + 1, k, M));
4629
- }, U.prototype.writeInt16LE = function(n, k, M) {
4627
+ }, R.prototype.writeInt8 = function(n, k, M) {
4628
+ M || (U(n != null, "missing value"), U(k != null, "missing offset"), U(k < this.length, "Trying to write beyond buffer length"), S(n, 127, -128)), k >= this.length || (0 <= n ? this.writeUInt8(n, k, M) : this.writeUInt8(255 + n + 1, k, M));
4629
+ }, R.prototype.writeInt16LE = function(n, k, M) {
4630
4630
  B(this, n, k, !0, M);
4631
- }, U.prototype.writeInt16BE = function(n, k, M) {
4631
+ }, R.prototype.writeInt16BE = function(n, k, M) {
4632
4632
  B(this, n, k, !1, M);
4633
- }, U.prototype.writeInt32LE = function(n, k, M) {
4633
+ }, R.prototype.writeInt32LE = function(n, k, M) {
4634
4634
  ie(this, n, k, !0, M);
4635
- }, U.prototype.writeInt32BE = function(n, k, M) {
4635
+ }, R.prototype.writeInt32BE = function(n, k, M) {
4636
4636
  ie(this, n, k, !1, M);
4637
- }, U.prototype.writeFloatLE = function(n, k, M) {
4637
+ }, R.prototype.writeFloatLE = function(n, k, M) {
4638
4638
  pe(this, n, k, !0, M);
4639
- }, U.prototype.writeFloatBE = function(n, k, M) {
4639
+ }, R.prototype.writeFloatBE = function(n, k, M) {
4640
4640
  pe(this, n, k, !1, M);
4641
- }, U.prototype.writeDoubleLE = function(n, k, M) {
4641
+ }, R.prototype.writeDoubleLE = function(n, k, M) {
4642
4642
  ve(this, n, k, !0, M);
4643
- }, U.prototype.writeDoubleBE = function(n, k, M) {
4643
+ }, R.prototype.writeDoubleBE = function(n, k, M) {
4644
4644
  ve(this, n, k, !1, M);
4645
- }, U.prototype.fill = function(n, k, M) {
4646
- if (k = k || 0, M = M || this.length, R(typeof (n = typeof (n = n || 0) == "string" ? n.charCodeAt(0) : n) == "number" && !isNaN(n), "value is not a number"), R(k <= M, "end < start"), M !== k && this.length !== 0) {
4647
- R(0 <= k && k < this.length, "start out of bounds"), R(0 <= M && M <= this.length, "end out of bounds");
4645
+ }, R.prototype.fill = function(n, k, M) {
4646
+ if (k = k || 0, M = M || this.length, U(typeof (n = typeof (n = n || 0) == "string" ? n.charCodeAt(0) : n) == "number" && !isNaN(n), "value is not a number"), U(k <= M, "end < start"), M !== k && this.length !== 0) {
4647
+ U(0 <= k && k < this.length, "start out of bounds"), U(0 <= M && M <= this.length, "end out of bounds");
4648
4648
  for (var X = k; X < M; X++) this[X] = n;
4649
4649
  }
4650
- }, U.prototype.inspect = function() {
4650
+ }, R.prototype.inspect = function() {
4651
4651
  for (var n = [], k = this.length, M = 0; M < k; M++) if (n[M] = Ve(this[M]), M === u.INSPECT_MAX_BYTES) {
4652
4652
  n[M + 1] = "...";
4653
4653
  break;
4654
4654
  }
4655
4655
  return "<Buffer " + n.join(" ") + ">";
4656
- }, U.prototype.toArrayBuffer = function() {
4656
+ }, R.prototype.toArrayBuffer = function() {
4657
4657
  if (typeof Uint8Array > "u") throw new Error("Buffer.toArrayBuffer not supported in this browser");
4658
- if (U._useTypedArrays) return new U(this).buffer;
4658
+ if (R._useTypedArrays) return new R(this).buffer;
4659
4659
  for (var n = new Uint8Array(this.length), k = 0, M = n.length; k < M; k += 1) n[k] = this[k];
4660
4660
  return n.buffer;
4661
4661
  };
4662
- var ae = U.prototype;
4662
+ var ae = R.prototype;
4663
4663
  function xe(n, k, M) {
4664
4664
  return typeof n != "number" ? M : k <= (n = ~~n) ? k : 0 <= n || 0 <= (n += k) ? n : 0;
4665
4665
  }
@@ -4697,27 +4697,27 @@ list should be an Array.`), n.length === 0) return new U(0);
4697
4697
  }
4698
4698
  }
4699
4699
  function K(n, k) {
4700
- R(typeof n == "number", "cannot write a non-number as a number"), R(0 <= n, "specified a negative value for writing an unsigned value"), R(n <= k, "value is larger than maximum value for type"), R(Math.floor(n) === n, "value has a fractional component");
4700
+ U(typeof n == "number", "cannot write a non-number as a number"), U(0 <= n, "specified a negative value for writing an unsigned value"), U(n <= k, "value is larger than maximum value for type"), U(Math.floor(n) === n, "value has a fractional component");
4701
4701
  }
4702
4702
  function S(n, k, M) {
4703
- R(typeof n == "number", "cannot write a non-number as a number"), R(n <= k, "value larger than maximum allowed value"), R(M <= n, "value smaller than minimum allowed value"), R(Math.floor(n) === n, "value has a fractional component");
4703
+ U(typeof n == "number", "cannot write a non-number as a number"), U(n <= k, "value larger than maximum allowed value"), U(M <= n, "value smaller than minimum allowed value"), U(Math.floor(n) === n, "value has a fractional component");
4704
4704
  }
4705
4705
  function T(n, k, M) {
4706
- R(typeof n == "number", "cannot write a non-number as a number"), R(n <= k, "value larger than maximum allowed value"), R(M <= n, "value smaller than minimum allowed value");
4706
+ U(typeof n == "number", "cannot write a non-number as a number"), U(n <= k, "value larger than maximum allowed value"), U(M <= n, "value smaller than minimum allowed value");
4707
4707
  }
4708
- function R(n, k) {
4708
+ function U(n, k) {
4709
4709
  if (!n) throw new Error(k || "Failed assertion");
4710
4710
  }
4711
- U._augment = function(n) {
4711
+ R._augment = function(n) {
4712
4712
  return n._isBuffer = !0, n._get = n.get, n._set = n.set, n.get = ae.get, n.set = ae.set, n.write = ae.write, n.toString = ae.toString, n.toLocaleString = ae.toString, n.toJSON = ae.toJSON, n.copy = ae.copy, n.slice = ae.slice, n.readUInt8 = ae.readUInt8, n.readUInt16LE = ae.readUInt16LE, n.readUInt16BE = ae.readUInt16BE, n.readUInt32LE = ae.readUInt32LE, n.readUInt32BE = ae.readUInt32BE, n.readInt8 = ae.readInt8, n.readInt16LE = ae.readInt16LE, n.readInt16BE = ae.readInt16BE, n.readInt32LE = ae.readInt32LE, n.readInt32BE = ae.readInt32BE, n.readFloatLE = ae.readFloatLE, n.readFloatBE = ae.readFloatBE, n.readDoubleLE = ae.readDoubleLE, n.readDoubleBE = ae.readDoubleBE, n.writeUInt8 = ae.writeUInt8, n.writeUInt16LE = ae.writeUInt16LE, n.writeUInt16BE = ae.writeUInt16BE, n.writeUInt32LE = ae.writeUInt32LE, n.writeUInt32BE = ae.writeUInt32BE, n.writeInt8 = ae.writeInt8, n.writeInt16LE = ae.writeInt16LE, n.writeInt16BE = ae.writeInt16BE, n.writeInt32LE = ae.writeInt32LE, n.writeInt32BE = ae.writeInt32BE, n.writeFloatLE = ae.writeFloatLE, n.writeFloatBE = ae.writeFloatBE, n.writeDoubleLE = ae.writeDoubleLE, n.writeDoubleBE = ae.writeDoubleBE, n.fill = ae.fill, n.inspect = ae.inspect, n.toArrayBuffer = ae.toArrayBuffer, n;
4713
4713
  };
4714
4714
  }).call(this, l("lYpoI2"), typeof self < "u" ? self : typeof window < "u" ? window : {}, l("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/buffer/index.js", "/node_modules/gulp-browserify/node_modules/buffer");
4715
4715
  }, { "base64-js": 2, buffer: 3, ieee754: 10, lYpoI2: 11 }], 4: [function(l, m, u) {
4716
4716
  (function(p, h, v, I, F, W, E, g, w) {
4717
- var v = l("buffer").Buffer, P = 4, U = new v(P);
4718
- U.fill(0), m.exports = { hash: function(_, C, i, f) {
4717
+ var v = l("buffer").Buffer, P = 4, R = new v(P);
4718
+ R.fill(0), m.exports = { hash: function(_, C, i, f) {
4719
4719
  for (var z = C((function(r, L) {
4720
- r.length % P != 0 && (B = r.length + (P - r.length % P), r = v.concat([r, U], B));
4720
+ r.length % P != 0 && (B = r.length + (P - r.length % P), r = v.concat([r, R], B));
4721
4721
  for (var B, ie = [], pe = L ? r.readInt32BE : r.readInt32LE, ve = 0; ve < r.length; ve += P) ie.push(pe.call(r, ve));
4722
4722
  return ie;
4723
4723
  })(_ = v.isBuffer(_) ? _ : new v(_), f), 8 * _.length), C = f, D = new v(i), A = C ? D.writeInt32BE : D.writeInt32LE, b = 0; b < z.length; b++) A.call(D, z[b], 4 * b, !0);
@@ -4726,7 +4726,7 @@ list should be an Array.`), n.length === 0) return new U(0);
4726
4726
  }).call(this, l("lYpoI2"), typeof self < "u" ? self : typeof window < "u" ? window : {}, l("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/crypto-browserify/helpers.js", "/node_modules/gulp-browserify/node_modules/crypto-browserify");
4727
4727
  }, { buffer: 3, lYpoI2: 11 }], 5: [function(l, m, u) {
4728
4728
  (function(p, h, v, I, F, W, E, g, w) {
4729
- var v = l("buffer").Buffer, P = l("./sha"), U = l("./sha256"), _ = l("./rng"), C = { sha1: P, sha256: U, md5: l("./md5") }, i = 64, f = new v(i);
4729
+ var v = l("buffer").Buffer, P = l("./sha"), R = l("./sha256"), _ = l("./rng"), C = { sha1: P, sha256: R, md5: l("./md5") }, i = 64, f = new v(i);
4730
4730
  function z(r, L) {
4731
4731
  var B = C[r = r || "sha1"], ie = [];
4732
4732
  return B || D("algorithm:", r, "is not yet supported"), { update: function(pe) {
@@ -4773,20 +4773,20 @@ list should be an Array.`), n.length === 0) return new U(0);
4773
4773
  }
4774
4774
  return Array(b, V, r, L);
4775
4775
  }
4776
- function U(D, A, b, V, r, L) {
4776
+ function R(D, A, b, V, r, L) {
4777
4777
  return z((A = z(z(A, D), z(V, L))) << r | A >>> 32 - r, b);
4778
4778
  }
4779
4779
  function _(D, A, b, V, r, L, B) {
4780
- return U(A & b | ~A & V, D, A, r, L, B);
4780
+ return R(A & b | ~A & V, D, A, r, L, B);
4781
4781
  }
4782
4782
  function C(D, A, b, V, r, L, B) {
4783
- return U(A & V | b & ~V, D, A, r, L, B);
4783
+ return R(A & V | b & ~V, D, A, r, L, B);
4784
4784
  }
4785
4785
  function i(D, A, b, V, r, L, B) {
4786
- return U(A ^ b ^ V, D, A, r, L, B);
4786
+ return R(A ^ b ^ V, D, A, r, L, B);
4787
4787
  }
4788
4788
  function f(D, A, b, V, r, L, B) {
4789
- return U(b ^ (A | ~V), D, A, r, L, B);
4789
+ return R(b ^ (A | ~V), D, A, r, L, B);
4790
4790
  }
4791
4791
  function z(D, A) {
4792
4792
  var b = (65535 & D) + (65535 & A);
@@ -4799,8 +4799,8 @@ list should be an Array.`), n.length === 0) return new U(0);
4799
4799
  }, { "./helpers": 4, buffer: 3, lYpoI2: 11 }], 7: [function(l, m, u) {
4800
4800
  (function(p, h, d, I, F, W, E, g, w) {
4801
4801
  m.exports = function(v) {
4802
- for (var P, U = new Array(v), _ = 0; _ < v; _++) (3 & _) == 0 && (P = 4294967296 * Math.random()), U[_] = P >>> ((3 & _) << 3) & 255;
4803
- return U;
4802
+ for (var P, R = new Array(v), _ = 0; _ < v; _++) (3 & _) == 0 && (P = 4294967296 * Math.random()), R[_] = P >>> ((3 & _) << 3) & 255;
4803
+ return R;
4804
4804
  };
4805
4805
  }).call(this, l("lYpoI2"), typeof self < "u" ? self : typeof window < "u" ? window : {}, l("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js", "/node_modules/gulp-browserify/node_modules/crypto-browserify");
4806
4806
  }, { buffer: 3, lYpoI2: 11 }], 8: [function(l, m, u) {
@@ -4811,13 +4811,13 @@ list should be an Array.`), n.length === 0) return new U(0);
4811
4811
  for (var f, z, D, A = Array(80), b = 1732584193, V = -271733879, r = -1732584194, L = 271733878, B = -1009589776, ie = 0; ie < C.length; ie += 16) {
4812
4812
  for (var pe = b, ve = V, ae = r, xe = L, Me = B, Ce = 0; Ce < 80; Ce++) {
4813
4813
  A[Ce] = Ce < 16 ? C[ie + Ce] : _(A[Ce - 3] ^ A[Ce - 8] ^ A[Ce - 14] ^ A[Ce - 16], 1);
4814
- var Ve = U(U(_(b, 5), (Ve = V, z = r, D = L, (f = Ce) < 20 ? Ve & z | ~Ve & D : !(f < 40) && f < 60 ? Ve & z | Ve & D | z & D : Ve ^ z ^ D)), U(U(B, A[Ce]), (f = Ce) < 20 ? 1518500249 : f < 40 ? 1859775393 : f < 60 ? -1894007588 : -899497514)), B = L, L = r, r = _(V, 30), V = b, b = Ve;
4814
+ var Ve = R(R(_(b, 5), (Ve = V, z = r, D = L, (f = Ce) < 20 ? Ve & z | ~Ve & D : !(f < 40) && f < 60 ? Ve & z | Ve & D | z & D : Ve ^ z ^ D)), R(R(B, A[Ce]), (f = Ce) < 20 ? 1518500249 : f < 40 ? 1859775393 : f < 60 ? -1894007588 : -899497514)), B = L, L = r, r = _(V, 30), V = b, b = Ve;
4815
4815
  }
4816
- b = U(b, pe), V = U(V, ve), r = U(r, ae), L = U(L, xe), B = U(B, Me);
4816
+ b = R(b, pe), V = R(V, ve), r = R(r, ae), L = R(L, xe), B = R(B, Me);
4817
4817
  }
4818
4818
  return Array(b, V, r, L, B);
4819
4819
  }
4820
- function U(C, i) {
4820
+ function R(C, i) {
4821
4821
  var f = (65535 & C) + (65535 & i);
4822
4822
  return (C >> 16) + (i >> 16) + (f >> 16) << 16 | 65535 & f;
4823
4823
  }
@@ -4843,19 +4843,19 @@ list should be an Array.`), n.length === 0) return new U(0);
4843
4843
  }
4844
4844
  return A;
4845
4845
  }
4846
- var U = l("./helpers"), _ = function(i, f) {
4846
+ var R = l("./helpers"), _ = function(i, f) {
4847
4847
  return i >>> f | i << 32 - f;
4848
4848
  }, C = function(i, f) {
4849
4849
  return i >>> f;
4850
4850
  };
4851
4851
  m.exports = function(i) {
4852
- return U.hash(i, P, 32, !0);
4852
+ return R.hash(i, P, 32, !0);
4853
4853
  };
4854
4854
  }).call(this, l("lYpoI2"), typeof self < "u" ? self : typeof window < "u" ? window : {}, l("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js", "/node_modules/gulp-browserify/node_modules/crypto-browserify");
4855
4855
  }, { "./helpers": 4, buffer: 3, lYpoI2: 11 }], 10: [function(l, m, u) {
4856
4856
  (function(p, h, d, I, F, W, E, g, w) {
4857
- u.read = function(v, P, U, _, L) {
4858
- var i, f, z = 8 * L - _ - 1, D = (1 << z) - 1, A = D >> 1, b = -7, V = U ? L - 1 : 0, r = U ? -1 : 1, L = v[P + V];
4857
+ u.read = function(v, P, R, _, L) {
4858
+ var i, f, z = 8 * L - _ - 1, D = (1 << z) - 1, A = D >> 1, b = -7, V = R ? L - 1 : 0, r = R ? -1 : 1, L = v[P + V];
4859
4859
  for (V += r, i = L & (1 << -b) - 1, L >>= -b, b += z; 0 < b; i = 256 * i + v[P + V], V += r, b -= 8) ;
4860
4860
  for (f = i & (1 << -b) - 1, i >>= -b, b += _; 0 < b; f = 256 * f + v[P + V], V += r, b -= 8) ;
4861
4861
  if (i === 0) i = 1 - A;
@@ -4864,21 +4864,21 @@ list should be an Array.`), n.length === 0) return new U(0);
4864
4864
  f += Math.pow(2, _), i -= A;
4865
4865
  }
4866
4866
  return (L ? -1 : 1) * f * Math.pow(2, i - _);
4867
- }, u.write = function(v, P, U, _, C, B) {
4867
+ }, u.write = function(v, P, R, _, C, B) {
4868
4868
  var f, z, D = 8 * B - C - 1, A = (1 << D) - 1, b = A >> 1, V = C === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, r = _ ? 0 : B - 1, L = _ ? 1 : -1, B = P < 0 || P === 0 && 1 / P < 0 ? 1 : 0;
4869
- for (P = Math.abs(P), isNaN(P) || P === 1 / 0 ? (z = isNaN(P) ? 1 : 0, f = A) : (f = Math.floor(Math.log(P) / Math.LN2), P * (_ = Math.pow(2, -f)) < 1 && (f--, _ *= 2), 2 <= (P += 1 <= f + b ? V / _ : V * Math.pow(2, 1 - b)) * _ && (f++, _ /= 2), A <= f + b ? (z = 0, f = A) : 1 <= f + b ? (z = (P * _ - 1) * Math.pow(2, C), f += b) : (z = P * Math.pow(2, b - 1) * Math.pow(2, C), f = 0)); 8 <= C; v[U + r] = 255 & z, r += L, z /= 256, C -= 8) ;
4870
- for (f = f << C | z, D += C; 0 < D; v[U + r] = 255 & f, r += L, f /= 256, D -= 8) ;
4871
- v[U + r - L] |= 128 * B;
4869
+ for (P = Math.abs(P), isNaN(P) || P === 1 / 0 ? (z = isNaN(P) ? 1 : 0, f = A) : (f = Math.floor(Math.log(P) / Math.LN2), P * (_ = Math.pow(2, -f)) < 1 && (f--, _ *= 2), 2 <= (P += 1 <= f + b ? V / _ : V * Math.pow(2, 1 - b)) * _ && (f++, _ /= 2), A <= f + b ? (z = 0, f = A) : 1 <= f + b ? (z = (P * _ - 1) * Math.pow(2, C), f += b) : (z = P * Math.pow(2, b - 1) * Math.pow(2, C), f = 0)); 8 <= C; v[R + r] = 255 & z, r += L, z /= 256, C -= 8) ;
4870
+ for (f = f << C | z, D += C; 0 < D; v[R + r] = 255 & f, r += L, f /= 256, D -= 8) ;
4871
+ v[R + r - L] |= 128 * B;
4872
4872
  };
4873
4873
  }).call(this, l("lYpoI2"), typeof self < "u" ? self : typeof window < "u" ? window : {}, l("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/ieee754/index.js", "/node_modules/gulp-browserify/node_modules/ieee754");
4874
4874
  }, { buffer: 3, lYpoI2: 11 }], 11: [function(l, m, u) {
4875
4875
  (function(p, h, d, I, F, W, E, g, w) {
4876
- var v, P, U;
4876
+ var v, P, R;
4877
4877
  function _() {
4878
4878
  }
4879
- (p = m.exports = {}).nextTick = (P = typeof window < "u" && window.setImmediate, U = typeof window < "u" && window.postMessage && window.addEventListener, P ? function(C) {
4879
+ (p = m.exports = {}).nextTick = (P = typeof window < "u" && window.setImmediate, R = typeof window < "u" && window.postMessage && window.addEventListener, P ? function(C) {
4880
4880
  return window.setImmediate(C);
4881
- } : U ? (v = [], window.addEventListener("message", function(C) {
4881
+ } : R ? (v = [], window.addEventListener("message", function(C) {
4882
4882
  var i = C.source;
4883
4883
  i !== window && i !== null || C.data !== "process-tick" || (C.stopPropagation(), 0 < v.length && v.shift()());
4884
4884
  }, !0), function(C) {
@@ -5003,7 +5003,7 @@ const Sc = { class: "step-visualizer-container" }, $c = { class: "dots-wrapper"
5003
5003
  ])
5004
5004
  ]));
5005
5005
  }
5006
- }), Dc = /* @__PURE__ */ De(Ec, [["__scopeId", "data-v-a9412967"]]), Uc = { class: "case_change commonBtn" }, Rc = { class: "dropdown_menu_btn" }, Mc = /* @__PURE__ */ Te({
5006
+ }), Dc = /* @__PURE__ */ De(Ec, [["__scopeId", "data-v-a9412967"]]), Rc = { class: "case_change commonBtn" }, Uc = { class: "dropdown_menu_btn" }, Mc = /* @__PURE__ */ Te({
5007
5007
  __name: "StepButton",
5008
5008
  setup(a) {
5009
5009
  const {
@@ -5041,7 +5041,7 @@ const Sc = { class: "step-visualizer-container" }, $c = { class: "dots-wrapper"
5041
5041
  dropdown: o(() => [
5042
5042
  s(e(Ns), null, {
5043
5043
  default: o(() => [
5044
- t("div", Rc, [
5044
+ t("div", Uc, [
5045
5045
  s(Dc, {
5046
5046
  operationMaxRecord: e(y),
5047
5047
  operationRecordLength: e(l).length,
@@ -5080,7 +5080,7 @@ const Sc = { class: "step-visualizer-container" }, $c = { class: "dots-wrapper"
5080
5080
  })
5081
5081
  ]),
5082
5082
  default: o(() => [
5083
- t("span", Uc, [
5083
+ t("span", Rc, [
5084
5084
  w[2] || (w[2] = t("span", null, "编辑", -1)),
5085
5085
  s(e($e), null, {
5086
5086
  default: o(() => [
@@ -5191,7 +5191,7 @@ const Sc = { class: "step-visualizer-container" }, $c = { class: "dots-wrapper"
5191
5191
  },
5192
5192
  { immediate: !0 }
5193
5193
  );
5194
- const h = () => u.toggleTheme(), { isFullscreen: d, toggleFullscreen: I } = qa(), F = "3.0.0", W = H();
5194
+ const h = () => u.toggleTheme(), { isFullscreen: d, toggleFullscreen: I } = qa(), F = "3.1.1", W = H();
5195
5195
  return _o(W), (E, g) => Pe(($(), q("div", Bc, [
5196
5196
  t("div", jc, [
5197
5197
  t("div", Jc, [
@@ -5260,7 +5260,7 @@ const Sc = { class: "step-visualizer-container" }, $c = { class: "dots-wrapper"
5260
5260
  ref_key: "visualRef",
5261
5261
  ref: W
5262
5262
  }, [
5263
- s(Rd, { ref: "drawingBoardRef" }, null, 512)
5263
+ s(Ud, { ref: "drawingBoardRef" }, null, 512)
5264
5264
  ], 512)
5265
5265
  ]),
5266
5266
  t("div", Zc, [
@@ -5293,7 +5293,15 @@ const Sc = { class: "step-visualizer-container" }, $c = { class: "dots-wrapper"
5293
5293
  hideSceneFill: { type: Boolean }
5294
5294
  },
5295
5295
  setup(a, { expose: y }) {
5296
- const l = Ba("Preview"), m = Et(), u = Ml(), p = zt(), { casesLoading: h, cases: d } = Je(m), { updateCases: I } = m, { currentCase: F } = Je(u), { initContainer: W, resizeContainer: E, destroyContainer: g, operating: w, feedSocketMessage: v, setSocketHandlers: P, resetModels: U } = u, { interactionsDisabled: _ } = Je(p), C = H();
5296
+ const l = Ba("Preview"), m = Et(), u = Ml(), p = zt(), { casesLoading: h, cases: d } = Je(m), { updateCases: I } = m, { currentCase: F } = Je(u), {
5297
+ initContainer: W,
5298
+ resizeContainer: E,
5299
+ destroyContainer: g,
5300
+ operating: w,
5301
+ feedSocketMessage: v,
5302
+ setSocketHandlers: P,
5303
+ resetModels: R
5304
+ } = u, { interactionsDisabled: _ } = Je(p), C = H();
5297
5305
  let i = null;
5298
5306
  const f = () => {
5299
5307
  z.caseId && (hs(z.caseId), re({
@@ -5351,7 +5359,7 @@ const Sc = { class: "step-visualizer-container" }, $c = { class: "dots-wrapper"
5351
5359
  operating: w,
5352
5360
  feedSocketMessage: v,
5353
5361
  setSocketHandlers: P,
5354
- resetModels: U
5362
+ resetModels: R
5355
5363
  }), (r, L) => Pe(($(), q("div", {
5356
5364
  id: "lingshu-smart",
5357
5365
  class: Oe(["lingshu_smart_preview", { "interactions-disabled": e(_) }]),
@@ -5401,7 +5409,7 @@ const Sc = { class: "step-visualizer-container" }, $c = { class: "dots-wrapper"
5401
5409
  [e(io), e(h)]
5402
5410
  ]);
5403
5411
  }
5404
- }), wg = /* @__PURE__ */ De(ip, [["__scopeId", "data-v-f4ab6a3c"]]), Jt = (a) => ja[a] || a, rp = [
5412
+ }), wg = /* @__PURE__ */ De(ip, [["__scopeId", "data-v-b9909a32"]]), Jt = (a) => ja[a] || a, rp = [
5405
5413
  { label: "机床", value: "MachineTool" },
5406
5414
  { label: "接驳站", value: "ShuttleStation" },
5407
5415
  { label: "料道", value: "MaterialTrack" },
@@ -5569,19 +5577,15 @@ const Mt = [
5569
5577
  { key: "passage.out", label: "出口通道", type: "switch", default: !1 }
5570
5578
  ], Ts = {
5571
5579
  key: "position.x",
5572
- label: "位置X[0-1]",
5580
+ label: "位置X",
5573
5581
  type: "number",
5574
5582
  default: 0,
5575
- min: 0,
5576
- max: 1,
5577
5583
  step: 0.01
5578
5584
  }, kl = {
5579
5585
  key: "position.y",
5580
- label: "位置Y[0-1]",
5586
+ label: "位置Y",
5581
5587
  type: "number",
5582
5588
  default: 0,
5583
- min: 0,
5584
- max: 1,
5585
5589
  step: 0.01
5586
5590
  }, xl = { key: "position.j1", label: "旋转J1(°)", type: "number", default: 0, step: 1 }, fp = { key: "position.j2", label: "旋转J2(°)", type: "number", default: 0, step: 1 }, vp = {
5587
5591
  key: "position.fork_xy",
@@ -6792,7 +6796,7 @@ const hp = { class: "script-runner__steps" }, wp = { class: "script-runner__step
6792
6796
  }, Ep = { class: "script-step__meta" }, Dp = {
6793
6797
  key: 0,
6794
6798
  class: "script-step__msgtag"
6795
- }, Up = { class: "script-step__delay" }, Rp = {
6799
+ }, Rp = { class: "script-step__delay" }, Up = {
6796
6800
  key: 0,
6797
6801
  class: "step-ring step-ring--skip",
6798
6802
  title: "持续运行(跳过,循环中仅执行一次)"
@@ -6835,7 +6839,7 @@ const hp = { class: "script-runner__steps" }, wp = { class: "script-runner__step
6835
6839
  return (p, h) => ($(), q("div", hp, [
6836
6840
  h[23] || (h[23] = t("span", { class: "script-runner__steps-label" }, "脚本列表", -1)),
6837
6841
  t("div", wp, [
6838
- s(e(Ut), {
6842
+ s(e(Rt), {
6839
6843
  "model-value": a.allChecked,
6840
6844
  indeterminate: a.isIndeterminate,
6841
6845
  disabled: a.isRunning,
@@ -6930,7 +6934,7 @@ const hp = { class: "script-runner__steps" }, wp = { class: "script-runner__step
6930
6934
  t("div", Sp, [
6931
6935
  s(e(sa), { height: "100%" }, {
6932
6936
  default: o(() => [
6933
- Pe(s(e(Ul), {
6937
+ Pe(s(e(Rl), {
6934
6938
  description: "暂无步骤,点击「添加」创建",
6935
6939
  "image-size": 60
6936
6940
  }, null, 512), [
@@ -6947,7 +6951,7 @@ const hp = { class: "script-runner__steps" }, wp = { class: "script-runner__step
6947
6951
  }]),
6948
6952
  onClick: (F) => m("select", d.uid)
6949
6953
  }, [
6950
- s(e(Ut), {
6954
+ s(e(Rt), {
6951
6955
  modelValue: d.enabled,
6952
6956
  "onUpdate:modelValue": (F) => d.enabled = F,
6953
6957
  size: "small",
@@ -6967,10 +6971,10 @@ const hp = { class: "script-runner__steps" }, wp = { class: "script-runner__step
6967
6971
  ], 2),
6968
6972
  t("div", Ep, [
6969
6973
  d.msgType ? ($(), q("span", Dp, J(d.msgType), 1)) : fe("", !0),
6970
- t("span", Up, J(d.delay) + "ms", 1)
6974
+ t("span", Rp, J(d.delay) + "ms", 1)
6971
6975
  ])
6972
6976
  ], 10, Ip),
6973
- a.isRunning && d.deviceType === e(ot) && d.enabled && !a.breakpointUids[d.uid] ? ($(), q("span", Rp, [...h[15] || (h[15] = [
6977
+ a.isRunning && d.deviceType === e(ot) && d.enabled && !a.breakpointUids[d.uid] ? ($(), q("span", Up, [...h[15] || (h[15] = [
6974
6978
  t("span", { class: "step-ring__icon" }, "⏭", -1)
6975
6979
  ])])) : a.isRunning && I === a.currentStepIndex ? ($(), q("span", {
6976
6980
  class: Oe(["step-ring", { "step-ring--paused": a.isPaused }]),
@@ -7101,7 +7105,7 @@ const hp = { class: "script-runner__steps" }, wp = { class: "script-runner__step
7101
7105
  }, Cf = {
7102
7106
  key: 3,
7103
7107
  class: "script-editor__customdata-code"
7104
- }, Sf = { class: "quick-resource-dialog__body" }, $f = { class: "quick-resource-dialog__form" }, Vf = { class: "quick-resource-dialog__form-title" }, If = { class: "script-editor__group script-editor__group--to" }, Tf = { class: "device-option" }, Ef = { class: "device-option__name" }, Df = { class: "device-option__plate" }, Uf = { class: "device-option__class" }, Rf = { class: "device-option__id" }, Mf = { class: "quick-resource-dialog__form-actions" }, Nf = { class: "quick-resource-dialog__table" }, Of = { class: "quick-resource-dialog__table-title" }, Lf = '输入 JSON 对象,如 {"1":"red"}', Af = /* @__PURE__ */ Te({
7108
+ }, Sf = { class: "quick-resource-dialog__body" }, $f = { class: "quick-resource-dialog__form" }, Vf = { class: "quick-resource-dialog__form-title" }, If = { class: "script-editor__group script-editor__group--to" }, Tf = { class: "device-option" }, Ef = { class: "device-option__name" }, Df = { class: "device-option__plate" }, Rf = { class: "device-option__class" }, Uf = { class: "device-option__id" }, Mf = { class: "quick-resource-dialog__form-actions" }, Nf = { class: "quick-resource-dialog__table" }, Of = { class: "quick-resource-dialog__table-title" }, Lf = '输入 JSON 对象,如 {"1":"red"}', Af = /* @__PURE__ */ Te({
7105
7109
  __name: "ConfigPanel",
7106
7110
  props: {
7107
7111
  selectedStep: {},
@@ -7118,7 +7122,7 @@ const hp = { class: "script-runner__steps" }, wp = { class: "script-runner__step
7118
7122
  const l = a, m = y, u = se(() => {
7119
7123
  const Q = l.selectedStep;
7120
7124
  if (!Q || !h()) return "";
7121
- const K = Q.params?.target, S = K?.className || "<目标设备类型>", T = K?.value || "<设备业务ID>", R = Number(Q.params?.amplitude) || 0.5, n = `${Number((-R * 90).toFixed(1))} ~ ${Number((R * 90).toFixed(1))}`, k = (Z, ne, ye, Ee) => `${Z}${ne}: ${ye}, // ${Ee}`, M = [];
7125
+ const K = Q.params?.target, S = K?.className || "<目标设备类型>", T = K?.value || "<设备业务ID>", U = Number(Q.params?.amplitude) || 0.5, n = `${Number((-U * 90).toFixed(1))} ~ ${Number((U * 90).toFixed(1))}`, k = (Z, ne, ye, Ee) => `${Z}${ne}: ${ye}, // ${Ee}`, M = [];
7122
7126
  Q.params?.driveX !== !1 && M.push(k(" ", "x", "0 ~ 1", "X 位置:以 0.5 为中心正弦往返")), Q.params?.driveY && M.push(k(" ", "y", "0 ~ 1", "Y 位置:以 0.5 为中心正弦往返")), Q.params?.driveZ && M.push(k(" ", "fork_z", "0 ~ 1", "货叉升降:以 0.5 为中心正弦往返")), Q.params?.driveJ1 && M.push(k(" ", "j1", n, "旋转 J1:在幅度内变化(°)")), Q.params?.driveJ2 && M.push(k(" ", "j2", n, "旋转 J2:在幅度内变化(°)"));
7123
7127
  const X = [];
7124
7128
  return X.push(k(" ", "device_type", `'${S}'`, "目标设备类型(snake_case)")), X.push(k(" ", "device_id", `'${T}'`, "目标设备业务 ID")), M.length && X.push(" position: {", ...M, " },"), Q.params?.drivePercent && X.push(k(" ", "progress", `{
@@ -7148,13 +7152,13 @@ ${X.join(`
7148
7152
  const S = Q === "add" ? ["to_type", "to_id", "to_device_station", "to_device_layer"] : ["from_type", "from_id", "from_device_station", "from_device_layer"];
7149
7153
  for (const T of S)
7150
7154
  K.configuredKeys.includes(T) || K.configuredKeys.push(T);
7151
- }, v = (Q) => Q === "to_id" || Q === "from_id", P = (Q) => /Id$/i.test(Q) && Q !== "resource_id", U = (Q) => Q.startsWith("to_"), _ = (Q) => Q.startsWith("from_"), C = (Q) => Q === "resources" || Q === "resource_ids" || Q === "resources_custom" || Q === "resource_ids_custom", i = se(() => d.value !== "resource" ? [{ key: "all", title: "", fields: l.selectedFieldConfigs }] : [
7155
+ }, v = (Q) => Q === "to_id" || Q === "from_id", P = (Q) => /Id$/i.test(Q) && Q !== "resource_id", R = (Q) => Q.startsWith("to_"), _ = (Q) => Q.startsWith("from_"), C = (Q) => Q === "resources" || Q === "resource_ids" || Q === "resources_custom" || Q === "resource_ids_custom", i = se(() => d.value !== "resource" ? [{ key: "all", title: "", fields: l.selectedFieldConfigs }] : [
7152
7156
  {
7153
7157
  key: "base",
7154
7158
  title: "",
7155
- fields: l.selectedFieldConfigs.filter((Q) => !U(Q.key) && !_(Q.key) && !C(Q.key))
7159
+ fields: l.selectedFieldConfigs.filter((Q) => !R(Q.key) && !_(Q.key) && !C(Q.key))
7156
7160
  },
7157
- { key: "to", title: "目标位置", fields: l.selectedFieldConfigs.filter((Q) => U(Q.key)) },
7161
+ { key: "to", title: "目标位置", fields: l.selectedFieldConfigs.filter((Q) => R(Q.key)) },
7158
7162
  { key: "from", title: "来源位置", fields: l.selectedFieldConfigs.filter((Q) => _(Q.key)) },
7159
7163
  { key: "batch", title: "", fields: l.selectedFieldConfigs.filter((Q) => C(Q.key)) }
7160
7164
  ].filter((Q) => Q.key === "all" || Q.fields.length > 0)), f = (Q) => Q.label, z = (Q) => {
@@ -7193,7 +7197,7 @@ ${X.join(`
7193
7197
  to_device_layer: 0
7194
7198
  }), L = zl({ value: !1 }), B = H([]), ie = H(-1), pe = H(!1), ve = (Q) => el.find((K) => K.value === Q)?.label || Q, ae = (Q, K) => {
7195
7199
  if (!Q) return "";
7196
- const S = l.resourceDeviceOptions, R = S.find((k) => Jt(k.className) === Q)?.className || Q, n = S.find((k) => k.className === R && (!K || k.value === K));
7200
+ const S = l.resourceDeviceOptions, U = S.find((k) => Jt(k.className) === Q)?.className || Q, n = S.find((k) => k.className === U && (!K || k.value === K));
7197
7201
  return n ? `${n.label}(${n.value})` : Q;
7198
7202
  }, xe = () => {
7199
7203
  const Q = l.selectedStep;
@@ -7202,8 +7206,8 @@ ${X.join(`
7202
7206
  try {
7203
7207
  const T = Q.params.resources;
7204
7208
  if (typeof T == "string" && T.trim()) {
7205
- const R = JSON.parse(T);
7206
- Array.isArray(R) && (K = R);
7209
+ const U = JSON.parse(T);
7210
+ Array.isArray(U) && (K = U);
7207
7211
  } else Array.isArray(T) && (K = T.slice());
7208
7212
  } catch {
7209
7213
  K = [];
@@ -7214,7 +7218,7 @@ ${X.join(`
7214
7218
  r.toDeviceOption = S;
7215
7219
  else {
7216
7220
  const T = String(Q.params.to_id ?? "");
7217
- r.toDeviceOption = T && l.resourceDeviceOptions.find((R) => R.value === T) || null;
7221
+ r.toDeviceOption = T && l.resourceDeviceOptions.find((U) => U.value === T) || null;
7218
7222
  }
7219
7223
  L.value = !0;
7220
7224
  }, Me = () => {
@@ -7258,7 +7262,7 @@ ${X.join(`
7258
7262
  if (r.to_device_layer && (S.device_layer = r.to_device_layer), K.to = S, ie.value >= 0)
7259
7263
  B.value[ie.value] = K, re.success("已修改");
7260
7264
  else {
7261
- const T = B.value.findIndex((R) => R.resource_id === K.resource_id);
7265
+ const T = B.value.findIndex((U) => U.resource_id === K.resource_id);
7262
7266
  T !== -1 ? (re.warning(`资源ID「${K.resource_id}」已存在,已切换为修改第 ${T + 1} 行`), B.value[T] = K, ie.value = T) : (B.value.push(K), re.success("已添加"));
7263
7267
  }
7264
7268
  pe.value = !0, ie.value = -1, r.resource_id = "", r.resource_name = "";
@@ -7469,13 +7473,13 @@ ${X.join(`
7469
7473
  ]),
7470
7474
  default: o(() => [
7471
7475
  t("div", of, [
7472
- !h() && T.key !== "lightFormat" && (!z(T) || C(T.key)) ? ($(), de(e(Ut), {
7476
+ !h() && T.key !== "lightFormat" && (!z(T) || C(T.key)) ? ($(), de(e(Rt), {
7473
7477
  key: 0,
7474
7478
  class: "script-editor__field-pass",
7475
7479
  "model-value": E(T.key),
7476
7480
  size: "small",
7477
7481
  title: `${f(T)}:勾选后该字段随消息传递`,
7478
- onChange: (R) => g(T.key, !!R)
7482
+ onChange: (U) => g(T.key, !!U)
7479
7483
  }, null, 8, ["model-value", "title", "onChange"])) : fe("", !0),
7480
7484
  t("div", af, [
7481
7485
  T.type === "device" ? ($(), de(e(Se), {
@@ -7486,7 +7490,7 @@ ${X.join(`
7486
7490
  placeholder: "选择驱动设备",
7487
7491
  style: { width: "100%" },
7488
7492
  "value-key": "value",
7489
- "onUpdate:modelValue": (R) => a.selectedStep.params[T.key] = R
7493
+ "onUpdate:modelValue": (U) => a.selectedStep.params[T.key] = U
7490
7494
  }, {
7491
7495
  header: o(() => [...K[27] || (K[27] = [
7492
7496
  t("div", { class: "select-header" }, [
@@ -7497,17 +7501,17 @@ ${X.join(`
7497
7501
  ], -1)
7498
7502
  ])]),
7499
7503
  default: o(() => [
7500
- ($(!0), q(ge, null, ke(a.resourceDeviceOptions, (R) => ($(), de(e(ce), {
7501
- key: R.value,
7502
- label: R.label,
7503
- value: R
7504
+ ($(!0), q(ge, null, ke(a.resourceDeviceOptions, (U) => ($(), de(e(ce), {
7505
+ key: U.value,
7506
+ label: U.label,
7507
+ value: U
7504
7508
  }, {
7505
7509
  default: o(() => [
7506
7510
  t("div", nf, [
7507
- t("span", rf, J(R.label), 1),
7508
- t("span", uf, J(R.nameplate), 1),
7509
- t("span", df, J(R.className), 1),
7510
- t("span", cf, J(R.value), 1)
7511
+ t("span", rf, J(U.label), 1),
7512
+ t("span", uf, J(U.nameplate), 1),
7513
+ t("span", df, J(U.className), 1),
7514
+ t("span", cf, J(U.value), 1)
7511
7515
  ])
7512
7516
  ]),
7513
7517
  _: 2
@@ -7522,8 +7526,8 @@ ${X.join(`
7522
7526
  placeholder: "选择目标设备",
7523
7527
  style: { width: "100%" },
7524
7528
  "value-key": "value",
7525
- "onUpdate:modelValue": K[8] || (K[8] = (R) => m("update:addDeviceValue", R)),
7526
- onChange: K[9] || (K[9] = (R) => w("add"))
7529
+ "onUpdate:modelValue": K[8] || (K[8] = (U) => m("update:addDeviceValue", U)),
7530
+ onChange: K[9] || (K[9] = (U) => w("add"))
7527
7531
  }, {
7528
7532
  header: o(() => [...K[28] || (K[28] = [
7529
7533
  t("div", { class: "select-header" }, [
@@ -7534,17 +7538,17 @@ ${X.join(`
7534
7538
  ], -1)
7535
7539
  ])]),
7536
7540
  default: o(() => [
7537
- ($(!0), q(ge, null, ke(a.resourceDeviceOptions, (R) => ($(), de(e(ce), {
7538
- key: R.value,
7539
- label: R.label,
7540
- value: R
7541
+ ($(!0), q(ge, null, ke(a.resourceDeviceOptions, (U) => ($(), de(e(ce), {
7542
+ key: U.value,
7543
+ label: U.label,
7544
+ value: U
7541
7545
  }, {
7542
7546
  default: o(() => [
7543
7547
  t("div", pf, [
7544
- t("span", ff, J(R.label), 1),
7545
- t("span", vf, J(R.nameplate), 1),
7546
- t("span", mf, J(R.className), 1),
7547
- t("span", gf, J(R.value), 1)
7548
+ t("span", ff, J(U.label), 1),
7549
+ t("span", vf, J(U.nameplate), 1),
7550
+ t("span", mf, J(U.className), 1),
7551
+ t("span", gf, J(U.value), 1)
7548
7552
  ])
7549
7553
  ]),
7550
7554
  _: 2
@@ -7559,8 +7563,8 @@ ${X.join(`
7559
7563
  placeholder: "选择来源设备",
7560
7564
  style: { width: "100%" },
7561
7565
  "value-key": "value",
7562
- "onUpdate:modelValue": K[10] || (K[10] = (R) => m("update:removeDeviceValue", R)),
7563
- onChange: K[11] || (K[11] = (R) => w("remove"))
7566
+ "onUpdate:modelValue": K[10] || (K[10] = (U) => m("update:removeDeviceValue", U)),
7567
+ onChange: K[11] || (K[11] = (U) => w("remove"))
7564
7568
  }, {
7565
7569
  header: o(() => [...K[29] || (K[29] = [
7566
7570
  t("div", { class: "select-header" }, [
@@ -7571,17 +7575,17 @@ ${X.join(`
7571
7575
  ], -1)
7572
7576
  ])]),
7573
7577
  default: o(() => [
7574
- ($(!0), q(ge, null, ke(a.resourceDeviceOptions, (R) => ($(), de(e(ce), {
7575
- key: R.value,
7576
- label: R.label,
7577
- value: R
7578
+ ($(!0), q(ge, null, ke(a.resourceDeviceOptions, (U) => ($(), de(e(ce), {
7579
+ key: U.value,
7580
+ label: U.label,
7581
+ value: U
7578
7582
  }, {
7579
7583
  default: o(() => [
7580
7584
  t("div", _f, [
7581
- t("span", yf, J(R.label), 1),
7582
- t("span", bf, J(R.nameplate), 1),
7583
- t("span", hf, J(R.className), 1),
7584
- t("span", wf, J(R.value), 1)
7585
+ t("span", yf, J(U.label), 1),
7586
+ t("span", bf, J(U.nameplate), 1),
7587
+ t("span", hf, J(U.className), 1),
7588
+ t("span", wf, J(U.value), 1)
7585
7589
  ])
7586
7590
  ]),
7587
7591
  _: 2
@@ -7591,59 +7595,59 @@ ${X.join(`
7591
7595
  }, 8, ["model-value"])) : v(T.key) ? ($(), de(e(_e), {
7592
7596
  key: 3,
7593
7597
  modelValue: a.selectedStep.params[T.key],
7594
- "onUpdate:modelValue": (R) => a.selectedStep.params[T.key] = R,
7598
+ "onUpdate:modelValue": (U) => a.selectedStep.params[T.key] = U,
7595
7599
  disabled: "",
7596
- onChange: (R) => D(T.key)
7600
+ onChange: (U) => D(T.key)
7597
7601
  }, null, 8, ["modelValue", "onUpdate:modelValue", "onChange"])) : T.type === "switch" ? ($(), de(e(qe), {
7598
7602
  key: 4,
7599
7603
  modelValue: a.selectedStep.params[T.key],
7600
- "onUpdate:modelValue": (R) => a.selectedStep.params[T.key] = R,
7601
- onChange: (R) => D(T.key)
7602
- }, null, 8, ["modelValue", "onUpdate:modelValue", "onChange"])) : T.type === "color" ? ($(), de(e(Rs), {
7604
+ "onUpdate:modelValue": (U) => a.selectedStep.params[T.key] = U,
7605
+ onChange: (U) => D(T.key)
7606
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "onChange"])) : T.type === "color" ? ($(), de(e(Us), {
7603
7607
  key: 5,
7604
7608
  modelValue: a.selectedStep.params[T.key],
7605
- "onUpdate:modelValue": (R) => a.selectedStep.params[T.key] = R,
7609
+ "onUpdate:modelValue": (U) => a.selectedStep.params[T.key] = U,
7606
7610
  size: "small",
7607
7611
  style: { width: "100%" },
7608
- onChange: (R) => D(T.key)
7612
+ onChange: (U) => D(T.key)
7609
7613
  }, null, 8, ["modelValue", "onUpdate:modelValue", "onChange"])) : T.type === "number" ? ($(), de(e(We), {
7610
7614
  key: 6,
7611
7615
  modelValue: a.selectedStep.params[T.key],
7612
- "onUpdate:modelValue": (R) => a.selectedStep.params[T.key] = R,
7616
+ "onUpdate:modelValue": (U) => a.selectedStep.params[T.key] = U,
7613
7617
  step: T.step || 1,
7614
7618
  min: T.min,
7615
7619
  max: T.max,
7616
7620
  style: { width: "100%" },
7617
- onChange: (R) => D(T.key)
7621
+ onChange: (U) => D(T.key)
7618
7622
  }, null, 8, ["modelValue", "onUpdate:modelValue", "step", "min", "max", "onChange"])) : T.type === "select" ? ($(), de(e(Se), {
7619
7623
  key: 7,
7620
7624
  modelValue: a.selectedStep.params[T.key],
7621
- "onUpdate:modelValue": (R) => a.selectedStep.params[T.key] = R,
7625
+ "onUpdate:modelValue": (U) => a.selectedStep.params[T.key] = U,
7622
7626
  style: { width: "100%" },
7623
- onChange: (R) => A(T.key)
7627
+ onChange: (U) => A(T.key)
7624
7628
  }, {
7625
7629
  default: o(() => [
7626
- ($(!0), q(ge, null, ke(T.options, (R) => ($(), de(e(ce), {
7627
- key: R.value,
7628
- label: R.label,
7629
- value: R.value
7630
+ ($(!0), q(ge, null, ke(T.options, (U) => ($(), de(e(ce), {
7631
+ key: U.value,
7632
+ label: U.label,
7633
+ value: U.value
7630
7634
  }, null, 8, ["label", "value"]))), 128))
7631
7635
  ]),
7632
7636
  _: 2
7633
7637
  }, 1032, ["modelValue", "onUpdate:modelValue", "onChange"])) : T.type === "json" ? ($(), de(e(_e), {
7634
7638
  key: 8,
7635
7639
  modelValue: a.selectedStep.params[T.key],
7636
- "onUpdate:modelValue": (R) => a.selectedStep.params[T.key] = R,
7640
+ "onUpdate:modelValue": (U) => a.selectedStep.params[T.key] = U,
7637
7641
  type: "textarea",
7638
7642
  rows: 3,
7639
7643
  placeholder: C(T.key) ? "" : T.placeholder || Lf,
7640
- onChange: (R) => D(T.key)
7644
+ onChange: (U) => D(T.key)
7641
7645
  }, null, 8, ["modelValue", "onUpdate:modelValue", "placeholder", "onChange"])) : ($(), de(e(_e), {
7642
7646
  key: 9,
7643
7647
  modelValue: a.selectedStep.params[T.key],
7644
- "onUpdate:modelValue": (R) => a.selectedStep.params[T.key] = R,
7648
+ "onUpdate:modelValue": (U) => a.selectedStep.params[T.key] = U,
7645
7649
  disabled: P(T.key),
7646
- onChange: (R) => D(T.key)
7650
+ onChange: (U) => D(T.key)
7647
7651
  }, null, 8, ["modelValue", "onUpdate:modelValue", "disabled", "onChange"]))
7648
7652
  ])
7649
7653
  ]),
@@ -7704,7 +7708,7 @@ ${X.join(`
7704
7708
  ]),
7705
7709
  _: 1
7706
7710
  })
7707
- ])) : ($(), de(e(Ul), {
7711
+ ])) : ($(), de(e(Rl), {
7708
7712
  key: 0,
7709
7713
  description: "选择左侧步骤进行编辑",
7710
7714
  "image-size": 60
@@ -7842,8 +7846,8 @@ ${X.join(`
7842
7846
  t("div", Tf, [
7843
7847
  t("span", Ef, J(S.label), 1),
7844
7848
  t("span", Df, J(S.nameplate), 1),
7845
- t("span", Uf, J(S.className), 1),
7846
- t("span", Rf, J(S.value), 1)
7849
+ t("span", Rf, J(S.className), 1),
7850
+ t("span", Uf, J(S.value), 1)
7847
7851
  ])
7848
7852
  ]),
7849
7853
  _: 2
@@ -8114,24 +8118,24 @@ ${X.join(`
8114
8118
  }), v = se({
8115
8119
  get: () => l.sampleLog,
8116
8120
  set: (_) => m("update:sampleLog", !!_)
8117
- }), P = se(() => l.running ? !0 : l.mode === "move" ? !l.deviceValue : !l.carrierValue || !l.storeValue), U = H(!0);
8121
+ }), P = se(() => l.running ? !0 : l.mode === "move" ? !l.deviceValue : !l.carrierValue || !l.storeValue), R = H(!0);
8118
8122
  return (_, C) => ($(), q("div", {
8119
- class: Oe(["stress-test", { "stress-test--collapsed": U.value }])
8123
+ class: Oe(["stress-test", { "stress-test--collapsed": R.value }])
8120
8124
  }, [
8121
8125
  t("div", {
8122
8126
  class: "stress-test__header",
8123
- onClick: C[0] || (C[0] = (i) => U.value = !U.value)
8127
+ onClick: C[0] || (C[0] = (i) => R.value = !R.value)
8124
8128
  }, [
8125
8129
  s(e($e), { class: "stress-test__collapse-icon" }, {
8126
8130
  default: o(() => [
8127
- U.value ? ($(), de(e(ba), { key: 0 })) : ($(), de(e(ol), { key: 1 }))
8131
+ R.value ? ($(), de(e(ba), { key: 0 })) : ($(), de(e(ol), { key: 1 }))
8128
8132
  ]),
8129
8133
  _: 1
8130
8134
  }),
8131
8135
  C[14] || (C[14] = t("span", { class: "stress-test__title" }, "高频压力测试", -1)),
8132
8136
  a.running ? ($(), q("span", Pf, "运行中")) : fe("", !0),
8133
8137
  Pe(t("span", { class: "stress-test__hint" }, J(a.mode === "move" ? "按设定频率持续发送设备 x 移动消息(正弦往返),验证托盘跟随等高频场景性能" : "按步进间隔循环搬运托盘/刀具,在搬运设备与库设备之间搬入搬出,验证资源流转性能"), 513), [
8134
- [Ke, !U.value]
8138
+ [Ke, !R.value]
8135
8139
  ])
8136
8140
  ]),
8137
8141
  Pe(t("div", Ff, [
@@ -8406,7 +8410,7 @@ ${X.join(`
8406
8410
  }, 8, ["disabled"])
8407
8411
  ])
8408
8412
  ], 512), [
8409
- [Ke, !U.value]
8413
+ [Ke, !R.value]
8410
8414
  ]),
8411
8415
  Pe(t("div", mv, [
8412
8416
  t("span", null, "已发送 " + J(a.sentCount) + " 条", 1),
@@ -8419,7 +8423,7 @@ ${X.join(`
8419
8423
  t("span", null, " 资源 " + J(a.resourceType === "tool" ? "刀具" : a.resourceType === "auxiliary" ? "辅料" : "工件") + " × " + J(a.resourceCount), 1)
8420
8424
  ], 64))
8421
8425
  ], 512), [
8422
- [Ke, !U.value && (a.running || a.sentCount > 0)]
8426
+ [Ke, !R.value && (a.running || a.sentCount > 0)]
8423
8427
  ])
8424
8428
  ], 2));
8425
8429
  }
@@ -8429,7 +8433,7 @@ ${X.join(`
8429
8433
  }, hv = { class: "log-panel__header" }, wv = { class: "log-panel__tools" }, kv = { class: "log-panel__count-wrap" }, xv = { class: "log-panel__count" }, Cv = { class: "log-panel__sort-row" }, Sv = { class: "log-panel__cell" }, $v = ["title"], Vv = {
8430
8434
  key: 0,
8431
8435
  class: "log-panel__detail-mask"
8432
- }, Iv = { class: "log-panel__detail" }, Tv = { class: "log-panel__detail-header" }, Ev = { class: "detail-header__index" }, Dv = { class: "log-panel__detail-actions" }, Uv = { class: "log-panel__detail-pre" }, Rv = /* @__PURE__ */ Te({
8436
+ }, Iv = { class: "log-panel__detail" }, Tv = { class: "log-panel__detail-header" }, Ev = { class: "detail-header__index" }, Dv = { class: "log-panel__detail-actions" }, Rv = { class: "log-panel__detail-pre" }, Uv = /* @__PURE__ */ Te({
8433
8437
  __name: "DataLogPanel",
8434
8438
  props: {
8435
8439
  logs: {},
@@ -8472,7 +8476,7 @@ ${X.join(`
8472
8476
  E.value = !0;
8473
8477
  }, P = () => {
8474
8478
  E.value = !1;
8475
- }, U = async () => {
8479
+ }, R = async () => {
8476
8480
  try {
8477
8481
  await navigator.clipboard.writeText(w.value), re.success("详情已复制");
8478
8482
  } catch {
@@ -8629,7 +8633,7 @@ ${X.join(`
8629
8633
  s(e(le), {
8630
8634
  type: "primary",
8631
8635
  size: "small",
8632
- onClick: U
8636
+ onClick: R
8633
8637
  }, {
8634
8638
  default: o(() => [...i[8] || (i[8] = [
8635
8639
  j("复制", -1)
@@ -8647,13 +8651,13 @@ ${X.join(`
8647
8651
  })
8648
8652
  ])
8649
8653
  ]),
8650
- t("pre", Uv, J(w.value), 1)
8654
+ t("pre", Rv, J(w.value), 1)
8651
8655
  ])
8652
8656
  ])) : fe("", !0)
8653
8657
  ], 2)
8654
8658
  ]));
8655
8659
  }
8656
- }), Dl = /* @__PURE__ */ De(Rv, [["__scopeId", "data-v-fd179144"]]), $o = "public/lingshu-smart/mockSocket.json", oo = "/lingshu-smart/__burn-mock-socket", Vo = "@jnrs/lingshu-smart/mock-socket-baseline";
8660
+ }), Dl = /* @__PURE__ */ De(Uv, [["__scopeId", "data-v-fd179144"]]), $o = "public/lingshu-smart/mockSocket.json", oo = "/lingshu-smart/__burn-mock-socket", Vo = "@jnrs/lingshu-smart/mock-socket-baseline";
8657
8661
  function Mv(a) {
8658
8662
  const y = (a || $o).replace(/^\/+|\/+$/g, ""), l = y.startsWith("public/") ? y.slice(7) : y;
8659
8663
  return `/${l.endsWith(".json") ? l : `${l}.json`}?t=${Date.now()}`;
@@ -8827,7 +8831,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
8827
8831
  set: (x) => {
8828
8832
  d.setScriptSteps(F.value, x);
8829
8833
  }
8830
- }), w = H(!1), v = H(""), P = H(!1), U = se({
8834
+ }), w = H(!1), v = H(""), P = H(!1), R = se({
8831
8835
  get: () => d.getScriptCase(F.value)?.looping ?? !1,
8832
8836
  set: (x) => {
8833
8837
  d.setScriptLooping(F.value, x);
@@ -8857,8 +8861,8 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
8857
8861
  return [];
8858
8862
  const x = Co(me.value);
8859
8863
  if (x === "resource") {
8860
- const O = String(me.value.params?.operation ?? "add"), te = Xl[O] || Xl.add, Re = es.Resource || [];
8861
- return te.map((ze) => Re.find((je) => je.key === ze)).filter((ze) => !!ze);
8864
+ const O = String(me.value.params?.operation ?? "add"), te = Xl[O] || Xl.add, Ue = es.Resource || [];
8865
+ return te.map((ze) => Ue.find((je) => je.key === ze)).filter((ze) => !!ze);
8862
8866
  }
8863
8867
  return x === "custom" || x === "none" ? [] : es[me.value.deviceType] || [];
8864
8868
  }), nt = se(() => g.value.filter((x) => x.enabled).length), Q = se({
@@ -8890,7 +8894,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
8890
8894
  }
8891
8895
  ye(x.className), me.value.deviceId = x.value;
8892
8896
  }
8893
- }, R = (x) => {
8897
+ }, U = (x) => {
8894
8898
  me.value && (me.value.customData = x);
8895
8899
  }, n = (x = "single") => {
8896
8900
  const O = {
@@ -8900,7 +8904,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
8900
8904
  delay: 500,
8901
8905
  enabled: !0,
8902
8906
  // 持续运行脚本:按字段配置预置默认值(驱动设备默认空,由用户在「驱动设备」下拉显式选择)
8903
- params: x === "continuous" ? (es[ot] || []).reduce((te, Re) => (te[Re.key] = Ys(Re.default), te), {}) : {},
8907
+ params: x === "continuous" ? (es[ot] || []).reduce((te, Ue) => (te[Ue.key] = Ys(Ue.default), te), {}) : {},
8904
8908
  configuredKeys: [],
8905
8909
  msgType: x === "continuous" ? Ls(ot) : ""
8906
8910
  };
@@ -8916,8 +8920,8 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
8916
8920
  uid: Ot(),
8917
8921
  params: Ys(O.params ?? {}),
8918
8922
  configuredKeys: O.configuredKeys ? Ys(O.configuredKeys) : void 0
8919
- }, Re = g.value.findIndex((ze) => ze.uid === x);
8920
- g.value.splice(Re + 1, 0, te), v.value = te.uid;
8923
+ }, Ue = g.value.findIndex((ze) => ze.uid === x);
8924
+ g.value.splice(Ue + 1, 0, te), v.value = te.uid;
8921
8925
  }, X = (x) => {
8922
8926
  const O = g.value.findIndex((te) => te.uid === x);
8923
8927
  O <= 0 || ([g.value[O - 1], g.value[O]] = [g.value[O], g.value[O - 1]]);
@@ -8928,10 +8932,10 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
8928
8932
  v.value = x, Ie.value = "";
8929
8933
  }, ye = (x) => {
8930
8934
  if (!me.value) return;
8931
- const O = me.value.params, te = es[x] || [], Re = {};
8935
+ const O = me.value.params, te = es[x] || [], Ue = {};
8932
8936
  te.forEach((ze) => {
8933
- Re[ze.key] = O[ze.key] ?? Ys(ze.default);
8934
- }), me.value.params = Re, me.value.deviceType = x, me.value.msgType = Ls(x), me.value.configuredKeys = [];
8937
+ Ue[ze.key] = O[ze.key] ?? Ys(ze.default);
8938
+ }), me.value.params = Ue, me.value.deviceType = x, me.value.msgType = Ls(x), me.value.configuredKeys = [];
8935
8939
  }, Ee = (x, O) => {
8936
8940
  const te = Me.value.filter((ze) => ze.className === x && !O.has(ze.businessId));
8937
8941
  return te.length > 0 ? (O.add(te[0].businessId), te[0].businessId) : Me.value.find((ze) => ze.className === x)?.businessId || "";
@@ -8942,7 +8946,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
8942
8946
  type: "warning"
8943
8947
  }).then(() => {
8944
8948
  Xe();
8945
- const O = /* @__PURE__ */ new Set(), te = Me.value[0], Re = te ? Jt(te.className) : "", ze = te?.businessId || "";
8949
+ const O = /* @__PURE__ */ new Set(), te = Me.value[0], Ue = te ? Jt(te.className) : "", ze = te?.businessId || "";
8946
8950
  g.value = x.steps.map((je) => {
8947
8951
  const et = {
8948
8952
  ...je,
@@ -8951,7 +8955,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
8951
8955
  configuredKeys: [...je.configuredKeys ?? Object.keys(je.params)],
8952
8956
  uid: Ot()
8953
8957
  };
8954
- return je.deviceType !== "Resource" ? et.deviceId = Ee(je.deviceType, O) : (et.params.to_type = "", et.params.to_id = "", et.params.from_type = "", et.params.from_id = ""), je.deviceType === It && je.customData && (et.customData = je.customData.replace(/__FIRST_DEVICE_TYPE__/g, Re).replace(/__FIRST_DEVICE_ID__/g, ze)), et;
8958
+ return je.deviceType !== "Resource" ? et.deviceId = Ee(je.deviceType, O) : (et.params.to_type = "", et.params.to_id = "", et.params.from_type = "", et.params.from_id = ""), je.deviceType === It && je.customData && (et.customData = je.customData.replace(/__FIRST_DEVICE_TYPE__/g, Ue).replace(/__FIRST_DEVICE_ID__/g, ze)), et;
8955
8959
  }), v.value = g.value[0]?.uid || "", Ie.value = "";
8956
8960
  }).catch(() => {
8957
8961
  });
@@ -8970,15 +8974,15 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
8970
8974
  const te = Hs(O);
8971
8975
  te.length && (x[O.uid] = te);
8972
8976
  }), x;
8973
- }), Ie = H(""), Ue = (x) => (es.Resource || []).find((O) => O.key === x)?.label || x, lt = (x) => {
8977
+ }), Ie = H(""), Re = (x) => (es.Resource || []).find((O) => O.key === x)?.label || x, lt = (x) => {
8974
8978
  const O = Hs(x);
8975
- return O.length === 0 ? !1 : (Ie.value = `步骤「${lo(x)}」缺少必填字段:${O.map(Ue).join("、")}`, !0);
8979
+ return O.length === 0 ? !1 : (Ie.value = `步骤「${lo(x)}」缺少必填字段:${O.map(Re).join("、")}`, !0);
8976
8980
  }, wt = se(() => {
8977
8981
  if (P.value && Ie.value) return Ie.value;
8978
8982
  const x = me.value;
8979
8983
  if (!x) return "";
8980
8984
  const O = Hs(x);
8981
- return O.length === 0 ? "" : `步骤「${lo(x)}」缺少必填字段:${O.map(Ue).join("、")}`;
8985
+ return O.length === 0 ? "" : `步骤「${lo(x)}」缺少必填字段:${O.map(Re).join("、")}`;
8982
8986
  }), ss = () => {
8983
8987
  g.value.length === 0 || P.value || (Ie.value = "", Ll(), ct(), V = [], i.value = !1, f.value = "", P.value = !0, _.value = -1, Yt());
8984
8988
  }, ls = (x) => {
@@ -8992,7 +8996,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
8992
8996
  let x = 0;
8993
8997
  for (; x++ <= g.value.length; ) {
8994
8998
  if (_.value++, _.value >= g.value.length)
8995
- if (U.value && nt.value > 0)
8999
+ if (R.value && nt.value > 0)
8996
9000
  _.value = 0;
8997
9001
  else {
8998
9002
  if (A.value)
@@ -9050,7 +9054,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9050
9054
  for (; x < g.value.length && (!g.value[x].enabled || g.value[x].deviceType === ot); )
9051
9055
  x++;
9052
9056
  if (x >= g.value.length)
9053
- if (U.value && nt.value > 0) {
9057
+ if (R.value && nt.value > 0) {
9054
9058
  for (x = 0; x < g.value.length && (!g.value[x].enabled || g.value[x].deviceType === ot); )
9055
9059
  x++;
9056
9060
  if (x >= g.value.length) {
@@ -9070,7 +9074,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9070
9074
  }, kt = (x, O) => {
9071
9075
  const te = x.params.target;
9072
9076
  if (!te?.className || !te?.value) return;
9073
- const Re = (performance.now() - O) / 1e3, ze = Number(x.params.period) || 6, je = Math.min(1, Math.max(0.01, Number(x.params.amplitude) || 0.5)), et = (Wo) => Math.sin(2 * Math.PI * Re / ze + Wo), yt = {};
9077
+ const Ue = (performance.now() - O) / 1e3, ze = Number(x.params.period) || 6, je = Math.min(1, Math.max(0.01, Number(x.params.amplitude) || 0.5)), et = (Wo) => Math.sin(2 * Math.PI * Ue / ze + Wo), yt = {};
9074
9078
  x.params.driveX !== !1 && (yt.x = Number((0.5 + je * 0.5 * et(0)).toFixed(4))), x.params.driveY && (yt.y = Number((0.5 + je * 0.5 * et(1.5)).toFixed(4))), x.params.driveZ && (yt.fork_z = Number((0.5 + je * 0.5 * et(3)).toFixed(4))), x.params.driveJ1 && (yt.j1 = Number((je * 90 * et(0.8)).toFixed(1))), x.params.driveJ2 && (yt.j2 = Number((je * 90 * et(2.3)).toFixed(1)));
9075
9079
  const Gt = {
9076
9080
  device_type: Jt(te.className),
@@ -9088,8 +9092,8 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9088
9092
  u("message", js), B.value && Pt({ ...js, __continuous: !0 });
9089
9093
  }, xt = (x) => {
9090
9094
  if (b.has(x.uid)) return;
9091
- const O = Math.min(120, Math.max(1, Number(x.params.freq) || 30)), te = performance.now(), Re = setInterval(() => kt(x, te), Math.max(1, Math.floor(1e3 / O)));
9092
- b.set(x.uid, { step: x, startTime: te, timer: Re }), A.value = !0;
9095
+ const O = Math.min(120, Math.max(1, Number(x.params.freq) || 30)), te = performance.now(), Ue = setInterval(() => kt(x, te), Math.max(1, Math.floor(1e3 / O)));
9096
+ b.set(x.uid, { step: x, startTime: te, timer: Ue }), A.value = !0;
9093
9097
  }, ct = () => {
9094
9098
  for (const [, x] of b)
9095
9099
  clearInterval(x.timer);
@@ -9140,8 +9144,8 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9140
9144
  }, Y = H(!1), c = H(!1), N = H(/* @__PURE__ */ new Set()), oe = H(""), Ne = H(""), St = (x, O) => {
9141
9145
  Xe(), d.setScriptSteps(x, O);
9142
9146
  }, cs = (x, O, te) => {
9143
- const Re = Wv(x);
9144
- return Re ? Gs({ steps: O, looping: te }) !== Re : !0;
9147
+ const Ue = Wv(x);
9148
+ return Ue ? Gs({ steps: O, looping: te }) !== Ue : !0;
9145
9149
  }, G = async () => {
9146
9150
  const x = F.value;
9147
9151
  if (!N.value.has(x)) {
@@ -9159,13 +9163,13 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9159
9163
  }
9160
9164
  const te = O.configs.find((yt) => yt.caseId === x);
9161
9165
  if (!te) return;
9162
- const Re = Gs(te), ze = d.getScriptCase(x), je = ze?.steps ?? [], et = ze?.looping ?? !1;
9166
+ const Ue = Gs(te), ze = d.getScriptCase(x), je = ze?.steps ?? [], et = ze?.looping ?? !1;
9163
9167
  if (je.length === 0) {
9164
- St(x, te.steps), d.setScriptLooping(x, te.looping), Es(x, Re), O.repaired > 0 && re.warning(`已修复 ${O.repaired} 条脚本的重复/缺失 uid`);
9168
+ St(x, te.steps), d.setScriptLooping(x, te.looping), Es(x, Ue), O.repaired > 0 && re.warning(`已修复 ${O.repaired} 条脚本的重复/缺失 uid`);
9165
9169
  return;
9166
9170
  }
9167
9171
  if (!cs(x, je, et)) {
9168
- St(x, te.steps), d.setScriptLooping(x, te.looping), Es(x, Re);
9172
+ St(x, te.steps), d.setScriptLooping(x, te.looping), Es(x, Ue);
9169
9173
  return;
9170
9174
  }
9171
9175
  try {
@@ -9177,7 +9181,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9177
9181
  confirmButtonText: "用文件覆盖(丢弃本地改动)",
9178
9182
  cancelButtonText: "保留本地脚本"
9179
9183
  }
9180
- ), St(x, te.steps), d.setScriptLooping(x, te.looping), Es(x, Re), re.success("已用 mockSocket.json 覆盖本地脚本");
9184
+ ), St(x, te.steps), d.setScriptLooping(x, te.looping), Es(x, Ue), re.success("已用 mockSocket.json 覆盖本地脚本");
9181
9185
  } catch {
9182
9186
  }
9183
9187
  } finally {
@@ -9193,7 +9197,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9193
9197
  const x = W.value || F.value || "未绑定方案";
9194
9198
  try {
9195
9199
  await at.confirm(
9196
- `将把**全部方案**的脚本写入 public/lingshu-smart/mockSocket.json(当前方案「${x}」共 ${g.value.length} 条),烧录后请手动提交到代码仓库。是否继续?`,
9200
+ `将把「全部方案」的脚本写入 public/lingshu-smart/mockSocket.json(当前方案「${x}」共 ${g.value.length} 条),烧录后请手动提交到代码仓库。是否继续?`,
9197
9201
  "确认烧录脚本",
9198
9202
  { type: "warning", confirmButtonText: "烧录", cancelButtonText: "取消" }
9199
9203
  );
@@ -9232,7 +9236,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9232
9236
  re.error(`导入失败:${te.reason}`);
9233
9237
  return;
9234
9238
  }
9235
- Xe(), d.setScriptsConfig(te.configs), te.configs.forEach((Re) => Es(Re.caseId, Gs(Re))), oe.value = "", Ne.value = "", re.success(
9239
+ Xe(), d.setScriptsConfig(te.configs), te.configs.forEach((Ue) => Es(Ue.caseId, Gs(Ue))), oe.value = "", Ne.value = "", re.success(
9236
9240
  te.repaired > 0 ? `已导入 ${te.configs.length} 个方案的脚本(修复 ${te.repaired} 条重复/缺失 uid)` : `已导入 ${te.configs.length} 个方案的脚本`
9237
9241
  );
9238
9242
  }, x.click();
@@ -9244,7 +9248,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9244
9248
  Ge(F, () => {
9245
9249
  E(), G();
9246
9250
  });
9247
- const vt = H(!1), Rt = H("move"), As = H(null), zs = H(30), al = H(0.5), nl = H(6), il = H(!1), ps = H(0), rl = H(0), ul = H(0);
9251
+ const vt = H(!1), Ut = H("move"), As = H(null), zs = H(30), al = H(0.5), nl = H(6), il = H(!1), ps = H(0), rl = H(0), ul = H(0);
9248
9252
  let pt = null, Ps = 0, dl = 0, cl = 0;
9249
9253
  const Vs = H(null), Is = H(null), fs = H("workpiece"), pl = H(2), Fs = H(800);
9250
9254
  let Bs = [], fl = 0;
@@ -9253,9 +9257,9 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9253
9257
  dt.DOUBLE_JOINT_ROBOT,
9254
9258
  dt.RESOURCE_STORE,
9255
9259
  dt.RGV
9256
- ], Do = [dt.SINGLE_JOINT_ROBOT, dt.DOUBLE_JOINT_ROBOT, dt.RGV], Uo = [dt.RESOURCE_STORE, dt.PALLET], vl = (x) => Me.value.filter((O) => x.includes(O.className)).map(
9260
+ ], Do = [dt.SINGLE_JOINT_ROBOT, dt.DOUBLE_JOINT_ROBOT, dt.RGV], Ro = [dt.RESOURCE_STORE, dt.PALLET], vl = (x) => Me.value.filter((O) => x.includes(O.className)).map(
9257
9261
  (O) => p({ label: O.equipmentName, value: O.businessId, className: O.className, nameplate: O.nameplate })
9258
- ), Ro = se(() => vl(Eo)), Mo = se(() => vl(Do)), No = se(() => vl(Uo)), Oo = (x) => {
9262
+ ), Uo = se(() => vl(Eo)), Mo = se(() => vl(Do)), No = se(() => vl(Ro)), Oo = (x) => {
9259
9263
  As.value = x || null;
9260
9264
  }, Lo = (x) => {
9261
9265
  Vs.value = x || null;
@@ -9273,7 +9277,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9273
9277
  position: { x: Number(O.toFixed(4)) }
9274
9278
  }
9275
9279
  }), Po = (x, O) => {
9276
- const te = Vs.value, Re = Is.value, ze = x.at === "carrier", je = ze ? Re : te, et = ze ? te : Re, yt = (Gt, js) => ({
9280
+ const te = Vs.value, Ue = Is.value, ze = x.at === "carrier", je = ze ? Ue : te, et = ze ? te : Ue, yt = (Gt, js) => ({
9277
9281
  device_type: Jt(Gt.className),
9278
9282
  device_id: Gt.value,
9279
9283
  // 工位号按目标/来源设备各自的实际工位槽数取模(1-based),
@@ -9297,36 +9301,36 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9297
9301
  };
9298
9302
  }, Fo = (x, O) => x % Math.max(1, O) + 1, Bo = (x) => {
9299
9303
  if (!x) return 1;
9300
- const O = fs.value === "tool", Re = m.layers.find((je) => je.rawData?.id === x.value);
9301
- return (O ? Re?.stationSlotGroupTool || Re?.stationSlotGroup : Re?.stationSlotGroupPallet || Re?.stationSlotGroup)?.stationSlots?.length || 1;
9304
+ const O = fs.value === "tool", Ue = m.layers.find((je) => je.rawData?.id === x.value);
9305
+ return (O ? Ue?.stationSlotGroupTool || Ue?.stationSlotGroup : Ue?.stationSlotGroupPallet || Ue?.stationSlotGroup)?.stationSlots?.length || 1;
9302
9306
  }, Ol = (x, O, te) => {
9303
9307
  x - dl < 1e3 || (ul.value = O, rl.value = ps.value - cl, cl = ps.value, dl = x, il.value && Pt(te));
9304
9308
  }, jo = () => {
9305
9309
  const x = As.value;
9306
9310
  if (!x) return;
9307
- const O = performance.now(), te = (O - Ps) / 1e3, Re = Math.min(
9311
+ const O = performance.now(), te = (O - Ps) / 1e3, Ue = Math.min(
9308
9312
  1,
9309
9313
  Math.max(0, 0.5 + al.value * 0.5 * Math.sin(2 * Math.PI * te / nl.value))
9310
- ), ze = zo(x, Re);
9314
+ ), ze = zo(x, Ue);
9311
9315
  u("message", ze), ps.value++, Ol(O, te, ze);
9312
9316
  }, Jo = () => {
9313
9317
  const x = Vs.value, O = Is.value;
9314
9318
  if (!x || !O || Bs.length === 0) return;
9315
- const te = performance.now(), Re = (te - Ps) / 1e3, ze = fl % Bs.length, je = Bs[ze];
9319
+ const te = performance.now(), Ue = (te - Ps) / 1e3, ze = fl % Bs.length, je = Bs[ze];
9316
9320
  fl++;
9317
9321
  const et = Po(je, ze);
9318
- je.at = je.at === "carrier" ? "store" : "carrier", u("message", et), ps.value++, Ol(te, Re, et);
9322
+ je.at = je.at === "carrier" ? "store" : "carrier", u("message", et), ps.value++, Ol(te, Ue, et);
9319
9323
  }, ml = () => {
9320
9324
  if (pt && (clearInterval(pt), pt = null), !!vt.value)
9321
- if (Rt.value === "resource")
9325
+ if (Ut.value === "resource")
9322
9326
  pt = setInterval(Jo, Fs.value);
9323
9327
  else {
9324
9328
  const x = Math.max(1, Math.floor(1e3 / zs.value));
9325
9329
  pt = setInterval(jo, x);
9326
9330
  }
9327
9331
  }, qo = () => {
9328
- if (!vt.value && !(Rt.value === "move" && !As.value) && !(Rt.value === "resource" && (!Vs.value || !Is.value))) {
9329
- if (Xe(), vt.value = !0, ps.value = 0, rl.value = 0, ul.value = 0, Ps = performance.now(), dl = Ps, cl = 0, Rt.value === "resource") {
9332
+ if (!vt.value && !(Ut.value === "move" && !As.value) && !(Ut.value === "resource" && (!Vs.value || !Is.value))) {
9333
+ if (Xe(), vt.value = !0, ps.value = 0, rl.value = 0, ul.value = 0, Ps = performance.now(), dl = Ps, cl = 0, Ut.value === "resource") {
9330
9334
  const x = fs.value === "tool" ? "T" : fs.value === "auxiliary" ? "A" : "W";
9331
9335
  Bs = Array.from({ length: pl.value }, (O, te) => ({
9332
9336
  name: `${x}${te + 1}`,
@@ -9342,7 +9346,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9342
9346
  return Ge(zs, () => {
9343
9347
  vt.value && ml();
9344
9348
  }), Ge(Fs, () => {
9345
- vt.value && Rt.value === "resource" && ml();
9349
+ vt.value && Ut.value === "resource" && ml();
9346
9350
  }), Ge(
9347
9351
  g,
9348
9352
  (x) => {
@@ -9497,7 +9501,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9497
9501
  "script-steps": g.value,
9498
9502
  "selected-step-uid": v.value,
9499
9503
  "is-running": P.value,
9500
- "is-looping": U.value,
9504
+ "is-looping": R.value,
9501
9505
  "current-step-index": _.value,
9502
9506
  "breakpoint-uids": C.value,
9503
9507
  "is-paused": i.value,
@@ -9509,7 +9513,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9509
9513
  "script-templates": e(so),
9510
9514
  "device-options": Ce.value,
9511
9515
  "onUpdate:allChecked": O[2] || (O[2] = (te) => Q.value = te),
9512
- "onUpdate:isLooping": O[3] || (O[3] = (te) => U.value = te),
9516
+ "onUpdate:isLooping": O[3] || (O[3] = (te) => R.value = te),
9513
9517
  onSelect: ne,
9514
9518
  onToggleBreakpoint: os,
9515
9519
  onAdd: n,
@@ -9533,7 +9537,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9533
9537
  "onUpdate:selectedDeviceValue": T,
9534
9538
  "onUpdate:addDeviceValue": us,
9535
9539
  "onUpdate:removeDeviceValue": Cs,
9536
- "onUpdate:customData": R,
9540
+ "onUpdate:customData": U,
9537
9541
  onMoveUp: X,
9538
9542
  onMoveDown: Z,
9539
9543
  onCopy: M,
@@ -9554,7 +9558,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9554
9558
  onToggleSnapshot: O[6] || (O[6] = (te) => pe.value = !pe.value)
9555
9559
  }, {
9556
9560
  "filter-extra": o(() => [
9557
- s(e(Ut), {
9561
+ s(e(Rt), {
9558
9562
  modelValue: B.value,
9559
9563
  "onUpdate:modelValue": O[4] || (O[4] = (te) => B.value = te),
9560
9564
  size: "small",
@@ -9574,8 +9578,8 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9574
9578
  ]) : fe("", !0)
9575
9579
  ]),
9576
9580
  s(_v, {
9577
- mode: Rt.value,
9578
- "device-options": Ro.value,
9581
+ mode: Ut.value,
9582
+ "device-options": Uo.value,
9579
9583
  "device-value": As.value,
9580
9584
  frequency: zs.value,
9581
9585
  amplitude: al.value,
@@ -9592,7 +9596,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9592
9596
  "actual-hz": rl.value,
9593
9597
  elapsed: ul.value,
9594
9598
  "sample-log": il.value,
9595
- "onUpdate:mode": O[7] || (O[7] = (te) => Rt.value = te),
9599
+ "onUpdate:mode": O[7] || (O[7] = (te) => Ut.value = te),
9596
9600
  "onUpdate:deviceValue": Oo,
9597
9601
  "onUpdate:frequency": O[8] || (O[8] = (te) => zs.value = Number(te)),
9598
9602
  "onUpdate:amplitude": O[9] || (O[9] = (te) => al.value = Number(te)),
@@ -9625,7 +9629,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9625
9629
  _: 1
9626
9630
  }, 8, ["modelValue", "width"]));
9627
9631
  }
9628
- }), kg = /* @__PURE__ */ De(am, [["__scopeId", "data-v-483a1310"]]), nm = { class: "wsproxy-conn" }, im = {
9632
+ }), kg = /* @__PURE__ */ De(am, [["__scopeId", "data-v-d37821d1"]]), nm = { class: "wsproxy-conn" }, im = {
9629
9633
  key: 0,
9630
9634
  class: "wsproxy-conn__token-hint"
9631
9635
  }, rm = { class: "wsproxy-conn__status" }, um = { class: "wsproxy-conn__state" }, dm = {
@@ -9699,7 +9703,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9699
9703
  }, 8, ["label"]),
9700
9704
  s(e(he), null, {
9701
9705
  default: o(() => [
9702
- s(e(Ut), {
9706
+ s(e(Rt), {
9703
9707
  "model-value": a.carryToken,
9704
9708
  "onUpdate:modelValue": E[2] || (E[2] = (g) => m("update:carryToken", !!g))
9705
9709
  }, {
@@ -9837,10 +9841,10 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9837
9841
  }, Im = { class: "mapping-grid__col mapping-grid__col--target mapping-grid__target-wrap" }, Tm = ["title"], Em = { class: "mapping-grid__col mapping-grid__col--action" }, Dm = {
9838
9842
  key: 0,
9839
9843
  class: "mapping-grid__row-warns"
9840
- }, Um = {
9844
+ }, Rm = {
9841
9845
  key: 0,
9842
9846
  class: "mapping-grid__footer"
9843
- }, Rm = { key: 1 }, Mm = /* @__PURE__ */ Te({
9847
+ }, Um = { key: 1 }, Mm = /* @__PURE__ */ Te({
9844
9848
  name: "WsProxyMappingGrid",
9845
9849
  __name: "MappingGrid",
9846
9850
  props: {
@@ -9894,10 +9898,10 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9894
9898
  light: "object<ILightOperating>",
9895
9899
  progress: "object<IProgressOperating>",
9896
9900
  resource: "object<IResourceOperating>"
9897
- }, U = (i) => i ? i.startsWith("resource.") ? "object<IResourceOperating>" : P[i] || "" : "", _ = new Set(Object.keys(P)), C = (i) => {
9901
+ }, R = (i) => i ? i.startsWith("resource.") ? "object<IResourceOperating>" : P[i] || "" : "", _ = new Set(Object.keys(P)), C = (i) => {
9898
9902
  const f = [], z = i.target || "", D = i.transform || "", A = _.has(z), b = D === "dictColor" || D === "dictLabel", V = D === "dictColor" ? "字典 Color" : D === "dictLabel" ? "字典 Label" : "";
9899
9903
  return b && A && f.push(
9900
- `「${V}」按单个值处理,但画布字段「${z}」为对象/map 类型(${U(z)}),运行时可能出错;建议改用「对象值映射」`
9904
+ `「${V}」按单个值处理,但画布字段「${z}」为对象/map 类型(${R(z)}),运行时可能出错;建议改用「对象值映射」`
9901
9905
  ), D === "objDict" && !A && z && f.push(
9902
9906
  `「对象值映射」输出对象,但画布字段「${z}」为标量类型,运行时类型不符;建议改用「字典 Color/Label」或「不处理」`
9903
9907
  ), f;
@@ -9963,11 +9967,11 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
9963
9967
  value: "operation"
9964
9968
  }),
9965
9969
  s(e(ce), {
9966
- label: "像素转换(百分比)",
9970
+ label: "百分比→画布像素",
9967
9971
  value: "percentToPixel"
9968
9972
  }),
9969
9973
  s(e(ce), {
9970
- label: "像素转换(运行时)",
9974
+ label: "运行时→画布像素",
9971
9975
  value: "runtimeToPixel"
9972
9976
  }),
9973
9977
  s(e(ce), {
@@ -10120,11 +10124,11 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
10120
10124
  style: { width: "100%" },
10121
10125
  "onUpdate:modelValue": (A) => u(z, String(A))
10122
10126
  }, null, 8, ["model-value", "disabled", "onUpdate:modelValue"]),
10123
- U(z.target) ? ($(), q("span", {
10127
+ R(z.target) ? ($(), q("span", {
10124
10128
  key: 0,
10125
10129
  class: "mapping-grid__target-type",
10126
- title: U(z.target)
10127
- }, J(U(z.target)), 9, Tm)) : fe("", !0)
10130
+ title: R(z.target)
10131
+ }, J(R(z.target)), 9, Tm)) : fe("", !0)
10128
10132
  ]),
10129
10133
  t("div", Em, [
10130
10134
  s(e(le), {
@@ -10155,8 +10159,8 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
10155
10159
  }, 1024))), 128))
10156
10160
  ])) : fe("", !0)
10157
10161
  ]))), 128)),
10158
- l.showFooter ? ($(), q("div", Um, [
10159
- l.showToggle ? ($(), de(e(Ut), {
10162
+ l.showFooter ? ($(), q("div", Rm, [
10163
+ l.showToggle ? ($(), de(e(Rt), {
10160
10164
  key: 0,
10161
10165
  "model-value": l.targetFieldEditable,
10162
10166
  size: "small",
@@ -10166,7 +10170,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
10166
10170
  j(" 画布字段修改 ", -1)
10167
10171
  ])]),
10168
10172
  _: 1
10169
- }, 8, ["model-value"])) : ($(), q("span", Rm)),
10173
+ }, 8, ["model-value"])) : ($(), q("span", Um)),
10170
10174
  s(e(le), {
10171
10175
  size: "small",
10172
10176
  type: "primary",
@@ -10181,7 +10185,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
10181
10185
  ])) : fe("", !0)
10182
10186
  ]));
10183
10187
  }
10184
- }), Xt = /* @__PURE__ */ De(Mm, [["__scopeId", "data-v-5847495b"]]), Nm = { class: "wsproxy-cfg" }, Om = { class: "wsproxy-cfg__source" }, Lm = {
10188
+ }), Xt = /* @__PURE__ */ De(Mm, [["__scopeId", "data-v-74c93ad3"]]), Nm = { class: "wsproxy-cfg" }, Om = { class: "wsproxy-cfg__source" }, Lm = {
10185
10189
  key: 0,
10186
10190
  class: "wsproxy-cfg__source-reason"
10187
10191
  }, Am = { class: "wsproxy-cfg__msg" }, zm = { class: "wsproxy-cfg__msg-tools" }, Pm = { class: "wsproxy-cfg__msg-row" }, Fm = { class: "wsproxy-cfg__body" }, Bm = { class: "wsproxy-cfg__types" }, jm = { class: "wsproxy-cfg__types-title" }, Jm = { class: "wsproxy-cfg__types-arrow" }, qm = { class: "wsproxy-cfg__types-list" }, Wm = ["onClick"], Km = { class: "wsproxy-cfg__type-name" }, Ym = { class: "wsproxy-cfg__type-name-main" }, Gm = { class: "wsproxy-cfg__type-name-sub" }, Hm = { class: "wsproxy-cfg__types-title" }, Xm = { class: "wsproxy-cfg__types-arrow" }, Qm = { class: "wsproxy-cfg__types-list" }, Zm = ["onClick"], e1 = { class: "wsproxy-cfg__type-name" }, t1 = { class: "wsproxy-cfg__type-name-main" }, s1 = { class: "wsproxy-cfg__type-name-sub" }, l1 = { class: "wsproxy-cfg__editor" }, o1 = {
@@ -10199,10 +10203,10 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
10199
10203
  }, g1 = { class: "wsproxy-cfg__resource-toggle" }, _1 = { class: "wsproxy-cfg__resource-group" }, y1 = { class: "wsproxy-cfg__resource-group-head" }, b1 = { class: "wsproxy-cfg__resource-group" }, h1 = { class: "wsproxy-cfg__resource-group-head" }, w1 = { class: "wsproxy-cfg__resource-group" }, k1 = { class: "wsproxy-cfg__resource-group-head" }, x1 = { class: "wsproxy-cfg__resource-group" }, C1 = { class: "wsproxy-cfg__resource-group-head" }, S1 = { class: "wsproxy-cfg__resource-group" }, $1 = { class: "wsproxy-cfg__resource-group-head" }, V1 = { class: "wsproxy-cfg__resource-group" }, I1 = { class: "wsproxy-cfg__resource-group-head" }, T1 = {
10200
10204
  key: 2,
10201
10205
  class: "wsproxy-cfg__resource"
10202
- }, E1 = { class: "wsproxy-cfg__resource-group" }, D1 = { class: "wsproxy-cfg__resource-group-head" }, U1 = {
10206
+ }, E1 = { class: "wsproxy-cfg__resource-group" }, D1 = { class: "wsproxy-cfg__resource-group-head" }, R1 = {
10203
10207
  key: 3,
10204
10208
  class: "wsproxy-cfg__resource"
10205
- }, R1 = { class: "wsproxy-cfg__resource-toggle" }, M1 = { class: "wsproxy-cfg__resource-group" }, N1 = { class: "wsproxy-cfg__resource-group-head" }, O1 = {
10209
+ }, U1 = { class: "wsproxy-cfg__resource-toggle" }, M1 = { class: "wsproxy-cfg__resource-group" }, N1 = { class: "wsproxy-cfg__resource-group-head" }, O1 = {
10206
10210
  key: 3,
10207
10211
  class: "wsproxy-cfg__editor-footer"
10208
10212
  }, L1 = { class: "wsproxy-cfg__cond-dialog" }, A1 = { class: "wsproxy-cfg__op-option" }, z1 = { class: "wsproxy-cfg__op-option-label" }, P1 = { class: "wsproxy-cfg__op-option-desc" }, F1 = {
@@ -10238,7 +10242,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
10238
10242
  default:
10239
10243
  return "info";
10240
10244
  }
10241
- }), U = se(() => {
10245
+ }), R = se(() => {
10242
10246
  switch (w.value) {
10243
10247
  case "ok":
10244
10248
  return "识别成功";
@@ -10368,7 +10372,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
10368
10372
  p("update:config", { ...u.config, sourceTypeField: Y || "data.type" });
10369
10373
  }, K = () => {
10370
10374
  p("update:config", { ...u.config });
10371
- }, S = H(!1), T = H(null), R = [
10375
+ }, S = H(!1), T = H(null), U = [
10372
10376
  { value: "eq", label: "等于(eq)", desc: "字符串或数值相等即成立" },
10373
10377
  { value: "ne", label: "不等于(ne)", desc: "字符串与数值均不相等" },
10374
10378
  { value: "gt", label: "大于(gt)", desc: "数值比较,源值 > 比较值" },
@@ -10424,13 +10428,13 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
10424
10428
  { value: "not", label: "布尔取反", desc: "取反,如 true → false" },
10425
10429
  { value: "toBoolean", label: "转布尔值", desc: "标准化为布尔(false/0/空 → false)" },
10426
10430
  { value: "concat", label: "拼接运算", desc: "字符串拼接或数字四则运算" }
10427
- ], Ie = H(!1), Ue = H(null), lt = (Y) => {
10428
- Ue.value = Y, Y.operateFn || (Y.operateFn = "negate"), Y.operateFn === "concat" && !Y.expression && (Y.expression = ""), Ie.value = !0;
10431
+ ], Ie = H(!1), Re = H(null), lt = (Y) => {
10432
+ Re.value = Y, Y.operateFn || (Y.operateFn = "negate"), Y.operateFn === "concat" && !Y.expression && (Y.expression = ""), Ie.value = !0;
10429
10433
  }, wt = (Y) => {
10430
- const c = Ue.value;
10434
+ const c = Re.value;
10431
10435
  c && (c.operateFn = Y, Y === "concat" ? c.expression || (c.expression = "") : c.expression = void 0);
10432
10436
  }, ss = (Y) => {
10433
- const c = Ue.value;
10437
+ const c = Re.value;
10434
10438
  c && (c.expression = Y);
10435
10439
  }, ls = () => {
10436
10440
  Ye.value.push({ source: "", target: "" });
@@ -10453,7 +10457,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
10453
10457
  Y.valueMap = c, p("update:config", { ...u.config });
10454
10458
  }, is = () => {
10455
10459
  const Y = i.value;
10456
- Y && (Y.resourceMappings || (Y.resourceMappings = {}), Array.isArray(Y.resourceMappings.add) || (Y.resourceMappings.add = Ia.map((c) => ({ ...c }))), Array.isArray(Y.resourceMappings.batch_add) || (Y.resourceMappings.batch_add = Ta.map((c) => ({ ...c }))), Array.isArray(Y.resourceMappings.transfer) || (Y.resourceMappings.transfer = Ea.map((c) => ({ ...c }))), Array.isArray(Y.resourceMappings.remove) || (Y.resourceMappings.remove = Da.map((c) => ({ ...c }))), Array.isArray(Y.resourceMappings.batch_remove) || (Y.resourceMappings.batch_remove = Ua.map((c) => ({ ...c }))));
10460
+ Y && (Y.resourceMappings || (Y.resourceMappings = {}), Array.isArray(Y.resourceMappings.add) || (Y.resourceMappings.add = Ia.map((c) => ({ ...c }))), Array.isArray(Y.resourceMappings.batch_add) || (Y.resourceMappings.batch_add = Ta.map((c) => ({ ...c }))), Array.isArray(Y.resourceMappings.transfer) || (Y.resourceMappings.transfer = Ea.map((c) => ({ ...c }))), Array.isArray(Y.resourceMappings.remove) || (Y.resourceMappings.remove = Da.map((c) => ({ ...c }))), Array.isArray(Y.resourceMappings.batch_remove) || (Y.resourceMappings.batch_remove = Ra.map((c) => ({ ...c }))));
10457
10461
  };
10458
10462
  Ge(
10459
10463
  () => i.value?.operate,
@@ -10494,7 +10498,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
10494
10498
  }, Cs = async () => {
10495
10499
  try {
10496
10500
  const { value: Y } = await at.prompt("", "导出此方案配置", us("single")), c = { ...u.config, version: String(Y) };
10497
- p("update:config", c), ds(Ra(c), `${Bl()}.json`), re.success("配置已导出");
10501
+ p("update:config", c), ds(Ua(c), `${Bl()}.json`), re.success("配置已导出");
10498
10502
  } catch {
10499
10503
  }
10500
10504
  }, Pt = async () => {
@@ -10547,7 +10551,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
10547
10551
  }, {
10548
10552
  default: o(() => [
10549
10553
  j(" 本地配置文件:" + J(g.value) + " ", 1),
10550
- w.value !== "ok" ? ($(), q("span", Lm, J(w.value === "loading" ? `(${U.value})` : v.value ? `(${U.value}:${v.value})` : `(${U.value})`), 1)) : fe("", !0),
10554
+ w.value !== "ok" ? ($(), q("span", Lm, J(w.value === "loading" ? `(${R.value})` : v.value ? `(${R.value}:${v.value})` : `(${R.value})`), 1)) : fe("", !0),
10551
10555
  w.value === "ok" ? ($(), de(e(le), {
10552
10556
  key: 1,
10553
10557
  type: "success",
@@ -10783,7 +10787,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
10783
10787
  ]))), 128))
10784
10788
  ]),
10785
10789
  t("div", u1, [
10786
- s(e(Ut), {
10790
+ s(e(Rt), {
10787
10791
  modelValue: D.value,
10788
10792
  "onUpdate:modelValue": c[7] || (c[7] = (N) => D.value = N),
10789
10793
  size: "small"
@@ -10892,7 +10896,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
10892
10896
  ])) : i.value.operate === "resource" ? ($(), q("div", m1, [
10893
10897
  c[78] || (c[78] = t("div", { class: "wsproxy-cfg__resource-hint" }, " 资源操作:配置「源操作字段(operationField)」后按源 operation 分发——add / batch_add / transfer / remove / batch_remove 各走对应映射组;未配置时保持旧语义(每条命中消息同时产出 add + remove 两条协议消息) ", -1)),
10894
10898
  t("div", g1, [
10895
- s(e(Ut), {
10899
+ s(e(Rt), {
10896
10900
  modelValue: I.value,
10897
10901
  "onUpdate:modelValue": c[11] || (c[11] = (N) => I.value = N),
10898
10902
  size: "small"
@@ -11102,10 +11106,10 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
11102
11106
  t("code", { class: "wsproxy-cfg__resetall-preview-code" }, ' { "envelope": { "type": "scene_reset" }, "payload": {} } ')
11103
11107
  ], -1))
11104
11108
  ])
11105
- ])) : i.value.operate === "statusPush" ? ($(), q("div", U1, [
11109
+ ])) : i.value.operate === "statusPush" ? ($(), q("div", R1, [
11106
11110
  c[86] || (c[86] = t("div", { class: "wsproxy-cfg__resource-hint" }, " 全局运行状态推送:对 runtime_status_push 的 payload 做「手动字段映射」(不做字段默认映射,业务按需配置 「特殊处理类型 / 特殊处理配置」,如字典 Color、固定值、运算处理、条件判断等);映射产物「不进入画布」, 由页面全局状态信息 bar 经 WsProxy 的 runtime-status 事件消费 ", -1)),
11107
- t("div", R1, [
11108
- s(e(Ut), {
11111
+ t("div", U1, [
11112
+ s(e(Rt), {
11109
11113
  modelValue: I.value,
11110
11114
  "onUpdate:modelValue": c[29] || (c[29] = (N) => I.value = N),
11111
11115
  size: "small"
@@ -11144,7 +11148,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
11144
11148
  }, null, 8, ["mappers", "target-field-editable", "has-dict-fn"])
11145
11149
  ])
11146
11150
  ])) : fe("", !0)
11147
- ])) : ($(), de(e(Ul), {
11151
+ ])) : ($(), de(e(Rl), {
11148
11152
  key: 1,
11149
11153
  description: "选择左侧消息类型进行代理配置",
11150
11154
  "image-size": 60
@@ -11316,7 +11320,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
11316
11320
  style: { width: "100%" }
11317
11321
  }, {
11318
11322
  default: o(() => [
11319
- ($(), q(ge, null, ke(R, (oe) => s(e(ce), {
11323
+ ($(), q(ge, null, ke(U, (oe) => s(e(ce), {
11320
11324
  key: oe.value,
11321
11325
  value: oe.value,
11322
11326
  label: oe.label
@@ -11678,7 +11682,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
11678
11682
  s(e(he), { label: "运算类型" }, {
11679
11683
  default: o(() => [
11680
11684
  s(e(sl), {
11681
- "model-value": Ue.value?.operateFn || "negate",
11685
+ "model-value": Re.value?.operateFn || "negate",
11682
11686
  "onUpdate:modelValue": c[42] || (c[42] = (N) => wt(N))
11683
11687
  }, {
11684
11688
  default: o(() => [
@@ -11686,7 +11690,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
11686
11690
  ($(), q(ge, null, ke(Be, (N) => t("label", {
11687
11691
  key: N.value,
11688
11692
  class: Oe(["wsproxy-cfg__op-card", {
11689
- "wsproxy-cfg__op-card--active": (Ue.value?.operateFn || "negate") === N.value
11693
+ "wsproxy-cfg__op-card--active": (Re.value?.operateFn || "negate") === N.value
11690
11694
  }])
11691
11695
  }, [
11692
11696
  s(e(la), {
@@ -11706,13 +11710,13 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
11706
11710
  ]),
11707
11711
  _: 1
11708
11712
  }),
11709
- (Ue.value?.operateFn || "negate") === "concat" ? ($(), de(e(he), {
11713
+ (Re.value?.operateFn || "negate") === "concat" ? ($(), de(e(he), {
11710
11714
  key: 0,
11711
11715
  label: "拼接运算表达式"
11712
11716
  }, {
11713
11717
  default: o(() => [
11714
11718
  s(e(_e), {
11715
- "model-value": Ue.value?.expression || "",
11719
+ "model-value": Re.value?.expression || "",
11716
11720
  type: "textarea",
11717
11721
  rows: 3,
11718
11722
  placeholder: "用 {value} 占位引用源值,如 {value}*2+1 或 设备-{value}",
@@ -11756,7 +11760,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
11756
11760
  setup(a, { expose: y, emit: l }) {
11757
11761
  const m = zt(), u = Et(), p = Ml(), h = () => {
11758
11762
  p.resetModels();
11759
- }, d = a, I = l, F = H(!1), W = H(!1), E = H(!1), g = H(!1), w = se(() => u.wsProxyConfig), v = se(() => d.currentCase?.id || d.currentCaseId || ""), P = se(() => d.currentCase?.scene ?? d.scene ?? null), U = se(() => {
11763
+ }, d = a, I = l, F = H(!1), W = H(!1), E = H(!1), g = H(!1), w = se(() => u.wsProxyConfig), v = se(() => d.currentCase?.id || d.currentCaseId || ""), P = se(() => d.currentCase?.scene ?? d.scene ?? null), R = se(() => {
11760
11764
  const G = /* @__PURE__ */ new Set(), ee = (ue) => {
11761
11765
  if (ue)
11762
11766
  for (const we of ue)
@@ -11772,9 +11776,9 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
11772
11776
  const G = Ae(u.wsProxyConfig), ee = G.findIndex((ue) => ue.caseId === _.value.caseId);
11773
11777
  ee >= 0 ? G[ee] = Ae(_.value) : G.push(Ae(_.value)), u.setWsProxyConfig(G);
11774
11778
  }, A = (G) => G && G.length > 8 ? `${G.slice(0, 4)}…${G.slice(-4)}` : G || "";
11775
- Ge([U, () => d.currentCase, () => _.value], () => {
11779
+ Ge([R, () => d.currentCase, () => _.value], () => {
11776
11780
  if (!_.value || !v.value || _.value.caseId !== v.value) return;
11777
- const G = U.value;
11781
+ const G = R.value;
11778
11782
  let ee = !1;
11779
11783
  if (d.currentCase) {
11780
11784
  const ue = _.value.rules.filter(
@@ -11805,7 +11809,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
11805
11809
  );
11806
11810
  const nt = (G) => {
11807
11811
  const ee = La(Ae(G));
11808
- _.value = ee, Be.value = ee.wsUrl || "", Ie.value = ee.requestMode || "direct", Ue.value = ee.autoConnect !== !1, V.value = ee.dataSource || "builtin", xe.value = ee.heartbeatInterval || 0, me.value = ee.carryToken || !1, ie.value && T();
11812
+ _.value = ee, Be.value = ee.wsUrl || "", Ie.value = ee.requestMode || "direct", Re.value = ee.autoConnect !== !1, V.value = ee.dataSource || "builtin", xe.value = ee.heartbeatInterval || 0, me.value = ee.carryToken || !1, ie.value && T();
11809
11813
  }, Q = () => {
11810
11814
  const G = v.value;
11811
11815
  if (!G) return;
@@ -11815,7 +11819,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
11815
11819
  ee && !ue.caseName && (ue.caseName = ee);
11816
11820
  else {
11817
11821
  const we = w.value.find((tt) => tt.caseId === "");
11818
- we ? (ue = { ...Ae(we), caseId: G, caseName: ee || we.caseName || "" }, u.setWsProxyConfig([...Ae(u.wsProxyConfig).filter((tt) => tt.caseId !== ""), Ae(ue)])) : (ue = jl(G, U.value), ee && (ue.caseName = ee), u.setWsProxyConfig([...Ae(u.wsProxyConfig), Ae(ue)]));
11822
+ we ? (ue = { ...Ae(we), caseId: G, caseName: ee || we.caseName || "" }, u.setWsProxyConfig([...Ae(u.wsProxyConfig).filter((tt) => tt.caseId !== ""), Ae(ue)])) : (ue = jl(G, R.value), ee && (ue.caseName = ee), u.setWsProxyConfig([...Ae(u.wsProxyConfig), Ae(ue)]));
11819
11823
  }
11820
11824
  m.setWsProxyActiveCaseId(G), nt(ue), cs();
11821
11825
  }, K = async () => {
@@ -11825,7 +11829,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
11825
11829
  ee.caseId = v.value || ee.caseId || "", d.currentCase?.title && !ee.caseName && (ee.caseName = d.currentCase.title);
11826
11830
  const ue = w.value, we = (G.configs ?? [ee]).map((ft) => {
11827
11831
  if (ft.dataSource === void 0) {
11828
- const vt = ue.find((Rt) => Rt.caseId === ft.caseId)?.dataSource;
11832
+ const vt = ue.find((Ut) => Ut.caseId === ft.caseId)?.dataSource;
11829
11833
  vt && (ft.dataSource = vt);
11830
11834
  }
11831
11835
  return ft;
@@ -11841,7 +11845,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
11841
11845
  G && S();
11842
11846
  });
11843
11847
  const T = () => {
11844
- R();
11848
+ U();
11845
11849
  const G = xe.value;
11846
11850
  G <= 0 || V.value !== "builtin" || (Ce = !1, Me = setInterval(() => {
11847
11851
  const ee = B.value;
@@ -11858,7 +11862,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
11858
11862
  }
11859
11863
  }
11860
11864
  }, G * 1e3));
11861
- }, R = () => {
11865
+ }, U = () => {
11862
11866
  Me && (clearInterval(Me), Me = null), Ce = !1;
11863
11867
  }, n = () => {
11864
11868
  Ce && (Ce = !1);
@@ -11866,7 +11870,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
11866
11870
  Ge(k, (G) => {
11867
11871
  I("status-change", G);
11868
11872
  }), Ge(V, (G) => {
11869
- _.value.dataSource = G, D(), Ct(), G === "external" ? R() : ie.value && T();
11873
+ _.value.dataSource = G, D(), Ct(), G === "external" ? U() : ie.value && T();
11870
11874
  });
11871
11875
  const M = H([]), X = H([]), Z = H(100), ne = H(!1), ye = /* @__PURE__ */ new Map(), Ee = (G) => {
11872
11876
  ne.value || !E.value && !Fe.value || (X.value.unshift(G), X.value.length > Z.value && (X.value.slice(Z.value).forEach((ue) => {
@@ -11882,7 +11886,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
11882
11886
  } catch {
11883
11887
  }
11884
11888
  });
11885
- const Be = H(_.value.wsUrl || ""), Ie = H(_.value.requestMode || "direct"), Ue = H(_.value.autoConnect !== !1), lt = (G) => {
11889
+ const Be = H(_.value.wsUrl || ""), Ie = H(_.value.requestMode || "direct"), Re = H(_.value.autoConnect !== !1), lt = (G) => {
11886
11890
  const ee = (ue) => String(ue).padStart(2, "0");
11887
11891
  return `${G.getFullYear()}-${ee(G.getMonth() + 1)}-${ee(G.getDate())} ${ee(G.getHours())}:${ee(G.getMinutes())}:${ee(G.getSeconds())}.${String(G.getMilliseconds()).padStart(3, "0")}`;
11888
11892
  }, wt = (G) => {
@@ -11917,7 +11921,10 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
11917
11921
  }
11918
11922
  }, os = (G, ee) => {
11919
11923
  if (ee !== V.value) return;
11920
- I("raw", G);
11924
+ I("raw", G), wt({
11925
+ direction: "receive",
11926
+ data: G
11927
+ });
11921
11928
  const ue = _.value.sourceTypeField || "type", { messages: we, runtimeStatus: tt } = Oa(
11922
11929
  G,
11923
11930
  f.value,
@@ -11930,10 +11937,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
11930
11937
  d.dictFn,
11931
11938
  _.value.modelMap
11932
11939
  );
11933
- wt({
11934
- direction: "receive",
11935
- data: G
11936
- }), we.length > 0 && vs.info(
11940
+ we.length > 0 && vs.info(
11937
11941
  "WsProxy: Socket 数据匹配到 %d 条 rules 并转换为标准协议消息, sourceType=%s",
11938
11942
  we.length,
11939
11943
  ue
@@ -11998,12 +12002,12 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
11998
12002
  wt({ direction: "receive", data: we.data });
11999
12003
  }
12000
12004
  }, ue.onclose = () => {
12001
- R(), pe.value = !1, ie.value = !1, B.value = null, ks();
12005
+ U(), pe.value = !1, ie.value = !1, B.value = null, ks();
12002
12006
  }, ue.onerror = () => {
12003
12007
  pe.value = !1, ie.value = !1, ve.value = "连接失败", re.error("WebSocket 连接失败,请检查地址或网络");
12004
12008
  }, B.value = ue;
12005
12009
  }, kt = () => {
12006
- xt = !0, ct = 0, R(), ae && (clearTimeout(ae), ae = null), B.value && (B.value.close(), B.value = null), ie.value = !1, pe.value = !1, ve.value = "已断开";
12010
+ xt = !0, ct = 0, U(), ae && (clearTimeout(ae), ae = null), B.value && (B.value.close(), B.value = null), ie.value = !1, pe.value = !1, ve.value = "已断开";
12007
12011
  };
12008
12012
  let xt = !1, ct = 0;
12009
12013
  const ks = () => {
@@ -12026,7 +12030,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
12026
12030
  }, us = (G) => {
12027
12031
  Ie.value = G, _.value.requestMode = G, D(), Ct();
12028
12032
  }, ds = (G) => {
12029
- Ue.value = G, _.value.autoConnect = G, D(), Ct();
12033
+ Re.value = G, _.value.autoConnect = G, D(), Ct();
12030
12034
  }, Cs = (G) => {
12031
12035
  me.value = G, _.value.carryToken = G, D(), Ct();
12032
12036
  }, Pt = (G) => {
@@ -12041,12 +12045,12 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
12041
12045
  }, $s = (G) => {
12042
12046
  xe.value = G, _.value.heartbeatInterval = G, D(), Ct(), ie.value && T();
12043
12047
  }, Y = (G) => {
12044
- _.value = Ae({ ...G, caseId: _.value.caseId }), D(), Be.value = G.wsUrl || Be.value, Ie.value = G.requestMode || "direct", Ue.value = G.autoConnect !== !1, V.value = G.dataSource || "builtin", xe.value = G.heartbeatInterval || 0, me.value = G.carryToken || !1, ie.value && T(), Ct();
12048
+ _.value = Ae({ ...G, caseId: _.value.caseId }), D(), Be.value = G.wsUrl || Be.value, Ie.value = G.requestMode || "direct", Re.value = G.autoConnect !== !1, V.value = G.dataSource || "builtin", xe.value = G.heartbeatInterval || 0, me.value = G.carryToken || !1, ie.value && T(), Ct();
12045
12049
  }, c = (G) => {
12046
12050
  const ee = G.find((we) => we.caseId === _.value.caseId) || G[0];
12047
12051
  if (!ee) return;
12048
12052
  const ue = { ...Ae(ee), caseId: _.value.caseId };
12049
- _.value = ue, u.setWsProxyConfig(Ae(G)), Be.value = ue.wsUrl || Be.value, Ie.value = ue.requestMode || "direct", Ue.value = ue.autoConnect !== !1, V.value = ue.dataSource || "builtin", xe.value = ue.heartbeatInterval || 0, me.value = ue.carryToken || !1, ie.value && T(), C.value = "localFile", m.setWsProxyManualModified(!1);
12053
+ _.value = ue, u.setWsProxyConfig(Ae(G)), Be.value = ue.wsUrl || Be.value, Ie.value = ue.requestMode || "direct", Re.value = ue.autoConnect !== !1, V.value = ue.dataSource || "builtin", xe.value = ue.heartbeatInterval || 0, me.value = ue.carryToken || !1, ie.value && T(), C.value = "localFile", m.setWsProxyManualModified(!1);
12050
12054
  }, N = () => {
12051
12055
  C.value = "localFile";
12052
12056
  }, oe = (G) => {
@@ -12060,7 +12064,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
12060
12064
  G || (W.value = !1, E.value = !1);
12061
12065
  });
12062
12066
  const cs = () => {
12063
- if (!Ue.value || r.value || !Be.value?.trim()) return;
12067
+ if (!Re.value || r.value || !Be.value?.trim()) return;
12064
12068
  const G = ns(Be.value);
12065
12069
  if (G) {
12066
12070
  console.warn(`%c「WsProxy」跳过自动连接:${G}`, "color: #e6a23c; font-weight: 600;");
@@ -12138,7 +12142,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
12138
12142
  "inactive-text": "运行日志",
12139
12143
  width: 88
12140
12144
  }, null, 8, ["modelValue"]),
12141
- s(e(Ut), {
12145
+ s(e(Rt), {
12142
12146
  modelValue: Fe.value,
12143
12147
  "onUpdate:modelValue": ee[2] || (ee[2] = (ue) => Fe.value = ue),
12144
12148
  class: "wsproxy__always-record"
@@ -12168,7 +12172,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
12168
12172
  s(mm, {
12169
12173
  url: Be.value,
12170
12174
  "request-mode": Ie.value,
12171
- "auto-connect": Ue.value,
12175
+ "auto-connect": Re.value,
12172
12176
  "is-connected": ie.value,
12173
12177
  "is-connecting": pe.value,
12174
12178
  "state-info": ve.value,
@@ -12269,7 +12273,7 @@ const Kv = { class: "script-runner__header" }, Yv = { class: "script-runner__tit
12269
12273
  _: 1
12270
12274
  }, 8, ["modelValue", "width"]));
12271
12275
  }
12272
- }), xg = /* @__PURE__ */ De(cg, [["__scopeId", "data-v-8768c9e6"]]);
12276
+ }), xg = /* @__PURE__ */ De(cg, [["__scopeId", "data-v-f162d89c"]]);
12273
12277
  console.log(
12274
12278
  "%c🌈 欢迎使用 @jnrs/lingshu-smart",
12275
12279
  'background: #f2c34f; color: #424242; font-weight: bold; padding: 4px 8px; border-radius: 4px; font-family: "Helvetica Neue", sans-serif;'