115不大助手 (full)

Make 115 taerg again!

// ==UserScript==
// @name         115不大助手 (full)
// @namespace    com.cloud115.enhancer
// @version      0.8.12
// @author       生瓜太保
// @description  Make 115 taerg again!
// @license      GPLv3
// @icon         https://cdnres.115.com/site/static/style_v11.2/frame/images/logo.svg
// @homepage     https://greasyfork.org/zh-CN/scripts/474231-115不大助手?locale_override=1
// @supportURL   https://greasyfork.org/zh-CN/scripts/474231-115不大助手?locale_override=1
// @match        https://*.115.com/*
// @match        https://115.com/*
// @match        https://v.anxia.com/*
// @match        https://anxia.com/*
// @match        https://115cdn.com/*
// @match        https://115vod.com/*
// @exclude      https://q.115.com/*
// @exclude      https://cdnassets.115.com/*
// @connect      *
// @grant        GM_addStyle
// @grant        GM_deleteValue
// @grant        GM_getValue
// @grant        GM_info
// @grant        GM_openInTab
// @grant        GM_registerMenuCommand
// @grant        GM_setClipboard
// @grant        GM_setValue
// @grant        GM_xmlhttpRequest
// @grant        unsafeWindow
// @run-at       document-body
// ==/UserScript==

(function () {
  'use strict';

  const d$1=new Set;const Pt = async e=>{d$1.has(e)||(d$1.add(e),(t=>{typeof GM_addStyle=="function"?GM_addStyle(t):document.head.appendChild(document.createElement("style")).append(t);})(e));};

  Pt(' @charset "UTF-8";.ce-custom-url-help{position:fixed;top:0;left:0;z-index:10000;width:430px;height:100%;background:#fff;font-size:12px}.ce-custom-url-help .ce-custom-url-help-body{height:80%;overflow-y:auto;padding:20px 20px 300px}.ce-custom-url-help h1 a{float:right;color:#1e87f0;font-size:14px}.ce-custom-url-help h1 a:hover{color:#1e87f0;text-decoration:underline}.ce-custom-url-help table{width:100%;margin-bottom:20px}.ce-custom-url-help .ce-variable{cursor:pointer;color:#1e87f0;font-size:14px}.ce-custom-url-help .ce-variable:hover{color:#093d71}.ce-config.ce-offline-config{max-height:70vh;overflow-y:auto}.ce-config.ce-offline-config .pure-control-group label{width:160px;text-align:left}.ce-config.ce-offline-config .ce-tips{margin-top:20px}.ce-offline-exporter{position:absolute;left:140px;top:62px;background:#f4f2ff;padding:6px 10px;border-radius:4px}.ce-offline-exporter button{margin-right:6px}.offline-exporter-config-form{width:550px;padding:10px}.swal2-input#swalDeleteFile{width:20px;padding:0;height:20px;margin:0;vertical-align:sub;cursor:pointer}body.ce-list-s #js-main{padding-top:40px}body.ce-list-s .ce-offline-exporter{top:92px}.ce-offline-searcher{position:absolute;left:140px;top:58px;background:#f4f2ff;padding:4px 10px;border-radius:4px}.ce-offline-searcher.loading form{opacity:.5;pointer-events:none;cursor:wait}.ce-offline-searcher fieldset{padding:0!important}.ce-offline-searcher .clearable-wrap{position:relative;width:320px}.ce-offline-searcher .clearable-wrap.is-empty .btn-clear{display:none}.ce-offline-searcher .clearable-wrap input{width:300px;padding-right:35px!important}.ce-offline-searcher .clearable-wrap .btn-clear{position:absolute;right:30px;top:4px;display:block}.ce-offline-searcher .form-item{display:inline-block;margin-right:10px;vertical-align:middle}.ce-offline-searcher .form-item input{padding:.3em}.ce-offline-searcher .form-item select{height:2em;padding:.1em .3em}.ce-offline-searcher .form-item label{margin-right:5px}.ce-offline-searcher .help-trigger{font-size:12px}.ce-offline-searcher .list{display:none}.ce-offline-searcher .stop-on-found{width:16px;height:16px;vertical-align:middle;cursor:pointer}.ce-offline-searcher .search-tips{position:fixed;top:146px;bottom:30px;left:0;width:100%;background:#fff;z-index:9999}.ce-offline-searcher .search-tips .tips-body{padding:20px;position:absolute;top:70px;left:50%;transform:translate(-50%,-50%);background:#f4f2ff;width:80%;border-radius:6px}.cloud115-eh-cleaner-trigger .btn-open{padding:0 6px;vertical-align:text-top;line-height:30px;border-radius:4px;background:#4faa4f}.ce-drawer{visibility:hidden}.ce-drawer.is-visible{visibility:visible}.ce-drawer.is-open .ce-drawer__overlay{opacity:.5}.ce-drawer.is-open .ce-drawer__content{transform:translate(0)}.ce-drawer__overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;z-index:200;opacity:0;transition-property:opacity;background-color:#000;user-select:none}.ce-drawer__content{position:fixed;top:0;right:0;bottom:0;height:100%;width:100%;z-index:9999;overflow:auto;transition-property:transform;display:flex;flex-direction:column;transform:translate(100%);box-shadow:0 2px 6px #777}.k-p-e{font-size:12px}.v-popper.v-popper--theme-dropdown{display:inline-block}.group-manager{width:750px;padding-top:8px}.group-manager a{font-size:12px;padding:4px 6px;margin-right:8px}.group-manager .group-label{color:#fff;font-size:12px;margin-right:10px;border-radius:4px;padding:2px 8px;background:#66acf9}.group-manager .label-readonly{color:#f40;padding:0 4px;border-radius:4px;vertical-align:middle;margin-right:6px;border:2px dashed #f40}.append-form{background:#fff;width:350px;padding:10px;border-radius:4px}.append-form input,.append-form textarea{width:100%}.group-form{background:#fff;padding:10px;border-radius:4px}.group-form .pure-control-group{margin-bottom:10px}.group-form input,.group-form textarea{width:80%}.group-form .filter-label{cursor:pointer;padding:0 4px;text-decoration:underline}.group-form input#groupLabel,.group-form input#groupUrl{display:inline-block}.group-form #groupValues{resize:vertical}.group-form .values{display:flex}.group-form .values textarea{width:98%;font-size:12px;line-height:22px}.group-form .values .v-input{flex:6}.group-form .values .v-help{flex:4}.groups-list{background:#fff;width:565px;padding:10px;border-radius:4px;box-shadow:0 0 4px #d8d8d8}.groups-list table th,.groups-list table td{padding:4px 6px}.groups-list ul li{border-bottom:1px solid #eee;padding:4px}.groups-list ul li:nth-last-child(1){border-bottom:none}.groups-list span{display:inline-block}.groups-list .p-index{width:30px}.groups-list .p-label{width:120px}.groups-list .p-actions button{margin-right:8px}.group-confirm-delete{padding:20px}.cloud115-eh-cleaner-help{font-size:12px;position:absolute;top:0;right:0;width:360px;padding:10px 10px 150px 8px;background:#fdffdf;overflow-y:auto}.cloud115-eh-cleaner-help ul{list-style:decimal}.pagination-container{margin:8px 0}.pagination-container li{margin-right:10px}.pagination-container li .paginate-buttons{padding:4px 8px;width:46px;text-align:center}.pagination-container li .paginate-buttons.active-page{color:#411cc8;font-weight:700}ul#componentContainer{padding-inline-start:0;list-style-type:none;display:inline-flex}ul#componentContainer a{text-decoration:none;display:flex;justify-content:center;align-items:center}.ce-file-list[data-v-db0ac01f]{padding:20px 10px 50px 20px}.ce-file-list table[data-v-db0ac01f]{font-size:12px}.ce-file-list table td[data-v-db0ac01f]{word-break:break-all}.ce-button-group button{border:none;padding:2px 6px;border-radius:0;vertical-align:baseline}.ce-button-group button:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.ce-button-group button:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.ce-button-group button:not(:last-child){border-right:1px solid #f6f6f6}.ce-cleaner-config{max-height:500px;width:600px;overflow-y:auto;padding:14px}.ce-cleaner-config .pure-control-group label{width:230px!important}.ce-cleaner-config .ce-tips{margin-top:20px;margin-left:56px}.ce-cleaner-config .pure-form-message{margin-left:56px}.ce-empty-cleaner-trigger .btn-open{padding:0 6px;vertical-align:text-top;line-height:30px;border-radius:4px;background:#4faa4f}.ce-empty-cleaner-help[data-v-ce900ab5]{font-size:12px;position:absolute;top:0;right:0;width:360px;padding:10px 10px 150px 8px;background:#fdffdf;overflow-y:auto}.ce-empty-cleaner-help ul[data-v-ce900ab5]{list-style:decimal}#cloud115EmptyCleaner{margin-left:10px}.ce-empty-cleaner{position:relative}.ce-empty-cleaner .top-actions .pure-control-group label{width:auto;text-align:left}.ce-empty-cleaner .ec-logs{max-height:250px;overflow-y:auto;max-width:72%;background:#f4f4f4;padding:10px;line-height:22px;font-size:12px;margin-bottom:20px}.ce-empty-cleaner .ec-items{margin-bottom:30px}.ce-empty-cleaner .ec-items table{font-size:12px;width:72%}.ce-empty-cleaner .ec-items table .tr-deleted>td:not(:last-child){text-decoration:line-through}.ce-empty-cleaner .btn-global-clear{float:right}.ce-empty-cleaner-drawer{background:#fff;padding:10px 20px 200px;overflow-y:auto}.ce-empty-cleaner-drawer.loading{cursor:wait}.ce-empty-cleaner-drawer.loading button,.ce-empty-cleaner-drawer.loading input{cursor:no-drop;pointer-events:none}.input-small[data-v-f3bc02fe]{padding:2px 4px;width:auto}.ce-basic-config .pure-form-message{margin-left:82px}.ce-basic-config .avatar-preview{display:inline-block;vertical-align:middle;margin-left:10px}.ce-basic-config .pure-control-group input.input-small{padding:2px 4px;width:auto}.ce-clouddrive-config-item{margin-bottom:20px;border:1px solid #cbcbcb;border-radius:0;padding:4px}.ce-clouddrive-config-item.active{background:#fefcea}.ce-clouddrive-config-item input:not([type]){font-size:12px}.ce-clouddrive-config-item .button-error{float:right}.ce-clouddrive-config .cd-tips a{text-decoration:underline}.ce-clouddrive-config .cd-code{font-size:110%;cursor:pointer;user-select:none}.ce-list-config .pure-control-group label{width:16em!important}.ce-list-config .pure-form-message{margin-left:3em}.ce-search-config .pure-control-group label{width:15em!important}.ce-search-config .pure-form-message{margin-left:3em}.ce-tools-config{padding-bottom:100px}.ce-tools-config .pure-control-group label{width:15em!important}.ce-tools-config .pure-form-message{margin-left:3em}.menu-basic-config .pure-control-group label,.official-menu-config .pure-form label{width:170px!important;display:inline-block!important}.official-menu-config .pure-form label small{color:#999}.official-menu-config .pure-form legend .ce-label{cursor:pointer;font-size:12px;float:right}.official-menu-config .pure-form .ce-toggle{font-size:12px;cursor:pointer;color:#909399}.official-menu-config .pure-form .menu-key{opacity:0}.official-menu-config .pure-form .menu-item:hover .menu-key{opacity:1}.official-menu-config .pure-form .hidden .ce-toggle{color:#1890ff}.ce-field{background:#fff;margin-bottom:1px;padding:4px}.ce-field:hover{background:#fefcea}.ce-field label{display:inline-block!important}.ce-field input[type=checkbox],.ce-field input[type=radio]{width:18px;height:18px;cursor:pointer;vertical-align:middle}.ce-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;color:#333;border-bottom:1px solid #e5e5e5}.menu-name-path-block{width:250px;max-height:405px;overflow-y:auto}.menu-name-path-block legend{text-align:center}.menu-name-path-block .ce-field label{width:180px}.menu-config-block .ce-search-sub{padding-left:20px;color:#909399}.menu-config-block span.btn-toggle-top{margin-left:8px;cursor:pointer;opacity:.3}.menu-config-block span.btn-toggle-top.active{opacity:1}.ce-menu-config input[type=checkbox]{margin-right:10px;width:18px;height:18px;cursor:pointer;vertical-align:middle}.ce-menu-config .btn-view-info{display:inline-block;margin-right:6px;vertical-align:middle;cursor:help}.menu-config-block{display:inline-block;border-radius:6px;margin:4px;vertical-align:top;padding:0 6px;background:#f9f9f9}.menu-config-block>form>legend{border:none;text-align:center;font-size:14px;color:#5092ff;padding:4px;margin-bottom:0}.menu-config-block>form>fieldset>div{background:#fff;margin-bottom:1px;padding:4px}.menu-config-block>form>fieldset>div:hover{background:#fefcea}.menu-config-block label{display:inline-block;width:120px;font-size:12px;line-height:20px;vertical-align:middle;cursor:pointer}.ce-custom-url{border-radius:4px;box-shadow:0 0 5px #eee;border:1px solid #eee;margin-bottom:20px;padding:0 10px;background:#fff}.ce-custom-url label{cursor:pointer}.ce-custom-url input:not([type]){font-size:12px}.ce-custom-url textarea{font-size:12px;resize:vertical}.ce-custom-url input[type=checkbox]{width:18px;height:18px;cursor:pointer}.ce-custom-url .ce-custom-url-index{font-size:14px;font-weight:700;margin-right:20px}.ce-custom-url legend .button-error{float:right}.ce-custom-url fieldset>div{margin-bottom:1px;padding:4px}.ce-custom-url fieldset>div:hover{background:#fefcea}.ce-custom-urls{padding-bottom:100px}.ce-custom-urls .item-icon img{vertical-align:middle}.ce-custom-urls .item-memo{display:inline-block;width:320px}.ce-play-urls{padding-bottom:100px}.ce-play-urls .item-icon img{vertical-align:middle}.ce-play-urls .item-memo{display:inline-block;width:350px}.ce-play-urls .extra-memo{font-size:12px;margin-left:10px}.ce-play-urls .extra-memo a{text-decoration:underline;color:#337ab7}.ce-anxia-config .pure-control-group label{width:9em}.ce-anxia-config .pure-form-message{margin-left:3em}.ce-share-config .pure-control-group label{width:15em!important}.ce-share-config .pure-form-message,.ce-share-config .ce-share-tool .pure-control-group{margin-left:3em}.ce-config-main .ce-intro{margin-left:35%;color:#7676ff}.ce-config-main .ce-intro small{color:#999}.ce-config-main .ce-config-main-body{padding:10px}.ce-config-main .ce-config-main-header{padding:10px;position:sticky;top:0;background:#fff;z-index:100000;box-shadow:0 1px 2px #e9e9e9}.ce-config-main .ce-config-main-header h1{display:inline;font-size:18px}.ce-config-main .ce-config-main-header .ce-config-main-close{float:right;vertical-align:top;color:#89929b;cursor:pointer;padding:2px 20px;border-radius:6px}.ce-config-main .ce-config-main-header .ce-config-main-close:hover{background:#fefcea;color:#0275ff}.ce-config-main .ce-offline-config{max-height:unset}.ce-goto-main{position:relative;margin-right:5px}.ce-goto-main.ce-goto-sug-shown .ce-goto-input-wrap{border-radius:6px 6px 0 0}.ce-goto-main.ce-goto-sug-shown .ce-goto-sug{display:block}.ce-goto-main .ce-goto-input-wrap{position:relative;overflow:hidden;border:1px solid #cfcccc;border-radius:6px}.ce-goto-main .ce-goto-input-wrap .ce-goto-input{border-radius:6px 6px 0 0;border:none;padding:4px 10px;width:100%;box-sizing:border-box;color:#2877f8;border-bottom:none}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn{position:absolute;border:none}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn:hover{color:#ff723e}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn[data-cmd]{top:5px;font-size:12px;background:#aeaeae;color:#fff;padding:0 4px;border-radius:4px;cursor:pointer}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn[data-cmd]:hover{background:#ff723e}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn[data-cmd][disabled]{background:#d7d7d7;cursor:not-allowed}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn[data-cmd=clear]{right:10px}.ce-goto-main .ce-goto-input-wrap .ce-goto-input-btn[data-cmd=toggle]{right:50px}.ce-goto-main .ce-goto-sug{display:none;position:absolute;background:#fff;width:100%;padding:10px 10px 10px 8px;max-height:250px;z-index:999999;overflow-y:auto;box-shadow:0 5px 8px #ededed;border-radius:0 0 6px 6px;border:1px solid #cfcccc;box-sizing:border-box;border-top:none}.ce-goto-main .ce-goto-sug .ce-goto-sug-item{padding:4px 10px;background:#f4f6fc;margin-bottom:4px;cursor:pointer;border-radius:4px;font-size:12px;color:#353535}.ce-goto-main .ce-goto-sug .ce-goto-sug-item:hover{background:#d7d7d7}.ce-goto-main .ce-goto-sug .ce-goto-sug-item.active{background:#f4e1cf;color:#2877f8}.ce-goto-main .ce-goto-sug .ce-goto-sug-item span.ce-goto-sug-prefix,.ce-goto-main .ce-goto-sug .ce-goto-sug-item span.ce-goto-sep{color:#a4a4a4}.ce-goto-main .ce-goto-sug .ce-goto-sug-item span.ce-goto-sug-index{display:inline-block;background:#6ab2ff;font-size:10px;min-width:20px;color:#fff;border-radius:4px;text-align:center;padding:0 2px;margin-right:4px} ');

  const jy=`/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-button{display:inline-block;line-height:normal;white-space:nowrap;vertical-align:middle;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;box-sizing:border-box}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button-group{letter-spacing:-.31em;text-rendering:optimizespeed}.opera-only :-o-prefocus,.pure-button-group{word-spacing:-.43em}.pure-button-group .pure-button{letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-button{font-family:inherit;font-size:100%;padding:.5em 1em;color:#000c;border:none transparent;background-color:#e6e6e6;text-decoration:none;border-radius:2px}.pure-button-hover,.pure-button:focus,.pure-button:hover{background-image:linear-gradient(transparent,#0000000d 40%,#0000001a)}.pure-button:focus{outline:0}.pure-button-active,.pure-button:active{box-shadow:0 0 0 1px #00000026 inset,0 0 6px #0003 inset;border-color:#000}.pure-button-disabled,.pure-button-disabled:active,.pure-button-disabled:focus,.pure-button-disabled:hover,.pure-button[disabled]{border:none;background-image:none;opacity:.4;cursor:not-allowed;box-shadow:none;pointer-events:none}.pure-button-hidden{display:none}.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{background-color:#0078e7;color:#fff}.pure-button-group .pure-button{margin:0;border-radius:0;border-right:1px solid rgba(0,0,0,.2)}.pure-button-group .pure-button:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.pure-button-group .pure-button:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px;border-right:none}`;Pt(jy);const zy=`/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-table{border-collapse:collapse;border-spacing:0;empty-cells:show;border:1px solid #cbcbcb}.pure-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.pure-table td,.pure-table th{border-left:1px solid #cbcbcb;border-width:0 0 0 1px;font-size:inherit;margin:0;overflow:visible;padding:.5em 1em}.pure-table thead{background-color:#e0e0e0;color:#000;text-align:left;vertical-align:bottom}.pure-table td{background-color:transparent}.pure-table-odd td{background-color:#f2f2f2}.pure-table-striped tr:nth-child(2n-1) td{background-color:#f2f2f2}.pure-table-bordered td{border-bottom:1px solid #cbcbcb}.pure-table-bordered tbody>tr:last-child>td{border-bottom-width:0}.pure-table-horizontal td,.pure-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #cbcbcb}.pure-table-horizontal tbody>tr:last-child>td{border-bottom-width:0}`;Pt(zy);const Hy=`/*!
Pure v3.0.0
Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE
*/.pure-form input[type=color],.pure-form input[type=date],.pure-form input[type=datetime-local],.pure-form input[type=datetime],.pure-form input[type=email],.pure-form input[type=month],.pure-form input[type=number],.pure-form input[type=password],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=text],.pure-form input[type=time],.pure-form input[type=url],.pure-form input[type=week],.pure-form select,.pure-form textarea{padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;vertical-align:middle;box-sizing:border-box}.pure-form input:not([type]){padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;box-sizing:border-box}.pure-form input[type=color]{padding:.2em .5em}.pure-form input[type=color]:focus,.pure-form input[type=date]:focus,.pure-form input[type=datetime-local]:focus,.pure-form input[type=datetime]:focus,.pure-form input[type=email]:focus,.pure-form input[type=month]:focus,.pure-form input[type=number]:focus,.pure-form input[type=password]:focus,.pure-form input[type=search]:focus,.pure-form input[type=tel]:focus,.pure-form input[type=text]:focus,.pure-form input[type=time]:focus,.pure-form input[type=url]:focus,.pure-form input[type=week]:focus,.pure-form select:focus,.pure-form textarea:focus{outline:0;border-color:#129fea}.pure-form input:not([type]):focus{outline:0;border-color:#129fea}.pure-form input[type=checkbox]:focus,.pure-form input[type=file]:focus,.pure-form input[type=radio]:focus{outline:thin solid #129FEA;outline:1px auto #129FEA}.pure-form .pure-checkbox,.pure-form .pure-radio{margin:.5em 0;display:block}.pure-form input[type=color][disabled],.pure-form input[type=date][disabled],.pure-form input[type=datetime-local][disabled],.pure-form input[type=datetime][disabled],.pure-form input[type=email][disabled],.pure-form input[type=month][disabled],.pure-form input[type=number][disabled],.pure-form input[type=password][disabled],.pure-form input[type=search][disabled],.pure-form input[type=tel][disabled],.pure-form input[type=text][disabled],.pure-form input[type=time][disabled],.pure-form input[type=url][disabled],.pure-form input[type=week][disabled],.pure-form select[disabled],.pure-form textarea[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input:not([type])[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input[readonly],.pure-form select[readonly],.pure-form textarea[readonly]{background-color:#eee;color:#777;border-color:#ccc}.pure-form input:focus:invalid,.pure-form select:focus:invalid,.pure-form textarea:focus:invalid{color:#b94a48;border-color:#e9322d}.pure-form input[type=checkbox]:focus:invalid:focus,.pure-form input[type=file]:focus:invalid:focus,.pure-form input[type=radio]:focus:invalid:focus{outline-color:#e9322d}.pure-form select{height:2.25em;border:1px solid #ccc;background-color:#fff}.pure-form select[multiple]{height:auto}.pure-form label{margin:.5em 0 .2em}.pure-form fieldset{margin:0;padding:.35em 0 .75em;border:0}.pure-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;color:#333;border-bottom:1px solid #e5e5e5}.pure-form-stacked input[type=color],.pure-form-stacked input[type=date],.pure-form-stacked input[type=datetime-local],.pure-form-stacked input[type=datetime],.pure-form-stacked input[type=email],.pure-form-stacked input[type=file],.pure-form-stacked input[type=month],.pure-form-stacked input[type=number],.pure-form-stacked input[type=password],.pure-form-stacked input[type=search],.pure-form-stacked input[type=tel],.pure-form-stacked input[type=text],.pure-form-stacked input[type=time],.pure-form-stacked input[type=url],.pure-form-stacked input[type=week],.pure-form-stacked label,.pure-form-stacked select,.pure-form-stacked textarea{display:block;margin:.25em 0}.pure-form-stacked input:not([type]){display:block;margin:.25em 0}.pure-form-aligned input,.pure-form-aligned select,.pure-form-aligned textarea,.pure-form-message-inline{display:inline-block;vertical-align:middle}.pure-form-aligned textarea{vertical-align:top}.pure-form-aligned .pure-control-group{margin-bottom:.5em}.pure-form-aligned .pure-control-group label{text-align:right;display:inline-block;vertical-align:middle;width:10em;margin:0 1em 0 0}.pure-form-aligned .pure-controls{margin:1.5em 0 0 11em}.pure-form .pure-input-rounded,.pure-form input.pure-input-rounded{border-radius:2em;padding:.5em 1em}.pure-form .pure-group fieldset{margin-bottom:10px}.pure-form .pure-group input,.pure-form .pure-group textarea{display:block;padding:10px;margin:0 0 -1px;border-radius:0;position:relative;top:-1px}.pure-form .pure-group input:focus,.pure-form .pure-group textarea:focus{z-index:3}.pure-form .pure-group input:first-child,.pure-form .pure-group textarea:first-child{top:1px;border-radius:4px 4px 0 0;margin:0}.pure-form .pure-group input:first-child:last-child,.pure-form .pure-group textarea:first-child:last-child{top:1px;border-radius:4px;margin:0}.pure-form .pure-group input:last-child,.pure-form .pure-group textarea:last-child{top:-2px;border-radius:0 0 4px 4px;margin:0}.pure-form .pure-group button{margin:.35em 0}.pure-form .pure-input-1{width:100%}.pure-form .pure-input-3-4{width:75%}.pure-form .pure-input-2-3{width:66%}.pure-form .pure-input-1-2{width:50%}.pure-form .pure-input-1-3{width:33%}.pure-form .pure-input-1-4{width:25%}.pure-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:.875em}.pure-form-message{display:block;color:#666;font-size:.875em}@media only screen and (max-width :480px){.pure-form button[type=submit]{margin:.7em 0 0}.pure-form input:not([type]),.pure-form input[type=color],.pure-form input[type=date],.pure-form input[type=datetime-local],.pure-form input[type=datetime],.pure-form input[type=email],.pure-form input[type=month],.pure-form input[type=number],.pure-form input[type=password],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=text],.pure-form input[type=time],.pure-form input[type=url],.pure-form input[type=week],.pure-form label{margin-bottom:.3em;display:block}.pure-group input:not([type]),.pure-group input[type=color],.pure-group input[type=date],.pure-group input[type=datetime-local],.pure-group input[type=datetime],.pure-group input[type=email],.pure-group input[type=month],.pure-group input[type=number],.pure-group input[type=password],.pure-group input[type=search],.pure-group input[type=tel],.pure-group input[type=text],.pure-group input[type=time],.pure-group input[type=url],.pure-group input[type=week]{margin-bottom:0}.pure-form-aligned .pure-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.pure-form-aligned .pure-controls{margin:1.5em 0 0}.pure-form-message,.pure-form-message-inline{display:block;font-size:.75em;padding:.2em 0 .8em}}`;Pt(Hy);const Vy=".resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0;outline:none}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s;pointer-events:none}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;display:none}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1;max-width:inherit;max-height:inherit}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{background:#000c;color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}";Pt(Vy);const qy=".text-center{text-align:center}.text-bold{font-weight:700}.text-cross{text-decoration:line-through}.text-ul{text-decoration:underline}.text-ul-dot{text-decoration:underline dotted}.text-primary{color:#1890ff}.text-success{color:#13ce66}.text-warning{color:#ffba00}.text-danger{color:#ff4949}.text-info{color:#909399}.ce-label{padding:2px 4px;background:#909399;color:#fff;border-radius:4px}.ce-label.ce-label-primary{background:#1890ff}.ce-label.ce-label-warning{background:#ffba00}.ce-label.ce-label-danger{background:#ff4949}.ce-label.ce-label-success{background:#13ce66}.ce-label.ce-label-primary-plain{color:#409eff;background:#ecf5ff}.ce-tag-plain{padding:1px 4px;border:1px solid #1890ff;border-radius:4px}input.ce-checkbox{width:20px;height:20px;cursor:pointer}.ce-hidden{display:none!important}";Pt(qy);const Wy='@charset "UTF-8";.tabs-component .tabs-component-tabs{border:solid 1px #ddd;border-radius:6px;margin-bottom:5px}@media (min-width: 700px){.tabs-component .tabs-component-tabs{border:0;align-items:stretch;display:flex;justify-content:flex-start;margin-bottom:1px}}.tabs-component .tabs-component-tabs .tabs-component-tab{color:#999;font-size:14px;font-weight:600;margin-right:0;list-style:none;border-bottom:dotted 1px #ddd}.tabs-component .tabs-component-tabs .tabs-component-tab:hover{color:#666}.tabs-component .tabs-component-tabs .tabs-component-tab.is-disabled *{color:#cdcdcd;cursor:not-allowed!important}.tabs-component .tabs-component-tabs .tabs-component-tab.is-active{color:#000}.tabs-component .tabs-component-tabs .tabs-component-tab .tabs-component-tab-a{align-items:center;color:inherit;display:flex;padding:.75em 1em;text-decoration:none}@media (min-width: 700px){.tabs-component .tabs-component-tabs .tabs-component-tab{background-color:#fff;border:solid 1px #ddd;border-radius:3px 3px 0 0;margin-right:.5em;transform:translateY(2px);transition:transform .3s ease}.tabs-component .tabs-component-tabs .tabs-component-tab.is-active{border-bottom:solid 1px #fff;z-index:2;transform:translateY(2px)}}.tabs-component .tabs-component-panels{padding:1em 0}@media (min-width: 700px){.tabs-component .tabs-component-panels{background-color:#fff;border:solid 1px #ddd;border-radius:0 6px 6px;box-shadow:0 0 10px #0000000d;padding:1em}}.tabs-component .tabs-component-btn{cursor:pointer;background:#e1ecf4;border-radius:3px;border:1px solid #7aa7c7;padding:4px 8px;color:#39739d}.tabs-component .tabs-component-btn:hover{background-color:#b3d3ea;color:#2c5777}.tabs-component .tabs-component-btn:active{background-color:#a0c7e4;box-shadow:none;color:#2c5777}.ce-tips{background:#eee;border-radius:4px;padding:4px;font-size:12px;color:#595959;margin-bottom:10px}.ce-hr{border:0;height:1px;background-image:linear-gradient(to right,#0000,#ccc,#0000)}.ce-config input[type=checkbox]{width:18px;height:18px;cursor:pointer}.ce-config legend{font-size:16px;color:#1890ff}.ce-config-help{font-size:11px;cursor:pointer}.ce-ec-detail{text-align:left;font-size:14px}.ce-ec-detail span{color:#1890ff;display:inline-block;width:90px;text-align:right}.ce-textarea-trans{color:#7d7d7d;border:none;margin:0;padding:0}.swal2-container{z-index:99999999!important}.ce-swal-text-left .swal2-html-container{text-align:left!important}.swal2-checkbox input{width:20px;height:20px;cursor:pointer}';Pt(Wy);const Ky='@charset "UTF-8";div[class^=fp-].hidden-watermark{display:none!important}div.list-header[rel=list_header]{display:flex!important}div#exsame_list_content>ul{border-bottom:2px dashed #2778f8;padding-bottom:6px}';Pt(Ky);var Gy=typeof GM_addStyle<"u"?GM_addStyle:void 0,Jy=typeof GM_deleteValue<"u"?GM_deleteValue:void 0,ac=typeof GM_getValue<"u"?GM_getValue:void 0,Yy=typeof GM_info<"u"?GM_info:void 0,Jr=typeof GM_openInTab<"u"?GM_openInTab:void 0,Cs=typeof GM_registerMenuCommand<"u"?GM_registerMenuCommand:void 0,Qy=typeof GM_setClipboard<"u"?GM_setClipboard:void 0,lu=typeof GM_setValue<"u"?GM_setValue:void 0,Ta=typeof GM_xmlhttpRequest<"u"?GM_xmlhttpRequest:void 0,Xy={name:"115不大助手",version:"0.8.12"},wt=(e=>(e.basic="basic_config",e.anxia="anxia_config",e.clouddrive="clouddrive_configs",e.list="list_config",e.enabledCustomUrlsForSearch="enabled_custom_urls_for_search",e.enabledCustomUrlsForPlay="enabled_custom_urls_for_play",e.menuCustomUrlsForSearch="menu_custom_urls_for_search",e.menuCustomUrlsForPlay="menu_custom_urls_for_play",e.menu="ce_menu_config",e.hiddenOfficialMenuKeys="hidden_official_menu_keys",e.offline="offlineExporterConfig",e.search="search_config",e.tools="tools_config",e.cleanerConfig="cleanerConfig",e.cleanerSuffixGroups="suffixGroups",e.cleanerKeywordGroups="keywordGroups",e.emptyCleanerConfig="emptyCleanerConfig",e.share="share",e))(wt||{});const lc=Object.values(wt),Kp=async(e,t)=>ac(e,t),Zy=async(e,t)=>lu(e,t),Gp=async e=>Jy(e),eb=async()=>{for(const e of lc)await Gp(e);},Jp=async()=>{const e={};for(const t of lc)e[t]=await Kp(t,{});return e};async function tb(){const e=await Jp(),t=Xy;e._meta={name:t.name,version:t.version,time:new Date().toLocaleString(),browser:navigator.userAgent},e._schema="pan115_enhancer_configs";const n=document.createElement("a");n.href=URL.createObjectURL(new Blob([JSON.stringify(e,null,2)],{type:"application/json"})),n.download=`${t.name}-v${t.version}-配置.json`,n.click();}async function nb(){return new Promise((e,t)=>{const n=document.createElement("input");n.type="file",n.accept="application/json",n.oncancel=()=>{t("取消选择文件!");},n.onchange=async()=>{const o=n.files&&n.files[0];if(!o){t("未选择文件!");return}const i=await new Promise((r,a)=>{const l=new FileReader;l.onload=()=>{try{r(JSON.parse(l.result));}catch(c){a(c);}},l.onerror=()=>{a(l.error);},l.readAsText(o);});if(i._schema!=="pan115_enhancer_configs"){t("这不是一个脚本配置文件!");return}const s=[];for(const r of lc)s.push(r),i[r]&&await Xe.set(r,i[r]);e({data:i,importedKeys:s});},n.click();})}const Xe={get:Kp,set:Zy,remove:Gp,clear:eb,getAll:Jp};function La(e,...t){return new e(t[0])}async function Ko(e,t,n){return new Promise(async(o,i)=>{if(typeof e!="function"){i("提供的参数`fulfill`不是一个Function!");return}let s=false;e(l=>{s=true,o(l);});let r=setInterval(async()=>{if(s){clearTimeout(a),clearInterval(r);return}e(l=>{clearTimeout(a),clearInterval(r),o(l);});},t),a=setTimeout(()=>{clearInterval(r),i("超时");},n);})}async function At(e){return new Promise(t=>{setTimeout(t,e);})}function lt(e,t,n){let o;return function(...i){const s=()=>{o=void 0,e.apply(this,i);};clearTimeout(o),o=setTimeout(s,t);}}function di(e,t){t=t||window,t.postMessage(e);}function tr(e,t=location.href){const n=new RegExp("(\\?|#|&)"+e+"=([^&#]*)(&|#|$)"),o=t.match(n);return o?o[2]:""}function fi(){return Math.floor(Date.now()/1e3)}async function ob(e){const t=Symbol("pending");return await Promise.race([e.then(()=>true,()=>true),new Promise(o=>setTimeout(()=>o(t),0))])!==t}function Yp(e){const t=e.target;e.key==="a"&&(e.ctrlKey||e.metaKey)&&t.select();}function Qp(e){return e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement}function ib(e){e.addEventListener("keydown",t=>{const n=t.target;Qp(n)&&Yp(t);});}function Xp(e,t=.2,n=.5){e.style.transition=`opacity ${n}s`,e.style.opacity=t.toString(),setTimeout(()=>{e.remove();},500);}function sb(e,t){let n=document.querySelector(e);return n||(n=ze(t)),n}function ze(e){const t=document.createElement("div");if(t.innerHTML=e.trim(),t.childNodes.length!==1||!(t.firstChild instanceof HTMLElement))throw new Error("Invalid HTML string. It must contain exactly one root element.");return t.firstChild}function Zp(e,t=document,n=XPathResult.ORDERED_NODE_SNAPSHOT_TYPE){const o=[],i=document.evaluate(e,t,null,n,null);for(let s=0;s<i.snapshotLength;s++){const r=i.snapshotItem(s);r&&o.push(r);}return o}async function tt(e,t=100,n=12e4,o=document){const i=await uc(e,t,n,o);if(i.length)return i[0];throw new Error(`未找到元素:${e}`)}async function uc(e,t=100,n=12e4,o=document){const i=e.indexOf("//")===0;function s(r){if(i){const a=Zp(e);a.length>0&&r(a);}else {const a=o.querySelectorAll(e);a.length&&r(Array.from(a));}}try{return await Ko(s,t,n)}catch(r){throw console.warn("[find]",r),new Error(`查找元素超时:${e}`)}}async function Jn(e,t=100,n=12e4){const o=e.indexOf("//")===0;function i(s){if(o){const r=Zp(e);r.length>0&&s(unsafeWindow.$(r));}else {const r=unsafeWindow.$(e);r.length&&s(r);}}try{return await Ko(i,t,n)}catch(s){throw console.warn("[findWithJQuery]",s),new Error(`查找元素超时:${e}`)}}async function rb(e,t,n){const o=await tt(e),i=new MutationObserver(t);return n={attributes:false,childList:true,subtree:false,...n},i.observe(o,n),i}function Ue(e){return document.querySelector(e)}function ab(e){return Array.from(document.querySelectorAll(e))}const lb=["ts","wmv","3pg","mp4","mpg","m4v","iso","mkv","avi","dvd","wmv","i00","i01","i02","i03","i04","i05","i06","i07","i08","i09","i10","i11","i12","mpeg","mov","m2ts","bup","vob","rmvb","md0","md1","md2","md3","md4","md5","mdf","mds","nrg","flv","asf"],ub=["jpg","jpeg","png","gif","bmp","svg","webp","tiff","tif","ico","heic","heif","avif","jfif","pjpeg","pjp","apng","raw","cr2","nef","orf","sr2","dng"],cb=["mp3","wav","wma","ogg","ape","flac","aac","m4a","opus","mp2","ra","ram","au","3gp","amr","alac","dsd","dsf","dff","aiff","aif","caf","ac3","dts","tta","wv","mid","midi","kar"];var uu=(e=>(e.video="video",e.audio="audio",e.image="image",e.other="other",e))(uu||{});function Yr(e,t,n="text/plain"){const o=document.createElement("a");document.body.appendChild(o),o.setAttribute("style","display:none");const i=new Blob([e],{type:n}),s=window.URL.createObjectURL(i);o.href=s,o.download=t,o.click(),window.URL.revokeObjectURL(s);}function Ki(e,t=2){if(Number.isNaN(e)||(e=typeof e=="string"?parseInt(e):e,!e))return "0";const n=1024,o=t,i=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],s=Math.floor(Math.log(e)/Math.log(n));return parseFloat((e/Math.pow(n,s)).toFixed(o))+" "+i[s]}function Dd(e){const t=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],n=new RegExp(`^(\\d+(?:\\.\\d+)?)(${t.join("|")})$`,"i"),o=e.match(n);if(!o)throw new Error(`无效的文件大小!${e}`);const i=parseFloat(o[1]),s=o[2].toUpperCase(),r=t.indexOf(s);if(r<0)throw new Error(`无效的文件大小!${e}`);return i*Math.pow(1024,r)}function eh(e){return e?lb.indexOf(e.toLowerCase())>-1:false}function th(e){return e?ub.indexOf(e.toLowerCase())>-1:false}function nh(e){return e?cb.indexOf(e.toLowerCase())>-1:false}function db(e){const t=e.lastIndexOf(".");if(t===-1)return {base:e,ext:""};const n=e.substring(0,t),o=e.substring(t+1);return {base:n,ext:o}}function fb(e){const{ext:t}=db(e);return eh(t)?"video":nh(t)?"audio":th(t)?"image":"other"}var ot=(e=>(e.openConfig="openConfig",e.closeConfig="closeConfig",e.basicConfigChange="basicConfigChange",e.listConfigChange="listConfigChange",e.searchConfigChange="searchConfigChange",e.toolsConfigChange="toolsConfigChange",e.listRendered="listRendered",e.shareConfigChange="shareConfigChange",e.topDomChanged="topDomChange",e.officialMenuStyleChange="officialMenuStyleChange",e.renderMenus="renderMenus",e))(ot||{}),bt=(e=>(e.basic="basic",e.clouddrive="clouddrive",e.list="list",e.search="search",e.menus="menus",e.searchMenus="searchMenus",e.playMenus="playMenus",e.offline="offline",e.tools="tools",e.anxia="anxia",e.share="share",e.about="about",e))(bt||{});const kn={basic:"基础设置",clouddrive:"CloudDrive",list:"列表增强",search:"搜索增强",menus:"菜单设置",searchMenus:"搜索菜单",playMenus:"播放菜单",offline:"离线管理",tools:"工具",anxia:"在线播放",share:"分享增强",about:"关于"};class bn{static EVENT_CLOSE_MENU="__closeMenu";menuType=Ie.listItemHover;injectDecider;keyAttributeName="id";key="";label="";icon="";showIcon=true;title="";onClick=async(t,n)=>{};onMouseOver;onMouseOut;subItems=[];subItemsLocator;isDivider=false;menuItemTemplates={[Ie.dirContext]:{body:`<li id="{key}" class="ce-menu dir-context-menu">
        <a href="javascript:;">{icon}<span>{label}</span></a>
      </li>`,bodyForMulti:`<li id="{key}" class="ce-menu ce-menu-parent dir-context-menu">
        {icon}<span class="ce-menu-trigger">{label}</span>
        <div class="ce-menu-dropdown sub-items"></div>
        </span>`,divider:'<li class="ce-menu-divider"></li>'},[Ie.dirContextSub]:{body:`<span id="{key}" class="ce-menu dir-context-menu-sub sub-item">
        {icon}<span>{label}</span>
      </span>`,divider:'<span class="ce-menu-divider"></span>'},[Ie.listItemContext]:{body:`<li id="{key}" class="ce-menu list-item-context-menu">
        <a href="javascript:;">{icon}<span>{label}</span></a>
      </li>`,bodyForMulti:`<li id="{key}" class="ce-menu ce-menu-parent list-item-context-menu">
        {icon}<span class="ce-menu-trigger">{label}</span>
        <div class="ce-menu-dropdown sub-items"></div>
        </span>`,divider:'<li class="ce-menu-divider"></li>'},[Ie.listItemContextSub]:{body:'<span id="{key}" class="ce-menu list-item-context-menu-sub sub-item">{label}</span>',divider:'<span class="ce-menu-divider"></span>'},[Ie.listItemHover]:{body:`<a href="javascript:;" id="{key}" class="ce-menu list-item-hover-menu" style="">
        {icon}<span>{label}</span>
      </a>`,bodyForMulti:`<span class="ce-menu ce-menu-parent list-item-hover-menu">
        {icon}<span class="ce-menu-trigger">{label}</span>
        <div class="ce-menu-dropdown sub-items"></div>
        </span>`,divider:'<a class="ce-menu-divider"></a>'},[Ie.listItemHoverSub]:{body:`<a href="javascript:;" id="{key}" class="ce-menu list-item-hover-menu-sub" style="">
        {icon}<span>{label}</span>
      </a>`,divider:'<a class="ce-menu-divider"></a>'},[Ie.selection]:{body:'<li id="{key}" class="ce-menu selection-menu">{icon}<span>{label}</span></li>',bodyForMulti:`<li class="ce-menu ce-menu-parent selection-menu">
        {icon}<span class="ce-menu-trigger">{label}</span>
        <div class="ce-menu-dropdown sub-items"></div>
        </li>`,divider:'<li class="ce-menu-divider"></li>'},[Ie.selectionSub]:{body:`<a href="javascript:;" id="{key}" class="ce-menu selection-menu-sub" style="">
        {icon}<span>{label}</span>
      </a>`,divider:'<a class="ce-menu-divider"></a>'},[Ie.shareListItemHover]:{body:`<a href="javascript:;" id="{key}" class="ce-menu share-list-item-hover-menu list-item-hover-menu" style="">
        {icon}<span>{label}</span>
      </a>`,bodyForMulti:`<span class="ce-menu ce-menu-parent share-list-item-hover-menu list-item-hover-menu">
        {icon}<span class="ce-menu-trigger">{label}</span>
        <div class="ce-menu-dropdown sub-items"></div>
        </span>`,divider:'<a class="ce-menu-divider"></a>'},[Ie.shareListItemHoverSub]:{body:`<a href="javascript:;" id="{key}" class="ce-menu share-list-item-hover-menu-sub list-item-hover-menu-sub" style="">
        {icon}<span>{label}</span>
      </a>`,divider:'<a class="ce-menu-divider"></a>'}};constructor(t){Object.assign(this,t);}async decideInject(t){return this.injectDecider?await this.injectDecider(this,t):true}async render(){if(!this.menuType)throw new Error("未指定菜单类型");const t=this.menuItemTemplates[this.menuType];if(!t)throw new Error(`未找到菜单模板:${this.menuType}`);if(this.isDivider){if(!t.divider)throw new Error("未定义模版的divider内容!");const r=document.createElement("div");return r.innerHTML=t.divider,r.firstElementChild}let n=t.body;if(this.subItems&&this.subItems.length>0){if(!t.bodyForMulti)throw new Error("未找到 bodyFormMulti 模版");n=t.bodyForMulti;}const o=document.createElement("div");let i="";this.icon&&this.showIcon&&(this.icon.match(/^(http|https|data:image)/)?i=`<img class="ce-menu-icon" src="${this.icon}" referrerpolicy="no-referrer" />`:this.icon.match(/^data-text:/)?i=`<i class="ce-menu-icon">${this.icon.replace(/^data-text:/,"")}</i>`:i=`<i class="ce-menu-icon ${this.icon}"></i>`),o.innerHTML=n.replace(/{key}/g,this.key).replace(/{label}/g,this.label).replace(/{icon}/g,i);const s=o.firstElementChild;if(i&&s.classList.add("ce-menu-has-icon"),s.setAttribute("title",this.title||""),this.onClick&&(s.addEventListener("click",async r=>{this.onClick&&this.onClick(this,r);}),s.addEventListener("auxclick",async r=>{this.onClick&&this.onClick(this,r);}),s.addEventListener("mousedown",r=>{r.stopPropagation();})),this.onMouseOver&&s.addEventListener("mouseover",async r=>{this.onMouseOver&&this.onMouseOver(this,r);}),this.onMouseOut&&s.addEventListener("mouseout",async r=>{this.onMouseOut&&this.onMouseOut(this,r);}),this.subItems&&this.subItems.length>0){const r=s.querySelector(".sub-items"),a=[];for(const l of this.subItems){const c=await l.render();a.push(c);}r?.append(...a);}return s}async closeMenu(){try{unsafeWindow.Core.FileMenu.HideRight();}catch(t){console.warn('[MenuItem.closeMenu] Failed to call "unsafeWindow.Core.FileMenu.HideRight()"',t);}document.dispatchEvent(new CustomEvent(bn.EVENT_CLOSE_MENU,{detail:{menu:this}}));}async decorateContainer(t){t.setAttribute("ce-done","");}}async function Ma(e,t){t.stopPropagation(),t.preventDefault();const n=t.target,o=$(n).closest(".ce-menu-parent"),i=o.find(".ce-menu-dropdown");o.addClass("ce-menu-dropdown-opened"),i.addClass("ce-menu-dropdown-active");}async function Ba(e,t){t.stopPropagation(),t.preventDefault();const n=t.target,o=$(n).closest(".ce-menu-parent"),i=o.find(".ce-menu-dropdown");o.removeClass("ce-menu-dropdown-opened"),i.removeClass("ce-menu-dropdown-active");}class pb extends bn{isDivider=true}class nr{items=[];siblingSelector="";position=xo.after;useObserver=true;observeTarget=document.body;disposeObserverAfterInjection=true;menuType=void 0;_observer;injectDecider;constructor(t){Object.assign(this,t),this.handleMessage();}async createObserver(){return new MutationObserver(async([n])=>{n.type==="childList"&&await this.handleChildListMutation(n);})}handleMessage(){window.addEventListener("message",async t=>{const{event:n,body:o={}}=t.data;if(n===ot.renderMenus&&o.type===this.menuType){const i=[];document.querySelectorAll("#js_data_list .list-contents > ul > li .file-opr:not([ce-done])").forEach(s=>{i.push(s);}),i.length&&await this.perform(i);}},false);}async observe(){if(this._observer=await this.createObserver(),!this._observer)return;const t=await this.getObserveTarget();t&&this.startObserver(t);}async startObserver(t){this._observer&&this._observer.observe(t,{childList:true});}async disposeObserver(){this.disposeObserverAfterInjection&&this._observer&&this._observer.disconnect();}async getObserveTarget(){return typeof this.observeTarget=="string"?await tt(this.observeTarget,800,864e5*7):this.observeTarget}async isMutationMatch(t){const n=t.addedNodes[0];if(n&&n.nodeType!==Node.ELEMENT_NODE)return  false;switch(this.menuType,Ie.dirContext,this.menuType){case Ie.listItemHover:case Ie.shareListItemHover:return  true;case Ie.listItemContext:return n&&n.classList.contains("context-menu")&&!!n.querySelector('[val="report"]');case Ie.selection:return  true;case Ie.dirContext:return n&&n.classList.contains("context-menu")&&!!n.querySelector('[val="upload"]');default:return  false}}async handleChildListMutation(t){if(!await this.isMutationMatch(t))return;const n=await this.getContainersByMutation(t);await this.perform(n);}async perform(t){for(const n of t)await this.injectToContainer(n);}async getSibling(t){return t.querySelector(this.siblingSelector)}async getContainersByMutation(t){const n=t.addedNodes[0];return await this.getContainersByElement(n)}async getContainersByElement(t){let n=[];switch(this.menuType){case Ie.listItemHover:document.querySelectorAll("#js_data_list .list-contents > ul:not([ce-done]) > li .file-opr").forEach(o=>{n.push(o);});break;case Ie.shareListItemHover:document.querySelectorAll("ul#js-list:not([ce-done]) > li .file-opr").forEach(o=>{n.push(o);});break;case Ie.listItemContext:n=[t];break;case Ie.selection:document.querySelectorAll("#js_top_panel_box #js_operate_box").forEach(o=>{n.push(o);});break;case Ie.dirContext:n=[t];break}return n}async shouldInjectMenuItem(t,n){return await n.decideInject(t)?await this.decideInject(n,t):false}async decideInject(t,n){return this.injectDecider?await this.injectDecider(t,n):true}async injectToContainer(t){const n=await this.getSibling(t);if(!n)return;let o=this.items.slice();this.position===xo.after&&(o=o.reverse());for(let i=0;i<o.length;i++){const s=o[i];if(!await this.shouldInjectMenuItem(t,s))continue;const r=await s.render();this.position===xo.before?n.insertAdjacentElement("beforebegin",r):n.insertAdjacentElement("afterend",r),await s.decorateContainer(t);}}async isFileContainer(t){return !!t.getAttribute("file_id")}async isDirContainer(t){return !!t.getAttribute("cate_id")}async inject(){if(!(!this.menuType||!this.items.length||!this.siblingSelector))if(this.useObserver)await this.observe();else {const t=await this.getObserveTarget();if(!t)return;await this.injectToContainer(t);}}}async function hb(e,t){return !!$(t).closest("li").attr("file_id")}async function oh(e,t){return !!$(t).closest("li").attr("cate_id")}async function mb(e,t){const n=$(t).closest("li");if(n.attr("cate_id")||n.attr("iv")==="1")return  true;const o=n.attr("ico");return o?eh(o)||nh(o)||th(o):false}function or(e){return {copyFullName:true,copyPureName:true,copyId:true,copyPickCode:false,copySha1:true,copySha1WithName:true,copyUnixPath:true,copyWinPath:true,copyParentUnixPath:true,copyParentWinPath:true,viewInCloudDrive:true,...e}}function gb(e){return {enabled:true,rename:true,delete:true,play:true,copyNames:true,namePathConfig:or(),search:false,flattenSubfolders:false,move:true,copy:true,copyTo:true,viewProp:true,showSubFolderSize:true,showSubFolderSizeAndSort:false,exportList:false,viewInCloudDrive:true,topLevelMenus:["rename","delete","play"],...e}}class Vt extends bn{menuType=Ie.dirContext;constructor(t){super(t),this.onMouseOver=Ma,this.onMouseOut=Ba;}}class cc extends bn{menuType=Ie.dirContextSub}class wb extends nr{menuType=Ie.dirContext;useObserver=true;observeTarget=document.body;disposeObserverAfterInjection=true}function yb(e){return {enabled:true,copyNames:true,namePathConfig:or(),flattenSubfolders:false,viewInCloudDrive:true,...e}}class ts extends bn{menuType=Ie.listItemContext;constructor(t){super(t);let n;const o=(r,a)=>{a.stopPropagation(),a.preventDefault(),clearTimeout(n);const l=a.target,c=$(l).closest(".ce-menu-parent"),u=c.find(".ce-menu-dropdown");c.addClass("ce-menu-dropdown-opened"),u.addClass("ce-menu-dropdown-active"),r.subItems&&r.subItemsLocator&&r.subItemsLocator(r,a);},i=(r,a)=>{a.stopPropagation(),a.preventDefault();const l=a.target;n=setTimeout(()=>{const c=$(l).closest(".ce-menu-parent"),u=c.find(".ce-menu-dropdown");c.removeClass("ce-menu-dropdown-opened"),u.removeClass("ce-menu-dropdown-active");},350);},s=(r,a)=>{const l=a.target;if(l.classList.contains("ce-menu-dropdown"))return;const c=$(l).closest(".ce-menu-parent"),u=c.find(".ce-menu-dropdown"),f=c[0].getBoundingClientRect();u.css({position:"fixed",left:f.right,top:f.top});};this.subItems?.length&&(this.onMouseOver=o,this.onMouseOut=i,this.subItemsLocator=s);}}class bb extends nr{menuType=Ie.listItemContext}/*!
  * sweetalert2 v11.22.4
  * Released under the MIT License.
  */function ih(e,t,n){if(typeof e=="function"?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}function vb(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Td(e,t){return e.get(ih(e,t))}function xb(e,t,n){vb(e,t),t.set(e,n);}function _b(e,t,n){return e.set(ih(e,t),n),n}const Cb=100,De={},kb=()=>{De.previousActiveElement instanceof HTMLElement?(De.previousActiveElement.focus(),De.previousActiveElement=null):document.body&&document.body.focus();},Sb=e=>new Promise(t=>{if(!e)return t();const n=window.scrollX,o=window.scrollY;De.restoreFocusTimeout=setTimeout(()=>{kb(),t();},Cb),window.scrollTo(n,o);}),sh="swal2-",$b=["container","shown","height-auto","iosfix","popup","modal","no-backdrop","no-transition","toast","toast-shown","show","hide","close","title","html-container","actions","confirm","deny","cancel","footer","icon","icon-content","image","input","file","range","select","radio","checkbox","label","textarea","inputerror","input-label","validation-message","progress-steps","active-progress-step","progress-step","progress-step-line","loader","loading","styled","top","top-start","top-end","top-left","top-right","center","center-start","center-end","center-left","center-right","bottom","bottom-start","bottom-end","bottom-left","bottom-right","grow-row","grow-column","grow-fullscreen","rtl","timer-progress-bar","timer-progress-bar-container","scrollbar-measure","icon-success","icon-warning","icon-info","icon-question","icon-error","draggable","dragging"],q=$b.reduce((e,t)=>(e[t]=sh+t,e),{}),Eb=["success","warning","info","question","error"],Qr=Eb.reduce((e,t)=>(e[t]=sh+t,e),{}),rh="SweetAlert2:",dc=e=>e.charAt(0).toUpperCase()+e.slice(1),Yt=e=>{console.warn(`${rh} ${typeof e=="object"?e.join(" "):e}`);},xi=e=>{console.error(`${rh} ${e}`);},Ld=[],Ab=e=>{Ld.includes(e)||(Ld.push(e),Yt(e));},ah=(e,t=null)=>{Ab(`"${e}" is deprecated and will be removed in the next major release.${t?` Use "${t}" instead.`:""}`);},Oa=e=>typeof e=="function"?e():e,fc=e=>e&&typeof e.toPromise=="function",ir=e=>fc(e)?e.toPromise():Promise.resolve(e),pc=e=>e&&Promise.resolve(e)===e,Qt=()=>document.body.querySelector(`.${q.container}`),sr=e=>{const t=Qt();return t?t.querySelector(e):null},vn=e=>sr(`.${e}`),Je=()=>vn(q.popup),ns=()=>vn(q.icon),Pb=()=>vn(q["icon-content"]),lh=()=>vn(q.title),hc=()=>vn(q["html-container"]),uh=()=>vn(q.image),mc=()=>vn(q["progress-steps"]),Ra=()=>vn(q["validation-message"]),oo=()=>sr(`.${q.actions} .${q.confirm}`),os=()=>sr(`.${q.actions} .${q.cancel}`),_i=()=>sr(`.${q.actions} .${q.deny}`),Ib=()=>vn(q["input-label"]),is=()=>sr(`.${q.loader}`),rr=()=>vn(q.actions),ch=()=>vn(q.footer),Fa=()=>vn(q["timer-progress-bar"]),gc=()=>vn(q.close),Db=`
  a[href],
  area[href],
  input:not([disabled]),
  select:not([disabled]),
  textarea:not([disabled]),
  button:not([disabled]),
  iframe,
  object,
  embed,
  [tabindex="0"],
  [contenteditable],
  audio[controls],
  video[controls],
  summary
`,wc=()=>{const e=Je();if(!e)return [];const t=e.querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])'),n=Array.from(t).sort((s,r)=>{const a=parseInt(s.getAttribute("tabindex")||"0"),l=parseInt(r.getAttribute("tabindex")||"0");return a>l?1:a<l?-1:0}),o=e.querySelectorAll(Db),i=Array.from(o).filter(s=>s.getAttribute("tabindex")!=="-1");return [...new Set(n.concat(i))].filter(s=>an(s))},yc=()=>vo(document.body,q.shown)&&!vo(document.body,q["toast-shown"])&&!vo(document.body,q["no-backdrop"]),Na=()=>{const e=Je();return e?vo(e,q.toast):false},Tb=()=>{const e=Je();return e?e.hasAttribute("data-loading"):false},xn=(e,t)=>{if(e.textContent="",t){const o=new DOMParser().parseFromString(t,"text/html"),i=o.querySelector("head");i&&Array.from(i.childNodes).forEach(r=>{e.appendChild(r);});const s=o.querySelector("body");s&&Array.from(s.childNodes).forEach(r=>{r instanceof HTMLVideoElement||r instanceof HTMLAudioElement?e.appendChild(r.cloneNode(true)):e.appendChild(r);});}},vo=(e,t)=>{if(!t)return  false;const n=t.split(/\s+/);for(let o=0;o<n.length;o++)if(!e.classList.contains(n[o]))return  false;return  true},Lb=(e,t)=>{Array.from(e.classList).forEach(n=>{!Object.values(q).includes(n)&&!Object.values(Qr).includes(n)&&!Object.values(t.showClass||{}).includes(n)&&e.classList.remove(n);});},wn=(e,t,n)=>{if(Lb(e,t),!t.customClass)return;const o=t.customClass[n];if(o){if(typeof o!="string"&&!o.forEach){Yt(`Invalid type of customClass.${n}! Expected string or iterable object, got "${typeof o}"`);return}Qe(e,o);}},Ua=(e,t)=>{if(!t)return null;switch(t){case "select":case "textarea":case "file":return e.querySelector(`.${q.popup} > .${q[t]}`);case "checkbox":return e.querySelector(`.${q.popup} > .${q.checkbox} input`);case "radio":return e.querySelector(`.${q.popup} > .${q.radio} input:checked`)||e.querySelector(`.${q.popup} > .${q.radio} input:first-child`);case "range":return e.querySelector(`.${q.popup} > .${q.range} input`);default:return e.querySelector(`.${q.popup} > .${q.input}`)}},dh=e=>{if(e.focus(),e.type!=="file"){const t=e.value;e.value="",e.value=t;}},fh=(e,t,n)=>{!e||!t||(typeof t=="string"&&(t=t.split(/\s+/).filter(Boolean)),t.forEach(o=>{Array.isArray(e)?e.forEach(i=>{n?i.classList.add(o):i.classList.remove(o);}):n?e.classList.add(o):e.classList.remove(o);}));},Qe=(e,t)=>{fh(e,t,true);},Pn=(e,t)=>{fh(e,t,false);},Lo=(e,t)=>{const n=Array.from(e.children);for(let o=0;o<n.length;o++){const i=n[o];if(i instanceof HTMLElement&&vo(i,t))return i}},ai=(e,t,n)=>{n===`${parseInt(n)}`&&(n=parseInt(n)),n||parseInt(n)===0?e.style.setProperty(t,typeof n=="number"?`${n}px`:n):e.style.removeProperty(t);},Dt=(e,t="flex")=>{e&&(e.style.display=t);},jt=e=>{e&&(e.style.display="none");},bc=(e,t="block")=>{e&&new MutationObserver(()=>{ar(e,e.innerHTML,t);}).observe(e,{childList:true,subtree:true});},Md=(e,t,n,o)=>{const i=e.querySelector(t);i&&i.style.setProperty(n,o);},ar=(e,t,n="flex")=>{t?Dt(e,n):jt(e);},an=e=>!!(e&&(e.offsetWidth||e.offsetHeight||e.getClientRects().length)),Mb=()=>!an(oo())&&!an(_i())&&!an(os()),cu=e=>e.scrollHeight>e.clientHeight,Bb=(e,t)=>{let n=e;for(;n&&n!==t;){if(cu(n))return  true;n=n.parentElement;}return  false},ph=e=>{const t=window.getComputedStyle(e),n=parseFloat(t.getPropertyValue("animation-duration")||"0"),o=parseFloat(t.getPropertyValue("transition-duration")||"0");return n>0||o>0},vc=(e,t=false)=>{const n=Fa();n&&an(n)&&(t&&(n.style.transition="none",n.style.width="100%"),setTimeout(()=>{n.style.transition=`width ${e/1e3}s linear`,n.style.width="0%";},10));},Ob=()=>{const e=Fa();if(!e)return;const t=parseInt(window.getComputedStyle(e).width);e.style.removeProperty("transition"),e.style.width="100%";const n=parseInt(window.getComputedStyle(e).width),o=t/n*100;e.style.width=`${o}%`;},Rb=()=>typeof window>"u"||typeof document>"u",Fb=`
 <div aria-labelledby="${q.title}" aria-describedby="${q["html-container"]}" class="${q.popup}" tabindex="-1">
   <button type="button" class="${q.close}"></button>
   <ul class="${q["progress-steps"]}"></ul>
   <div class="${q.icon}"></div>
   <img class="${q.image}" />
   <h2 class="${q.title}" id="${q.title}"></h2>
   <div class="${q["html-container"]}" id="${q["html-container"]}"></div>
   <input class="${q.input}" id="${q.input}" />
   <input type="file" class="${q.file}" />
   <div class="${q.range}">
     <input type="range" />
     <output></output>
   </div>
   <select class="${q.select}" id="${q.select}"></select>
   <div class="${q.radio}"></div>
   <label class="${q.checkbox}">
     <input type="checkbox" id="${q.checkbox}" />
     <span class="${q.label}"></span>
   </label>
   <textarea class="${q.textarea}" id="${q.textarea}"></textarea>
   <div class="${q["validation-message"]}" id="${q["validation-message"]}"></div>
   <div class="${q.actions}">
     <div class="${q.loader}"></div>
     <button type="button" class="${q.confirm}"></button>
     <button type="button" class="${q.deny}"></button>
     <button type="button" class="${q.cancel}"></button>
   </div>
   <div class="${q.footer}"></div>
   <div class="${q["timer-progress-bar-container"]}">
     <div class="${q["timer-progress-bar"]}"></div>
   </div>
 </div>
`.replace(/(^|\n)\s*/g,""),Nb=()=>{const e=Qt();return e?(e.remove(),Pn([document.documentElement,document.body],[q["no-backdrop"],q["toast-shown"],q["has-column"]]),true):false},Qo=()=>{De.currentInstance.resetValidationMessage();},Ub=()=>{const e=Je(),t=Lo(e,q.input),n=Lo(e,q.file),o=e.querySelector(`.${q.range} input`),i=e.querySelector(`.${q.range} output`),s=Lo(e,q.select),r=e.querySelector(`.${q.checkbox} input`),a=Lo(e,q.textarea);t.oninput=Qo,n.onchange=Qo,s.onchange=Qo,r.onchange=Qo,a.oninput=Qo,o.oninput=()=>{Qo(),i.value=o.value;},o.onchange=()=>{Qo(),i.value=o.value;};},jb=e=>typeof e=="string"?document.querySelector(e):e,zb=e=>{const t=Je();t.setAttribute("role",e.toast?"alert":"dialog"),t.setAttribute("aria-live",e.toast?"polite":"assertive"),e.toast||t.setAttribute("aria-modal","true");},Hb=e=>{window.getComputedStyle(e).direction==="rtl"&&Qe(Qt(),q.rtl);},Vb=e=>{const t=Nb();if(Rb()){xi("SweetAlert2 requires document to initialize");return}const n=document.createElement("div");n.className=q.container,t&&Qe(n,q["no-transition"]),xn(n,Fb),n.dataset.swal2Theme=e.theme;const o=jb(e.target);o.appendChild(n),e.topLayer&&(n.setAttribute("popover",""),n.showPopover()),zb(e),Hb(o),Ub();},xc=(e,t)=>{e instanceof HTMLElement?t.appendChild(e):typeof e=="object"?qb(e,t):e&&xn(t,e);},qb=(e,t)=>{e.jquery?Wb(t,e):xn(t,e.toString());},Wb=(e,t)=>{if(e.textContent="",0 in t)for(let n=0;n in t;n++)e.appendChild(t[n].cloneNode(true));else e.appendChild(t.cloneNode(true));},Kb=(e,t)=>{const n=rr(),o=is();!n||!o||(!t.showConfirmButton&&!t.showDenyButton&&!t.showCancelButton?jt(n):Dt(n),wn(n,t,"actions"),Gb(n,o,t),xn(o,t.loaderHtml||""),wn(o,t,"loader"));};function Gb(e,t,n){const o=oo(),i=_i(),s=os();!o||!i||!s||(El(o,"confirm",n),El(i,"deny",n),El(s,"cancel",n),Jb(o,i,s,n),n.reverseButtons&&(n.toast?(e.insertBefore(s,o),e.insertBefore(i,o)):(e.insertBefore(s,t),e.insertBefore(i,t),e.insertBefore(o,t))));}function Jb(e,t,n,o){if(!o.buttonsStyling){Pn([e,t,n],q.styled);return}Qe([e,t,n],q.styled),o.confirmButtonColor&&e.style.setProperty("--swal2-confirm-button-background-color",o.confirmButtonColor),o.denyButtonColor&&t.style.setProperty("--swal2-deny-button-background-color",o.denyButtonColor),o.cancelButtonColor&&n.style.setProperty("--swal2-cancel-button-background-color",o.cancelButtonColor),$l(e),$l(t),$l(n);}function $l(e){const t=window.getComputedStyle(e);if(t.getPropertyValue("--swal2-action-button-focus-box-shadow"))return;const n=t.backgroundColor.replace(/rgba?\((\d+), (\d+), (\d+).*/,"rgba($1, $2, $3, 0.5)");e.style.setProperty("--swal2-action-button-focus-box-shadow",t.getPropertyValue("--swal2-outline").replace(/ rgba\(.*/,` ${n}`));}function El(e,t,n){const o=dc(t);ar(e,n[`show${o}Button`],"inline-block"),xn(e,n[`${t}ButtonText`]||""),e.setAttribute("aria-label",n[`${t}ButtonAriaLabel`]||""),e.className=q[t],wn(e,n,`${t}Button`);}const Yb=(e,t)=>{const n=gc();n&&(xn(n,t.closeButtonHtml||""),wn(n,t,"closeButton"),ar(n,t.showCloseButton),n.setAttribute("aria-label",t.closeButtonAriaLabel||""));},Qb=(e,t)=>{const n=Qt();n&&(Xb(n,t.backdrop),Zb(n,t.position),ev(n,t.grow),wn(n,t,"container"));};function Xb(e,t){typeof t=="string"?e.style.background=t:t||Qe([document.documentElement,document.body],q["no-backdrop"]);}function Zb(e,t){t&&(t in q?Qe(e,q[t]):(Yt('The "position" parameter is not valid, defaulting to "center"'),Qe(e,q.center)));}function ev(e,t){t&&Qe(e,q[`grow-${t}`]);}var ct={innerParams:new WeakMap,domCache:new WeakMap};const tv=["input","file","range","select","radio","checkbox","textarea"],nv=(e,t)=>{const n=Je();if(!n)return;const o=ct.innerParams.get(e),i=!o||t.input!==o.input;tv.forEach(s=>{const r=Lo(n,q[s]);r&&(sv(s,t.inputAttributes),r.className=q[s],i&&jt(r));}),t.input&&(i&&ov(t),rv(t));},ov=e=>{if(!e.input)return;if(!vt[e.input]){xi(`Unexpected type of input! Expected ${Object.keys(vt).join(" | ")}, got "${e.input}"`);return}const t=hh(e.input);if(!t)return;const n=vt[e.input](t,e);Dt(t),e.inputAutoFocus&&setTimeout(()=>{dh(n);});},iv=e=>{for(let t=0;t<e.attributes.length;t++){const n=e.attributes[t].name;["id","type","value","style"].includes(n)||e.removeAttribute(n);}},sv=(e,t)=>{const n=Je();if(!n)return;const o=Ua(n,e);if(o){iv(o);for(const i in t)o.setAttribute(i,t[i]);}},rv=e=>{if(!e.input)return;const t=hh(e.input);t&&wn(t,e,"input");},_c=(e,t)=>{!e.placeholder&&t.inputPlaceholder&&(e.placeholder=t.inputPlaceholder);},lr=(e,t,n)=>{if(n.inputLabel){const o=document.createElement("label"),i=q["input-label"];o.setAttribute("for",e.id),o.className=i,typeof n.customClass=="object"&&Qe(o,n.customClass.inputLabel),o.innerText=n.inputLabel,t.insertAdjacentElement("beforebegin",o);}},hh=e=>{const t=Je();if(t)return Lo(t,q[e]||q.input)},Xr=(e,t)=>{["string","number"].includes(typeof t)?e.value=`${t}`:pc(t)||Yt(`Unexpected type of inputValue! Expected "string", "number" or "Promise", got "${typeof t}"`);},vt={};vt.text=vt.email=vt.password=vt.number=vt.tel=vt.url=vt.search=vt.date=vt["datetime-local"]=vt.time=vt.week=vt.month=(e,t)=>(Xr(e,t.inputValue),lr(e,e,t),_c(e,t),e.type=t.input,e);vt.file=(e,t)=>(lr(e,e,t),_c(e,t),e);vt.range=(e,t)=>{const n=e.querySelector("input"),o=e.querySelector("output");return Xr(n,t.inputValue),n.type=t.input,Xr(o,t.inputValue),lr(n,e,t),e};vt.select=(e,t)=>{if(e.textContent="",t.inputPlaceholder){const n=document.createElement("option");xn(n,t.inputPlaceholder),n.value="",n.disabled=true,n.selected=true,e.appendChild(n);}return lr(e,e,t),e};vt.radio=e=>(e.textContent="",e);vt.checkbox=(e,t)=>{const n=Ua(Je(),"checkbox");n.value="1",n.checked=!!t.inputValue;const o=e.querySelector("span");return xn(o,t.inputPlaceholder||t.inputLabel),n};vt.textarea=(e,t)=>{Xr(e,t.inputValue),_c(e,t),lr(e,e,t);const n=o=>parseInt(window.getComputedStyle(o).marginLeft)+parseInt(window.getComputedStyle(o).marginRight);return setTimeout(()=>{if("MutationObserver"in window){const o=parseInt(window.getComputedStyle(Je()).width),i=()=>{if(!document.body.contains(e))return;const s=e.offsetWidth+n(e);s>o?Je().style.width=`${s}px`:ai(Je(),"width",t.width);};new MutationObserver(i).observe(e,{attributes:true,attributeFilter:["style"]});}}),e};const av=(e,t)=>{const n=hc();n&&(bc(n),wn(n,t,"htmlContainer"),t.html?(xc(t.html,n),Dt(n,"block")):t.text?(n.textContent=t.text,Dt(n,"block")):jt(n),nv(e,t));},lv=(e,t)=>{const n=ch();n&&(bc(n),ar(n,t.footer,"block"),t.footer&&xc(t.footer,n),wn(n,t,"footer"));},uv=(e,t)=>{const n=ct.innerParams.get(e),o=ns();if(!o)return;if(n&&t.icon===n.icon){Od(o,t),Bd(o,t);return}if(!t.icon&&!t.iconHtml){jt(o);return}if(t.icon&&Object.keys(Qr).indexOf(t.icon)===-1){xi(`Unknown icon! Expected "success", "error", "warning", "info" or "question", got "${t.icon}"`),jt(o);return}Dt(o),Od(o,t),Bd(o,t),Qe(o,t.showClass&&t.showClass.icon),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",mh);},Bd=(e,t)=>{for(const[n,o]of Object.entries(Qr))t.icon!==n&&Pn(e,o);Qe(e,t.icon&&Qr[t.icon]),fv(e,t),mh(),wn(e,t,"icon");},mh=()=>{const e=Je();if(!e)return;const t=window.getComputedStyle(e).getPropertyValue("background-color"),n=e.querySelectorAll("[class^=swal2-success-circular-line], .swal2-success-fix");for(let o=0;o<n.length;o++)n[o].style.backgroundColor=t;},cv=e=>`
  ${e.animation?'<div class="swal2-success-circular-line-left"></div>':""}
  <span class="swal2-success-line-tip"></span> <span class="swal2-success-line-long"></span>
  <div class="swal2-success-ring"></div>
  ${e.animation?'<div class="swal2-success-fix"></div>':""}
  ${e.animation?'<div class="swal2-success-circular-line-right"></div>':""}
`,dv=`
  <span class="swal2-x-mark">
    <span class="swal2-x-mark-line-left"></span>
    <span class="swal2-x-mark-line-right"></span>
  </span>
`,Od=(e,t)=>{if(!t.icon&&!t.iconHtml)return;let n=e.innerHTML,o="";t.iconHtml?o=Rd(t.iconHtml):t.icon==="success"?(o=cv(t),n=n.replace(/ style=".*?"/g,"")):t.icon==="error"?o=dv:t.icon&&(o=Rd({question:"?",warning:"!",info:"i"}[t.icon])),n.trim()!==o.trim()&&xn(e,o);},fv=(e,t)=>{if(t.iconColor){e.style.color=t.iconColor,e.style.borderColor=t.iconColor;for(const n of [".swal2-success-line-tip",".swal2-success-line-long",".swal2-x-mark-line-left",".swal2-x-mark-line-right"])Md(e,n,"background-color",t.iconColor);Md(e,".swal2-success-ring","border-color",t.iconColor);}},Rd=e=>`<div class="${q["icon-content"]}">${e}</div>`,pv=(e,t)=>{const n=uh();if(n){if(!t.imageUrl){jt(n);return}Dt(n,""),n.setAttribute("src",t.imageUrl),n.setAttribute("alt",t.imageAlt||""),ai(n,"width",t.imageWidth),ai(n,"height",t.imageHeight),n.className=q.image,wn(n,t,"image");}};let Cc=false,gh=0,wh=0,yh=0,bh=0;const hv=e=>{e.addEventListener("mousedown",Zr),document.body.addEventListener("mousemove",ea),e.addEventListener("mouseup",ta),e.addEventListener("touchstart",Zr),document.body.addEventListener("touchmove",ea),e.addEventListener("touchend",ta);},mv=e=>{e.removeEventListener("mousedown",Zr),document.body.removeEventListener("mousemove",ea),e.removeEventListener("mouseup",ta),e.removeEventListener("touchstart",Zr),document.body.removeEventListener("touchmove",ea),e.removeEventListener("touchend",ta);},Zr=e=>{const t=Je();if(e.target===t||ns().contains(e.target)){Cc=true;const n=vh(e);gh=n.clientX,wh=n.clientY,yh=parseInt(t.style.insetInlineStart)||0,bh=parseInt(t.style.insetBlockStart)||0,Qe(t,"swal2-dragging");}},ea=e=>{const t=Je();if(Cc){let{clientX:n,clientY:o}=vh(e);t.style.insetInlineStart=`${yh+(n-gh)}px`,t.style.insetBlockStart=`${bh+(o-wh)}px`;}},ta=()=>{const e=Je();Cc=false,Pn(e,"swal2-dragging");},vh=e=>{let t=0,n=0;return e.type.startsWith("mouse")?(t=e.clientX,n=e.clientY):e.type.startsWith("touch")&&(t=e.touches[0].clientX,n=e.touches[0].clientY),{clientX:t,clientY:n}},gv=(e,t)=>{const n=Qt(),o=Je();if(!(!n||!o)){if(t.toast){ai(n,"width",t.width),o.style.width="100%";const i=is();i&&o.insertBefore(i,ns());}else ai(o,"width",t.width);ai(o,"padding",t.padding),t.color&&(o.style.color=t.color),t.background&&(o.style.background=t.background),jt(Ra()),wv(o,t),t.draggable&&!t.toast?(Qe(o,q.draggable),hv(o)):(Pn(o,q.draggable),mv(o));}},wv=(e,t)=>{const n=t.showClass||{};e.className=`${q.popup} ${an(e)?n.popup:""}`,t.toast?(Qe([document.documentElement,document.body],q["toast-shown"]),Qe(e,q.toast)):Qe(e,q.modal),wn(e,t,"popup"),typeof t.customClass=="string"&&Qe(e,t.customClass),t.icon&&Qe(e,q[`icon-${t.icon}`]);},yv=(e,t)=>{const n=mc();if(!n)return;const{progressSteps:o,currentProgressStep:i}=t;if(!o||o.length===0||i===void 0){jt(n);return}Dt(n),n.textContent="",i>=o.length&&Yt("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),o.forEach((s,r)=>{const a=bv(s);if(n.appendChild(a),r===i&&Qe(a,q["active-progress-step"]),r!==o.length-1){const l=vv(t);n.appendChild(l);}});},bv=e=>{const t=document.createElement("li");return Qe(t,q["progress-step"]),xn(t,e),t},vv=e=>{const t=document.createElement("li");return Qe(t,q["progress-step-line"]),e.progressStepsDistance&&ai(t,"width",e.progressStepsDistance),t},xv=(e,t)=>{const n=lh();n&&(bc(n),ar(n,t.title||t.titleText,"block"),t.title&&xc(t.title,n),t.titleText&&(n.innerText=t.titleText),wn(n,t,"title"));},xh=(e,t)=>{gv(e,t),Qb(e,t),yv(e,t),uv(e,t),pv(e,t),xv(e,t),Yb(e,t),av(e,t),Kb(e,t),lv(e,t);const n=Je();typeof t.didRender=="function"&&n&&t.didRender(n),De.eventEmitter.emit("didRender",n);},_v=()=>an(Je()),_h=()=>{var e;return (e=oo())===null||e===void 0?void 0:e.click()},Cv=()=>{var e;return (e=_i())===null||e===void 0?void 0:e.click()},kv=()=>{var e;return (e=os())===null||e===void 0?void 0:e.click()},ss=Object.freeze({cancel:"cancel",backdrop:"backdrop",close:"close",esc:"esc",timer:"timer"}),Ch=e=>{e.keydownTarget&&e.keydownHandlerAdded&&(e.keydownTarget.removeEventListener("keydown",e.keydownHandler,{capture:e.keydownListenerCapture}),e.keydownHandlerAdded=false);},Sv=(e,t,n)=>{Ch(e),t.toast||(e.keydownHandler=o=>Ev(t,o,n),e.keydownTarget=t.keydownListenerCapture?window:Je(),e.keydownListenerCapture=t.keydownListenerCapture,e.keydownTarget.addEventListener("keydown",e.keydownHandler,{capture:e.keydownListenerCapture}),e.keydownHandlerAdded=true);},du=(e,t)=>{var n;const o=wc();if(o.length){e=e+t,e===-2&&(e=o.length-1),e===o.length?e=0:e===-1&&(e=o.length-1),o[e].focus();return}(n=Je())===null||n===void 0||n.focus();},kh=["ArrowRight","ArrowDown"],$v=["ArrowLeft","ArrowUp"],Ev=(e,t,n)=>{e&&(t.isComposing||t.keyCode===229||(e.stopKeydownPropagation&&t.stopPropagation(),t.key==="Enter"?Av(t,e):t.key==="Tab"?Pv(t):[...kh,...$v].includes(t.key)?Iv(t.key):t.key==="Escape"&&Dv(t,e,n)));},Av=(e,t)=>{if(!Oa(t.allowEnterKey))return;const n=Ua(Je(),t.input);if(e.target&&n&&e.target instanceof HTMLElement&&e.target.outerHTML===n.outerHTML){if(["textarea","file"].includes(t.input))return;_h(),e.preventDefault();}},Pv=e=>{const t=e.target,n=wc();let o=-1;for(let i=0;i<n.length;i++)if(t===n[i]){o=i;break}e.shiftKey?du(o,-1):du(o,1),e.stopPropagation(),e.preventDefault();},Iv=e=>{const t=rr(),n=oo(),o=_i(),i=os();if(!t||!n||!o||!i)return;const s=[n,o,i];if(document.activeElement instanceof HTMLElement&&!s.includes(document.activeElement))return;const r=kh.includes(e)?"nextElementSibling":"previousElementSibling";let a=document.activeElement;if(a){for(let l=0;l<t.children.length;l++){if(a=a[r],!a)return;if(a instanceof HTMLButtonElement&&an(a))break}a instanceof HTMLButtonElement&&a.focus();}},Dv=(e,t,n)=>{e.preventDefault(),Oa(t.allowEscapeKey)&&n(ss.esc);};var Gi={swalPromiseResolve:new WeakMap,swalPromiseReject:new WeakMap};const Tv=()=>{const e=Qt();Array.from(document.body.children).forEach(n=>{n.contains(e)||(n.hasAttribute("aria-hidden")&&n.setAttribute("data-previous-aria-hidden",n.getAttribute("aria-hidden")||""),n.setAttribute("aria-hidden","true"));});},Sh=()=>{Array.from(document.body.children).forEach(t=>{t.hasAttribute("data-previous-aria-hidden")?(t.setAttribute("aria-hidden",t.getAttribute("data-previous-aria-hidden")||""),t.removeAttribute("data-previous-aria-hidden")):t.removeAttribute("aria-hidden");});},$h=typeof window<"u"&&!!window.GestureEvent,Lv=()=>{if($h&&!vo(document.body,q.iosfix)){const e=document.body.scrollTop;document.body.style.top=`${e*-1}px`,Qe(document.body,q.iosfix),Mv();}},Mv=()=>{const e=Qt();if(!e)return;let t;e.ontouchstart=n=>{t=Bv(n);},e.ontouchmove=n=>{t&&(n.preventDefault(),n.stopPropagation());};},Bv=e=>{const t=e.target,n=Qt(),o=hc();return !n||!o||Ov(e)||Rv(e)?false:t===n||!cu(n)&&t instanceof HTMLElement&&!Bb(t,o)&&t.tagName!=="INPUT"&&t.tagName!=="TEXTAREA"&&!(cu(o)&&o.contains(t))},Ov=e=>e.touches&&e.touches.length&&e.touches[0].touchType==="stylus",Rv=e=>e.touches&&e.touches.length>1,Fv=()=>{if(vo(document.body,q.iosfix)){const e=parseInt(document.body.style.top,10);Pn(document.body,q.iosfix),document.body.style.top="",document.body.scrollTop=e*-1;}},Nv=()=>{const e=document.createElement("div");e.className=q["scrollbar-measure"],document.body.appendChild(e);const t=e.getBoundingClientRect().width-e.clientWidth;return document.body.removeChild(e),t};let Bi=null;const Uv=e=>{Bi===null&&(document.body.scrollHeight>window.innerHeight||e==="scroll")&&(Bi=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")),document.body.style.paddingRight=`${Bi+Nv()}px`);},jv=()=>{Bi!==null&&(document.body.style.paddingRight=`${Bi}px`,Bi=null);};function Eh(e,t,n,o){Na()?Fd(e,o):(Sb(n).then(()=>Fd(e,o)),Ch(De)),$h?(t.setAttribute("style","display:none !important"),t.removeAttribute("class"),t.innerHTML=""):t.remove(),yc()&&(jv(),Fv(),Sh()),zv();}function zv(){Pn([document.documentElement,document.body],[q.shown,q["height-auto"],q["no-backdrop"],q["toast-shown"]]);}function Mo(e){e=Vv(e);const t=Gi.swalPromiseResolve.get(this),n=Hv(this);this.isAwaitingPromise?e.isDismissed||(ur(this),t(e)):n&&t(e);}const Hv=e=>{const t=Je();if(!t)return  false;const n=ct.innerParams.get(e);if(!n||vo(t,n.hideClass.popup))return  false;Pn(t,n.showClass.popup),Qe(t,n.hideClass.popup);const o=Qt();return Pn(o,n.showClass.backdrop),Qe(o,n.hideClass.backdrop),qv(e,t,n),true};function Ah(e){const t=Gi.swalPromiseReject.get(this);ur(this),t&&t(e);}const ur=e=>{e.isAwaitingPromise&&(delete e.isAwaitingPromise,ct.innerParams.get(e)||e._destroy());},Vv=e=>typeof e>"u"?{isConfirmed:false,isDenied:false,isDismissed:true}:Object.assign({isConfirmed:false,isDenied:false,isDismissed:false},e),qv=(e,t,n)=>{var o;const i=Qt(),s=ph(t);typeof n.willClose=="function"&&n.willClose(t),(o=De.eventEmitter)===null||o===void 0||o.emit("willClose",t),s?Wv(e,t,i,n.returnFocus,n.didClose):Eh(e,i,n.returnFocus,n.didClose);},Wv=(e,t,n,o,i)=>{De.swalCloseEventFinishedCallback=Eh.bind(null,e,n,o,i);const s=function(r){if(r.target===t){var a;(a=De.swalCloseEventFinishedCallback)===null||a===void 0||a.call(De),delete De.swalCloseEventFinishedCallback,t.removeEventListener("animationend",s),t.removeEventListener("transitionend",s);}};t.addEventListener("animationend",s),t.addEventListener("transitionend",s);},Fd=(e,t)=>{setTimeout(()=>{var n;typeof t=="function"&&t.bind(e.params)(),(n=De.eventEmitter)===null||n===void 0||n.emit("didClose"),e._destroy&&e._destroy();});},Ji=e=>{let t=Je();if(t||new V,t=Je(),!t)return;const n=is();Na()?jt(ns()):Kv(t,e),Dt(n),t.setAttribute("data-loading","true"),t.setAttribute("aria-busy","true"),t.focus();},Kv=(e,t)=>{const n=rr(),o=is();!n||!o||(!t&&an(oo())&&(t=oo()),Dt(n),t&&(jt(t),o.setAttribute("data-button-to-replace",t.className),n.insertBefore(o,t)),Qe([e,n],q.loading));},Gv=(e,t)=>{t.input==="select"||t.input==="radio"?Zv(e,t):["text","email","number","tel","textarea"].some(n=>n===t.input)&&(fc(t.inputValue)||pc(t.inputValue))&&(Ji(oo()),e1(e,t));},Jv=(e,t)=>{const n=e.getInput();if(!n)return null;switch(t.input){case "checkbox":return Yv(n);case "radio":return Qv(n);case "file":return Xv(n);default:return t.inputAutoTrim?n.value.trim():n.value}},Yv=e=>e.checked?1:0,Qv=e=>e.checked?e.value:null,Xv=e=>e.files&&e.files.length?e.getAttribute("multiple")!==null?e.files:e.files[0]:null,Zv=(e,t)=>{const n=Je();if(!n)return;const o=i=>{t.input==="select"?t1(n,na(i),t):t.input==="radio"&&n1(n,na(i),t);};fc(t.inputOptions)||pc(t.inputOptions)?(Ji(oo()),ir(t.inputOptions).then(i=>{e.hideLoading(),o(i);})):typeof t.inputOptions=="object"?o(t.inputOptions):xi(`Unexpected type of inputOptions! Expected object, Map or Promise, got ${typeof t.inputOptions}`);},e1=(e,t)=>{const n=e.getInput();n&&(jt(n),ir(t.inputValue).then(o=>{n.value=t.input==="number"?`${parseFloat(o)||0}`:`${o}`,Dt(n),n.focus(),e.hideLoading();}).catch(o=>{xi(`Error in inputValue promise: ${o}`),n.value="",Dt(n),n.focus(),e.hideLoading();}));};function t1(e,t,n){const o=Lo(e,q.select);if(!o)return;const i=(s,r,a)=>{const l=document.createElement("option");l.value=a,xn(l,r),l.selected=Ph(a,n.inputValue),s.appendChild(l);};t.forEach(s=>{const r=s[0],a=s[1];if(Array.isArray(a)){const l=document.createElement("optgroup");l.label=r,l.disabled=false,o.appendChild(l),a.forEach(c=>i(l,c[1],c[0]));}else i(o,a,r);}),o.focus();}function n1(e,t,n){const o=Lo(e,q.radio);if(!o)return;t.forEach(s=>{const r=s[0],a=s[1],l=document.createElement("input"),c=document.createElement("label");l.type="radio",l.name=q.radio,l.value=r,Ph(r,n.inputValue)&&(l.checked=true);const u=document.createElement("span");xn(u,a),u.className=q.label,c.appendChild(l),c.appendChild(u),o.appendChild(c);});const i=o.querySelectorAll("input");i.length&&i[0].focus();}const na=e=>{const t=[];return e instanceof Map?e.forEach((n,o)=>{let i=n;typeof i=="object"&&(i=na(i)),t.push([o,i]);}):Object.keys(e).forEach(n=>{let o=e[n];typeof o=="object"&&(o=na(o)),t.push([n,o]);}),t},Ph=(e,t)=>!!t&&t.toString()===e.toString(),o1=e=>{const t=ct.innerParams.get(e);e.disableButtons(),t.input?Ih(e,"confirm"):Sc(e,true);},i1=e=>{const t=ct.innerParams.get(e);e.disableButtons(),t.returnInputValueOnDeny?Ih(e,"deny"):kc(e,false);},s1=(e,t)=>{e.disableButtons(),t(ss.cancel);},Ih=(e,t)=>{const n=ct.innerParams.get(e);if(!n.input){xi(`The "input" parameter is needed to be set when using returnInputValueOn${dc(t)}`);return}const o=e.getInput(),i=Jv(e,n);n.inputValidator?r1(e,i,t):o&&!o.checkValidity()?(e.enableButtons(),e.showValidationMessage(n.validationMessage||o.validationMessage)):t==="deny"?kc(e,i):Sc(e,i);},r1=(e,t,n)=>{const o=ct.innerParams.get(e);e.disableInput(),Promise.resolve().then(()=>ir(o.inputValidator(t,o.validationMessage))).then(s=>{e.enableButtons(),e.enableInput(),s?e.showValidationMessage(s):n==="deny"?kc(e,t):Sc(e,t);});},kc=(e,t)=>{const n=ct.innerParams.get(e||void 0);n.showLoaderOnDeny&&Ji(_i()),n.preDeny?(e.isAwaitingPromise=true,Promise.resolve().then(()=>ir(n.preDeny(t,n.validationMessage))).then(i=>{i===false?(e.hideLoading(),ur(e)):e.close({isDenied:true,value:typeof i>"u"?t:i});}).catch(i=>Dh(e||void 0,i))):e.close({isDenied:true,value:t});},Nd=(e,t)=>{e.close({isConfirmed:true,value:t});},Dh=(e,t)=>{e.rejectPromise(t);},Sc=(e,t)=>{const n=ct.innerParams.get(e||void 0);n.showLoaderOnConfirm&&Ji(),n.preConfirm?(e.resetValidationMessage(),e.isAwaitingPromise=true,Promise.resolve().then(()=>ir(n.preConfirm(t,n.validationMessage))).then(i=>{an(Ra())||i===false?(e.hideLoading(),ur(e)):Nd(e,typeof i>"u"?t:i);}).catch(i=>Dh(e||void 0,i))):Nd(e,t);};function oa(){const e=ct.innerParams.get(this);if(!e)return;const t=ct.domCache.get(this);jt(t.loader),Na()?e.icon&&Dt(ns()):a1(t),Pn([t.popup,t.actions],q.loading),t.popup.removeAttribute("aria-busy"),t.popup.removeAttribute("data-loading"),t.confirmButton.disabled=false,t.denyButton.disabled=false,t.cancelButton.disabled=false;}const a1=e=>{const t=e.popup.getElementsByClassName(e.loader.getAttribute("data-button-to-replace"));t.length?Dt(t[0],"inline-block"):Mb()&&jt(e.actions);};function Th(){const e=ct.innerParams.get(this),t=ct.domCache.get(this);return t?Ua(t.popup,e.input):null}function Lh(e,t,n){const o=ct.domCache.get(e);t.forEach(i=>{o[i].disabled=n;});}function Mh(e,t){const n=Je();if(!(!n||!e))if(e.type==="radio"){const o=n.querySelectorAll(`[name="${q.radio}"]`);for(let i=0;i<o.length;i++)o[i].disabled=t;}else e.disabled=t;}function Bh(){Lh(this,["confirmButton","denyButton","cancelButton"],false);}function Oh(){Lh(this,["confirmButton","denyButton","cancelButton"],true);}function Rh(){Mh(this.getInput(),false);}function Fh(){Mh(this.getInput(),true);}function Nh(e){const t=ct.domCache.get(this),n=ct.innerParams.get(this);xn(t.validationMessage,e),t.validationMessage.className=q["validation-message"],n.customClass&&n.customClass.validationMessage&&Qe(t.validationMessage,n.customClass.validationMessage),Dt(t.validationMessage);const o=this.getInput();o&&(o.setAttribute("aria-invalid","true"),o.setAttribute("aria-describedby",q["validation-message"]),dh(o),Qe(o,q.inputerror));}function Uh(){const e=ct.domCache.get(this);e.validationMessage&&jt(e.validationMessage);const t=this.getInput();t&&(t.removeAttribute("aria-invalid"),t.removeAttribute("aria-describedby"),Pn(t,q.inputerror));}const Oi={title:"",titleText:"",text:"",html:"",footer:"",icon:void 0,iconColor:void 0,iconHtml:void 0,template:void 0,toast:false,draggable:false,animation:true,theme:"light",showClass:{popup:"swal2-show",backdrop:"swal2-backdrop-show",icon:"swal2-icon-show"},hideClass:{popup:"swal2-hide",backdrop:"swal2-backdrop-hide",icon:"swal2-icon-hide"},customClass:{},target:"body",color:void 0,backdrop:true,heightAuto:true,allowOutsideClick:true,allowEscapeKey:true,allowEnterKey:true,stopKeydownPropagation:true,keydownListenerCapture:false,showConfirmButton:true,showDenyButton:false,showCancelButton:false,preConfirm:void 0,preDeny:void 0,confirmButtonText:"OK",confirmButtonAriaLabel:"",confirmButtonColor:void 0,denyButtonText:"No",denyButtonAriaLabel:"",denyButtonColor:void 0,cancelButtonText:"Cancel",cancelButtonAriaLabel:"",cancelButtonColor:void 0,buttonsStyling:true,reverseButtons:false,focusConfirm:true,focusDeny:false,focusCancel:false,returnFocus:true,showCloseButton:false,closeButtonHtml:"&times;",closeButtonAriaLabel:"Close this dialog",loaderHtml:"",showLoaderOnConfirm:false,showLoaderOnDeny:false,imageUrl:void 0,imageWidth:void 0,imageHeight:void 0,imageAlt:"",timer:void 0,timerProgressBar:false,width:void 0,padding:void 0,background:void 0,input:void 0,inputPlaceholder:"",inputLabel:"",inputValue:"",inputOptions:{},inputAutoFocus:true,inputAutoTrim:true,inputAttributes:{},inputValidator:void 0,returnInputValueOnDeny:false,validationMessage:void 0,grow:false,position:"center",progressSteps:[],currentProgressStep:void 0,progressStepsDistance:void 0,willOpen:void 0,didOpen:void 0,didRender:void 0,willClose:void 0,didClose:void 0,didDestroy:void 0,scrollbarPadding:true,topLayer:false},l1=["allowEscapeKey","allowOutsideClick","background","buttonsStyling","cancelButtonAriaLabel","cancelButtonColor","cancelButtonText","closeButtonAriaLabel","closeButtonHtml","color","confirmButtonAriaLabel","confirmButtonColor","confirmButtonText","currentProgressStep","customClass","denyButtonAriaLabel","denyButtonColor","denyButtonText","didClose","didDestroy","draggable","footer","hideClass","html","icon","iconColor","iconHtml","imageAlt","imageHeight","imageUrl","imageWidth","preConfirm","preDeny","progressSteps","returnFocus","reverseButtons","showCancelButton","showCloseButton","showConfirmButton","showDenyButton","text","title","titleText","theme","willClose"],u1={allowEnterKey:void 0},c1=["allowOutsideClick","allowEnterKey","backdrop","draggable","focusConfirm","focusDeny","focusCancel","returnFocus","heightAuto","keydownListenerCapture"],jh=e=>Object.prototype.hasOwnProperty.call(Oi,e),zh=e=>l1.indexOf(e)!==-1,Hh=e=>u1[e],d1=e=>{jh(e)||Yt(`Unknown parameter "${e}"`);},f1=e=>{c1.includes(e)&&Yt(`The parameter "${e}" is incompatible with toasts`);},p1=e=>{const t=Hh(e);t&&ah(e,t);},Vh=e=>{e.backdrop===false&&e.allowOutsideClick&&Yt('"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`'),e.theme&&!["light","dark","auto","minimal","borderless","embed-iframe","bulma","bulma-light","bulma-dark"].includes(e.theme)&&Yt(`Invalid theme "${e.theme}"`);for(const t in e)d1(t),e.toast&&f1(t),p1(t);};function qh(e){const t=Qt(),n=Je(),o=ct.innerParams.get(this);if(!n||vo(n,o.hideClass.popup)){Yt("You're trying to update the closed or closing popup, that won't work. Use the update() method in preConfirm parameter or show a new popup.");return}const i=h1(e),s=Object.assign({},o,i);Vh(s),t.dataset.swal2Theme=s.theme,xh(this,s),ct.innerParams.set(this,s),Object.defineProperties(this,{params:{value:Object.assign({},this.params,e),writable:false,enumerable:true}});}const h1=e=>{const t={};return Object.keys(e).forEach(n=>{zh(n)?t[n]=e[n]:Yt(`Invalid parameter to update: ${n}`);}),t};function Wh(){const e=ct.domCache.get(this),t=ct.innerParams.get(this);if(!t){Kh(this);return}e.popup&&De.swalCloseEventFinishedCallback&&(De.swalCloseEventFinishedCallback(),delete De.swalCloseEventFinishedCallback),typeof t.didDestroy=="function"&&t.didDestroy(),De.eventEmitter.emit("didDestroy"),m1(this);}const m1=e=>{Kh(e),delete e.params,delete De.keydownHandler,delete De.keydownTarget,delete De.currentInstance;},Kh=e=>{e.isAwaitingPromise?(Al(ct,e),e.isAwaitingPromise=true):(Al(Gi,e),Al(ct,e),delete e.isAwaitingPromise,delete e.disableButtons,delete e.enableButtons,delete e.getInput,delete e.disableInput,delete e.enableInput,delete e.hideLoading,delete e.disableLoading,delete e.showValidationMessage,delete e.resetValidationMessage,delete e.close,delete e.closePopup,delete e.closeModal,delete e.closeToast,delete e.rejectPromise,delete e.update,delete e._destroy);},Al=(e,t)=>{for(const n in e)e[n].delete(t);};var g1=Object.freeze({__proto__:null,_destroy:Wh,close:Mo,closeModal:Mo,closePopup:Mo,closeToast:Mo,disableButtons:Oh,disableInput:Fh,disableLoading:oa,enableButtons:Bh,enableInput:Rh,getInput:Th,handleAwaitingPromise:ur,hideLoading:oa,rejectPromise:Ah,resetValidationMessage:Uh,showValidationMessage:Nh,update:qh});const w1=(e,t,n)=>{e.toast?y1(e,t,n):(v1(t),x1(t),_1(e,t,n));},y1=(e,t,n)=>{t.popup.onclick=()=>{e&&(b1(e)||e.timer||e.input)||n(ss.close);};},b1=e=>!!(e.showConfirmButton||e.showDenyButton||e.showCancelButton||e.showCloseButton);let ia=false;const v1=e=>{e.popup.onmousedown=()=>{e.container.onmouseup=function(t){e.container.onmouseup=()=>{},t.target===e.container&&(ia=true);};};},x1=e=>{e.container.onmousedown=t=>{t.target===e.container&&t.preventDefault(),e.popup.onmouseup=function(n){e.popup.onmouseup=()=>{},(n.target===e.popup||n.target instanceof HTMLElement&&e.popup.contains(n.target))&&(ia=true);};};},_1=(e,t,n)=>{t.container.onclick=o=>{if(ia){ia=false;return}o.target===t.container&&Oa(e.allowOutsideClick)&&n(ss.backdrop);};},C1=e=>typeof e=="object"&&e.jquery,Ud=e=>e instanceof Element||C1(e),k1=e=>{const t={};return typeof e[0]=="object"&&!Ud(e[0])?Object.assign(t,e[0]):["title","html","icon"].forEach((n,o)=>{const i=e[o];typeof i=="string"||Ud(i)?t[n]=i:i!==void 0&&xi(`Unexpected type of ${n}! Expected "string" or "Element", got ${typeof i}`);}),t};function S1(...e){return new this(...e)}function $1(e){class t extends this{_main(o,i){return super._main(o,Object.assign({},e,i))}}return t}const E1=()=>De.timeout&&De.timeout.getTimerLeft(),Gh=()=>{if(De.timeout)return Ob(),De.timeout.stop()},Jh=()=>{if(De.timeout){const e=De.timeout.start();return vc(e),e}},A1=()=>{const e=De.timeout;return e&&(e.running?Gh():Jh())},P1=e=>{if(De.timeout){const t=De.timeout.increase(e);return vc(t,true),t}},I1=()=>!!(De.timeout&&De.timeout.isRunning());let jd=false;const fu={};function D1(e="data-swal-template"){fu[e]=this,jd||(document.body.addEventListener("click",T1),jd=true);}const T1=e=>{for(let t=e.target;t&&t!==document;t=t.parentNode)for(const n in fu){const o=t.getAttribute(n);if(o){fu[n].fire({template:o});return}}};class L1{constructor(){this.events={};}_getHandlersByEventName(t){return typeof this.events[t]>"u"&&(this.events[t]=[]),this.events[t]}on(t,n){const o=this._getHandlersByEventName(t);o.includes(n)||o.push(n);}once(t,n){const o=(...i)=>{this.removeListener(t,o),n.apply(this,i);};this.on(t,o);}emit(t,...n){this._getHandlersByEventName(t).forEach(o=>{try{o.apply(this,n);}catch(i){console.error(i);}});}removeListener(t,n){const o=this._getHandlersByEventName(t),i=o.indexOf(n);i>-1&&o.splice(i,1);}removeAllListeners(t){this.events[t]!==void 0&&(this.events[t].length=0);}reset(){this.events={};}}De.eventEmitter=new L1;const M1=(e,t)=>{De.eventEmitter.on(e,t);},B1=(e,t)=>{De.eventEmitter.once(e,t);},O1=(e,t)=>{if(!e){De.eventEmitter.reset();return}t?De.eventEmitter.removeListener(e,t):De.eventEmitter.removeAllListeners(e);};var R1=Object.freeze({__proto__:null,argsToParams:k1,bindClickHandler:D1,clickCancel:kv,clickConfirm:_h,clickDeny:Cv,enableLoading:Ji,fire:S1,getActions:rr,getCancelButton:os,getCloseButton:gc,getConfirmButton:oo,getContainer:Qt,getDenyButton:_i,getFocusableElements:wc,getFooter:ch,getHtmlContainer:hc,getIcon:ns,getIconContent:Pb,getImage:uh,getInputLabel:Ib,getLoader:is,getPopup:Je,getProgressSteps:mc,getTimerLeft:E1,getTimerProgressBar:Fa,getTitle:lh,getValidationMessage:Ra,increaseTimer:P1,isDeprecatedParameter:Hh,isLoading:Tb,isTimerRunning:I1,isUpdatableParameter:zh,isValidParameter:jh,isVisible:_v,mixin:$1,off:O1,on:M1,once:B1,resumeTimer:Jh,showLoading:Ji,stopTimer:Gh,toggleTimer:A1});class F1{constructor(t,n){this.callback=t,this.remaining=n,this.running=false,this.start();}start(){return this.running||(this.running=true,this.started=new Date,this.id=setTimeout(this.callback,this.remaining)),this.remaining}stop(){return this.started&&this.running&&(this.running=false,clearTimeout(this.id),this.remaining-=new Date().getTime()-this.started.getTime()),this.remaining}increase(t){const n=this.running;return n&&this.stop(),this.remaining+=t,n&&this.start(),this.remaining}getTimerLeft(){return this.running&&(this.stop(),this.start()),this.remaining}isRunning(){return this.running}}const Yh=["swal-title","swal-html","swal-footer"],N1=e=>{const t=typeof e.template=="string"?document.querySelector(e.template):e.template;if(!t)return {};const n=t.content;return K1(n),Object.assign(U1(n),j1(n),z1(n),H1(n),V1(n),q1(n),W1(n,Yh))},U1=e=>{const t={};return Array.from(e.querySelectorAll("swal-param")).forEach(o=>{pi(o,["name","value"]);const i=o.getAttribute("name"),s=o.getAttribute("value");!i||!s||(typeof Oi[i]=="boolean"?t[i]=s!=="false":typeof Oi[i]=="object"?t[i]=JSON.parse(s):t[i]=s);}),t},j1=e=>{const t={};return Array.from(e.querySelectorAll("swal-function-param")).forEach(o=>{const i=o.getAttribute("name"),s=o.getAttribute("value");!i||!s||(t[i]=new Function(`return ${s}`)());}),t},z1=e=>{const t={};return Array.from(e.querySelectorAll("swal-button")).forEach(o=>{pi(o,["type","color","aria-label"]);const i=o.getAttribute("type");!i||!["confirm","cancel","deny"].includes(i)||(t[`${i}ButtonText`]=o.innerHTML,t[`show${dc(i)}Button`]=true,o.hasAttribute("color")&&(t[`${i}ButtonColor`]=o.getAttribute("color")),o.hasAttribute("aria-label")&&(t[`${i}ButtonAriaLabel`]=o.getAttribute("aria-label")));}),t},H1=e=>{const t={},n=e.querySelector("swal-image");return n&&(pi(n,["src","width","height","alt"]),n.hasAttribute("src")&&(t.imageUrl=n.getAttribute("src")||void 0),n.hasAttribute("width")&&(t.imageWidth=n.getAttribute("width")||void 0),n.hasAttribute("height")&&(t.imageHeight=n.getAttribute("height")||void 0),n.hasAttribute("alt")&&(t.imageAlt=n.getAttribute("alt")||void 0)),t},V1=e=>{const t={},n=e.querySelector("swal-icon");return n&&(pi(n,["type","color"]),n.hasAttribute("type")&&(t.icon=n.getAttribute("type")),n.hasAttribute("color")&&(t.iconColor=n.getAttribute("color")),t.iconHtml=n.innerHTML),t},q1=e=>{const t={},n=e.querySelector("swal-input");n&&(pi(n,["type","label","placeholder","value"]),t.input=n.getAttribute("type")||"text",n.hasAttribute("label")&&(t.inputLabel=n.getAttribute("label")),n.hasAttribute("placeholder")&&(t.inputPlaceholder=n.getAttribute("placeholder")),n.hasAttribute("value")&&(t.inputValue=n.getAttribute("value")));const o=Array.from(e.querySelectorAll("swal-input-option"));return o.length&&(t.inputOptions={},o.forEach(i=>{pi(i,["value"]);const s=i.getAttribute("value");if(!s)return;const r=i.innerHTML;t.inputOptions[s]=r;})),t},W1=(e,t)=>{const n={};for(const o in t){const i=t[o],s=e.querySelector(i);s&&(pi(s,[]),n[i.replace(/^swal-/,"")]=s.innerHTML.trim());}return n},K1=e=>{const t=Yh.concat(["swal-param","swal-function-param","swal-button","swal-image","swal-icon","swal-input","swal-input-option"]);Array.from(e.children).forEach(n=>{const o=n.tagName.toLowerCase();t.includes(o)||Yt(`Unrecognized element <${o}>`);});},pi=(e,t)=>{Array.from(e.attributes).forEach(n=>{t.indexOf(n.name)===-1&&Yt([`Unrecognized attribute "${n.name}" on <${e.tagName.toLowerCase()}>.`,`${t.length?`Allowed attributes are: ${t.join(", ")}`:"To set the value, use HTML within the element."}`]);});},Qh=10,G1=e=>{const t=Qt(),n=Je();typeof e.willOpen=="function"&&e.willOpen(n),De.eventEmitter.emit("willOpen",n);const i=window.getComputedStyle(document.body).overflowY;Q1(t,n,e),setTimeout(()=>{J1(t,n);},Qh),yc()&&(Y1(t,e.scrollbarPadding,i),Tv()),!Na()&&!De.previousActiveElement&&(De.previousActiveElement=document.activeElement),typeof e.didOpen=="function"&&setTimeout(()=>e.didOpen(n)),De.eventEmitter.emit("didOpen",n),Pn(t,q["no-transition"]);},sa=e=>{const t=Je();if(e.target!==t)return;const n=Qt();t.removeEventListener("animationend",sa),t.removeEventListener("transitionend",sa),n.style.overflowY="auto";},J1=(e,t)=>{ph(t)?(e.style.overflowY="hidden",t.addEventListener("animationend",sa),t.addEventListener("transitionend",sa)):e.style.overflowY="auto";},Y1=(e,t,n)=>{Lv(),t&&n!=="hidden"&&Uv(n),setTimeout(()=>{e.scrollTop=0;});},Q1=(e,t,n)=>{Qe(e,n.showClass.backdrop),n.animation?(t.style.setProperty("opacity","0","important"),Dt(t,"grid"),setTimeout(()=>{Qe(t,n.showClass.popup),t.style.removeProperty("opacity");},Qh)):Dt(t,"grid"),Qe([document.documentElement,document.body],q.shown),n.heightAuto&&n.backdrop&&!n.toast&&Qe([document.documentElement,document.body],q["height-auto"]);};var zd={email:(e,t)=>/^[a-zA-Z0-9.+_'-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]+$/.test(e)?Promise.resolve():Promise.resolve(t||"Invalid email address"),url:(e,t)=>/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(e)?Promise.resolve():Promise.resolve(t||"Invalid URL")};function X1(e){e.inputValidator||(e.input==="email"&&(e.inputValidator=zd.email),e.input==="url"&&(e.inputValidator=zd.url));}function Z1(e){(!e.target||typeof e.target=="string"&&!document.querySelector(e.target)||typeof e.target!="string"&&!e.target.appendChild)&&(Yt('Target parameter is not valid, defaulting to "body"'),e.target="body");}function e0(e){X1(e),e.showLoaderOnConfirm&&!e.preConfirm&&Yt(`showLoaderOnConfirm is set to true, but preConfirm is not defined.
showLoaderOnConfirm should be used together with preConfirm, see usage example:
https://sweetalert2.github.io/#ajax-request`),Z1(e),typeof e.title=="string"&&(e.title=e.title.split(`
`).join("<br />")),Vb(e);}let Gn;var $r=new WeakMap;class _t{constructor(...t){if(xb(this,$r,void 0),typeof window>"u")return;Gn=this;const n=Object.freeze(this.constructor.argsToParams(t));this.params=n,this.isAwaitingPromise=false,_b($r,this,this._main(Gn.params));}_main(t,n={}){if(Vh(Object.assign({},n,t)),De.currentInstance){const s=Gi.swalPromiseResolve.get(De.currentInstance),{isAwaitingPromise:r}=De.currentInstance;De.currentInstance._destroy(),r||s({isDismissed:true}),yc()&&Sh();}De.currentInstance=Gn;const o=n0(t,n);e0(o),Object.freeze(o),De.timeout&&(De.timeout.stop(),delete De.timeout),clearTimeout(De.restoreFocusTimeout);const i=o0(Gn);return xh(Gn,o),ct.innerParams.set(Gn,o),t0(Gn,i,o)}then(t){return Td($r,this).then(t)}finally(t){return Td($r,this).finally(t)}}const t0=(e,t,n)=>new Promise((o,i)=>{const s=r=>{e.close({isDismissed:true,dismiss:r});};Gi.swalPromiseResolve.set(e,o),Gi.swalPromiseReject.set(e,i),t.confirmButton.onclick=()=>{o1(e);},t.denyButton.onclick=()=>{i1(e);},t.cancelButton.onclick=()=>{s1(e,s);},t.closeButton.onclick=()=>{s(ss.close);},w1(n,t,s),Sv(De,n,s),Gv(e,n),G1(n),i0(De,n,s),s0(t,n),setTimeout(()=>{t.container.scrollTop=0;});}),n0=(e,t)=>{const n=N1(e),o=Object.assign({},Oi,t,n,e);return o.showClass=Object.assign({},Oi.showClass,o.showClass),o.hideClass=Object.assign({},Oi.hideClass,o.hideClass),o.animation===false&&(o.showClass={backdrop:"swal2-noanimation"},o.hideClass={}),o},o0=e=>{const t={popup:Je(),container:Qt(),actions:rr(),confirmButton:oo(),denyButton:_i(),cancelButton:os(),loader:is(),closeButton:gc(),validationMessage:Ra(),progressSteps:mc()};return ct.domCache.set(e,t),t},i0=(e,t,n)=>{const o=Fa();jt(o),t.timer&&(e.timeout=new F1(()=>{n("timer"),delete e.timeout;},t.timer),t.timerProgressBar&&(Dt(o),wn(o,t,"timerProgressBar"),setTimeout(()=>{e.timeout&&e.timeout.running&&vc(t.timer);})));},s0=(e,t)=>{if(!t.toast){if(!Oa(t.allowEnterKey)){ah("allowEnterKey"),l0();return}r0(e)||a0(e,t)||du(-1,1);}},r0=e=>{const t=Array.from(e.popup.querySelectorAll("[autofocus]"));for(const n of t)if(n instanceof HTMLElement&&an(n))return n.focus(),true;return  false},a0=(e,t)=>t.focusDeny&&an(e.denyButton)?(e.denyButton.focus(),true):t.focusCancel&&an(e.cancelButton)?(e.cancelButton.focus(),true):t.focusConfirm&&an(e.confirmButton)?(e.confirmButton.focus(),true):false,l0=()=>{document.activeElement instanceof HTMLElement&&typeof document.activeElement.blur=="function"&&document.activeElement.blur();};_t.prototype.disableButtons=Oh;_t.prototype.enableButtons=Bh;_t.prototype.getInput=Th;_t.prototype.disableInput=Fh;_t.prototype.enableInput=Rh;_t.prototype.hideLoading=oa;_t.prototype.disableLoading=oa;_t.prototype.showValidationMessage=Nh;_t.prototype.resetValidationMessage=Uh;_t.prototype.close=Mo;_t.prototype.closePopup=Mo;_t.prototype.closeModal=Mo;_t.prototype.closeToast=Mo;_t.prototype.rejectPromise=Ah;_t.prototype.update=qh;_t.prototype._destroy=Wh;Object.assign(_t,R1);Object.keys(g1).forEach(e=>{_t[e]=function(...t){return Gn&&Gn[e]?Gn[e](...t):null};});_t.DismissReason=ss;_t.version="11.22.4";const V=_t;V.default=V;typeof document<"u"&&(function(e,t){var n=e.createElement("style");if(e.getElementsByTagName("head")[0].appendChild(n),n.styleSheet)n.styleSheet.disabled||(n.styleSheet.cssText=t);else try{n.innerHTML=t;}catch{n.innerText=t;}})(document,':root{--swal2-outline: 0 0 0 3px rgba(100, 150, 200, 0.5);--swal2-container-padding: 0.625em;--swal2-backdrop: rgba(0, 0, 0, 0.4);--swal2-backdrop-transition: background-color 0.1s;--swal2-width: 32em;--swal2-padding: 0 0 1.25em;--swal2-border: none;--swal2-border-radius: 0.3125rem;--swal2-background: white;--swal2-color: #545454;--swal2-show-animation: swal2-show 0.3s;--swal2-hide-animation: swal2-hide 0.15s forwards;--swal2-icon-zoom: 1;--swal2-icon-animations: true;--swal2-title-padding: 0.8em 1em 0;--swal2-html-container-padding: 1em 1.6em 0.3em;--swal2-input-border: 1px solid #d9d9d9;--swal2-input-border-radius: 0.1875em;--swal2-input-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px transparent;--swal2-input-background: transparent;--swal2-input-transition: border-color 0.2s, box-shadow 0.2s;--swal2-input-hover-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px transparent;--swal2-input-focus-border: 1px solid #b4dbed;--swal2-input-focus-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px $swal2-outline-color;--swal2-progress-step-background: #add8e6;--swal2-validation-message-background: #f0f0f0;--swal2-validation-message-color: #666;--swal2-footer-border-color: #eee;--swal2-footer-background: transparent;--swal2-footer-color: inherit;--swal2-timer-progress-bar-background: rgba(0, 0, 0, 0.3);--swal2-close-button-position: initial;--swal2-close-button-inset: auto;--swal2-close-button-font-size: 2.5em;--swal2-close-button-color: #ccc;--swal2-close-button-transition: color 0.2s, box-shadow 0.2s;--swal2-close-button-outline: initial;--swal2-close-button-box-shadow: inset 0 0 0 3px transparent;--swal2-close-button-focus-box-shadow: inset var(--swal2-outline);--swal2-close-button-hover-transform: none;--swal2-actions-justify-content: center;--swal2-actions-width: auto;--swal2-actions-margin: 1.25em auto 0;--swal2-actions-padding: 0;--swal2-actions-border-radius: 0;--swal2-actions-background: transparent;--swal2-action-button-transition: background-color 0.2s, box-shadow 0.2s;--swal2-action-button-hover: black 10%;--swal2-action-button-active: black 10%;--swal2-confirm-button-box-shadow: none;--swal2-confirm-button-border-radius: 0.25em;--swal2-confirm-button-background-color: #7066e0;--swal2-confirm-button-color: #fff;--swal2-deny-button-box-shadow: none;--swal2-deny-button-border-radius: 0.25em;--swal2-deny-button-background-color: #dc3741;--swal2-deny-button-color: #fff;--swal2-cancel-button-box-shadow: none;--swal2-cancel-button-border-radius: 0.25em;--swal2-cancel-button-background-color: #6e7881;--swal2-cancel-button-color: #fff;--swal2-toast-show-animation: swal2-toast-show 0.5s;--swal2-toast-hide-animation: swal2-toast-hide 0.1s forwards;--swal2-toast-border: none;--swal2-toast-box-shadow: 0 0 1px hsl(0deg 0% 0% / 0.075), 0 1px 2px hsl(0deg 0% 0% / 0.075), 1px 2px 4px hsl(0deg 0% 0% / 0.075), 1px 3px 8px hsl(0deg 0% 0% / 0.075), 2px 4px 16px hsl(0deg 0% 0% / 0.075)}[data-swal2-theme=dark]{--swal2-dark-theme-black: #19191a;--swal2-dark-theme-white: #e1e1e1;--swal2-background: var(--swal2-dark-theme-black);--swal2-color: var(--swal2-dark-theme-white);--swal2-footer-border-color: #555;--swal2-input-background: color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background: color-mix( in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10% );--swal2-validation-message-color: var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background: rgba(255, 255, 255, 0.7)}@media(prefers-color-scheme: dark){[data-swal2-theme=auto]{--swal2-dark-theme-black: #19191a;--swal2-dark-theme-white: #e1e1e1;--swal2-background: var(--swal2-dark-theme-black);--swal2-color: var(--swal2-dark-theme-white);--swal2-footer-border-color: #555;--swal2-input-background: color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background: color-mix( in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10% );--swal2-validation-message-color: var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background: rgba(255, 255, 255, 0.7)}}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto !important}body.swal2-no-backdrop .swal2-container{background-color:rgba(0,0,0,0) !important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:all}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px var(--swal2-backdrop)}body.swal2-toast-shown .swal2-container{box-sizing:border-box;width:360px;max-width:100%;background-color:rgba(0,0,0,0);pointer-events:none}body.swal2-toast-shown .swal2-container.swal2-top{inset:0 auto auto 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{inset:0 0 auto auto}body.swal2-toast-shown .swal2-container.swal2-top-start,body.swal2-toast-shown .swal2-container.swal2-top-left{inset:0 auto auto 0}body.swal2-toast-shown .swal2-container.swal2-center-start,body.swal2-toast-shown .swal2-container.swal2-center-left{inset:50% auto auto 0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{inset:50% auto auto 50%;transform:translate(-50%, -50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{inset:50% 0 auto auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-start,body.swal2-toast-shown .swal2-container.swal2-bottom-left{inset:auto auto 0 0}body.swal2-toast-shown .swal2-container.swal2-bottom{inset:auto auto 0 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{inset:auto 0 0 auto}@media print{body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow-y:scroll !important}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown) .swal2-container{position:static !important}}div:where(.swal2-container){display:grid;position:fixed;z-index:1060;inset:0;box-sizing:border-box;grid-template-areas:"top-start     top            top-end" "center-start  center         center-end" "bottom-start  bottom-center  bottom-end";grid-template-rows:minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto);height:100%;padding:var(--swal2-container-padding);overflow-x:hidden;transition:var(--swal2-backdrop-transition);-webkit-overflow-scrolling:touch}div:where(.swal2-container).swal2-backdrop-show,div:where(.swal2-container).swal2-noanimation{background:var(--swal2-backdrop)}div:where(.swal2-container).swal2-backdrop-hide{background:rgba(0,0,0,0) !important}div:where(.swal2-container).swal2-top-start,div:where(.swal2-container).swal2-center-start,div:where(.swal2-container).swal2-bottom-start{grid-template-columns:minmax(0, 1fr) auto auto}div:where(.swal2-container).swal2-top,div:where(.swal2-container).swal2-center,div:where(.swal2-container).swal2-bottom{grid-template-columns:auto minmax(0, 1fr) auto}div:where(.swal2-container).swal2-top-end,div:where(.swal2-container).swal2-center-end,div:where(.swal2-container).swal2-bottom-end{grid-template-columns:auto auto minmax(0, 1fr)}div:where(.swal2-container).swal2-top-start>.swal2-popup{align-self:start}div:where(.swal2-container).swal2-top>.swal2-popup{grid-column:2;place-self:start center}div:where(.swal2-container).swal2-top-end>.swal2-popup,div:where(.swal2-container).swal2-top-right>.swal2-popup{grid-column:3;place-self:start end}div:where(.swal2-container).swal2-center-start>.swal2-popup,div:where(.swal2-container).swal2-center-left>.swal2-popup{grid-row:2;align-self:center}div:where(.swal2-container).swal2-center>.swal2-popup{grid-column:2;grid-row:2;place-self:center center}div:where(.swal2-container).swal2-center-end>.swal2-popup,div:where(.swal2-container).swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;place-self:center end}div:where(.swal2-container).swal2-bottom-start>.swal2-popup,div:where(.swal2-container).swal2-bottom-left>.swal2-popup{grid-column:1;grid-row:3;align-self:end}div:where(.swal2-container).swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;place-self:end center}div:where(.swal2-container).swal2-bottom-end>.swal2-popup,div:where(.swal2-container).swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;place-self:end end}div:where(.swal2-container).swal2-grow-row>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-column:1/4;width:100%}div:where(.swal2-container).swal2-grow-column>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}div:where(.swal2-container).swal2-no-transition{transition:none !important}div:where(.swal2-container)[popover]{width:auto;border:0}div:where(.swal2-container) div:where(.swal2-popup){display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0, 100%);width:var(--swal2-width);max-width:100%;padding:var(--swal2-padding);border:var(--swal2-border);border-radius:var(--swal2-border-radius);background:var(--swal2-background);color:var(--swal2-color);font-family:inherit;font-size:1rem;container-name:swal2-popup}div:where(.swal2-container) div:where(.swal2-popup):focus{outline:none}div:where(.swal2-container) div:where(.swal2-popup).swal2-loading{overflow-y:hidden}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable{cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable div:where(.swal2-icon){cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging{cursor:grabbing}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging div:where(.swal2-icon){cursor:grabbing}div:where(.swal2-container) h2:where(.swal2-title){position:relative;max-width:100%;margin:0;padding:var(--swal2-title-padding);color:inherit;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word;cursor:initial}div:where(.swal2-container) div:where(.swal2-actions){display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:var(--swal2-actions-justify-content);width:var(--swal2-actions-width);margin:var(--swal2-actions-margin);padding:var(--swal2-actions-padding);border-radius:var(--swal2-actions-border-radius);background:var(--swal2-actions-background)}div:where(.swal2-container) div:where(.swal2-loader){display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 rgba(0,0,0,0) #2778c4 rgba(0,0,0,0)}div:where(.swal2-container) button:where(.swal2-styled){margin:.3125em;padding:.625em 1.1em;transition:var(--swal2-action-button-transition);border:none;box-shadow:0 0 0 3px rgba(0,0,0,0);font-weight:500}div:where(.swal2-container) button:where(.swal2-styled):not([disabled]){cursor:pointer}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm){border-radius:var(--swal2-confirm-button-border-radius);background:initial;background-color:var(--swal2-confirm-button-background-color);box-shadow:var(--swal2-confirm-button-box-shadow);color:var(--swal2-confirm-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):hover{background-color:color-mix(in srgb, var(--swal2-confirm-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):active{background-color:color-mix(in srgb, var(--swal2-confirm-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny){border-radius:var(--swal2-deny-button-border-radius);background:initial;background-color:var(--swal2-deny-button-background-color);box-shadow:var(--swal2-deny-button-box-shadow);color:var(--swal2-deny-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):hover{background-color:color-mix(in srgb, var(--swal2-deny-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):active{background-color:color-mix(in srgb, var(--swal2-deny-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel){border-radius:var(--swal2-cancel-button-border-radius);background:initial;background-color:var(--swal2-cancel-button-background-color);box-shadow:var(--swal2-cancel-button-box-shadow);color:var(--swal2-cancel-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):hover{background-color:color-mix(in srgb, var(--swal2-cancel-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):active{background-color:color-mix(in srgb, var(--swal2-cancel-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):focus-visible{outline:none;box-shadow:var(--swal2-action-button-focus-box-shadow)}div:where(.swal2-container) button:where(.swal2-styled)[disabled]:not(.swal2-loading){opacity:.4}div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-footer){margin:1em 0 0;padding:1em 1em 0;border-top:1px solid var(--swal2-footer-border-color);background:var(--swal2-footer-background);color:var(--swal2-footer-color);font-size:1em;text-align:center;cursor:initial}div:where(.swal2-container) .swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;grid-column:auto !important;overflow:hidden;border-bottom-right-radius:var(--swal2-border-radius);border-bottom-left-radius:var(--swal2-border-radius)}div:where(.swal2-container) div:where(.swal2-timer-progress-bar){width:100%;height:.25em;background:var(--swal2-timer-progress-bar-background)}div:where(.swal2-container) img:where(.swal2-image){max-width:100%;margin:2em auto 1em;cursor:initial}div:where(.swal2-container) button:where(.swal2-close){position:var(--swal2-close-button-position);inset:var(--swal2-close-button-inset);z-index:2;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-top:0;margin-right:0;margin-bottom:-1.2em;padding:0;overflow:hidden;transition:var(--swal2-close-button-transition);border:none;border-radius:var(--swal2-border-radius);outline:var(--swal2-close-button-outline);background:rgba(0,0,0,0);color:var(--swal2-close-button-color);font-family:monospace;font-size:var(--swal2-close-button-font-size);cursor:pointer;justify-self:end}div:where(.swal2-container) button:where(.swal2-close):hover{transform:var(--swal2-close-button-hover-transform);background:rgba(0,0,0,0);color:#f27474}div:where(.swal2-container) button:where(.swal2-close):focus-visible{outline:none;box-shadow:var(--swal2-close-button-focus-box-shadow)}div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-html-container){z-index:1;justify-content:center;margin:0;padding:var(--swal2-html-container-padding);overflow:auto;color:inherit;font-size:1.125em;font-weight:normal;line-height:normal;text-align:center;word-wrap:break-word;word-break:break-word;cursor:initial}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea),div:where(.swal2-container) select:where(.swal2-select),div:where(.swal2-container) div:where(.swal2-radio),div:where(.swal2-container) label:where(.swal2-checkbox){margin:1em 2em 3px}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea){box-sizing:border-box;width:auto;transition:var(--swal2-input-transition);border:var(--swal2-input-border);border-radius:var(--swal2-input-border-radius);background:var(--swal2-input-background);box-shadow:var(--swal2-input-box-shadow);color:inherit;font-size:1.125em}div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror,div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror,div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror{border-color:#f27474 !important;box-shadow:0 0 2px #f27474 !important}div:where(.swal2-container) input:where(.swal2-input):hover,div:where(.swal2-container) input:where(.swal2-file):hover,div:where(.swal2-container) textarea:where(.swal2-textarea):hover{box-shadow:var(--swal2-input-hover-box-shadow)}div:where(.swal2-container) input:where(.swal2-input):focus,div:where(.swal2-container) input:where(.swal2-file):focus,div:where(.swal2-container) textarea:where(.swal2-textarea):focus{border:var(--swal2-input-focus-border);outline:none;box-shadow:var(--swal2-input-focus-box-shadow)}div:where(.swal2-container) input:where(.swal2-input)::placeholder,div:where(.swal2-container) input:where(.swal2-file)::placeholder,div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder{color:#ccc}div:where(.swal2-container) .swal2-range{margin:1em 2em 3px;background:var(--swal2-background)}div:where(.swal2-container) .swal2-range input{width:80%}div:where(.swal2-container) .swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}div:where(.swal2-container) .swal2-range input,div:where(.swal2-container) .swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}div:where(.swal2-container) .swal2-input{height:2.625em;padding:0 .75em}div:where(.swal2-container) .swal2-file{width:75%;margin-right:auto;margin-left:auto;background:var(--swal2-input-background);font-size:1.125em}div:where(.swal2-container) .swal2-textarea{height:6.75em;padding:.75em}div:where(.swal2-container) .swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:var(--swal2-input-background);color:inherit;font-size:1.125em}div:where(.swal2-container) .swal2-radio,div:where(.swal2-container) .swal2-checkbox{align-items:center;justify-content:center;background:var(--swal2-background);color:inherit}div:where(.swal2-container) .swal2-radio label,div:where(.swal2-container) .swal2-checkbox label{margin:0 .6em;font-size:1.125em}div:where(.swal2-container) .swal2-radio input,div:where(.swal2-container) .swal2-checkbox input{flex-shrink:0;margin:0 .4em}div:where(.swal2-container) label:where(.swal2-input-label){display:flex;justify-content:center;margin:1em auto 0}div:where(.swal2-container) div:where(.swal2-validation-message){align-items:center;justify-content:center;margin:1em 0 0;padding:.625em;overflow:hidden;background:var(--swal2-validation-message-background);color:var(--swal2-validation-message-color);font-size:1em;font-weight:300}div:where(.swal2-container) div:where(.swal2-validation-message)::before{content:"!";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}div:where(.swal2-container) .swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;background:rgba(0,0,0,0);font-weight:600}div:where(.swal2-container) .swal2-progress-steps li{display:inline-block;position:relative}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:var(--swal2-progress-step-background);color:#fff}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:var(--swal2-progress-step-background)}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}div:where(.swal2-icon){position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;zoom:var(--swal2-icon-zoom);border:.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;user-select:none}div:where(.swal2-icon) .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}div:where(.swal2-icon).swal2-error{border-color:#f27474;color:#f27474}div:where(.swal2-icon).swal2-error .swal2-x-mark{position:relative;flex-grow:1}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-error.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark{animation:swal2-animate-error-x-mark .5s}}div:where(.swal2-icon).swal2-warning{border-color:#f8bb86;color:#f8bb86}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-warning.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .5s}}div:where(.swal2-icon).swal2-info{border-color:#3fc3ee;color:#3fc3ee}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-info.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .8s}}div:where(.swal2-icon).swal2-question{border-color:#87adbd;color:#87adbd}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-question.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content{animation:swal2-animate-question-mark .8s}}div:where(.swal2-icon).swal2-success{border-color:#a5dc86;color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;border-radius:50%}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}div:where(.swal2-icon).swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-0.25em;left:-0.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}div:where(.swal2-icon).swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-animate-success-line-tip .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-animate-success-line-long .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:swal2-rotate-success-circular-line 4.25s ease-in}}[class^=swal2]{-webkit-tap-highlight-color:rgba(0,0,0,0)}.swal2-show{animation:var(--swal2-show-animation)}.swal2-hide{animation:var(--swal2-hide-animation)}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}.swal2-toast{box-sizing:border-box;grid-column:1/4 !important;grid-row:1/4 !important;grid-template-columns:min-content auto min-content;padding:1em;overflow-y:hidden;border:var(--swal2-toast-border);background:var(--swal2-background);box-shadow:var(--swal2-toast-box-shadow);pointer-events:all}.swal2-toast>*{grid-column:2}.swal2-toast h2:where(.swal2-title){margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-toast .swal2-loading{justify-content:center}.swal2-toast input:where(.swal2-input){height:2em;margin:.5em;font-size:1em}.swal2-toast .swal2-validation-message{font-size:1em}.swal2-toast div:where(.swal2-footer){margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-toast button:where(.swal2-close){grid-column:3/3;grid-row:1/99;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-toast div:where(.swal2-html-container){margin:.5em 1em;padding:0;overflow:initial;font-size:1em;text-align:initial}.swal2-toast div:where(.swal2-html-container):empty{padding:0}.swal2-toast .swal2-loader{grid-column:1;grid-row:1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-toast .swal2-icon{grid-column:1;grid-row:1/99;align-self:center;width:2em;min-width:2em;height:2em;margin:0 .5em 0 0}.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:bold}.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-toast div:where(.swal2-actions){justify-content:flex-start;height:auto;margin:0;margin-top:.5em;padding:0 .5em}.swal2-toast button:where(.swal2-styled){margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;border-radius:50%}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.8em;left:-0.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}@container swal2-popup style(--swal2-icon-animations:true){.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-toast-animate-success-line-tip .75s}.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-toast-animate-success-line-long .75s}}.swal2-toast.swal2-show{animation:var(--swal2-toast-show-animation)}.swal2-toast.swal2-hide{animation:var(--swal2-toast-hide-animation)}@keyframes swal2-show{0%{transform:scale(0.7)}45%{transform:scale(1.05)}80%{transform:scale(0.95)}100%{transform:scale(1)}}@keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(0.5);opacity:0}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-0.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(0.4);opacity:0}50%{margin-top:1.625em;transform:scale(0.4);opacity:0}80%{margin-top:-0.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}@keyframes swal2-rotate-loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}100%{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{transform:rotateZ(45deg);opacity:0}25%{transform:rotateZ(-25deg);opacity:.4}50%{transform:rotateZ(15deg);opacity:.8}75%{transform:rotateZ(-5deg);opacity:1}100%{transform:rotateX(0);opacity:1}}@keyframes swal2-toast-show{0%{transform:translateY(-0.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(0.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0deg)}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-0.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}');const Xh=wt.clouddrive;var Bo=(e=>(e.windows="windows",e.macos="macos",e.linux="linux",e.android="android",e))(Bo||{}),hi=(e=>(e.unknown="unknown",e.classic="classic",e.modern="modern",e))(hi||{}),Ho=(e=>(e.play="play",e.download="download",e))(Ho||{});function $c(e){return {active:false,url:"http://localhost:19798",root:"/115",memo:"",platform:void 0,ver_lt_0816:false,...e}}async function Zh(){const e=[$c()],t=await Xe.get(Xh,e);return t||e}async function Hd(e){e.some(t=>t.active)||(e[0].active=true),await Xe.set(Xh,e);}async function Xt(){return (await Zh()).find(t=>t.active)||$c()}function u0(e){if(!document.execCommand)return  false;const t=document.createElement("input");t.style.position="fixed",t.style.opacity="0",t.value=e,document.body.appendChild(t),t.select();try{return document.execCommand("Copy")}catch(n){console.warn("[copyViaCmd] execCommand",n);}finally{document.body.removeChild(t);}return  false}function c0(e){prompt("请复制以下内容:",e);}function d0(e=navigator.userAgent){return e.indexOf("Safari")>-1&&e.indexOf("Chrome")<=-1}function ft(e){const t=()=>{u0(e)||(d0()?c0(e):Qy(e,"text/plain"));};navigator.clipboard?navigator.clipboard.writeText(e).then(()=>{}).catch(n=>{console.warn("[copyToClipboard] navigator.clipboard",n),t();}):t();}function ja(e="",t=""){return e+Date.now().toString()+Math.random().toString(36).substring(5)+t}function f0(e,t="NFD"){return e.normalize(t)}function p0(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function em(e,t){return e=e.replace(/^[\/]+/g,""),"/"+e}function tm(e){return e.startsWith("file://")}function h0(e){switch(e){case Bo.windows:return ["/","\\",":","*","?",'"',"<",">","|"];case Bo.macos:return ["/",":"];case Bo.linux:case Bo.android:return ["/","\0"];default:return ["/","\0"]}}function cn(e,t,n=true){const o=h0(e.platform||Bo.linux);let i=Array.from(t).map(s=>{if(o.includes(s)){const r=s.charCodeAt(0)+65248;return String.fromCharCode(r)}else return s==="\r"||s===`
`?" ":s}).join("");for(;i.endsWith(".")||i.endsWith(" ");)i.endsWith(".")?i=i.replace(/\.+$/,""):i=i.replace(/\s+$/,"");return n&&(i=Ec(e,i)),i}async function Yi(e,t,n=Ho.play,o=true,i=""){Array.isArray(t)?t=[...t].map(f=>cn(e,f,true)).join("/"):t=Ec(e,t);let{url:s,root:r}=e;if(!s)throw new Error("未设置CloudDrive地址!");(s.startsWith("/")||s.startsWith("\\"))&&(s=`file:///${s}`),tm(s);const a=/^https?:\/\//.test(s);if(a&&!r)throw new Error("当协议为http/https时,必须设置CloudDrive资源根路径!");r&&(r=r.replace(/^(\/+)?/g,"/")),t=t.replace(/^(\/+)?/g,"/");const l=`${r}${t}`,c=n===Ho.play?"True":"False";let u="";return s=s.replace(/\/+$/,""),a?u=`${s}/static/${s.replace("://","/")}/${c}/${encodeURIComponent(l)}`:u=`${s}${l}`,i&&(u+=i),o&&(u+="?check_expire=True"),console.log("[Cloud115 Enhancer] buildCloudDriveUrl",u),u}async function pu(e,t,n=true){let{url:o,root:i}=e;if(!o)throw new Error("未设置CloudDrive地址!");return tm(o)?await Yi(e,t,Ho.play,n):await Yi(e,t,Ho.play,n,".clfsplaylist.m3u")}async function m0(e,t,n=hi.classic){let{url:o}=e;if(!o)throw new Error("未设置CloudDrive地址!");return o.startsWith("http")||(o=`http://${o}`),o=o.replace(/\/+$/,""),t=e.root.replace(/\/+$/,"")+t,t=t.replace(/^(\/+)?/g,"/"),t=Ec(e,t),n===hi.modern?`${o}/?page=files&path=${encodeURIComponent(t)}`:`${o}/#${t}?a=1`}function Ec(e,t){return e.platform===Bo.macos?f0(t,e.ver_lt_0816?"NFD":"NFC"):t}const Ri=V.mixin({toast:true,position:"top-end",showConfirmButton:false,timer:3e3,timerProgressBar:true,didOpen:e=>{e.addEventListener("mouseenter",V.stopTimer),e.addEventListener("mouseleave",V.resumeTimer);},customClass:{popup:"swal-toast"}});async function g0(e,t){e.addEventListener("keydown",n=>{const o=n.target;if(!Qp(o))return;let i=false;n.key==="Enter"&&(n.ctrlKey||n.metaKey)&&(i=true),i&&V.clickConfirm();});}async function Y(e){return V.fire({toast:true,position:"top-right",showConfirmButton:false,timer:3e3,timerProgressBar:true,didOpen:t=>{t.addEventListener("mouseenter",V.stopTimer),t.addEventListener("mouseleave",V.resumeTimer);},...e})}async function w0(e,t,n=false){const o=new Map;if(!e.length)return o;t=t||await Xt();let i=new Map;n||(Y({text:"正在获取上级目录路径...",timer:0}),V.showLoading());try{i=await W0(e),n||V.close();}catch(s){return console.error(s),n||Y({text:`获取上级目录路径失败: ${s}`,timer:1200,icon:"error"}),o}finally{n||V.hideLoading();}if(i.size===0)return o;for(let s=0;s<e.length;s++){const r=i.get(e[s].parentId)?.slice(1).join("/"),a=e[s].name,l=em(r+"/"+a),c=e[s].isFile?await Yi(t,l,Ho.play):await pu(t,l);o.set(l,c);}return console.log("[buildCloudDriveUrlsForFileItems] pathToUrl:",o),o}async function y0(e,t,n=false){return new Promise(async(o,i)=>{const s=await Yi(e,t,void 0,n);Ta({method:"HEAD",url:s,onload:r=>o(r.status===200),onerror:r=>i(r)});})}async function b0(e,t,n,o,i){const r=`waitFileExist_${ja()} path: ${t}`;console.time(r);async function a(l){const c=await y0(e,t,n);c&&l(c);}try{await Ko(a,o,i);}catch{throw new Error(`[waitFileExist] 检查文件存在超时!文件路径: ${t}`)}finally{console.timeEnd(r);}}function v0(e){return new Promise((t,n)=>{Ta({method:"HEAD",url:e.url,onload:o=>{parseInt(o.responseHeaders.match(/Content-Length:\s*(\d+)/i)?.[1]||"0")<5e3?t(hi.classic):t(hi.modern);},onerror:o=>{n(new Error(`获取CloudDrive页面版本失败: ${o.statusText}`));}});})}async function x0(e){let t=`#EXTM3U
`;for(const[n,o]of e)t+=`#EXTINF:0,${n}
${o}
`;return t}var Oo=(e=>(e.unix="/",e.windows="\\",e))(Oo||{});function ra(e,t="/"){return e.map((n,o)=>o===0?n:za(n,t)).join(t)}function za(e,t="/"){return e=e.replace(/[\\/]/g,t),t==="/"?e=e.replace(/\/+/g,t):e=e.replace(/\\+/g,t),e.length>1&&e.endsWith(t)&&(e=e.slice(0,-1)),e}function _0(e){return e.startsWith("/")}function C0(e){return e===""||e==="/"||e==="\\"}function hu(e,t,n="/"){if(_0(t))return t;const o=new URL(e,"http://example.com");o.pathname=k0(o.pathname,t);let i=decodeURIComponent(o.pathname);return za(i,n)}function k0(e,t){const n=e.endsWith("/")?e:e+"/",o=t.startsWith("/")?t.slice(1):t;return n+o}function nm(e,t=/^\w+$/){const n=e.lastIndexOf(".");if(n===-1)return "";const o=e.slice(n+1);return t&&!t.test(o)?"":o}function Ac(e){return JSON.parse(JSON.stringify(e))}function S0(e){return Object.prototype.toString.call(e)==="[object Object]"}function Vd(e){return S0(e)&&!Array.isArray(e)}function Pc(...e){const t={};for(const n of e)for(const o in n)Object.prototype.hasOwnProperty.call(n,o)&&(Vd(n[o])&&Vd(t[o])?t[o]=Pc(t[o],n[o]):t[o]=n[o]);return t}function $0(e){const t=new Map;for(const[n,o]of e)t.set(o,n);return t}function Ha(e){const t=new URLSearchParams;let n;for(n in e)t.append(n,e[n].toString());return t.toString()}function E0(e,t=false){const n=[];for(const o in e){let i=e[o].toString();i=t?encodeURIComponent(i):i,n.push(`${o}=${i}`);}return n.join("&")}function A0(e){const t=new FormData;let n;for(n in e)t.append(n,e[n].toString());return t}const om=wt.anxia;var Va=(e=>(e.anxia="v.anxia.com",e.vod="115vod.com",e))(Va||{});const im={"3G":"标清",SD:"高清",HD:"超清",UD:"1080P",BD:"4K",YH:"原画"};function P0(e){return {defaultWebFull:false,defaultOpenPlayList:false,defaultDefinition:"",...e}}async function sm(){const e=P0(),t=await Xe.get(om,e);return {...e,...t}}async function I0(e){await Xe.set(om,e);}let rm;function D0(e){rm=e;}function Ot(){return rm}async function Ut(e){const t=new URLSearchParams({cid:e});return (await Ot().get("https://webapi.115.com/category/get?"+t.toString(),{timeout:12e4,withCredentials:true})).data}async function T0(e){const t={path:e};return (await Ot().get("https://webapi.115.com/files/getid?"+Ha(t),{timeout:12e4,withCredentials:true})).data}async function qa(e,t){const n=new URLSearchParams({pid:e,ignore_warn:"1"});return t.forEach((i,s)=>{n.append(`fid[${s}]`,i);}),(await Ot().post("https://webapi.115.com/rb/delete",n,{timeout:12e4,withCredentials:true})).data}async function Pl(e,t,n=1150,o=1e3){let i=0,s=0;for(;;){const r=t.slice(i,i+n);if((await qa(e,r)).state&&(s+=r.length),i+=n,i>=t.length)break;await At(o);}return s}async function am(e,t){const n=new URLSearchParams({pid:e,cname:t});return (await Ot().post("https://webapi.115.com/files/add",n,{timeout:12e4,withCredentials:true})).data}async function Ic(e,t){const n=new URLSearchParams({pid:e});return t.forEach((i,s)=>{n.append(`fid[${s}]`,i);}),(await Ot().post("https://webapi.115.com/files/move",n,{timeout:12e4,withCredentials:true})).data}var mn=(e=>(e[e.all=0]="all",e[e.video=4]="video",e[e.audio=3]="audio",e[e.image=2]="image",e[e.doc=1]="doc",e[e.app=6]="app",e[e.archive=5]="archive",e[e.file=99]="file",e))(mn||{}),on=(e=>(e.all="全部",e.video="视频",e.audio="音频",e.image="图片",e.doc="文档",e.app="应用",e.archive="压缩包",e.file="仅文件",e))(on||{}),Wa=(e=>(e.userPtime="user_ptime",e.fileName="file_name",e.fileSize="file_size",e.fileType="file_type",e))(Wa||{}),mu=(e=>(e[e.normal=0]="normal",e[e.violation=1]="violation",e[e.auditing=2]="auditing",e))(mu||{}),lm=(e=>(e.file="1",e.folder="0",e))(lm||{});async function L0(e){/^\d+$/.test(e.target)&&(e.target=`U_1_${e.target}`);const t=Ha(e);return (await Ot().post("https://uplb.115.com/3.0/sampleinitupload.php",t,{timeout:12e4,withCredentials:true})).data}async function M0(e,t){const n=await L0(t),o=new FormData;o.append("name",t.filename),o.append("key",n.object),o.append("policy",n.policy),o.append("OSSAccessKeyId",n.accessid),o.append("success_action_status","200"),o.append("callback",n.callback),o.append("signature",n.signature),o.append("file",e);const i=n.host.replace(/^http:/,"https:");return (await Ot().post(i,o,{timeout:18e5})).data}var Ro=(e=>(e[e.true=1]="true",e[e.false=0]="false",e))(Ro||{});class um extends Error{}class Dc extends um{constructor(t="搜索失败!"){super(t);}}class cm extends Dc{constructor(t="搜索请求响应内容为空!"){super(t);}}class Tc extends um{constructor(t="目录不存在!"){super(t);}}var dm=(e=>(e[e.exist=20004]="exist",e))(dm||{});const B0={10013:"超出任务大小限制",10018:"审核中...",10016:"文件内含违规内容"};async function zt(e=true){const t=St();let n=t.GetCurWangPanCid?t.GetCurWangPanCid():"";return n===0&&(n="0"),n==="0"&&e?(t.Core.MinMessage.Show({text:'不支持"根目录"!',timeout:1e3}),""):n}function fm(e={}){return {move:true,rename:true,delete:true,more:true,classList:"ce-temp-item",...e}}async function pm(e,t,n={}){const o=!t.sha1,i=o?"":nm(t.file_name),s=o?"folder":i.toLowerCase(),r=o?"文件夹":i.toUpperCase()+"文件",a=o?"cate_id":"file_id";let l=$(`li.temp-el[${a}="${e}"]`);if(!l.length){const f=[];f.push(o?`<a class="name" href="javascript:;" cate="1" menu="open" aid="1" cid="${e}" rel="view_folder">
        <span>${t.file_name}</span>
      </a>`:`<a class="name" href="javascript:;" menu="view_file_one" rel="file" field="file_name">
        <span>${t.file_name}</span>
      </a>`),n.star&&f.push(`<a href="javascript:;" class="icon-star ${t.is_mark==="1"?"i-star-active":""}" menu="star" start_point="1" is_star="${t.is_mark}" data_title="星标">星标</a>`),n.remark&&f.push('<a href="javascript:;" class="icon-remarks" style="display: none;" menu="remark"></a>'),n.scores&&f.push('<div class="score-stars" menu="file_score"></div>');const p=n.labels?`<div class="labels-text" style="display: none;" rel="label_box">
      <span style="cursor: pointer; display: none;" class="ic-ellipsis" rel="more_label">...</span>
    </div>`:"",w=[];n.setTop&&w.push(`<a href="javascript:;" menu="setTop" rel="setTop">
        <i class="icon-operate ifo-filesettop" menu="setTop"></i>
        <span menu="setTop">置顶</span>
      </a>`),n.move&&w.push(`<a href="javascript:;" menu="move">
        <i class="icon-operate ifo-move" menu="move"></i>
        <span menu="move">移动</span>
      </a>`),n.rename&&w.push(`<a href="javascript:;" menu="edit_name">
        <i class="icon-operate ifo-rename" menu="edit_name"></i>
        <span menu="edit_name">重命名</span>
      </a>`),n.delete&&w.push(`<a href="javascript:;" menu="delete">
        <i class="icon-operate ifo-remove" menu="delete"></i>
        <span menu="delete">删除</span>
      </a>`);const g=[`<div class="file-name-wrap">
        <i class="file-type tp-${s}" folder-type="shared"></i>
        <span class="file-name" rel="file_name">
          <em>
            ${f.join(`
`)}
          </em>
        </span>
        ${p}
      </div>`,`<div class="file-size"><span>${o?"":t.size}</span></div>`,`<div class="file-typename"><span>${r}</span></div>`,`<div class="file-modified">${new Date(Number(t.utime)*1e3).toLocaleString()}</div>`,'<div class="file-directory"></div>',`<div class="file-opr" rel="menu">
        ${w.join(`
`)}
      </div>`],b=`
      <li rel="item" class="temp-el" file_type="${o?0:1}">
        <s class="drag-flag" data-rel="drag" style="cursor: pointer;"></s>
        <textarea style="display: none;" field="desc"></textarea>
        <textarea style="display: none;" field="ext3"></textarea>
        <input type="checkbox" value="${e}"/>
        <div class="checkbox" menu="file_check_one"></div>
        ${g.join(`
`)}
      </li>
    `;l=$(b);}l.find("a.name > span").text(t.file_name),n.classList&&l.addClass(n.classList);const c=t.paths[t.paths.length-1].file_id;let u={rel:"item",c:"0",hdf:"0",title:t.file_name,file_type:o?0:1,pick_code:t.pick_code,is_share:t.is_share||"0",shared:t.is_share||"0",area_id:"1",p_id:c,score:t.score};o?u={...u,cate_id:e,cate_name:t.file_name}:u={...u,file_id:e,cid:c,iv:t.play_long?"1":"0",ico:i,sha1:t.sha1};for(let f in u)l.attr(f,u[f]);return l}function dn(e){const t=Lc(e);return Ci(t)}function Lc(e){(e instanceof HTMLElement||!e.jquery)&&(e=$(e));const t=e.attr("file_size"),n=e.attr("iv")==="1",o=io(),i=e.attr("file_id")||"",s=!!i,r=e.attr("c")||"",a=e.attr("fvs")||"",l={n:e.attr("title")||"",s:t?parseInt(t):0,pc:e.attr("pick_code")||"",t:e.attr("user_ptime")||"",te:"",tp:"",ico:e.attr("ico")||"",sha:e.attr("sha1")||"",iv:n,c:r?parseInt(r):0,fuuid:e.attr("fuuid"),fvs:a?parseInt(a):0};let c={n:l.n};if(!o)c={fid:i,cid:(s?e.attr("cid"):e.attr("cate_id"))||"",pid:s?"":e.attr("p_id")||"",...l};else if(c={fid:i,cid:(s?e.attr("cid"):e.attr("cate_id"))||"",...l},!s){const u=e.find(".file-directory a[cid]");if(u.length)c.pid=u.attr("cid");else throw console.warn("无法获取上级目录ID!",e),new Error("无法获取上级目录ID!")}return {...c,...l}}async function zn(e){const t=N0(e);return hm(t)}function hm(e){const t=[];for(let n=0;n<e.length;n++){const o=Ci(e[n]);t.push(o);}return t}function Ci(e){const t=!!e.fid,n=e.iv===true||e.iv?.toString()==="1",o=t?fb(e.n):null,i={id:t?e.fid:e.cid,name:e.n,hash:e.sha,parentId:t?e.cid:e.pid,sizeRaw:e.s,sizeDesc:e.s?.toString(),sizeBytes:0,isFile:t,isDir:!t,transcoded:n,isVideo:n||o===uu.video,isImage:o===uu.image,pickCode:e.pc,playDuration:e.play_long};return typeof e.s=="number"?i.sizeBytes=e.s:typeof e.s=="string"&&/^\d+$/.test(e.s)&&(i.sizeBytes=parseInt(e.s)),i.sizeDesc=Ki(i.sizeBytes||0),i}function St(){return unsafeWindow.TOP?unsafeWindow.TOP:unsafeWindow}function O0(){return unsafeWindow.top===unsafeWindow?unsafeWindow.Ext:unsafeWindow.top.Ext}async function R0(){const e=await zt();return F0(e,fm({classList:"ce-temp-cur-dir"}))}async function F0(e,t={}){const n=await Ut(e);return await pm(e,n,t)}function rs(){return window.top!==window?$(document):$('iframe[name="wangpan"], .wrap-view iframe:eq(0)').contents()}function ki(){return rs().find(".list-contents, .list-thumb")}function Mc(e){const t=ki();return e?t.find("li.selected:not(.ce-temp-cur-dir)"):t.find("li:not(.ce-temp-cur-dir)")}function N0(e){const t=Mc(e),n=[];for(let o=0;o<t.length;o++){const i=t.eq(o),s=Lc(i);n.push(s);}return n}function gu(e="/"){const t=U0();return e+t.slice(1).join(e)}function U0(){const e=rs(),t=[];return e.find("#js_top_header_file_path_box .top-file-path > .file-path").children().each(function(){t.push($(this).text().trim().replace(/[›]$/,""));}),t}function mm(){return rs().find("#js_top_header_file_path_box .top-file-path > .file-path").children(":last")}async function j0(){const e=await zt();ki().find("li.selected").each(function(){const n=$(this);n.attr("cate_id")!==e&&(n.find('input[type="checkbox"]').prop("checked",false),n.removeClass("selected"));});}async function $o(e=false,t=0,n=true){const o=await zt();if(!o)return null;const i=ki(),s=await R0();return e||s.hide(),i.find(`li[cate_id="${o}"]`).length||(i.is("ul")?n?i.parent().prepend(s):i.append(s):n?i.prepend(s):i.find("ul").prepend(s)),t>0&&setTimeout(()=>{s.remove();},t),s}async function z0(e,t,n){await j0(),St().Core.FileMenu.DoEvent([e],t,null);}function H0(e,t=""){return `https://115.com/?ct=preview&ac=location&pickcode=${e}&sha1=${t}`}function On(e){return `https://115.com/?${new URLSearchParams({cid:e}).toString()}&offset=0&mode=wangpan`}function _n(e=location.href){return e.includes("ac=userfile")}function io(e=location.href){return e.includes("ac=search")}function wu(e=location.href){return /(115|anxia|115cdn)\.com\/s\/\w+/.test(e)||/share\.115\.com/.test(e)}function gm(e,t=""){const n={aid:"1",cid:e.cid||"0",old_cid:e.cid||"",old_cid_name:t,search_value:encodeURIComponent(e.search_value),ct:"file",ac:"search",is_wl_tpl:"1"};return "https://115.com/?url="+encodeURIComponent(`/?${E0(n)}`)+"&submode=wangpan&mode=search"}function wm(e,t=Va.vod){const n=new URLSearchParams({pickcode:e,share_id:"0"});return `https://${t}/?${n.toString()}`}function Bc(e){return /^https?:\/\//.test(e)&&(e=new URL(e).host),Object.values(Va).includes(e)}async function ym(e){unsafeWindow.Main.ReInstance({type:e.type,offset:0,o:Wa.userPtime,asc:Ro.false,star:e.star,suffix:e.suffix});}function V0(){return ki().find("li.selected")}function q0(){const e=V0();return e?Lc(e):null}const Il=new Map;async function Ka(e,t=false){const n=e.name;if(t&&e.parentId&&Il.has(e.parentId)){const s=Il.get(e.parentId);if(s)return [...s,n]}const i=(await Ut(e.id)).paths.slice(1).map(s=>s.file_name);return e.parentId&&Il.set(e.parentId,i),[...i,n]}async function W0(e,t=100){const n=new Map;for(const s of e){const r=s.parentId;if(!r)throw new Error(`文件"${s.name}"没有父级目录ID!`);n.has(r)?n.get(r)?.push(s):n.set(r,[s]);}const o=[];for(const s of n.values())o.push(s[0]);const i=new Map;for(const s of o){const r=await Ut(s.id);await At(t),i.set(s.parentId,r.paths.map(a=>a.file_name));}return i}async function K0(e,t=100){const n=new Map;for(const s of e){const r=s.parentId;if(!r)throw new Error(`文件"${s.name}"没有父级目录ID!`);n.has(r)?n.get(r)?.push(s):n.set(r,[s]);}const o=[];for(const s of n.values())o.push(s[0]);const i=new Map;for(const s of o){const r=await Ut(s.id);await At(t),i.set(s.parentId,r.paths);}return i}async function G0(e,t){const n=new File([e],t.filename,{type:"text/plain"});return M0(n,t)}async function J0(e,t,n){const o=await w0(e),i=await x0(o);n=n||ja();let s=t;return /m3u8$/.test(n)||(n+=".m3u8"),await G0(i,{filename:n,target:s})}const Dl=new Map;async function Fi(e,t=false){if(e=za(e,Oo.unix),e=e.replace(/^[\/]+/,"").replace(/[\/]+$/,""),t&&Dl.has(e))return Dl.get(e);if(e===""||e==="/")return "0";const n=await T0(e);if(!n.state)throw new Error(`根据路径"${e}"获取目录ID失败: ${n.error}`);if(n.id&&n.id.toString()!=="0")return Dl.set(e,n.id.toString()),n.id.toString();throw new Tc(`根据路径"${e}"获取目录ID失败: 目录不存在!`)}async function Y0(e){e=e.replace(/^\//,"").replace(/\/$/,"");const t={id:"",created:false,pathToId:new Map};if(e===""||e==="/")return t.id="0",t;const n=e.split("/").filter(s=>s);let o="0",i="";for(const s of n){i+="/"+s;let r="";try{r=await Fi(i,!0),t.pathToId.set(i,r);}catch(a){if(a instanceof Tc){const l=await am(o,s);if(!l.state)throw new Error(`创建目录"${s}"失败: ${l.errno} - ${l.error}`);r=l.cid.toString();}else throw a}o=r,t.pathToId.set(i,r);}return t.id=o,t}async function Q0(e,t,n=true){let o="";const i=await am(t,e);if(i.state)o=i.cid.toString();else {if(i.errno===dm.exist&&n){const s=await Ut(t);if(!s.pick_code)throw new Error(`获取目录"${t}"属性失败: ${s.errno} - ${s.error}`);const r=[...s.paths.slice(1).map(a=>a.file_name),s.file_name,e].join("/");return await Fi(r,true)}throw new Error(`创建目录"${e}"失败: ${i.errno} - ${i.error}`)}return o}const Oc=typeof Buffer=="function";typeof TextDecoder=="function"&&new TextDecoder;const qd=typeof TextEncoder=="function"?new TextEncoder:void 0,X0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",vs=Array.prototype.slice.call(X0);(e=>{let t={};return e.forEach((n,o)=>t[n]=o),t})(vs);const Wn=String.fromCharCode.bind(String);typeof Uint8Array.from=="function"&&Uint8Array.from.bind(Uint8Array);const Z0=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_"),ex=e=>{let t,n,o,i,s="";const r=e.length%3;for(let a=0;a<e.length;){if((n=e.charCodeAt(a++))>255||(o=e.charCodeAt(a++))>255||(i=e.charCodeAt(a++))>255)throw new TypeError("invalid character found");t=n<<16|o<<8|i,s+=vs[t>>18&63]+vs[t>>12&63]+vs[t>>6&63]+vs[t&63];}return r?s.slice(0,r-3)+"===".substring(r):s},bm=typeof btoa=="function"?e=>btoa(e):Oc?e=>Buffer.from(e,"binary").toString("base64"):ex,tx=Oc?e=>Buffer.from(e).toString("base64"):e=>{let n=[];for(let o=0,i=e.length;o<i;o+=4096)n.push(Wn.apply(null,e.subarray(o,o+4096)));return bm(n.join(""))},nx=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?Wn(192|t>>>6)+Wn(128|t&63):Wn(224|t>>>12&15)+Wn(128|t>>>6&63)+Wn(128|t&63)}else {var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return Wn(240|t>>>18&7)+Wn(128|t>>>12&63)+Wn(128|t>>>6&63)+Wn(128|t&63)}},ox=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,ix=e=>e.replace(ox,nx),Wd=Oc?e=>Buffer.from(e,"utf8").toString("base64"):qd?e=>tx(qd.encode(e)):e=>bm(ix(e)),Kd=(e,t=false)=>t?Z0(Wd(e)):Wd(e);var Rc=(e=>(e.search="search",e.encode="encode",e.base64="base64",e.base64safe="base64safe",e.upper="upper",e.lower="lower",e.number="number",e.manual="manual",e))(Rc||{});const sx=[{label:"文件属性变量",items:[{key:"{dir_id}",label:"文件夹ID"},{key:"{file_id}",label:"文件ID"},{key:"{pick_code}",label:"提取码"},{key:"{pure_name}",label:"不含后缀的文件名"},{key:"{full_name}",label:"完整名称"},{key:"{file_suffix}",label:"文件后缀名"},{key:"{file_hash}",label:"文件hash"},{key:"{file_size}",label:"文件大小"},{key:"{file_path}",label:"文件路径"},{key:"{file_dir}",label:"文件目录路径"}]},{label:"高级变量",items:[{key:"{clouddrive_stream_url}",label:"CloudDrive链接(用于播放,目录链接是m3u)"},{key:"{clouddrive_down_url}",label:"CloudDrive文件链接"},{key:"{clouddrive_playlist_url}",label:"CloudDrive播放列表链接"},{key:"{user_agent}",label:"浏览器UA"}]},{label:"变量函数处理",memo:"支持多个函数,函数之间使用英文冒号分隔,如:{变量名:encode:base64}。调用顺序从左到右。",items:[{key:"{变量名:search}",label:"搜索链接"},{key:"{变量名:encode}",label:"url编码"},{key:"{变量名:base64}",label:"base64编码"},{key:"{变量名:base64safe}",label:"base64安全编码"},{key:"{变量名:upper}",label:"转大写"},{key:"{变量名:lower}",label:"转小写"},{key:"{变量名:number}",label:"转数字"},{key:"{变量名:manual}",label:"手动输入"}]}];var vm=(e=>(e.first="first",e.last="last",e))(vm||{});function rx(e,t,n){const{names:o,position:i}=t;let s=[];return i==="first"?s=[...o,...e]:s=[...e,...o],n?Array.from(new Set(s)):s}async function Rs(e,t,n,o,i=false){let s=t.url;const r={dir_id:"id",file_id:"id",pick_code:"pickCode",full_name:"name",file_suffix:"suffix",file_hash:"hash",file_size:"sizeBytes"},a=e.isFile,l=/{(\w+)(:\w+(:\w+)?)?}/g,c=s.match(l);if(c){const u=["file_path","file_dir","clouddrive_stream_url","clouddrive_down_url","clouddrive_playlist_url"];for(const f of c){const p=f.replace(/[{}]/g,"").split(":")[0],w=f.replace(/[{}]/g,"").replace(/^[^:]+:/,"");let g=e[r[p]]?.toString()||"",b="",v=[];switch(u.includes(p)&&(v=await Ka(e),i&&(v=v.map(k=>cn(n,k,true))),b=v.join("/")),p){case "pure_name":a?g=e.name.replace(/\.[^.]+$/,""):g=e.name;break;case "file_path":g=b;break;case "file_dir":g=b.replace(/\/[^/]+$/,"");break;case "clouddrive_stream_url":a?g=await Yi(n,v,Ho.download):g=await pu(n,v);break;case "clouddrive_down_url":g=await Yi(n,v,Ho.download);break;case "clouddrive_playlist_url":let k=[];a?k=v.slice(0,-1):k=v,g=await pu(n,k);break;case "user_agent":g=navigator.userAgent;break}if(g=g.toString(),w){let k=w.split(":");o&&(k=rx(k,o,false)),console.log(`[buildCustomUrl] functions: ${w}, after merge: ${k.join(":")}`);for(const P of k)switch(P){case "search":g=gm({search_value:g});break;case "encode":g=encodeURIComponent(g);break;case "base64":g=Kd(g);break;case "base64safe":g=Kd(g,true);break;case "upper":g=g.toUpperCase();break;case "lower":g=g.toLowerCase();break;case "number":g=g.replace(/\D/g,"");break;case "manual":g=await ax(g);break}}s=s.replace(f,g);}}return t.mutation?await lx(s,e,t,n):s}async function ax(e){let{isConfirmed:t,value:n}=await V.fire({title:"手动输入",html:`<div>按下「Ctrl + 回车」或「Command + 回车」确认</div><hr class="ce-hr"/><div><textarea readonly class="ce-textarea-trans" style="width:92%;">原始: ${e}</textarea></div>`,input:"textarea",inputValue:e,showCancelButton:true,inputValidator:o=>o?null:"输入不能为空!",didOpen:o=>{ib(o),g0(o);},customClass:{popup:"ce-swal-text-left"}});if(!t)throw new Error("已取消手动输入。");if(n=n?.trim()||"",n==="")throw new Error("输入不能为空!");return e=n,e}async function lx(e,t,n,o){return await(typeof n.mutation=="function"?n.mutation:new Function("payload",n.mutation))({url:e,file:t,customUrl:n,cloudDriveConfig:o})}var so=(e=>(e.search="search",e.play="play",e))(so||{});const ux=wt.menuCustomUrlsForSearch,cx=wt.menuCustomUrlsForPlay,xm={search:ux,play:cx};async function Si(e){return await Xe.get(xm[e],[])}async function _m(e,t){await Xe.set(xm[e],t);}function kt(e){return {enabled:true,key:"",label:"",icon:"",memo:"",extraMemo:"",url:"",openInBackground:false,...e}}const Cm=wt.enabledCustomUrlsForSearch,km=wt.enabledCustomUrlsForPlay;async function dx(e){await Xe.set(Cm,e);}async function fx(e){await Xe.set(km,e);}async function px(){const e=bu,t=e.filter(i=>i.enabled).map(i=>i.key),n=await Xe.get(Cm,t),o=[];return e.forEach(i=>{n.includes(i.key)&&o.push(i.key);}),o}async function hx(){const e=yu,t=e.filter(i=>i.enabled).map(i=>i.key),n=await Xe.get(km,t),o=[];return e.forEach(i=>{n.includes(i.key)&&o.push(i.key);}),o}async function cr(){const e=await px();return bu.forEach(t=>{t.enabled=e.includes(t.key);}),bu}async function Sm(){const e=await hx();return yu.forEach(t=>{t.enabled=e.includes(t.key);}),yu}const Gd="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABu0lEQVRYhe2WsVXDMBCG/xNNSrFBmAB3tBEZIJkAmCBog9gbGLNAwgQwQJ5MSecNYASVaayjcBIrEDvye06V/JVs/777fJJOBi666NxFoUapzQiunAJiAmC4uV2AuACJxKbq5yQAUhsJxhzMuj0SpxsQ2xuA1EbCuRyg28B4BQSpLhCi9SljvpeckUOQgqBrm90TBCkAS++NCOzmocmBlgpIbYZw/O3RJDYbxwe9s1UMUJ24qkIeAtBcAVfWyYgWTckBwGbjGIw6oXPTkOTtABB16WmvzId1RUl9QZMeABBtB4HlLLzxsNHVAWAnqY085um6/UIA/MYSNbo2ktqMvMui0RgOwB+7YcnHt5Yrn3Zjoh4AhHivA2IkZ6YRonomHj1/0uT9q/ZOOFulAD3Xbl6AxNKmKt+siwglz0Goy8/I7eu96gdAGwnHBgFr4E/Y2GYqqAqtu8Cmylbtll+ORvIbEThum7JggC2EzcYagm5Q9X1/gf0A/AJBqio7e18dBhH8PxCqf+fCkem46htg/fWWD+4eCKDtwhwN7p6w/lp+HvIHdcKuqg6u/elo8p4E4D8EB/eFiy46P/0C5gmePG6KKVsAAAAASUVORK5CYII=",mx="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAACAlJREFUaEPtmWuIXVcVx3/7vt9zJ5NOZ5JGkxQDEZroF7WxYGILGoWmLxXamtG0RUhoLSiW4hdFPxRFSytJLVpNRqTE2qq1WqiFGbWhNiCSIClU1EZj0ySTedz3uY+zZN19bjL3zn1NckcNeODAuTPn7L3/6/Ff/7W34Qq/zBW+fv4P4L/tweV4wAf4vVuf9V7O992wCuB6dw3QW3/3vPpZQODYsWM7t2zZ8nzP0Qb4wvHjx2/eunXri0C127C9AMRFJDfAdS17KGNMAsh3+rAbgKSIZJY94wp8YIxJAdl2Q3cCEBIRZwXWcslDGmPCQLl1gHYAzNTU1O3bt29/pr/ZNP8AEXvXRzRg9KFXhPY3g741PT39iR07djyrMy3+qt0MfVrfW7DU4LVHkX8cAX8QXBfExdxxGEwAfIMjq3ZeaAcgJSIL3W2ji3ehVoGnd0E0idQX6l3672oV3+rNsOMr4At4/7g8jxhjhoCmvGw34qiInOkKQK3uVuEHNyGRmAVSydu/GR8SjEIwDr4wUnHw3/1zC8JcnjeMMVcDZ3uF0DUi8s/OAMQutJSFgzuRWhmK8+DkkIpStoFQBOJpiK9GIkkQg/9j34CRTeDTWnhpnjDGrANO9QLwThF5szMAF6pleOJGyJ1BnBw4WSiVEVeTNwCuQDiEJNOQHoX4MAQimFAM3ycnPW8sP8mNMeuBk70AbBCRv3UEoOFTKcHXNuG8WSJ/tAiOgxEX/5oUiW0pqDgWWNBAMoUMj2CSV0EkAbUa/omfQiC87JAyxmwE/n75AJwCPLyOuRdKmFoVqdYsc0ZjpH/5ErUn7wF9x5kHKSPJGKRXwdAohNOIBPC/93Z877vTS/D+QmqAAPJkP7gWd76AiGA8atan9KtvgJNBfvUY7okjUJxDakWI+pHEECRHkdgI4o+CUyP8hefA31+CDxbADeOQL9TLilaWug0FkkdPWw8XFqCUofrtT9cBUVygpgJTKTc5AhpS4RRSFqJf/CFEV/VM8IECKHx4DMkXl6RK/NVZ8IcstZZykD1L9bE9yPw8bka9UUaCYdxkGpMahdgqYtcFYWgDfORbXUNqoABKH28B4LkhOj0PoZiVFRXH5kL2LPLX1yh//xHcbAa3qLrMhxsbwqRGSNy4GkwIYmvh1ic7ghgoAOe2MShZD9QlkJeH4V8rAC1iPisrlHIrRdBF52YoPHQn5PLUchncSgXxx0nfscqGkOuDPS9bhrpQvS86eaAAKnePQbFog3+RvAo+2wCgBcvTS7WqpV4nD5mzOI8/ROXPr1M7N0voHWWi74lAZBj8Mdj2eXj/HqurWgreQAFU93gAWrIg8HQDgOqfBjKt3lo/HCgXIDMDc6dwf3wXPpm1C/VHLID0RnhgGgIhr2tdIQ/U7hkDpyWEfOCfXAxgkbpTMPWQcmw4PXU95DKQX4CqCkM/KLWuvx4+9zMrR+pt9woBcO8bQ4rFeuw37Gz84DvYBYCG0us/gT9+F7LnYe4MZLJQrIIEIZSCh/8Aw2sguOIAxqFQuLg3obkQMPiemvOSuCGhG9K7Cs/fYjc1ijk4/xbMKACt2KZeoQlH4ctHITa08iHk7rsWk80gbgWMYFS8hQP49r+1CIAX+8UZmLoXVOwVsjD7NszOQEaFoA9CwxBKwt5nYHgdRJTFlARWKoQ0EX/xVeTlw5bnTQ3iUcz6a+GBF0H7AdX+KrtfeRDyp6BagfwczJ2F+TnIFMGNQGgEQgn47CSk19QrdZ2B2vQOg2EhlQPlEuTOIY/stDrGJ+CvYO5/AYbGrfuVdV66FQhCOQ+587BwDhYyUNA9qwSE0rD9Qdh4AwyNQThuv613d83W11QeHABNxlIesqctGL1CYUiOWeufOQInHrdtZ3EBFtTqs5DNQSUEgTQEEnDXJMRHIJq2rKOWv9BDL1WogwOgpbdRnCq60yEQCFpvTH3KVlGly/yMtXpmAXJlkBgEh2F0M3z065BQeR23i9eYv7CT0V5eDwiAmlt3Hjx2UW7XcKkW4JUJ63pVnzlNUg0ZTVQtVEMQTMGuJyA1DonVEIp6smFxr9y5N+gXwHoRaep6lnZnLRU2dxp+fy/4DJTm6/nBwhyoWq1ELEUGE3DbjzwZnbA8r17rYfWWQrYBaGp328Ht0RMvHtK18uC5bVYKaLLmz0M+A44mqoZHGq7bDZt31ZuZulINhm241a/+e+N+e+K1ItLU+Xftj5VSD38AnDKU5mxxcwMQ0pBJwi2TENNE1d9q9QbLNGzXXzvpsdA1wL969cRXiUjT3ktHAMrzCuB3X4KTv4VCHqpirZxYAzc9Cqmr7W+N9z4SteNclkZHgXO9ACREpO1O8JLBGzsUGvN/OgAnf2OF2Ye+CUPrIK5toyaqWn3xflD/Vm/JgSTQtN3fbqTAoUOHPrN79+7vdbOG/Z+qyKqtxsr3yj56aXOi9HgJidppzsnJyfsmJiYOth54tN2dBnR78e3eABpUqjRatmCUVTRBL1h9eYnaaU5jzJi3rdhzd1rHUIp4l4ic6A3CO8rSetBYa9P2+qWFS0vovBv4S7vjpm6j64HCJhE53htEk1EWvT6QxW8B3gDaHrj0mkEb0/H9+/ffvHfv3u/0BjK4Nw4cOHD/vn379GBRN5oqHUOrjykVpLZHaUD35/V5acPax0A9XtEYVGGl6lDPJ+a9507uvRixy5hbwTSESy/vLWPY+qu60MZ5cddFN+XHcmf5X3t/0Fb8j+O74gH8G0lHhV4uXv6RAAAAAElFTkSuQmCC",Jd="https://nplayer.com/assets/img/logo_main.png",yu=[kt({enabled:true,key:"p_builtin_iina",label:"IINA",icon:"https://iina.io/images/iina-icon-60.png",memo:"调用IINA播放视频(使用CloudDrive链接)",url:"iina://weblink?url={clouddrive_stream_url:encode}"}),kt({enabled:true,key:"p_builtin_vlc",label:"VLC",icon:"https://images.videolan.org/images/favicon.ico",memo:"调用VLC播放视频(使用CloudDrive链接)",extraMemo:'<a href="https://github.com/northsea4/vlc-protocol" target="_blank" rel="noreferer">安装VLC协议</a>',url:"vlc://{clouddrive_stream_url}"}),kt({enabled:true,key:"p_builtin_mpv",label:"MPV",icon:"https://mpv.io/images/mpv-logo-128-0baae5aa.png",memo:"调用MPV播放视频(使用CloudDrive链接)",extraMemo:'<a href="https://github.com/akiirui/mpv-handler/blob/main/README.zh-Hans.md" target="_blank" rel="noreferer">安装MPV协议</a>',url:"mpv://{clouddrive_stream_url}"}),kt({enabled:true,key:"p_builtin_potplayer",label:"PotPlayer",icon:"https://t1.daumcdn.net/potplayer/main/img/favicon.ico",memo:"调用PotPlayer播放视频(使用CloudDrive链接)",url:"potplayer://{clouddrive_stream_url}"}),kt({enabled:true,key:"p_builtin_infuse",label:"Infuse",icon:mx,memo:"调用Infuse播放视频(使用CloudDrive链接)",url:"infuse://x-callback-url/play?url={clouddrive_stream_url:encode}"}),kt({enabled:false,key:"p_builtin_nplayer_mac",label:"nPlayer-mac",icon:Jd,memo:"调用nPlayer(mac版)播放视频(使用CloudDrive链接)",url:"nplayer-mac://weblink?url={clouddrive_stream_url:encode}&new_window=1"}),kt({enabled:false,key:"p_builtin_nplayer_win",label:"nPlayer-win",icon:Jd,memo:"调用nPlayer(非mac版)播放视频(使用CloudDrive链接)",url:"nplayer-{clouddrive_stream_url:encode}"}),kt({enabled:true,key:"p_builtin_online",label:"在线播放",icon:"https://115.com/favicon.ico",memo:"115官方在线播放(转码)",url:"https://115vod.com/?pickcode={pick_code}&share_id=0"}),kt({enabled:false,key:"p_builtin_115plus",label:"115plus",icon:"https://115.com/favicon.ico",memo:'调用"115+"脚本进行播放(Command/Ctrl播放全部层级)',extraMemo:'<a href="https://greasyfork.org/zh-CN/scripts/495474" target="_blank" rel="noreferer">安装"115+"脚本</a>'})],bu=[kt({enabled:true,key:"s_builtin_115_pure_name",label:"115-不含后缀",icon:"https://115.com/favicon.ico",memo:"使用115搜索文件名(不含后缀)",url:"{pure_name:search}"}),kt({enabled:false,key:"s_builtin_115_full_name",label:"115-完整名称",icon:"https://115.com/favicon.ico",memo:"使用115搜索文件名(完整名称)",url:"{full_name:search}"}),kt({enabled:true,key:"s_builtin_115_sha",label:"115-sha1",icon:"https://115.com/favicon.ico",memo:"使用115搜索sha1相同的文件(仅适用于文件)",url:"{file_hash:search}"}),kt({enabled:true,key:"s_builtin_google_pure_name",label:"Google-不含后缀",icon:"https://www.google.com/favicon.ico",memo:"使用Google搜索文件名(不含后缀)",url:"https://www.google.com/search?q={pure_name:encode}"}),kt({enabled:false,key:"s_builtin_google_full_name",label:"Google-完整名称",icon:"https://www.google.com/favicon.ico",memo:"使用Google搜索文件名(完整名称)",url:"https://www.google.com/search?q={full_name:encode}"}),kt({enabled:true,key:"s_builtin_bing_pure_name",label:"Bing-不含后缀",icon:Gd,memo:"使用Bing搜索文件名(不含后缀)",url:"https://cn.bing.com/search?q={pure_name:encode}"}),kt({enabled:false,key:"s_builtin_bing_full_name",label:"Bing-完整名称",icon:Gd,memo:"使用Bing搜索文件名(完整名称)",url:"https://cn.bing.com/search?q={full_name:encode}"}),kt({enabled:true,key:"s_builtin_115_pure_name_manual",label:"115-不含后缀-手动",icon:"https://115.com/favicon.ico",memo:"使用115搜索文件名(不含后缀),手动编辑后搜索",url:"{pure_name:manual:search}"})],gx="p_builtin_online",dr="s_builtin_115_pure_name";function $m(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Tl,Yd;function wx(){return Yd||(Yd=1,Tl=class{constructor(t={}){this.points=t.points,this.duration=t.duration,this.blockDuration=t.blockDuration,this.execEvenly=t.execEvenly,this.execEvenlyMinDelayMs=t.execEvenlyMinDelayMs,this.keyPrefix=t.keyPrefix;}get points(){return this._points}set points(t){this._points=t>=0?t:4;}get duration(){return this._duration}set duration(t){this._duration=typeof t>"u"?1:t;}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(t){this._blockDuration=typeof t>"u"?0:t;}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(t){this._execEvenly=typeof t>"u"?false:!!t;}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(t){this._execEvenlyMinDelayMs=typeof t>"u"?Math.ceil(this.msDuration/this.points):t;}get keyPrefix(){return this._keyPrefix}set keyPrefix(t){if(typeof t>"u"&&(t="rlflx"),typeof t!="string")throw new Error("keyPrefix must be string");this._keyPrefix=t;}_getKeySecDuration(t={}){return t&&t.customDuration>=0?t.customDuration:this.duration}getKey(t){return this.keyPrefix.length>0?`${this.keyPrefix}:${t}`:t}parseKey(t){return t.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}),Tl}var Ll,Qd;function yx(){return Qd||(Qd=1,Ll=class{constructor(t,n,o=null){this.value=t,this.expiresAt=n,this.timeoutId=o;}get value(){return this._value}set value(t){this._value=parseInt(t);}get expiresAt(){return this._expiresAt}set expiresAt(t){!(t instanceof Date)&&Number.isInteger(t)&&(t=new Date(t)),this._expiresAt=t;}get timeoutId(){return this._timeoutId}set timeoutId(t){this._timeoutId=t;}}),Ll}var Ml,Xd;function Fc(){return Xd||(Xd=1,Ml=class{constructor(t,n,o,i){this.remainingPoints=typeof t>"u"?0:t,this.msBeforeNext=typeof n>"u"?0:n,this.consumedPoints=typeof o>"u"?0:o,this.isFirstInDuration=typeof i>"u"?false:i;}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(t){return this._msBeforeNext=t,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(t){return this._remainingPoints=t,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(t){return this._consumedPoints=t,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(t){this._isFirstInDuration=!!t;}_getDecoratedProperties(){return {remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}),Ml}var Bl,Zd;function bx(){if(Zd)return Bl;Zd=1;const e=yx(),t=Fc();return Bl=class{constructor(){this._storage={};}incrby(o,i,s){if(this._storage[o]){const r=this._storage[o].expiresAt?this._storage[o].expiresAt.getTime()-new Date().getTime():-1;return !this._storage[o].expiresAt||r>0?(this._storage[o].value=this._storage[o].value+i,new t(0,r,this._storage[o].value,false)):this.set(o,i,s)}return this.set(o,i,s)}set(o,i,s){const r=s*1e3;return this._storage[o]&&this._storage[o].timeoutId&&clearTimeout(this._storage[o].timeoutId),this._storage[o]=new e(i,r>0?new Date(Date.now()+r):null),r>0&&(this._storage[o].timeoutId=setTimeout(()=>{delete this._storage[o];},r),this._storage[o].timeoutId.unref&&this._storage[o].timeoutId.unref()),new t(0,r===0?-1:r,this._storage[o].value,true)}get(o){if(this._storage[o]){const i=this._storage[o].expiresAt?this._storage[o].expiresAt.getTime()-new Date().getTime():-1;return new t(0,i,this._storage[o].value,false)}return null}delete(o){return this._storage[o]?(this._storage[o].timeoutId&&clearTimeout(this._storage[o].timeoutId),delete this._storage[o],true):false}},Bl}var Ol,ef;function vx(){if(ef)return Ol;ef=1;const e=wx(),t=bx(),n=Fc();class o extends e{constructor(s={}){super(s),this._memoryStorage=new t;}consume(s,r=1,a={}){return new Promise((l,c)=>{const u=this.getKey(s),f=this._getKeySecDuration(a);let p=this._memoryStorage.incrby(u,r,f);if(p.remainingPoints=Math.max(this.points-p.consumedPoints,0),p.consumedPoints>this.points)this.blockDuration>0&&p.consumedPoints<=this.points+r&&(p=this._memoryStorage.set(u,p.consumedPoints,this.blockDuration)),c(p);else if(this.execEvenly&&p.msBeforeNext>0&&!p.isFirstInDuration){let w=Math.ceil(p.msBeforeNext/(p.remainingPoints+2));w<this.execEvenlyMinDelayMs&&(w=p.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(l,w,p);}else l(p);})}penalty(s,r=1,a={}){const l=this.getKey(s);return new Promise(c=>{const u=this._getKeySecDuration(a),f=this._memoryStorage.incrby(l,r,u);f.remainingPoints=Math.max(this.points-f.consumedPoints,0),c(f);})}reward(s,r=1,a={}){const l=this.getKey(s);return new Promise(c=>{const u=this._getKeySecDuration(a),f=this._memoryStorage.incrby(l,-r,u);f.remainingPoints=Math.max(this.points-f.consumedPoints,0),c(f);})}block(s,r){const a=r*1e3,l=this.points+1;return this._memoryStorage.set(this.getKey(s),l,r),Promise.resolve(new n(0,a===0?-1:a,l))}set(s,r,a){const l=(a>=0?a:this.duration)*1e3;return this._memoryStorage.set(this.getKey(s),r,a),Promise.resolve(new n(0,l===0?-1:l,r))}get(s){const r=this._memoryStorage.get(this.getKey(s));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(s){return Promise.resolve(this._memoryStorage.delete(this.getKey(s)))}}return Ol=o,Ol}var Rl,tf;function xx(){if(tf)return Rl;tf=1;const e=vx(),t=Fc();return Rl={RateLimiterMemory:e,RateLimiterRes:t},Rl}var Fs=xx();/**
  * @vue/shared v3.5.18
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
  * @license MIT
  **//*! #__NO_SIDE_EFFECTS__ */function Nc(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const st={},Ni=[],Xn=()=>{},_x=()=>false,Ga=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Uc=e=>e.startsWith("onUpdate:"),Ht=Object.assign,jc=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1);},Cx=Object.prototype.hasOwnProperty,Ze=(e,t)=>Cx.call(e,t),Ee=Array.isArray,Ui=e=>fr(e)==="[object Map]",as=e=>fr(e)==="[object Set]",nf=e=>fr(e)==="[object Date]",Be=e=>typeof e=="function",yt=e=>typeof e=="string",Un=e=>typeof e=="symbol",rt=e=>e!==null&&typeof e=="object",zc=e=>(rt(e)||Be(e))&&Be(e.then)&&Be(e.catch),Em=Object.prototype.toString,fr=e=>Em.call(e),kx=e=>fr(e).slice(8,-1),Am=e=>fr(e)==="[object Object]",Hc=e=>yt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ks=Nc(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ja=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Sx=/-(\w)/g,In=Ja(e=>e.replace(Sx,(t,n)=>n?n.toUpperCase():"")),$x=/\B([A-Z])/g,Go=Ja(e=>e.replace($x,"-$1").toLowerCase()),Ya=Ja(e=>e.charAt(0).toUpperCase()+e.slice(1)),Fl=Ja(e=>e?`on${Ya(e)}`:""),Fo=(e,t)=>!Object.is(e,t),Ur=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t);},vu=(e,t,n,o=false)=>{Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:o,value:n});},aa=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ex=e=>{const t=yt(e)?Number(e):NaN;return isNaN(t)?e:t};let of;const Qa=()=>of||(of=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Zn(e){if(Ee(e)){const t={};for(let n=0;n<e.length;n++){const o=e[n],i=yt(o)?Dx(o):Zn(o);if(i)for(const s in i)t[s]=i[s];}return t}else if(yt(e)||rt(e))return e}const Ax=/;(?![^(]*\))/g,Px=/:([^]+)/,Ix=/\/\*[^]*?\*\//g;function Dx(e){const t={};return e.replace(Ix,"").split(Ax).forEach(n=>{if(n){const o=n.split(Px);o.length>1&&(t[o[0].trim()]=o[1].trim());}}),t}function Te(e){let t="";if(yt(e))t=e;else if(Ee(e))for(let n=0;n<e.length;n++){const o=Te(e[n]);o&&(t+=o+" ");}else if(rt(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}function Tx(e){if(!e)return null;let{class:t,style:n}=e;return t&&!yt(t)&&(e.class=Te(t)),n&&(e.style=Zn(n)),e}const Lx="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Mx=Nc(Lx);function Pm(e){return !!e||e===""}function Bx(e,t){if(e.length!==t.length)return  false;let n=true;for(let o=0;n&&o<e.length;o++)n=mi(e[o],t[o]);return n}function mi(e,t){if(e===t)return  true;let n=nf(e),o=nf(t);if(n||o)return n&&o?e.getTime()===t.getTime():false;if(n=Un(e),o=Un(t),n||o)return e===t;if(n=Ee(e),o=Ee(t),n||o)return n&&o?Bx(e,t):false;if(n=rt(e),o=rt(t),n||o){if(!n||!o)return  false;const i=Object.keys(e).length,s=Object.keys(t).length;if(i!==s)return  false;for(const r in e){const a=e.hasOwnProperty(r),l=t.hasOwnProperty(r);if(a&&!l||!a&&l||!mi(e[r],t[r]))return  false}}return String(e)===String(t)}function Vc(e,t){return e.findIndex(n=>mi(n,t))}const Im=e=>!!(e&&e.__v_isRef===true),F=e=>yt(e)?e:e==null?"":Ee(e)||rt(e)&&(e.toString===Em||!Be(e.toString))?Im(e)?F(e.value):JSON.stringify(e,Dm,2):String(e),Dm=(e,t)=>Im(t)?Dm(e,t.value):Ui(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,i],s)=>(n[Nl(o,s)+" =>"]=i,n),{})}:as(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Nl(n))}:Un(t)?Nl(t):rt(t)&&!Ee(t)&&!Am(t)?String(t):t,Nl=(e,t="")=>{var n;return Un(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
  * @vue/reactivity v3.5.18
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
  * @license MIT
  **/let nn;class Ox{constructor(t=false){this.detached=t,this._active=true,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=false,this.parent=nn,!t&&nn&&(this.index=(nn.scopes||(nn.scopes=[])).push(this)-1);}get active(){return this._active}pause(){if(this._active){this._isPaused=true;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].pause();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause();}}resume(){if(this._active&&this._isPaused){this._isPaused=false;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].resume();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].resume();}}run(t){if(this._active){const n=nn;try{return nn=this,t()}finally{nn=n;}}}on(){++this._on===1&&(this.prevScope=nn,nn=this);}off(){this._on>0&&--this._on===0&&(nn=this.prevScope,this.prevScope=void 0);}stop(t){if(this._active){this._active=false;let n,o;for(n=0,o=this.effects.length;n<o;n++)this.effects[n].stop();for(this.effects.length=0,n=0,o=this.cleanups.length;n<o;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){for(n=0,o=this.scopes.length;n<o;n++)this.scopes[n].stop(true);this.scopes.length=0;}if(!this.detached&&this.parent&&!t){const i=this.parent.scopes.pop();i&&i!==this&&(this.parent.scopes[this.index]=i,i.index=this.index);}this.parent=void 0;}}}function Rx(){return nn}let at;const Ul=new WeakSet;class Tm{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,nn&&nn.active&&nn.effects.push(this);}pause(){this.flags|=64;}resume(){this.flags&64&&(this.flags&=-65,Ul.has(this)&&(Ul.delete(this),this.trigger()));}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Mm(this);}run(){if(!(this.flags&1))return this.fn();this.flags|=2,sf(this),Bm(this);const t=at,n=Rn;at=this,Rn=true;try{return this.fn()}finally{Om(this),at=t,Rn=n,this.flags&=-3;}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Kc(t);this.deps=this.depsTail=void 0,sf(this),this.onStop&&this.onStop(),this.flags&=-2;}}trigger(){this.flags&64?Ul.add(this):this.scheduler?this.scheduler():this.runIfDirty();}runIfDirty(){xu(this)&&this.run();}get dirty(){return xu(this)}}let Lm=0,Ss,$s;function Mm(e,t=false){if(e.flags|=8,t){e.next=$s,$s=e;return}e.next=Ss,Ss=e;}function qc(){Lm++;}function Wc(){if(--Lm>0)return;if($s){let t=$s;for($s=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n;}}let e;for(;Ss;){let t=Ss;for(Ss=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger();}catch(o){e||(e=o);}t=n;}}if(e)throw e}function Bm(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t;}function Om(e){let t,n=e.depsTail,o=n;for(;o;){const i=o.prevDep;o.version===-1?(o===n&&(n=i),Kc(o),Fx(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=i;}e.deps=t,e.depsTail=n;}function xu(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Rm(t.dep.computed)||t.dep.version!==t.version))return  true;return !!e._dirty}function Rm(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Ns)||(e.globalVersion=Ns,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!xu(e))))return;e.flags|=2;const t=e.dep,n=at,o=Rn;at=e,Rn=true;try{Bm(e);const i=e.fn(e._value);(t.version===0||Fo(i,e._value))&&(e.flags|=128,e._value=i,t.version++);}catch(i){throw t.version++,i}finally{at=n,Rn=o,Om(e),e.flags&=-3;}}function Kc(e,t=false){const{dep:n,prevSub:o,nextSub:i}=e;if(o&&(o.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)Kc(s,true);}!t&&!--n.sc&&n.map&&n.map.delete(n.key);}function Fx(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0);}let Rn=true;const Fm=[];function _o(){Fm.push(Rn),Rn=false;}function Co(){const e=Fm.pop();Rn=e===void 0?true:e;}function sf(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=at;at=void 0;try{t();}finally{at=n;}}}let Ns=0;class Nx{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0;}}class Gc{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=true;}track(t){if(!at||!Rn||at===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==at)n=this.activeLink=new Nx(at,this),at.deps?(n.prevDep=at.depsTail,at.depsTail.nextDep=n,at.depsTail=n):at.deps=at.depsTail=n,Nm(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=at.depsTail,n.nextDep=void 0,at.depsTail.nextDep=n,at.depsTail=n,at.deps===n&&(at.deps=o);}return n}trigger(t){this.version++,Ns++,this.notify(t);}notify(t){qc();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify();}finally{Wc();}}}function Nm(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)Nm(o);}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e;}}const la=new WeakMap,li=Symbol(""),_u=Symbol(""),Us=Symbol("");function Rt(e,t,n){if(Rn&&at){let o=la.get(e);o||la.set(e,o=new Map);let i=o.get(n);i||(o.set(n,i=new Gc),i.map=o,i.key=n),i.track();}}function mo(e,t,n,o,i,s){const r=la.get(e);if(!r){Ns++;return}const a=l=>{l&&l.trigger();};if(qc(),t==="clear")r.forEach(a);else {const l=Ee(e),c=l&&Hc(n);if(l&&n==="length"){const u=Number(o);r.forEach((f,p)=>{(p==="length"||p===Us||!Un(p)&&p>=u)&&a(f);});}else switch((n!==void 0||r.has(void 0))&&a(r.get(n)),c&&a(r.get(Us)),t){case "add":l?c&&a(r.get("length")):(a(r.get(li)),Ui(e)&&a(r.get(_u)));break;case "delete":l||(a(r.get(li)),Ui(e)&&a(r.get(_u)));break;case "set":Ui(e)&&a(r.get(li));break}}Wc();}function Ux(e,t){const n=la.get(e);return n&&n.get(t)}function Di(e){const t=Ye(e);return t===e?t:(Rt(t,"iterate",Us),En(e)?t:t.map(Lt))}function Xa(e){return Rt(e=Ye(e),"iterate",Us),e}const jx={__proto__:null,[Symbol.iterator](){return jl(this,Symbol.iterator,Lt)},concat(...e){return Di(this).concat(...e.map(t=>Ee(t)?Di(t):t))},entries(){return jl(this,"entries",e=>(e[1]=Lt(e[1]),e))},every(e,t){return po(this,"every",e,t,void 0,arguments)},filter(e,t){return po(this,"filter",e,t,n=>n.map(Lt),arguments)},find(e,t){return po(this,"find",e,t,Lt,arguments)},findIndex(e,t){return po(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return po(this,"findLast",e,t,Lt,arguments)},findLastIndex(e,t){return po(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return po(this,"forEach",e,t,void 0,arguments)},includes(...e){return zl(this,"includes",e)},indexOf(...e){return zl(this,"indexOf",e)},join(e){return Di(this).join(e)},lastIndexOf(...e){return zl(this,"lastIndexOf",e)},map(e,t){return po(this,"map",e,t,void 0,arguments)},pop(){return ms(this,"pop")},push(...e){return ms(this,"push",e)},reduce(e,...t){return rf(this,"reduce",e,t)},reduceRight(e,...t){return rf(this,"reduceRight",e,t)},shift(){return ms(this,"shift")},some(e,t){return po(this,"some",e,t,void 0,arguments)},splice(...e){return ms(this,"splice",e)},toReversed(){return Di(this).toReversed()},toSorted(e){return Di(this).toSorted(e)},toSpliced(...e){return Di(this).toSpliced(...e)},unshift(...e){return ms(this,"unshift",e)},values(){return jl(this,"values",Lt)}};function jl(e,t,n){const o=Xa(e),i=o[t]();return o!==e&&!En(e)&&(i._next=i.next,i.next=()=>{const s=i._next();return s.value&&(s.value=n(s.value)),s}),i}const zx=Array.prototype;function po(e,t,n,o,i,s){const r=Xa(e),a=r!==e&&!En(e),l=r[t];if(l!==zx[t]){const f=l.apply(e,s);return a?Lt(f):f}let c=n;r!==e&&(a?c=function(f,p){return n.call(this,Lt(f),p,e)}:n.length>2&&(c=function(f,p){return n.call(this,f,p,e)}));const u=l.call(r,c,o);return a&&i?i(u):u}function rf(e,t,n,o){const i=Xa(e);let s=n;return i!==e&&(En(e)?n.length>3&&(s=function(r,a,l){return n.call(this,r,a,l,e)}):s=function(r,a,l){return n.call(this,r,Lt(a),l,e)}),i[t](s,...o)}function zl(e,t,n){const o=Ye(e);Rt(o,"iterate",Us);const i=o[t](...n);return (i===-1||i===false)&&Qc(n[0])?(n[0]=Ye(n[0]),o[t](...n)):i}function ms(e,t,n=[]){_o(),qc();const o=Ye(e)[t].apply(e,n);return Wc(),Co(),o}const Hx=Nc("__proto__,__v_isRef,__isVue"),Um=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Un));function Vx(e){Un(e)||(e=String(e));const t=Ye(this);return Rt(t,"has",e),t.hasOwnProperty(e)}class jm{constructor(t=false,n=false){this._isReadonly=t,this._isShallow=n;}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const i=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return !i;if(n==="__v_isReadonly")return i;if(n==="__v_isShallow")return s;if(n==="__v_raw")return o===(i?s?e_:qm:s?Vm:Hm).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const r=Ee(t);if(!i){let l;if(r&&(l=jx[n]))return l;if(n==="hasOwnProperty")return Vx}const a=Reflect.get(t,n,It(t)?t:o);return (Un(n)?Um.has(n):Hx(n))||(i||Rt(t,"get",n),s)?a:It(a)?r&&Hc(n)?a:a.value:rt(a)?i?Wm(a):Za(a):a}}class zm extends jm{constructor(t=false){super(false,t);}set(t,n,o,i){let s=t[n];if(!this._isShallow){const l=Vo(s);if(!En(o)&&!Vo(o)&&(s=Ye(s),o=Ye(o)),!Ee(t)&&It(s)&&!It(o))return l?false:(s.value=o,true)}const r=Ee(t)&&Hc(n)?Number(n)<t.length:Ze(t,n),a=Reflect.set(t,n,o,It(t)?t:i);return t===Ye(i)&&(r?Fo(o,s)&&mo(t,"set",n,o):mo(t,"add",n,o)),a}deleteProperty(t,n){const o=Ze(t,n);t[n];const i=Reflect.deleteProperty(t,n);return i&&o&&mo(t,"delete",n,void 0),i}has(t,n){const o=Reflect.has(t,n);return (!Un(n)||!Um.has(n))&&Rt(t,"has",n),o}ownKeys(t){return Rt(t,"iterate",Ee(t)?"length":li),Reflect.ownKeys(t)}}class qx extends jm{constructor(t=false){super(true,t);}set(t,n){return  true}deleteProperty(t,n){return  true}}const Wx=new zm,Kx=new qx,Gx=new zm(true);const Cu=e=>e,Er=e=>Reflect.getPrototypeOf(e);function Jx(e,t,n){return function(...o){const i=this.__v_raw,s=Ye(i),r=Ui(s),a=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=i[e](...o),u=n?Cu:t?ua:Lt;return !t&&Rt(s,"iterate",l?_u:li),{next(){const{value:f,done:p}=c.next();return p?{value:f,done:p}:{value:a?[u(f[0]),u(f[1])]:u(f),done:p}},[Symbol.iterator](){return this}}}}function Ar(e){return function(...t){return e==="delete"?false:e==="clear"?void 0:this}}function Yx(e,t){const n={get(i){const s=this.__v_raw,r=Ye(s),a=Ye(i);e||(Fo(i,a)&&Rt(r,"get",i),Rt(r,"get",a));const{has:l}=Er(r),c=t?Cu:e?ua:Lt;if(l.call(r,i))return c(s.get(i));if(l.call(r,a))return c(s.get(a));s!==r&&s.get(i);},get size(){const i=this.__v_raw;return !e&&Rt(Ye(i),"iterate",li),Reflect.get(i,"size",i)},has(i){const s=this.__v_raw,r=Ye(s),a=Ye(i);return e||(Fo(i,a)&&Rt(r,"has",i),Rt(r,"has",a)),i===a?s.has(i):s.has(i)||s.has(a)},forEach(i,s){const r=this,a=r.__v_raw,l=Ye(a),c=t?Cu:e?ua:Lt;return !e&&Rt(l,"iterate",li),a.forEach((u,f)=>i.call(s,c(u),c(f),r))}};return Ht(n,e?{add:Ar("add"),set:Ar("set"),delete:Ar("delete"),clear:Ar("clear")}:{add(i){!t&&!En(i)&&!Vo(i)&&(i=Ye(i));const s=Ye(this);return Er(s).has.call(s,i)||(s.add(i),mo(s,"add",i,i)),this},set(i,s){!t&&!En(s)&&!Vo(s)&&(s=Ye(s));const r=Ye(this),{has:a,get:l}=Er(r);let c=a.call(r,i);c||(i=Ye(i),c=a.call(r,i));const u=l.call(r,i);return r.set(i,s),c?Fo(s,u)&&mo(r,"set",i,s):mo(r,"add",i,s),this},delete(i){const s=Ye(this),{has:r,get:a}=Er(s);let l=r.call(s,i);l||(i=Ye(i),l=r.call(s,i)),a&&a.call(s,i);const c=s.delete(i);return l&&mo(s,"delete",i,void 0),c},clear(){const i=Ye(this),s=i.size!==0,r=i.clear();return s&&mo(i,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(i=>{n[i]=Jx(i,e,t);}),n}function Jc(e,t){const n=Yx(e,t);return (o,i,s)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?o:Reflect.get(Ze(n,i)&&i in o?n:o,i,s)}const Qx={get:Jc(false,false)},Xx={get:Jc(false,true)},Zx={get:Jc(true,false)};const Hm=new WeakMap,Vm=new WeakMap,qm=new WeakMap,e_=new WeakMap;function t_(e){switch(e){case "Object":case "Array":return 1;case "Map":case "Set":case "WeakMap":case "WeakSet":return 2;default:return 0}}function n_(e){return e.__v_skip||!Object.isExtensible(e)?0:t_(kx(e))}function Za(e){return Vo(e)?e:Yc(e,false,Wx,Qx,Hm)}function o_(e){return Yc(e,false,Gx,Xx,Vm)}function Wm(e){return Yc(e,true,Kx,Zx,qm)}function Yc(e,t,n,o,i){if(!rt(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=n_(e);if(s===0)return e;const r=i.get(e);if(r)return r;const a=new Proxy(e,s===2?o:n);return i.set(e,a),a}function ji(e){return Vo(e)?ji(e.__v_raw):!!(e&&e.__v_isReactive)}function Vo(e){return !!(e&&e.__v_isReadonly)}function En(e){return !!(e&&e.__v_isShallow)}function Qc(e){return e?!!e.__v_raw:false}function Ye(e){const t=e&&e.__v_raw;return t?Ye(t):e}function i_(e){return !Ze(e,"__v_skip")&&Object.isExtensible(e)&&vu(e,"__v_skip",true),e}const Lt=e=>rt(e)?Za(e):e,ua=e=>rt(e)?Wm(e):e;function It(e){return e?e.__v_isRef===true:false}function K(e){return s_(e,false)}function s_(e,t){return It(e)?e:new r_(e,t)}class r_{constructor(t,n){this.dep=new Gc,this.__v_isRef=true,this.__v_isShallow=false,this._rawValue=n?t:Ye(t),this._value=n?t:Lt(t),this.__v_isShallow=n;}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||En(t)||Vo(t);t=o?t:Ye(t),Fo(t,n)&&(this._rawValue=t,this._value=o?t:Lt(t),this.dep.trigger());}}function te(e){return It(e)?e.value:e}const a_={get:(e,t,n)=>t==="__v_raw"?e:te(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const i=e[t];return It(i)&&!It(n)?(i.value=n,true):Reflect.set(e,t,n,o)}};function Km(e){return ji(e)?e:new Proxy(e,a_)}function l_(e){const t=Ee(e)?new Array(e.length):{};for(const n in e)t[n]=Gm(e,n);return t}class u_{constructor(t,n,o){this._object=t,this._key=n,this._defaultValue=o,this.__v_isRef=true,this._value=void 0;}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t;}get dep(){return Ux(Ye(this._object),this._key)}}class c_{constructor(t){this._getter=t,this.__v_isRef=true,this.__v_isReadonly=true,this._value=void 0;}get value(){return this._value=this._getter()}}function d_(e,t,n){return It(e)?e:Be(e)?new c_(e):rt(e)&&arguments.length>1?Gm(e,t,n):K(e)}function Gm(e,t,n){const o=e[t];return It(o)?o:new u_(e,t,n)}class f_{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Gc(this),this.__v_isRef=true,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ns-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o;}notify(){if(this.flags|=16,!(this.flags&8)&&at!==this)return Mm(this,true),true}get value(){const t=this.dep.track();return Rm(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t);}}function p_(e,t,n=false){let o,i;return Be(e)?o=e:(o=e.get,i=e.set),new f_(o,i,n)}const Pr={},ca=new WeakMap;let ti;function h_(e,t=false,n=ti){if(n){let o=ca.get(n);o||ca.set(n,o=[]),o.push(e);}}function m_(e,t,n=st){const{immediate:o,deep:i,once:s,scheduler:r,augmentJob:a,call:l}=n,c=I=>i?I:En(I)||i===false||i===0?go(I,1):go(I);let u,f,p,w,g=false,b=false;if(It(e)?(f=()=>e.value,g=En(e)):ji(e)?(f=()=>c(e),g=true):Ee(e)?(b=true,g=e.some(I=>ji(I)||En(I)),f=()=>e.map(I=>{if(It(I))return I.value;if(ji(I))return c(I);if(Be(I))return l?l(I,2):I()})):Be(e)?t?f=l?()=>l(e,2):e:f=()=>{if(p){_o();try{p();}finally{Co();}}const I=ti;ti=u;try{return l?l(e,3,[w]):e(w)}finally{ti=I;}}:f=Xn,t&&i){const I=f,M=i===true?1/0:i;f=()=>go(I(),M);}const v=Rx(),k=()=>{u.stop(),v&&v.active&&jc(v.effects,u);};if(s&&t){const I=t;t=(...M)=>{I(...M),k();};}let P=b?new Array(e.length).fill(Pr):Pr;const A=I=>{if(!(!(u.flags&1)||!u.dirty&&!I))if(t){const M=u.run();if(i||g||(b?M.some((z,N)=>Fo(z,P[N])):Fo(M,P))){p&&p();const z=ti;ti=u;try{const N=[M,P===Pr?void 0:b&&P[0]===Pr?[]:P,w];P=M,l?l(t,3,N):t(...N);}finally{ti=z;}}}else u.run();};return a&&a(A),u=new Tm(f),u.scheduler=r?()=>r(A,false):A,w=I=>h_(I,false,u),p=u.onStop=()=>{const I=ca.get(u);if(I){if(l)l(I,4);else for(const M of I)M();ca.delete(u);}},t?o?A(true):P=u.run():r?r(A.bind(null,true),true):u.run(),k.pause=u.pause.bind(u),k.resume=u.resume.bind(u),k.stop=k,k}function go(e,t=1/0,n){if(t<=0||!rt(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,It(e))go(e.value,t,n);else if(Ee(e))for(let o=0;o<e.length;o++)go(e[o],t,n);else if(as(e)||Ui(e))e.forEach(o=>{go(o,t,n);});else if(Am(e)){for(const o in e)go(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&go(e[o],t,n);}return e}/**
  * @vue/runtime-core v3.5.18
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
  * @license MIT
  **/function pr(e,t,n,o){try{return o?e(...o):e()}catch(i){hr(i,t,n);}}function ro(e,t,n,o){if(Be(e)){const i=pr(e,t,n,o);return i&&zc(i)&&i.catch(s=>{hr(s,t,n);}),i}if(Ee(e)){const i=[];for(let s=0;s<e.length;s++)i.push(ro(e[s],t,n,o));return i}}function hr(e,t,n,o=true){const i=t?t.vnode:null,{errorHandler:s,throwUnhandledErrorInProduction:r}=t&&t.appContext.config||st;if(t){let a=t.parent;const l=t.proxy,c=`https://vuejs.org/error-reference/#runtime-${n}`;for(;a;){const u=a.ec;if(u){for(let f=0;f<u.length;f++)if(u[f](e,l,c)===false)return}a=a.parent;}if(s){_o(),pr(s,null,10,[e,l,c]),Co();return}}g_(e,n,i,o,r);}function g_(e,t,n,o=true,i=false){if(i)throw e;console.error(e);}const Kt=[];let Kn=-1;const zi=[];let Io=null,Mi=0;const Jm=Promise.resolve();let da=null;function gi(e){const t=da||Jm;return e?t.then(this?e.bind(this):e):t}function w_(e){let t=Kn+1,n=Kt.length;for(;t<n;){const o=t+n>>>1,i=Kt[o],s=js(i);s<e||s===e&&i.flags&2?t=o+1:n=o;}return t}function Xc(e){if(!(e.flags&1)){const t=js(e),n=Kt[Kt.length-1];!n||!(e.flags&2)&&t>=js(n)?Kt.push(e):Kt.splice(w_(t),0,e),e.flags|=1,Ym();}}function Ym(){da||(da=Jm.then(Xm));}function ku(e){Ee(e)?zi.push(...e):Io&&e.id===-1?Io.splice(Mi+1,0,e):e.flags&1||(zi.push(e),e.flags|=1),Ym();}function af(e,t,n=Kn+1){for(;n<Kt.length;n++){const o=Kt[n];if(o&&o.flags&2){if(e&&o.id!==e.uid)continue;Kt.splice(n,1),n--,o.flags&4&&(o.flags&=-2),o(),o.flags&4||(o.flags&=-2);}}}function Qm(e){if(zi.length){const t=[...new Set(zi)].sort((n,o)=>js(n)-js(o));if(zi.length=0,Io){Io.push(...t);return}for(Io=t,Mi=0;Mi<Io.length;Mi++){const n=Io[Mi];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2;}Io=null,Mi=0;}}const js=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Xm(e){try{for(Kn=0;Kn<Kt.length;Kn++){const t=Kt[Kn];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),pr(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2));}}finally{for(;Kn<Kt.length;Kn++){const t=Kt[Kn];t&&(t.flags&=-2);}Kn=-1,Kt.length=0,Qm(),da=null,(Kt.length||zi.length)&&Xm();}}let Mt=null,el=null;function fa(e){const t=Mt;return Mt=e,el=e&&e.type.__scopeId||null,t}function y_(e){el=e;}function b_(){el=null;}const v_=e=>ge;function ge(e,t=Mt,n){if(!t||e._n)return e;const o=(...i)=>{o._d&&yf(-1);const s=fa(t);let r;try{r=e(...i);}finally{fa(s),o._d&&yf(1);}return r};return o._n=true,o._c=true,o._d=true,o}function G(e,t){if(Mt===null)return e;const n=il(Mt),o=e.dirs||(e.dirs=[]);for(let i=0;i<t.length;i++){let[s,r,a,l=st]=t[i];s&&(Be(s)&&(s={mounted:s,updated:s}),s.deep&&go(r),o.push({dir:s,instance:n,value:r,oldValue:void 0,arg:a,modifiers:l}));}return e}function Xo(e,t,n,o){const i=e.dirs,s=t&&t.dirs;for(let r=0;r<i.length;r++){const a=i[r];s&&(a.oldValue=s[r].value);let l=a.dir[o];l&&(_o(),ro(l,n,8,[e.el,a,e,t]),Co());}}const x_=Symbol("_vte"),__=e=>e.__isTeleport;function Zc(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Zc(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t;}/*! #__NO_SIDE_EFFECTS__ */function xe(e,t){return Be(e)?Ht({name:e.name},t,{setup:e}):e}function Zm(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0];}function Es(e,t,n,o,i=false){if(Ee(e)){e.forEach((g,b)=>Es(g,t&&(Ee(t)?t[b]:t),n,o,i));return}if(Hi(o)&&!i){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Es(e,t,n,o.component.subTree);return}const s=o.shapeFlag&4?il(o.component):o.el,r=i?null:s,{i:a,r:l}=e,c=t&&t.r,u=a.refs===st?a.refs={}:a.refs,f=a.setupState,p=Ye(f),w=f===st?()=>false:g=>Ze(p,g);if(c!=null&&c!==l&&(yt(c)?(u[c]=null,w(c)&&(f[c]=null)):It(c)&&(c.value=null)),Be(l))pr(l,a,12,[r,u]);else {const g=yt(l),b=It(l);if(g||b){const v=()=>{if(e.f){const k=g?w(l)?f[l]:u[l]:l.value;i?Ee(k)&&jc(k,s):Ee(k)?k.includes(s)||k.push(s):g?(u[l]=[s],w(l)&&(f[l]=u[l])):(l.value=[s],e.k&&(u[e.k]=l.value));}else g?(u[l]=r,w(l)&&(f[l]=r)):b&&(l.value=r,e.k&&(u[e.k]=r));};r?(v.id=-1,hn(v,n)):v();}}}Qa().requestIdleCallback;Qa().cancelIdleCallback;const Hi=e=>!!e.type.__asyncLoader,eg=e=>e.type.__isKeepAlive;function C_(e,t){tg(e,"a",t);}function k_(e,t){tg(e,"da",t);}function tg(e,t,n=Ft){const o=e.__wdc||(e.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent;}return e()});if(tl(t,o,n),n){let i=n.parent;for(;i&&i.parent;)eg(i.parent.vnode)&&S_(o,t,n,i),i=i.parent;}}function S_(e,t,n,o){const i=tl(t,e,o,true);$i(()=>{jc(o[t],i);},n);}function tl(e,t,n=Ft,o=false){if(n){const i=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...r)=>{_o();const a=wi(n),l=ro(t,n,e,r);return a(),Co(),l});return o?i.unshift(s):i.push(s),s}}const Eo=e=>(t,n=Ft)=>{(!Hs||e==="sp")&&tl(e,(...o)=>t(...o),n);},$t=Eo("bm"),qt=Eo("m"),$_=Eo("bu"),E_=Eo("u"),ng=Eo("bum"),$i=Eo("um"),A_=Eo("sp"),P_=Eo("rtg"),I_=Eo("rtc");function D_(e,t=Ft){tl("ec",e,t);}const ed="components",T_="directives";function ko(e,t){return td(ed,e,true,t)||e}const og=Symbol.for("v-ndc");function Dn(e){return yt(e)?td(ed,e,false)||e:e||og}function L_(e){return td(T_,e)}function td(e,t,n=true,o=false){const i=Mt||Ft;if(i){const s=i.type;if(e===ed){const a=CC(s,false);if(a&&(a===t||a===In(t)||a===Ya(In(t))))return s}const r=lf(i[e]||s[e],t)||lf(i.appContext[e],t);return !r&&o?s:r}}function lf(e,t){return e&&(e[t]||e[In(t)]||e[Ya(In(t))])}function je(e,t,n,o){let i;const s=n,r=Ee(e);if(r||yt(e)){const a=r&&ji(e);let l=false,c=false;a&&(l=!En(e),c=Vo(e),e=Xa(e)),i=new Array(e.length);for(let u=0,f=e.length;u<f;u++)i[u]=t(l?c?ua(Lt(e[u])):Lt(e[u]):e[u],u,void 0,s);}else if(typeof e=="number"){i=new Array(e);for(let a=0;a<e;a++)i[a]=t(a+1,a,void 0,s);}else if(rt(e))if(e[Symbol.iterator])i=Array.from(e,(a,l)=>t(a,l,void 0,s));else {const a=Object.keys(e);i=new Array(a.length);for(let l=0,c=a.length;l<c;l++){const u=a[l];i[l]=t(e[u],u,l,s);}}else i=[];return i}function M_(e,t){for(let n=0;n<t.length;n++){const o=t[n];if(Ee(o))for(let i=0;i<o.length;i++)e[o[i].name]=o[i].fn;else o&&(e[o.name]=o.key?(...i)=>{const s=o.fn(...i);return s&&(s.key=o.key),s}:o.fn);}return e}function Ge(e,t,n={},o,i){if(Mt.ce||Mt.parent&&Hi(Mt.parent)&&Mt.parent.ce)return t!=="default"&&(n.name=t),_(),nt($e,null,[ie("slot",n,o&&o())],64);let s=e[t];s&&s._c&&(s._d=false),_();const r=s&&ig(s(n)),a=n.key||r&&r.key,l=nt($e,{key:(a&&!Un(a)?a:`_${t}`)+(!r&&o?"_fb":"")},r||(o?o():[]),r&&e._===1?64:-2);return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),s&&s._c&&(s._d=true),l}function ig(e){return e.some(t=>Xi(t)?!(t.type===jn||t.type===$e&&!ig(t.children)):true)?e:null}const Su=e=>e?Ig(e)?il(e):Su(e.parent):null,As=Ht(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Su(e.parent),$root:e=>Su(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>rg(e),$forceUpdate:e=>e.f||(e.f=()=>{Xc(e.update);}),$nextTick:e=>e.n||(e.n=gi.bind(e.proxy)),$watch:e=>tC.bind(e)}),Hl=(e,t)=>e!==st&&!e.__isScriptSetup&&Ze(e,t),B_={get({_:e},t){if(t==="__v_skip")return  true;const{ctx:n,setupState:o,data:i,props:s,accessCache:r,type:a,appContext:l}=e;let c;if(t[0]!=="$"){const w=r[t];if(w!==void 0)switch(w){case 1:return o[t];case 2:return i[t];case 4:return n[t];case 3:return s[t]}else {if(Hl(o,t))return r[t]=1,o[t];if(i!==st&&Ze(i,t))return r[t]=2,i[t];if((c=e.propsOptions[0])&&Ze(c,t))return r[t]=3,s[t];if(n!==st&&Ze(n,t))return r[t]=4,n[t];$u&&(r[t]=0);}}const u=As[t];let f,p;if(u)return t==="$attrs"&&Rt(e.attrs,"get",""),u(e);if((f=a.__cssModules)&&(f=f[t]))return f;if(n!==st&&Ze(n,t))return r[t]=4,n[t];if(p=l.config.globalProperties,Ze(p,t))return p[t]},set({_:e},t,n){const{data:o,setupState:i,ctx:s}=e;return Hl(i,t)?(i[t]=n,true):o!==st&&Ze(o,t)?(o[t]=n,true):Ze(e.props,t)||t[0]==="$"&&t.slice(1)in e?false:(s[t]=n,true)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:i,propsOptions:s}},r){let a;return !!n[r]||e!==st&&Ze(e,r)||Hl(t,r)||(a=s[0])&&Ze(a,r)||Ze(o,r)||Ze(As,r)||Ze(i.config.globalProperties,r)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Ze(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function uf(e){return Ee(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Bt(e){const t=Pg();let n=e();return Du(),zc(n)&&(n=n.catch(o=>{throw wi(t),o})),[n,()=>wi(t)]}let $u=true;function O_(e){const t=rg(e),n=e.proxy,o=e.ctx;$u=false,t.beforeCreate&&cf(t.beforeCreate,e,"bc");const{data:i,computed:s,methods:r,watch:a,provide:l,inject:c,created:u,beforeMount:f,mounted:p,beforeUpdate:w,updated:g,activated:b,deactivated:v,beforeDestroy:k,beforeUnmount:P,destroyed:A,unmounted:I,render:M,renderTracked:z,renderTriggered:N,errorCaptured:se,serverPrefetch:pe,expose:ne,inheritAttrs:B,components:O,directives:W,filters:le}=t;if(c&&R_(c,o,null),r)for(const _e in r){const Se=r[_e];Be(Se)&&(o[_e]=Se.bind(n));}if(i){const _e=i.call(n,n);rt(_e)&&(e.data=Za(_e));}if($u=true,s)for(const _e in s){const Se=s[_e],Ne=Be(Se)?Se.bind(n,n):Be(Se.get)?Se.get.bind(n,n):Xn,dt=!Be(Se)&&Be(Se.set)?Se.set.bind(n):Xn,we=Ke({get:Ne,set:dt});Object.defineProperty(o,_e,{enumerable:true,configurable:true,get:()=>we.value,set:L=>we.value=L});}if(a)for(const _e in a)sg(a[_e],o,n,_e);if(l){const _e=Be(l)?l.call(n):l;Reflect.ownKeys(_e).forEach(Se=>{_s(Se,_e[Se]);});}u&&cf(u,e,"c");function ke(_e,Se){Ee(Se)?Se.forEach(Ne=>_e(Ne.bind(n))):Se&&_e(Se.bind(n));}if(ke($t,f),ke(qt,p),ke($_,w),ke(E_,g),ke(C_,b),ke(k_,v),ke(D_,se),ke(I_,z),ke(P_,N),ke(ng,P),ke($i,I),ke(A_,pe),Ee(ne))if(ne.length){const _e=e.exposed||(e.exposed={});ne.forEach(Se=>{Object.defineProperty(_e,Se,{get:()=>n[Se],set:Ne=>n[Se]=Ne,enumerable:true});});}else e.exposed||(e.exposed={});M&&e.render===Xn&&(e.render=M),B!=null&&(e.inheritAttrs=B),O&&(e.components=O),W&&(e.directives=W),pe&&Zm(e);}function R_(e,t,n=Xn){Ee(e)&&(e=Eu(e));for(const o in e){const i=e[o];let s;rt(i)?"default"in i?s=Ps(i.from||o,i.default,true):s=Ps(i.from||o):s=Ps(i),It(s)?Object.defineProperty(t,o,{enumerable:true,configurable:true,get:()=>s.value,set:r=>s.value=r}):t[o]=s;}}function cf(e,t,n){ro(Ee(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n);}function sg(e,t,n,o){let i=o.includes(".")?bg(n,o):()=>n[o];if(yt(e)){const s=t[e];Be(s)&&He(i,s);}else if(Be(e))He(i,e.bind(n));else if(rt(e))if(Ee(e))e.forEach(s=>sg(s,t,n,o));else {const s=Be(e.handler)?e.handler.bind(n):t[e.handler];Be(s)&&He(i,s,e);}}function rg(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:i,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,a=s.get(t);let l;return a?l=a:!i.length&&!n&&!o?l=t:(l={},i.length&&i.forEach(c=>pa(l,c,r,true)),pa(l,t,r)),rt(t)&&s.set(t,l),l}function pa(e,t,n,o=false){const{mixins:i,extends:s}=t;s&&pa(e,s,n,true),i&&i.forEach(r=>pa(e,r,n,true));for(const r in t)if(!(o&&r==="expose")){const a=F_[r]||n&&n[r];e[r]=a?a(e[r],t[r]):t[r];}return e}const F_={data:df,props:ff,emits:ff,methods:xs,computed:xs,beforeCreate:Wt,created:Wt,beforeMount:Wt,mounted:Wt,beforeUpdate:Wt,updated:Wt,beforeDestroy:Wt,beforeUnmount:Wt,destroyed:Wt,unmounted:Wt,activated:Wt,deactivated:Wt,errorCaptured:Wt,serverPrefetch:Wt,components:xs,directives:xs,watch:U_,provide:df,inject:N_};function df(e,t){return t?e?function(){return Ht(Be(e)?e.call(this,this):e,Be(t)?t.call(this,this):t)}:t:e}function N_(e,t){return xs(Eu(e),Eu(t))}function Eu(e){if(Ee(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Wt(e,t){return e?[...new Set([].concat(e,t))]:t}function xs(e,t){return e?Ht(Object.create(null),e,t):t}function ff(e,t){return e?Ee(e)&&Ee(t)?[...new Set([...e,...t])]:Ht(Object.create(null),uf(e),uf(t??{})):t}function U_(e,t){if(!e)return t;if(!t)return e;const n=Ht(Object.create(null),e);for(const o in t)n[o]=Wt(e[o],t[o]);return n}function ag(){return {app:null,config:{isNativeTag:_x,performance:false,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let j_=0;function z_(e,t){return function(o,i=null){Be(o)||(o=Ht({},o)),i!=null&&!rt(i)&&(i=null);const s=ag(),r=new WeakSet,a=[];let l=false;const c=s.app={_uid:j_++,_component:o,_props:i,_container:null,_context:s,_instance:null,version:$C,get config(){return s.config},set config(u){},use(u,...f){return r.has(u)||(u&&Be(u.install)?(r.add(u),u.install(c,...f)):Be(u)&&(r.add(u),u(c,...f))),c},mixin(u){return s.mixins.includes(u)||s.mixins.push(u),c},component(u,f){return f?(s.components[u]=f,c):s.components[u]},directive(u,f){return f?(s.directives[u]=f,c):s.directives[u]},mount(u,f,p){if(!l){const w=c._ceVNode||ie(o,i);return w.appContext=s,p===true?p="svg":p===false&&(p=void 0),e(w,u,p),l=true,c._container=u,u.__vue_app__=c,il(w.component)}},onUnmount(u){a.push(u);},unmount(){l&&(ro(a,c._instance,16),e(null,c._container),delete c._container.__vue_app__);},provide(u,f){return s.provides[u]=f,c},runWithContext(u){const f=Vi;Vi=c;try{return u()}finally{Vi=f;}}};return c}}let Vi=null;function _s(e,t){if(Ft){let n=Ft.provides;const o=Ft.parent&&Ft.parent.provides;o===n&&(n=Ft.provides=Object.create(o)),n[e]=t;}}function Ps(e,t,n=false){const o=Pg();if(o||Vi){let i=Vi?Vi._context.provides:o?o.parent==null||o.ce?o.vnode.appContext&&o.vnode.appContext.provides:o.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return n&&Be(t)?t.call(o&&o.proxy):t}}const lg={},ug=()=>Object.create(lg),cg=e=>Object.getPrototypeOf(e)===lg;function H_(e,t,n,o=false){const i={},s=ug();e.propsDefaults=Object.create(null),dg(e,t,i,s);for(const r in e.propsOptions[0])r in i||(i[r]=void 0);n?e.props=o?i:o_(i):e.type.props?e.props=i:e.props=s,e.attrs=s;}function V_(e,t,n,o){const{props:i,attrs:s,vnode:{patchFlag:r}}=e,a=Ye(i),[l]=e.propsOptions;let c=false;if((o||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let f=0;f<u.length;f++){let p=u[f];if(nl(e.emitsOptions,p))continue;const w=t[p];if(l)if(Ze(s,p))w!==s[p]&&(s[p]=w,c=true);else {const g=In(p);i[g]=Au(l,a,g,w,e,false);}else w!==s[p]&&(s[p]=w,c=true);}}}else {dg(e,t,i,s)&&(c=true);let u;for(const f in a)(!t||!Ze(t,f)&&((u=Go(f))===f||!Ze(t,u)))&&(l?n&&(n[f]!==void 0||n[u]!==void 0)&&(i[f]=Au(l,a,f,void 0,e,true)):delete i[f]);if(s!==a)for(const f in s)(!t||!Ze(t,f))&&(delete s[f],c=true);}c&&mo(e.attrs,"set","");}function dg(e,t,n,o){const[i,s]=e.propsOptions;let r=false,a;if(t)for(let l in t){if(ks(l))continue;const c=t[l];let u;i&&Ze(i,u=In(l))?!s||!s.includes(u)?n[u]=c:(a||(a={}))[u]=c:nl(e.emitsOptions,l)||(!(l in o)||c!==o[l])&&(o[l]=c,r=true);}if(s){const l=Ye(n),c=a||st;for(let u=0;u<s.length;u++){const f=s[u];n[f]=Au(i,l,f,c[f],e,!Ze(c,f));}}return r}function Au(e,t,n,o,i,s){const r=e[n];if(r!=null){const a=Ze(r,"default");if(a&&o===void 0){const l=r.default;if(r.type!==Function&&!r.skipFactory&&Be(l)){const{propsDefaults:c}=i;if(n in c)o=c[n];else {const u=wi(i);o=c[n]=l.call(null,t),u();}}else o=l;i.ce&&i.ce._setProp(n,o);}r[0]&&(s&&!a?o=false:r[1]&&(o===""||o===Go(n))&&(o=true));}return o}const q_=new WeakMap;function fg(e,t,n=false){const o=n?q_:t.propsCache,i=o.get(e);if(i)return i;const s=e.props,r={},a=[];let l=false;if(!Be(e)){const u=f=>{l=true;const[p,w]=fg(f,t,true);Ht(r,p),w&&a.push(...w);};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u);}if(!s&&!l)return rt(e)&&o.set(e,Ni),Ni;if(Ee(s))for(let u=0;u<s.length;u++){const f=In(s[u]);pf(f)&&(r[f]=st);}else if(s)for(const u in s){const f=In(u);if(pf(f)){const p=s[u],w=r[f]=Ee(p)||Be(p)?{type:p}:Ht({},p),g=w.type;let b=false,v=true;if(Ee(g))for(let k=0;k<g.length;++k){const P=g[k],A=Be(P)&&P.name;if(A==="Boolean"){b=true;break}else A==="String"&&(v=false);}else b=Be(g)&&g.name==="Boolean";w[0]=b,w[1]=v,(b||Ze(w,"default"))&&a.push(f);}}const c=[r,a];return rt(e)&&o.set(e,c),c}function pf(e){return e[0]!=="$"&&!ks(e)}const nd=e=>e==="_"||e==="__"||e==="_ctx"||e==="$stable",od=e=>Ee(e)?e.map(Tn):[Tn(e)],W_=(e,t,n)=>{if(t._n)return t;const o=ge((...i)=>od(t(...i)),n);return o._c=false,o},pg=(e,t,n)=>{const o=e._ctx;for(const i in e){if(nd(i))continue;const s=e[i];if(Be(s))t[i]=W_(i,s,o);else if(s!=null){const r=od(s);t[i]=()=>r;}}},hg=(e,t)=>{const n=od(t);e.slots.default=()=>n;},mg=(e,t,n)=>{for(const o in t)(n||!nd(o))&&(e[o]=t[o]);},K_=(e,t,n)=>{const o=e.slots=ug();if(e.vnode.shapeFlag&32){const i=t.__;i&&vu(o,"__",i,true);const s=t._;s?(mg(o,t,n),n&&vu(o,"_",s,true)):pg(t,o);}else t&&hg(e,t);},G_=(e,t,n)=>{const{vnode:o,slots:i}=e;let s=true,r=st;if(o.shapeFlag&32){const a=t._;a?n&&a===1?s=false:mg(i,t,n):(s=!t.$stable,pg(t,i)),r=t;}else t&&(hg(e,t),r={default:1});if(s)for(const a in i)!nd(a)&&r[a]==null&&delete i[a];},hn=pC;function J_(e){return Y_(e)}function Y_(e,t){const n=Qa();n.__VUE__=true;const{insert:o,remove:i,patchProp:s,createElement:r,createText:a,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:p,setScopeId:w=Xn,insertStaticContent:g}=e,b=(m,x,S,Z=null,j=null,Q=null,de=void 0,ce=null,ue=!!x.dynamicChildren)=>{if(m===x)return;m&&!To(m,x)&&(Z=Zt(m),L(m,j,Q,true),m=null),x.patchFlag===-2&&(ue=false,x.dynamicChildren=null);const{type:re,ref:Ce,shapeFlag:me}=x;switch(re){case ol:v(m,x,S,Z);break;case jn:k(m,x,S,Z);break;case jr:m==null&&P(x,S,Z,de);break;case $e:O(m,x,S,Z,j,Q,de,ce,ue);break;default:me&1?M(m,x,S,Z,j,Q,de,ce,ue):me&6?W(m,x,S,Z,j,Q,de,ce,ue):(me&64||me&128)&&re.process(m,x,S,Z,j,Q,de,ce,ue,Cn);}Ce!=null&&j?Es(Ce,m&&m.ref,Q,x||m,!x):Ce==null&&m&&m.ref!=null&&Es(m.ref,null,Q,m,true);},v=(m,x,S,Z)=>{if(m==null)o(x.el=a(x.children),S,Z);else {const j=x.el=m.el;x.children!==m.children&&c(j,x.children);}},k=(m,x,S,Z)=>{m==null?o(x.el=l(x.children||""),S,Z):x.el=m.el;},P=(m,x,S,Z)=>{[m.el,m.anchor]=g(m.children,x,S,Z,m.el,m.anchor);},A=({el:m,anchor:x},S,Z)=>{let j;for(;m&&m!==x;)j=p(m),o(m,S,Z),m=j;o(x,S,Z);},I=({el:m,anchor:x})=>{let S;for(;m&&m!==x;)S=p(m),i(m),m=S;i(x);},M=(m,x,S,Z,j,Q,de,ce,ue)=>{x.type==="svg"?de="svg":x.type==="math"&&(de="mathml"),m==null?z(x,S,Z,j,Q,de,ce,ue):pe(m,x,j,Q,de,ce,ue);},z=(m,x,S,Z,j,Q,de,ce)=>{let ue,re;const{props:Ce,shapeFlag:me,transition:oe,dirs:Ae}=m;if(ue=m.el=r(m.type,Q,Ce&&Ce.is,Ce),me&8?u(ue,m.children):me&16&&se(m.children,ue,null,Z,j,Vl(m,Q),de,ce),Ae&&Xo(m,null,Z,"created"),N(ue,m,m.scopeId,de,Z),Ce){for(const y in Ce)y!=="value"&&!ks(y)&&s(ue,y,null,Ce[y],Q,Z);"value"in Ce&&s(ue,"value",null,Ce.value,Q),(re=Ce.onVnodeBeforeMount)&&Vn(re,Z,m);}Ae&&Xo(m,null,Z,"beforeMount");const h=Q_(j,oe);h&&oe.beforeEnter(ue),o(ue,x,S),((re=Ce&&Ce.onVnodeMounted)||h||Ae)&&hn(()=>{re&&Vn(re,Z,m),h&&oe.enter(ue),Ae&&Xo(m,null,Z,"mounted");},j);},N=(m,x,S,Z,j)=>{if(S&&w(m,S),Z)for(let Q=0;Q<Z.length;Q++)w(m,Z[Q]);if(j){let Q=j.subTree;if(x===Q||xg(Q.type)&&(Q.ssContent===x||Q.ssFallback===x)){const de=j.vnode;N(m,de,de.scopeId,de.slotScopeIds,j.parent);}}},se=(m,x,S,Z,j,Q,de,ce,ue=0)=>{for(let re=ue;re<m.length;re++){const Ce=m[re]=ce?Do(m[re]):Tn(m[re]);b(null,Ce,x,S,Z,j,Q,de,ce);}},pe=(m,x,S,Z,j,Q,de)=>{const ce=x.el=m.el;let{patchFlag:ue,dynamicChildren:re,dirs:Ce}=x;ue|=m.patchFlag&16;const me=m.props||st,oe=x.props||st;let Ae;if(S&&Zo(S,false),(Ae=oe.onVnodeBeforeUpdate)&&Vn(Ae,S,x,m),Ce&&Xo(x,m,S,"beforeUpdate"),S&&Zo(S,true),(me.innerHTML&&oe.innerHTML==null||me.textContent&&oe.textContent==null)&&u(ce,""),re?ne(m.dynamicChildren,re,ce,S,Z,Vl(x,j),Q):de||Se(m,x,ce,null,S,Z,Vl(x,j),Q,false),ue>0){if(ue&16)B(ce,me,oe,S,j);else if(ue&2&&me.class!==oe.class&&s(ce,"class",null,oe.class,j),ue&4&&s(ce,"style",me.style,oe.style,j),ue&8){const h=x.dynamicProps;for(let y=0;y<h.length;y++){const C=h[y],D=me[C],U=oe[C];(U!==D||C==="value")&&s(ce,C,D,U,j,S);}}ue&1&&m.children!==x.children&&u(ce,x.children);}else !de&&re==null&&B(ce,me,oe,S,j);((Ae=oe.onVnodeUpdated)||Ce)&&hn(()=>{Ae&&Vn(Ae,S,x,m),Ce&&Xo(x,m,S,"updated");},Z);},ne=(m,x,S,Z,j,Q,de)=>{for(let ce=0;ce<x.length;ce++){const ue=m[ce],re=x[ce],Ce=ue.el&&(ue.type===$e||!To(ue,re)||ue.shapeFlag&198)?f(ue.el):S;b(ue,re,Ce,null,Z,j,Q,de,true);}},B=(m,x,S,Z,j)=>{if(x!==S){if(x!==st)for(const Q in x)!ks(Q)&&!(Q in S)&&s(m,Q,x[Q],null,j,Z);for(const Q in S){if(ks(Q))continue;const de=S[Q],ce=x[Q];de!==ce&&Q!=="value"&&s(m,Q,ce,de,j,Z);}"value"in S&&s(m,"value",x.value,S.value,j);}},O=(m,x,S,Z,j,Q,de,ce,ue)=>{const re=x.el=m?m.el:a(""),Ce=x.anchor=m?m.anchor:a("");let{patchFlag:me,dynamicChildren:oe,slotScopeIds:Ae}=x;Ae&&(ce=ce?ce.concat(Ae):Ae),m==null?(o(re,S,Z),o(Ce,S,Z),se(x.children||[],S,Ce,j,Q,de,ce,ue)):me>0&&me&64&&oe&&m.dynamicChildren?(ne(m.dynamicChildren,oe,S,j,Q,de,ce),(x.key!=null||j&&x===j.subTree)&&gg(m,x,true)):Se(m,x,S,Ce,j,Q,de,ce,ue);},W=(m,x,S,Z,j,Q,de,ce,ue)=>{x.slotScopeIds=ce,m==null?x.shapeFlag&512?j.ctx.activate(x,S,Z,de,ue):le(x,S,Z,j,Q,de,ue):ve(m,x,ue);},le=(m,x,S,Z,j,Q,de)=>{const ce=m.component=yC(m,Z,j);if(eg(m)&&(ce.ctx.renderer=Cn),bC(ce,false,de),ce.asyncDep){if(j&&j.registerDep(ce,ke,de),!m.el){const ue=ce.subTree=ie(jn);k(null,ue,x,S),m.placeholder=ue.el;}}else ke(ce,m,x,S,j,Q,de);},ve=(m,x,S)=>{const Z=x.component=m.component;if(aC(m,x,S))if(Z.asyncDep&&!Z.asyncResolved){_e(Z,x,S);return}else Z.next=x,Z.update();else x.el=m.el,Z.vnode=x;},ke=(m,x,S,Z,j,Q,de)=>{const ce=()=>{if(m.isMounted){let{next:me,bu:oe,u:Ae,parent:h,vnode:y}=m;{const J=wg(m);if(J){me&&(me.el=y.el,_e(m,me,de)),J.asyncDep.then(()=>{m.isUnmounted||ce();});return}}let C=me,D;Zo(m,false),me?(me.el=y.el,_e(m,me,de)):me=y,oe&&Ur(oe),(D=me.props&&me.props.onVnodeBeforeUpdate)&&Vn(D,h,me,y),Zo(m,true);const U=mf(m),R=m.subTree;m.subTree=U,b(R,U,f(R.el),Zt(R),m,j,Q),me.el=U.el,C===null&&id(m,U.el),Ae&&hn(Ae,j),(D=me.props&&me.props.onVnodeUpdated)&&hn(()=>Vn(D,h,me,y),j);}else {let me;const{el:oe,props:Ae}=x,{bm:h,m:y,parent:C,root:D,type:U}=m,R=Hi(x);Zo(m,false),h&&Ur(h),!R&&(me=Ae&&Ae.onVnodeBeforeMount)&&Vn(me,C,x),Zo(m,true);{D.ce&&D.ce._def.shadowRoot!==false&&D.ce._injectChildStyle(U);const J=m.subTree=mf(m);b(null,J,S,Z,m,j,Q),x.el=J.el;}if(y&&hn(y,j),!R&&(me=Ae&&Ae.onVnodeMounted)){const J=x;hn(()=>Vn(me,C,J),j);}(x.shapeFlag&256||C&&Hi(C.vnode)&&C.vnode.shapeFlag&256)&&m.a&&hn(m.a,j),m.isMounted=true,x=S=Z=null;}};m.scope.on();const ue=m.effect=new Tm(ce);m.scope.off();const re=m.update=ue.run.bind(ue),Ce=m.job=ue.runIfDirty.bind(ue);Ce.i=m,Ce.id=m.uid,ue.scheduler=()=>Xc(Ce),Zo(m,true),re();},_e=(m,x,S)=>{x.component=m;const Z=m.vnode.props;m.vnode=x,m.next=null,V_(m,x.props,Z,S),G_(m,x.children,S),_o(),af(m),Co();},Se=(m,x,S,Z,j,Q,de,ce,ue=false)=>{const re=m&&m.children,Ce=m?m.shapeFlag:0,me=x.children,{patchFlag:oe,shapeFlag:Ae}=x;if(oe>0){if(oe&128){dt(re,me,S,Z,j,Q,de,ce,ue);return}else if(oe&256){Ne(re,me,S,Z,j,Q,de,ce,ue);return}}Ae&8?(Ce&16&&fn(re,j,Q),me!==re&&u(S,me)):Ce&16?Ae&16?dt(re,me,S,Z,j,Q,de,ce,ue):fn(re,j,Q,true):(Ce&8&&u(S,""),Ae&16&&se(me,S,Z,j,Q,de,ce,ue));},Ne=(m,x,S,Z,j,Q,de,ce,ue)=>{m=m||Ni,x=x||Ni;const re=m.length,Ce=x.length,me=Math.min(re,Ce);let oe;for(oe=0;oe<me;oe++){const Ae=x[oe]=ue?Do(x[oe]):Tn(x[oe]);b(m[oe],Ae,S,null,j,Q,de,ce,ue);}re>Ce?fn(m,j,Q,true,false,me):se(x,S,Z,j,Q,de,ce,ue,me);},dt=(m,x,S,Z,j,Q,de,ce,ue)=>{let re=0;const Ce=x.length;let me=m.length-1,oe=Ce-1;for(;re<=me&&re<=oe;){const Ae=m[re],h=x[re]=ue?Do(x[re]):Tn(x[re]);if(To(Ae,h))b(Ae,h,S,null,j,Q,de,ce,ue);else break;re++;}for(;re<=me&&re<=oe;){const Ae=m[me],h=x[oe]=ue?Do(x[oe]):Tn(x[oe]);if(To(Ae,h))b(Ae,h,S,null,j,Q,de,ce,ue);else break;me--,oe--;}if(re>me){if(re<=oe){const Ae=oe+1,h=Ae<Ce?x[Ae].el:Z;for(;re<=oe;)b(null,x[re]=ue?Do(x[re]):Tn(x[re]),S,h,j,Q,de,ce,ue),re++;}}else if(re>oe)for(;re<=me;)L(m[re],j,Q,true),re++;else {const Ae=re,h=re,y=new Map;for(re=h;re<=oe;re++){const be=x[re]=ue?Do(x[re]):Tn(x[re]);be.key!=null&&y.set(be.key,re);}let C,D=0;const U=oe-h+1;let R=false,J=0;const X=new Array(U);for(re=0;re<U;re++)X[re]=0;for(re=Ae;re<=me;re++){const be=m[re];if(D>=U){L(be,j,Q,true);continue}let Me;if(be.key!=null)Me=y.get(be.key);else for(C=h;C<=oe;C++)if(X[C-h]===0&&To(be,x[C])){Me=C;break}Me===void 0?L(be,j,Q,true):(X[Me-h]=re+1,Me>=J?J=Me:R=true,b(be,x[Me],S,null,j,Q,de,ce,ue),D++);}const ae=R?X_(X):Ni;for(C=ae.length-1,re=U-1;re>=0;re--){const be=h+re,Me=x[be],Oe=x[be+1],We=be+1<Ce?Oe.el||Oe.placeholder:Z;X[re]===0?b(null,Me,S,We,j,Q,de,ce,ue):R&&(C<0||re!==ae[C]?we(Me,S,We,2):C--);}}},we=(m,x,S,Z,j=null)=>{const{el:Q,type:de,transition:ce,children:ue,shapeFlag:re}=m;if(re&6){we(m.component.subTree,x,S,Z);return}if(re&128){m.suspense.move(x,S,Z);return}if(re&64){de.move(m,x,S,Cn);return}if(de===$e){o(Q,x,S);for(let me=0;me<ue.length;me++)we(ue[me],x,S,Z);o(m.anchor,x,S);return}if(de===jr){A(m,x,S);return}if(Z!==2&&re&1&&ce)if(Z===0)ce.beforeEnter(Q),o(Q,x,S),hn(()=>ce.enter(Q),j);else {const{leave:me,delayLeave:oe,afterLeave:Ae}=ce,h=()=>{m.ctx.isUnmounted?i(Q):o(Q,x,S);},y=()=>{me(Q,()=>{h(),Ae&&Ae();});};oe?oe(Q,h,y):y();}else o(Q,x,S);},L=(m,x,S,Z=false,j=false)=>{const{type:Q,props:de,ref:ce,children:ue,dynamicChildren:re,shapeFlag:Ce,patchFlag:me,dirs:oe,cacheIndex:Ae}=m;if(me===-2&&(j=false),ce!=null&&(_o(),Es(ce,null,S,m,true),Co()),Ae!=null&&(x.renderCache[Ae]=void 0),Ce&256){x.ctx.deactivate(m);return}const h=Ce&1&&oe,y=!Hi(m);let C;if(y&&(C=de&&de.onVnodeBeforeUnmount)&&Vn(C,x,m),Ce&6)pt(m.component,S,Z);else {if(Ce&128){m.suspense.unmount(S,Z);return}h&&Xo(m,null,x,"beforeUnmount"),Ce&64?m.type.remove(m,x,S,Cn,Z):re&&!re.hasOnce&&(Q!==$e||me>0&&me&64)?fn(re,x,S,false,true):(Q===$e&&me&384||!j&&Ce&16)&&fn(ue,x,S),Z&&he(m);}(y&&(C=de&&de.onVnodeUnmounted)||h)&&hn(()=>{C&&Vn(C,x,m),h&&Xo(m,null,x,"unmounted");},S);},he=m=>{const{type:x,el:S,anchor:Z,transition:j}=m;if(x===$e){it(S,Z);return}if(x===jr){I(m);return}const Q=()=>{i(S),j&&!j.persisted&&j.afterLeave&&j.afterLeave();};if(m.shapeFlag&1&&j&&!j.persisted){const{leave:de,delayLeave:ce}=j,ue=()=>de(S,Q);ce?ce(m.el,Q,ue):ue();}else Q();},it=(m,x)=>{let S;for(;m!==x;)S=p(m),i(m),m=S;i(x);},pt=(m,x,S)=>{const{bum:Z,scope:j,job:Q,subTree:de,um:ce,m:ue,a:re,parent:Ce,slots:{__:me}}=m;hf(ue),hf(re),Z&&Ur(Z),Ce&&Ee(me)&&me.forEach(oe=>{Ce.renderCache[oe]=void 0;}),j.stop(),Q&&(Q.flags|=8,L(de,m,x,S)),ce&&hn(ce,x),hn(()=>{m.isUnmounted=true;},x),x&&x.pendingBranch&&!x.isUnmounted&&m.asyncDep&&!m.asyncResolved&&m.suspenseId===x.pendingId&&(x.deps--,x.deps===0&&x.resolve());},fn=(m,x,S,Z=false,j=false,Q=0)=>{for(let de=Q;de<m.length;de++)L(m[de],x,S,Z,j);},Zt=m=>{if(m.shapeFlag&6)return Zt(m.component.subTree);if(m.shapeFlag&128)return m.suspense.next();const x=p(m.anchor||m.el),S=x&&x[x_];return S?p(S):x};let fo=false;const Ii=(m,x,S)=>{m==null?x._vnode&&L(x._vnode,null,null,true):b(x._vnode||null,m,x,null,null,null,S),x._vnode=m,fo||(fo=true,af(),Qm(),fo=false);},Cn={p:b,um:L,m:we,r:he,mt:le,mc:se,pc:Se,pbc:ne,n:Zt,o:e};return {render:Ii,hydrate:void 0,createApp:z_(Ii)}}function Vl({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Zo({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5);}function Q_(e,t){return (!e||e&&!e.pendingBranch)&&t&&!t.persisted}function gg(e,t,n=false){const o=e.children,i=t.children;if(Ee(o)&&Ee(i))for(let s=0;s<o.length;s++){const r=o[s];let a=i[s];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=i[s]=Do(i[s]),a.el=r.el),!n&&a.patchFlag!==-2&&gg(r,a)),a.type===ol&&(a.el=r.el),a.type===jn&&!a.el&&(a.el=r.el);}}function X_(e){const t=e.slice(),n=[0];let o,i,s,r,a;const l=e.length;for(o=0;o<l;o++){const c=e[o];if(c!==0){if(i=n[n.length-1],e[i]<c){t[o]=i,n.push(o);continue}for(s=0,r=n.length-1;s<r;)a=s+r>>1,e[n[a]]<c?s=a+1:r=a;c<e[n[s]]&&(s>0&&(t[o]=n[s-1]),n[s]=o);}}for(s=n.length,r=n[s-1];s-- >0;)n[s]=r,r=t[r];return n}function wg(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:wg(t)}function hf(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8;}const Z_=Symbol.for("v-scx"),eC=()=>Ps(Z_);function He(e,t,n){return yg(e,t,n)}function yg(e,t,n=st){const{immediate:o,deep:i,flush:s,once:r}=n,a=Ht({},n),l=t&&o||!t&&s!=="post";let c;if(Hs){if(s==="sync"){const w=eC();c=w.__watcherHandles||(w.__watcherHandles=[]);}else if(!l){const w=()=>{};return w.stop=Xn,w.resume=Xn,w.pause=Xn,w}}const u=Ft;a.call=(w,g,b)=>ro(w,u,g,b);let f=false;s==="post"?a.scheduler=w=>{hn(w,u&&u.suspense);}:s!=="sync"&&(f=true,a.scheduler=(w,g)=>{g?w():Xc(w);}),a.augmentJob=w=>{t&&(w.flags|=4),f&&(w.flags|=2,u&&(w.id=u.uid,w.i=u));};const p=m_(e,t,a);return Hs&&(c?c.push(p):l&&p()),p}function tC(e,t,n){const o=this.proxy,i=yt(e)?e.includes(".")?bg(o,e):()=>o[e]:e.bind(o,o);let s;Be(t)?s=t:(s=t.handler,n=t);const r=wi(this),a=yg(i,s.bind(o),n);return r(),a}function bg(e,t){const n=t.split(".");return ()=>{let o=e;for(let i=0;i<n.length&&o;i++)o=o[n[i]];return o}}const nC=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${In(t)}Modifiers`]||e[`${Go(t)}Modifiers`];function oC(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||st;let i=n;const s=t.startsWith("update:"),r=s&&nC(o,t.slice(7));r&&(r.trim&&(i=n.map(u=>yt(u)?u.trim():u)),r.number&&(i=n.map(aa)));let a,l=o[a=Fl(t)]||o[a=Fl(In(t))];!l&&s&&(l=o[a=Fl(Go(t))]),l&&ro(l,e,6,i);const c=o[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=true,ro(c,e,6,i);}}function vg(e,t,n=false){const o=t.emitsCache,i=o.get(e);if(i!==void 0)return i;const s=e.emits;let r={},a=false;if(!Be(e)){const l=c=>{const u=vg(c,t,true);u&&(a=true,Ht(r,u));};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l);}return !s&&!a?(rt(e)&&o.set(e,null),null):(Ee(s)?s.forEach(l=>r[l]=null):Ht(r,s),rt(e)&&o.set(e,r),r)}function nl(e,t){return !e||!Ga(t)?false:(t=t.slice(2).replace(/Once$/,""),Ze(e,t[0].toLowerCase()+t.slice(1))||Ze(e,Go(t))||Ze(e,t))}function mf(e){const{type:t,vnode:n,proxy:o,withProxy:i,propsOptions:[s],slots:r,attrs:a,emit:l,render:c,renderCache:u,props:f,data:p,setupState:w,ctx:g,inheritAttrs:b}=e,v=fa(e);let k,P;try{if(n.shapeFlag&4){const I=i||o,M=I;k=Tn(c.call(M,I,u,f,w,p,g)),P=a;}else {const I=t;k=Tn(I.length>1?I(f,{attrs:a,slots:r,emit:l}):I(f,null)),P=t.props?a:sC(a);}}catch(I){Is.length=0,hr(I,e,1),k=ie(jn);}let A=k;if(P&&b!==false){const I=Object.keys(P),{shapeFlag:M}=A;I.length&&M&7&&(s&&I.some(Uc)&&(P=rC(P,s)),A=Zi(A,P,false,true));}return n.dirs&&(A=Zi(A,null,false,true),A.dirs=A.dirs?A.dirs.concat(n.dirs):n.dirs),n.transition&&Zc(A,n.transition),k=A,fa(v),k}function iC(e,t=true){let n;for(let o=0;o<e.length;o++){const i=e[o];if(Xi(i)){if(i.type!==jn||i.children==="v-if"){if(n)return;n=i;}}else return}return n}const sC=e=>{let t;for(const n in e)(n==="class"||n==="style"||Ga(n))&&((t||(t={}))[n]=e[n]);return t},rC=(e,t)=>{const n={};for(const o in e)(!Uc(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function aC(e,t,n){const{props:o,children:i,component:s}=e,{props:r,children:a,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return  true;if(n&&l>=0){if(l&1024)return  true;if(l&16)return o?gf(o,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let f=0;f<u.length;f++){const p=u[f];if(r[p]!==o[p]&&!nl(c,p))return  true}}}else return (i||a)&&(!a||!a.$stable)?true:o===r?false:o?r?gf(o,r,c):true:!!r;return  false}function gf(e,t,n){const o=Object.keys(t);if(o.length!==Object.keys(e).length)return  true;for(let i=0;i<o.length;i++){const s=o[i];if(t[s]!==e[s]&&!nl(n,s))return  true}return  false}function id({vnode:e,parent:t},n){for(;t;){const o=t.subTree;if(o.suspense&&o.suspense.activeBranch===e&&(o.el=e.el),o===e)(e=t.vnode).el=n,t=t.parent;else break}}const xg=e=>e.__isSuspense;let Pu=0;const lC={name:"Suspense",__isSuspense:true,process(e,t,n,o,i,s,r,a,l,c){if(e==null)uC(t,n,o,i,s,r,a,l,c);else {if(s&&s.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}cC(e,t,n,o,i,r,a,l,c);}},hydrate:dC,normalize:fC},_g=lC;function zs(e,t){const n=e.props&&e.props[t];Be(n)&&n();}function uC(e,t,n,o,i,s,r,a,l){const{p:c,o:{createElement:u}}=l,f=u("div"),p=e.suspense=Cg(e,i,o,t,f,n,s,r,a,l);c(null,p.pendingBranch=e.ssContent,f,null,o,p,s,r),p.deps>0?(zs(e,"onPending"),zs(e,"onFallback"),c(null,e.ssFallback,t,n,o,null,s,r),qi(p,e.ssFallback)):p.resolve(false,true);}function cC(e,t,n,o,i,s,r,a,{p:l,um:c,o:{createElement:u}}){const f=t.suspense=e.suspense;f.vnode=t,t.el=e.el;const p=t.ssContent,w=t.ssFallback,{activeBranch:g,pendingBranch:b,isInFallback:v,isHydrating:k}=f;if(b)f.pendingBranch=p,To(p,b)?(l(b,p,f.hiddenContainer,null,i,f,s,r,a),f.deps<=0?f.resolve():v&&(k||(l(g,w,n,o,i,null,s,r,a),qi(f,w)))):(f.pendingId=Pu++,k?(f.isHydrating=false,f.activeBranch=b):c(b,i,f),f.deps=0,f.effects.length=0,f.hiddenContainer=u("div"),v?(l(null,p,f.hiddenContainer,null,i,f,s,r,a),f.deps<=0?f.resolve():(l(g,w,n,o,i,null,s,r,a),qi(f,w))):g&&To(p,g)?(l(g,p,n,o,i,f,s,r,a),f.resolve(true)):(l(null,p,f.hiddenContainer,null,i,f,s,r,a),f.deps<=0&&f.resolve()));else if(g&&To(p,g))l(g,p,n,o,i,f,s,r,a),qi(f,p);else if(zs(t,"onPending"),f.pendingBranch=p,p.shapeFlag&512?f.pendingId=p.component.suspenseId:f.pendingId=Pu++,l(null,p,f.hiddenContainer,null,i,f,s,r,a),f.deps<=0)f.resolve();else {const{timeout:P,pendingId:A}=f;P>0?setTimeout(()=>{f.pendingId===A&&f.fallback(w);},P):P===0&&f.fallback(w);}}function Cg(e,t,n,o,i,s,r,a,l,c,u=false){const{p:f,m:p,um:w,n:g,o:{parentNode:b,remove:v}}=c;let k;const P=hC(e);P&&t&&t.pendingBranch&&(k=t.pendingId,t.deps++);const A=e.props?Ex(e.props.timeout):void 0,I=s,M={vnode:e,parent:t,parentComponent:n,namespace:r,container:o,hiddenContainer:i,deps:0,pendingId:Pu++,timeout:typeof A=="number"?A:-1,activeBranch:null,pendingBranch:null,isInFallback:!u,isHydrating:u,isUnmounted:false,effects:[],resolve(z=false,N=false){const{vnode:se,activeBranch:pe,pendingBranch:ne,pendingId:B,effects:O,parentComponent:W,container:le}=M;let ve=false;M.isHydrating?M.isHydrating=false:z||(ve=pe&&ne.transition&&ne.transition.mode==="out-in",ve&&(pe.transition.afterLeave=()=>{B===M.pendingId&&(p(ne,le,s===I?g(pe):s,0),ku(O));}),pe&&(b(pe.el)===le&&(s=g(pe)),w(pe,W,M,true)),ve||p(ne,le,s,0)),qi(M,ne),M.pendingBranch=null,M.isInFallback=false;let ke=M.parent,_e=false;for(;ke;){if(ke.pendingBranch){ke.effects.push(...O),_e=true;break}ke=ke.parent;}!_e&&!ve&&ku(O),M.effects=[],P&&t&&t.pendingBranch&&k===t.pendingId&&(t.deps--,t.deps===0&&!N&&t.resolve()),zs(se,"onResolve");},fallback(z){if(!M.pendingBranch)return;const{vnode:N,activeBranch:se,parentComponent:pe,container:ne,namespace:B}=M;zs(N,"onFallback");const O=g(se),W=()=>{M.isInFallback&&(f(null,z,ne,O,pe,null,B,a,l),qi(M,z));},le=z.transition&&z.transition.mode==="out-in";le&&(se.transition.afterLeave=W),M.isInFallback=true,w(se,pe,null,true),le||W();},move(z,N,se){M.activeBranch&&p(M.activeBranch,z,N,se),M.container=z;},next(){return M.activeBranch&&g(M.activeBranch)},registerDep(z,N,se){const pe=!!M.pendingBranch;pe&&M.deps++;const ne=z.vnode.el;z.asyncDep.catch(B=>{hr(B,z,0);}).then(B=>{if(z.isUnmounted||M.isUnmounted||M.pendingId!==z.suspenseId)return;z.asyncResolved=true;const{vnode:O}=z;Tu(z,B),ne&&(O.el=ne);const W=!ne&&z.subTree.el;N(z,O,b(ne||z.subTree.el),ne?null:g(z.subTree),M,r,se),W&&v(W),id(z,O.el),pe&&--M.deps===0&&M.resolve();});},unmount(z,N){M.isUnmounted=true,M.activeBranch&&w(M.activeBranch,n,z,N),M.pendingBranch&&w(M.pendingBranch,n,z,N);}};return M}function dC(e,t,n,o,i,s,r,a,l){const c=t.suspense=Cg(t,o,n,e.parentNode,document.createElement("div"),null,i,s,r,a,true),u=l(e,c.pendingBranch=t.ssContent,n,c,s,r);return c.deps===0&&c.resolve(false,true),u}function fC(e){const{shapeFlag:t,children:n}=e,o=t&32;e.ssContent=wf(o?n.default:n),e.ssFallback=o?wf(n.fallback):ie(jn);}function wf(e){let t;if(Be(e)){const n=Qi&&e._c;n&&(e._d=false,_()),e=e(),n&&(e._d=true,t=rn,kg());}return Ee(e)&&(e=iC(e)),e=Tn(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function pC(e,t){t&&t.pendingBranch?Ee(e)?t.effects.push(...e):t.effects.push(e):ku(e);}function qi(e,t){e.activeBranch=t;const{vnode:n,parentComponent:o}=e;let i=t.el;for(;!i&&t.component;)t=t.component.subTree,i=t.el;n.el=i,o&&o.subTree===n&&(o.vnode.el=i,id(o,i));}function hC(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==false}const $e=Symbol.for("v-fgt"),ol=Symbol.for("v-txt"),jn=Symbol.for("v-cmt"),jr=Symbol.for("v-stc"),Is=[];let rn=null;function _(e=false){Is.push(rn=e?null:[]);}function kg(){Is.pop(),rn=Is[Is.length-1]||null;}let Qi=1;function yf(e,t=false){Qi+=e,e<0&&rn&&t&&(rn.hasOnce=true);}function Sg(e){return e.dynamicChildren=Qi>0?rn||Ni:null,kg(),Qi>0&&rn&&rn.push(e),e}function E(e,t,n,o,i,s){return Sg(d(e,t,n,o,i,s,true))}function nt(e,t,n,o,i){return Sg(ie(e,t,n,o,i,true))}function Xi(e){return e?e.__v_isVNode===true:false}function To(e,t){return e.type===t.type&&e.key===t.key}const $g=({key:e})=>e??null,zr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?yt(e)||It(e)||Be(e)?{i:Mt,r:e,k:t,f:!!n}:e:null);function d(e,t=null,n=null,o=0,i=null,s=e===$e?0:1,r=false,a=false){const l={__v_isVNode:true,__v_skip:true,type:e,props:t,key:t&&$g(t),ref:t&&zr(t),scopeId:el,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:o,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Mt};return a?(sd(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=yt(n)?8:16),Qi>0&&!r&&rn&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&rn.push(l),l}const ie=mC;function mC(e,t=null,n=null,o=0,i=null,s=false){if((!e||e===og)&&(e=jn),Xi(e)){const a=Zi(e,t,true);return n&&sd(a,n),Qi>0&&!s&&rn&&(a.shapeFlag&6?rn[rn.indexOf(e)]=a:rn.push(a)),a.patchFlag=-2,a}if(kC(e)&&(e=e.__vccOpts),t){t=Eg(t);let{class:a,style:l}=t;a&&!yt(a)&&(t.class=Te(a)),rt(l)&&(Qc(l)&&!Ee(l)&&(l=Ht({},l)),t.style=Zn(l));}const r=yt(e)?1:xg(e)?128:__(e)?64:rt(e)?4:Be(e)?2:0;return d(e,t,n,o,i,r,s,true)}function Eg(e){return e?Qc(e)||cg(e)?Ht({},e):e:null}function Zi(e,t,n=false,o=false){const{props:i,ref:s,patchFlag:r,children:a,transition:l}=e,c=t?rd(i||{},t):i,u={__v_isVNode:true,__v_skip:true,type:e.type,props:c,key:c&&$g(c),ref:t&&t.ref?n&&s?Ee(s)?s.concat(zr(t)):[s,zr(t)]:zr(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==$e?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Zi(e.ssContent),ssFallback:e.ssFallback&&Zi(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Zc(u,l.clone(u)),u}function T(e=" ",t=0){return ie(ol,null,e,t)}function Ag(e,t){const n=ie(jr,null,e);return n.staticCount=t,n}function fe(e="",t=false){return t?(_(),nt(jn,null,e)):ie(jn,null,e)}function Tn(e){return e==null||typeof e=="boolean"?ie(jn):Ee(e)?ie($e,null,e.slice()):Xi(e)?Do(e):ie(ol,null,String(e))}function Do(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Zi(e)}function sd(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(Ee(t))n=16;else if(typeof t=="object")if(o&65){const i=t.default;i&&(i._c&&(i._d=false),sd(e,i()),i._c&&(i._d=true));return}else {n=32;const i=t._;!i&&!cg(t)?t._ctx=Mt:i===3&&Mt&&(Mt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024));}else Be(t)?(t={default:t,_ctx:Mt},n=32):(t=String(t),o&64?(n=16,t=[T(t)]):n=8);e.children=t,e.shapeFlag|=n;}function rd(...e){const t={};for(let n=0;n<e.length;n++){const o=e[n];for(const i in o)if(i==="class")t.class!==o.class&&(t.class=Te([t.class,o.class]));else if(i==="style")t.style=Zn([t.style,o.style]);else if(Ga(i)){const s=t[i],r=o[i];r&&s!==r&&!(Ee(s)&&s.includes(r))&&(t[i]=s?[].concat(s,r):r);}else i!==""&&(t[i]=o[i]);}return t}function Vn(e,t,n,o=null){ro(e,t,7,[n,o]);}const gC=ag();let wC=0;function yC(e,t,n){const o=e.type,i=(t?t.appContext:e.appContext)||gC,s={uid:wC++,vnode:e,type:o,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Ox(true),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:fg(o,i),emitsOptions:vg(o,i),emit:null,emitted:null,propsDefaults:st,inheritAttrs:o.inheritAttrs,ctx:st,data:st,props:st,attrs:st,slots:st,refs:st,setupState:st,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:false,isMounted:false,isUnmounted:false,isDeactivated:false,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return s.ctx={_:s},s.root=t?t.root:s,s.emit=oC.bind(null,s),e.ce&&e.ce(s),s}let Ft=null;const Pg=()=>Ft||Mt;let ha,Iu;{const e=Qa(),t=(n,o)=>{let i;return (i=e[n])||(i=e[n]=[]),i.push(o),s=>{i.length>1?i.forEach(r=>r(s)):i[0](s);}};ha=t("__VUE_INSTANCE_SETTERS__",n=>Ft=n),Iu=t("__VUE_SSR_SETTERS__",n=>Hs=n);}const wi=e=>{const t=Ft;return ha(e),e.scope.on(),()=>{e.scope.off(),ha(t);}},Du=()=>{Ft&&Ft.scope.off(),ha(null);};function Ig(e){return e.vnode.shapeFlag&4}let Hs=false;function bC(e,t=false,n=false){t&&Iu(t);const{props:o,children:i}=e.vnode,s=Ig(e);H_(e,o,s,t),K_(e,i,n||t);const r=s?vC(e,t):void 0;return t&&Iu(false),r}function vC(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,B_);const{setup:o}=n;if(o){_o();const i=e.setupContext=o.length>1?_C(e):null,s=wi(e),r=pr(o,e,0,[e.props,i]),a=zc(r);if(Co(),s(),(a||e.sp)&&!Hi(e)&&Zm(e),a){if(r.then(Du,Du),t)return r.then(l=>{Tu(e,l);}).catch(l=>{hr(l,e,0);});e.asyncDep=r;}else Tu(e,r);}else Dg(e);}function Tu(e,t,n){Be(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:rt(t)&&(e.setupState=Km(t)),Dg(e);}function Dg(e,t,n){const o=e.type;e.render||(e.render=o.render||Xn);{const i=wi(e);_o();try{O_(e);}finally{Co(),i();}}}const xC={get(e,t){return Rt(e,"get",""),e[t]}};function _C(e){const t=n=>{e.exposed=n||{};};return {attrs:new Proxy(e.attrs,xC),slots:e.slots,emit:e.emit,expose:t}}function il(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Km(i_(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in As)return As[n](e)},has(t,n){return n in t||n in As}})):e.proxy}function CC(e,t=true){return Be(e)?e.displayName||e.name:e.name||t&&e.__name}function kC(e){return Be(e)&&"__vccOpts"in e}const Ke=(e,t)=>p_(e,t,Hs);function SC(e,t,n){const o=arguments.length;return o===2?rt(t)&&!Ee(t)?Xi(t)?ie(e,null,[t]):ie(e,t):ie(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Xi(n)&&(n=[n]),ie(e,t,n))}const $C="3.5.18";/**
  * @vue/runtime-dom v3.5.18
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
  * @license MIT
  **/let Lu;const bf=typeof window<"u"&&window.trustedTypes;if(bf)try{Lu=bf.createPolicy("vue",{createHTML:e=>e});}catch{}const Tg=Lu?e=>Lu.createHTML(e):e=>e,EC="http://www.w3.org/2000/svg",AC="http://www.w3.org/1998/Math/MathML",ho=typeof document<"u"?document:null,vf=ho&&ho.createElement("template"),PC={insert:(e,t,n)=>{t.insertBefore(e,n||null);},remove:e=>{const t=e.parentNode;t&&t.removeChild(e);},createElement:(e,t,n,o)=>{const i=t==="svg"?ho.createElementNS(EC,e):t==="mathml"?ho.createElementNS(AC,e):n?ho.createElement(e,{is:n}):ho.createElement(e);return e==="select"&&o&&o.multiple!=null&&i.setAttribute("multiple",o.multiple),i},createText:e=>ho.createTextNode(e),createComment:e=>ho.createComment(e),setText:(e,t)=>{e.nodeValue=t;},setElementText:(e,t)=>{e.textContent=t;},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ho.querySelector(e),setScopeId(e,t){e.setAttribute(t,"");},insertStaticContent(e,t,n,o,i,s){const r=n?n.previousSibling:t.lastChild;if(i&&(i===s||i.nextSibling))for(;t.insertBefore(i.cloneNode(true),n),!(i===s||!(i=i.nextSibling)););else {vf.innerHTML=Tg(o==="svg"?`<svg>${e}</svg>`:o==="mathml"?`<math>${e}</math>`:e);const a=vf.content;if(o==="svg"||o==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l);}t.insertBefore(a,n);}return [r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},IC=Symbol("_vtc");function DC(e,t,n){const o=e[IC];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t;}const ma=Symbol("_vod"),Lg=Symbol("_vsh"),Gt={beforeMount(e,{value:t},{transition:n}){e[ma]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):gs(e,t);},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e);},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),gs(e,true),o.enter(e)):o.leave(e,()=>{gs(e,false);}):gs(e,t));},beforeUnmount(e,{value:t}){gs(e,t);}};function gs(e,t){e.style.display=t?e[ma]:"none",e[Lg]=!t;}const TC=Symbol(""),LC=/(^|;)\s*display\s*:/;function MC(e,t,n){const o=e.style,i=yt(n);let s=false;if(n&&!i){if(t)if(yt(t))for(const r of t.split(";")){const a=r.slice(0,r.indexOf(":")).trim();n[a]==null&&Hr(o,a,"");}else for(const r in t)n[r]==null&&Hr(o,r,"");for(const r in n)r==="display"&&(s=true),Hr(o,r,n[r]);}else if(i){if(t!==n){const r=o[TC];r&&(n+=";"+r),o.cssText=n,s=LC.test(n);}}else t&&e.removeAttribute("style");ma in e&&(e[ma]=s?o.display:"",e[Lg]&&(o.display="none"));}const xf=/\s*!important$/;function Hr(e,t,n){if(Ee(n))n.forEach(o=>Hr(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else {const o=BC(e,t);xf.test(n)?e.setProperty(Go(o),n.replace(xf,""),"important"):e[o]=n;}}const _f=["Webkit","Moz","ms"],ql={};function BC(e,t){const n=ql[t];if(n)return n;let o=In(t);if(o!=="filter"&&o in e)return ql[t]=o;o=Ya(o);for(let i=0;i<_f.length;i++){const s=_f[i]+o;if(s in e)return ql[t]=s}return t}const Cf="http://www.w3.org/1999/xlink";function kf(e,t,n,o,i,s=Mx(t)){o&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(Cf,t.slice(6,t.length)):e.setAttributeNS(Cf,t,n):n==null||s&&!Pm(n)?e.removeAttribute(t):e.setAttribute(t,s?"":Un(n)?String(n):n);}function Sf(e,t,n,o,i){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Tg(n):n);return}const s=e.tagName;if(t==="value"&&s!=="PROGRESS"&&!s.includes("-")){const a=s==="OPTION"?e.getAttribute("value")||"":e.value,l=n==null?e.type==="checkbox"?"on":"":String(n);(a!==l||!("_value"in e))&&(e.value=l),n==null&&e.removeAttribute(t),e._value=n;return}let r=false;if(n===""||n==null){const a=typeof e[t];a==="boolean"?n=Pm(n):n==null&&a==="string"?(n="",r=true):a==="number"&&(n=0,r=true);}try{e[t]=n;}catch{}r&&e.removeAttribute(i||t);}function wo(e,t,n,o){e.addEventListener(t,n,o);}function OC(e,t,n,o){e.removeEventListener(t,n,o);}const $f=Symbol("_vei");function RC(e,t,n,o,i=null){const s=e[$f]||(e[$f]={}),r=s[t];if(o&&r)r.value=o;else {const[a,l]=FC(t);if(o){const c=s[t]=jC(o,i);wo(e,a,c,l);}else r&&(OC(e,a,r,l),s[t]=void 0);}}const Ef=/(?:Once|Passive|Capture)$/;function FC(e){let t;if(Ef.test(e)){t={};let o;for(;o=e.match(Ef);)e=e.slice(0,e.length-o[0].length),t[o[0].toLowerCase()]=true;}return [e[2]===":"?e.slice(3):Go(e.slice(2)),t]}let Wl=0;const NC=Promise.resolve(),UC=()=>Wl||(NC.then(()=>Wl=0),Wl=Date.now());function jC(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;ro(zC(o,n.value),t,5,[o]);};return n.value=e,n.attached=UC(),n}function zC(e,t){if(Ee(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=true;},t.map(o=>i=>!i._stopped&&o&&o(i))}else return t}const Af=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,HC=(e,t,n,o,i,s)=>{const r=i==="svg";t==="class"?DC(e,o,r):t==="style"?MC(e,n,o):Ga(t)?Uc(t)||RC(e,t,n,o,s):(t[0]==="."?(t=t.slice(1),true):t[0]==="^"?(t=t.slice(1),false):VC(e,t,o,r))?(Sf(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&kf(e,t,o,r,s,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!yt(o))?Sf(e,In(t),o,s,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),kf(e,t,o,r));};function VC(e,t,n,o){if(o)return !!(t==="innerHTML"||t==="textContent"||t in e&&Af(t)&&Be(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return  false;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return  false}return Af(t)&&yt(n)?false:t in e}const qo=e=>{const t=e.props["onUpdate:modelValue"]||false;return Ee(t)?n=>Ur(t,n):t};function qC(e){e.target.composing=true;}function Pf(e){const t=e.target;t.composing&&(t.composing=false,t.dispatchEvent(new Event("input")));}const An=Symbol("_assign"),Ve={created(e,{modifiers:{lazy:t,trim:n,number:o}},i){e[An]=qo(i);const s=o||i.props&&i.props.type==="number";wo(e,t?"change":"input",r=>{if(r.target.composing)return;let a=e.value;n&&(a=a.trim()),s&&(a=aa(a)),e[An](a);}),n&&wo(e,"change",()=>{e.value=e.value.trim();}),t||(wo(e,"compositionstart",qC),wo(e,"compositionend",Pf),wo(e,"change",Pf));},mounted(e,{value:t}){e.value=t??"";},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:o,trim:i,number:s}},r){if(e[An]=qo(r),e.composing)return;const a=(s||e.type==="number")&&!/^0\d/.test(e.value)?aa(e.value):e.value,l=t??"";a!==l&&(document.activeElement===e&&e.type!=="range"&&(o&&t===n||i&&e.value.trim()===l)||(e.value=l));}},ye={deep:true,created(e,t,n){e[An]=qo(n),wo(e,"change",()=>{const o=e._modelValue,i=es(e),s=e.checked,r=e[An];if(Ee(o)){const a=Vc(o,i),l=a!==-1;if(s&&!l)r(o.concat(i));else if(!s&&l){const c=[...o];c.splice(a,1),r(c);}}else if(as(o)){const a=new Set(o);s?a.add(i):a.delete(i),r(a);}else r(Bg(e,s));});},mounted:If,beforeUpdate(e,t,n){e[An]=qo(n),If(e,t,n);}};function If(e,{value:t,oldValue:n},o){e._modelValue=t;let i;if(Ee(t))i=Vc(t,o.props.value)>-1;else if(as(t))i=t.has(o.props.value);else {if(t===n)return;i=mi(t,Bg(e,true));}e.checked!==i&&(e.checked=i);}const Mg={created(e,{value:t},n){e.checked=mi(t,n.props.value),e[An]=qo(n),wo(e,"change",()=>{e[An](es(e));});},beforeUpdate(e,{value:t,oldValue:n},o){e[An]=qo(o),t!==n&&(e.checked=mi(t,o.props.value));}},yn={deep:true,created(e,{value:t,modifiers:{number:n}},o){const i=as(t);wo(e,"change",()=>{const s=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>n?aa(es(r)):es(r));e[An](e.multiple?i?new Set(s):s:s[0]),e._assigning=true,gi(()=>{e._assigning=false;});}),e[An]=qo(o);},mounted(e,{value:t}){Df(e,t);},beforeUpdate(e,t,n){e[An]=qo(n);},updated(e,{value:t}){e._assigning||Df(e,t);}};function Df(e,t){const n=e.multiple,o=Ee(t);if(!(n&&!o&&!as(t))){for(let i=0,s=e.options.length;i<s;i++){const r=e.options[i],a=es(r);if(n)if(o){const l=typeof a;l==="string"||l==="number"?r.selected=t.some(c=>String(c)===String(a)):r.selected=Vc(t,a)>-1;}else r.selected=t.has(a);else if(mi(es(r),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1);}}function es(e){return "_value"in e?e._value:e.value}function Bg(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const WC={created(e,t,n){Ir(e,t,n,null,"created");},mounted(e,t,n){Ir(e,t,n,null,"mounted");},beforeUpdate(e,t,n,o){Ir(e,t,n,o,"beforeUpdate");},updated(e,t,n,o){Ir(e,t,n,o,"updated");}};function KC(e,t){switch(e){case "SELECT":return yn;case "TEXTAREA":return Ve;default:switch(t){case "checkbox":return ye;case "radio":return Mg;default:return Ve}}}function Ir(e,t,n,o,i){const r=KC(e.tagName,n.props&&n.props.type)[i];r&&r(e,t,n,o);}const GC=["ctrl","shift","alt","meta"],JC={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>GC.some(n=>e[`${n}Key`]&&!t.includes(n))},ht=(e,t)=>{const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=(i,...s)=>{for(let r=0;r<t.length;r++){const a=JC[t[r]];if(a&&a(i,t))return}return e(i,...s)})},YC={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Og=(e,t)=>{const n=e._withKeys||(e._withKeys={}),o=t.join(".");return n[o]||(n[o]=i=>{if(!("key"in i))return;const s=Go(i.key);if(t.some(r=>r===s||YC[r]===s))return e(i)})},QC=Ht({patchProp:HC},PC);let Tf;function XC(){return Tf||(Tf=J_(QC))}const co=(...e)=>{const t=XC().createApp(...e),{mount:n}=t;return t.mount=o=>{const i=ek(o);if(!i)return;const s=t._component;!Be(s)&&!s.render&&!s.template&&(s.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const r=n(i,false,ZC(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),r},t};function ZC(e){if(e instanceof SVGElement)return "svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return "mathml"}function ek(e){return yt(e)?document.querySelector(e):e}var Rg=(e=>(e.VideoPlay="VideoPlay",e))(Rg||{});const tk="https://greasyfork.org/zh-CN/scripts/495474",nk="115Plus";class ok{bc;_isInstalled=void 0;messageHandlers=new Set;constructor(){this.bc=new BroadcastChannel(nk),this.bc.addEventListener("message",this.handleMessage.bind(this));}handleMessage(t){this.messageHandlers.forEach(n=>n(t.data));}checkInstalled(){return St().$('.top-side .n-button__content:contains("115+")').length>0}async checkInstalledAsync(){return await new Promise(t=>setTimeout(t,100)),this._isInstalled=this.checkInstalled(),this._isInstalled}get isInstalled(){return this._isInstalled}async refreshInstallStatus(){return this.checkInstalledAsync()}defaultHandleNotInstalled(){confirm("检测到未安装 115+ 脚本,是否现在安装?")&&window.open(tk,"_blank");}ensureInstalled(t){return this._isInstalled===void 0&&(this._isInstalled=this.checkInstalled()),[this._isInstalled,t||this.defaultHandleNotInstalled.bind(this)]}sendToPlus(t,n){this.bc.postMessage({type:t,data:JSON.stringify(n),url:window.top?.location.href});}onMessage(t){return this.messageHandlers.add(t),()=>{this.messageHandlers.delete(t);}}destroy(){this.bc.close(),this.messageHandlers.clear();}}const ik=new ok;function sk(){return ik}function rk(e){return new Fs.RateLimiterMemory({points:e?28:99999,duration:e?60:1,execEvenly:false})}function Fg(e){return e.filter(t=>t.startsWith("https://115.com")).length}async function mr(e,t,n){if(e.length===1){Jr(e[0],{active:!t});return}const o=Fg(e);n=n||rk(o>0);const i="open_urls";let s=false;V.fire({html:"正在打开链接...",showConfirmButton:false,showDenyButton:true,denyButtonText:"停止打开",allowEscapeKey:false,allowOutsideClick:false}).then(l=>{l.isDenied&&(s=true,V.close());});const r=[],a=async()=>{const l=e.length-r.length,{isDenied:c}=await V.fire({html:`已成功打开 ${r.length} 个链接。`+(l>0?`有 ${l} 个链接未打开`:""),icon:"success",timer:18e5,showDenyButton:r.length>0,denyButtonText:"关闭本次打开的全部页面"});if(c)for(const u of r)u.closed||u.close();};V.showLoading();for(let l=0;l<e.length;l++){if(s){V.close(),await a();return}const c=e[l];V.update({html:`正在打开第 ${l+1} 个链接... 进度: ${l+1} / ${e.length}`});const u=Jr(c,{active:!t});if(r.push(u),l===0&&await n.consume(i,1),l<e.length-1){let f=o>0?500:200;try{const w=await n.consume(i,1);console.log("[openUrls] RateLimiterRes",w),!w.remainingPoints&&w.msBeforeNext>0&&(f=w.msBeforeNext);}catch(w){if(w instanceof Fs.RateLimiterRes)console.warn("[openUrls] RateLimiterRes",w),f=w.msBeforeNext;else throw console.error("[openUrls]",w),new Error(`批量打开链接出错: ${w.toString()}`)}const p=(f/1e3).toFixed(1);V.update({html:`将在 ${p} 秒后打开第 ${l+2} 个链接... 进度: ${l+1} / ${e.length}`}),await At(f);}}V.hideLoading(),await a();}function Fn(e){return {aid:1,cid:"",o:Wa.userPtime,asc:Ro.false,offset:0,show_dir:Ro.true,limit:115,natsort:Ro.false,format:"json",...e}}async function ad(e){const t=Ha(e),o=(await Ot().get("https://webapi.115.com/files?"+t,{timeout:12e4,withCredentials:true})).data;if(o.state)return o;throw new Error(o.error)}async function No(e,t=50){let n=[],o=0;for(;;){e.offset=o;const i=await ad(e);if(!i.data||!i.data.length||(i.count>i.data.length&&e.limit!==i.data.length&&(console.warn(`[getFilesList] invalid limit(${e.limit}) detected! max limit is ${i.page_size}, correct it now!`),e.limit=i.page_size),n=[...n,...i.data],o+=e.limit,o>=i.count))break;await At(t);}return n}async function ak(e){if(!(await Ut(e)).play_long)throw new Error("该目录下没有可以播放的媒体文件![by_attr]");const o=(await No(Fn({cid:e,limit:1150}))).find(i=>i.play_long&&i.play_long>0);if(!o)throw new Error("该目录下没有可以播放的媒体文件![by_files]");return Ci(o)}let lk=[];function Mu(e,t){return t===Yn.alt&&e.altKey||t===Yn.ctrl&&e.ctrlKey||t===Yn.shift&&e.shiftKey||t===Yn.meta&&e.metaKey}function Lf(e){return e.includes("https://115.com")&&tr("mode",e)==="search"}function Ng(e,t){const{keyToTriggerManual:n,keyToTriggerSearchScope:o,auxClickTriggerManual:i}=e;let s=t||"";const r=[],a=[];return i&&a.push("鼠标中键"),n&&a.push(Yn[n]),a.length&&r.push(`${a.join("或")}辅助键改搜索内容`),o&&r.push(`${Yn[o]}辅助键选搜索目录`),r.length&&(s+=`
提示: ${r.join(" / ")}`),s}async function uk(){return new Promise((e,t)=>{St().Core.FileSelectDG.Open((o,i)=>{const s=o[o.length-1];console.log("[selectSearchScope] folder",s),s&&s.cid?e(s):t(new Error("未选择有效的文件夹"));},{select:1,nf:1,show_record:0,show_copy:1,btn_txt:"在该目录下搜索",select_txt:"搜索"});})}async function sl(e,t,n=dn,o,i=void 0){const s=[],r=await ut();n=n||dn;for(const a of t){i=i!==void 0?i:a.openInBackground;const l=La(e,{key:`_ce_s_${a.key}`,label:a.label,icon:a.icon,title:Ng(r,a.memo),onClick:async(c,u)=>{u.stopPropagation(),u.preventDefault(),c instanceof cc&&await c.closeMenu(),await gr(c,a,u,r,n,o,i);}});s.push(l);}return s}async function gr(e,t,n,o,i=dn,s,r=void 0){try{const a=o.keyToTriggerManual,l=o.auxClickTriggerManual;let c;(a&&Mu(n,a)||l&&n.button===1)&&(c={names:[Rc.manual],position:o.injectManualFuncPosition});let f=!1,p=[];if(s&&[Ie.selection,Ie.selectionSub].includes(s))p=await zn(!0),f=!0;else {const P=$(n.target).closest("li");p.push(await i(P[0]));}if(!p.length)throw new Error("没有选中任何文件!");const w=await Xt(),g=[],b=[],v=async P=>{try{const A=await Rs(P,t,w,c);if(!A)b.push(`文件 id="${P.id}", name="${P.name}" 的链接构建失败: 无法构建有效的搜索链接!`);else return A}catch(A){return b.push(`文件 id="${P.id}", name="${P.name}" 的链接构建失败: ${A.message}`),""}};let k=0;for(const P of p){const A=await v(P);A&&(Lf(A)&&k++,g.push(A));}if(k>0){const P=o.keyToTriggerSearchScope;if(P&&Mu(n,P)){const A=await uk();if(A)for(let I=0;I<g.length;I++)Lf(g[I])&&(g[I]=g[I].replace(/(cid%3D)(\d+)/,"$1"+A.cid));else return}}if(console.warn("[search files] urls: %o, errors: %o",g,b),!g.length)throw new Error("没有有效的搜索链接!"+(b.length?`
错误信息:
${b.join(`
`)}`:""));await ck(g,!!r);}catch(a){console.error(a),Y({title:"搜索失败",text:a.toString(),icon:"error",timer:0,showCloseButton:true});}}async function ck(e,t){const n=Fg(e),o=dk(n>0);await mr(e,t,o);}function dk(e){return new Fs.RateLimiterMemory({points:e?28:99999,duration:e?60:1,execEvenly:false})}async function Ug(e,t){if(console.log("[playDirOnAnxia]",e,t),!t)try{Y({title:"正在查找可播放的文件...",text:"请稍等...",icon:"info"}),V.showLoading(),t=await ak(e),console.log("[playDirOnAnxia] file",t);}catch(o){console.error(o),Y({title:"播放失败",text:o.toString(),icon:"error"});return}t||Y({title:"播放失败",text:"没有在该目录下找到可播放的文件![file_null]",icon:"error"});const n=wm(t.pickCode);window.open(n,"_blank","noopener noreferrer");}async function jg(e,t,n,o){o.stopPropagation(),o.preventDefault();const i=t.keyToTriggerManual,s=t.auxClickTriggerManual,r=i&&Mu(o,i)||s&&o.button===1;try{let a;r&&(a={names:[Rc.manual],position:t.injectManualFuncPosition});const l=$(o.target).closest("li"),c=dn(l),u=await Xt(),f=await Rs(c,e,u,a);if(c.isDir&&Bc(f)){Ug(c.id);return}if(e.key==="p_builtin_115plus"){if(c.isDir){const w=o.metaKey||o.ctrlKey;ga(void 0,c.id,w);}else ga([c]);return}if(/^(#|javascript:(?:;|void\(0\);?))$/.test(f))return;if(console.log("[play url]",f),!f)throw new Error("无法获取有效的播放链接!");window.open(f,"_blank","noopener noreferrer");}catch(a){console.error(a),Y({title:"播放失败",text:a.toString(),icon:"error"});}}async function ld(e){const t="_p_null_",n=[...await Sm(),...lk],o=n.filter(l=>l.enabled),i=[...o,...(await Si(so.play)).filter(l=>l.enabled)],s=(l,c)=>l.find(u=>u.key===c);let r=s(o,e.defaultPlayer||"p_builtin_online");r||(r=s(n,"p_builtin_online")),r||(console.warn("[play with dropdown] default player not found"),r=kt({key:t,url:"#",label:"播放",memo:"播放菜单数据异常!",enabled:true})),r={...r},r.key==="p_builtin_online"&&(r.label="播放");const a=i.findIndex(l=>l.key===r.key);return a>-1&&i.splice(a,1),{keyNull:t,noRealDefault:r.key===t,defaultPlayer:r,customUrlItems:i}}async function fk(e,t){const n=[],o=await ut();for(const i of t){const s=La(e,{key:`_ce_p_${i.key}`,label:i.label,icon:i.icon,title:i.memo,onClick:async(r,a)=>{jg(i,o,r,a);}});n.push(s);}return n}async function ga(e,t,n=false){console.log("[playByPlus]",e,t,n);const o=sk(),[i,s]=o.ensureInstalled();if(!i){s();return}const r=l=>{Y({title:l||"没有可播放的视频",icon:"warning"});};if(!e||!e.length){if(!t){r("未指定视频文件和目录ID");return}if(n){if(t==="0"){r("根目录不支持递归获取视频文件");return}const{isConfirmed:u}=await V.fire({title:"播放目录下全部层级的视频",text:"即将递归获取目录下的视频文件(最多1150)并播放,是否继续?",icon:"warning",showCancelButton:true});if(!u)return}const l=Fn({cid:t,limit:1150});n&&(l.type=mn.video);const c=await ad(l);if(c.count)e=hm(c.data);else {r();return}}const a=e.filter(l=>l.transcoded).map(l=>({name:l.name,code:l.pickCode,size:l.sizeBytes,isDir:false}));if(!a.length){r();return}o.sendToPlus(Rg.VideoPlay,a);}var gt=(e=>(e[e.full=0]="full",e[e.pure=1]="pure",e[e.fullUnique=2]="fullUnique",e[e.pureUnique=3]="pureUnique",e[e.id=4]="id",e[e.pickCode=5]="pickCode",e[e.sha1=6]="sha1",e[e.sha1WithName=7]="sha1WithName",e))(gt||{});function wr(e,t,n){const o=[];for(const s of e){let r;switch(t){case 0:case 2:r=s.name;break;case 1:case 3:r=s.isDir?s.name:s.name.replace(/\.[^.]+$/,"");break;case 4:r=s.id;break;case 5:r=s.pickCode;break;case 6:r=s.hash;break;case 7:r=`${s.hash}//${s.name}`;break}r&&o.push(n?n(r):r);}return [2,3,6,7].includes(t)?Array.from(new Set(o)):o}var Mn=(e=>(e[e.unixPath=0]="unixPath",e[e.winPath=1]="winPath",e[e.unixParentPath=2]="unixParentPath",e[e.winParentPath=3]="winParentPath",e))(Mn||{});async function rl(e,t,n){const o=n===1||n===3;let s=n===2||n===3?t.replace(/\/[^/]+$/,""):t;return s.startsWith("/")||(s="/"+s),o&&(s=s.replace(/\//g,"\\")),s}async function pk(e){return async(t,n)=>{const o=await zt(),r=rs()[0].querySelectorAll("li[file_id].selected");if(!r.length){Y({title:"文件移动到同名目录",text:"当前目录没有选中文件",icon:"warning"});return}let a=`当前已选中${r.length}个文件,是否继续?`;a+=`<br><div style="text-align:left">
      <b>处理逻辑:</b>
      <p>0.「同名目录」取自纯文件名(不带后缀名)。</p>
      <p>1.如果同名目录已存在,会直接使用已存在的目录。</p>
      <p>2.同名目录相同的文件,会被移动到同一个目录里面。</p>
      <p class="text-primary">示例: <span>movie.mp4</span> 的同名目录为 <span>movie</span></p>
      </div>`;const{value:l}=await V.fire({title:"文件移动到同名目录",html:a,icon:"warning",showCancelButton:true,confirmButtonText:"继续",cancelButtonText:"取消"});if(l){V.fire({title:"文件移动到同名目录",html:"正在处理...",didOpen:()=>{V.showLoading();}});for(let c=0;c<r.length;c++){const u=r[c],f=dn($(u));if(!f.isFile)continue;const p=f.name,w=p.replace(/\.[^\.]+$/,""),g=`${c+1} / ${r.length} - `+Math.round(c/r.length*100)+"%";V.update({html:`${g} 正在为文件「${p}」创建目录「${w}」`});const b=await Q0(w,o,true);V.update({html:`创建目录「${w}」成功。id=${b}`}),V.update({html:`${g} 正在移动文件「${p}」到目录「${w}」`}),await Ic(b,[f.id]),await At(500);}V.hideLoading(),V.update({html:"处理完成。刷新列表后查看最新的文件数据。",icon:"success"});}}}function hk(e,t){const n=[];for(let o=1;o<e.length;o++)n.push(e[o].file_name);return n}async function zg(e,t,n){const o=await K0(e),i=[];for(let s=0;s<e.length;s++){e[s].name=n?n(e[s].name):e[s].name;const r=o.get(e[s].parentId);if(!r)throw new Error(`无法获取文件 "${e[s].name}" 的上级目录路径!`);const a=hk(r).map(c=>n?n(c):c),l=ra([...a,e[s].name],Oo.unix);i.push(await rl(e[s],l,t));}return i}let Kl=hi.unknown;async function wa(e){const t=await Xt();Kl===hi.unknown&&(Kl=await v0(t));let n="";if(e.id==="0")n="/";else {let i=await Ka(e,true);i=i.map(s=>cn(t,s)),n=await rl(e,i.join("/"),e.isDir?0:2);}const o=await m0(t,n,Kl);console.log("url: ",o),window.open(o,"_blank","noopener noreferrer"),Y({title:"在CloudDrive2中查看",text:`已打开CloudDrive2链接: ${o}`,icon:"success"});}async function al(e){const t=`
    <div style="text-align:left">
      <p>将要处理 ${e.length} 个目录,是否继续?</p>
      <br>
      <b>处理逻辑:</b>
      <p>1. 遍历选中目录下的所有子目录</p>
      <p>2. 将所有子目录中的文件移动到父目录(选中的目录)</p>
      <p>3. 删除所有已经为空的子目录</p>
      <br>
      <p class="text-danger">注意:此操作不可撤销,请谨慎操作!</p>
    </div>
  `,{isConfirmed:n}=await V.fire({title:"解散子目录",html:t,icon:"warning",showCancelButton:true,confirmButtonText:"继续",cancelButtonText:"取消",width:600});if(!n)return;V.fire({title:"解散子目录",html:"正在处理...",didOpen:()=>{V.showLoading();}});let o=0,i=0;try{for(let s=0;s<e.length;s++){const r=e[s],a=`[${s+1}/${e.length}]`;V.update({html:`${a} 正在处理目录「${r.name}」...`});const c=(await No(Fn({cid:r.id,show_dir:1,limit:1150}))).filter(w=>!w.fid);if(!c.length){V.update({html:`${a} 目录「${r.name}」没有子目录,跳过`}),await At(300);continue}V.update({html:`${a} 目录「${r.name}」共有 ${c.length} 个子目录`});const u=await No(Fn({cid:r.id,type:mn.file,limit:1150}));let f=[];u.length&&(f=u.filter(w=>w.cid!==r.id).map(w=>w.fid),V.update({html:`${a} 正在移动 ${f.length} 个文件到「${r.name}」...`}),await Ic(r.id,f),o+=f.length),V.update({html:`${a} 正在删除「${r.name}」下的 ${c.length} 个空目录...`});const p=c.map(w=>w.cid);await qa(r.id,p),i+=p.length,V.update({html:`${a} 目录「${r.name}」处理完成,移动了 ${f.length} 个文件,删除了 ${p.length} 个空目录`}),s<e.length-1&&await At(1e3);}V.hideLoading(),V.update({html:`
        <div style="text-align:left">
          <p>处理完成!</p>
          <br>
          <p>共处理 ${e.length} 个目录</p>
          <p>移动了 ${o} 个文件</p>
          <p>删除了 ${i} 个空目录</p>
          <br>
          <p class="text-info">刷新页面后查看最新的文件数据</p>
        </div>
      `,icon:"success"});}catch(s){console.error("[flattenSubfolders] error:",s),V.hideLoading(),V.update({html:`处理失败:${s.message||s}`,icon:"error"});}}class Ct{constructor(){this._dataLength=0,this._bufferLength=0,this._state=new Int32Array(4),this._buffer=new ArrayBuffer(68),this._buffer8=new Uint8Array(this._buffer,0,68),this._buffer32=new Uint32Array(this._buffer,0,17),this.start();}static hashStr(t,n=false){return this.onePassHasher.start().appendStr(t).end(n)}static hashAsciiStr(t,n=false){return this.onePassHasher.start().appendAsciiStr(t).end(n)}static _hex(t){const n=Ct.hexChars,o=Ct.hexOut;let i,s,r,a;for(a=0;a<4;a+=1)for(s=a*8,i=t[a],r=0;r<8;r+=2)o[s+1+r]=n.charAt(i&15),i>>>=4,o[s+0+r]=n.charAt(i&15),i>>>=4;return o.join("")}static _md5cycle(t,n){let o=t[0],i=t[1],s=t[2],r=t[3];o+=(i&s|~i&r)+n[0]-680876936|0,o=(o<<7|o>>>25)+i|0,r+=(o&i|~o&s)+n[1]-389564586|0,r=(r<<12|r>>>20)+o|0,s+=(r&o|~r&i)+n[2]+606105819|0,s=(s<<17|s>>>15)+r|0,i+=(s&r|~s&o)+n[3]-1044525330|0,i=(i<<22|i>>>10)+s|0,o+=(i&s|~i&r)+n[4]-176418897|0,o=(o<<7|o>>>25)+i|0,r+=(o&i|~o&s)+n[5]+1200080426|0,r=(r<<12|r>>>20)+o|0,s+=(r&o|~r&i)+n[6]-1473231341|0,s=(s<<17|s>>>15)+r|0,i+=(s&r|~s&o)+n[7]-45705983|0,i=(i<<22|i>>>10)+s|0,o+=(i&s|~i&r)+n[8]+1770035416|0,o=(o<<7|o>>>25)+i|0,r+=(o&i|~o&s)+n[9]-1958414417|0,r=(r<<12|r>>>20)+o|0,s+=(r&o|~r&i)+n[10]-42063|0,s=(s<<17|s>>>15)+r|0,i+=(s&r|~s&o)+n[11]-1990404162|0,i=(i<<22|i>>>10)+s|0,o+=(i&s|~i&r)+n[12]+1804603682|0,o=(o<<7|o>>>25)+i|0,r+=(o&i|~o&s)+n[13]-40341101|0,r=(r<<12|r>>>20)+o|0,s+=(r&o|~r&i)+n[14]-1502002290|0,s=(s<<17|s>>>15)+r|0,i+=(s&r|~s&o)+n[15]+1236535329|0,i=(i<<22|i>>>10)+s|0,o+=(i&r|s&~r)+n[1]-165796510|0,o=(o<<5|o>>>27)+i|0,r+=(o&s|i&~s)+n[6]-1069501632|0,r=(r<<9|r>>>23)+o|0,s+=(r&i|o&~i)+n[11]+643717713|0,s=(s<<14|s>>>18)+r|0,i+=(s&o|r&~o)+n[0]-373897302|0,i=(i<<20|i>>>12)+s|0,o+=(i&r|s&~r)+n[5]-701558691|0,o=(o<<5|o>>>27)+i|0,r+=(o&s|i&~s)+n[10]+38016083|0,r=(r<<9|r>>>23)+o|0,s+=(r&i|o&~i)+n[15]-660478335|0,s=(s<<14|s>>>18)+r|0,i+=(s&o|r&~o)+n[4]-405537848|0,i=(i<<20|i>>>12)+s|0,o+=(i&r|s&~r)+n[9]+568446438|0,o=(o<<5|o>>>27)+i|0,r+=(o&s|i&~s)+n[14]-1019803690|0,r=(r<<9|r>>>23)+o|0,s+=(r&i|o&~i)+n[3]-187363961|0,s=(s<<14|s>>>18)+r|0,i+=(s&o|r&~o)+n[8]+1163531501|0,i=(i<<20|i>>>12)+s|0,o+=(i&r|s&~r)+n[13]-1444681467|0,o=(o<<5|o>>>27)+i|0,r+=(o&s|i&~s)+n[2]-51403784|0,r=(r<<9|r>>>23)+o|0,s+=(r&i|o&~i)+n[7]+1735328473|0,s=(s<<14|s>>>18)+r|0,i+=(s&o|r&~o)+n[12]-1926607734|0,i=(i<<20|i>>>12)+s|0,o+=(i^s^r)+n[5]-378558|0,o=(o<<4|o>>>28)+i|0,r+=(o^i^s)+n[8]-2022574463|0,r=(r<<11|r>>>21)+o|0,s+=(r^o^i)+n[11]+1839030562|0,s=(s<<16|s>>>16)+r|0,i+=(s^r^o)+n[14]-35309556|0,i=(i<<23|i>>>9)+s|0,o+=(i^s^r)+n[1]-1530992060|0,o=(o<<4|o>>>28)+i|0,r+=(o^i^s)+n[4]+1272893353|0,r=(r<<11|r>>>21)+o|0,s+=(r^o^i)+n[7]-155497632|0,s=(s<<16|s>>>16)+r|0,i+=(s^r^o)+n[10]-1094730640|0,i=(i<<23|i>>>9)+s|0,o+=(i^s^r)+n[13]+681279174|0,o=(o<<4|o>>>28)+i|0,r+=(o^i^s)+n[0]-358537222|0,r=(r<<11|r>>>21)+o|0,s+=(r^o^i)+n[3]-722521979|0,s=(s<<16|s>>>16)+r|0,i+=(s^r^o)+n[6]+76029189|0,i=(i<<23|i>>>9)+s|0,o+=(i^s^r)+n[9]-640364487|0,o=(o<<4|o>>>28)+i|0,r+=(o^i^s)+n[12]-421815835|0,r=(r<<11|r>>>21)+o|0,s+=(r^o^i)+n[15]+530742520|0,s=(s<<16|s>>>16)+r|0,i+=(s^r^o)+n[2]-995338651|0,i=(i<<23|i>>>9)+s|0,o+=(s^(i|~r))+n[0]-198630844|0,o=(o<<6|o>>>26)+i|0,r+=(i^(o|~s))+n[7]+1126891415|0,r=(r<<10|r>>>22)+o|0,s+=(o^(r|~i))+n[14]-1416354905|0,s=(s<<15|s>>>17)+r|0,i+=(r^(s|~o))+n[5]-57434055|0,i=(i<<21|i>>>11)+s|0,o+=(s^(i|~r))+n[12]+1700485571|0,o=(o<<6|o>>>26)+i|0,r+=(i^(o|~s))+n[3]-1894986606|0,r=(r<<10|r>>>22)+o|0,s+=(o^(r|~i))+n[10]-1051523|0,s=(s<<15|s>>>17)+r|0,i+=(r^(s|~o))+n[1]-2054922799|0,i=(i<<21|i>>>11)+s|0,o+=(s^(i|~r))+n[8]+1873313359|0,o=(o<<6|o>>>26)+i|0,r+=(i^(o|~s))+n[15]-30611744|0,r=(r<<10|r>>>22)+o|0,s+=(o^(r|~i))+n[6]-1560198380|0,s=(s<<15|s>>>17)+r|0,i+=(r^(s|~o))+n[13]+1309151649|0,i=(i<<21|i>>>11)+s|0,o+=(s^(i|~r))+n[4]-145523070|0,o=(o<<6|o>>>26)+i|0,r+=(i^(o|~s))+n[11]-1120210379|0,r=(r<<10|r>>>22)+o|0,s+=(o^(r|~i))+n[2]+718787259|0,s=(s<<15|s>>>17)+r|0,i+=(r^(s|~o))+n[9]-343485551|0,i=(i<<21|i>>>11)+s|0,t[0]=o+t[0]|0,t[1]=i+t[1]|0,t[2]=s+t[2]|0,t[3]=r+t[3]|0;}start(){return this._dataLength=0,this._bufferLength=0,this._state.set(Ct.stateIdentity),this}appendStr(t){const n=this._buffer8,o=this._buffer32;let i=this._bufferLength,s,r;for(r=0;r<t.length;r+=1){if(s=t.charCodeAt(r),s<128)n[i++]=s;else if(s<2048)n[i++]=(s>>>6)+192,n[i++]=s&63|128;else if(s<55296||s>56319)n[i++]=(s>>>12)+224,n[i++]=s>>>6&63|128,n[i++]=s&63|128;else {if(s=(s-55296)*1024+(t.charCodeAt(++r)-56320)+65536,s>1114111)throw new Error("Unicode standard supports code points up to U+10FFFF");n[i++]=(s>>>18)+240,n[i++]=s>>>12&63|128,n[i++]=s>>>6&63|128,n[i++]=s&63|128;}i>=64&&(this._dataLength+=64,Ct._md5cycle(this._state,o),i-=64,o[0]=o[16]);}return this._bufferLength=i,this}appendAsciiStr(t){const n=this._buffer8,o=this._buffer32;let i=this._bufferLength,s,r=0;for(;;){for(s=Math.min(t.length-r,64-i);s--;)n[i++]=t.charCodeAt(r++);if(i<64)break;this._dataLength+=64,Ct._md5cycle(this._state,o),i=0;}return this._bufferLength=i,this}appendByteArray(t){const n=this._buffer8,o=this._buffer32;let i=this._bufferLength,s,r=0;for(;;){for(s=Math.min(t.length-r,64-i);s--;)n[i++]=t[r++];if(i<64)break;this._dataLength+=64,Ct._md5cycle(this._state,o),i=0;}return this._bufferLength=i,this}getState(){const t=this._state;return {buffer:String.fromCharCode.apply(null,Array.from(this._buffer8)),buflen:this._bufferLength,length:this._dataLength,state:[t[0],t[1],t[2],t[3]]}}setState(t){const n=t.buffer,o=t.state,i=this._state;let s;for(this._dataLength=t.length,this._bufferLength=t.buflen,i[0]=o[0],i[1]=o[1],i[2]=o[2],i[3]=o[3],s=0;s<n.length;s+=1)this._buffer8[s]=n.charCodeAt(s);}end(t=false){const n=this._bufferLength,o=this._buffer8,i=this._buffer32,s=(n>>2)+1;this._dataLength+=n;const r=this._dataLength*8;if(o[n]=128,o[n+1]=o[n+2]=o[n+3]=0,i.set(Ct.buffer32Identity.subarray(s),s),n>55&&(Ct._md5cycle(this._state,i),i.set(Ct.buffer32Identity)),r<=4294967295)i[14]=r;else {const a=r.toString(16).match(/(.*?)(.{0,8})$/);if(a===null)return;const l=parseInt(a[2],16),c=parseInt(a[1],16)||0;i[14]=l,i[15]=c;}return Ct._md5cycle(this._state,i),t?this._state:Ct._hex(this._state)}}Ct.stateIdentity=new Int32Array([1732584193,-271733879,-1732584194,271733878]);Ct.buffer32Identity=new Int32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);Ct.hexChars="0123456789abcdef";Ct.hexOut=[];Ct.onePassHasher=new Ct;if(Ct.hashStr("hello")!=="5d41402abc4b2a76b9719d911017c592")throw new Error("Md5 self test failed.");var Gl={exports:{}},Mf;function mk(){return Mf||(Mf=1,(function(e){var t=(function(n){var o=1e7,i=7,s=9007199254740992,r=g(s),a="0123456789abcdefghijklmnopqrstuvwxyz",l=typeof BigInt=="function";function c(h,y,C,D){return typeof h>"u"?c[0]:typeof y<"u"?+y==10&&!C?oe(h):Q(h,y,C,D):oe(h)}function u(h,y){this.value=h,this.sign=y,this.isSmall=false;}u.prototype=Object.create(c.prototype);function f(h){this.value=h,this.sign=h<0,this.isSmall=true;}f.prototype=Object.create(c.prototype);function p(h){this.value=h;}p.prototype=Object.create(c.prototype);function w(h){return -s<h&&h<s}function g(h){return h<1e7?[h]:h<1e14?[h%1e7,Math.floor(h/1e7)]:[h%1e7,Math.floor(h/1e7)%1e7,Math.floor(h/1e14)]}function b(h){v(h);var y=h.length;if(y<4&&dt(h,r)<0)switch(y){case 0:return 0;case 1:return h[0];case 2:return h[0]+h[1]*o;default:return h[0]+(h[1]+h[2]*o)*o}return h}function v(h){for(var y=h.length;h[--y]===0;);h.length=y+1;}function k(h){for(var y=new Array(h),C=-1;++C<h;)y[C]=0;return y}function P(h){return h>0?Math.floor(h):Math.ceil(h)}function A(h,y){var C=h.length,D=y.length,U=new Array(C),R=0,J=o,X,ae;for(ae=0;ae<D;ae++)X=h[ae]+y[ae]+R,R=X>=J?1:0,U[ae]=X-R*J;for(;ae<C;)X=h[ae]+R,R=X===J?1:0,U[ae++]=X-R*J;return R>0&&U.push(R),U}function I(h,y){return h.length>=y.length?A(h,y):A(y,h)}function M(h,y){var C=h.length,D=new Array(C),U=o,R,J;for(J=0;J<C;J++)R=h[J]-U+y,y=Math.floor(R/U),D[J]=R-y*U,y+=1;for(;y>0;)D[J++]=y%U,y=Math.floor(y/U);return D}u.prototype.add=function(h){var y=oe(h);if(this.sign!==y.sign)return this.subtract(y.negate());var C=this.value,D=y.value;return y.isSmall?new u(M(C,Math.abs(D)),this.sign):new u(I(C,D),this.sign)},u.prototype.plus=u.prototype.add,f.prototype.add=function(h){var y=oe(h),C=this.value;if(C<0!==y.sign)return this.subtract(y.negate());var D=y.value;if(y.isSmall){if(w(C+D))return new f(C+D);D=g(Math.abs(D));}return new u(M(D,Math.abs(C)),C<0)},f.prototype.plus=f.prototype.add,p.prototype.add=function(h){return new p(this.value+oe(h).value)},p.prototype.plus=p.prototype.add;function z(h,y){var C=h.length,D=y.length,U=new Array(C),R=0,J=o,X,ae;for(X=0;X<D;X++)ae=h[X]-R-y[X],ae<0?(ae+=J,R=1):R=0,U[X]=ae;for(X=D;X<C;X++){if(ae=h[X]-R,ae<0)ae+=J;else {U[X++]=ae;break}U[X]=ae;}for(;X<C;X++)U[X]=h[X];return v(U),U}function N(h,y,C){var D;return dt(h,y)>=0?D=z(h,y):(D=z(y,h),C=!C),D=b(D),typeof D=="number"?(C&&(D=-D),new f(D)):new u(D,C)}function se(h,y,C){var D=h.length,U=new Array(D),R=-y,J=o,X,ae;for(X=0;X<D;X++)ae=h[X]+R,R=Math.floor(ae/J),ae%=J,U[X]=ae<0?ae+J:ae;return U=b(U),typeof U=="number"?(C&&(U=-U),new f(U)):new u(U,C)}u.prototype.subtract=function(h){var y=oe(h);if(this.sign!==y.sign)return this.add(y.negate());var C=this.value,D=y.value;return y.isSmall?se(C,Math.abs(D),this.sign):N(C,D,this.sign)},u.prototype.minus=u.prototype.subtract,f.prototype.subtract=function(h){var y=oe(h),C=this.value;if(C<0!==y.sign)return this.add(y.negate());var D=y.value;return y.isSmall?new f(C-D):se(D,Math.abs(C),C>=0)},f.prototype.minus=f.prototype.subtract,p.prototype.subtract=function(h){return new p(this.value-oe(h).value)},p.prototype.minus=p.prototype.subtract,u.prototype.negate=function(){return new u(this.value,!this.sign)},f.prototype.negate=function(){var h=this.sign,y=new f(-this.value);return y.sign=!h,y},p.prototype.negate=function(){return new p(-this.value)},u.prototype.abs=function(){return new u(this.value,false)},f.prototype.abs=function(){return new f(Math.abs(this.value))},p.prototype.abs=function(){return new p(this.value>=0?this.value:-this.value)};function pe(h,y){var C=h.length,D=y.length,U=C+D,R=k(U),J=o,X,ae,be,Me,Oe;for(be=0;be<C;++be){Me=h[be];for(var We=0;We<D;++We)Oe=y[We],X=Me*Oe+R[be+We],ae=Math.floor(X/J),R[be+We]=X-ae*J,R[be+We+1]+=ae;}return v(R),R}function ne(h,y){var C=h.length,D=new Array(C),U=o,R=0,J,X;for(X=0;X<C;X++)J=h[X]*y+R,R=Math.floor(J/U),D[X]=J-R*U;for(;R>0;)D[X++]=R%U,R=Math.floor(R/U);return D}function B(h,y){for(var C=[];y-- >0;)C.push(0);return C.concat(h)}function O(h,y){var C=Math.max(h.length,y.length);if(C<=30)return pe(h,y);C=Math.ceil(C/2);var D=h.slice(C),U=h.slice(0,C),R=y.slice(C),J=y.slice(0,C),X=O(U,J),ae=O(D,R),be=O(I(U,D),I(J,R)),Me=I(I(X,B(z(z(be,X),ae),C)),B(ae,2*C));return v(Me),Me}function W(h,y){return  -0.012*h-.012*y+15e-6*h*y>0}u.prototype.multiply=function(h){var y=oe(h),C=this.value,D=y.value,U=this.sign!==y.sign,R;if(y.isSmall){if(D===0)return c[0];if(D===1)return this;if(D===-1)return this.negate();if(R=Math.abs(D),R<o)return new u(ne(C,R),U);D=g(R);}return W(C.length,D.length)?new u(O(C,D),U):new u(pe(C,D),U)},u.prototype.times=u.prototype.multiply;function le(h,y,C){return h<o?new u(ne(y,h),C):new u(pe(y,g(h)),C)}f.prototype._multiplyBySmall=function(h){return w(h.value*this.value)?new f(h.value*this.value):le(Math.abs(h.value),g(Math.abs(this.value)),this.sign!==h.sign)},u.prototype._multiplyBySmall=function(h){return h.value===0?c[0]:h.value===1?this:h.value===-1?this.negate():le(Math.abs(h.value),this.value,this.sign!==h.sign)},f.prototype.multiply=function(h){return oe(h)._multiplyBySmall(this)},f.prototype.times=f.prototype.multiply,p.prototype.multiply=function(h){return new p(this.value*oe(h).value)},p.prototype.times=p.prototype.multiply;function ve(h){var y=h.length,C=k(y+y),D=o,U,R,J,X,ae;for(J=0;J<y;J++){X=h[J],R=0-X*X;for(var be=J;be<y;be++)ae=h[be],U=2*(X*ae)+C[J+be]+R,R=Math.floor(U/D),C[J+be]=U-R*D;C[J+y]=R;}return v(C),C}u.prototype.square=function(){return new u(ve(this.value),false)},f.prototype.square=function(){var h=this.value*this.value;return w(h)?new f(h):new u(ve(g(Math.abs(this.value))),false)},p.prototype.square=function(h){return new p(this.value*this.value)};function ke(h,y){var C=h.length,D=y.length,U=o,R=k(y.length),J=y[D-1],X=Math.ceil(U/(2*J)),ae=ne(h,X),be=ne(y,X),Me,Oe,We,pn,en,kl,Sl;for(ae.length<=C&&ae.push(0),be.push(0),J=be[D-1],Oe=C-D;Oe>=0;Oe--){for(Me=U-1,ae[Oe+D]!==J&&(Me=Math.floor((ae[Oe+D]*U+ae[Oe+D-1])/J)),We=0,pn=0,kl=be.length,en=0;en<kl;en++)We+=Me*be[en],Sl=Math.floor(We/U),pn+=ae[Oe+en]-(We-Sl*U),We=Sl,pn<0?(ae[Oe+en]=pn+U,pn=-1):(ae[Oe+en]=pn,pn=0);for(;pn!==0;){for(Me-=1,We=0,en=0;en<kl;en++)We+=ae[Oe+en]-U+be[en],We<0?(ae[Oe+en]=We+U,We=0):(ae[Oe+en]=We,We=1);pn+=We;}R[Oe]=Me;}return ae=Se(ae,X)[0],[b(R),b(ae)]}function _e(h,y){for(var C=h.length,D=y.length,U=[],R=[],J=o,X,ae,be,Me,Oe;C;){if(R.unshift(h[--C]),v(R),dt(R,y)<0){U.push(0);continue}ae=R.length,be=R[ae-1]*J+R[ae-2],Me=y[D-1]*J+y[D-2],ae>D&&(be=(be+1)*J),X=Math.ceil(be/Me);do{if(Oe=ne(y,X),dt(Oe,R)<=0)break;X--;}while(X);U.push(X),R=z(R,Oe);}return U.reverse(),[b(U),b(R)]}function Se(h,y){var C=h.length,D=k(C),U=o,R,J,X,ae;for(X=0,R=C-1;R>=0;--R)ae=X*U+h[R],J=P(ae/y),X=ae-J*y,D[R]=J|0;return [D,X|0]}function Ne(h,y){var C,D=oe(y);if(l)return [new p(h.value/D.value),new p(h.value%D.value)];var U=h.value,R=D.value,J;if(R===0)throw new Error("Cannot divide by zero");if(h.isSmall)return D.isSmall?[new f(P(U/R)),new f(U%R)]:[c[0],h];if(D.isSmall){if(R===1)return [h,c[0]];if(R==-1)return [h.negate(),c[0]];var X=Math.abs(R);if(X<o){C=Se(U,X),J=b(C[0]);var ae=C[1];return h.sign&&(ae=-ae),typeof J=="number"?(h.sign!==D.sign&&(J=-J),[new f(J),new f(ae)]):[new u(J,h.sign!==D.sign),new f(ae)]}R=g(X);}var be=dt(U,R);if(be===-1)return [c[0],h];if(be===0)return [c[h.sign===D.sign?1:-1],c[0]];U.length+R.length<=200?C=ke(U,R):C=_e(U,R),J=C[0];var Me=h.sign!==D.sign,Oe=C[1],We=h.sign;return typeof J=="number"?(Me&&(J=-J),J=new f(J)):J=new u(J,Me),typeof Oe=="number"?(We&&(Oe=-Oe),Oe=new f(Oe)):Oe=new u(Oe,We),[J,Oe]}u.prototype.divmod=function(h){var y=Ne(this,h);return {quotient:y[0],remainder:y[1]}},p.prototype.divmod=f.prototype.divmod=u.prototype.divmod,u.prototype.divide=function(h){return Ne(this,h)[0]},p.prototype.over=p.prototype.divide=function(h){return new p(this.value/oe(h).value)},f.prototype.over=f.prototype.divide=u.prototype.over=u.prototype.divide,u.prototype.mod=function(h){return Ne(this,h)[1]},p.prototype.mod=p.prototype.remainder=function(h){return new p(this.value%oe(h).value)},f.prototype.remainder=f.prototype.mod=u.prototype.remainder=u.prototype.mod,u.prototype.pow=function(h){var y=oe(h),C=this.value,D=y.value,U,R,J;if(D===0)return c[1];if(C===0)return c[0];if(C===1)return c[1];if(C===-1)return y.isEven()?c[1]:c[-1];if(y.sign)return c[0];if(!y.isSmall)throw new Error("The exponent "+y.toString()+" is too large.");if(this.isSmall&&w(U=Math.pow(C,D)))return new f(P(U));for(R=this,J=c[1];D&true&&(J=J.times(R),--D),D!==0;)D/=2,R=R.square();return J},f.prototype.pow=u.prototype.pow,p.prototype.pow=function(h){var y=oe(h),C=this.value,D=y.value,U=BigInt(0),R=BigInt(1),J=BigInt(2);if(D===U)return c[1];if(C===U)return c[0];if(C===R)return c[1];if(C===BigInt(-1))return y.isEven()?c[1]:c[-1];if(y.isNegative())return new p(U);for(var X=this,ae=c[1];(D&R)===R&&(ae=ae.times(X),--D),D!==U;)D/=J,X=X.square();return ae},u.prototype.modPow=function(h,y){if(h=oe(h),y=oe(y),y.isZero())throw new Error("Cannot take modPow with modulus 0");var C=c[1],D=this.mod(y);for(h.isNegative()&&(h=h.multiply(c[-1]),D=D.modInv(y));h.isPositive();){if(D.isZero())return c[0];h.isOdd()&&(C=C.multiply(D).mod(y)),h=h.divide(2),D=D.square().mod(y);}return C},p.prototype.modPow=f.prototype.modPow=u.prototype.modPow;function dt(h,y){if(h.length!==y.length)return h.length>y.length?1:-1;for(var C=h.length-1;C>=0;C--)if(h[C]!==y[C])return h[C]>y[C]?1:-1;return 0}u.prototype.compareAbs=function(h){var y=oe(h),C=this.value,D=y.value;return y.isSmall?1:dt(C,D)},f.prototype.compareAbs=function(h){var y=oe(h),C=Math.abs(this.value),D=y.value;return y.isSmall?(D=Math.abs(D),C===D?0:C>D?1:-1):-1},p.prototype.compareAbs=function(h){var y=this.value,C=oe(h).value;return y=y>=0?y:-y,C=C>=0?C:-C,y===C?0:y>C?1:-1},u.prototype.compare=function(h){if(h===1/0)return  -1;if(h===-1/0)return 1;var y=oe(h),C=this.value,D=y.value;return this.sign!==y.sign?y.sign?1:-1:y.isSmall?this.sign?-1:1:dt(C,D)*(this.sign?-1:1)},u.prototype.compareTo=u.prototype.compare,f.prototype.compare=function(h){if(h===1/0)return  -1;if(h===-1/0)return 1;var y=oe(h),C=this.value,D=y.value;return y.isSmall?C==D?0:C>D?1:-1:C<0!==y.sign?C<0?-1:1:C<0?1:-1},f.prototype.compareTo=f.prototype.compare,p.prototype.compare=function(h){if(h===1/0)return  -1;if(h===-1/0)return 1;var y=this.value,C=oe(h).value;return y===C?0:y>C?1:-1},p.prototype.compareTo=p.prototype.compare,u.prototype.equals=function(h){return this.compare(h)===0},p.prototype.eq=p.prototype.equals=f.prototype.eq=f.prototype.equals=u.prototype.eq=u.prototype.equals,u.prototype.notEquals=function(h){return this.compare(h)!==0},p.prototype.neq=p.prototype.notEquals=f.prototype.neq=f.prototype.notEquals=u.prototype.neq=u.prototype.notEquals,u.prototype.greater=function(h){return this.compare(h)>0},p.prototype.gt=p.prototype.greater=f.prototype.gt=f.prototype.greater=u.prototype.gt=u.prototype.greater,u.prototype.lesser=function(h){return this.compare(h)<0},p.prototype.lt=p.prototype.lesser=f.prototype.lt=f.prototype.lesser=u.prototype.lt=u.prototype.lesser,u.prototype.greaterOrEquals=function(h){return this.compare(h)>=0},p.prototype.geq=p.prototype.greaterOrEquals=f.prototype.geq=f.prototype.greaterOrEquals=u.prototype.geq=u.prototype.greaterOrEquals,u.prototype.lesserOrEquals=function(h){return this.compare(h)<=0},p.prototype.leq=p.prototype.lesserOrEquals=f.prototype.leq=f.prototype.lesserOrEquals=u.prototype.leq=u.prototype.lesserOrEquals,u.prototype.isEven=function(){return (this.value[0]&1)===0},f.prototype.isEven=function(){return (this.value&1)===0},p.prototype.isEven=function(){return (this.value&BigInt(1))===BigInt(0)},u.prototype.isOdd=function(){return (this.value[0]&1)===1},f.prototype.isOdd=function(){return (this.value&1)===1},p.prototype.isOdd=function(){return (this.value&BigInt(1))===BigInt(1)},u.prototype.isPositive=function(){return !this.sign},f.prototype.isPositive=function(){return this.value>0},p.prototype.isPositive=f.prototype.isPositive,u.prototype.isNegative=function(){return this.sign},f.prototype.isNegative=function(){return this.value<0},p.prototype.isNegative=f.prototype.isNegative,u.prototype.isUnit=function(){return  false},f.prototype.isUnit=function(){return Math.abs(this.value)===1},p.prototype.isUnit=function(){return this.abs().value===BigInt(1)},u.prototype.isZero=function(){return  false},f.prototype.isZero=function(){return this.value===0},p.prototype.isZero=function(){return this.value===BigInt(0)},u.prototype.isDivisibleBy=function(h){var y=oe(h);return y.isZero()?false:y.isUnit()?true:y.compareAbs(2)===0?this.isEven():this.mod(y).isZero()},p.prototype.isDivisibleBy=f.prototype.isDivisibleBy=u.prototype.isDivisibleBy;function we(h){var y=h.abs();if(y.isUnit())return  false;if(y.equals(2)||y.equals(3)||y.equals(5))return  true;if(y.isEven()||y.isDivisibleBy(3)||y.isDivisibleBy(5))return  false;if(y.lesser(49))return  true}function L(h,y){for(var C=h.prev(),D=C,U=0,R,J,X;D.isEven();)D=D.divide(2),U++;e:for(J=0;J<y.length;J++)if(!h.lesser(y[J])&&(X=t(y[J]).modPow(D,h),!(X.isUnit()||X.equals(C)))){for(R=U-1;R!=0;R--){if(X=X.square().mod(h),X.isUnit())return  false;if(X.equals(C))continue e}return  false}return  true}u.prototype.isPrime=function(h){var y=we(this);if(y!==n)return y;var C=this.abs(),D=C.bitLength();if(D<=64)return L(C,[2,3,5,7,11,13,17,19,23,29,31,37]);for(var U=Math.log(2)*D.toJSNumber(),R=Math.ceil(h===true?2*Math.pow(U,2):U),J=[],X=0;X<R;X++)J.push(t(X+2));return L(C,J)},p.prototype.isPrime=f.prototype.isPrime=u.prototype.isPrime,u.prototype.isProbablePrime=function(h,y){var C=we(this);if(C!==n)return C;for(var D=this.abs(),U=h===n?5:h,R=[],J=0;J<U;J++)R.push(t.randBetween(2,D.minus(2),y));return L(D,R)},p.prototype.isProbablePrime=f.prototype.isProbablePrime=u.prototype.isProbablePrime,u.prototype.modInv=function(h){for(var y=t.zero,C=t.one,D=oe(h),U=this.abs(),R,J,X;!U.isZero();)R=D.divide(U),J=y,X=D,y=C,D=U,C=J.subtract(R.multiply(C)),U=X.subtract(R.multiply(U));if(!D.isUnit())throw new Error(this.toString()+" and "+h.toString()+" are not co-prime");return y.compare(0)===-1&&(y=y.add(h)),this.isNegative()?y.negate():y},p.prototype.modInv=f.prototype.modInv=u.prototype.modInv,u.prototype.next=function(){var h=this.value;return this.sign?se(h,1,this.sign):new u(M(h,1),this.sign)},f.prototype.next=function(){var h=this.value;return h+1<s?new f(h+1):new u(r,false)},p.prototype.next=function(){return new p(this.value+BigInt(1))},u.prototype.prev=function(){var h=this.value;return this.sign?new u(M(h,1),true):se(h,1,this.sign)},f.prototype.prev=function(){var h=this.value;return h-1>-s?new f(h-1):new u(r,true)},p.prototype.prev=function(){return new p(this.value-BigInt(1))};for(var he=[1];2*he[he.length-1]<=o;)he.push(2*he[he.length-1]);var it=he.length,pt=he[it-1];function fn(h){return Math.abs(h)<=o}u.prototype.shiftLeft=function(h){var y=oe(h).toJSNumber();if(!fn(y))throw new Error(String(y)+" is too large for shifting.");if(y<0)return this.shiftRight(-y);var C=this;if(C.isZero())return C;for(;y>=it;)C=C.multiply(pt),y-=it-1;return C.multiply(he[y])},p.prototype.shiftLeft=f.prototype.shiftLeft=u.prototype.shiftLeft,u.prototype.shiftRight=function(h){var y,C=oe(h).toJSNumber();if(!fn(C))throw new Error(String(C)+" is too large for shifting.");if(C<0)return this.shiftLeft(-C);for(var D=this;C>=it;){if(D.isZero()||D.isNegative()&&D.isUnit())return D;y=Ne(D,pt),D=y[1].isNegative()?y[0].prev():y[0],C-=it-1;}return y=Ne(D,he[C]),y[1].isNegative()?y[0].prev():y[0]},p.prototype.shiftRight=f.prototype.shiftRight=u.prototype.shiftRight;function Zt(h,y,C){y=oe(y);for(var D=h.isNegative(),U=y.isNegative(),R=D?h.not():h,J=U?y.not():y,X=0,ae=0,be=null,Me=null,Oe=[];!R.isZero()||!J.isZero();)be=Ne(R,pt),X=be[1].toJSNumber(),D&&(X=pt-1-X),Me=Ne(J,pt),ae=Me[1].toJSNumber(),U&&(ae=pt-1-ae),R=be[0],J=Me[0],Oe.push(C(X,ae));for(var We=C(D?1:0,U?1:0)!==0?t(-1):t(0),pn=Oe.length-1;pn>=0;pn-=1)We=We.multiply(pt).add(t(Oe[pn]));return We}u.prototype.not=function(){return this.negate().prev()},p.prototype.not=f.prototype.not=u.prototype.not,u.prototype.and=function(h){return Zt(this,h,function(y,C){return y&C})},p.prototype.and=f.prototype.and=u.prototype.and,u.prototype.or=function(h){return Zt(this,h,function(y,C){return y|C})},p.prototype.or=f.prototype.or=u.prototype.or,u.prototype.xor=function(h){return Zt(this,h,function(y,C){return y^C})},p.prototype.xor=f.prototype.xor=u.prototype.xor;var fo=1<<30,Ii=(o&-o)*(o&-o)|fo;function Cn(h){var y=h.value,C=typeof y=="number"?y|fo:typeof y=="bigint"?y|BigInt(fo):y[0]+y[1]*o|Ii;return C&-C}function ee(h,y){if(y.compareTo(h)<=0){var C=ee(h,y.square(y)),D=C.p,U=C.e,R=D.multiply(y);return R.compareTo(h)<=0?{p:R,e:U*2+1}:{p:D,e:U*2}}return {p:t(1),e:0}}u.prototype.bitLength=function(){var h=this;return h.compareTo(t(0))<0&&(h=h.negate().subtract(t(1))),h.compareTo(t(0))===0?t(0):t(ee(h,t(2)).e).add(t(1))},p.prototype.bitLength=f.prototype.bitLength=u.prototype.bitLength;function m(h,y){return h=oe(h),y=oe(y),h.greater(y)?h:y}function x(h,y){return h=oe(h),y=oe(y),h.lesser(y)?h:y}function S(h,y){if(h=oe(h).abs(),y=oe(y).abs(),h.equals(y))return h;if(h.isZero())return y;if(y.isZero())return h;for(var C=c[1],D,U;h.isEven()&&y.isEven();)D=x(Cn(h),Cn(y)),h=h.divide(D),y=y.divide(D),C=C.multiply(D);for(;h.isEven();)h=h.divide(Cn(h));do{for(;y.isEven();)y=y.divide(Cn(y));h.greater(y)&&(U=y,y=h,h=U),y=y.subtract(h);}while(!y.isZero());return C.isUnit()?h:h.multiply(C)}function Z(h,y){return h=oe(h).abs(),y=oe(y).abs(),h.divide(S(h,y)).multiply(y)}function j(h,y,C){h=oe(h),y=oe(y);var D=C||Math.random,U=x(h,y),R=m(h,y),J=R.subtract(U).add(1);if(J.isSmall)return U.add(Math.floor(D()*J));for(var X=ue(J,o).value,ae=[],be=true,Me=0;Me<X.length;Me++){var Oe=be?X[Me]+(Me+1<X.length?X[Me+1]/o:0):o,We=P(D()*Oe);ae.push(We),We<X[Me]&&(be=false);}return U.add(c.fromArray(ae,o,false))}var Q=function(h,y,C,D){C=C||a,h=String(h),D||(h=h.toLowerCase(),C=C.toLowerCase());var U=h.length,R,J=Math.abs(y),X={};for(R=0;R<C.length;R++)X[C[R]]=R;for(R=0;R<U;R++){var ae=h[R];if(ae!=="-"&&ae in X&&X[ae]>=J){if(ae==="1"&&J===1)continue;throw new Error(ae+" is not a valid digit in base "+y+".")}}y=oe(y);var be=[],Me=h[0]==="-";for(R=Me?1:0;R<h.length;R++){var ae=h[R];if(ae in X)be.push(oe(X[ae]));else if(ae==="<"){var Oe=R;do R++;while(h[R]!==">"&&R<h.length);be.push(oe(h.slice(Oe+1,R)));}else throw new Error(ae+" is not a valid character")}return de(be,y,Me)};function de(h,y,C){var D=c[0],U=c[1],R;for(R=h.length-1;R>=0;R--)D=D.add(h[R].times(U)),U=U.times(y);return C?D.negate():D}function ce(h,y){return y=y||a,h<y.length?y[h]:"<"+h+">"}function ue(h,y){if(y=t(y),y.isZero()){if(h.isZero())return {value:[0],isNegative:false};throw new Error("Cannot convert nonzero numbers to base 0.")}if(y.equals(-1)){if(h.isZero())return {value:[0],isNegative:false};if(h.isNegative())return {value:[].concat.apply([],Array.apply(null,Array(-h.toJSNumber())).map(Array.prototype.valueOf,[1,0])),isNegative:false};var C=Array.apply(null,Array(h.toJSNumber()-1)).map(Array.prototype.valueOf,[0,1]);return C.unshift([1]),{value:[].concat.apply([],C),isNegative:false}}var D=false;if(h.isNegative()&&y.isPositive()&&(D=true,h=h.abs()),y.isUnit())return h.isZero()?{value:[0],isNegative:false}:{value:Array.apply(null,Array(h.toJSNumber())).map(Number.prototype.valueOf,1),isNegative:D};for(var U=[],R=h,J;R.isNegative()||R.compareAbs(y)>=0;){J=R.divmod(y),R=J.quotient;var X=J.remainder;X.isNegative()&&(X=y.minus(X).abs(),R=R.next()),U.push(X.toJSNumber());}return U.push(R.toJSNumber()),{value:U.reverse(),isNegative:D}}function re(h,y,C){var D=ue(h,y);return (D.isNegative?"-":"")+D.value.map(function(U){return ce(U,C)}).join("")}u.prototype.toArray=function(h){return ue(this,h)},f.prototype.toArray=function(h){return ue(this,h)},p.prototype.toArray=function(h){return ue(this,h)},u.prototype.toString=function(h,y){if(h===n&&(h=10),h!==10||y)return re(this,h,y);for(var C=this.value,D=C.length,U=String(C[--D]),R="0000000",J;--D>=0;)J=String(C[D]),U+=R.slice(J.length)+J;var X=this.sign?"-":"";return X+U},f.prototype.toString=function(h,y){return h===n&&(h=10),h!=10||y?re(this,h,y):String(this.value)},p.prototype.toString=f.prototype.toString,p.prototype.toJSON=u.prototype.toJSON=f.prototype.toJSON=function(){return this.toString()},u.prototype.valueOf=function(){return parseInt(this.toString(),10)},u.prototype.toJSNumber=u.prototype.valueOf,f.prototype.valueOf=function(){return this.value},f.prototype.toJSNumber=f.prototype.valueOf,p.prototype.valueOf=p.prototype.toJSNumber=function(){return parseInt(this.toString(),10)};function Ce(h){if(w(+h)){var y=+h;if(y===P(y))return l?new p(BigInt(y)):new f(y);throw new Error("Invalid integer: "+h)}var C=h[0]==="-";C&&(h=h.slice(1));var D=h.split(/e/i);if(D.length>2)throw new Error("Invalid integer: "+D.join("e"));if(D.length===2){var U=D[1];if(U[0]==="+"&&(U=U.slice(1)),U=+U,U!==P(U)||!w(U))throw new Error("Invalid integer: "+U+" is not a valid exponent.");var R=D[0],J=R.indexOf(".");if(J>=0&&(U-=R.length-J-1,R=R.slice(0,J)+R.slice(J+1)),U<0)throw new Error("Cannot include negative exponent part for integers");R+=new Array(U+1).join("0"),h=R;}var X=/^([0-9][0-9]*)$/.test(h);if(!X)throw new Error("Invalid integer: "+h);if(l)return new p(BigInt(C?"-"+h:h));for(var ae=[],be=h.length,Me=i,Oe=be-Me;be>0;)ae.push(+h.slice(Oe,be)),Oe-=Me,Oe<0&&(Oe=0),be-=Me;return v(ae),new u(ae,C)}function me(h){if(l)return new p(BigInt(h));if(w(h)){if(h!==P(h))throw new Error(h+" is not an integer.");return new f(h)}return Ce(h.toString())}function oe(h){return typeof h=="number"?me(h):typeof h=="string"?Ce(h):typeof h=="bigint"?new p(h):h}for(var Ae=0;Ae<1e3;Ae++)c[Ae]=oe(Ae),Ae>0&&(c[-Ae]=oe(-Ae));return c.one=c[1],c.zero=c[0],c.minusOne=c[-1],c.max=m,c.min=x,c.gcd=S,c.lcm=Z,c.isInstance=function(h){return h instanceof u||h instanceof f||h instanceof p},c.randBetween=j,c.fromArray=function(h,y,C){return de(h.map(oe),oe(y||10),C)},c})();e.hasOwnProperty("exports")&&(e.exports=t);})(Gl)),Gl.exports}var gk=mk();const Dr=$m(gk);class wk{n;e;constructor(){this.n=Dr("8686980c0f5a24c4b9d43020cd2c22703ff3f450756529058b1cf88f09b8602136477198a6e2683149659bd122c33592fdb5ad47944ad1ea4d36c6b172aad6338c3bb6ac6227502d010993ac967d1aef00f0c8e038de2e4d3bc2ec368af2e9f10a6f1eda4f7262f136420c07c331b871bf139f74f3010e3c4fe57df3afb71683",16),this.e=Dr("10001",16);}a2hex(t){let n="",o;for(let i=0;i<t.length;i++)o=t[i].toString(16),o.length<2&&(o="0"+o),n+=o;return n}hex2a(t){let n="";for(let o=0;o<t.length;o+=2)n+=String.fromCharCode(parseInt(t.substr(o,2),16));return n}pkcs1pad2(t,n){if(n<t.length+11)return null;let o=[],i=t.length-1;for(;i>=0&&n>0;)o[--n]=t.charCodeAt(i--);for(o[--n]=0;n>2;)o[--n]=255;o[--n]=2,o[--n]=0;let s=this.a2hex(o);return Dr(s,16)}pkcs1unpad2(t){let n=t.toString(16);n.length%2!==0&&(n="0"+n);let o=this.hex2a(n),i=1;for(;o.charCodeAt(i)!==0;)i++;return o.slice(i+1)}encrypt(t){let i=this.pkcs1pad2(t,128)?.modPow(this.e,this.n)?.toString(16)||"";for(;i.length<256;)i="0"+i;return i}decrypt(t){const n=[];let o=0;for(;o<t.length;)n[o]=t.charCodeAt(o),o+=1;const s=Dr(this.a2hex(n),16).modPow(this.e,this.n);return this.pkcs1unpad2(s)}}class yk{rsa;kts;keyS;keyL;constructor(){this.rsa=new wk,this.kts=[240,229,105,174,191,220,191,138,26,69,232,190,125,166,115,184,222,143,231,196,69,218,134,196,155,100,139,20,106,180,241,170,56,1,53,158,38,105,44,134,0,107,79,165,54,52,98,166,42,150,104,24,242,74,253,189,107,151,143,77,143,137,19,183,108,142,147,237,14,13,72,62,215,47,136,216,254,254,126,134,80,149,79,209,235,131,38,52,219,102,123,156,126,157,122,129,50,234,182,51,222,58,169,89,52,102,59,170,186,129,96,72,185,213,129,156,248,108,132,119,255,84,120,38,95,190,232,30,54,159,52,128,92,69,44,155,118,213,27,143,204,195,184,245],this.keyS=[41,35,33,94],this.keyL=[120,6,173,76,51,134,93,24,76,1,63,70];}xor115Enc(t,n,o,i){let s,r,a,l,c,u,f,p;if(l=n%4,p=[],l!==0)for(s=r=0,c=l;c>=0?r<c:r>c;s=c>=0?++r:--r)p.push(t[s]^o[s%i]);for(s=a=u=l,f=n;u<=f?a<f:a>f;s=u<=f?++a:--a)p.push(t[s]^o[(s-l)%i]);return p}getkey(t,n){let o;return n!=null?(()=>{let i,s,r;for(r=[],o=i=0,s=t;s>=0?i<s:i>s;o=s>=0?++i:--i)r.push(n[o]+this.kts[t*o]&255^this.kts[t*(t-1-o)]);return r})():t===12?this.keyL.slice(0):this.keyS.slice(0)}asymEncode(t,n){let o,i,s,r,a;for(s=117,a="",o=i=0,r=Math.floor((n+s-1)/s);r>=0?i<r:i>r;o=r>=0?++i:--i)a+=this.rsa.encrypt(this.bytesToString(t.slice(o*s,Math.min((o+1)*s,n))));return window.btoa(this.rsa.hex2a(a))}asymDecode(t,n){let o,i,s,r,a;for(s=128,a="",o=i=0,r=Math.floor((n+s-1)/s);r>=0?i<r:i>r;o=r>=0?++i:--i)a+=this.rsa.decrypt(this.bytesToString(t.slice(o*s,Math.min((o+1)*s,n))));return this.stringToBytes(a)}symEncode(t,n,o,i){let s,r,a;return s=this.getkey(4,o),r=this.getkey(12,i),a=this.xor115Enc(t,n,s,4),a.reverse(),a=this.xor115Enc(a,n,r,12),a}symDecode(t,n,o,i){let s,r,a;return s=this.getkey(4,o),r=this.getkey(12,i),a=this.xor115Enc(t,n,r,12),a.reverse(),a=this.xor115Enc(a,n,s,4),a}bytesToString(t){let n,o,i,s;for(s="",o=0,i=t.length;o<i;o++)n=t[o],s+=String.fromCharCode(n);return s}stringToBytes(t){let n,o,i;for(i=[],n=0,o=t.length;n<o;n++)i.push(t.charCodeAt(n));return i}encode(t,n){const o=this.stringToBytes(Ct.hashStr(`!@###@#${n}DFDR@#@#`));let i=this.stringToBytes(t);return i=this.symEncode(i,i.length,o,null),i=o.slice(0,16).concat(i),{data:this.asymEncode(i,i.length),key:o}}decode(t,n){let o=this.stringToBytes(window.atob(t));return o=this.asymDecode(o,o.length),this.bytesToString(this.symDecode(o.slice(16),o.length-16,n,o.slice(0,16)))}}async function bk(e){return new Promise((t,n)=>{const o=JSON.stringify({pickcode:e}),i=Math.floor(Date.now()).toString(),s=new yk,{data:r,key:a}=s.encode(o,i);Ta({method:"POST",url:`https://proapi.115.com/app/chrome/downurl?t=${i}`,headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8","User-Agent":navigator.userAgent,Accept:"application/json, text/javascript, */*; q=0.01"},data:`data=${encodeURIComponent(r)}`,responseType:"json",onload:l=>{const c=JSON.parse(l.responseText);if(c.state){const u=s.decode(c.data,a);if(u){const f=JSON.parse(u),p=Object.keys(f)[0],w=f[p];w.file_id=p;const g=l.responseHeaders.split(/[\r\n]+/).filter(b=>b.match(/set-cookie/i));g.length&&(g.forEach((b,v)=>{g[v]=b.replace(/set-cookie:[\s]*/i,"").split(";")[0];}),w.cookie=g.join("; ")),t(w);}else n({state:false,error:"解密失败"});}else n(c);},onerror:l=>{n(l);}});})}async function vk(e){return (await Ot().get(`https://webapi.115.com/files/get_repeat_sha?file_id=${e}`,{timeout:12e4,withCredentials:true})).data}function xk(e){return `https://115.com/?tab=sha1_repeat&select=1&file_id=${e}&mode=wangpan`}let _k=[];async function Hg(e){if(!io()||!e.enableInSearch)return;const t=await tt("#js_data_list"),n='<a href="javascript:;" menu="{key}" style=""><i class="{icon}" menu="{key}"></i><span menu="{key}">{label}</span></a>',o=(l,c,u)=>n.replace(/\{key\}/g,l).replace(/\{label\}/g,c).replace(/\{icon\}/g,u),i=[{label:"移动",body:o("move","移动","icon-operate ifo-move"),enabled:true},{label:"重命名",body:o("edit_name","重命名","icon-operate ifo-rename"),enabled:true},{label:"删除",body:o("delete","删除","icon-operate ifo-remove"),enabled:true},{label:"属性",body:o("attribute","属性","icon-operate ifo-property"),enabled:true}],s=l=>{let c="";for(const u of l)u.enabled&&(c+=u.body);return c},r=()=>{const l="ce-menu-init",c=document.querySelectorAll(`li[rel="item"]:not(.${l})`),u=s(i);for(let f=0;f<c.length;f++){const p=c[f];if(p.querySelector(".file-opr"))continue;const w=ze('<div class="file-opr" rel="menu"></div>');w.innerHTML=u,p.classList.add(l),p.appendChild(w);}};r(),new MutationObserver(async([l])=>{l.type==="childList"&&r();}).observe(t,{childList:true});}async function Ck(){const e=await ut(),t=await ld(e);return new ls({key:"_play_with_x_d",label:t.defaultPlayer.label,icon:t.defaultPlayer?.icon||"",injectDecider:mb,title:t.defaultPlayer.memo,onClick:async(n,o)=>{t.noRealDefault||jg(t.defaultPlayer,e,n,o);},subItems:[...await fk(us,t.customUrlItems)]})}function Ei(e){const t=$(e.target).closest("li"),n=dn(t);return !n||!n.id?(Y({text:"无法获取当前文件信息",timer:1200}),null):n}async function kk(e){const t=[...(await cr()).filter(o=>o.enabled),..._k.filter(o=>o.enabled),...(await Si(so.search)).filter(o=>o.enabled)];let n=t.find(o=>o.key===e.defaultSearch);return n||(n=t.find(o=>o.key===dr)),new ls({key:"_search_with_name_d",label:"搜索",icon:n?.icon||"",title:Ng(e,n?.memo||"使用名称搜索"),onClick:async(o,i)=>{i.stopPropagation(),i.preventDefault(),n&&await gr(o,n,i,e,void 0,Ie.listItemHover);},subItems:[...await sl(us,t)]})}async function Sk(){return new us({key:"_lh_view_in_clouddrive",label:"在CloudDrive中查看",icon:"icon-operate ifo-exportdir",title:"在CloudDrive2 Web页面中查看",onClick:async(e,t)=>{t.stopPropagation(),t.preventDefault();const n=Ei(t);n&&await wa(n);}})}async function $k(e){const{namePathConfig:t}=e,n=[];return t.copyFullName&&n.push(await Tr("完整名称",gt.full)),t.copyPureName&&n.push(await Tr("不含后缀名称",gt.pure)),t.copyId&&n.push(await Tr("ID",gt.id)),t.copyPickCode&&n.push(await Tr("PickCode",gt.pickCode)),t.copySha1&&n.push(await Bf(false)),t.copySha1WithName&&n.push(await Bf(true)),t.copyUnixPath&&n.push(await Lr("路径(Unix)",Mn.unixPath)),t.copyWinPath&&n.push(await Lr("路径(Windows)",Mn.winPath)),t.copyParentUnixPath&&n.push(await Lr("上级路径(Unix)",Mn.unixParentPath)),t.copyParentWinPath&&n.push(await Lr("上级路径(Windows)",Mn.winParentPath)),t.viewInCloudDrive&&n.push(await Sk()),new ls({key:"_lh_copy_name_path",label:"名称路径",title:"复制文件名称路径",onClick:async(o,i)=>{},subItems:n})}async function Bf(e=true){return new us({key:"_lh_copy_sha1",label:"文件sha1"+(e?"(带文件名)":""),icon:"icon-operate ifo-copy",title:"复制文件sha1"+(e?"。格式为 xxx//yyy,xxx为sha1,yyy为文件名":""),onClick:async(t,n)=>{n.stopPropagation(),n.preventDefault();const o=Ei(n);if(!o)return;if(o.isDir){Y({text:"该功能仅对文件有效",icon:"warning",timer:2e3});return}const i=o.hash+(e?`//${o.name}`:"");ft(i),Y({title:"复制文件sha1",text:"已复制文件sha1",icon:"success",timer:1e3});}})}async function Tr(e,t){return new us({key:`_lh_copy_info_${t}`,label:e,icon:"icon-operate ifo-copy",title:`复制${e}`,onClick:async(n,o)=>{o.stopPropagation(),o.preventDefault();const i=Ei(o);if(!i)return;const s=await ut(),r=await Xt(),l=wr([i],t,c=>s.cloudDriveFormalization?cn(r,c):c);ft(l.join(`
`)),Y({title:`复制${e}`,text:`已复制选中文件信息,复制类型:${e},CloudDrive文件名规范: ${s.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function Lr(e,t){return new us({key:`_lh_copy_path_${t}`,label:e,icon:"icon-operate ifo-copy",title:e,onClick:async(n,o)=>{o.stopPropagation(),o.preventDefault();const i=Ei(o);if(!i)return;const s=await ut(),r=await Xt();let a=await Ka(i);s.cloudDriveFormalization&&(a=a.map(u=>cn(r,u,true)),i.name=cn(r,i.name,true));let l=a.join("/");const c=await rl(i,l,t);ft(c),Y({title:"复制路径",text:`已复制选中路径,复制类型:${e},CloudDrive文件名规范: ${s.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function Ek(){return new ls({injectDecider:oh,key:"_open_in_new_tab",label:"新标签页",icon:"",title:"在新标签页打开",onClick:async(e,t)=>{t.stopPropagation(),t.preventDefault();const n=Ei(t);if(!n)return;const o=On(n.id);window.open(o,"_blank","noopener noreferrer");}})}async function ud(e){V.fire({title:"查找重复文件",html:`正在查找文件:${e.name},请稍候...`,icon:"info",showConfirmButton:false,allowOutsideClick:false}),V.showLoading();try{const t=await vk(e.id);t.state?t.data.length>1?(V.update({html:"查找成功,将打开结果页面",icon:"success",showConfirmButton:!0}),Jr(xk(e.id),{active:!0}),At(5e3).then(()=>{V.close();})):V.update({html:"没有重复文件",icon:"warning",showConfirmButton:!0}):V.update({html:`查找失败!${t.code} - ${t.message}`,icon:"error",showConfirmButton:!0});}catch(t){V.update({html:`查找失败!${t.message}`,icon:"error",showConfirmButton:true});}finally{V.hideLoading();}}async function Ak(e){return new ls({injectDecider:hb,key:"_lh_find_repeat",label:"重复文件",icon:"",title:"查找重复文件,找到后会在新标签页中打开处理页面",onClick:async(t,n)=>{n.stopPropagation(),n.preventDefault();const o=Ei(n);o&&await ud(o);}})}async function Pk(e){return new ls({injectDecider:oh,key:"_lh_flatten_subfolders",label:"解散子目录",title:"将当前目录中所有子目录的文件移动到当前目录,并删除空的子目录",onClick:async(t,n)=>{n.stopPropagation(),n.preventDefault();const o=Ei(n);if(o){if(!o.isDir){Y({text:"请先选择一个目录",icon:"error"});return}await al([o]);}}})}function Ik(e){return {enabled:true,openInNewTab:true,search:true,play:true,getDownloadUrl:true,copyNames:true,namePathConfig:or(),flattenSubfolders:false,findRepeat:false,exportList:false,viewInCloudDrive:true,...e}}class ls extends bn{menuType=Ie.listItemHover;constructor(t){super(t),this.onMouseOver=Ma,this.onMouseOut=Ba;}}class us extends bn{menuType=Ie.listItemHoverSub}class Dk extends nr{menuType=Ie.listItemHover;useObserver=true;observeTarget="#js_data_list";disposeObserverAfterInjection=false;constructor(t){super(t),this.handleLoadAll();}async inject(){const t=document.querySelector("#js_data_list");if(t){const n=t.querySelectorAll(".list-contents > ul:not([ce-done]) > li .file-opr");n.length&&await this.perform(Array.from(n));}super.inject();}async handleLoadAll(){if(window.top===window.self)return;const t=document.querySelector("#js_pagination_box");if(!t){console.warn("[ListItemHoverMenuInjector.handleLoadAll] 未找到「#js_pagination_box」元素");return}function n(o){const i=document.querySelector("#js_data_list .list-contents > ul > li");i&&(i.querySelector(".ce-menu")||o(true));}t.addEventListener("click",async o=>{o.preventDefault(),o.stopPropagation();const i=o.target;let s=false;if((i.getAttribute("menu")==="load_all_file"||i.closest('[menu="load_all_file"]'))&&(s=true),!s)return;console.log("[ListItemHoverMenuInjector.handleLoadAll] 点击了「加载全部」按钮"),await Ko(n,500,3e5),document.querySelector("#js_data_list .list-contents > ul")?.removeAttribute("ce-done");const a=document.querySelector("#js_data_list");if(a){const l=".list-contents > ul:not([ce-done]) > li .file-opr";if(!document.querySelector(l)){const u=await ut();await Hg(u);}const c=a.querySelectorAll(l);c.length&&await this.perform(Array.from(c));}});}async perform(t){await super.perform(t),document.querySelector("#js_data_list .list-contents > ul")?.setAttribute("ce-done","");}}var Bu=(e=>(e.background="background",e.active="active",e.undefined="undefined",e))(Bu||{});const Tk={background:"后台打开",active:"激活页面",undefined:"根据菜单定义"};function Lk(e){return {enabled:true,moveToSelfNameDir:true,flattenSubfolders:true,openInNewTab:true,openParent:true,copyNames:true,namePathConfig:or(),play:true,search:false,searchOpenType:"background",...e}}class ll extends bn{menuType=Ie.selection;constructor(t){super(t),this.onMouseOver=Ma,this.onMouseOut=Ba;}}class ao extends bn{menuType=Ie.selectionSub}class Mk extends pb{}class Bk extends nr{menuType=Ie.selection;useObserver=true;observeTarget="#js_top_panel_box #js_operate_box";disposeObserverAfterInjection=false}function Vg(e){return {enabled:false,search:true,copyNames:true,namePathConfig:or({copyWinPath:false,copyUnixPath:false,copyParentUnixPath:false,copyParentWinPath:false,viewInCloudDrive:false}),...e}}class qg extends bn{menuType=Ie.shareListItemHover;constructor(t){super(t),this.onMouseOver=Ma,this.onMouseOut=Ba;}}class cd extends bn{menuType=Ie.shareListItemHoverSub}class Ok extends nr{menuType=Ie.shareListItemHover;useObserver=true;observeTarget="#js-list";disposeObserverAfterInjection=false;async inject(){const t=document.querySelector("#js-list");if(t){const n=t.querySelectorAll("ul#js-list:not([ce-done]) > li .file-opr");n.length&&await this.perform(Array.from(n));}super.inject();}}var Ie=(e=>(e.listItemHover="listItemHover",e.listItemHoverSub="listItemHoverSub",e.listItemContext="listItemContext",e.listItemContextSub="listItemContextSub",e.selection="selection",e.selectionSub="selectionSub",e.dirContext="dirContext",e.dirContextSub="dirContextSub",e.shareListItemHover="shareListItemHover",e.shareListItemHoverSub="shareListItemHoverSub",e))(Ie||{}),yi=(e=>(e.listItemHover="列表项悬浮菜单",e.listItemHoverSub="列表项悬浮子菜单",e.listItemContext="列表项右键菜单",e.listItemContextSub="列表项右键子菜单",e.selection="选中项菜单",e.selectionSub="选中项子菜单",e.dirContext="当前目录右键菜单",e.dirContextSub="当前目录右键子菜单",e.shareListItemHover="分享列表项悬浮菜单",e.shareListItemHoverSub="分享列表项悬浮子菜单",e))(yi||{}),xo=(e=>(e[e.after=0]="after",e[e.before=1]="before",e))(xo||{}),Yn=(e=>(e.none="none",e.alt="alt",e.ctrl="ctrl",e.shift="shift",e.meta="meta",e))(Yn||{});const Wg=wt.menu;function Rk(e){return {enabled:true,hideSelectionMenuLabel:false,enableInSearch:true,manageOfficialMenus:false,keyToTriggerManual:"none",auxClickTriggerManual:false,injectManualFuncPosition:vm.first,m3u8TempDir:".ce-m3u8-temp",defaultPlayer:gx,defaultSearch:dr,cloudDriveFormalization:false,listItemHover:Ik(e?.listItemHover),listItemContext:yb(e?.listItemContext),selection:Lk(e?.selection),dirContext:gb(e?.dirContext),shareListItemHover:Vg(e?.shareListItemHover),...e}}async function ut(){const e=Rk(),t=await Xe.get(Wg,e);return Pc(e,t)}async function ya(e){await Xe.set(Wg,e);}const Fk=["top","right","bottom","left"],Of=["start","end"],Rf=Fk.reduce((e,t)=>e.concat(t,t+"-"+Of[0],t+"-"+Of[1]),[]),Vs=Math.min,ni=Math.max,Nk={left:"right",right:"left",bottom:"top",top:"bottom"},Uk={start:"end",end:"start"};function Ou(e,t,n){return ni(e,Vs(t,n))}function Ai(e,t){return typeof e=="function"?e(t):e}function lo(e){return e.split("-")[0]}function Nn(e){return e.split("-")[1]}function Kg(e){return e==="x"?"y":"x"}function dd(e){return e==="y"?"height":"width"}const jk=new Set(["top","bottom"]);function bo(e){return jk.has(lo(e))?"y":"x"}function fd(e){return Kg(bo(e))}function Gg(e,t,n){n===void 0&&(n=false);const o=Nn(e),i=fd(e),s=dd(i);let r=i==="x"?o===(n?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(r=va(r)),[r,va(r)]}function zk(e){const t=va(e);return [ba(e),t,ba(t)]}function ba(e){return e.replace(/start|end/g,t=>Uk[t])}const Ff=["left","right"],Nf=["right","left"],Hk=["top","bottom"],Vk=["bottom","top"];function qk(e,t,n){switch(e){case "top":case "bottom":return n?t?Nf:Ff:t?Ff:Nf;case "left":case "right":return t?Hk:Vk;default:return []}}function Wk(e,t,n,o){const i=Nn(e);let s=qk(lo(e),n==="start",o);return i&&(s=s.map(r=>r+"-"+i),t&&(s=s.concat(s.map(ba)))),s}function va(e){return e.replace(/left|right|bottom|top/g,t=>Nk[t])}function Kk(e){return {top:0,right:0,bottom:0,left:0,...e}}function Jg(e){return typeof e!="number"?Kk(e):{top:e,right:e,bottom:e,left:e}}function Ds(e){const{x:t,y:n,width:o,height:i}=e;return {width:o,height:i,top:n,left:t,right:t+o,bottom:n+i,x:t,y:n}}function Uf(e,t,n){let{reference:o,floating:i}=e;const s=bo(t),r=fd(t),a=dd(r),l=lo(t),c=s==="y",u=o.x+o.width/2-i.width/2,f=o.y+o.height/2-i.height/2,p=o[a]/2-i[a]/2;let w;switch(l){case "top":w={x:u,y:o.y-i.height};break;case "bottom":w={x:u,y:o.y+o.height};break;case "right":w={x:o.x+o.width,y:f};break;case "left":w={x:o.x-i.width,y:f};break;default:w={x:o.x,y:o.y};}switch(Nn(t)){case "start":w[r]-=p*(n&&c?-1:1);break;case "end":w[r]+=p*(n&&c?-1:1);break}return w}const Gk=async(e,t,n)=>{const{placement:o="bottom",strategy:i="absolute",middleware:s=[],platform:r}=n,a=s.filter(Boolean),l=await(r.isRTL==null?void 0:r.isRTL(t));let c=await r.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:f}=Uf(c,o,l),p=o,w={},g=0;for(let b=0;b<a.length;b++){const{name:v,fn:k}=a[b],{x:P,y:A,data:I,reset:M}=await k({x:u,y:f,initialPlacement:o,placement:p,strategy:i,middlewareData:w,rects:c,platform:r,elements:{reference:e,floating:t}});u=P??u,f=A??f,w={...w,[v]:{...w[v],...I}},M&&g<=50&&(g++,typeof M=="object"&&(M.placement&&(p=M.placement),M.rects&&(c=M.rects===true?await r.getElementRects({reference:e,floating:t,strategy:i}):M.rects),{x:u,y:f}=Uf(c,p,l)),b=-1);}return {x:u,y:f,placement:p,strategy:i,middlewareData:w}};async function ul(e,t){var n;t===void 0&&(t={});const{x:o,y:i,platform:s,rects:r,elements:a,strategy:l}=e,{boundary:c="clippingAncestors",rootBoundary:u="viewport",elementContext:f="floating",altBoundary:p=false,padding:w=0}=Ai(t,e),g=Jg(w),v=a[p?f==="floating"?"reference":"floating":f],k=Ds(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(v)))==null||n?v:v.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(a.floating)),boundary:c,rootBoundary:u,strategy:l})),P=f==="floating"?{x:o,y:i,width:r.floating.width,height:r.floating.height}:r.reference,A=await(s.getOffsetParent==null?void 0:s.getOffsetParent(a.floating)),I=await(s.isElement==null?void 0:s.isElement(A))?await(s.getScale==null?void 0:s.getScale(A))||{x:1,y:1}:{x:1,y:1},M=Ds(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:P,offsetParent:A,strategy:l}):P);return {top:(k.top-M.top+g.top)/I.y,bottom:(M.bottom-k.bottom+g.bottom)/I.y,left:(k.left-M.left+g.left)/I.x,right:(M.right-k.right+g.right)/I.x}}const Jk=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:i,rects:s,platform:r,elements:a,middlewareData:l}=t,{element:c,padding:u=0}=Ai(e,t)||{};if(c==null)return {};const f=Jg(u),p={x:n,y:o},w=fd(i),g=dd(w),b=await r.getDimensions(c),v=w==="y",k=v?"top":"left",P=v?"bottom":"right",A=v?"clientHeight":"clientWidth",I=s.reference[g]+s.reference[w]-p[w]-s.floating[g],M=p[w]-s.reference[w],z=await(r.getOffsetParent==null?void 0:r.getOffsetParent(c));let N=z?z[A]:0;(!N||!await(r.isElement==null?void 0:r.isElement(z)))&&(N=a.floating[A]||s.floating[g]);const se=I/2-M/2,pe=N/2-b[g]/2-1,ne=Vs(f[k],pe),B=Vs(f[P],pe),O=ne,W=N-b[g]-B,le=N/2-b[g]/2+se,ve=Ou(O,le,W),ke=!l.arrow&&Nn(i)!=null&&le!==ve&&s.reference[g]/2-(le<O?ne:B)-b[g]/2<0,_e=ke?le<O?le-O:le-W:0;return {[w]:p[w]+_e,data:{[w]:ve,centerOffset:le-ve-_e,...ke&&{alignmentOffset:_e}},reset:ke}}});function Yk(e,t,n){return (e?[...n.filter(i=>Nn(i)===e),...n.filter(i=>Nn(i)!==e)]:n.filter(i=>lo(i)===i)).filter(i=>e?Nn(i)===e||(t?ba(i)!==i:false):true)}const Qk=function(e){return e===void 0&&(e={}),{name:"autoPlacement",options:e,async fn(t){var n,o,i;const{rects:s,middlewareData:r,placement:a,platform:l,elements:c}=t,{crossAxis:u=false,alignment:f,allowedPlacements:p=Rf,autoAlignment:w=true,...g}=Ai(e,t),b=f!==void 0||p===Rf?Yk(f||null,w,p):p,v=await ul(t,g),k=((n=r.autoPlacement)==null?void 0:n.index)||0,P=b[k];if(P==null)return {};const A=Gg(P,s,await(l.isRTL==null?void 0:l.isRTL(c.floating)));if(a!==P)return {reset:{placement:b[0]}};const I=[v[lo(P)],v[A[0]],v[A[1]]],M=[...((o=r.autoPlacement)==null?void 0:o.overflows)||[],{placement:P,overflows:I}],z=b[k+1];if(z)return {data:{index:k+1,overflows:M},reset:{placement:z}};const N=M.map(ne=>{const B=Nn(ne.placement);return [ne.placement,B&&u?ne.overflows.slice(0,2).reduce((O,W)=>O+W,0):ne.overflows[0],ne.overflows]}).sort((ne,B)=>ne[1]-B[1]),pe=((i=N.filter(ne=>ne[2].slice(0,Nn(ne[0])?2:3).every(B=>B<=0))[0])==null?void 0:i[0])||N[0][0];return pe!==a?{data:{index:k+1,overflows:M},reset:{placement:pe}}:{}}}},Xk=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,o;const{placement:i,middlewareData:s,rects:r,initialPlacement:a,platform:l,elements:c}=t,{mainAxis:u=true,crossAxis:f=true,fallbackPlacements:p,fallbackStrategy:w="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:b=true,...v}=Ai(e,t);if((n=s.arrow)!=null&&n.alignmentOffset)return {};const k=lo(i),P=bo(a),A=lo(a)===a,I=await(l.isRTL==null?void 0:l.isRTL(c.floating)),M=p||(A||!b?[va(a)]:zk(a)),z=g!=="none";!p&&z&&M.push(...Wk(a,b,g,I));const N=[a,...M],se=await ul(t,v),pe=[];let ne=((o=s.flip)==null?void 0:o.overflows)||[];if(u&&pe.push(se[k]),f){const le=Gg(i,r,I);pe.push(se[le[0]],se[le[1]]);}if(ne=[...ne,{placement:i,overflows:pe}],!pe.every(le=>le<=0)){var B,O;const le=(((B=s.flip)==null?void 0:B.index)||0)+1,ve=N[le];if(ve&&(!(f==="alignment"?P!==bo(ve):false)||ne.every(Se=>bo(Se.placement)===P?Se.overflows[0]>0:true)))return {data:{index:le,overflows:ne},reset:{placement:ve}};let ke=(O=ne.filter(_e=>_e.overflows[0]<=0).sort((_e,Se)=>_e.overflows[1]-Se.overflows[1])[0])==null?void 0:O.placement;if(!ke)switch(w){case "bestFit":{var W;const _e=(W=ne.filter(Se=>{if(z){const Ne=bo(Se.placement);return Ne===P||Ne==="y"}return  true}).map(Se=>[Se.placement,Se.overflows.filter(Ne=>Ne>0).reduce((Ne,dt)=>Ne+dt,0)]).sort((Se,Ne)=>Se[1]-Ne[1])[0])==null?void 0:W[0];_e&&(ke=_e);break}case "initialPlacement":ke=a;break}if(i!==ke)return {reset:{placement:ke}}}return {}}}},Zk=new Set(["left","top"]);async function e2(e,t){const{placement:n,platform:o,elements:i}=e,s=await(o.isRTL==null?void 0:o.isRTL(i.floating)),r=lo(n),a=Nn(n),l=bo(n)==="y",c=Zk.has(r)?-1:1,u=s&&l?-1:1,f=Ai(t,e);let{mainAxis:p,crossAxis:w,alignmentAxis:g}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return a&&typeof g=="number"&&(w=a==="end"?g*-1:g),l?{x:w*u,y:p*c}:{x:p*c,y:w*u}}const t2=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,o;const{x:i,y:s,placement:r,middlewareData:a}=t,l=await e2(t,e);return r===((n=a.offset)==null?void 0:n.placement)&&(o=a.arrow)!=null&&o.alignmentOffset?{}:{x:i+l.x,y:s+l.y,data:{...l,placement:r}}}}},n2=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:i}=t,{mainAxis:s=true,crossAxis:r=false,limiter:a={fn:v=>{let{x:k,y:P}=v;return {x:k,y:P}}},...l}=Ai(e,t),c={x:n,y:o},u=await ul(t,l),f=bo(lo(i)),p=Kg(f);let w=c[p],g=c[f];if(s){const v=p==="y"?"top":"left",k=p==="y"?"bottom":"right",P=w+u[v],A=w-u[k];w=Ou(P,w,A);}if(r){const v=f==="y"?"top":"left",k=f==="y"?"bottom":"right",P=g+u[v],A=g-u[k];g=Ou(P,g,A);}const b=a.fn({...t,[p]:w,[f]:g});return {...b,data:{x:b.x-n,y:b.y-o,enabled:{[p]:s,[f]:r}}}}}},o2=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,o;const{placement:i,rects:s,platform:r,elements:a}=t,{apply:l=()=>{},...c}=Ai(e,t),u=await ul(t,c),f=lo(i),p=Nn(i),w=bo(i)==="y",{width:g,height:b}=s.floating;let v,k;f==="top"||f==="bottom"?(v=f,k=p===(await(r.isRTL==null?void 0:r.isRTL(a.floating))?"start":"end")?"left":"right"):(k=f,v=p==="end"?"top":"bottom");const P=b-u.top-u.bottom,A=g-u.left-u.right,I=Vs(b-u[v],P),M=Vs(g-u[k],A),z=!t.middlewareData.shift;let N=I,se=M;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(se=A),(o=t.middlewareData.shift)!=null&&o.enabled.y&&(N=P),z&&!p){const ne=ni(u.left,0),B=ni(u.right,0),O=ni(u.top,0),W=ni(u.bottom,0);w?se=g-2*(ne!==0||B!==0?ne+B:ni(u.left,u.right)):N=b-2*(O!==0||W!==0?O+W:ni(u.top,u.bottom));}await l({...t,availableWidth:se,availableHeight:N});const pe=await r.getDimensions(a.floating);return g!==pe.width||b!==pe.height?{reset:{rects:true}}:{}}}};function $n(e){var t;return ((t=e.ownerDocument)==null?void 0:t.defaultView)||window}function eo(e){return $n(e).getComputedStyle(e)}const jf=Math.min,Ts=Math.max,xa=Math.round;function Yg(e){const t=eo(e);let n=parseFloat(t.width),o=parseFloat(t.height);const i=e.offsetWidth,s=e.offsetHeight,r=xa(n)!==i||xa(o)!==s;return r&&(n=i,o=s),{width:n,height:o,fallback:r}}function Wo(e){return Xg(e)?(e.nodeName||"").toLowerCase():""}let Mr;function Qg(){if(Mr)return Mr;const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?(Mr=e.brands.map((t=>t.brand+"/"+t.version)).join(" "),Mr):navigator.userAgent}function to(e){return e instanceof $n(e).HTMLElement}function Uo(e){return e instanceof $n(e).Element}function Xg(e){return e instanceof $n(e).Node}function zf(e){return typeof ShadowRoot>"u"?false:e instanceof $n(e).ShadowRoot||e instanceof ShadowRoot}function cl(e){const{overflow:t,overflowX:n,overflowY:o,display:i}=eo(e);return /auto|scroll|overlay|hidden|clip/.test(t+o+n)&&!["inline","contents"].includes(i)}function i2(e){return ["table","td","th"].includes(Wo(e))}function Ru(e){const t=/firefox/i.test(Qg()),n=eo(e),o=n.backdropFilter||n.WebkitBackdropFilter;return n.transform!=="none"||n.perspective!=="none"||!!o&&o!=="none"||t&&n.willChange==="filter"||t&&!!n.filter&&n.filter!=="none"||["transform","perspective"].some((i=>n.willChange.includes(i)))||["paint","layout","strict","content"].some((i=>{const s=n.contain;return s!=null&&s.includes(i)}))}function Zg(){return !/^((?!chrome|android).)*safari/i.test(Qg())}function pd(e){return ["html","body","#document"].includes(Wo(e))}function ew(e){return Uo(e)?e:e.contextElement}const tw={x:1,y:1};function Wi(e){const t=ew(e);if(!to(t))return tw;const n=t.getBoundingClientRect(),{width:o,height:i,fallback:s}=Yg(t);let r=(s?xa(n.width):n.width)/o,a=(s?xa(n.height):n.height)/i;return r&&Number.isFinite(r)||(r=1),a&&Number.isFinite(a)||(a=1),{x:r,y:a}}function qs(e,t,n,o){var i,s;t===void 0&&(t=false),n===void 0&&(n=false);const r=e.getBoundingClientRect(),a=ew(e);let l=tw;t&&(o?Uo(o)&&(l=Wi(o)):l=Wi(e));const c=a?$n(a):window,u=!Zg()&&n;let f=(r.left+(u&&((i=c.visualViewport)==null?void 0:i.offsetLeft)||0))/l.x,p=(r.top+(u&&((s=c.visualViewport)==null?void 0:s.offsetTop)||0))/l.y,w=r.width/l.x,g=r.height/l.y;if(a){const b=$n(a),v=o&&Uo(o)?$n(o):o;let k=b.frameElement;for(;k&&o&&v!==b;){const P=Wi(k),A=k.getBoundingClientRect(),I=getComputedStyle(k);A.x+=(k.clientLeft+parseFloat(I.paddingLeft))*P.x,A.y+=(k.clientTop+parseFloat(I.paddingTop))*P.y,f*=P.x,p*=P.y,w*=P.x,g*=P.y,f+=A.x,p+=A.y,k=$n(k).frameElement;}}return {width:w,height:g,top:p,right:f+w,bottom:p+g,left:f,x:f,y:p}}function jo(e){return ((Xg(e)?e.ownerDocument:e.document)||window.document).documentElement}function dl(e){return Uo(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function nw(e){return qs(jo(e)).left+dl(e).scrollLeft}function Ws(e){if(Wo(e)==="html")return e;const t=e.assignedSlot||e.parentNode||zf(e)&&e.host||jo(e);return zf(t)?t.host:t}function ow(e){const t=Ws(e);return pd(t)?t.ownerDocument.body:to(t)&&cl(t)?t:ow(t)}function _a(e,t){var n;t===void 0&&(t=[]);const o=ow(e),i=o===((n=e.ownerDocument)==null?void 0:n.body),s=$n(o);return i?t.concat(s,s.visualViewport||[],cl(o)?o:[]):t.concat(o,_a(o))}function Hf(e,t,n){return t==="viewport"?Ds((function(o,i){const s=$n(o),r=jo(o),a=s.visualViewport;let l=r.clientWidth,c=r.clientHeight,u=0,f=0;if(a){l=a.width,c=a.height;const p=Zg();(p||!p&&i==="fixed")&&(u=a.offsetLeft,f=a.offsetTop);}return {width:l,height:c,x:u,y:f}})(e,n)):Uo(t)?Ds((function(o,i){const s=qs(o,true,i==="fixed"),r=s.top+o.clientTop,a=s.left+o.clientLeft,l=to(o)?Wi(o):{x:1,y:1};return {width:o.clientWidth*l.x,height:o.clientHeight*l.y,x:a*l.x,y:r*l.y}})(t,n)):Ds((function(o){const i=jo(o),s=dl(o),r=o.ownerDocument.body,a=Ts(i.scrollWidth,i.clientWidth,r.scrollWidth,r.clientWidth),l=Ts(i.scrollHeight,i.clientHeight,r.scrollHeight,r.clientHeight);let c=-s.scrollLeft+nw(o);const u=-s.scrollTop;return eo(r).direction==="rtl"&&(c+=Ts(i.clientWidth,r.clientWidth)-a),{width:a,height:l,x:c,y:u}})(jo(e)))}function Vf(e){return to(e)&&eo(e).position!=="fixed"?e.offsetParent:null}function qf(e){const t=$n(e);let n=Vf(e);for(;n&&i2(n)&&eo(n).position==="static";)n=Vf(n);return n&&(Wo(n)==="html"||Wo(n)==="body"&&eo(n).position==="static"&&!Ru(n))?t:n||(function(o){let i=Ws(o);for(;to(i)&&!pd(i);){if(Ru(i))return i;i=Ws(i);}return null})(e)||t}function s2(e,t,n){const o=to(t),i=jo(t),s=qs(e,true,n==="fixed",t);let r={scrollLeft:0,scrollTop:0};const a={x:0,y:0};if(o||!o&&n!=="fixed")if((Wo(t)!=="body"||cl(i))&&(r=dl(t)),to(t)){const l=qs(t,true);a.x=l.x+t.clientLeft,a.y=l.y+t.clientTop;}else i&&(a.x=nw(i));return {x:s.left+r.scrollLeft-a.x,y:s.top+r.scrollTop-a.y,width:s.width,height:s.height}}const r2={getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:o,strategy:i}=e;const s=n==="clippingAncestors"?(function(c,u){const f=u.get(c);if(f)return f;let p=_a(c).filter((v=>Uo(v)&&Wo(v)!=="body")),w=null;const g=eo(c).position==="fixed";let b=g?Ws(c):c;for(;Uo(b)&&!pd(b);){const v=eo(b),k=Ru(b);(g?k||w:k||v.position!=="static"||!w||!["absolute","fixed"].includes(w.position))?w=v:p=p.filter((P=>P!==b)),b=Ws(b);}return u.set(c,p),p})(t,this._c):[].concat(n),r=[...s,o],a=r[0],l=r.reduce(((c,u)=>{const f=Hf(t,u,i);return c.top=Ts(f.top,c.top),c.right=jf(f.right,c.right),c.bottom=jf(f.bottom,c.bottom),c.left=Ts(f.left,c.left),c}),Hf(t,a,i));return {width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:o}=e;const i=to(n),s=jo(n);if(n===s)return t;let r={scrollLeft:0,scrollTop:0},a={x:1,y:1};const l={x:0,y:0};if((i||!i&&o!=="fixed")&&((Wo(n)!=="body"||cl(s))&&(r=dl(n)),to(n))){const c=qs(n);a=Wi(n),l.x=c.x+n.clientLeft,l.y=c.y+n.clientTop;}return {width:t.width*a.x,height:t.height*a.y,x:t.x*a.x-r.scrollLeft*a.x+l.x,y:t.y*a.y-r.scrollTop*a.y+l.y}},isElement:Uo,getDimensions:function(e){return to(e)?Yg(e):e.getBoundingClientRect()},getOffsetParent:qf,getDocumentElement:jo,getScale:Wi,async getElementRects(e){let{reference:t,floating:n,strategy:o}=e;const i=this.getOffsetParent||qf,s=this.getDimensions;return {reference:s2(t,await i(n),o),floating:{x:0,y:0,...await s(n)}}},getClientRects:e=>Array.from(e.getClientRects()),isRTL:e=>eo(e).direction==="rtl"},a2=(e,t,n)=>{const o=new Map,i={platform:r2,...n},s={...i.platform,_c:o};return Gk(e,t,{...i,platform:s})},ui={disabled:false,distance:5,skidding:0,container:"body",boundary:void 0,instantMove:false,disposeTimeout:150,popperTriggers:[],strategy:"absolute",preventOverflow:true,flip:true,shift:true,overflowPadding:0,arrowPadding:0,arrowOverflow:true,autoHideOnMousedown:false,themes:{tooltip:{placement:"top",triggers:["hover","focus","touch"],hideTriggers:e=>[...e,"click"],delay:{show:200,hide:0},handleResize:false,html:false,loadingContent:"..."},dropdown:{placement:"bottom",triggers:["click"],delay:0,handleResize:true,autoHide:true},menu:{$extend:"dropdown",triggers:["hover","focus"],popperTriggers:["hover"],delay:{show:0,hide:400}}}};function Ks(e,t){let n=ui.themes[e]||{},o;do o=n[t],typeof o>"u"?n.$extend?n=ui.themes[n.$extend]||{}:(n=null,o=ui[t]):n=null;while(n);return o}function l2(e){const t=[e];let n=ui.themes[e]||{};do n.$extend&&!n.$resetCss?(t.push(n.$extend),n=ui.themes[n.$extend]||{}):n=null;while(n);return t.map(o=>`v-popper--theme-${o}`)}function Wf(e){const t=[e];let n=ui.themes[e]||{};do n.$extend?(t.push(n.$extend),n=ui.themes[n.$extend]||{}):n=null;while(n);return t}let Gs=false;if(typeof window<"u"){Gs=false;try{const e=Object.defineProperty({},"passive",{get(){Gs=!0;}});window.addEventListener("test",null,e);}catch{}}let iw=false;typeof window<"u"&&typeof navigator<"u"&&(iw=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);const sw=["auto","top","bottom","left","right"].reduce((e,t)=>e.concat([t,`${t}-start`,`${t}-end`]),[]),Kf={hover:"mouseenter",focus:"focus",click:"click",touch:"touchstart",pointer:"pointerdown"},Gf={hover:"mouseleave",focus:"blur",click:"click",touch:"touchend",pointer:"pointerup"};function Jf(e,t){const n=e.indexOf(t);n!==-1&&e.splice(n,1);}function Jl(){return new Promise(e=>requestAnimationFrame(()=>{requestAnimationFrame(e);}))}const Ln=[];let ei=null;const Yf={};function Qf(e){let t=Yf[e];return t||(t=Yf[e]=[]),t}let Fu=function(){};typeof window<"u"&&(Fu=window.Element);function qe(e){return function(t){return Ks(t.theme,e)}}const Yl="__floating-vue__popper",rw=()=>xe({name:"VPopper",provide(){return {[Yl]:{parentPopper:this}}},inject:{[Yl]:{default:null}},props:{theme:{type:String,required:true},targetNodes:{type:Function,required:true},referenceNode:{type:Function,default:null},popperNode:{type:Function,required:true},shown:{type:Boolean,default:false},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:qe("disabled")},positioningDisabled:{type:Boolean,default:qe("positioningDisabled")},placement:{type:String,default:qe("placement"),validator:e=>sw.includes(e)},delay:{type:[String,Number,Object],default:qe("delay")},distance:{type:[Number,String],default:qe("distance")},skidding:{type:[Number,String],default:qe("skidding")},triggers:{type:Array,default:qe("triggers")},showTriggers:{type:[Array,Function],default:qe("showTriggers")},hideTriggers:{type:[Array,Function],default:qe("hideTriggers")},popperTriggers:{type:Array,default:qe("popperTriggers")},popperShowTriggers:{type:[Array,Function],default:qe("popperShowTriggers")},popperHideTriggers:{type:[Array,Function],default:qe("popperHideTriggers")},container:{type:[String,Object,Fu,Boolean],default:qe("container")},boundary:{type:[String,Fu],default:qe("boundary")},strategy:{type:String,validator:e=>["absolute","fixed"].includes(e),default:qe("strategy")},autoHide:{type:[Boolean,Function],default:qe("autoHide")},handleResize:{type:Boolean,default:qe("handleResize")},instantMove:{type:Boolean,default:qe("instantMove")},eagerMount:{type:Boolean,default:qe("eagerMount")},popperClass:{type:[String,Array,Object],default:qe("popperClass")},computeTransformOrigin:{type:Boolean,default:qe("computeTransformOrigin")},autoMinSize:{type:Boolean,default:qe("autoMinSize")},autoSize:{type:[Boolean,String],default:qe("autoSize")},autoMaxSize:{type:Boolean,default:qe("autoMaxSize")},autoBoundaryMaxSize:{type:Boolean,default:qe("autoBoundaryMaxSize")},preventOverflow:{type:Boolean,default:qe("preventOverflow")},overflowPadding:{type:[Number,String],default:qe("overflowPadding")},arrowPadding:{type:[Number,String],default:qe("arrowPadding")},arrowOverflow:{type:Boolean,default:qe("arrowOverflow")},flip:{type:Boolean,default:qe("flip")},shift:{type:Boolean,default:qe("shift")},shiftCrossAxis:{type:Boolean,default:qe("shiftCrossAxis")},noAutoFocus:{type:Boolean,default:qe("noAutoFocus")},disposeTimeout:{type:Number,default:qe("disposeTimeout")}},emits:{show:()=>true,hide:()=>true,"update:shown":e=>true,"apply-show":()=>true,"apply-hide":()=>true,"close-group":()=>true,"close-directive":()=>true,"auto-hide":()=>true,resize:()=>true},data(){return {isShown:false,isMounted:false,skipTransition:false,classes:{showFrom:false,showTo:false,hideFrom:false,hideTo:true},result:{x:0,y:0,placement:"",strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null},randomId:`popper_${[Math.random(),Date.now()].map(e=>e.toString(36).substring(2,10)).join("_")}`,shownChildren:new Set,lastAutoHide:true,pendingHide:false,containsGlobalTarget:false,isDisposed:true,mouseDownContains:false}},computed:{popperId(){return this.ariaId!=null?this.ariaId:this.randomId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return {popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:typeof this.autoHide=="function"?this.lastAutoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:{...this.classes,popperClass:this.popperClass},result:this.positioningDisabled?null:this.result,attrs:this.$attrs}},parentPopper(){var e;return (e=this[Yl])==null?void 0:e.parentPopper},hasPopperShowTriggerHover(){var e,t;return ((e=this.popperTriggers)==null?void 0:e.includes("hover"))||((t=this.popperShowTriggers)==null?void 0:t.includes("hover"))}},watch:{shown:"$_autoShowHide",disabled(e){e?this.dispose():this.init();},async container(){this.isShown&&(this.$_ensureTeleport(),await this.$_computePosition());},triggers:{handler:"$_refreshListeners",deep:true},positioningDisabled:"$_refreshListeners",...["placement","distance","skidding","boundary","strategy","overflowPadding","arrowPadding","preventOverflow","shift","shiftCrossAxis","flip"].reduce((e,t)=>(e[t]="$_computePosition",e),{})},created(){this.autoMinSize&&console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize="min"` instead.'),this.autoMaxSize&&console.warn("[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.");},mounted(){this.init(),this.$_detachPopperNode();},activated(){this.$_autoShowHide();},deactivated(){this.hide();},beforeUnmount(){this.dispose();},methods:{show({event:e=null,skipDelay:t=false,force:n=false}={}){var o,i;(o=this.parentPopper)!=null&&o.lockedChild&&this.parentPopper.lockedChild!==this||(this.pendingHide=false,(n||!this.disabled)&&(((i=this.parentPopper)==null?void 0:i.lockedChild)===this&&(this.parentPopper.lockedChild=null),this.$_scheduleShow(e,t),this.$emit("show"),this.$_showFrameLocked=true,requestAnimationFrame(()=>{this.$_showFrameLocked=false;})),this.$emit("update:shown",true));},hide({event:e=null,skipDelay:t=false}={}){var n;if(!this.$_hideInProgress){if(this.shownChildren.size>0){this.pendingHide=true;return}if(this.hasPopperShowTriggerHover&&this.$_isAimingPopper()){this.parentPopper&&(this.parentPopper.lockedChild=this,clearTimeout(this.parentPopper.lockedChildTimer),this.parentPopper.lockedChildTimer=setTimeout(()=>{this.parentPopper.lockedChild===this&&(this.parentPopper.lockedChild.hide({skipDelay:t}),this.parentPopper.lockedChild=null);},1e3));return}((n=this.parentPopper)==null?void 0:n.lockedChild)===this&&(this.parentPopper.lockedChild=null),this.pendingHide=false,this.$_scheduleHide(e,t),this.$emit("hide"),this.$emit("update:shown",false);}},init(){var e;this.isDisposed&&(this.isDisposed=false,this.isMounted=false,this.$_events=[],this.$_preventShow=false,this.$_referenceNode=((e=this.referenceNode)==null?void 0:e.call(this))??this.$el,this.$_targetNodes=this.targetNodes().filter(t=>t.nodeType===t.ELEMENT_NODE),this.$_popperNode=this.popperNode(),this.$_innerNode=this.$_popperNode.querySelector(".v-popper__inner"),this.$_arrowNode=this.$_popperNode.querySelector(".v-popper__arrow-container"),this.$_swapTargetAttrs("title","data-original-title"),this.$_detachPopperNode(),this.triggers.length&&this.$_addEventListeners(),this.shown&&this.show());},dispose(){this.isDisposed||(this.isDisposed=true,this.$_removeEventListeners(),this.hide({skipDelay:true}),this.$_detachPopperNode(),this.isMounted=false,this.isShown=false,this.$_updateParentShownChildren(false),this.$_swapTargetAttrs("data-original-title","title"));},async onResize(){this.isShown&&(await this.$_computePosition(),this.$emit("resize"));},async $_computePosition(){if(this.isDisposed||this.positioningDisabled)return;const e={strategy:this.strategy,middleware:[]};(this.distance||this.skidding)&&e.middleware.push(t2({mainAxis:this.distance,crossAxis:this.skidding}));const t=this.placement.startsWith("auto");if(t?e.middleware.push(Qk({alignment:this.placement.split("-")[1]??""})):e.placement=this.placement,this.preventOverflow&&(this.shift&&e.middleware.push(n2({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!t&&this.flip&&e.middleware.push(Xk({padding:this.overflowPadding,boundary:this.boundary}))),e.middleware.push(Jk({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow&&e.middleware.push({name:"arrowOverflow",fn:({placement:o,rects:i,middlewareData:s})=>{let r;const{centerOffset:a}=s.arrow;return o.startsWith("top")||o.startsWith("bottom")?r=Math.abs(a)>i.reference.width/2:r=Math.abs(a)>i.reference.height/2,{data:{overflow:r}}}}),this.autoMinSize||this.autoSize){const o=this.autoSize?this.autoSize:this.autoMinSize?"min":null;e.middleware.push({name:"autoSize",fn:({rects:i,placement:s,middlewareData:r})=>{var a;if((a=r.autoSize)!=null&&a.skip)return {};let l,c;return s.startsWith("top")||s.startsWith("bottom")?l=i.reference.width:c=i.reference.height,this.$_innerNode.style[o==="min"?"minWidth":o==="max"?"maxWidth":"width"]=l!=null?`${l}px`:null,this.$_innerNode.style[o==="min"?"minHeight":o==="max"?"maxHeight":"height"]=c!=null?`${c}px`:null,{data:{skip:true},reset:{rects:true}}}});}(this.autoMaxSize||this.autoBoundaryMaxSize)&&(this.$_innerNode.style.maxWidth=null,this.$_innerNode.style.maxHeight=null,e.middleware.push(o2({boundary:this.boundary,padding:this.overflowPadding,apply:({availableWidth:o,availableHeight:i})=>{this.$_innerNode.style.maxWidth=o!=null?`${o}px`:null,this.$_innerNode.style.maxHeight=i!=null?`${i}px`:null;}})));const n=await a2(this.$_referenceNode,this.$_popperNode,e);Object.assign(this.result,{x:n.x,y:n.y,placement:n.placement,strategy:n.strategy,arrow:{...n.middlewareData.arrow,...n.middlewareData.arrowOverflow}});},$_scheduleShow(e,t=false){if(this.$_updateParentShownChildren(true),this.$_hideInProgress=false,clearTimeout(this.$_scheduleTimer),ei&&this.instantMove&&ei.instantMove&&ei!==this.parentPopper){ei.$_applyHide(true),this.$_applyShow(true);return}t?this.$_applyShow():this.$_scheduleTimer=setTimeout(this.$_applyShow.bind(this),this.$_computeDelay("show"));},$_scheduleHide(e,t=false){if(this.shownChildren.size>0){this.pendingHide=true;return}this.$_updateParentShownChildren(false),this.$_hideInProgress=true,clearTimeout(this.$_scheduleTimer),this.isShown&&(ei=this),t?this.$_applyHide():this.$_scheduleTimer=setTimeout(this.$_applyHide.bind(this),this.$_computeDelay("hide"));},$_computeDelay(e){const t=this.delay;return parseInt(t&&t[e]||t||0)},async $_applyShow(e=false){clearTimeout(this.$_disposeTimer),clearTimeout(this.$_scheduleTimer),this.skipTransition=e,!this.isShown&&(this.$_ensureTeleport(),await Jl(),await this.$_computePosition(),await this.$_applyShowEffect(),this.positioningDisabled||this.$_registerEventListeners([..._a(this.$_referenceNode),..._a(this.$_popperNode)],"scroll",()=>{this.$_computePosition();}));},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){const t=this.$_referenceNode.getBoundingClientRect(),n=this.$_popperNode.querySelector(".v-popper__wrapper"),o=n.parentNode.getBoundingClientRect(),i=t.x+t.width/2-(o.left+n.offsetLeft),s=t.y+t.height/2-(o.top+n.offsetTop);this.result.transformOrigin=`${i}px ${s}px`;}this.isShown=true,this.$_applyAttrsToTarget({"aria-describedby":this.popperId,"data-popper-shown":""});const e=this.showGroup;if(e){let t;for(let n=0;n<Ln.length;n++)t=Ln[n],t.showGroup!==e&&(t.hide(),t.$emit("close-group"));}Ln.push(this),document.body.classList.add("v-popper--some-open");for(const t of Wf(this.theme))Qf(t).push(this),document.body.classList.add(`v-popper--some-open--${t}`);this.$emit("apply-show"),this.classes.showFrom=true,this.classes.showTo=false,this.classes.hideFrom=false,this.classes.hideTo=false,await Jl(),this.classes.showFrom=false,this.classes.showTo=true,this.noAutoFocus||this.$_popperNode.focus();},async $_applyHide(e=false){if(this.shownChildren.size>0){this.pendingHide=true,this.$_hideInProgress=false;return}if(clearTimeout(this.$_scheduleTimer),!this.isShown)return;this.skipTransition=e,Jf(Ln,this),Ln.length===0&&document.body.classList.remove("v-popper--some-open");for(const n of Wf(this.theme)){const o=Qf(n);Jf(o,this),o.length===0&&document.body.classList.remove(`v-popper--some-open--${n}`);}ei===this&&(ei=null),this.isShown=false,this.$_applyAttrsToTarget({"aria-describedby":void 0,"data-popper-shown":void 0}),clearTimeout(this.$_disposeTimer);const t=this.disposeTimeout;t!==null&&(this.$_disposeTimer=setTimeout(()=>{this.$_popperNode&&(this.$_detachPopperNode(),this.isMounted=false);},t)),this.$_removeEventListeners("scroll"),this.$emit("apply-hide"),this.classes.showFrom=false,this.classes.showTo=false,this.classes.hideFrom=true,this.classes.hideTo=false,await Jl(),this.classes.hideFrom=false,this.classes.hideTo=true;},$_autoShowHide(){this.shown?this.show():this.hide();},$_ensureTeleport(){if(this.isDisposed)return;let e=this.container;if(typeof e=="string"?e=window.document.querySelector(e):e===false&&(e=this.$_targetNodes[0].parentNode),!e)throw new Error("No container for popover: "+this.container);e.appendChild(this.$_popperNode),this.isMounted=true;},$_addEventListeners(){const e=n=>{this.isShown&&!this.$_hideInProgress||(n.usedByTooltip=true,!this.$_preventShow&&this.show({event:n}));};this.$_registerTriggerListeners(this.$_targetNodes,Kf,this.triggers,this.showTriggers,e),this.$_registerTriggerListeners([this.$_popperNode],Kf,this.popperTriggers,this.popperShowTriggers,e);const t=n=>{n.usedByTooltip||this.hide({event:n});};this.$_registerTriggerListeners(this.$_targetNodes,Gf,this.triggers,this.hideTriggers,t),this.$_registerTriggerListeners([this.$_popperNode],Gf,this.popperTriggers,this.popperHideTriggers,t);},$_registerEventListeners(e,t,n){this.$_events.push({targetNodes:e,eventType:t,handler:n}),e.forEach(o=>o.addEventListener(t,n,Gs?{passive:true}:void 0));},$_registerTriggerListeners(e,t,n,o,i){let s=n;o!=null&&(s=typeof o=="function"?o(s):o),s.forEach(r=>{const a=t[r];a&&this.$_registerEventListeners(e,a,i);});},$_removeEventListeners(e){const t=[];this.$_events.forEach(n=>{const{targetNodes:o,eventType:i,handler:s}=n;!e||e===i?o.forEach(r=>r.removeEventListener(i,s)):t.push(n);}),this.$_events=t;},$_refreshListeners(){this.isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners());},$_handleGlobalClose(e,t=false){this.$_showFrameLocked||(this.hide({event:e}),e.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),t&&(this.$_preventShow=true,setTimeout(()=>{this.$_preventShow=false;},300)));},$_detachPopperNode(){this.$_popperNode.parentNode&&this.$_popperNode.parentNode.removeChild(this.$_popperNode);},$_swapTargetAttrs(e,t){for(const n of this.$_targetNodes){const o=n.getAttribute(e);o&&(n.removeAttribute(e),n.setAttribute(t,o));}},$_applyAttrsToTarget(e){for(const t of this.$_targetNodes)for(const n in e){const o=e[n];o==null?t.removeAttribute(n):t.setAttribute(n,o);}},$_updateParentShownChildren(e){let t=this.parentPopper;for(;t;)e?t.shownChildren.add(this.randomId):(t.shownChildren.delete(this.randomId),t.pendingHide&&t.hide()),t=t.parentPopper;},$_isAimingPopper(){const e=this.$_referenceNode.getBoundingClientRect();if(Ls>=e.left&&Ls<=e.right&&Ms>=e.top&&Ms<=e.bottom){const t=this.$_popperNode.getBoundingClientRect(),n=Ls-Ao,o=Ms-Po,i=t.left+t.width/2-Ao+(t.top+t.height/2)-Po+t.width+t.height,s=Ao+n*i,r=Po+o*i;return Br(Ao,Po,s,r,t.left,t.top,t.left,t.bottom)||Br(Ao,Po,s,r,t.left,t.top,t.right,t.top)||Br(Ao,Po,s,r,t.right,t.top,t.right,t.bottom)||Br(Ao,Po,s,r,t.left,t.bottom,t.right,t.bottom)}return  false}},render(){return this.$slots.default(this.slotData)}});if(typeof document<"u"&&typeof window<"u"){if(iw){const e=Gs?{passive:true,capture:true}:true;document.addEventListener("touchstart",t=>Xf(t),e),document.addEventListener("touchend",t=>Zf(t,true),e);}else window.addEventListener("mousedown",e=>Xf(e),true),window.addEventListener("click",e=>Zf(e,false),true);window.addEventListener("resize",d2);}function Xf(e,t){for(let n=0;n<Ln.length;n++){const o=Ln[n];try{o.mouseDownContains=o.popperNode().contains(e.target);}catch{}}}function Zf(e,t){u2(e,t);}function u2(e,t){const n={};for(let o=Ln.length-1;o>=0;o--){const i=Ln[o];try{const s=i.containsGlobalTarget=i.mouseDownContains||i.popperNode().contains(e.target);i.pendingHide=!1,requestAnimationFrame(()=>{if(i.pendingHide=!1,!n[i.randomId]&&ep(i,s,e)){if(i.$_handleGlobalClose(e,t),!e.closeAllPopover&&e.closePopover&&s){let a=i.parentPopper;for(;a;)n[a.randomId]=!0,a=a.parentPopper;return}let r=i.parentPopper;for(;r&&ep(r,r.containsGlobalTarget,e);)r.$_handleGlobalClose(e,t),r=r.parentPopper;}});}catch{}}}function ep(e,t,n){return n.closeAllPopover||n.closePopover&&t||c2(e,n)&&!t}function c2(e,t){if(typeof e.autoHide=="function"){const n=e.autoHide(t);return e.lastAutoHide=n,n}return e.autoHide}function d2(){for(let e=0;e<Ln.length;e++)Ln[e].$_computePosition();}let Ao=0,Po=0,Ls=0,Ms=0;typeof window<"u"&&window.addEventListener("mousemove",e=>{Ao=Ls,Po=Ms,Ls=e.clientX,Ms=e.clientY;},Gs?{passive:true}:void 0);function Br(e,t,n,o,i,s,r,a){const l=((r-i)*(t-s)-(a-s)*(e-i))/((a-s)*(n-e)-(r-i)*(o-t)),c=((n-e)*(t-s)-(o-t)*(e-i))/((a-s)*(n-e)-(r-i)*(o-t));return l>=0&&l<=1&&c>=0&&c<=1}const f2={extends:rw()},fl=(e,t)=>{const n=e.__vccOpts||e;for(const[o,i]of t)n[o]=i;return n};function p2(e,t,n,o,i,s){return _(),E("div",{ref:"reference",class:Te(["v-popper",{"v-popper--shown":e.slotData.isShown}])},[Ge(e.$slots,"default",Tx(Eg(e.slotData)))],2)}const h2=fl(f2,[["render",p2]]);function m2(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);var n=e.indexOf("Trident/");if(n>0){var o=e.indexOf("rv:");return parseInt(e.substring(o+3,e.indexOf(".",o)),10)}var i=e.indexOf("Edge/");return i>0?parseInt(e.substring(i+5,e.indexOf(".",i)),10):-1}let Vr;function Nu(){Nu.init||(Nu.init=true,Vr=m2()!==-1);}var pl={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:false},ignoreWidth:{type:Boolean,default:false},ignoreHeight:{type:Boolean,default:false}},emits:["notify"],mounted(){Nu(),gi(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize();});const e=document.createElement("object");this._resizeObject=e,e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",Vr&&this.$el.appendChild(e),e.data="about:blank",Vr||this.$el.appendChild(e);},beforeUnmount(){this.removeResizeHandlers();},methods:{compareAndNotify(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize());},emitSize(){this.$emit("notify",{width:this._w,height:this._h});},addResizeHandlers(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify();},removeResizeHandlers(){this._resizeObject&&this._resizeObject.onload&&(!Vr&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null);}}};const g2=v_();y_("data-v-b329ee4c");const w2={class:"resize-observer",tabindex:"-1"};b_();const y2=g2((e,t,n,o,i,s)=>(_(),nt("div",w2)));pl.render=y2;pl.__scopeId="data-v-b329ee4c";pl.__file="src/components/ResizeObserver.vue";const aw=(e="theme")=>({computed:{themeClass(){return l2(this[e])}}}),b2=xe({name:"VPopperContent",components:{ResizeObserver:pl},mixins:[aw()],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},emits:["hide","resize"],methods:{toPx(e){return e!=null&&!isNaN(e)?`${e}px`:null}}}),v2=["id","aria-hidden","tabindex","data-popper-placement"],x2={ref:"inner",class:"v-popper__inner"},_2=d("div",{class:"v-popper__arrow-outer"},null,-1),C2=d("div",{class:"v-popper__arrow-inner"},null,-1),k2=[_2,C2];function S2(e,t,n,o,i,s){const r=ko("ResizeObserver");return _(),E("div",{id:e.popperId,ref:"popover",class:Te(["v-popper__popper",[e.themeClass,e.classes.popperClass,{"v-popper__popper--shown":e.shown,"v-popper__popper--hidden":!e.shown,"v-popper__popper--show-from":e.classes.showFrom,"v-popper__popper--show-to":e.classes.showTo,"v-popper__popper--hide-from":e.classes.hideFrom,"v-popper__popper--hide-to":e.classes.hideTo,"v-popper__popper--skip-transition":e.skipTransition,"v-popper__popper--arrow-overflow":e.result&&e.result.arrow.overflow,"v-popper__popper--no-positioning":!e.result}]]),style:Zn(e.result?{position:e.result.strategy,transform:`translate3d(${Math.round(e.result.x)}px,${Math.round(e.result.y)}px,0)`}:void 0),"aria-hidden":e.shown?"false":"true",tabindex:e.autoHide?0:void 0,"data-popper-placement":e.result?e.result.placement:void 0,onKeyup:t[2]||(t[2]=Og(a=>e.autoHide&&e.$emit("hide"),["esc"]))},[d("div",{class:"v-popper__backdrop",onClick:t[0]||(t[0]=a=>e.autoHide&&e.$emit("hide"))}),d("div",{class:"v-popper__wrapper",style:Zn(e.result?{transformOrigin:e.result.transformOrigin}:void 0)},[d("div",x2,[e.mounted?(_(),E($e,{key:0},[d("div",null,[Ge(e.$slots,"default")]),e.handleResize?(_(),nt(r,{key:0,onNotify:t[1]||(t[1]=a=>e.$emit("resize",a))})):fe("",true)],64)):fe("",true)],512),d("div",{ref:"arrow",class:"v-popper__arrow-container",style:Zn(e.result?{left:e.toPx(e.result.arrow.x),top:e.toPx(e.result.arrow.y)}:void 0)},k2,4)],4)],46,v2)}const lw=fl(b2,[["render",S2]]),uw={methods:{show(...e){return this.$refs.popper.show(...e)},hide(...e){return this.$refs.popper.hide(...e)},dispose(...e){return this.$refs.popper.dispose(...e)},onResize(...e){return this.$refs.popper.onResize(...e)}}};let Uu=function(){};typeof window<"u"&&(Uu=window.Element);const $2=xe({name:"VPopperWrapper",components:{Popper:h2,PopperContent:lw},mixins:[uw,aw("finalTheme")],props:{theme:{type:String,default:null},referenceNode:{type:Function,default:null},shown:{type:Boolean,default:false},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:void 0},positioningDisabled:{type:Boolean,default:void 0},placement:{type:String,default:void 0},delay:{type:[String,Number,Object],default:void 0},distance:{type:[Number,String],default:void 0},skidding:{type:[Number,String],default:void 0},triggers:{type:Array,default:void 0},showTriggers:{type:[Array,Function],default:void 0},hideTriggers:{type:[Array,Function],default:void 0},popperTriggers:{type:Array,default:void 0},popperShowTriggers:{type:[Array,Function],default:void 0},popperHideTriggers:{type:[Array,Function],default:void 0},container:{type:[String,Object,Uu,Boolean],default:void 0},boundary:{type:[String,Uu],default:void 0},strategy:{type:String,default:void 0},autoHide:{type:[Boolean,Function],default:void 0},handleResize:{type:Boolean,default:void 0},instantMove:{type:Boolean,default:void 0},eagerMount:{type:Boolean,default:void 0},popperClass:{type:[String,Array,Object],default:void 0},computeTransformOrigin:{type:Boolean,default:void 0},autoMinSize:{type:Boolean,default:void 0},autoSize:{type:[Boolean,String],default:void 0},autoMaxSize:{type:Boolean,default:void 0},autoBoundaryMaxSize:{type:Boolean,default:void 0},preventOverflow:{type:Boolean,default:void 0},overflowPadding:{type:[Number,String],default:void 0},arrowPadding:{type:[Number,String],default:void 0},arrowOverflow:{type:Boolean,default:void 0},flip:{type:Boolean,default:void 0},shift:{type:Boolean,default:void 0},shiftCrossAxis:{type:Boolean,default:void 0},noAutoFocus:{type:Boolean,default:void 0},disposeTimeout:{type:Number,default:void 0}},emits:{show:()=>true,hide:()=>true,"update:shown":e=>true,"apply-show":()=>true,"apply-hide":()=>true,"close-group":()=>true,"close-directive":()=>true,"auto-hide":()=>true,resize:()=>true},computed:{finalTheme(){return this.theme??this.$options.vPopperTheme}},methods:{getTargetNodes(){return Array.from(this.$el.children).filter(e=>e!==this.$refs.popperContent.$el)}}});function E2(e,t,n,o,i,s){const r=ko("PopperContent"),a=ko("Popper");return _(),nt(a,rd({ref:"popper"},e.$props,{theme:e.finalTheme,"target-nodes":e.getTargetNodes,"popper-node":()=>e.$refs.popperContent.$el,class:[e.themeClass],onShow:t[0]||(t[0]=()=>e.$emit("show")),onHide:t[1]||(t[1]=()=>e.$emit("hide")),"onUpdate:shown":t[2]||(t[2]=l=>e.$emit("update:shown",l)),onApplyShow:t[3]||(t[3]=()=>e.$emit("apply-show")),onApplyHide:t[4]||(t[4]=()=>e.$emit("apply-hide")),onCloseGroup:t[5]||(t[5]=()=>e.$emit("close-group")),onCloseDirective:t[6]||(t[6]=()=>e.$emit("close-directive")),onAutoHide:t[7]||(t[7]=()=>e.$emit("auto-hide")),onResize:t[8]||(t[8]=()=>e.$emit("resize"))}),{default:ge(({popperId:l,isShown:c,shouldMountContent:u,skipTransition:f,autoHide:p,show:w,hide:g,handleResize:b,onResize:v,classes:k,result:P})=>[Ge(e.$slots,"default",{shown:c,show:w,hide:g}),ie(r,{ref:"popperContent","popper-id":l,theme:e.finalTheme,shown:c,mounted:u,"skip-transition":f,"auto-hide":p,"handle-resize":b,classes:k,result:P,onHide:g,onResize:v},{default:ge(()=>[Ge(e.$slots,"popper",{shown:c,hide:g})]),_:2},1032,["popper-id","theme","shown","mounted","skip-transition","auto-hide","handle-resize","classes","result","onHide","onResize"])]),_:3},16,["theme","target-nodes","popper-node","class"])}const hd=fl($2,[["render",E2]]),A2={...hd,name:"VDropdown",vPopperTheme:"dropdown"};({...hd});({...hd});const P2=xe({name:"VTooltipDirective",components:{Popper:rw(),PopperContent:lw},mixins:[uw],inheritAttrs:false,props:{theme:{type:String,default:"tooltip"},html:{type:Boolean,default:e=>Ks(e.theme,"html")},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default:e=>Ks(e.theme,"loadingContent")},targetNodes:{type:Function,required:true}},data(){return {asyncContent:null}},computed:{isContentAsync(){return typeof this.content=="function"},loading(){return this.isContentAsync&&this.asyncContent==null},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(true);},immediate:true},async finalContent(){await this.$nextTick(),this.$refs.popper.onResize();}},created(){this.$_fetchId=0;},methods:{fetchContent(e){if(typeof this.content=="function"&&this.$_isShown&&(e||!this.$_loading&&this.asyncContent==null)){this.asyncContent=null,this.$_loading=true;const t=++this.$_fetchId,n=this.content(this);n.then?n.then(o=>this.onResult(t,o)):this.onResult(t,n);}},onResult(e,t){e===this.$_fetchId&&(this.$_loading=false,this.asyncContent=t);},onShow(){this.$_isShown=true,this.fetchContent();},onHide(){this.$_isShown=false;}}}),I2=["innerHTML"],D2=["textContent"];function T2(e,t,n,o,i,s){const r=ko("PopperContent"),a=ko("Popper");return _(),nt(a,rd({ref:"popper"},e.$attrs,{theme:e.theme,"target-nodes":e.targetNodes,"popper-node":()=>e.$refs.popperContent.$el,onApplyShow:e.onShow,onApplyHide:e.onHide}),{default:ge(({popperId:l,isShown:c,shouldMountContent:u,skipTransition:f,autoHide:p,hide:w,handleResize:g,onResize:b,classes:v,result:k})=>[ie(r,{ref:"popperContent",class:Te({"v-popper--tooltip-loading":e.loading}),"popper-id":l,theme:e.theme,shown:c,mounted:u,"skip-transition":f,"auto-hide":p,"handle-resize":g,classes:v,result:k,onHide:w,onResize:b},{default:ge(()=>[e.html?(_(),E("div",{key:0,innerHTML:e.finalContent},null,8,I2)):(_(),E("div",{key:1,textContent:F(e.finalContent)},null,8,D2))]),_:2},1032,["class","popper-id","theme","shown","mounted","skip-transition","auto-hide","handle-resize","classes","result","onHide","onResize"])]),_:1},16,["theme","target-nodes","popper-node","onApplyShow","onApplyHide"])}const L2=fl(P2,[["render",T2]]),cw="v-popper--has-tooltip";function M2(e,t){let n=e.placement;if(!n&&t)for(const o of sw)t[o]&&(n=o);return n||(n=Ks(e.theme||"tooltip","placement")),n}function dw(e,t,n){let o;const i=typeof t;return i==="string"?o={content:t}:t&&i==="object"?o=t:o={content:false},o.placement=M2(o,n),o.targetNodes=()=>[e],o.referenceNode=()=>e,o}let Ql,Js,B2=0;function O2(){if(Ql)return;Js=K([]),Ql=co({name:"VTooltipDirectiveApp",setup(){return {directives:Js}},render(){return this.directives.map(t=>SC(L2,{...t.options,shown:t.shown||t.options.shown,key:t.id}))},devtools:{hide:true}});const e=document.createElement("div");document.body.appendChild(e),Ql.mount(e);}function R2(e,t,n){O2();const o=K(dw(e,t,n)),i=K(false),s={id:B2++,options:o,shown:i};return Js.value.push(s),e.classList&&e.classList.add(cw),e.$_popper={options:o,item:s,show(){i.value=true;},hide(){i.value=false;}}}function fw(e){if(e.$_popper){const t=Js.value.indexOf(e.$_popper.item);t!==-1&&Js.value.splice(t,1),delete e.$_popper,delete e.$_popperOldShown,delete e.$_popperMountTarget;}e.classList&&e.classList.remove(cw);}function tp(e,{value:t,modifiers:n}){const o=dw(e,t,n);if(!o.content||Ks(o.theme||"tooltip","disabled"))fw(e);else {let i;e.$_popper?(i=e.$_popper,i.options.value=o):i=R2(e,t,n),typeof t.shown<"u"&&t.shown!==e.$_popperOldShown&&(e.$_popperOldShown=t.shown,t.shown?i.show():i.hide());}}const F2={beforeMount:tp,updated:tp,beforeUnmount(e){fw(e);}},md=F2,Pi=A2,N2={key:0,class:"ce-custom-url-help"},U2={class:"ce-custom-url-help-body"},j2={key:0},z2={class:"pure-table pure-table-bordered"},H2=["onClick"],V2=xe({__name:"CustomUrlHelp",setup(e){const t=K(sx),n=K(false);qt(async()=>{window.addEventListener("message",i=>{const{event:s}=i.data;s==="customUrlHelp"&&(n.value=true);},false);});async function o(i){ft(i.key),Y({text:"已复制到剪贴板",icon:"success",timer:1e3});}return (i,s)=>n.value?(_(),E("div",N2,[d("div",U2,[d("h1",null,[s[1]||(s[1]=T(" 自定义菜单变量说明 ",-1)),d("a",{href:"javascript:void(0)",onClick:s[0]||(s[0]=r=>n.value=false)},"关闭")]),s[3]||(s[3]=d("hr",null,null,-1)),(_(true),E($e,null,je(t.value,(r,a)=>(_(),E("div",{key:a},[d("h2",null,F(r.label),1),r.memo?(_(),E("p",j2,F(r.memo),1)):fe("",true),d("table",z2,[s[2]||(s[2]=d("thead",null,[d("tr",null,[d("th",{width:"50%"},"变量"),d("th",{width:"50%"},"说明")])],-1)),d("tbody",null,[(_(true),E($e,null,je(r.items,(l,c)=>(_(),E("tr",{key:c},[d("td",null,[d("span",{class:"ce-variable",onClick:u=>o(l)},F(l.key),9,H2)]),d("td",null,F(l.label),1)]))),128))])])]))),128))])])):fe("",true)}}),Pe=(e,t)=>{const n=e.__vccOpts||e;for(const[o,i]of t)n[o]=i;return n},q2=Pe(V2,[["__file","CustomUrlHelp.vue"]]),W2='@charset "UTF-8";.ce-menu:not(.sub-item){background:#fffcea}.ce-menu img.ce-menu-icon{float:left;width:12px;height:12px;margin-right:4px}.ce-menu.list-item-hover-menu i.ce-menu-icon.icon-operate{scale:.75;margin-top:-4px}.ce-menu.list-item-hover-menu.ce-menu-parent{position:relative;float:left;cursor:pointer}.ce-menu.list-item-hover-menu.ce-menu-parent:after{content:"";position:absolute;top:50%;right:0;width:1px;height:14px;margin-top:-7px;background:#2777f8cc;pointer-events:none}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-trigger{padding:0 12px;color:#2777f8}.ce-menu.list-item-hover-menu.ce-menu-parent.ce-menu-has-icon .ce-menu-trigger{padding:0 12px 0 4px}.ce-menu.list-item-hover-menu.ce-menu-parent.ce-menu-has-icon>.ce-menu-icon{margin-right:0;margin-top:3px;width:16px;height:16px;margin-left:6px}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-dropdown{position:absolute;background:#fff;box-shadow:0 1px 5px #2777f866;z-index:99999999;left:0;padding:4px;border-radius:4px;display:none;text-align:center;width:160px}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-dropdown.ce-menu-dropdown-active{display:block}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-dropdown .list-item-hover-menu-sub{margin:2px 0;background:#eee;color:#2877f8;width:100%;border-radius:4px;padding:6px 12px;line-height:12px;box-sizing:border-box}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-dropdown .list-item-hover-menu-sub:hover{background-color:#f3e882}.ce-menu.list-item-hover-menu.ce-menu-parent .ce-menu-dropdown .list-item-hover-menu-sub:after{display:none}.ce-menu.selection-menu.ce-menu-parent{position:relative;float:left;cursor:pointer;padding:0 8px}.ce-menu.selection-menu.ce-menu-parent:after{content:"";position:absolute;top:50%;right:0;width:1px;height:14px;margin-top:-7px;background:#2777f8cc;pointer-events:none}.ce-menu.selection-menu.ce-menu-parent .ce-menu-trigger{color:#2777f8}.ce-menu.selection-menu.ce-menu-parent.ce-menu-has-icon{padding:0 10px 0 0}.ce-menu.selection-menu.ce-menu-parent.ce-menu-has-icon .ce-menu-trigger{padding:0}.ce-menu.selection-menu.ce-menu-parent.ce-menu-has-icon>.ce-menu-icon{margin-right:4px;margin-top:7px;width:16px;height:16px;margin-left:6px}.ce-menu.selection-menu.ce-menu-parent.ce-menu-dropdown-opened .ce-menu-trigger{color:#fff}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown{position:absolute;background:#fff;box-shadow:0 1px 5px #2777f866;z-index:99999999;top:30px;left:0;width:160px;padding:4px;border-radius:4px;display:none;text-align:left}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown.ce-menu-dropdown-active{display:block}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown .selection-menu-sub{color:#2877f8;border-radius:4px;text-align:left;display:block;width:100%;box-sizing:border-box;padding-left:4px;padding-right:4px;font-size:12px;background:transparent;cursor:pointer}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown .selection-menu-sub span{font-weight:400;float:inherit}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown .selection-menu-sub .ce-menu-icon:not(.icon-operate){float:unset}.ce-menu.selection-menu.ce-menu-parent .ce-menu-dropdown .selection-menu-sub:hover{background-color:#f3e882}.ce-menu.dir-context-menu>a img.ce-menu-icon{float:none;width:18px;height:18px;position:absolute;top:50%;left:14px;margin-top:-10px}.ce-menu.dir-context-menu>img.ce-menu-icon{position:absolute;left:14px;top:8px}.ce-menu.dir-context-menu.ce-menu-parent{position:relative;cursor:pointer;padding:6px 0}.ce-menu.dir-context-menu.ce-menu-parent:after{content:">";position:absolute;opacity:.5;right:10px;pointer-events:none}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-trigger{margin-left:43px;color:#2777f8}.ce-menu.dir-context-menu.ce-menu-parent.ce-menu-dropdown-opened{background:#f3e882}.ce-menu.dir-context-menu.ce-menu-parent.ce-menu-dropdown-opened .ce-menu-trigger{color:#1c0ccf}.ce-menu.dir-context-menu.ce-menu-parent.ce-menu-dropdown-opened:after{opacity:0}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-dropdown{position:absolute;background:#fff;box-shadow:0 1px 5px #2777f866;z-index:99999999;top:0;left:100%;width:160px;padding:4px;border-radius:4px;display:none;text-align:left}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-dropdown.ce-menu-dropdown-active{display:block}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-dropdown .dir-context-menu-sub{color:#2877f8;border-radius:4px;text-align:left;display:block;width:100%;box-sizing:border-box;padding:4px 8px;font-size:12px;background:transparent;cursor:pointer}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-dropdown .dir-context-menu-sub span{font-weight:400;float:inherit}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-dropdown .dir-context-menu-sub:hover{background-color:#f3e882}.ce-menu.dir-context-menu.ce-menu-parent .ce-menu-icon{width:18px;height:18px;margin-right:8px}.ce-menu.list-item-context-menu.ce-menu-parent{position:relative;cursor:pointer;padding:6px 0}.ce-menu.list-item-context-menu.ce-menu-parent:after{content:">";position:absolute;opacity:.5;right:10px;pointer-events:none}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-trigger{margin-left:43px;color:#2777f8}.ce-menu.list-item-context-menu.ce-menu-parent.ce-menu-dropdown-opened{background:#f3e882}.ce-menu.list-item-context-menu.ce-menu-parent.ce-menu-dropdown-opened .ce-menu-trigger{color:#1c0ccf}.ce-menu.list-item-context-menu.ce-menu-parent.ce-menu-dropdown-opened:after{opacity:0}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-dropdown{position:absolute;background:#fff;box-shadow:0 1px 5px #2777f866;z-index:99999999;top:0;left:100%;width:160px;padding:4px;border-radius:4px;display:none;text-align:left}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-dropdown.ce-menu-dropdown-active{display:block}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-dropdown .list-item-context-menu-sub{color:#2877f8;border-radius:4px;text-align:left;display:block;width:100%;box-sizing:border-box;padding:4px 8px;font-size:12px;background:transparent;cursor:pointer}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-dropdown .list-item-context-menu-sub span{font-weight:400;float:inherit}.ce-menu.list-item-context-menu.ce-menu-parent .ce-menu-dropdown .list-item-context-menu-sub:hover{background-color:#f3e882}.ce-menu-divider{height:1px!important;display:block!important;background-color:#edeeef!important}.ce-menu-divider:after{display:none!important}.list-item-hover-menu .ce-menu-divider{height:6px!important;background-color:transparent!important}div#js_operate_box.only-icon li[menu] span{display:none}div#js_operate_box.only-icon [menu=delete] i.icon-operate{filter:hue-rotate(120deg)}.list-contents{padding-bottom:300px}.header-name a.ce-open-dir-context-menu{cursor:pointer;background:#f2f4f8;border-radius:4px;padding:0 6px;color:#1890ff;margin-left:10px;line-height:32px}.header-name .ce-btn-create-dir{cursor:pointer;color:#4622ff;margin-left:10px;line-height:32px}.header-name .ce-btn-create-dir i{width:16px;height:16px;margin-right:4px;vertical-align:sub}.header-size a.ce-size-sort{cursor:pointer;background:#f2f4f8;border-radius:4px;padding:0 6px;color:#8c97a0;margin-left:10px}.header-size a.ce-size-sort i{display:none}.header-size a.ce-size-sort.by-desc{background-color:#fdc94a;color:#1a2734}.header-size a.ce-size-sort.by-desc i.icon-sort-desc{display:inline-block}.header-size a.ce-size-sort.by-asc{background-color:#fdc94a;color:#1a2734}.header-size a.ce-size-sort.by-asc i.icon-sort-asc{display:inline-block}.header-size a.ce-size-sort.ce-size-sort-ing{cursor:no-drop}.ce-label-open-cfg i{opacity:.5}.ce-label-open-cfg:hover i{opacity:1}';Pt(W2);const K2={label:"当前目录右键菜单",key:"dcontext",hiddenStyles:[{selector:"div.context-menu.menu-upward#js_float_content li[val={key}]",css:"display: none !important;"}],items:[{label:"上传文件",key:"upload"},{label:"新建文件夹",key:"add_dir"}]},G2={label:"选中项菜单",key:"selection",hiddenStyles:[{selector:"div.list-operate.lo-right li[menu={key}]",css:"width: 0 !important; opacity: 0 !important; padding: 0 !important; margin: 0 !important;"}],items:[{label:"置顶",key:"setTop"},{label:"取消置顶",key:"calcelSetTop"},{label:"下载",key:"download"},{label:"移动",key:"move"},{label:"标签",key:"edit_file_label"},{label:"批量标签",key:"batch_edit_file_label"},{label:"重命名",key:"edit_name"},{label:"编辑",key:"file_edit"},{label:"备注",key:"edit"},{label:"星标",key:"star"},{label:"删除",key:"delete"},{label:"分享",key:"public_share"},{label:"设置共享",key:"setShare"},{label:"取消共享",key:"cancelShare"},{label:"复制",key:"set_copy"},{label:"复制到...",key:"copy_list"},{label:"加密隐藏",key:"hide_file"},{label:"取消加密",key:"show_file"},{label:"评分",key:"file_score"},{label:"设为快捷入口",key:"set_category"},{label:"取消快捷入口",key:"unset_category"},{label:"显示时长",key:"show_play_long"},{label:"修改封面",key:"cover"},{label:"一键排重",key:"same"},{label:"导出目录树",key:"export_dir"},{label:"显示属性",key:"attribute"},{label:"转存至相册",key:"trans_to_album"}]},J2={label:"列表项右键菜单",key:"context",hiddenStyles:[{selector:"div.context-menu.menu-upward li[val={key}] a",css:"display: none !important;"}],items:[{label:"打开文件",key:"view"},{label:"打开文件夹",key:"open_dir"},{label:"下载文件",key:"download"},{label:"下载文件夹",key:"download_dir"},{label:"打包下载",key:"bale_download"},{label:"刷新",key:"refresh"},{label:"复制",key:"set_copy"},{label:"复制到...",key:"copy_list"},{label:"加密隐藏",key:"hide_file"},{label:"取消加密",key:"show_file"},{label:"评分",key:"file_score"},{label:"显示时长",key:"show_play_long"},{label:"取消时长",key:"hide_play_long"},{label:"添加到我听",key:"listen"},{label:"美化",key:"magic"},{label:"修改封面",key:"cover"},{label:"删除封面",key:"del_cover"},{label:"一键排重",key:"same"},{label:"移动",key:"move"},{label:"重命名",key:"edit_name"},{label:"备注",key:"edit"},{label:"显示属性",key:"attribute"},{label:"删除",key:"delete"},{label:"播放器播放",key:"player"},{label:"转存到相册",key:"trans_to_album"},{label:"举报",key:"report"}]},Y2={label:"列表项悬浮菜单",key:"hover",hiddenStyles:[{selector:"div.file-opr[rel=menu] a[menu={key}]",css:"width: 0 !important; opacity: 0 !important; padding: 0 !important; margin: 0 !important; overflow: hidden !important;"},{selector:"div.context-menu li[menu={key}] a",css:"display: none !important;"}],items:[{label:"置顶",key:"setTop"},{label:"取消置顶",key:"calcelSetTop"},{label:"星标",key:"star"},{label:"下载文件",key:"download_one"},{label:"下载文件夹",key:"download_dir_one"},{label:"移动",key:"move"},{label:"标签",key:"edit_file_label"},{label:"重命名",key:"edit_name"},{label:"编辑",key:"file_edit"},{label:"备注",key:"edit"},{label:"删除",key:"delete"},{label:"分享",key:"public_share"},{label:"取消加密",key:"show_file"},{label:"评分",key:"file_score"},{label:"设置共享",key:"setShare"},{label:"取消共享",key:"cancelShare"},{label:"复制",key:"set_copy"},{label:"显示时长",key:"show_play_long"},{label:"修改封面",key:"cover"},{label:"一键排重",key:"same"},{label:"导出目录树",key:"export_dir"},{label:"显示属性",key:"attribute"},{label:"转存至相册",key:"trans_to_album"},{label:"设为快捷入口",key:"set_category"},{label:"取消快捷入口",key:"unset_category"}]},pw=wt.hiddenOfficialMenuKeys;async function hw(){return await Xe.get(pw,[])}async function Q2(e,t=false){await Xe.set(pw,e),t&&(unsafeWindow.postMessage({event:ot.officialMenuStyleChange},"*"),unsafeWindow.frames.wangpan?.postMessage({event:ot.officialMenuStyleChange},"*"));}async function X2(e){const t=[];return e.forEach(n=>{n.items.forEach(o=>{o.hidden&&t.push(`${n.key}_${o.key}`);});}),t}async function mw(){const e=[G2,J2,Y2,K2],t=await hw();return e.forEach(n=>{n.items.forEach(o=>{const i=`${n.key}_${o.key}`;t.includes(i)?o.hidden=true:o.hidden=false;});}),e}async function Z2(){const e=await mw(),t=[];return e.forEach(n=>{n.hiddenStyles.forEach(o=>{const i=[];n.items.forEach(s=>{s.hidden&&i.push(o.selector.replace("{key}",s.key));}),i.length&&t.push(i.join(`,
`)+" { "+o.css+" }");});}),t.join(`
`)}async function np(){const e="cloud115EnhancerOfficialMenuStyle",t=await Z2();let n=document.getElementById(e);if(n){n.innerHTML=t;return}n=document.createElement("style"),n.id=e,n.innerHTML=t,document.body.appendChild(n);}const gw=wt.list;var ww=(e=>(e.view="view",e.list="list",e.default="_",e))(ww||{});function eS(e){return {sizeSorter:true,sizeSorterDirAttrInterval:100,showFolderSizeButton:true,hoverShowFolderSize:false,showQuickViewButton:true,hoverShowQuickView:false,showInfoOnQuickView:true,showBatchFolderSizeButton:false,showSha1:false,clickSha1WithCtrlToFindRepeat:false,showOpenDirContextMenu:true,hoverShowDirContextMenu:false,showCreateDirButton:false,hideTopCreateButton:false,showCopyButtonOnPathBar:false,showGotoButtonOnPathBar:false,noUpdateDirAfterRename:false,noReloadAfterMove:false,claimSelectedAfterCreateDir:false,noGotoAfterCreateDir:false,fileSelectorDefaultView:"_",followHistoryState:false,showOnlyFileFilter:false,fileFilterExtensions:"",fixShortcut:false,enhanceLocationLinks:true,enhanceRenameInput:false,dragToQuickEntry:false,quickEntryAvoidCovered:false,hideSelectionMenuOnDrag:false,makeMoreImageViewable:false,...e}}async function cs(){const e=eS(),t=await Xe.get(gw,e);return {...e,...t}}async function tS(e){await Xe.set(gw,e);}var Bn=(e=>(e[e.asc=0]="asc",e[e.desc=1]="desc",e))(Bn||{});const yw=`
== 基础操作 ==

快捷键         功能            说明
----------    ----------     -----------------------------------
C             重命名          选中文件后按C,选中多个文件时,只应用到第一个文件
D             删除            选中文件后按D
X 或 M        移动            选中文件后按X或M
S             分享            选中文件后按S
T             标签            选中文件后按T
B             备注            选中文件后按B
Esc           取消            取消选择或关闭右键菜单
Backspace     返回上级目录     需在未选择文件时按Backspace
Delete        删除            与D键功能相同

== 特殊操作 ==

快捷键           功能            macOS下的对应键位
----------      ----------     ------------------
Alt + P         打开传输         Control + P
Alt + I         打开星标         Control + I
Alt + O         打开云下载       Control + O
Alt + D         快捷星标         Control + D
Ctrl + A        全选            Command + A
Ctrl + C        复制到           Command + C
Alt + 左箭头     浏览器历史后退    Option + 左箭头
Alt + 右箭头     浏览器历史前进    Option + 右箭头

== 删除操作详解 ==

快捷键            功能           macOS下的对应键位
----------       ----------    ------------------
D 或 Delete      普通删除        D 或 Delete
Alt + Backspace  免提示删除      Control + Backspace/Delete

== 鼠标操作 ==
[以下快捷键不需要修复也可以使用,这里仅列出供参考]

Shift + 单击    区域选择
Alt + 单击      显示属性弹窗
`;async function nS(){if(window!==window.top)return;async function e(t){const n=St();n&&n.Core?.FileConfig?.DataAPI&&t(true);}try{return await Ko(e,250,3e4)}catch(t){throw new Error(`awaitDataAPI failed:${t.toString()}`)}}async function oS(e){if(!e.showOnlyFileFilter&&!e.fileFilterExtensions)return;const t=_n(),n=io();!t&&!n||(iS(e,t),sS(e,t,n));}async function iS(e,t,n){if(!e.showOnlyFileFilter)return;const o=mn.file,i=ze(`
    <a href="javascript:;" menu="filter" val="${o}">
      <i class="iofl-max"></i><span>仅文件</span>
    </a>
  `),r=await tt(t?'#js_filter_box a[val="other"]':'#js_search_filter_popup a[val="other"]');r.parentNode?.insertBefore(i,r);}async function sS(e,t,n){const o=e.fileFilterExtensions.split(/\s*[,,]+\s*/).map(f=>f.trim().toLowerCase()).filter(f=>f!=="");if(!o.length)return;const i=await Jn("#js_filter_box, #js_search_filter_popup"),s=$('<div class="ce-filter-ext-wrap"></div>');let r,a;const l=f=>{r=new Promise(p=>{a=p;}).then(()=>{i.find(".selected")?.removeClass("selected"),s.find(`a[val="${f}"]`)?.addClass("selected");const p=Ue("#js_filter_type");p&&(p.textContent=`扩展名: ${f}`);});},c=async f=>{f.stopPropagation(),f.preventDefault();const w=f.currentTarget.getAttribute("val")||"";w&&(l(w),await ym(Fn({show_dir:Ro.false,suffix:w})));},u=f=>{const p=ze(`
      <a href="javascript:;" val="${f}" title="筛选扩展名: ${f}">${f}</a>
    `);return p.addEventListener("click",c),p};window.addEventListener("message",async f=>{if(f.data.event===ot.listRendered){if(!r||!a)return;await ob(r)?i.find(".selected[menu]").length&&s.find(".selected")?.removeClass("selected"):a();}});for(const f of o){const p=u(f);s.append(p);}t?i.append(s):n&&i.find(".list-filter").append(s);}async function rS(e){if(window!==window.top||!e.fixShortcut)return;const t="js-main_mode";await uc('a[data-nav="file"]');let n=Ue("#"+t);if(n){console.warn(`[fixShortcut] #${t} found, skip`);return}n=ze(`
    <div id="${t}" style="display:none;"><a data-nav="file" class="hover"></a></div>
  `),document.body.appendChild(n),window.addEventListener("message",async o=>{if(o.data.event===ot.topDomChanged){const s=Ue("div.dialog-box.window-current > div.dialog-header > h3");if(s&&s.textContent?.includes("快捷键说明")){const r=Ue(".shortkey-info-dialog");if(!r){console.warn("[fixShortcut] .shortkey-info-dialog not found");return}if(r.classList.contains("ce-sid"))return;const a=r.innerHTML,l=ze(`
          <pre>${yw.replace(/==/g,"=".repeat(28))}</pre>
        `),c=ze(`
          <button class="pure-button button-mini button-warning" style="margin-left: 10px;">
            切换到官方快捷键说明
          </button>
        `);c.addEventListener("click",u=>{u.stopPropagation(),u.preventDefault(),r.classList.toggle("ce-sid-active"),r.classList.contains("ce-sid-active")?(c.textContent="切换到官方快捷键说明",r.replaceChildren(l)):(c.textContent="切换到增强版快捷键说明",r.innerHTML=a);}),s.appendChild(c),r.classList.add("ce-sid","ce-sid-active"),r.replaceChildren(l);}}});}async function aS(e){if(window!==window.top||!e.followHistoryState)return;const t=async n=>{const o=tr("cid"),i=await zt(false);o!==i&&St().wangpan.Main.Action.Handlers.GotoDir({cid:o});};window.addEventListener("popstate",t);}async function lS(e){Ue("div#js_data_list")?.addEventListener("mousedown",n=>{n.target.classList.contains("ce-inj")&&n.stopPropagation();});}async function uS(e){_n()&&e.dragToQuickEntry&&(op(),rb("#js_file_category_box",lt(op,200),{childList:true,subtree:true}),cS(e));}async function op(){const t=(await tt("#js_file_category_box")).querySelectorAll("#js_file_category_box a[cid]");for(let n=0;n<t.length;n++){const o=t[n];o.setAttribute("rel","item"),o.setAttribute("file_type","0"),o.setAttribute("title","可拖动文件到此目录进行移动操作");}}async function cS(e){const t=St().wangpan?.Main;if(!t)return;const n="ce-show-quick-entry";if(e.hideSelectionMenuOnDrag||document.body.addEventListener("keydown",i=>{i.ctrlKey&&Ue("#js_operate_box")?.classList.toggle(n);}),e.hideSelectionMenuOnDrag){let i=0;const s=500;document.body.addEventListener("mousemove",r=>{const a=Date.now();if(a-i<s)return;i=a;const l=Ue(".popup-move-hint");l&&l.style.display!=="none"?Ue("#js_operate_box")?.classList.add(n):Ue("#js_operate_box")?.classList.remove(n);});}const o=t.List.WriteSelectText;t.List.WriteSelectText=i=>{o(i),Ue("#js_operate_box")?.classList.remove(n);};}async function dS(e){if(!e.makeMoreImageViewable)return;const t=["webp","tiff"],n=St();n.UPLOAD_CONFIG&&n.UPLOAD_CONFIG[3].upload_type_limit.push(...t);}async function fS(e){if(!e.showCreateDirButton||!_n())return;if(e.hideTopCreateButton){const o=Ue('[data-dropdown-tab="create_new_add_dir"]');o&&(o.style.display="none");}const t=Ue(".header-name");if(!t||t.querySelector(".ce-btn-create-dir"))return;const n=ze(`
    <a href="javascript:;" class="ce-btn-create-dir" menu="add_dir">
      <i class="file-type tp-folder"></i><span>新建文件夹</span>
    </a>
  `);t.appendChild(n);}async function pS(e){if(_n()){const t="ce-list-page";document.body.classList.add(t),parent.document.body.classList.add(t);}}function hS(e,t=""){return `${t}code=${e.code} ${e.message}`}async function mS(e){gd(e.fileSelectorDefaultView);}function gS(){return unsafeWindow.localStorage.getItem("FS_view")||"_"}function gd(e){let t=gS();console.log(`[performSetSelectorView] 当前视图: ${t},目标视图: ${e}`);const n=()=>{gd(t),console.warn(`[performSetSelectorView] 回滚到之前的视图: ${t}`);};return unsafeWindow.localStorage.setItem("FS_view",e),n}async function wS(e){if(!e.enhanceRenameInput)return;const t=$("div.dialog-box.window-current");t.addClass("ce-rename-dlg");const n=t.find('input[rel="file_name"]');if(!n.length){console.warn('[enhanceRename] [rel="file_name"] not found');return}let o=t.find('textarea[rel="ce_file_name"]');o.length||(o=$('<textarea rel="ce_file_name" rows="3"></textarea>'),n.after(o));const i=t.find('a[rel="clear_name"]');let s=t.find(".ce-btn-clear");s.length||(s=$('<a href="javascript:;" class="btn-clear ce-btn-clear"><s>清空</s></a>'),i.after(s));const r=n.val();o.val(r),n.hide(),i.hide(),$.data(s,"events")||s.on("click",c=>(c.preventDefault(),c.stopPropagation(),o.val(""),o.trigger("input"),o.focus(),false));const a=c=>{let u=o.val();u=u.trim(),u=u.replace(/[\r\n]+/g," "),n.val(u),n.trigger(c);};$.data(o,"events")||(o.on("input",a),o.on("keydown",c=>{n.trigger(c);}),o.removeClass("ce-inited"));const l=$('[rel="show_old_name"]');(l.length===0||!l.is(":visible"))&&o.select();}async function yS(e){if(window!==window.top)return;const{noUpdateDirAfterRename:t,enhanceRenameInput:n}=e;if(!t&&!n)return;let o=t,i="",s=false;const r=St(),a=Core.FileReNameDG.Show;r.Core.FileReNameDG.__Show=a;const l=r.Core.Dir.Rename;r.Core.Dir.__Rename=l;const c=r.Core.FileConfig.DataAPI.UpdateDir;r.Core.Dir.__UpdateDir=c,r.Core.FileReNameDG.Show=async(...u)=>{i=u[0],s=true,a(...u);},r.Core.Dir.Rename=async(...u)=>{i=u[1],s=false,l(...u);},r.Core.FileConfig.DataAPI.UpdateDir=async u=>{if(o){const f=rs();let p=`li[file_id="${i}"]`;const w=await zt(),g=u&&u.cid&&w===u.cid;s||(p=`li[cate_id="${i}"]`);const b=async()=>{console.warn("[list handleNoUpdateDirAfterRename] $file is ce-temp-cur-dir"),Y({icon:"warning",text:"重命名的是当前目录,忽略「重命名后不刷新列表」选项"}),mm().attr("titletext",u.dir_name).find("span").text(u.dir_name);};if(g){await b();return}const v=f.find(p);if(v.length){if(v.hasClass("ce-temp-cur-dir")){await b();return}if(Y({icon:"info",text:"启用了「重命名后不刷新列表」选项,不会刷新文件列表"}),v.find(".file-modified span").text("刚刚"),!s){v.attr("cate_name",u.dir_name),v.attr("title",u.dir_name);const k=v.find(".file-name a.name");k.length?(k.attr("title",u.dir_name).text(u.dir_name),k.text(u.dir_name)):console.warn("[list handleNoUpdateDirAfterRename] $name not found");}}else console.warn("[list handleNoUpdateDirAfterRename] $file not found");}else c(u);},window.addEventListener("message",async u=>{if(u.data.event!==ot.topDomChanged)return;const p=Ue("div.dialog-box.window-current > div.dialog-header > h3"),w=p?.textContent.trim()||"";if(!p||!w.includes("重命名"))return;w==="重命名文件"&&wS(e);const g=Ue("div.dialog-box.window-current .file-rename");if(!g){console.warn("[list handleNoUpdateDirAfterRename] .file-rename not found");return}let b=Ue("#cbNoUpdateDir");if(b)return;const v=ze(`
      <div style="padding: 0px 20px;">
        <label style="font-size: 18px; color: #1890ff;">
          <input id="cbNoUpdateDir" type="checkbox" style="width: 22px; height: 22px; vertical-align: sub;"> 重命名后不刷新列表
        </label>
        <p style="font-size: 12px; color: #ff4949;">在使用当前目录增强菜单项「重命名文件夹」时会忽略该选项。</p>
      </div>`);g.insertAdjacentElement("afterend",v),b=Ue("#cbNoUpdateDir"),b&&(b.checked=o,b.addEventListener("change",()=>{o=b.checked;}));});}async function bS(e){if(!e.noReloadAfterMove||window!==window.top)return;let t=true,n=[];const o=St(),i=o.Core.FileMenu.DoEvent,s=o.Core.FileConfig.DataAPI.Reload;o.Core.FileConfig.DataAPI.Reload=async(...r)=>{if(t){Y({icon:"info",text:"启用了「移动后不刷新文件列表」选项,不会刷新文件列表"});for(let a=0;a<n.length;a++)Xp(n[a][0]);await At(500),o.wangpan.Main.List.RecheckFiles([]),o.wangpan.Main.List.updateDataListDom("");}else s(...r);},o.Core.FileMenu.DoEvent=async(...r)=>{n=r[0],i(...r);},window.addEventListener("message",async r=>{if(r.data.event!==ot.topDomChanged)return;const l="ce-no-update-dir-after-move",c=Ue("div.dialog-box.window-current > div.dialog-header > h3");if(!c||!c.textContent?.includes("打开要移动")){const p=Ue(`.${l}`);p&&(p.style.display="none");return}const u=Ue("div.dialog-box.window-current .select-footer");if(!u){console.warn("[list handleNoUpdateDirAfterMove] .select-footer not found");return}let f=Ue("#cbNoReload");if(f){const p=Ue(`.${l}`);p&&(p.style.display="block");}else {const p=ze(`<div class="${l}"/>`),w=`
        <div style="padding: 6px 30px 0;">
          <label style="font-size: 18px; color: #1890ff;">
            <input id="cbNoReload" type="checkbox" style="width: 22px; height: 22px; vertical-align: sub;"> 移动后不刷新列表
          </label>
          <p style="font-size: 14px; color: #ff4949;">启用该功能并且执行过移动操作后,会影响列表的全选功能,此时如需全选,请先手动刷新列表!</p>
        </div>`;p.innerHTML=w,u.insertAdjacentElement("afterend",p),f=Ue("#cbNoReload"),f&&(f.checked=t,f.addEventListener("change",()=>{t=f.checked;}));}});}async function vS(e){if(window!==window.top)return;let t=e.claimSelectedAfterCreateDir,n=e.noGotoAfterCreateDir;const o=St(),i=o.Core.Dir.Create;o.Core.Dir.Create=async(a,l,c)=>{const u=await zn(true);u.length,r(u);const f=async p=>{const w=fi().toString(),g={file_name:p.file_name,utime:w,size:"",pick_code:"",file_category:lm.folder,paths:[{file_id:l,file_name:""}]},b=await pm(p.cid,g,fm()),v=Mc(true);if(v.length===0){const k=ki();if(k.is("ul"))k.append(b);else {let P=k.find("ul");P.length||(P=$("<ul></ul>"),k.append(P),k.find(".page-center-empty").remove()),P.append(b);}}else for(let k=0;k<v.length;k++)k?v.eq(k).remove():v.eq(k).replaceWith(b);await At(500),await s(b,p);};i(a,l,async p=>{if(t&&u.length){const w=u.map(g=>g.id);try{const g=await Ic(p.cid,w);console.log("[list handleCreateDir] moveFiles result:",g),g.state?Y({icon:"success",text:"移动选中的文件到新文件夹成功"}):V.fire({icon:"error",html:`移动选中的文件到新文件夹失败: ${hS(g)}`});}catch(g){console.error("[list handleCreateDir] moveFiles error:",g),V.fire({icon:"error",html:`移动选中文件到新文件夹时出错: ${g.toString()}`});}}c?c(p):n?(await f(p),await At(500),o.wangpan.Main.List.RecheckFiles([]),o.wangpan.Main.List.updateDataListDom("")):o.wangpan.Main.GotoDir(1,p.cid,0,"");});};const s=async(a,l)=>{St().wangpan?.postMessage({event:ot.renderMenus,body:{type:Ie.listItemHover}});const u={id:l.cid,name:l.cname,isDir:true};await bw(e,a,u);},r=async a=>{const l=await tt("div.dialog-box.window-current > div.dialog-header > h3");if(!l||!l.textContent?.includes("新建文件夹"))return;const c=Ue("div.dialog-box.window-current .dialog-action");if(!c){console.warn("[list handleCreateDir] .dialog-action not found");return}const u="cbClaim",f="cbBehavior";let p=Ue(`#${u}`),w=Ue(`#${f}`);if(!p||!w){const g=document.createElement("div"),b=`
        <div class="ce-handle-create-dir">
          <div style="${a.length?"":"display: none;"}">
            <label style="color: #1890ff;">
              <input id="${u}" type="checkbox" /> 移动选中文件到新文件夹
            </label>
            <p>创建新文件夹成功后,自动移动当前选中的文件或文件夹到该新文件夹下。</p>
          </div>
          <div>
            <label style="color: #2164d0;">
              <input id="${f}" type="checkbox" /> 不跳转到新文件夹
            </label>
          </div>
        </div>`;g.innerHTML=b,c.insertAdjacentElement("beforebegin",g),p=Ue(`#${u}`),p&&(p.checked=t,p.addEventListener("change",()=>{t=p.checked;})),w=Ue(`#${f}`),w&&(w.checked=n,w.addEventListener("change",()=>{n=w.checked;}));}};}async function xS(e){if(!e.enhanceLocationLinks)return;const n=[{pattern:/ac=sha1_repeat/,list:"#js-list",item:'li[rel="item"]',link:'[menu="toFileLocaltion"]',dirIdSrc:"item",dirIdAttr:"parentid",removeAttrs:["menu"],memo:"SHA1查重结果页"},{pattern:/ac=same_start/,list:"#exsame_list_content",item:'li[rel="repeat_list_item"]',link:'[btn="file_path"]',dirIdSrc:"item",dirIdAttr:"parent_id",removeAttrs:["btn"],memo:"一键去重详情页",defaultAction:1},{pattern:/ac=search/,list:"#js_data_list",item:'li[rel="item"]',link:'[menu="open"]',dirIdSrc:"link",dirIdAttr:"cid",removeAttrs:["menu"],memo:"搜索结果页"},{pattern:/ct=rb/,list:"#js_data_list",item:'li[rel="item"]',link:'[menu="toFileLocaltion"]',dirIdSrc:"item",dirIdAttr:"file_id",removeAttrs:["menu"],memo:"回收站"},{pattern:/ac=offline_new_tpl&offline=0/,list:"ul#js-warp",item:"li",link:'[task_popup="goto"] a',dirIdSrc:"item",dirIdAttr:"cid",memo:"最近上传"},{pattern:/ct=public_share&ac=save/,list:"#js-list",item:'li[rel="item"]',link:'[btn="openFileLocaltion"]',dirIdSrc:"link",dirIdAttr:"to_cid",removeAttrs:["btn"],memo:"最近接收"},{pattern:/\/lifetime/,list:"#js-warp",item:".lifefile-wrap",link:'a[btn="path-btn"]',getDirId:(a,l)=>l.closest(a.item).find(".file-name-info").attr(a.dirIdAttr),dirIdAttr:"parent_id",removeAttrs:["btn"],memo:"最近操作"}].find(a=>a.pattern.test(location.href));if(!n)return;console.log("[enhanceLocationLinks]",n,location.href);const o=await Jn(n.list),i="ce-url-done",s=a=>n.getDirId?n.getDirId(n,a):n.dirIdSrc==="link"?a.attr(n.dirIdAttr):a.closest(n.item).attr(n.dirIdAttr),r=a=>{if(a.hasClass(i))return;let l=s(a);l&&(a.attr("href",On(l)),a.addClass(i),n.removeAttrs&&n.removeAttrs.map(c=>{a.removeAttr(c);}));};o.on("mouseover",n.link,a=>{const l=$(a.currentTarget);r(l);}),o.on("click",`.${i}`,a=>{const c=$(a.currentTarget).attr("href");if(!c)return  true;if(a.preventDefault(),a.stopPropagation(),a.ctrlKey||a.metaKey)Jr(c,{active:false});else {const{defaultAction:u=2}=n,f=St();u===1?f.open(c,"_blank"):u===2&&(f.location.href=c);}return  false});}async function _S(e,t,n){if(!e.showSha1||!n.hash)return;t.addClass("ce-show-sha1");const o=t.find(".file-name"),i="文件SHA1,点击复制"+(e.clickSha1WithCtrlToFindRepeat?" (Ctrl+点击 查找重复文件)":""),s=ze(`
    <span class="ce-file-sha1 ce-inj" title="${i}">${n.hash}</span>
  `),r=()=>{ft(n.hash),Y({title:"复制SHA1",text:"已复制文件SHA1",icon:"success",timer:1500});};s.addEventListener("click",async a=>{a.preventDefault(),a.stopPropagation(),e.clickSha1WithCtrlToFindRepeat&&(a.metaKey||a.ctrlKey)?ud(n):r();}),o.append(s);}async function bw(e,t,n){const o=[],i=await CS(e,t,n);i&&o.push(i);const s=await kS(e,t,n);if(s&&o.push(s),o.length){const r=t.find(".file-size");if(!r.length){console.warn("[injectToSizeCell] 未找到文件大小元素,跳过:",n,t);return}r.append(...o);}}async function CS(e,t,n){if(!e.showFolderSizeButton||!n.isDir)return null;const o=t.find(".file-size"),i=(e.hoverShowFolderSize?"点击或鼠标悬浮":"点击")+"获取该文件夹大小",s=ze(`
    <span class="ce-btn-folder-size ce-inj" title="${i}">大小</span>
  `);let r;const a=async l=>{l.preventDefault(),l.stopPropagation();try{const c=await Ut(n.id);o.find("span:eq(0)").text(c.size);const{folder_count:u=0,count:f=0}=c;let p=u>0?`目录${u}`:"";if(p+=f>0?(p!==""?",":"")+`文件${f}`:"",p!==""){let w=o.find(".ce-s-d");w.length||(w=$('<div class="ce-s-d"></div>'),o.append(w)),w.text(p);}t.addClass("ce-size-got"),Y({title:"获取大小",text:"已获取文件夹大小",icon:"success",timer:1500});}catch(c){console.error(c),Y({title:"获取大小失败",text:c.toString(),icon:"error"});return}};return s.addEventListener("click",async l=>{r&&clearTimeout(r),await a(l);}),e.hoverShowFolderSize&&(s.addEventListener("mouseenter",async l=>{r&&clearTimeout(r),r=setTimeout(async()=>{await a(l);},200);}),s.addEventListener("mouseleave",()=>{r&&clearTimeout(r);})),s}let Bs;async function ip(e,t,n,o){Bs&&clearTimeout(Bs),o.preventDefault(),o.stopPropagation();const i=gd(ww.list),r='快速查看 <span class="ce-label ce-label-warning">只读</span><a id="ce-qv-open" href="javascript:void(0)" style="font-size: 12px; margin-left: 10px; color: #00f; font-weight: normal;">新页面打开</a>',a=St(),l=a.Core;l.FileSelectDG.Open(c=>{i();},{nf:0,title:r,init_cid:n.id,show_record:1,show_copy:1,btn_txt:"关闭",select_txt:"查看",not_select_file:"xxx"});try{(await tt("#ce-qv-open",200,3e4,a.window.document)).addEventListener("click",()=>{const u=l.FileSelectDG.GetBackPaths(),f=u[u.length-1].cid;window.open(On(f),"_blank");});}catch(c){Y({icon:"error",text:`未找到"新页面打开"按钮!${c.toString()}`});}}async function kS(e,t,n){if(!e.showQuickViewButton||!n.isDir)return null;const o=ze(`
    <span class="ce-btn-folder-size ce-inj" title="快速查看该目录子文件列表">查看</span>
  `);return o.addEventListener("click",i=>{ip(e,t,n,i);}),e.hoverShowQuickView&&(o.addEventListener("mouseenter",async i=>{Bs=setTimeout(async()=>{await ip(e,t,n,i);},300);}),o.addEventListener("mouseleave",()=>{Bs&&clearTimeout(Bs);})),o}async function SS(e){if(!e.showBatchFolderSizeButton)return;const t="ce-injected-s",n="ce-s-ing",o=Ue(".header-size");if(!o||o.classList.contains(t))return;const i=o,s=ze(`
    <a class="btn-sort ce-size-sort" title="显示当前目录下已加载的子文件夹的大小">
      <span>大小</span>
    </a>
  `);s.addEventListener("click",async r=>{if(r.preventDefault(),r.stopPropagation(),!s.classList.contains(n))try{s.classList.add(n),await wd(!1,!1,!1);}catch(a){console.error(a),Y({title:"获取子文件夹大小失败",text:a.toString(),icon:"error"});}finally{s.classList.remove(n);}}),i.appendChild(s),i.classList.add(t);}async function $S(e){if(!e.sizeSorter)return;const t="ce-injected",n="ce-size-sort-ing",o=Ue(".header-size");if(!o||o.classList.contains(t))return;const i=o,s=ze(`
    <a class="btn-sort ce-size-sort" title="显示当前目录下已加载的子文件夹的大小,然后按大小排序">
      <span>排序</span>
      <i icon_rel="file_size" class="icon-sort-asc"></i>
      <i icon_rel="file_size" class="icon-sort-desc"></i>
    </a>
  `);s.addEventListener("click",async r=>{if(r.preventDefault(),r.stopPropagation(),s.classList.contains("el-size-sort-ing"))return;const a="by-desc",l="by-asc";try{s.classList.add(n);let c=Bn.desc;s.classList.contains(a)?c=Bn.asc:c=Bn.desc;const u=await zt(!1);await Ca(u,c,!1,!1),c===Bn.asc?(s.classList.remove(a),s.classList.add(l)):(s.classList.remove(l),s.classList.add(a));}catch(c){console.error(c),Y({title:"排序失败",text:c.toString(),icon:"error"});}finally{s.classList.remove(n);}}),i.appendChild(s),i.classList.add(t);}async function wd(e,t,n=false){await cs();const o=await zt(false),i=ki(),s=await zn(false);console.log("[items]",s),Y({html:"正在获取子文件夹大小...",icon:"info",position:"top-end",timer:0}),V.showLoading();for(let r=0;r<s.length;r++){const a=s[r];if(!a.isDir)continue;const l=i.find(`li[cate_id="${a.id}"]`);if(!l.length)continue;const c=l.find(".file-size");if(!c.length){console.warn("[prepareItemSize] 未找到文件大小元素,跳过:",a);continue}const u=c.find("span:eq(0)");if(u.text()!==""&&!n)continue;const f=await Ut(a.id);V.update({html:`[${r+1} / ${s.length}] 正在获取子文件夹大小:${a.name}`}),u.text(f.size);const{folder_count:p=0,count:w=0}=f;let g=p>0?`目录${p}`:"";if(g+=w>0?(g!==""?",":"")+`文件${w}`:"",g!==""){let b=c.find(".ce-s-d");b.length||(b=$('<div class="ce-s-d"></div>'),c.append(b)),b.text(g);}l.addClass("ce-size-got");}return V.hideLoading(),e?await ES(o):Y({html:"已获取子文件夹大小",icon:"success",timer:1500,position:"top-end"}),o}async function Ca(e,t,n,o){const i=ki();i.find('li[file_type="0"]:not(.ce-size-got)').length>0&&await wd(n,o,false);const r=i.is("ul")?i:i.find("ul"),a=r.children("li").toArray();a.sort(function(c,u){const f=$(c),p=$(u),w=Dd(f.find(".file-size span:eq(0)").text()),g=Dd(p.find(".file-size span:eq(0)").text());return t===Bn.asc?w-g:g-w});const l=$("<ul></ul>");$.each(a,function(c,u){l.append(u);}),r.replaceWith(l),n?V.update({title:"排序完成",html:`已完成排序: ${t===Bn.asc?"小 > 大":"大 > 小"}`,icon:"success"}):Y({html:`已完成排序: ${t===Bn.asc?"小 > 大":"大 > 小"}`,icon:"success",timer:1500,position:"top-end"});}async function ES(e){V.fire({toast:true,title:"获取子文件夹大小",html:"获取子文件夹大小完成",icon:"success",showConfirmButton:true,confirmButtonText:"大 > 小",confirmButtonColor:"#3085d6",showDenyButton:true,denyButtonText:"小 > 大",denyButtonColor:"#d33",position:"top-end",showCloseButton:true,closeButtonAriaLabel:"关闭",preConfirm:async()=>(console.log("preConfirm"),Ca(e,Bn.desc,true,true),false),preDeny:async()=>(console.log("preDeny"),Ca(e,Bn.asc,true,true),false)});}async function AS(){const e=await cs();e.sizeSorter&&e.showBatchFolderSizeButton&&Gy(".list-header .header-size { min-width: 142px !important;}"),await ju();const t=await tt("#js_data_list");PS(),new MutationObserver(async([o])=>{o.type==="childList"&&(window.postMessage({event:ot.listRendered}),await ju());}).observe(t,{childList:true});}async function PS(){if(window.top===window.self)return;const e=Ue("#js_pagination_box");if(!e){console.warn("[list.handleLoadAll] 未找到「#js_pagination_box」元素");return}function t(n){Ue("#js_data_list .list-contents > ul > li")&&n(true);}e.addEventListener("click",async n=>{n.preventDefault(),n.stopPropagation();const o=n.target;let i=false;if((o.getAttribute("menu")==="load_all_file"||o.closest('[menu="load_all_file"]'))&&(i=true),!i)return;console.log("[list.handleLoadAll] 点击了「加载全部」按钮"),await Ko(t,500,3e5);const s=Ue("#js_data_list .list-contents > ul");s?.removeAttribute("ce-done2");const r=Ue("#js_data_list");r&&r.querySelectorAll(".list-contents > ul:not([ce-done2]) > li").length&&(s?.setAttribute("ce-done2",""),await ju());});}async function ju(){const e=await cs();$S(e),SS(e),fS(e),DS(e),io();const t=Mc(false);for(let n=0;n<t.length;n++){const o=t.eq(n),i=dn(o);await IS(e,o,i);}}async function IS(e,t,n,o){await _S(e,t,n),await bw(e,t,n);}async function DS(e){if(!e.showOpenDirContextMenu||await zt(false)===""||io())return;const n=Ue(".header-name");if(!n||n.classList.contains("ce-injected"))return;const o=n,i=document.createElement("a");i.classList.add("ce-open-dir-context-menu"),i.title="打开当前目录的功能菜单",i.innerHTML="<span>目录功能菜单</span>";let s;const r=async a=>{s&&clearTimeout(s),a.preventDefault(),a.stopPropagation();try{const l=St(),c=await zt(!1),u=i.getBoundingClientRect();l.Core.FileMenu.FileRight("1",c,!1,u.x,u.y+8,void 0,!1);}catch(l){console.error(l);}};i.addEventListener("click",r),e.hoverShowDirContextMenu&&(i.addEventListener("mouseenter",async a=>{s=setTimeout(async()=>{await r(a);},300);}),i.addEventListener("mouseleave",()=>{s&&clearTimeout(s);})),o.appendChild(i),o.classList.add("ce-injected");}let TS=[];async function vw(e,t,n){n.stopPropagation(),n.preventDefault();try{const o=await $o(!1,1e3);if(!o)return;const i=dn(o),s=await Xt(),r=await Rs(i,e,s);if(e.key==="p_builtin_115plus"){const a=n.metaKey||n.ctrlKey;ga(void 0,i.id,a);return}if(Bc(r)){const l=(await zn(!1)).find(c=>c.playDuration&&c.playDuration>0);Ug(i.id,l);return}if(console.log("[play url]",r),!r)throw new Error("无法获取有效的播放链接!");window.open(r,"_blank","noopener noreferrer");}catch(o){console.error(o),Y({title:"播放失败",text:o.toString(),icon:"error"});}}async function LS(e,t){const n=[];for(const o of t){const i=La(e,{key:`_ce_p_${o.key}`,label:o.label,icon:o.icon,title:"播放当前目录"+(o.memo?` - ${o.memo}`:""),onClick:async(s,r)=>{vw(o,s,r);}});n.push(i);}return n}async function MS(){const e=await ut(),t=await ld(e),{memo:n=""}=t.defaultPlayer;return new Vt({key:"_play_with_x",label:t.defaultPlayer.label,icon:t.noRealDefault?"icon-operate ifo-video-play":t.defaultPlayer.icon,title:"播放当前目录"+(n?` - ${n}`:""),onClick:async(o,i)=>{await o.closeMenu(),!t.noRealDefault&&vw(t.defaultPlayer,o,i);},subItems:[...await LS(cc,t.customUrlItems)]})}async function BS(){return new Vt({key:"_rename_dir",label:"重命名文件夹",icon:"icon-operate ifo-rename",title:'重命名当前目录,支持"高级模式"',onClick:async(e,t)=>{await e.closeMenu();const n=await zt(true);if(!n)return;const i=mm().attr("titletext")?.trim();if(!i){Y({icon:"error",text:"无法获取当前目录名称"});return}unsafeWindow.Core.Dir.Rename("1",n,i);}})}async function OS(){return new Vt({key:"_dc_view_in_clouddrive",label:"在CloudDrive中查看",icon:"icon-operate ifo-exportdir",title:"在CloudDrive2 Web页面中查看",onClick:async(e,t)=>{t.stopPropagation(),t.preventDefault(),await e.closeMenu();const n=await zt(false);if(!n||n==="0"){await wa({id:"0",name:"根目录",isDir:true});return}const o=await $o(false,1e3);if(!o)return;const i=dn(o);await wa(i);}})}async function RS(){return new Vt({key:"_move_dir",label:"移动文件夹",icon:"icon-operate ifo-move",title:"移动当前文件夹到其他位置",onClick:yd("move")})}async function FS(){return new Vt({key:"_del_dir",label:"删除文件夹",icon:"icon-operate ifo-remove",title:"删除当前文件夹",onClick:async(e,t)=>{await e.closeMenu();const n=await $o();if(!n)return;const o=rs();unsafeWindow.Core.FileAPI.DeleteFile([n],i=>{n.remove(),o.find("#js_top_header_file_path_box .top-file-path > .file-path").children(":last").prev()[0].click();},true);}})}function yd(e,t){return async(n,o)=>{await n.closeMenu();const i=await $o();i&&await z0(i,e);}}async function NS(){return new Vt({key:"_copy_dir",label:"复制文件夹",icon:"icon-operate ifo-copy",title:"复制当前文件夹",onClick:yd("set_copy")})}async function US(){return new Vt({key:"_copy_dir_to",label:"复制文件夹到",icon:"icon-operate ifo-copyto",title:"复制当前文件夹到其他位置",onClick:yd("copy_list")})}async function jS(e){const{namePathConfig:t}=e,n=[{b:t.copyFullName,v:()=>Xl("完整名称",gt.full)},{b:t.copyId,v:()=>Xl("ID",gt.id)},{b:t.copyPickCode,v:()=>Xl("PickCode",gt.pickCode)},{b:t.copyUnixPath,v:()=>sp("路径(Unix)",Mn.unixPath)},{b:t.copyWinPath,v:()=>sp("路径(Windows)",Mn.winPath)},{b:t.viewInCloudDrive,v:()=>OS()}],o=await Promise.all(n.filter(i=>i.b).map(i=>i.v()));return new Vt({key:"_dir_copy_names",label:"名称路径",icon:"icon-operate ifo-copy",title:"获取当前目录的名称、路径等信息",subItems:o})}async function zS(e,t){const n=[...(await cr()).filter(s=>s.enabled),...TS.filter(s=>s.enabled),...(await Si(so.search)).filter(s=>s.enabled)];let o=n.find(s=>s.key===t.defaultSearch);o||(o=n.find(s=>s.key===dr));const i=async s=>{const r=await $o(false,1e3);if(!r)throw new Error("无法获取当前目录项");return dn(r)};return new Vt({key:"_d_search_with_name_d",label:"搜索",icon:o?.icon||"",title:o?.memo||"使用名称搜索",onClick:async(s,r)=>{r.stopPropagation(),r.preventDefault(),await s.closeMenu(),o&&await gr(s,o,r,t,i,Ie.dirContextSub);},subItems:[...await sl(cc,n,i,Ie.dirContextSub)]})}async function HS(){return new Vt({key:"view_dir_attribute",label:"查看属性",icon:"icon-operate ifo-prop",onClick:async(e,t)=>{await e.closeMenu();const n=await $o();n&&St().Core.FileAPI.getAttribute(n,{showPlayLongChange:function(o,i,s){O0().CACHE.FileMain.List.ResetPlayLongText(o,i,s);}},function(){console.log("查看属性 ok");});}})}async function Xl(e,t){return new Vt({key:`_d_copy_self_info_${t}`,label:e,icon:"icon-operate ifo-copy",title:`复制当前目录的${e}`,onClick:async(n,o)=>{await n.closeMenu();const i=await $o(false,1e3);if(!i)return;const s=dn(i),r=await ut(),a=await Xt(),c=wr([s],t,u=>r.cloudDriveFormalization?cn(a,u):u);ft(c.join(`
`)),Y({title:`复制${e}`,text:`已复制当前目录的${e}`,icon:"success"});}})}async function sp(e,t){return new Vt({key:`_d_copy_path_${t}`,label:e,icon:"icon-operate ifo-copy",title:"复制当前目录路径",onClick:async(n,o)=>{await n.closeMenu();const i=await $o(false,1e3);if(!i)return;const s=dn(i),r=await ut(),a=await Xt(),c=await zg([s],t,u=>r.cloudDriveFormalization?cn(a,u):u);ft(c.join(`
`)),Y({title:`复制${e}`,text:`已复制当前目录的${e}`,icon:"success"});}})}async function VS(){return new Vt({key:"show_sub_folder_size",label:"子文件夹大小",title:"显示当前目录下已加载的所有子文件夹的大小",icon:"icon-operate ifo-prop",onClick:async(e,t)=>{await e.closeMenu(),await wd(false,false,false);}})}async function qS(){return new Vt({key:"show_sub_folder_size_sort",label:"子文件夹大小+排序",title:"显示当前目录下已加载的所有子文件夹的大小,并进行排序",icon:"icon-operate ifo-prop",onClick:async(e,t)=>{await e.closeMenu(),await Ca("",Bn.desc,true,true);}})}async function WS(){return new Vt({key:"_dc_flatten_subfolders",label:"解散子目录",icon:"icon-operate ifo-move",title:"将当前目录中所有子目录的文件移动到当前目录,并删除空的子目录",onClick:async(e,t)=>{await e.closeMenu();const n=await $o(false,1e3);if(!n)return;const o=dn(n);await al([o]);}})}async function KS(e){const{[Ie.dirContext]:t}=e;if(!t.enabled)return;const n=[...t.topLevelMenus,"play","copyNames","search"],o=[],i=[],s=new Map;t.rename&&s.set("rename",await BS()),t.delete&&s.set("delete",await FS()),t.play&&s.set("play",await MS()),t.copyNames&&s.set("copyNames",await jS(t)),t.search&&s.set("search",await zS(t,e)),t.flattenSubfolders&&s.set("flattenSubfolders",await WS()),t.move&&s.set("move",await RS()),t.viewProp&&s.set("viewProp",await HS()),t.showSubFolderSize&&s.set("showSubFolderSize",await VS()),t.showSubFolderSizeAndSort&&s.set("showSubFolderSizeAndSort",await qS()),t.copy&&s.set("copy",await NS()),t.copyTo&&s.set("copyTo",await US());const r=s.keys();for(const l of r){const c=s.get(l);c&&(n.includes(l)?o.push(c):i.push(c));}i.length>1?o.push(new Vt({key:"_dir_more",label:"更多",icon:"icon-operate ifo-open",subItems:i})):i.length===1&&o.push(i[0]),await new wb({items:o,siblingSelector:'[val="upload"]',position:xo.before}).inject(),$(".ce-menu-parent .ce-menu-trigger").on("mouseover",function(){$(this).find(".ce-menu-dropdown").show();}).on("mouseout",function(){$(this).find(".ce-menu-dropdown").hide();});}async function GS(e){const{namePathConfig:t}=e,n=[];return t.copyFullName&&n.push(await Ti("完整名称",gt.full)),t.copyPureName&&n.push(await Ti("不含后缀名称",gt.pure)),t.copyFullName&&n.push(await Ti("完整名称(去重)",gt.fullUnique)),t.copyPureName&&n.push(await Ti("不含后缀名称(去重)",gt.pureUnique)),t.copyId&&n.push(await Ti("ID",gt.id)),t.copyPickCode&&n.push(await Ti("PickCode",gt.pickCode)),t.copySha1&&n.push(await ap(false)),t.copySha1WithName&&n.push(await ap(true)),t.copyUnixPath&&n.push(await rp("路径(Unix)",Mn.unixPath)),t.copyWinPath&&n.push(await rp("路径(Windows)",Mn.winPath)),t.viewInCloudDrive&&n.push(await JS()),new ts({key:"_lc_copy_names_paths",label:"名称路径",icon:"icon-operate ifo-copy",showIcon:false,title:"复制文件的名称路径",subItems:n})}function yr(){const e=q0();return !e||!e.n?(Y({text:"无法获取当前文件信息",timer:1200}),null):Ci(e)}async function Ti(e,t){return new ts({key:`_lc_copy_info_${t}`,label:e,icon:"icon-operate ifo-copy",title:`复制${e}`,onClick:async(n,o)=>{await n.closeMenu();const i=yr();if(!i)return;const s=await ut(),r=await Xt(),l=wr([i],t,c=>s.cloudDriveFormalization?cn(r,c):c);ft(l.join(`
`)),Y({title:`复制${e}`,text:`已复制${e},CloudDrive文件名规范: ${s.cloudDriveFormalization?"是":"否"}`,icon:"success"});}})}async function rp(e,t){return new ts({key:`_lc_copy_path_${t}`,label:e,icon:"icon-operate ifo-copy",title:"复制路径",onClick:async(n,o)=>{await n.closeMenu();const i=yr();if(!i)return;const s=await ut(),r=await Xt();let a=await Ka(i);s.cloudDriveFormalization&&(a=a.map(u=>cn(r,u,true)),i.name=cn(r,i.name,true));let l=a.join("/");const c=await rl(i,l,t);ft(c),Y({title:"复制路径",text:`已复制文件路径,CloudDrive文件名规范: ${s.cloudDriveFormalization?"是":"否"}`,icon:"success"});}})}async function ap(e){return new ts({key:"_lc_copy_sha1",label:"文件sha1"+(e?"(带文件名)":""),icon:"icon-operate ifo-copy",title:"复制文件sha1"+(e?"。格式为 xxx//yyy,xxx为sha1,yyy为文件名":""),onClick:async(t,n)=>{await t.closeMenu();const o=yr();if(!o)return;if(o.isDir){Y({text:"该功能仅对文件有效",icon:"warning",timer:2e3});return}const i=o.hash+(e?`//${o.name}`:"");ft(i),Y({title:"复制文件sha1",text:"已复制文件sha1",icon:"success",timer:1e3});}})}async function JS(){return new ts({key:"_lc_view_in_clouddrive",label:"在CloudDrive中查看",icon:"icon-operate ifo-exportdir",title:"在CloudDrive2 Web页面中查看",onClick:async(e,t)=>{await e.closeMenu();const n=yr();n&&await wa(n);}})}async function YS(){return new ts({key:"_lc_flatten_subfolders",label:"解散子目录",icon:"icon-operate ifo-move",title:"将当前目录中所有子目录的文件移动到当前目录,并删除空的子目录",onClick:async(e,t)=>{await e.closeMenu();const n=yr();if(n){if(!n.isDir){Y({text:"请先选择一个目录",icon:"error"});return}await al([n]);}}})}async function QS(e){const{[Ie.listItemContext]:t}=e;if(!t.enabled)return;const n=[];t.copyNames&&n.push(await GS(t)),t.flattenSubfolders&&n.push(await YS()),new bb({items:n,position:xo.after,siblingSelector:'[val="refresh"]',useObserver:true,observeTarget:document.body,disposeObserverAfterInjection:false}).inject();}async function XS(e){const{[Ie.listItemHover]:t}=e;if(!t.enabled)return;const n=[];t.openInNewTab&&n.push(await Ek()),t.search&&n.push(await kk(e)),t.play&&n.push(await Ck()),t.copyNames&&n.push(await $k(t)),t.flattenSubfolders&&n.push(await Pk()),t.findRepeat&&n.push(await Ak()),new Dk({items:n,position:xo.after,siblingSelector:'[menu="move"], [menu="delete"]'}).inject();}let ZS=[];async function e$(e){const t=[];return !io()&&e.moveToSelfNameDir&&t.push(await t$()),!io()&&e.flattenSubfolders&&t.push(await n$()),e.openInNewTab&&t.push(await o$()),e.openParent&&t.push(await i$()),t.length?new ll({key:"_s_batch",label:"批量操作",icon:"icon-operate ifo-batch",title:"对选中的文件进行批量操作",subItems:t}):null}async function t$(){return new ao({key:"_s_smart_mkdir",label:"同名目录",icon:"icon-operate ifo-move",title:"将选中的文件移动到同名目录",onClick:await pk()})}async function n$(){return new ao({key:"_s_flatten_subfolders",label:"解散子目录",icon:"icon-operate ifo-move",title:"将选中目录中所有子目录的文件移动到选中目录,并删除空的子目录",onClick:async(e,t)=>{const n=(await zn(true)).filter(o=>o.isDir);if(!n.length){Y({text:"请选择需要解散的目录",icon:"error"});return}await al(n);}})}async function o$(){return new ao({key:"_s_open_in_new_tab",label:"打开目录",icon:"icon-operate ifo-opendir",title:"批量打开选中的目录",onClick:async(e,t)=>{const n=(await zn(true)).filter(i=>i.isDir);if(!n.length){Y({title:"请选择目录",icon:"error"});return}const o=n.map(i=>On(i.id));await mr(o,true);}})}async function i$(){return new ao({key:"_s_open_parent",label:"打开所在目录",icon:"icon-operate ifo-opendir",title:"批量打开选中文件的所在目录",onClick:async(e,t)=>{const n=await zn(true);if(!n.length){Y({title:"请选择文件",icon:"error"});return}const o=new Set;for(const s of n)s.parentId&&o.add(s.parentId);const i=Array.from(o).map(s=>On(s));await mr(i,true);}})}async function s$(e){const{namePathConfig:t}=e,n=[];return t.copyFullName&&n.push(await Li("完整名称",gt.full)),t.copyPureName&&n.push(await Li("不含后缀名称",gt.pure)),t.copyFullName&&n.push(await Li("完整名称(去重)",gt.fullUnique)),t.copyPureName&&n.push(await Li("不含后缀名称(去重)",gt.pureUnique)),t.copyId&&n.push(await Li("ID",gt.id)),t.copyPickCode&&n.push(await Li("PickCode",gt.pickCode)),t.copySha1&&(n.push(await lp(false)),n.push(await lp(true))),t.copyUnixPath&&n.push(await up("路径(Unix)",Mn.unixPath)),t.copyWinPath&&n.push(await up("路径(Windows)",Mn.winPath)),new ll({key:"_s_copy_names_paths",label:"名称路径",icon:"icon-operate ifo-copy",showIcon:false,title:"复制选中文件的名称路径",onClick:async(o,i)=>{},subItems:n})}async function lp(e,t){return new ao({key:"_s_copy_sha1"+(e?"_u":""),label:"📋 文件sha1"+(e?",去重":""),icon:"icon-operate ifo-copy",showIcon:false,title:"复制文件sha1。格式为 xxx//yyy,xxx为sha1,yyy为文件名",onClick:async(n,o)=>{const i=await zn(true),s=new Set,r=[];for(const a of i)a.hash&&(e&&s.has(a.hash)||(s.add(a.hash),r.push(a.hash+`//${a.name}`)));ft(r.join(`
`)),Y({title:"复制文件sha1",text:`已复制选中文件sha1。数量:${r.length}`,icon:"success",timer:1e3});}})}async function Li(e,t){return new ao({key:`_s_copy_info_${t}`,label:`📋 ${e}`,icon:"icon-operate ifo-copy",showIcon:false,title:`复制${e}`,onClick:async(n,o)=>{const i=await zn(true);if(!i.length)return;const s=await ut(),r=await Xt(),l=wr(i,t,c=>s.cloudDriveFormalization?cn(r,c):c);ft(l.join(`
`)),Y({title:`复制${e}`,text:`已复制选中文件信息。数量:${l.length},复制类型:${e},CloudDrive文件名规范: ${s.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function up(e,t){return new ao({key:`_s_copy_path_${t}`,label:`📂 ${e}`,icon:"icon-operate ifo-copy",showIcon:false,title:e,onClick:async(n,o)=>{const i=await zn(true);if(!i.length)return;let s=[];Y({text:"正在获取已选文件路径...",timer:0}),V.showLoading();const r=await ut();try{const a=await Xt(),l=r.cloudDriveFormalization?c=>cn(a,c):c=>c;s=await zg(i,t,l),V.close();}catch(a){console.error(a),Y({text:`获取已选文件路径失败: ${a}`,timer:6e4,icon:"error"});return}finally{V.hideLoading();}ft(s.join(`
`)),Y({title:"复制路径",text:`已复制选中文件的路径。数量:${s.length},复制类型:${e},CloudDrive文件名规范: ${r.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function r$(e,t=Va.vod){if(e=e.filter(s=>s.transcoded),!e.length){Y({title:"没有可播放的视频",icon:"error"});return}const n=Date.now().toString(),o=unsafeWindow.open(wm("xxx",t),n);await At(1e3);let i=10;for(;i>0;)o?.postMessage({event:"play",body:{id:n,files:e}},`https://${t}`),await At(1e3),i--;}async function a$(){const e=await ut(),t=await ld(e);return new ll({key:"_s_play_with_x_d",label:t.defaultPlayer.label,icon:t.defaultPlayer?.icon||"",title:t.defaultPlayer.memo,onClick:async(n,o)=>{console.log("[selectionMenuPlayWithDropdown] me",n),!t.noRealDefault&&xw(t.defaultPlayer,n,o);},subItems:[...await u$(ao,t.customUrlItems),new Mk({}),new ao({label:"关于选中播放",onClick:async(n,o)=>{o.stopPropagation(),o.preventDefault(),Y({title:"关于选中播放",html:`
              <p>点「在线播放」会打开115播放页面播放选中的视频。</p><br>
              <p>如果是点击调用本地播放器播放:<p>
              <p>原理: 生成m3u8文件,上传m3u8文件到115,调用播放该m3u8的CloudDrive2直链。<p>
              <p>设定: m3u8默认放在网盘根目录下的「.ce-m3u8-temp」目录下,不会自动清理。<p>
              <p>作为使用者需做的: 在CloudDrive2里设置「.ce-m3u8-temp」目录缓存时间为1秒。</p>
              <p class="text-info" style="font-size:12px;">这个目录会在首次播放时自动创建,如果想提前设置目录缓存时间,可以自己创建。另外,可以在「设置 - 菜单设置 - 全局设置」中修改「M3U8临时目录」以设置目录位置。</p>
              <br><p class="text-danger">导致播放失败的可能: CloudDrive2目录缓存工作异常,导致请求不到m3u8文件。</p>
            `,showConfirmButton:true,width:600,timer:18e5});},icon:"data-text:❓"})]})}async function l$(e){if(e=e.trim(),!e)throw new Error("m3u8临时目录路径为空!");const t=await Y0(e);if(t.id)return console.log("[ensureM3u8TempDir] result:",t),t.id;throw new Error("创建m3u8临时目录失败!")}async function xw(e,t,n){n.stopPropagation(),n.preventDefault();const o=await ut();try{let i=await zn(!0);if(t.key==="_ce_p_p_builtin_online"||e.key==="p_builtin_online"){await r$(i);return}if(e.key==="p_builtin_115plus")return ga(i);if(i=i.filter(p=>p.isDir||p.isVideo),i.length===0){Y({title:"播放失败",text:"没有可以播放的目录或媒体文件!",icon:"error",timer:2e3});return}const s=await Xt();if(i.length===1){const p=await Rs(i[0],e,s);window.open(p,"_blank","noopener noreferrer");return}const r=await l$(o.m3u8TempDir),a=await J0(i,r);console.log("[selection.buildPlayMenuItems generatePlaylistOn115]",a);const l=a.data,c={id:l.file_id,name:l.file_name,parentId:l.cid,sizeBytes:l.file_size,pickCode:l.pick_code,isDir:!1,isFile:!0},u=ra([o.m3u8TempDir,c.name],Oo.unix);Y({title:"检查m3u8文件",text:"正在检查m3u8文件是否已准备就绪...",icon:"info",timer:0}),V.showLoading(),await b0(s,u,!0,1e3,6e4),Y({icon:"success",text:"m3u8文件已准备就绪,即将开始播放..."});const f=await Rs(c,e,s);window.open(f,"_blank","noopener noreferrer");}catch(i){console.error(i),Y({title:"播放失败",text:i.toString(),icon:"error",timer:6e4,showConfirmButton:true});}finally{V.hideLoading();}}async function u$(e,t){const n=[];for(const o of t){const i=La(e,{key:`_ce_p_${o.key}`,label:o.label,icon:o.icon,title:o.memo,onClick:async(s,r)=>{xw(o,s,r);}});n.push(i);}return n}async function c$(e,t){const n=[...(await cr()).filter(s=>s.enabled),...ZS.filter(s=>s.enabled),...(await Si(so.search)).filter(s=>s.enabled)];let o=n.find(s=>s.key===t.defaultSearch);o||(o=n.find(s=>s.key===dr));let i;return e.searchOpenType!==Bu.undefined&&(i=e.searchOpenType===Bu.background),new ll({key:"_s_search_d",label:"搜索",icon:o?.icon||"",title:"批量搜索"+(o?.memo?" - "+o.memo:""),onClick:async(s,r)=>{r.stopPropagation(),r.preventDefault(),o&&await gr(s,o,r,t,void 0,Ie.selection,i);},subItems:[...await sl(ao,n,void 0,Ie.selectionSub,i)]})}async function d$(e){if(!e.hideSelectionMenuLabel)return;const t=await tt("#js_operate_box");new MutationObserver(async([o])=>{if(o.type==="childList"){const i=t.querySelectorAll("li[menu]");for(let s=0;s<i.length;s++){const r=i[s],a=r.textContent;r.setAttribute("title",a||"");}}}).observe(t,{childList:true}),t.classList.add("only-icon");}async function f$(e){const{[Ie.selection]:t}=e;if(!t.enabled)return;const n=[],o=await e$(t);o&&n.push(o),t.copyNames&&n.push(await s$(t)),t.play&&n.push(await a$()),t.search&&n.push(await c$(t,e)),new Bk({items:n,position:xo.before,siblingSelector:"ul li"}).inject();}async function p$(e,t){if(t||(t=await ut()),!t||!t[Ie.shareListItemHover]?.enabled)return;const i=(r=>{let a="";for(const l of r)l.enabled&&(a+=l.body);return a})([{label:"_",body:'<a href="javascript:;" menu="_s_null_" style="display:none"><span>_</span></a>',enabled:true}]);(()=>{const r="ce-menu-init",a=ab(`#js-list li:not(.${r})`);for(let l=0;l<a.length;l++){const c=a[l];let u=c.querySelector(".file-opr");u?(c.classList.add(r),u.innerHTML+=i):(u=ze(`<div class="file-opr ${r}" rel="menu"></div>`),u.innerHTML=i,c.appendChild(u));}})();}async function _w(e){let t=e.pageWidth.trim();const n="ce-share-page-width";let o=sb(`#${n}`,`<style id="${n}"></style>`);t=/^\d+$/.test(t)?`${t}px`:t,o.innerHTML=t?`div.wrap-sharing { width: ${t} !important; }`:"",document.contains(o)||document.head.appendChild(o);const i=!!t&&!/px$/.test(t);h$(i);}function Cw(){const e=Ue(".top-vflow");if(!e)return;const t=Ue('a[btn="save"]');if(!t)return;const n=t.getBoundingClientRect(),o=Ue("#save_directly");o&&(o.style.left=n.left-e.getBoundingClientRect().left+"px");}const cp=lt(Cw,200);let Or=false;function h$(e){setTimeout(Cw,500),e&&!Or?(window.addEventListener("resize",cp),Or=true):!e&&Or&&(window.removeEventListener("resize",cp),Or=false);}async function m$(e){if(!e.autoConfirmPassword)return;let t=tr("password");if(!t||(t=t.replace(/(\?.*)?$/,""),(await tt(".form-decode .form-item input")).value!==t))return;(await tt(".form-decode .submit a.button")).click(),Y({icon:"success",text:"自动确定访问码",timer:1e3,position:"top-right"});}async function g$(e){const t=await tt("#js-list"),n=await ut(),o=s=>{Zl(e),p$(e,n);};new MutationObserver(o).observe(t,{childList:true}),t.addEventListener("mousedown",lt(s=>{Zl(e);},200));try{(await tt('[btn="check_all"]')).addEventListener("mousedown",lt(r=>{Zl(e);},200));}catch(s){console.error(s);}}function Ys(e){e instanceof HTMLElement||(e=e[0]);const t=e.getAttribute("fid"),n=e.getAttribute("cid"),o=!!t;return {id:t||n,name:e.getAttribute("file_name"),sizeBytes:parseInt(e.getAttribute("file_size")||"0"),isFile:o,isDir:!o,snapId:e.getAttribute("snap_id"),parentId:o?n:"",hash:e.getAttribute("sha1")||"",checked:e.classList.contains("selected")}}function w$(e){const t={num:0,filesNum:0,filesSize:0,foldersNum:0,selectedNum:0,selectedFilesNum:0,selectedFilesSize:0,selectedFoldersNum:0};for(const n of e)t.num+=1,n.isFile?(t.filesNum+=1,t.filesSize+=n.sizeBytes):t.foldersNum+=1,n.checked&&(t.selectedNum+=1,n.isFile?(t.selectedFilesNum+=1,t.selectedFilesSize+=n.sizeBytes):t.selectedFoldersNum+=1);return t}async function Zl(e){if(!e.showListSummary)return;const t=await tt(".list-header"),o=(await tt("ul#js-list")).querySelectorAll("li"),i=Array.from(o).map(Ys),s=w$(i),r=t.querySelector(".header-name"),a=[];s.num&&a.push(`共${s.num}项`),s.filesNum&&a.push(`${s.filesNum}个文件,合计${Ki(s.filesSize)}`),s.foldersNum&&a.push(`${s.foldersNum}个目录`);const l=[];s.selectedNum&&(s.selectedFilesNum&&l.push(`${s.selectedFilesNum}个文件,合计${Ki(s.selectedFilesSize)}`),s.selectedFoldersNum&&l.push(`${s.selectedFoldersNum}个目录`));const c=`
    <span class="ce-list-summary">
      ${a.join(", ")}
      ${l.length?`。已选中${l.join(",")}`:""}
    </span>
  `;let u=r.querySelector(".ce-list-summary");u?u.outerHTML=c:(u=ze(c),r.appendChild(u));}async function kw(e){const t="ce-share-page";document.body.classList.add(t),parent.document.body.classList.add(t);const n="ce-share-fresh";e.freshMode?document.body.classList.add(n):document.body.classList.remove(n);}async function y$(){window.addEventListener("message",async e=>{const t=e.data.event,n=e.data.body;t===ot.shareConfigChange&&(_w(n),kw(n));});}let b$=[];async function v$(e,t){const n=[...(await cr()).filter(i=>i.enabled),...b$.filter(i=>i.enabled),...(await Si(so.search)).filter(i=>i.enabled)];let o=n.find(i=>i.key===t.defaultSearch);return o||(o=n.find(i=>i.key===dr)),new qg({key:"_s_search_with_name_d",label:"搜索",icon:o?.icon||"",title:o?.memo||"搜索",onClick:async(i,s)=>{s.stopPropagation(),s.preventDefault(),o&&await gr(i,o,s,t,Ys,Ie.shareListItemHover);},subItems:[...await sl(cd,n,Ys)]})}async function Rr(e,t){return new cd({key:`_s_lh_copy_info_${t}`,label:e,icon:"icon-operate ifo-copy",title:`复制${e}`,onClick:async(n,o)=>{o.stopPropagation(),o.preventDefault();const i=$(o.target).closest("li"),s=Ys(i[0]),r=await ut(),a=await Xt(),c=wr([s],t,u=>r.cloudDriveFormalization?cn(a,u):u);ft(c.join(`
`)),Y({title:`复制${e}`,text:`已复制${e},CloudDrive文件名规范: ${r.cloudDriveFormalization?"是":"否"}`,icon:"success",timer:1e3});}})}async function dp(e){return new cd({key:"_s_lh_copy_sha1",label:"文件sha1"+(e?"(带文件名)":""),icon:"icon-operate ifo-copy",title:"复制文件sha1"+(e?"。格式为 xxx//yyy,xxx为sha1,yyy为文件名":""),onClick:async(t,n)=>{n.stopPropagation(),n.preventDefault();const o=$(n.target).closest("li"),i=Ys(o[0]);if(i.isDir){Y({text:"该功能仅对文件有效",icon:"warning",timer:2e3});return}const s=i.hash+(e?`//${i.name}`:"");ft(s),Y({title:"复制文件sha1",text:"已复制文件sha1",icon:"success",timer:1e3});}})}async function x$(e){const t=Vg().namePathConfig,{namePathConfig:n=t}=e,o=[];return n.copyFullName&&o.push(await Rr("完整名称",gt.full)),n.copyPureName&&o.push(await Rr("不含后缀名称",gt.pure)),n.copyId&&o.push(await Rr("ID",gt.id)),n.copyPickCode&&o.push(await Rr("PickCode",gt.pickCode)),n.copySha1&&o.push(await dp(false)),n.copySha1WithName&&o.push(await dp(true)),new qg({key:"_s_lh_copy_name_path",label:"名称",title:"复制文件名称",subItems:o})}async function _$(e){const{[Ie.shareListItemHover]:t}=e;if(!t.enabled)return;const n=[];t.search&&n.push(await v$(t,e)),t.copyNames&&n.push(await x$(t)),new Ok({items:n,position:xo.after,siblingSelector:'[menu="_s_null_"], [btn="prosecute"]'}).inject();}async function C$(){const{host:e}=location;if(!e.includes("115.com")&&!wu())return;console.log("[Cloud115 Enhancer - menu] running..."),k$(),document.addEventListener(bn.EVENT_CLOSE_MENU,n=>{$("#"+n.detail.menu.key).closest(".context-menu").hide();});const t=await ut();t.enabled&&(S$(t),await Hg(t),window.top===window.self&&KS(t),QS(t),(_n()||io())&&(XS(t),f$(t),d$(t)),wu()&&_$(t));}async function k$(){const e="ceCustomUrlHelp",t=document.createElement("div");t.id=e,document.body.appendChild(t);const n=co(q2);n.component("VDropdown",Pi),n.mount(`#${e}`);}async function S$(e){e.manageOfficialMenus&&(np(),window.addEventListener("message",async t=>{t.data.event===ot.officialMenuStyleChange&&(console.log("[Cloud115 Enhancer - menu] officialMenuStyleChange",location.href),await At(1e3),console.log(await hw()),np());}));}var sn=(e=>(e[e.any=-999]="any",e[e.failed=-1]="failed",e[e.illegal=0]="illegal",e[e.ing=1]="ing",e[e.success=2]="success",e))(sn||{});const $$={[-1]:"失败",0:"违规",1:"下载中",2:"成功"};var tn=(e=>(e.all="all",e.failed="failed",e.success="success",e.magnet="magnet",e.magnetEd2k="magnetEd2k",e))(tn||{});const Sw=wt.offline;var qr=(e=>(e.name="name",e.nameRegex="nameRegex",e.infoHash="infoHash",e.url="url",e))(qr||{});const E$={name:"名称",nameRegex:"名称正则",infoHash:"哈希",url:"链接"};var bi=(e=>(e.selection="ce-offline-selection",e.configChanged="ce-offline-config-changed",e.searchPageChanged="ce-offline-search-page-changed",e))(bi||{});function A$(e){return {onlyMagnetEd2k:false,enableOptimization:true,reqInterval:500,maxPage:0,showInfoHash:true,enableListManagement:true,fixGotoPage:false,enableSearcher:true,searchMaxPage:5,searchKeywordType:"name",searchStatus:sn.any,searchStopOnFound:false,searchReqInterval:10,noGotoTaskPage:true,batchDeleteHttpFtp:false,...e}}async function no(){const e=A$(),t=await Xe.get(Sw,e);return {...e,...t}}async function $w(e){await Xe.set(Sw,e),window.postMessage({event:"ce-offline-config-changed",body:JSON.parse(JSON.stringify(e))},"*");}async function zu(e,t,n){const o=new URLSearchParams({page:e.toString(),uid:n.toString(),sign:t,time:fi().toString()});return (await Ot().post("https://115.com/web/lixian/?ct=lixian&ac=task_lists",o,{withCredentials:true,timeout:6e4})).data}async function Ew(){return (await Ot().get(`https://115.com/?ct=offline&ac=space&_=${Date.now()}`,{timeout:3e4,withCredentials:true})).data}async function Hu(e,t,n,o){const i={uid:o.toString(),sign:t.sign,time:fi().toString()};n&&(i.flag="1");const s=A0(i);return e.forEach((a,l)=>{s.append(`hash[${l}]`,a);}),(await Ot().post("https://115.com/web/lixian/?ct=lixian&ac=task_del",s,{timeout:12e4,withCredentials:true})).data}var P$={name:"115不大助手"};async function I$(e){const t=await tt("#js-warp"),n=t.querySelectorAll("li[complete]");if(n.length>0)for(const i of Array.from(n))await fp(i,e);M$(e),new MutationObserver(async([i])=>{if(i.type==="childList"){i.addedNodes.forEach(async a=>{await fp(a,e);});const s=document.querySelector(".ce-checkbox-all input"),r=await hl();if(!r.length)s.checked=false,s.indeterminate=false;else {const a=t.querySelectorAll("li[complete]");s.checked=r.length===a.length,s.indeterminate=!s.checked;}await ml(r);}}).observe(t,{childList:true});}async function D$(e){const t=e;return {complete:t.getAttribute("complete"),cate_id:t.getAttribute("cate_id"),delete_id:t.getAttribute("delete_id"),status:t.getAttribute("status"),suffix:t.getAttribute("suffix"),name:t.getAttribute("name"),hash:t.getAttribute("hash")}}async function fp(e,t){const n=e,o=await D$(e);B$(n,t,o),T$(n,t,o),L$(n,t,o);}async function T$(e,t,n){if(!t.showInfoHash||e.querySelector(".info-hash"))return;const o=e.querySelector(".file-name"),i=ze(`
    <div class="info-hash" title="点击复制${n.hash}">${n.hash}</div>
  `);o.after(i),i.addEventListener("click",()=>{ft(n.hash),Y({text:"已复制",icon:"success",timer:800});});const s=e.querySelector(".desc-tips");s&&s.style.display!=="none"&&e.classList.add("ce-task-trouble");}async function L$(e,t,n){const o=e.querySelector(".file-operate");if(o.querySelector(".ce-buttons"))return;const i=ze('<span class="ce-buttons"></span>'),s=ze(`
    <a target="_blank" class="pure-button button-mini button-info">打开</a>
  `);s.href=On(n.cate_id),s.title="在新标签页打开目录",i.append(s),o.prepend(i);}async function M$(e){if(!e.enableListManagement)return;const t=await tt("#js-main .header-name");let n=t.querySelector(".ce-checkbox-all");n||(n=ze(`
      <div class="ce-checkbox ce-checkbox-all">
        <input type="checkbox"/>
      </div>
    `),t.prepend(n)),n.addEventListener("click",()=>{const o=n.querySelector("input").checked;document.querySelectorAll("#js-warp li").forEach(s=>{const r=s.querySelector("input");r.checked=o,s.classList.toggle("ce-selected",o);}),hl().then(s=>{ml(s);});});}async function B$(e,t,n){if(!t.enableListManagement||e.querySelector(".ce-checkbox"))return;const o=e.querySelector(".file-name-wrap"),i=ze(`
    <div class="ce-checkbox">
      <input type="checkbox" data-id="${n.hash}" />
    </div>
  `);o.prepend(i),e.classList.add("ce-show-checkbox"),i.addEventListener("click",async s=>{s.shiftKey?await R$(s,e):await O$(s,e);});}async function O$(e,t){t.classList.toggle("ce-selected");const n=document.querySelector(".ce-checkbox-all input"),o=await Pw();let i=0;for(const r of o)r.classList.contains("ce-selected")&&i++;const s=i===o.length;n.checked=s,n.indeterminate=!s&&i>0,hl().then(r=>{ml(r);});}async function R$(e,t){const n=await Pw(),o=n.indexOf(t);let i=-1;for(let u=0;u<o;u++)if(n[u].classList.contains("ce-selected")){i=u;break}if(i===-1){for(let u=n.length-1;u>o;u--)if(n[u].classList.contains("ce-selected")){i=u;break}}i=i===-1?o:i;const s=Math.min(i,o),r=Math.max(i,o);let a=0;for(let u=0;u<n.length;u++){const f=n[u],p=f.querySelector(".ce-checkbox input"),w=u>=s&&u<=r;p.checked=w,w&&a++,f.classList.toggle("ce-selected",w);}const l=s===0&&r===n.length-1,c=document.querySelector(".ce-checkbox-all input");c.checked=l,c.indeterminate=!l&&a>0,hl().then(u=>{ml(u);});}async function Aw(e){const t={info_hash:e.getAttribute("hash"),status:Number(e.getAttribute("status")),name:e.getAttribute("name"),file_id:e.getAttribute("cate_id"),delete_file_id:e.getAttribute("delete_id"),url:e.querySelector(".file-operate [cp_href]")?.getAttribute("cp_href")||""};return t.name||(t.name=e.querySelector(".file-name").textContent.trim()),t}async function Pw(e){const t=document.querySelectorAll("#js-warp li"),n=[];return t.forEach(async o=>{const i=o;n.push(i);}),n}async function hl(){const e=document.querySelectorAll("#js-warp li"),t=[];return e.forEach(async n=>{const o=n;if(o.classList.contains("ce-selected")){const i=await Aw(o);t.push(i);}}),t}async function ml(e){window.postMessage({event:bi.selection,body:e},"*");}async function Vu(e){document.querySelectorAll("#js-warp li").forEach(async n=>{const o=n,i=o.getAttribute("hash");e.includes(i)&&Xp(o);});}async function F$(e,t,n,o){const i=[],s=n.maxPage||5;let r="",a=null,l="",c="",u="";n.name!==void 0&&(r=n.caseSensitive?n.name:n.name.toLowerCase()),n.nameRegex!==void 0&&(a=new RegExp(n.nameRegex)),n.infoHash!==void 0&&(l=n.caseSensitive?n.infoHash:n.infoHash.toLowerCase()),n.url!==void 0&&(c=n.caseSensitive?n.url:n.url.toLowerCase()),n.status!==void 0&&n.status!==sn.any&&n.status.toString()!==""&&(u=n.status.toString());let f=n.stopOnFound||false;(l||c)&&(f=true);let p=-1;for(let w=1;w<=s&&!(p>-1&&w>p);w++){window.postMessage({event:bi.searchPageChanged,body:w},"*");const g=await zu(w,e,t);p===-1&&(p=g.page_count);const b=g.tasks;for(const v of b){const k=n.caseSensitive?v.name:v.name.toLowerCase(),P=n.caseSensitive?v.info_hash:v.info_hash.toLowerCase(),A=n.caseSensitive?v.url:v.url?.toLowerCase(),I=r&&n.fuzzyName?k.includes(r):false,M=a?a.test(k):false,z=l&&P===l,N=c&&A===c;if((u?u===v.status.toString():true)&&(I||M||z||N)&&(i.push(v),f))break}if(f&&i.length)break}return i}async function N$(){if(!(await no()).fixGotoPage)return;const t=await tt("#js-page");if(!t){console.warn("[fixGotoPage] 找不到`#js-page`");return}const n=async r=>{if(r.key!=="Enter")return;const a=r.target,l=parseInt(a.value);if(isNaN(l)){a.select();return}parent.window.Core.OFFL5Plug.ChangePage(l);},o=async(r=false)=>{const a=t.querySelector('input[rel="page_jump"]');if(!a)return;const l=ze(`
      <input rel="page_jump" type="text" style="background-color: #fefcea;" />
    `);l.title=`这是 ${P$.name} 替换的输入框,如果想恢复原有的输入框,请在「离线设置」中关闭「修复输入页码跳转」选项`,l.addEventListener("keydown",n),a.insertAdjacentElement("beforebegin",l),a.remove(),r&&l.focus();},i=lt(async r=>{o(true);},50),s=new MutationObserver(async([r])=>{r.type==="childList"&&i(r);});o(false),s.observe(t,{childList:true});}async function U$(e){const t=St();if(!e.noGotoTaskPage||window!==window.top||t.Core.OFFL5Plug)return;async function n(o){t.Core&&o(true);}try{await Ko(n,250,3e4),t.Core.OFFL5Plug||t.$.getScript("https://cdnres.115.com/site/static/plug/offline_wl/offline5.0.js",()=>{t.Core.OFFL5Plug.AddClient({});});}catch(o){throw new Error(`[disableGotoTaskPage] wait Core failed:${o.message}`)}}const j$={class:"ce-config ce-offline-config"},z$={class:"pure-control-group"},H$={class:"pure-control-group"},V$={class:"pure-control-group"},q$={class:"pure-control-group"},W$={class:"pure-control-group"},K$={class:"pure-control-group"},G$={class:"pure-control-group"},J$={class:"pure-control-group"},Y$=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Bt(()=>no()),t=await t,n(),t));return $t(async()=>{}),He(o,lt(async i=>{await $w(i),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},500),{deep:true}),(i,s)=>(_(),E("div",j$,[d("form",{class:"pure-form pure-form-aligned offline-exporter-config-form",onSubmit:s[8]||(s[8]=ht(()=>{},["prevent"]))},[d("fieldset",null,[d("div",z$,[s[9]||(s[9]=d("label",{for:"noGotoTaskPage"},"添加任务后不跳转",-1)),G(d("input",{id:"noGotoTaskPage",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=r=>o.value.noGotoTaskPage=r)},null,512),[[ye,o.value.noGotoTaskPage]]),s[10]||(s[10]=d("div",{class:"pure-form-message text-success"}," 官方的添加离线任务在添加任务后可能会跳转到任务列表页,开启此选项可以避免跳转。 ",-1))]),d("div",H$,[s[11]||(s[11]=d("label",{for:"enableListManagement"},"启用批量管理",-1)),G(d("input",{id:"enableListManagement",type:"checkbox","onUpdate:modelValue":s[1]||(s[1]=r=>o.value.enableListManagement=r)},null,512),[[ye,o.value.enableListManagement]]),s[12]||(s[12]=d("div",{class:"pure-form-message text-success"}," 可以选中多个任务进行操作,支持shift多选。 ",-1))]),d("div",V$,[s[13]||(s[13]=d("label",{for:"showInfoHash"},"显示链接哈希",-1)),G(d("input",{id:"showInfoHash",type:"checkbox","onUpdate:modelValue":s[2]||(s[2]=r=>o.value.showInfoHash=r)},null,512),[[ye,o.value.showInfoHash]]),s[14]||(s[14]=d("div",{class:"pure-form-message text-success"}," 显示离线任务的哈希文本,点击可以复制。 ",-1))]),d("div",q$,[s[15]||(s[15]=d("label",{for:"fixGotoPage"},"修复输入页码跳转",-1)),G(d("input",{id:"fixGotoPage",type:"checkbox","onUpdate:modelValue":s[3]||(s[3]=r=>o.value.fixGotoPage=r)},null,512),[[ye,o.value.fixGotoPage]]),s[16]||(s[16]=d("div",{class:"pure-form-message text-success"}," 如果官方的输入页码跳转功能异常,可开启此选项。 ",-1))]),d("div",W$,[s[17]||(s[17]=d("label",{for:"batchDeleteHttpFtp"},"批量删除http(s)/ftp任务",-1)),G(d("input",{id:"batchDeleteHttpFtp",type:"checkbox","onUpdate:modelValue":s[4]||(s[4]=r=>o.value.batchDeleteHttpFtp=r)},null,512),[[ye,o.value.batchDeleteHttpFtp]]),s[18]||(s[18]=d("div",{class:"pure-form-message text-success"},[T(' "根据链接删除"功能支持http,https,ftp链接。'),d("b",{class:"text-danger"},"请注意,需要先查找到对应的任务才能删除"),T("。 ")],-1))]),s[25]||(s[25]=d("div",{class:"ce-tips"},"以下是导出链接相关选项",-1)),d("div",K$,[s[19]||(s[19]=d("label",{for:"onlyMagnetEd2k"},"只取磁力和ED2K链接",-1)),G(d("input",{id:"onlyMagnetEd2k",type:"checkbox","onUpdate:modelValue":s[5]||(s[5]=r=>o.value.onlyMagnetEd2k=r)},null,512),[[ye,o.value.onlyMagnetEd2k]]),s[20]||(s[20]=d("div",{class:"pure-form-message text-success"}," 导出链接时,只取磁力和ED2K链接,其他比如http链接会被略过。 ",-1))]),d("div",G$,[s[21]||(s[21]=d("label",{for:"enableOptimization"},"启用导出优化",-1)),G(d("input",{id:"enableOptimization",type:"checkbox","onUpdate:modelValue":s[6]||(s[6]=r=>o.value.enableOptimization=r)},null,512),[[ye,o.value.enableOptimization]]),s[22]||(s[22]=d("div",{class:"pure-form-message text-success"}," 据观察,离线记录列表是将未完成的记录放在最前面的。如果只需导出未完成链接, 当获取到一个已完成的记录时,便可以停止继续获取后面的记录,节省时间。 ",-1))]),d("div",J$,[s[23]||(s[23]=d("label",{for:"maxPage"},"最多导出页数",-1)),G(d("input",{id:"maxPage",type:"number","onUpdate:modelValue":s[7]||(s[7]=r=>o.value.maxPage=r),min:0},null,512),[[Ve,o.value.maxPage]]),s[24]||(s[24]=d("div",{class:"pure-form-message text-success"}," 0表示不限制,否则表示最多导出的页数。 ",-1))])])],32)]))}}),Iw=Pe(Y$,[["__file","Config.vue"]]);function pp(e){return /^magnet:\?xt=urn:btih/.test(e)}function hp(e){return /^ed2k:\/\/\|file\|/.test(e)}function Q$(e){return /^https?:\/\//.test(e)}function X$(e){return /^ftp:\/\//.test(e)}function mp(e){return `magnet:?xt=urn:btih:${e.toUpperCase()}`}function Dw(e){const t=e.match(/([a-z\d]{32,40})/i);return t?t[1]:""}function Z$(e,t=true){return (t?/^([a-z\d]{32})$|^([a-z\d]{40})$/i:/^[a-z\d]{32,40}$/i).test(e)}async function Tw(){const t=(await Ot().get("https://my.115.com/?ct=ajax&ac=nav",{timeout:3e4,withCredentials:true})).data;if(t.state)return t.data;throw new Error(t.error)}const eE={class:"ce-offline-exporter"},tE={key:0},ws=`\r
`,nE=xe({__name:"OflineExporter",setup(e){let t,n;const o=K([]);let i={};qt(async()=>{i=await no(),t=await Tw(),console.log("[profile]",t),n=await Ew(),console.log("[space]",n),s(),await I$(i);});async function s(){window.addEventListener("message",v=>{const{event:k,body:P}=v.data;switch(k){case bi.selection:o.value=P;break;case bi.configChanged:i=P;break}},false);}async function r(v=false,k=""){const P=await no(),{isConfirmed:A,value:I}=await V.fire({title:"根据链接删除离线任务",html:`
      <div>每行一个链接,支持磁力链接和ED2K链接</div>
      <div>
        <label class="swal2-checkbox">
          <input type="checkbox" id="swalDeleteFile">
          <span class="swal2-label text-danger">同时删除文件</span>
        </label>
      </div>
      <div>
        <label class="swal2-checkbox">
          <input type="checkbox" id="swalBatchDeleteHttpFtp" ${P.batchDeleteHttpFtp?"checked":""}>
          <span class="swal2-label">支持http(s)/ftp链接(<span class="text-danger">需逐个查找后删除!</span>)</span>
        </label>
      </div>
      <div>
        <textarea id="swalUrls" aria-label="每行一个链接" class="swal2-textarea" placeholder="每行一个链接" style="width:80%;"></textarea>
      </div>
    `,focusConfirm:false,didOpen:()=>{const B=document.getElementById("swalDeleteFile");B.checked=v;const O=document.getElementById("swalUrls");O.value=k,O.focus();},preConfirm:()=>{const B=document.getElementById("swalUrls");if(!(B?B.value.trim():""))return V.showValidationMessage("请输入链接!"),B.select(),false;const W=document.getElementById("swalDeleteFile"),le=document.getElementById("swalBatchDeleteHttpFtp");return {deleteFile:W?W.checked:false,batchDeleteHttpFtp:le?le.checked:false,urls:B?B.value.trim():""}},width:620,inputPlaceholder:"每行一个",inputAttributes:{"aria-label":"每行一个"},showCancelButton:true,confirmButtonText:"确定",cancelButtonText:"取消",customClass:{popup:"ce-swal-text-left"}});if(!A)return;if(!I||!I.urls){Y({icon:"error",title:"请输入链接!"});return}console.log("[value]",I);const M=new Set,z=new Set,N=I.urls.trim().split(`
`);for(let B=0;B<N.length;B++){const O=N[B].trim();if(pp(O)||hp(O)){const W=Dw(O);W&&z.add(W.toLowerCase());}(Q$(O)||X$(O))&&M.add(O);}const se=[`共有 ${N.length} 行链接,`];let pe=0;if(z.size&&(pe+=z.size,se.push(`其中 ${z.size} 个是 magnet/ed2k 链接,`)),M.size&&(pe+=M.size,se.push(`其中 ${M.size} 个是 http(s)/ftp 链接,`)),!pe){Y({icon:"error",title:"没有有效链接"});return}if(z.size){const B=await a(Array.from(z),I.deleteFile);B&&se.push(`删除 magnet/ed2k 任务结果: ${B}`);}let ne={};if(M.size&&I.batchDeleteHttpFtp){const{issue:B,missingUrls:O=[]}=await l(Array.from(M),I.deleteFile,true);B&&se.push(`删除 http(s)/ftp 任务结果: ${B}`),O.length&&(se.push(`有 ${O.length} 个 http(s)/ftp 链接未找到对应任务,具体请点击"复制未找到链接"按钮查看。`),ne={showDenyButton:true,denyButtonText:"复制未找到链接",preDeny:async()=>(ft(O.join(ws)),Y({icon:"success",title:"已复制到剪贴板",timer:800,position:"top-end"}),false)});}V.fire({title:"操作完成",icon:"info",html:se.join("<br>"),customClass:{popup:"ce-swal-text-left"},...ne});}async function a(v,k){if(!v.length)return null;V.fire({html:`正在删除 ${v.length} 个任务...`}),V.showLoading();try{await Hu(v,n,k,t.user_id);}catch(P){console.error(P);const A=P.message||P.toString();return V.fire({title:"删除失败",icon:"error",html:A}),A}try{await Vu(v);}catch(P){console.error(P);}return `成功删除 ${v.length} 个任务`}async function l(v,k,P=false){if(!v.length)return {issue:null};const A=await no();if(!P&&!A.batchDeleteHttpFtp)return {issue:null};v=Array.from(new Set(v));let I=0;V.fire({html:`开始查找 ${v.length} 个 http(s)/ftp 任务...`}),V.showLoading();const M=()=>{const O=I?`,已找到 ${I} 个`:"";V.update({html:`正在查找 ${v.length} 个 http(s)/ftp 任务...${O}`});},z=new Map;let N=1;const se=A.maxPage>0?A.maxPage:9999;for(;;){M();const O=await zu(N,n.sign,t.user_id);if(!O.tasks||!O.tasks.length)break;for(const W of O.tasks)!W.url||!W.info_hash||v.includes(W.url)&&!z.has(W.url)&&(z.set(W.url,W.info_hash),I++,M());if(N>=se||N>=O.page_count)break;N++;}if(!z.size)return {issue:"未找到符合条件的 http(s)/ftp 任务"};const pe=v.filter(O=>!z.has(O)),ne=Array.from(z.values()),B=await a(ne,k);return B?{issue:B,missingUrls:pe}:{issue:null,missingUrls:pe}}async function c(){const v=o.value.map(I=>I.info_hash);if(!v.length)return;const{isConfirmed:k,value:P}=await V.fire({title:"批量删除",icon:"warning",html:`确定要删除选中的 ${v.length} 个离线记录吗?`,input:"checkbox",inputValue:0,inputPlaceholder:"同时删除文件",showCancelButton:true,confirmButtonText:"确定",cancelButtonText:"取消"});if(!k)return;const A=!!P;V.showLoading(),V.update({html:"正在删除..."}),await Hu(v,n,A,t.user_id),Y({icon:"success",title:"删除成功",timer:800,position:"top-end"}),await Vu(v),o.value=[];}async function u(v){const k=[v];i.onlyMagnetEd2k&&k.push(tn.magnetEd2k),console.log("[filters]",k),await b(n.sign,t.user_id,k);}function f(v,k){if(!k.length||k.length===1&&k[0]==="all")return v;const P={[sn.failed]:tn.failed,[sn.illegal]:tn.failed,[sn.ing]:tn.failed,[sn.success]:tn.success};return v=v.filter(A=>{if(!A.url&&!A.info_hash)return  false;const I=P[A.status];return k.includes(tn.all)||I&&k.includes(I)?!(k.includes(tn.magnetEd2k)&&(!Z$(A.info_hash)||A.url&&!pp(A.url)&&!hp(A.url))):false}),v}async function p(v,k,P){let A=[],I=1,M=0;for(;;){V.update({html:`正在导出... 进度:第 ${I} 页`+(M?` / ${M}`:""),allowOutsideClick:false});const z=await zu(I,v,k);if(!z.tasks||!z.tasks.length)break;if(M===0&&i.maxPage>0?M=Math.min(z.page_count,i.maxPage):M=z.page_count,A=[...A,...f(z.tasks,P)],i.enableOptimization&&P.includes(tn.failed)&&w(z.tasks)){console.warn("由于开启了导出优化,且检测到已获取的记录中至少有一个「已完成」的记录,将不再获取剩下的记录");break}if(I>=M)break;I++;}return A}function w(v){for(const k of v)if(k.status===sn.success)return  true;return  false}async function g(){const v=[tn.all];i.onlyMagnetEd2k&&v.push(tn.magnetEd2k),console.log("[filters]",v);const k=o.value;if(!k.length)return;const P=[];k.forEach(A=>{!A.url&&A.info_hash&&(A.url=mp(A.info_hash)),P.push(A.url);}),P.length&&(ft(P.join(ws)),console.log("[links]",P),await V.fire({title:"导出成功",icon:"success",html:`成功导出 ${P.length} 个链接,请粘贴到文本文件。`,showDenyButton:true,denyButtonText:"保存到txt",allowEscapeKey:false,allowOutsideClick:false,preDeny:async()=>(console.log("[saveAs]"),Yr(P.join(ws),`115离线链接_数量${P.length}_${fi()}.txt`),false)}));}async function b(v,k,P){V.fire({title:"导出离线链接",html:"正在导出...",didOpen:()=>{V.showLoading();}});const A=await p(v,k,P);if(V.hideLoading(),!A.length){await V.fire({title:"导出失败",icon:"error",html:"查询不到符合条件的离线记录!"});return}const I=[];if(A.forEach(M=>{!M.url&&M.info_hash&&(M.url=mp(M.info_hash)),I.push(M.url);}),!I.length){await V.fire({title:"导出失败",icon:"error",html:"未完成的离线记录中没有磁力或HTTP链接!"});return}ft(I.join(ws)),console.log("[links]",I),await V.fire({title:"导出成功",icon:"success",html:`成功导出 ${I.length} 个链接,请粘贴到文本文件。`,showDenyButton:true,denyButtonText:"保存到txt",allowEscapeKey:false,allowOutsideClick:false,preDeny:async()=>(console.log("[saveAs]"),Yr(I.join(ws),`115离线链接_数量${I.length}_${fi()}.txt`),false)});}return (v,k)=>{const P=ko("VDropdown");return _(),E("span",eE,[o.value.length?(_(),E("span",tE,[d("button",{type:"button",class:"pure-button button-small button-error",onClick:c},[k[4]||(k[4]=T("删除(",-1)),d("span",null,F(o.value.length),1),k[5]||(k[5]=T(")",-1))]),k[6]||(k[6]=T("      ",-1))])):fe("",true),d("button",{type:"button",class:"pure-button button-mini button-error",onClick:k[0]||(k[0]=A=>r(false,"")),title:"填写链接以删除对应的离线任务"},"根据链接删除"),k[9]||(k[9]=T("   ",-1)),o.value.length?(_(),E("button",{key:1,type:"button",class:"pure-button button-mini button-warning",onClick:g,title:"导出选中任务的链接"},[k[7]||(k[7]=T("导出已选",-1)),d("span",null,"("+F(o.value.length)+")",1)])):fe("",true),d("button",{type:"button",class:"pure-button button-mini button-error",onClick:k[1]||(k[1]=A=>u(te(tn).failed)),title:"导出未完成链接"},"导出未完成"),d("button",{type:"button",class:"pure-button button-mini button-success",onClick:k[2]||(k[2]=A=>u(te(tn).success)),title:"导出已完成链接"},"导出已完成"),d("button",{type:"button",class:"pure-button button-mini button-warning",onClick:k[3]||(k[3]=A=>u(te(tn).all)),title:"导出全部链接"},"导出全部"),k[10]||(k[10]=T("   ",-1)),ie(P,{distance:5,"arrow-padding":10},{popper:ge(()=>[(_(),nt(_g,null,{default:ge(()=>[ie(Iw)]),_:1}))]),default:ge(()=>[k[8]||(k[8]=d("button",{type:"button",class:"pure-button button-mini"},"设置",-1))]),_:1,__:[8]})])}}}),oE=Pe(nE,[["__file","OflineExporter.vue"]]),iE=["cate_id","delete_id","status","hash"],sE={class:"file-name-wrap"},rE={class:"file-name"},aE={task_popup:"goto",href:"javascript:;",class:"name"},lE={rel:"name"},uE={class:"desc-tips",rel:"file_down_violations"},cE={class:"txt-red",rel:"file_down_tips"},dE=["filename"],fE={class:"file-size"},pE={class:"file-process"},hE={rel:"progress"},mE={class:"file-operate",rel:"opt"},gE=["cp_href"],wE=xe({__name:"OfflineItem",props:{item:{},space:{},profile:{}},setup(e){const t=Ke(()=>s.item.percentDone?parseInt(s.item.percentDone.toString()):0),n=Ke(()=>{const{name:r,del_path:a}=s.item;let l=r.replace(/^.*\./,"");return a&&/\/$/.test(a)&&(l="folder"),/^[a-z\d]+$/i.test(l)||(l="unknown"),l}),o=Ke(()=>{const{err:r}=s.item;return r?B0[r]:""}),i=Ke(()=>s.item.can_appeal===1),s=e;return (r,a)=>(_(),E("li",{complete:"",cate_id:r.item.file_id,delete_id:r.item.delete_file_id,status:r.item.status,hash:r.item.info_hash},[d("div",sE,[d("i",{class:Te(["file-type",`tp-${n.value}`])},null,2),d("div",rE,[d("em",null,[d("a",aE,[d("span",lE,F(r.item.name),1)])])]),G(d("div",uE,[d("span",cE,F(o.value),1),G(d("a",{href:"javascript:;",class:"btn-link",filename:r.item.name,rel:"violations_down_btn"},"去申诉",8,dE),[[Gt,i.value]])],512),[[Gt,o.value]])]),d("div",fE,[d("span",null,F(te(Ki)(r.item.size)),1)]),d("div",pE,[r.item.status===te(sn).failed?(_(),E($e,{key:0},[a[0]||(a[0]=d("i",{class:"icon-file-status ifst-failure"},null,-1)),a[1]||(a[1]=d("span",{rel:"progress"},"下载失败",-1))],64)):r.item.status===te(sn).success?(_(),E($e,{key:1},[a[2]||(a[2]=d("i",{class:"icon-file-status ifst-success"},null,-1)),a[3]||(a[3]=d("span",{rel:"progress"},"下载成功",-1))],64)):r.item.status===te(sn).ing?(_(),E($e,{key:2},[a[4]||(a[4]=d("i",{class:"icon-file-status ifst-downing"},null,-1)),d("span",hE,F(t.value)+"%",1)],64)):r.item.status===te(sn).illegal?(_(),E($e,{key:3},[a[5]||(a[5]=d("i",{class:"icon-file-status ifst-violation"},null,-1)),a[6]||(a[6]=d("span",{rel:"progress"},"违规",-1))],64)):(_(),E($e,{key:4},[a[7]||(a[7]=d("i",{class:"icon-file-status ifst-failure"},null,-1)),a[8]||(a[8]=d("span",{rel:"progress"},"[未知]",-1))],64))]),d("div",mE,[a[10]||(a[10]=d("a",{href:"javascript:;",task_popup:"goto"},[d("i",{class:"icon-operate ifo-opendir"}),d("s",null,"跳转到目录")],-1)),d("a",{href:"javascript:;",cp_href:r.item.url,task_popup:"copy"},a[9]||(a[9]=[d("i",{class:"icon-operate ifo-copy"},null,-1),d("s",null,"复制",-1)]),8,gE),a[11]||(a[11]=d("a",{href:"javascript:;",class:"btn-delete-offline"},[d("i",{class:"icon-operate ifo-remove"}),d("s",null,"删除")],-1))])],8,iE))}}),yE=Pe(wE,[["__file","OfflineItem.vue"]]),bE={class:"ce-offline-list"},vE=xe({__name:"OfflineList",props:{items:{},space:{},profile:{}},setup(e){return (t,n)=>(_(),E("div",bE,[d("ul",null,[(_(true),E($e,null,je(t.items,(o,i)=>(_(),nt(yE,{Key:i,item:o,space:t.space,profile:t.profile},null,8,["Key","item","space","profile"]))),256))])]))}}),xE=Pe(vE,[["__file","OfflineList.vue"]]),_E={class:"form-item",label:"关键词"},CE=["value"],kE={class:"form-item"},SE={class:"form-item",label:"状态"},$E=["value"],EE=["value"],AE={class:"form-item",label:"页数"},PE={class:"form-item"},IE={key:0,title:"根据「名称/名称正则」查找时,是否在找到一个结果时停止继续查找"},DE={key:0,class:"search-tips"},TE={class:"tips-body"},LE={key:0},ME=xe({__name:"OfflineSearcher",setup(e){let t,n;const o=K(),i=K({KeywordType:qr.name,keyword:"",status:sn.any,maxPage:5,stopOnFound:false});let s={...i.value};const r=K(null),a=K(false),l=K([]),c=K(null),u=K({content:"",subContent:"",visible:false});qt(async()=>{t=await Tw(),n=await Ew(),o.value=await no(),i.value.KeywordType=o.value.searchKeywordType,i.value.status=o.value.searchStatus,i.value.maxPage=o.value.searchMaxPage,i.value.stopOnFound=o.value.searchStopOnFound,s={...i.value},document.body.addEventListener("click",z=>{I(z);}),f();}),He(i,lt(async z=>{console.log("[searchParams changed]",Ac(z)),w();},200),{deep:true});async function f(){window.addEventListener("message",z=>{const{event:N,body:se}=z.data;switch(N){case bi.searchPageChanged:p(se);break;case bi.configChanged:o.value={...se};break}},false);}async function p(z){console.log("[handleSearchPageChanged]",z),await M({subContent:`正在搜索第 ${z} 页...`,visible:true});}async function w(){const z=await no();let N=0;s.KeywordType!==i.value.KeywordType&&(z.searchKeywordType=i.value.KeywordType,N++),s.status!==i.value.status&&(z.searchStatus=i.value.status,N++),s.maxPage!==i.value.maxPage&&(z.searchMaxPage=i.value.maxPage,N++),s.stopOnFound!==i.value.stopOnFound&&(z.searchStopOnFound=i.value.stopOnFound,N++),N&&(await $w(z),console.log("[handleSearchParamsChange]",z),o.value={...z}),s={...i.value};}async function g(z){r.value?.select();}async function b(z){i.value.keyword="",r.value?.focus();}async function v(){l.value=[],i.value.keyword="",s={...i.value},await M({visible:false}),await P(false);try{parent.window.Core.OFFL5Plug.ChangePage(1);}catch(z){console.error(z);}}async function k(){l.value=[];let{keyword:z}=i.value;if(z=z.trim(),z===""){await gi(),r.value?.select(),Ri.fire({icon:"warning",title:"关键词不能为空!"});return}a.value=true,await M({content:"正在搜索...",subContent:"",visible:true});try{const N={status:i.value.status,maxPage:i.value.maxPage,fuzzyName:!0,caseSensitive:!1,stopOnFound:i.value.stopOnFound};N[i.value.KeywordType]=i.value.keyword,N.infoHash&&(N.infoHash=Dw(N.infoHash)),console.log("[search filter]",N);const se=await F$(n.sign,t.user_id,N,o.value);l.value=se,console.log("[search result]",se),se.length>0?await M({visible:!1}):await M({content:"没有符合条件的离线任务",subContent:"",visible:!0}),await P(!0);}catch(N){console.warn("[search error]",N),Ri.fire({icon:"error",title:N.toString()}),await M({content:"搜索失败!",subContent:N.toString(),visible:true});}finally{a.value=false;}}async function P(z=true){!l.value.length&&z&&Ri.fire({icon:"warning",html:"没有符合条件的离线任务"}),await gi();const N=c.value?.querySelector("ul");if(!N)return;const se=document.querySelector("ul#js-warp");se&&(se.innerHTML=N.innerHTML),await A(),r.value?.focus();}async function A(){const z=l.value.length,N=document.querySelector("#js-page");if(!N)return;const se=N.querySelector(".left-bvf span");se.textContent=`共搜索到 ${z} 个结果`;const pe=N.querySelector(".pagination .con");pe.style.display="none";}async function I(z){let N=z.target;if(N.classList.contains("ifo-remove")&&(N=N.closest("a")),!N.classList.contains("btn-delete-offline"))return;const se=N.closest("li"),pe=await Aw(se),ne=[pe.info_hash];let B={title:"删除离线记录",icon:"warning",html:`确定要删除「${pe.name}」吗?`,showCancelButton:true,confirmButtonText:"确定",cancelButtonText:"取消"};pe.delete_file_id&&(B={...B,input:"checkbox",inputValue:0,inputPlaceholder:"同时删除文件"});const{isConfirmed:O,value:W}=await V.fire(B);if(!O)return;const le=!!W;V.showLoading(),V.update({html:"正在删除..."}),await Hu(ne,n,le,t.user_id),Y({icon:"success",title:"删除成功",timer:800,position:"top-end"}),await Vu(ne);}async function M(z){u.value={...u.value,...z};}return (z,N)=>(_(),E("div",{class:Te(["ce-offline-searcher",{loading:a.value}])},[d("form",{inline:"",class:"pure-form search-form",size:"small",onSubmit:N[5]||(N[5]=ht(()=>{},["prevent"]))},[d("fieldset",null,[d("div",_E,[G(d("select",{"onUpdate:modelValue":N[0]||(N[0]=se=>i.value.KeywordType=se),size:"small",onChange:g},[(_(true),E($e,null,je(te(E$),(se,pe)=>(_(),E("option",{key:pe,value:pe},F(se),9,CE))),128))],544),[[yn,i.value.KeywordType]])]),d("div",kE,[d("div",{class:Te(["clearable-wrap",{"is-empty":i.value.keyword===""}])},[G(d("input",{ref_key:"refKeyword",ref:r,"onUpdate:modelValue":N[1]||(N[1]=se=>i.value.keyword=se),placeholder:"请输入关键词",clearable:"",onKeyup:Og(k,["enter"])},null,544),[[Ve,i.value.keyword]]),d("button",{type:"button",class:"pure-button pure-button-default button-xsmall btn-clear",onClick:b},"×")],2)]),d("div",SE,[G(d("select",{"onUpdate:modelValue":N[2]||(N[2]=se=>i.value.status=se),placeholder:"请选择",clearable:"",style:{width:"90px"}},[d("option",{value:te(sn).any},"-状态-",8,$E),(_(true),E($e,null,je(te($$),(se,pe)=>(_(),E("option",{key:pe,value:pe},F(se),9,EE))),128))],512),[[yn,i.value.status]])]),d("div",AE,[G(d("input",{type:"number","onUpdate:modelValue":N[3]||(N[3]=se=>i.value.maxPage=se),min:1,max:1e5,title:"最多查找页数"},null,512),[[Ve,i.value.maxPage]]),N[6]||(N[6]=d("small",null,"页",-1))]),d("div",PE,[[te(qr).name,te(qr).nameRegex].includes(i.value.KeywordType)?(_(),E("label",IE,[G(d("input",{type:"checkbox","onUpdate:modelValue":N[4]||(N[4]=se=>i.value.stopOnFound=se),class:"stop-on-found"},null,512),[[ye,i.value.stopOnFound]]),N[7]||(N[7]=T(" 找到即停 ",-1))])):fe("",true),d("button",{type:"button",class:"pure-button pure-button-primary button-small",onClick:k},"查找"),N[8]||(N[8]=T("    ",-1)),d("button",{type:"button",class:"pure-button pure-button-default button-xsmall",onClick:v,title:"清空关键词;重置列表到非查找状态"},"重置")])])],32),d("div",{ref_key:"refList",ref:c,class:"list"},[ie(xE,{items:l.value,space:te(n),profile:te(t)},null,8,["items","space","profile"])],512),u.value.visible?(_(),E("div",DE,[d("div",TE,[d("h2",null,F(u.value.content),1),u.value.subContent?(_(),E("p",LE,F(u.value.subContent),1)):fe("",true)])])):fe("",true)],2))}}),BE=Pe(ME,[["__file","OfflineSearcher.vue"]]),OE='@charset "UTF-8";.cloud115-page-offline.ce-list-m .list-contents .file-name-wrap .desc-tips{left:75px}.cloud115-page-offline.ce-list-m li.ce-task-trouble .info-hash{left:210px!important}.cloud115-page-offline li .ce-buttons{float:left;margin-right:6px}.cloud115-page-offline .ce-checkbox{width:30px}.cloud115-page-offline .ce-checkbox input{display:block!important;width:20px;height:20px;cursor:pointer}.cloud115-page-offline #js-warp .info-hash{position:absolute;left:47px;top:25px;color:#ababab;cursor:pointer}.cloud115-page-offline #js-warp .info-hash.hover{color:#6ab2ff}.cloud115-page-offline #js-warp li.ce-selected:before{background:#ffe296!important}.cloud115-page-offline #js-warp li.ce-show-checkbox .info-hash{left:60px}.cloud115-page-offline #js-warp li.ce-show-checkbox .file-name{margin-left:15px}.cloud115-page-offline #js-warp li.ce-show-checkbox .file-type{left:25px!important}.cloud115-page-offline #js-warp li .ce-checkbox{width:30px;position:absolute;left:0}.cloud115-page-offline #js-warp li .ce-checkbox input{display:block!important;width:20px;height:20px;cursor:pointer}.cloud115-page-offline #js-warp li .desc-tips{position:absolute;left:60px;top:25px}.cloud115-page-offline.ce-offline-in-dialog .ce-offline-searcher,.cloud115-page-offline.ce-offline-in-dialog .ce-offline-exporter{left:100px}';Pt(OE);async function RE(){const e=await no(),{host:t,search:n}=location;t==="115.com"&&U$(e),!(t!=="115.com"||!n.includes("offline=1"))&&(n.includes("file_dialog_iframe")&&document.body.classList.add("ce-offline-in-dialog"),await FE(),await NE(),N$());}async function FE(){console.log("[Cloud115 Enhancer] Injecting offline exporter...");const e="cloud115OfflineExporter",t=await no();document.body.classList.add("cloud115-page-offline"),t.enableListManagement&&document.body.classList.add("ce-list-m"),$("body").append(`<div id="${e}"/>`);const n=co(oE);n.component("VDropdown",Pi),n.mount(`#${e}`);}async function NE(){console.log("[Cloud115 Enhancer] Injecting offline searcher...");const e="cloud115OfflineSearcher",t=await no();document.body.classList.add("cloud115-page-offline"),t.enableSearcher&&document.body.classList.add("ce-list-s"),$("body").append(`<div id="${e}"/>`);const n=co(BE);n.component("VDropdown",Pi),n.mount(`#${e}`);}var Jt=(e=>(e.UNKNOWN="unknown",e.OPEN_CLEANER="openCleaner",e.CLOSE_CLEANER="closeCleaner",e.CLEANER_OPENED="cleanerOpened",e.INVOKE_FILTER="invokeFilter",e.OPEN_EMPTY_CLEANER="openEmptyCleaner",e.CLOSE_EMPTY_CLEANER="closeEmptyCleaner",e.EMPTY_CLEANER_OPENED="emptyCleanerOpened",e))(Jt||{});const UE={class:"cloud115-eh-cleaner-trigger"},jE=xe({__name:"Trigger",setup(e){K(false);const t=K(true);async function n(a){switch(a.data.type){case Jt.INVOKE_FILTER:await ym(a.data.payload);break;case Jt.CLEANER_OPENED:await r(a.data.payload);break}}qt(async()=>{console.log("[CleanerTrigger onMounted]"),window.addEventListener("message",n);}),$i(()=>{console.log("[CleanerTrigger onUnmounted]"),window.removeEventListener("message",n);});async function o(){await s(),di({type:Jt.OPEN_CLEANER},window.parent);}let i;async function s(){const a=tr("cid");!a||a==="0"||(clearTimeout(i),i=setTimeout(async()=>{Y({icon:"error",text:"打开清理工具失败!"});},1e3));}async function r(a){console.log("成功打开Cleaner"),clearTimeout(i);}return (a,l)=>G((_(),E("span",UE,[Ge(a.$slots,"default",{},()=>[d("span",{class:"btn-open pure-button pure-button-primary",onClick:o,title:"打开清理文件工具"},l[0]||(l[0]=[d("span",null,"清理文件",-1)]))])],512)),[[Gt,t.value]])}}),zE=Pe(jE,[["__file","Trigger.vue"]]);function bd(e={}){return {initialized:false,suffixGroup:"",keywordGroup:"",showEntryOnPathBar:true,pageSize:1150,reqInterval:100,deleteSize:1150,keywordDefaultCategory:"all",keywordDefaultResult:"all",cleanWithoutConfirm:false,...e}}async function br(){const e=bd(),t=await Xe.get(wt.cleanerConfig,e);return {...e,...t,pageSize:1150,reqInterval:100,deleteSize:1150}}async function HE(e){return await Xe.set(wt.cleanerConfig,e)}async function vd(e){const t=await br();return await HE({...t,...e})}var Fe=(e=>(e[e.suffix=0]="suffix",e[e.keyword=1]="keyword",e))(Fe||{}),et=(e=>(e[e.filter=0]="filter",e[e.dirKeyword=1]="dirKeyword",e[e.fileKeyword=2]="fileKeyword",e[e.fileHash=3]="fileHash",e))(et||{});const Lw={0:"筛选",1:"目录名关键词",2:"文件名关键词",3:"文件sha1"};var Tt=(e=>(e[e.append=0]="append",e[e.cover=1]="cover",e[e.clear=2]="clear",e[e.reset=3]="reset",e[e.assign=4]="assign",e))(Tt||{}),yo=(e=>(e.all="all",e.file="file",e.dir="dir",e))(yo||{});const VE={all:"全部",file:"文件",dir:"目录"};var zo=(e=>(e.all="all",e.matched="matched",e.notMatched="unmatched",e))(zo||{});const qE={all:"全部",matched:"有匹配",unmatched:"无匹配"};var Et=(e=>(e.none="",e.prepare="查询文件...",e.prepared="查询文件完成",e.prepareFailed="查询失败",e.deleting="删除文件中...",e.success="清理完成",e.failed="清理失败",e))(Et||{});const WE=new Map([[mn.all,on.all],[mn.video,on.video],[mn.audio,on.audio],[mn.image,on.image],[mn.doc,on.doc],[mn.app,on.app],[mn.archive,on.archive]]),qu=$0(WE),KE=[["文件名关键词","广告abc","包含`广告abc`,不区分大小写"],["目录名关键词","#广告abc","在关键词前面加上`#`"],["策略-不可分割匹配",'"广告 abc"',"匹配`广告 abc啊`,不匹配`广告啊abc`,即空格部分也进行匹配,使用双引号包裹关键词。"],["文件sha1","7309dd0d50007e027180f02301ccba8ba0fd971f//文件xxx","关键词部分长度为40且只包含a-f0-9的文本会被视为sha1"],["策略-区分大小写","广告abc/s","在关键词后面加上`/s` (s 可理解为 sensitive 首字母)"],["策略-等于","广告abc.mp4/=","在关键词后面加上`/=`,不区分大小写"],["策略-等于且区分大小写","广告abc.mp4/==","在关键词后面加上`/==`,也可以用`/s,=` (多个策略使用英文逗号隔开)"],["策略-指定最大大小","广告abc.mp4/10","在关键词后面加上`/10`,该大小将覆盖所在分组的设定"],["策略-正则表达式","^abc/r","在关键词后面加上`/r`"],["添加备注","广告abc//备注内容","在策略后面加上`/备注内容`,`//`表示策略为空,有策略的示例: 广告abc/s/备注内容"]],GE="##",xd="#",JE="=",YE="==",QE="s",XE="r",Mw="#",ZE=[{type:Fe.suffix,queryOnly:false,label:"默认",memo:"请谨慎使用!",size:5,values:["txt","url","html","htm","mht"]},{type:Fe.suffix,queryOnly:true,label:"🔍115筛选",memo:"仅用于查询",size:102400,values:["#视频","#音频","#图片","#文档","#应用","#压缩包"]}],eA=["#論壇文宣","#宣傳文本","最新地址","最新网址","论坛地址","永久地址","地址发布","扫码 安装","扫码 下载","免費 掃碼","澳门 赌场","皇冠 赌场","免费18禁手游","免费黄游手游","在线影城","秀场 小视频","裸秀 主播 免费看","第一会所 宣传","SIS 影视联盟",'"最 新 位 址 獲 取"','"社 區 最 新 情 報"','"聚 合 全 網 H 直 播"'],tA=["#論壇文宣","美女 裸聊","秀场 视频","澳门 赌场","皇冠 赌场","影视 联盟","2048 社区","1024 社区","会所 宣传","扫码 安装","社区 关注","免費 掃碼","找回家","防屏蔽","封殺00","秀场 小视频","裸秀 主播 免费看",'"Free Adult Movie"',"奔驰宝马","最新网址","最新免費","免费试用","美女荷官","凤凰娛樂","观看指南","女神在线","更多无水印","免费在线","国产精品","免費原版","獨家資源","成人光碟","最新AV","FDZone","发布器","QR-1024","在這等你","激情祼聊","看妹不用等","真人祼聊","zz.jpg","X8B9.COM.gif","第一会所 宣传","SIS 影视联盟","淘精網","激情咖啡","手機影城","免费手机看片","U視娛樂","加微信","我愛看片手機版","平台正式上線"],nA=[{type:Fe.keyword,queryOnly:false,label:"默认",memo:"请谨慎使用!",size:100,values:eA},{type:Fe.keyword,queryOnly:false,label:"⚠️大杀器⚠️",memo:"请谨慎使用!",size:100,values:tA},{type:Fe.keyword,queryOnly:true,label:"远程关键词示例",size:100,values:[],url:"https://gist.githubusercontent.com/northsea4/a6c1945eb12fe7a7ef125c323b83b3fc/raw?t={t}"},{type:Fe.keyword,queryOnly:true,label:"只查询示例",memo:"这是一个示例",size:10240,values:["奔驰宝马","美女荷官",'"最 新 位 址 獲 取"']}];function ii(e={}){return {id:Date.now().toString(),type:Fe.keyword,queryOnly:false,label:"",values:"",memo:"",size:0,sort:0,createdAt:0,updatedAt:0}}function oA(e,t){if(e=e.trim(),t===Fe.keyword)return uA(e);if(t!==Fe.suffix)return null;const n=sA(e);return {type:et.filter,value:e,maxSize:-1,forDir:false,isFilter:n,pattern:n?rA(e).toString():e,num:-1,fileIds:[],size:-1,status:Et.none}}function iA(e){return [Et.prepare,Et.deleting].includes(e.status)}function gp(e,t){const n=[];return iA(e)&&n.push("active"),(e.type===et.filter||e.isFilter)&&n.push("is-filter"),e.type===et.dirKeyword&&n.push("is-dir"),e.num&&n.push(`item-${zo.matched}`),e.num===0&&n.push(`item-${zo.notMatched}`),n}function sA(e){return new RegExp(`^${Mw}[\\S]{2,}`).test(e)}function rA(e){const t=new RegExp(`^${Mw}`);let n=e.replace(t,"");const o=qu.get(n);if(!o)throw new Error(`"${e}"不是有效的筛选!`);return o}async function oi(e,t){let n;typeof e=="string"?n=e.split(/[\r\n]+/):n=e;const o=new Set;for(let s=0;s<n.length;s++){const r=n[s].trim();r.length>1&&o.add(r);}const i=[];return o.forEach(s=>{const r=oA(s,t);r&&i.push(r);}),i}function aA(e){return /(^'.+'$)|(^".+"$)/.test(e)}function wp(e,t){return e===""||!t.patternRegexp?false:(t.pattern,t.patternRegexp.test(e))}function yp(e,t,n){const o=Bw(e);o.num=0,o.size=0,o.fileIds=[];const i=new Set;let s=0;n.maxSize&&(s=n.maxSize*1024*1024),e.maxSize>=0&&(s=e.maxSize*1024*1024);for(let r=0;r<t.length;r++){const a=!!t[r].fid,l=a?t[r].fid:t[r].cid;if(!l||(e.type===et.dirKeyword||e.type===et.fileKeyword)&&(a&&e.type!==et.fileKeyword||!a&&e.type!==et.dirKeyword)||e.type===et.filter&&!a)continue;const c=parseFloat(t[r].s);s&&a&&c>s||e.type===et.fileKeyword&&!wp(t[r].n,e)||e.type===et.dirKeyword&&!wp(t[r].n,e)||e.type===et.fileHash&&t[r].sha!==e.pattern.toUpperCase()||i.has(l)||(i.add(l),o.size+=c);}return o.fileIds=Array.from(i),o.num=o.fileIds.length,o}function Bw(e={}){return {type:et.fileKeyword,value:"",pattern:"",patternRegexp:null,maxSize:-1,size:-1,fullMatch:false,caseSensitive:false,isRegexp:false,impartible:false,memo:"",...e}}function lA(e){if(e=e.trim().replace(/\/+$/,"").replace(/^\/+/,""),e==="")return null;const t={caseSensitive:false,fullMatch:false,maxSize:-1,isRegexp:false};let n=false;const o=e.split(/\s*,\s*/);for(let i=0;i<o.length;i++)o[i]=o[i].trim(),o[i]!==""&&(/^\d+$/.test(o[i])&&(t.maxSize=parseInt(o[i])),o[i]===JE&&(t.fullMatch=true),o[i]===YE&&(t.fullMatch=true,t.caseSensitive=true,n=true),o[i]===QE&&(t.caseSensitive=true,n=true),o[i]===XE&&(t.isRegexp=true));return t.isRegexp&&(t.caseSensitive=n?t.caseSensitive:false,t.fullMatch=false),t}function uA(e){const t=Bw();if(e=e.trim(),e===""||e.startsWith("//"))return null;if(/^[a-fA-F0-9]{40}(\/.*)?$/.test(e))return t.type=et.fileHash,t.value=e,t.pattern=e.substring(0,40).toLowerCase(),t.memo=e.length>41?e.substring(41):void 0,t;const n=/^(#+)?([^\/]+)(\/[^\/]*)?(\/.+)?/,o=e.match(n);if(o){if(o[2]==="")return null;if(o[3]){const i=lA(o[3]);i&&(t.caseSensitive=i.caseSensitive,t.fullMatch=i.fullMatch,t.maxSize=i.maxSize,t.isRegexp=i.isRegexp);}if(t.value=e,t.pattern=o[2].trim(),o[1]===GE)return t.type=et.filter,null;o[1]===xd?t.type=et.dirKeyword:t.type=et.fileKeyword,o[4]&&(t.memo=o[4].substring(1).trim());}return t.impartible=aA(t.pattern),t.impartible&&(t.pattern=t.pattern.replace(/^['"]|['"]$/g,"")),t.type===et.dirKeyword&&(t.maxSize=-1),t.patternRegexp=cA(t),t}function cA(e){if(e.pattern===""||![et.dirKeyword,et.fileKeyword].includes(e.type))return null;let t="";if(e.caseSensitive||(t+="i"),e.isRegexp)return new RegExp(e.pattern,t);let n=p0(e.pattern);return e.fullMatch&&(n=`^${n}$`),e.impartible||(n=n.replace(/\s+/g,".*")),new RegExp(n,t)}function dA(e){const{type:t,pattern:n,isRegexp:o}=e;return t===et.filter?qu.has(n)?{type:qu.get(n)}:/^\d$/.test(n)?{type:parseInt(n)}:{suffix:n}:o?{search_value:n.replace(/^\^/,"").replace(/\$$/,"")}:{search_value:n}}function ys(e,t,n){if(n){const o=ac(e,{});lu(e,{...o,...t});}else lu(e,t);}function fA(e={}){return Pc({okStatus:[200],useFileReader:false,fileReader:{encoding:"utf-8",checkBlank:true}},e)}async function Ow(e,t={}){return new Promise((n,o)=>{const i=t.useFileReader?"blob":"text";Ta({method:"GET",url:e,responseType:i,nocache:!t.cache,onload:async s=>{if(t.okStatus&&!t.okStatus.includes(s.status)&&o(new Error(`请求失败!status=${s.status},statusText=${s.statusText}`)),t.useFileReader){let r=s.response,a=new FileReader;a.onload=l=>{console.log("[load] onload",l);let c=l.target?.result;typeof c=="string"?t.fileReader.checkBlank&&c===""?o(new Error("读取内容为空字符串")):n(c):o(new Error("读取结果不是字符串"));},a.readAsText(r,t.fileReader.encoding);return}n(s.response);},onerror:s=>{console.error("[load] onerror",s),o(`请求失败!status=${s?.status},statusText=${s?.statusText}`);}});})}async function pA(e){try{new URL(e.url);}catch{throw new Error(`无效的URL:${e.url}`)}e.url.replace("{t}",Date.now().toString());let t="";try{t=await Ow(e.url);}catch(n){throw new Error(`无法加载URL:${n.toString()}`)}if(t=t.trim(),t==="")throw new Error("URL返回内容为空!");e.values=t,e.lastSync=fi();}const Rw=function(){return document.ontouchstart!==null?"click":"touchstart"},ka="__vue_click_away__",Fw=function(e,t,n){Nw(e);let o=n.context,i=t.value,s=false;setTimeout(function(){s=true;},0),e[ka]=function(r){if((!e||!e.contains(r.target))&&i&&s&&typeof i=="function")return i.call(o,r)},document.addEventListener(Rw(),e[ka],false);},Nw=function(e){document.removeEventListener(Rw(),e[ka],false),delete e[ka];},hA=function(e,t,n){t.value!==t.oldValue&&Fw(e,t,n);},mA={mounted:Fw,updated:hA,unmounted:Nw},gA=xe({__name:"Drawer",props:{isOpen:{type:Boolean,default:false},maxWidth:{default:"600px"},speed:{default:100},bgColor:{default:"#fff"}},emits:["close"],setup(e,{emit:t}){const n=e,o=K(false),i=K(false),s=l=>{const c=document.querySelector("body");c.style.overflow=l?"hidden":"";},r=l=>{l.target.classList.contains("ce-drawer__overlay")&&(i.value||a("close"));},a=t;return qt(()=>{o.value=n.isOpen;}),He(()=>n.isOpen,l=>{i.value=true,l?(s(true),o.value=true):(s(false),setTimeout(()=>o.value=false,n.speed)),setTimeout(()=>i.value=false,n.speed);}),(l,c)=>(_(),E("div",null,[d("div",{class:Te(["ce-drawer",{"is-open":l.isOpen,"is-visible":o.value}])},[d("div",{class:"ce-drawer__overlay",style:Zn({transitionDuration:`${l.speed}ms`})},null,4),G((_(),E("div",{class:"ce-drawer__content",style:Zn({maxWidth:l.maxWidth,transitionDuration:`${l.speed}ms`,backgroundColor:l.bgColor})},[Ge(l.$slots,"default")],4)),[[te(mA),r]])],2)]))}}),Qs=Pe(gA,[["__file","Drawer.vue"]]),wA={class:"k-p-e"},yA={class:"ce-tag-plain"},bA={class:"text-primary"},vA={class:"text-success"},xA={key:0,class:"ce-hr"},_A=xe({__name:"KeywordPatternExamples",setup(e){return (t,n)=>(_(),E("div",wA,[n[2]||(n[2]=d("h4",{style:{"margin-bottom":"6px"}},"关键词说明(前4种类型已满足大部分需求场景)",-1)),(_(true),E($e,null,je(te(KE),(o,i)=>(_(),E("div",{key:i},[d("div",null,[d("span",yA,F(o[0]),1),n[0]||(n[0]=T("  ",-1)),d("span",bA,F(o[1]),1),n[1]||(n[1]=T("  ",-1)),d("span",vA,F(o[2]),1)]),i===3?(_(),E("hr",xA)):fe("",true)]))),128))]))}}),Uw=Pe(_A,[["__file","KeywordPatternExamples.vue"]]),CA={class:"group-manager"},kA={key:0,class:"label-readonly",title:"当前分组只可用于查询"},SA={key:1,class:"label-readonly",title:"当前分组特征为远程文本"},$A=["title"],EA={class:"groups-list"},AA={key:0,class:"text-danger"},PA={class:"pure-table pure-table-bordered"},IA={align:"center"},DA=["onClick"],TA={class:"group-confirm-delete"},LA=["onClick"],MA=["onClick"],BA={class:"pure-form pure-form-stacked group-form"},OA={class:"pure-control-group"},RA={class:"pure-control-group"},FA={key:0,class:"pure-control-group"},NA={class:"pure-form-message"},UA={class:"pure-control-group"},jA={class:"pure-form-message"},zA={key:0,class:"text-info"},HA={key:1,class:"text-info"},VA=["onClick"],qA={class:"values"},WA={class:"v-input"},KA={class:"v-help"},GA={class:"pure-control-group"},JA={class:"pure-control-group"},YA=xe({__name:"GroupManager",props:{type:{},storageKey:{},config:{}},emits:["change"],setup(e,{emit:t}){const n=e,o=t,i=K(false),s=K(ii({type:n.type})),r=K([]),a=K(false),l=K(ii({type:n.type})),c=K(false),u=K(null),f=[on.video,on.audio,on.image,on.doc,on.app,on.archive];He(r,async ne=>{console.log("[groups change]",ne),ys(n.storageKey,ne,false),ne.length||(a.value=false,c.value=false);},{deep:true});let p=false;qt(async()=>{if(!p){p=true,r.value=ac(n.storageKey,[]),console.log("[groups]",r.value);const{suffixGroup:ne,keywordGroup:B}=n.config;if(r.value.length){const O=r.value.find(W=>W.id===(n.type===Fe.suffix?ne:B));console.log("[group last choosen]",O),s.value=O||r.value[0],o("change",s.value);}else n.type===Fe.suffix&&!ne&&(await I(),ys(wt.cleanerConfig,{suffixGroup:s.value.id},true)),n.type===Fe.keyword&&!B&&(await I(),ys(wt.cleanerConfig,{keywordGroup:s.value.id},true));}}),$i(async()=>{});async function w(ne){const B=`#${ne}`;l.value.values.includes(B)||(l.value.values+=(`
`+B).trim()+`
`);}async function g(){i.value=false;}async function b(){c.value=false;}async function v(){c.value=true,a.value=false;}async function k(){u.value.show();}async function P(){u.value.hide();}async function A(){l.value.createdAt&&(l.value=ii({type:n.type})),l.value.size=5,n.type===Fe.keyword&&(l.value.size=100),i.value=true;}async function I(){let ne=[];n.type===Fe.suffix?ne=ZE:ne=nA;for(let B=0;B<ne.length;B++){const O={...ii({type:ne[B].type}),...ne[B]};l.value=O,l.value.type=O.type,l.value.queryOnly=O.queryOnly,l.value.size=O.size,l.value.label=O.label,l.value.memo=O.memo,l.value.createdAt=0,l.value.updatedAt=0,Array.isArray(O.values)?l.value.values=O.values.join(`
`):l.value.values=O.values,await N(),await P();}r.value.length&&await se(r.value[0]);}async function M(ne,B=false){if(!B){const{isConfirmed:W}=await V.fire({html:`确定删除"${s.value.label}"?`,icon:"question"});if(!W)return}let O=-1;for(let W=0;W<r.value.length;W++)if(r.value[W].id===s.value.id){O=W;break}r.value.splice(O,1),r.value.length?s.value=r.value[0]:s.value=ii({type:n.type}),o("change",s.value),await Y({icon:"success",title:"删除成功!",timer:1500});}async function z(ne){l.value=ne,i.value=true;}async function N(){let ne=[];try{ne=await oi(l.value.values,l.value.type);}catch(ve){await V.fire({icon:"error",text:ve.message});return}if(l.value.label=l.value.label.trim(),l.value.memo=l.value.memo.trim(),l.value.label===""){await Y({icon:"warning",text:"请输入标题!"});return}let B=-1;for(let ve=0;ve<r.value.length;ve++)if(r.value[ve].id===l.value.id&&l.value.id){B=ve;break}const O=fi();l.value.updatedAt=O,l.value.createdAt||(l.value.createdAt=O);let W=[];for(let ve=0;ve<ne.length;ve++)W.push(ne[ve].value);l.value.values=W.join(`
`).trim(),console.log("[saveGroup]",l.value,B),B===-1?(r.value.push(l.value),Y({icon:"success",text:"添加成功"})):(r.value[B]=l.value,Y({icon:"success",text:"更新成功"}));const le=!s.value.createdAt;le&&(s.value=l.value),(l.value.id===s.value.id||le)&&o("change",l.value),await g();}async function se(ne){s.value=ne;const{id:B}=s.value;n.type===Fe.suffix&&(n.config.suffixGroup=B,ys(wt.cleanerConfig,{suffixGroup:B},true)),n.type===Fe.keyword&&(n.config.keywordGroup=B,ys(wt.cleanerConfig,{keywordGroup:B},true)),o("change",ne);}async function pe(ne,B=false){try{await pA(ne);}catch(O){console.error(O),Y({icon:"error",text:O.message});return}B?(l.value=ne,await N()):Y({icon:"success",text:"读取成功"});}return (ne,B)=>{const O=ko("VDropdown");return _(),E("div",CA,[s.value.queryOnly?(_(),E("span",kA," 🔍 只查询 ")):fe("",true),s.value.url?(_(),E("span",SA," 🔗 远程 ")):fe("",true),s.value.createdAt?(_(),E("span",{key:2,class:"group-label",title:`当前使用的分组: ${s.value.label}`},[d("span",null,[B[11]||(B[11]=d("small",null,"分组:",-1)),T(" "+F(s.value.label),1)])],8,$A)):fe("",true),s.value.url?(_(),E("a",{key:3,href:"javascript:void(0)",class:"pure-button button-success",onClick:B[0]||(B[0]=W=>pe(s.value,true))}," ↓ 同步关键词")):fe("",true),d("a",{href:"javascript:void(0)",class:"pure-button",onClick:B[1]||(B[1]=W=>z(s.value))}," ✎ 编辑 "),B[36]||(B[36]=T("    ",-1)),d("a",{href:"javascript:void(0)",class:"pure-button button-small",onClick:A},"+ 新增分组"),ie(O,{ref_key:"list",ref:u,onHide:b,onShow:v,distance:5},{popper:ge(()=>[d("div",EA,[r.value.length?fe("",!0):(_(),E("h3",AA,[B[12]||(B[12]=T(" 还没有添加任何分组。你可以: ",-1)),d("button",{type:"button",class:"pure-button button-small",onClick:A},"添加"),B[13]||(B[13]=T("   ",-1)),B[14]||(B[14]=d("span",{class:"text-info"},"或",-1)),B[15]||(B[15]=T("   ",-1)),d("button",{type:"button",class:"pure-button button-small",onClick:I},"使用脚本内置"),B[16]||(B[16]=d("br",null,null,-1)),B[17]||(B[17]=d("br",null,null,-1))])),d("table",PA,[B[21]||(B[21]=d("thead",null,[d("tr",null,[d("th",{width:"25"},"#"),d("th",{width:"70"},"只查询"),d("th",{width:"150"},"名称"),d("th",{width:"150"},"备注"),d("th",{width:"70"},[T("大小"),d("small",null,"MB")]),d("th",{width:"220"},"操作")])],-1)),d("tbody",null,[(_(!0),E($e,null,je(r.value,(W,le)=>(_(),E("tr",{key:le},[d("td",null,F(le+1),1),d("td",IA,F(W.queryOnly?"是":"否"),1),d("td",null,F(W.label),1),d("td",null,F(W.memo),1),d("td",null,F(W.size),1),d("td",null,[d("button",{type:"button",class:"pure-button button-xsmall text-primary",onClick:ve=>se(W)},"载入",8,DA),B[19]||(B[19]=T("   ",-1)),ie(O,null,{popper:ge(()=>[d("div",TA,[d("button",{type:"button",class:"pure-button button-error",onClick:ve=>M(W,!0)},"确定",8,LA)])]),default:ge(()=>[B[18]||(B[18]=d("button",{type:"button",class:"pure-button button-xsmall text-danger"},"删除",-1))]),_:2,__:[18]},1024),B[20]||(B[20]=T("   ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:ve=>z(W)},"编辑",8,MA)])]))),128))])])])]),default:ge(()=>[d("a",{href:"javascript:void(0)",class:"pure-button button-small",onClick:k},"≡ 分组列表")]),_:1},512),ie(Qs,{"is-open":i.value,onClose:B[10]||(B[10]=W=>i.value=false),"max-width":"1030px",speed:100,"bg-color":"#fff"},{default:ge(()=>[d("form",BA,[d("fieldset",null,[d("div",OA,[B[22]||(B[22]=d("label",{for:"groupLabel",class:"text-primary"},"* 标题",-1)),G(d("input",{type:"text","onUpdate:modelValue":B[2]||(B[2]=W=>l.value.label=W),id:"groupLabel",class:"pure-input-1-2",placeholder:"分组标题"},null,512),[[Ve,l.value.label]]),B[23]||(B[23]=T("    ",-1)),l.value.queryOnly?(_(),E("button",{key:0,type:"button",class:"pure-button button-small button-warning",onClick:B[3]||(B[3]=W=>l.value.queryOnly=!1)},"已设置为仅用于查询 | 点击取消设置")):fe("",!0),l.value.queryOnly?fe("",!0):(_(),E("button",{key:1,type:"button",class:"pure-button button-small pure-button-primary",onClick:B[4]||(B[4]=W=>l.value.queryOnly=!0)},"设置为仅用于查询"))]),d("div",RA,[B[24]||(B[24]=d("label",{for:"groupMemo",class:"text-primary"},"备注",-1)),G(d("input",{type:"text","onUpdate:modelValue":B[5]||(B[5]=W=>l.value.memo=W),id:"groupMemo",placeholder:"分组备注"},null,512),[[Ve,l.value.memo]])]),n.type===te(Fe).keyword?(_(),E("div",FA,[B[27]||(B[27]=d("label",{for:"groupUrl",class:"text-primary"},"远程链接",-1)),d("div",NA,[B[25]||(B[25]=d("span",null,"纯文本, utf-8编码",-1)),B[26]||(B[26]=T("    ",-1)),l.value.url?(_(),E("button",{key:0,type:"button",class:"pure-button button-small button-success",onClick:B[6]||(B[6]=W=>pe(l.value,!1))}," 读取 ")):fe("",!0)]),G(d("input",{type:"text","onUpdate:modelValue":B[7]||(B[7]=W=>l.value.url=W),id:"groupUrl",placeholder:"远程链接"},null,512),[[Ve,l.value.url]])])):fe("",!0),d("div",UA,[B[32]||(B[32]=d("label",{for:"groupValues",class:"text-primary"},"* 特征列表",-1)),d("div",jA,[n.type===te(Fe).keyword?(_(),E("span",zA,[B[28]||(B[28]=T(" 默认只匹配文件名。前面带",-1)),d("b",null,F(te(xd)),1),B[29]||(B[29]=T("则只匹配目录名。 ",-1))])):fe("",!0),n.type===te(Fe).suffix?(_(),E("span",HA,[B[30]||(B[30]=T(" 支持115自带筛选: ",-1)),(_(),E($e,null,je(f,(W,le)=>d("span",{class:"filter-label text-success",key:le,onClick:ve=>w(W)}," #"+F(W),9,VA)),64)),B[31]||(B[31]=d("small",{class:"text-primary"},"(点击添加)",-1))])):fe("",!0)]),d("div",qA,[d("div",WA,[G(d("textarea",{id:"groupValues","onUpdate:modelValue":B[8]||(B[8]=W=>l.value.values=W),rows:"14",placeholder:"每行一个"},null,512),[[Ve,l.value.values]])]),d("div",KA,[ie(Uw)])])]),d("div",GA,[B[33]||(B[33]=d("label",{for:"groupMemo",class:"text-primary"},"* 文件大小",-1)),B[34]||(B[34]=d("div",{class:"pure-form-message"},[T("只清理小于该大小的文件,单位"),d("b",null,"MB")],-1)),G(d("input",{type:"number","onUpdate:modelValue":B[9]||(B[9]=W=>l.value.size=W),class:"pure-input-1-4",placeholder:"文件大小小于该数值才清理"},null,512),[[Ve,l.value.size]])]),d("div",JA,[d("button",{type:"button",class:"pure-button pure-button-primary",onClick:N},F(l.value.createdAt?"更新":"添加"),1),B[35]||(B[35]=T("      ",-1)),d("button",{type:"button",class:"pure-button",onClick:g},"取消")])])])]),_:1},8,["is-open"])])}}}),bp=Pe(YA,[["__file","GroupManager.vue"]]),QA={class:"cloud115-eh-cleaner-help"},XA=xe({__name:"Help",setup(e){return (t,n)=>(_(),E("div",QA,[d("div",null,[n[3]||(n[3]=Ag('<h2>免责声明</h2><div><p>该工具仅作为学习测试用途,使用该工具造成的任何结果由使用人承担。</p></div><hr><h2>说明</h2><ul style="color:#f40;"><li class="text-primary">始于清理,但不止于清理!</li><li>* 仅对当前选中的目录及其子目录生效。</li><li>* 通过<b class="text-primary">新增分组 / 分组列表</b>管理你的清理特征。</li><li>* 建议整理自己的特征,也欢迎在交流中分享你的特征。</li><li>* <b class="text-primary">只查询</b>按钮,只会进行查询。</li><li>* <b class="text-primary">一键清理</b>是先查询,再进行删除!</li><li>* 由于搜索接口限制,如果某个关键词结果数量超过1万,可能会清理不完全,可以多执行几次清理。</li><li>* <b>清理期间,请保持当前页面处于激活状态!</b></li><li>* <b>请谨慎操作!请谨慎操作!请谨慎操作!</b></li></ul><hr><h3>按 后缀名 清理</h3><div><p>1. 点击<b class="text-primary">分组列表</b>,选择一个分组;</p><p>2. 确认后缀名和文件大小限制等的设定;</p><p>3. 点击<b class="text-primary">一键清理</b>按钮,耐心等待。</p></div><hr><h3>按 关键词 清理</h3>',10)),d("div",null,[n[0]||(n[0]=d("p",{class:"text-danger"},[T("目录名关键词使用"),d("b",null,"搜索"),T("接口查找匹配,只能逐个关键词进行处理,请尽量使用简单的关键词,否则可能会匹配不到。")],-1)),n[1]||(n[1]=d("p",{class:"text-danger"},[T("文件名关键词使用"),d("b",null,"列表"),T("接口查找匹配,速度较快,且支持更灵活的关键词。")],-1)),n[2]||(n[2]=d("br",null,null,-1)),ie(Uw)])])]))}}),ZA=Pe(XA,[["__file","Help.vue"]]),eP={key:0},tP={key:1},nP={key:2},oP={key:3},iP={key:4},sP={key:5},rP={key:6},aP={key:7},lP={key:8},uP={key:9},cP=xe({__name:"Pager",props:{totalItems:{type:Number,required:true},itemsPerPage:{type:Number,default:10,validator:e=>{if(e<=0){const t="itemsPerPage attribute must be greater than 0.";throw console.error(t),new TypeError(t)}return  true}},currentPage:{type:Number,default:1,validator:e=>{const t="currentPage attribute must be greater than 0.";if(e<=0)throw console.error(t),new TypeError(t);return  true}},modelValue:{type:Number,required:true,validator:e=>{const t="v-model is required and must be greater than 0.";if(e<=0)throw console.error(t),new TypeError(t);return  true}},maxPagesShown:{type:Number,default:5,validator:e=>{const t="maxPagesShown attribute must be greater than 0.";if(e<=0)throw console.error(t),new TypeError(t);return  true}},dir:{type:String,default:"ltr",validator:e=>{const t='dir attribute must be either "ltr" or "rtl".';if(e!=="ltr"&&e!=="rtl")throw console.error(t),new TypeError(t);return  true}},type:{type:String,default:"button",validator:e=>{const t=["link","button"],n="type attribute must be one of the following: "+t.join(", ");if(t.indexOf(e)===-1)throw console.error(n),new TypeError(n);return  true}},onClick:{type:Function,default:()=>{}},prevButtonContent:{type:String,default:"<"},nextButtonContent:{type:String,default:">"},hidePrevNext:{type:Boolean,default:false},hidePrevNextWhenEnds:{type:Boolean,default:false},showBreakpointButtons:{type:Boolean,default:true},disableBreakpointButtons:{type:Boolean,default:false},startingBreakpointContent:{type:String,default:"..."},endingBreakpointButtonContent:{type:String,default:"..."},showJumpButtons:{type:Boolean,default:false},linkUrl:{type:String,default:"#"},backwardJumpButtonContent:{type:String,default:"<<"},forwardJumpButtonContent:{type:String,default:">>"},disablePagination:{type:Boolean,default:false},showEndingButtons:{type:Boolean,default:false},firstPageContent:{type:String,default:"First"},lastPageContent:{type:String,default:"Last"},backButtonClass:{type:String,default:"back-button"},nextButtonClass:{type:String,default:"next-button"},firstButtonClass:{type:String,default:"first-button"},lastButtonClass:{type:String,default:"last-button"},numberButtonsClass:{type:String,default:"number-buttons"},startingBreakpointButtonClass:{type:String,default:"starting-breakpoint-button"},endingBreakPointButtonClass:{type:String,default:"ending-breakpoint-button"},firstPageButtonClass:{type:String,default:"first-page-button"},lastPageButtonClass:{type:String,default:"last-page-button"},paginateButtonsClass:{type:String,default:"paginate-buttons pure-button"},disabledPaginateButtonsClass:{type:String,default:"disabled-paginate-buttons"},activePageClass:{type:String,default:"active-page"},paginationContainerClass:{type:String,default:"pagination-container"},disabledBreakPointButtonClass:{type:String,default:"disabled-breakpoint-button"},backwardJumpButtonClass:{type:String,default:"backward-jump-button"},forwardJumpButtonClass:{type:String,default:"forward-jump-button"},disabledBackwardJumpButtonClass:{type:String,default:"disabled-backward-jump-button"},disabledBackButtonClass:{type:String,default:"disabled-back-button"},disabledFirstButtonClass:{type:String,default:"disabled-first-button"},disabledLastButtonClass:{type:String,default:"disabled-last-button"},disabledNextButtonClass:{type:String,default:"disabled-next-button"},disabledForwardJumpButtonClass:{type:String,default:"disabled-forward-jump-button"}},emits:["update:modelValue","click"],setup(e,{emit:t}){const n=e;if(n.currentPage&&!n.modelValue)throw new Error("currentPage/current-page is now deprecated, use v-model instead to set the current page.");if(!n.modelValue)throw new TypeError("v-model is required for the paginate component.");const o=d_(n,"modelValue"),i=t,s=A=>{A!==o.value&&(A>l.value||A<1||n.disablePagination||(i("update:modelValue",A),i("click",A)));},r=A=>A,a=A=>n.type!=="link"?"":n.linkUrl.replace("[page]",A.toString()),l=Ke(()=>Math.ceil(n.totalItems/n.itemsPerPage)),c=Ke(()=>{let A,I;if(l.value<=n.maxPagesShown)A=1,I=l.value;else {let z=Math.floor(n.maxPagesShown/2),N=Math.ceil(n.maxPagesShown/2)-1;o.value<=z?(A=1,I=n.maxPagesShown):o.value+N>=l.value?(A=l.value-n.maxPagesShown+1,I=l.value):(A=o.value-z,I=o.value+N);}let M=Array.from(Array(I+1-A).keys()).map(z=>A+z);return n.dir==="rtl"&&(M=M.reverse()),{totalItems:n.totalItems,currentPage:o.value,itemsPerPage:n.itemsPerPage,totalPages:l,startPage:A,endPage:I,pages:M}}),u=Ke(()=>n.dir==="rtl"),f=Ke(()=>u.value?!n.hidePrevNextWhenEnds||o.value!==l.value:!n.hidePrevNextWhenEnds||o.value!==1),p=Ke(()=>u.value?!n.hidePrevNextWhenEnds||o.value!==1:!n.hidePrevNextWhenEnds||o.value!==l.value),w=Ke(()=>u.value?c.value.pages[0]<l.value-1:c.value.pages[0]>=3),g=Ke(()=>u.value?c.value.pages[c.value.pages.length-1]>=3:c.value.pages[c.value.pages.length-1]<l.value-1),b=Ke(()=>u.value?c.value.pages[0]<l.value:c.value.pages[0]>=2),v=Ke(()=>u.value?c.value.pages[c.value.pages.length-1]>=2:c.value.pages[c.value.pages.length-1]<l.value),k=Ke(()=>o.value!==1),P=Ke(()=>o.value!==l.value);if(n.type==="link"&&n.linkUrl==="#")throw console.error("linkUrl attribute is required if type attribute is 'link'"),new TypeError("linkUrl attribute is required if type attribute is 'link'");if(n.type==="link"&&!n.linkUrl.includes("[page]"))throw console.error("linkUrl attribute must contain '[page]' substring"),new TypeError("linkUrl attribute must contain '[page]' substring");return (A,I)=>(_(),E("ul",{id:"componentContainer",class:Te(e.paginationContainerClass)},[e.showEndingButtons&&k.value?(_(),E("li",eP,[(_(),nt(Dn(e.type==="button"?"button":"a"),{href:a(u.value?l.value:1),onClick:I[0]||(I[0]=ht(M=>s(u.value?l.value:1),["prevent"])),class:Te([e.firstPageButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:""]),disabled:e.disablePagination},{default:ge(()=>[Ge(A.$slots,"first-page-button",{},()=>[T(F(e.firstPageContent),1)])]),_:3},8,["href","class","disabled"]))])):fe("",true),e.showJumpButtons&&w.value?(_(),E("li",tP,[(_(),nt(Dn(e.type==="button"?"button":"a"),{href:a(u.value?o.value+Math.ceil(e.maxPagesShown/2):o.value-Math.ceil(e.maxPagesShown/2)),onClick:I[1]||(I[1]=ht(M=>s(u.value?o.value+Math.ceil(e.maxPagesShown/2):o.value-Math.ceil(e.maxPagesShown/2)),["prevent"])),class:Te([e.backwardJumpButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledBackwardJumpButtonClass:""]),disabled:e.disablePagination},{default:ge(()=>[Ge(A.$slots,"backward-jump-button",{},()=>[T(F(e.backwardJumpButtonContent),1)])]),_:3},8,["href","class","disabled"]))])):fe("",true),!e.hidePrevNext&&f.value?(_(),E("li",nP,[(_(),nt(Dn(e.type==="button"?"button":"a"),{href:a(u.value?o.value+1:o.value-1),onClick:I[2]||(I[2]=ht(M=>s(u.value?o.value+1:o.value-1),["prevent"])),class:Te([e.backButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledBackButtonClass:""]),disabled:e.disablePagination},{default:ge(()=>[Ge(A.$slots,"prev-button",{},()=>[T(F(e.prevButtonContent),1)])]),_:3},8,["href","class","disabled"]))])):fe("",true),e.showBreakpointButtons&&b.value?(_(),E("li",oP,[(_(),nt(Dn(e.type==="button"?"button":"a"),{href:a(u.value?l.value:1),onClick:I[3]||(I[3]=ht(M=>s(u.value?l.value:1),["prevent"])),class:Te([e.firstButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledFirstButtonClass:""]),disabled:e.disablePagination},{default:ge(()=>[T(F(u.value?r(l.value):r(1)),1)]),_:1},8,["href","class","disabled"]))])):fe("",true),e.showBreakpointButtons&&w.value?(_(),E("li",iP,[(_(),nt(Dn(e.type==="button"?"button":"a"),{href:a(e.disableBreakpointButtons?o.value:u.value?o.value+Math.ceil(e.maxPagesShown/2):o.value-Math.ceil(e.maxPagesShown/2)),onClick:I[4]||(I[4]=ht(M=>s(e.disableBreakpointButtons?o.value:u.value?o.value+Math.ceil(e.maxPagesShown/2):o.value-Math.ceil(e.maxPagesShown/2)),["prevent"])),disabled:e.disableBreakpointButtons||e.disablePagination,class:Te([e.startingBreakpointButtonClass,e.paginateButtonsClass,e.disableBreakpointButtons||e.disablePagination?`${e.disabledPaginateButtonsClass} ${e.disabledBreakPointButtonClass}`:""])},{default:ge(()=>[Ge(A.$slots,"starting-breakpoint-button",{},()=>[T(F(e.startingBreakpointContent),1)])]),_:3},8,["href","disabled","class"]))])):fe("",true),(_(true),E($e,null,je(c.value.pages,(M,z)=>(_(),E("li",{key:z},[(_(),nt(Dn(e.type==="button"?"button":"a"),{href:a(M),onClick:ht(()=>s(M),["prevent"]),class:Te([e.paginateButtonsClass,e.numberButtonsClass,M===o.value?e.activePageClass:"",e.disablePagination?e.disabledPaginateButtonsClass:""]),disabled:e.disablePagination},{default:ge(()=>[T(F(r(M)),1)]),_:2},1032,["href","onClick","class","disabled"]))]))),128)),e.showBreakpointButtons&&g.value?(_(),E("li",sP,[(_(),nt(Dn(e.type==="button"?"button":"a"),{href:a(e.disableBreakpointButtons?o.value:u.value?o.value-Math.ceil(e.maxPagesShown/2):o.value+Math.ceil(e.maxPagesShown/2)),onClick:I[5]||(I[5]=ht(M=>s(e.disableBreakpointButtons?o.value:u.value?o.value-Math.ceil(e.maxPagesShown/2):o.value+Math.ceil(e.maxPagesShown/2)),["prevent"])),disabled:e.disableBreakpointButtons||e.disablePagination,class:Te([e.endingBreakPointButtonClass,e.paginateButtonsClass,e.disableBreakpointButtons||e.disablePagination?`${e.disabledPaginateButtonsClass} ${e.disabledBreakPointButtonClass}`:""])},{default:ge(()=>[Ge(A.$slots,"ending-breakpoint-button",{},()=>[T(F(e.endingBreakpointButtonContent),1)])]),_:3},8,["href","disabled","class"]))])):fe("",true),e.showBreakpointButtons&&v.value?(_(),E("li",rP,[(_(),nt(Dn(e.type==="button"?"button":"a"),{href:a(u.value?1:l.value),onClick:I[6]||(I[6]=ht(M=>s(u.value?1:l.value),["prevent"])),class:Te([e.lastButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledLastButtonClass:""]),disabled:e.disablePagination},{default:ge(()=>[T(F(u.value?r(1):r(l.value)),1)]),_:1},8,["href","class","disabled"]))])):fe("",true),!e.hidePrevNext&&p.value?(_(),E("li",aP,[(_(),nt(Dn(e.type==="button"?"button":"a"),{href:a(u.value?o.value-1:o.value+1),onClick:I[7]||(I[7]=ht(M=>s(u.value?o.value-1:o.value+1),["prevent"])),class:Te([e.paginateButtonsClass,e.nextButtonClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledNextButtonClass:""]),disabled:e.disablePagination},{default:ge(()=>[Ge(A.$slots,"next-button",{},()=>[T(F(e.nextButtonContent),1)])]),_:3},8,["href","class","disabled"]))])):fe("",true),e.showJumpButtons&&g.value?(_(),E("li",lP,[(_(),nt(Dn(e.type==="button"?"button":"a"),{href:a(u.value?o.value-Math.ceil(e.maxPagesShown/2):o.value+Math.ceil(e.maxPagesShown/2)),onClick:I[8]||(I[8]=ht(M=>s(u.value?o.value-Math.ceil(e.maxPagesShown/2):o.value+Math.ceil(e.maxPagesShown/2)),["prevent"])),class:Te([e.forwardJumpButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:"",e.disablePagination?e.disabledForwardJumpButtonClass:""]),disabled:e.disablePagination},{default:ge(()=>[Ge(A.$slots,"forward-jump-button",{},()=>[T(F(e.forwardJumpButtonContent),1)])]),_:3},8,["href","class","disabled"]))])):fe("",true),e.showEndingButtons&&P.value?(_(),E("li",uP,[(_(),nt(Dn(e.type==="button"?"button":"a"),{href:a(u.value?1:l.value),onClick:I[9]||(I[9]=ht(M=>s(u.value?1:l.value),["prevent"])),class:Te([e.lastPageButtonClass,e.paginateButtonsClass,e.disablePagination?e.disabledPaginateButtonsClass:""]),disabled:e.disablePagination},{default:ge(()=>[Ge(A.$slots,"last-page-button",{},()=>[T(F(e.lastPageContent),1)])]),_:3},8,["href","class","disabled"]))])):fe("",true)],2))}}),vp=Pe(cP,[["__file","Pager.vue"]]),dP=xe({__name:"Divider",props:{paddingY:{default:10},color:{default:"#eee"},transparent:{type:Boolean,default:false}},setup(e){const t=e,n=Ke(()=>{const o=t.transparent?"transparent":t.color,i=`${t.paddingY}px`;return {marginTop:i,height:i,borderTop:`1px solid ${o}`}});return (o,i)=>(_(),E("div",{class:"ce-divider",style:Zn(n.value)},[Ge(o.$slots,"default")],4))}}),xp=Pe(dP,[["__file","Divider.vue"]]),fP={class:"ce-file-list"},pP={class:"text-small text-info"},hP={class:"text-primary"},mP={class:"text-danger"},gP={class:"item-meta"},wP={key:0,class:"ce-label"},yP={key:1,class:"ce-label"},bP={key:2,class:"ce-label"},vP={key:3,class:"ce-label"},xP={key:4,class:"ce-label"},_P={key:5,class:"ce-label ce-label-danger"},CP={key:6,class:"ce-label ce-label-danger"},kP={key:7,class:"text-info"},SP={class:"text-success"},$P={class:"pure-table pure-table-bordered"},EP={class:"text-small"},AP={key:2,class:"text-success"},PP=xe({__name:"FileList",props:{group:{},pattern:{},files:{}},setup(e){const t=e,n=K([]),o=K(0),i=K(15),s=K(5),r=K(1),a=Ke(()=>Math.ceil(o.value/i.value));$t(async()=>{o.value=t.pattern.fileIds?.length||0,l();});function l(u=1){const f=[],{fileIds:p=[]}=t.pattern,w=i.value*(u-1),g=p.slice(w,w+i.value);for(const b of g){const v=t.files.get(b);if(v){const k=Ci(v);f.push(k);}}n.value=f;}function c(u){l(u);}return (u,f)=>(_(),E("div",fP,[d("div",null,[d("div",pP,[f[2]||(f[2]=d("small",null,"原始:",-1)),f[3]||(f[3]=T()),d("span",hP,F(u.pattern.value),1),f[4]||(f[4]=T(", ",-1)),f[5]||(f[5]=d("small",null,"类型:",-1)),f[6]||(f[6]=T()),d("span",mP,F(te(Lw)[u.pattern.type]),1),d("div",null," fullMatch: "+F(u.pattern.fullMatch)+", caseSensitive: "+F(u.pattern.caseSensitive)+", impartible: "+F(u.pattern.impartible)+", isRegexp: "+F(u.pattern.isRegexp)+", maxSize: "+F(u.pattern.maxSize)+", patternRegexp: "+F(u.pattern.patternRegexp),1)]),f[8]||(f[8]=d("hr",null,null,-1)),d("div",gP,[u.pattern.fullMatch?(_(),E("span",wP,"全等")):fe("",true),u.pattern.caseSensitive?(_(),E("span",yP,"区分大小写")):fe("",true),u.pattern.impartible?(_(),E("span",bP,"匹配空格")):fe("",true),u.pattern.isRegexp?(_(),E("span",vP,"正则")):fe("",true),u.pattern.type===te(et).fileHash?(_(),E("span",xP,"sha1")):fe("",true),u.pattern.maxSize===0?(_(),E("span",_P,"任意大小")):fe("",true),u.pattern.maxSize>0?(_(),E("span",CP,"不大于"+F(u.pattern.maxSize)+"MB",1)):fe("",true),u.pattern.memo?(_(),E("div",kP,[f[7]||(f[7]=d("small",null,"备注:",-1)),T(" "+F(u.pattern.memo),1)])):fe("",true)])]),f[10]||(f[10]=d("br",null,null,-1)),d("div",null,[o.value>i.value?(_(),nt(vp,{key:0,"total-items":o.value,"items-per-page":i.value,"max-pages-shown":s.value,modelValue:r.value,"onUpdate:modelValue":f[0]||(f[0]=p=>r.value=p),onClick:c},null,8,["total-items","items-per-page","max-pages-shown","modelValue"])):fe("",true),d("span",SP,"数量: "+F(o.value),1),ie(xp,{transparent:"","padding-y":5}),d("table",$P,[f[9]||(f[9]=d("thead",null,[d("tr",null,[d("th",null,"#"),d("th",{width:"30"},"类型"),d("th",null,"ID"),d("th",{width:"250"},"名称"),d("th",null,"大小"),d("th",{width:"305"},"SHA1")])],-1)),d("tbody",null,[(_(true),E($e,null,je(n.value,(p,w)=>(_(),E("tr",{key:w},[d("td",null,F(i.value*(r.value-1)+w+1),1),d("td",null,F(p.isDir?"目录":"文件"),1),d("td",null,F(p.id),1),d("td",null,F(p.name),1),d("td",null,F(p.sizeDesc),1),d("td",EP,F(p.hash),1)]))),128))])]),ie(xp,{transparent:"","padding-y":5}),o.value>i.value?(_(),nt(vp,{key:1,"total-items":o.value,"items-per-page":i.value,"max-pages-shown":s.value,modelValue:r.value,"onUpdate:modelValue":f[1]||(f[1]=p=>r.value=p),onClick:c},null,8,["total-items","items-per-page","max-pages-shown","modelValue"])):fe("",true),a.value>1?(_(),E("span",AP,"数量: "+F(o.value),1)):fe("",true)])]))}}),IP=Pe(PP,[["__scopeId","data-v-db0ac01f"],["__file","FileList.vue"]]);function DP(e,t){return Object.entries(e).map(([n,o])=>({label:o,value:n,checked:t?t(n):false}))}const TP={class:"ce-button-group"},LP=["onClick"],MP=xe({__name:"index",props:{modelValue:{type:[String,Number,Boolean,Array]},multiple:{type:Boolean,default:false},options:{},mapping:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,o=t,i=Ke(()=>{let a=[];const l=c=>n.multiple?n.modelValue.includes(c):n.modelValue===c;return n.mapping?a=DP(n.mapping,l):n.options&&(a=Ac(n.options).map(c=>({...c,checked:l(c.value)}))),a}),s=K(n.modelValue);function r(a){n.multiple?(a.checked=!a.checked,s.value=i.value.filter(l=>l.checked).map(l=>l.value)):(i.value.forEach(l=>{l.checked=l.value===a.value;}),s.value=a.value),o("update:modelValue",s.value);}return (a,l)=>(_(),E("span",TP,[(_(true),E($e,null,je(i.value,c=>(_(),E("button",{key:c.value?.toString(),type:"button",class:Te(["pure-button",{"pure-button-primary":c.checked}]),onClick:u=>r(c)},F(c.label),11,LP))),128))]))}}),Sa=Pe(MP,[["__file","index.vue"]]),BP={class:"ce-config ce-cleaner-config"},OP={class:"pure-form pure-form-aligned"},RP={class:"pure-control-group"},FP={class:"pure-control-group"},NP={class:"pure-control-group"},UP={class:"pure-control-group"},jP=xe({__name:"Config",setup(e){const t={[yo.all]:"全部",[yo.file]:"文件",[yo.dir]:"目录"},n={[zo.all]:"全部",[zo.matched]:"有匹配",[zo.notMatched]:"无匹配"},o=K(bd());let i=false;return $t(async()=>{o.value=await br(),i=true,He(o,lt(async s=>{i&&(await vd({showEntryOnPathBar:s.showEntryOnPathBar,keywordDefaultCategory:s.keywordDefaultCategory,keywordDefaultResult:s.keywordDefaultResult,cleanWithoutConfirm:s.cleanWithoutConfirm}),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}));},500),{deep:true});}),(s,r)=>(_(),E("div",BP,[r[11]||(r[11]=d("h2",null,"文件清理工具设置",-1)),d("form",OP,[d("fieldset",null,[r[5]||(r[5]=d("legend",null,"基础设置",-1)),d("div",RP,[r[4]||(r[4]=d("label",{for:"showEntryOnPathBar"},'在路径栏显示"清理文件"入口按钮',-1)),G(d("input",{id:"showEntryOnPathBar",type:"checkbox","onUpdate:modelValue":r[0]||(r[0]=a=>o.value.showEntryOnPathBar=a)},null,512),[[ye,o.value.showEntryOnPathBar]])])]),d("fieldset",null,[r[8]||(r[8]=d("legend",null,"按关键词清理设置",-1)),d("div",FP,[r[6]||(r[6]=d("label",{for:"defaultKeywordCategory"},'默认"关键词类别"',-1)),ie(Sa,{modelValue:o.value.keywordDefaultCategory,"onUpdate:modelValue":r[1]||(r[1]=a=>o.value.keywordDefaultCategory=a),mapping:t},null,8,["modelValue"])]),d("div",NP,[r[7]||(r[7]=d("label",{for:"defaultResultFilter"},'默认"结果筛选"',-1)),ie(Sa,{modelValue:o.value.keywordDefaultResult,"onUpdate:modelValue":r[2]||(r[2]=a=>o.value.keywordDefaultResult=a),mapping:n},null,8,["modelValue"])])]),d("fieldset",null,[r[10]||(r[10]=d("legend",null,"高级设置",-1)),d("div",UP,[r[9]||(r[9]=d("label",{for:"cleanWithoutConfirm"},'点击"一键清理"时不需确认',-1)),G(d("input",{id:"cleanWithoutConfirm",type:"checkbox","onUpdate:modelValue":r[3]||(r[3]=a=>o.value.cleanWithoutConfirm=a)},null,512),[[ye,o.value.cleanWithoutConfirm]])])])])]))}}),zP=Pe(jP,[["__file","Config.vue"]]),HP=xe({__name:"GoTop",props:{label:{default:"回到顶部"},container:{default:"body"}},setup(e){const t=e;async function n(){t.container instanceof HTMLElement?t.container.scrollTo(0,0):document.querySelector(t.container)?.scrollTo(0,0);}return (o,i)=>Ge(o.$slots,"default",{},()=>[d("button",{type:"button",class:"pure-button button-small",onClick:n},F(o.label),1)])}}),jw=Pe(HP,[["__file","GoTop.vue"]]),VP=".v-popper__arrow-container{display:none}.ce-cleaner-x .btn-open{padding:0 6px;vertical-align:text-top;line-height:30px;border-radius:4px;background:#4faa4f;display:none}.ce-cleaner-x .actions-bar{padding-bottom:10px;width:72%}.ce-cleaner-x .actions-bar .title{font-size:18px;font-weight:700;color:#15110c}.ce-cleaner-x .actions-bar .close{margin-left:20px;margin-right:10px;color:#f40}.ce-cleaner-x .actions-bar i.tp-folder{width:18px;height:18px;vertical-align:sub}.ce-cleaner-x .actions-bar .ce-path{font-size:14px;margin-top:4px}.ce-cleaner-x .actions-bar .ce-path a:hover{text-decoration:underline}";Pt(VP);const qP='@charset "UTF-8";#cloud115Cleaner{margin-left:10px}.cloud115-eh-cleaner{position:relative}.cloud115-eh-cleaner-drawer{background:#fff;padding:10px 20px 200px;overflow-y:auto}.cloud115-eh-cleaner-drawer.loading{cursor:wait}.cloud115-eh-cleaner-drawer.loading button,.cloud115-eh-cleaner-drawer.loading input{cursor:no-drop;pointer-events:none}.cloud115-eh-cleaner-drawer .config-toggle{display:inline-block;background:#eee;border-radius:4px;opacity:.2;padding:2px 4px;cursor:pointer}.cloud115-eh-cleaner-drawer .config-toggle.hover{opacity:.7}.cloud115-eh-cleaner-drawer .by-box .by-header{padding-bottom:10px}.cloud115-eh-cleaner-drawer .by-box .by-header .title{font-size:16px;margin-right:8px;color:#0078e6;font-weight:400}.cloud115-eh-cleaner-drawer .by-box .by-header .filter-size{width:100px;font-size:14px;font-weight:700;color:#0078e6;text-indent:6px;border-radius:4px;border:1px solid #919399;text-align:center}.cloud115-eh-cleaner-drawer .by-box .pure-button-group{display:inline-block}.cloud115-eh-cleaner-drawer .by-box .pure-button-group .pure-button{vertical-align:inherit}.cloud115-eh-cleaner-drawer .by-box .pattern-groups{width:750px;text-align:right}.cloud115-eh-cleaner-drawer .by-box .pattern-groups a{font-size:12px;padding:0 4px;margin-right:8px}.cloud115-eh-cleaner-drawer .by-box table tr.active{background:#f7ffc3}.cloud115-eh-cleaner-drawer .by-box table tr.is-dir .pattern{color:#f40}.cloud115-eh-cleaner-drawer .by-box table tr th,.cloud115-eh-cleaner-drawer .by-box table tr td{padding:.5em;font-size:12px}.cloud115-eh-cleaner-drawer .by-box table tr .item-meta{font-size:11px}.cloud115-eh-cleaner-drawer .by-box table tr .item-meta .ce-label{background:#e6e6e6;color:#818181;margin:0 2px;font-size:10px}.cloud115-eh-cleaner-drawer .by-box table tr .item-meta .ce-label.ce-label-danger{background:#cbc8ff;color:#fff}.cloud115-eh-cleaner-drawer .by-box table tr .item-meta .ce-label:first-child{margin-left:4px}.cloud115-eh-cleaner-drawer .by-box table td button:not(:last-child){margin-right:8px}.cloud115-eh-cleaner-drawer .by-box table td a{color:#2877f8}.cloud115-eh-cleaner-drawer .by-box table td .tp-folder{width:16px;height:16px;vertical-align:sub}.cloud115-eh-cleaner-drawer .by-box table.table-matched tr.item-unmatched,.cloud115-eh-cleaner-drawer .by-box table.table-unmatched tr.item-matched{display:none}.by-keyword.kw-cate-dir tbody tr:not(.is-dir),.by-keyword.kw-cate-file tbody tr.is-dir{opacity:.5;pointer-events:none;cursor:no-drop}.fixed-header-table{width:68%;border-collapse:collapse}.fixed-header-table thead{position:sticky;top:0;background-color:#f2f2f2;z-index:1}.fixed-header-table tbody{display:block;max-height:450px;overflow-y:auto;overflow-x:hidden}.fixed-header-table thead,.fixed-header-table tbody tr{display:table;width:100%;table-layout:fixed}.fixed-header-table th,.fixed-header-table td{padding:10px;border:1px solid #ddd}td.item-index{width:29px}td.item-val{width:308px}td.item-num{width:106px}td.item-size{width:89px}td.item-actions{width:166px}td.item-status{width:204px}';Pt(qP);const WP={type:"button",class:"pure-button button-success"},KP=xe({__name:"DirSelector",props:{label:{default:"切换目录"},purpose:{default:"操作"},confirmLabel:{default:"选择该目录"},onlyDir:{type:Boolean,default:true},showRecord:{type:Boolean,default:true},showCopy:{type:Boolean,default:true}},emits:["select"],setup(e,{emit:t}){const n=e,o=t;async function i(){unsafeWindow.parent.Core.FileSelectDG.Open(async(s,r)=>{console.log("[Core.FileSelectDG.Open]",s,r),o("select",{items:s,xx:r});},{select:1,nf:n.onlyDir?1:0,show_record:n.showRecord?1:0,show_copy:n.showCopy?1:0,btn_txt:n.confirmLabel,select_txt:n.purpose});}return (s,r)=>(_(),E("span",{onClick:i},[Ge(s.$slots,"default",{},()=>[d("button",WP,F(s.label),1)])]))}}),Xs=Pe(KP,[["__file","DirSelector.vue"]]);function GP(e){return {offset:0,limit:1150,aid:1,cid:"",format:"json",o:Wa.userPtime,asc:Ro.false,search_value:"",...e}}async function JP(e){const t=Ha(e),n=await Ot().get("https://webapi.115.com/files/search?"+t,{timeout:12e4,withCredentials:true});if(n.data==="")throw new cm;const o=n.data;if(o.state)return o;throw new Dc(o.error)}async function YP(e,t=200,n=false){let o=[],i=0,s=e.limit;const r=1e4,a=115,l=r-r%s;let c=s;for(;;){if(n){if(i>=l&&i<r){const f=r-l;c=Math.min(f,c);}i>=r&&(c=a);}e.offset=i,e.limit=c;const u=await JP(e);if(!u.data||!u.data.length||(o=[...o,...u.data],i+=c,i>=u.count))break;await At(t);}return o}const QP={class:"cloud115-eh-cleaner ce-cleaner-x"},XP={class:"header actions-bar"},ZP={class:"close"},eI={class:"ce-path ce-label ce-label-primary-plain"},tI=["href"],nI={class:"by-box by-suffix"},oI={class:"by-header"},iI={class:"pure-button-group",role:"group"},sI=["disabled"],rI={class:"pure-table pure-table-bordered"},aI=["onClick"],lI=["onClick"],uI=["onClick"],cI=["onClick"],dI={class:"by-header"},fI={class:"pure-button-group",role:"group"},pI=["disabled"],hI={class:"item-index"},mI={class:"item-val"},gI=["href"],wI={class:"file-type tp-folder"},yI={class:"item-meta"},bI={key:0,class:"ce-label"},vI={key:1,class:"ce-label"},xI={key:2,class:"ce-label"},_I={key:3,class:"ce-label"},CI={key:4,class:"ce-label"},kI={key:5,class:"ce-label ce-label-danger"},SI={key:6,class:"ce-label ce-label-danger"},$I={key:7,class:"text-info"},EI={key:0,class:"text-small text-info"},AI={class:"text-primary"},PI={class:"text-danger"},II={class:"item-num"},DI={class:"item-size"},TI={class:"item-actions"},LI=["onClick"],MI=["onClick"],BI=["onClick"],OI={class:"item-status"},RI={class:"footer actions-bar"},FI={class:"ce-path ce-label ce-label-primary-plain"},NI=["href"],UI=xe({__name:"Cleaner",setup(e){const t=K(false),n=K(true),o=K(ii({type:Fe.suffix})),i=K(ii({type:Fe.keyword})),s=K({maxSize:5,matchName:false}),r=K({maxSize:100,matchName:true,keywordCategory:yo.all,resultCategory:zo.all}),a=K([]),l=K([]),c=K(false),u=K(bd()),f=K(false),p=K(""),w=K([]),g=K(null),b=K(false),v=Ke(()=>p.value?On(p.value):"");async function k(){b.value=!b.value;}const P=K(false),A=new Map,I=K({});async function M(ee){for(const m of ee){const x=m.fid||m.cid;x&&!A.has(x)&&A.set(x,m);}}async function z(ee,m){I.value.files=A,I.value.group=ee,I.value.pattern=m,P.value=true;}async function N(ee){ee.data.type===Jt.OPEN_CLEANER&&(pe(ee.data.payload),di({type:Jt.CLEANER_OPENED},ee.source));}$t(async()=>{u.value=await br(),f.value=true,await se();}),qt(async()=>{u.value.initialized||(u.value.initialized=true,await vd({initialized:true})),window.addEventListener("message",N);}),$i(()=>{window.removeEventListener("message",N);});async function se(){const{keywordDefaultCategory:ee,keywordDefaultResult:m}=u.value;r.value.keywordCategory=ee||yo.all,r.value.resultCategory=m||zo.all;}async function pe(ee){t.value=true;const m=await zt();if(m==="0"||m===""){await ne(),await V.fire({icon:"warning",html:"<h2>不允许在根目录使用该工具!</h2>"});return}p.value&&p.value!==m&&console.warn("目录变化,重置"),g.value=await Ut(m),w.value=[...g.value.paths.slice(1).map(x=>x.file_name),g.value.file_name],p.value=m;}async function ne(){t.value=false;}async function B(ee){console.log("[onSelectDir]",ee);const{items:m}=ee,x=m[m.length-1];await le(Tt.reset),await ve(Tt.reset),p.value=x.cid,g.value=await Ut(x.cid),w.value=[...g.value.paths.slice(1).map(S=>S.file_name),g.value.file_name];}async function O(ee){const m={};ee.isFilter?m.type=ee.pattern:m.suffix=ee.pattern;let x=unsafeWindow.frames[0];for(let S=0;S<unsafeWindow.frames.length;S++)if(unsafeWindow.frames[S].name==="wangpan"){x=unsafeWindow.frames[S];break}di({type:Jt.INVOKE_FILTER,payload:m},x),await ne(),Y({icon:"info",text:`已调用115筛选: ${ee.value}`,timer:2500});}async function W(ee,m){const{value:x}=await V.fire({input:"textarea",title:ee,html:"每行一个,最短两个字符。"+(m===Fe.keyword?`<br>默认只匹配文件名,不匹配目录名。<br>使用 "<b>${xd}目录名关键词</b>" 格式指定只匹配目录名的关键词。`:""),width:620,inputPlaceholder:"每行一个,最短两个字符",inputAttributes:{"aria-label":"每行一个,最短两个字符"},showCancelButton:true});return x!==void 0?x.trim():""}async function le(ee,m){let x="",S=[];switch(ee){case Tt.assign:x=m.trim(),x.trim()===""?a.value=[]:(S=await oi(x,Fe.suffix),a.value=S);break;case Tt.append:x=await W("添加后缀",Fe.suffix),S=await oi(x,Fe.suffix);const Z=[];a.value.forEach(j=>Z.push(j.value.toLowerCase())),S.forEach(j=>{Z.includes(j.value.toLowerCase())||a.value.push(j);});break;case Tt.cover:x=await W("覆盖后缀",Fe.suffix),x.trim()!==""&&(S=await oi(x,Fe.suffix),a.value=S);break;case Tt.clear:a.value=[];break;case Tt.reset:a.value.forEach(j=>{j.num=-1,j.fileIds=[],j.status=Et.none,j.size=-1;});break}}async function ve(ee,m){let x="",S=[];switch(ee){case Tt.assign:x=m.trim(),x.trim()===""?l.value=[]:(S=await oi(x,Fe.keyword),l.value=S);break;case Tt.append:x=await W("添加关键词",Fe.keyword),S=await oi(x,Fe.keyword);const Z=[];l.value.forEach(j=>Z.push(j.value.toLowerCase())),S.forEach(j=>{Z.includes(j.value.toLowerCase())||l.value.push(j);});break;case Tt.cover:x=await W("覆盖关键词",Fe.keyword),x.trim()!==""&&(S=await oi(x,Fe.keyword),l.value=S);break;case Tt.clear:l.value=[];break;case Tt.reset:l.value.forEach(j=>{j.num=-1,j.fileIds=[],j.status=Et.none,j.size=-1;});break}}async function ke(ee){if(console.log("[cleanBySuffix]",ee),await le(Tt.reset),!a.value.length){await V.fire({icon:"warning",text:"请先设置后缀!"});return}if(L=[],!ee){const{isConfirmed:m}=await V.fire({icon:"warning",html:'请在清理前确认"后缀和大小限制的设置"是否符合预期!',confirmButtonText:"没问题,开始清理",showDenyButton:true,denyButtonText:"等会"});if(!m)return}c.value=true;try{for(let m=0;m<a.value.length;m++){const x=a.value[m];await _e(x,ee,!1,!0,!1);}ee||(c.value=!0,await pt(Fe.suffix));}catch(m){console.error(m),V.fire({title:"按后缀名清理 - 发生错误",html:m.toString()});}finally{c.value=false,ee||V.fire({title:"按后缀名清理 - 完成"});}}async function _e(ee,m,x,S,Z){if(console.log("[cleanBySuffixSingle]",ee,m),!m&&!S){const{isConfirmed:j}=await V.fire({icon:"warning",html:`确认执行条件 "后缀: <b class="text-primary">${ee.pattern}</b>, 不大于: <b>${s.value.maxSize}</b> MB" 的清理?`,confirmButtonText:"没问题,开始清理",showDenyButton:true,denyButtonText:"等会"});if(!j)return}try{if(!x){c.value=!0,ee.fileIds=[],ee.size=-1,ee.num=-1,ee.status=Et.prepare;const j=await fn(ee);await M(j),ee.status=Et.prepared;const{fileIds:Q=[],size:de}=yp(ee,j,s.value);ee.fileIds=Q,ee.size=de,ee.num=Q.length,c.value=!1;}if(!m)if(ee.num&&ee.num>0){ee.status=Et.deleting,c.value=!0;const j=ee.fileIds?.length||0;Z?await Pl(p.value,ee.fileIds||[],u.value.deleteSize,1e3):it(Fe.suffix,ee.fileIds||[],!1),c.value=!1,j>0?ee.status=Et.success+` / 数量 <= ${j}`:ee.status=Et.failed;}else ee.status=Et.success+" / 无";}catch(j){console.error(j),c.value=false,await V.fire({title:"cleanBySuffixSingle - 发生错误",html:j.toString()});}}async function Se(){const ee=[et.fileKeyword,et.fileHash];return l.value.some(m=>ee.includes(m.type))}async function Ne(ee,m){if(console.log("[cleanByKeyword]",ee,m),await ve(Tt.reset),!l.value.length){await V.fire({icon:"warning",text:"请先设置关键词!"});return}if(he=[],!ee&&!u.value.cleanWithoutConfirm){const x={icon:"warning",html:'请在清理前确认"关键词和大小限制的设置"是否符合预期!',confirmButtonText:"没问题,开始清理",showDenyButton:true,denyButtonText:"等会"},{isConfirmed:S,value:Z}=await V.fire(x);if(!S)return}c.value=true,console.time("cleanByKeyword");try{let x;await Se()&&(x=await dt(),await M(x));const S=m||r.value.keywordCategory;for(let Z=0;Z<l.value.length;Z++){const j=l.value[Z];if(S!==yo.all){const Q=j.type===et.dirKeyword;if(S===yo.dir&&!Q||S===yo.file&&Q)continue}await we(j,ee,!1,!0,x,!1);}ee||(c.value=!0,await pt(Fe.keyword));}catch(x){console.error(x),V.fire({title:"按关键词清理 - 发生错误",html:x.toString()});}finally{console.timeEnd("cleanByKeyword"),ee||V.fire({title:"按关键词清理 - 完成"});}c.value=false;}async function dt(){const ee=p.value,m=Fn({cid:ee,limit:1150,type:mn.file,record_open_time:0});return await No(m)}async function we(ee,m,x,S,Z,j){if(console.log("[cleanByKeywordSingle]",ee,m),!m&&!S){const{isConfirmed:Q}=await V.fire({icon:"warning",html:`确认执行条件 "关键词: <b class="text-primary">${ee.pattern}</b>, 不大于: <b class="text-primary">${r.value.maxSize}</b> MB" 的清理?`,confirmButtonText:"没问题,开始清理",showDenyButton:true,denyButtonText:"等会"});if(!Q)return}try{if(!x){c.value=!0,ee.fileIds=[],ee.size=-1,ee.num=-1,ee.status=Et.prepare;let Q=[];ee.type!==et.dirKeyword&&Z!==void 0?Q=Z:(Q=await Zt(ee),await M(Q)),ee.status=Et.prepared;const{fileIds:de,size:ce,num:ue}=yp(ee,Q,r.value);ee.fileIds=de,ee.size=ce,ee.num=ue,c.value=!1;}if(!m)if(ee.num&&ee.num>0){ee.status=Et.deleting,c.value=!0;const Q=ee.fileIds?.length||0;j?await Pl(p.value,ee.fileIds||[],u.value.deleteSize,1e3):it(Fe.keyword,ee.fileIds||[],!1),c.value=!1,Q>0?ee.status=Et.success+` / 数量 <= ${Q}`:ee.status=Et.failed;}else ee.status=Et.success+" / 无";}catch(Q){console.error(Q),c.value=false;let de=true;const ce={title:"cleanByKeywordSingle - 发生错误",html:Q.toString()};Q instanceof Dc&&(ee.status=Et.prepareFailed+` / ${Q.message}`,Q instanceof cm&&(ce.timer=2e3,de=false)),de?await V.fire(ce):V.fire(ce);}}let L=[],he=[];function it(ee,m,x){ee===Fe.suffix?L=[...L,...m]:he=[...he,...m];}async function pt(ee){const m=ee===Fe.suffix?L:he;if(!m.length)return;const x=Array.from(new Set(m));console.log("[deleteFiles] num=",x.length),await Pl(p.value,x,1150,1e3);}async function fn(ee){const m=p.value,x=Fn({cid:m,limit:u.value.pageSize});ee.isFilter?x.type=ee.pattern:x.suffix=ee.value;const S=await No(x);return console.log("[files]",S),S}async function Zt(ee){const m=p.value,x=GP({search_value:ee.pattern,cid:m,limit:u.value.pageSize}),S=await YP(x,u.value.reqInterval,true);return console.log("[files]",S),S}function fo(ee){return gm({...dA(ee),cid:p.value},w.value[w.value.length-1])}async function Ii(ee){console.log("[onSuffixGroupChange]",ee),o.value=ee,s.value.maxSize=ee.size,await le(Tt.assign,ee.values);}async function Cn(ee){console.log("[onKeywordGroupChange]",ee),i.value=ee,r.value.maxSize=ee.size,await ve(Tt.assign,ee.values);}return (ee,m)=>{const x=ko("VDropdown");return G((_(),E("span",QP,[Ge(ee.$slots,"default",{},()=>[d("span",{class:"btn-open pure-button pure-button-primary",onClick:pe},m[10]||(m[10]=[d("span",null,"清理文件",-1)]))]),ie(Qs,{"is-open":t.value,speed:300,"max-width":"calc(100vw - 72px)",onClose:m[9]||(m[9]=S=>t.value=false)},{default:ge(()=>[G(d("div",{class:Te(["cloud115-eh-cleaner-drawer",{loading:c.value}])},[ie(ZA),d("div",XP,[m[15]||(m[15]=d("span",{class:"title"},"文件清理工具",-1)),d("span",ZP,[d("button",{type:"button",class:"pure-button button-error",onClick:ne},"关闭"),m[12]||(m[12]=T("      ",-1)),ie(Xs,{purpose:"清理文件",onSelect:B}),m[13]||(m[13]=T("      ",-1)),ie(x,{triggers:["click"],distance:5},{popper:ge(()=>[ie(zP)]),default:ge(()=>[m[11]||(m[11]=d("button",{type:"button",class:"pure-button"},"⚙ 设置",-1))]),_:1,__:[11]})]),d("div",eI,[d("a",{target:"_blank",href:v.value,title:"打开目录"},[m[14]||(m[14]=d("i",{class:"file-type tp-folder",style:{}},null,-1)),T(" "+F(w.value.join(" / ")),1)],8,tI)])]),d("div",nI,[d("div",oI,[m[16]||(m[16]=d("span",{class:"title"},[T("按"),d("b",null,"后缀名"),T("清理")],-1)),m[17]||(m[17]=T("      ",-1)),d("div",iI,[d("button",{type:"button",class:"pure-button",onClick:m[0]||(m[0]=S=>ke(!0))},"只查询"),d("button",{type:"button",class:"pure-button pure-button-primary",onClick:m[1]||(m[1]=S=>ke(!1)),disabled:o.value.queryOnly}," 一键清理 ",8,sI)]),m[18]||(m[18]=T("   ",-1)),m[19]||(m[19]=d("span",{class:"ce-label"},"不大于",-1)),m[20]||(m[20]=T("  ",-1)),G(d("input",{type:"number","onUpdate:modelValue":m[2]||(m[2]=S=>s.value.maxSize=S),class:"filter-size"},null,512),[[Ve,s.value.maxSize]]),m[21]||(m[21]=T(" MB ",-1)),m[22]||(m[22]=d("small",null,"(0表示不限制)",-1)),f.value?(_(),nt(bp,{key:0,type:te(Fe).suffix,"storage-key":"suffixGroups",onChange:Ii,config:u.value},null,8,["type","config"])):fe("",!0)]),d("table",rI,[m[25]||(m[25]=d("thead",null,[d("tr",null,[d("th",{width:"25"},"#"),d("th",{width:"100"},"后缀名"),d("th",{width:"95"},"文件数量"),d("th",{width:"80"},"合计大小"),d("th",{width:"200"},"操作"),d("th",{width:"200"},"状态")])],-1)),d("tbody",null,[(_(!0),E($e,null,je(a.value,(S,Z)=>(_(),E("tr",{key:Z,class:Te(te(gp)(S))},[d("td",null,F(Z+1),1),d("td",null,[d("a",{href:"javascript:void(0)",class:"pattern",onClick:j=>O(S),title:"筛选"},F(S.value),9,aI)]),d("td",null,F(S.num&&S.num>=0?S.num:""),1),d("td",null,F(S.size>0?te(Ki)(S.size):""),1),d("td",null,[d("button",{type:"button",class:"pure-button button-xsmall",onClick:j=>_e(S,!0,!1,!0)},"查询",8,lI),m[23]||(m[23]=T("   ",-1)),S.num&&S.num>0&&!o.value.queryOnly?(_(),E("button",{key:0,type:"button",class:"pure-button button-warning button-xsmall",onClick:j=>_e(S,!1,!0,!1,!0)},"清理",8,uI)):fe("",!0),m[24]||(m[24]=T("   ",-1)),S.num&&S.num>0?(_(),E("button",{key:1,type:"button",class:"pure-button button-warning button-xsmall",onClick:j=>z(o.value,S)},"≡ 详情",8,cI)):fe("",!0)]),d("td",null,F(S.status),1)],2))),128))])])]),m[55]||(m[55]=d("br",null,null,-1)),ie(Qs,{"is-open":P.value,onClose:m[3]||(m[3]=S=>P.value=!1),"max-width":"1030px",speed:100,"bg-color":"#fff"},{default:ge(()=>[P.value?(_(),nt(IP,{key:0,files:I.value.files,group:I.value.group,pattern:I.value.pattern},null,8,["files","group","pattern"])):fe("",!0)]),_:1},8,["is-open"]),d("div",{class:Te(["by-box by-keyword",[`kw-cate-${r.value.keywordCategory}`]])},[d("div",dI,[m[26]||(m[26]=d("span",{class:"title"},[T("按"),d("b",null,"关键词"),T("清理")],-1)),m[27]||(m[27]=T("      ",-1)),d("div",fI,[d("button",{type:"button",class:"pure-button",onClick:m[4]||(m[4]=S=>Ne(!0))},"只查询"),d("button",{type:"button",class:"pure-button pure-button-primary",onClick:m[5]||(m[5]=S=>Ne(!1)),disabled:i.value.queryOnly}," 一键清理 ",8,pI)]),m[28]||(m[28]=T("   ",-1)),m[29]||(m[29]=d("span",{class:"ce-label"},"不大于",-1)),m[30]||(m[30]=T("  ",-1)),G(d("input",{type:"number","onUpdate:modelValue":m[6]||(m[6]=S=>r.value.maxSize=S),class:"filter-size"},null,512),[[Ve,r.value.maxSize]]),m[31]||(m[31]=T(" MB ",-1)),m[32]||(m[32]=d("small",null,"(0表示不限制)",-1)),m[33]||(m[33]=T("    ",-1)),m[34]||(m[34]=d("span",{class:"ce-label"},"关键词类别",-1)),m[35]||(m[35]=T("  ",-1)),ie(Sa,{modelValue:r.value.keywordCategory,"onUpdate:modelValue":m[7]||(m[7]=S=>r.value.keywordCategory=S),mapping:te(VE)},null,8,["modelValue","mapping"]),m[36]||(m[36]=T("    ",-1)),m[37]||(m[37]=d("span",{class:"ce-label"},"结果筛选",-1)),m[38]||(m[38]=T("  ",-1)),ie(Sa,{modelValue:r.value.resultCategory,"onUpdate:modelValue":m[8]||(m[8]=S=>r.value.resultCategory=S),mapping:te(qE)},null,8,["modelValue","mapping"]),f.value?(_(),nt(bp,{key:0,type:te(Fe).keyword,"storage-key":"keywordGroups",onChange:Cn,config:u.value},null,8,["type","config"])):fe("",!0)]),d("table",{class:Te(["pure-table pure-table-bordered fixed-header-table",[`table-${r.value.resultCategory}`]])},[d("thead",null,[d("tr",null,[m[40]||(m[40]=d("th",{width:"25"},"#",-1)),d("th",{width:"280"},[m[39]||(m[39]=T(" 关键词 ",-1)),d("small",{class:"text-info",onClick:k},"显示调试信息")]),m[41]||(m[41]=d("th",{width:"95"},"文件/目录数量",-1)),m[42]||(m[42]=d("th",{width:"80"},"合计大小",-1)),m[43]||(m[43]=d("th",{width:"150"},"操作",-1)),m[44]||(m[44]=d("th",{width:"200"},"状态",-1))])]),d("tbody",null,[(_(!0),E($e,null,je(l.value,(S,Z)=>(_(),E("tr",{key:Z,class:Te(te(gp)(S,r.value))},[d("td",hI,F(Z+1),1),d("td",mI,[d("a",{href:fo(S),target:"_blank",class:"pattern",title:"搜索"},[G(d("i",wI,null,512),[[Gt,S.type===te(et).dirKeyword]]),T(" "+F(S.pattern),1)],8,gI),d("span",yI,[S.fullMatch?(_(),E("span",bI,"全等")):fe("",!0),S.caseSensitive?(_(),E("span",vI,"区分大小写")):fe("",!0),S.impartible?(_(),E("span",xI,"匹配空格")):fe("",!0),S.isRegexp?(_(),E("span",_I,"正则")):fe("",!0),S.type===te(et).fileHash?(_(),E("span",CI,"sha1")):fe("",!0),S.maxSize===0?(_(),E("span",kI,"任意大小")):fe("",!0),S.maxSize>0?(_(),E("span",SI,"不大于"+F(S.maxSize)+"MB",1)):fe("",!0),S.memo?(_(),E("div",$I,[m[45]||(m[45]=d("small",null,"备注:",-1)),T(" "+F(S.memo),1)])):fe("",!0)]),b.value?(_(),E("div",EI,[m[46]||(m[46]=d("small",null,"raw:",-1)),m[47]||(m[47]=T()),d("span",AI,F(S.value),1),m[48]||(m[48]=T(", ",-1)),m[49]||(m[49]=d("small",null,"type:",-1)),m[50]||(m[50]=T()),d("span",PI,F(te(Lw)[S.type]),1),d("div",null," fullMatch: "+F(S.fullMatch)+", caseSensitive: "+F(S.caseSensitive)+", impartible: "+F(S.impartible)+", isRegexp: "+F(S.isRegexp)+", maxSize: "+F(S.maxSize)+", patternRegexp: "+F(S.patternRegexp?.toString()),1)])):fe("",!0)]),d("td",II,F(S.num&&S.num>=0?S.num:""),1),d("td",DI,F(S.size>0?te(Ki)(S.size):""),1),d("td",TI,[S.type!==te(et).fileKeyword?(_(),E("button",{key:0,type:"button",class:"pure-button button-xsmall",onClick:j=>we(S,!0,!1,!0)},"查询",8,LI)):fe("",!0),S.type!==te(et).fileKeyword&&S.num&&S.num>0&&!i.value.queryOnly?(_(),E("button",{key:1,type:"button",class:"pure-button button-warning button-xsmall",onClick:j=>we(S,!1,!0,!1,void 0,!0)},"清理",8,MI)):fe("",!0),S.num&&S.num>0?(_(),E("button",{key:2,type:"button",class:"pure-button button-xsmall",onClick:j=>z(i.value,S)},"≡ 详情",8,BI)):fe("",!0)]),d("td",OI,F(S.status),1)],2))),128))])],2)],2),m[56]||(m[56]=d("br",null,null,-1)),d("div",RI,[m[52]||(m[52]=d("span",{class:"title"},"文件清理工具",-1)),d("span",{class:"close"},[d("button",{type:"button",class:"pure-button button-error",onClick:ne},"关闭")]),m[53]||(m[53]=T("      ",-1)),ie(Xs,{purpose:"清理文件",onSelect:B}),m[54]||(m[54]=T("      ",-1)),ie(jw,{container:".cloud115-eh-cleaner-drawer"}),d("div",FI,[d("a",{target:"_blank",href:v.value,title:"打开目录"},[m[51]||(m[51]=d("i",{class:"file-type tp-folder",style:{}},null,-1)),T(" "+F(w.value.join(" / ")),1)],8,NI)])])],2),[[Gt,t.value]])]),_:1},8,["is-open"])],512)),[[Gt,n.value]])}}}),jI=Pe(UI,[["__file","Cleaner.vue"]]),zI={class:"ce-empty-cleaner-trigger"},HI=xe({__name:"Trigger",setup(e){K(false);const t=K(true);async function n(a){switch(a.data.type){case Jt.EMPTY_CLEANER_OPENED:await r(a.data.payload);break}}qt(async()=>{window.addEventListener("message",n);}),$i(()=>{window.removeEventListener("message",n);});async function o(){await s(),di({type:Jt.OPEN_EMPTY_CLEANER},window.parent);}let i;async function s(){const a=tr("cid");!a||a==="0"||(clearTimeout(i),i=setTimeout(async()=>{Y({icon:"error",text:"打开清理空文件夹工具失败!"+location.href});},1e3));}async function r(a){console.log("成功打开EmptyCleaner"),clearTimeout(i);}return (a,l)=>G((_(),E("span",zI,[Ge(a.$slots,"default",{},()=>[d("span",{class:"btn-open pure-button pure-button-primary",onClick:o,title:"打开清理空文件夹工具"},l[0]||(l[0]=[d("span",null,"空文件夹",-1)]))])],512)),[[Gt,t.value]])}}),VI=Pe(HI,[["__file","Trigger.vue"]]);async function qI(e,t){if(e=typeof e=="string"?e:e.join(","),!t){if(e.includes(","))throw new Error("target参数不能为空!");t=e;}t=t.startsWith("U_1_")?t:`U_1_${t}`;const n=new URLSearchParams({file_ids:e,target:t});return (await Ot().post("https://webapi.115.com/files/export_dir",n,{timeout:12e4,withCredentials:true})).data}async function WI(e,t=1e3,n=12e4){const o=new URLSearchParams({export_id:e.toString()}),i=async()=>(await Ot().get("https://webapi.115.com/files/export_dir?"+o.toString(),{timeout:12e4,withCredentials:true})).data;async function s(r){const a=await i();a.data&&a.data.pick_code&&r(a);}try{return await Ko(s,t,n)}catch(r){throw new Error(`导出目录树结果获取失败:${r.message}`)}}const KI=/^(?:\| )+\|-/;async function*GI(e){const t=["/"],n=e.trim().split(`
`);let o=0;for(const i of n){const s=KI.exec(i);if(s===null)continue;const a=s[0].length,l=a/2-1,c=i.slice(a);l>=t.length?t.push(c):t[l]=c,o+=1;const u=t.slice(0,l+1).join("/");yield {index:o,name:c,path:em(u)};}}function eu(e={}){return {name:"",path:"",id:"",url:"",checked:false,deleted:false,disabled:false,repeated:false,ensured:false,...e}}function tu(){return {suffixes:new Set,treeNameCounter:{},treeNameToPaths:{},repeatedPaths:new Set,maybeDirs:{},filesNameCounter:{},violationFiles:[]}}let JI=class{logs=[];_dirId="";_dirPath="";_dirAttr=null;_treeText="";_keepTree=false;_treeFile=null;_tailData=tu();_emptyItems=new Map;_checkedRepeatedPaths=new Set;_pendingPaths=new Set;logSubscribers=[];emptyItemSubscribers=[];treeFileSubscribers=[];constructor(t,n=false){t&&this.setDirId(t),this._keepTree=n;}addLogSubscriber(t){this.logSubscribers.push(t);}addEmptyItemSubscriber(t){this.emptyItemSubscribers.push(t);}addTreeFileSubscriber(t){this.treeFileSubscribers.push(t);}async setDirId(t){this._dirId=t,this._dirAttr=await Ut(t);const n=[...this._dirAttr.paths.slice(1).map(o=>o.file_name),this._dirAttr.file_name];this._dirPath=n.join("/");}async setKeepTree(t){this._keepTree=t;}getTreeFile(){return this._treeFile}async isReady(){return !!this._dirPath}async run(){if(!await this.isReady()){this.log(`运行异常!未获取到目录路径,目录ID=${this._dirId}`);return}if(this._dirAttr?.folder_count===0){this.log(`目录(id=${this._dirId}) "${this._dirPath}" 没有子目录,无需清理`);return}const t=Date.now();await this.exportTree(),await this.parseTree(),await this.queryFiles(),await this.handleMaybeDirs(),await this.detectEmpty(),await this.checkRealEmpty();const n=((Date.now()-t)/1e3).toFixed(2);this.log(`清理空目录检测阶段完成,合计耗时 ${n} 秒`),console.log("emptyItems:",this._emptyItems);}async exportTree(){const t=Date.now();this.log(`========导出目录树(目录ID=${this._dirId}, 路径=${this._dirPath})========`);const n=await qI(this._dirId);console.log("exportTree",n),this.log("已发起导出处理,等待导出完成...");const o=await WI(n.data.export_id,2e3);console.log("exportTree",o),this.log(`导出目录树成功,PickCode为${o.data.pick_code}`);const i=await bk(o.data.pick_code);console.log("downloadItem",i),this.log("正在读取目录树文件内容...");let s=true;try{this._treeText=await this._readFile(i),this.log("目录树文件内容读取完成");}catch(a){this.log(`读取目录树文件内容失败,${a.toString()}`),s=false;}if(this._keepTree)this.onTreeFileGenerated(i),this.log(`目录树文件保留,不会被删除。文件: ${i.file_name}`);else {const a=await qa(this._dirId,[i.file_id]);console.log("deleteResult",a),this.log("目录树文件已删除");}const r=((Date.now()-t)/1e3).toFixed(2);s?this.log(`导出目录树完成,耗时 ${r} 秒`):this.log(`导出目录树失败,耗时 ${r} 秒`),this.log("=".repeat(60));}async _readFile(t){const n=fA({okStatus:[200,206],useFileReader:true,fileReader:{checkBlank:true,encoding:"utf-16le"}});return await Ow(t.url.url,n)}async parseTree(){const t=Date.now();this.log("解析目录树...");const n=tu(),o=[],i=this._dirPath.split("/").slice(0,-1).join("/");console.log("[parseTree] parentPath:",i);for await(const r of GI(this._treeText)){const a=i+r.path;o.includes(a)&&n.repeatedPaths.add(a),o.push(a);}for(let r=0;r<o.length;r++){if(o[r+1]&&o[r+1].startsWith(o[r]+"/"))continue;let a=o[r].split("/").pop();if(!a)a=o[r];else {const l=nm(a,/^\w+$/);if(l)n.suffixes.add(l.toLowerCase());else {const c=o[r].replace(/\/[^\/]+$/,"");n.maybeDirs[c]||(n.maybeDirs[c]=new Set),n.maybeDirs[c].add(a);}}n.treeNameToPaths[a]||(n.treeNameToPaths[a]=[]),n.treeNameToPaths[a].push(o[r]),n.treeNameCounter[a]||(n.treeNameCounter[a]=0),n.treeNameCounter[a]+=1;}console.log("[parseTree] result:",n);const s=((Date.now()-t)/1e3).toFixed(2);this.log(`解析目录树完成,耗时 ${s} 秒`),this.log("=".repeat(60)),this._tailData=n;}async queryFiles(){const t=Date.now(),n=this._tailData;this.log("获取文件列表...");const o=Fn({type:mn.file,limit:1150,cid:this._dirId});try{const s=Date.now(),r=await No(o),a=((Date.now()-s)/1e3).toFixed(2);this.log(`获取文件列表成功,文件数量:${r.length}。耗时 ${a} 秒`);for(const l of r)l.c===mu.violation?(console.warn(`违规: id=${l.fid}, pc=${l.pc}, cid=${l.cid}, name=${l.n}`),this._tailData.violationFiles.push(Ci(l))):l.c===mu.auditing&&console.warn(`审核中: id=${l.fid}, pc=${l.pc}, cid=${l.cid}, name=${l.n}`),n.treeNameCounter[l.n]&&n.treeNameCounter[l.n]--,n.filesNameCounter[l.n]||(n.filesNameCounter[l.n]=0),n.filesNameCounter[l.n]++;}catch(s){console.error("[queryFiles] getFiles error! error:",s),this.log(`获取文件列表失败!错误: ${s.toString()}`);}const i=((Date.now()-t)/1e3).toFixed(2);this.log(`获取文件列表完成。耗时 ${i} 秒`),this.log("=".repeat(60));}async handleMaybeDirs(){const t=Date.now(),n=this._tailData;this.log("========根据上级路径排除无后缀文件========");const o=this._tailData.violationFiles.length>0,i=Object.keys(n.maybeDirs).length;let s=0;for(const[a,l]of Object.entries(n.maybeDirs)){let c="";try{c=await Fi(a,!1);}catch(f){console.error(`[handleMaybeDirs] getDirIdByPath error! path: ${a}, error:`,f),this.log(`[${s+1} / ${i}] 根据上级路径(cid=${a}) 获取目录ID失败!错误: ${f.toString()}`);continue}const u=Fn({limit:1150,cid:c});try{const f=Date.now();this.log(`[${s+1} / ${i}] 正在获取上级路径 "${a}" 的文件列表...`);const p=await No(u),w=((Date.now()-f)/1e3).toFixed(2);this.log(`[${s+1} / ${i}] 获取上级路径 "${a}" 的文件列表成功,文件数量:${p.length}。耗时 ${w} 秒`);for(const g of p)if(l.has(g.n)){if(g.fid)this.log(`[${s+1} / ${i}] 上级路径 "${a}" 下的 "${g.n}" 是一个文件`),n.treeNameCounter[g.n]&&n.treeNameCounter[g.n]--;else if(!n.filesNameCounter[g.n]&&!o){const b=a+"/"+g.n;this.log(`[${s+1} / ${i}] 路径 "${b}" 是一个目录,该目录名称无对应的文件,且由于无违规文件,因此可确认为空目录`);const v=eu({id:g.cid,name:g.n,path:b,url:On(g.cid),ensured:!0});await this.addEmptyItem(v);}}}catch(f){console.error(`[handleMaybeDirs] getFiles error! cid: ${c}, error:`,f),this.log(`[${s+1} / ${i}] 获取上级路径(cid=${c}) "${a}" 的文件列表失败!错误: ${f.toString()}`);}s++;}const r=((Date.now()-t)/1e3).toFixed(2);this.log(`根据上级路径排除无后缀文件完成。耗时 ${r} 秒`),this.log("=".repeat(60));}async detectEmpty(){const t=Date.now(),n=this._tailData;this.log("========开始检测路径========");const o=this._tailData.violationFiles.length>0;let i=0,s=Object.keys(n.treeNameCounter).length;for(const[a,l]of Object.entries(n.treeNameCounter)){if(!l){i++;continue}const c=n.treeNameToPaths[a];this.log(`[${i+1} / ${s}] 名称 "${a}" 有 ${l} 个路径需要检测`);for(let u=0;u<c.length;u++){const f=c[u];if(this._emptyItems.has(f)){console.log(`[detectEmpty] path "${f}" already exists in _emptyItems`);continue}if(n.repeatedPaths.has(f)){await this.checkDirContainsRepeated(a,f);continue}this.log(`[${i+1} / ${s}] 正在检测名称 "${a}" 第 ${u+1}/${l} 个路径: ${f}`);try{const p=await Fi(f,!1);if(p){this.log(`检测到该末端路径 "${f}" 是一个空目录(ID: ${p})`);const w=eu({id:p,name:a,path:f,url:On(p),ensured:!o});await this.addEmptyItem(w);}}catch(p){p instanceof Tc?this.log(`路径 "${f}" 不是一个目录`):(console.error(`[detectEmpty] getDirIdByPath failed! path: ${f}, error:`,p),this.log(`获取路径 "${f}" 的ID失败!错误: ${p.toString()}`));}}i++;}const r=((Date.now()-t)/1e3).toFixed(2);this.log(`检测路径完成,耗时 ${r} 秒`),this.log("=".repeat(60));}async checkDirContainsRepeated(t,n){if(this._checkedRepeatedPaths.has(n))return;this.log(`名称 "${t}" 路径 "${n}" 存在重复,将对其所在的目录进行检测`);const o=hu(n,"..",Oo.unix);console.log("[checkDirContainsRepeated] parentPath:",o);let i="";try{if(i=await Fi(o,!1),!i){this.log(`❌ 根据路径"${o}"获取目录ID失败: 目录不存在!`);return}}catch(r){console.error(`[checkDirContainsRepeated] getDirIdByPath error! path: ${o}, error:`,r),this.log(`获取路径 "${o}" 的ID失败!错误: ${r.toString()}`);return}const s=Fn({limit:1150,cid:i});try{const r=Date.now();this.log(`正在获取目录(id=${i})的文件列表...`);const a=await No(s),l=((Date.now()-r)/1e3).toFixed(2);this.log(`获取目录(id=${i})的文件列表成功,文件数量:${a.length}。耗时 ${l} 秒`);for(const c of a)if(!(c.fid||c.n!==t))try{const u=await Ut(c.cid);if(u.file_name){if(u.folder_count===0&&u.count===0){this.log(`目录(id=${i})的子目录(id=${c.cid})为空`);const f=eu({id:c.cid,name:u.file_name,path:[...u.paths.map(p=>p.file_name).slice(1),u.file_name].join("/"),url:On(c.cid),repeated:!0,ensured:!0,attr:u});await this.addEmptyItem(f);}else this.log(`目录(id=${i})的子目录(id=${c.cid})不为空`);this._checkedRepeatedPaths.add(n);}else this.log(`❌ 获取目录(id=${c.cid})属性失败!`);}catch(u){console.error(`[checkDirContainsRepeated] getAttr error! cid: ${c.cid}, error:`,u),this.log(`获取目录(id=${c.cid})属性失败!异常: ${u.toString()}`);}}catch(r){console.error(`[checkDirContainsRepeated] getFiles error! cid: ${i}, error:`,r),this.log(`获取目录(id=${i})的文件列表失败!错误: ${r.toString()}`);}}async checkRealEmpty(){const t=Date.now();this.log("========确认是否真的为空目录========");for(const o of this._emptyItems.values())if(!o.ensured)try{const i=await Ut(o.id);o.ensured=!0,o.attr=i,i.count===0&&i.folder_count===0?this.log(`目录(id=${o.id}) "${o.path}" 确认为空`):(o.disabled=!0,o.memo="目录不为空,请手动检查和处理",this.log(`目录(id=${o.id}) "${o.path}" 确认不为空,请手动检查和处理`));}catch(i){console.error(`[checkRealEmpty] getAttr error! cid: ${o.id}, error:`,i),this.log(`获取目录(id=${o.id}) "${o.path}" 属性失败!异常: ${i.toString()}`),o.disabled=true,o.memo="确认是否为空目录失败,请手动检查和处理";}const n=((Date.now()-t)/1e3).toFixed(2);this.log(`确认是否真的为空目录完成,耗时 ${n} 秒`),this.log("=".repeat(60));}async onTreeFileGenerated(t){this._treeFile=t;for(const n of this.treeFileSubscribers)n(t);}async addEmptyItem(t){if(this._emptyItems.has(t.path)){console.log(`[addEmptyItem] path(id=${t.id}) "${t.path}" already exists in _emptyItems`);return}this._emptyItems.set(t.path,t);for(const n of this.emptyItemSubscribers)n(t);}async getEmptyItems(){return Array.from(this._emptyItems.values())}async log(t){t=`[${new Date().toLocaleString()}] ${t}`,this.logs.push(t);for(const n of this.logSubscribers)n(t);}async reset(){this.logs=[],this._emptyItems=new Map,this._tailData=tu(),this._treeFile=null,this._checkedRepeatedPaths=new Set,this._pendingPaths=new Set;}};const YI={},QI={class:"ce-empty-cleaner-help"};function XI(e,t){return _(),E("div",QI,t[0]||(t[0]=[Ag('<div data-v-ce900ab5><h2 data-v-ce900ab5>免责声明</h2><div data-v-ce900ab5><p data-v-ce900ab5>该工具仅作为学习测试用途,使用该工具造成的任何结果由使用人承担。</p></div><hr data-v-ce900ab5><h2 data-v-ce900ab5>说明</h2><ul style="color:#00f;" data-v-ce900ab5><li class="text-danger text-bold" data-v-ce900ab5> * <span style="font-size:120%;" data-v-ce900ab5>不要</span>直接清理一个巨大的文件夹!比如包含超过5万个文件夹。 太大的文件夹可能会导出目录树失败,且可能导致账号被系统风控。 </li><li data-v-ce900ab5>* 对于巨大的文件夹,可以分开清理下级文件夹。</li><li data-v-ce900ab5>* 只有违规文件的文件夹也会被检测到并列出,需要手动处理。</li><li data-v-ce900ab5>* 请谨慎操作!请谨慎操作!请谨慎操作!</li></ul><hr data-v-ce900ab5><h2 data-v-ce900ab5>流程</h2><ul style="color:#f40;" data-v-ce900ab5><li data-v-ce900ab5>1.确认当前显示的目录是否为需要进行清理的目录。</li><li data-v-ce900ab5>2.点击「检测空文件夹」按钮。</li><li data-v-ce900ab5>3.保持当前页面处于激活状态,留意日志区域的输出,耐心等待。</li><li data-v-ce900ab5>4.当看到「空文件夹检测已完成」的提示时,说明检测完成。</li><li data-v-ce900ab5>5.如果有空文件夹,会在空文件夹列表显示。</li><li data-v-ce900ab5>6.每个空文件夹都可以单独进行打开、获取详情、删除等操作。</li><li data-v-ce900ab5>7.批量删除: 勾选需要删除的空文件夹,点击「删除选中」进行删除。</li></ul><hr data-v-ce900ab5><h3 data-v-ce900ab5>原理和优劣</h3><div class="text-primary" data-v-ce900ab5> 本工具原理是导出目录树,然后查询文件,接着排除目录树中的文件,最后再判断目录树中剩余的项是否为空文件夹。 </div><ul data-v-ce900ab5><li class="text-bold text-success" data-v-ce900ab5>优点:</li><li class="text-success" data-v-ce900ab5>在子文件夹数量较多时,比逐层逐个查询文件列表要快得多。</li><li class="text-warning text-bold" data-v-ce900ab5>缺点:</li><li class="text-warning" data-v-ce900ab5>* 排除真实文件后,如剩余需判断项较多,耗时较长。</li><li class="text-warning" data-v-ce900ab5>* 不能判断大小为0且有空子文件夹的文件夹。</li></ul></div>',1)]))}const ZI=Pe(YI,[["render",XI],["__scopeId","data-v-ce900ab5"],["__file","Help.vue"]]);async function eD(){return (await Ot().get("https://115.com/?ct=tool&ac=clear_empty_folder",{timeout:12e4,withCredentials:true})).data}async function $a(){const e=t=>{V.update({html:`清理失败!${t}`,showConfirmButton:true,allowOutsideClick:false});};try{const{isConfirmed:t,value:n}=await V.fire({title:"一键全局清理空文件夹",html:`<div>
        <div class="text-warning">这是官方自带的功能,脚本只是调用对应的API。</div>
        <h4>功能特点:</h4>
        <p>1. 只能全局清理,不能指定只清理某个文件夹。</p>
        <p>2. 被删除的空文件夹会被永久删除,没有回收站记录。</p>
        <p>3. 清理时长跟文件夹(包括空的和非空的)数量成正比。</p>
        <p>4. 可能很快就提示"清空成功",但在文件夹数量较多时,服务端可能仍在进行清理处理。</p>
        <h4>一些建议:</h4>
        <p>1. 先仔细阅读并理解上面所说的,这很重要!</p>
        <p>2. 请谨慎操作!</p>
        <h3>请输入 yes 确认清理:</h3>
      </div>
      `,width:620,showDenyButton:!0,denyButtonText:"取消",showConfirmButton:!0,confirmButtonText:"确定清理空文件夹",customClass:{popup:"ce-swal-text-left"},input:"text"});if(console.warn("isConfirmed",t,"value",n),!t||n!=="yes")return;V.fire({html:"正在清理,请稍候..."}),V.showLoading();const o=await eD();o.state?V.update({html:o.msg}):e(`清理失败!${o.msg}`);}catch(t){console.error(t),e(`清理失败!${t.toString()}`);}finally{V.hideLoading();}}const tD={class:"ce-empty-cleaner ce-cleaner-x"},nD={class:"header actions-bar"},oD={class:"ce-path ce-label ce-label-primary-plain"},iD=["href"],sD={class:"top-actions"},rD=["disabled"],aD={class:"pure-form pure-form-aligned"},lD={class:"pure-control-group"},uD={key:0},cD={class:"text-primary"},dD={key:1},fD={class:"text-primary"},pD={key:0},hD=["href"],mD={key:0},gD={key:0},wD={class:"text-primary"},yD={class:"ec-items"},bD={class:"pure-table pure-table-bordered"},vD={width:"30"},xD=["disabled"],_D=["onUpdate:modelValue","onChange","disabled"],CD={key:0},kD={class:"ce-label ce-label-danger"},SD={key:0},$D={key:1},ED=["onClick","disabled"],AD=["onClick"],PD=["href"],ID={key:0},DD={class:"footer actions-bar"},TD={class:"ce-path ce-label ce-label-primary-plain"},LD=["href"],MD=xe({__name:"EmptyCleaner",setup(e){const t=K(false),n=K(true),o=K(false),i=K(""),s=K([]),r=K(null),a=K([]),l=K(false),c=K(null),u=K([]),f=K([]),p=K(null),w=K(null),g=Ke(()=>w.value?H0(w.value.pick_code):""),b=Ke(()=>i.value?On(i.value):"");let v;const k=K({keepTree:false});async function P(we){we.data.type===Jt.OPEN_EMPTY_CLEANER&&(A(we.data.payload),di({type:Jt.EMPTY_CLEANER_OPENED},we.source));}qt(async()=>{window.addEventListener("message",P),v=new JI(i.value),v.addLogSubscriber(ve),v.addEmptyItemSubscriber(ke),v.addTreeFileSubscriber(le);}),$i(()=>{window.removeEventListener("message",P);});async function A(we){t.value=true;const L=await zt();if(L==="0"||L===""){await dt(),await V.fire({icon:"warning",html:"<h2>不允许在根目录使用该工具!</h2>"});return}i.value&&i.value!==L&&console.warn("目录变化,重置"),r.value=await Ut(L),s.value=[...r.value.paths.slice(1).map(he=>he.file_name),r.value.file_name],i.value=L;}async function I(){l.value=false,u.value=[],f.value=[],a.value=[],w.value=null;}async function M(){try{o.value=!0,await I(),await v.reset(),await v.setKeepTree(k.value.keepTree),await v.setDirId(i.value),await v.run(),V.fire({title:"空文件夹检测已完成"});}catch(we){console.error(we),V.fire({title:"空文件夹检测失败",text:we.toString()});}finally{o.value=false;}}async function z(we){const L=f.value.join(`
`);if(we==="copy")ft(L),Y({text:"已复制清理空文件夹日志",timer:1200});else if(we==="download"){let he=`清理空文件夹日志-${i.value}.txt`;Yr(L,he);}}async function N(we,L,he="path"){const it=L==="all"?a.value:u.value;let pt="";he==="path"?pt=it.map(Zt=>Zt.path).join(`
`):he==="full"&&(pt=JSON.stringify(it,null,2));const fn=he==="path"?"路径":"数据";if(we==="copy")ft(pt),Y({text:`已复制${fn}到剪贴板`,timer:1200});else if(we==="download"){let Zt=`空文件夹${fn}-${i.value}-数量${it.length}`;Yr(pt,`${Zt}.${he==="path"?"txt":"json"}`);}}async function se(we){const he=u.value.map(it=>it.url);await mr(he,true);}async function pe(we){console.log("[onSelectDir]",we);const{items:L}=we,he=L[L.length-1];await I(),i.value=he.cid,r.value=await Ut(he.cid),s.value=[...r.value.paths.slice(1).map(it=>it.file_name),r.value.file_name];}async function ne(we,L){if(we.deleted){Y({text:"该目录已删除,不能再次删除!",showConfirmButton:true});return}o.value=true,await O([we.id])&&(we.deleted=true),o.value=false;}async function B(){if(!u.value.length)return;const we=u.value.filter(L=>!L.deleted).map(L=>L.id);if(!we.length){Y({text:"没有可删除的目录!",showConfirmButton:true});return}if(o.value=true,await O(we))for(const L of u.value)L.deleted=true;o.value=false;}async function O(we){try{const L=await qa(i.value,we);if(L.state)return !0;Y({text:`删除失败: ${L.errno} - ${L.error}`});}catch(L){console.error(L),Y({text:`删除失败!${L.toString()}`});}return  false}async function W(we){o.value=true;try{const L=await Ut(we.id),he=pt=>new Date(Number(pt)*1e3).toLocaleString(),{isConfirmed:it}=await V.fire({title:"目录属性",html:`<div class="ce-ec-detail">
        <p><span>类型:</span> 文件夹</p>
        <p><span>大小:</span> ${L.size}</p>
        <p><span>创建时间:</span> ${he(L.ptime)}</p>
        <p><span>修改时间:</span> ${he(L.utime)}</p>
        <p><span>位置:</span> ${we.path}</p>
      </div>
      `,showDenyButton:!0,denyButtonText:"关闭",showConfirmButton:!0,confirmButtonText:"查看目录"});it&&window.open(we.url);}catch(L){Y({text:`获取目录属性失败!${L.toString()}`,timer:1e4,showConfirmButton:true});}finally{o.value=false;}}async function le(we){w.value=we;}async function ve(we){f.value.push(we),await gi(),p.value.scrollTop=p.value.scrollHeight;}async function ke(we){a.value.push(we);}async function _e(){console.log("[onAllCheckedChange]",l.value);for(const we of a.value)we.disabled||(we.checked=l.value);await Ne();}async function Se(we,L){console.log("[onCheckChange]",we,L),l.value=a.value.every(he=>he.checked),c.value.indeterminate=!l.value&&a.value.some(he=>he.checked),await Ne();}async function Ne(){u.value=a.value.filter(we=>we.checked);}async function dt(){t.value=false;}return (we,L)=>G((_(),E("span",tD,[Ge(we.$slots,"default",{},()=>[d("span",{class:"btn-open pure-button pure-button-primary",onClick:A},L[15]||(L[15]=[d("span",null,"清理空文件夹",-1)]))]),ie(Qs,{"is-open":t.value,speed:300,"max-width":"calc(100vw - 72px)",onClose:L[14]||(L[14]=he=>t.value=false)},{default:ge(()=>[G(d("div",{class:Te(["ce-empty-cleaner-drawer",{loading:o.value}])},[ie(ZI),d("div",nD,[L[17]||(L[17]=d("span",{class:"title"},"空文件夹清理工具",-1)),d("span",{class:"close"},[d("button",{type:"button",class:"pure-button button-error",onClick:dt},"关闭")]),L[18]||(L[18]=T("     ",-1)),ie(Xs,{purpose:"清理空文件夹",onSelect:pe}),d("button",{type:"button",class:"pure-button btn-global-clear",onClick:L[0]||(L[0]=(...he)=>te($a)&&te($a)(...he)),title:"不用怕误点击,点开后还需要确认呢"}," 一键全局清理空文件夹 "),d("div",oD,[d("a",{target:"_blank",href:b.value,title:"打开目录"},[L[16]||(L[16]=d("i",{class:"file-type tp-folder",style:{}},null,-1)),T(" "+F(s.value.join(" / ")),1)],8,iD)])]),d("div",null,[d("div",sD,[d("div",null,[d("button",{type:"button",class:"pure-button pure-button-primary",onClick:M,disabled:o.value},"检测空文件夹",8,rD)]),d("div",null,[d("form",aD,[d("fieldset",null,[d("div",lD,[r.value?(_(),E("label",uD,[L[19]||(L[19]=d("span",null,"文件夹数量:",-1)),L[20]||(L[20]=T("  ",-1)),d("b",cD,F(r.value?.folder_count),1)])):fe("",!0),r.value?(_(),E("label",dD,[L[21]||(L[21]=d("span",null,"文件数量:",-1)),L[22]||(L[22]=T("  ",-1)),d("b",fD,F(r.value?.count),1)])):fe("",!0),d("label",null,[G(d("input",{type:"checkbox",class:"ce-checkbox","onUpdate:modelValue":L[1]||(L[1]=he=>k.value.keepTree=he)},null,512),[[ye,k.value.keepTree]]),L[24]||(L[24]=T("  ",-1)),L[25]||(L[25]=d("span",{title:"不会删除目录树文件"},"保留目录树文件",-1)),w.value?(_(),E("span",pD,[L[23]||(L[23]=T("    ",-1)),d("a",{href:g.value,class:"text-primary",target:"_blank"},"查看目录树文件",8,hD)])):fe("",!0)])])])])])]),d("h3",null,[L[28]||(L[28]=T(" 日志 ",-1)),f.value.length?(_(),E("span",mD,[L[26]||(L[26]=T("     ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:L[2]||(L[2]=he=>z("copy"))},"复制日志"),L[27]||(L[27]=T("     ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:L[3]||(L[3]=he=>z("download"))},"保存日志")])):fe("",!0)]),d("div",{ref_key:"refLogs",ref:p,class:"ec-logs"},[(_(!0),E($e,null,je(f.value,(he,it)=>(_(),E("div",{key:it},F(he),1))),128))],512),d("h3",null,[L[33]||(L[33]=T(" 空文件夹 ",-1)),a.value.length?(_(),E("span",gD,[d("span",wD," ( "+F(a.value.length)+" )",1),L[29]||(L[29]=T("     ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:L[4]||(L[4]=he=>N("copy","all","path"))},"复制路径"),L[30]||(L[30]=T("   ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:L[5]||(L[5]=he=>N("copy","all","full"))},"复制数据"),L[31]||(L[31]=T("     ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:L[6]||(L[6]=he=>N("download","all","path"))},"保存路径"),L[32]||(L[32]=T("   ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:L[7]||(L[7]=he=>N("download","all","full"))},"保存数据")])):fe("",!0)]),d("div",yD,[d("table",bD,[d("thead",null,[d("tr",null,[L[34]||(L[34]=d("th",{width:"25"},"#",-1)),d("th",vD,[G(d("input",{ref_key:"refAllChecked",ref:c,type:"checkbox",class:"ce-checkbox","onUpdate:modelValue":L[8]||(L[8]=he=>l.value=he),onChange:_e,disabled:!a.value.length},null,40,xD),[[ye,l.value]])]),L[35]||(L[35]=d("th",{width:"140"},"ID",-1)),L[36]||(L[36]=d("th",null,"路径",-1)),L[37]||(L[37]=d("th",{width:"150"},"操作",-1))])]),d("tbody",null,[(_(!0),E($e,null,je(a.value,(he,it)=>(_(),E("tr",{key:it,class:Te({"tr-deleted":he.deleted})},[d("td",null,F(it+1),1),d("td",null,[G(d("input",{type:"checkbox",class:"ce-checkbox","onUpdate:modelValue":pt=>he.checked=pt,onChange:pt=>Se(he,it),disabled:he.disabled},null,40,_D),[[ye,he.checked]])]),d("td",null,F(he.id),1),d("td",null,[d("div",null,F(he.path),1),he.memo?(_(),E("div",CD,[d("span",kD,F(he.memo),1)])):fe("",!0)]),d("td",null,[he.deleted?(_(),E("div",SD,L[38]||(L[38]=[d("span",{class:"label-danger"},"已删除",-1)]))):(_(),E("div",$D,[d("button",{type:"button",class:"pure-button button-xsmall button-error",onClick:pt=>ne(he,it),disabled:he.disabled},"删除",8,ED),L[39]||(L[39]=T("   ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:pt=>W(he)},"详情",8,AD),L[40]||(L[40]=T("   ",-1)),d("a",{class:"pure-button button-xsmall",href:he.url,target:"_blank"},"打开",8,PD)]))])],2))),128))])]),u.value.length?(_(),E("div",ID,[L[41]||(L[41]=d("br",null,null,-1)),d("button",{type:"button",class:"pure-button button-error",onClick:B},"删除选中 ("+F(u.value.length)+")",1),L[42]||(L[42]=T("     ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:L[9]||(L[9]=he=>N("copy","checked","path"))},"复制已选路径"),L[43]||(L[43]=T("   ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:L[10]||(L[10]=he=>N("copy","checked","full"))},"复制已选数据"),L[44]||(L[44]=T("     ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:L[11]||(L[11]=he=>N("download","checked","path"))},"保存已选路径"),L[45]||(L[45]=T("   ",-1)),d("button",{type:"button",class:"pure-button button-xsmall",onClick:L[12]||(L[12]=he=>N("download","checked","full"))},"保存已选数据"),L[46]||(L[46]=T("     ",-1)),d("button",{type:"button",class:"pure-button button-success button-xsmall",onClick:L[13]||(L[13]=he=>se("checked"))},"打开已选")])):fe("",!0)])]),d("div",DD,[L[48]||(L[48]=d("span",{class:"title"},"空文件夹清理工具",-1)),d("span",{class:"close"},[d("button",{type:"button",class:"pure-button button-error",onClick:dt},"关闭")]),L[49]||(L[49]=T("      ",-1)),ie(Xs,{purpose:"清理空文件夹",onSelect:pe}),L[50]||(L[50]=T("      ",-1)),ie(jw,{container:".ce-empty-cleaner-drawer"}),d("div",TD,[d("a",{target:"_blank",href:b.value,title:"打开目录"},[L[47]||(L[47]=d("i",{class:"file-type tp-folder",style:{}},null,-1)),T(" "+F(s.value.join(" / ")),1)],8,LD)])])],2),[[Gt,t.value]])]),_:1},8,["is-open"])],512)),[[Gt,n.value]])}}),BD=Pe(MD,[["__file","EmptyCleaner.vue"]]),OD=".button-xsmall,.button-mini{font-size:12px;padding:.2em .5em}.button-small{font-size:85%}.button-large{font-size:110%}.button-xlarge{font-size:125%}.button-success,.button-error,.button-warning,.button-secondary{color:#fff;border-radius:2px;text-shadow:0 1px 1px rgba(0,0,0,.2)}.button-success{background:#1cb841}.button-error{background:#ca3c3c}.button-warning{background:#df7514}.button-secondary{background:#42b8dd}.pure-form select{height:2.5em;font-size:12px}.pure-form input:not([type]){padding:4px 6px}.pure-form input[type=number]{min-width:100px}";Pt(OD);function RD(){return {showEntryOnPathBar:true}}async function zw(){const e=RD(),t=await Xe.get(wt.emptyCleanerConfig,e);return {...e,...t}}async function FD(e){return await Xe.set(wt.emptyCleanerConfig,e)}async function ND(){const{host:e}=location,t=await br(),n=await zw();e==="115.com"&&(console.log("[Cleaner] running..."),_n()?(await UD(t),await jD(n)):(await zD(),await HD()));}async function UD(e){if(!e.showEntryOnPathBar)return;const t="cloud115Cleaner",n=await tt("#js_path_add_dir"),o=ze(`<span id="${t}"/>`);n.insertAdjacentElement("afterend",o);const i=co(zE);i.component("VDropdown",Pi),i.directive("tooltip",md),i.mount(`#${t}`);}async function jD(e){if(!e.showEntryOnPathBar)return;const t="cloud115EmptyCleaner",n=await tt("#js_path_add_dir"),o=ze(`<span id="${t}"/>`);n.insertAdjacentElement("afterend",o),co(VI).mount(`#${t}`);}async function zD(e){const t="cloud115Cleaner",n=ze(`<div id="${t}"/>`);document.body.appendChild(n);const o=co(jI);o.component("VDropdown",Pi),o.directive("tooltip",md),o.mount(`#${t}`),Cs("清理文件",async()=>{di({type:Jt.OPEN_CLEANER},window.parent);});}async function HD(e){const t="cloud115EmptyCleaner",n=ze(`<div id="${t}"/>`);document.body.appendChild(n);const o=co(BD);o.component("VDropdown",Pi),o.mount(`#${t}`),Cs("清理空目录",async()=>{di({type:Jt.OPEN_EMPTY_CLEANER},window.parent);});}function Hw(e,t){return function(){return e.apply(t,arguments)}}const{toString:VD}=Object.prototype,{getPrototypeOf:_d}=Object,{iterator:gl,toStringTag:Vw}=Symbol,wl=(e=>t=>{const n=VD.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Hn=e=>(e=e.toLowerCase(),t=>wl(t)===e),yl=e=>t=>typeof t===e,{isArray:ds}=Array,Zs=yl("undefined");function vr(e){return e!==null&&!Zs(e)&&e.constructor!==null&&!Zs(e.constructor)&&ln(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const qw=Hn("ArrayBuffer");function qD(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&qw(e.buffer),t}const WD=yl("string"),ln=yl("function"),Ww=yl("number"),xr=e=>e!==null&&typeof e=="object",KD=e=>e===true||e===false,Wr=e=>{if(wl(e)!=="object")return  false;const t=_d(e);return (t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Vw in e)&&!(gl in e)},GD=e=>{if(!xr(e)||vr(e))return  false;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return  false}},JD=Hn("Date"),YD=Hn("File"),QD=Hn("Blob"),XD=Hn("FileList"),ZD=e=>xr(e)&&ln(e.pipe),e5=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||ln(e.append)&&((t=wl(e))==="formdata"||t==="object"&&ln(e.toString)&&e.toString()==="[object FormData]"))},t5=Hn("URLSearchParams"),[n5,o5,i5,s5]=["ReadableStream","Request","Response","Headers"].map(Hn),r5=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function _r(e,t,{allOwnKeys:n=false}={}){if(e===null||typeof e>"u")return;let o,i;if(typeof e!="object"&&(e=[e]),ds(e))for(o=0,i=e.length;o<i;o++)t.call(null,e[o],o,e);else {if(vr(e))return;const s=n?Object.getOwnPropertyNames(e):Object.keys(e),r=s.length;let a;for(o=0;o<r;o++)a=s[o],t.call(null,e[a],a,e);}}function Kw(e,t){if(vr(e))return null;t=t.toLowerCase();const n=Object.keys(e);let o=n.length,i;for(;o-- >0;)if(i=n[o],t===i.toLowerCase())return i;return null}const ri=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Gw=e=>!Zs(e)&&e!==ri;function Wu(){const{caseless:e}=Gw(this)&&this||{},t={},n=(o,i)=>{const s=e&&Kw(t,i)||i;Wr(t[s])&&Wr(o)?t[s]=Wu(t[s],o):Wr(o)?t[s]=Wu({},o):ds(o)?t[s]=o.slice():t[s]=o;};for(let o=0,i=arguments.length;o<i;o++)arguments[o]&&_r(arguments[o],n);return t}const a5=(e,t,n,{allOwnKeys:o}={})=>(_r(t,(i,s)=>{n&&ln(i)?e[s]=Hw(i,n):e[s]=i;},{allOwnKeys:o}),e),l5=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),u5=(e,t,n,o)=>{e.prototype=Object.create(t.prototype,o),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n);},c5=(e,t,n,o)=>{let i,s,r;const a={};if(t=t||{},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),s=i.length;s-- >0;)r=i[s],(!o||o(r,e,t))&&!a[r]&&(t[r]=e[r],a[r]=true);e=n!==false&&_d(e);}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},d5=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const o=e.indexOf(t,n);return o!==-1&&o===n},f5=e=>{if(!e)return null;if(ds(e))return e;let t=e.length;if(!Ww(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},p5=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&_d(Uint8Array)),h5=(e,t)=>{const o=(e&&e[gl]).call(e);let i;for(;(i=o.next())&&!i.done;){const s=i.value;t.call(e,s[0],s[1]);}},m5=(e,t)=>{let n;const o=[];for(;(n=e.exec(t))!==null;)o.push(n);return o},g5=Hn("HTMLFormElement"),w5=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,o,i){return o.toUpperCase()+i}),_p=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),y5=Hn("RegExp"),Jw=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),o={};_r(n,(i,s)=>{let r;(r=t(i,s,e))!==false&&(o[s]=r||i);}),Object.defineProperties(e,o);},b5=e=>{Jw(e,(t,n)=>{if(ln(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return  false;const o=e[n];if(ln(o)){if(t.enumerable=false,"writable"in t){t.writable=false;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")});}});},v5=(e,t)=>{const n={},o=i=>{i.forEach(s=>{n[s]=true;});};return ds(e)?o(e):o(String(e).split(t)),n},x5=()=>{},_5=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function C5(e){return !!(e&&ln(e.append)&&e[Vw]==="FormData"&&e[gl])}const k5=e=>{const t=new Array(10),n=(o,i)=>{if(xr(o)){if(t.indexOf(o)>=0)return;if(vr(o))return o;if(!("toJSON"in o)){t[i]=o;const s=ds(o)?[]:{};return _r(o,(r,a)=>{const l=n(r,i+1);!Zs(l)&&(s[a]=l);}),t[i]=void 0,s}}return o};return n(e,0)},S5=Hn("AsyncFunction"),$5=e=>e&&(xr(e)||ln(e))&&ln(e.then)&&ln(e.catch),Yw=((e,t)=>e?setImmediate:t?((n,o)=>(ri.addEventListener("message",({source:i,data:s})=>{i===ri&&s===n&&o.length&&o.shift()();},false),i=>{o.push(i),ri.postMessage(n,"*");}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",ln(ri.postMessage)),E5=typeof queueMicrotask<"u"?queueMicrotask.bind(ri):typeof process<"u"&&process.nextTick||Yw,A5=e=>e!=null&&ln(e[gl]),H={isArray:ds,isArrayBuffer:qw,isBuffer:vr,isFormData:e5,isArrayBufferView:qD,isString:WD,isNumber:Ww,isBoolean:KD,isObject:xr,isPlainObject:Wr,isEmptyObject:GD,isReadableStream:n5,isRequest:o5,isResponse:i5,isHeaders:s5,isUndefined:Zs,isDate:JD,isFile:YD,isBlob:QD,isRegExp:y5,isFunction:ln,isStream:ZD,isURLSearchParams:t5,isTypedArray:p5,isFileList:XD,forEach:_r,merge:Wu,extend:a5,trim:r5,stripBOM:l5,inherits:u5,toFlatObject:c5,kindOf:wl,kindOfTest:Hn,endsWith:d5,toArray:f5,forEachEntry:h5,matchAll:m5,isHTMLForm:g5,hasOwnProperty:_p,hasOwnProp:_p,reduceDescriptors:Jw,freezeMethods:b5,toObjectSet:v5,toCamelCase:w5,noop:x5,toFiniteNumber:_5,findKey:Kw,global:ri,isContextDefined:Gw,isSpecCompliantForm:C5,toJSONObject:k5,isAsyncFn:S5,isThenable:$5,setImmediate:Yw,asap:E5,isIterable:A5};function Re(e,t,n,o,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),o&&(this.request=o),i&&(this.response=i,this.status=i.status?i.status:null);}H.inherits(Re,Error,{toJSON:function(){return {message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:H.toJSONObject(this.config),code:this.code,status:this.status}}});const Qw=Re.prototype,Xw={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Xw[e]={value:e};});Object.defineProperties(Re,Xw);Object.defineProperty(Qw,"isAxiosError",{value:true});Re.from=(e,t,n,o,i,s)=>{const r=Object.create(Qw);return H.toFlatObject(e,r,function(l){return l!==Error.prototype},a=>a!=="isAxiosError"),Re.call(r,e.message,t,n,o,i),r.cause=e,r.name=e.name,s&&Object.assign(r,s),r};const P5=null;function Ku(e){return H.isPlainObject(e)||H.isArray(e)}function Zw(e){return H.endsWith(e,"[]")?e.slice(0,-2):e}function Cp(e,t,n){return e?e.concat(t).map(function(i,s){return i=Zw(i),!n&&s?"["+i+"]":i}).join(n?".":""):t}function I5(e){return H.isArray(e)&&!e.some(Ku)}const D5=H.toFlatObject(H,{},null,function(t){return /^is[A-Z]/.test(t)});function bl(e,t,n){if(!H.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=H.toFlatObject(n,{metaTokens:true,dots:false,indexes:false},false,function(b,v){return !H.isUndefined(v[b])});const o=n.metaTokens,i=n.visitor||u,s=n.dots,r=n.indexes,l=(n.Blob||typeof Blob<"u"&&Blob)&&H.isSpecCompliantForm(t);if(!H.isFunction(i))throw new TypeError("visitor must be a function");function c(g){if(g===null)return "";if(H.isDate(g))return g.toISOString();if(H.isBoolean(g))return g.toString();if(!l&&H.isBlob(g))throw new Re("Blob is not supported. Use a Buffer instead.");return H.isArrayBuffer(g)||H.isTypedArray(g)?l&&typeof Blob=="function"?new Blob([g]):Buffer.from(g):g}function u(g,b,v){let k=g;if(g&&!v&&typeof g=="object"){if(H.endsWith(b,"{}"))b=o?b:b.slice(0,-2),g=JSON.stringify(g);else if(H.isArray(g)&&I5(g)||(H.isFileList(g)||H.endsWith(b,"[]"))&&(k=H.toArray(g)))return b=Zw(b),k.forEach(function(A,I){!(H.isUndefined(A)||A===null)&&t.append(r===true?Cp([b],I,s):r===null?b:b+"[]",c(A));}),false}return Ku(g)?true:(t.append(Cp(v,b,s),c(g)),false)}const f=[],p=Object.assign(D5,{defaultVisitor:u,convertValue:c,isVisitable:Ku});function w(g,b){if(!H.isUndefined(g)){if(f.indexOf(g)!==-1)throw Error("Circular reference detected in "+b.join("."));f.push(g),H.forEach(g,function(k,P){(!(H.isUndefined(k)||k===null)&&i.call(t,k,H.isString(P)?P.trim():P,b,p))===true&&w(k,b?b.concat(P):[P]);}),f.pop();}}if(!H.isObject(e))throw new TypeError("data must be an object");return w(e),t}function kp(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(o){return t[o]})}function Cd(e,t){this._pairs=[],e&&bl(e,this,t);}const ey=Cd.prototype;ey.append=function(t,n){this._pairs.push([t,n]);};ey.toString=function(t){const n=t?function(o){return t.call(this,o,kp)}:kp;return this._pairs.map(function(i){return n(i[0])+"="+n(i[1])},"").join("&")};function T5(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function ty(e,t,n){if(!t)return e;const o=n&&n.encode||T5;H.isFunction(n)&&(n={serialize:n});const i=n&&n.serialize;let s;if(i?s=i(t,n):s=H.isURLSearchParams(t)?t.toString():new Cd(t,n).toString(o),s){const r=e.indexOf("#");r!==-1&&(e=e.slice(0,r)),e+=(e.indexOf("?")===-1?"?":"&")+s;}return e}class Sp{constructor(){this.handlers=[];}use(t,n,o){return this.handlers.push({fulfilled:t,rejected:n,synchronous:o?o.synchronous:false,runWhen:o?o.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null);}clear(){this.handlers&&(this.handlers=[]);}forEach(t){H.forEach(this.handlers,function(o){o!==null&&t(o);});}}const ny={silentJSONParsing:true,forcedJSONParsing:true,clarifyTimeoutError:false},L5=typeof URLSearchParams<"u"?URLSearchParams:Cd,M5=typeof FormData<"u"?FormData:null,B5=typeof Blob<"u"?Blob:null,O5={isBrowser:true,classes:{URLSearchParams:L5,FormData:M5,Blob:B5},protocols:["http","https","file","blob","url","data"]},kd=typeof window<"u"&&typeof document<"u",Gu=typeof navigator=="object"&&navigator||void 0,R5=kd&&(!Gu||["ReactNative","NativeScript","NS"].indexOf(Gu.product)<0),F5=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",N5=kd&&window.location.href||"http://localhost",U5=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:kd,hasStandardBrowserEnv:R5,hasStandardBrowserWebWorkerEnv:F5,navigator:Gu,origin:N5},Symbol.toStringTag,{value:"Module"})),Nt={...U5,...O5};function j5(e,t){return bl(e,new Nt.classes.URLSearchParams,{visitor:function(n,o,i,s){return Nt.isNode&&H.isBuffer(n)?(this.append(o,n.toString("base64")),false):s.defaultVisitor.apply(this,arguments)},...t})}function z5(e){return H.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function H5(e){const t={},n=Object.keys(e);let o;const i=n.length;let s;for(o=0;o<i;o++)s=n[o],t[s]=e[s];return t}function oy(e){function t(n,o,i,s){let r=n[s++];if(r==="__proto__")return  true;const a=Number.isFinite(+r),l=s>=n.length;return r=!r&&H.isArray(i)?i.length:r,l?(H.hasOwnProp(i,r)?i[r]=[i[r],o]:i[r]=o,!a):((!i[r]||!H.isObject(i[r]))&&(i[r]=[]),t(n,o,i[r],s)&&H.isArray(i[r])&&(i[r]=H5(i[r])),!a)}if(H.isFormData(e)&&H.isFunction(e.entries)){const n={};return H.forEachEntry(e,(o,i)=>{t(z5(o),i,n,0);}),n}return null}function V5(e,t,n){if(H.isString(e))try{return (t||JSON.parse)(e),H.trim(e)}catch(o){if(o.name!=="SyntaxError")throw o}return (n||JSON.stringify)(e)}const Cr={transitional:ny,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const o=n.getContentType()||"",i=o.indexOf("application/json")>-1,s=H.isObject(t);if(s&&H.isHTMLForm(t)&&(t=new FormData(t)),H.isFormData(t))return i?JSON.stringify(oy(t)):t;if(H.isArrayBuffer(t)||H.isBuffer(t)||H.isStream(t)||H.isFile(t)||H.isBlob(t)||H.isReadableStream(t))return t;if(H.isArrayBufferView(t))return t.buffer;if(H.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",false),t.toString();let a;if(s){if(o.indexOf("application/x-www-form-urlencoded")>-1)return j5(t,this.formSerializer).toString();if((a=H.isFileList(t))||o.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return bl(a?{"files[]":t}:t,l&&new l,this.formSerializer)}}return s||i?(n.setContentType("application/json",false),V5(t)):t}],transformResponse:[function(t){const n=this.transitional||Cr.transitional,o=n&&n.forcedJSONParsing,i=this.responseType==="json";if(H.isResponse(t)||H.isReadableStream(t))return t;if(t&&H.isString(t)&&(o&&!this.responseType||i)){const r=!(n&&n.silentJSONParsing)&&i;try{return JSON.parse(t)}catch(a){if(r)throw a.name==="SyntaxError"?Re.from(a,Re.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Nt.classes.FormData,Blob:Nt.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};H.forEach(["delete","get","head","post","put","patch"],e=>{Cr.headers[e]={};});const q5=H.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),W5=e=>{const t={};let n,o,i;return e&&e.split(`
`).forEach(function(r){i=r.indexOf(":"),n=r.substring(0,i).trim().toLowerCase(),o=r.substring(i+1).trim(),!(!n||t[n]&&q5[n])&&(n==="set-cookie"?t[n]?t[n].push(o):t[n]=[o]:t[n]=t[n]?t[n]+", "+o:o);}),t},$p=Symbol("internals");function bs(e){return e&&String(e).trim().toLowerCase()}function Kr(e){return e===false||e==null?e:H.isArray(e)?e.map(Kr):String(e)}function K5(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let o;for(;o=n.exec(e);)t[o[1]]=o[2];return t}const G5=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function nu(e,t,n,o,i){if(H.isFunction(o))return o.call(this,t,n);if(i&&(t=n),!!H.isString(t)){if(H.isString(o))return t.indexOf(o)!==-1;if(H.isRegExp(o))return o.test(t)}}function J5(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,o)=>n.toUpperCase()+o)}function Y5(e,t){const n=H.toCamelCase(" "+t);["get","set","has"].forEach(o=>{Object.defineProperty(e,o+n,{value:function(i,s,r){return this[o].call(this,t,i,s,r)},configurable:true});});}let un=class{constructor(t){t&&this.set(t);}set(t,n,o){const i=this;function s(a,l,c){const u=bs(l);if(!u)throw new Error("header name must be a non-empty string");const f=H.findKey(i,u);(!f||i[f]===void 0||c===true||c===void 0&&i[f]!==false)&&(i[f||l]=Kr(a));}const r=(a,l)=>H.forEach(a,(c,u)=>s(c,u,l));if(H.isPlainObject(t)||t instanceof this.constructor)r(t,n);else if(H.isString(t)&&(t=t.trim())&&!G5(t))r(W5(t),n);else if(H.isObject(t)&&H.isIterable(t)){let a={},l,c;for(const u of t){if(!H.isArray(u))throw TypeError("Object iterator must return a key-value pair");a[c=u[0]]=(l=a[c])?H.isArray(l)?[...l,u[1]]:[l,u[1]]:u[1];}r(a,n);}else t!=null&&s(n,t,o);return this}get(t,n){if(t=bs(t),t){const o=H.findKey(this,t);if(o){const i=this[o];if(!n)return i;if(n===true)return K5(i);if(H.isFunction(n))return n.call(this,i,o);if(H.isRegExp(n))return n.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=bs(t),t){const o=H.findKey(this,t);return !!(o&&this[o]!==void 0&&(!n||nu(this,this[o],o,n)))}return  false}delete(t,n){const o=this;let i=false;function s(r){if(r=bs(r),r){const a=H.findKey(o,r);a&&(!n||nu(o,o[a],a,n))&&(delete o[a],i=true);}}return H.isArray(t)?t.forEach(s):s(t),i}clear(t){const n=Object.keys(this);let o=n.length,i=false;for(;o--;){const s=n[o];(!t||nu(this,this[s],s,t,true))&&(delete this[s],i=true);}return i}normalize(t){const n=this,o={};return H.forEach(this,(i,s)=>{const r=H.findKey(o,s);if(r){n[r]=Kr(i),delete n[s];return}const a=t?J5(s):String(s).trim();a!==s&&delete n[s],n[a]=Kr(i),o[a]=true;}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return H.forEach(this,(o,i)=>{o!=null&&o!==false&&(n[i]=t&&H.isArray(o)?o.join(", "):o);}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(`
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return "AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const o=new this(t);return n.forEach(i=>o.set(i)),o}static accessor(t){const o=(this[$p]=this[$p]={accessors:{}}).accessors,i=this.prototype;function s(r){const a=bs(r);o[a]||(Y5(i,r),o[a]=true);}return H.isArray(t)?t.forEach(s):s(t),this}};un.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);H.reduceDescriptors(un.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return {get:()=>e,set(o){this[n]=o;}}});H.freezeMethods(un);function ou(e,t){const n=this||Cr,o=t||n,i=un.from(o.headers);let s=o.data;return H.forEach(e,function(a){s=a.call(n,s,i.normalize(),t?t.status:void 0);}),i.normalize(),s}function iy(e){return !!(e&&e.__CANCEL__)}function fs(e,t,n){Re.call(this,e??"canceled",Re.ERR_CANCELED,t,n),this.name="CanceledError";}H.inherits(fs,Re,{__CANCEL__:true});function sy(e,t,n){const o=n.config.validateStatus;!n.status||!o||o(n.status)?e(n):t(new Re("Request failed with status code "+n.status,[Re.ERR_BAD_REQUEST,Re.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n));}function Q5(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function X5(e,t){e=e||10;const n=new Array(e),o=new Array(e);let i=0,s=0,r;return t=t!==void 0?t:1e3,function(l){const c=Date.now(),u=o[s];r||(r=c),n[i]=l,o[i]=c;let f=s,p=0;for(;f!==i;)p+=n[f++],f=f%e;if(i=(i+1)%e,i===s&&(s=(s+1)%e),c-r<t)return;const w=u&&c-u;return w?Math.round(p*1e3/w):void 0}}function Z5(e,t){let n=0,o=1e3/t,i,s;const r=(c,u=Date.now())=>{n=u,i=null,s&&(clearTimeout(s),s=null),e(...c);};return [(...c)=>{const u=Date.now(),f=u-n;f>=o?r(c,u):(i=c,s||(s=setTimeout(()=>{s=null,r(i);},o-f)));},()=>i&&r(i)]}const Ea=(e,t,n=3)=>{let o=0;const i=X5(50,250);return Z5(s=>{const r=s.loaded,a=s.lengthComputable?s.total:void 0,l=r-o,c=i(l),u=r<=a;o=r;const f={loaded:r,total:a,progress:a?r/a:void 0,bytes:l,rate:c||void 0,estimated:c&&a&&u?(a-r)/c:void 0,event:s,lengthComputable:a!=null,[t?"download":"upload"]:true};e(f);},n)},Ep=(e,t)=>{const n=e!=null;return [o=>t[0]({lengthComputable:n,total:e,loaded:o}),t[1]]},Ap=e=>(...t)=>H.asap(()=>e(...t)),eT=Nt.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,Nt.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(Nt.origin),Nt.navigator&&/(msie|trident)/i.test(Nt.navigator.userAgent)):()=>true,tT=Nt.hasStandardBrowserEnv?{write(e,t,n,o,i,s){const r=[e+"="+encodeURIComponent(t)];H.isNumber(n)&&r.push("expires="+new Date(n).toGMTString()),H.isString(o)&&r.push("path="+o),H.isString(i)&&r.push("domain="+i),s===true&&r.push("secure"),document.cookie=r.join("; ");},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5);}}:{write(){},read(){return null},remove(){}};function nT(e){return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function oT(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function ry(e,t,n){let o=!nT(t);return e&&(o||n==false)?oT(e,t):t}const Pp=e=>e instanceof un?{...e}:e;function vi(e,t){t=t||{};const n={};function o(c,u,f,p){return H.isPlainObject(c)&&H.isPlainObject(u)?H.merge.call({caseless:p},c,u):H.isPlainObject(u)?H.merge({},u):H.isArray(u)?u.slice():u}function i(c,u,f,p){if(H.isUndefined(u)){if(!H.isUndefined(c))return o(void 0,c,f,p)}else return o(c,u,f,p)}function s(c,u){if(!H.isUndefined(u))return o(void 0,u)}function r(c,u){if(H.isUndefined(u)){if(!H.isUndefined(c))return o(void 0,c)}else return o(void 0,u)}function a(c,u,f){if(f in t)return o(c,u);if(f in e)return o(void 0,c)}const l={url:s,method:s,data:s,baseURL:r,transformRequest:r,transformResponse:r,paramsSerializer:r,timeout:r,timeoutMessage:r,withCredentials:r,withXSRFToken:r,adapter:r,responseType:r,xsrfCookieName:r,xsrfHeaderName:r,onUploadProgress:r,onDownloadProgress:r,decompress:r,maxContentLength:r,maxBodyLength:r,beforeRedirect:r,transport:r,httpAgent:r,httpsAgent:r,cancelToken:r,socketPath:r,responseEncoding:r,validateStatus:a,headers:(c,u,f)=>i(Pp(c),Pp(u),f,true)};return H.forEach(Object.keys({...e,...t}),function(u){const f=l[u]||i,p=f(e[u],t[u],u);H.isUndefined(p)&&f!==a||(n[u]=p);}),n}const ay=e=>{const t=vi({},e);let{data:n,withXSRFToken:o,xsrfHeaderName:i,xsrfCookieName:s,headers:r,auth:a}=t;t.headers=r=un.from(r),t.url=ty(ry(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),a&&r.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):"")));let l;if(H.isFormData(n)){if(Nt.hasStandardBrowserEnv||Nt.hasStandardBrowserWebWorkerEnv)r.setContentType(void 0);else if((l=r.getContentType())!==false){const[c,...u]=l?l.split(";").map(f=>f.trim()).filter(Boolean):[];r.setContentType([c||"multipart/form-data",...u].join("; "));}}if(Nt.hasStandardBrowserEnv&&(o&&H.isFunction(o)&&(o=o(t)),o||o!==false&&eT(t.url))){const c=i&&s&&tT.read(s);c&&r.set(i,c);}return t},iT=typeof XMLHttpRequest<"u",sT=iT&&function(e){return new Promise(function(n,o){const i=ay(e);let s=i.data;const r=un.from(i.headers).normalize();let{responseType:a,onUploadProgress:l,onDownloadProgress:c}=i,u,f,p,w,g;function b(){w&&w(),g&&g(),i.cancelToken&&i.cancelToken.unsubscribe(u),i.signal&&i.signal.removeEventListener("abort",u);}let v=new XMLHttpRequest;v.open(i.method.toUpperCase(),i.url,true),v.timeout=i.timeout;function k(){if(!v)return;const A=un.from("getAllResponseHeaders"in v&&v.getAllResponseHeaders()),M={data:!a||a==="text"||a==="json"?v.responseText:v.response,status:v.status,statusText:v.statusText,headers:A,config:e,request:v};sy(function(N){n(N),b();},function(N){o(N),b();},M),v=null;}"onloadend"in v?v.onloadend=k:v.onreadystatechange=function(){!v||v.readyState!==4||v.status===0&&!(v.responseURL&&v.responseURL.indexOf("file:")===0)||setTimeout(k);},v.onabort=function(){v&&(o(new Re("Request aborted",Re.ECONNABORTED,e,v)),v=null);},v.onerror=function(){o(new Re("Network Error",Re.ERR_NETWORK,e,v)),v=null;},v.ontimeout=function(){let I=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded";const M=i.transitional||ny;i.timeoutErrorMessage&&(I=i.timeoutErrorMessage),o(new Re(I,M.clarifyTimeoutError?Re.ETIMEDOUT:Re.ECONNABORTED,e,v)),v=null;},s===void 0&&r.setContentType(null),"setRequestHeader"in v&&H.forEach(r.toJSON(),function(I,M){v.setRequestHeader(M,I);}),H.isUndefined(i.withCredentials)||(v.withCredentials=!!i.withCredentials),a&&a!=="json"&&(v.responseType=i.responseType),c&&([p,g]=Ea(c,true),v.addEventListener("progress",p)),l&&v.upload&&([f,w]=Ea(l),v.upload.addEventListener("progress",f),v.upload.addEventListener("loadend",w)),(i.cancelToken||i.signal)&&(u=A=>{v&&(o(!A||A.type?new fs(null,e,v):A),v.abort(),v=null);},i.cancelToken&&i.cancelToken.subscribe(u),i.signal&&(i.signal.aborted?u():i.signal.addEventListener("abort",u)));const P=Q5(i.url);if(P&&Nt.protocols.indexOf(P)===-1){o(new Re("Unsupported protocol "+P+":",Re.ERR_BAD_REQUEST,e));return}v.send(s||null);})},rT=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let o=new AbortController,i;const s=function(c){if(!i){i=true,a();const u=c instanceof Error?c:this.reason;o.abort(u instanceof Re?u:new fs(u instanceof Error?u.message:u));}};let r=t&&setTimeout(()=>{r=null,s(new Re(`timeout ${t} of ms exceeded`,Re.ETIMEDOUT));},t);const a=()=>{e&&(r&&clearTimeout(r),r=null,e.forEach(c=>{c.unsubscribe?c.unsubscribe(s):c.removeEventListener("abort",s);}),e=null);};e.forEach(c=>c.addEventListener("abort",s));const{signal:l}=o;return l.unsubscribe=()=>H.asap(a),l}},aT=function*(e,t){let n=e.byteLength;if(n<t){yield e;return}let o=0,i;for(;o<n;)i=o+t,yield e.slice(o,i),o=i;},lT=async function*(e,t){for await(const n of uT(e))yield*aT(n,t);},uT=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:n,value:o}=await t.read();if(n)break;yield o;}}finally{await t.cancel();}},Ip=(e,t,n,o)=>{const i=lT(e,t);let s=0,r,a=l=>{r||(r=true,o&&o(l));};return new ReadableStream({async pull(l){try{const{done:c,value:u}=await i.next();if(c){a(),l.close();return}let f=u.byteLength;if(n){let p=s+=f;n(p);}l.enqueue(new Uint8Array(u));}catch(c){throw a(c),c}},cancel(l){return a(l),i.return()}},{highWaterMark:2})},vl=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",ly=vl&&typeof ReadableStream=="function",cT=vl&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),uy=(e,...t)=>{try{return !!e(...t)}catch{return  false}},dT=ly&&uy(()=>{let e=!1;const t=new Request(Nt.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),Dp=64*1024,Ju=ly&&uy(()=>H.isReadableStream(new Response("").body)),Aa={stream:Ju&&(e=>e.body)};vl&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!Aa[t]&&(Aa[t]=H.isFunction(e[t])?n=>n[t]():(n,o)=>{throw new Re(`Response type '${t}' is not supported`,Re.ERR_NOT_SUPPORT,o)});});})(new Response);const fT=async e=>{if(e==null)return 0;if(H.isBlob(e))return e.size;if(H.isSpecCompliantForm(e))return (await new Request(Nt.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(H.isArrayBufferView(e)||H.isArrayBuffer(e))return e.byteLength;if(H.isURLSearchParams(e)&&(e=e+""),H.isString(e))return (await cT(e)).byteLength},pT=async(e,t)=>{const n=H.toFiniteNumber(e.getContentLength());return n??fT(t)},hT=vl&&(async e=>{let{url:t,method:n,data:o,signal:i,cancelToken:s,timeout:r,onDownloadProgress:a,onUploadProgress:l,responseType:c,headers:u,withCredentials:f="same-origin",fetchOptions:p}=ay(e);c=c?(c+"").toLowerCase():"text";let w=rT([i,s&&s.toAbortSignal()],r),g;const b=w&&w.unsubscribe&&(()=>{w.unsubscribe();});let v;try{if(l&&dT&&n!=="get"&&n!=="head"&&(v=await pT(u,o))!==0){let M=new Request(t,{method:"POST",body:o,duplex:"half"}),z;if(H.isFormData(o)&&(z=M.headers.get("content-type"))&&u.setContentType(z),M.body){const[N,se]=Ep(v,Ea(Ap(l)));o=Ip(M.body,Dp,N,se);}}H.isString(f)||(f=f?"include":"omit");const k="credentials"in Request.prototype;g=new Request(t,{...p,signal:w,method:n.toUpperCase(),headers:u.normalize().toJSON(),body:o,duplex:"half",credentials:k?f:void 0});let P=await fetch(g,p);const A=Ju&&(c==="stream"||c==="response");if(Ju&&(a||A&&b)){const M={};["status","statusText","headers"].forEach(pe=>{M[pe]=P[pe];});const z=H.toFiniteNumber(P.headers.get("content-length")),[N,se]=a&&Ep(z,Ea(Ap(a),!0))||[];P=new Response(Ip(P.body,Dp,N,()=>{se&&se(),b&&b();}),M);}c=c||"text";let I=await Aa[H.findKey(Aa,c)||"text"](P,e);return !A&&b&&b(),await new Promise((M,z)=>{sy(M,z,{data:I,headers:un.from(P.headers),status:P.status,statusText:P.statusText,config:e,request:g});})}catch(k){throw b&&b(),k&&k.name==="TypeError"&&/Load failed|fetch/i.test(k.message)?Object.assign(new Re("Network Error",Re.ERR_NETWORK,e,g),{cause:k.cause||k}):Re.from(k,k&&k.code,e,g)}}),Yu={http:P5,xhr:sT,fetch:hT};H.forEach(Yu,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t});}catch{}Object.defineProperty(e,"adapterName",{value:t});}});const Tp=e=>`- ${e}`,mT=e=>H.isFunction(e)||e===null||e===false,cy={getAdapter:e=>{e=H.isArray(e)?e:[e];const{length:t}=e;let n,o;const i={};for(let s=0;s<t;s++){n=e[s];let r;if(o=n,!mT(n)&&(o=Yu[(r=String(n)).toLowerCase()],o===void 0))throw new Re(`Unknown adapter '${r}'`);if(o)break;i[r||"#"+s]=o;}if(!o){const s=Object.entries(i).map(([a,l])=>`adapter ${a} `+(l===false?"is not supported by the environment":"is not available in the build"));let r=t?s.length>1?`since :
`+s.map(Tp).join(`
`):" "+Tp(s[0]):"as no adapter specified";throw new Re("There is no suitable adapter to dispatch the request "+r,"ERR_NOT_SUPPORT")}return o},adapters:Yu};function iu(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new fs(null,e)}function Lp(e){return iu(e),e.headers=un.from(e.headers),e.data=ou.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",false),cy.getAdapter(e.adapter||Cr.adapter)(e).then(function(o){return iu(e),o.data=ou.call(e,e.transformResponse,o),o.headers=un.from(o.headers),o},function(o){return iy(o)||(iu(e),o&&o.response&&(o.response.data=ou.call(e,e.transformResponse,o.response),o.response.headers=un.from(o.response.headers))),Promise.reject(o)})}const dy="1.11.0",xl={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{xl[e]=function(o){return typeof o===e||"a"+(t<1?"n ":" ")+e};});const Mp={};xl.transitional=function(t,n,o){function i(s,r){return "[Axios v"+dy+"] Transitional option '"+s+"'"+r+(o?". "+o:"")}return (s,r,a)=>{if(t===false)throw new Re(i(r," has been removed"+(n?" in "+n:"")),Re.ERR_DEPRECATED);return n&&!Mp[r]&&(Mp[r]=true,console.warn(i(r," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(s,r,a):true}};xl.spelling=function(t){return (n,o)=>(console.warn(`${o} is likely a misspelling of ${t}`),true)};function gT(e,t,n){if(typeof e!="object")throw new Re("options must be an object",Re.ERR_BAD_OPTION_VALUE);const o=Object.keys(e);let i=o.length;for(;i-- >0;){const s=o[i],r=t[s];if(r){const a=e[s],l=a===void 0||r(a,s,e);if(l!==true)throw new Re("option "+s+" must be "+l,Re.ERR_BAD_OPTION_VALUE);continue}if(n!==true)throw new Re("Unknown option "+s,Re.ERR_BAD_OPTION)}}const Gr={assertOptions:gT,validators:xl},qn=Gr.validators;let ci=class{constructor(t){this.defaults=t||{},this.interceptors={request:new Sp,response:new Sp};}async request(t,n){try{return await this._request(t,n)}catch(o){if(o instanceof Error){let i={};Error.captureStackTrace?Error.captureStackTrace(i):i=new Error;const s=i.stack?i.stack.replace(/^.+\n/,""):"";try{o.stack?s&&!String(o.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(o.stack+=`
`+s):o.stack=s;}catch{}}throw o}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=vi(this.defaults,n);const{transitional:o,paramsSerializer:i,headers:s}=n;o!==void 0&&Gr.assertOptions(o,{silentJSONParsing:qn.transitional(qn.boolean),forcedJSONParsing:qn.transitional(qn.boolean),clarifyTimeoutError:qn.transitional(qn.boolean)},false),i!=null&&(H.isFunction(i)?n.paramsSerializer={serialize:i}:Gr.assertOptions(i,{encode:qn.function,serialize:qn.function},true)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=true),Gr.assertOptions(n,{baseUrl:qn.spelling("baseURL"),withXsrfToken:qn.spelling("withXSRFToken")},true),n.method=(n.method||this.defaults.method||"get").toLowerCase();let r=s&&H.merge(s.common,s[n.method]);s&&H.forEach(["delete","get","head","post","put","patch","common"],g=>{delete s[g];}),n.headers=un.concat(r,s);const a=[];let l=true;this.interceptors.request.forEach(function(b){typeof b.runWhen=="function"&&b.runWhen(n)===false||(l=l&&b.synchronous,a.unshift(b.fulfilled,b.rejected));});const c=[];this.interceptors.response.forEach(function(b){c.push(b.fulfilled,b.rejected);});let u,f=0,p;if(!l){const g=[Lp.bind(this),void 0];for(g.unshift(...a),g.push(...c),p=g.length,u=Promise.resolve(n);f<p;)u=u.then(g[f++],g[f++]);return u}p=a.length;let w=n;for(f=0;f<p;){const g=a[f++],b=a[f++];try{w=g(w);}catch(v){b.call(this,v);break}}try{u=Lp.call(this,w);}catch(g){return Promise.reject(g)}for(f=0,p=c.length;f<p;)u=u.then(c[f++],c[f++]);return u}getUri(t){t=vi(this.defaults,t);const n=ry(t.baseURL,t.url,t.allowAbsoluteUrls);return ty(n,t.params,t.paramsSerializer)}};H.forEach(["delete","get","head","options"],function(t){ci.prototype[t]=function(n,o){return this.request(vi(o||{},{method:t,url:n,data:(o||{}).data}))};});H.forEach(["post","put","patch"],function(t){function n(o){return function(s,r,a){return this.request(vi(a||{},{method:t,headers:o?{"Content-Type":"multipart/form-data"}:{},url:s,data:r}))}}ci.prototype[t]=n(),ci.prototype[t+"Form"]=n(true);});let wT=class fy{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(s){n=s;});const o=this;this.promise.then(i=>{if(!o._listeners)return;let s=o._listeners.length;for(;s-- >0;)o._listeners[s](i);o._listeners=null;}),this.promise.then=i=>{let s;const r=new Promise(a=>{o.subscribe(a),s=a;}).then(i);return r.cancel=function(){o.unsubscribe(s);},r},t(function(s,r,a){o.reason||(o.reason=new fs(s,r,a),n(o.reason));});}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t];}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1);}toAbortSignal(){const t=new AbortController,n=o=>{t.abort(o);};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return {token:new fy(function(i){t=i;}),cancel:t}}};function yT(e){return function(n){return e.apply(null,n)}}function bT(e){return H.isObject(e)&&e.isAxiosError===true}const Qu={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Qu).forEach(([e,t])=>{Qu[t]=e;});function py(e){const t=new ci(e),n=Hw(ci.prototype.request,t);return H.extend(n,ci.prototype,t,{allOwnKeys:true}),H.extend(n,t,null,{allOwnKeys:true}),n.create=function(i){return py(vi(e,i))},n}const xt=py(Cr);xt.Axios=ci;xt.CanceledError=fs;xt.CancelToken=wT;xt.isCancel=iy;xt.VERSION=dy;xt.toFormData=bl;xt.AxiosError=Re;xt.Cancel=xt.CanceledError;xt.all=function(t){return Promise.all(t)};xt.spread=yT;xt.isAxiosError=bT;xt.mergeConfig=vi;xt.AxiosHeaders=un;xt.formToJSON=e=>oy(H.isHTMLForm(e)?new FormData(e):e);xt.getAdapter=cy.getAdapter;xt.HttpStatusCode=Qu;xt.default=xt;const{Axios:WR,AxiosError:vT,CanceledError:KR,isCancel:GR,CancelToken:JR,VERSION:YR,all:QR,Cancel:XR,isAxiosError:ZR,spread:eF,toFormData:tF,AxiosHeaders:nF,HttpStatusCode:oF,formToJSON:iF,getAdapter:sF,mergeConfig:rF}=xt;var su,Bp;function xT(){if(Bp)return su;Bp=1;const e=new Set(["ENOTFOUND","ENETUNREACH","UNABLE_TO_GET_ISSUER_CERT","UNABLE_TO_GET_CRL","UNABLE_TO_DECRYPT_CERT_SIGNATURE","UNABLE_TO_DECRYPT_CRL_SIGNATURE","UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY","CERT_SIGNATURE_FAILURE","CRL_SIGNATURE_FAILURE","CERT_NOT_YET_VALID","CERT_HAS_EXPIRED","CRL_NOT_YET_VALID","CRL_HAS_EXPIRED","ERROR_IN_CERT_NOT_BEFORE_FIELD","ERROR_IN_CERT_NOT_AFTER_FIELD","ERROR_IN_CRL_LAST_UPDATE_FIELD","ERROR_IN_CRL_NEXT_UPDATE_FIELD","OUT_OF_MEM","DEPTH_ZERO_SELF_SIGNED_CERT","SELF_SIGNED_CERT_IN_CHAIN","UNABLE_TO_GET_ISSUER_CERT_LOCALLY","UNABLE_TO_VERIFY_LEAF_SIGNATURE","CERT_CHAIN_TOO_LONG","CERT_REVOKED","INVALID_CA","PATH_LENGTH_EXCEEDED","INVALID_PURPOSE","CERT_UNTRUSTED","CERT_REJECTED","HOSTNAME_MISMATCH"]);return su=t=>!e.has(t&&t.code),su}var _T=xT();const CT=$m(_T),Sd="axios-retry";function hy(e){const t=["ERR_CANCELED","ECONNABORTED"];return e.response||!e.code||t.includes(e.code)?false:CT(e)}const my=["get","head","options"],kT=my.concat(["put","delete"]);function $d(e){return e.code!=="ECONNABORTED"&&(!e.response||e.response.status===429||e.response.status>=500&&e.response.status<=599)}function ST(e){return e.config?.method?$d(e)&&my.indexOf(e.config.method)!==-1:false}function gy(e){return e.config?.method?$d(e)&&kT.indexOf(e.config.method)!==-1:false}function wy(e){return hy(e)||gy(e)}function Ed(e=void 0){const t=e?.response?.headers["retry-after"];if(!t)return 0;let n=(Number(t)||0)*1e3;return n===0&&(n=(new Date(t).valueOf()||0)-Date.now()),Math.max(0,n)}function $T(e=0,t=void 0){return Math.max(0,Ed(t))}function ET(e=0,t=void 0,n=100){const o=2**e*n,i=Math.max(o,Ed(t)),s=i*.2*Math.random();return i+s}function AT(e=100){return (t=0,n=void 0)=>{const o=t*e;return Math.max(o,Ed(n))}}const PT={retries:3,retryCondition:wy,retryDelay:$T,shouldResetTimeout:false,onRetry:()=>{},onMaxRetryTimesExceeded:()=>{},validateResponse:null};function IT(e,t){return {...PT,...t,...e[Sd]}}function Op(e,t,n=false){const o=IT(e,t||{});return o.retryCount=o.retryCount||0,(!o.lastRequestTime||n)&&(o.lastRequestTime=Date.now()),e[Sd]=o,o}function DT(e,t){e.defaults.agent===t.agent&&delete t.agent,e.defaults.httpAgent===t.httpAgent&&delete t.httpAgent,e.defaults.httpsAgent===t.httpsAgent&&delete t.httpsAgent;}async function TT(e,t){const{retries:n,retryCondition:o}=e,i=(e.retryCount||0)<n&&o(t);if(typeof i=="object")try{return await i!==!1}catch{return  false}return i}async function LT(e,t,n,o){t.retryCount+=1;const{retryDelay:i,shouldResetTimeout:s,onRetry:r}=t,a=i(t.retryCount,n);if(DT(e,o),!s&&o.timeout&&t.lastRequestTime){const l=Date.now()-t.lastRequestTime,c=o.timeout-l-a;if(c<=0)return Promise.reject(n);o.timeout=c;}return o.transformRequest=[l=>l],await r(t.retryCount,n,o),o.signal?.aborted?Promise.resolve(e(o)):new Promise(l=>{const c=()=>{clearTimeout(u),l(e(o));},u=setTimeout(()=>{l(e(o)),o.signal?.removeEventListener&&o.signal.removeEventListener("abort",c);},a);o.signal?.addEventListener&&o.signal.addEventListener("abort",c,{once:true});})}async function MT(e,t){e.retryCount>=e.retries&&await e.onMaxRetryTimesExceeded(t,e.retryCount);}const Jo=(e,t)=>{const n=e.interceptors.request.use(i=>(Op(i,t,true),i[Sd]?.validateResponse&&(i.validateStatus=()=>false),i)),o=e.interceptors.response.use(null,async i=>{const{config:s}=i;if(!s)return Promise.reject(i);const r=Op(s,t);return i.response&&r.validateResponse?.(i.response)?i.response:await TT(r,i)?LT(e,r,i,s):(await MT(r,i),Promise.reject(i))});return {requestInterceptorId:n,responseInterceptorId:o}};Jo.isNetworkError=hy;Jo.isSafeRequestError=ST;Jo.isIdempotentRequestError=gy;Jo.isNetworkOrIdempotentRequestError=wy;Jo.exponentialDelay=ET;Jo.linearDelay=AT;Jo.isRetryableError=$d;const BT="pan115_api";var Pa=(e=>(e.evenly="evenly",e.asap="asap",e))(Pa||{});const yy={points:1,duration:1,execEvenly:true};function by(e){return {clientId:BT,rateLimit:yy,msDelayAdjustment:30,...e}}function OT(e){const t=by(e),n=xt.create({});Jo(n,{retries:5,shouldResetTimeout:true,retryDelay:i=>(console.log(`[axios] Retry ${i}...`),i*1e3)});const o=new Fs.RateLimiterMemory(t.rateLimit);return n.interceptors.request.use(async i=>{try{const s=await o.consume(t.clientId);return i}catch(s){if(console.warn("[axios] RateLimiter:",s),s instanceof Fs.RateLimiterRes){const r=s.msBeforeNext+t.msDelayAdjustment;return console.log(`[axios] Delay ${r}ms for next request...`),await At(r),i}else throw new vT(s)}},i=>(console.warn("[axios] onRejected:",i),Promise.reject(i))),n}const vy=wt.basic;function RT(e){return {limiterDuration:1,limiterPoints:1,limitExecPolicy:Pa.evenly,showOfflineEntry:false,offlineEntryLabel:"云下载",offlineEntryIconCustomized:false,offlineEntryIcon:"",offlineDialogEntry:false,offlineDialogEntryLabel:"云下载窗口",offlineDialogEntryIconCustomized:false,offlineDialogEntryIcon:"",showAddOffline2:true,addOfflineLabel:"添加",addOfflineIconCustomized:false,addOfflineIcon:"",showFavEntry:false,favEntryLabel:"星标",hideMusicEntry:false,hideWatermark:true,fakeAccountEnabled:false,fakeAccountId:"",fakeAccountName:"",fakeAccountAvatar:"",fakeAccountVip:"",...e}}async function _l(){const e=RT(),t=await Xe.get(vy,e);return {...e,...t}}async function FT(e){await Xe.set(vy,e);}function Ad(e,t,n){return t?n?n.startsWith("<svg")?`<span class="ce-func-btn-icon-svg">${n}</span>`:`<img src="${n}" alt="自定义图标" class="ce-func-btn-icon" />`:"":e}async function NT(e){if(!e.offlineDialogEntry||!_n())return;console.log("[Cloud115 Enhancer] showOfflineDialogEntry");const t=await Jn("a#js_filter_btn"),n="background:#fffcea;",o="点击打开「云下载」页面",i=e.offlineDialogEntryLabel?`<span>${e.offlineDialogEntryLabel}</span>`:"",s=Ad('<i class="icon-operate ifo-linktask"></i>',e.offlineDialogEntryIconCustomized,e.offlineDialogEntryIcon),r=$(`<a href="javascript:;" class="button btn-line" title="${o}" style="${n}">
    ${s} ${i}
  </a>`);t.after(r),r.on("click",()=>{try{St().Core.FileDialogApi.OpenTransferTabDialog("offline_task");}catch(a){console.warn("[showOfflineDialogEntry]",a),Y({title:"打开云下载窗口失败",text:a.message,icon:"error"});}});}async function UT(e){if(!e.showOfflineEntry||!_n())return;console.log("[Cloud115 Enhancer] showOfflineEntry");const t=await Jn("a#js_filter_btn"),n="https://115.com/?ct=index&ac=offline_new_tpl&offline=1&tab=offline",o="background:#fffcea;",i="点击跳转到「云下载」页面",s=e.offlineEntryLabel?`<span>${e.offlineEntryLabel}</span>`:"",r=Ad('<i class="icon-operate ifo-linktask"></i>',e.offlineEntryIconCustomized,e.offlineEntryIcon),a=$(`<a href="javascript:;" class="button btn-line" title="${i}" tab_btn="wangpan" mode-tab="offline" style="${o}">
    ${r}
    ${s}
  </a>`);t.after(a),a.on("click",()=>{try{St().oofUtil.urlMaintain.changeMode("wangpan",{tab:"offline"});}catch(l){console.warn("[showOfflineEntry]",l),location.href=n;}});}async function jT(e){if(!_n())return;const{showAddOffline2:t,addOfflineLabel:n}=e,o=Ue('#js_top_panel_box .left-tvf > a[menu="offline_task"]');if(o){if(!t){o.style.display="none";return}const u=o.querySelector("span");u&&(u.textContent=n);return}if(!t)return;const i=await Jn("a#js_filter_btn"),s="background:#fffcea;",r="点击打开「添加云下载」对话框",a=e.addOfflineLabel?`<span>${e.addOfflineLabel}</span>`:"",l=Ad('<i class="icon-operate ifo-linktask"></i>',e.addOfflineIconCustomized,e.addOfflineIcon),c=$(`<a href="javascript:;" class="button btn-line" menu="offline_task" style="${s}" title="${r}">
    ${l}${a}
  </a>`);i.after(c);}async function zT(e){if(!e.showFavEntry||!_n())return;console.log("[Cloud115 Enhancer] showFavEntry");const t=await Jn("a#js_filter_btn"),n="https://115.com/?tab=label&show_label=1&label_id=-1&mode=wangpan",o="background:#fffcea;",i="点击跳转到「星标」页面",s=e.favEntryLabel?`<span>${e.favEntryLabel}</span>`:"",r=$(`<a href="javascript:;" class="button btn-line" title="${i}" tab_btn="wangpan" mode-tab="{tab:'label',label_id:-1,show_label:1}" style="${o}">
    <i class="icon-operate ifo-fav"></i>
    ${s}
  </a>`);t.after(r),r.on("click",()=>{try{St().oofUtil.urlMaintain.changeMode("wangpan",{tab:"label",label_id:-1,show_label:1});}catch(a){console.warn("[showFavEntry]",a),location.href=n;}});}async function HT(e){if(!e.hideMusicEntry||!_n())return;console.log("[Cloud115 Enhancer] hideMusicEntry"),await tt("#js_top_panel_box");const t=Ue("a#top_btn_music_play");t&&(t.style.display="none");}async function VT(e){if(e.hideWatermark){console.log("[Cloud115 Enhancer] hideWatermark");try{const t=await tt('div[class^="fp-"]');t.classList.add("hidden-watermark"),t.style.display="none";}catch(t){console.error("[Cloud115 Enhancer] hideWatermark",t.message);}}}async function qT(e){window.top===window.self&&(await At(1e3),Xu(e),window.addEventListener("message",async t=>{const n=t.data.event,o=t.data.body;n===ot.basicConfigChange&&(console.log("[Cloud115 Enhancer] basicConfigChange"),Xu(o));}));}let Os=null;async function WT(){Os&&clearTimeout(Os),Os=setTimeout(async()=>{const e=await _l();Xu(e);},5e3);}async function Xu(e){Os&&clearTimeout(Os);const t=async(n,o)=>{const i=await Jn('[rel="user_id"]',100);i.data("origin")||i.data("origin",i.text()),o?i.text(i.data("origin")):i.text(n.fakeAccountId);const s=await Jn('[rel="user_name"]',100);s.data("origin")||s.data("origin",$(s[0]).text()),o?s.text(s.data("origin")):s.text(n.fakeAccountName);const r=await Jn('img[rel="user_face"], .user-avatar img',100);r.data("origin")||r.data("origin",r.attr("src")),o?r.attr("src",r.data("origin")):(r.attr("rel","noreferrer"),r.attr("src",n.fakeAccountAvatar));const a=await Jn(".sign-vip-card",100);a.data("origin")||a.data("origin",$(a[0]).text()),o?a.text(a.data("origin")):a.text(n.fakeAccountVip);};try{e.fakeAccountEnabled?await t(e,!1):await t(e,!0);}catch(n){console.error(n);}finally{e.fakeAccountEnabled&&WT();}}const KT='@charset "UTF-8";.ce-func-btn-icon,.ce-func-btn-icon-svg svg{display:inline-block;width:20px;height:20px;vertical-align:middle;margin-right:4px}';Pt(KT);async function GT(){const e=await _l(),{host:t}=location;/115\.com$/.test(t)&&(VT(e),UT(e),NT(e),jT(e),zT(e),HT(e),qT(e));}const xy=Symbol("addTab"),_y=Symbol("updateTab"),Cy=Symbol("deleteTab"),ky=Symbol("tabsProvider");function Fr(e,t){const n=Ps(e,t);if(typeof n>"u")throw new Error(`Could not resolve ${e.description}`);return n}const JT=["data-tab-id","aria-hidden"],Sn=xe({__name:"Tab",props:{panelClass:{default:"tabs-component-panel"},id:{default:void 0},name:null,prefix:{default:""},suffix:{default:""},isDisabled:{type:Boolean,default:false},navItemClass:{default:void 0},navItemLinkClass:{default:void 0}},setup(e,{expose:t}){const n=e,o=K(false),i=Fr(ky),s=Fr(xy),r=Fr(_y),a=Fr(Cy),l=n.prefix+n.name+n.suffix,c=n.id?n.id:n.name.toLowerCase().replace(/ /g,"-"),u=c+"-pane",f=Ke(()=>"#"+(n.isDisabled?"":c));return He(()=>i.activeTabHash,()=>{o.value=f.value===i.activeTabHash;}),He(()=>Object.assign({},n),()=>{r(c,{name:n.name,header:n.prefix+n.name+n.suffix,isDisabled:n.isDisabled,hash:f.value,index:i.tabs.length,computedId:c,paneId:u,navItemClass:n.navItemClass,navItemLinkClass:n.navItemLinkClass});}),$t(()=>{s({name:n.name,header:l,isDisabled:n.isDisabled,hash:f.value,index:i.tabs.length,computedId:c,paneId:u,navItemClass:n.navItemClass,navItemLinkClass:n.navItemLinkClass});}),ng(()=>{a(c);}),t({header:l,computedId:c,paneId:u,hash:f,isActive:o}),(p,w)=>G((_(),E("section",{ref:"tab",id:u,"data-tab-id":te(c),"aria-hidden":!o.value,class:Te(e.panelClass),role:"tabpanel",tabindex:"-1"},[Ge(p.$slots,"default")],10,JT)),[[Gt,o.value]])}});class YT{get(t){const n=localStorage.getItem(t);if(n===null)return null;const o=JSON.parse(n);return o?new Date(o.expires)<new Date?(localStorage.removeItem(t),null):o.value:null}set(t,n,o){const i=new Date().getTime(),s=new Date(i+o*6e4);localStorage.setItem(t,JSON.stringify({value:n,expires:s}));}}const Rp=new YT,QT=["id"],XT=["aria-controls","aria-selected","href","onClick","innerHTML"],ZT=xe({__name:"Tabs",props:{id:{default:void 0},cacheLifetime:{default:5},options:{default:()=>({useUrlFragment:true,defaultTabHash:void 0,storageKey:void 0})},wrapperClass:{default:"tabs-component"},panelsWrapperClass:{default:"tabs-component-panels"},navClass:{default:"tabs-component-tabs"},navItemClass:{default:"tabs-component-tab"},navItemDisabledClass:{default:"is-disabled"},navItemActiveClass:{default:"is-active"},navItemInactiveClass:{default:"is-inactive"},navItemLinkClass:{default:"tabs-component-tab-a"},navItemLinkActiveClass:{default:"is-active"},navItemLinkInactiveClass:{default:"is-inactive"},navItemLinkDisabledClass:{default:"is-disabled"}},emits:["changed","clicked"],setup(e,{expose:t,emit:n}){const o=e,i=Za({activeTabHash:"",lastActiveTabHash:"",tabs:[]});_s(ky,i),_s(xy,l=>{i.tabs.push(l);}),_s(_y,(l,c)=>{const u=i.tabs.findIndex(f=>f.computedId===l);c.isActive=i.tabs[u].isActive,i.tabs[u]=c;}),_s(Cy,l=>{const c=i.tabs.findIndex(u=>u.computedId===l);i.tabs.splice(c,1);});const s=Ke(()=>{let l;return o.options.storageKey&&(l=o.options.storageKey),!l&&o.id&&(l=`vue-tabs-component.${o.id}.cache.${window.location.host}${window.location.pathname}`),l||(l=`vue-tabs-component.cache.${window.location.host}${window.location.pathname}`),l}),r=(l,c)=>{c&&!o.options.useUrlFragment&&c.preventDefault();const u=a(l);if(u){if(c&&u.isDisabled){c.preventDefault();return}if(i.lastActiveTabHash===u.hash){n("clicked",{tab:u});return}i.tabs.forEach(f=>{f.isActive=f.hash===u.hash;}),n("changed",{tab:u}),i.lastActiveTabHash=i.activeTabHash=u.hash,!(o.cacheLifetime<=0)&&Rp.set(s.value,u.hash,o.cacheLifetime);}},a=l=>i.tabs.find(c=>c.hash===l);return qt(()=>{if(i.tabs.length){if(window.addEventListener("hashchange",()=>r(window.location.hash)),a(window.location.hash)){r(window.location.hash);return}if(o.cacheLifetime>0){const l=Rp.get(s.value);if(l!==null&&a(l)){r(l);return}}if(o.options.defaultTabHash&&a("#"+o.options.defaultTabHash)){r("#"+o.options.defaultTabHash);return}r(i.tabs[0].hash);}}),t({...l_(i),selectTab:r,findTab:a}),(l,c)=>(_(),E("div",{class:Te(e.wrapperClass),id:e.id},[d("ul",{role:"tablist",class:Te(e.navClass)},[(_(true),E($e,null,je(i.tabs,(u,f)=>{var p,w;return _(),E("li",{key:f,class:Te([(p=u.navItemClass)!=null?p:e.navItemClass,u.isDisabled?e.navItemDisabledClass:"",u.isActive?e.navItemActiveClass:u.isDisabled?"":e.navItemInactiveClass]),role:"presentation"},[d("a",{role:"tab",class:Te([(w=u.navItemLinkClass)!=null?w:e.navItemLinkClass,u.isDisabled?e.navItemLinkDisabledClass:"",u.isActive?e.navItemLinkActiveClass:u.isDisabled?"":e.navItemLinkInactiveClass]),"aria-controls":u.paneId,"aria-selected":u.isActive,href:u.hash,onClick:g=>r(u.hash,g),innerHTML:u.header,tabindex:"0"},null,10,XT)],2)}),128))],2),d("div",{class:Te(e.panelsWrapperClass)},[Ge(l.$slots,"default")],2)],10,QT))}});function Zu(e,t,n,o){return e<t||e>n?o:e}const eL={class:"pure-control-group"},tL=["for"],nL=["id","checked"],oL={class:"pure-form-message text-success"},iL=["value"],sL=["for"],rL=["id","checked"],aL=["value"],lL=["innerHTML"],uL="支持HTTP链接、base64数据或SVG XML",cL=xe({__name:"ButtonConfigGroup",props:{id:{},label:{},description:{},enabled:{type:Boolean},buttonLabel:{default:""},iconCustomized:{type:Boolean},icon:{default:""}},emits:["update:enabled","update:buttonLabel","update:iconCustomized","update:icon"],setup(e){const t=e;function n(i,s){return !i||!s?"":s.startsWith("<svg")?`<span class="ce-func-btn-icon-svg">${s}</span>`:`<img src="${s}" class="ce-func-btn-icon" alt="自定义图标" />`}const o=Ke(()=>n(t.iconCustomized,t.icon));return console.log("ButtonConfigGroup props:",t),(i,s)=>(_(),E("div",eL,[d("label",{for:i.id},F(i.label),9,tL),d("input",{id:i.id,type:"checkbox",checked:t.enabled,onChange:s[0]||(s[0]=r=>i.$emit("update:enabled",r.target.checked))},null,40,nL),d("div",oL,[T(F(i.description)+" 按钮文本为 ",1),d("input",{value:t.buttonLabel||"",onInput:s[1]||(s[1]=r=>i.$emit("update:buttonLabel",r.target.value)),class:"input-small",placeholder:"可以为空"},null,40,iL),s[4]||(s[4]=T("  , ",-1)),d("label",{for:`${i.id}_iconCustomized`,style:{width:"auto"}},"自定义图标",8,sL),d("input",{id:`${i.id}_iconCustomized`,type:"checkbox",checked:t.iconCustomized,onChange:s[2]||(s[2]=r=>i.$emit("update:iconCustomized",r.target.checked))},null,40,rL),s[5]||(s[5]=T("   ",-1)),t.iconCustomized?(_(),E("input",{key:0,value:t.icon||"",onInput:s[3]||(s[3]=r=>i.$emit("update:icon",r.target.value)),class:"pure-input",placeholder:"支持HTTP链接、base64数据或SVG XML",title:uL},null,40,aL)):fe("",true),s[6]||(s[6]=T("   ",-1)),t.iconCustomized&&t.icon?(_(),E("span",{key:1,innerHTML:o.value},null,8,lL)):fe("",true)])]))}}),ru=Pe(cL,[["__scopeId","data-v-f3bc02fe"],["__file","ButtonConfigGroup.vue"]]),dL={class:"ce-config ce-basic-config"},fL={class:"pure-form pure-form-aligned"},pL={class:"pure-control-group"},hL=["value"],mL=["value"],gL={class:"pure-control-group"},wL={class:"pure-form-message text-success"},yL={class:"pure-control-group"},bL={class:"pure-control-group"},vL={class:"pure-control-group"},xL={class:"pure-control-group"},_L={class:"pure-control-group"},CL={class:"pure-control-group"},kL={class:"avatar-preview"},SL=["src"],$L={class:"pure-control-group"},EL=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Bt(()=>_l()),t=await t,n(),t)),i=true;$t(async()=>{});function s(c){const u=(f,p)=>Math.floor(Zu(f,1,p,1));return c.limiterDuration=u(c.limiterDuration,300),c.limiterPoints=u(c.limiterPoints,3e3),c}He(o,lt(async c=>{s(c),await FT(c),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:ot.basicConfigChange,body:Ac(c)});},500),{deep:true});async function r(c,u,f="warning"){const{isConfirmed:p}=await V.fire({title:c,text:u,icon:f,showCancelButton:true,confirmButtonText:"确认"});return p}async function a(){if(await r("导出配置","是否确认导出当前配置?"))try{await tb(),Y({icon:"success",title:"导出成功"});}catch(c){V.fire(c.toString());}}async function l(){if(await r("导入配置","导入后将覆盖当前配置,是否继续?"))try{const c=await nb();console.log(c),Ri.fire({icon:"success",title:"导入成功,刷新页面后生效。将在5秒后自动刷新页面...",timer:5e3}),setTimeout(()=>{window.location.reload();},5e3);}catch(c){V.fire({title:"导入失败",html:c.toString()+'<br/><p class="text-danger">必须有字段 "_schema": "pan115_enhancer_configs" 。</p>'});}}return (c,u)=>(_(),E("div",dL,[d("form",fL,[d("fieldset",null,[u[47]||(u[47]=d("legend",null,"API",-1)),d("div",pL,[u[25]||(u[25]=d("label",null,"全局请求频率控制",-1)),te(i)?fe("",true):(_(),E($e,{key:0},[G(d("select",{"onUpdate:modelValue":u[0]||(u[0]=f=>o.value.limitExecPolicy=f)},[d("option",{value:te(Pa).asap},"尽快消耗",8,hL),d("option",{value:te(Pa).evenly},"尽量均匀",8,mL)],512),[[yn,o.value.limitExecPolicy]]),u[24]||(u[24]=T(" 地 ",-1))],64)),u[26]||(u[26]=T(" 在 ",-1)),G(d("input",{id:"basic_limiterDuration",type:"number",min:"1",max:"300",step:"1","onUpdate:modelValue":u[1]||(u[1]=f=>o.value.limiterDuration=f)},null,512),[[Ve,o.value.limiterDuration]]),u[27]||(u[27]=T(" 秒内最多请求 ",-1)),G(d("input",{id:"basic_limiterQps",type:"number",min:"1",max:"3000",step:"1","onUpdate:modelValue":u[2]||(u[2]=f=>o.value.limiterPoints=f)},null,512),[[Ve,o.value.limiterPoints]]),u[28]||(u[28]=T(" 次 ",-1)),u[29]||(u[29]=d("div",{class:"pure-form-message text-success"},[T(" 默认 1 秒内最多 1 次。"),d("span",{class:"text-warning"},"请填写整数数值。")],-1))]),u[48]||(u[48]=d("legend",null,"UI优化",-1)),ie(ru,{id:"basic_showOfflineEntry",label:"显示云下载入口按钮",description:"在「网盘」页面顶部工具栏显示「云下载」入口按钮。",enabled:o.value.showOfflineEntry,"onUpdate:enabled":u[3]||(u[3]=f=>o.value.showOfflineEntry=f),buttonLabel:o.value.offlineEntryLabel,"onUpdate:buttonLabel":u[4]||(u[4]=f=>o.value.offlineEntryLabel=f),iconCustomized:o.value.offlineEntryIconCustomized,"onUpdate:iconCustomized":u[5]||(u[5]=f=>o.value.offlineEntryIconCustomized=f),icon:o.value.offlineEntryIcon,"onUpdate:icon":u[6]||(u[6]=f=>o.value.offlineEntryIcon=f)},null,8,["enabled","buttonLabel","iconCustomized","icon"]),ie(ru,{id:"basic_offlineDialogEntry",label:"云下载列表窗口按钮",description:"在「网盘」页面顶部工具栏显示打开云下载列表窗口的按钮。",enabled:o.value.offlineDialogEntry,"onUpdate:enabled":u[7]||(u[7]=f=>o.value.offlineDialogEntry=f),buttonLabel:o.value.offlineDialogEntryLabel,"onUpdate:buttonLabel":u[8]||(u[8]=f=>o.value.offlineDialogEntryLabel=f),iconCustomized:o.value.offlineDialogEntryIconCustomized,"onUpdate:iconCustomized":u[9]||(u[9]=f=>o.value.offlineDialogEntryIconCustomized=f),icon:o.value.offlineDialogEntryIcon,"onUpdate:icon":u[10]||(u[10]=f=>o.value.offlineDialogEntryIcon=f)},null,8,["enabled","buttonLabel","iconCustomized","icon"]),ie(ru,{id:"basic_showAddOffline",label:"显示添加云下载按钮",description:"在「网盘」页面顶部工具栏显示添加云下载按钮。",enabled:o.value.showAddOffline2,"onUpdate:enabled":u[11]||(u[11]=f=>o.value.showAddOffline2=f),buttonLabel:o.value.addOfflineLabel,"onUpdate:buttonLabel":u[12]||(u[12]=f=>o.value.addOfflineLabel=f),iconCustomized:o.value.addOfflineIconCustomized,"onUpdate:iconCustomized":u[13]||(u[13]=f=>o.value.addOfflineIconCustomized=f),icon:o.value.addOfflineIcon,"onUpdate:icon":u[14]||(u[14]=f=>o.value.addOfflineIcon=f)},null,8,["enabled","buttonLabel","iconCustomized","icon"]),d("div",gL,[u[31]||(u[31]=d("label",{for:"basic_showFavEntry"},"显示星标入口按钮",-1)),G(d("input",{id:"basic_showFavEntry",type:"checkbox","onUpdate:modelValue":u[15]||(u[15]=f=>o.value.showFavEntry=f)},null,512),[[ye,o.value.showFavEntry]]),d("div",wL,[u[30]||(u[30]=T(" 在「网盘」页面顶部工具栏显示「星标」入口按钮。 按钮文本为 ",-1)),G(d("input",{"onUpdate:modelValue":u[16]||(u[16]=f=>o.value.favEntryLabel=f),class:"input-small",placeholder:"可以为空"},null,512),[[Ve,o.value.favEntryLabel]])])]),d("div",yL,[u[32]||(u[32]=d("label",{for:"basic_hideMusicEntry"},'隐藏"我听"入口按钮',-1)),G(d("input",{id:"basic_hideMusicEntry",type:"checkbox","onUpdate:modelValue":u[17]||(u[17]=f=>o.value.hideMusicEntry=f)},null,512),[[ye,o.value.hideMusicEntry]]),u[33]||(u[33]=d("div",{class:"pure-form-message text-success"}," 在「网盘」页面顶部工具栏隐藏「我听」入口按钮。 ",-1))]),u[49]||(u[49]=d("legend",null,"配置管理",-1)),d("div",{class:"pure-control-group"},[d("button",{type:"button",class:"pure-button pure-button-primary",onClick:a},"导出配置"),u[34]||(u[34]=T("      ",-1)),d("button",{type:"button",class:"pure-button button-success",onClick:l},"导入配置"),u[35]||(u[35]=d("br",null,null,-1)),u[36]||(u[36]=d("br",null,null,-1)),u[37]||(u[37]=d("div",{class:"text-success"},[d("b",null,"导入说明:"),T(" 如有导入部分配置的需求,可以自行编辑json配置文件,只保留需要的配置key(仅限第一级),但必须保留`_`开头的key。 ")],-1)),u[38]||(u[38]=d("br",null,null,-1))]),u[50]||(u[50]=d("legend",null,"隐私保护",-1)),d("div",bL,[u[39]||(u[39]=d("label",{for:"basic_hideWatermark"},"隐藏水印",-1)),G(d("input",{id:"basic_hideWatermark",type:"checkbox","onUpdate:modelValue":u[18]||(u[18]=f=>o.value.hideWatermark=f)},null,512),[[ye,o.value.hideWatermark]]),u[40]||(u[40]=d("div",{class:"pure-form-message text-success"}," 网页水印是肉眼看不到的,但通过一些处理可以看到,水印内容是你的账号标识。 如果你需要截图并发给别人,可以考虑开启隐藏。 ",-1))]),d("div",vL,[u[41]||(u[41]=d("label",{for:"basic_fakeAccountEnabled"},"隐藏身份",-1)),G(d("input",{id:"basic_fakeAccountEnabled",type:"checkbox","onUpdate:modelValue":u[19]||(u[19]=f=>o.value.fakeAccountEnabled=f)},null,512),[[ye,o.value.fakeAccountEnabled]]),u[42]||(u[42]=d("div",{class:"pure-form-message text-success"}," 修改左下角显示的账号信息,不会真的修改。编辑后即可生效,无需刷新页面。 ",-1))]),d("div",xL,[u[43]||(u[43]=d("label",null,"账号ID",-1)),G(d("input",{"onUpdate:modelValue":u[20]||(u[20]=f=>o.value.fakeAccountId=f),placeholder:"自定义账号ID",class:"pure-input-2-3"},null,512),[[Ve,o.value.fakeAccountId]])]),d("div",_L,[u[44]||(u[44]=d("label",null,"用户名",-1)),G(d("input",{"onUpdate:modelValue":u[21]||(u[21]=f=>o.value.fakeAccountName=f),placeholder:"自定义用户名",class:"pure-input-2-3"},null,512),[[Ve,o.value.fakeAccountName]])]),d("div",CL,[u[45]||(u[45]=d("label",null,"头像",-1)),G(d("input",{"onUpdate:modelValue":u[22]||(u[22]=f=>o.value.fakeAccountAvatar=f),placeholder:"支持网络图片地址或base64编码",class:"pure-input-2-3"},null,512),[[Ve,o.value.fakeAccountAvatar]]),d("span",kL,[o.value.fakeAccountAvatar?(_(),E("img",{key:0,src:o.value.fakeAccountAvatar,alt:"头像预览",width:"20",height:"20"},null,8,SL)):fe("",true)])]),d("div",$L,[u[46]||(u[46]=d("label",null,"VIP等级",-1)),G(d("input",{"onUpdate:modelValue":u[23]||(u[23]=f=>o.value.fakeAccountVip=f),placeholder:"自定义VIP等级",class:"pure-input-2-3"},null,512),[[Ve,o.value.fakeAccountVip]])])])])]))}}),AL=Pe(EL,[["__file","Config.vue"]]),PL={class:"pure-form pure-form-aligned"},IL=["disabled"],DL={class:"pure-control-group"},TL={class:"pure-control-group"},LL={class:"pure-control-group"},ML=["value"],BL={style:{width:"auto"}},OL={class:"text-success text-ul"},RL={class:"pure-control-group"},FL=xe({__name:"ConfigItem",props:{config:{},deletable:{type:Boolean}},emits:["change","delete","activate"],setup(e,{emit:t}){const n=e,o=t,i={content:"如果是macOS版,建议平台选「macos」,可以避免播放链接可能无效的问题,「版本小于 0.8.16」选项同理。"};$t(async()=>{});async function s(){n.config.active=true,o("activate",n.config);}async function r(){o("delete");}return He(n.config,lt(async a=>{o("change",a);},500),{deep:true}),(a,l)=>{const c=L_("tooltip");return _(),E("div",{class:Te(["ce-clouddrive-config-item",{active:a.config.active}])},[d("form",PL,[d("fieldset",null,[d("legend",null,[d("button",{type:"button",class:Te(["pure-button button-small",[a.config.active?"button-success":"pure-button-primary"]]),onClick:s,disabled:a.config.active},F(a.config.active?"当前使用该配置":"使用该配置"),11,IL),a.deletable?(_(),E("button",{key:0,type:"button",class:"pure-button button-error button-small",onClick:r}," 删除 ")):fe("",true)]),d("div",DL,[l[5]||(l[5]=d("label",null,[d("span",{class:"text-danger"},"*"),T(" 地址")],-1)),G(d("input",{"onUpdate:modelValue":l[0]||(l[0]=u=>a.config.url=u),placeholder:"CloudDrive服务地址,如「http://localhost:19798」",class:"pure-input-2-3"},null,512),[[Ve,a.config.url]])]),d("div",TL,[l[6]||(l[6]=d("label",null,[d("span",{class:"text-danger"},"*"),T(" 资源根路径")],-1)),G(d("input",{"onUpdate:modelValue":l[1]||(l[1]=u=>a.config.root=u),placeholder:"即当前115账号在CloudDrive中的资源名称,如「115」",class:"pure-input-2-3"},null,512),[[Ve,a.config.root]])]),d("div",LL,[l[9]||(l[9]=d("label",null,[d("span",{class:"text-danger"},"*"),T(" 平台")],-1)),G(d("select",{"onUpdate:modelValue":l[2]||(l[2]=u=>a.config.platform=u)},[(_(true),E($e,null,je(te(Bo),u=>(_(),E("option",{key:u,value:u},F(u),9,ML))),128))],512),[[yn,a.config.platform]]),l[10]||(l[10]=T("   ",-1)),d("label",BL,[G(d("input",{type:"checkbox","onUpdate:modelValue":l[3]||(l[3]=u=>a.config.ver_lt_0816=u)},null,512),[[ye,a.config.ver_lt_0816]]),l[7]||(l[7]=T(" 版本小于 0.8.16 ",-1))]),l[11]||(l[11]=T("   ",-1)),G((_(),E("span",OL,l[8]||(l[8]=[T("说明",-1)]))),[[c,i]])]),d("div",RL,[l[12]||(l[12]=d("label",null,"备注",-1)),G(d("input",{"onUpdate:modelValue":l[4]||(l[4]=u=>a.config.memo=u),placeholder:"备注信息",class:"pure-input-2-3"},null,512),[[Ve,a.config.memo]])])])])],2)}}}),NL=Pe(FL,[["__file","ConfigItem.vue"]]),UL={class:"ce-config ce-clouddrive-config"},jL={class:"ce-list"},zL={class:"ce-actions"},HL=["disabled"],VL=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Bt(()=>Zh()),t=await t,n(),t));$t(async()=>{});async function i(){await Hd(o.value),Y({icon:"success",title:"设置已保存。",timer:800,position:"top-end"});}async function s(){o.value.push($c());}async function r(l,c){const{isConfirmed:u}=await V.fire({icon:"warning",html:`确定要删除第 ${c+1} 个配置「${l.url}」吗?`});u&&(o.value.splice(c,1),await i(),Y({icon:"success",title:`「${l.url}」已删除!`}));}async function a(l,c){l.forEach((u,f)=>{u.active=f===c;}),await Hd(l),Y({icon:"success",title:"设置已保存。",timer:800,position:"top-end"});}return (l,c)=>(_(),E("div",UL,[c[1]||(c[1]=d("div",{class:"ce-tips cd-tips"},[d("p",null,[d("a",{href:"https://www.clouddrive2.com/?ref=cloud115-enhancer",rel:"noreferer",target:"_blank",class:"text-bold text-primary"},"CloudDrive"),T(" 是一个强大的多云盘管理工具,为用户提供包含云盘本地挂载的一站式的多云盘解决方案。 ")]),d("p",null,"本脚本主要是借助CloudDrive实现原码视频播放的功能(具体可以在「播放菜单」面板中查看)。")],-1)),d("div",jL,[(_(true),E($e,null,je(o.value,(u,f)=>(_(),nt(NL,{key:f,config:u,index:f,deletable:o.value.length>1,onDelete:p=>r(u,f),onActivate:p=>a(o.value,f)},null,8,["config","index","deletable","onDelete","onActivate"]))),128))]),c[2]||(c[2]=d("div",{class:"ce-tips"},[d("p",{class:"text-primary"}," 暂时发现IINA是支持`file://`协议的,这时候播放器可以读取到同目录的字幕文件。 配置示例: 地址`file:///Users/you/,资源根路径`115`。 ")],-1)),c[3]||(c[3]=d("div",{class:"ce-tips"}," 编辑配置后,请记得点击「保存全部配置」。 ",-1)),d("div",zL,[d("button",{type:"button",class:"pure-button pure-button-primary button-large",onClick:i,disabled:!o.value.length}," 保存全部配置 ",8,HL),c[0]||(c[0]=T("      ",-1)),d("button",{type:"button",class:"pure-button pure-button-success button-large",onClick:s}," + 添加配置 ")])]))}}),qL=Pe(VL,[["__file","Config.vue"]]),WL={class:"ce-config ce-list-config"},KL={class:"pure-control-group"},GL={class:"pure-control-group"},JL={class:"pure-control-group"},YL={class:"pure-control-group"},QL={class:"pure-control-group"},XL={class:"pure-control-group"},ZL={class:"pure-control-group"},eM={class:"pure-control-group"},tM={class:"pure-control-group"},nM={class:"pure-control-group"},oM={class:"pure-control-group"},iM={class:"pure-control-group"},sM={class:"pure-control-group"},rM={class:"pure-control-group"},aM={class:"pure-control-group"},lM={class:"pure-control-group"},uM={class:"pure-control-group"},cM={class:"pure-control-group"},dM={class:"pure-control-group"},fM={class:"pure-control-group"},pM={class:"pure-control-group"},hM={class:"pure-control-group"},mM={class:"pure-control-group"},gM={class:"pure-control-group"},Fp="按下 Command/Ctrl 键点击文件sha1时触发查找重复文件",Np="鼠标悬浮触发",Up="鼠标悬浮触发",wM=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Bt(()=>cs()),t=await t,n(),t));$t(async()=>{}),He(o,lt(async s=>{await tS(s),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:ot.listConfigChange,body:JSON.parse(JSON.stringify(s))});},500),{deep:true});async function i(){V.fire({title:"快捷键说明",html:`<pre style="font-size:12px;">${yw.replace(/==/g,"=".repeat(32))}</pre>`,showCloseButton:true,showConfirmButton:false,width:720,customClass:{popup:"ce-swal-text-left"}});}return (s,r)=>(_(),E("div",WL,[d("form",{class:"pure-form pure-form-aligned",onSubmit:r[29]||(r[29]=ht(()=>{},["prevent"]))},[d("fieldset",null,[r[41]||(r[41]=d("legend",null,"文件大小相关",-1)),d("div",KL,[r[30]||(r[30]=d("label",{for:"sizeSorter"},"大小排序",-1)),G(d("input",{id:"sizeSorter",type:"checkbox","onUpdate:modelValue":r[0]||(r[0]=a=>o.value.sizeSorter=a)},null,512),[[ye,o.value.sizeSorter]]),r[31]||(r[31]=d("div",{class:"pure-form-message text-success"},[d("div",null,"在官方的「大小」列头部增加「排序」按钮,可以获取文件夹的大小,然后进行排序。"),d("div",null,"请注意该功能只会对当前加载的文件进行排序,如果有多页文件并需要对全部文件进行排序,请先点击「加载全部」后再使用该排序功能。")],-1))]),d("div",GL,[r[32]||(r[32]=d("label",{for:"showBatchFolderSizeButton"},"批量获取文件夹大小",-1)),G(d("input",{id:"showBatchFolderSizeButton",type:"checkbox","onUpdate:modelValue":r[1]||(r[1]=a=>o.value.showBatchFolderSizeButton=a)},null,512),[[ye,o.value.showBatchFolderSizeButton]]),r[33]||(r[33]=d("div",{class:"pure-form-message text-success"},[d("div",null,"在官方的「大小」列头部增加「大小」按钮,可以获取文件夹的大小。"),d("div",null,"请注意该功能只会对当前加载的文件夹进行获取,如果有多页,请先点击「加载全部」后再使用该功能。")],-1))]),d("div",JL,[r[34]||(r[34]=d("label",{for:"showFolderSizeButton"},"显示文件夹获取大小按钮",-1)),G(d("input",{id:"showFolderSizeButton",type:"checkbox","onUpdate:modelValue":r[2]||(r[2]=a=>o.value.showFolderSizeButton=a)},null,512),[[ye,o.value.showFolderSizeButton]]),r[35]||(r[35]=T("    ",-1)),d("small",{onClick:r[3]||(r[3]=a=>o.value.hoverShowFolderSize=!o.value.hoverShowFolderSize),class:Te(["ce-label",{"ce-label-success":o.value.hoverShowFolderSize}])},F(o.value.hoverShowFolderSize?`✓ ${Np}(已启用)`:`× ${Np}(未启用)`),3),r[36]||(r[36]=d("div",{class:"pure-form-message text-success"}," 在官方的「大小」列增加「大小」按钮,点击按钮可以获取单个文件夹的大小。 ",-1))]),d("div",YL,[r[37]||(r[37]=d("label",{for:"showQuickViewButton"},[T(" 显示快速查看按钮 "),d("small",{class:"ce-label ce-label-warning"},"BETA")],-1)),G(d("input",{id:"showQuickViewButton",type:"checkbox","onUpdate:modelValue":r[4]||(r[4]=a=>o.value.showQuickViewButton=a)},null,512),[[ye,o.value.showQuickViewButton]]),r[38]||(r[38]=T("    ",-1)),d("small",{onClick:r[5]||(r[5]=a=>o.value.hoverShowQuickView=!o.value.hoverShowQuickView),class:Te(["ce-label",{"ce-label-success":o.value.hoverShowQuickView}])},F(o.value.hoverShowQuickView?`✓ ${Up}(已启用)`:`× ${Up}(未启用)`),3),r[39]||(r[39]=d("div",{class:"pure-form-message text-success"}," 在官方的「大小」列增加「查看」按钮,点击按钮可以在当前页面小窗口快速查看目录文件列表。 ",-1))]),d("div",QL,[r[40]||(r[40]=d("label",{for:"showInfoOnQuickView"}," 快速查看里显示文件信息 ",-1)),G(d("input",{id:"showInfoOnQuickView",type:"checkbox","onUpdate:modelValue":r[6]||(r[6]=a=>o.value.showInfoOnQuickView=a)},null,512),[[ye,o.value.showInfoOnQuickView]])])]),d("fieldset",null,[r[58]||(r[58]=d("legend",null,"列表显示与操作",-1)),d("div",XL,[r[42]||(r[42]=d("label",{for:"showSha1"},"显示文件SHA1",-1)),G(d("input",{id:"showSha1",type:"checkbox","onUpdate:modelValue":r[7]||(r[7]=a=>o.value.showSha1=a)},null,512),[[ye,o.value.showSha1]]),r[43]||(r[43]=T("    ",-1)),d("small",{onClick:r[8]||(r[8]=a=>o.value.clickSha1WithCtrlToFindRepeat=!o.value.clickSha1WithCtrlToFindRepeat),class:Te(["ce-label",{"ce-label-success":o.value.clickSha1WithCtrlToFindRepeat}])},F(o.value.clickSha1WithCtrlToFindRepeat?`✓ ${Fp}(已启用)`:`× ${Fp}(未启用)`),3),r[44]||(r[44]=d("div",{class:"pure-form-message text-success"}," 在文件名下方显示文件SHA1,点击可以复制。 ",-1))]),d("div",ZL,[r[45]||(r[45]=d("label",{for:"followHistoryState"}," 文件列表跟随页面前进后退 ",-1)),G(d("input",{id:"followHistoryState",type:"checkbox","onUpdate:modelValue":r[9]||(r[9]=a=>o.value.followHistoryState=a)},null,512),[[ye,o.value.followHistoryState]]),r[46]||(r[46]=d("div",{class:"pure-form-message text-success"},[d("div",{class:"text-success"}," 默认情况下,点击浏览器的前进或后退,页面链接中的目录ID虽然会发生变化,但文件列表并没有随之更新。 这个功能尝试解决这个问题。 ")],-1))]),d("div",eM,[r[47]||(r[47]=d("label",{for:"showOnlyFileFilter"}," 显示「仅文件」筛选 ",-1)),G(d("input",{id:"showOnlyFileFilter",type:"checkbox","onUpdate:modelValue":r[10]||(r[10]=a=>o.value.showOnlyFileFilter=a)},null,512),[[ye,o.value.showOnlyFileFilter]]),r[48]||(r[48]=d("div",{class:"pure-form-message text-success"},[d("div",{class:"text-success"}," 筛选当前目录下全部文件。 ")],-1))]),d("div",tM,[r[49]||(r[49]=d("label",{for:"fileFilterExtensions"}," 自定义筛选扩展名 ",-1)),G(d("input",{id:"fileFilterExtensions",type:"text","onUpdate:modelValue":r[11]||(r[11]=a=>o.value.fileFilterExtensions=a),placeholder:"例如: zip,rar,7z",style:{width:"60%"}},null,512),[[Ve,o.value.fileFilterExtensions]]),r[50]||(r[50]=d("div",{class:"pure-form-message text-success"}," 多个扩展名用英文逗号分隔,设置后在文件列表顶部筛选栏会显示对应的扩展名筛选按钮。 点击按钮可以筛选出当前目录下对应扩展名的文件。 ",-1))]),d("div",nM,[r[53]||(r[53]=d("label",{for:"fixShortcut"},[T(" 修复文件列表快捷键 "),d("small",{class:"ce-label ce-label-warning"},"BETA")],-1)),G(d("input",{id:"fixShortcut",type:"checkbox","onUpdate:modelValue":r[12]||(r[12]=a=>o.value.fixShortcut=a)},null,512),[[ye,o.value.fixShortcut]]),d("div",{class:"pure-form-message text-success"},[r[51]||(r[51]=T(" 文件列表按下Ctrl+/显示了一些快捷键,但大部分并未生效,该功能尝试修复这些快捷键。 ",-1)),d("a",{href:"javascript:void(0)",onClick:i,class:"pure-button button-small"},"💡 更完整的快捷键说明"),r[52]||(r[52]=d("h3",{class:"text-danger"},"⚠️ 副作用: 不能使用Ctrl+C复制页面上的文本(不影响输入框里复制),如有此需求,请使用鼠标右键进行复制。",-1))])]),d("div",oM,[r[54]||(r[54]=d("label",{for:"enhanceLocationLinks"},' 优化"所在位置"链接 ',-1)),G(d("input",{id:"enhanceLocationLinks",type:"checkbox","onUpdate:modelValue":r[13]||(r[13]=a=>o.value.enhanceLocationLinks=a)},null,512),[[ye,o.value.enhanceLocationLinks]]),r[55]||(r[55]=d("div",{class:"pure-form-message text-success"},' 启用该选项后,可以复制链接,或通过"鼠标中键"或"Ctrl+单击"在新标签页中打开。 相关页面: 一键排重详情、SHA1查重结果页、搜索结果页、最近上传、最近接收和最近操作。 ',-1))]),d("div",iM,[r[56]||(r[56]=d("label",{for:"enhanceRenameInput"},[T(' 优化"重命名文件"输入框 '),d("small",{class:"ce-label ce-label-warning"},"BETA")],-1)),G(d("input",{id:"enhanceRenameInput",type:"checkbox","onUpdate:modelValue":r[14]||(r[14]=a=>o.value.enhanceRenameInput=a)},null,512),[[ye,o.value.enhanceRenameInput]]),r[57]||(r[57]=d("div",{class:"pure-form-message text-success"}," 使用多行输入框替代单行输入框,方便查看和编辑长文件名。 ",-1))])]),d("fieldset",null,[r[67]||(r[67]=d("legend",null,"目录操作增强",-1)),d("div",sM,[r[59]||(r[59]=d("label",{for:"showOpenDirContextMenu"},'显示"目录功能菜单"按钮',-1)),G(d("input",{id:"showOpenDirContextMenu",type:"checkbox","onUpdate:modelValue":r[15]||(r[15]=a=>o.value.showOpenDirContextMenu=a)},null,512),[[ye,o.value.showOpenDirContextMenu]]),r[60]||(r[60]=T("    ",-1)),d("small",{onClick:r[16]||(r[16]=a=>o.value.hoverShowDirContextMenu=!o.value.hoverShowDirContextMenu),class:Te(["ce-label",{"ce-label-success":o.value.hoverShowDirContextMenu}]),title:"鼠标悬浮在按钮代替点击操作"},F(o.value.hoverShowDirContextMenu?"✓ 鼠标悬浮触发(已启用)":"× 鼠标悬浮触发(未启用)"),3),r[61]||(r[61]=d("div",{class:"pure-form-message text-success"},[d("div",null,"在官方的「文件名」列头部增加「目录功能菜单」按钮,点击即可打开当前目录的右键菜单。")],-1))]),d("div",rM,[r[62]||(r[62]=d("label",{for:"showCreateDirButton"},'显示"新建文件夹"按钮',-1)),G(d("input",{id:"showCreateDirButton",type:"checkbox","onUpdate:modelValue":r[17]||(r[17]=a=>o.value.showCreateDirButton=a)},null,512),[[ye,o.value.showCreateDirButton]]),r[63]||(r[63]=T("    ",-1)),d("small",{onClick:r[18]||(r[18]=a=>o.value.hideTopCreateButton=!o.value.hideTopCreateButton),class:Te(["ce-label",{"ce-label-success":o.value.hideTopCreateButton}]),title:"隐藏顶部「新建」按钮"},F(o.value.hideTopCreateButton?"✓ 隐藏顶部「新建」按钮(已启用)":"× 隐藏顶部「新建」按钮(未启用)"),3),r[64]||(r[64]=d("div",{class:"pure-form-message text-success"},[d("div",null,"在官方的「文件名」列头部增加「新建文件夹」按钮。可以隐藏顶部「新建」按钮,页面左侧的「新建」中也有新建文档按钮。")],-1))]),d("div",aM,[r[65]||(r[65]=d("label",{for:"claimSelectedAfterCreateDir"}," 移动选中文件到新文件夹 ",-1)),G(d("input",{id:"claimSelectedAfterCreateDir",type:"checkbox","onUpdate:modelValue":r[19]||(r[19]=a=>o.value.claimSelectedAfterCreateDir=a)},null,512),[[ye,o.value.claimSelectedAfterCreateDir]]),r[66]||(r[66]=d("div",{class:"pure-form-message text-success text-linethrough"},[d("b",null,"启用后如果先选中文件,然后创建新文件夹,将会自动把选中文件移动到新文件夹。"),T(" 该选项可以在创建文件夹对话框里临时修改。 ")],-1))])]),d("fieldset",null,[r[72]||(r[72]=d("legend",null,"路径栏增强",-1)),d("div",lM,[r[68]||(r[68]=d("label",{for:"showCopyButtonOnPathBar"},"在路径栏显示复制按钮",-1)),G(d("input",{id:"showCopyButtonOnPathBar",type:"checkbox","onUpdate:modelValue":r[20]||(r[20]=a=>o.value.showCopyButtonOnPathBar=a)},null,512),[[ye,o.value.showCopyButtonOnPathBar]]),r[69]||(r[69]=d("div",{class:"pure-form-message text-success"}," 点击后,复制当前路径到剪贴板。 ",-1))]),d("div",uM,[r[70]||(r[70]=d("label",{for:"showGotoButtonOnPathBar"},[T(" 在路径栏显示前往按钮 "),d("small",{class:"ce-label"},"DEV")],-1)),G(d("input",{id:"showGotoButtonOnPathBar",type:"checkbox","onUpdate:modelValue":r[21]||(r[21]=a=>o.value.showGotoButtonOnPathBar=a)},null,512),[[ye,o.value.showGotoButtonOnPathBar]]),r[71]||(r[71]=d("div",{class:"pure-form-message text-success"}," 点击后,路径栏下方会显示路径输入框,输入路径后按回车即可前往该路径。 ",-1))])]),d("fieldset",null,[r[79]||(r[79]=d("legend",null,"刷新行为",-1)),d("div",cM,[r[73]||(r[73]=d("label",{for:"noUpdateDirAfterRename"}," 重命名后不刷新文件列表 ",-1)),G(d("input",{id:"noUpdateDirAfterRename",type:"checkbox","onUpdate:modelValue":r[22]||(r[22]=a=>o.value.noUpdateDirAfterRename=a)},null,512),[[ye,o.value.noUpdateDirAfterRename]]),r[74]||(r[74]=d("div",{class:"pure-form-message text-success"}," 仅支持单个文件或目录的重命名。在使用当前目录增强菜单项「重命名文件夹」时会忽略该选项。 ",-1))]),d("div",dM,[r[75]||(r[75]=d("label",{for:"noReloadAfterMove"}," 移动后不刷新文件列表 ",-1)),G(d("input",{id:"noReloadAfterMove",type:"checkbox","onUpdate:modelValue":r[23]||(r[23]=a=>o.value.noReloadAfterMove=a)},null,512),[[ye,o.value.noReloadAfterMove]]),r[76]||(r[76]=d("div",{class:"pure-form-message text-success"},[d("b",null,"启用后如果进行了移动操作,列表的全选会受影响,如已选数量不准确。"),d("br"),d("b",{class:"text-danger"},"该功能主要目的是持续高效地在进行移动操作,如果在移动后还需要其他操作,请记得手动刷新列表!")],-1))]),d("div",fM,[r[77]||(r[77]=d("label",{for:"noGotoAfterCreateDir"},[T(" 新建文件夹后不跳转 "),d("small",{class:"ce-label ce-label-warning"},"BETA")],-1)),G(d("input",{type:"checkbox",id:"noGotoAfterCreateDir","onUpdate:modelValue":r[24]||(r[24]=a=>o.value.noGotoAfterCreateDir=a)},null,512),[[ye,o.value.noGotoAfterCreateDir]]),r[78]||(r[78]=d("div",{class:"pure-form-message text-success"},[d("div",null,[T("新建文件夹后,默认会跳转到新文件夹。开启此功能后,新文件夹会直接渲染在列表中。可搭配"),d("b",null,'"移动选中文件到新文件夹"'),T("使用。")])],-1))])]),d("fieldset",null,[r[86]||(r[86]=d("legend",null,"拖拽行为",-1)),d("div",pM,[r[80]||(r[80]=d("label",{for:"dragToQuickEntry"}," 支持拖动文件到快捷入口 ",-1)),G(d("input",{id:"dragToQuickEntry",type:"checkbox","onUpdate:modelValue":r[25]||(r[25]=a=>o.value.dragToQuickEntry=a)},null,512),[[ye,o.value.dragToQuickEntry]]),r[81]||(r[81]=d("div",{class:"pure-form-message text-success"},[T(" 可以从文件列表拖动文件到快捷入口,实现移动操作。 "),d("b",{class:"text-danger"},"选中文件时,顶部菜单可能会遮挡快捷入口,可按`Ctrl`键临时隐藏顶部菜单,或者开启「拖动文件时隐藏顶部菜单」选项。")],-1))]),d("div",hM,[r[82]||(r[82]=d("label",{for:"hideSelectionMenuOnDrag"},[T(" 拖动文件时隐藏顶部菜单 "),d("small",{class:"ce-label ce-label-warning"},"BETA")],-1)),G(d("input",{id:"hideSelectionMenuOnDrag",type:"checkbox","onUpdate:modelValue":r[26]||(r[26]=a=>o.value.hideSelectionMenuOnDrag=a)},null,512),[[ye,o.value.hideSelectionMenuOnDrag]]),r[83]||(r[83]=T("     ",-1)),r[84]||(r[84]=d("span",{class:"text-warning"},"该功能可能会影响页面性能,如发现该情况请先关闭并反馈🤝",-1)),r[85]||(r[85]=d("div",{class:"pure-form-message text-success"}," 选中文件时,顶部菜单可能会遮挡快捷入口等元素,开启此选项后,在拖动文件时会自动隐藏顶部菜单。 ",-1))])]),d("fieldset",null,[r[92]||(r[92]=d("legend",null,"其他功能",-1)),d("div",mM,[r[88]||(r[88]=d("label",{for:"fileSelectorDefaultView"},"文件选择器默认视图",-1)),G(d("select",{id:"fileSelectorDefaultView","onUpdate:modelValue":r[27]||(r[27]=a=>o.value.fileSelectorDefaultView=a)},r[87]||(r[87]=[d("option",{value:"view"},"大图标",-1),d("option",{value:"list"},"列表",-1),d("option",{value:"_"},"系统默认",-1)]),512),[[yn,o.value.fileSelectorDefaultView]]),r[89]||(r[89]=d("div",{class:"pure-form-message text-success"},[T(" 设置打开页面后初次使用的视图。 "),d("span",{class:"text-warning"},"如果在刷新页面前在选择器切换到了其他视图,该选项将不会生效,但刷新页面后会恢复。")],-1))]),d("div",gM,[r[90]||(r[90]=d("label",{for:"makeMoreImageViewable"}," 支持更多图片预览 ",-1)),G(d("input",{id:"makeMoreImageViewable",type:"checkbox","onUpdate:modelValue":r[28]||(r[28]=a=>o.value.makeMoreImageViewable=a)},null,512),[[ye,o.value.makeMoreImageViewable]]),r[91]||(r[91]=d("div",{class:"pure-form-message text-success"}," 支持一些官方有生成缩略图,但默认没有支持预览的图片格式,目前有webp,tiff。 ",-1))])])],32)]))}}),yM=Pe(wM,[["__file","Config.vue"]]),Sy=wt.search;function bM(e){return {showSelectTargetButtonOnPathBar:true,showSelectAllDir:false,resultWidth:"",...e}}async function $y(){const e=bM(),t=await Xe.get(Sy,e);return {...e,...t}}async function vM(e){await Xe.set(Sy,e);}const xM={class:"ce-config ce-search-config"},_M={class:"pure-control-group"},CM={class:"pure-control-group"},kM={class:"pure-control-group"},SM=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Bt(()=>$y()),t=await t,n(),t));return $t(async()=>{}),He(o,lt(async i=>{await vM(i),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:ot.searchConfigChange,body:JSON.parse(JSON.stringify(i))});},500),{deep:true}),(i,s)=>(_(),E("div",xM,[d("form",{class:"pure-form pure-form-aligned",onSubmit:s[3]||(s[3]=ht(()=>{},["prevent"]))},[d("fieldset",null,[d("div",_M,[s[4]||(s[4]=d("label",{for:"showSelectTargetButtonOnPathBar"},'显示"选择目录"按钮',-1)),G(d("input",{id:"showSelectTargetButtonOnPathBar",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=r=>o.value.showSelectTargetButtonOnPathBar=r)},null,512),[[ye,o.value.showSelectTargetButtonOnPathBar]]),s[5]||(s[5]=d("div",{class:"pure-form-message text-success"},' 在路径栏显示"选择目录"按钮。即可以在搜索结果页直接选择其他目录进行搜索,而不必返回列表页进入目录后再搜索。 ',-1))]),d("div",CM,[s[6]||(s[6]=d("label",{for:"showSelectAllDir"},'显示"选中全部文件夹"按钮',-1)),G(d("input",{id:"showSelectAllDir",type:"checkbox","onUpdate:modelValue":s[1]||(s[1]=r=>o.value.showSelectAllDir=r)},null,512),[[ye,o.value.showSelectAllDir]]),s[7]||(s[7]=d("div",{class:"pure-form-message text-success"},' 在搜索结果文件列表顶部显示"选中全部文件夹"按钮。 ',-1))]),d("div",kM,[s[8]||(s[8]=d("label",{for:"resultWidth"},"搜索结果宽度",-1)),G(d("input",{id:"resultWidth",class:"input-small","onUpdate:modelValue":s[2]||(s[2]=r=>o.value.resultWidth=r)},null,512),[[Ve,o.value.resultWidth]]),s[9]||(s[9]=d("div",{class:"pure-form-message text-success"},[T(" 默认为空。支持 1000px、100%、90vw 等有效的 "),d("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/CSS/width",target:"_blank",rel:"noreferrer noopener"},"css width数值 🔗"),T("。 ")],-1))])])],32)]))}}),$M=Pe(SM,[["__file","Config.vue"]]);function Cl(e,t,n=""){let o="";if(e.status===405&&(o=`[${t}][${n}] - 检测到 405 错误,一般是因为被服务器风控,请等待30分钟后再尝试。`),e.status>=400&&e.status<500&&(o=`[${t}][${n}] - 检测到 ${e.status} 错误,请检查请求参数是否正确。`),e.status>=500&&e.status<600&&(o=`[${t}][${n}] - 检测到 ${e.status} 错误,服务器内部错误,请稍后再试。`),o)throw console.error(`[${t}] ${e.status}!`,e),new Error(o)}async function EM(e){const t=`https://qrcodeapi.115.com/api/1.0/${e}/1.0/token/`,n=await fetch(t);return Cl(n,"getQrcodeToken","获取二维码登录token失败"),n.json()}const AM={0:"等待扫码",1:"已扫码",2:"登录成功",[-1]:"已失效",[-2]:"已取消"};let ec=new AbortController;async function PM(e){ec.abort(e);}async function IM(e){const t=new URLSearchParams;t.append("uid",e.uid),t.append("time",e.time.toString()),t.append("sign",e.sign);const n="https://qrcodeapi.115.com/get/status/?"+t.toString();ec=new AbortController;const o=await fetch(n,{signal:ec.signal});return Cl(o,"getQrcodeStatus","获取扫码状态失败"),o.json()}function DM(e){return {domain:"",hostOnly:false,httpOnly:true,name:"",path:"",sameSite:"",secure:false,session:false,storeId:"0",value:"",id:0,...e}}async function TM(e){let t=`UID=${e.UID}; CID=${e.CID}; SEID=${e.SEID}`;return e.KID&&(t+=`; KID=${e.KID}`),t}async function LM(e,t=[]){const n=[],o=Object.keys(e);let i=["115.com",...t];i=[...new Set(i)];const s={hostOnly:false,httpOnly:true,path:"/",sameSite:"unspecified",secure:false,session:false,storeId:"0"};let r=1;for(let a=0;a<o.length;a++){const l=o[a],c=[];for(const u of i)c.push(DM({...s,name:l,value:e[l],domain:u,id:r++}));n.push(...c);}return n}function MM(e){const{errno:t,error:n}=e;return `错误码: ${t}, 错误信息: ${n}`}async function BM(e,t){const n=new FormData;n.append("app",t),n.append("account",e);const o=`https://passportapi.115.com/app/1.0/${t}/1.0/login/qrcode/`,i=await fetch(o,{method:"POST",body:n});return Cl(i,"postQrcodeResult","获取二维码登录结果失败"),i.json()}async function OM(e,t){const n=`https://qrcodeapi.115.com/api/1.0/web/1.0/qrcode?uid=${t}`,o=await fetch(n);return Cl(o,"getQrcode","获取二维码图片失败"),o.blob()}var Pd=(e=>(e.web="web",e.android="android",e._115android="115android",e.ios="ios",e._115ipad="115ipad",e.tv="tv",e.alipaymini="alipaymini",e.wechatmini="wechatmini",e.qandroid="qandroid",e._115ios="115ios",e.harmony="harmony",e.ipad="ipad",e.qios="qios",e.qipad="qipad",e.linux="linux",e.mac="mac",e.windows="windows",e))(Pd||{});const RM={web:"网页版",android:"115生活(Android端)","115android":"115(Android端)",ios:"115生活(iOS端)","115ipad":"115(iPad端)",tv:"115网盘(Android电视端)",alipaymini:"115生活(支付宝小程序)",wechatmini:"115生活(微信小程序)",qandroid:"115管理(Android端)","115ios":"115(iOS端)",harmony:"115(Harmony端) - 不能上传下载"};async function FM(e,t){return new Promise((n,o)=>{const i=new FileReader;i.onloadend=()=>{if(typeof i.result=="string"){if(t instanceof HTMLImageElement)t.src=i.result;else {const s=document.createElement("img");s.src=i.result,t.appendChild(s);}n();}else console.error("[renderQrcode]","reader.result is not string!"),o("reader.result is not string!");},i.onerror=s=>{console.error("[renderQrcode]",s),o(s);},i.readAsDataURL(e);})}async function NM(e){document.addEventListener("qrcodeStatusChange",t=>{const n=t.detail;e(n);});}async function UM(e){const t=new CustomEvent("qrcodeStatusChange",{detail:e});document.dispatchEvent(t);}async function jM(e,t,n=6e4){return new Promise(async(o,i)=>{console.log("[qrcodeLogin]",e,t,n);const s=await EM(e),r=await OM(e,s.data.uid);await FM(r,t);let a=true,l=setTimeout(()=>{a=false,i("[qrcode login] timeout!");},n),c="";for(;a;)try{const f=(await IM(s.data)).data.status;if(UM(f),f===0)console.log(`[qrcode login] status=${f} - waiting.`);else if(f===1)console.log(`[qrcode login] status=${f} - scanned.`);else if(f===2){console.log(`[qrcode login] status=${f} - signed.`);break}else if(f===-1){clearTimeout(l),c=`[qrcode login] status=${f} - expired.`;break}else if(f===-2){clearTimeout(l),c=`[qrcode login] status=${f} - canceled.`;break}}catch(u){console.error("[qrcode login]",u),c=u;break}clearTimeout(l),c?i(c):o(BM(s.data.uid,e));})}const Ey=wt.tools;function zM(e){return {scanApp:Pd.alipaymini,...e}}async function HM(){const e=zM(),t=await Xe.get(Ey,e);return {...e,...t}}async function VM(e){await Xe.set(Ey,e);}const qM={class:"ce-tools-item"},WM={class:"pure-form pure-form-aligned"},KM={class:"pure-control-group"},GM=["disabled"],JM=["value"],YM=["disabled"],QM={key:0,class:"text-warning text-bold"},XM={key:1},ZM={class:"pure-control-group"},e3=6e4,t3=xe({__name:"GetCookie",props:{app:{}},emits:["app-change"],setup(e,{emit:t}){const n=e,o=t,i=K(n.app),s=K(false),r=K(false),a=K(false),l=K(),c=K(),u=Ke(()=>c.value?AM[c.value]:""),f=Ke(()=>{const P=[Pd.harmony],A={};for(const[I,M]of Object.entries(RM))P.includes(I)||(A[I]=M);return A});He(i,P=>{o("app-change",P),w();}),$t(async()=>{}),qt(async()=>{await NM(b);});async function p(){await w();try{const P=document.querySelector("#ceGetCookieQrcode"),A=await jM(i.value,P,e3);let I="";if(A.data?l.value=A.data:I=MM(A)||"未知错误",I)throw new Error(I)}catch(P){if(console.error(P),P.name==="AbortError")return;V.fire({icon:"error",title:"扫码失败",text:typeof P=="string"?P:P.toString()});}finally{s.value=false,r.value=false,c.value=void 0;}}async function w(){l.value=void 0,r.value=false,a.value=false,s.value=false,c.value=void 0,await k();}async function g(){r.value=true;}async function b(P){console.log("[handleStatusChange]",P),c.value=P;}async function v(P){const A=l.value?.cookie;if(!A)return;let I="";if(P==="text")I=await TM(A);else if(P==="json"){const M=await LM(A);I=JSON.stringify(M,null,2);}ft(I),Ri.fire({icon:"success",title:"已复制到剪贴板",timer:1500});}async function k(){await PM();}return (P,A)=>(_(),E("div",qM,[d("form",WM,[d("fieldset",null,[A[7]||(A[7]=d("legend",null,"扫码获取Cookie",-1)),d("div",KM,[G(d("select",{"onUpdate:modelValue":A[0]||(A[0]=I=>i.value=I),disabled:s.value},[(_(true),E($e,null,je(f.value,(I,M)=>(_(),E("option",{value:M,key:M},F(I),9,JM))),128))],8,GM),[[yn,i.value]]),A[5]||(A[5]=T("    ",-1)),d("button",{type:"button",class:"pure-button pure-button-primary",onClick:p,disabled:s.value}," 开始 ",8,YM),A[6]||(A[6]=T("    ",-1)),u.value?(_(),E("span",QM,F(u.value),1)):fe("",true),l.value?(_(),E("span",XM,[A[3]||(A[3]=T("      ",-1)),d("button",{type:"button",class:"pure-button button-success",onClick:A[1]||(A[1]=I=>v("text"))}," 复制文本格式Cookie "),A[4]||(A[4]=T("    ",-1)),d("button",{type:"button",class:"pure-button button-success",onClick:A[2]||(A[2]=I=>v("json"))}," 复制JSON格式Cookie ")])):fe("",true)]),A[8]||(A[8]=d("div",{class:"text-danger"},"扫码登录后,所选设备之前的登录将会失效,所以请尽量选不常用的。",-1)),A[9]||(A[9]=d("div",{class:"text-primary"},"请注意,扫码得到的Cookie会跟随发起扫码的设备,如果发起扫码的设备退出登录,扫码得到的Cookie也会随之失效。",-1)),A[10]||(A[10]=d("div",{class:"text-success"},"如要避免上述问题,可以考虑使用手机验证码登录小程序并获取其Cookie。",-1)),G(d("div",ZM,[d("img",{id:"ceGetCookieQrcode",alt:"qrcode",onLoad:g},null,32)],512),[[Gt,r.value]])])])]))}}),n3=Pe(t3,[["__file","GetCookie.vue"]]),o3={class:"ce-tools-item"},i3={class:"pure-form pure-form-aligned"},s3={class:"pure-control-group"},r3={class:"pure-control-group"},a3={class:"pure-control-group"},l3={class:"pure-control-group"},u3=xe({__name:"Cleaner",async setup(e){let t,n;const o=K(([t,n]=Bt(()=>br()),t=await t,n(),t)),i=K(([t,n]=Bt(()=>zw()),t=await t,n(),t));He(o,lt(async a=>{await vd({showEntryOnPathBar:a.showEntryOnPathBar}),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。"});},500),{deep:true}),He(i,lt(async a=>{await FD(a),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。"});},500),{deep:true});async function s(a,l){a&&(await r(),await At(1e3)),window.postMessage({event:ot.closeConfig}),postMessage({type:l==="FileCleaner"?Jt.OPEN_CLEANER:Jt.OPEN_EMPTY_CLEANER});}async function r(){return new Promise(async(a,l)=>{unsafeWindow.parent.Core.FileSelectDG.Open((c,u)=>{console.log("[Core.FileSelectDG.Open]",c,u);const f=c[c.length-1],p=unsafeWindow.parent.wangpan;try{p.Main.GotoDir(1,f.cid,0,""),a();}catch(w){V.fire({icon:"error",title:"打开文件夹失败",text:`请在文件列表页面中打开!不要在离线任务之类的页面打开。异常: ${w.toString()}`});}},{select:1,nf:1,show_record:0,show_copy:1,btn_txt:"打开清理工具",select_txt:"清理"});})}return (a,l)=>(_(),E("div",o3,[d("form",i3,[d("fieldset",null,[l[14]||(l[14]=d("legend",null,"文件清理",-1)),d("div",s3,[l[7]||(l[7]=d("label",{for:"cleanerConfig_showEntryOnPathBar"},'在路径栏显示"清理文件"入口按钮',-1)),G(d("input",{id:"cleanerConfig_showEntryOnPathBar",type:"checkbox","onUpdate:modelValue":l[0]||(l[0]=c=>o.value.showEntryOnPathBar=c)},null,512),[[ye,o.value.showEntryOnPathBar]])]),d("div",r3,[l[8]||(l[8]=d("div",{class:"ce-tips"},"根据后缀、大小和名称等条件进行文件清理。请在「网盘」页中点击以下按钮。",-1)),d("button",{type:"button",class:"pure-button button-success",onClick:l[1]||(l[1]=c=>s(false,"FileCleaner"))}," 清理当前文件夹 "),l[9]||(l[9]=T("      ",-1)),d("button",{type:"button",class:"pure-button button-success",onClick:l[2]||(l[2]=c=>s(true,"FileCleaner"))}," 清理指定文件夹 ")]),l[15]||(l[15]=d("br",null,null,-1)),d("div",a3,[l[10]||(l[10]=d("label",{for:"emptyCleanConfig_emptyCleanConfig"},'在路径栏显示"空文件夹"入口按钮',-1)),G(d("input",{id:"emptyCleanConfig_emptyCleanConfig",type:"checkbox","onUpdate:modelValue":l[3]||(l[3]=c=>i.value.showEntryOnPathBar=c)},null,512),[[ye,i.value.showEntryOnPathBar]])]),d("div",l3,[l[11]||(l[11]=d("div",{class:"ce-tips"},"尽快找到空文件夹进行清理。请在「网盘」页中点击以下按钮。",-1)),d("button",{type:"button",class:"pure-button button-warning",onClick:l[4]||(l[4]=c=>s(false,"EmptyCleaner"))}," 清理当前文件夹下的空文件夹 "),l[12]||(l[12]=T("      ",-1)),d("button",{type:"button",class:"pure-button button-warning",onClick:l[5]||(l[5]=c=>s(true,"EmptyCleaner"))}," 清理指定文件夹下的空文件夹 "),l[13]||(l[13]=T("      ",-1)),d("button",{type:"button",class:"pure-button btn-global-clear",onClick:l[6]||(l[6]=(...c)=>te($a)&&te($a)(...c)),title:"不用怕误点击,点开后还需要确认呢"}," 一键全局清理空文件夹 ")])])])]))}}),c3=Pe(u3,[["__file","Cleaner.vue"]]),d3={class:"ce-config ce-tools-config"},f3={class:"item"},p3=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Bt(()=>HM()),t=await t,n(),t));$t(async()=>{}),He(o,lt(async s=>{await VM(s),window.postMessage({event:ot.toolsConfigChange,body:JSON.parse(JSON.stringify(s))});},100),{deep:true});async function i(s){o.value.scanApp=s;}return (s,r)=>(_(),E("div",d3,[d("div",f3,[ie(n3,{app:o.value.scanApp,onAppChange:i},null,8,["app"]),ie(c3)])]))}}),h3=Pe(p3,[["__file","Config.vue"]]),m3={class:"menu-config-block menu-basic-config"},g3={class:"pure-control-group"},w3={class:"pure-control-group"},y3={class:"pure-control-group"},b3={class:"pure-control-group"},v3={class:"pure-control-group"},x3=["value"],_3={class:"pure-control-group"},C3={class:"pure-control-group"},k3={class:"pure-control-group"},S3=xe({__name:"BasicConfig",props:{config:{}},setup(e){const t=e;async function n(i){const r={keyToTriggerManual:"在按下该按键时点击菜单项(搜索/播放),会触发手动输入模式,此时会打开一个输入框,修改文本后,点击「确定」或按下Ctrl+Enter,即可继续完成菜单项的操作。",auxClickTriggerManual:"启用后,使用鼠标中键点击菜单项,会触发手动输入模式,此时会打开一个输入框,修改文本后,点击「确定」或按下Ctrl+Enter,即可继续完成菜单项的操作。",m3u8TempDir:"「M3U8临时目录」用于临时存放生成的m3u8文件。在选中多个视频文件后,在顶部菜单栏会有一个「播放」菜单项,点击后会生成对应的m3u8文件,然后调用播放器播放这个m3u8以实现播放多个视频的效果。",cloudDriveFormalization:'<h2>使用CloudDrive的文件名规范</h2><p>启用后,在使用脚本功能复制文件名或路径时,将会根据CloudDrive的规范对文件名进行处理,请确保当前使用的CloudDrive配置设置了正确的"平台"。</p>'}[i];r&&V.fire({html:r,customClass:{popup:"ce-swal-text-left"}});}function o(i){console.log("[onSelectM3U8Dir]",i),t.config.m3u8TempDir=i.items[i.items.length-1].path.slice(1).map(s=>s.name).join("/");}return (i,s)=>(_(),E("div",m3,[d("form",{class:"pure-form pure-form-stacked",onSubmit:s[12]||(s[12]=ht(()=>{},["prevent"]))},[d("fieldset",null,[s[22]||(s[22]=d("legend",null,"全局设置",-1)),d("div",g3,[s[13]||(s[13]=d("label",{for:"basic_enabled"},"启用",-1)),G(d("input",{id:"basic_enabled",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=r=>t.config.enabled=r)},null,512),[[ye,t.config.enabled]])]),d("div",w3,[s[14]||(s[14]=d("label",{for:"basic_hideSelectionMenuLabel"},"隐藏顶部菜单文本",-1)),G(d("input",{id:"basic_hideSelectionMenuLabel",type:"checkbox","onUpdate:modelValue":s[1]||(s[1]=r=>t.config.hideSelectionMenuLabel=r)},null,512),[[ye,t.config.hideSelectionMenuLabel]])]),d("div",y3,[s[15]||(s[15]=d("label",{for:"basic_enableInSearch"},"在搜索结果页中启用",-1)),G(d("input",{id:"basic_enableInSearch",type:"checkbox","onUpdate:modelValue":s[2]||(s[2]=r=>t.config.enableInSearch=r)},null,512),[[ye,t.config.enableInSearch]])]),d("div",b3,[s[16]||(s[16]=d("label",{for:"basic_manageOfficialMenus"},"控制官方菜单是否隐藏",-1)),G(d("input",{id:"basic_manageOfficialMenus",type:"checkbox","onUpdate:modelValue":s[3]||(s[3]=r=>t.config.manageOfficialMenus=r)},null,512),[[ye,t.config.manageOfficialMenus]])]),d("div",v3,[s[17]||(s[17]=d("label",{for:"basic_forceManualBeforeOpenOnKey"},"触发手动输入模式的辅助键",-1)),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:s[4]||(s[4]=r=>n("keyToTriggerManual"))},"说明"),G(d("select",{id:"basic_forceManualBeforeOpenOnKey","onUpdate:modelValue":s[5]||(s[5]=r=>t.config.keyToTriggerManual=r)},[(_(true),E($e,null,je(te(Yn),(r,a)=>(_(),E("option",{key:a,value:a},F(r),9,x3))),128))],512),[[yn,t.config.keyToTriggerManual]])]),d("div",_3,[s[18]||(s[18]=d("label",{for:"basic_forceManualBeforeOpenOnKey"},"鼠标中键触发手动输入模式",-1)),G(d("input",{id:"basic_forceManualBeforeOpenOnKey",type:"checkbox","onUpdate:modelValue":s[6]||(s[6]=r=>t.config.auxClickTriggerManual=r)},null,512),[[ye,t.config.auxClickTriggerManual]]),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:s[7]||(s[7]=r=>n("auxClickTriggerManual"))},"说明")]),d("div",C3,[s[20]||(s[20]=d("label",{for:"basic_m3u8TempDirName"},"M3U8临时目录",-1)),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:s[8]||(s[8]=r=>n("m3u8TempDir"))},"说明"),G(d("input",{id:"basic_m3u8TempDirName","onUpdate:modelValue":s[9]||(s[9]=r=>t.config.m3u8TempDir=r)},null,512),[[Ve,t.config.m3u8TempDir]]),ie(Xs,{purpose:"作为M3U8临时目录",onSelect:o},{default:ge(()=>s[19]||(s[19]=[d("a",{class:"text-primary",href:"javascript:void(0)"},"选择目录",-1)])),_:1,__:[19]})]),d("div",k3,[s[21]||(s[21]=d("label",{for:"basic_cloudDriveFormalization"},"CloudDrive文件名规范",-1)),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:s[10]||(s[10]=r=>n("cloudDriveFormalization"))},"说明"),G(d("input",{id:"basic_cloudDriveFormalization",type:"checkbox","onUpdate:modelValue":s[11]||(s[11]=r=>t.config.cloudDriveFormalization=r)},null,512),[[ye,t.config.cloudDriveFormalization]])])])],32)]))}}),$3=Pe(S3,[["__file","BasicConfig.vue"]]),E3={class:"official-menu-config"},A3=["onClick"],P3={class:"menu-key"},I3=["onClick"],D3=xe({__name:"OfficialMenuConfig",setup(e){const t=K([]),n=K(false);$t(async()=>{t.value=await mw(),console.log("official menu groups",t.value,location.href);}),qt(()=>{document.body.addEventListener("click",()=>{n.value||(n.value=true);});}),He(t,lt(async s=>{if(!n.value)return;const r=await X2(s);await Q2(r,true),Y({icon:"success",title:"官方菜单设置已保存,已生效。",timer:1e3,position:"top-end"});},500),{deep:true});async function o(s){s.hidden=!s.hidden;}async function i(s){const{isConfirmed:r}=await V.fire({icon:"warning",html:`确认要重置分组「${s.label}」的隐藏状态吗?`,confirmButtonText:"确认",showDenyButton:true,denyButtonText:"关闭"});r&&s.items.forEach(a=>{a.hidden=false;});}return (s,r)=>(_(),E("div",E3,[r[1]||(r[1]=d("div",{class:"ce-tips"},[d("p",null,"开启「菜单设置 - 全局设置 - 控制官方菜单是否隐藏」后才会生效。"),d("p",{class:"text-primary"},"该功能作用为隐藏官方菜单。点击「隐藏」后刷新页面生效,如需取消请点击「取消隐藏」。")],-1)),(_(true),E($e,null,je(t.value,(a,l)=>(_(),E("div",{key:l,class:"menu-config-block"},[d("form",{class:"pure-form pure-form-stacked",onSubmit:r[0]||(r[0]=ht(()=>{},["prevent"]))},[d("fieldset",null,[d("legend",null,[T(F(a.label)+" ",1),d("span",{class:"ce-label ce-label-warning",title:"取消该分组下全部的隐藏设置",onClick:c=>i(a)}," 重置 ",8,A3)]),(_(true),E($e,null,je(a.items,(c,u)=>(_(),E("div",{key:u,class:Te([{hidden:c.hidden},"menu-item"])},[d("label",null,[T(F(c.label)+" ",1),d("small",P3,F(c.key),1)]),d("span",{class:"ce-toggle",onClick:f=>o(c)},F(c.hidden?"取消隐藏":"隐藏"),9,I3)],2))),128))])],32)]))),128))]))}}),T3=Pe(D3,[["__file","OfficialMenuConfig.vue"]]);var mt=(e=>(e.input="text",e.number="number",e.password="password",e.textarea="textarea",e.checkbox="checkbox",e.select="select",e.radio="radio",e.date="date",e))(mt||{});function kr(e,t={}){return e.map(n=>({...t,...n}))}const L3=["for"],M3={class:"ce-field-extra ce-field-prefix"},B3=["type","id","name","required","placeholder"],O3=["id","name","required","placeholder"],R3=["value"],F3={key:2},N3=["value","required"],U3=["id","name","required"],j3={key:3},z3=["value","required"],H3=["id","name","required"],V3={class:"ce-field-extra ce-field-suffix"},q3=xe({__name:"CeField",props:{field:{},modelValue:{},formConfig:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t,o=e,i=K(o.modelValue),s=Ke(()=>(o.formConfig.idPrefix||"")+o.field.name);return He(i,(r,a)=>{console.log(`[CeField] mutValue changed from ${a} to ${r}`),n("update:modelValue",r);}),(r,a)=>(_(),E("div",{class:Te(["ce-field",r.field.customClass||""])},[Ge(r.$slots,"label",{},()=>[d("label",{for:s.value},F(r.field.label),9,L3)]),d("span",M3,[Ge(r.$slots,"prefix")]),!r.field.type||r.field.type===te(mt).input||r.field.type===te(mt).number?G((_(),E("input",{key:0,type:r.field.type,id:s.value,name:r.field.name,"onUpdate:modelValue":a[0]||(a[0]=l=>i.value=l),required:r.field.required,placeholder:r.field.placeholder},null,8,B3)),[[WC,i.value]]):r.field.type===te(mt).select?G((_(),E("select",{key:1,id:s.value,name:r.field.name,"onUpdate:modelValue":a[1]||(a[1]=l=>i.value=l),required:r.field.required,placeholder:r.field.placeholder},[(_(true),E($e,null,je(r.field.options,(l,c)=>(_(),E("option",{key:c,value:l.value},F(l.label),9,R3))),128))],8,O3)),[[yn,i.value]]):r.field.type===te(mt).checkbox?(_(),E("span",F3,[r.field.options&&r.field.options.length>0?(_(true),E($e,{key:0},je(r.field.options,(l,c)=>(_(),E("label",{key:c},[G(d("input",{type:"checkbox",value:l.value,"onUpdate:modelValue":a[2]||(a[2]=u=>i.value=u),required:r.field.required},null,8,N3),[[ye,i.value]]),T(" "+F(l.label),1)]))),128)):G((_(),E("input",{key:1,type:"checkbox",id:s.value,name:r.field.name,"onUpdate:modelValue":a[3]||(a[3]=l=>i.value=l),required:r.field.required},null,8,U3)),[[ye,i.value]])])):r.field.type===te(mt).radio?(_(),E("span",j3,[(_(true),E($e,null,je(r.field.options,(l,c)=>(_(),E("label",{key:c},[G(d("input",{type:"radio",value:l.value,"onUpdate:modelValue":a[4]||(a[4]=u=>i.value=u),required:r.field.required},null,8,z3),[[Mg,i.value]]),T(" "+F(l.label),1)]))),128))])):r.field.type===te(mt).date?G((_(),E("input",{key:4,type:"date",id:s.value,name:r.field.name,"onUpdate:modelValue":a[5]||(a[5]=l=>i.value=l),required:r.field.required},null,8,H3)),[[Ve,i.value]]):fe("",true),d("span",V3,[Ge(r.$slots,"suffix")])],2))}}),W3=Pe(q3,[["__file","CeField.vue"]]),K3={class:"ce-form pure-form pure-form-stacked"},G3=xe({__name:"CeForm",props:{config:{},modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t,o=e,i=(s,r)=>{console.log("[CeForm.handleFieldValueChange]",s,o.modelValue,r),n("update:modelValue",{...o.modelValue});};return (s,r)=>(_(),E("div",K3,[d("fieldset",null,[d("legend",null,[Ge(s.$slots,"header",{},()=>[T(F(s.config.label),1)])]),(_(true),E($e,null,je(s.config.fields,a=>Ge(s.$slots,a.name,{key:a.name,data:a},()=>[ie(W3,{field:a,modelValue:s.modelValue[a.name],"onUpdate:modelValue":l=>s.modelValue[a.name]=l,"form-config":s.config,onChange:l=>i(a.name,l)},{label:ge(()=>[Ge(s.$slots,`${a.name}_label`,{data:a})]),prefix:ge(()=>[Ge(s.$slots,`${a.name}_prefix`,{data:a})]),suffix:ge(()=>[Ge(s.$slots,`${a.name}_suffix`,{data:a})]),_:2},1032,["field","modelValue","onUpdate:modelValue","form-config","onChange"])])),128)),Ge(s.$slots,"footer")])]))}}),ps=Pe(G3,[["__file","CeForm.vue"]]),J3={class:"menu-name-path-block menu-config-block"},Y3=xe({__name:"NamePathConfig",props:{modelValue:{},include:{},exclude:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,o=t,i=K(n.modelValue);He(i,l=>{o("update:modelValue",l);});const s=K([{label:"完整名称",name:"copyFullName",type:mt.checkbox,disabled:true},{label:"不含后缀的名称",name:"copyPureName",type:mt.checkbox},{label:"文件SHA1",name:"copySha1",type:mt.checkbox},{label:"文件SHA1(带文件名)",name:"copySha1WithName",type:mt.checkbox},{label:"文件ID",name:"copyId",type:mt.checkbox},{label:"文件PickCode",name:"copyPickCode",type:mt.checkbox},{label:"Unix风格路径",name:"copyUnixPath",type:mt.checkbox},{label:"Windows风格路径",name:"copyWinPath",type:mt.checkbox},{label:"父目录Unix风格路径",name:"copyParentUnixPath",type:mt.checkbox},{label:"父目录Windows风格路径",name:"copyParentWinPath",type:mt.checkbox},{label:"在CloudDrive2 Web页面查看",name:"viewInCloudDrive",type:mt.checkbox}]);function r(l){const{include:c=[],exclude:u=[]}=n;return c.length>0?c.includes(l):u.length>0?!u.includes(l):true}const a=K({label:"名称路径子菜单设置",fields:s.value.filter(l=>r(l.name)),idPrefix:"namePath_"});return (l,c)=>(_(),E("div",J3,[d("div",null,[ie(ps,{modelValue:i.value,"onUpdate:modelValue":c[0]||(c[0]=u=>i.value=u),config:a.value},null,8,["modelValue","config"])])]))}}),Q3=Pe(Y3,[["__file","NamePathConfig.vue"]]),X3={class:"menu-name-path-config-button"},Z3=xe({__name:"NamePathConfigButton",props:{modelValue:{},include:{},exclude:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,o=t,i=K(n.modelValue);return He(i,s=>{o("update:modelValue",s);}),(s,r)=>{const a=ko("VDropdown");return _(),E("span",X3,[ie(a,{distance:5,triggers:["click"],placement:"left"},{popper:ge(()=>[ie(Q3,{modelValue:i.value,"onUpdate:modelValue":r[0]||(r[0]=l=>i.value=l),include:n.include,exclude:n.exclude},null,8,["modelValue","include","exclude"])]),default:ge(()=>[Ge(s.$slots,"default",{},()=>[r[1]||(r[1]=d("span",{class:"text-bold text-info"},">>",-1))])]),_:3})])}}}),Sr=Pe(Z3,[["__file","NamePathConfigButton.vue"]]);var er={name:"115不大助手"};async function eB(){if(window!==window.parent)return;new MutationObserver(async([t])=>{t.type==="childList"&&window.postMessage({event:ot.topDomChanged});}).observe(document.body,{childList:true});}async function tB(){const e=document.querySelector(".bottom-side .navigation-ceiling ul");if(!e){sB();return}const t=document.createElement("li"),n=document.createElement("a");n.href="javascript:;",n.style.textAlign="center",n.style.backgroundColor="#fefcea",n.style.padding="4px 10px 4px",n.addEventListener("click",async o=>{await uo();}),n.title=`打开「${er.name}」设置`,n.innerHTML='<i class="isn-setting"></i><span>不大助手</span>',t.appendChild(n),e.insertBefore(t,e.firstChild);}async function nB(){return !!document.querySelector("#js-login-box")}async function oB(){console.log("[handleLoginPage]"),await nB()&&(document.body.classList.add("ce-login-page"),iB());}async function iB(){console.log("[injectOpenConfigButtonOnLoginPage");const e=document.querySelector(".right-side a");if(!e){console.warn("[injectOpenConfigButtonOnLoginPage] '.right-side a' not found");return}const t=document.createElement("a");t.href="javascript:;",t.className="ce-entry",t.addEventListener("click",async o=>{await uo();}),t.title=`打开「${er.name}」设置`,t.innerHTML=`<i class="isn-setting"></i><span>${er.name}</span>`,e.insertAdjacentElement("beforebegin",t);const n=document.createElement("a");n.href="javascript:;",n.className="ce-entry",n.addEventListener("click",async o=>{await uo(bt.tools);}),n.title="打开扫码获取Cookie",n.innerHTML='<i class="isn-scan"></i><span>扫码获取Cookie</span>',e.insertAdjacentElement("beforebegin",n);}async function sB(){const e=document.querySelector(".sub-footer ul");if(!e)return;const t=document.createElement("li"),n=document.createElement("a");n.href="javascript:;",n.addEventListener("click",async o=>{await uo();}),n.title=`打开「${er.name}」设置`,n.innerHTML=`<i class="isn-setting"></i><span>${er.name}</span>`,t.appendChild(n),e.insertBefore(t,e.firstChild);}async function uo(e){window.postMessage({event:ot.openConfig,body:e});}const rB={class:"menu-config-block"},aB={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},lB=xe({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=K(e.modelValue);He(o,l=>{i("update:modelValue",l);});const i=t,s=kr([{label:"启用",name:"enabled"},{label:"新标签页打开",name:"openInNewTab"},{label:"搜索",name:"search"},{label:"播放",name:"play"},{label:"名称路径",name:"copyNames"},{label:"解散子目录",name:"flattenSubfolders"},{label:"查找重复文件",name:"findRepeat"}],{type:mt.checkbox}),r=K(s),a=K({label:yi.listItemHover,fields:r.value,idPrefix:"listItemHover_"});return (l,c)=>(_(),E("div",rB,[d("div",null,[ie(ps,{modelValue:o.value,"onUpdate:modelValue":c[3]||(c[3]=u=>o.value=u),config:a.value},{search_label:ge(({data:u})=>[d("label",{class:"text-primary",onClick:c[0]||(c[0]=f=>te(uo)(te(bt).searchMenus))},F(u.label),1)]),play_label:ge(({data:u})=>[d("label",{class:"text-primary",onClick:c[1]||(c[1]=f=>te(uo)(te(bt).playMenus))},F(u.label),1)]),copyNames_label:ge(({data:u})=>[ie(Sr,{modelValue:o.value.namePathConfig,"onUpdate:modelValue":c[2]||(c[2]=f=>o.value.namePathConfig=f)},{default:ge(()=>[d("label",aB,[T(F(u.label)+" ",1),c[4]||(c[4]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:1},8,["modelValue","config"])])]))}}),uB=Pe(lB,[["__file","Config.vue"]]),cB={class:"menu-config-block"},dB={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},fB=xe({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=K(e.modelValue),i=[];He(o,l=>{s("update:modelValue",l);});const s=t,r=K(kr([{label:"启用",name:"enabled"},{label:"名称路径",name:"copyNames"},{label:"解散子目录",name:"flattenSubfolders"}],{type:mt.checkbox})),a=K({label:yi.listItemContext,fields:r.value,idPrefix:"listItemContext_"});return (l,c)=>(_(),E("div",cB,[d("div",null,[ie(ps,{modelValue:o.value,"onUpdate:modelValue":c[1]||(c[1]=u=>o.value=u),config:a.value},{copyNames_label:ge(({data:u})=>[ie(Sr,{modelValue:o.value.namePathConfig,"onUpdate:modelValue":c[0]||(c[0]=f=>o.value.namePathConfig=f),exclude:i},{default:ge(()=>[d("label",dB,[T(F(u.label)+" ",1),c[2]||(c[2]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:1},8,["modelValue","config"])])]))}}),pB=Pe(fB,[["__file","Config.vue"]]),hB={class:"menu-config-block"},mB={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},gB=xe({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,o=["viewInCloudDrive"],i=K(n.modelValue);He(i,c=>{s("update:modelValue",c);});const s=t;function r(c){return Object.entries(c).map(([u,f])=>({value:u,label:f}))}const a=K(kr([{label:"启用",name:"enabled"},{label:"移动到同名目录",name:"moveToSelfNameDir"},{label:"解散子目录",name:"flattenSubfolders"},{label:"新标签页打开",name:"openInNewTab"},{label:"打开上级目录",name:"openParent"},{label:"名称路径",name:"copyNames"},{label:"播放",name:"play"},{label:"搜索",name:"search"},{label:"打开搜索页面方式",name:"searchOpenType",type:mt.select,options:r(Tk),customClass:"ce-search-sub"}],{type:mt.checkbox})),l=K({label:yi.selection,fields:a.value,idPrefix:"selection_"});return (c,u)=>(_(),E("div",hB,[d("div",null,[ie(ps,{modelValue:i.value,"onUpdate:modelValue":u[3]||(u[3]=f=>i.value=f),config:l.value},{search_label:ge(({data:f})=>[d("label",{class:"text-primary",onClick:u[0]||(u[0]=p=>te(uo)(te(bt).searchMenus))},F(f.label),1)]),play_label:ge(({data:f})=>[d("label",{class:"text-primary",onClick:u[1]||(u[1]=p=>te(uo)(te(bt).playMenus))},F(f.label),1)]),copyNames_label:ge(({data:f})=>[ie(Sr,{modelValue:i.value.namePathConfig,"onUpdate:modelValue":u[2]||(u[2]=p=>i.value.namePathConfig=p),exclude:o},{default:ge(()=>[d("label",mB,[T(F(f.label)+" ",1),u[4]||(u[4]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:1},8,["modelValue","config"])])]))}}),wB=Pe(gB,[["__file","Config.vue"]]),yB={class:"menu-config-block"},bB={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},vB=["onClick"],xB=xe({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=K(e.modelValue),i=["copyPureName","copySha1","copySha1WithName"];He(o,w=>{s("update:modelValue",w);});const s=t,r=kr([{label:"启用",name:"enabled"},{label:"重命名",name:"rename"},{label:"删除",name:"delete"},{label:"播放全部",name:"play"},{label:"名称路径",name:"copyNames"},{label:"搜索",name:"search"},{label:"解散子目录",name:"flattenSubfolders"},{label:"移动",name:"move"},{label:"复制",name:"copy"},{label:"复制到",name:"copyTo"},{label:"查看属性",name:"viewProp"},{label:"子文件夹大小",name:"showSubFolderSize"},{label:"子文件夹大小+排序",name:"showSubFolderSizeAndSort"}],{type:mt.checkbox}),a=K(r),l=K({label:yi.dirContext,fields:a.value,idPrefix:"dirContext_"}),c=Ke(()=>{const w=["enabled","play","copyNames"];return Object.keys(o.value).filter(g=>!w.includes(g))}),u=Ke(()=>{const w=[];for(const g of Object.keys(o.value))w.push({name:g,prefix:`${g}_prefix`,suffix:`${g}_suffix`});return w}),f=w=>{o.value.topLevelMenus.includes(w.name)?o.value.topLevelMenus=o.value.topLevelMenus.filter(g=>g!==w.name):o.value.topLevelMenus.push(w.name);};async function p(){V.fire({html:`<b>当前目录右键菜单的打开方式:</b>
    <br>1. 右键单击文件列表表头;
    <br>2. 右键单击文件列表空白处;
    <br>3.「文件名」列头部的「目录功能菜单」按钮。
    <hr class="ce-hr">
    <b>菜单显示层级:</b>
    <br>1.「播放全部」和「名称路径」强制显示为一级菜单;
    <br>2. 其他菜单可以通过点击 👁 图标设置是否显示为一级菜单。
  `,customClass:{popup:"ce-swal-text-left"}});}return (w,g)=>(_(),E("div",yB,[d("div",null,[ie(ps,{modelValue:o.value,"onUpdate:modelValue":g[2]||(g[2]=b=>o.value=b),config:l.value},M_({header:ge(()=>[T(F(te(yi).dirContext)+" ",1),d("span",{class:"ce-label ce-label-success ce-config-help",onClick:p},"说明")]),play_label:ge(({data:b})=>[d("label",{class:"text-primary",onClick:g[0]||(g[0]=v=>te(uo)(te(bt).playMenus))},F(b.label),1)]),copyNames_label:ge(({data:b})=>[ie(Sr,{modelValue:o.value.namePathConfig,"onUpdate:modelValue":g[1]||(g[1]=v=>o.value.namePathConfig=v),exclude:i},{default:ge(()=>[d("label",bB,[T(F(b.label)+" ",1),g[3]||(g[3]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:2},[je(u.value,b=>({name:b.suffix,fn:ge(({data:v})=>[c.value.includes(v.name)?(_(),E("span",{key:0,class:Te(["btn-toggle-top",{active:o.value.topLevelMenus.includes(v.name)}]),onClick:k=>f(v),title:"点亮表示显示为一级菜单,否则将显示在「更多」菜单中"},"👁",10,vB)):fe("",!0)])}))]),1032,["modelValue","config"])])]))}}),_B=Pe(xB,[["__file","Config.vue"]]),CB={class:"menu-config-block"},kB={class:"text-primary ce-label-open-cfg",title:"打开子菜单项设置"},SB=xe({__name:"Config",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const o=K(e.modelValue),i=["copyPickCode","copyUnixPath","copyWinPath","copyParentUnixPath","copyParentWinPath","viewInCloudDrive"];He(o,l=>{s("update:modelValue",l);});const s=t,r=K(kr([{label:"启用",name:"enabled"},{label:"搜索",name:"search"},{label:"名称",name:"copyNames"}],{type:mt.checkbox})),a=K({label:yi.shareListItemHover,fields:r.value,idPrefix:"shareListItemHover_"});return (l,c)=>(_(),E("div",CB,[d("div",null,[ie(ps,{modelValue:o.value,"onUpdate:modelValue":c[2]||(c[2]=u=>o.value=u),config:a.value},{search_label:ge(({data:u})=>[d("label",{class:"text-primary",onClick:c[0]||(c[0]=f=>te(uo)(te(bt).searchMenus))},F(u.label),1)]),copyNames_label:ge(({data:u})=>[ie(Sr,{modelValue:o.value.namePathConfig,"onUpdate:modelValue":c[1]||(c[1]=f=>o.value.namePathConfig=f),exclude:i},{default:ge(()=>[d("label",kB,[T(F(u.label)+" ",1),c[3]||(c[3]=d("i",null,"⚙️",-1))])]),_:2},1032,["modelValue"])]),_:1},8,["modelValue","config"])])]))}}),$B=Pe(SB,[["__file","Config.vue"]]),EB={key:0,class:"ce-menu-config"},AB=xe({__name:"MenuConfig",async setup(e){let t,n;const o=K(([t,n]=Bt(()=>ut()),t=await t,n(),t));return $t(async()=>{}),He(o,lt(async i=>{const s=await ut();i.defaultPlayer=s.defaultPlayer,i.defaultSearch=s.defaultSearch,await ya(i),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},500),{deep:true}),(i,s)=>o.value.enabled!==void 0?(_(),E("div",EB,[s[6]||(s[6]=d("div",{class:"ce-tips"},[d("p",null,"「搜索」功能菜单支持自定义,可在「搜索菜单」设置面板中添加和管理。 「播放」功能菜单支持自定义,可在「播放菜单」设置面板中添加和管理。")],-1)),ie($3,{config:o.value},null,8,["config"]),ie(uB,{modelValue:o.value.listItemHover,"onUpdate:modelValue":s[0]||(s[0]=r=>o.value.listItemHover=r)},null,8,["modelValue"]),ie(pB,{modelValue:o.value.listItemContext,"onUpdate:modelValue":s[1]||(s[1]=r=>o.value.listItemContext=r)},null,8,["modelValue"]),ie(wB,{modelValue:o.value.selection,"onUpdate:modelValue":s[2]||(s[2]=r=>o.value.selection=r)},null,8,["modelValue"]),ie(_B,{modelValue:o.value.dirContext,"onUpdate:modelValue":s[3]||(s[3]=r=>o.value.dirContext=r)},null,8,["modelValue"]),ie($B,{modelValue:o.value.shareListItemHover,"onUpdate:modelValue":s[4]||(s[4]=r=>o.value.shareListItemHover=r)},null,8,["modelValue"]),s[7]||(s[7]=d("hr",{class:"ce-hr"},null,-1)),d("div",null,[s[5]||(s[5]=d("h1",null,"官方菜单设置",-1)),d("div",null,[ie(T3)])])])):fe("",true)}}),PB=Pe(AB,[["__file","MenuConfig.vue"]]),IB={class:"ce-custom-url"},DB={class:"ce-custom-url-index"},TB={class:"pure-control-group"},LB={class:"pure-control-group"},MB={class:"pure-control-group"},BB={class:"pure-control-group"},OB={key:0,class:"item-icon"},RB=["src"],FB={class:"pure-control-group"},NB={class:"pure-control-group"},UB={class:"pure-control-group"},jB={key:0,class:"pure-control-group"},zB=xe({__name:"CustomUrl",props:{item:{},index:{}},emits:["delete"],setup(e,{emit:t}){const n=K(true),o=t;function i(){o("delete");}async function s(){n.value=!n.value,n.value&&Y({title:"已开启高级模式",text:"请谨慎修改,不正确的代码可能会导致脚本崩溃。",icon:"info",timer:2e3});}async function r(){window.postMessage({event:"customUrlHelp"},"*");}async function a(){await V.fire({title:"Mutation 说明",html:`
  <div style="text-align:left;">
    <p>自定义代码,用于生成最终的链接。</p><br>
    <p>代码会被包含在一个async匿名函数中执行,最终应该返回一个链接字符串。</p>
    <p>传入的参数名为「payload」,其结构如下:</p>
    <p>- url: 之前自动处理得到的链接</p>
    <p>- file:当前文件信息</p>
    <p>- customUrl:当前自定义规则信息</p>
    <p>- cloudDriveConfig:CloudDrive设置信息</p><br>
    <p>示例:</p>
    <pre style="text-align:left;font-size:12px;">
    const {
      url,
      file,
      customUrl,
      cloudDriveConfig
    } = payload
    const sth = await fetch(\`https://api.sth.com/foo?bar=\${file.pc}\`)
    return \`https://example.com/do?key=\${sth}\`
    </pre>
  </div>
  `,width:480,position:"top-start",backdrop:false});}return (l,c)=>(_(),E("div",IB,[d("form",{class:"pure-form pure-form-aligned",onSubmit:c[8]||(c[8]=ht(()=>{},["prevent"]))},[d("fieldset",null,[d("legend",null,[d("span",DB,"# "+F(l.index+1),1),d("button",{type:"button",class:"pure-button button-error button-small",onClick:i}," 删除 ")]),d("div",TB,[c[9]||(c[9]=d("label",null,"启用",-1)),G(d("input",{"onUpdate:modelValue":c[0]||(c[0]=u=>l.item.enabled=u),type:"checkbox",id:"customUrl_enabled"},null,512),[[ye,l.item.enabled]])]),d("div",LB,[c[10]||(c[10]=d("label",null,"唯一标识",-1)),G(d("input",{"onUpdate:modelValue":c[1]||(c[1]=u=>l.item.key=u),id:"customUrl_key",class:"pure-input-2-3",placeholder:"英文、数字或下划线"},null,512),[[Ve,l.item.key]])]),d("div",MB,[c[11]||(c[11]=d("label",null,"显示名称",-1)),G(d("input",{"onUpdate:modelValue":c[2]||(c[2]=u=>l.item.label=u),id:"customUrl_label",class:"pure-input-2-3",placeholder:"菜单文本,尽量简洁"},null,512),[[Ve,l.item.label]])]),d("div",BB,[c[12]||(c[12]=d("label",null,"图标",-1)),G(d("input",{"onUpdate:modelValue":c[3]||(c[3]=u=>l.item.icon=u),id:"customUrl_icon",class:"pure-input-2-3",placeholder:"图标class、图片链接或图片data:image"},null,512),[[Ve,l.item.icon]]),c[13]||(c[13]=T("   ",-1)),l.item.icon?(_(),E("span",OB,[d("img",{src:l.item.icon,referrerpolicy:"no-referrer",width:"25"},null,8,RB)])):fe("",true)]),d("div",FB,[d("label",{onDblclick:s}," 链接 ",32),G(d("textarea",{"onUpdate:modelValue":c[4]||(c[4]=u=>l.item.url=u),id:"customUrl_url",class:"pure-input-2-3",placeholder:"链接地址,支持变量,变量列表请点击右侧「查看变量」"},null,512),[[Ve,l.item.url]]),c[14]||(c[14]=T("   ",-1)),d("a",{href:"javascript:void(0)",class:"text-primary",onClick:r},"查看变量")]),d("div",NB,[c[15]||(c[15]=d("label",null,"后台打开",-1)),G(d("input",{"onUpdate:modelValue":c[5]||(c[5]=u=>l.item.openInBackground=u),id:"customUrl_openInBackground",type:"checkbox"},null,512),[[ye,l.item.openInBackground]])]),d("div",UB,[c[16]||(c[16]=d("label",null,"备注",-1)),G(d("input",{"onUpdate:modelValue":c[6]||(c[6]=u=>l.item.memo=u),id:"customUrl_memo",class:"pure-input-2-3"},null,512),[[Ve,l.item.memo]])]),n.value?(_(),E("div",jB,[c[17]||(c[17]=d("label",null,"Mutation",-1)),G(d("textarea",{"onUpdate:modelValue":c[7]||(c[7]=u=>l.item.mutation=u),id:"customUrl_mutation",class:"pure-input-2-3",placeholder:"自定义代码生成最终链接,具体请看右侧「查看说明」"},null,512),[[Ve,l.item.mutation]]),c[18]||(c[18]=T("   ",-1)),d("a",{href:"javascript:void(0)",class:"text-primary",onClick:a},"查看说明")])):fe("",true)])],32)]))}}),Ay=Pe(zB,[["__file","CustomUrl.vue"]]),HB={class:"ce-config ce-search-urls ce-custom-urls"},VB=["value"],qB=["value"],WB={class:"ce-menu-urls-builtin"},KB={key:0,class:"item-icon"},GB=["src"],JB=["for"],YB=["id","onUpdate:modelValue"],QB={class:"text-info item-memo"},XB=["onClick"],ZB={class:"ce-custom-urls-list"},eO={class:"ce-custom-urls-actions"},tO=["disabled"],nO=xe({__name:"SearchUrls",async setup(e){let t,n;const o=K(([t,n]=Bt(()=>cr()),t=await t,n(),t)),i=K(([t,n]=Bt(()=>Si(so.search)),t=await t,n(),t)),s=Ke(()=>[...o.value.filter(g=>g.enabled),...i.value.filter(g=>g.enabled)]),r=([t,n]=Bt(()=>ut()),t=await t,n(),t),a=K(r.defaultSearch||""),l=K(r.keyToTriggerSearchScope||Yn.none);$t(async()=>{}),He(o,lt(async g=>{const b=[];g.forEach(v=>{v.enabled&&b.push(v.key);}),await dx(b),Y({icon:"success",title:"预置搜索菜单设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},500),{deep:true}),He(a,lt(async g=>{const b=await ut();b.defaultSearch=g,await ya(b),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},250)),He(l,lt(async g=>{const b=await ut();b.keyToTriggerSearchScope=g,await ya(b),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},250));async function c(){const g=[];for(const b of i.value){if(!await u(b,g.length))return;if(g.includes(b.key)){Y({icon:"error",title:`第 ${g.length+1} 个记录的「唯一标识: ${b.key}」重复!`});return}g.push(b.key);}await _m(so.search,i.value),Y({icon:"success",title:"保存成功!"});}async function u(g,b){const v=/^\w+$/;return g.key=g.key.trim(),v.test(g.key)?(g.label=g.label.trim(),g.label===""?(Y({icon:"error",title:`第 ${b+1} 个记录的「显示名称」不能为空!`}),false):(g.url=g.url.trim(),g.url===""?(Y({icon:"error",title:`第 ${b+1} 个记录的「链接」不能为空!`}),false):(g.icon=g.icon.trim(),g.memo=g.memo.trim(),true))):(Y({icon:"error",title:`第 ${b+1} 个记录的「唯一标识」错误!只能包含字母、数字、下划线。`}),false)}async function f(){i.value.push(kt({key:ja()}));}async function p(g,b){const{isConfirmed:v}=await V.fire({icon:"warning",html:`确定要删除第 ${b+1} 个记录「${g.label}」吗?`});v&&(i.value.splice(b,1),await c(),Y({icon:"success",title:`「${g.label}」已删除!`}));}async function w(g){const b=JSON.stringify(g,null,2),v=`ce-url-item-denifition-${g.key}`,{isConfirmed:k}=await V.fire({title:`「${g.label}」的定义`,html:`<h3>${g.memo}</h3>
      <pre id="${v}" style="text-align:left;font-size:12px;"></pre>`,confirmButtonText:"复制",showCancelButton:true,position:"top-left",heightAuto:true,didOpen:()=>{document.getElementById(v).textContent=b;}});k&&(navigator.clipboard.writeText(b),Y({icon:"success",title:"已复制到剪贴板!"}));}return (g,b)=>(_(),E("div",HB,[d("form",{class:"pure-form",onSubmit:b[2]||(b[2]=ht(()=>{},["prevent"]))},[d("fieldset",null,[b[4]||(b[4]=d("label",{class:"ce-label ce-label-primary"},"默认搜索",-1)),b[5]||(b[5]=T("   ",-1)),G(d("select",{"onUpdate:modelValue":b[0]||(b[0]=v=>a.value=v)},[(_(true),E($e,null,je(s.value,(v,k)=>(_(),E("option",{key:k,value:v.key},F(v.label),9,VB))),128))],512),[[yn,a.value]]),b[6]||(b[6]=T("      ",-1)),b[7]||(b[7]=d("label",{class:"ce-label ce-label-success"},"触发选择搜索目录的按键",-1)),b[8]||(b[8]=T("   ",-1)),G(d("select",{id:"basic_keyToTriggerSelectSearchScope","onUpdate:modelValue":b[1]||(b[1]=v=>l.value=v)},[(_(true),E($e,null,je(te(Yn),(v,k)=>(_(),E("option",{key:k,value:k},F(v),9,qB))),128))],512),[[yn,l.value]])])],32),d("h1",null,[b[9]||(b[9]=T("预置搜索菜单 ",-1)),G(d("small",null,"( "+F(o.value.length)+" )",513),[[Gt,o.value.length]])]),d("div",WB,[d("form",{class:"pure-form pure-form-aligned",onSubmit:b[3]||(b[3]=ht(()=>{},["prevent"]))},[d("fieldset",null,[(_(true),E($e,null,je(o.value,(v,k)=>(_(),E("div",{key:k,class:"pure-control-group"},[v.icon?(_(),E("span",KB,[d("img",{src:v.icon,referrerpolicy:"no-referrer",width:"25"},null,8,GB)])):fe("",true),d("label",{for:`builtin_${v.key}`},F(v.label),9,JB),G(d("input",{id:`builtin_${v.key}`,type:"checkbox","onUpdate:modelValue":P=>v.enabled=P},null,8,YB),[[ye,v.enabled]]),b[10]||(b[10]=T("      ",-1)),d("span",QB,F(v.memo),1),b[11]||(b[11]=T("      ",-1)),d("button",{type:"button",class:"pure-button button-small",onClick:P=>w(v)},"查看定义",8,XB)]))),128))])],32)]),d("h1",null,[b[12]||(b[12]=T("自定义搜索菜单 ",-1)),G(d("small",null,"( "+F(i.value.length)+" )",513),[[Gt,i.value.length]])]),d("div",ZB,[(_(true),E($e,null,je(i.value,(v,k)=>(_(),nt(Ay,{key:k,item:v,index:k,onDelete:P=>p(v,k)},null,8,["item","index","onDelete"]))),128))]),d("div",eO,[d("button",{type:"button",class:"pure-button pure-button-primary button-large",onClick:c,disabled:!i.value.length}," 保存自定义搜索菜单 ",8,tO),b[13]||(b[13]=T("      ",-1)),d("button",{type:"button",class:"pure-button pure-button-success button-large",onClick:f}," + 添加自定义搜索菜单 ")])]))}}),oO=Pe(nO,[["__file","SearchUrls.vue"]]),iO={class:"ce-config ce-play-urls ce-custom-urls"},sO=["value"],rO={class:"ce-menu-urls-builtin"},aO={key:0,class:"item-icon"},lO=["src"],uO=["for"],cO=["id","onUpdate:modelValue"],dO={class:"text-info item-memo"},fO=["onClick"],pO=["innerHTML"],hO={class:"ce-custom-urls-list"},mO={class:"ce-custom-urls-actions"},gO=["disabled"],wO=xe({__name:"PlayUrls",async setup(e){let t,n;const o=K(([t,n]=Bt(()=>Sm()),t=await t,n(),t)),i=K(([t,n]=Bt(()=>Si(so.play)),t=await t,n(),t)),s=([t,n]=Bt(()=>ut()),t=await t,n(),t),r=K(s.defaultPlayer||""),a=Ke(()=>[...o.value.filter(w=>w.enabled),...i.value.filter(w=>w.enabled)]);$t(async()=>{}),He(o,lt(async w=>{const g=[];w.forEach(b=>{b.enabled&&g.push(b.key);}),await fx(g),Y({icon:"success",title:"预置搜索菜单设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},500),{deep:true}),He(r,lt(async w=>{const g=await ut();g.defaultPlayer=w,await ya(g),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"});},250));async function l(){const w=[];for(const g of i.value){if(!await c(g,w.length))return;if(w.includes(g.key)){Y({icon:"error",title:`第 ${w.length+1} 个记录的「唯一标识: ${g.key}」重复!`});return}w.push(g.key);}await _m(so.play,i.value),Y({icon:"success",title:"保存成功!"});}async function c(w,g){const b=/^\w+$/;return w.key=w.key.trim(),b.test(w.key)?(w.label=w.label.trim(),w.label===""?(Y({icon:"error",title:`第 ${g+1} 个记录的「显示名称」不能为空!`}),false):(w.url=w.url.trim(),w.url===""?(Y({icon:"error",title:`第 ${g+1} 个记录的「链接」不能为空!`}),false):(w.icon=w.icon.trim(),w.memo=w.memo.trim(),true))):(Y({icon:"error",title:`第 ${g+1} 个记录的「唯一标识」错误!只能包含字母、数字、下划线。`}),false)}async function u(){i.value.push(kt({key:ja()}));}async function f(w,g){const{isConfirmed:b}=await V.fire({icon:"warning",html:`确定要删除第 ${g+1} 个记录「${w.label}」吗?`});b&&(i.value.splice(g,1),await l(),Y({icon:"success",title:`「${w.label}」已删除!`}));}async function p(w){const g=JSON.stringify(w,null,2),b=`ce-url-item-denifition-${w.key}`,{isConfirmed:v}=await V.fire({title:`「${w.label}」的定义`,html:`<h3>${w.memo}</h3>
      <pre id="${b}" style="text-align:left;font-size:12px;"></pre>`,confirmButtonText:"复制",showCancelButton:true,position:"top-left",heightAuto:true,didOpen:()=>{document.getElementById(b).innerText=g;}});v&&(navigator.clipboard.writeText(g),Y({icon:"success",title:"已复制到剪贴板!"}));}return (w,g)=>(_(),E("div",iO,[d("form",{class:"pure-form pure-form-aligned",onSubmit:g[1]||(g[1]=ht(()=>{},["prevent"]))},[d("fieldset",null,[g[3]||(g[3]=d("span",{class:"ce-label ce-label-primary"},"默认播放菜单: ",-1)),g[4]||(g[4]=T("   ",-1)),G(d("select",{"onUpdate:modelValue":g[0]||(g[0]=b=>r.value=b)},[(_(true),E($e,null,je(a.value,(b,v)=>(_(),E("option",{key:v,value:b.key},F(b.label),9,sO))),128))],512),[[yn,r.value]])])],32),d("h1",null,[g[5]||(g[5]=T("预置播放菜单 ",-1)),G(d("small",null,"( "+F(o.value.length)+" )",513),[[Gt,o.value.length]])]),g[10]||(g[10]=d("div",{class:"ce-tips"},[d("p",null,[T("支持常见的视频、音频和图片格式,也支持目录播放。预置播放菜单使用的链接变量是 "),d("b",null,"{clouddrive_stream_url}"),T(" , 会根据文件或目录自动使用相应的链接。")]),d("p",null,"调用本地播放器播放功能依赖CloudDrive,请先在「CloudDrive」设置面板中进行配置。")],-1)),d("div",rO,[d("form",{class:"pure-form pure-form-aligned",onSubmit:g[2]||(g[2]=ht(()=>{},["prevent"]))},[d("fieldset",null,[(_(true),E($e,null,je(o.value,(b,v)=>(_(),E("div",{key:v,class:"pure-control-group"},[b.icon?(_(),E("span",aO,[d("img",{src:b.icon,referrerpolicy:"no-referrer",width:"25"},null,8,lO)])):fe("",true),d("label",{for:`builtin_${b.key}`},F(b.label),9,uO),G(d("input",{id:`builtin_${b.key}`,type:"checkbox","onUpdate:modelValue":k=>b.enabled=k},null,8,cO),[[ye,b.enabled]]),g[6]||(g[6]=T("      ",-1)),d("span",dO,F(b.memo),1),g[7]||(g[7]=T("      ",-1)),d("button",{type:"button",class:"pure-button button-small",onClick:k=>p(b)},"查看定义",8,fO),b.extraMemo?(_(),E("span",{key:1,innerHTML:b.extraMemo,class:"extra-memo"},null,8,pO)):fe("",true)]))),128))])],32)]),d("h1",null,[g[8]||(g[8]=T("自定义播放菜单 ",-1)),G(d("small",null,"( "+F(i.value.length)+" )",513),[[Gt,i.value.length]])]),d("div",hO,[(_(true),E($e,null,je(i.value,(b,v)=>(_(),nt(Ay,{key:v,item:b,index:v,onDelete:k=>f(b,v)},null,8,["item","index","onDelete"]))),128))]),g[11]||(g[11]=d("div",{class:"ce-tips"}," 编辑后,请记得点击「保存自定义播放菜单」。 ",-1)),d("div",mO,[d("button",{type:"button",class:"pure-button pure-button-primary button-large",onClick:l,disabled:!i.value.length}," 保存自定义播放菜单 ",8,gO),g[9]||(g[9]=T("      ",-1)),d("button",{type:"button",class:"pure-button pure-button-success button-large",onClick:u}," + 添加自定义播放菜单 ")])]))}}),yO=Pe(wO,[["__file","PlayUrls.vue"]]),bO={class:"ce-config ce-anxia-config"},vO={class:"pure-form pure-form-aligned"},xO={class:"pure-control-group"},_O={class:"pure-control-group"},CO={class:"pure-control-group"},kO=["value"],SO=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Bt(()=>sm()),t=await t,n(),t));return $t(async()=>{}),He(o,lt(async i=>{await I0(i),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:ot.listConfigChange,body:JSON.parse(JSON.stringify(i))});},500),{deep:true}),(i,s)=>(_(),E("div",bO,[d("form",vO,[d("fieldset",null,[d("div",xO,[s[3]||(s[3]=d("label",{for:"defaultWebFull"},"自动网页全屏",-1)),G(d("input",{id:"defaultWebFull",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=r=>o.value.defaultWebFull=r)},null,512),[[ye,o.value.defaultWebFull]]),s[4]||(s[4]=d("div",{class:"pure-form-message text-success"},[d("div",null,"进入播放页后自动使播放器网页全屏。")],-1))]),d("div",_O,[s[5]||(s[5]=d("label",{for:"defaultOpenPlayList"},"自动展开播放列表",-1)),G(d("input",{id:"defaultOpenPlayList",type:"checkbox","onUpdate:modelValue":s[1]||(s[1]=r=>o.value.defaultOpenPlayList=r)},null,512),[[ye,o.value.defaultOpenPlayList]]),s[6]||(s[6]=d("div",{class:"pure-form-message text-success"},[d("div",null,"进入播放页后自动展开播放列表。")],-1))]),d("div",CO,[s[8]||(s[8]=d("label",{for:"defaultDefinition"},"默认清晰度",-1)),G(d("select",{id:"defaultDefinition","onUpdate:modelValue":s[2]||(s[2]=r=>o.value.defaultDefinition=r)},[s[7]||(s[7]=d("option",{value:""},"官方默认",-1)),(_(true),E($e,null,je(te(im),(r,a)=>(_(),E("option",{key:a,value:a},F(r),9,kO))),128))],512),[[yn,o.value.defaultDefinition]]),s[9]||(s[9]=d("div",{class:"pure-form-message text-success"},[d("div",{class:"text-warning"},"如果没有该清晰度,则会使用官方默认。")],-1))])])])]))}}),$O=Pe(SO,[["__file","Config.vue"]]),Py=wt.share;function EO(e){return {autoConfirmPassword:true,pageWidth:"",showListSummary:true,freshMode:false,...e}}async function Iy(){const e=EO(),t=await Xe.get(Py,e);return {...e,...t}}async function AO(e){await Xe.set(Py,e);}function Dy(e={}){return {share_code:"",offset:0,limit:1150,receive_code:"",cid:"",...e}}function PO(e,t=true,n=false){const o=Dy();let i=e.match(/((115|115cdn|anxia)\.com(\/s)?\/)?([a-z\d]{6,})(\?password=(\w{4,}))?/);if(!i)throw new Error("无法解析分享链接");const s=!!i[1];if(!s&&!n)throw new Error("无法解析分享链接: 缺少有效的域名或访问码");if(o.share_code=i[4],i[5])return o.receive_code=i[6],o;if(i=e.match(/(\?|&)password=(\w{4,})/),i&&(o.receive_code=i[2]),!o.receive_code&&t&&(i=e.match(/访问码(:|:)\s*(\w{4,})/),i&&(o.receive_code=i[2])),!s&&!o.receive_code)throw new Error("分享链接缺少访问码");return o}function IO(e){const t=Dy(),n=e.match(/\/([a-z\d]{6,})(?:-(\w{4,}))?\//);if(!n)throw new Error("无法解析口令");return t.share_code=n[1],n[2]&&(t.receive_code=n[2]),t}function DO(e,t=true,n=false){try{return PO(e,t,n)}catch{}try{return IO(e)}catch{}throw new Error("无法解析分享链接或口令")}function TO(e,t=true,n=false){e=e.replace(/[,,]\s*(https:\/\/)/g,`
$1`);const o=[],i=e.split(`
`).map(r=>r.trim()).filter(r=>r);for(const r of i)try{const a=DO(r,t,n);o.push(a);}catch{}const s={};for(const r of o)r.share_code&&!s[r.share_code]&&(s[r.share_code]=r);return Object.values(s)}function LO(e){const{share_code:t,receive_code:n}=e;if(!t)throw new Error("分享链接缺少 share_code");let o=`https://115.com/s/${t}`;return n&&(o+=`?password=${n}`),o}const MO={class:"ce-tools-item ce-share-tool"},BO={class:"pure-form pure-form-aligned"},OO={class:"pure-control-group"},RO={key:0,style:{padding:"4px 0"}},FO={style:{width:"auto"}},NO={key:0,style:{padding:"6px","max-height":"300px","overflow-y":"auto",border:"1px solid #ccc"}},UO=xe({__name:"ShareTool",setup(e){const n=K(false),o=K(""),i=K(null),s=K([]);return $t(async()=>{}),qt(async()=>{}),He(o,lt(r=>{if(s.value=[],r=r.trim(),!!r)try{if(s.value=TO(r,!0,!0),console.log("[parseBatch]",s.value),!s.value.length)throw new Error("未找到有效的分享链接或口令");n.value;const a=[];for(const l of s.value){const c=LO(l);a.push(c);}mr(a,!0),o.value="";}catch(a){console.error(a),Ri.fire({icon:"error",title:`解析分享内容失败:${a instanceof Error?a.message:String(a)}`}),i.value&&i.value.select();}},300),{immediate:true}),(r,a)=>(_(),E("div",MO,[d("form",BO,[d("fieldset",null,[a[5]||(a[5]=d("legend",null,"分享工具",-1)),d("div",OO,[a[4]||(a[4]=d("div",null,[d("b",null,"打开分享详情"),T(" - 粘贴分享内容,自动打开分享详情页面,支持链接和口令,支持多个")],-1)),G(d("textarea",{ref_key:"refShareText",ref:i,rows:"2","onUpdate:modelValue":a[0]||(a[0]=l=>o.value=l),placeholder:"请粘贴分享内容",style:{width:"80%"},onclick:"this.select()"},null,512),[[Ve,o.value]]),te(true)?fe("",true):(_(),E("div",RO,[d("label",FO,[G(d("input",{type:"checkbox","onUpdate:modelValue":a[1]||(a[1]=l=>n.value=l)},null,512),[[ye,n.value]]),a[3]||(a[3]=T(" 调试模式",-1))]),d("button",{type:"button",onClick:a[2]||(a[2]=l=>o.value="")},"清空"),s.value&&s.value.length?(_(),E("div",NO,[d("pre",null,F(s.value),1)])):fe("",true)]))])])])]))}}),jO=Pe(UO,[["__file","ShareTool.vue"]]),zO={class:"ce-config ce-share-config"},HO={class:"pure-control-group"},VO={class:"pure-control-group"},qO={class:"pure-control-group"},WO={class:"pure-control-group"},KO=xe({__name:"Config",async setup(e){let t,n;const o=K(([t,n]=Bt(()=>Iy()),t=await t,n(),t));return $t(async()=>{}),He(o,lt(async i=>{await AO(i),Y({icon:"success",title:"设置已保存,刷新页面以使全部更改生效。",timer:1e3,position:"top-end"}),window.postMessage({event:ot.shareConfigChange,body:JSON.parse(JSON.stringify(i))});},500),{deep:true}),(i,s)=>(_(),E("div",zO,[ie(jO),d("form",{class:"pure-form pure-form-aligned",onSubmit:s[4]||(s[4]=ht(()=>{},["prevent"]))},[d("fieldset",null,[s[13]||(s[13]=d("legend",null,"分享设置",-1)),d("div",HO,[s[5]||(s[5]=d("label",{for:"autoAccess"},"自动确定访问码",-1)),G(d("input",{id:"autoAccess",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=r=>o.value.autoConfirmPassword=r)},null,512),[[ye,o.value.autoConfirmPassword]]),s[6]||(s[6]=d("div",{class:"pure-form-message text-success"}," 如果打开页面时已有访问码,则自动确定进入分享详情。 ",-1))]),d("div",VO,[s[7]||(s[7]=d("label",{for:"pageWidth"},"页面宽度",-1)),G(d("input",{id:"pageWidth",class:"input-small","onUpdate:modelValue":s[1]||(s[1]=r=>o.value.pageWidth=r)},null,512),[[Ve,o.value.pageWidth]]),s[8]||(s[8]=d("div",{class:"pure-form-message text-success"},[T(" 默认为空。支持 1000px、100%、90vw 等有效的 "),d("a",{href:"https://developer.mozilla.org/zh-CN/docs/Web/CSS/width",target:"_blank",rel:"noreferrer noopener"},"css width数值 🔗"),T("。 ")],-1))]),d("div",qO,[s[9]||(s[9]=d("label",{for:"showListSummary"},"显示列表概要",-1)),G(d("input",{id:"showListSummary",type:"checkbox","onUpdate:modelValue":s[2]||(s[2]=r=>o.value.showListSummary=r)},null,512),[[ye,o.value.showListSummary]]),s[10]||(s[10]=d("div",{class:"pure-form-message text-success"}," 在列表`名称`列头部显示当前列表的概要信息,如文件数量、文件合计大小、目录数量等。 ",-1))]),d("div",WO,[s[11]||(s[11]=d("label",{for:"freshMode"},"清爽模式",-1)),G(d("input",{id:"freshMode",type:"checkbox","onUpdate:modelValue":s[3]||(s[3]=r=>o.value.freshMode=r)},null,512),[[ye,o.value.freshMode]]),s[12]||(s[12]=d("div",{class:"pure-form-message text-success"},[T(" 隐藏顶部广告和底部警告。"),d("span",{class:"text-warning"},"请注意,这些区域的内容可能会发生变化,隐藏后可能会使你错过相关信息,比如新活动等。")],-1))])])],32)]))}}),GO=Pe(KO,[["__file","Config.vue"]]);var JO={name:"115不大助手",version:"0.8.12"};const YO=xe({__name:"FeedbackButton",setup(e){const t=JO,n=Yy;function o(){let s=`脚本: ${t.name} - v${t.version}
`;return s+=`TM: ${n.version}
`,s+=`UA: ${navigator.userAgent}
`,s+=`我在使用脚本的 xxxxxx 功能时,出现了问题,希望你能帮我解决。
`,s+=`复现步骤: xxxxxx
`,s+=`问题截图: 
`,s}function i(){let s=o();ft(s),Y({icon:"success",text:"已复制反馈模版,请添加详细的描述以便排查和解决问题。"});}return (s,r)=>(_(),E("button",{type:"button",class:"pure-button pure-button-success",onClick:i}," 复制反馈模版 "))}}),QO=Pe(YO,[["__file","FeedbackButton.vue"]]);var XO={name:"115不大助手",version:"0.8.12",author:{name:"生瓜太保",email:"[email protected]"},greasyforkUrl:"https://greasyfork.org/zh-CN/scripts/474231-115%E4%B8%8D%E5%A4%A7%E5%8A%A9%E6%89%8B-full?locale_override=1"};const ZO={class:"ce-about"},e4=["href"],t4=xe({__name:"About",setup(e){const t=XO;return (n,o)=>(_(),E("div",ZO,[o[1]||(o[1]=d("p",null,"115不大助手(以下简称「脚本」),是一个仅用于学习编程的小脚本。",-1)),o[2]||(o[2]=d("br",null,null,-1)),o[3]||(o[3]=d("p",null,"脚本不会收集您的任何个人信息。",-1)),o[4]||(o[4]=d("p",null,"脚本仅借助了官方已有的功能,无任何破解行为。",-1)),o[5]||(o[5]=d("p",null,"脚本代码本身已包含全部依赖,无任何远程引用。",-1)),o[6]||(o[6]=d("br",null,null,-1)),o[7]||(o[7]=d("br",null,null,-1)),o[8]||(o[8]=d("br",null,null,-1)),d("div",null,[ie(QO)]),o[9]||(o[9]=d("br",null,null,-1)),o[10]||(o[10]=d("hr",{class:"ce-hr"},null,-1)),d("div",null,[d("a",{href:te(t).greasyforkUrl,class:"text-bold text-primary",target:"_blank",rel:"noreferrer noopener",title:"到Greasyfork查看"},[T(F(te(t).name)+" ",1),d("small",null,"v"+F(te(t).version),1)],8,e4),o[0]||(o[0]=T("  ",-1)),d("small",null,"by "+F(te(t).author.name),1)])]))}}),n4=Pe(t4,[["__file","About.vue"]]);var o4={name:"115不大助手",version:"0.8.12",author:{name:"生瓜太保",email:"[email protected]"},greasyforkUrl:"https://greasyfork.org/zh-CN/scripts/474231-115%E4%B8%8D%E5%A4%A7%E5%8A%A9%E6%89%8B-full?locale_override=1"};const i4={class:"ce-config-main"},s4={class:"ce-config-main-header"},r4={class:"ce-intro"},a4=["href"],l4={class:"ce-config-main-body"},u4=xe({__name:"Config",setup(e){const t=o4,n=K(false),o=K(false),i=K();qt(async()=>{window.addEventListener("message",c=>{const{event:u,body:f}=c.data;u===ot.openConfig&&(n.value||(n.value=true),s(f)),u===ot.closeConfig&&r();},false);});async function s(c){o.value=true,console.log("[openDrawer]",c),c&&(await gi(),i.value?.selectTab(`#${c}`));}async function r(){o.value=false;}async function a(...c){console.log("[tabClicked]",c);}async function l(...c){console.log("[tabChanged]",c);}return (c,u)=>(_(),nt(_g,null,{default:ge(()=>[d("div",i4,[ie(Qs,{"is-open":o.value,onClose:r,"max-width":"1225px",speed:500},{default:ge(()=>[d("div",s4,[u[1]||(u[1]=d("h1",null,"设置",-1)),d("span",r4,[d("a",{href:te(t).greasyforkUrl,class:"text-bold text-primary",target:"_blank",rel:"noreferrer noopener",title:"到Greasyfork查看"},[T(F(te(t).name)+" ",1),d("small",null,"v"+F(te(t).version),1)],8,a4),u[0]||(u[0]=T("  ",-1)),d("small",null,"by "+F(te(t).author.name),1)]),d("div",{class:"ce-config-main-close",onClick:r},"关闭")]),d("div",l4,[ie(te(ZT),{ref_key:"refTabs",ref:i,options:{useUrlFragment:!1},onClicked:a,onChanged:l},{default:ge(()=>[ie(te(Sn),{id:te(bt).basic,name:te(kn).basic},{default:ge(()=>[ie(AL)]),_:1},8,["id","name"]),ie(te(Sn),{id:te(bt).clouddrive,name:te(kn).clouddrive},{default:ge(()=>[ie(qL)]),_:1},8,["id","name"]),ie(te(Sn),{id:te(bt).list,name:te(kn).list},{default:ge(()=>[ie(yM)]),_:1},8,["id","name"]),ie(te(Sn),{id:te(bt).search,name:te(kn).search},{default:ge(()=>[ie($M)]),_:1},8,["id","name"]),ie(te(Sn),{id:te(bt).menus,name:te(kn).menus},{default:ge(()=>[ie(PB)]),_:1},8,["id","name"]),ie(te(Sn),{id:te(bt).searchMenus,name:te(kn).searchMenus},{default:ge(()=>[ie(oO)]),_:1},8,["id","name"]),ie(te(Sn),{id:te(bt).playMenus,name:te(kn).playMenus},{default:ge(()=>[ie(yO)]),_:1},8,["id","name"]),ie(te(Sn),{id:te(bt).offline,name:te(kn).offline},{default:ge(()=>[ie(Iw)]),_:1},8,["id","name"]),ie(te(Sn),{id:te(bt).tools,name:te(kn).tools},{default:ge(()=>[ie(h3)]),_:1},8,["id","name"]),ie(te(Sn),{id:te(bt).anxia,name:te(kn).anxia},{default:ge(()=>[ie($O)]),_:1},8,["id","name"]),ie(te(Sn),{id:te(bt).share,name:te(kn).share},{default:ge(()=>[ie(GO)]),_:1},8,["id","name"]),ie(te(Sn),{id:te(bt).about,name:te(kn).about},{default:ge(()=>[ie(n4)]),_:1},8,["id","name"])]),_:1},512)])]),_:1},8,["is-open"])])]),_:1}))}}),c4=Pe(u4,[["__file","Config.vue"]]),d4=".ce-login-page a.ce-entry{display:inline-block;background:#fefcea;padding:2px 6px;border-radius:4px;border:1px solid #234888;margin:0 4px}";Pt(d4);async function f4(){const{host:e}=location;["115.com","anxia.com","115cdn.com","share.115.com","life.115.com"].includes(e)&&window.top===window.self&&(console.log(`[Cloud115 Enhancer - main] running in ${e}`),p4(),tB(),eB());}async function p4(){console.log("[Cloud115 Enhancer - main] injectUI");const e="cloud115ConfigMain",t=document.createElement("div");t.id=e,document.body.appendChild(t);const n=co(c4);n.component("VDropdown",Pi),n.directive("tooltip",md),n.mount(`#${e}`),Cs("设置",async()=>{window.postMessage({event:ot.openConfig});}),Cs("扫码获取Cookie",async()=>{window.postMessage({event:ot.openConfig,body:bt.tools});}),Cs("解析分享文本",async()=>{window.postMessage({event:ot.openConfig,body:bt.share});}),oB();}const h4='@charset "UTF-8";.ce-list-page .header-name div.desc{line-height:32px}.ce-filter-ext-wrap a{min-width:24px!important;max-width:50px!important;width:auto!important;height:20px;line-height:20px!important;padding:4px 6px;background:#ededed;font-size:14px!important}.list-contents ul li .ce-btn-folder-size{background:#f2f4f8;border-radius:6px;padding:4px;cursor:pointer}.list-contents ul li .ce-s-d{font-size:11px;color:#8f8f8f}.list-contents ul li .ce-file-sha1{position:absolute;top:20px;color:#999;cursor:pointer;font-size:90%}.list-contents ul li.ce-show-sha1 .file-name{height:40px}.list-contents ul li.ce-size-got .ce-btn-folder-size{opacity:.6;margin-left:6px}.list-contents ul li.ce-size-got .ce-btn-folder-size:hover{opacity:1}#js_top_header_file_path_box .ce-path-btn{background-color:#f4f6fc;height:32px}#js_top_header_file_path_box .ce-path-btn#ceGotoPath{margin-right:6px}#js_top_header_file_path_box.ce-goto-path-active{height:60px}#js_top_header_file_path_box.ce-goto-path-active div#js_path_add_dir{height:32px}#js_top_header_file_path_box #ceGotoPathApp{position:absolute;top:40px}#js_top_panel_box #js_operate_box.ce-show-quick-entry{display:none!important;animation:ce-hide-hint .3s ease-in-out}.shortkey-info-dialog.ce-sid-active{font-size:14px;padding:0;max-height:66vh;overflow-y:auto}.ce-handle-create-dir label{padding:6px 30px 0!important;font-size:18px}.ce-handle-create-dir input{width:22px;height:22px;vertical-align:sub}.ce-handle-create-dir p{font-size:14px;color:#ff4949;margin-bottom:10px;padding-left:30px}.ce-selector-page li.ce-decorated:hover .ce-file-inj-container{opacity:1}.ce-selector-page li.ce-decorated .file-name{top:2px!important}.ce-selector-page li.ce-decorated .ce-file-inj-container{padding:2px;border-radius:4px;position:absolute;left:70px;top:2px;font-size:12px;opacity:.4}.ce-selector-page li.ce-decorated .ce-file-sha1{cursor:pointer;color:#909399}.ce-selector-page li.ce-decorated .ce-file-size{margin-left:8px;font-weight:700;color:#1890ff}.ce-rename-dlg .file-rename ul li:nth-child(1){border:none}.ce-rename-dlg .rename-ext{padding-top:10px}.ce-rename-dlg .rename-ext textarea[rel]{visibility:visible;overflow:auto;width:100%;resize:vertical!important}.ce-rename-dlg .rename-ext .btn-clear[rel]{display:none!important}.ce-rename-dlg .rename-ext .ce-btn-clear{margin-left:0}.ce-rename-dlg .rename-ext input[rel]{display:none!important}.ce-rename-dlg .rename-ext .ext-name{position:absolute;top:-18px;line-height:24px;height:24px;border-radius:4px}';Pt(h4);function So(e){return Array.isArray?Array.isArray(e):My(e)==="[object Array]"}function m4(e){if(typeof e=="string")return e;let t=e+"";return t=="0"&&1/e==-1/0?"-0":t}function g4(e){return e==null?"":m4(e)}function Qn(e){return typeof e=="string"}function Ty(e){return typeof e=="number"}function w4(e){return e===true||e===false||y4(e)&&My(e)=="[object Boolean]"}function Ly(e){return typeof e=="object"}function y4(e){return Ly(e)&&e!==null}function gn(e){return e!=null}function au(e){return !e.trim().length}function My(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const b4="Incorrect 'index' type",v4=e=>`Invalid value for key ${e}`,x4=e=>`Pattern length exceeds max of ${e}.`,_4=e=>`Missing ${e} property in key`,C4=e=>`Property 'weight' in key '${e}' must be a positive integer`,jp=Object.prototype.hasOwnProperty;class k4{constructor(t){this._keys=[],this._keyMap={};let n=0;t.forEach(o=>{let i=By(o);this._keys.push(i),this._keyMap[i.id]=i,n+=i.weight;}),this._keys.forEach(o=>{o.weight/=n;});}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function By(e){let t=null,n=null,o=null,i=1,s=null;if(Qn(e)||So(e))o=e,t=zp(e),n=tc(e);else {if(!jp.call(e,"name"))throw new Error(_4("name"));const r=e.name;if(o=r,jp.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(C4(r));t=zp(r),n=tc(r),s=e.getFn;}return {path:t,id:n,weight:i,src:o,getFn:s}}function zp(e){return So(e)?e:e.split(".")}function tc(e){return So(e)?e.join("."):e}function S4(e,t){let n=[],o=false;const i=(s,r,a)=>{if(gn(s))if(!r[a])n.push(s);else {let l=r[a];const c=s[l];if(!gn(c))return;if(a===r.length-1&&(Qn(c)||Ty(c)||w4(c)))n.push(g4(c));else if(So(c)){o=true;for(let u=0,f=c.length;u<f;u+=1)i(c[u],r,a+1);}else r.length&&i(c,r,a+1);}};return i(e,Qn(t)?t.split("."):t,0),o?n:n[0]}const $4={includeMatches:false,findAllMatches:false,minMatchCharLength:1},E4={isCaseSensitive:false,ignoreDiacritics:false,includeScore:false,keys:[],shouldSort:true,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1},A4={location:0,threshold:.6,distance:100},P4={useExtendedSearch:false,getFn:S4,ignoreLocation:false,ignoreFieldNorm:false,fieldNormWeight:1};var Le={...E4,...$4,...A4,...P4};const I4=/[^ ]+/g;function D4(e=1,t=3){const n=new Map,o=Math.pow(10,t);return {get(i){const s=i.match(I4).length;if(n.has(s))return n.get(s);const r=1/Math.pow(s,.5*e),a=parseFloat(Math.round(r*o)/o);return n.set(s,a),a},clear(){n.clear();}}}class Id{constructor({getFn:t=Le.getFn,fieldNormWeight:n=Le.fieldNormWeight}={}){this.norm=D4(n,3),this.getFn=t,this.isCreated=false,this.setIndexRecords();}setSources(t=[]){this.docs=t;}setIndexRecords(t=[]){this.records=t;}setKeys(t=[]){this.keys=t,this._keysMap={},t.forEach((n,o)=>{this._keysMap[n.id]=o;});}create(){this.isCreated||!this.docs.length||(this.isCreated=true,Qn(this.docs[0])?this.docs.forEach((t,n)=>{this._addString(t,n);}):this.docs.forEach((t,n)=>{this._addObject(t,n);}),this.norm.clear());}add(t){const n=this.size();Qn(t)?this._addString(t,n):this._addObject(t,n);}removeAt(t){this.records.splice(t,1);for(let n=t,o=this.size();n<o;n+=1)this.records[n].i-=1;}getValueForItemAtKeyId(t,n){return t[this._keysMap[n]]}size(){return this.records.length}_addString(t,n){if(!gn(t)||au(t))return;let o={v:t,i:n,n:this.norm.get(t)};this.records.push(o);}_addObject(t,n){let o={i:n,$:{}};this.keys.forEach((i,s)=>{let r=i.getFn?i.getFn(t):this.getFn(t,i.path);if(gn(r)){if(So(r)){let a=[];const l=[{nestedArrIndex:-1,value:r}];for(;l.length;){const{nestedArrIndex:c,value:u}=l.pop();if(gn(u))if(Qn(u)&&!au(u)){let f={v:u,i:c,n:this.norm.get(u)};a.push(f);}else So(u)&&u.forEach((f,p)=>{l.push({nestedArrIndex:p,value:f});});}o.$[s]=a;}else if(Qn(r)&&!au(r)){let a={v:r,n:this.norm.get(r)};o.$[s]=a;}}}),this.records.push(o);}toJSON(){return {keys:this.keys,records:this.records}}}function Oy(e,t,{getFn:n=Le.getFn,fieldNormWeight:o=Le.fieldNormWeight}={}){const i=new Id({getFn:n,fieldNormWeight:o});return i.setKeys(e.map(By)),i.setSources(t),i.create(),i}function T4(e,{getFn:t=Le.getFn,fieldNormWeight:n=Le.fieldNormWeight}={}){const{keys:o,records:i}=e,s=new Id({getFn:t,fieldNormWeight:n});return s.setKeys(o),s.setIndexRecords(i),s}function Nr(e,{errors:t=0,currentLocation:n=0,expectedLocation:o=0,distance:i=Le.distance,ignoreLocation:s=Le.ignoreLocation}={}){const r=t/e.length;if(s)return r;const a=Math.abs(o-n);return i?r+a/i:a?1:r}function L4(e=[],t=Le.minMatchCharLength){let n=[],o=-1,i=-1,s=0;for(let r=e.length;s<r;s+=1){let a=e[s];a&&o===-1?o=s:!a&&o!==-1&&(i=s-1,i-o+1>=t&&n.push([o,i]),o=-1);}return e[s-1]&&s-o>=t&&n.push([o,s-1]),n}const si=32;function M4(e,t,n,{location:o=Le.location,distance:i=Le.distance,threshold:s=Le.threshold,findAllMatches:r=Le.findAllMatches,minMatchCharLength:a=Le.minMatchCharLength,includeMatches:l=Le.includeMatches,ignoreLocation:c=Le.ignoreLocation}={}){if(t.length>si)throw new Error(x4(si));const u=t.length,f=e.length,p=Math.max(0,Math.min(o,f));let w=s,g=p;const b=a>1||l,v=b?Array(f):[];let k;for(;(k=e.indexOf(t,g))>-1;){let N=Nr(t,{currentLocation:k,expectedLocation:p,distance:i,ignoreLocation:c});if(w=Math.min(N,w),g=k+u,b){let se=0;for(;se<u;)v[k+se]=1,se+=1;}}g=-1;let P=[],A=1,I=u+f;const M=1<<u-1;for(let N=0;N<u;N+=1){let se=0,pe=I;for(;se<pe;)Nr(t,{errors:N,currentLocation:p+pe,expectedLocation:p,distance:i,ignoreLocation:c})<=w?se=pe:I=pe,pe=Math.floor((I-se)/2+se);I=pe;let ne=Math.max(1,p-pe+1),B=r?f:Math.min(p+pe,f)+u,O=Array(B+2);O[B+1]=(1<<N)-1;for(let le=B;le>=ne;le-=1){let ve=le-1,ke=n[e.charAt(ve)];if(b&&(v[ve]=+!!ke),O[le]=(O[le+1]<<1|1)&ke,N&&(O[le]|=(P[le+1]|P[le])<<1|1|P[le+1]),O[le]&M&&(A=Nr(t,{errors:N,currentLocation:ve,expectedLocation:p,distance:i,ignoreLocation:c}),A<=w)){if(w=A,g=ve,g<=p)break;ne=Math.max(1,2*p-g);}}if(Nr(t,{errors:N+1,currentLocation:p,expectedLocation:p,distance:i,ignoreLocation:c})>w)break;P=O;}const z={isMatch:g>=0,score:Math.max(.001,A)};if(b){const N=L4(v,a);N.length?l&&(z.indices=N):z.isMatch=false;}return z}function B4(e){let t={};for(let n=0,o=e.length;n<o;n+=1){const i=e.charAt(n);t[i]=(t[i]||0)|1<<o-n-1;}return t}const Ia=String.prototype.normalize?(e=>e.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,"")):(e=>e);class Ry{constructor(t,{location:n=Le.location,threshold:o=Le.threshold,distance:i=Le.distance,includeMatches:s=Le.includeMatches,findAllMatches:r=Le.findAllMatches,minMatchCharLength:a=Le.minMatchCharLength,isCaseSensitive:l=Le.isCaseSensitive,ignoreDiacritics:c=Le.ignoreDiacritics,ignoreLocation:u=Le.ignoreLocation}={}){if(this.options={location:n,threshold:o,distance:i,includeMatches:s,findAllMatches:r,minMatchCharLength:a,isCaseSensitive:l,ignoreDiacritics:c,ignoreLocation:u},t=l?t:t.toLowerCase(),t=c?Ia(t):t,this.pattern=t,this.chunks=[],!this.pattern.length)return;const f=(w,g)=>{this.chunks.push({pattern:w,alphabet:B4(w),startIndex:g});},p=this.pattern.length;if(p>si){let w=0;const g=p%si,b=p-g;for(;w<b;)f(this.pattern.substr(w,si),w),w+=si;if(g){const v=p-si;f(this.pattern.substr(v),v);}}else f(this.pattern,0);}searchIn(t){const{isCaseSensitive:n,ignoreDiacritics:o,includeMatches:i}=this.options;if(t=n?t:t.toLowerCase(),t=o?Ia(t):t,this.pattern===t){let b={isMatch:true,score:0};return i&&(b.indices=[[0,t.length-1]]),b}const{location:s,distance:r,threshold:a,findAllMatches:l,minMatchCharLength:c,ignoreLocation:u}=this.options;let f=[],p=0,w=false;this.chunks.forEach(({pattern:b,alphabet:v,startIndex:k})=>{const{isMatch:P,score:A,indices:I}=M4(t,b,v,{location:s+k,distance:r,threshold:a,findAllMatches:l,minMatchCharLength:c,includeMatches:i,ignoreLocation:u});P&&(w=true),p+=A,P&&I&&(f=[...f,...I]);});let g={isMatch:w,score:w?p/this.chunks.length:1};return w&&i&&(g.indices=f),g}}class Yo{constructor(t){this.pattern=t;}static isMultiMatch(t){return Hp(t,this.multiRegex)}static isSingleMatch(t){return Hp(t,this.singleRegex)}search(){}}function Hp(e,t){const n=e.match(t);return n?n[1]:null}class O4 extends Yo{constructor(t){super(t);}static get type(){return "exact"}static get multiRegex(){return /^="(.*)"$/}static get singleRegex(){return /^=(.*)$/}search(t){const n=t===this.pattern;return {isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class R4 extends Yo{constructor(t){super(t);}static get type(){return "inverse-exact"}static get multiRegex(){return /^!"(.*)"$/}static get singleRegex(){return /^!(.*)$/}search(t){const o=t.indexOf(this.pattern)===-1;return {isMatch:o,score:o?0:1,indices:[0,t.length-1]}}}class F4 extends Yo{constructor(t){super(t);}static get type(){return "prefix-exact"}static get multiRegex(){return /^\^"(.*)"$/}static get singleRegex(){return /^\^(.*)$/}search(t){const n=t.startsWith(this.pattern);return {isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class N4 extends Yo{constructor(t){super(t);}static get type(){return "inverse-prefix-exact"}static get multiRegex(){return /^!\^"(.*)"$/}static get singleRegex(){return /^!\^(.*)$/}search(t){const n=!t.startsWith(this.pattern);return {isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class U4 extends Yo{constructor(t){super(t);}static get type(){return "suffix-exact"}static get multiRegex(){return /^"(.*)"\$$/}static get singleRegex(){return /^(.*)\$$/}search(t){const n=t.endsWith(this.pattern);return {isMatch:n,score:n?0:1,indices:[t.length-this.pattern.length,t.length-1]}}}class j4 extends Yo{constructor(t){super(t);}static get type(){return "inverse-suffix-exact"}static get multiRegex(){return /^!"(.*)"\$$/}static get singleRegex(){return /^!(.*)\$$/}search(t){const n=!t.endsWith(this.pattern);return {isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class Fy extends Yo{constructor(t,{location:n=Le.location,threshold:o=Le.threshold,distance:i=Le.distance,includeMatches:s=Le.includeMatches,findAllMatches:r=Le.findAllMatches,minMatchCharLength:a=Le.minMatchCharLength,isCaseSensitive:l=Le.isCaseSensitive,ignoreDiacritics:c=Le.ignoreDiacritics,ignoreLocation:u=Le.ignoreLocation}={}){super(t),this._bitapSearch=new Ry(t,{location:n,threshold:o,distance:i,includeMatches:s,findAllMatches:r,minMatchCharLength:a,isCaseSensitive:l,ignoreDiacritics:c,ignoreLocation:u});}static get type(){return "fuzzy"}static get multiRegex(){return /^"(.*)"$/}static get singleRegex(){return /^(.*)$/}search(t){return this._bitapSearch.searchIn(t)}}class Ny extends Yo{constructor(t){super(t);}static get type(){return "include"}static get multiRegex(){return /^'"(.*)"$/}static get singleRegex(){return /^'(.*)$/}search(t){let n=0,o;const i=[],s=this.pattern.length;for(;(o=t.indexOf(this.pattern,n))>-1;)n=o+s,i.push([o,n-1]);const r=!!i.length;return {isMatch:r,score:r?0:1,indices:i}}}const nc=[O4,Ny,F4,N4,j4,U4,R4,Fy],Vp=nc.length,z4=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,H4="|";function V4(e,t={}){return e.split(H4).map(n=>{let o=n.trim().split(z4).filter(s=>s&&!!s.trim()),i=[];for(let s=0,r=o.length;s<r;s+=1){const a=o[s];let l=false,c=-1;for(;!l&&++c<Vp;){const u=nc[c];let f=u.isMultiMatch(a);f&&(i.push(new u(f,t)),l=true);}if(!l)for(c=-1;++c<Vp;){const u=nc[c];let f=u.isSingleMatch(a);if(f){i.push(new u(f,t));break}}}return i})}const q4=new Set([Fy.type,Ny.type]);class W4{constructor(t,{isCaseSensitive:n=Le.isCaseSensitive,ignoreDiacritics:o=Le.ignoreDiacritics,includeMatches:i=Le.includeMatches,minMatchCharLength:s=Le.minMatchCharLength,ignoreLocation:r=Le.ignoreLocation,findAllMatches:a=Le.findAllMatches,location:l=Le.location,threshold:c=Le.threshold,distance:u=Le.distance}={}){this.query=null,this.options={isCaseSensitive:n,ignoreDiacritics:o,includeMatches:i,minMatchCharLength:s,findAllMatches:a,ignoreLocation:r,location:l,threshold:c,distance:u},t=n?t:t.toLowerCase(),t=o?Ia(t):t,this.pattern=t,this.query=V4(this.pattern,this.options);}static condition(t,n){return n.useExtendedSearch}searchIn(t){const n=this.query;if(!n)return {isMatch:false,score:1};const{includeMatches:o,isCaseSensitive:i,ignoreDiacritics:s}=this.options;t=i?t:t.toLowerCase(),t=s?Ia(t):t;let r=0,a=[],l=0;for(let c=0,u=n.length;c<u;c+=1){const f=n[c];a.length=0,r=0;for(let p=0,w=f.length;p<w;p+=1){const g=f[p],{isMatch:b,indices:v,score:k}=g.search(t);if(b){if(r+=1,l+=k,o){const P=g.constructor.type;q4.has(P)?a=[...a,...v]:a.push(v);}}else {l=0,r=0,a.length=0;break}}if(r){let p={isMatch:true,score:l/r};return o&&(p.indices=a),p}}return {isMatch:false,score:1}}}const oc=[];function K4(...e){oc.push(...e);}function ic(e,t){for(let n=0,o=oc.length;n<o;n+=1){let i=oc[n];if(i.condition(e,t))return new i(e,t)}return new Ry(e,t)}const Da={AND:"$and",OR:"$or"},sc={PATH:"$path",PATTERN:"$val"},rc=e=>!!(e[Da.AND]||e[Da.OR]),G4=e=>!!e[sc.PATH],J4=e=>!So(e)&&Ly(e)&&!rc(e),qp=e=>({[Da.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function Uy(e,t,{auto:n=true}={}){const o=i=>{let s=Object.keys(i);const r=G4(i);if(!r&&s.length>1&&!rc(i))return o(qp(i));if(J4(i)){const l=r?i[sc.PATH]:s[0],c=r?i[sc.PATTERN]:i[l];if(!Qn(c))throw new Error(v4(l));const u={keyId:tc(l),pattern:c};return n&&(u.searcher=ic(c,t)),u}let a={children:[],operator:s[0]};return s.forEach(l=>{const c=i[l];So(c)&&c.forEach(u=>{a.children.push(o(u));});}),a};return rc(e)||(e=qp(e)),o(e)}function Y4(e,{ignoreFieldNorm:t=Le.ignoreFieldNorm}){e.forEach(n=>{let o=1;n.matches.forEach(({key:i,norm:s,score:r})=>{const a=i?i.weight:null;o*=Math.pow(r===0&&a?Number.EPSILON:r,(a||1)*(t?1:s));}),n.score=o;});}function Q4(e,t){const n=e.matches;t.matches=[],gn(n)&&n.forEach(o=>{if(!gn(o.indices)||!o.indices.length)return;const{indices:i,value:s}=o;let r={indices:i,value:s};o.key&&(r.key=o.key.src),o.idx>-1&&(r.refIndex=o.idx),t.matches.push(r);});}function X4(e,t){t.score=e.score;}function Z4(e,t,{includeMatches:n=Le.includeMatches,includeScore:o=Le.includeScore}={}){const i=[];return n&&i.push(Q4),o&&i.push(X4),e.map(s=>{const{idx:r}=s,a={item:t[r],refIndex:r};return i.length&&i.forEach(l=>{l(s,a);}),a})}class hs{constructor(t,n={},o){this.options={...Le,...n},this.options.useExtendedSearch,this._keyStore=new k4(this.options.keys),this.setCollection(t,o);}setCollection(t,n){if(this._docs=t,n&&!(n instanceof Id))throw new Error(b4);this._myIndex=n||Oy(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight});}add(t){gn(t)&&(this._docs.push(t),this._myIndex.add(t));}remove(t=()=>false){const n=[];for(let o=0,i=this._docs.length;o<i;o+=1){const s=this._docs[o];t(s,o)&&(this.removeAt(o),o-=1,i-=1,n.push(s));}return n}removeAt(t){this._docs.splice(t,1),this._myIndex.removeAt(t);}getIndex(){return this._myIndex}search(t,{limit:n=-1}={}){const{includeMatches:o,includeScore:i,shouldSort:s,sortFn:r,ignoreFieldNorm:a}=this.options;let l=Qn(t)?Qn(this._docs[0])?this._searchStringList(t):this._searchObjectList(t):this._searchLogical(t);return Y4(l,{ignoreFieldNorm:a}),s&&l.sort(r),Ty(n)&&n>-1&&(l=l.slice(0,n)),Z4(l,this._docs,{includeMatches:o,includeScore:i})}_searchStringList(t){const n=ic(t,this.options),{records:o}=this._myIndex,i=[];return o.forEach(({v:s,i:r,n:a})=>{if(!gn(s))return;const{isMatch:l,score:c,indices:u}=n.searchIn(s);l&&i.push({item:s,idx:r,matches:[{score:c,value:s,norm:a,indices:u}]});}),i}_searchLogical(t){const n=Uy(t,this.options),o=(a,l,c)=>{if(!a.children){const{keyId:f,searcher:p}=a,w=this._findMatches({key:this._keyStore.get(f),value:this._myIndex.getValueForItemAtKeyId(l,f),searcher:p});return w&&w.length?[{idx:c,item:l,matches:w}]:[]}const u=[];for(let f=0,p=a.children.length;f<p;f+=1){const w=a.children[f],g=o(w,l,c);if(g.length)u.push(...g);else if(a.operator===Da.AND)return []}return u},i=this._myIndex.records,s={},r=[];return i.forEach(({$:a,i:l})=>{if(gn(a)){let c=o(n,a,l);c.length&&(s[l]||(s[l]={idx:l,item:a,matches:[]},r.push(s[l])),c.forEach(({matches:u})=>{s[l].matches.push(...u);}));}}),r}_searchObjectList(t){const n=ic(t,this.options),{keys:o,records:i}=this._myIndex,s=[];return i.forEach(({$:r,i:a})=>{if(!gn(r))return;let l=[];o.forEach((c,u)=>{l.push(...this._findMatches({key:c,value:r[u],searcher:n}));}),l.length&&s.push({idx:a,item:r,matches:l});}),s}_findMatches({key:t,value:n,searcher:o}){if(!gn(n))return [];let i=[];if(So(n))n.forEach(({v:s,i:r,n:a})=>{if(!gn(s))return;const{isMatch:l,score:c,indices:u}=o.searchIn(s);l&&i.push({score:c,key:t,value:s,idx:r,norm:a,indices:u});});else {const{v:s,n:r}=n,{isMatch:a,score:l,indices:c}=o.searchIn(s);a&&i.push({score:l,key:t,value:s,norm:r,indices:c});}return i}}hs.version="7.1.0";hs.createIndex=Oy;hs.parseIndex=T4;hs.config=Le;hs.parseQuery=Uy;K4(W4);const eR={class:"ce-goto-input-wrap"},tR=["disabled"],nR=["disabled"],oR={class:"ce-goto-sug"},iR=["onMousedown","sid"],sR={class:"ce-goto-sug-index"},rR={class:"ce-goto-sug-prefix"},aR={class:"ce-goto-sug-name"},lR=xe({__name:"GotoPath",setup(e){const t=K(false),n=K(false),o=K(null),i=K(null),s=K(""),r=K([]),a=K(false),l=Ke(()=>s.value.trim().length>0);let c="";qt(async()=>{t.value=true,i.value?.focus(),window.addEventListener("message",async O=>{if(O.data.event===ot.listRendered){const le=await zt(false);le!==c&&(r.value=[],await N(false)),c=le;}});});async function u(O){if(console.log("[handleKeydown]",O.key),Yp(O),O.key==="Enter"){I.value>-1?pe():await ne(s.value);return}if(O.key==="Escape"){await B();return}["ArrowUp","ArrowDown"].includes(O.key)?M(O):f(O);}const f=lt(async O=>{p();},200);async function p(){try{r.value=[],await N(!1);const O={keyword:"",parentId:await zt(!1),parentPath:gu(),isSubOfCurrent:!0};console.log("[getSug] searchData:",O);const W=await P(O,!1);if(console.log("[searchData] items:",W),!W.length){Y({icon:"warning",text:"没有匹配的建议",timer:1500,position:"top-right"});return}const le=await w(W,O);console.log("[searchData] sugs:",le),r.value=le,I.value=-1,await N(le.length>0);}catch(O){console.warn(O),await N(false),Y({icon:"error",text:O.toString(),timer:2e3,position:"top-right"});}}async function w(O,W){const le=[];for(let Se=0;Se<O.length;Se++){const Ne=O[Se];le.push({id:Ne.id,prefix:W.parentPath==="/"?"":W.parentPath,name:Ne.name,active:false});}const ve=s.value.trim();if(!ve)return le;const ke=/^(\.\/)?[^\/]+/.test(ve),_e=hu(ve,"../");if(console.log("[toSug] isSubOfCurrent:",ke,"kwParentPath:",_e),ke||_e===W.parentPath){const Se=new hs(le,{keys:["name"],threshold:.6,includeScore:true});let Ne=ve;if(_e===W.parentPath){const L=ve.split(/[\\/]/).filter(Boolean);Ne=L[L.length-1];}const dt=Se.search(Ne);console.log("[toSug] fuse res:",dt);let we=false;return dt.forEach(L=>{L.score===void 0?(console.warn("[toSug] r.score is undefined:",L),we=true,L.score=0):L.score!==void 0&&isNaN(L.score)&&(console.warn("[toSug] r.score is NaN:",L),we=true,L.score=0);}),we&&dt.sort((L,he)=>L.score-he.score),dt.map(L=>L.item)}return le}const g=new Map,b=new Map;async function v(O){return g.get(O)||false}async function k(O,W){g.set(O,W);}async function P(O,W){const le=b.get(O.parentPath);if(le)return console.log(`[getSubDirs] path "${O.parentPath}" is cached`),le.items;if(await v(O.parentPath))return console.warn(`[getSubDirs] path "${O.parentPath}" is loading`),[];await k(O.parentPath,true);try{const ve=Fn({cid:O.parentId,limit:1150,show_dir:Ro.true}),ke=await ad(ve);if(!ke.count)return [];const _e=[];for(let Se=0;Se<ke.data.length;Se++){const Ne=Ci(ke.data[Se]);Ne.isDir&&_e.push(Ne);}return b.set(O.parentPath,{count:_e.length,dirPath:O.parentPath,dirId:O.parentId,items:_e}),_e}catch(ve){console.warn(ve);}finally{await k(O.parentPath,false);}return []}async function A(O,W){console.log("[handleSugClick]",O,W);const le=ra([O.prefix,O.name]);console.log("[handleSugClick] path:",le),await ne(le);}const I=K(-1);async function M(O){console.log("[navigateSug]",O.key),O.preventDefault(),O.stopPropagation();let W=I.value;if(O.key==="ArrowUp")W--;else if(O.key==="ArrowDown")W++;else if(O.key==="Enter"){const ke=r.value[I.value];ke&&await A(ke,O);return}else return;W<0?W=0:W>=r.value.length&&(W=r.value.length-1),I.value=W,r.value.forEach((ke,_e)=>{ke.active=_e===W;});const le=r.value[W];if(!le)return;o.value?.querySelector(`[sid="${le.id}"]`)?.scrollIntoView();}async function z(){s.value="",i.value?.focus(),await p();}async function N(O){a.value=O,O&&i.value?.focus();}async function se(O){if(C0(O))return "0";const W=gu();return O=za(O,Oo.unix),O=hu(W,O,Oo.unix),await Fi(O,true)}async function pe(){const O=r.value[I.value];if(!O)return;const W=ra([O.prefix,O.name],Oo.unix);console.log("[gotoByCurrentSug] path:",W),await ne(W);}async function ne(O){if(!n.value){O=O.trim(),Y({text:"正在获取路径信息...",timer:0,position:"top-right"}),V.showLoading(),n.value=true;try{const W=await se(O);unsafeWindow.Main.GotoDir(1,W,0,""),Y({icon:"success",text:"获取路径信息成功,现在打开...",timer:1e3,position:"top-right"}),i.value?.focus(),r.value=[],I.value=-1;}catch(W){V.fire({icon:"error",title:"跳转失败",text:W.message});}finally{V.hideLoading(),n.value=false;}}}async function B(){I.value>-1?(r.value.forEach(O=>O.active=false),I.value=-1,await N(false)):(document.querySelector("#ceGotoPathApp")?.style.setProperty("display","none"),document.querySelector(".ce-goto-path-active")?.classList.remove("ce-goto-path-active"),t.value=false);}return (O,W)=>(_(),E("div",{ref_key:"refMain",ref:o,class:Te(["ce-goto-main",{"ce-goto-sug-shown":a.value}])},[d("div",eR,[G(d("input",{ref_key:"refInput",ref:i,"onUpdate:modelValue":W[0]||(W[0]=le=>s.value=le),class:"ce-goto-input",placeholder:"回车确认跳转 | Esc关闭 | 可搜索当前目录的子目录显示下拉列表,上下方向键选择",onKeydown:u},null,544),[[Ve,s.value]]),d("button",{type:"button",class:"ce-goto-input-btn","data-cmd":"clear",onClick:z,title:"清空输入框",disabled:!l.value},"清空",8,tR),d("button",{type:"button",class:"ce-goto-input-btn","data-cmd":"toggle",onClick:W[1]||(W[1]=le=>N(false)),title:"收起建议列表",disabled:!a.value},"收起",8,nR)]),d("div",oR,[(_(true),E($e,null,je(r.value,(le,ve)=>(_(),E("div",{key:ve,class:Te(["ce-goto-sug-item",{active:le.active}]),onMousedown:ht(ke=>A(le,ke),["left","stop","prevent"]),sid:le.id},[d("span",sR,F(ve+1),1),d("span",rR,F(le.prefix),1),W[2]||(W[2]=d("span",{class:"ce-goto-sep"},"/",-1)),d("span",aR,F(le.name),1)],42,iR))),128))])],2))}}),uR=Pe(lR,[["__file","GotoPath.vue"]]);async function cR(e){if(!_n())return;const t=await tt("#js_top_header_file_path_box");e.showGotoButtonOnPathBar&&fR(e,t),e.showCopyButtonOnPathBar&&dR(e,t);}async function dR(e,t){const n="ceCopyPath";let o=t.querySelector(`#${n}`);const i=async()=>{const r=gu();ft(r),Y({icon:"success",text:"路径已复制",timer:1e3,position:"top-right"});};o||(o=await(async()=>{const r=ze(`<button type="button" class="pure-button button-mini ce-path-btn" id="${n}" title="复制路径">
        <span>复制</span>
      </button>`);return r.addEventListener("click",i),r})(),t.prepend(o));}async function fR(e,t){const n=t.querySelector(".top-file-path"),o="ceGotoPath";let i=t.querySelector(`#${o}`);const s=co(uR),r="ceGotoPathApp",a=async()=>{await l();},l=async()=>{if(t.classList.toggle("ce-goto-path-active"),t.classList.contains("ce-goto-path-active"))await c();else {const p=t.querySelector(`#${r}`);p&&(p.style.display="none");}},c=async()=>{let p=t.querySelector(`#${r}`);p||(p=await f(),n.after(p)),p.querySelector(".ce-goto-main")?setTimeout(()=>{document.querySelector(".ce-goto-input")?.focus();},200):s.mount(p),p.style.display="block";},u=async()=>{const p=document.createElement("button");return p.className="pure-button button-mini ce-path-btn text-primary",p.id=o,p.title=`
      【这是一个实验功能】
      跳转到指定路径。使用:
      - 空白、单个斜杠: 根目录
      - 相对路径1: 开头不带斜杠,当前目录下的子路径
      - 相对路径2: 开头带有../,当前目录的上级目录,可以多级
      - 绝对路径: 开头带有斜杠,从根目录开始的路径

      斜杠风格不限,支持模糊搜索当前目录的子目录。
      回车键跳转,Esc键关闭输入框。`,p.innerHTML="<span>跳转</span>",p.addEventListener("click",a),p},f=async()=>ze(`<div id="${r}" style="width: 50%"/>`);i||(i=await u(),t.prepend(i));}async function pR(){if(!hR())return;const e=await cs();if($("body").addClass("ce-selector-page"),!e.showInfoOnQuickView)return;const t=await tt("#js_file_list_ul");await Wp(e),new MutationObserver(async([o])=>{o.type==="childList"&&await Wp(e);}).observe(t,{childList:true});}function hR(e=location.href){return e.includes("ac=userfile")&&e.includes("ajax=1")}async function Wp(e){const t=gR();for(let n=0;n<t.length;n++){const o=t.eq(n),i=dn(o);i.isDir||await wR(e,o,i);}}function mR(){return $("#js_file_list_ul")}function gR(e){return mR().find("li:not(.ce-decorated)")}async function wR(e,t,n){const o=$('<div class="ce-file-inj-container"></div>');t.append(o),await yR(e,t,o,n),await bR(e,t,o,n),t.addClass("ce-decorated");}async function yR(e,t,n,o){if(!e.showSha1||!o.hash)return;t.addClass("ce-show-sha1"),t.find(".file-name");const i="文件SHA1,点击复制"+(e.clickSha1WithCtrlToFindRepeat?" (Ctrl+点击 查找重复文件)":""),s=ze(`
    <span class="ce-file-sha1 ce-inj" title="${i}">${o.hash}</span>
  `),r=()=>{ft(o.hash),Y({title:"复制SHA1",text:"已复制文件SHA1",icon:"success",timer:1500});};s.addEventListener("click",async a=>{a.preventDefault(),a.stopPropagation(),e.clickSha1WithCtrlToFindRepeat&&(a.metaKey||a.ctrlKey)?ud(o):r();}),n.append(s);}async function bR(e,t,n,o){const i=ze(`
    <span class="ce-file-size ce-inj">${o.sizeDesc}</span>
  `);n.append(i);}async function vR(){const e=await cs(),{host:t}=location;/115\.com$/.test(t)&&(console.log("[List] running...",e),(_n()||io())&&AS(),pR(),cR(e),mS(e),setTimeout(async()=>{nS().then(()=>{yS(e),bS(e),vS(e);}).catch(n=>{console.error("awaitDataAPI error:",n);});},2e3),oS(e),rS(e),aS(e),lS(),uS(e),dS(e),xS(e),pS());}const xR='@charset "UTF-8";.ce-search-page .top-file-path .file-path{float:left}.ce-search-page .dir-tab.ce-btn-select{background:#fffcea;color:#2877f8;display:inline-block;height:32px;line-height:24px;font-size:12px;padding:4px 8px;box-sizing:border-box;border:1px solid #2877f8;border-radius:4px}.ce-search-page .dir-tab.ce-btn-select:hover{background:#ff0}.ce-search-page .list-header .header-size,.ce-search-page .list-header .header-typename,.ce-search-page .list-header .header-modified,.ce-search-page .list-header .header-directory{display:flex!important}.ce-search-page .list-header .header-typename .btn-sort{display:inline-flex!important;pointer-events:none}.ce-search-page .list-header .header-typename .btn-sort i{display:none!important}.ce-search-page .list-header .header-modified{pointer-events:none}.ce-search-page .list-header .header-modified [rel=time_title]{display:inline-flex!important}.ce-search-page .list-header .header-modified i.icon-operate,.ce-search-page .list-header .header-modified i[menu=sort_file]{display:none!important}';Pt(xR);async function _R(e){const t=await tt(".top-file-path");CR(e,t),kR(e,t);}async function CR(e,t){if(!e.showSelectTargetButtonOnPathBar)return;const n="ce-btn-select";let o=t.querySelector(`.${n}`);const i=async()=>{unsafeWindow.parent.Core.FileSelectDG.Open((r,a)=>{console.log("[Core.FileSelectDG.Open]",r,a);const l=r[r.length-1],c=ze(`
          <a href="javascript:;" class="dir-tab" search_btn_file="${l.cid}" style="display: none;">
          ${l.cname}
          </a>
        `);t.querySelector(".file-path").append(c),c.click();},{select:1,nf:1,show_record:0,show_copy:1,btn_txt:"在该目录下搜索",select_txt:"搜索"});};o||(o=await(async()=>{const r=ze(`
      <a href="javascript:;" class="dir-tab ${n}" title="选择指定目录进行搜索">选择目录</a>
    `);return r.addEventListener("click",i),r})(),t.append(o));}async function kR(e,t){if(!e.showSelectAllDir)return;const n="ce-btn-select-dir";let o=t.querySelector(`.${n}`);const i=async r=>{r.preventDefault(),r.stopPropagation();const a=[],l=document.querySelectorAll('li[rel="item"][file_type="0"]');for(let c=0;c<l.length;c++)a.push($(l[c]));unsafeWindow.Main.List.RecheckFiles(a);};o||(o=await(async()=>{const a=ze(`
      <button type="button" class="pure-button button-success button-small ${n}" title="仅会选中已加载的文件夹">选中全部文件夹</label>
    `);return a.setAttribute("style","margin-left: 10px;"),a.addEventListener("click",i),a})(),t.append(o));}async function SR(e){let t=e.resultWidth.trim();if(t===""||window!==window.parent||new URL(window.location.href).searchParams.get("mode")!=="search")return;t=/^\d+$/.test(t)?`${t}px`:t;const o=await tt("div.wrap-view");o&&(o.style.width=`${t}`);}async function $R(e){document.body.classList.add("ce-search-page"),parent.document.body.classList.add("ce-search-page");}async function ER(){const e=await $y();SR(e),io()&&(console.log("[Search] running...",e),$R(),_R(e));}const AR="";Pt(AR);async function PR(){console.log("[Tools] running...");}const IR="";Pt(IR);async function DR(e){const t=async o=>{const i=ze(`<li pickcode="${o.pickCode}" style="padding:0px;"></li>`),s=ze(`
      <a style="height:auto;text-decoration:none;padding:5px 0 5px 5px;">
        <span style="word-break:break-all">${o.name}</span>
      </a>
    `);return s.href="/?hls=1&pickcode="+o.pickCode,s.setAttribute("title",o.name),i.appendChild(s),i};let n="";window.addEventListener("message",async o=>{if(o.data.event==="play"){const i=await tt("ul#js-video_list"),s=o.data.body.id;if(n&&n===s)if(i.childElementCount){console.log(`[playSelected] same id: ${s} 但是播放列表已经渲染过了,忽略`);return}else console.warn(`[playSelected] same id: ${s} 但是播放列表为空,将会进行渲染`);n=s;const r=o.data.body.files;console.log(`[playSelected] id: ${s}, files: `,r);const a=await Promise.all(r.map(t));i?.append(...a);const l=document.querySelector(".video-playlist .vpl-container");l&&(l.style.display="block"),i?.querySelector("a")?.click();const u=document.querySelector("#js-video_container");u&&u.classList.remove("video-container-nolist");}});}async function TR(e){if(!e.defaultWebFull)return;const t=await tt('[rel="web_fullscreen"]');t.querySelector('[rel="tooltips"]').innerText==="网页全屏"&&t.click();}async function LR(e){if(!e.defaultOpenPlayList)return;const t=await tt("a#js_pl_control_expand");t.querySelector('[rel="tooltips"]').innerText==="展开播放列表"&&t.click();}async function MR(e){if(!e.defaultDefinition)return;const t=im[e.defaultDefinition],n=unsafeWindow.__HLS,o=n.setCurrentLevel;(async()=>{const s=await tt('div[rel="level_menu"]'),r=await uc('a[btn="level"]',100,12e4,s);for(let a=0;a<r.length;a++){const l=r[a],c=l.classList.contains("current");if(l.textContent?.trim()===t&&!c){console.log("[setDefinition _first] 找到目标清晰度元素:",l),l.click();break}}})(),n.setCurrentLevel=s=>{const r=n.hls();if(!r||!r.levels){o(s);return}const a=[];r.levels.forEach(c=>{a.push({name:c.name,bitrate:c.bitrate});}),a.sort((c,u)=>c.bitrate-u.bitrate);let l=s;for(let c=0;c<a.length;c++)if(a[c].name===e.defaultDefinition){l=c;break}l!==s&&console.warn(`[level changed] ${s} -> ${l}`),o(l);};}async function BR(){const{host:e}=location;if(!Bc(e))return;console.log("[anxia] run");const t=await sm();TR(t),LR(t),DR(),MR(t);}const OR='@charset "UTF-8";.ce-share-page.ce-share-fresh .sharing-banner,.ce-share-page.ce-share-fresh .promptbar-caution{display:none!important}.ce-share-page .sharing-banner{max-width:1000px;margin:0 auto}.ce-share-page .ce-list-summary{background:#fefcea;color:#a37958;border-radius:4px;padding:0 6px;margin-left:10px}';Pt(OR);async function RR(){const e=await Iy();wu()&&(console.log("[Share] running...",e),_w(e),m$(e),g$(e),kw(e),y$());}location.host==="115.com"&&(Number.isInteger||(Number.isInteger=e=>typeof e=="number"&&isFinite(e)&&Math.floor(e)===e),Number.parseFloat||(Number.parseFloat=e=>{const t=Number(e);return isNaN(t)?0:t}),Number.parseInt||(Number.parseInt=(e,t=10)=>{const n=parseInt(e,t);return isNaN(n)?0:n}),Number.isFinite||(Number.isFinite=e=>typeof e=="number"&&isFinite(e)),window.COMMONHEADERUSERINFO=window.COMMONHEADERUSERINFO||{});(async()=>{console.log("Cloud115 Enhancer launched!");const e=await _l(),t=Zu(e.limiterDuration,1,3e3,1),n=Zu(e.limiterPoints,1,300,1),o=t*500/n,i=by({rateLimit:{...yy,duration:t,points:n,execEvenly:true,execEvenlyMinDelayMs:o}}),s=OT(i);D0(s),C$(),RE(),ND(),GT(),vR(),ER(),PR(),BR(),RR(),f4();})();

})();