"use strict";
const _export_sfc = (sfc, props) => {
  const target = sfc.__vccOpts || sfc;
  for (const [key, val] of props) {
    target[key] = val;
  }
  return target;
};
/**
* @vue/shared v3.4.21
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
function makeMap(str, expectsLowerCase) {
  const set2 = new Set(str.split(","));
  return expectsLowerCase ? (val) => set2.has(val.toLowerCase()) : (val) => set2.has(val);
}
const EMPTY_OBJ = Object.freeze({});
const EMPTY_ARR = Object.freeze([]);
const NOOP = () => {
};
const NO = () => false;
const isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter
(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);
const isModelListener = (key) => key.startsWith("onUpdate:");
const extend = Object.assign;
const remove = (arr, el) => {
  const i = arr.indexOf(el);
  if (i > -1) {
    arr.splice(i, 1);
  }
};
const hasOwnProperty$2 = Object.prototype.hasOwnProperty;
const hasOwn$1 = (val, key) => hasOwnProperty$2.call(val, key);
const isArray = Array.isArray;
const isMap = (val) => toTypeString(val) === "[object Map]";
const isSet = (val) => toTypeString(val) === "[object Set]";
const isFunction = (val) => typeof val === "function";
const isString = (val) => typeof val === "string";
const isSymbol = (val) => typeof val === "symbol";
const isObject$1 = (val) => val !== null && typeof val === "object";
const isPromise = (val) => {
  return (isObject$1(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);
};
const objectToString = Object.prototype.toString;
const toTypeString = (value) => objectToString.call(value);
const toRawType = (value) => {
  return toTypeString(value).slice(8, -1);
};
const isPlainObject = (val) => toTypeString(val) === "[object Object]";
const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key;
const isReservedProp = /* @__PURE__ */ makeMap(
  // the leading comma is intentional so empty string "" is also included
  ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"
);
const isBuiltInDirective = /* @__PURE__ */ makeMap(
  "bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"
);
const cacheStringFunction = (fn) => {
  const cache = /* @__PURE__ */ Object.create(null);
  return (str) => {
    const hit = cache[str];
    return hit || (cache[str] = fn(str));
  };
};
const camelizeRE = /-(\w)/g;
const camelize = cacheStringFunction((str) => {
  return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : "");
});
const hyphenateRE = /\B([A-Z])/g;
const hyphenate = cacheStringFunction(
  (str) => str.replace(hyphenateRE, "-$1").toLowerCase()
);
const capitalize = cacheStringFunction((str) => {
  return str.charAt(0).toUpperCase() + str.slice(1);
});
const toHandlerKey = cacheStringFunction((str) => {
  const s2 = str ? `on${capitalize(str)}` : ``;
  return s2;
});
const hasChanged = (value, oldValue) => !Object.is(value, oldValue);
const invokeArrayFns$1 = (fns, arg) => {
  for (let i = 0; i < fns.length; i++) {
    fns[i](arg);
  }
};
const def = (obj, key, value) => {
  Object.defineProperty(obj, key, {
    configurable: true,
    enumerable: false,
    value
  });
};
const looseToNumber = (val) => {
  const n2 = parseFloat(val);
  return isNaN(n2) ? val : n2;
};
const toNumber = (val) => {
  const n2 = isString(val) ? Number(val) : NaN;
  return isNaN(n2) ? val : n2;
};
let _globalThis;
const getGlobalThis = () => {
  return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
};
function normalizeStyle(value) {
  if (isArray(value)) {
    const res = {};
    for (let i = 0; i < value.length; i++) {
      const item = value[i];
      const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);
      if (normalized) {
        for (const key in normalized) {
          res[key] = normalized[key];
        }
      }
    }
    return res;
  } else if (isString(value) || isObject$1(value)) {
    return value;
  }
}
const listDelimiterRE = /;(?![^(]*\))/g;
const propertyDelimiterRE = /:([^]+)/;
const styleCommentRE = /\/\*[^]*?\*\//g;
function parseStringStyle(cssText) {
  const ret = {};
  cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => {
    if (item) {
      const tmp = item.split(propertyDelimiterRE);
      tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());
    }
  });
  return ret;
}
function normalizeClass(value) {
  let res = "";
  if (isString(value)) {
    res = value;
  } else if (isArray(value)) {
    for (let i = 0; i < value.length; i++) {
      const normalized = normalizeClass(value[i]);
      if (normalized) {
        res += normalized + " ";
      }
    }
  } else if (isObject$1(value)) {
    for (const name in value) {
      if (value[name]) {
        res += name + " ";
      }
    }
  }
  return res.trim();
}
const toDisplayString = (val) => {
  return isString(val) ? val : val == null ? "" : isArray(val) || isObject$1(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);
};
const replacer = (_key, val) => {
  if (val && val.__v_isRef) {
    return replacer(_key, val.value);
  } else if (isMap(val)) {
    return {
      [`Map(${val.size})`]: [...val.entries()].reduce(
        (entries, [key, val2], i) => {
          entries[stringifySymbol(key, i) + " =>"] = val2;
          return entries;
        },
        {}
      )
    };
  } else if (isSet(val)) {
    return {
      [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))
    };
  } else if (isSymbol(val)) {
    return stringifySymbol(val);
  } else if (isObject$1(val) && !isArray(val) && !isPlainObject(val)) {
    return String(val);
  }
  return val;
};
const stringifySymbol = (v, i = "") => {
  var _a;
  return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v;
};
const LINEFEED = "\n";
const SLOT_DEFAULT_NAME = "d";
const ON_SHOW = "onShow";
const ON_HIDE = "onHide";
const ON_LAUNCH = "onLaunch";
const ON_ERROR = "onError";
const ON_THEME_CHANGE = "onThemeChange";
const ON_PAGE_NOT_FOUND = "onPageNotFound";
const ON_UNHANDLE_REJECTION = "onUnhandledRejection";
const ON_EXIT = "onExit";
const ON_LOAD = "onLoad";
const ON_READY = "onReady";
const ON_UNLOAD = "onUnload";
const ON_INIT = "onInit";
const ON_SAVE_EXIT_STATE = "onSaveExitState";
const ON_RESIZE = "onResize";
const ON_BACK_PRESS = "onBackPress";
const ON_PAGE_SCROLL = "onPageScroll";
const ON_TAB_ITEM_TAP = "onTabItemTap";
const ON_REACH_BOTTOM = "onReachBottom";
const ON_PULL_DOWN_REFRESH = "onPullDownRefresh";
const ON_SHARE_TIMELINE = "onShareTimeline";
const ON_ADD_TO_FAVORITES = "onAddToFavorites";
const ON_SHARE_APP_MESSAGE = "onShareAppMessage";
const ON_NAVIGATION_BAR_BUTTON_TAP = "onNavigationBarButtonTap";
const ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED = "onNavigationBarSearchInputClicked";
const ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED = "onNavigationBarSearchInputChanged";
const ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED = "onNavigationBarSearchInputConfirmed";
const ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED = "onNavigationBarSearchInputFocusChanged";
const customizeRE = /:/g;
function customizeEvent(str) {
  return camelize(str.replace(customizeRE, "-"));
}
function hasLeadingSlash(str) {
  return str.indexOf("/") === 0;
}
function addLeadingSlash(str) {
  return hasLeadingSlash(str) ? str : "/" + str;
}
const invokeArrayFns = (fns, arg) => {
  let ret;
  for (let i = 0; i < fns.length; i++) {
    ret = fns[i](arg);
  }
  return ret;
};
function once(fn, ctx = null) {
  let res;
  return (...args) => {
    if (fn) {
      res = fn.apply(ctx, args);
      fn = null;
    }
    return res;
  };
}
function getValueByDataPath(obj, path) {
  if (!isString(path)) {
    return;
  }
  path = path.replace(/\[(\d+)\]/g, ".$1");
  const parts = path.split(".");
  let key = parts[0];
  if (!obj) {
    obj = {};
  }
  if (parts.length === 1) {
    return obj[key];
  }
  return getValueByDataPath(obj[key], parts.slice(1).join("."));
}
function sortObject(obj) {
  let sortObj = {};
  if (isPlainObject(obj)) {
    Object.keys(obj).sort().forEach((key) => {
      const _key = key;
      sortObj[_key] = obj[_key];
    });
  }
  return !Object.keys(sortObj) ? obj : sortObj;
}
const encode = encodeURIComponent;
function stringifyQuery(obj, encodeStr = encode) {
  const res = obj ? Object.keys(obj).map((key) => {
    let val = obj[key];
    if (typeof val === void 0 || val === null) {
      val = "";
    } else if (isPlainObject(val)) {
      val = JSON.stringify(val);
    }
    return encodeStr(key) + "=" + encodeStr(val);
  }).filter((x) => x.length > 0).join("&") : null;
  return res ? `?${res}` : "";
}
const PAGE_HOOKS = [
  ON_INIT,
  ON_LOAD,
  ON_SHOW,
  ON_HIDE,
  ON_UNLOAD,
  ON_BACK_PRESS,
  ON_PAGE_SCROLL,
  ON_TAB_ITEM_TAP,
  ON_REACH_BOTTOM,
  ON_PULL_DOWN_REFRESH,
  ON_SHARE_TIMELINE,
  ON_SHARE_APP_MESSAGE,
  ON_ADD_TO_FAVORITES,
  ON_SAVE_EXIT_STATE,
  ON_NAVIGATION_BAR_BUTTON_TAP,
  ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED,
  ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED,
  ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED,
  ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED
];
function isRootHook(name) {
  return PAGE_HOOKS.indexOf(name) > -1;
}
const UniLifecycleHooks = [
  ON_SHOW,
  ON_HIDE,
  ON_LAUNCH,
  ON_ERROR,
  ON_THEME_CHANGE,
  ON_PAGE_NOT_FOUND,
  ON_UNHANDLE_REJECTION,
  ON_EXIT,
  ON_INIT,
  ON_LOAD,
  ON_READY,
  ON_UNLOAD,
  ON_RESIZE,
  ON_BACK_PRESS,
  ON_PAGE_SCROLL,
  ON_TAB_ITEM_TAP,
  ON_REACH_BOTTOM,
  ON_PULL_DOWN_REFRESH,
  ON_SHARE_TIMELINE,
  ON_ADD_TO_FAVORITES,
  ON_SHARE_APP_MESSAGE,
  ON_SAVE_EXIT_STATE,
  ON_NAVIGATION_BAR_BUTTON_TAP,
  ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED,
  ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED,
  ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED,
  ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED
];
const MINI_PROGRAM_PAGE_RUNTIME_HOOKS = /* @__PURE__ */ (() => {
  return {
    onPageScroll: 1,
    onShareAppMessage: 1 << 1,
    onShareTimeline: 1 << 2
  };
})();
function isUniLifecycleHook(name, value, checkType = true) {
  if (checkType && !isFunction(value)) {
    return false;
  }
  if (UniLifecycleHooks.indexOf(name) > -1) {
    return true;
  } else if (name.indexOf("on") === 0) {
    return true;
  }
  return false;
}
let vueApp;
const createVueAppHooks = [];
function onCreateVueApp(hook) {
  if (vueApp) {
    return hook(vueApp);
  }
  createVueAppHooks.push(hook);
}
function invokeCreateVueAppHook(app) {
  vueApp = app;
  createVueAppHooks.forEach((hook) => hook(app));
}
const invokeCreateErrorHandler = once((app, createErrorHandler2) => {
  if (isFunction(app._component.onError)) {
    return createErrorHandler2(app);
  }
});
const E = function() {
};
E.prototype = {
  on: function(name, callback, ctx) {
    var e2 = this.e || (this.e = {});
    (e2[name] || (e2[name] = [])).push({
      fn: callback,
      ctx
    });
    return this;
  },
  once: function(name, callback, ctx) {
    var self2 = this;
    function listener() {
      self2.off(name, listener);
      callback.apply(ctx, arguments);
    }
    listener._ = callback;
    return this.on(name, listener, ctx);
  },
  emit: function(name) {
    var data = [].slice.call(arguments, 1);
    var evtArr = ((this.e || (this.e = {}))[name] || []).slice();
    var i = 0;
    var len = evtArr.length;
    for (i; i < len; i++) {
      evtArr[i].fn.apply(evtArr[i].ctx, data);
    }
    return this;
  },
  off: function(name, callback) {
    var e2 = this.e || (this.e = {});
    var evts = e2[name];
    var liveEvents = [];
    if (evts && callback) {
      for (var i = evts.length - 1; i >= 0; i--) {
        if (evts[i].fn === callback || evts[i].fn._ === callback) {
          evts.splice(i, 1);
          break;
        }
      }
      liveEvents = evts;
    }
    liveEvents.length ? e2[name] = liveEvents : delete e2[name];
    return this;
  }
};
var E$1 = E;
const isObject = (val) => val !== null && typeof val === "object";
const defaultDelimiters = ["{", "}"];
class BaseFormatter {
  constructor() {
    this._caches = /* @__PURE__ */ Object.create(null);
  }
  interpolate(message, values, delimiters = defaultDelimiters) {
    if (!values) {
      return [message];
    }
    let tokens = this._caches[message];
    if (!tokens) {
      tokens = parse(message, delimiters);
      this._caches[message] = tokens;
    }
    return compile$1(tokens, values);
  }
}
const RE_TOKEN_LIST_VALUE = /^(?:\d)+/;
const RE_TOKEN_NAMED_VALUE = /^(?:\w)+/;
function parse(format, [startDelimiter, endDelimiter]) {
  const tokens = [];
  let position = 0;
  let text = "";
  while (position < format.length) {
    let char = format[position++];
    if (char === startDelimiter) {
      if (text) {
        tokens.push({ type: "text", value: text });
      }
      text = "";
      let sub = "";
      char = format[position++];
      while (char !== void 0 && char !== endDelimiter) {
        sub += char;
        char = format[position++];
      }
      const isClosed = char === endDelimiter;
      const type = RE_TOKEN_LIST_VALUE.test(sub) ? "list" : isClosed && RE_TOKEN_NAMED_VALUE.test(sub) ? "named" : "unknown";
      tokens.push({ value: sub, type });
    } else {
      text += char;
    }
  }
  text && tokens.push({ type: "text", value: text });
  return tokens;
}
function compile$1(tokens, values) {
  const compiled = [];
  let index2 = 0;
  const mode = Array.isArray(values) ? "list" : isObject(values) ? "named" : "unknown";
  if (mode === "unknown") {
    return compiled;
  }
  while (index2 < tokens.length) {
    const token = tokens[index2];
    switch (token.type) {
      case "text":
        compiled.push(token.value);
        break;
      case "list":
        compiled.push(values[parseInt(token.value, 10)]);
        break;
      case "named":
        if (mode === "named") {
          compiled.push(values[token.value]);
        } else {
          {
            console.warn(`Type of token '${token.type}' and format of value '${mode}' don't match!`);
          }
        }
        break;
      case "unknown":
        {
          console.warn(`Detect 'unknown' type of token!`);
        }
        break;
    }
    index2++;
  }
  return compiled;
}
const LOCALE_ZH_HANS = "zh-Hans";
const LOCALE_ZH_HANT = "zh-Hant";
const LOCALE_EN = "en";
const LOCALE_FR = "fr";
const LOCALE_ES = "es";
const hasOwnProperty$1 = Object.prototype.hasOwnProperty;
const hasOwn = (val, key) => hasOwnProperty$1.call(val, key);
const defaultFormatter = new BaseFormatter();
function include(str, parts) {
  return !!parts.find((part) => str.indexOf(part) !== -1);
}
function startsWith(str, parts) {
  return parts.find((part) => str.indexOf(part) === 0);
}
function normalizeLocale(locale, messages) {
  if (!locale) {
    return;
  }
  locale = locale.trim().replace(/_/g, "-");
  if (messages && messages[locale]) {
    return locale;
  }
  locale = locale.toLowerCase();
  if (locale === "chinese") {
    return LOCALE_ZH_HANS;
  }
  if (locale.indexOf("zh") === 0) {
    if (locale.indexOf("-hans") > -1) {
      return LOCALE_ZH_HANS;
    }
    if (locale.indexOf("-hant") > -1) {
      return LOCALE_ZH_HANT;
    }
    if (include(locale, ["-tw", "-hk", "-mo", "-cht"])) {
      return LOCALE_ZH_HANT;
    }
    return LOCALE_ZH_HANS;
  }
  let locales = [LOCALE_EN, LOCALE_FR, LOCALE_ES];
  if (messages && Object.keys(messages).length > 0) {
    locales = Object.keys(messages);
  }
  const lang = startsWith(locale, locales);
  if (lang) {
    return lang;
  }
}
class I18n {
  constructor({ locale, fallbackLocale, messages, watcher, formater: formater2 }) {
    this.locale = LOCALE_EN;
    this.fallbackLocale = LOCALE_EN;
    this.message = {};
    this.messages = {};
    this.watchers = [];
    if (fallbackLocale) {
      this.fallbackLocale = fallbackLocale;
    }
    this.formater = formater2 || defaultFormatter;
    this.messages = messages || {};
    this.setLocale(locale || LOCALE_EN);
    if (watcher) {
      this.watchLocale(watcher);
    }
  }
  setLocale(locale) {
    const oldLocale = this.locale;
    this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;
    if (!this.messages[this.locale]) {
      this.messages[this.locale] = {};
    }
    this.message = this.messages[this.locale];
    if (oldLocale !== this.locale) {
      this.watchers.forEach((watcher) => {
        watcher(this.locale, oldLocale);
      });
    }
  }
  getLocale() {
    return this.locale;
  }
  watchLocale(fn) {
    const index2 = this.watchers.push(fn) - 1;
    return () => {
      this.watchers.splice(index2, 1);
    };
  }
  add(locale, message, override = true) {
    const curMessages = this.messages[locale];
    if (curMessages) {
      if (override) {
        Object.assign(curMessages, message);
      } else {
        Object.keys(message).forEach((key) => {
          if (!hasOwn(curMessages, key)) {
            curMessages[key] = message[key];
          }
        });
      }
    } else {
      this.messages[locale] = message;
    }
  }
  f(message, values, delimiters) {
    return this.formater.interpolate(message, values, delimiters).join("");
  }
  t(key, locale, values) {
    let message = this.message;
    if (typeof locale === "string") {
      locale = normalizeLocale(locale, this.messages);
      locale && (message = this.messages[locale]);
    } else {
      values = locale;
    }
    if (!hasOwn(message, key)) {
      console.warn(`Cannot translate the value of keypath ${key}. Use the value of keypath as default.`);
      return key;
    }
    return this.formater.interpolate(message[key], values).join("");
  }
}
function watchAppLocale(appVm, i18n) {
  if (appVm.$watchLocale) {
    appVm.$watchLocale((newLocale) => {
      i18n.setLocale(newLocale);
    });
  } else {
    appVm.$watch(() => appVm.$locale, (newLocale) => {
      i18n.setLocale(newLocale);
    });
  }
}
function getDefaultLocale() {
  if (typeof index !== "undefined" && index.getLocale) {
    return index.getLocale();
  }
  if (typeof global !== "undefined" && global.getLocale) {
    return global.getLocale();
  }
  return LOCALE_EN;
}
function initVueI18n(locale, messages = {}, fallbackLocale, watcher) {
  if (typeof locale !== "string") {
    [locale, messages] = [
      messages,
      locale
    ];
  }
  if (typeof locale !== "string") {
    locale = getDefaultLocale();
  }
  if (typeof fallbackLocale !== "string") {
    fallbackLocale = typeof __uniConfig !== "undefined" && __uniConfig.fallbackLocale || LOCALE_EN;
  }
  const i18n = new I18n({
    locale,
    fallbackLocale,
    messages,
    watcher
  });
  let t2 = (key, values) => {
    if (typeof getApp !== "function") {
      t2 = function(key2, values2) {
        return i18n.t(key2, values2);
      };
    } else {
      let isWatchedAppLocale = false;
      t2 = function(key2, values2) {
        const appVm = getApp().$vm;
        if (appVm) {
          appVm.$locale;
          if (!isWatchedAppLocale) {
            isWatchedAppLocale = true;
            watchAppLocale(appVm, i18n);
          }
        }
        return i18n.t(key2, values2);
      };
    }
    return t2(key, values);
  };
  return {
    i18n,
    f(message, values, delimiters) {
      return i18n.f(message, values, delimiters);
    },
    t(key, values) {
      return t2(key, values);
    },
    add(locale2, message, override = true) {
      return i18n.add(locale2, message, override);
    },
    watch(fn) {
      return i18n.watchLocale(fn);
    },
    getLocale() {
      return i18n.getLocale();
    },
    setLocale(newLocale) {
      return i18n.setLocale(newLocale);
    }
  };
}
function getBaseSystemInfo() {
  return wx.getSystemInfoSync();
}
function validateProtocolFail(name, msg) {
  console.warn(`${name}: ${msg}`);
}
function validateProtocol(name, data, protocol, onFail) {
  if (!onFail) {
    onFail = validateProtocolFail;
  }
  for (const key in protocol) {
    const errMsg = validateProp$1(key, data[key], protocol[key], !hasOwn$1(data, key));
    if (isString(errMsg)) {
      onFail(name, errMsg);
    }
  }
}
function validateProtocols(name, args, protocol, onFail) {
  if (!protocol) {
    return;
  }
  if (!isArray(protocol)) {
    return validateProtocol(name, args[0] || /* @__PURE__ */ Object.create(null), protocol, onFail);
  }
  const len = protocol.length;
  const argsLen = args.length;
  for (let i = 0; i < len; i++) {
    const opts = protocol[i];
    const data = /* @__PURE__ */ Object.create(null);
    if (argsLen > i) {
      data[opts.name] = args[i];
    }
    validateProtocol(name, data, { [opts.name]: opts }, onFail);
  }
}
function validateProp$1(name, value, prop, isAbsent) {
  if (!isPlainObject(prop)) {
    prop = { type: prop };
  }
  const { type, required, validator } = prop;
  if (required && isAbsent) {
    return 'Missing required args: "' + name + '"';
  }
  if (value == null && !required) {
    return;
  }
  if (type != null) {
    let isValid = false;
    const types = isArray(type) ? type : [type];
    const expectedTypes = [];
    for (let i = 0; i < types.length && !isValid; i++) {
      const { valid, expectedType } = assertType$1(value, types[i]);
      expectedTypes.push(expectedType || "");
      isValid = valid;
    }
    if (!isValid) {
      return getInvalidTypeMessage$1(name, value, expectedTypes);
    }
  }
  if (validator) {
    return validator(value);
  }
}
const isSimpleType$1 = /* @__PURE__ */ makeMap("String,Number,Boolean,Function,Symbol");
function assertType$1(value, type) {
  let valid;
  const expectedType = getType$1(type);
  if (isSimpleType$1(expectedType)) {
    const t2 = typeof value;
    valid = t2 === expectedType.toLowerCase();
    if (!valid && t2 === "object") {
      valid = value instanceof type;
    }
  } else if (expectedType === "Object") {
    valid = isObject$1(value);
  } else if (expectedType === "Array") {
    valid = isArray(value);
  } else {
    {
      valid = value instanceof type;
    }
  }
  return {
    valid,
    expectedType
  };
}
function getInvalidTypeMessage$1(name, value, expectedTypes) {
  let message = `Invalid args: type check failed for args "${name}". Expected ${expectedTypes.map(capitalize).join(", ")}`;
  const expectedType = expectedTypes[0];
  const receivedType = toRawType(value);
  const expectedValue = styleValue$1(value, expectedType);
  const receivedValue = styleValue$1(value, receivedType);
  if (expectedTypes.length === 1 && isExplicable$1(expectedType) && !isBoolean$1(expectedType, receivedType)) {
    message += ` with value ${expectedValue}`;
  }
  message += `, got ${receivedType} `;
  if (isExplicable$1(receivedType)) {
    message += `with value ${receivedValue}.`;
  }
  return message;
}
function getType$1(ctor) {
  const match = ctor && ctor.toString().match(/^\s*function (\w+)/);
  return match ? match[1] : "";
}
function styleValue$1(value, type) {
  if (type === "String") {
    return `"${value}"`;
  } else if (type === "Number") {
    return `${Number(value)}`;
  } else {
    return `${value}`;
  }
}
function isExplicable$1(type) {
  const explicitTypes = ["string", "number", "boolean"];
  return explicitTypes.some((elem) => type.toLowerCase() === elem);
}
function isBoolean$1(...args) {
  return args.some((elem) => elem.toLowerCase() === "boolean");
}
function tryCatch(fn) {
  return function() {
    try {
      return fn.apply(fn, arguments);
    } catch (e2) {
      console.error(e2);
    }
  };
}
let invokeCallbackId = 1;
const invokeCallbacks = {};
function addInvokeCallback(id, name, callback, keepAlive = false) {
  invokeCallbacks[id] = {
    name,
    keepAlive,
    callback
  };
  return id;
}
function invokeCallback(id, res, extras) {
  if (typeof id === "number") {
    const opts = invokeCallbacks[id];
    if (opts) {
      if (!opts.keepAlive) {
        delete invokeCallbacks[id];
      }
      return opts.callback(res, extras);
    }
  }
  return res;
}
const API_SUCCESS = "success";
const API_FAIL = "fail";
const API_COMPLETE = "complete";
function getApiCallbacks(args) {
  const apiCallbacks = {};
  for (const name in args) {
    const fn = args[name];
    if (isFunction(fn)) {
      apiCallbacks[name] = tryCatch(fn);
      delete args[name];
    }
  }
  return apiCallbacks;
}
function normalizeErrMsg$1(errMsg, name) {
  if (!errMsg || errMsg.indexOf(":fail") === -1) {
    return name + ":ok";
  }
  return name + errMsg.substring(errMsg.indexOf(":fail"));
}
function createAsyncApiCallback(name, args = {}, { beforeAll, beforeSuccess } = {}) {
  if (!isPlainObject(args)) {
    args = {};
  }
  const { success, fail, complete } = getApiCallbacks(args);
  const hasSuccess = isFunction(success);
  const hasFail = isFunction(fail);
  const hasComplete = isFunction(complete);
  const callbackId = invokeCallbackId++;
  addInvokeCallback(callbackId, name, (res) => {
    res = res || {};
    res.errMsg = normalizeErrMsg$1(res.errMsg, name);
    isFunction(beforeAll) && beforeAll(res);
    if (res.errMsg === name + ":ok") {
      isFunction(beforeSuccess) && beforeSuccess(res, args);
      hasSuccess && success(res);
    } else {
      hasFail && fail(res);
    }
    hasComplete && complete(res);
  });
  return callbackId;
}
const HOOK_SUCCESS = "success";
const HOOK_FAIL = "fail";
const HOOK_COMPLETE = "complete";
const globalInterceptors = {};
const scopedInterceptors = {};
function wrapperHook(hook, params) {
  return function(data) {
    return hook(data, params) || data;
  };
}
function queue$2(hooks, data, params) {
  let promise = false;
  for (let i = 0; i < hooks.length; i++) {
    const hook = hooks[i];
    if (promise) {
      promise = Promise.resolve(wrapperHook(hook, params));
    } else {
      const res = hook(data, params);
      if (isPromise(res)) {
        promise = Promise.resolve(res);
      }
      if (res === false) {
        return {
          then() {
          },
          catch() {
          }
        };
      }
    }
  }
  return promise || {
    then(callback) {
      return callback(data);
    },
    catch() {
    }
  };
}
function wrapperOptions(interceptors2, options = {}) {
  [HOOK_SUCCESS, HOOK_FAIL, HOOK_COMPLETE].forEach((name) => {
    const hooks = interceptors2[name];
    if (!isArray(hooks)) {
      return;
    }
    const oldCallback = options[name];
    options[name] = function callbackInterceptor(res) {
      queue$2(hooks, res, options).then((res2) => {
        return isFunction(oldCallback) && oldCallback(res2) || res2;
      });
    };
  });
  return options;
}
function wrapperReturnValue(method, returnValue) {
  const returnValueHooks = [];
  if (isArray(globalInterceptors.returnValue)) {
    returnValueHooks.push(...globalInterceptors.returnValue);
  }
  const interceptor = scopedInterceptors[method];
  if (interceptor && isArray(interceptor.returnValue)) {
    returnValueHooks.push(...interceptor.returnValue);
  }
  returnValueHooks.forEach((hook) => {
    returnValue = hook(returnValue) || returnValue;
  });
  return returnValue;
}
function getApiInterceptorHooks(method) {
  const interceptor = /* @__PURE__ */ Object.create(null);
  Object.keys(globalInterceptors).forEach((hook) => {
    if (hook !== "returnValue") {
      interceptor[hook] = globalInterceptors[hook].slice();
    }
  });
  const scopedInterceptor = scopedInterceptors[method];
  if (scopedInterceptor) {
    Object.keys(scopedInterceptor).forEach((hook) => {
      if (hook !== "returnValue") {
        interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]);
      }
    });
  }
  return interceptor;
}
function invokeApi(method, api, options, params) {
  const interceptor = getApiInterceptorHooks(method);
  if (interceptor && Object.keys(interceptor).length) {
    if (isArray(interceptor.invoke)) {
      const res = queue$2(interceptor.invoke, options);
      return res.then((options2) => {
        return api(wrapperOptions(getApiInterceptorHooks(method), options2), ...params);
      });
    } else {
      return api(wrapperOptions(interceptor, options), ...params);
    }
  }
  return api(options, ...params);
}
function hasCallback(args) {
  if (isPlainObject(args) && [API_SUCCESS, API_FAIL, API_COMPLETE].find((cb) => isFunction(args[cb]))) {
    return true;
  }
  return false;
}
function handlePromise(promise) {
  return promise;
}
function promisify$1(name, fn) {
  return (args = {}, ...rest) => {
    if (hasCallback(args)) {
      return wrapperReturnValue(name, invokeApi(name, fn, args, rest));
    }
    return wrapperReturnValue(name, handlePromise(new Promise((resolve2, reject) => {
      invokeApi(name, fn, extend(args, { success: resolve2, fail: reject }), rest);
    })));
  };
}
function formatApiArgs(args, options) {
  const params = args[0];
  if (!options || !isPlainObject(options.formatArgs) && isPlainObject(params)) {
    return;
  }
  const formatArgs = options.formatArgs;
  const keys = Object.keys(formatArgs);
  for (let i = 0; i < keys.length; i++) {
    const name = keys[i];
    const formatterOrDefaultValue = formatArgs[name];
    if (isFunction(formatterOrDefaultValue)) {
      const errMsg = formatterOrDefaultValue(args[0][name], params);
      if (isString(errMsg)) {
        return errMsg;
      }
    } else {
      if (!hasOwn$1(params, name)) {
        params[name] = formatterOrDefaultValue;
      }
    }
  }
}
function invokeSuccess(id, name, res) {
  const result = {
    errMsg: name + ":ok"
  };
  return invokeCallback(id, extend(res || {}, result));
}
function invokeFail(id, name, errMsg, errRes = {}) {
  const apiErrMsg = name + ":fail" + (errMsg ? " " + errMsg : "");
  delete errRes.errCode;
  let res = extend({ errMsg: apiErrMsg }, errRes);
  return invokeCallback(id, res);
}
function beforeInvokeApi(name, args, protocol, options) {
  {
    validateProtocols(name, args, protocol);
  }
  if (options && options.beforeInvoke) {
    const errMsg2 = options.beforeInvoke(args);
    if (isString(errMsg2)) {
      return errMsg2;
    }
  }
  const errMsg = formatApiArgs(args, options);
  if (errMsg) {
    return errMsg;
  }
}
function normalizeErrMsg(errMsg) {
  if (!errMsg || isString(errMsg)) {
    return errMsg;
  }
  if (errMsg.stack) {
    console.error(errMsg.message + LINEFEED + errMsg.stack);
    return errMsg.message;
  }
  return errMsg;
}
function wrapperTaskApi(name, fn, protocol, options) {
  return (args) => {
    const id = createAsyncApiCallback(name, args, options);
    const errMsg = beforeInvokeApi(name, [args], protocol, options);
    if (errMsg) {
      return invokeFail(id, name, errMsg);
    }
    return fn(args, {
      resolve: (res) => invokeSuccess(id, name, res),
      reject: (errMsg2, errRes) => invokeFail(id, name, normalizeErrMsg(errMsg2), errRes)
    });
  };
}
function wrapperSyncApi(name, fn, protocol, options) {
  return (...args) => {
    const errMsg = beforeInvokeApi(name, args, protocol, options);
    if (errMsg) {
      throw new Error(errMsg);
    }
    return fn.apply(null, args);
  };
}
function wrapperAsyncApi(name, fn, protocol, options) {
  return wrapperTaskApi(name, fn, protocol, options);
}
function defineSyncApi(name, fn, protocol, options) {
  return wrapperSyncApi(name, fn, protocol, options);
}
function defineAsyncApi(name, fn, protocol, options) {
  return promisify$1(name, wrapperAsyncApi(name, fn, protocol, options));
}
const API_UPX2PX = "upx2px";
const Upx2pxProtocol = [
  {
    name: "upx",
    type: [Number, String],
    required: true
  }
];
const EPS = 1e-4;
const BASE_DEVICE_WIDTH = 750;
let isIOS = false;
let deviceWidth = 0;
let deviceDPR = 0;
function checkDeviceWidth() {
  const { platform, pixelRatio, windowWidth } = getBaseSystemInfo();
  deviceWidth = windowWidth;
  deviceDPR = pixelRatio;
  isIOS = platform === "ios";
}
const upx2px = defineSyncApi(API_UPX2PX, (number, newDeviceWidth) => {
  if (deviceWidth === 0) {
    checkDeviceWidth();
  }
  number = Number(number);
  if (number === 0) {
    return 0;
  }
  let width = newDeviceWidth || deviceWidth;
  let result = number / BASE_DEVICE_WIDTH * width;
  if (result < 0) {
    result = -result;
  }
  result = Math.floor(result + EPS);
  if (result === 0) {
    if (deviceDPR === 1 || !isIOS) {
      result = 1;
    } else {
      result = 0.5;
    }
  }
  return number < 0 ? -result : result;
}, Upx2pxProtocol);
const API_ADD_INTERCEPTOR = "addInterceptor";
const API_REMOVE_INTERCEPTOR = "removeInterceptor";
const AddInterceptorProtocol = [
  {
    name: "method",
    type: [String, Object],
    required: true
  }
];
const RemoveInterceptorProtocol = AddInterceptorProtocol;
function mergeInterceptorHook(interceptors2, interceptor) {
  Object.keys(interceptor).forEach((hook) => {
    if (isFunction(interceptor[hook])) {
      interceptors2[hook] = mergeHook(interceptors2[hook], interceptor[hook]);
    }
  });
}
function removeInterceptorHook(interceptors2, interceptor) {
  if (!interceptors2 || !interceptor) {
    return;
  }
  Object.keys(interceptor).forEach((name) => {
    const hooks = interceptors2[name];
    const hook = interceptor[name];
    if (isArray(hooks) && isFunction(hook)) {
      remove(hooks, hook);
    }
  });
}
function mergeHook(parentVal, childVal) {
  const res = childVal ? parentVal ? parentVal.concat(childVal) : isArray(childVal) ? childVal : [childVal] : parentVal;
  return res ? dedupeHooks(res) : res;
}
function dedupeHooks(hooks) {
  const res = [];
  for (let i = 0; i < hooks.length; i++) {
    if (res.indexOf(hooks[i]) === -1) {
      res.push(hooks[i]);
    }
  }
  return res;
}
const addInterceptor = defineSyncApi(API_ADD_INTERCEPTOR, (method, interceptor) => {
  if (isString(method) && isPlainObject(interceptor)) {
    mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), interceptor);
  } else if (isPlainObject(method)) {
    mergeInterceptorHook(globalInterceptors, method);
  }
}, AddInterceptorProtocol);
const removeInterceptor = defineSyncApi(API_REMOVE_INTERCEPTOR, (method, interceptor) => {
  if (isString(method)) {
    if (isPlainObject(interceptor)) {
      removeInterceptorHook(scopedInterceptors[method], interceptor);
    } else {
      delete scopedInterceptors[method];
    }
  } else if (isPlainObject(method)) {
    removeInterceptorHook(globalInterceptors, method);
  }
}, RemoveInterceptorProtocol);
const interceptors = {};
const API_ON = "$on";
const OnProtocol = [
  {
    name: "event",
    type: String,
    required: true
  },
  {
    name: "callback",
    type: Function,
    required: true
  }
];
const API_ONCE = "$once";
const OnceProtocol = OnProtocol;
const API_OFF = "$off";
const OffProtocol = [
  {
    name: "event",
    type: [String, Array]
  },
  {
    name: "callback",
    type: Function
  }
];
const API_EMIT = "$emit";
const EmitProtocol = [
  {
    name: "event",
    type: String,
    required: true
  }
];
const emitter = new E$1();
const $on = defineSyncApi(API_ON, (name, callback) => {
  emitter.on(name, callback);
  return () => emitter.off(name, callback);
}, OnProtocol);
const $once = defineSyncApi(API_ONCE, (name, callback) => {
  emitter.once(name, callback);
  return () => emitter.off(name, callback);
}, OnceProtocol);
const $off = defineSyncApi(API_OFF, (name, callback) => {
  if (!name) {
    emitter.e = {};
    return;
  }
  if (!isArray(name))
    name = [name];
  name.forEach((n2) => emitter.off(n2, callback));
}, OffProtocol);
const $emit = defineSyncApi(API_EMIT, (name, ...args) => {
  emitter.emit(name, ...args);
}, EmitProtocol);
let cid;
let cidErrMsg;
let enabled;
function normalizePushMessage(message) {
  try {
    return JSON.parse(message);
  } catch (e2) {
  }
  return message;
}
function invokePushCallback(args) {
  if (args.type === "enabled") {
    enabled = true;
  } else if (args.type === "clientId") {
    cid = args.cid;
    cidErrMsg = args.errMsg;
    invokeGetPushCidCallbacks(cid, args.errMsg);
  } else if (args.type === "pushMsg") {
    const message = {
      type: "receive",
      data: normalizePushMessage(args.message)
    };
    for (let i = 0; i < onPushMessageCallbacks.length; i++) {
      const callback = onPushMessageCallbacks[i];
      callback(message);
      if (message.stopped) {
        break;
      }
    }
  } else if (args.type === "click") {
    onPushMessageCallbacks.forEach((callback) => {
      callback({
        type: "click",
        data: normalizePushMessage(args.message)
      });
    });
  }
}
const getPushCidCallbacks = [];
function invokeGetPushCidCallbacks(cid2, errMsg) {
  getPushCidCallbacks.forEach((callback) => {
    callback(cid2, errMsg);
  });
  getPushCidCallbacks.length = 0;
}
const API_GET_PUSH_CLIENT_ID = "getPushClientId";
const getPushClientId = defineAsyncApi(API_GET_PUSH_CLIENT_ID, (_, { resolve: resolve2, reject }) => {
  Promise.resolve().then(() => {
    if (typeof enabled === "undefined") {
      enabled = false;
      cid = "";
      cidErrMsg = "uniPush is not enabled";
    }
    getPushCidCallbacks.push((cid2, errMsg) => {
      if (cid2) {
        resolve2({ cid: cid2 });
      } else {
        reject(errMsg);
      }
    });
    if (typeof cid !== "undefined") {
      invokeGetPushCidCallbacks(cid, cidErrMsg);
    }
  });
});
const onPushMessageCallbacks = [];
const onPushMessage = (fn) => {
  if (onPushMessageCallbacks.indexOf(fn) === -1) {
    onPushMessageCallbacks.push(fn);
  }
};
const offPushMessage = (fn) => {
  if (!fn) {
    onPushMessageCallbacks.length = 0;
  } else {
    const index2 = onPushMessageCallbacks.indexOf(fn);
    if (index2 > -1) {
      onPushMessageCallbacks.splice(index2, 1);
    }
  }
};
const SYNC_API_RE = /^\$|getLocale|setLocale|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getDeviceInfo|getAppBaseInfo|getWindowInfo|getSystemSetting|getAppAuthorizeSetting/;
const CONTEXT_API_RE = /^create|Manager$/;
const CONTEXT_API_RE_EXC = ["createBLEConnection"];
const ASYNC_API = ["createBLEConnection"];
const CALLBACK_API_RE = /^on|^off/;
function isContextApi(name) {
  return CONTEXT_API_RE.test(name) && CONTEXT_API_RE_EXC.indexOf(name) === -1;
}
function isSyncApi(name) {
  return SYNC_API_RE.test(name) && ASYNC_API.indexOf(name) === -1;
}
function isCallbackApi(name) {
  return CALLBACK_API_RE.test(name) && name !== "onPush";
}
function shouldPromise(name) {
  if (isContextApi(name) || isSyncApi(name) || isCallbackApi(name)) {
    return false;
  }
  return true;
}
if (!Promise.prototype.finally) {
  Promise.prototype.finally = function(onfinally) {
    const promise = this.constructor;
    return this.then((value) => promise.resolve(onfinally && onfinally()).then(() => value), (reason) => promise.resolve(onfinally && onfinally()).then(() => {
      throw reason;
    }));
  };
}
function promisify(name, api) {
  if (!shouldPromise(name)) {
    return api;
  }
  if (!isFunction(api)) {
    return api;
  }
  return function promiseApi(options = {}, ...rest) {
    if (isFunction(options.success) || isFunction(options.fail) || isFunction(options.complete)) {
      return wrapperReturnValue(name, invokeApi(name, api, options, rest));
    }
    return wrapperReturnValue(name, handlePromise(new Promise((resolve2, reject) => {
      invokeApi(name, api, extend({}, options, {
        success: resolve2,
        fail: reject
      }), rest);
    })));
  };
}
const CALLBACKS = ["success", "fail", "cancel", "complete"];
function initWrapper(protocols2) {
  function processCallback(methodName, method, returnValue) {
    return function(res) {
      return method(processReturnValue(methodName, res, returnValue));
    };
  }
  function processArgs(methodName, fromArgs, argsOption = {}, returnValue = {}, keepFromArgs = false) {
    if (isPlainObject(fromArgs)) {
      const toArgs = keepFromArgs === true ? fromArgs : {};
      if (isFunction(argsOption)) {
        argsOption = argsOption(fromArgs, toArgs) || {};
      }
      for (const key in fromArgs) {
        if (hasOwn$1(argsOption, key)) {
          let keyOption = argsOption[key];
          if (isFunction(keyOption)) {
            keyOption = keyOption(fromArgs[key], fromArgs, toArgs);
          }
          if (!keyOption) {
            console.warn(`微信小程序 ${methodName} 暂不支持 ${key}`);
          } else if (isString(keyOption)) {
            toArgs[keyOption] = fromArgs[key];
          } else if (isPlainObject(keyOption)) {
            toArgs[keyOption.name ? keyOption.name : key] = keyOption.value;
          }
        } else if (CALLBACKS.indexOf(key) !== -1) {
          const callback = fromArgs[key];
          if (isFunction(callback)) {
            toArgs[key] = processCallback(methodName, callback, returnValue);
          }
        } else {
          if (!keepFromArgs && !hasOwn$1(toArgs, key)) {
            toArgs[key] = fromArgs[key];
          }
        }
      }
      return toArgs;
    } else if (isFunction(fromArgs)) {
      fromArgs = processCallback(methodName, fromArgs, returnValue);
    }
    return fromArgs;
  }
  function processReturnValue(methodName, res, returnValue, keepReturnValue = false) {
    if (isFunction(protocols2.returnValue)) {
      res = protocols2.returnValue(methodName, res);
    }
    return processArgs(methodName, res, returnValue, {}, keepReturnValue);
  }
  return function wrapper(methodName, method) {
    if (!hasOwn$1(protocols2, methodName)) {
      return method;
    }
    const protocol = protocols2[methodName];
    if (!protocol) {
      return function() {
        console.error(`微信小程序 暂不支持${methodName}`);
      };
    }
    return function(arg1, arg2) {
      let options = protocol;
      if (isFunction(protocol)) {
        options = protocol(arg1);
      }
      arg1 = processArgs(methodName, arg1, options.args, options.returnValue);
      const args = [arg1];
      if (typeof arg2 !== "undefined") {
        args.push(arg2);
      }
      const returnValue = wx[options.name || methodName].apply(wx, args);
      if (isSyncApi(methodName)) {
        return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName));
      }
      return returnValue;
    };
  };
}
const getLocale = () => {
  const app = isFunction(getApp) && getApp({ allowDefault: true });
  if (app && app.$vm) {
    return app.$vm.$locale;
  }
  return normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN;
};
const setLocale = (locale) => {
  const app = isFunction(getApp) && getApp();
  if (!app) {
    return false;
  }
  const oldLocale = app.$vm.$locale;
  if (oldLocale !== locale) {
    app.$vm.$locale = locale;
    onLocaleChangeCallbacks.forEach((fn) => fn({ locale }));
    return true;
  }
  return false;
};
const onLocaleChangeCallbacks = [];
const onLocaleChange = (fn) => {
  if (onLocaleChangeCallbacks.indexOf(fn) === -1) {
    onLocaleChangeCallbacks.push(fn);
  }
};
if (typeof global !== "undefined") {
  global.getLocale = getLocale;
}
const UUID_KEY = "__DC_STAT_UUID";
let deviceId;
function useDeviceId(global2 = wx) {
  return function addDeviceId(_, toRes) {
    deviceId = deviceId || global2.getStorageSync(UUID_KEY);
    if (!deviceId) {
      deviceId = Date.now() + "" + Math.floor(Math.random() * 1e7);
      wx.setStorage({
        key: UUID_KEY,
        data: deviceId
      });
    }
    toRes.deviceId = deviceId;
  };
}
function addSafeAreaInsets(fromRes, toRes) {
  if (fromRes.safeArea) {
    const safeArea = fromRes.safeArea;
    toRes.safeAreaInsets = {
      top: safeArea.top,
      left: safeArea.left,
      right: fromRes.windowWidth - safeArea.right,
      bottom: fromRes.screenHeight - safeArea.bottom
    };
  }
}
function populateParameters(fromRes, toRes) {
  const { brand = "", model = "", system = "", language = "", theme, version: version2, platform, fontSizeSetting, SDKVersion, pixelRatio, deviceOrientation } = fromRes;
  let osName = "";
  let osVersion = "";
  {
    osName = system.split(" ")[0] || "";
    osVersion = system.split(" ")[1] || "";
  }
  let hostVersion = version2;
  let deviceType = getGetDeviceType(fromRes, model);
  let deviceBrand = getDeviceBrand(brand);
  let _hostName = getHostName(fromRes);
  let _deviceOrientation = deviceOrientation;
  let _devicePixelRatio = pixelRatio;
  let _SDKVersion = SDKVersion;
  const hostLanguage = language.replace(/_/g, "-");
  const parameters = {
    appId: "__UNI__B522931",
    appName: "smartCampus-wanzai",
    appVersion: "1.0.0",
    appVersionCode: "100",
    appLanguage: getAppLanguage(hostLanguage),
    uniCompileVersion: "4.15",
    uniRuntimeVersion: "4.15",
    uniPlatform: "mp-weixin",
    deviceBrand,
    deviceModel: model,
    deviceType,
    devicePixelRatio: _devicePixelRatio,
    deviceOrientation: _deviceOrientation,
    osName: osName.toLocaleLowerCase(),
    osVersion,
    hostTheme: theme,
    hostVersion,
    hostLanguage,
    hostName: _hostName,
    hostSDKVersion: _SDKVersion,
    hostFontSizeSetting: fontSizeSetting,
    windowTop: 0,
    windowBottom: 0,
    // TODO
    osLanguage: void 0,
    osTheme: void 0,
    ua: void 0,
    hostPackageName: void 0,
    browserName: void 0,
    browserVersion: void 0
  };
  extend(toRes, parameters);
}
function getGetDeviceType(fromRes, model) {
  let deviceType = fromRes.deviceType || "phone";
  {
    const deviceTypeMaps = {
      ipad: "pad",
      windows: "pc",
      mac: "pc"
    };
    const deviceTypeMapsKeys = Object.keys(deviceTypeMaps);
    const _model = model.toLocaleLowerCase();
    for (let index2 = 0; index2 < deviceTypeMapsKeys.length; index2++) {
      const _m = deviceTypeMapsKeys[index2];
      if (_model.indexOf(_m) !== -1) {
        deviceType = deviceTypeMaps[_m];
        break;
      }
    }
  }
  return deviceType;
}
function getDeviceBrand(brand) {
  let deviceBrand = brand;
  if (deviceBrand) {
    deviceBrand = deviceBrand.toLocaleLowerCase();
  }
  return deviceBrand;
}
function getAppLanguage(defaultLanguage) {
  return getLocale ? getLocale() : defaultLanguage;
}
function getHostName(fromRes) {
  const _platform = "WeChat";
  let _hostName = fromRes.hostName || _platform;
  {
    if (fromRes.environment) {
      _hostName = fromRes.environment;
    } else if (fromRes.host && fromRes.host.env) {
      _hostName = fromRes.host.env;
    }
  }
  return _hostName;
}
const getSystemInfo = {
  returnValue: (fromRes, toRes) => {
    addSafeAreaInsets(fromRes, toRes);
    useDeviceId()(fromRes, toRes);
    populateParameters(fromRes, toRes);
  }
};
const getSystemInfoSync = getSystemInfo;
const redirectTo = {};
const previewImage = {
  args(fromArgs, toArgs) {
    let currentIndex = parseInt(fromArgs.current);
    if (isNaN(currentIndex)) {
      return;
    }
    const urls = fromArgs.urls;
    if (!isArray(urls)) {
      return;
    }
    const len = urls.length;
    if (!len) {
      return;
    }
    if (currentIndex < 0) {
      currentIndex = 0;
    } else if (currentIndex >= len) {
      currentIndex = len - 1;
    }
    if (currentIndex > 0) {
      toArgs.current = urls[currentIndex];
      toArgs.urls = urls.filter((item, index2) => index2 < currentIndex ? item !== urls[currentIndex] : true);
    } else {
      toArgs.current = urls[0];
    }
    return {
      indicator: false,
      loop: false
    };
  }
};
const showActionSheet = {
  args(fromArgs, toArgs) {
    toArgs.alertText = fromArgs.title;
  }
};
const getDeviceInfo = {
  returnValue: (fromRes, toRes) => {
    const { brand, model } = fromRes;
    let deviceType = getGetDeviceType(fromRes, model);
    let deviceBrand = getDeviceBrand(brand);
    useDeviceId()(fromRes, toRes);
    toRes = sortObject(extend(toRes, {
      deviceType,
      deviceBrand,
      deviceModel: model
    }));
  }
};
const getAppBaseInfo = {
  returnValue: (fromRes, toRes) => {
    const { version: version2, language, SDKVersion, theme } = fromRes;
    let _hostName = getHostName(fromRes);
    let hostLanguage = language.replace(/_/g, "-");
    toRes = sortObject(extend(toRes, {
      hostVersion: version2,
      hostLanguage,
      hostName: _hostName,
      hostSDKVersion: SDKVersion,
      hostTheme: theme,
      appId: "__UNI__B522931",
      appName: "smartCampus-wanzai",
      appVersion: "1.0.0",
      appVersionCode: "100",
      appLanguage: getAppLanguage(hostLanguage)
    }));
  }
};
const getWindowInfo = {
  returnValue: (fromRes, toRes) => {
    addSafeAreaInsets(fromRes, toRes);
    toRes = sortObject(extend(toRes, {
      windowTop: 0,
      windowBottom: 0
    }));
  }
};
const getAppAuthorizeSetting = {
  returnValue: function(fromRes, toRes) {
    const { locationReducedAccuracy } = fromRes;
    toRes.locationAccuracy = "unsupported";
    if (locationReducedAccuracy === true) {
      toRes.locationAccuracy = "reduced";
    } else if (locationReducedAccuracy === false) {
      toRes.locationAccuracy = "full";
    }
  }
};
const baseApis = {
  $on,
  $off,
  $once,
  $emit,
  upx2px,
  interceptors,
  addInterceptor,
  removeInterceptor,
  onCreateVueApp,
  invokeCreateVueAppHook,
  getLocale,
  setLocale,
  onLocaleChange,
  getPushClientId,
  onPushMessage,
  offPushMessage,
  invokePushCallback
};
function initUni(api, protocols2, platform = wx) {
  const wrapper = initWrapper(protocols2);
  const UniProxyHandlers = {
    get(target, key) {
      if (hasOwn$1(target, key)) {
        return target[key];
      }
      if (hasOwn$1(api, key)) {
        return promisify(key, api[key]);
      }
      if (hasOwn$1(baseApis, key)) {
        return promisify(key, baseApis[key]);
      }
      return promisify(key, wrapper(key, platform[key]));
    }
  };
  return new Proxy({}, UniProxyHandlers);
}
function initGetProvider(providers) {
  return function getProvider2({ service, success, fail, complete }) {
    let res;
    if (providers[service]) {
      res = {
        errMsg: "getProvider:ok",
        service,
        provider: providers[service]
      };
      isFunction(success) && success(res);
    } else {
      res = {
        errMsg: "getProvider:fail:服务[" + service + "]不存在"
      };
      isFunction(fail) && fail(res);
    }
    isFunction(complete) && complete(res);
  };
}
const objectKeys = [
  "qy",
  "env",
  "error",
  "version",
  "lanDebug",
  "cloud",
  "serviceMarket",
  "router",
  "worklet",
  "__webpack_require_UNI_MP_PLUGIN__"
];
const singlePageDisableKey = ["lanDebug", "router", "worklet"];
const launchOption = wx.getLaunchOptionsSync ? wx.getLaunchOptionsSync() : null;
function isWxKey(key) {
  if (launchOption && launchOption.scene === 1154 && singlePageDisableKey.includes(key)) {
    return false;
  }
  return objectKeys.indexOf(key) > -1 || typeof wx[key] === "function";
}
function initWx() {
  const newWx = {};
  for (const key in wx) {
    if (isWxKey(key)) {
      newWx[key] = wx[key];
    }
  }
  if (typeof globalThis !== "undefined" && typeof requireMiniProgram === "undefined") {
    globalThis.wx = newWx;
  }
  return newWx;
}
const mocks$1 = ["__route__", "__wxExparserNodeId__", "__wxWebviewId__"];
const getProvider = initGetProvider({
  oauth: ["weixin"],
  share: ["weixin"],
  payment: ["wxpay"],
  push: ["weixin"]
});
function initComponentMocks(component) {
  const res = /* @__PURE__ */ Object.create(null);
  mocks$1.forEach((name) => {
    res[name] = component[name];
  });
  return res;
}
function createSelectorQuery() {
  const query = wx$2.createSelectorQuery();
  const oldIn = query.in;
  query.in = function newIn(component) {
    return oldIn.call(this, initComponentMocks(component));
  };
  return query;
}
const wx$2 = initWx();
let baseInfo = wx$2.getAppBaseInfo && wx$2.getAppBaseInfo();
if (!baseInfo) {
  baseInfo = wx$2.getSystemInfoSync();
}
const host = baseInfo ? baseInfo.host : null;
const shareVideoMessage = host && host.env === "SAAASDK" ? wx$2.miniapp.shareVideoMessage : wx$2.shareVideoMessage;
var shims = /* @__PURE__ */ Object.freeze({
  __proto__: null,
  createSelectorQuery,
  getProvider,
  shareVideoMessage
});
const compressImage = {
  args(fromArgs, toArgs) {
    if (fromArgs.compressedHeight && !toArgs.compressHeight) {
      toArgs.compressHeight = fromArgs.compressedHeight;
    }
    if (fromArgs.compressedWidth && !toArgs.compressWidth) {
      toArgs.compressWidth = fromArgs.compressedWidth;
    }
  }
};
var protocols = /* @__PURE__ */ Object.freeze({
  __proto__: null,
  compressImage,
  getAppAuthorizeSetting,
  getAppBaseInfo,
  getDeviceInfo,
  getSystemInfo,
  getSystemInfoSync,
  getWindowInfo,
  previewImage,
  redirectTo,
  showActionSheet
});
const wx$1 = initWx();
var index = initUni(shims, protocols, wx$1);
new Set(
  /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol)
);
function toRaw$1(observed) {
  const raw = observed && observed["__v_raw"];
  return raw ? toRaw$1(raw) : observed;
}
function isRef$1(r2) {
  return !!(r2 && r2.__v_isRef === true);
}
/**
* @vue/runtime-core v3.4.21
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
const stack$1 = [];
function pushWarningContext$1(vnode) {
  stack$1.push(vnode);
}
function popWarningContext$1() {
  stack$1.pop();
}
function warn$1$1(msg, ...args) {
  const instance = stack$1.length ? stack$1[stack$1.length - 1].component : null;
  const appWarnHandler = instance && instance.appContext.config.warnHandler;
  const trace = getComponentTrace$1();
  if (appWarnHandler) {
    callWithErrorHandling$1(
      appWarnHandler,
      instance,
      11,
      [
        msg + args.map((a) => {
          var _a, _b;
          return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);
        }).join(""),
        instance && instance.proxy,
        trace.map(
          ({ vnode }) => `at <${formatComponentName$1(instance, vnode.type)}>`
        ).join("\n"),
        trace
      ]
    );
  } else {
    const warnArgs = [`[Vue warn]: ${msg}`, ...args];
    if (trace.length && // avoid spamming console during tests
    true) {
      warnArgs.push(`
`, ...formatTrace$1(trace));
    }
    console.warn(...warnArgs);
  }
}
function getComponentTrace$1() {
  let currentVNode = stack$1[stack$1.length - 1];
  if (!currentVNode) {
    return [];
  }
  const normalizedStack = [];
  while (currentVNode) {
    const last = normalizedStack[0];
    if (last && last.vnode === currentVNode) {
      last.recurseCount++;
    } else {
      normalizedStack.push({
        vnode: currentVNode,
        recurseCount: 0
      });
    }
    const parentInstance = currentVNode.component && currentVNode.component.parent;
    currentVNode = parentInstance && parentInstance.vnode;
  }
  return normalizedStack;
}
function formatTrace$1(trace) {
  const logs = [];
  trace.forEach((entry, i) => {
    logs.push(...i === 0 ? [] : [`
`], ...formatTraceEntry$1(entry));
  });
  return logs;
}
function formatTraceEntry$1({ vnode, recurseCount }) {
  const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;
  const isRoot = vnode.component ? vnode.component.parent == null : false;
  const open = ` at <${formatComponentName$1(
    vnode.component,
    vnode.type,
    isRoot
  )}`;
  const close = `>` + postfix;
  return vnode.props ? [open, ...formatProps$1(vnode.props), close] : [open + close];
}
function formatProps$1(props) {
  const res = [];
  const keys = Object.keys(props);
  keys.slice(0, 3).forEach((key) => {
    res.push(...formatProp$1(key, props[key]));
  });
  if (keys.length > 3) {
    res.push(` ...`);
  }
  return res;
}
function formatProp$1(key, value, raw) {
  if (isString(value)) {
    value = JSON.stringify(value);
    return raw ? value : [`${key}=${value}`];
  } else if (typeof value === "number" || typeof value === "boolean" || value == null) {
    return raw ? value : [`${key}=${value}`];
  } else if (isRef$1(value)) {
    value = formatProp$1(key, toRaw$1(value.value), true);
    return raw ? value : [`${key}=Ref<`, value, `>`];
  } else if (isFunction(value)) {
    return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];
  } else {
    value = toRaw$1(value);
    return raw ? value : [`${key}=`, value];
  }
}
const ErrorTypeStrings$1 = {
  ["sp"]: "serverPrefetch hook",
  ["bc"]: "beforeCreate hook",
  ["c"]: "created hook",
  ["bm"]: "beforeMount hook",
  ["m"]: "mounted hook",
  ["bu"]: "beforeUpdate hook",
  ["u"]: "updated",
  ["bum"]: "beforeUnmount hook",
  ["um"]: "unmounted hook",
  ["a"]: "activated hook",
  ["da"]: "deactivated hook",
  ["ec"]: "errorCaptured hook",
  ["rtc"]: "renderTracked hook",
  ["rtg"]: "renderTriggered hook",
  [0]: "setup function",
  [1]: "render function",
  [2]: "watcher getter",
  [3]: "watcher callback",
  [4]: "watcher cleanup function",
  [5]: "native event handler",
  [6]: "component event handler",
  [7]: "vnode hook",
  [8]: "directive hook",
  [9]: "transition hook",
  [10]: "app errorHandler",
  [11]: "app warnHandler",
  [12]: "ref function",
  [13]: "async component loader",
  [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ."
};
function callWithErrorHandling$1(fn, instance, type, args) {
  try {
    return args ? fn(...args) : fn();
  } catch (err) {
    handleError$1(err, instance, type);
  }
}
function handleError$1(err, instance, type, throwInDev = true) {
  const contextVNode = instance ? instance.vnode : null;
  if (instance) {
    let cur = instance.parent;
    const exposedInstance = instance.proxy;
    const errorInfo = ErrorTypeStrings$1[type];
    while (cur) {
      const errorCapturedHooks = cur.ec;
      if (errorCapturedHooks) {
        for (let i = 0; i < errorCapturedHooks.length; i++) {
          if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {
            return;
          }
        }
      }
      cur = cur.parent;
    }
    const appErrorHandler = instance.appContext.config.errorHandler;
    if (appErrorHandler) {
      callWithErrorHandling$1(
        appErrorHandler,
        null,
        10,
        [err, exposedInstance, errorInfo]
      );
      return;
    }
  }
  logError$1(err, type, contextVNode, throwInDev);
}
function logError$1(err, type, contextVNode, throwInDev = true) {
  {
    const info = ErrorTypeStrings$1[type];
    if (contextVNode) {
      pushWarningContext$1(contextVNode);
    }
    warn$1$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);
    if (contextVNode) {
      popWarningContext$1();
    }
    if (throwInDev) {
      throw err;
    } else {
      console.error(err);
    }
  }
}
let isFlushing$1 = false;
let isFlushPending$1 = false;
const queue$1 = [];
let flushIndex$1 = 0;
const pendingPostFlushCbs$1 = [];
let activePostFlushCbs$1 = null;
let postFlushIndex$1 = 0;
const resolvedPromise$1 = /* @__PURE__ */ Promise.resolve();
const RECURSION_LIMIT$1 = 100;
function findInsertionIndex$1(id) {
  let start = flushIndex$1 + 1;
  let end = queue$1.length;
  while (start < end) {
    const middle = start + end >>> 1;
    const middleJob = queue$1[middle];
    const middleJobId = getId$1(middleJob);
    if (middleJobId < id || middleJobId === id && middleJob.pre) {
      start = middle + 1;
    } else {
      end = middle;
    }
  }
  return start;
}
function queueJob$1(job) {
  if (!queue$1.length || !queue$1.includes(
    job,
    isFlushing$1 && job.allowRecurse ? flushIndex$1 + 1 : flushIndex$1
  )) {
    if (job.id == null) {
      queue$1.push(job);
    } else {
      queue$1.splice(findInsertionIndex$1(job.id), 0, job);
    }
    queueFlush$1();
  }
}
function queueFlush$1() {
  if (!isFlushing$1 && !isFlushPending$1) {
    isFlushPending$1 = true;
    resolvedPromise$1.then(flushJobs$1);
  }
}
function queuePostFlushCb$1(cb) {
  if (!isArray(cb)) {
    if (!activePostFlushCbs$1 || !activePostFlushCbs$1.includes(
      cb,
      cb.allowRecurse ? postFlushIndex$1 + 1 : postFlushIndex$1
    )) {
      pendingPostFlushCbs$1.push(cb);
    }
  } else {
    pendingPostFlushCbs$1.push(...cb);
  }
  queueFlush$1();
}
function flushPostFlushCbs$1(seen) {
  if (pendingPostFlushCbs$1.length) {
    const deduped = [...new Set(pendingPostFlushCbs$1)].sort(
      (a, b) => getId$1(a) - getId$1(b)
    );
    pendingPostFlushCbs$1.length = 0;
    if (activePostFlushCbs$1) {
      activePostFlushCbs$1.push(...deduped);
      return;
    }
    activePostFlushCbs$1 = deduped;
    {
      seen = seen || /* @__PURE__ */ new Map();
    }
    for (postFlushIndex$1 = 0; postFlushIndex$1 < activePostFlushCbs$1.length; postFlushIndex$1++) {
      if (checkRecursiveUpdates$1(seen, activePostFlushCbs$1[postFlushIndex$1])) {
        continue;
      }
      activePostFlushCbs$1[postFlushIndex$1]();
    }
    activePostFlushCbs$1 = null;
    postFlushIndex$1 = 0;
  }
}
const getId$1 = (job) => job.id == null ? Infinity : job.id;
const comparator$1 = (a, b) => {
  const diff2 = getId$1(a) - getId$1(b);
  if (diff2 === 0) {
    if (a.pre && !b.pre)
      return -1;
    if (b.pre && !a.pre)
      return 1;
  }
  return diff2;
};
function flushJobs$1(seen) {
  isFlushPending$1 = false;
  isFlushing$1 = true;
  {
    seen = seen || /* @__PURE__ */ new Map();
  }
  queue$1.sort(comparator$1);
  const check = (job) => checkRecursiveUpdates$1(seen, job);
  try {
    for (flushIndex$1 = 0; flushIndex$1 < queue$1.length; flushIndex$1++) {
      const job = queue$1[flushIndex$1];
      if (job && job.active !== false) {
        if (check(job)) {
          continue;
        }
        callWithErrorHandling$1(job, null, 14);
      }
    }
  } finally {
    flushIndex$1 = 0;
    queue$1.length = 0;
    flushPostFlushCbs$1(seen);
    isFlushing$1 = false;
    if (queue$1.length || pendingPostFlushCbs$1.length) {
      flushJobs$1(seen);
    }
  }
}
function checkRecursiveUpdates$1(seen, fn) {
  if (!seen.has(fn)) {
    seen.set(fn, 1);
  } else {
    const count = seen.get(fn);
    if (count > RECURSION_LIMIT$1) {
      const instance = fn.ownerInstance;
      const componentName = instance && getComponentName$1(instance.type);
      handleError$1(
        `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,
        null,
        10
      );
      return true;
    } else {
      seen.set(fn, count + 1);
    }
  }
}
const hmrDirtyComponents = /* @__PURE__ */ new Set();
{
  getGlobalThis().__VUE_HMR_RUNTIME__ = {
    createRecord: tryWrap(createRecord),
    rerender: tryWrap(rerender),
    reload: tryWrap(reload)
  };
}
const map = /* @__PURE__ */ new Map();
function createRecord(id, initialDef) {
  if (map.has(id)) {
    return false;
  }
  map.set(id, {
    initialDef: normalizeClassComponent(initialDef),
    instances: /* @__PURE__ */ new Set()
  });
  return true;
}
function normalizeClassComponent(component) {
  return isClassComponent$1(component) ? component.__vccOpts : component;
}
function rerender(id, newRender) {
  const record = map.get(id);
  if (!record) {
    return;
  }
  record.initialDef.render = newRender;
  [...record.instances].forEach((instance) => {
    if (newRender) {
      instance.render = newRender;
      normalizeClassComponent(instance.type).render = newRender;
    }
    instance.renderCache = [];
    instance.effect.dirty = true;
    instance.update();
  });
}
function reload(id, newComp) {
  const record = map.get(id);
  if (!record)
    return;
  newComp = normalizeClassComponent(newComp);
  updateComponentDef(record.initialDef, newComp);
  const instances = [...record.instances];
  for (const instance of instances) {
    const oldComp = normalizeClassComponent(instance.type);
    if (!hmrDirtyComponents.has(oldComp)) {
      if (oldComp !== record.initialDef) {
        updateComponentDef(oldComp, newComp);
      }
      hmrDirtyComponents.add(oldComp);
    }
    instance.appContext.propsCache.delete(instance.type);
    instance.appContext.emitsCache.delete(instance.type);
    instance.appContext.optionsCache.delete(instance.type);
    if (instance.ceReload) {
      hmrDirtyComponents.add(oldComp);
      instance.ceReload(newComp.styles);
      hmrDirtyComponents.delete(oldComp);
    } else if (instance.parent) {
      instance.parent.effect.dirty = true;
      queueJob$1(instance.parent.update);
    } else if (instance.appContext.reload) {
      instance.appContext.reload();
    } else if (typeof window !== "undefined") {
      window.location.reload();
    } else {
      console.warn(
        "[HMR] Root or manually mounted instance modified. Full reload required."
      );
    }
  }
  queuePostFlushCb$1(() => {
    for (const instance of instances) {
      hmrDirtyComponents.delete(
        normalizeClassComponent(instance.type)
      );
    }
  });
}
function updateComponentDef(oldComp, newComp) {
  extend(oldComp, newComp);
  for (const key in oldComp) {
    if (key !== "__file" && !(key in newComp)) {
      delete oldComp[key];
    }
  }
}
function tryWrap(fn) {
  return (id, arg) => {
    try {
      return fn(id, arg);
    } catch (e2) {
      console.error(e2);
      console.warn(
        `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`
      );
    }
  };
}
{
  const g = getGlobalThis();
  const registerGlobalSetter = (key, setter) => {
    let setters;
    if (!(setters = g[key]))
      setters = g[key] = [];
    setters.push(setter);
    return (v) => {
      if (setters.length > 1)
        setters.forEach((set2) => set2(v));
      else
        setters[0](v);
    };
  };
  registerGlobalSetter(
    `__VUE_INSTANCE_SETTERS__`,
    (v) => v
  );
  registerGlobalSetter(
    `__VUE_SSR_SETTERS__`,
    (v) => v
  );
}
const classifyRE$1 = /(?:^|[-_])(\w)/g;
const classify$1 = (str) => str.replace(classifyRE$1, (c2) => c2.toUpperCase()).replace(/[-_]/g, "");
function getComponentName$1(Component2, includeInferred = true) {
  return isFunction(Component2) ? Component2.displayName || Component2.name : Component2.name || includeInferred && Component2.__name;
}
function formatComponentName$1(instance, Component2, isRoot = false) {
  let name = getComponentName$1(Component2);
  if (!name && Component2.__file) {
    const match = Component2.__file.match(/([^/\\]+)\.\w+$/);
    if (match) {
      name = match[1];
    }
  }
  if (!name && instance && instance.parent) {
    const inferFromRegistry = (registry) => {
      for (const key in registry) {
        if (registry[key] === Component2) {
          return key;
        }
      }
    };
    name = inferFromRegistry(
      instance.components || instance.parent.type.components
    ) || inferFromRegistry(instance.appContext.components);
  }
  return name ? classify$1(name) : isRoot ? `App` : `Anonymous`;
}
function isClassComponent$1(value) {
  return isFunction(value) && "__vccOpts" in value;
}
/**
* @dcloudio/uni-mp-vue v3.4.21
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/
function warn$2(msg, ...args) {
  console.warn(`[Vue warn] ${msg}`, ...args);
}
let activeEffectScope;
class EffectScope {
  constructor(detached = false) {
    this.detached = detached;
    this._active = true;
    this.effects = [];
    this.cleanups = [];
    this.parent = activeEffectScope;
    if (!detached && activeEffectScope) {
      this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
        this
      ) - 1;
    }
  }
  get active() {
    return this._active;
  }
  run(fn) {
    if (this._active) {
      const currentEffectScope = activeEffectScope;
      try {
        activeEffectScope = this;
        return fn();
      } finally {
        activeEffectScope = currentEffectScope;
      }
    } else {
      warn$2(`cannot run an inactive effect scope.`);
    }
  }
  /**
   * This should only be called on non-detached scopes
   * @internal
   */
  on() {
    activeEffectScope = this;
  }
  /**
   * This should only be called on non-detached scopes
   * @internal
   */
  off() {
    activeEffectScope = this.parent;
  }
  stop(fromParent) {
    if (this._active) {
      let i, l;
      for (i = 0, l = this.effects.length; i < l; i++) {
        this.effects[i].stop();
      }
      for (i = 0, l = this.cleanups.length; i < l; i++) {
        this.cleanups[i]();
      }
      if (this.scopes) {
        for (i = 0, l = this.scopes.length; i < l; i++) {
          this.scopes[i].stop(true);
        }
      }
      if (!this.detached && this.parent && !fromParent) {
        const last = this.parent.scopes.pop();
        if (last && last !== this) {
          this.parent.scopes[this.index] = last;
          last.index = this.index;
        }
      }
      this.parent = void 0;
      this._active = false;
    }
  }
}
function recordEffectScope(effect2, scope = activeEffectScope) {
  if (scope && scope.active) {
    scope.effects.push(effect2);
  }
}
function getCurrentScope() {
  return activeEffectScope;
}
let activeEffect;
class ReactiveEffect2 {
  constructor(fn, trigger2, scheduler, scope) {
    this.fn = fn;
    this.trigger = trigger2;
    this.scheduler = scheduler;
    this.active = true;
    this.deps = [];
    this._dirtyLevel = 4;
    this._trackId = 0;
    this._runnings = 0;
    this._shouldSchedule = false;
    this._depsLength = 0;
    recordEffectScope(this, scope);
  }
  get dirty() {
    if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {
      this._dirtyLevel = 1;
      pauseTracking();
      for (let i = 0; i < this._depsLength; i++) {
        const dep = this.deps[i];
        if (dep.computed) {
          triggerComputed(dep.computed);
          if (this._dirtyLevel >= 4) {
            break;
          }
        }
      }
      if (this._dirtyLevel === 1) {
        this._dirtyLevel = 0;
      }
      resetTracking();
    }
    return this._dirtyLevel >= 4;
  }
  set dirty(v) {
    this._dirtyLevel = v ? 4 : 0;
  }
  run() {
    this._dirtyLevel = 0;
    if (!this.active) {
      return this.fn();
    }
    let lastShouldTrack = shouldTrack;
    let lastEffect = activeEffect;
    try {
      shouldTrack = true;
      activeEffect = this;
      this._runnings++;
      preCleanupEffect(this);
      return this.fn();
    } finally {
      postCleanupEffect(this);
      this._runnings--;
      activeEffect = lastEffect;
      shouldTrack = lastShouldTrack;
    }
  }
  stop() {
    var _a;
    if (this.active) {
      preCleanupEffect(this);
      postCleanupEffect(this);
      (_a = this.onStop) == null ? void 0 : _a.call(this);
      this.active = false;
    }
  }
}
function triggerComputed(computed2) {
  return computed2.value;
}
function preCleanupEffect(effect2) {
  effect2._trackId++;
  effect2._depsLength = 0;
}
function postCleanupEffect(effect2) {
  if (effect2.deps.length > effect2._depsLength) {
    for (let i = effect2._depsLength; i < effect2.deps.length; i++) {
      cleanupDepEffect(effect2.deps[i], effect2);
    }
    effect2.deps.length = effect2._depsLength;
  }
}
function cleanupDepEffect(dep, effect2) {
  const trackId = dep.get(effect2);
  if (trackId !== void 0 && effect2._trackId !== trackId) {
    dep.delete(effect2);
    if (dep.size === 0) {
      dep.cleanup();
    }
  }
}
let shouldTrack = true;
let pauseScheduleStack = 0;
const trackStack = [];
function pauseTracking() {
  trackStack.push(shouldTrack);
  shouldTrack = false;
}
function resetTracking() {
  const last = trackStack.pop();
  shouldTrack = last === void 0 ? true : last;
}
function pauseScheduling() {
  pauseScheduleStack++;
}
function resetScheduling() {
  pauseScheduleStack--;
  while (!pauseScheduleStack && queueEffectSchedulers.length) {
    queueEffectSchedulers.shift()();
  }
}
function trackEffect(effect2, dep, debuggerEventExtraInfo) {
  var _a;
  if (dep.get(effect2) !== effect2._trackId) {
    dep.set(effect2, effect2._trackId);
    const oldDep = effect2.deps[effect2._depsLength];
    if (oldDep !== dep) {
      if (oldDep) {
        cleanupDepEffect(oldDep, effect2);
      }
      effect2.deps[effect2._depsLength++] = dep;
    } else {
      effect2._depsLength++;
    }
    {
      (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));
    }
  }
}
const queueEffectSchedulers = [];
function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {
  var _a;
  pauseScheduling();
  for (const effect2 of dep.keys()) {
    let tracking;
    if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
      effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);
      effect2._dirtyLevel = dirtyLevel;
    }
    if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
      {
        (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));
      }
      effect2.trigger();
      if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {
        effect2._shouldSchedule = false;
        if (effect2.scheduler) {
          queueEffectSchedulers.push(effect2.scheduler);
        }
      }
    }
  }
  resetScheduling();
}
const createDep = (cleanup, computed2) => {
  const dep = /* @__PURE__ */ new Map();
  dep.cleanup = cleanup;
  dep.computed = computed2;
  return dep;
};
const targetMap = /* @__PURE__ */ new WeakMap();
const ITERATE_KEY = Symbol("iterate");
const MAP_KEY_ITERATE_KEY = Symbol("Map key iterate");
function track(target, type, key) {
  if (shouldTrack && activeEffect) {
    let depsMap = targetMap.get(target);
    if (!depsMap) {
      targetMap.set(target, depsMap = /* @__PURE__ */ new Map());
    }
    let dep = depsMap.get(key);
    if (!dep) {
      depsMap.set(key, dep = createDep(() => depsMap.delete(key)));
    }
    trackEffect(
      activeEffect,
      dep,
      {
        target,
        type,
        key
      }
    );
  }
}
function trigger(target, type, key, newValue, oldValue, oldTarget) {
  const depsMap = targetMap.get(target);
  if (!depsMap) {
    return;
  }
  let deps = [];
  if (type === "clear") {
    deps = [...depsMap.values()];
  } else if (key === "length" && isArray(target)) {
    const newLength = Number(newValue);
    depsMap.forEach((dep, key2) => {
      if (key2 === "length" || !isSymbol(key2) && key2 >= newLength) {
        deps.push(dep);
      }
    });
  } else {
    if (key !== void 0) {
      deps.push(depsMap.get(key));
    }
    switch (type) {
      case "add":
        if (!isArray(target)) {
          deps.push(depsMap.get(ITERATE_KEY));
          if (isMap(target)) {
            deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));
          }
        } else if (isIntegerKey(key)) {
          deps.push(depsMap.get("length"));
        }
        break;
      case "delete":
        if (!isArray(target)) {
          deps.push(depsMap.get(ITERATE_KEY));
          if (isMap(target)) {
            deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));
          }
        }
        break;
      case "set":
        if (isMap(target)) {
          deps.push(depsMap.get(ITERATE_KEY));
        }
        break;
    }
  }
  pauseScheduling();
  for (const dep of deps) {
    if (dep) {
      triggerEffects(
        dep,
        4,
        {
          target,
          type,
          key,
          newValue,
          oldValue,
          oldTarget
        }
      );
    }
  }
  resetScheduling();
}
const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
const builtInSymbols = new Set(
  /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol)
);
const arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();
function createArrayInstrumentations() {
  const instrumentations = {};
  ["includes", "indexOf", "lastIndexOf"].forEach((key) => {
    instrumentations[key] = function(...args) {
      const arr = toRaw(this);
      for (let i = 0, l = this.length; i < l; i++) {
        track(arr, "get", i + "");
      }
      const res = arr[key](...args);
      if (res === -1 || res === false) {
        return arr[key](...args.map(toRaw));
      } else {
        return res;
      }
    };
  });
  ["push", "pop", "shift", "unshift", "splice"].forEach((key) => {
    instrumentations[key] = function(...args) {
      pauseTracking();
      pauseScheduling();
      const res = toRaw(this)[key].apply(this, args);
      resetScheduling();
      resetTracking();
      return res;
    };
  });
  return instrumentations;
}
function hasOwnProperty(key) {
  const obj = toRaw(this);
  track(obj, "has", key);
  return obj.hasOwnProperty(key);
}
class BaseReactiveHandler2 {
  constructor(_isReadonly = false, _isShallow = false) {
    this._isReadonly = _isReadonly;
    this._isShallow = _isShallow;
  }
  get(target, key, receiver) {
    const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;
    if (key === "__v_isReactive") {
      return !isReadonly2;
    } else if (key === "__v_isReadonly") {
      return isReadonly2;
    } else if (key === "__v_isShallow") {
      return isShallow2;
    } else if (key === "__v_raw") {
      if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype
      // this means the reciever is a user proxy of the reactive proxy
      Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {
        return target;
      }
      return;
    }
    const targetIsArray = isArray(target);
    if (!isReadonly2) {
      if (targetIsArray && hasOwn$1(arrayInstrumentations, key)) {
        return Reflect.get(arrayInstrumentations, key, receiver);
      }
      if (key === "hasOwnProperty") {
        return hasOwnProperty;
      }
    }
    const res = Reflect.get(target, key, receiver);
    if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {
      return res;
    }
    if (!isReadonly2) {
      track(target, "get", key);
    }
    if (isShallow2) {
      return res;
    }
    if (isRef(res)) {
      return targetIsArray && isIntegerKey(key) ? res : res.value;
    }
    if (isObject$1(res)) {
      return isReadonly2 ? readonly(res) : reactive(res);
    }
    return res;
  }
}
class MutableReactiveHandler2 extends BaseReactiveHandler2 {
  constructor(isShallow2 = false) {
    super(false, isShallow2);
  }
  set(target, key, value, receiver) {
    let oldValue = target[key];
    if (!this._isShallow) {
      const isOldValueReadonly = isReadonly(oldValue);
      if (!isShallow(value) && !isReadonly(value)) {
        oldValue = toRaw(oldValue);
        value = toRaw(value);
      }
      if (!isArray(target) && isRef(oldValue) && !isRef(value)) {
        if (isOldValueReadonly) {
          return false;
        } else {
          oldValue.value = value;
          return true;
        }
      }
    }
    const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn$1(target, key);
    const result = Reflect.set(target, key, value, receiver);
    if (target === toRaw(receiver)) {
      if (!hadKey) {
        trigger(target, "add", key, value);
      } else if (hasChanged(value, oldValue)) {
        trigger(target, "set", key, value, oldValue);
      }
    }
    return result;
  }
  deleteProperty(target, key) {
    const hadKey = hasOwn$1(target, key);
    const oldValue = target[key];
    const result = Reflect.deleteProperty(target, key);
    if (result && hadKey) {
      trigger(target, "delete", key, void 0, oldValue);
    }
    return result;
  }
  has(target, key) {
    const result = Reflect.has(target, key);
    if (!isSymbol(key) || !builtInSymbols.has(key)) {
      track(target, "has", key);
    }
    return result;
  }
  ownKeys(target) {
    track(
      target,
      "iterate",
      isArray(target) ? "length" : ITERATE_KEY
    );
    return Reflect.ownKeys(target);
  }
}
class ReadonlyReactiveHandler2 extends BaseReactiveHandler2 {
  constructor(isShallow2 = false) {
    super(true, isShallow2);
  }
  set(target, key) {
    {
      warn$2(
        `Set operation on key "${String(key)}" failed: target is readonly.`,
        target
      );
    }
    return true;
  }
  deleteProperty(target, key) {
    {
      warn$2(
        `Delete operation on key "${String(key)}" failed: target is readonly.`,
        target
      );
    }
    return true;
  }
}
const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler2();
const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler2();
const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler2(
  true
);
const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler2(true);
const toShallow = (value) => value;
const getProto = (v) => Reflect.getPrototypeOf(v);
function get(target, key, isReadonly2 = false, isShallow2 = false) {
  target = target["__v_raw"];
  const rawTarget = toRaw(target);
  const rawKey = toRaw(key);
  if (!isReadonly2) {
    if (hasChanged(key, rawKey)) {
      track(rawTarget, "get", key);
    }
    track(rawTarget, "get", rawKey);
  }
  const { has: has2 } = getProto(rawTarget);
  const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;
  if (has2.call(rawTarget, key)) {
    return wrap(target.get(key));
  } else if (has2.call(rawTarget, rawKey)) {
    return wrap(target.get(rawKey));
  } else if (target !== rawTarget) {
    target.get(key);
  }
}
function has(key, isReadonly2 = false) {
  const target = this["__v_raw"];
  const rawTarget = toRaw(target);
  const rawKey = toRaw(key);
  if (!isReadonly2) {
    if (hasChanged(key, rawKey)) {
      track(rawTarget, "has", key);
    }
    track(rawTarget, "has", rawKey);
  }
  return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);
}
function size(target, isReadonly2 = false) {
  target = target["__v_raw"];
  !isReadonly2 && track(toRaw(target), "iterate", ITERATE_KEY);
  return Reflect.get(target, "size", target);
}
function add(value) {
  value = toRaw(value);
  const target = toRaw(this);
  const proto = getProto(target);
  const hadKey = proto.has.call(target, value);
  if (!hadKey) {
    target.add(value);
    trigger(target, "add", value, value);
  }
  return this;
}
function set$1(key, value) {
  value = toRaw(value);
  const target = toRaw(this);
  const { has: has2, get: get2 } = getProto(target);
  let hadKey = has2.call(target, key);
  if (!hadKey) {
    key = toRaw(key);
    hadKey = has2.call(target, key);
  } else {
    checkIdentityKeys(target, has2, key);
  }
  const oldValue = get2.call(target, key);
  target.set(key, value);
  if (!hadKey) {
    trigger(target, "add", key, value);
  } else if (hasChanged(value, oldValue)) {
    trigger(target, "set", key, value, oldValue);
  }
  return this;
}
function deleteEntry(key) {
  const target = toRaw(this);
  const { has: has2, get: get2 } = getProto(target);
  let hadKey = has2.call(target, key);
  if (!hadKey) {
    key = toRaw(key);
    hadKey = has2.call(target, key);
  } else {
    checkIdentityKeys(target, has2, key);
  }
  const oldValue = get2 ? get2.call(target, key) : void 0;
  const result = target.delete(key);
  if (hadKey) {
    trigger(target, "delete", key, void 0, oldValue);
  }
  return result;
}
function clear() {
  const target = toRaw(this);
  const hadItems = target.size !== 0;
  const oldTarget = isMap(target) ? new Map(target) : new Set(target);
  const result = target.clear();
  if (hadItems) {
    trigger(target, "clear", void 0, void 0, oldTarget);
  }
  return result;
}
function createForEach(isReadonly2, isShallow2) {
  return function forEach(callback, thisArg) {
    const observed = this;
    const target = observed["__v_raw"];
    const rawTarget = toRaw(target);
    const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;
    !isReadonly2 && track(rawTarget, "iterate", ITERATE_KEY);
    return target.forEach((value, key) => {
      return callback.call(thisArg, wrap(value), wrap(key), observed);
    });
  };
}
function createIterableMethod(method, isReadonly2, isShallow2) {
  return function(...args) {
    const target = this["__v_raw"];
    const rawTarget = toRaw(target);
    const targetIsMap = isMap(rawTarget);
    const isPair = method === "entries" || method === Symbol.iterator && targetIsMap;
    const isKeyOnly = method === "keys" && targetIsMap;
    const innerIterator = target[method](...args);
    const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;
    !isReadonly2 && track(
      rawTarget,
      "iterate",
      isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY
    );
    return {
      // iterator protocol
      next() {
        const { value, done } = innerIterator.next();
        return done ? { value, done } : {
          value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),
          done
        };
      },
      // iterable protocol
      [Symbol.iterator]() {
        return this;
      }
    };
  };
}
function createReadonlyMethod(type) {
  return function(...args) {
    {
      const key = args[0] ? `on key "${args[0]}" ` : ``;
      warn$2(
        `${capitalize(type)} operation ${key}failed: target is readonly.`,
        toRaw(this)
      );
    }
    return type === "delete" ? false : type === "clear" ? void 0 : this;
  };
}
function createInstrumentations() {
  const mutableInstrumentations2 = {
    get(key) {
      return get(this, key);
    },
    get size() {
      return size(this);
    },
    has,
    add,
    set: set$1,
    delete: deleteEntry,
    clear,
    forEach: createForEach(false, false)
  };
  const shallowInstrumentations2 = {
    get(key) {
      return get(this, key, false, true);
    },
    get size() {
      return size(this);
    },
    has,
    add,
    set: set$1,
    delete: deleteEntry,
    clear,
    forEach: createForEach(false, true)
  };
  const readonlyInstrumentations2 = {
    get(key) {
      return get(this, key, true);
    },
    get size() {
      return size(this, true);
    },
    has(key) {
      return has.call(this, key, true);
    },
    add: createReadonlyMethod("add"),
    set: createReadonlyMethod("set"),
    delete: createReadonlyMethod("delete"),
    clear: createReadonlyMethod("clear"),
    forEach: createForEach(true, false)
  };
  const shallowReadonlyInstrumentations2 = {
    get(key) {
      return get(this, key, true, true);
    },
    get size() {
      return size(this, true);
    },
    has(key) {
      return has.call(this, key, true);
    },
    add: createReadonlyMethod("add"),
    set: createReadonlyMethod("set"),
    delete: createReadonlyMethod("delete"),
    clear: createReadonlyMethod("clear"),
    forEach: createForEach(true, true)
  };
  const iteratorMethods = [
    "keys",
    "values",
    "entries",
    Symbol.iterator
  ];
  iteratorMethods.forEach((method) => {
    mutableInstrumentations2[method] = createIterableMethod(method, false, false);
    readonlyInstrumentations2[method] = createIterableMethod(method, true, false);
    shallowInstrumentations2[method] = createIterableMethod(method, false, true);
    shallowReadonlyInstrumentations2[method] = createIterableMethod(
      method,
      true,
      true
    );
  });
  return [
    mutableInstrumentations2,
    readonlyInstrumentations2,
    shallowInstrumentations2,
    shallowReadonlyInstrumentations2
  ];
}
const [
  mutableInstrumentations,
  readonlyInstrumentations,
  shallowInstrumentations,
  shallowReadonlyInstrumentations
] = /* @__PURE__ */ createInstrumentations();
function createInstrumentationGetter(isReadonly2, shallow) {
  const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations;
  return (target, key, receiver) => {
    if (key === "__v_isReactive") {
      return !isReadonly2;
    } else if (key === "__v_isReadonly") {
      return isReadonly2;
    } else if (key === "__v_raw") {
      return target;
    }
    return Reflect.get(
      hasOwn$1(instrumentations, key) && key in target ? instrumentations : target,
      key,
      receiver
    );
  };
}
const mutableCollectionHandlers = {
  get: /* @__PURE__ */ createInstrumentationGetter(false, false)
};
const shallowCollectionHandlers = {
  get: /* @__PURE__ */ createInstrumentationGetter(false, true)
};
const readonlyCollectionHandlers = {
  get: /* @__PURE__ */ createInstrumentationGetter(true, false)
};
const shallowReadonlyCollectionHandlers = {
  get: /* @__PURE__ */ createInstrumentationGetter(true, true)
};
function checkIdentityKeys(target, has2, key) {
  const rawKey = toRaw(key);
  if (rawKey !== key && has2.call(target, rawKey)) {
    const type = toRawType(target);
    warn$2(
      `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`
    );
  }
}
const reactiveMap = /* @__PURE__ */ new WeakMap();
const shallowReactiveMap = /* @__PURE__ */ new WeakMap();
const readonlyMap = /* @__PURE__ */ new WeakMap();
const shallowReadonlyMap = /* @__PURE__ */ new WeakMap();
function targetTypeMap(rawType) {
  switch (rawType) {
    case "Object":
    case "Array":
      return 1;
    case "Map":
    case "Set":
    case "WeakMap":
    case "WeakSet":
      return 2;
    default:
      return 0;
  }
}
function getTargetType(value) {
  return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value));
}
function reactive(target) {
  if (isReadonly(target)) {
    return target;
  }
  return createReactiveObject(
    target,
    false,
    mutableHandlers,
    mutableCollectionHandlers,
    reactiveMap
  );
}
function shallowReactive(target) {
  return createReactiveObject(
    target,
    false,
    shallowReactiveHandlers,
    shallowCollectionHandlers,
    shallowReactiveMap
  );
}
function readonly(target) {
  return createReactiveObject(
    target,
    true,
    readonlyHandlers,
    readonlyCollectionHandlers,
    readonlyMap
  );
}
function shallowReadonly(target) {
  return createReactiveObject(
    target,
    true,
    shallowReadonlyHandlers,
    shallowReadonlyCollectionHandlers,
    shallowReadonlyMap
  );
}
function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {
  if (!isObject$1(target)) {
    {
      warn$2(`value cannot be made reactive: ${String(target)}`);
    }
    return target;
  }
  if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) {
    return target;
  }
  const existingProxy = proxyMap.get(target);
  if (existingProxy) {
    return existingProxy;
  }
  const targetType = getTargetType(target);
  if (targetType === 0) {
    return target;
  }
  const proxy = new Proxy(
    target,
    targetType === 2 ? collectionHandlers : baseHandlers
  );
  proxyMap.set(target, proxy);
  return proxy;
}
function isReactive(value) {
  if (isReadonly(value)) {
    return isReactive(value["__v_raw"]);
  }
  return !!(value && value["__v_isReactive"]);
}
function isReadonly(value) {
  return !!(value && value["__v_isReadonly"]);
}
function isShallow(value) {
  return !!(value && value["__v_isShallow"]);
}
function isProxy(value) {
  return isReactive(value) || isReadonly(value);
}
function toRaw(observed) {
  const raw = observed && observed["__v_raw"];
  return raw ? toRaw(raw) : observed;
}
function markRaw(value) {
  if (Object.isExtensible(value)) {
    def(value, "__v_skip", true);
  }
  return value;
}
const toReactive = (value) => isObject$1(value) ? reactive(value) : value;
const toReadonly = (value) => isObject$1(value) ? readonly(value) : value;
const COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided.  Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`;
class ComputedRefImpl {
  constructor(getter, _setter, isReadonly2, isSSR) {
    this.getter = getter;
    this._setter = _setter;
    this.dep = void 0;
    this.__v_isRef = true;
    this["__v_isReadonly"] = false;
    this.effect = new ReactiveEffect2(
      () => getter(this._value),
      () => triggerRefValue(
        this,
        this.effect._dirtyLevel === 2 ? 2 : 3
      )
    );
    this.effect.computed = this;
    this.effect.active = this._cacheable = !isSSR;
    this["__v_isReadonly"] = isReadonly2;
  }
  get value() {
    const self2 = toRaw(this);
    if ((!self2._cacheable || self2.effect.dirty) && hasChanged(self2._value, self2._value = self2.effect.run())) {
      triggerRefValue(self2, 4);
    }
    trackRefValue(self2);
    if (self2.effect._dirtyLevel >= 2) {
      if (this._warnRecursive) {
        warn$2(COMPUTED_SIDE_EFFECT_WARN, `

getter: `, this.getter);
      }
      triggerRefValue(self2, 2);
    }
    return self2._value;
  }
  set value(newValue) {
    this._setter(newValue);
  }
  // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x
  get _dirty() {
    return this.effect.dirty;
  }
  set _dirty(v) {
    this.effect.dirty = v;
  }
  // #endregion
}
function computed$1(getterOrOptions, debugOptions, isSSR = false) {
  let getter;
  let setter;
  const onlyGetter = isFunction(getterOrOptions);
  if (onlyGetter) {
    getter = getterOrOptions;
    setter = () => {
      warn$2("Write operation failed: computed value is readonly");
    };
  } else {
    getter = getterOrOptions.get;
    setter = getterOrOptions.set;
  }
  const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);
  if (debugOptions && !isSSR) {
    cRef.effect.onTrack = debugOptions.onTrack;
    cRef.effect.onTrigger = debugOptions.onTrigger;
  }
  return cRef;
}
function trackRefValue(ref2) {
  var _a;
  if (shouldTrack && activeEffect) {
    ref2 = toRaw(ref2);
    trackEffect(
      activeEffect,
      (_a = ref2.dep) != null ? _a : ref2.dep = createDep(
        () => ref2.dep = void 0,
        ref2 instanceof ComputedRefImpl ? ref2 : void 0
      ),
      {
        target: ref2,
        type: "get",
        key: "value"
      }
    );
  }
}
function triggerRefValue(ref2, dirtyLevel = 4, newVal) {
  ref2 = toRaw(ref2);
  const dep = ref2.dep;
  if (dep) {
    triggerEffects(
      dep,
      dirtyLevel,
      {
        target: ref2,
        type: "set",
        key: "value",
        newValue: newVal
      }
    );
  }
}
function isRef(r2) {
  return !!(r2 && r2.__v_isRef === true);
}
function ref(value) {
  return createRef(value, false);
}
function createRef(rawValue, shallow) {
  if (isRef(rawValue)) {
    return rawValue;
  }
  return new RefImpl(rawValue, shallow);
}
class RefImpl {
  constructor(value, __v_isShallow) {
    this.__v_isShallow = __v_isShallow;
    this.dep = void 0;
    this.__v_isRef = true;
    this._rawValue = __v_isShallow ? value : toRaw(value);
    this._value = __v_isShallow ? value : toReactive(value);
  }
  get value() {
    trackRefValue(this);
    return this._value;
  }
  set value(newVal) {
    const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);
    newVal = useDirectValue ? newVal : toRaw(newVal);
    if (hasChanged(newVal, this._rawValue)) {
      this._rawValue = newVal;
      this._value = useDirectValue ? newVal : toReactive(newVal);
      triggerRefValue(this, 4, newVal);
    }
  }
}
function unref(ref2) {
  return isRef(ref2) ? ref2.value : ref2;
}
const shallowUnwrapHandlers = {
  get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),
  set: (target, key, value, receiver) => {
    const oldValue = target[key];
    if (isRef(oldValue) && !isRef(value)) {
      oldValue.value = value;
      return true;
    } else {
      return Reflect.set(target, key, value, receiver);
    }
  }
};
function proxyRefs(objectWithRefs) {
  return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);
}
const stack = [];
function pushWarningContext(vnode) {
  stack.push(vnode);
}
function popWarningContext() {
  stack.pop();
}
function warn$1(msg, ...args) {
  pauseTracking();
  const instance = stack.length ? stack[stack.length - 1].component : null;
  const appWarnHandler = instance && instance.appContext.config.warnHandler;
  const trace = getComponentTrace();
  if (appWarnHandler) {
    callWithErrorHandling(
      appWarnHandler,
      instance,
      11,
      [
        msg + args.map((a) => {
          var _a, _b;
          return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);
        }).join(""),
        instance && instance.proxy,
        trace.map(
          ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`
        ).join("\n"),
        trace
      ]
    );
  } else {
    const warnArgs = [`[Vue warn]: ${msg}`, ...args];
    if (trace.length && // avoid spamming console during tests
    true) {
      warnArgs.push(`
`, ...formatTrace(trace));
    }
    console.warn(...warnArgs);
  }
  resetTracking();
}
function getComponentTrace() {
  let currentVNode = stack[stack.length - 1];
  if (!currentVNode) {
    return [];
  }
  const normalizedStack = [];
  while (currentVNode) {
    const last = normalizedStack[0];
    if (last && last.vnode === currentVNode) {
      last.recurseCount++;
    } else {
      normalizedStack.push({
        vnode: currentVNode,
        recurseCount: 0
      });
    }
    const parentInstance = currentVNode.component && currentVNode.component.parent;
    currentVNode = parentInstance && parentInstance.vnode;
  }
  return normalizedStack;
}
function formatTrace(trace) {
  const logs = [];
  trace.forEach((entry, i) => {
    logs.push(...i === 0 ? [] : [`
`], ...formatTraceEntry(entry));
  });
  return logs;
}
function formatTraceEntry({ vnode, recurseCount }) {
  const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;
  const isRoot = vnode.component ? vnode.component.parent == null : false;
  const open = ` at <${formatComponentName(
    vnode.component,
    vnode.type,
    isRoot
  )}`;
  const close = `>` + postfix;
  return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];
}
function formatProps(props) {
  const res = [];
  const keys = Object.keys(props);
  keys.slice(0, 3).forEach((key) => {
    res.push(...formatProp(key, props[key]));
  });
  if (keys.length > 3) {
    res.push(` ...`);
  }
  return res;
}
function formatProp(key, value, raw) {
  if (isString(value)) {
    value = JSON.stringify(value);
    return raw ? value : [`${key}=${value}`];
  } else if (typeof value === "number" || typeof value === "boolean" || value == null) {
    return raw ? value : [`${key}=${value}`];
  } else if (isRef(value)) {
    value = formatProp(key, toRaw(value.value), true);
    return raw ? value : [`${key}=Ref<`, value, `>`];
  } else if (isFunction(value)) {
    return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];
  } else {
    value = toRaw(value);
    return raw ? value : [`${key}=`, value];
  }
}
const ErrorTypeStrings = {
  ["sp"]: "serverPrefetch hook",
  ["bc"]: "beforeCreate hook",
  ["c"]: "created hook",
  ["bm"]: "beforeMount hook",
  ["m"]: "mounted hook",
  ["bu"]: "beforeUpdate hook",
  ["u"]: "updated",
  ["bum"]: "beforeUnmount hook",
  ["um"]: "unmounted hook",
  ["a"]: "activated hook",
  ["da"]: "deactivated hook",
  ["ec"]: "errorCaptured hook",
  ["rtc"]: "renderTracked hook",
  ["rtg"]: "renderTriggered hook",
  [0]: "setup function",
  [1]: "render function",
  [2]: "watcher getter",
  [3]: "watcher callback",
  [4]: "watcher cleanup function",
  [5]: "native event handler",
  [6]: "component event handler",
  [7]: "vnode hook",
  [8]: "directive hook",
  [9]: "transition hook",
  [10]: "app errorHandler",
  [11]: "app warnHandler",
  [12]: "ref function",
  [13]: "async component loader",
  [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ."
};
function callWithErrorHandling(fn, instance, type, args) {
  try {
    return args ? fn(...args) : fn();
  } catch (err) {
    handleError(err, instance, type);
  }
}
function callWithAsyncErrorHandling(fn, instance, type, args) {
  if (isFunction(fn)) {
    const res = callWithErrorHandling(fn, instance, type, args);
    if (res && isPromise(res)) {
      res.catch((err) => {
        handleError(err, instance, type);
      });
    }
    return res;
  }
  const values = [];
  for (let i = 0; i < fn.length; i++) {
    values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));
  }
  return values;
}
function handleError(err, instance, type, throwInDev = true) {
  const contextVNode = instance ? instance.vnode : null;
  if (instance) {
    let cur = instance.parent;
    const exposedInstance = instance.proxy;
    const errorInfo = ErrorTypeStrings[type] || type;
    while (cur) {
      const errorCapturedHooks = cur.ec;
      if (errorCapturedHooks) {
        for (let i = 0; i < errorCapturedHooks.length; i++) {
          if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {
            return;
          }
        }
      }
      cur = cur.parent;
    }
    const appErrorHandler = instance.appContext.config.errorHandler;
    if (appErrorHandler) {
      callWithErrorHandling(
        appErrorHandler,
        null,
        10,
        [err, exposedInstance, errorInfo]
      );
      return;
    }
  }
  logError(err, type, contextVNode, throwInDev);
}
function logError(err, type, contextVNode, throwInDev = true) {
  {
    const info = ErrorTypeStrings[type] || type;
    if (contextVNode) {
      pushWarningContext(contextVNode);
    }
    warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);
    if (contextVNode) {
      popWarningContext();
    }
    if (throwInDev) {
      console.error(err);
    } else {
      console.error(err);
    }
  }
}
let isFlushing = false;
let isFlushPending = false;
const queue = [];
let flushIndex = 0;
const pendingPostFlushCbs = [];
let activePostFlushCbs = null;
let postFlushIndex = 0;
const resolvedPromise = /* @__PURE__ */ Promise.resolve();
let currentFlushPromise = null;
const RECURSION_LIMIT = 100;
function nextTick$1(fn) {
  const p2 = currentFlushPromise || resolvedPromise;
  return fn ? p2.then(this ? fn.bind(this) : fn) : p2;
}
function findInsertionIndex(id) {
  let start = flushIndex + 1;
  let end = queue.length;
  while (start < end) {
    const middle = start + end >>> 1;
    const middleJob = queue[middle];
    const middleJobId = getId(middleJob);
    if (middleJobId < id || middleJobId === id && middleJob.pre) {
      start = middle + 1;
    } else {
      end = middle;
    }
  }
  return start;
}
function queueJob(job) {
  if (!queue.length || !queue.includes(
    job,
    isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex
  )) {
    if (job.id == null) {
      queue.push(job);
    } else {
      queue.splice(findInsertionIndex(job.id), 0, job);
    }
    queueFlush();
  }
}
function queueFlush() {
  if (!isFlushing && !isFlushPending) {
    isFlushPending = true;
    currentFlushPromise = resolvedPromise.then(flushJobs);
  }
}
function hasQueueJob(job) {
  return queue.indexOf(job) > -1;
}
function invalidateJob(job) {
  const i = queue.indexOf(job);
  if (i > flushIndex) {
    queue.splice(i, 1);
  }
}
function queuePostFlushCb(cb) {
  if (!isArray(cb)) {
    if (!activePostFlushCbs || !activePostFlushCbs.includes(
      cb,
      cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex
    )) {
      pendingPostFlushCbs.push(cb);
    }
  } else {
    pendingPostFlushCbs.push(...cb);
  }
  queueFlush();
}
function flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {
  {
    seen = seen || /* @__PURE__ */ new Map();
  }
  for (; i < queue.length; i++) {
    const cb = queue[i];
    if (cb && cb.pre) {
      if (instance && cb.id !== instance.uid) {
        continue;
      }
      if (checkRecursiveUpdates(seen, cb)) {
        continue;
      }
      queue.splice(i, 1);
      i--;
      cb();
    }
  }
}
function flushPostFlushCbs(seen) {
  if (pendingPostFlushCbs.length) {
    const deduped = [...new Set(pendingPostFlushCbs)].sort(
      (a, b) => getId(a) - getId(b)
    );
    pendingPostFlushCbs.length = 0;
    if (activePostFlushCbs) {
      activePostFlushCbs.push(...deduped);
      return;
    }
    activePostFlushCbs = deduped;
    {
      seen = seen || /* @__PURE__ */ new Map();
    }
    for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {
      if (checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {
        continue;
      }
      activePostFlushCbs[postFlushIndex]();
    }
    activePostFlushCbs = null;
    postFlushIndex = 0;
  }
}
const getId = (job) => job.id == null ? Infinity : job.id;
const comparator = (a, b) => {
  const diff2 = getId(a) - getId(b);
  if (diff2 === 0) {
    if (a.pre && !b.pre)
      return -1;
    if (b.pre && !a.pre)
      return 1;
  }
  return diff2;
};
function flushJobs(seen) {
  isFlushPending = false;
  isFlushing = true;
  {
    seen = seen || /* @__PURE__ */ new Map();
  }
  queue.sort(comparator);
  const check = (job) => checkRecursiveUpdates(seen, job);
  try {
    for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {
      const job = queue[flushIndex];
      if (job && job.active !== false) {
        if (check(job)) {
          continue;
        }
        callWithErrorHandling(job, null, 14);
      }
    }
  } finally {
    flushIndex = 0;
    queue.length = 0;
    flushPostFlushCbs(seen);
    isFlushing = false;
    currentFlushPromise = null;
    if (queue.length || pendingPostFlushCbs.length) {
      flushJobs(seen);
    }
  }
}
function checkRecursiveUpdates(seen, fn) {
  if (!seen.has(fn)) {
    seen.set(fn, 1);
  } else {
    const count = seen.get(fn);
    if (count > RECURSION_LIMIT) {
      const instance = fn.ownerInstance;
      const componentName = instance && getComponentName(instance.type);
      handleError(
        `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,
        null,
        10
      );
      return true;
    } else {
      seen.set(fn, count + 1);
    }
  }
}
let devtools;
let buffer = [];
let devtoolsNotInstalled = false;
function emit$1(event, ...args) {
  if (devtools) {
    devtools.emit(event, ...args);
  } else if (!devtoolsNotInstalled) {
    buffer.push({ event, args });
  }
}
function setDevtoolsHook(hook, target) {
  var _a, _b;
  devtools = hook;
  if (devtools) {
    devtools.enabled = true;
    buffer.forEach(({ event, args }) => devtools.emit(event, ...args));
    buffer = [];
  } else if (
    // handle late devtools injection - only do this if we are in an actual
    // browser environment to avoid the timer handle stalling test runner exit
    // (#4815)
    typeof window !== "undefined" && // some envs mock window but not fully
    window.HTMLElement && // also exclude jsdom
    !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes("jsdom"))
  ) {
    const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];
    replay.push((newHook) => {
      setDevtoolsHook(newHook, target);
    });
    setTimeout(() => {
      if (!devtools) {
        target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;
        devtoolsNotInstalled = true;
        buffer = [];
      }
    }, 3e3);
  } else {
    devtoolsNotInstalled = true;
    buffer = [];
  }
}
function devtoolsInitApp(app, version2) {
  emit$1("app:init", app, version2, {
    Fragment,
    Text,
    Comment,
    Static
  });
}
const devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(
  "component:added"
  /* COMPONENT_ADDED */
);
const devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(
  "component:updated"
  /* COMPONENT_UPDATED */
);
const _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(
  "component:removed"
  /* COMPONENT_REMOVED */
);
const devtoolsComponentRemoved = (component) => {
  if (devtools && typeof devtools.cleanupBuffer === "function" && // remove the component if it wasn't buffered
  !devtools.cleanupBuffer(component)) {
    _devtoolsComponentRemoved(component);
  }
};
/*! #__NO_SIDE_EFFECTS__ */
// @__NO_SIDE_EFFECTS__
function createDevtoolsComponentHook(hook) {
  return (component) => {
    emit$1(
      hook,
      component.appContext.app,
      component.uid,
      // fixed by xxxxxx
      // 为 0 是 App，无 parent 是 Page 指向 App
      component.uid === 0 ? void 0 : component.parent ? component.parent.uid : 0,
      component
    );
  };
}
const devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(
  "perf:start"
  /* PERFORMANCE_START */
);
const devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(
  "perf:end"
  /* PERFORMANCE_END */
);
function createDevtoolsPerformanceHook(hook) {
  return (component, type, time) => {
    emit$1(hook, component.appContext.app, component.uid, component, type, time);
  };
}
function devtoolsComponentEmit(component, event, params) {
  emit$1(
    "component:emit",
    component.appContext.app,
    component,
    event,
    params
  );
}
function emit(instance, event, ...rawArgs) {
  if (instance.isUnmounted)
    return;
  const props = instance.vnode.props || EMPTY_OBJ;
  {
    const {
      emitsOptions,
      propsOptions: [propsOptions]
    } = instance;
    if (emitsOptions) {
      if (!(event in emitsOptions) && true) {
        if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {
          warn$1(
            `Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(event)}" prop.`
          );
        }
      } else {
        const validator = emitsOptions[event];
        if (isFunction(validator)) {
          const isValid = validator(...rawArgs);
          if (!isValid) {
            warn$1(
              `Invalid event arguments: event validation failed for event "${event}".`
            );
          }
        }
      }
    }
  }
  let args = rawArgs;
  const isModelListener2 = event.startsWith("update:");
  const modelArg = isModelListener2 && event.slice(7);
  if (modelArg && modelArg in props) {
    const modifiersKey = `${modelArg === "modelValue" ? "model" : modelArg}Modifiers`;
    const { number, trim } = props[modifiersKey] || EMPTY_OBJ;
    if (trim) {
      args = rawArgs.map((a) => isString(a) ? a.trim() : a);
    }
    if (number) {
      args = rawArgs.map(looseToNumber);
    }
  }
  {
    devtoolsComponentEmit(instance, event, args);
  }
  {
    const lowerCaseEvent = event.toLowerCase();
    if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {
      warn$1(
        `Event "${lowerCaseEvent}" is emitted in component ${formatComponentName(
          instance,
          instance.type
        )} but the handler is registered for "${event}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${hyphenate(
          event
        )}" instead of "${event}".`
      );
    }
  }
  let handlerName;
  let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)
  props[handlerName = toHandlerKey(camelize(event))];
  if (!handler && isModelListener2) {
    handler = props[handlerName = toHandlerKey(hyphenate(event))];
  }
  if (handler) {
    callWithAsyncErrorHandling(
      handler,
      instance,
      6,
      args
    );
  }
  const onceHandler = props[handlerName + `Once`];
  if (onceHandler) {
    if (!instance.emitted) {
      instance.emitted = {};
    } else if (instance.emitted[handlerName]) {
      return;
    }
    instance.emitted[handlerName] = true;
    callWithAsyncErrorHandling(
      onceHandler,
      instance,
      6,
      args
    );
  }
}
function normalizeEmitsOptions(comp, appContext, asMixin = false) {
  const cache = appContext.emitsCache;
  const cached = cache.get(comp);
  if (cached !== void 0) {
    return cached;
  }
  const raw = comp.emits;
  let normalized = {};
  let hasExtends = false;
  if (!isFunction(comp)) {
    const extendEmits = (raw2) => {
      const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);
      if (normalizedFromExtend) {
        hasExtends = true;
        extend(normalized, normalizedFromExtend);
      }
    };
    if (!asMixin && appContext.mixins.length) {
      appContext.mixins.forEach(extendEmits);
    }
    if (comp.extends) {
      extendEmits(comp.extends);
    }
    if (comp.mixins) {
      comp.mixins.forEach(extendEmits);
    }
  }
  if (!raw && !hasExtends) {
    if (isObject$1(comp)) {
      cache.set(comp, null);
    }
    return null;
  }
  if (isArray(raw)) {
    raw.forEach((key) => normalized[key] = null);
  } else {
    extend(normalized, raw);
  }
  if (isObject$1(comp)) {
    cache.set(comp, normalized);
  }
  return normalized;
}
function isEmitListener(options, key) {
  if (!options || !isOn(key)) {
    return false;
  }
  key = key.slice(2).replace(/Once$/, "");
  return hasOwn$1(options, key[0].toLowerCase() + key.slice(1)) || hasOwn$1(options, hyphenate(key)) || hasOwn$1(options, key);
}
let currentRenderingInstance = null;
function setCurrentRenderingInstance(instance) {
  const prev = currentRenderingInstance;
  currentRenderingInstance = instance;
  instance && instance.type.__scopeId || null;
  return prev;
}
const COMPONENTS = "components";
function resolveComponent(name, maybeSelfReference) {
  return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
}
function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {
  const instance = currentRenderingInstance || currentInstance;
  if (instance) {
    const Component2 = instance.type;
    if (type === COMPONENTS) {
      const selfName = getComponentName(
        Component2,
        false
      );
      if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {
        return Component2;
      }
    }
    const res = (
      // local registration
      // check instance[type] first which is resolved for options API
      resolve(instance[type] || Component2[type], name) || // global registration
      resolve(instance.appContext[type], name)
    );
    if (!res && maybeSelfReference) {
      return Component2;
    }
    if (warnMissing && !res) {
      const extra = type === COMPONENTS ? `
If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;
      warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
    }
    return res;
  } else {
    warn$1(
      `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`
    );
  }
}
function resolve(registry, name) {
  return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);
}
const INITIAL_WATCHER_VALUE = {};
function watch(source, cb, options) {
  if (!isFunction(cb)) {
    warn$1(
      `\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.`
    );
  }
  return doWatch(source, cb, options);
}
function doWatch(source, cb, {
  immediate,
  deep,
  flush,
  once: once2,
  onTrack,
  onTrigger
} = EMPTY_OBJ) {
  if (cb && once2) {
    const _cb = cb;
    cb = (...args) => {
      _cb(...args);
      unwatch();
    };
  }
  if (deep !== void 0 && typeof deep === "number") {
    warn$1(
      `watch() "deep" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage.`
    );
  }
  if (!cb) {
    if (immediate !== void 0) {
      warn$1(
        `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
      );
    }
    if (deep !== void 0) {
      warn$1(
        `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
      );
    }
    if (once2 !== void 0) {
      warn$1(
        `watch() "once" option is only respected when using the watch(source, callback, options?) signature.`
      );
    }
  }
  const warnInvalidSource = (s2) => {
    warn$1(
      `Invalid watch source: `,
      s2,
      `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`
    );
  };
  const instance = currentInstance;
  const reactiveGetter = (source2) => deep === true ? source2 : (
    // for deep: false, only traverse root-level properties
    traverse(source2, deep === false ? 1 : void 0)
  );
  let getter;
  let forceTrigger = false;
  let isMultiSource = false;
  if (isRef(source)) {
    getter = () => source.value;
    forceTrigger = isShallow(source);
  } else if (isReactive(source)) {
    getter = () => reactiveGetter(source);
    forceTrigger = true;
  } else if (isArray(source)) {
    isMultiSource = true;
    forceTrigger = source.some((s2) => isReactive(s2) || isShallow(s2));
    getter = () => source.map((s2) => {
      if (isRef(s2)) {
        return s2.value;
      } else if (isReactive(s2)) {
        return reactiveGetter(s2);
      } else if (isFunction(s2)) {
        return callWithErrorHandling(s2, instance, 2);
      } else {
        warnInvalidSource(s2);
      }
    });
  } else if (isFunction(source)) {
    if (cb) {
      getter = () => callWithErrorHandling(source, instance, 2);
    } else {
      getter = () => {
        if (cleanup) {
          cleanup();
        }
        return callWithAsyncErrorHandling(
          source,
          instance,
          3,
          [onCleanup]
        );
      };
    }
  } else {
    getter = NOOP;
    warnInvalidSource(source);
  }
  if (cb && deep) {
    const baseGetter = getter;
    getter = () => traverse(baseGetter());
  }
  let cleanup;
  let onCleanup = (fn) => {
    cleanup = effect2.onStop = () => {
      callWithErrorHandling(fn, instance, 4);
      cleanup = effect2.onStop = void 0;
    };
  };
  let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;
  const job = () => {
    if (!effect2.active || !effect2.dirty) {
      return;
    }
    if (cb) {
      const newValue = effect2.run();
      if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) {
        if (cleanup) {
          cleanup();
        }
        callWithAsyncErrorHandling(cb, instance, 3, [
          newValue,
          // pass undefined as the old value when it's changed for the first time
          oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,
          onCleanup
        ]);
        oldValue = newValue;
      }
    } else {
      effect2.run();
    }
  };
  job.allowRecurse = !!cb;
  let scheduler;
  if (flush === "sync") {
    scheduler = job;
  } else if (flush === "post") {
    scheduler = () => queuePostRenderEffect$1(job, instance && instance.suspense);
  } else {
    job.pre = true;
    if (instance)
      job.id = instance.uid;
    scheduler = () => queueJob(job);
  }
  const effect2 = new ReactiveEffect2(getter, NOOP, scheduler);
  const scope = getCurrentScope();
  const unwatch = () => {
    effect2.stop();
    if (scope) {
      remove(scope.effects, effect2);
    }
  };
  {
    effect2.onTrack = onTrack;
    effect2.onTrigger = onTrigger;
  }
  if (cb) {
    if (immediate) {
      job();
    } else {
      oldValue = effect2.run();
    }
  } else if (flush === "post") {
    queuePostRenderEffect$1(
      effect2.run.bind(effect2),
      instance && instance.suspense
    );
  } else {
    effect2.run();
  }
  return unwatch;
}
function instanceWatch(source, value, options) {
  const publicThis = this.proxy;
  const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
  let cb;
  if (isFunction(value)) {
    cb = value;
  } else {
    cb = value.handler;
    options = value;
  }
  const reset = setCurrentInstance(this);
  const res = doWatch(getter, cb.bind(publicThis), options);
  reset();
  return res;
}
function createPathGetter(ctx, path) {
  const segments = path.split(".");
  return () => {
    let cur = ctx;
    for (let i = 0; i < segments.length && cur; i++) {
      cur = cur[segments[i]];
    }
    return cur;
  };
}
function traverse(value, depth, currentDepth = 0, seen) {
  if (!isObject$1(value) || value["__v_skip"]) {
    return value;
  }
  if (depth && depth > 0) {
    if (currentDepth >= depth) {
      return value;
    }
    currentDepth++;
  }
  seen = seen || /* @__PURE__ */ new Set();
  if (seen.has(value)) {
    return value;
  }
  seen.add(value);
  if (isRef(value)) {
    traverse(value.value, depth, currentDepth, seen);
  } else if (isArray(value)) {
    for (let i = 0; i < value.length; i++) {
      traverse(value[i], depth, currentDepth, seen);
    }
  } else if (isSet(value) || isMap(value)) {
    value.forEach((v) => {
      traverse(v, depth, currentDepth, seen);
    });
  } else if (isPlainObject(value)) {
    for (const key in value) {
      traverse(value[key], depth, currentDepth, seen);
    }
  }
  return value;
}
function validateDirectiveName(name) {
  if (isBuiltInDirective(name)) {
    warn$1("Do not use built-in directive ids as custom directive id: " + name);
  }
}
function createAppContext() {
  return {
    app: null,
    config: {
      isNativeTag: NO,
      performance: false,
      globalProperties: {},
      optionMergeStrategies: {},
      errorHandler: void 0,
      warnHandler: void 0,
      compilerOptions: {}
    },
    mixins: [],
    components: {},
    directives: {},
    provides: /* @__PURE__ */ Object.create(null),
    optionsCache: /* @__PURE__ */ new WeakMap(),
    propsCache: /* @__PURE__ */ new WeakMap(),
    emitsCache: /* @__PURE__ */ new WeakMap()
  };
}
let uid$1 = 0;
function createAppAPI(render, hydrate) {
  return function createApp2(rootComponent, rootProps = null) {
    if (!isFunction(rootComponent)) {
      rootComponent = extend({}, rootComponent);
    }
    if (rootProps != null && !isObject$1(rootProps)) {
      warn$1(`root props passed to app.mount() must be an object.`);
      rootProps = null;
    }
    const context = createAppContext();
    const installedPlugins = /* @__PURE__ */ new WeakSet();
    const app = context.app = {
      _uid: uid$1++,
      _component: rootComponent,
      _props: rootProps,
      _container: null,
      _context: context,
      _instance: null,
      version,
      get config() {
        return context.config;
      },
      set config(v) {
        {
          warn$1(
            `app.config cannot be replaced. Modify individual options instead.`
          );
        }
      },
      use(plugin2, ...options) {
        if (installedPlugins.has(plugin2)) {
          warn$1(`Plugin has already been applied to target app.`);
        } else if (plugin2 && isFunction(plugin2.install)) {
          installedPlugins.add(plugin2);
          plugin2.install(app, ...options);
        } else if (isFunction(plugin2)) {
          installedPlugins.add(plugin2);
          plugin2(app, ...options);
        } else {
          warn$1(
            `A plugin must either be a function or an object with an "install" function.`
          );
        }
        return app;
      },
      mixin(mixin) {
        {
          if (!context.mixins.includes(mixin)) {
            context.mixins.push(mixin);
          } else {
            warn$1(
              "Mixin has already been applied to target app" + (mixin.name ? `: ${mixin.name}` : "")
            );
          }
        }
        return app;
      },
      component(name, component) {
        {
          validateComponentName(name, context.config);
        }
        if (!component) {
          return context.components[name];
        }
        if (context.components[name]) {
          warn$1(`Component "${name}" has already been registered in target app.`);
        }
        context.components[name] = component;
        return app;
      },
      directive(name, directive) {
        {
          validateDirectiveName(name);
        }
        if (!directive) {
          return context.directives[name];
        }
        if (context.directives[name]) {
          warn$1(`Directive "${name}" has already been registered in target app.`);
        }
        context.directives[name] = directive;
        return app;
      },
      // fixed by xxxxxx
      mount() {
      },
      // fixed by xxxxxx
      unmount() {
      },
      provide(key, value) {
        if (key in context.provides) {
          warn$1(
            `App already provides property with key "${String(key)}". It will be overwritten with the new value.`
          );
        }
        context.provides[key] = value;
        return app;
      },
      runWithContext(fn) {
        const lastApp = currentApp;
        currentApp = app;
        try {
          return fn();
        } finally {
          currentApp = lastApp;
        }
      }
    };
    return app;
  };
}
let currentApp = null;
function provide(key, value) {
  if (!currentInstance) {
    {
      warn$1(`provide() can only be used inside setup().`);
    }
  } else {
    let provides = currentInstance.provides;
    const parentProvides = currentInstance.parent && currentInstance.parent.provides;
    if (parentProvides === provides) {
      provides = currentInstance.provides = Object.create(parentProvides);
    }
    provides[key] = value;
    if (currentInstance.type.mpType === "app") {
      currentInstance.appContext.app.provide(key, value);
    }
  }
}
function inject(key, defaultValue, treatDefaultAsFactory = false) {
  const instance = currentInstance || currentRenderingInstance;
  if (instance || currentApp) {
    const provides = instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : currentApp._context.provides;
    if (provides && key in provides) {
      return provides[key];
    } else if (arguments.length > 1) {
      return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
    } else {
      warn$1(`injection "${String(key)}" not found.`);
    }
  } else {
    warn$1(`inject() can only be used inside setup() or functional components.`);
  }
}
const isKeepAlive = (vnode) => vnode.type.__isKeepAlive;
function onActivated(hook, target) {
  registerKeepAliveHook(hook, "a", target);
}
function onDeactivated(hook, target) {
  registerKeepAliveHook(hook, "da", target);
}
function registerKeepAliveHook(hook, type, target = currentInstance) {
  const wrappedHook = hook.__wdc || (hook.__wdc = () => {
    let current = target;
    while (current) {
      if (current.isDeactivated) {
        return;
      }
      current = current.parent;
    }
    return hook();
  });
  injectHook(type, wrappedHook, target);
  if (target) {
    let current = target.parent;
    while (current && current.parent) {
      if (isKeepAlive(current.parent.vnode)) {
        injectToKeepAliveRoot(wrappedHook, type, target, current);
      }
      current = current.parent;
    }
  }
}
function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {
  const injected = injectHook(
    type,
    hook,
    keepAliveRoot,
    true
    /* prepend */
  );
  onUnmounted(() => {
    remove(keepAliveRoot[type], injected);
  }, target);
}
function injectHook(type, hook, target = currentInstance, prepend = false) {
  if (target) {
    if (isRootHook(type)) {
      target = target.root;
    }
    const hooks = target[type] || (target[type] = []);
    const wrappedHook = hook.__weh || (hook.__weh = (...args) => {
      if (target.isUnmounted) {
        return;
      }
      pauseTracking();
      const reset = setCurrentInstance(target);
      const res = callWithAsyncErrorHandling(hook, target, type, args);
      reset();
      resetTracking();
      return res;
    });
    if (prepend) {
      hooks.unshift(wrappedHook);
    } else {
      hooks.push(wrappedHook);
    }
    return wrappedHook;
  } else {
    const apiName = toHandlerKey(
      (ErrorTypeStrings[type] || type.replace(/^on/, "")).replace(/ hook$/, "")
    );
    warn$1(
      `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().`
    );
  }
}
const createHook$1 = (lifecycle) => (hook, target = currentInstance) => (
  // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)
  (!isInSSRComponentSetup || lifecycle === "sp") && injectHook(lifecycle, (...args) => hook(...args), target)
);
const onBeforeMount = createHook$1("bm");
const onMounted = createHook$1("m");
const onBeforeUpdate = createHook$1("bu");
const onUpdated = createHook$1("u");
const onBeforeUnmount = createHook$1("bum");
const onUnmounted = createHook$1("um");
const onServerPrefetch = createHook$1("sp");
const onRenderTriggered = createHook$1(
  "rtg"
);
const onRenderTracked = createHook$1(
  "rtc"
);
function onErrorCaptured(hook, target = currentInstance) {
  injectHook("ec", hook, target);
}
const getPublicInstance = (i) => {
  if (!i)
    return null;
  if (isStatefulComponent(i))
    return getExposeProxy(i) || i.proxy;
  return getPublicInstance(i.parent);
};
const publicPropertiesMap = (
  // Move PURE marker to new line to workaround compiler discarding it
  // due to type annotation
  /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {
    $: (i) => i,
    // fixed by xxxxxx vue-i18n 在 dev 模式，访问了 $el，故模拟一个假的
    // $el: i => i.vnode.el,
    $el: (i) => i.__$el || (i.__$el = {}),
    $data: (i) => i.data,
    $props: (i) => shallowReadonly(i.props),
    $attrs: (i) => shallowReadonly(i.attrs),
    $slots: (i) => shallowReadonly(i.slots),
    $refs: (i) => shallowReadonly(i.refs),
    $parent: (i) => getPublicInstance(i.parent),
    $root: (i) => getPublicInstance(i.root),
    $emit: (i) => i.emit,
    $options: (i) => resolveMergedOptions(i),
    $forceUpdate: (i) => i.f || (i.f = () => {
      i.effect.dirty = true;
      queueJob(i.update);
    }),
    // $nextTick: i => i.n || (i.n = nextTick.bind(i.proxy!)),// fixed by xxxxxx
    $watch: (i) => instanceWatch.bind(i)
  })
);
const isReservedPrefix = (key) => key === "_" || key === "$";
const hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn$1(state, key);
const PublicInstanceProxyHandlers = {
  get({ _: instance }, key) {
    const { ctx, setupState, data, props, accessCache, type, appContext } = instance;
    if (key === "__isVue") {
      return true;
    }
    let normalizedProps;
    if (key[0] !== "$") {
      const n2 = accessCache[key];
      if (n2 !== void 0) {
        switch (n2) {
          case 1:
            return setupState[key];
          case 2:
            return data[key];
          case 4:
            return ctx[key];
          case 3:
            return props[key];
        }
      } else if (hasSetupBinding(setupState, key)) {
        accessCache[key] = 1;
        return setupState[key];
      } else if (data !== EMPTY_OBJ && hasOwn$1(data, key)) {
        accessCache[key] = 2;
        return data[key];
      } else if (
        // only cache other properties when instance has declared (thus stable)
        // props
        (normalizedProps = instance.propsOptions[0]) && hasOwn$1(normalizedProps, key)
      ) {
        accessCache[key] = 3;
        return props[key];
      } else if (ctx !== EMPTY_OBJ && hasOwn$1(ctx, key)) {
        accessCache[key] = 4;
        return ctx[key];
      } else if (shouldCacheAccess) {
        accessCache[key] = 0;
      }
    }
    const publicGetter = publicPropertiesMap[key];
    let cssModule, globalProperties;
    if (publicGetter) {
      if (key === "$attrs") {
        track(instance, "get", key);
      } else if (key === "$slots") {
        track(instance, "get", key);
      }
      return publicGetter(instance);
    } else if (
      // css module (injected by vue-loader)
      (cssModule = type.__cssModules) && (cssModule = cssModule[key])
    ) {
      return cssModule;
    } else if (ctx !== EMPTY_OBJ && hasOwn$1(ctx, key)) {
      accessCache[key] = 4;
      return ctx[key];
    } else if (
      // global properties
      globalProperties = appContext.config.globalProperties, hasOwn$1(globalProperties, key)
    ) {
      {
        return globalProperties[key];
      }
    } else if (currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading
    // to infinite warning loop
    key.indexOf("__v") !== 0)) {
      if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn$1(data, key)) {
        warn$1(
          `Property ${JSON.stringify(
            key
          )} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`
        );
      } else if (instance === currentRenderingInstance) {
        warn$1(
          `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`
        );
      }
    }
  },
  set({ _: instance }, key, value) {
    const { data, setupState, ctx } = instance;
    if (hasSetupBinding(setupState, key)) {
      setupState[key] = value;
      return true;
    } else if (setupState.__isScriptSetup && hasOwn$1(setupState, key)) {
      warn$1(`Cannot mutate <script setup> binding "${key}" from Options API.`);
      return false;
    } else if (data !== EMPTY_OBJ && hasOwn$1(data, key)) {
      data[key] = value;
      return true;
    } else if (hasOwn$1(instance.props, key)) {
      warn$1(`Attempting to mutate prop "${key}". Props are readonly.`);
      return false;
    }
    if (key[0] === "$" && key.slice(1) in instance) {
      warn$1(
        `Attempting to mutate public property "${key}". Properties starting with $ are reserved and readonly.`
      );
      return false;
    } else {
      if (key in instance.appContext.config.globalProperties) {
        Object.defineProperty(ctx, key, {
          enumerable: true,
          configurable: true,
          value
        });
      } else {
        ctx[key] = value;
      }
    }
    return true;
  },
  has({
    _: { data, setupState, accessCache, ctx, appContext, propsOptions }
  }, key) {
    let normalizedProps;
    return !!accessCache[key] || data !== EMPTY_OBJ && hasOwn$1(data, key) || hasSetupBinding(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn$1(normalizedProps, key) || hasOwn$1(ctx, key) || hasOwn$1(publicPropertiesMap, key) || hasOwn$1(appContext.config.globalProperties, key);
  },
  defineProperty(target, key, descriptor) {
    if (descriptor.get != null) {
      target._.accessCache[key] = 0;
    } else if (hasOwn$1(descriptor, "value")) {
      this.set(target, key, descriptor.value, null);
    }
    return Reflect.defineProperty(target, key, descriptor);
  }
};
{
  PublicInstanceProxyHandlers.ownKeys = (target) => {
    warn$1(
      `Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.`
    );
    return Reflect.ownKeys(target);
  };
}
function createDevRenderContext(instance) {
  const target = {};
  Object.defineProperty(target, `_`, {
    configurable: true,
    enumerable: false,
    get: () => instance
  });
  Object.keys(publicPropertiesMap).forEach((key) => {
    Object.defineProperty(target, key, {
      configurable: true,
      enumerable: false,
      get: () => publicPropertiesMap[key](instance),
      // intercepted by the proxy so no need for implementation,
      // but needed to prevent set errors
      set: NOOP
    });
  });
  return target;
}
function exposePropsOnRenderContext(instance) {
  const {
    ctx,
    propsOptions: [propsOptions]
  } = instance;
  if (propsOptions) {
    Object.keys(propsOptions).forEach((key) => {
      Object.defineProperty(ctx, key, {
        enumerable: true,
        configurable: true,
        get: () => instance.props[key],
        set: NOOP
      });
    });
  }
}
function exposeSetupStateOnRenderContext(instance) {
  const { ctx, setupState } = instance;
  Object.keys(toRaw(setupState)).forEach((key) => {
    if (!setupState.__isScriptSetup) {
      if (isReservedPrefix(key[0])) {
        warn$1(
          `setup() return property ${JSON.stringify(
            key
          )} should not start with "$" or "_" which are reserved prefixes for Vue internals.`
        );
        return;
      }
      Object.defineProperty(ctx, key, {
        enumerable: true,
        configurable: true,
        get: () => setupState[key],
        set: NOOP
      });
    }
  });
}
function normalizePropsOrEmits(props) {
  return isArray(props) ? props.reduce(
    (normalized, p2) => (normalized[p2] = null, normalized),
    {}
  ) : props;
}
function createDuplicateChecker() {
  const cache = /* @__PURE__ */ Object.create(null);
  return (type, key) => {
    if (cache[key]) {
      warn$1(`${type} property "${key}" is already defined in ${cache[key]}.`);
    } else {
      cache[key] = type;
    }
  };
}
let shouldCacheAccess = true;
function applyOptions$1(instance) {
  const options = resolveMergedOptions(instance);
  const publicThis = instance.proxy;
  const ctx = instance.ctx;
  shouldCacheAccess = false;
  if (options.beforeCreate) {
    callHook$1(options.beforeCreate, instance, "bc");
  }
  const {
    // state
    data: dataOptions,
    computed: computedOptions,
    methods,
    watch: watchOptions,
    provide: provideOptions,
    inject: injectOptions,
    // lifecycle
    created,
    beforeMount,
    mounted,
    beforeUpdate,
    updated,
    activated,
    deactivated,
    beforeDestroy,
    beforeUnmount,
    destroyed,
    unmounted,
    render,
    renderTracked,
    renderTriggered,
    errorCaptured,
    serverPrefetch,
    // public API
    expose,
    inheritAttrs,
    // assets
    components,
    directives,
    filters
  } = options;
  const checkDuplicateProperties = createDuplicateChecker();
  {
    const [propsOptions] = instance.propsOptions;
    if (propsOptions) {
      for (const key in propsOptions) {
        checkDuplicateProperties("Props", key);
      }
    }
  }
  if (injectOptions) {
    resolveInjections(injectOptions, ctx, checkDuplicateProperties);
  }
  if (methods) {
    for (const key in methods) {
      const methodHandler = methods[key];
      if (isFunction(methodHandler)) {
        {
          Object.defineProperty(ctx, key, {
            value: methodHandler.bind(publicThis),
            configurable: true,
            enumerable: true,
            writable: true
          });
        }
        {
          checkDuplicateProperties("Methods", key);
        }
      } else {
        warn$1(
          `Method "${key}" has type "${typeof methodHandler}" in the component definition. Did you reference the function correctly?`
        );
      }
    }
  }
  if (dataOptions) {
    if (!isFunction(dataOptions)) {
      warn$1(
        `The data option must be a function. Plain object usage is no longer supported.`
      );
    }
    const data = dataOptions.call(publicThis, publicThis);
    if (isPromise(data)) {
      warn$1(
        `data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>.`
      );
    }
    if (!isObject$1(data)) {
      warn$1(`data() should return an object.`);
    } else {
      instance.data = reactive(data);
      {
        for (const key in data) {
          checkDuplicateProperties("Data", key);
          if (!isReservedPrefix(key[0])) {
            Object.defineProperty(ctx, key, {
              configurable: true,
              enumerable: true,
              get: () => data[key],
              set: NOOP
            });
          }
        }
      }
    }
  }
  shouldCacheAccess = true;
  if (computedOptions) {
    for (const key in computedOptions) {
      const opt = computedOptions[key];
      const get2 = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;
      if (get2 === NOOP) {
        warn$1(`Computed property "${key}" has no getter.`);
      }
      const set2 = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : () => {
        warn$1(
          `Write operation failed: computed property "${key}" is readonly.`
        );
      };
      const c2 = computed({
        get: get2,
        set: set2
      });
      Object.defineProperty(ctx, key, {
        enumerable: true,
        configurable: true,
        get: () => c2.value,
        set: (v) => c2.value = v
      });
      {
        checkDuplicateProperties("Computed", key);
      }
    }
  }
  if (watchOptions) {
    for (const key in watchOptions) {
      createWatcher(watchOptions[key], ctx, publicThis, key);
    }
  }
  {
    if (provideOptions) {
      const provides = isFunction(provideOptions) ? provideOptions.call(publicThis) : provideOptions;
      Reflect.ownKeys(provides).forEach((key) => {
        provide(key, provides[key]);
      });
    }
  }
  {
    if (created) {
      callHook$1(created, instance, "c");
    }
  }
  function registerLifecycleHook(register, hook) {
    if (isArray(hook)) {
      hook.forEach((_hook) => register(_hook.bind(publicThis)));
    } else if (hook) {
      register(hook.bind(publicThis));
    }
  }
  registerLifecycleHook(onBeforeMount, beforeMount);
  registerLifecycleHook(onMounted, mounted);
  registerLifecycleHook(onBeforeUpdate, beforeUpdate);
  registerLifecycleHook(onUpdated, updated);
  registerLifecycleHook(onActivated, activated);
  registerLifecycleHook(onDeactivated, deactivated);
  registerLifecycleHook(onErrorCaptured, errorCaptured);
  registerLifecycleHook(onRenderTracked, renderTracked);
  registerLifecycleHook(onRenderTriggered, renderTriggered);
  registerLifecycleHook(onBeforeUnmount, beforeUnmount);
  registerLifecycleHook(onUnmounted, unmounted);
  registerLifecycleHook(onServerPrefetch, serverPrefetch);
  if (isArray(expose)) {
    if (expose.length) {
      const exposed = instance.exposed || (instance.exposed = {});
      expose.forEach((key) => {
        Object.defineProperty(exposed, key, {
          get: () => publicThis[key],
          set: (val) => publicThis[key] = val
        });
      });
    } else if (!instance.exposed) {
      instance.exposed = {};
    }
  }
  if (render && instance.render === NOOP) {
    instance.render = render;
  }
  if (inheritAttrs != null) {
    instance.inheritAttrs = inheritAttrs;
  }
  if (components)
    instance.components = components;
  if (directives)
    instance.directives = directives;
  if (instance.ctx.$onApplyOptions) {
    instance.ctx.$onApplyOptions(options, instance, publicThis);
  }
}
function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP) {
  if (isArray(injectOptions)) {
    injectOptions = normalizeInject(injectOptions);
  }
  for (const key in injectOptions) {
    const opt = injectOptions[key];
    let injected;
    if (isObject$1(opt)) {
      if ("default" in opt) {
        injected = inject(
          opt.from || key,
          opt.default,
          true
        );
      } else {
        injected = inject(opt.from || key);
      }
    } else {
      injected = inject(opt);
    }
    if (isRef(injected)) {
      Object.defineProperty(ctx, key, {
        enumerable: true,
        configurable: true,
        get: () => injected.value,
        set: (v) => injected.value = v
      });
    } else {
      ctx[key] = injected;
    }
    {
      checkDuplicateProperties("Inject", key);
    }
  }
}
function callHook$1(hook, instance, type) {
  callWithAsyncErrorHandling(
    isArray(hook) ? hook.map((h2) => h2.bind(instance.proxy)) : hook.bind(instance.proxy),
    instance,
    type
  );
}
function createWatcher(raw, ctx, publicThis, key) {
  const getter = key.includes(".") ? createPathGetter(publicThis, key) : () => publicThis[key];
  if (isString(raw)) {
    const handler = ctx[raw];
    if (isFunction(handler)) {
      watch(getter, handler);
    } else {
      warn$1(`Invalid watch handler specified by key "${raw}"`, handler);
    }
  } else if (isFunction(raw)) {
    watch(getter, raw.bind(publicThis));
  } else if (isObject$1(raw)) {
    if (isArray(raw)) {
      raw.forEach((r2) => createWatcher(r2, ctx, publicThis, key));
    } else {
      const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];
      if (isFunction(handler)) {
        watch(getter, handler, raw);
      } else {
        warn$1(`Invalid watch handler specified by key "${raw.handler}"`, handler);
      }
    }
  } else {
    warn$1(`Invalid watch option: "${key}"`, raw);
  }
}
function resolveMergedOptions(instance) {
  const base = instance.type;
  const { mixins, extends: extendsOptions } = base;
  const {
    mixins: globalMixins,
    optionsCache: cache,
    config: { optionMergeStrategies }
  } = instance.appContext;
  const cached = cache.get(base);
  let resolved;
  if (cached) {
    resolved = cached;
  } else if (!globalMixins.length && !mixins && !extendsOptions) {
    {
      resolved = base;
    }
  } else {
    resolved = {};
    if (globalMixins.length) {
      globalMixins.forEach(
        (m2) => mergeOptions(resolved, m2, optionMergeStrategies, true)
      );
    }
    mergeOptions(resolved, base, optionMergeStrategies);
  }
  if (isObject$1(base)) {
    cache.set(base, resolved);
  }
  return resolved;
}
function mergeOptions(to, from, strats, asMixin = false) {
  const { mixins, extends: extendsOptions } = from;
  if (extendsOptions) {
    mergeOptions(to, extendsOptions, strats, true);
  }
  if (mixins) {
    mixins.forEach(
      (m2) => mergeOptions(to, m2, strats, true)
    );
  }
  for (const key in from) {
    if (asMixin && key === "expose") {
      warn$1(
        `"expose" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.`
      );
    } else {
      const strat = internalOptionMergeStrats[key] || strats && strats[key];
      to[key] = strat ? strat(to[key], from[key]) : from[key];
    }
  }
  return to;
}
const internalOptionMergeStrats = {
  data: mergeDataFn,
  props: mergeEmitsOrPropsOptions,
  emits: mergeEmitsOrPropsOptions,
  // objects
  methods: mergeObjectOptions,
  computed: mergeObjectOptions,
  // lifecycle
  beforeCreate: mergeAsArray$1,
  created: mergeAsArray$1,
  beforeMount: mergeAsArray$1,
  mounted: mergeAsArray$1,
  beforeUpdate: mergeAsArray$1,
  updated: mergeAsArray$1,
  beforeDestroy: mergeAsArray$1,
  beforeUnmount: mergeAsArray$1,
  destroyed: mergeAsArray$1,
  unmounted: mergeAsArray$1,
  activated: mergeAsArray$1,
  deactivated: mergeAsArray$1,
  errorCaptured: mergeAsArray$1,
  serverPrefetch: mergeAsArray$1,
  // assets
  components: mergeObjectOptions,
  directives: mergeObjectOptions,
  // watch
  watch: mergeWatchOptions,
  // provide / inject
  provide: mergeDataFn,
  inject: mergeInject
};
function mergeDataFn(to, from) {
  if (!from) {
    return to;
  }
  if (!to) {
    return from;
  }
  return function mergedDataFn() {
    return extend(
      isFunction(to) ? to.call(this, this) : to,
      isFunction(from) ? from.call(this, this) : from
    );
  };
}
function mergeInject(to, from) {
  return mergeObjectOptions(normalizeInject(to), normalizeInject(from));
}
function normalizeInject(raw) {
  if (isArray(raw)) {
    const res = {};
    for (let i = 0; i < raw.length; i++) {
      res[raw[i]] = raw[i];
    }
    return res;
  }
  return raw;
}
function mergeAsArray$1(to, from) {
  return to ? [...new Set([].concat(to, from))] : from;
}
function mergeObjectOptions(to, from) {
  return to ? extend(/* @__PURE__ */ Object.create(null), to, from) : from;
}
function mergeEmitsOrPropsOptions(to, from) {
  if (to) {
    if (isArray(to) && isArray(from)) {
      return [.../* @__PURE__ */ new Set([...to, ...from])];
    }
    return extend(
      /* @__PURE__ */ Object.create(null),
      normalizePropsOrEmits(to),
      normalizePropsOrEmits(from != null ? from : {})
    );
  } else {
    return from;
  }
}
function mergeWatchOptions(to, from) {
  if (!to)
    return from;
  if (!from)
    return to;
  const merged = extend(/* @__PURE__ */ Object.create(null), to);
  for (const key in from) {
    merged[key] = mergeAsArray$1(to[key], from[key]);
  }
  return merged;
}
function initProps$1(instance, rawProps, isStateful, isSSR = false) {
  const props = {};
  const attrs = {};
  instance.propsDefaults = /* @__PURE__ */ Object.create(null);
  setFullProps(instance, rawProps, props, attrs);
  for (const key in instance.propsOptions[0]) {
    if (!(key in props)) {
      props[key] = void 0;
    }
  }
  {
    validateProps(rawProps || {}, props, instance);
  }
  if (isStateful) {
    instance.props = isSSR ? props : shallowReactive(props);
  } else {
    if (!instance.type.props) {
      instance.props = attrs;
    } else {
      instance.props = props;
    }
  }
  instance.attrs = attrs;
}
function isInHmrContext(instance) {
  while (instance) {
    if (instance.type.__hmrId)
      return true;
    instance = instance.parent;
  }
}
function updateProps(instance, rawProps, rawPrevProps, optimized) {
  const {
    props,
    attrs,
    vnode: { patchFlag }
  } = instance;
  const rawCurrentProps = toRaw(props);
  const [options] = instance.propsOptions;
  let hasAttrsChanged = false;
  if (
    // always force full diff in dev
    // - #1942 if hmr is enabled with sfc component
    // - vite#872 non-sfc component used by sfc component
    !isInHmrContext(instance) && (optimized || patchFlag > 0) && !(patchFlag & 16)
  ) {
    if (patchFlag & 8) {
      const propsToUpdate = instance.vnode.dynamicProps;
      for (let i = 0; i < propsToUpdate.length; i++) {
        let key = propsToUpdate[i];
        if (isEmitListener(instance.emitsOptions, key)) {
          continue;
        }
        const value = rawProps[key];
        if (options) {
          if (hasOwn$1(attrs, key)) {
            if (value !== attrs[key]) {
              attrs[key] = value;
              hasAttrsChanged = true;
            }
          } else {
            const camelizedKey = camelize(key);
            props[camelizedKey] = resolvePropValue(
              options,
              rawCurrentProps,
              camelizedKey,
              value,
              instance,
              false
            );
          }
        } else {
          if (value !== attrs[key]) {
            attrs[key] = value;
            hasAttrsChanged = true;
          }
        }
      }
    }
  } else {
    if (setFullProps(instance, rawProps, props, attrs)) {
      hasAttrsChanged = true;
    }
    let kebabKey;
    for (const key in rawCurrentProps) {
      if (!rawProps || // for camelCase
      !hasOwn$1(rawProps, key) && // it's possible the original props was passed in as kebab-case
      // and converted to camelCase (#955)
      ((kebabKey = hyphenate(key)) === key || !hasOwn$1(rawProps, kebabKey))) {
        if (options) {
          if (rawPrevProps && // for camelCase
          (rawPrevProps[key] !== void 0 || // for kebab-case
          rawPrevProps[kebabKey] !== void 0)) {
            props[key] = resolvePropValue(
              options,
              rawCurrentProps,
              key,
              void 0,
              instance,
              true
            );
          }
        } else {
          delete props[key];
        }
      }
    }
    if (attrs !== rawCurrentProps) {
      for (const key in attrs) {
        if (!rawProps || !hasOwn$1(rawProps, key) && true) {
          delete attrs[key];
          hasAttrsChanged = true;
        }
      }
    }
  }
  if (hasAttrsChanged) {
    trigger(instance, "set", "$attrs");
  }
  {
    validateProps(rawProps || {}, props, instance);
  }
}
function setFullProps(instance, rawProps, props, attrs) {
  const [options, needCastKeys] = instance.propsOptions;
  let hasAttrsChanged = false;
  let rawCastValues;
  if (rawProps) {
    for (let key in rawProps) {
      if (isReservedProp(key)) {
        continue;
      }
      const value = rawProps[key];
      let camelKey;
      if (options && hasOwn$1(options, camelKey = camelize(key))) {
        if (!needCastKeys || !needCastKeys.includes(camelKey)) {
          props[camelKey] = value;
        } else {
          (rawCastValues || (rawCastValues = {}))[camelKey] = value;
        }
      } else if (!isEmitListener(instance.emitsOptions, key)) {
        if (!(key in attrs) || value !== attrs[key]) {
          attrs[key] = value;
          hasAttrsChanged = true;
        }
      }
    }
  }
  if (needCastKeys) {
    const rawCurrentProps = toRaw(props);
    const castValues = rawCastValues || EMPTY_OBJ;
    for (let i = 0; i < needCastKeys.length; i++) {
      const key = needCastKeys[i];
      props[key] = resolvePropValue(
        options,
        rawCurrentProps,
        key,
        castValues[key],
        instance,
        !hasOwn$1(castValues, key)
      );
    }
  }
  return hasAttrsChanged;
}
function resolvePropValue(options, props, key, value, instance, isAbsent) {
  const opt = options[key];
  if (opt != null) {
    const hasDefault = hasOwn$1(opt, "default");
    if (hasDefault && value === void 0) {
      const defaultValue = opt.default;
      if (opt.type !== Function && !opt.skipFactory && isFunction(defaultValue)) {
        const { propsDefaults } = instance;
        if (key in propsDefaults) {
          value = propsDefaults[key];
        } else {
          const reset = setCurrentInstance(instance);
          value = propsDefaults[key] = defaultValue.call(
            null,
            props
          );
          reset();
        }
      } else {
        value = defaultValue;
      }
    }
    if (opt[
      0
      /* shouldCast */
    ]) {
      if (isAbsent && !hasDefault) {
        value = false;
      } else if (opt[
        1
        /* shouldCastTrue */
      ] && (value === "" || value === hyphenate(key))) {
        value = true;
      }
    }
  }
  return value;
}
function normalizePropsOptions(comp, appContext, asMixin = false) {
  const cache = appContext.propsCache;
  const cached = cache.get(comp);
  if (cached) {
    return cached;
  }
  const raw = comp.props;
  const normalized = {};
  const needCastKeys = [];
  let hasExtends = false;
  if (!isFunction(comp)) {
    const extendProps = (raw2) => {
      hasExtends = true;
      const [props, keys] = normalizePropsOptions(raw2, appContext, true);
      extend(normalized, props);
      if (keys)
        needCastKeys.push(...keys);
    };
    if (!asMixin && appContext.mixins.length) {
      appContext.mixins.forEach(extendProps);
    }
    if (comp.extends) {
      extendProps(comp.extends);
    }
    if (comp.mixins) {
      comp.mixins.forEach(extendProps);
    }
  }
  if (!raw && !hasExtends) {
    if (isObject$1(comp)) {
      cache.set(comp, EMPTY_ARR);
    }
    return EMPTY_ARR;
  }
  if (isArray(raw)) {
    for (let i = 0; i < raw.length; i++) {
      if (!isString(raw[i])) {
        warn$1(`props must be strings when using array syntax.`, raw[i]);
      }
      const normalizedKey = camelize(raw[i]);
      if (validatePropName(normalizedKey)) {
        normalized[normalizedKey] = EMPTY_OBJ;
      }
    }
  } else if (raw) {
    if (!isObject$1(raw)) {
      warn$1(`invalid props options`, raw);
    }
    for (const key in raw) {
      const normalizedKey = camelize(key);
      if (validatePropName(normalizedKey)) {
        const opt = raw[key];
        const prop = normalized[normalizedKey] = isArray(opt) || isFunction(opt) ? { type: opt } : extend({}, opt);
        if (prop) {
          const booleanIndex = getTypeIndex(Boolean, prop.type);
          const stringIndex = getTypeIndex(String, prop.type);
          prop[
            0
            /* shouldCast */
          ] = booleanIndex > -1;
          prop[
            1
            /* shouldCastTrue */
          ] = stringIndex < 0 || booleanIndex < stringIndex;
          if (booleanIndex > -1 || hasOwn$1(prop, "default")) {
            needCastKeys.push(normalizedKey);
          }
        }
      }
    }
  }
  const res = [normalized, needCastKeys];
  if (isObject$1(comp)) {
    cache.set(comp, res);
  }
  return res;
}
function validatePropName(key) {
  if (key[0] !== "$" && !isReservedProp(key)) {
    return true;
  } else {
    warn$1(`Invalid prop name: "${key}" is a reserved property.`);
  }
  return false;
}
function getType(ctor) {
  if (ctor === null) {
    return "null";
  }
  if (typeof ctor === "function") {
    return ctor.name || "";
  } else if (typeof ctor === "object") {
    const name = ctor.constructor && ctor.constructor.name;
    return name || "";
  }
  return "";
}
function isSameType(a, b) {
  return getType(a) === getType(b);
}
function getTypeIndex(type, expectedTypes) {
  if (isArray(expectedTypes)) {
    return expectedTypes.findIndex((t2) => isSameType(t2, type));
  } else if (isFunction(expectedTypes)) {
    return isSameType(expectedTypes, type) ? 0 : -1;
  }
  return -1;
}
function validateProps(rawProps, props, instance) {
  const resolvedValues = toRaw(props);
  const options = instance.propsOptions[0];
  for (const key in options) {
    let opt = options[key];
    if (opt == null)
      continue;
    validateProp(
      key,
      resolvedValues[key],
      opt,
      shallowReadonly(resolvedValues),
      !hasOwn$1(rawProps, key) && !hasOwn$1(rawProps, hyphenate(key))
    );
  }
}
function validateProp(name, value, prop, props, isAbsent) {
  const { type, required, validator, skipCheck } = prop;
  if (required && isAbsent) {
    warn$1('Missing required prop: "' + name + '"');
    return;
  }
  if (value == null && !required) {
    return;
  }
  if (type != null && type !== true && !skipCheck) {
    let isValid = false;
    const types = isArray(type) ? type : [type];
    const expectedTypes = [];
    for (let i = 0; i < types.length && !isValid; i++) {
      const { valid, expectedType } = assertType(value, types[i]);
      expectedTypes.push(expectedType || "");
      isValid = valid;
    }
    if (!isValid) {
      warn$1(getInvalidTypeMessage(name, value, expectedTypes));
      return;
    }
  }
  if (validator && !validator(value, props)) {
    warn$1('Invalid prop: custom validator check failed for prop "' + name + '".');
  }
}
const isSimpleType = /* @__PURE__ */ makeMap(
  "String,Number,Boolean,Function,Symbol,BigInt"
);
function assertType(value, type) {
  let valid;
  const expectedType = getType(type);
  if (isSimpleType(expectedType)) {
    const t2 = typeof value;
    valid = t2 === expectedType.toLowerCase();
    if (!valid && t2 === "object") {
      valid = value instanceof type;
    }
  } else if (expectedType === "Object") {
    valid = isObject$1(value);
  } else if (expectedType === "Array") {
    valid = isArray(value);
  } else if (expectedType === "null") {
    valid = value === null;
  } else {
    valid = value instanceof type;
  }
  return {
    valid,
    expectedType
  };
}
function getInvalidTypeMessage(name, value, expectedTypes) {
  if (expectedTypes.length === 0) {
    return `Prop type [] for prop "${name}" won't match anything. Did you mean to use type Array instead?`;
  }
  let message = `Invalid prop: type check failed for prop "${name}". Expected ${expectedTypes.map(capitalize).join(" | ")}`;
  const expectedType = expectedTypes[0];
  const receivedType = toRawType(value);
  const expectedValue = styleValue(value, expectedType);
  const receivedValue = styleValue(value, receivedType);
  if (expectedTypes.length === 1 && isExplicable(expectedType) && !isBoolean(expectedType, receivedType)) {
    message += ` with value ${expectedValue}`;
  }
  message += `, got ${receivedType} `;
  if (isExplicable(receivedType)) {
    message += `with value ${receivedValue}.`;
  }
  return message;
}
function styleValue(value, type) {
  if (type === "String") {
    return `"${value}"`;
  } else if (type === "Number") {
    return `${Number(value)}`;
  } else {
    return `${value}`;
  }
}
function isExplicable(type) {
  const explicitTypes = ["string", "number", "boolean"];
  return explicitTypes.some((elem) => type.toLowerCase() === elem);
}
function isBoolean(...args) {
  return args.some((elem) => elem.toLowerCase() === "boolean");
}
let supported;
let perf;
function startMeasure(instance, type) {
  if (instance.appContext.config.performance && isSupported()) {
    perf.mark(`vue-${type}-${instance.uid}`);
  }
  {
    devtoolsPerfStart(instance, type, isSupported() ? perf.now() : Date.now());
  }
}
function endMeasure(instance, type) {
  if (instance.appContext.config.performance && isSupported()) {
    const startTag = `vue-${type}-${instance.uid}`;
    const endTag = startTag + `:end`;
    perf.mark(endTag);
    perf.measure(
      `<${formatComponentName(instance, instance.type)}> ${type}`,
      startTag,
      endTag
    );
    perf.clearMarks(startTag);
    perf.clearMarks(endTag);
  }
  {
    devtoolsPerfEnd(instance, type, isSupported() ? perf.now() : Date.now());
  }
}
function isSupported() {
  if (supported !== void 0) {
    return supported;
  }
  if (typeof window !== "undefined" && window.performance) {
    supported = true;
    perf = window.performance;
  } else {
    supported = false;
  }
  return supported;
}
const queuePostRenderEffect$1 = queuePostFlushCb;
const Fragment = Symbol.for("v-fgt");
const Text = Symbol.for("v-txt");
const Comment = Symbol.for("v-cmt");
const Static = Symbol.for("v-stc");
function isVNode(value) {
  return value ? value.__v_isVNode === true : false;
}
const InternalObjectKey = `__vInternal`;
function guardReactiveProps(props) {
  if (!props)
    return null;
  return isProxy(props) || InternalObjectKey in props ? extend({}, props) : props;
}
const emptyAppContext = createAppContext();
let uid = 0;
function createComponentInstance(vnode, parent, suspense) {
  const type = vnode.type;
  const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;
  const instance = {
    uid: uid++,
    vnode,
    type,
    parent,
    appContext,
    root: null,
    // to be immediately set
    next: null,
    subTree: null,
    // will be set synchronously right after creation
    effect: null,
    update: null,
    // will be set synchronously right after creation
    scope: new EffectScope(
      true
      /* detached */
    ),
    render: null,
    proxy: null,
    exposed: null,
    exposeProxy: null,
    withProxy: null,
    provides: parent ? parent.provides : Object.create(appContext.provides),
    accessCache: null,
    renderCache: [],
    // local resolved assets
    components: null,
    directives: null,
    // resolved props and emits options
    propsOptions: normalizePropsOptions(type, appContext),
    emitsOptions: normalizeEmitsOptions(type, appContext),
    // emit
    emit: null,
    // to be set immediately
    emitted: null,
    // props default value
    propsDefaults: EMPTY_OBJ,
    // inheritAttrs
    inheritAttrs: type.inheritAttrs,
    // state
    ctx: EMPTY_OBJ,
    data: EMPTY_OBJ,
    props: EMPTY_OBJ,
    attrs: EMPTY_OBJ,
    slots: EMPTY_OBJ,
    refs: EMPTY_OBJ,
    setupState: EMPTY_OBJ,
    setupContext: null,
    attrsProxy: null,
    slotsProxy: null,
    // suspense related
    suspense,
    suspenseId: suspense ? suspense.pendingId : 0,
    asyncDep: null,
    asyncResolved: false,
    // lifecycle hooks
    // not using enums here because it results in computed properties
    isMounted: false,
    isUnmounted: false,
    isDeactivated: false,
    bc: null,
    c: null,
    bm: null,
    m: null,
    bu: null,
    u: null,
    um: null,
    bum: null,
    da: null,
    a: null,
    rtg: null,
    rtc: null,
    ec: null,
    sp: null
  };
  {
    instance.ctx = createDevRenderContext(instance);
  }
  instance.root = parent ? parent.root : instance;
  instance.emit = emit.bind(null, instance);
  if (vnode.ce) {
    vnode.ce(instance);
  }
  return instance;
}
let currentInstance = null;
const getCurrentInstance = () => currentInstance || currentRenderingInstance;
let internalSetCurrentInstance;
let setInSSRSetupState;
{
  internalSetCurrentInstance = (i) => {
    currentInstance = i;
  };
  setInSSRSetupState = (v) => {
    isInSSRComponentSetup = v;
  };
}
const setCurrentInstance = (instance) => {
  const prev = currentInstance;
  internalSetCurrentInstance(instance);
  instance.scope.on();
  return () => {
    instance.scope.off();
    internalSetCurrentInstance(prev);
  };
};
const unsetCurrentInstance = () => {
  currentInstance && currentInstance.scope.off();
  internalSetCurrentInstance(null);
};
const isBuiltInTag = /* @__PURE__ */ makeMap("slot,component");
function validateComponentName(name, { isNativeTag }) {
  if (isBuiltInTag(name) || isNativeTag(name)) {
    warn$1(
      "Do not use built-in or reserved HTML elements as component id: " + name
    );
  }
}
function isStatefulComponent(instance) {
  return instance.vnode.shapeFlag & 4;
}
let isInSSRComponentSetup = false;
function setupComponent(instance, isSSR = false) {
  isSSR && setInSSRSetupState(isSSR);
  const {
    props
    /*, children*/
  } = instance.vnode;
  const isStateful = isStatefulComponent(instance);
  initProps$1(instance, props, isStateful, isSSR);
  const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;
  isSSR && setInSSRSetupState(false);
  return setupResult;
}
function setupStatefulComponent(instance, isSSR) {
  const Component2 = instance.type;
  {
    if (Component2.name) {
      validateComponentName(Component2.name, instance.appContext.config);
    }
    if (Component2.components) {
      const names = Object.keys(Component2.components);
      for (let i = 0; i < names.length; i++) {
        validateComponentName(names[i], instance.appContext.config);
      }
    }
    if (Component2.directives) {
      const names = Object.keys(Component2.directives);
      for (let i = 0; i < names.length; i++) {
        validateDirectiveName(names[i]);
      }
    }
    if (Component2.compilerOptions && isRuntimeOnly()) {
      warn$1(
        `"compilerOptions" is only supported when using a build of Vue that includes the runtime compiler. Since you are using a runtime-only build, the options should be passed via your build tool config instead.`
      );
    }
  }
  instance.accessCache = /* @__PURE__ */ Object.create(null);
  instance.proxy = markRaw(new Proxy(instance.ctx, PublicInstanceProxyHandlers));
  {
    exposePropsOnRenderContext(instance);
  }
  const { setup } = Component2;
  if (setup) {
    const setupContext = instance.setupContext = setup.length > 1 ? createSetupContext(instance) : null;
    const reset = setCurrentInstance(instance);
    pauseTracking();
    const setupResult = callWithErrorHandling(
      setup,
      instance,
      0,
      [
        shallowReadonly(instance.props),
        setupContext
      ]
    );
    resetTracking();
    reset();
    if (isPromise(setupResult)) {
      setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
      {
        warn$1(
          `setup() returned a Promise, but the version of Vue you are using does not support it yet.`
        );
      }
    } else {
      handleSetupResult(instance, setupResult, isSSR);
    }
  } else {
    finishComponentSetup(instance, isSSR);
  }
}
function handleSetupResult(instance, setupResult, isSSR) {
  if (isFunction(setupResult)) {
    {
      instance.render = setupResult;
    }
  } else if (isObject$1(setupResult)) {
    if (isVNode(setupResult)) {
      warn$1(
        `setup() should not return VNodes directly - return a render function instead.`
      );
    }
    {
      instance.devtoolsRawSetupState = setupResult;
    }
    instance.setupState = proxyRefs(setupResult);
    {
      exposeSetupStateOnRenderContext(instance);
    }
  } else if (setupResult !== void 0) {
    warn$1(
      `setup() should return an object. Received: ${setupResult === null ? "null" : typeof setupResult}`
    );
  }
  finishComponentSetup(instance, isSSR);
}
let compile;
const isRuntimeOnly = () => !compile;
function finishComponentSetup(instance, isSSR, skipOptions) {
  const Component2 = instance.type;
  if (!instance.render) {
    instance.render = Component2.render || NOOP;
  }
  {
    const reset = setCurrentInstance(instance);
    pauseTracking();
    try {
      applyOptions$1(instance);
    } finally {
      resetTracking();
      reset();
    }
  }
  if (!Component2.render && instance.render === NOOP && !isSSR) {
    if (Component2.template) {
      warn$1(
        `Component provided template option but runtime compilation is not supported in this build of Vue. Configure your bundler to alias "vue" to "vue/dist/vue.esm-bundler.js".`
      );
    } else {
      warn$1(`Component is missing template or render function.`);
    }
  }
}
function getAttrsProxy(instance) {
  return instance.attrsProxy || (instance.attrsProxy = new Proxy(
    instance.attrs,
    {
      get(target, key) {
        track(instance, "get", "$attrs");
        return target[key];
      },
      set() {
        warn$1(`setupContext.attrs is readonly.`);
        return false;
      },
      deleteProperty() {
        warn$1(`setupContext.attrs is readonly.`);
        return false;
      }
    }
  ));
}
function getSlotsProxy(instance) {
  return instance.slotsProxy || (instance.slotsProxy = new Proxy(instance.slots, {
    get(target, key) {
      track(instance, "get", "$slots");
      return target[key];
    }
  }));
}
function createSetupContext(instance) {
  const expose = (exposed) => {
    {
      if (instance.exposed) {
        warn$1(`expose() should be called only once per setup().`);
      }
      if (exposed != null) {
        let exposedType = typeof exposed;
        if (exposedType === "object") {
          if (isArray(exposed)) {
            exposedType = "array";
          } else if (isRef(exposed)) {
            exposedType = "ref";
          }
        }
        if (exposedType !== "object") {
          warn$1(
            `expose() should be passed a plain object, received ${exposedType}.`
          );
        }
      }
    }
    instance.exposed = exposed || {};
  };
  {
    return Object.freeze({
      get attrs() {
        return getAttrsProxy(instance);
      },
      get slots() {
        return getSlotsProxy(instance);
      },
      get emit() {
        return (event, ...args) => instance.emit(event, ...args);
      },
      expose
    });
  }
}
function getExposeProxy(instance) {
  if (instance.exposed) {
    return instance.exposeProxy || (instance.exposeProxy = new Proxy(proxyRefs(markRaw(instance.exposed)), {
      get(target, key) {
        if (key in target) {
          return target[key];
        }
        return instance.proxy[key];
      },
      has(target, key) {
        return key in target || key in publicPropertiesMap;
      }
    }));
  }
}
const classifyRE = /(?:^|[-_])(\w)/g;
const classify = (str) => str.replace(classifyRE, (c2) => c2.toUpperCase()).replace(/[-_]/g, "");
function getComponentName(Component2, includeInferred = true) {
  return isFunction(Component2) ? Component2.displayName || Component2.name : Component2.name || includeInferred && Component2.__name;
}
function formatComponentName(instance, Component2, isRoot = false) {
  let name = getComponentName(Component2);
  if (!name && Component2.__file) {
    const match = Component2.__file.match(/([^/\\]+)\.\w+$/);
    if (match) {
      name = match[1];
    }
  }
  if (!name && instance && instance.parent) {
    const inferFromRegistry = (registry) => {
      for (const key in registry) {
        if (registry[key] === Component2) {
          return key;
        }
      }
    };
    name = inferFromRegistry(
      instance.components || instance.parent.type.components
    ) || inferFromRegistry(instance.appContext.components);
  }
  return name ? classify(name) : isRoot ? `App` : `Anonymous`;
}
const computed = (getterOrOptions, debugOptions) => {
  const c2 = computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);
  {
    const i = getCurrentInstance();
    if (i && i.appContext.config.warnRecursiveComputed) {
      c2._warnRecursive = true;
    }
  }
  return c2;
};
const version = "3.4.21";
const warn = warn$1;
function unwrapper(target) {
  return unref(target);
}
const ARRAYTYPE = "[object Array]";
const OBJECTTYPE = "[object Object]";
function diff(current, pre) {
  const result = {};
  syncKeys(current, pre);
  _diff(current, pre, "", result);
  return result;
}
function syncKeys(current, pre) {
  current = unwrapper(current);
  if (current === pre)
    return;
  const rootCurrentType = toTypeString(current);
  const rootPreType = toTypeString(pre);
  if (rootCurrentType == OBJECTTYPE && rootPreType == OBJECTTYPE) {
    for (let key in pre) {
      const currentValue = current[key];
      if (currentValue === void 0) {
        current[key] = null;
      } else {
        syncKeys(currentValue, pre[key]);
      }
    }
  } else if (rootCurrentType == ARRAYTYPE && rootPreType == ARRAYTYPE) {
    if (current.length >= pre.length) {
      pre.forEach((item, index2) => {
        syncKeys(current[index2], item);
      });
    }
  }
}
function _diff(current, pre, path, result) {
  current = unwrapper(current);
  if (current === pre)
    return;
  const rootCurrentType = toTypeString(current);
  const rootPreType = toTypeString(pre);
  if (rootCurrentType == OBJECTTYPE) {
    if (rootPreType != OBJECTTYPE || Object.keys(current).length < Object.keys(pre).length) {
      setResult(result, path, current);
    } else {
      for (let key in current) {
        const currentValue = unwrapper(current[key]);
        const preValue = pre[key];
        const currentType = toTypeString(currentValue);
        const preType = toTypeString(preValue);
        if (currentType != ARRAYTYPE && currentType != OBJECTTYPE) {
          if (currentValue != preValue) {
            setResult(
              result,
              (path == "" ? "" : path + ".") + key,
              currentValue
            );
          }
        } else if (currentType == ARRAYTYPE) {
          if (preType != ARRAYTYPE) {
            setResult(
              result,
              (path == "" ? "" : path + ".") + key,
              currentValue
            );
          } else {
            if (currentValue.length < preValue.length) {
              setResult(
                result,
                (path == "" ? "" : path + ".") + key,
                currentValue
              );
            } else {
              currentValue.forEach((item, index2) => {
                _diff(
                  item,
                  preValue[index2],
                  (path == "" ? "" : path + ".") + key + "[" + index2 + "]",
                  result
                );
              });
            }
          }
        } else if (currentType == OBJECTTYPE) {
          if (preType != OBJECTTYPE || Object.keys(currentValue).length < Object.keys(preValue).length) {
            setResult(
              result,
              (path == "" ? "" : path + ".") + key,
              currentValue
            );
          } else {
            for (let subKey in currentValue) {
              _diff(
                currentValue[subKey],
                preValue[subKey],
                (path == "" ? "" : path + ".") + key + "." + subKey,
                result
              );
            }
          }
        }
      }
    }
  } else if (rootCurrentType == ARRAYTYPE) {
    if (rootPreType != ARRAYTYPE) {
      setResult(result, path, current);
    } else {
      if (current.length < pre.length) {
        setResult(result, path, current);
      } else {
        current.forEach((item, index2) => {
          _diff(item, pre[index2], path + "[" + index2 + "]", result);
        });
      }
    }
  } else {
    setResult(result, path, current);
  }
}
function setResult(result, k, v) {
  result[k] = v;
}
function hasComponentEffect(instance) {
  return queue.includes(instance.update);
}
function flushCallbacks(instance) {
  const ctx = instance.ctx;
  const callbacks = ctx.__next_tick_callbacks;
  if (callbacks && callbacks.length) {
    const copies = callbacks.slice(0);
    callbacks.length = 0;
    for (let i = 0; i < copies.length; i++) {
      copies[i]();
    }
  }
}
function nextTick(instance, fn) {
  const ctx = instance.ctx;
  if (!ctx.__next_tick_pending && !hasComponentEffect(instance)) {
    return nextTick$1(fn && fn.bind(instance.proxy));
  }
  let _resolve;
  if (!ctx.__next_tick_callbacks) {
    ctx.__next_tick_callbacks = [];
  }
  ctx.__next_tick_callbacks.push(() => {
    if (fn) {
      callWithErrorHandling(
        fn.bind(instance.proxy),
        instance,
        14
      );
    } else if (_resolve) {
      _resolve(instance.proxy);
    }
  });
  return new Promise((resolve2) => {
    _resolve = resolve2;
  });
}
function clone(src, seen) {
  src = unwrapper(src);
  const type = typeof src;
  if (type === "object" && src !== null) {
    let copy = seen.get(src);
    if (typeof copy !== "undefined") {
      return copy;
    }
    if (isArray(src)) {
      const len = src.length;
      copy = new Array(len);
      seen.set(src, copy);
      for (let i = 0; i < len; i++) {
        copy[i] = clone(src[i], seen);
      }
    } else {
      copy = {};
      seen.set(src, copy);
      for (const name in src) {
        if (hasOwn$1(src, name)) {
          copy[name] = clone(src[name], seen);
        }
      }
    }
    return copy;
  }
  if (type !== "symbol") {
    return src;
  }
}
function deepCopy(src) {
  return clone(src, typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : /* @__PURE__ */ new Map());
}
function getMPInstanceData(instance, keys) {
  const data = instance.data;
  const ret = /* @__PURE__ */ Object.create(null);
  keys.forEach((key) => {
    ret[key] = data[key];
  });
  return ret;
}
function patch(instance, data, oldData) {
  if (!data) {
    return;
  }
  data = deepCopy(data);
  const ctx = instance.ctx;
  const mpType = ctx.mpType;
  if (mpType === "page" || mpType === "component") {
    data.r0 = 1;
    const mpInstance = ctx.$scope;
    const keys = Object.keys(data);
    const diffData = diff(data, oldData || getMPInstanceData(mpInstance, keys));
    if (Object.keys(diffData).length) {
      ctx.__next_tick_pending = true;
      mpInstance.setData(diffData, () => {
        ctx.__next_tick_pending = false;
        flushCallbacks(instance);
      });
      flushPreFlushCbs();
    } else {
      flushCallbacks(instance);
    }
  }
}
function initAppConfig(appConfig) {
  appConfig.globalProperties.$nextTick = function $nextTick(fn) {
    return nextTick(this.$, fn);
  };
}
function onApplyOptions(options, instance, publicThis) {
  instance.appContext.config.globalProperties.$applyOptions(
    options,
    instance,
    publicThis
  );
  const computedOptions = options.computed;
  if (computedOptions) {
    const keys = Object.keys(computedOptions);
    if (keys.length) {
      const ctx = instance.ctx;
      if (!ctx.$computedKeys) {
        ctx.$computedKeys = [];
      }
      ctx.$computedKeys.push(...keys);
    }
  }
  delete instance.ctx.$onApplyOptions;
}
function setRef$1(instance, isUnmount = false) {
  const {
    setupState,
    $templateRefs,
    ctx: { $scope, $mpPlatform }
  } = instance;
  if ($mpPlatform === "mp-alipay") {
    return;
  }
  if (!$templateRefs || !$scope) {
    return;
  }
  if (isUnmount) {
    return $templateRefs.forEach(
      (templateRef) => setTemplateRef(templateRef, null, setupState)
    );
  }
  const check = $mpPlatform === "mp-baidu" || $mpPlatform === "mp-toutiao";
  const doSetByRefs = (refs) => {
    const mpComponents = (
      // 字节小程序 selectAllComponents 可能返回 null
      // https://github.com/dcloudio/uni-app/issues/3954
      ($scope.selectAllComponents(".r") || []).concat(
        $scope.selectAllComponents(".r-i-f") || []
      )
    );
    return refs.filter((templateRef) => {
      const refValue = findComponentPublicInstance(mpComponents, templateRef.i);
      if (check && refValue === null) {
        return true;
      }
      setTemplateRef(templateRef, refValue, setupState);
      return false;
    });
  };
  const doSet = () => {
    const refs = doSetByRefs($templateRefs);
    if (refs.length && instance.proxy && instance.proxy.$scope) {
      instance.proxy.$scope.setData({ r1: 1 }, () => {
        doSetByRefs(refs);
      });
    }
  };
  if ($scope._$setRef) {
    $scope._$setRef(doSet);
  } else {
    nextTick(instance, doSet);
  }
}
function toSkip(value) {
  if (isObject$1(value)) {
    markRaw(value);
  }
  return value;
}
function findComponentPublicInstance(mpComponents, id) {
  const mpInstance = mpComponents.find(
    (com) => com && (com.properties || com.props).uI === id
  );
  if (mpInstance) {
    const vm = mpInstance.$vm;
    if (vm) {
      return getExposeProxy(vm.$) || vm;
    }
    return toSkip(mpInstance);
  }
  return null;
}
function setTemplateRef({ r: r2, f: f2 }, refValue, setupState) {
  if (isFunction(r2)) {
    r2(refValue, {});
  } else {
    const _isString = isString(r2);
    const _isRef = isRef(r2);
    if (_isString || _isRef) {
      if (f2) {
        if (!_isRef) {
          return;
        }
        if (!isArray(r2.value)) {
          r2.value = [];
        }
        const existing = r2.value;
        if (existing.indexOf(refValue) === -1) {
          existing.push(refValue);
          if (!refValue) {
            return;
          }
          onBeforeUnmount(() => remove(existing, refValue), refValue.$);
        }
      } else if (_isString) {
        if (hasOwn$1(setupState, r2)) {
          setupState[r2] = refValue;
        }
      } else if (isRef(r2)) {
        r2.value = refValue;
      } else {
        warnRef(r2);
      }
    } else {
      warnRef(r2);
    }
  }
}
function warnRef(ref2) {
  warn("Invalid template ref type:", ref2, `(${typeof ref2})`);
}
const queuePostRenderEffect = queuePostFlushCb;
function mountComponent(initialVNode, options) {
  const instance = initialVNode.component = createComponentInstance(initialVNode, options.parentComponent, null);
  {
    instance.ctx.$onApplyOptions = onApplyOptions;
    instance.ctx.$children = [];
  }
  if (options.mpType === "app") {
    instance.render = NOOP;
  }
  if (options.onBeforeSetup) {
    options.onBeforeSetup(instance, options);
  }
  {
    pushWarningContext(initialVNode);
    startMeasure(instance, `mount`);
  }
  {
    startMeasure(instance, `init`);
  }
  setupComponent(instance);
  {
    endMeasure(instance, `init`);
  }
  {
    if (options.parentComponent && instance.proxy) {
      options.parentComponent.ctx.$children.push(getExposeProxy(instance) || instance.proxy);
    }
  }
  setupRenderEffect(instance);
  {
    popWarningContext();
    endMeasure(instance, `mount`);
  }
  return instance.proxy;
}
const getFunctionalFallthrough = (attrs) => {
  let res;
  for (const key in attrs) {
    if (key === "class" || key === "style" || isOn(key)) {
      (res || (res = {}))[key] = attrs[key];
    }
  }
  return res;
};
function renderComponentRoot(instance) {
  const {
    type: Component2,
    vnode,
    proxy,
    withProxy,
    props,
    propsOptions: [propsOptions],
    slots,
    attrs,
    emit: emit2,
    render,
    renderCache,
    data,
    setupState,
    ctx,
    uid: uid2,
    appContext: {
      app: {
        config: {
          globalProperties: { pruneComponentPropsCache: pruneComponentPropsCache2 }
        }
      }
    },
    inheritAttrs
  } = instance;
  instance.$templateRefs = [];
  instance.$ei = 0;
  pruneComponentPropsCache2(uid2);
  instance.__counter = instance.__counter === 0 ? 1 : 0;
  let result;
  const prev = setCurrentRenderingInstance(instance);
  try {
    if (vnode.shapeFlag & 4) {
      fallthroughAttrs(inheritAttrs, props, propsOptions, attrs);
      const proxyToUse = withProxy || proxy;
      result = render.call(
        proxyToUse,
        proxyToUse,
        renderCache,
        props,
        setupState,
        data,
        ctx
      );
    } else {
      fallthroughAttrs(
        inheritAttrs,
        props,
        propsOptions,
        Component2.props ? attrs : getFunctionalFallthrough(attrs)
      );
      const render2 = Component2;
      result = render2.length > 1 ? render2(props, { attrs, slots, emit: emit2 }) : render2(
        props,
        null
        /* we know it doesn't need it */
      );
    }
  } catch (err) {
    handleError(err, instance, 1);
    result = false;
  }
  setRef$1(instance);
  setCurrentRenderingInstance(prev);
  return result;
}
function fallthroughAttrs(inheritAttrs, props, propsOptions, fallthroughAttrs2) {
  if (props && fallthroughAttrs2 && inheritAttrs !== false) {
    const keys = Object.keys(fallthroughAttrs2).filter(
      (key) => key !== "class" && key !== "style"
    );
    if (!keys.length) {
      return;
    }
    if (propsOptions && keys.some(isModelListener)) {
      keys.forEach((key) => {
        if (!isModelListener(key) || !(key.slice(9) in propsOptions)) {
          props[key] = fallthroughAttrs2[key];
        }
      });
    } else {
      keys.forEach((key) => props[key] = fallthroughAttrs2[key]);
    }
  }
}
const updateComponentPreRender = (instance) => {
  pauseTracking();
  flushPreFlushCbs();
  resetTracking();
};
function componentUpdateScopedSlotsFn() {
  const scopedSlotsData = this.$scopedSlotsData;
  if (!scopedSlotsData || scopedSlotsData.length === 0) {
    return;
  }
  const mpInstance = this.ctx.$scope;
  const oldData = mpInstance.data;
  const diffData = /* @__PURE__ */ Object.create(null);
  scopedSlotsData.forEach(({ path, index: index2, data }) => {
    const oldScopedSlotData = getValueByDataPath(oldData, path);
    const diffPath = isString(index2) ? `${path}.${index2}` : `${path}[${index2}]`;
    if (typeof oldScopedSlotData === "undefined" || typeof oldScopedSlotData[index2] === "undefined") {
      diffData[diffPath] = data;
    } else {
      const diffScopedSlotData = diff(
        data,
        oldScopedSlotData[index2]
      );
      Object.keys(diffScopedSlotData).forEach((name) => {
        diffData[diffPath + "." + name] = diffScopedSlotData[name];
      });
    }
  });
  scopedSlotsData.length = 0;
  if (Object.keys(diffData).length) {
    mpInstance.setData(diffData);
  }
}
function toggleRecurse({ effect: effect2, update }, allowed) {
  effect2.allowRecurse = update.allowRecurse = allowed;
}
function setupRenderEffect(instance) {
  const updateScopedSlots = componentUpdateScopedSlotsFn.bind(
    instance
  );
  instance.$updateScopedSlots = () => nextTick$1(() => queueJob(updateScopedSlots));
  const componentUpdateFn = () => {
    if (!instance.isMounted) {
      onBeforeUnmount(() => {
        setRef$1(instance, true);
      }, instance);
      {
        startMeasure(instance, `patch`);
      }
      patch(instance, renderComponentRoot(instance));
      {
        endMeasure(instance, `patch`);
      }
      {
        devtoolsComponentAdded(instance);
      }
    } else {
      const { next, bu, u } = instance;
      {
        pushWarningContext(next || instance.vnode);
      }
      toggleRecurse(instance, false);
      updateComponentPreRender();
      if (bu) {
        invokeArrayFns$1(bu);
      }
      toggleRecurse(instance, true);
      {
        startMeasure(instance, `patch`);
      }
      patch(instance, renderComponentRoot(instance));
      {
        endMeasure(instance, `patch`);
      }
      if (u) {
        queuePostRenderEffect(u);
      }
      {
        devtoolsComponentUpdated(instance);
      }
      {
        popWarningContext();
      }
    }
  };
  const effect2 = instance.effect = new ReactiveEffect2(
    componentUpdateFn,
    NOOP,
    () => queueJob(update),
    instance.scope
    // track it in component's effect scope
  );
  const update = instance.update = () => {
    if (effect2.dirty) {
      effect2.run();
    }
  };
  update.id = instance.uid;
  toggleRecurse(instance, true);
  {
    effect2.onTrack = instance.rtc ? (e2) => invokeArrayFns$1(instance.rtc, e2) : void 0;
    effect2.onTrigger = instance.rtg ? (e2) => invokeArrayFns$1(instance.rtg, e2) : void 0;
    update.ownerInstance = instance;
  }
  update();
}
function unmountComponent(instance) {
  const { bum, scope, update, um } = instance;
  if (bum) {
    invokeArrayFns$1(bum);
  }
  scope.stop();
  if (update) {
    update.active = false;
  }
  if (um) {
    queuePostRenderEffect(um);
  }
  queuePostRenderEffect(() => {
    instance.isUnmounted = true;
  });
  {
    devtoolsComponentRemoved(instance);
  }
}
const oldCreateApp = createAppAPI();
function getTarget() {
  if (typeof window !== "undefined") {
    return window;
  }
  if (typeof globalThis !== "undefined") {
    return globalThis;
  }
  if (typeof global !== "undefined") {
    return global;
  }
  if (typeof my !== "undefined") {
    return my;
  }
}
function createVueApp(rootComponent, rootProps = null) {
  const target = getTarget();
  target.__VUE__ = true;
  {
    setDevtoolsHook(target.__VUE_DEVTOOLS_GLOBAL_HOOK__, target);
  }
  const app = oldCreateApp(rootComponent, rootProps);
  const appContext = app._context;
  initAppConfig(appContext.config);
  const createVNode2 = (initialVNode) => {
    initialVNode.appContext = appContext;
    initialVNode.shapeFlag = 6;
    return initialVNode;
  };
  const createComponent2 = function createComponent22(initialVNode, options) {
    return mountComponent(createVNode2(initialVNode), options);
  };
  const destroyComponent = function destroyComponent2(component) {
    return component && unmountComponent(component.$);
  };
  app.mount = function mount() {
    rootComponent.render = NOOP;
    const instance = mountComponent(
      createVNode2({ type: rootComponent }),
      {
        mpType: "app",
        mpInstance: null,
        parentComponent: null,
        slots: [],
        props: null
      }
    );
    app._instance = instance.$;
    {
      devtoolsInitApp(app, version);
    }
    instance.$app = app;
    instance.$createComponent = createComponent2;
    instance.$destroyComponent = destroyComponent;
    appContext.$appInstance = instance;
    return instance;
  };
  app.unmount = function unmount() {
    warn(`Cannot unmount an app.`);
  };
  return app;
}
function useCssVars(getter) {
  const instance = getCurrentInstance();
  if (!instance) {
    warn(`useCssVars is called without current active component instance.`);
    return;
  }
  initCssVarsRender(instance, getter);
}
function initCssVarsRender(instance, getter) {
  instance.ctx.__cssVars = () => {
    const vars = getter(instance.proxy);
    const cssVars = {};
    for (const key in vars) {
      cssVars[`--${key}`] = vars[key];
    }
    return cssVars;
  };
}
function injectLifecycleHook(name, hook, publicThis, instance) {
  if (isFunction(hook)) {
    injectHook(name, hook.bind(publicThis), instance);
  }
}
function initHooks$1(options, instance, publicThis) {
  const mpType = options.mpType || publicThis.$mpType;
  if (!mpType || mpType === "component") {
    return;
  }
  Object.keys(options).forEach((name) => {
    if (isUniLifecycleHook(name, options[name], false)) {
      const hooks = options[name];
      if (isArray(hooks)) {
        hooks.forEach((hook) => injectLifecycleHook(name, hook, publicThis, instance));
      } else {
        injectLifecycleHook(name, hooks, publicThis, instance);
      }
    }
  });
}
function applyOptions$2(options, instance, publicThis) {
  initHooks$1(options, instance, publicThis);
}
function set(target, key, val) {
  return target[key] = val;
}
function $callMethod(method, ...args) {
  const fn = this[method];
  if (fn) {
    return fn(...args);
  }
  console.error(`method ${method} not found`);
  return null;
}
function createErrorHandler(app) {
  return function errorHandler(err, instance, _info) {
    if (!instance) {
      throw err;
    }
    const appInstance = app._instance;
    if (!appInstance || !appInstance.proxy) {
      throw err;
    }
    {
      appInstance.proxy.$callHook(ON_ERROR, err);
    }
  };
}
function mergeAsArray(to, from) {
  return to ? [...new Set([].concat(to, from))] : from;
}
function initOptionMergeStrategies(optionMergeStrategies) {
  UniLifecycleHooks.forEach((name) => {
    optionMergeStrategies[name] = mergeAsArray;
  });
}
let realAtob;
const b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
const b64re = /^(?:[A-Za-z\d+/]{4})*?(?:[A-Za-z\d+/]{2}(?:==)?|[A-Za-z\d+/]{3}=?)?$/;
if (typeof atob !== "function") {
  realAtob = function(str) {
    str = String(str).replace(/[\t\n\f\r ]+/g, "");
    if (!b64re.test(str)) {
      throw new Error("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.");
    }
    str += "==".slice(2 - (str.length & 3));
    var bitmap;
    var result = "";
    var r1;
    var r2;
    var i = 0;
    for (; i < str.length; ) {
      bitmap = b64.indexOf(str.charAt(i++)) << 18 | b64.indexOf(str.charAt(i++)) << 12 | (r1 = b64.indexOf(str.charAt(i++))) << 6 | (r2 = b64.indexOf(str.charAt(i++)));
      result += r1 === 64 ? String.fromCharCode(bitmap >> 16 & 255) : r2 === 64 ? String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255) : String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255, bitmap & 255);
    }
    return result;
  };
} else {
  realAtob = atob;
}
function b64DecodeUnicode(str) {
  return decodeURIComponent(realAtob(str).split("").map(function(c2) {
    return "%" + ("00" + c2.charCodeAt(0).toString(16)).slice(-2);
  }).join(""));
}
function getCurrentUserInfo() {
  const token = index.getStorageSync("uni_id_token") || "";
  const tokenArr = token.split(".");
  if (!token || tokenArr.length !== 3) {
    return {
      uid: null,
      role: [],
      permission: [],
      tokenExpired: 0
    };
  }
  let userInfo;
  try {
    userInfo = JSON.parse(b64DecodeUnicode(tokenArr[1]));
  } catch (error) {
    throw new Error("获取当前用户信息出错，详细错误信息为：" + error.message);
  }
  userInfo.tokenExpired = userInfo.exp * 1e3;
  delete userInfo.exp;
  delete userInfo.iat;
  return userInfo;
}
function uniIdMixin(globalProperties) {
  globalProperties.uniIDHasRole = function(roleId) {
    const { role } = getCurrentUserInfo();
    return role.indexOf(roleId) > -1;
  };
  globalProperties.uniIDHasPermission = function(permissionId) {
    const { permission } = getCurrentUserInfo();
    return this.uniIDHasRole("admin") || permission.indexOf(permissionId) > -1;
  };
  globalProperties.uniIDTokenValid = function() {
    const { tokenExpired } = getCurrentUserInfo();
    return tokenExpired > Date.now();
  };
}
function initApp(app) {
  const appConfig = app._context.config;
  appConfig.errorHandler = invokeCreateErrorHandler(app, createErrorHandler);
  initOptionMergeStrategies(appConfig.optionMergeStrategies);
  const globalProperties = appConfig.globalProperties;
  {
    uniIdMixin(globalProperties);
  }
  {
    globalProperties.$set = set;
    globalProperties.$applyOptions = applyOptions$2;
    globalProperties.$callMethod = $callMethod;
  }
  {
    index.invokeCreateVueAppHook(app);
  }
}
const propsCaches = /* @__PURE__ */ Object.create(null);
function renderProps(props) {
  const { uid: uid2, __counter } = getCurrentInstance();
  const propsId = (propsCaches[uid2] || (propsCaches[uid2] = [])).push(guardReactiveProps(props)) - 1;
  return uid2 + "," + propsId + "," + __counter;
}
function pruneComponentPropsCache(uid2) {
  delete propsCaches[uid2];
}
function findComponentPropsData(up) {
  if (!up) {
    return;
  }
  const [uid2, propsId] = up.split(",");
  if (!propsCaches[uid2]) {
    return;
  }
  return propsCaches[uid2][parseInt(propsId)];
}
var plugin = {
  install(app) {
    initApp(app);
    app.config.globalProperties.pruneComponentPropsCache = pruneComponentPropsCache;
    const oldMount = app.mount;
    app.mount = function mount(rootContainer) {
      const instance = oldMount.call(app, rootContainer);
      const createApp2 = getCreateApp();
      if (createApp2) {
        createApp2(instance);
      } else {
        if (typeof createMiniProgramApp !== "undefined") {
          createMiniProgramApp(instance);
        }
      }
      return instance;
    };
  }
};
function getCreateApp() {
  const method = "createApp";
  if (typeof global !== "undefined" && typeof global[method] !== "undefined") {
    return global[method];
  } else if (typeof my !== "undefined") {
    return my[method];
  }
}
function vOn(value, key) {
  const instance = getCurrentInstance();
  const ctx = instance.ctx;
  const extraKey = typeof key !== "undefined" && (ctx.$mpPlatform === "mp-weixin" || ctx.$mpPlatform === "mp-qq" || ctx.$mpPlatform === "mp-xhs") && (isString(key) || typeof key === "number") ? "_" + key : "";
  const name = "e" + instance.$ei++ + extraKey;
  const mpInstance = ctx.$scope;
  if (!value) {
    delete mpInstance[name];
    return name;
  }
  const existingInvoker = mpInstance[name];
  if (existingInvoker) {
    existingInvoker.value = value;
  } else {
    mpInstance[name] = createInvoker(value, instance);
  }
  return name;
}
function createInvoker(initialValue, instance) {
  const invoker = (e2) => {
    patchMPEvent(e2);
    let args = [e2];
    if (e2.detail && e2.detail.__args__) {
      args = e2.detail.__args__;
    }
    const eventValue = invoker.value;
    const invoke = () => callWithAsyncErrorHandling(patchStopImmediatePropagation(e2, eventValue), instance, 5, args);
    const eventTarget = e2.target;
    const eventSync = eventTarget ? eventTarget.dataset ? String(eventTarget.dataset.eventsync) === "true" : false : false;
    if (bubbles.includes(e2.type) && !eventSync) {
      setTimeout(invoke);
    } else {
      const res = invoke();
      if (e2.type === "input" && (isArray(res) || isPromise(res))) {
        return;
      }
      return res;
    }
  };
  invoker.value = initialValue;
  return invoker;
}
const bubbles = [
  // touch事件暂不做延迟，否则在 Android 上会影响性能，比如一些拖拽跟手手势等
  // 'touchstart',
  // 'touchmove',
  // 'touchcancel',
  // 'touchend',
  "tap",
  "longpress",
  "longtap",
  "transitionend",
  "animationstart",
  "animationiteration",
  "animationend",
  "touchforcechange"
];
function patchMPEvent(event) {
  if (event.type && event.target) {
    event.preventDefault = NOOP;
    event.stopPropagation = NOOP;
    event.stopImmediatePropagation = NOOP;
    if (!hasOwn$1(event, "detail")) {
      event.detail = {};
    }
    if (hasOwn$1(event, "markerId")) {
      event.detail = typeof event.detail === "object" ? event.detail : {};
      event.detail.markerId = event.markerId;
    }
    if (isPlainObject(event.detail) && hasOwn$1(event.detail, "checked") && !hasOwn$1(event.detail, "value")) {
      event.detail.value = event.detail.checked;
    }
    if (isPlainObject(event.detail)) {
      event.target = extend({}, event.target, event.detail);
    }
  }
}
function patchStopImmediatePropagation(e2, value) {
  if (isArray(value)) {
    const originalStop = e2.stopImmediatePropagation;
    e2.stopImmediatePropagation = () => {
      originalStop && originalStop.call(e2);
      e2._stopped = true;
    };
    return value.map((fn) => (e3) => !e3._stopped && fn(e3));
  } else {
    return value;
  }
}
function vFor(source, renderItem) {
  let ret;
  if (isArray(source) || isString(source)) {
    ret = new Array(source.length);
    for (let i = 0, l = source.length; i < l; i++) {
      ret[i] = renderItem(source[i], i, i);
    }
  } else if (typeof source === "number") {
    if (!Number.isInteger(source)) {
      warn(`The v-for range expect an integer value but got ${source}.`);
      return [];
    }
    ret = new Array(source);
    for (let i = 0; i < source; i++) {
      ret[i] = renderItem(i + 1, i, i);
    }
  } else if (isObject$1(source)) {
    if (source[Symbol.iterator]) {
      ret = Array.from(source, (item, i) => renderItem(item, i, i));
    } else {
      const keys = Object.keys(source);
      ret = new Array(keys.length);
      for (let i = 0, l = keys.length; i < l; i++) {
        const key = keys[i];
        ret[i] = renderItem(source[key], key, i);
      }
    }
  } else {
    ret = [];
  }
  return ret;
}
function renderSlot(name, props = {}, key) {
  const instance = getCurrentInstance();
  const { parent, isMounted, ctx: { $scope } } = instance;
  const vueIds = ($scope.properties || $scope.props).uI;
  if (!vueIds) {
    return;
  }
  if (!parent && !isMounted) {
    onMounted(() => {
      renderSlot(name, props, key);
    }, instance);
    return;
  }
  const invoker = findScopedSlotInvoker(vueIds, instance);
  if (invoker) {
    invoker(name, props, key);
  }
}
function findScopedSlotInvoker(vueId, instance) {
  let parent = instance.parent;
  while (parent) {
    const invokers = parent.$ssi;
    if (invokers && invokers[vueId]) {
      return invokers[vueId];
    }
    parent = parent.parent;
  }
}
function stringifyStyle(value) {
  if (isString(value)) {
    return value;
  }
  return stringify(normalizeStyle(value));
}
function stringify(styles) {
  let ret = "";
  if (!styles || isString(styles)) {
    return ret;
  }
  for (const key in styles) {
    ret += `${key.startsWith(`--`) ? key : hyphenate(key)}:${styles[key]};`;
  }
  return ret;
}
function setRef(ref2, id, opts = {}) {
  const { $templateRefs } = getCurrentInstance();
  $templateRefs.push({ i: id, r: ref2, k: opts.k, f: opts.f });
}
function withModelModifiers(fn, { number, trim }, isComponent = false) {
  if (isComponent) {
    return (...args) => {
      if (trim) {
        args = args.map((a) => a.trim());
      } else if (number) {
        args = args.map(toNumber);
      }
      return fn(...args);
    };
  }
  return (event) => {
    const value = event.detail.value;
    if (trim) {
      event.detail.value = value.trim();
    } else if (number) {
      event.detail.value = toNumber(value);
    }
    return fn(event);
  };
}
const o = (value, key) => vOn(value, key);
const f = (source, renderItem) => vFor(source, renderItem);
const r = (name, props, key) => renderSlot(name, props, key);
const s = (value) => stringifyStyle(value);
const e = (target, ...sources) => extend(target, ...sources);
const n = (value) => normalizeClass(value);
const t = (val) => toDisplayString(val);
const p = (props) => renderProps(props);
const sr = (ref2, id, opts) => setRef(ref2, id, opts);
const m = (fn, modifiers, isComponent = false) => withModelModifiers(fn, modifiers, isComponent);
function createApp$1(rootComponent, rootProps = null) {
  rootComponent && (rootComponent.mpType = "app");
  return createVueApp(rootComponent, rootProps).use(plugin);
}
const createSSRApp = createApp$1;
const MP_METHODS = [
  "createSelectorQuery",
  "createIntersectionObserver",
  "selectAllComponents",
  "selectComponent"
];
function createEmitFn(oldEmit, ctx) {
  return function emit2(event, ...args) {
    const scope = ctx.$scope;
    if (scope && event) {
      const detail = { __args__: args };
      {
        scope.triggerEvent(event, detail);
      }
    }
    return oldEmit.apply(this, [event, ...args]);
  };
}
function initBaseInstance(instance, options) {
  const ctx = instance.ctx;
  ctx.mpType = options.mpType;
  ctx.$mpType = options.mpType;
  ctx.$mpPlatform = "mp-weixin";
  ctx.$scope = options.mpInstance;
  ctx.$mp = {};
  {
    ctx._self = {};
  }
  instance.slots = {};
  if (isArray(options.slots) && options.slots.length) {
    options.slots.forEach((name) => {
      instance.slots[name] = true;
    });
    if (instance.slots[SLOT_DEFAULT_NAME]) {
      instance.slots.default = true;
    }
  }
  ctx.getOpenerEventChannel = function() {
    {
      return options.mpInstance.getOpenerEventChannel();
    }
  };
  ctx.$hasHook = hasHook;
  ctx.$callHook = callHook;
  instance.emit = createEmitFn(instance.emit, ctx);
}
function initComponentInstance(instance, options) {
  initBaseInstance(instance, options);
  const ctx = instance.ctx;
  MP_METHODS.forEach((method) => {
    ctx[method] = function(...args) {
      const mpInstance = ctx.$scope;
      if (mpInstance && mpInstance[method]) {
        return mpInstance[method].apply(mpInstance, args);
      }
    };
  });
}
function initMocks(instance, mpInstance, mocks2) {
  const ctx = instance.ctx;
  mocks2.forEach((mock) => {
    if (hasOwn$1(mpInstance, mock)) {
      instance[mock] = ctx[mock] = mpInstance[mock];
    }
  });
}
function hasHook(name) {
  const hooks = this.$[name];
  if (hooks && hooks.length) {
    return true;
  }
  return false;
}
function callHook(name, args) {
  if (name === "mounted") {
    callHook.call(this, "bm");
    this.$.isMounted = true;
    name = "m";
  }
  const hooks = this.$[name];
  return hooks && invokeArrayFns(hooks, args);
}
const PAGE_INIT_HOOKS = [
  ON_LOAD,
  ON_SHOW,
  ON_HIDE,
  ON_UNLOAD,
  ON_RESIZE,
  ON_TAB_ITEM_TAP,
  ON_REACH_BOTTOM,
  ON_PULL_DOWN_REFRESH,
  ON_ADD_TO_FAVORITES
  // 'onReady', // lifetimes.ready
  // 'onPageScroll', // 影响性能，开发者手动注册
  // 'onShareTimeline', // 右上角菜单，开发者手动注册
  // 'onShareAppMessage' // 右上角菜单，开发者手动注册
];
function findHooks(vueOptions, hooks = /* @__PURE__ */ new Set()) {
  if (vueOptions) {
    Object.keys(vueOptions).forEach((name) => {
      if (isUniLifecycleHook(name, vueOptions[name])) {
        hooks.add(name);
      }
    });
    {
      const { extends: extendsOptions, mixins } = vueOptions;
      if (mixins) {
        mixins.forEach((mixin) => findHooks(mixin, hooks));
      }
      if (extendsOptions) {
        findHooks(extendsOptions, hooks);
      }
    }
  }
  return hooks;
}
function initHook(mpOptions, hook, excludes) {
  if (excludes.indexOf(hook) === -1 && !hasOwn$1(mpOptions, hook)) {
    mpOptions[hook] = function(args) {
      return this.$vm && this.$vm.$callHook(hook, args);
    };
  }
}
const EXCLUDE_HOOKS = [ON_READY];
function initHooks(mpOptions, hooks, excludes = EXCLUDE_HOOKS) {
  hooks.forEach((hook) => initHook(mpOptions, hook, excludes));
}
function initUnknownHooks(mpOptions, vueOptions, excludes = EXCLUDE_HOOKS) {
  findHooks(vueOptions).forEach((hook) => initHook(mpOptions, hook, excludes));
}
function initRuntimeHooks(mpOptions, runtimeHooks) {
  if (!runtimeHooks) {
    return;
  }
  const hooks = Object.keys(MINI_PROGRAM_PAGE_RUNTIME_HOOKS);
  hooks.forEach((hook) => {
    if (runtimeHooks & MINI_PROGRAM_PAGE_RUNTIME_HOOKS[hook]) {
      initHook(mpOptions, hook, []);
    }
  });
}
const findMixinRuntimeHooks = /* @__PURE__ */ once(() => {
  const runtimeHooks = [];
  const app = isFunction(getApp) && getApp({ allowDefault: true });
  if (app && app.$vm && app.$vm.$) {
    const mixins = app.$vm.$.appContext.mixins;
    if (isArray(mixins)) {
      const hooks = Object.keys(MINI_PROGRAM_PAGE_RUNTIME_HOOKS);
      mixins.forEach((mixin) => {
        hooks.forEach((hook) => {
          if (hasOwn$1(mixin, hook) && !runtimeHooks.includes(hook)) {
            runtimeHooks.push(hook);
          }
        });
      });
    }
  }
  return runtimeHooks;
});
function initMixinRuntimeHooks(mpOptions) {
  initHooks(mpOptions, findMixinRuntimeHooks());
}
const HOOKS = [
  ON_SHOW,
  ON_HIDE,
  ON_ERROR,
  ON_THEME_CHANGE,
  ON_PAGE_NOT_FOUND,
  ON_UNHANDLE_REJECTION
];
function parseApp(instance, parseAppOptions) {
  const internalInstance = instance.$;
  const appOptions = {
    globalData: instance.$options && instance.$options.globalData || {},
    $vm: instance,
    // mp-alipay 组件 data 初始化比 onLaunch 早，提前挂载
    onLaunch(options) {
      this.$vm = instance;
      const ctx = internalInstance.ctx;
      if (this.$vm && ctx.$scope) {
        return;
      }
      initBaseInstance(internalInstance, {
        mpType: "app",
        mpInstance: this,
        slots: []
      });
      ctx.globalData = this.globalData;
      instance.$callHook(ON_LAUNCH, options);
    }
  };
  const { onError } = internalInstance;
  if (onError) {
    internalInstance.appContext.config.errorHandler = (err) => {
      instance.$callHook(ON_ERROR, err);
    };
  }
  initLocale(instance);
  const vueOptions = instance.$.type;
  initHooks(appOptions, HOOKS);
  initUnknownHooks(appOptions, vueOptions);
  {
    const methods = vueOptions.methods;
    methods && extend(appOptions, methods);
  }
  if (parseAppOptions) {
    parseAppOptions.parse(appOptions);
  }
  return appOptions;
}
function initCreateApp(parseAppOptions) {
  return function createApp2(vm) {
    return App(parseApp(vm, parseAppOptions));
  };
}
function initCreateSubpackageApp(parseAppOptions) {
  return function createApp2(vm) {
    const appOptions = parseApp(vm, parseAppOptions);
    const app = isFunction(getApp) && getApp({
      allowDefault: true
    });
    if (!app)
      return;
    vm.$.ctx.$scope = app;
    const globalData = app.globalData;
    if (globalData) {
      Object.keys(appOptions.globalData).forEach((name) => {
        if (!hasOwn$1(globalData, name)) {
          globalData[name] = appOptions.globalData[name];
        }
      });
    }
    Object.keys(appOptions).forEach((name) => {
      if (!hasOwn$1(app, name)) {
        app[name] = appOptions[name];
      }
    });
    initAppLifecycle(appOptions, vm);
  };
}
function initAppLifecycle(appOptions, vm) {
  if (isFunction(appOptions.onLaunch)) {
    const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();
    appOptions.onLaunch(args);
  }
  if (isFunction(appOptions.onShow) && wx.onAppShow) {
    wx.onAppShow((args) => {
      vm.$callHook("onShow", args);
    });
  }
  if (isFunction(appOptions.onHide) && wx.onAppHide) {
    wx.onAppHide((args) => {
      vm.$callHook("onHide", args);
    });
  }
}
function initLocale(appVm) {
  const locale = ref(normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN);
  Object.defineProperty(appVm, "$locale", {
    get() {
      return locale.value;
    },
    set(v) {
      locale.value = v;
    }
  });
}
function initVueIds(vueIds, mpInstance) {
  if (!vueIds) {
    return;
  }
  const ids = vueIds.split(",");
  const len = ids.length;
  if (len === 1) {
    mpInstance._$vueId = ids[0];
  } else if (len === 2) {
    mpInstance._$vueId = ids[0];
    mpInstance._$vuePid = ids[1];
  }
}
const EXTRAS = ["externalClasses"];
function initExtraOptions(miniProgramComponentOptions, vueOptions) {
  EXTRAS.forEach((name) => {
    if (hasOwn$1(vueOptions, name)) {
      miniProgramComponentOptions[name] = vueOptions[name];
    }
  });
}
const WORKLET_RE = /_(.*)_worklet_factory_/;
function initWorkletMethods(mpMethods, vueMethods) {
  if (vueMethods) {
    Object.keys(vueMethods).forEach((name) => {
      const matches = name.match(WORKLET_RE);
      if (matches) {
        const workletName = matches[1];
        mpMethods[name] = vueMethods[name];
        mpMethods[workletName] = vueMethods[workletName];
      }
    });
  }
}
function initWxsCallMethods(methods, wxsCallMethods) {
  if (!isArray(wxsCallMethods)) {
    return;
  }
  wxsCallMethods.forEach((callMethod) => {
    methods[callMethod] = function(args) {
      return this.$vm[callMethod](args);
    };
  });
}
function selectAllComponents(mpInstance, selector, $refs) {
  const components = mpInstance.selectAllComponents(selector);
  components.forEach((component) => {
    const ref2 = component.properties.uR;
    $refs[ref2] = component.$vm || component;
  });
}
function initRefs(instance, mpInstance) {
  Object.defineProperty(instance, "refs", {
    get() {
      const $refs = {};
      selectAllComponents(mpInstance, ".r", $refs);
      const forComponents = mpInstance.selectAllComponents(".r-i-f");
      forComponents.forEach((component) => {
        const ref2 = component.properties.uR;
        if (!ref2) {
          return;
        }
        if (!$refs[ref2]) {
          $refs[ref2] = [];
        }
        $refs[ref2].push(component.$vm || component);
      });
      return $refs;
    }
  });
}
function findVmByVueId(instance, vuePid) {
  const $children = instance.$children;
  for (let i = $children.length - 1; i >= 0; i--) {
    const childVm = $children[i];
    if (childVm.$scope._$vueId === vuePid) {
      return childVm;
    }
  }
  let parentVm;
  for (let i = $children.length - 1; i >= 0; i--) {
    parentVm = findVmByVueId($children[i], vuePid);
    if (parentVm) {
      return parentVm;
    }
  }
}
const builtInProps = [
  // 百度小程序,快手小程序自定义组件不支持绑定动态事件，动态dataset，故通过props传递事件信息
  // event-opts
  "eO",
  // 组件 ref
  "uR",
  // 组件 ref-in-for
  "uRIF",
  // 组件 id
  "uI",
  // 组件类型 m: 小程序组件
  "uT",
  // 组件 props
  "uP",
  // 小程序不能直接定义 $slots 的 props，所以通过 vueSlots 转换到 $slots
  "uS"
];
function initDefaultProps(options, isBehavior = false) {
  const properties = {};
  if (!isBehavior) {
    builtInProps.forEach((name) => {
      properties[name] = {
        type: null,
        value: ""
      };
    });
    properties.uS = {
      type: null,
      value: [],
      observer: function(newVal) {
        const $slots = /* @__PURE__ */ Object.create(null);
        newVal && newVal.forEach((slotName) => {
          $slots[slotName] = true;
        });
        this.setData({
          $slots
        });
      }
    };
  }
  if (options.behaviors) {
    if (options.behaviors.includes("__GLOBAL__://form-field")) {
      if (!options.properties || !options.properties.name) {
        properties.name = {
          type: null,
          value: ""
        };
      }
      if (!options.properties || !options.properties.value) {
        properties.value = {
          type: null,
          value: ""
        };
      }
    }
  }
  return properties;
}
function initVirtualHostProps(options) {
  const properties = {};
  {
    if (options && options.virtualHost) {
      properties.virtualHostStyle = {
        type: null,
        value: ""
      };
      properties.virtualHostClass = {
        type: null,
        value: ""
      };
    }
  }
  return properties;
}
function initProps(mpComponentOptions) {
  if (!mpComponentOptions.properties) {
    mpComponentOptions.properties = {};
  }
  extend(mpComponentOptions.properties, initDefaultProps(mpComponentOptions), initVirtualHostProps(mpComponentOptions.options));
}
const PROP_TYPES = [String, Number, Boolean, Object, Array, null];
function parsePropType(type, defaultValue) {
  if (isArray(type) && type.length === 1) {
    return type[0];
  }
  return type;
}
function normalizePropType(type, defaultValue) {
  const res = parsePropType(type);
  return PROP_TYPES.indexOf(res) !== -1 ? res : null;
}
function initPageProps({ properties }, rawProps) {
  if (isArray(rawProps)) {
    rawProps.forEach((key) => {
      properties[key] = {
        type: String,
        value: ""
      };
    });
  } else if (isPlainObject(rawProps)) {
    Object.keys(rawProps).forEach((key) => {
      const opts = rawProps[key];
      if (isPlainObject(opts)) {
        let value = opts.default;
        if (isFunction(value)) {
          value = value();
        }
        const type = opts.type;
        opts.type = normalizePropType(type);
        properties[key] = {
          type: opts.type,
          value
        };
      } else {
        properties[key] = {
          type: normalizePropType(opts)
        };
      }
    });
  }
}
function findPropsData(properties, isPage2) {
  return (isPage2 ? findPagePropsData(properties) : findComponentPropsData(properties.uP)) || {};
}
function findPagePropsData(properties) {
  const propsData = {};
  if (isPlainObject(properties)) {
    Object.keys(properties).forEach((name) => {
      if (builtInProps.indexOf(name) === -1) {
        propsData[name] = properties[name];
      }
    });
  }
  return propsData;
}
function initFormField(vm) {
  const vueOptions = vm.$options;
  if (isArray(vueOptions.behaviors) && vueOptions.behaviors.includes("uni://form-field")) {
    vm.$watch("modelValue", () => {
      vm.$scope && vm.$scope.setData({
        name: vm.name,
        value: vm.modelValue
      });
    }, {
      immediate: true
    });
  }
}
function initData(_) {
  return {};
}
function initPropsObserver(componentOptions) {
  const observe = function observe2() {
    const up = this.properties.uP;
    if (!up) {
      return;
    }
    if (this.$vm) {
      updateComponentProps(up, this.$vm.$);
    } else if (this.properties.uT === "m") {
      updateMiniProgramComponentProperties(up, this);
    }
  };
  {
    if (!componentOptions.observers) {
      componentOptions.observers = {};
    }
    componentOptions.observers.uP = observe;
  }
}
function updateMiniProgramComponentProperties(up, mpInstance) {
  const prevProps = mpInstance.properties;
  const nextProps = findComponentPropsData(up) || {};
  if (hasPropsChanged(prevProps, nextProps, false)) {
    mpInstance.setData(nextProps);
  }
}
function updateComponentProps(up, instance) {
  const prevProps = toRaw(instance.props);
  const nextProps = findComponentPropsData(up) || {};
  if (hasPropsChanged(prevProps, nextProps)) {
    updateProps(instance, nextProps, prevProps, false);
    if (hasQueueJob(instance.update)) {
      invalidateJob(instance.update);
    }
    {
      instance.update();
    }
  }
}
function hasPropsChanged(prevProps, nextProps, checkLen = true) {
  const nextKeys = Object.keys(nextProps);
  if (checkLen && nextKeys.length !== Object.keys(prevProps).length) {
    return true;
  }
  for (let i = 0; i < nextKeys.length; i++) {
    const key = nextKeys[i];
    if (nextProps[key] !== prevProps[key]) {
      return true;
    }
  }
  return false;
}
function initBehaviors(vueOptions) {
  const vueBehaviors = vueOptions.behaviors;
  let vueProps = vueOptions.props;
  if (!vueProps) {
    vueOptions.props = vueProps = [];
  }
  const behaviors = [];
  if (isArray(vueBehaviors)) {
    vueBehaviors.forEach((behavior) => {
      behaviors.push(behavior.replace("uni://", "__GLOBAL__://"));
      if (behavior === "uni://form-field") {
        if (isArray(vueProps)) {
          vueProps.push("name");
          vueProps.push("modelValue");
        } else {
          vueProps.name = {
            type: String,
            default: ""
          };
          vueProps.modelValue = {
            type: [String, Number, Boolean, Array, Object, Date],
            default: ""
          };
        }
      }
    });
  }
  return behaviors;
}
function applyOptions(componentOptions, vueOptions) {
  componentOptions.data = initData();
  componentOptions.behaviors = initBehaviors(vueOptions);
}
function parseComponent(vueOptions, { parse: parse2, mocks: mocks2, isPage: isPage2, initRelation: initRelation2, handleLink: handleLink2, initLifetimes: initLifetimes2 }) {
  vueOptions = vueOptions.default || vueOptions;
  const options = {
    multipleSlots: true,
    // styleIsolation: 'apply-shared',
    addGlobalClass: true,
    pureDataPattern: /^uP$/
  };
  if (isArray(vueOptions.mixins)) {
    vueOptions.mixins.forEach((item) => {
      if (isObject$1(item.options)) {
        extend(options, item.options);
      }
    });
  }
  if (vueOptions.options) {
    extend(options, vueOptions.options);
  }
  const mpComponentOptions = {
    options,
    lifetimes: initLifetimes2({ mocks: mocks2, isPage: isPage2, initRelation: initRelation2, vueOptions }),
    pageLifetimes: {
      show() {
        this.$vm && this.$vm.$callHook("onPageShow");
      },
      hide() {
        this.$vm && this.$vm.$callHook("onPageHide");
      },
      resize(size2) {
        this.$vm && this.$vm.$callHook("onPageResize", size2);
      }
    },
    methods: {
      __l: handleLink2
    }
  };
  {
    applyOptions(mpComponentOptions, vueOptions);
  }
  initProps(mpComponentOptions);
  initPropsObserver(mpComponentOptions);
  initExtraOptions(mpComponentOptions, vueOptions);
  initWxsCallMethods(mpComponentOptions.methods, vueOptions.wxsCallMethods);
  {
    initWorkletMethods(mpComponentOptions.methods, vueOptions.methods);
  }
  if (parse2) {
    parse2(mpComponentOptions, { handleLink: handleLink2 });
  }
  return mpComponentOptions;
}
function initCreateComponent(parseOptions2) {
  return function createComponent2(vueComponentOptions) {
    return Component(parseComponent(vueComponentOptions, parseOptions2));
  };
}
let $createComponentFn;
let $destroyComponentFn;
function getAppVm() {
  return getApp().$vm;
}
function $createComponent(initialVNode, options) {
  if (!$createComponentFn) {
    $createComponentFn = getAppVm().$createComponent;
  }
  const proxy = $createComponentFn(initialVNode, options);
  return getExposeProxy(proxy.$) || proxy;
}
function $destroyComponent(instance) {
  if (!$destroyComponentFn) {
    $destroyComponentFn = getAppVm().$destroyComponent;
  }
  return $destroyComponentFn(instance);
}
function parsePage(vueOptions, parseOptions2) {
  const { parse: parse2, mocks: mocks2, isPage: isPage2, initRelation: initRelation2, handleLink: handleLink2, initLifetimes: initLifetimes2 } = parseOptions2;
  const miniProgramPageOptions = parseComponent(vueOptions, {
    mocks: mocks2,
    isPage: isPage2,
    initRelation: initRelation2,
    handleLink: handleLink2,
    initLifetimes: initLifetimes2
  });
  initPageProps(miniProgramPageOptions, (vueOptions.default || vueOptions).props);
  const methods = miniProgramPageOptions.methods;
  methods.onLoad = function(query) {
    this.options = query;
    this.$page = {
      fullPath: addLeadingSlash(this.route + stringifyQuery(query))
    };
    return this.$vm && this.$vm.$callHook(ON_LOAD, query);
  };
  initHooks(methods, PAGE_INIT_HOOKS);
  {
    initUnknownHooks(methods, vueOptions);
  }
  initRuntimeHooks(methods, vueOptions.__runtimeHooks);
  initMixinRuntimeHooks(methods);
  parse2 && parse2(miniProgramPageOptions, { handleLink: handleLink2 });
  return miniProgramPageOptions;
}
function initCreatePage(parseOptions2) {
  return function createPage2(vuePageOptions) {
    return Component(parsePage(vuePageOptions, parseOptions2));
  };
}
function initCreatePluginApp(parseAppOptions) {
  return function createApp2(vm) {
    initAppLifecycle(parseApp(vm, parseAppOptions), vm);
  };
}
const MPPage = Page;
const MPComponent = Component;
function initTriggerEvent(mpInstance) {
  const oldTriggerEvent = mpInstance.triggerEvent;
  const newTriggerEvent = function(event, ...args) {
    return oldTriggerEvent.apply(mpInstance, [customizeEvent(event), ...args]);
  };
  try {
    mpInstance.triggerEvent = newTriggerEvent;
  } catch (error) {
    mpInstance._triggerEvent = newTriggerEvent;
  }
}
function initMiniProgramHook(name, options, isComponent) {
  const oldHook = options[name];
  if (!oldHook) {
    options[name] = function() {
      initTriggerEvent(this);
    };
  } else {
    options[name] = function(...args) {
      initTriggerEvent(this);
      return oldHook.apply(this, args);
    };
  }
}
Page = function(options) {
  initMiniProgramHook(ON_LOAD, options);
  return MPPage(options);
};
Component = function(options) {
  initMiniProgramHook("created", options);
  const isVueComponent = options.properties && options.properties.uP;
  if (!isVueComponent) {
    initProps(options);
    initPropsObserver(options);
  }
  return MPComponent(options);
};
function initLifetimes({ mocks: mocks2, isPage: isPage2, initRelation: initRelation2, vueOptions }) {
  return {
    attached() {
      let properties = this.properties;
      initVueIds(properties.uI, this);
      const relationOptions = {
        vuePid: this._$vuePid
      };
      initRelation2(this, relationOptions);
      const mpInstance = this;
      const isMiniProgramPage = isPage2(mpInstance);
      let propsData = properties;
      this.$vm = $createComponent({
        type: vueOptions,
        props: findPropsData(propsData, isMiniProgramPage)
      }, {
        mpType: isMiniProgramPage ? "page" : "component",
        mpInstance,
        slots: properties.uS || {},
        // vueSlots
        parentComponent: relationOptions.parent && relationOptions.parent.$,
        onBeforeSetup(instance, options) {
          initRefs(instance, mpInstance);
          initMocks(instance, mpInstance, mocks2);
          initComponentInstance(instance, options);
        }
      });
      if (!isMiniProgramPage) {
        initFormField(this.$vm);
      }
    },
    ready() {
      if (this.$vm) {
        {
          this.$vm.$callHook("mounted");
          this.$vm.$callHook(ON_READY);
        }
      }
    },
    detached() {
      if (this.$vm) {
        pruneComponentPropsCache(this.$vm.$.uid);
        $destroyComponent(this.$vm);
      }
    }
  };
}
const mocks = ["__route__", "__wxExparserNodeId__", "__wxWebviewId__"];
function isPage(mpInstance) {
  return !!mpInstance.route;
}
function initRelation(mpInstance, detail) {
  mpInstance.triggerEvent("__l", detail);
}
function handleLink(event) {
  const detail = event.detail || event.value;
  const vuePid = detail.vuePid;
  let parentVm;
  if (vuePid) {
    parentVm = findVmByVueId(this.$vm, vuePid);
  }
  if (!parentVm) {
    parentVm = this.$vm;
  }
  detail.parent = parentVm;
}
var parseOptions = /* @__PURE__ */ Object.freeze({
  __proto__: null,
  handleLink,
  initLifetimes,
  initRelation,
  isPage,
  mocks
});
const createApp = initCreateApp();
const createPage = initCreatePage(parseOptions);
const createComponent = initCreateComponent(parseOptions);
const createPluginApp = initCreatePluginApp();
const createSubpackageApp = initCreateSubpackageApp();
{
  wx.createApp = global.createApp = createApp;
  wx.createPage = createPage;
  wx.createComponent = createComponent;
  wx.createPluginApp = global.createPluginApp = createPluginApp;
  wx.createSubpackageApp = global.createSubpackageApp = createSubpackageApp;
}
const createHook = (lifecycle) => (hook, target = getCurrentInstance()) => {
  !isInSSRComponentSetup && injectHook(lifecycle, hook, target);
};
const onShow = /* @__PURE__ */ createHook(ON_SHOW);
const onLoad = /* @__PURE__ */ createHook(ON_LOAD);
const onUnload = /* @__PURE__ */ createHook(ON_UNLOAD);
const onPageScroll = /* @__PURE__ */ createHook(ON_PAGE_SCROLL);
const onReachBottom = /* @__PURE__ */ createHook(ON_REACH_BOTTOM);
const onPullDownRefresh = /* @__PURE__ */ createHook(ON_PULL_DOWN_REFRESH);
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
function getDefaultExportFromCjs(x) {
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
}
function getAugmentedNamespace(n2) {
  if (n2.__esModule)
    return n2;
  var f2 = n2.default;
  if (typeof f2 == "function") {
    var a = function a2() {
      if (this instanceof a2) {
        return Reflect.construct(f2, arguments, this.constructor);
      }
      return f2.apply(this, arguments);
    };
    a.prototype = f2.prototype;
  } else
    a = {};
  Object.defineProperty(a, "__esModule", { value: true });
  Object.keys(n2).forEach(function(k) {
    var d = Object.getOwnPropertyDescriptor(n2, k);
    Object.defineProperty(a, k, d.get ? d : {
      enumerable: true,
      get: function() {
        return n2[k];
      }
    });
  });
  return a;
}
var cryptoJs$1 = { exports: {} };
function commonjsRequire(path) {
  throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
}
var core = { exports: {} };
const __viteBrowserExternal = new Proxy({}, {
  get(_, key) {
    throw new Error(`Module "" has been externalized for browser compatibility. Cannot access ".${key}" in client code.  See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`);
  }
});
const __viteBrowserExternal$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  default: __viteBrowserExternal
}, Symbol.toStringTag, { value: "Module" }));
const require$$0 = /* @__PURE__ */ getAugmentedNamespace(__viteBrowserExternal$1);
var hasRequiredCore;
function requireCore() {
  if (hasRequiredCore)
    return core.exports;
  hasRequiredCore = 1;
  (function(module2, exports2) {
    (function(root, factory) {
      {
        module2.exports = factory();
      }
    })(commonjsGlobal, function() {
      var CryptoJS = CryptoJS || function(Math2, undefined$1) {
        var crypto;
        if (typeof window !== "undefined" && window.crypto) {
          crypto = window.crypto;
        }
        if (typeof self !== "undefined" && self.crypto) {
          crypto = self.crypto;
        }
        if (typeof globalThis !== "undefined" && globalThis.crypto) {
          crypto = globalThis.crypto;
        }
        if (!crypto && typeof window !== "undefined" && window.msCrypto) {
          crypto = window.msCrypto;
        }
        if (!crypto && typeof commonjsGlobal !== "undefined" && commonjsGlobal.crypto) {
          crypto = commonjsGlobal.crypto;
        }
        if (!crypto && typeof commonjsRequire === "function") {
          try {
            crypto = require$$0;
          } catch (err) {
          }
        }
        var cryptoSecureRandomInt = function() {
          if (crypto) {
            if (typeof crypto.getRandomValues === "function") {
              try {
                return crypto.getRandomValues(new Uint32Array(1))[0];
              } catch (err) {
              }
            }
            if (typeof crypto.randomBytes === "function") {
              try {
                return crypto.randomBytes(4).readInt32LE();
              } catch (err) {
              }
            }
          }
          throw new Error("Native crypto module could not be used to get secure random number.");
        };
        var create = Object.create || /* @__PURE__ */ function() {
          function F() {
          }
          return function(obj) {
            var subtype;
            F.prototype = obj;
            subtype = new F();
            F.prototype = null;
            return subtype;
          };
        }();
        var C = {};
        var C_lib = C.lib = {};
        var Base = C_lib.Base = /* @__PURE__ */ function() {
          return {
            /**
             * Creates a new object that inherits from this object.
             *
             * @param {Object} overrides Properties to copy into the new object.
             *
             * @return {Object} The new object.
             *
             * @static
             *
             * @example
             *
             *     var MyType = CryptoJS.lib.Base.extend({
             *         field: 'value',
             *
             *         method: function () {
             *         }
             *     });
             */
            extend: function(overrides) {
              var subtype = create(this);
              if (overrides) {
                subtype.mixIn(overrides);
              }
              if (!subtype.hasOwnProperty("init") || this.init === subtype.init) {
                subtype.init = function() {
                  subtype.$super.init.apply(this, arguments);
                };
              }
              subtype.init.prototype = subtype;
              subtype.$super = this;
              return subtype;
            },
            /**
             * Extends this object and runs the init method.
             * Arguments to create() will be passed to init().
             *
             * @return {Object} The new object.
             *
             * @static
             *
             * @example
             *
             *     var instance = MyType.create();
             */
            create: function() {
              var instance = this.extend();
              instance.init.apply(instance, arguments);
              return instance;
            },
            /**
             * Initializes a newly created object.
             * Override this method to add some logic when your objects are created.
             *
             * @example
             *
             *     var MyType = CryptoJS.lib.Base.extend({
             *         init: function () {
             *             // ...
             *         }
             *     });
             */
            init: function() {
            },
            /**
             * Copies properties into this object.
             *
             * @param {Object} properties The properties to mix in.
             *
             * @example
             *
             *     MyType.mixIn({
             *         field: 'value'
             *     });
             */
            mixIn: function(properties) {
              for (var propertyName in properties) {
                if (properties.hasOwnProperty(propertyName)) {
                  this[propertyName] = properties[propertyName];
                }
              }
              if (properties.hasOwnProperty("toString")) {
                this.toString = properties.toString;
              }
            },
            /**
             * Creates a copy of this object.
             *
             * @return {Object} The clone.
             *
             * @example
             *
             *     var clone = instance.clone();
             */
            clone: function() {
              return this.init.prototype.extend(this);
            }
          };
        }();
        var WordArray = C_lib.WordArray = Base.extend({
          /**
           * Initializes a newly created word array.
           *
           * @param {Array} words (Optional) An array of 32-bit words.
           * @param {number} sigBytes (Optional) The number of significant bytes in the words.
           *
           * @example
           *
           *     var wordArray = CryptoJS.lib.WordArray.create();
           *     var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);
           *     var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);
           */
          init: function(words, sigBytes) {
            words = this.words = words || [];
            if (sigBytes != undefined$1) {
              this.sigBytes = sigBytes;
            } else {
              this.sigBytes = words.length * 4;
            }
          },
          /**
           * Converts this word array to a string.
           *
           * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex
           *
           * @return {string} The stringified word array.
           *
           * @example
           *
           *     var string = wordArray + '';
           *     var string = wordArray.toString();
           *     var string = wordArray.toString(CryptoJS.enc.Utf8);
           */
          toString: function(encoder) {
            return (encoder || Hex).stringify(this);
          },
          /**
           * Concatenates a word array to this word array.
           *
           * @param {WordArray} wordArray The word array to append.
           *
           * @return {WordArray} This word array.
           *
           * @example
           *
           *     wordArray1.concat(wordArray2);
           */
          concat: function(wordArray) {
            var thisWords = this.words;
            var thatWords = wordArray.words;
            var thisSigBytes = this.sigBytes;
            var thatSigBytes = wordArray.sigBytes;
            this.clamp();
            if (thisSigBytes % 4) {
              for (var i = 0; i < thatSigBytes; i++) {
                var thatByte = thatWords[i >>> 2] >>> 24 - i % 4 * 8 & 255;
                thisWords[thisSigBytes + i >>> 2] |= thatByte << 24 - (thisSigBytes + i) % 4 * 8;
              }
            } else {
              for (var j = 0; j < thatSigBytes; j += 4) {
                thisWords[thisSigBytes + j >>> 2] = thatWords[j >>> 2];
              }
            }
            this.sigBytes += thatSigBytes;
            return this;
          },
          /**
           * Removes insignificant bits.
           *
           * @example
           *
           *     wordArray.clamp();
           */
          clamp: function() {
            var words = this.words;
            var sigBytes = this.sigBytes;
            words[sigBytes >>> 2] &= 4294967295 << 32 - sigBytes % 4 * 8;
            words.length = Math2.ceil(sigBytes / 4);
          },
          /**
           * Creates a copy of this word array.
           *
           * @return {WordArray} The clone.
           *
           * @example
           *
           *     var clone = wordArray.clone();
           */
          clone: function() {
            var clone2 = Base.clone.call(this);
            clone2.words = this.words.slice(0);
            return clone2;
          },
          /**
           * Creates a word array filled with random bytes.
           *
           * @param {number} nBytes The number of random bytes to generate.
           *
           * @return {WordArray} The random word array.
           *
           * @static
           *
           * @example
           *
           *     var wordArray = CryptoJS.lib.WordArray.random(16);
           */
          random: function(nBytes) {
            var words = [];
            for (var i = 0; i < nBytes; i += 4) {
              words.push(cryptoSecureRandomInt());
            }
            return new WordArray.init(words, nBytes);
          }
        });
        var C_enc = C.enc = {};
        var Hex = C_enc.Hex = {
          /**
           * Converts a word array to a hex string.
           *
           * @param {WordArray} wordArray The word array.
           *
           * @return {string} The hex string.
           *
           * @static
           *
           * @example
           *
           *     var hexString = CryptoJS.enc.Hex.stringify(wordArray);
           */
          stringify: function(wordArray) {
            var words = wordArray.words;
            var sigBytes = wordArray.sigBytes;
            var hexChars = [];
            for (var i = 0; i < sigBytes; i++) {
              var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 255;
              hexChars.push((bite >>> 4).toString(16));
              hexChars.push((bite & 15).toString(16));
            }
            return hexChars.join("");
          },
          /**
           * Converts a hex string to a word array.
           *
           * @param {string} hexStr The hex string.
           *
           * @return {WordArray} The word array.
           *
           * @static
           *
           * @example
           *
           *     var wordArray = CryptoJS.enc.Hex.parse(hexString);
           */
          parse: function(hexStr) {
            var hexStrLength = hexStr.length;
            var words = [];
            for (var i = 0; i < hexStrLength; i += 2) {
              words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << 24 - i % 8 * 4;
            }
            return new WordArray.init(words, hexStrLength / 2);
          }
        };
        var Latin1 = C_enc.Latin1 = {
          /**
           * Converts a word array to a Latin1 string.
           *
           * @param {WordArray} wordArray The word array.
           *
           * @return {string} The Latin1 string.
           *
           * @static
           *
           * @example
           *
           *     var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);
           */
          stringify: function(wordArray) {
            var words = wordArray.words;
            var sigBytes = wordArray.sigBytes;
            var latin1Chars = [];
            for (var i = 0; i < sigBytes; i++) {
              var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 255;
              latin1Chars.push(String.fromCharCode(bite));
            }
            return latin1Chars.join("");
          },
          /**
           * Converts a Latin1 string to a word array.
           *
           * @param {string} latin1Str The Latin1 string.
           *
           * @return {WordArray} The word array.
           *
           * @static
           *
           * @example
           *
           *     var wordArray = CryptoJS.enc.Latin1.parse(latin1String);
           */
          parse: function(latin1Str) {
            var latin1StrLength = latin1Str.length;
            var words = [];
            for (var i = 0; i < latin1StrLength; i++) {
              words[i >>> 2] |= (latin1Str.charCodeAt(i) & 255) << 24 - i % 4 * 8;
            }
            return new WordArray.init(words, latin1StrLength);
          }
        };
        var Utf8 = C_enc.Utf8 = {
          /**
           * Converts a word array to a UTF-8 string.
           *
           * @param {WordArray} wordArray The word array.
           *
           * @return {string} The UTF-8 string.
           *
           * @static
           *
           * @example
           *
           *     var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);
           */
          stringify: function(wordArray) {
            try {
              return decodeURIComponent(escape(Latin1.stringify(wordArray)));
            } catch (e2) {
              throw new Error("Malformed UTF-8 data");
            }
          },
          /**
           * Converts a UTF-8 string to a word array.
           *
           * @param {string} utf8Str The UTF-8 string.
           *
           * @return {WordArray} The word array.
           *
           * @static
           *
           * @example
           *
           *     var wordArray = CryptoJS.enc.Utf8.parse(utf8String);
           */
          parse: function(utf8Str) {
            return Latin1.parse(unescape(encodeURIComponent(utf8Str)));
          }
        };
        var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({
          /**
           * Resets this block algorithm's data buffer to its initial state.
           *
           * @example
           *
           *     bufferedBlockAlgorithm.reset();
           */
          reset: function() {
            this._data = new WordArray.init();
            this._nDataBytes = 0;
          },
          /**
           * Adds new data to this block algorithm's buffer.
           *
           * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.
           *
           * @example
           *
           *     bufferedBlockAlgorithm._append('data');
           *     bufferedBlockAlgorithm._append(wordArray);
           */
          _append: function(data) {
            if (typeof data == "string") {
              data = Utf8.parse(data);
            }
            this._data.concat(data);
            this._nDataBytes += data.sigBytes;
          },
          /**
           * Processes available data blocks.
           *
           * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.
           *
           * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.
           *
           * @return {WordArray} The processed data.
           *
           * @example
           *
           *     var processedData = bufferedBlockAlgorithm._process();
           *     var processedData = bufferedBlockAlgorithm._process(!!'flush');
           */
          _process: function(doFlush) {
            var processedWords;
            var data = this._data;
            var dataWords = data.words;
            var dataSigBytes = data.sigBytes;
            var blockSize = this.blockSize;
            var blockSizeBytes = blockSize * 4;
            var nBlocksReady = dataSigBytes / blockSizeBytes;
            if (doFlush) {
              nBlocksReady = Math2.ceil(nBlocksReady);
            } else {
              nBlocksReady = Math2.max((nBlocksReady | 0) - this._minBufferSize, 0);
            }
            var nWordsReady = nBlocksReady * blockSize;
            var nBytesReady = Math2.min(nWordsReady * 4, dataSigBytes);
            if (nWordsReady) {
              for (var offset = 0; offset < nWordsReady; offset += blockSize) {
                this._doProcessBlock(dataWords, offset);
              }
              processedWords = dataWords.splice(0, nWordsReady);
              data.sigBytes -= nBytesReady;
            }
            return new WordArray.init(processedWords, nBytesReady);
          },
          /**
           * Creates a copy of this object.
           *
           * @return {Object} The clone.
           *
           * @example
           *
           *     var clone = bufferedBlockAlgorithm.clone();
           */
          clone: function() {
            var clone2 = Base.clone.call(this);
            clone2._data = this._data.clone();
            return clone2;
          },
          _minBufferSize: 0
        });
        C_lib.Hasher = BufferedBlockAlgorithm.extend({
          /**
           * Configuration options.
           */
          cfg: Base.extend(),
          /**
           * Initializes a newly created hasher.
           *
           * @param {Object} cfg (Optional) The configuration options to use for this hash computation.
           *
           * @example
           *
           *     var hasher = CryptoJS.algo.SHA256.create();
           */
          init: function(cfg) {
            this.cfg = this.cfg.extend(cfg);
            this.reset();
          },
          /**
           * Resets this hasher to its initial state.
           *
           * @example
           *
           *     hasher.reset();
           */
          reset: function() {
            BufferedBlockAlgorithm.reset.call(this);
            this._doReset();
          },
          /**
           * Updates this hasher with a message.
           *
           * @param {WordArray|string} messageUpdate The message to append.
           *
           * @return {Hasher} This hasher.
           *
           * @example
           *
           *     hasher.update('message');
           *     hasher.update(wordArray);
           */
          update: function(messageUpdate) {
            this._append(messageUpdate);
            this._process();
            return this;
          },
          /**
           * Finalizes the hash computation.
           * Note that the finalize operation is effectively a destructive, read-once operation.
           *
           * @param {WordArray|string} messageUpdate (Optional) A final message update.
           *
           * @return {WordArray} The hash.
           *
           * @example
           *
           *     var hash = hasher.finalize();
           *     var hash = hasher.finalize('message');
           *     var hash = hasher.finalize(wordArray);
           */
          finalize: function(messageUpdate) {
            if (messageUpdate) {
              this._append(messageUpdate);
            }
            var hash = this._doFinalize();
            return hash;
          },
          blockSize: 512 / 32,
          /**
           * Creates a shortcut function to a hasher's object interface.
           *
           * @param {Hasher} hasher The hasher to create a helper for.
           *
           * @return {Function} The shortcut function.
           *
           * @static
           *
           * @example
           *
           *     var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);
           */
          _createHelper: function(hasher) {
            return function(message, cfg) {
              return new hasher.init(cfg).finalize(message);
            };
          },
          /**
           * Creates a shortcut function to the HMAC's object interface.
           *
           * @param {Hasher} hasher The hasher to use in this HMAC helper.
           *
           * @return {Function} The shortcut function.
           *
           * @static
           *
           * @example
           *
           *     var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);
           */
          _createHmacHelper: function(hasher) {
            return function(message, key) {
              return new C_algo.HMAC.init(hasher, key).finalize(message);
            };
          }
        });
        var C_algo = C.algo = {};
        return C;
      }(Math);
      return CryptoJS;
    });
  })(core);
  return core.exports;
}
var x64Core = { exports: {} };
var hasRequiredX64Core;
function requireX64Core() {
  if (hasRequiredX64Core)
    return x64Core.exports;
  hasRequiredX64Core = 1;
  (function(module2, exports2) {
    (function(root, factory) {
      {
        module2.exports = factory(requireCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function(undefined$1) {
        var C = CryptoJS;
        var C_lib = C.lib;
        var Base = C_lib.Base;
        var X32WordArray = C_lib.WordArray;
        var C_x64 = C.x64 = {};
        C_x64.Word = Base.extend({
          /**
           * Initializes a newly created 64-bit word.
           *
           * @param {number} high The high 32 bits.
           * @param {number} low The low 32 bits.
           *
           * @example
           *
           *     var x64Word = CryptoJS.x64.Word.create(0x00010203, 0x04050607);
           */
          init: function(high, low) {
            this.high = high;
            this.low = low;
          }
          /**
           * Bitwise NOTs this word.
           *
           * @return {X64Word} A new x64-Word object after negating.
           *
           * @example
           *
           *     var negated = x64Word.not();
           */
          // not: function () {
          // var high = ~this.high;
          // var low = ~this.low;
          // return X64Word.create(high, low);
          // },
          /**
           * Bitwise ANDs this word with the passed word.
           *
           * @param {X64Word} word The x64-Word to AND with this word.
           *
           * @return {X64Word} A new x64-Word object after ANDing.
           *
           * @example
           *
           *     var anded = x64Word.and(anotherX64Word);
           */
          // and: function (word) {
          // var high = this.high & word.high;
          // var low = this.low & word.low;
          // return X64Word.create(high, low);
          // },
          /**
           * Bitwise ORs this word with the passed word.
           *
           * @param {X64Word} word The x64-Word to OR with this word.
           *
           * @return {X64Word} A new x64-Word object after ORing.
           *
           * @example
           *
           *     var ored = x64Word.or(anotherX64Word);
           */
          // or: function (word) {
          // var high = this.high | word.high;
          // var low = this.low | word.low;
          // return X64Word.create(high, low);
          // },
          /**
           * Bitwise XORs this word with the passed word.
           *
           * @param {X64Word} word The x64-Word to XOR with this word.
           *
           * @return {X64Word} A new x64-Word object after XORing.
           *
           * @example
           *
           *     var xored = x64Word.xor(anotherX64Word);
           */
          // xor: function (word) {
          // var high = this.high ^ word.high;
          // var low = this.low ^ word.low;
          // return X64Word.create(high, low);
          // },
          /**
           * Shifts this word n bits to the left.
           *
           * @param {number} n The number of bits to shift.
           *
           * @return {X64Word} A new x64-Word object after shifting.
           *
           * @example
           *
           *     var shifted = x64Word.shiftL(25);
           */
          // shiftL: function (n) {
          // if (n < 32) {
          // var high = (this.high << n) | (this.low >>> (32 - n));
          // var low = this.low << n;
          // } else {
          // var high = this.low << (n - 32);
          // var low = 0;
          // }
          // return X64Word.create(high, low);
          // },
          /**
           * Shifts this word n bits to the right.
           *
           * @param {number} n The number of bits to shift.
           *
           * @return {X64Word} A new x64-Word object after shifting.
           *
           * @example
           *
           *     var shifted = x64Word.shiftR(7);
           */
          // shiftR: function (n) {
          // if (n < 32) {
          // var low = (this.low >>> n) | (this.high << (32 - n));
          // var high = this.high >>> n;
          // } else {
          // var low = this.high >>> (n - 32);
          // var high = 0;
          // }
          // return X64Word.create(high, low);
          // },
          /**
           * Rotates this word n bits to the left.
           *
           * @param {number} n The number of bits to rotate.
           *
           * @return {X64Word} A new x64-Word object after rotating.
           *
           * @example
           *
           *     var rotated = x64Word.rotL(25);
           */
          // rotL: function (n) {
          // return this.shiftL(n).or(this.shiftR(64 - n));
          // },
          /**
           * Rotates this word n bits to the right.
           *
           * @param {number} n The number of bits to rotate.
           *
           * @return {X64Word} A new x64-Word object after rotating.
           *
           * @example
           *
           *     var rotated = x64Word.rotR(7);
           */
          // rotR: function (n) {
          // return this.shiftR(n).or(this.shiftL(64 - n));
          // },
          /**
           * Adds this word with the passed word.
           *
           * @param {X64Word} word The x64-Word to add with this word.
           *
           * @return {X64Word} A new x64-Word object after adding.
           *
           * @example
           *
           *     var added = x64Word.add(anotherX64Word);
           */
          // add: function (word) {
          // var low = (this.low + word.low) | 0;
          // var carry = (low >>> 0) < (this.low >>> 0) ? 1 : 0;
          // var high = (this.high + word.high + carry) | 0;
          // return X64Word.create(high, low);
          // }
        });
        C_x64.WordArray = Base.extend({
          /**
           * Initializes a newly created word array.
           *
           * @param {Array} words (Optional) An array of CryptoJS.x64.Word objects.
           * @param {number} sigBytes (Optional) The number of significant bytes in the words.
           *
           * @example
           *
           *     var wordArray = CryptoJS.x64.WordArray.create();
           *
           *     var wordArray = CryptoJS.x64.WordArray.create([
           *         CryptoJS.x64.Word.create(0x00010203, 0x04050607),
           *         CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f)
           *     ]);
           *
           *     var wordArray = CryptoJS.x64.WordArray.create([
           *         CryptoJS.x64.Word.create(0x00010203, 0x04050607),
           *         CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f)
           *     ], 10);
           */
          init: function(words, sigBytes) {
            words = this.words = words || [];
            if (sigBytes != undefined$1) {
              this.sigBytes = sigBytes;
            } else {
              this.sigBytes = words.length * 8;
            }
          },
          /**
           * Converts this 64-bit word array to a 32-bit word array.
           *
           * @return {CryptoJS.lib.WordArray} This word array's data as a 32-bit word array.
           *
           * @example
           *
           *     var x32WordArray = x64WordArray.toX32();
           */
          toX32: function() {
            var x64Words = this.words;
            var x64WordsLength = x64Words.length;
            var x32Words = [];
            for (var i = 0; i < x64WordsLength; i++) {
              var x64Word = x64Words[i];
              x32Words.push(x64Word.high);
              x32Words.push(x64Word.low);
            }
            return X32WordArray.create(x32Words, this.sigBytes);
          },
          /**
           * Creates a copy of this word array.
           *
           * @return {X64WordArray} The clone.
           *
           * @example
           *
           *     var clone = x64WordArray.clone();
           */
          clone: function() {
            var clone2 = Base.clone.call(this);
            var words = clone2.words = this.words.slice(0);
            var wordsLength = words.length;
            for (var i = 0; i < wordsLength; i++) {
              words[i] = words[i].clone();
            }
            return clone2;
          }
        });
      })();
      return CryptoJS;
    });
  })(x64Core);
  return x64Core.exports;
}
var libTypedarrays = { exports: {} };
var hasRequiredLibTypedarrays;
function requireLibTypedarrays() {
  if (hasRequiredLibTypedarrays)
    return libTypedarrays.exports;
  hasRequiredLibTypedarrays = 1;
  (function(module2, exports2) {
    (function(root, factory) {
      {
        module2.exports = factory(requireCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function() {
        if (typeof ArrayBuffer != "function") {
          return;
        }
        var C = CryptoJS;
        var C_lib = C.lib;
        var WordArray = C_lib.WordArray;
        var superInit = WordArray.init;
        var subInit = WordArray.init = function(typedArray) {
          if (typedArray instanceof ArrayBuffer) {
            typedArray = new Uint8Array(typedArray);
          }
          if (typedArray instanceof Int8Array || typeof Uint8ClampedArray !== "undefined" && typedArray instanceof Uint8ClampedArray || typedArray instanceof Int16Array || typedArray instanceof Uint16Array || typedArray instanceof Int32Array || typedArray instanceof Uint32Array || typedArray instanceof Float32Array || typedArray instanceof Float64Array) {
            typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength);
          }
          if (typedArray instanceof Uint8Array) {
            var typedArrayByteLength = typedArray.byteLength;
            var words = [];
            for (var i = 0; i < typedArrayByteLength; i++) {
              words[i >>> 2] |= typedArray[i] << 24 - i % 4 * 8;
            }
            superInit.call(this, words, typedArrayByteLength);
          } else {
            superInit.apply(this, arguments);
          }
        };
        subInit.prototype = WordArray;
      })();
      return CryptoJS.lib.WordArray;
    });
  })(libTypedarrays);
  return libTypedarrays.exports;
}
var encUtf16 = { exports: {} };
var hasRequiredEncUtf16;
function requireEncUtf16() {
  if (hasRequiredEncUtf16)
    return encUtf16.exports;
  hasRequiredEncUtf16 = 1;
  (function(module2, exports2) {
    (function(root, factory) {
      {
        module2.exports = factory(requireCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function() {
        var C = CryptoJS;
        var C_lib = C.lib;
        var WordArray = C_lib.WordArray;
        var C_enc = C.enc;
        C_enc.Utf16 = C_enc.Utf16BE = {
          /**
           * Converts a word array to a UTF-16 BE string.
           *
           * @param {WordArray} wordArray The word array.
           *
           * @return {string} The UTF-16 BE string.
           *
           * @static
           *
           * @example
           *
           *     var utf16String = CryptoJS.enc.Utf16.stringify(wordArray);
           */
          stringify: function(wordArray) {
            var words = wordArray.words;
            var sigBytes = wordArray.sigBytes;
            var utf16Chars = [];
            for (var i = 0; i < sigBytes; i += 2) {
              var codePoint = words[i >>> 2] >>> 16 - i % 4 * 8 & 65535;
              utf16Chars.push(String.fromCharCode(codePoint));
            }
            return utf16Chars.join("");
          },
          /**
           * Converts a UTF-16 BE string to a word array.
           *
           * @param {string} utf16Str The UTF-16 BE string.
           *
           * @return {WordArray} The word array.
           *
           * @static
           *
           * @example
           *
           *     var wordArray = CryptoJS.enc.Utf16.parse(utf16String);
           */
          parse: function(utf16Str) {
            var utf16StrLength = utf16Str.length;
            var words = [];
            for (var i = 0; i < utf16StrLength; i++) {
              words[i >>> 1] |= utf16Str.charCodeAt(i) << 16 - i % 2 * 16;
            }
            return WordArray.create(words, utf16StrLength * 2);
          }
        };
        C_enc.Utf16LE = {
          /**
           * Converts a word array to a UTF-16 LE string.
           *
           * @param {WordArray} wordArray The word array.
           *
           * @return {string} The UTF-16 LE string.
           *
           * @static
           *
           * @example
           *
           *     var utf16Str = CryptoJS.enc.Utf16LE.stringify(wordArray);
           */
          stringify: function(wordArray) {
            var words = wordArray.words;
            var sigBytes = wordArray.sigBytes;
            var utf16Chars = [];
            for (var i = 0; i < sigBytes; i += 2) {
              var codePoint = swapEndian(words[i >>> 2] >>> 16 - i % 4 * 8 & 65535);
              utf16Chars.push(String.fromCharCode(codePoint));
            }
            return utf16Chars.join("");
          },
          /**
           * Converts a UTF-16 LE string to a word array.
           *
           * @param {string} utf16Str The UTF-16 LE string.
           *
           * @return {WordArray} The word array.
           *
           * @static
           *
           * @example
           *
           *     var wordArray = CryptoJS.enc.Utf16LE.parse(utf16Str);
           */
          parse: function(utf16Str) {
            var utf16StrLength = utf16Str.length;
            var words = [];
            for (var i = 0; i < utf16StrLength; i++) {
              words[i >>> 1] |= swapEndian(utf16Str.charCodeAt(i) << 16 - i % 2 * 16);
            }
            return WordArray.create(words, utf16StrLength * 2);
          }
        };
        function swapEndian(word) {
          return word << 8 & 4278255360 | word >>> 8 & 16711935;
        }
      })();
      return CryptoJS.enc.Utf16;
    });
  })(encUtf16);
  return encUtf16.exports;
}
var encBase64 = { exports: {} };
var hasRequiredEncBase64;
function requireEncBase64() {
  if (hasRequiredEncBase64)
    return encBase64.exports;
  hasRequiredEncBase64 = 1;
  (function(module2, exports2) {
    (function(root, factory) {
      {
        module2.exports = factory(requireCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function() {
        var C = CryptoJS;
        var C_lib = C.lib;
        var WordArray = C_lib.WordArray;
        var C_enc = C.enc;
        C_enc.Base64 = {
          /**
           * Converts a word array to a Base64 string.
           *
           * @param {WordArray} wordArray The word array.
           *
           * @return {string} The Base64 string.
           *
           * @static
           *
           * @example
           *
           *     var base64String = CryptoJS.enc.Base64.stringify(wordArray);
           */
          stringify: function(wordArray) {
            var words = wordArray.words;
            var sigBytes = wordArray.sigBytes;
            var map2 = this._map;
            wordArray.clamp();
            var base64Chars = [];
            for (var i = 0; i < sigBytes; i += 3) {
              var byte1 = words[i >>> 2] >>> 24 - i % 4 * 8 & 255;
              var byte2 = words[i + 1 >>> 2] >>> 24 - (i + 1) % 4 * 8 & 255;
              var byte3 = words[i + 2 >>> 2] >>> 24 - (i + 2) % 4 * 8 & 255;
              var triplet = byte1 << 16 | byte2 << 8 | byte3;
              for (var j = 0; j < 4 && i + j * 0.75 < sigBytes; j++) {
                base64Chars.push(map2.charAt(triplet >>> 6 * (3 - j) & 63));
              }
            }
            var paddingChar = map2.charAt(64);
            if (paddingChar) {
              while (base64Chars.length % 4) {
                base64Chars.push(paddingChar);
              }
            }
            return base64Chars.join("");
          },
          /**
           * Converts a Base64 string to a word array.
           *
           * @param {string} base64Str The Base64 string.
           *
           * @return {WordArray} The word array.
           *
           * @static
           *
           * @example
           *
           *     var wordArray = CryptoJS.enc.Base64.parse(base64String);
           */
          parse: function(base64Str) {
            var base64StrLength = base64Str.length;
            var map2 = this._map;
            var reverseMap = this._reverseMap;
            if (!reverseMap) {
              reverseMap = this._reverseMap = [];
              for (var j = 0; j < map2.length; j++) {
                reverseMap[map2.charCodeAt(j)] = j;
              }
            }
            var paddingChar = map2.charAt(64);
            if (paddingChar) {
              var paddingIndex = base64Str.indexOf(paddingChar);
              if (paddingIndex !== -1) {
                base64StrLength = paddingIndex;
              }
            }
            return parseLoop(base64Str, base64StrLength, reverseMap);
          },
          _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
        };
        function parseLoop(base64Str, base64StrLength, reverseMap) {
          var words = [];
          var nBytes = 0;
          for (var i = 0; i < base64StrLength; i++) {
            if (i % 4) {
              var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << i % 4 * 2;
              var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> 6 - i % 4 * 2;
              var bitsCombined = bits1 | bits2;
              words[nBytes >>> 2] |= bitsCombined << 24 - nBytes % 4 * 8;
              nBytes++;
            }
          }
          return WordArray.create(words, nBytes);
        }
      })();
      return CryptoJS.enc.Base64;
    });
  })(encBase64);
  return encBase64.exports;
}
var encBase64url = { exports: {} };
var hasRequiredEncBase64url;
function requireEncBase64url() {
  if (hasRequiredEncBase64url)
    return encBase64url.exports;
  hasRequiredEncBase64url = 1;
  (function(module2, exports2) {
    (function(root, factory) {
      {
        module2.exports = factory(requireCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function() {
        var C = CryptoJS;
        var C_lib = C.lib;
        var WordArray = C_lib.WordArray;
        var C_enc = C.enc;
        C_enc.Base64url = {
          /**
           * Converts a word array to a Base64url string.
           *
           * @param {WordArray} wordArray The word array.
           *
           * @param {boolean} urlSafe Whether to use url safe
           *
           * @return {string} The Base64url string.
           *
           * @static
           *
           * @example
           *
           *     var base64String = CryptoJS.enc.Base64url.stringify(wordArray);
           */
          stringify: function(wordArray, urlSafe) {
            if (urlSafe === void 0) {
              urlSafe = true;
            }
            var words = wordArray.words;
            var sigBytes = wordArray.sigBytes;
            var map2 = urlSafe ? this._safe_map : this._map;
            wordArray.clamp();
            var base64Chars = [];
            for (var i = 0; i < sigBytes; i += 3) {
              var byte1 = words[i >>> 2] >>> 24 - i % 4 * 8 & 255;
              var byte2 = words[i + 1 >>> 2] >>> 24 - (i + 1) % 4 * 8 & 255;
              var byte3 = words[i + 2 >>> 2] >>> 24 - (i + 2) % 4 * 8 & 255;
              var triplet = byte1 << 16 | byte2 << 8 | byte3;
              for (var j = 0; j < 4 && i + j * 0.75 < sigBytes; j++) {
                base64Chars.push(map2.charAt(triplet >>> 6 * (3 - j) & 63));
              }
            }
            var paddingChar = map2.charAt(64);
            if (paddingChar) {
              while (base64Chars.length % 4) {
                base64Chars.push(paddingChar);
              }
            }
            return base64Chars.join("");
          },
          /**
           * Converts a Base64url string to a word array.
           *
           * @param {string} base64Str The Base64url string.
           *
           * @param {boolean} urlSafe Whether to use url safe
           *
           * @return {WordArray} The word array.
           *
           * @static
           *
           * @example
           *
           *     var wordArray = CryptoJS.enc.Base64url.parse(base64String);
           */
          parse: function(base64Str, urlSafe) {
            if (urlSafe === void 0) {
              urlSafe = true;
            }
            var base64StrLength = base64Str.length;
            var map2 = urlSafe ? this._safe_map : this._map;
            var reverseMap = this._reverseMap;
            if (!reverseMap) {
              reverseMap = this._reverseMap = [];
              for (var j = 0; j < map2.length; j++) {
                reverseMap[map2.charCodeAt(j)] = j;
              }
            }
            var paddingChar = map2.charAt(64);
            if (paddingChar) {
              var paddingIndex = base64Str.indexOf(paddingChar);
              if (paddingIndex !== -1) {
                base64StrLength = paddingIndex;
              }
            }
            return parseLoop(base64Str, base64StrLength, reverseMap);
          },
          _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
          _safe_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"
        };
        function parseLoop(base64Str, base64StrLength, reverseMap) {
          var words = [];
          var nBytes = 0;
          for (var i = 0; i < base64StrLength; i++) {
            if (i % 4) {
              var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << i % 4 * 2;
              var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> 6 - i % 4 * 2;
              var bitsCombined = bits1 | bits2;
              words[nBytes >>> 2] |= bitsCombined << 24 - nBytes % 4 * 8;
              nBytes++;
            }
          }
          return WordArray.create(words, nBytes);
        }
      })();
      return CryptoJS.enc.Base64url;
    });
  })(encBase64url);
  return encBase64url.exports;
}
var md5 = { exports: {} };
var hasRequiredMd5;
function requireMd5() {
  if (hasRequiredMd5)
    return md5.exports;
  hasRequiredMd5 = 1;
  (function(module2, exports2) {
    (function(root, factory) {
      {
        module2.exports = factory(requireCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function(Math2) {
        var C = CryptoJS;
        var C_lib = C.lib;
        var WordArray = C_lib.WordArray;
        var Hasher = C_lib.Hasher;
        var C_algo = C.algo;
        var T = [];
        (function() {
          for (var i = 0; i < 64; i++) {
            T[i] = Math2.abs(Math2.sin(i + 1)) * 4294967296 | 0;
          }
        })();
        var MD5 = C_algo.MD5 = Hasher.extend({
          _doReset: function() {
            this._hash = new WordArray.init([
              1732584193,
              4023233417,
              2562383102,
              271733878
            ]);
          },
          _doProcessBlock: function(M, offset) {
            for (var i = 0; i < 16; i++) {
              var offset_i = offset + i;
              var M_offset_i = M[offset_i];
              M[offset_i] = (M_offset_i << 8 | M_offset_i >>> 24) & 16711935 | (M_offset_i << 24 | M_offset_i >>> 8) & 4278255360;
            }
            var H = this._hash.words;
            var M_offset_0 = M[offset + 0];
            var M_offset_1 = M[offset + 1];
            var M_offset_2 = M[offset + 2];
            var M_offset_3 = M[offset + 3];
            var M_offset_4 = M[offset + 4];
            var M_offset_5 = M[offset + 5];
            var M_offset_6 = M[offset + 6];
            var M_offset_7 = M[offset + 7];
            var M_offset_8 = M[offset + 8];
            var M_offset_9 = M[offset + 9];
            var M_offset_10 = M[offset + 10];
            var M_offset_11 = M[offset + 11];
            var M_offset_12 = M[offset + 12];
            var M_offset_13 = M[offset + 13];
            var M_offset_14 = M[offset + 14];
            var M_offset_15 = M[offset + 15];
            var a = H[0];
            var b = H[1];
            var c = H[2];
            var d = H[3];
            a = FF(a, b, c, d, M_offset_0, 7, T[0]);
            d = FF(d, a, b, c, M_offset_1, 12, T[1]);
            c = FF(c, d, a, b, M_offset_2, 17, T[2]);
            b = FF(b, c, d, a, M_offset_3, 22, T[3]);
            a = FF(a, b, c, d, M_offset_4, 7, T[4]);
            d = FF(d, a, b, c, M_offset_5, 12, T[5]);
            c = FF(c, d, a, b, M_offset_6, 17, T[6]);
            b = FF(b, c, d, a, M_offset_7, 22, T[7]);
            a = FF(a, b, c, d, M_offset_8, 7, T[8]);
            d = FF(d, a, b, c, M_offset_9, 12, T[9]);
            c = FF(c, d, a, b, M_offset_10, 17, T[10]);
            b = FF(b, c, d, a, M_offset_11, 22, T[11]);
            a = FF(a, b, c, d, M_offset_12, 7, T[12]);
            d = FF(d, a, b, c, M_offset_13, 12, T[13]);
            c = FF(c, d, a, b, M_offset_14, 17, T[14]);
            b = FF(b, c, d, a, M_offset_15, 22, T[15]);
            a = GG(a, b, c, d, M_offset_1, 5, T[16]);
            d = GG(d, a, b, c, M_offset_6, 9, T[17]);
            c = GG(c, d, a, b, M_offset_11, 14, T[18]);
            b = GG(b, c, d, a, M_offset_0, 20, T[19]);
            a = GG(a, b, c, d, M_offset_5, 5, T[20]);
            d = GG(d, a, b, c, M_offset_10, 9, T[21]);
            c = GG(c, d, a, b, M_offset_15, 14, T[22]);
            b = GG(b, c, d, a, M_offset_4, 20, T[23]);
            a = GG(a, b, c, d, M_offset_9, 5, T[24]);
            d = GG(d, a, b, c, M_offset_14, 9, T[25]);
            c = GG(c, d, a, b, M_offset_3, 14, T[26]);
            b = GG(b, c, d, a, M_offset_8, 20, T[27]);
            a = GG(a, b, c, d, M_offset_13, 5, T[28]);
            d = GG(d, a, b, c, M_offset_2, 9, T[29]);
            c = GG(c, d, a, b, M_offset_7, 14, T[30]);
            b = GG(b, c, d, a, M_offset_12, 20, T[31]);
            a = HH(a, b, c, d, M_offset_5, 4, T[32]);
            d = HH(d, a, b, c, M_offset_8, 11, T[33]);
            c = HH(c, d, a, b, M_offset_11, 16, T[34]);
            b = HH(b, c, d, a, M_offset_14, 23, T[35]);
            a = HH(a, b, c, d, M_offset_1, 4, T[36]);
            d = HH(d, a, b, c, M_offset_4, 11, T[37]);
            c = HH(c, d, a, b, M_offset_7, 16, T[38]);
            b = HH(b, c, d, a, M_offset_10, 23, T[39]);
            a = HH(a, b, c, d, M_offset_13, 4, T[40]);
            d = HH(d, a, b, c, M_offset_0, 11, T[41]);
            c = HH(c, d, a, b, M_offset_3, 16, T[42]);
            b = HH(b, c, d, a, M_offset_6, 23, T[43]);
            a = HH(a, b, c, d, M_offset_9, 4, T[44]);
            d = HH(d, a, b, c, M_offset_12, 11, T[45]);
            c = HH(c, d, a, b, M_offset_15, 16, T[46]);
            b = HH(b, c, d, a, M_offset_2, 23, T[47]);
            a = II(a, b, c, d, M_offset_0, 6, T[48]);
            d = II(d, a, b, c, M_offset_7, 10, T[49]);
            c = II(c, d, a, b, M_offset_14, 15, T[50]);
            b = II(b, c, d, a, M_offset_5, 21, T[51]);
            a = II(a, b, c, d, M_offset_12, 6, T[52]);
            d = II(d, a, b, c, M_offset_3, 10, T[53]);
            c = II(c, d, a, b, M_offset_10, 15, T[54]);
            b = II(b, c, d, a, M_offset_1, 21, T[55]);
            a = II(a, b, c, d, M_offset_8, 6, T[56]);
            d = II(d, a, b, c, M_offset_15, 10, T[57]);
            c = II(c, d, a, b, M_offset_6, 15, T[58]);
            b = II(b, c, d, a, M_offset_13, 21, T[59]);
            a = II(a, b, c, d, M_offset_4, 6, T[60]);
            d = II(d, a, b, c, M_offset_11, 10, T[61]);
            c = II(c, d, a, b, M_offset_2, 15, T[62]);
            b = II(b, c, d, a, M_offset_9, 21, T[63]);
            H[0] = H[0] + a | 0;
            H[1] = H[1] + b | 0;
            H[2] = H[2] + c | 0;
            H[3] = H[3] + d | 0;
          },
          _doFinalize: function() {
            var data = this._data;
            var dataWords = data.words;
            var nBitsTotal = this._nDataBytes * 8;
            var nBitsLeft = data.sigBytes * 8;
            dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
            var nBitsTotalH = Math2.floor(nBitsTotal / 4294967296);
            var nBitsTotalL = nBitsTotal;
            dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = (nBitsTotalH << 8 | nBitsTotalH >>> 24) & 16711935 | (nBitsTotalH << 24 | nBitsTotalH >>> 8) & 4278255360;
            dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = (nBitsTotalL << 8 | nBitsTotalL >>> 24) & 16711935 | (nBitsTotalL << 24 | nBitsTotalL >>> 8) & 4278255360;
            data.sigBytes = (dataWords.length + 1) * 4;
            this._process();
            var hash = this._hash;
            var H = hash.words;
            for (var i = 0; i < 4; i++) {
              var H_i = H[i];
              H[i] = (H_i << 8 | H_i >>> 24) & 16711935 | (H_i << 24 | H_i >>> 8) & 4278255360;
            }
            return hash;
          },
          clone: function() {
            var clone2 = Hasher.clone.call(this);
            clone2._hash = this._hash.clone();
            return clone2;
          }
        });
        function FF(a, b, c, d, x, s2, t2) {
          var n2 = a + (b & c | ~b & d) + x + t2;
          return (n2 << s2 | n2 >>> 32 - s2) + b;
        }
        function GG(a, b, c, d, x, s2, t2) {
          var n2 = a + (b & d | c & ~d) + x + t2;
          return (n2 << s2 | n2 >>> 32 - s2) + b;
        }
        function HH(a, b, c, d, x, s2, t2) {
          var n2 = a + (b ^ c ^ d) + x + t2;
          return (n2 << s2 | n2 >>> 32 - s2) + b;
        }
        function II(a, b, c, d, x, s2, t2) {
          var n2 = a + (c ^ (b | ~d)) + x + t2;
          return (n2 << s2 | n2 >>> 32 - s2) + b;
        }
        C.MD5 = Hasher._createHelper(MD5);
        C.HmacMD5 = Hasher._createHmacHelper(MD5);
      })(Math);
      return CryptoJS.MD5;
    });
  })(md5);
  return md5.exports;
}
var sha1 = { exports: {} };
var hasRequiredSha1;
function requireSha1() {
  if (hasRequiredSha1)
    return sha1.exports;
  hasRequiredSha1 = 1;
  (function(module2, exports2) {
    (function(root, factory) {
      {
        module2.exports = factory(requireCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function() {
        var C = CryptoJS;
        var C_lib = C.lib;
        var WordArray = C_lib.WordArray;
        var Hasher = C_lib.Hasher;
        var C_algo = C.algo;
        var W = [];
        var SHA1 = C_algo.SHA1 = Hasher.extend({
          _doReset: function() {
            this._hash = new WordArray.init([
              1732584193,
              4023233417,
              2562383102,
              271733878,
              3285377520
            ]);
          },
          _doProcessBlock: function(M, offset) {
            var H = this._hash.words;
            var a = H[0];
            var b = H[1];
            var c = H[2];
            var d = H[3];
            var e2 = H[4];
            for (var i = 0; i < 80; i++) {
              if (i < 16) {
                W[i] = M[offset + i] | 0;
              } else {
                var n2 = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];
                W[i] = n2 << 1 | n2 >>> 31;
              }
              var t2 = (a << 5 | a >>> 27) + e2 + W[i];
              if (i < 20) {
                t2 += (b & c | ~b & d) + 1518500249;
              } else if (i < 40) {
                t2 += (b ^ c ^ d) + 1859775393;
              } else if (i < 60) {
                t2 += (b & c | b & d | c & d) - 1894007588;
              } else {
                t2 += (b ^ c ^ d) - 899497514;
              }
              e2 = d;
              d = c;
              c = b << 30 | b >>> 2;
              b = a;
              a = t2;
            }
            H[0] = H[0] + a | 0;
            H[1] = H[1] + b | 0;
            H[2] = H[2] + c | 0;
            H[3] = H[3] + d | 0;
            H[4] = H[4] + e2 | 0;
          },
          _doFinalize: function() {
            var data = this._data;
            var dataWords = data.words;
            var nBitsTotal = this._nDataBytes * 8;
            var nBitsLeft = data.sigBytes * 8;
            dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
            dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math.floor(nBitsTotal / 4294967296);
            dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal;
            data.sigBytes = dataWords.length * 4;
            this._process();
            return this._hash;
          },
          clone: function() {
            var clone2 = Hasher.clone.call(this);
            clone2._hash = this._hash.clone();
            return clone2;
          }
        });
        C.SHA1 = Hasher._createHelper(SHA1);
        C.HmacSHA1 = Hasher._createHmacHelper(SHA1);
      })();
      return CryptoJS.SHA1;
    });
  })(sha1);
  return sha1.exports;
}
var sha256 = { exports: {} };
var hasRequiredSha256;
function requireSha256() {
  if (hasRequiredSha256)
    return sha256.exports;
  hasRequiredSha256 = 1;
  (function(module2, exports2) {
    (function(root, factory) {
      {
        module2.exports = factory(requireCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function(Math2) {
        var C = CryptoJS;
        var C_lib = C.lib;
        var WordArray = C_lib.WordArray;
        var Hasher = C_lib.Hasher;
        var C_algo = C.algo;
        var H = [];
        var K = [];
        (function() {
          function isPrime(n3) {
            var sqrtN = Math2.sqrt(n3);
            for (var factor = 2; factor <= sqrtN; factor++) {
              if (!(n3 % factor)) {
                return false;
              }
            }
            return true;
          }
          function getFractionalBits(n3) {
            return (n3 - (n3 | 0)) * 4294967296 | 0;
          }
          var n2 = 2;
          var nPrime = 0;
          while (nPrime < 64) {
            if (isPrime(n2)) {
              if (nPrime < 8) {
                H[nPrime] = getFractionalBits(Math2.pow(n2, 1 / 2));
              }
              K[nPrime] = getFractionalBits(Math2.pow(n2, 1 / 3));
              nPrime++;
            }
            n2++;
          }
        })();
        var W = [];
        var SHA256 = C_algo.SHA256 = Hasher.extend({
          _doReset: function() {
            this._hash = new WordArray.init(H.slice(0));
          },
          _doProcessBlock: function(M, offset) {
            var H2 = this._hash.words;
            var a = H2[0];
            var b = H2[1];
            var c = H2[2];
            var d = H2[3];
            var e2 = H2[4];
            var f2 = H2[5];
            var g = H2[6];
            var h = H2[7];
            for (var i = 0; i < 64; i++) {
              if (i < 16) {
                W[i] = M[offset + i] | 0;
              } else {
                var gamma0x = W[i - 15];
                var gamma0 = (gamma0x << 25 | gamma0x >>> 7) ^ (gamma0x << 14 | gamma0x >>> 18) ^ gamma0x >>> 3;
                var gamma1x = W[i - 2];
                var gamma1 = (gamma1x << 15 | gamma1x >>> 17) ^ (gamma1x << 13 | gamma1x >>> 19) ^ gamma1x >>> 10;
                W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];
              }
              var ch = e2 & f2 ^ ~e2 & g;
              var maj = a & b ^ a & c ^ b & c;
              var sigma0 = (a << 30 | a >>> 2) ^ (a << 19 | a >>> 13) ^ (a << 10 | a >>> 22);
              var sigma1 = (e2 << 26 | e2 >>> 6) ^ (e2 << 21 | e2 >>> 11) ^ (e2 << 7 | e2 >>> 25);
              var t1 = h + sigma1 + ch + K[i] + W[i];
              var t2 = sigma0 + maj;
              h = g;
              g = f2;
              f2 = e2;
              e2 = d + t1 | 0;
              d = c;
              c = b;
              b = a;
              a = t1 + t2 | 0;
            }
            H2[0] = H2[0] + a | 0;
            H2[1] = H2[1] + b | 0;
            H2[2] = H2[2] + c | 0;
            H2[3] = H2[3] + d | 0;
            H2[4] = H2[4] + e2 | 0;
            H2[5] = H2[5] + f2 | 0;
            H2[6] = H2[6] + g | 0;
            H2[7] = H2[7] + h | 0;
          },
          _doFinalize: function() {
            var data = this._data;
            var dataWords = data.words;
            var nBitsTotal = this._nDataBytes * 8;
            var nBitsLeft = data.sigBytes * 8;
            dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
            dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math2.floor(nBitsTotal / 4294967296);
            dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal;
            data.sigBytes = dataWords.length * 4;
            this._process();
            return this._hash;
          },
          clone: function() {
            var clone2 = Hasher.clone.call(this);
            clone2._hash = this._hash.clone();
            return clone2;
          }
        });
        C.SHA256 = Hasher._createHelper(SHA256);
        C.HmacSHA256 = Hasher._createHmacHelper(SHA256);
      })(Math);
      return CryptoJS.SHA256;
    });
  })(sha256);
  return sha256.exports;
}
var sha224 = { exports: {} };
var hasRequiredSha224;
function requireSha224() {
  if (hasRequiredSha224)
    return sha224.exports;
  hasRequiredSha224 = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireSha256());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function() {
        var C = CryptoJS;
        var C_lib = C.lib;
        var WordArray = C_lib.WordArray;
        var C_algo = C.algo;
        var SHA256 = C_algo.SHA256;
        var SHA224 = C_algo.SHA224 = SHA256.extend({
          _doReset: function() {
            this._hash = new WordArray.init([
              3238371032,
              914150663,
              812702999,
              4144912697,
              4290775857,
              1750603025,
              1694076839,
              3204075428
            ]);
          },
          _doFinalize: function() {
            var hash = SHA256._doFinalize.call(this);
            hash.sigBytes -= 4;
            return hash;
          }
        });
        C.SHA224 = SHA256._createHelper(SHA224);
        C.HmacSHA224 = SHA256._createHmacHelper(SHA224);
      })();
      return CryptoJS.SHA224;
    });
  })(sha224);
  return sha224.exports;
}
var sha512 = { exports: {} };
var hasRequiredSha512;
function requireSha512() {
  if (hasRequiredSha512)
    return sha512.exports;
  hasRequiredSha512 = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireX64Core());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function() {
        var C = CryptoJS;
        var C_lib = C.lib;
        var Hasher = C_lib.Hasher;
        var C_x64 = C.x64;
        var X64Word = C_x64.Word;
        var X64WordArray = C_x64.WordArray;
        var C_algo = C.algo;
        function X64Word_create() {
          return X64Word.create.apply(X64Word, arguments);
        }
        var K = [
          X64Word_create(1116352408, 3609767458),
          X64Word_create(1899447441, 602891725),
          X64Word_create(3049323471, 3964484399),
          X64Word_create(3921009573, 2173295548),
          X64Word_create(961987163, 4081628472),
          X64Word_create(1508970993, 3053834265),
          X64Word_create(2453635748, 2937671579),
          X64Word_create(2870763221, 3664609560),
          X64Word_create(3624381080, 2734883394),
          X64Word_create(310598401, 1164996542),
          X64Word_create(607225278, 1323610764),
          X64Word_create(1426881987, 3590304994),
          X64Word_create(1925078388, 4068182383),
          X64Word_create(2162078206, 991336113),
          X64Word_create(2614888103, 633803317),
          X64Word_create(3248222580, 3479774868),
          X64Word_create(3835390401, 2666613458),
          X64Word_create(4022224774, 944711139),
          X64Word_create(264347078, 2341262773),
          X64Word_create(604807628, 2007800933),
          X64Word_create(770255983, 1495990901),
          X64Word_create(1249150122, 1856431235),
          X64Word_create(1555081692, 3175218132),
          X64Word_create(1996064986, 2198950837),
          X64Word_create(2554220882, 3999719339),
          X64Word_create(2821834349, 766784016),
          X64Word_create(2952996808, 2566594879),
          X64Word_create(3210313671, 3203337956),
          X64Word_create(3336571891, 1034457026),
          X64Word_create(3584528711, 2466948901),
          X64Word_create(113926993, 3758326383),
          X64Word_create(338241895, 168717936),
          X64Word_create(666307205, 1188179964),
          X64Word_create(773529912, 1546045734),
          X64Word_create(1294757372, 1522805485),
          X64Word_create(1396182291, 2643833823),
          X64Word_create(1695183700, 2343527390),
          X64Word_create(1986661051, 1014477480),
          X64Word_create(2177026350, 1206759142),
          X64Word_create(2456956037, 344077627),
          X64Word_create(2730485921, 1290863460),
          X64Word_create(2820302411, 3158454273),
          X64Word_create(3259730800, 3505952657),
          X64Word_create(3345764771, 106217008),
          X64Word_create(3516065817, 3606008344),
          X64Word_create(3600352804, 1432725776),
          X64Word_create(4094571909, 1467031594),
          X64Word_create(275423344, 851169720),
          X64Word_create(430227734, 3100823752),
          X64Word_create(506948616, 1363258195),
          X64Word_create(659060556, 3750685593),
          X64Word_create(883997877, 3785050280),
          X64Word_create(958139571, 3318307427),
          X64Word_create(1322822218, 3812723403),
          X64Word_create(1537002063, 2003034995),
          X64Word_create(1747873779, 3602036899),
          X64Word_create(1955562222, 1575990012),
          X64Word_create(2024104815, 1125592928),
          X64Word_create(2227730452, 2716904306),
          X64Word_create(2361852424, 442776044),
          X64Word_create(2428436474, 593698344),
          X64Word_create(2756734187, 3733110249),
          X64Word_create(3204031479, 2999351573),
          X64Word_create(3329325298, 3815920427),
          X64Word_create(3391569614, 3928383900),
          X64Word_create(3515267271, 566280711),
          X64Word_create(3940187606, 3454069534),
          X64Word_create(4118630271, 4000239992),
          X64Word_create(116418474, 1914138554),
          X64Word_create(174292421, 2731055270),
          X64Word_create(289380356, 3203993006),
          X64Word_create(460393269, 320620315),
          X64Word_create(685471733, 587496836),
          X64Word_create(852142971, 1086792851),
          X64Word_create(1017036298, 365543100),
          X64Word_create(1126000580, 2618297676),
          X64Word_create(1288033470, 3409855158),
          X64Word_create(1501505948, 4234509866),
          X64Word_create(1607167915, 987167468),
          X64Word_create(1816402316, 1246189591)
        ];
        var W = [];
        (function() {
          for (var i = 0; i < 80; i++) {
            W[i] = X64Word_create();
          }
        })();
        var SHA512 = C_algo.SHA512 = Hasher.extend({
          _doReset: function() {
            this._hash = new X64WordArray.init([
              new X64Word.init(1779033703, 4089235720),
              new X64Word.init(3144134277, 2227873595),
              new X64Word.init(1013904242, 4271175723),
              new X64Word.init(2773480762, 1595750129),
              new X64Word.init(1359893119, 2917565137),
              new X64Word.init(2600822924, 725511199),
              new X64Word.init(528734635, 4215389547),
              new X64Word.init(1541459225, 327033209)
            ]);
          },
          _doProcessBlock: function(M, offset) {
            var H = this._hash.words;
            var H0 = H[0];
            var H1 = H[1];
            var H2 = H[2];
            var H3 = H[3];
            var H4 = H[4];
            var H5 = H[5];
            var H6 = H[6];
            var H7 = H[7];
            var H0h = H0.high;
            var H0l = H0.low;
            var H1h = H1.high;
            var H1l = H1.low;
            var H2h = H2.high;
            var H2l = H2.low;
            var H3h = H3.high;
            var H3l = H3.low;
            var H4h = H4.high;
            var H4l = H4.low;
            var H5h = H5.high;
            var H5l = H5.low;
            var H6h = H6.high;
            var H6l = H6.low;
            var H7h = H7.high;
            var H7l = H7.low;
            var ah = H0h;
            var al = H0l;
            var bh = H1h;
            var bl = H1l;
            var ch = H2h;
            var cl = H2l;
            var dh = H3h;
            var dl = H3l;
            var eh = H4h;
            var el = H4l;
            var fh = H5h;
            var fl = H5l;
            var gh = H6h;
            var gl = H6l;
            var hh = H7h;
            var hl = H7l;
            for (var i = 0; i < 80; i++) {
              var Wil;
              var Wih;
              var Wi = W[i];
              if (i < 16) {
                Wih = Wi.high = M[offset + i * 2] | 0;
                Wil = Wi.low = M[offset + i * 2 + 1] | 0;
              } else {
                var gamma0x = W[i - 15];
                var gamma0xh = gamma0x.high;
                var gamma0xl = gamma0x.low;
                var gamma0h = (gamma0xh >>> 1 | gamma0xl << 31) ^ (gamma0xh >>> 8 | gamma0xl << 24) ^ gamma0xh >>> 7;
                var gamma0l = (gamma0xl >>> 1 | gamma0xh << 31) ^ (gamma0xl >>> 8 | gamma0xh << 24) ^ (gamma0xl >>> 7 | gamma0xh << 25);
                var gamma1x = W[i - 2];
                var gamma1xh = gamma1x.high;
                var gamma1xl = gamma1x.low;
                var gamma1h = (gamma1xh >>> 19 | gamma1xl << 13) ^ (gamma1xh << 3 | gamma1xl >>> 29) ^ gamma1xh >>> 6;
                var gamma1l = (gamma1xl >>> 19 | gamma1xh << 13) ^ (gamma1xl << 3 | gamma1xh >>> 29) ^ (gamma1xl >>> 6 | gamma1xh << 26);
                var Wi7 = W[i - 7];
                var Wi7h = Wi7.high;
                var Wi7l = Wi7.low;
                var Wi16 = W[i - 16];
                var Wi16h = Wi16.high;
                var Wi16l = Wi16.low;
                Wil = gamma0l + Wi7l;
                Wih = gamma0h + Wi7h + (Wil >>> 0 < gamma0l >>> 0 ? 1 : 0);
                Wil = Wil + gamma1l;
                Wih = Wih + gamma1h + (Wil >>> 0 < gamma1l >>> 0 ? 1 : 0);
                Wil = Wil + Wi16l;
                Wih = Wih + Wi16h + (Wil >>> 0 < Wi16l >>> 0 ? 1 : 0);
                Wi.high = Wih;
                Wi.low = Wil;
              }
              var chh = eh & fh ^ ~eh & gh;
              var chl = el & fl ^ ~el & gl;
              var majh = ah & bh ^ ah & ch ^ bh & ch;
              var majl = al & bl ^ al & cl ^ bl & cl;
              var sigma0h = (ah >>> 28 | al << 4) ^ (ah << 30 | al >>> 2) ^ (ah << 25 | al >>> 7);
              var sigma0l = (al >>> 28 | ah << 4) ^ (al << 30 | ah >>> 2) ^ (al << 25 | ah >>> 7);
              var sigma1h = (eh >>> 14 | el << 18) ^ (eh >>> 18 | el << 14) ^ (eh << 23 | el >>> 9);
              var sigma1l = (el >>> 14 | eh << 18) ^ (el >>> 18 | eh << 14) ^ (el << 23 | eh >>> 9);
              var Ki = K[i];
              var Kih = Ki.high;
              var Kil = Ki.low;
              var t1l = hl + sigma1l;
              var t1h = hh + sigma1h + (t1l >>> 0 < hl >>> 0 ? 1 : 0);
              var t1l = t1l + chl;
              var t1h = t1h + chh + (t1l >>> 0 < chl >>> 0 ? 1 : 0);
              var t1l = t1l + Kil;
              var t1h = t1h + Kih + (t1l >>> 0 < Kil >>> 0 ? 1 : 0);
              var t1l = t1l + Wil;
              var t1h = t1h + Wih + (t1l >>> 0 < Wil >>> 0 ? 1 : 0);
              var t2l = sigma0l + majl;
              var t2h = sigma0h + majh + (t2l >>> 0 < sigma0l >>> 0 ? 1 : 0);
              hh = gh;
              hl = gl;
              gh = fh;
              gl = fl;
              fh = eh;
              fl = el;
              el = dl + t1l | 0;
              eh = dh + t1h + (el >>> 0 < dl >>> 0 ? 1 : 0) | 0;
              dh = ch;
              dl = cl;
              ch = bh;
              cl = bl;
              bh = ah;
              bl = al;
              al = t1l + t2l | 0;
              ah = t1h + t2h + (al >>> 0 < t1l >>> 0 ? 1 : 0) | 0;
            }
            H0l = H0.low = H0l + al;
            H0.high = H0h + ah + (H0l >>> 0 < al >>> 0 ? 1 : 0);
            H1l = H1.low = H1l + bl;
            H1.high = H1h + bh + (H1l >>> 0 < bl >>> 0 ? 1 : 0);
            H2l = H2.low = H2l + cl;
            H2.high = H2h + ch + (H2l >>> 0 < cl >>> 0 ? 1 : 0);
            H3l = H3.low = H3l + dl;
            H3.high = H3h + dh + (H3l >>> 0 < dl >>> 0 ? 1 : 0);
            H4l = H4.low = H4l + el;
            H4.high = H4h + eh + (H4l >>> 0 < el >>> 0 ? 1 : 0);
            H5l = H5.low = H5l + fl;
            H5.high = H5h + fh + (H5l >>> 0 < fl >>> 0 ? 1 : 0);
            H6l = H6.low = H6l + gl;
            H6.high = H6h + gh + (H6l >>> 0 < gl >>> 0 ? 1 : 0);
            H7l = H7.low = H7l + hl;
            H7.high = H7h + hh + (H7l >>> 0 < hl >>> 0 ? 1 : 0);
          },
          _doFinalize: function() {
            var data = this._data;
            var dataWords = data.words;
            var nBitsTotal = this._nDataBytes * 8;
            var nBitsLeft = data.sigBytes * 8;
            dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
            dataWords[(nBitsLeft + 128 >>> 10 << 5) + 30] = Math.floor(nBitsTotal / 4294967296);
            dataWords[(nBitsLeft + 128 >>> 10 << 5) + 31] = nBitsTotal;
            data.sigBytes = dataWords.length * 4;
            this._process();
            var hash = this._hash.toX32();
            return hash;
          },
          clone: function() {
            var clone2 = Hasher.clone.call(this);
            clone2._hash = this._hash.clone();
            return clone2;
          },
          blockSize: 1024 / 32
        });
        C.SHA512 = Hasher._createHelper(SHA512);
        C.HmacSHA512 = Hasher._createHmacHelper(SHA512);
      })();
      return CryptoJS.SHA512;
    });
  })(sha512);
  return sha512.exports;
}
var sha384 = { exports: {} };
var hasRequiredSha384;
function requireSha384() {
  if (hasRequiredSha384)
    return sha384.exports;
  hasRequiredSha384 = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireX64Core(), requireSha512());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function() {
        var C = CryptoJS;
        var C_x64 = C.x64;
        var X64Word = C_x64.Word;
        var X64WordArray = C_x64.WordArray;
        var C_algo = C.algo;
        var SHA512 = C_algo.SHA512;
        var SHA384 = C_algo.SHA384 = SHA512.extend({
          _doReset: function() {
            this._hash = new X64WordArray.init([
              new X64Word.init(3418070365, 3238371032),
              new X64Word.init(1654270250, 914150663),
              new X64Word.init(2438529370, 812702999),
              new X64Word.init(355462360, 4144912697),
              new X64Word.init(1731405415, 4290775857),
              new X64Word.init(2394180231, 1750603025),
              new X64Word.init(3675008525, 1694076839),
              new X64Word.init(1203062813, 3204075428)
            ]);
          },
          _doFinalize: function() {
            var hash = SHA512._doFinalize.call(this);
            hash.sigBytes -= 16;
            return hash;
          }
        });
        C.SHA384 = SHA512._createHelper(SHA384);
        C.HmacSHA384 = SHA512._createHmacHelper(SHA384);
      })();
      return CryptoJS.SHA384;
    });
  })(sha384);
  return sha384.exports;
}
var sha3 = { exports: {} };
var hasRequiredSha3;
function requireSha3() {
  if (hasRequiredSha3)
    return sha3.exports;
  hasRequiredSha3 = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireX64Core());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function(Math2) {
        var C = CryptoJS;
        var C_lib = C.lib;
        var WordArray = C_lib.WordArray;
        var Hasher = C_lib.Hasher;
        var C_x64 = C.x64;
        var X64Word = C_x64.Word;
        var C_algo = C.algo;
        var RHO_OFFSETS = [];
        var PI_INDEXES = [];
        var ROUND_CONSTANTS = [];
        (function() {
          var x = 1, y = 0;
          for (var t2 = 0; t2 < 24; t2++) {
            RHO_OFFSETS[x + 5 * y] = (t2 + 1) * (t2 + 2) / 2 % 64;
            var newX = y % 5;
            var newY = (2 * x + 3 * y) % 5;
            x = newX;
            y = newY;
          }
          for (var x = 0; x < 5; x++) {
            for (var y = 0; y < 5; y++) {
              PI_INDEXES[x + 5 * y] = y + (2 * x + 3 * y) % 5 * 5;
            }
          }
          var LFSR = 1;
          for (var i = 0; i < 24; i++) {
            var roundConstantMsw = 0;
            var roundConstantLsw = 0;
            for (var j = 0; j < 7; j++) {
              if (LFSR & 1) {
                var bitPosition = (1 << j) - 1;
                if (bitPosition < 32) {
                  roundConstantLsw ^= 1 << bitPosition;
                } else {
                  roundConstantMsw ^= 1 << bitPosition - 32;
                }
              }
              if (LFSR & 128) {
                LFSR = LFSR << 1 ^ 113;
              } else {
                LFSR <<= 1;
              }
            }
            ROUND_CONSTANTS[i] = X64Word.create(roundConstantMsw, roundConstantLsw);
          }
        })();
        var T = [];
        (function() {
          for (var i = 0; i < 25; i++) {
            T[i] = X64Word.create();
          }
        })();
        var SHA3 = C_algo.SHA3 = Hasher.extend({
          /**
           * Configuration options.
           *
           * @property {number} outputLength
           *   The desired number of bits in the output hash.
           *   Only values permitted are: 224, 256, 384, 512.
           *   Default: 512
           */
          cfg: Hasher.cfg.extend({
            outputLength: 512
          }),
          _doReset: function() {
            var state = this._state = [];
            for (var i = 0; i < 25; i++) {
              state[i] = new X64Word.init();
            }
            this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32;
          },
          _doProcessBlock: function(M, offset) {
            var state = this._state;
            var nBlockSizeLanes = this.blockSize / 2;
            for (var i = 0; i < nBlockSizeLanes; i++) {
              var M2i = M[offset + 2 * i];
              var M2i1 = M[offset + 2 * i + 1];
              M2i = (M2i << 8 | M2i >>> 24) & 16711935 | (M2i << 24 | M2i >>> 8) & 4278255360;
              M2i1 = (M2i1 << 8 | M2i1 >>> 24) & 16711935 | (M2i1 << 24 | M2i1 >>> 8) & 4278255360;
              var lane = state[i];
              lane.high ^= M2i1;
              lane.low ^= M2i;
            }
            for (var round = 0; round < 24; round++) {
              for (var x = 0; x < 5; x++) {
                var tMsw = 0, tLsw = 0;
                for (var y = 0; y < 5; y++) {
                  var lane = state[x + 5 * y];
                  tMsw ^= lane.high;
                  tLsw ^= lane.low;
                }
                var Tx = T[x];
                Tx.high = tMsw;
                Tx.low = tLsw;
              }
              for (var x = 0; x < 5; x++) {
                var Tx4 = T[(x + 4) % 5];
                var Tx1 = T[(x + 1) % 5];
                var Tx1Msw = Tx1.high;
                var Tx1Lsw = Tx1.low;
                var tMsw = Tx4.high ^ (Tx1Msw << 1 | Tx1Lsw >>> 31);
                var tLsw = Tx4.low ^ (Tx1Lsw << 1 | Tx1Msw >>> 31);
                for (var y = 0; y < 5; y++) {
                  var lane = state[x + 5 * y];
                  lane.high ^= tMsw;
                  lane.low ^= tLsw;
                }
              }
              for (var laneIndex = 1; laneIndex < 25; laneIndex++) {
                var tMsw;
                var tLsw;
                var lane = state[laneIndex];
                var laneMsw = lane.high;
                var laneLsw = lane.low;
                var rhoOffset = RHO_OFFSETS[laneIndex];
                if (rhoOffset < 32) {
                  tMsw = laneMsw << rhoOffset | laneLsw >>> 32 - rhoOffset;
                  tLsw = laneLsw << rhoOffset | laneMsw >>> 32 - rhoOffset;
                } else {
                  tMsw = laneLsw << rhoOffset - 32 | laneMsw >>> 64 - rhoOffset;
                  tLsw = laneMsw << rhoOffset - 32 | laneLsw >>> 64 - rhoOffset;
                }
                var TPiLane = T[PI_INDEXES[laneIndex]];
                TPiLane.high = tMsw;
                TPiLane.low = tLsw;
              }
              var T0 = T[0];
              var state0 = state[0];
              T0.high = state0.high;
              T0.low = state0.low;
              for (var x = 0; x < 5; x++) {
                for (var y = 0; y < 5; y++) {
                  var laneIndex = x + 5 * y;
                  var lane = state[laneIndex];
                  var TLane = T[laneIndex];
                  var Tx1Lane = T[(x + 1) % 5 + 5 * y];
                  var Tx2Lane = T[(x + 2) % 5 + 5 * y];
                  lane.high = TLane.high ^ ~Tx1Lane.high & Tx2Lane.high;
                  lane.low = TLane.low ^ ~Tx1Lane.low & Tx2Lane.low;
                }
              }
              var lane = state[0];
              var roundConstant = ROUND_CONSTANTS[round];
              lane.high ^= roundConstant.high;
              lane.low ^= roundConstant.low;
            }
          },
          _doFinalize: function() {
            var data = this._data;
            var dataWords = data.words;
            this._nDataBytes * 8;
            var nBitsLeft = data.sigBytes * 8;
            var blockSizeBits = this.blockSize * 32;
            dataWords[nBitsLeft >>> 5] |= 1 << 24 - nBitsLeft % 32;
            dataWords[(Math2.ceil((nBitsLeft + 1) / blockSizeBits) * blockSizeBits >>> 5) - 1] |= 128;
            data.sigBytes = dataWords.length * 4;
            this._process();
            var state = this._state;
            var outputLengthBytes = this.cfg.outputLength / 8;
            var outputLengthLanes = outputLengthBytes / 8;
            var hashWords = [];
            for (var i = 0; i < outputLengthLanes; i++) {
              var lane = state[i];
              var laneMsw = lane.high;
              var laneLsw = lane.low;
              laneMsw = (laneMsw << 8 | laneMsw >>> 24) & 16711935 | (laneMsw << 24 | laneMsw >>> 8) & 4278255360;
              laneLsw = (laneLsw << 8 | laneLsw >>> 24) & 16711935 | (laneLsw << 24 | laneLsw >>> 8) & 4278255360;
              hashWords.push(laneLsw);
              hashWords.push(laneMsw);
            }
            return new WordArray.init(hashWords, outputLengthBytes);
          },
          clone: function() {
            var clone2 = Hasher.clone.call(this);
            var state = clone2._state = this._state.slice(0);
            for (var i = 0; i < 25; i++) {
              state[i] = state[i].clone();
            }
            return clone2;
          }
        });
        C.SHA3 = Hasher._createHelper(SHA3);
        C.HmacSHA3 = Hasher._createHmacHelper(SHA3);
      })(Math);
      return CryptoJS.SHA3;
    });
  })(sha3);
  return sha3.exports;
}
var ripemd160 = { exports: {} };
var hasRequiredRipemd160;
function requireRipemd160() {
  if (hasRequiredRipemd160)
    return ripemd160.exports;
  hasRequiredRipemd160 = 1;
  (function(module2, exports2) {
    (function(root, factory) {
      {
        module2.exports = factory(requireCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      /** @preserve
      			(c) 2012 by Cédric Mesnil. All rights reserved.
      
      			Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
      
      			    - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
      			    - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
      
      			THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
      			*/
      (function(Math2) {
        var C = CryptoJS;
        var C_lib = C.lib;
        var WordArray = C_lib.WordArray;
        var Hasher = C_lib.Hasher;
        var C_algo = C.algo;
        var _zl = WordArray.create([
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          7,
          4,
          13,
          1,
          10,
          6,
          15,
          3,
          12,
          0,
          9,
          5,
          2,
          14,
          11,
          8,
          3,
          10,
          14,
          4,
          9,
          15,
          8,
          1,
          2,
          7,
          0,
          6,
          13,
          11,
          5,
          12,
          1,
          9,
          11,
          10,
          0,
          8,
          12,
          4,
          13,
          3,
          7,
          15,
          14,
          5,
          6,
          2,
          4,
          0,
          5,
          9,
          7,
          12,
          2,
          10,
          14,
          1,
          3,
          8,
          11,
          6,
          15,
          13
        ]);
        var _zr = WordArray.create([
          5,
          14,
          7,
          0,
          9,
          2,
          11,
          4,
          13,
          6,
          15,
          8,
          1,
          10,
          3,
          12,
          6,
          11,
          3,
          7,
          0,
          13,
          5,
          10,
          14,
          15,
          8,
          12,
          4,
          9,
          1,
          2,
          15,
          5,
          1,
          3,
          7,
          14,
          6,
          9,
          11,
          8,
          12,
          2,
          10,
          0,
          4,
          13,
          8,
          6,
          4,
          1,
          3,
          11,
          15,
          0,
          5,
          12,
          2,
          13,
          9,
          7,
          10,
          14,
          12,
          15,
          10,
          4,
          1,
          5,
          8,
          7,
          6,
          2,
          13,
          14,
          0,
          3,
          9,
          11
        ]);
        var _sl = WordArray.create([
          11,
          14,
          15,
          12,
          5,
          8,
          7,
          9,
          11,
          13,
          14,
          15,
          6,
          7,
          9,
          8,
          7,
          6,
          8,
          13,
          11,
          9,
          7,
          15,
          7,
          12,
          15,
          9,
          11,
          7,
          13,
          12,
          11,
          13,
          6,
          7,
          14,
          9,
          13,
          15,
          14,
          8,
          13,
          6,
          5,
          12,
          7,
          5,
          11,
          12,
          14,
          15,
          14,
          15,
          9,
          8,
          9,
          14,
          5,
          6,
          8,
          6,
          5,
          12,
          9,
          15,
          5,
          11,
          6,
          8,
          13,
          12,
          5,
          12,
          13,
          14,
          11,
          8,
          5,
          6
        ]);
        var _sr = WordArray.create([
          8,
          9,
          9,
          11,
          13,
          15,
          15,
          5,
          7,
          7,
          8,
          11,
          14,
          14,
          12,
          6,
          9,
          13,
          15,
          7,
          12,
          8,
          9,
          11,
          7,
          7,
          12,
          7,
          6,
          15,
          13,
          11,
          9,
          7,
          15,
          11,
          8,
          6,
          6,
          14,
          12,
          13,
          5,
          14,
          13,
          13,
          7,
          5,
          15,
          5,
          8,
          11,
          14,
          14,
          6,
          14,
          6,
          9,
          12,
          9,
          12,
          5,
          15,
          8,
          8,
          5,
          12,
          9,
          12,
          5,
          14,
          6,
          8,
          13,
          6,
          5,
          15,
          13,
          11,
          11
        ]);
        var _hl = WordArray.create([0, 1518500249, 1859775393, 2400959708, 2840853838]);
        var _hr = WordArray.create([1352829926, 1548603684, 1836072691, 2053994217, 0]);
        var RIPEMD160 = C_algo.RIPEMD160 = Hasher.extend({
          _doReset: function() {
            this._hash = WordArray.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520]);
          },
          _doProcessBlock: function(M, offset) {
            for (var i = 0; i < 16; i++) {
              var offset_i = offset + i;
              var M_offset_i = M[offset_i];
              M[offset_i] = (M_offset_i << 8 | M_offset_i >>> 24) & 16711935 | (M_offset_i << 24 | M_offset_i >>> 8) & 4278255360;
            }
            var H = this._hash.words;
            var hl = _hl.words;
            var hr = _hr.words;
            var zl = _zl.words;
            var zr = _zr.words;
            var sl = _sl.words;
            var sr2 = _sr.words;
            var al, bl, cl, dl, el;
            var ar, br, cr, dr, er;
            ar = al = H[0];
            br = bl = H[1];
            cr = cl = H[2];
            dr = dl = H[3];
            er = el = H[4];
            var t2;
            for (var i = 0; i < 80; i += 1) {
              t2 = al + M[offset + zl[i]] | 0;
              if (i < 16) {
                t2 += f1(bl, cl, dl) + hl[0];
              } else if (i < 32) {
                t2 += f2(bl, cl, dl) + hl[1];
              } else if (i < 48) {
                t2 += f3(bl, cl, dl) + hl[2];
              } else if (i < 64) {
                t2 += f4(bl, cl, dl) + hl[3];
              } else {
                t2 += f5(bl, cl, dl) + hl[4];
              }
              t2 = t2 | 0;
              t2 = rotl(t2, sl[i]);
              t2 = t2 + el | 0;
              al = el;
              el = dl;
              dl = rotl(cl, 10);
              cl = bl;
              bl = t2;
              t2 = ar + M[offset + zr[i]] | 0;
              if (i < 16) {
                t2 += f5(br, cr, dr) + hr[0];
              } else if (i < 32) {
                t2 += f4(br, cr, dr) + hr[1];
              } else if (i < 48) {
                t2 += f3(br, cr, dr) + hr[2];
              } else if (i < 64) {
                t2 += f2(br, cr, dr) + hr[3];
              } else {
                t2 += f1(br, cr, dr) + hr[4];
              }
              t2 = t2 | 0;
              t2 = rotl(t2, sr2[i]);
              t2 = t2 + er | 0;
              ar = er;
              er = dr;
              dr = rotl(cr, 10);
              cr = br;
              br = t2;
            }
            t2 = H[1] + cl + dr | 0;
            H[1] = H[2] + dl + er | 0;
            H[2] = H[3] + el + ar | 0;
            H[3] = H[4] + al + br | 0;
            H[4] = H[0] + bl + cr | 0;
            H[0] = t2;
          },
          _doFinalize: function() {
            var data = this._data;
            var dataWords = data.words;
            var nBitsTotal = this._nDataBytes * 8;
            var nBitsLeft = data.sigBytes * 8;
            dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
            dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = (nBitsTotal << 8 | nBitsTotal >>> 24) & 16711935 | (nBitsTotal << 24 | nBitsTotal >>> 8) & 4278255360;
            data.sigBytes = (dataWords.length + 1) * 4;
            this._process();
            var hash = this._hash;
            var H = hash.words;
            for (var i = 0; i < 5; i++) {
              var H_i = H[i];
              H[i] = (H_i << 8 | H_i >>> 24) & 16711935 | (H_i << 24 | H_i >>> 8) & 4278255360;
            }
            return hash;
          },
          clone: function() {
            var clone2 = Hasher.clone.call(this);
            clone2._hash = this._hash.clone();
            return clone2;
          }
        });
        function f1(x, y, z) {
          return x ^ y ^ z;
        }
        function f2(x, y, z) {
          return x & y | ~x & z;
        }
        function f3(x, y, z) {
          return (x | ~y) ^ z;
        }
        function f4(x, y, z) {
          return x & z | y & ~z;
        }
        function f5(x, y, z) {
          return x ^ (y | ~z);
        }
        function rotl(x, n2) {
          return x << n2 | x >>> 32 - n2;
        }
        C.RIPEMD160 = Hasher._createHelper(RIPEMD160);
        C.HmacRIPEMD160 = Hasher._createHmacHelper(RIPEMD160);
      })();
      return CryptoJS.RIPEMD160;
    });
  })(ripemd160);
  return ripemd160.exports;
}
var hmac = { exports: {} };
var hasRequiredHmac;
function requireHmac() {
  if (hasRequiredHmac)
    return hmac.exports;
  hasRequiredHmac = 1;
  (function(module2, exports2) {
    (function(root, factory) {
      {
        module2.exports = factory(requireCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function() {
        var C = CryptoJS;
        var C_lib = C.lib;
        var Base = C_lib.Base;
        var C_enc = C.enc;
        var Utf8 = C_enc.Utf8;
        var C_algo = C.algo;
        C_algo.HMAC = Base.extend({
          /**
           * Initializes a newly created HMAC.
           *
           * @param {Hasher} hasher The hash algorithm to use.
           * @param {WordArray|string} key The secret key.
           *
           * @example
           *
           *     var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key);
           */
          init: function(hasher, key) {
            hasher = this._hasher = new hasher.init();
            if (typeof key == "string") {
              key = Utf8.parse(key);
            }
            var hasherBlockSize = hasher.blockSize;
            var hasherBlockSizeBytes = hasherBlockSize * 4;
            if (key.sigBytes > hasherBlockSizeBytes) {
              key = hasher.finalize(key);
            }
            key.clamp();
            var oKey = this._oKey = key.clone();
            var iKey = this._iKey = key.clone();
            var oKeyWords = oKey.words;
            var iKeyWords = iKey.words;
            for (var i = 0; i < hasherBlockSize; i++) {
              oKeyWords[i] ^= 1549556828;
              iKeyWords[i] ^= 909522486;
            }
            oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes;
            this.reset();
          },
          /**
           * Resets this HMAC to its initial state.
           *
           * @example
           *
           *     hmacHasher.reset();
           */
          reset: function() {
            var hasher = this._hasher;
            hasher.reset();
            hasher.update(this._iKey);
          },
          /**
           * Updates this HMAC with a message.
           *
           * @param {WordArray|string} messageUpdate The message to append.
           *
           * @return {HMAC} This HMAC instance.
           *
           * @example
           *
           *     hmacHasher.update('message');
           *     hmacHasher.update(wordArray);
           */
          update: function(messageUpdate) {
            this._hasher.update(messageUpdate);
            return this;
          },
          /**
           * Finalizes the HMAC computation.
           * Note that the finalize operation is effectively a destructive, read-once operation.
           *
           * @param {WordArray|string} messageUpdate (Optional) A final message update.
           *
           * @return {WordArray} The HMAC.
           *
           * @example
           *
           *     var hmac = hmacHasher.finalize();
           *     var hmac = hmacHasher.finalize('message');
           *     var hmac = hmacHasher.finalize(wordArray);
           */
          finalize: function(messageUpdate) {
            var hasher = this._hasher;
            var innerHash = hasher.finalize(messageUpdate);
            hasher.reset();
            var hmac2 = hasher.finalize(this._oKey.clone().concat(innerHash));
            return hmac2;
          }
        });
      })();
    });
  })(hmac);
  return hmac.exports;
}
var pbkdf2 = { exports: {} };
var hasRequiredPbkdf2;
function requirePbkdf2() {
  if (hasRequiredPbkdf2)
    return pbkdf2.exports;
  hasRequiredPbkdf2 = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireSha256(), requireHmac());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function() {
        var C = CryptoJS;
        var C_lib = C.lib;
        var Base = C_lib.Base;
        var WordArray = C_lib.WordArray;
        var C_algo = C.algo;
        var SHA256 = C_algo.SHA256;
        var HMAC = C_algo.HMAC;
        var PBKDF2 = C_algo.PBKDF2 = Base.extend({
          /**
           * Configuration options.
           *
           * @property {number} keySize The key size in words to generate. Default: 4 (128 bits)
           * @property {Hasher} hasher The hasher to use. Default: SHA256
           * @property {number} iterations The number of iterations to perform. Default: 250000
           */
          cfg: Base.extend({
            keySize: 128 / 32,
            hasher: SHA256,
            iterations: 25e4
          }),
          /**
           * Initializes a newly created key derivation function.
           *
           * @param {Object} cfg (Optional) The configuration options to use for the derivation.
           *
           * @example
           *
           *     var kdf = CryptoJS.algo.PBKDF2.create();
           *     var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8 });
           *     var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8, iterations: 1000 });
           */
          init: function(cfg) {
            this.cfg = this.cfg.extend(cfg);
          },
          /**
           * Computes the Password-Based Key Derivation Function 2.
           *
           * @param {WordArray|string} password The password.
           * @param {WordArray|string} salt A salt.
           *
           * @return {WordArray} The derived key.
           *
           * @example
           *
           *     var key = kdf.compute(password, salt);
           */
          compute: function(password, salt) {
            var cfg = this.cfg;
            var hmac2 = HMAC.create(cfg.hasher, password);
            var derivedKey = WordArray.create();
            var blockIndex = WordArray.create([1]);
            var derivedKeyWords = derivedKey.words;
            var blockIndexWords = blockIndex.words;
            var keySize = cfg.keySize;
            var iterations = cfg.iterations;
            while (derivedKeyWords.length < keySize) {
              var block = hmac2.update(salt).finalize(blockIndex);
              hmac2.reset();
              var blockWords = block.words;
              var blockWordsLength = blockWords.length;
              var intermediate = block;
              for (var i = 1; i < iterations; i++) {
                intermediate = hmac2.finalize(intermediate);
                hmac2.reset();
                var intermediateWords = intermediate.words;
                for (var j = 0; j < blockWordsLength; j++) {
                  blockWords[j] ^= intermediateWords[j];
                }
              }
              derivedKey.concat(block);
              blockIndexWords[0]++;
            }
            derivedKey.sigBytes = keySize * 4;
            return derivedKey;
          }
        });
        C.PBKDF2 = function(password, salt, cfg) {
          return PBKDF2.create(cfg).compute(password, salt);
        };
      })();
      return CryptoJS.PBKDF2;
    });
  })(pbkdf2);
  return pbkdf2.exports;
}
var evpkdf = { exports: {} };
var hasRequiredEvpkdf;
function requireEvpkdf() {
  if (hasRequiredEvpkdf)
    return evpkdf.exports;
  hasRequiredEvpkdf = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireSha1(), requireHmac());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function() {
        var C = CryptoJS;
        var C_lib = C.lib;
        var Base = C_lib.Base;
        var WordArray = C_lib.WordArray;
        var C_algo = C.algo;
        var MD5 = C_algo.MD5;
        var EvpKDF = C_algo.EvpKDF = Base.extend({
          /**
           * Configuration options.
           *
           * @property {number} keySize The key size in words to generate. Default: 4 (128 bits)
           * @property {Hasher} hasher The hash algorithm to use. Default: MD5
           * @property {number} iterations The number of iterations to perform. Default: 1
           */
          cfg: Base.extend({
            keySize: 128 / 32,
            hasher: MD5,
            iterations: 1
          }),
          /**
           * Initializes a newly created key derivation function.
           *
           * @param {Object} cfg (Optional) The configuration options to use for the derivation.
           *
           * @example
           *
           *     var kdf = CryptoJS.algo.EvpKDF.create();
           *     var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8 });
           *     var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8, iterations: 1000 });
           */
          init: function(cfg) {
            this.cfg = this.cfg.extend(cfg);
          },
          /**
           * Derives a key from a password.
           *
           * @param {WordArray|string} password The password.
           * @param {WordArray|string} salt A salt.
           *
           * @return {WordArray} The derived key.
           *
           * @example
           *
           *     var key = kdf.compute(password, salt);
           */
          compute: function(password, salt) {
            var block;
            var cfg = this.cfg;
            var hasher = cfg.hasher.create();
            var derivedKey = WordArray.create();
            var derivedKeyWords = derivedKey.words;
            var keySize = cfg.keySize;
            var iterations = cfg.iterations;
            while (derivedKeyWords.length < keySize) {
              if (block) {
                hasher.update(block);
              }
              block = hasher.update(password).finalize(salt);
              hasher.reset();
              for (var i = 1; i < iterations; i++) {
                block = hasher.finalize(block);
                hasher.reset();
              }
              derivedKey.concat(block);
            }
            derivedKey.sigBytes = keySize * 4;
            return derivedKey;
          }
        });
        C.EvpKDF = function(password, salt, cfg) {
          return EvpKDF.create(cfg).compute(password, salt);
        };
      })();
      return CryptoJS.EvpKDF;
    });
  })(evpkdf);
  return evpkdf.exports;
}
var cipherCore = { exports: {} };
var hasRequiredCipherCore;
function requireCipherCore() {
  if (hasRequiredCipherCore)
    return cipherCore.exports;
  hasRequiredCipherCore = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireEvpkdf());
      }
    })(commonjsGlobal, function(CryptoJS) {
      CryptoJS.lib.Cipher || function(undefined$1) {
        var C = CryptoJS;
        var C_lib = C.lib;
        var Base = C_lib.Base;
        var WordArray = C_lib.WordArray;
        var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm;
        var C_enc = C.enc;
        C_enc.Utf8;
        var Base64 = C_enc.Base64;
        var C_algo = C.algo;
        var EvpKDF = C_algo.EvpKDF;
        var Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({
          /**
           * Configuration options.
           *
           * @property {WordArray} iv The IV to use for this operation.
           */
          cfg: Base.extend(),
          /**
           * Creates this cipher in encryption mode.
           *
           * @param {WordArray} key The key.
           * @param {Object} cfg (Optional) The configuration options to use for this operation.
           *
           * @return {Cipher} A cipher instance.
           *
           * @static
           *
           * @example
           *
           *     var cipher = CryptoJS.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray });
           */
          createEncryptor: function(key, cfg) {
            return this.create(this._ENC_XFORM_MODE, key, cfg);
          },
          /**
           * Creates this cipher in decryption mode.
           *
           * @param {WordArray} key The key.
           * @param {Object} cfg (Optional) The configuration options to use for this operation.
           *
           * @return {Cipher} A cipher instance.
           *
           * @static
           *
           * @example
           *
           *     var cipher = CryptoJS.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray });
           */
          createDecryptor: function(key, cfg) {
            return this.create(this._DEC_XFORM_MODE, key, cfg);
          },
          /**
           * Initializes a newly created cipher.
           *
           * @param {number} xformMode Either the encryption or decryption transormation mode constant.
           * @param {WordArray} key The key.
           * @param {Object} cfg (Optional) The configuration options to use for this operation.
           *
           * @example
           *
           *     var cipher = CryptoJS.algo.AES.create(CryptoJS.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray });
           */
          init: function(xformMode, key, cfg) {
            this.cfg = this.cfg.extend(cfg);
            this._xformMode = xformMode;
            this._key = key;
            this.reset();
          },
          /**
           * Resets this cipher to its initial state.
           *
           * @example
           *
           *     cipher.reset();
           */
          reset: function() {
            BufferedBlockAlgorithm.reset.call(this);
            this._doReset();
          },
          /**
           * Adds data to be encrypted or decrypted.
           *
           * @param {WordArray|string} dataUpdate The data to encrypt or decrypt.
           *
           * @return {WordArray} The data after processing.
           *
           * @example
           *
           *     var encrypted = cipher.process('data');
           *     var encrypted = cipher.process(wordArray);
           */
          process: function(dataUpdate) {
            this._append(dataUpdate);
            return this._process();
          },
          /**
           * Finalizes the encryption or decryption process.
           * Note that the finalize operation is effectively a destructive, read-once operation.
           *
           * @param {WordArray|string} dataUpdate The final data to encrypt or decrypt.
           *
           * @return {WordArray} The data after final processing.
           *
           * @example
           *
           *     var encrypted = cipher.finalize();
           *     var encrypted = cipher.finalize('data');
           *     var encrypted = cipher.finalize(wordArray);
           */
          finalize: function(dataUpdate) {
            if (dataUpdate) {
              this._append(dataUpdate);
            }
            var finalProcessedData = this._doFinalize();
            return finalProcessedData;
          },
          keySize: 128 / 32,
          ivSize: 128 / 32,
          _ENC_XFORM_MODE: 1,
          _DEC_XFORM_MODE: 2,
          /**
           * Creates shortcut functions to a cipher's object interface.
           *
           * @param {Cipher} cipher The cipher to create a helper for.
           *
           * @return {Object} An object with encrypt and decrypt shortcut functions.
           *
           * @static
           *
           * @example
           *
           *     var AES = CryptoJS.lib.Cipher._createHelper(CryptoJS.algo.AES);
           */
          _createHelper: /* @__PURE__ */ function() {
            function selectCipherStrategy(key) {
              if (typeof key == "string") {
                return PasswordBasedCipher;
              } else {
                return SerializableCipher;
              }
            }
            return function(cipher) {
              return {
                encrypt: function(message, key, cfg) {
                  return selectCipherStrategy(key).encrypt(cipher, message, key, cfg);
                },
                decrypt: function(ciphertext, key, cfg) {
                  return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg);
                }
              };
            };
          }()
        });
        C_lib.StreamCipher = Cipher.extend({
          _doFinalize: function() {
            var finalProcessedBlocks = this._process(true);
            return finalProcessedBlocks;
          },
          blockSize: 1
        });
        var C_mode = C.mode = {};
        var BlockCipherMode = C_lib.BlockCipherMode = Base.extend({
          /**
           * Creates this mode for encryption.
           *
           * @param {Cipher} cipher A block cipher instance.
           * @param {Array} iv The IV words.
           *
           * @static
           *
           * @example
           *
           *     var mode = CryptoJS.mode.CBC.createEncryptor(cipher, iv.words);
           */
          createEncryptor: function(cipher, iv) {
            return this.Encryptor.create(cipher, iv);
          },
          /**
           * Creates this mode for decryption.
           *
           * @param {Cipher} cipher A block cipher instance.
           * @param {Array} iv The IV words.
           *
           * @static
           *
           * @example
           *
           *     var mode = CryptoJS.mode.CBC.createDecryptor(cipher, iv.words);
           */
          createDecryptor: function(cipher, iv) {
            return this.Decryptor.create(cipher, iv);
          },
          /**
           * Initializes a newly created mode.
           *
           * @param {Cipher} cipher A block cipher instance.
           * @param {Array} iv The IV words.
           *
           * @example
           *
           *     var mode = CryptoJS.mode.CBC.Encryptor.create(cipher, iv.words);
           */
          init: function(cipher, iv) {
            this._cipher = cipher;
            this._iv = iv;
          }
        });
        var CBC = C_mode.CBC = function() {
          var CBC2 = BlockCipherMode.extend();
          CBC2.Encryptor = CBC2.extend({
            /**
             * Processes the data block at offset.
             *
             * @param {Array} words The data words to operate on.
             * @param {number} offset The offset where the block starts.
             *
             * @example
             *
             *     mode.processBlock(data.words, offset);
             */
            processBlock: function(words, offset) {
              var cipher = this._cipher;
              var blockSize = cipher.blockSize;
              xorBlock.call(this, words, offset, blockSize);
              cipher.encryptBlock(words, offset);
              this._prevBlock = words.slice(offset, offset + blockSize);
            }
          });
          CBC2.Decryptor = CBC2.extend({
            /**
             * Processes the data block at offset.
             *
             * @param {Array} words The data words to operate on.
             * @param {number} offset The offset where the block starts.
             *
             * @example
             *
             *     mode.processBlock(data.words, offset);
             */
            processBlock: function(words, offset) {
              var cipher = this._cipher;
              var blockSize = cipher.blockSize;
              var thisBlock = words.slice(offset, offset + blockSize);
              cipher.decryptBlock(words, offset);
              xorBlock.call(this, words, offset, blockSize);
              this._prevBlock = thisBlock;
            }
          });
          function xorBlock(words, offset, blockSize) {
            var block;
            var iv = this._iv;
            if (iv) {
              block = iv;
              this._iv = undefined$1;
            } else {
              block = this._prevBlock;
            }
            for (var i = 0; i < blockSize; i++) {
              words[offset + i] ^= block[i];
            }
          }
          return CBC2;
        }();
        var C_pad = C.pad = {};
        var Pkcs7 = C_pad.Pkcs7 = {
          /**
           * Pads data using the algorithm defined in PKCS #5/7.
           *
           * @param {WordArray} data The data to pad.
           * @param {number} blockSize The multiple that the data should be padded to.
           *
           * @static
           *
           * @example
           *
           *     CryptoJS.pad.Pkcs7.pad(wordArray, 4);
           */
          pad: function(data, blockSize) {
            var blockSizeBytes = blockSize * 4;
            var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;
            var paddingWord = nPaddingBytes << 24 | nPaddingBytes << 16 | nPaddingBytes << 8 | nPaddingBytes;
            var paddingWords = [];
            for (var i = 0; i < nPaddingBytes; i += 4) {
              paddingWords.push(paddingWord);
            }
            var padding = WordArray.create(paddingWords, nPaddingBytes);
            data.concat(padding);
          },
          /**
           * Unpads data that had been padded using the algorithm defined in PKCS #5/7.
           *
           * @param {WordArray} data The data to unpad.
           *
           * @static
           *
           * @example
           *
           *     CryptoJS.pad.Pkcs7.unpad(wordArray);
           */
          unpad: function(data) {
            var nPaddingBytes = data.words[data.sigBytes - 1 >>> 2] & 255;
            data.sigBytes -= nPaddingBytes;
          }
        };
        C_lib.BlockCipher = Cipher.extend({
          /**
           * Configuration options.
           *
           * @property {Mode} mode The block mode to use. Default: CBC
           * @property {Padding} padding The padding strategy to use. Default: Pkcs7
           */
          cfg: Cipher.cfg.extend({
            mode: CBC,
            padding: Pkcs7
          }),
          reset: function() {
            var modeCreator;
            Cipher.reset.call(this);
            var cfg = this.cfg;
            var iv = cfg.iv;
            var mode = cfg.mode;
            if (this._xformMode == this._ENC_XFORM_MODE) {
              modeCreator = mode.createEncryptor;
            } else {
              modeCreator = mode.createDecryptor;
              this._minBufferSize = 1;
            }
            if (this._mode && this._mode.__creator == modeCreator) {
              this._mode.init(this, iv && iv.words);
            } else {
              this._mode = modeCreator.call(mode, this, iv && iv.words);
              this._mode.__creator = modeCreator;
            }
          },
          _doProcessBlock: function(words, offset) {
            this._mode.processBlock(words, offset);
          },
          _doFinalize: function() {
            var finalProcessedBlocks;
            var padding = this.cfg.padding;
            if (this._xformMode == this._ENC_XFORM_MODE) {
              padding.pad(this._data, this.blockSize);
              finalProcessedBlocks = this._process(true);
            } else {
              finalProcessedBlocks = this._process(true);
              padding.unpad(finalProcessedBlocks);
            }
            return finalProcessedBlocks;
          },
          blockSize: 128 / 32
        });
        var CipherParams = C_lib.CipherParams = Base.extend({
          /**
           * Initializes a newly created cipher params object.
           *
           * @param {Object} cipherParams An object with any of the possible cipher parameters.
           *
           * @example
           *
           *     var cipherParams = CryptoJS.lib.CipherParams.create({
           *         ciphertext: ciphertextWordArray,
           *         key: keyWordArray,
           *         iv: ivWordArray,
           *         salt: saltWordArray,
           *         algorithm: CryptoJS.algo.AES,
           *         mode: CryptoJS.mode.CBC,
           *         padding: CryptoJS.pad.PKCS7,
           *         blockSize: 4,
           *         formatter: CryptoJS.format.OpenSSL
           *     });
           */
          init: function(cipherParams) {
            this.mixIn(cipherParams);
          },
          /**
           * Converts this cipher params object to a string.
           *
           * @param {Format} formatter (Optional) The formatting strategy to use.
           *
           * @return {string} The stringified cipher params.
           *
           * @throws Error If neither the formatter nor the default formatter is set.
           *
           * @example
           *
           *     var string = cipherParams + '';
           *     var string = cipherParams.toString();
           *     var string = cipherParams.toString(CryptoJS.format.OpenSSL);
           */
          toString: function(formatter) {
            return (formatter || this.formatter).stringify(this);
          }
        });
        var C_format = C.format = {};
        var OpenSSLFormatter = C_format.OpenSSL = {
          /**
           * Converts a cipher params object to an OpenSSL-compatible string.
           *
           * @param {CipherParams} cipherParams The cipher params object.
           *
           * @return {string} The OpenSSL-compatible string.
           *
           * @static
           *
           * @example
           *
           *     var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams);
           */
          stringify: function(cipherParams) {
            var wordArray;
            var ciphertext = cipherParams.ciphertext;
            var salt = cipherParams.salt;
            if (salt) {
              wordArray = WordArray.create([1398893684, 1701076831]).concat(salt).concat(ciphertext);
            } else {
              wordArray = ciphertext;
            }
            return wordArray.toString(Base64);
          },
          /**
           * Converts an OpenSSL-compatible string to a cipher params object.
           *
           * @param {string} openSSLStr The OpenSSL-compatible string.
           *
           * @return {CipherParams} The cipher params object.
           *
           * @static
           *
           * @example
           *
           *     var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString);
           */
          parse: function(openSSLStr) {
            var salt;
            var ciphertext = Base64.parse(openSSLStr);
            var ciphertextWords = ciphertext.words;
            if (ciphertextWords[0] == 1398893684 && ciphertextWords[1] == 1701076831) {
              salt = WordArray.create(ciphertextWords.slice(2, 4));
              ciphertextWords.splice(0, 4);
              ciphertext.sigBytes -= 16;
            }
            return CipherParams.create({ ciphertext, salt });
          }
        };
        var SerializableCipher = C_lib.SerializableCipher = Base.extend({
          /**
           * Configuration options.
           *
           * @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL
           */
          cfg: Base.extend({
            format: OpenSSLFormatter
          }),
          /**
           * Encrypts a message.
           *
           * @param {Cipher} cipher The cipher algorithm to use.
           * @param {WordArray|string} message The message to encrypt.
           * @param {WordArray} key The key.
           * @param {Object} cfg (Optional) The configuration options to use for this operation.
           *
           * @return {CipherParams} A cipher params object.
           *
           * @static
           *
           * @example
           *
           *     var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key);
           *     var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv });
           *     var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL });
           */
          encrypt: function(cipher, message, key, cfg) {
            cfg = this.cfg.extend(cfg);
            var encryptor = cipher.createEncryptor(key, cfg);
            var ciphertext = encryptor.finalize(message);
            var cipherCfg = encryptor.cfg;
            return CipherParams.create({
              ciphertext,
              key,
              iv: cipherCfg.iv,
              algorithm: cipher,
              mode: cipherCfg.mode,
              padding: cipherCfg.padding,
              blockSize: cipher.blockSize,
              formatter: cfg.format
            });
          },
          /**
           * Decrypts serialized ciphertext.
           *
           * @param {Cipher} cipher The cipher algorithm to use.
           * @param {CipherParams|string} ciphertext The ciphertext to decrypt.
           * @param {WordArray} key The key.
           * @param {Object} cfg (Optional) The configuration options to use for this operation.
           *
           * @return {WordArray} The plaintext.
           *
           * @static
           *
           * @example
           *
           *     var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL });
           *     var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL });
           */
          decrypt: function(cipher, ciphertext, key, cfg) {
            cfg = this.cfg.extend(cfg);
            ciphertext = this._parse(ciphertext, cfg.format);
            var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext);
            return plaintext;
          },
          /**
           * Converts serialized ciphertext to CipherParams,
           * else assumed CipherParams already and returns ciphertext unchanged.
           *
           * @param {CipherParams|string} ciphertext The ciphertext.
           * @param {Formatter} format The formatting strategy to use to parse serialized ciphertext.
           *
           * @return {CipherParams} The unserialized ciphertext.
           *
           * @static
           *
           * @example
           *
           *     var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format);
           */
          _parse: function(ciphertext, format) {
            if (typeof ciphertext == "string") {
              return format.parse(ciphertext, this);
            } else {
              return ciphertext;
            }
          }
        });
        var C_kdf = C.kdf = {};
        var OpenSSLKdf = C_kdf.OpenSSL = {
          /**
           * Derives a key and IV from a password.
           *
           * @param {string} password The password to derive from.
           * @param {number} keySize The size in words of the key to generate.
           * @param {number} ivSize The size in words of the IV to generate.
           * @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly.
           *
           * @return {CipherParams} A cipher params object with the key, IV, and salt.
           *
           * @static
           *
           * @example
           *
           *     var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32);
           *     var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt');
           */
          execute: function(password, keySize, ivSize, salt, hasher) {
            if (!salt) {
              salt = WordArray.random(64 / 8);
            }
            if (!hasher) {
              var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt);
            } else {
              var key = EvpKDF.create({ keySize: keySize + ivSize, hasher }).compute(password, salt);
            }
            var iv = WordArray.create(key.words.slice(keySize), ivSize * 4);
            key.sigBytes = keySize * 4;
            return CipherParams.create({ key, iv, salt });
          }
        };
        var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({
          /**
           * Configuration options.
           *
           * @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL
           */
          cfg: SerializableCipher.cfg.extend({
            kdf: OpenSSLKdf
          }),
          /**
           * Encrypts a message using a password.
           *
           * @param {Cipher} cipher The cipher algorithm to use.
           * @param {WordArray|string} message The message to encrypt.
           * @param {string} password The password.
           * @param {Object} cfg (Optional) The configuration options to use for this operation.
           *
           * @return {CipherParams} A cipher params object.
           *
           * @static
           *
           * @example
           *
           *     var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password');
           *     var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL });
           */
          encrypt: function(cipher, message, password, cfg) {
            cfg = this.cfg.extend(cfg);
            var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, cfg.salt, cfg.hasher);
            cfg.iv = derivedParams.iv;
            var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg);
            ciphertext.mixIn(derivedParams);
            return ciphertext;
          },
          /**
           * Decrypts serialized ciphertext using a password.
           *
           * @param {Cipher} cipher The cipher algorithm to use.
           * @param {CipherParams|string} ciphertext The ciphertext to decrypt.
           * @param {string} password The password.
           * @param {Object} cfg (Optional) The configuration options to use for this operation.
           *
           * @return {WordArray} The plaintext.
           *
           * @static
           *
           * @example
           *
           *     var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL });
           *     var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL });
           */
          decrypt: function(cipher, ciphertext, password, cfg) {
            cfg = this.cfg.extend(cfg);
            ciphertext = this._parse(ciphertext, cfg.format);
            var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt, cfg.hasher);
            cfg.iv = derivedParams.iv;
            var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg);
            return plaintext;
          }
        });
      }();
    });
  })(cipherCore);
  return cipherCore.exports;
}
var modeCfb = { exports: {} };
var hasRequiredModeCfb;
function requireModeCfb() {
  if (hasRequiredModeCfb)
    return modeCfb.exports;
  hasRequiredModeCfb = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireCipherCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      CryptoJS.mode.CFB = function() {
        var CFB = CryptoJS.lib.BlockCipherMode.extend();
        CFB.Encryptor = CFB.extend({
          processBlock: function(words, offset) {
            var cipher = this._cipher;
            var blockSize = cipher.blockSize;
            generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);
            this._prevBlock = words.slice(offset, offset + blockSize);
          }
        });
        CFB.Decryptor = CFB.extend({
          processBlock: function(words, offset) {
            var cipher = this._cipher;
            var blockSize = cipher.blockSize;
            var thisBlock = words.slice(offset, offset + blockSize);
            generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);
            this._prevBlock = thisBlock;
          }
        });
        function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) {
          var keystream;
          var iv = this._iv;
          if (iv) {
            keystream = iv.slice(0);
            this._iv = void 0;
          } else {
            keystream = this._prevBlock;
          }
          cipher.encryptBlock(keystream, 0);
          for (var i = 0; i < blockSize; i++) {
            words[offset + i] ^= keystream[i];
          }
        }
        return CFB;
      }();
      return CryptoJS.mode.CFB;
    });
  })(modeCfb);
  return modeCfb.exports;
}
var modeCtr = { exports: {} };
var hasRequiredModeCtr;
function requireModeCtr() {
  if (hasRequiredModeCtr)
    return modeCtr.exports;
  hasRequiredModeCtr = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireCipherCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      CryptoJS.mode.CTR = function() {
        var CTR = CryptoJS.lib.BlockCipherMode.extend();
        var Encryptor = CTR.Encryptor = CTR.extend({
          processBlock: function(words, offset) {
            var cipher = this._cipher;
            var blockSize = cipher.blockSize;
            var iv = this._iv;
            var counter = this._counter;
            if (iv) {
              counter = this._counter = iv.slice(0);
              this._iv = void 0;
            }
            var keystream = counter.slice(0);
            cipher.encryptBlock(keystream, 0);
            counter[blockSize - 1] = counter[blockSize - 1] + 1 | 0;
            for (var i = 0; i < blockSize; i++) {
              words[offset + i] ^= keystream[i];
            }
          }
        });
        CTR.Decryptor = Encryptor;
        return CTR;
      }();
      return CryptoJS.mode.CTR;
    });
  })(modeCtr);
  return modeCtr.exports;
}
var modeCtrGladman = { exports: {} };
var hasRequiredModeCtrGladman;
function requireModeCtrGladman() {
  if (hasRequiredModeCtrGladman)
    return modeCtrGladman.exports;
  hasRequiredModeCtrGladman = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireCipherCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      /** @preserve
       * Counter block mode compatible with  Dr Brian Gladman fileenc.c
       * derived from CryptoJS.mode.CTR
       * Jan Hruby jhruby.web@gmail.com
       */
      CryptoJS.mode.CTRGladman = function() {
        var CTRGladman = CryptoJS.lib.BlockCipherMode.extend();
        function incWord(word) {
          if ((word >> 24 & 255) === 255) {
            var b1 = word >> 16 & 255;
            var b2 = word >> 8 & 255;
            var b3 = word & 255;
            if (b1 === 255) {
              b1 = 0;
              if (b2 === 255) {
                b2 = 0;
                if (b3 === 255) {
                  b3 = 0;
                } else {
                  ++b3;
                }
              } else {
                ++b2;
              }
            } else {
              ++b1;
            }
            word = 0;
            word += b1 << 16;
            word += b2 << 8;
            word += b3;
          } else {
            word += 1 << 24;
          }
          return word;
        }
        function incCounter(counter) {
          if ((counter[0] = incWord(counter[0])) === 0) {
            counter[1] = incWord(counter[1]);
          }
          return counter;
        }
        var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({
          processBlock: function(words, offset) {
            var cipher = this._cipher;
            var blockSize = cipher.blockSize;
            var iv = this._iv;
            var counter = this._counter;
            if (iv) {
              counter = this._counter = iv.slice(0);
              this._iv = void 0;
            }
            incCounter(counter);
            var keystream = counter.slice(0);
            cipher.encryptBlock(keystream, 0);
            for (var i = 0; i < blockSize; i++) {
              words[offset + i] ^= keystream[i];
            }
          }
        });
        CTRGladman.Decryptor = Encryptor;
        return CTRGladman;
      }();
      return CryptoJS.mode.CTRGladman;
    });
  })(modeCtrGladman);
  return modeCtrGladman.exports;
}
var modeOfb = { exports: {} };
var hasRequiredModeOfb;
function requireModeOfb() {
  if (hasRequiredModeOfb)
    return modeOfb.exports;
  hasRequiredModeOfb = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireCipherCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      CryptoJS.mode.OFB = function() {
        var OFB = CryptoJS.lib.BlockCipherMode.extend();
        var Encryptor = OFB.Encryptor = OFB.extend({
          processBlock: function(words, offset) {
            var cipher = this._cipher;
            var blockSize = cipher.blockSize;
            var iv = this._iv;
            var keystream = this._keystream;
            if (iv) {
              keystream = this._keystream = iv.slice(0);
              this._iv = void 0;
            }
            cipher.encryptBlock(keystream, 0);
            for (var i = 0; i < blockSize; i++) {
              words[offset + i] ^= keystream[i];
            }
          }
        });
        OFB.Decryptor = Encryptor;
        return OFB;
      }();
      return CryptoJS.mode.OFB;
    });
  })(modeOfb);
  return modeOfb.exports;
}
var modeEcb = { exports: {} };
var hasRequiredModeEcb;
function requireModeEcb() {
  if (hasRequiredModeEcb)
    return modeEcb.exports;
  hasRequiredModeEcb = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireCipherCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      CryptoJS.mode.ECB = function() {
        var ECB = CryptoJS.lib.BlockCipherMode.extend();
        ECB.Encryptor = ECB.extend({
          processBlock: function(words, offset) {
            this._cipher.encryptBlock(words, offset);
          }
        });
        ECB.Decryptor = ECB.extend({
          processBlock: function(words, offset) {
            this._cipher.decryptBlock(words, offset);
          }
        });
        return ECB;
      }();
      return CryptoJS.mode.ECB;
    });
  })(modeEcb);
  return modeEcb.exports;
}
var padAnsix923 = { exports: {} };
var hasRequiredPadAnsix923;
function requirePadAnsix923() {
  if (hasRequiredPadAnsix923)
    return padAnsix923.exports;
  hasRequiredPadAnsix923 = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireCipherCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      CryptoJS.pad.AnsiX923 = {
        pad: function(data, blockSize) {
          var dataSigBytes = data.sigBytes;
          var blockSizeBytes = blockSize * 4;
          var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes;
          var lastBytePos = dataSigBytes + nPaddingBytes - 1;
          data.clamp();
          data.words[lastBytePos >>> 2] |= nPaddingBytes << 24 - lastBytePos % 4 * 8;
          data.sigBytes += nPaddingBytes;
        },
        unpad: function(data) {
          var nPaddingBytes = data.words[data.sigBytes - 1 >>> 2] & 255;
          data.sigBytes -= nPaddingBytes;
        }
      };
      return CryptoJS.pad.Ansix923;
    });
  })(padAnsix923);
  return padAnsix923.exports;
}
var padIso10126 = { exports: {} };
var hasRequiredPadIso10126;
function requirePadIso10126() {
  if (hasRequiredPadIso10126)
    return padIso10126.exports;
  hasRequiredPadIso10126 = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireCipherCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      CryptoJS.pad.Iso10126 = {
        pad: function(data, blockSize) {
          var blockSizeBytes = blockSize * 4;
          var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;
          data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)).concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1));
        },
        unpad: function(data) {
          var nPaddingBytes = data.words[data.sigBytes - 1 >>> 2] & 255;
          data.sigBytes -= nPaddingBytes;
        }
      };
      return CryptoJS.pad.Iso10126;
    });
  })(padIso10126);
  return padIso10126.exports;
}
var padIso97971 = { exports: {} };
var hasRequiredPadIso97971;
function requirePadIso97971() {
  if (hasRequiredPadIso97971)
    return padIso97971.exports;
  hasRequiredPadIso97971 = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireCipherCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      CryptoJS.pad.Iso97971 = {
        pad: function(data, blockSize) {
          data.concat(CryptoJS.lib.WordArray.create([2147483648], 1));
          CryptoJS.pad.ZeroPadding.pad(data, blockSize);
        },
        unpad: function(data) {
          CryptoJS.pad.ZeroPadding.unpad(data);
          data.sigBytes--;
        }
      };
      return CryptoJS.pad.Iso97971;
    });
  })(padIso97971);
  return padIso97971.exports;
}
var padZeropadding = { exports: {} };
var hasRequiredPadZeropadding;
function requirePadZeropadding() {
  if (hasRequiredPadZeropadding)
    return padZeropadding.exports;
  hasRequiredPadZeropadding = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireCipherCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      CryptoJS.pad.ZeroPadding = {
        pad: function(data, blockSize) {
          var blockSizeBytes = blockSize * 4;
          data.clamp();
          data.sigBytes += blockSizeBytes - (data.sigBytes % blockSizeBytes || blockSizeBytes);
        },
        unpad: function(data) {
          var dataWords = data.words;
          var i = data.sigBytes - 1;
          for (var i = data.sigBytes - 1; i >= 0; i--) {
            if (dataWords[i >>> 2] >>> 24 - i % 4 * 8 & 255) {
              data.sigBytes = i + 1;
              break;
            }
          }
        }
      };
      return CryptoJS.pad.ZeroPadding;
    });
  })(padZeropadding);
  return padZeropadding.exports;
}
var padNopadding = { exports: {} };
var hasRequiredPadNopadding;
function requirePadNopadding() {
  if (hasRequiredPadNopadding)
    return padNopadding.exports;
  hasRequiredPadNopadding = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireCipherCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      CryptoJS.pad.NoPadding = {
        pad: function() {
        },
        unpad: function() {
        }
      };
      return CryptoJS.pad.NoPadding;
    });
  })(padNopadding);
  return padNopadding.exports;
}
var formatHex = { exports: {} };
var hasRequiredFormatHex;
function requireFormatHex() {
  if (hasRequiredFormatHex)
    return formatHex.exports;
  hasRequiredFormatHex = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireCipherCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function(undefined$1) {
        var C = CryptoJS;
        var C_lib = C.lib;
        var CipherParams = C_lib.CipherParams;
        var C_enc = C.enc;
        var Hex = C_enc.Hex;
        var C_format = C.format;
        C_format.Hex = {
          /**
           * Converts the ciphertext of a cipher params object to a hexadecimally encoded string.
           *
           * @param {CipherParams} cipherParams The cipher params object.
           *
           * @return {string} The hexadecimally encoded string.
           *
           * @static
           *
           * @example
           *
           *     var hexString = CryptoJS.format.Hex.stringify(cipherParams);
           */
          stringify: function(cipherParams) {
            return cipherParams.ciphertext.toString(Hex);
          },
          /**
           * Converts a hexadecimally encoded ciphertext string to a cipher params object.
           *
           * @param {string} input The hexadecimally encoded string.
           *
           * @return {CipherParams} The cipher params object.
           *
           * @static
           *
           * @example
           *
           *     var cipherParams = CryptoJS.format.Hex.parse(hexString);
           */
          parse: function(input) {
            var ciphertext = Hex.parse(input);
            return CipherParams.create({ ciphertext });
          }
        };
      })();
      return CryptoJS.format.Hex;
    });
  })(formatHex);
  return formatHex.exports;
}
var aes = { exports: {} };
var hasRequiredAes;
function requireAes() {
  if (hasRequiredAes)
    return aes.exports;
  hasRequiredAes = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireEncBase64(), requireMd5(), requireEvpkdf(), requireCipherCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function() {
        var C = CryptoJS;
        var C_lib = C.lib;
        var BlockCipher = C_lib.BlockCipher;
        var C_algo = C.algo;
        var SBOX = [];
        var INV_SBOX = [];
        var SUB_MIX_0 = [];
        var SUB_MIX_1 = [];
        var SUB_MIX_2 = [];
        var SUB_MIX_3 = [];
        var INV_SUB_MIX_0 = [];
        var INV_SUB_MIX_1 = [];
        var INV_SUB_MIX_2 = [];
        var INV_SUB_MIX_3 = [];
        (function() {
          var d = [];
          for (var i = 0; i < 256; i++) {
            if (i < 128) {
              d[i] = i << 1;
            } else {
              d[i] = i << 1 ^ 283;
            }
          }
          var x = 0;
          var xi = 0;
          for (var i = 0; i < 256; i++) {
            var sx = xi ^ xi << 1 ^ xi << 2 ^ xi << 3 ^ xi << 4;
            sx = sx >>> 8 ^ sx & 255 ^ 99;
            SBOX[x] = sx;
            INV_SBOX[sx] = x;
            var x2 = d[x];
            var x4 = d[x2];
            var x8 = d[x4];
            var t2 = d[sx] * 257 ^ sx * 16843008;
            SUB_MIX_0[x] = t2 << 24 | t2 >>> 8;
            SUB_MIX_1[x] = t2 << 16 | t2 >>> 16;
            SUB_MIX_2[x] = t2 << 8 | t2 >>> 24;
            SUB_MIX_3[x] = t2;
            var t2 = x8 * 16843009 ^ x4 * 65537 ^ x2 * 257 ^ x * 16843008;
            INV_SUB_MIX_0[sx] = t2 << 24 | t2 >>> 8;
            INV_SUB_MIX_1[sx] = t2 << 16 | t2 >>> 16;
            INV_SUB_MIX_2[sx] = t2 << 8 | t2 >>> 24;
            INV_SUB_MIX_3[sx] = t2;
            if (!x) {
              x = xi = 1;
            } else {
              x = x2 ^ d[d[d[x8 ^ x2]]];
              xi ^= d[d[xi]];
            }
          }
        })();
        var RCON = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54];
        var AES = C_algo.AES = BlockCipher.extend({
          _doReset: function() {
            var t2;
            if (this._nRounds && this._keyPriorReset === this._key) {
              return;
            }
            var key = this._keyPriorReset = this._key;
            var keyWords = key.words;
            var keySize = key.sigBytes / 4;
            var nRounds = this._nRounds = keySize + 6;
            var ksRows = (nRounds + 1) * 4;
            var keySchedule = this._keySchedule = [];
            for (var ksRow = 0; ksRow < ksRows; ksRow++) {
              if (ksRow < keySize) {
                keySchedule[ksRow] = keyWords[ksRow];
              } else {
                t2 = keySchedule[ksRow - 1];
                if (!(ksRow % keySize)) {
                  t2 = t2 << 8 | t2 >>> 24;
                  t2 = SBOX[t2 >>> 24] << 24 | SBOX[t2 >>> 16 & 255] << 16 | SBOX[t2 >>> 8 & 255] << 8 | SBOX[t2 & 255];
                  t2 ^= RCON[ksRow / keySize | 0] << 24;
                } else if (keySize > 6 && ksRow % keySize == 4) {
                  t2 = SBOX[t2 >>> 24] << 24 | SBOX[t2 >>> 16 & 255] << 16 | SBOX[t2 >>> 8 & 255] << 8 | SBOX[t2 & 255];
                }
                keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t2;
              }
            }
            var invKeySchedule = this._invKeySchedule = [];
            for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) {
              var ksRow = ksRows - invKsRow;
              if (invKsRow % 4) {
                var t2 = keySchedule[ksRow];
              } else {
                var t2 = keySchedule[ksRow - 4];
              }
              if (invKsRow < 4 || ksRow <= 4) {
                invKeySchedule[invKsRow] = t2;
              } else {
                invKeySchedule[invKsRow] = INV_SUB_MIX_0[SBOX[t2 >>> 24]] ^ INV_SUB_MIX_1[SBOX[t2 >>> 16 & 255]] ^ INV_SUB_MIX_2[SBOX[t2 >>> 8 & 255]] ^ INV_SUB_MIX_3[SBOX[t2 & 255]];
              }
            }
          },
          encryptBlock: function(M, offset) {
            this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX);
          },
          decryptBlock: function(M, offset) {
            var t2 = M[offset + 1];
            M[offset + 1] = M[offset + 3];
            M[offset + 3] = t2;
            this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX);
            var t2 = M[offset + 1];
            M[offset + 1] = M[offset + 3];
            M[offset + 3] = t2;
          },
          _doCryptBlock: function(M, offset, keySchedule, SUB_MIX_02, SUB_MIX_12, SUB_MIX_22, SUB_MIX_32, SBOX2) {
            var nRounds = this._nRounds;
            var s0 = M[offset] ^ keySchedule[0];
            var s1 = M[offset + 1] ^ keySchedule[1];
            var s2 = M[offset + 2] ^ keySchedule[2];
            var s3 = M[offset + 3] ^ keySchedule[3];
            var ksRow = 4;
            for (var round = 1; round < nRounds; round++) {
              var t0 = SUB_MIX_02[s0 >>> 24] ^ SUB_MIX_12[s1 >>> 16 & 255] ^ SUB_MIX_22[s2 >>> 8 & 255] ^ SUB_MIX_32[s3 & 255] ^ keySchedule[ksRow++];
              var t1 = SUB_MIX_02[s1 >>> 24] ^ SUB_MIX_12[s2 >>> 16 & 255] ^ SUB_MIX_22[s3 >>> 8 & 255] ^ SUB_MIX_32[s0 & 255] ^ keySchedule[ksRow++];
              var t2 = SUB_MIX_02[s2 >>> 24] ^ SUB_MIX_12[s3 >>> 16 & 255] ^ SUB_MIX_22[s0 >>> 8 & 255] ^ SUB_MIX_32[s1 & 255] ^ keySchedule[ksRow++];
              var t3 = SUB_MIX_02[s3 >>> 24] ^ SUB_MIX_12[s0 >>> 16 & 255] ^ SUB_MIX_22[s1 >>> 8 & 255] ^ SUB_MIX_32[s2 & 255] ^ keySchedule[ksRow++];
              s0 = t0;
              s1 = t1;
              s2 = t2;
              s3 = t3;
            }
            var t0 = (SBOX2[s0 >>> 24] << 24 | SBOX2[s1 >>> 16 & 255] << 16 | SBOX2[s2 >>> 8 & 255] << 8 | SBOX2[s3 & 255]) ^ keySchedule[ksRow++];
            var t1 = (SBOX2[s1 >>> 24] << 24 | SBOX2[s2 >>> 16 & 255] << 16 | SBOX2[s3 >>> 8 & 255] << 8 | SBOX2[s0 & 255]) ^ keySchedule[ksRow++];
            var t2 = (SBOX2[s2 >>> 24] << 24 | SBOX2[s3 >>> 16 & 255] << 16 | SBOX2[s0 >>> 8 & 255] << 8 | SBOX2[s1 & 255]) ^ keySchedule[ksRow++];
            var t3 = (SBOX2[s3 >>> 24] << 24 | SBOX2[s0 >>> 16 & 255] << 16 | SBOX2[s1 >>> 8 & 255] << 8 | SBOX2[s2 & 255]) ^ keySchedule[ksRow++];
            M[offset] = t0;
            M[offset + 1] = t1;
            M[offset + 2] = t2;
            M[offset + 3] = t3;
          },
          keySize: 256 / 32
        });
        C.AES = BlockCipher._createHelper(AES);
      })();
      return CryptoJS.AES;
    });
  })(aes);
  return aes.exports;
}
var tripledes = { exports: {} };
var hasRequiredTripledes;
function requireTripledes() {
  if (hasRequiredTripledes)
    return tripledes.exports;
  hasRequiredTripledes = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireEncBase64(), requireMd5(), requireEvpkdf(), requireCipherCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function() {
        var C = CryptoJS;
        var C_lib = C.lib;
        var WordArray = C_lib.WordArray;
        var BlockCipher = C_lib.BlockCipher;
        var C_algo = C.algo;
        var PC1 = [
          57,
          49,
          41,
          33,
          25,
          17,
          9,
          1,
          58,
          50,
          42,
          34,
          26,
          18,
          10,
          2,
          59,
          51,
          43,
          35,
          27,
          19,
          11,
          3,
          60,
          52,
          44,
          36,
          63,
          55,
          47,
          39,
          31,
          23,
          15,
          7,
          62,
          54,
          46,
          38,
          30,
          22,
          14,
          6,
          61,
          53,
          45,
          37,
          29,
          21,
          13,
          5,
          28,
          20,
          12,
          4
        ];
        var PC2 = [
          14,
          17,
          11,
          24,
          1,
          5,
          3,
          28,
          15,
          6,
          21,
          10,
          23,
          19,
          12,
          4,
          26,
          8,
          16,
          7,
          27,
          20,
          13,
          2,
          41,
          52,
          31,
          37,
          47,
          55,
          30,
          40,
          51,
          45,
          33,
          48,
          44,
          49,
          39,
          56,
          34,
          53,
          46,
          42,
          50,
          36,
          29,
          32
        ];
        var BIT_SHIFTS = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28];
        var SBOX_P = [
          {
            0: 8421888,
            268435456: 32768,
            536870912: 8421378,
            805306368: 2,
            1073741824: 512,
            1342177280: 8421890,
            1610612736: 8389122,
            1879048192: 8388608,
            2147483648: 514,
            2415919104: 8389120,
            2684354560: 33280,
            2952790016: 8421376,
            3221225472: 32770,
            3489660928: 8388610,
            3758096384: 0,
            4026531840: 33282,
            134217728: 0,
            402653184: 8421890,
            671088640: 33282,
            939524096: 32768,
            1207959552: 8421888,
            1476395008: 512,
            1744830464: 8421378,
            2013265920: 2,
            2281701376: 8389120,
            2550136832: 33280,
            2818572288: 8421376,
            3087007744: 8389122,
            3355443200: 8388610,
            3623878656: 32770,
            3892314112: 514,
            4160749568: 8388608,
            1: 32768,
            268435457: 2,
            536870913: 8421888,
            805306369: 8388608,
            1073741825: 8421378,
            1342177281: 33280,
            1610612737: 512,
            1879048193: 8389122,
            2147483649: 8421890,
            2415919105: 8421376,
            2684354561: 8388610,
            2952790017: 33282,
            3221225473: 514,
            3489660929: 8389120,
            3758096385: 32770,
            4026531841: 0,
            134217729: 8421890,
            402653185: 8421376,
            671088641: 8388608,
            939524097: 512,
            1207959553: 32768,
            1476395009: 8388610,
            1744830465: 2,
            2013265921: 33282,
            2281701377: 32770,
            2550136833: 8389122,
            2818572289: 514,
            3087007745: 8421888,
            3355443201: 8389120,
            3623878657: 0,
            3892314113: 33280,
            4160749569: 8421378
          },
          {
            0: 1074282512,
            16777216: 16384,
            33554432: 524288,
            50331648: 1074266128,
            67108864: 1073741840,
            83886080: 1074282496,
            100663296: 1073758208,
            117440512: 16,
            134217728: 540672,
            150994944: 1073758224,
            167772160: 1073741824,
            184549376: 540688,
            201326592: 524304,
            218103808: 0,
            234881024: 16400,
            251658240: 1074266112,
            8388608: 1073758208,
            25165824: 540688,
            41943040: 16,
            58720256: 1073758224,
            75497472: 1074282512,
            92274688: 1073741824,
            109051904: 524288,
            125829120: 1074266128,
            142606336: 524304,
            159383552: 0,
            176160768: 16384,
            192937984: 1074266112,
            209715200: 1073741840,
            226492416: 540672,
            243269632: 1074282496,
            260046848: 16400,
            268435456: 0,
            285212672: 1074266128,
            301989888: 1073758224,
            318767104: 1074282496,
            335544320: 1074266112,
            352321536: 16,
            369098752: 540688,
            385875968: 16384,
            402653184: 16400,
            419430400: 524288,
            436207616: 524304,
            452984832: 1073741840,
            469762048: 540672,
            486539264: 1073758208,
            503316480: 1073741824,
            520093696: 1074282512,
            276824064: 540688,
            293601280: 524288,
            310378496: 1074266112,
            327155712: 16384,
            343932928: 1073758208,
            360710144: 1074282512,
            377487360: 16,
            394264576: 1073741824,
            411041792: 1074282496,
            427819008: 1073741840,
            444596224: 1073758224,
            461373440: 524304,
            478150656: 0,
            494927872: 16400,
            511705088: 1074266128,
            528482304: 540672
          },
          {
            0: 260,
            1048576: 0,
            2097152: 67109120,
            3145728: 65796,
            4194304: 65540,
            5242880: 67108868,
            6291456: 67174660,
            7340032: 67174400,
            8388608: 67108864,
            9437184: 67174656,
            10485760: 65792,
            11534336: 67174404,
            12582912: 67109124,
            13631488: 65536,
            14680064: 4,
            15728640: 256,
            524288: 67174656,
            1572864: 67174404,
            2621440: 0,
            3670016: 67109120,
            4718592: 67108868,
            5767168: 65536,
            6815744: 65540,
            7864320: 260,
            8912896: 4,
            9961472: 256,
            11010048: 67174400,
            12058624: 65796,
            13107200: 65792,
            14155776: 67109124,
            15204352: 67174660,
            16252928: 67108864,
            16777216: 67174656,
            17825792: 65540,
            18874368: 65536,
            19922944: 67109120,
            20971520: 256,
            22020096: 67174660,
            23068672: 67108868,
            24117248: 0,
            25165824: 67109124,
            26214400: 67108864,
            27262976: 4,
            28311552: 65792,
            29360128: 67174400,
            30408704: 260,
            31457280: 65796,
            32505856: 67174404,
            17301504: 67108864,
            18350080: 260,
            19398656: 67174656,
            20447232: 0,
            21495808: 65540,
            22544384: 67109120,
            23592960: 256,
            24641536: 67174404,
            25690112: 65536,
            26738688: 67174660,
            27787264: 65796,
            28835840: 67108868,
            29884416: 67109124,
            30932992: 67174400,
            31981568: 4,
            33030144: 65792
          },
          {
            0: 2151682048,
            65536: 2147487808,
            131072: 4198464,
            196608: 2151677952,
            262144: 0,
            327680: 4198400,
            393216: 2147483712,
            458752: 4194368,
            524288: 2147483648,
            589824: 4194304,
            655360: 64,
            720896: 2147487744,
            786432: 2151678016,
            851968: 4160,
            917504: 4096,
            983040: 2151682112,
            32768: 2147487808,
            98304: 64,
            163840: 2151678016,
            229376: 2147487744,
            294912: 4198400,
            360448: 2151682112,
            425984: 0,
            491520: 2151677952,
            557056: 4096,
            622592: 2151682048,
            688128: 4194304,
            753664: 4160,
            819200: 2147483648,
            884736: 4194368,
            950272: 4198464,
            1015808: 2147483712,
            1048576: 4194368,
            1114112: 4198400,
            1179648: 2147483712,
            1245184: 0,
            1310720: 4160,
            1376256: 2151678016,
            1441792: 2151682048,
            1507328: 2147487808,
            1572864: 2151682112,
            1638400: 2147483648,
            1703936: 2151677952,
            1769472: 4198464,
            1835008: 2147487744,
            1900544: 4194304,
            1966080: 64,
            2031616: 4096,
            1081344: 2151677952,
            1146880: 2151682112,
            1212416: 0,
            1277952: 4198400,
            1343488: 4194368,
            1409024: 2147483648,
            1474560: 2147487808,
            1540096: 64,
            1605632: 2147483712,
            1671168: 4096,
            1736704: 2147487744,
            1802240: 2151678016,
            1867776: 4160,
            1933312: 2151682048,
            1998848: 4194304,
            2064384: 4198464
          },
          {
            0: 128,
            4096: 17039360,
            8192: 262144,
            12288: 536870912,
            16384: 537133184,
            20480: 16777344,
            24576: 553648256,
            28672: 262272,
            32768: 16777216,
            36864: 537133056,
            40960: 536871040,
            45056: 553910400,
            49152: 553910272,
            53248: 0,
            57344: 17039488,
            61440: 553648128,
            2048: 17039488,
            6144: 553648256,
            10240: 128,
            14336: 17039360,
            18432: 262144,
            22528: 537133184,
            26624: 553910272,
            30720: 536870912,
            34816: 537133056,
            38912: 0,
            43008: 553910400,
            47104: 16777344,
            51200: 536871040,
            55296: 553648128,
            59392: 16777216,
            63488: 262272,
            65536: 262144,
            69632: 128,
            73728: 536870912,
            77824: 553648256,
            81920: 16777344,
            86016: 553910272,
            90112: 537133184,
            94208: 16777216,
            98304: 553910400,
            102400: 553648128,
            106496: 17039360,
            110592: 537133056,
            114688: 262272,
            118784: 536871040,
            122880: 0,
            126976: 17039488,
            67584: 553648256,
            71680: 16777216,
            75776: 17039360,
            79872: 537133184,
            83968: 536870912,
            88064: 17039488,
            92160: 128,
            96256: 553910272,
            100352: 262272,
            104448: 553910400,
            108544: 0,
            112640: 553648128,
            116736: 16777344,
            120832: 262144,
            124928: 537133056,
            129024: 536871040
          },
          {
            0: 268435464,
            256: 8192,
            512: 270532608,
            768: 270540808,
            1024: 268443648,
            1280: 2097152,
            1536: 2097160,
            1792: 268435456,
            2048: 0,
            2304: 268443656,
            2560: 2105344,
            2816: 8,
            3072: 270532616,
            3328: 2105352,
            3584: 8200,
            3840: 270540800,
            128: 270532608,
            384: 270540808,
            640: 8,
            896: 2097152,
            1152: 2105352,
            1408: 268435464,
            1664: 268443648,
            1920: 8200,
            2176: 2097160,
            2432: 8192,
            2688: 268443656,
            2944: 270532616,
            3200: 0,
            3456: 270540800,
            3712: 2105344,
            3968: 268435456,
            4096: 268443648,
            4352: 270532616,
            4608: 270540808,
            4864: 8200,
            5120: 2097152,
            5376: 268435456,
            5632: 268435464,
            5888: 2105344,
            6144: 2105352,
            6400: 0,
            6656: 8,
            6912: 270532608,
            7168: 8192,
            7424: 268443656,
            7680: 270540800,
            7936: 2097160,
            4224: 8,
            4480: 2105344,
            4736: 2097152,
            4992: 268435464,
            5248: 268443648,
            5504: 8200,
            5760: 270540808,
            6016: 270532608,
            6272: 270540800,
            6528: 270532616,
            6784: 8192,
            7040: 2105352,
            7296: 2097160,
            7552: 0,
            7808: 268435456,
            8064: 268443656
          },
          {
            0: 1048576,
            16: 33555457,
            32: 1024,
            48: 1049601,
            64: 34604033,
            80: 0,
            96: 1,
            112: 34603009,
            128: 33555456,
            144: 1048577,
            160: 33554433,
            176: 34604032,
            192: 34603008,
            208: 1025,
            224: 1049600,
            240: 33554432,
            8: 34603009,
            24: 0,
            40: 33555457,
            56: 34604032,
            72: 1048576,
            88: 33554433,
            104: 33554432,
            120: 1025,
            136: 1049601,
            152: 33555456,
            168: 34603008,
            184: 1048577,
            200: 1024,
            216: 34604033,
            232: 1,
            248: 1049600,
            256: 33554432,
            272: 1048576,
            288: 33555457,
            304: 34603009,
            320: 1048577,
            336: 33555456,
            352: 34604032,
            368: 1049601,
            384: 1025,
            400: 34604033,
            416: 1049600,
            432: 1,
            448: 0,
            464: 34603008,
            480: 33554433,
            496: 1024,
            264: 1049600,
            280: 33555457,
            296: 34603009,
            312: 1,
            328: 33554432,
            344: 1048576,
            360: 1025,
            376: 34604032,
            392: 33554433,
            408: 34603008,
            424: 0,
            440: 34604033,
            456: 1049601,
            472: 1024,
            488: 33555456,
            504: 1048577
          },
          {
            0: 134219808,
            1: 131072,
            2: 134217728,
            3: 32,
            4: 131104,
            5: 134350880,
            6: 134350848,
            7: 2048,
            8: 134348800,
            9: 134219776,
            10: 133120,
            11: 134348832,
            12: 2080,
            13: 0,
            14: 134217760,
            15: 133152,
            2147483648: 2048,
            2147483649: 134350880,
            2147483650: 134219808,
            2147483651: 134217728,
            2147483652: 134348800,
            2147483653: 133120,
            2147483654: 133152,
            2147483655: 32,
            2147483656: 134217760,
            2147483657: 2080,
            2147483658: 131104,
            2147483659: 134350848,
            2147483660: 0,
            2147483661: 134348832,
            2147483662: 134219776,
            2147483663: 131072,
            16: 133152,
            17: 134350848,
            18: 32,
            19: 2048,
            20: 134219776,
            21: 134217760,
            22: 134348832,
            23: 131072,
            24: 0,
            25: 131104,
            26: 134348800,
            27: 134219808,
            28: 134350880,
            29: 133120,
            30: 2080,
            31: 134217728,
            2147483664: 131072,
            2147483665: 2048,
            2147483666: 134348832,
            2147483667: 133152,
            2147483668: 32,
            2147483669: 134348800,
            2147483670: 134217728,
            2147483671: 134219808,
            2147483672: 134350880,
            2147483673: 134217760,
            2147483674: 134219776,
            2147483675: 0,
            2147483676: 133120,
            2147483677: 2080,
            2147483678: 131104,
            2147483679: 134350848
          }
        ];
        var SBOX_MASK = [
          4160749569,
          528482304,
          33030144,
          2064384,
          129024,
          8064,
          504,
          2147483679
        ];
        var DES = C_algo.DES = BlockCipher.extend({
          _doReset: function() {
            var key = this._key;
            var keyWords = key.words;
            var keyBits = [];
            for (var i = 0; i < 56; i++) {
              var keyBitPos = PC1[i] - 1;
              keyBits[i] = keyWords[keyBitPos >>> 5] >>> 31 - keyBitPos % 32 & 1;
            }
            var subKeys = this._subKeys = [];
            for (var nSubKey = 0; nSubKey < 16; nSubKey++) {
              var subKey = subKeys[nSubKey] = [];
              var bitShift = BIT_SHIFTS[nSubKey];
              for (var i = 0; i < 24; i++) {
                subKey[i / 6 | 0] |= keyBits[(PC2[i] - 1 + bitShift) % 28] << 31 - i % 6;
                subKey[4 + (i / 6 | 0)] |= keyBits[28 + (PC2[i + 24] - 1 + bitShift) % 28] << 31 - i % 6;
              }
              subKey[0] = subKey[0] << 1 | subKey[0] >>> 31;
              for (var i = 1; i < 7; i++) {
                subKey[i] = subKey[i] >>> (i - 1) * 4 + 3;
              }
              subKey[7] = subKey[7] << 5 | subKey[7] >>> 27;
            }
            var invSubKeys = this._invSubKeys = [];
            for (var i = 0; i < 16; i++) {
              invSubKeys[i] = subKeys[15 - i];
            }
          },
          encryptBlock: function(M, offset) {
            this._doCryptBlock(M, offset, this._subKeys);
          },
          decryptBlock: function(M, offset) {
            this._doCryptBlock(M, offset, this._invSubKeys);
          },
          _doCryptBlock: function(M, offset, subKeys) {
            this._lBlock = M[offset];
            this._rBlock = M[offset + 1];
            exchangeLR.call(this, 4, 252645135);
            exchangeLR.call(this, 16, 65535);
            exchangeRL.call(this, 2, 858993459);
            exchangeRL.call(this, 8, 16711935);
            exchangeLR.call(this, 1, 1431655765);
            for (var round = 0; round < 16; round++) {
              var subKey = subKeys[round];
              var lBlock = this._lBlock;
              var rBlock = this._rBlock;
              var f2 = 0;
              for (var i = 0; i < 8; i++) {
                f2 |= SBOX_P[i][((rBlock ^ subKey[i]) & SBOX_MASK[i]) >>> 0];
              }
              this._lBlock = rBlock;
              this._rBlock = lBlock ^ f2;
            }
            var t2 = this._lBlock;
            this._lBlock = this._rBlock;
            this._rBlock = t2;
            exchangeLR.call(this, 1, 1431655765);
            exchangeRL.call(this, 8, 16711935);
            exchangeRL.call(this, 2, 858993459);
            exchangeLR.call(this, 16, 65535);
            exchangeLR.call(this, 4, 252645135);
            M[offset] = this._lBlock;
            M[offset + 1] = this._rBlock;
          },
          keySize: 64 / 32,
          ivSize: 64 / 32,
          blockSize: 64 / 32
        });
        function exchangeLR(offset, mask) {
          var t2 = (this._lBlock >>> offset ^ this._rBlock) & mask;
          this._rBlock ^= t2;
          this._lBlock ^= t2 << offset;
        }
        function exchangeRL(offset, mask) {
          var t2 = (this._rBlock >>> offset ^ this._lBlock) & mask;
          this._lBlock ^= t2;
          this._rBlock ^= t2 << offset;
        }
        C.DES = BlockCipher._createHelper(DES);
        var TripleDES = C_algo.TripleDES = BlockCipher.extend({
          _doReset: function() {
            var key = this._key;
            var keyWords = key.words;
            if (keyWords.length !== 2 && keyWords.length !== 4 && keyWords.length < 6) {
              throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");
            }
            var key1 = keyWords.slice(0, 2);
            var key2 = keyWords.length < 4 ? keyWords.slice(0, 2) : keyWords.slice(2, 4);
            var key3 = keyWords.length < 6 ? keyWords.slice(0, 2) : keyWords.slice(4, 6);
            this._des1 = DES.createEncryptor(WordArray.create(key1));
            this._des2 = DES.createEncryptor(WordArray.create(key2));
            this._des3 = DES.createEncryptor(WordArray.create(key3));
          },
          encryptBlock: function(M, offset) {
            this._des1.encryptBlock(M, offset);
            this._des2.decryptBlock(M, offset);
            this._des3.encryptBlock(M, offset);
          },
          decryptBlock: function(M, offset) {
            this._des3.decryptBlock(M, offset);
            this._des2.encryptBlock(M, offset);
            this._des1.decryptBlock(M, offset);
          },
          keySize: 192 / 32,
          ivSize: 64 / 32,
          blockSize: 64 / 32
        });
        C.TripleDES = BlockCipher._createHelper(TripleDES);
      })();
      return CryptoJS.TripleDES;
    });
  })(tripledes);
  return tripledes.exports;
}
var rc4 = { exports: {} };
var hasRequiredRc4;
function requireRc4() {
  if (hasRequiredRc4)
    return rc4.exports;
  hasRequiredRc4 = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireEncBase64(), requireMd5(), requireEvpkdf(), requireCipherCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function() {
        var C = CryptoJS;
        var C_lib = C.lib;
        var StreamCipher = C_lib.StreamCipher;
        var C_algo = C.algo;
        var RC4 = C_algo.RC4 = StreamCipher.extend({
          _doReset: function() {
            var key = this._key;
            var keyWords = key.words;
            var keySigBytes = key.sigBytes;
            var S = this._S = [];
            for (var i = 0; i < 256; i++) {
              S[i] = i;
            }
            for (var i = 0, j = 0; i < 256; i++) {
              var keyByteIndex = i % keySigBytes;
              var keyByte = keyWords[keyByteIndex >>> 2] >>> 24 - keyByteIndex % 4 * 8 & 255;
              j = (j + S[i] + keyByte) % 256;
              var t2 = S[i];
              S[i] = S[j];
              S[j] = t2;
            }
            this._i = this._j = 0;
          },
          _doProcessBlock: function(M, offset) {
            M[offset] ^= generateKeystreamWord.call(this);
          },
          keySize: 256 / 32,
          ivSize: 0
        });
        function generateKeystreamWord() {
          var S = this._S;
          var i = this._i;
          var j = this._j;
          var keystreamWord = 0;
          for (var n2 = 0; n2 < 4; n2++) {
            i = (i + 1) % 256;
            j = (j + S[i]) % 256;
            var t2 = S[i];
            S[i] = S[j];
            S[j] = t2;
            keystreamWord |= S[(S[i] + S[j]) % 256] << 24 - n2 * 8;
          }
          this._i = i;
          this._j = j;
          return keystreamWord;
        }
        C.RC4 = StreamCipher._createHelper(RC4);
        var RC4Drop = C_algo.RC4Drop = RC4.extend({
          /**
           * Configuration options.
           *
           * @property {number} drop The number of keystream words to drop. Default 192
           */
          cfg: RC4.cfg.extend({
            drop: 192
          }),
          _doReset: function() {
            RC4._doReset.call(this);
            for (var i = this.cfg.drop; i > 0; i--) {
              generateKeystreamWord.call(this);
            }
          }
        });
        C.RC4Drop = StreamCipher._createHelper(RC4Drop);
      })();
      return CryptoJS.RC4;
    });
  })(rc4);
  return rc4.exports;
}
var rabbit = { exports: {} };
var hasRequiredRabbit;
function requireRabbit() {
  if (hasRequiredRabbit)
    return rabbit.exports;
  hasRequiredRabbit = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireEncBase64(), requireMd5(), requireEvpkdf(), requireCipherCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function() {
        var C = CryptoJS;
        var C_lib = C.lib;
        var StreamCipher = C_lib.StreamCipher;
        var C_algo = C.algo;
        var S = [];
        var C_ = [];
        var G = [];
        var Rabbit = C_algo.Rabbit = StreamCipher.extend({
          _doReset: function() {
            var K = this._key.words;
            var iv = this.cfg.iv;
            for (var i = 0; i < 4; i++) {
              K[i] = (K[i] << 8 | K[i] >>> 24) & 16711935 | (K[i] << 24 | K[i] >>> 8) & 4278255360;
            }
            var X = this._X = [
              K[0],
              K[3] << 16 | K[2] >>> 16,
              K[1],
              K[0] << 16 | K[3] >>> 16,
              K[2],
              K[1] << 16 | K[0] >>> 16,
              K[3],
              K[2] << 16 | K[1] >>> 16
            ];
            var C2 = this._C = [
              K[2] << 16 | K[2] >>> 16,
              K[0] & 4294901760 | K[1] & 65535,
              K[3] << 16 | K[3] >>> 16,
              K[1] & 4294901760 | K[2] & 65535,
              K[0] << 16 | K[0] >>> 16,
              K[2] & 4294901760 | K[3] & 65535,
              K[1] << 16 | K[1] >>> 16,
              K[3] & 4294901760 | K[0] & 65535
            ];
            this._b = 0;
            for (var i = 0; i < 4; i++) {
              nextState.call(this);
            }
            for (var i = 0; i < 8; i++) {
              C2[i] ^= X[i + 4 & 7];
            }
            if (iv) {
              var IV = iv.words;
              var IV_0 = IV[0];
              var IV_1 = IV[1];
              var i0 = (IV_0 << 8 | IV_0 >>> 24) & 16711935 | (IV_0 << 24 | IV_0 >>> 8) & 4278255360;
              var i2 = (IV_1 << 8 | IV_1 >>> 24) & 16711935 | (IV_1 << 24 | IV_1 >>> 8) & 4278255360;
              var i1 = i0 >>> 16 | i2 & 4294901760;
              var i3 = i2 << 16 | i0 & 65535;
              C2[0] ^= i0;
              C2[1] ^= i1;
              C2[2] ^= i2;
              C2[3] ^= i3;
              C2[4] ^= i0;
              C2[5] ^= i1;
              C2[6] ^= i2;
              C2[7] ^= i3;
              for (var i = 0; i < 4; i++) {
                nextState.call(this);
              }
            }
          },
          _doProcessBlock: function(M, offset) {
            var X = this._X;
            nextState.call(this);
            S[0] = X[0] ^ X[5] >>> 16 ^ X[3] << 16;
            S[1] = X[2] ^ X[7] >>> 16 ^ X[5] << 16;
            S[2] = X[4] ^ X[1] >>> 16 ^ X[7] << 16;
            S[3] = X[6] ^ X[3] >>> 16 ^ X[1] << 16;
            for (var i = 0; i < 4; i++) {
              S[i] = (S[i] << 8 | S[i] >>> 24) & 16711935 | (S[i] << 24 | S[i] >>> 8) & 4278255360;
              M[offset + i] ^= S[i];
            }
          },
          blockSize: 128 / 32,
          ivSize: 64 / 32
        });
        function nextState() {
          var X = this._X;
          var C2 = this._C;
          for (var i = 0; i < 8; i++) {
            C_[i] = C2[i];
          }
          C2[0] = C2[0] + 1295307597 + this._b | 0;
          C2[1] = C2[1] + 3545052371 + (C2[0] >>> 0 < C_[0] >>> 0 ? 1 : 0) | 0;
          C2[2] = C2[2] + 886263092 + (C2[1] >>> 0 < C_[1] >>> 0 ? 1 : 0) | 0;
          C2[3] = C2[3] + 1295307597 + (C2[2] >>> 0 < C_[2] >>> 0 ? 1 : 0) | 0;
          C2[4] = C2[4] + 3545052371 + (C2[3] >>> 0 < C_[3] >>> 0 ? 1 : 0) | 0;
          C2[5] = C2[5] + 886263092 + (C2[4] >>> 0 < C_[4] >>> 0 ? 1 : 0) | 0;
          C2[6] = C2[6] + 1295307597 + (C2[5] >>> 0 < C_[5] >>> 0 ? 1 : 0) | 0;
          C2[7] = C2[7] + 3545052371 + (C2[6] >>> 0 < C_[6] >>> 0 ? 1 : 0) | 0;
          this._b = C2[7] >>> 0 < C_[7] >>> 0 ? 1 : 0;
          for (var i = 0; i < 8; i++) {
            var gx = X[i] + C2[i];
            var ga = gx & 65535;
            var gb = gx >>> 16;
            var gh = ((ga * ga >>> 17) + ga * gb >>> 15) + gb * gb;
            var gl = ((gx & 4294901760) * gx | 0) + ((gx & 65535) * gx | 0);
            G[i] = gh ^ gl;
          }
          X[0] = G[0] + (G[7] << 16 | G[7] >>> 16) + (G[6] << 16 | G[6] >>> 16) | 0;
          X[1] = G[1] + (G[0] << 8 | G[0] >>> 24) + G[7] | 0;
          X[2] = G[2] + (G[1] << 16 | G[1] >>> 16) + (G[0] << 16 | G[0] >>> 16) | 0;
          X[3] = G[3] + (G[2] << 8 | G[2] >>> 24) + G[1] | 0;
          X[4] = G[4] + (G[3] << 16 | G[3] >>> 16) + (G[2] << 16 | G[2] >>> 16) | 0;
          X[5] = G[5] + (G[4] << 8 | G[4] >>> 24) + G[3] | 0;
          X[6] = G[6] + (G[5] << 16 | G[5] >>> 16) + (G[4] << 16 | G[4] >>> 16) | 0;
          X[7] = G[7] + (G[6] << 8 | G[6] >>> 24) + G[5] | 0;
        }
        C.Rabbit = StreamCipher._createHelper(Rabbit);
      })();
      return CryptoJS.Rabbit;
    });
  })(rabbit);
  return rabbit.exports;
}
var rabbitLegacy = { exports: {} };
var hasRequiredRabbitLegacy;
function requireRabbitLegacy() {
  if (hasRequiredRabbitLegacy)
    return rabbitLegacy.exports;
  hasRequiredRabbitLegacy = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireEncBase64(), requireMd5(), requireEvpkdf(), requireCipherCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function() {
        var C = CryptoJS;
        var C_lib = C.lib;
        var StreamCipher = C_lib.StreamCipher;
        var C_algo = C.algo;
        var S = [];
        var C_ = [];
        var G = [];
        var RabbitLegacy = C_algo.RabbitLegacy = StreamCipher.extend({
          _doReset: function() {
            var K = this._key.words;
            var iv = this.cfg.iv;
            var X = this._X = [
              K[0],
              K[3] << 16 | K[2] >>> 16,
              K[1],
              K[0] << 16 | K[3] >>> 16,
              K[2],
              K[1] << 16 | K[0] >>> 16,
              K[3],
              K[2] << 16 | K[1] >>> 16
            ];
            var C2 = this._C = [
              K[2] << 16 | K[2] >>> 16,
              K[0] & 4294901760 | K[1] & 65535,
              K[3] << 16 | K[3] >>> 16,
              K[1] & 4294901760 | K[2] & 65535,
              K[0] << 16 | K[0] >>> 16,
              K[2] & 4294901760 | K[3] & 65535,
              K[1] << 16 | K[1] >>> 16,
              K[3] & 4294901760 | K[0] & 65535
            ];
            this._b = 0;
            for (var i = 0; i < 4; i++) {
              nextState.call(this);
            }
            for (var i = 0; i < 8; i++) {
              C2[i] ^= X[i + 4 & 7];
            }
            if (iv) {
              var IV = iv.words;
              var IV_0 = IV[0];
              var IV_1 = IV[1];
              var i0 = (IV_0 << 8 | IV_0 >>> 24) & 16711935 | (IV_0 << 24 | IV_0 >>> 8) & 4278255360;
              var i2 = (IV_1 << 8 | IV_1 >>> 24) & 16711935 | (IV_1 << 24 | IV_1 >>> 8) & 4278255360;
              var i1 = i0 >>> 16 | i2 & 4294901760;
              var i3 = i2 << 16 | i0 & 65535;
              C2[0] ^= i0;
              C2[1] ^= i1;
              C2[2] ^= i2;
              C2[3] ^= i3;
              C2[4] ^= i0;
              C2[5] ^= i1;
              C2[6] ^= i2;
              C2[7] ^= i3;
              for (var i = 0; i < 4; i++) {
                nextState.call(this);
              }
            }
          },
          _doProcessBlock: function(M, offset) {
            var X = this._X;
            nextState.call(this);
            S[0] = X[0] ^ X[5] >>> 16 ^ X[3] << 16;
            S[1] = X[2] ^ X[7] >>> 16 ^ X[5] << 16;
            S[2] = X[4] ^ X[1] >>> 16 ^ X[7] << 16;
            S[3] = X[6] ^ X[3] >>> 16 ^ X[1] << 16;
            for (var i = 0; i < 4; i++) {
              S[i] = (S[i] << 8 | S[i] >>> 24) & 16711935 | (S[i] << 24 | S[i] >>> 8) & 4278255360;
              M[offset + i] ^= S[i];
            }
          },
          blockSize: 128 / 32,
          ivSize: 64 / 32
        });
        function nextState() {
          var X = this._X;
          var C2 = this._C;
          for (var i = 0; i < 8; i++) {
            C_[i] = C2[i];
          }
          C2[0] = C2[0] + 1295307597 + this._b | 0;
          C2[1] = C2[1] + 3545052371 + (C2[0] >>> 0 < C_[0] >>> 0 ? 1 : 0) | 0;
          C2[2] = C2[2] + 886263092 + (C2[1] >>> 0 < C_[1] >>> 0 ? 1 : 0) | 0;
          C2[3] = C2[3] + 1295307597 + (C2[2] >>> 0 < C_[2] >>> 0 ? 1 : 0) | 0;
          C2[4] = C2[4] + 3545052371 + (C2[3] >>> 0 < C_[3] >>> 0 ? 1 : 0) | 0;
          C2[5] = C2[5] + 886263092 + (C2[4] >>> 0 < C_[4] >>> 0 ? 1 : 0) | 0;
          C2[6] = C2[6] + 1295307597 + (C2[5] >>> 0 < C_[5] >>> 0 ? 1 : 0) | 0;
          C2[7] = C2[7] + 3545052371 + (C2[6] >>> 0 < C_[6] >>> 0 ? 1 : 0) | 0;
          this._b = C2[7] >>> 0 < C_[7] >>> 0 ? 1 : 0;
          for (var i = 0; i < 8; i++) {
            var gx = X[i] + C2[i];
            var ga = gx & 65535;
            var gb = gx >>> 16;
            var gh = ((ga * ga >>> 17) + ga * gb >>> 15) + gb * gb;
            var gl = ((gx & 4294901760) * gx | 0) + ((gx & 65535) * gx | 0);
            G[i] = gh ^ gl;
          }
          X[0] = G[0] + (G[7] << 16 | G[7] >>> 16) + (G[6] << 16 | G[6] >>> 16) | 0;
          X[1] = G[1] + (G[0] << 8 | G[0] >>> 24) + G[7] | 0;
          X[2] = G[2] + (G[1] << 16 | G[1] >>> 16) + (G[0] << 16 | G[0] >>> 16) | 0;
          X[3] = G[3] + (G[2] << 8 | G[2] >>> 24) + G[1] | 0;
          X[4] = G[4] + (G[3] << 16 | G[3] >>> 16) + (G[2] << 16 | G[2] >>> 16) | 0;
          X[5] = G[5] + (G[4] << 8 | G[4] >>> 24) + G[3] | 0;
          X[6] = G[6] + (G[5] << 16 | G[5] >>> 16) + (G[4] << 16 | G[4] >>> 16) | 0;
          X[7] = G[7] + (G[6] << 8 | G[6] >>> 24) + G[5] | 0;
        }
        C.RabbitLegacy = StreamCipher._createHelper(RabbitLegacy);
      })();
      return CryptoJS.RabbitLegacy;
    });
  })(rabbitLegacy);
  return rabbitLegacy.exports;
}
var blowfish = { exports: {} };
var hasRequiredBlowfish;
function requireBlowfish() {
  if (hasRequiredBlowfish)
    return blowfish.exports;
  hasRequiredBlowfish = 1;
  (function(module2, exports2) {
    (function(root, factory, undef) {
      {
        module2.exports = factory(requireCore(), requireEncBase64(), requireMd5(), requireEvpkdf(), requireCipherCore());
      }
    })(commonjsGlobal, function(CryptoJS) {
      (function() {
        var C = CryptoJS;
        var C_lib = C.lib;
        var BlockCipher = C_lib.BlockCipher;
        var C_algo = C.algo;
        const N = 16;
        const ORIG_P = [
          608135816,
          2242054355,
          320440878,
          57701188,
          2752067618,
          698298832,
          137296536,
          3964562569,
          1160258022,
          953160567,
          3193202383,
          887688300,
          3232508343,
          3380367581,
          1065670069,
          3041331479,
          2450970073,
          2306472731
        ];
        const ORIG_S = [
          [
            3509652390,
            2564797868,
            805139163,
            3491422135,
            3101798381,
            1780907670,
            3128725573,
            4046225305,
            614570311,
            3012652279,
            134345442,
            2240740374,
            1667834072,
            1901547113,
            2757295779,
            4103290238,
            227898511,
            1921955416,
            1904987480,
            2182433518,
            2069144605,
            3260701109,
            2620446009,
            720527379,
            3318853667,
            677414384,
            3393288472,
            3101374703,
            2390351024,
            1614419982,
            1822297739,
            2954791486,
            3608508353,
            3174124327,
            2024746970,
            1432378464,
            3864339955,
            2857741204,
            1464375394,
            1676153920,
            1439316330,
            715854006,
            3033291828,
            289532110,
            2706671279,
            2087905683,
            3018724369,
            1668267050,
            732546397,
            1947742710,
            3462151702,
            2609353502,
            2950085171,
            1814351708,
            2050118529,
            680887927,
            999245976,
            1800124847,
            3300911131,
            1713906067,
            1641548236,
            4213287313,
            1216130144,
            1575780402,
            4018429277,
            3917837745,
            3693486850,
            3949271944,
            596196993,
            3549867205,
            258830323,
            2213823033,
            772490370,
            2760122372,
            1774776394,
            2652871518,
            566650946,
            4142492826,
            1728879713,
            2882767088,
            1783734482,
            3629395816,
            2517608232,
            2874225571,
            1861159788,
            326777828,
            3124490320,
            2130389656,
            2716951837,
            967770486,
            1724537150,
            2185432712,
            2364442137,
            1164943284,
            2105845187,
            998989502,
            3765401048,
            2244026483,
            1075463327,
            1455516326,
            1322494562,
            910128902,
            469688178,
            1117454909,
            936433444,
            3490320968,
            3675253459,
            1240580251,
            122909385,
            2157517691,
            634681816,
            4142456567,
            3825094682,
            3061402683,
            2540495037,
            79693498,
            3249098678,
            1084186820,
            1583128258,
            426386531,
            1761308591,
            1047286709,
            322548459,
            995290223,
            1845252383,
            2603652396,
            3431023940,
            2942221577,
            3202600964,
            3727903485,
            1712269319,
            422464435,
            3234572375,
            1170764815,
            3523960633,
            3117677531,
            1434042557,
            442511882,
            3600875718,
            1076654713,
            1738483198,
            4213154764,
            2393238008,
            3677496056,
            1014306527,
            4251020053,
            793779912,
            2902807211,
            842905082,
            4246964064,
            1395751752,
            1040244610,
            2656851899,
            3396308128,
            445077038,
            3742853595,
            3577915638,
            679411651,
            2892444358,
            2354009459,
            1767581616,
            3150600392,
            3791627101,
            3102740896,
            284835224,
            4246832056,
            1258075500,
            768725851,
            2589189241,
            3069724005,
            3532540348,
            1274779536,
            3789419226,
            2764799539,
            1660621633,
            3471099624,
            4011903706,
            913787905,
            3497959166,
            737222580,
            2514213453,
            2928710040,
            3937242737,
            1804850592,
            3499020752,
            2949064160,
            2386320175,
            2390070455,
            2415321851,
            4061277028,
            2290661394,
            2416832540,
            1336762016,
            1754252060,
            3520065937,
            3014181293,
            791618072,
            3188594551,
            3933548030,
            2332172193,
            3852520463,
            3043980520,
            413987798,
            3465142937,
            3030929376,
            4245938359,
            2093235073,
            3534596313,
            375366246,
            2157278981,
            2479649556,
            555357303,
            3870105701,
            2008414854,
            3344188149,
            4221384143,
            3956125452,
            2067696032,
            3594591187,
            2921233993,
            2428461,
            544322398,
            577241275,
            1471733935,
            610547355,
            4027169054,
            1432588573,
            1507829418,
            2025931657,
            3646575487,
            545086370,
            48609733,
            2200306550,
            1653985193,
            298326376,
            1316178497,
            3007786442,
            2064951626,
            458293330,
            2589141269,
            3591329599,
            3164325604,
            727753846,
            2179363840,
            146436021,
            1461446943,
            4069977195,
            705550613,
            3059967265,
            3887724982,
            4281599278,
            3313849956,
            1404054877,
            2845806497,
            146425753,
            1854211946
          ],
          [
            1266315497,
            3048417604,
            3681880366,
            3289982499,
            290971e4,
            1235738493,
            2632868024,
            2414719590,
            3970600049,
            1771706367,
            1449415276,
            3266420449,
            422970021,
            1963543593,
            2690192192,
            3826793022,
            1062508698,
            1531092325,
            1804592342,
            2583117782,
            2714934279,
            4024971509,
            1294809318,
            4028980673,
            1289560198,
            2221992742,
            1669523910,
            35572830,
            157838143,
            1052438473,
            1016535060,
            1802137761,
            1753167236,
            1386275462,
            3080475397,
            2857371447,
            1040679964,
            2145300060,
            2390574316,
            1461121720,
            2956646967,
            4031777805,
            4028374788,
            33600511,
            2920084762,
            1018524850,
            629373528,
            3691585981,
            3515945977,
            2091462646,
            2486323059,
            586499841,
            988145025,
            935516892,
            3367335476,
            2599673255,
            2839830854,
            265290510,
            3972581182,
            2759138881,
            3795373465,
            1005194799,
            847297441,
            406762289,
            1314163512,
            1332590856,
            1866599683,
            4127851711,
            750260880,
            613907577,
            1450815602,
            3165620655,
            3734664991,
            3650291728,
            3012275730,
            3704569646,
            1427272223,
            778793252,
            1343938022,
            2676280711,
            2052605720,
            1946737175,
            3164576444,
            3914038668,
            3967478842,
            3682934266,
            1661551462,
            3294938066,
            4011595847,
            840292616,
            3712170807,
            616741398,
            312560963,
            711312465,
            1351876610,
            322626781,
            1910503582,
            271666773,
            2175563734,
            1594956187,
            70604529,
            3617834859,
            1007753275,
            1495573769,
            4069517037,
            2549218298,
            2663038764,
            504708206,
            2263041392,
            3941167025,
            2249088522,
            1514023603,
            1998579484,
            1312622330,
            694541497,
            2582060303,
            2151582166,
            1382467621,
            776784248,
            2618340202,
            3323268794,
            2497899128,
            2784771155,
            503983604,
            4076293799,
            907881277,
            423175695,
            432175456,
            1378068232,
            4145222326,
            3954048622,
            3938656102,
            3820766613,
            2793130115,
            2977904593,
            26017576,
            3274890735,
            3194772133,
            1700274565,
            1756076034,
            4006520079,
            3677328699,
            720338349,
            1533947780,
            354530856,
            688349552,
            3973924725,
            1637815568,
            332179504,
            3949051286,
            53804574,
            2852348879,
            3044236432,
            1282449977,
            3583942155,
            3416972820,
            4006381244,
            1617046695,
            2628476075,
            3002303598,
            1686838959,
            431878346,
            2686675385,
            1700445008,
            1080580658,
            1009431731,
            832498133,
            3223435511,
            2605976345,
            2271191193,
            2516031870,
            1648197032,
            4164389018,
            2548247927,
            300782431,
            375919233,
            238389289,
            3353747414,
            2531188641,
            2019080857,
            1475708069,
            455242339,
            2609103871,
            448939670,
            3451063019,
            1395535956,
            2413381860,
            1841049896,
            1491858159,
            885456874,
            4264095073,
            4001119347,
            1565136089,
            3898914787,
            1108368660,
            540939232,
            1173283510,
            2745871338,
            3681308437,
            4207628240,
            3343053890,
            4016749493,
            1699691293,
            1103962373,
            3625875870,
            2256883143,
            3830138730,
            1031889488,
            3479347698,
            1535977030,
            4236805024,
            3251091107,
            2132092099,
            1774941330,
            1199868427,
            1452454533,
            157007616,
            2904115357,
            342012276,
            595725824,
            1480756522,
            206960106,
            497939518,
            591360097,
            863170706,
            2375253569,
            3596610801,
            1814182875,
            2094937945,
            3421402208,
            1082520231,
            3463918190,
            2785509508,
            435703966,
            3908032597,
            1641649973,
            2842273706,
            3305899714,
            1510255612,
            2148256476,
            2655287854,
            3276092548,
            4258621189,
            236887753,
            3681803219,
            274041037,
            1734335097,
            3815195456,
            3317970021,
            1899903192,
            1026095262,
            4050517792,
            356393447,
            2410691914,
            3873677099,
            3682840055
          ],
          [
            3913112168,
            2491498743,
            4132185628,
            2489919796,
            1091903735,
            1979897079,
            3170134830,
            3567386728,
            3557303409,
            857797738,
            1136121015,
            1342202287,
            507115054,
            2535736646,
            337727348,
            3213592640,
            1301675037,
            2528481711,
            1895095763,
            1721773893,
            3216771564,
            62756741,
            2142006736,
            835421444,
            2531993523,
            1442658625,
            3659876326,
            2882144922,
            676362277,
            1392781812,
            170690266,
            3921047035,
            1759253602,
            3611846912,
            1745797284,
            664899054,
            1329594018,
            3901205900,
            3045908486,
            2062866102,
            2865634940,
            3543621612,
            3464012697,
            1080764994,
            553557557,
            3656615353,
            3996768171,
            991055499,
            499776247,
            1265440854,
            648242737,
            3940784050,
            980351604,
            3713745714,
            1749149687,
            3396870395,
            4211799374,
            3640570775,
            1161844396,
            3125318951,
            1431517754,
            545492359,
            4268468663,
            3499529547,
            1437099964,
            2702547544,
            3433638243,
            2581715763,
            2787789398,
            1060185593,
            1593081372,
            2418618748,
            4260947970,
            69676912,
            2159744348,
            86519011,
            2512459080,
            3838209314,
            1220612927,
            3339683548,
            133810670,
            1090789135,
            1078426020,
            1569222167,
            845107691,
            3583754449,
            4072456591,
            1091646820,
            628848692,
            1613405280,
            3757631651,
            526609435,
            236106946,
            48312990,
            2942717905,
            3402727701,
            1797494240,
            859738849,
            992217954,
            4005476642,
            2243076622,
            3870952857,
            3732016268,
            765654824,
            3490871365,
            2511836413,
            1685915746,
            3888969200,
            1414112111,
            2273134842,
            3281911079,
            4080962846,
            172450625,
            2569994100,
            980381355,
            4109958455,
            2819808352,
            2716589560,
            2568741196,
            3681446669,
            3329971472,
            1835478071,
            660984891,
            3704678404,
            4045999559,
            3422617507,
            3040415634,
            1762651403,
            1719377915,
            3470491036,
            2693910283,
            3642056355,
            3138596744,
            1364962596,
            2073328063,
            1983633131,
            926494387,
            3423689081,
            2150032023,
            4096667949,
            1749200295,
            3328846651,
            309677260,
            2016342300,
            1779581495,
            3079819751,
            111262694,
            1274766160,
            443224088,
            298511866,
            1025883608,
            3806446537,
            1145181785,
            168956806,
            3641502830,
            3584813610,
            1689216846,
            3666258015,
            3200248200,
            1692713982,
            2646376535,
            4042768518,
            1618508792,
            1610833997,
            3523052358,
            4130873264,
            2001055236,
            3610705100,
            2202168115,
            4028541809,
            2961195399,
            1006657119,
            2006996926,
            3186142756,
            1430667929,
            3210227297,
            1314452623,
            4074634658,
            4101304120,
            2273951170,
            1399257539,
            3367210612,
            3027628629,
            1190975929,
            2062231137,
            2333990788,
            2221543033,
            2438960610,
            1181637006,
            548689776,
            2362791313,
            3372408396,
            3104550113,
            3145860560,
            296247880,
            1970579870,
            3078560182,
            3769228297,
            1714227617,
            3291629107,
            3898220290,
            166772364,
            1251581989,
            493813264,
            448347421,
            195405023,
            2709975567,
            677966185,
            3703036547,
            1463355134,
            2715995803,
            1338867538,
            1343315457,
            2802222074,
            2684532164,
            233230375,
            2599980071,
            2000651841,
            3277868038,
            1638401717,
            4028070440,
            3237316320,
            6314154,
            819756386,
            300326615,
            590932579,
            1405279636,
            3267499572,
            3150704214,
            2428286686,
            3959192993,
            3461946742,
            1862657033,
            1266418056,
            963775037,
            2089974820,
            2263052895,
            1917689273,
            448879540,
            3550394620,
            3981727096,
            150775221,
            3627908307,
            1303187396,
            508620638,
            2975983352,
            2726630617,
            1817252668,
            1876281319,
            1457606340,
            908771278,
            3720792119,
            3617206836,
            2455994898,
            1729034894,
            1080033504
          ],
          [
            976866871,
            3556439503,
            2881648439,
            1522871579,
            1555064734,
            1336096578,
            3548522304,
            2579274686,
            3574697629,
            3205460757,
            3593280638,
            3338716283,
            3079412587,
            564236357,
            2993598910,
            1781952180,
            1464380207,
            3163844217,
            3332601554,
            1699332808,
            1393555694,
            1183702653,
            3581086237,
            1288719814,
            691649499,
            2847557200,
            2895455976,
            3193889540,
            2717570544,
            1781354906,
            1676643554,
            2592534050,
            3230253752,
            1126444790,
            2770207658,
            2633158820,
            2210423226,
            2615765581,
            2414155088,
            3127139286,
            673620729,
            2805611233,
            1269405062,
            4015350505,
            3341807571,
            4149409754,
            1057255273,
            2012875353,
            2162469141,
            2276492801,
            2601117357,
            993977747,
            3918593370,
            2654263191,
            753973209,
            36408145,
            2530585658,
            25011837,
            3520020182,
            2088578344,
            530523599,
            2918365339,
            1524020338,
            1518925132,
            3760827505,
            3759777254,
            1202760957,
            3985898139,
            3906192525,
            674977740,
            4174734889,
            2031300136,
            2019492241,
            3983892565,
            4153806404,
            3822280332,
            352677332,
            2297720250,
            60907813,
            90501309,
            3286998549,
            1016092578,
            2535922412,
            2839152426,
            457141659,
            509813237,
            4120667899,
            652014361,
            1966332200,
            2975202805,
            55981186,
            2327461051,
            676427537,
            3255491064,
            2882294119,
            3433927263,
            1307055953,
            942726286,
            933058658,
            2468411793,
            3933900994,
            4215176142,
            1361170020,
            2001714738,
            2830558078,
            3274259782,
            1222529897,
            1679025792,
            2729314320,
            3714953764,
            1770335741,
            151462246,
            3013232138,
            1682292957,
            1483529935,
            471910574,
            1539241949,
            458788160,
            3436315007,
            1807016891,
            3718408830,
            978976581,
            1043663428,
            3165965781,
            1927990952,
            4200891579,
            2372276910,
            3208408903,
            3533431907,
            1412390302,
            2931980059,
            4132332400,
            1947078029,
            3881505623,
            4168226417,
            2941484381,
            1077988104,
            1320477388,
            886195818,
            18198404,
            3786409e3,
            2509781533,
            112762804,
            3463356488,
            1866414978,
            891333506,
            18488651,
            661792760,
            1628790961,
            3885187036,
            3141171499,
            876946877,
            2693282273,
            1372485963,
            791857591,
            2686433993,
            3759982718,
            3167212022,
            3472953795,
            2716379847,
            445679433,
            3561995674,
            3504004811,
            3574258232,
            54117162,
            3331405415,
            2381918588,
            3769707343,
            4154350007,
            1140177722,
            4074052095,
            668550556,
            3214352940,
            367459370,
            261225585,
            2610173221,
            4209349473,
            3468074219,
            3265815641,
            314222801,
            3066103646,
            3808782860,
            282218597,
            3406013506,
            3773591054,
            379116347,
            1285071038,
            846784868,
            2669647154,
            3771962079,
            3550491691,
            2305946142,
            453669953,
            1268987020,
            3317592352,
            3279303384,
            3744833421,
            2610507566,
            3859509063,
            266596637,
            3847019092,
            517658769,
            3462560207,
            3443424879,
            370717030,
            4247526661,
            2224018117,
            4143653529,
            4112773975,
            2788324899,
            2477274417,
            1456262402,
            2901442914,
            1517677493,
            1846949527,
            2295493580,
            3734397586,
            2176403920,
            1280348187,
            1908823572,
            3871786941,
            846861322,
            1172426758,
            3287448474,
            3383383037,
            1655181056,
            3139813346,
            901632758,
            1897031941,
            2986607138,
            3066810236,
            3447102507,
            1393639104,
            373351379,
            950779232,
            625454576,
            3124240540,
            4148612726,
            2007998917,
            544563296,
            2244738638,
            2330496472,
            2058025392,
            1291430526,
            424198748,
            50039436,
            29584100,
            3605783033,
            2429876329,
            2791104160,
            1057563949,
            3255363231,
            3075367218,
            3463963227,
            1469046755,
            985887462
          ]
        ];
        var BLOWFISH_CTX = {
          pbox: [],
          sbox: []
        };
        function F(ctx, x) {
          let a = x >> 24 & 255;
          let b = x >> 16 & 255;
          let c = x >> 8 & 255;
          let d = x & 255;
          let y = ctx.sbox[0][a] + ctx.sbox[1][b];
          y = y ^ ctx.sbox[2][c];
          y = y + ctx.sbox[3][d];
          return y;
        }
        function BlowFish_Encrypt(ctx, left, right) {
          let Xl = left;
          let Xr = right;
          let temp;
          for (let i = 0; i < N; ++i) {
            Xl = Xl ^ ctx.pbox[i];
            Xr = F(ctx, Xl) ^ Xr;
            temp = Xl;
            Xl = Xr;
            Xr = temp;
          }
          temp = Xl;
          Xl = Xr;
          Xr = temp;
          Xr = Xr ^ ctx.pbox[N];
          Xl = Xl ^ ctx.pbox[N + 1];
          return { left: Xl, right: Xr };
        }
        function BlowFish_Decrypt(ctx, left, right) {
          let Xl = left;
          let Xr = right;
          let temp;
          for (let i = N + 1; i > 1; --i) {
            Xl = Xl ^ ctx.pbox[i];
            Xr = F(ctx, Xl) ^ Xr;
            temp = Xl;
            Xl = Xr;
            Xr = temp;
          }
          temp = Xl;
          Xl = Xr;
          Xr = temp;
          Xr = Xr ^ ctx.pbox[1];
          Xl = Xl ^ ctx.pbox[0];
          return { left: Xl, right: Xr };
        }
        function BlowFishInit(ctx, key, keysize) {
          for (let Row = 0; Row < 4; Row++) {
            ctx.sbox[Row] = [];
            for (let Col = 0; Col < 256; Col++) {
              ctx.sbox[Row][Col] = ORIG_S[Row][Col];
            }
          }
          let keyIndex = 0;
          for (let index2 = 0; index2 < N + 2; index2++) {
            ctx.pbox[index2] = ORIG_P[index2] ^ key[keyIndex];
            keyIndex++;
            if (keyIndex >= keysize) {
              keyIndex = 0;
            }
          }
          let Data1 = 0;
          let Data2 = 0;
          let res = 0;
          for (let i = 0; i < N + 2; i += 2) {
            res = BlowFish_Encrypt(ctx, Data1, Data2);
            Data1 = res.left;
            Data2 = res.right;
            ctx.pbox[i] = Data1;
            ctx.pbox[i + 1] = Data2;
          }
          for (let i = 0; i < 4; i++) {
            for (let j = 0; j < 256; j += 2) {
              res = BlowFish_Encrypt(ctx, Data1, Data2);
              Data1 = res.left;
              Data2 = res.right;
              ctx.sbox[i][j] = Data1;
              ctx.sbox[i][j + 1] = Data2;
            }
          }
          return true;
        }
        var Blowfish = C_algo.Blowfish = BlockCipher.extend({
          _doReset: function() {
            if (this._keyPriorReset === this._key) {
              return;
            }
            var key = this._keyPriorReset = this._key;
            var keyWords = key.words;
            var keySize = key.sigBytes / 4;
            BlowFishInit(BLOWFISH_CTX, keyWords, keySize);
          },
          encryptBlock: function(M, offset) {
            var res = BlowFish_Encrypt(BLOWFISH_CTX, M[offset], M[offset + 1]);
            M[offset] = res.left;
            M[offset + 1] = res.right;
          },
          decryptBlock: function(M, offset) {
            var res = BlowFish_Decrypt(BLOWFISH_CTX, M[offset], M[offset + 1]);
            M[offset] = res.left;
            M[offset + 1] = res.right;
          },
          blockSize: 64 / 32,
          keySize: 128 / 32,
          ivSize: 64 / 32
        });
        C.Blowfish = BlockCipher._createHelper(Blowfish);
      })();
      return CryptoJS.Blowfish;
    });
  })(blowfish);
  return blowfish.exports;
}
(function(module2, exports2) {
  (function(root, factory, undef) {
    {
      module2.exports = factory(requireCore(), requireX64Core(), requireLibTypedarrays(), requireEncUtf16(), requireEncBase64(), requireEncBase64url(), requireMd5(), requireSha1(), requireSha256(), requireSha224(), requireSha512(), requireSha384(), requireSha3(), requireRipemd160(), requireHmac(), requirePbkdf2(), requireEvpkdf(), requireCipherCore(), requireModeCfb(), requireModeCtr(), requireModeCtrGladman(), requireModeOfb(), requireModeEcb(), requirePadAnsix923(), requirePadIso10126(), requirePadIso97971(), requirePadZeropadding(), requirePadNopadding(), requireFormatHex(), requireAes(), requireTripledes(), requireRc4(), requireRabbit(), requireRabbitLegacy(), requireBlowfish());
    }
  })(commonjsGlobal, function(CryptoJS) {
    return CryptoJS;
  });
})(cryptoJs$1);
var cryptoJsExports = cryptoJs$1.exports;
const cryptoJs = /* @__PURE__ */ getDefaultExportFromCjs(cryptoJsExports);
var cosWxSdkV5_min = { exports: {} };
(function(module2, exports2) {
  !function(e2, t2) {
    module2.exports = t2();
  }(window, function() {
    return function(e2) {
      var t2 = {};
      function r2(n2) {
        if (t2[n2])
          return t2[n2].exports;
        var a = t2[n2] = { i: n2, l: false, exports: {} };
        return e2[n2].call(a.exports, a, a.exports, r2), a.l = true, a.exports;
      }
      return r2.m = e2, r2.c = t2, r2.d = function(e3, t3, n2) {
        r2.o(e3, t3) || Object.defineProperty(e3, t3, { enumerable: true, get: n2 });
      }, r2.r = function(e3) {
        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e3, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e3, "__esModule", { value: true });
      }, r2.t = function(e3, t3) {
        if (1 & t3 && (e3 = r2(e3)), 8 & t3)
          return e3;
        if (4 & t3 && "object" == typeof e3 && e3 && e3.__esModule)
          return e3;
        var n2 = /* @__PURE__ */ Object.create(null);
        if (r2.r(n2), Object.defineProperty(n2, "default", { enumerable: true, value: e3 }), 2 & t3 && "string" != typeof e3)
          for (var a in e3)
            r2.d(n2, a, (function(t4) {
              return e3[t4];
            }).bind(null, a));
        return n2;
      }, r2.n = function(e3) {
        var t3 = e3 && e3.__esModule ? function() {
          return e3.default;
        } : function() {
          return e3;
        };
        return r2.d(t3, "a", t3), t3;
      }, r2.o = function(e3, t3) {
        return Object.prototype.hasOwnProperty.call(e3, t3);
      }, r2.p = "/Users/chrisftian/Documents/projects/cos-sdk/cos-wx-sdk-v5/demo/lib", r2(r2.s = 7);
    }([function(e2, t2, r2) {
      function n2(e3, t3) {
        var r3 = "undefined" != typeof Symbol && e3[Symbol.iterator] || e3["@@iterator"];
        if (!r3) {
          if (Array.isArray(e3) || (r3 = function(e4, t4) {
            if (!e4)
              return;
            if ("string" == typeof e4)
              return a(e4, t4);
            var r4 = Object.prototype.toString.call(e4).slice(8, -1);
            "Object" === r4 && e4.constructor && (r4 = e4.constructor.name);
            if ("Map" === r4 || "Set" === r4)
              return Array.from(e4);
            if ("Arguments" === r4 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r4))
              return a(e4, t4);
          }(e3)) || t3 && e3 && "number" == typeof e3.length) {
            r3 && (e3 = r3);
            var n3 = 0, i2 = function() {
            };
            return { s: i2, n: function() {
              return n3 >= e3.length ? { done: true } : { done: false, value: e3[n3++] };
            }, e: function(e4) {
              throw e4;
            }, f: i2 };
          }
          throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
        }
        var o3, s3 = true, c2 = false;
        return { s: function() {
          r3 = r3.call(e3);
        }, n: function() {
          var e4 = r3.next();
          return s3 = e4.done, e4;
        }, e: function(e4) {
          c2 = true, o3 = e4;
        }, f: function() {
          try {
            s3 || null == r3.return || r3.return();
          } finally {
            if (c2)
              throw o3;
          }
        } };
      }
      function a(e3, t3) {
        (null == t3 || t3 > e3.length) && (t3 = e3.length);
        for (var r3 = 0, n3 = new Array(t3); r3 < t3; r3++)
          n3[r3] = e3[r3];
        return n3;
      }
      function i() {
        /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
        i = function() {
          return t3;
        };
        var e3, t3 = {}, r3 = Object.prototype, n3 = r3.hasOwnProperty, a2 = Object.defineProperty || function(e4, t4, r4) {
          e4[t4] = r4.value;
        }, o3 = "function" == typeof Symbol ? Symbol : {}, c2 = o3.iterator || "@@iterator", l2 = o3.asyncIterator || "@@asyncIterator", p3 = o3.toStringTag || "@@toStringTag";
        function u2(e4, t4, r4) {
          return Object.defineProperty(e4, t4, { value: r4, enumerable: true, configurable: true, writable: true }), e4[t4];
        }
        try {
          u2({}, "");
        } catch (e4) {
          u2 = function(e5, t4, r4) {
            return e5[t4] = r4;
          };
        }
        function d2(e4, t4, r4, n4) {
          var i2 = t4 && t4.prototype instanceof x2 ? t4 : x2, o4 = Object.create(i2.prototype), s3 = new O2(n4 || []);
          return a2(o4, "_invoke", { value: A2(e4, r4, s3) }), o4;
        }
        function f3(e4, t4, r4) {
          try {
            return { type: "normal", arg: e4.call(t4, r4) };
          } catch (e5) {
            return { type: "throw", arg: e5 };
          }
        }
        t3.wrap = d2;
        var m3 = "suspendedStart", h2 = "suspendedYield", g2 = "executing", v2 = "completed", y2 = {};
        function x2() {
        }
        function b2() {
        }
        function k2() {
        }
        var w2 = {};
        u2(w2, c2, function() {
          return this;
        });
        var C2 = Object.getPrototypeOf, S2 = C2 && C2(C2(D([])));
        S2 && S2 !== r3 && n3.call(S2, c2) && (w2 = S2);
        var T2 = k2.prototype = x2.prototype = Object.create(w2);
        function E3(e4) {
          ["next", "throw", "return"].forEach(function(t4) {
            u2(e4, t4, function(e5) {
              return this._invoke(t4, e5);
            });
          });
        }
        function R2(e4, t4) {
          function r4(a3, i3, o4, c3) {
            var l3 = f3(e4[a3], e4, i3);
            if ("throw" !== l3.type) {
              var p4 = l3.arg, u3 = p4.value;
              return u3 && "object" == s2(u3) && n3.call(u3, "__await") ? t4.resolve(u3.__await).then(function(e5) {
                r4("next", e5, o4, c3);
              }, function(e5) {
                r4("throw", e5, o4, c3);
              }) : t4.resolve(u3).then(function(e5) {
                p4.value = e5, o4(p4);
              }, function(e5) {
                return r4("throw", e5, o4, c3);
              });
            }
            c3(l3.arg);
          }
          var i2;
          a2(this, "_invoke", { value: function(e5, n4) {
            function a3() {
              return new t4(function(t5, a4) {
                r4(e5, n4, t5, a4);
              });
            }
            return i2 = i2 ? i2.then(a3, a3) : a3();
          } });
        }
        function A2(t4, r4, n4) {
          var a3 = m3;
          return function(i2, o4) {
            if (a3 === g2)
              throw Error("Generator is already running");
            if (a3 === v2) {
              if ("throw" === i2)
                throw o4;
              return { value: e3, done: true };
            }
            for (n4.method = i2, n4.arg = o4; ; ) {
              var s3 = n4.delegate;
              if (s3) {
                var c3 = _2(s3, n4);
                if (c3) {
                  if (c3 === y2)
                    continue;
                  return c3;
                }
              }
              if ("next" === n4.method)
                n4.sent = n4._sent = n4.arg;
              else if ("throw" === n4.method) {
                if (a3 === m3)
                  throw a3 = v2, n4.arg;
                n4.dispatchException(n4.arg);
              } else
                "return" === n4.method && n4.abrupt("return", n4.arg);
              a3 = g2;
              var l3 = f3(t4, r4, n4);
              if ("normal" === l3.type) {
                if (a3 = n4.done ? v2 : h2, l3.arg === y2)
                  continue;
                return { value: l3.arg, done: n4.done };
              }
              "throw" === l3.type && (a3 = v2, n4.method = "throw", n4.arg = l3.arg);
            }
          };
        }
        function _2(t4, r4) {
          var n4 = r4.method, a3 = t4.iterator[n4];
          if (a3 === e3)
            return r4.delegate = null, "throw" === n4 && t4.iterator.return && (r4.method = "return", r4.arg = e3, _2(t4, r4), "throw" === r4.method) || "return" !== n4 && (r4.method = "throw", r4.arg = new TypeError("The iterator does not provide a '" + n4 + "' method")), y2;
          var i2 = f3(a3, t4.iterator, r4.arg);
          if ("throw" === i2.type)
            return r4.method = "throw", r4.arg = i2.arg, r4.delegate = null, y2;
          var o4 = i2.arg;
          return o4 ? o4.done ? (r4[t4.resultName] = o4.value, r4.next = t4.nextLoc, "return" !== r4.method && (r4.method = "next", r4.arg = e3), r4.delegate = null, y2) : o4 : (r4.method = "throw", r4.arg = new TypeError("iterator result is not an object"), r4.delegate = null, y2);
        }
        function B2(e4) {
          var t4 = { tryLoc: e4[0] };
          1 in e4 && (t4.catchLoc = e4[1]), 2 in e4 && (t4.finallyLoc = e4[2], t4.afterLoc = e4[3]), this.tryEntries.push(t4);
        }
        function N2(e4) {
          var t4 = e4.completion || {};
          t4.type = "normal", delete t4.arg, e4.completion = t4;
        }
        function O2(e4) {
          this.tryEntries = [{ tryLoc: "root" }], e4.forEach(B2, this), this.reset(true);
        }
        function D(t4) {
          if (t4 || "" === t4) {
            var r4 = t4[c2];
            if (r4)
              return r4.call(t4);
            if ("function" == typeof t4.next)
              return t4;
            if (!isNaN(t4.length)) {
              var a3 = -1, i2 = function r5() {
                for (; ++a3 < t4.length; )
                  if (n3.call(t4, a3))
                    return r5.value = t4[a3], r5.done = false, r5;
                return r5.value = e3, r5.done = true, r5;
              };
              return i2.next = i2;
            }
          }
          throw new TypeError(s2(t4) + " is not iterable");
        }
        return b2.prototype = k2, a2(T2, "constructor", { value: k2, configurable: true }), a2(k2, "constructor", { value: b2, configurable: true }), b2.displayName = u2(k2, p3, "GeneratorFunction"), t3.isGeneratorFunction = function(e4) {
          var t4 = "function" == typeof e4 && e4.constructor;
          return !!t4 && (t4 === b2 || "GeneratorFunction" === (t4.displayName || t4.name));
        }, t3.mark = function(e4) {
          return Object.setPrototypeOf ? Object.setPrototypeOf(e4, k2) : (e4.__proto__ = k2, u2(e4, p3, "GeneratorFunction")), e4.prototype = Object.create(T2), e4;
        }, t3.awrap = function(e4) {
          return { __await: e4 };
        }, E3(R2.prototype), u2(R2.prototype, l2, function() {
          return this;
        }), t3.AsyncIterator = R2, t3.async = function(e4, r4, n4, a3, i2) {
          void 0 === i2 && (i2 = Promise);
          var o4 = new R2(d2(e4, r4, n4, a3), i2);
          return t3.isGeneratorFunction(r4) ? o4 : o4.next().then(function(e5) {
            return e5.done ? e5.value : o4.next();
          });
        }, E3(T2), u2(T2, p3, "Generator"), u2(T2, c2, function() {
          return this;
        }), u2(T2, "toString", function() {
          return "[object Generator]";
        }), t3.keys = function(e4) {
          var t4 = Object(e4), r4 = [];
          for (var n4 in t4)
            r4.push(n4);
          return r4.reverse(), function e5() {
            for (; r4.length; ) {
              var n5 = r4.pop();
              if (n5 in t4)
                return e5.value = n5, e5.done = false, e5;
            }
            return e5.done = true, e5;
          };
        }, t3.values = D, O2.prototype = { constructor: O2, reset: function(t4) {
          if (this.prev = 0, this.next = 0, this.sent = this._sent = e3, this.done = false, this.delegate = null, this.method = "next", this.arg = e3, this.tryEntries.forEach(N2), !t4)
            for (var r4 in this)
              "t" === r4.charAt(0) && n3.call(this, r4) && !isNaN(+r4.slice(1)) && (this[r4] = e3);
        }, stop: function() {
          this.done = true;
          var e4 = this.tryEntries[0].completion;
          if ("throw" === e4.type)
            throw e4.arg;
          return this.rval;
        }, dispatchException: function(t4) {
          if (this.done)
            throw t4;
          var r4 = this;
          function a3(n4, a4) {
            return s3.type = "throw", s3.arg = t4, r4.next = n4, a4 && (r4.method = "next", r4.arg = e3), !!a4;
          }
          for (var i2 = this.tryEntries.length - 1; i2 >= 0; --i2) {
            var o4 = this.tryEntries[i2], s3 = o4.completion;
            if ("root" === o4.tryLoc)
              return a3("end");
            if (o4.tryLoc <= this.prev) {
              var c3 = n3.call(o4, "catchLoc"), l3 = n3.call(o4, "finallyLoc");
              if (c3 && l3) {
                if (this.prev < o4.catchLoc)
                  return a3(o4.catchLoc, true);
                if (this.prev < o4.finallyLoc)
                  return a3(o4.finallyLoc);
              } else if (c3) {
                if (this.prev < o4.catchLoc)
                  return a3(o4.catchLoc, true);
              } else {
                if (!l3)
                  throw Error("try statement without catch or finally");
                if (this.prev < o4.finallyLoc)
                  return a3(o4.finallyLoc);
              }
            }
          }
        }, abrupt: function(e4, t4) {
          for (var r4 = this.tryEntries.length - 1; r4 >= 0; --r4) {
            var a3 = this.tryEntries[r4];
            if (a3.tryLoc <= this.prev && n3.call(a3, "finallyLoc") && this.prev < a3.finallyLoc) {
              var i2 = a3;
              break;
            }
          }
          i2 && ("break" === e4 || "continue" === e4) && i2.tryLoc <= t4 && t4 <= i2.finallyLoc && (i2 = null);
          var o4 = i2 ? i2.completion : {};
          return o4.type = e4, o4.arg = t4, i2 ? (this.method = "next", this.next = i2.finallyLoc, y2) : this.complete(o4);
        }, complete: function(e4, t4) {
          if ("throw" === e4.type)
            throw e4.arg;
          return "break" === e4.type || "continue" === e4.type ? this.next = e4.arg : "return" === e4.type ? (this.rval = this.arg = e4.arg, this.method = "return", this.next = "end") : "normal" === e4.type && t4 && (this.next = t4), y2;
        }, finish: function(e4) {
          for (var t4 = this.tryEntries.length - 1; t4 >= 0; --t4) {
            var r4 = this.tryEntries[t4];
            if (r4.finallyLoc === e4)
              return this.complete(r4.completion, r4.afterLoc), N2(r4), y2;
          }
        }, catch: function(e4) {
          for (var t4 = this.tryEntries.length - 1; t4 >= 0; --t4) {
            var r4 = this.tryEntries[t4];
            if (r4.tryLoc === e4) {
              var n4 = r4.completion;
              if ("throw" === n4.type) {
                var a3 = n4.arg;
                N2(r4);
              }
              return a3;
            }
          }
          throw Error("illegal catch attempt");
        }, delegateYield: function(t4, r4, n4) {
          return this.delegate = { iterator: D(t4), resultName: r4, nextLoc: n4 }, "next" === this.method && (this.arg = e3), y2;
        } }, t3;
      }
      function o2(e3, t3, r3, n3, a2, i2, o3) {
        try {
          var s3 = e3[i2](o3), c2 = s3.value;
        } catch (e4) {
          return void r3(e4);
        }
        s3.done ? t3(c2) : Promise.resolve(c2).then(n3, a2);
      }
      function s2(e3) {
        return s2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e4) {
          return typeof e4;
        } : function(e4) {
          return e4 && "function" == typeof Symbol && e4.constructor === Symbol && e4 !== Symbol.prototype ? "symbol" : typeof e4;
        }, s2(e3);
      }
      var c = r2(9), l = r2(12), p2 = r2(13), u = r2(18), d = r2(19), f2 = d.btoa, m2 = wx$1.getFileSystemManager(), h = r2(3);
      function g(e3) {
        return encodeURIComponent(e3).replace(/!/g, "%21").replace(/'/g, "%27").replace(/\(/g, "%28").replace(/\)/g, "%29").replace(/\*/g, "%2A");
      }
      function v(e3, t3) {
        var r3 = [];
        for (var n3 in e3)
          e3.hasOwnProperty(n3) && r3.push(t3 ? g(n3).toLowerCase() : n3);
        return r3.sort(function(e4, t4) {
          return (e4 = e4.toLowerCase()) === (t4 = t4.toLowerCase()) ? 0 : e4 > t4 ? 1 : -1;
        });
      }
      var y = ["cache-control", "content-disposition", "content-encoding", "content-length", "content-md5", "expect", "expires", "host", "if-match", "if-modified-since", "if-none-match", "if-unmodified-since", "origin", "range", "transfer-encoding", "pic-operations"], x = function() {
      }, b = function(e3) {
        var t3 = {};
        for (var r3 in e3)
          e3.hasOwnProperty(r3) && void 0 !== e3[r3] && null !== e3[r3] && (t3[r3] = e3[r3]);
        return t3;
      };
      function k(e3) {
        return T(e3, function(e4) {
          return "object" === s2(e4) && null !== e4 ? k(e4) : e4;
        });
      }
      function w(e3, t3) {
        return S(t3, function(r3, n3) {
          e3[n3] = t3[n3];
        }), e3;
      }
      function C(e3) {
        return e3 instanceof Array;
      }
      function S(e3, t3) {
        for (var r3 in e3)
          e3.hasOwnProperty(r3) && t3(e3[r3], r3);
      }
      function T(e3, t3) {
        var r3 = C(e3) ? [] : {};
        for (var n3 in e3)
          e3.hasOwnProperty(n3) && (r3[n3] = t3(e3[n3], n3));
        return r3;
      }
      var E2 = function(e3, t3) {
        if (t3 = w({}, t3), "getAuth" !== e3 && "getV4Auth" !== e3 && "getObjectUrl" !== e3) {
          var r3 = t3.Headers || {};
          if (t3 && "object" === s2(t3)) {
            !function() {
              for (var e4 in t3)
                t3.hasOwnProperty(e4) && e4.indexOf("x-cos-") > -1 && (r3[e4] = t3[e4]);
            }();
            O.each({ "x-cos-mfa": "MFA", "Content-MD5": "ContentMD5", "Content-Length": "ContentLength", "Content-Type": "ContentType", Expect: "Expect", Expires: "Expires", "Cache-Control": "CacheControl", "Content-Disposition": "ContentDisposition", "Content-Encoding": "ContentEncoding", Range: "Range", "If-Modified-Since": "IfModifiedSince", "If-Unmodified-Since": "IfUnmodifiedSince", "If-Match": "IfMatch", "If-None-Match": "IfNoneMatch", "x-cos-copy-source": "CopySource", "x-cos-copy-source-Range": "CopySourceRange", "x-cos-metadata-directive": "MetadataDirective", "x-cos-copy-source-If-Modified-Since": "CopySourceIfModifiedSince", "x-cos-copy-source-If-Unmodified-Since": "CopySourceIfUnmodifiedSince", "x-cos-copy-source-If-Match": "CopySourceIfMatch", "x-cos-copy-source-If-None-Match": "CopySourceIfNoneMatch", "x-cos-acl": "ACL", "x-cos-grant-read": "GrantRead", "x-cos-grant-write": "GrantWrite", "x-cos-grant-full-control": "GrantFullControl", "x-cos-grant-read-acp": "GrantReadAcp", "x-cos-grant-write-acp": "GrantWriteAcp", "x-cos-storage-class": "StorageClass", "x-cos-traffic-limit": "TrafficLimit", "x-cos-mime-limit": "MimeLimit", "x-cos-forbid-overwrite": "ForbidOverwrite", "x-cos-server-side-encryption-customer-algorithm": "SSECustomerAlgorithm", "x-cos-server-side-encryption-customer-key": "SSECustomerKey", "x-cos-server-side-encryption-customer-key-MD5": "SSECustomerKeyMD5", "x-cos-server-side-encryption": "ServerSideEncryption", "x-cos-server-side-encryption-cos-kms-key-id": "SSEKMSKeyId", "x-cos-server-side-encryption-context": "SSEContext" }, function(e4, n3) {
              void 0 !== t3[e4] && (r3[n3] = t3[e4]);
            }), t3.Headers = b(r3);
          }
        }
        return t3;
      }, R = function(e3) {
        return new Promise(function(t3, r3) {
          m2.readFile({ filePath: e3, success: function(e4) {
            t3(e4.data);
          }, fail: function(e4) {
            r3((null == e4 ? void 0 : e4.errMsg) || "");
          } });
        });
      }, A = function() {
        var e3, t3 = (e3 = i().mark(function e4(t4, r3, n3) {
          return i().wrap(function(e5) {
            for (; ; )
              switch (e5.prev = e5.next) {
                case 0:
                  if ("postObject" !== t4) {
                    e5.next = 4;
                    break;
                  }
                  n3(), e5.next = 21;
                  break;
                case 4:
                  if ("putObject" !== t4) {
                    e5.next = 20;
                    break;
                  }
                  if (void 0 !== r3.Body || !r3.FilePath) {
                    e5.next = 17;
                    break;
                  }
                  return e5.prev = 6, e5.next = 9, R(r3.FilePath);
                case 9:
                  r3.Body = e5.sent, e5.next = 17;
                  break;
                case 12:
                  return e5.prev = 12, e5.t0 = e5.catch(6), r3.Body = void 0, n3({ error: "readFile error, ".concat(e5.t0) }), e5.abrupt("return");
                case 17:
                  void 0 !== r3.Body ? (r3.ContentLength = r3.Body.byteLength, n3(null, r3.ContentLength)) : n3({ error: "missing param Body" }), e5.next = 21;
                  break;
                case 20:
                  r3.FilePath ? m2.stat({ path: r3.FilePath, success: function(e6) {
                    var t5 = e6.stats;
                    r3.FileStat = t5, r3.FileStat.FilePath = r3.FilePath;
                    var a2 = t5.isDirectory() ? 0 : t5.size;
                    r3.ContentLength = a2 = a2 || 0, n3(null, a2);
                  }, fail: function(e6) {
                    n3(e6);
                  } }) : n3({ error: "missing param FilePath" });
                case 21:
                case "end":
                  return e5.stop();
              }
          }, e4, null, [[6, 12]]);
        }), function() {
          var t4 = this, r3 = arguments;
          return new Promise(function(n3, a2) {
            var i2 = e3.apply(t4, r3);
            function s3(e4) {
              o2(i2, n3, a2, s3, c2, "next", e4);
            }
            function c2(e4) {
              o2(i2, n3, a2, s3, c2, "throw", e4);
            }
            s3(void 0);
          });
        });
        return function(e4, r3, n3) {
          return t3.apply(this, arguments);
        };
      }(), _ = function(e3) {
        return Date.now() + (e3 || 0);
      }, B = function(e3, t3) {
        e3 = e3.split("."), t3 = t3.split(".");
        for (var r3 = Math.max(e3.length, t3.length); e3.length < r3; )
          e3.push("0");
        for (; t3.length < r3; )
          t3.push("0");
        for (var n3 = 0; n3 < r3; n3++) {
          var a2 = parseInt(e3[n3]), i2 = parseInt(t3[n3]);
          if (a2 > i2)
            return 1;
          if (a2 < i2)
            return -1;
        }
        return 0;
      }, N = function() {
        var e3 = wx$1.getSystemInfoSync(), t3 = B(e3.SDKVersion, "2.10.0") >= 0;
        !t3 && e3.platform;
        return function() {
          return t3;
        };
      }(), O = { noop: x, formatParams: E2, apiWrapper: function(e3, t3) {
        return function(r3, n3) {
          var a2, i2 = this;
          if ("function" == typeof r3 && (n3 = r3, r3 = {}), r3 = E2(e3, r3), i2.options.EnableReporter)
            if ("sliceUploadFile" === r3.calledBySdk || "sliceCopyFile" === r3.calledBySdk)
              a2 = r3.tracker && r3.tracker.generateSubTracker({ apiName: e3 });
            else if (["uploadFile", "uploadFiles"].includes(e3))
              a2 = null;
            else {
              var o3 = 0;
              r3.Body && (o3 = "string" == typeof r3.Body ? r3.Body.length : r3.Body.size || r3.Body.byteLength || 0);
              var s3 = i2.options.UseAccelerate || "string" == typeof i2.options.Domain && i2.options.Domain.includes("accelerate.");
              a2 = new h({ Beacon: i2.options.BeaconReporter, clsReporter: i2.options.ClsReporter, bucket: r3.Bucket, region: r3.Region, apiName: e3, realApi: e3, accelerate: s3, fileKey: r3.Key, fileSize: o3, deepTracker: i2.options.DeepTracker, customId: i2.options.CustomId, delay: i2.options.TrackerDelay });
            }
          r3.tracker = a2;
          var c2 = function(e4) {
            return e4 && e4.headers && (e4.headers["x-cos-request-id"] && (e4.RequestId = e4.headers["x-cos-request-id"]), e4.headers["x-ci-request-id"] && (e4.RequestId = e4.headers["x-ci-request-id"]), e4.headers["x-cos-version-id"] && (e4.VersionId = e4.headers["x-cos-version-id"]), e4.headers["x-cos-delete-marker"] && (e4.DeleteMarker = e4.headers["x-cos-delete-marker"])), e4;
          }, l2 = function(e4, t4) {
            a2 && a2.report(e4, t4), n3 && n3(c2(e4), c2(t4));
          }, p3 = function() {
            if ("getService" !== e3 && "abortUploadTask" !== e3) {
              var t4 = function(e4, t5) {
                var r4 = t5.Bucket, n4 = t5.Region, a3 = t5.Key;
                if (e4.indexOf("Bucket") > -1 || "deleteMultipleObject" === e4 || "multipartList" === e4 || "listObjectVersions" === e4) {
                  if (!r4)
                    return "Bucket";
                  if (!n4)
                    return "Region";
                } else if (e4.indexOf("Object") > -1 || e4.indexOf("multipart") > -1 || "sliceUploadFile" === e4 || "abortUploadTask" === e4 || "uploadFile" === e4) {
                  if (!r4)
                    return "Bucket";
                  if (!n4)
                    return "Region";
                  if (!a3)
                    return "Key";
                }
                return false;
              }(e3, r3);
              if (t4)
                return "missing param " + t4;
              if (r3.Region) {
                if (r3.Region.indexOf("cos.") > -1)
                  return 'param Region should not be start with "cos."';
                if (!/^([a-z\d-]+)$/.test(r3.Region))
                  return "Region format error.";
                !i2.options.CompatibilityMode && -1 === r3.Region.indexOf("-") && "yfb" !== r3.Region && "default" !== r3.Region && r3.Region;
              }
              if (r3.Bucket) {
                if (!/^([a-z\d-]+)-(\d+)$/.test(r3.Bucket))
                  if (r3.AppId)
                    r3.Bucket = r3.Bucket + "-" + r3.AppId;
                  else {
                    if (!i2.options.AppId)
                      return 'Bucket should format as "test-1250000000".';
                    r3.Bucket = r3.Bucket + "-" + i2.options.AppId;
                  }
                r3.AppId && delete r3.AppId;
              }
              r3.Key && "/" === r3.Key.substr(0, 1) && (r3.Key = r3.Key.substr(1));
            }
          }(), u2 = ["getAuth", "getObjectUrl"].includes(e3);
          if (!u2 && !n3)
            return new Promise(function(e4, a3) {
              if (n3 = function(t4, r4) {
                t4 ? a3(t4) : e4(r4);
              }, p3)
                return l2({ error: p3 });
              t3.call(i2, r3, l2);
            });
          if (p3)
            return l2({ error: p3 });
          var d2 = t3.call(i2, r3, l2);
          return u2 ? d2 : void 0;
        };
      }, xml2json: p2, json2xml: u, md5: c, clearKey: b, fileSlice: function(e3, t3, r3, n3) {
        e3 ? m2.readFile({ filePath: e3, position: t3, length: r3 - t3, success: function(e4) {
          n3(e4.data);
        }, fail: function() {
          n3(null);
        } }) : n3(null);
      }, getBodyMd5: function(e3, t3, r3) {
        r3 = r3 || x, e3 && t3 && t3 instanceof ArrayBuffer ? O.getFileMd5(t3, function(e4, t4) {
          r3(t4);
        }) : r3();
      }, getFileMd5: function(e3, t3) {
        var r3 = c(e3);
        return t3 && t3(r3), r3;
      }, binaryBase64: function(e3) {
        var t3, r3, n3, a2 = "";
        for (t3 = 0, r3 = e3.length / 2; t3 < r3; t3++)
          n3 = parseInt(e3[2 * t3] + e3[2 * t3 + 1], 16), a2 += String.fromCharCode(n3);
        return f2(a2);
      }, extend: w, isArray: C, isInArray: function(e3, t3) {
        for (var r3 = false, n3 = 0; n3 < e3.length; n3++)
          if (t3 === e3[n3]) {
            r3 = true;
            break;
          }
        return r3;
      }, makeArray: function(e3) {
        return C(e3) ? e3 : [e3];
      }, each: S, map: T, filter: function(e3, t3) {
        var r3 = C(e3), n3 = r3 ? [] : {};
        for (var a2 in e3)
          e3.hasOwnProperty(a2) && t3(e3[a2], a2) && (r3 ? n3.push(e3[a2]) : n3[a2] = e3[a2]);
        return n3;
      }, clone: k, attr: function(e3, t3, r3) {
        return e3 && t3 in e3 ? e3[t3] : r3;
      }, uuid: function() {
        var e3 = function() {
          return (65536 * (1 + Math.random()) | 0).toString(16).substring(1);
        };
        return e3() + e3() + "-" + e3() + "-" + e3() + "-" + e3() + "-" + e3() + e3() + e3();
      }, camSafeUrlEncode: g, throttleOnProgress: function(e3, t3) {
        var r3, n3, a2 = this, i2 = 0, o3 = 0, s3 = Date.now();
        function c2() {
          if (n3 = 0, t3 && "function" == typeof t3) {
            r3 = Date.now();
            var a3, c3 = Math.max(0, Math.round((o3 - i2) / ((r3 - s3) / 1e3) * 100) / 100) || 0;
            a3 = 0 === o3 && 0 === e3 ? 1 : Math.floor(o3 / e3 * 100) / 100 || 0, s3 = r3, i2 = o3;
            try {
              t3({ loaded: o3, total: e3, speed: c3, percent: a3 });
            } catch (e4) {
            }
          }
        }
        return function(t4, r4) {
          if (t4 && (o3 = t4.loaded, e3 = t4.total), r4)
            clearTimeout(n3), c2();
          else {
            if (n3)
              return;
            n3 = setTimeout(c2, a2.options.ProgressInterval);
          }
        };
      }, getFileSize: A, getFileSizeByPath: function(e3) {
        return new Promise(function(t3, r3) {
          m2.stat({ path: e3, success: function(e4) {
            var r4 = e4.stats, n3 = r4.isDirectory() ? 0 : r4.size;
            t3(n3);
          }, fail: function(e4) {
            r3((null == e4 ? void 0 : e4.errMsg) || "");
          } });
        });
      }, getSkewTime: _, obj2str: function(e3, t3) {
        var r3, n3, a2, i2 = [], o3 = v(e3);
        for (r3 = 0; r3 < o3.length; r3++)
          a2 = void 0 === e3[n3 = o3[r3]] || null === e3[n3] ? "" : "" + e3[n3], n3 = t3 ? g(n3).toLowerCase() : g(n3), a2 = g(a2) || "", i2.push(n3 + "=" + a2);
        return i2.join("&");
      }, getAuth: function(e3) {
        var t3, r3 = (e3 = e3 || {}).SecretId, n3 = e3.SecretKey, a2 = e3.KeyTime, i2 = (e3.method || e3.Method || "get").toLowerCase(), o3 = k(e3.Query || e3.params || {}), s3 = function(e4) {
          var t4 = {};
          for (var r4 in e4) {
            var n4 = r4.toLowerCase();
            (n4.indexOf("x-cos-") > -1 || y.indexOf(n4) > -1) && (t4[r4] = e4[r4]);
          }
          return t4;
        }(k(e3.Headers || e3.headers || {})), c2 = e3.Key || "";
        e3.UseRawKey ? t3 = e3.Pathname || e3.pathname || "/" + c2 : 0 !== (t3 = e3.Pathname || e3.pathname || c2).indexOf("/") && (t3 = "/" + t3);
        var p3 = false !== e3.ForceSignHost;
        if (!s3.Host && !s3.host && e3.Bucket && e3.Region && p3 && (s3.Host = e3.Bucket + ".cos." + e3.Region + ".myqcloud.com"), r3 && n3) {
          var u2 = Math.round(_(e3.SystemClockOffset) / 1e3) - 1, d2 = u2, f3 = e3.Expires || e3.expires;
          d2 += void 0 === f3 ? 900 : 1 * f3 || 0;
          var m3 = r3, h2 = a2 || u2 + ";" + d2, g2 = a2 || u2 + ";" + d2, x2 = v(s3, true).join(";").toLowerCase(), b2 = v(o3, true).join(";").toLowerCase(), w2 = l.HmacSHA1(g2, n3).toString(), C2 = [i2, t3, O.obj2str(o3, true), O.obj2str(s3, true), ""].join("\n"), S2 = ["sha1", h2, l.SHA1(C2).toString(), ""].join("\n");
          return ["q-sign-algorithm=sha1", "q-ak=" + m3, "q-sign-time=" + h2, "q-key-time=" + g2, "q-header-list=" + x2, "q-url-param-list=" + b2, "q-signature=" + l.HmacSHA1(S2, w2).toString()].join("&");
        }
      }, compareVersion: B, canFileSlice: N, isCIHost: function(e3) {
        return /^https?:\/\/([^/]+\.)?ci\.[^/]+/.test(e3);
      }, error: function(e3, t3) {
        var r3 = e3;
        return e3.message = e3.message || null, "string" == typeof t3 ? (e3.error = t3, e3.message = t3) : "object" === s2(t3) && null !== t3 && (w(e3, t3), (t3.code || t3.name) && (e3.code = t3.code || t3.name), t3.message && (e3.message = t3.message), t3.stack && (e3.stack = t3.stack)), "function" == typeof Object.defineProperty && (Object.defineProperty(e3, "name", { writable: true, enumerable: false }), Object.defineProperty(e3, "message", { enumerable: true })), e3.name = t3 && t3.name || e3.name || e3.code || "Error", e3.code || (e3.code = e3.name), e3.error || (e3.error = k(r3)), e3;
      }, getSourceParams: function(e3) {
        var t3 = this.options.CopySourceParser;
        if (t3)
          return t3(e3);
        var r3 = e3.match(/^([^.]+-\d+)\.cos(v6|-cdc|-internal)?\.([^.]+)\.((myqcloud\.com)|(tencentcos\.cn))\/(.+)$/);
        return r3 ? { Bucket: r3[1], Region: r3[3], Key: r3[7] } : null;
      }, encodeBase64: function(e3, t3) {
        var r3 = d.encode(e3);
        return t3 && (r3 = r3.replaceAll("+", "-").replaceAll("/", "_").replaceAll("=", "")), r3;
      }, simplifyPath: function(e3) {
        var t3, r3 = [], a2 = n2(e3.split("/"));
        try {
          for (a2.s(); !(t3 = a2.n()).done; ) {
            var i2 = t3.value;
            ".." === i2 ? r3.length && r3.pop() : i2.length && "." !== i2 && r3.push(i2);
          }
        } catch (e4) {
          a2.e(e4);
        } finally {
          a2.f();
        }
        return "/" + r3.join("/");
      } };
      e2.exports = O;
    }, function(e2, t2, r2) {
      function n2(e3, t3) {
        return void 0 === t3 && (t3 = Object), t3 && "function" == typeof t3.freeze ? t3.freeze(e3) : e3;
      }
      var a = n2({ HTML: "text/html", isHTML: function(e3) {
        return e3 === a.HTML;
      }, XML_APPLICATION: "application/xml", XML_TEXT: "text/xml", XML_XHTML_APPLICATION: "application/xhtml+xml", XML_SVG_IMAGE: "image/svg+xml" }), i = n2({ HTML: "http://www.w3.org/1999/xhtml", isHTML: function(e3) {
        return e3 === i.HTML;
      }, SVG: "http://www.w3.org/2000/svg", XML: "http://www.w3.org/XML/1998/namespace", XMLNS: "http://www.w3.org/2000/xmlns/" });
      t2.assign = function(e3, t3) {
        if (null === e3 || "object" != typeof e3)
          throw new TypeError("target is not an object");
        for (var r3 in t3)
          Object.prototype.hasOwnProperty.call(t3, r3) && (e3[r3] = t3[r3]);
        return e3;
      }, t2.find = function(e3, t3, r3) {
        if (void 0 === r3 && (r3 = Array.prototype), e3 && "function" == typeof r3.find)
          return r3.find.call(e3, t3);
        for (var n3 = 0; n3 < e3.length; n3++)
          if (Object.prototype.hasOwnProperty.call(e3, n3)) {
            var a2 = e3[n3];
            if (t3.call(void 0, a2, n3, e3))
              return a2;
          }
      }, t2.freeze = n2, t2.MIME_TYPE = a, t2.NAMESPACE = i;
    }, function(e2, t2, r2) {
      var n2 = r2(1), a = n2.find, i = n2.NAMESPACE;
      function o2(e3) {
        return "" !== e3;
      }
      function s2(e3, t3) {
        return e3.hasOwnProperty(t3) || (e3[t3] = true), e3;
      }
      function c(e3) {
        if (!e3)
          return [];
        var t3 = function(e4) {
          return e4 ? e4.split(/[\t\n\f\r ]+/).filter(o2) : [];
        }(e3);
        return Object.keys(t3.reduce(s2, {}));
      }
      function l(e3, t3) {
        for (var r3 in e3)
          Object.prototype.hasOwnProperty.call(e3, r3) && (t3[r3] = e3[r3]);
      }
      function p2(e3, t3) {
        var r3 = e3.prototype;
        if (!(r3 instanceof t3)) {
          let n3 = function() {
          };
          n3.prototype = t3.prototype, l(r3, n3 = new n3()), e3.prototype = r3 = n3;
        }
        r3.constructor != e3 && (r3.constructor = e3);
      }
      var u = {}, d = u.ELEMENT_NODE = 1, f2 = u.ATTRIBUTE_NODE = 2, m2 = u.TEXT_NODE = 3, h = u.CDATA_SECTION_NODE = 4, g = u.ENTITY_REFERENCE_NODE = 5, v = u.ENTITY_NODE = 6, y = u.PROCESSING_INSTRUCTION_NODE = 7, x = u.COMMENT_NODE = 8, b = u.DOCUMENT_NODE = 9, k = u.DOCUMENT_TYPE_NODE = 10, w = u.DOCUMENT_FRAGMENT_NODE = 11, C = u.NOTATION_NODE = 12, S = {}, T = {}, E2 = (S.INDEX_SIZE_ERR = (T[1] = "Index size error", 1), S.DOMSTRING_SIZE_ERR = (T[2] = "DOMString size error", 2), S.HIERARCHY_REQUEST_ERR = (T[3] = "Hierarchy request error", 3)), R = (S.WRONG_DOCUMENT_ERR = (T[4] = "Wrong document", 4), S.INVALID_CHARACTER_ERR = (T[5] = "Invalid character", 5), S.NO_DATA_ALLOWED_ERR = (T[6] = "No data allowed", 6), S.NO_MODIFICATION_ALLOWED_ERR = (T[7] = "No modification allowed", 7), S.NOT_FOUND_ERR = (T[8] = "Not found", 8)), A = (S.NOT_SUPPORTED_ERR = (T[9] = "Not supported", 9), S.INUSE_ATTRIBUTE_ERR = (T[10] = "Attribute in use", 10));
      S.INVALID_STATE_ERR = (T[11] = "Invalid state", 11), S.SYNTAX_ERR = (T[12] = "Syntax error", 12), S.INVALID_MODIFICATION_ERR = (T[13] = "Invalid modification", 13), S.NAMESPACE_ERR = (T[14] = "Invalid namespace", 14), S.INVALID_ACCESS_ERR = (T[15] = "Invalid access", 15);
      function _(e3, t3) {
        if (t3 instanceof Error)
          var r3 = t3;
        else
          r3 = this, Error.call(this, T[e3]), this.message = T[e3], Error.captureStackTrace && Error.captureStackTrace(this, _);
        return r3.code = e3, t3 && (this.message = this.message + ": " + t3), r3;
      }
      function B() {
      }
      function N(e3, t3) {
        this._node = e3, this._refresh = t3, O(this);
      }
      function O(e3) {
        var t3 = e3._node._inc || e3._node.ownerDocument._inc;
        if (e3._inc !== t3) {
          var r3 = e3._refresh(e3._node);
          if (xe(e3, "length", r3.length), !e3.$$length || r3.length < e3.$$length)
            for (var n3 = r3.length; n3 in e3; n3++)
              Object.prototype.hasOwnProperty.call(e3, n3) && delete e3[n3];
          l(r3, e3), e3._inc = t3;
        }
      }
      function D() {
      }
      function P(e3, t3) {
        for (var r3 = e3.length; r3--; )
          if (e3[r3] === t3)
            return r3;
      }
      function I(e3, t3, r3, n3) {
        if (n3 ? t3[P(t3, n3)] = r3 : t3[t3.length++] = r3, e3) {
          r3.ownerElement = e3;
          var a2 = e3.ownerDocument;
          a2 && (n3 && z(a2, e3, n3), function(e4, t4, r4) {
            e4 && e4._inc++;
            var n4 = r4.namespaceURI;
            n4 === i.XMLNS && (t4._nsMap[r4.prefix ? r4.localName : ""] = r4.value);
          }(a2, e3, r3));
        }
      }
      function L(e3, t3, r3) {
        var n3 = P(t3, r3);
        if (!(n3 >= 0))
          throw new _(R, new Error(e3.tagName + "@" + r3));
        for (var a2 = t3.length - 1; n3 < a2; )
          t3[n3] = t3[++n3];
        if (t3.length = a2, e3) {
          var i2 = e3.ownerDocument;
          i2 && (z(i2, e3, r3), r3.ownerElement = null);
        }
      }
      function j() {
      }
      function U() {
      }
      function q(e3) {
        return ("<" == e3 ? "&lt;" : ">" == e3 && "&gt;") || "&" == e3 && "&amp;" || '"' == e3 && "&quot;" || "&#" + e3.charCodeAt() + ";";
      }
      function M(e3, t3) {
        if (t3(e3))
          return true;
        if (e3 = e3.firstChild)
          do {
            if (M(e3, t3))
              return true;
          } while (e3 = e3.nextSibling);
      }
      function F() {
        this.ownerDocument = this;
      }
      function z(e3, t3, r3, n3) {
        e3 && e3._inc++, r3.namespaceURI === i.XMLNS && delete t3._nsMap[r3.prefix ? r3.localName : ""];
      }
      function H(e3, t3, r3) {
        if (e3 && e3._inc) {
          e3._inc++;
          var n3 = t3.childNodes;
          if (r3)
            n3[n3.length++] = r3;
          else {
            for (var a2 = t3.firstChild, i2 = 0; a2; )
              n3[i2++] = a2, a2 = a2.nextSibling;
            n3.length = i2, delete n3[n3.length];
          }
        }
      }
      function K(e3, t3) {
        var r3 = t3.previousSibling, n3 = t3.nextSibling;
        return r3 ? r3.nextSibling = n3 : e3.firstChild = n3, n3 ? n3.previousSibling = r3 : e3.lastChild = r3, t3.parentNode = null, t3.previousSibling = null, t3.nextSibling = null, H(e3.ownerDocument, e3), t3;
      }
      function G(e3) {
        return e3 && e3.nodeType === U.DOCUMENT_TYPE_NODE;
      }
      function V(e3) {
        return e3 && e3.nodeType === U.ELEMENT_NODE;
      }
      function W(e3) {
        return e3 && e3.nodeType === U.TEXT_NODE;
      }
      function X(e3, t3) {
        var r3 = e3.childNodes || [];
        if (a(r3, V) || G(t3))
          return false;
        var n3 = a(r3, G);
        return !(t3 && n3 && r3.indexOf(n3) > r3.indexOf(t3));
      }
      function Q(e3, t3) {
        var r3 = e3.childNodes || [];
        if (a(r3, function(e4) {
          return V(e4) && e4 !== t3;
        }))
          return false;
        var n3 = a(r3, G);
        return !(t3 && n3 && r3.indexOf(n3) > r3.indexOf(t3));
      }
      function $(e3, t3, r3) {
        if (!function(e4) {
          return e4 && (e4.nodeType === U.DOCUMENT_NODE || e4.nodeType === U.DOCUMENT_FRAGMENT_NODE || e4.nodeType === U.ELEMENT_NODE);
        }(e3))
          throw new _(E2, "Unexpected parent node type " + e3.nodeType);
        if (r3 && r3.parentNode !== e3)
          throw new _(R, "child not in parent");
        if (!function(e4) {
          return e4 && (V(e4) || W(e4) || G(e4) || e4.nodeType === U.DOCUMENT_FRAGMENT_NODE || e4.nodeType === U.COMMENT_NODE || e4.nodeType === U.PROCESSING_INSTRUCTION_NODE);
        }(t3) || G(t3) && e3.nodeType !== U.DOCUMENT_NODE)
          throw new _(E2, "Unexpected node type " + t3.nodeType + " for parent node type " + e3.nodeType);
      }
      function J(e3, t3, r3) {
        var n3 = e3.childNodes || [], i2 = t3.childNodes || [];
        if (t3.nodeType === U.DOCUMENT_FRAGMENT_NODE) {
          var o3 = i2.filter(V);
          if (o3.length > 1 || a(i2, W))
            throw new _(E2, "More than one element or text in fragment");
          if (1 === o3.length && !X(e3, r3))
            throw new _(E2, "Element in fragment can not be inserted before doctype");
        }
        if (V(t3) && !X(e3, r3))
          throw new _(E2, "Only one element can be added and only after doctype");
        if (G(t3)) {
          if (a(n3, G))
            throw new _(E2, "Only one doctype is allowed");
          var s3 = a(n3, V);
          if (r3 && n3.indexOf(s3) < n3.indexOf(r3))
            throw new _(E2, "Doctype can only be inserted before an element");
          if (!r3 && s3)
            throw new _(E2, "Doctype can not be appended since element is present");
        }
      }
      function Y(e3, t3, r3) {
        var n3 = e3.childNodes || [], i2 = t3.childNodes || [];
        if (t3.nodeType === U.DOCUMENT_FRAGMENT_NODE) {
          var o3 = i2.filter(V);
          if (o3.length > 1 || a(i2, W))
            throw new _(E2, "More than one element or text in fragment");
          if (1 === o3.length && !Q(e3, r3))
            throw new _(E2, "Element in fragment can not be inserted before doctype");
        }
        if (V(t3) && !Q(e3, r3))
          throw new _(E2, "Only one element can be added and only after doctype");
        if (G(t3)) {
          if (a(n3, function(e4) {
            return G(e4) && e4 !== r3;
          }))
            throw new _(E2, "Only one doctype is allowed");
          var s3 = a(n3, V);
          if (r3 && n3.indexOf(s3) < n3.indexOf(r3))
            throw new _(E2, "Doctype can only be inserted before an element");
        }
      }
      function Z(e3, t3, r3, n3) {
        $(e3, t3, r3), e3.nodeType === U.DOCUMENT_NODE && (n3 || J)(e3, t3, r3);
        var a2 = t3.parentNode;
        if (a2 && a2.removeChild(t3), t3.nodeType === w) {
          var i2 = t3.firstChild;
          if (null == i2)
            return t3;
          var o3 = t3.lastChild;
        } else
          i2 = o3 = t3;
        var s3 = r3 ? r3.previousSibling : e3.lastChild;
        i2.previousSibling = s3, o3.nextSibling = r3, s3 ? s3.nextSibling = i2 : e3.firstChild = i2, null == r3 ? e3.lastChild = o3 : r3.previousSibling = o3;
        do {
          i2.parentNode = e3;
        } while (i2 !== o3 && (i2 = i2.nextSibling));
        return H(e3.ownerDocument || e3, e3), t3.nodeType == w && (t3.firstChild = t3.lastChild = null), t3;
      }
      function ee() {
        this._nsMap = {};
      }
      function te() {
      }
      function re() {
      }
      function ne() {
      }
      function ae() {
      }
      function ie() {
      }
      function oe() {
      }
      function se() {
      }
      function ce() {
      }
      function le() {
      }
      function pe() {
      }
      function ue() {
      }
      function de() {
      }
      function fe(e3, t3) {
        var r3 = [], n3 = 9 == this.nodeType && this.documentElement || this, a2 = n3.prefix, i2 = n3.namespaceURI;
        if (i2 && null == a2 && null == (a2 = n3.lookupPrefix(i2)))
          var o3 = [{ namespace: i2, prefix: null }];
        return ge(this, r3, e3, t3, o3), r3.join("");
      }
      function me(e3, t3, r3) {
        var n3 = e3.prefix || "", a2 = e3.namespaceURI;
        if (!a2)
          return false;
        if ("xml" === n3 && a2 === i.XML || a2 === i.XMLNS)
          return false;
        for (var o3 = r3.length; o3--; ) {
          var s3 = r3[o3];
          if (s3.prefix === n3)
            return s3.namespace !== a2;
        }
        return true;
      }
      function he(e3, t3, r3) {
        e3.push(" ", t3, '="', r3.replace(/[<>&"\t\n\r]/g, q), '"');
      }
      function ge(e3, t3, r3, n3, a2) {
        if (a2 || (a2 = []), n3) {
          if (!(e3 = n3(e3)))
            return;
          if ("string" == typeof e3)
            return void t3.push(e3);
        }
        switch (e3.nodeType) {
          case d:
            var o3 = e3.attributes, s3 = o3.length, c2 = e3.firstChild, l2 = e3.tagName, p3 = l2;
            if (!(r3 = i.isHTML(e3.namespaceURI) || r3) && !e3.prefix && e3.namespaceURI) {
              for (var u2, v2 = 0; v2 < o3.length; v2++)
                if ("xmlns" === o3.item(v2).name) {
                  u2 = o3.item(v2).value;
                  break;
                }
              if (!u2)
                for (var C2 = a2.length - 1; C2 >= 0; C2--) {
                  if ("" === (S2 = a2[C2]).prefix && S2.namespace === e3.namespaceURI) {
                    u2 = S2.namespace;
                    break;
                  }
                }
              if (u2 !== e3.namespaceURI)
                for (C2 = a2.length - 1; C2 >= 0; C2--) {
                  var S2;
                  if ((S2 = a2[C2]).namespace === e3.namespaceURI) {
                    S2.prefix && (p3 = S2.prefix + ":" + l2);
                    break;
                  }
                }
            }
            t3.push("<", p3);
            for (var T2 = 0; T2 < s3; T2++) {
              "xmlns" == (E3 = o3.item(T2)).prefix ? a2.push({ prefix: E3.localName, namespace: E3.value }) : "xmlns" == E3.nodeName && a2.push({ prefix: "", namespace: E3.value });
            }
            for (T2 = 0; T2 < s3; T2++) {
              var E3, R2, A2;
              if (me(E3 = o3.item(T2), 0, a2))
                he(t3, (R2 = E3.prefix || "") ? "xmlns:" + R2 : "xmlns", A2 = E3.namespaceURI), a2.push({ prefix: R2, namespace: A2 });
              ge(E3, t3, r3, n3, a2);
            }
            if (l2 === p3 && me(e3, 0, a2))
              he(t3, (R2 = e3.prefix || "") ? "xmlns:" + R2 : "xmlns", A2 = e3.namespaceURI), a2.push({ prefix: R2, namespace: A2 });
            if (c2 || r3 && !/^(?:meta|link|img|br|hr|input)$/i.test(l2)) {
              if (t3.push(">"), r3 && /^script$/i.test(l2))
                for (; c2; )
                  c2.data ? t3.push(c2.data) : ge(c2, t3, r3, n3, a2.slice()), c2 = c2.nextSibling;
              else
                for (; c2; )
                  ge(c2, t3, r3, n3, a2.slice()), c2 = c2.nextSibling;
              t3.push("</", p3, ">");
            } else
              t3.push("/>");
            return;
          case b:
          case w:
            for (c2 = e3.firstChild; c2; )
              ge(c2, t3, r3, n3, a2.slice()), c2 = c2.nextSibling;
            return;
          case f2:
            return he(t3, e3.name, e3.value);
          case m2:
            return t3.push(e3.data.replace(/[<&>]/g, q));
          case h:
            return t3.push("<![CDATA[", e3.data, "]]>");
          case x:
            return t3.push("<!--", e3.data, "-->");
          case k:
            var _2 = e3.publicId, B2 = e3.systemId;
            if (t3.push("<!DOCTYPE ", e3.name), _2)
              t3.push(" PUBLIC ", _2), B2 && "." != B2 && t3.push(" ", B2), t3.push(">");
            else if (B2 && "." != B2)
              t3.push(" SYSTEM ", B2, ">");
            else {
              var N2 = e3.internalSubset;
              N2 && t3.push(" [", N2, "]"), t3.push(">");
            }
            return;
          case y:
            return t3.push("<?", e3.target, " ", e3.data, "?>");
          case g:
            return t3.push("&", e3.nodeName, ";");
          default:
            t3.push("??", e3.nodeName);
        }
      }
      function ve(e3, t3, r3) {
        var n3;
        switch (t3.nodeType) {
          case d:
            (n3 = t3.cloneNode(false)).ownerDocument = e3;
          case w:
            break;
          case f2:
            r3 = true;
        }
        if (n3 || (n3 = t3.cloneNode(false)), n3.ownerDocument = e3, n3.parentNode = null, r3)
          for (var a2 = t3.firstChild; a2; )
            n3.appendChild(ve(e3, a2, r3)), a2 = a2.nextSibling;
        return n3;
      }
      function ye(e3, t3, r3) {
        var n3 = new t3.constructor();
        for (var a2 in t3)
          if (Object.prototype.hasOwnProperty.call(t3, a2)) {
            var i2 = t3[a2];
            "object" != typeof i2 && i2 != n3[a2] && (n3[a2] = i2);
          }
        switch (t3.childNodes && (n3.childNodes = new B()), n3.ownerDocument = e3, n3.nodeType) {
          case d:
            var o3 = t3.attributes, s3 = n3.attributes = new D(), c2 = o3.length;
            s3._ownerElement = n3;
            for (var l2 = 0; l2 < c2; l2++)
              n3.setAttributeNode(ye(e3, o3.item(l2), true));
            break;
          case f2:
            r3 = true;
        }
        if (r3)
          for (var p3 = t3.firstChild; p3; )
            n3.appendChild(ye(e3, p3, r3)), p3 = p3.nextSibling;
        return n3;
      }
      function xe(e3, t3, r3) {
        e3[t3] = r3;
      }
      _.prototype = Error.prototype, l(S, _), B.prototype = { length: 0, item: function(e3) {
        return e3 >= 0 && e3 < this.length ? this[e3] : null;
      }, toString: function(e3, t3) {
        for (var r3 = [], n3 = 0; n3 < this.length; n3++)
          ge(this[n3], r3, e3, t3);
        return r3.join("");
      }, filter: function(e3) {
        return Array.prototype.filter.call(this, e3);
      }, indexOf: function(e3) {
        return Array.prototype.indexOf.call(this, e3);
      } }, N.prototype.item = function(e3) {
        return O(this), this[e3] || null;
      }, p2(N, B), D.prototype = { length: 0, item: B.prototype.item, getNamedItem: function(e3) {
        for (var t3 = this.length; t3--; ) {
          var r3 = this[t3];
          if (r3.nodeName == e3)
            return r3;
        }
      }, setNamedItem: function(e3) {
        var t3 = e3.ownerElement;
        if (t3 && t3 != this._ownerElement)
          throw new _(A);
        var r3 = this.getNamedItem(e3.nodeName);
        return I(this._ownerElement, this, e3, r3), r3;
      }, setNamedItemNS: function(e3) {
        var t3, r3 = e3.ownerElement;
        if (r3 && r3 != this._ownerElement)
          throw new _(A);
        return t3 = this.getNamedItemNS(e3.namespaceURI, e3.localName), I(this._ownerElement, this, e3, t3), t3;
      }, removeNamedItem: function(e3) {
        var t3 = this.getNamedItem(e3);
        return L(this._ownerElement, this, t3), t3;
      }, removeNamedItemNS: function(e3, t3) {
        var r3 = this.getNamedItemNS(e3, t3);
        return L(this._ownerElement, this, r3), r3;
      }, getNamedItemNS: function(e3, t3) {
        for (var r3 = this.length; r3--; ) {
          var n3 = this[r3];
          if (n3.localName == t3 && n3.namespaceURI == e3)
            return n3;
        }
        return null;
      } }, j.prototype = { hasFeature: function(e3, t3) {
        return true;
      }, createDocument: function(e3, t3, r3) {
        var n3 = new F();
        if (n3.implementation = this, n3.childNodes = new B(), n3.doctype = r3 || null, r3 && n3.appendChild(r3), t3) {
          var a2 = n3.createElementNS(e3, t3);
          n3.appendChild(a2);
        }
        return n3;
      }, createDocumentType: function(e3, t3, r3) {
        var n3 = new oe();
        return n3.name = e3, n3.nodeName = e3, n3.publicId = t3 || "", n3.systemId = r3 || "", n3;
      } }, U.prototype = { firstChild: null, lastChild: null, previousSibling: null, nextSibling: null, attributes: null, parentNode: null, childNodes: null, ownerDocument: null, nodeValue: null, namespaceURI: null, prefix: null, localName: null, insertBefore: function(e3, t3) {
        return Z(this, e3, t3);
      }, replaceChild: function(e3, t3) {
        Z(this, e3, t3, Y), t3 && this.removeChild(t3);
      }, removeChild: function(e3) {
        return K(this, e3);
      }, appendChild: function(e3) {
        return this.insertBefore(e3, null);
      }, hasChildNodes: function() {
        return null != this.firstChild;
      }, cloneNode: function(e3) {
        return ye(this.ownerDocument || this, this, e3);
      }, normalize: function() {
        for (var e3 = this.firstChild; e3; ) {
          var t3 = e3.nextSibling;
          t3 && t3.nodeType == m2 && e3.nodeType == m2 ? (this.removeChild(t3), e3.appendData(t3.data)) : (e3.normalize(), e3 = t3);
        }
      }, isSupported: function(e3, t3) {
        return this.ownerDocument.implementation.hasFeature(e3, t3);
      }, hasAttributes: function() {
        return this.attributes.length > 0;
      }, lookupPrefix: function(e3) {
        for (var t3 = this; t3; ) {
          var r3 = t3._nsMap;
          if (r3) {
            for (var n3 in r3)
              if (Object.prototype.hasOwnProperty.call(r3, n3) && r3[n3] === e3)
                return n3;
          }
          t3 = t3.nodeType == f2 ? t3.ownerDocument : t3.parentNode;
        }
        return null;
      }, lookupNamespaceURI: function(e3) {
        for (var t3 = this; t3; ) {
          var r3 = t3._nsMap;
          if (r3 && Object.prototype.hasOwnProperty.call(r3, e3))
            return r3[e3];
          t3 = t3.nodeType == f2 ? t3.ownerDocument : t3.parentNode;
        }
        return null;
      }, isDefaultNamespace: function(e3) {
        return null == this.lookupPrefix(e3);
      } }, l(u, U), l(u, U.prototype), F.prototype = { nodeName: "#document", nodeType: b, doctype: null, documentElement: null, _inc: 1, insertBefore: function(e3, t3) {
        if (e3.nodeType == w) {
          for (var r3 = e3.firstChild; r3; ) {
            var n3 = r3.nextSibling;
            this.insertBefore(r3, t3), r3 = n3;
          }
          return e3;
        }
        return Z(this, e3, t3), e3.ownerDocument = this, null === this.documentElement && e3.nodeType === d && (this.documentElement = e3), e3;
      }, removeChild: function(e3) {
        return this.documentElement == e3 && (this.documentElement = null), K(this, e3);
      }, replaceChild: function(e3, t3) {
        Z(this, e3, t3, Y), e3.ownerDocument = this, t3 && this.removeChild(t3), V(e3) && (this.documentElement = e3);
      }, importNode: function(e3, t3) {
        return ve(this, e3, t3);
      }, getElementById: function(e3) {
        var t3 = null;
        return M(this.documentElement, function(r3) {
          if (r3.nodeType == d && r3.getAttribute("id") == e3)
            return t3 = r3, true;
        }), t3;
      }, getElementsByClassName: function(e3) {
        var t3 = c(e3);
        return new N(this, function(r3) {
          var n3 = [];
          return t3.length > 0 && M(r3.documentElement, function(a2) {
            if (a2 !== r3 && a2.nodeType === d) {
              var i2 = a2.getAttribute("class");
              if (i2) {
                var o3 = e3 === i2;
                if (!o3) {
                  var s3 = c(i2);
                  o3 = t3.every((l2 = s3, function(e4) {
                    return l2 && -1 !== l2.indexOf(e4);
                  }));
                }
                o3 && n3.push(a2);
              }
            }
            var l2;
          }), n3;
        });
      }, createElement: function(e3) {
        var t3 = new ee();
        return t3.ownerDocument = this, t3.nodeName = e3, t3.tagName = e3, t3.localName = e3, t3.childNodes = new B(), (t3.attributes = new D())._ownerElement = t3, t3;
      }, createDocumentFragment: function() {
        var e3 = new pe();
        return e3.ownerDocument = this, e3.childNodes = new B(), e3;
      }, createTextNode: function(e3) {
        var t3 = new ne();
        return t3.ownerDocument = this, t3.appendData(e3), t3;
      }, createComment: function(e3) {
        var t3 = new ae();
        return t3.ownerDocument = this, t3.appendData(e3), t3;
      }, createCDATASection: function(e3) {
        var t3 = new ie();
        return t3.ownerDocument = this, t3.appendData(e3), t3;
      }, createProcessingInstruction: function(e3, t3) {
        var r3 = new ue();
        return r3.ownerDocument = this, r3.tagName = r3.nodeName = r3.target = e3, r3.nodeValue = r3.data = t3, r3;
      }, createAttribute: function(e3) {
        var t3 = new te();
        return t3.ownerDocument = this, t3.name = e3, t3.nodeName = e3, t3.localName = e3, t3.specified = true, t3;
      }, createEntityReference: function(e3) {
        var t3 = new le();
        return t3.ownerDocument = this, t3.nodeName = e3, t3;
      }, createElementNS: function(e3, t3) {
        var r3 = new ee(), n3 = t3.split(":"), a2 = r3.attributes = new D();
        return r3.childNodes = new B(), r3.ownerDocument = this, r3.nodeName = t3, r3.tagName = t3, r3.namespaceURI = e3, 2 == n3.length ? (r3.prefix = n3[0], r3.localName = n3[1]) : r3.localName = t3, a2._ownerElement = r3, r3;
      }, createAttributeNS: function(e3, t3) {
        var r3 = new te(), n3 = t3.split(":");
        return r3.ownerDocument = this, r3.nodeName = t3, r3.name = t3, r3.namespaceURI = e3, r3.specified = true, 2 == n3.length ? (r3.prefix = n3[0], r3.localName = n3[1]) : r3.localName = t3, r3;
      } }, p2(F, U), ee.prototype = { nodeType: d, hasAttribute: function(e3) {
        return null != this.getAttributeNode(e3);
      }, getAttribute: function(e3) {
        var t3 = this.getAttributeNode(e3);
        return t3 && t3.value || "";
      }, getAttributeNode: function(e3) {
        return this.attributes.getNamedItem(e3);
      }, setAttribute: function(e3, t3) {
        var r3 = this.ownerDocument.createAttribute(e3);
        r3.value = r3.nodeValue = "" + t3, this.setAttributeNode(r3);
      }, removeAttribute: function(e3) {
        var t3 = this.getAttributeNode(e3);
        t3 && this.removeAttributeNode(t3);
      }, appendChild: function(e3) {
        return e3.nodeType === w ? this.insertBefore(e3, null) : function(e4, t3) {
          return t3.parentNode && t3.parentNode.removeChild(t3), t3.parentNode = e4, t3.previousSibling = e4.lastChild, t3.nextSibling = null, t3.previousSibling ? t3.previousSibling.nextSibling = t3 : e4.firstChild = t3, e4.lastChild = t3, H(e4.ownerDocument, e4, t3), t3;
        }(this, e3);
      }, setAttributeNode: function(e3) {
        return this.attributes.setNamedItem(e3);
      }, setAttributeNodeNS: function(e3) {
        return this.attributes.setNamedItemNS(e3);
      }, removeAttributeNode: function(e3) {
        return this.attributes.removeNamedItem(e3.nodeName);
      }, removeAttributeNS: function(e3, t3) {
        var r3 = this.getAttributeNodeNS(e3, t3);
        r3 && this.removeAttributeNode(r3);
      }, hasAttributeNS: function(e3, t3) {
        return null != this.getAttributeNodeNS(e3, t3);
      }, getAttributeNS: function(e3, t3) {
        var r3 = this.getAttributeNodeNS(e3, t3);
        return r3 && r3.value || "";
      }, setAttributeNS: function(e3, t3, r3) {
        var n3 = this.ownerDocument.createAttributeNS(e3, t3);
        n3.value = n3.nodeValue = "" + r3, this.setAttributeNode(n3);
      }, getAttributeNodeNS: function(e3, t3) {
        return this.attributes.getNamedItemNS(e3, t3);
      }, getElementsByTagName: function(e3) {
        return new N(this, function(t3) {
          var r3 = [];
          return M(t3, function(n3) {
            n3 === t3 || n3.nodeType != d || "*" !== e3 && n3.tagName != e3 || r3.push(n3);
          }), r3;
        });
      }, getElementsByTagNameNS: function(e3, t3) {
        return new N(this, function(r3) {
          var n3 = [];
          return M(r3, function(a2) {
            a2 === r3 || a2.nodeType !== d || "*" !== e3 && a2.namespaceURI !== e3 || "*" !== t3 && a2.localName != t3 || n3.push(a2);
          }), n3;
        });
      } }, F.prototype.getElementsByTagName = ee.prototype.getElementsByTagName, F.prototype.getElementsByTagNameNS = ee.prototype.getElementsByTagNameNS, p2(ee, U), te.prototype.nodeType = f2, p2(te, U), re.prototype = { data: "", substringData: function(e3, t3) {
        return this.data.substring(e3, e3 + t3);
      }, appendData: function(e3) {
        e3 = this.data + e3, this.nodeValue = this.data = e3, this.length = e3.length;
      }, insertData: function(e3, t3) {
        this.replaceData(e3, 0, t3);
      }, appendChild: function(e3) {
        throw new Error(T[E2]);
      }, deleteData: function(e3, t3) {
        this.replaceData(e3, t3, "");
      }, replaceData: function(e3, t3, r3) {
        r3 = this.data.substring(0, e3) + r3 + this.data.substring(e3 + t3), this.nodeValue = this.data = r3, this.length = r3.length;
      } }, p2(re, U), ne.prototype = { nodeName: "#text", nodeType: m2, splitText: function(e3) {
        var t3 = this.data, r3 = t3.substring(e3);
        t3 = t3.substring(0, e3), this.data = this.nodeValue = t3, this.length = t3.length;
        var n3 = this.ownerDocument.createTextNode(r3);
        return this.parentNode && this.parentNode.insertBefore(n3, this.nextSibling), n3;
      } }, p2(ne, re), ae.prototype = { nodeName: "#comment", nodeType: x }, p2(ae, re), ie.prototype = { nodeName: "#cdata-section", nodeType: h }, p2(ie, re), oe.prototype.nodeType = k, p2(oe, U), se.prototype.nodeType = C, p2(se, U), ce.prototype.nodeType = v, p2(ce, U), le.prototype.nodeType = g, p2(le, U), pe.prototype.nodeName = "#document-fragment", pe.prototype.nodeType = w, p2(pe, U), ue.prototype.nodeType = y, p2(ue, U), de.prototype.serializeToString = function(e3, t3, r3) {
        return fe.call(e3, t3, r3);
      }, U.prototype.toString = fe;
      try {
        if (Object.defineProperty) {
          let be = function(e3) {
            switch (e3.nodeType) {
              case d:
              case w:
                var t3 = [];
                for (e3 = e3.firstChild; e3; )
                  7 !== e3.nodeType && 8 !== e3.nodeType && t3.push(be(e3)), e3 = e3.nextSibling;
                return t3.join("");
              default:
                return e3.nodeValue;
            }
          };
          Object.defineProperty(N.prototype, "length", { get: function() {
            return O(this), this.$$length;
          } }), Object.defineProperty(U.prototype, "textContent", { get: function() {
            return be(this);
          }, set: function(e3) {
            switch (this.nodeType) {
              case d:
              case w:
                for (; this.firstChild; )
                  this.removeChild(this.firstChild);
                (e3 || String(e3)) && this.appendChild(this.ownerDocument.createTextNode(e3));
                break;
              default:
                this.data = e3, this.value = e3, this.nodeValue = e3;
            }
          } }), xe = function(e3, t3, r3) {
            e3["$$" + t3] = r3;
          };
        }
      } catch (ke) {
      }
      t2.DocumentType = oe, t2.DOMException = _, t2.DOMImplementation = j, t2.Element = ee, t2.Node = U, t2.NodeList = B, t2.XMLSerializer = de;
    }, function(e2, t2, r2) {
      function n2(e3) {
        return n2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e4) {
          return typeof e4;
        } : function(e4) {
          return e4 && "function" == typeof Symbol && e4.constructor === Symbol && e4 !== Symbol.prototype ? "symbol" : typeof e4;
        }, n2(e3);
      }
      function a() {
        /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
        a = function() {
          return t3;
        };
        var e3, t3 = {}, r3 = Object.prototype, i2 = r3.hasOwnProperty, o3 = Object.defineProperty || function(e4, t4, r4) {
          e4[t4] = r4.value;
        }, s3 = "function" == typeof Symbol ? Symbol : {}, c2 = s3.iterator || "@@iterator", l2 = s3.asyncIterator || "@@asyncIterator", p3 = s3.toStringTag || "@@toStringTag";
        function u2(e4, t4, r4) {
          return Object.defineProperty(e4, t4, { value: r4, enumerable: true, configurable: true, writable: true }), e4[t4];
        }
        try {
          u2({}, "");
        } catch (e4) {
          u2 = function(e5, t4, r4) {
            return e5[t4] = r4;
          };
        }
        function d2(e4, t4, r4, n3) {
          var a2 = t4 && t4.prototype instanceof x ? t4 : x, i3 = Object.create(a2.prototype), s4 = new O(n3 || []);
          return o3(i3, "_invoke", { value: A(e4, r4, s4) }), i3;
        }
        function f3(e4, t4, r4) {
          try {
            return { type: "normal", arg: e4.call(t4, r4) };
          } catch (e5) {
            return { type: "throw", arg: e5 };
          }
        }
        t3.wrap = d2;
        var m3 = "suspendedStart", h2 = "suspendedYield", g2 = "executing", v2 = "completed", y2 = {};
        function x() {
        }
        function b() {
        }
        function k() {
        }
        var w = {};
        u2(w, c2, function() {
          return this;
        });
        var C = Object.getPrototypeOf, S = C && C(C(D([])));
        S && S !== r3 && i2.call(S, c2) && (w = S);
        var T = k.prototype = x.prototype = Object.create(w);
        function E2(e4) {
          ["next", "throw", "return"].forEach(function(t4) {
            u2(e4, t4, function(e5) {
              return this._invoke(t4, e5);
            });
          });
        }
        function R(e4, t4) {
          function r4(a3, o4, s4, c3) {
            var l3 = f3(e4[a3], e4, o4);
            if ("throw" !== l3.type) {
              var p4 = l3.arg, u3 = p4.value;
              return u3 && "object" == n2(u3) && i2.call(u3, "__await") ? t4.resolve(u3.__await).then(function(e5) {
                r4("next", e5, s4, c3);
              }, function(e5) {
                r4("throw", e5, s4, c3);
              }) : t4.resolve(u3).then(function(e5) {
                p4.value = e5, s4(p4);
              }, function(e5) {
                return r4("throw", e5, s4, c3);
              });
            }
            c3(l3.arg);
          }
          var a2;
          o3(this, "_invoke", { value: function(e5, n3) {
            function i3() {
              return new t4(function(t5, a3) {
                r4(e5, n3, t5, a3);
              });
            }
            return a2 = a2 ? a2.then(i3, i3) : i3();
          } });
        }
        function A(t4, r4, n3) {
          var a2 = m3;
          return function(i3, o4) {
            if (a2 === g2)
              throw Error("Generator is already running");
            if (a2 === v2) {
              if ("throw" === i3)
                throw o4;
              return { value: e3, done: true };
            }
            for (n3.method = i3, n3.arg = o4; ; ) {
              var s4 = n3.delegate;
              if (s4) {
                var c3 = _(s4, n3);
                if (c3) {
                  if (c3 === y2)
                    continue;
                  return c3;
                }
              }
              if ("next" === n3.method)
                n3.sent = n3._sent = n3.arg;
              else if ("throw" === n3.method) {
                if (a2 === m3)
                  throw a2 = v2, n3.arg;
                n3.dispatchException(n3.arg);
              } else
                "return" === n3.method && n3.abrupt("return", n3.arg);
              a2 = g2;
              var l3 = f3(t4, r4, n3);
              if ("normal" === l3.type) {
                if (a2 = n3.done ? v2 : h2, l3.arg === y2)
                  continue;
                return { value: l3.arg, done: n3.done };
              }
              "throw" === l3.type && (a2 = v2, n3.method = "throw", n3.arg = l3.arg);
            }
          };
        }
        function _(t4, r4) {
          var n3 = r4.method, a2 = t4.iterator[n3];
          if (a2 === e3)
            return r4.delegate = null, "throw" === n3 && t4.iterator.return && (r4.method = "return", r4.arg = e3, _(t4, r4), "throw" === r4.method) || "return" !== n3 && (r4.method = "throw", r4.arg = new TypeError("The iterator does not provide a '" + n3 + "' method")), y2;
          var i3 = f3(a2, t4.iterator, r4.arg);
          if ("throw" === i3.type)
            return r4.method = "throw", r4.arg = i3.arg, r4.delegate = null, y2;
          var o4 = i3.arg;
          return o4 ? o4.done ? (r4[t4.resultName] = o4.value, r4.next = t4.nextLoc, "return" !== r4.method && (r4.method = "next", r4.arg = e3), r4.delegate = null, y2) : o4 : (r4.method = "throw", r4.arg = new TypeError("iterator result is not an object"), r4.delegate = null, y2);
        }
        function B(e4) {
          var t4 = { tryLoc: e4[0] };
          1 in e4 && (t4.catchLoc = e4[1]), 2 in e4 && (t4.finallyLoc = e4[2], t4.afterLoc = e4[3]), this.tryEntries.push(t4);
        }
        function N(e4) {
          var t4 = e4.completion || {};
          t4.type = "normal", delete t4.arg, e4.completion = t4;
        }
        function O(e4) {
          this.tryEntries = [{ tryLoc: "root" }], e4.forEach(B, this), this.reset(true);
        }
        function D(t4) {
          if (t4 || "" === t4) {
            var r4 = t4[c2];
            if (r4)
              return r4.call(t4);
            if ("function" == typeof t4.next)
              return t4;
            if (!isNaN(t4.length)) {
              var a2 = -1, o4 = function r5() {
                for (; ++a2 < t4.length; )
                  if (i2.call(t4, a2))
                    return r5.value = t4[a2], r5.done = false, r5;
                return r5.value = e3, r5.done = true, r5;
              };
              return o4.next = o4;
            }
          }
          throw new TypeError(n2(t4) + " is not iterable");
        }
        return b.prototype = k, o3(T, "constructor", { value: k, configurable: true }), o3(k, "constructor", { value: b, configurable: true }), b.displayName = u2(k, p3, "GeneratorFunction"), t3.isGeneratorFunction = function(e4) {
          var t4 = "function" == typeof e4 && e4.constructor;
          return !!t4 && (t4 === b || "GeneratorFunction" === (t4.displayName || t4.name));
        }, t3.mark = function(e4) {
          return Object.setPrototypeOf ? Object.setPrototypeOf(e4, k) : (e4.__proto__ = k, u2(e4, p3, "GeneratorFunction")), e4.prototype = Object.create(T), e4;
        }, t3.awrap = function(e4) {
          return { __await: e4 };
        }, E2(R.prototype), u2(R.prototype, l2, function() {
          return this;
        }), t3.AsyncIterator = R, t3.async = function(e4, r4, n3, a2, i3) {
          void 0 === i3 && (i3 = Promise);
          var o4 = new R(d2(e4, r4, n3, a2), i3);
          return t3.isGeneratorFunction(r4) ? o4 : o4.next().then(function(e5) {
            return e5.done ? e5.value : o4.next();
          });
        }, E2(T), u2(T, p3, "Generator"), u2(T, c2, function() {
          return this;
        }), u2(T, "toString", function() {
          return "[object Generator]";
        }), t3.keys = function(e4) {
          var t4 = Object(e4), r4 = [];
          for (var n3 in t4)
            r4.push(n3);
          return r4.reverse(), function e5() {
            for (; r4.length; ) {
              var n4 = r4.pop();
              if (n4 in t4)
                return e5.value = n4, e5.done = false, e5;
            }
            return e5.done = true, e5;
          };
        }, t3.values = D, O.prototype = { constructor: O, reset: function(t4) {
          if (this.prev = 0, this.next = 0, this.sent = this._sent = e3, this.done = false, this.delegate = null, this.method = "next", this.arg = e3, this.tryEntries.forEach(N), !t4)
            for (var r4 in this)
              "t" === r4.charAt(0) && i2.call(this, r4) && !isNaN(+r4.slice(1)) && (this[r4] = e3);
        }, stop: function() {
          this.done = true;
          var e4 = this.tryEntries[0].completion;
          if ("throw" === e4.type)
            throw e4.arg;
          return this.rval;
        }, dispatchException: function(t4) {
          if (this.done)
            throw t4;
          var r4 = this;
          function n3(n4, a3) {
            return s4.type = "throw", s4.arg = t4, r4.next = n4, a3 && (r4.method = "next", r4.arg = e3), !!a3;
          }
          for (var a2 = this.tryEntries.length - 1; a2 >= 0; --a2) {
            var o4 = this.tryEntries[a2], s4 = o4.completion;
            if ("root" === o4.tryLoc)
              return n3("end");
            if (o4.tryLoc <= this.prev) {
              var c3 = i2.call(o4, "catchLoc"), l3 = i2.call(o4, "finallyLoc");
              if (c3 && l3) {
                if (this.prev < o4.catchLoc)
                  return n3(o4.catchLoc, true);
                if (this.prev < o4.finallyLoc)
                  return n3(o4.finallyLoc);
              } else if (c3) {
                if (this.prev < o4.catchLoc)
                  return n3(o4.catchLoc, true);
              } else {
                if (!l3)
                  throw Error("try statement without catch or finally");
                if (this.prev < o4.finallyLoc)
                  return n3(o4.finallyLoc);
              }
            }
          }
        }, abrupt: function(e4, t4) {
          for (var r4 = this.tryEntries.length - 1; r4 >= 0; --r4) {
            var n3 = this.tryEntries[r4];
            if (n3.tryLoc <= this.prev && i2.call(n3, "finallyLoc") && this.prev < n3.finallyLoc) {
              var a2 = n3;
              break;
            }
          }
          a2 && ("break" === e4 || "continue" === e4) && a2.tryLoc <= t4 && t4 <= a2.finallyLoc && (a2 = null);
          var o4 = a2 ? a2.completion : {};
          return o4.type = e4, o4.arg = t4, a2 ? (this.method = "next", this.next = a2.finallyLoc, y2) : this.complete(o4);
        }, complete: function(e4, t4) {
          if ("throw" === e4.type)
            throw e4.arg;
          return "break" === e4.type || "continue" === e4.type ? this.next = e4.arg : "return" === e4.type ? (this.rval = this.arg = e4.arg, this.method = "return", this.next = "end") : "normal" === e4.type && t4 && (this.next = t4), y2;
        }, finish: function(e4) {
          for (var t4 = this.tryEntries.length - 1; t4 >= 0; --t4) {
            var r4 = this.tryEntries[t4];
            if (r4.finallyLoc === e4)
              return this.complete(r4.completion, r4.afterLoc), N(r4), y2;
          }
        }, catch: function(e4) {
          for (var t4 = this.tryEntries.length - 1; t4 >= 0; --t4) {
            var r4 = this.tryEntries[t4];
            if (r4.tryLoc === e4) {
              var n3 = r4.completion;
              if ("throw" === n3.type) {
                var a2 = n3.arg;
                N(r4);
              }
              return a2;
            }
          }
          throw Error("illegal catch attempt");
        }, delegateYield: function(t4, r4, n3) {
          return this.delegate = { iterator: D(t4), resultName: r4, nextLoc: n3 }, "next" === this.method && (this.arg = e3), y2;
        } }, t3;
      }
      function i(e3, t3, r3, n3, a2, i2, o3) {
        try {
          var s3 = e3[i2](o3), c2 = s3.value;
        } catch (e4) {
          return void r3(e4);
        }
        s3.done ? t3(c2) : Promise.resolve(c2).then(n3, a2);
      }
      function o2(e3) {
        return function() {
          var t3 = this, r3 = arguments;
          return new Promise(function(n3, a2) {
            var o3 = e3.apply(t3, r3);
            function s3(e4) {
              i(o3, n3, a2, s3, c2, "next", e4);
            }
            function c2(e4) {
              i(o3, n3, a2, s3, c2, "throw", e4);
            }
            s3(void 0);
          });
        };
      }
      function s2(e3, t3, r3) {
        return (t3 = l(t3)) in e3 ? Object.defineProperty(e3, t3, { value: r3, enumerable: true, configurable: true, writable: true }) : e3[t3] = r3, e3;
      }
      function c(e3, t3) {
        for (var r3 = 0; r3 < t3.length; r3++) {
          var n3 = t3[r3];
          n3.enumerable = n3.enumerable || false, n3.configurable = true, "value" in n3 && (n3.writable = true), Object.defineProperty(e3, l(n3.key), n3);
        }
      }
      function l(e3) {
        var t3 = function(e4, t4) {
          if ("object" != n2(e4) || !e4)
            return e4;
          var r3 = e4[Symbol.toPrimitive];
          if (void 0 !== r3) {
            var a2 = r3.call(e4, t4 || "default");
            if ("object" != n2(a2))
              return a2;
            throw new TypeError("@@toPrimitive must return a primitive value.");
          }
          return ("string" === t4 ? String : Number)(e4);
        }(e3, "string");
        return "symbol" == n2(t3) ? t3 : t3 + "";
      }
      var p2 = r2(4), u = null, d = function(e3) {
        return !e3 || e3 < 0 ? 0 : (e3 / 1e3).toFixed(3);
      }, f2 = function() {
        var e3 = function() {
          return (65536 * (1 + Math.random()) | 0).toString(16).substring(1);
        };
        return e3() + e3() + "-" + e3() + "-" + e3() + "-" + e3() + "-" + e3() + e3() + e3();
      }, m2 = function() {
        return new Promise(function(e3) {
          if (wx$1.canIUse("getNetworkType"))
            try {
              wx$1.getNetworkType({ success: function(t3) {
                e3(t3.networkType);
              } });
            } catch (t3) {
              e3("can_not_get_network_type");
            }
          else
            e3("can_not_get_network_type");
        });
      }, h = { devicePlatform: "", wxVersion: "", wxSystem: "", wxSdkVersion: "" };
      (function() {
        var e3 = { devicePlatform: "", wxVersion: "", wxSystem: "", wxSdkVersion: "" };
        return new Promise(function(t3) {
          if (wx$1.canIUse("getSystemInfo"))
            try {
              wx$1.getSystemInfo({ success: function(r3) {
                var n3 = r3.platform, a2 = r3.version, i2 = r3.system, o3 = r3.SDKVersion;
                Object.assign(e3, { devicePlatform: n3, wxVersion: a2, wxSystem: i2, wxSdkVersion: o3 }), t3(e3);
              } });
            } catch (e4) {
              t3({ devicePlatform: "can_not_get_system_info", wxVersion: "can_not_get_system_info", wxSystem: "can_not_get_system_info", wxSdkVersion: "can_not_get_system_info" });
            }
          else
            t3({ devicePlatform: "can_not_get_system_info", wxVersion: "can_not_get_system_info", wxSystem: "can_not_get_system_info", wxSdkVersion: "can_not_get_system_info" });
        });
      })().then(function(e3) {
        Object.assign(h, e3);
      });
      function g(e3) {
        return e3.replace(/([A-Z])/g, "_$1").toLowerCase();
      }
      function v(e3) {
        var t3, r3 = {}, n3 = ["sdkVersionName", "sdkVersionCode", "osName", "networkType", "requestName", "requestResult", "bucket", "region", "appid", "accelerate", "url", "host", "requestPath", "userAgent", "httpMethod", "httpSize", "httpSpeed", "httpTookTime", "httpMd5", "httpSign", "httpFullTime", "httpDomain", "partNumber", "httpRetryTimes", "customId", "traceId", "realApi"], a2 = [].concat(n3, ["errorNode", "errorCode", "errorName", "errorMessage", "errorRequestId", "errorHttpCode", "errorServiceName", "errorType", "fullError"]), i2 = "Success" === e3.requestResult ? n3 : a2;
        for (var o3 in e3) {
          if (i2.includes(o3))
            r3[g(o3)] = e3[o3];
        }
        return r3.request_name = e3.realApi ? (t3 = e3.realApi, ["putObject", "sliceUploadFile", "uploadFile", "uploadFiles"].includes(t3) ? "UploadTask" : "getObject" === t3 ? "DownloadTask" : ["putObjectCopy", "sliceCopyFile"].includes(t3) ? "CopyTask" : t3) : e3.requestName, r3;
      }
      var y = function() {
        function e3(t4) {
          var r4;
          !function(e4, t5) {
            if (!(e4 instanceof t5))
              throw new TypeError("Cannot call a class as a function");
          }(this, e3);
          var n3 = t4.parent, a2 = t4.traceId, i3 = t4.bucket, o3 = t4.region, c2 = t4.apiName, l3 = t4.realApi, d2 = t4.httpMethod, m3 = t4.fileKey, g2 = t4.fileSize, v2 = t4.accelerate, y2 = t4.customId, x = t4.delay, b = t4.deepTracker, k = t4.Beacon, w = t4.clsReporter, C = i3 && i3.substr(i3.lastIndexOf("-") + 1) || "";
          this.parent = n3, this.deepTracker = b, this.delay = x, w && !this.clsReporter && (this.clsReporter = w), this.params = (s2(r4 = { sdkVersionName: "cos-wx-sdk-v5", sdkVersionCode: p2.version, osName: h.devicePlatform, networkType: "", requestName: c2 || "", requestResult: "", realApi: l3, bucket: i3, region: o3, accelerate: v2, httpMethod: d2, url: "", host: "", httpDomain: "", requestPath: m3 || "", errorType: "", errorCode: "", errorName: "", errorMessage: "", errorRequestId: "", errorHttpCode: 0, errorServiceName: "", errorNode: "", httpTookTime: 0, httpSize: g2 || 0, httpMd5: 0, httpSign: 0, httpFullTime: 0, httpSpeed: 0, size: g2 || 0 }, "httpMd5", 0), s2(r4, "httpSign", 0), s2(r4, "httpFull", 0), s2(r4, "name", c2 || ""), s2(r4, "tookTime", 0), s2(r4, "md5StartTime", 0), s2(r4, "md5EndTime", 0), s2(r4, "signStartTime", 0), s2(r4, "signEndTime", 0), s2(r4, "httpStartTime", 0), s2(r4, "httpEndTime", 0), s2(r4, "startTime", (/* @__PURE__ */ new Date()).getTime()), s2(r4, "endTime", 0), s2(r4, "traceId", a2 || f2()), s2(r4, "appid", C), s2(r4, "partNumber", 0), s2(r4, "httpRetryTimes", 0), s2(r4, "customId", y2 || ""), s2(r4, "partTime", 0), r4), k && (this.beacon = function(e4, t5) {
            if (!u) {
              if ("function" != typeof e4)
                throw new Error("Beacon not found");
              u = new e4({ appkey: "0WEB05PY6MHRGK0U", versionCode: p2.version, channelID: "mp_sdk", openid: "openid", unionid: "unid", strictMode: false, delay: t5, sessionDuration: 6e4 });
            }
            return u;
          }(k, x));
        }
        var t3, r3, i2, l2;
        return t3 = e3, r3 = [{ key: "formatResult", value: (l2 = o2(a().mark(function e4(t4, r4) {
          var n3, i3, o3, s3, c2, l3, p3, u2, f3, h2, g2, v2, y2, x, b, k, w, C, S, T, E2, R, A, _, B, N, O;
          return a().wrap(function(e5) {
            for (; ; )
              switch (e5.prev = e5.next) {
                case 0:
                  return h2 = (/* @__PURE__ */ new Date()).getTime(), e5.next = 3, m2();
                case 3:
                  if (g2 = e5.sent, v2 = t4 ? (null == t4 || null === (n3 = t4.error) || void 0 === n3 || null === (i3 = n3.error) || void 0 === i3 ? void 0 : i3.Code) || "Error" : "", y2 = t4 && ((null == t4 || null === (o3 = t4.error) || void 0 === o3 || null === (s3 = o3.error) || void 0 === s3 ? void 0 : s3.Message) || (null == t4 || null === (c2 = t4.error) || void 0 === c2 ? void 0 : c2.error) || (null == t4 ? void 0 : t4.error)) || "", x = y2, b = t4 ? null == t4 || null === (l3 = t4.error) || void 0 === l3 ? void 0 : l3.statusCode : r4.statusCode, k = t4 ? null == t4 || null === (p3 = t4.error) || void 0 === p3 || null === (u2 = p3.error) || void 0 === u2 ? void 0 : u2.Resource : "", w = t4 ? (null == t4 || null === (f3 = t4.error) || void 0 === f3 ? void 0 : f3.RequestId) || "" : (null == r4 ? void 0 : r4.RequestId) || "", C = t4 ? w ? "Server" : "Client" : "", "getObject" === this.params.requestName && (this.params.httpSize = r4 ? r4.headers && r4.headers["content-length"] : 0), S = "sliceUploadFile" === this.params.realApi, T = "sliceCopyFile" === this.params.realApi, S || T ? (E2 = this.params.httpSize / 1024 / this.params.partTime, Object.assign(this.params, { httpSpeed: E2 < 0 ? 0 : E2.toFixed(3) })) : (R = h2 - this.params.startTime, A = this.params.httpEndTime - this.params.httpStartTime, _ = this.params.httpSize / 1024 / (A / 1e3), B = this.params.md5EndTime - this.params.md5StartTime, N = this.params.signEndTime - this.params.signStartTime, this.parent && (this.parent.addParamValue("httpTookTime", d(A)), this.parent.addParamValue("httpFullTime", d(R)), this.parent.addParamValue("httpMd5", d(B)), this.parent.addParamValue("httpSign", d(N)), ["multipartUpload", "uploadPartCopy", "putObjectCopy"].includes(this.params.requestName) && this.parent.addParamValue("partTime", d(A))), Object.assign(this.params, { httpFullTime: d(R), httpMd5: d(B), httpSign: d(N), httpTookTime: d(A), httpSpeed: _ < 0 ? 0 : _.toFixed(3) })), Object.assign(this.params, { networkType: g2, requestResult: t4 ? "Failure" : "Success", errorType: C, errorCode: v2, errorHttpCode: b, errorName: x, errorMessage: y2, errorServiceName: k, errorRequestId: w }), !t4 || v2 && y2 || (this.params.fullError = t4 ? JSON.stringify(t4) : ""), "getObject" === this.params.name && (this.params.size = r4 ? r4.headers && r4.headers["content-length"] : -1), this.params.url) {
                    try {
                      O = /^http(s)?:\/\/(.*?)\//.exec(this.params.url), this.params.host = O[2];
                    } catch (e6) {
                      this.params.host = this.params.url;
                    }
                    this.params.httpDomain = this.params.host;
                  }
                case 19:
                case "end":
                  return e5.stop();
              }
          }, e4, this);
        })), function(e4, t4) {
          return l2.apply(this, arguments);
        }) }, { key: "report", value: (i2 = o2(a().mark(function e4(t4, r4) {
          var n3;
          return a().wrap(function(e5) {
            for (; ; )
              switch (e5.prev = e5.next) {
                case 0:
                  if (this.beacon || this.clsReporter) {
                    e5.next = 2;
                    break;
                  }
                  return e5.abrupt("return");
                case 2:
                  return e5.next = 4, this.formatResult(t4, r4);
                case 4:
                  n3 = v(this.params), this.beacon && this.sendEventsToBeacon(n3), this.clsReporter && this.sendEventsToCLS(n3);
                case 7:
                case "end":
                  return e5.stop();
              }
          }, e4, this);
        })), function(e4, t4) {
          return i2.apply(this, arguments);
        }) }, { key: "setParams", value: function(e4) {
          Object.assign(this.params, e4);
        } }, { key: "addParamValue", value: function(e4, t4) {
          this.params[e4] = (+this.params[e4] + +t4).toFixed(3);
        } }, { key: "sendEventsToBeacon", value: function(e4) {
          if ("sliceUploadFile" !== this.params.requestName && "sliceUploadFile" !== this.params.realApi || this.deepTracker) {
            var t4 = "qcloud_track_cos_sdk";
            0 === this.delay ? this.beacon && this.beacon.onDirectUserAction(t4, e4) : this.beacon && this.beacon.onUserAction(t4, e4);
          }
        } }, { key: "sendEventsToCLS", value: function(e4) {
          var t4 = !(0 !== this.delay);
          this.clsReporter.log(e4, t4);
        } }, { key: "generateSubTracker", value: function(t4) {
          return Object.assign(t4, { parent: this, deepTracker: this.deepTracker, traceId: this.params.traceId, bucket: this.params.bucket, region: this.params.region, accelerate: this.params.accelerate, fileKey: this.params.requestPath, customId: this.params.customId, delay: this.params.delay, clsReporter: this.clsReporter }), new e3(t4);
        } }], r3 && c(t3.prototype, r3), Object.defineProperty(t3, "prototype", { writable: false }), e3;
      }();
      e2.exports = y;
    }, function(e2) {
      e2.exports = JSON.parse('{"name":"cos-wx-sdk-v5","version":"1.7.0","description":"小程序 SDK for [腾讯云对象存储服务](https://cloud.tencent.com/product/cos)","main":"demo/lib/cos-wx-sdk-v5.min.js","scripts":{"prettier":"prettier --write src demo/demo-sdk.js demo/test.js demo/ciDemo","dev":"cross-env NODE_ENV=development node build.js --mode=development","build":"cross-env NODE_ENV=production node build.js --mode=production","sts.js":"node server/sts.js"},"repository":{"type":"git","url":"http://github.com/tencentyun/cos-wx-sdk-v5.git"},"author":"carsonxu","license":"ISC","dependencies":{"@xmldom/xmldom":"^0.8.6","mime":"^2.4.6"},"devDependencies":{"@babel/core":"7.17.9","@babel/preset-env":"7.16.11","babel-loader":"8.2.5","body-parser":"^1.18.3","cross-env":"^7.0.3","express":"^4.17.1","prettier":"^3.0.1","qcloud-cos-sts":"^3.0.2","terser-webpack-plugin":"4.2.3","webpack":"4.46.0","webpack-cli":"4.10.0"}}');
    }, function(e2, t2) {
      var r2 = function(e3) {
        var t3 = {}, r3 = function(e4) {
          return !t3[e4] && (t3[e4] = []), t3[e4];
        };
        e3.on = function(e4, t4) {
          r3(e4).push(t4);
        }, e3.off = function(e4, t4) {
          for (var n2 = r3(e4), a = n2.length - 1; a >= 0; a--)
            t4 === n2[a] && n2.splice(a, 1);
        }, e3.emit = function(e4, t4) {
          for (var n2 = r3(e4).map(function(e5) {
            return e5;
          }), a = 0; a < n2.length; a++)
            n2[a](t4);
        };
      };
      e2.exports.init = r2, e2.exports.EventProxy = function() {
        r2(this);
      };
    }, function(e2, t2, r2) {
      var n2, a, i = r2(0), o2 = "cos_sdk_upload_cache", s2 = function() {
        try {
          n2.length ? wx$1.setStorageSync(o2, JSON.stringify(n2)) : wx$1.removeStorageSync(o2);
        } catch (e3) {
        }
      }, c = function() {
        if (!n2) {
          n2 = function() {
            try {
              var e4 = JSON.parse(wx$1.getStorageSync(o2));
            } catch (e5) {
            }
            return e4 || (e4 = []), e4;
          }();
          for (var e3 = false, t3 = Math.round(Date.now() / 1e3), r3 = n2.length - 1; r3 >= 0; r3--) {
            var a2 = n2[r3][2];
            (!a2 || a2 + 2592e3 < t3) && (n2.splice(r3, 1), e3 = true);
          }
          e3 && s2();
        }
      }, l = function() {
        a || (a = setTimeout(function() {
          s2(), a = null;
        }, 400));
      }, p2 = { using: {}, setUsing: function(e3) {
        p2.using[e3] = true;
      }, removeUsing: function(e3) {
        delete p2.using[e3];
      }, getFileId: function(e3, t3, r3, n3) {
        return e3.FilePath && e3.size && e3.lastModifiedTime && t3 ? i.md5([e3.FilePath].join("::")) + "-" + i.md5([e3.size, e3.mode, e3.lastAccessedTime, e3.lastModifiedTime, t3, r3, n3].join("::")) : null;
      }, getCopyFileId: function(e3, t3, r3, n3, a2) {
        var o3 = t3["content-length"], s3 = t3.etag || "", c2 = t3["last-modified"];
        return e3 && r3 ? i.md5([e3, o3, s3, c2, r3, n3, a2].join("::")) : null;
      }, getUploadIdList: function(e3) {
        if (!e3)
          return null;
        c();
        for (var t3 = [], r3 = 0; r3 < n2.length; r3++)
          n2[r3][0] === e3 && t3.push(n2[r3][1]);
        return t3.length ? t3 : null;
      }, saveUploadId: function(e3, t3, r3) {
        if (c(), e3) {
          for (var a2 = e3.substr(0, e3.indexOf("-") + 1), i2 = n2.length - 1; i2 >= 0; i2--) {
            var o3 = n2[i2];
            (o3[0] === e3 && o3[1] === t3 || e3 !== o3[0] && 0 === o3[0].indexOf(a2)) && n2.splice(i2, 1);
          }
          n2.unshift([e3, t3, Math.round(Date.now() / 1e3)]), n2.length > r3 && n2.splice(r3), l();
        }
      }, removeUploadId: function(e3) {
        c(), delete p2.using[e3];
        for (var t3 = n2.length - 1; t3 >= 0; t3--)
          n2[t3][1] === e3 && n2.splice(t3, 1);
        l();
      } };
      e2.exports = p2;
    }, function(e2, t2, r2) {
      var n2 = r2(8);
      e2.exports = n2;
    }, function(e2, t2, r2) {
      var n2 = r2(0), a = r2(5), i = r2(20), o2 = r2(21), s2 = r2(27), c = r2(4), l = { SecretId: "", SecretKey: "", SecurityToken: "", ChunkRetryTimes: 2, FileParallelLimit: 3, ChunkParallelLimit: 3, ChunkSize: 1048576, SliceSize: 1048576, CopyChunkParallelLimit: 20, CopyChunkSize: 10485760, CopySliceSize: 10485760, MaxPartNumber: 1e4, ProgressInterval: 1e3, UploadQueueSize: 1e4, Domain: "", ServiceDomain: "", Protocol: "", CompatibilityMode: false, ForcePathStyle: false, Timeout: 0, CorrectClockSkew: true, SystemClockOffset: 0, UploadCheckContentMd5: false, UploadAddMetaMd5: false, UploadIdCacheLimit: 50, UseAccelerate: false, ForceSignHost: true, HttpDNSServiceId: "", SimpleUploadMethod: "postObject", AutoSwitchHost: false, CopySourceParser: null, ObjectKeySimplifyCheck: true, DeepTracker: false, TrackerDelay: 5e3, CustomId: "", BeaconReporter: null, ClsReporter: null }, p2 = function(e3) {
        if (this.options = n2.extend(n2.clone(l), e3 || {}), this.options.FileParallelLimit = Math.max(1, this.options.FileParallelLimit), this.options.ChunkParallelLimit = Math.max(1, this.options.ChunkParallelLimit), this.options.ChunkRetryTimes = Math.max(0, this.options.ChunkRetryTimes), this.options.ChunkSize = Math.max(1048576, this.options.ChunkSize), this.options.CopyChunkParallelLimit = Math.max(1, this.options.CopyChunkParallelLimit), this.options.CopyChunkSize = Math.max(1048576, this.options.CopyChunkSize), this.options.CopySliceSize = Math.max(0, this.options.CopySliceSize), this.options.MaxPartNumber = Math.max(1024, Math.min(1e4, this.options.MaxPartNumber)), this.options.Timeout = Math.max(0, this.options.Timeout), this.options.EnableReporter = this.options.BeaconReporter || this.options.ClsReporter, this.options.AppId, this.options.SecretId && this.options.SecretId.indexOf(" "), this.options.SecretKey && this.options.SecretKey.indexOf(" "), this.options.ForcePathStyle)
          throw new Error("ForcePathStyle is not supported");
        a.init(this), i.init(this);
      };
      o2.init(p2, i), s2.init(p2, i), p2.util = { md5: n2.md5, xml2json: n2.xml2json, json2xml: n2.json2xml, encodeBase64: n2.encodeBase64 }, p2.getAuthorization = n2.getAuth, p2.version = c.version, e2.exports = p2;
    }, function(e2, t2, r2) {
      (function(e3) {
        var t3;
        function n2(e4) {
          return n2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e5) {
            return typeof e5;
          } : function(e5) {
            return e5 && "function" == typeof Symbol && e5.constructor === Symbol && e5 !== Symbol.prototype ? "symbol" : typeof e5;
          }, n2(e4);
        }
        !function() {
          var a = "input is invalid type", i = "object" === ("undefined" == typeof window ? "undefined" : n2(window)), o2 = i ? window : {};
          o2.JS_MD5_NO_WINDOW && (i = false), !i && "object" === ("undefined" == typeof self ? "undefined" : n2(self)) && (o2 = self);
          var s2, c = !o2.JS_MD5_NO_COMMON_JS && "object" === n2(e3) && e3.exports, l = r2(11), p2 = !o2.JS_MD5_NO_ARRAY_BUFFER && "undefined" != typeof ArrayBuffer, u = "0123456789abcdef".split(""), d = [128, 32768, 8388608, -2147483648], f2 = [0, 8, 16, 24], m2 = ["hex", "array", "digest", "buffer", "arrayBuffer", "base64"], h = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""), g = [];
          if (p2) {
            var v = new ArrayBuffer(68);
            s2 = new Uint8Array(v), g = new Uint32Array(v);
          }
          !o2.JS_MD5_NO_NODE_JS && Array.isArray || (Array.isArray = function(e4) {
            return "[object Array]" === Object.prototype.toString.call(e4);
          }), !p2 || !o2.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW && ArrayBuffer.isView || (ArrayBuffer.isView = function(e4) {
            return "object" === n2(e4) && e4.buffer && e4.buffer.constructor === ArrayBuffer;
          });
          var y = function(e4) {
            return function(t4) {
              return new x(true).update(t4)[e4]();
            };
          };
          function x(e4) {
            if (e4)
              g[0] = g[16] = g[1] = g[2] = g[3] = g[4] = g[5] = g[6] = g[7] = g[8] = g[9] = g[10] = g[11] = g[12] = g[13] = g[14] = g[15] = 0, this.blocks = g, this.buffer8 = s2;
            else if (p2) {
              var t4 = new ArrayBuffer(68);
              this.buffer8 = new Uint8Array(t4), this.blocks = new Uint32Array(t4);
            } else
              this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
            this.h0 = this.h1 = this.h2 = this.h3 = this.start = this.bytes = this.hBytes = 0, this.finalized = this.hashed = false, this.first = true;
          }
          x.prototype.update = function(e4) {
            if (!this.finalized) {
              var t4, r3 = n2(e4);
              if ("string" !== r3) {
                if ("object" !== r3)
                  throw a;
                if (null === e4)
                  throw a;
                if (!p2 || e4.constructor !== ArrayBuffer && "ArrayBuffer" !== e4.constructor.name) {
                  if (!(Array.isArray(e4) || p2 && ArrayBuffer.isView(e4)))
                    throw a;
                } else
                  e4 = new Uint8Array(e4);
                t4 = true;
              }
              for (var i2, o3, s3 = 0, c2 = e4.length, l2 = this.blocks, u2 = this.buffer8; s3 < c2; ) {
                if (this.hashed && (this.hashed = false, l2[0] = l2[16], l2[16] = l2[1] = l2[2] = l2[3] = l2[4] = l2[5] = l2[6] = l2[7] = l2[8] = l2[9] = l2[10] = l2[11] = l2[12] = l2[13] = l2[14] = l2[15] = 0), t4)
                  if (p2)
                    for (o3 = this.start; s3 < c2 && o3 < 64; ++s3)
                      u2[o3++] = e4[s3];
                  else
                    for (o3 = this.start; s3 < c2 && o3 < 64; ++s3)
                      l2[o3 >> 2] |= e4[s3] << f2[3 & o3++];
                else if (p2)
                  for (o3 = this.start; s3 < c2 && o3 < 64; ++s3)
                    (i2 = e4.charCodeAt(s3)) < 128 ? u2[o3++] = i2 : i2 < 2048 ? (u2[o3++] = 192 | i2 >> 6, u2[o3++] = 128 | 63 & i2) : i2 < 55296 || i2 >= 57344 ? (u2[o3++] = 224 | i2 >> 12, u2[o3++] = 128 | i2 >> 6 & 63, u2[o3++] = 128 | 63 & i2) : (i2 = 65536 + ((1023 & i2) << 10 | 1023 & e4.charCodeAt(++s3)), u2[o3++] = 240 | i2 >> 18, u2[o3++] = 128 | i2 >> 12 & 63, u2[o3++] = 128 | i2 >> 6 & 63, u2[o3++] = 128 | 63 & i2);
                else
                  for (o3 = this.start; s3 < c2 && o3 < 64; ++s3)
                    (i2 = e4.charCodeAt(s3)) < 128 ? l2[o3 >> 2] |= i2 << f2[3 & o3++] : i2 < 2048 ? (l2[o3 >> 2] |= (192 | i2 >> 6) << f2[3 & o3++], l2[o3 >> 2] |= (128 | 63 & i2) << f2[3 & o3++]) : i2 < 55296 || i2 >= 57344 ? (l2[o3 >> 2] |= (224 | i2 >> 12) << f2[3 & o3++], l2[o3 >> 2] |= (128 | i2 >> 6 & 63) << f2[3 & o3++], l2[o3 >> 2] |= (128 | 63 & i2) << f2[3 & o3++]) : (i2 = 65536 + ((1023 & i2) << 10 | 1023 & e4.charCodeAt(++s3)), l2[o3 >> 2] |= (240 | i2 >> 18) << f2[3 & o3++], l2[o3 >> 2] |= (128 | i2 >> 12 & 63) << f2[3 & o3++], l2[o3 >> 2] |= (128 | i2 >> 6 & 63) << f2[3 & o3++], l2[o3 >> 2] |= (128 | 63 & i2) << f2[3 & o3++]);
                this.lastByteIndex = o3, this.bytes += o3 - this.start, o3 >= 64 ? (this.start = o3 - 64, this.hash(), this.hashed = true) : this.start = o3;
              }
              return this.bytes > 4294967295 && (this.hBytes += this.bytes / 4294967296 << 0, this.bytes = this.bytes % 4294967296), this;
            }
          }, x.prototype.finalize = function() {
            if (!this.finalized) {
              this.finalized = true;
              var e4 = this.blocks, t4 = this.lastByteIndex;
              e4[t4 >> 2] |= d[3 & t4], t4 >= 56 && (this.hashed || this.hash(), e4[0] = e4[16], e4[16] = e4[1] = e4[2] = e4[3] = e4[4] = e4[5] = e4[6] = e4[7] = e4[8] = e4[9] = e4[10] = e4[11] = e4[12] = e4[13] = e4[14] = e4[15] = 0), e4[14] = this.bytes << 3, e4[15] = this.hBytes << 3 | this.bytes >>> 29, this.hash();
            }
          }, x.prototype.hash = function() {
            var e4, t4, r3, n3, a2, i2, o3 = this.blocks;
            this.first ? t4 = ((t4 = ((e4 = ((e4 = o3[0] - 680876937) << 7 | e4 >>> 25) - 271733879 << 0) ^ (r3 = ((r3 = (-271733879 ^ (n3 = ((n3 = (-1732584194 ^ 2004318071 & e4) + o3[1] - 117830708) << 12 | n3 >>> 20) + e4 << 0) & (-271733879 ^ e4)) + o3[2] - 1126478375) << 17 | r3 >>> 15) + n3 << 0) & (n3 ^ e4)) + o3[3] - 1316259209) << 22 | t4 >>> 10) + r3 << 0 : (e4 = this.h0, t4 = this.h1, r3 = this.h2, t4 = ((t4 += ((e4 = ((e4 += ((n3 = this.h3) ^ t4 & (r3 ^ n3)) + o3[0] - 680876936) << 7 | e4 >>> 25) + t4 << 0) ^ (r3 = ((r3 += (t4 ^ (n3 = ((n3 += (r3 ^ e4 & (t4 ^ r3)) + o3[1] - 389564586) << 12 | n3 >>> 20) + e4 << 0) & (e4 ^ t4)) + o3[2] + 606105819) << 17 | r3 >>> 15) + n3 << 0) & (n3 ^ e4)) + o3[3] - 1044525330) << 22 | t4 >>> 10) + r3 << 0), t4 = ((t4 += ((e4 = ((e4 += (n3 ^ t4 & (r3 ^ n3)) + o3[4] - 176418897) << 7 | e4 >>> 25) + t4 << 0) ^ (r3 = ((r3 += (t4 ^ (n3 = ((n3 += (r3 ^ e4 & (t4 ^ r3)) + o3[5] + 1200080426) << 12 | n3 >>> 20) + e4 << 0) & (e4 ^ t4)) + o3[6] - 1473231341) << 17 | r3 >>> 15) + n3 << 0) & (n3 ^ e4)) + o3[7] - 45705983) << 22 | t4 >>> 10) + r3 << 0, t4 = ((t4 += ((e4 = ((e4 += (n3 ^ t4 & (r3 ^ n3)) + o3[8] + 1770035416) << 7 | e4 >>> 25) + t4 << 0) ^ (r3 = ((r3 += (t4 ^ (n3 = ((n3 += (r3 ^ e4 & (t4 ^ r3)) + o3[9] - 1958414417) << 12 | n3 >>> 20) + e4 << 0) & (e4 ^ t4)) + o3[10] - 42063) << 17 | r3 >>> 15) + n3 << 0) & (n3 ^ e4)) + o3[11] - 1990404162) << 22 | t4 >>> 10) + r3 << 0, t4 = ((t4 += ((e4 = ((e4 += (n3 ^ t4 & (r3 ^ n3)) + o3[12] + 1804603682) << 7 | e4 >>> 25) + t4 << 0) ^ (r3 = ((r3 += (t4 ^ (n3 = ((n3 += (r3 ^ e4 & (t4 ^ r3)) + o3[13] - 40341101) << 12 | n3 >>> 20) + e4 << 0) & (e4 ^ t4)) + o3[14] - 1502002290) << 17 | r3 >>> 15) + n3 << 0) & (n3 ^ e4)) + o3[15] + 1236535329) << 22 | t4 >>> 10) + r3 << 0, t4 = ((t4 += ((n3 = ((n3 += (t4 ^ r3 & ((e4 = ((e4 += (r3 ^ n3 & (t4 ^ r3)) + o3[1] - 165796510) << 5 | e4 >>> 27) + t4 << 0) ^ t4)) + o3[6] - 1069501632) << 9 | n3 >>> 23) + e4 << 0) ^ e4 & ((r3 = ((r3 += (e4 ^ t4 & (n3 ^ e4)) + o3[11] + 643717713) << 14 | r3 >>> 18) + n3 << 0) ^ n3)) + o3[0] - 373897302) << 20 | t4 >>> 12) + r3 << 0, t4 = ((t4 += ((n3 = ((n3 += (t4 ^ r3 & ((e4 = ((e4 += (r3 ^ n3 & (t4 ^ r3)) + o3[5] - 701558691) << 5 | e4 >>> 27) + t4 << 0) ^ t4)) + o3[10] + 38016083) << 9 | n3 >>> 23) + e4 << 0) ^ e4 & ((r3 = ((r3 += (e4 ^ t4 & (n3 ^ e4)) + o3[15] - 660478335) << 14 | r3 >>> 18) + n3 << 0) ^ n3)) + o3[4] - 405537848) << 20 | t4 >>> 12) + r3 << 0, t4 = ((t4 += ((n3 = ((n3 += (t4 ^ r3 & ((e4 = ((e4 += (r3 ^ n3 & (t4 ^ r3)) + o3[9] + 568446438) << 5 | e4 >>> 27) + t4 << 0) ^ t4)) + o3[14] - 1019803690) << 9 | n3 >>> 23) + e4 << 0) ^ e4 & ((r3 = ((r3 += (e4 ^ t4 & (n3 ^ e4)) + o3[3] - 187363961) << 14 | r3 >>> 18) + n3 << 0) ^ n3)) + o3[8] + 1163531501) << 20 | t4 >>> 12) + r3 << 0, t4 = ((t4 += ((n3 = ((n3 += (t4 ^ r3 & ((e4 = ((e4 += (r3 ^ n3 & (t4 ^ r3)) + o3[13] - 1444681467) << 5 | e4 >>> 27) + t4 << 0) ^ t4)) + o3[2] - 51403784) << 9 | n3 >>> 23) + e4 << 0) ^ e4 & ((r3 = ((r3 += (e4 ^ t4 & (n3 ^ e4)) + o3[7] + 1735328473) << 14 | r3 >>> 18) + n3 << 0) ^ n3)) + o3[12] - 1926607734) << 20 | t4 >>> 12) + r3 << 0, t4 = ((t4 += ((i2 = (n3 = ((n3 += ((a2 = t4 ^ r3) ^ (e4 = ((e4 += (a2 ^ n3) + o3[5] - 378558) << 4 | e4 >>> 28) + t4 << 0)) + o3[8] - 2022574463) << 11 | n3 >>> 21) + e4 << 0) ^ e4) ^ (r3 = ((r3 += (i2 ^ t4) + o3[11] + 1839030562) << 16 | r3 >>> 16) + n3 << 0)) + o3[14] - 35309556) << 23 | t4 >>> 9) + r3 << 0, t4 = ((t4 += ((i2 = (n3 = ((n3 += ((a2 = t4 ^ r3) ^ (e4 = ((e4 += (a2 ^ n3) + o3[1] - 1530992060) << 4 | e4 >>> 28) + t4 << 0)) + o3[4] + 1272893353) << 11 | n3 >>> 21) + e4 << 0) ^ e4) ^ (r3 = ((r3 += (i2 ^ t4) + o3[7] - 155497632) << 16 | r3 >>> 16) + n3 << 0)) + o3[10] - 1094730640) << 23 | t4 >>> 9) + r3 << 0, t4 = ((t4 += ((i2 = (n3 = ((n3 += ((a2 = t4 ^ r3) ^ (e4 = ((e4 += (a2 ^ n3) + o3[13] + 681279174) << 4 | e4 >>> 28) + t4 << 0)) + o3[0] - 358537222) << 11 | n3 >>> 21) + e4 << 0) ^ e4) ^ (r3 = ((r3 += (i2 ^ t4) + o3[3] - 722521979) << 16 | r3 >>> 16) + n3 << 0)) + o3[6] + 76029189) << 23 | t4 >>> 9) + r3 << 0, t4 = ((t4 += ((i2 = (n3 = ((n3 += ((a2 = t4 ^ r3) ^ (e4 = ((e4 += (a2 ^ n3) + o3[9] - 640364487) << 4 | e4 >>> 28) + t4 << 0)) + o3[12] - 421815835) << 11 | n3 >>> 21) + e4 << 0) ^ e4) ^ (r3 = ((r3 += (i2 ^ t4) + o3[15] + 530742520) << 16 | r3 >>> 16) + n3 << 0)) + o3[2] - 995338651) << 23 | t4 >>> 9) + r3 << 0, t4 = ((t4 += ((n3 = ((n3 += (t4 ^ ((e4 = ((e4 += (r3 ^ (t4 | ~n3)) + o3[0] - 198630844) << 6 | e4 >>> 26) + t4 << 0) | ~r3)) + o3[7] + 1126891415) << 10 | n3 >>> 22) + e4 << 0) ^ ((r3 = ((r3 += (e4 ^ (n3 | ~t4)) + o3[14] - 1416354905) << 15 | r3 >>> 17) + n3 << 0) | ~e4)) + o3[5] - 57434055) << 21 | t4 >>> 11) + r3 << 0, t4 = ((t4 += ((n3 = ((n3 += (t4 ^ ((e4 = ((e4 += (r3 ^ (t4 | ~n3)) + o3[12] + 1700485571) << 6 | e4 >>> 26) + t4 << 0) | ~r3)) + o3[3] - 1894986606) << 10 | n3 >>> 22) + e4 << 0) ^ ((r3 = ((r3 += (e4 ^ (n3 | ~t4)) + o3[10] - 1051523) << 15 | r3 >>> 17) + n3 << 0) | ~e4)) + o3[1] - 2054922799) << 21 | t4 >>> 11) + r3 << 0, t4 = ((t4 += ((n3 = ((n3 += (t4 ^ ((e4 = ((e4 += (r3 ^ (t4 | ~n3)) + o3[8] + 1873313359) << 6 | e4 >>> 26) + t4 << 0) | ~r3)) + o3[15] - 30611744) << 10 | n3 >>> 22) + e4 << 0) ^ ((r3 = ((r3 += (e4 ^ (n3 | ~t4)) + o3[6] - 1560198380) << 15 | r3 >>> 17) + n3 << 0) | ~e4)) + o3[13] + 1309151649) << 21 | t4 >>> 11) + r3 << 0, t4 = ((t4 += ((n3 = ((n3 += (t4 ^ ((e4 = ((e4 += (r3 ^ (t4 | ~n3)) + o3[4] - 145523070) << 6 | e4 >>> 26) + t4 << 0) | ~r3)) + o3[11] - 1120210379) << 10 | n3 >>> 22) + e4 << 0) ^ ((r3 = ((r3 += (e4 ^ (n3 | ~t4)) + o3[2] + 718787259) << 15 | r3 >>> 17) + n3 << 0) | ~e4)) + o3[9] - 343485551) << 21 | t4 >>> 11) + r3 << 0, this.first ? (this.h0 = e4 + 1732584193 << 0, this.h1 = t4 - 271733879 << 0, this.h2 = r3 - 1732584194 << 0, this.h3 = n3 + 271733878 << 0, this.first = false) : (this.h0 = this.h0 + e4 << 0, this.h1 = this.h1 + t4 << 0, this.h2 = this.h2 + r3 << 0, this.h3 = this.h3 + n3 << 0);
          }, x.prototype.hex = function() {
            this.finalize();
            var e4 = this.h0, t4 = this.h1, r3 = this.h2, n3 = this.h3;
            return u[e4 >> 4 & 15] + u[15 & e4] + u[e4 >> 12 & 15] + u[e4 >> 8 & 15] + u[e4 >> 20 & 15] + u[e4 >> 16 & 15] + u[e4 >> 28 & 15] + u[e4 >> 24 & 15] + u[t4 >> 4 & 15] + u[15 & t4] + u[t4 >> 12 & 15] + u[t4 >> 8 & 15] + u[t4 >> 20 & 15] + u[t4 >> 16 & 15] + u[t4 >> 28 & 15] + u[t4 >> 24 & 15] + u[r3 >> 4 & 15] + u[15 & r3] + u[r3 >> 12 & 15] + u[r3 >> 8 & 15] + u[r3 >> 20 & 15] + u[r3 >> 16 & 15] + u[r3 >> 28 & 15] + u[r3 >> 24 & 15] + u[n3 >> 4 & 15] + u[15 & n3] + u[n3 >> 12 & 15] + u[n3 >> 8 & 15] + u[n3 >> 20 & 15] + u[n3 >> 16 & 15] + u[n3 >> 28 & 15] + u[n3 >> 24 & 15];
          }, x.prototype.toString = x.prototype.hex, x.prototype.digest = function() {
            this.finalize();
            var e4 = this.h0, t4 = this.h1, r3 = this.h2, n3 = this.h3;
            return [255 & e4, e4 >> 8 & 255, e4 >> 16 & 255, e4 >> 24 & 255, 255 & t4, t4 >> 8 & 255, t4 >> 16 & 255, t4 >> 24 & 255, 255 & r3, r3 >> 8 & 255, r3 >> 16 & 255, r3 >> 24 & 255, 255 & n3, n3 >> 8 & 255, n3 >> 16 & 255, n3 >> 24 & 255];
          }, x.prototype.array = x.prototype.digest, x.prototype.arrayBuffer = function() {
            this.finalize();
            var e4 = new ArrayBuffer(16), t4 = new Uint32Array(e4);
            return t4[0] = this.h0, t4[1] = this.h1, t4[2] = this.h2, t4[3] = this.h3, e4;
          }, x.prototype.buffer = x.prototype.arrayBuffer, x.prototype.base64 = function() {
            for (var e4, t4, r3, n3 = "", a2 = this.array(), i2 = 0; i2 < 15; )
              e4 = a2[i2++], t4 = a2[i2++], r3 = a2[i2++], n3 += h[e4 >>> 2] + h[63 & (e4 << 4 | t4 >>> 4)] + h[63 & (t4 << 2 | r3 >>> 6)] + h[63 & r3];
            return e4 = a2[i2], n3 += h[e4 >>> 2] + h[e4 << 4 & 63] + "==";
          };
          var b = function() {
            var e4 = y("hex");
            e4.getCtx = e4.create = function() {
              return new x();
            }, e4.update = function(t5) {
              return e4.create().update(t5);
            };
            for (var t4 = 0; t4 < m2.length; ++t4) {
              var r3 = m2[t4];
              e4[r3] = y(r3);
            }
            return e4;
          }();
          c ? e3.exports = b : (o2.md5 = b, l && (void 0 === (t3 = (function() {
            return b;
          }).call(b, r2, b, e3)) || (e3.exports = t3)));
        }();
      }).call(this, r2(10)(e2));
    }, function(e2, t2) {
      e2.exports = function(e3) {
        return e3.webpackPolyfill || (e3.deprecate = function() {
        }, e3.paths = [], e3.children || (e3.children = []), Object.defineProperty(e3, "loaded", { enumerable: true, get: function() {
          return e3.l;
        } }), Object.defineProperty(e3, "id", { enumerable: true, get: function() {
          return e3.i;
        } }), e3.webpackPolyfill = 1), e3;
      };
    }, function(e2, t2) {
      (function(t3) {
        e2.exports = t3;
      }).call(this, {});
    }, function(e2, t2) {
      var r2, n2, a, i, o2, s2, c, l = l || function(e3, t3) {
        var r3 = {}, n3 = r3.lib = {}, a2 = function() {
        }, i2 = n3.Base = { extend: function(e4) {
          a2.prototype = this;
          var t4 = new a2();
          return e4 && t4.mixIn(e4), t4.hasOwnProperty("init") || (t4.init = function() {
            t4.$super.init.apply(this, arguments);
          }), t4.init.prototype = t4, t4.$super = this, t4;
        }, create: function() {
          var e4 = this.extend();
          return e4.init.apply(e4, arguments), e4;
        }, init: function() {
        }, mixIn: function(e4) {
          for (var t4 in e4)
            e4.hasOwnProperty(t4) && (this[t4] = e4[t4]);
          e4.hasOwnProperty("toString") && (this.toString = e4.toString);
        }, clone: function() {
          return this.init.prototype.extend(this);
        } }, o3 = n3.WordArray = i2.extend({ init: function(e4, t4) {
          e4 = this.words = e4 || [], this.sigBytes = null != t4 ? t4 : 4 * e4.length;
        }, toString: function(e4) {
          return (e4 || c2).stringify(this);
        }, concat: function(e4) {
          var t4 = this.words, r4 = e4.words, n4 = this.sigBytes;
          if (e4 = e4.sigBytes, this.clamp(), n4 % 4)
            for (var a3 = 0; a3 < e4; a3++)
              t4[n4 + a3 >>> 2] |= (r4[a3 >>> 2] >>> 24 - a3 % 4 * 8 & 255) << 24 - (n4 + a3) % 4 * 8;
          else if (65535 < r4.length)
            for (a3 = 0; a3 < e4; a3 += 4)
              t4[n4 + a3 >>> 2] = r4[a3 >>> 2];
          else
            t4.push.apply(t4, r4);
          return this.sigBytes += e4, this;
        }, clamp: function() {
          var t4 = this.words, r4 = this.sigBytes;
          t4[r4 >>> 2] &= 4294967295 << 32 - r4 % 4 * 8, t4.length = e3.ceil(r4 / 4);
        }, clone: function() {
          var e4 = i2.clone.call(this);
          return e4.words = this.words.slice(0), e4;
        }, random: function(t4) {
          for (var r4 = [], n4 = 0; n4 < t4; n4 += 4)
            r4.push(4294967296 * e3.random() | 0);
          return new o3.init(r4, t4);
        } }), s3 = r3.enc = {}, c2 = s3.Hex = { stringify: function(e4) {
          var t4 = e4.words;
          e4 = e4.sigBytes;
          for (var r4 = [], n4 = 0; n4 < e4; n4++) {
            var a3 = t4[n4 >>> 2] >>> 24 - n4 % 4 * 8 & 255;
            r4.push((a3 >>> 4).toString(16)), r4.push((15 & a3).toString(16));
          }
          return r4.join("");
        }, parse: function(e4) {
          for (var t4 = e4.length, r4 = [], n4 = 0; n4 < t4; n4 += 2)
            r4[n4 >>> 3] |= parseInt(e4.substr(n4, 2), 16) << 24 - n4 % 8 * 4;
          return new o3.init(r4, t4 / 2);
        } }, l2 = s3.Latin1 = { stringify: function(e4) {
          var t4 = e4.words;
          e4 = e4.sigBytes;
          for (var r4 = [], n4 = 0; n4 < e4; n4++)
            r4.push(String.fromCharCode(t4[n4 >>> 2] >>> 24 - n4 % 4 * 8 & 255));
          return r4.join("");
        }, parse: function(e4) {
          for (var t4 = e4.length, r4 = [], n4 = 0; n4 < t4; n4++)
            r4[n4 >>> 2] |= (255 & e4.charCodeAt(n4)) << 24 - n4 % 4 * 8;
          return new o3.init(r4, t4);
        } }, p2 = s3.Utf8 = { stringify: function(e4) {
          try {
            return decodeURIComponent(escape(l2.stringify(e4)));
          } catch (e5) {
            throw Error("Malformed UTF-8 data");
          }
        }, parse: function(e4) {
          return l2.parse(unescape(encodeURIComponent(e4)));
        } }, u = n3.BufferedBlockAlgorithm = i2.extend({ reset: function() {
          this._data = new o3.init(), this._nDataBytes = 0;
        }, _append: function(e4) {
          "string" == typeof e4 && (e4 = p2.parse(e4)), this._data.concat(e4), this._nDataBytes += e4.sigBytes;
        }, _process: function(t4) {
          var r4 = this._data, n4 = r4.words, a3 = r4.sigBytes, i3 = this.blockSize, s4 = a3 / (4 * i3);
          if (t4 = (s4 = t4 ? e3.ceil(s4) : e3.max((0 | s4) - this._minBufferSize, 0)) * i3, a3 = e3.min(4 * t4, a3), t4) {
            for (var c3 = 0; c3 < t4; c3 += i3)
              this._doProcessBlock(n4, c3);
            c3 = n4.splice(0, t4), r4.sigBytes -= a3;
          }
          return new o3.init(c3, a3);
        }, clone: function() {
          var e4 = i2.clone.call(this);
          return e4._data = this._data.clone(), e4;
        }, _minBufferSize: 0 });
        n3.Hasher = u.extend({ cfg: i2.extend(), init: function(e4) {
          this.cfg = this.cfg.extend(e4), this.reset();
        }, reset: function() {
          u.reset.call(this), this._doReset();
        }, update: function(e4) {
          return this._append(e4), this._process(), this;
        }, finalize: function(e4) {
          return e4 && this._append(e4), this._doFinalize();
        }, blockSize: 16, _createHelper: function(e4) {
          return function(t4, r4) {
            return new e4.init(r4).finalize(t4);
          };
        }, _createHmacHelper: function(e4) {
          return function(t4, r4) {
            return new d.HMAC.init(e4, r4).finalize(t4);
          };
        } });
        var d = r3.algo = {};
        return r3;
      }(Math);
      n2 = (o2 = (r2 = l).lib).WordArray, a = o2.Hasher, i = [], o2 = r2.algo.SHA1 = a.extend({ _doReset: function() {
        this._hash = new n2.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]);
      }, _doProcessBlock: function(e3, t3) {
        for (var r3 = this._hash.words, n3 = r3[0], a2 = r3[1], o3 = r3[2], s3 = r3[3], c2 = r3[4], l2 = 0; 80 > l2; l2++) {
          if (16 > l2)
            i[l2] = 0 | e3[t3 + l2];
          else {
            var p2 = i[l2 - 3] ^ i[l2 - 8] ^ i[l2 - 14] ^ i[l2 - 16];
            i[l2] = p2 << 1 | p2 >>> 31;
          }
          p2 = (n3 << 5 | n3 >>> 27) + c2 + i[l2], p2 = 20 > l2 ? p2 + (1518500249 + (a2 & o3 | ~a2 & s3)) : 40 > l2 ? p2 + (1859775393 + (a2 ^ o3 ^ s3)) : 60 > l2 ? p2 + ((a2 & o3 | a2 & s3 | o3 & s3) - 1894007588) : p2 + ((a2 ^ o3 ^ s3) - 899497514), c2 = s3, s3 = o3, o3 = a2 << 30 | a2 >>> 2, a2 = n3, n3 = p2;
        }
        r3[0] = r3[0] + n3 | 0, r3[1] = r3[1] + a2 | 0, r3[2] = r3[2] + o3 | 0, r3[3] = r3[3] + s3 | 0, r3[4] = r3[4] + c2 | 0;
      }, _doFinalize: function() {
        var e3 = this._data, t3 = e3.words, r3 = 8 * this._nDataBytes, n3 = 8 * e3.sigBytes;
        return t3[n3 >>> 5] |= 128 << 24 - n3 % 32, t3[14 + (n3 + 64 >>> 9 << 4)] = Math.floor(r3 / 4294967296), t3[15 + (n3 + 64 >>> 9 << 4)] = r3, e3.sigBytes = 4 * t3.length, this._process(), this._hash;
      }, clone: function() {
        var e3 = a.clone.call(this);
        return e3._hash = this._hash.clone(), e3;
      } }), r2.SHA1 = a._createHelper(o2), r2.HmacSHA1 = a._createHmacHelper(o2), function() {
        var e3 = l, t3 = e3.enc.Utf8;
        e3.algo.HMAC = e3.lib.Base.extend({ init: function(e4, r3) {
          e4 = this._hasher = new e4.init(), "string" == typeof r3 && (r3 = t3.parse(r3));
          var n3 = e4.blockSize, a2 = 4 * n3;
          r3.sigBytes > a2 && (r3 = e4.finalize(r3)), r3.clamp();
          for (var i2 = this._oKey = r3.clone(), o3 = this._iKey = r3.clone(), s3 = i2.words, c2 = o3.words, l2 = 0; l2 < n3; l2++)
            s3[l2] ^= 1549556828, c2[l2] ^= 909522486;
          i2.sigBytes = o3.sigBytes = a2, this.reset();
        }, reset: function() {
          var e4 = this._hasher;
          e4.reset(), e4.update(this._iKey);
        }, update: function(e4) {
          return this._hasher.update(e4), this;
        }, finalize: function(e4) {
          var t4 = this._hasher;
          return e4 = t4.finalize(e4), t4.reset(), t4.finalize(this._oKey.clone().concat(e4));
        } });
      }(), c = (s2 = l).lib.WordArray, s2.enc.Base64 = { stringify: function(e3) {
        var t3 = e3.words, r3 = e3.sigBytes, n3 = this._map;
        e3.clamp();
        for (var a2 = [], i2 = 0; i2 < r3; i2 += 3)
          for (var o3 = (t3[i2 >>> 2] >>> 24 - i2 % 4 * 8 & 255) << 16 | (t3[i2 + 1 >>> 2] >>> 24 - (i2 + 1) % 4 * 8 & 255) << 8 | t3[i2 + 2 >>> 2] >>> 24 - (i2 + 2) % 4 * 8 & 255, s3 = 0; s3 < 4 && i2 + 0.75 * s3 < r3; s3++)
            a2.push(n3.charAt(o3 >>> 6 * (3 - s3) & 63));
        var c2 = n3.charAt(64);
        if (c2)
          for (; a2.length % 4; )
            a2.push(c2);
        return a2.join("");
      }, parse: function(e3) {
        var t3 = e3.length, r3 = this._map, n3 = r3.charAt(64);
        if (n3) {
          var a2 = e3.indexOf(n3);
          -1 != a2 && (t3 = a2);
        }
        for (var i2 = [], o3 = 0, s3 = 0; s3 < t3; s3++)
          if (s3 % 4) {
            var l2 = r3.indexOf(e3.charAt(s3 - 1)) << s3 % 4 * 2, p2 = r3.indexOf(e3.charAt(s3)) >>> 6 - s3 % 4 * 2;
            i2[o3 >>> 2] |= (l2 | p2) << 24 - o3 % 4 * 8, o3++;
          }
        return c.create(i2, o3);
      }, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" }, e2.exports = l;
    }, function(e2, t2, r2) {
      var n2 = r2(14).DOMParser, a = function(e3) {
        e3 = e3 || {}, function() {
          void 0 === e3.escapeMode && (e3.escapeMode = true);
          e3.attributePrefix = e3.attributePrefix || "_", e3.arrayAccessForm = e3.arrayAccessForm || "none", e3.emptyNodeForm = e3.emptyNodeForm || "text", void 0 === e3.enableToStringFunc && (e3.enableToStringFunc = true);
          e3.arrayAccessFormPaths = e3.arrayAccessFormPaths || [], void 0 === e3.skipEmptyTextNodesForObj && (e3.skipEmptyTextNodesForObj = true);
          void 0 === e3.stripWhitespaces && (e3.stripWhitespaces = true);
          e3.datetimeAccessFormPaths = e3.datetimeAccessFormPaths || [], void 0 === e3.useDoubleQuotes && (e3.useDoubleQuotes = false);
          e3.xmlElementsFilter = e3.xmlElementsFilter || [], e3.jsonPropertiesFilter = e3.jsonPropertiesFilter || [], void 0 === e3.keepCData && (e3.keepCData = false);
        }();
        var t3 = { ELEMENT_NODE: 1, TEXT_NODE: 3, CDATA_SECTION_NODE: 4, COMMENT_NODE: 8, DOCUMENT_NODE: 9 };
        function r3(e4) {
          var t4 = e4.localName;
          return null == t4 && (t4 = e4.baseName), null != t4 && "" != t4 || (t4 = e4.nodeName), t4;
        }
        function a2(e4) {
          return "string" == typeof e4 ? e4.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;") : e4;
        }
        function i(e4, t4, r4, n3) {
          for (var a3 = 0; a3 < e4.length; a3++) {
            var i2 = e4[a3];
            if ("string" == typeof i2) {
              if (i2 == n3)
                break;
            } else if (i2 instanceof RegExp) {
              if (i2.test(n3))
                break;
            } else if ("function" == typeof i2 && i2(t4, r4, n3))
              break;
          }
          return a3 != e4.length;
        }
        function o2(t4, r4, n3) {
          if ("property" === e3.arrayAccessForm)
            t4[r4] instanceof Array ? t4[r4 + "_asArray"] = t4[r4] : t4[r4 + "_asArray"] = [t4[r4]];
          !(t4[r4] instanceof Array) && e3.arrayAccessFormPaths.length > 0 && i(e3.arrayAccessFormPaths, t4, r4, n3) && (t4[r4] = [t4[r4]]);
        }
        function s2(e4) {
          var t4 = e4.split(/[-T:+Z]/g), r4 = new Date(t4[0], t4[1] - 1, t4[2]), n3 = t4[5].split(".");
          if (r4.setHours(t4[3], t4[4], n3[0]), n3.length > 1 && r4.setMilliseconds(n3[1]), t4[6] && t4[7]) {
            var a3 = 60 * t4[6] + Number(t4[7]);
            a3 = 0 + ("-" == (/\d\d-\d\d:\d\d$/.test(e4) ? "-" : "+") ? -1 * a3 : a3), r4.setMinutes(r4.getMinutes() - a3 - r4.getTimezoneOffset());
          } else
            -1 !== e4.indexOf("Z", e4.length - 1) && (r4 = new Date(Date.UTC(r4.getFullYear(), r4.getMonth(), r4.getDate(), r4.getHours(), r4.getMinutes(), r4.getSeconds(), r4.getMilliseconds())));
          return r4;
        }
        function c(r4, n3, a3, o3) {
          return !(n3 == t3.ELEMENT_NODE && e3.xmlElementsFilter.length > 0) || i(e3.xmlElementsFilter, r4, a3, o3);
        }
        function l(n3, a3) {
          if (n3.nodeType == t3.DOCUMENT_NODE) {
            for (var p3 = new Object(), u2 = n3.childNodes, d2 = 0; d2 < u2.length; d2++) {
              if ((f3 = u2.item(d2)).nodeType == t3.ELEMENT_NODE)
                p3[m3 = r3(f3)] = l(f3, m3);
            }
            return p3;
          }
          if (n3.nodeType == t3.ELEMENT_NODE) {
            (p3 = new Object()).__cnt = 0;
            for (u2 = n3.childNodes, d2 = 0; d2 < u2.length; d2++) {
              var f3, m3 = r3(f3 = u2.item(d2));
              if (f3.nodeType != t3.COMMENT_NODE) {
                var h2 = a3 + "." + m3;
                c(p3, f3.nodeType, m3, h2) && (p3.__cnt++, null == p3[m3] ? (p3[m3] = l(f3, h2), o2(p3, m3, h2)) : (null != p3[m3] && (p3[m3] instanceof Array || (p3[m3] = [p3[m3]], o2(p3, m3, h2))), p3[m3][p3[m3].length] = l(f3, h2)));
              }
            }
            for (var g2 = 0; g2 < n3.attributes.length; g2++) {
              var v2 = n3.attributes.item(g2);
              p3.__cnt++, p3[e3.attributePrefix + v2.name] = v2.value;
            }
            var y2 = function(e4) {
              return e4.prefix;
            }(n3);
            return null != y2 && "" != y2 && (p3.__cnt++, p3.__prefix = y2), null != p3["#text"] && (p3.__text = p3["#text"], p3.__text instanceof Array && (p3.__text = p3.__text.join("\n")), e3.stripWhitespaces && (p3.__text = p3.__text.trim()), delete p3["#text"], "property" == e3.arrayAccessForm && delete p3["#text_asArray"], p3.__text = function(t4, r4, n4) {
              if (e3.datetimeAccessFormPaths.length > 0) {
                var a4 = n4.split(".#")[0];
                return i(e3.datetimeAccessFormPaths, t4, r4, a4) ? s2(t4) : t4;
              }
              return t4;
            }(p3.__text, m3, a3 + "." + m3)), null != p3["#cdata-section"] && (p3.__cdata = p3["#cdata-section"], delete p3["#cdata-section"], "property" == e3.arrayAccessForm && delete p3["#cdata-section_asArray"]), 0 == p3.__cnt && "text" == e3.emptyNodeForm ? p3 = "" : 1 == p3.__cnt && null != p3.__text ? p3 = p3.__text : 1 != p3.__cnt || null == p3.__cdata || e3.keepCData ? p3.__cnt > 1 && null != p3.__text && e3.skipEmptyTextNodesForObj && (e3.stripWhitespaces && "" == p3.__text || "" == p3.__text.trim()) && delete p3.__text : p3 = p3.__cdata, delete p3.__cnt, !e3.enableToStringFunc || null == p3.__text && null == p3.__cdata || (p3.toString = function() {
              return (null != this.__text ? this.__text : "") + (null != this.__cdata ? this.__cdata : "");
            }), p3;
          }
          if (n3.nodeType == t3.TEXT_NODE || n3.nodeType == t3.CDATA_SECTION_NODE)
            return n3.nodeValue;
        }
        function p2(t4, r4, n3, i2) {
          var o3 = "<" + (null != t4 && null != t4.__prefix ? t4.__prefix + ":" : "") + r4;
          if (null != n3)
            for (var s3 = 0; s3 < n3.length; s3++) {
              var c2 = n3[s3], l2 = t4[c2];
              e3.escapeMode && (l2 = a2(l2)), o3 += " " + c2.substr(e3.attributePrefix.length) + "=", e3.useDoubleQuotes ? o3 += '"' + l2 + '"' : o3 += "'" + l2 + "'";
            }
          return o3 += i2 ? "/>" : ">";
        }
        function u(e4, t4) {
          return "</" + (null != e4.__prefix ? e4.__prefix + ":" : "") + t4 + ">";
        }
        function d(t4, r4) {
          return "property" == e3.arrayAccessForm && (n3 = r4.toString(), a3 = "_asArray", -1 !== n3.indexOf(a3, n3.length - a3.length)) || 0 == r4.toString().indexOf(e3.attributePrefix) || 0 == r4.toString().indexOf("__") || t4[r4] instanceof Function;
          var n3, a3;
        }
        function f2(e4) {
          var t4 = 0;
          if (e4 instanceof Object)
            for (var r4 in e4)
              d(e4, r4) || t4++;
          return t4;
        }
        function m2(t4, r4, n3) {
          return 0 == e3.jsonPropertiesFilter.length || "" == n3 || i(e3.jsonPropertiesFilter, t4, r4, n3);
        }
        function h(t4) {
          var r4 = [];
          if (t4 instanceof Object)
            for (var n3 in t4)
              -1 == n3.toString().indexOf("__") && 0 == n3.toString().indexOf(e3.attributePrefix) && r4.push(n3);
          return r4;
        }
        function g(t4) {
          var r4 = "";
          return t4 instanceof Object ? r4 += function(t5) {
            var r5 = "";
            return null != t5.__cdata && (r5 += "<![CDATA[" + t5.__cdata + "]]>"), null != t5.__text && (e3.escapeMode ? r5 += a2(t5.__text) : r5 += t5.__text), r5;
          }(t4) : null != t4 && (e3.escapeMode ? r4 += a2(t4) : r4 += t4), r4;
        }
        function v(e4, t4) {
          return "" === e4 ? t4 : e4 + "." + t4;
        }
        function y(e4, t4, r4, n3) {
          var a3 = "";
          if (0 == e4.length)
            a3 += p2(e4, t4, r4, true);
          else
            for (var i2 = 0; i2 < e4.length; i2++)
              a3 += p2(e4[i2], t4, h(e4[i2]), false), a3 += x(e4[i2], v(n3, t4)), a3 += u(e4[i2], t4);
          return a3;
        }
        function x(e4, t4) {
          var r4 = "";
          if (f2(e4) > 0) {
            for (var n3 in e4)
              if (!d(e4, n3) && ("" == t4 || m2(e4, n3, v(t4, n3)))) {
                var a3 = e4[n3], i2 = h(a3);
                if (null == a3 || null == a3)
                  r4 += p2(a3, n3, i2, true);
                else if (a3 instanceof Object)
                  if (a3 instanceof Array)
                    r4 += y(a3, n3, i2, t4);
                  else if (a3 instanceof Date)
                    r4 += p2(a3, n3, i2, false), r4 += a3.toISOString(), r4 += u(a3, n3);
                  else {
                    f2(a3) > 0 || null != a3.__text || null != a3.__cdata ? (r4 += p2(a3, n3, i2, false), r4 += x(a3, v(t4, n3)), r4 += u(a3, n3)) : r4 += p2(a3, n3, i2, true);
                  }
                else
                  r4 += p2(a3, n3, i2, false), r4 += g(a3), r4 += u(a3, n3);
              }
          }
          return r4 += g(e4);
        }
        this.parseXmlString = function(e4) {
          var t4;
          if (void 0 === e4)
            return null;
          if (n2) {
            var r4 = new n2(), a3 = null;
            try {
              a3 = r4.parseFromString("INVALID", "text/xml").getElementsByTagName("parsererror")[0].namespaceURI;
            } catch (e5) {
              a3 = null;
            }
            try {
              t4 = r4.parseFromString(e4, "text/xml"), null != a3 && t4.getElementsByTagNameNS(a3, "parsererror").length > 0 && (t4 = null);
            } catch (e5) {
              t4 = null;
            }
          } else
            0 == e4.indexOf("<?") && (e4 = e4.substr(e4.indexOf("?>") + 2)), (t4 = new ActiveXObject("Microsoft.XMLDOM")).async = "false", t4.loadXML(e4);
          return t4;
        }, this.asArray = function(e4) {
          return void 0 === e4 || null == e4 ? [] : e4 instanceof Array ? e4 : [e4];
        }, this.toXmlDateTime = function(e4) {
          return e4 instanceof Date ? e4.toISOString() : "number" == typeof e4 ? new Date(e4).toISOString() : null;
        }, this.asDateTime = function(e4) {
          return "string" == typeof e4 ? s2(e4) : e4;
        }, this.xml2json = function(e4) {
          return l(e4);
        }, this.xml_str2json = function(e4) {
          var t4 = this.parseXmlString(e4);
          return null != t4 ? this.xml2json(t4) : null;
        }, this.json2xml_str = function(e4) {
          return x(e4, "");
        }, this.json2xml = function(e4) {
          var t4 = this.json2xml_str(e4);
          return this.parseXmlString(t4);
        }, this.getVersion = function() {
          return "1.2.0";
        };
      };
      e2.exports = function(e3) {
        if (!e3)
          return null;
        var t3 = new n2().parseFromString(e3, "text/xml"), r3 = new a().xml2json(t3);
        return r3.html && r3.getElementsByTagName("parsererror").length ? null : r3;
      };
    }, function(e2, t2, r2) {
      var n2 = r2(2);
      t2.DOMImplementation = n2.DOMImplementation, t2.XMLSerializer = n2.XMLSerializer, t2.DOMParser = r2(15).DOMParser;
    }, function(e2, t2, r2) {
      var n2 = r2(1), a = r2(2), i = r2(16), o2 = r2(17), s2 = a.DOMImplementation, c = n2.NAMESPACE, l = o2.ParseError, p2 = o2.XMLReader;
      function u(e3) {
        return e3.replace(/\r[\n\u0085]/g, "\n").replace(/[\r\u0085\u2028]/g, "\n");
      }
      function d(e3) {
        this.options = e3 || { locator: {} };
      }
      function f2() {
        this.cdata = false;
      }
      function m2(e3, t3) {
        t3.lineNumber = e3.lineNumber, t3.columnNumber = e3.columnNumber;
      }
      function h(e3, t3, r3) {
        return "string" == typeof e3 ? e3.substr(t3, r3) : e3.length >= t3 + r3 || t3 ? new java.lang.String(e3, t3, r3) + "" : e3;
      }
      function g(e3, t3) {
        e3.currentElement ? e3.currentElement.appendChild(t3) : e3.doc.appendChild(t3);
      }
      d.prototype.parseFromString = function(e3, t3) {
        var r3 = this.options, n3 = new p2(), a2 = r3.domBuilder || new f2(), o3 = r3.errorHandler, s3 = r3.locator, l2 = r3.xmlns || {}, d2 = /\/x?html?$/.test(t3), m3 = d2 ? i.HTML_ENTITIES : i.XML_ENTITIES;
        s3 && a2.setDocumentLocator(s3), n3.errorHandler = function(e4, t4, r4) {
          if (!e4) {
            if (t4 instanceof f2)
              return t4;
            e4 = t4;
          }
          var n4 = {}, a3 = e4 instanceof Function;
          function i2(t5) {
            var i3 = e4[t5];
            !i3 && a3 && (i3 = 2 == e4.length ? function(r5) {
              e4(t5, r5);
            } : e4), n4[t5] = i3 && function(e5) {
              i3("[xmldom " + t5 + "]	" + e5 + function(e6) {
                if (e6)
                  return "\n@" + (e6.systemId || "") + "#[line:" + e6.lineNumber + ",col:" + e6.columnNumber + "]";
              }(r4));
            } || function() {
            };
          }
          return r4 = r4 || {}, i2("warning"), i2("error"), i2("fatalError"), n4;
        }(o3, a2, s3), n3.domBuilder = r3.domBuilder || a2, d2 && (l2[""] = c.HTML), l2.xml = l2.xml || c.XML;
        var h2 = r3.normalizeLineEndings || u;
        return e3 && "string" == typeof e3 ? n3.parse(h2(e3), l2, m3) : n3.errorHandler.error("invalid doc source"), a2.doc;
      }, f2.prototype = { startDocument: function() {
        this.doc = new s2().createDocument(null, null, null), this.locator && (this.doc.documentURI = this.locator.systemId);
      }, startElement: function(e3, t3, r3, n3) {
        var a2 = this.doc, i2 = a2.createElementNS(e3, r3 || t3), o3 = n3.length;
        g(this, i2), this.currentElement = i2, this.locator && m2(this.locator, i2);
        for (var s3 = 0; s3 < o3; s3++) {
          e3 = n3.getURI(s3);
          var c2 = n3.getValue(s3), l2 = (r3 = n3.getQName(s3), a2.createAttributeNS(e3, r3));
          this.locator && m2(n3.getLocator(s3), l2), l2.value = l2.nodeValue = c2, i2.setAttributeNode(l2);
        }
      }, endElement: function(e3, t3, r3) {
        var n3 = this.currentElement;
        n3.tagName;
        this.currentElement = n3.parentNode;
      }, startPrefixMapping: function(e3, t3) {
      }, endPrefixMapping: function(e3) {
      }, processingInstruction: function(e3, t3) {
        var r3 = this.doc.createProcessingInstruction(e3, t3);
        this.locator && m2(this.locator, r3), g(this, r3);
      }, ignorableWhitespace: function(e3, t3, r3) {
      }, characters: function(e3, t3, r3) {
        if (e3 = h.apply(this, arguments)) {
          if (this.cdata)
            var n3 = this.doc.createCDATASection(e3);
          else
            n3 = this.doc.createTextNode(e3);
          this.currentElement ? this.currentElement.appendChild(n3) : /^\s*$/.test(e3) && this.doc.appendChild(n3), this.locator && m2(this.locator, n3);
        }
      }, skippedEntity: function(e3) {
      }, endDocument: function() {
        this.doc.normalize();
      }, setDocumentLocator: function(e3) {
        (this.locator = e3) && (e3.lineNumber = 0);
      }, comment: function(e3, t3, r3) {
        e3 = h.apply(this, arguments);
        var n3 = this.doc.createComment(e3);
        this.locator && m2(this.locator, n3), g(this, n3);
      }, startCDATA: function() {
        this.cdata = true;
      }, endCDATA: function() {
        this.cdata = false;
      }, startDTD: function(e3, t3, r3) {
        var n3 = this.doc.implementation;
        if (n3 && n3.createDocumentType) {
          var a2 = n3.createDocumentType(e3, t3, r3);
          this.locator && m2(this.locator, a2), g(this, a2), this.doc.doctype = a2;
        }
      }, warning: function(e3) {
      }, error: function(e3) {
      }, fatalError: function(e3) {
        throw new l(e3, this.locator);
      } }, "endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g, function(e3) {
        f2.prototype[e3] = function() {
          return null;
        };
      }), t2.__DOMHandler = f2, t2.normalizeLineEndings = u, t2.DOMParser = d;
    }, function(e2, t2, r2) {
      var n2 = r2(1).freeze;
      t2.XML_ENTITIES = n2({ amp: "&", apos: "'", gt: ">", lt: "<", quot: '"' }), t2.HTML_ENTITIES = n2({ Aacute: "Á", aacute: "á", Abreve: "Ă", abreve: "ă", ac: "∾", acd: "∿", acE: "∾̳", Acirc: "Â", acirc: "â", acute: "´", Acy: "А", acy: "а", AElig: "Æ", aelig: "æ", af: "⁡", Afr: "𝔄", afr: "𝔞", Agrave: "À", agrave: "à", alefsym: "ℵ", aleph: "ℵ", Alpha: "Α", alpha: "α", Amacr: "Ā", amacr: "ā", amalg: "⨿", AMP: "&", amp: "&", And: "⩓", and: "∧", andand: "⩕", andd: "⩜", andslope: "⩘", andv: "⩚", ang: "∠", ange: "⦤", angle: "∠", angmsd: "∡", angmsdaa: "⦨", angmsdab: "⦩", angmsdac: "⦪", angmsdad: "⦫", angmsdae: "⦬", angmsdaf: "⦭", angmsdag: "⦮", angmsdah: "⦯", angrt: "∟", angrtvb: "⊾", angrtvbd: "⦝", angsph: "∢", angst: "Å", angzarr: "⍼", Aogon: "Ą", aogon: "ą", Aopf: "𝔸", aopf: "𝕒", ap: "≈", apacir: "⩯", apE: "⩰", ape: "≊", apid: "≋", apos: "'", ApplyFunction: "⁡", approx: "≈", approxeq: "≊", Aring: "Å", aring: "å", Ascr: "𝒜", ascr: "𝒶", Assign: "≔", ast: "*", asymp: "≈", asympeq: "≍", Atilde: "Ã", atilde: "ã", Auml: "Ä", auml: "ä", awconint: "∳", awint: "⨑", backcong: "≌", backepsilon: "϶", backprime: "‵", backsim: "∽", backsimeq: "⋍", Backslash: "∖", Barv: "⫧", barvee: "⊽", Barwed: "⌆", barwed: "⌅", barwedge: "⌅", bbrk: "⎵", bbrktbrk: "⎶", bcong: "≌", Bcy: "Б", bcy: "б", bdquo: "„", becaus: "∵", Because: "∵", because: "∵", bemptyv: "⦰", bepsi: "϶", bernou: "ℬ", Bernoullis: "ℬ", Beta: "Β", beta: "β", beth: "ℶ", between: "≬", Bfr: "𝔅", bfr: "𝔟", bigcap: "⋂", bigcirc: "◯", bigcup: "⋃", bigodot: "⨀", bigoplus: "⨁", bigotimes: "⨂", bigsqcup: "⨆", bigstar: "★", bigtriangledown: "▽", bigtriangleup: "△", biguplus: "⨄", bigvee: "⋁", bigwedge: "⋀", bkarow: "⤍", blacklozenge: "⧫", blacksquare: "▪", blacktriangle: "▴", blacktriangledown: "▾", blacktriangleleft: "◂", blacktriangleright: "▸", blank: "␣", blk12: "▒", blk14: "░", blk34: "▓", block: "█", bne: "=⃥", bnequiv: "≡⃥", bNot: "⫭", bnot: "⌐", Bopf: "𝔹", bopf: "𝕓", bot: "⊥", bottom: "⊥", bowtie: "⋈", boxbox: "⧉", boxDL: "╗", boxDl: "╖", boxdL: "╕", boxdl: "┐", boxDR: "╔", boxDr: "╓", boxdR: "╒", boxdr: "┌", boxH: "═", boxh: "─", boxHD: "╦", boxHd: "╤", boxhD: "╥", boxhd: "┬", boxHU: "╩", boxHu: "╧", boxhU: "╨", boxhu: "┴", boxminus: "⊟", boxplus: "⊞", boxtimes: "⊠", boxUL: "╝", boxUl: "╜", boxuL: "╛", boxul: "┘", boxUR: "╚", boxUr: "╙", boxuR: "╘", boxur: "└", boxV: "║", boxv: "│", boxVH: "╬", boxVh: "╫", boxvH: "╪", boxvh: "┼", boxVL: "╣", boxVl: "╢", boxvL: "╡", boxvl: "┤", boxVR: "╠", boxVr: "╟", boxvR: "╞", boxvr: "├", bprime: "‵", Breve: "˘", breve: "˘", brvbar: "¦", Bscr: "ℬ", bscr: "𝒷", bsemi: "⁏", bsim: "∽", bsime: "⋍", bsol: "\\", bsolb: "⧅", bsolhsub: "⟈", bull: "•", bullet: "•", bump: "≎", bumpE: "⪮", bumpe: "≏", Bumpeq: "≎", bumpeq: "≏", Cacute: "Ć", cacute: "ć", Cap: "⋒", cap: "∩", capand: "⩄", capbrcup: "⩉", capcap: "⩋", capcup: "⩇", capdot: "⩀", CapitalDifferentialD: "ⅅ", caps: "∩︀", caret: "⁁", caron: "ˇ", Cayleys: "ℭ", ccaps: "⩍", Ccaron: "Č", ccaron: "č", Ccedil: "Ç", ccedil: "ç", Ccirc: "Ĉ", ccirc: "ĉ", Cconint: "∰", ccups: "⩌", ccupssm: "⩐", Cdot: "Ċ", cdot: "ċ", cedil: "¸", Cedilla: "¸", cemptyv: "⦲", cent: "¢", CenterDot: "·", centerdot: "·", Cfr: "ℭ", cfr: "𝔠", CHcy: "Ч", chcy: "ч", check: "✓", checkmark: "✓", Chi: "Χ", chi: "χ", cir: "○", circ: "ˆ", circeq: "≗", circlearrowleft: "↺", circlearrowright: "↻", circledast: "⊛", circledcirc: "⊚", circleddash: "⊝", CircleDot: "⊙", circledR: "®", circledS: "Ⓢ", CircleMinus: "⊖", CirclePlus: "⊕", CircleTimes: "⊗", cirE: "⧃", cire: "≗", cirfnint: "⨐", cirmid: "⫯", cirscir: "⧂", ClockwiseContourIntegral: "∲", CloseCurlyDoubleQuote: "”", CloseCurlyQuote: "’", clubs: "♣", clubsuit: "♣", Colon: "∷", colon: ":", Colone: "⩴", colone: "≔", coloneq: "≔", comma: ",", commat: "@", comp: "∁", compfn: "∘", complement: "∁", complexes: "ℂ", cong: "≅", congdot: "⩭", Congruent: "≡", Conint: "∯", conint: "∮", ContourIntegral: "∮", Copf: "ℂ", copf: "𝕔", coprod: "∐", Coproduct: "∐", COPY: "©", copy: "©", copysr: "℗", CounterClockwiseContourIntegral: "∳", crarr: "↵", Cross: "⨯", cross: "✗", Cscr: "𝒞", cscr: "𝒸", csub: "⫏", csube: "⫑", csup: "⫐", csupe: "⫒", ctdot: "⋯", cudarrl: "⤸", cudarrr: "⤵", cuepr: "⋞", cuesc: "⋟", cularr: "↶", cularrp: "⤽", Cup: "⋓", cup: "∪", cupbrcap: "⩈", CupCap: "≍", cupcap: "⩆", cupcup: "⩊", cupdot: "⊍", cupor: "⩅", cups: "∪︀", curarr: "↷", curarrm: "⤼", curlyeqprec: "⋞", curlyeqsucc: "⋟", curlyvee: "⋎", curlywedge: "⋏", curren: "¤", curvearrowleft: "↶", curvearrowright: "↷", cuvee: "⋎", cuwed: "⋏", cwconint: "∲", cwint: "∱", cylcty: "⌭", Dagger: "‡", dagger: "†", daleth: "ℸ", Darr: "↡", dArr: "⇓", darr: "↓", dash: "‐", Dashv: "⫤", dashv: "⊣", dbkarow: "⤏", dblac: "˝", Dcaron: "Ď", dcaron: "ď", Dcy: "Д", dcy: "д", DD: "ⅅ", dd: "ⅆ", ddagger: "‡", ddarr: "⇊", DDotrahd: "⤑", ddotseq: "⩷", deg: "°", Del: "∇", Delta: "Δ", delta: "δ", demptyv: "⦱", dfisht: "⥿", Dfr: "𝔇", dfr: "𝔡", dHar: "⥥", dharl: "⇃", dharr: "⇂", DiacriticalAcute: "´", DiacriticalDot: "˙", DiacriticalDoubleAcute: "˝", DiacriticalGrave: "`", DiacriticalTilde: "˜", diam: "⋄", Diamond: "⋄", diamond: "⋄", diamondsuit: "♦", diams: "♦", die: "¨", DifferentialD: "ⅆ", digamma: "ϝ", disin: "⋲", div: "÷", divide: "÷", divideontimes: "⋇", divonx: "⋇", DJcy: "Ђ", djcy: "ђ", dlcorn: "⌞", dlcrop: "⌍", dollar: "$", Dopf: "𝔻", dopf: "𝕕", Dot: "¨", dot: "˙", DotDot: "⃜", doteq: "≐", doteqdot: "≑", DotEqual: "≐", dotminus: "∸", dotplus: "∔", dotsquare: "⊡", doublebarwedge: "⌆", DoubleContourIntegral: "∯", DoubleDot: "¨", DoubleDownArrow: "⇓", DoubleLeftArrow: "⇐", DoubleLeftRightArrow: "⇔", DoubleLeftTee: "⫤", DoubleLongLeftArrow: "⟸", DoubleLongLeftRightArrow: "⟺", DoubleLongRightArrow: "⟹", DoubleRightArrow: "⇒", DoubleRightTee: "⊨", DoubleUpArrow: "⇑", DoubleUpDownArrow: "⇕", DoubleVerticalBar: "∥", DownArrow: "↓", Downarrow: "⇓", downarrow: "↓", DownArrowBar: "⤓", DownArrowUpArrow: "⇵", DownBreve: "̑", downdownarrows: "⇊", downharpoonleft: "⇃", downharpoonright: "⇂", DownLeftRightVector: "⥐", DownLeftTeeVector: "⥞", DownLeftVector: "↽", DownLeftVectorBar: "⥖", DownRightTeeVector: "⥟", DownRightVector: "⇁", DownRightVectorBar: "⥗", DownTee: "⊤", DownTeeArrow: "↧", drbkarow: "⤐", drcorn: "⌟", drcrop: "⌌", Dscr: "𝒟", dscr: "𝒹", DScy: "Ѕ", dscy: "ѕ", dsol: "⧶", Dstrok: "Đ", dstrok: "đ", dtdot: "⋱", dtri: "▿", dtrif: "▾", duarr: "⇵", duhar: "⥯", dwangle: "⦦", DZcy: "Џ", dzcy: "џ", dzigrarr: "⟿", Eacute: "É", eacute: "é", easter: "⩮", Ecaron: "Ě", ecaron: "ě", ecir: "≖", Ecirc: "Ê", ecirc: "ê", ecolon: "≕", Ecy: "Э", ecy: "э", eDDot: "⩷", Edot: "Ė", eDot: "≑", edot: "ė", ee: "ⅇ", efDot: "≒", Efr: "𝔈", efr: "𝔢", eg: "⪚", Egrave: "È", egrave: "è", egs: "⪖", egsdot: "⪘", el: "⪙", Element: "∈", elinters: "⏧", ell: "ℓ", els: "⪕", elsdot: "⪗", Emacr: "Ē", emacr: "ē", empty: "∅", emptyset: "∅", EmptySmallSquare: "◻", emptyv: "∅", EmptyVerySmallSquare: "▫", emsp: " ", emsp13: " ", emsp14: " ", ENG: "Ŋ", eng: "ŋ", ensp: " ", Eogon: "Ę", eogon: "ę", Eopf: "𝔼", eopf: "𝕖", epar: "⋕", eparsl: "⧣", eplus: "⩱", epsi: "ε", Epsilon: "Ε", epsilon: "ε", epsiv: "ϵ", eqcirc: "≖", eqcolon: "≕", eqsim: "≂", eqslantgtr: "⪖", eqslantless: "⪕", Equal: "⩵", equals: "=", EqualTilde: "≂", equest: "≟", Equilibrium: "⇌", equiv: "≡", equivDD: "⩸", eqvparsl: "⧥", erarr: "⥱", erDot: "≓", Escr: "ℰ", escr: "ℯ", esdot: "≐", Esim: "⩳", esim: "≂", Eta: "Η", eta: "η", ETH: "Ð", eth: "ð", Euml: "Ë", euml: "ë", euro: "€", excl: "!", exist: "∃", Exists: "∃", expectation: "ℰ", ExponentialE: "ⅇ", exponentiale: "ⅇ", fallingdotseq: "≒", Fcy: "Ф", fcy: "ф", female: "♀", ffilig: "ﬃ", fflig: "ﬀ", ffllig: "ﬄ", Ffr: "𝔉", ffr: "𝔣", filig: "ﬁ", FilledSmallSquare: "◼", FilledVerySmallSquare: "▪", fjlig: "fj", flat: "♭", fllig: "ﬂ", fltns: "▱", fnof: "ƒ", Fopf: "𝔽", fopf: "𝕗", ForAll: "∀", forall: "∀", fork: "⋔", forkv: "⫙", Fouriertrf: "ℱ", fpartint: "⨍", frac12: "½", frac13: "⅓", frac14: "¼", frac15: "⅕", frac16: "⅙", frac18: "⅛", frac23: "⅔", frac25: "⅖", frac34: "¾", frac35: "⅗", frac38: "⅜", frac45: "⅘", frac56: "⅚", frac58: "⅝", frac78: "⅞", frasl: "⁄", frown: "⌢", Fscr: "ℱ", fscr: "𝒻", gacute: "ǵ", Gamma: "Γ", gamma: "γ", Gammad: "Ϝ", gammad: "ϝ", gap: "⪆", Gbreve: "Ğ", gbreve: "ğ", Gcedil: "Ģ", Gcirc: "Ĝ", gcirc: "ĝ", Gcy: "Г", gcy: "г", Gdot: "Ġ", gdot: "ġ", gE: "≧", ge: "≥", gEl: "⪌", gel: "⋛", geq: "≥", geqq: "≧", geqslant: "⩾", ges: "⩾", gescc: "⪩", gesdot: "⪀", gesdoto: "⪂", gesdotol: "⪄", gesl: "⋛︀", gesles: "⪔", Gfr: "𝔊", gfr: "𝔤", Gg: "⋙", gg: "≫", ggg: "⋙", gimel: "ℷ", GJcy: "Ѓ", gjcy: "ѓ", gl: "≷", gla: "⪥", glE: "⪒", glj: "⪤", gnap: "⪊", gnapprox: "⪊", gnE: "≩", gne: "⪈", gneq: "⪈", gneqq: "≩", gnsim: "⋧", Gopf: "𝔾", gopf: "𝕘", grave: "`", GreaterEqual: "≥", GreaterEqualLess: "⋛", GreaterFullEqual: "≧", GreaterGreater: "⪢", GreaterLess: "≷", GreaterSlantEqual: "⩾", GreaterTilde: "≳", Gscr: "𝒢", gscr: "ℊ", gsim: "≳", gsime: "⪎", gsiml: "⪐", Gt: "≫", GT: ">", gt: ">", gtcc: "⪧", gtcir: "⩺", gtdot: "⋗", gtlPar: "⦕", gtquest: "⩼", gtrapprox: "⪆", gtrarr: "⥸", gtrdot: "⋗", gtreqless: "⋛", gtreqqless: "⪌", gtrless: "≷", gtrsim: "≳", gvertneqq: "≩︀", gvnE: "≩︀", Hacek: "ˇ", hairsp: " ", half: "½", hamilt: "ℋ", HARDcy: "Ъ", hardcy: "ъ", hArr: "⇔", harr: "↔", harrcir: "⥈", harrw: "↭", Hat: "^", hbar: "ℏ", Hcirc: "Ĥ", hcirc: "ĥ", hearts: "♥", heartsuit: "♥", hellip: "…", hercon: "⊹", Hfr: "ℌ", hfr: "𝔥", HilbertSpace: "ℋ", hksearow: "⤥", hkswarow: "⤦", hoarr: "⇿", homtht: "∻", hookleftarrow: "↩", hookrightarrow: "↪", Hopf: "ℍ", hopf: "𝕙", horbar: "―", HorizontalLine: "─", Hscr: "ℋ", hscr: "𝒽", hslash: "ℏ", Hstrok: "Ħ", hstrok: "ħ", HumpDownHump: "≎", HumpEqual: "≏", hybull: "⁃", hyphen: "‐", Iacute: "Í", iacute: "í", ic: "⁣", Icirc: "Î", icirc: "î", Icy: "И", icy: "и", Idot: "İ", IEcy: "Е", iecy: "е", iexcl: "¡", iff: "⇔", Ifr: "ℑ", ifr: "𝔦", Igrave: "Ì", igrave: "ì", ii: "ⅈ", iiiint: "⨌", iiint: "∭", iinfin: "⧜", iiota: "℩", IJlig: "Ĳ", ijlig: "ĳ", Im: "ℑ", Imacr: "Ī", imacr: "ī", image: "ℑ", ImaginaryI: "ⅈ", imagline: "ℐ", imagpart: "ℑ", imath: "ı", imof: "⊷", imped: "Ƶ", Implies: "⇒", in: "∈", incare: "℅", infin: "∞", infintie: "⧝", inodot: "ı", Int: "∬", int: "∫", intcal: "⊺", integers: "ℤ", Integral: "∫", intercal: "⊺", Intersection: "⋂", intlarhk: "⨗", intprod: "⨼", InvisibleComma: "⁣", InvisibleTimes: "⁢", IOcy: "Ё", iocy: "ё", Iogon: "Į", iogon: "į", Iopf: "𝕀", iopf: "𝕚", Iota: "Ι", iota: "ι", iprod: "⨼", iquest: "¿", Iscr: "ℐ", iscr: "𝒾", isin: "∈", isindot: "⋵", isinE: "⋹", isins: "⋴", isinsv: "⋳", isinv: "∈", it: "⁢", Itilde: "Ĩ", itilde: "ĩ", Iukcy: "І", iukcy: "і", Iuml: "Ï", iuml: "ï", Jcirc: "Ĵ", jcirc: "ĵ", Jcy: "Й", jcy: "й", Jfr: "𝔍", jfr: "𝔧", jmath: "ȷ", Jopf: "𝕁", jopf: "𝕛", Jscr: "𝒥", jscr: "𝒿", Jsercy: "Ј", jsercy: "ј", Jukcy: "Є", jukcy: "є", Kappa: "Κ", kappa: "κ", kappav: "ϰ", Kcedil: "Ķ", kcedil: "ķ", Kcy: "К", kcy: "к", Kfr: "𝔎", kfr: "𝔨", kgreen: "ĸ", KHcy: "Х", khcy: "х", KJcy: "Ќ", kjcy: "ќ", Kopf: "𝕂", kopf: "𝕜", Kscr: "𝒦", kscr: "𝓀", lAarr: "⇚", Lacute: "Ĺ", lacute: "ĺ", laemptyv: "⦴", lagran: "ℒ", Lambda: "Λ", lambda: "λ", Lang: "⟪", lang: "⟨", langd: "⦑", langle: "⟨", lap: "⪅", Laplacetrf: "ℒ", laquo: "«", Larr: "↞", lArr: "⇐", larr: "←", larrb: "⇤", larrbfs: "⤟", larrfs: "⤝", larrhk: "↩", larrlp: "↫", larrpl: "⤹", larrsim: "⥳", larrtl: "↢", lat: "⪫", lAtail: "⤛", latail: "⤙", late: "⪭", lates: "⪭︀", lBarr: "⤎", lbarr: "⤌", lbbrk: "❲", lbrace: "{", lbrack: "[", lbrke: "⦋", lbrksld: "⦏", lbrkslu: "⦍", Lcaron: "Ľ", lcaron: "ľ", Lcedil: "Ļ", lcedil: "ļ", lceil: "⌈", lcub: "{", Lcy: "Л", lcy: "л", ldca: "⤶", ldquo: "“", ldquor: "„", ldrdhar: "⥧", ldrushar: "⥋", ldsh: "↲", lE: "≦", le: "≤", LeftAngleBracket: "⟨", LeftArrow: "←", Leftarrow: "⇐", leftarrow: "←", LeftArrowBar: "⇤", LeftArrowRightArrow: "⇆", leftarrowtail: "↢", LeftCeiling: "⌈", LeftDoubleBracket: "⟦", LeftDownTeeVector: "⥡", LeftDownVector: "⇃", LeftDownVectorBar: "⥙", LeftFloor: "⌊", leftharpoondown: "↽", leftharpoonup: "↼", leftleftarrows: "⇇", LeftRightArrow: "↔", Leftrightarrow: "⇔", leftrightarrow: "↔", leftrightarrows: "⇆", leftrightharpoons: "⇋", leftrightsquigarrow: "↭", LeftRightVector: "⥎", LeftTee: "⊣", LeftTeeArrow: "↤", LeftTeeVector: "⥚", leftthreetimes: "⋋", LeftTriangle: "⊲", LeftTriangleBar: "⧏", LeftTriangleEqual: "⊴", LeftUpDownVector: "⥑", LeftUpTeeVector: "⥠", LeftUpVector: "↿", LeftUpVectorBar: "⥘", LeftVector: "↼", LeftVectorBar: "⥒", lEg: "⪋", leg: "⋚", leq: "≤", leqq: "≦", leqslant: "⩽", les: "⩽", lescc: "⪨", lesdot: "⩿", lesdoto: "⪁", lesdotor: "⪃", lesg: "⋚︀", lesges: "⪓", lessapprox: "⪅", lessdot: "⋖", lesseqgtr: "⋚", lesseqqgtr: "⪋", LessEqualGreater: "⋚", LessFullEqual: "≦", LessGreater: "≶", lessgtr: "≶", LessLess: "⪡", lesssim: "≲", LessSlantEqual: "⩽", LessTilde: "≲", lfisht: "⥼", lfloor: "⌊", Lfr: "𝔏", lfr: "𝔩", lg: "≶", lgE: "⪑", lHar: "⥢", lhard: "↽", lharu: "↼", lharul: "⥪", lhblk: "▄", LJcy: "Љ", ljcy: "љ", Ll: "⋘", ll: "≪", llarr: "⇇", llcorner: "⌞", Lleftarrow: "⇚", llhard: "⥫", lltri: "◺", Lmidot: "Ŀ", lmidot: "ŀ", lmoust: "⎰", lmoustache: "⎰", lnap: "⪉", lnapprox: "⪉", lnE: "≨", lne: "⪇", lneq: "⪇", lneqq: "≨", lnsim: "⋦", loang: "⟬", loarr: "⇽", lobrk: "⟦", LongLeftArrow: "⟵", Longleftarrow: "⟸", longleftarrow: "⟵", LongLeftRightArrow: "⟷", Longleftrightarrow: "⟺", longleftrightarrow: "⟷", longmapsto: "⟼", LongRightArrow: "⟶", Longrightarrow: "⟹", longrightarrow: "⟶", looparrowleft: "↫", looparrowright: "↬", lopar: "⦅", Lopf: "𝕃", lopf: "𝕝", loplus: "⨭", lotimes: "⨴", lowast: "∗", lowbar: "_", LowerLeftArrow: "↙", LowerRightArrow: "↘", loz: "◊", lozenge: "◊", lozf: "⧫", lpar: "(", lparlt: "⦓", lrarr: "⇆", lrcorner: "⌟", lrhar: "⇋", lrhard: "⥭", lrm: "‎", lrtri: "⊿", lsaquo: "‹", Lscr: "ℒ", lscr: "𝓁", Lsh: "↰", lsh: "↰", lsim: "≲", lsime: "⪍", lsimg: "⪏", lsqb: "[", lsquo: "‘", lsquor: "‚", Lstrok: "Ł", lstrok: "ł", Lt: "≪", LT: "<", lt: "<", ltcc: "⪦", ltcir: "⩹", ltdot: "⋖", lthree: "⋋", ltimes: "⋉", ltlarr: "⥶", ltquest: "⩻", ltri: "◃", ltrie: "⊴", ltrif: "◂", ltrPar: "⦖", lurdshar: "⥊", luruhar: "⥦", lvertneqq: "≨︀", lvnE: "≨︀", macr: "¯", male: "♂", malt: "✠", maltese: "✠", Map: "⤅", map: "↦", mapsto: "↦", mapstodown: "↧", mapstoleft: "↤", mapstoup: "↥", marker: "▮", mcomma: "⨩", Mcy: "М", mcy: "м", mdash: "—", mDDot: "∺", measuredangle: "∡", MediumSpace: " ", Mellintrf: "ℳ", Mfr: "𝔐", mfr: "𝔪", mho: "℧", micro: "µ", mid: "∣", midast: "*", midcir: "⫰", middot: "·", minus: "−", minusb: "⊟", minusd: "∸", minusdu: "⨪", MinusPlus: "∓", mlcp: "⫛", mldr: "…", mnplus: "∓", models: "⊧", Mopf: "𝕄", mopf: "𝕞", mp: "∓", Mscr: "ℳ", mscr: "𝓂", mstpos: "∾", Mu: "Μ", mu: "μ", multimap: "⊸", mumap: "⊸", nabla: "∇", Nacute: "Ń", nacute: "ń", nang: "∠⃒", nap: "≉", napE: "⩰̸", napid: "≋̸", napos: "ŉ", napprox: "≉", natur: "♮", natural: "♮", naturals: "ℕ", nbsp: " ", nbump: "≎̸", nbumpe: "≏̸", ncap: "⩃", Ncaron: "Ň", ncaron: "ň", Ncedil: "Ņ", ncedil: "ņ", ncong: "≇", ncongdot: "⩭̸", ncup: "⩂", Ncy: "Н", ncy: "н", ndash: "–", ne: "≠", nearhk: "⤤", neArr: "⇗", nearr: "↗", nearrow: "↗", nedot: "≐̸", NegativeMediumSpace: "​", NegativeThickSpace: "​", NegativeThinSpace: "​", NegativeVeryThinSpace: "​", nequiv: "≢", nesear: "⤨", nesim: "≂̸", NestedGreaterGreater: "≫", NestedLessLess: "≪", NewLine: "\n", nexist: "∄", nexists: "∄", Nfr: "𝔑", nfr: "𝔫", ngE: "≧̸", nge: "≱", ngeq: "≱", ngeqq: "≧̸", ngeqslant: "⩾̸", nges: "⩾̸", nGg: "⋙̸", ngsim: "≵", nGt: "≫⃒", ngt: "≯", ngtr: "≯", nGtv: "≫̸", nhArr: "⇎", nharr: "↮", nhpar: "⫲", ni: "∋", nis: "⋼", nisd: "⋺", niv: "∋", NJcy: "Њ", njcy: "њ", nlArr: "⇍", nlarr: "↚", nldr: "‥", nlE: "≦̸", nle: "≰", nLeftarrow: "⇍", nleftarrow: "↚", nLeftrightarrow: "⇎", nleftrightarrow: "↮", nleq: "≰", nleqq: "≦̸", nleqslant: "⩽̸", nles: "⩽̸", nless: "≮", nLl: "⋘̸", nlsim: "≴", nLt: "≪⃒", nlt: "≮", nltri: "⋪", nltrie: "⋬", nLtv: "≪̸", nmid: "∤", NoBreak: "⁠", NonBreakingSpace: " ", Nopf: "ℕ", nopf: "𝕟", Not: "⫬", not: "¬", NotCongruent: "≢", NotCupCap: "≭", NotDoubleVerticalBar: "∦", NotElement: "∉", NotEqual: "≠", NotEqualTilde: "≂̸", NotExists: "∄", NotGreater: "≯", NotGreaterEqual: "≱", NotGreaterFullEqual: "≧̸", NotGreaterGreater: "≫̸", NotGreaterLess: "≹", NotGreaterSlantEqual: "⩾̸", NotGreaterTilde: "≵", NotHumpDownHump: "≎̸", NotHumpEqual: "≏̸", notin: "∉", notindot: "⋵̸", notinE: "⋹̸", notinva: "∉", notinvb: "⋷", notinvc: "⋶", NotLeftTriangle: "⋪", NotLeftTriangleBar: "⧏̸", NotLeftTriangleEqual: "⋬", NotLess: "≮", NotLessEqual: "≰", NotLessGreater: "≸", NotLessLess: "≪̸", NotLessSlantEqual: "⩽̸", NotLessTilde: "≴", NotNestedGreaterGreater: "⪢̸", NotNestedLessLess: "⪡̸", notni: "∌", notniva: "∌", notnivb: "⋾", notnivc: "⋽", NotPrecedes: "⊀", NotPrecedesEqual: "⪯̸", NotPrecedesSlantEqual: "⋠", NotReverseElement: "∌", NotRightTriangle: "⋫", NotRightTriangleBar: "⧐̸", NotRightTriangleEqual: "⋭", NotSquareSubset: "⊏̸", NotSquareSubsetEqual: "⋢", NotSquareSuperset: "⊐̸", NotSquareSupersetEqual: "⋣", NotSubset: "⊂⃒", NotSubsetEqual: "⊈", NotSucceeds: "⊁", NotSucceedsEqual: "⪰̸", NotSucceedsSlantEqual: "⋡", NotSucceedsTilde: "≿̸", NotSuperset: "⊃⃒", NotSupersetEqual: "⊉", NotTilde: "≁", NotTildeEqual: "≄", NotTildeFullEqual: "≇", NotTildeTilde: "≉", NotVerticalBar: "∤", npar: "∦", nparallel: "∦", nparsl: "⫽⃥", npart: "∂̸", npolint: "⨔", npr: "⊀", nprcue: "⋠", npre: "⪯̸", nprec: "⊀", npreceq: "⪯̸", nrArr: "⇏", nrarr: "↛", nrarrc: "⤳̸", nrarrw: "↝̸", nRightarrow: "⇏", nrightarrow: "↛", nrtri: "⋫", nrtrie: "⋭", nsc: "⊁", nsccue: "⋡", nsce: "⪰̸", Nscr: "𝒩", nscr: "𝓃", nshortmid: "∤", nshortparallel: "∦", nsim: "≁", nsime: "≄", nsimeq: "≄", nsmid: "∤", nspar: "∦", nsqsube: "⋢", nsqsupe: "⋣", nsub: "⊄", nsubE: "⫅̸", nsube: "⊈", nsubset: "⊂⃒", nsubseteq: "⊈", nsubseteqq: "⫅̸", nsucc: "⊁", nsucceq: "⪰̸", nsup: "⊅", nsupE: "⫆̸", nsupe: "⊉", nsupset: "⊃⃒", nsupseteq: "⊉", nsupseteqq: "⫆̸", ntgl: "≹", Ntilde: "Ñ", ntilde: "ñ", ntlg: "≸", ntriangleleft: "⋪", ntrianglelefteq: "⋬", ntriangleright: "⋫", ntrianglerighteq: "⋭", Nu: "Ν", nu: "ν", num: "#", numero: "№", numsp: " ", nvap: "≍⃒", nVDash: "⊯", nVdash: "⊮", nvDash: "⊭", nvdash: "⊬", nvge: "≥⃒", nvgt: ">⃒", nvHarr: "⤄", nvinfin: "⧞", nvlArr: "⤂", nvle: "≤⃒", nvlt: "<⃒", nvltrie: "⊴⃒", nvrArr: "⤃", nvrtrie: "⊵⃒", nvsim: "∼⃒", nwarhk: "⤣", nwArr: "⇖", nwarr: "↖", nwarrow: "↖", nwnear: "⤧", Oacute: "Ó", oacute: "ó", oast: "⊛", ocir: "⊚", Ocirc: "Ô", ocirc: "ô", Ocy: "О", ocy: "о", odash: "⊝", Odblac: "Ő", odblac: "ő", odiv: "⨸", odot: "⊙", odsold: "⦼", OElig: "Œ", oelig: "œ", ofcir: "⦿", Ofr: "𝔒", ofr: "𝔬", ogon: "˛", Ograve: "Ò", ograve: "ò", ogt: "⧁", ohbar: "⦵", ohm: "Ω", oint: "∮", olarr: "↺", olcir: "⦾", olcross: "⦻", oline: "‾", olt: "⧀", Omacr: "Ō", omacr: "ō", Omega: "Ω", omega: "ω", Omicron: "Ο", omicron: "ο", omid: "⦶", ominus: "⊖", Oopf: "𝕆", oopf: "𝕠", opar: "⦷", OpenCurlyDoubleQuote: "“", OpenCurlyQuote: "‘", operp: "⦹", oplus: "⊕", Or: "⩔", or: "∨", orarr: "↻", ord: "⩝", order: "ℴ", orderof: "ℴ", ordf: "ª", ordm: "º", origof: "⊶", oror: "⩖", orslope: "⩗", orv: "⩛", oS: "Ⓢ", Oscr: "𝒪", oscr: "ℴ", Oslash: "Ø", oslash: "ø", osol: "⊘", Otilde: "Õ", otilde: "õ", Otimes: "⨷", otimes: "⊗", otimesas: "⨶", Ouml: "Ö", ouml: "ö", ovbar: "⌽", OverBar: "‾", OverBrace: "⏞", OverBracket: "⎴", OverParenthesis: "⏜", par: "∥", para: "¶", parallel: "∥", parsim: "⫳", parsl: "⫽", part: "∂", PartialD: "∂", Pcy: "П", pcy: "п", percnt: "%", period: ".", permil: "‰", perp: "⊥", pertenk: "‱", Pfr: "𝔓", pfr: "𝔭", Phi: "Φ", phi: "φ", phiv: "ϕ", phmmat: "ℳ", phone: "☎", Pi: "Π", pi: "π", pitchfork: "⋔", piv: "ϖ", planck: "ℏ", planckh: "ℎ", plankv: "ℏ", plus: "+", plusacir: "⨣", plusb: "⊞", pluscir: "⨢", plusdo: "∔", plusdu: "⨥", pluse: "⩲", PlusMinus: "±", plusmn: "±", plussim: "⨦", plustwo: "⨧", pm: "±", Poincareplane: "ℌ", pointint: "⨕", Popf: "ℙ", popf: "𝕡", pound: "£", Pr: "⪻", pr: "≺", prap: "⪷", prcue: "≼", prE: "⪳", pre: "⪯", prec: "≺", precapprox: "⪷", preccurlyeq: "≼", Precedes: "≺", PrecedesEqual: "⪯", PrecedesSlantEqual: "≼", PrecedesTilde: "≾", preceq: "⪯", precnapprox: "⪹", precneqq: "⪵", precnsim: "⋨", precsim: "≾", Prime: "″", prime: "′", primes: "ℙ", prnap: "⪹", prnE: "⪵", prnsim: "⋨", prod: "∏", Product: "∏", profalar: "⌮", profline: "⌒", profsurf: "⌓", prop: "∝", Proportion: "∷", Proportional: "∝", propto: "∝", prsim: "≾", prurel: "⊰", Pscr: "𝒫", pscr: "𝓅", Psi: "Ψ", psi: "ψ", puncsp: " ", Qfr: "𝔔", qfr: "𝔮", qint: "⨌", Qopf: "ℚ", qopf: "𝕢", qprime: "⁗", Qscr: "𝒬", qscr: "𝓆", quaternions: "ℍ", quatint: "⨖", quest: "?", questeq: "≟", QUOT: '"', quot: '"', rAarr: "⇛", race: "∽̱", Racute: "Ŕ", racute: "ŕ", radic: "√", raemptyv: "⦳", Rang: "⟫", rang: "⟩", rangd: "⦒", range: "⦥", rangle: "⟩", raquo: "»", Rarr: "↠", rArr: "⇒", rarr: "→", rarrap: "⥵", rarrb: "⇥", rarrbfs: "⤠", rarrc: "⤳", rarrfs: "⤞", rarrhk: "↪", rarrlp: "↬", rarrpl: "⥅", rarrsim: "⥴", Rarrtl: "⤖", rarrtl: "↣", rarrw: "↝", rAtail: "⤜", ratail: "⤚", ratio: "∶", rationals: "ℚ", RBarr: "⤐", rBarr: "⤏", rbarr: "⤍", rbbrk: "❳", rbrace: "}", rbrack: "]", rbrke: "⦌", rbrksld: "⦎", rbrkslu: "⦐", Rcaron: "Ř", rcaron: "ř", Rcedil: "Ŗ", rcedil: "ŗ", rceil: "⌉", rcub: "}", Rcy: "Р", rcy: "р", rdca: "⤷", rdldhar: "⥩", rdquo: "”", rdquor: "”", rdsh: "↳", Re: "ℜ", real: "ℜ", realine: "ℛ", realpart: "ℜ", reals: "ℝ", rect: "▭", REG: "®", reg: "®", ReverseElement: "∋", ReverseEquilibrium: "⇋", ReverseUpEquilibrium: "⥯", rfisht: "⥽", rfloor: "⌋", Rfr: "ℜ", rfr: "𝔯", rHar: "⥤", rhard: "⇁", rharu: "⇀", rharul: "⥬", Rho: "Ρ", rho: "ρ", rhov: "ϱ", RightAngleBracket: "⟩", RightArrow: "→", Rightarrow: "⇒", rightarrow: "→", RightArrowBar: "⇥", RightArrowLeftArrow: "⇄", rightarrowtail: "↣", RightCeiling: "⌉", RightDoubleBracket: "⟧", RightDownTeeVector: "⥝", RightDownVector: "⇂", RightDownVectorBar: "⥕", RightFloor: "⌋", rightharpoondown: "⇁", rightharpoonup: "⇀", rightleftarrows: "⇄", rightleftharpoons: "⇌", rightrightarrows: "⇉", rightsquigarrow: "↝", RightTee: "⊢", RightTeeArrow: "↦", RightTeeVector: "⥛", rightthreetimes: "⋌", RightTriangle: "⊳", RightTriangleBar: "⧐", RightTriangleEqual: "⊵", RightUpDownVector: "⥏", RightUpTeeVector: "⥜", RightUpVector: "↾", RightUpVectorBar: "⥔", RightVector: "⇀", RightVectorBar: "⥓", ring: "˚", risingdotseq: "≓", rlarr: "⇄", rlhar: "⇌", rlm: "‏", rmoust: "⎱", rmoustache: "⎱", rnmid: "⫮", roang: "⟭", roarr: "⇾", robrk: "⟧", ropar: "⦆", Ropf: "ℝ", ropf: "𝕣", roplus: "⨮", rotimes: "⨵", RoundImplies: "⥰", rpar: ")", rpargt: "⦔", rppolint: "⨒", rrarr: "⇉", Rrightarrow: "⇛", rsaquo: "›", Rscr: "ℛ", rscr: "𝓇", Rsh: "↱", rsh: "↱", rsqb: "]", rsquo: "’", rsquor: "’", rthree: "⋌", rtimes: "⋊", rtri: "▹", rtrie: "⊵", rtrif: "▸", rtriltri: "⧎", RuleDelayed: "⧴", ruluhar: "⥨", rx: "℞", Sacute: "Ś", sacute: "ś", sbquo: "‚", Sc: "⪼", sc: "≻", scap: "⪸", Scaron: "Š", scaron: "š", sccue: "≽", scE: "⪴", sce: "⪰", Scedil: "Ş", scedil: "ş", Scirc: "Ŝ", scirc: "ŝ", scnap: "⪺", scnE: "⪶", scnsim: "⋩", scpolint: "⨓", scsim: "≿", Scy: "С", scy: "с", sdot: "⋅", sdotb: "⊡", sdote: "⩦", searhk: "⤥", seArr: "⇘", searr: "↘", searrow: "↘", sect: "§", semi: ";", seswar: "⤩", setminus: "∖", setmn: "∖", sext: "✶", Sfr: "𝔖", sfr: "𝔰", sfrown: "⌢", sharp: "♯", SHCHcy: "Щ", shchcy: "щ", SHcy: "Ш", shcy: "ш", ShortDownArrow: "↓", ShortLeftArrow: "←", shortmid: "∣", shortparallel: "∥", ShortRightArrow: "→", ShortUpArrow: "↑", shy: "­", Sigma: "Σ", sigma: "σ", sigmaf: "ς", sigmav: "ς", sim: "∼", simdot: "⩪", sime: "≃", simeq: "≃", simg: "⪞", simgE: "⪠", siml: "⪝", simlE: "⪟", simne: "≆", simplus: "⨤", simrarr: "⥲", slarr: "←", SmallCircle: "∘", smallsetminus: "∖", smashp: "⨳", smeparsl: "⧤", smid: "∣", smile: "⌣", smt: "⪪", smte: "⪬", smtes: "⪬︀", SOFTcy: "Ь", softcy: "ь", sol: "/", solb: "⧄", solbar: "⌿", Sopf: "𝕊", sopf: "𝕤", spades: "♠", spadesuit: "♠", spar: "∥", sqcap: "⊓", sqcaps: "⊓︀", sqcup: "⊔", sqcups: "⊔︀", Sqrt: "√", sqsub: "⊏", sqsube: "⊑", sqsubset: "⊏", sqsubseteq: "⊑", sqsup: "⊐", sqsupe: "⊒", sqsupset: "⊐", sqsupseteq: "⊒", squ: "□", Square: "□", square: "□", SquareIntersection: "⊓", SquareSubset: "⊏", SquareSubsetEqual: "⊑", SquareSuperset: "⊐", SquareSupersetEqual: "⊒", SquareUnion: "⊔", squarf: "▪", squf: "▪", srarr: "→", Sscr: "𝒮", sscr: "𝓈", ssetmn: "∖", ssmile: "⌣", sstarf: "⋆", Star: "⋆", star: "☆", starf: "★", straightepsilon: "ϵ", straightphi: "ϕ", strns: "¯", Sub: "⋐", sub: "⊂", subdot: "⪽", subE: "⫅", sube: "⊆", subedot: "⫃", submult: "⫁", subnE: "⫋", subne: "⊊", subplus: "⪿", subrarr: "⥹", Subset: "⋐", subset: "⊂", subseteq: "⊆", subseteqq: "⫅", SubsetEqual: "⊆", subsetneq: "⊊", subsetneqq: "⫋", subsim: "⫇", subsub: "⫕", subsup: "⫓", succ: "≻", succapprox: "⪸", succcurlyeq: "≽", Succeeds: "≻", SucceedsEqual: "⪰", SucceedsSlantEqual: "≽", SucceedsTilde: "≿", succeq: "⪰", succnapprox: "⪺", succneqq: "⪶", succnsim: "⋩", succsim: "≿", SuchThat: "∋", Sum: "∑", sum: "∑", sung: "♪", Sup: "⋑", sup: "⊃", sup1: "¹", sup2: "²", sup3: "³", supdot: "⪾", supdsub: "⫘", supE: "⫆", supe: "⊇", supedot: "⫄", Superset: "⊃", SupersetEqual: "⊇", suphsol: "⟉", suphsub: "⫗", suplarr: "⥻", supmult: "⫂", supnE: "⫌", supne: "⊋", supplus: "⫀", Supset: "⋑", supset: "⊃", supseteq: "⊇", supseteqq: "⫆", supsetneq: "⊋", supsetneqq: "⫌", supsim: "⫈", supsub: "⫔", supsup: "⫖", swarhk: "⤦", swArr: "⇙", swarr: "↙", swarrow: "↙", swnwar: "⤪", szlig: "ß", Tab: "	", target: "⌖", Tau: "Τ", tau: "τ", tbrk: "⎴", Tcaron: "Ť", tcaron: "ť", Tcedil: "Ţ", tcedil: "ţ", Tcy: "Т", tcy: "т", tdot: "⃛", telrec: "⌕", Tfr: "𝔗", tfr: "𝔱", there4: "∴", Therefore: "∴", therefore: "∴", Theta: "Θ", theta: "θ", thetasym: "ϑ", thetav: "ϑ", thickapprox: "≈", thicksim: "∼", ThickSpace: "  ", thinsp: " ", ThinSpace: " ", thkap: "≈", thksim: "∼", THORN: "Þ", thorn: "þ", Tilde: "∼", tilde: "˜", TildeEqual: "≃", TildeFullEqual: "≅", TildeTilde: "≈", times: "×", timesb: "⊠", timesbar: "⨱", timesd: "⨰", tint: "∭", toea: "⤨", top: "⊤", topbot: "⌶", topcir: "⫱", Topf: "𝕋", topf: "𝕥", topfork: "⫚", tosa: "⤩", tprime: "‴", TRADE: "™", trade: "™", triangle: "▵", triangledown: "▿", triangleleft: "◃", trianglelefteq: "⊴", triangleq: "≜", triangleright: "▹", trianglerighteq: "⊵", tridot: "◬", trie: "≜", triminus: "⨺", TripleDot: "⃛", triplus: "⨹", trisb: "⧍", tritime: "⨻", trpezium: "⏢", Tscr: "𝒯", tscr: "𝓉", TScy: "Ц", tscy: "ц", TSHcy: "Ћ", tshcy: "ћ", Tstrok: "Ŧ", tstrok: "ŧ", twixt: "≬", twoheadleftarrow: "↞", twoheadrightarrow: "↠", Uacute: "Ú", uacute: "ú", Uarr: "↟", uArr: "⇑", uarr: "↑", Uarrocir: "⥉", Ubrcy: "Ў", ubrcy: "ў", Ubreve: "Ŭ", ubreve: "ŭ", Ucirc: "Û", ucirc: "û", Ucy: "У", ucy: "у", udarr: "⇅", Udblac: "Ű", udblac: "ű", udhar: "⥮", ufisht: "⥾", Ufr: "𝔘", ufr: "𝔲", Ugrave: "Ù", ugrave: "ù", uHar: "⥣", uharl: "↿", uharr: "↾", uhblk: "▀", ulcorn: "⌜", ulcorner: "⌜", ulcrop: "⌏", ultri: "◸", Umacr: "Ū", umacr: "ū", uml: "¨", UnderBar: "_", UnderBrace: "⏟", UnderBracket: "⎵", UnderParenthesis: "⏝", Union: "⋃", UnionPlus: "⊎", Uogon: "Ų", uogon: "ų", Uopf: "𝕌", uopf: "𝕦", UpArrow: "↑", Uparrow: "⇑", uparrow: "↑", UpArrowBar: "⤒", UpArrowDownArrow: "⇅", UpDownArrow: "↕", Updownarrow: "⇕", updownarrow: "↕", UpEquilibrium: "⥮", upharpoonleft: "↿", upharpoonright: "↾", uplus: "⊎", UpperLeftArrow: "↖", UpperRightArrow: "↗", Upsi: "ϒ", upsi: "υ", upsih: "ϒ", Upsilon: "Υ", upsilon: "υ", UpTee: "⊥", UpTeeArrow: "↥", upuparrows: "⇈", urcorn: "⌝", urcorner: "⌝", urcrop: "⌎", Uring: "Ů", uring: "ů", urtri: "◹", Uscr: "𝒰", uscr: "𝓊", utdot: "⋰", Utilde: "Ũ", utilde: "ũ", utri: "▵", utrif: "▴", uuarr: "⇈", Uuml: "Ü", uuml: "ü", uwangle: "⦧", vangrt: "⦜", varepsilon: "ϵ", varkappa: "ϰ", varnothing: "∅", varphi: "ϕ", varpi: "ϖ", varpropto: "∝", vArr: "⇕", varr: "↕", varrho: "ϱ", varsigma: "ς", varsubsetneq: "⊊︀", varsubsetneqq: "⫋︀", varsupsetneq: "⊋︀", varsupsetneqq: "⫌︀", vartheta: "ϑ", vartriangleleft: "⊲", vartriangleright: "⊳", Vbar: "⫫", vBar: "⫨", vBarv: "⫩", Vcy: "В", vcy: "в", VDash: "⊫", Vdash: "⊩", vDash: "⊨", vdash: "⊢", Vdashl: "⫦", Vee: "⋁", vee: "∨", veebar: "⊻", veeeq: "≚", vellip: "⋮", Verbar: "‖", verbar: "|", Vert: "‖", vert: "|", VerticalBar: "∣", VerticalLine: "|", VerticalSeparator: "❘", VerticalTilde: "≀", VeryThinSpace: " ", Vfr: "𝔙", vfr: "𝔳", vltri: "⊲", vnsub: "⊂⃒", vnsup: "⊃⃒", Vopf: "𝕍", vopf: "𝕧", vprop: "∝", vrtri: "⊳", Vscr: "𝒱", vscr: "𝓋", vsubnE: "⫋︀", vsubne: "⊊︀", vsupnE: "⫌︀", vsupne: "⊋︀", Vvdash: "⊪", vzigzag: "⦚", Wcirc: "Ŵ", wcirc: "ŵ", wedbar: "⩟", Wedge: "⋀", wedge: "∧", wedgeq: "≙", weierp: "℘", Wfr: "𝔚", wfr: "𝔴", Wopf: "𝕎", wopf: "𝕨", wp: "℘", wr: "≀", wreath: "≀", Wscr: "𝒲", wscr: "𝓌", xcap: "⋂", xcirc: "◯", xcup: "⋃", xdtri: "▽", Xfr: "𝔛", xfr: "𝔵", xhArr: "⟺", xharr: "⟷", Xi: "Ξ", xi: "ξ", xlArr: "⟸", xlarr: "⟵", xmap: "⟼", xnis: "⋻", xodot: "⨀", Xopf: "𝕏", xopf: "𝕩", xoplus: "⨁", xotime: "⨂", xrArr: "⟹", xrarr: "⟶", Xscr: "𝒳", xscr: "𝓍", xsqcup: "⨆", xuplus: "⨄", xutri: "△", xvee: "⋁", xwedge: "⋀", Yacute: "Ý", yacute: "ý", YAcy: "Я", yacy: "я", Ycirc: "Ŷ", ycirc: "ŷ", Ycy: "Ы", ycy: "ы", yen: "¥", Yfr: "𝔜", yfr: "𝔶", YIcy: "Ї", yicy: "ї", Yopf: "𝕐", yopf: "𝕪", Yscr: "𝒴", yscr: "𝓎", YUcy: "Ю", yucy: "ю", Yuml: "Ÿ", yuml: "ÿ", Zacute: "Ź", zacute: "ź", Zcaron: "Ž", zcaron: "ž", Zcy: "З", zcy: "з", Zdot: "Ż", zdot: "ż", zeetrf: "ℨ", ZeroWidthSpace: "​", Zeta: "Ζ", zeta: "ζ", Zfr: "ℨ", zfr: "𝔷", ZHcy: "Ж", zhcy: "ж", zigrarr: "⇝", Zopf: "ℤ", zopf: "𝕫", Zscr: "𝒵", zscr: "𝓏", zwj: "‍", zwnj: "‌" }), t2.entityMap = t2.HTML_ENTITIES;
    }, function(e2, t2, r2) {
      var n2 = r2(1).NAMESPACE, a = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/, i = new RegExp("[\\-\\.0-9" + a.source.slice(1, -1) + "\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"), o2 = new RegExp("^" + a.source + i.source + "*(?::" + a.source + i.source + "*)?$"), s2 = 0, c = 1, l = 2, p2 = 3, u = 4, d = 5, f2 = 6, m2 = 7;
      function h(e3, t3) {
        this.message = e3, this.locator = t3, Error.captureStackTrace && Error.captureStackTrace(this, h);
      }
      function g() {
      }
      function v(e3, t3) {
        return t3.lineNumber = e3.lineNumber, t3.columnNumber = e3.columnNumber, t3;
      }
      function y(e3, t3, r3, a2, i2, o3) {
        function h2(e4, t4, n3) {
          r3.attributeNames.hasOwnProperty(e4) && o3.fatalError("Attribute " + e4 + " redefined"), r3.addValue(e4, t4.replace(/[\t\n\r]/g, " ").replace(/&#?\w+;/g, i2), n3);
        }
        for (var g2, v2 = ++t3, y2 = s2; ; ) {
          var x2 = e3.charAt(v2);
          switch (x2) {
            case "=":
              if (y2 === c)
                g2 = e3.slice(t3, v2), y2 = p2;
              else {
                if (y2 !== l)
                  throw new Error("attribute equal must after attrName");
                y2 = p2;
              }
              break;
            case "'":
            case '"':
              if (y2 === p2 || y2 === c) {
                if (y2 === c && (o3.warning('attribute value must after "="'), g2 = e3.slice(t3, v2)), t3 = v2 + 1, !((v2 = e3.indexOf(x2, t3)) > 0))
                  throw new Error("attribute value no end '" + x2 + "' match");
                h2(g2, b2 = e3.slice(t3, v2), t3 - 1), y2 = d;
              } else {
                if (y2 != u)
                  throw new Error('attribute value must after "="');
                h2(g2, b2 = e3.slice(t3, v2), t3), o3.warning('attribute "' + g2 + '" missed start quot(' + x2 + ")!!"), t3 = v2 + 1, y2 = d;
              }
              break;
            case "/":
              switch (y2) {
                case s2:
                  r3.setTagName(e3.slice(t3, v2));
                case d:
                case f2:
                case m2:
                  y2 = m2, r3.closed = true;
                case u:
                case c:
                  break;
                case l:
                  r3.closed = true;
                  break;
                default:
                  throw new Error("attribute invalid close char('/')");
              }
              break;
            case "":
              return o3.error("unexpected end of input"), y2 == s2 && r3.setTagName(e3.slice(t3, v2)), v2;
            case ">":
              switch (y2) {
                case s2:
                  r3.setTagName(e3.slice(t3, v2));
                case d:
                case f2:
                case m2:
                  break;
                case u:
                case c:
                  "/" === (b2 = e3.slice(t3, v2)).slice(-1) && (r3.closed = true, b2 = b2.slice(0, -1));
                case l:
                  y2 === l && (b2 = g2), y2 == u ? (o3.warning('attribute "' + b2 + '" missed quot(")!'), h2(g2, b2, t3)) : (n2.isHTML(a2[""]) && b2.match(/^(?:disabled|checked|selected)$/i) || o3.warning('attribute "' + b2 + '" missed value!! "' + b2 + '" instead!!'), h2(b2, b2, t3));
                  break;
                case p2:
                  throw new Error("attribute value missed!!");
              }
              return v2;
            case "":
              x2 = " ";
            default:
              if (x2 <= " ")
                switch (y2) {
                  case s2:
                    r3.setTagName(e3.slice(t3, v2)), y2 = f2;
                    break;
                  case c:
                    g2 = e3.slice(t3, v2), y2 = l;
                    break;
                  case u:
                    var b2 = e3.slice(t3, v2);
                    o3.warning('attribute "' + b2 + '" missed quot(")!!'), h2(g2, b2, t3);
                  case d:
                    y2 = f2;
                }
              else
                switch (y2) {
                  case l:
                    r3.tagName;
                    n2.isHTML(a2[""]) && g2.match(/^(?:disabled|checked|selected)$/i) || o3.warning('attribute "' + g2 + '" missed value!! "' + g2 + '" instead2!!'), h2(g2, g2, t3), t3 = v2, y2 = c;
                    break;
                  case d:
                    o3.warning('attribute space is required"' + g2 + '"!!');
                  case f2:
                    y2 = c, t3 = v2;
                    break;
                  case p2:
                    y2 = u, t3 = v2;
                    break;
                  case m2:
                    throw new Error("elements closed character '/' and '>' must be connected to");
                }
          }
          v2++;
        }
      }
      function x(e3, t3, r3) {
        for (var a2 = e3.tagName, i2 = null, o3 = e3.length; o3--; ) {
          var s3 = e3[o3], c2 = s3.qName, l2 = s3.value;
          if ((f3 = c2.indexOf(":")) > 0)
            var p3 = s3.prefix = c2.slice(0, f3), u2 = c2.slice(f3 + 1), d2 = "xmlns" === p3 && u2;
          else
            u2 = c2, p3 = null, d2 = "xmlns" === c2 && "";
          s3.localName = u2, false !== d2 && (null == i2 && (i2 = {}, w(r3, r3 = {})), r3[d2] = i2[d2] = l2, s3.uri = n2.XMLNS, t3.startPrefixMapping(d2, l2));
        }
        for (o3 = e3.length; o3--; ) {
          (p3 = (s3 = e3[o3]).prefix) && ("xml" === p3 && (s3.uri = n2.XML), "xmlns" !== p3 && (s3.uri = r3[p3 || ""]));
        }
        var f3;
        (f3 = a2.indexOf(":")) > 0 ? (p3 = e3.prefix = a2.slice(0, f3), u2 = e3.localName = a2.slice(f3 + 1)) : (p3 = null, u2 = e3.localName = a2);
        var m3 = e3.uri = r3[p3 || ""];
        if (t3.startElement(m3, u2, a2, e3), !e3.closed)
          return e3.currentNSMap = r3, e3.localNSMap = i2, true;
        if (t3.endElement(m3, u2, a2), i2)
          for (p3 in i2)
            Object.prototype.hasOwnProperty.call(i2, p3) && t3.endPrefixMapping(p3);
      }
      function b(e3, t3, r3, n3, a2) {
        if (/^(?:script|textarea)$/i.test(r3)) {
          var i2 = e3.indexOf("</" + r3 + ">", t3), o3 = e3.substring(t3 + 1, i2);
          if (/[&<]/.test(o3))
            return /^script$/i.test(r3) ? (a2.characters(o3, 0, o3.length), i2) : (o3 = o3.replace(/&#?\w+;/g, n3), a2.characters(o3, 0, o3.length), i2);
        }
        return t3 + 1;
      }
      function k(e3, t3, r3, n3) {
        var a2 = n3[r3];
        return null == a2 && ((a2 = e3.lastIndexOf("</" + r3 + ">")) < t3 && (a2 = e3.lastIndexOf("</" + r3)), n3[r3] = a2), a2 < t3;
      }
      function w(e3, t3) {
        for (var r3 in e3)
          Object.prototype.hasOwnProperty.call(e3, r3) && (t3[r3] = e3[r3]);
      }
      function C(e3, t3, r3, n3) {
        if ("-" === e3.charAt(t3 + 2))
          return "-" === e3.charAt(t3 + 3) ? (a2 = e3.indexOf("-->", t3 + 4)) > t3 ? (r3.comment(e3, t3 + 4, a2 - t3 - 4), a2 + 3) : (n3.error("Unclosed comment"), -1) : -1;
        if ("CDATA[" == e3.substr(t3 + 3, 6)) {
          var a2 = e3.indexOf("]]>", t3 + 9);
          return r3.startCDATA(), r3.characters(e3, t3 + 9, a2 - t3 - 9), r3.endCDATA(), a2 + 3;
        }
        var i2 = function(e4, t4) {
          var r4, n4 = [], a3 = /'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;
          a3.lastIndex = t4, a3.exec(e4);
          for (; r4 = a3.exec(e4); )
            if (n4.push(r4), r4[1])
              return n4;
        }(e3, t3), o3 = i2.length;
        if (o3 > 1 && /!doctype/i.test(i2[0][0])) {
          var s3 = i2[1][0], c2 = false, l2 = false;
          o3 > 3 && (/^public$/i.test(i2[2][0]) ? (c2 = i2[3][0], l2 = o3 > 4 && i2[4][0]) : /^system$/i.test(i2[2][0]) && (l2 = i2[3][0]));
          var p3 = i2[o3 - 1];
          return r3.startDTD(s3, c2, l2), r3.endDTD(), p3.index + p3[0].length;
        }
        return -1;
      }
      function S(e3, t3, r3) {
        var n3 = e3.indexOf("?>", t3);
        if (n3) {
          var a2 = e3.substring(t3, n3).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);
          if (a2) {
            a2[0].length;
            return r3.processingInstruction(a2[1], a2[2]), n3 + 2;
          }
          return -1;
        }
        return -1;
      }
      function T() {
        this.attributeNames = {};
      }
      h.prototype = new Error(), h.prototype.name = h.name, g.prototype = { parse: function(e3, t3, r3) {
        var a2 = this.domBuilder;
        a2.startDocument(), w(t3, t3 = {}), function(e4, t4, r4, a3, i2) {
          function o3(e5) {
            if (e5 > 65535) {
              var t5 = 55296 + ((e5 -= 65536) >> 10), r5 = 56320 + (1023 & e5);
              return String.fromCharCode(t5, r5);
            }
            return String.fromCharCode(e5);
          }
          function s3(e5) {
            var t5 = e5.slice(1, -1);
            return Object.hasOwnProperty.call(r4, t5) ? r4[t5] : "#" === t5.charAt(0) ? o3(parseInt(t5.substr(1).replace("x", "0x"))) : (i2.error("entity not found:" + e5), e5);
          }
          function c2(t5) {
            if (t5 > w2) {
              var r5 = e4.substring(w2, t5).replace(/&#?\w+;/g, s3);
              f3 && l2(w2), a3.characters(r5, 0, t5 - w2), w2 = t5;
            }
          }
          function l2(t5, r5) {
            for (; t5 >= u2 && (r5 = d2.exec(e4)); )
              p3 = r5.index, u2 = p3 + r5[0].length, f3.lineNumber++;
            f3.columnNumber = t5 - p3 + 1;
          }
          var p3 = 0, u2 = 0, d2 = /.*(?:\r\n?|\n)|.*$/g, f3 = a3.locator, m3 = [{ currentNSMap: t4 }], g2 = {}, w2 = 0;
          for (; ; ) {
            try {
              var E2 = e4.indexOf("<", w2);
              if (E2 < 0) {
                if (!e4.substr(w2).match(/^\s*$/)) {
                  var R = a3.doc, A = R.createTextNode(e4.substr(w2));
                  R.appendChild(A), a3.currentElement = A;
                }
                return;
              }
              switch (E2 > w2 && c2(E2), e4.charAt(E2 + 1)) {
                case "/":
                  var _ = e4.indexOf(">", E2 + 3), B = e4.substring(E2 + 2, _).replace(/[ \t\n\r]+$/g, ""), N = m3.pop();
                  _ < 0 ? (B = e4.substring(E2 + 2).replace(/[\s<].*/, ""), i2.error("end tag name: " + B + " is not complete:" + N.tagName), _ = E2 + 1 + B.length) : B.match(/\s</) && (B = B.replace(/[\s<].*/, ""), i2.error("end tag name: " + B + " maybe not complete"), _ = E2 + 1 + B.length);
                  var O = N.localNSMap, D = N.tagName == B;
                  if (D || N.tagName && N.tagName.toLowerCase() == B.toLowerCase()) {
                    if (a3.endElement(N.uri, N.localName, B), O)
                      for (var P in O)
                        Object.prototype.hasOwnProperty.call(O, P) && a3.endPrefixMapping(P);
                    D || i2.fatalError("end tag name: " + B + " is not match the current start tagName:" + N.tagName);
                  } else
                    m3.push(N);
                  _++;
                  break;
                case "?":
                  f3 && l2(E2), _ = S(e4, E2, a3);
                  break;
                case "!":
                  f3 && l2(E2), _ = C(e4, E2, a3, i2);
                  break;
                default:
                  f3 && l2(E2);
                  var I = new T(), L = m3[m3.length - 1].currentNSMap, j = (_ = y(e4, E2, I, L, s3, i2), I.length);
                  if (!I.closed && k(e4, _, I.tagName, g2) && (I.closed = true, r4.nbsp || i2.warning("unclosed xml attribute")), f3 && j) {
                    for (var U = v(f3, {}), q = 0; q < j; q++) {
                      var M = I[q];
                      l2(M.offset), M.locator = v(f3, {});
                    }
                    a3.locator = U, x(I, a3, L) && m3.push(I), a3.locator = f3;
                  } else
                    x(I, a3, L) && m3.push(I);
                  n2.isHTML(I.uri) && !I.closed ? _ = b(e4, _, I.tagName, s3, a3) : _++;
              }
            } catch (e5) {
              if (e5 instanceof h)
                throw e5;
              i2.error("element parse error: " + e5), _ = -1;
            }
            _ > w2 ? w2 = _ : c2(Math.max(E2, w2) + 1);
          }
        }(e3, t3, r3, a2, this.errorHandler), a2.endDocument();
      } }, T.prototype = { setTagName: function(e3) {
        if (!o2.test(e3))
          throw new Error("invalid tagName:" + e3);
        this.tagName = e3;
      }, addValue: function(e3, t3, r3) {
        if (!o2.test(e3))
          throw new Error("invalid attribute:" + e3);
        this.attributeNames[e3] = this.length, this[this.length++] = { qName: e3, value: t3, offset: r3 };
      }, length: 0, getLocalName: function(e3) {
        return this[e3].localName;
      }, getLocator: function(e3) {
        return this[e3].locator;
      }, getQName: function(e3) {
        return this[e3].qName;
      }, getURI: function(e3) {
        return this[e3].uri;
      }, getValue: function(e3) {
        return this[e3].value;
      } }, t2.XMLReader = g, t2.ParseError = h;
    }, function(e2, t2) {
      function r2(e3) {
        return r2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e4) {
          return typeof e4;
        } : function(e4) {
          return e4 && "function" == typeof Symbol && e4.constructor === Symbol && e4 !== Symbol.prototype ? "symbol" : typeof e4;
        }, r2(e3);
      }
      var n2 = "a-zA-Z_À-ÖØ-öø-ÿͰ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿿、-퟿豈-﷏ﷰ-�", a = new RegExp("^([^" + n2 + "])|^((x|X)(m|M)(l|L))|([^" + n2 + "-.0-9·̀-ͯ‿⁀])", "g"), i = /[^\x09\x0A\x0D\x20-\xFF\x85\xA0-\uD7FF\uE000-\uFDCF\uFDE0-\uFFFD]/gm, o2 = function(e3) {
        var t3 = [];
        if (e3 instanceof Object)
          for (var r3 in e3)
            e3.hasOwnProperty(r3) && t3.push(r3);
        return t3;
      }, s2 = function(e3, t3) {
        var n3 = function(e4, r3, n4, i2, o3) {
          var s3 = void 0 !== t3.indent ? t3.indent : "	", c2 = t3.prettyPrint ? "\n" + new Array(i2).join(s3) : "";
          t3.removeIllegalNameCharacters && (e4 = e4.replace(a, "_"));
          var l = [c2, "<", e4, n4 || ""];
          return r3 && r3.length > 0 ? (l.push(">"), l.push(r3), o3 && l.push(c2), l.push("</"), l.push(e4), l.push(">")) : l.push("/>"), l.join("");
        };
        return function e4(a2, s3, c2) {
          var l = r2(a2);
          switch ((Array.isArray ? Array.isArray(a2) : a2 instanceof Array) ? l = "array" : a2 instanceof Date && (l = "date"), l) {
            case "array":
              var p2 = [];
              return a2.map(function(t4) {
                p2.push(e4(t4, 1, c2 + 1));
              }), t3.prettyPrint && p2.push("\n"), p2.join("");
            case "date":
              return a2.toJSON ? a2.toJSON() : a2 + "";
            case "object":
              var u = [];
              for (var d in a2)
                if (a2.hasOwnProperty(d))
                  if (a2[d] instanceof Array)
                    for (var f2 in a2[d])
                      a2[d].hasOwnProperty(f2) && u.push(n3(d, e4(a2[d][f2], 0, c2 + 1), null, c2 + 1, o2(a2[d][f2]).length));
                  else
                    u.push(n3(d, e4(a2[d], 0, c2 + 1), null, c2 + 1));
              return t3.prettyPrint && u.length > 0 && u.push("\n"), u.join("");
            case "function":
              return a2();
            default:
              return t3.escape ? ("" + a2).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/'/g, "&apos;").replace(/"/g, "&quot;").replace(i, "") : "" + a2;
          }
        }(e3, 0, 0);
      }, c = function(e3) {
        var t3 = ['<?xml version="1.0" encoding="UTF-8"'];
        return e3 && t3.push(' standalone="yes"'), t3.push("?>"), t3.join("");
      };
      e2.exports = function(e3, t3) {
        if (t3 || (t3 = { xmlHeader: { standalone: true }, prettyPrint: true, indent: "  " }), "string" == typeof e3)
          try {
            e3 = JSON.parse(e3.toString());
          } catch (e4) {
            return false;
          }
        var n3 = "", a2 = "";
        return t3 && ("object" == r2(t3) ? (t3.xmlHeader && (n3 = c(!!t3.xmlHeader.standalone)), void 0 !== t3.docType && (a2 = "<!DOCTYPE " + t3.docType + ">")) : n3 = c()), [n3, (t3 = t3 || {}).prettyPrint && a2 ? "\n" : "", a2, s2(e3, t3)].join("").replace(/\n{2,}/g, "\n").replace(/\s+$/g, "");
      };
    }, function(e2, t2) {
      var r2 = function(e3) {
        var t3 = (e3 = e3 || {}).Base64, r3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", n2 = function(e4) {
          for (var t4 = {}, r4 = 0, n3 = e4.length; r4 < n3; r4++)
            t4[e4.charAt(r4)] = r4;
          return t4;
        }(r3), a = String.fromCharCode, i = function(e4) {
          if (e4.length < 2)
            return (t4 = e4.charCodeAt(0)) < 128 ? e4 : t4 < 2048 ? a(192 | t4 >>> 6) + a(128 | 63 & t4) : a(224 | t4 >>> 12 & 15) + a(128 | t4 >>> 6 & 63) + a(128 | 63 & t4);
          var t4 = 65536 + 1024 * (e4.charCodeAt(0) - 55296) + (e4.charCodeAt(1) - 56320);
          return a(240 | t4 >>> 18 & 7) + a(128 | t4 >>> 12 & 63) + a(128 | t4 >>> 6 & 63) + a(128 | 63 & t4);
        }, o2 = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g, s2 = function(e4) {
          return e4.replace(o2, i);
        }, c = function(e4) {
          var t4 = [0, 2, 1][e4.length % 3], n3 = e4.charCodeAt(0) << 16 | (e4.length > 1 ? e4.charCodeAt(1) : 0) << 8 | (e4.length > 2 ? e4.charCodeAt(2) : 0);
          return [r3.charAt(n3 >>> 18), r3.charAt(n3 >>> 12 & 63), t4 >= 2 ? "=" : r3.charAt(n3 >>> 6 & 63), t4 >= 1 ? "=" : r3.charAt(63 & n3)].join("");
        }, l = e3.btoa ? function(t4) {
          return e3.btoa(t4);
        } : function(e4) {
          return e4.replace(/[\s\S]{1,3}/g, c);
        }, p2 = function(e4) {
          return l(s2(e4));
        }, u = function(e4, t4) {
          return t4 ? p2(String(e4)).replace(/[+\/]/g, function(e5) {
            return "+" == e5 ? "-" : "_";
          }).replace(/=/g, "") : p2(String(e4));
        }, d = new RegExp(["[À-ß][-¿]", "[à-ï][-¿]{2}", "[ð-÷][-¿]{3}"].join("|"), "g"), f2 = function(e4) {
          switch (e4.length) {
            case 4:
              var t4 = ((7 & e4.charCodeAt(0)) << 18 | (63 & e4.charCodeAt(1)) << 12 | (63 & e4.charCodeAt(2)) << 6 | 63 & e4.charCodeAt(3)) - 65536;
              return a(55296 + (t4 >>> 10)) + a(56320 + (1023 & t4));
            case 3:
              return a((15 & e4.charCodeAt(0)) << 12 | (63 & e4.charCodeAt(1)) << 6 | 63 & e4.charCodeAt(2));
            default:
              return a((31 & e4.charCodeAt(0)) << 6 | 63 & e4.charCodeAt(1));
          }
        }, m2 = function(e4) {
          return e4.replace(d, f2);
        }, h = function(e4) {
          var t4 = e4.length, r4 = t4 % 4, i2 = (t4 > 0 ? n2[e4.charAt(0)] << 18 : 0) | (t4 > 1 ? n2[e4.charAt(1)] << 12 : 0) | (t4 > 2 ? n2[e4.charAt(2)] << 6 : 0) | (t4 > 3 ? n2[e4.charAt(3)] : 0), o3 = [a(i2 >>> 16), a(i2 >>> 8 & 255), a(255 & i2)];
          return o3.length -= [0, 0, 2, 1][r4], o3.join("");
        }, g = e3.atob ? function(t4) {
          return e3.atob(t4);
        } : function(e4) {
          return e4.replace(/[\s\S]{1,4}/g, h);
        }, v = function(e4) {
          return m2(g(e4));
        }, y = function(e4) {
          return v(String(e4).replace(/[-_]/g, function(e5) {
            return "-" == e5 ? "+" : "/";
          }).replace(/[^A-Za-z0-9\+\/]/g, ""));
        };
        return { VERSION: "2.1.9", atob: g, btoa: l, fromBase64: y, toBase64: u, utob: s2, encode: u, encodeURI: function(e4) {
          return u(e4, true);
        }, btou: m2, decode: y, noConflict: function() {
          var r4 = e3.Base64;
          return e3.Base64 = t3, r4;
        } };
      }();
      e2.exports = r2;
    }, function(e2, t2, r2) {
      var n2 = r2(6), a = r2(0), i = {};
      e2.exports.transferToTaskMethod = function(e3, t3) {
        i[t3] = e3[t3], e3[t3] = function(e4, r3) {
          e4.SkipTask ? i[t3].call(this, e4, r3) : this._addTask(t3, e4, r3);
        };
      }, e2.exports.init = function(e3) {
        var t3, r3, o2 = [], s2 = {}, c = 0, l = 0, p2 = function(e4) {
          var t4 = { id: e4.id, Bucket: e4.Bucket, Region: e4.Region, Key: e4.Key, FilePath: e4.FilePath, state: e4.state, loaded: e4.loaded, size: e4.size, speed: e4.speed, percent: e4.percent, hashPercent: e4.hashPercent, error: e4.error };
          return e4.FilePath && (t4.FilePath = e4.FilePath), t4;
        }, u = (r3 = function() {
          t3 = 0, e3.emit("task-list-update", { list: a.map(o2, p2) }), e3.emit("list-update", { list: a.map(o2, p2) });
        }, function() {
          t3 || (t3 = setTimeout(r3));
        }), d = function() {
          if (!(o2.length <= e3.options.UploadQueueSize)) {
            for (var t4 = 0; t4 < l && t4 < o2.length && o2.length > e3.options.UploadQueueSize; ) {
              var r4 = "waiting" === o2[t4].state || "checking" === o2[t4].state || "uploading" === o2[t4].state;
              o2[t4] && r4 ? t4++ : (s2[o2[t4].id] && delete s2[o2[t4].id], o2.splice(t4, 1), l--);
            }
            u();
          }
        }, f2 = function t4() {
          if (!(c >= e3.options.FileParallelLimit)) {
            for (; o2[l] && "waiting" !== o2[l].state; )
              l++;
            if (!(l >= o2.length)) {
              var r4 = o2[l];
              l++, c++, r4.state = "checking", r4.params.onTaskStart && r4.params.onTaskStart(p2(r4)), !r4.params.UploadData && (r4.params.UploadData = {});
              var n3 = a.formatParams(r4.api, r4.params);
              i[r4.api].call(e3, n3, function(n4, a2) {
                e3._isRunningTask(r4.id) && ("checking" !== r4.state && "uploading" !== r4.state || (r4.state = n4 ? "error" : "success", n4 && (r4.error = n4), c--, u(), t4(), r4.callback && r4.callback(n4, a2), "success" === r4.state && (r4.params && (delete r4.params.UploadData, delete r4.params.Body, delete r4.params), delete r4.callback)), d());
              }), u(), setTimeout(t4);
            }
          }
        }, m2 = function(t4, r4) {
          var a2 = s2[t4];
          if (a2) {
            var i2 = a2 && "waiting" === a2.state, o3 = a2 && ("checking" === a2.state || "uploading" === a2.state);
            if ("canceled" === r4 && "canceled" !== a2.state || "paused" === r4 && i2 || "paused" === r4 && o3) {
              if ("paused" === r4 && a2.params.Body && "function" == typeof a2.params.Body.pipe)
                return;
              a2.state = r4, e3.emit("inner-kill-task", { TaskId: t4, toState: r4 });
              try {
                var l2 = a2 && a2.params && a2.params.UploadData.UploadId;
              } catch (e4) {
              }
              "canceled" === r4 && l2 && n2.removeUsing(l2), u(), o3 && (c--, f2()), "canceled" === r4 && (a2.params && (delete a2.params.UploadData, delete a2.params.Body, delete a2.params), delete a2.callback);
            }
            d();
          }
        };
        e3._addTasks = function(t4) {
          a.each(t4, function(t5) {
            e3._addTask(t5.api, t5.params, t5.callback, true);
          }), u();
        }, e3._addTask = function(t4, r4, n3, i2) {
          var c2 = "postObject" === e3.options.SimpleUploadMethod ? "postObject" : "putObject";
          "sliceUploadFile" !== t4 || a.canFileSlice() || (t4 = c2), r4 = a.formatParams(t4, r4);
          var l2 = a.uuid();
          r4.TaskId = l2, r4.onTaskReady && r4.onTaskReady(l2);
          var p3 = { params: r4, callback: n3, api: t4, index: o2.length, id: l2, Bucket: r4.Bucket, Region: r4.Region, Key: r4.Key, FilePath: r4.FilePath || "", state: "waiting", loaded: 0, size: 0, speed: 0, percent: 0, hashPercent: 0, error: null }, m3 = r4.onHashProgress;
          r4.onHashProgress = function(t5) {
            e3._isRunningTask(p3.id) && (p3.hashPercent = t5.percent, m3 && m3(t5), u());
          };
          var h = r4.onProgress;
          return r4.onProgress = function(t5) {
            e3._isRunningTask(p3.id) && ("checking" === p3.state && (p3.state = "uploading"), p3.loaded = t5.loaded, p3.size = t5.total, p3.speed = t5.speed, p3.percent = t5.percent, h && h(t5), u());
          }, a.getFileSize(t4, r4, function(e4, t5) {
            e4 ? n3(e4) : (s2[l2] = p3, o2.push(p3), p3.size = t5, !i2 && u(), f2(), d());
          }), l2;
        }, e3._isRunningTask = function(e4) {
          var t4 = s2[e4];
          return !(!t4 || "checking" !== t4.state && "uploading" !== t4.state);
        }, e3.getTaskList = function() {
          return a.map(o2, p2);
        }, e3.cancelTask = function(e4) {
          m2(e4, "canceled");
        }, e3.pauseTask = function(e4) {
          m2(e4, "paused");
        }, e3.restartTask = function(e4) {
          var t4 = s2[e4];
          !t4 || "paused" !== t4.state && "error" !== t4.state || (t4.state = "waiting", u(), l = Math.min(l, t4.index), f2());
        }, e3.isUploadRunning = function() {
          return c || l < o2.length;
        };
      };
    }, function(e2, t2, r2) {
      var n2 = r2(22), a = r2(0), i = r2(23);
      function o2(e3) {
        var t3 = { GrantFullControl: [], GrantWrite: [], GrantRead: [], GrantReadAcp: [], GrantWriteAcp: [], ACL: "" }, r3 = { FULL_CONTROL: "GrantFullControl", WRITE: "GrantWrite", READ: "GrantRead", READ_ACP: "GrantReadAcp", WRITE_ACP: "GrantWriteAcp" }, n3 = (e3 && e3.AccessControlList || {}).Grant;
        n3 && (n3 = a.isArray(n3) ? n3 : [n3]);
        var i2 = { READ: 0, WRITE: 0, FULL_CONTROL: 0 };
        return n3 && n3.length && a.each(n3, function(n4) {
          "qcs::cam::anyone:anyone" === n4.Grantee.ID || "http://cam.qcloud.com/groups/global/AllUsers" === n4.Grantee.URI ? i2[n4.Permission] = 1 : n4.Grantee.ID !== e3.Owner.ID && t3[r3[n4.Permission]].push('id="' + n4.Grantee.ID + '"');
        }), i2.FULL_CONTROL || i2.WRITE && i2.READ ? t3.ACL = "public-read-write" : i2.READ ? t3.ACL = "public-read" : t3.ACL = "private", a.each(r3, function(e4) {
          t3[e4] = s2(t3[e4].join(","));
        }), t3;
      }
      function s2(e3) {
        var t3, r3, n3 = e3.split(","), a2 = {};
        for (t3 = 0; t3 < n3.length; )
          a2[r3 = n3[t3].trim()] ? n3.splice(t3, 1) : (a2[r3] = true, n3[t3] = r3, t3++);
        return n3.join(",");
      }
      function c(e3) {
        var t3 = e3.bucket, r3 = t3.substr(0, t3.lastIndexOf("-")), n3 = t3.substr(t3.lastIndexOf("-") + 1), i2 = e3.domain, o3 = e3.region, s3 = e3.object;
        i2 || (i2 = ["cn-south", "cn-south-2", "cn-north", "cn-east", "cn-southwest", "sg"].indexOf(o3) > -1 ? "{Region}.myqcloud.com" : "cos.{Region}.myqcloud.com", e3.ForcePathStyle || (i2 = "{Bucket}." + i2)), i2 = (i2 = i2.replace(/\{\{AppId\}\}/gi, n3).replace(/\{\{Bucket\}\}/gi, r3).replace(/\{\{Region\}\}/gi, o3).replace(/\{\{.*?\}\}/gi, "")).replace(/\{AppId\}/gi, n3).replace(/\{BucketName\}/gi, r3).replace(/\{Bucket\}/gi, t3).replace(/\{Region\}/gi, o3).replace(/\{.*?\}/gi, ""), /^[a-zA-Z]+:\/\//.test(i2) || (i2 = "https://" + i2), "/" === i2.slice(-1) && (i2 = i2.slice(0, -1));
        var c2 = i2;
        return e3.ForcePathStyle && (c2 += "/" + t3), c2 += "/", s3 && (c2 += a.camSafeUrlEncode(s3).replace(/%2F/g, "/")), e3.isLocation && (c2 = c2.replace(/^https?:\/\//, "")), c2;
      }
      var l = function(e3) {
        if (!e3.Bucket || !e3.Region)
          return "";
        var t3 = void 0 === e3.UseAccelerate ? this.options.UseAccelerate : e3.UseAccelerate;
        return (e3.Url || c({ ForcePathStyle: this.options.ForcePathStyle, protocol: this.options.Protocol, domain: this.options.Domain, bucket: e3.Bucket, region: t3 ? "accelerate" : e3.Region })).replace(/^https?:\/\/([^/]+)(\/.*)?$/, "$1");
      };
      function p2(e3, t3) {
        var r3 = a.clone(e3.Headers), n3 = "";
        a.each(r3, function(e4, t4) {
          ("" === e4 || ["content-type", "cache-control"].indexOf(t4.toLowerCase()) > -1) && delete r3[t4], "host" === t4.toLowerCase() && (n3 = e4);
        });
        var i2 = false !== e3.ForceSignHost;
        !n3 && e3.SignHost && i2 && (r3.Host = e3.SignHost);
        var o3 = false, s3 = function(e4, r4) {
          o3 || (o3 = true, r4 && r4.XCosSecurityToken && !r4.SecurityToken && ((r4 = a.clone(r4)).SecurityToken = r4.XCosSecurityToken, delete r4.XCosSecurityToken), t3 && t3(e4, r4));
        }, c2 = this, l2 = e3.Bucket || "", p3 = e3.Region || "", u2 = "name/cos:PostObject" !== e3.Action && e3.Key ? e3.Key : "";
        c2.options.ForcePathStyle && l2 && (u2 = l2 + "/" + u2);
        var d2 = "/" + u2, f3 = {}, m3 = e3.Scope;
        if (!m3) {
          var h2 = e3.Action || "", g = e3.ResourceKey || e3.Key || "";
          m3 = e3.Scope || [{ action: h2, bucket: l2, region: p3, prefix: g }];
        }
        var v = a.md5(JSON.stringify(m3));
        c2._StsCache = c2._StsCache || [], function() {
          var e4, t4;
          for (e4 = c2._StsCache.length - 1; e4 >= 0; e4--) {
            t4 = c2._StsCache[e4];
            var r4 = Math.round(a.getSkewTime(c2.options.SystemClockOffset) / 1e3) + 30;
            if (t4.StartTime && r4 < t4.StartTime || r4 >= t4.ExpiredTime)
              c2._StsCache.splice(e4, 1);
            else if (!t4.ScopeLimit || t4.ScopeLimit && t4.ScopeKey === v) {
              f3 = t4;
              break;
            }
          }
        }();
        var y, x = function() {
          var t4 = "";
          f3.StartTime && e3.Expires ? t4 = f3.StartTime + ";" + (f3.StartTime + 1 * e3.Expires) : f3.StartTime && f3.ExpiredTime && (t4 = f3.StartTime + ";" + f3.ExpiredTime);
          var n4 = { Authorization: a.getAuth({ SecretId: f3.TmpSecretId, SecretKey: f3.TmpSecretKey, Method: e3.Method, Pathname: d2, Query: e3.Query, Headers: r3, Expires: e3.Expires, SystemClockOffset: c2.options.SystemClockOffset, KeyTime: t4, ForceSignHost: i2 }), SecurityToken: f3.SecurityToken || f3.XCosSecurityToken || "", Token: f3.Token || "", ClientIP: f3.ClientIP || "", ClientUA: f3.ClientUA || "", SignFrom: "client" };
          s3(null, n4);
        }, b = function(e4) {
          if (e4.Authorization) {
            var t4 = false, r4 = e4.Authorization;
            if (r4)
              if (r4.indexOf(" ") > -1)
                t4 = false;
              else if (r4.indexOf("q-sign-algorithm=") > -1 && r4.indexOf("q-ak=") > -1 && r4.indexOf("q-sign-time=") > -1 && r4.indexOf("q-key-time=") > -1 && r4.indexOf("q-url-param-list=") > -1)
                t4 = true;
              else
                try {
                  (r4 = atob(r4)).indexOf("a=") > -1 && r4.indexOf("k=") > -1 && r4.indexOf("t=") > -1 && r4.indexOf("r=") > -1 && r4.indexOf("b=") > -1 && (t4 = true);
                } catch (e5) {
                }
            if (!t4)
              return a.error(new Error("getAuthorization callback params format error"));
          } else {
            if (!e4.TmpSecretId)
              return a.error(new Error('getAuthorization callback params missing "TmpSecretId"'));
            if (!e4.TmpSecretKey)
              return a.error(new Error('getAuthorization callback params missing "TmpSecretKey"'));
            if (!e4.SecurityToken && !e4.XCosSecurityToken)
              return a.error(new Error('getAuthorization callback params missing "SecurityToken"'));
            if (!e4.ExpiredTime)
              return a.error(new Error('getAuthorization callback params missing "ExpiredTime"'));
            if (e4.ExpiredTime && 10 !== e4.ExpiredTime.toString().length)
              return a.error(new Error('getAuthorization callback params "ExpiredTime" should be 10 digits'));
            if (e4.StartTime && 10 !== e4.StartTime.toString().length)
              return a.error(new Error('getAuthorization callback params "StartTime" should be 10 StartTime'));
          }
          return false;
        };
        if (f3.ExpiredTime && f3.ExpiredTime - a.getSkewTime(c2.options.SystemClockOffset) / 1e3 > 60)
          x();
        else if (c2.options.getAuthorization)
          c2.options.getAuthorization.call(c2, { Bucket: l2, Region: p3, Method: e3.Method, Key: u2, Pathname: d2, Query: e3.Query, Headers: r3, Scope: m3, SystemClockOffset: c2.options.SystemClockOffset, ForceSignHost: i2 }, function(e4) {
            "string" == typeof e4 && (e4 = { Authorization: e4 });
            var t4 = b(e4);
            if (t4)
              return s3(t4);
            e4.Authorization ? s3(null, e4) : ((f3 = e4 || {}).Scope = m3, f3.ScopeKey = v, c2._StsCache.push(f3), x());
          });
        else {
          if (!c2.options.getSTS)
            return y = { Authorization: a.getAuth({ SecretId: e3.SecretId || c2.options.SecretId, SecretKey: e3.SecretKey || c2.options.SecretKey, Method: e3.Method, Pathname: d2, Query: e3.Query, Headers: r3, Expires: e3.Expires, SystemClockOffset: c2.options.SystemClockOffset, ForceSignHost: i2 }), SecurityToken: c2.options.SecurityToken || c2.options.XCosSecurityToken, SignFrom: "client" }, s3(null, y), y;
          c2.options.getSTS.call(c2, { Bucket: l2, Region: p3 }, function(e4) {
            (f3 = e4 || {}).Scope = m3, f3.ScopeKey = v, f3.TmpSecretId || (f3.TmpSecretId = f3.SecretId), f3.TmpSecretKey || (f3.TmpSecretKey = f3.SecretKey);
            var t4 = b(f3);
            if (t4)
              return s3(t4);
            c2._StsCache.push(f3), x();
          });
        }
        return "";
      }
      function u(e3) {
        var t3 = false, r3 = false, n3 = false, i2 = e3.headers && (e3.headers.date || e3.headers.Date) || e3.error && e3.error.ServerTime;
        try {
          var o3 = e3.error.Code, s3 = e3.error.Message;
          ("RequestTimeTooSkewed" === o3 || "AccessDenied" === o3 && "Request has expired" === s3) && (n3 = true);
        } catch (e4) {
        }
        if (e3) {
          if (n3 && i2) {
            var c2 = Date.parse(i2);
            this.options.CorrectClockSkew && Math.abs(a.getSkewTime(this.options.SystemClockOffset) - c2) >= 3e4 && (this.options.SystemClockOffset = c2 - Date.now(), t3 = true);
          } else
            5 === Math.floor(e3.statusCode / 100) && (t3 = true);
          if (e3.statusCode) {
            var l2 = Math.floor(e3.statusCode / 100), p3 = (null == e3 ? void 0 : e3.headers) && (null == e3 ? void 0 : e3.headers["x-cos-request-id"]);
            [3, 4, 5].includes(l2) && !p3 && (t3 = this.options.AutoSwitchHost, r3 = true);
          } else
            t3 = this.options.AutoSwitchHost, r3 = true;
        }
        return { canRetry: t3, networkError: r3 };
      }
      function d(e3) {
        var t3 = e3.requestUrl, r3 = e3.clientCalcSign, n3 = e3.networkError;
        if (!this.options.AutoSwitchHost)
          return false;
        if (!t3)
          return false;
        if (!r3)
          return false;
        if (!n3)
          return false;
        return /^https?:\/\/[^\/]*\.cos\.[^\/]*\.myqcloud\.com(\/.*)?$/.test(t3) && !/^https?:\/\/[^\/]*\.cos\.accelerate\.myqcloud\.com(\/.*)?$/.test(t3);
      }
      function f2(e3, t3) {
        var r3 = this;
        !e3.headers && (e3.headers = {}), !e3.qs && (e3.qs = {}), e3.VersionId && (e3.qs.versionId = e3.VersionId), e3.qs = a.clearKey(e3.qs), e3.headers && (e3.headers = a.clearKey(e3.headers)), e3.qs && (e3.qs = a.clearKey(e3.qs));
        var n3 = a.clone(e3.qs);
        e3.action && (n3[e3.action] = "");
        var i2 = e3.url || e3.Url, o3 = e3.SignHost || l.call(this, { Bucket: e3.Bucket, Region: e3.Region, Url: i2 }), s3 = e3.tracker;
        !function a2(i3) {
          var c2 = r3.options.SystemClockOffset;
          e3.SwitchHost && (o3 = o3.replace(/myqcloud.com/, "tencentcos.cn")), s3 && s3.setParams({ signStartTime: (/* @__PURE__ */ new Date()).getTime(), httpRetryTimes: i3 - 1 }), p2.call(r3, { Bucket: e3.Bucket || "", Region: e3.Region || "", Method: e3.method, Key: e3.Key, Query: n3, Headers: e3.headers, SignHost: o3, Action: e3.Action, ResourceKey: e3.ResourceKey, Scope: e3.Scope, ForceSignHost: r3.options.ForceSignHost }, function(n4, o4) {
            n4 ? t3(n4) : (s3 && s3.setParams({ signEndTime: (/* @__PURE__ */ new Date()).getTime(), httpStartTime: (/* @__PURE__ */ new Date()).getTime() }), e3.AuthData = o4, m2.call(r3, e3, function(n5, l2) {
              var p3 = false, f3 = false;
              if (n5) {
                var m3 = u.call(r3, n5);
                p3 = m3.canRetry || c2 !== r3.options.SystemClockOffset, f3 = m3.networkError;
              }
              if (s3 && s3.setParams({ httpEndTime: (/* @__PURE__ */ new Date()).getTime() }), n5 && i3 < 2 && p3) {
                e3.headers && (delete e3.headers.Authorization, delete e3.headers.token, delete e3.headers.clientIP, delete e3.headers.clientUA, e3.headers["x-cos-security-token"] && delete e3.headers["x-cos-security-token"], e3.headers["x-ci-security-token"] && delete e3.headers["x-ci-security-token"]);
                var h2 = d.call(r3, { requestUrl: (null == n5 ? void 0 : n5.url) || "", clientCalcSign: "client" === (null == o4 ? void 0 : o4.SignFrom), networkError: f3 });
                e3.SwitchHost = h2, a2(i3 + 1);
              } else
                t3(n5, l2);
            }));
          });
        }(1);
      }
      function m2(e3, t3) {
        var r3 = this, i2 = e3.TaskId;
        if (!i2 || r3._isRunningTask(i2)) {
          var o3 = e3.Bucket, s3 = e3.Region, l2 = e3.Key, p3 = e3.method || "GET", u2 = e3.url || e3.Url, d2 = e3.body, f3 = e3.json, m3 = e3.rawBody, h2 = e3.dataType, g = r3.options.HttpDNSServiceId;
          r3.options.UseAccelerate && (s3 = "accelerate"), u2 = u2 || c({ ForcePathStyle: r3.options.ForcePathStyle, protocol: r3.options.Protocol, domain: r3.options.Domain, bucket: o3, region: s3, object: l2 }), e3.SwitchHost && (u2 = u2.replace(/myqcloud.com/, "tencentcos.cn"));
          var v = l2 ? u2 : "";
          e3.action && (u2 = u2 + "?" + e3.action), e3.qsStr && (u2 = u2.indexOf("?") > -1 ? u2 + "&" + e3.qsStr : u2 + "?" + e3.qsStr);
          var y = { method: p3, url: u2, headers: e3.headers, qs: e3.qs, filePath: e3.filePath, body: d2, json: f3, httpDNSServiceId: g, dataType: h2 }, x = "x-cos-security-token";
          a.isCIHost(u2) && (x = "x-ci-security-token"), y.headers.Authorization = e3.AuthData.Authorization, e3.AuthData.Token && (y.headers.token = e3.AuthData.Token), e3.AuthData.ClientIP && (y.headers.clientIP = e3.AuthData.ClientIP), e3.AuthData.ClientUA && (y.headers.clientUA = e3.AuthData.ClientUA), e3.AuthData.SecurityToken && (y.headers[x] = e3.AuthData.SecurityToken), y.headers && (y.headers = a.clearKey(y.headers)), y = a.clearKey(y), e3.onProgress && "function" == typeof e3.onProgress && (y.onProgress = function(t4) {
            if (!i2 || r3._isRunningTask(i2)) {
              var n3 = t4 ? t4.loaded : 0;
              e3.onProgress({ loaded: n3, total: t4.total });
            }
          }), this.options.Timeout && (y.timeout = this.options.Timeout), r3.options.ForcePathStyle && (y.pathStyle = r3.options.ForcePathStyle), r3.emit("before-send", y);
          var b, k = y.url.includes("accelerate."), w = y.qs ? Object.keys(y.qs).map(function(e4) {
            return "".concat(e4, "=").concat(y.qs[e4]);
          }).join("&") : "", C = w ? y.url + "?" + w : y.url;
          if (e3.tracker)
            e3.tracker.setParams({ url: C, httpMethod: y.method, accelerate: k, httpSize: (null === (b = y.body) || void 0 === b ? void 0 : b.size) || 0 }), e3.tracker.parent && !e3.tracker.parent.params.url && e3.tracker.parent.setParams({ url: v, accelerate: k });
          var S = n2(y, function(e4, n3, o4) {
            if ("abort" !== e4) {
              var s4, c2 = function(e5, o5) {
                if (i2 && r3.off("inner-kill-task", T), !s4) {
                  s4 = true;
                  var c3 = {};
                  n3 && n3.statusCode && (c3.statusCode = n3.statusCode), n3 && n3.headers && (c3.headers = n3.headers), e5 ? (y.url && (c3.url = y.url), y.method && (c3.method = y.method), e5 = a.extend(e5 || {}, c3), t3(e5, null)) : (o5 = a.extend(o5 || {}, c3), t3(null, o5)), S = null;
                }
              };
              if (e4)
                c2({ error: e4 });
              else {
                var l3;
                if (m3)
                  (l3 = {}).body = o4;
                else
                  try {
                    l3 = o4 && o4.indexOf("<") > -1 && o4.indexOf(">") > -1 && a.xml2json(o4) || {};
                  } catch (e5) {
                    l3 = o4 || {};
                  }
                var p4 = n3.statusCode;
                2 === Math.floor(p4 / 100) ? l3.Error ? c2({ error: l3.Error }) : c2(null, l3) : c2({ error: l3.Error || l3 });
              }
            }
          }), T = function e4(t4) {
            t4.TaskId === i2 && (S && S.abort && S.abort(), r3.off("inner-kill-task", e4));
          };
          i2 && r3.on("inner-kill-task", T);
        }
      }
      var h = { getService: function(e3, t3) {
        "function" == typeof e3 && (t3 = e3, e3 = {});
        var r3 = "https:", n3 = this.options.ServiceDomain, i2 = e3.Region;
        n3 ? (n3 = n3.replace(/\{\{Region\}\}/gi, i2 || "").replace(/\{\{.*?\}\}/gi, ""), /^[a-zA-Z]+:\/\//.test(n3) || (n3 = r3 + "//" + n3), "/" === n3.slice(-1) && (n3 = n3.slice(0, -1))) : n3 = i2 ? r3 + "//cos." + i2 + ".myqcloud.com" : r3 + "//service.cos.myqcloud.com";
        n3.replace(/^https?:\/\/([^/]+)(\/.*)?$/, "$1"), f2.call(this, { Action: "name/cos:GetService", url: n3, method: "GET", headers: e3.Headers, tracker: e3.tracker }, function(e4, r4) {
          if (e4)
            return t3(e4);
          var n4 = r4 && r4.ListAllMyBucketsResult && r4.ListAllMyBucketsResult.Buckets && r4.ListAllMyBucketsResult.Buckets.Bucket || [];
          n4 = a.isArray(n4) ? n4 : [n4];
          var i3 = r4 && r4.ListAllMyBucketsResult && r4.ListAllMyBucketsResult.Owner || {};
          t3(null, { Buckets: n4, Owner: i3, statusCode: r4.statusCode, headers: r4.headers });
        });
      }, putBucket: function(e3, t3) {
        var r3 = this, n3 = "";
        if (e3.BucketAZConfig) {
          var i2 = { BucketAZConfig: e3.BucketAZConfig };
          n3 = a.json2xml({ CreateBucketConfiguration: i2 });
        }
        f2.call(this, { Action: "name/cos:PutBucket", method: "PUT", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, body: n3, tracker: e3.tracker }, function(n4, a2) {
          if (n4)
            return t3(n4);
          var i3 = c({ protocol: r3.options.Protocol, domain: r3.options.Domain, bucket: e3.Bucket, region: e3.Region, isLocation: true });
          t3(null, { Location: i3, statusCode: a2.statusCode, headers: a2.headers });
        });
      }, headBucket: function(e3, t3) {
        f2.call(this, { Action: "name/cos:HeadBucket", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, method: "HEAD", tracker: e3.tracker }, function(e4, r3) {
          t3(e4, r3);
        });
      }, getBucket: function(e3, t3) {
        var r3 = {};
        r3.prefix = e3.Prefix || "", r3.delimiter = e3.Delimiter, r3.marker = e3.Marker, r3["max-keys"] = e3.MaxKeys, r3["encoding-type"] = e3.EncodingType, f2.call(this, { Action: "name/cos:GetBucket", ResourceKey: r3.prefix, method: "GET", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, qs: r3, tracker: e3.tracker }, function(e4, r4) {
          if (e4)
            return t3(e4);
          var n3 = r4.ListBucketResult || {}, i2 = n3.Contents || [], o3 = n3.CommonPrefixes || [];
          i2 = a.isArray(i2) ? i2 : [i2], o3 = a.isArray(o3) ? o3 : [o3];
          var s3 = a.clone(n3);
          a.extend(s3, { Contents: i2, CommonPrefixes: o3, statusCode: r4.statusCode, headers: r4.headers }), t3(null, s3);
        });
      }, deleteBucket: function(e3, t3) {
        f2.call(this, { Action: "name/cos:DeleteBucket", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, method: "DELETE", tracker: e3.tracker }, function(e4, r3) {
          return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r3.statusCode, headers: r3.headers });
        });
      }, putBucketAcl: function(e3, t3) {
        var r3 = e3.Headers, n3 = "";
        if (e3.AccessControlPolicy) {
          var i2 = a.clone(e3.AccessControlPolicy || {}), o3 = i2.Grants || i2.Grant;
          o3 = a.isArray(o3) ? o3 : [o3], delete i2.Grant, delete i2.Grants, i2.AccessControlList = { Grant: o3 }, n3 = a.json2xml({ AccessControlPolicy: i2 }), r3["Content-Type"] = "application/xml", r3["Content-MD5"] = a.binaryBase64(a.md5(n3));
        }
        a.each(r3, function(e4, t4) {
          0 === t4.indexOf("x-cos-grant-") && (r3[t4] = s2(r3[t4]));
        }), f2.call(this, { Action: "name/cos:PutBucketACL", method: "PUT", Bucket: e3.Bucket, Region: e3.Region, headers: r3, action: "acl", body: n3, tracker: e3.tracker }, function(e4, r4) {
          if (e4)
            return t3(e4);
          t3(null, { statusCode: r4.statusCode, headers: r4.headers });
        });
      }, getBucketAcl: function(e3, t3) {
        f2.call(this, { Action: "name/cos:GetBucketACL", method: "GET", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "acl", tracker: e3.tracker }, function(e4, r3) {
          if (e4)
            return t3(e4);
          var n3 = r3.AccessControlPolicy || {}, i2 = n3.Owner || {}, s3 = n3.AccessControlList.Grant || [];
          s3 = a.isArray(s3) ? s3 : [s3];
          var c2 = o2(n3);
          r3.headers && r3.headers["x-cos-acl"] && (c2.ACL = r3.headers["x-cos-acl"]), c2 = a.extend(c2, { Owner: i2, Grants: s3, statusCode: r3.statusCode, headers: r3.headers }), t3(null, c2);
        });
      }, putBucketCors: function(e3, t3) {
        var r3 = (e3.CORSConfiguration || {}).CORSRules || e3.CORSRules || [];
        r3 = a.clone(a.isArray(r3) ? r3 : [r3]), a.each(r3, function(e4) {
          a.each(["AllowedOrigin", "AllowedHeader", "AllowedMethod", "ExposeHeader"], function(t4) {
            var r4 = t4 + "s", n4 = e4[r4] || e4[t4] || [];
            delete e4[r4], e4[t4] = a.isArray(n4) ? n4 : [n4];
          });
        });
        var n3 = { CORSRule: r3 };
        e3.ResponseVary && (n3.ResponseVary = e3.ResponseVary);
        var i2 = a.json2xml({ CORSConfiguration: n3 }), o3 = e3.Headers;
        o3["Content-Type"] = "application/xml", o3["Content-MD5"] = a.binaryBase64(a.md5(i2)), f2.call(this, { Action: "name/cos:PutBucketCORS", method: "PUT", Bucket: e3.Bucket, Region: e3.Region, body: i2, action: "cors", headers: o3, tracker: e3.tracker }, function(e4, r4) {
          if (e4)
            return t3(e4);
          t3(null, { statusCode: r4.statusCode, headers: r4.headers });
        });
      }, getBucketCors: function(e3, t3) {
        f2.call(this, { Action: "name/cos:GetBucketCORS", method: "GET", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "cors", tracker: e3.tracker }, function(e4, r3) {
          if (e4)
            if (404 === e4.statusCode && e4.error && "NoSuchCORSConfiguration" === e4.error.Code) {
              var n3 = { CORSRules: [], statusCode: e4.statusCode };
              e4.headers && (n3.headers = e4.headers), t3(null, n3);
            } else
              t3(e4);
          else {
            var i2 = r3.CORSConfiguration || {}, o3 = i2.CORSRules || i2.CORSRule || [];
            o3 = a.clone(a.isArray(o3) ? o3 : [o3]);
            var s3 = i2.ResponseVary;
            a.each(o3, function(e5) {
              a.each(["AllowedOrigin", "AllowedHeader", "AllowedMethod", "ExposeHeader"], function(t4) {
                var r4 = t4 + "s", n4 = e5[r4] || e5[t4] || [];
                delete e5[t4], e5[r4] = a.isArray(n4) ? n4 : [n4];
              });
            }), t3(null, { CORSRules: o3, ResponseVary: s3, statusCode: r3.statusCode, headers: r3.headers });
          }
        });
      }, deleteBucketCors: function(e3, t3) {
        f2.call(this, { Action: "name/cos:DeleteBucketCORS", method: "DELETE", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "cors", tracker: e3.tracker }, function(e4, r3) {
          return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r3.statusCode || e4.statusCode, headers: r3.headers });
        });
      }, getBucketLocation: function(e3, t3) {
        f2.call(this, { Action: "name/cos:GetBucketLocation", method: "GET", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "location", tracker: e3.tracker }, function(e4, r3) {
          if (e4)
            return t3(e4);
          t3(null, r3);
        });
      }, getBucketPolicy: function(e3, t3) {
        f2.call(this, { Action: "name/cos:GetBucketPolicy", method: "GET", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "policy", rawBody: true, tracker: e3.tracker }, function(e4, r3) {
          if (e4)
            return e4.statusCode && 403 === e4.statusCode ? t3({ ErrorStatus: "Access Denied" }) : e4.statusCode && 405 === e4.statusCode ? t3({ ErrorStatus: "Method Not Allowed" }) : e4.statusCode && 404 === e4.statusCode ? t3({ ErrorStatus: "Policy Not Found" }) : t3(e4);
          var n3 = {};
          try {
            n3 = JSON.parse(r3.body);
          } catch (e5) {
          }
          t3(null, { Policy: n3, statusCode: r3.statusCode, headers: r3.headers });
        });
      }, putBucketPolicy: function(e3, t3) {
        var r3 = e3.Policy, n3 = r3;
        try {
          "string" == typeof r3 ? r3 = JSON.parse(n3) : n3 = JSON.stringify(r3);
        } catch (e4) {
          t3({ error: "Policy format error" });
        }
        var i2 = e3.Headers;
        i2["Content-Type"] = "application/json", i2["Content-MD5"] = a.binaryBase64(a.md5(n3)), f2.call(this, { Action: "name/cos:PutBucketPolicy", method: "PUT", Bucket: e3.Bucket, Region: e3.Region, action: "policy", body: n3, headers: i2, json: true, tracker: e3.tracker }, function(e4, r4) {
          return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r4.statusCode, headers: r4.headers });
        });
      }, deleteBucketPolicy: function(e3, t3) {
        f2.call(this, { Action: "name/cos:DeleteBucketPolicy", method: "DELETE", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "policy", tracker: e3.tracker }, function(e4, r3) {
          return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r3.statusCode || e4.statusCode, headers: r3.headers });
        });
      }, putBucketTagging: function(e3, t3) {
        var r3 = e3.Tagging || {}, n3 = r3.TagSet || r3.Tags || e3.Tags || [];
        n3 = a.clone(a.isArray(n3) ? n3 : [n3]);
        var i2 = a.json2xml({ Tagging: { TagSet: { Tag: n3 } } }), o3 = e3.Headers;
        o3["Content-Type"] = "application/xml", o3["Content-MD5"] = a.binaryBase64(a.md5(i2)), f2.call(this, { Action: "name/cos:PutBucketTagging", method: "PUT", Bucket: e3.Bucket, Region: e3.Region, body: i2, action: "tagging", headers: o3, tracker: e3.tracker }, function(e4, r4) {
          return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r4.statusCode, headers: r4.headers });
        });
      }, getBucketTagging: function(e3, t3) {
        f2.call(this, { Action: "name/cos:GetBucketTagging", method: "GET", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "tagging", tracker: e3.tracker }, function(e4, r3) {
          if (e4)
            if (404 !== e4.statusCode || !e4.error || "Not Found" !== e4.error && "NoSuchTagSet" !== e4.error.Code)
              t3(e4);
            else {
              var n3 = { Tags: [], statusCode: e4.statusCode };
              e4.headers && (n3.headers = e4.headers), t3(null, n3);
            }
          else {
            var i2 = [];
            try {
              i2 = r3.Tagging.TagSet.Tag || [];
            } catch (e5) {
            }
            i2 = a.clone(a.isArray(i2) ? i2 : [i2]), t3(null, { Tags: i2, statusCode: r3.statusCode, headers: r3.headers });
          }
        });
      }, deleteBucketTagging: function(e3, t3) {
        f2.call(this, { Action: "name/cos:DeleteBucketTagging", method: "DELETE", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "tagging", tracker: e3.tracker }, function(e4, r3) {
          return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r3.statusCode, headers: r3.headers });
        });
      }, putBucketLifecycle: function(e3, t3) {
        var r3 = (e3.LifecycleConfiguration || {}).Rules || e3.Rules || [];
        r3 = a.clone(r3);
        var n3 = a.json2xml({ LifecycleConfiguration: { Rule: r3 } }), i2 = e3.Headers;
        i2["Content-Type"] = "application/xml", i2["Content-MD5"] = a.binaryBase64(a.md5(n3)), f2.call(this, { Action: "name/cos:PutBucketLifecycle", method: "PUT", Bucket: e3.Bucket, Region: e3.Region, body: n3, action: "lifecycle", headers: i2, tracker: e3.tracker }, function(e4, r4) {
          return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r4.statusCode, headers: r4.headers });
        });
      }, getBucketLifecycle: function(e3, t3) {
        f2.call(this, { Action: "name/cos:GetBucketLifecycle", method: "GET", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "lifecycle", tracker: e3.tracker }, function(e4, r3) {
          if (e4)
            if (404 === e4.statusCode && e4.error && "NoSuchLifecycleConfiguration" === e4.error.Code) {
              var n3 = { Rules: [], statusCode: e4.statusCode };
              e4.headers && (n3.headers = e4.headers), t3(null, n3);
            } else
              t3(e4);
          else {
            var i2 = [];
            try {
              i2 = r3.LifecycleConfiguration.Rule || [];
            } catch (e5) {
            }
            i2 = a.clone(a.isArray(i2) ? i2 : [i2]), t3(null, { Rules: i2, statusCode: r3.statusCode, headers: r3.headers });
          }
        });
      }, deleteBucketLifecycle: function(e3, t3) {
        f2.call(this, { Action: "name/cos:DeleteBucketLifecycle", method: "DELETE", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "lifecycle", tracker: e3.tracker }, function(e4, r3) {
          return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r3.statusCode, headers: r3.headers });
        });
      }, putBucketVersioning: function(e3, t3) {
        if (e3.VersioningConfiguration) {
          var r3 = e3.VersioningConfiguration || {}, n3 = a.json2xml({ VersioningConfiguration: r3 }), i2 = e3.Headers;
          i2["Content-Type"] = "application/xml", i2["Content-MD5"] = a.binaryBase64(a.md5(n3)), f2.call(this, { Action: "name/cos:PutBucketVersioning", method: "PUT", Bucket: e3.Bucket, Region: e3.Region, body: n3, action: "versioning", headers: i2, tracker: e3.tracker }, function(e4, r4) {
            return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r4.statusCode, headers: r4.headers });
          });
        } else
          t3({ error: "missing param VersioningConfiguration" });
      }, getBucketVersioning: function(e3, t3) {
        f2.call(this, { Action: "name/cos:GetBucketVersioning", method: "GET", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "versioning", tracker: e3.tracker }, function(e4, r3) {
          e4 || !r3.VersioningConfiguration && (r3.VersioningConfiguration = {}), t3(e4, r3);
        });
      }, putBucketReplication: function(e3, t3) {
        var r3 = a.clone(e3.ReplicationConfiguration), n3 = a.json2xml({ ReplicationConfiguration: r3 });
        n3 = (n3 = n3.replace(/<(\/?)Rules>/gi, "<$1Rule>")).replace(/<(\/?)Tags>/gi, "<$1Tag>");
        var i2 = e3.Headers;
        i2["Content-Type"] = "application/xml", i2["Content-MD5"] = a.binaryBase64(a.md5(n3)), f2.call(this, { Action: "name/cos:PutBucketReplication", method: "PUT", Bucket: e3.Bucket, Region: e3.Region, body: n3, action: "replication", headers: i2, tracker: e3.tracker }, function(e4, r4) {
          return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r4.statusCode, headers: r4.headers });
        });
      }, getBucketReplication: function(e3, t3) {
        f2.call(this, { Action: "name/cos:GetBucketReplication", method: "GET", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "replication", tracker: e3.tracker }, function(e4, r3) {
          if (e4)
            if (404 !== e4.statusCode || !e4.error || "Not Found" !== e4.error && "ReplicationConfigurationnotFoundError" !== e4.error.Code)
              t3(e4);
            else {
              var n3 = { ReplicationConfiguration: { Rules: [] }, statusCode: e4.statusCode };
              e4.headers && (n3.headers = e4.headers), t3(null, n3);
            }
          else
            e4 || !r3.ReplicationConfiguration && (r3.ReplicationConfiguration = {}), r3.ReplicationConfiguration.Rule && (r3.ReplicationConfiguration.Rules = r3.ReplicationConfiguration.Rule, delete r3.ReplicationConfiguration.Rule), t3(e4, r3);
        });
      }, deleteBucketReplication: function(e3, t3) {
        f2.call(this, { Action: "name/cos:DeleteBucketReplication", method: "DELETE", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "replication", tracker: e3.tracker }, function(e4, r3) {
          return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r3.statusCode, headers: r3.headers });
        });
      }, putBucketWebsite: function(e3, t3) {
        if (e3.WebsiteConfiguration) {
          var r3 = a.clone(e3.WebsiteConfiguration || {}), n3 = r3.RoutingRules || r3.RoutingRule || [];
          n3 = a.isArray(n3) ? n3 : [n3], delete r3.RoutingRule, delete r3.RoutingRules, n3.length && (r3.RoutingRules = { RoutingRule: n3 });
          var i2 = a.json2xml({ WebsiteConfiguration: r3 }), o3 = e3.Headers;
          o3["Content-Type"] = "application/xml", o3["Content-MD5"] = a.binaryBase64(a.md5(i2)), f2.call(this, { Action: "name/cos:PutBucketWebsite", method: "PUT", Bucket: e3.Bucket, Region: e3.Region, body: i2, action: "website", headers: o3, tracker: e3.tracker }, function(e4, r4) {
            return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r4.statusCode, headers: r4.headers });
          });
        } else
          t3({ error: "missing param WebsiteConfiguration" });
      }, getBucketWebsite: function(e3, t3) {
        f2.call(this, { Action: "name/cos:GetBucketWebsite", method: "GET", Bucket: e3.Bucket, Region: e3.Region, Key: e3.Key, headers: e3.Headers, action: "website", tracker: e3.tracker }, function(e4, r3) {
          if (e4)
            if (404 === e4.statusCode && "NoSuchWebsiteConfiguration" === e4.error.Code) {
              var n3 = { WebsiteConfiguration: {}, statusCode: e4.statusCode };
              e4.headers && (n3.headers = e4.headers), t3(null, n3);
            } else
              t3(e4);
          else {
            var i2 = r3.WebsiteConfiguration || {};
            if (i2.RoutingRules) {
              var o3 = a.clone(i2.RoutingRules.RoutingRule || []);
              o3 = a.makeArray(o3), i2.RoutingRules = o3;
            }
            t3(null, { WebsiteConfiguration: i2, statusCode: r3.statusCode, headers: r3.headers });
          }
        });
      }, deleteBucketWebsite: function(e3, t3) {
        f2.call(this, { Action: "name/cos:DeleteBucketWebsite", method: "DELETE", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "website", tracker: e3.tracker }, function(e4, r3) {
          return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r3.statusCode, headers: r3.headers });
        });
      }, putBucketReferer: function(e3, t3) {
        if (e3.RefererConfiguration) {
          var r3 = a.clone(e3.RefererConfiguration || {}), n3 = r3.DomainList || {}, i2 = n3.Domains || n3.Domain || [];
          (i2 = a.isArray(i2) ? i2 : [i2]).length && (r3.DomainList = { Domain: i2 });
          var o3 = a.json2xml({ RefererConfiguration: r3 }), s3 = e3.Headers;
          s3["Content-Type"] = "application/xml", s3["Content-MD5"] = a.binaryBase64(a.md5(o3)), f2.call(this, { Action: "name/cos:PutBucketReferer", method: "PUT", Bucket: e3.Bucket, Region: e3.Region, body: o3, action: "referer", headers: s3, tracker: e3.tracker }, function(e4, r4) {
            return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r4.statusCode, headers: r4.headers });
          });
        } else
          t3({ error: "missing param RefererConfiguration" });
      }, getBucketReferer: function(e3, t3) {
        f2.call(this, { Action: "name/cos:GetBucketReferer", method: "GET", Bucket: e3.Bucket, Region: e3.Region, Key: e3.Key, headers: e3.Headers, action: "referer", tracker: e3.tracker }, function(e4, r3) {
          if (e4)
            if (404 === e4.statusCode && "NoSuchRefererConfiguration" === e4.error.Code) {
              var n3 = { WebsiteConfiguration: {}, statusCode: e4.statusCode };
              e4.headers && (n3.headers = e4.headers), t3(null, n3);
            } else
              t3(e4);
          else {
            var i2 = r3.RefererConfiguration || {};
            if (i2.DomainList) {
              var o3 = a.makeArray(i2.DomainList.Domain || []);
              i2.DomainList = { Domains: o3 };
            }
            t3(null, { RefererConfiguration: i2, statusCode: r3.statusCode, headers: r3.headers });
          }
        });
      }, putBucketDomain: function(e3, t3) {
        var r3 = (e3.DomainConfiguration || {}).DomainRule || e3.DomainRule || [];
        r3 = a.clone(r3);
        var n3 = a.json2xml({ DomainConfiguration: { DomainRule: r3 } }), i2 = e3.Headers;
        i2["Content-Type"] = "application/xml", i2["Content-MD5"] = a.binaryBase64(a.md5(n3)), f2.call(this, { Action: "name/cos:PutBucketDomain", method: "PUT", Bucket: e3.Bucket, Region: e3.Region, body: n3, action: "domain", headers: i2, tracker: e3.tracker }, function(e4, r4) {
          return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r4.statusCode, headers: r4.headers });
        });
      }, getBucketDomain: function(e3, t3) {
        f2.call(this, { Action: "name/cos:GetBucketDomain", method: "GET", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "domain", tracker: e3.tracker }, function(e4, r3) {
          if (e4)
            return t3(e4);
          var n3 = [];
          try {
            n3 = r3.DomainConfiguration.DomainRule || [];
          } catch (e5) {
          }
          n3 = a.clone(a.isArray(n3) ? n3 : [n3]), t3(null, { DomainRule: n3, statusCode: r3.statusCode, headers: r3.headers });
        });
      }, deleteBucketDomain: function(e3, t3) {
        f2.call(this, { Action: "name/cos:DeleteBucketDomain", method: "DELETE", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "domain", tracker: e3.tracker }, function(e4, r3) {
          return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r3.statusCode, headers: r3.headers });
        });
      }, putBucketOrigin: function(e3, t3) {
        var r3 = (e3.OriginConfiguration || {}).OriginRule || e3.OriginRule || [];
        r3 = a.clone(r3);
        var n3 = a.json2xml({ OriginConfiguration: { OriginRule: r3 } }), i2 = e3.Headers;
        i2["Content-Type"] = "application/xml", i2["Content-MD5"] = a.binaryBase64(a.md5(n3)), f2.call(this, { Action: "name/cos:PutBucketOrigin", method: "PUT", Bucket: e3.Bucket, Region: e3.Region, body: n3, action: "origin", headers: i2, tracker: e3.tracker }, function(e4, r4) {
          return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r4.statusCode, headers: r4.headers });
        });
      }, getBucketOrigin: function(e3, t3) {
        f2.call(this, { Action: "name/cos:GetBucketOrigin", method: "GET", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "origin", tracker: e3.tracker }, function(e4, r3) {
          if (e4)
            return t3(e4);
          var n3 = [];
          try {
            n3 = r3.OriginConfiguration.OriginRule || [];
          } catch (e5) {
          }
          n3 = a.clone(a.isArray(n3) ? n3 : [n3]), t3(null, { OriginRule: n3, statusCode: r3.statusCode, headers: r3.headers });
        });
      }, deleteBucketOrigin: function(e3, t3) {
        f2.call(this, { Action: "name/cos:DeleteBucketOrigin", method: "DELETE", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "origin", tracker: e3.tracker }, function(e4, r3) {
          return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r3.statusCode, headers: r3.headers });
        });
      }, putBucketLogging: function(e3, t3) {
        var r3 = a.json2xml({ BucketLoggingStatus: e3.BucketLoggingStatus || "" }), n3 = e3.Headers;
        n3["Content-Type"] = "application/xml", n3["Content-MD5"] = a.binaryBase64(a.md5(r3)), f2.call(this, { Action: "name/cos:PutBucketLogging", method: "PUT", Bucket: e3.Bucket, Region: e3.Region, body: r3, action: "logging", headers: n3, tracker: e3.tracker }, function(e4, r4) {
          return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r4.statusCode, headers: r4.headers });
        });
      }, getBucketLogging: function(e3, t3) {
        f2.call(this, { Action: "name/cos:GetBucketLogging", method: "GET", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "logging", tracker: e3.tracker }, function(e4, r3) {
          if (e4)
            return t3(e4);
          delete r3.BucketLoggingStatus._xmlns, t3(null, { BucketLoggingStatus: r3.BucketLoggingStatus, statusCode: r3.statusCode, headers: r3.headers });
        });
      }, putBucketInventory: function(e3, t3) {
        var r3 = a.clone(e3.InventoryConfiguration);
        if (r3.OptionalFields) {
          var n3 = r3.OptionalFields || [];
          r3.OptionalFields = { Field: n3 };
        }
        if (r3.Destination && r3.Destination.COSBucketDestination && r3.Destination.COSBucketDestination.Encryption) {
          var i2 = r3.Destination.COSBucketDestination.Encryption;
          Object.keys(i2).indexOf("SSECOS") > -1 && (i2["SSE-COS"] = i2.SSECOS, delete i2.SSECOS);
        }
        var o3 = a.json2xml({ InventoryConfiguration: r3 }), s3 = e3.Headers;
        s3["Content-Type"] = "application/xml", s3["Content-MD5"] = a.binaryBase64(a.md5(o3)), f2.call(this, { Action: "name/cos:PutBucketInventory", method: "PUT", Bucket: e3.Bucket, Region: e3.Region, body: o3, action: "inventory", qs: { id: e3.Id }, headers: s3, tracker: e3.tracker }, function(e4, r4) {
          return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r4.statusCode, headers: r4.headers });
        });
      }, getBucketInventory: function(e3, t3) {
        f2.call(this, { Action: "name/cos:GetBucketInventory", method: "GET", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "inventory", qs: { id: e3.Id }, tracker: e3.tracker }, function(e4, r3) {
          if (e4)
            return t3(e4);
          var n3 = r3.InventoryConfiguration;
          if (n3 && n3.OptionalFields && n3.OptionalFields.Field) {
            var i2 = n3.OptionalFields.Field;
            a.isArray(i2) || (i2 = [i2]), n3.OptionalFields = i2;
          }
          if (n3.Destination && n3.Destination.COSBucketDestination && n3.Destination.COSBucketDestination.Encryption) {
            var o3 = n3.Destination.COSBucketDestination.Encryption;
            Object.keys(o3).indexOf("SSE-COS") > -1 && (o3.SSECOS = o3["SSE-COS"], delete o3["SSE-COS"]);
          }
          t3(null, { InventoryConfiguration: n3, statusCode: r3.statusCode, headers: r3.headers });
        });
      }, listBucketInventory: function(e3, t3) {
        f2.call(this, { Action: "name/cos:ListBucketInventory", method: "GET", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "inventory", qs: { "continuation-token": e3.ContinuationToken }, tracker: e3.tracker }, function(e4, r3) {
          if (e4)
            return t3(e4);
          var n3 = r3.ListInventoryConfigurationResult, i2 = n3.InventoryConfiguration || [];
          i2 = a.isArray(i2) ? i2 : [i2], delete n3.InventoryConfiguration, a.each(i2, function(e5) {
            if (e5 && e5.OptionalFields && e5.OptionalFields.Field) {
              var t4 = e5.OptionalFields.Field;
              a.isArray(t4) || (t4 = [t4]), e5.OptionalFields = t4;
            }
            if (e5.Destination && e5.Destination.COSBucketDestination && e5.Destination.COSBucketDestination.Encryption) {
              var r4 = e5.Destination.COSBucketDestination.Encryption;
              Object.keys(r4).indexOf("SSE-COS") > -1 && (r4.SSECOS = r4["SSE-COS"], delete r4["SSE-COS"]);
            }
          }), n3.InventoryConfigurations = i2, a.extend(n3, { statusCode: r3.statusCode, headers: r3.headers }), t3(null, n3);
        });
      }, deleteBucketInventory: function(e3, t3) {
        f2.call(this, { Action: "name/cos:DeleteBucketInventory", method: "DELETE", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "inventory", qs: { id: e3.Id }, tracker: e3.tracker }, function(e4, r3) {
          return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r3.statusCode, headers: r3.headers });
        });
      }, putBucketAccelerate: function(e3, t3) {
        if (e3.AccelerateConfiguration) {
          var r3 = { AccelerateConfiguration: e3.AccelerateConfiguration || {} }, n3 = a.json2xml(r3), i2 = { "Content-Type": "application/xml" };
          i2["Content-MD5"] = a.binaryBase64(a.md5(n3)), f2.call(this, { Interface: "putBucketAccelerate", Action: "name/cos:PutBucketAccelerate", method: "PUT", Bucket: e3.Bucket, Region: e3.Region, body: n3, action: "accelerate", headers: i2, tracker: e3.tracker }, function(e4, r4) {
            if (e4)
              return t3(e4);
            t3(null, { statusCode: r4.statusCode, headers: r4.headers });
          });
        } else
          t3({ error: "missing param AccelerateConfiguration" });
      }, getBucketAccelerate: function(e3, t3) {
        f2.call(this, { Interface: "getBucketAccelerate", Action: "name/cos:GetBucketAccelerate", method: "GET", Bucket: e3.Bucket, Region: e3.Region, action: "accelerate", tracker: e3.tracker }, function(e4, r3) {
          e4 || !r3.AccelerateConfiguration && (r3.AccelerateConfiguration = {}), t3(e4, r3);
        });
      }, getObject: function(e3, t3) {
        if (this.options.ObjectKeySimplifyCheck && "/" === a.simplifyPath(e3.Key))
          return void t3(a.error(new Error("The Getobject Key is illegal")));
        var r3 = e3.Query || {}, n3 = e3.QueryString || "", i2 = e3.tracker;
        i2 && i2.setParams({ signStartTime: (/* @__PURE__ */ new Date()).getTime() }), r3["response-content-type"] = e3.ResponseContentType, r3["response-content-language"] = e3.ResponseContentLanguage, r3["response-expires"] = e3.ResponseExpires, r3["response-cache-control"] = e3.ResponseCacheControl, r3["response-content-disposition"] = e3.ResponseContentDisposition, r3["response-content-encoding"] = e3.ResponseContentEncoding, f2.call(this, { Action: "name/cos:GetObject", method: "GET", Bucket: e3.Bucket, Region: e3.Region, Key: e3.Key, VersionId: e3.VersionId, headers: e3.Headers, qs: r3, qsStr: n3, rawBody: true, dataType: e3.DataType, tracker: i2 }, function(r4, n4) {
          if (r4) {
            var i3 = r4.statusCode;
            return e3.Headers["If-Modified-Since"] && i3 && 304 === i3 ? t3(null, { NotModified: true }) : t3(r4);
          }
          t3(null, { Body: n4.body, ETag: a.attr(n4.headers, "etag", ""), statusCode: n4.statusCode, headers: n4.headers });
        });
      }, headObject: function(e3, t3) {
        f2.call(this, { Action: "name/cos:HeadObject", method: "HEAD", Bucket: e3.Bucket, Region: e3.Region, Key: e3.Key, VersionId: e3.VersionId, headers: e3.Headers, tracker: e3.tracker }, function(r3, n3) {
          if (r3) {
            var i2 = r3.statusCode;
            return e3.Headers["If-Modified-Since"] && i2 && 304 === i2 ? t3(null, { NotModified: true, statusCode: i2 }) : t3(r3);
          }
          n3.ETag = a.attr(n3.headers, "etag", ""), t3(null, n3);
        });
      }, listObjectVersions: function(e3, t3) {
        var r3 = {};
        r3.prefix = e3.Prefix || "", r3.delimiter = e3.Delimiter, r3["key-marker"] = e3.KeyMarker, r3["version-id-marker"] = e3.VersionIdMarker, r3["max-keys"] = e3.MaxKeys, r3["encoding-type"] = e3.EncodingType, f2.call(this, { Action: "name/cos:GetBucketObjectVersions", ResourceKey: r3.prefix, method: "GET", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, qs: r3, action: "versions", tracker: e3.tracker }, function(e4, r4) {
          if (e4)
            return t3(e4);
          var n3 = r4.ListVersionsResult || {}, i2 = n3.DeleteMarker || [];
          i2 = a.isArray(i2) ? i2 : [i2];
          var o3 = n3.Version || [];
          o3 = a.isArray(o3) ? o3 : [o3];
          var s3 = a.clone(n3);
          delete s3.DeleteMarker, delete s3.Version, a.extend(s3, { DeleteMarkers: i2, Versions: o3, statusCode: r4.statusCode, headers: r4.headers }), t3(null, s3);
        });
      }, putObject: function(e3, t3) {
        var r3 = this, n3 = e3.ContentLength, o3 = a.throttleOnProgress.call(r3, n3, e3.onProgress), s3 = e3.Headers;
        s3["Cache-Control"] || s3["cache-control"] || (s3["Cache-Control"] = ""), s3["Content-Type"] || s3["content-type"] || (s3["Content-Type"] = i.getType(e3.Key) || "application/octet-stream");
        var l2 = e3.UploadAddMetaMd5 || r3.options.UploadAddMetaMd5 || r3.options.UploadCheckContentMd5, p3 = e3.tracker;
        l2 && p3 && p3.setParams({ md5StartTime: (/* @__PURE__ */ new Date()).getTime() }), a.getBodyMd5(l2, e3.Body, function(i2) {
          i2 && (p3 && p3.setParams({ md5EndTime: (/* @__PURE__ */ new Date()).getTime() }), r3.options.UploadCheckContentMd5 && (s3["Content-MD5"] = a.binaryBase64(i2)), (e3.UploadAddMetaMd5 || r3.options.UploadAddMetaMd5) && (s3["x-cos-meta-md5"] = i2)), void 0 !== e3.ContentLength && (s3["Content-Length"] = e3.ContentLength), o3(null, true), f2.call(r3, { Action: "name/cos:PutObject", TaskId: e3.TaskId, method: "PUT", Bucket: e3.Bucket, Region: e3.Region, Key: e3.Key, headers: e3.Headers, qs: e3.Query, body: e3.Body, onProgress: o3, tracker: p3 }, function(i3, s4) {
            if (i3)
              return o3(null, true), t3(i3);
            o3({ loaded: n3, total: n3 }, true);
            var l3 = c({ ForcePathStyle: r3.options.ForcePathStyle, protocol: r3.options.Protocol, domain: r3.options.Domain, bucket: e3.Bucket, region: r3.options.UseAccelerate ? "accelerate" : e3.Region, object: e3.Key });
            l3 = l3.substr(l3.indexOf("://") + 3), s4.Location = l3, s4.ETag = a.attr(s4.headers, "etag", ""), t3(null, s4);
          });
        });
      }, postObject: function(e3, t3) {
        var r3 = this, n3 = {}, i2 = e3.FilePath;
        if (i2) {
          for (var o3 in n3["Cache-Control"] = e3.CacheControl, n3["Content-Disposition"] = e3.ContentDisposition, n3["Content-Encoding"] = e3.ContentEncoding, n3["Content-MD5"] = e3.ContentMD5, n3["Content-Length"] = e3.ContentLength, n3["Content-Type"] = e3.ContentType, n3.Expect = e3.Expect, n3.Expires = e3.Expires, n3["x-cos-acl"] = e3.ACL, n3["x-cos-grant-read"] = e3.GrantRead, n3["x-cos-grant-write"] = e3.GrantWrite, n3["x-cos-grant-full-control"] = e3.GrantFullControl, n3["x-cos-storage-class"] = e3.StorageClass, n3["x-cos-mime-limit"] = e3.MimeLimit, n3["x-cos-traffic-limit"] = e3.TrafficLimit, n3["x-cos-forbid-overwrite"] = e3.ForbidOverwrite, n3["x-cos-server-side-encryption-customer-algorithm"] = e3.SSECustomerAlgorithm, n3["x-cos-server-side-encryption-customer-key"] = e3.SSECustomerKey, n3["x-cos-server-side-encryption-customer-key-MD5"] = e3.SSECustomerKeyMD5, n3["x-cos-server-side-encryption"] = e3.ServerSideEncryption, n3["x-cos-server-side-encryption-cos-kms-key-id"] = e3.SSEKMSKeyId, n3["x-cos-server-side-encryption-context"] = e3.SSEContext, delete n3["Content-Length"], delete n3["content-length"], e3)
            o3.indexOf("x-cos-meta-") > -1 && (n3[o3] = e3[o3]);
          var s3 = a.throttleOnProgress.call(r3, n3["Content-Length"], e3.onProgress);
          f2.call(this, { Action: "name/cos:PostObject", method: "POST", Bucket: e3.Bucket, Region: e3.Region, Key: e3.Key, headers: n3, qs: e3.Query, filePath: i2, TaskId: e3.TaskId, onProgress: s3, tracker: e3.tracker }, function(n4, a2) {
            if (s3(null, true), n4)
              return t3(n4);
            if (a2 && a2.headers) {
              var o4 = a2.headers, l2 = o4.etag || o4.Etag || o4.ETag || "", p3 = i2.substr(i2.lastIndexOf("/") + 1), u2 = c({ ForcePathStyle: r3.options.ForcePathStyle, protocol: r3.options.Protocol, domain: r3.options.Domain, bucket: e3.Bucket, region: e3.Region, object: e3.Key.replace(/\$\{filename\}/g, p3), isLocation: true });
              return t3(null, { Location: u2, statusCode: a2.statusCode, headers: o4, ETag: l2 });
            }
            t3(null, a2);
          });
        } else
          t3({ error: "missing param FilePath" });
      }, deleteObject: function(e3, t3) {
        f2.call(this, { Action: "name/cos:DeleteObject", method: "DELETE", Bucket: e3.Bucket, Region: e3.Region, Key: e3.Key, headers: e3.Headers, VersionId: e3.VersionId, tracker: e3.tracker }, function(e4, r3) {
          if (e4) {
            var n3 = e4.statusCode;
            return n3 && 204 === n3 ? t3(null, { statusCode: n3 }) : n3 && 404 === n3 ? t3(null, { BucketNotFound: true, statusCode: n3 }) : t3(e4);
          }
          t3(null, { statusCode: r3.statusCode, headers: r3.headers });
        });
      }, getObjectAcl: function(e3, t3) {
        var r3 = {};
        e3.VersionId && (r3.versionId = e3.VersionId), f2.call(this, { Action: "name/cos:GetObjectACL", method: "GET", Bucket: e3.Bucket, Region: e3.Region, Key: e3.Key, headers: e3.Headers, qs: r3, action: "acl", tracker: e3.tracker }, function(e4, r4) {
          if (e4)
            return t3(e4);
          var n3 = r4.AccessControlPolicy || {}, i2 = n3.Owner || {}, s3 = n3.AccessControlList && n3.AccessControlList.Grant || [];
          s3 = a.isArray(s3) ? s3 : [s3];
          var c2 = o2(n3);
          r4.headers && r4.headers["x-cos-acl"] && (c2.ACL = r4.headers["x-cos-acl"]), c2 = a.extend(c2, { Owner: i2, Grants: s3, statusCode: r4.statusCode, headers: r4.headers }), t3(null, c2);
        });
      }, putObjectAcl: function(e3, t3) {
        var r3 = e3.Headers, n3 = "";
        if (e3.AccessControlPolicy) {
          var i2 = a.clone(e3.AccessControlPolicy || {}), o3 = i2.Grants || i2.Grant;
          o3 = a.isArray(o3) ? o3 : [o3], delete i2.Grant, delete i2.Grants, i2.AccessControlList = { Grant: o3 }, n3 = a.json2xml({ AccessControlPolicy: i2 }), r3["Content-Type"] = "application/xml", r3["Content-MD5"] = a.binaryBase64(a.md5(n3));
        }
        a.each(r3, function(e4, t4) {
          0 === t4.indexOf("x-cos-grant-") && (r3[t4] = s2(r3[t4]));
        }), f2.call(this, { Action: "name/cos:PutObjectACL", method: "PUT", Bucket: e3.Bucket, Region: e3.Region, Key: e3.Key, action: "acl", headers: r3, body: n3, tracker: e3.tracker }, function(e4, r4) {
          if (e4)
            return t3(e4);
          t3(null, { statusCode: r4.statusCode, headers: r4.headers });
        });
      }, optionsObject: function(e3, t3) {
        var r3 = e3.Headers;
        r3.Origin = e3.Origin, r3["Access-Control-Request-Method"] = e3.AccessControlRequestMethod, r3["Access-Control-Request-Headers"] = e3.AccessControlRequestHeaders, f2.call(this, { Action: "name/cos:OptionsObject", method: "OPTIONS", Bucket: e3.Bucket, Region: e3.Region, Key: e3.Key, headers: r3, tracker: e3.tracker }, function(e4, r4) {
          if (e4)
            return e4.statusCode && 403 === e4.statusCode ? t3(null, { OptionsForbidden: true, statusCode: e4.statusCode }) : t3(e4);
          var n3 = r4.headers || {};
          t3(null, { AccessControlAllowOrigin: n3["access-control-allow-origin"], AccessControlAllowMethods: n3["access-control-allow-methods"], AccessControlAllowHeaders: n3["access-control-allow-headers"], AccessControlExposeHeaders: n3["access-control-expose-headers"], AccessControlMaxAge: n3["access-control-max-age"], statusCode: r4.statusCode, headers: r4.headers });
        });
      }, putObjectCopy: function(e3, t3) {
        var r3 = e3.Headers;
        !r3["Cache-Control"] && r3["cache-control"] && (r3["Cache-Control"] = "");
        var n3 = e3.CopySource || "", i2 = a.getSourceParams.call(this, n3);
        if (i2) {
          var o3 = i2.Bucket, s3 = i2.Region, c2 = decodeURIComponent(i2.Key);
          f2.call(this, { Scope: [{ action: "name/cos:GetObject", bucket: o3, region: s3, prefix: c2 }, { action: "name/cos:PutObject", bucket: e3.Bucket, region: e3.Region, prefix: e3.Key }], method: "PUT", Bucket: e3.Bucket, Region: e3.Region, Key: e3.Key, VersionId: e3.VersionId, headers: e3.Headers, tracker: e3.tracker }, function(e4, r4) {
            if (e4)
              return t3(e4);
            var n4 = a.clone(r4.CopyObjectResult || {});
            a.extend(n4, { statusCode: r4.statusCode, headers: r4.headers }), t3(null, n4);
          });
        } else
          t3({ error: "CopySource format error" });
      }, deleteMultipleObject: function(e3, t3) {
        var r3 = e3.Objects || [], n3 = e3.Quiet;
        r3 = a.isArray(r3) ? r3 : [r3];
        var i2 = a.json2xml({ Delete: { Object: r3, Quiet: n3 || false } }), o3 = e3.Headers;
        o3["Content-Type"] = "application/xml", o3["Content-MD5"] = a.binaryBase64(a.md5(i2));
        var s3 = a.map(r3, function(t4) {
          return { action: "name/cos:DeleteObject", bucket: e3.Bucket, region: e3.Region, prefix: t4.Key };
        });
        f2.call(this, { Scope: s3, method: "POST", Bucket: e3.Bucket, Region: e3.Region, body: i2, action: "delete", headers: o3, tracker: e3.tracker }, function(e4, r4) {
          if (e4)
            return t3(e4);
          var n4 = r4.DeleteResult || {}, i3 = n4.Deleted || [], o4 = n4.Error || [];
          i3 = a.isArray(i3) ? i3 : [i3], o4 = a.isArray(o4) ? o4 : [o4];
          var s4 = a.clone(n4);
          a.extend(s4, { Error: o4, Deleted: i3, statusCode: r4.statusCode, headers: r4.headers }), t3(null, s4);
        });
      }, restoreObject: function(e3, t3) {
        var r3 = e3.Headers;
        if (e3.RestoreRequest) {
          var n3 = e3.RestoreRequest || {}, i2 = a.json2xml({ RestoreRequest: n3 });
          r3["Content-Type"] = "application/xml", r3["Content-MD5"] = a.binaryBase64(a.md5(i2)), f2.call(this, { Action: "name/cos:RestoreObject", method: "POST", Bucket: e3.Bucket, Region: e3.Region, Key: e3.Key, VersionId: e3.VersionId, body: i2, action: "restore", headers: r3, tracker: e3.tracker }, function(e4, r4) {
            t3(e4, r4);
          });
        } else
          t3({ error: "missing param RestoreRequest" });
      }, putObjectTagging: function(e3, t3) {
        var r3 = e3.Tagging || {}, n3 = r3.TagSet || r3.Tags || e3.Tags || [];
        n3 = a.clone(a.isArray(n3) ? n3 : [n3]);
        var i2 = a.json2xml({ Tagging: { TagSet: { Tag: n3 } } }), o3 = e3.Headers;
        o3["Content-Type"] = "application/xml", o3["Content-MD5"] = a.binaryBase64(a.md5(i2)), f2.call(this, { Interface: "putObjectTagging", Action: "name/cos:PutObjectTagging", method: "PUT", Bucket: e3.Bucket, Key: e3.Key, Region: e3.Region, body: i2, action: "tagging", headers: o3, VersionId: e3.VersionId, tracker: e3.tracker }, function(e4, r4) {
          return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r4.statusCode, headers: r4.headers });
        });
      }, getObjectTagging: function(e3, t3) {
        f2.call(this, { Interface: "getObjectTagging", Action: "name/cos:GetObjectTagging", method: "GET", Key: e3.Key, Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, action: "tagging", VersionId: e3.VersionId, tracker: e3.tracker }, function(e4, r3) {
          if (e4)
            if (404 !== e4.statusCode || !e4.error || "Not Found" !== e4.error && "NoSuchTagSet" !== e4.error.Code)
              t3(e4);
            else {
              var n3 = { Tags: [], statusCode: e4.statusCode };
              e4.headers && (n3.headers = e4.headers), t3(null, n3);
            }
          else {
            var i2 = [];
            try {
              i2 = r3.Tagging.TagSet.Tag || [];
            } catch (e5) {
            }
            i2 = a.clone(a.isArray(i2) ? i2 : [i2]), t3(null, { Tags: i2, statusCode: r3.statusCode, headers: r3.headers });
          }
        });
      }, deleteObjectTagging: function(e3, t3) {
        f2.call(this, { Interface: "deleteObjectTagging", Action: "name/cos:DeleteObjectTagging", method: "DELETE", Bucket: e3.Bucket, Region: e3.Region, Key: e3.Key, headers: e3.Headers, action: "tagging", VersionId: e3.VersionId, tracker: e3.tracker }, function(e4, r3) {
          return e4 && 204 === e4.statusCode ? t3(null, { statusCode: e4.statusCode }) : e4 ? t3(e4) : void t3(null, { statusCode: r3.statusCode, headers: r3.headers });
        });
      }, appendObject: function(e3, t3) {
        f2.call(this, { Action: "name/cos:AppendObject", method: "POST", Bucket: e3.Bucket, Region: e3.Region, action: "append", Key: e3.Key, body: e3.Body, qs: { position: e3.Position }, headers: e3.Headers, tracker: e3.tracker }, function(e4, r3) {
          if (e4)
            return t3(e4);
          t3(null, r3);
        });
      }, uploadPartCopy: function(e3, t3) {
        var r3 = e3.CopySource || "", n3 = a.getSourceParams.call(this, r3);
        if (n3) {
          var i2 = n3.Bucket, o3 = n3.Region, s3 = decodeURIComponent(n3.Key);
          f2.call(this, { Scope: [{ action: "name/cos:GetObject", bucket: i2, region: o3, prefix: s3 }, { action: "name/cos:PutObject", bucket: e3.Bucket, region: e3.Region, prefix: e3.Key }], method: "PUT", Bucket: e3.Bucket, Region: e3.Region, Key: e3.Key, VersionId: e3.VersionId, qs: { partNumber: e3.PartNumber, uploadId: e3.UploadId }, headers: e3.Headers, tracker: e3.tracker }, function(e4, r4) {
            if (e4)
              return t3(e4);
            var n4 = a.clone(r4.CopyPartResult || {});
            a.extend(n4, { statusCode: r4.statusCode, headers: r4.headers }), t3(null, n4);
          });
        } else
          t3({ error: "CopySource format error" });
      }, multipartInit: function(e3, t3) {
        var r3 = e3.Headers, n3 = e3.tracker;
        r3["Cache-Control"] || r3["cache-control"] || (r3["Cache-Control"] = ""), r3["Content-Type"] || r3["content-type"] || (r3["Content-Type"] = i.getType(e3.Key) || "application/octet-stream"), f2.call(this, { Action: "name/cos:InitiateMultipartUpload", method: "POST", Bucket: e3.Bucket, Region: e3.Region, Key: e3.Key, action: "uploads", headers: e3.Headers, qs: e3.Query, tracker: n3 }, function(e4, r4) {
          return e4 ? (n3 && n3.parent && n3.parent.setParams({ errorNode: "multipartInit" }), t3(e4)) : (r4 = a.clone(r4 || {})) && r4.InitiateMultipartUploadResult ? t3(null, a.extend(r4.InitiateMultipartUploadResult, { statusCode: r4.statusCode, headers: r4.headers })) : void t3(null, r4);
        });
      }, multipartUpload: function(e3, t3) {
        var r3 = this;
        a.getFileSize("multipartUpload", e3, function() {
          var n3 = e3.tracker, i2 = r3.options.UploadCheckContentMd5;
          i2 && n3 && n3.setParams({ md5StartTime: (/* @__PURE__ */ new Date()).getTime() }), a.getBodyMd5(i2, e3.Body, function(o3) {
            o3 && (e3.Headers["Content-MD5"] = a.binaryBase64(o3), i2 && n3 && n3.setParams({ md5EndTime: (/* @__PURE__ */ new Date()).getTime() })), n3 && n3.setParams({ partNumber: e3.PartNumber }), f2.call(r3, { Action: "name/cos:UploadPart", TaskId: e3.TaskId, method: "PUT", Bucket: e3.Bucket, Region: e3.Region, Key: e3.Key, qs: { partNumber: e3.PartNumber, uploadId: e3.UploadId }, headers: e3.Headers, onProgress: e3.onProgress, body: e3.Body || null, tracker: n3 }, function(e4, r4) {
              if (e4)
                return n3 && n3.parent && n3.parent.setParams({ errorNode: "multipartUpload" }), t3(e4);
              t3(null, { ETag: a.attr(r4.headers, "etag", {}), statusCode: r4.statusCode, headers: r4.headers });
            });
          });
        });
      }, multipartComplete: function(e3, t3) {
        for (var r3 = this, n3 = e3.UploadId, i2 = e3.Parts, o3 = e3.tracker, s3 = 0, l2 = i2.length; s3 < l2; s3++)
          0 !== i2[s3].ETag.indexOf('"') && (i2[s3].ETag = '"' + i2[s3].ETag + '"');
        var p3 = a.json2xml({ CompleteMultipartUpload: { Part: i2 } }), u2 = e3.Headers;
        u2["Content-Type"] = "application/xml", u2["Content-MD5"] = a.binaryBase64(a.md5(p3)), f2.call(this, { Action: "name/cos:CompleteMultipartUpload", method: "POST", Bucket: e3.Bucket, Region: e3.Region, Key: e3.Key, qs: { uploadId: n3 }, body: p3, headers: u2, tracker: o3 }, function(n4, i3) {
          if (n4)
            return o3 && o3.parent && o3.parent.setParams({ errorNode: "multipartComplete" }), t3(n4);
          var s4 = c({ ForcePathStyle: r3.options.ForcePathStyle, protocol: r3.options.Protocol, domain: r3.options.Domain, bucket: e3.Bucket, region: e3.Region, object: e3.Key, isLocation: true }), l3 = i3.CompleteMultipartUploadResult || {}, p4 = a.extend(l3, { Location: s4, statusCode: i3.statusCode, headers: i3.headers });
          t3(null, p4);
        });
      }, multipartList: function(e3, t3) {
        var r3 = {};
        r3.delimiter = e3.Delimiter, r3["encoding-type"] = e3.EncodingType, r3.prefix = e3.Prefix || "", r3["max-uploads"] = e3.MaxUploads, r3["key-marker"] = e3.KeyMarker, r3["upload-id-marker"] = e3.UploadIdMarker, r3 = a.clearKey(r3);
        var n3 = e3.tracker;
        n3 && n3.setParams({ signStartTime: (/* @__PURE__ */ new Date()).getTime() }), f2.call(this, { Action: "name/cos:ListMultipartUploads", ResourceKey: r3.prefix, method: "GET", Bucket: e3.Bucket, Region: e3.Region, headers: e3.Headers, qs: r3, action: "uploads", tracker: n3 }, function(e4, r4) {
          if (e4)
            return n3 && n3.parent && n3.parent.setParams({ errorNode: "multipartList" }), t3(e4);
          if (r4 && r4.ListMultipartUploadsResult) {
            var i2 = r4.ListMultipartUploadsResult.Upload || [], o3 = r4.ListMultipartUploadsResult.CommonPrefixes || [];
            o3 = a.isArray(o3) ? o3 : [o3], i2 = a.isArray(i2) ? i2 : [i2], r4.ListMultipartUploadsResult.Upload = i2, r4.ListMultipartUploadsResult.CommonPrefixes = o3;
          }
          var s3 = a.clone(r4.ListMultipartUploadsResult || {});
          a.extend(s3, { statusCode: r4.statusCode, headers: r4.headers }), t3(null, s3);
        });
      }, multipartListPart: function(e3, t3) {
        var r3 = {}, n3 = e3.tracker;
        r3.uploadId = e3.UploadId, r3["encoding-type"] = e3.EncodingType, r3["max-parts"] = e3.MaxParts, r3["part-number-marker"] = e3.PartNumberMarker, f2.call(this, { Action: "name/cos:ListParts", method: "GET", Bucket: e3.Bucket, Region: e3.Region, Key: e3.Key, headers: e3.Headers, qs: r3, tracker: n3 }, function(e4, r4) {
          if (e4)
            return n3 && n3.parent && n3.parent.setParams({ errorNode: "multipartListPart" }), t3(e4);
          var i2 = r4.ListPartsResult || {}, o3 = i2.Part || [];
          o3 = a.isArray(o3) ? o3 : [o3], i2.Part = o3;
          var s3 = a.clone(i2);
          a.extend(s3, { statusCode: r4.statusCode, headers: r4.headers }), t3(null, s3);
        });
      }, multipartAbort: function(e3, t3) {
        var r3 = {};
        r3.uploadId = e3.UploadId, f2.call(this, { Action: "name/cos:AbortMultipartUpload", method: "DELETE", Bucket: e3.Bucket, Region: e3.Region, Key: e3.Key, headers: e3.Headers, qs: r3, tracker: e3.tracker }, function(e4, r4) {
          if (e4)
            return t3(e4);
          t3(null, { statusCode: r4.statusCode, headers: r4.headers });
        });
      }, request: function(e3, t3) {
        f2.call(this, { method: e3.Method, Bucket: e3.Bucket, Region: e3.Region, Key: e3.Key, action: e3.Action, headers: e3.Headers, qs: e3.Query, body: e3.Body, Url: e3.Url, rawBody: e3.RawBody, dataType: e3.DataType, tracker: e3.tracker }, function(e4, r3) {
          if (e4)
            return t3(e4);
          r3 && r3.body && (r3.Body = r3.body, delete r3.body), t3(e4, r3);
        });
      }, getObjectUrl: function(e3, t3) {
        var r3 = this, n3 = void 0 === e3.UseAccelerate ? r3.options.UseAccelerate : e3.UseAccelerate, i2 = c({ ForcePathStyle: r3.options.ForcePathStyle, protocol: e3.Protocol || r3.options.Protocol, domain: e3.Domain || r3.options.Domain, bucket: e3.Bucket, region: n3 ? "accelerate" : e3.Region, object: e3.Key }), o3 = "";
        e3.Query && (o3 += a.obj2str(e3.Query)), e3.QueryString && (o3 += (o3 ? "&" : "") + e3.QueryString);
        var s3 = i2;
        if (void 0 !== e3.Sign && !e3.Sign)
          return o3 && (s3 += "?" + o3), t3(null, { Url: s3 }), s3;
        var u2 = l.call(this, { Bucket: e3.Bucket, Region: e3.Region, UseAccelerate: e3.UseAccelerate, Url: i2 }), d2 = p2.call(this, { Action: "PUT" === (e3.Method || "").toUpperCase() ? "name/cos:PutObject" : "name/cos:GetObject", Bucket: e3.Bucket || "", Region: e3.Region || "", Method: e3.Method || "get", Key: e3.Key, Expires: e3.Expires, Headers: e3.Headers, Query: e3.Query, SignHost: u2, ForceSignHost: false !== e3.ForceSignHost && r3.options.ForceSignHost }, function(e4, r4) {
          if (t3)
            if (e4)
              t3(e4);
            else {
              var n4 = i2;
              n4 += "?" + (r4.Authorization.indexOf("q-signature") > -1 ? function(e5) {
                var t4 = e5.match(/q-url-param-list.*?(?=&)/g)[0], r5 = "q-url-param-list=" + encodeURIComponent(t4.replace(/q-url-param-list=/, "")).toLowerCase(), n5 = new RegExp(t4, "g");
                return e5.replace(n5, r5);
              }(r4.Authorization) : "sign=" + encodeURIComponent(r4.Authorization)), r4.SecurityToken && (n4 += "&x-cos-security-token=" + r4.SecurityToken), r4.ClientIP && (n4 += "&clientIP=" + r4.ClientIP), r4.ClientUA && (n4 += "&clientUA=" + r4.ClientUA), r4.Token && (n4 += "&token=" + r4.Token), o3 && (n4 += "&" + o3), setTimeout(function() {
                t3(null, { Url: n4 });
              });
            }
        });
        return d2 ? (s3 += "?" + d2.Authorization + (d2.SecurityToken ? "&x-cos-security-token=" + d2.SecurityToken : ""), o3 && (s3 += "&" + o3)) : o3 && (s3 += "?" + o3), s3;
      }, getAuth: function(e3) {
        return a.getAuth({ SecretId: e3.SecretId || this.options.SecretId || "", SecretKey: e3.SecretKey || this.options.SecretKey || "", Bucket: e3.Bucket, Region: e3.Region, Method: e3.Method, Key: e3.Key, Query: e3.Query, Headers: e3.Headers, Expires: e3.Expires, SystemClockOffset: this.options.SystemClockOffset });
      } };
      e2.exports.init = function(e3, t3) {
        t3.transferToTaskMethod(h, "postObject"), t3.transferToTaskMethod(h, "putObject"), a.each(h, function(t4, r3) {
          e3.prototype[r3] = a.apiWrapper(r3, t4);
        });
      };
    }, function(e2, t2) {
      function r2(e3) {
        return encodeURIComponent(e3).replace(/!/g, "%21").replace(/'/g, "%27").replace(/\(/g, "%28").replace(/\)/g, "%29").replace(/\*/g, "%2A");
      }
      var n2 = function(e3, t3) {
        var n3, a, i, o2 = [], s2 = function(e4, t4) {
          var n4 = [];
          for (var a2 in e4)
            e4.hasOwnProperty(a2) && n4.push(t4 ? r2(a2).toLowerCase() : a2);
          return n4.sort(function(e5, t5) {
            return (e5 = e5.toLowerCase()) === (t5 = t5.toLowerCase()) ? 0 : e5 > t5 ? 1 : -1;
          });
        }(e3);
        for (n3 = 0; n3 < s2.length; n3++)
          i = void 0 === e3[a = s2[n3]] || null === e3[a] ? "" : "" + e3[a], a = t3 ? r2(a).toLowerCase() : r2(a), i = r2(i) || "", o2.push(a + "=" + i);
        return o2.join("&");
      };
      e2.exports = function(e3, t3) {
        var r3, a = e3.filePath, i = e3.headers || {}, o2 = e3.url || e3.Url, s2 = e3.method, c = e3.onProgress, l = e3.httpDNSServiceId, p2 = function(e4, r4) {
          var n3 = r4.header, a2 = {};
          if (n3)
            for (var i2 in n3)
              n3.hasOwnProperty(i2) && (a2[i2.toLowerCase()] = n3[i2]);
          t3(e4, { statusCode: r4.statusCode, headers: a2 }, r4.data);
        };
        if (a) {
          var u, d = o2.match(/^(https?:\/\/[^/]+\/)([^/]*\/?)(.*)$/);
          e3.pathStyle ? (u = decodeURIComponent(d[3] || ""), o2 = d[1] + d[2]) : (u = decodeURIComponent(d[2] + d[3] || ""), o2 = d[1]);
          var f2 = { key: u, success_action_status: 200, Signature: i.Authorization }, m2 = ["Cache-Control", "Content-Type", "Content-Disposition", "Content-Encoding", "Expires", "x-cos-storage-class", "x-cos-security-token", "x-ci-security-token"];
          for (var h in e3.headers)
            e3.headers.hasOwnProperty(h) && (h.indexOf("x-cos-meta-") > -1 || m2.indexOf(h) > -1) && (f2[h] = e3.headers[h]);
          i["x-cos-acl"] && (f2.acl = i["x-cos-acl"]), !f2["Content-Type"] && (f2["Content-Type"] = ""), (r3 = wx$1.uploadFile({ url: o2, method: s2, name: "file", header: i, filePath: a, formData: f2, timeout: e3.timeout, success: function(e4) {
            p2(null, e4);
          }, fail: function(e4) {
            p2(e4.errMsg, e4);
          } })).onProgressUpdate(function(e4) {
            c && c({ loaded: e4.totalBytesSent, total: e4.totalBytesExpectedToSend, progress: e4.progress / 100 });
          });
        } else {
          var g = e3.qs && n2(e3.qs) || "";
          g && (o2 += (o2.indexOf("?") > -1 ? "&" : "?") + g), i["Content-Length"] && delete i["Content-Length"];
          var v = { url: o2, method: s2, header: i, dataType: "text", data: e3.body, responseType: e3.dataType || "text", timeout: e3.timeout, redirect: "manual", success: function(e4) {
            p2(null, e4);
          }, fail: function(e4) {
            p2(e4.errMsg, e4);
          } };
          l && Object.assign(v, { enableHttpDNS: true, httpDNSServiceId: l }), r3 = wx$1.request(v);
        }
        return r3;
      };
    }, function(e2, t2, r2) {
      let n2 = r2(24);
      e2.exports = new n2(r2(25), r2(26));
    }, function(e2, t2, r2) {
      function n2() {
        this._types = /* @__PURE__ */ Object.create(null), this._extensions = /* @__PURE__ */ Object.create(null);
        for (let e3 = 0; e3 < arguments.length; e3++)
          this.define(arguments[e3]);
        this.define = this.define.bind(this), this.getType = this.getType.bind(this), this.getExtension = this.getExtension.bind(this);
      }
      n2.prototype.define = function(e3, t3) {
        for (let r3 in e3) {
          let n3 = e3[r3].map(function(e4) {
            return e4.toLowerCase();
          });
          r3 = r3.toLowerCase();
          for (let e4 = 0; e4 < n3.length; e4++) {
            const a = n3[e4];
            if ("*" !== a[0]) {
              if (!t3 && a in this._types)
                throw new Error('Attempt to change mapping for "' + a + '" extension from "' + this._types[a] + '" to "' + r3 + '". Pass `force=true` to allow this, otherwise remove "' + a + '" from the list of extensions for "' + r3 + '".');
              this._types[a] = r3;
            }
          }
          if (t3 || !this._extensions[r3]) {
            const e4 = n3[0];
            this._extensions[r3] = "*" !== e4[0] ? e4 : e4.substr(1);
          }
        }
      }, n2.prototype.getType = function(e3) {
        let t3 = (e3 = String(e3)).replace(/^.*[/\\]/, "").toLowerCase(), r3 = t3.replace(/^.*\./, "").toLowerCase(), n3 = t3.length < e3.length;
        return (r3.length < t3.length - 1 || !n3) && this._types[r3] || null;
      }, n2.prototype.getExtension = function(e3) {
        return (e3 = /^\s*([^;\s]*)/.test(e3) && RegExp.$1) && this._extensions[e3.toLowerCase()] || null;
      }, e2.exports = n2;
    }, function(e2, t2) {
      e2.exports = { "application/andrew-inset": ["ez"], "application/applixware": ["aw"], "application/atom+xml": ["atom"], "application/atomcat+xml": ["atomcat"], "application/atomdeleted+xml": ["atomdeleted"], "application/atomsvc+xml": ["atomsvc"], "application/atsc-dwd+xml": ["dwd"], "application/atsc-held+xml": ["held"], "application/atsc-rsat+xml": ["rsat"], "application/bdoc": ["bdoc"], "application/calendar+xml": ["xcs"], "application/ccxml+xml": ["ccxml"], "application/cdfx+xml": ["cdfx"], "application/cdmi-capability": ["cdmia"], "application/cdmi-container": ["cdmic"], "application/cdmi-domain": ["cdmid"], "application/cdmi-object": ["cdmio"], "application/cdmi-queue": ["cdmiq"], "application/cu-seeme": ["cu"], "application/dash+xml": ["mpd"], "application/davmount+xml": ["davmount"], "application/docbook+xml": ["dbk"], "application/dssc+der": ["dssc"], "application/dssc+xml": ["xdssc"], "application/ecmascript": ["es", "ecma"], "application/emma+xml": ["emma"], "application/emotionml+xml": ["emotionml"], "application/epub+zip": ["epub"], "application/exi": ["exi"], "application/express": ["exp"], "application/fdt+xml": ["fdt"], "application/font-tdpfr": ["pfr"], "application/geo+json": ["geojson"], "application/gml+xml": ["gml"], "application/gpx+xml": ["gpx"], "application/gxf": ["gxf"], "application/gzip": ["gz"], "application/hjson": ["hjson"], "application/hyperstudio": ["stk"], "application/inkml+xml": ["ink", "inkml"], "application/ipfix": ["ipfix"], "application/its+xml": ["its"], "application/java-archive": ["jar", "war", "ear"], "application/java-serialized-object": ["ser"], "application/java-vm": ["class"], "application/javascript": ["js", "mjs"], "application/json": ["json", "map"], "application/json5": ["json5"], "application/jsonml+json": ["jsonml"], "application/ld+json": ["jsonld"], "application/lgr+xml": ["lgr"], "application/lost+xml": ["lostxml"], "application/mac-binhex40": ["hqx"], "application/mac-compactpro": ["cpt"], "application/mads+xml": ["mads"], "application/manifest+json": ["webmanifest"], "application/marc": ["mrc"], "application/marcxml+xml": ["mrcx"], "application/mathematica": ["ma", "nb", "mb"], "application/mathml+xml": ["mathml"], "application/mbox": ["mbox"], "application/mediaservercontrol+xml": ["mscml"], "application/metalink+xml": ["metalink"], "application/metalink4+xml": ["meta4"], "application/mets+xml": ["mets"], "application/mmt-aei+xml": ["maei"], "application/mmt-usd+xml": ["musd"], "application/mods+xml": ["mods"], "application/mp21": ["m21", "mp21"], "application/mp4": ["mp4s", "m4p"], "application/msword": ["doc", "dot"], "application/mxf": ["mxf"], "application/n-quads": ["nq"], "application/n-triples": ["nt"], "application/node": ["cjs"], "application/octet-stream": ["bin", "dms", "lrf", "mar", "so", "dist", "distz", "pkg", "bpk", "dump", "elc", "deploy", "exe", "dll", "deb", "dmg", "iso", "img", "msi", "msp", "msm", "buffer"], "application/oda": ["oda"], "application/oebps-package+xml": ["opf"], "application/ogg": ["ogx"], "application/omdoc+xml": ["omdoc"], "application/onenote": ["onetoc", "onetoc2", "onetmp", "onepkg"], "application/oxps": ["oxps"], "application/p2p-overlay+xml": ["relo"], "application/patch-ops-error+xml": ["xer"], "application/pdf": ["pdf"], "application/pgp-encrypted": ["pgp"], "application/pgp-signature": ["asc", "sig"], "application/pics-rules": ["prf"], "application/pkcs10": ["p10"], "application/pkcs7-mime": ["p7m", "p7c"], "application/pkcs7-signature": ["p7s"], "application/pkcs8": ["p8"], "application/pkix-attr-cert": ["ac"], "application/pkix-cert": ["cer"], "application/pkix-crl": ["crl"], "application/pkix-pkipath": ["pkipath"], "application/pkixcmp": ["pki"], "application/pls+xml": ["pls"], "application/postscript": ["ai", "eps", "ps"], "application/provenance+xml": ["provx"], "application/pskc+xml": ["pskcxml"], "application/raml+yaml": ["raml"], "application/rdf+xml": ["rdf", "owl"], "application/reginfo+xml": ["rif"], "application/relax-ng-compact-syntax": ["rnc"], "application/resource-lists+xml": ["rl"], "application/resource-lists-diff+xml": ["rld"], "application/rls-services+xml": ["rs"], "application/route-apd+xml": ["rapd"], "application/route-s-tsid+xml": ["sls"], "application/route-usd+xml": ["rusd"], "application/rpki-ghostbusters": ["gbr"], "application/rpki-manifest": ["mft"], "application/rpki-roa": ["roa"], "application/rsd+xml": ["rsd"], "application/rss+xml": ["rss"], "application/rtf": ["rtf"], "application/sbml+xml": ["sbml"], "application/scvp-cv-request": ["scq"], "application/scvp-cv-response": ["scs"], "application/scvp-vp-request": ["spq"], "application/scvp-vp-response": ["spp"], "application/sdp": ["sdp"], "application/senml+xml": ["senmlx"], "application/sensml+xml": ["sensmlx"], "application/set-payment-initiation": ["setpay"], "application/set-registration-initiation": ["setreg"], "application/shf+xml": ["shf"], "application/sieve": ["siv", "sieve"], "application/smil+xml": ["smi", "smil"], "application/sparql-query": ["rq"], "application/sparql-results+xml": ["srx"], "application/srgs": ["gram"], "application/srgs+xml": ["grxml"], "application/sru+xml": ["sru"], "application/ssdl+xml": ["ssdl"], "application/ssml+xml": ["ssml"], "application/swid+xml": ["swidtag"], "application/tei+xml": ["tei", "teicorpus"], "application/thraud+xml": ["tfi"], "application/timestamped-data": ["tsd"], "application/toml": ["toml"], "application/trig": ["trig"], "application/ttml+xml": ["ttml"], "application/ubjson": ["ubj"], "application/urc-ressheet+xml": ["rsheet"], "application/urc-targetdesc+xml": ["td"], "application/voicexml+xml": ["vxml"], "application/wasm": ["wasm"], "application/widget": ["wgt"], "application/winhlp": ["hlp"], "application/wsdl+xml": ["wsdl"], "application/wspolicy+xml": ["wspolicy"], "application/xaml+xml": ["xaml"], "application/xcap-att+xml": ["xav"], "application/xcap-caps+xml": ["xca"], "application/xcap-diff+xml": ["xdf"], "application/xcap-el+xml": ["xel"], "application/xcap-ns+xml": ["xns"], "application/xenc+xml": ["xenc"], "application/xhtml+xml": ["xhtml", "xht"], "application/xliff+xml": ["xlf"], "application/xml": ["xml", "xsl", "xsd", "rng"], "application/xml-dtd": ["dtd"], "application/xop+xml": ["xop"], "application/xproc+xml": ["xpl"], "application/xslt+xml": ["*xsl", "xslt"], "application/xspf+xml": ["xspf"], "application/xv+xml": ["mxml", "xhvml", "xvml", "xvm"], "application/yang": ["yang"], "application/yin+xml": ["yin"], "application/zip": ["zip"], "audio/3gpp": ["*3gpp"], "audio/adpcm": ["adp"], "audio/amr": ["amr"], "audio/basic": ["au", "snd"], "audio/midi": ["mid", "midi", "kar", "rmi"], "audio/mobile-xmf": ["mxmf"], "audio/mp3": ["*mp3"], "audio/mp4": ["m4a", "mp4a"], "audio/mpeg": ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"], "audio/ogg": ["oga", "ogg", "spx", "opus"], "audio/s3m": ["s3m"], "audio/silk": ["sil"], "audio/wav": ["wav"], "audio/wave": ["*wav"], "audio/webm": ["weba"], "audio/xm": ["xm"], "font/collection": ["ttc"], "font/otf": ["otf"], "font/ttf": ["ttf"], "font/woff": ["woff"], "font/woff2": ["woff2"], "image/aces": ["exr"], "image/apng": ["apng"], "image/avif": ["avif"], "image/bmp": ["bmp"], "image/cgm": ["cgm"], "image/dicom-rle": ["drle"], "image/emf": ["emf"], "image/fits": ["fits"], "image/g3fax": ["g3"], "image/gif": ["gif"], "image/heic": ["heic"], "image/heic-sequence": ["heics"], "image/heif": ["heif"], "image/heif-sequence": ["heifs"], "image/hej2k": ["hej2"], "image/hsj2": ["hsj2"], "image/ief": ["ief"], "image/jls": ["jls"], "image/jp2": ["jp2", "jpg2"], "image/jpeg": ["jpeg", "jpg", "jpe"], "image/jph": ["jph"], "image/jphc": ["jhc"], "image/jpm": ["jpm"], "image/jpx": ["jpx", "jpf"], "image/jxr": ["jxr"], "image/jxra": ["jxra"], "image/jxrs": ["jxrs"], "image/jxs": ["jxs"], "image/jxsc": ["jxsc"], "image/jxsi": ["jxsi"], "image/jxss": ["jxss"], "image/ktx": ["ktx"], "image/ktx2": ["ktx2"], "image/png": ["png"], "image/sgi": ["sgi"], "image/svg+xml": ["svg", "svgz"], "image/t38": ["t38"], "image/tiff": ["tif", "tiff"], "image/tiff-fx": ["tfx"], "image/webp": ["webp"], "image/wmf": ["wmf"], "message/disposition-notification": ["disposition-notification"], "message/global": ["u8msg"], "message/global-delivery-status": ["u8dsn"], "message/global-disposition-notification": ["u8mdn"], "message/global-headers": ["u8hdr"], "message/rfc822": ["eml", "mime"], "model/3mf": ["3mf"], "model/gltf+json": ["gltf"], "model/gltf-binary": ["glb"], "model/iges": ["igs", "iges"], "model/mesh": ["msh", "mesh", "silo"], "model/mtl": ["mtl"], "model/obj": ["obj"], "model/step+xml": ["stpx"], "model/step+zip": ["stpz"], "model/step-xml+zip": ["stpxz"], "model/stl": ["stl"], "model/vrml": ["wrl", "vrml"], "model/x3d+binary": ["*x3db", "x3dbz"], "model/x3d+fastinfoset": ["x3db"], "model/x3d+vrml": ["*x3dv", "x3dvz"], "model/x3d+xml": ["x3d", "x3dz"], "model/x3d-vrml": ["x3dv"], "text/cache-manifest": ["appcache", "manifest"], "text/calendar": ["ics", "ifb"], "text/coffeescript": ["coffee", "litcoffee"], "text/css": ["css"], "text/csv": ["csv"], "text/html": ["html", "htm", "shtml"], "text/jade": ["jade"], "text/jsx": ["jsx"], "text/less": ["less"], "text/markdown": ["markdown", "md"], "text/mathml": ["mml"], "text/mdx": ["mdx"], "text/n3": ["n3"], "text/plain": ["txt", "text", "conf", "def", "list", "log", "in", "ini"], "text/richtext": ["rtx"], "text/rtf": ["*rtf"], "text/sgml": ["sgml", "sgm"], "text/shex": ["shex"], "text/slim": ["slim", "slm"], "text/spdx": ["spdx"], "text/stylus": ["stylus", "styl"], "text/tab-separated-values": ["tsv"], "text/troff": ["t", "tr", "roff", "man", "me", "ms"], "text/turtle": ["ttl"], "text/uri-list": ["uri", "uris", "urls"], "text/vcard": ["vcard"], "text/vtt": ["vtt"], "text/xml": ["*xml"], "text/yaml": ["yaml", "yml"], "video/3gpp": ["3gp", "3gpp"], "video/3gpp2": ["3g2"], "video/h261": ["h261"], "video/h263": ["h263"], "video/h264": ["h264"], "video/iso.segment": ["m4s"], "video/jpeg": ["jpgv"], "video/jpm": ["*jpm", "jpgm"], "video/mj2": ["mj2", "mjp2"], "video/mp2t": ["ts"], "video/mp4": ["mp4", "mp4v", "mpg4"], "video/mpeg": ["mpeg", "mpg", "mpe", "m1v", "m2v"], "video/ogg": ["ogv"], "video/quicktime": ["qt", "mov"], "video/webm": ["webm"] };
    }, function(e2, t2) {
      e2.exports = { "application/prs.cww": ["cww"], "application/vnd.1000minds.decision-model+xml": ["1km"], "application/vnd.3gpp.pic-bw-large": ["plb"], "application/vnd.3gpp.pic-bw-small": ["psb"], "application/vnd.3gpp.pic-bw-var": ["pvb"], "application/vnd.3gpp2.tcap": ["tcap"], "application/vnd.3m.post-it-notes": ["pwn"], "application/vnd.accpac.simply.aso": ["aso"], "application/vnd.accpac.simply.imp": ["imp"], "application/vnd.acucobol": ["acu"], "application/vnd.acucorp": ["atc", "acutc"], "application/vnd.adobe.air-application-installer-package+zip": ["air"], "application/vnd.adobe.formscentral.fcdt": ["fcdt"], "application/vnd.adobe.fxp": ["fxp", "fxpl"], "application/vnd.adobe.xdp+xml": ["xdp"], "application/vnd.adobe.xfdf": ["xfdf"], "application/vnd.ahead.space": ["ahead"], "application/vnd.airzip.filesecure.azf": ["azf"], "application/vnd.airzip.filesecure.azs": ["azs"], "application/vnd.amazon.ebook": ["azw"], "application/vnd.americandynamics.acc": ["acc"], "application/vnd.amiga.ami": ["ami"], "application/vnd.android.package-archive": ["apk"], "application/vnd.anser-web-certificate-issue-initiation": ["cii"], "application/vnd.anser-web-funds-transfer-initiation": ["fti"], "application/vnd.antix.game-component": ["atx"], "application/vnd.apple.installer+xml": ["mpkg"], "application/vnd.apple.keynote": ["key"], "application/vnd.apple.mpegurl": ["m3u8"], "application/vnd.apple.numbers": ["numbers"], "application/vnd.apple.pages": ["pages"], "application/vnd.apple.pkpass": ["pkpass"], "application/vnd.aristanetworks.swi": ["swi"], "application/vnd.astraea-software.iota": ["iota"], "application/vnd.audiograph": ["aep"], "application/vnd.balsamiq.bmml+xml": ["bmml"], "application/vnd.blueice.multipass": ["mpm"], "application/vnd.bmi": ["bmi"], "application/vnd.businessobjects": ["rep"], "application/vnd.chemdraw+xml": ["cdxml"], "application/vnd.chipnuts.karaoke-mmd": ["mmd"], "application/vnd.cinderella": ["cdy"], "application/vnd.citationstyles.style+xml": ["csl"], "application/vnd.claymore": ["cla"], "application/vnd.cloanto.rp9": ["rp9"], "application/vnd.clonk.c4group": ["c4g", "c4d", "c4f", "c4p", "c4u"], "application/vnd.cluetrust.cartomobile-config": ["c11amc"], "application/vnd.cluetrust.cartomobile-config-pkg": ["c11amz"], "application/vnd.commonspace": ["csp"], "application/vnd.contact.cmsg": ["cdbcmsg"], "application/vnd.cosmocaller": ["cmc"], "application/vnd.crick.clicker": ["clkx"], "application/vnd.crick.clicker.keyboard": ["clkk"], "application/vnd.crick.clicker.palette": ["clkp"], "application/vnd.crick.clicker.template": ["clkt"], "application/vnd.crick.clicker.wordbank": ["clkw"], "application/vnd.criticaltools.wbs+xml": ["wbs"], "application/vnd.ctc-posml": ["pml"], "application/vnd.cups-ppd": ["ppd"], "application/vnd.curl.car": ["car"], "application/vnd.curl.pcurl": ["pcurl"], "application/vnd.dart": ["dart"], "application/vnd.data-vision.rdz": ["rdz"], "application/vnd.dbf": ["dbf"], "application/vnd.dece.data": ["uvf", "uvvf", "uvd", "uvvd"], "application/vnd.dece.ttml+xml": ["uvt", "uvvt"], "application/vnd.dece.unspecified": ["uvx", "uvvx"], "application/vnd.dece.zip": ["uvz", "uvvz"], "application/vnd.denovo.fcselayout-link": ["fe_launch"], "application/vnd.dna": ["dna"], "application/vnd.dolby.mlp": ["mlp"], "application/vnd.dpgraph": ["dpg"], "application/vnd.dreamfactory": ["dfac"], "application/vnd.ds-keypoint": ["kpxx"], "application/vnd.dvb.ait": ["ait"], "application/vnd.dvb.service": ["svc"], "application/vnd.dynageo": ["geo"], "application/vnd.ecowin.chart": ["mag"], "application/vnd.enliven": ["nml"], "application/vnd.epson.esf": ["esf"], "application/vnd.epson.msf": ["msf"], "application/vnd.epson.quickanime": ["qam"], "application/vnd.epson.salt": ["slt"], "application/vnd.epson.ssf": ["ssf"], "application/vnd.eszigno3+xml": ["es3", "et3"], "application/vnd.ezpix-album": ["ez2"], "application/vnd.ezpix-package": ["ez3"], "application/vnd.fdf": ["fdf"], "application/vnd.fdsn.mseed": ["mseed"], "application/vnd.fdsn.seed": ["seed", "dataless"], "application/vnd.flographit": ["gph"], "application/vnd.fluxtime.clip": ["ftc"], "application/vnd.framemaker": ["fm", "frame", "maker", "book"], "application/vnd.frogans.fnc": ["fnc"], "application/vnd.frogans.ltf": ["ltf"], "application/vnd.fsc.weblaunch": ["fsc"], "application/vnd.fujitsu.oasys": ["oas"], "application/vnd.fujitsu.oasys2": ["oa2"], "application/vnd.fujitsu.oasys3": ["oa3"], "application/vnd.fujitsu.oasysgp": ["fg5"], "application/vnd.fujitsu.oasysprs": ["bh2"], "application/vnd.fujixerox.ddd": ["ddd"], "application/vnd.fujixerox.docuworks": ["xdw"], "application/vnd.fujixerox.docuworks.binder": ["xbd"], "application/vnd.fuzzysheet": ["fzs"], "application/vnd.genomatix.tuxedo": ["txd"], "application/vnd.geogebra.file": ["ggb"], "application/vnd.geogebra.tool": ["ggt"], "application/vnd.geometry-explorer": ["gex", "gre"], "application/vnd.geonext": ["gxt"], "application/vnd.geoplan": ["g2w"], "application/vnd.geospace": ["g3w"], "application/vnd.gmx": ["gmx"], "application/vnd.google-apps.document": ["gdoc"], "application/vnd.google-apps.presentation": ["gslides"], "application/vnd.google-apps.spreadsheet": ["gsheet"], "application/vnd.google-earth.kml+xml": ["kml"], "application/vnd.google-earth.kmz": ["kmz"], "application/vnd.grafeq": ["gqf", "gqs"], "application/vnd.groove-account": ["gac"], "application/vnd.groove-help": ["ghf"], "application/vnd.groove-identity-message": ["gim"], "application/vnd.groove-injector": ["grv"], "application/vnd.groove-tool-message": ["gtm"], "application/vnd.groove-tool-template": ["tpl"], "application/vnd.groove-vcard": ["vcg"], "application/vnd.hal+xml": ["hal"], "application/vnd.handheld-entertainment+xml": ["zmm"], "application/vnd.hbci": ["hbci"], "application/vnd.hhe.lesson-player": ["les"], "application/vnd.hp-hpgl": ["hpgl"], "application/vnd.hp-hpid": ["hpid"], "application/vnd.hp-hps": ["hps"], "application/vnd.hp-jlyt": ["jlt"], "application/vnd.hp-pcl": ["pcl"], "application/vnd.hp-pclxl": ["pclxl"], "application/vnd.hydrostatix.sof-data": ["sfd-hdstx"], "application/vnd.ibm.minipay": ["mpy"], "application/vnd.ibm.modcap": ["afp", "listafp", "list3820"], "application/vnd.ibm.rights-management": ["irm"], "application/vnd.ibm.secure-container": ["sc"], "application/vnd.iccprofile": ["icc", "icm"], "application/vnd.igloader": ["igl"], "application/vnd.immervision-ivp": ["ivp"], "application/vnd.immervision-ivu": ["ivu"], "application/vnd.insors.igm": ["igm"], "application/vnd.intercon.formnet": ["xpw", "xpx"], "application/vnd.intergeo": ["i2g"], "application/vnd.intu.qbo": ["qbo"], "application/vnd.intu.qfx": ["qfx"], "application/vnd.ipunplugged.rcprofile": ["rcprofile"], "application/vnd.irepository.package+xml": ["irp"], "application/vnd.is-xpr": ["xpr"], "application/vnd.isac.fcs": ["fcs"], "application/vnd.jam": ["jam"], "application/vnd.jcp.javame.midlet-rms": ["rms"], "application/vnd.jisp": ["jisp"], "application/vnd.joost.joda-archive": ["joda"], "application/vnd.kahootz": ["ktz", "ktr"], "application/vnd.kde.karbon": ["karbon"], "application/vnd.kde.kchart": ["chrt"], "application/vnd.kde.kformula": ["kfo"], "application/vnd.kde.kivio": ["flw"], "application/vnd.kde.kontour": ["kon"], "application/vnd.kde.kpresenter": ["kpr", "kpt"], "application/vnd.kde.kspread": ["ksp"], "application/vnd.kde.kword": ["kwd", "kwt"], "application/vnd.kenameaapp": ["htke"], "application/vnd.kidspiration": ["kia"], "application/vnd.kinar": ["kne", "knp"], "application/vnd.koan": ["skp", "skd", "skt", "skm"], "application/vnd.kodak-descriptor": ["sse"], "application/vnd.las.las+xml": ["lasxml"], "application/vnd.llamagraphics.life-balance.desktop": ["lbd"], "application/vnd.llamagraphics.life-balance.exchange+xml": ["lbe"], "application/vnd.lotus-1-2-3": ["123"], "application/vnd.lotus-approach": ["apr"], "application/vnd.lotus-freelance": ["pre"], "application/vnd.lotus-notes": ["nsf"], "application/vnd.lotus-organizer": ["org"], "application/vnd.lotus-screencam": ["scm"], "application/vnd.lotus-wordpro": ["lwp"], "application/vnd.macports.portpkg": ["portpkg"], "application/vnd.mapbox-vector-tile": ["mvt"], "application/vnd.mcd": ["mcd"], "application/vnd.medcalcdata": ["mc1"], "application/vnd.mediastation.cdkey": ["cdkey"], "application/vnd.mfer": ["mwf"], "application/vnd.mfmp": ["mfm"], "application/vnd.micrografx.flo": ["flo"], "application/vnd.micrografx.igx": ["igx"], "application/vnd.mif": ["mif"], "application/vnd.mobius.daf": ["daf"], "application/vnd.mobius.dis": ["dis"], "application/vnd.mobius.mbk": ["mbk"], "application/vnd.mobius.mqy": ["mqy"], "application/vnd.mobius.msl": ["msl"], "application/vnd.mobius.plc": ["plc"], "application/vnd.mobius.txf": ["txf"], "application/vnd.mophun.application": ["mpn"], "application/vnd.mophun.certificate": ["mpc"], "application/vnd.mozilla.xul+xml": ["xul"], "application/vnd.ms-artgalry": ["cil"], "application/vnd.ms-cab-compressed": ["cab"], "application/vnd.ms-excel": ["xls", "xlm", "xla", "xlc", "xlt", "xlw"], "application/vnd.ms-excel.addin.macroenabled.12": ["xlam"], "application/vnd.ms-excel.sheet.binary.macroenabled.12": ["xlsb"], "application/vnd.ms-excel.sheet.macroenabled.12": ["xlsm"], "application/vnd.ms-excel.template.macroenabled.12": ["xltm"], "application/vnd.ms-fontobject": ["eot"], "application/vnd.ms-htmlhelp": ["chm"], "application/vnd.ms-ims": ["ims"], "application/vnd.ms-lrm": ["lrm"], "application/vnd.ms-officetheme": ["thmx"], "application/vnd.ms-outlook": ["msg"], "application/vnd.ms-pki.seccat": ["cat"], "application/vnd.ms-pki.stl": ["*stl"], "application/vnd.ms-powerpoint": ["ppt", "pps", "pot"], "application/vnd.ms-powerpoint.addin.macroenabled.12": ["ppam"], "application/vnd.ms-powerpoint.presentation.macroenabled.12": ["pptm"], "application/vnd.ms-powerpoint.slide.macroenabled.12": ["sldm"], "application/vnd.ms-powerpoint.slideshow.macroenabled.12": ["ppsm"], "application/vnd.ms-powerpoint.template.macroenabled.12": ["potm"], "application/vnd.ms-project": ["mpp", "mpt"], "application/vnd.ms-word.document.macroenabled.12": ["docm"], "application/vnd.ms-word.template.macroenabled.12": ["dotm"], "application/vnd.ms-works": ["wps", "wks", "wcm", "wdb"], "application/vnd.ms-wpl": ["wpl"], "application/vnd.ms-xpsdocument": ["xps"], "application/vnd.mseq": ["mseq"], "application/vnd.musician": ["mus"], "application/vnd.muvee.style": ["msty"], "application/vnd.mynfc": ["taglet"], "application/vnd.neurolanguage.nlu": ["nlu"], "application/vnd.nitf": ["ntf", "nitf"], "application/vnd.noblenet-directory": ["nnd"], "application/vnd.noblenet-sealer": ["nns"], "application/vnd.noblenet-web": ["nnw"], "application/vnd.nokia.n-gage.ac+xml": ["*ac"], "application/vnd.nokia.n-gage.data": ["ngdat"], "application/vnd.nokia.n-gage.symbian.install": ["n-gage"], "application/vnd.nokia.radio-preset": ["rpst"], "application/vnd.nokia.radio-presets": ["rpss"], "application/vnd.novadigm.edm": ["edm"], "application/vnd.novadigm.edx": ["edx"], "application/vnd.novadigm.ext": ["ext"], "application/vnd.oasis.opendocument.chart": ["odc"], "application/vnd.oasis.opendocument.chart-template": ["otc"], "application/vnd.oasis.opendocument.database": ["odb"], "application/vnd.oasis.opendocument.formula": ["odf"], "application/vnd.oasis.opendocument.formula-template": ["odft"], "application/vnd.oasis.opendocument.graphics": ["odg"], "application/vnd.oasis.opendocument.graphics-template": ["otg"], "application/vnd.oasis.opendocument.image": ["odi"], "application/vnd.oasis.opendocument.image-template": ["oti"], "application/vnd.oasis.opendocument.presentation": ["odp"], "application/vnd.oasis.opendocument.presentation-template": ["otp"], "application/vnd.oasis.opendocument.spreadsheet": ["ods"], "application/vnd.oasis.opendocument.spreadsheet-template": ["ots"], "application/vnd.oasis.opendocument.text": ["odt"], "application/vnd.oasis.opendocument.text-master": ["odm"], "application/vnd.oasis.opendocument.text-template": ["ott"], "application/vnd.oasis.opendocument.text-web": ["oth"], "application/vnd.olpc-sugar": ["xo"], "application/vnd.oma.dd2+xml": ["dd2"], "application/vnd.openblox.game+xml": ["obgx"], "application/vnd.openofficeorg.extension": ["oxt"], "application/vnd.openstreetmap.data+xml": ["osm"], "application/vnd.openxmlformats-officedocument.presentationml.presentation": ["pptx"], "application/vnd.openxmlformats-officedocument.presentationml.slide": ["sldx"], "application/vnd.openxmlformats-officedocument.presentationml.slideshow": ["ppsx"], "application/vnd.openxmlformats-officedocument.presentationml.template": ["potx"], "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": ["xlsx"], "application/vnd.openxmlformats-officedocument.spreadsheetml.template": ["xltx"], "application/vnd.openxmlformats-officedocument.wordprocessingml.document": ["docx"], "application/vnd.openxmlformats-officedocument.wordprocessingml.template": ["dotx"], "application/vnd.osgeo.mapguide.package": ["mgp"], "application/vnd.osgi.dp": ["dp"], "application/vnd.osgi.subsystem": ["esa"], "application/vnd.palm": ["pdb", "pqa", "oprc"], "application/vnd.pawaafile": ["paw"], "application/vnd.pg.format": ["str"], "application/vnd.pg.osasli": ["ei6"], "application/vnd.picsel": ["efif"], "application/vnd.pmi.widget": ["wg"], "application/vnd.pocketlearn": ["plf"], "application/vnd.powerbuilder6": ["pbd"], "application/vnd.previewsystems.box": ["box"], "application/vnd.proteus.magazine": ["mgz"], "application/vnd.publishare-delta-tree": ["qps"], "application/vnd.pvi.ptid1": ["ptid"], "application/vnd.quark.quarkxpress": ["qxd", "qxt", "qwd", "qwt", "qxl", "qxb"], "application/vnd.rar": ["rar"], "application/vnd.realvnc.bed": ["bed"], "application/vnd.recordare.musicxml": ["mxl"], "application/vnd.recordare.musicxml+xml": ["musicxml"], "application/vnd.rig.cryptonote": ["cryptonote"], "application/vnd.rim.cod": ["cod"], "application/vnd.rn-realmedia": ["rm"], "application/vnd.rn-realmedia-vbr": ["rmvb"], "application/vnd.route66.link66+xml": ["link66"], "application/vnd.sailingtracker.track": ["st"], "application/vnd.seemail": ["see"], "application/vnd.sema": ["sema"], "application/vnd.semd": ["semd"], "application/vnd.semf": ["semf"], "application/vnd.shana.informed.formdata": ["ifm"], "application/vnd.shana.informed.formtemplate": ["itp"], "application/vnd.shana.informed.interchange": ["iif"], "application/vnd.shana.informed.package": ["ipk"], "application/vnd.simtech-mindmapper": ["twd", "twds"], "application/vnd.smaf": ["mmf"], "application/vnd.smart.teacher": ["teacher"], "application/vnd.software602.filler.form+xml": ["fo"], "application/vnd.solent.sdkm+xml": ["sdkm", "sdkd"], "application/vnd.spotfire.dxp": ["dxp"], "application/vnd.spotfire.sfs": ["sfs"], "application/vnd.stardivision.calc": ["sdc"], "application/vnd.stardivision.draw": ["sda"], "application/vnd.stardivision.impress": ["sdd"], "application/vnd.stardivision.math": ["smf"], "application/vnd.stardivision.writer": ["sdw", "vor"], "application/vnd.stardivision.writer-global": ["sgl"], "application/vnd.stepmania.package": ["smzip"], "application/vnd.stepmania.stepchart": ["sm"], "application/vnd.sun.wadl+xml": ["wadl"], "application/vnd.sun.xml.calc": ["sxc"], "application/vnd.sun.xml.calc.template": ["stc"], "application/vnd.sun.xml.draw": ["sxd"], "application/vnd.sun.xml.draw.template": ["std"], "application/vnd.sun.xml.impress": ["sxi"], "application/vnd.sun.xml.impress.template": ["sti"], "application/vnd.sun.xml.math": ["sxm"], "application/vnd.sun.xml.writer": ["sxw"], "application/vnd.sun.xml.writer.global": ["sxg"], "application/vnd.sun.xml.writer.template": ["stw"], "application/vnd.sus-calendar": ["sus", "susp"], "application/vnd.svd": ["svd"], "application/vnd.symbian.install": ["sis", "sisx"], "application/vnd.syncml+xml": ["xsm"], "application/vnd.syncml.dm+wbxml": ["bdm"], "application/vnd.syncml.dm+xml": ["xdm"], "application/vnd.syncml.dmddf+xml": ["ddf"], "application/vnd.tao.intent-module-archive": ["tao"], "application/vnd.tcpdump.pcap": ["pcap", "cap", "dmp"], "application/vnd.tmobile-livetv": ["tmo"], "application/vnd.trid.tpt": ["tpt"], "application/vnd.triscape.mxs": ["mxs"], "application/vnd.trueapp": ["tra"], "application/vnd.ufdl": ["ufd", "ufdl"], "application/vnd.uiq.theme": ["utz"], "application/vnd.umajin": ["umj"], "application/vnd.unity": ["unityweb"], "application/vnd.uoml+xml": ["uoml"], "application/vnd.vcx": ["vcx"], "application/vnd.visio": ["vsd", "vst", "vss", "vsw"], "application/vnd.visionary": ["vis"], "application/vnd.vsf": ["vsf"], "application/vnd.wap.wbxml": ["wbxml"], "application/vnd.wap.wmlc": ["wmlc"], "application/vnd.wap.wmlscriptc": ["wmlsc"], "application/vnd.webturbo": ["wtb"], "application/vnd.wolfram.player": ["nbp"], "application/vnd.wordperfect": ["wpd"], "application/vnd.wqd": ["wqd"], "application/vnd.wt.stf": ["stf"], "application/vnd.xara": ["xar"], "application/vnd.xfdl": ["xfdl"], "application/vnd.yamaha.hv-dic": ["hvd"], "application/vnd.yamaha.hv-script": ["hvs"], "application/vnd.yamaha.hv-voice": ["hvp"], "application/vnd.yamaha.openscoreformat": ["osf"], "application/vnd.yamaha.openscoreformat.osfpvg+xml": ["osfpvg"], "application/vnd.yamaha.smaf-audio": ["saf"], "application/vnd.yamaha.smaf-phrase": ["spf"], "application/vnd.yellowriver-custom-menu": ["cmp"], "application/vnd.zul": ["zir", "zirz"], "application/vnd.zzazz.deck+xml": ["zaz"], "application/x-7z-compressed": ["7z"], "application/x-abiword": ["abw"], "application/x-ace-compressed": ["ace"], "application/x-apple-diskimage": ["*dmg"], "application/x-arj": ["arj"], "application/x-authorware-bin": ["aab", "x32", "u32", "vox"], "application/x-authorware-map": ["aam"], "application/x-authorware-seg": ["aas"], "application/x-bcpio": ["bcpio"], "application/x-bdoc": ["*bdoc"], "application/x-bittorrent": ["torrent"], "application/x-blorb": ["blb", "blorb"], "application/x-bzip": ["bz"], "application/x-bzip2": ["bz2", "boz"], "application/x-cbr": ["cbr", "cba", "cbt", "cbz", "cb7"], "application/x-cdlink": ["vcd"], "application/x-cfs-compressed": ["cfs"], "application/x-chat": ["chat"], "application/x-chess-pgn": ["pgn"], "application/x-chrome-extension": ["crx"], "application/x-cocoa": ["cco"], "application/x-conference": ["nsc"], "application/x-cpio": ["cpio"], "application/x-csh": ["csh"], "application/x-debian-package": ["*deb", "udeb"], "application/x-dgc-compressed": ["dgc"], "application/x-director": ["dir", "dcr", "dxr", "cst", "cct", "cxt", "w3d", "fgd", "swa"], "application/x-doom": ["wad"], "application/x-dtbncx+xml": ["ncx"], "application/x-dtbook+xml": ["dtb"], "application/x-dtbresource+xml": ["res"], "application/x-dvi": ["dvi"], "application/x-envoy": ["evy"], "application/x-eva": ["eva"], "application/x-font-bdf": ["bdf"], "application/x-font-ghostscript": ["gsf"], "application/x-font-linux-psf": ["psf"], "application/x-font-pcf": ["pcf"], "application/x-font-snf": ["snf"], "application/x-font-type1": ["pfa", "pfb", "pfm", "afm"], "application/x-freearc": ["arc"], "application/x-futuresplash": ["spl"], "application/x-gca-compressed": ["gca"], "application/x-glulx": ["ulx"], "application/x-gnumeric": ["gnumeric"], "application/x-gramps-xml": ["gramps"], "application/x-gtar": ["gtar"], "application/x-hdf": ["hdf"], "application/x-httpd-php": ["php"], "application/x-install-instructions": ["install"], "application/x-iso9660-image": ["*iso"], "application/x-iwork-keynote-sffkey": ["*key"], "application/x-iwork-numbers-sffnumbers": ["*numbers"], "application/x-iwork-pages-sffpages": ["*pages"], "application/x-java-archive-diff": ["jardiff"], "application/x-java-jnlp-file": ["jnlp"], "application/x-keepass2": ["kdbx"], "application/x-latex": ["latex"], "application/x-lua-bytecode": ["luac"], "application/x-lzh-compressed": ["lzh", "lha"], "application/x-makeself": ["run"], "application/x-mie": ["mie"], "application/x-mobipocket-ebook": ["prc", "mobi"], "application/x-ms-application": ["application"], "application/x-ms-shortcut": ["lnk"], "application/x-ms-wmd": ["wmd"], "application/x-ms-wmz": ["wmz"], "application/x-ms-xbap": ["xbap"], "application/x-msaccess": ["mdb"], "application/x-msbinder": ["obd"], "application/x-mscardfile": ["crd"], "application/x-msclip": ["clp"], "application/x-msdos-program": ["*exe"], "application/x-msdownload": ["*exe", "*dll", "com", "bat", "*msi"], "application/x-msmediaview": ["mvb", "m13", "m14"], "application/x-msmetafile": ["*wmf", "*wmz", "*emf", "emz"], "application/x-msmoney": ["mny"], "application/x-mspublisher": ["pub"], "application/x-msschedule": ["scd"], "application/x-msterminal": ["trm"], "application/x-mswrite": ["wri"], "application/x-netcdf": ["nc", "cdf"], "application/x-ns-proxy-autoconfig": ["pac"], "application/x-nzb": ["nzb"], "application/x-perl": ["pl", "pm"], "application/x-pilot": ["*prc", "*pdb"], "application/x-pkcs12": ["p12", "pfx"], "application/x-pkcs7-certificates": ["p7b", "spc"], "application/x-pkcs7-certreqresp": ["p7r"], "application/x-rar-compressed": ["*rar"], "application/x-redhat-package-manager": ["rpm"], "application/x-research-info-systems": ["ris"], "application/x-sea": ["sea"], "application/x-sh": ["sh"], "application/x-shar": ["shar"], "application/x-shockwave-flash": ["swf"], "application/x-silverlight-app": ["xap"], "application/x-sql": ["sql"], "application/x-stuffit": ["sit"], "application/x-stuffitx": ["sitx"], "application/x-subrip": ["srt"], "application/x-sv4cpio": ["sv4cpio"], "application/x-sv4crc": ["sv4crc"], "application/x-t3vm-image": ["t3"], "application/x-tads": ["gam"], "application/x-tar": ["tar"], "application/x-tcl": ["tcl", "tk"], "application/x-tex": ["tex"], "application/x-tex-tfm": ["tfm"], "application/x-texinfo": ["texinfo", "texi"], "application/x-tgif": ["*obj"], "application/x-ustar": ["ustar"], "application/x-virtualbox-hdd": ["hdd"], "application/x-virtualbox-ova": ["ova"], "application/x-virtualbox-ovf": ["ovf"], "application/x-virtualbox-vbox": ["vbox"], "application/x-virtualbox-vbox-extpack": ["vbox-extpack"], "application/x-virtualbox-vdi": ["vdi"], "application/x-virtualbox-vhd": ["vhd"], "application/x-virtualbox-vmdk": ["vmdk"], "application/x-wais-source": ["src"], "application/x-web-app-manifest+json": ["webapp"], "application/x-x509-ca-cert": ["der", "crt", "pem"], "application/x-xfig": ["fig"], "application/x-xliff+xml": ["*xlf"], "application/x-xpinstall": ["xpi"], "application/x-xz": ["xz"], "application/x-zmachine": ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"], "audio/vnd.dece.audio": ["uva", "uvva"], "audio/vnd.digital-winds": ["eol"], "audio/vnd.dra": ["dra"], "audio/vnd.dts": ["dts"], "audio/vnd.dts.hd": ["dtshd"], "audio/vnd.lucent.voice": ["lvp"], "audio/vnd.ms-playready.media.pya": ["pya"], "audio/vnd.nuera.ecelp4800": ["ecelp4800"], "audio/vnd.nuera.ecelp7470": ["ecelp7470"], "audio/vnd.nuera.ecelp9600": ["ecelp9600"], "audio/vnd.rip": ["rip"], "audio/x-aac": ["aac"], "audio/x-aiff": ["aif", "aiff", "aifc"], "audio/x-caf": ["caf"], "audio/x-flac": ["flac"], "audio/x-m4a": ["*m4a"], "audio/x-matroska": ["mka"], "audio/x-mpegurl": ["m3u"], "audio/x-ms-wax": ["wax"], "audio/x-ms-wma": ["wma"], "audio/x-pn-realaudio": ["ram", "ra"], "audio/x-pn-realaudio-plugin": ["rmp"], "audio/x-realaudio": ["*ra"], "audio/x-wav": ["*wav"], "chemical/x-cdx": ["cdx"], "chemical/x-cif": ["cif"], "chemical/x-cmdf": ["cmdf"], "chemical/x-cml": ["cml"], "chemical/x-csml": ["csml"], "chemical/x-xyz": ["xyz"], "image/prs.btif": ["btif"], "image/prs.pti": ["pti"], "image/vnd.adobe.photoshop": ["psd"], "image/vnd.airzip.accelerator.azv": ["azv"], "image/vnd.dece.graphic": ["uvi", "uvvi", "uvg", "uvvg"], "image/vnd.djvu": ["djvu", "djv"], "image/vnd.dvb.subtitle": ["*sub"], "image/vnd.dwg": ["dwg"], "image/vnd.dxf": ["dxf"], "image/vnd.fastbidsheet": ["fbs"], "image/vnd.fpx": ["fpx"], "image/vnd.fst": ["fst"], "image/vnd.fujixerox.edmics-mmr": ["mmr"], "image/vnd.fujixerox.edmics-rlc": ["rlc"], "image/vnd.microsoft.icon": ["ico"], "image/vnd.ms-dds": ["dds"], "image/vnd.ms-modi": ["mdi"], "image/vnd.ms-photo": ["wdp"], "image/vnd.net-fpx": ["npx"], "image/vnd.pco.b16": ["b16"], "image/vnd.tencent.tap": ["tap"], "image/vnd.valve.source.texture": ["vtf"], "image/vnd.wap.wbmp": ["wbmp"], "image/vnd.xiff": ["xif"], "image/vnd.zbrush.pcx": ["pcx"], "image/x-3ds": ["3ds"], "image/x-cmu-raster": ["ras"], "image/x-cmx": ["cmx"], "image/x-freehand": ["fh", "fhc", "fh4", "fh5", "fh7"], "image/x-icon": ["*ico"], "image/x-jng": ["jng"], "image/x-mrsid-image": ["sid"], "image/x-ms-bmp": ["*bmp"], "image/x-pcx": ["*pcx"], "image/x-pict": ["pic", "pct"], "image/x-portable-anymap": ["pnm"], "image/x-portable-bitmap": ["pbm"], "image/x-portable-graymap": ["pgm"], "image/x-portable-pixmap": ["ppm"], "image/x-rgb": ["rgb"], "image/x-tga": ["tga"], "image/x-xbitmap": ["xbm"], "image/x-xpixmap": ["xpm"], "image/x-xwindowdump": ["xwd"], "message/vnd.wfa.wsc": ["wsc"], "model/vnd.collada+xml": ["dae"], "model/vnd.dwf": ["dwf"], "model/vnd.gdl": ["gdl"], "model/vnd.gtw": ["gtw"], "model/vnd.mts": ["mts"], "model/vnd.opengex": ["ogex"], "model/vnd.parasolid.transmit.binary": ["x_b"], "model/vnd.parasolid.transmit.text": ["x_t"], "model/vnd.sap.vds": ["vds"], "model/vnd.usdz+zip": ["usdz"], "model/vnd.valve.source.compiled-map": ["bsp"], "model/vnd.vtu": ["vtu"], "text/prs.lines.tag": ["dsc"], "text/vnd.curl": ["curl"], "text/vnd.curl.dcurl": ["dcurl"], "text/vnd.curl.mcurl": ["mcurl"], "text/vnd.curl.scurl": ["scurl"], "text/vnd.dvb.subtitle": ["sub"], "text/vnd.fly": ["fly"], "text/vnd.fmi.flexstor": ["flx"], "text/vnd.graphviz": ["gv"], "text/vnd.in3d.3dml": ["3dml"], "text/vnd.in3d.spot": ["spot"], "text/vnd.sun.j2me.app-descriptor": ["jad"], "text/vnd.wap.wml": ["wml"], "text/vnd.wap.wmlscript": ["wmls"], "text/x-asm": ["s", "asm"], "text/x-c": ["c", "cc", "cxx", "cpp", "h", "hh", "dic"], "text/x-component": ["htc"], "text/x-fortran": ["f", "for", "f77", "f90"], "text/x-handlebars-template": ["hbs"], "text/x-java-source": ["java"], "text/x-lua": ["lua"], "text/x-markdown": ["mkd"], "text/x-nfo": ["nfo"], "text/x-opml": ["opml"], "text/x-org": ["*org"], "text/x-pascal": ["p", "pas"], "text/x-processing": ["pde"], "text/x-sass": ["sass"], "text/x-scss": ["scss"], "text/x-setext": ["etx"], "text/x-sfv": ["sfv"], "text/x-suse-ymp": ["ymp"], "text/x-uuencode": ["uu"], "text/x-vcalendar": ["vcs"], "text/x-vcard": ["vcf"], "video/vnd.dece.hd": ["uvh", "uvvh"], "video/vnd.dece.mobile": ["uvm", "uvvm"], "video/vnd.dece.pd": ["uvp", "uvvp"], "video/vnd.dece.sd": ["uvs", "uvvs"], "video/vnd.dece.video": ["uvv", "uvvv"], "video/vnd.dvb.file": ["dvb"], "video/vnd.fvt": ["fvt"], "video/vnd.mpegurl": ["mxu", "m4u"], "video/vnd.ms-playready.media.pyv": ["pyv"], "video/vnd.uvvu.mp4": ["uvu", "uvvu"], "video/vnd.vivo": ["viv"], "video/x-f4v": ["f4v"], "video/x-fli": ["fli"], "video/x-flv": ["flv"], "video/x-m4v": ["m4v"], "video/x-matroska": ["mkv", "mk3d", "mks"], "video/x-mng": ["mng"], "video/x-ms-asf": ["asf", "asx"], "video/x-ms-vob": ["vob"], "video/x-ms-wm": ["wm"], "video/x-ms-wmv": ["wmv"], "video/x-ms-wmx": ["wmx"], "video/x-ms-wvx": ["wvx"], "video/x-msvideo": ["avi"], "video/x-sgi-movie": ["movie"], "video/x-smv": ["smv"], "x-conference/x-cooltalk": ["ice"] };
    }, function(e2, t2, r2) {
      function n2() {
        /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
        n2 = function() {
          return t3;
        };
        var e3, t3 = {}, r3 = Object.prototype, i2 = r3.hasOwnProperty, o3 = Object.defineProperty || function(e4, t4, r4) {
          e4[t4] = r4.value;
        }, s3 = "function" == typeof Symbol ? Symbol : {}, c2 = s3.iterator || "@@iterator", l2 = s3.asyncIterator || "@@asyncIterator", p3 = s3.toStringTag || "@@toStringTag";
        function u2(e4, t4, r4) {
          return Object.defineProperty(e4, t4, { value: r4, enumerable: true, configurable: true, writable: true }), e4[t4];
        }
        try {
          u2({}, "");
        } catch (e4) {
          u2 = function(e5, t4, r4) {
            return e5[t4] = r4;
          };
        }
        function d2(e4, t4, r4, n3) {
          var a2 = t4 && t4.prototype instanceof x2 ? t4 : x2, i3 = Object.create(a2.prototype), s4 = new O(n3 || []);
          return o3(i3, "_invoke", { value: A(e4, r4, s4) }), i3;
        }
        function f3(e4, t4, r4) {
          try {
            return { type: "normal", arg: e4.call(t4, r4) };
          } catch (e5) {
            return { type: "throw", arg: e5 };
          }
        }
        t3.wrap = d2;
        var m3 = "suspendedStart", h2 = "suspendedYield", g2 = "executing", v2 = "completed", y2 = {};
        function x2() {
        }
        function b2() {
        }
        function k2() {
        }
        var w2 = {};
        u2(w2, c2, function() {
          return this;
        });
        var C = Object.getPrototypeOf, S = C && C(C(D([])));
        S && S !== r3 && i2.call(S, c2) && (w2 = S);
        var T = k2.prototype = x2.prototype = Object.create(w2);
        function E2(e4) {
          ["next", "throw", "return"].forEach(function(t4) {
            u2(e4, t4, function(e5) {
              return this._invoke(t4, e5);
            });
          });
        }
        function R(e4, t4) {
          function r4(n4, o4, s4, c3) {
            var l3 = f3(e4[n4], e4, o4);
            if ("throw" !== l3.type) {
              var p4 = l3.arg, u3 = p4.value;
              return u3 && "object" == a(u3) && i2.call(u3, "__await") ? t4.resolve(u3.__await).then(function(e5) {
                r4("next", e5, s4, c3);
              }, function(e5) {
                r4("throw", e5, s4, c3);
              }) : t4.resolve(u3).then(function(e5) {
                p4.value = e5, s4(p4);
              }, function(e5) {
                return r4("throw", e5, s4, c3);
              });
            }
            c3(l3.arg);
          }
          var n3;
          o3(this, "_invoke", { value: function(e5, a2) {
            function i3() {
              return new t4(function(t5, n4) {
                r4(e5, a2, t5, n4);
              });
            }
            return n3 = n3 ? n3.then(i3, i3) : i3();
          } });
        }
        function A(t4, r4, n3) {
          var a2 = m3;
          return function(i3, o4) {
            if (a2 === g2)
              throw Error("Generator is already running");
            if (a2 === v2) {
              if ("throw" === i3)
                throw o4;
              return { value: e3, done: true };
            }
            for (n3.method = i3, n3.arg = o4; ; ) {
              var s4 = n3.delegate;
              if (s4) {
                var c3 = _(s4, n3);
                if (c3) {
                  if (c3 === y2)
                    continue;
                  return c3;
                }
              }
              if ("next" === n3.method)
                n3.sent = n3._sent = n3.arg;
              else if ("throw" === n3.method) {
                if (a2 === m3)
                  throw a2 = v2, n3.arg;
                n3.dispatchException(n3.arg);
              } else
                "return" === n3.method && n3.abrupt("return", n3.arg);
              a2 = g2;
              var l3 = f3(t4, r4, n3);
              if ("normal" === l3.type) {
                if (a2 = n3.done ? v2 : h2, l3.arg === y2)
                  continue;
                return { value: l3.arg, done: n3.done };
              }
              "throw" === l3.type && (a2 = v2, n3.method = "throw", n3.arg = l3.arg);
            }
          };
        }
        function _(t4, r4) {
          var n3 = r4.method, a2 = t4.iterator[n3];
          if (a2 === e3)
            return r4.delegate = null, "throw" === n3 && t4.iterator.return && (r4.method = "return", r4.arg = e3, _(t4, r4), "throw" === r4.method) || "return" !== n3 && (r4.method = "throw", r4.arg = new TypeError("The iterator does not provide a '" + n3 + "' method")), y2;
          var i3 = f3(a2, t4.iterator, r4.arg);
          if ("throw" === i3.type)
            return r4.method = "throw", r4.arg = i3.arg, r4.delegate = null, y2;
          var o4 = i3.arg;
          return o4 ? o4.done ? (r4[t4.resultName] = o4.value, r4.next = t4.nextLoc, "return" !== r4.method && (r4.method = "next", r4.arg = e3), r4.delegate = null, y2) : o4 : (r4.method = "throw", r4.arg = new TypeError("iterator result is not an object"), r4.delegate = null, y2);
        }
        function B(e4) {
          var t4 = { tryLoc: e4[0] };
          1 in e4 && (t4.catchLoc = e4[1]), 2 in e4 && (t4.finallyLoc = e4[2], t4.afterLoc = e4[3]), this.tryEntries.push(t4);
        }
        function N(e4) {
          var t4 = e4.completion || {};
          t4.type = "normal", delete t4.arg, e4.completion = t4;
        }
        function O(e4) {
          this.tryEntries = [{ tryLoc: "root" }], e4.forEach(B, this), this.reset(true);
        }
        function D(t4) {
          if (t4 || "" === t4) {
            var r4 = t4[c2];
            if (r4)
              return r4.call(t4);
            if ("function" == typeof t4.next)
              return t4;
            if (!isNaN(t4.length)) {
              var n3 = -1, o4 = function r5() {
                for (; ++n3 < t4.length; )
                  if (i2.call(t4, n3))
                    return r5.value = t4[n3], r5.done = false, r5;
                return r5.value = e3, r5.done = true, r5;
              };
              return o4.next = o4;
            }
          }
          throw new TypeError(a(t4) + " is not iterable");
        }
        return b2.prototype = k2, o3(T, "constructor", { value: k2, configurable: true }), o3(k2, "constructor", { value: b2, configurable: true }), b2.displayName = u2(k2, p3, "GeneratorFunction"), t3.isGeneratorFunction = function(e4) {
          var t4 = "function" == typeof e4 && e4.constructor;
          return !!t4 && (t4 === b2 || "GeneratorFunction" === (t4.displayName || t4.name));
        }, t3.mark = function(e4) {
          return Object.setPrototypeOf ? Object.setPrototypeOf(e4, k2) : (e4.__proto__ = k2, u2(e4, p3, "GeneratorFunction")), e4.prototype = Object.create(T), e4;
        }, t3.awrap = function(e4) {
          return { __await: e4 };
        }, E2(R.prototype), u2(R.prototype, l2, function() {
          return this;
        }), t3.AsyncIterator = R, t3.async = function(e4, r4, n3, a2, i3) {
          void 0 === i3 && (i3 = Promise);
          var o4 = new R(d2(e4, r4, n3, a2), i3);
          return t3.isGeneratorFunction(r4) ? o4 : o4.next().then(function(e5) {
            return e5.done ? e5.value : o4.next();
          });
        }, E2(T), u2(T, p3, "Generator"), u2(T, c2, function() {
          return this;
        }), u2(T, "toString", function() {
          return "[object Generator]";
        }), t3.keys = function(e4) {
          var t4 = Object(e4), r4 = [];
          for (var n3 in t4)
            r4.push(n3);
          return r4.reverse(), function e5() {
            for (; r4.length; ) {
              var n4 = r4.pop();
              if (n4 in t4)
                return e5.value = n4, e5.done = false, e5;
            }
            return e5.done = true, e5;
          };
        }, t3.values = D, O.prototype = { constructor: O, reset: function(t4) {
          if (this.prev = 0, this.next = 0, this.sent = this._sent = e3, this.done = false, this.delegate = null, this.method = "next", this.arg = e3, this.tryEntries.forEach(N), !t4)
            for (var r4 in this)
              "t" === r4.charAt(0) && i2.call(this, r4) && !isNaN(+r4.slice(1)) && (this[r4] = e3);
        }, stop: function() {
          this.done = true;
          var e4 = this.tryEntries[0].completion;
          if ("throw" === e4.type)
            throw e4.arg;
          return this.rval;
        }, dispatchException: function(t4) {
          if (this.done)
            throw t4;
          var r4 = this;
          function n3(n4, a3) {
            return s4.type = "throw", s4.arg = t4, r4.next = n4, a3 && (r4.method = "next", r4.arg = e3), !!a3;
          }
          for (var a2 = this.tryEntries.length - 1; a2 >= 0; --a2) {
            var o4 = this.tryEntries[a2], s4 = o4.completion;
            if ("root" === o4.tryLoc)
              return n3("end");
            if (o4.tryLoc <= this.prev) {
              var c3 = i2.call(o4, "catchLoc"), l3 = i2.call(o4, "finallyLoc");
              if (c3 && l3) {
                if (this.prev < o4.catchLoc)
                  return n3(o4.catchLoc, true);
                if (this.prev < o4.finallyLoc)
                  return n3(o4.finallyLoc);
              } else if (c3) {
                if (this.prev < o4.catchLoc)
                  return n3(o4.catchLoc, true);
              } else {
                if (!l3)
                  throw Error("try statement without catch or finally");
                if (this.prev < o4.finallyLoc)
                  return n3(o4.finallyLoc);
              }
            }
          }
        }, abrupt: function(e4, t4) {
          for (var r4 = this.tryEntries.length - 1; r4 >= 0; --r4) {
            var n3 = this.tryEntries[r4];
            if (n3.tryLoc <= this.prev && i2.call(n3, "finallyLoc") && this.prev < n3.finallyLoc) {
              var a2 = n3;
              break;
            }
          }
          a2 && ("break" === e4 || "continue" === e4) && a2.tryLoc <= t4 && t4 <= a2.finallyLoc && (a2 = null);
          var o4 = a2 ? a2.completion : {};
          return o4.type = e4, o4.arg = t4, a2 ? (this.method = "next", this.next = a2.finallyLoc, y2) : this.complete(o4);
        }, complete: function(e4, t4) {
          if ("throw" === e4.type)
            throw e4.arg;
          return "break" === e4.type || "continue" === e4.type ? this.next = e4.arg : "return" === e4.type ? (this.rval = this.arg = e4.arg, this.method = "return", this.next = "end") : "normal" === e4.type && t4 && (this.next = t4), y2;
        }, finish: function(e4) {
          for (var t4 = this.tryEntries.length - 1; t4 >= 0; --t4) {
            var r4 = this.tryEntries[t4];
            if (r4.finallyLoc === e4)
              return this.complete(r4.completion, r4.afterLoc), N(r4), y2;
          }
        }, catch: function(e4) {
          for (var t4 = this.tryEntries.length - 1; t4 >= 0; --t4) {
            var r4 = this.tryEntries[t4];
            if (r4.tryLoc === e4) {
              var n3 = r4.completion;
              if ("throw" === n3.type) {
                var a2 = n3.arg;
                N(r4);
              }
              return a2;
            }
          }
          throw Error("illegal catch attempt");
        }, delegateYield: function(t4, r4, n3) {
          return this.delegate = { iterator: D(t4), resultName: r4, nextLoc: n3 }, "next" === this.method && (this.arg = e3), y2;
        } }, t3;
      }
      function a(e3) {
        return a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e4) {
          return typeof e4;
        } : function(e4) {
          return e4 && "function" == typeof Symbol && e4.constructor === Symbol && e4 !== Symbol.prototype ? "symbol" : typeof e4;
        }, a(e3);
      }
      function i(e3, t3, r3, n3, a2, i2, o3) {
        try {
          var s3 = e3[i2](o3), c2 = s3.value;
        } catch (e4) {
          return void r3(e4);
        }
        s3.done ? t3(c2) : Promise.resolve(c2).then(n3, a2);
      }
      function o2(e3) {
        return function() {
          var t3 = this, r3 = arguments;
          return new Promise(function(n3, a2) {
            var o3 = e3.apply(t3, r3);
            function s3(e4) {
              i(o3, n3, a2, s3, c2, "next", e4);
            }
            function c2(e4) {
              i(o3, n3, a2, s3, c2, "throw", e4);
            }
            s3(void 0);
          });
        };
      }
      var s2 = r2(6), c = r2(28), l = r2(5).EventProxy, p2 = r2(0), u = r2(3);
      function d(e3, t3) {
        var r3 = e3.TaskId, n3 = e3.Bucket, a2 = e3.Region, i2 = e3.Key, o3 = e3.StorageClass, u2 = this, d2 = {}, h2 = e3.FileSize, g2 = e3.SliceSize, v2 = Math.ceil(h2 / g2), y2 = 0, x2 = p2.throttleOnProgress.call(u2, h2, e3.onHashProgress), b2 = function(t4, r4) {
          var n4 = t4.length;
          if (0 === n4)
            return r4(null, true);
          if (n4 > v2)
            return r4(null, false);
          if (n4 > 1 && Math.max(t4[0].Size, t4[1].Size) !== g2)
            return r4(null, false);
          !function a3(i3) {
            if (i3 < n4) {
              var o4 = t4[i3];
              !function(t5, r5) {
                var n5 = g2 * (t5 - 1), a4 = Math.min(n5 + g2, h2), i4 = a4 - n5;
                d2[t5] ? r5(null, { PartNumber: t5, ETag: d2[t5], Size: i4 }) : p2.fileSlice(e3.FilePath, n5, a4, function(e4) {
                  try {
                    var n6 = p2.getFileMd5(e4);
                  } catch (e5) {
                    return r5(e5);
                  }
                  var a5 = '"' + n6 + '"';
                  d2[t5] = a5, y2 += i4, r5(null, { PartNumber: t5, ETag: a5, Size: i4 }), x2({ loaded: y2, total: h2 });
                });
              }(o4.PartNumber, function(e4, t5) {
                t5 && t5.ETag === o4.ETag && t5.Size === o4.Size ? a3(i3 + 1) : r4(null, false);
              });
            } else
              r4(null, true);
          }(0);
        }, k2 = new l();
        k2.on("error", function(e4) {
          if (u2._isRunningTask(r3))
            return t3(e4);
        }), k2.on("upload_id_available", function(e4) {
          var r4 = {}, n4 = [];
          p2.each(e4.PartList, function(e5) {
            r4[e5.PartNumber] = e5;
          });
          for (var a3 = 1; a3 <= v2; a3++) {
            var i3 = r4[a3];
            i3 ? (i3.PartNumber = a3, i3.Uploaded = true) : i3 = { PartNumber: a3, ETag: null, Uploaded: false }, n4.push(i3);
          }
          e4.PartList = n4, t3(null, e4);
        }), k2.on("no_available_upload_id", function() {
          if (u2._isRunningTask(r3)) {
            var s3 = p2.extend({ Bucket: n3, Region: a2, Key: i2, Headers: p2.clone(e3.Headers), Query: p2.clone(e3.Query), StorageClass: o3, calledBySdk: "sliceUploadFile", tracker: e3.tracker }, e3);
            u2.multipartInit(s3, function(e4, n4) {
              if (u2._isRunningTask(r3)) {
                if (e4)
                  return k2.emit("error", e4);
                var a3 = n4.UploadId;
                if (!a3)
                  return t3({ Message: "no upload id" });
                k2.emit("upload_id_available", { UploadId: a3, PartList: [] });
              }
            });
          }
        }), k2.on("has_and_check_upload_id", function(t4) {
          t4 = t4.reverse(), c.eachLimit(t4, 1, function(t5, o4) {
            u2._isRunningTask(r3) && (s2.using[t5] ? o4() : m2.call(u2, { Bucket: n3, Region: a2, Key: i2, UploadId: t5, tracker: e3.tracker }, function(e4, n4) {
              if (u2._isRunningTask(r3)) {
                if (e4)
                  return s2.removeUsing(t5), k2.emit("error", e4);
                var a3 = n4.PartList;
                a3.forEach(function(e5) {
                  e5.PartNumber *= 1, e5.Size *= 1, e5.ETag = e5.ETag || "";
                }), b2(a3, function(e5, n5) {
                  if (u2._isRunningTask(r3))
                    return e5 ? k2.emit("error", e5) : void (n5 ? o4({ UploadId: t5, PartList: a3 }) : o4());
                });
              }
            }));
          }, function(e4) {
            u2._isRunningTask(r3) && (x2(null, true), e4 && e4.UploadId ? k2.emit("upload_id_available", e4) : k2.emit("no_available_upload_id"));
          });
        }), k2.on("seek_local_avail_upload_id", function(t4) {
          var o4 = s2.getFileId(e3.FileStat, e3.ChunkSize, n3, i2), c2 = s2.getUploadIdList(o4);
          if (o4 && c2) {
            !function o5(l2) {
              if (l2 >= c2.length)
                k2.emit("has_and_check_upload_id", t4);
              else {
                var d3 = c2[l2];
                if (!p2.isInArray(t4, d3))
                  return s2.removeUploadId(d3), void o5(l2 + 1);
                s2.using[d3] ? o5(l2 + 1) : m2.call(u2, { Bucket: n3, Region: a2, Key: i2, UploadId: d3, tracker: e3.tracker }, function(e4, t5) {
                  u2._isRunningTask(r3) && (e4 ? (s2.removeUploadId(d3), o5(l2 + 1)) : k2.emit("upload_id_available", { UploadId: d3, PartList: t5.PartList }));
                });
              }
            }(0);
          } else
            k2.emit("has_and_check_upload_id", t4);
        }), k2.on("get_remote_upload_id_list", function() {
          f2.call(u2, { Bucket: n3, Region: a2, Key: i2, tracker: e3.tracker }, function(t4, a3) {
            if (u2._isRunningTask(r3)) {
              if (t4)
                return k2.emit("error", t4);
              var c2 = p2.filter(a3.UploadList, function(e4) {
                return e4.Key === i2 && (!o3 || e4.StorageClass.toUpperCase() === o3.toUpperCase());
              }).reverse().map(function(e4) {
                return e4.UploadId || e4.UploadID;
              });
              if (c2.length)
                k2.emit("seek_local_avail_upload_id", c2);
              else {
                var l2, d3 = s2.getFileId(e3.FileStat, e3.ChunkSize, n3, i2);
                d3 && (l2 = s2.getUploadIdList(d3)) && p2.each(l2, function(e4) {
                  s2.removeUploadId(e4);
                }), k2.emit("no_available_upload_id");
              }
            }
          });
        }), k2.emit("get_remote_upload_id_list");
      }
      function f2(e3, t3) {
        var r3 = this, n3 = [], a2 = { Bucket: e3.Bucket, Region: e3.Region, Prefix: e3.Key, calledBySdk: e3.calledBySdk || "sliceUploadFile", tracker: e3.tracker };
        !function e4() {
          r3.multipartList(a2, function(r4, i2) {
            if (r4)
              return t3(r4);
            n3.push.apply(n3, i2.Upload || []), "true" === i2.IsTruncated ? (a2.KeyMarker = i2.NextKeyMarker, a2.UploadIdMarker = i2.NextUploadIdMarker, e4()) : t3(null, { UploadList: n3 });
          });
        }();
      }
      function m2(e3, t3) {
        var r3 = this, n3 = [], a2 = { Bucket: e3.Bucket, Region: e3.Region, Key: e3.Key, UploadId: e3.UploadId, calledBySdk: "sliceUploadFile", tracker: e3.tracker };
        !function e4() {
          r3.multipartListPart(a2, function(r4, i2) {
            if (r4)
              return t3(r4);
            n3.push.apply(n3, i2.Part || []), "true" === i2.IsTruncated ? (a2.PartNumberMarker = i2.NextPartNumberMarker, e4()) : t3(null, { PartList: n3 });
          });
        }();
      }
      function h(e3, t3) {
        var r3 = this, n3 = e3.TaskId, a2 = e3.Bucket, i2 = e3.Region, o3 = e3.Key, s3 = e3.UploadData, l2 = e3.FileSize, u2 = e3.SliceSize, d2 = Math.min(e3.AsyncLimit || r3.options.ChunkParallelLimit || 1, 256), f3 = e3.FilePath, m3 = Math.ceil(l2 / u2), h2 = 0, v2 = e3.ServerSideEncryption, y2 = p2.filter(s3.PartList, function(e4) {
          return e4.Uploaded && (h2 += e4.PartNumber >= m3 && l2 % u2 || u2), !e4.Uploaded;
        }), x2 = e3.onProgress;
        c.eachLimit(y2, d2, function(t4, c2) {
          if (r3._isRunningTask(n3)) {
            var p3 = t4.PartNumber, d3 = Math.min(l2, t4.PartNumber * u2) - (t4.PartNumber - 1) * u2, m4 = 0;
            g.call(r3, { TaskId: n3, Bucket: a2, Region: i2, Key: o3, SliceSize: u2, FileSize: l2, PartNumber: p3, ServerSideEncryption: v2, FilePath: f3, UploadData: s3, onProgress: function(e4) {
              h2 += e4.loaded - m4, m4 = e4.loaded, x2({ loaded: h2, total: l2 });
            }, tracker: e3.tracker }, function(e4, a3) {
              r3._isRunningTask(n3) && (e4 ? h2 -= m4 : (h2 += d3 - m4, t4.ETag = a3.ETag), x2({ loaded: h2, total: l2 }), c2(e4 || null, a3));
            });
          }
        }, function(e4) {
          if (r3._isRunningTask(n3))
            return e4 ? t3(e4) : void t3(null, { UploadId: s3.UploadId, SliceList: s3.PartList });
        });
      }
      function g(e3, t3) {
        var r3 = this, n3 = e3.TaskId, a2 = e3.Bucket, i2 = e3.Region, o3 = e3.Key, s3 = e3.FileSize, l2 = e3.FilePath, u2 = 1 * e3.PartNumber, d2 = e3.SliceSize, f3 = e3.ServerSideEncryption, m3 = e3.UploadData, h2 = r3.options.ChunkRetryTimes + 1, g2 = e3.Headers || {}, v2 = d2 * (u2 - 1), y2 = d2, x2 = v2 + d2;
        x2 > s3 && (y2 = (x2 = s3) - v2);
        var b2 = ["x-cos-traffic-limit", "x-cos-mime-limit"], k2 = {};
        p2.each(g2, function(e4, t4) {
          b2.indexOf(t4) > -1 && (k2[t4] = e4);
        }), p2.fileSlice(l2, v2, x2, function(s4) {
          var l3 = p2.getFileMd5(s4), d3 = l3 ? p2.binaryBase64(l3) : null, g3 = m3.PartList[u2 - 1];
          c.retry(h2, function(t4) {
            r3._isRunningTask(n3) && r3.multipartUpload({ TaskId: n3, Bucket: a2, Region: i2, Key: o3, ContentLength: y2, PartNumber: u2, UploadId: m3.UploadId, ServerSideEncryption: f3, Body: s4, Headers: k2, onProgress: e3.onProgress, ContentMD5: d3, calledBySdk: "sliceUploadFile", tracker: e3.tracker }, function(e4, a3) {
              if (r3._isRunningTask(n3))
                return e4 ? t4(e4) : (g3.Uploaded = true, t4(null, a3));
            });
          }, function(e4, a3) {
            if (r3._isRunningTask(n3))
              return t3(e4, a3);
          });
        });
      }
      function v(e3, t3) {
        var r3 = e3.Bucket, n3 = e3.Region, a2 = e3.Key, i2 = e3.UploadId, o3 = e3.SliceList, s3 = this, l2 = this.options.ChunkRetryTimes + 1, p3 = o3.map(function(e4) {
          return { PartNumber: e4.PartNumber, ETag: e4.ETag };
        });
        c.retry(l2, function(t4) {
          s3.multipartComplete({ Bucket: r3, Region: n3, Key: a2, UploadId: i2, Parts: p3, calledBySdk: "sliceUploadFile", tracker: e3.tracker }, t4);
        }, function(e4, r4) {
          t3(e4, r4);
        });
      }
      function y(e3, t3) {
        var r3 = e3.Bucket, n3 = e3.Region, a2 = e3.Key, i2 = e3.AbortArray, o3 = e3.AsyncLimit || 1, s3 = this, l2 = 0, p3 = new Array(i2.length);
        c.eachLimit(i2, o3, function(t4, i3) {
          var o4 = l2;
          if (a2 && a2 !== t4.Key)
            return p3[o4] = { error: { KeyNotMatch: true } }, void i3(null);
          var c2 = t4.UploadId || t4.UploadID;
          s3.multipartAbort({ Bucket: r3, Region: n3, Key: t4.Key, Headers: e3.Headers, UploadId: c2 }, function(e4) {
            var a3 = { Bucket: r3, Region: n3, Key: t4.Key, UploadId: c2 };
            p3[o4] = { error: e4, task: a3 }, i3(null);
          }), l2++;
        }, function(e4) {
          if (e4)
            return t3(e4);
          for (var r4 = [], n4 = [], a3 = 0, i3 = p3.length; a3 < i3; a3++) {
            var o4 = p3[a3];
            o4.task && (o4.error ? n4.push(o4.task) : r4.push(o4.task));
          }
          return t3(null, { successList: r4, errorList: n4 });
        });
      }
      function x() {
        return (x = o2(n2().mark(function e3(t3, r3) {
          var i2, o3, s3, c2, l2, d2, f3, m3, h2, g2, v2, y2;
          return n2().wrap(function(e4) {
            for (; ; )
              switch (e4.prev = e4.next) {
                case 0:
                  return i2 = this, o3 = void 0 === t3.SliceSize ? i2.options.SliceSize : t3.SliceSize, s3 = [], e4.prev = 3, e4.next = 6, p2.getFileSizeByPath(t3.FilePath);
                case 6:
                  c2 = e4.sent, e4.next = 13;
                  break;
                case 9:
                  return e4.prev = 9, e4.t0 = e4.catch(3), r3({ error: e4.t0 }), e4.abrupt("return");
                case 13:
                  l2 = { TaskId: "" }, i2.options.EnableReporter && (d2 = i2.options.UseAccelerate || "string" == typeof i2.options.Domain && i2.options.Domain.includes("accelerate."), f3 = c2 > o3 ? "sliceUploadFile" : "putObject", t3.tracker = new u({ Beacon: i2.options.BeaconReporter, clsReporter: i2.options.ClsReporter, bucket: t3.Bucket, region: t3.Region, apiName: "uploadFile", realApi: f3, fileKey: t3.Key, fileSize: c2, accelerate: d2, deepTracker: i2.options.DeepTracker, customId: i2.options.CustomId, delay: i2.options.TrackerDelay })), p2.each(t3, function(e5, t4) {
                    "object" !== a(e5) && "function" != typeof e5 && (l2[t4] = e5);
                  }), m3 = t3.onTaskReady, t3.onTaskReady = function(e5) {
                    l2.TaskId = e5, m3 && m3(e5);
                  }, h2 = t3.onFileFinish, g2 = function(e5, n3) {
                    t3.tracker && t3.tracker.report(e5, n3), h2 && h2(e5, n3, l2), r3 && r3(e5, n3);
                  }, v2 = "postObject" === i2.options.SimpleUploadMethod ? "postObject" : "putObject", y2 = c2 > o3 ? "sliceUploadFile" : v2, s3.push({ api: y2, params: t3, callback: g2 }), i2._addTasks(s3);
                case 24:
                case "end":
                  return e4.stop();
              }
          }, e3, this, [[3, 9]]);
        }))).apply(this, arguments);
      }
      function b() {
        return b = o2(n2().mark(function e3(t3, r3) {
          var i2, s3, c2, l2, d2, f3, m3, h2, g2, v2, y2;
          return n2().wrap(function(e4) {
            for (; ; )
              switch (e4.prev = e4.next) {
                case 0:
                  return i2 = this, s3 = void 0 === t3.SliceSize ? i2.options.SliceSize : t3.SliceSize, c2 = 0, l2 = 0, d2 = p2.throttleOnProgress.call(i2, l2, t3.onProgress), f3 = t3.files.length, m3 = t3.onFileFinish, h2 = Array(f3), g2 = function(e5, t4, n3) {
                    d2(null, true), m3 && m3(e5, t4, n3), h2[n3.Index] = { options: n3, error: e5, data: t4 }, --f3 <= 0 && r3 && r3(null, { files: h2 });
                  }, v2 = [], y2 = function() {
                    return t3.files.map(function(e5, t4) {
                      return new Promise(function() {
                        var r4 = o2(n2().mark(function r5(o3) {
                          var f4, m4, h3, y3, x2, b2, k2, w2, C, S, T;
                          return n2().wrap(function(r6) {
                            for (; ; )
                              switch (r6.prev = r6.next) {
                                case 0:
                                  return f4 = 0, r6.prev = 1, r6.next = 4, p2.getFileSizeByPath(e5.FilePath);
                                case 4:
                                  f4 = r6.sent, r6.next = 9;
                                  break;
                                case 7:
                                  r6.prev = 7, r6.t0 = r6.catch(1);
                                case 9:
                                  m4 = { Index: t4, TaskId: "" }, c2 += f4, i2.options.EnableReporter && (h3 = i2.options.UseAccelerate || "string" == typeof i2.options.Domain && i2.options.Domain.includes("accelerate."), y3 = f4 > s3 ? "sliceUploadFile" : "putObject", e5.tracker = new u({ Beacon: i2.options.BeaconReporter, clsReporter: i2.options.ClsReporter, bucket: e5.Bucket, region: e5.Region, apiName: "uploadFiles", realApi: y3, fileKey: e5.Key, fileSize: f4, accelerate: h3, deepTracker: i2.options.DeepTracker, customId: i2.options.CustomId, delay: i2.options.TrackerDelay })), p2.each(e5, function(e6, t5) {
                                    "object" !== a(e6) && "function" != typeof e6 && (m4[t5] = e6);
                                  }), x2 = e5.onTaskReady, e5.onTaskReady = function(e6) {
                                    m4.TaskId = e6, x2 && x2(e6);
                                  }, b2 = 0, k2 = e5.onProgress, e5.onProgress = function(e6) {
                                    l2 = l2 - b2 + e6.loaded, b2 = e6.loaded, k2 && k2(e6), d2({ loaded: l2, total: c2 });
                                  }, w2 = e5.onFileFinish, C = function(t5, r7) {
                                    e5.tracker && e5.tracker.report(t5, r7), w2 && w2(t5, r7), g2 && g2(t5, r7, m4);
                                  }, S = "postObject" === i2.options.SimpleUploadMethod ? "postObject" : "putObject", T = f4 > s3 ? "sliceUploadFile" : S, v2.push({ api: T, params: e5, callback: C }), o3(true);
                                case 24:
                                case "end":
                                  return r6.stop();
                              }
                          }, r5, null, [[1, 7]]);
                        }));
                        return function(e6) {
                          return r4.apply(this, arguments);
                        };
                      }());
                    });
                  }, e4.next = 13, Promise.all(y2());
                case 13:
                  i2._addTasks(v2);
                case 14:
                case "end":
                  return e4.stop();
              }
          }, e3, this);
        })), b.apply(this, arguments);
      }
      function k(e3, t3) {
        var r3 = e3.TaskId, n3 = e3.Bucket, a2 = e3.Region, i2 = e3.Key, o3 = e3.CopySource, s3 = e3.UploadId, l2 = 1 * e3.PartNumber, p3 = e3.CopySourceRange, u2 = this.options.ChunkRetryTimes + 1, d2 = this;
        c.retry(u2, function(t4) {
          d2.uploadPartCopy({ TaskId: r3, Bucket: n3, Region: a2, Key: i2, CopySource: o3, UploadId: s3, PartNumber: l2, CopySourceRange: p3, onProgress: e3.onProgress, tracker: e3.tracker, calledBySdk: e3.calledBySdk }, function(e4, r4) {
            t4(e4 || null, r4);
          });
        }, function(e4, r4) {
          return t3(e4, r4);
        });
      }
      var w = { sliceUploadFile: function(e3, t3) {
        var r3 = this;
        if (!p2.canFileSlice())
          return e3.SkipTask = true, void ("postObject" === r3.options.SimpleUploadMethod ? r3.postObject(e3, t3) : r3.putObject(e3, t3));
        var n3, a2, i2 = new l(), o3 = e3.TaskId, c2 = e3.Bucket, u2 = e3.Region, f3 = e3.Key, m3 = e3.FilePath, g2 = e3.ChunkSize || e3.SliceSize || r3.options.ChunkSize, y2 = e3.AsyncLimit, x2 = e3.StorageClass, b2 = e3.ServerSideEncryption, k2 = e3.onHashProgress, w2 = e3.tracker;
        w2 && w2.setParams({ chunkSize: g2 }), i2.on("error", function(n4) {
          if (r3._isRunningTask(o3)) {
            var a3 = { UploadId: e3.UploadData.UploadId || "", err: n4, error: n4 };
            return t3(a3);
          }
        }), i2.on("upload_complete", function(r4) {
          var n4 = p2.extend({ UploadId: e3.UploadData.UploadId || "" }, r4);
          t3(null, n4);
        }), i2.on("upload_slice_complete", function(e4) {
          v.call(r3, { Bucket: c2, Region: u2, Key: f3, UploadId: e4.UploadId, SliceList: e4.SliceList, tracker: w2 }, function(t4, c3) {
            if (r3._isRunningTask(o3)) {
              if (s2.removeUsing(e4.UploadId), t4)
                return a2(null, true), i2.emit("error", t4);
              s2.removeUploadId(e4.UploadId), a2({ loaded: n3, total: n3 }, true), i2.emit("upload_complete", c3);
            }
          });
        }), i2.on("get_upload_data_finish", function(t4) {
          var l2 = s2.getFileId(e3.FileStat, e3.ChunkSize, c2, f3);
          l2 && s2.saveUploadId(l2, t4.UploadId, r3.options.UploadIdCacheLimit), s2.setUsing(t4.UploadId), a2(null, true), h.call(r3, { TaskId: o3, Bucket: c2, Region: u2, Key: f3, FilePath: m3, FileSize: n3, SliceSize: g2, AsyncLimit: y2, ServerSideEncryption: b2, UploadData: t4, onProgress: a2, tracker: w2 }, function(e4, t5) {
            if (r3._isRunningTask(o3))
              return e4 ? (a2(null, true), i2.emit("error", e4)) : void i2.emit("upload_slice_complete", t5);
          });
        }), i2.on("get_file_size_finish", function() {
          if (a2 = p2.throttleOnProgress.call(r3, n3, e3.onProgress), e3.UploadData.UploadId)
            i2.emit("get_upload_data_finish", e3.UploadData);
          else {
            var t4 = p2.extend({ TaskId: o3, Bucket: c2, Region: u2, Key: f3, Headers: e3.Headers, StorageClass: x2, FilePath: m3, FileSize: n3, SliceSize: g2, onHashProgress: k2, tracker: w2 }, e3);
            t4.FileSize = n3, d.call(r3, t4, function(t5, n4) {
              if (r3._isRunningTask(o3)) {
                if (t5)
                  return i2.emit("error", t5);
                e3.UploadData.UploadId = n4.UploadId, e3.UploadData.PartList = n4.PartList, i2.emit("get_upload_data_finish", e3.UploadData);
              }
            });
          }
        }), n3 = e3.ContentLength, delete e3.ContentLength, !e3.Headers && (e3.Headers = {}), p2.each(e3.Headers, function(t4, r4) {
          "content-length" === r4.toLowerCase() && delete e3.Headers[r4];
        }), function() {
          for (var t4 = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 5120], a3 = 1048576, i3 = 0; i3 < t4.length && !(n3 / (a3 = 1024 * t4[i3] * 1024) <= r3.options.MaxPartNumber); i3++)
            ;
          e3.ChunkSize = e3.SliceSize = g2 = Math.max(g2, a3);
        }(), 0 === n3 ? (e3.Body = "", e3.ContentLength = 0, e3.SkipTask = true, r3.putObject(e3, function(e4, r4) {
          if (e4)
            return t3(e4);
          t3(null, r4);
        })) : i2.emit("get_file_size_finish");
      }, abortUploadTask: function(e3, t3) {
        var r3 = e3.Bucket, n3 = e3.Region, a2 = e3.Key, i2 = e3.UploadId, o3 = e3.Level || "task", s3 = e3.AsyncLimit, c2 = this, p3 = new l();
        if (p3.on("error", function(e4) {
          return t3(e4);
        }), p3.on("get_abort_array", function(i3) {
          y.call(c2, { Bucket: r3, Region: n3, Key: a2, Headers: e3.Headers, AsyncLimit: s3, AbortArray: i3 }, function(e4, r4) {
            if (e4)
              return t3(e4);
            t3(null, r4);
          });
        }), "bucket" === o3)
          f2.call(c2, { Bucket: r3, Region: n3, calledBySdk: "abortUploadTask" }, function(e4, r4) {
            if (e4)
              return t3(e4);
            p3.emit("get_abort_array", r4.UploadList || []);
          });
        else if ("file" === o3) {
          if (!a2)
            return t3({ error: "abort_upload_task_no_key" });
          f2.call(c2, { Bucket: r3, Region: n3, Key: a2, calledBySdk: "abortUploadTask" }, function(e4, r4) {
            if (e4)
              return t3(e4);
            p3.emit("get_abort_array", r4.UploadList || []);
          });
        } else {
          if ("task" !== o3)
            return t3({ error: "abort_unknown_level" });
          if (!i2)
            return t3({ error: "abort_upload_task_no_id" });
          if (!a2)
            return t3({ error: "abort_upload_task_no_key" });
          p3.emit("get_abort_array", [{ Key: a2, UploadId: i2 }]);
        }
      }, uploadFile: function(e3, t3) {
        return x.apply(this, arguments);
      }, uploadFiles: function(e3, t3) {
        return b.apply(this, arguments);
      }, sliceCopyFile: function(e3, t3) {
        var r3 = new l(), n3 = this, a2 = e3.Bucket, i2 = e3.Region, o3 = e3.Key, u2 = e3.CopySource, d2 = p2.getSourceParams.call(this, u2);
        if (d2) {
          var f3 = d2.Bucket, h2 = d2.Region, g2 = decodeURIComponent(d2.Key), v2 = void 0 === e3.CopySliceSize ? n3.options.CopySliceSize : e3.CopySliceSize;
          v2 = Math.max(0, v2);
          var y2, x2, b2 = e3.CopyChunkSize || this.options.CopyChunkSize, w2 = this.options.CopyChunkParallelLimit, C = this.options.ChunkRetryTimes + 1, S = 0, T = 0, E2 = {}, R = {}, A = {};
          r3.on("copy_slice_complete", function(r4) {
            p2.each(e3.Headers, function(e4, t4) {
              0 === t4.toLowerCase().indexOf("x-cos-meta-") && e4;
            });
            var u3 = p2.map(r4.PartList, function(e4) {
              return { PartNumber: e4.PartNumber, ETag: e4.ETag };
            });
            c.retry(C, function(t4) {
              n3.multipartComplete({ Bucket: a2, Region: i2, Key: o3, UploadId: r4.UploadId, Parts: u3, tracker: e3.tracker, calledBySdk: "sliceCopyFile" }, t4);
            }, function(e4, n4) {
              if (s2.removeUsing(r4.UploadId), e4)
                return x2(null, true), t3(e4);
              s2.removeUploadId(r4.UploadId), x2({ loaded: y2, total: y2 }, true), t3(null, n4);
            });
          }), r3.on("get_copy_data_finish", function(l2) {
            var d3 = s2.getCopyFileId(u2, E2, b2, a2, o3);
            d3 && s2.saveUploadId(d3, l2.UploadId, n3.options.UploadIdCacheLimit), s2.setUsing(l2.UploadId);
            var f4 = p2.filter(l2.PartList, function(e4) {
              return e4.Uploaded && (T += e4.PartNumber >= S && y2 % b2 || b2), !e4.Uploaded;
            });
            c.eachLimit(f4, w2, function(t4, r4) {
              var s3 = t4.PartNumber, p3 = t4.CopySourceRange, d4 = t4.end - t4.start, f5 = 0;
              c.retry(C, function(t5) {
                k.call(n3, { Bucket: a2, Region: i2, Key: o3, CopySource: u2, UploadId: l2.UploadId, PartNumber: s3, CopySourceRange: p3, tracker: e3.tracker, calledBySdk: "sliceCopyFile", onProgress: function(e4) {
                  T += e4.loaded - f5, f5 = e4.loaded, x2({ loaded: T, total: y2 });
                } }, t5);
              }, function(e4, n4) {
                if (e4)
                  return r4(e4);
                x2({ loaded: T, total: y2 }), T += d4 - f5, t4.ETag = n4.ETag, r4(e4 || null, n4);
              });
            }, function(e4) {
              if (e4)
                return s2.removeUsing(l2.UploadId), x2(null, true), t3(e4);
              r3.emit("copy_slice_complete", l2);
            });
          }), r3.on("get_chunk_size_finish", function() {
            var c2 = function() {
              n3.multipartInit({ Bucket: a2, Region: i2, Key: o3, Headers: A, tracker: e3.tracker, calledBySdk: "sliceCopyFile" }, function(n4, a3) {
                if (n4)
                  return t3(n4);
                e3.UploadId = a3.UploadId, r3.emit("get_copy_data_finish", { UploadId: e3.UploadId, PartList: e3.PartList });
              });
            }, l2 = s2.getCopyFileId(u2, E2, b2, a2, o3), d3 = s2.getUploadIdList(l2);
            if (!l2 || !d3)
              return c2();
            !function t4(l3) {
              if (l3 >= d3.length)
                return c2();
              var u3 = d3[l3];
              if (s2.using[u3])
                return t4(l3 + 1);
              m2.call(n3, { Bucket: a2, Region: i2, Key: o3, UploadId: u3, tracker: e3.tracker, calledBySdk: "sliceCopyFile" }, function(n4, a3) {
                if (n4)
                  s2.removeUploadId(u3), t4(l3 + 1);
                else {
                  if (s2.using[u3])
                    return t4(l3 + 1);
                  var i3 = {}, o4 = 0;
                  p2.each(a3.PartList, function(e4) {
                    var t5 = parseInt(e4.Size), r4 = o4 + t5 - 1;
                    i3[e4.PartNumber + "|" + o4 + "|" + r4] = e4.ETag, o4 += t5;
                  }), p2.each(e3.PartList, function(e4) {
                    var t5 = i3[e4.PartNumber + "|" + e4.start + "|" + e4.end];
                    t5 && (e4.ETag = t5, e4.Uploaded = true);
                  }), r3.emit("get_copy_data_finish", { UploadId: u3, PartList: e3.PartList });
                }
              });
            }(0);
          }), r3.on("get_file_size_finish", function() {
            var a3;
            if (function() {
              for (var t4 = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 5120], r4 = 1048576, a4 = 0; a4 < t4.length && !(y2 / (r4 = 1024 * t4[a4] * 1024) <= n3.options.MaxPartNumber); a4++)
                ;
              e3.ChunkSize = b2 = Math.max(b2, r4), S = Math.ceil(y2 / b2);
              for (var i4 = [], o4 = 1; o4 <= S; o4++) {
                var s3 = (o4 - 1) * b2, c2 = o4 * b2 < y2 ? o4 * b2 - 1 : y2 - 1, l2 = { PartNumber: o4, start: s3, end: c2, CopySourceRange: "bytes=" + s3 + "-" + c2 };
                i4.push(l2);
              }
              e3.PartList = i4;
            }(), (a3 = "Replaced" === e3.Headers["x-cos-metadata-directive"] ? e3.Headers : R)["x-cos-storage-class"] = e3.Headers["x-cos-storage-class"] || R["x-cos-storage-class"], a3 = p2.clearKey(a3), "ARCHIVE" === R["x-cos-storage-class"] || "DEEP_ARCHIVE" === R["x-cos-storage-class"]) {
              var i3 = R["x-cos-restore"];
              if (!i3 || 'ongoing-request="true"' === i3)
                return void t3({ error: "Unrestored archive object is not allowed to be copied" });
            }
            delete a3["x-cos-copy-source"], delete a3["x-cos-metadata-directive"], delete a3["x-cos-copy-source-If-Modified-Since"], delete a3["x-cos-copy-source-If-Unmodified-Since"], delete a3["x-cos-copy-source-If-Match"], delete a3["x-cos-copy-source-If-None-Match"], r3.emit("get_chunk_size_finish");
          }), n3.headObject({ Bucket: f3, Region: h2, Key: g2, tracker: e3.tracker, calledBySdk: "sliceCopyFile" }, function(a3, i3) {
            if (a3)
              a3.statusCode && 404 === a3.statusCode ? t3({ ErrorStatus: g2 + " Not Exist" }) : t3(a3);
            else if (void 0 !== (y2 = e3.FileSize = i3.headers["content-length"]) && y2)
              if (e3.tracker && e3.tracker.setParams({ httpSize: y2 }), x2 = p2.throttleOnProgress.call(n3, y2, e3.onProgress), y2 <= v2)
                e3.Headers["x-cos-metadata-directive"] || (e3.Headers["x-cos-metadata-directive"] = "Copy"), n3.putObjectCopy(Object.assign(e3, { calledBySdk: "sliceCopyFile" }), function(e4, r4) {
                  if (e4)
                    return x2(null, true), t3(e4);
                  x2({ loaded: y2, total: y2 }, true), t3(e4, r4);
                });
              else {
                var o4 = i3.headers;
                E2 = o4, R = { "Cache-Control": o4["cache-control"], "Content-Disposition": o4["content-disposition"], "Content-Encoding": o4["content-encoding"], "Content-Type": o4["content-type"], Expires: o4.expires, "x-cos-storage-class": o4["x-cos-storage-class"] }, p2.each(o4, function(e4, t4) {
                  var r4 = "x-cos-meta-";
                  0 === t4.indexOf(r4) && t4.length > 11 && (R[t4] = e4);
                }), r3.emit("get_file_size_finish");
              }
            else
              t3({ error: 'get Content-Length error, please add "Content-Length" to CORS ExposeHeader setting.' });
          });
        } else
          t3({ error: "CopySource format error" });
      } };
      e2.exports.init = function(e3, t3) {
        t3.transferToTaskMethod(w, "sliceUploadFile"), p2.each(w, function(t4, r3) {
          e3.prototype[r3] = p2.apiWrapper(r3, t4);
        });
      };
    }, function(e2, t2) {
      var r2 = { eachLimit: function(e3, t3, r3, n2) {
        if (n2 = n2 || function() {
        }, !e3.length || t3 <= 0)
          return n2();
        var a = 0, i = 0, o2 = 0;
        !function s2() {
          if (a >= e3.length)
            return n2();
          for (; o2 < t3 && i < e3.length; )
            o2 += 1, r3(e3[(i += 1) - 1], function(t4) {
              t4 ? (n2(t4), n2 = function() {
              }) : (o2 -= 1, (a += 1) >= e3.length ? n2() : s2());
            });
        }();
      }, retry: function(e3, t3, r3) {
        e3 < 1 ? r3() : function n2(a) {
          t3(function(t4, i) {
            t4 && a < e3 ? n2(a + 1) : r3(t4, i);
          });
        }(1);
      } };
      e2.exports = r2;
    }]);
  });
})(cosWxSdkV5_min);
var cosWxSdkV5_minExports = cosWxSdkV5_min.exports;
const COS = /* @__PURE__ */ getDefaultExportFromCjs(cosWxSdkV5_minExports);
exports.COS = COS;
exports._export_sfc = _export_sfc;
exports.computed = computed;
exports.createSSRApp = createSSRApp;
exports.cryptoJs = cryptoJs;
exports.e = e;
exports.f = f;
exports.index = index;
exports.initVueI18n = initVueI18n;
exports.m = m;
exports.n = n;
exports.nextTick$1 = nextTick$1;
exports.o = o;
exports.onLoad = onLoad;
exports.onPageScroll = onPageScroll;
exports.onPullDownRefresh = onPullDownRefresh;
exports.onReachBottom = onReachBottom;
exports.onShow = onShow;
exports.onUnload = onUnload;
exports.p = p;
exports.r = r;
exports.ref = ref;
exports.resolveComponent = resolveComponent;
exports.s = s;
exports.sr = sr;
exports.t = t;
exports.toRaw = toRaw;
exports.unref = unref;
exports.useCssVars = useCssVars;
exports.wx$1 = wx$1;
