Greasy Fork

Greasy Fork is available in English.

MikuMiku-share - 链接转为二维码

把鼠标可以点击的链接转为二维码。

当前为 2025-12-02 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         MikuMiku-share - 链接转为二维码
// @namespace    https://github.com/MakotoArai-CN/mikumiku-share
// @version      1.3.0
// @author       MakotoArai
// @description  把鼠标可以点击的链接转为二维码。
// @license      AGPL-3.0
// @icon         https://img.icons8.com/plasticine/100/qr-code.png
// @match        *://*/*
// @connect      *
// @grant        GM_addStyle
// @grant        GM_getValue
// @grant        GM_openInTab
// @grant        GM_registerMenuCommand
// @grant        GM_setValue
// @grant        GM_xmlhttpRequest
// ==/UserScript==

(function () {
	'use strict';

	class e{shadowRoot;constructor(e){this.shadowRoot=e;}injectStyles(){const e=document.createElement("style");e.textContent=this.getStyles(),this.shadowRoot.appendChild(e);}getStyles(){return "\n        :host { all: initial; }\n        \n        /* --- 通用动画 --- */\n        @keyframes sonar-wave {\n            0% { transform: scale(0.5); opacity: 0.5; }\n            100% { transform: scale(3); opacity: 0; }\n        }\n        \n        /* --- QR码面板样式 --- */\n        .mms-qrcode-pannel {position: fixed; z-index: 99999999; background-color: #ffffff; border-radius: 12px;box-shadow: 0 10px 30px rgba(0,0,0,0.15);display: flex;flex-direction: column; align-items: center; gap: 12px; opacity: 0;transform: scale(0.95); transition: opacity 0.2s ease-out, transform 0.2s ease-out;pointer-events: none; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;user-select: none;\n        }\n        .mms-qrcode-pannel.visible { opacity: 1; transform: scale(1); pointer-events: all; }\n        .mms-qrcode-pannel:active { cursor: grab; }\n        .mms-qrcode-canvas {border-radius: 8px;overflow: hidden;cursor: pointer;transition: transform 0.2s ease;}\n        .mms-qrcode-canvas:hover { transform: scale(1.02); }\n        .mms-qrcode-pannel footer { display: flex; gap: 8px; width: 100%; }\n        .mms-qrcode-pannel button {flex: 1; padding: 8px 12px; border: 1px solid #e0e0e0; background-color: #f5f5f5;color: #333; border-radius: 6px; font-size: 12px; cursor: pointer;transition: background-color 0.2s, border-color 0.2s; display: flex; align-items: center; justify-content: center; gap: 4px;}\n        .mms-qrcode-pannel button:hover { background-color: #e9e9e9; border-color: #d0d0d0; }\n\n        /* --- 设置面板样式 --- */\n        .mms-settings-overlay {position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;background-color: rgba(0,0,0,0.4); z-index: 99999998; opacity: 0;transition: opacity 0.3s ease; pointer-events: none; display: flex; align-items: center; justify-content: center;}\n        .mms-settings-overlay.visible { opacity: 1; pointer-events: all; }\n        .mms-settings-panel {\n            width: 90%; max-width: 500px; background: #fff; border-radius: 16px;\n            box-shadow: 0 15px 40px rgba(0,0,0,0.2); transform: scale(0.95);\n            transition: transform 0.3s ease, opacity 0.3s ease; opacity: 0; display: flex;\n            flex-direction: column; max-height: 80vh; overflow: hidden;\n            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; color: #333;\n        }\n        .mms-settings-overlay.visible .mms-settings-panel { transform: scale(1); opacity: 1; }\n        .mms-settings-panel h2 {\n            margin: 0; padding: 20px; font-size: 18px; font-weight: 600; border-bottom: 1px solid #eee;\n        }\n        .mms-settings-panel .content { padding: 20px; overflow-y: auto; flex: 1; }\n        .mms-settings-panel .form-group { margin-bottom: 20px; display: flex; flex-direction: column; }\n        .mms-settings-panel label, .mms-settings-panel .switch-label {\n            display: block; font-weight: 500; margin-bottom: 8px; font-size: 14px;\n        }\n        .mms-settings-panel input[type=\"text\"], \n        .mms-settings-panel input[type=\"number\"], \n        .mms-settings-panel textarea, \n        .mms-settings-panel select {\n            width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 6px;\n            box-sizing: border-box; font-size: 14px; background-color: #fff;\n        }\n        .mms-settings-panel textarea { min-height: 80px; resize: vertical; }\n        .mms-settings-panel .switch {\n            display: flex; align-items: center; justify-content: space-between; margin-bottom: 0;\n        }\n        .mms-settings-panel .switch-label { margin-bottom: 0; }\n        .mms-settings-panel .switch-control { cursor: pointer; }\n        .mms-settings-panel .switch input { display: none; }\n        .mms-settings-panel .switch .slider {\n            display: inline-block; width: 40px; height: 22px; background: #ccc; border-radius: 11px;\n            position: relative; transition: background 0.2s ease; vertical-align: middle;\n        }\n        .mms-settings-panel .switch .slider::before {\n            content: ''; position: absolute; width: 18px; height: 18px; background: #fff;\n            border-radius: 50%; top: 2px; left: 2px; transition: transform 0.2s ease;\n            box-shadow: 0 1px 3px rgba(0,0,0,0.2);\n        }\n        .mms-settings-panel .switch input:checked + .slider { background: #4CAF50; }\n        .mms-settings-panel .switch input:checked + .slider::before { transform: translateX(18px); }\n        .mms-settings-panel .footer {\n            padding: 15px 20px; border-top: 1px solid #eee; text-align: right; background-color: #f9f9f9;\n        }\n        .mms-settings-panel .action-button, .mms-settings-panel button.save {\n            padding: 10px 20px; border: none; background-color: #007bff; color: white;\n            border-radius: 6px; cursor: pointer; font-size: 14px; font-weight: 500;\n            transition: background-color 0.2s ease, transform 0.1s ease;\n        }\n        .mms-settings-panel .action-button:hover, .mms-settings-panel button.save:hover { background-color: #0056b3; }\n        .mms-settings-panel .action-button:active, .mms-settings-panel button.save:active { transform: scale(0.98); }\n\n        /* --- 局域网设备面板样式 --- */\n        .mms-lan-panel .header {\n            display: flex; justify-content: space-between; align-items: center; padding: 0 20px;\n            height: 65px; border-bottom: 1px solid #eee; flex-shrink: 0;\n        }\n        .mms-lan-panel h2 { border-bottom: none; padding: 0; }\n        .mms-lan-panel .status { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #666; }\n        .mms-lan-panel .status .dot {\n            width: 10px; height: 10px; border-radius: 50%; background-color: #ccc;\n            transition: background-color 0.3s ease;\n        }\n        .mms-lan-panel .status .dot.connecting { background-color: #f39c12; }\n        .mms-lan-panel .status .dot.connected { background-color: #2ecc71; }\n        .mms-lan-panel .status .dot.disconnected { background-color: #e74c3c; }\n        .mms-lan-panel .content { padding: 0; }\n        \n        .mms-lan-scanner {\n            position: relative; height: 200px; background: radial-gradient(circle, #f5faff 0%, #e6f2ff 100%);\n            display: flex; align-items: center; justify-content: center; overflow: hidden; border-bottom: 1px solid #eee;\n        }\n        .mms-lan-scanner .mms-scan-wave {\n            position: absolute; width: 100px; height: 100px; border-radius: 50%;\n            border: 2px solid rgba(0, 123, 255, 0.5); background: transparent;\n            opacity: 0; pointer-events: none;\n        }\n        .mms-lan-scanner.active .mms-scan-wave { animation: sonar-wave 2s infinite ease-out; }\n        .mms-lan-scanner.active .mms-scan-wave:nth-child(2) { animation-delay: 0.5s; }\n        .mms-lan-scanner.active .mms-scan-wave:nth-child(3) { animation-delay: 1s; }\n\n        .mms-device-icon {\n            z-index: 1; text-align: center; color: #007bff;\n        }\n        .mms-device-icon svg { width: 48px; height: 48px; fill: currentColor; }\n        .mms-device-icon span { display: block; font-size: 12px; font-weight: 500; margin-top: 4px; }\n        \n        .mms-device-list-container { padding: 15px 20px; }\n        .mms-device-list-container h3 { margin: 0 0 10px; font-size: 14px; color: #333; }\n        .mms-device-list { list-style: none; padding: 0; margin: 0; }\n        .mms-device-list .no-devices { color: #888; text-align: center; padding: 20px; font-size: 14px; }\n        .mms-device-list .device-item {\n            display: flex; align-items: center; padding: 12px 0; border-bottom: 1px solid #f0f0f0;\n            gap: 12px; transition: background-color 0.2s;\n        }\n        .mms-device-list .device-item:last-child { border-bottom: none; }\n        .mms-device-list .device-status-dot {\n            width: 8px; height: 8px; border-radius: 50%; background-color: #ccc; flex-shrink: 0;\n        }\n        .device-item[data-state=\"connecting\"] .device-status-dot { background-color: #f39c12; }\n        .device-item[data-state=\"connected\"] .device-status-dot { background-color: #2ecc71; }\n        .device-item[data-state=\"failed\"] .device-status-dot { background-color: #e74c3c; }\n        \n        .mms-device-list .device-id { flex-grow: 1; font-size: 14px; font-family: monospace; }\n        .mms-device-list .device-state { font-size: 12px; color: #666; }\n        /* --- Toast 提示样式 --- */\n        .mms-toast-container{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:999999999;pointer-events:none;display:flex;flex-direction:column;gap:10px;align-items:center}\n        .mms-toast{background:#fff;border-radius:8px;padding:12px 20px;box-shadow:0 4px 12px rgba(0,0,0,0.15);display:flex;align-items:center;gap:10px;min-width:200px;max-width:400px;opacity:0;transform:translateY(-20px);transition:all .3s ease;pointer-events:all;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-size:14px;line-height:1.5}\n        .mms-toast.visible{opacity:1;transform:translateY(0)}\n        .mms-toast-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}\n        .mms-toast-icon svg{width:100%;height:100%;fill:currentColor}\n        .mms-toast-success{background:#f0f9ff;border:1px solid #bae6fd;color:#0369a1}\n        .mms-toast-success .mms-toast-icon{color:#10b981}\n        .mms-toast-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}\n        .mms-toast-error .mms-toast-icon{color:#ef4444}\n        .mms-toast-info{background:#f0f9ff;border:1px solid #bfdbfe;color:#1e40af}\n        .mms-toast-info .mms-toast-icon{color:#3b82f6}\n        .mms-toast-message{flex:1;word-break:break-word}\n        "}}class o{static prefix="[Miku Share]";static log(...e){}static error(...e){}static warn(...e){}}const t={enabled:true,showOnHover:true,hoverDelay:300,qrCodePosition:"mouse",fixedPosition:"top-right",fixedOffset:{x:20,y:20},qrCodeSize:160,enableLAN:false,autoResolveRedirect:true,blacklist:["example.com"],whitelist:[],deviceId:"mms-"+Math.random().toString(36).substring(2,10),qrCodeAutoHide:true,qrCodeHideDelay:0,qrCodeHideTrigger:"onLinkLeave",enableDragging:true,qrCodeStyle:{mode:"auto",background:"#ffffff",foreground:"#000000",backgroundAlpha:1,foregroundAlpha:1},enableQRRecognition:false,qrRecognitionAction:"copyWithToast",qrRecognitionDelay:3e3,enableCopyPurify:true,copyPurifyDomains:["www.zhihu.com","blog.csdn.net","www.bilibili.com","www.cnblogs.com","www.360doc.com","blog.51cto.com","www.kuwo.cn","read.qidian.com"],enableSelectionUnlock:true};class s{config;listeners=[];constructor(e){this.config={...e};}async init(){const e=await this.load();this.config={...t,...e};}get(){return this.config}async set(e){this.config={...this.config,...e},await this.save(),this.notify();}async reset(){this.config=t,await this.save(),this.notify();}async load(){try{const e=await GM_getValue("miku-share-config","{}");return JSON.parse(e)}catch(e){return o.error("Failed to load config",e),{}}}async save(){try{await GM_setValue("miku-share-config",JSON.stringify(this.config));}catch(e){o.error("Failed to save config",e);}}subscribe(e){this.listeners.push(e);}notify(){this.listeners.forEach(e=>e(this.config));}}function r(e){return e&&e.t&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var n,i={exports:{}};const a=r((n||(n=1,i.exports=function(){var e=function(){},o=Object.prototype.hasOwnProperty,t=Array.prototype.slice;function s(e,s,r){for(var n,i,a=0,c=(r=t.call(arguments,2)).length;a<c;a++)for(n in i=r[a])e&&!o.call(i,n)||(s[n]=i[n]);}function r(){}r.class_="Nevis",r.super_=Object,r.extend=function(o,t,r,n){var i=this;return "string"!=typeof o&&(n=r,r=t,t=o,o=null),"function"!=typeof t&&(n=r,r=t,t=function(){return i.apply(this,arguments)}),s(false,t,i,n),t.prototype=function(o,t){var r;return "function"==typeof Object.create?r=Object.create(o):(e.prototype=o,r=new e,e.prototype=null),t&&s(true,r,t),r}(i.prototype,r),t.prototype.constructor=t,t.class_=o||i.class_,t.super_=i,t};var n=r,i=n.extend(function(e,o,t){this.qrious=e,this.element=o,this.element.qrious=e,this.enabled=Boolean(t);},{draw:function(){},getElement:function(){return this.enabled||(this.enabled=true,this.render()),this.element},getModuleSize:function(e){var o=this.qrious,t=Math.floor((o.size-2*(o.padding||0))/e.width);return Math.max(1,t)},getOffset:function(e){var o=this.qrious,t=o.padding;if(null!=t)return t;var s=this.getModuleSize(e),r=Math.floor((o.size-s*e.width)/2);return Math.max(0,r)},render:function(e){this.enabled&&(this.resize(),this.reset(),this.draw(e));},reset:function(){},resize:function(){}}),a=i.extend({draw:function(e){var o,t,s=this.qrious,r=this.getModuleSize(e),n=this.getOffset(e),i=this.element.getContext("2d");for(i.fillStyle=s.foreground,i.globalAlpha=s.foregroundAlpha,o=0;o<e.width;o++)for(t=0;t<e.width;t++)e.buffer[t*e.width+o]&&i.fillRect(r*o+n,r*t+n,r,r);},reset:function(){var e=this.qrious,o=this.element.getContext("2d"),t=e.size;o.lineWidth=1,o.clearRect(0,0,t,t),o.fillStyle=e.background,o.globalAlpha=e.backgroundAlpha,o.fillRect(0,0,t,t);},resize:function(){var e=this.element;e.width=e.height=this.qrious.size;}}),c=n.extend(null,{BLOCK:[0,11,15,19,23,27,31,16,18,20,22,24,26,28,20,22,24,24,26,28,28,22,24,24,26,26,28,28,24,24,26,26,26,28,28,24,26,26,26,28,28]}),l=n.extend(null,{BLOCKS:[1,0,19,7,1,0,16,10,1,0,13,13,1,0,9,17,1,0,34,10,1,0,28,16,1,0,22,22,1,0,16,28,1,0,55,15,1,0,44,26,2,0,17,18,2,0,13,22,1,0,80,20,2,0,32,18,2,0,24,26,4,0,9,16,1,0,108,26,2,0,43,24,2,2,15,18,2,2,11,22,2,0,68,18,4,0,27,16,4,0,19,24,4,0,15,28,2,0,78,20,4,0,31,18,2,4,14,18,4,1,13,26,2,0,97,24,2,2,38,22,4,2,18,22,4,2,14,26,2,0,116,30,3,2,36,22,4,4,16,20,4,4,12,24,2,2,68,18,4,1,43,26,6,2,19,24,6,2,15,28,4,0,81,20,1,4,50,30,4,4,22,28,3,8,12,24,2,2,92,24,6,2,36,22,4,6,20,26,7,4,14,28,4,0,107,26,8,1,37,22,8,4,20,24,12,4,11,22,3,1,115,30,4,5,40,24,11,5,16,20,11,5,12,24,5,1,87,22,5,5,41,24,5,7,24,30,11,7,12,24,5,1,98,24,7,3,45,28,15,2,19,24,3,13,15,30,1,5,107,28,10,1,46,28,1,15,22,28,2,17,14,28,5,1,120,30,9,4,43,26,17,1,22,28,2,19,14,28,3,4,113,28,3,11,44,26,17,4,21,26,9,16,13,26,3,5,107,28,3,13,41,26,15,5,24,30,15,10,15,28,4,4,116,28,17,0,42,26,17,6,22,28,19,6,16,30,2,7,111,28,17,0,46,28,7,16,24,30,34,0,13,24,4,5,121,30,4,14,47,28,11,14,24,30,16,14,15,30,6,4,117,30,6,14,45,28,11,16,24,30,30,2,16,30,8,4,106,26,8,13,47,28,7,22,24,30,22,13,15,30,10,2,114,28,19,4,46,28,28,6,22,28,33,4,16,30,8,4,122,30,22,3,45,28,8,26,23,30,12,28,15,30,3,10,117,30,3,23,45,28,4,31,24,30,11,31,15,30,7,7,116,30,21,7,45,28,1,37,23,30,19,26,15,30,5,10,115,30,19,10,47,28,15,25,24,30,23,25,15,30,13,3,115,30,2,29,46,28,42,1,24,30,23,28,15,30,17,0,115,30,10,23,46,28,10,35,24,30,19,35,15,30,17,1,115,30,14,21,46,28,29,19,24,30,11,46,15,30,13,6,115,30,14,23,46,28,44,7,24,30,59,1,16,30,12,7,121,30,12,26,47,28,39,14,24,30,22,41,15,30,6,14,121,30,6,34,47,28,46,10,24,30,2,64,15,30,17,4,122,30,29,14,46,28,49,10,24,30,24,46,15,30,4,18,122,30,13,32,46,28,48,14,24,30,42,32,15,30,20,4,117,30,40,7,47,28,43,22,24,30,10,67,15,30,19,6,118,30,18,31,47,28,34,34,24,30,20,61,15,30],FINAL_FORMAT:[30660,29427,32170,30877,26159,25368,27713,26998,21522,20773,24188,23371,17913,16590,20375,19104,13663,12392,16177,14854,9396,8579,11994,11245,5769,5054,7399,6608,1890,597,3340,2107],LEVELS:{L:1,M:2,Q:3,H:4}}),d=n.extend(null,{EXPONENT:[1,2,4,8,16,32,64,128,29,58,116,232,205,135,19,38,76,152,45,90,180,117,234,201,143,3,6,12,24,48,96,192,157,39,78,156,37,74,148,53,106,212,181,119,238,193,159,35,70,140,5,10,20,40,80,160,93,186,105,210,185,111,222,161,95,190,97,194,153,47,94,188,101,202,137,15,30,60,120,240,253,231,211,187,107,214,177,127,254,225,223,163,91,182,113,226,217,175,67,134,17,34,68,136,13,26,52,104,208,189,103,206,129,31,62,124,248,237,199,147,59,118,236,197,151,51,102,204,133,23,46,92,184,109,218,169,79,158,33,66,132,21,42,84,168,77,154,41,82,164,85,170,73,146,57,114,228,213,183,115,230,209,191,99,198,145,63,126,252,229,215,179,123,246,241,255,227,219,171,75,150,49,98,196,149,55,110,220,165,87,174,65,130,25,50,100,200,141,7,14,28,56,112,224,221,167,83,166,81,162,89,178,121,242,249,239,195,155,43,86,172,69,138,9,18,36,72,144,61,122,244,245,247,243,251,235,203,139,11,22,44,88,176,125,250,233,207,131,27,54,108,216,173,71,142,0],LOG:[255,0,1,25,2,50,26,198,3,223,51,238,27,104,199,75,4,100,224,14,52,141,239,129,28,193,105,248,200,8,76,113,5,138,101,47,225,36,15,33,53,147,142,218,240,18,130,69,29,181,194,125,106,39,249,185,201,154,9,120,77,228,114,166,6,191,139,98,102,221,48,253,226,152,37,179,16,145,34,136,54,208,148,206,143,150,219,189,241,210,19,92,131,56,70,64,30,66,182,163,195,72,126,110,107,58,40,84,250,133,186,61,202,94,155,159,10,21,121,43,78,212,229,172,115,243,167,87,7,112,192,247,140,128,99,13,103,74,222,237,49,197,254,24,227,165,153,119,38,184,180,124,17,68,146,217,35,32,137,46,55,63,209,91,149,188,207,205,144,135,151,178,220,252,190,97,242,86,211,171,20,42,93,158,132,60,57,83,71,109,65,162,31,45,67,216,183,123,164,118,196,23,73,236,127,12,111,246,108,161,59,82,41,157,85,170,251,96,134,177,187,204,62,90,203,89,95,176,156,169,160,81,11,245,22,235,122,117,44,215,79,174,213,233,230,231,173,232,116,214,244,234,168,80,88,175]}),u=n.extend(null,{BLOCK:[3220,1468,2713,1235,3062,1890,2119,1549,2344,2936,1117,2583,1330,2470,1667,2249,2028,3780,481,4011,142,3098,831,3445,592,2517,1776,2234,1951,2827,1070,2660,1345,3177]}),h=n.extend(function(e){var o,t,s,r,n,i=e.value.length;for(this.u=[],this.h=l.LEVELS[e.level],this.k=[],this.B=e.value,this.v=0,this.C=[];this.v<40&&(this.v++,s=4*(this.h-1)+16*(this.v-1),r=l.BLOCKS[s++],n=l.BLOCKS[s++],o=l.BLOCKS[s++],t=l.BLOCKS[s],!(i<=(s=o*(r+n)+n-3+(this.v<=9)))););this.P=o,this._=t,this.$=r,this.q=n;var a=this.width=17+4*this.v;this.buffer=h.I(a*a),this.N=h.I(o+(o+t)*(r+n)+n),this.A=h.I((a*(a+1)+1)/2),this.R(),this.S(),this.buffer[8+a*(a-8)]=1,this.O(),this.T(),this.U(),this.j(),this.D(),this.F(i),this.G(),this.W(),this.X(),this.V(),this.J();},{K:function(e,o){var t,s=this.buffer,r=this.width;for(s[e+r*o]=1,t=-2;t<2;t++)s[e+t+r*(o-2)]=1,s[e-2+r*(o+t+1)]=1,s[e+2+r*(o+t)]=1,s[e+t+1+r*(o+2)]=1;for(t=0;t<2;t++)this.Y(e-1,o+t),this.Y(e+1,o-t),this.Y(e-t,o-1),this.Y(e+t,o+1);},Z:function(e,o,t,s){var r,n,i,a=this.k,c=this.C;for(n=0;n<s;n++)c[t+n]=0;for(n=0;n<o;n++){if(255!==(r=d.LOG[c[e+n]^c[t]]))for(i=1;i<s;i++)c[t+i-1]=c[t+i]^d.EXPONENT[h.ee(r+a[s-i])];else for(i=t;i<t+s;i++)c[i]=c[i+1];c[t+s-1]=255===r?0:d.EXPONENT[h.ee(r+a[0])];}},W:function(){var e,o=0,t=this.P,s=this.oe(),r=this._;for(e=0;e<this.$;e++)this.Z(o,t,s,r),o+=t,s+=r;for(e=0;e<this.q;e++)this.Z(o,t+1,s,r),o+=t+1,s+=r;},te:function(e){var o,t,s,r,n=this.buffer,i=this.width;switch(e){case 0:for(r=0;r<i;r++)for(s=0;s<i;s++)s+r&1||this.se(s,r)||(n[s+r*i]^=1);break;case 1:for(r=0;r<i;r++)for(s=0;s<i;s++)1&r||this.se(s,r)||(n[s+r*i]^=1);break;case 2:for(r=0;r<i;r++)for(o=0,s=0;s<i;s++,o++)3===o&&(o=0),o||this.se(s,r)||(n[s+r*i]^=1);break;case 3:for(t=0,r=0;r<i;r++,t++)for(3===t&&(t=0),o=t,s=0;s<i;s++,o++)3===o&&(o=0),o||this.se(s,r)||(n[s+r*i]^=1);break;case 4:for(r=0;r<i;r++)for(o=0,t=r>>1&1,s=0;s<i;s++,o++)3===o&&(o=0,t=!t),t||this.se(s,r)||(n[s+r*i]^=1);break;case 5:for(t=0,r=0;r<i;r++,t++)for(3===t&&(t=0),o=0,s=0;s<i;s++,o++)3===o&&(o=0),(s&r&1)+!(!o|!t)||this.se(s,r)||(n[s+r*i]^=1);break;case 6:for(t=0,r=0;r<i;r++,t++)for(3===t&&(t=0),o=0,s=0;s<i;s++,o++)3===o&&(o=0),(s&r&1)+(o&&o===t)&1||this.se(s,r)||(n[s+r*i]^=1);break;case 7:for(t=0,r=0;r<i;r++,t++)for(3===t&&(t=0),o=0,s=0;s<i;s++,o++)3===o&&(o=0),(o&&o===t)+(s+r&1)&1||this.se(s,r)||(n[s+r*i]^=1);}},oe:function(){return this.P*(this.$+this.q)+this.q},G:function(){var e,o,t=this._,s=this.k;for(s[0]=1,e=0;e<t;e++){for(s[e+1]=1,o=e;o>0;o--)s[o]=s[o]?s[o-1]^d.EXPONENT[h.ee(d.LOG[s[o]]+e)]:s[o-1];s[0]=d.EXPONENT[h.ee(d.LOG[s[0]]+e)];}for(e=0;e<=t;e++)s[e]=d.LOG[s[e]];},re:function(){var e,o,t,s,r,n=0,i=this.u,a=this.buffer,c=this.width;for(r=0;r<c-1;r++)for(s=0;s<c-1;s++)(a[s+c*r]&&a[s+1+c*r]&&a[s+c*(r+1)]&&a[s+1+c*(r+1)]||!(a[s+c*r]||a[s+1+c*r]||a[s+c*(r+1)]||a[s+1+c*(r+1)]))&&(n+=h.N2);var l=0;for(r=0;r<c;r++){for(t=0,i[0]=0,e=0,s=0;s<c;s++)e===(o=a[s+c*r])?i[t]++:i[++t]=1,l+=(e=o)?1:-1;n+=this.ne(t);}l<0&&(l=-l);var d=0,u=l;for(u+=u<<2,u<<=1;u>c*c;)u-=c*c,d++;for(n+=d*h.N4,s=0;s<c;s++){for(t=0,i[0]=0,e=0,r=0;r<c;r++)e===(o=a[s+c*r])?i[t]++:i[++t]=1,e=o;n+=this.ne(t);}return n},F:function(e){var o,t,s=this.N,r=this.v;for(t=0;t<e;t++)s[t]=this.B.charCodeAt(t);var n=this.C=s.slice(),i=this.oe();e>=i-2&&(e=i-2,r>9&&e--);var a=e;if(r>9){for(n[a+2]=0,n[a+3]=0;a--;)n[a+3]|=255&(o=n[a])<<4,n[a+2]=o>>4;n[2]|=255&e<<4,n[1]=e>>4,n[0]=64|e>>12;}else {for(n[a+1]=0,n[a+2]=0;a--;)n[a+2]|=255&(o=n[a])<<4,n[a+1]=o>>4;n[1]|=255&e<<4,n[0]=64|e>>4;}for(a=e+3-(r<10);a<i;)n[a++]=236,n[a++]=17;},ne:function(e){var o,t=0,s=this.u;for(o=0;o<=e;o++)s[o]>=5&&(t+=h.N1+s[o]-5);for(o=3;o<e-1;o+=2)s[o-2]===s[o+2]&&s[o+2]===s[o-1]&&s[o-1]===s[o+1]&&3*s[o-1]===s[o]&&(0===s[o-3]||o+3>e||3*s[o-3]>=4*s[o]||3*s[o+3]>=4*s[o])&&(t+=h.N3);return t},J:function(){var e,o;this.C=this.buffer.slice();var t=0,s=3e4;for(o=0;o<8&&(this.te(o),(e=this.re())<s&&(s=e,t=o),7!==t);o++)this.buffer=this.C.slice();t!==o&&this.te(t),s=l.FINAL_FORMAT[t+(this.h-1<<3)];var r=this.buffer,n=this.width;for(o=0;o<8;o++,s>>=1)1&s&&(r[n-1-o+8*n]=1,o<6?r[8+n*o]=1:r[8+n*(o+1)]=1);for(o=0;o<7;o++,s>>=1)1&s&&(r[8+n*(n-7+o)]=1,o?r[6-o+8*n]=1:r[7+8*n]=1);},X:function(){var e,o,t=this.P,s=this.N,r=this._,n=0,i=this.oe(),a=this.$,c=this.q,l=this.C;for(e=0;e<t;e++){for(o=0;o<a;o++)s[n++]=l[e+o*t];for(o=0;o<c;o++)s[n++]=l[a*t+e+o*(t+1)];}for(o=0;o<c;o++)s[n++]=l[a*t+e+o*(t+1)];for(e=0;e<r;e++)for(o=0;o<a+c;o++)s[n++]=l[i+e+o*r];this.C=s;},S:function(){var e,o,t,s=this.v,r=this.width;if(s>1)for(e=c.BLOCK[s],t=r-7;;){for(o=r-7;o>e-3&&(this.K(o,t),!(o<e));)o-=e;if(t<=e+9)break;this.K(6,t-=e),this.K(t,6);}},R:function(){var e,o,t,s,r=this.buffer,n=this.width;for(e=0;e<3;e++){for(o=0,s=0,1===e&&(o=n-7),2===e&&(s=n-7),r[s+3+n*(o+3)]=1,t=0;t<6;t++)r[s+t+n*o]=1,r[s+n*(o+t+1)]=1,r[s+6+n*(o+t)]=1,r[s+t+1+n*(o+6)]=1;for(t=1;t<5;t++)this.Y(s+t,o+1),this.Y(s+1,o+t+1),this.Y(s+5,o+t),this.Y(s+t+1,o+5);for(t=2;t<4;t++)r[s+t+n*(o+2)]=1,r[s+2+n*(o+t+1)]=1,r[s+4+n*(o+t)]=1,r[s+t+1+n*(o+4)]=1;}},O:function(){var e,o,t=this.width;for(o=0;o<7;o++)this.Y(7,o),this.Y(t-8,o),this.Y(7,o+t-7);for(e=0;e<8;e++)this.Y(e,7),this.Y(e+t-8,7),this.Y(e,t-8);},U:function(){var e,o=this.buffer,t=this.width;for(e=0;e<t-14;e++)1&e?(this.Y(8+e,6),this.Y(6,8+e)):(o[8+e+6*t]=1,o[6+t*(8+e)]=1);},j:function(){var e,o,t,s,r=this.buffer,n=this.v,i=this.width;if(n>6)for(e=u.BLOCK[n-7],o=17,t=0;t<6;t++)for(s=0;s<3;s++,o--)1&(o>11?n>>o-12:e>>o)?(r[5-t+i*(2-s+i-11)]=1,r[2-s+i-11+i*(5-t)]=1):(this.Y(5-t,2-s+i-11),this.Y(2-s+i-11,5-t));},se:function(e,o){var t=h.ie(e,o);return 1===this.A[t]},V:function(){var e,o,t,s=1,r=1,n=this.width,i=n-1,a=n-1,c=(this.P+this._)*(this.$+this.q)+this.q;for(o=0;o<c;o++)for(e=this.C[o],t=0;t<8;t++,e<<=1){128&e&&(this.buffer[i+n*a]=1);do{r?i--:(i++,s?0!==a?a--:(s=!s,6==(i-=2)&&(i--,a=9)):a!==n-1?a++:(s=!s,6==(i-=2)&&(i--,a-=8))),r=!r;}while(this.se(i,a))}},T:function(){var e,o,t=this.width;for(e=0;e<9;e++)this.Y(e,8);for(e=0;e<8;e++)this.Y(e+t-8,8),this.Y(8,e);for(o=0;o<7;o++)this.Y(8,o+t-7);},Y:function(e,o){var t=h.ie(e,o);this.A[t]=1;},D:function(){var e,o,t=this.width;for(o=0;o<t;o++)for(e=0;e<=o;e++)this.buffer[e+t*o]&&this.Y(e,o);}},{I:function(e){var o,t=[];for(o=0;o<e;o++)t[o]=0;return t},ie:function(e,o){var t;return e>o&&(t=e,e=o,o=t),t=o,t+=o*o,(t>>=1)+e},ee:function(e){for(;e>=255;)e=((e-=255)>>8)+(255&e);return e},N1:3,N2:3,N3:40,N4:10}),m=h,k=i.extend({draw:function(){this.element.src=this.qrious.toDataURL();},reset:function(){this.element.src="";},resize:function(){var e=this.element;e.width=e.height=this.qrious.size;}}),f=n.extend(function(e,o,t,s){this.name=e,this.modifiable=Boolean(o),this.defaultValue=t,this.ae=s;},{transform:function(e){var o=this.ae;return "function"==typeof o?o(e,this):e}}),B=n.extend(null,{abs:function(e){return null!=e?Math.abs(e):null},hasOwn:function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},noop:function(){},toUpperCase:function(e){return null!=e?e.toUpperCase():null}}),w=n.extend(function(e){this.options={},e.forEach(function(e){this.options[e.name]=e;},this);},{exists:function(e){return null!=this.options[e]},get:function(e,o){return w.ce(this.options[e],o)},getAll:function(e){var o,t=this.options,s={};for(o in t)B.hasOwn(t,o)&&(s[o]=w.ce(t[o],e));return s},init:function(e,o,t){var s,r;for(s in "function"!=typeof t&&(t=B.noop),this.options)B.hasOwn(this.options,s)&&(w.le(r=this.options[s],r.defaultValue,o),w.de(r,o,t));this.ue(e,o,true);},set:function(e,o,t){return this.le(e,o,t)},setAll:function(e,o){return this.ue(e,o)},le:function(e,o,t,s){var r=this.options[e];if(!r)throw new Error("Invalid option: "+e);if(!r.modifiable&&!s)throw new Error("Option cannot be modified: "+e);return w.le(r,o,t)},ue:function(e,o,t){if(!e)return  false;var s,r=false;for(s in e)B.hasOwn(e,s)&&this.le(s,e[s],o,t)&&(r=true);return r}},{de:function(e,o,t){var s={get:function(){return w.ce(e,o)}};e.modifiable&&(s.set=function(s){w.le(e,s,o)&&t(s,e);}),Object.defineProperty(o,e.name,s);},ce:function(e,o){return o["_"+e.name]},le:function(e,o,t){var s="_"+e.name,r=t[s],n=e.transform(null!=o?o:e.defaultValue);return t[s]=n,n!==r}}),p=w,v=n.extend(function(){this.he={};},{getService:function(e){var o=this.he[e];if(!o)throw new Error("Service is not being managed with name: "+e);return o},setService:function(e,o){if(this.he[e])throw new Error("Service is already managed with name: "+e);o&&(this.he[e]=o);}}),C=new p([new f("background",true,"white"),new f("backgroundAlpha",true,1,B.abs),new f("element"),new f("foreground",true,"black"),new f("foregroundAlpha",true,1,B.abs),new f("level",true,"L",B.toUpperCase),new f("mime",true,"image/png"),new f("padding",true,null,B.abs),new f("size",true,100,B.abs),new f("value",true,"")]),g=new v,P=n.extend(function(e){C.init(e,this,this.update.bind(this));var o=C.get("element",this),t=g.getService("element"),s=o&&t.isCanvas(o)?o:t.createCanvas(),r=o&&t.isImage(o)?o:t.createImage();this.me=new a(this,s,true),this.ke=new k(this,r,r===o),this.update();},{get:function(){return C.getAll(this)},set:function(e){C.setAll(e,this)&&this.update();},toDataURL:function(e){return this.canvas.toDataURL(e||this.mime)},update:function(){var e=new m({level:this.level,value:this.value});this.me.render(e),this.ke.render(e);}},{use:function(e){g.setService(e.getName(),e);}});Object.defineProperties(P.prototype,{canvas:{get:function(){return this.me.getElement()}},image:{get:function(){return this.ke.getElement()}}});var b=P,y=n.extend({getName:function(){}}).extend({createCanvas:function(){},createImage:function(){},getName:function(){return "element"},isCanvas:function(){},isImage:function(){}}).extend({createCanvas:function(){return document.createElement("canvas")},createImage:function(){return document.createElement("img")},isCanvas:function(e){return e instanceof HTMLCanvasElement},isImage:function(e){return e instanceof HTMLImageElement}});return b.use(new y),b}()),i.exports));class c{shadowRoot;container=null;queue=[];isShowing=false;constructor(e){this.shadowRoot=e,this.createContainer();}createContainer(){this.container=document.createElement("div"),this.container.className="mms-toast-container",this.shadowRoot.appendChild(this.container);}show(e,o="info",t=3e3){this.queue.push({message:e,type:o}),this.isShowing||this.showNext();}showNext(){if(0===this.queue.length)return void(this.isShowing=false);this.isShowing=true;const{message:e,type:o}=this.queue.shift(),t=document.createElement("div");t.className=`mms-toast mms-toast-${o}`;const s=this.getIcon(o),r=document.createElement("span");r.className="mms-toast-icon",r.innerHTML=s;const n=document.createElement("span");n.className="mms-toast-message",n.textContent=e,t.appendChild(r),t.appendChild(n),this.container.appendChild(t),requestAnimationFrame(()=>{t.classList.add("visible");}),setTimeout(()=>{t.classList.remove("visible"),setTimeout(()=>{t.remove(),this.showNext();},300);},3e3);}getIcon(e){return {success:'<svg viewBox="0 0 24 24"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z"/></svg>',error:'<svg viewBox="0 0 24 24"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg>',info:'<svg viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"/></svg>'}[e]}static instance=null;static getInstance(e){return c.instance||(c.instance=new c(e)),c.instance}}function l(e,o,t="info"){c.getInstance(e).show(o,t);}class d{element;canvas;currentConfig;currentUrl=null;shadowRoot;lanSharer;isMouseOverPanel=false;isDragging=false;dragStartX=0;dragStartY=0;elementStartX=0;elementStartY=0;customPosition=null;isEnlarged=false;originalSize=160;enlargedSize=320;lastClickTime=0;autoHideTimeout=null;isLinkHovered=false;mouseMoveHandler=null;mouseUpHandler=null;constructor(e,o,t){this.shadowRoot=e,this.currentConfig=o.get(),this.lanSharer=t,this.originalSize=this.currentConfig.qrCodeSize,this.enlargedSize=2*this.originalSize,this.element=document.createElement("div"),this.element.className="mms-qrcode-pannel",e.appendChild(this.element),this.canvas=document.createElement("canvas"),this.canvas.className="mms-qrcode-canvas",this.element.addEventListener("mouseenter",()=>{this.isMouseOverPanel=true,this.autoHideTimeout&&(clearTimeout(this.autoHideTimeout),this.autoHideTimeout=null);}),this.element.addEventListener("mouseleave",()=>{this.isMouseOverPanel=false,this.isDragging||this.setupAutoHide();}),this.mouseMoveHandler=this.handleMouseMove.bind(this),this.mouseUpHandler=this.handleMouseUp.bind(this),this.setupDragging(),this.canvas.addEventListener("click",this.handleClick.bind(this));}setupDragging(){this.currentConfig.enableDragging?(this.element.addEventListener("mousedown",this.handleMouseDown.bind(this)),this.mouseMoveHandler&&this.mouseUpHandler&&(document.addEventListener("mousemove",this.mouseMoveHandler),document.addEventListener("mouseup",this.mouseUpHandler))):(this.element.removeEventListener("mousedown",this.handleMouseDown.bind(this)),this.mouseMoveHandler&&this.mouseUpHandler&&(document.removeEventListener("mousemove",this.mouseMoveHandler),document.removeEventListener("mouseup",this.mouseUpHandler)));}updateConfig(e){const o=this.currentConfig;this.currentConfig=e,this.originalSize=e.qrCodeSize,this.enlargedSize=2*this.originalSize,o.enableDragging!==e.enableDragging&&(this.isDragging=false,this.element.style.cursor="",this.setupDragging()),this.element.classList.contains("visible")&&this.currentUrl&&this.render();}setLinkHoverState(e){this.isLinkHovered=e;}startAutoHideTimer(){this.setupAutoHide();}show(e,o,t,s){this.currentUrl=e,this.isEnlarged=false,this.render(),this.updatePosition(o,t),this.element.classList.add("visible"),"global"===this.currentConfig.qrCodeHideTrigger&&this.setupAutoHide();}hide(){this.element.classList.remove("visible"),this.customPosition=null,this.isEnlarged=false,this.autoHideTimeout&&(clearTimeout(this.autoHideTimeout),this.autoHideTimeout=null);}isMouseOver(){return this.isMouseOverPanel}setupAutoHide(){this.autoHideTimeout&&(clearTimeout(this.autoHideTimeout),this.autoHideTimeout=null),this.currentConfig.qrCodeAutoHide&&this.currentConfig.qrCodeHideDelay>0&&(this.autoHideTimeout=window.setTimeout(()=>{this.isMouseOverPanel||this.isDragging||this.hide();},this.currentConfig.qrCodeHideDelay));}handleMouseDown(e){if(!this.currentConfig.enableDragging)return;if("BUTTON"===e.target.tagName)return;this.isDragging=true,this.dragStartX=e.clientX,this.dragStartY=e.clientY;const o=this.element.getBoundingClientRect();this.elementStartX=o.left,this.elementStartY=o.top,this.element.style.cursor="grabbing",e.preventDefault();}handleMouseMove(e){if(!this.isDragging||!this.currentConfig.enableDragging)return;const o=this.elementStartX+(e.clientX-this.dragStartX),t=this.elementStartY+(e.clientY-this.dragStartY);this.element.style.left=`${o}px`,this.element.style.top=`${t}px`,this.element.style.right="auto",this.element.style.bottom="auto",this.customPosition={x:o,y:t};}handleMouseUp(e){this.isDragging&&(this.isDragging=false,this.element.style.cursor="",this.setupAutoHide());}handleClick(e){const o=Date.now();o-this.lastClickTime<300&&(e.preventDefault(),this.toggleEnlarge()),this.lastClickTime=o;}toggleEnlarge(){this.isEnlarged=!this.isEnlarged,this.render();}getQRCodeColors(){const e=this.currentConfig.qrCodeStyle;if("custom"===e.mode)return {background:e.background,foreground:e.foreground};const o=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches;return "auto"===e.mode?o?{background:"#1a1a1a",foreground:"#ffffff"}:{background:"#ffffff",foreground:"#000000"}:"dark"===e.mode?{background:"#1a1a1a",foreground:"#ffffff"}:{background:"#ffffff",foreground:"#000000"}}render(){this.element.innerHTML="";const e=this.isEnlarged?this.enlargedSize:this.originalSize,o=this.getQRCodeColors();new a({element:this.canvas,value:this.currentUrl||"",size:e,level:"H",background:o.background,backgroundAlpha:this.currentConfig.qrCodeStyle.backgroundAlpha,foreground:o.foreground,foregroundAlpha:this.currentConfig.qrCodeStyle.foregroundAlpha}),this.element.appendChild(this.canvas);const t=document.createElement("footer");if(this.currentConfig.enableLAN){const e=this.createButton("📡 局域网打开",this.handleLanShare.bind(this));t.appendChild(e);}t.hasChildNodes()&&this.element.appendChild(t);}createButton(e,o){const t=document.createElement("button");return t.textContent=e,t.addEventListener("click",o),t}handleLanShare(){if(this.currentUrl)try{const e=this.lanSharer.sendUrlToAll(this.currentUrl);0===e?l(this.shadowRoot,"没有已连接的设备","info"):l(this.shadowRoot,`已发送到 ${e} 个设备`,"success");}catch(e){l(this.shadowRoot,"发送失败","error");}}updatePosition(e,o){if(this.customPosition)return this.element.style.left=`${this.customPosition.x}px`,this.element.style.top=`${this.customPosition.y}px`,this.element.style.right="auto",void(this.element.style.bottom="auto");if("fixed"===this.currentConfig.qrCodePosition){const e=this.currentConfig.fixedOffset,o=this.currentConfig.fixedPosition;switch(this.element.style.left="auto",this.element.style.right="auto",this.element.style.top="auto",this.element.style.bottom="auto",o){case "top-left":this.element.style.top=`${e.y}px`,this.element.style.left=`${e.x}px`;break;case "top-right":this.element.style.top=`${e.y}px`,this.element.style.right=`${e.x}px`;break;case "bottom-left":this.element.style.bottom=`${e.y}px`,this.element.style.left=`${e.x}px`;break;case "bottom-right":this.element.style.bottom=`${e.y}px`,this.element.style.right=`${e.x}px`;}}else {const t=this.element.getBoundingClientRect(),s=15;let r=e+s,n=o+s;r+t.width>window.innerWidth&&(r=e-t.width-s),n+t.height>window.innerHeight&&(n=o-t.height-s),this.element.style.top=`${n}px`,this.element.style.left=`${r}px`,this.element.style.right="auto",this.element.style.bottom="auto";}}destroy(){this.mouseMoveHandler&&this.mouseUpHandler&&(document.removeEventListener("mousemove",this.mouseMoveHandler),document.removeEventListener("mouseup",this.mouseUpHandler)),this.autoHideTimeout&&clearTimeout(this.autoHideTimeout);}}class u{static redirectMap={"link.juejin.cn":{params:["target"]},"link.csdn.net":{params:["target"]},"link.zhihu.com":{params:["target"]},"c.pc.qq.com":{params:["url"]},"hd.nowcoder.com":{params:["target"]},"link.uisdc.com":{params:["redirect"]},"link.gitcode.com":{params:["target"]},"open.work.weixin.qq.com":{params:["uri"]},"www.jianshu.com":{path:"/go-wild",params:["url"]},"www.douban.com":{path:"/link2",params:["url"]},"steamcommunity.com":{path:"/linkfilter",params:["url"]},"www.tianyancha.com":{path:"/security",params:["target"]},"game.bilibili.com":{path:"/linkfilter",params:["url"]},"www.chinaz.com":{path:"/go.shtml",params:["url"]},"www.youtube.com":{path:"/redirect",params:["q"]},"mail.qq.com":{path:"/cgi-bin/readtemplate",params:["gourl"]},"weibo.cn":{path:"/sinaurl",params:["u"]},"afdian.com":{path:"/link",params:["target"]},"ask.latexstudio.net":{path:"/go/index",params:["url"]},"blzxteam.com":{path:"/gowild",params:["url"]},"cloud.tencent.com":{path:"/developer/tools/blog-entry",params:["target"]},"docs.qq.com":{path:"/scenario/link.html",params:["url"]},"gitee.com":{path:"/link",params:["target"]},"leetcode.cn":{path:"/link",params:["target"]},"sspai.com":{path:"/link",params:["target"]},"t.me":{path:"/iv",params:["url"]},"tieba.baidu.com":{path:"/mo/q/checkurl",params:["url"]},"www.gcores.com":{path:"/link",params:["target"]},"www.kookapp.cn":{path:"/go-wild",params:["url"]},"www.oschina.net":{path:"/action/GoToLink",params:["url"]},"www.qcc.com":{path:"/web/transfer-link",params:["link"]},"www.yuque.com":{path:"/r/goto",params:["url"]},"xie.infoq.cn":{path:"/link",params:["target"]},"www.infoq.cn":{path:"/link",params:["target"]},"www.baike.com":{path:"/redirect_link",params:["url"]},"developers.weixin.qq.com":{path:"/community/middlepage/href",params:["href"]},"developer.aliyun.com":{path:"/redirect",params:["target"]},"www.kdocs.cn":{path:"/office/link",params:["target"]},"dalao.ru":{path:"/link",params:["target"]},"wx.mail.qq.com":{path:"/xmspamcheck/xmsafejump",params:["url"]},"aiqicha.baidu.com":{path:"/safetip",params:["target"]},"forum.mczwlt.net":{path:"/outgoing",params:["url"]}};static defaultParams=["target","url","q","gourl","u","redirect","toasturl","link","href","pfurl","uri"];static resolveUrl(e){try{const s=new URL(e),r=s.hostname;if("blog.51cto.com"===r&&s.pathname.startsWith("/transfer")){const t=decodeURIComponent(e.replace("https://blog.51cto.com/transfer?",""));if(t&&t.startsWith("http"))return o.log(`解析重定向链接: ${e} -> ${t}`),t}const n=this.redirectMap[r];if(n){if(n.path&&!s.pathname.startsWith(n.path))return e;const r=n.params||this.defaultParams;for(const n of r){const r=s.searchParams.get(n);if(r)try{const t=decodeURIComponent(r);if(t.startsWith("http://")||t.startsWith("https://"))return o.log(`解析重定向链接: ${e} -> ${t}`),t}catch(t){o.warn(`解码URL参数失败: ${n}=${r}`,t);}}}return e}catch(t){return o.warn("解析URL失败",t),e}}static isRedirectUrl(e){try{const o=new URL(e);return !!this.redirectMap[o.hostname]}catch(o){return  false}}}class h{shadowRoot;configManager;qrCodePannel;currentConfig;hoverTimeout=null;currentTarget=null;processedLinks=new WeakSet;isMouseOverLink=false;constructor(e,o,t){this.shadowRoot=e,this.configManager=o,this.currentConfig=this.configManager.get(),this.qrCodePannel=new d(this.shadowRoot,this.configManager,t),this.configManager.subscribe(e=>{this.currentConfig=e,this.qrCodePannel.updateConfig(e);});}observe(){document.addEventListener("mouseover",this.handleMouseOver.bind(this),true),document.addEventListener("mouseout",this.handleMouseOut.bind(this),true),this.replaceAllLinks(),new MutationObserver(()=>{this.replaceAllLinks();}).observe(document.body,{childList:true,subtree:true}),o.log("DOM 观察器已启动。");}replaceAllLinks(){this.currentConfig.autoResolveRedirect&&document.querySelectorAll("a[href]").forEach(e=>{const t=e;if(this.processedLinks.has(t))return;if(!this.isLinkValid(t.href))return;const s=u.resolveUrl(t.href);s!==t.href&&(t.setAttribute("data-original-href",t.href),t.href=s,this.processedLinks.add(t),o.log(`链接已替换: ${t.getAttribute("data-original-href")} -> ${s}`));});}handleMouseOver(e){if(!this.currentConfig.enabled||!this.currentConfig.showOnHover)return;const o=e.target.closest("a");o&&o.href&&this.isLinkValid(o.href)&&(this.isMouseOverLink=true,this.hoverTimeout&&clearTimeout(this.hoverTimeout),this.currentTarget=o,this.hoverTimeout=window.setTimeout(()=>{if(this.currentTarget&&this.isMouseOverLink){const o=this.currentTarget.getAttribute("data-original-href")||this.currentTarget.href;this.qrCodePannel.show(this.currentTarget.href,e.clientX,e.clientY,o),this.qrCodePannel.setLinkHoverState(true),"onLinkLeave"===this.currentConfig.qrCodeHideTrigger&&this.currentConfig.qrCodeAutoHide&&this.currentConfig.qrCodeHideDelay>0&&this.qrCodePannel.startAutoHideTimer();}},this.currentConfig.hoverDelay));}handleMouseOut(e){const o=e.target.closest("a"),t=e.relatedTarget;if(o&&o===this.currentTarget){if(t&&this.shadowRoot.contains(t))return;this.isMouseOverLink=false,this.qrCodePannel.setLinkHoverState(false),this.hoverTimeout&&(clearTimeout(this.hoverTimeout),this.hoverTimeout=null),this.currentConfig.qrCodeAutoHide||this.qrCodePannel.isMouseOver()||this.qrCodePannel.hide();}}isLinkValid(e){if(!e.startsWith("http://")&&!e.startsWith("https://"))return  false;const{blacklist:o,whitelist:t}=this.currentConfig,s=window.location.hostname;return t.length>0?t.some(e=>s.includes(e)):!(o.length>0&&o.some(e=>s.includes(e)))}}class m{shadowRoot;lanSharer;config;overlayElement=null;panelElement=null;constructor(e,o,t){this.shadowRoot=e,this.config=o,this.lanSharer=t;}show(){this.overlayElement||this.create(),this.overlayElement.classList.add("visible"),this.lanSharer.onSignalingStateChange=this.updateSignalingStatus.bind(this),this.lanSharer.onPeersUpdate=this.renderDeviceList.bind(this),this.lanSharer.connect("miku-share-default-network");}hide(){this.overlayElement?.classList.remove("visible"),this.lanSharer.disconnect();}create(){this.overlayElement=document.createElement("div"),this.overlayElement.className="mms-settings-overlay mms-lan-overlay",this.overlayElement.addEventListener("click",e=>{e.target===this.overlayElement&&this.hide();}),this.panelElement=document.createElement("div"),this.panelElement.className="mms-settings-panel mms-lan-panel",this.overlayElement.appendChild(this.panelElement),this.shadowRoot.appendChild(this.overlayElement),this.render();}render(){this.panelElement&&(this.panelElement.innerHTML=`\n            <div class="header">\n                <h2>局域网设备</h2>\n                <div class="status" id="mms-lan-status">\n                    <span class="dot"></span>\n                    <span class="text">未连接</span>\n                </div>\n            </div>\n            <div class="content">\n                <div class="mms-lan-scanner">\n                    <div class="mms-scan-wave"></div>\n                    <div class="mms-scan-wave"></div>\n                    <div class="mms-scan-wave"></div>\n                    <div class="mms-device-icon" title="这是您自己的设备ID">\n                        <svg viewBox="0 0 24 24"><path d="M12 12.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 1 0 0 7Z M18.5 10.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z M12 1.5a10.5 10.5 0 1 0 0 21 10.5 10.5 0 1 0 0-21Z"></path></svg>\n                        <span>${this.config.deviceId}</span>\n                    </div>\n                </div>\n                <div class="mms-device-list-container">\n                    <h3>已发现的设备:</h3>\n                    <ul class="mms-device-list" id="mms-device-list">\n                        </ul>\n                </div>\n            </div>\n        `);}updateSignalingStatus(e){const o=this.shadowRoot.querySelector("#mms-lan-status"),t=this.shadowRoot.querySelector(".mms-lan-scanner");if(!o||!t)return;const s=o.querySelector(".dot"),r=o.querySelector(".text");switch(s.className=`dot ${e}`,t.classList.toggle("active","connected"===e),e){case "connecting":r.textContent="连接中...";break;case "connected":r.textContent="已连接,正在扫描";break;case "disconnected":r.textContent="已断开";}}renderDeviceList(e){const o=this.shadowRoot.querySelector("#mms-device-list");o&&(o.innerHTML=0!==e.length?e.map(e=>`\n            <li class="device-item" data-state="${e.state}">\n                <span class="device-status-dot"></span>\n                <span class="device-id">${e.id}</span>\n                <span class="device-state">${this.translateState(e.state)}</span>\n            </li>\n        `).join(""):'<li class="no-devices">暂未发现其他设备...</li>');}translateState(e){return {new:"初始",connecting:"连接中...",connected:"已连接",disconnected:"已断开",failed:"连接失败",closed:"已关闭"}[e]||"未知"}}class k{ws=null;peerConnections=new Map;dataChannels=new Map;localId;networkId="miku-share-default-network";onSignalingStateChange=null;onPeersUpdate=null;constructor(e){this.localId=e.deviceId;}connect(e){this.networkId=e||this.networkId,this.ws&&this.ws.readyState===WebSocket.OPEN?o.log("已连接到信令服务器。"):(this.onSignalingStateChange?.("connecting"),this.ws=new WebSocket("wss://websockets.chilvers.io/"),this.ws.onopen=()=>{o.log("成功连接到信令服务器。正在加入网络..."),this.onSignalingStateChange?.("connected"),this.sendMessage({type:"user-joined",from:this.localId,payload:{networkId:this.networkId}});},this.ws.onmessage=e=>{const o=JSON.parse(e.data);o.from===this.localId||o.to&&o.to!==this.localId||this.handleSignalingMessage(o);},this.ws.onclose=()=>{o.warn("与信令服务器的连接已断开。"),this.onSignalingStateChange?.("disconnected"),this.disconnectAllPeers();},this.ws.onerror=e=>{o.error("信令服务器连接错误:",e),this.onSignalingStateChange?.("disconnected");});}disconnect(){this.ws?.close(),this.disconnectAllPeers();}sendUrlToAll(e){let t=0;return this.dataChannels.forEach((s,r)=>{"open"===s.readyState&&(s.send(JSON.stringify({type:"url",payload:e})),t++,o.log(`已将链接发送到设备 ${r}`));}),t}handleSignalingMessage(e){switch(o.log("收到信令:",e),e.type){case "user-joined":this.createOffer(e.from);break;case "offer":this.createAnswer(e.from,e.payload);break;case "answer":this.handleAnswer(e.from,e.payload);break;case "ice-candidate":this.handleIceCandidate(e.from,e.payload);break;case "user-left":this.disconnectPeer(e.from);}}createPeerConnection(e){if(this.peerConnections.has(e))return this.peerConnections.get(e);const t=new RTCPeerConnection({iceServers:[{urls:"stun:stun.l.google.com:19302"}]});return t.onicecandidate=o=>{o.candidate&&this.sendMessage({type:"ice-candidate",from:this.localId,to:e,payload:o.candidate});},t.onconnectionstatechange=()=>{this.updatePeersStatus();},t.ondatachannel=t=>{const s=t.channel;this.dataChannels.set(e,s),s.onopen=()=>o.log(`与 ${e} 的数据通道已打开。`),s.onmessage=e=>{const o=JSON.parse(e.data);"url"===o.type&&o.payload&&window.open(o.payload,"_blank");};},this.peerConnections.set(e,t),this.updatePeersStatus(),t}async createOffer(e){const o=this.createPeerConnection(e),t=o.createDataChannel("url-channel");this.dataChannels.set(e,t);const s=await o.createOffer();await o.setLocalDescription(s),this.sendMessage({type:"offer",from:this.localId,to:e,payload:o.localDescription});}async createAnswer(e,o){const t=this.createPeerConnection(e);await t.setRemoteDescription(new RTCSessionDescription(o));const s=await t.createAnswer();await t.setLocalDescription(s),this.sendMessage({type:"answer",from:this.localId,to:e,payload:t.localDescription});}async handleAnswer(e,o){const t=this.peerConnections.get(e);t&&await t.setRemoteDescription(new RTCSessionDescription(o));}async handleIceCandidate(e,o){const t=this.peerConnections.get(e);t&&await t.addIceCandidate(new RTCIceCandidate(o));}disconnectPeer(e){this.peerConnections.get(e)?.close(),this.peerConnections.delete(e),this.dataChannels.delete(e),this.updatePeersStatus();}disconnectAllPeers(){this.peerConnections.forEach(e=>e.close()),this.peerConnections.clear(),this.dataChannels.clear(),this.updatePeersStatus();}sendMessage(e){if(this.ws&&this.ws.readyState===WebSocket.OPEN){const o={...e,payload:{...e.payload,networkId:this.networkId}};this.ws.send(JSON.stringify(o));}}updatePeersStatus(){const e=Array.from(this.peerConnections.entries()).map(([e,o])=>({id:e,state:o.connectionState}));this.onPeersUpdate?.(e);}}class f{shadowRoot;configManager;overlayElement=null;panelElement=null;lanPanel;lanSharer;Logger=o;constructor(e,o){this.shadowRoot=e,this.configManager=o;const t=this.configManager.get();this.lanSharer=new k(t),this.lanPanel=new m(this.shadowRoot,t,this.lanSharer);}getLanSharer(){return this.lanSharer}init(){this.overlayElement=document.createElement("div"),this.overlayElement.className="mms-settings-overlay",this.overlayElement.addEventListener("click",e=>{e.target===this.overlayElement&&this.hide();}),this.panelElement=document.createElement("div"),this.panelElement.className="mms-settings-panel",this.overlayElement.appendChild(this.panelElement),this.shadowRoot.appendChild(this.overlayElement);}toggleVisibility(){this.overlayElement?.classList.contains("visible")?this.hide():this.show();}show(){this.render(),this.overlayElement?.classList.add("visible");}hide(){this.overlayElement?.classList.remove("visible");}render(){if(!this.panelElement)return;const e=this.configManager.get();this.panelElement.innerHTML=`\n            <h2>MikuShare设置</h2>\n            <div class="content">\n                <div class="form-group">\n                    <button id="mms-manage-lan-btn" class="action-button">管理局域网设备</button>\n                </div>\n                \n                <div class="form-group">\n                    ${this.createSwitch("master-switch","总开关",e.enabled)}\n                </div>\n                \n                <div class="form-group">\n                    ${this.createSwitch("hover-switch","鼠标悬浮显示二维码",e.showOnHover)}\n                </div>\n                \n                <div class="form-group">\n                    <label for="mms-hover-delay">悬浮显示延迟 (毫秒)</label>\n                    <input type="number" id="mms-hover-delay" value="${e.hoverDelay}" min="0" max="5000" step="100">\n                </div>\n                \n                <div class="form-group">\n                    ${this.createSwitch("auto-hide-switch","自动隐藏二维码",e.qrCodeAutoHide)}\n                </div>\n                \n                <div class="form-group" id="hide-delay-group" style="${e.qrCodeAutoHide?"":"display:none"}">\n                    <label for="mms-hide-delay">自动隐藏延迟 (毫秒,0=永不隐藏)</label>\n                    <input type="number" id="mms-hide-delay" value="${e.qrCodeHideDelay}" min="0" max="10000" step="500">\n                    \n                    <label for="mms-hide-trigger" style="margin-top: 10px;">自动隐藏触发条件</label>\n                    <select id="mms-hide-trigger">\n                        <option value="onLinkLeave" ${"onLinkLeave"===e.qrCodeHideTrigger?"selected":""}>鼠标离开链接时开始计时</option>\n                        <option value="global" ${"global"===e.qrCodeHideTrigger?"selected":""}>显示后立即开始计时</option>\n                    </select>\n                </div>\n                \n                <div class="form-group">\n                    ${this.createSwitch("dragging-switch","允许拖拽二维码",e.enableDragging)}\n                </div>\n                \n                <div class="form-group">\n                    <label for="mms-qr-size">二维码大小 (像素)</label>\n                    <input type="number" id="mms-qr-size" value="${e.qrCodeSize}" min="100" max="500" step="10">\n                </div>\n                \n                <div class="form-group">\n                    <label for="mms-qr-style-mode">二维码样式</label>\n                    <select id="mms-qr-style-mode">\n                        <option value="auto" ${"auto"===e.qrCodeStyle.mode?"selected":""}>自动(跟随系统)</option>\n                        <option value="light" ${"light"===e.qrCodeStyle.mode?"selected":""}>浅色</option>\n                        <option value="dark" ${"dark"===e.qrCodeStyle.mode?"selected":""}>深色</option>\n                        <option value="custom" ${"custom"===e.qrCodeStyle.mode?"selected":""}>自定义</option>\n                    </select>\n                </div>\n                \n                <div class="form-group" id="custom-colors-group" style="${"custom"===e.qrCodeStyle.mode?"":"display:none"}">\n                    <label>自定义颜色</label>\n                    <div style="display: flex; gap: 10px; margin-bottom: 10px;">\n                        <div style="flex: 1;">\n                            <label for="mms-qr-bg-color" style="font-size: 12px;">背景色</label>\n                            <input type="color" id="mms-qr-bg-color" value="${e.qrCodeStyle.background}" style="width: 100%;">\n                        </div>\n                        <div style="flex: 1;">\n                            <label for="mms-qr-fg-color" style="font-size: 12px;">前景色</label>\n                            <input type="color" id="mms-qr-fg-color" value="${e.qrCodeStyle.foreground}" style="width: 100%;">\n                        </div>\n                    </div>\n                    <div style="display: flex; gap: 10px;">\n                        <div style="flex: 1;">\n                            <label for="mms-qr-bg-alpha" style="font-size: 12px;">背景透明度</label>\n                            <input type="number" id="mms-qr-bg-alpha" value="${e.qrCodeStyle.backgroundAlpha}" min="0" max="1" step="0.1" style="width: 100%;">\n                        </div>\n                        <div style="flex: 1;">\n                            <label for="mms-qr-fg-alpha" style="font-size: 12px;">前景透明度</label>\n                            <input type="number" id="mms-qr-fg-alpha" value="${e.qrCodeStyle.foregroundAlpha}" min="0" max="1" step="0.1" style="width: 100%;">\n                        </div>\n                    </div>\n                </div>\n                \n                <div class="form-group">\n                    ${this.createSwitch("lan-switch","启用局域网分享",e.enableLAN)}\n                </div>\n                \n                <div class="form-group">\n                    ${this.createSwitch("auto-resolve-switch","链接净化",e.autoResolveRedirect)}\n                    <p style="font-size: 12px; color: #666; margin-top: 4px; margin-bottom: 0;">\n                        自动识别并解析知乎、CSDN等网站的跳转链接,直接显示真实URL的二维码\n                    </p>\n                </div>\n                \n                <div class="form-group">\n                    ${this.createSwitch("qr-recognition-switch","二维码识别",e.enableQRRecognition)}\n                    <p style="font-size: 12px; color: #666; margin-top: 4px; margin-bottom: 0;">\n                        鼠标悬停在图片上时自动识别二维码\n                    </p>\n                </div>\n                \n                <div class="form-group" id="qr-recognition-group" style="${e.enableQRRecognition?"":"display:none"}">\n                    <label for="mms-qr-recognition-delay">识别延迟 (毫秒)</label>\n                    <input type="number" id="mms-qr-recognition-delay" value="${e.qrRecognitionDelay}" min="1000" max="10000" step="500">\n                    <label for="mms-qr-recognition-action" style="margin-top: 10px;">识别后动作</label>\n                    <select id="mms-qr-recognition-action">\n                        <option value="copy" ${"copy"===e.qrRecognitionAction?"selected":""}>仅复制</option>\n                        <option value="copyWithToast" ${"copyWithToast"===e.qrRecognitionAction?"selected":""}>复制并提示</option>\n                        <option value="copyAndOpen" ${"copyAndOpen"===e.qrRecognitionAction?"selected":""}>复制并打开(链接)</option>\n                        <option value="silentOpen" ${"silentOpen"===e.qrRecognitionAction?"selected":""}>直接打开(链接)</option>\n                    </select>\n                </div>\n                \n                <div class="form-group">\n                    ${this.createSwitch("copy-purify-switch","复制净化",e.enableCopyPurify)}\n                    <p style="font-size: 12px; color: #666; margin-top: 4px; margin-bottom: 0;">\n                        净化URL参数,移除复制时的版权声明\n                    </p>\n                </div>\n                \n                <div class="form-group">\n                    ${this.createSwitch("selection-unlock-switch","选择解锁",e.enableSelectionUnlock)}\n                    <p style="font-size: 12px; color: #666; margin-top: 4px; margin-bottom: 0;">\n                        解除网页复制限制\n                    </p>\n                </div>\n                \n                <div class="form-group">\n                    <label for="mms-position-select">二维码显示位置</label>\n                    <select id="mms-position-select">\n                        <option value="mouse" ${"mouse"===e.qrCodePosition?"selected":""}>跟随鼠标</option>\n                        <option value="fixed" ${"fixed"===e.qrCodePosition?"selected":""}>固定位置</option>\n                    </select>\n                </div>\n                \n                <div class="form-group" id="fixed-position-group" style="${"fixed"===e.qrCodePosition?"":"display:none"}">\n                    <label for="mms-fixed-position">固定位置</label>\n                    <select id="mms-fixed-position">\n                        <option value="top-left" ${"top-left"===e.fixedPosition?"selected":""}>左上角</option>\n                        <option value="top-right" ${"top-right"===e.fixedPosition?"selected":""}>右上角</option>\n                        <option value="bottom-left" ${"bottom-left"===e.fixedPosition?"selected":""}>左下角</option>\n                        <option value="bottom-right" ${"bottom-right"===e.fixedPosition?"selected":""}>右下角</option>\n                    </select>\n                </div>\n                \n                <div class="form-group" id="fixed-offset-group" style="${"fixed"===e.qrCodePosition?"":"display:none"}">\n                    <label>固定位置偏移量</label>\n                    <div style="display: flex; gap: 10px;">\n                        <input type="number" id="mms-offset-x" placeholder="X偏移" value="${e.fixedOffset.x}" min="0" max="200" style="flex: 1;">\n                        <input type="number" id="mms-offset-y" placeholder="Y偏移" value="${e.fixedOffset.y}" min="0" max="200" style="flex: 1;">\n                    </div>\n                </div>\n                \n                <div class="form-group">\n                    <label for="mms-copy-purify-domains">复制净化域名 (每行一个)</label>\n                    <textarea id="mms-copy-purify-domains" rows="3">${e.copyPurifyDomains.join("\n")}</textarea>\n                </div>\n                \n                <div class="form-group">\n                    <label for="mms-blacklist">黑名单 (每行一个)</label>\n                    <textarea id="mms-blacklist" rows="3">${e.blacklist.join("\n")}</textarea>\n                </div>\n                \n                <div class="form-group">\n                    <label for="mms-whitelist">白名单 (填写后, 仅在这些网站生效)</label>\n                    <textarea id="mms-whitelist" rows="3">${e.whitelist.join("\n")}</textarea>\n                </div>\n            </div>\n            <div class="footer">\n                <button id="mms-save-btn" class="save">保存设置</button>\n            </div>\n        `,this.attachEventListeners();}createSwitch(e,o,t){return `\n            <div class="switch">\n                <span class="switch-label" id="${e}-label">${o}</span>\n                <label class="switch-control" for="${e}">\n                    <input type="checkbox" id="${e}" aria-labelledby="${e}-label" ${t?"checked":""}>\n                    <span class="slider"></span>\n                </label>\n            </div>\n        `}attachEventListeners(){this.panelElement?.querySelector("#mms-save-btn")?.addEventListener("click",this.saveConfig.bind(this)),this.panelElement?.querySelector("#mms-manage-lan-btn")?.addEventListener("click",()=>{this.lanPanel.show();});const e=this.panelElement?.querySelector("#mms-position-select"),o=this.panelElement?.querySelector("#fixed-position-group"),t=this.panelElement?.querySelector("#fixed-offset-group");e?.addEventListener("change",()=>{const s="fixed"===e.value;o&&(o.style.display=s?"":"none"),t&&(t.style.display=s?"":"none");});const s=this.panelElement?.querySelector("#auto-hide-switch"),r=this.panelElement?.querySelector("#hide-delay-group");s?.addEventListener("change",()=>{r&&(r.style.display=s.checked?"":"none");});const n=this.panelElement?.querySelector("#mms-qr-style-mode"),i=this.panelElement?.querySelector("#custom-colors-group");n?.addEventListener("change",()=>{i&&(i.style.display="custom"===n.value?"":"none");});const a=this.panelElement?.querySelector("#qr-recognition-switch"),c=this.panelElement?.querySelector("#qr-recognition-group");a?.addEventListener("change",()=>{c&&(c.style.display=a.checked?"":"none");});}async saveConfig(){if(this.panelElement)try{const e={enabled:this.panelElement.querySelector("#master-switch").checked,showOnHover:this.panelElement.querySelector("#hover-switch").checked,hoverDelay:parseInt(this.panelElement.querySelector("#mms-hover-delay").value)||300,qrCodeAutoHide:this.panelElement.querySelector("#auto-hide-switch").checked,qrCodeHideDelay:parseInt(this.panelElement.querySelector("#mms-hide-delay")?.value)||0,qrCodeHideTrigger:this.panelElement.querySelector("#mms-hide-trigger")?.value||"onLinkLeave",enableDragging:this.panelElement.querySelector("#dragging-switch").checked,qrCodeSize:parseInt(this.panelElement.querySelector("#mms-qr-size").value)||160,qrCodeStyle:{mode:this.panelElement.querySelector("#mms-qr-style-mode").value,background:this.panelElement.querySelector("#mms-qr-bg-color")?.value||"#ffffff",foreground:this.panelElement.querySelector("#mms-qr-fg-color")?.value||"#000000",backgroundAlpha:parseFloat(this.panelElement.querySelector("#mms-qr-bg-alpha")?.value)||1,foregroundAlpha:parseFloat(this.panelElement.querySelector("#mms-qr-fg-alpha")?.value)||1},enableLAN:this.panelElement.querySelector("#lan-switch").checked,autoResolveRedirect:this.panelElement.querySelector("#auto-resolve-switch").checked,enableQRRecognition:this.panelElement.querySelector("#qr-recognition-switch").checked,qrRecognitionAction:this.panelElement.querySelector("#mms-qr-recognition-action")?.value||"copyWithToast",qrRecognitionDelay:parseInt(this.panelElement.querySelector("#mms-qr-recognition-delay")?.value)||3e3,enableCopyPurify:this.panelElement.querySelector("#copy-purify-switch").checked,enableSelectionUnlock:this.panelElement.querySelector("#selection-unlock-switch").checked,copyPurifyDomains:this.panelElement.querySelector("#mms-copy-purify-domains").value.split("\n").map(e=>e.trim()).filter(Boolean),qrCodePosition:this.panelElement.querySelector("#mms-position-select").value,fixedPosition:this.panelElement.querySelector("#mms-fixed-position")?.value||"top-right",fixedOffset:{x:parseInt(this.panelElement.querySelector("#mms-offset-x")?.value)||20,y:parseInt(this.panelElement.querySelector("#mms-offset-y")?.value)||20},blacklist:this.panelElement.querySelector("#mms-blacklist").value.split("\n").map(e=>e.trim()).filter(Boolean),whitelist:this.panelElement.querySelector("#mms-whitelist").value.split("\n").map(e=>e.trim()).filter(Boolean)};await this.configManager.set(e),l(this.shadowRoot,"设置已保存","success"),setTimeout(()=>{this.hide();},500);}catch(e){l(this.shadowRoot,"保存失败,请重试","error"),this.Logger.error("保存配置失败:",e);}}}var B,w={exports:{}};const p=r(B?w.exports:(B=1,w.exports=function(e){var o={};function t(s){if(o[s])return o[s].exports;var r=o[s]={i:s,l:false,exports:{}};return e[s].call(r.exports,r,r.exports,t),r.l=true,r.exports}return t.m=e,t.c=o,t.d=function(e,o,s){t.o(e,o)||Object.defineProperty(e,o,{configurable:false,enumerable:true,get:s});},t.n=function(e){var o=e&&e.t?function(){return e.default}:function(){return e};return t.d(o,"a",o),o},t.o=function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},t.p="",t(t.s=3)}([function(e,o){Object.defineProperty(o,"t",{value:true});var t=function(){function e(e,o){this.width=o,this.height=e.length/o,this.data=e;}return e.createEmpty=function(o,t){return new e(new Uint8ClampedArray(o*t),o)},e.prototype.get=function(e,o){return !(e<0||e>=this.width||o<0||o>=this.height||!this.data[o*this.width+e])},e.prototype.set=function(e,o,t){this.data[o*this.width+e]=t?1:0;},e.prototype.setRegion=function(e,o,t,s,r){for(var n=o;n<o+s;n++)for(var i=e;i<e+t;i++)this.set(i,n,!!r);},e}();o.BitMatrix=t;},function(e,o,t){Object.defineProperty(o,"t",{value:true});var s=t(2);o.addOrSubtractGF=function(e,o){return e^o};var r=function(){function e(e,o,t){this.primitive=e,this.size=o,this.generatorBase=t,this.expTable=new Array(this.size),this.logTable=new Array(this.size);for(var r=1,n=0;n<this.size;n++)this.expTable[n]=r,(r*=2)>=this.size&&(r=(r^this.primitive)&this.size-1);for(n=0;n<this.size-1;n++)this.logTable[this.expTable[n]]=n;this.zero=new s.default(this,Uint8ClampedArray.from([0])),this.one=new s.default(this,Uint8ClampedArray.from([1]));}return e.prototype.multiply=function(e,o){return 0===e||0===o?0:this.expTable[(this.logTable[e]+this.logTable[o])%(this.size-1)]},e.prototype.inverse=function(e){if(0===e)throw new Error("Can't invert 0");return this.expTable[this.size-this.logTable[e]-1]},e.prototype.buildMonomial=function(e,o){if(e<0)throw new Error("Invalid monomial degree less than 0");if(0===o)return this.zero;var t=new Uint8ClampedArray(e+1);return t[0]=o,new s.default(this,t)},e.prototype.log=function(e){if(0===e)throw new Error("Can't take log(0)");return this.logTable[e]},e.prototype.exp=function(e){return this.expTable[e]},e}();o.default=r;},function(e,o,t){Object.defineProperty(o,"t",{value:true});var s=t(1),r=function(){function e(e,o){if(0===o.length)throw new Error("No coefficients.");this.field=e;var t=o.length;if(t>1&&0===o[0]){for(var s=1;s<t&&0===o[s];)s++;if(s===t)this.coefficients=e.zero.coefficients;else {this.coefficients=new Uint8ClampedArray(t-s);for(var r=0;r<this.coefficients.length;r++)this.coefficients[r]=o[s+r];}}else this.coefficients=o;}return e.prototype.degree=function(){return this.coefficients.length-1},e.prototype.isZero=function(){return 0===this.coefficients[0]},e.prototype.getCoefficient=function(e){return this.coefficients[this.coefficients.length-1-e]},e.prototype.addOrSubtract=function(o){var t;if(this.isZero())return o;if(o.isZero())return this;var r=this.coefficients,n=o.coefficients;r.length>n.length&&(r=(t=[n,r])[0],n=t[1]);for(var i=new Uint8ClampedArray(n.length),a=n.length-r.length,c=0;c<a;c++)i[c]=n[c];for(c=a;c<n.length;c++)i[c]=s.addOrSubtractGF(r[c-a],n[c]);return new e(this.field,i)},e.prototype.multiply=function(o){if(0===o)return this.field.zero;if(1===o)return this;for(var t=this.coefficients.length,s=new Uint8ClampedArray(t),r=0;r<t;r++)s[r]=this.field.multiply(this.coefficients[r],o);return new e(this.field,s)},e.prototype.multiplyPoly=function(o){if(this.isZero()||o.isZero())return this.field.zero;for(var t=this.coefficients,r=t.length,n=o.coefficients,i=n.length,a=new Uint8ClampedArray(r+i-1),c=0;c<r;c++)for(var l=t[c],d=0;d<i;d++)a[c+d]=s.addOrSubtractGF(a[c+d],this.field.multiply(l,n[d]));return new e(this.field,a)},e.prototype.multiplyByMonomial=function(o,t){if(o<0)throw new Error("Invalid degree less than 0");if(0===t)return this.field.zero;for(var s=this.coefficients.length,r=new Uint8ClampedArray(s+o),n=0;n<s;n++)r[n]=this.field.multiply(this.coefficients[n],t);return new e(this.field,r)},e.prototype.evaluateAt=function(e){var o=0;if(0===e)return this.getCoefficient(0);var t=this.coefficients.length;if(1===e)return this.coefficients.forEach(function(e){o=s.addOrSubtractGF(o,e);}),o;o=this.coefficients[0];for(var r=1;r<t;r++)o=s.addOrSubtractGF(this.field.multiply(e,o),this.coefficients[r]);return o},e}();o.default=r;},function(e,o,t){Object.defineProperty(o,"t",{value:true});var s=t(4),r=t(5),n=t(11),i=t(12);function a(e){var o=i.locate(e);if(!o)return null;for(var t=0,s=o;t<s.length;t++){var a=s[t],c=n.extract(e,a),l=r.decode(c.matrix);if(l)return {binaryData:l.bytes,data:l.text,chunks:l.chunks,version:l.version,location:{topRightCorner:c.mappingFunction(a.dimension,0),topLeftCorner:c.mappingFunction(0,0),bottomRightCorner:c.mappingFunction(a.dimension,a.dimension),bottomLeftCorner:c.mappingFunction(0,a.dimension),topRightFinderPattern:a.topRight,topLeftFinderPattern:a.topLeft,bottomLeftFinderPattern:a.bottomLeft,bottomRightAlignmentPattern:a.alignmentPattern}}}return null}var c={inversionAttempts:"attemptBoth"};function l(e,o,t,r){ void 0===r&&(r={});var n=c;Object.keys(n||{}).forEach(function(e){n[e]=r[e]||n[e];});var i="onlyInvert"===n.inversionAttempts||"invertFirst"===n.inversionAttempts,l=s.binarize(e,o,t,"attemptBoth"===n.inversionAttempts||"invertFirst"===n.inversionAttempts),d=l.binarized,u=l.inverted,h=a(i?u:d);return h||"attemptBoth"!==n.inversionAttempts&&"invertFirst"!==n.inversionAttempts||(h=a(i?d:u)),h}l.default=l,o.default=l;},function(e,o,t){Object.defineProperty(o,"t",{value:true});var s=t(0);function r(e,o,t){return e<o?o:e>t?t:e}var n=function(){function e(e,o){this.width=e,this.data=new Uint8ClampedArray(e*o);}return e.prototype.get=function(e,o){return this.data[o*this.width+e]},e.prototype.set=function(e,o,t){this.data[o*this.width+e]=t;},e}();o.binarize=function(e,o,t,i){if(e.length!==o*t*4)throw new Error("Malformed data passed to binarizer.");for(var a=new n(o,t),c=0;c<o;c++)for(var l=0;l<t;l++)a.set(c,l,.2126*e[4*(l*o+c)+0]+.7152*e[4*(l*o+c)+1]+.0722*e[4*(l*o+c)+2]);for(var d=Math.ceil(o/8),u=Math.ceil(t/8),h=new n(d,u),m=0;m<u;m++)for(var k=0;k<d;k++){var f=0,B=1/0,w=0;for(l=0;l<8;l++)for(c=0;c<8;c++){var p=a.get(8*k+c,8*m+l);f+=p,B=Math.min(B,p),w=Math.max(w,p);}var v=f/Math.pow(8,2);if(w-B<=24&&(v=B/2,m>0&&k>0)){var C=(h.get(k,m-1)+2*h.get(k-1,m)+h.get(k-1,m-1))/4;B<C&&(v=C);}h.set(k,m,v);}var g=s.BitMatrix.createEmpty(o,t),P=null;for(i&&(P=s.BitMatrix.createEmpty(o,t)),m=0;m<u;m++)for(k=0;k<d;k++){for(var b=r(k,2,d-3),y=r(m,2,u-3),x=(f=0,-2);x<=2;x++)for(var M=-2;M<=2;M++)f+=h.get(b+x,y+M);var L=f/25;for(x=0;x<8;x++)for(M=0;M<8;M++){var _=a.get(c=8*k+x,l=8*m+M);g.set(c,l,_<=L),i&&P.set(c,l,!(_<=L));}}return i?{binarized:g,inverted:P}:{binarized:g}};},function(e,o,t){Object.defineProperty(o,"t",{value:true});var s=t(0),r=t(6),n=t(9),i=t(10);function a(e,o){for(var t=e^o,s=0;t;)s++,t&=t-1;return s}function c(e,o){return o<<1|e}var l=[{bits:21522,formatInfo:{errorCorrectionLevel:1,dataMask:0}},{bits:20773,formatInfo:{errorCorrectionLevel:1,dataMask:1}},{bits:24188,formatInfo:{errorCorrectionLevel:1,dataMask:2}},{bits:23371,formatInfo:{errorCorrectionLevel:1,dataMask:3}},{bits:17913,formatInfo:{errorCorrectionLevel:1,dataMask:4}},{bits:16590,formatInfo:{errorCorrectionLevel:1,dataMask:5}},{bits:20375,formatInfo:{errorCorrectionLevel:1,dataMask:6}},{bits:19104,formatInfo:{errorCorrectionLevel:1,dataMask:7}},{bits:30660,formatInfo:{errorCorrectionLevel:0,dataMask:0}},{bits:29427,formatInfo:{errorCorrectionLevel:0,dataMask:1}},{bits:32170,formatInfo:{errorCorrectionLevel:0,dataMask:2}},{bits:30877,formatInfo:{errorCorrectionLevel:0,dataMask:3}},{bits:26159,formatInfo:{errorCorrectionLevel:0,dataMask:4}},{bits:25368,formatInfo:{errorCorrectionLevel:0,dataMask:5}},{bits:27713,formatInfo:{errorCorrectionLevel:0,dataMask:6}},{bits:26998,formatInfo:{errorCorrectionLevel:0,dataMask:7}},{bits:5769,formatInfo:{errorCorrectionLevel:3,dataMask:0}},{bits:5054,formatInfo:{errorCorrectionLevel:3,dataMask:1}},{bits:7399,formatInfo:{errorCorrectionLevel:3,dataMask:2}},{bits:6608,formatInfo:{errorCorrectionLevel:3,dataMask:3}},{bits:1890,formatInfo:{errorCorrectionLevel:3,dataMask:4}},{bits:597,formatInfo:{errorCorrectionLevel:3,dataMask:5}},{bits:3340,formatInfo:{errorCorrectionLevel:3,dataMask:6}},{bits:2107,formatInfo:{errorCorrectionLevel:3,dataMask:7}},{bits:13663,formatInfo:{errorCorrectionLevel:2,dataMask:0}},{bits:12392,formatInfo:{errorCorrectionLevel:2,dataMask:1}},{bits:16177,formatInfo:{errorCorrectionLevel:2,dataMask:2}},{bits:14854,formatInfo:{errorCorrectionLevel:2,dataMask:3}},{bits:9396,formatInfo:{errorCorrectionLevel:2,dataMask:4}},{bits:8579,formatInfo:{errorCorrectionLevel:2,dataMask:5}},{bits:11994,formatInfo:{errorCorrectionLevel:2,dataMask:6}},{bits:11245,formatInfo:{errorCorrectionLevel:2,dataMask:7}}],d=[function(e){return (e.y+e.x)%2==0},function(e){return e.y%2==0},function(e){return e.x%3==0},function(e){return (e.y+e.x)%3==0},function(e){return (Math.floor(e.y/2)+Math.floor(e.x/3))%2==0},function(e){return e.x*e.y%2+e.x*e.y%3==0},function(e){return (e.y*e.x%2+e.y*e.x%3)%2==0},function(e){return ((e.y+e.x)%2+e.y*e.x%3)%2==0}];function u(e){var o=function(e){var o=e.height,t=Math.floor((o-17)/4);if(t<=6)return i.VERSIONS[t-1];for(var s=0,r=5;r>=0;r--)for(var n=o-9;n>=o-11;n--)s=c(e.get(n,r),s);var l=0;for(n=5;n>=0;n--)for(r=o-9;r>=o-11;r--)l=c(e.get(n,r),l);for(var d,u=1/0,h=0,m=i.VERSIONS;h<m.length;h++){var k=m[h];if(k.infoBits===s||k.infoBits===l)return k;var f=a(s,k.infoBits);f<u&&(d=k,u=f),(f=a(l,k.infoBits))<u&&(d=k,u=f);}return u<=3?d:void 0}(e);if(!o)return null;var t=function(e){for(var o=0,t=0;t<=8;t++)6!==t&&(o=c(e.get(t,8),o));for(var s=7;s>=0;s--)6!==s&&(o=c(e.get(8,s),o));var r=e.height,n=0;for(s=r-1;s>=r-7;s--)n=c(e.get(8,s),n);for(t=r-8;t<r;t++)n=c(e.get(t,8),n);for(var i=1/0,d=null,u=0,h=l;u<h.length;u++){var m=h[u],k=m.bits,f=m.formatInfo;if(k===o||k===n)return f;var B=a(o,k);B<i&&(d=f,i=B),o!==n&&(B=a(n,k))<i&&(d=f,i=B);}return i<=3?d:null}(e);if(!t)return null;var u=function(e,o,t){var s=o.errorCorrectionLevels[t],r=[],n=0;if(s.ecBlocks.forEach(function(e){for(var o=0;o<e.numBlocks;o++)r.push({numDataCodewords:e.dataCodewordsPerBlock,codewords:[]}),n+=e.dataCodewordsPerBlock+s.ecCodewordsPerBlock;}),e.length<n)return null;e=e.slice(0,n);for(var i=s.ecBlocks[0].dataCodewordsPerBlock,a=0;a<i;a++)for(var c=0,l=r;c<l.length;c++)l[c].codewords.push(e.shift());if(s.ecBlocks.length>1){var d=s.ecBlocks[0].numBlocks,u=s.ecBlocks[1].numBlocks;for(a=0;a<u;a++)r[d+a].codewords.push(e.shift());}for(;e.length>0;)for(var h=0,m=r;h<m.length;h++)m[h].codewords.push(e.shift());return r}(function(e,o,t){for(var r=d[t.dataMask],n=e.height,i=function(e){var o=17+4*e.versionNumber,t=s.BitMatrix.createEmpty(o,o);t.setRegion(0,0,9,9,true),t.setRegion(o-8,0,8,9,true),t.setRegion(0,o-8,9,8,true);for(var r=0,n=e.alignmentPatternCenters;r<n.length;r++)for(var i=n[r],a=0,c=e.alignmentPatternCenters;a<c.length;a++){var l=c[a];6===i&&6===l||6===i&&l===o-7||i===o-7&&6===l||t.setRegion(i-2,l-2,5,5,true);}return t.setRegion(6,9,1,o-17,true),t.setRegion(9,6,o-17,1,true),e.versionNumber>6&&(t.setRegion(o-11,0,3,6,true),t.setRegion(0,o-11,6,3,true)),t}(o),a=[],l=0,u=0,h=true,m=n-1;m>0;m-=2){6===m&&m--;for(var k=0;k<n;k++)for(var f=h?n-1-k:k,B=0;B<2;B++){var w=m-B;if(!i.get(w,f)){u++;var p=e.get(w,f);r({y:f,x:w})&&(p=!p),l=c(p,l),8===u&&(a.push(l),u=0,l=0);}}h=!h;}return a}(e,o,t),o,t.errorCorrectionLevel);if(!u)return null;for(var h=u.reduce(function(e,o){return e+o.numDataCodewords},0),m=new Uint8ClampedArray(h),k=0,f=0,B=u;f<B.length;f++){var w=B[f],p=n.decode(w.codewords,w.codewords.length-w.numDataCodewords);if(!p)return null;for(var v=0;v<w.numDataCodewords;v++)m[k++]=p[v];}try{return r.decode(m,o.versionNumber)}catch(C){return null}}o.decode=function(e){if(null==e)return null;var o=u(e);if(o)return o;for(var t=0;t<e.width;t++)for(var s=t+1;s<e.height;s++)e.get(t,s)!==e.get(s,t)&&(e.set(t,s,!e.get(t,s)),e.set(s,t,!e.get(s,t)));return u(e)};},function(e,o,t){Object.defineProperty(o,"t",{value:true});var s,r,n,i,a=t(7),c=t(8);function l(e,o){for(var t=[],s="",r=e.readBits([10,12,14][o]);r>=3;){if((c=e.readBits(10))>=1e3)throw new Error("Invalid numeric value above 999");var n=Math.floor(c/100),i=Math.floor(c/10)%10,a=c%10;t.push(48+n,48+i,48+a),s+=n.toString()+i.toString()+a.toString(),r-=3;}if(2===r){if((c=e.readBits(7))>=100)throw new Error("Invalid numeric value above 99");n=Math.floor(c/10),t.push(48+n,48+(i=c%10)),s+=n.toString()+i.toString();}else if(1===r){var c;if((c=e.readBits(4))>=10)throw new Error("Invalid numeric value above 9");t.push(48+c),s+=c.toString();}return {bytes:t,text:s}}(r=s=o.Mode||(o.Mode={})).Numeric="numeric",r.Alphanumeric="alphanumeric",r.Byte="byte",r.Kanji="kanji",r.ECI="eci",(i=n||(n={}))[i.Terminator=0]="Terminator",i[i.Numeric=1]="Numeric",i[i.Alphanumeric=2]="Alphanumeric",i[i.Byte=4]="Byte",i[i.Kanji=8]="Kanji",i[i.ECI=7]="ECI";var d=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function u(e,o){for(var t=[],s="",r=e.readBits([9,11,13][o]);r>=2;){var n=e.readBits(11),i=Math.floor(n/45),a=n%45;t.push(d[i].charCodeAt(0),d[a].charCodeAt(0)),s+=d[i]+d[a],r-=2;}return 1===r&&(i=e.readBits(6),t.push(d[i].charCodeAt(0)),s+=d[i]),{bytes:t,text:s}}function h(e,o){for(var t=[],s="",r=e.readBits([8,16,16][o]),n=0;n<r;n++){var i=e.readBits(8);t.push(i);}try{s+=decodeURIComponent(t.map(function(e){return "%"+("0"+e.toString(16)).substr(-2)}).join(""));}catch(a){}return {bytes:t,text:s}}function m(e,o){for(var t=[],s="",r=e.readBits([8,10,12][o]),n=0;n<r;n++){var i=e.readBits(13),a=Math.floor(i/192)<<8|i%192;t.push((a+=a<7936?33088:49472)>>8,255&a),s+=String.fromCharCode(c.shiftJISTable[a]);}return {bytes:t,text:s}}o.decode=function(e,o){for(var t,r,i,c,d=new a.BitStream(e),k=o<=9?0:o<=26?1:2,f={text:"",bytes:[],chunks:[],version:o};d.available()>=4;){var B=d.readBits(4);if(B===n.Terminator)return f;if(B===n.ECI)0===d.readBits(1)?f.chunks.push({type:s.ECI,assignmentNumber:d.readBits(7)}):0===d.readBits(1)?f.chunks.push({type:s.ECI,assignmentNumber:d.readBits(14)}):0===d.readBits(1)?f.chunks.push({type:s.ECI,assignmentNumber:d.readBits(21)}):f.chunks.push({type:s.ECI,assignmentNumber:-1});else if(B===n.Numeric){var w=l(d,k);f.text+=w.text,(t=f.bytes).push.apply(t,w.bytes),f.chunks.push({type:s.Numeric,text:w.text});}else if(B===n.Alphanumeric){var p=u(d,k);f.text+=p.text,(r=f.bytes).push.apply(r,p.bytes),f.chunks.push({type:s.Alphanumeric,text:p.text});}else if(B===n.Byte){var v=h(d,k);f.text+=v.text,(i=f.bytes).push.apply(i,v.bytes),f.chunks.push({type:s.Byte,bytes:v.bytes,text:v.text});}else if(B===n.Kanji){var C=m(d,k);f.text+=C.text,(c=f.bytes).push.apply(c,C.bytes),f.chunks.push({type:s.Kanji,bytes:C.bytes,text:C.text});}}if(0===d.available()||0===d.readBits(d.available()))return f};},function(e,o){Object.defineProperty(o,"t",{value:true});var t=function(){function e(e){this.byteOffset=0,this.bitOffset=0,this.bytes=e;}return e.prototype.readBits=function(e){if(e<1||e>32||e>this.available())throw new Error("Cannot read "+e.toString()+" bits");var o=0;if(this.bitOffset>0){var t=8-this.bitOffset,s=e<t?e:t;o=(this.bytes[this.byteOffset]&255>>8-s<<(r=t-s))>>r,e-=s,this.bitOffset+=s,8===this.bitOffset&&(this.bitOffset=0,this.byteOffset++);}if(e>0){for(;e>=8;)o=o<<8|255&this.bytes[this.byteOffset],this.byteOffset++,e-=8;var r;e>0&&(o=o<<e|(this.bytes[this.byteOffset]&255>>(r=8-e)<<r)>>r,this.bitOffset+=e);}return o},e.prototype.available=function(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset},e}();o.BitStream=t;},function(e,o){Object.defineProperty(o,"t",{value:true}),o.shiftJISTable={32:32,33:33,34:34,35:35,36:36,37:37,38:38,39:39,40:40,41:41,42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,58:58,59:59,60:60,61:61,62:62,63:63,64:64,65:65,66:66,67:67,68:68,69:69,70:70,71:71,72:72,73:73,74:74,75:75,76:76,77:77,78:78,79:79,80:80,81:81,82:82,83:83,84:84,85:85,86:86,87:87,88:88,89:89,90:90,91:91,92:165,93:93,94:94,95:95,96:96,97:97,98:98,99:99,100:100,101:101,102:102,103:103,104:104,105:105,106:106,107:107,108:108,109:109,110:110,111:111,112:112,113:113,114:114,115:115,116:116,117:117,118:118,119:119,120:120,121:121,122:122,123:123,124:124,125:125,126:8254,33088:12288,33089:12289,33090:12290,33091:65292,33092:65294,33093:12539,33094:65306,33095:65307,33096:65311,33097:65281,33098:12443,33099:12444,33100:180,33101:65344,33102:168,33103:65342,33104:65507,33105:65343,33106:12541,33107:12542,33108:12445,33109:12446,33110:12291,33111:20189,33112:12293,33113:12294,33114:12295,33115:12540,33116:8213,33117:8208,33118:65295,33119:92,33120:12316,33121:8214,33122:65372,33123:8230,33124:8229,33125:8216,33126:8217,33127:8220,33128:8221,33129:65288,33130:65289,33131:12308,33132:12309,33133:65339,33134:65341,33135:65371,33136:65373,33137:12296,33138:12297,33139:12298,33140:12299,33141:12300,33142:12301,33143:12302,33144:12303,33145:12304,33146:12305,33147:65291,33148:8722,33149:177,33150:215,33152:247,33153:65309,33154:8800,33155:65308,33156:65310,33157:8806,33158:8807,33159:8734,33160:8756,33161:9794,33162:9792,33163:176,33164:8242,33165:8243,33166:8451,33167:65509,33168:65284,33169:162,33170:163,33171:65285,33172:65283,33173:65286,33174:65290,33175:65312,33176:167,33177:9734,33178:9733,33179:9675,33180:9679,33181:9678,33182:9671,33183:9670,33184:9633,33185:9632,33186:9651,33187:9650,33188:9661,33189:9660,33190:8251,33191:12306,33192:8594,33193:8592,33194:8593,33195:8595,33196:12307,33208:8712,33209:8715,33210:8838,33211:8839,33212:8834,33213:8835,33214:8746,33215:8745,33224:8743,33225:8744,33226:172,33227:8658,33228:8660,33229:8704,33230:8707,33242:8736,33243:8869,33244:8978,33245:8706,33246:8711,33247:8801,33248:8786,33249:8810,33250:8811,33251:8730,33252:8765,33253:8733,33254:8757,33255:8747,33256:8748,33264:8491,33265:8240,33266:9839,33267:9837,33268:9834,33269:8224,33270:8225,33271:182,33276:9711,33359:65296,33360:65297,33361:65298,33362:65299,33363:65300,33364:65301,33365:65302,33366:65303,33367:65304,33368:65305,33376:65313,33377:65314,33378:65315,33379:65316,33380:65317,33381:65318,33382:65319,33383:65320,33384:65321,33385:65322,33386:65323,33387:65324,33388:65325,33389:65326,33390:65327,33391:65328,33392:65329,33393:65330,33394:65331,33395:65332,33396:65333,33397:65334,33398:65335,33399:65336,33400:65337,33401:65338,33409:65345,33410:65346,33411:65347,33412:65348,33413:65349,33414:65350,33415:65351,33416:65352,33417:65353,33418:65354,33419:65355,33420:65356,33421:65357,33422:65358,33423:65359,33424:65360,33425:65361,33426:65362,33427:65363,33428:65364,33429:65365,33430:65366,33431:65367,33432:65368,33433:65369,33434:65370,33439:12353,33440:12354,33441:12355,33442:12356,33443:12357,33444:12358,33445:12359,33446:12360,33447:12361,33448:12362,33449:12363,33450:12364,33451:12365,33452:12366,33453:12367,33454:12368,33455:12369,33456:12370,33457:12371,33458:12372,33459:12373,33460:12374,33461:12375,33462:12376,33463:12377,33464:12378,33465:12379,33466:12380,33467:12381,33468:12382,33469:12383,33470:12384,33471:12385,33472:12386,33473:12387,33474:12388,33475:12389,33476:12390,33477:12391,33478:12392,33479:12393,33480:12394,33481:12395,33482:12396,33483:12397,33484:12398,33485:12399,33486:12400,33487:12401,33488:12402,33489:12403,33490:12404,33491:12405,33492:12406,33493:12407,33494:12408,33495:12409,33496:12410,33497:12411,33498:12412,33499:12413,33500:12414,33501:12415,33502:12416,33503:12417,33504:12418,33505:12419,33506:12420,33507:12421,33508:12422,33509:12423,33510:12424,33511:12425,33512:12426,33513:12427,33514:12428,33515:12429,33516:12430,33517:12431,33518:12432,33519:12433,33520:12434,33521:12435,33600:12449,33601:12450,33602:12451,33603:12452,33604:12453,33605:12454,33606:12455,33607:12456,33608:12457,33609:12458,33610:12459,33611:12460,33612:12461,33613:12462,33614:12463,33615:12464,33616:12465,33617:12466,33618:12467,33619:12468,33620:12469,33621:12470,33622:12471,33623:12472,33624:12473,33625:12474,33626:12475,33627:12476,33628:12477,33629:12478,33630:12479,33631:12480,33632:12481,33633:12482,33634:12483,33635:12484,33636:12485,33637:12486,33638:12487,33639:12488,33640:12489,33641:12490,33642:12491,33643:12492,33644:12493,33645:12494,33646:12495,33647:12496,33648:12497,33649:12498,33650:12499,33651:12500,33652:12501,33653:12502,33654:12503,33655:12504,33656:12505,33657:12506,33658:12507,33659:12508,33660:12509,33661:12510,33662:12511,33664:12512,33665:12513,33666:12514,33667:12515,33668:12516,33669:12517,33670:12518,33671:12519,33672:12520,33673:12521,33674:12522,33675:12523,33676:12524,33677:12525,33678:12526,33679:12527,33680:12528,33681:12529,33682:12530,33683:12531,33684:12532,33685:12533,33686:12534,33695:913,33696:914,33697:915,33698:916,33699:917,33700:918,33701:919,33702:920,33703:921,33704:922,33705:923,33706:924,33707:925,33708:926,33709:927,33710:928,33711:929,33712:931,33713:932,33714:933,33715:934,33716:935,33717:936,33718:937,33727:945,33728:946,33729:947,33730:948,33731:949,33732:950,33733:951,33734:952,33735:953,33736:954,33737:955,33738:956,33739:957,33740:958,33741:959,33742:960,33743:961,33744:963,33745:964,33746:965,33747:966,33748:967,33749:968,33750:969,33856:1040,33857:1041,33858:1042,33859:1043,33860:1044,33861:1045,33862:1025,33863:1046,33864:1047,33865:1048,33866:1049,33867:1050,33868:1051,33869:1052,33870:1053,33871:1054,33872:1055,33873:1056,33874:1057,33875:1058,33876:1059,33877:1060,33878:1061,33879:1062,33880:1063,33881:1064,33882:1065,33883:1066,33884:1067,33885:1068,33886:1069,33887:1070,33888:1071,33904:1072,33905:1073,33906:1074,33907:1075,33908:1076,33909:1077,33910:1105,33911:1078,33912:1079,33913:1080,33914:1081,33915:1082,33916:1083,33917:1084,33918:1085,33920:1086,33921:1087,33922:1088,33923:1089,33924:1090,33925:1091,33926:1092,33927:1093,33928:1094,33929:1095,33930:1096,33931:1097,33932:1098,33933:1099,33934:1100,33935:1101,33936:1102,33937:1103,33951:9472,33952:9474,33953:9484,33954:9488,33955:9496,33956:9492,33957:9500,33958:9516,33959:9508,33960:9524,33961:9532,33962:9473,33963:9475,33964:9487,33965:9491,33966:9499,33967:9495,33968:9507,33969:9523,33970:9515,33971:9531,33972:9547,33973:9504,33974:9519,33975:9512,33976:9527,33977:9535,33978:9501,33979:9520,33980:9509,33981:9528,33982:9538,34975:20124,34976:21782,34977:23043,34978:38463,34979:21696,34980:24859,34981:25384,34982:23030,34983:36898,34984:33909,34985:33564,34986:31312,34987:24746,34988:25569,34989:28197,34990:26093,34991:33894,34992:33446,34993:39925,34994:26771,34995:22311,34996:26017,34997:25201,34998:23451,34999:22992,35e3:34427,35001:39156,35002:32098,35003:32190,35004:39822,35005:25110,35006:31903,35007:34999,35008:23433,35009:24245,35010:25353,35011:26263,35012:26696,35013:38343,35014:38797,35015:26447,35016:20197,35017:20234,35018:20301,35019:20381,35020:20553,35021:22258,35022:22839,35023:22996,35024:23041,35025:23561,35026:24799,35027:24847,35028:24944,35029:26131,35030:26885,35031:28858,35032:30031,35033:30064,35034:31227,35035:32173,35036:32239,35037:32963,35038:33806,35039:34915,35040:35586,35041:36949,35042:36986,35043:21307,35044:20117,35045:20133,35046:22495,35047:32946,35048:37057,35049:30959,35050:19968,35051:22769,35052:28322,35053:36920,35054:31282,35055:33576,35056:33419,35057:39983,35058:20801,35059:21360,35060:21693,35061:21729,35062:22240,35063:23035,35064:24341,35065:39154,35066:28139,35067:32996,35068:34093,35136:38498,35137:38512,35138:38560,35139:38907,35140:21515,35141:21491,35142:23431,35143:28879,35144:32701,35145:36802,35146:38632,35147:21359,35148:40284,35149:31418,35150:19985,35151:30867,35152:33276,35153:28198,35154:22040,35155:21764,35156:27421,35157:34074,35158:39995,35159:23013,35160:21417,35161:28006,35162:29916,35163:38287,35164:22082,35165:20113,35166:36939,35167:38642,35168:33615,35169:39180,35170:21473,35171:21942,35172:23344,35173:24433,35174:26144,35175:26355,35176:26628,35177:27704,35178:27891,35179:27945,35180:29787,35181:30408,35182:31310,35183:38964,35184:33521,35185:34907,35186:35424,35187:37613,35188:28082,35189:30123,35190:30410,35191:39365,35192:24742,35193:35585,35194:36234,35195:38322,35196:27022,35197:21421,35198:20870,35200:22290,35201:22576,35202:22852,35203:23476,35204:24310,35205:24616,35206:25513,35207:25588,35208:27839,35209:28436,35210:28814,35211:28948,35212:29017,35213:29141,35214:29503,35215:32257,35216:33398,35217:33489,35218:34199,35219:36960,35220:37467,35221:40219,35222:22633,35223:26044,35224:27738,35225:29989,35226:20985,35227:22830,35228:22885,35229:24448,35230:24540,35231:25276,35232:26106,35233:27178,35234:27431,35235:27572,35236:29579,35237:32705,35238:35158,35239:40236,35240:40206,35241:40644,35242:23713,35243:27798,35244:33659,35245:20740,35246:23627,35247:25014,35248:33222,35249:26742,35250:29281,35251:20057,35252:20474,35253:21368,35254:24681,35255:28201,35256:31311,35257:38899,35258:19979,35259:21270,35260:20206,35261:20309,35262:20285,35263:20385,35264:20339,35265:21152,35266:21487,35267:22025,35268:22799,35269:23233,35270:23478,35271:23521,35272:31185,35273:26247,35274:26524,35275:26550,35276:27468,35277:27827,35278:28779,35279:29634,35280:31117,35281:31166,35282:31292,35283:31623,35284:33457,35285:33499,35286:33540,35287:33655,35288:33775,35289:33747,35290:34662,35291:35506,35292:22057,35293:36008,35294:36838,35295:36942,35296:38686,35297:34442,35298:20420,35299:23784,35300:25105,35301:29273,35302:30011,35303:33253,35304:33469,35305:34558,35306:36032,35307:38597,35308:39187,35309:39381,35310:20171,35311:20250,35312:35299,35313:22238,35314:22602,35315:22730,35316:24315,35317:24555,35318:24618,35319:24724,35320:24674,35321:25040,35322:25106,35323:25296,35324:25913,35392:39745,35393:26214,35394:26800,35395:28023,35396:28784,35397:30028,35398:30342,35399:32117,35400:33445,35401:34809,35402:38283,35403:38542,35404:35997,35405:20977,35406:21182,35407:22806,35408:21683,35409:23475,35410:23830,35411:24936,35412:27010,35413:28079,35414:30861,35415:33995,35416:34903,35417:35442,35418:37799,35419:39608,35420:28012,35421:39336,35422:34521,35423:22435,35424:26623,35425:34510,35426:37390,35427:21123,35428:22151,35429:21508,35430:24275,35431:25313,35432:25785,35433:26684,35434:26680,35435:27579,35436:29554,35437:30906,35438:31339,35439:35226,35440:35282,35441:36203,35442:36611,35443:37101,35444:38307,35445:38548,35446:38761,35447:23398,35448:23731,35449:27005,35450:38989,35451:38990,35452:25499,35453:31520,35454:27179,35456:27263,35457:26806,35458:39949,35459:28511,35460:21106,35461:21917,35462:24688,35463:25324,35464:27963,35465:28167,35466:28369,35467:33883,35468:35088,35469:36676,35470:19988,35471:39993,35472:21494,35473:26907,35474:27194,35475:38788,35476:26666,35477:20828,35478:31427,35479:33970,35480:37340,35481:37772,35482:22107,35483:40232,35484:26658,35485:33541,35486:33841,35487:31909,35488:21e3,35489:33477,35490:29926,35491:20094,35492:20355,35493:20896,35494:23506,35495:21002,35496:21208,35497:21223,35498:24059,35499:21914,35500:22570,35501:23014,35502:23436,35503:23448,35504:23515,35505:24178,35506:24185,35507:24739,35508:24863,35509:24931,35510:25022,35511:25563,35512:25954,35513:26577,35514:26707,35515:26874,35516:27454,35517:27475,35518:27735,35519:28450,35520:28567,35521:28485,35522:29872,35523:29976,35524:30435,35525:30475,35526:31487,35527:31649,35528:31777,35529:32233,35530:32566,35531:32752,35532:32925,35533:33382,35534:33694,35535:35251,35536:35532,35537:36011,35538:36996,35539:37969,35540:38291,35541:38289,35542:38306,35543:38501,35544:38867,35545:39208,35546:33304,35547:20024,35548:21547,35549:23736,35550:24012,35551:29609,35552:30284,35553:30524,35554:23721,35555:32747,35556:36107,35557:38593,35558:38929,35559:38996,35560:39e3,35561:20225,35562:20238,35563:21361,35564:21916,35565:22120,35566:22522,35567:22855,35568:23305,35569:23492,35570:23696,35571:24076,35572:24190,35573:24524,35574:25582,35575:26426,35576:26071,35577:26082,35578:26399,35579:26827,35580:26820,35648:27231,35649:24112,35650:27589,35651:27671,35652:27773,35653:30079,35654:31048,35655:23395,35656:31232,35657:32e3,35658:24509,35659:35215,35660:35352,35661:36020,35662:36215,35663:36556,35664:36637,35665:39138,35666:39438,35667:39740,35668:20096,35669:20605,35670:20736,35671:22931,35672:23452,35673:25135,35674:25216,35675:25836,35676:27450,35677:29344,35678:30097,35679:31047,35680:32681,35681:34811,35682:35516,35683:35696,35684:25516,35685:33738,35686:38816,35687:21513,35688:21507,35689:21931,35690:26708,35691:27224,35692:35440,35693:30759,35694:26485,35695:40653,35696:21364,35697:23458,35698:33050,35699:34384,35700:36870,35701:19992,35702:20037,35703:20167,35704:20241,35705:21450,35706:21560,35707:23470,35708:24339,35709:24613,35710:25937,35712:26429,35713:27714,35714:27762,35715:27875,35716:28792,35717:29699,35718:31350,35719:31406,35720:31496,35721:32026,35722:31998,35723:32102,35724:26087,35725:29275,35726:21435,35727:23621,35728:24040,35729:25298,35730:25312,35731:25369,35732:28192,35733:34394,35734:35377,35735:36317,35736:37624,35737:28417,35738:31142,35739:39770,35740:20136,35741:20139,35742:20140,35743:20379,35744:20384,35745:20689,35746:20807,35747:31478,35748:20849,35749:20982,35750:21332,35751:21281,35752:21375,35753:21483,35754:21932,35755:22659,35756:23777,35757:24375,35758:24394,35759:24623,35760:24656,35761:24685,35762:25375,35763:25945,35764:27211,35765:27841,35766:29378,35767:29421,35768:30703,35769:33016,35770:33029,35771:33288,35772:34126,35773:37111,35774:37857,35775:38911,35776:39255,35777:39514,35778:20208,35779:20957,35780:23597,35781:26241,35782:26989,35783:23616,35784:26354,35785:26997,35786:29577,35787:26704,35788:31873,35789:20677,35790:21220,35791:22343,35792:24062,35793:37670,35794:26020,35795:27427,35796:27453,35797:29748,35798:31105,35799:31165,35800:31563,35801:32202,35802:33465,35803:33740,35804:34943,35805:35167,35806:35641,35807:36817,35808:37329,35809:21535,35810:37504,35811:20061,35812:20534,35813:21477,35814:21306,35815:29399,35816:29590,35817:30697,35818:33510,35819:36527,35820:39366,35821:39368,35822:39378,35823:20855,35824:24858,35825:34398,35826:21936,35827:31354,35828:20598,35829:23507,35830:36935,35831:38533,35832:20018,35833:27355,35834:37351,35835:23633,35836:23624,35904:25496,35905:31391,35906:27795,35907:38772,35908:36705,35909:31402,35910:29066,35911:38536,35912:31874,35913:26647,35914:32368,35915:26705,35916:37740,35917:21234,35918:21531,35919:34219,35920:35347,35921:32676,35922:36557,35923:37089,35924:21350,35925:34952,35926:31041,35927:20418,35928:20670,35929:21009,35930:20804,35931:21843,35932:22317,35933:29674,35934:22411,35935:22865,35936:24418,35937:24452,35938:24693,35939:24950,35940:24935,35941:25001,35942:25522,35943:25658,35944:25964,35945:26223,35946:26690,35947:28179,35948:30054,35949:31293,35950:31995,35951:32076,35952:32153,35953:32331,35954:32619,35955:33550,35956:33610,35957:34509,35958:35336,35959:35427,35960:35686,35961:36605,35962:38938,35963:40335,35964:33464,35965:36814,35966:39912,35968:21127,35969:25119,35970:25731,35971:28608,35972:38553,35973:26689,35974:20625,35975:27424,35976:27770,35977:28500,35978:31348,35979:32080,35980:34880,35981:35363,35982:26376,35983:20214,35984:20537,35985:20518,35986:20581,35987:20860,35988:21048,35989:21091,35990:21927,35991:22287,35992:22533,35993:23244,35994:24314,35995:25010,35996:25080,35997:25331,35998:25458,35999:26908,36e3:27177,36001:29309,36002:29356,36003:29486,36004:30740,36005:30831,36006:32121,36007:30476,36008:32937,36009:35211,36010:35609,36011:36066,36012:36562,36013:36963,36014:37749,36015:38522,36016:38997,36017:39443,36018:40568,36019:20803,36020:21407,36021:21427,36022:24187,36023:24358,36024:28187,36025:28304,36026:29572,36027:29694,36028:32067,36029:33335,36030:35328,36031:35578,36032:38480,36033:20046,36034:20491,36035:21476,36036:21628,36037:22266,36038:22993,36039:23396,36040:24049,36041:24235,36042:24359,36043:25144,36044:25925,36045:26543,36046:28246,36047:29392,36048:31946,36049:34996,36050:32929,36051:32993,36052:33776,36053:34382,36054:35463,36055:36328,36056:37431,36057:38599,36058:39015,36059:40723,36060:20116,36061:20114,36062:20237,36063:21320,36064:21577,36065:21566,36066:23087,36067:24460,36068:24481,36069:24735,36070:26791,36071:27278,36072:29786,36073:30849,36074:35486,36075:35492,36076:35703,36077:37264,36078:20062,36079:39881,36080:20132,36081:20348,36082:20399,36083:20505,36084:20502,36085:20809,36086:20844,36087:21151,36088:21177,36089:21246,36090:21402,36091:21475,36092:21521,36160:21518,36161:21897,36162:22353,36163:22434,36164:22909,36165:23380,36166:23389,36167:23439,36168:24037,36169:24039,36170:24055,36171:24184,36172:24195,36173:24218,36174:24247,36175:24344,36176:24658,36177:24908,36178:25239,36179:25304,36180:25511,36181:25915,36182:26114,36183:26179,36184:26356,36185:26477,36186:26657,36187:26775,36188:27083,36189:27743,36190:27946,36191:28009,36192:28207,36193:28317,36194:30002,36195:30343,36196:30828,36197:31295,36198:31968,36199:32005,36200:32024,36201:32094,36202:32177,36203:32789,36204:32771,36205:32943,36206:32945,36207:33108,36208:33167,36209:33322,36210:33618,36211:34892,36212:34913,36213:35611,36214:36002,36215:36092,36216:37066,36217:37237,36218:37489,36219:30783,36220:37628,36221:38308,36222:38477,36224:38917,36225:39321,36226:39640,36227:40251,36228:21083,36229:21163,36230:21495,36231:21512,36232:22741,36233:25335,36234:28640,36235:35946,36236:36703,36237:40633,36238:20811,36239:21051,36240:21578,36241:22269,36242:31296,36243:37239,36244:40288,36245:40658,36246:29508,36247:28425,36248:33136,36249:29969,36250:24573,36251:24794,36252:39592,36253:29403,36254:36796,36255:27492,36256:38915,36257:20170,36258:22256,36259:22372,36260:22718,36261:23130,36262:24680,36263:25031,36264:26127,36265:26118,36266:26681,36267:26801,36268:28151,36269:30165,36270:32058,36271:33390,36272:39746,36273:20123,36274:20304,36275:21449,36276:21766,36277:23919,36278:24038,36279:24046,36280:26619,36281:27801,36282:29811,36283:30722,36284:35408,36285:37782,36286:35039,36287:22352,36288:24231,36289:25387,36290:20661,36291:20652,36292:20877,36293:26368,36294:21705,36295:22622,36296:22971,36297:23472,36298:24425,36299:25165,36300:25505,36301:26685,36302:27507,36303:28168,36304:28797,36305:37319,36306:29312,36307:30741,36308:30758,36309:31085,36310:25998,36311:32048,36312:33756,36313:35009,36314:36617,36315:38555,36316:21092,36317:22312,36318:26448,36319:32618,36320:36001,36321:20916,36322:22338,36323:38442,36324:22586,36325:27018,36326:32948,36327:21682,36328:23822,36329:22524,36330:30869,36331:40442,36332:20316,36333:21066,36334:21643,36335:25662,36336:26152,36337:26388,36338:26613,36339:31364,36340:31574,36341:32034,36342:37679,36343:26716,36344:39853,36345:31545,36346:21273,36347:20874,36348:21047,36416:23519,36417:25334,36418:25774,36419:25830,36420:26413,36421:27578,36422:34217,36423:38609,36424:30352,36425:39894,36426:25420,36427:37638,36428:39851,36429:30399,36430:26194,36431:19977,36432:20632,36433:21442,36434:23665,36435:24808,36436:25746,36437:25955,36438:26719,36439:29158,36440:29642,36441:29987,36442:31639,36443:32386,36444:34453,36445:35715,36446:36059,36447:37240,36448:39184,36449:26028,36450:26283,36451:27531,36452:20181,36453:20180,36454:20282,36455:20351,36456:21050,36457:21496,36458:21490,36459:21987,36460:22235,36461:22763,36462:22987,36463:22985,36464:23039,36465:23376,36466:23629,36467:24066,36468:24107,36469:24535,36470:24605,36471:25351,36472:25903,36473:23388,36474:26031,36475:26045,36476:26088,36477:26525,36478:27490,36480:27515,36481:27663,36482:29509,36483:31049,36484:31169,36485:31992,36486:32025,36487:32043,36488:32930,36489:33026,36490:33267,36491:35222,36492:35422,36493:35433,36494:35430,36495:35468,36496:35566,36497:36039,36498:36060,36499:38604,36500:39164,36501:27503,36502:20107,36503:20284,36504:20365,36505:20816,36506:23383,36507:23546,36508:24904,36509:25345,36510:26178,36511:27425,36512:28363,36513:27835,36514:29246,36515:29885,36516:30164,36517:30913,36518:31034,36519:32780,36520:32819,36521:33258,36522:33940,36523:36766,36524:27728,36525:40575,36526:24335,36527:35672,36528:40235,36529:31482,36530:36600,36531:23437,36532:38635,36533:19971,36534:21489,36535:22519,36536:22833,36537:23241,36538:23460,36539:24713,36540:28287,36541:28422,36542:30142,36543:36074,36544:23455,36545:34048,36546:31712,36547:20594,36548:26612,36549:33437,36550:23649,36551:34122,36552:32286,36553:33294,36554:20889,36555:23556,36556:25448,36557:36198,36558:26012,36559:29038,36560:31038,36561:32023,36562:32773,36563:35613,36564:36554,36565:36974,36566:34503,36567:37034,36568:20511,36569:21242,36570:23610,36571:26451,36572:28796,36573:29237,36574:37196,36575:37320,36576:37675,36577:33509,36578:23490,36579:24369,36580:24825,36581:20027,36582:21462,36583:23432,36584:25163,36585:26417,36586:27530,36587:29417,36588:29664,36589:31278,36590:33131,36591:36259,36592:37202,36593:39318,36594:20754,36595:21463,36596:21610,36597:23551,36598:25480,36599:27193,36600:32172,36601:38656,36602:22234,36603:21454,36604:21608,36672:23447,36673:23601,36674:24030,36675:20462,36676:24833,36677:25342,36678:27954,36679:31168,36680:31179,36681:32066,36682:32333,36683:32722,36684:33261,36685:33311,36686:33936,36687:34886,36688:35186,36689:35728,36690:36468,36691:36655,36692:36913,36693:37195,36694:37228,36695:38598,36696:37276,36697:20160,36698:20303,36699:20805,36700:21313,36701:24467,36702:25102,36703:26580,36704:27713,36705:28171,36706:29539,36707:32294,36708:37325,36709:37507,36710:21460,36711:22809,36712:23487,36713:28113,36714:31069,36715:32302,36716:31899,36717:22654,36718:29087,36719:20986,36720:34899,36721:36848,36722:20426,36723:23803,36724:26149,36725:30636,36726:31459,36727:33308,36728:39423,36729:20934,36730:24490,36731:26092,36732:26991,36733:27529,36734:28147,36736:28310,36737:28516,36738:30462,36739:32020,36740:24033,36741:36981,36742:37255,36743:38918,36744:20966,36745:21021,36746:25152,36747:26257,36748:26329,36749:28186,36750:24246,36751:32210,36752:32626,36753:26360,36754:34223,36755:34295,36756:35576,36757:21161,36758:21465,36759:22899,36760:24207,36761:24464,36762:24661,36763:37604,36764:38500,36765:20663,36766:20767,36767:21213,36768:21280,36769:21319,36770:21484,36771:21736,36772:21830,36773:21809,36774:22039,36775:22888,36776:22974,36777:23100,36778:23477,36779:23558,36780:23567,36781:23569,36782:23578,36783:24196,36784:24202,36785:24288,36786:24432,36787:25215,36788:25220,36789:25307,36790:25484,36791:25463,36792:26119,36793:26124,36794:26157,36795:26230,36796:26494,36797:26786,36798:27167,36799:27189,36800:27836,36801:28040,36802:28169,36803:28248,36804:28988,36805:28966,36806:29031,36807:30151,36808:30465,36809:30813,36810:30977,36811:31077,36812:31216,36813:31456,36814:31505,36815:31911,36816:32057,36817:32918,36818:33750,36819:33931,36820:34121,36821:34909,36822:35059,36823:35359,36824:35388,36825:35412,36826:35443,36827:35937,36828:36062,36829:37284,36830:37478,36831:37758,36832:37912,36833:38556,36834:38808,36835:19978,36836:19976,36837:19998,36838:20055,36839:20887,36840:21104,36841:22478,36842:22580,36843:22732,36844:23330,36845:24120,36846:24773,36847:25854,36848:26465,36849:26454,36850:27972,36851:29366,36852:30067,36853:31331,36854:33976,36855:35698,36856:37304,36857:37664,36858:22065,36859:22516,36860:39166,36928:25325,36929:26893,36930:27542,36931:29165,36932:32340,36933:32887,36934:33394,36935:35302,36936:39135,36937:34645,36938:36785,36939:23611,36940:20280,36941:20449,36942:20405,36943:21767,36944:23072,36945:23517,36946:23529,36947:24515,36948:24910,36949:25391,36950:26032,36951:26187,36952:26862,36953:27035,36954:28024,36955:28145,36956:30003,36957:30137,36958:30495,36959:31070,36960:31206,36961:32051,36962:33251,36963:33455,36964:34218,36965:35242,36966:35386,36967:36523,36968:36763,36969:36914,36970:37341,36971:38663,36972:20154,36973:20161,36974:20995,36975:22645,36976:22764,36977:23563,36978:29978,36979:23613,36980:33102,36981:35338,36982:36805,36983:38499,36984:38765,36985:31525,36986:35535,36987:38920,36988:37218,36989:22259,36990:21416,36992:36887,36993:21561,36994:22402,36995:24101,36996:25512,36997:27700,36998:28810,36999:30561,37e3:31883,37001:32736,37002:34928,37003:36930,37004:37204,37005:37648,37006:37656,37007:38543,37008:29790,37009:39620,37010:23815,37011:23913,37012:25968,37013:26530,37014:36264,37015:38619,37016:25454,37017:26441,37018:26905,37019:33733,37020:38935,37021:38592,37022:35070,37023:28548,37024:25722,37025:23544,37026:19990,37027:28716,37028:30045,37029:26159,37030:20932,37031:21046,37032:21218,37033:22995,37034:24449,37035:24615,37036:25104,37037:25919,37038:25972,37039:26143,37040:26228,37041:26866,37042:26646,37043:27491,37044:28165,37045:29298,37046:29983,37047:30427,37048:31934,37049:32854,37050:22768,37051:35069,37052:35199,37053:35488,37054:35475,37055:35531,37056:36893,37057:37266,37058:38738,37059:38745,37060:25993,37061:31246,37062:33030,37063:38587,37064:24109,37065:24796,37066:25114,37067:26021,37068:26132,37069:26512,37070:30707,37071:31309,37072:31821,37073:32318,37074:33034,37075:36012,37076:36196,37077:36321,37078:36447,37079:30889,37080:20999,37081:25305,37082:25509,37083:25666,37084:25240,37085:35373,37086:31363,37087:31680,37088:35500,37089:38634,37090:32118,37091:33292,37092:34633,37093:20185,37094:20808,37095:21315,37096:21344,37097:23459,37098:23554,37099:23574,37100:24029,37101:25126,37102:25159,37103:25776,37104:26643,37105:26676,37106:27849,37107:27973,37108:27927,37109:26579,37110:28508,37111:29006,37112:29053,37113:26059,37114:31359,37115:31661,37116:32218,37184:32330,37185:32680,37186:33146,37187:33307,37188:33337,37189:34214,37190:35438,37191:36046,37192:36341,37193:36984,37194:36983,37195:37549,37196:37521,37197:38275,37198:39854,37199:21069,37200:21892,37201:28472,37202:28982,37203:20840,37204:31109,37205:32341,37206:33203,37207:31950,37208:22092,37209:22609,37210:23720,37211:25514,37212:26366,37213:26365,37214:26970,37215:29401,37216:30095,37217:30094,37218:30990,37219:31062,37220:31199,37221:31895,37222:32032,37223:32068,37224:34311,37225:35380,37226:38459,37227:36961,37228:40736,37229:20711,37230:21109,37231:21452,37232:21474,37233:20489,37234:21930,37235:22766,37236:22863,37237:29245,37238:23435,37239:23652,37240:21277,37241:24803,37242:24819,37243:25436,37244:25475,37245:25407,37246:25531,37248:25805,37249:26089,37250:26361,37251:24035,37252:27085,37253:27133,37254:28437,37255:29157,37256:20105,37257:30185,37258:30456,37259:31379,37260:31967,37261:32207,37262:32156,37263:32865,37264:33609,37265:33624,37266:33900,37267:33980,37268:34299,37269:35013,37270:36208,37271:36865,37272:36973,37273:37783,37274:38684,37275:39442,37276:20687,37277:22679,37278:24974,37279:33235,37280:34101,37281:36104,37282:36896,37283:20419,37284:20596,37285:21063,37286:21363,37287:24687,37288:25417,37289:26463,37290:28204,37291:36275,37292:36895,37293:20439,37294:23646,37295:36042,37296:26063,37297:32154,37298:21330,37299:34966,37300:20854,37301:25539,37302:23384,37303:23403,37304:23562,37305:25613,37306:26449,37307:36956,37308:20182,37309:22810,37310:22826,37311:27760,37312:35409,37313:21822,37314:22549,37315:22949,37316:24816,37317:25171,37318:26561,37319:33333,37320:26965,37321:38464,37322:39364,37323:39464,37324:20307,37325:22534,37326:23550,37327:32784,37328:23729,37329:24111,37330:24453,37331:24608,37332:24907,37333:25140,37334:26367,37335:27888,37336:28382,37337:32974,37338:33151,37339:33492,37340:34955,37341:36024,37342:36864,37343:36910,37344:38538,37345:40667,37346:39899,37347:20195,37348:21488,37349:22823,37350:31532,37351:37261,37352:38988,37353:40441,37354:28381,37355:28711,37356:21331,37357:21828,37358:23429,37359:25176,37360:25246,37361:25299,37362:27810,37363:28655,37364:29730,37365:35351,37366:37944,37367:28609,37368:35582,37369:33592,37370:20967,37371:34552,37372:21482,37440:21481,37441:20294,37442:36948,37443:36784,37444:22890,37445:33073,37446:24061,37447:31466,37448:36799,37449:26842,37450:35895,37451:29432,37452:40008,37453:27197,37454:35504,37455:20025,37456:21336,37457:22022,37458:22374,37459:25285,37460:25506,37461:26086,37462:27470,37463:28129,37464:28251,37465:28845,37466:30701,37467:31471,37468:31658,37469:32187,37470:32829,37471:32966,37472:34507,37473:35477,37474:37723,37475:22243,37476:22727,37477:24382,37478:26029,37479:26262,37480:27264,37481:27573,37482:30007,37483:35527,37484:20516,37485:30693,37486:22320,37487:24347,37488:24677,37489:26234,37490:27744,37491:30196,37492:31258,37493:32622,37494:33268,37495:34584,37496:36933,37497:39347,37498:31689,37499:30044,37500:31481,37501:31569,37502:33988,37504:36880,37505:31209,37506:31378,37507:33590,37508:23265,37509:30528,37510:20013,37511:20210,37512:23449,37513:24544,37514:25277,37515:26172,37516:26609,37517:27880,37518:34411,37519:34935,37520:35387,37521:37198,37522:37619,37523:39376,37524:27159,37525:28710,37526:29482,37527:33511,37528:33879,37529:36015,37530:19969,37531:20806,37532:20939,37533:21899,37534:23541,37535:24086,37536:24115,37537:24193,37538:24340,37539:24373,37540:24427,37541:24500,37542:25074,37543:25361,37544:26274,37545:26397,37546:28526,37547:29266,37548:30010,37549:30522,37550:32884,37551:33081,37552:33144,37553:34678,37554:35519,37555:35548,37556:36229,37557:36339,37558:37530,37559:38263,37560:38914,37561:40165,37562:21189,37563:25431,37564:30452,37565:26389,37566:27784,37567:29645,37568:36035,37569:37806,37570:38515,37571:27941,37572:22684,37573:26894,37574:27084,37575:36861,37576:37786,37577:30171,37578:36890,37579:22618,37580:26626,37581:25524,37582:27131,37583:20291,37584:28460,37585:26584,37586:36795,37587:34086,37588:32180,37589:37716,37590:26943,37591:28528,37592:22378,37593:22775,37594:23340,37595:32044,37596:29226,37597:21514,37598:37347,37599:40372,37600:20141,37601:20302,37602:20572,37603:20597,37604:21059,37605:35998,37606:21576,37607:22564,37608:23450,37609:24093,37610:24213,37611:24237,37612:24311,37613:24351,37614:24716,37615:25269,37616:25402,37617:25552,37618:26799,37619:27712,37620:30855,37621:31118,37622:31243,37623:32224,37624:33351,37625:35330,37626:35558,37627:36420,37628:36883,37696:37048,37697:37165,37698:37336,37699:40718,37700:27877,37701:25688,37702:25826,37703:25973,37704:28404,37705:30340,37706:31515,37707:36969,37708:37841,37709:28346,37710:21746,37711:24505,37712:25764,37713:36685,37714:36845,37715:37444,37716:20856,37717:22635,37718:22825,37719:23637,37720:24215,37721:28155,37722:32399,37723:29980,37724:36028,37725:36578,37726:39003,37727:28857,37728:20253,37729:27583,37730:28593,37731:3e4,37732:38651,37733:20814,37734:21520,37735:22581,37736:22615,37737:22956,37738:23648,37739:24466,37740:26007,37741:26460,37742:28193,37743:30331,37744:33759,37745:36077,37746:36884,37747:37117,37748:37709,37749:30757,37750:30778,37751:21162,37752:24230,37753:22303,37754:22900,37755:24594,37756:20498,37757:20826,37758:20908,37760:20941,37761:20992,37762:21776,37763:22612,37764:22616,37765:22871,37766:23445,37767:23798,37768:23947,37769:24764,37770:25237,37771:25645,37772:26481,37773:26691,37774:26812,37775:26847,37776:30423,37777:28120,37778:28271,37779:28059,37780:28783,37781:29128,37782:24403,37783:30168,37784:31095,37785:31561,37786:31572,37787:31570,37788:31958,37789:32113,37790:21040,37791:33891,37792:34153,37793:34276,37794:35342,37795:35588,37796:35910,37797:36367,37798:36867,37799:36879,37800:37913,37801:38518,37802:38957,37803:39472,37804:38360,37805:20685,37806:21205,37807:21516,37808:22530,37809:23566,37810:24999,37811:25758,37812:27934,37813:30643,37814:31461,37815:33012,37816:33796,37817:36947,37818:37509,37819:23776,37820:40199,37821:21311,37822:24471,37823:24499,37824:28060,37825:29305,37826:30563,37827:31167,37828:31716,37829:27602,37830:29420,37831:35501,37832:26627,37833:27233,37834:20984,37835:31361,37836:26932,37837:23626,37838:40182,37839:33515,37840:23493,37841:37193,37842:28702,37843:22136,37844:23663,37845:24775,37846:25958,37847:27788,37848:35930,37849:36929,37850:38931,37851:21585,37852:26311,37853:37389,37854:22856,37855:37027,37856:20869,37857:20045,37858:20970,37859:34201,37860:35598,37861:28760,37862:25466,37863:37707,37864:26978,37865:39348,37866:32260,37867:30071,37868:21335,37869:26976,37870:36575,37871:38627,37872:27741,37873:20108,37874:23612,37875:24336,37876:36841,37877:21250,37878:36049,37879:32905,37880:34425,37881:24319,37882:26085,37883:20083,37884:20837,37952:22914,37953:23615,37954:38894,37955:20219,37956:22922,37957:24525,37958:35469,37959:28641,37960:31152,37961:31074,37962:23527,37963:33905,37964:29483,37965:29105,37966:24180,37967:24565,37968:25467,37969:25754,37970:29123,37971:31896,37972:20035,37973:24316,37974:20043,37975:22492,37976:22178,37977:24745,37978:28611,37979:32013,37980:33021,37981:33075,37982:33215,37983:36786,37984:35223,37985:34468,37986:24052,37987:25226,37988:25773,37989:35207,37990:26487,37991:27874,37992:27966,37993:29750,37994:30772,37995:23110,37996:32629,37997:33453,37998:39340,37999:20467,38e3:24259,38001:25309,38002:25490,38003:25943,38004:26479,38005:30403,38006:29260,38007:32972,38008:32954,38009:36649,38010:37197,38011:20493,38012:22521,38013:23186,38014:26757,38016:26995,38017:29028,38018:29437,38019:36023,38020:22770,38021:36064,38022:38506,38023:36889,38024:34687,38025:31204,38026:30695,38027:33833,38028:20271,38029:21093,38030:21338,38031:25293,38032:26575,38033:27850,38034:30333,38035:31636,38036:31893,38037:33334,38038:34180,38039:36843,38040:26333,38041:28448,38042:29190,38043:32283,38044:33707,38045:39361,38046:40614,38047:20989,38048:31665,38049:30834,38050:31672,38051:32903,38052:31560,38053:27368,38054:24161,38055:32908,38056:30033,38057:30048,38058:20843,38059:37474,38060:28300,38061:30330,38062:37271,38063:39658,38064:20240,38065:32624,38066:25244,38067:31567,38068:38309,38069:40169,38070:22138,38071:22617,38072:34532,38073:38588,38074:20276,38075:21028,38076:21322,38077:21453,38078:21467,38079:24070,38080:25644,38081:26001,38082:26495,38083:27710,38084:27726,38085:29256,38086:29359,38087:29677,38088:30036,38089:32321,38090:33324,38091:34281,38092:36009,38093:31684,38094:37318,38095:29033,38096:38930,38097:39151,38098:25405,38099:26217,38100:30058,38101:30436,38102:30928,38103:34115,38104:34542,38105:21290,38106:21329,38107:21542,38108:22915,38109:24199,38110:24444,38111:24754,38112:25161,38113:25209,38114:25259,38115:26e3,38116:27604,38117:27852,38118:30130,38119:30382,38120:30865,38121:31192,38122:32203,38123:32631,38124:32933,38125:34987,38126:35513,38127:36027,38128:36991,38129:38750,38130:39131,38131:27147,38132:31800,38133:20633,38134:23614,38135:24494,38136:26503,38137:27608,38138:29749,38139:30473,38140:32654,38208:40763,38209:26570,38210:31255,38211:21305,38212:30091,38213:39661,38214:24422,38215:33181,38216:33777,38217:32920,38218:24380,38219:24517,38220:30050,38221:31558,38222:36924,38223:26727,38224:23019,38225:23195,38226:32016,38227:30334,38228:35628,38229:20469,38230:24426,38231:27161,38232:27703,38233:28418,38234:29922,38235:31080,38236:34920,38237:35413,38238:35961,38239:24287,38240:25551,38241:30149,38242:31186,38243:33495,38244:37672,38245:37618,38246:33948,38247:34541,38248:39981,38249:21697,38250:24428,38251:25996,38252:27996,38253:28693,38254:36007,38255:36051,38256:38971,38257:25935,38258:29942,38259:19981,38260:20184,38261:22496,38262:22827,38263:23142,38264:23500,38265:20904,38266:24067,38267:24220,38268:24598,38269:25206,38270:25975,38272:26023,38273:26222,38274:28014,38275:29238,38276:31526,38277:33104,38278:33178,38279:33433,38280:35676,38281:36e3,38282:36070,38283:36212,38284:38428,38285:38468,38286:20398,38287:25771,38288:27494,38289:33310,38290:33889,38291:34154,38292:37096,38293:23553,38294:26963,38295:39080,38296:33914,38297:34135,38298:20239,38299:21103,38300:24489,38301:24133,38302:26381,38303:31119,38304:33145,38305:35079,38306:35206,38307:28149,38308:24343,38309:25173,38310:27832,38311:20175,38312:29289,38313:39826,38314:20998,38315:21563,38316:22132,38317:22707,38318:24996,38319:25198,38320:28954,38321:22894,38322:31881,38323:31966,38324:32027,38325:38640,38326:25991,38327:32862,38328:19993,38329:20341,38330:20853,38331:22592,38332:24163,38333:24179,38334:24330,38335:26564,38336:20006,38337:34109,38338:38281,38339:38491,38340:31859,38341:38913,38342:20731,38343:22721,38344:30294,38345:30887,38346:21029,38347:30629,38348:34065,38349:31622,38350:20559,38351:22793,38352:29255,38353:31687,38354:32232,38355:36794,38356:36820,38357:36941,38358:20415,38359:21193,38360:23081,38361:24321,38362:38829,38363:20445,38364:33303,38365:37610,38366:22275,38367:25429,38368:27497,38369:29995,38370:35036,38371:36628,38372:31298,38373:21215,38374:22675,38375:24917,38376:25098,38377:26286,38378:27597,38379:31807,38380:33769,38381:20515,38382:20472,38383:21253,38384:21574,38385:22577,38386:22857,38387:23453,38388:23792,38389:23791,38390:23849,38391:24214,38392:25265,38393:25447,38394:25918,38395:26041,38396:26379,38464:27861,38465:27873,38466:28921,38467:30770,38468:32299,38469:32990,38470:33459,38471:33804,38472:34028,38473:34562,38474:35090,38475:35370,38476:35914,38477:37030,38478:37586,38479:39165,38480:40179,38481:40300,38482:20047,38483:20129,38484:20621,38485:21078,38486:22346,38487:22952,38488:24125,38489:24536,38490:24537,38491:25151,38492:26292,38493:26395,38494:26576,38495:26834,38496:20882,38497:32033,38498:32938,38499:33192,38500:35584,38501:35980,38502:36031,38503:37502,38504:38450,38505:21536,38506:38956,38507:21271,38508:20693,38509:21340,38510:22696,38511:25778,38512:26420,38513:29287,38514:30566,38515:31302,38516:37350,38517:21187,38518:27809,38519:27526,38520:22528,38521:24140,38522:22868,38523:26412,38524:32763,38525:20961,38526:30406,38528:25705,38529:30952,38530:39764,38531:40635,38532:22475,38533:22969,38534:26151,38535:26522,38536:27598,38537:21737,38538:27097,38539:24149,38540:33180,38541:26517,38542:39850,38543:26622,38544:40018,38545:26717,38546:20134,38547:20451,38548:21448,38549:25273,38550:26411,38551:27819,38552:36804,38553:20397,38554:32365,38555:40639,38556:19975,38557:24930,38558:28288,38559:28459,38560:34067,38561:21619,38562:26410,38563:39749,38564:24051,38565:31637,38566:23724,38567:23494,38568:34588,38569:28234,38570:34001,38571:31252,38572:33032,38573:22937,38574:31885,38575:27665,38576:30496,38577:21209,38578:22818,38579:28961,38580:29279,38581:30683,38582:38695,38583:40289,38584:26891,38585:23167,38586:23064,38587:20901,38588:21517,38589:21629,38590:26126,38591:30431,38592:36855,38593:37528,38594:40180,38595:23018,38596:29277,38597:28357,38598:20813,38599:26825,38600:32191,38601:32236,38602:38754,38603:40634,38604:25720,38605:27169,38606:33538,38607:22916,38608:23391,38609:27611,38610:29467,38611:30450,38612:32178,38613:32791,38614:33945,38615:20786,38616:26408,38617:40665,38618:30446,38619:26466,38620:21247,38621:39173,38622:23588,38623:25147,38624:31870,38625:36016,38626:21839,38627:24758,38628:32011,38629:38272,38630:21249,38631:20063,38632:20918,38633:22812,38634:29242,38635:32822,38636:37326,38637:24357,38638:30690,38639:21380,38640:24441,38641:32004,38642:34220,38643:35379,38644:36493,38645:38742,38646:26611,38647:34222,38648:37971,38649:24841,38650:24840,38651:27833,38652:30290,38720:35565,38721:36664,38722:21807,38723:20305,38724:20778,38725:21191,38726:21451,38727:23461,38728:24189,38729:24736,38730:24962,38731:25558,38732:26377,38733:26586,38734:28263,38735:28044,38736:29494,38737:29495,38738:30001,38739:31056,38740:35029,38741:35480,38742:36938,38743:37009,38744:37109,38745:38596,38746:34701,38747:22805,38748:20104,38749:20313,38750:19982,38751:35465,38752:36671,38753:38928,38754:20653,38755:24188,38756:22934,38757:23481,38758:24248,38759:25562,38760:25594,38761:25793,38762:26332,38763:26954,38764:27096,38765:27915,38766:28342,38767:29076,38768:29992,38769:31407,38770:32650,38771:32768,38772:33865,38773:33993,38774:35201,38775:35617,38776:36362,38777:36965,38778:38525,38779:39178,38780:24958,38781:25233,38782:27442,38784:27779,38785:28020,38786:32716,38787:32764,38788:28096,38789:32645,38790:34746,38791:35064,38792:26469,38793:33713,38794:38972,38795:38647,38796:27931,38797:32097,38798:33853,38799:37226,38800:20081,38801:21365,38802:23888,38803:27396,38804:28651,38805:34253,38806:34349,38807:35239,38808:21033,38809:21519,38810:23653,38811:26446,38812:26792,38813:29702,38814:29827,38815:30178,38816:35023,38817:35041,38818:37324,38819:38626,38820:38520,38821:24459,38822:29575,38823:31435,38824:33870,38825:25504,38826:30053,38827:21129,38828:27969,38829:28316,38830:29705,38831:30041,38832:30827,38833:31890,38834:38534,38835:31452,38836:40845,38837:20406,38838:24942,38839:26053,38840:34396,38841:20102,38842:20142,38843:20698,38844:20001,38845:20940,38846:23534,38847:26009,38848:26753,38849:28092,38850:29471,38851:30274,38852:30637,38853:31260,38854:31975,38855:33391,38856:35538,38857:36988,38858:37327,38859:38517,38860:38936,38861:21147,38862:32209,38863:20523,38864:21400,38865:26519,38866:28107,38867:29136,38868:29747,38869:33256,38870:36650,38871:38563,38872:40023,38873:40607,38874:29792,38875:22593,38876:28057,38877:32047,38878:39006,38879:20196,38880:20278,38881:20363,38882:20919,38883:21169,38884:23994,38885:24604,38886:29618,38887:31036,38888:33491,38889:37428,38890:38583,38891:38646,38892:38666,38893:40599,38894:40802,38895:26278,38896:27508,38897:21015,38898:21155,38899:28872,38900:35010,38901:24265,38902:24651,38903:24976,38904:28451,38905:29001,38906:31806,38907:32244,38908:32879,38976:34030,38977:36899,38978:37676,38979:21570,38980:39791,38981:27347,38982:28809,38983:36034,38984:36335,38985:38706,38986:21172,38987:23105,38988:24266,38989:24324,38990:26391,38991:27004,38992:27028,38993:28010,38994:28431,38995:29282,38996:29436,38997:31725,38998:32769,38999:32894,39e3:34635,39001:37070,39002:20845,39003:40595,39004:31108,39005:32907,39006:37682,39007:35542,39008:20525,39009:21644,39010:35441,39011:27498,39012:36036,39013:33031,39014:24785,39015:26528,39016:40434,39017:20121,39018:20120,39019:39952,39020:35435,39021:34241,39022:34152,39023:26880,39024:28286,39025:30871,39026:33109,39071:24332,39072:19984,39073:19989,39074:20010,39075:20017,39076:20022,39077:20028,39078:20031,39079:20034,39080:20054,39081:20056,39082:20098,39083:20101,39084:35947,39085:20106,39086:33298,39087:24333,39088:20110,39089:20126,39090:20127,39091:20128,39092:20130,39093:20144,39094:20147,39095:20150,39096:20174,39097:20173,39098:20164,39099:20166,39100:20162,39101:20183,39102:20190,39103:20205,39104:20191,39105:20215,39106:20233,39107:20314,39108:20272,39109:20315,39110:20317,39111:20311,39112:20295,39113:20342,39114:20360,39115:20367,39116:20376,39117:20347,39118:20329,39119:20336,39120:20369,39121:20335,39122:20358,39123:20374,39124:20760,39125:20436,39126:20447,39127:20430,39128:20440,39129:20443,39130:20433,39131:20442,39132:20432,39133:20452,39134:20453,39135:20506,39136:20520,39137:20500,39138:20522,39139:20517,39140:20485,39141:20252,39142:20470,39143:20513,39144:20521,39145:20524,39146:20478,39147:20463,39148:20497,39149:20486,39150:20547,39151:20551,39152:26371,39153:20565,39154:20560,39155:20552,39156:20570,39157:20566,39158:20588,39159:20600,39160:20608,39161:20634,39162:20613,39163:20660,39164:20658,39232:20681,39233:20682,39234:20659,39235:20674,39236:20694,39237:20702,39238:20709,39239:20717,39240:20707,39241:20718,39242:20729,39243:20725,39244:20745,39245:20737,39246:20738,39247:20758,39248:20757,39249:20756,39250:20762,39251:20769,39252:20794,39253:20791,39254:20796,39255:20795,39256:20799,39257:20800,39258:20818,39259:20812,39260:20820,39261:20834,39262:31480,39263:20841,39264:20842,39265:20846,39266:20864,39267:20866,39268:22232,39269:20876,39270:20873,39271:20879,39272:20881,39273:20883,39274:20885,39275:20886,39276:20900,39277:20902,39278:20898,39279:20905,39280:20906,39281:20907,39282:20915,39283:20913,39284:20914,39285:20912,39286:20917,39287:20925,39288:20933,39289:20937,39290:20955,39291:20960,39292:34389,39293:20969,39294:20973,39296:20976,39297:20981,39298:20990,39299:20996,39300:21003,39301:21012,39302:21006,39303:21031,39304:21034,39305:21038,39306:21043,39307:21049,39308:21071,39309:21060,39310:21067,39311:21068,39312:21086,39313:21076,39314:21098,39315:21108,39316:21097,39317:21107,39318:21119,39319:21117,39320:21133,39321:21140,39322:21138,39323:21105,39324:21128,39325:21137,39326:36776,39327:36775,39328:21164,39329:21165,39330:21180,39331:21173,39332:21185,39333:21197,39334:21207,39335:21214,39336:21219,39337:21222,39338:39149,39339:21216,39340:21235,39341:21237,39342:21240,39343:21241,39344:21254,39345:21256,39346:30008,39347:21261,39348:21264,39349:21263,39350:21269,39351:21274,39352:21283,39353:21295,39354:21297,39355:21299,39356:21304,39357:21312,39358:21318,39359:21317,39360:19991,39361:21321,39362:21325,39363:20950,39364:21342,39365:21353,39366:21358,39367:22808,39368:21371,39369:21367,39370:21378,39371:21398,39372:21408,39373:21414,39374:21413,39375:21422,39376:21424,39377:21430,39378:21443,39379:31762,39380:38617,39381:21471,39382:26364,39383:29166,39384:21486,39385:21480,39386:21485,39387:21498,39388:21505,39389:21565,39390:21568,39391:21548,39392:21549,39393:21564,39394:21550,39395:21558,39396:21545,39397:21533,39398:21582,39399:21647,39400:21621,39401:21646,39402:21599,39403:21617,39404:21623,39405:21616,39406:21650,39407:21627,39408:21632,39409:21622,39410:21636,39411:21648,39412:21638,39413:21703,39414:21666,39415:21688,39416:21669,39417:21676,39418:21700,39419:21704,39420:21672,39488:21675,39489:21698,39490:21668,39491:21694,39492:21692,39493:21720,39494:21733,39495:21734,39496:21775,39497:21780,39498:21757,39499:21742,39500:21741,39501:21754,39502:21730,39503:21817,39504:21824,39505:21859,39506:21836,39507:21806,39508:21852,39509:21829,39510:21846,39511:21847,39512:21816,39513:21811,39514:21853,39515:21913,39516:21888,39517:21679,39518:21898,39519:21919,39520:21883,39521:21886,39522:21912,39523:21918,39524:21934,39525:21884,39526:21891,39527:21929,39528:21895,39529:21928,39530:21978,39531:21957,39532:21983,39533:21956,39534:21980,39535:21988,39536:21972,39537:22036,39538:22007,39539:22038,39540:22014,39541:22013,39542:22043,39543:22009,39544:22094,39545:22096,39546:29151,39547:22068,39548:22070,39549:22066,39550:22072,39552:22123,39553:22116,39554:22063,39555:22124,39556:22122,39557:22150,39558:22144,39559:22154,39560:22176,39561:22164,39562:22159,39563:22181,39564:22190,39565:22198,39566:22196,39567:22210,39568:22204,39569:22209,39570:22211,39571:22208,39572:22216,39573:22222,39574:22225,39575:22227,39576:22231,39577:22254,39578:22265,39579:22272,39580:22271,39581:22276,39582:22281,39583:22280,39584:22283,39585:22285,39586:22291,39587:22296,39588:22294,39589:21959,39590:22300,39591:22310,39592:22327,39593:22328,39594:22350,39595:22331,39596:22336,39597:22351,39598:22377,39599:22464,39600:22408,39601:22369,39602:22399,39603:22409,39604:22419,39605:22432,39606:22451,39607:22436,39608:22442,39609:22448,39610:22467,39611:22470,39612:22484,39613:22482,39614:22483,39615:22538,39616:22486,39617:22499,39618:22539,39619:22553,39620:22557,39621:22642,39622:22561,39623:22626,39624:22603,39625:22640,39626:27584,39627:22610,39628:22589,39629:22649,39630:22661,39631:22713,39632:22687,39633:22699,39634:22714,39635:22750,39636:22715,39637:22712,39638:22702,39639:22725,39640:22739,39641:22737,39642:22743,39643:22745,39644:22744,39645:22757,39646:22748,39647:22756,39648:22751,39649:22767,39650:22778,39651:22777,39652:22779,39653:22780,39654:22781,39655:22786,39656:22794,39657:22800,39658:22811,39659:26790,39660:22821,39661:22828,39662:22829,39663:22834,39664:22840,39665:22846,39666:31442,39667:22869,39668:22864,39669:22862,39670:22874,39671:22872,39672:22882,39673:22880,39674:22887,39675:22892,39676:22889,39744:22904,39745:22913,39746:22941,39747:20318,39748:20395,39749:22947,39750:22962,39751:22982,39752:23016,39753:23004,39754:22925,39755:23001,39756:23002,39757:23077,39758:23071,39759:23057,39760:23068,39761:23049,39762:23066,39763:23104,39764:23148,39765:23113,39766:23093,39767:23094,39768:23138,39769:23146,39770:23194,39771:23228,39772:23230,39773:23243,39774:23234,39775:23229,39776:23267,39777:23255,39778:23270,39779:23273,39780:23254,39781:23290,39782:23291,39783:23308,39784:23307,39785:23318,39786:23346,39787:23248,39788:23338,39789:23350,39790:23358,39791:23363,39792:23365,39793:23360,39794:23377,39795:23381,39796:23386,39797:23387,39798:23397,39799:23401,39800:23408,39801:23411,39802:23413,39803:23416,39804:25992,39805:23418,39806:23424,39808:23427,39809:23462,39810:23480,39811:23491,39812:23495,39813:23497,39814:23508,39815:23504,39816:23524,39817:23526,39818:23522,39819:23518,39820:23525,39821:23531,39822:23536,39823:23542,39824:23539,39825:23557,39826:23559,39827:23560,39828:23565,39829:23571,39830:23584,39831:23586,39832:23592,39833:23608,39834:23609,39835:23617,39836:23622,39837:23630,39838:23635,39839:23632,39840:23631,39841:23409,39842:23660,39843:23662,39844:20066,39845:23670,39846:23673,39847:23692,39848:23697,39849:23700,39850:22939,39851:23723,39852:23739,39853:23734,39854:23740,39855:23735,39856:23749,39857:23742,39858:23751,39859:23769,39860:23785,39861:23805,39862:23802,39863:23789,39864:23948,39865:23786,39866:23819,39867:23829,39868:23831,39869:23900,39870:23839,39871:23835,39872:23825,39873:23828,39874:23842,39875:23834,39876:23833,39877:23832,39878:23884,39879:23890,39880:23886,39881:23883,39882:23916,39883:23923,39884:23926,39885:23943,39886:23940,39887:23938,39888:23970,39889:23965,39890:23980,39891:23982,39892:23997,39893:23952,39894:23991,39895:23996,39896:24009,39897:24013,39898:24019,39899:24018,39900:24022,39901:24027,39902:24043,39903:24050,39904:24053,39905:24075,39906:24090,39907:24089,39908:24081,39909:24091,39910:24118,39911:24119,39912:24132,39913:24131,39914:24128,39915:24142,39916:24151,39917:24148,39918:24159,39919:24162,39920:24164,39921:24135,39922:24181,39923:24182,39924:24186,39925:40636,39926:24191,39927:24224,39928:24257,39929:24258,39930:24264,39931:24272,39932:24271,4e4:24278,40001:24291,40002:24285,40003:24282,40004:24283,40005:24290,40006:24289,40007:24296,40008:24297,40009:24300,40010:24305,40011:24307,40012:24304,40013:24308,40014:24312,40015:24318,40016:24323,40017:24329,40018:24413,40019:24412,40020:24331,40021:24337,40022:24342,40023:24361,40024:24365,40025:24376,40026:24385,40027:24392,40028:24396,40029:24398,40030:24367,40031:24401,40032:24406,40033:24407,40034:24409,40035:24417,40036:24429,40037:24435,40038:24439,40039:24451,40040:24450,40041:24447,40042:24458,40043:24456,40044:24465,40045:24455,40046:24478,40047:24473,40048:24472,40049:24480,40050:24488,40051:24493,40052:24508,40053:24534,40054:24571,40055:24548,40056:24568,40057:24561,40058:24541,40059:24755,40060:24575,40061:24609,40062:24672,40064:24601,40065:24592,40066:24617,40067:24590,40068:24625,40069:24603,40070:24597,40071:24619,40072:24614,40073:24591,40074:24634,40075:24666,40076:24641,40077:24682,40078:24695,40079:24671,40080:24650,40081:24646,40082:24653,40083:24675,40084:24643,40085:24676,40086:24642,40087:24684,40088:24683,40089:24665,40090:24705,40091:24717,40092:24807,40093:24707,40094:24730,40095:24708,40096:24731,40097:24726,40098:24727,40099:24722,40100:24743,40101:24715,40102:24801,40103:24760,40104:24800,40105:24787,40106:24756,40107:24560,40108:24765,40109:24774,40110:24757,40111:24792,40112:24909,40113:24853,40114:24838,40115:24822,40116:24823,40117:24832,40118:24820,40119:24826,40120:24835,40121:24865,40122:24827,40123:24817,40124:24845,40125:24846,40126:24903,40127:24894,40128:24872,40129:24871,40130:24906,40131:24895,40132:24892,40133:24876,40134:24884,40135:24893,40136:24898,40137:24900,40138:24947,40139:24951,40140:24920,40141:24921,40142:24922,40143:24939,40144:24948,40145:24943,40146:24933,40147:24945,40148:24927,40149:24925,40150:24915,40151:24949,40152:24985,40153:24982,40154:24967,40155:25004,40156:24980,40157:24986,40158:24970,40159:24977,40160:25003,40161:25006,40162:25036,40163:25034,40164:25033,40165:25079,40166:25032,40167:25027,40168:25030,40169:25018,40170:25035,40171:32633,40172:25037,40173:25062,40174:25059,40175:25078,40176:25082,40177:25076,40178:25087,40179:25085,40180:25084,40181:25086,40182:25088,40183:25096,40184:25097,40185:25101,40186:25100,40187:25108,40188:25115,40256:25118,40257:25121,40258:25130,40259:25134,40260:25136,40261:25138,40262:25139,40263:25153,40264:25166,40265:25182,40266:25187,40267:25179,40268:25184,40269:25192,40270:25212,40271:25218,40272:25225,40273:25214,40274:25234,40275:25235,40276:25238,40277:25300,40278:25219,40279:25236,40280:25303,40281:25297,40282:25275,40283:25295,40284:25343,40285:25286,40286:25812,40287:25288,40288:25308,40289:25292,40290:25290,40291:25282,40292:25287,40293:25243,40294:25289,40295:25356,40296:25326,40297:25329,40298:25383,40299:25346,40300:25352,40301:25327,40302:25333,40303:25424,40304:25406,40305:25421,40306:25628,40307:25423,40308:25494,40309:25486,40310:25472,40311:25515,40312:25462,40313:25507,40314:25487,40315:25481,40316:25503,40317:25525,40318:25451,40320:25449,40321:25534,40322:25577,40323:25536,40324:25542,40325:25571,40326:25545,40327:25554,40328:25590,40329:25540,40330:25622,40331:25652,40332:25606,40333:25619,40334:25638,40335:25654,40336:25885,40337:25623,40338:25640,40339:25615,40340:25703,40341:25711,40342:25718,40343:25678,40344:25898,40345:25749,40346:25747,40347:25765,40348:25769,40349:25736,40350:25788,40351:25818,40352:25810,40353:25797,40354:25799,40355:25787,40356:25816,40357:25794,40358:25841,40359:25831,40360:33289,40361:25824,40362:25825,40363:25260,40364:25827,40365:25839,40366:25900,40367:25846,40368:25844,40369:25842,40370:25850,40371:25856,40372:25853,40373:25880,40374:25884,40375:25861,40376:25892,40377:25891,40378:25899,40379:25908,40380:25909,40381:25911,40382:25910,40383:25912,40384:30027,40385:25928,40386:25942,40387:25941,40388:25933,40389:25944,40390:25950,40391:25949,40392:25970,40393:25976,40394:25986,40395:25987,40396:35722,40397:26011,40398:26015,40399:26027,40400:26039,40401:26051,40402:26054,40403:26049,40404:26052,40405:26060,40406:26066,40407:26075,40408:26073,40409:26080,40410:26081,40411:26097,40412:26482,40413:26122,40414:26115,40415:26107,40416:26483,40417:26165,40418:26166,40419:26164,40420:26140,40421:26191,40422:26180,40423:26185,40424:26177,40425:26206,40426:26205,40427:26212,40428:26215,40429:26216,40430:26207,40431:26210,40432:26224,40433:26243,40434:26248,40435:26254,40436:26249,40437:26244,40438:26264,40439:26269,40440:26305,40441:26297,40442:26313,40443:26302,40444:26300,40512:26308,40513:26296,40514:26326,40515:26330,40516:26336,40517:26175,40518:26342,40519:26345,40520:26352,40521:26357,40522:26359,40523:26383,40524:26390,40525:26398,40526:26406,40527:26407,40528:38712,40529:26414,40530:26431,40531:26422,40532:26433,40533:26424,40534:26423,40535:26438,40536:26462,40537:26464,40538:26457,40539:26467,40540:26468,40541:26505,40542:26480,40543:26537,40544:26492,40545:26474,40546:26508,40547:26507,40548:26534,40549:26529,40550:26501,40551:26551,40552:26607,40553:26548,40554:26604,40555:26547,40556:26601,40557:26552,40558:26596,40559:26590,40560:26589,40561:26594,40562:26606,40563:26553,40564:26574,40565:26566,40566:26599,40567:27292,40568:26654,40569:26694,40570:26665,40571:26688,40572:26701,40573:26674,40574:26702,40576:26803,40577:26667,40578:26713,40579:26723,40580:26743,40581:26751,40582:26783,40583:26767,40584:26797,40585:26772,40586:26781,40587:26779,40588:26755,40589:27310,40590:26809,40591:26740,40592:26805,40593:26784,40594:26810,40595:26895,40596:26765,40597:26750,40598:26881,40599:26826,40600:26888,40601:26840,40602:26914,40603:26918,40604:26849,40605:26892,40606:26829,40607:26836,40608:26855,40609:26837,40610:26934,40611:26898,40612:26884,40613:26839,40614:26851,40615:26917,40616:26873,40617:26848,40618:26863,40619:26920,40620:26922,40621:26906,40622:26915,40623:26913,40624:26822,40625:27001,40626:26999,40627:26972,40628:27e3,40629:26987,40630:26964,40631:27006,40632:26990,40633:26937,40634:26996,40635:26941,40636:26969,40637:26928,40638:26977,40639:26974,40640:26973,40641:27009,40642:26986,40643:27058,40644:27054,40645:27088,40646:27071,40647:27073,40648:27091,40649:27070,40650:27086,40651:23528,40652:27082,40653:27101,40654:27067,40655:27075,40656:27047,40657:27182,40658:27025,40659:27040,40660:27036,40661:27029,40662:27060,40663:27102,40664:27112,40665:27138,40666:27163,40667:27135,40668:27402,40669:27129,40670:27122,40671:27111,40672:27141,40673:27057,40674:27166,40675:27117,40676:27156,40677:27115,40678:27146,40679:27154,40680:27329,40681:27171,40682:27155,40683:27204,40684:27148,40685:27250,40686:27190,40687:27256,40688:27207,40689:27234,40690:27225,40691:27238,40692:27208,40693:27192,40694:27170,40695:27280,40696:27277,40697:27296,40698:27268,40699:27298,40700:27299,40768:27287,40769:34327,40770:27323,40771:27331,40772:27330,40773:27320,40774:27315,40775:27308,40776:27358,40777:27345,40778:27359,40779:27306,40780:27354,40781:27370,40782:27387,40783:27397,40784:34326,40785:27386,40786:27410,40787:27414,40788:39729,40789:27423,40790:27448,40791:27447,40792:30428,40793:27449,40794:39150,40795:27463,40796:27459,40797:27465,40798:27472,40799:27481,40800:27476,40801:27483,40802:27487,40803:27489,40804:27512,40805:27513,40806:27519,40807:27520,40808:27524,40809:27523,40810:27533,40811:27544,40812:27541,40813:27550,40814:27556,40815:27562,40816:27563,40817:27567,40818:27570,40819:27569,40820:27571,40821:27575,40822:27580,40823:27590,40824:27595,40825:27603,40826:27615,40827:27628,40828:27627,40829:27635,40830:27631,40832:40638,40833:27656,40834:27667,40835:27668,40836:27675,40837:27684,40838:27683,40839:27742,40840:27733,40841:27746,40842:27754,40843:27778,40844:27789,40845:27802,40846:27777,40847:27803,40848:27774,40849:27752,40850:27763,40851:27794,40852:27792,40853:27844,40854:27889,40855:27859,40856:27837,40857:27863,40858:27845,40859:27869,40860:27822,40861:27825,40862:27838,40863:27834,40864:27867,40865:27887,40866:27865,40867:27882,40868:27935,40869:34893,40870:27958,40871:27947,40872:27965,40873:27960,40874:27929,40875:27957,40876:27955,40877:27922,40878:27916,40879:28003,40880:28051,40881:28004,40882:27994,40883:28025,40884:27993,40885:28046,40886:28053,40887:28644,40888:28037,40889:28153,40890:28181,40891:28170,40892:28085,40893:28103,40894:28134,40895:28088,40896:28102,40897:28140,40898:28126,40899:28108,40900:28136,40901:28114,40902:28101,40903:28154,40904:28121,40905:28132,40906:28117,40907:28138,40908:28142,40909:28205,40910:28270,40911:28206,40912:28185,40913:28274,40914:28255,40915:28222,40916:28195,40917:28267,40918:28203,40919:28278,40920:28237,40921:28191,40922:28227,40923:28218,40924:28238,40925:28196,40926:28415,40927:28189,40928:28216,40929:28290,40930:28330,40931:28312,40932:28361,40933:28343,40934:28371,40935:28349,40936:28335,40937:28356,40938:28338,40939:28372,40940:28373,40941:28303,40942:28325,40943:28354,40944:28319,40945:28481,40946:28433,40947:28748,40948:28396,40949:28408,40950:28414,40951:28479,40952:28402,40953:28465,40954:28399,40955:28466,40956:28364,161:65377,162:65378,163:65379,164:65380,165:65381,166:65382,167:65383,168:65384,169:65385,170:65386,171:65387,172:65388,173:65389,174:65390,175:65391,176:65392,177:65393,178:65394,179:65395,180:65396,181:65397,182:65398,183:65399,184:65400,185:65401,186:65402,187:65403,188:65404,189:65405,190:65406,191:65407,192:65408,193:65409,194:65410,195:65411,196:65412,197:65413,198:65414,199:65415,200:65416,201:65417,202:65418,203:65419,204:65420,205:65421,206:65422,207:65423,208:65424,209:65425,210:65426,211:65427,212:65428,213:65429,214:65430,215:65431,216:65432,217:65433,218:65434,219:65435,220:65436,221:65437,222:65438,223:65439,57408:28478,57409:28435,57410:28407,57411:28550,57412:28538,57413:28536,57414:28545,57415:28544,57416:28527,57417:28507,57418:28659,57419:28525,57420:28546,57421:28540,57422:28504,57423:28558,57424:28561,57425:28610,57426:28518,57427:28595,57428:28579,57429:28577,57430:28580,57431:28601,57432:28614,57433:28586,57434:28639,57435:28629,57436:28652,57437:28628,57438:28632,57439:28657,57440:28654,57441:28635,57442:28681,57443:28683,57444:28666,57445:28689,57446:28673,57447:28687,57448:28670,57449:28699,57450:28698,57451:28532,57452:28701,57453:28696,57454:28703,57455:28720,57456:28734,57457:28722,57458:28753,57459:28771,57460:28825,57461:28818,57462:28847,57463:28913,57464:28844,57465:28856,57466:28851,57467:28846,57468:28895,57469:28875,57470:28893,57472:28889,57473:28937,57474:28925,57475:28956,57476:28953,57477:29029,57478:29013,57479:29064,57480:29030,57481:29026,57482:29004,57483:29014,57484:29036,57485:29071,57486:29179,57487:29060,57488:29077,57489:29096,57490:29100,57491:29143,57492:29113,57493:29118,57494:29138,57495:29129,57496:29140,57497:29134,57498:29152,57499:29164,57500:29159,57501:29173,57502:29180,57503:29177,57504:29183,57505:29197,57506:29200,57507:29211,57508:29224,57509:29229,57510:29228,57511:29232,57512:29234,57513:29243,57514:29244,57515:29247,57516:29248,57517:29254,57518:29259,57519:29272,57520:29300,57521:29310,57522:29314,57523:29313,57524:29319,57525:29330,57526:29334,57527:29346,57528:29351,57529:29369,57530:29362,57531:29379,57532:29382,57533:29380,57534:29390,57535:29394,57536:29410,57537:29408,57538:29409,57539:29433,57540:29431,57541:20495,57542:29463,57543:29450,57544:29468,57545:29462,57546:29469,57547:29492,57548:29487,57549:29481,57550:29477,57551:29502,57552:29518,57553:29519,57554:40664,57555:29527,57556:29546,57557:29544,57558:29552,57559:29560,57560:29557,57561:29563,57562:29562,57563:29640,57564:29619,57565:29646,57566:29627,57567:29632,57568:29669,57569:29678,57570:29662,57571:29858,57572:29701,57573:29807,57574:29733,57575:29688,57576:29746,57577:29754,57578:29781,57579:29759,57580:29791,57581:29785,57582:29761,57583:29788,57584:29801,57585:29808,57586:29795,57587:29802,57588:29814,57589:29822,57590:29835,57591:29854,57592:29863,57593:29898,57594:29903,57595:29908,57596:29681,57664:29920,57665:29923,57666:29927,57667:29929,57668:29934,57669:29938,57670:29936,57671:29937,57672:29944,57673:29943,57674:29956,57675:29955,57676:29957,57677:29964,57678:29966,57679:29965,57680:29973,57681:29971,57682:29982,57683:29990,57684:29996,57685:30012,57686:30020,57687:30029,57688:30026,57689:30025,57690:30043,57691:30022,57692:30042,57693:30057,57694:30052,57695:30055,57696:30059,57697:30061,57698:30072,57699:30070,57700:30086,57701:30087,57702:30068,57703:30090,57704:30089,57705:30082,57706:30100,57707:30106,57708:30109,57709:30117,57710:30115,57711:30146,57712:30131,57713:30147,57714:30133,57715:30141,57716:30136,57717:30140,57718:30129,57719:30157,57720:30154,57721:30162,57722:30169,57723:30179,57724:30174,57725:30206,57726:30207,57728:30204,57729:30209,57730:30192,57731:30202,57732:30194,57733:30195,57734:30219,57735:30221,57736:30217,57737:30239,57738:30247,57739:30240,57740:30241,57741:30242,57742:30244,57743:30260,57744:30256,57745:30267,57746:30279,57747:30280,57748:30278,57749:30300,57750:30296,57751:30305,57752:30306,57753:30312,57754:30313,57755:30314,57756:30311,57757:30316,57758:30320,57759:30322,57760:30326,57761:30328,57762:30332,57763:30336,57764:30339,57765:30344,57766:30347,57767:30350,57768:30358,57769:30355,57770:30361,57771:30362,57772:30384,57773:30388,57774:30392,57775:30393,57776:30394,57777:30402,57778:30413,57779:30422,57780:30418,57781:30430,57782:30433,57783:30437,57784:30439,57785:30442,57786:34351,57787:30459,57788:30472,57789:30471,57790:30468,57791:30505,57792:30500,57793:30494,57794:30501,57795:30502,57796:30491,57797:30519,57798:30520,57799:30535,57800:30554,57801:30568,57802:30571,57803:30555,57804:30565,57805:30591,57806:30590,57807:30585,57808:30606,57809:30603,57810:30609,57811:30624,57812:30622,57813:30640,57814:30646,57815:30649,57816:30655,57817:30652,57818:30653,57819:30651,57820:30663,57821:30669,57822:30679,57823:30682,57824:30684,57825:30691,57826:30702,57827:30716,57828:30732,57829:30738,57830:31014,57831:30752,57832:31018,57833:30789,57834:30862,57835:30836,57836:30854,57837:30844,57838:30874,57839:30860,57840:30883,57841:30901,57842:30890,57843:30895,57844:30929,57845:30918,57846:30923,57847:30932,57848:30910,57849:30908,57850:30917,57851:30922,57852:30956,57920:30951,57921:30938,57922:30973,57923:30964,57924:30983,57925:30994,57926:30993,57927:31001,57928:31020,57929:31019,57930:31040,57931:31072,57932:31063,57933:31071,57934:31066,57935:31061,57936:31059,57937:31098,57938:31103,57939:31114,57940:31133,57941:31143,57942:40779,57943:31146,57944:31150,57945:31155,57946:31161,57947:31162,57948:31177,57949:31189,57950:31207,57951:31212,57952:31201,57953:31203,57954:31240,57955:31245,57956:31256,57957:31257,57958:31264,57959:31263,57960:31104,57961:31281,57962:31291,57963:31294,57964:31287,57965:31299,57966:31319,57967:31305,57968:31329,57969:31330,57970:31337,57971:40861,57972:31344,57973:31353,57974:31357,57975:31368,57976:31383,57977:31381,57978:31384,57979:31382,57980:31401,57981:31432,57982:31408,57984:31414,57985:31429,57986:31428,57987:31423,57988:36995,57989:31431,57990:31434,57991:31437,57992:31439,57993:31445,57994:31443,57995:31449,57996:31450,57997:31453,57998:31457,57999:31458,58e3:31462,58001:31469,58002:31472,58003:31490,58004:31503,58005:31498,58006:31494,58007:31539,58008:31512,58009:31513,58010:31518,58011:31541,58012:31528,58013:31542,58014:31568,58015:31610,58016:31492,58017:31565,58018:31499,58019:31564,58020:31557,58021:31605,58022:31589,58023:31604,58024:31591,58025:31600,58026:31601,58027:31596,58028:31598,58029:31645,58030:31640,58031:31647,58032:31629,58033:31644,58034:31642,58035:31627,58036:31634,58037:31631,58038:31581,58039:31641,58040:31691,58041:31681,58042:31692,58043:31695,58044:31668,58045:31686,58046:31709,58047:31721,58048:31761,58049:31764,58050:31718,58051:31717,58052:31840,58053:31744,58054:31751,58055:31763,58056:31731,58057:31735,58058:31767,58059:31757,58060:31734,58061:31779,58062:31783,58063:31786,58064:31775,58065:31799,58066:31787,58067:31805,58068:31820,58069:31811,58070:31828,58071:31823,58072:31808,58073:31824,58074:31832,58075:31839,58076:31844,58077:31830,58078:31845,58079:31852,58080:31861,58081:31875,58082:31888,58083:31908,58084:31917,58085:31906,58086:31915,58087:31905,58088:31912,58089:31923,58090:31922,58091:31921,58092:31918,58093:31929,58094:31933,58095:31936,58096:31941,58097:31938,58098:31960,58099:31954,58100:31964,58101:31970,58102:39739,58103:31983,58104:31986,58105:31988,58106:31990,58107:31994,58108:32006,58176:32002,58177:32028,58178:32021,58179:32010,58180:32069,58181:32075,58182:32046,58183:32050,58184:32063,58185:32053,58186:32070,58187:32115,58188:32086,58189:32078,58190:32114,58191:32104,58192:32110,58193:32079,58194:32099,58195:32147,58196:32137,58197:32091,58198:32143,58199:32125,58200:32155,58201:32186,58202:32174,58203:32163,58204:32181,58205:32199,58206:32189,58207:32171,58208:32317,58209:32162,58210:32175,58211:32220,58212:32184,58213:32159,58214:32176,58215:32216,58216:32221,58217:32228,58218:32222,58219:32251,58220:32242,58221:32225,58222:32261,58223:32266,58224:32291,58225:32289,58226:32274,58227:32305,58228:32287,58229:32265,58230:32267,58231:32290,58232:32326,58233:32358,58234:32315,58235:32309,58236:32313,58237:32323,58238:32311,58240:32306,58241:32314,58242:32359,58243:32349,58244:32342,58245:32350,58246:32345,58247:32346,58248:32377,58249:32362,58250:32361,58251:32380,58252:32379,58253:32387,58254:32213,58255:32381,58256:36782,58257:32383,58258:32392,58259:32393,58260:32396,58261:32402,58262:32400,58263:32403,58264:32404,58265:32406,58266:32398,58267:32411,58268:32412,58269:32568,58270:32570,58271:32581,58272:32588,58273:32589,58274:32590,58275:32592,58276:32593,58277:32597,58278:32596,58279:32600,58280:32607,58281:32608,58282:32616,58283:32617,58284:32615,58285:32632,58286:32642,58287:32646,58288:32643,58289:32648,58290:32647,58291:32652,58292:32660,58293:32670,58294:32669,58295:32666,58296:32675,58297:32687,58298:32690,58299:32697,58300:32686,58301:32694,58302:32696,58303:35697,58304:32709,58305:32710,58306:32714,58307:32725,58308:32724,58309:32737,58310:32742,58311:32745,58312:32755,58313:32761,58314:39132,58315:32774,58316:32772,58317:32779,58318:32786,58319:32792,58320:32793,58321:32796,58322:32801,58323:32808,58324:32831,58325:32827,58326:32842,58327:32838,58328:32850,58329:32856,58330:32858,58331:32863,58332:32866,58333:32872,58334:32883,58335:32882,58336:32880,58337:32886,58338:32889,58339:32893,58340:32895,58341:32900,58342:32902,58343:32901,58344:32923,58345:32915,58346:32922,58347:32941,58348:20880,58349:32940,58350:32987,58351:32997,58352:32985,58353:32989,58354:32964,58355:32986,58356:32982,58357:33033,58358:33007,58359:33009,58360:33051,58361:33065,58362:33059,58363:33071,58364:33099,58432:38539,58433:33094,58434:33086,58435:33107,58436:33105,58437:33020,58438:33137,58439:33134,58440:33125,58441:33126,58442:33140,58443:33155,58444:33160,58445:33162,58446:33152,58447:33154,58448:33184,58449:33173,58450:33188,58451:33187,58452:33119,58453:33171,58454:33193,58455:33200,58456:33205,58457:33214,58458:33208,58459:33213,58460:33216,58461:33218,58462:33210,58463:33225,58464:33229,58465:33233,58466:33241,58467:33240,58468:33224,58469:33242,58470:33247,58471:33248,58472:33255,58473:33274,58474:33275,58475:33278,58476:33281,58477:33282,58478:33285,58479:33287,58480:33290,58481:33293,58482:33296,58483:33302,58484:33321,58485:33323,58486:33336,58487:33331,58488:33344,58489:33369,58490:33368,58491:33373,58492:33370,58493:33375,58494:33380,58496:33378,58497:33384,58498:33386,58499:33387,58500:33326,58501:33393,58502:33399,58503:33400,58504:33406,58505:33421,58506:33426,58507:33451,58508:33439,58509:33467,58510:33452,58511:33505,58512:33507,58513:33503,58514:33490,58515:33524,58516:33523,58517:33530,58518:33683,58519:33539,58520:33531,58521:33529,58522:33502,58523:33542,58524:33500,58525:33545,58526:33497,58527:33589,58528:33588,58529:33558,58530:33586,58531:33585,58532:33600,58533:33593,58534:33616,58535:33605,58536:33583,58537:33579,58538:33559,58539:33560,58540:33669,58541:33690,58542:33706,58543:33695,58544:33698,58545:33686,58546:33571,58547:33678,58548:33671,58549:33674,58550:33660,58551:33717,58552:33651,58553:33653,58554:33696,58555:33673,58556:33704,58557:33780,58558:33811,58559:33771,58560:33742,58561:33789,58562:33795,58563:33752,58564:33803,58565:33729,58566:33783,58567:33799,58568:33760,58569:33778,58570:33805,58571:33826,58572:33824,58573:33725,58574:33848,58575:34054,58576:33787,58577:33901,58578:33834,58579:33852,58580:34138,58581:33924,58582:33911,58583:33899,58584:33965,58585:33902,58586:33922,58587:33897,58588:33862,58589:33836,58590:33903,58591:33913,58592:33845,58593:33994,58594:33890,58595:33977,58596:33983,58597:33951,58598:34009,58599:33997,58600:33979,58601:34010,58602:34e3,58603:33985,58604:33990,58605:34006,58606:33953,58607:34081,58608:34047,58609:34036,58610:34071,58611:34072,58612:34092,58613:34079,58614:34069,58615:34068,58616:34044,58617:34112,58618:34147,58619:34136,58620:34120,58688:34113,58689:34306,58690:34123,58691:34133,58692:34176,58693:34212,58694:34184,58695:34193,58696:34186,58697:34216,58698:34157,58699:34196,58700:34203,58701:34282,58702:34183,58703:34204,58704:34167,58705:34174,58706:34192,58707:34249,58708:34234,58709:34255,58710:34233,58711:34256,58712:34261,58713:34269,58714:34277,58715:34268,58716:34297,58717:34314,58718:34323,58719:34315,58720:34302,58721:34298,58722:34310,58723:34338,58724:34330,58725:34352,58726:34367,58727:34381,58728:20053,58729:34388,58730:34399,58731:34407,58732:34417,58733:34451,58734:34467,58735:34473,58736:34474,58737:34443,58738:34444,58739:34486,58740:34479,58741:34500,58742:34502,58743:34480,58744:34505,58745:34851,58746:34475,58747:34516,58748:34526,58749:34537,58750:34540,58752:34527,58753:34523,58754:34543,58755:34578,58756:34566,58757:34568,58758:34560,58759:34563,58760:34555,58761:34577,58762:34569,58763:34573,58764:34553,58765:34570,58766:34612,58767:34623,58768:34615,58769:34619,58770:34597,58771:34601,58772:34586,58773:34656,58774:34655,58775:34680,58776:34636,58777:34638,58778:34676,58779:34647,58780:34664,58781:34670,58782:34649,58783:34643,58784:34659,58785:34666,58786:34821,58787:34722,58788:34719,58789:34690,58790:34735,58791:34763,58792:34749,58793:34752,58794:34768,58795:38614,58796:34731,58797:34756,58798:34739,58799:34759,58800:34758,58801:34747,58802:34799,58803:34802,58804:34784,58805:34831,58806:34829,58807:34814,58808:34806,58809:34807,58810:34830,58811:34770,58812:34833,58813:34838,58814:34837,58815:34850,58816:34849,58817:34865,58818:34870,58819:34873,58820:34855,58821:34875,58822:34884,58823:34882,58824:34898,58825:34905,58826:34910,58827:34914,58828:34923,58829:34945,58830:34942,58831:34974,58832:34933,58833:34941,58834:34997,58835:34930,58836:34946,58837:34967,58838:34962,58839:34990,58840:34969,58841:34978,58842:34957,58843:34980,58844:34992,58845:35007,58846:34993,58847:35011,58848:35012,58849:35028,58850:35032,58851:35033,58852:35037,58853:35065,58854:35074,58855:35068,58856:35060,58857:35048,58858:35058,58859:35076,58860:35084,58861:35082,58862:35091,58863:35139,58864:35102,58865:35109,58866:35114,58867:35115,58868:35137,58869:35140,58870:35131,58871:35126,58872:35128,58873:35148,58874:35101,58875:35168,58876:35166,58944:35174,58945:35172,58946:35181,58947:35178,58948:35183,58949:35188,58950:35191,58951:35198,58952:35203,58953:35208,58954:35210,58955:35219,58956:35224,58957:35233,58958:35241,58959:35238,58960:35244,58961:35247,58962:35250,58963:35258,58964:35261,58965:35263,58966:35264,58967:35290,58968:35292,58969:35293,58970:35303,58971:35316,58972:35320,58973:35331,58974:35350,58975:35344,58976:35340,58977:35355,58978:35357,58979:35365,58980:35382,58981:35393,58982:35419,58983:35410,58984:35398,58985:35400,58986:35452,58987:35437,58988:35436,58989:35426,58990:35461,58991:35458,58992:35460,58993:35496,58994:35489,58995:35473,58996:35493,58997:35494,58998:35482,58999:35491,59e3:35524,59001:35533,59002:35522,59003:35546,59004:35563,59005:35571,59006:35559,59008:35556,59009:35569,59010:35604,59011:35552,59012:35554,59013:35575,59014:35550,59015:35547,59016:35596,59017:35591,59018:35610,59019:35553,59020:35606,59021:35600,59022:35607,59023:35616,59024:35635,59025:38827,59026:35622,59027:35627,59028:35646,59029:35624,59030:35649,59031:35660,59032:35663,59033:35662,59034:35657,59035:35670,59036:35675,59037:35674,59038:35691,59039:35679,59040:35692,59041:35695,59042:35700,59043:35709,59044:35712,59045:35724,59046:35726,59047:35730,59048:35731,59049:35734,59050:35737,59051:35738,59052:35898,59053:35905,59054:35903,59055:35912,59056:35916,59057:35918,59058:35920,59059:35925,59060:35938,59061:35948,59062:35960,59063:35962,59064:35970,59065:35977,59066:35973,59067:35978,59068:35981,59069:35982,59070:35988,59071:35964,59072:35992,59073:25117,59074:36013,59075:36010,59076:36029,59077:36018,59078:36019,59079:36014,59080:36022,59081:36040,59082:36033,59083:36068,59084:36067,59085:36058,59086:36093,59087:36090,59088:36091,59089:36100,59090:36101,59091:36106,59092:36103,59093:36111,59094:36109,59095:36112,59096:40782,59097:36115,59098:36045,59099:36116,59100:36118,59101:36199,59102:36205,59103:36209,59104:36211,59105:36225,59106:36249,59107:36290,59108:36286,59109:36282,59110:36303,59111:36314,59112:36310,59113:36300,59114:36315,59115:36299,59116:36330,59117:36331,59118:36319,59119:36323,59120:36348,59121:36360,59122:36361,59123:36351,59124:36381,59125:36382,59126:36368,59127:36383,59128:36418,59129:36405,59130:36400,59131:36404,59132:36426,59200:36423,59201:36425,59202:36428,59203:36432,59204:36424,59205:36441,59206:36452,59207:36448,59208:36394,59209:36451,59210:36437,59211:36470,59212:36466,59213:36476,59214:36481,59215:36487,59216:36485,59217:36484,59218:36491,59219:36490,59220:36499,59221:36497,59222:36500,59223:36505,59224:36522,59225:36513,59226:36524,59227:36528,59228:36550,59229:36529,59230:36542,59231:36549,59232:36552,59233:36555,59234:36571,59235:36579,59236:36604,59237:36603,59238:36587,59239:36606,59240:36618,59241:36613,59242:36629,59243:36626,59244:36633,59245:36627,59246:36636,59247:36639,59248:36635,59249:36620,59250:36646,59251:36659,59252:36667,59253:36665,59254:36677,59255:36674,59256:36670,59257:36684,59258:36681,59259:36678,59260:36686,59261:36695,59262:36700,59264:36706,59265:36707,59266:36708,59267:36764,59268:36767,59269:36771,59270:36781,59271:36783,59272:36791,59273:36826,59274:36837,59275:36834,59276:36842,59277:36847,59278:36999,59279:36852,59280:36869,59281:36857,59282:36858,59283:36881,59284:36885,59285:36897,59286:36877,59287:36894,59288:36886,59289:36875,59290:36903,59291:36918,59292:36917,59293:36921,59294:36856,59295:36943,59296:36944,59297:36945,59298:36946,59299:36878,59300:36937,59301:36926,59302:36950,59303:36952,59304:36958,59305:36968,59306:36975,59307:36982,59308:38568,59309:36978,59310:36994,59311:36989,59312:36993,59313:36992,59314:37002,59315:37001,59316:37007,59317:37032,59318:37039,59319:37041,59320:37045,59321:37090,59322:37092,59323:25160,59324:37083,59325:37122,59326:37138,59327:37145,59328:37170,59329:37168,59330:37194,59331:37206,59332:37208,59333:37219,59334:37221,59335:37225,59336:37235,59337:37234,59338:37259,59339:37257,59340:37250,59341:37282,59342:37291,59343:37295,59344:37290,59345:37301,59346:37300,59347:37306,59348:37312,59349:37313,59350:37321,59351:37323,59352:37328,59353:37334,59354:37343,59355:37345,59356:37339,59357:37372,59358:37365,59359:37366,59360:37406,59361:37375,59362:37396,59363:37420,59364:37397,59365:37393,59366:37470,59367:37463,59368:37445,59369:37449,59370:37476,59371:37448,59372:37525,59373:37439,59374:37451,59375:37456,59376:37532,59377:37526,59378:37523,59379:37531,59380:37466,59381:37583,59382:37561,59383:37559,59384:37609,59385:37647,59386:37626,59387:37700,59388:37678,59456:37657,59457:37666,59458:37658,59459:37667,59460:37690,59461:37685,59462:37691,59463:37724,59464:37728,59465:37756,59466:37742,59467:37718,59468:37808,59469:37804,59470:37805,59471:37780,59472:37817,59473:37846,59474:37847,59475:37864,59476:37861,59477:37848,59478:37827,59479:37853,59480:37840,59481:37832,59482:37860,59483:37914,59484:37908,59485:37907,59486:37891,59487:37895,59488:37904,59489:37942,59490:37931,59491:37941,59492:37921,59493:37946,59494:37953,59495:37970,59496:37956,59497:37979,59498:37984,59499:37986,59500:37982,59501:37994,59502:37417,59503:38e3,59504:38005,59505:38007,59506:38013,59507:37978,59508:38012,59509:38014,59510:38017,59511:38015,59512:38274,59513:38279,59514:38282,59515:38292,59516:38294,59517:38296,59518:38297,59520:38304,59521:38312,59522:38311,59523:38317,59524:38332,59525:38331,59526:38329,59527:38334,59528:38346,59529:28662,59530:38339,59531:38349,59532:38348,59533:38357,59534:38356,59535:38358,59536:38364,59537:38369,59538:38373,59539:38370,59540:38433,59541:38440,59542:38446,59543:38447,59544:38466,59545:38476,59546:38479,59547:38475,59548:38519,59549:38492,59550:38494,59551:38493,59552:38495,59553:38502,59554:38514,59555:38508,59556:38541,59557:38552,59558:38549,59559:38551,59560:38570,59561:38567,59562:38577,59563:38578,59564:38576,59565:38580,59566:38582,59567:38584,59568:38585,59569:38606,59570:38603,59571:38601,59572:38605,59573:35149,59574:38620,59575:38669,59576:38613,59577:38649,59578:38660,59579:38662,59580:38664,59581:38675,59582:38670,59583:38673,59584:38671,59585:38678,59586:38681,59587:38692,59588:38698,59589:38704,59590:38713,59591:38717,59592:38718,59593:38724,59594:38726,59595:38728,59596:38722,59597:38729,59598:38748,59599:38752,59600:38756,59601:38758,59602:38760,59603:21202,59604:38763,59605:38769,59606:38777,59607:38789,59608:38780,59609:38785,59610:38778,59611:38790,59612:38795,59613:38799,59614:38800,59615:38812,59616:38824,59617:38822,59618:38819,59619:38835,59620:38836,59621:38851,59622:38854,59623:38856,59624:38859,59625:38876,59626:38893,59627:40783,59628:38898,59629:31455,59630:38902,59631:38901,59632:38927,59633:38924,59634:38968,59635:38948,59636:38945,59637:38967,59638:38973,59639:38982,59640:38991,59641:38987,59642:39019,59643:39023,59644:39024,59712:39025,59713:39028,59714:39027,59715:39082,59716:39087,59717:39089,59718:39094,59719:39108,59720:39107,59721:39110,59722:39145,59723:39147,59724:39171,59725:39177,59726:39186,59727:39188,59728:39192,59729:39201,59730:39197,59731:39198,59732:39204,59733:39200,59734:39212,59735:39214,59736:39229,59737:39230,59738:39234,59739:39241,59740:39237,59741:39248,59742:39243,59743:39249,59744:39250,59745:39244,59746:39253,59747:39319,59748:39320,59749:39333,59750:39341,59751:39342,59752:39356,59753:39391,59754:39387,59755:39389,59756:39384,59757:39377,59758:39405,59759:39406,59760:39409,59761:39410,59762:39419,59763:39416,59764:39425,59765:39439,59766:39429,59767:39394,59768:39449,59769:39467,59770:39479,59771:39493,59772:39490,59773:39488,59774:39491,59776:39486,59777:39509,59778:39501,59779:39515,59780:39511,59781:39519,59782:39522,59783:39525,59784:39524,59785:39529,59786:39531,59787:39530,59788:39597,59789:39600,59790:39612,59791:39616,59792:39631,59793:39633,59794:39635,59795:39636,59796:39646,59797:39647,59798:39650,59799:39651,59800:39654,59801:39663,59802:39659,59803:39662,59804:39668,59805:39665,59806:39671,59807:39675,59808:39686,59809:39704,59810:39706,59811:39711,59812:39714,59813:39715,59814:39717,59815:39719,59816:39720,59817:39721,59818:39722,59819:39726,59820:39727,59821:39730,59822:39748,59823:39747,59824:39759,59825:39757,59826:39758,59827:39761,59828:39768,59829:39796,59830:39827,59831:39811,59832:39825,59833:39830,59834:39831,59835:39839,59836:39840,59837:39848,59838:39860,59839:39872,59840:39882,59841:39865,59842:39878,59843:39887,59844:39889,59845:39890,59846:39907,59847:39906,59848:39908,59849:39892,59850:39905,59851:39994,59852:39922,59853:39921,59854:39920,59855:39957,59856:39956,59857:39945,59858:39955,59859:39948,59860:39942,59861:39944,59862:39954,59863:39946,59864:39940,59865:39982,59866:39963,59867:39973,59868:39972,59869:39969,59870:39984,59871:40007,59872:39986,59873:40006,59874:39998,59875:40026,59876:40032,59877:40039,59878:40054,59879:40056,59880:40167,59881:40172,59882:40176,59883:40201,59884:40200,59885:40171,59886:40195,59887:40198,59888:40234,59889:40230,59890:40367,59891:40227,59892:40223,59893:40260,59894:40213,59895:40210,59896:40257,59897:40255,59898:40254,59899:40262,59900:40264,59968:40285,59969:40286,59970:40292,59971:40273,59972:40272,59973:40281,59974:40306,59975:40329,59976:40327,59977:40363,59978:40303,59979:40314,59980:40346,59981:40356,59982:40361,59983:40370,59984:40388,59985:40385,59986:40379,59987:40376,59988:40378,59989:40390,59990:40399,59991:40386,59992:40409,59993:40403,59994:40440,59995:40422,59996:40429,59997:40431,59998:40445,59999:40474,6e4:40475,60001:40478,60002:40565,60003:40569,60004:40573,60005:40577,60006:40584,60007:40587,60008:40588,60009:40594,60010:40597,60011:40593,60012:40605,60013:40613,60014:40617,60015:40632,60016:40618,60017:40621,60018:38753,60019:40652,60020:40654,60021:40655,60022:40656,60023:40660,60024:40668,60025:40670,60026:40669,60027:40672,60028:40677,60029:40680,60030:40687,60032:40692,60033:40694,60034:40695,60035:40697,60036:40699,60037:40700,60038:40701,60039:40711,60040:40712,60041:30391,60042:40725,60043:40737,60044:40748,60045:40766,60046:40778,60047:40786,60048:40788,60049:40803,60050:40799,60051:40800,60052:40801,60053:40806,60054:40807,60055:40812,60056:40810,60057:40823,60058:40818,60059:40822,60060:40853,60061:40860,60062:40864,60063:22575,60064:27079,60065:36953,60066:29796,60067:20956,60068:29081};},function(e,o,t){Object.defineProperty(o,"t",{value:true});var s=t(1),r=t(2);o.decode=function(e,o){var t=new Uint8ClampedArray(e.length);t.set(e);for(var n=new s.default(285,256,0),i=new r.default(n,t),a=new Uint8ClampedArray(o),c=false,l=0;l<o;l++){var d=i.evaluateAt(n.exp(l+n.generatorBase));a[a.length-1-l]=d,0!==d&&(c=true);}if(!c)return t;var u=new r.default(n,a),h=function(e,o,t,s){var r;o.degree()<t.degree()&&(o=(r=[t,o])[0],t=r[1]);for(var n=o,i=t,a=e.zero,c=e.one;i.degree()>=s/2;){var l=n,d=a;if(a=c,(n=i).isZero())return null;i=l;for(var u=e.zero,h=n.getCoefficient(n.degree()),m=e.inverse(h);i.degree()>=n.degree()&&!i.isZero();){var k=i.degree()-n.degree(),f=e.multiply(i.getCoefficient(i.degree()),m);u=u.addOrSubtract(e.buildMonomial(k,f)),i=i.addOrSubtract(n.multiplyByMonomial(k,f));}if(c=u.multiplyPoly(a).addOrSubtract(d),i.degree()>=n.degree())return null}var B=c.getCoefficient(0);if(0===B)return null;var w=e.inverse(B);return [c.multiply(w),i.multiply(w)]}(n,n.buildMonomial(o,1),u,o);if(null===h)return null;var m=function(e,o){var t=o.degree();if(1===t)return [o.getCoefficient(1)];for(var s=new Array(t),r=0,n=1;n<e.size&&r<t;n++)0===o.evaluateAt(n)&&(s[r]=e.inverse(n),r++);return r!==t?null:s}(n,h[0]);if(null==m)return null;for(var k=function(e,o,t){for(var r=t.length,n=new Array(r),i=0;i<r;i++){for(var a=e.inverse(t[i]),c=1,l=0;l<r;l++)i!==l&&(c=e.multiply(c,s.addOrSubtractGF(1,e.multiply(t[l],a))));n[i]=e.multiply(o.evaluateAt(a),e.inverse(c)),0!==e.generatorBase&&(n[i]=e.multiply(n[i],a));}return n}(n,h[1],m),f=0;f<m.length;f++){var B=t.length-1-n.log(m[f]);if(B<0)return null;t[B]=s.addOrSubtractGF(t[B],k[f]);}return t};},function(e,o){Object.defineProperty(o,"t",{value:true}),o.VERSIONS=[{infoBits:null,versionNumber:1,alignmentPatternCenters:[],errorCorrectionLevels:[{ecCodewordsPerBlock:7,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:13,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:13}]},{ecCodewordsPerBlock:17,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:2,alignmentPatternCenters:[6,18],errorCorrectionLevels:[{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:34}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:28}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]}]},{infoBits:null,versionNumber:3,alignmentPatternCenters:[6,22],errorCorrectionLevels:[{ecCodewordsPerBlock:15,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:55}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:13}]}]},{infoBits:null,versionNumber:4,alignmentPatternCenters:[6,26],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:80}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:32}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:5,alignmentPatternCenters:[6,30],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:43}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:11},{numBlocks:2,dataCodewordsPerBlock:12}]}]},{infoBits:null,versionNumber:6,alignmentPatternCenters:[6,34],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:27}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:31892,versionNumber:7,alignmentPatternCenters:[6,22,38],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:78}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:31}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:13},{numBlocks:1,dataCodewordsPerBlock:14}]}]},{infoBits:34236,versionNumber:8,alignmentPatternCenters:[6,24,42],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:97}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:38},{numBlocks:2,dataCodewordsPerBlock:39}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:18},{numBlocks:2,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:14},{numBlocks:2,dataCodewordsPerBlock:15}]}]},{infoBits:39577,versionNumber:9,alignmentPatternCenters:[6,26,46],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:12},{numBlocks:4,dataCodewordsPerBlock:13}]}]},{infoBits:42195,versionNumber:10,alignmentPatternCenters:[6,28,50],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68},{numBlocks:2,dataCodewordsPerBlock:69}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:43},{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]}]},{infoBits:48118,versionNumber:11,alignmentPatternCenters:[6,30,54],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:81}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:50},{numBlocks:4,dataCodewordsPerBlock:51}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:22},{numBlocks:4,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:12},{numBlocks:8,dataCodewordsPerBlock:13}]}]},{infoBits:51042,versionNumber:12,alignmentPatternCenters:[6,32,58],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:92},{numBlocks:2,dataCodewordsPerBlock:93}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:20},{numBlocks:6,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:55367,versionNumber:13,alignmentPatternCenters:[6,34,62],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:37},{numBlocks:1,dataCodewordsPerBlock:38}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:20},{numBlocks:4,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:11},{numBlocks:4,dataCodewordsPerBlock:12}]}]},{infoBits:58893,versionNumber:14,alignmentPatternCenters:[6,26,46,66],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:40},{numBlocks:5,dataCodewordsPerBlock:41}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:16},{numBlocks:5,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:5,dataCodewordsPerBlock:13}]}]},{infoBits:63784,versionNumber:15,alignmentPatternCenters:[6,26,48,70],errorCorrectionLevels:[{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:87},{numBlocks:1,dataCodewordsPerBlock:88}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:41},{numBlocks:5,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:7,dataCodewordsPerBlock:13}]}]},{infoBits:68472,versionNumber:16,alignmentPatternCenters:[6,26,50,74],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:98},{numBlocks:1,dataCodewordsPerBlock:99}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:70749,versionNumber:17,alignmentPatternCenters:[6,30,54,78],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:1,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22},{numBlocks:15,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:17,dataCodewordsPerBlock:15}]}]},{infoBits:76311,versionNumber:18,alignmentPatternCenters:[6,30,56,82],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:120},{numBlocks:1,dataCodewordsPerBlock:121}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:43},{numBlocks:4,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:1,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:19,dataCodewordsPerBlock:15}]}]},{infoBits:79154,versionNumber:19,alignmentPatternCenters:[6,30,58,86],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:113},{numBlocks:4,dataCodewordsPerBlock:114}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:44},{numBlocks:11,dataCodewordsPerBlock:45}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:21},{numBlocks:4,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:13},{numBlocks:16,dataCodewordsPerBlock:14}]}]},{infoBits:84390,versionNumber:20,alignmentPatternCenters:[6,34,62,90],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:41},{numBlocks:13,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:5,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:15},{numBlocks:10,dataCodewordsPerBlock:16}]}]},{infoBits:87683,versionNumber:21,alignmentPatternCenters:[6,28,50,72,94],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:116},{numBlocks:4,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:16},{numBlocks:6,dataCodewordsPerBlock:17}]}]},{infoBits:92361,versionNumber:22,alignmentPatternCenters:[6,26,50,74,98],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:111},{numBlocks:7,dataCodewordsPerBlock:112}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:13}]}]},{infoBits:96236,versionNumber:23,alignmentPatternCenters:[6,30,54,74,102],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:121},{numBlocks:5,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:47},{numBlocks:14,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:16,dataCodewordsPerBlock:15},{numBlocks:14,dataCodewordsPerBlock:16}]}]},{infoBits:102084,versionNumber:24,alignmentPatternCenters:[6,28,54,80,106],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:45},{numBlocks:14,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:30,dataCodewordsPerBlock:16},{numBlocks:2,dataCodewordsPerBlock:17}]}]},{infoBits:102881,versionNumber:25,alignmentPatternCenters:[6,32,58,84,110],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:106},{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:47},{numBlocks:13,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:110507,versionNumber:26,alignmentPatternCenters:[6,30,58,86,114],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:114},{numBlocks:2,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:46},{numBlocks:4,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:28,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:33,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]}]},{infoBits:110734,versionNumber:27,alignmentPatternCenters:[6,34,62,90,118],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:23},{numBlocks:26,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:117786,versionNumber:28,alignmentPatternCenters:[6,26,50,74,98,122],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:117},{numBlocks:10,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:45},{numBlocks:23,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:24},{numBlocks:31,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:31,dataCodewordsPerBlock:16}]}]},{infoBits:119615,versionNumber:29,alignmentPatternCenters:[6,30,54,78,102,126],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:116},{numBlocks:7,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:21,dataCodewordsPerBlock:45},{numBlocks:7,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:23},{numBlocks:37,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:26,dataCodewordsPerBlock:16}]}]},{infoBits:126325,versionNumber:30,alignmentPatternCenters:[6,26,52,78,104,130],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:115},{numBlocks:10,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:47},{numBlocks:10,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:25,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:25,dataCodewordsPerBlock:16}]}]},{infoBits:127568,versionNumber:31,alignmentPatternCenters:[6,30,56,82,108,134],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:3,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:46},{numBlocks:29,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:24},{numBlocks:1,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:133589,versionNumber:32,alignmentPatternCenters:[6,34,60,86,112,138],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:24},{numBlocks:35,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:35,dataCodewordsPerBlock:16}]}]},{infoBits:136944,versionNumber:33,alignmentPatternCenters:[6,30,58,86,114,142],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:21,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:24},{numBlocks:19,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:141498,versionNumber:34,alignmentPatternCenters:[6,34,62,90,118,146],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:6,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:44,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:59,dataCodewordsPerBlock:16},{numBlocks:1,dataCodewordsPerBlock:17}]}]},{infoBits:145311,versionNumber:35,alignmentPatternCenters:[6,30,54,78,102,126,150],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:121},{numBlocks:7,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:47},{numBlocks:26,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:39,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:41,dataCodewordsPerBlock:16}]}]},{infoBits:150283,versionNumber:36,alignmentPatternCenters:[6,24,50,76,102,128,154],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:121},{numBlocks:14,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:47},{numBlocks:34,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:46,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:64,dataCodewordsPerBlock:16}]}]},{infoBits:152622,versionNumber:37,alignmentPatternCenters:[6,28,54,80,106,132,158],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:46},{numBlocks:14,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:49,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:24,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:158308,versionNumber:38,alignmentPatternCenters:[6,32,58,84,110,136,162],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:122},{numBlocks:18,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:46},{numBlocks:32,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:48,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:15},{numBlocks:32,dataCodewordsPerBlock:16}]}]},{infoBits:161089,versionNumber:39,alignmentPatternCenters:[6,26,54,82,110,138,166],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:40,dataCodewordsPerBlock:47},{numBlocks:7,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:43,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:15},{numBlocks:67,dataCodewordsPerBlock:16}]}]},{infoBits:167017,versionNumber:40,alignmentPatternCenters:[6,30,58,86,114,142,170],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:118},{numBlocks:6,dataCodewordsPerBlock:119}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:18,dataCodewordsPerBlock:47},{numBlocks:31,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:24},{numBlocks:34,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:15},{numBlocks:61,dataCodewordsPerBlock:16}]}]}];},function(e,o,t){Object.defineProperty(o,"t",{value:true});var s=t(0);function r(e,o,t,s){var r=e.x-o.x+t.x-s.x,n=e.y-o.y+t.y-s.y;if(0===r&&0===n)return {a11:o.x-e.x,a12:o.y-e.y,a13:0,a21:t.x-o.x,a22:t.y-o.y,a23:0,a31:e.x,a32:e.y,a33:1};var i=o.x-t.x,a=s.x-t.x,c=o.y-t.y,l=s.y-t.y,d=i*l-a*c,u=(r*l-a*n)/d,h=(i*n-r*c)/d;return {a11:o.x-e.x+u*o.x,a12:o.y-e.y+u*o.y,a13:u,a21:s.x-e.x+h*s.x,a22:s.y-e.y+h*s.y,a23:h,a31:e.x,a32:e.y,a33:1}}o.extract=function(e,o){for(var t,n,i=function(e,o,t,s){var n=r({x:3.5,y:3.5},o,t,s);return {a11:n.a22*n.a33-n.a23*n.a32,a12:n.a13*n.a32-n.a12*n.a33,a13:n.a12*n.a23-n.a13*n.a22,a21:n.a23*n.a31-n.a21*n.a33,a22:n.a11*n.a33-n.a13*n.a31,a23:n.a13*n.a21-n.a11*n.a23,a31:n.a21*n.a32-n.a22*n.a31,a32:n.a12*n.a31-n.a11*n.a32,a33:n.a11*n.a22-n.a12*n.a21}}(0,{x:o.dimension-3.5,y:3.5},{x:o.dimension-6.5,y:o.dimension-6.5},{x:3.5,y:o.dimension-3.5}),a={a11:(t=r(o.topLeft,o.topRight,o.alignmentPattern,o.bottomLeft)).a11*(n=i).a11+t.a21*n.a12+t.a31*n.a13,a12:t.a12*n.a11+t.a22*n.a12+t.a32*n.a13,a13:t.a13*n.a11+t.a23*n.a12+t.a33*n.a13,a21:t.a11*n.a21+t.a21*n.a22+t.a31*n.a23,a22:t.a12*n.a21+t.a22*n.a22+t.a32*n.a23,a23:t.a13*n.a21+t.a23*n.a22+t.a33*n.a23,a31:t.a11*n.a31+t.a21*n.a32+t.a31*n.a33,a32:t.a12*n.a31+t.a22*n.a32+t.a32*n.a33,a33:t.a13*n.a31+t.a23*n.a32+t.a33*n.a33},c=s.BitMatrix.createEmpty(o.dimension,o.dimension),l=function(e,o){var t=a.a13*e+a.a23*o+a.a33;return {x:(a.a11*e+a.a21*o+a.a31)/t,y:(a.a12*e+a.a22*o+a.a32)/t}},d=0;d<o.dimension;d++)for(var u=0;u<o.dimension;u++){var h=l(u+.5,d+.5);c.set(u,d,e.get(Math.floor(h.x),Math.floor(h.y)));}return {matrix:c,mappingFunction:l}};},function(e,o){Object.defineProperty(o,"t",{value:true});var t=function(e,o){return Math.sqrt(Math.pow(o.x-e.x,2)+Math.pow(o.y-e.y,2))};function s(e){return e.reduce(function(e,o){return e+o})}function r(e,o,s,r){var n,i,a,c,l=[{x:Math.floor(e.x),y:Math.floor(e.y)}],d=Math.abs(o.y-e.y)>Math.abs(o.x-e.x);d?(n=Math.floor(e.y),i=Math.floor(e.x),a=Math.floor(o.y),c=Math.floor(o.x)):(n=Math.floor(e.x),i=Math.floor(e.y),a=Math.floor(o.x),c=Math.floor(o.y));for(var u=Math.abs(a-n),h=Math.abs(c-i),m=Math.floor(-u/2),k=n<a?1:-1,f=i<c?1:-1,B=true,w=n,p=i;w!==a+k;w+=k){var v=d?p:w,C=d?w:p;if(s.get(v,C)!==B&&(B=!B,l.push({x:v,y:C}),l.length===r+1))break;if((m+=h)>0){if(p===c)break;p+=f,m-=u;}}for(var g=[],P=0;P<r;P++)g.push(l[P]&&l[P+1]?t(l[P],l[P+1]):0);return g}function n(e,o,t,s){var n,i=o.y-e.y,a=o.x-e.x,c=r(e,o,t,Math.ceil(s/2)),l=r(e,{x:e.x-a,y:e.y-i},t,Math.ceil(s/2)),d=c.shift()+l.shift()-1;return (n=l.concat(d)).concat.apply(n,c)}function i(e,o){var t=s(e)/s(o),r=0;return o.forEach(function(o,s){r+=Math.pow(e[s]-o*t,2);}),{averageSize:t,error:r}}function a(e,o,t){try{var s=n(e,{x:-1,y:e.y},t,o.length),r=n(e,{x:e.x,y:-1},t,o.length),a=n(e,{x:Math.max(0,e.x-e.y)-1,y:Math.max(0,e.y-e.x)-1},t,o.length),c=n(e,{x:Math.min(t.width,e.x+e.y)+1,y:Math.min(t.height,e.y+e.x)+1},t,o.length),l=i(s,o),d=i(r,o),u=i(a,o),h=i(c,o),m=Math.sqrt(l.error*l.error+d.error*d.error+u.error*u.error+h.error*h.error),k=(l.averageSize+d.averageSize+u.averageSize+h.averageSize)/4;return m+(Math.pow(l.averageSize-k,2)+Math.pow(d.averageSize-k,2)+Math.pow(u.averageSize-k,2)+Math.pow(h.averageSize-k,2))/k}catch(f){return 1/0}}function c(e,o){for(var t=Math.round(o.x);e.get(t,Math.round(o.y));)t--;for(var s=Math.round(o.x);e.get(s,Math.round(o.y));)s++;for(var r=(t+s)/2,n=Math.round(o.y);e.get(Math.round(r),n);)n--;for(var i=Math.round(o.y);e.get(Math.round(r),i);)i++;return {x:r,y:(n+i)/2}}function l(e,o,r,i,c){var l,d,u;try{l=function(e,o,r,i){var a=(s(n(e,r,i,5))/7+s(n(e,o,i,5))/7+s(n(r,e,i,5))/7+s(n(o,e,i,5))/7)/4;if(a<1)throw new Error("Invalid module size");var c=Math.round(t(e,o)/a),l=Math.round(t(e,r)/a),d=Math.floor((c+l)/2)+7;switch(d%4){case 0:d++;break;case 2:d--;}return {dimension:d,moduleSize:a}}(i,r,c,e),d=l.dimension,u=l.moduleSize;}catch(p){return null}var h=r.x-i.x+c.x,m=r.y-i.y+c.y,k=(t(i,c)+t(i,r))/2/u,f=1-3/k,B={x:i.x+f*(h-i.x),y:i.y+f*(m-i.y)},w=o.map(function(o){var r=(o.top.startX+o.top.endX+o.bottom.startX+o.bottom.endX)/4,n=(o.top.y+o.bottom.y+1)/2;if(e.get(Math.floor(r),Math.floor(n)))return s([o.top.endX-o.top.startX,o.bottom.endX-o.bottom.startX,o.bottom.y-o.top.y+1]),{x:r,y:n,score:a({x:Math.floor(r),y:Math.floor(n)},[1,1,1],e)+t({x:r,y:n},B)}}).filter(function(e){return !!e}).sort(function(e,o){return e.score-o.score});return {alignmentPattern:k>=15&&w.length?w[0]:B,dimension:d}}o.locate=function(e){for(var o=[],r=[],n=[],i=[],d=function(t){for(var a=0,c=false,l=[0,0,0,0,0],d=function(o){var n=e.get(o,t);if(n===c)a++;else {l=[l[1],l[2],l[3],l[4],a],a=1,c=n;var d=s(l)/7,u=Math.abs(l[0]-d)<d&&Math.abs(l[1]-d)<d&&Math.abs(l[2]-3*d)<3*d&&Math.abs(l[3]-d)<d&&Math.abs(l[4]-d)<d&&!n,h=s(l.slice(-3))/3,m=Math.abs(l[2]-h)<h&&Math.abs(l[3]-h)<h&&Math.abs(l[4]-h)<h&&n;if(u){var k=o-l[3]-l[4],f=k-l[2],B={startX:f,endX:k,y:t};(w=r.filter(function(e){return f>=e.bottom.startX&&f<=e.bottom.endX||k>=e.bottom.startX&&f<=e.bottom.endX||f<=e.bottom.startX&&k>=e.bottom.endX&&l[2]/(e.bottom.endX-e.bottom.startX)<1.5&&l[2]/(e.bottom.endX-e.bottom.startX)>.5})).length>0?w[0].bottom=B:r.push({top:B,bottom:B});}if(m){var w,p=o-l[4],v=p-l[3];B={startX:v,y:t,endX:p},(w=i.filter(function(e){return v>=e.bottom.startX&&v<=e.bottom.endX||p>=e.bottom.startX&&v<=e.bottom.endX||v<=e.bottom.startX&&p>=e.bottom.endX&&l[2]/(e.bottom.endX-e.bottom.startX)<1.5&&l[2]/(e.bottom.endX-e.bottom.startX)>.5})).length>0?w[0].bottom=B:i.push({top:B,bottom:B});}}},u=-1;u<=e.width;u++)d(u);o.push.apply(o,r.filter(function(e){return e.bottom.y!==t&&e.bottom.y-e.top.y>=2})),r=r.filter(function(e){return e.bottom.y===t}),n.push.apply(n,i.filter(function(e){return e.bottom.y!==t})),i=i.filter(function(e){return e.bottom.y===t});},u=0;u<=e.height;u++)d(u);o.push.apply(o,r.filter(function(e){return e.bottom.y-e.top.y>=2})),n.push.apply(n,i);var h=o.filter(function(e){return e.bottom.y-e.top.y>=2}).map(function(o){var t=(o.top.startX+o.top.endX+o.bottom.startX+o.bottom.endX)/4,r=(o.top.y+o.bottom.y+1)/2;if(e.get(Math.round(t),Math.round(r))){var n=[o.top.endX-o.top.startX,o.bottom.endX-o.bottom.startX,o.bottom.y-o.top.y+1],i=s(n)/n.length;return {score:a({x:Math.round(t),y:Math.round(r)},[1,1,3,1,1],e),x:t,y:r,size:i}}}).filter(function(e){return !!e}).sort(function(e,o){return e.score-o.score}).map(function(e,o,t){if(o>4)return null;var s=t.filter(function(e,t){return o!==t}).map(function(o){return {x:o.x,y:o.y,score:o.score+Math.pow(o.size-e.size,2)/e.size,size:o.size}}).sort(function(e,o){return e.score-o.score});if(s.length<2)return null;var r=e.score+s[0].score+s[1].score;return {points:[e].concat(s.slice(0,2)),score:r}}).filter(function(e){return !!e}).sort(function(e,o){return e.score-o.score});if(0===h.length)return null;var m=function(e,o,s){var r,n,i,a,c,l,d,u=t(e,o),h=t(o,s),m=t(e,s);return h>=u&&h>=m?(c=(r=[o,e,s])[0],l=r[1],d=r[2]):m>=h&&m>=u?(c=(n=[e,o,s])[0],l=n[1],d=n[2]):(c=(i=[e,s,o])[0],l=i[1],d=i[2]),(d.x-l.x)*(c.y-l.y)-(d.y-l.y)*(c.x-l.x)<0&&(c=(a=[d,c])[0],d=a[1]),{bottomLeft:c,topLeft:l,topRight:d}}(h[0].points[0],h[0].points[1],h[0].points[2]),k=m.topRight,f=m.topLeft,B=m.bottomLeft,w=l(e,n,k,f,B),p=[];w&&p.push({alignmentPattern:{x:w.alignmentPattern.x,y:w.alignmentPattern.y},bottomLeft:{x:B.x,y:B.y},dimension:w.dimension,topLeft:{x:f.x,y:f.y},topRight:{x:k.x,y:k.y}});var v=c(e,k),C=c(e,f),g=c(e,B),P=l(e,n,v,C,g);return P&&p.push({alignmentPattern:{x:P.alignmentPattern.x,y:P.alignmentPattern.y},bottomLeft:{x:g.x,y:g.y},topLeft:{x:C.x,y:C.y},topRight:{x:v.x,y:v.y},dimension:P.dimension}),0===p.length?null:p};}]).default));class v{shadowRoot;isScanning=false;scanTimeout=null;qrCodeCache=new WeakMap;enabled=false;delay=3e3;action="copyWithToast";mouseOverHandler=null;mouseOutHandler=null;observing=false;cacheTimeout=6e4;currentHoverElement=null;useGMOpenTab=true;constructor(e){this.shadowRoot=e;}start(e,t,s,r=true){this.stop(),this.enabled=e,this.delay=t,this.action=s,this.useGMOpenTab=r,this.enabled?(o.log("启动二维码识别器"),this.startObserving()):o.log("二维码识别已禁用");}stop(){this.scanTimeout&&(clearTimeout(this.scanTimeout),this.scanTimeout=null),this.observing&&this.mouseOverHandler&&this.mouseOutHandler&&(document.removeEventListener("mouseover",this.mouseOverHandler,true),document.removeEventListener("mouseout",this.mouseOutHandler,true),this.observing=false,o.log("停止二维码识别器"));}updateConfig(e,o,t,s=true){(this.enabled!==e||this.delay!==o||this.action!==t||this.useGMOpenTab!==s)&&this.start(e,o,t,s);}startObserving(){this.observing||(this.mouseOverHandler=e=>this.handleMouseOver(e),this.mouseOutHandler=e=>this.handleMouseOut(e),document.addEventListener("mouseover",this.mouseOverHandler,true),document.addEventListener("mouseout",this.mouseOutHandler,true),this.observing=true);}handleMouseOver(e){if(!this.enabled)return;const o=this.getTopImageElement(e);o&&(this.currentHoverElement=o,this.scanTimeout&&clearTimeout(this.scanTimeout),this.scanTimeout=window.setTimeout(()=>{this.currentHoverElement===o&&("IMG"===o.tagName?this.scanImage(o):"CANVAS"===o.tagName&&this.scanCanvas(o));},this.delay));}handleMouseOut(e){this.getTopImageElement(e)===this.currentHoverElement&&(this.currentHoverElement=null,this.scanTimeout&&(clearTimeout(this.scanTimeout),this.scanTimeout=null));}getTopImageElement(e){const o=document.elementsFromPoint(e.clientX,e.clientY);for(const t of o)if("miku-share-host"!==t.id){if("IMG"===t.tagName||"CANVAS"===t.tagName){const e=window.getComputedStyle(t);if("none"!==e.display&&"hidden"!==e.visibility&&parseFloat(e.opacity)>0)return t}if(t instanceof HTMLElement){const e=window.getComputedStyle(t).backgroundImage;if(e&&"none"!==e&&e.includes("url(")){const e=t.querySelector("img");if(e)return e}}}return null}getCachedResult(e){const o=this.qrCodeCache.get(e);if(o){if(Date.now()-o.timestamp<this.cacheTimeout)return o.data;this.qrCodeCache.delete(e);}return null}setCachedResult(e,o){this.qrCodeCache.set(e,{data:o,timestamp:Date.now()});}async scanImage(e){const t=this.getCachedResult(e);if(null===t){if(!this.isScanning){this.isScanning=true;try{e.complete||await new Promise((o,t)=>{e.onload=o,e.onerror=t,setTimeout(t,5e3);});const t=document.createElement("canvas"),s=t.getContext("2d");if(!s)throw new Error("无法创建canvas上下文");const r=e.naturalWidth||e.width,n=e.naturalHeight||e.height;if(0===r||0===n)throw new Error("图片尺寸无效");t.width=r,t.height=n,s.drawImage(e,0,0,r,n);const i=s.getImageData(0,0,r,n);let a=p(i.data,i.width,i.height,{inversionAttempts:"attemptBoth"});a&&a.data?(o.log("识别到二维码:",a.data),this.setCachedResult(e,a.data),this.handleQRCodeResult(a.data),this.showVisualFeedback(e)):(this.setCachedResult(e,""),o.log("未识别到二维码"));}catch(s){o.error("扫描图片二维码失败:",s);}finally{this.isScanning=false;}}}else t&&(o.log("使用缓存的二维码识别结果:",t),this.handleQRCodeResult(t),this.showVisualFeedback(e));}async scanCanvas(e){const t=this.getCachedResult(e);if(null===t){if(!this.isScanning){this.isScanning=true;try{const t=e.getContext("2d");if(!t)throw new Error("无法获取canvas上下文");const s=e.width,r=e.height;if(0===s||0===r)throw new Error("Canvas尺寸无效");const n=t.getImageData(0,0,s,r),i=p(n.data,n.width,n.height,{inversionAttempts:"attemptBoth"});i&&i.data?(o.log("从Canvas识别到二维码:",i.data),this.setCachedResult(e,i.data),this.handleQRCodeResult(i.data),this.showVisualFeedback(e)):this.setCachedResult(e,"");}catch(s){o.error("扫描Canvas二维码失败:",s);}finally{this.isScanning=false;}}}else t&&(o.log("使用缓存的Canvas二维码识别结果:",t),this.handleQRCodeResult(t),this.showVisualFeedback(e));}showVisualFeedback(e){const o=e.style.border,t=e.style.boxShadow;e.style.border="3px solid #4CAF50",e.style.boxShadow="0 0 10px rgba(76, 175, 80, 0.5)",setTimeout(()=>{e.style.border=o,e.style.boxShadow=t;},2e3);}openUrl(e){if(this.useGMOpenTab&&"undefined"!=typeof GM_openInTab)try{GM_openInTab(e,{active:!0,insert:!0,setParent:!0}),o.log("使用GM_openInTab打开链接:",e);}catch(t){o.error("GM_openInTab失败,降级使用window.open:",t),window.open(e,"_blank");}else window.open(e,"_blank"),o.log("使用window.open打开链接:",e);}handleQRCodeResult(e){if(!e)return;const t=async e=>{try{if(navigator.clipboard&&navigator.clipboard.writeText)return await navigator.clipboard.writeText(e),!0;const s=document.createElement("textarea");s.value=e,s.style.position="fixed",s.style.left="-999999px",s.style.top="-999999px",document.body.appendChild(s),s.focus(),s.select();let r=!1;try{r=document.execCommand("copy");}catch(t){o.error("复制失败:",t);}return document.body.removeChild(s),r}catch(t){return o.error("复制到剪贴板失败:",t),false}},s=e=>{try{const o=new URL(e);return "http:"===o.protocol||"https:"===o.protocol}catch{return /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?/.test(e)}};switch(this.action){case "copy":t(e),o.log("已复制到剪贴板(静默):",e);break;case "copyWithToast":t(e).then(o=>{if(o){const o=e.length>50?e.substring(0,50)+"...":e;l(this.shadowRoot,`已复制: ${o}`,"success");}else l(this.shadowRoot,"复制失败,请手动复制","error");});break;case "copyAndOpen":t(e).then(o=>{if(o){const o=e.length>50?e.substring(0,50)+"...":e;l(this.shadowRoot,`已复制: ${o}`,"success"),s(e)&&setTimeout(()=>{this.openUrl(e),l(this.shadowRoot,"正在打开链接...","info");},500);}else l(this.shadowRoot,"复制失败","error");});break;case "silentOpen":s(e)?(this.openUrl(e),o.log("直接打开链接:",e)):t(e).then(e=>{e&&l(this.shadowRoot,"不是有效链接,已复制内容","info");});break;default:o.warn("未知的动作类型:",this.action);}}destroy(){this.stop(),this.qrCodeCache=new WeakMap,this.currentHoverElement=null;}}class C{config;allowList={element:["script","style","video"],id:["video"],className:["video"]};copyEventHandler=null;observing=false;mutationObserver=null;constructor(e){this.config=e;}init(){this.config.enableCopyPurify&&(this.purifyURL(),this.interceptCopy()),this.config.enableSelectionUnlock&&(this.unlockSelection(),this.startMutationObserver());}destroy(){this.copyEventHandler&&(document.removeEventListener("copy",this.copyEventHandler,true),this.copyEventHandler=null),this.mutationObserver&&(this.mutationObserver.disconnect(),this.mutationObserver=null),this.observing=false;}purifyURL(){const e=window.location.hostname;if(!this.config.copyPurifyDomains.includes(e))return;const t={"blog.csdn.net":()=>{const e=location.href.match(/(https?:\/\/.*?blog\.csdn\.net\/.*?article\/details\/.*?)\?/);if(e){const t=e[1];window.history.replaceState({path:t},"",t),o.log("CSDN URL已净化");}},"www.zhihu.com":()=>{const e=new URL(location.href);let t=false;["utm_source","utm_medium","utm_campaign","utm_content","utm_term","utm_id","utm_division","utm_oi","utm_psn"].forEach(o=>{e.searchParams.has(o)&&(e.searchParams.delete(o),t=true);}),t&&(window.history.replaceState(null,"",e.href),o.log("知乎 URL已净化"));},"www.bilibili.com":()=>{const e=new URL(location.href),t=e.href;["share_source","share_medium","share_plat","share_tag","share_times","share_from","share_session_id","spm_id_from","from_spmid","from","seid","vd_source","from_source","msource","bsource","spm_from","from_spm_id","plat_id","buvid","buvid3","buvid4","session_id","refer_from","broadcast_type","is_story_h5","timestamp","ts","unique_k","rt","bbid","live_from","launch_id","hotRank","accept_quality","current_fnval","current_qn","network","tids","simid","search_source","vd","keyword","goFrom","jumpFrom","noTitleBar","hasBack","isHideNavBar","navhide","share_plat","p","t","start_progress"].forEach(o=>{e.searchParams.delete(o);}),Array.from(e.searchParams.keys()).forEach(o=>{(o.includes("share")||o.includes("spm")||o.includes("from")||o.includes("buvid")||o.includes("source")||o.includes("track"))&&e.searchParams.delete(o);}),e.href!==t&&(window.history.replaceState(null,"",e.href),o.log("B站 URL已净化,移除了追踪参数"));},"www.cnblogs.com":()=>{const e=new URL(location.href);let t=false;["utm_source","utm_medium","utm_campaign"].forEach(o=>{e.searchParams.has(o)&&(e.searchParams.delete(o),t=true);}),t&&(window.history.replaceState(null,"",e.href),o.log("博客园 URL已净化"));},"www.360doc.com":()=>{const e=new URL(location.href);e.searchParams.has("from")&&(e.searchParams.delete("from"),window.history.replaceState(null,"",e.href),o.log("360doc URL已净化"));},"blog.51cto.com":()=>{const e=new URL(location.href);let t=false;["utm_source","utm_medium","utm_campaign","utm_content"].forEach(o=>{e.searchParams.has(o)&&(e.searchParams.delete(o),t=true);}),t&&(window.history.replaceState(null,"",e.href),o.log("51CTO URL已净化"));},"www.kuwo.cn":()=>{const e=new URL(location.href);let t=false;["from","plat"].forEach(o=>{e.searchParams.has(o)&&(e.searchParams.delete(o),t=true);}),t&&(window.history.replaceState(null,"",e.href),o.log("酷我音乐 URL已净化"));},"read.qidian.com":()=>{const e=new URL(location.href);e.searchParams.has("from")&&(e.searchParams.delete("from"),window.history.replaceState(null,"",e.href),o.log("起点中文网 URL已净化"));}}[e];t&&t();}interceptCopy(){const e=window.location.hostname;this.config.copyPurifyDomains.includes(e)&&(this.copyEventHandler&&document.removeEventListener("copy",this.copyEventHandler,true),this.copyEventHandler=e=>{const t=window.getSelection();if(!t||0===t.rangeCount)return;const s=t.toString();if(!s)return;let r=s,n=false;[/————————————————\s*版权声明.*$/s,/-----*\s*版权声明.*$/s,/作者:.*?\s+链接:.*?\s+来源:.*?\s+著作权归.*?$/s,/本文为.*?原创文章.*$/s,/转载请注明出处.*$/s,/-----*\s*作者.*$/s,/————————————————\s*版权声明:本文为.*?原创文章.*?$/s,/版权声明:本文为博主原创文章.*?$/s,/编辑于\s*\d{4}-\d{2}-\d{2}.*?$/s,/发布于\s*\d{4}-\d{2}-\d{2}.*?$/s,/作者:.*?\s+链接:https:\/\/www\.jianshu\.com.*?$/s,/本文转载自:.*?$/s,/原文链接:.*?$/s,/阅读原文.*?$/s,/点击上方.*?关注.*?$/s,/KATEX_INLINE_OPEN本文来自:.*?KATEX_INLINE_CLOSE$/s,/【.*?版权.*?】.*?$/s,/```math.*?版权.*?```.*?$/s,/©.*?版权所有.*?$/s,/Copyright.*?$/is,/All Rights Reserved.*?$/is].forEach(e=>{const o=r.replace(e,"");o!==r&&(r=o,n=true);}),r=r.replace(/\n{3,}/g,"\n\n").trim(),n&&(e.preventDefault(),e.clipboardData?.setData("text/plain",r),o.log("复制内容已净化"));},document.addEventListener("copy",this.copyEventHandler,true));}startMutationObserver(){if(this.observing)return;const e=window.location.hostname;this.config.copyPurifyDomains.includes(e)&&(this.mutationObserver=new MutationObserver(e=>{for(const o of e)"childList"===o.type&&o.addedNodes.forEach(e=>{e.nodeType===Node.ELEMENT_NODE&&(this.unlockElement(e),e.querySelectorAll("*").forEach(e=>{this.unlockElement(e);}));});}),this.mutationObserver.observe(document.body,{childList:true,subtree:true}),this.observing=true);}unlockSelection(){const e=window.location.hostname;if(!this.config.copyPurifyDomains.includes(e))return;const o=document.createElement("style");o.textContent="\n            * {\n                -webkit-user-select: text !important;\n                -moz-user-select: text !important;\n                -ms-user-select: text !important;\n                user-select: text !important;\n            }\n            \n            /* 针对伪元素的选择样式 */\n            *::selection {\n                background-color: #007BFF !important;\n                color: white !important;\n            }\n            \n            *::-moz-selection {\n                background-color: #007BFF !important;\n                color: white !important;\n            }\n            \n            /* 深色模式下的选择样式 */\n            @media (prefers-color-scheme: dark) {\n                *::selection {\n                    background-color: #5DACDD !important;\n                    color: black !important;\n                }\n                \n                *::-moz-selection {\n                    background-color: #5DACDD !important;\n                    color: black !important;\n                }\n            }\n        ",o.id="miku-share-unlock-style";const t=document.getElementById("miku-share-unlock-style");t&&t.remove(),document.head.appendChild(o),this.unlockAllElements();}unlockAllElements(){document.querySelectorAll("*").forEach(e=>{this.unlockElement(e);});}unlockElement(e){if(e.getRootNode()instanceof ShadowRoot)return;if("miku-share-host"===e.id)return;const o=e.nodeName.toLowerCase(),t=e.id?.toLowerCase(),s=e.className?.toString().toLowerCase();this.allowList.element.includes(o)||this.allowList.id.some(e=>t?.includes(e))||this.allowList.className.some(e=>s?.includes(e))||(["user-select","-webkit-user-select","-moz-user-select","-ms-user-select","-khtml-user-select"].forEach(o=>{const t=window.getComputedStyle(e)[o];t&&"auto"!==t&&"text"!==t&&e.style.setProperty(o,"text","important");}),["selectstart","selectionchange","copy","beforecopy","paste","beforepaste","cut","beforecut","contextmenu"].forEach(o=>{e.removeAttribute(`on${o}`),e[`on${o}`]=e=>{e.stopImmediatePropagation();};}),["P","DIV","SPAN","A","H1","H2","H3","H4","H5","H6","LI","TD","TH"].includes(e.nodeName)&&["mousedown","mouseup","mouseover","mouseout","mouseleave","mouseenter"].forEach(o=>{e[`on${o}`]=e=>{0===e.button&&e.stopImmediatePropagation();};}),["keypress","keyup","keydown"].forEach(o=>{e[`on${o}`]=e=>{const o=e.keyCode||e.which||e.charCode;((e.ctrlKey||e.metaKey)&&67===o||123===o)&&e.stopImmediatePropagation();};}));}updateConfig(e){const o=this.config;if(this.config=e,o.enableCopyPurify!==e.enableCopyPurify&&(this.destroy(),e.enableCopyPurify&&(this.purifyURL(),this.interceptCopy())),o.enableSelectionUnlock!==e.enableSelectionUnlock)if(e.enableSelectionUnlock)this.unlockSelection(),this.startMutationObserver();else {const e=document.getElementById("miku-share-unlock-style");e&&e.remove(),this.mutationObserver&&(this.mutationObserver.disconnect(),this.mutationObserver=null),this.observing=false;}}}!async function(){if(window.self!==window.top)return void o.log("脚本在iframe中,已停止执行。");o.log("脚本开始初始化...");const r=new s(t);await r.init();let n=r.get();const i=document.createElement("div");i.id="miku-share-host",document.body.appendChild(i);const a=i.attachShadow({mode:"open"});new e(a).injectStyles();const c=new f(a,r);c.init();const l=c.getLanSharer();let d=new C(n);d.init();const u=new v(a);u.start(n.enableQRRecognition,n.qrRecognitionDelay,n.qrRecognitionAction),r.subscribe(e=>{o.log("配置已更新,正在应用新设置..."),n=e,d.updateConfig(e),u.updateConfig(e.enableQRRecognition,e.qrRecognitionDelay,e.qrRecognitionAction),o.log("新设置已应用");}),GM_registerMenuCommand("⚙️ 打开MikuShare设置",()=>{c.toggleVisibility();}),new h(a,r,l).observe(),window.addEventListener("beforeunload",()=>{u.destroy(),d.destroy();}),o.log("脚本初始化完成。");}();

})();