@minto-ai/mt-ui
Version:
UI组件库
24,491 lines • 1.04 MB
JavaScript
var __defProp = Object.defineProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
import { isNumber as isNumber$1, isString as isString$1, isArray as isArray$a, multiply as multiply$1, divide as divide$1, beParsedAsNumber, checkEmpty, isMusicFilePath, isVideoFilePath, isImageFilePath, isPptFilePath, isDocumentFilePath, timeDelay, throttle as throttle$1, getUuid, isObject as isObject$J, debounce, getFileIcon, FileSuffixEnum, getFileName, getFileSuffix, updateFilePathQuery, ImageFileSuffixEnum, VideoFileSuffixEnum, DocumentFileSuffixEnum, MusicFileSuffixEnum, CompressFileSuffixEnum, PptFileSuffixEnum } from "@minto-ai/tools";
import { Fragment, Comment, Text, defineComponent, computed, createElementBlock, openBlock, normalizeStyle, normalizeClass, createElementVNode, createCommentVNode, renderSlot, createTextVNode, toDisplayString, ref, watch, onMounted, createVNode, unref, withCtx, createBlock, useSlots, renderList, withDirectives, vShow, reactive, provide, inject, getCurrentInstance, onUnmounted, Transition, Teleport, render, nextTick, shallowReactive, withModifiers, h, mergeProps, toHandlers, createSlots, useAttrs, shallowRef, onBeforeUnmount } from "vue";
import { useResizeObserver, useEventListener, useTimeoutFn } from "@vueuse/core";
import { createPopper } from "@popperjs/core";
class Deferred {
constructor(param = {}) {
__publicField(this, "promise");
__publicField(this, "resolve");
__publicField(this, "reject");
this.promise = new Promise((resolve2, reject2) => {
this.resolve = resolve2;
this.reject = reject2;
});
Object.entries(param).forEach(([key, value]) => {
this[key] = value;
});
}
}
const VALID_CSS_KEYWORD_REGEX = /^(?:fit-content|min-content|max-content|auto|inherit|initial|unset)$/;
const NUMERIC_STRING_REGEX = /^\d+(?:\.\d+)?$/;
const PIXEL_UNIT_STRING_REGEX = /^\d+(?:\.\d+)?px$/;
const PERCENTAGE_STRING_REGEX = /^\d+(?:\.\d+)?%$/;
const VIEWPORT_UNIT_STRING_REGEX = /^\d+(?:\.\d+)?(?:vw|vh)$/;
const DESIGN_VIEWPORT_WIDTH_PIXELS = 1920;
function isValidCssValue(value) {
if (isNumber$1(value)) {
return isSingleCssValueValid(value);
}
if (isString$1(value)) {
return value.split(/\s+/).every((item) => isSingleCssValueValid(item));
}
if (isArray$a(value)) {
return value.every((item) => isSingleCssValueValid(item));
}
return false;
}
function isSingleCssValueValid(value) {
if (isNumber$1(value)) {
return true;
}
if (isString$1(value)) {
if (value.includes("calc")) {
return true;
}
if (NUMERIC_STRING_REGEX.test(value)) {
return true;
}
if (PIXEL_UNIT_STRING_REGEX.test(value)) {
return true;
}
if (VALID_CSS_KEYWORD_REGEX.test(value)) {
return true;
}
if (PERCENTAGE_STRING_REGEX.test(value)) {
return true;
}
if (VIEWPORT_UNIT_STRING_REGEX.test(value)) {
return true;
}
}
return false;
}
function convertValueToViewportWidth(value) {
if (isNumber$1(value)) {
return convertSingleValueToViewportWidth(value);
}
if (isString$1(value)) {
return value.split(/\s+/).map((item) => convertSingleValueToViewportWidth(item)).join(" ");
}
if (isArray$a(value)) {
return value.map((item) => convertSingleValueToViewportWidth(item)).join(" ");
}
throw new Error(`Invalid CSS value: ${value}`);
}
function convertSingleValueToViewportWidth(value) {
if (isNumber$1(value)) {
return `${multiply$1(divide$1(value, DESIGN_VIEWPORT_WIDTH_PIXELS), 100)}vw`;
}
if (isString$1(value)) {
if (NUMERIC_STRING_REGEX.test(value)) {
return `${multiply$1(divide$1(beParsedAsNumber(value), DESIGN_VIEWPORT_WIDTH_PIXELS), 100)}vw`;
}
if (PIXEL_UNIT_STRING_REGEX.test(value)) {
return `${multiply$1(divide$1(beParsedAsNumber(value), DESIGN_VIEWPORT_WIDTH_PIXELS), 100)}vw`;
}
if (VALID_CSS_KEYWORD_REGEX.test(value)) {
return value;
}
if (PERCENTAGE_STRING_REGEX.test(value)) {
return value;
}
if (VIEWPORT_UNIT_STRING_REGEX.test(value)) {
return value;
}
}
throw new Error(`Invalid CSS value: ${value}`);
}
function NOOP() {
}
const componentSize = [
"normal",
"small",
"large"
];
const sizeProp = {
type: String,
default: "normal",
validator: (value) => {
return componentSize.includes(value);
}
};
function removeEmptyChildren(children) {
const resultChildren = [];
children.forEach((child) => {
if (child.type === Fragment) {
resultChildren.push(...removeEmptyChildren(child.children));
} else {
resultChildren.push(child);
}
});
return resultChildren.filter(
(child) => {
var _a;
return !(child && (child.type === Comment || child.type === Fragment && ((_a = child.children) == null ? void 0 : _a.length) === 0 || child.type === Text && child.children.trim() === ""));
}
);
}
function withInstall(component) {
component.install = (app) => {
const { name: name2 } = component;
app.component(name2, component);
};
return component;
}
const id$3 = "4482451";
const name = "数字人融合web";
const font_family = "iconfont";
const css_prefix_text = "icon-";
const glyphs = [
{
icon_id: "45315587",
name: "尺寸",
font_class: "putongtubiao",
unicode: "e70e",
unicode_decimal: 59150
},
{
icon_id: "44790258",
name: "做同款",
font_class: "zuotongkuan",
unicode: "e70d",
unicode_decimal: 59149
},
{
icon_id: "44551484",
name: "参与人数",
font_class: "canyurenshu",
unicode: "e70c",
unicode_decimal: 59148
},
{
icon_id: "44479742",
name: "智能体广场",
font_class: "zhinengtiguangchang",
unicode: "e70b",
unicode_decimal: 59147
},
{
icon_id: "44295658",
name: "编辑",
font_class: "edit-05",
unicode: "e70a",
unicode_decimal: 59146
},
{
icon_id: "44212154",
name: "能提图标加载图",
font_class: "Frame8",
unicode: "e709",
unicode_decimal: 59145
},
{
icon_id: "44199177",
name: "上传文档",
font_class: "shangchuanwendang",
unicode: "e707",
unicode_decimal: 59143
},
{
icon_id: "44199176",
name: "上传图片",
font_class: "shangchuantupian",
unicode: "e708",
unicode_decimal: 59144
},
{
icon_id: "39415060",
name: "语音",
font_class: "voice1",
unicode: "e638",
unicode_decimal: 58936
},
{
icon_id: "44112314",
name: "公共服务",
font_class: "gonggongfuwu",
unicode: "e705",
unicode_decimal: 59141
},
{
icon_id: "44112313",
name: "养生建议",
font_class: "yangshengjianyi",
unicode: "e706",
unicode_decimal: 59142
},
{
icon_id: "44112315",
name: "智能培训",
font_class: "zhinengpeixun",
unicode: "e704",
unicode_decimal: 59140
},
{
icon_id: "44111335",
name: "企业营销",
font_class: "qiyeyingxiao",
unicode: "e6f9",
unicode_decimal: 59129
},
{
icon_id: "44111336",
name: "健康检测",
font_class: "jiankangjiance",
unicode: "e6fa",
unicode_decimal: 59130
},
{
icon_id: "44111337",
name: "疾病筛查",
font_class: "jibingshaicha",
unicode: "e6fb",
unicode_decimal: 59131
},
{
icon_id: "44111338",
name: "数字导游",
font_class: "shuzidaoyou",
unicode: "e6fc",
unicode_decimal: 59132
},
{
icon_id: "44111334",
name: "工作汇报",
font_class: "gongzuohuibao",
unicode: "e6fd",
unicode_decimal: 59133
},
{
icon_id: "44111332",
name: "IP打造",
font_class: "IPdazao",
unicode: "e6fe",
unicode_decimal: 59134
},
{
icon_id: "44111333",
name: "心里咨询",
font_class: "xinlizixun",
unicode: "e6ff",
unicode_decimal: 59135
},
{
icon_id: "44111331",
name: "报告解读",
font_class: "baogaojiedu",
unicode: "e700",
unicode_decimal: 59136
},
{
icon_id: "44111330",
name: "公文写作",
font_class: "gongwenxiezuo",
unicode: "e701",
unicode_decimal: 59137
},
{
icon_id: "44111329",
name: "党建教育",
font_class: "dangjianjiaoyu",
unicode: "e702",
unicode_decimal: 59138
},
{
icon_id: "44111328",
name: "VR体验",
font_class: "VRtiyan",
unicode: "e703",
unicode_decimal: 59139
},
{
icon_id: "44111343",
name: "智能客服",
font_class: "zhinengkefu",
unicode: "e6f3",
unicode_decimal: 59123
},
{
icon_id: "44111342",
name: "特色课程",
font_class: "tesekecheng",
unicode: "e6f4",
unicode_decimal: 59124
},
{
icon_id: "44111344",
name: "文旅宣传",
font_class: "wenlvxuanchuan",
unicode: "e6f5",
unicode_decimal: 59125
},
{
icon_id: "44111340",
name: "数字老师",
font_class: "shuzilaoshi",
unicode: "e6f6",
unicode_decimal: 59126
},
{
icon_id: "44111341",
name: "知识分享",
font_class: "zhishifenxiang",
unicode: "e6f7",
unicode_decimal: 59127
},
{
icon_id: "44111339",
name: "品牌宣传",
font_class: "pinpaixuanchuan",
unicode: "e6f8",
unicode_decimal: 59128
},
{
icon_id: "44068075",
name: "社交",
font_class: "users-01",
unicode: "e6f2",
unicode_decimal: 59122
},
{
icon_id: "44053178",
name: "保存名片",
font_class: "baocunmingpian",
unicode: "e6ef",
unicode_decimal: 59119
},
{
icon_id: "44053107",
name: "地址",
font_class: "dizhi",
unicode: "e6f1",
unicode_decimal: 59121
},
{
icon_id: "44053112",
name: "去对话",
font_class: "quduihua",
unicode: "e6eb",
unicode_decimal: 59115
},
{
icon_id: "44053113",
name: "邮箱",
font_class: "youxiang",
unicode: "e6ec",
unicode_decimal: 59116
},
{
icon_id: "44053110",
name: "公司",
font_class: "gongsi",
unicode: "e6ed",
unicode_decimal: 59117
},
{
icon_id: "44053111",
name: "电话",
font_class: "dianhua",
unicode: "e6ee",
unicode_decimal: 59118
},
{
icon_id: "44053108",
name: "箭头-向下",
font_class: "jiantou-xiangxia",
unicode: "e6f0",
unicode_decimal: 59120
},
{
icon_id: "43943126",
name: "导入",
font_class: "daoru",
unicode: "e6e9",
unicode_decimal: 59113
},
{
icon_id: "43943125",
name: "链接",
font_class: "lianjie",
unicode: "e6ea",
unicode_decimal: 59114
},
{
icon_id: "43770823",
name: "清除",
font_class: "qingchu",
unicode: "e6e8",
unicode_decimal: 59112
},
{
icon_id: "43631693",
name: "上",
font_class: "shang",
unicode: "e6e6",
unicode_decimal: 59110
},
{
icon_id: "43631694",
name: "下",
font_class: "xia",
unicode: "e6e7",
unicode_decimal: 59111
},
{
icon_id: "43615562",
name: "闭眼",
font_class: "a-Frame1321315885",
unicode: "e6e5",
unicode_decimal: 59109
},
{
icon_id: "43570631",
name: "暂停",
font_class: "a-Rectangle346241832",
unicode: "e6e4",
unicode_decimal: 59108
},
{
icon_id: "43570257",
name: "缩小",
font_class: "Frame7",
unicode: "e6e3",
unicode_decimal: 59107
},
{
icon_id: "43558376",
name: "采集",
font_class: "Frame6",
unicode: "e6e2",
unicode_decimal: 59106
},
{
icon_id: "43554396",
name: "暂停",
font_class: "Frame5",
unicode: "e6e1",
unicode_decimal: 59105
},
{
icon_id: "39372407",
name: "暂停",
font_class: "suspend",
unicode: "e631",
unicode_decimal: 58929
},
{
icon_id: "43539368",
name: "播放7",
font_class: "a-Polygon7",
unicode: "e609",
unicode_decimal: 58889
},
{
icon_id: "43533630",
name: "静音",
font_class: "volume-x",
unicode: "e6e0",
unicode_decimal: 59104
},
{
icon_id: "43531062",
name: "全屏",
font_class: "quanping",
unicode: "e6dc",
unicode_decimal: 59100
},
{
icon_id: "43531060",
name: "分享",
font_class: "fenxiang",
unicode: "e6dd",
unicode_decimal: 59101
},
{
icon_id: "43531061",
name: "声音",
font_class: "shengyin",
unicode: "e6df",
unicode_decimal: 59103
},
{
icon_id: "43282022",
name: "深度思考",
font_class: "shendusikao",
unicode: "e6db",
unicode_decimal: 59099
},
{
icon_id: "43281593",
name: "联网搜索",
font_class: "lianwangsousuo",
unicode: "e6d8",
unicode_decimal: 59096
},
{
icon_id: "43281594",
name: "多智能体思考",
font_class: "duozhinengtisikao",
unicode: "e6d9",
unicode_decimal: 59097
},
{
icon_id: "43281595",
name: "个性化推荐",
font_class: "gexinghuatuijian",
unicode: "e6da",
unicode_decimal: 59098
},
{
icon_id: "43145738",
name: "shop",
font_class: "shop",
unicode: "e606",
unicode_decimal: 58886
},
{
icon_id: "43100670",
name: "love",
font_class: "love",
unicode: "e605",
unicode_decimal: 58885
},
{
icon_id: "43100699",
name: "good",
font_class: "good",
unicode: "e604",
unicode_decimal: 58884
},
{
icon_id: "43099871",
name: "fire",
font_class: "fire",
unicode: "e603",
unicode_decimal: 58883
},
{
icon_id: "43053214",
name: "点赞",
font_class: "a-IconStroke",
unicode: "e6d7",
unicode_decimal: 59095
},
{
icon_id: "42963488",
name: "能力",
font_class: "Frame4",
unicode: "e6d6",
unicode_decimal: 59094
},
{
icon_id: "42963508",
name: "数据管理",
font_class: "Frame3",
unicode: "e6d5",
unicode_decimal: 59093
},
{
icon_id: "42963413",
name: "星星",
font_class: "xingxing",
unicode: "e6d3",
unicode_decimal: 59091
},
{
icon_id: "42963397",
name: "私域",
font_class: "siyu",
unicode: "e6d4",
unicode_decimal: 59092
},
{
icon_id: "42947863",
name: "兑换",
font_class: "Frame2",
unicode: "e6d2",
unicode_decimal: 59090
},
{
icon_id: "42918433",
name: "新手任务中心",
font_class: "settings-01",
unicode: "e6d1",
unicode_decimal: 59089
},
{
icon_id: "42917948",
name: "任务安排入口",
font_class: "renwuanpairukou",
unicode: "e6cf",
unicode_decimal: 59087
},
{
icon_id: "42917778",
name: "小人",
font_class: "xiaoren",
unicode: "e6d0",
unicode_decimal: 59088
},
{
icon_id: "42758068",
name: "购物车",
font_class: "a-Frame1321315545",
unicode: "e6ce",
unicode_decimal: 59086
},
{
icon_id: "42724138",
name: "替换",
font_class: "repeat",
unicode: "e6cd",
unicode_decimal: 59085
},
{
icon_id: "42724072",
name: "重新生成",
font_class: "zhongxinshengcheng",
unicode: "e6cc",
unicode_decimal: 59084
},
{
icon_id: "386299",
name: "危险",
font_class: "weixian",
unicode: "e616",
unicode_decimal: 58902
},
{
icon_id: "42608016",
name: "发送",
font_class: "fasong",
unicode: "e6ca",
unicode_decimal: 59082
},
{
icon_id: "42608015",
name: "麦克风",
font_class: "maikefeng",
unicode: "e6cb",
unicode_decimal: 59083
},
{
icon_id: "42507253",
name: "Group 1321315107",
font_class: "a-Group1321315107",
unicode: "e64b",
unicode_decimal: 58955
},
{
icon_id: "42456251",
name: "AI生成",
font_class: "AIshengcheng",
unicode: "e6c8",
unicode_decimal: 59080
},
{
icon_id: "42456250",
name: "下载",
font_class: "xiazai",
unicode: "e6c9",
unicode_decimal: 59081
},
{
icon_id: "42436118",
name: "left-arrow 1",
font_class: "a-left-arrow1",
unicode: "e6c7",
unicode_decimal: 59079
},
{
icon_id: "42389661",
name: "付费咨询",
font_class: "a-Group1321315080",
unicode: "e64a",
unicode_decimal: 58954
},
{
icon_id: "42389668",
name: "播放",
font_class: "bofang",
unicode: "e649",
unicode_decimal: 58953
},
{
icon_id: "42389488",
name: "播放中",
font_class: "a-Group1321315079",
unicode: "e643",
unicode_decimal: 58947
},
{
icon_id: "42364763",
name: "钱包",
font_class: "wallet-02",
unicode: "e6c6",
unicode_decimal: 59078
},
{
icon_id: "42362670",
name: "私域",
font_class: "dataflow-011",
unicode: "e6c5",
unicode_decimal: 59077
},
{
icon_id: "42362658",
name: "APP",
font_class: "phone-02",
unicode: "e6c4",
unicode_decimal: 59076
},
{
icon_id: "42343201",
name: "1",
font_class: "a-1",
unicode: "e6c3",
unicode_decimal: 59075
},
{
icon_id: "42306327",
name: "成员",
font_class: "Frame1",
unicode: "e6c2",
unicode_decimal: 59074
},
{
icon_id: "42302427",
name: "风格",
font_class: "fengge",
unicode: "e6bf",
unicode_decimal: 59071
},
{
icon_id: "42300902",
name: "自动执行",
font_class: "zidongzhihang",
unicode: "e6c0",
unicode_decimal: 59072
},
{
icon_id: "42300901",
name: "模版",
font_class: "moban",
unicode: "e6c1",
unicode_decimal: 59073
},
{
icon_id: "42295901",
name: "收起",
font_class: "shouqi",
unicode: "e6be",
unicode_decimal: 59070
},
{
icon_id: "8875676",
name: "微信",
font_class: "weixin",
unicode: "e6bd",
unicode_decimal: 59069
},
{
icon_id: "15933089",
name: "支付宝",
font_class: "zhifubao",
unicode: "e607",
unicode_decimal: 58887
},
{
icon_id: "42207535",
name: "bold-safety",
font_class: "bold-anquan",
unicode: "e602",
unicode_decimal: 58882
},
{
icon_id: "42184589",
name: "收入",
font_class: "shouru",
unicode: "e6bb",
unicode_decimal: 59067
},
{
icon_id: "42184588",
name: "支出",
font_class: "zhichu",
unicode: "e6bc",
unicode_decimal: 59068
},
{
icon_id: "42158960",
name: "translate-01",
font_class: "translate-011",
unicode: "e6ba",
unicode_decimal: 59066
},
{
icon_id: "42158953",
name: "translate-01",
font_class: "translate-01",
unicode: "e6b9",
unicode_decimal: 59065
},
{
icon_id: "42063689",
name: "日历",
font_class: "rili",
unicode: "e6b8",
unicode_decimal: 59064
},
{
icon_id: "42063054",
name: "code",
font_class: "code",
unicode: "e601",
unicode_decimal: 58881
},
{
icon_id: "42035380",
name: "二维码",
font_class: "erweima",
unicode: "e6b5",
unicode_decimal: 59061
},
{
icon_id: "42035379",
name: "设置",
font_class: "shezhi",
unicode: "e6b6",
unicode_decimal: 59062
},
{
icon_id: "42035378",
name: "问号",
font_class: "wenhao",
unicode: "e6b7",
unicode_decimal: 59063
},
{
icon_id: "42033679",
name: "chat-icon",
font_class: "chat-icon",
unicode: "e600",
unicode_decimal: 58880
},
{
icon_id: "41721815",
name: "私域空间",
font_class: "dataflow-01",
unicode: "e6b4",
unicode_decimal: 59060
},
{
icon_id: "41666567",
name: "暂停-新",
font_class: "zanting-xin",
unicode: "e6b3",
unicode_decimal: 59059
},
{
icon_id: "41437602",
name: "切换空间",
font_class: "a-Frame1142814756",
unicode: "e63c",
unicode_decimal: 58940
},
{
icon_id: "41437601",
name: "西华大学",
font_class: "a-Frame1142814757",
unicode: "e63d",
unicode_decimal: 58941
},
{
icon_id: "41437600",
name: "复制",
font_class: "a-Frame1142814753",
unicode: "e63f",
unicode_decimal: 58943
},
{
icon_id: "41437604",
name: "邀请码",
font_class: "a-Group1321314828",
unicode: "e639",
unicode_decimal: 58937
},
{
icon_id: "41437603",
name: "个人空间",
font_class: "a-Frame1142814758",
unicode: "e63a",
unicode_decimal: 58938
},
{
icon_id: "41365268",
name: "难受",
font_class: "Frame",
unicode: "e6b2",
unicode_decimal: 59058
},
{
icon_id: "41003791",
name: "文件",
font_class: "wenjian1",
unicode: "e6b1",
unicode_decimal: 59057
},
{
icon_id: "41003792",
name: "上传文件",
font_class: "shangchuanwenjian",
unicode: "e6b0",
unicode_decimal: 59056
},
{
icon_id: "40979011",
name: "叉",
font_class: "cha",
unicode: "e6ae",
unicode_decimal: 59054
},
{
icon_id: "40979010",
name: "勾",
font_class: "gou",
unicode: "e6af",
unicode_decimal: 59055
},
{
icon_id: "40933540",
name: "排序",
font_class: "paixu",
unicode: "e6ac",
unicode_decimal: 59052
},
{
icon_id: "40933541",
name: "拖拽",
font_class: "tuozhuai",
unicode: "e6ad",
unicode_decimal: 59053
},
{
icon_id: "40924469",
name: "文件",
font_class: "wenjian",
unicode: "e665",
unicode_decimal: 58981
},
{
icon_id: "40868666",
name: "数字人官网",
font_class: "shuzirenguanwang",
unicode: "e660",
unicode_decimal: 58976
},
{
icon_id: "40868665",
name: "退出",
font_class: "tuichu",
unicode: "e661",
unicode_decimal: 58977
},
{
icon_id: "40868664",
name: "仅自己可见",
font_class: "jinzijikejian",
unicode: "e662",
unicode_decimal: 58978
},
{
icon_id: "40868663",
name: "密码",
font_class: "mima",
unicode: "e663",
unicode_decimal: 58979
},
{
icon_id: "40868662",
name: "角色设定",
font_class: "jiaosesheding",
unicode: "e664",
unicode_decimal: 58980
},
{
icon_id: "40603723",
name: "share",
font_class: "share",
unicode: "e6de",
unicode_decimal: 59102
},
{
icon_id: "40509023",
name: "general-k",
font_class: "general-k",
unicode: "e6aa",
unicode_decimal: 59050
},
{
icon_id: "40509022",
name: "general-vo",
font_class: "general-vo",
unicode: "e6ab",
unicode_decimal: 59051
},
{
icon_id: "40490231",
name: "general-sb",
font_class: "general-sb",
unicode: "e6a6",
unicode_decimal: 59046
},
{
icon_id: "40490229",
name: "general-bc",
font_class: "general-bc",
unicode: "e6a7",
unicode_decimal: 59047
},
{
icon_id: "40490230",
name: "general-同级",
font_class: "general-tongji",
unicode: "e6a8",
unicode_decimal: 59048
},
{
icon_id: "40490228",
name: "general-下级",
font_class: "general-xiaji",
unicode: "e6a9",
unicode_decimal: 59049
},
{
icon_id: "35687320",
name: "pen-line-black",
font_class: "pen-line-black1",
unicode: "e64d",
unicode_decimal: 58957
},
{
icon_id: "40212433",
name: "icon-bq",
font_class: "icon-bq",
unicode: "e6a2",
unicode_decimal: 59042
},
{
icon_id: "40212432",
name: "icon-j",
font_class: "icon-j",
unicode: "e6a3",
unicode_decimal: 59043
},
{
icon_id: "40212431",
name: "icon-image",
font_class: "icon-image",
unicode: "e6a4",
unicode_decimal: 59044
},
{
icon_id: "40212430",
name: "icon-m",
font_class: "icon-m",
unicode: "e6a5",
unicode_decimal: 59045
},
{
icon_id: "40206656",
name: "camera",
font_class: "camera",
unicode: "e69f",
unicode_decimal: 59039
},
{
icon_id: "40206655",
name: "general-dhjz",
font_class: "general-dhjz",
unicode: "e6a0",
unicode_decimal: 59040
},
{
icon_id: "40206654",
name: "general-addf-line",
font_class: "general-addf-line",
unicode: "e6a1",
unicode_decimal: 59041
},
{
icon_id: "40152663",
name: "general_more-black2",
font_class: "general_more-black2",
unicode: "e69e",
unicode_decimal: 59038
},
{
icon_id: "40150625",
name: "dg",
font_class: "dg",
unicode: "e69c",
unicode_decimal: 59036
},
{
icon_id: "40150624",
name: "wt",
font_class: "wt",
unicode: "e69d",
unicode_decimal: 59037
},
{
icon_id: "39966649",
name: "添加到",
font_class: "toAdd",
unicode: "e64e",
unicode_decimal: 58958
},
{
icon_id: "35681680",
name: "方向=左, 颜色=false",
font_class: "a-fangxiangzuoyansefalse1",
unicode: "e63b",
unicode_decimal: 58939
},
{
icon_id: "35681683",
name: "方向=上, 颜色=false",
font_class: "a-fangxiangshangyansefalse",
unicode: "e63e",
unicode_decimal: 58942
},
{
icon_id: "35681685",
name: "方向=下, 颜色=false",
font_class: "a-fangxiangxiayansefalse",
unicode: "e640",
unicode_decimal: 58944
},
{
icon_id: "35681686",
name: "方向=右, 颜色=false",
font_class: "a-fangxiangyouyansefalse1",
unicode: "e641",
unicode_decimal: 58945
},
{
icon_id: "40044200",
name: "general-star",
font_class: "general-star",
unicode: "e699",
unicode_decimal: 59033
},
{
icon_id: "40044201",
name: "general-fs",
font_class: "general-fs",
unicode: "e69a",
unicode_decimal: 59034
},
{
icon_id: "40044202",
name: "general-y",
font_class: "general-y",
unicode: "e69b",
unicode_decimal: 59035
},
{
icon_id: "40033571",
name: "general-knowledge",
font_class: "general-knowledge",
unicode: "e698",
unicode_decimal: 59032
},
{
icon_id: "40038405",
name: "general-zl-de",
font_class: "general-zl-de",
unicode: "e690",
unicode_decimal: 59024
},
{
icon_id: "39998430",
name: "general-fs",
font_class: "a-general-fs",
unicode: "e68f",
unicode_decimal: 59023
},
{
icon_id: "39953790",
name: "general_folder-2",
font_class: "general_folder-2",
unicode: "e691",
unicode_decimal: 59025
},
{
icon_id: "39953791",
name: "general-header-动态blue",
font_class: "general-header-dongtaiblue",
unicode: "e692",
unicode_decimal: 59026
},
{
icon_id: "39953792",
name: "general-?",
font_class: "a-general-",
unicode: "e693",
unicode_decimal: 59027
},
{
icon_id: "39953793",
name: "general_folder-1",
font_class: "general_folder-1",
unicode: "e694",
unicode_decimal: 59028
},
{
icon_id: "39953794",
name: "general-delete-bold",
font_class: "general-delete-bold",
unicode: "e695",
unicode_decimal: 59029
},
{
icon_id: "39953795",
name: "general-delete2-black",
font_class: "general-delete2-black",
unicode: "e696",
unicode_decimal: 59030
},
{
icon_id: "39953796",
name: "general-lock",
font_class: "general-lock",
unicode: "e697",
unicode_decimal: 59031
},
{
icon_id: "35857658",
name: "sz-line-black",
font_class: "sz-line-black",
unicode: "e623",
unicode_decimal: 58915
},
{
icon_id: "35857836",
name: "Alerts_02",
font_class: "Alerts_02",
unicode: "e629",
unicode_decimal: 58921
},
{
icon_id: "35857837",
name: "Alerts_-false",
font_class: "Alerts_-false",
unicode: "e62a",
unicode_decimal: 58922
},
{
icon_id: "35857839",
name: "Alerts_-v-blue",
font_class: "Alerts_-v-blue",
unicode: "e62b",
unicode_decimal: 58923
},
{
icon_id: "35857894",
name: "general_fj-line-gray",
font_class: "General_fj-line-gray",
unicode: "e62d",
unicode_decimal: 58925
},
{
icon_id: "35857895",
name: "general_sx-line-black",
font_class: "General_sx-line-black",
unicode: "e62e",
unicode_decimal: 58926
},
{
icon_id: "36123273",
name: "Alerts-2",
font_class: "Alerts-2",
unicode: "e62f",
unicode_decimal: 58927
},
{
icon_id: "36123274",
name: "Alerts-1",
font_class: "Alerts-1",
unicode: "e630",
unicode_decimal: 58928
},
{
icon_id: "36484870",
name: "Alerts_-v-blue",
font_class: "Alerts_-v-blue1",
unicode: "e642",
unicode_decimal: 58946
},
{
icon_id: "36484923",
name: "Alerts_success",
font_class: "Alerts_success",
unicode: "e644",
unicode_decimal: 58948
},
{
icon_id: "36485318",
name: "方向=右, 颜色=false",
font_class: "a-fangxiangyouyansefalse",
unicode: "e645",
unicode_decimal: 58949
},
{
icon_id: "36485319",
name: "方向=左, 颜色=false",
font_class: "a-fangxiangzuoyansefalse",
unicode: "e646",
unicode_decimal: 58950
},
{
icon_id: "36485329",
name: "状态=左, 颜色=false",
font_class: "a-zhuangtaizuoyansefalse",
unicode: "e647",
unicode_decimal: 58951
},
{
icon_id: "36485330",
name: "状态=右, 颜色=false",
font_class: "a-zhuangtaiyouyansefalse",
unicode: "e648",
unicode_decimal: 58952
},
{
icon_id: "36485413",
name: "wdbm-line-black",
font_class: "wdbm-line-black",
unicode: "e64c",
unicode_decimal: 58956
},
{
icon_id: "36511533",
name: "mt-fgbm-line",
font_class: "mt-fgbm-line",
unicode: "e654",
unicode_decimal: 58964
},
{
icon_id: "36840325",
name: "mt-star-de",
font_class: "mt-star-de",
unicode: "e659",
unicode_decimal: 58969
},
{
icon_id: "36840326",
name: "mt-star-ac",
font_class: "mt-star-ac",
unicode: "e65a",
unicode_decimal: 58970
},
{
icon_id: "37307108",
name: "mt-send",
font_class: "mt-send",
unicode: "e666",
unicode_decimal: 58982
},
{
icon_id: "38552674",
name: "位置",
font_class: "weizhi",
unicode: "e667",
unicode_decimal: 58983
},
{
icon_id: "39829997",
name: "Frame 1142813915",
font_class: "a-Frame1142813915",
unicode: "e669",
unicode_decimal: 58985
},
{
icon_id: "39829999",
name: "general_add_line-gray",
font_class: "general_add_line-gray",
unicode: "e66a",
unicode_decimal: 58986
},
{
icon_id: "39830000",
name: "Alerts_02",
font_class: "Alerts_021",
unicode: "e668",
unicode_decimal: 58984
},
{
icon_id: "39830002",
name: "general_black-点踩",
font_class: "general_black-diancai",
unicode: "e66b",
unicode_decimal: 58987
},
{
icon_id: "39830003",
name: "general_black-点赞",
font_class: "general_black-dianzan",
unicode: "e66c",
unicode_decimal: 58988
},
{
icon_id: "39830004",
name: "general_black-alert",
font_class: "general_black-alert",
unicode: "e66d",
unicode_decimal: 58989
},
{
icon_id: "39830005",
name: "general__filter-line-gray",
font_class: "general__filter-line-gray",
unicode: "e66e",
unicode_decimal: 58990
},
{
icon_id: "39830006",
name: "general_black-switch",
font_class: "general_black-switch",
unicode: "e66f",
unicode_decimal: 58991
},
{
icon_id: "39830007",
name: "general_black-copy",
font_class: "general_black-copy",
unicode: "e670",
unicode_decimal: 58992
},
{
icon_id: "39830008",
name: "general_black-location",
font_class: "general_black-location",
unicode: "e671",
unicode_decimal: 58993
},
{
icon_id: "39830009",
name: "general_black-call",
font_class: "general_black-call",
unicode: "e672",
unicode_decimal: 58994
},
{
icon_id: "39830010",
name: "general_black-New topic",
font_class: "a-general_black-Newtopic",
unicode: "e673",
unicode_decimal: 58995
},
{
icon_id: "39830011",
name: "general_black-clock-line",
font_class: "general_black-clock-line",
unicode: "e674",
unicode_decimal: 58996
},
{
icon_id: "39830012",
name: "general_black-car",
font_class: "general_black-car",
unicode: "e675",
unicode_decimal: 58997
},
{
icon_id: "39830013",
name: "general_bold_like",
font_class: "general_bold_like",
unicode: "e676",
unicode_decimal: 58998
},
{
icon_id: "39830014",
name: "general_black-img",
font_class: "general_black-img",
unicode: "e677",
unicode_decimal: 58999
},
{
icon_id: "39830015",
name: "general_bold_dislike",
font_class: "general_bold_dislike",
unicode: "e678",
unicode_decimal: 59e3
},
{
icon_id: "39830016",
name: "general_black-clock",
font_class: "general_black-clock",
unicode: "e679",
unicode_decimal: 59001
},
{
icon_id: "39830017",
name: "general_gray_research",
font_class: "general_gray_research",
unicode: "e67a",
unicode_decimal: 59002
},
{
icon_id: "39830018",
name: "general_bold_video",
font_class: "general_bold_video",
unicode: "e67b",
unicode_decimal: 59003
},
{
icon_id: "39830019",
name: "general_black-video",
font_class: "general_black-video",
unicode: "e67c",
unicode_decimal: 59004
},
{
icon_id: "39830020",
name: "general_delete-black",
font_class: "general_delete-black",
unicode: "e67d",
unicode_decimal: 59005
},
{
icon_id: "39830021",
name: "general_home_blue",
font_class: "general_home_blue",
unicode: "e67e",
unicode_decimal: 59006
},
{
icon_id: "39830022",
name: "general_more-black",
font_class: "general_more-black",
unicode: "e67f",
unicode_decimal: 59007
},
{
icon_id: "39830023",
name: "icon_delete_gray-14",
font_class: "icon_delete_gray-14",
unicode: "e680",
unicode_decimal: 59008
},
{
icon_id: "39830025",
name: "general_read_bold-white",
font_class: "general_read_bold-white",
unicode: "e681",
unicode_decimal: 59009
},
{
icon_id: "39830026",
name: "general_folder-black-1",
font_class: "general_folder-black-1",
unicode: "e682",
unicode_decimal: 59010
},
{
icon_id: "39830027",
name: "icon_qa",
font_class: "icon_qa",
unicode: "e683",
unicode_decimal: 59011
},
{
icon_id: "39830028",
name: "general_delete_line",
font_class: "general_delete_line",
unicode: "e684",
unicode_decimal: 59012
},
{
icon_id: "39830030",
name: "x_circle",
font_class: "x_circle",
unicode: "e685",
unicode_decimal: 59013
},
{
icon_id: "39830031",
name: "general_white-maximize",
font_class: "general_white-maximize",
unicode: "e686",
unicode_decimal: 59014
},
{
icon_id: "39830032",
name: "General_xz_line-blue",
font_class: "General_xz_line-blue",
unicode: "e687",
unicode_decimal: 59015
},
{
icon_id: "39830033",
name: "general_white-dhjz",
font_class: "general_white-dhjz",
unicode: "e688",
unicode_decimal: 59016
},
{
icon_id: "39830034",
name: "General_sc_line-blue",
font_class: "General_sc_line-blue",
unicode: "e689",
unicode_decimal: 59017
},
{
icon_id: "39830036",
name: "general_folder-black",
font_class: "general_folder-black",
unicode: "e68a",
unicode_decimal: 59018
},
{
icon_id: "39830037",
name: "general_picture",
font_class: "general_picture",
unicode: "e68b",
unicode_decimal: 59019
},
{
icon_id: "39830039",
name: "general_zb_line-black",
font_class: "general_zb_line-black",
unicode: "e68c",
unicode_decimal: 59020
},
{
icon_id: "39830040",
name: "notification",
font_class: "notification",
unicode: "e68d",
unicode_decimal: 59021
},
{
icon_id: "39830080",
name: "general_tool-black",
font_class: "general_tool-black",
unicode: "e68e",
unicode_decimal: 59022
}
];
const iconfontJson = {
id: id$3,
name,
font_family,
css_prefix_text,
glyphs
};
const iconClassList = iconfontJson.glyphs.map((item) => `icon-${item.font_class}`);
const iconProps = {
/**
* 图标大小
*/
size: {
type: [Number, String],
validator: (value) => {
return isNumber$1(value) || isString$1(value) && value === "inherit";
},
default: "inherit"
},
/**
* 图标颜色
*/
color: {
type: String,
default: "inherit"
},
/**
* 图标名称
*/
name: {
type: String,
required: true,
validator: (value) => {
return iconClassList.includes(value);
}
},
/**
* 图标旋转角度
*/
rotate: {
type: Number,
default: 0
},
/**
* 是否显示可点击指针样式
*/
clickable: {
type: Boolean,
default: false
}
};
const _sfc_main$C = /* @__PURE__ */ defineComponent({
...{
name: "MtIcon"
},
__name: "icon",
props: iconProps,
setup(__props) {
const props = __props;
const iconClasses = computed(() => {
const classes = [];
classes.push(`mt-icon`);
if (props.clickable) {
classes.push("is-clickable");
}
if (props.name) {
classes.push(`${props.name}`);
}
return classes;
});
const iconStyles = computed(() => {
const styles = {};
if (!checkEmpty(props.color)) {
styles["--mt-icon-color"] = props.color;
}
if (!checkEmpty(props.size)) {
styles["--mt-icon-color"] = props.color;
styles["--mt-icon-font-size"] = convertValueToViewportWidth(props.size);
}
Object.assign(styles, {
transform: `rotate(${props.rotate}deg)`
});
return styles;
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock("i", {
class: normalizeClass(iconClasses.value),
style: normalizeStyle(iconStyles.value)
}, null, 6);
};
}
});
const MtIcon = withInstall(_sfc_main$C);
const loadingProps = {
/**
* 加载动画的类型
*/
type: {
type: String,
validator: (value) => {
return ["spinner"].includes(value);
},
default: "spinner"
},
/**
* 加载动画的大小
*/
size: {
type: Number,
default: 42
},
/**
* 加载时显示的文本
*/
text: {
type: String,
default: ""
}
};
const _hoisted_1$p = { class: "mt-loading" };
const _hoisted_2$i = {
key: 0,
class: "mt-loading__text"
};
const _sfc_main$B = /* @__PURE__ */ defineComponent({
...{
name: "MtLoading"
},
__name: "loading",
props: loadingProps,
setup(__props) {
const props = __props;
const iconClass = computed(() => {
const classes = [];
classes.push(`mt-loading__icon`);
classes.push(`mt-loading__icon--${props.type}`);
return classes;
});
const iconStyles = computed(() => {
const styles = {};
if (!checkEmpty(props.size)) {
styles["--mt-loading-size"] = convertValueToViewportWidth(props.size);
}
return styles;
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", _hoisted_1$p, [
createElementVNode("div", {
class: normalizeClass(iconClass.value),
style: normalizeStyle(iconStyles.value)
}, null, 6),
props.text || _ctx.$slots.default ? (openBlock(), createElementBlock("div", _hoisted_2$i, [
renderSlot(_ctx.$slots, "default", {}, () => [
createTextVNode(toDisplayString(props.text), 1)
])
])) : createCommentVNode("", true)
]);
};
}
});
const MtLoading = withInstall(_sfc_main$B);
const imageProps = {
/**
* 图片地址
*/
src: {
type: String,
default: ""
},
/**
* 图片的宽度
*/
width: {
type: [Number, String],
validator: (value) => {
return isValidCssValue(value);
},
default: "100%"
},
/**
* 图片的高度
*/
height: {
type: [Number, String],
validator: (value) => {
return isValidCssValue(value);
},
default: "100%"
},
/**
* 图片缩放模式
*/
fit: {
type: String,
validator: (value) => {
return ["fill", "contain", "cover", "none", "scale-down"].includes(value);
},
default: "cover"
},
/**
* 图片是否可拖动
*/
draggable: {
type: Boolean,
default: false
},
/**
* 懒加载
*/
lazy: {
type: Boolean,
default: false
}
};
const _hoisted_1$o = {
key: 0,
class: "mt-image__error"
};
const _hoisted_2$h = ["src", "draggable"];
const _hoisted_3$b = {
key: 1,
class: "mt-image__loading"
};
const _sfc_main$A = /* @__PURE__ */ defineComponent({
...{
name: "MtImage"
},
__name: "image",
props: imageProps,
emits: ["load", "error"],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const imageClasses = computed(() => {
const classes = ["mt-image"];
return classes;
});
const imageStyles = computed(() => {
const styles = {};
if (!checkEmpty(props.width)) {
styles["--mt-image-width"] = convertValueToViewportWidth(props.width);
}
if (!checkEmpty(props.height)) {
styles["--mt-image-height"] = convertValueToViewportWidth(props.height);
}
return styles;
});
const hasLoadError = ref(false);
const isLoading = ref(true);
const imageSrc = ref("");
const observer = ref();
const imageRef = ref(null);
function loadImage() {
isLoading.value = true;
hasLoadError.value = false;
imageSrc.value = props.src;
}
function handleLoad() {
isLoading.value = false;
hasLoadError.value = false;
emits("load");
}
function handleError() {
isLoading.value = false;
hasLoadError.value = true;
emits("error");
}
function initObserver() {
observer.value = new IntersectionObserver((entries5) => {
entries5.forEach((entry) => {
if (entry.isIntersecting && !isLoading.value) {
loadImage();
observer.value.unobserve(imageRef.value);
}
});
}, {
threshold: 0.1
});
observer.value.observe(imageRef.value);
}
watch(
() => props.src,
() => {
if (props.lazy) {
initObserver();
} else {
loadImage();
}
}
);
onMounted(() => {
if (props.lazy) {
initObserver();
} else {
loadImage();
}
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", {
ref_key: "imageRef",
ref: imageRef,
class: normalizeClass(imageClasses.value),
style: normalizeStyle(imageStyles.value)
}, [
hasLoadError.value ? (openBlock(), createElementBlock("div", _hoisted_1$o, [
renderSlot(_ctx.$slots, "error", {}, () => [
createVNode(unref(MtIcon), {
name: "icon-Frame8",
color: "#CCE0FD",
size: 50
})
])
])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
imageSrc.value !== void 0 ? (openBlock(), createElementBlock("img", {
key: 0,
src: imageSrc.value,
class: "mt-image__img",
style: normalizeStyle({
objectFit: _ctx.fit
}),
draggable: _ctx.draggable,
onLoad: handleLoad,
onError: handleError
}, null, 44, _hoisted_2$h)) : createCommentVNode("", true),
isLoading.value ? (openBlock(), createElementBlock("div", _hoisted_3$b, [
createVNode(unref(MtLoading), { size: 38 })
])) : createCommentVNode("", true)
], 64))
], 6);
};
}
});
const MtImage = withInstall(_sfc_main$A);
const avatarImageProps = {
/**
* 头像的形状
*/
shape: {
type: String,
default: "circle",
validator: (value) => ["circle", "square"].includes(value)
},
/**
* 头像的大小
*/
size: {
type: Number,
default: 32
},
/**
* 头像的图片
*/
src: {
type: String,
default: ""
},
/**
* 头像的样式类型
*/
effect: {
type: String,
validator: (value) => {
return ["dark", "light", "plain"].includes(value);
},
default: "dark"
}
};
const _sfc_main$z = /* @__PURE__ */ defineComponent({
...{
name: "MtAvatarImage"
},
__name: "avatar-image",
props: avatarImageProps,
setup(__props) {
const props = __props;
const avatarImageClasses = computed(() => {
const classes = [];
classes.push(`mt-avatar-image`);
classes.push(`mt-avatar-image--${props.effect}`);
classes.push(`mt-avatar-image--${props.shape}`);
if (props.src) {
classes.push(`is-value`);
}
return classes;
});
const avatarImageStyles = computed(() => {
const styles = {};
if (!checkEmpty(props.size)) {
styles["--mt-avatar-image-width"] = convertValueToViewportWidth(props.size);
styles["--mt-avatar-image-height"] = convertValueToViewportWidth(props.size);
}
return styles;
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", {
class: normalizeClass(avatarImageClasses.value),
style: normalizeStyle(avatarImageStyles.value)
}, [
createVNode(unref(MtImage), {
src: props.src
}, {
error: withCtx(() => [
props.effect === "dark" ? (openBlock(), createBlock(unref(MtIcon), {
key: 0,
name: "icon-xiaoren",
color: "#5d89f7",
size: props.size * 0.7
}, null, 8, ["size"])) : (openBlock(), createBlock(unref(MtIcon), {
key: 1,
name: "icon-Frame8",
color: "#CCE0FD",
size: props.size * 0.5
}, null, 8, ["size"]))
]),
_: 1
}, 8, ["src"])
], 6);
};
}
});
const MtAvatarImage = withInstall(_sfc_main$z);
const avatarTextProps = {
/**
* 头像的形状
*/
shape: {
type: String,
default: "circle",
validator: (value) => ["circle", "square"].includes(value)
},
/**
* 头像的大小
*/
size: {
type: Number,
default: 32
},
/**
* 头像的文字
*/
text: {
type: String,
default: ""
},
/**
* 样式风格
*/
effect: {
type: String,
validator: (value) => {
return ["dark", "light"].includes(value);
},
default: "dark"
}
};
const _sfc_main$y = /* @__PURE__ */ defineComponent({
...{
name: "MtAvatarText"
},
__name: "avatar-text",
props: avatarTextProps,
setup(__props) {
const props = __props;
const slots = useSlots();
const displayText = computed(() => {
var _a, _b, _c;
const text = props.text || (((_c = (_b = (_a = slots.default) == null ? void 0 : _a.call(slots)) == null ? void 0 : _b[0]) == null ? void 0 : _c.children) ?? props.text).trim();
if (text.length >= 4) {
return text.substring(0, 4);
}
return text.substring(0, 1);
});
const isDisplayedTextOneChar = computed(() => {
return displayText.value.length === 1;
});
const isDisplayedTextFourChar = computed(() => {
return displayText.value.length === 4;
});
const avatarTextClasses = computed(() => {
const classes = [];
classes.push(`mt-avatar-text`);
classes.push(`mt-avatar-text--${props.effect}`);
classes.push(`mt-avatar-text--${displayText.value.length}`);
classes.push(`mt-avatar-image--${props.shape}`);
return classes;
});
const avatarTextStyles = computed(() => {
const styles = {};
if (!checkEmpty(props.size)) {
styles["--mt-avatar-text-padding"] = convertValueToViewportWidth(props.size * 0.15);
if (isDisplayedTextOneChar.value) {
styles["--mt-avatar-text-font-size"] = convertValueToViewportWidth(props.size * 0.6);
}
if (isDisplayedTextFourChar.value) {
styles["--mt-avatar-text-font-size"] = convertValueToViewportWidth(props.size * 0.3);
}
}
if (!checkEmpty(props.size)) {
styles["--mt-avatar-text-width"] = convertValueToViewportWidth(props.size);
styles["--mt-avatar-text-height"] = convertValueToViewportWidth(props.size);
}
return styles;
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", {
class: normalizeClass(avatarTextClasses.value),
style: normalizeStyle(avatarTextStyles.value)
}, [
(openBlock(true), createElementBlock(Fragment, null, renderList(displayText.value, (text) => {
return openBlock(), createElementBlock("span", { key: text }, toDisplayString(text), 1);
}), 128))
], 6);
};
}
});
const MtAvatarText = withInstall(_sfc_main$y);
const badgeProps = {
/**
* 是否展示为小红点
*/
dot: {
type: Boolean,
default: false
},
/**
* 设置徽标的偏移量,数组的两项分别对应水平向右和垂直向下方向的偏移量
*/
offset: {
type: Object,
default: () => [0, 0],
validator: (value) => {
return value.length === 2 && value.every((item) => isNumber$1(item));
}
},
/**
* 徽标内容
*/
value: {
type: [String, Number],
default: ""
},
/**
* 最大值,超过最大值会显示 {max}+,仅当 value 为数字时有效
*/
max: {
type: Number,
default: 99
},
/**
* 值为零时是否显示 Badge
*/
zero: {
type: Boolean,
default: true
},
/**
* 是否显示
*/
visible: {
type: Boolean,
default: true
}
};
const _hoisted_1$n = { class: "mt-badge" };
const _sfc_main$x = /* @__PURE__ */ defineComponent({
...{
name: "MtBadge"
},
__name: "badge",
props: badgeProps,
setup(__props) {
const props = __props;
const slots = useSlots();
const badgeClasses = computed(() => {
const classes = [];
classes.push(`mt-badge__content`);
if (slots.default) {
classes.push(`mt-badge__content--fixed`);
}
if (props.dot) {
classes.push(`mt-badge__content--dot`);
}
return classes;
});
const badgeStyles = computed(() => {
var _a, _b;
const styles = {};
styles["margin-right"] = convertValueToViewportWidth(((_a = props.offset) == null ? void 0 : _a[0]) ?? 0);
styles["margin-top"] = convertValueToViewportWidth(((_b = props.offset) == null ? void 0 : _b[1]) ?? 0);
return styles;
});
const content = computed(() => {
if (props.dot) {
return "";
}
if (!props.zero && (props.value === 0 || props.value === "0")) {
return "";
}
if (isNumber$1(props.value)) {
if (beParsedAsNumber(props.max) < beParsedAsNumber(props.value)) {
return `${props.max}+`;
}
}
return `${props.value}`;
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", _hoisted_1$n, [
renderSlot(_ctx.$slots, "default"),
withDirectives(createElementVNode("div", {
class: normalizeClass(badgeClasses.value),
style: normalizeStyle(badgeStyles.value)
}, toDisplayString(content.value), 7), [
[vShow, _ctx.visible && (props.dot || content.value)]
])
]);
};
}
});
const MtBadge = withInstall(_sfc_main$x);
const buttonProps = {
/**
* 按钮的外观风格
*/
type: {
type: String,
validator: (value) => {
return ["default", "primary", "error", "success", "noble"].includes(value);
},
default: "default"
},
/**
* 按钮的尺寸
*/
size: sizeProp,
/**
* 按钮的宽度
*/
width: {
type: [Number, String],
validator: (value) => {
return isValidCssValue(value);
},
default: "auto"
},
/**
* 按钮的高度
*/
height: {
type: [Number, String],
validator: (value) => {
return isValidCssValue(value);
},
default: "auto"
},
/**
* 控制按钮是否呈现圆角样式
*/
round: {
type: Boolean,
default: false
},
/**
* 按钮是否为圆形按钮
*/
circle: {
type: Boolean,
default: false
},
/**
* 按钮是否处于加载中状态
*/
loading: {
type: Boolean,
default: false
},
/**
* 按钮是否处于禁用状态
*/
disabled: {
type: Boolean,
default: false
},
/**
* 是否为文字按钮
*/
text: {
type: Boolean,
default: false
},
/**
* 是否为块级元素
*/
block: {
type: Boolean,
default: false
},
/**
* 是否为朴素按钮
*/
plain: {
type: Boolean,
default: false
},
/**
* 原生 type 属性
*/
nativeType: {
type: String,
default: "button"
}
};
const _hoisted_1$m = ["disabled", "type"];
const _hoisted_2$g = { class: "mt-button__content" };
const _sfc_main$w = /* @__PURE__ */ defineComponent({
...{
name: "MtButton"
},
__name: "button",
props: buttonProps,
emits: ["click"],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const buttonClasses = computed(() => {
const classes = [];
classes.push("mt-button");
classes.push(`mt-button--${props.type}`);
classes.push(`mt-button--${props.size}`);
if (props.text) {
classes.push("is-text");
}
if (props.round) {
classes.push("is-round");
}
if (props.circle) {
classes.push("is-circle");
}
if (props.loading) {
classes.push("is-loading");
}
if (props.block) {
classes.push("is-block");
}
if (props.disabled || props.loading) {
classes.push("is-disabled");
}
if (props.plain) {
classes.push("is-plain");
}
return classes;
});
const buttonStyles = computed(() => {
const styles = {};
if (!checkEmpty(props.height)) {
Object.assign(styles, {
"--mt-button-height": convertValueToViewportWidth(props.height)
});
}
if (!checkEmpty(props.width)) {
Object.assign(styles, {
"--mt-button-width": convertValueToViewportWidth(props.width)
});
}
return styles;
});
function handleClick(event) {
emits("click", event);
}
return (_ctx, _cache) => {
return openBlock(), createElementBlock("button", {
class: normalizeClass(buttonClasses.value),
style: normalizeStyle(buttonStyles.value),
disabled: props.disabled || props.loading,
type: props.nativeType,
onClick: handleClick
}, [
renderSlot(_ctx.$slots, "icon", {}, () => [
props.loading ? (openBlock(), createBlock(unref(MtLoading), { key: 0 })) : createCommentVNode("", true)
]),
createElementVNode("span", _hoisted_2$g, [
renderSlot(_ctx.$slots, "default")
])
], 14, _hoisted_1$m);
};
}
});
const MtButton = withInstall(_sfc_main$w);
const defaultInitialZIndex = 2e3;
const zIndex = ref(0);
function useZIndex(initialZIndex = defaultInitialZIndex) {
const currentZIndex = computed(() => initialZIndex + zIndex.value);
const nextZIndex = () => {
zIndex.value += 1;
return currentZIndex.value;
};
return {
nextZIndex
};
}
function useSameTarget(handleClick) {
if (!handleClick) {
return { onClick: NOOP, onMousedown: NOOP, onMouseup: NOOP };
}
let mousedownTarget = false;
let mouseupTarget = false;
const onClick = (e) => {
if (mousedownTarget && mouseupTarget) {
handleClick(e);
}
mousedownTarget = false;
mouseupTarget = false;
};
const onMousedown = (e) => {
mousedownTarget = e.target === e.currentTarget;
};
const onMouseup = (e) => {
mouseupTarget = e.target === e.currentTarget;
};
return { onClick, onMousedown, onMouseup };
}
function useChildren(key, value) {
const children = reactive([]);
const link2 = (child) => {
children.push(child);
};
const unlink = (child) => {
children.splice(children.indexOf(child), 1);
};
provide(key, {
link: link2,
unlink,
children,
...value
});
return {
children
};
}
function useParent(key) {
const parent = inject(key, null);
if (parent) {
const instance = getCurrentInstance();
const { link: link2, unlink, children } = parent;
link2(instance);
onUnmounted(() => unlink(instance));
const index2 = computed(() => children.indexOf(instance));
return {
parent,
index: index2
};
}
return {
parent: null,
index: computed(() => -1)
};
}
const cellGroupProps = {
/**
* 单元格之间的间距
*/
gutter: {
type: Number,
default: 10
},
/**
* 整体宽度
*/
width: {
type: [Number, String],
validator: (value) => {
return isValidCssValue(value);
},
default: "100%"
},
/**
* 隐藏第一个单元格间距
*/
hideFirstMargin: {
type: Boolean,
default: false
},
/**
* 隐藏最后一个单元格间距
*/
hideLastMargin: {
type: Boolean,
default: true
}
};
const CellGroupKey = Symbol("cell-group");
const CellGroup = /* @__PURE__ */ defineComponent({
name: "MtCellGroup",
props: cellGroupProps,
setup(props, {
slots
}) {
useChildren(CellGroupKey, {});
const getMarginStyle = (isLast, isFirst) => {
const styles = {};
if (!checkEmpty(props.gutter)) {
styles["--mt-cell-group-margin-bottom"] = convertValueToViewportWidth(props.gutter);
}
if (props.hideLastMargin && isLast) {
styles["--mt-cell-group-margin-bottom"] = convertValueToViewportWidth(0);
}
if (props.hideFirstMargin && isFirst) {
styles["--mt-cell-group-margin-top"] = convertValueToViewportWidth(0);
}
return styles;
};
const cellGroupStyle = computed(() => {
const styles = {};
if (!checkEmpty(props.width)) {
styles["--mt-cell-group-width"] = convertValueToViewportWidth(props.width);
}
return styles;
});
return () => {
var _a;
const children = removeEmptyChildren(((_a = slots.default) == null ? void 0 : _a.call(slots)) || []);
return createVNode("div", {
"class": "mt-cell-group",
"style": cellGroupStyle.value
}, [children.map((Child, childIndex) => createVNode("div", {
"class": "mt-cell-group__item",
"style": {
...getMarginStyle(childIndex === children.length - 1, childIndex === 0)
}
}, [Child]))]);
};
}
});
const cellProps = {
/**
* 左侧的图片路径
*/
icon: {
type: String,
default: ""
},
/**
* 中间的标题文本
*/
title: {
type: String,
default: ""
},
/**
* 标题下方的描述信息
*/
description: {
type: String,
default: ""
},
/**
* 是否展示右侧箭头
*/
link: {
type: Boolean,
default: false
},
/**
* 是否显示可点击指针样式
*/
clickable: {
type: Boolean,
default: true
},
/**
* 单元格宽度
*/
width: {
type: [Number, String],
validator: (value) => {
return isValidCssValue(value);
},
default: "100%"
},
/**
* 单元格高度
*/
height: {
type: [Number, String],
validator: (value) => {
return isValidCssValue(value);
},
default: "auto"
}
};
const _hoisted_1$l = {
key: 0,
class: "mt-cell__left"
};
const _hoisted_2$f = { class: "mt-cell__center" };
const _hoisted_3$a = {
key: 0,
class: "mt-cell__title"
};
const _hoisted_4$7 = {
key: 1,
class: "mt-cell__description"
};
const _hoisted_5$4 = {
key: 1,
class: "mt-cell__right"
};
const _sfc_main$v = /* @__PURE__ */ defineComponent({
...{
name: "MtCell"
},
__name: "cell",
props: cellProps,
emits: ["click"],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const slots = useSlots();
const isCellHover = ref(false);
useParent(CellGroupKey);
const cellClasses = computed(() => {
const classes = [];
classes.push("mt-cell");
if (props.clickable) {
classes.push("is-clickable");
}
if (isCellHover.value) {
classes.push("is-hover");
}
return classes;
});
const cellStyles = computed(() => {
const styles = {};
if (!checkEmpty(props.height)) {
styles["--mt-cell-height"] = convertValueToViewportWidth(props.height);
}
if (!checkEmpty(props.width)) {
styles["--mt-cell-width"] = convertValueToViewportWidth(props.width);
}
return styles;
});
function handleClick() {
if (props.clickable) {
emits("click");
}
}
function handleMouseover() {
isCellHover.value = true;
}
function handleMouseout() {
isCellHover.value = false;
}
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", {
class: normalizeClass(cellClasses.value),
style: normalizeStyle(cellStyles.value),
onClick: handleClick,
onMouseover: handleMouseover,
onMouseout: handleMouseout
}, [
slots.icon || props.icon ? (openBlock(), createElementBlock("div", _hoisted_1$l, [
renderSlot(_ctx.$slots, "icon", {}, () => [
createVNode(unref(MtAvatarImage), {
src: props.icon,
size: 40
}, null, 8, ["src"])
])
])) : createCommentVNode("", true),
createElementVNode("div", _hoisted_2$f, [
slots.title || props.title ? (openBlock(), createElementBlock("div", _hoisted_3$a, [
renderSlot(_ctx.$slots, "title", {}, () => [
createElementVNode("span", null, toDisplayString(props.title), 1)
])
])) : createCommentVNode("", true),
slots.description || props.description ? (openBlock(), createElementBlock("div", _hoisted_4$7, [
renderSlot(_ctx.$slots, "description", {}, () => [
createTextVNode(toDisplayString(props.description), 1)
])
])) : createCommentVNode("", true)
]),
props.link || slots.right ? (openBlock(), createElementBlock("div", _hoisted_5$4, [
renderSlot(_ctx.$slots, "right", { isHover: isCellHover.value }, () => [
props.link ? (openBlock(), createBlock(unref(MtIcon), {
key: 0,
name: "icon-a-fangxiangyouyansefalse1",
size: 23,
color: "#4E5869"
})) : createCommentVNode("", true)
])
])) : createCommentVNode("", true)
], 38);
};
}
});
const MtCell = withInstall(_sfc_main$v);
const MtCellGroup = withInstall(CellGroup);
const _sfc_main$u = /* @__PURE__ */ defineComponent({
...{
name: "MtCollapseTransition"
},
__name: "collapse-transition",
setup(__props) {
function handleBeforeEnter(el) {
if (!el.dataset) {
el.dataset = {};
}
el.dataset.oldPaddingTop = el.style.paddingTop;
el.dataset.oldPaddingBottom = el.style.paddingBottom;
el.dataset.oldOverflow = el.style.overflow;
if (el.style.height) {
el.dataset.elExistsHeight = el.style.height;
}
el.style.maxHeight = "0";
el.style.paddingTop = "0";
el.style.paddingBottom = "0";
}
function handleEnter(el) {
requestAnimationFrame(() => {
el.dataset.oldOverflow = el.style.overflow;
if (el.dataset.elExistsHeight) {
el.style.maxHeight = el.dataset.elExistsHeight;
} else if (el.scrollHeight !== 0) {
el.style.maxHeight = `${el.scrollHeight}px`;
} else {
el.style.maxHeight = "0";
}
el.style.paddingTop = el.dataset.oldPaddingTop;
el.style.paddingBottom = el.dataset.oldPaddingBottom;
el.style.overflow = "hidden";
});
}
function handleAfterEnter(el) {
el.style.maxHeight = "";
el.style.overflow = el.dataset.oldOverflow;
}
function enterCancelled(el) {
el.style.maxHeight = "";
el.style.overflow = el.dataset.oldOverflow;
el.style.paddingTop = el.dataset.oldPaddingTop;
el.style.paddingBottom = el.dataset.oldPaddingBottom;
}
function handleBeforeLeave(el) {
if (!el.dataset) {
el.dataset = {};
}
el.dataset.oldPaddingTop = el.style.paddingTop;
el.dataset.oldPaddingBottom = el.style.paddingBottom;
el.dataset.oldOverflow = el.style.overflow;
el.style.maxHeight = `${el.scrollHeight}px`;
el.style.overflow = "hidden";
}
function handleLeave(el) {
el.style.maxHeight = "0";
el.style.paddingTop = "0";
el.style.paddingBottom = "0";
}
function handleAfterLeave(el) {
el.style.maxHeight = "";
el.style.paddingTop = el.dataset.oldPaddingTop;
el.style.paddingBottom = el.dataset.oldPaddingBottom;
el.style.overflow = el.dataset.oldOverflow;
}
function leaveCancelled(el) {
el.style.maxHeight = "";
el.style.overflow = el.dataset.oldOverflow;
el.style.paddingTop = el.dataset.oldPaddingTop;
el.style.paddingBottom = el.dataset.oldPaddingBottom;
}
return (_ctx, _cache) => {
return openBlock(), createBlock(Transition, {
name: "mt-collapse-transition",
onBeforeEnter: handleBeforeEnter,
onEnter: handleEnter,
onAfterEnter: handleAfterEnter,
onEnterCancelled: enterCancelled,
onBeforeLeave: handleBeforeLeave,
onLeave: handleLeave,
onAfterLeave: handleAfterLeave,
onLeaveCancelled: leaveCancelled
}, {
default: withCtx(() => [
renderSlot(_ctx.$slots, "default")
]),
_: 3
});
};
}
});
const MtCollapseTransition = withInstall(_sfc_main$u);
const filePreviewConfig = {};
const fileUploadConfig = {};
const ConfigProvider = defineComponent({
name: "MtConfigProvider",
props: {
filePreview: {
type: Object,
required: true
},
fileUpload: {
type: Object,
required: true
}
},
setup(props, { slots }) {
watch(
() => props.filePreview,
(value) => {
Object.assign(filePreviewConfig, value);
},
{ immediate: true, deep: true }
);
watch(
() => props.fileUpload,
(value) => {
Object.assign(fileUploadConfig, value);
},
{ immediate: true, deep: true }
);
return () => renderSlot(slots, "default", {});
}
});
const MtConfigProvider = withInstall(ConfigProvider);
const overlayProps = {
/**
* 是否显示遮罩层
*/
mask: {
type: Boolean,
default: true
},
/**
* 遮罩层层级
*/
zIndex: {
type: Number,
default: 2026
}
};
const _sfc_main$t = /* @__PURE__ */ defineComponent({
...{
name: "MtOverlay"
},
__name: "overlay",
props: overlayProps,
setup(__props) {
const props = __props;
const overlayStyles = computed(() => {
const styles = {};
styles.zIndex = props.zIndex;
return styles;
});
const overlayClasses = computed(() => {
const classes = [];
classes.push("mt-overlay");
if (props.mask) {
classes.push("mt-overlay--mask");
}
return classes;
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", {
class: normalizeClass(overlayClasses.value),
style: normalizeStyle(overlayStyles.value)
}, [
renderSlot(_ctx.$slots, "default")
], 6);
};
}
});
const MtOverlay = withInstall(_sfc_main$t);
const teleportProps = {
to: {
type: [String, Object],
required: true
},
disabled: {
type: Boolean,
default: false
}
};
const _sfc_main$s = /* @__PURE__ */ defineComponent({
...{
name: "MtTeleport",
inheritAttrs: false
},
__name: "teleport",
props: teleportProps,
setup(__props) {
return (_ctx, _cache) => {
return _ctx.disabled ? renderSlot(_ctx.$slots, "default", { key: 0 }) : (openBlock(), createBlock(Teleport, {
key: 1,
to: _ctx.to
}, [
renderSlot(_ctx.$slots, "default")
], 8, ["to"]));
};
}
});
const MtTeleport = withInstall(_sfc_main$s);
const dialogProps = {
/**
* 是否显示 Dialog
*/
modelValue: {
type: Boolean,
default: false
},
/**
* Dialog 挂载到哪个 DOM 元素
*/
appendTo: {
type: [String, Object],
default: "body"
},
/**
* 是否显示遮罩层
*/
mask: {
type: Boolean,
default: true
},
/**
* 关闭时是否销毁 DOM 元素
*/
destroyOnClose: {
type: Boolean,
default: false
},
/**
* 弹框距离顶部的距离
*/
top: {
type: [String, Number],
validator: (value) => {
return isValidCssValue(value);
},
default: "15vh"
},
/**
* 弹框的宽度,默认值为 fit-content
*/
width: {
type: [String, Number],
validator: (value) => {
return isValidCssValue(value);
},
default: "fit-content"
},
/**
* 弹框内边距
*/
padding: {
type: [Number, String, Array],
validator: (value) => {
return isValidCssValue(value);
},
default: () => [16, 16]
},
/**
* 是否显示关闭按钮
*/
showClose: {
type: Boolean,
default: true
},
/**
* 弹框的标题
*/
title: {
type: String,
default: ""
},
/**
* 是否设置弹框的位置居中
*/
alignCenter: {
type: Boolean,
default: false
},
/**
* 是否可以通过点击 modal 关闭 Dialog
*/
closeOnClickModal: {
type: Boolean,
default: true
},
/**
* 关闭前的回调函数。
* 当用户尝试关闭 Dialog 时,会触发此回调。
* 回调函数返回一个 Promise,只有当 Promise 被解析(resolve)时,Dialog 才会关闭。
* 如果 Promise 被拒绝(reject),Dialog 不会关闭。
* 这可以用于在关闭前执行异步操作,例如确认用户意图或保存数据。
*/
beforeClose: {
type: Function,
default: () => Promise.resolve()
},
/**
* 弹框的背景色
*/
background: {
type: String,
default: "#fff"
},
/**
* 设置z-index
*/
zIndex: {
type: Number
}
};
const DialogKey = Symbol("dialog");
const _hoisted_1$k = {
key: 0,
class: "mt-dialog__header"
};
const _hoisted_2$e = { class: "mt-dialog__title" };
const _hoisted_3$9 = { class: "mt-dialog__body" };
const _hoisted_4$6 = {
key: 2,
class: "mt-dialog__footer"
};
const _sfc_main$r = /* @__PURE__ */ defineComponent({
...{
name: "MtDialog"
},
__name: "dialog",
props: dialogProps,
emits: ["update:modelValue", "close", "closed"],
setup(__props, { expose: __expose, emit: __emit }) {
const props = __props;
const emits = __emit;
const slots = useSlots();
const { nextZIndex } = useZIndex();
const zIndex2 = ref(props.zIndex || nextZIndex());
const rendered = ref(false);
const visible = ref(false);
provide(DialogKey, {
visible
});
const wrapperClasses = computed(() => {
const classes = [];
classes.push("mt-dialog__wrapper");
if (props.alignCenter) {
classes.push("is-align-center");
}
return classes;
});
const dialogClasses = computed(() => {
const classes = [];
classes.push("mt-dialog");
return classes;
});
const dialogStyles = computed(() => {
const styles = {};
styles["--mt-dialog-width"] = convertValueToViewportWidth(props.width);
styles["--mt-dialog-margin"] = `${convertValueToViewportWidth(props.top)} auto 50px`;
if (props.alignCenter) {
styles["--mt-dialog-margin"] = `auto`;
}
styles["--mt-dialog-background"] = props.background;
styles["--mt-dialog-padding"] = convertValueToViewportWidth(props.padding);
return styles;
});
watch(
() => props.modelValue,
(value) => {
if (value) {
visible.value = true;
rendered.value = true;
zIndex2.value = props.zIndex || nextZIndex();
} else {
visible.value = false;
emits("close");
}
}
);
function close2() {
if (props.beforeClose) {
const result = props.beforeClose();
if (result instanceof Promise) {
result.then(() => {
emits("update:modelValue", false);
}).catch(() => {
});
} else {
if (result) {
emits("update:modelValue", false);
}
}
} else {
emits("update:modelValue", false);
}
}
function handleAfterLeave() {
if (props.destroyOnClose) {
rendered.value = false;
}
emits("closed");
}
function handleModalClick() {
if (props.closeOnClickModal) {
close2();
}
}
function handleCloseClick() {
close2();
}
const overlayEvent = useSameTarget(handleModalClick);
onMounted(() => {
if (props.modelValue) {
visible.value = true;
rendered.value = true;
}
});
__expose({
close: close2
});
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(MtTeleport), {
to: props.appendTo
}, {
default: withCtx(() => [
createVNode(Transition, {
name: "mt-dialog__overlay-fade",
onAfterLeave: handleAfterLeave
}, {
default: withCtx(() => [
withDirectives(createVNode(unref(MtOverlay), {
mask: props.mask,
"z-index": zIndex2.value
}, {
default: withCtx(() => {
var _a, _b;
return [
createElementVNode("div", {
class: normalizeClass([...wrapperClasses.value, _ctx.$attrs.class]),
onClick: _cache[0] || (_cache[0] = //@ts-ignore
(...args) => unref(overlayEvent).onClick && unref(overlayEvent).onClick(...args)),
onMousedown: _cache[1] || (_cache[1] = //@ts-ignore
(...args) => unref(overlayEvent).onMousedown && unref(overlayEvent).onMousedown(...args)),
onMouseup: _cache[2] || (_cache[2] = //@ts-ignore
(...args) => unref(overlayEvent).onMouseup && unref(overlayEvent).onMouseup(...args))
}, [
rendered.value ? (openBlock(), createElementBlock("div", {
key: 0,
class: normalizeClass(dialogClasses.value),
style: normalizeStyle(dialogStyles.value)
}, [
((_a = slots.title) == null ? void 0 : _a.call(slots)) || props.title ? (openBlock(), createElementBlock("div", _hoisted_1$k, [
renderSlot(_ctx.$slots, "title", {}, () => [
createElementVNode("div", _hoisted_2$e, toDisplayString(props.title), 1)
])
])) : createCommentVNode("", true),
props.showClose ? (openBlock(), createElementBlock("div", {
key: 1,
class: "mt-dialog__close",
onClick: handleCloseClick
}, [
createVNode(unref(MtIcon), {
name: "icon-cha",
size: 24,
color: "#909399"
})
])) : createCommentVNode("", true),
createElementVNode("div", _hoisted_3$9, [
renderSlot(_ctx.$slots, "default")
]),
((_b = slots.footer) == null ? void 0 : _b.call(slots)) ? (openBlock(), createElementBlock("div", _hoisted_4$6, [
renderSlot(_ctx.$slots, "footer")
])) : createCommentVNode("", true)
], 6)) : createCommentVNode("", true)
], 34)
];
}),
_: 3
}, 8, ["mask", "z-index"]), [
[vShow, visible.value]
])
]),
_: 3
})
]),
_: 3
}, 8, ["to"]);
};
}
});
const _hoisted_1$j = { class: "mt-dialog-confirm-layout" };
const _hoisted_2$d = { class: "mt-dialog-confirm-layout__footer" };
const _sfc_main$q = /* @__PURE__ */ defineComponent({
...{
name: "MtDialogConfirmLayout"
},
__name: "dialog-confirm-layout",
props: {
/**
* 是否显示确认按钮
*/
showConfirm: {
type: Boolean,
default: true
},
/**
* 确认按钮的文本
*/
confirmText: {
type: String,
default: "确认"
},
/**
* 是否显示取消按钮
*/
showCancel: {
type: Boolean,
default: true
},
/**
* 取消按钮的文本
*/
cancelText: {
type: String,
default: "取消"
},
/**
* 提交时是否显示加载中状态
*/
loading: {
type: Boolean,
default: false
},
/**
* 确认按钮是否禁用
*/
disabled: {
type: Boolean,
default: false
}
},
emits: ["cancel", "confirm"],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
function handleCancel() {
emits("cancel");
}
function handleConfirm() {
emits("confirm");
}
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", _hoisted_1$j, [
renderSlot(_ctx.$slots, "default"),
createElementVNode("div", _hoisted_2$d, [
props.showCancel ? (openBlock(), createBlock(unref(MtButton), {
key: 0,
class: "mt-dialog-confirm-layout__btn",
block: "",
size: "large",
onClick: handleCancel
}, {
default: withCtx(() => [
createTextVNode(toDisplayString(props.cancelText), 1)
]),
_: 1
})) : createCommentVNode("", true),
props.showConfirm ? (openBlock(), createBlock(unref(MtButton), {
key: 1,
class: "mt-dialog-confirm-layout__btn",
type: "primary",
block: "",
size: "large",
loading: props.loading,
disabled: props.disabled,
onClick: handleConfirm
}, {
default: withCtx(() => [
createTextVNode(toDisplayString(props.confirmText), 1)
]),
_: 1
}, 8, ["loading", "disabled"])) : createCommentVNode("", true)
])
]);
};
}
});
const MtDialogConfirmLayout = withInstall(_sfc_main$q);
const MtDialog = withInstall(_sfc_main$r);
const ImgEmpty = "data:image/png;base64,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";
const emptyProps = {
/**
* 自定义图片
*/
image: {
type: String,
default: ""
},
/**
* 图片宽度
*/
imageWidth: {
type: [String, Number],
validator: (value) => {
return isValidCssValue(value);
},
default: "50%"
},
/**
* 描述
*/
description: {
type: String,
default: ""
},
/**
* 上下的内边距
*/
verticalPadding: {
type: Number,
validator: (value) => {
return isValidCssValue(value);
},
default: 20
}
};
const _hoisted_1$i = {
key: 0,
class: "mt-empty__description"
};
const _sfc_main$p = /* @__PURE__ */ defineComponent({
...{
name: "MtEmpty"
},
__name: "empty",
props: emptyProps,
setup(__props) {
const props = __props;
const emptyStyles = computed(() => {
const styles = {};
if (!checkEmpty(props.verticalPadding)) {
styles["--mt-empty-padding"] = `${convertValueToViewportWidth(props.verticalPadding)} 0 `;
}
return styles;
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", {
class: "mt-empty",
style: normalizeStyle(emptyStyles.value)
}, [
createVNode(unref(MtImage), {
width: props.imageWidth,
src: props.image || unref(ImgEmpty)
}, null, 8, ["width", "src"]),
props.description ? (openBlock(), createElementBlock("div", _hoisted_1$i, toDisplayString(props.description), 1)) : createCommentVNode("", true)
], 4);
};
}
});
const MtEmpty = withInstall(_sfc_main$p);
const fadeTransitionProps = {
duration: {
type: Number,
default: 300
}
};
const _sfc_main$o = /* @__PURE__ */ defineComponent({
...{
name: "MtFadeTransition"
},
__name: "fade-transition",
props: fadeTransitionProps,
emits: ["afterLeave"],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
function handleBeforeEnter(el) {
el.style.opacity = 0;
el.style.transition = `opacity ${props.duration}ms ease`;
}
function handleEnter(el) {
requestAnimationFrame(() => {
el.style.opacity = 1;
});
}
function handleAfterEnter(el) {
el.style.opacity = 1;
el.style.transition = "";
}
function enterCancelled(el) {
el.style.opacity = 1;
el.style.transition = "";
}
function handleBeforeLeave(el) {
el.style.opacity = 1;
el.style.transition = `opacity ${props.duration}ms ease`;
}
function handleLeave(el) {
el.style.opacity = 0;
}
function handleAfterLeave(el) {
el.style.opacity = 0;
el.style.transition = "";
emits("afterLeave");
}
function leaveCancelled(el) {
el.style.opacity = 0;
el.style.transition = "";
}
return (_ctx, _cache) => {
return openBlock(), createBlock(Transition, {
name: "mt-fade-transition",
onBeforeEnter: handleBeforeEnter,
onEnter: handleEnter,
onAfterEnter: handleAfterEnter,
onEnterCancelled: enterCancelled,
onBeforeLeave: handleBeforeLeave,
onLeave: handleLeave,
onAfterLeave: handleAfterLeave,
onLeaveCancelled: leaveCancelled
}, {
default: withCtx(() => [
renderSlot(_ctx.$slots, "default")
]),
_: 3
});
};
}
});
const MtFadeTransition = withInstall(_sfc_main$o);
const aiMarkIcon = "data:image/png;base64,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";
const audioBg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKcAAACmCAYAAAC/Sp9JAAAAAXNSR0IArs4c6QAAIABJREFUeAHs3Qn0pVV57/nb4hTjkGgUVEZBHErFmVIQpECRGQMiBUZmLYRCowwlouBANCqiKJNCwqAoxVjGRqJtJxpF+mp6aWPS3usV7XjjrFGvA16H0/05y2+t7en/v6ooZoG19tp7P/vZez/P7/d79/ue95x/8Z/+013/3YXAXQjchcBdCNyFwF0I3IXAnRuByWRyt8lkcq/JZPKgyWSy3mQy2XgymTz6hhtu2HwymTxkMpn82WQyuc9kMrn7nRupu7K/2RGYTCb3/da3vvXY97///TstW7bs4AMPPPD4/fbb78wXvehFH3nBC17wuT333PO/PfvZz/7GwoULv/3EJz7xB4997GO/v8UWW/x0iy22+MkTnvCE7y1cuPA722+//Tf33HPP6/fee+/PLV68+MMHHHDA2YcddtgJS5cuPfiUU07Z+Qtf+MKTJpPJA2/24O9a8A8HgW9+85v3+dKXvvS0173udQcdcMABb99nn33+cZtttvn3jTba6H+st956v73f/e43ufvd7z4t97jHPSbKPe95z2m5173uNVH+6I/+aFrufe97TxQ2PtXmN/c+97nPZN11151svPHGv9hqq62+uc8++1xz6KGHnnb00UcfdPnllz/jJz/5yYP+cNC9K5MbhcBkMrnHP//zPz/l2GOPPXKvvfa6aIcddvi3jTba6Jf3v//9VwowwRHSfe9734mxP/mTP5k88IEPnDzoQQ+a1tp/+qd/urIYV9ga45u/sQc84AETYrdugiZiwmXbcMMNf7Xtttv++/7777/iFa94xSuWL1++9Q9/+MMH3KgE73K+YyHg+e8jH/nI7vvtt98pO++883/ZcMMNbyA6JxpxJELCGgWlT0x//Md/PK21FWKtTnBjfxxvjtqe6lHo9tNnF4cLg1jVG2200W8WLVr0Xw866KAzXv/61+/y9a9//aF3LOTvinZOBCaTyT2vuuqqRYcddti7nY7rrrvubyKdCIjBCfdnf/ZnU0EmKGJT9AnnIQ95yLS4Fa+33nqThz70oZOHPexh06KtsBtXsuVX31hrWXfcp/2KR23/xOoCMmf77bf/1qGHHnrmySefvOOPf/zju55X52T+dmz81re+tfFJJ530toULF/6XDTbY4FfdNp1as+QTKGGwEw4BPfzhD58WAiQ6xRgRVwjFnNWV/Ksf/OAHrxR34rXfKFqnKGF2cZhjP/E7TRX+W2655fWvfvWr37V8+fIn3vVW4HYsyOXLl6/z6U9/eqfFixd/ZNNNN/0+0Tkl3Y4Tnhrh3VJHoRBIp19iGAXFNl8/u5qIFP6zJb/ss30XQ4LVdqGIuRO2PKzvRHXR+fD1mMc85oa99trrqtNPP303r7duxzTduULz4ebyyy9/wXOf+9xrNtpooxsQ5mTxrOh0QSRB9ixJgIhff/31V56KxDIrKHMTkTHCsEaFwJWxX1vdeHXz1aMoOzGr7VVbnIoLh1DNa73itZcPVvL2ZmG33Xb7P0899dSDPWPfuZRwO8qWKC+++OJ9tt122/+8ySab/JogkYQ0JCYQ/W7VG2ywwcrTMYEkQj6JdBSStmKd7InSiZZYqrNVs2sn3NZp3Wr2YpmtxeZEJVIX1ShU8/XN7/nUns973vO+dOqppx46mUzufTui7Q87lMlk8r9cddVVOz3nOc/57CMe8Yjp86Rbd6ccYghB36lDkOqeGzuVEiORJhB14rGGfrX2XL782ZtXf7S1xjhfnOP6o39xjLFq8+nkJ1RFntZXwqBnU7Zdd931C6effvoLJ5PJOn/YyriNs/vUpz712AMOOOCjm2+++Q2etYgSaYQWodpOF8VpMxKMWAQnBEJC6CiSxFWdv5pfJUGom6+d6NRdKPlYs2I9sbWPujWtl1/78RWr/GrLx8XXadoa5Qwfd5R11133t4sXL/7ElVde+czbmMI/vO29hH7DG97wrs022+zbbt1uXwhAVCRqI8pp0impjsxRkKPQzNdHfHWCSCRE1j6t0xoJKjGqZ+e3h9qYOdqJdlxTHO3VOsXGT5FTeRlzEZa7dmvzMZ5IN9lkk/9xxBFHnPKzn/3srnelN/UycQu/5JJLdnrmM5/5OUR56I8cfSQgYMMNN5yWCBtFyceckWA24mZXtxa7dnZ1ovPc2HPk2DaeQM1V9Jvnw1j+6t4WJFB7iq0Y2Iu1GBsXjzLmJOfyJUxYEKo2X+smWBe2GHbYYYevv+Md79gXvjeVozvl/G984xsPXLZs2dmPe9zjfgZUZCMCMQhEyEYbbTQlA/iIZFNGUkcy57InDmPWVRBYO0EQSKLgq2TLrh7bxvmJuzjYaifk9mxu6+bXOo1XF5ta3nAIg1Gk/BXjcoPneuutd8OSJUsu+OY3v7nRnVJga5v0lVdeuYNvdICoIBewyNR2MhAmW2O1EYVMhX/9USBsRKNGWqfZ6Jv4rJOfOkF1Yka8Or9sfDtBtfPhpyQ6exUPoYqHf3mUSzFV59NcdXgQqfasSOGkeDSC7TbbbPMfp59++t5ry9WdZp4XyCeccMKrN9tss/8JPCT5pJ1APE9uvPHGK58rgRwJfJARUdojuYSRDanWbrx59RPhSH6C49uFwJ8PQakVfuOpO+ufKM3NN5u6fORhXJzWG2PjZzwx1reXtto6CRGGcPPByZp82DpFtf/yL//y7ZPJ5K4fmMx1tf3rv/7rQ4866qj/HRE+iQOYGIGZKAEMSKCrEYA0vojSjlxtJGSzDjL0+fJrDr+EFcGtk+icgP0ww4Wj+KDRDzmISLEHv8Y6odTs1hGLIha5jLHaT784xVNM5iY+ttbQDgvz9MsxnIzDzx0HngnU/uVz0EEHfeHLX/7yw+bi505ru/7665+w/fbb/xuQkA084ALQLTxRAr3TwLjCFmERhODGEYhUfXP5NMZP3/xEwkZg4lC0jScY+0W+dbLzqbBpG8+3urHETsQJ1pwxvtazDrsYtfmLszXlmA8/fbVx+5kHU31ihSdci92JKle3+a222upHK1as2OpOK8Yx8SuvvHK3zTff/EeRBMQAdZVvsskmU0DZExeQIwYJIxG1kYckfuYp1o04bUQRALKR42RLEOa1ljl8nIx8IlLMLig1e2P6iDamHseLKzGJS9seLgS+9hLfmKe4spUPmztNceqXL1v+jcu3uXCFbxgQqLXE/IhHPOK3Z5999qEjT3e69mmnnXaUH9ciEJAe3hEFqE033XR6dQOWMIE4CoZf5I0kIFk/EvjwjbjEjwgiU/O3jzkRToiEoiaW1iUuhZ951la0lbns5irG1AmdEFrf3IRlPXvMxjebi3gTIf8xB2voh1FzzelCd3qGs/3hbg4+xPrWt771zXfKb5ZOPvnkd/ihgm8wgEJ8ACVQVzUQ2RoL+Ag0zl/RTgDNixTz+OjzIQaCZDOmZCeGbuPIUSI1f+ubg8z2THTNqW98FJ151mOzntIcgu1iMI9feyXU1rKOufra5WytRJqPMSXf/MMVxp2i7YkDF447wfHHH3/hneaXTpPJ5I+OO+64iwGJDFcvwBQgbbbZZlNBBl6AqfkAU9FXA95aaicCOyIaQ2LiGwliI0QEaFujPVq7uWqkE5Cav7XUhM5urU5ENXt+iYZPFwZbcdqvvdkVvor9jMlPHLMXV1iEDT9z+BqzVvPbhw9/eIUz7DsUjLnlu1jhc+CBB34Sb3/Qt/bJZPLHRx111IcRRJiu0EBye3nEIx4xBYxggQbEgBzFlm0kwTrK6EccCI4otb3ZjCHOHKSZZ1xJdAmQ2Niy27fSOtZV2PNV6zc2+rLbK3/tUazi0hfjKEhxGusCELt+mKjzsbax+ura7I3Bm1B9UMJDF7l+z9GLFy/+P37wgx/c/w9SoP7C8cgjj7wKUYTpygQkYJyWgAAKuzqQgV+/NlCRScDGAK6OKIQijx+7vn2Jkk9+xghA37g11fxHgbG3p/GExaa05mxtLIGbo51/e7AXn33y0xYff1gUmxz4y5m9eFo3f3PhU3765Z1A1WEHd/7qRz7ykVNe7IkXe/7uBP3sd7/73fv+QQn0a1/72r1f/vKXXwpItwoJA9bJSZhqwHQFB5qarb45yAMyf0QEvjFtQLIbj1D7GuMTedZorcYThv3MJVBziKHTi41/hCFtLN0Ks/FzoVjbPOtoF29xqTtZi8O+7MWsLm7rGBMre6c7EVo7IcJPv1z46/MLV20lHgh08803n/at43bfSX3QQQf94x/MLd6Pgo899tizAY2wbt0ECoCu2EQYUNWAByKxAYqftqLdowHijZun1kcykbWWtoJU8SRAtT0QqI4IfW0lwfA1N+HYK/EgXVthn90rASZudXvwT4jmsxenWuEjvvYRE/GPdrHqw4evElbWMFdfDT/Y5KMNT/aRH/G43dtL3ocddtjf+ePBO/QJ6p9sectb3vLmTTbZ5LdOFFcgAEpcDQwCTUCAqg1AbXWgGkc6Ati0EcnPGPBGoSKCL2KAbJw/mzn61kGqtrr5fKxvXW3jBGFczbcTUu00G/vI5KvY03zr2a+11a3FR3vMr30TZ2NiUhKyefrlFCb6fNRE1xxtdvgoxqvjRf3oRz96yhdf/MlP+8gjjzznDv2rpnPPPfeIRz/60b8kzPHEfNSjHjVNlChHYQIokIAIwMRBxI2ZYxzpAYxEfcQbiwTz+aiJg59inLiQrkZmYjfGn81Yt3RiYysmfmJSm2sfdXlU26+1xGjNBNtpZq7SBaI2x1x2e7B1kbG3l1rhbzwR2oed6MxXwlEO2q1hTviqCZE41Y95zGOmPPH1GEagD3/4w3994oknvv4OeXpedNFFix7/+Mf/kDCJCUCSTZjA0GcHkpotkNQIaLwxvshChDGAawMbeApbZFsDYWza+TtpFH7Zkc+WeMxLYPaqbQ++8xXxGCsuezS3/Kxn31Gs9isHY8VjHf3G+CnFbm3rGYeDNeVpL2vwhZs+v/Dmy8Z3tOebQB0sTtAOEgLF6/rrr/+LD37wg4fcoQS6YsWKzZ72tKf9N1eY5CWruAI9u0hyFCaf/AIJ0M2LlMBHCn91xEVGPhGoz0/NhjikIBup2tboJLP/WIybp1b45WsNpb1Gv/yJozls/NV8E2z7FYcLhI+cEqA1zNFnV1qH3bowsaYxaxmHIZt+OBvHgTE+9ufTuNqYmjBxRZD4Y+PP5o6y+eab//Daa69deIcQ6Fe/+tUHbL/99p8VuCS6+hKmvoQDp0T1gSZpQKsDVjuAAzEhmBO4EQ9wYjSWDTkRm4ATWaRYpzFrJBJ7VRKbW7wclfE5c7ZtPGF1ilnbevraitgShbyNOcH5yUPefORhTJziVeRoTAkf4+z8E5q12sM8mCv8Wst8eOdn3IGCN3e9TlAc8vFacNGiRf/Pt7/97YfcrgXqe9glS5a8PxJcbZKVkCLBxJr41InPWAIFqMJmjUAGojY/4ADPuH4EsbNFTqQhDEFINxY5oyCNKwQjDyKc74ONNfipm1PdWOtZi9iV1gwnazRPWzzlJi9z+GrLSz4wMEebr9pctQI7vor5fNjG9WHJBv/WYeM7y88oUCI1TqD8XXx77rnn39+uv4e/9NJLl2y88ca/QT4xSpJAH//4x0+FoC2pSlelBBNmt5F8rIEEvtpIAri2Ehlq6xhLLOoIQgpRIN5aSDFunvW1FUBX7BXh1eYnEm3FGrWNZctPDGzWaB219ROrehyrLSdYWIOPGNnkrs3P2sazFYMcFXY5ssvdPHPY84E/m3Hrs+NCbUwM+CPSTlBjbC6UDTbY4DdvfOMb33K7PD09Z2699dbfdRuTlITUhOkbB0VikjQmMX0ASRC4gVAdqJED4IhRA7NivWwIiyzjnbTWsSYxRb7augQ5KxBzrYlUdUJOzGoCU5trH4Ute/UoIrEVK6FUrOHCNifhFae44WkuP7FYQymexKfugjEub7U12fW15ddFz6awwd9+6rhQ2x9nSrzycxC58DfddNMffe5zn7t9/RbUNwY77rjjxwUoQWJTFixYMH2IJsxeuJewBLvyAJ6gGzcGQH3jSAJEpx6wI1kb6AmAnzEks4nJevlEHiERZfOMt6Y1RoFYK6ERg7lqpX3G/mybD1GprWu8/YqXMBTxJHa+/NSJCXZsYujCMcYHFp1+fIzLCQbhxBeuxmubw4YHtpEfdvPVeMUlTrfYYouVNuOet/fff//rblf/FM7FF198FACA9djHPnaayOMe97jpFSURt4GuulGEnZjjmHbC0AYosICnP56Q/PSNIztiisUcIOsjTs1XnApyItBa7cs3IRJKQtM2j6CdcD07ultoV2dX80to4zra7WE/cYhfDMVZHMWaH8ERg2IdOcGh+PWtFTbWU/jzMW4NeNZOgPAKM9yZgyc1f374JE6Hj2Jc3x7WXbp06cm3i9v7+973vvWf9axn/RBhiVBST3ziE3/vKhO8BEsYAICScMnzIShEsUdUIouAkRyARKzxTkHr6/NFAGIRSSgRYn2FjzUSorrCPzEmpk4/c6zLtzF76Gevz9b+BEtw+kqxNU9O4urCFK/1jZeLOfJLSNYxJ/zEliDlV67hymbcfG17EZ5xPCjmjHwlQrVbuTGHEYHiVi23Rz7ykT/5zGc+s81tKlDfr+6///6XI7DABfyEJzxhGrTXR5IEQOMlHxAErW1ewI7CYjNHDUBFGxjAAzCSEiZbwCLSuBp59SNKfxSYNr9OOgJKZIQxV1ndeOtbK/HZg52N6IifbVxLm2jkJV7t4iuP8Agv6/M1R97NhxVfdtjl3zrwzdeYgg+1ufDEkTr+jBMo25Of/ORpzWacQPfZZ5/Pf+UrX7nt/jnGc8455wX+3gTIrhrJPOlJT5oKU+BsAiZMY2ySZQOivrHGAarNR1udMAEL4Pra1tBXIybwAA14dYRrR5A2ohMOn4RCLI0lIuNs1kygxhIWMrqtd2snOGvya077Wk9JkNa1Fn+l8eKDRRenNnuxFZdxuOrLM397hiOc2BW4JWL+cOcLQ7zEV4eImo9xxV78HEA+HLlTOmjYrOPT+7Jly467TU7Pr3zlKw/eaaed/gUJAhWYQJ/61KdO2457fcEal5Dk+AFHrQCJD4AAokiOXRuwAa3PjiDAWk+bvzbfkRiiMK5ECl9iSHDE4KSsb06E50cIfAjQQ7+6W726wke7OnvCbV5iFZd97dOe+gmVrcJHDkRCZPLkW27VMDXGPwGGJ4zgFqbwtB5/NhzxHTnTNkdtve6G8eezBa4J1Acka7LBYLvttvvuj370o01udYGeeuqprwUcUJyQilNTgH0YKgHBA6YEu+qMAwToEte2Ht/ElqgSZuIzzhdR5gFZXxEXAXRSAB7oEa0eTyljjTefQJyITkJAK4nM98r+tl7x7zf5F5SV/ncubIpxfyPlW5RO1NnTtpMyQY1idVHwL26CEyexKOYUt1wTXpjyh5v85aWthLc52ayFF7hq40o7DuFLmPXVHT64137a0542XQP/9pTLAQcc8J5bVZyf+MQnNlq0aNF3gCcQgTrWFX3PnAUuYTYg8KsPwEQLJGPAJdJAAqIkA9A4kIwD27j2KMyRQHMbYx+FVx8RkQxMpx0RJiJtf42YCBOemhjXWWedaa099rMTbXNrE611iT/ha7ugulDEVy6dtMbYxCu3TsbyUsPSWBcs/9rGCM68sIEP7NmtjxM247A1xpaP2nrEW8GvkgbYaYA+FixY8OMvfelLt967z5NOOuldAJNkgblqXEGO92pJCZRQ2STdVcYmeYDxsRaxlbg2f6CpK80BnnlqoBJutbnWS3SRTHx87InIhCkXouwWPwoyYY3CS4ijrdOzE3QcS6jNS6RO1YTaSS4O8RSfWsxyQHa5sIm/k1D+xuTGDgNCggPfBBqu5sFUH6YjB7ixHjt+raO2Fv6spc9PzabG99Of/vRpnw138tp///0/cKucnlddddWmz372s/8D0W7jAidMV42rRS2wSolJNJECgogJy7gCJMnwUesDAYj88gWatjWAizx9tTmKOZHEPhIrbrdJBGo7ubp9ep4kGKWTMUGpE+ooQO3Ep66M4sxfXdu4tjUVe9ofmeIRl/i6kAhMYZOP+OWmEE1CMwajBApPeOjDE1ZhCHd98+EJd33+5sHSY5oxfBIfHnHHliA7kPDvM8dTnvKUqT8twPoxj3nMTz//+c9vd4sL9KSTTjoNQAUp+Gc84xnTQLUFWLCCB0C3BeOSzg4sYwiQbAABKYAACfhRqAnYPGACng+Q+QHVmLliRWrCzd9tOyF4HiSQniETZOKZT1DZqxNcfXUlYc+uPc7pwvBMK75EKn65KHIlQHlpEyd7AoUDf3X2BNqFy9dcOMOLb4dH+BEj7vjiSB+3cYkr/fjEqcOKIJ2eHVL85HLQQQddcouK8x/+4R823m677b4PGFeHwAhT27suARGmQLWNl0DC7UQFCD9gACkw6pvblSxBdmAnbEBbgwgBSMwATpjsSFJ3wmj3YQjxREmQiTIhEUnt2XpWZKO4xrZ5+vybM9a1+Y1tfft7zvV4IU4XkbjlLwe1PDtBs8EgkcrdhajADm614QS7ODCPENXxYAyXiTM+8Wh+XMc3no0RqNNzyy23nHJPG2JZsGDBT//lX/7lWbeYQE844YQ3EaZkBSeQrbbaalonTgEK2JirTAGMPrsSCAmQ+Nitq7AHVm2EWJuv+YBGEPCImD8bP4UgkYZAfgqikexK7t8xIoRZESUQohlLguOvdAu/293uNqnM2vTzH4Vo3U7KxNle+RGoT/pu8fIQt5zk0oXnBFTYEh8M4QIHNbwIioD4wQquxtgJslMUX8bY+eGOUM3FEQ46cIzFN5tCmLTg0NI2x/p04x+rvUXE+bv3mv8duY5tgTzzmc+cBiEY4iPYRGucnZgSpmAlL3FJAUfgkgyQxgE8gsOPDxCVgE+Y1gI8O7LUiDTOnjB9Kh5Py0SSIAgmkYyiSYyj0GbFOld/tCXcufYa9xWfPj8C1XfKw17pliy/scgTDrCDsdyNE6c2bPFCxPDsQk+ganP58LWWNtzjUb+DR407PGd3Uio0Qh/04DOJi+lpT3vaD7///e8//GYX6Nve9rZDEoTNBLDNNtusDES/INWuGEVw2YkzYRKeIqnECQCi7UoHUCK1DoABBVw+IwlsyBlPEf76hOnk8YHDiYlsIksECbQ6oSRE9SjUUXCjD/tsaa7aWOs0L1tibO9iqRa3Z1Gf5J1CyJafUw0vFTiwwxY+2sb0YQZvuGqr88MV/BV2frC2Bk6sg2OCxKeawI1pdyhpu6Xjeuutt56K1DzrulDe8pa3HH+zitM/5LT//vt/1lVLmAJwO29zV0niFJRxteT6JK+WjCI5yWrzVfPtFgAQ4EiIH38gageyGoiubgRFUsLlmzAR6faI4Mh3ImkTaCJVE0O3Yu3KKCJzFeutrnTy2UtpnbFOuPmMcRUffzm4wIjTBefRBVaE5sLsAoXFKD5YKHxhCk+HhDac2WFJaHDFB7E5NIxp4wZHI7/88G5eulArNEEfiv0WLlw4PfX32GOPr9+s/zDYZZddttUTnvCE3wCAKAW03XbbTTf0bCGQgnPVCFbhZ0xyggsYSXY7kCCA1AAIHKIFqDr7KExzAl0tNoQQKz+nBRIR6MRJmJFNAAmnehRJQiXOhJjA809MfIgnwek31j72F0drsPNXt5e+tvXbs3G1Yr51HBTycwHKN0GGQ1gkOP3ECWsiYzOOC2vAWVtJeNqEjEv84dncCh6IT59P427ptLBo0aLpmD6eNt98899cfPHFO95sp+dxxx13GpKJzOYEuv3220+fN23KRoQEKNA+qakFzA4EifAlztpAULo6AcDXlQwYSQPOHMmpAxHYgEMMHyeHeWq3P8QhU0EswquJJZElqgRAXERinpNK3dzRxzyCdtL6QFRdu3Wt15rWtXfr6ltTrZij1E+k9a0jngRKpC5EuMABHvKHTWKEdXcZWMMKTwkX9ubzwRcf2PNpjF2bHdf6HUTqeDemrzi4iHN8/HMXO/roo6+8WcTpX+3Yddddv0Gcz3rWs6biIkwbEqYAOj0Tp8CJkJ241BJnIyygaANNO2FKXFshUgny165Yhw2YiHBSqhHBRsAAQBgCFYR2cqoTptpYgk0k5iSexKhOOG6pYthzzz0nL3nJSyaveMUr/DuWk9e//vWT1772tf7x/8nLXvayyQte8IJpni6U5rZHorOP/cSSANX5Za/uIilGueIGDuVPfN1BtOFKcDDUT3yEZA4e3KFgW1ut8MEHP21r4Vk73gkTz+zVxhxiNPKc5zxn6u8WL9aFCxf+8Kc//em6N1mgn//857eWEPKJ04bPfe5zp5sSqIAEQkgE120/mznEKnk2wGibJ/mEKmmES5RPAjcOGMA2nlDVnaYEqt+nV59uEYhkJw3C1UpEEyayI9yYd4vmZeejyH/fffednHzyyZMPfOADkyuuuGJy2WWX/f/K5Zdf/ns2fu9///v9K8GTQw45ZJqLmKwpJvvYt3gTqBhHgerz49+YOM1DuNu5GMNBG28wgR9c4acPX9h32hknKljjQXvkBhfsODYHf0Snr9bv80d6UOOe3WGWduyFs/e+973732RxnnDCCecjnLAE4lnzec973vTkJE6bs9tcQNqSSbj6kjbfFWhMWy1RQGgDQzsQidy8rtqEmVgliQAFcPpu405MpxHSEqQakRUEsyVSNX/ztCNfve22207e8573TC655JKVorv00ksnF1100eS8886b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";
const _hoisted_1$h = { class: "mt-ai-music-preview__content" };
const _hoisted_2$c = { class: "mt-ai-music-preview__detail" };
const _hoisted_3$8 = { class: "mt-ai-music-preview__base" };
const _hoisted_4$5 = { class: "mt-ai-music-preview__title" };
const _hoisted_5$3 = ["src"];
const _sfc_main$n = /* @__PURE__ */ defineComponent({
...{
name: "MtAiMusicPreview"
},
__name: "ai-music-preview",
props: {
title: {
type: String,
require: true
},
prompt: {
type: String,
require: true
},
src: {
type: String,
require: true
},
background: {
type: String,
require: true
}
},
emits: ["load"],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const audioRef = ref();
const promptContentRef = ref();
const promptSpeed = ref(0);
const audioDuration = ref(0);
const isAudioPlay = ref(false);
const aiMusicPreviewStyles = computed(() => {
const styles = {};
styles["background-image"] = `url(${props.background})`;
return styles;
});
function handlePlay() {
var _a, _b;
audioDuration.value = ((_a = audioRef == null ? void 0 : audioRef.value) == null ? void 0 : _a.duration) ?? 0;
isAudioPlay.value = true;
if (promptContentRef.value) {
promptSpeed.value = ((_b = promptContentRef == null ? void 0 : promptContentRef.value) == null ? void 0 : _b.scrollHeight) / audioDuration.value;
}
}
function handlePause() {
isAudioPlay.value = false;
}
function handleTimeUpdate() {
if (audioRef.value && promptContentRef.value) {
promptContentRef.value.scrollTo({
top: promptSpeed.value * audioRef.value.currentTime,
behavior: "smooth"
});
}
}
function handleLoadedMetaData() {
emits("load");
}
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", {
class: "mt-ai-music-preview",
style: normalizeStyle(aiMusicPreviewStyles.value)
}, [
createElementVNode("div", _hoisted_1$h, [
createElementVNode("div", {
class: normalizeClass(["mt-ai-music-preview__round", {
"mt-ai-music-preview__round--play": isAudioPlay.value,
"mt-ai-music-preview__round--pause": !isAudioPlay.value
}])
}, [
createVNode(unref(MtImage), {
src: unref(audioBg),
class: "mt-ai-music-preview__audio-image"
}, null, 8, ["src"]),
createVNode(unref(MtImage), {
src: props.background,
class: "mt-ai-music-preview__song-image"
}, null, 8, ["src"])
], 2),
createElementVNode("div", _hoisted_2$c, [
createElementVNode("div", _hoisted_3$8, [
createElementVNode("div", _hoisted_4$5, toDisplayString(props.title), 1),
createElementVNode("audio", {
ref_key: "audioRef",
ref: audioRef,
class: "mt-ai-music-preview__audio",
controls: "",
src: props.src,
audio: "",
onPlay: handlePlay,
onPause: handlePause,
onTimeupdate: handleTimeUpdate,
onLoadedmetadata: handleLoadedMetaData
}, null, 40, _hoisted_5$3)
]),
createElementVNode("div", {
ref_key: "promptContentRef",
ref: promptContentRef,
class: "mt-ai-music-preview__prompt"
}, toDisplayString(props.prompt), 513)
]),
createVNode(unref(MtImage), {
src: unref(aiMarkIcon),
class: "mt-ai-music-preview__ai-mark"
}, null, 8, ["src"])
])
], 4);
};
}
});
const filePreviewProps = {
/**
* 文件在Obs服务器上原始地址。
*/
viewUrl: {
type: String,
required: true
},
/**
* 文件生成iframe的预览地址。
*/
previewUrl: {
type: String,
required: true
},
/**
* Ai生成的音乐预览时,音乐的标题。
*/
title: {
type: String
},
/**
* Ai生成的音乐预览时,音乐的背景图片。
*/
background: {
type: String
},
/**
* Ai生成的音乐预览时,音乐的歌词。
*/
prompt: {
type: String
}
};
const _hoisted_1$g = ["src"];
const _sfc_main$m = /* @__PURE__ */ defineComponent({
...{
name: "MtIframePreview"
},
__name: "iframe-preview",
props: {
src: {
type: String,
required: true
}
},
emits: ["load"],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const iframeStyles = computed(() => {
const styles = {};
Object.assign(styles, {
height: "95vh",
width: "95vw"
});
return styles;
});
function handleLoad() {
emits("load");
}
return (_ctx, _cache) => {
return openBlock(), createElementBlock("iframe", {
src: props.src,
style: normalizeStyle(iframeStyles.value),
download: false,
onLoad: handleLoad
}, null, 44, _hoisted_1$g);
};
}
});
const _sfc_main$l = /* @__PURE__ */ defineComponent({
...{
name: "MtImagePreview"
},
__name: "image-preview",
props: {
src: {
type: String
}
},
emits: ["load"],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
function handleLoad() {
emits("load");
}
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(MtImage), {
class: "mt-image-preview",
src: props.src,
onLoad: handleLoad
}, null, 8, ["src"]);
};
}
});
const _hoisted_1$f = ["src"];
const _sfc_main$k = /* @__PURE__ */ defineComponent({
...{
name: "MtMusicPreview"
},
__name: "music-preview",
props: {
src: {
type: String
}
},
emits: ["load"],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const audioStyles = computed(() => {
const styles = {};
return styles;
});
function handleLoadeData() {
emits("load");
}
return (_ctx, _cache) => {
return openBlock(), createElementBlock("audio", {
src: props.src,
autoplay: "",
controls: "",
style: normalizeStyle(audioStyles.value),
onLoadeddata: handleLoadeData
}, null, 44, _hoisted_1$f);
};
}
});
const _hoisted_1$e = ["src"];
const _sfc_main$j = /* @__PURE__ */ defineComponent({
...{
name: "MtVideoPreview"
},
__name: "video-preview",
props: {
src: {
type: String
}
},
emits: ["load"],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const videoStyles = computed(() => {
const styles = {};
Object.assign(styles, {
maxHeight: "95vh",
maxWidth: "95vw",
width: "auto"
});
return styles;
});
function handleLoadedMetaData() {
emits("load");
}
return (_ctx, _cache) => {
return openBlock(), createElementBlock("video", {
src: props.src,
controls: "",
style: normalizeStyle(videoStyles.value),
onLoadedmetadata: handleLoadedMetaData
}, null, 44, _hoisted_1$e);
};
}
});
const _sfc_main$i = /* @__PURE__ */ defineComponent({
__name: "file-preview",
props: filePreviewProps,
emits: ["close"],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const { nextZIndex } = useZIndex(5e3);
const visible = ref(false);
const isLoading = ref(true);
const zIndex2 = ref(nextZIndex());
onMounted(() => {
visible.value = true;
});
function handleClosed() {
emits("close");
}
const isMusicFileAndNotAi = computed(() => {
return isMusicFilePath(props.viewUrl) && checkEmpty(props.background) && checkEmpty(props.title) && checkEmpty(props.prompt);
});
function handleLoad() {
isLoading.value = false;
}
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(MtDialog), {
modelValue: visible.value,
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => visible.value = $event),
class: "mt-file-preview",
background: "transparent",
"show-close": !isLoading.value && !isMusicFileAndNotAi.value,
"z-index": zIndex2.value,
onClosed: handleClosed
}, {
default: withCtx(() => [
isLoading.value ? (openBlock(), createBlock(unref(MtLoading), {
key: 0,
size: 100
})) : createCommentVNode("", true),
withDirectives(createElementVNode("div", null, [
unref(isVideoFilePath)(props.viewUrl) ? (openBlock(), createBlock(_sfc_main$j, {
key: 0,
src: props.viewUrl,
onLoad: handleLoad
}, null, 8, ["src"])) : createCommentVNode("", true),
unref(isImageFilePath)(props.viewUrl) ? (openBlock(), createBlock(_sfc_main$l, {
key: 1,
src: props.viewUrl,
onLoad: handleLoad
}, null, 8, ["src"])) : createCommentVNode("", true),
unref(isPptFilePath)(props.viewUrl) ? (openBlock(), createBlock(_sfc_main$m, {
key: 2,
src: props.previewUrl,
onLoad: handleLoad
}, null, 8, ["src"])) : createCommentVNode("", true),
unref(isDocumentFilePath)(props.viewUrl) ? (openBlock(), createBlock(_sfc_main$m, {
key: 3,
src: props.previewUrl,
onLoad: handleLoad
}, null, 8, ["src"])) : createCommentVNode("", true),
unref(isMusicFilePath)(props.viewUrl) ? (openBlock(), createElementBlock(Fragment, { key: 4 }, [
!unref(checkEmpty)(props.background) && !unref(checkEmpty)(props.title) && !unref(checkEmpty)(props.prompt) ? (openBlock(), createBlock(_sfc_main$n, {
key: 0,
src: props.viewUrl,
background: props.background,
prompt: props.prompt,
title: props.title,
onLoad: handleLoad
}, null, 8, ["src", "background", "prompt", "title"])) : (openBlock(), createBlock(_sfc_main$k, {
key: 1,
src: props.viewUrl,
onLoad: handleLoad
}, null, 8, ["src"]))
], 64)) : createCommentVNode("", true)
], 512), [
[vShow, !isLoading.value]
])
]),
_: 1
}, 8, ["modelValue", "show-close", "z-index"]);
};
}
});
function filePreview(fileItem) {
if (!filePreviewConfig.generatePreviewUrl) {
throw new Error("文件预览功能未正确配置。请确保通过 mt-config-provider 组件全局配置了 filePreview.generatePreviewUrl 方法,以生成文件的预览地址。");
}
const fileItemWithPreview = fileItem;
fileItemWithPreview.previewUrl = filePreviewConfig.generatePreviewUrl(fileItem.viewUrl);
const container = document.createElement("div");
document.body.appendChild(container);
render(
createVNode(_sfc_main$i, {
...fileItemWithPreview,
onClose: () => {
render(null, container);
document.body.removeChild(container);
}
}),
container
);
}
const MtFilePreview = withInstall(filePreview);
const infiniteScrollProps = {
/**
* 绑定最终的列表渲染变量(页面data中声明的值),当列表数据改变时,所绑定的变量会跟着改变
*/
modelValue: {
type: Array,
default: () => []
},
/**
* 滚动区域高度
*/
height: {
type: [Number, String],
validator: (value) => {
return isValidCssValue(value);
},
default: "100%"
},
/**
* 默认页码
*/
upScrollPageNum: {
type: Number,
default: 1
},
/**
* 默认每页加载数量
*/
upScrollPageSize: {
type: Number,
default: 10
},
/**
* 是否开启加载更多数据
*/
upScrollEnabled: {
type: Boolean,
default: true
},
/**
* 是否立即上拉加载
*/
upScrollImmediate: {
type: Boolean,
default: true
},
/**
* 滚动节流时延,单位为ms
*/
scrollEventDelay: {
type: Number,
default: 30
},
/**
* 上拉加载的阈值
*/
upScrollDistance: {
type: Number,
default: 75
},
/**
* 当没有更多数据且分页数组长度少于这个值时,隐藏没有更多
*/
hideNoMoreByLimit: {
type: Number,
default: 5
},
/**
* 滑动到底部"加载中"文字
*/
loadingMoreLoadingText: {
type: String,
default: "加载中..."
},
/**
* 滑动到底部"没有更多"文字
*/
loadingMoreNoMoreText: {
type: String,
default: "没有更多了"
},
/**
* 空数据图描述文字
*/
emptyText: {
type: String,
default: "没有数据哦~"
},
/**
* 空数据图图片地址
*/
emptyImg: {
type: String,
default: ""
},
/**
* 空数据图图片宽度
*/
emptyImageWidth: {
type: [Number, String],
validator: (value) => {
return isValidCssValue(value);
},
default: 200
},
// 请求最慢的时间,单位为ms
queryMinDelay: {
type: Number,
default: 0
}
};
var UpScrollStatusEnum = /* @__PURE__ */ ((UpScrollStatusEnum2) => {
UpScrollStatusEnum2[UpScrollStatusEnum2["DEFAULT"] = 0] = "DEFAULT";
UpScrollStatusEnum2[UpScrollStatusEnum2["LOADING"] = 1] = "LOADING";
UpScrollStatusEnum2[UpScrollStatusEnum2["NO_MORE"] = 2] = "NO_MORE";
UpScrollStatusEnum2[UpScrollStatusEnum2["EMPTY"] = 3] = "EMPTY";
UpScrollStatusEnum2[UpScrollStatusEnum2["FAIL"] = 4] = "FAIL";
return UpScrollStatusEnum2;
})(UpScrollStatusEnum || {});
const _hoisted_1$d = { class: "mt-infinite-scroll__footer" };
const _hoisted_2$b = {
key: 1,
class: "mt-infinite-scroll__no-more"
};
const _hoisted_3$7 = {
key: 3,
class: "mt-infinite-scroll__fail"
};
const _sfc_main$h = /* @__PURE__ */ defineComponent({
...{
name: "MtInfiniteScroll"
},
__name: "infinite-scroll",
props: infiniteScrollProps,
emits: ["update:modelValue", "query"],
setup(__props, { expose: __expose, emit: __emit }) {
const props = __props;
const emits = __emit;
const containerRef = ref(null);
const contentRef = ref(null);
const lastScrollTop = ref(0);
const upScrollStatus = ref(UpScrollStatusEnum.DEFAULT);
const upScrollPage = ref({
pageNum: props.upScrollPageNum,
pageSize: props.upScrollPageSize
});
const upScrollShowNoMore = ref(false);
const observer = ref(null);
const queryStartTime = ref((/* @__PURE__ */ new Date()).getTime());
const list = computed({
get: () => props.modelValue,
set: (value) => emits("update:modelValue", value)
});
function setUpScrollStatus(status) {
upScrollStatus.value = status;
}
function initUpScroll() {
list.value = [];
setUpScrollStatus(UpScrollStatusEnum.DEFAULT);
upScrollPage.value = {
pageNum: props.upScrollPageNum,
pageSize: props.upScrollPageSize
};
}
function triggerUpScroll() {
if (!props.upScrollEnabled)
return;
if (!containerRef.value)
return;
if (![UpScrollStatusEnum.DEFAULT].includes(upScrollStatus.value))
return;
const { scrollTop, clientHeight, scrollHeight } = containerRef.value;
const isScrollToBottom = scrollHeight - (scrollTop + clientHeight) <= Number(props.upScrollDistance);
if (isScrollToBottom) {
setUpScrollStatus(UpScrollStatusEnum.LOADING);
queryStartTime.value = (/* @__PURE__ */ new Date()).getTime();
emits("query", {
pageNum: upScrollPage.value.pageNum,
pageSize: upScrollPage.value.pageSize
});
}
}
function handleScroll() {
if (!containerRef.value) {
return;
}
const elelmentRect = containerRef.value.getBoundingClientRect();
if (!elelmentRect.width && !elelmentRect.height)
return;
const { scrollTop } = containerRef.value;
const isScrollUp = scrollTop - lastScrollTop.value > 0;
lastScrollTop.value = scrollTop;
if (isScrollUp) {
triggerUpScroll();
}
}
function endError() {
setUpScrollStatus(UpScrollStatusEnum.FAIL);
upScrollShowNoMore.value = false;
}
async function endSuccess(data2, totalSize) {
const queryTime = (/* @__PURE__ */ new Date()).getTime() - queryStartTime.value;
if (queryTime < props.queryMinDelay) {
await timeDelay(props.queryMinDelay - queryTime);
}
const { pageSize, pageNum } = upScrollPage.value;
const dataSize = data2.length;
const loadSize = (pageNum - 1) * pageSize + dataSize;
const hasNext = dataSize >= pageSize || Number(loadSize) < Number(totalSize);
if (pageNum === 1) {
list.value = [];
}
upScrollShowNoMore.value = false;
if (hasNext) {
if (pageNum === 1) {
list.value = [...data2];
} else {
list.value = [...list.value, ...data2];
}
setUpScrollStatus(UpScrollStatusEnum.DEFAULT);
upScrollPage.value.pageNum += 1;
} else {
if (dataSize === 0 && pageNum === 1) {
setUpScrollStatus(UpScrollStatusEnum.EMPTY);
} else {
if (loadSize <= props.hideNoMoreByLimit) {
upScrollShowNoMore.value = false;
} else {
upScrollShowNoMore.value = true;
}
if (pageNum === 1) {
list.value = [...data2];
} else {
list.value = [...list.value, ...data2];
}
setUpScrollStatus(UpScrollStatusEnum.NO_MORE);
}
}
}
function bindUpScrollEvent() {
var _a;
const handleScrollThrottleFn = throttle$1(handleScroll, props.scrollEventDelay);
(_a = containerRef.value) == null ? void 0 : _a.addEventListener("scroll", handleScrollThrottleFn);
}
function destroyObserver() {
if (observer.value) {
observer.value.disconnect();
}
}
function checkFullUpScroll() {
if (!props.upScrollEnabled)
return;
if (!containerRef.value)
return;
if (![UpScrollStatusEnum.DEFAULT].includes(upScrollStatus.value))
return;
const elelmentRect = containerRef.value.getBoundingClientRect();
if (!elelmentRect.width && !elelmentRect.height)
return;
if (containerRef.value.scrollHeight <= containerRef.value.clientHeight) {
setUpScrollStatus(UpScrollStatusEnum.LOADING);
queryStartTime.value = (/* @__PURE__ */ new Date()).getTime();
emits("query", {
pageNum: upScrollPage.value.pageNum,
pageSize: upScrollPage.value.pageSize
});
} else {
destroyObserver();
}
}
function observerUpScroll() {
observer.value = new MutationObserver(checkFullUpScroll);
observer.value.observe(contentRef.value, { childList: true, subtree: true });
checkFullUpScroll();
}
async function resetUpScroll() {
initUpScroll();
await nextTick();
observerUpScroll();
}
onMounted(async () => {
var _a;
initUpScroll();
await nextTick();
lastScrollTop.value = ((_a = containerRef.value) == null ? void 0 : _a.scrollTop) || 0;
if (props.upScrollImmediate) {
observerUpScroll();
}
bindUpScrollEvent();
});
onUnmounted(() => {
var _a;
(_a = containerRef.value) == null ? void 0 : _a.removeEventListener("scroll", handleScroll);
destroyObserver();
});
__expose({
endSuccess,
endError,
resetUpScroll
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", {
ref_key: "containerRef",
ref: containerRef,
class: "mt-infinite-scroll",
style: normalizeStyle({ height: unref(convertValueToViewportWidth)(props.height) })
}, [
createElementVNode("div", {
ref_key: "contentRef",
ref: contentRef,
class: "mt-infinite-scroll__content"
}, [
renderSlot(_ctx.$slots, "default")
], 512),
createElementVNode("div", _hoisted_1$d, [
upScrollStatus.value === unref(UpScrollStatusEnum).LOADING ? (openBlock(), createBlock(unref(MtLoading), {
key: 0,
text: props.loadingMoreLoadingText
}, null, 8, ["text"])) : upScrollStatus.value === unref(UpScrollStatusEnum).NO_MORE && upScrollShowNoMore.value ? (openBlock(), createElementBlock("div", _hoisted_2$b, toDisplayString(props.loadingMoreNoMoreText), 1)) : upScrollStatus.value === unref(UpScrollStatusEnum).EMPTY ? renderSlot(_ctx.$slots, "empty", { key: 2 }, () => [
createVNode(unref(MtEmpty), {
"image-width": props.emptyImageWidth,
image: props.emptyImg,
description: props.emptyText
}, null, 8, ["image-width", "image", "description"])
]) : upScrollStatus.value === unref(UpScrollStatusEnum).FAIL ? (openBlock(), createElementBlock("div", _hoisted_3$7, " 加载失败,请重试 ")) : createCommentVNode("", true)
])
], 4);
};
}
});
const MtInfiniteScroll = withInstall(_sfc_main$h);
const instances = shallowReactive([]);
function getInstance(id2) {
const idx = instances.findIndex((instance) => instance.id === id2);
const current = instances[idx];
let prev;
if (idx > 0) {
prev = instances[idx - 1];
}
return { current, prev };
}
function getLastOffset(id2) {
const { prev } = getInstance(id2);
if (!prev) {
return 0;
}
return prev.vm.exposed.bottom.value;
}
function getOffsetOrSpace(id2, offset) {
const idx = instances.findIndex((instance) => instance.id === id2);
return idx > 0 ? 16 : offset;
}
const messageTypes = ["success", "error", "warning"];
const messageProps = {
/**
* 消息文字
*/
message: {
type: String,
required: true
},
/**
* 消息类型
*/
type: {
type: String,
validator: (value) => {
return messageTypes.includes(value);
},
default: messageTypes[0]
},
/**
* 显示时间,单位为毫秒。 设为 0 则不会自动关闭
*/
duration: {
type: Number,
default: 3e3
},
/**
* 是否显示关闭按钮
*/
showClose: {
type: Boolean,
default: false
},
/**
* Message 距离窗口顶部的偏移量
*/
offset: {
type: Number,
default: 16
},
/**
* 关闭时的回调函数, 参数为被关闭的 message 实例
*/
onClose: {
type: Function,
default: () => {
}
},
/**
* 唯一标识符
*/
id: {
type: String,
required: true
}
};
const _hoisted_1$c = { class: "mt-message__content" };
const _sfc_main$g = /* @__PURE__ */ defineComponent({
...{
name: "MtMessage"
},
__name: "message",
props: messageProps,
emits: ["destroy"],
setup(__props, { expose: __expose, emit: __emit }) {
const props = __props;
const emits = __emit;
let stopTimer;
const { nextZIndex } = useZIndex(8e3);
const messageRef = ref();
const zIndex2 = ref(nextZIndex());
const visible = ref(false);
const height = ref(0);
const lastOffset = computed(() => getLastOffset(props.id));
const offset = computed(
() => getOffsetOrSpace(props.id, props.offset) + lastOffset.value
);
const bottom = computed(() => height.value + offset.value);
const messageClasses = computed(() => {
const classes = [];
classes.push("mt-message");
classes.push(`mt-message--${props.type}`);
return classes;
});
const messageStyles = computed(() => {
const styles = {};
styles.top = `${offset.value}px`;
styles.zIndex = zIndex2.value;
return styles;
});
const messageIconName = computed(() => {
return {
[messageTypes[0]]: "icon-Alerts_success",
[messageTypes[1]]: "icon-Alerts_-false",
[messageTypes[2]]: "icon-Alerts_-v-blue"
}[props.type];
});
function startTimer() {
if (props.duration === 0) {
return;
}
({ stop: stopTimer } = useTimeoutFn(() => {
close2();
}, props.duration));
}
function clearTimer() {
stopTimer == null ? void 0 : stopTimer();
}
function close2() {
visible.value = false;
}
onMounted(() => {
startTimer();
visible.value = true;
});
useResizeObserver(messageRef, () => {
height.value = messageRef.value.getBoundingClientRect().height;
});
useEventListener(document, "keydown", keydown);
function keydown({ code }) {
if (code === "Escape") {
close2();
}
}
__expose({
close: close2,
bottom
});
return (_ctx, _cache) => {
return openBlock(), createBlock(Transition, {
name: "mt-message__fade",
onAfterLeave: _cache[0] || (_cache[0] = ($event) => emits("destroy"))
}, {
default: withCtx(() => [
withDirectives(createElementVNode("div", {
ref_key: "messageRef",
ref: messageRef,
class: normalizeClass(messageClasses.value),
style: normalizeStyle(messageStyles.value),
onMouseenter: clearTimer,
onMouseleave: startTimer
}, [
props.type ? (openBlock(), createBlock(unref(MtIcon), {
key: 0,
name: messageIconName.value
}, null, 8, ["name"])) : createCommentVNode("", true),
renderSlot(_ctx.$slots, "default", {}, () => [
createElementVNode("div", _hoisted_1$c, toDisplayString(props.message), 1)
]),
props.showClose ? (openBlock(), createBlock(unref(MtIcon), {
key: 1,
name: "icon-cha",
clickable: "",
onClick: withModifiers(close2, ["stop"])
})) : createCommentVNode("", true)
], 38), [
[vShow, visible.value]
])
]),
_: 3
});
};
}
});
let seed = 1;
function removeInstance(id2) {
const idx = instances.findIndex((instance) => instance.id === id2);
if (idx === -1) {
return;
}
instances.splice(idx, 1);
}
function createMessage(options) {
const id2 = `message_${seed++}`;
const userOnClose = options.onClose;
const container = document.createElement("div");
const vnode = createVNode(_sfc_main$g, {
...options,
id: id2,
onClose: () => {
userOnClose == null ? void 0 : userOnClose();
const { current } = getInstance(id2);
current == null ? void 0 : current.vm.exposed.close();
},
onDestroy() {
render(null, container);
removeInstance(id2);
}
});
render(vnode, container);
const vm = vnode.component;
const handler = {
close: () => {
vm.exposed.close();
}
};
const instance = {
id: id2,
vnode,
vm,
handler,
props: vnode.component.props
};
document.body.appendChild(container.firstElementChild);
return instance;
}
function normalizeOptions(options) {
if (isString$1(options)) {
options = { message: options };
}
return options;
}
const Message = (options) => {
const instance = createMessage(normalizeOptions(options));
instances.push(instance);
return instance.handler;
};
messageTypes.forEach((type) => {
Message[type] = (options) => {
return Message({ ...normalizeOptions(options), type });
};
});
function closeAll(type) {
for (const instance of instances) {
if (!type || type === instance.props.type) {
instance.handler.close();
}
}
}
Message.closeAll = closeAll;
const MtMessage = withInstall(Message);
function useClickOutside(elementRefs, callback) {
const handleClick = (event) => {
const target = event.target;
for (const elementRef of elementRefs) {
const element = elementRef.value;
if (element && element.contains(target)) {
return;
}
}
callback(event);
};
onMounted(async () => {
await nextTick();
document.addEventListener("click", handleClick);
});
onUnmounted(() => {
document.removeEventListener("click", handleClick);
});
}
function findFirstLegitChild(node2) {
if (!node2) {
return null;
}
const children = node2;
for (const child of children) {
if (isObject$J(child)) {
switch (child.type) {
case Comment:
continue;
case Text:
case "svg":
return wrapTextContent(child);
case Fragment:
return findFirstLegitChild(child.children);
default:
return child;
}
}
return wrapTextContent(child);
}
return null;
}
function wrapTextContent(s) {
return h("span", {
class: "mt-only-child__content"
}, s);
}
const MtOnlyChild = /* @__PURE__ */ defineComponent({
name: "MtOnlyChild",
props: {
setRef: {
type: Function,
default: () => () => {
}
}
},
setup(props, {
slots,
attrs
}) {
var _a;
const el = ref();
const uid3 = getUuid();
const defaultSlot = (_a = slots.default) == null ? void 0 : _a.call(slots);
if (!defaultSlot) {
return () => null;
}
const firstLegitNode = findFirstLegitChild(defaultSlot);
if (!firstLegitNode) {
return () => null;
}
onMounted(() => {
props.setRef(document.querySelector(`#mt-popover__trigger__${uid3}`));
});
return () => {
return h(firstLegitNode, {
...attrs,
id: [`mt-popover__trigger__${uid3}`],
ref: el
});
};
}
});
const popoverProps = {
/**
* 是否显示
*/
modelValue: {
type: Boolean,
default: false
},
/**
* 显示的内容
*/
content: {
type: String,
default: ""
},
/**
* 延迟显示,单位毫秒
*/
showDelay: {
type: Number,
default: 0
},
/**
* 延迟关闭,单位毫秒
*/
closeDelay: {
type: Number,
default: 250
},
/**
* 触发方式
*/
trigger: {
type: String,
default: "hover"
},
/**
* 出现的位置
*/
placement: {
type: String,
default: "bottom"
},
/**
* popover 的参数
*/
popperOptions: {
type: Object,
default: () => ({})
},
/**
* Content 挂载到哪个 DOM 元素
*/
appendTo: {
type: [String, Object],
default: "body"
},
/**
* Content 主题
*/
effect: {
type: String,
default: "light"
}
};
const _sfc_main$f = /* @__PURE__ */ defineComponent({
...{
name: "MtPopover"
},
__name: "popover",
props: popoverProps,
emits: ["update:modelValue", "close"],
setup(__props, { expose: __expose, emit: __emit }) {
const props = __props;
const emits = __emit;
const triggerRef = ref(null);
const contentRef = ref(null);
const arrowRef = ref(null);
const popperInstance = ref(null);
const popoverContentEvents = ref({});
const triggerEvents = ref({});
const contentVisible = ref(false);
const popperOptions = computed(() => {
return {
placement: props.placement,
modifiers: [
{
name: "arrow",
options: {
element: arrowRef.value
}
},
{
name: "offset",
options: {
offset: [0, 8]
}
}
],
...props.popperOptions
};
});
const contentStyles = computed(() => {
const styles = {};
return styles;
});
const popoverContentClass = computed(() => {
const classes = [];
classes.push("mt-popover__content");
classes.push(`mt-popover__content--${props.effect}`);
return classes;
});
function showPopper() {
contentVisible.value = true;
}
function closePopper() {
contentVisible.value = false;
}
const showPopperDebounce = debounce(showPopper, props.showDelay);
const closePopperDebounce = debounce(closePopper, props.closeDelay);
function showPopperFinal() {
closePopperDebounce.cancel();
showPopperDebounce();
}
function closePopperFinal() {
showPopperDebounce.cancel();
closePopperDebounce();
}
function togglePopper() {
if (contentVisible.value) {
closePopperFinal();
} else {
showPopperFinal();
}
}
function bindElementEvents() {
popoverContentEvents.value = {};
triggerEvents.value = {};
if (props.trigger === "manual") {
return;
}
if (props.trigger === "hover") {
popoverContentEvents.value = {
mouseenter: showPopperFinal,
mouseleave: closePopperFinal
};
triggerEvents.value = {
mouseenter: showPopperFinal,
mouseleave: closePopperFinal
};
}
if (props.trigger === "click") {
triggerEvents.value = {
click: togglePopper
};
}
}
watch(() => props.trigger, (newValue, oldValue) => {
if (newValue !== oldValue) {
bindElementEvents();
}
});
watch(contentVisible, (newValue) => {
if (newValue) {
if (triggerRef.value && contentRef.value) {
popperInstance.value = createPopper(triggerRef.value, contentRef.value, {
...popperOptions.value
});
}
} else {
emits("close");
}
emits("update:modelValue", newValue);
}, {
flush: "post"
});
watch(() => props.modelValue, (newValue) => {
if (newValue) {
showPopperFinal();
} else {
closePopperFinal();
}
}, {
immediate: true
});
function setTriggerRef(el) {
triggerRef.value = el;
}
useClickOutside([
triggerRef,
contentRef
], () => {
if (contentVisible.value && props.trigger === "click") {
closePopperFinal();
}
});
onMounted(() => {
bindElementEvents();
});
onUnmounted(() => {
if (popperInstance.value) {
popperInstance.value.destroy();
popperInstance.value = null;
}
});
__expose({
close() {
closePopperFinal();
},
show() {
showPopperFinal();
}
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock(Fragment, null, [
createVNode(unref(MtOnlyChild), mergeProps({ "set-ref": setTriggerRef }, toHandlers(triggerEvents.value)), {
default: withCtx(() => [
renderSlot(_ctx.$slots, "reference")
]),
_: 3
}, 16),
createVNode(unref(MtTeleport), {
to: props.appendTo
}, {
default: withCtx(() => [
createVNode(unref(MtFadeTransition), { duration: 250 }, {
default: withCtx(() => [
contentVisible.value ? (openBlock(), createElementBlock("div", mergeProps({
key: 0,
ref_key: "contentRef",
ref: contentRef,
style: contentStyles.value,
class: popoverContentClass.value
}, toHandlers(popoverContentEvents.value, true)), [
renderSlot(_ctx.$slots, "default", {}, () => [
createTextVNode(toDisplayString(props.content), 1)
]),
createElementVNode("div", {
ref_key: "arrowRef",
ref: arrowRef,
class: "mt-popover__arrow"
}, null, 512)
], 16)) : createCommentVNode("", true)
]),
_: 3
})
]),
_: 3
}, 8, ["to"])
], 64);
};
}
});
const MtPopover = withInstall(_sfc_main$f);
const posterComponent = defineComponent({
inheritAttrs: false,
emits: ["close"],
setup(_props, { slots, emit, attrs, expose }) {
const visible = ref(true);
const dialogRef = ref(null);
const handleUpdateModelValue = (value) => {
visible.value = value;
};
const handleClosed = () => {
emit("close");
};
expose({
dialogRef
});
return () => createVNode(
MtDialog,
{
...{
modelValue: visible.value,
...attrs
},
"onUpdate:modelValue": handleUpdateModelValue,
"onClosed": handleClosed,
"ref": dialogRef
},
{
default: () => {
var _a;
return (_a = slots.default) == null ? void 0 : _a.call(slots);
}
}
);
}
});
function Poster(options) {
const container = document.createElement("div");
let dialogVNode = null;
let contentVNode = null;
function doClose() {
var _a, _b, _c, _d, _e;
(_e = (_d = (_c = (_b = (_a = dialogVNode == null ? void 0 : dialogVNode.component) == null ? void 0 : _a.exposed) == null ? void 0 : _b.dialogRef) == null ? void 0 : _c.value) == null ? void 0 : _d.close) == null ? void 0 : _e.call(_d);
document.body.removeChild(container);
}
const contentEvents = {
...options.events,
onClose() {
doClose();
}
};
const contentProps = {
...options.props
};
const dialogProps2 = {
...{
padding: 0,
alignCenter: true
},
...options.dialogProps
};
const dialogEvents = {
onClose() {
var _a, _b;
(_b = (_a = options == null ? void 0 : options.events) == null ? void 0 : _a.onClose) == null ? void 0 : _b.call(_a);
render(null, container);
}
};
document.body.appendChild(container);
options.component().then((component) => {
const contentComponent = component.default;
contentVNode = createVNode(contentComponent, {
...contentProps,
...contentEvents
});
dialogVNode = createVNode(
posterComponent,
{
...dialogProps2,
...dialogEvents
},
{
default: () => contentVNode
}
);
render(dialogVNode, container);
});
return {
close() {
doClose();
},
/**
* 动态更新内容组件的属性。
* @param props 新的属性对象。
*/
setProps(props) {
if (contentVNode && contentVNode.component) {
Object.assign(contentVNode.component.props, {
...props
});
}
}
};
}
const MtPoster = withInstall(Poster);
const progressTypes = ["line", "circle", "dashboard"];
const progressStatus = ["default", "success", "exception", "warning"];
const progressProps = {
// 进度条类型
type: {
type: String,
default: progressTypes[0],
values: progressTypes
},
// 进度条进度
percentage: {
type: Number,
default: 0,
validator: (value) => value >= 0 && value <= 100
},
// 进度条当前状态
status: {
type: String,
default: progressStatus[0],
values: progressStatus
},
// 进度条的宽度
strokeWidth: {
type: Number,
default: 6
},
// 是否显示进度条文字内容
showText: {
type: Boolean,
default: true
},
// 进度条显示文字内置在进度条内(仅 type 为 'line' 时可用)
textInside: {
type: Boolean,
default: false
},
// 环形进度条画布宽度(只在 type 为 circle 或 dashboard 时可用)
width: {
type: Number,
default: 126
},
// circle/dashboard 类型路径两端的形状
strokeLinecap: {
type: String,
default: "round"
},
// 进度条背景色 (会覆盖 status 状态颜色)
color: {
type: String,
default: ""
}
};
const _hoisted_1$b = {
key: 0,
class: "mt-progress__bar"
};
const _hoisted_2$a = {
key: 0,
class: "mt-progress__inner-text"
};
const _hoisted_3$6 = { viewBox: "0 0 100 100" };
const _hoisted_4$4 = ["d", "stroke-linecap", "stroke-width"];
const _hoisted_5$2 = ["d", "stroke", "opacity", "stroke-linecap", "stroke-width"];
const _sfc_main$e = /* @__PURE__ */ defineComponent({
...{
name: "MtProgress"
},
__name: "progress",
props: progressProps,
setup(__props) {
const props = __props;
const slots = useSlots();
const progressClasses = computed(() => {
const classes = [];
classes.push("mt-progress");
if (props.type) {
classes.push(`mt-progress--${props.type}`);
}
if (props.status) {
classes.push(`mt-progress--${props.status}`);
}
return classes;
});
const progressStyles = computed(() => {
const styles = {};
styles.height = convertValueToViewportWidth(props.strokeWidth);
return styles;
});
const innerStyles = computed(() => {
const styles = {};
styles.width = `${props.percentage}%`;
const color = getCurrentColor();
if (color.includes("gradient")) {
styles.background = color;
} else {
styles.backgroundColor = color;
}
return styles;
});
const circleStyles = computed(() => {
const styles = {};
styles.width = convertValueToViewportWidth(props.width);
styles.height = convertValueToViewportWidth(props.width);
return styles;
});
const content = computed(() => {
return `${props.percentage}%`;
});
const relativeStrokeWidth = computed(
() => (props.strokeWidth / props.width * 100).toFixed(1)
);
const radius = computed(() => {
if (["circle", "dashboard"].includes(props.type)) {
return Number.parseInt(
`${50 - Number.parseFloat(relativeStrokeWidth.value) / 2}`,
10
);
}
return 0;
});
const trackPath = computed(() => {
const r = radius.value;
const isDashboard = props.type === "dashboard";
return `
M 50 50
m 0 ${isDashboard ? "" : "-"}${r}
a ${r} ${r} 0 1 1 0 ${isDashboard ? "-" : ""}${r * 2}
a ${r} ${r} 0 1 1 0 ${isDashboard ? "" : "-"}${r * 2}
`;
});
const perimeter = computed(() => 2 * Math.PI * radius.value);
const rate = computed(() => props.type === "dashboard" ? 0.75 : 1);
const strokeDashoffset = computed(() => {
const offset = -1 * perimeter.value * (1 - rate.value) / 2;
return convertValueToViewportWidth(offset);
});
const trailPathStyle = computed(() => ({
strokeDasharray: `${convertValueToViewportWidth(perimeter.value * rate.value)}, ${convertValueToViewportWidth(perimeter.value)}`,
strokeDashoffset: strokeDashoffset.value
}));
const circlePathStyle = computed(() => ({
strokeDasharray: `${convertValueToViewportWidth(perimeter.value * rate.value * (props.percentage / 100))}, ${convertValueToViewportWidth(perimeter.value)}`,
strokeDashoffset: strokeDashoffset.value,
transition: "stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"
}));
const stroke = computed(() => {
const STATUS_COLOR_MAP = {
default: "#5d89f7",
success: "#00b42a",
exception: "#f44049",
warning: "#ff7a3d"
};
let strokeColor;
if (props.color) {
strokeColor = getCurrentColor();
} else {
strokeColor = STATUS_COLOR_MAP[props.status] || STATUS_COLOR_MAP.default;
}
return strokeColor;
});
const progressTextSize = computed(() => {
return convertValueToViewportWidth(props.type === "line" ? 12 + props.strokeWidth * 0.4 : props.width * 0.111111 + 2);
});
function getCurrentColor() {
return props.color;
}
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", {
class: normalizeClass(progressClasses.value)
}, [
_ctx.type === "line" ? (openBlock(), createElementBlock("div", _hoisted_1$b, [
createElementVNode("div", {
class: "mt-progress__outer",
style: normalizeStyle(progressStyles.value)
}, [
createElementVNode("div", {
class: "mt-progress__inner",
style: normalizeStyle(innerStyles.value)
}, [
(props.showText || slots.default) && _ctx.textInside ? (openBlock(), createElementBlock("div", _hoisted_2$a, [
renderSlot(_ctx.$slots, "default", {
percentage: props.percentage
}, () => [
createElementVNode("span", null, toDisplayString(content.value), 1)
])
])) : createCommentVNode("", true)
], 4)
], 4)
])) : (openBlock(), createElementBlock("div", {
key: 1,
class: "mt-progress__circle",
style: normalizeStyle(circleStyles.value)
}, [
(openBlock(), createElementBlock("svg", _hoisted_3$6, [
createElementVNode("path", {
class: "mt-progress__circle--track",
d: trackPath.value,
stroke: "var(--mt-color-gray-e5e6eb)",
"stroke-linecap": props.strokeLinecap,
"stroke-width": relativeStrokeWidth.value,
fill: "none",
style: normalizeStyle(trailPathStyle.value)
}, null, 12, _hoisted_4$4),
createElementVNode("path", {
class: "mt-progress__circle--path",
d: trackPath.value,
stroke: stroke.value,
fill: "none",
opacity: _ctx.percentage ? 1 : 0,
"stroke-linecap": props.strokeLinecap,
"stroke-width": relativeStrokeWidth.value,
style: normalizeStyle(circlePathStyle.value)
}, null, 12, _hoisted_5$2)
]))
], 4)),
(_ctx.showText || slots.default) && !_ctx.textInside ? (openBlock(), createElementBlock("div", {
key: 2,
class: "mt-progress__text",
style: normalizeStyle({ fontSize: `${progressTextSize.value}` })
}, [
renderSlot(_ctx.$slots, "default", {
percentage: props.percentage
}, () => [
createElementVNode("span", null, toDisplayString(content.value), 1)
])
], 4)) : createCommentVNode("", true)
], 2);
};
}
});
const MtProgress = withInstall(_sfc_main$e);
const tabsProps = {
/**
* 绑定值,选中选项卡的 name/索引 ,默认值是第一个 tab 的 索引
*/
modelValue: {
type: [String, Number],
default: 0
},
/**
* 风格类型
*/
type: {
type: String,
default: "card"
}
};
const TabsKey = Symbol("tabs");
const tabProps = {
/**
* 选项卡标题
*/
label: {
type: String,
default: ""
},
/**
* 与选项卡绑定值 value 对应的标识符,表示选项卡别名。默认值是tab面板的序列号,如第一个 tab 是 0
*/
name: {
type: [String, Number],
default: 0
}
};
const _hoisted_1$a = ["id"];
const _sfc_main$d = /* @__PURE__ */ defineComponent({
...{
name: "MtTab"
},
__name: "tab",
props: tabProps,
setup(__props, { expose: __expose }) {
const props = __props;
const { index: index2, parent } = useParent(TabsKey);
const tabName = computed(() => props.name || index2.value);
const isActive = computed(() => tabName.value === (parent == null ? void 0 : parent.currentTabName.value));
const tabClasses = computed(() => {
const classes = [];
classes.push(`mt-tab`);
if (isActive.value) {
classes.push(`is-active`);
}
classes.push(`mt-tab--${parent == null ? void 0 : parent.type}`);
return classes;
});
function handleClick() {
parent == null ? void 0 : parent.onChange(tabName.value);
}
__expose({
isActive
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", {
id: `tab-${unref(index2)}`,
class: normalizeClass(tabClasses.value),
onClick: handleClick
}, toDisplayString(props.label), 11, _hoisted_1$a);
};
}
});
const MtTab = withInstall(_sfc_main$d);
const _sfc_main$c = /* @__PURE__ */ defineComponent({
...{
name: "MtTabs"
},
__name: "tabs",
props: tabsProps,
emits: ["update:modelValue", "change"],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const tabsRef = ref();
const currentTabName = computed({
get() {
return props.modelValue;
},
set(value) {
emits("update:modelValue", value);
emits("change", value);
}
});
const { children } = useChildren(TabsKey, {
currentTabName,
onChange,
type: props.type
});
const barStyles = computed(() => {
const styles = {};
if (tabsRef.value) {
children.forEach((child, index2) => {
const $el = tabsRef.value.querySelector(`#tab-${index2}`);
if (!$el) {
return;
}
if (!child.exposed.isActive) {
return;
}
styles.width = `${$el.clientWidth}px`;
styles.left = `${$el.offsetLeft}px`;
});
}
return styles;
});
const lineStyles = computed(() => {
const styles = {};
if (tabsRef.value) {
children.forEach((child, index2) => {
const $el = tabsRef.value.querySelector(`#tab-${index2}`);
if (!$el) {
return;
}
if (!child.exposed.isActive) {
return;
}
const tabStyles = window.getComputedStyle($el);
styles.width = `${$el.clientWidth - beParsedAsNumber(tabStyles.paddingLeft) - beParsedAsNumber(tabStyles.paddingRight)}px`;
styles.left = `${$el.offsetLeft + beParsedAsNumber(tabStyles.paddingLeft)}px`;
});
}
return styles;
});
const tabsClasses = computed(() => {
const classes = [];
classes.push(`mt-tabs`);
classes.push(`mt-tabs--${props.type}`);
return classes;
});
function onChange(tabName) {
currentTabName.value = tabName;
}
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", {
ref_key: "tabsRef",
ref: tabsRef,
class: normalizeClass(tabsClasses.value)
}, [
_ctx.type === "card" ? (openBlock(), createElementBlock("div", {
key: 0,
class: "mt-tabs__active-bar",
style: normalizeStyle(barStyles.value)
}, null, 4)) : createCommentVNode("", true),
_ctx.type === "line" ? (openBlock(), createElementBlock("div", {
key: 1,
class: "mt-tabs__active-line",
style: normalizeStyle(lineStyles.value)
}, null, 4)) : createCommentVNode("", true),
renderSlot(_ctx.$slots, "default")
], 2);
};
}
});
const MtTabs = withInstall(_sfc_main$c);
const tagProps = {
/**
* 标签类型
*/
type: {
type: String,
validator: (value) => {
return ["default", "primary", "success", "error", "warning"].includes(value);
},
default: "default"
},
/**
* 是否可关闭
*/
closable: {
type: Boolean,
default: false
},
/**
* 标签大小
*/
size: sizeProp,
/**
* 是否为圆形
*/
round: {
type: Boolean,
default: false
},
/**
* 主题效果
*/
effect: {
type: String,
validator: (value) => {
return ["dark", "light", "plain"].includes(value);
},
default: "light"
}
};
const _sfc_main$b = /* @__PURE__ */ defineComponent({
...{
name: "MtTag"
},
__name: "tag",
props: tagProps,
emits: ["close"],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const tagClasses = computed(() => {
const classes = [];
classes.push("mt-tag");
classes.push(`mt-tag--${props.type}`);
classes.push(`mt-tag--${props.size}`);
classes.push(`mt-tag--${props.effect}`);
classes.push({ "mt-tag--round": props.round });
return classes;
});
function handleClose() {
emits("close");
}
return (_ctx, _cache) => {
return openBlock(), createElementBlock("span", {
class: normalizeClass(tagClasses.value)
}, [
renderSlot(_ctx.$slots, "default"),
props.closable ? (openBlock(), createBlock(unref(MtIcon), {
key: 0,
class: "mt-tag__close",
name: "icon-cha",
onClick: handleClose
})) : createCommentVNode("", true)
], 2);
};
}
});
const MtTag = withInstall(_sfc_main$b);
const tooltipProps = {
...popoverProps,
effect: {
type: String,
default: "dark"
}
};
const _sfc_main$a = /* @__PURE__ */ defineComponent({
...{
name: "MtTooltip"
},
__name: "tooltip",
props: tooltipProps,
emits: ["update:modelValue", "close"],
setup(__props, { expose: __expose, emit: __emit }) {
const props = __props;
const emits = __emit;
const popoverRef = ref();
__expose({
close: () => {
var _a;
(_a = popoverRef.value) == null ? void 0 : _a.close();
},
show: () => {
var _a;
(_a = popoverRef.value) == null ? void 0 : _a.show();
}
});
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(MtPopover), mergeProps(props, {
ref_key: "popoverRef",
ref: popoverRef
}, toHandlers(emits)), {
default: withCtx(() => [
renderSlot(_ctx.$slots, "default")
]),
reference: withCtx(() => [
renderSlot(_ctx.$slots, "reference")
]),
_: 3
}, 16);
};
}
});
const MtTooltip = withInstall(_sfc_main$a);
const _hoisted_1$9 = { class: "mt-upload-file-list-layout__list" };
const _hoisted_2$9 = ["onClick"];
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
...{
name: "MtUploadFileListLayout"
},
__name: "upload-file-list-layout",
props: {
fileList: {
type: Array,
default: () => []
},
disabled: {
type: Boolean,
default: false
}
},
emits: ["remove"],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
function handleRemove(fileItem, fileIndex) {
if (props.disabled) {
return;
}
emits("remove", {
fileItem,
fileIndex
});
}
function handlePreview(fileItem) {
if (fileItem.url) {
MtFilePreview({
viewUrl: fileItem.url
});
}
}
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", {
class: normalizeClass(["mt-upload-file-list-layout", { "mt-upload-file-list-layout--disabled": props.disabled, "mt-upload-file-list-layout--empty": props.fileList.length === 0 }])
}, [
createElementVNode("div", _hoisted_1$9, [
props.fileList && props.fileList.length ? (openBlock(), createBlock(unref(MtCellGroup), { key: 0 }, {
default: withCtx(() => [
(openBlock(true), createElementBlock(Fragment, null, renderList(props.fileList, (fileItem, fileIndex) => {
return openBlock(), createBlock(unref(MtCell), {
key: fileItem.uid,
icon: unref(getFileIcon)(fileItem.name),
title: fileItem.name
}, createSlots({
icon: withCtx(() => [
createVNode(unref(MtAvatarImage), {
src: unref(getFileIcon)(fileItem.name),
onClick: ($event) => handlePreview(fileItem)
}, null, 8, ["src", "onClick"])
]),
title: withCtx(() => [
createElementVNode("div", {
onClick: ($event) => handlePreview(fileItem)
}, toDisplayString(fileItem.name), 9, _hoisted_2$9)
]),
right: withCtx(() => [
!props.disabled ? (openBlock(), createBlock(unref(MtIcon), {
key: 0,
name: "icon-cha",
clickable: "",
onClick: withModifiers(($event) => handleRemove(fileItem, fileIndex), ["stop"])
}, null, 8, ["onClick"])) : createCommentVNode("", true)
]),
_: 2
}, [
fileItem.percentage && fileItem.percentage < 100 ? {
name: "description",
fn: withCtx(() => [
createVNode(unref(MtProgress), {
percentage: fileItem.percentage
}, null, 8, ["percentage"])
]),
key: "0"
} : void 0
]), 1032, ["icon", "title"]);
}), 128))
]),
_: 1
})) : createCommentVNode("", true)
])
], 2);
};
}
});
const fileSizeLimitConfigMap = /* @__PURE__ */ new Map([
[
"normal",
{
[FileSuffixEnum.PNG]: 500 * 1024 * 1024,
[FileSuffixEnum.JPG]: 500 * 1024 * 1024,
[FileSuffixEnum.JPEG]: 500 * 1024 * 1024,
[FileSuffixEnum.GIF]: 500 * 1024 * 1024,
[FileSuffixEnum.WEBP]: 500 * 1024 * 1024,
[FileSuffixEnum.PPT]: 500 * 1024 * 1024,
[FileSuffixEnum.PPTX]: 500 * 1024 * 1024,
[FileSuffixEnum.DOC]: 500 * 1024 * 1024,
[FileSuffixEnum.DOCX]: 500 * 1024 * 1024,
[FileSuffixEnum.PDF]: 500 * 1024 * 1024,
[FileSuffixEnum.TXT]: 500 * 1024 * 1024,
[FileSuffixEnum.XLS]: 500 * 1024 * 1024,
[FileSuffixEnum.XLSX]: 500 * 1024 * 1024,
[FileSuffixEnum.MP4]: 500 * 1024 * 1024,
[FileSuffixEnum.MKV]: 500 * 1024 * 1024,
[FileSuffixEnum.FLV]: 500 * 1024 * 1024,
[FileSuffixEnum.AVI]: 500 * 1024 * 1024,
[FileSuffixEnum.WAV]: 500 * 1024 * 1024,
[FileSuffixEnum.MP3]: 500 * 1024 * 1024,
[FileSuffixEnum.ZIP]: 500 * 1024 * 1024,
[FileSuffixEnum.RAR]: 500 * 1024 * 1024,
[FileSuffixEnum.HTML]: 500 * 1024 * 1024
}
],
[
"small",
{
[FileSuffixEnum.PNG]: 100 * 1024 * 1024,
[FileSuffixEnum.JPG]: 100 * 1024 * 1024,
[FileSuffixEnum.JPEG]: 100 * 1024 * 1024,
[FileSuffixEnum.GIF]: 100 * 1024 * 1024,
[FileSuffixEnum.WEBP]: 100 * 1024 * 1024,
[FileSuffixEnum.PPT]: 100 * 1024 * 1024,
[FileSuffixEnum.PPTX]: 100 * 1024 * 1024,
[FileSuffixEnum.DOC]: 100 * 1024 * 1024,
[FileSuffixEnum.DOCX]: 100 * 1024 * 1024,
[FileSuffixEnum.PDF]: 100 * 1024 * 1024,
[FileSuffixEnum.TXT]: 100 * 1024 * 1024,
[FileSuffixEnum.XLS]: 100 * 1024 * 1024,
[FileSuffixEnum.XLSX]: 100 * 1024 * 1024,
[FileSuffixEnum.MP4]: 100 * 1024 * 1024,
[FileSuffixEnum.MKV]: 100 * 1024 * 1024,
[FileSuffixEnum.FLV]: 100 * 1024 * 1024,
[FileSuffixEnum.AVI]: 100 * 1024 * 1024,
[FileSuffixEnum.WAV]: 100 * 1024 * 1024,
[FileSuffixEnum.MP3]: 100 * 1024 * 1024,
[FileSuffixEnum.ZIP]: 100 * 1024 * 1024,
[FileSuffixEnum.RAR]: 100 * 1024 * 1024,
[FileSuffixEnum.HTML]: 100 * 1024 * 1024
}
]
]);
var ListTypeEnum = /* @__PURE__ */ ((ListTypeEnum2) => {
ListTypeEnum2["FILE_LIST"] = "file-list";
ListTypeEnum2["IMAGE_GRID"] = "image-grid";
ListTypeEnum2["IMAGE_ONLY"] = "image-only";
return ListTypeEnum2;
})(ListTypeEnum || {});
const uploadProps = {
modelValue: {
type: Array,
default: () => []
},
limit: {
type: Number,
default: 9
},
multiple: {
type: Boolean,
default: true
},
suffixes: {
type: Array,
default: Object.values(FileSuffixEnum)
},
disabled: {
type: Boolean,
default: false
},
listType: {
type: String,
default: "file-list",
values: Object.values(ListTypeEnum)
},
showTrigger: {
type: Boolean,
default: true
},
showList: {
type: Boolean,
default: false
},
isFullScreeDrag: {
type: Boolean,
default: false
},
sizeType: {
type: String,
default: "normal",
values: fileSizeLimitConfigMap.keys()
},
autoCropper: {
type: Boolean,
default: true
},
copperOptions: {
type: Object,
default: () => ({})
}
};
let fileId = 1;
const genFileId = () => Date.now() + fileId++;
const uploadContextKey = Symbol("uploadContextKey");
function formatUploadFiles(data2) {
return data2.map((item) => {
let uploadFile = {};
if (isString$1(item)) {
uploadFile.url = item;
} else {
uploadFile = {
...item
};
}
if (!Reflect.has(uploadFile, "percentage")) {
uploadFile.percentage = 100;
uploadFile.status = "success";
}
if (!Reflect.has(uploadFile, "uid")) {
uploadFile.uid = genFileId();
}
if (!Reflect.has(uploadFile, "name")) {
uploadFile.name = getFileName(uploadFile.url);
}
return uploadFile;
});
}
const Y = {};
Y.getData = (t) => new Promise((e, i) => {
let s = {};
L(t).then((r) => {
s.arrayBuffer = r;
try {
s.orientation = N(r);
} catch {
s.orientation = -1;
}
e(s);
}).catch((r) => {
i(r);
});
});
function L(t) {
let e = null;
return new Promise((i, s) => {
if (t.src)
if (/^data\:/i.test(t.src))
e = k(t.src), i(e);
else if (/^blob\:/i.test(t.src)) {
var r = new FileReader();
r.onload = function(h2) {
e = h2.target.result, i(e);
}, E$2(t.src, function(h2) {
r.readAsArrayBuffer(h2);
});
} else {
var o = new XMLHttpRequest();
o.onload = function() {
if (this.status == 200 || this.status === 0)
e = o.response, i(e);
else
throw "Could not load image";
o = null;
}, o.open("GET", t.src, true), o.responseType = "arraybuffer", o.send(null);
}
else
s("img error");
});
}
function E$2(t, e) {
var i = new XMLHttpRequest();
i.open("GET", t, true), i.responseType = "blob", i.onload = function(s) {
(this.status == 200 || this.status === 0) && e(this.response);
}, i.send();
}
function k(t, e) {
e = e || t.match(/^data\:([^\;]+)\;base64,/mi)[1] || "", t = t.replace(/^data\:([^\;]+)\;base64,/gmi, "");
for (var i = atob(t), s = i.length % 2 == 0 ? i.length : i.length + 1, r = new ArrayBuffer(s), o = new Uint16Array(r), h2 = 0; h2 < s; h2++)
o[h2] = i.charCodeAt(h2);
return r;
}
function T(t, e, i) {
var s = "", r;
for (r = e, i += e; r < i; r++)
s += String.fromCharCode(t.getUint8(r));
return s;
}
function N(t) {
var e = new DataView(t), i = e.byteLength, s, r, o, h2, a, n, c, l, f, p;
if (e.getUint8(0) === 255 && e.getUint8(1) === 216)
for (f = 2; f < i; ) {
if (e.getUint8(f) === 255 && e.getUint8(f + 1) === 225) {
c = f;
break;
}
f++;
}
if (c && (r = c + 4, o = c + 10, T(e, r, 4) === "Exif" && (n = e.getUint16(o), a = n === 18761, (a || n === 19789) && e.getUint16(o + 2, a) === 42 && (h2 = e.getUint32(o + 4, a), h2 >= 8 && (l = o + h2)))), l) {
for (i = e.getUint16(l, a), p = 0; p < i; p++)
if (f = l + p * 12 + 2, e.getUint16(f, a) === 274) {
f += 8, s = e.getUint16(f, a);
break;
}
}
return s;
}
const $$3F = (t, e) => {
const i = t.__vccOpts || t;
for (const [s, r] of e)
i[s] = r;
return i;
}, z = defineComponent({
data: function() {
return {
// 容器高宽
w: 0,
h: 0,
// 图片缩放比例
scale: 1,
// 图片偏移x轴
x: 0,
// 图片偏移y轴
y: 0,
// 图片加载
loading: true,
// 图片真实宽度
trueWidth: 0,
// 图片真实高度
trueHeight: 0,
move: true,
// 移动的x
moveX: 0,
// 移动的y
moveY: 0,
// 开启截图
crop: false,
// 正在截图
cropping: false,
// 裁剪框大小
cropW: 0,
cropH: 0,
cropOldW: 0,
cropOldH: 0,
// 判断是否能够改变
canChangeX: false,
canChangeY: false,
// 改变的基准点
changeCropTypeX: 1,
changeCropTypeY: 1,
// 裁剪框的坐标轴
cropX: 0,
cropY: 0,
cropChangeX: 0,
cropChangeY: 0,
cropOffsertX: 0,
cropOffsertY: 0,
// 支持的滚动事件
support: "",
// 移动端手指缩放
touches: [],
touchNow: false,
// 图片旋转
rotate: 0,
isIos: false,
orientation: 0,
imgs: "",
// 图片缩放系数
coe: 0.2,
// 是否正在多次缩放
scaling: false,
scalingSet: "",
coeStatus: "",
// 控制emit触发频率
isCanShow: true,
// 图片是否等于截图大小
imgIsQqualCrop: false
};
},
props: {
img: {
type: [String, Blob, null, File],
default: ""
},
// 输出图片压缩比
outputSize: {
type: Number,
default: 1
},
outputType: {
type: String,
default: "jpeg"
},
info: {
type: Boolean,
default: true
},
// 是否开启滚轮放大缩小
canScale: {
type: Boolean,
default: true
},
// 是否自成截图框
autoCrop: {
type: Boolean,
default: false
},
autoCropWidth: {
type: [Number, String],
default: 0
},
autoCropHeight: {
type: [Number, String],
default: 0
},
// 是否开启固定宽高比
fixed: {
type: Boolean,
default: false
},
// 宽高比 w/h
fixedNumber: {
type: Array,
default: () => [1, 1]
},
// 固定大小 禁止改变截图框大小
fixedBox: {
type: Boolean,
default: false
},
// 输出截图是否缩放
full: {
type: Boolean,
default: false
},
// 是否可以拖动图片
canMove: {
type: Boolean,
default: true
},
// 是否可以拖动截图框
canMoveBox: {
type: Boolean,
default: true
},
// 上传图片按照原始比例显示
original: {
type: Boolean,
default: false
},
// 截图框能否超过图片
centerBox: {
type: Boolean,
default: false
},
// 是否根据dpr输出高清图片
high: {
type: Boolean,
default: true
},
// 截图框展示宽高类型
infoTrue: {
type: Boolean,
default: false
},
// 可以压缩图片宽高 默认不超过200
maxImgSize: {
type: [Number, String],
default: 2e3
},
// 倍数 可渲染当前截图框的n倍 0 - 1000;
enlarge: {
type: [Number, String],
default: 1
},
// 自动预览的固定宽度
preW: {
type: [Number, String],
default: 0
},
/*
图片布局方式 mode 实现和css背景一样的效果
contain 居中布局 默认不会缩放 保证图片在容器里面 mode: 'contain'
cover 拉伸布局 填充整个容器 mode: 'cover'
如果仅有一个数值被给定,这个数值将作为宽度值大小,高度值将被设定为auto。 mode: '50px'
如果有两个数值被给定,第一个将作为宽度值大小,第二个作为高度值大小。 mode: '50px 60px'
*/
mode: {
type: String,
default: "contain"
},
//限制最小区域,可传1以上的数字和字符串,限制长宽都是这么大
// 也可以传数组[90,90]
limitMinSize: {
type: [Number, Array, String],
default: () => 10,
validator: function(t) {
return Array.isArray(t) ? Number(t[0]) >= 0 && Number(t[1]) >= 0 : Number(t) >= 0;
}
},
// 导出时,填充背景颜色
fillColor: {
type: String,
default: ""
}
},
computed: {
cropInfo() {
let t = {};
if (t.top = this.cropOffsertY > 21 ? "-21px" : "0px", t.width = this.cropW > 0 ? this.cropW : 0, t.height = this.cropH > 0 ? this.cropH : 0, this.infoTrue) {
let e = 1;
this.high && !this.full && (e = window.devicePixelRatio), this.enlarge !== 1 & !this.full && (e = Math.abs(Number(this.enlarge))), t.width = t.width * e, t.height = t.height * e, this.full && (t.width = t.width / this.scale, t.height = t.height / this.scale);
}
return t.width = t.width.toFixed(0), t.height = t.height.toFixed(0), t;
},
isIE() {
return !!window.ActiveXObject || "ActiveXObject" in window;
},
passive() {
return this.isIE ? null : {
passive: false
};
},
// 是否处于左右旋转
isRotateRightOrLeft() {
return [1, -1, 3, -3].includes(this.rotate);
}
},
watch: {
// 如果图片改变, 重新布局
img() {
this.checkedImg();
},
imgs(t) {
t !== "" && this.reload();
},
cropW() {
this.showPreview();
},
cropH() {
this.showPreview();
},
cropOffsertX() {
this.showPreview();
},
cropOffsertY() {
this.showPreview();
},
scale(t, e) {
this.showPreview();
},
x() {
this.showPreview();
},
y() {
this.showPreview();
},
autoCrop(t) {
t && this.goAutoCrop();
},
// 修改了自动截图框
autoCropWidth() {
this.autoCrop && this.goAutoCrop();
},
autoCropHeight() {
this.autoCrop && this.goAutoCrop();
},
mode() {
this.checkedImg();
},
rotate() {
this.showPreview(), this.autoCrop ? this.goAutoCrop(this.cropW, this.cropH) : (this.cropW > 0 || this.cropH > 0) && this.goAutoCrop(this.cropW, this.cropH);
}
},
methods: {
getVersion(t) {
var e = navigator.userAgent.split(" "), i = "";
let s = 0;
const r = new RegExp(t, "i");
for (var o = 0; o < e.length; o++)
r.test(e[o]) && (i = e[o]);
return i ? s = i.split("/")[1].split(".") : s = ["0", "0", "0"], s;
},
checkOrientationImage(t, e, i, s) {
if (this.getVersion("chrome")[0] >= 81)
e = -1;
else if (this.getVersion("safari")[0] >= 605) {
const h2 = this.getVersion("version");
h2[0] > 13 && h2[1] > 1 && (e = -1);
} else {
const h2 = navigator.userAgent.toLowerCase().match(/cpu iphone os (.*?) like mac os/);
if (h2) {
let a = h2[1];
a = a.split("_"), (a[0] > 13 || a[0] >= 13 && a[1] >= 4) && (e = -1);
}
}
let r = document.createElement("canvas"), o = r.getContext("2d");
switch (o.save(), e) {
case 2:
r.width = i, r.height = s, o.translate(i, 0), o.scale(-1, 1);
break;
case 3:
r.width = i, r.height = s, o.translate(i / 2, s / 2), o.rotate(180 * Math.PI / 180), o.translate(-i / 2, -s / 2);
break;
case 4:
r.width = i, r.height = s, o.translate(0, s), o.scale(1, -1);
break;
case 5:
r.height = i, r.width = s, o.rotate(0.5 * Math.PI), o.scale(1, -1);
break;
case 6:
r.width = s, r.height = i, o.translate(s / 2, i / 2), o.rotate(90 * Math.PI / 180), o.translate(-i / 2, -s / 2);
break;
case 7:
r.height = i, r.width = s, o.rotate(0.5 * Math.PI), o.translate(i, -s), o.scale(-1, 1);
break;
case 8:
r.height = i, r.width = s, o.translate(s / 2, i / 2), o.rotate(-90 * Math.PI / 180), o.translate(-i / 2, -s / 2);
break;
default:
r.width = i, r.height = s;
}
o.drawImage(t, 0, 0, i, s), o.restore(), r.toBlob(
(h2) => {
let a = URL.createObjectURL(h2);
URL.revokeObjectURL(this.imgs), this.imgs = a;
},
"image/" + this.outputType,
1
);
},
// checkout img
checkedImg() {
if (this.img === null || this.img === "") {
this.imgs = "", this.clearCrop();
return;
}
this.loading = true, this.scale = 1, this.rotate = 0, this.imgIsQqualCrop = false, this.clearCrop();
let t = new Image();
if (t.onload = () => {
if (this.img === "")
return this.$emit("img-load", new Error("图片不能为空")), false;
let i = t.width, s = t.height;
Y.getData(t).then((r) => {
this.orientation = r.orientation || 1;
let o = Number(this.maxImgSize);
if (!this.orientation && i < o & s < o) {
this.imgs = this.img;
return;
}
i > o && (s = s / i * o, i = o), s > o && (i = i / s * o, s = o), this.checkOrientationImage(t, this.orientation, i, s);
}).catch((r) => {
this.$emit("img-load", "error"), this.$emit("img-load-error", r);
});
}, t.onerror = (i) => {
this.$emit("img-load", "error"), this.$emit("img-load-error", i);
}, this.img.substr(0, 4) !== "data" && (t.crossOrigin = ""), this.isIE) {
var e = new XMLHttpRequest();
e.onload = function() {
var i = URL.createObjectURL(this.response);
t.src = i;
}, e.open("GET", this.img, true), e.responseType = "blob", e.send();
} else
t.src = this.img;
},
// 当按下鼠标键
startMove(t) {
if (t.preventDefault(), this.move && !this.crop) {
if (!this.canMove)
return false;
this.moveX = ("clientX" in t ? t.clientX : t.touches[0].clientX) - this.x, this.moveY = ("clientY" in t ? t.clientY : t.touches[0].clientY) - this.y, t.touches ? (window.addEventListener("touchmove", this.moveImg), window.addEventListener("touchend", this.leaveImg), t.touches.length == 2 && (this.touches = t.touches, window.addEventListener("touchmove", this.touchScale), window.addEventListener("touchend", this.cancelTouchScale))) : (window.addEventListener("mousemove", this.moveImg), window.addEventListener("mouseup", this.leaveImg)), this.$emit("img-moving", {
moving: true,
axis: this.getImgAxis()
});
} else
this.cropping = true, window.addEventListener("mousemove", this.createCrop), window.addEventListener("mouseup", this.endCrop), window.addEventListener("touchmove", this.createCrop), window.addEventListener("touchend", this.endCrop), this.cropOffsertX = t.offsetX ? t.offsetX : t.touches[0].pageX - this.$refs.cropper.offsetLeft, this.cropOffsertY = t.offsetY ? t.offsetY : t.touches[0].pageY - this.$refs.cropper.offsetTop, this.cropX = "clientX" in t ? t.clientX : t.touches[0].clientX, this.cropY = "clientY" in t ? t.clientY : t.touches[0].clientY, this.cropChangeX = this.cropOffsertX, this.cropChangeY = this.cropOffsertY, this.cropW = 0, this.cropH = 0;
},
// 移动端缩放
touchScale(t) {
t.preventDefault();
let e = this.scale;
var i = {
x: this.touches[0].clientX,
y: this.touches[0].clientY
}, s = {
x: t.touches[0].clientX,
y: t.touches[0].clientY
}, r = {
x: this.touches[1].clientX,
y: this.touches[1].clientY
}, o = {
x: t.touches[1].clientX,
y: t.touches[1].clientY
}, h2 = Math.sqrt(
Math.pow(i.x - r.x, 2) + Math.pow(i.y - r.y, 2)
), a = Math.sqrt(
Math.pow(s.x - o.x, 2) + Math.pow(s.y - o.y, 2)
), n = a - h2, c = 1;
c = c / this.trueWidth > c / this.trueHeight ? c / this.trueHeight : c / this.trueWidth, c = c > 0.1 ? 0.1 : c;
var l = c * n;
if (!this.touchNow) {
if (this.touchNow = true, n > 0 ? e += Math.abs(l) : n < 0 && e > Math.abs(l) && (e -= Math.abs(l)), this.touches = t.touches, setTimeout(() => {
this.touchNow = false;
}, 8), !this.checkoutImgAxis(this.x, this.y, e))
return false;
this.scale = e;
}
},
cancelTouchScale(t) {
window.removeEventListener("touchmove", this.touchScale);
},
// 移动图片
moveImg(t) {
if (t.preventDefault(), t.touches && t.touches.length === 2)
return this.touches = t.touches, window.addEventListener("touchmove", this.touchScale), window.addEventListener("touchend", this.cancelTouchScale), window.removeEventListener("touchmove", this.moveImg), false;
let e = "clientX" in t ? t.clientX : t.touches[0].clientX, i = "clientY" in t ? t.clientY : t.touches[0].clientY, s, r;
s = e - this.moveX, r = i - this.moveY, this.$nextTick(() => {
if (this.centerBox) {
let o = this.getImgAxis(s, r, this.scale), h2 = this.getCropAxis(), a = this.trueHeight * this.scale, n = this.trueWidth * this.scale, c, l, f, p;
switch (this.rotate) {
case 1:
case -1:
case 3:
case -3:
c = this.cropOffsertX - this.trueWidth * (1 - this.scale) / 2 + (a - n) / 2, l = this.cropOffsertY - this.trueHeight * (1 - this.scale) / 2 + (n - a) / 2, f = c - a + this.cropW, p = l - n + this.cropH;
break;
default:
c = this.cropOffsertX - this.trueWidth * (1 - this.scale) / 2, l = this.cropOffsertY - this.trueHeight * (1 - this.scale) / 2, f = c - n + this.cropW, p = l - a + this.cropH;
break;
}
o.x1 >= h2.x1 && (s = c), o.y1 >= h2.y1 && (r = l), o.x2 <= h2.x2 && (s = f), o.y2 <= h2.y2 && (r = p);
}
this.x = s, this.y = r, this.$emit("img-moving", {
moving: true,
axis: this.getImgAxis()
});
});
},
// 移动图片结束
leaveImg(t) {
window.removeEventListener("mousemove", this.moveImg), window.removeEventListener("touchmove", this.moveImg), window.removeEventListener("mouseup", this.leaveImg), window.removeEventListener("touchend", this.leaveImg), this.$emit("img-moving", {
moving: false,
axis: this.getImgAxis()
});
},
// 缩放图片
scaleImg() {
this.canScale && window.addEventListener(this.support, this.changeSize, this.passive);
},
// 移出框
cancelScale() {
this.canScale && window.removeEventListener(this.support, this.changeSize);
},
// 改变大小函数
changeSize(t) {
t.preventDefault();
let e = this.scale;
var i = t.deltaY || t.wheelDelta, s = navigator.userAgent.indexOf("Firefox");
i = s > 0 ? i * 30 : i, this.isIE && (i = -i);
var r = this.coe;
r = r / this.trueWidth > r / this.trueHeight ? r / this.trueHeight : r / this.trueWidth;
var o = r * i;
o < 0 ? e += Math.abs(o) : e > Math.abs(o) && (e -= Math.abs(o));
let h2 = o < 0 ? "add" : "reduce";
if (h2 !== this.coeStatus && (this.coeStatus = h2, this.coe = 0.2), this.scaling || (this.scalingSet = setTimeout(() => {
this.scaling = false, this.coe = this.coe += 0.01;
}, 50)), this.scaling = true, !this.checkoutImgAxis(this.x, this.y, e))
return false;
this.scale = e;
},
// 修改图片大小函数
changeScale(t) {
let e = this.scale;
t = t || 1;
var i = 20;
if (i = i / this.trueWidth > i / this.trueHeight ? i / this.trueHeight : i / this.trueWidth, t = t * i, t > 0 ? e += Math.abs(t) : e > Math.abs(t) && (e -= Math.abs(t)), !this.checkoutImgAxis(this.x, this.y, e))
return false;
this.scale = e;
},
// 创建截图框
createCrop(t) {
t.preventDefault();
var e = "clientX" in t ? t.clientX : t.touches ? t.touches[0].clientX : 0, i = "clientY" in t ? t.clientY : t.touches ? t.touches[0].clientY : 0;
this.$nextTick(() => {
var s = e - this.cropX, r = i - this.cropY;
if (s > 0 ? (this.cropW = s + this.cropChangeX > this.w ? this.w - this.cropChangeX : s, this.cropOffsertX = this.cropChangeX) : (this.cropW = this.w - this.cropChangeX + Math.abs(s) > this.w ? this.cropChangeX : Math.abs(s), this.cropOffsertX = this.cropChangeX + s > 0 ? this.cropChangeX + s : 0), !this.fixed)
r > 0 ? (this.cropH = r + this.cropChangeY > this.h ? this.h - this.cropChangeY : r, this.cropOffsertY = this.cropChangeY) : (this.cropH = this.h - this.cropChangeY + Math.abs(r) > this.h ? this.cropChangeY : Math.abs(r), this.cropOffsertY = this.cropChangeY + r > 0 ? this.cropChangeY + r : 0);
else {
var o = this.cropW / this.fixedNumber[0] * this.fixedNumber[1];
o + this.cropOffsertY > this.h ? (this.cropH = this.h - this.cropOffsertY, this.cropW = this.cropH / this.fixedNumber[1] * this.fixedNumber[0], s > 0 ? this.cropOffsertX = this.cropChangeX : this.cropOffsertX = this.cropChangeX - this.cropW) : this.cropH = o, this.cropOffsertY = this.cropOffsertY;
}
});
},
// 改变截图框大小
changeCropSize(t, e, i, s, r) {
t.preventDefault(), window.addEventListener("mousemove", this.changeCropNow), window.addEventListener("mouseup", this.changeCropEnd), window.addEventListener("touchmove", this.changeCropNow), window.addEventListener("touchend", this.changeCropEnd), this.canChangeX = e, this.canChangeY = i, this.changeCropTypeX = s, this.changeCropTypeY = r, this.cropX = "clientX" in t ? t.clientX : t.touches[0].clientX, this.cropY = "clientY" in t ? t.clientY : t.touches[0].clientY, this.cropOldW = this.cropW, this.cropOldH = this.cropH, this.cropChangeX = this.cropOffsertX, this.cropChangeY = this.cropOffsertY, this.fixed && this.canChangeX && this.canChangeY && (this.canChangeY = 0), this.$emit("change-crop-size", {
width: this.cropW,
height: this.cropH
});
},
// 正在改变
changeCropNow(t) {
t.preventDefault();
var e = "clientX" in t ? t.clientX : t.touches ? t.touches[0].clientX : 0, i = "clientY" in t ? t.clientY : t.touches ? t.touches[0].clientY : 0;
let s = this.w, r = this.h, o = 0, h2 = 0;
if (this.centerBox) {
let c = this.getImgAxis(), l = c.x2, f = c.y2;
o = c.x1 > 0 ? c.x1 : 0, h2 = c.y1 > 0 ? c.y1 : 0, s > l && (s = l), r > f && (r = f);
}
const [a, n] = this.checkCropLimitSize();
this.$nextTick(() => {
var c = e - this.cropX, l = i - this.cropY;
if (this.canChangeX && (this.changeCropTypeX === 1 ? this.cropOldW - c < a ? (this.cropW = a, this.cropOffsertX = this.cropOldW + this.cropChangeX - o - a) : this.cropOldW - c > 0 ? (this.cropW = s - this.cropChangeX - c <= s - o ? this.cropOldW - c : this.cropOldW + this.cropChangeX - o, this.cropOffsertX = s - this.cropChangeX - c <= s - o ? this.cropChangeX + c : o) : (this.cropW = Math.abs(c) + this.cropChangeX <= s ? Math.abs(c) - this.cropOldW : s - this.cropOldW - this.cropChangeX, this.cropOffsertX = this.cropChangeX + this.cropOldW) : this.changeCropTypeX === 2 && (this.cropOldW + c < a ? this.cropW = a : this.cropOldW + c > 0 ? (this.cropW = this.cropOldW + c + this.cropOffsertX <= s ? this.cropOldW + c : s - this.cropOffsertX, this.cropOffsertX = this.cropChangeX) : (this.cropW = s - this.cropChangeX + Math.abs(c + this.cropOldW) <= s - o ? Math.abs(c + this.cropOldW) : this.cropChangeX - o, this.cropOffsertX = s - this.cropChangeX + Math.abs(c + this.cropOldW) <= s - o ? this.cropChangeX - Math.abs(c + this.cropOldW) : o))), this.canChangeY && (this.changeCropTypeY === 1 ? this.cropOldH - l < n ? (this.cropH = n, this.cropOffsertY = this.cropOldH + this.cropChangeY - h2 - n) : this.cropOldH - l > 0 ? (this.cropH = r - this.cropChangeY - l <= r - h2 ? this.cropOldH - l : this.cropOldH + this.cropChangeY - h2, this.cropOffsertY = r - this.cropChangeY - l <= r - h2 ? this.cropChangeY + l : h2) : (this.cropH = Math.abs(l) + this.cropChangeY <= r ? Math.abs(l) - this.cropOldH : r - this.cropOldH - this.cropChangeY, this.cropOffsertY = this.cropChangeY + this.cropOldH) : this.changeCropTypeY === 2 && (this.cropOldH + l < n ? this.cropH = n : this.cropOldH + l > 0 ? (this.cropH = this.cropOldH + l + this.cropOffsertY <= r ? this.cropOldH + l : r - this.cropOffsertY, this.cropOffsertY = this.cropChangeY) : (this.cropH = r - this.cropChangeY + Math.abs(l + this.cropOldH) <= r - h2 ? Math.abs(l + this.cropOldH) : this.cropChangeY - h2, this.cropOffsertY = r - this.cropChangeY + Math.abs(l + this.cropOldH) <= r - h2 ? this.cropChangeY - Math.abs(l + this.cropOldH) : h2))), this.canChangeX && this.fixed) {
var f = this.cropW / this.fixedNumber[0] * this.fixedNumber[1];
f < n ? (this.cropH = n, this.cropW = this.fixedNumber[0] * n / this.fixedNumber[1], this.changeCropTypeX === 1 && (this.cropOffsertX = this.cropChangeX + (this.cropOldW - this.cropW))) : f + this.cropOffsertY > r ? (this.cropH = r - this.cropOffsertY, this.cropW = this.cropH / this.fixedNumber[1] * this.fixedNumber[0], this.changeCropTypeX === 1 && (this.cropOffsertX = this.cropChangeX + (this.cropOldW - this.cropW))) : this.cropH = f;
}
if (this.canChangeY && this.fixed) {
var p = this.cropH / this.fixedNumber[1] * this.fixedNumber[0];
p < a ? (this.cropW = a, this.cropH = this.fixedNumber[1] * a / this.fixedNumber[0], this.cropOffsertY = this.cropOldH + this.cropChangeY - this.cropH) : p + this.cropOffsertX > s ? (this.cropW = s - this.cropOffsertX, this.cropH = this.cropW / this.fixedNumber[0] * this.fixedNumber[1]) : this.cropW = p;
}
});
},
checkCropLimitSize() {
let { cropW: t, cropH: e, limitMinSize: i } = this, s = new Array();
return Array.isArray(i) ? s = i : s = [i, i], t = parseFloat(s[0]), e = parseFloat(s[1]), [t, e];
},
// 结束改变
changeCropEnd(t) {
window.removeEventListener("mousemove", this.changeCropNow), window.removeEventListener("mouseup", this.changeCropEnd), window.removeEventListener("touchmove", this.changeCropNow), window.removeEventListener("touchend", this.changeCropEnd);
},
// 根据比例x/y,最小宽度,最小高度,现有宽度,现有高度,得到应该有的宽度和高度
calculateSize(t, e, i, s, r, o) {
const h2 = t / e;
let a = r, n = o;
return a < i && (a = i, n = Math.ceil(a / h2)), n < s && (n = s, a = Math.ceil(n * h2), a < i && (a = i, n = Math.ceil(a / h2))), a < r && (a = r, n = Math.ceil(a / h2)), n < o && (n = o, a = Math.ceil(n * h2)), { width: a, height: n };
},
// 创建完成
endCrop() {
this.cropW === 0 && this.cropH === 0 && (this.cropping = false);
let [t, e] = this.checkCropLimitSize();
const { width: i, height: s } = this.fixed ? this.calculateSize(
this.fixedNumber[0],
this.fixedNumber[1],
t,
e,
this.cropW,
this.cropH
) : { width: t, height: e };
i > this.cropW && (this.cropW = i, this.cropOffsertX + i > this.w && (this.cropOffsertX = this.w - i)), s > this.cropH && (this.cropH = s, this.cropOffsertY + s > this.h && (this.cropOffsertY = this.h - s)), window.removeEventListener("mousemove", this.createCrop), window.removeEventListener("mouseup", this.endCrop), window.removeEventListener("touchmove", this.createCrop), window.removeEventListener("touchend", this.endCrop);
},
// 开始截图
startCrop() {
this.crop = true;
},
// 停止截图
stopCrop() {
this.crop = false;
},
// 清除截图
clearCrop() {
this.cropping = false, this.cropW = 0, this.cropH = 0;
},
// 截图移动
cropMove(t) {
if (t.preventDefault(), !this.canMoveBox)
return this.crop = false, this.startMove(t), false;
if (t.touches && t.touches.length === 2)
return this.crop = false, this.startMove(t), this.leaveCrop(), false;
window.addEventListener("mousemove", this.moveCrop), window.addEventListener("mouseup", this.leaveCrop), window.addEventListener("touchmove", this.moveCrop), window.addEventListener("touchend", this.leaveCrop);
let e = "clientX" in t ? t.clientX : t.touches[0].clientX, i = "clientY" in t ? t.clientY : t.touches[0].clientY, s, r;
s = e - this.cropOffsertX, r = i - this.cropOffsertY, this.cropX = s, this.cropY = r, this.$emit("crop-moving", {
moving: true,
axis: this.getCropAxis()
});
},
moveCrop(t, e) {
let i = 0, s = 0;
t && (t.preventDefault(), i = "clientX" in t ? t.clientX : t.touches[0].clientX, s = "clientY" in t ? t.clientY : t.touches[0].clientY), this.$nextTick(() => {
let r, o, h2 = i - this.cropX, a = s - this.cropY;
if (e && (h2 = this.cropOffsertX, a = this.cropOffsertY), h2 <= 0 ? r = 0 : h2 + this.cropW > this.w ? r = this.w - this.cropW : r = h2, a <= 0 ? o = 0 : a + this.cropH > this.h ? o = this.h - this.cropH : o = a, this.centerBox) {
let n = this.getImgAxis();
r <= n.x1 && (r = n.x1), r + this.cropW > n.x2 && (r = n.x2 - this.cropW), o <= n.y1 && (o = n.y1), o + this.cropH > n.y2 && (o = n.y2 - this.cropH);
}
this.cropOffsertX = r, this.cropOffsertY = o, this.$emit("crop-moving", {
moving: true,
axis: this.getCropAxis()
});
});
},
// 算出不同场景下面 图片相对于外层容器的坐标轴
getImgAxis(t, e, i) {
t = t || this.x, e = e || this.y, i = i || this.scale;
let s = {
x1: 0,
x2: 0,
y1: 0,
y2: 0
}, r = this.trueWidth * i, o = this.trueHeight * i;
switch (this.rotate) {
case 0:
s.x1 = t + this.trueWidth * (1 - i) / 2, s.x2 = s.x1 + this.trueWidth * i, s.y1 = e + this.trueHeight * (1 - i) / 2, s.y2 = s.y1 + this.trueHeight * i;
break;
case 1:
case -1:
case 3:
case -3:
s.x1 = t + this.trueWidth * (1 - i) / 2 + (r - o) / 2, s.x2 = s.x1 + this.trueHeight * i, s.y1 = e + this.trueHeight * (1 - i) / 2 + (o - r) / 2, s.y2 = s.y1 + this.trueWidth * i;
break;
default:
s.x1 = t + this.trueWidth * (1 - i) / 2, s.x2 = s.x1 + this.trueWidth * i, s.y1 = e + this.trueHeight * (1 - i) / 2, s.y2 = s.y1 + this.trueHeight * i;
break;
}
return s;
},
// 获取截图框的坐标轴
getCropAxis() {
let t = {
x1: 0,
x2: 0,
y1: 0,
y2: 0
};
return t.x1 = this.cropOffsertX, t.x2 = t.x1 + this.cropW, t.y1 = this.cropOffsertY, t.y2 = t.y1 + this.cropH, t;
},
leaveCrop(t) {
window.removeEventListener("mousemove", this.moveCrop), window.removeEventListener("mouseup", this.leaveCrop), window.removeEventListener("touchmove", this.moveCrop), window.removeEventListener("touchend", this.leaveCrop), this.$emit("crop-moving", {
moving: false,
axis: this.getCropAxis()
});
},
getCropChecked(t) {
let e = document.createElement("canvas"), i = e.getContext("2d"), s = new Image(), r = this.rotate, o = this.trueWidth, h2 = this.trueHeight, a = this.cropOffsertX, n = this.cropOffsertY;
s.onload = () => {
if (this.cropW !== 0) {
let p = 1;
this.high & !this.full && (p = window.devicePixelRatio), this.enlarge !== 1 & !this.full && (p = Math.abs(Number(this.enlarge)));
let d = this.cropW * p, C = this.cropH * p, u = o * this.scale * p, g = h2 * this.scale * p, m = (this.x - a + this.trueWidth * (1 - this.scale) / 2) * p, v = (this.y - n + this.trueHeight * (1 - this.scale) / 2) * p;
switch (f(d, C), i.save(), r) {
case 0:
this.full ? (f(d / this.scale, C / this.scale), i.drawImage(
s,
m / this.scale,
v / this.scale,
u / this.scale,
g / this.scale
)) : i.drawImage(s, m, v, u, g);
break;
case 1:
case -3:
this.full ? (f(d / this.scale, C / this.scale), m = m / this.scale + (u / this.scale - g / this.scale) / 2, v = v / this.scale + (g / this.scale - u / this.scale) / 2, i.rotate(r * 90 * Math.PI / 180), i.drawImage(
s,
v,
-m - g / this.scale,
u / this.scale,
g / this.scale
)) : (m = m + (u - g) / 2, v = v + (g - u) / 2, i.rotate(r * 90 * Math.PI / 180), i.drawImage(s, v, -m - g, u, g));
break;
case 2:
case -2:
this.full ? (f(d / this.scale, C / this.scale), i.rotate(r * 90 * Math.PI / 180), m = m / this.scale, v = v / this.scale, i.drawImage(
s,
-m - u / this.scale,
-v - g / this.scale,
u / this.scale,
g / this.scale
)) : (i.rotate(r * 90 * Math.PI / 180), i.drawImage(s, -m - u, -v - g, u, g));
break;
case 3:
case -1:
this.full ? (f(d / this.scale, C / this.scale), m = m / this.scale + (u / this.scale - g / this.scale) / 2, v = v / this.scale + (g / this.scale - u / this.scale) / 2, i.rotate(r * 90 * Math.PI / 180), i.drawImage(
s,
-v - u / this.scale,
m,
u / this.scale,
g / this.scale
)) : (m = m + (u - g) / 2, v = v + (g - u) / 2, i.rotate(r * 90 * Math.PI / 180), i.drawImage(s, -v - u, m, u, g));
break;
default:
this.full ? (f(d / this.scale, C / this.scale), i.drawImage(
s,
m / this.scale,
v / this.scale,
u / this.scale,
g / this.scale
)) : i.drawImage(s, m, v, u, g);
}
i.restore();
} else {
let p = o * this.scale, d = h2 * this.scale;
switch (i.save(), r) {
case 0:
f(p, d), i.drawImage(s, 0, 0, p, d);
break;
case 1:
case -3:
f(d, p), i.rotate(r * 90 * Math.PI / 180), i.drawImage(s, 0, -d, p, d);
break;
case 2:
case -2:
f(p, d), i.rotate(r * 90 * Math.PI / 180), i.drawImage(s, -p, -d, p, d);
break;
case 3:
case -1:
f(d, p), i.rotate(r * 90 * Math.PI / 180), i.drawImage(s, -p, 0, p, d);
break;
default:
f(p, d), i.drawImage(s, 0, 0, p, d);
}
i.restore();
}
t(e);
};
var c = this.img.substr(0, 4);
c !== "data" && (s.crossOrigin = "Anonymous"), s.src = this.imgs;
const l = this.fillColor;
function f(p, d) {
e.width = Math.round(p), e.height = Math.round(d), l && (i.fillStyle = l, i.fillRect(0, 0, e.width, e.height));
}
},
// 获取转换成base64 的图片信息
getCropData(t) {
this.getCropChecked((e) => {
t(e.toDataURL("image/" + this.outputType, this.outputSize));
});
},
//canvas获取为blob对象
getCropBlob(t) {
this.getCropChecked((e) => {
e.toBlob(
(i) => t(i),
"image/" + this.outputType,
this.outputSize
);
});
},
// 自动预览函数
showPreview() {
if (this.isCanShow)
this.isCanShow = false, setTimeout(() => {
this.isCanShow = true;
}, 16);
else
return false;
let t = this.cropW, e = this.cropH, i = this.scale;
var s = {};
s.div = {
width: `${t}px`,
height: `${e}px`
};
let r = (this.x - this.cropOffsertX) / i, o = (this.y - this.cropOffsertY) / i, h2 = 0;
s.w = t, s.h = e, s.url = this.imgs, s.img = {
width: `${this.trueWidth}px`,
height: `${this.trueHeight}px`,
transform: `scale(${i})translate3d(${r}px, ${o}px, ${h2}px)rotateZ(${this.rotate * 90}deg)`
}, s.html = `
<div class="show-preview" style="width: ${s.w}px; height: ${s.h}px,; overflow: hidden">
<div style="width: ${t}px; height: ${e}px">
<img src=${s.url} style="width: ${this.trueWidth}px; height: ${this.trueHeight}px; transform:
scale(${i})translate3d(${r}px, ${o}px, ${h2}px)rotateZ(${this.rotate * 90}deg)">
</div>
</div>`, this.$emit("real-time", s);
},
// reload 图片布局函数
reload() {
let t = new Image();
t.onload = () => {
this.w = parseFloat(window.getComputedStyle(this.$refs.cropper).width), this.h = parseFloat(window.getComputedStyle(this.$refs.cropper).height), this.trueWidth = t.width, this.trueHeight = t.height, this.original ? this.scale = 1 : this.scale = this.checkedMode(), this.$nextTick(() => {
this.x = -(this.trueWidth - this.trueWidth * this.scale) / 2 + (this.w - this.trueWidth * this.scale) / 2, this.y = -(this.trueHeight - this.trueHeight * this.scale) / 2 + (this.h - this.trueHeight * this.scale) / 2, this.loading = false, this.autoCrop && this.goAutoCrop(), this.$emit("img-load", "success"), setTimeout(() => {
this.showPreview();
}, 20);
});
}, t.onerror = () => {
this.$emit("img-load", "error");
}, t.src = this.imgs;
},
// 背景布局的函数
checkedMode() {
let t = 1, e = this.trueWidth, i = this.trueHeight;
const s = this.mode.split(" ");
switch (s[0]) {
case "contain":
this.trueWidth > this.w && (t = this.w / this.trueWidth), this.trueHeight * t > this.h && (t = this.h / this.trueHeight);
break;
case "cover":
e = this.w, t = e / this.trueWidth, i = i * t, i < this.h && (i = this.h, t = i / this.trueHeight);
break;
default:
try {
let r = s[0];
if (r.search("px") !== -1) {
r = r.replace("px", ""), e = parseFloat(r);
const o = e / this.trueWidth;
let h2 = 1, a = s[1];
a.search("px") !== -1 && (a = a.replace("px", ""), i = parseFloat(a), h2 = i / this.trueHeight), t = Math.min(o, h2);
}
if (r.search("%") !== -1 && (r = r.replace("%", ""), e = parseFloat(r) / 100 * this.w, t = e / this.trueWidth), s.length === 2 && r === "auto") {
let o = s[1];
o.search("px") !== -1 && (o = o.replace("px", ""), i = parseFloat(o), t = i / this.trueHeight), o.search("%") !== -1 && (o = o.replace("%", ""), i = parseFloat(o) / 100 * this.h, t = i / this.trueHeight);
}
} catch {
t = 1;
}
}
return t;
},
// 自动截图函数
goAutoCrop(t, e) {
if (this.imgs === "" || this.imgs === null)
return;
this.clearCrop(), this.cropping = true;
let i = this.w, s = this.h;
if (this.centerBox) {
const h2 = Math.abs(this.rotate) % 2 > 0;
let a = (h2 ? this.trueHeight : this.trueWidth) * this.scale, n = (h2 ? this.trueWidth : this.trueHeight) * this.scale;
i = a < i ? a : i, s = n < s ? n : s;
}
var r = t || parseFloat(this.autoCropWidth), o = e || parseFloat(this.autoCropHeight);
(r === 0 || o === 0) && (r = i * 0.8, o = s * 0.8), r = r > i ? i : r, o = o > s ? s : o, this.fixed && (o = r / this.fixedNumber[0] * this.fixedNumber[1]), o > this.h && (o = this.h, r = o / this.fixedNumber[1] * this.fixedNumber[0]), this.changeCrop(r, o);
},
// 手动改变截图框大小函数
changeCrop(t, e) {
if (this.centerBox) {
let i = this.getImgAxis();
t > i.x2 - i.x1 && (t = i.x2 - i.x1, e = t / this.fixedNumber[0] * this.fixedNumber[1]), e > i.y2 - i.y1 && (e = i.y2 - i.y1, t = e / this.fixedNumber[1] * this.fixedNumber[0]);
}
this.cropW = t, this.cropH = e, this.checkCropLimitSize(), this.$nextTick(() => {
this.cropOffsertX = (this.w - this.cropW) / 2, this.cropOffsertY = (this.h - this.cropH) / 2, this.centerBox && this.moveCrop(null, true);
});
},
// 重置函数, 恢复组件置初始状态
refresh() {
this.img, this.imgs = "", this.scale = 1, this.crop = false, this.rotate = 0, this.w = 0, this.h = 0, this.trueWidth = 0, this.trueHeight = 0, this.imgIsQqualCrop = false, this.clearCrop(), this.$nextTick(() => {
this.checkedImg();
});
},
// 向左边旋转
rotateLeft() {
this.rotate = this.rotate <= -3 ? 0 : this.rotate - 1;
},
// 向右边旋转
rotateRight() {
this.rotate = this.rotate >= 3 ? 0 : this.rotate + 1;
},
// 清除旋转
rotateClear() {
this.rotate = 0;
},
// 图片坐标点校验
checkoutImgAxis(t, e, i) {
t = t || this.x, e = e || this.y, i = i || this.scale;
let s = true;
if (this.centerBox) {
let r = this.getImgAxis(t, e, i), o = this.getCropAxis();
r.x1 >= o.x1 && (s = false), r.x2 <= o.x2 && (s = false), r.y1 >= o.y1 && (s = false), r.y2 <= o.y2 && (s = false), s || this.changeImgScale(r, o, i);
}
return s;
},
// 缩放图片,将图片坐标适配截图框坐标
changeImgScale(t, e, i) {
let s = this.trueWidth, r = this.trueHeight, o = s * i, h2 = r * i;
if (o >= this.cropW && h2 >= this.cropH)
this.scale = i;
else {
const a = this.cropW / s, n = this.cropH / r, c = this.cropH <= r * a ? a : n;
this.scale = c, o = s * c, h2 = r * c;
}
this.imgIsQqualCrop || (t.x1 >= e.x1 && (this.isRotateRightOrLeft ? this.x = e.x1 - (s - o) / 2 - (o - h2) / 2 : this.x = e.x1 - (s - o) / 2), t.x2 <= e.x2 && (this.isRotateRightOrLeft ? this.x = e.x1 - (s - o) / 2 - (o - h2) / 2 - h2 + this.cropW : this.x = e.x2 - (s - o) / 2 - o), t.y1 >= e.y1 && (this.isRotateRightOrLeft ? this.y = e.y1 - (r - h2) / 2 - (h2 - o) / 2 : this.y = e.y1 - (r - h2) / 2), t.y2 <= e.y2 && (this.isRotateRightOrLeft ? this.y = e.y2 - (r - h2) / 2 - (h2 - o) / 2 - o : this.y = e.y2 - (r - h2) / 2 - h2)), (o < this.cropW || h2 < this.cropH) && (this.imgIsQqualCrop = true);
}
},
mounted() {
this.support = "onwheel" in document.createElement("div") ? "wheel" : document.onmousewheel !== void 0 ? "mousewheel" : "DOMMouseScroll";
let t = this;
var e = navigator.userAgent;
this.isIOS = !!e.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), HTMLCanvasElement.prototype.toBlob || Object.defineProperty(HTMLCanvasElement.prototype, "toBlob", {
value: function(i, s, r) {
for (var o = atob(this.toDataURL(s, r).split(",")[1]), h2 = o.length, a = new Uint8Array(h2), n = 0; n < h2; n++)
a[n] = o.charCodeAt(n);
i(new Blob([a], { type: t.type || "image/png" }));
}
}), this.showPreview(), this.checkedImg();
},
unmounted() {
window.removeEventListener("mousemove", this.moveCrop), window.removeEventListener("mouseup", this.leaveCrop), window.removeEventListener("touchmove", this.moveCrop), window.removeEventListener("touchend", this.leaveCrop), this.cancelScale();
}
}), A = {
key: 0,
class: "cropper-box"
}, B = ["src"], P = { class: "cropper-view-box" }, R = ["src"], D = { key: 1 };
function U(t, e, i, s, r, o) {
return openBlock(), createElementBlock("div", {
class: "vue-cropper",
ref: "cropper",
onMouseover: e[28] || (e[28] = (...h2) => t.scaleImg && t.scaleImg(...h2)),
onMouseout: e[29] || (e[29] = (...h2) => t.cancelScale && t.cancelScale(...h2))
}, [
t.imgs ? (openBlock(), createElementBlock("div", A, [
withDirectives(createElementVNode("div", {
class: "cropper-box-canvas",
style: normalizeStyle({
width: t.trueWidth + "px",
height: t.trueHeight + "px",
transform: "scale(" + t.scale + "," + t.scale + ") translate3d(" + t.x / t.scale + "px," + t.y / t.scale + "px,0)rotateZ(" + t.rotate * 90 + "deg)"
})
}, [
createElementVNode("img", {
src: t.imgs,
alt: "cropper-img",
ref: "cropperImg"
}, null, 8, B)
], 4), [
[vShow, !t.loading]
])
])) : createCommentVNode("", true),
createElementVNode("div", {
class: normalizeClass(["cropper-drag-box", { "cropper-move": t.move && !t.crop, "cropper-crop": t.crop, "cropper-modal": t.cropping }]),
onMousedown: e[0] || (e[0] = (...h2) => t.startMove && t.startMove(...h2)),
onTouchstart: e[1] || (e[1] = (...h2) => t.startMove && t.startMove(...h2))
}, null, 34),
withDirectives(createElementVNode("div", {
class: "cropper-crop-box",
style: normalizeStyle({
width: t.cropW + "px",
height: t.cropH + "px",
transform: "translate3d(" + t.cropOffsertX + "px," + t.cropOffsertY + "px,0)"
})
}, [
createElementVNode("span", P, [
createElementVNode("img", {
style: normalizeStyle({
width: t.trueWidth + "px",
height: t.trueHeight + "px",
transform: "scale(" + t.scale + "," + t.scale + ") translate3d(" + (t.x - t.cropOffsertX) / t.scale + "px," + (t.y - t.cropOffsertY) / t.scale + "px,0)rotateZ(" + t.rotate * 90 + "deg)"
}),
src: t.imgs,
alt: "cropper-img"
}, null, 12, R)
]),
createElementVNode("span", {
class: "cropper-face cropper-move",
onMousedown: e[2] || (e[2] = (...h2) => t.cropMove && t.cropMove(...h2)),
onTouchstart: e[3] || (e[3] = (...h2) => t.cropMove && t.cropMove(...h2))
}, null, 32),
t.info ? (openBlock(), createElementBlock("span", {
key: 0,
class: "crop-info",
style: normalizeStyle({ top: t.cropInfo.top })
}, toDisplayString(t.cropInfo.width) + " × " + toDisplayString(t.cropInfo.height), 5)) : createCommentVNode("", true),
t.fixedBox ? createCommentVNode("", true) : (openBlock(), createElementBlock("span", D, [
createElementVNode("span", {
class: "crop-line line-w",
onMousedown: e[4] || (e[4] = (h2) => t.changeCropSize(h2, false, true, 0, 1)),
onTouchstart: e[5] || (e[5] = (h2) => t.changeCropSize(h2, false, true, 0, 1))
}, null, 32),
createElementVNode("span", {
class: "crop-line line-a",
onMousedown: e[6] || (e[6] = (h2) => t.changeCropSize(h2, true, false, 1, 0)),
onTouchstart: e[7] || (e[7] = (h2) => t.changeCropSize(h2, true, false, 1, 0))
}, null, 32),
createElementVNode("span", {
class: "crop-line line-s",
onMousedown: e[8] || (e[8] = (h2) => t.changeCropSize(h2, false, true, 0, 2)),
onTouchstart: e[9] || (e[9] = (h2) => t.changeCropSize(h2, false, true, 0, 2))
}, null, 32),
createElementVNode("span", {
class: "crop-line line-d",
onMousedown: e[10] || (e[10] = (h2) => t.changeCropSize(h2, true, false, 2, 0)),
onTouchstart: e[11] || (e[11] = (h2) => t.changeCropSize(h2, true, false, 2, 0))
}, null, 32),
createElementVNode("span", {
class: "crop-point point1",
onMousedown: e[12] || (e[12] = (h2) => t.changeCropSize(h2, true, true, 1, 1)),
onTouchstart: e[13] || (e[13] = (h2) => t.changeCropSize(h2, true, true, 1, 1))
}, null, 32),
createElementVNode("span", {
class: "crop-point point2",
onMousedown: e[14] || (e[14] = (h2) => t.changeCropSize(h2, false, true, 0, 1)),
onTouchstart: e[15] || (e[15] = (h2) => t.changeCropSize(h2, false, true, 0, 1))
}, null, 32),
createElementVNode("span", {
class: "crop-point point3",
onMousedown: e[16] || (e[16] = (h2) => t.changeCropSize(h2, true, true, 2, 1)),
onTouchstart: e[17] || (e[17] = (h2) => t.changeCropSize(h2, true, true, 2, 1))
}, null, 32),
createElementVNode("span", {
class: "crop-point point4",
onMousedown: e[18] || (e[18] = (h2) => t.changeCropSize(h2, true, false, 1, 0)),
onTouchstart: e[19] || (e[19] = (h2) => t.changeCropSize(h2, true, false, 1, 0))
}, null, 32),
createElementVNode("span", {
class: "crop-point point5",
onMousedown: e[20] || (e[20] = (h2) => t.changeCropSize(h2, true, false, 2, 0)),
onTouchstart: e[21] || (e[21] = (h2) => t.changeCropSize(h2, true, false, 2, 0))
}, null, 32),
createElementVNode("span", {
class: "crop-point point6",
onMousedown: e[22] || (e[22] = (h2) => t.changeCropSize(h2, true, true, 1, 2)),
onTouchstart: e[23] || (e[23] = (h2) => t.changeCropSize(h2, true, true, 1, 2))
}, null, 32),
createElementVNode("span", {
class: "crop-point point7",
onMousedown: e[24] || (e[24] = (h2) => t.changeCropSize(h2, false, true, 0, 2)),
onTouchstart: e[25] || (e[25] = (h2) => t.changeCropSize(h2, false, true, 0, 2))
}, null, 32),
createElementVNode("span", {
class: "crop-point point8",
onMousedown: e[26] || (e[26] = (h2) => t.changeCropSize(h2, true, true, 2, 2)),
onTouchstart: e[27] || (e[27] = (h2) => t.changeCropSize(h2, true, true, 2, 2))
}, null, 32)
]))
], 4), [
[vShow, t.cropping]
])
], 544);
}
const M = /* @__PURE__ */ $$3F(z, [["render", U], ["__scopeId", "data-v-a742df44"]]);
const _hoisted_1$8 = {
key: 0,
class: "mt-image-copper__content"
};
const _hoisted_2$8 = {
key: 0,
class: "mt-image-copper__loading"
};
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
...{
name: "MtUploadImageCopper"
},
__name: "upload-image-copper",
setup(__props, { expose: __expose }) {
const filePath = ref();
const fileName = ref("");
const fileType = ref("");
const outputType = ref("jpg");
const fileSuffixToOutputTypeMap = {
jpg: "jpeg",
jpeg: "jpeg",
png: "png",
webp: "webp",
gif: "webp"
};
const cropperRef = ref(null);
const enlarge = ref();
function handleRealTime() {
enlarge.value = 1 / cropperRef.value.scale;
}
const attrs = useAttrs();
const cropperProsps = computed(() => {
return {
outputSize: 1,
info: true,
canScale: true,
autoCrop: true,
autoCropScale: true,
fixed: true,
fixedNumber: [1, 1],
full: false,
fixedBox: false,
canMove: true,
canMoveBox: true,
centerBox: true,
original: true,
high: true,
infoTrue: true,
maxImgSize: 2e3,
enlarge: enlarge.value,
mode: "contain",
contain: 10,
fillColor: "",
...attrs
};
});
const dialogVisible = ref(false);
const loading = ref(false);
let copperPromiseDeferred = null;
function handleCancel() {
copperPromiseDeferred == null ? void 0 : copperPromiseDeferred.reject();
}
function handleConfirm() {
if (!cropperRef.value) {
return;
}
loading.value = true;
cropperRef.value.getCropBlob((blob) => {
const newFile = new File([blob], fileName.value, {
type: fileType.value,
lastModified: Date.now()
});
copperPromiseDeferred == null ? void 0 : copperPromiseDeferred.resolve(newFile);
});
}
const isApplyingScale = ref(false);
async function applyImageScale(url) {
try {
isApplyingScale.value = true;
const image = new Image();
await new Promise((resolve2, reject2) => {
image.onload = () => resolve2();
image.onerror = (error2) => reject2(error2);
image.src = url;
});
await new Promise((resolve2) => {
const checkCropper = () => {
var _a;
if (cropperRef.value && cropperRef.value.cropW && cropperRef.value.cropH) {
resolve2();
return;
}
const observer = new MutationObserver(() => {
if (cropperRef.value && cropperRef.value.cropW && cropperRef.value.cropH) {
observer.disconnect();
resolve2();
}
});
if ((_a = cropperRef.value) == null ? void 0 : _a.$el) {
observer.observe(cropperRef.value.$el, {
childList: true,
subtree: true,
attributes: true
});
}
const intervalId = setInterval(() => {
if (cropperRef.value && cropperRef.value.cropW && cropperRef.value.cropH) {
observer.disconnect();
clearInterval(intervalId);
resolve2();
}
}, 50);
};
checkCropper();
});
if (cropperRef.value) {
const imageNumber = [image.width, image.height];
const cropNumber = [cropperRef.value.cropW, cropperRef.value.cropH];
let scale3 = 1;
if (imageNumber[0] / imageNumber[1] >= cropNumber[0] / cropNumber[1]) {
scale3 = cropNumber[1] / imageNumber[1];
} else {
scale3 = cropNumber[0] / imageNumber[0];
}
cropperRef.value.scale = scale3;
}
} finally {
isApplyingScale.value = false;
}
}
__expose({
async open(source) {
if (isString$1(source)) {
filePath.value = source;
fileName.value = getFileName(source);
fileType.value = `image/${getFileSuffix(source)}`;
outputType.value = fileSuffixToOutputTypeMap[getFileSuffix(source)];
} else {
filePath.value = URL.createObjectURL(source);
fileName.value = source.name;
fileType.value = source.type;
outputType.value = fileSuffixToOutputTypeMap[getFileSuffix(source.name)];
}
filePath.value = updateFilePathQuery(filePath.value, {
u: getUuid()
});
dialogVisible.value = true;
copperPromiseDeferred = new Deferred();
if (cropperProsps.value.autoCropScale) {
applyImageScale(updateFilePathQuery(filePath.value, {
u: getUuid()
}));
}
const newFile = await copperPromiseDeferred.promise;
copperPromiseDeferred = null;
URL.revokeObjectURL(filePath.value);
return {
file: newFile
};
},
close() {
dialogVisible.value = false;
loading.value = false;
}
});
return (_ctx, _cache) => {
return openBlock(), createBlock(unref(MtDialog), {
modelValue: dialogVisible.value,
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => dialogVisible.value = $event),
"destroy-on-close": true,
"align-center": ""
}, {
default: withCtx(() => [
createVNode(unref(MtDialogConfirmLayout), {
loading: loading.value,
disabled: isApplyingScale.value,
onCancel: handleCancel,
onConfirm: handleConfirm
}, {
default: withCtx(() => [
filePath.value ? (openBlock(), createElementBlock("div", _hoisted_1$8, [
isApplyingScale.value ? (openBlock(), createElementBlock("div", _hoisted_2$8, [
createVNode(unref(MtLoading), { size: 80 })
])) : createCommentVNode("", true),
createVNode(unref(M), mergeProps({
ref_key: "cropperRef",
ref: cropperRef,
img: filePath.value,
"output-type": outputType.value
}, cropperProsps.value, {
enlarge: enlarge.value,
onRealTime: handleRealTime
}), null, 16, ["img", "output-type", "enlarge"])
])) : createCommentVNode("", true)
]),
_: 1
}, 8, ["loading", "disabled"])
]),
_: 1
}, 8, ["modelValue"]);
};
}
});
const _export_sfc = (sfc, props) => {
const target = sfc.__vccOpts || sfc;
for (const [key, val] of props) {
target[key] = val;
}
return target;
};
const UploadImageCopper = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-25d6b653"]]);
const _hoisted_1$7 = {
key: 0,
class: "mt-upload-image-grid-layout__loading"
};
const _hoisted_2$7 = {
key: 1,
class: "mt-upload-image-grid-layout__actions"
};
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
...{
name: "MtUploadImageGridLayout"
},
__name: "upload-image-grid-layout",
props: {
fileList: {
type: Array,
default: () => []
},
disabled: {
type: Boolean,
default: false
},
copperOptions: {
type: Object,
default: () => ({})
}
},
emits: ["remove"],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const uploadContext = inject(uploadContextKey);
const copperRef = ref();
function handleRemove(fileItem, fileIndex) {
if (props.disabled) {
return;
}
emits("remove", {
fileItem,
fileIndex
});
}
async function handleCropper(fileItem) {
if (props.disabled) {
return;
}
try {
const { file } = await copperRef.value.open(fileItem.url);
if (uploadContext) {
try {
await uploadContext.reload({
uid: fileItem.uid,
file
});
MtMessage.success("裁剪成功");
copperRef.value.close();
} catch {
MtMessage.error("裁剪失败");
}
}
} catch {
copperRef.value.close();
}
}
function handlePreview(fileItem) {
if (fileItem.url) {
MtFilePreview({
viewUrl: fileItem.url
});
}
}
return (_ctx, _cache) => {
return openBlock(), createElementBlock(Fragment, null, [
createElementVNode("div", {
class: normalizeClass(["mt-upload-image-grid-layout", { "mt-upload-image-grid-layout--disabled": props.disabled, "mt-upload-image-grid-layout--empty": props.fileList.length === 0 }])
}, [
(openBlock(true), createElementBlock(Fragment, null, renderList(props.fileList, (fileItem, fileIndex) => {
return openBlock(), createElementBlock("div", {
key: fileItem.uid,
class: "mt-upload-image-grid-layout__item"
}, [
createVNode(unref(MtImage), {
src: fileItem.url,
width: "100%",
height: "100%"
}, null, 8, ["src"]),
fileItem.status === "uploading" ? (openBlock(), createElementBlock("div", _hoisted_1$7, [
createVNode(unref(MtProgress), {
percentage: fileItem.percentage,
type: "circle",
width: 50,
"stroke-width": 2
}, null, 8, ["percentage"])
])) : createCommentVNode("", true),
fileItem.status === "success" ? (openBlock(), createElementBlock("div", _hoisted_2$7, [
!props.disabled ? (openBlock(), createBlock(unref(MtIcon), {
key: 0,
name: "icon-edit-05",
color: "#fff",
size: 18,
clickable: "",
onClick: ($event) => handleCropper(fileItem)
}, null, 8, ["onClick"])) : createCommentVNode("", true),
createVNode(unref(MtIcon), {
name: "icon-general_gray_research",
color: "#fff",
size: 18,
clickable: "",
onClick: ($event) => handlePreview(fileItem)
}, null, 8, ["onClick"]),
!props.disabled ? (openBlock(), createBlock(unref(MtIcon), {
key: 1,
name: "icon-icon_delete_gray-14",
color: "#fff",
size: 18,
clickable: "",
onClick: ($event) => handleRemove(fileItem, fileIndex)
}, null, 8, ["onClick"])) : createCommentVNode("", true)
])) : createCommentVNode("", true)
]);
}), 128))
], 2),
createVNode(UploadImageCopper, mergeProps({
ref_key: "copperRef",
ref: copperRef
}, props.copperOptions), null, 16)
], 64);
};
}
});
const ChooseImage = "data:image/png;base64,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";
const _hoisted_1$6 = { class: "mt-upload-image-only-trigger__region" };
const _hoisted_2$6 = { class: "mt-upload-image-only-trigger__choose" };
const _hoisted_3$5 = {
key: 0,
class: "mt-upload-image-only-trigger__tip"
};
const _hoisted_4$3 = {
key: 1,
class: "mt-upload-image-only-trigger__ratio"
};
const _hoisted_5$1 = ["disabled", "multiple", "accept"];
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
...{
name: "MtUploadImageGridTrigger"
},
__name: "upload-image-only-trigger",
props: {
fileList: {
type: Array,
default: () => []
},
disabled: {
type: Boolean
},
limit: {
type: Number
},
multiple: {
type: Boolean
},
suffixes: {
type: Array
},
onExceed: {
type: Function,
default: NOOP
},
showTrigger: {
type: Boolean
},
autoCropper: {
type: Boolean
},
copperOptions: {
type: Object
}
},
emits: ["remove"],
setup(__props, { expose: __expose, emit: __emit }) {
const props = __props;
const emits = __emit;
const solts = useSlots();
const inputRef = shallowRef();
const uploadContext = inject(uploadContextKey);
const copperRef = ref();
const accept = computed(() => {
if (!props.suffixes) {
return "";
}
return props.suffixes.map((suffix) => `.${suffix}`).join(",");
});
const uploadTriggerCopperRatio = computed(() => {
var _a;
if ((_a = props.copperOptions) == null ? void 0 : _a.fixedNumber) {
return `推荐比例 ${props.copperOptions.fixedNumber.join(":")}`;
}
return "";
});
function handleChoose() {
if (props.disabled) {
return;
}
if (props.autoCropper) {
inputRef.value.value = "";
inputRef.value.click();
} else {
if (uploadContext) {
uploadContext.choose();
}
}
}
async function handleChange(event) {
var _a, _b, _c, _d;
const files = event.target.files;
if (!files) {
return;
}
const fileList = Array.from(files);
if (fileList.length === 0) {
return;
}
if (props.fileList.length > 0) {
emits("remove", {
fileItem: props.fileList[0]
});
await nextTick();
}
if (props.limit && props.fileList.length + files.length > props.limit) {
props.onExceed(fileList);
return;
}
try {
const { file } = await copperRef.value.open(fileList[0]);
if (uploadContext) {
await uploadContext.upload([file]);
(_b = (_a = copperRef == null ? void 0 : copperRef.value) == null ? void 0 : _a.close) == null ? void 0 : _b.call(_a);
}
} catch {
(_d = (_c = copperRef == null ? void 0 : copperRef.value) == null ? void 0 : _c.close) == null ? void 0 : _d.call(_c);
}
}
__expose({
choose() {
handleChoose();
}
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", {
class: normalizeClass(["mt-upload-image-only-trigger", { "mt-upload-image-only-trigger--disabled": props.disabled }])
}, [
props.fileList.length === 0 && __props.showTrigger ? (openBlock(), createElementBlock("div", {
key: 0,
class: "mt-upload-image-only-trigger__box",
onClick: handleChoose
}, [
renderSlot(_ctx.$slots, "trigger", {}, () => [
createElementVNode("div", _hoisted_1$6, [
createElementVNode("div", _hoisted_2$6, [
createVNode(unref(MtImage), {
src: unref(ChooseImage),
width: 32,
height: 32
}, null, 8, ["src"]),
solts.tip ? (openBlock(), createElementBlock("div", _hoisted_3$5, [
renderSlot(_ctx.$slots, "tip")
])) : createCommentVNode("", true),
uploadTriggerCopperRatio.value ? (openBlock(), createElementBlock("div", _hoisted_4$3, toDisplayString(uploadTriggerCopperRatio.value), 1)) : createCommentVNode("", true)
])
])
])
])) : createCommentVNode("", true),
createVNode(UploadImageCopper, mergeProps({
ref_key: "copperRef",
ref: copperRef
}, props.copperOptions), null, 16),
createElementVNode("input", {
ref_key: "inputRef",
ref: inputRef,
class: "mt-upload-image-only-trigger__input",
name: "file",
type: "file",
disabled: props.disabled,
multiple: props.multiple,
accept: accept.value,
onChange: handleChange
}, null, 40, _hoisted_5$1)
], 2);
};
}
});
const _hoisted_1$5 = {
key: 0,
class: "mt-upload-image-only-layout__item"
};
const _hoisted_2$5 = {
key: 0,
class: "mt-upload-image-only-layout__loading"
};
const _hoisted_3$4 = {
key: 1,
class: "mt-upload-image-only-layout__actions"
};
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
...{
name: "MtUploadImageOnlyLayout"
},
__name: "upload-image-only-layout",
props: {
fileList: {
type: Array,
default: () => []
},
disabled: {
type: Boolean,
default: false
},
copperOptions: {
type: Object,
default: () => ({})
}
},
emits: ["remove"],
setup(__props, { emit: __emit }) {
const props = __props;
const emits = __emit;
const fileItem = computed(() => {
var _a;
return (_a = props.fileList) == null ? void 0 : _a[0];
});
const uploadContext = inject(uploadContextKey);
const copperRef = ref();
function handleRemove(fileItem2, fileIndex) {
if (props.disabled) {
return;
}
emits("remove", {
fileItem: fileItem2,
fileIndex
});
}
function handlePreview(fileItem2) {
if (fileItem2.url) {
MtFilePreview({
viewUrl: fileItem2.url
});
}
}
async function handleCropper(fileItem2) {
if (props.disabled) {
return;
}
try {
const { file } = await copperRef.value.open(fileItem2.url || fileItem2.raw);
if (uploadContext) {
try {
await uploadContext.reload({
uid: fileItem2.uid,
file
});
MtMessage.success("裁剪成功");
copperRef.value.close();
} catch {
MtMessage.error("裁剪失败");
}
}
} catch {
copperRef.value.close();
}
}
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", {
class: normalizeClass(["mt-upload-image-only-layout", { "mt-upload-image-only-layout--disabled": props.disabled }])
}, [
fileItem.value ? (openBlock(), createElementBlock("div", _hoisted_1$5, [
createVNode(unref(MtImage), {
src: fileItem.value.url,
width: "100%",
height: "100%"
}, null, 8, ["src"]),
fileItem.value.status === "uploading" ? (openBlock(), createElementBlock("div", _hoisted_2$5, [
createVNode(unref(MtProgress), {
percentage: fileItem.value.percentage,
type: "circle",
width: 50,
"stroke-width": 2
}, null, 8, ["percentage"])
])) : createCommentVNode("", true),
fileItem.value.status === "success" ? (openBlock(), createElementBlock("div", _hoisted_3$4, [
!props.disabled ? (openBlock(), createBlock(unref(MtIcon), {
key: 0,
name: "icon-edit-05",
color: "#fff",
size: 18,
clickable: "",
onClick: _cache[0] || (_cache[0] = ($event) => handleCropper(fileItem.value))
})) : createCommentVNode("", true),
createVNode(unref(MtIcon), {
name: "icon-general_gray_research",
color: "#fff",
size: 18,
clickable: "",
onClick: _cache[1] || (_cache[1] = ($event) => handlePreview(fileItem.value))
}),
!props.disabled ? (openBlock(), createBlock(unref(MtIcon), {
key: 1,
name: "icon-icon_delete_gray-14",
color: "#fff",
size: 18,
clickable: "",
onClick: _cache[2] || (_cache[2] = ($event) => handleRemove(fileItem.value, 0))
})) : createCommentVNode("", true)
])) : createCommentVNode("", true)
])) : createCommentVNode("", true),
createVNode(UploadImageCopper, mergeProps({
ref_key: "copperRef",
ref: copperRef
}, props.copperOptions), null, 16)
], 2);
};
}
});
const UploadImageOnlyLayout = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-9539e52f"]]);
const ChooseIcon = "data:image/png;base64,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";
const _hoisted_1$4 = { class: "mt-upload-file-list-trigger__region" };
const _hoisted_2$4 = { class: "mt-upload-file-list-trigger__chooss" };
const _hoisted_3$3 = { class: "mt-upload-file-list-trigger__image" };
const _hoisted_4$2 = ["title"];
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
...{
name: "MtUploadDefaultTrigger"
},
__name: "upload-file-list-trigger",
props: {
fileList: {
type: Array,
default: () => []
},
disabled: {
type: Boolean
},
description: {
type: String,
default: ""
}
},
setup(__props) {
const props = __props;
const uploadContext = inject(uploadContextKey);
function handleChoose() {
if (props.disabled) {
return;
}
if (uploadContext) {
uploadContext.choose();
}
}
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", {
class: normalizeClass(["mt-upload-file-list-trigger", { "mt-upload-file-list-trigger--disabled": props.disabled }]),
onClick: handleChoose
}, [
renderSlot(_ctx.$slots, "trigger", {}, () => [
createElementVNode("div", _hoisted_1$4, [
createElementVNode("div", _hoisted_2$4, [
createElementVNode("div", _hoisted_3$3, [
createVNode(unref(MtImage), {
src: unref(ChooseIcon),
width: "32px",
height: "33.28px"
}, null, 8, ["src"])
]),
_cache[0] || (_cache[0] = createElementVNode("div", { class: "mt-upload-file-list-trigger__title" }, " 上传文件 ", -1)),
createElementVNode("div", {
class: "mt-upload-file-list-trigger__description",
title: props.description
}, toDisplayString(props.description), 9, _hoisted_4$2)
])
])
])
], 2);
};
}
});
const _hoisted_1$3 = { class: "mt-upload-image-grid-trigger__region" };
const _hoisted_2$3 = { class: "mt-upload-image-grid-trigger__choose" };
const _hoisted_3$2 = {
key: 0,
class: "mt-upload-image-only-trigger__tip"
};
const _hoisted_4$1 = {
key: 1,
class: "mt-upload-image-only-trigger__ratio"
};
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
...{
name: "MtUploadImageGridTrigger"
},
__name: "upload-image-grid-trigger",
props: {
fileList: {
type: Array,
default: () => []
},
disabled: {
type: Boolean
},
copperOptions: {
type: Object,
default: () => ({})
}
},
setup(__props) {
const props = __props;
const solts = useSlots();
const uploadContext = inject(uploadContextKey);
const uploadTriggerCopperRatio = computed(() => {
var _a;
if ((_a = props.copperOptions) == null ? void 0 : _a.fixedNumber) {
return `推荐比例 ${props.copperOptions.fixedNumber.join(":")}`;
}
return "";
});
function handleChoose() {
if (props.disabled) {
return;
}
if (uploadContext) {
uploadContext.choose();
}
}
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", {
class: normalizeClass(["mt-upload-image-grid-trigger", { "mt-upload-image-grid-trigger--disabled": props.disabled }]),
onClick: handleChoose
}, [
renderSlot(_ctx.$slots, "trigger", {}, () => [
createElementVNode("div", _hoisted_1$3, [
createElementVNode("div", _hoisted_2$3, [
createVNode(unref(MtImage), {
src: unref(ChooseImage),
width: 30,
height: 30
}, null, 8, ["src"]),
solts.tip ? (openBlock(), createElementBlock("div", _hoisted_3$2, [
renderSlot(_ctx.$slots, "tip")
])) : createCommentVNode("", true),
uploadTriggerCopperRatio.value ? (openBlock(), createElementBlock("div", _hoisted_4$1, toDisplayString(uploadTriggerCopperRatio.value), 1)) : createCommentVNode("", true)
])
])
])
], 2);
};
}
});
function bind(fn, thisArg) {
return function wrap3() {
return fn.apply(thisArg, arguments);
};
}
const { toString } = Object.prototype;
const { getPrototypeOf } = Object;
const { iterator, toStringTag } = Symbol;
const kindOf = /* @__PURE__ */ ((cache) => (thing) => {
const str = toString.call(thing);
return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());
})(/* @__PURE__ */ Object.create(null));
const kindOfTest = (type) => {
type = type.toLowerCase();
return (thing) => kindOf(thing) === type;
};
const typeOfTest = (type) => (thing) => typeof thing === type;
const { isArray } = Array;
const isUndefined = typeOfTest("undefined");
function isBuffer(val) {
return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);
}
const isArrayBuffer$1 = kindOfTest("ArrayBuffer");
function isArrayBufferView(val) {
let result;
if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) {
result = ArrayBuffer.isView(val);
} else {
result = val && val.buffer && isArrayBuffer$1(val.buffer);
}
return result;
}
const isString = typeOfTest("string");
const isFunction = typeOfTest("function");
const isNumber = typeOfTest("number");
const isObject = (thing) => thing !== null && typeof thing === "object";
const isBoolean = (thing) => thing === true || thing === false;
const isPlainObject = (val) => {
if (kindOf(val) !== "object") {
return false;
}
const prototype2 = getPrototypeOf(val);
return (prototype2 === null || prototype2 === Object.prototype || Object.getPrototypeOf(prototype2) === null) && !(toStringTag in val) && !(iterator in val);
};
const isDate = kindOfTest("Date");
const isFile = kindOfTest("File");
const isBlob = kindOfTest("Blob");
const isFileList = kindOfTest("FileList");
const isStream = (val) => isObject(val) && isFunction(val.pipe);
const isFormData = (thing) => {
let kind;
return thing && (typeof FormData === "function" && thing instanceof FormData || isFunction(thing.append) && ((kind = kindOf(thing)) === "formdata" || // detect form-data instance
kind === "object" && isFunction(thing.toString) && thing.toString() === "[object FormData]"));
};
const isURLSearchParams = kindOfTest("URLSearchParams");
const [isReadableStream, isRequest, isResponse, isHeaders] = ["ReadableStream", "Request", "Response", "Headers"].map(kindOfTest);
const trim$3 = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
function forEach(obj, fn, { allOwnKeys = false } = {}) {
if (obj === null || typeof obj === "undefined") {
return;
}
let i;
let l;
if (typeof obj !== "object") {
obj = [obj];
}
if (isArray(obj)) {
for (i = 0, l = obj.length; i < l; i++) {
fn.call(null, obj[i], i, obj);
}
} else {
const keys6 = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);
const len = keys6.length;
let key;
for (i = 0; i < len; i++) {
key = keys6[i];
fn.call(null, obj[key], key, obj);
}
}
}
function findKey(obj, key) {
key = key.toLowerCase();
const keys6 = Object.keys(obj);
let i = keys6.length;
let _key;
while (i-- > 0) {
_key = keys6[i];
if (key === _key.toLowerCase()) {
return _key;
}
}
return null;
}
const _global = (() => {
if (typeof globalThis !== "undefined") return globalThis;
return typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : global;
})();
const isContextDefined = (context) => !isUndefined(context) && context !== _global;
function merge() {
const { caseless } = isContextDefined(this) && this || {};
const result = {};
const assignValue = (val, key) => {
const targetKey = caseless && findKey(result, key) || key;
if (isPlainObject(result[targetKey]) && isPlainObject(val)) {
result[targetKey] = merge(result[targetKey], val);
} else if (isPlainObject(val)) {
result[targetKey] = merge({}, val);
} else if (isArray(val)) {
result[targetKey] = val.slice();
} else {
result[targetKey] = val;
}
};
for (let i = 0, l = arguments.length; i < l; i++) {
arguments[i] && forEach(arguments[i], assignValue);
}
return result;
}
const extend = (a, b, thisArg, { allOwnKeys } = {}) => {
forEach(b, (val, key) => {
if (thisArg && isFunction(val)) {
a[key] = bind(val, thisArg);
} else {
a[key] = val;
}
}, { allOwnKeys });
return a;
};
const stripBOM = (content) => {
if (content.charCodeAt(0) === 65279) {
content = content.slice(1);
}
return content;
};
const inherits = (constructor, superConstructor, props, descriptors2) => {
constructor.prototype = Object.create(superConstructor.prototype, descriptors2);
constructor.prototype.constructor = constructor;
Object.defineProperty(constructor, "super", {
value: superConstructor.prototype
});
props && Object.assign(constructor.prototype, props);
};
const toFlatObject = (sourceObj, destObj, filter5, propFilter) => {
let props;
let i;
let prop;
const merged = {};
destObj = destObj || {};
if (sourceObj == null) return destObj;
do {
props = Object.getOwnPropertyNames(sourceObj);
i = props.length;
while (i-- > 0) {
prop = props[i];
if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {
destObj[prop] = sourceObj[prop];
merged[prop] = true;
}
}
sourceObj = filter5 !== false && getPrototypeOf(sourceObj);
} while (sourceObj && (!filter5 || filter5(sourceObj, destObj)) && sourceObj !== Object.prototype);
return destObj;
};
const endsWith = (str, searchString, position) => {
str = String(str);
if (position === void 0 || position > str.length) {
position = str.length;
}
position -= searchString.length;
const lastIndex = str.indexOf(searchString, position);
return lastIndex !== -1 && lastIndex === position;
};
const toArray = (thing) => {
if (!thing) return null;
if (isArray(thing)) return thing;
let i = thing.length;
if (!isNumber(i)) return null;
const arr = new Array(i);
while (i-- > 0) {
arr[i] = thing[i];
}
return arr;
};
const isTypedArray = /* @__PURE__ */ ((TypedArray2) => {
return (thing) => {
return TypedArray2 && thing instanceof TypedArray2;
};
})(typeof Uint8Array !== "undefined" && getPrototypeOf(Uint8Array));
const forEachEntry = (obj, fn) => {
const generator = obj && obj[iterator];
const _iterator = generator.call(obj);
let result;
while ((result = _iterator.next()) && !result.done) {
const pair = result.value;
fn.call(obj, pair[0], pair[1]);
}
};
const matchAll = (regExp, str) => {
let matches;
const arr = [];
while ((matches = regExp.exec(str)) !== null) {
arr.push(matches);
}
return arr;
};
const isHTMLForm = kindOfTest("HTMLFormElement");
const toCamelCase = (str) => {
return str.toLowerCase().replace(
/[-_\s]([a-z\d])(\w*)/g,
function replacer3(m, p1, p2) {
return p1.toUpperCase() + p2;
}
);
};
const hasOwnProperty$1 = (({ hasOwnProperty: hasOwnProperty2 }) => (obj, prop) => hasOwnProperty2.call(obj, prop))(Object.prototype);
const isRegExp$4 = kindOfTest("RegExp");
const reduceDescriptors = (obj, reducer) => {
const descriptors2 = Object.getOwnPropertyDescriptors(obj);
const reducedDescriptors = {};
forEach(descriptors2, (descriptor, name2) => {
let ret;
if ((ret = reducer(descriptor, name2, obj)) !== false) {
reducedDescriptors[name2] = ret || descriptor;
}
});
Object.defineProperties(obj, reducedDescriptors);
};
const freezeMethods = (obj) => {
reduceDescriptors(obj, (descriptor, name2) => {
if (isFunction(obj) && ["arguments", "caller", "callee"].indexOf(name2) !== -1) {
return false;
}
const value = obj[name2];
if (!isFunction(value)) return;
descriptor.enumerable = false;
if ("writable" in descriptor) {
descriptor.writable = false;
return;
}
if (!descriptor.set) {
descriptor.set = () => {
throw Error("Can not rewrite read-only method '" + name2 + "'");
};
}
});
};
const toObjectSet = (arrayOrString, delimiter2) => {
const obj = {};
const define = (arr) => {
arr.forEach((value) => {
obj[value] = true;
});
};
isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter2));
return obj;
};
const noop$1 = () => {
};
const toFiniteNumber = (value, defaultValue) => {
return value != null && Number.isFinite(value = +value) ? value : defaultValue;
};
function isSpecCompliantForm(thing) {
return !!(thing && isFunction(thing.append) && thing[toStringTag] === "FormData" && thing[iterator]);
}
const toJSONObject = (obj) => {
const stack = new Array(10);
const visit = (source, i) => {
if (isObject(source)) {
if (stack.indexOf(source) >= 0) {
return;
}
if (!("toJSON" in source)) {
stack[i] = source;
const target = isArray(source) ? [] : {};
forEach(source, (value, key) => {
const reducedValue = visit(value, i + 1);
!isUndefined(reducedValue) && (target[key] = reducedValue);
});
stack[i] = void 0;
return target;
}
}
return source;
};
return visit(obj, 0);
};
const isAsyncFn = kindOfTest("AsyncFunction");
const isThenable$1 = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);
const _setImmediate = ((setImmediateSupported, postMessageSupported) => {
if (setImmediateSupported) {
return setImmediate;
}
return postMessageSupported ? ((token, callbacks) => {
_global.addEventListener("message", ({ source, data: data2 }) => {
if (source === _global && data2 === token) {
callbacks.length && callbacks.shift()();
}
}, false);
return (cb) => {
callbacks.push(cb);
_global.postMessage(token, "*");
};
})(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);
})(
typeof setImmediate === "function",
isFunction(_global.postMessage)
);
const asap = typeof queueMicrotask !== "undefined" ? queueMicrotask.bind(_global) : typeof process !== "undefined" && process.nextTick || _setImmediate;
const isIterable = (thing) => thing != null && isFunction(thing[iterator]);
const utils$1 = {
isArray,
isArrayBuffer: isArrayBuffer$1,
isBuffer,
isFormData,
isArrayBufferView,
isString,
isNumber,
isBoolean,
isObject,
isPlainObject,
isReadableStream,
isRequest,
isResponse,
isHeaders,
isUndefined,
isDate,
isFile,
isBlob,
isRegExp: isRegExp$4,
isFunction,
isStream,
isURLSearchParams,
isTypedArray,
isFileList,
forEach,
merge,
extend,
trim: trim$3,
stripBOM,
inherits,
toFlatObject,
kindOf,
kindOfTest,
endsWith,
toArray,
forEachEntry,
matchAll,
isHTMLForm,
hasOwnProperty: hasOwnProperty$1,
hasOwnProp: hasOwnProperty$1,
// an alias to avoid ESLint no-prototype-builtins detection
reduceDescriptors,
freezeMethods,
toObjectSet,
toCamelCase,
noop: noop$1,
toFiniteNumber,
findKey,
global: _global,
isContextDefined,
isSpecCompliantForm,
toJSONObject,
isAsyncFn,
isThenable: isThenable$1,
setImmediate: _setImmediate,
asap,
isIterable
};
function AxiosError$1(message, code, config2, request, response) {
Error.call(this);
if (Error.captureStackTrace) {
Error.captureStackTrace(this, this.constructor);
} else {
this.stack = new Error().stack;
}
this.message = message;
this.name = "AxiosError";
code && (this.code = code);
config2 && (this.config = config2);
request && (this.request = request);
if (response) {
this.response = response;
this.status = response.status ? response.status : null;
}
}
utils$1.inherits(AxiosError$1, Error, {
toJSON: function toJSON() {
return {
// Standard
message: this.message,
name: this.name,
// Microsoft
description: this.description,
number: this.number,
// Mozilla
fileName: this.fileName,
lineNumber: this.lineNumber,
columnNumber: this.columnNumber,
stack: this.stack,
// Axios
config: utils$1.toJSONObject(this.config),
code: this.code,
status: this.status
};
}
});
const prototype$1 = AxiosError$1.prototype;
const descriptors$1 = {};
[
"ERR_BAD_OPTION_VALUE",
"ERR_BAD_OPTION",
"ECONNABORTED",
"ETIMEDOUT",
"ERR_NETWORK",
"ERR_FR_TOO_MANY_REDIRECTS",
"ERR_DEPRECATED",
"ERR_BAD_RESPONSE",
"ERR_BAD_REQUEST",
"ERR_CANCELED",
"ERR_NOT_SUPPORT",
"ERR_INVALID_URL"
// eslint-disable-next-line func-names
].forEach((code) => {
descriptors$1[code] = { value: code };
});
Object.defineProperties(AxiosError$1, descriptors$1);
Object.defineProperty(prototype$1, "isAxiosError", { value: true });
AxiosError$1.from = (error2, code, config2, request, response, customProps) => {
const axiosError = Object.create(prototype$1);
utils$1.toFlatObject(error2, axiosError, function filter5(obj) {
return obj !== Error.prototype;
}, (prop) => {
return prop !== "isAxiosError";
});
AxiosError$1.call(axiosError, error2.message, code, config2, request, response);
axiosError.cause = error2;
axiosError.name = error2.name;
customProps && Object.assign(axiosError, customProps);
return axiosError;
};
const httpAdapter = null;
function isVisitable(thing) {
return utils$1.isPlainObject(thing) || utils$1.isArray(thing);
}
function removeBrackets(key) {
return utils$1.endsWith(key, "[]") ? key.slice(0, -2) : key;
}
function renderKey(path2, key, dots) {
if (!path2) return key;
return path2.concat(key).map(function each(token, i) {
token = removeBrackets(token);
return !dots && i ? "[" + token + "]" : token;
}).join(dots ? "." : "");
}
function isFlatArray(arr) {
return utils$1.isArray(arr) && !arr.some(isVisitable);
}
const predicates = utils$1.toFlatObject(utils$1, {}, null, function filter(prop) {
return /^is[A-Z]/.test(prop);
});
function toFormData$1(obj, formData, options) {
if (!utils$1.isObject(obj)) {
throw new TypeError("target must be an object");
}
formData = formData || new FormData();
options = utils$1.toFlatObject(options, {
metaTokens: true,
dots: false,
indexes: false
}, false, function defined(option, source) {
return !utils$1.isUndefined(source[option]);
});
const metaTokens = options.metaTokens;
const visitor = options.visitor || defaultVisitor;
const dots = options.dots;
const indexes = options.indexes;
const _Blob = options.Blob || typeof Blob !== "undefined" && Blob;
const useBlob = _Blob && utils$1.isSpecCompliantForm(formData);
if (!utils$1.isFunction(visitor)) {
throw new TypeError("visitor must be a function");
}
function convertValue(value) {
if (value === null) return "";
if (utils$1.isDate(value)) {
return value.toISOString();
}
if (!useBlob && utils$1.isBlob(value)) {
throw new AxiosError$1("Blob is not supported. Use a Buffer instead.");
}
if (utils$1.isArrayBuffer(value) || utils$1.isTypedArray(value)) {
return useBlob && typeof Blob === "function" ? new Blob([value]) : Buffer.from(value);
}
return value;
}
function defaultVisitor(value, key, path2) {
let arr = value;
if (value && !path2 && typeof value === "object") {
if (utils$1.endsWith(key, "{}")) {
key = metaTokens ? key : key.slice(0, -2);
value = JSON.stringify(value);
} else if (utils$1.isArray(value) && isFlatArray(value) || (utils$1.isFileList(value) || utils$1.endsWith(key, "[]")) && (arr = utils$1.toArray(value))) {
key = removeBrackets(key);
arr.forEach(function each(el, index2) {
!(utils$1.isUndefined(el) || el === null) && formData.append(
// eslint-disable-next-line no-nested-ternary
indexes === true ? renderKey([key], index2, dots) : indexes === null ? key : key + "[]",
convertValue(el)
);
});
return false;
}
}
if (isVisitable(value)) {
return true;
}
formData.append(renderKey(path2, key, dots), convertValue(value));
return false;
}
const stack = [];
const exposedHelpers = Object.assign(predicates, {
defaultVisitor,
convertValue,
isVisitable
});
function build(value, path2) {
if (utils$1.isUndefined(value)) return;
if (stack.indexOf(value) !== -1) {
throw Error("Circular reference detected in " + path2.join("."));
}
stack.push(value);
utils$1.forEach(value, function each(el, key) {
const result = !(utils$1.isUndefined(el) || el === null) && visitor.call(
formData,
el,
utils$1.isString(key) ? key.trim() : key,
path2,
exposedHelpers
);
if (result === true) {
build(el, path2 ? path2.concat(key) : [key]);
}
});
stack.pop();
}
if (!utils$1.isObject(obj)) {
throw new TypeError("data must be an object");
}
build(obj);
return formData;
}
function encode$2(str) {
const charMap = {
"!": "%21",
"'": "%27",
"(": "%28",
")": "%29",
"~": "%7E",
"%20": "+",
"%00": "\0"
};
return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer3(match2) {
return charMap[match2];
});
}
function AxiosURLSearchParams(params, options) {
this._pairs = [];
params && toFormData$1(params, this, options);
}
const prototype = AxiosURLSearchParams.prototype;
prototype.append = function append(name2, value) {
this._pairs.push([name2, value]);
};
prototype.toString = function toString2(encoder) {
const _encode = encoder ? function(value) {
return encoder.call(this, value, encode$2);
} : encode$2;
return this._pairs.map(function each(pair) {
return _encode(pair[0]) + "=" + _encode(pair[1]);
}, "").join("&");
};
function encode$1(val) {
return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]");
}
function buildURL(url, params, options) {
if (!params) {
return url;
}
const _encode = options && options.encode || encode$1;
if (utils$1.isFunction(options)) {
options = {
serialize: options
};
}
const serializeFn = options && options.serialize;
let serializedParams;
if (serializeFn) {
serializedParams = serializeFn(params, options);
} else {
serializedParams = utils$1.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, options).toString(_encode);
}
if (serializedParams) {
const hashmarkIndex = url.indexOf("#");
if (hashmarkIndex !== -1) {
url = url.slice(0, hashmarkIndex);
}
url += (url.indexOf("?") === -1 ? "?" : "&") + serializedParams;
}
return url;
}
class InterceptorManager {
constructor() {
this.handlers = [];
}
/**
* Add a new interceptor to the stack
*
* @param {Function} fulfilled The function to handle `then` for a `Promise`
* @param {Function} rejected The function to handle `reject` for a `Promise`
*
* @return {Number} An ID used to remove interceptor later
*/
use(fulfilled, rejected, options) {
this.handlers.push({
fulfilled,
rejected,
synchronous: options ? options.synchronous : false,
runWhen: options ? options.runWhen : null
});
return this.handlers.length - 1;
}
/**
* Remove an interceptor from the stack
*
* @param {Number} id The ID that was returned by `use`
*
* @returns {Boolean} `true` if the interceptor was removed, `false` otherwise
*/
eject(id2) {
if (this.handlers[id2]) {
this.handlers[id2] = null;
}
}
/**
* Clear all interceptors from the stack
*
* @returns {void}
*/
clear() {
if (this.handlers) {
this.handlers = [];
}
}
/**
* Iterate over all the registered interceptors
*
* This method is particularly useful for skipping over any
* interceptors that may have become `null` calling `eject`.
*
* @param {Function} fn The function to call for each interceptor
*
* @returns {void}
*/
forEach(fn) {
utils$1.forEach(this.handlers, function forEachHandler(h2) {
if (h2 !== null) {
fn(h2);
}
});
}
}
const transitionalDefaults = {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
};
const URLSearchParams$2 = typeof URLSearchParams !== "undefined" ? URLSearchParams : AxiosURLSearchParams;
const FormData$1 = typeof FormData !== "undefined" ? FormData : null;
const Blob$1 = typeof Blob !== "undefined" ? Blob : null;
const platform$1 = {
isBrowser: true,
classes: {
URLSearchParams: URLSearchParams$2,
FormData: FormData$1,
Blob: Blob$1
},
protocols: ["http", "https", "file", "blob", "url", "data"]
};
const hasBrowserEnv = typeof window !== "undefined" && typeof document !== "undefined";
const _navigator = typeof navigator === "object" && navigator || void 0;
const hasStandardBrowserEnv = hasBrowserEnv && (!_navigator || ["ReactNative", "NativeScript", "NS"].indexOf(_navigator.product) < 0);
const hasStandardBrowserWebWorkerEnv = (() => {
return typeof WorkerGlobalScope !== "undefined" && // eslint-disable-next-line no-undef
self instanceof WorkerGlobalScope && typeof self.importScripts === "function";
})();
const origin = hasBrowserEnv && window.location.href || "http://localhost";
const utils = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
hasBrowserEnv,
hasStandardBrowserEnv,
hasStandardBrowserWebWorkerEnv,
navigator: _navigator,
origin
}, Symbol.toStringTag, { value: "Module" }));
const platform = {
...utils,
...platform$1
};
function toURLEncodedForm(data2, options) {
return toFormData$1(data2, new platform.classes.URLSearchParams(), Object.assign({
visitor: function(value, key, path2, helpers) {
if (platform.isNode && utils$1.isBuffer(value)) {
this.append(key, value.toString("base64"));
return false;
}
return helpers.defaultVisitor.apply(this, arguments);
}
}, options));
}
function parsePropPath(name2) {
return utils$1.matchAll(/\w+|\[(\w*)]/g, name2).map((match2) => {
return match2[0] === "[]" ? "" : match2[1] || match2[0];
});
}
function arrayToObject(arr) {
const obj = {};
const keys6 = Object.keys(arr);
let i;
const len = keys6.length;
let key;
for (i = 0; i < len; i++) {
key = keys6[i];
obj[key] = arr[key];
}
return obj;
}
function formDataToJSON(formData) {
function buildPath(path2, value, target, index2) {
let name2 = path2[index2++];
if (name2 === "__proto__") return true;
const isNumericKey = Number.isFinite(+name2);
const isLast = index2 >= path2.length;
name2 = !name2 && utils$1.isArray(target) ? target.length : name2;
if (isLast) {
if (utils$1.hasOwnProp(target, name2)) {
target[name2] = [target[name2], value];
} else {
target[name2] = value;
}
return !isNumericKey;
}
if (!target[name2] || !utils$1.isObject(target[name2])) {
target[name2] = [];
}
const result = buildPath(path2, value, target[name2], index2);
if (result && utils$1.isArray(target[name2])) {
target[name2] = arrayToObject(target[name2]);
}
return !isNumericKey;
}
if (utils$1.isFormData(formData) && utils$1.isFunction(formData.entries)) {
const obj = {};
utils$1.forEachEntry(formData, (name2, value) => {
buildPath(parsePropPath(name2), value, obj, 0);
});
return obj;
}
return null;
}
function stringifySafely(rawValue, parser, encoder) {
if (utils$1.isString(rawValue)) {
try {
(parser || JSON.parse)(rawValue);
return utils$1.trim(rawValue);
} catch (e) {
if (e.name !== "SyntaxError") {
throw e;
}
}
}
return (encoder || JSON.stringify)(rawValue);
}
const defaults = {
transitional: transitionalDefaults,
adapter: ["xhr", "http", "fetch"],
transformRequest: [function transformRequest(data2, headers) {
const contentType = headers.getContentType() || "";
const hasJSONContentType = contentType.indexOf("application/json") > -1;
const isObjectPayload = utils$1.isObject(data2);
if (isObjectPayload && utils$1.isHTMLForm(data2)) {
data2 = new FormData(data2);
}
const isFormData2 = utils$1.isFormData(data2);
if (isFormData2) {
return hasJSONContentType ? JSON.stringify(formDataToJSON(data2)) : data2;
}
if (utils$1.isArrayBuffer(data2) || utils$1.isBuffer(data2) || utils$1.isStream(data2) || utils$1.isFile(data2) || utils$1.isBlob(data2) || utils$1.isReadableStream(data2)) {
return data2;
}
if (utils$1.isArrayBufferView(data2)) {
return data2.buffer;
}
if (utils$1.isURLSearchParams(data2)) {
headers.setContentType("application/x-www-form-urlencoded;charset=utf-8", false);
return data2.toString();
}
let isFileList2;
if (isObjectPayload) {
if (contentType.indexOf("application/x-www-form-urlencoded") > -1) {
return toURLEncodedForm(data2, this.formSerializer).toString();
}
if ((isFileList2 = utils$1.isFileList(data2)) || contentType.indexOf("multipart/form-data") > -1) {
const _FormData = this.env && this.env.FormData;
return toFormData$1(
isFileList2 ? { "files[]": data2 } : data2,
_FormData && new _FormData(),
this.formSerializer
);
}
}
if (isObjectPayload || hasJSONContentType) {
headers.setContentType("application/json", false);
return stringifySafely(data2);
}
return data2;
}],
transformResponse: [function transformResponse(data2) {
const transitional2 = this.transitional || defaults.transitional;
const forcedJSONParsing = transitional2 && transitional2.forcedJSONParsing;
const JSONRequested = this.responseType === "json";
if (utils$1.isResponse(data2) || utils$1.isReadableStream(data2)) {
return data2;
}
if (data2 && utils$1.isString(data2) && (forcedJSONParsing && !this.responseType || JSONRequested)) {
const silentJSONParsing = transitional2 && transitional2.silentJSONParsing;
const strictJSONParsing = !silentJSONParsing && JSONRequested;
try {
return JSON.parse(data2);
} catch (e) {
if (strictJSONParsing) {
if (e.name === "SyntaxError") {
throw AxiosError$1.from(e, AxiosError$1.ERR_BAD_RESPONSE, this, null, this.response);
}
throw e;
}
}
}
return data2;
}],
/**
* A timeout in milliseconds to abort a request. If set to 0 (default) a
* timeout is not created.
*/
timeout: 0,
xsrfCookieName: "XSRF-TOKEN",
xsrfHeaderName: "X-XSRF-TOKEN",
maxContentLength: -1,
maxBodyLength: -1,
env: {
FormData: platform.classes.FormData,
Blob: platform.classes.Blob
},
validateStatus: function validateStatus(status) {
return status >= 200 && status < 300;
},
headers: {
common: {
"Accept": "application/json, text/plain, */*",
"Content-Type": void 0
}
}
};
utils$1.forEach(["delete", "get", "head", "post", "put", "patch"], (method) => {
defaults.headers[method] = {};
});
const ignoreDuplicateOf = utils$1.toObjectSet([
"age",
"authorization",
"content-length",
"content-type",
"etag",
"expires",
"from",
"host",
"if-modified-since",
"if-unmodified-since",
"last-modified",
"location",
"max-forwards",
"proxy-authorization",
"referer",
"retry-after",
"user-agent"
]);
const parseHeaders = (rawHeaders) => {
const parsed = {};
let key;
let val;
let i;
rawHeaders && rawHeaders.split("\n").forEach(function parser(line) {
i = line.indexOf(":");
key = line.substring(0, i).trim().toLowerCase();
val = line.substring(i + 1).trim();
if (!key || parsed[key] && ignoreDuplicateOf[key]) {
return;
}
if (key === "set-cookie") {
if (parsed[key]) {
parsed[key].push(val);
} else {
parsed[key] = [val];
}
} else {
parsed[key] = parsed[key] ? parsed[key] + ", " + val : val;
}
});
return parsed;
};
const $internals = Symbol("internals");
function normalizeHeader(header) {
return header && String(header).trim().toLowerCase();
}
function normalizeValue(value) {
if (value === false || value == null) {
return value;
}
return utils$1.isArray(value) ? value.map(normalizeValue) : String(value);
}
function parseTokens(str) {
const tokens = /* @__PURE__ */ Object.create(null);
const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
let match2;
while (match2 = tokensRE.exec(str)) {
tokens[match2[1]] = match2[2];
}
return tokens;
}
const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());
function matchHeaderValue(context, value, header, filter5, isHeaderNameFilter) {
if (utils$1.isFunction(filter5)) {
return filter5.call(this, value, header);
}
if (isHeaderNameFilter) {
value = header;
}
if (!utils$1.isString(value)) return;
if (utils$1.isString(filter5)) {
return value.indexOf(filter5) !== -1;
}
if (utils$1.isRegExp(filter5)) {
return filter5.test(value);
}
}
function formatHeader(header) {
return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => {
return char.toUpperCase() + str;
});
}
function buildAccessors(obj, header) {
const accessorName = utils$1.toCamelCase(" " + header);
["get", "set", "has"].forEach((methodName) => {
Object.defineProperty(obj, methodName + accessorName, {
value: function(arg1, arg2, arg3) {
return this[methodName].call(this, header, arg1, arg2, arg3);
},
configurable: true
});
});
}
let AxiosHeaders$1 = class AxiosHeaders {
constructor(headers) {
headers && this.set(headers);
}
set(header, valueOrRewrite, rewrite) {
const self2 = this;
function setHeader(_value, _header, _rewrite) {
const lHeader = normalizeHeader(_header);
if (!lHeader) {
throw new Error("header name must be a non-empty string");
}
const key = utils$1.findKey(self2, lHeader);
if (!key || self2[key] === void 0 || _rewrite === true || _rewrite === void 0 && self2[key] !== false) {
self2[key || _header] = normalizeValue(_value);
}
}
const setHeaders = (headers, _rewrite) => utils$1.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));
if (utils$1.isPlainObject(header) || header instanceof this.constructor) {
setHeaders(header, valueOrRewrite);
} else if (utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {
setHeaders(parseHeaders(header), valueOrRewrite);
} else if (utils$1.isObject(header) && utils$1.isIterable(header)) {
let obj = {}, dest, key;
for (const entry of header) {
if (!utils$1.isArray(entry)) {
throw TypeError("Object iterator must return a key-value pair");
}
obj[key = entry[0]] = (dest = obj[key]) ? utils$1.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]] : entry[1];
}
setHeaders(obj, valueOrRewrite);
} else {
header != null && setHeader(valueOrRewrite, header, rewrite);
}
return this;
}
get(header, parser) {
header = normalizeHeader(header);
if (header) {
const key = utils$1.findKey(this, header);
if (key) {
const value = this[key];
if (!parser) {
return value;
}
if (parser === true) {
return parseTokens(value);
}
if (utils$1.isFunction(parser)) {
return parser.call(this, value, key);
}
if (utils$1.isRegExp(parser)) {
return parser.exec(value);
}
throw new TypeError("parser must be boolean|regexp|function");
}
}
}
has(header, matcher) {
header = normalizeHeader(header);
if (header) {
const key = utils$1.findKey(this, header);
return !!(key && this[key] !== void 0 && (!matcher || matchHeaderValue(this, this[key], key, matcher)));
}
return false;
}
delete(header, matcher) {
const self2 = this;
let deleted = false;
function deleteHeader(_header) {
_header = normalizeHeader(_header);
if (_header) {
const key = utils$1.findKey(self2, _header);
if (key && (!matcher || matchHeaderValue(self2, self2[key], key, matcher))) {
delete self2[key];
deleted = true;
}
}
}
if (utils$1.isArray(header)) {
header.forEach(deleteHeader);
} else {
deleteHeader(header);
}
return deleted;
}
clear(matcher) {
const keys6 = Object.keys(this);
let i = keys6.length;
let deleted = false;
while (i--) {
const key = keys6[i];
if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {
delete this[key];
deleted = true;
}
}
return deleted;
}
normalize(format) {
const self2 = this;
const headers = {};
utils$1.forEach(this, (value, header) => {
const key = utils$1.findKey(headers, header);
if (key) {
self2[key] = normalizeValue(value);
delete self2[header];
return;
}
const normalized = format ? formatHeader(header) : String(header).trim();
if (normalized !== header) {
delete self2[header];
}
self2[normalized] = normalizeValue(value);
headers[normalized] = true;
});
return this;
}
concat(...targets) {
return this.constructor.concat(this, ...targets);
}
toJSON(asStrings) {
const obj = /* @__PURE__ */ Object.create(null);
utils$1.forEach(this, (value, header) => {
value != null && value !== false && (obj[header] = asStrings && utils$1.isArray(value) ? value.join(", ") : value);
});
return obj;
}
[Symbol.iterator]() {
return Object.entries(this.toJSON())[Symbol.iterator]();
}
toString() {
return Object.entries(this.toJSON()).map(([header, value]) => header + ": " + value).join("\n");
}
getSetCookie() {
return this.get("set-cookie") || [];
}
get [Symbol.toStringTag]() {
return "AxiosHeaders";
}
static from(thing) {
return thing instanceof this ? thing : new this(thing);
}
static concat(first, ...targets) {
const computed2 = new this(first);
targets.forEach((target) => computed2.set(target));
return computed2;
}
static accessor(header) {
const internals = this[$internals] = this[$internals] = {
accessors: {}
};
const accessors = internals.accessors;
const prototype2 = this.prototype;
function defineAccessor(_header) {
const lHeader = normalizeHeader(_header);
if (!accessors[lHeader]) {
buildAccessors(prototype2, _header);
accessors[lHeader] = true;
}
}
utils$1.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);
return this;
}
};
AxiosHeaders$1.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]);
utils$1.reduceDescriptors(AxiosHeaders$1.prototype, ({ value }, key) => {
let mapped = key[0].toUpperCase() + key.slice(1);
return {
get: () => value,
set(headerValue) {
this[mapped] = headerValue;
}
};
});
utils$1.freezeMethods(AxiosHeaders$1);
function transformData(fns, response) {
const config2 = this || defaults;
const context = response || config2;
const headers = AxiosHeaders$1.from(context.headers);
let data2 = context.data;
utils$1.forEach(fns, function transform(fn) {
data2 = fn.call(config2, data2, headers.normalize(), response ? response.status : void 0);
});
headers.normalize();
return data2;
}
function isCancel$1(value) {
return !!(value && value.__CANCEL__);
}
function CanceledError$1(message, config2, request) {
AxiosError$1.call(this, message == null ? "canceled" : message, AxiosError$1.ERR_CANCELED, config2, request);
this.name = "CanceledError";
}
utils$1.inherits(CanceledError$1, AxiosError$1, {
__CANCEL__: true
});
function settle(resolve2, reject2, response) {
const validateStatus2 = response.config.validateStatus;
if (!response.status || !validateStatus2 || validateStatus2(response.status)) {
resolve2(response);
} else {
reject2(new AxiosError$1(
"Request failed with status code " + response.status,
[AxiosError$1.ERR_BAD_REQUEST, AxiosError$1.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],
response.config,
response.request,
response
));
}
}
function parseProtocol(url) {
const match2 = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url);
return match2 && match2[1] || "";
}
function speedometer(samplesCount, min2) {
samplesCount = samplesCount || 10;
const bytes = new Array(samplesCount);
const timestamps = new Array(samplesCount);
let head = 0;
let tail = 0;
let firstSampleTS;
min2 = min2 !== void 0 ? min2 : 1e3;
return function push2(chunkLength) {
const now2 = Date.now();
const startedAt = timestamps[tail];
if (!firstSampleTS) {
firstSampleTS = now2;
}
bytes[head] = chunkLength;
timestamps[head] = now2;
let i = tail;
let bytesCount = 0;
while (i !== head) {
bytesCount += bytes[i++];
i = i % samplesCount;
}
head = (head + 1) % samplesCount;
if (head === tail) {
tail = (tail + 1) % samplesCount;
}
if (now2 - firstSampleTS < min2) {
return;
}
const passed = startedAt && now2 - startedAt;
return passed ? Math.round(bytesCount * 1e3 / passed) : void 0;
};
}
function throttle(fn, freq) {
let timestamp = 0;
let threshold = 1e3 / freq;
let lastArgs;
let timer;
const invoke = (args, now2 = Date.now()) => {
timestamp = now2;
lastArgs = null;
if (timer) {
clearTimeout(timer);
timer = null;
}
fn.apply(null, args);
};
const throttled = (...args) => {
const now2 = Date.now();
const passed = now2 - timestamp;
if (passed >= threshold) {
invoke(args, now2);
} else {
lastArgs = args;
if (!timer) {
timer = setTimeout(() => {
timer = null;
invoke(lastArgs);
}, threshold - passed);
}
}
};
const flush = () => lastArgs && invoke(lastArgs);
return [throttled, flush];
}
const progressEventReducer = (listener, isDownloadStream, freq = 3) => {
let bytesNotified = 0;
const _speedometer = speedometer(50, 250);
return throttle((e) => {
const loaded = e.loaded;
const total = e.lengthComputable ? e.total : void 0;
const progressBytes = loaded - bytesNotified;
const rate = _speedometer(progressBytes);
const inRange = loaded <= total;
bytesNotified = loaded;
const data2 = {
loaded,
total,
progress: total ? loaded / total : void 0,
bytes: progressBytes,
rate: rate ? rate : void 0,
estimated: rate && total && inRange ? (total - loaded) / rate : void 0,
event: e,
lengthComputable: total != null,
[isDownloadStream ? "download" : "upload"]: true
};
listener(data2);
}, freq);
};
const progressEventDecorator = (total, throttled) => {
const lengthComputable = total != null;
return [(loaded) => throttled[0]({
lengthComputable,
total,
loaded
}), throttled[1]];
};
const asyncDecorator = (fn) => (...args) => utils$1.asap(() => fn(...args));
const isURLSameOrigin = platform.hasStandardBrowserEnv ? /* @__PURE__ */ ((origin2, isMSIE) => (url) => {
url = new URL(url, platform.origin);
return origin2.protocol === url.protocol && origin2.host === url.host && (isMSIE || origin2.port === url.port);
})(
new URL(platform.origin),
platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)
) : () => true;
const cookies = platform.hasStandardBrowserEnv ? (
// Standard browser envs support document.cookie
{
write(name2, value, expires, path2, domain, secure) {
const cookie = [name2 + "=" + encodeURIComponent(value)];
utils$1.isNumber(expires) && cookie.push("expires=" + new Date(expires).toGMTString());
utils$1.isString(path2) && cookie.push("path=" + path2);
utils$1.isString(domain) && cookie.push("domain=" + domain);
secure === true && cookie.push("secure");
document.cookie = cookie.join("; ");
},
read(name2) {
const match2 = document.cookie.match(new RegExp("(^|;\\s*)(" + name2 + ")=([^;]*)"));
return match2 ? decodeURIComponent(match2[3]) : null;
},
remove(name2) {
this.write(name2, "", Date.now() - 864e5);
}
}
) : (
// Non-standard browser env (web workers, react-native) lack needed support.
{
write() {
},
read() {
return null;
},
remove() {
}
}
);
function isAbsoluteURL(url) {
return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
}
function combineURLs(baseURL, relativeURL) {
return relativeURL ? baseURL.replace(/\/?\/$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL;
}
function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {
let isRelativeUrl = !isAbsoluteURL(requestedURL);
if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {
return combineURLs(baseURL, requestedURL);
}
return requestedURL;
}
const headersToObject = (thing) => thing instanceof AxiosHeaders$1 ? { ...thing } : thing;
function mergeConfig$1(config1, config2) {
config2 = config2 || {};
const config3 = {};
function getMergedValue(target, source, prop, caseless) {
if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) {
return utils$1.merge.call({ caseless }, target, source);
} else if (utils$1.isPlainObject(source)) {
return utils$1.merge({}, source);
} else if (utils$1.isArray(source)) {
return source.slice();
}
return source;
}
function mergeDeepProperties(a, b, prop, caseless) {
if (!utils$1.isUndefined(b)) {
return getMergedValue(a, b, prop, caseless);
} else if (!utils$1.isUndefined(a)) {
return getMergedValue(void 0, a, prop, caseless);
}
}
function valueFromConfig2(a, b) {
if (!utils$1.isUndefined(b)) {
return getMergedValue(void 0, b);
}
}
function defaultToConfig2(a, b) {
if (!utils$1.isUndefined(b)) {
return getMergedValue(void 0, b);
} else if (!utils$1.isUndefined(a)) {
return getMergedValue(void 0, a);
}
}
function mergeDirectKeys(a, b, prop) {
if (prop in config2) {
return getMergedValue(a, b);
} else if (prop in config1) {
return getMergedValue(void 0, a);
}
}
const mergeMap = {
url: valueFromConfig2,
method: valueFromConfig2,
data: valueFromConfig2,
baseURL: defaultToConfig2,
transformRequest: defaultToConfig2,
transformResponse: defaultToConfig2,
paramsSerializer: defaultToConfig2,
timeout: defaultToConfig2,
timeoutMessage: defaultToConfig2,
withCredentials: defaultToConfig2,
withXSRFToken: defaultToConfig2,
adapter: defaultToConfig2,
responseType: defaultToConfig2,
xsrfCookieName: defaultToConfig2,
xsrfHeaderName: defaultToConfig2,
onUploadProgress: defaultToConfig2,
onDownloadProgress: defaultToConfig2,
decompress: defaultToConfig2,
maxContentLength: defaultToConfig2,
maxBodyLength: defaultToConfig2,
beforeRedirect: defaultToConfig2,
transport: defaultToConfig2,
httpAgent: defaultToConfig2,
httpsAgent: defaultToConfig2,
cancelToken: defaultToConfig2,
socketPath: defaultToConfig2,
responseEncoding: defaultToConfig2,
validateStatus: mergeDirectKeys,
headers: (a, b, prop) => mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true)
};
utils$1.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {
const merge3 = mergeMap[prop] || mergeDeepProperties;
const configValue = merge3(config1[prop], config2[prop], prop);
utils$1.isUndefined(configValue) && merge3 !== mergeDirectKeys || (config3[prop] = configValue);
});
return config3;
}
const resolveConfig = (config2) => {
const newConfig = mergeConfig$1({}, config2);
let { data: data2, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;
newConfig.headers = headers = AxiosHeaders$1.from(headers);
newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config2.params, config2.paramsSerializer);
if (auth) {
headers.set(
"Authorization",
"Basic " + btoa((auth.username || "") + ":" + (auth.password ? unescape(encodeURIComponent(auth.password)) : ""))
);
}
let contentType;
if (utils$1.isFormData(data2)) {
if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {
headers.setContentType(void 0);
} else if ((contentType = headers.getContentType()) !== false) {
const [type, ...tokens] = contentType ? contentType.split(";").map((token) => token.trim()).filter(Boolean) : [];
headers.setContentType([type || "multipart/form-data", ...tokens].join("; "));
}
}
if (platform.hasStandardBrowserEnv) {
withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));
if (withXSRFToken || withXSRFToken !== false && isURLSameOrigin(newConfig.url)) {
const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);
if (xsrfValue) {
headers.set(xsrfHeaderName, xsrfValue);
}
}
}
return newConfig;
};
const isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined";
const xhrAdapter = isXHRAdapterSupported && function(config2) {
return new Promise(function dispatchXhrRequest(resolve2, reject2) {
const _config = resolveConfig(config2);
let requestData = _config.data;
const requestHeaders = AxiosHeaders$1.from(_config.headers).normalize();
let { responseType, onUploadProgress, onDownloadProgress } = _config;
let onCanceled;
let uploadThrottled, downloadThrottled;
let flushUpload, flushDownload;
function done() {
flushUpload && flushUpload();
flushDownload && flushDownload();
_config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);
_config.signal && _config.signal.removeEventListener("abort", onCanceled);
}
let request = new XMLHttpRequest();
request.open(_config.method.toUpperCase(), _config.url, true);
request.timeout = _config.timeout;
function onloadend() {
if (!request) {
return;
}
const responseHeaders = AxiosHeaders$1.from(
"getAllResponseHeaders" in request && request.getAllResponseHeaders()
);
const responseData = !responseType || responseType === "text" || responseType === "json" ? request.responseText : request.response;
const response = {
data: responseData,
status: request.status,
statusText: request.statusText,
headers: responseHeaders,
config: config2,
request
};
settle(function _resolve(value) {
resolve2(value);
done();
}, function _reject(err) {
reject2(err);
done();
}, response);
request = null;
}
if ("onloadend" in request) {
request.onloadend = onloadend;
} else {
request.onreadystatechange = function handleLoad() {
if (!request || request.readyState !== 4) {
return;
}
if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf("file:") === 0)) {
return;
}
setTimeout(onloadend);
};
}
request.onabort = function handleAbort() {
if (!request) {
return;
}
reject2(new AxiosError$1("Request aborted", AxiosError$1.ECONNABORTED, config2, request));
request = null;
};
request.onerror = function handleError() {
reject2(new AxiosError$1("Network Error", AxiosError$1.ERR_NETWORK, config2, request));
request = null;
};
request.ontimeout = function handleTimeout() {
let timeoutErrorMessage = _config.timeout ? "timeout of " + _config.timeout + "ms exceeded" : "timeout exceeded";
const transitional2 = _config.transitional || transitionalDefaults;
if (_config.timeoutErrorMessage) {
timeoutErrorMessage = _config.timeoutErrorMessage;
}
reject2(new AxiosError$1(
timeoutErrorMessage,
transitional2.clarifyTimeoutError ? AxiosError$1.ETIMEDOUT : AxiosError$1.ECONNABORTED,
config2,
request
));
request = null;
};
requestData === void 0 && requestHeaders.setContentType(null);
if ("setRequestHeader" in request) {
utils$1.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {
request.setRequestHeader(key, val);
});
}
if (!utils$1.isUndefined(_config.withCredentials)) {
request.withCredentials = !!_config.withCredentials;
}
if (responseType && responseType !== "json") {
request.responseType = _config.responseType;
}
if (onDownloadProgress) {
[downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true);
request.addEventListener("progress", downloadThrottled);
}
if (onUploadProgress && request.upload) {
[uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress);
request.upload.addEventListener("progress", uploadThrottled);
request.upload.addEventListener("loadend", flushUpload);
}
if (_config.cancelToken || _config.signal) {
onCanceled = (cancel) => {
if (!request) {
return;
}
reject2(!cancel || cancel.type ? new CanceledError$1(null, config2, request) : cancel);
request.abort();
request = null;
};
_config.cancelToken && _config.cancelToken.subscribe(onCanceled);
if (_config.signal) {
_config.signal.aborted ? onCanceled() : _config.signal.addEventListener("abort", onCanceled);
}
}
const protocol = parseProtocol(_config.url);
if (protocol && platform.protocols.indexOf(protocol) === -1) {
reject2(new AxiosError$1("Unsupported protocol " + protocol + ":", AxiosError$1.ERR_BAD_REQUEST, config2));
return;
}
request.send(requestData || null);
});
};
const composeSignals = (signals, timeout) => {
const { length } = signals = signals ? signals.filter(Boolean) : [];
if (timeout || length) {
let controller = new AbortController();
let aborted;
const onabort = function(reason) {
if (!aborted) {
aborted = true;
unsubscribe2();
const err = reason instanceof Error ? reason : this.reason;
controller.abort(err instanceof AxiosError$1 ? err : new CanceledError$1(err instanceof Error ? err.message : err));
}
};
let timer = timeout && setTimeout(() => {
timer = null;
onabort(new AxiosError$1(`timeout ${timeout} of ms exceeded`, AxiosError$1.ETIMEDOUT));
}, timeout);
const unsubscribe2 = () => {
if (signals) {
timer && clearTimeout(timer);
timer = null;
signals.forEach((signal2) => {
signal2.unsubscribe ? signal2.unsubscribe(onabort) : signal2.removeEventListener("abort", onabort);
});
signals = null;
}
};
signals.forEach((signal2) => signal2.addEventListener("abort", onabort));
const { signal } = controller;
signal.unsubscribe = () => utils$1.asap(unsubscribe2);
return signal;
}
};
const streamChunk = function* (chunk, chunkSize) {
let len = chunk.byteLength;
if (len < chunkSize) {
yield chunk;
return;
}
let pos = 0;
let end;
while (pos < len) {
end = pos + chunkSize;
yield chunk.slice(pos, end);
pos = end;
}
};
const readBytes = async function* (iterable, chunkSize) {
for await (const chunk of readStream(iterable)) {
yield* streamChunk(chunk, chunkSize);
}
};
const readStream = async function* (stream) {
if (stream[Symbol.asyncIterator]) {
yield* stream;
return;
}
const reader = stream.getReader();
try {
for (; ; ) {
const { done, value } = await reader.read();
if (done) {
break;
}
yield value;
}
} finally {
await reader.cancel();
}
};
const trackStream = (stream, chunkSize, onProgress2, onFinish) => {
const iterator2 = readBytes(stream, chunkSize);
let bytes = 0;
let done;
let _onFinish = (e) => {
if (!done) {
done = true;
onFinish && onFinish(e);
}
};
return new ReadableStream({
async pull(controller) {
try {
const { done: done2, value } = await iterator2.next();
if (done2) {
_onFinish();
controller.close();
return;
}
let len = value.byteLength;
if (onProgress2) {
let loadedBytes = bytes += len;
onProgress2(loadedBytes);
}
controller.enqueue(new Uint8Array(value));
} catch (err) {
_onFinish(err);
throw err;
}
},
cancel(reason) {
_onFinish(reason);
return iterator2.return();
}
}, {
highWaterMark: 2
});
};
const isFetchSupported = typeof fetch === "function" && typeof Request === "function" && typeof Response === "function";
const isReadableStreamSupported = isFetchSupported && typeof ReadableStream === "function";
const encodeText = isFetchSupported && (typeof TextEncoder === "function" ? /* @__PURE__ */ ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) : async (str) => new Uint8Array(await new Response(str).arrayBuffer()));
const test$3 = (fn, ...args) => {
try {
return !!fn(...args);
} catch (e) {
return false;
}
};
const supportsRequestStream = isReadableStreamSupported && test$3(() => {
let duplexAccessed = false;
const hasContentType = new Request(platform.origin, {
body: new ReadableStream(),
method: "POST",
get duplex() {
duplexAccessed = true;
return "half";
}
}).headers.has("Content-Type");
return duplexAccessed && !hasContentType;
});
const DEFAULT_CHUNK_SIZE = 64 * 1024;
const supportsResponseStream = isReadableStreamSupported && test$3(() => utils$1.isReadableStream(new Response("").body));
const resolvers = {
stream: supportsResponseStream && ((res) => res.body)
};
isFetchSupported && ((res) => {
["text", "arrayBuffer", "blob", "formData", "stream"].forEach((type) => {
!resolvers[type] && (resolvers[type] = utils$1.isFunction(res[type]) ? (res2) => res2[type]() : (_, config2) => {
throw new AxiosError$1(`Response type '${type}' is not supported`, AxiosError$1.ERR_NOT_SUPPORT, config2);
});
});
})(new Response());
const getBodyLength = async (body) => {
if (body == null) {
return 0;
}
if (utils$1.isBlob(body)) {
return body.size;
}
if (utils$1.isSpecCompliantForm(body)) {
const _request = new Request(platform.origin, {
method: "POST",
body
});
return (await _request.arrayBuffer()).byteLength;
}
if (utils$1.isArrayBufferView(body) || utils$1.isArrayBuffer(body)) {
return body.byteLength;
}
if (utils$1.isURLSearchParams(body)) {
body = body + "";
}
if (utils$1.isString(body)) {
return (await encodeText(body)).byteLength;
}
};
const resolveBodyLength = async (headers, body) => {
const length = utils$1.toFiniteNumber(headers.getContentLength());
return length == null ? getBodyLength(body) : length;
};
const fetchAdapter = isFetchSupported && (async (config2) => {
let {
url,
method,
data: data2,
signal,
cancelToken,
timeout,
onDownloadProgress,
onUploadProgress,
responseType,
headers,
withCredentials = "same-origin",
fetchOptions
} = resolveConfig(config2);
responseType = responseType ? (responseType + "").toLowerCase() : "text";
let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);
let request;
const unsubscribe2 = composedSignal && composedSignal.unsubscribe && (() => {
composedSignal.unsubscribe();
});
let requestContentLength;
try {
if (onUploadProgress && supportsRequestStream && method !== "get" && method !== "head" && (requestContentLength = await resolveBodyLength(headers, data2)) !== 0) {
let _request = new Request(url, {
method: "POST",
body: data2,
duplex: "half"
});
let contentTypeHeader;
if (utils$1.isFormData(data2) && (contentTypeHeader = _request.headers.get("content-type"))) {
headers.setContentType(contentTypeHeader);
}
if (_request.body) {
const [onProgress2, flush] = progressEventDecorator(
requestContentLength,
progressEventReducer(asyncDecorator(onUploadProgress))
);
data2 = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress2, flush);
}
}
if (!utils$1.isString(withCredentials)) {
withCredentials = withCredentials ? "include" : "omit";
}
const isCredentialsSupported = "credentials" in Request.prototype;
request = new Request(url, {
...fetchOptions,
signal: composedSignal,
method: method.toUpperCase(),
headers: headers.normalize().toJSON(),
body: data2,
duplex: "half",
credentials: isCredentialsSupported ? withCredentials : void 0
});
let response = await fetch(request);
const isStreamResponse = supportsResponseStream && (responseType === "stream" || responseType === "response");
if (supportsResponseStream && (onDownloadProgress || isStreamResponse && unsubscribe2)) {
const options = {};
["status", "statusText", "headers"].forEach((prop) => {
options[prop] = response[prop];
});
const responseContentLength = utils$1.toFiniteNumber(response.headers.get("content-length"));
const [onProgress2, flush] = onDownloadProgress && progressEventDecorator(
responseContentLength,
progressEventReducer(asyncDecorator(onDownloadProgress), true)
) || [];
response = new Response(
trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress2, () => {
flush && flush();
unsubscribe2 && unsubscribe2();
}),
options
);
}
responseType = responseType || "text";
let responseData = await resolvers[utils$1.findKey(resolvers, responseType) || "text"](response, config2);
!isStreamResponse && unsubscribe2 && unsubscribe2();
return await new Promise((resolve2, reject2) => {
settle(resolve2, reject2, {
data: responseData,
headers: AxiosHeaders$1.from(response.headers),
status: response.status,
statusText: response.statusText,
config: config2,
request
});
});
} catch (err) {
unsubscribe2 && unsubscribe2();
if (err && err.name === "TypeError" && /Load failed|fetch/i.test(err.message)) {
throw Object.assign(
new AxiosError$1("Network Error", AxiosError$1.ERR_NETWORK, config2, request),
{
cause: err.cause || err
}
);
}
throw AxiosError$1.from(err, err && err.code, config2, request);
}
});
const knownAdapters = {
http: httpAdapter,
xhr: xhrAdapter,
fetch: fetchAdapter
};
utils$1.forEach(knownAdapters, (fn, value) => {
if (fn) {
try {
Object.defineProperty(fn, "name", { value });
} catch (e) {
}
Object.defineProperty(fn, "adapterName", { value });
}
});
const renderReason = (reason) => `- ${reason}`;
const isResolvedHandle = (adapter) => utils$1.isFunction(adapter) || adapter === null || adapter === false;
const adapters = {
getAdapter: (adapters2) => {
adapters2 = utils$1.isArray(adapters2) ? adapters2 : [adapters2];
const { length } = adapters2;
let nameOrAdapter;
let adapter;
const rejectedReasons = {};
for (let i = 0; i < length; i++) {
nameOrAdapter = adapters2[i];
let id2;
adapter = nameOrAdapter;
if (!isResolvedHandle(nameOrAdapter)) {
adapter = knownAdapters[(id2 = String(nameOrAdapter)).toLowerCase()];
if (adapter === void 0) {
throw new AxiosError$1(`Unknown adapter '${id2}'`);
}
}
if (adapter) {
break;
}
rejectedReasons[id2 || "#" + i] = adapter;
}
if (!adapter) {
const reasons = Object.entries(rejectedReasons).map(
([id2, state]) => `adapter ${id2} ` + (state === false ? "is not supported by the environment" : "is not available in the build")
);
let s = length ? reasons.length > 1 ? "since :\n" + reasons.map(renderReason).join("\n") : " " + renderReason(reasons[0]) : "as no adapter specified";
throw new AxiosError$1(
`There is no suitable adapter to dispatch the request ` + s,
"ERR_NOT_SUPPORT"
);
}
return adapter;
},
adapters: knownAdapters
};
function throwIfCancellationRequested(config2) {
if (config2.cancelToken) {
config2.cancelToken.throwIfRequested();
}
if (config2.signal && config2.signal.aborted) {
throw new CanceledError$1(null, config2);
}
}
function dispatchRequest(config2) {
throwIfCancellationRequested(config2);
config2.headers = AxiosHeaders$1.from(config2.headers);
config2.data = transformData.call(
config2,
config2.transformRequest
);
if (["post", "put", "patch"].indexOf(config2.method) !== -1) {
config2.headers.setContentType("application/x-www-form-urlencoded", false);
}
const adapter = adapters.getAdapter(config2.adapter || defaults.adapter);
return adapter(config2).then(function onAdapterResolution(response) {
throwIfCancellationRequested(config2);
response.data = transformData.call(
config2,
config2.transformResponse,
response
);
response.headers = AxiosHeaders$1.from(response.headers);
return response;
}, function onAdapterRejection(reason) {
if (!isCancel$1(reason)) {
throwIfCancellationRequested(config2);
if (reason && reason.response) {
reason.response.data = transformData.call(
config2,
config2.transformResponse,
reason.response
);
reason.response.headers = AxiosHeaders$1.from(reason.response.headers);
}
}
return Promise.reject(reason);
});
}
const VERSION$1 = "1.9.0";
const validators$1 = {};
["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i) => {
validators$1[type] = function validator2(thing) {
return typeof thing === type || "a" + (i < 1 ? "n " : " ") + type;
};
});
const deprecatedWarnings = {};
validators$1.transitional = function transitional(validator2, version2, message) {
function formatMessage(opt, desc) {
return "[Axios v" + VERSION$1 + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : "");
}
return (value, opt, opts) => {
if (validator2 === false) {
throw new AxiosError$1(
formatMessage(opt, " has been removed" + (version2 ? " in " + version2 : "")),
AxiosError$1.ERR_DEPRECATED
);
}
if (version2 && !deprecatedWarnings[opt]) {
deprecatedWarnings[opt] = true;
console.warn(
formatMessage(
opt,
" has been deprecated since v" + version2 + " and will be removed in the near future"
)
);
}
return validator2 ? validator2(value, opt, opts) : true;
};
};
validators$1.spelling = function spelling(correctSpelling) {
return (value, opt) => {
console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);
return true;
};
};
function assertOptions(options, schema, allowUnknown) {
if (typeof options !== "object") {
throw new AxiosError$1("options must be an object", AxiosError$1.ERR_BAD_OPTION_VALUE);
}
const keys6 = Object.keys(options);
let i = keys6.length;
while (i-- > 0) {
const opt = keys6[i];
const validator2 = schema[opt];
if (validator2) {
const value = options[opt];
const result = value === void 0 || validator2(value, opt, options);
if (result !== true) {
throw new AxiosError$1("option " + opt + " must be " + result, AxiosError$1.ERR_BAD_OPTION_VALUE);
}
continue;
}
if (allowUnknown !== true) {
throw new AxiosError$1("Unknown option " + opt, AxiosError$1.ERR_BAD_OPTION);
}
}
}
const validator = {
assertOptions,
validators: validators$1
};
const validators = validator.validators;
let Axios$1 = class Axios {
constructor(instanceConfig) {
this.defaults = instanceConfig || {};
this.interceptors = {
request: new InterceptorManager(),
response: new InterceptorManager()
};
}
/**
* Dispatch a request
*
* @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
* @param {?Object} config
*
* @returns {Promise} The Promise to be fulfilled
*/
async request(configOrUrl, config2) {
try {
return await this._request(configOrUrl, config2);
} catch (err) {
if (err instanceof Error) {
let dummy = {};
Error.captureStackTrace ? Error.captureStackTrace(dummy) : dummy = new Error();
const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, "") : "";
try {
if (!err.stack) {
err.stack = stack;
} else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ""))) {
err.stack += "\n" + stack;
}
} catch (e) {
}
}
throw err;
}
}
_request(configOrUrl, config2) {
if (typeof configOrUrl === "string") {
config2 = config2 || {};
config2.url = configOrUrl;
} else {
config2 = configOrUrl || {};
}
config2 = mergeConfig$1(this.defaults, config2);
const { transitional: transitional2, paramsSerializer, headers } = config2;
if (transitional2 !== void 0) {
validator.assertOptions(transitional2, {
silentJSONParsing: validators.transitional(validators.boolean),
forcedJSONParsing: validators.transitional(validators.boolean),
clarifyTimeoutError: validators.transitional(validators.boolean)
}, false);
}
if (paramsSerializer != null) {
if (utils$1.isFunction(paramsSerializer)) {
config2.paramsSerializer = {
serialize: paramsSerializer
};
} else {
validator.assertOptions(paramsSerializer, {
encode: validators.function,
serialize: validators.function
}, true);
}
}
if (config2.allowAbsoluteUrls !== void 0) ;
else if (this.defaults.allowAbsoluteUrls !== void 0) {
config2.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;
} else {
config2.allowAbsoluteUrls = true;
}
validator.assertOptions(config2, {
baseUrl: validators.spelling("baseURL"),
withXsrfToken: validators.spelling("withXSRFToken")
}, true);
config2.method = (config2.method || this.defaults.method || "get").toLowerCase();
let contextHeaders = headers && utils$1.merge(
headers.common,
headers[config2.method]
);
headers && utils$1.forEach(
["delete", "get", "head", "post", "put", "patch", "common"],
(method) => {
delete headers[method];
}
);
config2.headers = AxiosHeaders$1.concat(contextHeaders, headers);
const requestInterceptorChain = [];
let synchronousRequestInterceptors = true;
this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config2) === false) {
return;
}
synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
});
const responseInterceptorChain = [];
this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
});
let promise2;
let i = 0;
let len;
if (!synchronousRequestInterceptors) {
const chain = [dispatchRequest.bind(this), void 0];
chain.unshift.apply(chain, requestInterceptorChain);
chain.push.apply(chain, responseInterceptorChain);
len = chain.length;
promise2 = Promise.resolve(config2);
while (i < len) {
promise2 = promise2.then(chain[i++], chain[i++]);
}
return promise2;
}
len = requestInterceptorChain.length;
let newConfig = config2;
i = 0;
while (i < len) {
const onFulfilled = requestInterceptorChain[i++];
const onRejected = requestInterceptorChain[i++];
try {
newConfig = onFulfilled(newConfig);
} catch (error2) {
onRejected.call(this, error2);
break;
}
}
try {
promise2 = dispatchRequest.call(this, newConfig);
} catch (error2) {
return Promise.reject(error2);
}
i = 0;
len = responseInterceptorChain.length;
while (i < len) {
promise2 = promise2.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);
}
return promise2;
}
getUri(config2) {
config2 = mergeConfig$1(this.defaults, config2);
const fullPath = buildFullPath(config2.baseURL, config2.url, config2.allowAbsoluteUrls);
return buildURL(fullPath, config2.params, config2.paramsSerializer);
}
};
utils$1.forEach(["delete", "get", "head", "options"], function forEachMethodNoData(method) {
Axios$1.prototype[method] = function(url, config2) {
return this.request(mergeConfig$1(config2 || {}, {
method,
url,
data: (config2 || {}).data
}));
};
});
utils$1.forEach(["post", "put", "patch"], function forEachMethodWithData(method) {
function generateHTTPMethod(isForm) {
return function httpMethod(url, data2, config2) {
return this.request(mergeConfig$1(config2 || {}, {
method,
headers: isForm ? {
"Content-Type": "multipart/form-data"
} : {},
url,
data: data2
}));
};
}
Axios$1.prototype[method] = generateHTTPMethod();
Axios$1.prototype[method + "Form"] = generateHTTPMethod(true);
});
let CancelToken$1 = class CancelToken {
constructor(executor) {
if (typeof executor !== "function") {
throw new TypeError("executor must be a function.");
}
let resolvePromise;
this.promise = new Promise(function promiseExecutor(resolve2) {
resolvePromise = resolve2;
});
const token = this;
this.promise.then((cancel) => {
if (!token._listeners) return;
let i = token._listeners.length;
while (i-- > 0) {
token._listeners[i](cancel);
}
token._listeners = null;
});
this.promise.then = (onfulfilled) => {
let _resolve;
const promise2 = new Promise((resolve2) => {
token.subscribe(resolve2);
_resolve = resolve2;
}).then(onfulfilled);
promise2.cancel = function reject2() {
token.unsubscribe(_resolve);
};
return promise2;
};
executor(function cancel(message, config2, request) {
if (token.reason) {
return;
}
token.reason = new CanceledError$1(message, config2, request);
resolvePromise(token.reason);
});
}
/**
* Throws a `CanceledError` if cancellation has been requested.
*/
throwIfRequested() {
if (this.reason) {
throw this.reason;
}
}
/**
* Subscribe to the cancel signal
*/
subscribe(listener) {
if (this.reason) {
listener(this.reason);
return;
}
if (this._listeners) {
this._listeners.push(listener);
} else {
this._listeners = [listener];
}
}
/**
* Unsubscribe from the cancel signal
*/
unsubscribe(listener) {
if (!this._listeners) {
return;
}
const index2 = this._listeners.indexOf(listener);
if (index2 !== -1) {
this._listeners.splice(index2, 1);
}
}
toAbortSignal() {
const controller = new AbortController();
const abort = (err) => {
controller.abort(err);
};
this.subscribe(abort);
controller.signal.unsubscribe = () => this.unsubscribe(abort);
return controller.signal;
}
/**
* Returns an object that contains a new `CancelToken` and a function that, when called,
* cancels the `CancelToken`.
*/
static source() {
let cancel;
const token = new CancelToken(function executor(c) {
cancel = c;
});
return {
token,
cancel
};
}
};
function spread$1(callback) {
return function wrap3(arr) {
return callback.apply(null, arr);
};
}
function isAxiosError$1(payload) {
return utils$1.isObject(payload) && payload.isAxiosError === true;
}
const HttpStatusCode$1 = {
Continue: 100,
SwitchingProtocols: 101,
Processing: 102,
EarlyHints: 103,
Ok: 200,
Created: 201,
Accepted: 202,
NonAuthoritativeInformation: 203,
NoContent: 204,
ResetContent: 205,
PartialContent: 206,
MultiStatus: 207,
AlreadyReported: 208,
ImUsed: 226,
MultipleChoices: 300,
MovedPermanently: 301,
Found: 302,
SeeOther: 303,
NotModified: 304,
UseProxy: 305,
Unused: 306,
TemporaryRedirect: 307,
PermanentRedirect: 308,
BadRequest: 400,
Unauthorized: 401,
PaymentRequired: 402,
Forbidden: 403,
NotFound: 404,
MethodNotAllowed: 405,
NotAcceptable: 406,
ProxyAuthenticationRequired: 407,
RequestTimeout: 408,
Conflict: 409,
Gone: 410,
LengthRequired: 411,
PreconditionFailed: 412,
PayloadTooLarge: 413,
UriTooLong: 414,
UnsupportedMediaType: 415,
RangeNotSatisfiable: 416,
ExpectationFailed: 417,
ImATeapot: 418,
MisdirectedRequest: 421,
UnprocessableEntity: 422,
Locked: 423,
FailedDependency: 424,
TooEarly: 425,
UpgradeRequired: 426,
PreconditionRequired: 428,
TooManyRequests: 429,
RequestHeaderFieldsTooLarge: 431,
UnavailableForLegalReasons: 451,
InternalServerError: 500,
NotImplemented: 501,
BadGateway: 502,
ServiceUnavailable: 503,
GatewayTimeout: 504,
HttpVersionNotSupported: 505,
VariantAlsoNegotiates: 506,
InsufficientStorage: 507,
LoopDetected: 508,
NotExtended: 510,
NetworkAuthenticationRequired: 511
};
Object.entries(HttpStatusCode$1).forEach(([key, value]) => {
HttpStatusCode$1[value] = key;
});
function createInstance(defaultConfig) {
const context = new Axios$1(defaultConfig);
const instance = bind(Axios$1.prototype.request, context);
utils$1.extend(instance, Axios$1.prototype, context, { allOwnKeys: true });
utils$1.extend(instance, context, null, { allOwnKeys: true });
instance.create = function create5(instanceConfig) {
return createInstance(mergeConfig$1(defaultConfig, instanceConfig));
};
return instance;
}
const axios = createInstance(defaults);
axios.Axios = Axios$1;
axios.CanceledError = CanceledError$1;
axios.CancelToken = CancelToken$1;
axios.isCancel = isCancel$1;
axios.VERSION = VERSION$1;
axios.toFormData = toFormData$1;
axios.AxiosError = AxiosError$1;
axios.Cancel = axios.CanceledError;
axios.all = function all(promises) {
return Promise.all(promises);
};
axios.spread = spread$1;
axios.isAxiosError = isAxiosError$1;
axios.mergeConfig = mergeConfig$1;
axios.AxiosHeaders = AxiosHeaders$1;
axios.formToJSON = (thing) => formDataToJSON(utils$1.isHTMLForm(thing) ? new FormData(thing) : thing);
axios.getAdapter = adapters.getAdapter;
axios.HttpStatusCode = HttpStatusCode$1;
axios.default = axios;
const {
Axios: Axios2,
AxiosError,
CanceledError,
isCancel,
CancelToken: CancelToken2,
VERSION,
all: all2,
Cancel,
isAxiosError,
spread,
toFormData,
AxiosHeaders: AxiosHeaders2,
HttpStatusCode,
formToJSON,
getAdapter,
mergeConfig
} = axios;
function _assertThisInitialized(e) {
if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
return e;
}
function asyncGeneratorStep(n, t, e, r, o, a, c) {
try {
var i = n[a](c), u = i.value;
} catch (n2) {
return void e(n2);
}
i.done ? t(u) : Promise.resolve(u).then(r, o);
}
function _asyncToGenerator(n) {
return function() {
var t = this, e = arguments;
return new Promise(function(r, o) {
var a = n.apply(t, e);
function _next(n2) {
asyncGeneratorStep(a, r, o, _next, _throw, "next", n2);
}
function _throw(n2) {
asyncGeneratorStep(a, r, o, _next, _throw, "throw", n2);
}
_next(void 0);
});
};
}
function _callSuper(t, o, e) {
return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
}
function _classCallCheck(a, n) {
if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
}
function _construct(t, e, r) {
if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);
var o = [null];
o.push.apply(o, e);
var p = new (t.bind.apply(t, o))();
return r && _setPrototypeOf(p, r.prototype), p;
}
function _defineProperties(e, r) {
for (var t = 0; t < r.length; t++) {
var o = r[t];
o.enumerable = o.enumerable || false, o.configurable = true, "value" in o && (o.writable = true), Object.defineProperty(e, _toPropertyKey(o.key), o);
}
}
function _createClass(e, r, t) {
return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", {
writable: false
}), e;
}
function _defineProperty(e, r, t) {
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
value: t,
enumerable: true,
configurable: true,
writable: true
}) : e[r] = t, e;
}
function _getPrototypeOf(t) {
return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t2) {
return t2.__proto__ || Object.getPrototypeOf(t2);
}, _getPrototypeOf(t);
}
function _inherits(t, e) {
if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
t.prototype = Object.create(e && e.prototype, {
constructor: {
value: t,
writable: true,
configurable: true
}
}), Object.defineProperty(t, "prototype", {
writable: false
}), e && _setPrototypeOf(t, e);
}
function _isNativeFunction(t) {
try {
return -1 !== Function.toString.call(t).indexOf("[native code]");
} catch (n) {
return "function" == typeof t;
}
}
function _isNativeReflectConstruct() {
try {
var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
}));
} catch (t2) {
}
return (_isNativeReflectConstruct = function() {
return !!t;
})();
}
function ownKeys$4(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread2(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$4(Object(t), true).forEach(function(r2) {
_defineProperty(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function _possibleConstructorReturn(t, e) {
if (e && ("object" == typeof e || "function" == typeof e)) return e;
if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined");
return _assertThisInitialized(t);
}
function _regeneratorRuntime() {
_regeneratorRuntime = function() {
return r;
};
var t, r = {}, e = Object.prototype, n = e.hasOwnProperty, o = "function" == typeof Symbol ? Symbol : {}, i = o.iterator || "@@iterator", a = o.asyncIterator || "@@asyncIterator", u = o.toStringTag || "@@toStringTag";
function c(t2, r2, e2, n2) {
return Object.defineProperty(t2, r2, {
value: e2,
enumerable: !n2,
configurable: !n2,
writable: !n2
});
}
try {
c({}, "");
} catch (t2) {
c = function(t3, r2, e2) {
return t3[r2] = e2;
};
}
function h2(r2, e2, n2, o2) {
var i2 = e2 && e2.prototype instanceof Generator ? e2 : Generator, a2 = Object.create(i2.prototype);
return c(a2, "_invoke", /* @__PURE__ */ function(r3, e3, n3) {
var o3 = 1;
return function(i3, a3) {
if (3 === o3) throw Error("Generator is already running");
if (4 === o3) {
if ("throw" === i3) throw a3;
return {
value: t,
done: true
};
}
for (n3.method = i3, n3.arg = a3; ; ) {
var u2 = n3.delegate;
if (u2) {
var c2 = d(u2, n3);
if (c2) {
if (c2 === f) continue;
return c2;
}
}
if ("next" === n3.method) n3.sent = n3._sent = n3.arg;
else if ("throw" === n3.method) {
if (1 === o3) throw o3 = 4, n3.arg;
n3.dispatchException(n3.arg);
} else "return" === n3.method && n3.abrupt("return", n3.arg);
o3 = 3;
var h22 = s(r3, e3, n3);
if ("normal" === h22.type) {
if (o3 = n3.done ? 4 : 2, h22.arg === f) continue;
return {
value: h22.arg,
done: n3.done
};
}
"throw" === h22.type && (o3 = 4, n3.method = "throw", n3.arg = h22.arg);
}
};
}(r2, n2, new Context(o2 || [])), true), a2;
}
function s(t2, r2, e2) {
try {
return {
type: "normal",
arg: t2.call(r2, e2)
};
} catch (t3) {
return {
type: "throw",
arg: t3
};
}
}
r.wrap = h2;
var f = {};
function Generator() {
}
function GeneratorFunction() {
}
function GeneratorFunctionPrototype() {
}
var l = {};
c(l, i, function() {
return this;
});
var p = Object.getPrototypeOf, y = p && p(p(x([])));
y && y !== e && n.call(y, i) && (l = y);
var v = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(l);
function g(t2) {
["next", "throw", "return"].forEach(function(r2) {
c(t2, r2, function(t3) {
return this._invoke(r2, t3);
});
});
}
function AsyncIterator(t2, r2) {
function e2(o3, i2, a2, u2) {
var c2 = s(t2[o3], t2, i2);
if ("throw" !== c2.type) {
var h22 = c2.arg, f2 = h22.value;
return f2 && "object" == typeof f2 && n.call(f2, "__await") ? r2.resolve(f2.__await).then(function(t3) {
e2("next", t3, a2, u2);
}, function(t3) {
e2("throw", t3, a2, u2);
}) : r2.resolve(f2).then(function(t3) {
h22.value = t3, a2(h22);
}, function(t3) {
return e2("throw", t3, a2, u2);
});
}
u2(c2.arg);
}
var o2;
c(this, "_invoke", function(t3, n2) {
function i2() {
return new r2(function(r3, o3) {
e2(t3, n2, r3, o3);
});
}
return o2 = o2 ? o2.then(i2, i2) : i2();
}, true);
}
function d(r2, e2) {
var n2 = e2.method, o2 = r2.i[n2];
if (o2 === t) return e2.delegate = null, "throw" === n2 && r2.i.return && (e2.method = "return", e2.arg = t, d(r2, e2), "throw" === e2.method) || "return" !== n2 && (e2.method = "throw", e2.arg = new TypeError("The iterator does not provide a '" + n2 + "' method")), f;
var i2 = s(o2, r2.i, e2.arg);
if ("throw" === i2.type) return e2.method = "throw", e2.arg = i2.arg, e2.delegate = null, f;
var a2 = i2.arg;
return a2 ? a2.done ? (e2[r2.r] = a2.value, e2.next = r2.n, "return" !== e2.method && (e2.method = "next", e2.arg = t), e2.delegate = null, f) : a2 : (e2.method = "throw", e2.arg = new TypeError("iterator result is not an object"), e2.delegate = null, f);
}
function w(t2) {
this.tryEntries.push(t2);
}
function m(r2) {
var e2 = r2[4] || {};
e2.type = "normal", e2.arg = t, r2[4] = e2;
}
function Context(t2) {
this.tryEntries = [[-1]], t2.forEach(w, this), this.reset(true);
}
function x(r2) {
if (null != r2) {
var e2 = r2[i];
if (e2) return e2.call(r2);
if ("function" == typeof r2.next) return r2;
if (!isNaN(r2.length)) {
var o2 = -1, a2 = function e3() {
for (; ++o2 < r2.length; ) if (n.call(r2, o2)) return e3.value = r2[o2], e3.done = false, e3;
return e3.value = t, e3.done = true, e3;
};
return a2.next = a2;
}
}
throw new TypeError(typeof r2 + " is not iterable");
}
return GeneratorFunction.prototype = GeneratorFunctionPrototype, c(v, "constructor", GeneratorFunctionPrototype), c(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = c(GeneratorFunctionPrototype, u, "GeneratorFunction"), r.isGeneratorFunction = function(t2) {
var r2 = "function" == typeof t2 && t2.constructor;
return !!r2 && (r2 === GeneratorFunction || "GeneratorFunction" === (r2.displayName || r2.name));
}, r.mark = function(t2) {
return Object.setPrototypeOf ? Object.setPrototypeOf(t2, GeneratorFunctionPrototype) : (t2.__proto__ = GeneratorFunctionPrototype, c(t2, u, "GeneratorFunction")), t2.prototype = Object.create(v), t2;
}, r.awrap = function(t2) {
return {
__await: t2
};
}, g(AsyncIterator.prototype), c(AsyncIterator.prototype, a, function() {
return this;
}), r.AsyncIterator = AsyncIterator, r.async = function(t2, e2, n2, o2, i2) {
void 0 === i2 && (i2 = Promise);
var a2 = new AsyncIterator(h2(t2, e2, n2, o2), i2);
return r.isGeneratorFunction(e2) ? a2 : a2.next().then(function(t3) {
return t3.done ? t3.value : a2.next();
});
}, g(v), c(v, u, "Generator"), c(v, i, function() {
return this;
}), c(v, "toString", function() {
return "[object Generator]";
}), r.keys = function(t2) {
var r2 = Object(t2), e2 = [];
for (var n2 in r2) e2.unshift(n2);
return function t3() {
for (; e2.length; ) if ((n2 = e2.pop()) in r2) return t3.value = n2, t3.done = false, t3;
return t3.done = true, t3;
};
}, r.values = x, Context.prototype = {
constructor: Context,
reset: function(r2) {
if (this.prev = this.next = 0, this.sent = this._sent = t, this.done = false, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(m), !r2) for (var e2 in this) "t" === e2.charAt(0) && n.call(this, e2) && !isNaN(+e2.slice(1)) && (this[e2] = t);
},
stop: function() {
this.done = true;
var t2 = this.tryEntries[0][4];
if ("throw" === t2.type) throw t2.arg;
return this.rval;
},
dispatchException: function(r2) {
if (this.done) throw r2;
var e2 = this;
function n2(t2) {
a2.type = "throw", a2.arg = r2, e2.next = t2;
}
for (var o2 = e2.tryEntries.length - 1; o2 >= 0; --o2) {
var i2 = this.tryEntries[o2], a2 = i2[4], u2 = this.prev, c2 = i2[1], h22 = i2[2];
if (-1 === i2[0]) return n2("end"), false;
if (!c2 && !h22) throw Error("try statement without catch or finally");
if (null != i2[0] && i2[0] <= u2) {
if (u2 < c2) return this.method = "next", this.arg = t, n2(c2), true;
if (u2 < h22) return n2(h22), false;
}
}
},
abrupt: function(t2, r2) {
for (var e2 = this.tryEntries.length - 1; e2 >= 0; --e2) {
var n2 = this.tryEntries[e2];
if (n2[0] > -1 && n2[0] <= this.prev && this.prev < n2[2]) {
var o2 = n2;
break;
}
}
o2 && ("break" === t2 || "continue" === t2) && o2[0] <= r2 && r2 <= o2[2] && (o2 = null);
var i2 = o2 ? o2[4] : {};
return i2.type = t2, i2.arg = r2, o2 ? (this.method = "next", this.next = o2[2], f) : this.complete(i2);
},
complete: function(t2, r2) {
if ("throw" === t2.type) throw t2.arg;
return "break" === t2.type || "continue" === t2.type ? this.next = t2.arg : "return" === t2.type ? (this.rval = this.arg = t2.arg, this.method = "return", this.next = "end") : "normal" === t2.type && r2 && (this.next = r2), f;
},
finish: function(t2) {
for (var r2 = this.tryEntries.length - 1; r2 >= 0; --r2) {
var e2 = this.tryEntries[r2];
if (e2[2] === t2) return this.complete(e2[4], e2[3]), m(e2), f;
}
},
catch: function(t2) {
for (var r2 = this.tryEntries.length - 1; r2 >= 0; --r2) {
var e2 = this.tryEntries[r2];
if (e2[0] === t2) {
var n2 = e2[4];
if ("throw" === n2.type) {
var o2 = n2.arg;
m(e2);
}
return o2;
}
}
throw Error("illegal catch attempt");
},
delegateYield: function(r2, e2, n2) {
return this.delegate = {
i: x(r2),
r: e2,
n: n2
}, "next" === this.method && (this.arg = t), f;
}
}, r;
}
function _setPrototypeOf(t, e) {
return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t2, e2) {
return t2.__proto__ = e2, t2;
}, _setPrototypeOf(t, e);
}
function _toPrimitive(t, r) {
if ("object" != typeof t || !t) return t;
var e = t[Symbol.toPrimitive];
if (void 0 !== e) {
var i = e.call(t, r);
if ("object" != typeof i) return i;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return ("string" === r ? String : Number)(t);
}
function _toPropertyKey(t) {
var i = _toPrimitive(t, "string");
return "symbol" == typeof i ? i : i + "";
}
function _typeof(o) {
"@babel/helpers - typeof";
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
return typeof o2;
} : function(o2) {
return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2;
}, _typeof(o);
}
function _wrapNativeSuper(t) {
var r = "function" == typeof Map ? /* @__PURE__ */ new Map() : void 0;
return _wrapNativeSuper = function(t2) {
if (null === t2 || !_isNativeFunction(t2)) return t2;
if ("function" != typeof t2) throw new TypeError("Super expression must either be null or a function");
if (void 0 !== r) {
if (r.has(t2)) return r.get(t2);
r.set(t2, Wrapper);
}
function Wrapper() {
return _construct(t2, arguments, _getPrototypeOf(this).constructor);
}
return Wrapper.prototype = Object.create(t2.prototype, {
constructor: {
value: Wrapper,
enumerable: false,
writable: true,
configurable: true
}
}), _setPrototypeOf(Wrapper, t2);
}, _wrapNativeSuper(t);
}
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
var check = function check2(it) {
return it && it.Math === Math && it;
};
var globalThis_1 = (
// eslint-disable-next-line es/no-global-this -- safe
check((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) == "object" && globalThis) || check((typeof window === "undefined" ? "undefined" : _typeof(window)) == "object" && window) || // eslint-disable-next-line no-restricted-globals -- safe
check((typeof self === "undefined" ? "undefined" : _typeof(self)) == "object" && self) || check(_typeof(commonjsGlobal) == "object" && commonjsGlobal) || check(_typeof(commonjsGlobal) == "object" && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback
/* @__PURE__ */ function() {
return this;
}() || Function("return this")()
);
var objectGetOwnPropertyDescriptor = {};
var fails$1e = function fails(exec2) {
try {
return !!exec2();
} catch (error2) {
return true;
}
};
var fails$1d = fails$1e;
var descriptors = !fails$1d(function() {
return Object.defineProperty({}, 1, {
get: function get6() {
return 7;
}
})[1] !== 7;
});
var fails$1c = fails$1e;
var functionBindNative = !fails$1c(function() {
var test2 = (function() {
}).bind();
return typeof test2 != "function" || test2.hasOwnProperty("prototype");
});
var NATIVE_BIND$4 = functionBindNative;
var call$N = Function.prototype.call;
var functionCall = NATIVE_BIND$4 ? call$N.bind(call$N) : function() {
return call$N.apply(call$N, arguments);
};
var objectPropertyIsEnumerable = {};
var $propertyIsEnumerable$2 = {}.propertyIsEnumerable;
var getOwnPropertyDescriptor$a = Object.getOwnPropertyDescriptor;
var NASHORN_BUG = getOwnPropertyDescriptor$a && !$propertyIsEnumerable$2.call({
1: 2
}, 1);
objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
var descriptor = getOwnPropertyDescriptor$a(this, V);
return !!descriptor && descriptor.enumerable;
} : $propertyIsEnumerable$2;
var createPropertyDescriptor$a = function createPropertyDescriptor(bitmap, value) {
return {
enumerable: !(bitmap & 1),
configurable: !(bitmap & 2),
writable: !(bitmap & 4),
value
};
};
var NATIVE_BIND$3 = functionBindNative;
var FunctionPrototype$4 = Function.prototype;
var call$M = FunctionPrototype$4.call;
var uncurryThisWithBind = NATIVE_BIND$3 && FunctionPrototype$4.bind.bind(call$M, call$M);
var functionUncurryThis = NATIVE_BIND$3 ? uncurryThisWithBind : function(fn) {
return function() {
return call$M.apply(fn, arguments);
};
};
var uncurryThis$1f = functionUncurryThis;
var toString$v = uncurryThis$1f({}.toString);
var stringSlice$g = uncurryThis$1f("".slice);
var classofRaw$2 = function classofRaw(it) {
return stringSlice$g(toString$v(it), 8, -1);
};
var uncurryThis$1e = functionUncurryThis;
var fails$1b = fails$1e;
var classof$k = classofRaw$2;
var $Object$8 = Object;
var split$4 = uncurryThis$1e("".split);
var indexedObject = fails$1b(function() {
return !$Object$8("z").propertyIsEnumerable(0);
}) ? function(it) {
return classof$k(it) === "String" ? split$4(it, "") : $Object$8(it);
} : $Object$8;
var isNullOrUndefined$a = function isNullOrUndefined(it) {
return it === null || it === void 0;
};
var isNullOrUndefined$9 = isNullOrUndefined$a;
var $TypeError$u = TypeError;
var requireObjectCoercible$k = function requireObjectCoercible(it) {
if (isNullOrUndefined$9(it)) throw new $TypeError$u("Can't call method on " + it);
return it;
};
var IndexedObject$4 = indexedObject;
var requireObjectCoercible$j = requireObjectCoercible$k;
var toIndexedObject$f = function toIndexedObject(it) {
return IndexedObject$4(requireObjectCoercible$j(it));
};
var documentAll = (typeof document === "undefined" ? "undefined" : _typeof(document)) == "object" && document.all;
var isCallable$z = typeof documentAll == "undefined" && documentAll !== void 0 ? function(argument) {
return typeof argument == "function" || argument === documentAll;
} : function(argument) {
return typeof argument == "function";
};
var isCallable$y = isCallable$z;
var isObject$I = function isObject2(it) {
return _typeof(it) == "object" ? it !== null : isCallable$y(it);
};
var globalThis$V = globalThis_1;
var isCallable$x = isCallable$z;
var aFunction = function aFunction2(argument) {
return isCallable$x(argument) ? argument : void 0;
};
var getBuiltIn$n = function getBuiltIn(namespace, method) {
return arguments.length < 2 ? aFunction(globalThis$V[namespace]) : globalThis$V[namespace] && globalThis$V[namespace][method];
};
var uncurryThis$1d = functionUncurryThis;
var objectIsPrototypeOf = uncurryThis$1d({}.isPrototypeOf);
var globalThis$U = globalThis_1;
var navigator$1 = globalThis$U.navigator;
var userAgent$8 = navigator$1 && navigator$1.userAgent;
var environmentUserAgent = userAgent$8 ? String(userAgent$8) : "";
var globalThis$T = globalThis_1;
var userAgent$7 = environmentUserAgent;
var process$3 = globalThis$T.process;
var Deno$1 = globalThis$T.Deno;
var versions = process$3 && process$3.versions || Deno$1 && Deno$1.version;
var v8 = versions && versions.v8;
var match, version;
if (v8) {
match = v8.split(".");
version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
}
if (!version && userAgent$7) {
match = userAgent$7.match(/Edge\/(\d+)/);
if (!match || match[1] >= 74) {
match = userAgent$7.match(/Chrome\/(\d+)/);
if (match) version = +match[1];
}
}
var environmentV8Version = version;
var V8_VERSION$3 = environmentV8Version;
var fails$1a = fails$1e;
var globalThis$S = globalThis_1;
var $String$7 = globalThis$S.String;
var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$1a(function() {
var symbol = Symbol("symbol detection");
return !$String$7(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
!Symbol.sham && V8_VERSION$3 && V8_VERSION$3 < 41;
});
var NATIVE_SYMBOL$6 = symbolConstructorDetection;
var useSymbolAsUid = NATIVE_SYMBOL$6 && !Symbol.sham && _typeof(Symbol.iterator) == "symbol";
var getBuiltIn$m = getBuiltIn$n;
var isCallable$w = isCallable$z;
var isPrototypeOf$b = objectIsPrototypeOf;
var USE_SYMBOL_AS_UID$1 = useSymbolAsUid;
var $Object$7 = Object;
var isSymbol$6 = USE_SYMBOL_AS_UID$1 ? function(it) {
return _typeof(it) == "symbol";
} : function(it) {
var $Symbol2 = getBuiltIn$m("Symbol");
return isCallable$w($Symbol2) && isPrototypeOf$b($Symbol2.prototype, $Object$7(it));
};
var $String$6 = String;
var tryToString$7 = function tryToString(argument) {
try {
return $String$6(argument);
} catch (error2) {
return "Object";
}
};
var isCallable$v = isCallable$z;
var tryToString$6 = tryToString$7;
var $TypeError$t = TypeError;
var aCallable$s = function aCallable(argument) {
if (isCallable$v(argument)) return argument;
throw new $TypeError$t(tryToString$6(argument) + " is not a function");
};
var aCallable$r = aCallable$s;
var isNullOrUndefined$8 = isNullOrUndefined$a;
var getMethod$b = function getMethod(V, P2) {
var func = V[P2];
return isNullOrUndefined$8(func) ? void 0 : aCallable$r(func);
};
var call$L = functionCall;
var isCallable$u = isCallable$z;
var isObject$H = isObject$I;
var $TypeError$s = TypeError;
var ordinaryToPrimitive$2 = function ordinaryToPrimitive(input, pref) {
var fn, val;
if (pref === "string" && isCallable$u(fn = input.toString) && !isObject$H(val = call$L(fn, input))) return val;
if (isCallable$u(fn = input.valueOf) && !isObject$H(val = call$L(fn, input))) return val;
if (pref !== "string" && isCallable$u(fn = input.toString) && !isObject$H(val = call$L(fn, input))) return val;
throw new $TypeError$s("Can't convert object to primitive value");
};
var sharedStore = { exports: {} };
var isPure = false;
var globalThis$R = globalThis_1;
var defineProperty$c = Object.defineProperty;
var defineGlobalProperty$3 = function defineGlobalProperty(key, value) {
try {
defineProperty$c(globalThis$R, key, {
value,
configurable: true,
writable: true
});
} catch (error2) {
globalThis$R[key] = value;
}
return value;
};
var globalThis$Q = globalThis_1;
var defineGlobalProperty$2 = defineGlobalProperty$3;
var SHARED = "__core-js_shared__";
var store$5 = sharedStore.exports = globalThis$Q[SHARED] || defineGlobalProperty$2(SHARED, {});
(store$5.versions || (store$5.versions = [])).push({
version: "3.42.0",
mode: "global",
copyright: "© 2014-2025 Denis Pushkarev (zloirock.ru)",
license: "https://github.com/zloirock/core-js/blob/v3.42.0/LICENSE",
source: "https://github.com/zloirock/core-js"
});
var sharedStoreExports = sharedStore.exports;
var store$4 = sharedStoreExports;
var shared$8 = function shared(key, value) {
return store$4[key] || (store$4[key] = value || {});
};
var requireObjectCoercible$i = requireObjectCoercible$k;
var $Object$6 = Object;
var toObject$s = function toObject(argument) {
return $Object$6(requireObjectCoercible$i(argument));
};
var uncurryThis$1c = functionUncurryThis;
var toObject$r = toObject$s;
var hasOwnProperty = uncurryThis$1c({}.hasOwnProperty);
var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
return hasOwnProperty(toObject$r(it), key);
};
var uncurryThis$1b = functionUncurryThis;
var id$2 = 0;
var postfix = Math.random();
var toString$u = uncurryThis$1b(1 .toString);
var uid$5 = function uid(key) {
return "Symbol(" + (key === void 0 ? "" : key) + ")_" + toString$u(++id$2 + postfix, 36);
};
var globalThis$P = globalThis_1;
var shared$7 = shared$8;
var hasOwn$r = hasOwnProperty_1;
var uid$4 = uid$5;
var NATIVE_SYMBOL$5 = symbolConstructorDetection;
var USE_SYMBOL_AS_UID = useSymbolAsUid;
var _Symbol$3 = globalThis$P.Symbol;
var WellKnownSymbolsStore$1 = shared$7("wks");
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? _Symbol$3["for"] || _Symbol$3 : _Symbol$3 && _Symbol$3.withoutSetter || uid$4;
var wellKnownSymbol$C = function wellKnownSymbol(name2) {
if (!hasOwn$r(WellKnownSymbolsStore$1, name2)) {
WellKnownSymbolsStore$1[name2] = NATIVE_SYMBOL$5 && hasOwn$r(_Symbol$3, name2) ? _Symbol$3[name2] : createWellKnownSymbol("Symbol." + name2);
}
return WellKnownSymbolsStore$1[name2];
};
var call$K = functionCall;
var isObject$G = isObject$I;
var isSymbol$5 = isSymbol$6;
var getMethod$a = getMethod$b;
var ordinaryToPrimitive$1 = ordinaryToPrimitive$2;
var wellKnownSymbol$B = wellKnownSymbol$C;
var $TypeError$r = TypeError;
var TO_PRIMITIVE$1 = wellKnownSymbol$B("toPrimitive");
var toPrimitive$4 = function toPrimitive(input, pref) {
if (!isObject$G(input) || isSymbol$5(input)) return input;
var exoticToPrim = getMethod$a(input, TO_PRIMITIVE$1);
var result;
if (exoticToPrim) {
if (pref === void 0) pref = "default";
result = call$K(exoticToPrim, input, pref);
if (!isObject$G(result) || isSymbol$5(result)) return result;
throw new $TypeError$r("Can't convert object to primitive value");
}
if (pref === void 0) pref = "number";
return ordinaryToPrimitive$1(input, pref);
};
var toPrimitive$3 = toPrimitive$4;
var isSymbol$4 = isSymbol$6;
var toPropertyKey$7 = function toPropertyKey(argument) {
var key = toPrimitive$3(argument, "string");
return isSymbol$4(key) ? key : key + "";
};
var globalThis$O = globalThis_1;
var isObject$F = isObject$I;
var document$3 = globalThis$O.document;
var EXISTS$1 = isObject$F(document$3) && isObject$F(document$3.createElement);
var documentCreateElement$2 = function documentCreateElement(it) {
return EXISTS$1 ? document$3.createElement(it) : {};
};
var DESCRIPTORS$G = descriptors;
var fails$19 = fails$1e;
var createElement$1 = documentCreateElement$2;
var ie8DomDefine = !DESCRIPTORS$G && !fails$19(function() {
return Object.defineProperty(createElement$1("div"), "a", {
get: function get6() {
return 7;
}
}).a !== 7;
});
var DESCRIPTORS$F = descriptors;
var call$J = functionCall;
var propertyIsEnumerableModule$2 = objectPropertyIsEnumerable;
var createPropertyDescriptor$9 = createPropertyDescriptor$a;
var toIndexedObject$e = toIndexedObject$f;
var toPropertyKey$6 = toPropertyKey$7;
var hasOwn$q = hasOwnProperty_1;
var IE8_DOM_DEFINE$1 = ie8DomDefine;
var $getOwnPropertyDescriptor$2 = Object.getOwnPropertyDescriptor;
objectGetOwnPropertyDescriptor.f = DESCRIPTORS$F ? $getOwnPropertyDescriptor$2 : function getOwnPropertyDescriptor(O, P2) {
O = toIndexedObject$e(O);
P2 = toPropertyKey$6(P2);
if (IE8_DOM_DEFINE$1) try {
return $getOwnPropertyDescriptor$2(O, P2);
} catch (error2) {
}
if (hasOwn$q(O, P2)) return createPropertyDescriptor$9(!call$J(propertyIsEnumerableModule$2.f, O, P2), O[P2]);
};
var objectDefineProperty = {};
var DESCRIPTORS$E = descriptors;
var fails$18 = fails$1e;
var v8PrototypeDefineBug = DESCRIPTORS$E && fails$18(function() {
return Object.defineProperty(function() {
}, "prototype", {
value: 42,
writable: false
}).prototype !== 42;
});
var isObject$E = isObject$I;
var $String$5 = String;
var $TypeError$q = TypeError;
var anObject$N = function anObject(argument) {
if (isObject$E(argument)) return argument;
throw new $TypeError$q($String$5(argument) + " is not an object");
};
var DESCRIPTORS$D = descriptors;
var IE8_DOM_DEFINE = ie8DomDefine;
var V8_PROTOTYPE_DEFINE_BUG$1 = v8PrototypeDefineBug;
var anObject$M = anObject$N;
var toPropertyKey$5 = toPropertyKey$7;
var $TypeError$p = TypeError;
var $defineProperty$1 = Object.defineProperty;
var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
var ENUMERABLE = "enumerable";
var CONFIGURABLE$1 = "configurable";
var WRITABLE = "writable";
objectDefineProperty.f = DESCRIPTORS$D ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P2, Attributes) {
anObject$M(O);
P2 = toPropertyKey$5(P2);
anObject$M(Attributes);
if (typeof O === "function" && P2 === "prototype" && "value" in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
var current = $getOwnPropertyDescriptor$1(O, P2);
if (current && current[WRITABLE]) {
O[P2] = Attributes.value;
Attributes = {
configurable: CONFIGURABLE$1 in Attributes ? Attributes[CONFIGURABLE$1] : current[CONFIGURABLE$1],
enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
writable: false
};
}
}
return $defineProperty$1(O, P2, Attributes);
} : $defineProperty$1 : function defineProperty2(O, P2, Attributes) {
anObject$M(O);
P2 = toPropertyKey$5(P2);
anObject$M(Attributes);
if (IE8_DOM_DEFINE) try {
return $defineProperty$1(O, P2, Attributes);
} catch (error2) {
}
if ("get" in Attributes || "set" in Attributes) throw new $TypeError$p("Accessors not supported");
if ("value" in Attributes) O[P2] = Attributes.value;
return O;
};
var DESCRIPTORS$C = descriptors;
var definePropertyModule$b = objectDefineProperty;
var createPropertyDescriptor$8 = createPropertyDescriptor$a;
var createNonEnumerableProperty$d = DESCRIPTORS$C ? function(object, key, value) {
return definePropertyModule$b.f(object, key, createPropertyDescriptor$8(1, value));
} : function(object, key, value) {
object[key] = value;
return object;
};
var makeBuiltIn$4 = { exports: {} };
var DESCRIPTORS$B = descriptors;
var hasOwn$p = hasOwnProperty_1;
var FunctionPrototype$3 = Function.prototype;
var getDescriptor = DESCRIPTORS$B && Object.getOwnPropertyDescriptor;
var EXISTS = hasOwn$p(FunctionPrototype$3, "name");
var PROPER = EXISTS && (function something() {
}).name === "something";
var CONFIGURABLE = EXISTS && (!DESCRIPTORS$B || DESCRIPTORS$B && getDescriptor(FunctionPrototype$3, "name").configurable);
var functionName = {
EXISTS,
PROPER,
CONFIGURABLE
};
var uncurryThis$1a = functionUncurryThis;
var isCallable$t = isCallable$z;
var store$3 = sharedStoreExports;
var functionToString$1 = uncurryThis$1a(Function.toString);
if (!isCallable$t(store$3.inspectSource)) {
store$3.inspectSource = function(it) {
return functionToString$1(it);
};
}
var inspectSource$3 = store$3.inspectSource;
var globalThis$N = globalThis_1;
var isCallable$s = isCallable$z;
var WeakMap$4 = globalThis$N.WeakMap;
var weakMapBasicDetection = isCallable$s(WeakMap$4) && /native code/.test(String(WeakMap$4));
var shared$6 = shared$8;
var uid$3 = uid$5;
var keys$2 = shared$6("keys");
var sharedKey$4 = function sharedKey(key) {
return keys$2[key] || (keys$2[key] = uid$3(key));
};
var hiddenKeys$6 = {};
var NATIVE_WEAK_MAP$1 = weakMapBasicDetection;
var globalThis$M = globalThis_1;
var isObject$D = isObject$I;
var createNonEnumerableProperty$c = createNonEnumerableProperty$d;
var hasOwn$o = hasOwnProperty_1;
var shared$5 = sharedStoreExports;
var sharedKey$3 = sharedKey$4;
var hiddenKeys$5 = hiddenKeys$6;
var OBJECT_ALREADY_INITIALIZED = "Object already initialized";
var TypeError$7 = globalThis$M.TypeError;
var WeakMap$3 = globalThis$M.WeakMap;
var set$9, get$4, has$b;
var enforce = function enforce2(it) {
return has$b(it) ? get$4(it) : set$9(it, {});
};
var getterFor$1 = function getterFor(TYPE) {
return function(it) {
var state;
if (!isObject$D(it) || (state = get$4(it)).type !== TYPE) {
throw new TypeError$7("Incompatible receiver, " + TYPE + " required");
}
return state;
};
};
if (NATIVE_WEAK_MAP$1 || shared$5.state) {
var store$2 = shared$5.state || (shared$5.state = new WeakMap$3());
store$2.get = store$2.get;
store$2.has = store$2.has;
store$2.set = store$2.set;
set$9 = function set6(it, metadata3) {
if (store$2.has(it)) throw new TypeError$7(OBJECT_ALREADY_INITIALIZED);
metadata3.facade = it;
store$2.set(it, metadata3);
return metadata3;
};
get$4 = function get6(it) {
return store$2.get(it) || {};
};
has$b = function has5(it) {
return store$2.has(it);
};
} else {
var STATE = sharedKey$3("state");
hiddenKeys$5[STATE] = true;
set$9 = function set6(it, metadata3) {
if (hasOwn$o(it, STATE)) throw new TypeError$7(OBJECT_ALREADY_INITIALIZED);
metadata3.facade = it;
createNonEnumerableProperty$c(it, STATE, metadata3);
return metadata3;
};
get$4 = function get6(it) {
return hasOwn$o(it, STATE) ? it[STATE] : {};
};
has$b = function has5(it) {
return hasOwn$o(it, STATE);
};
}
var internalState = {
set: set$9,
get: get$4,
has: has$b,
enforce,
getterFor: getterFor$1
};
var uncurryThis$19 = functionUncurryThis;
var fails$17 = fails$1e;
var isCallable$r = isCallable$z;
var hasOwn$n = hasOwnProperty_1;
var DESCRIPTORS$A = descriptors;
var CONFIGURABLE_FUNCTION_NAME$2 = functionName.CONFIGURABLE;
var inspectSource$2 = inspectSource$3;
var InternalStateModule$f = internalState;
var enforceInternalState$4 = InternalStateModule$f.enforce;
var getInternalState$9 = InternalStateModule$f.get;
var $String$4 = String;
var defineProperty$b = Object.defineProperty;
var stringSlice$f = uncurryThis$19("".slice);
var replace$b = uncurryThis$19("".replace);
var join$7 = uncurryThis$19([].join);
var CONFIGURABLE_LENGTH = DESCRIPTORS$A && !fails$17(function() {
return defineProperty$b(function() {
}, "length", {
value: 8
}).length !== 8;
});
var TEMPLATE = String(String).split("String");
var makeBuiltIn$3 = makeBuiltIn$4.exports = function(value, name2, options) {
if (stringSlice$f($String$4(name2), 0, 7) === "Symbol(") {
name2 = "[" + replace$b($String$4(name2), /^Symbol\(([^)]*)\).*$/, "$1") + "]";
}
if (options && options.getter) name2 = "get " + name2;
if (options && options.setter) name2 = "set " + name2;
if (!hasOwn$n(value, "name") || CONFIGURABLE_FUNCTION_NAME$2 && value.name !== name2) {
if (DESCRIPTORS$A) defineProperty$b(value, "name", {
value: name2,
configurable: true
});
else value.name = name2;
}
if (CONFIGURABLE_LENGTH && options && hasOwn$n(options, "arity") && value.length !== options.arity) {
defineProperty$b(value, "length", {
value: options.arity
});
}
try {
if (options && hasOwn$n(options, "constructor") && options.constructor) {
if (DESCRIPTORS$A) defineProperty$b(value, "prototype", {
writable: false
});
} else if (value.prototype) value.prototype = void 0;
} catch (error2) {
}
var state = enforceInternalState$4(value);
if (!hasOwn$n(state, "source")) {
state.source = join$7(TEMPLATE, typeof name2 == "string" ? name2 : "");
}
return value;
};
Function.prototype.toString = makeBuiltIn$3(function toString3() {
return isCallable$r(this) && getInternalState$9(this).source || inspectSource$2(this);
}, "toString");
var makeBuiltInExports = makeBuiltIn$4.exports;
var isCallable$q = isCallable$z;
var definePropertyModule$a = objectDefineProperty;
var makeBuiltIn$2 = makeBuiltInExports;
var defineGlobalProperty$1 = defineGlobalProperty$3;
var defineBuiltIn$l = function defineBuiltIn(O, key, value, options) {
if (!options) options = {};
var simple = options.enumerable;
var name2 = options.name !== void 0 ? options.name : key;
if (isCallable$q(value)) makeBuiltIn$2(value, name2, options);
if (options.global) {
if (simple) O[key] = value;
else defineGlobalProperty$1(key, value);
} else {
try {
if (!options.unsafe) delete O[key];
else if (O[key]) simple = true;
} catch (error2) {
}
if (simple) O[key] = value;
else definePropertyModule$a.f(O, key, {
value,
enumerable: false,
configurable: !options.nonConfigurable,
writable: !options.nonWritable
});
}
return O;
};
var objectGetOwnPropertyNames = {};
var ceil$1 = Math.ceil;
var floor$9 = Math.floor;
var mathTrunc = Math.trunc || function trunc(x) {
var n = +x;
return (n > 0 ? floor$9 : ceil$1)(n);
};
var trunc$1 = mathTrunc;
var toIntegerOrInfinity$f = function toIntegerOrInfinity(argument) {
var number = +argument;
return number !== number || number === 0 ? 0 : trunc$1(number);
};
var toIntegerOrInfinity$e = toIntegerOrInfinity$f;
var max$5 = Math.max;
var min$8 = Math.min;
var toAbsoluteIndex$8 = function toAbsoluteIndex(index2, length) {
var integer = toIntegerOrInfinity$e(index2);
return integer < 0 ? max$5(integer + length, 0) : min$8(integer, length);
};
var toIntegerOrInfinity$d = toIntegerOrInfinity$f;
var min$7 = Math.min;
var toLength$d = function toLength(argument) {
var len = toIntegerOrInfinity$d(argument);
return len > 0 ? min$7(len, 9007199254740991) : 0;
};
var toLength$c = toLength$d;
var lengthOfArrayLike$m = function lengthOfArrayLike(obj) {
return toLength$c(obj.length);
};
var toIndexedObject$d = toIndexedObject$f;
var toAbsoluteIndex$7 = toAbsoluteIndex$8;
var lengthOfArrayLike$l = lengthOfArrayLike$m;
var createMethod$6 = function createMethod(IS_INCLUDES) {
return function($this, el, fromIndex) {
var O = toIndexedObject$d($this);
var length = lengthOfArrayLike$l(O);
if (length === 0) return !IS_INCLUDES && -1;
var index2 = toAbsoluteIndex$7(fromIndex, length);
var value;
if (IS_INCLUDES && el !== el) while (length > index2) {
value = O[index2++];
if (value !== value) return true;
}
else for (; length > index2; index2++) {
if ((IS_INCLUDES || index2 in O) && O[index2] === el) return IS_INCLUDES || index2 || 0;
}
return !IS_INCLUDES && -1;
};
};
var arrayIncludes = {
// `Array.prototype.includes` method
// https://tc39.es/ecma262/#sec-array.prototype.includes
includes: createMethod$6(true),
// `Array.prototype.indexOf` method
// https://tc39.es/ecma262/#sec-array.prototype.indexof
indexOf: createMethod$6(false)
};
var uncurryThis$18 = functionUncurryThis;
var hasOwn$m = hasOwnProperty_1;
var toIndexedObject$c = toIndexedObject$f;
var indexOf$2 = arrayIncludes.indexOf;
var hiddenKeys$4 = hiddenKeys$6;
var push$h = uncurryThis$18([].push);
var objectKeysInternal = function objectKeysInternal2(object, names) {
var O = toIndexedObject$c(object);
var i = 0;
var result = [];
var key;
for (key in O) !hasOwn$m(hiddenKeys$4, key) && hasOwn$m(O, key) && push$h(result, key);
while (names.length > i) if (hasOwn$m(O, key = names[i++])) {
~indexOf$2(result, key) || push$h(result, key);
}
return result;
};
var enumBugKeys$3 = ["constructor", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "toLocaleString", "toString", "valueOf"];
var internalObjectKeys$1 = objectKeysInternal;
var enumBugKeys$2 = enumBugKeys$3;
var hiddenKeys$3 = enumBugKeys$2.concat("length", "prototype");
objectGetOwnPropertyNames.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
return internalObjectKeys$1(O, hiddenKeys$3);
};
var objectGetOwnPropertySymbols = {};
objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
var getBuiltIn$l = getBuiltIn$n;
var uncurryThis$17 = functionUncurryThis;
var getOwnPropertyNamesModule$2 = objectGetOwnPropertyNames;
var getOwnPropertySymbolsModule$3 = objectGetOwnPropertySymbols;
var anObject$L = anObject$N;
var concat$4 = uncurryThis$17([].concat);
var ownKeys$3 = getBuiltIn$l("Reflect", "ownKeys") || function ownKeys(it) {
var keys6 = getOwnPropertyNamesModule$2.f(anObject$L(it));
var getOwnPropertySymbols2 = getOwnPropertySymbolsModule$3.f;
return getOwnPropertySymbols2 ? concat$4(keys6, getOwnPropertySymbols2(it)) : keys6;
};
var hasOwn$l = hasOwnProperty_1;
var ownKeys$2 = ownKeys$3;
var getOwnPropertyDescriptorModule$6 = objectGetOwnPropertyDescriptor;
var definePropertyModule$9 = objectDefineProperty;
var copyConstructorProperties$5 = function copyConstructorProperties(target, source, exceptions) {
var keys6 = ownKeys$2(source);
var defineProperty7 = definePropertyModule$9.f;
var getOwnPropertyDescriptor7 = getOwnPropertyDescriptorModule$6.f;
for (var i = 0; i < keys6.length; i++) {
var key = keys6[i];
if (!hasOwn$l(target, key) && !(exceptions && hasOwn$l(exceptions, key))) {
defineProperty7(target, key, getOwnPropertyDescriptor7(source, key));
}
}
};
var fails$16 = fails$1e;
var isCallable$p = isCallable$z;
var replacement = /#|\.prototype\./;
var isForced$5 = function isForced(feature, detection) {
var value = data[normalize(feature)];
return value === POLYFILL ? true : value === NATIVE ? false : isCallable$p(detection) ? fails$16(detection) : !!detection;
};
var normalize = isForced$5.normalize = function(string) {
return String(string).replace(replacement, ".").toLowerCase();
};
var data = isForced$5.data = {};
var NATIVE = isForced$5.NATIVE = "N";
var POLYFILL = isForced$5.POLYFILL = "P";
var isForced_1 = isForced$5;
var globalThis$L = globalThis_1;
var getOwnPropertyDescriptor$9 = objectGetOwnPropertyDescriptor.f;
var createNonEnumerableProperty$b = createNonEnumerableProperty$d;
var defineBuiltIn$k = defineBuiltIn$l;
var defineGlobalProperty2 = defineGlobalProperty$3;
var copyConstructorProperties$4 = copyConstructorProperties$5;
var isForced$4 = isForced_1;
var _export = function _export2(options, source) {
var TARGET = options.target;
var GLOBAL = options.global;
var STATIC = options.stat;
var FORCED2, target, key, targetProperty, sourceProperty, descriptor;
if (GLOBAL) {
target = globalThis$L;
} else if (STATIC) {
target = globalThis$L[TARGET] || defineGlobalProperty2(TARGET, {});
} else {
target = globalThis$L[TARGET] && globalThis$L[TARGET].prototype;
}
if (target) for (key in source) {
sourceProperty = source[key];
if (options.dontCallGetSet) {
descriptor = getOwnPropertyDescriptor$9(target, key);
targetProperty = descriptor && descriptor.value;
} else targetProperty = target[key];
FORCED2 = isForced$4(GLOBAL ? key : TARGET + (STATIC ? "." : "#") + key, options.forced);
if (!FORCED2 && targetProperty !== void 0) {
if (_typeof(sourceProperty) == _typeof(targetProperty)) continue;
copyConstructorProperties$4(sourceProperty, targetProperty);
}
if (options.sham || targetProperty && targetProperty.sham) {
createNonEnumerableProperty$b(sourceProperty, "sham", true);
}
defineBuiltIn$k(target, key, sourceProperty, options);
}
};
var wellKnownSymbol$A = wellKnownSymbol$C;
var TO_STRING_TAG$4 = wellKnownSymbol$A("toStringTag");
var test$2 = {};
test$2[TO_STRING_TAG$4] = "z";
var toStringTagSupport = String(test$2) === "[object z]";
var TO_STRING_TAG_SUPPORT$2 = toStringTagSupport;
var isCallable$o = isCallable$z;
var classofRaw$1 = classofRaw$2;
var wellKnownSymbol$z = wellKnownSymbol$C;
var TO_STRING_TAG$3 = wellKnownSymbol$z("toStringTag");
var $Object$5 = Object;
var CORRECT_ARGUMENTS = classofRaw$1(/* @__PURE__ */ function() {
return arguments;
}()) === "Arguments";
var tryGet = function tryGet2(it, key) {
try {
return it[key];
} catch (error2) {
}
};
var classof$j = TO_STRING_TAG_SUPPORT$2 ? classofRaw$1 : function(it) {
var O, tag, result;
return it === void 0 ? "Undefined" : it === null ? "Null" : typeof (tag = tryGet(O = $Object$5(it), TO_STRING_TAG$3)) == "string" ? tag : CORRECT_ARGUMENTS ? classofRaw$1(O) : (result = classofRaw$1(O)) === "Object" && isCallable$o(O.callee) ? "Arguments" : result;
};
var classof$i = classof$j;
var $String$3 = String;
var toString$t = function toString22(argument) {
if (classof$i(argument) === "Symbol") throw new TypeError("Cannot convert a Symbol value to a string");
return $String$3(argument);
};
var objectDefineProperties = {};
var internalObjectKeys = objectKeysInternal;
var enumBugKeys$1 = enumBugKeys$3;
var objectKeys$4 = Object.keys || function keys(O) {
return internalObjectKeys(O, enumBugKeys$1);
};
var DESCRIPTORS$z = descriptors;
var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
var definePropertyModule$8 = objectDefineProperty;
var anObject$K = anObject$N;
var toIndexedObject$b = toIndexedObject$f;
var objectKeys$3 = objectKeys$4;
objectDefineProperties.f = DESCRIPTORS$z && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
anObject$K(O);
var props = toIndexedObject$b(Properties);
var keys6 = objectKeys$3(Properties);
var length = keys6.length;
var index2 = 0;
var key;
while (length > index2) definePropertyModule$8.f(O, key = keys6[index2++], props[key]);
return O;
};
var getBuiltIn$k = getBuiltIn$n;
var html$2 = getBuiltIn$k("document", "documentElement");
var anObject$J = anObject$N;
var definePropertiesModule$1 = objectDefineProperties;
var enumBugKeys = enumBugKeys$3;
var hiddenKeys$2 = hiddenKeys$6;
var html$1 = html$2;
var documentCreateElement$1 = documentCreateElement$2;
var sharedKey$2 = sharedKey$4;
var GT = ">";
var LT = "<";
var PROTOTYPE$2 = "prototype";
var SCRIPT = "script";
var IE_PROTO$1 = sharedKey$2("IE_PROTO");
var EmptyConstructor = function EmptyConstructor2() {
};
var scriptTag = function scriptTag2(content) {
return LT + SCRIPT + GT + content + LT + "/" + SCRIPT + GT;
};
var NullProtoObjectViaActiveX = function NullProtoObjectViaActiveX2(activeXDocument2) {
activeXDocument2.write(scriptTag(""));
activeXDocument2.close();
var temp = activeXDocument2.parentWindow.Object;
activeXDocument2 = null;
return temp;
};
var NullProtoObjectViaIFrame = function NullProtoObjectViaIFrame2() {
var iframe = documentCreateElement$1("iframe");
var JS = "java" + SCRIPT + ":";
var iframeDocument;
iframe.style.display = "none";
html$1.appendChild(iframe);
iframe.src = String(JS);
iframeDocument = iframe.contentWindow.document;
iframeDocument.open();
iframeDocument.write(scriptTag("document.F=Object"));
iframeDocument.close();
return iframeDocument.F;
};
var activeXDocument;
var _NullProtoObject = function NullProtoObject() {
try {
activeXDocument = new ActiveXObject("htmlfile");
} catch (error2) {
}
_NullProtoObject = typeof document != "undefined" ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument);
var length = enumBugKeys.length;
while (length--) delete _NullProtoObject[PROTOTYPE$2][enumBugKeys[length]];
return _NullProtoObject();
};
hiddenKeys$2[IE_PROTO$1] = true;
var objectCreate = Object.create || function create(O, Properties) {
var result;
if (O !== null) {
EmptyConstructor[PROTOTYPE$2] = anObject$J(O);
result = new EmptyConstructor();
EmptyConstructor[PROTOTYPE$2] = null;
result[IE_PROTO$1] = O;
} else result = _NullProtoObject();
return Properties === void 0 ? result : definePropertiesModule$1.f(result, Properties);
};
var objectGetOwnPropertyNamesExternal = {};
var uncurryThis$16 = functionUncurryThis;
var arraySlice$a = uncurryThis$16([].slice);
var classof$h = classofRaw$2;
var toIndexedObject$a = toIndexedObject$f;
var $getOwnPropertyNames$1 = objectGetOwnPropertyNames.f;
var arraySlice$9 = arraySlice$a;
var windowNames = (typeof window === "undefined" ? "undefined" : _typeof(window)) == "object" && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
var getWindowNames = function getWindowNames2(it) {
try {
return $getOwnPropertyNames$1(it);
} catch (error2) {
return arraySlice$9(windowNames);
}
};
objectGetOwnPropertyNamesExternal.f = function getOwnPropertyNames2(it) {
return windowNames && classof$h(it) === "Window" ? getWindowNames(it) : $getOwnPropertyNames$1(toIndexedObject$a(it));
};
var makeBuiltIn$1 = makeBuiltInExports;
var defineProperty$a = objectDefineProperty;
var defineBuiltInAccessor$e = function defineBuiltInAccessor(target, name2, descriptor) {
if (descriptor.get) makeBuiltIn$1(descriptor.get, name2, {
getter: true
});
if (descriptor.set) makeBuiltIn$1(descriptor.set, name2, {
setter: true
});
return defineProperty$a.f(target, name2, descriptor);
};
var wellKnownSymbolWrapped = {};
var wellKnownSymbol$y = wellKnownSymbol$C;
wellKnownSymbolWrapped.f = wellKnownSymbol$y;
var globalThis$K = globalThis_1;
var path$2 = globalThis$K;
var path$1 = path$2;
var hasOwn$k = hasOwnProperty_1;
var wrappedWellKnownSymbolModule$1 = wellKnownSymbolWrapped;
var defineProperty$9 = objectDefineProperty.f;
var wellKnownSymbolDefine = function wellKnownSymbolDefine2(NAME2) {
var _Symbol2 = path$1.Symbol || (path$1.Symbol = {});
if (!hasOwn$k(_Symbol2, NAME2)) defineProperty$9(_Symbol2, NAME2, {
value: wrappedWellKnownSymbolModule$1.f(NAME2)
});
};
var call$I = functionCall;
var getBuiltIn$j = getBuiltIn$n;
var wellKnownSymbol$x = wellKnownSymbol$C;
var defineBuiltIn$j = defineBuiltIn$l;
var symbolDefineToPrimitive = function symbolDefineToPrimitive2() {
var _Symbol2 = getBuiltIn$j("Symbol");
var SymbolPrototype2 = _Symbol2 && _Symbol2.prototype;
var valueOf = SymbolPrototype2 && SymbolPrototype2.valueOf;
var TO_PRIMITIVE2 = wellKnownSymbol$x("toPrimitive");
if (SymbolPrototype2 && !SymbolPrototype2[TO_PRIMITIVE2]) {
defineBuiltIn$j(SymbolPrototype2, TO_PRIMITIVE2, function(hint) {
return call$I(valueOf, this);
}, {
arity: 1
});
}
};
var defineProperty$8 = objectDefineProperty.f;
var hasOwn$j = hasOwnProperty_1;
var wellKnownSymbol$w = wellKnownSymbol$C;
var TO_STRING_TAG$2 = wellKnownSymbol$w("toStringTag");
var setToStringTag$c = function setToStringTag(target, TAG, STATIC) {
if (target && !STATIC) target = target.prototype;
if (target && !hasOwn$j(target, TO_STRING_TAG$2)) {
defineProperty$8(target, TO_STRING_TAG$2, {
configurable: true,
value: TAG
});
}
};
var classofRaw2 = classofRaw$2;
var uncurryThis$15 = functionUncurryThis;
var functionUncurryThisClause = function functionUncurryThisClause2(fn) {
if (classofRaw2(fn) === "Function") return uncurryThis$15(fn);
};
var uncurryThis$14 = functionUncurryThisClause;
var aCallable$q = aCallable$s;
var NATIVE_BIND$2 = functionBindNative;
var bind$q = uncurryThis$14(uncurryThis$14.bind);
var functionBindContext = function functionBindContext2(fn, that) {
aCallable$q(fn);
return that === void 0 ? fn : NATIVE_BIND$2 ? bind$q(fn, that) : function() {
return fn.apply(that, arguments);
};
};
var classof$g = classofRaw$2;
var isArray$9 = Array.isArray || function isArray2(argument) {
return classof$g(argument) === "Array";
};
var uncurryThis$13 = functionUncurryThis;
var fails$15 = fails$1e;
var isCallable$n = isCallable$z;
var classof$f = classof$j;
var getBuiltIn$i = getBuiltIn$n;
var inspectSource$1 = inspectSource$3;
var noop = function noop2() {
};
var construct$1 = getBuiltIn$i("Reflect", "construct");
var constructorRegExp = /^\s*(?:class|function)\b/;
var exec$8 = uncurryThis$13(constructorRegExp.exec);
var INCORRECT_TO_STRING = !constructorRegExp.test(noop);
var isConstructorModern = function isConstructor(argument) {
if (!isCallable$n(argument)) return false;
try {
construct$1(noop, [], argument);
return true;
} catch (error2) {
return false;
}
};
var isConstructorLegacy = function isConstructor2(argument) {
if (!isCallable$n(argument)) return false;
switch (classof$f(argument)) {
case "AsyncFunction":
case "GeneratorFunction":
case "AsyncGeneratorFunction":
return false;
}
try {
return INCORRECT_TO_STRING || !!exec$8(constructorRegExp, inspectSource$1(argument));
} catch (error2) {
return true;
}
};
isConstructorLegacy.sham = true;
var isConstructor$7 = !construct$1 || fails$15(function() {
var called;
return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) || !isConstructorModern(function() {
called = true;
}) || called;
}) ? isConstructorLegacy : isConstructorModern;
var isArray$8 = isArray$9;
var isConstructor$6 = isConstructor$7;
var isObject$C = isObject$I;
var wellKnownSymbol$v = wellKnownSymbol$C;
var SPECIES$6 = wellKnownSymbol$v("species");
var $Array$4 = Array;
var arraySpeciesConstructor$1 = function arraySpeciesConstructor(originalArray) {
var C;
if (isArray$8(originalArray)) {
C = originalArray.constructor;
if (isConstructor$6(C) && (C === $Array$4 || isArray$8(C.prototype))) C = void 0;
else if (isObject$C(C)) {
C = C[SPECIES$6];
if (C === null) C = void 0;
}
}
return C === void 0 ? $Array$4 : C;
};
var arraySpeciesConstructor2 = arraySpeciesConstructor$1;
var arraySpeciesCreate$5 = function arraySpeciesCreate(originalArray, length) {
return new (arraySpeciesConstructor2(originalArray))(length === 0 ? 0 : length);
};
var bind$p = functionBindContext;
var uncurryThis$12 = functionUncurryThis;
var IndexedObject$3 = indexedObject;
var toObject$q = toObject$s;
var lengthOfArrayLike$k = lengthOfArrayLike$m;
var arraySpeciesCreate$4 = arraySpeciesCreate$5;
var push$g = uncurryThis$12([].push);
var createMethod$5 = function createMethod2(TYPE) {
var IS_MAP = TYPE === 1;
var IS_FILTER = TYPE === 2;
var IS_SOME = TYPE === 3;
var IS_EVERY = TYPE === 4;
var IS_FIND_INDEX = TYPE === 6;
var IS_FILTER_REJECT = TYPE === 7;
var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;
return function($this, callbackfn, that, specificCreate) {
var O = toObject$q($this);
var self2 = IndexedObject$3(O);
var length = lengthOfArrayLike$k(self2);
var boundFunction = bind$p(callbackfn, that);
var index2 = 0;
var create5 = specificCreate || arraySpeciesCreate$4;
var target = IS_MAP ? create5($this, length) : IS_FILTER || IS_FILTER_REJECT ? create5($this, 0) : void 0;
var value, result;
for (; length > index2; index2++) if (NO_HOLES || index2 in self2) {
value = self2[index2];
result = boundFunction(value, index2, O);
if (TYPE) {
if (IS_MAP) target[index2] = result;
else if (result) switch (TYPE) {
case 3:
return true;
case 5:
return value;
case 6:
return index2;
case 2:
push$g(target, value);
}
else switch (TYPE) {
case 4:
return false;
case 7:
push$g(target, value);
}
}
}
return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
};
};
var arrayIteration = {
// `Array.prototype.forEach` method
// https://tc39.es/ecma262/#sec-array.prototype.foreach
forEach: createMethod$5(0),
// `Array.prototype.map` method
// https://tc39.es/ecma262/#sec-array.prototype.map
map: createMethod$5(1),
// `Array.prototype.filter` method
// https://tc39.es/ecma262/#sec-array.prototype.filter
filter: createMethod$5(2),
// `Array.prototype.some` method
// https://tc39.es/ecma262/#sec-array.prototype.some
some: createMethod$5(3),
// `Array.prototype.every` method
// https://tc39.es/ecma262/#sec-array.prototype.every
every: createMethod$5(4),
// `Array.prototype.find` method
// https://tc39.es/ecma262/#sec-array.prototype.find
find: createMethod$5(5),
// `Array.prototype.findIndex` method
// https://tc39.es/ecma262/#sec-array.prototype.findIndex
findIndex: createMethod$5(6)
};
var $$3E = _export;
var globalThis$J = globalThis_1;
var call$H = functionCall;
var uncurryThis$11 = functionUncurryThis;
var DESCRIPTORS$y = descriptors;
var NATIVE_SYMBOL$4 = symbolConstructorDetection;
var fails$14 = fails$1e;
var hasOwn$i = hasOwnProperty_1;
var isPrototypeOf$a = objectIsPrototypeOf;
var anObject$I = anObject$N;
var toIndexedObject$9 = toIndexedObject$f;
var toPropertyKey$4 = toPropertyKey$7;
var $toString$3 = toString$t;
var createPropertyDescriptor$7 = createPropertyDescriptor$a;
var nativeObjectCreate = objectCreate;
var objectKeys$2 = objectKeys$4;
var getOwnPropertyNamesModule$1 = objectGetOwnPropertyNames;
var getOwnPropertyNamesExternal = objectGetOwnPropertyNamesExternal;
var getOwnPropertySymbolsModule$2 = objectGetOwnPropertySymbols;
var getOwnPropertyDescriptorModule$5 = objectGetOwnPropertyDescriptor;
var definePropertyModule$7 = objectDefineProperty;
var definePropertiesModule = objectDefineProperties;
var propertyIsEnumerableModule$1 = objectPropertyIsEnumerable;
var defineBuiltIn$i = defineBuiltIn$l;
var defineBuiltInAccessor$d = defineBuiltInAccessor$e;
var shared$4 = shared$8;
var sharedKey$1 = sharedKey$4;
var hiddenKeys$1 = hiddenKeys$6;
var uid$2 = uid$5;
var wellKnownSymbol$u = wellKnownSymbol$C;
var wrappedWellKnownSymbolModule = wellKnownSymbolWrapped;
var defineWellKnownSymbol$f = wellKnownSymbolDefine;
var defineSymbolToPrimitive$1 = symbolDefineToPrimitive;
var setToStringTag$b = setToStringTag$c;
var InternalStateModule$e = internalState;
var $forEach$2 = arrayIteration.forEach;
var HIDDEN = sharedKey$1("hidden");
var SYMBOL = "Symbol";
var PROTOTYPE$1 = "prototype";
var setInternalState$d = InternalStateModule$e.set;
var getInternalState$8 = InternalStateModule$e.getterFor(SYMBOL);
var ObjectPrototype$4 = Object[PROTOTYPE$1];
var $Symbol = globalThis$J.Symbol;
var SymbolPrototype$1 = $Symbol && $Symbol[PROTOTYPE$1];
var RangeError$4 = globalThis$J.RangeError;
var TypeError$6 = globalThis$J.TypeError;
var QObject = globalThis$J.QObject;
var nativeGetOwnPropertyDescriptor$2 = getOwnPropertyDescriptorModule$5.f;
var nativeDefineProperty$1 = definePropertyModule$7.f;
var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
var nativePropertyIsEnumerable = propertyIsEnumerableModule$1.f;
var push$f = uncurryThis$11([].push);
var AllSymbols = shared$4("symbols");
var ObjectPrototypeSymbols = shared$4("op-symbols");
var WellKnownSymbolsStore = shared$4("wks");
var USE_SETTER = !QObject || !QObject[PROTOTYPE$1] || !QObject[PROTOTYPE$1].findChild;
var fallbackDefineProperty = function fallbackDefineProperty2(O, P2, Attributes) {
var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor$2(ObjectPrototype$4, P2);
if (ObjectPrototypeDescriptor) delete ObjectPrototype$4[P2];
nativeDefineProperty$1(O, P2, Attributes);
if (ObjectPrototypeDescriptor && O !== ObjectPrototype$4) {
nativeDefineProperty$1(ObjectPrototype$4, P2, ObjectPrototypeDescriptor);
}
};
var setSymbolDescriptor = DESCRIPTORS$y && fails$14(function() {
return nativeObjectCreate(nativeDefineProperty$1({}, "a", {
get: function get6() {
return nativeDefineProperty$1(this, "a", {
value: 7
}).a;
}
})).a !== 7;
}) ? fallbackDefineProperty : nativeDefineProperty$1;
var wrap = function wrap2(tag, description) {
var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype$1);
setInternalState$d(symbol, {
type: SYMBOL,
tag,
description
});
if (!DESCRIPTORS$y) symbol.description = description;
return symbol;
};
var $defineProperty = function defineProperty3(O, P2, Attributes) {
if (O === ObjectPrototype$4) $defineProperty(ObjectPrototypeSymbols, P2, Attributes);
anObject$I(O);
var key = toPropertyKey$4(P2);
anObject$I(Attributes);
if (hasOwn$i(AllSymbols, key)) {
if (!Attributes.enumerable) {
if (!hasOwn$i(O, HIDDEN)) nativeDefineProperty$1(O, HIDDEN, createPropertyDescriptor$7(1, nativeObjectCreate(null)));
O[HIDDEN][key] = true;
} else {
if (hasOwn$i(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
Attributes = nativeObjectCreate(Attributes, {
enumerable: createPropertyDescriptor$7(0, false)
});
}
return setSymbolDescriptor(O, key, Attributes);
}
return nativeDefineProperty$1(O, key, Attributes);
};
var $defineProperties = function defineProperties2(O, Properties) {
anObject$I(O);
var properties = toIndexedObject$9(Properties);
var keys6 = objectKeys$2(properties).concat($getOwnPropertySymbols(properties));
$forEach$2(keys6, function(key) {
if (!DESCRIPTORS$y || call$H($propertyIsEnumerable$1, properties, key)) $defineProperty(O, key, properties[key]);
});
return O;
};
var $create = function create2(O, Properties) {
return Properties === void 0 ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);
};
var $propertyIsEnumerable$1 = function propertyIsEnumerable2(V) {
var P2 = toPropertyKey$4(V);
var enumerable = call$H(nativePropertyIsEnumerable, this, P2);
if (this === ObjectPrototype$4 && hasOwn$i(AllSymbols, P2) && !hasOwn$i(ObjectPrototypeSymbols, P2)) return false;
return enumerable || !hasOwn$i(this, P2) || !hasOwn$i(AllSymbols, P2) || hasOwn$i(this, HIDDEN) && this[HIDDEN][P2] ? enumerable : true;
};
var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor2(O, P2) {
var it = toIndexedObject$9(O);
var key = toPropertyKey$4(P2);
if (it === ObjectPrototype$4 && hasOwn$i(AllSymbols, key) && !hasOwn$i(ObjectPrototypeSymbols, key)) return;
var descriptor = nativeGetOwnPropertyDescriptor$2(it, key);
if (descriptor && hasOwn$i(AllSymbols, key) && !(hasOwn$i(it, HIDDEN) && it[HIDDEN][key])) {
descriptor.enumerable = true;
}
return descriptor;
};
var $getOwnPropertyNames = function getOwnPropertyNames3(O) {
var names = nativeGetOwnPropertyNames(toIndexedObject$9(O));
var result = [];
$forEach$2(names, function(key) {
if (!hasOwn$i(AllSymbols, key) && !hasOwn$i(hiddenKeys$1, key)) push$f(result, key);
});
return result;
};
var $getOwnPropertySymbols = function $getOwnPropertySymbols2(O) {
var IS_OBJECT_PROTOTYPE = O === ObjectPrototype$4;
var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject$9(O));
var result = [];
$forEach$2(names, function(key) {
if (hasOwn$i(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn$i(ObjectPrototype$4, key))) {
push$f(result, AllSymbols[key]);
}
});
return result;
};
if (!NATIVE_SYMBOL$4) {
$Symbol = function _Symbol2() {
if (isPrototypeOf$a(SymbolPrototype$1, this)) throw new TypeError$6("Symbol is not a constructor");
var description = !arguments.length || arguments[0] === void 0 ? void 0 : $toString$3(arguments[0]);
var tag = uid$2(description);
var _setter = function setter(value) {
var $this = this === void 0 ? globalThis$J : this;
if ($this === ObjectPrototype$4) call$H(_setter, ObjectPrototypeSymbols, value);
if (hasOwn$i($this, HIDDEN) && hasOwn$i($this[HIDDEN], tag)) $this[HIDDEN][tag] = false;
var descriptor = createPropertyDescriptor$7(1, value);
try {
setSymbolDescriptor($this, tag, descriptor);
} catch (error2) {
if (!(error2 instanceof RangeError$4)) throw error2;
fallbackDefineProperty($this, tag, descriptor);
}
};
if (DESCRIPTORS$y && USE_SETTER) setSymbolDescriptor(ObjectPrototype$4, tag, {
configurable: true,
set: _setter
});
return wrap(tag, description);
};
SymbolPrototype$1 = $Symbol[PROTOTYPE$1];
defineBuiltIn$i(SymbolPrototype$1, "toString", function toString7() {
return getInternalState$8(this).tag;
});
defineBuiltIn$i($Symbol, "withoutSetter", function(description) {
return wrap(uid$2(description), description);
});
propertyIsEnumerableModule$1.f = $propertyIsEnumerable$1;
definePropertyModule$7.f = $defineProperty;
definePropertiesModule.f = $defineProperties;
getOwnPropertyDescriptorModule$5.f = $getOwnPropertyDescriptor;
getOwnPropertyNamesModule$1.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
getOwnPropertySymbolsModule$2.f = $getOwnPropertySymbols;
wrappedWellKnownSymbolModule.f = function(name2) {
return wrap(wellKnownSymbol$u(name2), name2);
};
if (DESCRIPTORS$y) {
defineBuiltInAccessor$d(SymbolPrototype$1, "description", {
configurable: true,
get: function description() {
return getInternalState$8(this).description;
}
});
{
defineBuiltIn$i(ObjectPrototype$4, "propertyIsEnumerable", $propertyIsEnumerable$1, {
unsafe: true
});
}
}
}
$$3E({
global: true,
constructor: true,
wrap: true,
forced: !NATIVE_SYMBOL$4,
sham: !NATIVE_SYMBOL$4
}, {
Symbol: $Symbol
});
$forEach$2(objectKeys$2(WellKnownSymbolsStore), function(name2) {
defineWellKnownSymbol$f(name2);
});
$$3E({
target: SYMBOL,
stat: true,
forced: !NATIVE_SYMBOL$4
}, {
useSetter: function useSetter() {
USE_SETTER = true;
},
useSimple: function useSimple() {
USE_SETTER = false;
}
});
$$3E({
target: "Object",
stat: true,
forced: !NATIVE_SYMBOL$4,
sham: !DESCRIPTORS$y
}, {
// `Object.create` method
// https://tc39.es/ecma262/#sec-object.create
create: $create,
// `Object.defineProperty` method
// https://tc39.es/ecma262/#sec-object.defineproperty
defineProperty: $defineProperty,
// `Object.defineProperties` method
// https://tc39.es/ecma262/#sec-object.defineproperties
defineProperties: $defineProperties,
// `Object.getOwnPropertyDescriptor` method
// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors
getOwnPropertyDescriptor: $getOwnPropertyDescriptor
});
$$3E({
target: "Object",
stat: true,
forced: !NATIVE_SYMBOL$4
}, {
// `Object.getOwnPropertyNames` method
// https://tc39.es/ecma262/#sec-object.getownpropertynames
getOwnPropertyNames: $getOwnPropertyNames
});
defineSymbolToPrimitive$1();
setToStringTag$b($Symbol, SYMBOL);
hiddenKeys$1[HIDDEN] = true;
var NATIVE_SYMBOL$3 = symbolConstructorDetection;
var symbolRegistryDetection = NATIVE_SYMBOL$3 && !!Symbol["for"] && !!Symbol.keyFor;
var $$3D = _export;
var getBuiltIn$h = getBuiltIn$n;
var hasOwn$h = hasOwnProperty_1;
var toString$s = toString$t;
var shared$3 = shared$8;
var NATIVE_SYMBOL_REGISTRY$1 = symbolRegistryDetection;
var StringToSymbolRegistry = shared$3("string-to-symbol-registry");
var SymbolToStringRegistry$1 = shared$3("symbol-to-string-registry");
$$3D({
target: "Symbol",
stat: true,
forced: !NATIVE_SYMBOL_REGISTRY$1
}, {
"for": function _for(key) {
var string = toString$s(key);
if (hasOwn$h(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
var symbol = getBuiltIn$h("Symbol")(string);
StringToSymbolRegistry[string] = symbol;
SymbolToStringRegistry$1[symbol] = string;
return symbol;
}
});
var $$3C = _export;
var hasOwn$g = hasOwnProperty_1;
var isSymbol$3 = isSymbol$6;
var tryToString$5 = tryToString$7;
var shared$2 = shared$8;
var NATIVE_SYMBOL_REGISTRY = symbolRegistryDetection;
var SymbolToStringRegistry = shared$2("symbol-to-string-registry");
$$3C({
target: "Symbol",
stat: true,
forced: !NATIVE_SYMBOL_REGISTRY
}, {
keyFor: function keyFor(sym) {
if (!isSymbol$3(sym)) throw new TypeError(tryToString$5(sym) + " is not a symbol");
if (hasOwn$g(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
}
});
var NATIVE_BIND$1 = functionBindNative;
var FunctionPrototype$2 = Function.prototype;
var apply$b = FunctionPrototype$2.apply;
var call$G = FunctionPrototype$2.call;
var functionApply$1 = (typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) == "object" && Reflect.apply || (NATIVE_BIND$1 ? call$G.bind(apply$b) : function() {
return call$G.apply(apply$b, arguments);
});
var uncurryThis$10 = functionUncurryThis;
var isArray$7 = isArray$9;
var isCallable$m = isCallable$z;
var classof$e = classofRaw$2;
var toString$r = toString$t;
var push$e = uncurryThis$10([].push);
var getJsonReplacerFunction = function getJsonReplacerFunction2(replacer3) {
if (isCallable$m(replacer3)) return replacer3;
if (!isArray$7(replacer3)) return;
var rawLength = replacer3.length;
var keys6 = [];
for (var i = 0; i < rawLength; i++) {
var element = replacer3[i];
if (typeof element == "string") push$e(keys6, element);
else if (typeof element == "number" || classof$e(element) === "Number" || classof$e(element) === "String") push$e(keys6, toString$r(element));
}
var keysLength = keys6.length;
var root2 = true;
return function(key, value) {
if (root2) {
root2 = false;
return value;
}
if (isArray$7(this)) return value;
for (var j = 0; j < keysLength; j++) if (keys6[j] === key) return value;
};
};
var $$3B = _export;
var getBuiltIn$g = getBuiltIn$n;
var apply$a = functionApply$1;
var call$F = functionCall;
var uncurryThis$$ = functionUncurryThis;
var fails$13 = fails$1e;
var isCallable$l = isCallable$z;
var isSymbol$2 = isSymbol$6;
var arraySlice$8 = arraySlice$a;
var getReplacerFunction = getJsonReplacerFunction;
var NATIVE_SYMBOL$2 = symbolConstructorDetection;
var $String$2 = String;
var $stringify = getBuiltIn$g("JSON", "stringify");
var exec$7 = uncurryThis$$(/./.exec);
var charAt$c = uncurryThis$$("".charAt);
var charCodeAt$3 = uncurryThis$$("".charCodeAt);
var replace$a = uncurryThis$$("".replace);
var numberToString$2 = uncurryThis$$(1 .toString);
var tester = /[\uD800-\uDFFF]/g;
var low = /^[\uD800-\uDBFF]$/;
var hi = /^[\uDC00-\uDFFF]$/;
var WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL$2 || fails$13(function() {
var symbol = getBuiltIn$g("Symbol")("stringify detection");
return $stringify([symbol]) !== "[null]" || $stringify({
a: symbol
}) !== "{}" || $stringify(Object(symbol)) !== "{}";
});
var ILL_FORMED_UNICODE = fails$13(function() {
return $stringify("\uDF06\uD834") !== '"\\udf06\\ud834"' || $stringify("\uDEAD") !== '"\\udead"';
});
var stringifyWithSymbolsFix = function stringifyWithSymbolsFix2(it, replacer3) {
var args = arraySlice$8(arguments);
var $replacer = getReplacerFunction(replacer3);
if (!isCallable$l($replacer) && (it === void 0 || isSymbol$2(it))) return;
args[1] = function(key, value) {
if (isCallable$l($replacer)) value = call$F($replacer, this, $String$2(key), value);
if (!isSymbol$2(value)) return value;
};
return apply$a($stringify, null, args);
};
var fixIllFormed = function fixIllFormed2(match2, offset, string) {
var prev = charAt$c(string, offset - 1);
var next8 = charAt$c(string, offset + 1);
if (exec$7(low, match2) && !exec$7(hi, next8) || exec$7(hi, match2) && !exec$7(low, prev)) {
return "\\u" + numberToString$2(charCodeAt$3(match2, 0), 16);
}
return match2;
};
if ($stringify) {
$$3B({
target: "JSON",
stat: true,
arity: 3,
forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE
}, {
// eslint-disable-next-line no-unused-vars -- required for `.length`
stringify: function stringify(it, replacer3, space) {
var args = arraySlice$8(arguments);
var result = apply$a(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);
return ILL_FORMED_UNICODE && typeof result == "string" ? replace$a(result, tester, fixIllFormed) : result;
}
});
}
var $$3A = _export;
var NATIVE_SYMBOL$1 = symbolConstructorDetection;
var fails$12 = fails$1e;
var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols;
var toObject$p = toObject$s;
var FORCED$w = !NATIVE_SYMBOL$1 || fails$12(function() {
getOwnPropertySymbolsModule$1.f(1);
});
$$3A({
target: "Object",
stat: true,
forced: FORCED$w
}, {
getOwnPropertySymbols: function getOwnPropertySymbols(it) {
var $getOwnPropertySymbols3 = getOwnPropertySymbolsModule$1.f;
return $getOwnPropertySymbols3 ? $getOwnPropertySymbols3(toObject$p(it)) : [];
}
});
var $$3z = _export;
var DESCRIPTORS$x = descriptors;
var globalThis$I = globalThis_1;
var uncurryThis$_ = functionUncurryThis;
var hasOwn$f = hasOwnProperty_1;
var isCallable$k = isCallable$z;
var isPrototypeOf$9 = objectIsPrototypeOf;
var toString$q = toString$t;
var defineBuiltInAccessor$c = defineBuiltInAccessor$e;
var copyConstructorProperties$3 = copyConstructorProperties$5;
var NativeSymbol = globalThis$I.Symbol;
var SymbolPrototype = NativeSymbol && NativeSymbol.prototype;
if (DESCRIPTORS$x && isCallable$k(NativeSymbol) && (!("description" in SymbolPrototype) || // Safari 12 bug
NativeSymbol().description !== void 0)) {
var EmptyStringDescriptionStore = {};
var SymbolWrapper = function _Symbol2() {
var description = arguments.length < 1 || arguments[0] === void 0 ? void 0 : toString$q(arguments[0]);
var result = isPrototypeOf$9(SymbolPrototype, this) ? new NativeSymbol(description) : description === void 0 ? NativeSymbol() : NativeSymbol(description);
if (description === "") EmptyStringDescriptionStore[result] = true;
return result;
};
copyConstructorProperties$3(SymbolWrapper, NativeSymbol);
SymbolWrapper.prototype = SymbolPrototype;
SymbolPrototype.constructor = SymbolWrapper;
var NATIVE_SYMBOL = String(NativeSymbol("description detection")) === "Symbol(description detection)";
var thisSymbolValue = uncurryThis$_(SymbolPrototype.valueOf);
var symbolDescriptiveString = uncurryThis$_(SymbolPrototype.toString);
var regexp = /^Symbol\((.*)\)[^)]+$/;
var replace$9 = uncurryThis$_("".replace);
var stringSlice$e = uncurryThis$_("".slice);
defineBuiltInAccessor$c(SymbolPrototype, "description", {
configurable: true,
get: function description() {
var symbol = thisSymbolValue(this);
if (hasOwn$f(EmptyStringDescriptionStore, symbol)) return "";
var string = symbolDescriptiveString(symbol);
var desc = NATIVE_SYMBOL ? stringSlice$e(string, 7, -1) : replace$9(string, regexp, "$1");
return desc === "" ? void 0 : desc;
}
});
$$3z({
global: true,
constructor: true,
forced: true
}, {
Symbol: SymbolWrapper
});
}
var defineWellKnownSymbol$e = wellKnownSymbolDefine;
defineWellKnownSymbol$e("asyncIterator");
var defineWellKnownSymbol$d = wellKnownSymbolDefine;
defineWellKnownSymbol$d("hasInstance");
var defineWellKnownSymbol$c = wellKnownSymbolDefine;
defineWellKnownSymbol$c("isConcatSpreadable");
var defineWellKnownSymbol$b = wellKnownSymbolDefine;
defineWellKnownSymbol$b("iterator");
var defineWellKnownSymbol$a = wellKnownSymbolDefine;
defineWellKnownSymbol$a("match");
var defineWellKnownSymbol$9 = wellKnownSymbolDefine;
defineWellKnownSymbol$9("replace");
var defineWellKnownSymbol$8 = wellKnownSymbolDefine;
defineWellKnownSymbol$8("search");
var defineWellKnownSymbol$7 = wellKnownSymbolDefine;
defineWellKnownSymbol$7("species");
var defineWellKnownSymbol$6 = wellKnownSymbolDefine;
defineWellKnownSymbol$6("split");
var defineWellKnownSymbol$5 = wellKnownSymbolDefine;
var defineSymbolToPrimitive = symbolDefineToPrimitive;
defineWellKnownSymbol$5("toPrimitive");
defineSymbolToPrimitive();
var getBuiltIn$f = getBuiltIn$n;
var defineWellKnownSymbol$4 = wellKnownSymbolDefine;
var setToStringTag$a = setToStringTag$c;
defineWellKnownSymbol$4("toStringTag");
setToStringTag$a(getBuiltIn$f("Symbol"), "Symbol");
var defineWellKnownSymbol$3 = wellKnownSymbolDefine;
defineWellKnownSymbol$3("unscopables");
var $TypeError$o = TypeError;
var MAX_SAFE_INTEGER = 9007199254740991;
var doesNotExceedSafeInteger$3 = function doesNotExceedSafeInteger(it) {
if (it > MAX_SAFE_INTEGER) throw $TypeError$o("Maximum allowed index exceeded");
return it;
};
var DESCRIPTORS$w = descriptors;
var definePropertyModule$6 = objectDefineProperty;
var createPropertyDescriptor$6 = createPropertyDescriptor$a;
var createProperty$7 = function createProperty(object, key, value) {
if (DESCRIPTORS$w) definePropertyModule$6.f(object, key, createPropertyDescriptor$6(0, value));
else object[key] = value;
};
var fails$11 = fails$1e;
var wellKnownSymbol$t = wellKnownSymbol$C;
var V8_VERSION$2 = environmentV8Version;
var SPECIES$5 = wellKnownSymbol$t("species");
var arrayMethodHasSpeciesSupport$5 = function arrayMethodHasSpeciesSupport(METHOD_NAME) {
return V8_VERSION$2 >= 51 || !fails$11(function() {
var array = [];
var constructor = array.constructor = {};
constructor[SPECIES$5] = function() {
return {
foo: 1
};
};
return array[METHOD_NAME](Boolean).foo !== 1;
});
};
var $$3y = _export;
var fails$10 = fails$1e;
var isArray$6 = isArray$9;
var isObject$B = isObject$I;
var toObject$o = toObject$s;
var lengthOfArrayLike$j = lengthOfArrayLike$m;
var doesNotExceedSafeInteger$2 = doesNotExceedSafeInteger$3;
var createProperty$6 = createProperty$7;
var arraySpeciesCreate$3 = arraySpeciesCreate$5;
var arrayMethodHasSpeciesSupport$4 = arrayMethodHasSpeciesSupport$5;
var wellKnownSymbol$s = wellKnownSymbol$C;
var V8_VERSION$1 = environmentV8Version;
var IS_CONCAT_SPREADABLE = wellKnownSymbol$s("isConcatSpreadable");
var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION$1 >= 51 || !fails$10(function() {
var array = [];
array[IS_CONCAT_SPREADABLE] = false;
return array.concat()[0] !== array;
});
var isConcatSpreadable = function isConcatSpreadable2(O) {
if (!isObject$B(O)) return false;
var spreadable = O[IS_CONCAT_SPREADABLE];
return spreadable !== void 0 ? !!spreadable : isArray$6(O);
};
var FORCED$v = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport$4("concat");
$$3y({
target: "Array",
proto: true,
arity: 1,
forced: FORCED$v
}, {
// eslint-disable-next-line no-unused-vars -- required for `.length`
concat: function concat(arg) {
var O = toObject$o(this);
var A2 = arraySpeciesCreate$3(O, 0);
var n = 0;
var i, k2, length, len, E2;
for (i = -1, length = arguments.length; i < length; i++) {
E2 = i === -1 ? O : arguments[i];
if (isConcatSpreadable(E2)) {
len = lengthOfArrayLike$j(E2);
doesNotExceedSafeInteger$2(n + len);
for (k2 = 0; k2 < len; k2++, n++) if (k2 in E2) createProperty$6(A2, n, E2[k2]);
} else {
doesNotExceedSafeInteger$2(n + 1);
createProperty$6(A2, n++, E2);
}
}
A2.length = n;
return A2;
}
});
var tryToString$4 = tryToString$7;
var $TypeError$n = TypeError;
var deletePropertyOrThrow$3 = function deletePropertyOrThrow(O, P2) {
if (!delete O[P2]) throw new $TypeError$n("Cannot delete property " + tryToString$4(P2) + " of " + tryToString$4(O));
};
var toObject$n = toObject$s;
var toAbsoluteIndex$6 = toAbsoluteIndex$8;
var lengthOfArrayLike$i = lengthOfArrayLike$m;
var deletePropertyOrThrow$2 = deletePropertyOrThrow$3;
var min$6 = Math.min;
var arrayCopyWithin = [].copyWithin || function copyWithin(target, start) {
var O = toObject$n(this);
var len = lengthOfArrayLike$i(O);
var to = toAbsoluteIndex$6(target, len);
var from5 = toAbsoluteIndex$6(start, len);
var end = arguments.length > 2 ? arguments[2] : void 0;
var count = min$6((end === void 0 ? len : toAbsoluteIndex$6(end, len)) - from5, len - to);
var inc = 1;
if (from5 < to && to < from5 + count) {
inc = -1;
from5 += count - 1;
to += count - 1;
}
while (count-- > 0) {
if (from5 in O) O[to] = O[from5];
else deletePropertyOrThrow$2(O, to);
to += inc;
from5 += inc;
}
return O;
};
var wellKnownSymbol$r = wellKnownSymbol$C;
var create$b = objectCreate;
var defineProperty$7 = objectDefineProperty.f;
var UNSCOPABLES = wellKnownSymbol$r("unscopables");
var ArrayPrototype$1 = Array.prototype;
if (ArrayPrototype$1[UNSCOPABLES] === void 0) {
defineProperty$7(ArrayPrototype$1, UNSCOPABLES, {
configurable: true,
value: create$b(null)
});
}
var addToUnscopables$a = function addToUnscopables(key) {
ArrayPrototype$1[UNSCOPABLES][key] = true;
};
var $$3x = _export;
var copyWithin2 = arrayCopyWithin;
var addToUnscopables$9 = addToUnscopables$a;
$$3x({
target: "Array",
proto: true
}, {
copyWithin: copyWithin2
});
addToUnscopables$9("copyWithin");
var fails$$ = fails$1e;
var arrayMethodIsStrict$9 = function arrayMethodIsStrict(METHOD_NAME, argument) {
var method = [][METHOD_NAME];
return !!method && fails$$(function() {
method.call(null, argument || function() {
return 1;
}, 1);
});
};
var $$3w = _export;
var $every$1 = arrayIteration.every;
var arrayMethodIsStrict$8 = arrayMethodIsStrict$9;
var STRICT_METHOD$4 = arrayMethodIsStrict$8("every");
$$3w({
target: "Array",
proto: true,
forced: !STRICT_METHOD$4
}, {
every: function every(callbackfn) {
return $every$1(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
}
});
var toObject$m = toObject$s;
var toAbsoluteIndex$5 = toAbsoluteIndex$8;
var lengthOfArrayLike$h = lengthOfArrayLike$m;
var arrayFill$1 = function fill(value) {
var O = toObject$m(this);
var length = lengthOfArrayLike$h(O);
var argumentsLength = arguments.length;
var index2 = toAbsoluteIndex$5(argumentsLength > 1 ? arguments[1] : void 0, length);
var end = argumentsLength > 2 ? arguments[2] : void 0;
var endPos = end === void 0 ? length : toAbsoluteIndex$5(end, length);
while (endPos > index2) O[index2++] = value;
return O;
};
var $$3v = _export;
var fill$1 = arrayFill$1;
var addToUnscopables$8 = addToUnscopables$a;
$$3v({
target: "Array",
proto: true
}, {
fill: fill$1
});
addToUnscopables$8("fill");
var $$3u = _export;
var $filter$1 = arrayIteration.filter;
var arrayMethodHasSpeciesSupport$3 = arrayMethodHasSpeciesSupport$5;
var HAS_SPECIES_SUPPORT$3 = arrayMethodHasSpeciesSupport$3("filter");
$$3u({
target: "Array",
proto: true,
forced: !HAS_SPECIES_SUPPORT$3
}, {
filter: function filter2(callbackfn) {
return $filter$1(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
}
});
var $$3t = _export;
var $find$1 = arrayIteration.find;
var addToUnscopables$7 = addToUnscopables$a;
var FIND = "find";
var SKIPS_HOLES$1 = true;
if (FIND in []) Array(1)[FIND](function() {
SKIPS_HOLES$1 = false;
});
$$3t({
target: "Array",
proto: true,
forced: SKIPS_HOLES$1
}, {
find: function find(callbackfn) {
return $find$1(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
}
});
addToUnscopables$7(FIND);
var $$3s = _export;
var $findIndex$1 = arrayIteration.findIndex;
var addToUnscopables$6 = addToUnscopables$a;
var FIND_INDEX = "findIndex";
var SKIPS_HOLES = true;
if (FIND_INDEX in []) Array(1)[FIND_INDEX](function() {
SKIPS_HOLES = false;
});
$$3s({
target: "Array",
proto: true,
forced: SKIPS_HOLES
}, {
findIndex: function findIndex(callbackfn) {
return $findIndex$1(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
}
});
addToUnscopables$6(FIND_INDEX);
var isArray$5 = isArray$9;
var lengthOfArrayLike$g = lengthOfArrayLike$m;
var doesNotExceedSafeInteger$1 = doesNotExceedSafeInteger$3;
var bind$o = functionBindContext;
var _flattenIntoArray = function flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) {
var targetIndex = start;
var sourceIndex = 0;
var mapFn = mapper ? bind$o(mapper, thisArg) : false;
var element, elementLen;
while (sourceIndex < sourceLen) {
if (sourceIndex in source) {
element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];
if (depth > 0 && isArray$5(element)) {
elementLen = lengthOfArrayLike$g(element);
targetIndex = _flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;
} else {
doesNotExceedSafeInteger$1(targetIndex + 1);
target[targetIndex] = element;
}
targetIndex++;
}
sourceIndex++;
}
return targetIndex;
};
var flattenIntoArray_1 = _flattenIntoArray;
var $$3r = _export;
var flattenIntoArray$1 = flattenIntoArray_1;
var toObject$l = toObject$s;
var lengthOfArrayLike$f = lengthOfArrayLike$m;
var toIntegerOrInfinity$c = toIntegerOrInfinity$f;
var arraySpeciesCreate$2 = arraySpeciesCreate$5;
$$3r({
target: "Array",
proto: true
}, {
flat: function flat() {
var depthArg = arguments.length ? arguments[0] : void 0;
var O = toObject$l(this);
var sourceLen = lengthOfArrayLike$f(O);
var A2 = arraySpeciesCreate$2(O, 0);
A2.length = flattenIntoArray$1(A2, O, O, sourceLen, 0, depthArg === void 0 ? 1 : toIntegerOrInfinity$c(depthArg));
return A2;
}
});
var $$3q = _export;
var flattenIntoArray2 = flattenIntoArray_1;
var aCallable$p = aCallable$s;
var toObject$k = toObject$s;
var lengthOfArrayLike$e = lengthOfArrayLike$m;
var arraySpeciesCreate$1 = arraySpeciesCreate$5;
$$3q({
target: "Array",
proto: true
}, {
flatMap: function flatMap(callbackfn) {
var O = toObject$k(this);
var sourceLen = lengthOfArrayLike$e(O);
var A2;
aCallable$p(callbackfn);
A2 = arraySpeciesCreate$1(O, 0);
A2.length = flattenIntoArray2(A2, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
return A2;
}
});
var $forEach$1 = arrayIteration.forEach;
var arrayMethodIsStrict$7 = arrayMethodIsStrict$9;
var STRICT_METHOD$3 = arrayMethodIsStrict$7("forEach");
var arrayForEach = !STRICT_METHOD$3 ? function forEach2(callbackfn) {
return $forEach$1(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
} : [].forEach;
var $$3p = _export;
var forEach$4 = arrayForEach;
$$3p({
target: "Array",
proto: true,
forced: [].forEach !== forEach$4
}, {
forEach: forEach$4
});
var call$E = functionCall;
var anObject$H = anObject$N;
var getMethod$9 = getMethod$b;
var iteratorClose$4 = function iteratorClose(iterator2, kind, value) {
var innerResult, innerError;
anObject$H(iterator2);
try {
innerResult = getMethod$9(iterator2, "return");
if (!innerResult) {
if (kind === "throw") throw value;
return value;
}
innerResult = call$E(innerResult, iterator2);
} catch (error2) {
innerError = true;
innerResult = error2;
}
if (kind === "throw") throw value;
if (innerError) throw innerResult;
anObject$H(innerResult);
return value;
};
var anObject$G = anObject$N;
var iteratorClose$3 = iteratorClose$4;
var callWithSafeIterationClosing$1 = function callWithSafeIterationClosing(iterator2, fn, value, ENTRIES2) {
try {
return ENTRIES2 ? fn(anObject$G(value)[0], value[1]) : fn(value);
} catch (error2) {
iteratorClose$3(iterator2, "throw", error2);
}
};
var iterators = {};
var wellKnownSymbol$q = wellKnownSymbol$C;
var Iterators$5 = iterators;
var ITERATOR$b = wellKnownSymbol$q("iterator");
var ArrayPrototype = Array.prototype;
var isArrayIteratorMethod$3 = function isArrayIteratorMethod(it) {
return it !== void 0 && (Iterators$5.Array === it || ArrayPrototype[ITERATOR$b] === it);
};
var classof$d = classof$j;
var getMethod$8 = getMethod$b;
var isNullOrUndefined$7 = isNullOrUndefined$a;
var Iterators$4 = iterators;
var wellKnownSymbol$p = wellKnownSymbol$C;
var ITERATOR$a = wellKnownSymbol$p("iterator");
var getIteratorMethod$5 = function getIteratorMethod(it) {
if (!isNullOrUndefined$7(it)) return getMethod$8(it, ITERATOR$a) || getMethod$8(it, "@@iterator") || Iterators$4[classof$d(it)];
};
var call$D = functionCall;
var aCallable$o = aCallable$s;
var anObject$F = anObject$N;
var tryToString$3 = tryToString$7;
var getIteratorMethod$4 = getIteratorMethod$5;
var $TypeError$m = TypeError;
var getIterator$5 = function getIterator(argument, usingIterator) {
var iteratorMethod = arguments.length < 2 ? getIteratorMethod$4(argument) : usingIterator;
if (aCallable$o(iteratorMethod)) return anObject$F(call$D(iteratorMethod, argument));
throw new $TypeError$m(tryToString$3(argument) + " is not iterable");
};
var bind$n = functionBindContext;
var call$C = functionCall;
var toObject$j = toObject$s;
var callWithSafeIterationClosing2 = callWithSafeIterationClosing$1;
var isArrayIteratorMethod$2 = isArrayIteratorMethod$3;
var isConstructor$5 = isConstructor$7;
var lengthOfArrayLike$d = lengthOfArrayLike$m;
var createProperty$5 = createProperty$7;
var getIterator$4 = getIterator$5;
var getIteratorMethod$3 = getIteratorMethod$5;
var $Array$3 = Array;
var arrayFrom$1 = function from(arrayLike) {
var O = toObject$j(arrayLike);
var IS_CONSTRUCTOR = isConstructor$5(this);
var argumentsLength = arguments.length;
var mapfn = argumentsLength > 1 ? arguments[1] : void 0;
var mapping = mapfn !== void 0;
if (mapping) mapfn = bind$n(mapfn, argumentsLength > 2 ? arguments[2] : void 0);
var iteratorMethod = getIteratorMethod$3(O);
var index2 = 0;
var length, result, step, iterator2, next8, value;
if (iteratorMethod && !(this === $Array$3 && isArrayIteratorMethod$2(iteratorMethod))) {
result = IS_CONSTRUCTOR ? new this() : [];
iterator2 = getIterator$4(O, iteratorMethod);
next8 = iterator2.next;
for (; !(step = call$C(next8, iterator2)).done; index2++) {
value = mapping ? callWithSafeIterationClosing2(iterator2, mapfn, [step.value, index2], true) : step.value;
createProperty$5(result, index2, value);
}
} else {
length = lengthOfArrayLike$d(O);
result = IS_CONSTRUCTOR ? new this(length) : $Array$3(length);
for (; length > index2; index2++) {
value = mapping ? mapfn(O[index2], index2) : O[index2];
createProperty$5(result, index2, value);
}
}
result.length = index2;
return result;
};
var wellKnownSymbol$o = wellKnownSymbol$C;
var ITERATOR$9 = wellKnownSymbol$o("iterator");
var SAFE_CLOSING = false;
try {
var called = 0;
var iteratorWithReturn = {
next: function next8() {
return {
done: !!called++
};
},
"return": function _return() {
SAFE_CLOSING = true;
}
};
iteratorWithReturn[ITERATOR$9] = function() {
return this;
};
Array.from(iteratorWithReturn, function() {
throw 2;
});
} catch (error2) {
}
var checkCorrectnessOfIteration$4 = function checkCorrectnessOfIteration(exec2, SKIP_CLOSING) {
try {
if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
} catch (error2) {
return false;
}
var ITERATION_SUPPORT = false;
try {
var object = {};
object[ITERATOR$9] = function() {
return {
next: function next8() {
return {
done: ITERATION_SUPPORT = true
};
}
};
};
exec2(object);
} catch (error2) {
}
return ITERATION_SUPPORT;
};
var $$3o = _export;
var from2 = arrayFrom$1;
var checkCorrectnessOfIteration$3 = checkCorrectnessOfIteration$4;
var INCORRECT_ITERATION = !checkCorrectnessOfIteration$3(function(iterable) {
Array.from(iterable);
});
$$3o({
target: "Array",
stat: true,
forced: INCORRECT_ITERATION
}, {
from: from2
});
var $$3n = _export;
var $includes$1 = arrayIncludes.includes;
var fails$_ = fails$1e;
var addToUnscopables$5 = addToUnscopables$a;
var BROKEN_ON_SPARSE = fails$_(function() {
return !Array(1).includes();
});
$$3n({
target: "Array",
proto: true,
forced: BROKEN_ON_SPARSE
}, {
includes: function includes(el) {
return $includes$1(this, el, arguments.length > 1 ? arguments[1] : void 0);
}
});
addToUnscopables$5("includes");
var $$3m = _export;
var uncurryThis$Z = functionUncurryThisClause;
var $indexOf$1 = arrayIncludes.indexOf;
var arrayMethodIsStrict$6 = arrayMethodIsStrict$9;
var nativeIndexOf = uncurryThis$Z([].indexOf);
var NEGATIVE_ZERO$1 = !!nativeIndexOf && 1 / nativeIndexOf([1], 1, -0) < 0;
var FORCED$u = NEGATIVE_ZERO$1 || !arrayMethodIsStrict$6("indexOf");
$$3m({
target: "Array",
proto: true,
forced: FORCED$u
}, {
indexOf: function indexOf(searchElement) {
var fromIndex = arguments.length > 1 ? arguments[1] : void 0;
return NEGATIVE_ZERO$1 ? nativeIndexOf(this, searchElement, fromIndex) || 0 : $indexOf$1(this, searchElement, fromIndex);
}
});
var $$3l = _export;
var isArray$4 = isArray$9;
$$3l({
target: "Array",
stat: true
}, {
isArray: isArray$4
});
var fails$Z = fails$1e;
var correctPrototypeGetter = !fails$Z(function() {
function F() {
}
F.prototype.constructor = null;
return Object.getPrototypeOf(new F()) !== F.prototype;
});
var hasOwn$e = hasOwnProperty_1;
var isCallable$j = isCallable$z;
var toObject$i = toObject$s;
var sharedKey2 = sharedKey$4;
var CORRECT_PROTOTYPE_GETTER$2 = correctPrototypeGetter;
var IE_PROTO = sharedKey2("IE_PROTO");
var $Object$4 = Object;
var ObjectPrototype$3 = $Object$4.prototype;
var objectGetPrototypeOf$2 = CORRECT_PROTOTYPE_GETTER$2 ? $Object$4.getPrototypeOf : function(O) {
var object = toObject$i(O);
if (hasOwn$e(object, IE_PROTO)) return object[IE_PROTO];
var constructor = object.constructor;
if (isCallable$j(constructor) && object instanceof constructor) {
return constructor.prototype;
}
return object instanceof $Object$4 ? ObjectPrototype$3 : null;
};
var fails$Y = fails$1e;
var isCallable$i = isCallable$z;
var isObject$A = isObject$I;
var getPrototypeOf$b = objectGetPrototypeOf$2;
var defineBuiltIn$h = defineBuiltIn$l;
var wellKnownSymbol$n = wellKnownSymbol$C;
var ITERATOR$8 = wellKnownSymbol$n("iterator");
var BUGGY_SAFARI_ITERATORS$1 = false;
var IteratorPrototype$2, PrototypeOfArrayIteratorPrototype, arrayIterator;
if ([].keys) {
arrayIterator = [].keys();
if (!("next" in arrayIterator)) BUGGY_SAFARI_ITERATORS$1 = true;
else {
PrototypeOfArrayIteratorPrototype = getPrototypeOf$b(getPrototypeOf$b(arrayIterator));
if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype$2 = PrototypeOfArrayIteratorPrototype;
}
}
var NEW_ITERATOR_PROTOTYPE = !isObject$A(IteratorPrototype$2) || fails$Y(function() {
var test2 = {};
return IteratorPrototype$2[ITERATOR$8].call(test2) !== test2;
});
if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype$2 = {};
if (!isCallable$i(IteratorPrototype$2[ITERATOR$8])) {
defineBuiltIn$h(IteratorPrototype$2, ITERATOR$8, function() {
return this;
});
}
var iteratorsCore = {
IteratorPrototype: IteratorPrototype$2,
BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS$1
};
var IteratorPrototype$1 = iteratorsCore.IteratorPrototype;
var create$a = objectCreate;
var createPropertyDescriptor$5 = createPropertyDescriptor$a;
var setToStringTag$9 = setToStringTag$c;
var Iterators$3 = iterators;
var returnThis$1 = function returnThis() {
return this;
};
var iteratorCreateConstructor = function iteratorCreateConstructor2(IteratorConstructor, NAME2, next8, ENUMERABLE_NEXT) {
var TO_STRING_TAG2 = NAME2 + " Iterator";
IteratorConstructor.prototype = create$a(IteratorPrototype$1, {
next: createPropertyDescriptor$5(+!ENUMERABLE_NEXT, next8)
});
setToStringTag$9(IteratorConstructor, TO_STRING_TAG2, false);
Iterators$3[TO_STRING_TAG2] = returnThis$1;
return IteratorConstructor;
};
var uncurryThis$Y = functionUncurryThis;
var aCallable$n = aCallable$s;
var functionUncurryThisAccessor = function functionUncurryThisAccessor2(object, key, method) {
try {
return uncurryThis$Y(aCallable$n(Object.getOwnPropertyDescriptor(object, key)[method]));
} catch (error2) {
}
};
var isObject$z = isObject$I;
var isPossiblePrototype$1 = function isPossiblePrototype(argument) {
return isObject$z(argument) || argument === null;
};
var isPossiblePrototype2 = isPossiblePrototype$1;
var $String$1 = String;
var $TypeError$l = TypeError;
var aPossiblePrototype$2 = function aPossiblePrototype(argument) {
if (isPossiblePrototype2(argument)) return argument;
throw new $TypeError$l("Can't set " + $String$1(argument) + " as a prototype");
};
var uncurryThisAccessor$1 = functionUncurryThisAccessor;
var isObject$y = isObject$I;
var requireObjectCoercible$h = requireObjectCoercible$k;
var aPossiblePrototype$1 = aPossiblePrototype$2;
var objectSetPrototypeOf$1 = Object.setPrototypeOf || ("__proto__" in {} ? function() {
var CORRECT_SETTER = false;
var test2 = {};
var setter;
try {
setter = uncurryThisAccessor$1(Object.prototype, "__proto__", "set");
setter(test2, []);
CORRECT_SETTER = test2 instanceof Array;
} catch (error2) {
}
return function setPrototypeOf3(O, proto) {
requireObjectCoercible$h(O);
aPossiblePrototype$1(proto);
if (!isObject$y(O)) return O;
if (CORRECT_SETTER) setter(O, proto);
else O.__proto__ = proto;
return O;
};
}() : void 0);
var $$3k = _export;
var call$B = functionCall;
var FunctionName$1 = functionName;
var isCallable$h = isCallable$z;
var createIteratorConstructor$4 = iteratorCreateConstructor;
var getPrototypeOf$a = objectGetPrototypeOf$2;
var setPrototypeOf$7 = objectSetPrototypeOf$1;
var setToStringTag$8 = setToStringTag$c;
var createNonEnumerableProperty$a = createNonEnumerableProperty$d;
var defineBuiltIn$g = defineBuiltIn$l;
var wellKnownSymbol$m = wellKnownSymbol$C;
var Iterators$2 = iterators;
var IteratorsCore = iteratorsCore;
var PROPER_FUNCTION_NAME$3 = FunctionName$1.PROPER;
var CONFIGURABLE_FUNCTION_NAME$1 = FunctionName$1.CONFIGURABLE;
var IteratorPrototype = IteratorsCore.IteratorPrototype;
var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
var ITERATOR$7 = wellKnownSymbol$m("iterator");
var KEYS = "keys";
var VALUES = "values";
var ENTRIES = "entries";
var returnThis2 = function returnThis3() {
return this;
};
var iteratorDefine = function iteratorDefine2(Iterable, NAME2, IteratorConstructor, next8, DEFAULT, IS_SET, FORCED2) {
createIteratorConstructor$4(IteratorConstructor, NAME2, next8);
var getIterationMethod = function getIterationMethod2(KIND) {
if (KIND === DEFAULT && defaultIterator) return defaultIterator;
if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];
switch (KIND) {
case KEYS:
return function keys6() {
return new IteratorConstructor(this, KIND);
};
case VALUES:
return function values5() {
return new IteratorConstructor(this, KIND);
};
case ENTRIES:
return function entries5() {
return new IteratorConstructor(this, KIND);
};
}
return function() {
return new IteratorConstructor(this);
};
};
var TO_STRING_TAG2 = NAME2 + " Iterator";
var INCORRECT_VALUES_NAME = false;
var IterablePrototype = Iterable.prototype;
var nativeIterator = IterablePrototype[ITERATOR$7] || IterablePrototype["@@iterator"] || DEFAULT && IterablePrototype[DEFAULT];
var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
var anyNativeIterator = NAME2 === "Array" ? IterablePrototype.entries || nativeIterator : nativeIterator;
var CurrentIteratorPrototype, methods, KEY;
if (anyNativeIterator) {
CurrentIteratorPrototype = getPrototypeOf$a(anyNativeIterator.call(new Iterable()));
if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
if (getPrototypeOf$a(CurrentIteratorPrototype) !== IteratorPrototype) {
if (setPrototypeOf$7) {
setPrototypeOf$7(CurrentIteratorPrototype, IteratorPrototype);
} else if (!isCallable$h(CurrentIteratorPrototype[ITERATOR$7])) {
defineBuiltIn$g(CurrentIteratorPrototype, ITERATOR$7, returnThis2);
}
}
setToStringTag$8(CurrentIteratorPrototype, TO_STRING_TAG2, true);
}
}
if (PROPER_FUNCTION_NAME$3 && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {
if (CONFIGURABLE_FUNCTION_NAME$1) {
createNonEnumerableProperty$a(IterablePrototype, "name", VALUES);
} else {
INCORRECT_VALUES_NAME = true;
defaultIterator = function values5() {
return call$B(nativeIterator, this);
};
}
}
if (DEFAULT) {
methods = {
values: getIterationMethod(VALUES),
keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
entries: getIterationMethod(ENTRIES)
};
if (FORCED2) for (KEY in methods) {
if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
defineBuiltIn$g(IterablePrototype, KEY, methods[KEY]);
}
}
else $$3k({
target: NAME2,
proto: true,
forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME
}, methods);
}
if (IterablePrototype[ITERATOR$7] !== defaultIterator) {
defineBuiltIn$g(IterablePrototype, ITERATOR$7, defaultIterator, {
name: DEFAULT
});
}
Iterators$2[NAME2] = defaultIterator;
return methods;
};
var createIterResultObject$7 = function createIterResultObject(value, done) {
return {
value,
done
};
};
var toIndexedObject$8 = toIndexedObject$f;
var addToUnscopables$4 = addToUnscopables$a;
var Iterators$1 = iterators;
var InternalStateModule$d = internalState;
var defineProperty$6 = objectDefineProperty.f;
var defineIterator$2 = iteratorDefine;
var createIterResultObject$6 = createIterResultObject$7;
var DESCRIPTORS$v = descriptors;
var ARRAY_ITERATOR = "Array Iterator";
var setInternalState$c = InternalStateModule$d.set;
var getInternalState$7 = InternalStateModule$d.getterFor(ARRAY_ITERATOR);
var es_array_iterator = defineIterator$2(Array, "Array", function(iterated, kind) {
setInternalState$c(this, {
type: ARRAY_ITERATOR,
target: toIndexedObject$8(iterated),
// target
index: 0,
// next index
kind
// kind
});
}, function() {
var state = getInternalState$7(this);
var target = state.target;
var index2 = state.index++;
if (!target || index2 >= target.length) {
state.target = null;
return createIterResultObject$6(void 0, true);
}
switch (state.kind) {
case "keys":
return createIterResultObject$6(index2, false);
case "values":
return createIterResultObject$6(target[index2], false);
}
return createIterResultObject$6([index2, target[index2]], false);
}, "values");
var values = Iterators$1.Arguments = Iterators$1.Array;
addToUnscopables$4("keys");
addToUnscopables$4("values");
addToUnscopables$4("entries");
if (DESCRIPTORS$v && values.name !== "values") try {
defineProperty$6(values, "name", {
value: "values"
});
} catch (error2) {
}
var $$3j = _export;
var uncurryThis$X = functionUncurryThis;
var IndexedObject$2 = indexedObject;
var toIndexedObject$7 = toIndexedObject$f;
var arrayMethodIsStrict$5 = arrayMethodIsStrict$9;
var nativeJoin = uncurryThis$X([].join);
var ES3_STRINGS = IndexedObject$2 !== Object;
var FORCED$t = ES3_STRINGS || !arrayMethodIsStrict$5("join", ",");
$$3j({
target: "Array",
proto: true,
forced: FORCED$t
}, {
join: function join(separator) {
return nativeJoin(toIndexedObject$7(this), separator === void 0 ? "," : separator);
}
});
var apply$9 = functionApply$1;
var toIndexedObject$6 = toIndexedObject$f;
var toIntegerOrInfinity$b = toIntegerOrInfinity$f;
var lengthOfArrayLike$c = lengthOfArrayLike$m;
var arrayMethodIsStrict$4 = arrayMethodIsStrict$9;
var min$5 = Math.min;
var $lastIndexOf$1 = [].lastIndexOf;
var NEGATIVE_ZERO = !!$lastIndexOf$1 && 1 / [1].lastIndexOf(1, -0) < 0;
var STRICT_METHOD$2 = arrayMethodIsStrict$4("lastIndexOf");
var FORCED$s = NEGATIVE_ZERO || !STRICT_METHOD$2;
var arrayLastIndexOf = FORCED$s ? function lastIndexOf(searchElement) {
if (NEGATIVE_ZERO) return apply$9($lastIndexOf$1, this, arguments) || 0;
var O = toIndexedObject$6(this);
var length = lengthOfArrayLike$c(O);
if (length === 0) return -1;
var index2 = length - 1;
if (arguments.length > 1) index2 = min$5(index2, toIntegerOrInfinity$b(arguments[1]));
if (index2 < 0) index2 = length + index2;
for (; index2 >= 0; index2--) if (index2 in O && O[index2] === searchElement) return index2 || 0;
return -1;
} : $lastIndexOf$1;
var $$3i = _export;
var lastIndexOf2 = arrayLastIndexOf;
$$3i({
target: "Array",
proto: true,
forced: lastIndexOf2 !== [].lastIndexOf
}, {
lastIndexOf: lastIndexOf2
});
var $$3h = _export;
var $map$1 = arrayIteration.map;
var arrayMethodHasSpeciesSupport$2 = arrayMethodHasSpeciesSupport$5;
var HAS_SPECIES_SUPPORT$2 = arrayMethodHasSpeciesSupport$2("map");
$$3h({
target: "Array",
proto: true,
forced: !HAS_SPECIES_SUPPORT$2
}, {
map: function map(callbackfn) {
return $map$1(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
}
});
var $$3g = _export;
var fails$X = fails$1e;
var isConstructor$4 = isConstructor$7;
var createProperty$4 = createProperty$7;
var $Array$2 = Array;
var ISNT_GENERIC = fails$X(function() {
function F() {
}
return !($Array$2.of.call(F) instanceof F);
});
$$3g({
target: "Array",
stat: true,
forced: ISNT_GENERIC
}, {
of: function of() {
var index2 = 0;
var argumentsLength = arguments.length;
var result = new (isConstructor$4(this) ? this : $Array$2)(argumentsLength);
while (argumentsLength > index2) createProperty$4(result, index2, arguments[index2++]);
result.length = argumentsLength;
return result;
}
});
var aCallable$m = aCallable$s;
var toObject$h = toObject$s;
var IndexedObject$1 = indexedObject;
var lengthOfArrayLike$b = lengthOfArrayLike$m;
var $TypeError$k = TypeError;
var REDUCE_EMPTY = "Reduce of empty array with no initial value";
var createMethod$4 = function createMethod3(IS_RIGHT) {
return function(that, callbackfn, argumentsLength, memo) {
var O = toObject$h(that);
var self2 = IndexedObject$1(O);
var length = lengthOfArrayLike$b(O);
aCallable$m(callbackfn);
if (length === 0 && argumentsLength < 2) throw new $TypeError$k(REDUCE_EMPTY);
var index2 = IS_RIGHT ? length - 1 : 0;
var i = IS_RIGHT ? -1 : 1;
if (argumentsLength < 2) while (true) {
if (index2 in self2) {
memo = self2[index2];
index2 += i;
break;
}
index2 += i;
if (IS_RIGHT ? index2 < 0 : length <= index2) {
throw new $TypeError$k(REDUCE_EMPTY);
}
}
for (; IS_RIGHT ? index2 >= 0 : length > index2; index2 += i) if (index2 in self2) {
memo = callbackfn(memo, self2[index2], index2, O);
}
return memo;
};
};
var arrayReduce = {
// `Array.prototype.reduce` method
// https://tc39.es/ecma262/#sec-array.prototype.reduce
left: createMethod$4(false),
// `Array.prototype.reduceRight` method
// https://tc39.es/ecma262/#sec-array.prototype.reduceright
right: createMethod$4(true)
};
var globalThis$H = globalThis_1;
var userAgent$6 = environmentUserAgent;
var classof$c = classofRaw$2;
var userAgentStartsWith = function userAgentStartsWith2(string) {
return userAgent$6.slice(0, string.length) === string;
};
var environment = function() {
if (userAgentStartsWith("Bun/")) return "BUN";
if (userAgentStartsWith("Cloudflare-Workers")) return "CLOUDFLARE";
if (userAgentStartsWith("Deno/")) return "DENO";
if (userAgentStartsWith("Node.js/")) return "NODE";
if (globalThis$H.Bun && typeof Bun.version == "string") return "BUN";
if (globalThis$H.Deno && _typeof(Deno.version) == "object") return "DENO";
if (classof$c(globalThis$H.process) === "process") return "NODE";
if (globalThis$H.window && globalThis$H.document) return "BROWSER";
return "REST";
}();
var ENVIRONMENT$2 = environment;
var environmentIsNode = ENVIRONMENT$2 === "NODE";
var $$3f = _export;
var $reduce$1 = arrayReduce.left;
var arrayMethodIsStrict$3 = arrayMethodIsStrict$9;
var CHROME_VERSION$1 = environmentV8Version;
var IS_NODE$4 = environmentIsNode;
var CHROME_BUG$1 = !IS_NODE$4 && CHROME_VERSION$1 > 79 && CHROME_VERSION$1 < 83;
var FORCED$r = CHROME_BUG$1 || !arrayMethodIsStrict$3("reduce");
$$3f({
target: "Array",
proto: true,
forced: FORCED$r
}, {
reduce: function reduce(callbackfn) {
var length = arguments.length;
return $reduce$1(this, callbackfn, length, length > 1 ? arguments[1] : void 0);
}
});
var $$3e = _export;
var $reduceRight$1 = arrayReduce.right;
var arrayMethodIsStrict$2 = arrayMethodIsStrict$9;
var CHROME_VERSION = environmentV8Version;
var IS_NODE$3 = environmentIsNode;
var CHROME_BUG = !IS_NODE$3 && CHROME_VERSION > 79 && CHROME_VERSION < 83;
var FORCED$q = CHROME_BUG || !arrayMethodIsStrict$2("reduceRight");
$$3e({
target: "Array",
proto: true,
forced: FORCED$q
}, {
reduceRight: function reduceRight(callbackfn) {
return $reduceRight$1(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : void 0);
}
});
var $$3d = _export;
var uncurryThis$W = functionUncurryThis;
var isArray$3 = isArray$9;
var nativeReverse = uncurryThis$W([].reverse);
var test$1 = [1, 2];
$$3d({
target: "Array",
proto: true,
forced: String(test$1) === String(test$1.reverse())
}, {
reverse: function reverse() {
if (isArray$3(this)) this.length = this.length;
return nativeReverse(this);
}
});
var $$3c = _export;
var isArray$2 = isArray$9;
var isConstructor$3 = isConstructor$7;
var isObject$x = isObject$I;
var toAbsoluteIndex$4 = toAbsoluteIndex$8;
var lengthOfArrayLike$a = lengthOfArrayLike$m;
var toIndexedObject$5 = toIndexedObject$f;
var createProperty$3 = createProperty$7;
var wellKnownSymbol$l = wellKnownSymbol$C;
var arrayMethodHasSpeciesSupport$1 = arrayMethodHasSpeciesSupport$5;
var nativeSlice = arraySlice$a;
var HAS_SPECIES_SUPPORT$1 = arrayMethodHasSpeciesSupport$1("slice");
var SPECIES$4 = wellKnownSymbol$l("species");
var $Array$1 = Array;
var max$4 = Math.max;
$$3c({
target: "Array",
proto: true,
forced: !HAS_SPECIES_SUPPORT$1
}, {
slice: function slice(start, end) {
var O = toIndexedObject$5(this);
var length = lengthOfArrayLike$a(O);
var k2 = toAbsoluteIndex$4(start, length);
var fin = toAbsoluteIndex$4(end === void 0 ? length : end, length);
var Constructor2, result, n;
if (isArray$2(O)) {
Constructor2 = O.constructor;
if (isConstructor$3(Constructor2) && (Constructor2 === $Array$1 || isArray$2(Constructor2.prototype))) {
Constructor2 = void 0;
} else if (isObject$x(Constructor2)) {
Constructor2 = Constructor2[SPECIES$4];
if (Constructor2 === null) Constructor2 = void 0;
}
if (Constructor2 === $Array$1 || Constructor2 === void 0) {
return nativeSlice(O, k2, fin);
}
}
result = new (Constructor2 === void 0 ? $Array$1 : Constructor2)(max$4(fin - k2, 0));
for (n = 0; k2 < fin; k2++, n++) if (k2 in O) createProperty$3(result, n, O[k2]);
result.length = n;
return result;
}
});
var $$3b = _export;
var $some$1 = arrayIteration.some;
var arrayMethodIsStrict$1 = arrayMethodIsStrict$9;
var STRICT_METHOD$1 = arrayMethodIsStrict$1("some");
$$3b({
target: "Array",
proto: true,
forced: !STRICT_METHOD$1
}, {
some: function some(callbackfn) {
return $some$1(this, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
}
});
var arraySlice$7 = arraySlice$a;
var floor$8 = Math.floor;
var _sort = function sort(array, comparefn) {
var length = array.length;
if (length < 8) {
var i = 1;
var element, j;
while (i < length) {
j = i;
element = array[i];
while (j && comparefn(array[j - 1], element) > 0) {
array[j] = array[--j];
}
if (j !== i++) array[j] = element;
}
} else {
var middle = floor$8(length / 2);
var left = _sort(arraySlice$7(array, 0, middle), comparefn);
var right = _sort(arraySlice$7(array, middle), comparefn);
var llength = left.length;
var rlength = right.length;
var lindex = 0;
var rindex = 0;
while (lindex < llength || rindex < rlength) {
array[lindex + rindex] = lindex < llength && rindex < rlength ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++] : lindex < llength ? left[lindex++] : right[rindex++];
}
}
return array;
};
var arraySort$1 = _sort;
var userAgent$5 = environmentUserAgent;
var firefox = userAgent$5.match(/firefox\/(\d+)/i);
var environmentFfVersion = !!firefox && +firefox[1];
var UA = environmentUserAgent;
var environmentIsIeOrEdge = /MSIE|Trident/.test(UA);
var userAgent$4 = environmentUserAgent;
var webkit = userAgent$4.match(/AppleWebKit\/(\d+)\./);
var environmentWebkitVersion = !!webkit && +webkit[1];
var $$3a = _export;
var uncurryThis$V = functionUncurryThis;
var aCallable$l = aCallable$s;
var toObject$g = toObject$s;
var lengthOfArrayLike$9 = lengthOfArrayLike$m;
var deletePropertyOrThrow$1 = deletePropertyOrThrow$3;
var toString$p = toString$t;
var fails$W = fails$1e;
var internalSort$1 = arraySort$1;
var arrayMethodIsStrict2 = arrayMethodIsStrict$9;
var FF$1 = environmentFfVersion;
var IE_OR_EDGE$1 = environmentIsIeOrEdge;
var V8$1 = environmentV8Version;
var WEBKIT$2 = environmentWebkitVersion;
var test = [];
var nativeSort$1 = uncurryThis$V(test.sort);
var push$d = uncurryThis$V(test.push);
var FAILS_ON_UNDEFINED = fails$W(function() {
test.sort(void 0);
});
var FAILS_ON_NULL = fails$W(function() {
test.sort(null);
});
var STRICT_METHOD = arrayMethodIsStrict2("sort");
var STABLE_SORT$1 = !fails$W(function() {
if (V8$1) return V8$1 < 70;
if (FF$1 && FF$1 > 3) return;
if (IE_OR_EDGE$1) return true;
if (WEBKIT$2) return WEBKIT$2 < 603;
var result = "";
var code, chr, value, index2;
for (code = 65; code < 76; code++) {
chr = String.fromCharCode(code);
switch (code) {
case 66:
case 69:
case 70:
case 72:
value = 3;
break;
case 68:
case 71:
value = 4;
break;
default:
value = 2;
}
for (index2 = 0; index2 < 47; index2++) {
test.push({
k: chr + index2,
v: value
});
}
}
test.sort(function(a, b) {
return b.v - a.v;
});
for (index2 = 0; index2 < test.length; index2++) {
chr = test[index2].k.charAt(0);
if (result.charAt(result.length - 1) !== chr) result += chr;
}
return result !== "DGBEFHACIJK";
});
var FORCED$p = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT$1;
var getSortCompare$1 = function getSortCompare(comparefn) {
return function(x, y) {
if (y === void 0) return -1;
if (x === void 0) return 1;
if (comparefn !== void 0) return +comparefn(x, y) || 0;
return toString$p(x) > toString$p(y) ? 1 : -1;
};
};
$$3a({
target: "Array",
proto: true,
forced: FORCED$p
}, {
sort: function sort2(comparefn) {
if (comparefn !== void 0) aCallable$l(comparefn);
var array = toObject$g(this);
if (STABLE_SORT$1) return comparefn === void 0 ? nativeSort$1(array) : nativeSort$1(array, comparefn);
var items = [];
var arrayLength = lengthOfArrayLike$9(array);
var itemsLength, index2;
for (index2 = 0; index2 < arrayLength; index2++) {
if (index2 in array) push$d(items, array[index2]);
}
internalSort$1(items, getSortCompare$1(comparefn));
itemsLength = lengthOfArrayLike$9(items);
index2 = 0;
while (index2 < itemsLength) array[index2] = items[index2++];
while (index2 < arrayLength) deletePropertyOrThrow$1(array, index2++);
return array;
}
});
var getBuiltIn$e = getBuiltIn$n;
var defineBuiltInAccessor$b = defineBuiltInAccessor$e;
var wellKnownSymbol$k = wellKnownSymbol$C;
var DESCRIPTORS$u = descriptors;
var SPECIES$3 = wellKnownSymbol$k("species");
var setSpecies$7 = function setSpecies(CONSTRUCTOR_NAME) {
var Constructor2 = getBuiltIn$e(CONSTRUCTOR_NAME);
if (DESCRIPTORS$u && Constructor2 && !Constructor2[SPECIES$3]) {
defineBuiltInAccessor$b(Constructor2, SPECIES$3, {
configurable: true,
get: function get6() {
return this;
}
});
}
};
var setSpecies$6 = setSpecies$7;
setSpecies$6("Array");
var DESCRIPTORS$t = descriptors;
var isArray$1 = isArray$9;
var $TypeError$j = TypeError;
var getOwnPropertyDescriptor$8 = Object.getOwnPropertyDescriptor;
var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS$t && !function() {
if (this !== void 0) return true;
try {
Object.defineProperty([], "length", {
writable: false
}).length = 1;
} catch (error2) {
return error2 instanceof TypeError;
}
}();
var arraySetLength = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function(O, length) {
if (isArray$1(O) && !getOwnPropertyDescriptor$8(O, "length").writable) {
throw new $TypeError$j("Cannot set read only .length");
}
return O.length = length;
} : function(O, length) {
return O.length = length;
};
var $$39 = _export;
var toObject$f = toObject$s;
var toAbsoluteIndex$3 = toAbsoluteIndex$8;
var toIntegerOrInfinity$a = toIntegerOrInfinity$f;
var lengthOfArrayLike$8 = lengthOfArrayLike$m;
var setArrayLength = arraySetLength;
var doesNotExceedSafeInteger2 = doesNotExceedSafeInteger$3;
var arraySpeciesCreate2 = arraySpeciesCreate$5;
var createProperty$2 = createProperty$7;
var deletePropertyOrThrow2 = deletePropertyOrThrow$3;
var arrayMethodHasSpeciesSupport2 = arrayMethodHasSpeciesSupport$5;
var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport2("splice");
var max$3 = Math.max;
var min$4 = Math.min;
$$39({
target: "Array",
proto: true,
forced: !HAS_SPECIES_SUPPORT
}, {
splice: function splice(start, deleteCount) {
var O = toObject$f(this);
var len = lengthOfArrayLike$8(O);
var actualStart = toAbsoluteIndex$3(start, len);
var argumentsLength = arguments.length;
var insertCount, actualDeleteCount, A2, k2, from5, to;
if (argumentsLength === 0) {
insertCount = actualDeleteCount = 0;
} else if (argumentsLength === 1) {
insertCount = 0;
actualDeleteCount = len - actualStart;
} else {
insertCount = argumentsLength - 2;
actualDeleteCount = min$4(max$3(toIntegerOrInfinity$a(deleteCount), 0), len - actualStart);
}
doesNotExceedSafeInteger2(len + insertCount - actualDeleteCount);
A2 = arraySpeciesCreate2(O, actualDeleteCount);
for (k2 = 0; k2 < actualDeleteCount; k2++) {
from5 = actualStart + k2;
if (from5 in O) createProperty$2(A2, k2, O[from5]);
}
A2.length = actualDeleteCount;
if (insertCount < actualDeleteCount) {
for (k2 = actualStart; k2 < len - actualDeleteCount; k2++) {
from5 = k2 + actualDeleteCount;
to = k2 + insertCount;
if (from5 in O) O[to] = O[from5];
else deletePropertyOrThrow2(O, to);
}
for (k2 = len; k2 > len - actualDeleteCount + insertCount; k2--) deletePropertyOrThrow2(O, k2 - 1);
} else if (insertCount > actualDeleteCount) {
for (k2 = len - actualDeleteCount; k2 > actualStart; k2--) {
from5 = k2 + actualDeleteCount - 1;
to = k2 + insertCount - 1;
if (from5 in O) O[to] = O[from5];
else deletePropertyOrThrow2(O, to);
}
}
for (k2 = 0; k2 < insertCount; k2++) {
O[k2 + actualStart] = arguments[k2 + 2];
}
setArrayLength(O, len - actualDeleteCount + insertCount);
return A2;
}
});
var addToUnscopables$3 = addToUnscopables$a;
addToUnscopables$3("flat");
var addToUnscopables$2 = addToUnscopables$a;
addToUnscopables$2("flatMap");
var arrayBufferBasicDetection = typeof ArrayBuffer != "undefined" && typeof DataView != "undefined";
var defineBuiltIn$f = defineBuiltIn$l;
var defineBuiltIns$6 = function defineBuiltIns(target, src, options) {
for (var key in src) defineBuiltIn$f(target, key, src[key], options);
return target;
};
var isPrototypeOf$8 = objectIsPrototypeOf;
var $TypeError$i = TypeError;
var anInstance$9 = function anInstance(it, Prototype2) {
if (isPrototypeOf$8(Prototype2, it)) return it;
throw new $TypeError$i("Incorrect invocation");
};
var toIntegerOrInfinity$9 = toIntegerOrInfinity$f;
var toLength$b = toLength$d;
var $RangeError$b = RangeError;
var toIndex$2 = function toIndex(it) {
if (it === void 0) return 0;
var number = toIntegerOrInfinity$9(it);
var length = toLength$b(number);
if (number !== length) throw new $RangeError$b("Wrong length or index");
return length;
};
var mathSign = Math.sign || function sign(x) {
var n = +x;
return n === 0 || n !== n ? n : n < 0 ? -1 : 1;
};
var EPSILON$1 = 2220446049250313e-31;
var INVERSE_EPSILON = 1 / EPSILON$1;
var mathRoundTiesToEven = function mathRoundTiesToEven2(n) {
return n + INVERSE_EPSILON - INVERSE_EPSILON;
};
var sign$2 = mathSign;
var roundTiesToEven = mathRoundTiesToEven;
var abs$7 = Math.abs;
var EPSILON = 2220446049250313e-31;
var mathFloatRound = function mathFloatRound2(x, FLOAT_EPSILON, FLOAT_MAX_VALUE, FLOAT_MIN_VALUE) {
var n = +x;
var absolute = abs$7(n);
var s = sign$2(n);
if (absolute < FLOAT_MIN_VALUE) return s * roundTiesToEven(absolute / FLOAT_MIN_VALUE / FLOAT_EPSILON) * FLOAT_MIN_VALUE * FLOAT_EPSILON;
var a = (1 + FLOAT_EPSILON / EPSILON) * absolute;
var result = a - (a - absolute);
if (result > FLOAT_MAX_VALUE || result !== result) return s * Infinity;
return s * result;
};
var floatRound = mathFloatRound;
var FLOAT32_EPSILON = 11920928955078125e-23;
var FLOAT32_MAX_VALUE = 34028234663852886e22;
var FLOAT32_MIN_VALUE = 11754943508222875e-54;
var mathFround = Math.fround || function fround(x) {
return floatRound(x, FLOAT32_EPSILON, FLOAT32_MAX_VALUE, FLOAT32_MIN_VALUE);
};
var $Array = Array;
var abs$6 = Math.abs;
var pow$3 = Math.pow;
var floor$7 = Math.floor;
var log$8 = Math.log;
var LN2$2 = Math.LN2;
var pack = function pack2(number, mantissaLength, bytes) {
var buffer = $Array(bytes);
var exponentLength = bytes * 8 - mantissaLength - 1;
var eMax = (1 << exponentLength) - 1;
var eBias = eMax >> 1;
var rt = mantissaLength === 23 ? pow$3(2, -24) - pow$3(2, -77) : 0;
var sign3 = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;
var index2 = 0;
var exponent, mantissa, c;
number = abs$6(number);
if (number !== number || number === Infinity) {
mantissa = number !== number ? 1 : 0;
exponent = eMax;
} else {
exponent = floor$7(log$8(number) / LN2$2);
c = pow$3(2, -exponent);
if (number * c < 1) {
exponent--;
c *= 2;
}
if (exponent + eBias >= 1) {
number += rt / c;
} else {
number += rt * pow$3(2, 1 - eBias);
}
if (number * c >= 2) {
exponent++;
c /= 2;
}
if (exponent + eBias >= eMax) {
mantissa = 0;
exponent = eMax;
} else if (exponent + eBias >= 1) {
mantissa = (number * c - 1) * pow$3(2, mantissaLength);
exponent += eBias;
} else {
mantissa = number * pow$3(2, eBias - 1) * pow$3(2, mantissaLength);
exponent = 0;
}
}
while (mantissaLength >= 8) {
buffer[index2++] = mantissa & 255;
mantissa /= 256;
mantissaLength -= 8;
}
exponent = exponent << mantissaLength | mantissa;
exponentLength += mantissaLength;
while (exponentLength > 0) {
buffer[index2++] = exponent & 255;
exponent /= 256;
exponentLength -= 8;
}
buffer[index2 - 1] |= sign3 * 128;
return buffer;
};
var unpack = function unpack2(buffer, mantissaLength) {
var bytes = buffer.length;
var exponentLength = bytes * 8 - mantissaLength - 1;
var eMax = (1 << exponentLength) - 1;
var eBias = eMax >> 1;
var nBits = exponentLength - 7;
var index2 = bytes - 1;
var sign3 = buffer[index2--];
var exponent = sign3 & 127;
var mantissa;
sign3 >>= 7;
while (nBits > 0) {
exponent = exponent * 256 + buffer[index2--];
nBits -= 8;
}
mantissa = exponent & (1 << -nBits) - 1;
exponent >>= -nBits;
nBits += mantissaLength;
while (nBits > 0) {
mantissa = mantissa * 256 + buffer[index2--];
nBits -= 8;
}
if (exponent === 0) {
exponent = 1 - eBias;
} else if (exponent === eMax) {
return mantissa ? NaN : sign3 ? -Infinity : Infinity;
} else {
mantissa += pow$3(2, mantissaLength);
exponent -= eBias;
}
return (sign3 ? -1 : 1) * mantissa * pow$3(2, exponent - mantissaLength);
};
var ieee754 = {
pack,
unpack
};
var isCallable$g = isCallable$z;
var isObject$w = isObject$I;
var setPrototypeOf$6 = objectSetPrototypeOf$1;
var inheritIfRequired$5 = function inheritIfRequired($this, dummy, Wrapper) {
var NewTarget, NewTargetPrototype;
if (
// it can work only with native `setPrototypeOf`
setPrototypeOf$6 && // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
isCallable$g(NewTarget = dummy.constructor) && NewTarget !== Wrapper && isObject$w(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype
) setPrototypeOf$6($this, NewTargetPrototype);
return $this;
};
var globalThis$G = globalThis_1;
var uncurryThis$U = functionUncurryThis;
var DESCRIPTORS$s = descriptors;
var NATIVE_ARRAY_BUFFER$2 = arrayBufferBasicDetection;
var FunctionName = functionName;
var createNonEnumerableProperty$9 = createNonEnumerableProperty$d;
var defineBuiltInAccessor$a = defineBuiltInAccessor$e;
var defineBuiltIns$5 = defineBuiltIns$6;
var fails$V = fails$1e;
var anInstance$8 = anInstance$9;
var toIntegerOrInfinity$8 = toIntegerOrInfinity$f;
var toLength$a = toLength$d;
var toIndex$1 = toIndex$2;
var fround$2 = mathFround;
var IEEE754 = ieee754;
var getPrototypeOf$9 = objectGetPrototypeOf$2;
var setPrototypeOf$5 = objectSetPrototypeOf$1;
var arrayFill = arrayFill$1;
var arraySlice$6 = arraySlice$a;
var inheritIfRequired$4 = inheritIfRequired$5;
var copyConstructorProperties$2 = copyConstructorProperties$5;
var setToStringTag$7 = setToStringTag$c;
var InternalStateModule$c = internalState;
var PROPER_FUNCTION_NAME$2 = FunctionName.PROPER;
var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;
var ARRAY_BUFFER$1 = "ArrayBuffer";
var DATA_VIEW = "DataView";
var PROTOTYPE = "prototype";
var WRONG_LENGTH$1 = "Wrong length";
var WRONG_INDEX = "Wrong index";
var getInternalArrayBufferState = InternalStateModule$c.getterFor(ARRAY_BUFFER$1);
var getInternalDataViewState = InternalStateModule$c.getterFor(DATA_VIEW);
var setInternalState$b = InternalStateModule$c.set;
var NativeArrayBuffer$1 = globalThis$G[ARRAY_BUFFER$1];
var $ArrayBuffer = NativeArrayBuffer$1;
var ArrayBufferPrototype$1 = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];
var $DataView = globalThis$G[DATA_VIEW];
var DataViewPrototype$1 = $DataView && $DataView[PROTOTYPE];
var ObjectPrototype$2 = Object.prototype;
var Array$2 = globalThis$G.Array;
var RangeError$3 = globalThis$G.RangeError;
var fill2 = uncurryThis$U(arrayFill);
var reverse2 = uncurryThis$U([].reverse);
var packIEEE754 = IEEE754.pack;
var unpackIEEE754 = IEEE754.unpack;
var packInt8 = function packInt82(number) {
return [number & 255];
};
var packInt16 = function packInt162(number) {
return [number & 255, number >> 8 & 255];
};
var packInt32 = function packInt322(number) {
return [number & 255, number >> 8 & 255, number >> 16 & 255, number >> 24 & 255];
};
var unpackInt32 = function unpackInt322(buffer) {
return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];
};
var packFloat32 = function packFloat322(number) {
return packIEEE754(fround$2(number), 23, 4);
};
var packFloat64 = function packFloat642(number) {
return packIEEE754(number, 52, 8);
};
var addGetter$1 = function addGetter(Constructor2, key, getInternalState2) {
defineBuiltInAccessor$a(Constructor2[PROTOTYPE], key, {
configurable: true,
get: function get6() {
return getInternalState2(this)[key];
}
});
};
var get$3 = function get(view, count, index2, isLittleEndian) {
var store2 = getInternalDataViewState(view);
var intIndex = toIndex$1(index2);
var boolIsLittleEndian = !!isLittleEndian;
if (intIndex + count > store2.byteLength) throw new RangeError$3(WRONG_INDEX);
var bytes = store2.bytes;
var start = intIndex + store2.byteOffset;
var pack3 = arraySlice$6(bytes, start, start + count);
return boolIsLittleEndian ? pack3 : reverse2(pack3);
};
var set$8 = function set(view, count, index2, conversion, value, isLittleEndian) {
var store2 = getInternalDataViewState(view);
var intIndex = toIndex$1(index2);
var pack3 = conversion(+value);
var boolIsLittleEndian = !!isLittleEndian;
if (intIndex + count > store2.byteLength) throw new RangeError$3(WRONG_INDEX);
var bytes = store2.bytes;
var start = intIndex + store2.byteOffset;
for (var i = 0; i < count; i++) bytes[start + i] = pack3[boolIsLittleEndian ? i : count - i - 1];
};
if (!NATIVE_ARRAY_BUFFER$2) {
$ArrayBuffer = function ArrayBuffer2(length) {
anInstance$8(this, ArrayBufferPrototype$1);
var byteLength = toIndex$1(length);
setInternalState$b(this, {
type: ARRAY_BUFFER$1,
bytes: fill2(Array$2(byteLength), 0),
byteLength
});
if (!DESCRIPTORS$s) {
this.byteLength = byteLength;
this.detached = false;
}
};
ArrayBufferPrototype$1 = $ArrayBuffer[PROTOTYPE];
$DataView = function DataView2(buffer, byteOffset, byteLength) {
anInstance$8(this, DataViewPrototype$1);
anInstance$8(buffer, ArrayBufferPrototype$1);
var bufferState = getInternalArrayBufferState(buffer);
var bufferLength = bufferState.byteLength;
var offset = toIntegerOrInfinity$8(byteOffset);
if (offset < 0 || offset > bufferLength) throw new RangeError$3("Wrong offset");
byteLength = byteLength === void 0 ? bufferLength - offset : toLength$a(byteLength);
if (offset + byteLength > bufferLength) throw new RangeError$3(WRONG_LENGTH$1);
setInternalState$b(this, {
type: DATA_VIEW,
buffer,
byteLength,
byteOffset: offset,
bytes: bufferState.bytes
});
if (!DESCRIPTORS$s) {
this.buffer = buffer;
this.byteLength = byteLength;
this.byteOffset = offset;
}
};
DataViewPrototype$1 = $DataView[PROTOTYPE];
if (DESCRIPTORS$s) {
addGetter$1($ArrayBuffer, "byteLength", getInternalArrayBufferState);
addGetter$1($DataView, "buffer", getInternalDataViewState);
addGetter$1($DataView, "byteLength", getInternalDataViewState);
addGetter$1($DataView, "byteOffset", getInternalDataViewState);
}
defineBuiltIns$5(DataViewPrototype$1, {
getInt8: function getInt8(byteOffset) {
return get$3(this, 1, byteOffset)[0] << 24 >> 24;
},
getUint8: function getUint82(byteOffset) {
return get$3(this, 1, byteOffset)[0];
},
getInt16: function getInt16(byteOffset) {
var bytes = get$3(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false);
return (bytes[1] << 8 | bytes[0]) << 16 >> 16;
},
getUint16: function getUint16(byteOffset) {
var bytes = get$3(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false);
return bytes[1] << 8 | bytes[0];
},
getInt32: function getInt32(byteOffset) {
return unpackInt32(get$3(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false));
},
getUint32: function getUint32(byteOffset) {
return unpackInt32(get$3(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false)) >>> 0;
},
getFloat32: function getFloat32(byteOffset) {
return unpackIEEE754(get$3(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false), 23);
},
getFloat64: function getFloat64(byteOffset) {
return unpackIEEE754(get$3(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : false), 52);
},
setInt8: function setInt8(byteOffset, value) {
set$8(this, 1, byteOffset, packInt8, value);
},
setUint8: function setUint82(byteOffset, value) {
set$8(this, 1, byteOffset, packInt8, value);
},
setInt16: function setInt16(byteOffset, value) {
set$8(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false);
},
setUint16: function setUint16(byteOffset, value) {
set$8(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false);
},
setInt32: function setInt32(byteOffset, value) {
set$8(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false);
},
setUint32: function setUint32(byteOffset, value) {
set$8(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false);
},
setFloat32: function setFloat32(byteOffset, value) {
set$8(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : false);
},
setFloat64: function setFloat64(byteOffset, value) {
set$8(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : false);
}
});
} else {
var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME$2 && NativeArrayBuffer$1.name !== ARRAY_BUFFER$1;
if (!fails$V(function() {
NativeArrayBuffer$1(1);
}) || !fails$V(function() {
new NativeArrayBuffer$1(-1);
}) || fails$V(function() {
new NativeArrayBuffer$1();
new NativeArrayBuffer$1(1.5);
new NativeArrayBuffer$1(NaN);
return NativeArrayBuffer$1.length !== 1 || INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;
})) {
$ArrayBuffer = function ArrayBuffer2(length) {
anInstance$8(this, ArrayBufferPrototype$1);
return inheritIfRequired$4(new NativeArrayBuffer$1(toIndex$1(length)), this, $ArrayBuffer);
};
$ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype$1;
ArrayBufferPrototype$1.constructor = $ArrayBuffer;
copyConstructorProperties$2($ArrayBuffer, NativeArrayBuffer$1);
} else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {
createNonEnumerableProperty$9(NativeArrayBuffer$1, "name", ARRAY_BUFFER$1);
}
if (setPrototypeOf$5 && getPrototypeOf$9(DataViewPrototype$1) !== ObjectPrototype$2) {
setPrototypeOf$5(DataViewPrototype$1, ObjectPrototype$2);
}
var testView = new $DataView(new $ArrayBuffer(2));
var $setInt8 = uncurryThis$U(DataViewPrototype$1.setInt8);
testView.setInt8(0, 2147483648);
testView.setInt8(1, 2147483649);
if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns$5(DataViewPrototype$1, {
setInt8: function setInt8(byteOffset, value) {
$setInt8(this, byteOffset, value << 24 >> 24);
},
setUint8: function setUint82(byteOffset, value) {
$setInt8(this, byteOffset, value << 24 >> 24);
}
}, {
unsafe: true
});
}
setToStringTag$7($ArrayBuffer, ARRAY_BUFFER$1);
setToStringTag$7($DataView, DATA_VIEW);
var arrayBuffer = {
ArrayBuffer: $ArrayBuffer,
DataView: $DataView
};
var $$38 = _export;
var globalThis$F = globalThis_1;
var arrayBufferModule = arrayBuffer;
var setSpecies$5 = setSpecies$7;
var ARRAY_BUFFER = "ArrayBuffer";
var ArrayBuffer$4 = arrayBufferModule[ARRAY_BUFFER];
var NativeArrayBuffer = globalThis$F[ARRAY_BUFFER];
$$38({
global: true,
constructor: true,
forced: NativeArrayBuffer !== ArrayBuffer$4
}, {
ArrayBuffer: ArrayBuffer$4
});
setSpecies$5(ARRAY_BUFFER);
var NATIVE_ARRAY_BUFFER$1 = arrayBufferBasicDetection;
var DESCRIPTORS$r = descriptors;
var globalThis$E = globalThis_1;
var isCallable$f = isCallable$z;
var isObject$v = isObject$I;
var hasOwn$d = hasOwnProperty_1;
var classof$b = classof$j;
var tryToString$2 = tryToString$7;
var createNonEnumerableProperty$8 = createNonEnumerableProperty$d;
var defineBuiltIn$e = defineBuiltIn$l;
var defineBuiltInAccessor$9 = defineBuiltInAccessor$e;
var isPrototypeOf$7 = objectIsPrototypeOf;
var getPrototypeOf$8 = objectGetPrototypeOf$2;
var setPrototypeOf$4 = objectSetPrototypeOf$1;
var wellKnownSymbol$j = wellKnownSymbol$C;
var uid$1 = uid$5;
var InternalStateModule$b = internalState;
var enforceInternalState$3 = InternalStateModule$b.enforce;
var getInternalState$6 = InternalStateModule$b.get;
var Int8Array$4 = globalThis$E.Int8Array;
var Int8ArrayPrototype$1 = Int8Array$4 && Int8Array$4.prototype;
var Uint8ClampedArray$1 = globalThis$E.Uint8ClampedArray;
var Uint8ClampedArrayPrototype = Uint8ClampedArray$1 && Uint8ClampedArray$1.prototype;
var TypedArray$1 = Int8Array$4 && getPrototypeOf$8(Int8Array$4);
var TypedArrayPrototype$2 = Int8ArrayPrototype$1 && getPrototypeOf$8(Int8ArrayPrototype$1);
var ObjectPrototype$1 = Object.prototype;
var TypeError$5 = globalThis$E.TypeError;
var TO_STRING_TAG$1 = wellKnownSymbol$j("toStringTag");
var TYPED_ARRAY_TAG$1 = uid$1("TYPED_ARRAY_TAG");
var TYPED_ARRAY_CONSTRUCTOR = "TypedArrayConstructor";
var NATIVE_ARRAY_BUFFER_VIEWS$3 = NATIVE_ARRAY_BUFFER$1 && !!setPrototypeOf$4 && classof$b(globalThis$E.opera) !== "Opera";
var TYPED_ARRAY_TAG_REQUIRED = false;
var NAME$1, Constructor, Prototype;
var TypedArrayConstructorsList = {
Int8Array: 1,
Uint8Array: 1,
Uint8ClampedArray: 1,
Int16Array: 2,
Uint16Array: 2,
Int32Array: 4,
Uint32Array: 4,
Float32Array: 4,
Float64Array: 8
};
var BigIntArrayConstructorsList = {
BigInt64Array: 8,
BigUint64Array: 8
};
var isView = function isView2(it) {
if (!isObject$v(it)) return false;
var klass = classof$b(it);
return klass === "DataView" || hasOwn$d(TypedArrayConstructorsList, klass) || hasOwn$d(BigIntArrayConstructorsList, klass);
};
var _getTypedArrayConstructor = function getTypedArrayConstructor(it) {
var proto = getPrototypeOf$8(it);
if (!isObject$v(proto)) return;
var state = getInternalState$6(proto);
return state && hasOwn$d(state, TYPED_ARRAY_CONSTRUCTOR) ? state[TYPED_ARRAY_CONSTRUCTOR] : _getTypedArrayConstructor(proto);
};
var isTypedArray$1 = function isTypedArray2(it) {
if (!isObject$v(it)) return false;
var klass = classof$b(it);
return hasOwn$d(TypedArrayConstructorsList, klass) || hasOwn$d(BigIntArrayConstructorsList, klass);
};
var aTypedArray$m = function aTypedArray(it) {
if (isTypedArray$1(it)) return it;
throw new TypeError$5("Target is not a typed array");
};
var aTypedArrayConstructor$2 = function aTypedArrayConstructor(C) {
if (isCallable$f(C) && (!setPrototypeOf$4 || isPrototypeOf$7(TypedArray$1, C))) return C;
throw new TypeError$5(tryToString$2(C) + " is not a typed array constructor");
};
var exportTypedArrayMethod$n = function exportTypedArrayMethod(KEY, property, forced, options) {
if (!DESCRIPTORS$r) return;
if (forced) for (var ARRAY in TypedArrayConstructorsList) {
var TypedArrayConstructor = globalThis$E[ARRAY];
if (TypedArrayConstructor && hasOwn$d(TypedArrayConstructor.prototype, KEY)) try {
delete TypedArrayConstructor.prototype[KEY];
} catch (error2) {
try {
TypedArrayConstructor.prototype[KEY] = property;
} catch (error22) {
}
}
}
if (!TypedArrayPrototype$2[KEY] || forced) {
defineBuiltIn$e(TypedArrayPrototype$2, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS$3 && Int8ArrayPrototype$1[KEY] || property, options);
}
};
var exportTypedArrayStaticMethod$2 = function exportTypedArrayStaticMethod(KEY, property, forced) {
var ARRAY, TypedArrayConstructor;
if (!DESCRIPTORS$r) return;
if (setPrototypeOf$4) {
if (forced) for (ARRAY in TypedArrayConstructorsList) {
TypedArrayConstructor = globalThis$E[ARRAY];
if (TypedArrayConstructor && hasOwn$d(TypedArrayConstructor, KEY)) try {
delete TypedArrayConstructor[KEY];
} catch (error2) {
}
}
if (!TypedArray$1[KEY] || forced) {
try {
return defineBuiltIn$e(TypedArray$1, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS$3 && TypedArray$1[KEY] || property);
} catch (error2) {
}
} else return;
}
for (ARRAY in TypedArrayConstructorsList) {
TypedArrayConstructor = globalThis$E[ARRAY];
if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {
defineBuiltIn$e(TypedArrayConstructor, KEY, property);
}
}
};
for (NAME$1 in TypedArrayConstructorsList) {
Constructor = globalThis$E[NAME$1];
Prototype = Constructor && Constructor.prototype;
if (Prototype) enforceInternalState$3(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;
else NATIVE_ARRAY_BUFFER_VIEWS$3 = false;
}
for (NAME$1 in BigIntArrayConstructorsList) {
Constructor = globalThis$E[NAME$1];
Prototype = Constructor && Constructor.prototype;
if (Prototype) enforceInternalState$3(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;
}
if (!NATIVE_ARRAY_BUFFER_VIEWS$3 || !isCallable$f(TypedArray$1) || TypedArray$1 === Function.prototype) {
TypedArray$1 = function TypedArray2() {
throw new TypeError$5("Incorrect invocation");
};
if (NATIVE_ARRAY_BUFFER_VIEWS$3) for (NAME$1 in TypedArrayConstructorsList) {
if (globalThis$E[NAME$1]) setPrototypeOf$4(globalThis$E[NAME$1], TypedArray$1);
}
}
if (!NATIVE_ARRAY_BUFFER_VIEWS$3 || !TypedArrayPrototype$2 || TypedArrayPrototype$2 === ObjectPrototype$1) {
TypedArrayPrototype$2 = TypedArray$1.prototype;
if (NATIVE_ARRAY_BUFFER_VIEWS$3) for (NAME$1 in TypedArrayConstructorsList) {
if (globalThis$E[NAME$1]) setPrototypeOf$4(globalThis$E[NAME$1].prototype, TypedArrayPrototype$2);
}
}
if (NATIVE_ARRAY_BUFFER_VIEWS$3 && getPrototypeOf$8(Uint8ClampedArrayPrototype) !== TypedArrayPrototype$2) {
setPrototypeOf$4(Uint8ClampedArrayPrototype, TypedArrayPrototype$2);
}
if (DESCRIPTORS$r && !hasOwn$d(TypedArrayPrototype$2, TO_STRING_TAG$1)) {
TYPED_ARRAY_TAG_REQUIRED = true;
defineBuiltInAccessor$9(TypedArrayPrototype$2, TO_STRING_TAG$1, {
configurable: true,
get: function get6() {
return isObject$v(this) ? this[TYPED_ARRAY_TAG$1] : void 0;
}
});
for (NAME$1 in TypedArrayConstructorsList) if (globalThis$E[NAME$1]) {
createNonEnumerableProperty$8(globalThis$E[NAME$1], TYPED_ARRAY_TAG$1, NAME$1);
}
}
var arrayBufferViewCore = {
NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS$3,
TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG$1,
aTypedArray: aTypedArray$m,
aTypedArrayConstructor: aTypedArrayConstructor$2,
exportTypedArrayMethod: exportTypedArrayMethod$n,
exportTypedArrayStaticMethod: exportTypedArrayStaticMethod$2,
getTypedArrayConstructor: _getTypedArrayConstructor,
isView,
isTypedArray: isTypedArray$1,
TypedArray: TypedArray$1,
TypedArrayPrototype: TypedArrayPrototype$2
};
var $$37 = _export;
var ArrayBufferViewCore$o = arrayBufferViewCore;
var NATIVE_ARRAY_BUFFER_VIEWS$2 = ArrayBufferViewCore$o.NATIVE_ARRAY_BUFFER_VIEWS;
$$37({
target: "ArrayBuffer",
stat: true,
forced: !NATIVE_ARRAY_BUFFER_VIEWS$2
}, {
isView: ArrayBufferViewCore$o.isView
});
var $$36 = _export;
var uncurryThis$T = functionUncurryThisClause;
var fails$U = fails$1e;
var ArrayBufferModule$2 = arrayBuffer;
var anObject$E = anObject$N;
var toAbsoluteIndex$2 = toAbsoluteIndex$8;
var toLength$9 = toLength$d;
var ArrayBuffer$3 = ArrayBufferModule$2.ArrayBuffer;
var DataView$2 = ArrayBufferModule$2.DataView;
var DataViewPrototype = DataView$2.prototype;
var nativeArrayBufferSlice = uncurryThis$T(ArrayBuffer$3.prototype.slice);
var getUint8 = uncurryThis$T(DataViewPrototype.getUint8);
var setUint8 = uncurryThis$T(DataViewPrototype.setUint8);
var INCORRECT_SLICE = fails$U(function() {
return !new ArrayBuffer$3(2).slice(1, void 0).byteLength;
});
$$36({
target: "ArrayBuffer",
proto: true,
unsafe: true,
forced: INCORRECT_SLICE
}, {
slice: function slice2(start, end) {
if (nativeArrayBufferSlice && end === void 0) {
return nativeArrayBufferSlice(anObject$E(this), start);
}
var length = anObject$E(this).byteLength;
var first = toAbsoluteIndex$2(start, length);
var fin = toAbsoluteIndex$2(end === void 0 ? length : end, length);
var result = new ArrayBuffer$3(toLength$9(fin - first));
var viewSource = new DataView$2(this);
var viewTarget = new DataView$2(result);
var index2 = 0;
while (first < fin) {
setUint8(viewTarget, index2++, getUint8(viewSource, first++));
}
return result;
}
});
var $$35 = _export;
var ArrayBufferModule$1 = arrayBuffer;
var NATIVE_ARRAY_BUFFER = arrayBufferBasicDetection;
$$35({
global: true,
constructor: true,
forced: !NATIVE_ARRAY_BUFFER
}, {
DataView: ArrayBufferModule$1.DataView
});
var $$34 = _export;
var uncurryThis$S = functionUncurryThis;
var $Date = Date;
var thisTimeValue$2 = uncurryThis$S($Date.prototype.getTime);
$$34({
target: "Date",
stat: true
}, {
now: function now() {
return thisTimeValue$2(new $Date());
}
});
var toIntegerOrInfinity$7 = toIntegerOrInfinity$f;
var toString$o = toString$t;
var requireObjectCoercible$g = requireObjectCoercible$k;
var $RangeError$a = RangeError;
var stringRepeat = function repeat(count) {
var str = toString$o(requireObjectCoercible$g(this));
var result = "";
var n = toIntegerOrInfinity$7(count);
if (n < 0 || n === Infinity) throw new $RangeError$a("Wrong number of repetitions");
for (; n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;
return result;
};
var uncurryThis$R = functionUncurryThis;
var toLength$8 = toLength$d;
var toString$n = toString$t;
var $repeat$1 = stringRepeat;
var requireObjectCoercible$f = requireObjectCoercible$k;
var repeat$2 = uncurryThis$R($repeat$1);
var stringSlice$d = uncurryThis$R("".slice);
var ceil = Math.ceil;
var createMethod$3 = function createMethod4(IS_END) {
return function($this, maxLength, fillString) {
var S = toString$n(requireObjectCoercible$f($this));
var intMaxLength = toLength$8(maxLength);
var stringLength = S.length;
var fillStr = fillString === void 0 ? " " : toString$n(fillString);
var fillLen, stringFiller;
if (intMaxLength <= stringLength || fillStr === "") return S;
fillLen = intMaxLength - stringLength;
stringFiller = repeat$2(fillStr, ceil(fillLen / fillStr.length));
if (stringFiller.length > fillLen) stringFiller = stringSlice$d(stringFiller, 0, fillLen);
return IS_END ? S + stringFiller : stringFiller + S;
};
};
var stringPad = {
// `String.prototype.padStart` method
// https://tc39.es/ecma262/#sec-string.prototype.padstart
start: createMethod$3(false),
// `String.prototype.padEnd` method
// https://tc39.es/ecma262/#sec-string.prototype.padend
end: createMethod$3(true)
};
var uncurryThis$Q = functionUncurryThis;
var fails$T = fails$1e;
var padStart = stringPad.start;
var $RangeError$9 = RangeError;
var $isFinite = isFinite;
var abs$5 = Math.abs;
var DatePrototype$2 = Date.prototype;
var nativeDateToISOString = DatePrototype$2.toISOString;
var thisTimeValue$1 = uncurryThis$Q(DatePrototype$2.getTime);
var getUTCDate = uncurryThis$Q(DatePrototype$2.getUTCDate);
var getUTCFullYear = uncurryThis$Q(DatePrototype$2.getUTCFullYear);
var getUTCHours = uncurryThis$Q(DatePrototype$2.getUTCHours);
var getUTCMilliseconds = uncurryThis$Q(DatePrototype$2.getUTCMilliseconds);
var getUTCMinutes = uncurryThis$Q(DatePrototype$2.getUTCMinutes);
var getUTCMonth = uncurryThis$Q(DatePrototype$2.getUTCMonth);
var getUTCSeconds = uncurryThis$Q(DatePrototype$2.getUTCSeconds);
var dateToIsoString = fails$T(function() {
return nativeDateToISOString.call(new Date(-5e13 - 1)) !== "0385-07-25T07:06:39.999Z";
}) || !fails$T(function() {
nativeDateToISOString.call(/* @__PURE__ */ new Date(NaN));
}) ? function toISOString() {
if (!$isFinite(thisTimeValue$1(this))) throw new $RangeError$9("Invalid time value");
var date = this;
var year = getUTCFullYear(date);
var milliseconds = getUTCMilliseconds(date);
var sign3 = year < 0 ? "-" : year > 9999 ? "+" : "";
return sign3 + padStart(abs$5(year), sign3 ? 6 : 4, 0) + "-" + padStart(getUTCMonth(date) + 1, 2, 0) + "-" + padStart(getUTCDate(date), 2, 0) + "T" + padStart(getUTCHours(date), 2, 0) + ":" + padStart(getUTCMinutes(date), 2, 0) + ":" + padStart(getUTCSeconds(date), 2, 0) + "." + padStart(milliseconds, 3, 0) + "Z";
} : nativeDateToISOString;
var $$33 = _export;
var toISOString2 = dateToIsoString;
$$33({
target: "Date",
proto: true,
forced: Date.prototype.toISOString !== toISOString2
}, {
toISOString: toISOString2
});
var $$32 = _export;
var fails$S = fails$1e;
var toObject$e = toObject$s;
var toPrimitive$2 = toPrimitive$4;
var FORCED$o = fails$S(function() {
return (/* @__PURE__ */ new Date(NaN)).toJSON() !== null || Date.prototype.toJSON.call({
toISOString: function toISOString3() {
return 1;
}
}) !== 1;
});
$$32({
target: "Date",
proto: true,
arity: 1,
forced: FORCED$o
}, {
// eslint-disable-next-line no-unused-vars -- required for `.length`
toJSON: function toJSON2(key) {
var O = toObject$e(this);
var pv = toPrimitive$2(O, "number");
return typeof pv == "number" && !isFinite(pv) ? null : O.toISOString();
}
});
var anObject$D = anObject$N;
var ordinaryToPrimitive2 = ordinaryToPrimitive$2;
var $TypeError$h = TypeError;
var dateToPrimitive$1 = function dateToPrimitive(hint) {
anObject$D(this);
if (hint === "string" || hint === "default") hint = "string";
else if (hint !== "number") throw new $TypeError$h("Incorrect hint");
return ordinaryToPrimitive2(this, hint);
};
var hasOwn$c = hasOwnProperty_1;
var defineBuiltIn$d = defineBuiltIn$l;
var dateToPrimitive2 = dateToPrimitive$1;
var wellKnownSymbol$i = wellKnownSymbol$C;
var TO_PRIMITIVE = wellKnownSymbol$i("toPrimitive");
var DatePrototype$1 = Date.prototype;
if (!hasOwn$c(DatePrototype$1, TO_PRIMITIVE)) {
defineBuiltIn$d(DatePrototype$1, TO_PRIMITIVE, dateToPrimitive2);
}
var uncurryThis$P = functionUncurryThis;
var defineBuiltIn$c = defineBuiltIn$l;
var DatePrototype = Date.prototype;
var INVALID_DATE = "Invalid Date";
var TO_STRING$1 = "toString";
var nativeDateToString = uncurryThis$P(DatePrototype[TO_STRING$1]);
var thisTimeValue = uncurryThis$P(DatePrototype.getTime);
if (String(/* @__PURE__ */ new Date(NaN)) !== INVALID_DATE) {
defineBuiltIn$c(DatePrototype, TO_STRING$1, function toString7() {
var value = thisTimeValue(this);
return value === value ? nativeDateToString(this) : INVALID_DATE;
});
}
var uncurryThis$O = functionUncurryThis;
var aCallable$k = aCallable$s;
var isObject$u = isObject$I;
var hasOwn$b = hasOwnProperty_1;
var arraySlice$5 = arraySlice$a;
var NATIVE_BIND = functionBindNative;
var $Function = Function;
var concat$3 = uncurryThis$O([].concat);
var join$6 = uncurryThis$O([].join);
var factories = {};
var construct = function construct2(C, argsLength, args) {
if (!hasOwn$b(factories, argsLength)) {
var list = [];
var i = 0;
for (; i < argsLength; i++) list[i] = "a[" + i + "]";
factories[argsLength] = $Function("C,a", "return new C(" + join$6(list, ",") + ")");
}
return factories[argsLength](C, args);
};
var functionBind = NATIVE_BIND ? $Function.bind : function bind2(that) {
var F = aCallable$k(this);
var Prototype2 = F.prototype;
var partArgs = arraySlice$5(arguments, 1);
var boundFunction = function bound() {
var args = concat$3(partArgs, arraySlice$5(arguments));
return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args);
};
if (isObject$u(Prototype2)) boundFunction.prototype = Prototype2;
return boundFunction;
};
var $$31 = _export;
var bind$m = functionBind;
$$31({
target: "Function",
proto: true,
forced: Function.bind !== bind$m
}, {
bind: bind$m
});
var isCallable$e = isCallable$z;
var isObject$t = isObject$I;
var definePropertyModule$5 = objectDefineProperty;
var isPrototypeOf$6 = objectIsPrototypeOf;
var wellKnownSymbol$h = wellKnownSymbol$C;
var makeBuiltIn = makeBuiltInExports;
var HAS_INSTANCE = wellKnownSymbol$h("hasInstance");
var FunctionPrototype$1 = Function.prototype;
if (!(HAS_INSTANCE in FunctionPrototype$1)) {
definePropertyModule$5.f(FunctionPrototype$1, HAS_INSTANCE, {
value: makeBuiltIn(function(O) {
if (!isCallable$e(this) || !isObject$t(O)) return false;
var P2 = this.prototype;
return isObject$t(P2) ? isPrototypeOf$6(P2, O) : O instanceof this;
}, HAS_INSTANCE)
});
}
var DESCRIPTORS$q = descriptors;
var FUNCTION_NAME_EXISTS = functionName.EXISTS;
var uncurryThis$N = functionUncurryThis;
var defineBuiltInAccessor$8 = defineBuiltInAccessor$e;
var FunctionPrototype = Function.prototype;
var functionToString = uncurryThis$N(FunctionPrototype.toString);
var nameRE = /function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/;
var regExpExec$5 = uncurryThis$N(nameRE.exec);
var NAME = "name";
if (DESCRIPTORS$q && !FUNCTION_NAME_EXISTS) {
defineBuiltInAccessor$8(FunctionPrototype, NAME, {
configurable: true,
get: function get6() {
try {
return regExpExec$5(nameRE, functionToString(this))[1];
} catch (error2) {
return "";
}
}
});
}
var globalThis$D = globalThis_1;
var setToStringTag$6 = setToStringTag$c;
setToStringTag$6(globalThis$D.JSON, "JSON", true);
var internalMetadata = { exports: {} };
var fails$R = fails$1e;
var arrayBufferNonExtensible = fails$R(function() {
if (typeof ArrayBuffer == "function") {
var buffer = new ArrayBuffer(8);
if (Object.isExtensible(buffer)) Object.defineProperty(buffer, "a", {
value: 8
});
}
});
var fails$Q = fails$1e;
var isObject$s = isObject$I;
var classof$a = classofRaw$2;
var ARRAY_BUFFER_NON_EXTENSIBLE$2 = arrayBufferNonExtensible;
var $isExtensible$2 = Object.isExtensible;
var FAILS_ON_PRIMITIVES$6 = fails$Q(function() {
$isExtensible$2(1);
});
var objectIsExtensible = FAILS_ON_PRIMITIVES$6 || ARRAY_BUFFER_NON_EXTENSIBLE$2 ? function isExtensible(it) {
if (!isObject$s(it)) return false;
if (ARRAY_BUFFER_NON_EXTENSIBLE$2 && classof$a(it) === "ArrayBuffer") return false;
return $isExtensible$2 ? $isExtensible$2(it) : true;
} : $isExtensible$2;
var fails$P = fails$1e;
var freezing = !fails$P(function() {
return Object.isExtensible(Object.preventExtensions({}));
});
var $$30 = _export;
var uncurryThis$M = functionUncurryThis;
var hiddenKeys = hiddenKeys$6;
var isObject$r = isObject$I;
var hasOwn$a = hasOwnProperty_1;
var defineProperty$5 = objectDefineProperty.f;
var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
var getOwnPropertyNamesExternalModule = objectGetOwnPropertyNamesExternal;
var isExtensible$1 = objectIsExtensible;
var uid2 = uid$5;
var FREEZING$5 = freezing;
var REQUIRED = false;
var METADATA = uid2("meta");
var id$1 = 0;
var setMetadata = function setMetadata2(it) {
defineProperty$5(it, METADATA, {
value: {
objectID: "O" + id$1++,
// object ID
weakData: {}
// weak collections IDs
}
});
};
var fastKey$1 = function fastKey(it, create5) {
if (!isObject$r(it)) return _typeof(it) == "symbol" ? it : (typeof it == "string" ? "S" : "P") + it;
if (!hasOwn$a(it, METADATA)) {
if (!isExtensible$1(it)) return "F";
if (!create5) return "E";
setMetadata(it);
}
return it[METADATA].objectID;
};
var getWeakData$1 = function getWeakData(it, create5) {
if (!hasOwn$a(it, METADATA)) {
if (!isExtensible$1(it)) return true;
if (!create5) return false;
setMetadata(it);
}
return it[METADATA].weakData;
};
var onFreeze$3 = function onFreeze(it) {
if (FREEZING$5 && REQUIRED && isExtensible$1(it) && !hasOwn$a(it, METADATA)) setMetadata(it);
return it;
};
var enable = function enable2() {
meta.enable = function() {
};
REQUIRED = true;
var getOwnPropertyNames5 = getOwnPropertyNamesModule.f;
var splice3 = uncurryThis$M([].splice);
var test2 = {};
test2[METADATA] = 1;
if (getOwnPropertyNames5(test2).length) {
getOwnPropertyNamesModule.f = function(it) {
var result = getOwnPropertyNames5(it);
for (var i = 0, length = result.length; i < length; i++) {
if (result[i] === METADATA) {
splice3(result, i, 1);
break;
}
}
return result;
};
$$30({
target: "Object",
stat: true,
forced: true
}, {
getOwnPropertyNames: getOwnPropertyNamesExternalModule.f
});
}
};
var meta = internalMetadata.exports = {
enable,
fastKey: fastKey$1,
getWeakData: getWeakData$1,
onFreeze: onFreeze$3
};
hiddenKeys[METADATA] = true;
var internalMetadataExports = internalMetadata.exports;
var bind$l = functionBindContext;
var call$A = functionCall;
var anObject$C = anObject$N;
var tryToString$1 = tryToString$7;
var isArrayIteratorMethod$1 = isArrayIteratorMethod$3;
var lengthOfArrayLike$7 = lengthOfArrayLike$m;
var isPrototypeOf$5 = objectIsPrototypeOf;
var getIterator$3 = getIterator$5;
var getIteratorMethod$2 = getIteratorMethod$5;
var iteratorClose$2 = iteratorClose$4;
var $TypeError$g = TypeError;
var Result = function Result2(stopped, result) {
this.stopped = stopped;
this.result = result;
};
var ResultPrototype = Result.prototype;
var iterate$y = function iterate(iterable, unboundFunction, options) {
var that = options && options.that;
var AS_ENTRIES = !!(options && options.AS_ENTRIES);
var IS_RECORD = !!(options && options.IS_RECORD);
var IS_ITERATOR = !!(options && options.IS_ITERATOR);
var INTERRUPTED = !!(options && options.INTERRUPTED);
var fn = bind$l(unboundFunction, that);
var iterator2, iterFn, index2, length, result, next8, step;
var stop = function stop2(condition) {
if (iterator2) iteratorClose$2(iterator2, "normal", condition);
return new Result(true, condition);
};
var callFn = function callFn2(value) {
if (AS_ENTRIES) {
anObject$C(value);
return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
}
return INTERRUPTED ? fn(value, stop) : fn(value);
};
if (IS_RECORD) {
iterator2 = iterable.iterator;
} else if (IS_ITERATOR) {
iterator2 = iterable;
} else {
iterFn = getIteratorMethod$2(iterable);
if (!iterFn) throw new $TypeError$g(tryToString$1(iterable) + " is not iterable");
if (isArrayIteratorMethod$1(iterFn)) {
for (index2 = 0, length = lengthOfArrayLike$7(iterable); length > index2; index2++) {
result = callFn(iterable[index2]);
if (result && isPrototypeOf$5(ResultPrototype, result)) return result;
}
return new Result(false);
}
iterator2 = getIterator$3(iterable, iterFn);
}
next8 = IS_RECORD ? iterable.next : iterator2.next;
while (!(step = call$A(next8, iterator2)).done) {
try {
result = callFn(step.value);
} catch (error2) {
iteratorClose$2(iterator2, "throw", error2);
}
if (_typeof(result) == "object" && result && isPrototypeOf$5(ResultPrototype, result)) return result;
}
return new Result(false);
};
var $$2$ = _export;
var globalThis$C = globalThis_1;
var uncurryThis$L = functionUncurryThis;
var isForced$3 = isForced_1;
var defineBuiltIn$b = defineBuiltIn$l;
var InternalMetadataModule$1 = internalMetadataExports;
var iterate$x = iterate$y;
var anInstance$7 = anInstance$9;
var isCallable$d = isCallable$z;
var isNullOrUndefined$6 = isNullOrUndefined$a;
var isObject$q = isObject$I;
var fails$O = fails$1e;
var checkCorrectnessOfIteration$2 = checkCorrectnessOfIteration$4;
var setToStringTag$5 = setToStringTag$c;
var inheritIfRequired$3 = inheritIfRequired$5;
var collection$4 = function collection(CONSTRUCTOR_NAME, wrapper3, common) {
var IS_MAP = CONSTRUCTOR_NAME.indexOf("Map") !== -1;
var IS_WEAK = CONSTRUCTOR_NAME.indexOf("Weak") !== -1;
var ADDER = IS_MAP ? "set" : "add";
var NativeConstructor = globalThis$C[CONSTRUCTOR_NAME];
var NativePrototype = NativeConstructor && NativeConstructor.prototype;
var Constructor2 = NativeConstructor;
var exported = {};
var fixMethod = function fixMethod2(KEY) {
var uncurriedNativeMethod = uncurryThis$L(NativePrototype[KEY]);
defineBuiltIn$b(NativePrototype, KEY, KEY === "add" ? function add3(value) {
uncurriedNativeMethod(this, value === 0 ? 0 : value);
return this;
} : KEY === "delete" ? function(key) {
return IS_WEAK && !isObject$q(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);
} : KEY === "get" ? function get6(key) {
return IS_WEAK && !isObject$q(key) ? void 0 : uncurriedNativeMethod(this, key === 0 ? 0 : key);
} : KEY === "has" ? function has5(key) {
return IS_WEAK && !isObject$q(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);
} : function set6(key, value) {
uncurriedNativeMethod(this, key === 0 ? 0 : key, value);
return this;
});
};
var REPLACE2 = isForced$3(CONSTRUCTOR_NAME, !isCallable$d(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails$O(function() {
new NativeConstructor().entries().next();
})));
if (REPLACE2) {
Constructor2 = common.getConstructor(wrapper3, CONSTRUCTOR_NAME, IS_MAP, ADDER);
InternalMetadataModule$1.enable();
} else if (isForced$3(CONSTRUCTOR_NAME, true)) {
var instance = new Constructor2();
var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance;
var THROWS_ON_PRIMITIVES = fails$O(function() {
instance.has(1);
});
var ACCEPT_ITERABLES = checkCorrectnessOfIteration$2(function(iterable) {
new NativeConstructor(iterable);
});
var BUGGY_ZERO = !IS_WEAK && fails$O(function() {
var $instance = new NativeConstructor();
var index2 = 5;
while (index2--) $instance[ADDER](index2, index2);
return !$instance.has(-0);
});
if (!ACCEPT_ITERABLES) {
Constructor2 = wrapper3(function(dummy, iterable) {
anInstance$7(dummy, NativePrototype);
var that = inheritIfRequired$3(new NativeConstructor(), dummy, Constructor2);
if (!isNullOrUndefined$6(iterable)) iterate$x(iterable, that[ADDER], {
that,
AS_ENTRIES: IS_MAP
});
return that;
});
Constructor2.prototype = NativePrototype;
NativePrototype.constructor = Constructor2;
}
if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
fixMethod("delete");
fixMethod("has");
IS_MAP && fixMethod("get");
}
if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);
if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;
}
exported[CONSTRUCTOR_NAME] = Constructor2;
$$2$({
global: true,
constructor: true,
forced: Constructor2 !== NativeConstructor
}, exported);
setToStringTag$5(Constructor2, CONSTRUCTOR_NAME);
if (!IS_WEAK) common.setStrong(Constructor2, CONSTRUCTOR_NAME, IS_MAP);
return Constructor2;
};
var create$9 = objectCreate;
var defineBuiltInAccessor$7 = defineBuiltInAccessor$e;
var defineBuiltIns$4 = defineBuiltIns$6;
var bind$k = functionBindContext;
var anInstance$6 = anInstance$9;
var isNullOrUndefined$5 = isNullOrUndefined$a;
var iterate$w = iterate$y;
var defineIterator$1 = iteratorDefine;
var createIterResultObject$5 = createIterResultObject$7;
var setSpecies$4 = setSpecies$7;
var DESCRIPTORS$p = descriptors;
var fastKey2 = internalMetadataExports.fastKey;
var InternalStateModule$a = internalState;
var setInternalState$a = InternalStateModule$a.set;
var internalStateGetterFor$1 = InternalStateModule$a.getterFor;
var collectionStrong$2 = {
getConstructor: function getConstructor(wrapper3, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
var Constructor2 = wrapper3(function(that, iterable) {
anInstance$6(that, Prototype2);
setInternalState$a(that, {
type: CONSTRUCTOR_NAME,
index: create$9(null),
first: null,
last: null,
size: 0
});
if (!DESCRIPTORS$p) that.size = 0;
if (!isNullOrUndefined$5(iterable)) iterate$w(iterable, that[ADDER], {
that,
AS_ENTRIES: IS_MAP
});
});
var Prototype2 = Constructor2.prototype;
var getInternalState2 = internalStateGetterFor$1(CONSTRUCTOR_NAME);
var define = function define2(that, key, value) {
var state = getInternalState2(that);
var entry = getEntry(that, key);
var previous, index2;
if (entry) {
entry.value = value;
} else {
state.last = entry = {
index: index2 = fastKey2(key, true),
key,
value,
previous: previous = state.last,
next: null,
removed: false
};
if (!state.first) state.first = entry;
if (previous) previous.next = entry;
if (DESCRIPTORS$p) state.size++;
else that.size++;
if (index2 !== "F") state.index[index2] = entry;
}
return that;
};
var getEntry = function getEntry2(that, key) {
var state = getInternalState2(that);
var index2 = fastKey2(key);
var entry;
if (index2 !== "F") return state.index[index2];
for (entry = state.first; entry; entry = entry.next) {
if (entry.key === key) return entry;
}
};
defineBuiltIns$4(Prototype2, {
// `{ Map, Set }.prototype.clear()` methods
// https://tc39.es/ecma262/#sec-map.prototype.clear
// https://tc39.es/ecma262/#sec-set.prototype.clear
clear: function clear2() {
var that = this;
var state = getInternalState2(that);
var entry = state.first;
while (entry) {
entry.removed = true;
if (entry.previous) entry.previous = entry.previous.next = null;
entry = entry.next;
}
state.first = state.last = null;
state.index = create$9(null);
if (DESCRIPTORS$p) state.size = 0;
else that.size = 0;
},
// `{ Map, Set }.prototype.delete(key)` methods
// https://tc39.es/ecma262/#sec-map.prototype.delete
// https://tc39.es/ecma262/#sec-set.prototype.delete
"delete": function _delete3(key) {
var that = this;
var state = getInternalState2(that);
var entry = getEntry(that, key);
if (entry) {
var next8 = entry.next;
var prev = entry.previous;
delete state.index[entry.index];
entry.removed = true;
if (prev) prev.next = next8;
if (next8) next8.previous = prev;
if (state.first === entry) state.first = next8;
if (state.last === entry) state.last = prev;
if (DESCRIPTORS$p) state.size--;
else that.size--;
}
return !!entry;
},
// `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods
// https://tc39.es/ecma262/#sec-map.prototype.foreach
// https://tc39.es/ecma262/#sec-set.prototype.foreach
forEach: function forEach5(callbackfn) {
var state = getInternalState2(this);
var boundFunction = bind$k(callbackfn, arguments.length > 1 ? arguments[1] : void 0);
var entry;
while (entry = entry ? entry.next : state.first) {
boundFunction(entry.value, entry.key, this);
while (entry && entry.removed) entry = entry.previous;
}
},
// `{ Map, Set}.prototype.has(key)` methods
// https://tc39.es/ecma262/#sec-map.prototype.has
// https://tc39.es/ecma262/#sec-set.prototype.has
has: function has5(key) {
return !!getEntry(this, key);
}
});
defineBuiltIns$4(Prototype2, IS_MAP ? {
// `Map.prototype.get(key)` method
// https://tc39.es/ecma262/#sec-map.prototype.get
get: function get6(key) {
var entry = getEntry(this, key);
return entry && entry.value;
},
// `Map.prototype.set(key, value)` method
// https://tc39.es/ecma262/#sec-map.prototype.set
set: function set6(key, value) {
return define(this, key === 0 ? 0 : key, value);
}
} : {
// `Set.prototype.add(value)` method
// https://tc39.es/ecma262/#sec-set.prototype.add
add: function add3(value) {
return define(this, value = value === 0 ? 0 : value, value);
}
});
if (DESCRIPTORS$p) defineBuiltInAccessor$7(Prototype2, "size", {
configurable: true,
get: function get6() {
return getInternalState2(this).size;
}
});
return Constructor2;
},
setStrong: function setStrong(Constructor2, CONSTRUCTOR_NAME, IS_MAP) {
var ITERATOR_NAME = CONSTRUCTOR_NAME + " Iterator";
var getInternalCollectionState = internalStateGetterFor$1(CONSTRUCTOR_NAME);
var getInternalIteratorState2 = internalStateGetterFor$1(ITERATOR_NAME);
defineIterator$1(Constructor2, CONSTRUCTOR_NAME, function(iterated, kind) {
setInternalState$a(this, {
type: ITERATOR_NAME,
target: iterated,
state: getInternalCollectionState(iterated),
kind,
last: null
});
}, function() {
var state = getInternalIteratorState2(this);
var kind = state.kind;
var entry = state.last;
while (entry && entry.removed) entry = entry.previous;
if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {
state.target = null;
return createIterResultObject$5(void 0, true);
}
if (kind === "keys") return createIterResultObject$5(entry.key, false);
if (kind === "values") return createIterResultObject$5(entry.value, false);
return createIterResultObject$5([entry.key, entry.value], false);
}, IS_MAP ? "entries" : "values", !IS_MAP, true);
setSpecies$4(CONSTRUCTOR_NAME);
}
};
var collection$3 = collection$4;
var collectionStrong$1 = collectionStrong$2;
collection$3("Map", function(init) {
return function Map2() {
return init(this, arguments.length ? arguments[0] : void 0);
};
}, collectionStrong$1);
var log$7 = Math.log;
var mathLog1p = Math.log1p || function log1p(x) {
var n = +x;
return n > -1e-8 && n < 1e-8 ? n - n * n / 2 : log$7(1 + n);
};
var $$2_ = _export;
var log1p$1 = mathLog1p;
var $acosh = Math.acosh;
var log$6 = Math.log;
var sqrt$2 = Math.sqrt;
var LN2$1 = Math.LN2;
var FORCED$n = !$acosh || Math.floor($acosh(Number.MAX_VALUE)) !== 710 || $acosh(Infinity) !== Infinity;
$$2_({
target: "Math",
stat: true,
forced: FORCED$n
}, {
acosh: function acosh(x) {
var n = +x;
return n < 1 ? NaN : n > 9490626562425156e-8 ? log$6(n) + LN2$1 : log1p$1(n - 1 + sqrt$2(n - 1) * sqrt$2(n + 1));
}
});
var $$2Z = _export;
var $asinh = Math.asinh;
var log$5 = Math.log;
var sqrt$1 = Math.sqrt;
function asinh(x) {
var n = +x;
return !isFinite(n) || n === 0 ? n : n < 0 ? -asinh(-n) : log$5(n + sqrt$1(n * n + 1));
}
var FORCED$m = !($asinh && 1 / $asinh(0) > 0);
$$2Z({
target: "Math",
stat: true,
forced: FORCED$m
}, {
asinh
});
var $$2Y = _export;
var $atanh = Math.atanh;
var log$4 = Math.log;
var FORCED$l = !($atanh && 1 / $atanh(-0) < 0);
$$2Y({
target: "Math",
stat: true,
forced: FORCED$l
}, {
atanh: function atanh(x) {
var n = +x;
return n === 0 ? n : log$4((1 + n) / (1 - n)) / 2;
}
});
var $$2X = _export;
var sign$1 = mathSign;
var abs$4 = Math.abs;
var pow$2 = Math.pow;
$$2X({
target: "Math",
stat: true
}, {
cbrt: function cbrt(x) {
var n = +x;
return sign$1(n) * pow$2(abs$4(n), 1 / 3);
}
});
var $$2W = _export;
var floor$6 = Math.floor;
var log$3 = Math.log;
var LOG2E = Math.LOG2E;
$$2W({
target: "Math",
stat: true
}, {
clz32: function clz32(x) {
var n = x >>> 0;
return n ? 31 - floor$6(log$3(n + 0.5) * LOG2E) : 32;
}
});
var $expm1 = Math.expm1;
var exp$2 = Math.exp;
var mathExpm1 = !$expm1 || $expm1(10) > 22025.465794806718 || $expm1(10) < 22025.465794806718 || $expm1(-2e-17) !== -2e-17 ? function expm1(x) {
var n = +x;
return n === 0 ? n : n > -1e-6 && n < 1e-6 ? n + n * n / 2 : exp$2(n) - 1;
} : $expm1;
var $$2V = _export;
var expm1$3 = mathExpm1;
var $cosh = Math.cosh;
var abs$3 = Math.abs;
var E$1 = Math.E;
var FORCED$k = !$cosh || $cosh(710) === Infinity;
$$2V({
target: "Math",
stat: true,
forced: FORCED$k
}, {
cosh: function cosh(x) {
var t = expm1$3(abs$3(x) - 1) + 1;
return (t + 1 / (t * E$1 * E$1)) * (E$1 / 2);
}
});
var $$2U = _export;
var expm1$2 = mathExpm1;
$$2U({
target: "Math",
stat: true,
forced: expm1$2 !== Math.expm1
}, {
expm1: expm1$2
});
var $$2T = _export;
var fround$1 = mathFround;
$$2T({
target: "Math",
stat: true
}, {
fround: fround$1
});
var $$2S = _export;
var $hypot = Math.hypot;
var abs$2 = Math.abs;
var sqrt = Math.sqrt;
var FORCED$j = !!$hypot && $hypot(Infinity, NaN) !== Infinity;
$$2S({
target: "Math",
stat: true,
arity: 2,
forced: FORCED$j
}, {
// eslint-disable-next-line no-unused-vars -- required for `.length`
hypot: function hypot(value1, value2) {
var sum = 0;
var i = 0;
var aLen = arguments.length;
var larg = 0;
var arg, div;
while (i < aLen) {
arg = abs$2(arguments[i++]);
if (larg < arg) {
div = larg / arg;
sum = sum * div * div + 1;
larg = arg;
} else if (arg > 0) {
div = arg / larg;
sum += div * div;
} else sum += arg;
}
return larg === Infinity ? Infinity : larg * sqrt(sum);
}
});
var $$2R = _export;
var fails$N = fails$1e;
var $imul = Math.imul;
var FORCED$i = fails$N(function() {
return $imul(4294967295, 5) !== -5 || $imul.length !== 2;
});
$$2R({
target: "Math",
stat: true,
forced: FORCED$i
}, {
imul: function imul(x, y) {
var UINT16 = 65535;
var xn = +x;
var yn = +y;
var xl = UINT16 & xn;
var yl = UINT16 & yn;
return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);
}
});
var log$2 = Math.log;
var LOG10E = Math.LOG10E;
var mathLog10 = Math.log10 || function log10(x) {
return log$2(x) * LOG10E;
};
var $$2Q = _export;
var log102 = mathLog10;
$$2Q({
target: "Math",
stat: true
}, {
log10: log102
});
var $$2P = _export;
var log1p2 = mathLog1p;
$$2P({
target: "Math",
stat: true
}, {
log1p: log1p2
});
var log$1 = Math.log;
var LN2 = Math.LN2;
var mathLog2 = Math.log2 || function log2(x) {
return log$1(x) / LN2;
};
var $$2O = _export;
var log22 = mathLog2;
$$2O({
target: "Math",
stat: true
}, {
log2: log22
});
var $$2N = _export;
var sign2 = mathSign;
$$2N({
target: "Math",
stat: true
}, {
sign: sign2
});
var $$2M = _export;
var fails$M = fails$1e;
var expm1$1 = mathExpm1;
var abs$1 = Math.abs;
var exp$1 = Math.exp;
var E = Math.E;
var FORCED$h = fails$M(function() {
return Math.sinh(-2e-17) !== -2e-17;
});
$$2M({
target: "Math",
stat: true,
forced: FORCED$h
}, {
sinh: function sinh(x) {
var n = +x;
return abs$1(n) < 1 ? (expm1$1(n) - expm1$1(-n)) / 2 : (exp$1(n - 1) - exp$1(-n - 1)) * (E / 2);
}
});
var $$2L = _export;
var expm12 = mathExpm1;
var exp = Math.exp;
$$2L({
target: "Math",
stat: true
}, {
tanh: function tanh(x) {
var n = +x;
var a = expm12(n);
var b = expm12(-n);
return a === Infinity ? 1 : b === Infinity ? -1 : (a - b) / (exp(n) + exp(-n));
}
});
var setToStringTag$4 = setToStringTag$c;
setToStringTag$4(Math, "Math", true);
var $$2K = _export;
var trunc2 = mathTrunc;
$$2K({
target: "Math",
stat: true
}, {
trunc: trunc2
});
var uncurryThis$K = functionUncurryThis;
var thisNumberValue$3 = uncurryThis$K(1 .valueOf);
var whitespaces$4 = " \n\v\f\r \u2028\u2029\uFEFF";
var uncurryThis$J = functionUncurryThis;
var requireObjectCoercible$e = requireObjectCoercible$k;
var toString$m = toString$t;
var whitespaces$3 = whitespaces$4;
var replace$8 = uncurryThis$J("".replace);
var ltrim = RegExp("^[" + whitespaces$3 + "]+");
var rtrim = RegExp("(^|[^" + whitespaces$3 + "])[" + whitespaces$3 + "]+$");
var createMethod$2 = function createMethod5(TYPE) {
return function($this) {
var string = toString$m(requireObjectCoercible$e($this));
if (TYPE & 1) string = replace$8(string, ltrim, "");
if (TYPE & 2) string = replace$8(string, rtrim, "$1");
return string;
};
};
var stringTrim = {
// `String.prototype.{ trimLeft, trimStart }` methods
// https://tc39.es/ecma262/#sec-string.prototype.trimstart
start: createMethod$2(1),
// `String.prototype.{ trimRight, trimEnd }` methods
// https://tc39.es/ecma262/#sec-string.prototype.trimend
end: createMethod$2(2),
// `String.prototype.trim` method
// https://tc39.es/ecma262/#sec-string.prototype.trim
trim: createMethod$2(3)
};
var $$2J = _export;
var IS_PURE$1 = isPure;
var DESCRIPTORS$o = descriptors;
var globalThis$B = globalThis_1;
var path = path$2;
var uncurryThis$I = functionUncurryThis;
var isForced$2 = isForced_1;
var hasOwn$9 = hasOwnProperty_1;
var inheritIfRequired$2 = inheritIfRequired$5;
var isPrototypeOf$4 = objectIsPrototypeOf;
var isSymbol$1 = isSymbol$6;
var toPrimitive$1 = toPrimitive$4;
var fails$L = fails$1e;
var getOwnPropertyNames$3 = objectGetOwnPropertyNames.f;
var getOwnPropertyDescriptor$7 = objectGetOwnPropertyDescriptor.f;
var defineProperty$4 = objectDefineProperty.f;
var thisNumberValue$2 = thisNumberValue$3;
var trim$2 = stringTrim.trim;
var NUMBER = "Number";
var NativeNumber = globalThis$B[NUMBER];
path[NUMBER];
var NumberPrototype = NativeNumber.prototype;
var TypeError$4 = globalThis$B.TypeError;
var stringSlice$c = uncurryThis$I("".slice);
var charCodeAt$2 = uncurryThis$I("".charCodeAt);
var toNumeric = function toNumeric2(value) {
var primValue = toPrimitive$1(value, "number");
return typeof primValue == "bigint" ? primValue : toNumber(primValue);
};
var toNumber = function toNumber2(argument) {
var it = toPrimitive$1(argument, "number");
var first, third, radix, maxCode, digits, length, index2, code;
if (isSymbol$1(it)) throw new TypeError$4("Cannot convert a Symbol value to a number");
if (typeof it == "string" && it.length > 2) {
it = trim$2(it);
first = charCodeAt$2(it, 0);
if (first === 43 || first === 45) {
third = charCodeAt$2(it, 2);
if (third === 88 || third === 120) return NaN;
} else if (first === 48) {
switch (charCodeAt$2(it, 1)) {
case 66:
case 98:
radix = 2;
maxCode = 49;
break;
case 79:
case 111:
radix = 8;
maxCode = 55;
break;
default:
return +it;
}
digits = stringSlice$c(it, 2);
length = digits.length;
for (index2 = 0; index2 < length; index2++) {
code = charCodeAt$2(digits, index2);
if (code < 48 || code > maxCode) return NaN;
}
return parseInt(digits, radix);
}
}
return +it;
};
var FORCED$g = isForced$2(NUMBER, !NativeNumber(" 0o1") || !NativeNumber("0b1") || NativeNumber("+0x1"));
var calledWithNew = function calledWithNew2(dummy) {
return isPrototypeOf$4(NumberPrototype, dummy) && fails$L(function() {
thisNumberValue$2(dummy);
});
};
var NumberWrapper = function Number2(value) {
var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));
return calledWithNew(this) ? inheritIfRequired$2(Object(n), this, NumberWrapper) : n;
};
NumberWrapper.prototype = NumberPrototype;
if (FORCED$g && true) NumberPrototype.constructor = NumberWrapper;
$$2J({
global: true,
constructor: true,
wrap: true,
forced: FORCED$g
}, {
Number: NumberWrapper
});
var copyConstructorProperties$1 = function copyConstructorProperties2(target, source) {
for (var keys6 = DESCRIPTORS$o ? getOwnPropertyNames$3(source) : (
// ES3:
"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(",")
), j = 0, key; keys6.length > j; j++) {
if (hasOwn$9(source, key = keys6[j]) && !hasOwn$9(target, key)) {
defineProperty$4(target, key, getOwnPropertyDescriptor$7(source, key));
}
}
};
if (FORCED$g || IS_PURE$1) copyConstructorProperties$1(path[NUMBER], NativeNumber);
var $$2I = _export;
$$2I({
target: "Number",
stat: true,
nonConfigurable: true,
nonWritable: true
}, {
EPSILON: Math.pow(2, -52)
});
var globalThis$A = globalThis_1;
var globalIsFinite = globalThis$A.isFinite;
var numberIsFinite$2 = Number.isFinite || function isFinite2(it) {
return typeof it == "number" && globalIsFinite(it);
};
var $$2H = _export;
var numberIsFinite$1 = numberIsFinite$2;
$$2H({
target: "Number",
stat: true
}, {
isFinite: numberIsFinite$1
});
var isObject$p = isObject$I;
var floor$5 = Math.floor;
var isIntegralNumber$3 = Number.isInteger || function isInteger(it) {
return !isObject$p(it) && isFinite(it) && floor$5(it) === it;
};
var $$2G = _export;
var isIntegralNumber$2 = isIntegralNumber$3;
$$2G({
target: "Number",
stat: true
}, {
isInteger: isIntegralNumber$2
});
var $$2F = _export;
$$2F({
target: "Number",
stat: true
}, {
isNaN: function isNaN2(number) {
return number !== number;
}
});
var $$2E = _export;
var isIntegralNumber$1 = isIntegralNumber$3;
var abs = Math.abs;
$$2E({
target: "Number",
stat: true
}, {
isSafeInteger: function isSafeInteger(number) {
return isIntegralNumber$1(number) && abs(number) <= 9007199254740991;
}
});
var $$2D = _export;
$$2D({
target: "Number",
stat: true,
nonConfigurable: true,
nonWritable: true
}, {
MAX_SAFE_INTEGER: 9007199254740991
});
var $$2C = _export;
$$2C({
target: "Number",
stat: true,
nonConfigurable: true,
nonWritable: true
}, {
MIN_SAFE_INTEGER: -9007199254740991
});
var globalThis$z = globalThis_1;
var fails$K = fails$1e;
var uncurryThis$H = functionUncurryThis;
var toString$l = toString$t;
var trim$1 = stringTrim.trim;
var whitespaces$2 = whitespaces$4;
var charAt$b = uncurryThis$H("".charAt);
var $parseFloat$1 = globalThis$z.parseFloat;
var _Symbol$2 = globalThis$z.Symbol;
var ITERATOR$6 = _Symbol$2 && _Symbol$2.iterator;
var FORCED$f = 1 / $parseFloat$1(whitespaces$2 + "-0") !== -Infinity || ITERATOR$6 && !fails$K(function() {
$parseFloat$1(Object(ITERATOR$6));
});
var numberParseFloat = FORCED$f ? function parseFloat2(string) {
var trimmedString = trim$1(toString$l(string));
var result = $parseFloat$1(trimmedString);
return result === 0 && charAt$b(trimmedString, 0) === "-" ? -0 : result;
} : $parseFloat$1;
var $$2B = _export;
var parseFloat$1 = numberParseFloat;
$$2B({
target: "Number",
stat: true,
forced: Number.parseFloat !== parseFloat$1
}, {
parseFloat: parseFloat$1
});
var globalThis$y = globalThis_1;
var fails$J = fails$1e;
var uncurryThis$G = functionUncurryThis;
var toString$k = toString$t;
var trim = stringTrim.trim;
var whitespaces$1 = whitespaces$4;
var $parseInt$3 = globalThis$y.parseInt;
var _Symbol$1 = globalThis$y.Symbol;
var ITERATOR$5 = _Symbol$1 && _Symbol$1.iterator;
var hex = /^[+-]?0x/i;
var exec$6 = uncurryThis$G(hex.exec);
var FORCED$e = $parseInt$3(whitespaces$1 + "08") !== 8 || $parseInt$3(whitespaces$1 + "0x16") !== 22 || ITERATOR$5 && !fails$J(function() {
$parseInt$3(Object(ITERATOR$5));
});
var numberParseInt = FORCED$e ? function parseInt2(string, radix) {
var S = trim(toString$k(string));
return $parseInt$3(S, radix >>> 0 || (exec$6(hex, S) ? 16 : 10));
} : $parseInt$3;
var $$2A = _export;
var parseInt$2 = numberParseInt;
$$2A({
target: "Number",
stat: true,
forced: Number.parseInt !== parseInt$2
}, {
parseInt: parseInt$2
});
var $$2z = _export;
var uncurryThis$F = functionUncurryThis;
var toIntegerOrInfinity$6 = toIntegerOrInfinity$f;
var thisNumberValue$1 = thisNumberValue$3;
var $repeat = stringRepeat;
var fails$I = fails$1e;
var $RangeError$8 = RangeError;
var $String = String;
var floor$4 = Math.floor;
var repeat$1 = uncurryThis$F($repeat);
var stringSlice$b = uncurryThis$F("".slice);
var nativeToFixed = uncurryThis$F(1 .toFixed);
var _pow = function pow(x, n, acc) {
return n === 0 ? acc : n % 2 === 1 ? _pow(x, n - 1, acc * x) : _pow(x * x, n / 2, acc);
};
var log = function log3(x) {
var n = 0;
var x2 = x;
while (x2 >= 4096) {
n += 12;
x2 /= 4096;
}
while (x2 >= 2) {
n += 1;
x2 /= 2;
}
return n;
};
var multiply = function multiply2(data2, n, c) {
var index2 = -1;
var c2 = c;
while (++index2 < 6) {
c2 += n * data2[index2];
data2[index2] = c2 % 1e7;
c2 = floor$4(c2 / 1e7);
}
};
var divide = function divide2(data2, n) {
var index2 = 6;
var c = 0;
while (--index2 >= 0) {
c += data2[index2];
data2[index2] = floor$4(c / n);
c = c % n * 1e7;
}
};
var dataToString = function dataToString2(data2) {
var index2 = 6;
var s = "";
while (--index2 >= 0) {
if (s !== "" || index2 === 0 || data2[index2] !== 0) {
var t = $String(data2[index2]);
s = s === "" ? t : s + repeat$1("0", 7 - t.length) + t;
}
}
return s;
};
var FORCED$d = fails$I(function() {
return nativeToFixed(8e-5, 3) !== "0.000" || nativeToFixed(0.9, 0) !== "1" || nativeToFixed(1.255, 2) !== "1.25" || nativeToFixed(1000000000000000100, 0) !== "1000000000000000128";
}) || !fails$I(function() {
nativeToFixed({});
});
$$2z({
target: "Number",
proto: true,
forced: FORCED$d
}, {
toFixed: function toFixed(fractionDigits) {
var number = thisNumberValue$1(this);
var fractDigits = toIntegerOrInfinity$6(fractionDigits);
var data2 = [0, 0, 0, 0, 0, 0];
var sign3 = "";
var result = "0";
var e, z2, j, k2;
if (fractDigits < 0 || fractDigits > 20) throw new $RangeError$8("Incorrect fraction digits");
if (number !== number) return "NaN";
if (number <= -1e21 || number >= 1e21) return $String(number);
if (number < 0) {
sign3 = "-";
number = -number;
}
if (number > 1e-21) {
e = log(number * _pow(2, 69, 1)) - 69;
z2 = e < 0 ? number * _pow(2, -e, 1) : number / _pow(2, e, 1);
z2 *= 4503599627370496;
e = 52 - e;
if (e > 0) {
multiply(data2, 0, z2);
j = fractDigits;
while (j >= 7) {
multiply(data2, 1e7, 0);
j -= 7;
}
multiply(data2, _pow(10, j, 1), 0);
j = e - 1;
while (j >= 23) {
divide(data2, 1 << 23);
j -= 23;
}
divide(data2, 1 << j);
multiply(data2, 1, 1);
divide(data2, 2);
result = dataToString(data2);
} else {
multiply(data2, 0, z2);
multiply(data2, 1 << -e, 0);
result = dataToString(data2) + repeat$1("0", fractDigits);
}
}
if (fractDigits > 0) {
k2 = result.length;
result = sign3 + (k2 <= fractDigits ? "0." + repeat$1("0", fractDigits - k2) + result : stringSlice$b(result, 0, k2 - fractDigits) + "." + stringSlice$b(result, k2 - fractDigits));
} else {
result = sign3 + result;
}
return result;
}
});
var $$2y = _export;
var uncurryThis$E = functionUncurryThis;
var fails$H = fails$1e;
var thisNumberValue = thisNumberValue$3;
var nativeToPrecision = uncurryThis$E(1 .toPrecision);
var FORCED$c = fails$H(function() {
return nativeToPrecision(1, void 0) !== "1";
}) || !fails$H(function() {
nativeToPrecision({});
});
$$2y({
target: "Number",
proto: true,
forced: FORCED$c
}, {
toPrecision: function toPrecision(precision) {
return precision === void 0 ? nativeToPrecision(thisNumberValue(this)) : nativeToPrecision(thisNumberValue(this), precision);
}
});
var DESCRIPTORS$n = descriptors;
var uncurryThis$D = functionUncurryThis;
var call$z = functionCall;
var fails$G = fails$1e;
var objectKeys$1 = objectKeys$4;
var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
var propertyIsEnumerableModule = objectPropertyIsEnumerable;
var toObject$d = toObject$s;
var IndexedObject = indexedObject;
var $assign = Object.assign;
var defineProperty$3 = Object.defineProperty;
var concat$2 = uncurryThis$D([].concat);
var objectAssign = !$assign || fails$G(function() {
if (DESCRIPTORS$n && $assign({
b: 1
}, $assign(defineProperty$3({}, "a", {
enumerable: true,
get: function get6() {
defineProperty$3(this, "b", {
value: 3,
enumerable: false
});
}
}), {
b: 2
})).b !== 1) return true;
var A2 = {};
var B2 = {};
var symbol = Symbol("assign detection");
var alphabet = "abcdefghijklmnopqrst";
A2[symbol] = 7;
alphabet.split("").forEach(function(chr) {
B2[chr] = chr;
});
return $assign({}, A2)[symbol] !== 7 || objectKeys$1($assign({}, B2)).join("") !== alphabet;
}) ? function assign(target, source) {
var T2 = toObject$d(target);
var argumentsLength = arguments.length;
var index2 = 1;
var getOwnPropertySymbols2 = getOwnPropertySymbolsModule.f;
var propertyIsEnumerable4 = propertyIsEnumerableModule.f;
while (argumentsLength > index2) {
var S = IndexedObject(arguments[index2++]);
var keys6 = getOwnPropertySymbols2 ? concat$2(objectKeys$1(S), getOwnPropertySymbols2(S)) : objectKeys$1(S);
var length = keys6.length;
var j = 0;
var key;
while (length > j) {
key = keys6[j++];
if (!DESCRIPTORS$n || call$z(propertyIsEnumerable4, S, key)) T2[key] = S[key];
}
}
return T2;
} : $assign;
var $$2x = _export;
var assign$1 = objectAssign;
$$2x({
target: "Object",
stat: true,
arity: 2,
forced: Object.assign !== assign$1
}, {
assign: assign$1
});
var $$2w = _export;
var DESCRIPTORS$m = descriptors;
var create$8 = objectCreate;
$$2w({
target: "Object",
stat: true,
sham: !DESCRIPTORS$m
}, {
create: create$8
});
var globalThis$x = globalThis_1;
var fails$F = fails$1e;
var WEBKIT$1 = environmentWebkitVersion;
var objectPrototypeAccessorsForced = !fails$F(function() {
if (WEBKIT$1 && WEBKIT$1 < 535) return;
var key = Math.random();
__defineSetter__.call(null, key, function() {
});
delete globalThis$x[key];
});
var $$2v = _export;
var DESCRIPTORS$l = descriptors;
var FORCED$b = objectPrototypeAccessorsForced;
var aCallable$j = aCallable$s;
var toObject$c = toObject$s;
var definePropertyModule$4 = objectDefineProperty;
if (DESCRIPTORS$l) {
$$2v({
target: "Object",
proto: true,
forced: FORCED$b
}, {
__defineGetter__: function __defineGetter__(P2, getter) {
definePropertyModule$4.f(toObject$c(this), P2, {
get: aCallable$j(getter),
enumerable: true,
configurable: true
});
}
});
}
var $$2u = _export;
var DESCRIPTORS$k = descriptors;
var defineProperties3 = objectDefineProperties.f;
$$2u({
target: "Object",
stat: true,
forced: Object.defineProperties !== defineProperties3,
sham: !DESCRIPTORS$k
}, {
defineProperties: defineProperties3
});
var $$2t = _export;
var DESCRIPTORS$j = descriptors;
var defineProperty$2 = objectDefineProperty.f;
$$2t({
target: "Object",
stat: true,
forced: Object.defineProperty !== defineProperty$2,
sham: !DESCRIPTORS$j
}, {
defineProperty: defineProperty$2
});
var $$2s = _export;
var DESCRIPTORS$i = descriptors;
var FORCED$a = objectPrototypeAccessorsForced;
var aCallable$i = aCallable$s;
var toObject$b = toObject$s;
var definePropertyModule$3 = objectDefineProperty;
if (DESCRIPTORS$i) {
$$2s({
target: "Object",
proto: true,
forced: FORCED$a
}, {
__defineSetter__: function __defineSetter__2(P2, setter) {
definePropertyModule$3.f(toObject$b(this), P2, {
set: aCallable$i(setter),
enumerable: true,
configurable: true
});
}
});
}
var DESCRIPTORS$h = descriptors;
var fails$E = fails$1e;
var uncurryThis$C = functionUncurryThis;
var objectGetPrototypeOf$1 = objectGetPrototypeOf$2;
var objectKeys = objectKeys$4;
var toIndexedObject$4 = toIndexedObject$f;
var $propertyIsEnumerable = objectPropertyIsEnumerable.f;
var propertyIsEnumerable3 = uncurryThis$C($propertyIsEnumerable);
var push$c = uncurryThis$C([].push);
var IE_BUG = DESCRIPTORS$h && fails$E(function() {
var O = /* @__PURE__ */ Object.create(null);
O[2] = 2;
return !propertyIsEnumerable3(O, 2);
});
var createMethod$1 = function createMethod6(TO_ENTRIES) {
return function(it) {
var O = toIndexedObject$4(it);
var keys6 = objectKeys(O);
var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf$1(O) === null;
var length = keys6.length;
var i = 0;
var result = [];
var key;
while (length > i) {
key = keys6[i++];
if (!DESCRIPTORS$h || (IE_WORKAROUND ? key in O : propertyIsEnumerable3(O, key))) {
push$c(result, TO_ENTRIES ? [key, O[key]] : O[key]);
}
}
return result;
};
};
var objectToArray = {
// `Object.entries` method
// https://tc39.es/ecma262/#sec-object.entries
entries: createMethod$1(true),
// `Object.values` method
// https://tc39.es/ecma262/#sec-object.values
values: createMethod$1(false)
};
var $$2r = _export;
var $entries = objectToArray.entries;
$$2r({
target: "Object",
stat: true
}, {
entries: function entries(O) {
return $entries(O);
}
});
var $$2q = _export;
var FREEZING$4 = freezing;
var fails$D = fails$1e;
var isObject$o = isObject$I;
var onFreeze$2 = internalMetadataExports.onFreeze;
var $freeze = Object.freeze;
var FAILS_ON_PRIMITIVES$5 = fails$D(function() {
$freeze(1);
});
$$2q({
target: "Object",
stat: true,
forced: FAILS_ON_PRIMITIVES$5,
sham: !FREEZING$4
}, {
freeze: function freeze(it) {
return $freeze && isObject$o(it) ? $freeze(onFreeze$2(it)) : it;
}
});
var $$2p = _export;
var iterate$v = iterate$y;
var createProperty$1 = createProperty$7;
$$2p({
target: "Object",
stat: true
}, {
fromEntries: function fromEntries(iterable) {
var obj = {};
iterate$v(iterable, function(k2, v) {
createProperty$1(obj, k2, v);
}, {
AS_ENTRIES: true
});
return obj;
}
});
var $$2o = _export;
var fails$C = fails$1e;
var toIndexedObject$3 = toIndexedObject$f;
var nativeGetOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
var DESCRIPTORS$g = descriptors;
var FORCED$9 = !DESCRIPTORS$g || fails$C(function() {
nativeGetOwnPropertyDescriptor$1(1);
});
$$2o({
target: "Object",
stat: true,
forced: FORCED$9,
sham: !DESCRIPTORS$g
}, {
getOwnPropertyDescriptor: function getOwnPropertyDescriptor3(it, key) {
return nativeGetOwnPropertyDescriptor$1(toIndexedObject$3(it), key);
}
});
var $$2n = _export;
var DESCRIPTORS$f = descriptors;
var ownKeys$1 = ownKeys$3;
var toIndexedObject$2 = toIndexedObject$f;
var getOwnPropertyDescriptorModule$4 = objectGetOwnPropertyDescriptor;
var createProperty2 = createProperty$7;
$$2n({
target: "Object",
stat: true,
sham: !DESCRIPTORS$f
}, {
getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
var O = toIndexedObject$2(object);
var getOwnPropertyDescriptor7 = getOwnPropertyDescriptorModule$4.f;
var keys6 = ownKeys$1(O);
var result = {};
var index2 = 0;
var key, descriptor;
while (keys6.length > index2) {
descriptor = getOwnPropertyDescriptor7(O, key = keys6[index2++]);
if (descriptor !== void 0) createProperty2(result, key, descriptor);
}
return result;
}
});
var $$2m = _export;
var fails$B = fails$1e;
var getOwnPropertyNames$2 = objectGetOwnPropertyNamesExternal.f;
var FAILS_ON_PRIMITIVES$4 = fails$B(function() {
return !Object.getOwnPropertyNames(1);
});
$$2m({
target: "Object",
stat: true,
forced: FAILS_ON_PRIMITIVES$4
}, {
getOwnPropertyNames: getOwnPropertyNames$2
});
var $$2l = _export;
var fails$A = fails$1e;
var toObject$a = toObject$s;
var nativeGetPrototypeOf = objectGetPrototypeOf$2;
var CORRECT_PROTOTYPE_GETTER$1 = correctPrototypeGetter;
var FAILS_ON_PRIMITIVES$3 = fails$A(function() {
nativeGetPrototypeOf(1);
});
$$2l({
target: "Object",
stat: true,
forced: FAILS_ON_PRIMITIVES$3,
sham: !CORRECT_PROTOTYPE_GETTER$1
}, {
getPrototypeOf: function getPrototypeOf2(it) {
return nativeGetPrototypeOf(toObject$a(it));
}
});
var sameValue$2 = Object.is || function is(x, y) {
return x === y ? x !== 0 || 1 / x === 1 / y : x !== x && y !== y;
};
var $$2k = _export;
var is2 = sameValue$2;
$$2k({
target: "Object",
stat: true
}, {
is: is2
});
var $$2j = _export;
var $isExtensible$1 = objectIsExtensible;
$$2j({
target: "Object",
stat: true,
forced: Object.isExtensible !== $isExtensible$1
}, {
isExtensible: $isExtensible$1
});
var $$2i = _export;
var fails$z = fails$1e;
var isObject$n = isObject$I;
var classof$9 = classofRaw$2;
var ARRAY_BUFFER_NON_EXTENSIBLE$1 = arrayBufferNonExtensible;
var $isFrozen = Object.isFrozen;
var FORCED$8 = ARRAY_BUFFER_NON_EXTENSIBLE$1 || fails$z(function() {
$isFrozen(1);
});
$$2i({
target: "Object",
stat: true,
forced: FORCED$8
}, {
isFrozen: function isFrozen(it) {
if (!isObject$n(it)) return true;
if (ARRAY_BUFFER_NON_EXTENSIBLE$1 && classof$9(it) === "ArrayBuffer") return true;
return $isFrozen ? $isFrozen(it) : false;
}
});
var $$2h = _export;
var fails$y = fails$1e;
var isObject$m = isObject$I;
var classof$8 = classofRaw$2;
var ARRAY_BUFFER_NON_EXTENSIBLE = arrayBufferNonExtensible;
var $isSealed = Object.isSealed;
var FORCED$7 = ARRAY_BUFFER_NON_EXTENSIBLE || fails$y(function() {
$isSealed(1);
});
$$2h({
target: "Object",
stat: true,
forced: FORCED$7
}, {
isSealed: function isSealed(it) {
if (!isObject$m(it)) return true;
if (ARRAY_BUFFER_NON_EXTENSIBLE && classof$8(it) === "ArrayBuffer") return true;
return $isSealed ? $isSealed(it) : false;
}
});
var $$2g = _export;
var toObject$9 = toObject$s;
var nativeKeys = objectKeys$4;
var fails$x = fails$1e;
var FAILS_ON_PRIMITIVES$2 = fails$x(function() {
nativeKeys(1);
});
$$2g({
target: "Object",
stat: true,
forced: FAILS_ON_PRIMITIVES$2
}, {
keys: function keys2(it) {
return nativeKeys(toObject$9(it));
}
});
var $$2f = _export;
var DESCRIPTORS$e = descriptors;
var FORCED$6 = objectPrototypeAccessorsForced;
var toObject$8 = toObject$s;
var toPropertyKey$3 = toPropertyKey$7;
var getPrototypeOf$7 = objectGetPrototypeOf$2;
var getOwnPropertyDescriptor$6 = objectGetOwnPropertyDescriptor.f;
if (DESCRIPTORS$e) {
$$2f({
target: "Object",
proto: true,
forced: FORCED$6
}, {
__lookupGetter__: function __lookupGetter__(P2) {
var O = toObject$8(this);
var key = toPropertyKey$3(P2);
var desc;
do {
if (desc = getOwnPropertyDescriptor$6(O, key)) return desc.get;
} while (O = getPrototypeOf$7(O));
}
});
}
var $$2e = _export;
var DESCRIPTORS$d = descriptors;
var FORCED$5 = objectPrototypeAccessorsForced;
var toObject$7 = toObject$s;
var toPropertyKey$2 = toPropertyKey$7;
var getPrototypeOf$6 = objectGetPrototypeOf$2;
var getOwnPropertyDescriptor$5 = objectGetOwnPropertyDescriptor.f;
if (DESCRIPTORS$d) {
$$2e({
target: "Object",
proto: true,
forced: FORCED$5
}, {
__lookupSetter__: function __lookupSetter__(P2) {
var O = toObject$7(this);
var key = toPropertyKey$2(P2);
var desc;
do {
if (desc = getOwnPropertyDescriptor$5(O, key)) return desc.set;
} while (O = getPrototypeOf$6(O));
}
});
}
var $$2d = _export;
var isObject$l = isObject$I;
var onFreeze$1 = internalMetadataExports.onFreeze;
var FREEZING$3 = freezing;
var fails$w = fails$1e;
var $preventExtensions = Object.preventExtensions;
var FAILS_ON_PRIMITIVES$1 = fails$w(function() {
$preventExtensions(1);
});
$$2d({
target: "Object",
stat: true,
forced: FAILS_ON_PRIMITIVES$1,
sham: !FREEZING$3
}, {
preventExtensions: function preventExtensions(it) {
return $preventExtensions && isObject$l(it) ? $preventExtensions(onFreeze$1(it)) : it;
}
});
var $$2c = _export;
var isObject$k = isObject$I;
var onFreeze2 = internalMetadataExports.onFreeze;
var FREEZING$2 = freezing;
var fails$v = fails$1e;
var $seal = Object.seal;
var FAILS_ON_PRIMITIVES = fails$v(function() {
$seal(1);
});
$$2c({
target: "Object",
stat: true,
forced: FAILS_ON_PRIMITIVES,
sham: !FREEZING$2
}, {
seal: function seal(it) {
return $seal && isObject$k(it) ? $seal(onFreeze2(it)) : it;
}
});
var $$2b = _export;
var setPrototypeOf$3 = objectSetPrototypeOf$1;
$$2b({
target: "Object",
stat: true
}, {
setPrototypeOf: setPrototypeOf$3
});
var TO_STRING_TAG_SUPPORT$1 = toStringTagSupport;
var classof$7 = classof$j;
var objectToString = TO_STRING_TAG_SUPPORT$1 ? {}.toString : function toString32() {
return "[object " + classof$7(this) + "]";
};
var TO_STRING_TAG_SUPPORT = toStringTagSupport;
var defineBuiltIn$a = defineBuiltIn$l;
var toString$j = objectToString;
if (!TO_STRING_TAG_SUPPORT) {
defineBuiltIn$a(Object.prototype, "toString", toString$j, {
unsafe: true
});
}
var $$2a = _export;
var $values = objectToArray.values;
$$2a({
target: "Object",
stat: true
}, {
values: function values2(O) {
return $values(O);
}
});
var $$29 = _export;
var $parseFloat = numberParseFloat;
$$29({
global: true,
forced: parseFloat !== $parseFloat
}, {
parseFloat: $parseFloat
});
var $$28 = _export;
var $parseInt$2 = numberParseInt;
$$28({
global: true,
forced: parseInt !== $parseInt$2
}, {
parseInt: $parseInt$2
});
var isConstructor$2 = isConstructor$7;
var tryToString2 = tryToString$7;
var $TypeError$f = TypeError;
var aConstructor$3 = function aConstructor(argument) {
if (isConstructor$2(argument)) return argument;
throw new $TypeError$f(tryToString2(argument) + " is not a constructor");
};
var anObject$B = anObject$N;
var aConstructor$2 = aConstructor$3;
var isNullOrUndefined$4 = isNullOrUndefined$a;
var wellKnownSymbol$g = wellKnownSymbol$C;
var SPECIES$2 = wellKnownSymbol$g("species");
var speciesConstructor$4 = function speciesConstructor(O, defaultConstructor) {
var C = anObject$B(O).constructor;
var S;
return C === void 0 || isNullOrUndefined$4(S = anObject$B(C)[SPECIES$2]) ? defaultConstructor : aConstructor$2(S);
};
var $TypeError$e = TypeError;
var validateArgumentsLength$5 = function validateArgumentsLength(passed, required) {
if (passed < required) throw new $TypeError$e("Not enough arguments");
return passed;
};
var userAgent$3 = environmentUserAgent;
var environmentIsIos = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent$3);
var globalThis$w = globalThis_1;
var apply$8 = functionApply$1;
var bind$j = functionBindContext;
var isCallable$c = isCallable$z;
var hasOwn$8 = hasOwnProperty_1;
var fails$u = fails$1e;
var html = html$2;
var arraySlice$4 = arraySlice$a;
var createElement = documentCreateElement$2;
var validateArgumentsLength$4 = validateArgumentsLength$5;
var IS_IOS$1 = environmentIsIos;
var IS_NODE$2 = environmentIsNode;
var set$7 = globalThis$w.setImmediate;
var clear = globalThis$w.clearImmediate;
var process$2 = globalThis$w.process;
var Dispatch = globalThis$w.Dispatch;
var Function$2 = globalThis$w.Function;
var MessageChannel = globalThis$w.MessageChannel;
var String$1 = globalThis$w.String;
var counter = 0;
var queue$2 = {};
var ONREADYSTATECHANGE = "onreadystatechange";
var $location, defer, channel, port;
fails$u(function() {
$location = globalThis$w.location;
});
var run = function run2(id2) {
if (hasOwn$8(queue$2, id2)) {
var fn = queue$2[id2];
delete queue$2[id2];
fn();
}
};
var runner = function runner2(id2) {
return function() {
run(id2);
};
};
var eventListener = function eventListener2(event) {
run(event.data);
};
var globalPostMessageDefer = function globalPostMessageDefer2(id2) {
globalThis$w.postMessage(String$1(id2), $location.protocol + "//" + $location.host);
};
if (!set$7 || !clear) {
set$7 = function setImmediate2(handler) {
validateArgumentsLength$4(arguments.length, 1);
var fn = isCallable$c(handler) ? handler : Function$2(handler);
var args = arraySlice$4(arguments, 1);
queue$2[++counter] = function() {
apply$8(fn, void 0, args);
};
defer(counter);
return counter;
};
clear = function clearImmediate2(id2) {
delete queue$2[id2];
};
if (IS_NODE$2) {
defer = function defer2(id2) {
process$2.nextTick(runner(id2));
};
} else if (Dispatch && Dispatch.now) {
defer = function defer2(id2) {
Dispatch.now(runner(id2));
};
} else if (MessageChannel && !IS_IOS$1) {
channel = new MessageChannel();
port = channel.port2;
channel.port1.onmessage = eventListener;
defer = bind$j(port.postMessage, port);
} else if (globalThis$w.addEventListener && isCallable$c(globalThis$w.postMessage) && !globalThis$w.importScripts && $location && $location.protocol !== "file:" && !fails$u(globalPostMessageDefer)) {
defer = globalPostMessageDefer;
globalThis$w.addEventListener("message", eventListener, false);
} else if (ONREADYSTATECHANGE in createElement("script")) {
defer = function defer2(id2) {
html.appendChild(createElement("script"))[ONREADYSTATECHANGE] = function() {
html.removeChild(this);
run(id2);
};
};
} else {
defer = function defer2(id2) {
setTimeout(runner(id2), 0);
};
}
}
var task$1 = {
set: set$7,
clear
};
var globalThis$v = globalThis_1;
var DESCRIPTORS$c = descriptors;
var getOwnPropertyDescriptor$4 = Object.getOwnPropertyDescriptor;
var safeGetBuiltIn$2 = function safeGetBuiltIn(name2) {
if (!DESCRIPTORS$c) return globalThis$v[name2];
var descriptor = getOwnPropertyDescriptor$4(globalThis$v, name2);
return descriptor && descriptor.value;
};
var Queue$2 = function Queue() {
this.head = null;
this.tail = null;
};
Queue$2.prototype = {
add: function add(item) {
var entry = {
item,
next: null
};
var tail = this.tail;
if (tail) tail.next = entry;
else this.head = entry;
this.tail = entry;
},
get: function get2() {
var entry = this.head;
if (entry) {
var next8 = this.head = entry.next;
if (next8 === null) this.tail = null;
return entry.item;
}
}
};
var queue$1 = Queue$2;
var userAgent$2 = environmentUserAgent;
var environmentIsIosPebble = /ipad|iphone|ipod/i.test(userAgent$2) && typeof Pebble != "undefined";
var userAgent$1 = environmentUserAgent;
var environmentIsWebosWebkit = /web0s(?!.*chrome)/i.test(userAgent$1);
var globalThis$u = globalThis_1;
var safeGetBuiltIn$1 = safeGetBuiltIn$2;
var bind$i = functionBindContext;
var macrotask = task$1.set;
var Queue$1 = queue$1;
var IS_IOS = environmentIsIos;
var IS_IOS_PEBBLE = environmentIsIosPebble;
var IS_WEBOS_WEBKIT = environmentIsWebosWebkit;
var IS_NODE$1 = environmentIsNode;
var MutationObserver$1 = globalThis$u.MutationObserver || globalThis$u.WebKitMutationObserver;
var document$2 = globalThis$u.document;
var process$1 = globalThis$u.process;
var Promise$2 = globalThis$u.Promise;
var microtask$2 = safeGetBuiltIn$1("queueMicrotask");
var notify$1, toggle, node, promise, then;
if (!microtask$2) {
var queue = new Queue$1();
var flush = function flush2() {
var parent, fn;
if (IS_NODE$1 && (parent = process$1.domain)) parent.exit();
while (fn = queue.get()) try {
fn();
} catch (error2) {
if (queue.head) notify$1();
throw error2;
}
if (parent) parent.enter();
};
if (!IS_IOS && !IS_NODE$1 && !IS_WEBOS_WEBKIT && MutationObserver$1 && document$2) {
toggle = true;
node = document$2.createTextNode("");
new MutationObserver$1(flush).observe(node, {
characterData: true
});
notify$1 = function notify3() {
node.data = toggle = !toggle;
};
} else if (!IS_IOS_PEBBLE && Promise$2 && Promise$2.resolve) {
promise = Promise$2.resolve(void 0);
promise.constructor = Promise$2;
then = bind$i(promise.then, promise);
notify$1 = function notify3() {
then(flush);
};
} else if (IS_NODE$1) {
notify$1 = function notify3() {
process$1.nextTick(flush);
};
} else {
macrotask = bind$i(macrotask, globalThis$u);
notify$1 = function notify3() {
macrotask(flush);
};
}
microtask$2 = function microtask2(fn) {
if (!queue.head) notify$1();
queue.add(fn);
};
}
var microtask_1 = microtask$2;
var hostReportErrors$2 = function hostReportErrors(a, b) {
try {
arguments.length === 1 ? console.error(a) : console.error(a, b);
} catch (error2) {
}
};
var perform$6 = function perform(exec2) {
try {
return {
error: false,
value: exec2()
};
} catch (error2) {
return {
error: true,
value: error2
};
}
};
var globalThis$t = globalThis_1;
var promiseNativeConstructor = globalThis$t.Promise;
var globalThis$s = globalThis_1;
var NativePromiseConstructor$4 = promiseNativeConstructor;
var isCallable$b = isCallable$z;
var isForced$1 = isForced_1;
var inspectSource = inspectSource$3;
var wellKnownSymbol$f = wellKnownSymbol$C;
var ENVIRONMENT$1 = environment;
var V8_VERSION = environmentV8Version;
NativePromiseConstructor$4 && NativePromiseConstructor$4.prototype;
var SPECIES$1 = wellKnownSymbol$f("species");
var SUBCLASSING = false;
var NATIVE_PROMISE_REJECTION_EVENT$1 = isCallable$b(globalThis$s.PromiseRejectionEvent);
var FORCED_PROMISE_CONSTRUCTOR$5 = isForced$1("Promise", function() {
var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor$4);
var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor$4);
if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;
if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {
var promise2 = new NativePromiseConstructor$4(function(resolve2) {
resolve2(1);
});
var FakePromise = function FakePromise2(exec2) {
exec2(function() {
}, function() {
});
};
var constructor = promise2.constructor = {};
constructor[SPECIES$1] = FakePromise;
SUBCLASSING = promise2.then(function() {
}) instanceof FakePromise;
if (!SUBCLASSING) return true;
}
return !GLOBAL_CORE_JS_PROMISE && (ENVIRONMENT$1 === "BROWSER" || ENVIRONMENT$1 === "DENO") && !NATIVE_PROMISE_REJECTION_EVENT$1;
});
var promiseConstructorDetection = {
CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR$5,
REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT$1,
SUBCLASSING
};
var newPromiseCapability$2 = {};
var aCallable$h = aCallable$s;
var $TypeError$d = TypeError;
var PromiseCapability = function PromiseCapability2(C) {
var resolve2, reject2;
this.promise = new C(function($$resolve, $$reject) {
if (resolve2 !== void 0 || reject2 !== void 0) throw new $TypeError$d("Bad Promise constructor");
resolve2 = $$resolve;
reject2 = $$reject;
});
this.resolve = aCallable$h(resolve2);
this.reject = aCallable$h(reject2);
};
newPromiseCapability$2.f = function(C) {
return new PromiseCapability(C);
};
var $$27 = _export;
var IS_NODE = environmentIsNode;
var globalThis$r = globalThis_1;
var call$y = functionCall;
var defineBuiltIn$9 = defineBuiltIn$l;
var setPrototypeOf$2 = objectSetPrototypeOf$1;
var setToStringTag$3 = setToStringTag$c;
var setSpecies$3 = setSpecies$7;
var aCallable$g = aCallable$s;
var isCallable$a = isCallable$z;
var isObject$j = isObject$I;
var anInstance$5 = anInstance$9;
var speciesConstructor$3 = speciesConstructor$4;
var task = task$1.set;
var microtask$1 = microtask_1;
var hostReportErrors$1 = hostReportErrors$2;
var perform$5 = perform$6;
var Queue2 = queue$1;
var InternalStateModule$9 = internalState;
var NativePromiseConstructor$3 = promiseNativeConstructor;
var PromiseConstructorDetection = promiseConstructorDetection;
var newPromiseCapabilityModule$6 = newPromiseCapability$2;
var PROMISE = "Promise";
var FORCED_PROMISE_CONSTRUCTOR$4 = PromiseConstructorDetection.CONSTRUCTOR;
var NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;
var NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;
var getInternalPromiseState = InternalStateModule$9.getterFor(PROMISE);
var setInternalState$9 = InternalStateModule$9.set;
var NativePromisePrototype$2 = NativePromiseConstructor$3 && NativePromiseConstructor$3.prototype;
var PromiseConstructor = NativePromiseConstructor$3;
var PromisePrototype = NativePromisePrototype$2;
var TypeError$3 = globalThis$r.TypeError;
var document$1 = globalThis$r.document;
var process$4 = globalThis$r.process;
var newPromiseCapability$1 = newPromiseCapabilityModule$6.f;
var newGenericPromiseCapability = newPromiseCapability$1;
var DISPATCH_EVENT = !!(document$1 && document$1.createEvent && globalThis$r.dispatchEvent);
var UNHANDLED_REJECTION = "unhandledrejection";
var REJECTION_HANDLED = "rejectionhandled";
var PENDING = 0;
var FULFILLED = 1;
var REJECTED = 2;
var HANDLED = 1;
var UNHANDLED = 2;
var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
var isThenable = function isThenable2(it) {
var then2;
return isObject$j(it) && isCallable$a(then2 = it.then) ? then2 : false;
};
var callReaction = function callReaction2(reaction, state) {
var value = state.value;
var ok = state.state === FULFILLED;
var handler = ok ? reaction.ok : reaction.fail;
var resolve2 = reaction.resolve;
var reject2 = reaction.reject;
var domain = reaction.domain;
var result, then2, exited;
try {
if (handler) {
if (!ok) {
if (state.rejection === UNHANDLED) onHandleUnhandled(state);
state.rejection = HANDLED;
}
if (handler === true) result = value;
else {
if (domain) domain.enter();
result = handler(value);
if (domain) {
domain.exit();
exited = true;
}
}
if (result === reaction.promise) {
reject2(new TypeError$3("Promise-chain cycle"));
} else if (then2 = isThenable(result)) {
call$y(then2, result, resolve2, reject2);
} else resolve2(result);
} else reject2(value);
} catch (error2) {
if (domain && !exited) domain.exit();
reject2(error2);
}
};
var notify = function notify2(state, isReject) {
if (state.notified) return;
state.notified = true;
microtask$1(function() {
var reactions = state.reactions;
var reaction;
while (reaction = reactions.get()) {
callReaction(reaction, state);
}
state.notified = false;
if (isReject && !state.rejection) onUnhandled(state);
});
};
var dispatchEvent = function dispatchEvent2(name2, promise2, reason) {
var event, handler;
if (DISPATCH_EVENT) {
event = document$1.createEvent("Event");
event.promise = promise2;
event.reason = reason;
event.initEvent(name2, false, true);
globalThis$r.dispatchEvent(event);
} else event = {
promise: promise2,
reason
};
if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = globalThis$r["on" + name2])) handler(event);
else if (name2 === UNHANDLED_REJECTION) hostReportErrors$1("Unhandled promise rejection", reason);
};
var onUnhandled = function onUnhandled2(state) {
call$y(task, globalThis$r, function() {
var promise2 = state.facade;
var value = state.value;
var IS_UNHANDLED = isUnhandled(state);
var result;
if (IS_UNHANDLED) {
result = perform$5(function() {
if (IS_NODE) {
process$4.emit("unhandledRejection", value, promise2);
} else dispatchEvent(UNHANDLED_REJECTION, promise2, value);
});
state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
if (result.error) throw result.value;
}
});
};
var isUnhandled = function isUnhandled2(state) {
return state.rejection !== HANDLED && !state.parent;
};
var onHandleUnhandled = function onHandleUnhandled2(state) {
call$y(task, globalThis$r, function() {
var promise2 = state.facade;
if (IS_NODE) {
process$4.emit("rejectionHandled", promise2);
} else dispatchEvent(REJECTION_HANDLED, promise2, state.value);
});
};
var bind$h = function bind22(fn, state, unwrap) {
return function(value) {
fn(state, value, unwrap);
};
};
var internalReject = function internalReject2(state, value, unwrap) {
if (state.done) return;
state.done = true;
if (unwrap) state = unwrap;
state.value = value;
state.state = REJECTED;
notify(state, true);
};
var _internalResolve = function internalResolve(state, value, unwrap) {
if (state.done) return;
state.done = true;
if (unwrap) state = unwrap;
try {
if (state.facade === value) throw new TypeError$3("Promise can't be resolved itself");
var then2 = isThenable(value);
if (then2) {
microtask$1(function() {
var wrapper3 = {
done: false
};
try {
call$y(then2, value, bind$h(_internalResolve, wrapper3, state), bind$h(internalReject, wrapper3, state));
} catch (error2) {
internalReject(wrapper3, error2, state);
}
});
} else {
state.value = value;
state.state = FULFILLED;
notify(state, false);
}
} catch (error2) {
internalReject({
done: false
}, error2, state);
}
};
if (FORCED_PROMISE_CONSTRUCTOR$4) {
PromiseConstructor = function Promise2(executor) {
anInstance$5(this, PromisePrototype);
aCallable$g(executor);
call$y(Internal, this);
var state = getInternalPromiseState(this);
try {
executor(bind$h(_internalResolve, state), bind$h(internalReject, state));
} catch (error2) {
internalReject(state, error2);
}
};
PromisePrototype = PromiseConstructor.prototype;
Internal = function Promise2(executor) {
setInternalState$9(this, {
type: PROMISE,
done: false,
notified: false,
parent: false,
reactions: new Queue2(),
rejection: false,
state: PENDING,
value: null
});
};
Internal.prototype = defineBuiltIn$9(PromisePrototype, "then", function then2(onFulfilled, onRejected) {
var state = getInternalPromiseState(this);
var reaction = newPromiseCapability$1(speciesConstructor$3(this, PromiseConstructor));
state.parent = true;
reaction.ok = isCallable$a(onFulfilled) ? onFulfilled : true;
reaction.fail = isCallable$a(onRejected) && onRejected;
reaction.domain = IS_NODE ? process$4.domain : void 0;
if (state.state === PENDING) state.reactions.add(reaction);
else microtask$1(function() {
callReaction(reaction, state);
});
return reaction.promise;
});
OwnPromiseCapability = function OwnPromiseCapability2() {
var promise2 = new Internal();
var state = getInternalPromiseState(promise2);
this.promise = promise2;
this.resolve = bind$h(_internalResolve, state);
this.reject = bind$h(internalReject, state);
};
newPromiseCapabilityModule$6.f = newPromiseCapability$1 = function newPromiseCapability2(C) {
return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);
};
if (isCallable$a(NativePromiseConstructor$3) && NativePromisePrototype$2 !== Object.prototype) {
nativeThen = NativePromisePrototype$2.then;
if (!NATIVE_PROMISE_SUBCLASSING) {
defineBuiltIn$9(NativePromisePrototype$2, "then", function then2(onFulfilled, onRejected) {
var that = this;
return new PromiseConstructor(function(resolve2, reject2) {
call$y(nativeThen, that, resolve2, reject2);
}).then(onFulfilled, onRejected);
}, {
unsafe: true
});
}
try {
delete NativePromisePrototype$2.constructor;
} catch (error2) {
}
if (setPrototypeOf$2) {
setPrototypeOf$2(NativePromisePrototype$2, PromisePrototype);
}
}
}
$$27({
global: true,
constructor: true,
wrap: true,
forced: FORCED_PROMISE_CONSTRUCTOR$4
}, {
Promise: PromiseConstructor
});
setToStringTag$3(PromiseConstructor, PROMISE, false);
setSpecies$3(PROMISE);
var NativePromiseConstructor$2 = promiseNativeConstructor;
var checkCorrectnessOfIteration$1 = checkCorrectnessOfIteration$4;
var FORCED_PROMISE_CONSTRUCTOR$3 = promiseConstructorDetection.CONSTRUCTOR;
var promiseStaticsIncorrectIteration = FORCED_PROMISE_CONSTRUCTOR$3 || !checkCorrectnessOfIteration$1(function(iterable) {
NativePromiseConstructor$2.all(iterable).then(void 0, function() {
});
});
var $$26 = _export;
var call$x = functionCall;
var aCallable$f = aCallable$s;
var newPromiseCapabilityModule$5 = newPromiseCapability$2;
var perform$4 = perform$6;
var iterate$u = iterate$y;
var PROMISE_STATICS_INCORRECT_ITERATION$3 = promiseStaticsIncorrectIteration;
$$26({
target: "Promise",
stat: true,
forced: PROMISE_STATICS_INCORRECT_ITERATION$3
}, {
all: function all3(iterable) {
var C = this;
var capability = newPromiseCapabilityModule$5.f(C);
var resolve2 = capability.resolve;
var reject2 = capability.reject;
var result = perform$4(function() {
var $promiseResolve = aCallable$f(C.resolve);
var values5 = [];
var counter2 = 0;
var remaining = 1;
iterate$u(iterable, function(promise2) {
var index2 = counter2++;
var alreadyCalled = false;
remaining++;
call$x($promiseResolve, C, promise2).then(function(value) {
if (alreadyCalled) return;
alreadyCalled = true;
values5[index2] = value;
--remaining || resolve2(values5);
}, reject2);
});
--remaining || resolve2(values5);
});
if (result.error) reject2(result.value);
return capability.promise;
}
});
var $$25 = _export;
var FORCED_PROMISE_CONSTRUCTOR$2 = promiseConstructorDetection.CONSTRUCTOR;
var NativePromiseConstructor$1 = promiseNativeConstructor;
var getBuiltIn$d = getBuiltIn$n;
var isCallable$9 = isCallable$z;
var defineBuiltIn$8 = defineBuiltIn$l;
var NativePromisePrototype$1 = NativePromiseConstructor$1 && NativePromiseConstructor$1.prototype;
$$25({
target: "Promise",
proto: true,
forced: FORCED_PROMISE_CONSTRUCTOR$2,
real: true
}, {
"catch": function _catch(onRejected) {
return this.then(void 0, onRejected);
}
});
if (isCallable$9(NativePromiseConstructor$1)) {
var method$1 = getBuiltIn$d("Promise").prototype["catch"];
if (NativePromisePrototype$1["catch"] !== method$1) {
defineBuiltIn$8(NativePromisePrototype$1, "catch", method$1, {
unsafe: true
});
}
}
var $$24 = _export;
var call$w = functionCall;
var aCallable$e = aCallable$s;
var newPromiseCapabilityModule$4 = newPromiseCapability$2;
var perform$3 = perform$6;
var iterate$t = iterate$y;
var PROMISE_STATICS_INCORRECT_ITERATION$2 = promiseStaticsIncorrectIteration;
$$24({
target: "Promise",
stat: true,
forced: PROMISE_STATICS_INCORRECT_ITERATION$2
}, {
race: function race(iterable) {
var C = this;
var capability = newPromiseCapabilityModule$4.f(C);
var reject2 = capability.reject;
var result = perform$3(function() {
var $promiseResolve = aCallable$e(C.resolve);
iterate$t(iterable, function(promise2) {
call$w($promiseResolve, C, promise2).then(capability.resolve, reject2);
});
});
if (result.error) reject2(result.value);
return capability.promise;
}
});
var $$23 = _export;
var newPromiseCapabilityModule$3 = newPromiseCapability$2;
var FORCED_PROMISE_CONSTRUCTOR$1 = promiseConstructorDetection.CONSTRUCTOR;
$$23({
target: "Promise",
stat: true,
forced: FORCED_PROMISE_CONSTRUCTOR$1
}, {
reject: function reject(r) {
var capability = newPromiseCapabilityModule$3.f(this);
var capabilityReject = capability.reject;
capabilityReject(r);
return capability.promise;
}
});
var anObject$A = anObject$N;
var isObject$i = isObject$I;
var newPromiseCapability = newPromiseCapability$2;
var promiseResolve$2 = function promiseResolve(C, x) {
anObject$A(C);
if (isObject$i(x) && x.constructor === C) return x;
var promiseCapability = newPromiseCapability.f(C);
var resolve2 = promiseCapability.resolve;
resolve2(x);
return promiseCapability.promise;
};
var $$22 = _export;
var getBuiltIn$c = getBuiltIn$n;
var FORCED_PROMISE_CONSTRUCTOR = promiseConstructorDetection.CONSTRUCTOR;
var promiseResolve$1 = promiseResolve$2;
getBuiltIn$c("Promise");
$$22({
target: "Promise",
stat: true,
forced: FORCED_PROMISE_CONSTRUCTOR
}, {
resolve: function resolve(x) {
return promiseResolve$1(this, x);
}
});
var $$21 = _export;
var NativePromiseConstructor = promiseNativeConstructor;
var fails$t = fails$1e;
var getBuiltIn$b = getBuiltIn$n;
var isCallable$8 = isCallable$z;
var speciesConstructor$2 = speciesConstructor$4;
var promiseResolve2 = promiseResolve$2;
var defineBuiltIn$7 = defineBuiltIn$l;
var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;
var NON_GENERIC = !!NativePromiseConstructor && fails$t(function() {
NativePromisePrototype["finally"].call({
then: function then2() {
}
}, function() {
});
});
$$21({
target: "Promise",
proto: true,
real: true,
forced: NON_GENERIC
}, {
"finally": function _finally(onFinally2) {
var C = speciesConstructor$2(this, getBuiltIn$b("Promise"));
var isFunction2 = isCallable$8(onFinally2);
return this.then(isFunction2 ? function(x) {
return promiseResolve2(C, onFinally2()).then(function() {
return x;
});
} : onFinally2, isFunction2 ? function(e) {
return promiseResolve2(C, onFinally2()).then(function() {
throw e;
});
} : onFinally2);
}
});
if (isCallable$8(NativePromiseConstructor)) {
var method = getBuiltIn$b("Promise").prototype["finally"];
if (NativePromisePrototype["finally"] !== method) {
defineBuiltIn$7(NativePromisePrototype, "finally", method, {
unsafe: true
});
}
}
var $$20 = _export;
var functionApply = functionApply$1;
var aCallable$d = aCallable$s;
var anObject$z = anObject$N;
var fails$s = fails$1e;
var OPTIONAL_ARGUMENTS_LIST = !fails$s(function() {
Reflect.apply(function() {
});
});
$$20({
target: "Reflect",
stat: true,
forced: OPTIONAL_ARGUMENTS_LIST
}, {
apply: function apply(target, thisArgument, argumentsList) {
return functionApply(aCallable$d(target), thisArgument, anObject$z(argumentsList));
}
});
var $$1$ = _export;
var getBuiltIn$a = getBuiltIn$n;
var apply$7 = functionApply$1;
var bind$g = functionBind;
var aConstructor$1 = aConstructor$3;
var anObject$y = anObject$N;
var isObject$h = isObject$I;
var create$7 = objectCreate;
var fails$r = fails$1e;
var nativeConstruct = getBuiltIn$a("Reflect", "construct");
var ObjectPrototype = Object.prototype;
var push$b = [].push;
var NEW_TARGET_BUG = fails$r(function() {
function F() {
}
return !(nativeConstruct(function() {
}, [], F) instanceof F);
});
var ARGS_BUG = !fails$r(function() {
nativeConstruct(function() {
});
});
var FORCED$4 = NEW_TARGET_BUG || ARGS_BUG;
$$1$({
target: "Reflect",
stat: true,
forced: FORCED$4,
sham: FORCED$4
}, {
construct: function construct3(Target, args) {
aConstructor$1(Target);
anObject$y(args);
var newTarget = arguments.length < 3 ? Target : aConstructor$1(arguments[2]);
if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);
if (Target === newTarget) {
switch (args.length) {
case 0:
return new Target();
case 1:
return new Target(args[0]);
case 2:
return new Target(args[0], args[1]);
case 3:
return new Target(args[0], args[1], args[2]);
case 4:
return new Target(args[0], args[1], args[2], args[3]);
}
var $args = [null];
apply$7(push$b, $args, args);
return new (apply$7(bind$g, Target, $args))();
}
var proto = newTarget.prototype;
var instance = create$7(isObject$h(proto) ? proto : ObjectPrototype);
var result = apply$7(Target, instance, args);
return isObject$h(result) ? result : instance;
}
});
var $$1_ = _export;
var DESCRIPTORS$b = descriptors;
var anObject$x = anObject$N;
var toPropertyKey$1 = toPropertyKey$7;
var definePropertyModule$2 = objectDefineProperty;
var fails$q = fails$1e;
var ERROR_INSTEAD_OF_FALSE = fails$q(function() {
Reflect.defineProperty(definePropertyModule$2.f({}, 1, {
value: 1
}), 1, {
value: 2
});
});
$$1_({
target: "Reflect",
stat: true,
forced: ERROR_INSTEAD_OF_FALSE,
sham: !DESCRIPTORS$b
}, {
defineProperty: function defineProperty4(target, propertyKey, attributes) {
anObject$x(target);
var key = toPropertyKey$1(propertyKey);
anObject$x(attributes);
try {
definePropertyModule$2.f(target, key, attributes);
return true;
} catch (error2) {
return false;
}
}
});
var $$1Z = _export;
var anObject$w = anObject$N;
var getOwnPropertyDescriptor$3 = objectGetOwnPropertyDescriptor.f;
$$1Z({
target: "Reflect",
stat: true
}, {
deleteProperty: function deleteProperty(target, propertyKey) {
var descriptor = getOwnPropertyDescriptor$3(anObject$w(target), propertyKey);
return descriptor && !descriptor.configurable ? false : delete target[propertyKey];
}
});
var hasOwn$7 = hasOwnProperty_1;
var isDataDescriptor$2 = function isDataDescriptor(descriptor) {
return descriptor !== void 0 && (hasOwn$7(descriptor, "value") || hasOwn$7(descriptor, "writable"));
};
var $$1Y = _export;
var call$v = functionCall;
var isObject$g = isObject$I;
var anObject$v = anObject$N;
var isDataDescriptor$1 = isDataDescriptor$2;
var getOwnPropertyDescriptorModule$3 = objectGetOwnPropertyDescriptor;
var getPrototypeOf$5 = objectGetPrototypeOf$2;
function get$2(target, propertyKey) {
var receiver = arguments.length < 3 ? target : arguments[2];
var descriptor, prototype2;
if (anObject$v(target) === receiver) return target[propertyKey];
descriptor = getOwnPropertyDescriptorModule$3.f(target, propertyKey);
if (descriptor) return isDataDescriptor$1(descriptor) ? descriptor.value : descriptor.get === void 0 ? void 0 : call$v(descriptor.get, receiver);
if (isObject$g(prototype2 = getPrototypeOf$5(target))) return get$2(prototype2, propertyKey, receiver);
}
$$1Y({
target: "Reflect",
stat: true
}, {
get: get$2
});
var $$1X = _export;
var DESCRIPTORS$a = descriptors;
var anObject$u = anObject$N;
var getOwnPropertyDescriptorModule$2 = objectGetOwnPropertyDescriptor;
$$1X({
target: "Reflect",
stat: true,
sham: !DESCRIPTORS$a
}, {
getOwnPropertyDescriptor: function getOwnPropertyDescriptor4(target, propertyKey) {
return getOwnPropertyDescriptorModule$2.f(anObject$u(target), propertyKey);
}
});
var $$1W = _export;
var anObject$t = anObject$N;
var objectGetPrototypeOf = objectGetPrototypeOf$2;
var CORRECT_PROTOTYPE_GETTER = correctPrototypeGetter;
$$1W({
target: "Reflect",
stat: true,
sham: !CORRECT_PROTOTYPE_GETTER
}, {
getPrototypeOf: function getPrototypeOf22(target) {
return objectGetPrototypeOf(anObject$t(target));
}
});
var $$1V = _export;
$$1V({
target: "Reflect",
stat: true
}, {
has: function has(target, propertyKey) {
return propertyKey in target;
}
});
var $$1U = _export;
var anObject$s = anObject$N;
var $isExtensible = objectIsExtensible;
$$1U({
target: "Reflect",
stat: true
}, {
isExtensible: function isExtensible2(target) {
anObject$s(target);
return $isExtensible(target);
}
});
var $$1T = _export;
var ownKeys2 = ownKeys$3;
$$1T({
target: "Reflect",
stat: true
}, {
ownKeys: ownKeys2
});
var $$1S = _export;
var getBuiltIn$9 = getBuiltIn$n;
var anObject$r = anObject$N;
var FREEZING$1 = freezing;
$$1S({
target: "Reflect",
stat: true,
sham: !FREEZING$1
}, {
preventExtensions: function preventExtensions2(target) {
anObject$r(target);
try {
var objectPreventExtensions = getBuiltIn$9("Object", "preventExtensions");
if (objectPreventExtensions) objectPreventExtensions(target);
return true;
} catch (error2) {
return false;
}
}
});
var $$1R = _export;
var call$u = functionCall;
var anObject$q = anObject$N;
var isObject$f = isObject$I;
var isDataDescriptor2 = isDataDescriptor$2;
var fails$p = fails$1e;
var definePropertyModule$1 = objectDefineProperty;
var getOwnPropertyDescriptorModule$1 = objectGetOwnPropertyDescriptor;
var getPrototypeOf$4 = objectGetPrototypeOf$2;
var createPropertyDescriptor$4 = createPropertyDescriptor$a;
function set$6(target, propertyKey, V) {
var receiver = arguments.length < 4 ? target : arguments[3];
var ownDescriptor = getOwnPropertyDescriptorModule$1.f(anObject$q(target), propertyKey);
var existingDescriptor, prototype2, setter;
if (!ownDescriptor) {
if (isObject$f(prototype2 = getPrototypeOf$4(target))) {
return set$6(prototype2, propertyKey, V, receiver);
}
ownDescriptor = createPropertyDescriptor$4(0);
}
if (isDataDescriptor2(ownDescriptor)) {
if (ownDescriptor.writable === false || !isObject$f(receiver)) return false;
if (existingDescriptor = getOwnPropertyDescriptorModule$1.f(receiver, propertyKey)) {
if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;
existingDescriptor.value = V;
definePropertyModule$1.f(receiver, propertyKey, existingDescriptor);
} else definePropertyModule$1.f(receiver, propertyKey, createPropertyDescriptor$4(0, V));
} else {
setter = ownDescriptor.set;
if (setter === void 0) return false;
call$u(setter, receiver, V);
}
return true;
}
var MS_EDGE_BUG = fails$p(function() {
var Constructor2 = function Constructor3() {
};
var object = definePropertyModule$1.f(new Constructor2(), "a", {
configurable: true
});
return Reflect.set(Constructor2.prototype, "a", 1, object) !== false;
});
$$1R({
target: "Reflect",
stat: true,
forced: MS_EDGE_BUG
}, {
set: set$6
});
var $$1Q = _export;
var anObject$p = anObject$N;
var aPossiblePrototype2 = aPossiblePrototype$2;
var objectSetPrototypeOf = objectSetPrototypeOf$1;
if (objectSetPrototypeOf) $$1Q({
target: "Reflect",
stat: true
}, {
setPrototypeOf: function setPrototypeOf(target, proto) {
anObject$p(target);
aPossiblePrototype2(proto);
try {
objectSetPrototypeOf(target, proto);
return true;
} catch (error2) {
return false;
}
}
});
var isObject$e = isObject$I;
var classof$6 = classofRaw$2;
var wellKnownSymbol$e = wellKnownSymbol$C;
var MATCH$2 = wellKnownSymbol$e("match");
var isRegexp = function isRegexp2(it) {
var isRegExp2;
return isObject$e(it) && ((isRegExp2 = it[MATCH$2]) !== void 0 ? !!isRegExp2 : classof$6(it) === "RegExp");
};
var anObject$o = anObject$N;
var regexpFlags$1 = function regexpFlags() {
var that = anObject$o(this);
var result = "";
if (that.hasIndices) result += "d";
if (that.global) result += "g";
if (that.ignoreCase) result += "i";
if (that.multiline) result += "m";
if (that.dotAll) result += "s";
if (that.unicode) result += "u";
if (that.unicodeSets) result += "v";
if (that.sticky) result += "y";
return result;
};
var call$t = functionCall;
var hasOwn$6 = hasOwnProperty_1;
var isPrototypeOf$3 = objectIsPrototypeOf;
var regExpFlags$1 = regexpFlags$1;
var RegExpPrototype$5 = RegExp.prototype;
var regexpGetFlags = function regexpGetFlags2(R2) {
var flags = R2.flags;
return flags === void 0 && !("flags" in RegExpPrototype$5) && !hasOwn$6(R2, "flags") && isPrototypeOf$3(RegExpPrototype$5, R2) ? call$t(regExpFlags$1, R2) : flags;
};
var fails$o = fails$1e;
var globalThis$q = globalThis_1;
var $RegExp$2 = globalThis$q.RegExp;
var UNSUPPORTED_Y$3 = fails$o(function() {
var re = $RegExp$2("a", "y");
re.lastIndex = 2;
return re.exec("abcd") !== null;
});
var MISSED_STICKY$1 = UNSUPPORTED_Y$3 || fails$o(function() {
return !$RegExp$2("a", "y").sticky;
});
var BROKEN_CARET = UNSUPPORTED_Y$3 || fails$o(function() {
var re = $RegExp$2("^r", "gy");
re.lastIndex = 2;
return re.exec("str") !== null;
});
var regexpStickyHelpers = {
BROKEN_CARET,
MISSED_STICKY: MISSED_STICKY$1,
UNSUPPORTED_Y: UNSUPPORTED_Y$3
};
var defineProperty$1 = objectDefineProperty.f;
var proxyAccessor$1 = function proxyAccessor(Target, Source, key) {
key in Target || defineProperty$1(Target, key, {
configurable: true,
get: function get6() {
return Source[key];
},
set: function set6(it) {
Source[key] = it;
}
});
};
var fails$n = fails$1e;
var globalThis$p = globalThis_1;
var $RegExp$1 = globalThis$p.RegExp;
var regexpUnsupportedDotAll = fails$n(function() {
var re = $RegExp$1(".", "s");
return !(re.dotAll && re.test("\n") && re.flags === "s");
});
var fails$m = fails$1e;
var globalThis$o = globalThis_1;
var $RegExp = globalThis$o.RegExp;
var regexpUnsupportedNcg = fails$m(function() {
var re = $RegExp("(?<a>b)", "g");
return re.exec("b").groups.a !== "b" || "b".replace(re, "$<a>c") !== "bc";
});
var DESCRIPTORS$9 = descriptors;
var globalThis$n = globalThis_1;
var uncurryThis$B = functionUncurryThis;
var isForced2 = isForced_1;
var inheritIfRequired$1 = inheritIfRequired$5;
var createNonEnumerableProperty$7 = createNonEnumerableProperty$d;
var create$6 = objectCreate;
var getOwnPropertyNames$1 = objectGetOwnPropertyNames.f;
var isPrototypeOf$2 = objectIsPrototypeOf;
var isRegExp$3 = isRegexp;
var toString$i = toString$t;
var getRegExpFlags$3 = regexpGetFlags;
var stickyHelpers$2 = regexpStickyHelpers;
var proxyAccessor2 = proxyAccessor$1;
var defineBuiltIn$6 = defineBuiltIn$l;
var fails$l = fails$1e;
var hasOwn$5 = hasOwnProperty_1;
var enforceInternalState$2 = internalState.enforce;
var setSpecies$2 = setSpecies$7;
var wellKnownSymbol$d = wellKnownSymbol$C;
var UNSUPPORTED_DOT_ALL$1 = regexpUnsupportedDotAll;
var UNSUPPORTED_NCG$1 = regexpUnsupportedNcg;
var MATCH$1 = wellKnownSymbol$d("match");
var NativeRegExp = globalThis$n.RegExp;
var RegExpPrototype$4 = NativeRegExp.prototype;
var SyntaxError$1 = globalThis$n.SyntaxError;
var exec$5 = uncurryThis$B(RegExpPrototype$4.exec);
var charAt$a = uncurryThis$B("".charAt);
var replace$7 = uncurryThis$B("".replace);
var stringIndexOf$3 = uncurryThis$B("".indexOf);
var stringSlice$a = uncurryThis$B("".slice);
var IS_NCG = /^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/;
var re1 = /a/g;
var re2 = /a/g;
var CORRECT_NEW = new NativeRegExp(re1) !== re1;
var MISSED_STICKY = stickyHelpers$2.MISSED_STICKY;
var UNSUPPORTED_Y$2 = stickyHelpers$2.UNSUPPORTED_Y;
var BASE_FORCED = DESCRIPTORS$9 && (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL$1 || UNSUPPORTED_NCG$1 || fails$l(function() {
re2[MATCH$1] = false;
return NativeRegExp(re1) !== re1 || NativeRegExp(re2) === re2 || String(NativeRegExp(re1, "i")) !== "/a/i";
}));
var handleDotAll = function handleDotAll2(string) {
var length = string.length;
var index2 = 0;
var result = "";
var brackets = false;
var chr;
for (; index2 <= length; index2++) {
chr = charAt$a(string, index2);
if (chr === "\\") {
result += chr + charAt$a(string, ++index2);
continue;
}
if (!brackets && chr === ".") {
result += "[\\s\\S]";
} else {
if (chr === "[") {
brackets = true;
} else if (chr === "]") {
brackets = false;
}
result += chr;
}
}
return result;
};
var handleNCG = function handleNCG2(string) {
var length = string.length;
var index2 = 0;
var result = "";
var named = [];
var names = create$6(null);
var brackets = false;
var ncg = false;
var groupid = 0;
var groupname = "";
var chr;
for (; index2 <= length; index2++) {
chr = charAt$a(string, index2);
if (chr === "\\") {
chr += charAt$a(string, ++index2);
} else if (chr === "]") {
brackets = false;
} else if (!brackets) switch (true) {
case chr === "[":
brackets = true;
break;
case chr === "(":
result += chr;
if (stringSlice$a(string, index2 + 1, index2 + 3) === "?:") {
continue;
}
if (exec$5(IS_NCG, stringSlice$a(string, index2 + 1))) {
index2 += 2;
ncg = true;
}
groupid++;
continue;
case (chr === ">" && ncg):
if (groupname === "" || hasOwn$5(names, groupname)) {
throw new SyntaxError$1("Invalid capture group name");
}
names[groupname] = true;
named[named.length] = [groupname, groupid];
ncg = false;
groupname = "";
continue;
}
if (ncg) groupname += chr;
else result += chr;
}
return [result, named];
};
if (isForced2("RegExp", BASE_FORCED)) {
var RegExpWrapper = function RegExp2(pattern, flags) {
var thisIsRegExp = isPrototypeOf$2(RegExpPrototype$4, this);
var patternIsRegExp = isRegExp$3(pattern);
var flagsAreUndefined = flags === void 0;
var groups = [];
var rawPattern = pattern;
var rawFlags, dotAll, sticky, handled, result, state;
if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {
return pattern;
}
if (patternIsRegExp || isPrototypeOf$2(RegExpPrototype$4, pattern)) {
pattern = pattern.source;
if (flagsAreUndefined) flags = getRegExpFlags$3(rawPattern);
}
pattern = pattern === void 0 ? "" : toString$i(pattern);
flags = flags === void 0 ? "" : toString$i(flags);
rawPattern = pattern;
if (UNSUPPORTED_DOT_ALL$1 && "dotAll" in re1) {
dotAll = !!flags && stringIndexOf$3(flags, "s") > -1;
if (dotAll) flags = replace$7(flags, /s/g, "");
}
rawFlags = flags;
if (MISSED_STICKY && "sticky" in re1) {
sticky = !!flags && stringIndexOf$3(flags, "y") > -1;
if (sticky && UNSUPPORTED_Y$2) flags = replace$7(flags, /y/g, "");
}
if (UNSUPPORTED_NCG$1) {
handled = handleNCG(pattern);
pattern = handled[0];
groups = handled[1];
}
result = inheritIfRequired$1(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype$4, RegExpWrapper);
if (dotAll || sticky || groups.length) {
state = enforceInternalState$2(result);
if (dotAll) {
state.dotAll = true;
state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);
}
if (sticky) state.sticky = true;
if (groups.length) state.groups = groups;
}
if (pattern !== rawPattern) try {
createNonEnumerableProperty$7(result, "source", rawPattern === "" ? "(?:)" : rawPattern);
} catch (error2) {
}
return result;
};
for (var keys$1 = getOwnPropertyNames$1(NativeRegExp), index$1 = 0; keys$1.length > index$1; ) {
proxyAccessor2(RegExpWrapper, NativeRegExp, keys$1[index$1++]);
}
RegExpPrototype$4.constructor = RegExpWrapper;
RegExpWrapper.prototype = RegExpPrototype$4;
defineBuiltIn$6(globalThis$n, "RegExp", RegExpWrapper, {
constructor: true
});
}
setSpecies$2("RegExp");
var call$s = functionCall;
var uncurryThis$A = functionUncurryThis;
var toString$h = toString$t;
var regexpFlags2 = regexpFlags$1;
var stickyHelpers$1 = regexpStickyHelpers;
var shared$1 = shared$8;
var create$5 = objectCreate;
var getInternalState$5 = internalState.get;
var UNSUPPORTED_DOT_ALL = regexpUnsupportedDotAll;
var UNSUPPORTED_NCG = regexpUnsupportedNcg;
var nativeReplace = shared$1("native-string-replace", String.prototype.replace);
var nativeExec = RegExp.prototype.exec;
var patchedExec = nativeExec;
var charAt$9 = uncurryThis$A("".charAt);
var indexOf$1 = uncurryThis$A("".indexOf);
var replace$6 = uncurryThis$A("".replace);
var stringSlice$9 = uncurryThis$A("".slice);
var UPDATES_LAST_INDEX_WRONG = function() {
var re12 = /a/;
var re22 = /b*/g;
call$s(nativeExec, re12, "a");
call$s(nativeExec, re22, "a");
return re12.lastIndex !== 0 || re22.lastIndex !== 0;
}();
var UNSUPPORTED_Y$1 = stickyHelpers$1.BROKEN_CARET;
var NPCG_INCLUDED = /()??/.exec("")[1] !== void 0;
var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1 || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;
if (PATCH) {
patchedExec = function exec2(string) {
var re = this;
var state = getInternalState$5(re);
var str = toString$h(string);
var raw2 = state.raw;
var result, reCopy, lastIndex, match2, i, object, group;
if (raw2) {
raw2.lastIndex = re.lastIndex;
result = call$s(patchedExec, raw2, str);
re.lastIndex = raw2.lastIndex;
return result;
}
var groups = state.groups;
var sticky = UNSUPPORTED_Y$1 && re.sticky;
var flags = call$s(regexpFlags2, re);
var source = re.source;
var charsAdded = 0;
var strCopy = str;
if (sticky) {
flags = replace$6(flags, "y", "");
if (indexOf$1(flags, "g") === -1) {
flags += "g";
}
strCopy = stringSlice$9(str, re.lastIndex);
if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt$9(str, re.lastIndex - 1) !== "\n")) {
source = "(?: " + source + ")";
strCopy = " " + strCopy;
charsAdded++;
}
reCopy = new RegExp("^(?:" + source + ")", flags);
}
if (NPCG_INCLUDED) {
reCopy = new RegExp("^" + source + "$(?!\\s)", flags);
}
if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
match2 = call$s(nativeExec, sticky ? reCopy : re, strCopy);
if (sticky) {
if (match2) {
match2.input = stringSlice$9(match2.input, charsAdded);
match2[0] = stringSlice$9(match2[0], charsAdded);
match2.index = re.lastIndex;
re.lastIndex += match2[0].length;
} else re.lastIndex = 0;
} else if (UPDATES_LAST_INDEX_WRONG && match2) {
re.lastIndex = re.global ? match2.index + match2[0].length : lastIndex;
}
if (NPCG_INCLUDED && match2 && match2.length > 1) {
call$s(nativeReplace, match2[0], reCopy, function() {
for (i = 1; i < arguments.length - 2; i++) {
if (arguments[i] === void 0) match2[i] = void 0;
}
});
}
if (match2 && groups) {
match2.groups = object = create$5(null);
for (i = 0; i < groups.length; i++) {
group = groups[i];
object[group[0]] = match2[group[1]];
}
}
return match2;
};
}
var regexpExec$2 = patchedExec;
var $$1P = _export;
var exec$4 = regexpExec$2;
$$1P({
target: "RegExp",
proto: true,
forced: /./.exec !== exec$4
}, {
exec: exec$4
});
var globalThis$m = globalThis_1;
var DESCRIPTORS$8 = descriptors;
var defineBuiltInAccessor$6 = defineBuiltInAccessor$e;
var regExpFlags = regexpFlags$1;
var fails$k = fails$1e;
var RegExp$1 = globalThis$m.RegExp;
var RegExpPrototype$3 = RegExp$1.prototype;
var FORCED$3 = DESCRIPTORS$8 && fails$k(function() {
var INDICES_SUPPORT = true;
try {
RegExp$1(".", "d");
} catch (error2) {
INDICES_SUPPORT = false;
}
var O = {};
var calls = "";
var expected = INDICES_SUPPORT ? "dgimsy" : "gimsy";
var addGetter4 = function addGetter5(key2, chr) {
Object.defineProperty(O, key2, {
get: function get6() {
calls += chr;
return true;
}
});
};
var pairs = {
dotAll: "s",
global: "g",
ignoreCase: "i",
multiline: "m",
sticky: "y"
};
if (INDICES_SUPPORT) pairs.hasIndices = "d";
for (var key in pairs) addGetter4(key, pairs[key]);
var result = Object.getOwnPropertyDescriptor(RegExpPrototype$3, "flags").get.call(O);
return result !== expected || calls !== expected;
});
if (FORCED$3) defineBuiltInAccessor$6(RegExpPrototype$3, "flags", {
configurable: true,
get: regExpFlags
});
var PROPER_FUNCTION_NAME$1 = functionName.PROPER;
var defineBuiltIn$5 = defineBuiltIn$l;
var anObject$n = anObject$N;
var $toString$2 = toString$t;
var fails$j = fails$1e;
var getRegExpFlags$2 = regexpGetFlags;
var TO_STRING = "toString";
var RegExpPrototype$2 = RegExp.prototype;
var nativeToString = RegExpPrototype$2[TO_STRING];
var NOT_GENERIC = fails$j(function() {
return nativeToString.call({
source: "a",
flags: "b"
}) !== "/a/b";
});
var INCORRECT_NAME = PROPER_FUNCTION_NAME$1 && nativeToString.name !== TO_STRING;
if (NOT_GENERIC || INCORRECT_NAME) {
defineBuiltIn$5(RegExpPrototype$2, TO_STRING, function toString7() {
var R2 = anObject$n(this);
var pattern = $toString$2(R2.source);
var flags = $toString$2(getRegExpFlags$2(R2));
return "/" + pattern + "/" + flags;
}, {
unsafe: true
});
}
var collection$2 = collection$4;
var collectionStrong = collectionStrong$2;
collection$2("Set", function(init) {
return function Set2() {
return init(this, arguments.length ? arguments[0] : void 0);
};
}, collectionStrong);
var uncurryThis$z = functionUncurryThis;
var toIntegerOrInfinity$5 = toIntegerOrInfinity$f;
var toString$g = toString$t;
var requireObjectCoercible$d = requireObjectCoercible$k;
var charAt$8 = uncurryThis$z("".charAt);
var charCodeAt$1 = uncurryThis$z("".charCodeAt);
var stringSlice$8 = uncurryThis$z("".slice);
var createMethod7 = function createMethod8(CONVERT_TO_STRING) {
return function($this, pos) {
var S = toString$g(requireObjectCoercible$d($this));
var position = toIntegerOrInfinity$5(pos);
var size3 = S.length;
var first, second;
if (position < 0 || position >= size3) return CONVERT_TO_STRING ? "" : void 0;
first = charCodeAt$1(S, position);
return first < 55296 || first > 56319 || position + 1 === size3 || (second = charCodeAt$1(S, position + 1)) < 56320 || second > 57343 ? CONVERT_TO_STRING ? charAt$8(S, position) : first : CONVERT_TO_STRING ? stringSlice$8(S, position, position + 2) : (first - 55296 << 10) + (second - 56320) + 65536;
};
};
var stringMultibyte = {
// `String.prototype.codePointAt` method
// https://tc39.es/ecma262/#sec-string.prototype.codepointat
codeAt: createMethod7(false),
// `String.prototype.at` method
// https://github.com/mathiasbynens/String.prototype.at
charAt: createMethod7(true)
};
var $$1O = _export;
var codeAt$2 = stringMultibyte.codeAt;
$$1O({
target: "String",
proto: true
}, {
codePointAt: function codePointAt(pos) {
return codeAt$2(this, pos);
}
});
var isRegExp$2 = isRegexp;
var $TypeError$c = TypeError;
var notARegexp = function notARegexp2(it) {
if (isRegExp$2(it)) {
throw new $TypeError$c("The method doesn't accept regular expressions");
}
return it;
};
var wellKnownSymbol$c = wellKnownSymbol$C;
var MATCH = wellKnownSymbol$c("match");
var correctIsRegexpLogic = function correctIsRegexpLogic2(METHOD_NAME) {
var regexp = /./;
try {
"/./"[METHOD_NAME](regexp);
} catch (error1) {
try {
regexp[MATCH] = false;
return "/./"[METHOD_NAME](regexp);
} catch (error2) {
}
}
return false;
};
var $$1N = _export;
var uncurryThis$y = functionUncurryThisClause;
var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f;
var toLength$7 = toLength$d;
var toString$f = toString$t;
var notARegExp$2 = notARegexp;
var requireObjectCoercible$c = requireObjectCoercible$k;
var correctIsRegExpLogic$2 = correctIsRegexpLogic;
var slice$2 = uncurryThis$y("".slice);
var min$3 = Math.min;
var CORRECT_IS_REGEXP_LOGIC$1 = correctIsRegExpLogic$2("endsWith");
var MDN_POLYFILL_BUG$1 = !CORRECT_IS_REGEXP_LOGIC$1 && !!function() {
var descriptor = getOwnPropertyDescriptor$2(String.prototype, "endsWith");
return descriptor && !descriptor.writable;
}();
$$1N({
target: "String",
proto: true,
forced: !MDN_POLYFILL_BUG$1 && !CORRECT_IS_REGEXP_LOGIC$1
}, {
endsWith: function endsWith2(searchString) {
var that = toString$f(requireObjectCoercible$c(this));
notARegExp$2(searchString);
var endPosition = arguments.length > 1 ? arguments[1] : void 0;
var len = that.length;
var end = endPosition === void 0 ? len : min$3(toLength$7(endPosition), len);
var search = toString$f(searchString);
return slice$2(that, end - search.length, end) === search;
}
});
var $$1M = _export;
var uncurryThis$x = functionUncurryThis;
var toAbsoluteIndex$1 = toAbsoluteIndex$8;
var $RangeError$7 = RangeError;
var fromCharCode$2 = String.fromCharCode;
var $fromCodePoint = String.fromCodePoint;
var join$5 = uncurryThis$x([].join);
var INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length !== 1;
$$1M({
target: "String",
stat: true,
arity: 1,
forced: INCORRECT_LENGTH
}, {
// eslint-disable-next-line no-unused-vars -- required for `.length`
fromCodePoint: function fromCodePoint(x) {
var elements = [];
var length = arguments.length;
var i = 0;
var code;
while (length > i) {
code = +arguments[i++];
if (toAbsoluteIndex$1(code, 1114111) !== code) throw new $RangeError$7(code + " is not a valid code point");
elements[i] = code < 65536 ? fromCharCode$2(code) : fromCharCode$2(((code -= 65536) >> 10) + 55296, code % 1024 + 56320);
}
return join$5(elements, "");
}
});
var $$1L = _export;
var uncurryThis$w = functionUncurryThis;
var notARegExp$1 = notARegexp;
var requireObjectCoercible$b = requireObjectCoercible$k;
var toString$e = toString$t;
var correctIsRegExpLogic$1 = correctIsRegexpLogic;
var stringIndexOf$2 = uncurryThis$w("".indexOf);
$$1L({
target: "String",
proto: true,
forced: !correctIsRegExpLogic$1("includes")
}, {
includes: function includes2(searchString) {
return !!~stringIndexOf$2(toString$e(requireObjectCoercible$b(this)), toString$e(notARegExp$1(searchString)), arguments.length > 1 ? arguments[1] : void 0);
}
});
var charAt$7 = stringMultibyte.charAt;
var toString$d = toString$t;
var InternalStateModule$8 = internalState;
var defineIterator = iteratorDefine;
var createIterResultObject$4 = createIterResultObject$7;
var STRING_ITERATOR$1 = "String Iterator";
var setInternalState$8 = InternalStateModule$8.set;
var getInternalState$4 = InternalStateModule$8.getterFor(STRING_ITERATOR$1);
defineIterator(String, "String", function(iterated) {
setInternalState$8(this, {
type: STRING_ITERATOR$1,
string: toString$d(iterated),
index: 0
});
}, function next() {
var state = getInternalState$4(this);
var string = state.string;
var index2 = state.index;
var point;
if (index2 >= string.length) return createIterResultObject$4(void 0, true);
point = charAt$7(string, index2);
state.index += point.length;
return createIterResultObject$4(point, false);
});
var call$r = functionCall;
var defineBuiltIn$4 = defineBuiltIn$l;
var regexpExec$1 = regexpExec$2;
var fails$i = fails$1e;
var wellKnownSymbol$b = wellKnownSymbol$C;
var createNonEnumerableProperty$6 = createNonEnumerableProperty$d;
var SPECIES = wellKnownSymbol$b("species");
var RegExpPrototype$1 = RegExp.prototype;
var fixRegexpWellKnownSymbolLogic = function fixRegexpWellKnownSymbolLogic2(KEY, exec2, FORCED2, SHAM) {
var SYMBOL2 = wellKnownSymbol$b(KEY);
var DELEGATES_TO_SYMBOL = !fails$i(function() {
var O = {};
O[SYMBOL2] = function() {
return 7;
};
return ""[KEY](O) !== 7;
});
var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails$i(function() {
var execCalled = false;
var re = /a/;
if (KEY === "split") {
re = {};
re.constructor = {};
re.constructor[SPECIES] = function() {
return re;
};
re.flags = "";
re[SYMBOL2] = /./[SYMBOL2];
}
re.exec = function() {
execCalled = true;
return null;
};
re[SYMBOL2]("");
return !execCalled;
});
if (!DELEGATES_TO_SYMBOL || !DELEGATES_TO_EXEC || FORCED2) {
var nativeRegExpMethod = /./[SYMBOL2];
var methods = exec2(SYMBOL2, ""[KEY], function(nativeMethod, regexp, str, arg2, forceStringMethod) {
var $exec = regexp.exec;
if ($exec === regexpExec$1 || $exec === RegExpPrototype$1.exec) {
if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
return {
done: true,
value: call$r(nativeRegExpMethod, regexp, str, arg2)
};
}
return {
done: true,
value: call$r(nativeMethod, str, regexp, arg2)
};
}
return {
done: false
};
});
defineBuiltIn$4(String.prototype, KEY, methods[0]);
defineBuiltIn$4(RegExpPrototype$1, SYMBOL2, methods[1]);
}
if (SHAM) createNonEnumerableProperty$6(RegExpPrototype$1[SYMBOL2], "sham", true);
};
var charAt$6 = stringMultibyte.charAt;
var advanceStringIndex$4 = function advanceStringIndex(S, index2, unicode) {
return index2 + (unicode ? charAt$6(S, index2).length : 1);
};
var call$q = functionCall;
var anObject$m = anObject$N;
var isCallable$7 = isCallable$z;
var classof$5 = classofRaw$2;
var regexpExec = regexpExec$2;
var $TypeError$b = TypeError;
var regexpExecAbstract = function regexpExecAbstract2(R2, S) {
var exec2 = R2.exec;
if (isCallable$7(exec2)) {
var result = call$q(exec2, R2, S);
if (result !== null) anObject$m(result);
return result;
}
if (classof$5(R2) === "RegExp") return call$q(regexpExec, R2, S);
throw new $TypeError$b("RegExp#exec called on incompatible receiver");
};
var call$p = functionCall;
var fixRegExpWellKnownSymbolLogic$3 = fixRegexpWellKnownSymbolLogic;
var anObject$l = anObject$N;
var isObject$d = isObject$I;
var toLength$6 = toLength$d;
var toString$c = toString$t;
var requireObjectCoercible$a = requireObjectCoercible$k;
var getMethod$7 = getMethod$b;
var advanceStringIndex$3 = advanceStringIndex$4;
var regExpExec$4 = regexpExecAbstract;
fixRegExpWellKnownSymbolLogic$3("match", function(MATCH2, nativeMatch, maybeCallNative) {
return [
// `String.prototype.match` method
// https://tc39.es/ecma262/#sec-string.prototype.match
function match2(regexp) {
var O = requireObjectCoercible$a(this);
var matcher = isObject$d(regexp) ? getMethod$7(regexp, MATCH2) : void 0;
return matcher ? call$p(matcher, regexp, O) : new RegExp(regexp)[MATCH2](toString$c(O));
},
// `RegExp.prototype[@@match]` method
// https://tc39.es/ecma262/#sec-regexp.prototype-@@match
function(string) {
var rx = anObject$l(this);
var S = toString$c(string);
var res = maybeCallNative(nativeMatch, rx, S);
if (res.done) return res.value;
if (!rx.global) return regExpExec$4(rx, S);
var fullUnicode = rx.unicode;
rx.lastIndex = 0;
var A2 = [];
var n = 0;
var result;
while ((result = regExpExec$4(rx, S)) !== null) {
var matchStr = toString$c(result[0]);
A2[n] = matchStr;
if (matchStr === "") rx.lastIndex = advanceStringIndex$3(S, toLength$6(rx.lastIndex), fullUnicode);
n++;
}
return n === 0 ? null : A2;
}
];
});
var userAgent = environmentUserAgent;
var stringPadWebkitBug = /Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(userAgent);
var $$1K = _export;
var $padEnd = stringPad.end;
var WEBKIT_BUG$1 = stringPadWebkitBug;
$$1K({
target: "String",
proto: true,
forced: WEBKIT_BUG$1
}, {
padEnd: function padEnd(maxLength) {
return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : void 0);
}
});
var $$1J = _export;
var $padStart = stringPad.start;
var WEBKIT_BUG = stringPadWebkitBug;
$$1J({
target: "String",
proto: true,
forced: WEBKIT_BUG
}, {
padStart: function padStart2(maxLength) {
return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : void 0);
}
});
var $$1I = _export;
var uncurryThis$v = functionUncurryThis;
var toIndexedObject$1 = toIndexedObject$f;
var toObject$6 = toObject$s;
var toString$b = toString$t;
var lengthOfArrayLike$6 = lengthOfArrayLike$m;
var push$a = uncurryThis$v([].push);
var join$4 = uncurryThis$v([].join);
$$1I({
target: "String",
stat: true
}, {
raw: function raw(template) {
var rawTemplate = toIndexedObject$1(toObject$6(template).raw);
var literalSegments = lengthOfArrayLike$6(rawTemplate);
if (!literalSegments) return "";
var argumentsLength = arguments.length;
var elements = [];
var i = 0;
while (true) {
push$a(elements, toString$b(rawTemplate[i++]));
if (i === literalSegments) return join$4(elements, "");
if (i < argumentsLength) push$a(elements, toString$b(arguments[i]));
}
}
});
var $$1H = _export;
var repeat2 = stringRepeat;
$$1H({
target: "String",
proto: true
}, {
repeat: repeat2
});
var uncurryThis$u = functionUncurryThis;
var toObject$5 = toObject$s;
var floor$3 = Math.floor;
var charAt$5 = uncurryThis$u("".charAt);
var replace$5 = uncurryThis$u("".replace);
var stringSlice$7 = uncurryThis$u("".slice);
var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
var getSubstitution$2 = function getSubstitution(matched, str, position, captures, namedCaptures, replacement2) {
var tailPos = position + matched.length;
var m = captures.length;
var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
if (namedCaptures !== void 0) {
namedCaptures = toObject$5(namedCaptures);
symbols = SUBSTITUTION_SYMBOLS;
}
return replace$5(replacement2, symbols, function(match2, ch) {
var capture;
switch (charAt$5(ch, 0)) {
case "$":
return "$";
case "&":
return matched;
case "`":
return stringSlice$7(str, 0, position);
case "'":
return stringSlice$7(str, tailPos);
case "<":
capture = namedCaptures[stringSlice$7(ch, 1, -1)];
break;
default:
var n = +ch;
if (n === 0) return match2;
if (n > m) {
var f = floor$3(n / 10);
if (f === 0) return match2;
if (f <= m) return captures[f - 1] === void 0 ? charAt$5(ch, 1) : captures[f - 1] + charAt$5(ch, 1);
return match2;
}
capture = captures[n - 1];
}
return capture === void 0 ? "" : capture;
});
};
var apply$6 = functionApply$1;
var call$o = functionCall;
var uncurryThis$t = functionUncurryThis;
var fixRegExpWellKnownSymbolLogic$2 = fixRegexpWellKnownSymbolLogic;
var fails$h = fails$1e;
var anObject$k = anObject$N;
var isCallable$6 = isCallable$z;
var isObject$c = isObject$I;
var toIntegerOrInfinity$4 = toIntegerOrInfinity$f;
var toLength$5 = toLength$d;
var toString$a = toString$t;
var requireObjectCoercible$9 = requireObjectCoercible$k;
var advanceStringIndex$2 = advanceStringIndex$4;
var getMethod$6 = getMethod$b;
var getSubstitution$1 = getSubstitution$2;
var regExpExec$3 = regexpExecAbstract;
var wellKnownSymbol$a = wellKnownSymbol$C;
var REPLACE$1 = wellKnownSymbol$a("replace");
var max$2 = Math.max;
var min$2 = Math.min;
var concat$1 = uncurryThis$t([].concat);
var push$9 = uncurryThis$t([].push);
var stringIndexOf$1 = uncurryThis$t("".indexOf);
var stringSlice$6 = uncurryThis$t("".slice);
var maybeToString = function maybeToString2(it) {
return it === void 0 ? it : String(it);
};
var REPLACE_KEEPS_$0 = function() {
return "a".replace(/./, "$0") === "$0";
}();
var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = function() {
if (/./[REPLACE$1]) {
return /./[REPLACE$1]("a", "$0") === "";
}
return false;
}();
var REPLACE_SUPPORTS_NAMED_GROUPS = !fails$h(function() {
var re = /./;
re.exec = function() {
var result = [];
result.groups = {
a: "7"
};
return result;
};
return "".replace(re, "$<a>") !== "7";
});
fixRegExpWellKnownSymbolLogic$2("replace", function(_, nativeReplace2, maybeCallNative) {
var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? "$" : "$0";
return [
// `String.prototype.replace` method
// https://tc39.es/ecma262/#sec-string.prototype.replace
function replace2(searchValue, replaceValue) {
var O = requireObjectCoercible$9(this);
var replacer3 = isObject$c(searchValue) ? getMethod$6(searchValue, REPLACE$1) : void 0;
return replacer3 ? call$o(replacer3, searchValue, O, replaceValue) : call$o(nativeReplace2, toString$a(O), searchValue, replaceValue);
},
// `RegExp.prototype[@@replace]` method
// https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
function(string, replaceValue) {
var rx = anObject$k(this);
var S = toString$a(string);
if (typeof replaceValue == "string" && stringIndexOf$1(replaceValue, UNSAFE_SUBSTITUTE) === -1 && stringIndexOf$1(replaceValue, "$<") === -1) {
var res = maybeCallNative(nativeReplace2, rx, S, replaceValue);
if (res.done) return res.value;
}
var functionalReplace = isCallable$6(replaceValue);
if (!functionalReplace) replaceValue = toString$a(replaceValue);
var global2 = rx.global;
var fullUnicode;
if (global2) {
fullUnicode = rx.unicode;
rx.lastIndex = 0;
}
var results = [];
var result;
while (true) {
result = regExpExec$3(rx, S);
if (result === null) break;
push$9(results, result);
if (!global2) break;
var matchStr = toString$a(result[0]);
if (matchStr === "") rx.lastIndex = advanceStringIndex$2(S, toLength$5(rx.lastIndex), fullUnicode);
}
var accumulatedResult = "";
var nextSourcePosition = 0;
for (var i = 0; i < results.length; i++) {
result = results[i];
var matched = toString$a(result[0]);
var position = max$2(min$2(toIntegerOrInfinity$4(result.index), S.length), 0);
var captures = [];
var replacement2;
for (var j = 1; j < result.length; j++) push$9(captures, maybeToString(result[j]));
var namedCaptures = result.groups;
if (functionalReplace) {
var replacerArgs = concat$1([matched], captures, position, S);
if (namedCaptures !== void 0) push$9(replacerArgs, namedCaptures);
replacement2 = toString$a(apply$6(replaceValue, void 0, replacerArgs));
} else {
replacement2 = getSubstitution$1(matched, S, position, captures, namedCaptures, replaceValue);
}
if (position >= nextSourcePosition) {
accumulatedResult += stringSlice$6(S, nextSourcePosition, position) + replacement2;
nextSourcePosition = position + matched.length;
}
}
return accumulatedResult + stringSlice$6(S, nextSourcePosition);
}
];
}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);
var call$n = functionCall;
var fixRegExpWellKnownSymbolLogic$1 = fixRegexpWellKnownSymbolLogic;
var anObject$j = anObject$N;
var isObject$b = isObject$I;
var requireObjectCoercible$8 = requireObjectCoercible$k;
var sameValue$1 = sameValue$2;
var toString$9 = toString$t;
var getMethod$5 = getMethod$b;
var regExpExec$2 = regexpExecAbstract;
fixRegExpWellKnownSymbolLogic$1("search", function(SEARCH, nativeSearch, maybeCallNative) {
return [
// `String.prototype.search` method
// https://tc39.es/ecma262/#sec-string.prototype.search
function search(regexp) {
var O = requireObjectCoercible$8(this);
var searcher = isObject$b(regexp) ? getMethod$5(regexp, SEARCH) : void 0;
return searcher ? call$n(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString$9(O));
},
// `RegExp.prototype[@@search]` method
// https://tc39.es/ecma262/#sec-regexp.prototype-@@search
function(string) {
var rx = anObject$j(this);
var S = toString$9(string);
var res = maybeCallNative(nativeSearch, rx, S);
if (res.done) return res.value;
var previousLastIndex = rx.lastIndex;
if (!sameValue$1(previousLastIndex, 0)) rx.lastIndex = 0;
var result = regExpExec$2(rx, S);
if (!sameValue$1(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;
return result === null ? -1 : result.index;
}
];
});
var call$m = functionCall;
var uncurryThis$s = functionUncurryThis;
var fixRegExpWellKnownSymbolLogic = fixRegexpWellKnownSymbolLogic;
var anObject$i = anObject$N;
var isObject$a = isObject$I;
var requireObjectCoercible$7 = requireObjectCoercible$k;
var speciesConstructor$1 = speciesConstructor$4;
var advanceStringIndex$1 = advanceStringIndex$4;
var toLength$4 = toLength$d;
var toString$8 = toString$t;
var getMethod$4 = getMethod$b;
var regExpExec$1 = regexpExecAbstract;
var stickyHelpers = regexpStickyHelpers;
var fails$g = fails$1e;
var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;
var MAX_UINT32 = 4294967295;
var min$1 = Math.min;
var push$8 = uncurryThis$s([].push);
var stringSlice$5 = uncurryThis$s("".slice);
var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails$g(function() {
var re = /(?:)/;
var originalExec = re.exec;
re.exec = function() {
return originalExec.apply(this, arguments);
};
var result = "ab".split(re);
return result.length !== 2 || result[0] !== "a" || result[1] !== "b";
});
var BUGGY = "abbc".split(/(b)*/)[1] === "c" || // eslint-disable-next-line regexp/no-empty-group -- required for testing
"test".split(/(?:)/, -1).length !== 4 || "ab".split(/(?:ab)*/).length !== 2 || ".".split(/(.?)(.?)/).length !== 4 || // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing
".".split(/()()/).length > 1 || "".split(/.?/).length;
fixRegExpWellKnownSymbolLogic("split", function(SPLIT, nativeSplit, maybeCallNative) {
var internalSplit = "0".split(void 0, 0).length ? function(separator, limit) {
return separator === void 0 && limit === 0 ? [] : call$m(nativeSplit, this, separator, limit);
} : nativeSplit;
return [
// `String.prototype.split` method
// https://tc39.es/ecma262/#sec-string.prototype.split
function split2(separator, limit) {
var O = requireObjectCoercible$7(this);
var splitter = isObject$a(separator) ? getMethod$4(separator, SPLIT) : void 0;
return splitter ? call$m(splitter, separator, O, limit) : call$m(internalSplit, toString$8(O), separator, limit);
},
// `RegExp.prototype[@@split]` method
// https://tc39.es/ecma262/#sec-regexp.prototype-@@split
//
// NOTE: This cannot be properly polyfilled in engines that don't support
// the 'y' flag.
function(string, limit) {
var rx = anObject$i(this);
var S = toString$8(string);
if (!BUGGY) {
var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);
if (res.done) return res.value;
}
var C = speciesConstructor$1(rx, RegExp);
var unicodeMatching = rx.unicode;
var flags = (rx.ignoreCase ? "i" : "") + (rx.multiline ? "m" : "") + (rx.unicode ? "u" : "") + (UNSUPPORTED_Y ? "g" : "y");
var splitter = new C(UNSUPPORTED_Y ? "^(?:" + rx.source + ")" : rx, flags);
var lim = limit === void 0 ? MAX_UINT32 : limit >>> 0;
if (lim === 0) return [];
if (S.length === 0) return regExpExec$1(splitter, S) === null ? [S] : [];
var p = 0;
var q = 0;
var A2 = [];
while (q < S.length) {
splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;
var z2 = regExpExec$1(splitter, UNSUPPORTED_Y ? stringSlice$5(S, q) : S);
var e;
if (z2 === null || (e = min$1(toLength$4(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p) {
q = advanceStringIndex$1(S, q, unicodeMatching);
} else {
push$8(A2, stringSlice$5(S, p, q));
if (A2.length === lim) return A2;
for (var i = 1; i <= z2.length - 1; i++) {
push$8(A2, z2[i]);
if (A2.length === lim) return A2;
}
q = p = e;
}
}
push$8(A2, stringSlice$5(S, p));
return A2;
}
];
}, BUGGY || !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);
var $$1G = _export;
var uncurryThis$r = functionUncurryThisClause;
var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
var toLength$3 = toLength$d;
var toString$7 = toString$t;
var notARegExp = notARegexp;
var requireObjectCoercible$6 = requireObjectCoercible$k;
var correctIsRegExpLogic = correctIsRegexpLogic;
var stringSlice$4 = uncurryThis$r("".slice);
var min = Math.min;
var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic("startsWith");
var MDN_POLYFILL_BUG = !CORRECT_IS_REGEXP_LOGIC && !!function() {
var descriptor = getOwnPropertyDescriptor$1(String.prototype, "startsWith");
return descriptor && !descriptor.writable;
}();
$$1G({
target: "String",
proto: true,
forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC
}, {
startsWith: function startsWith(searchString) {
var that = toString$7(requireObjectCoercible$6(this));
notARegExp(searchString);
var index2 = toLength$3(min(arguments.length > 1 ? arguments[1] : void 0, that.length));
var search = toString$7(searchString);
return stringSlice$4(that, index2, index2 + search.length) === search;
}
});
var PROPER_FUNCTION_NAME = functionName.PROPER;
var fails$f = fails$1e;
var whitespaces = whitespaces$4;
var non = "
";
var stringTrimForced = function stringTrimForced2(METHOD_NAME) {
return fails$f(function() {
return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() !== non || PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME;
});
};
var $$1F = _export;
var $trim = stringTrim.trim;
var forcedStringTrimMethod$2 = stringTrimForced;
$$1F({
target: "String",
proto: true,
forced: forcedStringTrimMethod$2("trim")
}, {
trim: function trim2() {
return $trim(this);
}
});
var $trimEnd = stringTrim.end;
var forcedStringTrimMethod$1 = stringTrimForced;
var stringTrimEnd = forcedStringTrimMethod$1("trimEnd") ? function trimEnd() {
return $trimEnd(this);
} : "".trimEnd;
var $$1E = _export;
var trimEnd$1 = stringTrimEnd;
$$1E({
target: "String",
proto: true,
name: "trimEnd",
forced: "".trimRight !== trimEnd$1
}, {
trimRight: trimEnd$1
});
var $$1D = _export;
var trimEnd2 = stringTrimEnd;
$$1D({
target: "String",
proto: true,
name: "trimEnd",
forced: "".trimEnd !== trimEnd2
}, {
trimEnd: trimEnd2
});
var $trimStart = stringTrim.start;
var forcedStringTrimMethod = stringTrimForced;
var stringTrimStart = forcedStringTrimMethod("trimStart") ? function trimStart() {
return $trimStart(this);
} : "".trimStart;
var $$1C = _export;
var trimStart$1 = stringTrimStart;
$$1C({
target: "String",
proto: true,
name: "trimStart",
forced: "".trimLeft !== trimStart$1
}, {
trimLeft: trimStart$1
});
var $$1B = _export;
var trimStart2 = stringTrimStart;
$$1B({
target: "String",
proto: true,
name: "trimStart",
forced: "".trimStart !== trimStart2
}, {
trimStart: trimStart2
});
var uncurryThis$q = functionUncurryThis;
var requireObjectCoercible$5 = requireObjectCoercible$k;
var toString$6 = toString$t;
var quot = /"/g;
var replace$4 = uncurryThis$q("".replace);
var createHtml = function createHtml2(string, tag, attribute, value) {
var S = toString$6(requireObjectCoercible$5(string));
var p1 = "<" + tag;
if (attribute !== "") p1 += " " + attribute + '="' + replace$4(toString$6(value), quot, """) + '"';
return p1 + ">" + S + "</" + tag + ">";
};
var fails$e = fails$1e;
var stringHtmlForced = function stringHtmlForced2(METHOD_NAME) {
return fails$e(function() {
var test2 = ""[METHOD_NAME]('"');
return test2 !== test2.toLowerCase() || test2.split('"').length > 3;
});
};
var $$1A = _export;
var createHTML$c = createHtml;
var forcedStringHTMLMethod$c = stringHtmlForced;
$$1A({
target: "String",
proto: true,
forced: forcedStringHTMLMethod$c("anchor")
}, {
anchor: function anchor(name2) {
return createHTML$c(this, "a", "name", name2);
}
});
var $$1z = _export;
var createHTML$b = createHtml;
var forcedStringHTMLMethod$b = stringHtmlForced;
$$1z({
target: "String",
proto: true,
forced: forcedStringHTMLMethod$b("big")
}, {
big: function big() {
return createHTML$b(this, "big", "", "");
}
});
var $$1y = _export;
var createHTML$a = createHtml;
var forcedStringHTMLMethod$a = stringHtmlForced;
$$1y({
target: "String",
proto: true,
forced: forcedStringHTMLMethod$a("blink")
}, {
blink: function blink() {
return createHTML$a(this, "blink", "", "");
}
});
var $$1x = _export;
var createHTML$9 = createHtml;
var forcedStringHTMLMethod$9 = stringHtmlForced;
$$1x({
target: "String",
proto: true,
forced: forcedStringHTMLMethod$9("bold")
}, {
bold: function bold() {
return createHTML$9(this, "b", "", "");
}
});
var $$1w = _export;
var createHTML$8 = createHtml;
var forcedStringHTMLMethod$8 = stringHtmlForced;
$$1w({
target: "String",
proto: true,
forced: forcedStringHTMLMethod$8("fixed")
}, {
fixed: function fixed() {
return createHTML$8(this, "tt", "", "");
}
});
var $$1v = _export;
var createHTML$7 = createHtml;
var forcedStringHTMLMethod$7 = stringHtmlForced;
$$1v({
target: "String",
proto: true,
forced: forcedStringHTMLMethod$7("fontcolor")
}, {
fontcolor: function fontcolor(color) {
return createHTML$7(this, "font", "color", color);
}
});
var $$1u = _export;
var createHTML$6 = createHtml;
var forcedStringHTMLMethod$6 = stringHtmlForced;
$$1u({
target: "String",
proto: true,
forced: forcedStringHTMLMethod$6("fontsize")
}, {
fontsize: function fontsize(size3) {
return createHTML$6(this, "font", "size", size3);
}
});
var $$1t = _export;
var createHTML$5 = createHtml;
var forcedStringHTMLMethod$5 = stringHtmlForced;
$$1t({
target: "String",
proto: true,
forced: forcedStringHTMLMethod$5("italics")
}, {
italics: function italics() {
return createHTML$5(this, "i", "", "");
}
});
var $$1s = _export;
var createHTML$4 = createHtml;
var forcedStringHTMLMethod$4 = stringHtmlForced;
$$1s({
target: "String",
proto: true,
forced: forcedStringHTMLMethod$4("link")
}, {
link: function link(url) {
return createHTML$4(this, "a", "href", url);
}
});
var $$1r = _export;
var createHTML$3 = createHtml;
var forcedStringHTMLMethod$3 = stringHtmlForced;
$$1r({
target: "String",
proto: true,
forced: forcedStringHTMLMethod$3("small")
}, {
small: function small() {
return createHTML$3(this, "small", "", "");
}
});
var $$1q = _export;
var createHTML$2 = createHtml;
var forcedStringHTMLMethod$2 = stringHtmlForced;
$$1q({
target: "String",
proto: true,
forced: forcedStringHTMLMethod$2("strike")
}, {
strike: function strike() {
return createHTML$2(this, "strike", "", "");
}
});
var $$1p = _export;
var createHTML$1 = createHtml;
var forcedStringHTMLMethod$1 = stringHtmlForced;
$$1p({
target: "String",
proto: true,
forced: forcedStringHTMLMethod$1("sub")
}, {
sub: function sub() {
return createHTML$1(this, "sub", "", "");
}
});
var $$1o = _export;
var createHTML = createHtml;
var forcedStringHTMLMethod = stringHtmlForced;
$$1o({
target: "String",
proto: true,
forced: forcedStringHTMLMethod("sup")
}, {
sup: function sup() {
return createHTML(this, "sup", "", "");
}
});
var typedArrayConstructor = { exports: {} };
var globalThis$l = globalThis_1;
var fails$d = fails$1e;
var checkCorrectnessOfIteration2 = checkCorrectnessOfIteration$4;
var NATIVE_ARRAY_BUFFER_VIEWS$1 = arrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;
var ArrayBuffer$2 = globalThis$l.ArrayBuffer;
var Int8Array$3 = globalThis$l.Int8Array;
var typedArrayConstructorsRequireWrappers = !NATIVE_ARRAY_BUFFER_VIEWS$1 || !fails$d(function() {
Int8Array$3(1);
}) || !fails$d(function() {
new Int8Array$3(-1);
}) || !checkCorrectnessOfIteration2(function(iterable) {
new Int8Array$3();
new Int8Array$3(null);
new Int8Array$3(1.5);
new Int8Array$3(iterable);
}, true) || fails$d(function() {
return new Int8Array$3(new ArrayBuffer$2(2), 1, void 0).length !== 1;
});
var toIntegerOrInfinity$3 = toIntegerOrInfinity$f;
var $RangeError$6 = RangeError;
var toPositiveInteger$1 = function toPositiveInteger(it) {
var result = toIntegerOrInfinity$3(it);
if (result < 0) throw new $RangeError$6("The argument can't be less than 0");
return result;
};
var toPositiveInteger2 = toPositiveInteger$1;
var $RangeError$5 = RangeError;
var toOffset$2 = function toOffset(it, BYTES) {
var offset = toPositiveInteger2(it);
if (offset % BYTES) throw new $RangeError$5("Wrong offset");
return offset;
};
var round = Math.round;
var toUint8Clamped$1 = function toUint8Clamped(it) {
var value = round(it);
return value < 0 ? 0 : value > 255 ? 255 : value & 255;
};
var classof$4 = classof$j;
var isBigIntArray$1 = function isBigIntArray(it) {
var klass = classof$4(it);
return klass === "BigInt64Array" || klass === "BigUint64Array";
};
var toPrimitive2 = toPrimitive$4;
var $TypeError$a = TypeError;
var toBigInt$2 = function toBigInt(argument) {
var prim = toPrimitive2(argument, "number");
if (typeof prim == "number") throw new $TypeError$a("Can't convert number to bigint");
return BigInt(prim);
};
var bind$f = functionBindContext;
var call$l = functionCall;
var aConstructor2 = aConstructor$3;
var toObject$4 = toObject$s;
var lengthOfArrayLike$5 = lengthOfArrayLike$m;
var getIterator$2 = getIterator$5;
var getIteratorMethod$1 = getIteratorMethod$5;
var isArrayIteratorMethod2 = isArrayIteratorMethod$3;
var isBigIntArray2 = isBigIntArray$1;
var aTypedArrayConstructor$1 = arrayBufferViewCore.aTypedArrayConstructor;
var toBigInt$1 = toBigInt$2;
var typedArrayFrom$2 = function from3(source) {
var C = aConstructor2(this);
var O = toObject$4(source);
var argumentsLength = arguments.length;
var mapfn = argumentsLength > 1 ? arguments[1] : void 0;
var mapping = mapfn !== void 0;
var iteratorMethod = getIteratorMethod$1(O);
var i, length, result, thisIsBigIntArray, value, step, iterator2, next8;
if (iteratorMethod && !isArrayIteratorMethod2(iteratorMethod)) {
iterator2 = getIterator$2(O, iteratorMethod);
next8 = iterator2.next;
O = [];
while (!(step = call$l(next8, iterator2)).done) {
O.push(step.value);
}
}
if (mapping && argumentsLength > 2) {
mapfn = bind$f(mapfn, arguments[2]);
}
length = lengthOfArrayLike$5(O);
result = new (aTypedArrayConstructor$1(C))(length);
thisIsBigIntArray = isBigIntArray2(result);
for (i = 0; length > i; i++) {
value = mapping ? mapfn(O[i], i) : O[i];
result[i] = thisIsBigIntArray ? toBigInt$1(value) : +value;
}
return result;
};
var lengthOfArrayLike$4 = lengthOfArrayLike$m;
var arrayFromConstructorAndList$2 = function arrayFromConstructorAndList(Constructor2, list, $length) {
var index2 = 0;
var length = arguments.length > 2 ? $length : lengthOfArrayLike$4(list);
var result = new Constructor2(length);
while (length > index2) result[index2] = list[index2++];
return result;
};
var $$1n = _export;
var globalThis$k = globalThis_1;
var call$k = functionCall;
var DESCRIPTORS$7 = descriptors;
var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS$2 = typedArrayConstructorsRequireWrappers;
var ArrayBufferViewCore$n = arrayBufferViewCore;
var ArrayBufferModule = arrayBuffer;
var anInstance$4 = anInstance$9;
var createPropertyDescriptor$3 = createPropertyDescriptor$a;
var createNonEnumerableProperty$5 = createNonEnumerableProperty$d;
var isIntegralNumber = isIntegralNumber$3;
var toLength$2 = toLength$d;
var toIndex2 = toIndex$2;
var toOffset$1 = toOffset$2;
var toUint8Clamped2 = toUint8Clamped$1;
var toPropertyKey2 = toPropertyKey$7;
var hasOwn$4 = hasOwnProperty_1;
var classof$3 = classof$j;
var isObject$9 = isObject$I;
var isSymbol = isSymbol$6;
var create$4 = objectCreate;
var isPrototypeOf$1 = objectIsPrototypeOf;
var setPrototypeOf$1 = objectSetPrototypeOf$1;
var getOwnPropertyNames4 = objectGetOwnPropertyNames.f;
var typedArrayFrom$1 = typedArrayFrom$2;
var forEach$3 = arrayIteration.forEach;
var setSpecies$1 = setSpecies$7;
var defineBuiltInAccessor$5 = defineBuiltInAccessor$e;
var definePropertyModule = objectDefineProperty;
var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor;
var arrayFromConstructorAndList$1 = arrayFromConstructorAndList$2;
var InternalStateModule$7 = internalState;
var inheritIfRequired2 = inheritIfRequired$5;
var getInternalState$3 = InternalStateModule$7.get;
var setInternalState$7 = InternalStateModule$7.set;
var enforceInternalState$1 = InternalStateModule$7.enforce;
var nativeDefineProperty = definePropertyModule.f;
var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
var RangeError$2 = globalThis$k.RangeError;
var ArrayBuffer$1 = ArrayBufferModule.ArrayBuffer;
var ArrayBufferPrototype = ArrayBuffer$1.prototype;
var DataView$1 = ArrayBufferModule.DataView;
var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore$n.NATIVE_ARRAY_BUFFER_VIEWS;
var TYPED_ARRAY_TAG = ArrayBufferViewCore$n.TYPED_ARRAY_TAG;
var TypedArray = ArrayBufferViewCore$n.TypedArray;
var TypedArrayPrototype$1 = ArrayBufferViewCore$n.TypedArrayPrototype;
var isTypedArray22 = ArrayBufferViewCore$n.isTypedArray;
var BYTES_PER_ELEMENT = "BYTES_PER_ELEMENT";
var WRONG_LENGTH = "Wrong length";
var addGetter2 = function addGetter3(it, key) {
defineBuiltInAccessor$5(it, key, {
configurable: true,
get: function get6() {
return getInternalState$3(this)[key];
}
});
};
var isArrayBuffer = function isArrayBuffer2(it) {
var klass;
return isPrototypeOf$1(ArrayBufferPrototype, it) || (klass = classof$3(it)) === "ArrayBuffer" || klass === "SharedArrayBuffer";
};
var isTypedArrayIndex = function isTypedArrayIndex2(target, key) {
return isTypedArray22(target) && !isSymbol(key) && key in target && isIntegralNumber(+key) && key >= 0;
};
var wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor5(target, key) {
key = toPropertyKey2(key);
return isTypedArrayIndex(target, key) ? createPropertyDescriptor$3(2, target[key]) : nativeGetOwnPropertyDescriptor(target, key);
};
var wrappedDefineProperty = function defineProperty5(target, key, descriptor) {
key = toPropertyKey2(key);
if (isTypedArrayIndex(target, key) && isObject$9(descriptor) && hasOwn$4(descriptor, "value") && !hasOwn$4(descriptor, "get") && !hasOwn$4(descriptor, "set") && !descriptor.configurable && (!hasOwn$4(descriptor, "writable") || descriptor.writable) && (!hasOwn$4(descriptor, "enumerable") || descriptor.enumerable)) {
target[key] = descriptor.value;
return target;
}
return nativeDefineProperty(target, key, descriptor);
};
if (DESCRIPTORS$7) {
if (!NATIVE_ARRAY_BUFFER_VIEWS) {
getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;
definePropertyModule.f = wrappedDefineProperty;
addGetter2(TypedArrayPrototype$1, "buffer");
addGetter2(TypedArrayPrototype$1, "byteOffset");
addGetter2(TypedArrayPrototype$1, "byteLength");
addGetter2(TypedArrayPrototype$1, "length");
}
$$1n({
target: "Object",
stat: true,
forced: !NATIVE_ARRAY_BUFFER_VIEWS
}, {
getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,
defineProperty: wrappedDefineProperty
});
typedArrayConstructor.exports = function(TYPE, wrapper3, CLAMPED) {
var BYTES = TYPE.match(/\d+/)[0] / 8;
var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? "Clamped" : "") + "Array";
var GETTER = "get" + TYPE;
var SETTER = "set" + TYPE;
var NativeTypedArrayConstructor = globalThis$k[CONSTRUCTOR_NAME];
var TypedArrayConstructor = NativeTypedArrayConstructor;
var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;
var exported = {};
var getter = function getter2(that, index2) {
var data2 = getInternalState$3(that);
return data2.view[GETTER](index2 * BYTES + data2.byteOffset, true);
};
var setter = function setter2(that, index2, value) {
var data2 = getInternalState$3(that);
data2.view[SETTER](index2 * BYTES + data2.byteOffset, CLAMPED ? toUint8Clamped2(value) : value, true);
};
var addElement = function addElement2(that, index2) {
nativeDefineProperty(that, index2, {
get: function get6() {
return getter(this, index2);
},
set: function set6(value) {
return setter(this, index2, value);
},
enumerable: true
});
};
if (!NATIVE_ARRAY_BUFFER_VIEWS) {
TypedArrayConstructor = wrapper3(function(that, data2, offset, $length) {
anInstance$4(that, TypedArrayConstructorPrototype);
var index2 = 0;
var byteOffset = 0;
var buffer, byteLength, length;
if (!isObject$9(data2)) {
length = toIndex2(data2);
byteLength = length * BYTES;
buffer = new ArrayBuffer$1(byteLength);
} else if (isArrayBuffer(data2)) {
buffer = data2;
byteOffset = toOffset$1(offset, BYTES);
var $len = data2.byteLength;
if ($length === void 0) {
if ($len % BYTES) throw new RangeError$2(WRONG_LENGTH);
byteLength = $len - byteOffset;
if (byteLength < 0) throw new RangeError$2(WRONG_LENGTH);
} else {
byteLength = toLength$2($length) * BYTES;
if (byteLength + byteOffset > $len) throw new RangeError$2(WRONG_LENGTH);
}
length = byteLength / BYTES;
} else if (isTypedArray22(data2)) {
return arrayFromConstructorAndList$1(TypedArrayConstructor, data2);
} else {
return call$k(typedArrayFrom$1, TypedArrayConstructor, data2);
}
setInternalState$7(that, {
buffer,
byteOffset,
byteLength,
length,
view: new DataView$1(buffer)
});
while (index2 < length) addElement(that, index2++);
});
if (setPrototypeOf$1) setPrototypeOf$1(TypedArrayConstructor, TypedArray);
TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create$4(TypedArrayPrototype$1);
} else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS$2) {
TypedArrayConstructor = wrapper3(function(dummy, data2, typedArrayOffset, $length) {
anInstance$4(dummy, TypedArrayConstructorPrototype);
return inheritIfRequired2(function() {
if (!isObject$9(data2)) return new NativeTypedArrayConstructor(toIndex2(data2));
if (isArrayBuffer(data2)) return $length !== void 0 ? new NativeTypedArrayConstructor(data2, toOffset$1(typedArrayOffset, BYTES), $length) : typedArrayOffset !== void 0 ? new NativeTypedArrayConstructor(data2, toOffset$1(typedArrayOffset, BYTES)) : new NativeTypedArrayConstructor(data2);
if (isTypedArray22(data2)) return arrayFromConstructorAndList$1(TypedArrayConstructor, data2);
return call$k(typedArrayFrom$1, TypedArrayConstructor, data2);
}(), dummy, TypedArrayConstructor);
});
if (setPrototypeOf$1) setPrototypeOf$1(TypedArrayConstructor, TypedArray);
forEach$3(getOwnPropertyNames4(NativeTypedArrayConstructor), function(key) {
if (!(key in TypedArrayConstructor)) {
createNonEnumerableProperty$5(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);
}
});
TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;
}
if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {
createNonEnumerableProperty$5(TypedArrayConstructorPrototype, "constructor", TypedArrayConstructor);
}
enforceInternalState$1(TypedArrayConstructorPrototype).TypedArrayConstructor = TypedArrayConstructor;
if (TYPED_ARRAY_TAG) {
createNonEnumerableProperty$5(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);
}
var FORCED2 = TypedArrayConstructor !== NativeTypedArrayConstructor;
exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;
$$1n({
global: true,
constructor: true,
forced: FORCED2,
sham: !NATIVE_ARRAY_BUFFER_VIEWS
}, exported);
if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {
createNonEnumerableProperty$5(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);
}
if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {
createNonEnumerableProperty$5(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);
}
setSpecies$1(CONSTRUCTOR_NAME);
};
} else typedArrayConstructor.exports = function() {
};
var typedArrayConstructorExports = typedArrayConstructor.exports;
var createTypedArrayConstructor$8 = typedArrayConstructorExports;
createTypedArrayConstructor$8("Float32", function(init) {
return function Float32Array(data2, byteOffset, length) {
return init(this, data2, byteOffset, length);
};
});
var createTypedArrayConstructor$7 = typedArrayConstructorExports;
createTypedArrayConstructor$7("Float64", function(init) {
return function Float64Array(data2, byteOffset, length) {
return init(this, data2, byteOffset, length);
};
});
var createTypedArrayConstructor$6 = typedArrayConstructorExports;
createTypedArrayConstructor$6("Int8", function(init) {
return function Int8Array2(data2, byteOffset, length) {
return init(this, data2, byteOffset, length);
};
});
var createTypedArrayConstructor$5 = typedArrayConstructorExports;
createTypedArrayConstructor$5("Int16", function(init) {
return function Int16Array(data2, byteOffset, length) {
return init(this, data2, byteOffset, length);
};
});
var createTypedArrayConstructor$4 = typedArrayConstructorExports;
createTypedArrayConstructor$4("Int32", function(init) {
return function Int32Array(data2, byteOffset, length) {
return init(this, data2, byteOffset, length);
};
});
var createTypedArrayConstructor$3 = typedArrayConstructorExports;
createTypedArrayConstructor$3("Uint8", function(init) {
return function Uint8Array2(data2, byteOffset, length) {
return init(this, data2, byteOffset, length);
};
});
var createTypedArrayConstructor$2 = typedArrayConstructorExports;
createTypedArrayConstructor$2("Uint8", function(init) {
return function Uint8ClampedArray2(data2, byteOffset, length) {
return init(this, data2, byteOffset, length);
};
}, true);
var createTypedArrayConstructor$1 = typedArrayConstructorExports;
createTypedArrayConstructor$1("Uint16", function(init) {
return function Uint16Array2(data2, byteOffset, length) {
return init(this, data2, byteOffset, length);
};
});
var createTypedArrayConstructor = typedArrayConstructorExports;
createTypedArrayConstructor("Uint32", function(init) {
return function Uint32Array(data2, byteOffset, length) {
return init(this, data2, byteOffset, length);
};
});
var uncurryThis$p = functionUncurryThis;
var ArrayBufferViewCore$m = arrayBufferViewCore;
var $ArrayCopyWithin = arrayCopyWithin;
var u$ArrayCopyWithin = uncurryThis$p($ArrayCopyWithin);
var aTypedArray$l = ArrayBufferViewCore$m.aTypedArray;
var exportTypedArrayMethod$m = ArrayBufferViewCore$m.exportTypedArrayMethod;
exportTypedArrayMethod$m("copyWithin", function copyWithin3(target, start) {
return u$ArrayCopyWithin(aTypedArray$l(this), target, start, arguments.length > 2 ? arguments[2] : void 0);
});
var ArrayBufferViewCore$l = arrayBufferViewCore;
var $every = arrayIteration.every;
var aTypedArray$k = ArrayBufferViewCore$l.aTypedArray;
var exportTypedArrayMethod$l = ArrayBufferViewCore$l.exportTypedArrayMethod;
exportTypedArrayMethod$l("every", function every2(callbackfn) {
return $every(aTypedArray$k(this), callbackfn, arguments.length > 1 ? arguments[1] : void 0);
});
var ArrayBufferViewCore$k = arrayBufferViewCore;
var $fill = arrayFill$1;
var toBigInt2 = toBigInt$2;
var classof$2 = classof$j;
var call$j = functionCall;
var uncurryThis$o = functionUncurryThis;
var fails$c = fails$1e;
var aTypedArray$j = ArrayBufferViewCore$k.aTypedArray;
var exportTypedArrayMethod$k = ArrayBufferViewCore$k.exportTypedArrayMethod;
var slice$1 = uncurryThis$o("".slice);
var CONVERSION_BUG = fails$c(function() {
var count = 0;
new Int8Array(2).fill({
valueOf: function valueOf() {
return count++;
}
});
return count !== 1;
});
exportTypedArrayMethod$k("fill", function fill3(value) {
var length = arguments.length;
aTypedArray$j(this);
var actualValue = slice$1(classof$2(this), 0, 3) === "Big" ? toBigInt2(value) : +value;
return call$j($fill, this, actualValue, length > 1 ? arguments[1] : void 0, length > 2 ? arguments[2] : void 0);
}, CONVERSION_BUG);
var arrayFromConstructorAndList2 = arrayFromConstructorAndList$2;
var getTypedArrayConstructor$3 = arrayBufferViewCore.getTypedArrayConstructor;
var typedArrayFromSameTypeAndList = function typedArrayFromSameTypeAndList2(instance, list) {
return arrayFromConstructorAndList2(getTypedArrayConstructor$3(instance), list);
};
var ArrayBufferViewCore$j = arrayBufferViewCore;
var $filter = arrayIteration.filter;
var fromSameTypeAndList = typedArrayFromSameTypeAndList;
var aTypedArray$i = ArrayBufferViewCore$j.aTypedArray;
var exportTypedArrayMethod$j = ArrayBufferViewCore$j.exportTypedArrayMethod;
exportTypedArrayMethod$j("filter", function filter22(callbackfn) {
var list = $filter(aTypedArray$i(this), callbackfn, arguments.length > 1 ? arguments[1] : void 0);
return fromSameTypeAndList(this, list);
});
var ArrayBufferViewCore$i = arrayBufferViewCore;
var $find = arrayIteration.find;
var aTypedArray$h = ArrayBufferViewCore$i.aTypedArray;
var exportTypedArrayMethod$i = ArrayBufferViewCore$i.exportTypedArrayMethod;
exportTypedArrayMethod$i("find", function find2(predicate) {
return $find(aTypedArray$h(this), predicate, arguments.length > 1 ? arguments[1] : void 0);
});
var ArrayBufferViewCore$h = arrayBufferViewCore;
var $findIndex = arrayIteration.findIndex;
var aTypedArray$g = ArrayBufferViewCore$h.aTypedArray;
var exportTypedArrayMethod$h = ArrayBufferViewCore$h.exportTypedArrayMethod;
exportTypedArrayMethod$h("findIndex", function findIndex2(predicate) {
return $findIndex(aTypedArray$g(this), predicate, arguments.length > 1 ? arguments[1] : void 0);
});
var ArrayBufferViewCore$g = arrayBufferViewCore;
var $forEach = arrayIteration.forEach;
var aTypedArray$f = ArrayBufferViewCore$g.aTypedArray;
var exportTypedArrayMethod$g = ArrayBufferViewCore$g.exportTypedArrayMethod;
exportTypedArrayMethod$g("forEach", function forEach22(callbackfn) {
$forEach(aTypedArray$f(this), callbackfn, arguments.length > 1 ? arguments[1] : void 0);
});
var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS$1 = typedArrayConstructorsRequireWrappers;
var exportTypedArrayStaticMethod$1 = arrayBufferViewCore.exportTypedArrayStaticMethod;
var typedArrayFrom = typedArrayFrom$2;
exportTypedArrayStaticMethod$1("from", typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS$1);
var ArrayBufferViewCore$f = arrayBufferViewCore;
var $includes = arrayIncludes.includes;
var aTypedArray$e = ArrayBufferViewCore$f.aTypedArray;
var exportTypedArrayMethod$f = ArrayBufferViewCore$f.exportTypedArrayMethod;
exportTypedArrayMethod$f("includes", function includes3(searchElement) {
return $includes(aTypedArray$e(this), searchElement, arguments.length > 1 ? arguments[1] : void 0);
});
var ArrayBufferViewCore$e = arrayBufferViewCore;
var $indexOf = arrayIncludes.indexOf;
var aTypedArray$d = ArrayBufferViewCore$e.aTypedArray;
var exportTypedArrayMethod$e = ArrayBufferViewCore$e.exportTypedArrayMethod;
exportTypedArrayMethod$e("indexOf", function indexOf2(searchElement) {
return $indexOf(aTypedArray$d(this), searchElement, arguments.length > 1 ? arguments[1] : void 0);
});
var globalThis$j = globalThis_1;
var fails$b = fails$1e;
var uncurryThis$n = functionUncurryThis;
var ArrayBufferViewCore$d = arrayBufferViewCore;
var ArrayIterators = es_array_iterator;
var wellKnownSymbol$9 = wellKnownSymbol$C;
var ITERATOR$4 = wellKnownSymbol$9("iterator");
var Uint8Array$1 = globalThis$j.Uint8Array;
var arrayValues = uncurryThis$n(ArrayIterators.values);
var arrayKeys = uncurryThis$n(ArrayIterators.keys);
var arrayEntries = uncurryThis$n(ArrayIterators.entries);
var aTypedArray$c = ArrayBufferViewCore$d.aTypedArray;
var exportTypedArrayMethod$d = ArrayBufferViewCore$d.exportTypedArrayMethod;
var TypedArrayPrototype = Uint8Array$1 && Uint8Array$1.prototype;
var GENERIC = !fails$b(function() {
TypedArrayPrototype[ITERATOR$4].call([1]);
});
var ITERATOR_IS_VALUES = !!TypedArrayPrototype && TypedArrayPrototype.values && TypedArrayPrototype[ITERATOR$4] === TypedArrayPrototype.values && TypedArrayPrototype.values.name === "values";
var typedArrayValues = function values3() {
return arrayValues(aTypedArray$c(this));
};
exportTypedArrayMethod$d("entries", function entries2() {
return arrayEntries(aTypedArray$c(this));
}, GENERIC);
exportTypedArrayMethod$d("keys", function keys3() {
return arrayKeys(aTypedArray$c(this));
}, GENERIC);
exportTypedArrayMethod$d("values", typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, {
name: "values"
});
exportTypedArrayMethod$d(ITERATOR$4, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, {
name: "values"
});
var ArrayBufferViewCore$c = arrayBufferViewCore;
var uncurryThis$m = functionUncurryThis;
var aTypedArray$b = ArrayBufferViewCore$c.aTypedArray;
var exportTypedArrayMethod$c = ArrayBufferViewCore$c.exportTypedArrayMethod;
var $join = uncurryThis$m([].join);
exportTypedArrayMethod$c("join", function join2(separator) {
return $join(aTypedArray$b(this), separator);
});
var ArrayBufferViewCore$b = arrayBufferViewCore;
var apply$5 = functionApply$1;
var $lastIndexOf = arrayLastIndexOf;
var aTypedArray$a = ArrayBufferViewCore$b.aTypedArray;
var exportTypedArrayMethod$b = ArrayBufferViewCore$b.exportTypedArrayMethod;
exportTypedArrayMethod$b("lastIndexOf", function lastIndexOf3(searchElement) {
var length = arguments.length;
return apply$5($lastIndexOf, aTypedArray$a(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]);
});
var ArrayBufferViewCore$a = arrayBufferViewCore;
var $map = arrayIteration.map;
var aTypedArray$9 = ArrayBufferViewCore$a.aTypedArray;
var getTypedArrayConstructor$2 = ArrayBufferViewCore$a.getTypedArrayConstructor;
var exportTypedArrayMethod$a = ArrayBufferViewCore$a.exportTypedArrayMethod;
exportTypedArrayMethod$a("map", function map2(mapfn) {
return $map(aTypedArray$9(this), mapfn, arguments.length > 1 ? arguments[1] : void 0, function(O, length) {
return new (getTypedArrayConstructor$2(O))(length);
});
});
var ArrayBufferViewCore$9 = arrayBufferViewCore;
var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = typedArrayConstructorsRequireWrappers;
var aTypedArrayConstructor2 = ArrayBufferViewCore$9.aTypedArrayConstructor;
var exportTypedArrayStaticMethod2 = ArrayBufferViewCore$9.exportTypedArrayStaticMethod;
exportTypedArrayStaticMethod2("of", function of2() {
var index2 = 0;
var length = arguments.length;
var result = new (aTypedArrayConstructor2(this))(length);
while (length > index2) result[index2] = arguments[index2++];
return result;
}, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS);
var ArrayBufferViewCore$8 = arrayBufferViewCore;
var $reduce = arrayReduce.left;
var aTypedArray$8 = ArrayBufferViewCore$8.aTypedArray;
var exportTypedArrayMethod$9 = ArrayBufferViewCore$8.exportTypedArrayMethod;
exportTypedArrayMethod$9("reduce", function reduce2(callbackfn) {
var length = arguments.length;
return $reduce(aTypedArray$8(this), callbackfn, length, length > 1 ? arguments[1] : void 0);
});
var ArrayBufferViewCore$7 = arrayBufferViewCore;
var $reduceRight = arrayReduce.right;
var aTypedArray$7 = ArrayBufferViewCore$7.aTypedArray;
var exportTypedArrayMethod$8 = ArrayBufferViewCore$7.exportTypedArrayMethod;
exportTypedArrayMethod$8("reduceRight", function reduceRight2(callbackfn) {
var length = arguments.length;
return $reduceRight(aTypedArray$7(this), callbackfn, length, length > 1 ? arguments[1] : void 0);
});
var ArrayBufferViewCore$6 = arrayBufferViewCore;
var aTypedArray$6 = ArrayBufferViewCore$6.aTypedArray;
var exportTypedArrayMethod$7 = ArrayBufferViewCore$6.exportTypedArrayMethod;
var floor$2 = Math.floor;
exportTypedArrayMethod$7("reverse", function reverse3() {
var that = this;
var length = aTypedArray$6(that).length;
var middle = floor$2(length / 2);
var index2 = 0;
var value;
while (index2 < middle) {
value = that[index2];
that[index2++] = that[--length];
that[length] = value;
}
return that;
});
var globalThis$i = globalThis_1;
var call$i = functionCall;
var ArrayBufferViewCore$5 = arrayBufferViewCore;
var lengthOfArrayLike$3 = lengthOfArrayLike$m;
var toOffset2 = toOffset$2;
var toIndexedObject2 = toObject$s;
var fails$a = fails$1e;
var RangeError$1 = globalThis$i.RangeError;
var Int8Array$2 = globalThis$i.Int8Array;
var Int8ArrayPrototype = Int8Array$2 && Int8Array$2.prototype;
var $set = Int8ArrayPrototype && Int8ArrayPrototype.set;
var aTypedArray$5 = ArrayBufferViewCore$5.aTypedArray;
var exportTypedArrayMethod$6 = ArrayBufferViewCore$5.exportTypedArrayMethod;
var WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails$a(function() {
var array = new Uint8ClampedArray(2);
call$i($set, array, {
length: 1,
0: 3
}, 1);
return array[1] !== 3;
});
var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore$5.NATIVE_ARRAY_BUFFER_VIEWS && fails$a(function() {
var array = new Int8Array$2(2);
array.set(1);
array.set("2", 1);
return array[0] !== 0 || array[1] !== 2;
});
exportTypedArrayMethod$6("set", function set2(arrayLike) {
aTypedArray$5(this);
var offset = toOffset2(arguments.length > 1 ? arguments[1] : void 0, 1);
var src = toIndexedObject2(arrayLike);
if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call$i($set, this, src, offset);
var length = this.length;
var len = lengthOfArrayLike$3(src);
var index2 = 0;
if (len + offset > length) throw new RangeError$1("Wrong length");
while (index2 < len) this[offset + index2] = src[index2++];
}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);
var ArrayBufferViewCore$4 = arrayBufferViewCore;
var fails$9 = fails$1e;
var arraySlice$3 = arraySlice$a;
var aTypedArray$4 = ArrayBufferViewCore$4.aTypedArray;
var getTypedArrayConstructor$1 = ArrayBufferViewCore$4.getTypedArrayConstructor;
var exportTypedArrayMethod$5 = ArrayBufferViewCore$4.exportTypedArrayMethod;
var FORCED$2 = fails$9(function() {
new Int8Array(1).slice();
});
exportTypedArrayMethod$5("slice", function slice3(start, end) {
var list = arraySlice$3(aTypedArray$4(this), start, end);
var C = getTypedArrayConstructor$1(this);
var index2 = 0;
var length = list.length;
var result = new C(length);
while (length > index2) result[index2] = list[index2++];
return result;
}, FORCED$2);
var ArrayBufferViewCore$3 = arrayBufferViewCore;
var $some = arrayIteration.some;
var aTypedArray$3 = ArrayBufferViewCore$3.aTypedArray;
var exportTypedArrayMethod$4 = ArrayBufferViewCore$3.exportTypedArrayMethod;
exportTypedArrayMethod$4("some", function some2(callbackfn) {
return $some(aTypedArray$3(this), callbackfn, arguments.length > 1 ? arguments[1] : void 0);
});
var globalThis$h = globalThis_1;
var uncurryThis$l = functionUncurryThisClause;
var fails$8 = fails$1e;
var aCallable$c = aCallable$s;
var internalSort = arraySort$1;
var ArrayBufferViewCore$2 = arrayBufferViewCore;
var FF = environmentFfVersion;
var IE_OR_EDGE = environmentIsIeOrEdge;
var V8 = environmentV8Version;
var WEBKIT = environmentWebkitVersion;
var aTypedArray$2 = ArrayBufferViewCore$2.aTypedArray;
var exportTypedArrayMethod$3 = ArrayBufferViewCore$2.exportTypedArrayMethod;
var Uint16Array$1 = globalThis$h.Uint16Array;
var nativeSort = Uint16Array$1 && uncurryThis$l(Uint16Array$1.prototype.sort);
var ACCEPT_INCORRECT_ARGUMENTS = !!nativeSort && !(fails$8(function() {
nativeSort(new Uint16Array$1(2), null);
}) && fails$8(function() {
nativeSort(new Uint16Array$1(2), {});
}));
var STABLE_SORT = !!nativeSort && !fails$8(function() {
if (V8) return V8 < 74;
if (FF) return FF < 67;
if (IE_OR_EDGE) return true;
if (WEBKIT) return WEBKIT < 602;
var array = new Uint16Array$1(516);
var expected = Array(516);
var index2, mod;
for (index2 = 0; index2 < 516; index2++) {
mod = index2 % 4;
array[index2] = 515 - index2;
expected[index2] = index2 - 2 * mod + 3;
}
nativeSort(array, function(a, b) {
return (a / 4 | 0) - (b / 4 | 0);
});
for (index2 = 0; index2 < 516; index2++) {
if (array[index2] !== expected[index2]) return true;
}
});
var getSortCompare2 = function getSortCompare3(comparefn) {
return function(x, y) {
if (comparefn !== void 0) return +comparefn(x, y) || 0;
if (y !== y) return -1;
if (x !== x) return 1;
if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;
return x > y;
};
};
exportTypedArrayMethod$3("sort", function sort3(comparefn) {
if (comparefn !== void 0) aCallable$c(comparefn);
if (STABLE_SORT) return nativeSort(this, comparefn);
return internalSort(aTypedArray$2(this), getSortCompare2(comparefn));
}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);
var ArrayBufferViewCore$1 = arrayBufferViewCore;
var toLength$1 = toLength$d;
var toAbsoluteIndex2 = toAbsoluteIndex$8;
var aTypedArray$1 = ArrayBufferViewCore$1.aTypedArray;
var getTypedArrayConstructor2 = ArrayBufferViewCore$1.getTypedArrayConstructor;
var exportTypedArrayMethod$2 = ArrayBufferViewCore$1.exportTypedArrayMethod;
exportTypedArrayMethod$2("subarray", function subarray(begin, end) {
var O = aTypedArray$1(this);
var length = O.length;
var beginIndex = toAbsoluteIndex2(begin, length);
var C = getTypedArrayConstructor2(O);
return new C(O.buffer, O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT, toLength$1((end === void 0 ? length : toAbsoluteIndex2(end, length)) - beginIndex));
});
var globalThis$g = globalThis_1;
var apply$4 = functionApply$1;
var ArrayBufferViewCore = arrayBufferViewCore;
var fails$7 = fails$1e;
var arraySlice$2 = arraySlice$a;
var Int8Array$1 = globalThis$g.Int8Array;
var aTypedArray2 = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod$1 = ArrayBufferViewCore.exportTypedArrayMethod;
var $toLocaleString = [].toLocaleString;
var TO_LOCALE_STRING_BUG = !!Int8Array$1 && fails$7(function() {
$toLocaleString.call(new Int8Array$1(1));
});
var FORCED$1 = fails$7(function() {
return [1, 2].toLocaleString() !== new Int8Array$1([1, 2]).toLocaleString();
}) || !fails$7(function() {
Int8Array$1.prototype.toLocaleString.call([1, 2]);
});
exportTypedArrayMethod$1("toLocaleString", function toLocaleString() {
return apply$4($toLocaleString, TO_LOCALE_STRING_BUG ? arraySlice$2(aTypedArray2(this)) : aTypedArray2(this), arraySlice$2(arguments));
}, FORCED$1);
var exportTypedArrayMethod2 = arrayBufferViewCore.exportTypedArrayMethod;
var fails$6 = fails$1e;
var globalThis$f = globalThis_1;
var uncurryThis$k = functionUncurryThis;
var Uint8Array$2 = globalThis$f.Uint8Array;
var Uint8ArrayPrototype = Uint8Array$2 && Uint8Array$2.prototype || {};
var arrayToString = [].toString;
var join$3 = uncurryThis$k([].join);
if (fails$6(function() {
arrayToString.call({});
})) {
arrayToString = function toString7() {
return join$3(this);
};
}
var IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString !== arrayToString;
exportTypedArrayMethod2("toString", arrayToString, IS_NOT_ARRAY_METHOD);
var uncurryThis$j = functionUncurryThis;
var defineBuiltIns$3 = defineBuiltIns$6;
var getWeakData2 = internalMetadataExports.getWeakData;
var anInstance$3 = anInstance$9;
var anObject$h = anObject$N;
var isNullOrUndefined$3 = isNullOrUndefined$a;
var isObject$8 = isObject$I;
var iterate$s = iterate$y;
var ArrayIterationModule = arrayIteration;
var hasOwn$3 = hasOwnProperty_1;
var InternalStateModule$6 = internalState;
var setInternalState$6 = InternalStateModule$6.set;
var internalStateGetterFor = InternalStateModule$6.getterFor;
var find$1 = ArrayIterationModule.find;
var findIndex3 = ArrayIterationModule.findIndex;
var splice$1 = uncurryThis$j([].splice);
var id = 0;
var uncaughtFrozenStore = function uncaughtFrozenStore2(state) {
return state.frozen || (state.frozen = new UncaughtFrozenStore());
};
var UncaughtFrozenStore = function UncaughtFrozenStore2() {
this.entries = [];
};
var findUncaughtFrozen = function findUncaughtFrozen2(store2, key) {
return find$1(store2.entries, function(it) {
return it[0] === key;
});
};
UncaughtFrozenStore.prototype = {
get: function get3(key) {
var entry = findUncaughtFrozen(this, key);
if (entry) return entry[1];
},
has: function has2(key) {
return !!findUncaughtFrozen(this, key);
},
set: function set3(key, value) {
var entry = findUncaughtFrozen(this, key);
if (entry) entry[1] = value;
else this.entries.push([key, value]);
},
"delete": function _delete(key) {
var index2 = findIndex3(this.entries, function(it) {
return it[0] === key;
});
if (~index2) splice$1(this.entries, index2, 1);
return !!~index2;
}
};
var collectionWeak$2 = {
getConstructor: function getConstructor2(wrapper3, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
var Constructor2 = wrapper3(function(that, iterable) {
anInstance$3(that, Prototype2);
setInternalState$6(that, {
type: CONSTRUCTOR_NAME,
id: id++,
frozen: null
});
if (!isNullOrUndefined$3(iterable)) iterate$s(iterable, that[ADDER], {
that,
AS_ENTRIES: IS_MAP
});
});
var Prototype2 = Constructor2.prototype;
var getInternalState2 = internalStateGetterFor(CONSTRUCTOR_NAME);
var define = function define2(that, key, value) {
var state = getInternalState2(that);
var data2 = getWeakData2(anObject$h(key), true);
if (data2 === true) uncaughtFrozenStore(state).set(key, value);
else data2[state.id] = value;
return that;
};
defineBuiltIns$3(Prototype2, {
// `{ WeakMap, WeakSet }.prototype.delete(key)` methods
// https://tc39.es/ecma262/#sec-weakmap.prototype.delete
// https://tc39.es/ecma262/#sec-weakset.prototype.delete
"delete": function _delete3(key) {
var state = getInternalState2(this);
if (!isObject$8(key)) return false;
var data2 = getWeakData2(key);
if (data2 === true) return uncaughtFrozenStore(state)["delete"](key);
return data2 && hasOwn$3(data2, state.id) && delete data2[state.id];
},
// `{ WeakMap, WeakSet }.prototype.has(key)` methods
// https://tc39.es/ecma262/#sec-weakmap.prototype.has
// https://tc39.es/ecma262/#sec-weakset.prototype.has
has: function has5(key) {
var state = getInternalState2(this);
if (!isObject$8(key)) return false;
var data2 = getWeakData2(key);
if (data2 === true) return uncaughtFrozenStore(state).has(key);
return data2 && hasOwn$3(data2, state.id);
}
});
defineBuiltIns$3(Prototype2, IS_MAP ? {
// `WeakMap.prototype.get(key)` method
// https://tc39.es/ecma262/#sec-weakmap.prototype.get
get: function get6(key) {
var state = getInternalState2(this);
if (isObject$8(key)) {
var data2 = getWeakData2(key);
if (data2 === true) return uncaughtFrozenStore(state).get(key);
if (data2) return data2[state.id];
}
},
// `WeakMap.prototype.set(key, value)` method
// https://tc39.es/ecma262/#sec-weakmap.prototype.set
set: function set6(key, value) {
return define(this, key, value);
}
} : {
// `WeakSet.prototype.add(value)` method
// https://tc39.es/ecma262/#sec-weakset.prototype.add
add: function add3(value) {
return define(this, value, true);
}
});
return Constructor2;
}
};
var FREEZING = freezing;
var globalThis$e = globalThis_1;
var uncurryThis$i = functionUncurryThis;
var defineBuiltIns$2 = defineBuiltIns$6;
var InternalMetadataModule = internalMetadataExports;
var collection$1 = collection$4;
var collectionWeak$1 = collectionWeak$2;
var isObject$7 = isObject$I;
var enforceInternalState = internalState.enforce;
var fails$5 = fails$1e;
var NATIVE_WEAK_MAP = weakMapBasicDetection;
var $Object$3 = Object;
var isArray22 = Array.isArray;
var isExtensible3 = $Object$3.isExtensible;
var isFrozen2 = $Object$3.isFrozen;
var isSealed2 = $Object$3.isSealed;
var freeze2 = $Object$3.freeze;
var seal2 = $Object$3.seal;
var IS_IE11 = !globalThis$e.ActiveXObject && "ActiveXObject" in globalThis$e;
var InternalWeakMap;
var wrapper = function wrapper2(init) {
return function WeakMap2() {
return init(this, arguments.length ? arguments[0] : void 0);
};
};
var $WeakMap = collection$1("WeakMap", wrapper, collectionWeak$1);
var WeakMapPrototype$1 = $WeakMap.prototype;
var nativeSet = uncurryThis$i(WeakMapPrototype$1.set);
var hasMSEdgeFreezingBug = function hasMSEdgeFreezingBug2() {
return FREEZING && fails$5(function() {
var frozenArray = freeze2([]);
nativeSet(new $WeakMap(), frozenArray, 1);
return !isFrozen2(frozenArray);
});
};
if (NATIVE_WEAK_MAP) {
if (IS_IE11) {
InternalWeakMap = collectionWeak$1.getConstructor(wrapper, "WeakMap", true);
InternalMetadataModule.enable();
var nativeDelete = uncurryThis$i(WeakMapPrototype$1["delete"]);
var nativeHas = uncurryThis$i(WeakMapPrototype$1.has);
var nativeGet = uncurryThis$i(WeakMapPrototype$1.get);
defineBuiltIns$2(WeakMapPrototype$1, {
"delete": function _delete3(key) {
if (isObject$7(key) && !isExtensible3(key)) {
var state = enforceInternalState(this);
if (!state.frozen) state.frozen = new InternalWeakMap();
return nativeDelete(this, key) || state.frozen["delete"](key);
}
return nativeDelete(this, key);
},
has: function has5(key) {
if (isObject$7(key) && !isExtensible3(key)) {
var state = enforceInternalState(this);
if (!state.frozen) state.frozen = new InternalWeakMap();
return nativeHas(this, key) || state.frozen.has(key);
}
return nativeHas(this, key);
},
get: function get6(key) {
if (isObject$7(key) && !isExtensible3(key)) {
var state = enforceInternalState(this);
if (!state.frozen) state.frozen = new InternalWeakMap();
return nativeHas(this, key) ? nativeGet(this, key) : state.frozen.get(key);
}
return nativeGet(this, key);
},
set: function set6(key, value) {
if (isObject$7(key) && !isExtensible3(key)) {
var state = enforceInternalState(this);
if (!state.frozen) state.frozen = new InternalWeakMap();
nativeHas(this, key) ? nativeSet(this, key, value) : state.frozen.set(key, value);
} else nativeSet(this, key, value);
return this;
}
});
} else if (hasMSEdgeFreezingBug()) {
defineBuiltIns$2(WeakMapPrototype$1, {
set: function set6(key, value) {
var arrayIntegrityLevel;
if (isArray22(key)) {
if (isFrozen2(key)) arrayIntegrityLevel = freeze2;
else if (isSealed2(key)) arrayIntegrityLevel = seal2;
}
nativeSet(this, key, value);
if (arrayIntegrityLevel) arrayIntegrityLevel(key);
return this;
}
});
}
}
var collection2 = collection$4;
var collectionWeak = collectionWeak$2;
collection2("WeakSet", function(init) {
return function WeakSet2() {
return init(this, arguments.length ? arguments[0] : void 0);
};
}, collectionWeak);
var isObject$6 = isObject$I;
var createNonEnumerableProperty$4 = createNonEnumerableProperty$d;
var installErrorCause$1 = function installErrorCause(O, options) {
if (isObject$6(options) && "cause" in options) {
createNonEnumerableProperty$4(O, "cause", options.cause);
}
};
var uncurryThis$h = functionUncurryThis;
var $Error$1 = Error;
var replace$3 = uncurryThis$h("".replace);
var TEST = function(arg) {
return String(new $Error$1(arg).stack);
}("zxcasd");
var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/;
var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);
var errorStackClear = function errorStackClear2(stack, dropEntries) {
if (IS_V8_OR_CHAKRA_STACK && typeof stack == "string" && !$Error$1.prepareStackTrace) {
while (dropEntries--) stack = replace$3(stack, V8_OR_CHAKRA_STACK_ENTRY, "");
}
return stack;
};
var fails$4 = fails$1e;
var createPropertyDescriptor$2 = createPropertyDescriptor$a;
var errorStackInstallable = !fails$4(function() {
var error2 = new Error("a");
if (!("stack" in error2)) return true;
Object.defineProperty(error2, "stack", createPropertyDescriptor$2(1, 7));
return error2.stack !== 7;
});
var createNonEnumerableProperty$3 = createNonEnumerableProperty$d;
var clearErrorStack = errorStackClear;
var ERROR_STACK_INSTALLABLE = errorStackInstallable;
var captureStackTrace = Error.captureStackTrace;
var errorStackInstall = function errorStackInstall2(error2, C, stack, dropEntries) {
if (ERROR_STACK_INSTALLABLE) {
if (captureStackTrace) captureStackTrace(error2, C);
else createNonEnumerableProperty$3(error2, "stack", clearErrorStack(stack, dropEntries));
}
};
var toString$5 = toString$t;
var normalizeStringArgument$1 = function normalizeStringArgument(argument, $default) {
return argument === void 0 ? arguments.length < 2 ? "" : $default : toString$5(argument);
};
var $$1m = _export;
var isPrototypeOf = objectIsPrototypeOf;
var getPrototypeOf$3 = objectGetPrototypeOf$2;
var setPrototypeOf2 = objectSetPrototypeOf$1;
var copyConstructorProperties3 = copyConstructorProperties$5;
var create$3 = objectCreate;
var createNonEnumerableProperty$2 = createNonEnumerableProperty$d;
var createPropertyDescriptor$1 = createPropertyDescriptor$a;
var installErrorCause2 = installErrorCause$1;
var installErrorStack = errorStackInstall;
var iterate$r = iterate$y;
var normalizeStringArgument2 = normalizeStringArgument$1;
var wellKnownSymbol$8 = wellKnownSymbol$C;
var TO_STRING_TAG = wellKnownSymbol$8("toStringTag");
var $Error = Error;
var push$7 = [].push;
var $AggregateError = function AggregateError(errors, message) {
var isInstance = isPrototypeOf(AggregateErrorPrototype, this);
var that;
if (setPrototypeOf2) {
that = setPrototypeOf2(new $Error(), isInstance ? getPrototypeOf$3(this) : AggregateErrorPrototype);
} else {
that = isInstance ? this : create$3(AggregateErrorPrototype);
createNonEnumerableProperty$2(that, TO_STRING_TAG, "Error");
}
if (message !== void 0) createNonEnumerableProperty$2(that, "message", normalizeStringArgument2(message));
installErrorStack(that, $AggregateError, that.stack, 1);
if (arguments.length > 2) installErrorCause2(that, arguments[2]);
var errorsArray = [];
iterate$r(errors, push$7, {
that: errorsArray
});
createNonEnumerableProperty$2(that, "errors", errorsArray);
return that;
};
if (setPrototypeOf2) setPrototypeOf2($AggregateError, $Error);
else copyConstructorProperties3($AggregateError, $Error, {
name: true
});
var AggregateErrorPrototype = $AggregateError.prototype = create$3($Error.prototype, {
constructor: createPropertyDescriptor$1(1, $AggregateError),
message: createPropertyDescriptor$1(1, ""),
name: createPropertyDescriptor$1(1, "AggregateError")
});
$$1m({
global: true,
constructor: true,
arity: 2
}, {
AggregateError: $AggregateError
});
var DESCRIPTORS$6 = descriptors;
var addToUnscopables$1 = addToUnscopables$a;
var toObject$3 = toObject$s;
var lengthOfArrayLike$2 = lengthOfArrayLike$m;
var defineBuiltInAccessor$4 = defineBuiltInAccessor$e;
if (DESCRIPTORS$6) {
defineBuiltInAccessor$4(Array.prototype, "lastIndex", {
configurable: true,
get: function lastIndex() {
var O = toObject$3(this);
var len = lengthOfArrayLike$2(O);
return len === 0 ? 0 : len - 1;
}
});
addToUnscopables$1("lastIndex");
}
var DESCRIPTORS$5 = descriptors;
var addToUnscopables2 = addToUnscopables$a;
var toObject$2 = toObject$s;
var lengthOfArrayLike$1 = lengthOfArrayLike$m;
var defineBuiltInAccessor$3 = defineBuiltInAccessor$e;
if (DESCRIPTORS$5) {
defineBuiltInAccessor$3(Array.prototype, "lastItem", {
configurable: true,
get: function lastItem() {
var O = toObject$2(this);
var len = lengthOfArrayLike$1(O);
return len === 0 ? void 0 : O[len - 1];
},
set: function lastItem(value) {
var O = toObject$2(this);
var len = lengthOfArrayLike$1(O);
return O[len === 0 ? 0 : len - 1] = value;
}
});
addToUnscopables2("lastItem");
}
var getBuiltIn$8 = getBuiltIn$n;
var create$2 = objectCreate;
var isObject$5 = isObject$I;
var $Object$2 = Object;
var $TypeError$9 = TypeError;
var Map$9 = getBuiltIn$8("Map");
var WeakMap$2 = getBuiltIn$8("WeakMap");
var Node = function Node2() {
this.object = null;
this.symbol = null;
this.primitives = null;
this.objectsByIndex = create$2(null);
};
Node.prototype.get = function(key, initializer3) {
return this[key] || (this[key] = initializer3());
};
Node.prototype.next = function(i, it, IS_OBJECT) {
var store2 = IS_OBJECT ? this.objectsByIndex[i] || (this.objectsByIndex[i] = new WeakMap$2()) : this.primitives || (this.primitives = new Map$9());
var entry = store2.get(it);
if (!entry) store2.set(it, entry = new Node());
return entry;
};
var root = new Node();
var compositeKey = function compositeKey2() {
var active = root;
var length = arguments.length;
var i, it;
for (i = 0; i < length; i++) {
if (isObject$5(it = arguments[i])) active = active.next(i, it, true);
}
if (this === $Object$2 && active === root) throw new $TypeError$9("Composite keys must contain a non-primitive component");
for (i = 0; i < length; i++) {
if (!isObject$5(it = arguments[i])) active = active.next(i, it, false);
}
return active;
};
var $$1l = _export;
var apply$3 = functionApply$1;
var getCompositeKeyNode$1 = compositeKey;
var getBuiltIn$7 = getBuiltIn$n;
var create$1 = objectCreate;
var $Object$1 = Object;
var initializer = function initializer2() {
var freeze3 = getBuiltIn$7("Object", "freeze");
return freeze3 ? freeze3(create$1(null)) : create$1(null);
};
$$1l({
global: true,
forced: true
}, {
compositeKey: function compositeKey3() {
return apply$3(getCompositeKeyNode$1, $Object$1, arguments).get("object", initializer);
}
});
var $$1k = _export;
var getCompositeKeyNode = compositeKey;
var getBuiltIn$6 = getBuiltIn$n;
var apply$2 = functionApply$1;
$$1k({
global: true,
forced: true
}, {
compositeSymbol: function compositeSymbol() {
if (arguments.length === 1 && typeof arguments[0] == "string") return getBuiltIn$6("Symbol")["for"](arguments[0]);
return apply$2(getCompositeKeyNode, null, arguments).get("symbol", getBuiltIn$6("Symbol"));
}
});
var $$1j = _export;
var globalThis$d = globalThis_1;
$$1j({
global: true,
forced: globalThis$d.globalThis !== globalThis$d
}, {
globalThis: globalThis$d
});
var uncurryThis$g = functionUncurryThis;
var MapPrototype$1 = Map.prototype;
var mapHelpers = {
// eslint-disable-next-line es/no-map -- safe
Map,
set: uncurryThis$g(MapPrototype$1.set),
get: uncurryThis$g(MapPrototype$1.get),
has: uncurryThis$g(MapPrototype$1.has),
remove: uncurryThis$g(MapPrototype$1["delete"]),
proto: MapPrototype$1
};
var has$a = mapHelpers.has;
var aMap$d = function aMap(it) {
has$a(it);
return it;
};
var $$1i = _export;
var aMap$c = aMap$d;
var remove$5 = mapHelpers.remove;
$$1i({
target: "Map",
proto: true,
real: true,
forced: true
}, {
deleteAll: function deleteAll() {
var collection3 = aMap$c(this);
var allDeleted = true;
var wasDeleted;
for (var k2 = 0, len = arguments.length; k2 < len; k2++) {
wasDeleted = remove$5(collection3, arguments[k2]);
allDeleted = allDeleted && wasDeleted;
}
return !!allDeleted;
}
});
var call$h = functionCall;
var iterateSimple$8 = function iterateSimple(record, fn, ITERATOR_INSTEAD_OF_RECORD) {
var iterator2 = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator;
var next8 = record.next;
var step, result;
while (!(step = call$h(next8, iterator2)).done) {
result = fn(step.value);
if (result !== void 0) return result;
}
};
var uncurryThis$f = functionUncurryThis;
var iterateSimple$7 = iterateSimple$8;
var MapHelpers$8 = mapHelpers;
var Map$8 = MapHelpers$8.Map;
var MapPrototype = MapHelpers$8.proto;
var forEach$2 = uncurryThis$f(MapPrototype.forEach);
var entries3 = uncurryThis$f(MapPrototype.entries);
var next$1 = entries3(new Map$8()).next;
var mapIterate = function mapIterate2(map4, fn, interruptible) {
return interruptible ? iterateSimple$7({
iterator: entries3(map4),
next: next$1
}, function(entry) {
return fn(entry[1], entry[0]);
}) : forEach$2(map4, fn);
};
var $$1h = _export;
var bind$e = functionBindContext;
var aMap$b = aMap$d;
var iterate$q = mapIterate;
$$1h({
target: "Map",
proto: true,
real: true,
forced: true
}, {
every: function every3(callbackfn) {
var map4 = aMap$b(this);
var boundFunction = bind$e(callbackfn, arguments.length > 1 ? arguments[1] : void 0);
return iterate$q(map4, function(value, key) {
if (!boundFunction(value, key, map4)) return false;
}, true) !== false;
}
});
var $$1g = _export;
var bind$d = functionBindContext;
var aMap$a = aMap$d;
var MapHelpers$7 = mapHelpers;
var iterate$p = mapIterate;
var Map$7 = MapHelpers$7.Map;
var set$5 = MapHelpers$7.set;
$$1g({
target: "Map",
proto: true,
real: true,
forced: true
}, {
filter: function filter3(callbackfn) {
var map4 = aMap$a(this);
var boundFunction = bind$d(callbackfn, arguments.length > 1 ? arguments[1] : void 0);
var newMap = new Map$7();
iterate$p(map4, function(value, key) {
if (boundFunction(value, key, map4)) set$5(newMap, key, value);
});
return newMap;
}
});
var $$1f = _export;
var bind$c = functionBindContext;
var aMap$9 = aMap$d;
var iterate$o = mapIterate;
$$1f({
target: "Map",
proto: true,
real: true,
forced: true
}, {
find: function find3(callbackfn) {
var map4 = aMap$9(this);
var boundFunction = bind$c(callbackfn, arguments.length > 1 ? arguments[1] : void 0);
var result = iterate$o(map4, function(value, key) {
if (boundFunction(value, key, map4)) return {
value
};
}, true);
return result && result.value;
}
});
var $$1e = _export;
var bind$b = functionBindContext;
var aMap$8 = aMap$d;
var iterate$n = mapIterate;
$$1e({
target: "Map",
proto: true,
real: true,
forced: true
}, {
findKey: function findKey2(callbackfn) {
var map4 = aMap$8(this);
var boundFunction = bind$b(callbackfn, arguments.length > 1 ? arguments[1] : void 0);
var result = iterate$n(map4, function(value, key) {
if (boundFunction(value, key, map4)) return {
key
};
}, true);
return result && result.key;
}
});
var bind$a = functionBindContext;
var anObject$g = anObject$N;
var toObject$1 = toObject$s;
var iterate$m = iterate$y;
var collectionFrom = function collectionFrom2(C, adder, ENTRY) {
return function from5(source) {
var O = toObject$1(source);
var length = arguments.length;
var mapFn = length > 1 ? arguments[1] : void 0;
var mapping = mapFn !== void 0;
var boundFunction = mapping ? bind$a(mapFn, length > 2 ? arguments[2] : void 0) : void 0;
var result = new C();
var n = 0;
iterate$m(O, function(nextItem) {
var entry = mapping ? boundFunction(nextItem, n++) : nextItem;
if (ENTRY) adder(result, anObject$g(entry)[0], entry[1]);
else adder(result, entry);
});
return result;
};
};
var $$1d = _export;
var MapHelpers$6 = mapHelpers;
var createCollectionFrom$3 = collectionFrom;
$$1d({
target: "Map",
stat: true,
forced: true
}, {
from: createCollectionFrom$3(MapHelpers$6.Map, MapHelpers$6.set, true)
});
var $$1c = _export;
var uncurryThis$e = functionUncurryThis;
var aCallable$b = aCallable$s;
var requireObjectCoercible$4 = requireObjectCoercible$k;
var iterate$l = iterate$y;
var MapHelpers$5 = mapHelpers;
var fails$3 = fails$1e;
var Map$6 = MapHelpers$5.Map;
var has$9 = MapHelpers$5.has;
var get$1 = MapHelpers$5.get;
var set$4 = MapHelpers$5.set;
var push$6 = uncurryThis$e([].push);
var DOES_NOT_WORK_WITH_PRIMITIVES = fails$3(function() {
return Map$6.groupBy("ab", function(it) {
return it;
}).get("a").length !== 1;
});
$$1c({
target: "Map",
stat: true,
forced: DOES_NOT_WORK_WITH_PRIMITIVES
}, {
groupBy: function groupBy(items, callbackfn) {
requireObjectCoercible$4(items);
aCallable$b(callbackfn);
var map4 = new Map$6();
var k2 = 0;
iterate$l(items, function(value) {
var key = callbackfn(value, k2++);
if (!has$9(map4, key)) set$4(map4, key, [value]);
else push$6(get$1(map4, key), value);
});
return map4;
}
});
var sameValueZero$1 = function sameValueZero(x, y) {
return x === y || x !== x && y !== y;
};
var $$1b = _export;
var sameValueZero2 = sameValueZero$1;
var aMap$7 = aMap$d;
var iterate$k = mapIterate;
$$1b({
target: "Map",
proto: true,
real: true,
forced: true
}, {
includes: function includes4(searchElement) {
return iterate$k(aMap$7(this), function(value) {
if (sameValueZero2(value, searchElement)) return true;
}, true) === true;
}
});
var $$1a = _export;
var call$g = functionCall;
var iterate$j = iterate$y;
var isCallable$5 = isCallable$z;
var aCallable$a = aCallable$s;
var Map$5 = mapHelpers.Map;
$$1a({
target: "Map",
stat: true,
forced: true
}, {
keyBy: function keyBy(iterable, keyDerivative) {
var C = isCallable$5(this) ? this : Map$5;
var newMap = new C();
aCallable$a(keyDerivative);
var setter = aCallable$a(newMap.set);
iterate$j(iterable, function(element) {
call$g(setter, newMap, keyDerivative(element), element);
});
return newMap;
}
});
var $$19 = _export;
var aMap$6 = aMap$d;
var iterate$i = mapIterate;
$$19({
target: "Map",
proto: true,
real: true,
forced: true
}, {
keyOf: function keyOf(searchElement) {
var result = iterate$i(aMap$6(this), function(value, key) {
if (value === searchElement) return {
key
};
}, true);
return result && result.key;
}
});
var $$18 = _export;
var bind$9 = functionBindContext;
var aMap$5 = aMap$d;
var MapHelpers$4 = mapHelpers;
var iterate$h = mapIterate;
var Map$4 = MapHelpers$4.Map;
var set$3 = MapHelpers$4.set;
$$18({
target: "Map",
proto: true,
real: true,
forced: true
}, {
mapKeys: function mapKeys(callbackfn) {
var map4 = aMap$5(this);
var boundFunction = bind$9(callbackfn, arguments.length > 1 ? arguments[1] : void 0);
var newMap = new Map$4();
iterate$h(map4, function(value, key) {
set$3(newMap, boundFunction(value, key, map4), value);
});
return newMap;
}
});
var $$17 = _export;
var bind$8 = functionBindContext;
var aMap$4 = aMap$d;
var MapHelpers$3 = mapHelpers;
var iterate$g = mapIterate;
var Map$3 = MapHelpers$3.Map;
var set$2 = MapHelpers$3.set;
$$17({
target: "Map",
proto: true,
real: true,
forced: true
}, {
mapValues: function mapValues(callbackfn) {
var map4 = aMap$4(this);
var boundFunction = bind$8(callbackfn, arguments.length > 1 ? arguments[1] : void 0);
var newMap = new Map$3();
iterate$g(map4, function(value, key) {
set$2(newMap, key, boundFunction(value, key, map4));
});
return newMap;
}
});
var $$16 = _export;
var aMap$3 = aMap$d;
var iterate$f = iterate$y;
var set$1 = mapHelpers.set;
$$16({
target: "Map",
proto: true,
real: true,
arity: 1,
forced: true
}, {
// eslint-disable-next-line no-unused-vars -- required for `.length`
merge: function merge2(iterable) {
var map4 = aMap$3(this);
var argumentsLength = arguments.length;
var i = 0;
while (i < argumentsLength) {
iterate$f(arguments[i++], function(key, value) {
set$1(map4, key, value);
}, {
AS_ENTRIES: true
});
}
return map4;
}
});
var anObject$f = anObject$N;
var collectionOf = function collectionOf2(C, adder, ENTRY) {
return function of4() {
var result = new C();
var length = arguments.length;
for (var index2 = 0; index2 < length; index2++) {
var entry = arguments[index2];
if (ENTRY) adder(result, anObject$f(entry)[0], entry[1]);
else adder(result, entry);
}
return result;
};
};
var $$15 = _export;
var MapHelpers$2 = mapHelpers;
var createCollectionOf$3 = collectionOf;
$$15({
target: "Map",
stat: true,
forced: true
}, {
of: createCollectionOf$3(MapHelpers$2.Map, MapHelpers$2.set, true)
});
var $$14 = _export;
var aCallable$9 = aCallable$s;
var aMap$2 = aMap$d;
var iterate$e = mapIterate;
var $TypeError$8 = TypeError;
$$14({
target: "Map",
proto: true,
real: true,
forced: true
}, {
reduce: function reduce3(callbackfn) {
var map4 = aMap$2(this);
var noInitial = arguments.length < 2;
var accumulator = noInitial ? void 0 : arguments[1];
aCallable$9(callbackfn);
iterate$e(map4, function(value, key) {
if (noInitial) {
noInitial = false;
accumulator = value;
} else {
accumulator = callbackfn(accumulator, value, key, map4);
}
});
if (noInitial) throw new $TypeError$8("Reduce of empty map with no initial value");
return accumulator;
}
});
var $$13 = _export;
var bind$7 = functionBindContext;
var aMap$1 = aMap$d;
var iterate$d = mapIterate;
$$13({
target: "Map",
proto: true,
real: true,
forced: true
}, {
some: function some3(callbackfn) {
var map4 = aMap$1(this);
var boundFunction = bind$7(callbackfn, arguments.length > 1 ? arguments[1] : void 0);
return iterate$d(map4, function(value, key) {
if (boundFunction(value, key, map4)) return true;
}, true) === true;
}
});
var $$12 = _export;
var aCallable$8 = aCallable$s;
var aMap2 = aMap$d;
var MapHelpers$1 = mapHelpers;
var $TypeError$7 = TypeError;
var get4 = MapHelpers$1.get;
var has$8 = MapHelpers$1.has;
var set4 = MapHelpers$1.set;
$$12({
target: "Map",
proto: true,
real: true,
forced: true
}, {
update: function update(key, callback) {
var map4 = aMap2(this);
var length = arguments.length;
aCallable$8(callback);
var isPresentInMap = has$8(map4, key);
if (!isPresentInMap && length < 3) {
throw new $TypeError$7("Updating absent value");
}
var value = isPresentInMap ? get4(map4, key) : aCallable$8(length > 2 ? arguments[2] : void 0)(key, map4);
set4(map4, key, callback(value, key, map4));
return map4;
}
});
var $TypeError$6 = TypeError;
var aNumber$1 = function aNumber(argument) {
if (typeof argument == "number") return argument;
throw new $TypeError$6("Argument is not a number");
};
var $RangeError$4 = RangeError;
var notANan = function notANan2(it) {
if (it === it) return it;
throw new $RangeError$4("NaN is not allowed");
};
var $$11 = _export;
var aNumber2 = aNumber$1;
var notANaN = notANan;
var sameValue = sameValue$2;
var $RangeError$3 = RangeError;
var $min = Math.min;
var $max = Math.max;
$$11({
target: "Math",
stat: true,
forced: true
}, {
clamp: function clamp(value, min2, max2) {
aNumber2(value);
notANaN(aNumber2(min2));
notANaN(aNumber2(max2));
if (sameValue(min2, 0) && sameValue(max2, -0) || min2 > max2) throw new $RangeError$3("`min` should be smaller than `max`");
return $min(max2, $max(min2, value));
}
});
var $$10 = _export;
$$10({
target: "Math",
stat: true,
nonConfigurable: true,
nonWritable: true
}, {
DEG_PER_RAD: Math.PI / 180
});
var $$$ = _export;
var RAD_PER_DEG = 180 / Math.PI;
$$$({
target: "Math",
stat: true,
forced: true
}, {
degrees: function degrees(radians2) {
return radians2 * RAD_PER_DEG;
}
});
var mathScale = function scale(x, inLow, inHigh, outLow, outHigh) {
var nx = +x;
var nInLow = +inLow;
var nInHigh = +inHigh;
var nOutLow = +outLow;
var nOutHigh = +outHigh;
if (nx !== nx || nInLow !== nInLow || nInHigh !== nInHigh || nOutLow !== nOutLow || nOutHigh !== nOutHigh) return NaN;
if (nx === Infinity || nx === -Infinity) return nx;
return (nx - nInLow) * (nOutHigh - nOutLow) / (nInHigh - nInLow) + nOutLow;
};
var $$_ = _export;
var scale$1 = mathScale;
var fround2 = mathFround;
$$_({
target: "Math",
stat: true,
forced: true
}, {
fscale: function fscale(x, inLow, inHigh, outLow, outHigh) {
return fround2(scale$1(x, inLow, inHigh, outLow, outHigh));
}
});
var $$Z = _export;
$$Z({
target: "Math",
stat: true,
forced: true
}, {
iaddh: function iaddh(x0, x1, y0, y1) {
var $x0 = x0 >>> 0;
var $x1 = x1 >>> 0;
var $y0 = y0 >>> 0;
return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;
}
});
var $$Y = _export;
$$Y({
target: "Math",
stat: true,
forced: true
}, {
imulh: function imulh(u, v) {
var UINT16 = 65535;
var $u = +u;
var $v = +v;
var u0 = $u & UINT16;
var v0 = $v & UINT16;
var u1 = $u >> 16;
var v1 = $v >> 16;
var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);
return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);
}
});
var $$X = _export;
$$X({
target: "Math",
stat: true,
forced: true
}, {
isubh: function isubh(x0, x1, y0, y1) {
var $x0 = x0 >>> 0;
var $x1 = x1 >>> 0;
var $y0 = y0 >>> 0;
return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;
}
});
var $$W = _export;
$$W({
target: "Math",
stat: true,
nonConfigurable: true,
nonWritable: true
}, {
RAD_PER_DEG: 180 / Math.PI
});
var $$V = _export;
var DEG_PER_RAD = Math.PI / 180;
$$V({
target: "Math",
stat: true,
forced: true
}, {
radians: function radians(degrees2) {
return degrees2 * DEG_PER_RAD;
}
});
var $$U = _export;
var scale2 = mathScale;
$$U({
target: "Math",
stat: true,
forced: true
}, {
scale: scale2
});
var $$T = _export;
var anObject$e = anObject$N;
var numberIsFinite = numberIsFinite$2;
var createIteratorConstructor$3 = iteratorCreateConstructor;
var createIterResultObject$3 = createIterResultObject$7;
var InternalStateModule$5 = internalState;
var SEEDED_RANDOM = "Seeded Random";
var SEEDED_RANDOM_GENERATOR = SEEDED_RANDOM + " Generator";
var SEED_TYPE_ERROR = 'Math.seededPRNG() argument should have a "seed" field with a finite value.';
var setInternalState$5 = InternalStateModule$5.set;
var getInternalState$2 = InternalStateModule$5.getterFor(SEEDED_RANDOM_GENERATOR);
var $TypeError$5 = TypeError;
var $SeededRandomGenerator = createIteratorConstructor$3(function SeededRandomGenerator(seed2) {
setInternalState$5(this, {
type: SEEDED_RANDOM_GENERATOR,
seed: seed2 % 2147483647
});
}, SEEDED_RANDOM, function next2() {
var state = getInternalState$2(this);
var seed2 = state.seed = (state.seed * 1103515245 + 12345) % 2147483647;
return createIterResultObject$3((seed2 & 1073741823) / 1073741823, false);
});
$$T({
target: "Math",
stat: true,
forced: true
}, {
seededPRNG: function seededPRNG(it) {
var seed2 = anObject$e(it).seed;
if (!numberIsFinite(seed2)) throw new $TypeError$5(SEED_TYPE_ERROR);
return new $SeededRandomGenerator(seed2);
}
});
var $$S = _export;
$$S({
target: "Math",
stat: true,
forced: true
}, {
signbit: function signbit(x) {
var n = +x;
return n === n && n === 0 ? 1 / n === -Infinity : n < 0;
}
});
var $$R = _export;
$$R({
target: "Math",
stat: true,
forced: true
}, {
umulh: function umulh(u, v) {
var UINT16 = 65535;
var $u = +u;
var $v = +v;
var u0 = $u & UINT16;
var v0 = $v & UINT16;
var u1 = $u >>> 16;
var v1 = $v >>> 16;
var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);
return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);
}
});
var $$Q = _export;
var uncurryThis$d = functionUncurryThis;
var toIntegerOrInfinity$2 = toIntegerOrInfinity$f;
var INVALID_NUMBER_REPRESENTATION = "Invalid number representation";
var INVALID_RADIX = "Invalid radix";
var $RangeError$2 = RangeError;
var $SyntaxError = SyntaxError;
var $TypeError$4 = TypeError;
var $parseInt$1 = parseInt;
var pow$1 = Math.pow;
var valid = /^[\d.a-z]+$/;
var charAt$4 = uncurryThis$d("".charAt);
var exec$3 = uncurryThis$d(valid.exec);
var numberToString$1 = uncurryThis$d(1 .toString);
var stringSlice$3 = uncurryThis$d("".slice);
var split$3 = uncurryThis$d("".split);
$$Q({
target: "Number",
stat: true,
forced: true
}, {
fromString: function fromString(string, radix) {
var sign3 = 1;
if (typeof string != "string") throw new $TypeError$4(INVALID_NUMBER_REPRESENTATION);
if (!string.length) throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION);
if (charAt$4(string, 0) === "-") {
sign3 = -1;
string = stringSlice$3(string, 1);
if (!string.length) throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION);
}
var R2 = radix === void 0 ? 10 : toIntegerOrInfinity$2(radix);
if (R2 < 2 || R2 > 36) throw new $RangeError$2(INVALID_RADIX);
if (!exec$3(valid, string)) throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION);
var parts = split$3(string, ".");
var mathNum = $parseInt$1(parts[0], R2);
if (parts.length > 1) mathNum += $parseInt$1(parts[1], R2) / pow$1(R2, parts[1].length);
if (R2 === 10 && numberToString$1(mathNum, R2) !== string) throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION);
return sign3 * mathNum;
}
});
var $$P = _export;
var call$f = functionCall;
var DESCRIPTORS$4 = descriptors;
var setSpecies2 = setSpecies$7;
var aCallable$7 = aCallable$s;
var anObject$d = anObject$N;
var anInstance$2 = anInstance$9;
var isCallable$4 = isCallable$z;
var isNullOrUndefined$2 = isNullOrUndefined$a;
var isObject$4 = isObject$I;
var getMethod$3 = getMethod$b;
var defineBuiltIn$3 = defineBuiltIn$l;
var defineBuiltIns$1 = defineBuiltIns$6;
var defineBuiltInAccessor$2 = defineBuiltInAccessor$e;
var hostReportErrors2 = hostReportErrors$2;
var wellKnownSymbol$7 = wellKnownSymbol$C;
var InternalStateModule$4 = internalState;
var $$OBSERVABLE$1 = wellKnownSymbol$7("observable");
var OBSERVABLE = "Observable";
var SUBSCRIPTION = "Subscription";
var SUBSCRIPTION_OBSERVER = "SubscriptionObserver";
var getterFor2 = InternalStateModule$4.getterFor;
var setInternalState$4 = InternalStateModule$4.set;
var getObservableInternalState = getterFor2(OBSERVABLE);
var getSubscriptionInternalState = getterFor2(SUBSCRIPTION);
var getSubscriptionObserverInternalState = getterFor2(SUBSCRIPTION_OBSERVER);
var SubscriptionState = function SubscriptionState2(observer) {
this.observer = anObject$d(observer);
this.cleanup = null;
this.subscriptionObserver = null;
};
SubscriptionState.prototype = {
type: SUBSCRIPTION,
clean: function clean() {
var cleanup = this.cleanup;
if (cleanup) {
this.cleanup = null;
try {
cleanup();
} catch (error2) {
hostReportErrors2(error2);
}
}
},
close: function close() {
if (!DESCRIPTORS$4) {
var subscription = this.facade;
var subscriptionObserver = this.subscriptionObserver;
subscription.closed = true;
if (subscriptionObserver) subscriptionObserver.closed = true;
}
this.observer = null;
},
isClosed: function isClosed() {
return this.observer === null;
}
};
var Subscription = function Subscription2(observer, subscriber) {
var subscriptionState = setInternalState$4(this, new SubscriptionState(observer));
var start;
if (!DESCRIPTORS$4) this.closed = false;
try {
if (start = getMethod$3(observer, "start")) call$f(start, observer, this);
} catch (error2) {
hostReportErrors2(error2);
}
if (subscriptionState.isClosed()) return;
var subscriptionObserver = subscriptionState.subscriptionObserver = new SubscriptionObserver(subscriptionState);
try {
var cleanup = subscriber(subscriptionObserver);
var subscription = cleanup;
if (!isNullOrUndefined$2(cleanup)) subscriptionState.cleanup = isCallable$4(cleanup.unsubscribe) ? function() {
subscription.unsubscribe();
} : aCallable$7(cleanup);
} catch (error2) {
subscriptionObserver.error(error2);
return;
}
if (subscriptionState.isClosed()) subscriptionState.clean();
};
Subscription.prototype = defineBuiltIns$1({}, {
unsubscribe: function unsubscribe() {
var subscriptionState = getSubscriptionInternalState(this);
if (!subscriptionState.isClosed()) {
subscriptionState.close();
subscriptionState.clean();
}
}
});
if (DESCRIPTORS$4) defineBuiltInAccessor$2(Subscription.prototype, "closed", {
configurable: true,
get: function closed() {
return getSubscriptionInternalState(this).isClosed();
}
});
var SubscriptionObserver = function SubscriptionObserver2(subscriptionState) {
setInternalState$4(this, {
type: SUBSCRIPTION_OBSERVER,
subscriptionState
});
if (!DESCRIPTORS$4) this.closed = false;
};
SubscriptionObserver.prototype = defineBuiltIns$1({}, {
next: function next3(value) {
var subscriptionState = getSubscriptionObserverInternalState(this).subscriptionState;
if (!subscriptionState.isClosed()) {
var observer = subscriptionState.observer;
try {
var nextMethod = getMethod$3(observer, "next");
if (nextMethod) call$f(nextMethod, observer, value);
} catch (error2) {
hostReportErrors2(error2);
}
}
},
error: function error(value) {
var subscriptionState = getSubscriptionObserverInternalState(this).subscriptionState;
if (!subscriptionState.isClosed()) {
var observer = subscriptionState.observer;
subscriptionState.close();
try {
var errorMethod = getMethod$3(observer, "error");
if (errorMethod) call$f(errorMethod, observer, value);
else hostReportErrors2(value);
} catch (err) {
hostReportErrors2(err);
}
subscriptionState.clean();
}
},
complete: function complete() {
var subscriptionState = getSubscriptionObserverInternalState(this).subscriptionState;
if (!subscriptionState.isClosed()) {
var observer = subscriptionState.observer;
subscriptionState.close();
try {
var completeMethod = getMethod$3(observer, "complete");
if (completeMethod) call$f(completeMethod, observer);
} catch (error2) {
hostReportErrors2(error2);
}
subscriptionState.clean();
}
}
});
if (DESCRIPTORS$4) defineBuiltInAccessor$2(SubscriptionObserver.prototype, "closed", {
configurable: true,
get: function closed2() {
return getSubscriptionObserverInternalState(this).subscriptionState.isClosed();
}
});
var $Observable = function Observable(subscriber) {
anInstance$2(this, ObservablePrototype);
setInternalState$4(this, {
type: OBSERVABLE,
subscriber: aCallable$7(subscriber)
});
};
var ObservablePrototype = $Observable.prototype;
defineBuiltIns$1(ObservablePrototype, {
subscribe: function subscribe(observer) {
var length = arguments.length;
return new Subscription(isCallable$4(observer) ? {
next: observer,
error: length > 1 ? arguments[1] : void 0,
complete: length > 2 ? arguments[2] : void 0
} : isObject$4(observer) ? observer : {}, getObservableInternalState(this).subscriber);
}
});
defineBuiltIn$3(ObservablePrototype, $$OBSERVABLE$1, function() {
return this;
});
$$P({
global: true,
constructor: true,
forced: true
}, {
Observable: $Observable
});
setSpecies2(OBSERVABLE);
var $$O = _export;
var getBuiltIn$5 = getBuiltIn$n;
var call$e = functionCall;
var anObject$c = anObject$N;
var isConstructor$1 = isConstructor$7;
var getIterator$1 = getIterator$5;
var getMethod$2 = getMethod$b;
var iterate$c = iterate$y;
var wellKnownSymbol$6 = wellKnownSymbol$C;
var $$OBSERVABLE = wellKnownSymbol$6("observable");
$$O({
target: "Observable",
stat: true,
forced: true
}, {
from: function from4(x) {
var C = isConstructor$1(this) ? this : getBuiltIn$5("Observable");
var observableMethod = getMethod$2(anObject$c(x), $$OBSERVABLE);
if (observableMethod) {
var observable = anObject$c(call$e(observableMethod, x));
return observable.constructor === C ? observable : new C(function(observer) {
return observable.subscribe(observer);
});
}
var iterator2 = getIterator$1(x);
return new C(function(observer) {
iterate$c(iterator2, function(it, stop) {
observer.next(it);
if (observer.closed) return stop();
}, {
IS_ITERATOR: true,
INTERRUPTED: true
});
observer.complete();
});
}
});
var $$N = _export;
var getBuiltIn$4 = getBuiltIn$n;
var isConstructor3 = isConstructor$7;
var Array$1 = getBuiltIn$4("Array");
$$N({
target: "Observable",
stat: true,
forced: true
}, {
of: function of3() {
var C = isConstructor3(this) ? this : getBuiltIn$4("Observable");
var length = arguments.length;
var items = Array$1(length);
var index2 = 0;
while (index2 < length) items[index2] = arguments[index2++];
return new C(function(observer) {
for (var i = 0; i < length; i++) {
observer.next(items[i]);
if (observer.closed) return;
}
observer.complete();
});
}
});
var $$M = _export;
var call$d = functionCall;
var aCallable$6 = aCallable$s;
var newPromiseCapabilityModule$2 = newPromiseCapability$2;
var perform$2 = perform$6;
var iterate$b = iterate$y;
var PROMISE_STATICS_INCORRECT_ITERATION$1 = promiseStaticsIncorrectIteration;
$$M({
target: "Promise",
stat: true,
forced: PROMISE_STATICS_INCORRECT_ITERATION$1
}, {
allSettled: function allSettled(iterable) {
var C = this;
var capability = newPromiseCapabilityModule$2.f(C);
var resolve2 = capability.resolve;
var reject2 = capability.reject;
var result = perform$2(function() {
var promiseResolve3 = aCallable$6(C.resolve);
var values5 = [];
var counter2 = 0;
var remaining = 1;
iterate$b(iterable, function(promise2) {
var index2 = counter2++;
var alreadyCalled = false;
remaining++;
call$d(promiseResolve3, C, promise2).then(function(value) {
if (alreadyCalled) return;
alreadyCalled = true;
values5[index2] = {
status: "fulfilled",
value
};
--remaining || resolve2(values5);
}, function(error2) {
if (alreadyCalled) return;
alreadyCalled = true;
values5[index2] = {
status: "rejected",
reason: error2
};
--remaining || resolve2(values5);
});
});
--remaining || resolve2(values5);
});
if (result.error) reject2(result.value);
return capability.promise;
}
});
var $$L = _export;
var call$c = functionCall;
var aCallable$5 = aCallable$s;
var getBuiltIn$3 = getBuiltIn$n;
var newPromiseCapabilityModule$1 = newPromiseCapability$2;
var perform$1 = perform$6;
var iterate$a = iterate$y;
var PROMISE_STATICS_INCORRECT_ITERATION = promiseStaticsIncorrectIteration;
var PROMISE_ANY_ERROR = "No one promise resolved";
$$L({
target: "Promise",
stat: true,
forced: PROMISE_STATICS_INCORRECT_ITERATION
}, {
any: function any(iterable) {
var C = this;
var AggregateError2 = getBuiltIn$3("AggregateError");
var capability = newPromiseCapabilityModule$1.f(C);
var resolve2 = capability.resolve;
var reject2 = capability.reject;
var result = perform$1(function() {
var promiseResolve3 = aCallable$5(C.resolve);
var errors = [];
var counter2 = 0;
var remaining = 1;
var alreadyResolved = false;
iterate$a(iterable, function(promise2) {
var index2 = counter2++;
var alreadyRejected = false;
remaining++;
call$c(promiseResolve3, C, promise2).then(function(value) {
if (alreadyRejected || alreadyResolved) return;
alreadyResolved = true;
resolve2(value);
}, function(error2) {
if (alreadyRejected || alreadyResolved) return;
alreadyRejected = true;
errors[index2] = error2;
--remaining || reject2(new AggregateError2(errors, PROMISE_ANY_ERROR));
});
});
--remaining || reject2(new AggregateError2(errors, PROMISE_ANY_ERROR));
});
if (result.error) reject2(result.value);
return capability.promise;
}
});
var $$K = _export;
var globalThis$c = globalThis_1;
var apply$1 = functionApply$1;
var slice4 = arraySlice$a;
var newPromiseCapabilityModule = newPromiseCapability$2;
var aCallable$4 = aCallable$s;
var perform2 = perform$6;
var Promise$1 = globalThis$c.Promise;
var ACCEPT_ARGUMENTS = false;
var FORCED = !Promise$1 || !Promise$1["try"] || perform2(function() {
Promise$1["try"](function(argument) {
ACCEPT_ARGUMENTS = argument === 8;
}, 8);
}).error || !ACCEPT_ARGUMENTS;
$$K({
target: "Promise",
stat: true,
forced: FORCED
}, {
"try": function _try(callbackfn) {
var args = arguments.length > 1 ? slice4(arguments, 1) : [];
var promiseCapability = newPromiseCapabilityModule.f(this);
var result = perform2(function() {
return apply$1(aCallable$4(callbackfn), void 0, args);
});
(result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value);
return promiseCapability.promise;
}
});
var getBuiltIn$2 = getBuiltIn$n;
var uncurryThis$c = functionUncurryThis;
var shared2 = shared$8;
var Map$2 = getBuiltIn$2("Map");
var WeakMap$1 = getBuiltIn$2("WeakMap");
var push$5 = uncurryThis$c([].push);
var metadata = shared2("metadata");
var store$1 = metadata.store || (metadata.store = new WeakMap$1());
var getOrCreateMetadataMap$1 = function getOrCreateMetadataMap(target, targetKey, create5) {
var targetMetadata = store$1.get(target);
if (!targetMetadata) {
if (!create5) return;
store$1.set(target, targetMetadata = new Map$2());
}
var keyMetadata = targetMetadata.get(targetKey);
if (!keyMetadata) {
if (!create5) return;
targetMetadata.set(targetKey, keyMetadata = new Map$2());
}
return keyMetadata;
};
var ordinaryHasOwnMetadata$3 = function ordinaryHasOwnMetadata(MetadataKey, O, P2) {
var metadataMap = getOrCreateMetadataMap$1(O, P2, false);
return metadataMap === void 0 ? false : metadataMap.has(MetadataKey);
};
var ordinaryGetOwnMetadata$2 = function ordinaryGetOwnMetadata(MetadataKey, O, P2) {
var metadataMap = getOrCreateMetadataMap$1(O, P2, false);
return metadataMap === void 0 ? void 0 : metadataMap.get(MetadataKey);
};
var ordinaryDefineOwnMetadata$2 = function ordinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P2) {
getOrCreateMetadataMap$1(O, P2, true).set(MetadataKey, MetadataValue);
};
var ordinaryOwnMetadataKeys$2 = function ordinaryOwnMetadataKeys(target, targetKey) {
var metadataMap = getOrCreateMetadataMap$1(target, targetKey, false);
var keys6 = [];
if (metadataMap) metadataMap.forEach(function(_, key) {
push$5(keys6, key);
});
return keys6;
};
var toMetadataKey$9 = function toMetadataKey(it) {
return it === void 0 || _typeof(it) == "symbol" ? it : String(it);
};
var reflectMetadata = {
store: store$1,
getMap: getOrCreateMetadataMap$1,
has: ordinaryHasOwnMetadata$3,
get: ordinaryGetOwnMetadata$2,
set: ordinaryDefineOwnMetadata$2,
keys: ordinaryOwnMetadataKeys$2,
toKey: toMetadataKey$9
};
var $$J = _export;
var ReflectMetadataModule$8 = reflectMetadata;
var anObject$b = anObject$N;
var toMetadataKey$8 = ReflectMetadataModule$8.toKey;
var ordinaryDefineOwnMetadata$1 = ReflectMetadataModule$8.set;
$$J({
target: "Reflect",
stat: true
}, {
defineMetadata: function defineMetadata(metadataKey, metadataValue, target) {
var targetKey = arguments.length < 4 ? void 0 : toMetadataKey$8(arguments[3]);
ordinaryDefineOwnMetadata$1(metadataKey, metadataValue, anObject$b(target), targetKey);
}
});
var $$I = _export;
var ReflectMetadataModule$7 = reflectMetadata;
var anObject$a = anObject$N;
var toMetadataKey$7 = ReflectMetadataModule$7.toKey;
var getOrCreateMetadataMap2 = ReflectMetadataModule$7.getMap;
var store = ReflectMetadataModule$7.store;
$$I({
target: "Reflect",
stat: true
}, {
deleteMetadata: function deleteMetadata(metadataKey, target) {
var targetKey = arguments.length < 3 ? void 0 : toMetadataKey$7(arguments[2]);
var metadataMap = getOrCreateMetadataMap2(anObject$a(target), targetKey, false);
if (metadataMap === void 0 || !metadataMap["delete"](metadataKey)) return false;
if (metadataMap.size) return true;
var targetMetadata = store.get(target);
targetMetadata["delete"](targetKey);
return !!targetMetadata.size || store["delete"](target);
}
});
var $$H = _export;
var ReflectMetadataModule$6 = reflectMetadata;
var anObject$9 = anObject$N;
var getPrototypeOf$2 = objectGetPrototypeOf$2;
var ordinaryHasOwnMetadata$2 = ReflectMetadataModule$6.has;
var ordinaryGetOwnMetadata$1 = ReflectMetadataModule$6.get;
var toMetadataKey$6 = ReflectMetadataModule$6.toKey;
var _ordinaryGetMetadata = function ordinaryGetMetadata(MetadataKey, O, P2) {
var hasOwn3 = ordinaryHasOwnMetadata$2(MetadataKey, O, P2);
if (hasOwn3) return ordinaryGetOwnMetadata$1(MetadataKey, O, P2);
var parent = getPrototypeOf$2(O);
return parent !== null ? _ordinaryGetMetadata(MetadataKey, parent, P2) : void 0;
};
$$H({
target: "Reflect",
stat: true
}, {
getMetadata: function getMetadata(metadataKey, target) {
var targetKey = arguments.length < 3 ? void 0 : toMetadataKey$6(arguments[2]);
return _ordinaryGetMetadata(metadataKey, anObject$9(target), targetKey);
}
});
var uncurryThis$b = functionUncurryThis;
var aCallable$3 = aCallable$s;
var isNullOrUndefined$1 = isNullOrUndefined$a;
var lengthOfArrayLike2 = lengthOfArrayLike$m;
var toObject2 = toObject$s;
var MapHelpers = mapHelpers;
var iterate$9 = mapIterate;
var Map$1 = MapHelpers.Map;
var mapHas = MapHelpers.has;
var mapSet = MapHelpers.set;
var push$4 = uncurryThis$b([].push);
var arrayUniqueBy$1 = function uniqueBy(resolver) {
var that = toObject2(this);
var length = lengthOfArrayLike2(that);
var result = [];
var map4 = new Map$1();
var resolverFunction = !isNullOrUndefined$1(resolver) ? aCallable$3(resolver) : function(value) {
return value;
};
var index2, item, key;
for (index2 = 0; index2 < length; index2++) {
item = that[index2];
key = resolverFunction(item);
if (!mapHas(map4, key)) mapSet(map4, key, item);
}
iterate$9(map4, function(value) {
push$4(result, value);
});
return result;
};
var $$G = _export;
var uncurryThis$a = functionUncurryThis;
var ReflectMetadataModule$5 = reflectMetadata;
var anObject$8 = anObject$N;
var getPrototypeOf$1 = objectGetPrototypeOf$2;
var $arrayUniqueBy = arrayUniqueBy$1;
var arrayUniqueBy = uncurryThis$a($arrayUniqueBy);
var concat2 = uncurryThis$a([].concat);
var ordinaryOwnMetadataKeys$1 = ReflectMetadataModule$5.keys;
var toMetadataKey$5 = ReflectMetadataModule$5.toKey;
var _ordinaryMetadataKeys = function ordinaryMetadataKeys(O, P2) {
var oKeys = ordinaryOwnMetadataKeys$1(O, P2);
var parent = getPrototypeOf$1(O);
if (parent === null) return oKeys;
var pKeys = _ordinaryMetadataKeys(parent, P2);
return pKeys.length ? oKeys.length ? arrayUniqueBy(concat2(oKeys, pKeys)) : pKeys : oKeys;
};
$$G({
target: "Reflect",
stat: true
}, {
getMetadataKeys: function getMetadataKeys(target) {
var targetKey = arguments.length < 2 ? void 0 : toMetadataKey$5(arguments[1]);
return _ordinaryMetadataKeys(anObject$8(target), targetKey);
}
});
var $$F = _export;
var ReflectMetadataModule$4 = reflectMetadata;
var anObject$7 = anObject$N;
var ordinaryGetOwnMetadata2 = ReflectMetadataModule$4.get;
var toMetadataKey$4 = ReflectMetadataModule$4.toKey;
$$F({
target: "Reflect",
stat: true
}, {
getOwnMetadata: function getOwnMetadata(metadataKey, target) {
var targetKey = arguments.length < 3 ? void 0 : toMetadataKey$4(arguments[2]);
return ordinaryGetOwnMetadata2(metadataKey, anObject$7(target), targetKey);
}
});
var $$E = _export;
var ReflectMetadataModule$3 = reflectMetadata;
var anObject$6 = anObject$N;
var ordinaryOwnMetadataKeys2 = ReflectMetadataModule$3.keys;
var toMetadataKey$3 = ReflectMetadataModule$3.toKey;
$$E({
target: "Reflect",
stat: true
}, {
getOwnMetadataKeys: function getOwnMetadataKeys(target) {
var targetKey = arguments.length < 2 ? void 0 : toMetadataKey$3(arguments[1]);
return ordinaryOwnMetadataKeys2(anObject$6(target), targetKey);
}
});
var $$D = _export;
var ReflectMetadataModule$2 = reflectMetadata;
var anObject$5 = anObject$N;
var getPrototypeOf3 = objectGetPrototypeOf$2;
var ordinaryHasOwnMetadata$1 = ReflectMetadataModule$2.has;
var toMetadataKey$2 = ReflectMetadataModule$2.toKey;
var _ordinaryHasMetadata = function ordinaryHasMetadata(MetadataKey, O, P2) {
var hasOwn3 = ordinaryHasOwnMetadata$1(MetadataKey, O, P2);
if (hasOwn3) return true;
var parent = getPrototypeOf3(O);
return parent !== null ? _ordinaryHasMetadata(MetadataKey, parent, P2) : false;
};
$$D({
target: "Reflect",
stat: true
}, {
hasMetadata: function hasMetadata(metadataKey, target) {
var targetKey = arguments.length < 3 ? void 0 : toMetadataKey$2(arguments[2]);
return _ordinaryHasMetadata(metadataKey, anObject$5(target), targetKey);
}
});
var $$C = _export;
var ReflectMetadataModule$1 = reflectMetadata;
var anObject$4 = anObject$N;
var ordinaryHasOwnMetadata2 = ReflectMetadataModule$1.has;
var toMetadataKey$1 = ReflectMetadataModule$1.toKey;
$$C({
target: "Reflect",
stat: true
}, {
hasOwnMetadata: function hasOwnMetadata(metadataKey, target) {
var targetKey = arguments.length < 3 ? void 0 : toMetadataKey$1(arguments[2]);
return ordinaryHasOwnMetadata2(metadataKey, anObject$4(target), targetKey);
}
});
var $$B = _export;
var ReflectMetadataModule = reflectMetadata;
var anObject$3 = anObject$N;
var toMetadataKey2 = ReflectMetadataModule.toKey;
var ordinaryDefineOwnMetadata2 = ReflectMetadataModule.set;
$$B({
target: "Reflect",
stat: true
}, {
metadata: function metadata2(metadataKey, metadataValue) {
return function decorator(target, key) {
ordinaryDefineOwnMetadata2(metadataKey, metadataValue, anObject$3(target), toMetadataKey2(key));
};
}
});
var uncurryThis$9 = functionUncurryThis;
var SetPrototype$1 = Set.prototype;
var setHelpers = {
// eslint-disable-next-line es/no-set -- safe
Set,
add: uncurryThis$9(SetPrototype$1.add),
has: uncurryThis$9(SetPrototype$1.has),
remove: uncurryThis$9(SetPrototype$1["delete"]),
proto: SetPrototype$1
};
var has$7 = setHelpers.has;
var aSet$g = function aSet(it) {
has$7(it);
return it;
};
var $$A = _export;
var aSet$f = aSet$g;
var add$7 = setHelpers.add;
$$A({
target: "Set",
proto: true,
real: true,
forced: true
}, {
addAll: function addAll() {
var set6 = aSet$f(this);
for (var k2 = 0, len = arguments.length; k2 < len; k2++) {
add$7(set6, arguments[k2]);
}
return set6;
}
});
var $$z = _export;
var aSet$e = aSet$g;
var remove$4 = setHelpers.remove;
$$z({
target: "Set",
proto: true,
real: true,
forced: true
}, {
deleteAll: function deleteAll2() {
var collection3 = aSet$e(this);
var allDeleted = true;
var wasDeleted;
for (var k2 = 0, len = arguments.length; k2 < len; k2++) {
wasDeleted = remove$4(collection3, arguments[k2]);
allDeleted = allDeleted && wasDeleted;
}
return !!allDeleted;
}
});
var classof$1 = classof$j;
var hasOwn$2 = hasOwnProperty_1;
var isNullOrUndefined2 = isNullOrUndefined$a;
var wellKnownSymbol$5 = wellKnownSymbol$C;
var Iterators = iterators;
var ITERATOR$3 = wellKnownSymbol$5("iterator");
var $Object = Object;
var isIterable$1 = function isIterable2(it) {
if (isNullOrUndefined2(it)) return false;
var O = $Object(it);
return O[ITERATOR$3] !== void 0 || "@@iterator" in O || hasOwn$2(Iterators, classof$1(O));
};
var getBuiltIn$1 = getBuiltIn$n;
var isCallable$3 = isCallable$z;
var isIterable22 = isIterable$1;
var isObject$3 = isObject$I;
var Set$6 = getBuiltIn$1("Set");
var isSetLike = function isSetLike2(it) {
return isObject$3(it) && typeof it.size == "number" && isCallable$3(it.has) && isCallable$3(it.keys);
};
var toSetLike$7 = function toSetLike(it) {
if (isSetLike(it)) return it;
return isIterable22(it) ? new Set$6(it) : it;
};
var uncurryThis$8 = functionUncurryThis;
var iterateSimple$6 = iterateSimple$8;
var SetHelpers$9 = setHelpers;
var Set$5 = SetHelpers$9.Set;
var SetPrototype = SetHelpers$9.proto;
var forEach$1 = uncurryThis$8(SetPrototype.forEach);
var keys4 = uncurryThis$8(SetPrototype.keys);
var next4 = keys4(new Set$5()).next;
var setIterate = function setIterate2(set6, fn, interruptible) {
return interruptible ? iterateSimple$6({
iterator: keys4(set6),
next: next4
}, fn) : forEach$1(set6, fn);
};
var SetHelpers$8 = setHelpers;
var iterate$8 = setIterate;
var Set$4 = SetHelpers$8.Set;
var add$6 = SetHelpers$8.add;
var setClone = function setClone2(set6) {
var result = new Set$4();
iterate$8(set6, function(it) {
add$6(result, it);
});
return result;
};
var uncurryThisAccessor = functionUncurryThisAccessor;
var SetHelpers$7 = setHelpers;
var setSize = uncurryThisAccessor(SetHelpers$7.proto, "size", "get") || function(set6) {
return set6.size;
};
var getIteratorDirect$1 = function getIteratorDirect(obj) {
return {
iterator: obj,
next: obj.next,
done: false
};
};
var aCallable$2 = aCallable$s;
var anObject$2 = anObject$N;
var call$b = functionCall;
var toIntegerOrInfinity$1 = toIntegerOrInfinity$f;
var getIteratorDirect2 = getIteratorDirect$1;
var INVALID_SIZE = "Invalid size";
var $RangeError$1 = RangeError;
var $TypeError$3 = TypeError;
var max$1 = Math.max;
var SetRecord = function SetRecord2(set6, intSize) {
this.set = set6;
this.size = max$1(intSize, 0);
this.has = aCallable$2(set6.has);
this.keys = aCallable$2(set6.keys);
};
SetRecord.prototype = {
getIterator: function getIterator2() {
return getIteratorDirect2(anObject$2(call$b(this.keys, this.set)));
},
includes: function includes5(it) {
return call$b(this.has, this.set, it);
}
};
var getSetRecord$7 = function getSetRecord(obj) {
anObject$2(obj);
var numSize = +obj.size;
if (numSize !== numSize) throw new $TypeError$3(INVALID_SIZE);
var intSize = toIntegerOrInfinity$1(numSize);
if (intSize < 0) throw new $RangeError$1(INVALID_SIZE);
return new SetRecord(obj, intSize);
};
var aSet$d = aSet$g;
var SetHelpers$6 = setHelpers;
var clone$2 = setClone;
var size$4 = setSize;
var getSetRecord$6 = getSetRecord$7;
var iterateSet$2 = setIterate;
var iterateSimple$5 = iterateSimple$8;
var has$6 = SetHelpers$6.has;
var remove$3 = SetHelpers$6.remove;
var setDifference = function difference(other) {
var O = aSet$d(this);
var otherRec = getSetRecord$6(other);
var result = clone$2(O);
if (size$4(O) <= otherRec.size) iterateSet$2(O, function(e) {
if (otherRec.includes(e)) remove$3(result, e);
});
else iterateSimple$5(otherRec.getIterator(), function(e) {
if (has$6(O, e)) remove$3(result, e);
});
return result;
};
var $$y = _export;
var call$a = functionCall;
var toSetLike$6 = toSetLike$7;
var $difference = setDifference;
$$y({
target: "Set",
proto: true,
real: true,
forced: true
}, {
difference: function difference2(other) {
return call$a($difference, this, toSetLike$6(other));
}
});
var $$x = _export;
var bind$6 = functionBindContext;
var aSet$c = aSet$g;
var iterate$7 = setIterate;
$$x({
target: "Set",
proto: true,
real: true,
forced: true
}, {
every: function every4(callbackfn) {
var set6 = aSet$c(this);
var boundFunction = bind$6(callbackfn, arguments.length > 1 ? arguments[1] : void 0);
return iterate$7(set6, function(value) {
if (!boundFunction(value, value, set6)) return false;
}, true) !== false;
}
});
var $$w = _export;
var bind$5 = functionBindContext;
var aSet$b = aSet$g;
var SetHelpers$5 = setHelpers;
var iterate$6 = setIterate;
var Set$3 = SetHelpers$5.Set;
var add$5 = SetHelpers$5.add;
$$w({
target: "Set",
proto: true,
real: true,
forced: true
}, {
filter: function filter4(callbackfn) {
var set6 = aSet$b(this);
var boundFunction = bind$5(callbackfn, arguments.length > 1 ? arguments[1] : void 0);
var newSet = new Set$3();
iterate$6(set6, function(value) {
if (boundFunction(value, value, set6)) add$5(newSet, value);
});
return newSet;
}
});
var $$v = _export;
var bind$4 = functionBindContext;
var aSet$a = aSet$g;
var iterate$5 = setIterate;
$$v({
target: "Set",
proto: true,
real: true,
forced: true
}, {
find: function find4(callbackfn) {
var set6 = aSet$a(this);
var boundFunction = bind$4(callbackfn, arguments.length > 1 ? arguments[1] : void 0);
var result = iterate$5(set6, function(value) {
if (boundFunction(value, value, set6)) return {
value
};
}, true);
return result && result.value;
}
});
var $$u = _export;
var SetHelpers$4 = setHelpers;
var createCollectionFrom$2 = collectionFrom;
$$u({
target: "Set",
stat: true,
forced: true
}, {
from: createCollectionFrom$2(SetHelpers$4.Set, SetHelpers$4.add, false)
});
var aSet$9 = aSet$g;
var SetHelpers$3 = setHelpers;
var size$3 = setSize;
var getSetRecord$5 = getSetRecord$7;
var iterateSet$1 = setIterate;
var iterateSimple$4 = iterateSimple$8;
var Set$2 = SetHelpers$3.Set;
var add$4 = SetHelpers$3.add;
var has$5 = SetHelpers$3.has;
var setIntersection = function intersection(other) {
var O = aSet$9(this);
var otherRec = getSetRecord$5(other);
var result = new Set$2();
if (size$3(O) > otherRec.size) {
iterateSimple$4(otherRec.getIterator(), function(e) {
if (has$5(O, e)) add$4(result, e);
});
} else {
iterateSet$1(O, function(e) {
if (otherRec.includes(e)) add$4(result, e);
});
}
return result;
};
var $$t = _export;
var call$9 = functionCall;
var toSetLike$5 = toSetLike$7;
var $intersection = setIntersection;
$$t({
target: "Set",
proto: true,
real: true,
forced: true
}, {
intersection: function intersection2(other) {
return call$9($intersection, this, toSetLike$5(other));
}
});
var aSet$8 = aSet$g;
var has$4 = setHelpers.has;
var size$2 = setSize;
var getSetRecord$4 = getSetRecord$7;
var iterateSet = setIterate;
var iterateSimple$3 = iterateSimple$8;
var iteratorClose$1 = iteratorClose$4;
var setIsDisjointFrom = function isDisjointFrom(other) {
var O = aSet$8(this);
var otherRec = getSetRecord$4(other);
if (size$2(O) <= otherRec.size) return iterateSet(O, function(e) {
if (otherRec.includes(e)) return false;
}, true) !== false;
var iterator2 = otherRec.getIterator();
return iterateSimple$3(iterator2, function(e) {
if (has$4(O, e)) return iteratorClose$1(iterator2, "normal", false);
}) !== false;
};
var $$s = _export;
var call$8 = functionCall;
var toSetLike$4 = toSetLike$7;
var $isDisjointFrom = setIsDisjointFrom;
$$s({
target: "Set",
proto: true,
real: true,
forced: true
}, {
isDisjointFrom: function isDisjointFrom2(other) {
return call$8($isDisjointFrom, this, toSetLike$4(other));
}
});
var aSet$7 = aSet$g;
var size$1 = setSize;
var iterate$4 = setIterate;
var getSetRecord$3 = getSetRecord$7;
var setIsSubsetOf = function isSubsetOf(other) {
var O = aSet$7(this);
var otherRec = getSetRecord$3(other);
if (size$1(O) > otherRec.size) return false;
return iterate$4(O, function(e) {
if (!otherRec.includes(e)) return false;
}, true) !== false;
};
var $$r = _export;
var call$7 = functionCall;
var toSetLike$3 = toSetLike$7;
var $isSubsetOf = setIsSubsetOf;
$$r({
target: "Set",
proto: true,
real: true,
forced: true
}, {
isSubsetOf: function isSubsetOf2(other) {
return call$7($isSubsetOf, this, toSetLike$3(other));
}
});
var aSet$6 = aSet$g;
var has$3 = setHelpers.has;
var size = setSize;
var getSetRecord$2 = getSetRecord$7;
var iterateSimple$2 = iterateSimple$8;
var iteratorClose2 = iteratorClose$4;
var setIsSupersetOf = function isSupersetOf(other) {
var O = aSet$6(this);
var otherRec = getSetRecord$2(other);
if (size(O) < otherRec.size) return false;
var iterator2 = otherRec.getIterator();
return iterateSimple$2(iterator2, function(e) {
if (!has$3(O, e)) return iteratorClose2(iterator2, "normal", false);
}) !== false;
};
var $$q = _export;
var call$6 = functionCall;
var toSetLike$2 = toSetLike$7;
var $isSupersetOf = setIsSupersetOf;
$$q({
target: "Set",
proto: true,
real: true,
forced: true
}, {
isSupersetOf: function isSupersetOf2(other) {
return call$6($isSupersetOf, this, toSetLike$2(other));
}
});
var $$p = _export;
var uncurryThis$7 = functionUncurryThis;
var aSet$5 = aSet$g;
var iterate$3 = setIterate;
var toString$4 = toString$t;
var arrayJoin = uncurryThis$7([].join);
var push$3 = uncurryThis$7([].push);
$$p({
target: "Set",
proto: true,
real: true,
forced: true
}, {
join: function join3(separator) {
var set6 = aSet$5(this);
var sep = separator === void 0 ? "," : toString$4(separator);
var array = [];
iterate$3(set6, function(value) {
push$3(array, value);
});
return arrayJoin(array, sep);
}
});
var $$o = _export;
var bind$3 = functionBindContext;
var aSet$4 = aSet$g;
var SetHelpers$2 = setHelpers;
var iterate$2 = setIterate;
var Set$1 = SetHelpers$2.Set;
var add$3 = SetHelpers$2.add;
$$o({
target: "Set",
proto: true,
real: true,
forced: true
}, {
map: function map3(callbackfn) {
var set6 = aSet$4(this);
var boundFunction = bind$3(callbackfn, arguments.length > 1 ? arguments[1] : void 0);
var newSet = new Set$1();
iterate$2(set6, function(value) {
add$3(newSet, boundFunction(value, value, set6));
});
return newSet;
}
});
var $$n = _export;
var SetHelpers$1 = setHelpers;
var createCollectionOf$2 = collectionOf;
$$n({
target: "Set",
stat: true,
forced: true
}, {
of: createCollectionOf$2(SetHelpers$1.Set, SetHelpers$1.add, false)
});
var $$m = _export;
var aCallable$1 = aCallable$s;
var aSet$3 = aSet$g;
var iterate$1 = setIterate;
var $TypeError$2 = TypeError;
$$m({
target: "Set",
proto: true,
real: true,
forced: true
}, {
reduce: function reduce4(callbackfn) {
var set6 = aSet$3(this);
var noInitial = arguments.length < 2;
var accumulator = noInitial ? void 0 : arguments[1];
aCallable$1(callbackfn);
iterate$1(set6, function(value) {
if (noInitial) {
noInitial = false;
accumulator = value;
} else {
accumulator = callbackfn(accumulator, value, value, set6);
}
});
if (noInitial) throw new $TypeError$2("Reduce of empty set with no initial value");
return accumulator;
}
});
var $$l = _export;
var bind$2 = functionBindContext;
var aSet$2 = aSet$g;
var iterate2 = setIterate;
$$l({
target: "Set",
proto: true,
real: true,
forced: true
}, {
some: function some4(callbackfn) {
var set6 = aSet$2(this);
var boundFunction = bind$2(callbackfn, arguments.length > 1 ? arguments[1] : void 0);
return iterate2(set6, function(value) {
if (boundFunction(value, value, set6)) return true;
}, true) === true;
}
});
var aSet$1 = aSet$g;
var SetHelpers = setHelpers;
var clone$1 = setClone;
var getSetRecord$1 = getSetRecord$7;
var iterateSimple$1 = iterateSimple$8;
var add$2 = SetHelpers.add;
var has$2 = SetHelpers.has;
var remove$2 = SetHelpers.remove;
var setSymmetricDifference = function symmetricDifference(other) {
var O = aSet$1(this);
var keysIter = getSetRecord$1(other).getIterator();
var result = clone$1(O);
iterateSimple$1(keysIter, function(e) {
if (has$2(O, e)) remove$2(result, e);
else add$2(result, e);
});
return result;
};
var $$k = _export;
var call$5 = functionCall;
var toSetLike$1 = toSetLike$7;
var $symmetricDifference = setSymmetricDifference;
$$k({
target: "Set",
proto: true,
real: true,
forced: true
}, {
symmetricDifference: function symmetricDifference2(other) {
return call$5($symmetricDifference, this, toSetLike$1(other));
}
});
var aSet2 = aSet$g;
var add$1 = setHelpers.add;
var clone = setClone;
var getSetRecord2 = getSetRecord$7;
var iterateSimple2 = iterateSimple$8;
var setUnion = function union(other) {
var O = aSet2(this);
var keysIter = getSetRecord2(other).getIterator();
var result = clone(O);
iterateSimple2(keysIter, function(it) {
add$1(result, it);
});
return result;
};
var $$j = _export;
var call$4 = functionCall;
var toSetLike2 = toSetLike$7;
var $union = setUnion;
$$j({
target: "Set",
proto: true,
real: true,
forced: true
}, {
union: function union2(other) {
return call$4($union, this, toSetLike2(other));
}
});
var $$i = _export;
var charAt$3 = stringMultibyte.charAt;
var requireObjectCoercible$3 = requireObjectCoercible$k;
var toIntegerOrInfinity2 = toIntegerOrInfinity$f;
var toString$3 = toString$t;
$$i({
target: "String",
proto: true,
forced: true
}, {
at: function at(index2) {
var S = toString$3(requireObjectCoercible$3(this));
var len = S.length;
var relativeIndex = toIntegerOrInfinity2(index2);
var k2 = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
return k2 < 0 || k2 >= len ? void 0 : charAt$3(S, k2);
}
});
var $$h = _export;
var createIteratorConstructor$2 = iteratorCreateConstructor;
var createIterResultObject$2 = createIterResultObject$7;
var requireObjectCoercible$2 = requireObjectCoercible$k;
var toString$2 = toString$t;
var InternalStateModule$3 = internalState;
var StringMultibyteModule = stringMultibyte;
var codeAt$1 = StringMultibyteModule.codeAt;
var charAt$2 = StringMultibyteModule.charAt;
var STRING_ITERATOR = "String Iterator";
var setInternalState$3 = InternalStateModule$3.set;
var getInternalState$1 = InternalStateModule$3.getterFor(STRING_ITERATOR);
var $StringIterator = createIteratorConstructor$2(function StringIterator(string) {
setInternalState$3(this, {
type: STRING_ITERATOR,
string,
index: 0
});
}, "String", function next5() {
var state = getInternalState$1(this);
var string = state.string;
var index2 = state.index;
var point;
if (index2 >= string.length) return createIterResultObject$2(void 0, true);
point = charAt$2(string, index2);
state.index += point.length;
return createIterResultObject$2({
codePoint: codeAt$1(point, 0),
position: index2
}, false);
});
$$h({
target: "String",
proto: true,
forced: true
}, {
codePoints: function codePoints() {
return new $StringIterator(toString$2(requireObjectCoercible$2(this)));
}
});
var $$g = _export;
var call$3 = functionCall;
var uncurryThis$6 = functionUncurryThisClause;
var createIteratorConstructor$1 = iteratorCreateConstructor;
var createIterResultObject$1 = createIterResultObject$7;
var requireObjectCoercible$1 = requireObjectCoercible$k;
var toLength2 = toLength$d;
var toString$1 = toString$t;
var anObject$1 = anObject$N;
var isObject$2 = isObject$I;
var isRegExp$1 = isRegexp;
var getRegExpFlags$1 = regexpGetFlags;
var getMethod$1 = getMethod$b;
var defineBuiltIn$2 = defineBuiltIn$l;
var fails$2 = fails$1e;
var wellKnownSymbol$4 = wellKnownSymbol$C;
var speciesConstructor2 = speciesConstructor$4;
var advanceStringIndex2 = advanceStringIndex$4;
var regExpExec = regexpExecAbstract;
var InternalStateModule$2 = internalState;
var MATCH_ALL = wellKnownSymbol$4("matchAll");
var REGEXP_STRING = "RegExp String";
var REGEXP_STRING_ITERATOR = REGEXP_STRING + " Iterator";
var setInternalState$2 = InternalStateModule$2.set;
var getInternalState = InternalStateModule$2.getterFor(REGEXP_STRING_ITERATOR);
var RegExpPrototype = RegExp.prototype;
var $TypeError$1 = TypeError;
var stringIndexOf = uncurryThis$6("".indexOf);
var nativeMatchAll = uncurryThis$6("".matchAll);
var WORKS_WITH_NON_GLOBAL_REGEX = !!nativeMatchAll && !fails$2(function() {
nativeMatchAll("a", /./);
});
var $RegExpStringIterator = createIteratorConstructor$1(function RegExpStringIterator(regexp, string, $global, fullUnicode) {
setInternalState$2(this, {
type: REGEXP_STRING_ITERATOR,
regexp,
string,
global: $global,
unicode: fullUnicode,
done: false
});
}, REGEXP_STRING, function next6() {
var state = getInternalState(this);
if (state.done) return createIterResultObject$1(void 0, true);
var R2 = state.regexp;
var S = state.string;
var match2 = regExpExec(R2, S);
if (match2 === null) {
state.done = true;
return createIterResultObject$1(void 0, true);
}
if (state.global) {
if (toString$1(match2[0]) === "") R2.lastIndex = advanceStringIndex2(S, toLength2(R2.lastIndex), state.unicode);
return createIterResultObject$1(match2, false);
}
state.done = true;
return createIterResultObject$1(match2, false);
});
var $matchAll = function $matchAll2(string) {
var R2 = anObject$1(this);
var S = toString$1(string);
var C = speciesConstructor2(R2, RegExp);
var flags = toString$1(getRegExpFlags$1(R2));
var matcher, $global, fullUnicode;
matcher = new C(C === RegExp ? R2.source : R2, flags);
$global = !!~stringIndexOf(flags, "g");
fullUnicode = !!~stringIndexOf(flags, "u");
matcher.lastIndex = toLength2(R2.lastIndex);
return new $RegExpStringIterator(matcher, S, $global, fullUnicode);
};
$$g({
target: "String",
proto: true,
forced: WORKS_WITH_NON_GLOBAL_REGEX
}, {
matchAll: function matchAll2(regexp) {
var O = requireObjectCoercible$1(this);
var flags, S, matcher, rx;
if (isObject$2(regexp)) {
if (isRegExp$1(regexp)) {
flags = toString$1(requireObjectCoercible$1(getRegExpFlags$1(regexp)));
if (!~stringIndexOf(flags, "g")) throw new $TypeError$1("`.matchAll` does not allow non-global regexes");
}
if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll(O, regexp);
matcher = getMethod$1(regexp, MATCH_ALL);
if (matcher) return call$3(matcher, regexp, O);
} else if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll(O, regexp);
S = toString$1(O);
rx = new RegExp(regexp, "g");
return rx[MATCH_ALL](S);
}
});
MATCH_ALL in RegExpPrototype || defineBuiltIn$2(RegExpPrototype, MATCH_ALL, $matchAll);
var $$f = _export;
var call$2 = functionCall;
var uncurryThis$5 = functionUncurryThis;
var requireObjectCoercible2 = requireObjectCoercible$k;
var isCallable$2 = isCallable$z;
var isObject$1 = isObject$I;
var isRegExp = isRegexp;
var toString4 = toString$t;
var getMethod2 = getMethod$b;
var getRegExpFlags = regexpGetFlags;
var getSubstitution2 = getSubstitution$2;
var wellKnownSymbol$3 = wellKnownSymbol$C;
var REPLACE = wellKnownSymbol$3("replace");
var $TypeError = TypeError;
var indexOf3 = uncurryThis$5("".indexOf);
uncurryThis$5("".replace);
var stringSlice$2 = uncurryThis$5("".slice);
var max = Math.max;
$$f({
target: "String",
proto: true
}, {
replaceAll: function replaceAll(searchValue, replaceValue) {
var O = requireObjectCoercible2(this);
var IS_REG_EXP, flags, replacer3, string, searchString, functionalReplace, searchLength, advanceBy, position, replacement2;
var endOfLastMatch = 0;
var result = "";
if (isObject$1(searchValue)) {
IS_REG_EXP = isRegExp(searchValue);
if (IS_REG_EXP) {
flags = toString4(requireObjectCoercible2(getRegExpFlags(searchValue)));
if (!~indexOf3(flags, "g")) throw new $TypeError("`.replaceAll` does not allow non-global regexes");
}
replacer3 = getMethod2(searchValue, REPLACE);
if (replacer3) return call$2(replacer3, searchValue, O, replaceValue);
}
string = toString4(O);
searchString = toString4(searchValue);
functionalReplace = isCallable$2(replaceValue);
if (!functionalReplace) replaceValue = toString4(replaceValue);
searchLength = searchString.length;
advanceBy = max(1, searchLength);
position = indexOf3(string, searchString);
while (position !== -1) {
replacement2 = functionalReplace ? toString4(replaceValue(searchString, position, string)) : getSubstitution2(searchString, string, position, [], void 0, replaceValue);
result += stringSlice$2(string, endOfLastMatch, position) + replacement2;
endOfLastMatch = position + searchLength;
position = position + advanceBy > string.length ? -1 : indexOf3(string, searchString, position + advanceBy);
}
if (endOfLastMatch < string.length) {
result += stringSlice$2(string, endOfLastMatch);
}
return result;
}
});
var globalThis$b = globalThis_1;
var defineWellKnownSymbol$2 = wellKnownSymbolDefine;
var defineProperty6 = objectDefineProperty.f;
var getOwnPropertyDescriptor6 = objectGetOwnPropertyDescriptor.f;
var _Symbol = globalThis$b.Symbol;
defineWellKnownSymbol$2("dispose");
if (_Symbol) {
var descriptor = getOwnPropertyDescriptor6(_Symbol, "dispose");
if (descriptor.enumerable && descriptor.configurable && descriptor.writable) {
defineProperty6(_Symbol, "dispose", {
value: descriptor.value,
enumerable: false,
configurable: false,
writable: false
});
}
}
var defineWellKnownSymbol$1 = wellKnownSymbolDefine;
defineWellKnownSymbol$1("observable");
var defineWellKnownSymbol = wellKnownSymbolDefine;
defineWellKnownSymbol("patternMatch");
var uncurryThis$4 = functionUncurryThis;
var WeakMapPrototype = WeakMap.prototype;
var weakMapHelpers = {
// eslint-disable-next-line es/no-weak-map -- safe
WeakMap,
set: uncurryThis$4(WeakMapPrototype.set),
get: uncurryThis$4(WeakMapPrototype.get),
has: uncurryThis$4(WeakMapPrototype.has),
remove: uncurryThis$4(WeakMapPrototype["delete"])
};
var has$1 = weakMapHelpers.has;
var aWeakMap$1 = function aWeakMap(it) {
has$1(it);
return it;
};
var $$e = _export;
var aWeakMap2 = aWeakMap$1;
var remove$1 = weakMapHelpers.remove;
$$e({
target: "WeakMap",
proto: true,
real: true,
forced: true
}, {
deleteAll: function deleteAll3() {
var collection3 = aWeakMap2(this);
var allDeleted = true;
var wasDeleted;
for (var k2 = 0, len = arguments.length; k2 < len; k2++) {
wasDeleted = remove$1(collection3, arguments[k2]);
allDeleted = allDeleted && wasDeleted;
}
return !!allDeleted;
}
});
var $$d = _export;
var WeakMapHelpers$1 = weakMapHelpers;
var createCollectionFrom$1 = collectionFrom;
$$d({
target: "WeakMap",
stat: true,
forced: true
}, {
from: createCollectionFrom$1(WeakMapHelpers$1.WeakMap, WeakMapHelpers$1.set, true)
});
var $$c = _export;
var WeakMapHelpers = weakMapHelpers;
var createCollectionOf$1 = collectionOf;
$$c({
target: "WeakMap",
stat: true,
forced: true
}, {
of: createCollectionOf$1(WeakMapHelpers.WeakMap, WeakMapHelpers.set, true)
});
var uncurryThis$3 = functionUncurryThis;
var WeakSetPrototype = WeakSet.prototype;
var weakSetHelpers = {
// eslint-disable-next-line es/no-weak-set -- safe
WeakSet,
add: uncurryThis$3(WeakSetPrototype.add),
has: uncurryThis$3(WeakSetPrototype.has),
remove: uncurryThis$3(WeakSetPrototype["delete"])
};
var has3 = weakSetHelpers.has;
var aWeakSet$2 = function aWeakSet(it) {
has3(it);
return it;
};
var $$b = _export;
var aWeakSet$1 = aWeakSet$2;
var add2 = weakSetHelpers.add;
$$b({
target: "WeakSet",
proto: true,
real: true,
forced: true
}, {
addAll: function addAll2() {
var set6 = aWeakSet$1(this);
for (var k2 = 0, len = arguments.length; k2 < len; k2++) {
add2(set6, arguments[k2]);
}
return set6;
}
});
var $$a = _export;
var aWeakSet2 = aWeakSet$2;
var remove = weakSetHelpers.remove;
$$a({
target: "WeakSet",
proto: true,
real: true,
forced: true
}, {
deleteAll: function deleteAll4() {
var collection3 = aWeakSet2(this);
var allDeleted = true;
var wasDeleted;
for (var k2 = 0, len = arguments.length; k2 < len; k2++) {
wasDeleted = remove(collection3, arguments[k2]);
allDeleted = allDeleted && wasDeleted;
}
return !!allDeleted;
}
});
var $$9 = _export;
var WeakSetHelpers$1 = weakSetHelpers;
var createCollectionFrom = collectionFrom;
$$9({
target: "WeakSet",
stat: true,
forced: true
}, {
from: createCollectionFrom(WeakSetHelpers$1.WeakSet, WeakSetHelpers$1.add, false)
});
var $$8 = _export;
var WeakSetHelpers = weakSetHelpers;
var createCollectionOf = collectionOf;
$$8({
target: "WeakSet",
stat: true,
forced: true
}, {
of: createCollectionOf(WeakSetHelpers.WeakSet, WeakSetHelpers.add, false)
});
var domIterables = {
CSSRuleList: 0,
CSSStyleDeclaration: 0,
CSSValueList: 0,
ClientRectList: 0,
DOMRectList: 0,
DOMStringList: 0,
DOMTokenList: 1,
DataTransferItemList: 0,
FileList: 0,
HTMLAllCollection: 0,
HTMLCollection: 0,
HTMLFormElement: 0,
HTMLSelectElement: 0,
MediaList: 0,
MimeTypeArray: 0,
NamedNodeMap: 0,
NodeList: 1,
PaintRequestList: 0,
Plugin: 0,
PluginArray: 0,
SVGLengthList: 0,
SVGNumberList: 0,
SVGPathSegList: 0,
SVGPointList: 0,
SVGStringList: 0,
SVGTransformList: 0,
SourceBufferList: 0,
StyleSheetList: 0,
TextTrackCueList: 0,
TextTrackList: 0,
TouchList: 0
};
var documentCreateElement2 = documentCreateElement$2;
var classList = documentCreateElement2("span").classList;
var DOMTokenListPrototype$2 = classList && classList.constructor && classList.constructor.prototype;
var domTokenListPrototype = DOMTokenListPrototype$2 === Object.prototype ? void 0 : DOMTokenListPrototype$2;
var globalThis$a = globalThis_1;
var DOMIterables$1 = domIterables;
var DOMTokenListPrototype$1 = domTokenListPrototype;
var forEach3 = arrayForEach;
var createNonEnumerableProperty$1 = createNonEnumerableProperty$d;
var handlePrototype$1 = function handlePrototype(CollectionPrototype) {
if (CollectionPrototype && CollectionPrototype.forEach !== forEach3) try {
createNonEnumerableProperty$1(CollectionPrototype, "forEach", forEach3);
} catch (error2) {
CollectionPrototype.forEach = forEach3;
}
};
for (var COLLECTION_NAME$1 in DOMIterables$1) {
if (DOMIterables$1[COLLECTION_NAME$1]) {
handlePrototype$1(globalThis$a[COLLECTION_NAME$1] && globalThis$a[COLLECTION_NAME$1].prototype);
}
}
handlePrototype$1(DOMTokenListPrototype$1);
var globalThis$9 = globalThis_1;
var DOMIterables = domIterables;
var DOMTokenListPrototype = domTokenListPrototype;
var ArrayIteratorMethods = es_array_iterator;
var createNonEnumerableProperty = createNonEnumerableProperty$d;
var setToStringTag$2 = setToStringTag$c;
var wellKnownSymbol$2 = wellKnownSymbol$C;
var ITERATOR$2 = wellKnownSymbol$2("iterator");
var ArrayValues = ArrayIteratorMethods.values;
var handlePrototype2 = function handlePrototype3(CollectionPrototype, COLLECTION_NAME) {
if (CollectionPrototype) {
if (CollectionPrototype[ITERATOR$2] !== ArrayValues) try {
createNonEnumerableProperty(CollectionPrototype, ITERATOR$2, ArrayValues);
} catch (error2) {
CollectionPrototype[ITERATOR$2] = ArrayValues;
}
setToStringTag$2(CollectionPrototype, COLLECTION_NAME, true);
if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {
if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {
createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
} catch (error2) {
CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
}
}
}
};
for (var COLLECTION_NAME in DOMIterables) {
handlePrototype2(globalThis$9[COLLECTION_NAME] && globalThis$9[COLLECTION_NAME].prototype, COLLECTION_NAME);
}
handlePrototype2(DOMTokenListPrototype, "DOMTokenList");
var $$7 = _export;
var globalThis$8 = globalThis_1;
var clearImmediate = task$1.clear;
$$7({
global: true,
bind: true,
enumerable: true,
forced: globalThis$8.clearImmediate !== clearImmediate
}, {
clearImmediate
});
var globalThis$7 = globalThis_1;
var apply2 = functionApply$1;
var isCallable$1 = isCallable$z;
var ENVIRONMENT = environment;
var USER_AGENT = environmentUserAgent;
var arraySlice$1 = arraySlice$a;
var validateArgumentsLength$3 = validateArgumentsLength$5;
var Function$1 = globalThis$7.Function;
var WRAP = /MSIE .\./.test(USER_AGENT) || ENVIRONMENT === "BUN" && function() {
var version2 = globalThis$7.Bun.version.split(".");
return version2.length < 3 || version2[0] === "0" && (version2[1] < 3 || version2[1] === "3" && version2[2] === "0");
}();
var schedulersFix$3 = function schedulersFix(scheduler, hasTimeArg) {
var firstParamIndex = hasTimeArg ? 2 : 1;
return WRAP ? function(handler, timeout) {
var boundArgs = validateArgumentsLength$3(arguments.length, 1) > firstParamIndex;
var fn = isCallable$1(handler) ? handler : Function$1(handler);
var params = boundArgs ? arraySlice$1(arguments, firstParamIndex) : [];
var callback = boundArgs ? function() {
apply2(fn, this, params);
} : fn;
return hasTimeArg ? scheduler(callback, timeout) : scheduler(callback);
} : scheduler;
};
var $$6 = _export;
var globalThis$6 = globalThis_1;
var setTask = task$1.set;
var schedulersFix$2 = schedulersFix$3;
var setImmediate$1 = globalThis$6.setImmediate ? schedulersFix$2(setTask, false) : setTask;
$$6({
global: true,
bind: true,
enumerable: true,
forced: globalThis$6.setImmediate !== setImmediate$1
}, {
setImmediate: setImmediate$1
});
var $$5 = _export;
var globalThis$5 = globalThis_1;
var microtask = microtask_1;
var aCallable2 = aCallable$s;
var validateArgumentsLength$2 = validateArgumentsLength$5;
var fails$1 = fails$1e;
var DESCRIPTORS$3 = descriptors;
var WRONG_ARITY = fails$1(function() {
return DESCRIPTORS$3 && Object.getOwnPropertyDescriptor(globalThis$5, "queueMicrotask").value.length !== 1;
});
$$5({
global: true,
enumerable: true,
dontCallGetSet: true,
forced: WRONG_ARITY
}, {
queueMicrotask: function queueMicrotask2(fn) {
validateArgumentsLength$2(arguments.length, 1);
microtask(aCallable2(fn));
}
});
var $$4 = _export;
var globalThis$4 = globalThis_1;
var schedulersFix$1 = schedulersFix$3;
var setInterval$1 = schedulersFix$1(globalThis$4.setInterval, true);
$$4({
global: true,
bind: true,
forced: globalThis$4.setInterval !== setInterval$1
}, {
setInterval: setInterval$1
});
var $$3 = _export;
var globalThis$3 = globalThis_1;
var schedulersFix2 = schedulersFix$3;
var setTimeout$1 = schedulersFix2(globalThis$3.setTimeout, true);
$$3({
global: true,
bind: true,
forced: globalThis$3.setTimeout !== setTimeout$1
}, {
setTimeout: setTimeout$1
});
var fails2 = fails$1e;
var wellKnownSymbol$1 = wellKnownSymbol$C;
var DESCRIPTORS$2 = descriptors;
var IS_PURE = isPure;
var ITERATOR$1 = wellKnownSymbol$1("iterator");
var urlConstructorDetection = !fails2(function() {
var url = new URL("b?a=1&b=2&c=3", "https://a");
var params = url.searchParams;
var params2 = new URLSearchParams("a=1&a=2&b=3");
var result = "";
url.pathname = "c%20d";
params.forEach(function(value, key) {
params["delete"]("b");
result += key + value;
});
params2["delete"]("a", 2);
params2["delete"]("b", void 0);
return IS_PURE && (!url.toJSON || !params2.has("a", 1) || params2.has("a", 2) || !params2.has("a", void 0) || params2.has("b")) || !params.size && (IS_PURE || !DESCRIPTORS$2) || !params.sort || url.href !== "https://a/c%20d?a=1&c=3" || params.get("c") !== "3" || String(new URLSearchParams("?a=1")) !== "a=1" || !params[ITERATOR$1] || new URL("https://a@b").username !== "a" || new URLSearchParams(new URLSearchParams("a=b")).get("a") !== "b" || new URL("https://тест").host !== "xn--e1aybc" || new URL("https://a#б").hash !== "#%D0%B1" || result !== "a1c3" || new URL("https://x", void 0).host !== "x";
});
var uncurryThis$2 = functionUncurryThis;
var maxInt = 2147483647;
var base = 36;
var tMin = 1;
var tMax = 26;
var skew = 38;
var damp = 700;
var initialBias = 72;
var initialN = 128;
var delimiter = "-";
var regexNonASCII = /[^\0-\u007E]/;
var regexSeparators = /[.\u3002\uFF0E\uFF61]/g;
var OVERFLOW_ERROR = "Overflow: input needs wider integers to process";
var baseMinusTMin = base - tMin;
var $RangeError = RangeError;
var exec$2 = uncurryThis$2(regexSeparators.exec);
var floor$1 = Math.floor;
var fromCharCode$1 = String.fromCharCode;
var charCodeAt = uncurryThis$2("".charCodeAt);
var join$2 = uncurryThis$2([].join);
var push$2 = uncurryThis$2([].push);
var replace$2 = uncurryThis$2("".replace);
var split$2 = uncurryThis$2("".split);
var toLowerCase$1 = uncurryThis$2("".toLowerCase);
var ucs2decode = function ucs2decode2(string) {
var output = [];
var counter2 = 0;
var length = string.length;
while (counter2 < length) {
var value = charCodeAt(string, counter2++);
if (value >= 55296 && value <= 56319 && counter2 < length) {
var extra = charCodeAt(string, counter2++);
if ((extra & 64512) === 56320) {
push$2(output, ((value & 1023) << 10) + (extra & 1023) + 65536);
} else {
push$2(output, value);
counter2--;
}
} else {
push$2(output, value);
}
}
return output;
};
var digitToBasic = function digitToBasic2(digit) {
return digit + 22 + 75 * (digit < 26);
};
var adapt = function adapt2(delta, numPoints, firstTime) {
var k2 = 0;
delta = firstTime ? floor$1(delta / damp) : delta >> 1;
delta += floor$1(delta / numPoints);
while (delta > baseMinusTMin * tMax >> 1) {
delta = floor$1(delta / baseMinusTMin);
k2 += base;
}
return floor$1(k2 + (baseMinusTMin + 1) * delta / (delta + skew));
};
var encode = function encode2(input) {
var output = [];
input = ucs2decode(input);
var inputLength = input.length;
var n = initialN;
var delta = 0;
var bias = initialBias;
var i, currentValue;
for (i = 0; i < input.length; i++) {
currentValue = input[i];
if (currentValue < 128) {
push$2(output, fromCharCode$1(currentValue));
}
}
var basicLength = output.length;
var handledCPCount = basicLength;
if (basicLength) {
push$2(output, delimiter);
}
while (handledCPCount < inputLength) {
var m = maxInt;
for (i = 0; i < input.length; i++) {
currentValue = input[i];
if (currentValue >= n && currentValue < m) {
m = currentValue;
}
}
var handledCPCountPlusOne = handledCPCount + 1;
if (m - n > floor$1((maxInt - delta) / handledCPCountPlusOne)) {
throw new $RangeError(OVERFLOW_ERROR);
}
delta += (m - n) * handledCPCountPlusOne;
n = m;
for (i = 0; i < input.length; i++) {
currentValue = input[i];
if (currentValue < n && ++delta > maxInt) {
throw new $RangeError(OVERFLOW_ERROR);
}
if (currentValue === n) {
var q = delta;
var k2 = base;
while (true) {
var t = k2 <= bias ? tMin : k2 >= bias + tMax ? tMax : k2 - bias;
if (q < t) break;
var qMinusT = q - t;
var baseMinusT = base - t;
push$2(output, fromCharCode$1(digitToBasic(t + qMinusT % baseMinusT)));
q = floor$1(qMinusT / baseMinusT);
k2 += base;
}
push$2(output, fromCharCode$1(digitToBasic(q)));
bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);
delta = 0;
handledCPCount++;
}
}
delta++;
n++;
}
return join$2(output, "");
};
var stringPunycodeToAscii = function stringPunycodeToAscii2(input) {
var encoded = [];
var labels = split$2(replace$2(toLowerCase$1(input), regexSeparators, "."), ".");
var i, label;
for (i = 0; i < labels.length; i++) {
label = labels[i];
push$2(encoded, exec$2(regexNonASCII, label) ? "xn--" + encode(label) : label);
}
return join$2(encoded, ".");
};
var $$2 = _export;
var globalThis$2 = globalThis_1;
var safeGetBuiltIn2 = safeGetBuiltIn$2;
var getBuiltIn2 = getBuiltIn$n;
var call$1 = functionCall;
var uncurryThis$1 = functionUncurryThis;
var DESCRIPTORS$1 = descriptors;
var USE_NATIVE_URL$1 = urlConstructorDetection;
var defineBuiltIn$1 = defineBuiltIn$l;
var defineBuiltInAccessor$1 = defineBuiltInAccessor$e;
var defineBuiltIns2 = defineBuiltIns$6;
var setToStringTag$1 = setToStringTag$c;
var createIteratorConstructor = iteratorCreateConstructor;
var InternalStateModule$1 = internalState;
var anInstance$1 = anInstance$9;
var isCallable = isCallable$z;
var hasOwn$1 = hasOwnProperty_1;
var bind$1 = functionBindContext;
var classof = classof$j;
var anObject2 = anObject$N;
var isObject22 = isObject$I;
var $toString$1 = toString$t;
var create3 = objectCreate;
var createPropertyDescriptor2 = createPropertyDescriptor$a;
var getIterator3 = getIterator$5;
var getIteratorMethod2 = getIteratorMethod$5;
var createIterResultObject2 = createIterResultObject$7;
var validateArgumentsLength$1 = validateArgumentsLength$5;
var wellKnownSymbol2 = wellKnownSymbol$C;
var arraySort = arraySort$1;
var ITERATOR = wellKnownSymbol2("iterator");
var URL_SEARCH_PARAMS = "URLSearchParams";
var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + "Iterator";
var setInternalState$1 = InternalStateModule$1.set;
var getInternalParamsState = InternalStateModule$1.getterFor(URL_SEARCH_PARAMS);
var getInternalIteratorState = InternalStateModule$1.getterFor(URL_SEARCH_PARAMS_ITERATOR);
var nativeFetch = safeGetBuiltIn2("fetch");
var NativeRequest = safeGetBuiltIn2("Request");
var Headers = safeGetBuiltIn2("Headers");
var RequestPrototype = NativeRequest && NativeRequest.prototype;
var HeadersPrototype = Headers && Headers.prototype;
var TypeError$2 = globalThis$2.TypeError;
var encodeURIComponent$1 = globalThis$2.encodeURIComponent;
var fromCharCode = String.fromCharCode;
var fromCodePoint2 = getBuiltIn2("String", "fromCodePoint");
var $parseInt = parseInt;
var charAt$1 = uncurryThis$1("".charAt);
var join$1 = uncurryThis$1([].join);
var push$1 = uncurryThis$1([].push);
var replace$1 = uncurryThis$1("".replace);
var shift$1 = uncurryThis$1([].shift);
var splice2 = uncurryThis$1([].splice);
var split$1 = uncurryThis$1("".split);
var stringSlice$1 = uncurryThis$1("".slice);
var exec$1 = uncurryThis$1(/./.exec);
var plus = /\+/g;
var FALLBACK_REPLACER = "�";
var VALID_HEX = /^[0-9a-f]+$/i;
var parseHexOctet = function parseHexOctet2(string, start) {
var substr = stringSlice$1(string, start, start + 2);
if (!exec$1(VALID_HEX, substr)) return NaN;
return $parseInt(substr, 16);
};
var getLeadingOnes = function getLeadingOnes2(octet) {
var count = 0;
for (var mask = 128; mask > 0 && (octet & mask) !== 0; mask >>= 1) {
count++;
}
return count;
};
var utf8Decode = function utf8Decode2(octets) {
var codePoint = null;
switch (octets.length) {
case 1:
codePoint = octets[0];
break;
case 2:
codePoint = (octets[0] & 31) << 6 | octets[1] & 63;
break;
case 3:
codePoint = (octets[0] & 15) << 12 | (octets[1] & 63) << 6 | octets[2] & 63;
break;
case 4:
codePoint = (octets[0] & 7) << 18 | (octets[1] & 63) << 12 | (octets[2] & 63) << 6 | octets[3] & 63;
break;
}
return codePoint > 1114111 ? null : codePoint;
};
var decode = function decode2(input) {
input = replace$1(input, plus, " ");
var length = input.length;
var result = "";
var i = 0;
while (i < length) {
var decodedChar = charAt$1(input, i);
if (decodedChar === "%") {
if (charAt$1(input, i + 1) === "%" || i + 3 > length) {
result += "%";
i++;
continue;
}
var octet = parseHexOctet(input, i + 1);
if (octet !== octet) {
result += decodedChar;
i++;
continue;
}
i += 2;
var byteSequenceLength = getLeadingOnes(octet);
if (byteSequenceLength === 0) {
decodedChar = fromCharCode(octet);
} else {
if (byteSequenceLength === 1 || byteSequenceLength > 4) {
result += FALLBACK_REPLACER;
i++;
continue;
}
var octets = [octet];
var sequenceIndex = 1;
while (sequenceIndex < byteSequenceLength) {
i++;
if (i + 3 > length || charAt$1(input, i) !== "%") break;
var nextByte = parseHexOctet(input, i + 1);
if (nextByte !== nextByte) {
i += 3;
break;
}
if (nextByte > 191 || nextByte < 128) break;
push$1(octets, nextByte);
i += 2;
sequenceIndex++;
}
if (octets.length !== byteSequenceLength) {
result += FALLBACK_REPLACER;
continue;
}
var codePoint = utf8Decode(octets);
if (codePoint === null) {
result += FALLBACK_REPLACER;
} else {
decodedChar = fromCodePoint2(codePoint);
}
}
}
result += decodedChar;
i++;
}
return result;
};
var find5 = /[!'()~]|%20/g;
var replacements = {
"!": "%21",
"'": "%27",
"(": "%28",
")": "%29",
"~": "%7E",
"%20": "+"
};
var replacer = function replacer2(match2) {
return replacements[match2];
};
var _serialize = function serialize(it) {
return replace$1(encodeURIComponent$1(it), find5, replacer);
};
var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
setInternalState$1(this, {
type: URL_SEARCH_PARAMS_ITERATOR,
target: getInternalParamsState(params).entries,
index: 0,
kind
});
}, URL_SEARCH_PARAMS, function next7() {
var state = getInternalIteratorState(this);
var target = state.target;
var index2 = state.index++;
if (!target || index2 >= target.length) {
state.target = null;
return createIterResultObject2(void 0, true);
}
var entry = target[index2];
switch (state.kind) {
case "keys":
return createIterResultObject2(entry.key, false);
case "values":
return createIterResultObject2(entry.value, false);
}
return createIterResultObject2([entry.key, entry.value], false);
}, true);
var URLSearchParamsState = function URLSearchParamsState2(init) {
this.entries = [];
this.url = null;
if (init !== void 0) {
if (isObject22(init)) this.parseObject(init);
else this.parseQuery(typeof init == "string" ? charAt$1(init, 0) === "?" ? stringSlice$1(init, 1) : init : $toString$1(init));
}
};
URLSearchParamsState.prototype = {
type: URL_SEARCH_PARAMS,
bindURL: function bindURL(url) {
this.url = url;
this.update();
},
parseObject: function parseObject(object) {
var entries5 = this.entries;
var iteratorMethod = getIteratorMethod2(object);
var iterator2, next8, step, entryIterator, entryNext, first, second;
if (iteratorMethod) {
iterator2 = getIterator3(object, iteratorMethod);
next8 = iterator2.next;
while (!(step = call$1(next8, iterator2)).done) {
entryIterator = getIterator3(anObject2(step.value));
entryNext = entryIterator.next;
if ((first = call$1(entryNext, entryIterator)).done || (second = call$1(entryNext, entryIterator)).done || !call$1(entryNext, entryIterator).done) throw new TypeError$2("Expected sequence with length 2");
push$1(entries5, {
key: $toString$1(first.value),
value: $toString$1(second.value)
});
}
} else for (var key in object) if (hasOwn$1(object, key)) {
push$1(entries5, {
key,
value: $toString$1(object[key])
});
}
},
parseQuery: function parseQuery(query) {
if (query) {
var entries5 = this.entries;
var attributes = split$1(query, "&");
var index2 = 0;
var attribute, entry;
while (index2 < attributes.length) {
attribute = attributes[index2++];
if (attribute.length) {
entry = split$1(attribute, "=");
push$1(entries5, {
key: decode(shift$1(entry)),
value: decode(join$1(entry, "="))
});
}
}
}
},
serialize: function serialize2() {
var entries5 = this.entries;
var result = [];
var index2 = 0;
var entry;
while (index2 < entries5.length) {
entry = entries5[index2++];
push$1(result, _serialize(entry.key) + "=" + _serialize(entry.value));
}
return join$1(result, "&");
},
update: function update2() {
this.entries.length = 0;
this.parseQuery(this.url.query);
},
updateURL: function updateURL() {
if (this.url) this.url.update();
}
};
var URLSearchParamsConstructor = function URLSearchParams2() {
anInstance$1(this, URLSearchParamsPrototype);
var init = arguments.length > 0 ? arguments[0] : void 0;
var state = setInternalState$1(this, new URLSearchParamsState(init));
if (!DESCRIPTORS$1) this.size = state.entries.length;
};
var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
defineBuiltIns2(URLSearchParamsPrototype, {
// `URLSearchParams.prototype.append` method
// https://url.spec.whatwg.org/#dom-urlsearchparams-append
append: function append2(name2, value) {
var state = getInternalParamsState(this);
validateArgumentsLength$1(arguments.length, 2);
push$1(state.entries, {
key: $toString$1(name2),
value: $toString$1(value)
});
if (!DESCRIPTORS$1) this.length++;
state.updateURL();
},
// `URLSearchParams.prototype.delete` method
// https://url.spec.whatwg.org/#dom-urlsearchparams-delete
"delete": function _delete2(name2) {
var state = getInternalParamsState(this);
var length = validateArgumentsLength$1(arguments.length, 1);
var entries5 = state.entries;
var key = $toString$1(name2);
var $value = length < 2 ? void 0 : arguments[1];
var value = $value === void 0 ? $value : $toString$1($value);
var index2 = 0;
while (index2 < entries5.length) {
var entry = entries5[index2];
if (entry.key === key && (value === void 0 || entry.value === value)) {
splice2(entries5, index2, 1);
if (value !== void 0) break;
} else index2++;
}
if (!DESCRIPTORS$1) this.size = entries5.length;
state.updateURL();
},
// `URLSearchParams.prototype.get` method
// https://url.spec.whatwg.org/#dom-urlsearchparams-get
get: function get5(name2) {
var entries5 = getInternalParamsState(this).entries;
validateArgumentsLength$1(arguments.length, 1);
var key = $toString$1(name2);
var index2 = 0;
for (; index2 < entries5.length; index2++) {
if (entries5[index2].key === key) return entries5[index2].value;
}
return null;
},
// `URLSearchParams.prototype.getAll` method
// https://url.spec.whatwg.org/#dom-urlsearchparams-getall
getAll: function getAll(name2) {
var entries5 = getInternalParamsState(this).entries;
validateArgumentsLength$1(arguments.length, 1);
var key = $toString$1(name2);
var result = [];
var index2 = 0;
for (; index2 < entries5.length; index2++) {
if (entries5[index2].key === key) push$1(result, entries5[index2].value);
}
return result;
},
// `URLSearchParams.prototype.has` method
// https://url.spec.whatwg.org/#dom-urlsearchparams-has
has: function has4(name2) {
var entries5 = getInternalParamsState(this).entries;
var length = validateArgumentsLength$1(arguments.length, 1);
var key = $toString$1(name2);
var $value = length < 2 ? void 0 : arguments[1];
var value = $value === void 0 ? $value : $toString$1($value);
var index2 = 0;
while (index2 < entries5.length) {
var entry = entries5[index2++];
if (entry.key === key && (value === void 0 || entry.value === value)) return true;
}
return false;
},
// `URLSearchParams.prototype.set` method
// https://url.spec.whatwg.org/#dom-urlsearchparams-set
set: function set5(name2, value) {
var state = getInternalParamsState(this);
validateArgumentsLength$1(arguments.length, 1);
var entries5 = state.entries;
var found = false;
var key = $toString$1(name2);
var val = $toString$1(value);
var index2 = 0;
var entry;
for (; index2 < entries5.length; index2++) {
entry = entries5[index2];
if (entry.key === key) {
if (found) splice2(entries5, index2--, 1);
else {
found = true;
entry.value = val;
}
}
}
if (!found) push$1(entries5, {
key,
value: val
});
if (!DESCRIPTORS$1) this.size = entries5.length;
state.updateURL();
},
// `URLSearchParams.prototype.sort` method
// https://url.spec.whatwg.org/#dom-urlsearchparams-sort
sort: function sort4() {
var state = getInternalParamsState(this);
arraySort(state.entries, function(a, b) {
return a.key > b.key ? 1 : -1;
});
state.updateURL();
},
// `URLSearchParams.prototype.forEach` method
forEach: function forEach4(callback) {
var entries5 = getInternalParamsState(this).entries;
var boundFunction = bind$1(callback, arguments.length > 1 ? arguments[1] : void 0);
var index2 = 0;
var entry;
while (index2 < entries5.length) {
entry = entries5[index2++];
boundFunction(entry.value, entry.key, this);
}
},
// `URLSearchParams.prototype.keys` method
keys: function keys5() {
return new URLSearchParamsIterator(this, "keys");
},
// `URLSearchParams.prototype.values` method
values: function values4() {
return new URLSearchParamsIterator(this, "values");
},
// `URLSearchParams.prototype.entries` method
entries: function entries4() {
return new URLSearchParamsIterator(this, "entries");
}
}, {
enumerable: true
});
defineBuiltIn$1(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, {
name: "entries"
});
defineBuiltIn$1(URLSearchParamsPrototype, "toString", function toString5() {
return getInternalParamsState(this).serialize();
}, {
enumerable: true
});
if (DESCRIPTORS$1) defineBuiltInAccessor$1(URLSearchParamsPrototype, "size", {
get: function size2() {
return getInternalParamsState(this).entries.length;
},
configurable: true,
enumerable: true
});
setToStringTag$1(URLSearchParamsConstructor, URL_SEARCH_PARAMS);
$$2({
global: true,
constructor: true,
forced: !USE_NATIVE_URL$1
}, {
URLSearchParams: URLSearchParamsConstructor
});
if (!USE_NATIVE_URL$1 && isCallable(Headers)) {
var headersHas = uncurryThis$1(HeadersPrototype.has);
var headersSet = uncurryThis$1(HeadersPrototype.set);
var wrapRequestOptions = function wrapRequestOptions2(init) {
if (isObject22(init)) {
var body = init.body;
var headers;
if (classof(body) === URL_SEARCH_PARAMS) {
headers = init.headers ? new Headers(init.headers) : new Headers();
if (!headersHas(headers, "content-type")) {
headersSet(headers, "content-type", "application/x-www-form-urlencoded;charset=UTF-8");
}
return create3(init, {
body: createPropertyDescriptor2(0, $toString$1(body)),
headers: createPropertyDescriptor2(0, headers)
});
}
}
return init;
};
if (isCallable(nativeFetch)) {
$$2({
global: true,
enumerable: true,
dontCallGetSet: true,
forced: true
}, {
fetch: function fetch2(input) {
return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});
}
});
}
if (isCallable(NativeRequest)) {
var RequestConstructor = function Request2(input) {
anInstance$1(this, RequestPrototype);
return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});
};
RequestPrototype.constructor = RequestConstructor;
RequestConstructor.prototype = RequestPrototype;
$$2({
global: true,
constructor: true,
dontCallGetSet: true,
forced: true
}, {
Request: RequestConstructor
});
}
}
var web_urlSearchParams_constructor = {
URLSearchParams: URLSearchParamsConstructor,
getState: getInternalParamsState
};
var $$1 = _export;
var DESCRIPTORS = descriptors;
var USE_NATIVE_URL = urlConstructorDetection;
var globalThis$1 = globalThis_1;
var bind3 = functionBindContext;
var uncurryThis = functionUncurryThis;
var defineBuiltIn2 = defineBuiltIn$l;
var defineBuiltInAccessor2 = defineBuiltInAccessor$e;
var anInstance2 = anInstance$9;
var hasOwn2 = hasOwnProperty_1;
var assign2 = objectAssign;
var arrayFrom = arrayFrom$1;
var arraySlice = arraySlice$a;
var codeAt = stringMultibyte.codeAt;
var toASCII = stringPunycodeToAscii;
var $toString = toString$t;
var setToStringTag2 = setToStringTag$c;
var validateArgumentsLength2 = validateArgumentsLength$5;
var URLSearchParamsModule = web_urlSearchParams_constructor;
var InternalStateModule = internalState;
var setInternalState = InternalStateModule.set;
var getInternalURLState = InternalStateModule.getterFor("URL");
var URLSearchParams$1 = URLSearchParamsModule.URLSearchParams;
var getInternalSearchParamsState = URLSearchParamsModule.getState;
var NativeURL = globalThis$1.URL;
var TypeError$1 = globalThis$1.TypeError;
var parseInt$1 = globalThis$1.parseInt;
var floor = Math.floor;
var pow2 = Math.pow;
var charAt = uncurryThis("".charAt);
var exec = uncurryThis(/./.exec);
var join4 = uncurryThis([].join);
var numberToString = uncurryThis(1 .toString);
var pop = uncurryThis([].pop);
var push = uncurryThis([].push);
var replace = uncurryThis("".replace);
var shift = uncurryThis([].shift);
var split = uncurryThis("".split);
var stringSlice = uncurryThis("".slice);
var toLowerCase = uncurryThis("".toLowerCase);
var unshift = uncurryThis([].unshift);
var INVALID_AUTHORITY = "Invalid authority";
var INVALID_SCHEME = "Invalid scheme";
var INVALID_HOST = "Invalid host";
var INVALID_PORT = "Invalid port";
var ALPHA = /[a-z]/i;
var ALPHANUMERIC = /[\d+-.a-z]/i;
var DIGIT = /\d/;
var HEX_START = /^0x/i;
var OCT = /^[0-7]+$/;
var DEC = /^\d+$/;
var HEX = /^[\da-f]+$/i;
var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/;
var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/;
var LEADING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+/;
var TRAILING_C0_CONTROL_OR_SPACE = /(^|[^\u0000-\u0020])[\u0000-\u0020]+$/;
var TAB_AND_NEW_LINE = /[\t\n\r]/g;
var EOF;
var parseIPv4 = function parseIPv42(input) {
var parts = split(input, ".");
var partsLength, numbers, index2, part, radix, number, ipv4;
if (parts.length && parts[parts.length - 1] === "") {
parts.length--;
}
partsLength = parts.length;
if (partsLength > 4) return input;
numbers = [];
for (index2 = 0; index2 < partsLength; index2++) {
part = parts[index2];
if (part === "") return input;
radix = 10;
if (part.length > 1 && charAt(part, 0) === "0") {
radix = exec(HEX_START, part) ? 16 : 8;
part = stringSlice(part, radix === 8 ? 1 : 2);
}
if (part === "") {
number = 0;
} else {
if (!exec(radix === 10 ? DEC : radix === 8 ? OCT : HEX, part)) return input;
number = parseInt$1(part, radix);
}
push(numbers, number);
}
for (index2 = 0; index2 < partsLength; index2++) {
number = numbers[index2];
if (index2 === partsLength - 1) {
if (number >= pow2(256, 5 - partsLength)) return null;
} else if (number > 255) return null;
}
ipv4 = pop(numbers);
for (index2 = 0; index2 < numbers.length; index2++) {
ipv4 += numbers[index2] * pow2(256, 3 - index2);
}
return ipv4;
};
var parseIPv6 = function parseIPv62(input) {
var address = [0, 0, 0, 0, 0, 0, 0, 0];
var pieceIndex = 0;
var compress = null;
var pointer = 0;
var value, length, numbersSeen, ipv4Piece, number, swaps, swap;
var chr = function chr2() {
return charAt(input, pointer);
};
if (chr() === ":") {
if (charAt(input, 1) !== ":") return;
pointer += 2;
pieceIndex++;
compress = pieceIndex;
}
while (chr()) {
if (pieceIndex === 8) return;
if (chr() === ":") {
if (compress !== null) return;
pointer++;
pieceIndex++;
compress = pieceIndex;
continue;
}
value = length = 0;
while (length < 4 && exec(HEX, chr())) {
value = value * 16 + parseInt$1(chr(), 16);
pointer++;
length++;
}
if (chr() === ".") {
if (length === 0) return;
pointer -= length;
if (pieceIndex > 6) return;
numbersSeen = 0;
while (chr()) {
ipv4Piece = null;
if (numbersSeen > 0) {
if (chr() === "." && numbersSeen < 4) pointer++;
else return;
}
if (!exec(DIGIT, chr())) return;
while (exec(DIGIT, chr())) {
number = parseInt$1(chr(), 10);
if (ipv4Piece === null) ipv4Piece = number;
else if (ipv4Piece === 0) return;
else ipv4Piece = ipv4Piece * 10 + number;
if (ipv4Piece > 255) return;
pointer++;
}
address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;
numbersSeen++;
if (numbersSeen === 2 || numbersSeen === 4) pieceIndex++;
}
if (numbersSeen !== 4) return;
break;
} else if (chr() === ":") {
pointer++;
if (!chr()) return;
} else if (chr()) return;
address[pieceIndex++] = value;
}
if (compress !== null) {
swaps = pieceIndex - compress;
pieceIndex = 7;
while (pieceIndex !== 0 && swaps > 0) {
swap = address[pieceIndex];
address[pieceIndex--] = address[compress + swaps - 1];
address[compress + --swaps] = swap;
}
} else if (pieceIndex !== 8) return;
return address;
};
var findLongestZeroSequence = function findLongestZeroSequence2(ipv6) {
var maxIndex = null;
var maxLength = 1;
var currStart = null;
var currLength = 0;
var index2 = 0;
for (; index2 < 8; index2++) {
if (ipv6[index2] !== 0) {
if (currLength > maxLength) {
maxIndex = currStart;
maxLength = currLength;
}
currStart = null;
currLength = 0;
} else {
if (currStart === null) currStart = index2;
++currLength;
}
}
return currLength > maxLength ? currStart : maxIndex;
};
var serializeHost = function serializeHost2(host) {
var result, index2, compress, ignore0;
if (typeof host == "number") {
result = [];
for (index2 = 0; index2 < 4; index2++) {
unshift(result, host % 256);
host = floor(host / 256);
}
return join4(result, ".");
}
if (_typeof(host) == "object") {
result = "";
compress = findLongestZeroSequence(host);
for (index2 = 0; index2 < 8; index2++) {
if (ignore0 && host[index2] === 0) continue;
if (ignore0) ignore0 = false;
if (compress === index2) {
result += index2 ? ":" : "::";
ignore0 = true;
} else {
result += numberToString(host[index2], 16);
if (index2 < 7) result += ":";
}
}
return "[" + result + "]";
}
return host;
};
var C0ControlPercentEncodeSet = {};
var fragmentPercentEncodeSet = assign2({}, C0ControlPercentEncodeSet, {
" ": 1,
'"': 1,
"<": 1,
">": 1,
"`": 1
});
var pathPercentEncodeSet = assign2({}, fragmentPercentEncodeSet, {
"#": 1,
"?": 1,
"{": 1,
"}": 1
});
var userinfoPercentEncodeSet = assign2({}, pathPercentEncodeSet, {
"/": 1,
":": 1,
";": 1,
"=": 1,
"@": 1,
"[": 1,
"\\": 1,
"]": 1,
"^": 1,
"|": 1
});
var percentEncode = function percentEncode2(chr, set6) {
var code = codeAt(chr, 0);
return code > 32 && code < 127 && !hasOwn2(set6, chr) ? chr : encodeURIComponent(chr);
};
var specialSchemes = {
ftp: 21,
file: null,
http: 80,
https: 443,
ws: 80,
wss: 443
};
var isWindowsDriveLetter = function isWindowsDriveLetter2(string, normalized) {
var second;
return string.length === 2 && exec(ALPHA, charAt(string, 0)) && ((second = charAt(string, 1)) === ":" || !normalized && second === "|");
};
var startsWithWindowsDriveLetter = function startsWithWindowsDriveLetter2(string) {
var third;
return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && (string.length === 2 || (third = charAt(string, 2)) === "/" || third === "\\" || third === "?" || third === "#");
};
var isSingleDot = function isSingleDot2(segment) {
return segment === "." || toLowerCase(segment) === "%2e";
};
var isDoubleDot = function isDoubleDot2(segment) {
segment = toLowerCase(segment);
return segment === ".." || segment === "%2e." || segment === ".%2e" || segment === "%2e%2e";
};
var SCHEME_START = {};
var SCHEME = {};
var NO_SCHEME = {};
var SPECIAL_RELATIVE_OR_AUTHORITY = {};
var PATH_OR_AUTHORITY = {};
var RELATIVE = {};
var RELATIVE_SLASH = {};
var SPECIAL_AUTHORITY_SLASHES = {};
var SPECIAL_AUTHORITY_IGNORE_SLASHES = {};
var AUTHORITY = {};
var HOST = {};
var HOSTNAME = {};
var PORT = {};
var FILE = {};
var FILE_SLASH = {};
var FILE_HOST = {};
var PATH_START = {};
var PATH = {};
var CANNOT_BE_A_BASE_URL_PATH = {};
var QUERY = {};
var FRAGMENT = {};
var _URLState = function URLState(url, isBase, base2) {
var urlString = $toString(url);
var baseState, failure, searchParams;
if (isBase) {
failure = this.parse(urlString);
if (failure) throw new TypeError$1(failure);
this.searchParams = null;
} else {
if (base2 !== void 0) baseState = new _URLState(base2, true);
failure = this.parse(urlString, null, baseState);
if (failure) throw new TypeError$1(failure);
searchParams = getInternalSearchParamsState(new URLSearchParams$1());
searchParams.bindURL(this);
this.searchParams = searchParams;
}
};
_URLState.prototype = {
type: "URL",
// https://url.spec.whatwg.org/#url-parsing
// eslint-disable-next-line max-statements -- TODO
parse: function parse(input, stateOverride, base2) {
var url = this;
var state = stateOverride || SCHEME_START;
var pointer = 0;
var buffer = "";
var seenAt = false;
var seenBracket = false;
var seenPasswordToken = false;
var codePoints2, chr, bufferCodePoints, failure;
input = $toString(input);
if (!stateOverride) {
url.scheme = "";
url.username = "";
url.password = "";
url.host = null;
url.port = null;
url.path = [];
url.query = null;
url.fragment = null;
url.cannotBeABaseURL = false;
input = replace(input, LEADING_C0_CONTROL_OR_SPACE, "");
input = replace(input, TRAILING_C0_CONTROL_OR_SPACE, "$1");
}
input = replace(input, TAB_AND_NEW_LINE, "");
codePoints2 = arrayFrom(input);
while (pointer <= codePoints2.length) {
chr = codePoints2[pointer];
switch (state) {
case SCHEME_START:
if (chr && exec(ALPHA, chr)) {
buffer += toLowerCase(chr);
state = SCHEME;
} else if (!stateOverride) {
state = NO_SCHEME;
continue;
} else return INVALID_SCHEME;
break;
case SCHEME:
if (chr && (exec(ALPHANUMERIC, chr) || chr === "+" || chr === "-" || chr === ".")) {
buffer += toLowerCase(chr);
} else if (chr === ":") {
if (stateOverride && (url.isSpecial() !== hasOwn2(specialSchemes, buffer) || buffer === "file" && (url.includesCredentials() || url.port !== null) || url.scheme === "file" && !url.host)) return;
url.scheme = buffer;
if (stateOverride) {
if (url.isSpecial() && specialSchemes[url.scheme] === url.port) url.port = null;
return;
}
buffer = "";
if (url.scheme === "file") {
state = FILE;
} else if (url.isSpecial() && base2 && base2.scheme === url.scheme) {
state = SPECIAL_RELATIVE_OR_AUTHORITY;
} else if (url.isSpecial()) {
state = SPECIAL_AUTHORITY_SLASHES;
} else if (codePoints2[pointer + 1] === "/") {
state = PATH_OR_AUTHORITY;
pointer++;
} else {
url.cannotBeABaseURL = true;
push(url.path, "");
state = CANNOT_BE_A_BASE_URL_PATH;
}
} else if (!stateOverride) {
buffer = "";
state = NO_SCHEME;
pointer = 0;
continue;
} else return INVALID_SCHEME;
break;
case NO_SCHEME:
if (!base2 || base2.cannotBeABaseURL && chr !== "#") return INVALID_SCHEME;
if (base2.cannotBeABaseURL && chr === "#") {
url.scheme = base2.scheme;
url.path = arraySlice(base2.path);
url.query = base2.query;
url.fragment = "";
url.cannotBeABaseURL = true;
state = FRAGMENT;
break;
}
state = base2.scheme === "file" ? FILE : RELATIVE;
continue;
case SPECIAL_RELATIVE_OR_AUTHORITY:
if (chr === "/" && codePoints2[pointer + 1] === "/") {
state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
pointer++;
} else {
state = RELATIVE;
continue;
}
break;
case PATH_OR_AUTHORITY:
if (chr === "/") {
state = AUTHORITY;
break;
} else {
state = PATH;
continue;
}
case RELATIVE:
url.scheme = base2.scheme;
if (chr === EOF) {
url.username = base2.username;
url.password = base2.password;
url.host = base2.host;
url.port = base2.port;
url.path = arraySlice(base2.path);
url.query = base2.query;
} else if (chr === "/" || chr === "\\" && url.isSpecial()) {
state = RELATIVE_SLASH;
} else if (chr === "?") {
url.username = base2.username;
url.password = base2.password;
url.host = base2.host;
url.port = base2.port;
url.path = arraySlice(base2.path);
url.query = "";
state = QUERY;
} else if (chr === "#") {
url.username = base2.username;
url.password = base2.password;
url.host = base2.host;
url.port = base2.port;
url.path = arraySlice(base2.path);
url.query = base2.query;
url.fragment = "";
state = FRAGMENT;
} else {
url.username = base2.username;
url.password = base2.password;
url.host = base2.host;
url.port = base2.port;
url.path = arraySlice(base2.path);
url.path.length--;
state = PATH;
continue;
}
break;
case RELATIVE_SLASH:
if (url.isSpecial() && (chr === "/" || chr === "\\")) {
state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
} else if (chr === "/") {
state = AUTHORITY;
} else {
url.username = base2.username;
url.password = base2.password;
url.host = base2.host;
url.port = base2.port;
state = PATH;
continue;
}
break;
case SPECIAL_AUTHORITY_SLASHES:
state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
if (chr !== "/" || charAt(buffer, pointer + 1) !== "/") continue;
pointer++;
break;
case SPECIAL_AUTHORITY_IGNORE_SLASHES:
if (chr !== "/" && chr !== "\\") {
state = AUTHORITY;
continue;
}
break;
case AUTHORITY:
if (chr === "@") {
if (seenAt) buffer = "%40" + buffer;
seenAt = true;
bufferCodePoints = arrayFrom(buffer);
for (var i = 0; i < bufferCodePoints.length; i++) {
var codePoint = bufferCodePoints[i];
if (codePoint === ":" && !seenPasswordToken) {
seenPasswordToken = true;
continue;
}
var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);
if (seenPasswordToken) url.password += encodedCodePoints;
else url.username += encodedCodePoints;
}
buffer = "";
} else if (chr === EOF || chr === "/" || chr === "?" || chr === "#" || chr === "\\" && url.isSpecial()) {
if (seenAt && buffer === "") return INVALID_AUTHORITY;
pointer -= arrayFrom(buffer).length + 1;
buffer = "";
state = HOST;
} else buffer += chr;
break;
case HOST:
case HOSTNAME:
if (stateOverride && url.scheme === "file") {
state = FILE_HOST;
continue;
} else if (chr === ":" && !seenBracket) {
if (buffer === "") return INVALID_HOST;
failure = url.parseHost(buffer);
if (failure) return failure;
buffer = "";
state = PORT;
if (stateOverride === HOSTNAME) return;
} else if (chr === EOF || chr === "/" || chr === "?" || chr === "#" || chr === "\\" && url.isSpecial()) {
if (url.isSpecial() && buffer === "") return INVALID_HOST;
if (stateOverride && buffer === "" && (url.includesCredentials() || url.port !== null)) return;
failure = url.parseHost(buffer);
if (failure) return failure;
buffer = "";
state = PATH_START;
if (stateOverride) return;
continue;
} else {
if (chr === "[") seenBracket = true;
else if (chr === "]") seenBracket = false;
buffer += chr;
}
break;
case PORT:
if (exec(DIGIT, chr)) {
buffer += chr;
} else if (chr === EOF || chr === "/" || chr === "?" || chr === "#" || chr === "\\" && url.isSpecial() || stateOverride) {
if (buffer !== "") {
var port2 = parseInt$1(buffer, 10);
if (port2 > 65535) return INVALID_PORT;
url.port = url.isSpecial() && port2 === specialSchemes[url.scheme] ? null : port2;
buffer = "";
}
if (stateOverride) return;
state = PATH_START;
continue;
} else return INVALID_PORT;
break;
case FILE:
url.scheme = "file";
if (chr === "/" || chr === "\\") state = FILE_SLASH;
else if (base2 && base2.scheme === "file") {
switch (chr) {
case EOF:
url.host = base2.host;
url.path = arraySlice(base2.path);
url.query = base2.query;
break;
case "?":
url.host = base2.host;
url.path = arraySlice(base2.path);
url.query = "";
state = QUERY;
break;
case "#":
url.host = base2.host;
url.path = arraySlice(base2.path);
url.query = base2.query;
url.fragment = "";
state = FRAGMENT;
break;
default:
if (!startsWithWindowsDriveLetter(join4(arraySlice(codePoints2, pointer), ""))) {
url.host = base2.host;
url.path = arraySlice(base2.path);
url.shortenPath();
}
state = PATH;
continue;
}
} else {
state = PATH;
continue;
}
break;
case FILE_SLASH:
if (chr === "/" || chr === "\\") {
state = FILE_HOST;
break;
}
if (base2 && base2.scheme === "file" && !startsWithWindowsDriveLetter(join4(arraySlice(codePoints2, pointer), ""))) {
if (isWindowsDriveLetter(base2.path[0], true)) push(url.path, base2.path[0]);
else url.host = base2.host;
}
state = PATH;
continue;
case FILE_HOST:
if (chr === EOF || chr === "/" || chr === "\\" || chr === "?" || chr === "#") {
if (!stateOverride && isWindowsDriveLetter(buffer)) {
state = PATH;
} else if (buffer === "") {
url.host = "";
if (stateOverride) return;
state = PATH_START;
} else {
failure = url.parseHost(buffer);
if (failure) return failure;
if (url.host === "localhost") url.host = "";
if (stateOverride) return;
buffer = "";
state = PATH_START;
}
continue;
} else buffer += chr;
break;
case PATH_START:
if (url.isSpecial()) {
state = PATH;
if (chr !== "/" && chr !== "\\") continue;
} else if (!stateOverride && chr === "?") {
url.query = "";
state = QUERY;
} else if (!stateOverride && chr === "#") {
url.fragment = "";
state = FRAGMENT;
} else if (chr !== EOF) {
state = PATH;
if (chr !== "/") continue;
}
break;
case PATH:
if (chr === EOF || chr === "/" || chr === "\\" && url.isSpecial() || !stateOverride && (chr === "?" || chr === "#")) {
if (isDoubleDot(buffer)) {
url.shortenPath();
if (chr !== "/" && !(chr === "\\" && url.isSpecial())) {
push(url.path, "");
}
} else if (isSingleDot(buffer)) {
if (chr !== "/" && !(chr === "\\" && url.isSpecial())) {
push(url.path, "");
}
} else {
if (url.scheme === "file" && !url.path.length && isWindowsDriveLetter(buffer)) {
if (url.host) url.host = "";
buffer = charAt(buffer, 0) + ":";
}
push(url.path, buffer);
}
buffer = "";
if (url.scheme === "file" && (chr === EOF || chr === "?" || chr === "#")) {
while (url.path.length > 1 && url.path[0] === "") {
shift(url.path);
}
}
if (chr === "?") {
url.query = "";
state = QUERY;
} else if (chr === "#") {
url.fragment = "";
state = FRAGMENT;
}
} else {
buffer += percentEncode(chr, pathPercentEncodeSet);
}
break;
case CANNOT_BE_A_BASE_URL_PATH:
if (chr === "?") {
url.query = "";
state = QUERY;
} else if (chr === "#") {
url.fragment = "";
state = FRAGMENT;
} else if (chr !== EOF) {
url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);
}
break;
case QUERY:
if (!stateOverride && chr === "#") {
url.fragment = "";
state = FRAGMENT;
} else if (chr !== EOF) {
if (chr === "'" && url.isSpecial()) url.query += "%27";
else if (chr === "#") url.query += "%23";
else url.query += percentEncode(chr, C0ControlPercentEncodeSet);
}
break;
case FRAGMENT:
if (chr !== EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);
break;
}
pointer++;
}
},
// https://url.spec.whatwg.org/#host-parsing
parseHost: function parseHost(input) {
var result, codePoints2, index2;
if (charAt(input, 0) === "[") {
if (charAt(input, input.length - 1) !== "]") return INVALID_HOST;
result = parseIPv6(stringSlice(input, 1, -1));
if (!result) return INVALID_HOST;
this.host = result;
} else if (!this.isSpecial()) {
if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST;
result = "";
codePoints2 = arrayFrom(input);
for (index2 = 0; index2 < codePoints2.length; index2++) {
result += percentEncode(codePoints2[index2], C0ControlPercentEncodeSet);
}
this.host = result;
} else {
input = toASCII(input);
if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST;
result = parseIPv4(input);
if (result === null) return INVALID_HOST;
this.host = result;
}
},
// https://url.spec.whatwg.org/#cannot-have-a-username-password-port
cannotHaveUsernamePasswordPort: function cannotHaveUsernamePasswordPort() {
return !this.host || this.cannotBeABaseURL || this.scheme === "file";
},
// https://url.spec.whatwg.org/#include-credentials
includesCredentials: function includesCredentials() {
return this.username !== "" || this.password !== "";
},
// https://url.spec.whatwg.org/#is-special
isSpecial: function isSpecial() {
return hasOwn2(specialSchemes, this.scheme);
},
// https://url.spec.whatwg.org/#shorten-a-urls-path
shortenPath: function shortenPath() {
var path2 = this.path;
var pathSize = path2.length;
if (pathSize && (this.scheme !== "file" || pathSize !== 1 || !isWindowsDriveLetter(path2[0], true))) {
path2.length--;
}
},
// https://url.spec.whatwg.org/#concept-url-serializer
serialize: function serialize3() {
var url = this;
var scheme = url.scheme;
var username = url.username;
var password = url.password;
var host = url.host;
var port2 = url.port;
var path2 = url.path;
var query = url.query;
var fragment = url.fragment;
var output = scheme + ":";
if (host !== null) {
output += "//";
if (url.includesCredentials()) {
output += username + (password ? ":" + password : "") + "@";
}
output += serializeHost(host);
if (port2 !== null) output += ":" + port2;
} else if (scheme === "file") output += "//";
output += url.cannotBeABaseURL ? path2[0] : path2.length ? "/" + join4(path2, "/") : "";
if (query !== null) output += "?" + query;
if (fragment !== null) output += "#" + fragment;
return output;
},
// https://url.spec.whatwg.org/#dom-url-href
setHref: function setHref(href) {
var failure = this.parse(href);
if (failure) throw new TypeError$1(failure);
this.searchParams.update();
},
// https://url.spec.whatwg.org/#dom-url-origin
getOrigin: function getOrigin() {
var scheme = this.scheme;
var port2 = this.port;
if (scheme === "blob") try {
return new URLConstructor(scheme.path[0]).origin;
} catch (error2) {
return "null";
}
if (scheme === "file" || !this.isSpecial()) return "null";
return scheme + "://" + serializeHost(this.host) + (port2 !== null ? ":" + port2 : "");
},
// https://url.spec.whatwg.org/#dom-url-protocol
getProtocol: function getProtocol() {
return this.scheme + ":";
},
setProtocol: function setProtocol(protocol) {
this.parse($toString(protocol) + ":", SCHEME_START);
},
// https://url.spec.whatwg.org/#dom-url-username
getUsername: function getUsername() {
return this.username;
},
setUsername: function setUsername(username) {
var codePoints2 = arrayFrom($toString(username));
if (this.cannotHaveUsernamePasswordPort()) return;
this.username = "";
for (var i = 0; i < codePoints2.length; i++) {
this.username += percentEncode(codePoints2[i], userinfoPercentEncodeSet);
}
},
// https://url.spec.whatwg.org/#dom-url-password
getPassword: function getPassword() {
return this.password;
},
setPassword: function setPassword(password) {
var codePoints2 = arrayFrom($toString(password));
if (this.cannotHaveUsernamePasswordPort()) return;
this.password = "";
for (var i = 0; i < codePoints2.length; i++) {
this.password += percentEncode(codePoints2[i], userinfoPercentEncodeSet);
}
},
// https://url.spec.whatwg.org/#dom-url-host
getHost: function getHost() {
var host = this.host;
var port2 = this.port;
return host === null ? "" : port2 === null ? serializeHost(host) : serializeHost(host) + ":" + port2;
},
setHost: function setHost(host) {
if (this.cannotBeABaseURL) return;
this.parse(host, HOST);
},
// https://url.spec.whatwg.org/#dom-url-hostname
getHostname: function getHostname() {
var host = this.host;
return host === null ? "" : serializeHost(host);
},
setHostname: function setHostname(hostname) {
if (this.cannotBeABaseURL) return;
this.parse(hostname, HOSTNAME);
},
// https://url.spec.whatwg.org/#dom-url-port
getPort: function getPort() {
var port2 = this.port;
return port2 === null ? "" : $toString(port2);
},
setPort: function setPort(port2) {
if (this.cannotHaveUsernamePasswordPort()) return;
port2 = $toString(port2);
if (port2 === "") this.port = null;
else this.parse(port2, PORT);
},
// https://url.spec.whatwg.org/#dom-url-pathname
getPathname: function getPathname() {
var path2 = this.path;
return this.cannotBeABaseURL ? path2[0] : path2.length ? "/" + join4(path2, "/") : "";
},
setPathname: function setPathname(pathname) {
if (this.cannotBeABaseURL) return;
this.path = [];
this.parse(pathname, PATH_START);
},
// https://url.spec.whatwg.org/#dom-url-search
getSearch: function getSearch() {
var query = this.query;
return query ? "?" + query : "";
},
setSearch: function setSearch(search) {
search = $toString(search);
if (search === "") {
this.query = null;
} else {
if (charAt(search, 0) === "?") search = stringSlice(search, 1);
this.query = "";
this.parse(search, QUERY);
}
this.searchParams.update();
},
// https://url.spec.whatwg.org/#dom-url-searchparams
getSearchParams: function getSearchParams() {
return this.searchParams.facade;
},
// https://url.spec.whatwg.org/#dom-url-hash
getHash: function getHash() {
var fragment = this.fragment;
return fragment ? "#" + fragment : "";
},
setHash: function setHash(hash) {
hash = $toString(hash);
if (hash === "") {
this.fragment = null;
return;
}
if (charAt(hash, 0) === "#") hash = stringSlice(hash, 1);
this.fragment = "";
this.parse(hash, FRAGMENT);
},
update: function update3() {
this.query = this.searchParams.serialize() || null;
}
};
var URLConstructor = function URL2(url) {
var that = anInstance2(this, URLPrototype);
var base2 = validateArgumentsLength2(arguments.length, 1) > 1 ? arguments[1] : void 0;
var state = setInternalState(that, new _URLState(url, false, base2));
if (!DESCRIPTORS) {
that.href = state.serialize();
that.origin = state.getOrigin();
that.protocol = state.getProtocol();
that.username = state.getUsername();
that.password = state.getPassword();
that.host = state.getHost();
that.hostname = state.getHostname();
that.port = state.getPort();
that.pathname = state.getPathname();
that.search = state.getSearch();
that.searchParams = state.getSearchParams();
that.hash = state.getHash();
}
};
var URLPrototype = URLConstructor.prototype;
var accessorDescriptor = function accessorDescriptor2(getter, setter) {
return {
get: function get6() {
return getInternalURLState(this)[getter]();
},
set: setter && function(value) {
return getInternalURLState(this)[setter](value);
},
configurable: true,
enumerable: true
};
};
if (DESCRIPTORS) {
defineBuiltInAccessor2(URLPrototype, "href", accessorDescriptor("serialize", "setHref"));
defineBuiltInAccessor2(URLPrototype, "origin", accessorDescriptor("getOrigin"));
defineBuiltInAccessor2(URLPrototype, "protocol", accessorDescriptor("getProtocol", "setProtocol"));
defineBuiltInAccessor2(URLPrototype, "username", accessorDescriptor("getUsername", "setUsername"));
defineBuiltInAccessor2(URLPrototype, "password", accessorDescriptor("getPassword", "setPassword"));
defineBuiltInAccessor2(URLPrototype, "host", accessorDescriptor("getHost", "setHost"));
defineBuiltInAccessor2(URLPrototype, "hostname", accessorDescriptor("getHostname", "setHostname"));
defineBuiltInAccessor2(URLPrototype, "port", accessorDescriptor("getPort", "setPort"));
defineBuiltInAccessor2(URLPrototype, "pathname", accessorDescriptor("getPathname", "setPathname"));
defineBuiltInAccessor2(URLPrototype, "search", accessorDescriptor("getSearch", "setSearch"));
defineBuiltInAccessor2(URLPrototype, "searchParams", accessorDescriptor("getSearchParams"));
defineBuiltInAccessor2(URLPrototype, "hash", accessorDescriptor("getHash", "setHash"));
}
defineBuiltIn2(URLPrototype, "toJSON", function toJSON22() {
return getInternalURLState(this).serialize();
}, {
enumerable: true
});
defineBuiltIn2(URLPrototype, "toString", function toString6() {
return getInternalURLState(this).serialize();
}, {
enumerable: true
});
if (NativeURL) {
var nativeCreateObjectURL = NativeURL.createObjectURL;
var nativeRevokeObjectURL = NativeURL.revokeObjectURL;
if (nativeCreateObjectURL) defineBuiltIn2(URLConstructor, "createObjectURL", bind3(nativeCreateObjectURL, NativeURL));
if (nativeRevokeObjectURL) defineBuiltIn2(URLConstructor, "revokeObjectURL", bind3(nativeRevokeObjectURL, NativeURL));
}
setToStringTag2(URLConstructor, "URL");
$$1({
global: true,
constructor: true,
forced: !USE_NATIVE_URL,
sham: !DESCRIPTORS
}, {
URL: URLConstructor
});
var $ = _export;
var call = functionCall;
$({
target: "URL",
proto: true,
enumerable: true
}, {
toJSON: function toJSON3() {
return call(URL.prototype.toString, this);
}
});
var ObsErrorCode = /* @__PURE__ */ function(ObsErrorCode2) {
ObsErrorCode2[ObsErrorCode2["UPLOAD_NETWORK_ERROR"] = 10001] = "UPLOAD_NETWORK_ERROR";
ObsErrorCode2[ObsErrorCode2["SLICE_UPLOAD_INIT_AUTH_ERROR"] = 10022] = "SLICE_UPLOAD_INIT_AUTH_ERROR";
ObsErrorCode2[ObsErrorCode2["SLICE_UPLOAD_INIT_ERROR"] = 10002] = "SLICE_UPLOAD_INIT_ERROR";
ObsErrorCode2[ObsErrorCode2["SLICE_UPLOAD_PART_AUTH_ERROR"] = 10033] = "SLICE_UPLOAD_PART_AUTH_ERROR";
ObsErrorCode2[ObsErrorCode2["SLICE_UPLOAD_PART_ERROR"] = 10003] = "SLICE_UPLOAD_PART_ERROR";
ObsErrorCode2[ObsErrorCode2["SLICE_UPLOAD_MERGE_AUTH_ERROR"] = 10055] = "SLICE_UPLOAD_MERGE_AUTH_ERROR";
ObsErrorCode2[ObsErrorCode2["SLICE_UPLOAD_MERGE_ERROR"] = 10005] = "SLICE_UPLOAD_MERGE_ERROR";
ObsErrorCode2[ObsErrorCode2["SLICE_UPLOAD_GET_FILE_IFNO_ERROR"] = 10006] = "SLICE_UPLOAD_GET_FILE_IFNO_ERROR";
ObsErrorCode2[ObsErrorCode2["ONE_UPLOAD_GET_TIONE_ERROR"] = 10009] = "ONE_UPLOAD_GET_TIONE_ERROR";
ObsErrorCode2[ObsErrorCode2["ONE_UPLOAD_ERROR"] = 10099] = "ONE_UPLOAD_ERROR";
ObsErrorCode2[ObsErrorCode2["UPLOAD_ABORT_ERROR"] = 10007] = "UPLOAD_ABORT_ERROR";
return ObsErrorCode2;
}(ObsErrorCode || {});
var _OBS_ERROR_CODE_MAP;
var OBS_ERROR_CODE_MAP = (_OBS_ERROR_CODE_MAP = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_OBS_ERROR_CODE_MAP, ObsErrorCode.UPLOAD_NETWORK_ERROR, "请求失败,请检查网络"), ObsErrorCode.SLICE_UPLOAD_INIT_AUTH_ERROR, "切片上传文件初始化信息的临时URL获取失败,请检查网络"), ObsErrorCode.SLICE_UPLOAD_INIT_ERROR, "切片上传文件初始化信息获取失败,请检查文件"), ObsErrorCode.SLICE_UPLOAD_PART_AUTH_ERROR, "切片上传文件段的临时URL获取失败,请检查网络"), ObsErrorCode.SLICE_UPLOAD_PART_ERROR, "切片上传文件段失败,请检查文件"), ObsErrorCode.SLICE_UPLOAD_MERGE_AUTH_ERROR, "合并文件段的临时URL获取失败,请检查网络"), ObsErrorCode.SLICE_UPLOAD_MERGE_ERROR, "合并文件段失败,请检查文件"), ObsErrorCode.SLICE_UPLOAD_GET_FILE_IFNO_ERROR, "获取文件信息失败,请检查网络"), ObsErrorCode.ONE_UPLOAD_GET_TIONE_ERROR, "单文件上传获取临时URL失败,请检查网络"), ObsErrorCode.ONE_UPLOAD_ERROR, "单文件上传失败,请检查文件"), _defineProperty(_OBS_ERROR_CODE_MAP, ObsErrorCode.UPLOAD_ABORT_ERROR, "文件上传取消失败,请检查网络"));
var ObsError = /* @__PURE__ */ function(_Error) {
function ObsError2(message, code) {
var _this;
_classCallCheck(this, ObsError2);
_this = _callSuper(this, ObsError2, [message]);
_defineProperty(_this, "code", void 0);
_this.name = "ObsError";
_this.code = code;
return _this;
}
_inherits(ObsError2, _Error);
return _createClass(ObsError2, null, [{
key: "create",
value: function create5(code, message) {
var _ref, _OBS_ERROR_CODE_MAP$c;
return new ObsError2((_ref = (_OBS_ERROR_CODE_MAP$c = OBS_ERROR_CODE_MAP === null || OBS_ERROR_CODE_MAP === void 0 ? void 0 : OBS_ERROR_CODE_MAP[code]) !== null && _OBS_ERROR_CODE_MAP$c !== void 0 ? _OBS_ERROR_CODE_MAP$c : message) !== null && _ref !== void 0 ? _ref : "未知错误", code);
}
}]);
}(/* @__PURE__ */ _wrapNativeSuper(Error));
var UploadFileStatusEnum = /* @__PURE__ */ function(UploadFileStatusEnum2) {
UploadFileStatusEnum2["READY"] = "ready";
UploadFileStatusEnum2["UPLOADING"] = "uploading";
UploadFileStatusEnum2["SUCCESS"] = "success";
UploadFileStatusEnum2["ERROR"] = "error";
UploadFileStatusEnum2["ABORT"] = "abort";
return UploadFileStatusEnum2;
}(UploadFileStatusEnum || {});
var UploadFile = /* @__PURE__ */ function() {
function UploadFile2(globalOptions2, uploadOptions) {
_classCallCheck(this, UploadFile2);
_defineProperty(this, "globalOptions", void 0);
_defineProperty(this, "uploadOptions", void 0);
_defineProperty(this, "uploadStatus", void 0);
_defineProperty(this, "cancelTokenSource", void 0);
_defineProperty(this, "filePath", void 0);
this.globalOptions = globalOptions2;
this.uploadOptions = uploadOptions;
this.uploadStatus = UploadFileStatusEnum.READY;
this.filePath = "";
this.cancelTokenSource = axios.CancelToken.source();
}
return _createClass(UploadFile2, [{
key: "getFileName",
value: function getFileName2() {
return this.uploadOptions.sourceFile.name;
}
/**
* 获取文件上传目录
* @returns 返回文件上传目录
*/
}, {
key: "getFileDir",
value: function getFileDir() {
var _this$filePath$match$, _this$filePath$match;
return (_this$filePath$match$ = (_this$filePath$match = this.filePath.match(/^.*\//)) === null || _this$filePath$match === void 0 ? void 0 : _this$filePath$match[0]) !== null && _this$filePath$match$ !== void 0 ? _this$filePath$match$ : "";
}
/**
* 获取文件完整路径
* @returns 返回文件完整路径
*/
}, {
key: "getFilePath",
value: function getFilePath() {
return this.filePath;
}
/**
* 获取文件下载地址
*/
}, {
key: "getFIleInfo",
value: function() {
var _getFIleInfo = _asyncToGenerator(/* @__PURE__ */ _regeneratorRuntime().mark(function _callee() {
var fileInfo;
return _regeneratorRuntime().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return axios({
url: "/backend-api/tuzai/file/downloadLink/batch",
method: "POST",
data: {
dir: this.getFileDir(),
fileKey: [this.getFileName()]
},
headers: {
Authorization: this.globalOptions.getToken()
},
cancelToken: this.cancelTokenSource.token
});
case 2:
fileInfo = _context.sent;
if (!(fileInfo.data.code !== 200)) {
_context.next = 5;
break;
}
throw ObsError.create(ObsErrorCode.SLICE_UPLOAD_GET_FILE_IFNO_ERROR);
case 5:
return _context.abrupt("return", fileInfo.data.data[0]);
case 6:
case "end":
return _context.stop();
}
}, _callee, this);
}));
function getFIleInfo() {
return _getFIleInfo.apply(this, arguments);
}
return getFIleInfo;
}()
}, {
key: "shouldAbort",
value: function shouldAbort() {
return this.uploadStatus === UploadFileStatusEnum.ABORT;
}
}]);
}();
var OneUploadFile = /* @__PURE__ */ function(_UploadFile) {
function OneUploadFile2(globalOptions2, uploadOptions) {
var _this;
_classCallCheck(this, OneUploadFile2);
_this = _callSuper(this, OneUploadFile2, [globalOptions2, uploadOptions]);
_defineProperty(_this, "signatureData", null);
_this.execute();
return _this;
}
_inherits(OneUploadFile2, _UploadFile);
return _createClass(OneUploadFile2, [{
key: "loadUploadToken",
value: function() {
var _loadUploadToken = _asyncToGenerator(/* @__PURE__ */ _regeneratorRuntime().mark(function _callee() {
var uploadTokenResponse;
return _regeneratorRuntime().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return axios({
url: "/backend-api/tuzai/file/uploadToken",
method: "POST",
headers: {
"Authorization": this.globalOptions.getToken(),
"Content-Type": "application/x-www-form-urlencoded"
},
data: {
fileKey: this.getFileName()
},
cancelToken: this.cancelTokenSource.token
});
case 2:
uploadTokenResponse = _context.sent;
if (!(uploadTokenResponse.data.code !== 200)) {
_context.next = 5;
break;
}
throw ObsError.create(ObsErrorCode.UPLOAD_ABORT_ERROR);
case 5:
return _context.abrupt("return", {
signatureData: uploadTokenResponse.data.data.signatureData,
filePath: uploadTokenResponse.data.data.objectKey
});
case 6:
case "end":
return _context.stop();
}
}, _callee, this);
}));
function loadUploadToken() {
return _loadUploadToken.apply(this, arguments);
}
return loadUploadToken;
}()
}, {
key: "runUploadFile",
value: function() {
var _runUploadFile = _asyncToGenerator(/* @__PURE__ */ _regeneratorRuntime().mark(function _callee2() {
var _this2 = this;
var formData, uploadFileResponse;
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
formData = new FormData();
formData.append("key", this.getFilePath());
formData.append("content-type", this.uploadOptions.sourceFile.type);
formData.append("policy", this.signatureData.policy);
formData.append("AccessKeyId", this.signatureData.accessId);
formData.append("signature", this.signatureData.signature);
formData.append("file", this.uploadOptions.sourceFile);
_context2.next = 9;
return axios({
url: this.signatureData.host,
method: "post",
data: formData,
onUploadProgress: function onUploadProgress(progressEvent) {
var _this2$uploadOptions, _this2$uploadOptions$;
var num = Math.round(progressEvent.loaded / progressEvent.total * 100 || 0);
(_this2$uploadOptions = _this2.uploadOptions) === null || _this2$uploadOptions === void 0 || (_this2$uploadOptions$ = _this2$uploadOptions.onProgress) === null || _this2$uploadOptions$ === void 0 || _this2$uploadOptions$.call(_this2$uploadOptions, {
percent: Math.max(Math.min(99, num), 1)
});
},
cancelToken: this.cancelTokenSource.token
});
case 9:
uploadFileResponse = _context2.sent;
if (!(uploadFileResponse.status >= 300 || uploadFileResponse.status < 200)) {
_context2.next = 12;
break;
}
throw ObsError.create(ObsErrorCode.UPLOAD_ABORT_ERROR);
case 12:
case "end":
return _context2.stop();
}
}, _callee2, this);
}));
function runUploadFile() {
return _runUploadFile.apply(this, arguments);
}
return runUploadFile;
}()
}, {
key: "execute",
value: function() {
var _execute = _asyncToGenerator(/* @__PURE__ */ _regeneratorRuntime().mark(function _callee3() {
var _this$uploadOptions, _this$uploadOptions$o, _this$uploadOptions2, _this$uploadOptions2$, _this$uploadOptions3, _this$uploadOptions3$, _this$uploadOptions4, _this$uploadOptions4$, _this$uploadOptions5, _this$uploadOptions5$, _this$uploadOptions6, _this$uploadOptions6$, _yield$this$loadUploa, signatureData, filePath, fileInfo, _this$uploadOptions7, _this$uploadOptions7$, _this$uploadOptions8, _this$uploadOptions8$;
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
_context3.prev = 0;
this.uploadStatus = UploadFileStatusEnum.READY;
(_this$uploadOptions = this.uploadOptions) === null || _this$uploadOptions === void 0 || (_this$uploadOptions$o = _this$uploadOptions.onStart) === null || _this$uploadOptions$o === void 0 || _this$uploadOptions$o.call(_this$uploadOptions);
(_this$uploadOptions2 = this.uploadOptions) === null || _this$uploadOptions2 === void 0 || (_this$uploadOptions2$ = _this$uploadOptions2.onProgress) === null || _this$uploadOptions2$ === void 0 || _this$uploadOptions2$.call(_this$uploadOptions2, {
percent: 0
});
_context3.next = 6;
return this.loadUploadToken();
case 6:
_yield$this$loadUploa = _context3.sent;
signatureData = _yield$this$loadUploa.signatureData;
filePath = _yield$this$loadUploa.filePath;
this.signatureData = signatureData;
this.filePath = filePath;
(_this$uploadOptions3 = this.uploadOptions) === null || _this$uploadOptions3 === void 0 || (_this$uploadOptions3$ = _this$uploadOptions3.onProgress) === null || _this$uploadOptions3$ === void 0 || _this$uploadOptions3$.call(_this$uploadOptions3, {
percent: 1
});
_context3.next = 14;
return this.runUploadFile();
case 14:
(_this$uploadOptions4 = this.uploadOptions) === null || _this$uploadOptions4 === void 0 || (_this$uploadOptions4$ = _this$uploadOptions4.onProgress) === null || _this$uploadOptions4$ === void 0 || _this$uploadOptions4$.call(_this$uploadOptions4, {
percent: 99
});
_context3.next = 17;
return this.getFIleInfo();
case 17:
fileInfo = _context3.sent;
(_this$uploadOptions5 = this.uploadOptions) === null || _this$uploadOptions5 === void 0 || (_this$uploadOptions5$ = _this$uploadOptions5.onProgress) === null || _this$uploadOptions5$ === void 0 || _this$uploadOptions5$.call(_this$uploadOptions5, {
percent: 100
});
(_this$uploadOptions6 = this.uploadOptions) === null || _this$uploadOptions6 === void 0 || (_this$uploadOptions6$ = _this$uploadOptions6.onSuccess) === null || _this$uploadOptions6$ === void 0 || _this$uploadOptions6$.call(_this$uploadOptions6, {
sourceFile: this.uploadOptions.sourceFile,
fileInfo
});
_context3.next = 28;
break;
case 22:
_context3.prev = 22;
_context3.t0 = _context3["catch"](0);
if (!this.shouldAbort()) {
_context3.next = 26;
break;
}
return _context3.abrupt("return");
case 26:
this.uploadStatus = UploadFileStatusEnum.ERROR;
(_this$uploadOptions7 = this.uploadOptions) === null || _this$uploadOptions7 === void 0 || (_this$uploadOptions7$ = _this$uploadOptions7.onError) === null || _this$uploadOptions7$ === void 0 || _this$uploadOptions7$.call(_this$uploadOptions7, _context3.t0);
case 28:
_context3.prev = 28;
(_this$uploadOptions8 = this.uploadOptions) === null || _this$uploadOptions8 === void 0 || (_this$uploadOptions8$ = _this$uploadOptions8.onFinally) === null || _this$uploadOptions8$ === void 0 || _this$uploadOptions8$.call(_this$uploadOptions8);
return _context3.finish(28);
case 31:
case "end":
return _context3.stop();
}
}, _callee3, this, [[0, 22, 28, 31]]);
}));
function execute() {
return _execute.apply(this, arguments);
}
return execute;
}()
}, {
key: "abort",
value: function abort() {
var _this$uploadOptions9, _this$uploadOptions9$;
this.cancelTokenSource.cancel();
this.uploadStatus = UploadFileStatusEnum.ABORT;
(_this$uploadOptions9 = this.uploadOptions) === null || _this$uploadOptions9 === void 0 || (_this$uploadOptions9$ = _this$uploadOptions9.onAbort) === null || _this$uploadOptions9$ === void 0 || _this$uploadOptions9$.call(_this$uploadOptions9);
}
}]);
}(UploadFile);
var SliceUploadFile = /* @__PURE__ */ function(_UploadFile) {
function SliceUploadFile2(globalOptions2, uploadOptions) {
var _this;
_classCallCheck(this, SliceUploadFile2);
_this = _callSuper(this, SliceUploadFile2, [globalOptions2, uploadOptions]);
_defineProperty(_this, "fileParts", void 0);
_defineProperty(_this, "etagList", void 0);
_defineProperty(_this, "uploadId", void 0);
_this.fileParts = [];
_this.etagList = [];
_this.uploadId = "";
_this.execute();
return _this;
}
_inherits(SliceUploadFile2, _UploadFile);
return _createClass(SliceUploadFile2, [{
key: "loadUploadId",
value: function() {
var _loadUploadId = _asyncToGenerator(/* @__PURE__ */ _regeneratorRuntime().mark(function _callee() {
var authResponse, obsResponse, obsXmlData, UploadId;
return _regeneratorRuntime().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return axios({
url: "/backend-api/tuzai/file/presign/initiateMultiPartUpload",
method: "POST",
data: {
fileKey: this.getFileName(),
contentType: this.uploadOptions.sourceFile.type
},
headers: {
Authorization: this.globalOptions.getToken()
},
cancelToken: this.cancelTokenSource.token
});
case 2:
authResponse = _context.sent;
if (!(authResponse.data.code !== 200)) {
_context.next = 5;
break;
}
throw ObsError.create(ObsErrorCode.SLICE_UPLOAD_INIT_ERROR);
case 5:
this.filePath = authResponse.data.data.objectKey;
_context.next = 8;
return axios({
url: authResponse.data.data.signedUrl,
method: "POST",
withCredentials: false,
headers: authResponse.data.data.actualSignedRequestHeaders || {},
maxRedirects: 0,
responseType: "text",
cancelToken: this.cancelTokenSource.token
});
case 8:
obsResponse = _context.sent;
if (!(obsResponse.status > 300 || obsResponse.status < 200)) {
_context.next = 11;
break;
}
throw ObsError.create(ObsErrorCode.SLICE_UPLOAD_INIT_ERROR);
case 11:
obsXmlData = new DOMParser().parseFromString(obsResponse.data, "text/xml");
UploadId = obsXmlData.getElementsByTagName("UploadId")[0].innerHTML;
return _context.abrupt("return", UploadId);
case 14:
case "end":
return _context.stop();
}
}, _callee, this);
}));
function loadUploadId() {
return _loadUploadId.apply(this, arguments);
}
return loadUploadId;
}()
}, {
key: "generateFileParts",
value: function generateFileParts() {
var fileSize = this.uploadOptions.sourceFile.size;
var fileParts = [];
var index2 = 0;
var offset = 0;
while (offset < fileSize) {
var size3 = Math.min(this.uploadOptions.partSize, fileSize - offset);
var filePart = {
index: index2 + 1,
size: size3,
offset
};
fileParts.push(filePart);
offset += this.uploadOptions.partSize;
index2 += 1;
}
return fileParts;
}
/**
* 上传各个分片。
* @returns 返回上传结果数组
*/
}, {
key: "uploadFileParts",
value: function() {
var _uploadFileParts = _asyncToGenerator(/* @__PURE__ */ _regeneratorRuntime().mark(function _callee2() {
var etagList, i, _this$uploadOptions, _this$uploadOptions$o, filePart, authResponse, obsResponse;
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
etagList = [];
i = 0;
case 2:
if (!(i < this.fileParts.length)) {
_context2.next = 19;
break;
}
filePart = this.fileParts[i];
_context2.next = 6;
return axios({
url: "/backend-api/tuzai/file/presign/multiPartUpload",
method: "POST",
data: {
fileKey: this.getFilePath(),
contentType: this.uploadOptions.sourceFile.type,
partNumber: filePart.index,
uploadId: this.uploadId
},
headers: {
Authorization: this.globalOptions.getToken()
},
cancelToken: this.cancelTokenSource.token
});
case 6:
authResponse = _context2.sent;
if (!(authResponse.data.code !== 200)) {
_context2.next = 9;
break;
}
throw ObsError.create(ObsErrorCode.SLICE_UPLOAD_INIT_AUTH_ERROR);
case 9:
_context2.next = 11;
return axios({
method: "PUT",
url: authResponse.data.data.signedUrl,
withCredentials: false,
headers: authResponse.data.data.actualSignedRequestHeaders || {},
maxRedirects: 0,
responseType: "text",
data: this.uploadOptions.sourceFile.slice(filePart.offset, filePart.offset + filePart.size),
cancelToken: this.cancelTokenSource.token
});
case 11:
obsResponse = _context2.sent;
if (!(obsResponse.status > 300 || obsResponse.status < 200)) {
_context2.next = 14;
break;
}
throw ObsError.create(ObsErrorCode.SLICE_UPLOAD_PART_ERROR);
case 14:
etagList.push({
ETag: JSON.parse(obsResponse.headers.etag),
PartNumber: filePart.index
});
(_this$uploadOptions = this.uploadOptions) === null || _this$uploadOptions === void 0 || (_this$uploadOptions$o = _this$uploadOptions.onProgress) === null || _this$uploadOptions$o === void 0 || _this$uploadOptions$o.call(_this$uploadOptions, {
percent: Math.max(Math.min(98, Math.round(filePart.index / this.fileParts.length * 100 || 0)), 1)
});
case 16:
i += 1;
_context2.next = 2;
break;
case 19:
return _context2.abrupt("return", etagList);
case 20:
case "end":
return _context2.stop();
}
}, _callee2, this);
}));
function uploadFileParts() {
return _uploadFileParts.apply(this, arguments);
}
return uploadFileParts;
}()
}, {
key: "mergeFileParts",
value: function() {
var _mergeFileParts = _asyncToGenerator(/* @__PURE__ */ _regeneratorRuntime().mark(function _callee3() {
var authResponse, content, obsResponse;
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return axios({
url: "/backend-api/tuzai/file/presign/completeMultiPartUpload",
method: "POST",
data: {
fileKey: this.getFilePath(),
contentType: this.uploadOptions.sourceFile.type,
uploadId: this.uploadId
},
headers: {
Authorization: this.globalOptions.getToken()
},
cancelToken: this.cancelTokenSource.token
});
case 2:
authResponse = _context3.sent;
if (!(authResponse.data.code !== 200)) {
_context3.next = 5;
break;
}
throw ObsError.create(ObsErrorCode.SLICE_UPLOAD_MERGE_AUTH_ERROR);
case 5:
content = ["<CompleteMultipartUpload>", this.etagList.map(function(item) {
return "<Part><PartNumber>".concat(item.PartNumber, "</PartNumber><ETag>").concat(item.ETag, "</ETag></Part>");
}).join(""), "</CompleteMultipartUpload>"].join("");
_context3.next = 8;
return axios({
method: "POST",
url: authResponse.data.data.signedUrl,
withCredentials: false,
headers: authResponse.data.data.actualSignedRequestHeaders || {},
maxRedirects: 0,
responseType: "text",
data: content,
cancelToken: this.cancelTokenSource.token
});
case 8:
obsResponse = _context3.sent;
if (!(obsResponse.status > 300 || obsResponse.status < 200)) {
_context3.next = 11;
break;
}
throw ObsError.create(ObsErrorCode.SLICE_UPLOAD_MERGE_ERROR);
case 11:
case "end":
return _context3.stop();
}
}, _callee3, this);
}));
function mergeFileParts() {
return _mergeFileParts.apply(this, arguments);
}
return mergeFileParts;
}()
}, {
key: "abort",
value: function abort() {
var _this$uploadOptions2, _this$uploadOptions2$;
this.cancelTokenSource.cancel();
this.uploadStatus = UploadFileStatusEnum.ABORT;
(_this$uploadOptions2 = this.uploadOptions) === null || _this$uploadOptions2 === void 0 || (_this$uploadOptions2$ = _this$uploadOptions2.onAbort) === null || _this$uploadOptions2$ === void 0 || _this$uploadOptions2$.call(_this$uploadOptions2);
}
/**
* 执行上传
*/
}, {
key: "execute",
value: function() {
var _execute = _asyncToGenerator(/* @__PURE__ */ _regeneratorRuntime().mark(function _callee4() {
var _this$uploadOptions3, _this$uploadOptions3$, _this$uploadOptions4, _this$uploadOptions4$, _this$uploadOptions5, _this$uploadOptions5$, _this$uploadOptions6, _this$uploadOptions6$, _this$uploadOptions7, _this$uploadOptions7$, uploadId, fileParts, etagList, fileInfo, _this$uploadOptions8, _this$uploadOptions8$, _this$uploadOptions9, _this$uploadOptions9$;
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
_context4.prev = 0;
this.uploadStatus = UploadFileStatusEnum.READY;
(_this$uploadOptions3 = this.uploadOptions) === null || _this$uploadOptions3 === void 0 || (_this$uploadOptions3$ = _this$uploadOptions3.onStart) === null || _this$uploadOptions3$ === void 0 || _this$uploadOptions3$.call(_this$uploadOptions3);
(_this$uploadOptions4 = this.uploadOptions) === null || _this$uploadOptions4 === void 0 || (_this$uploadOptions4$ = _this$uploadOptions4.onProgress) === null || _this$uploadOptions4$ === void 0 || _this$uploadOptions4$.call(_this$uploadOptions4, {
percent: 0
});
_context4.next = 6;
return this.loadUploadId();
case 6:
uploadId = _context4.sent;
this.uploadId = uploadId;
fileParts = this.generateFileParts();
this.fileParts = fileParts;
_context4.next = 12;
return this.uploadFileParts();
case 12:
etagList = _context4.sent;
this.etagList = etagList;
_context4.next = 16;
return this.mergeFileParts();
case 16:
(_this$uploadOptions5 = this.uploadOptions) === null || _this$uploadOptions5 === void 0 || (_this$uploadOptions5$ = _this$uploadOptions5.onProgress) === null || _this$uploadOptions5$ === void 0 || _this$uploadOptions5$.call(_this$uploadOptions5, {
percent: 99
});
_context4.next = 19;
return this.getFIleInfo();
case 19:
fileInfo = _context4.sent;
(_this$uploadOptions6 = this.uploadOptions) === null || _this$uploadOptions6 === void 0 || (_this$uploadOptions6$ = _this$uploadOptions6.onProgress) === null || _this$uploadOptions6$ === void 0 || _this$uploadOptions6$.call(_this$uploadOptions6, {
percent: 100
});
(_this$uploadOptions7 = this.uploadOptions) === null || _this$uploadOptions7 === void 0 || (_this$uploadOptions7$ = _this$uploadOptions7.onSuccess) === null || _this$uploadOptions7$ === void 0 || _this$uploadOptions7$.call(_this$uploadOptions7, {
sourceFile: this.uploadOptions.sourceFile,
fileInfo
});
_context4.next = 30;
break;
case 24:
_context4.prev = 24;
_context4.t0 = _context4["catch"](0);
if (!this.shouldAbort()) {
_context4.next = 28;
break;
}
return _context4.abrupt("return");
case 28:
this.uploadStatus = UploadFileStatusEnum.ERROR;
(_this$uploadOptions8 = this.uploadOptions) === null || _this$uploadOptions8 === void 0 || (_this$uploadOptions8$ = _this$uploadOptions8.onError) === null || _this$uploadOptions8$ === void 0 || _this$uploadOptions8$.call(_this$uploadOptions8, _context4.t0);
case 30:
_context4.prev = 30;
(_this$uploadOptions9 = this.uploadOptions) === null || _this$uploadOptions9 === void 0 || (_this$uploadOptions9$ = _this$uploadOptions9.onFinally) === null || _this$uploadOptions9$ === void 0 || _this$uploadOptions9$.call(_this$uploadOptions9);
return _context4.finish(30);
case 33:
case "end":
return _context4.stop();
}
}, _callee4, this, [[0, 24, 30, 33]]);
}));
function execute() {
return _execute.apply(this, arguments);
}
return execute;
}()
}]);
}(UploadFile);
var globalOptions = null;
var defaultUploadOptions = {
partSize: 1024 * 1024 * 1,
onStart: function onStart() {
},
onProgress: function onProgress() {
},
onSuccess: function onSuccess() {
},
onError: function onError() {
},
onAbort: function onAbort() {
},
onFinally: function onFinally() {
}
};
var uploadMethods = {
config: function config(options) {
globalOptions = _objectSpread2(_objectSpread2({}, {
fileSplitThreshold: 1024 * 1024 * 6
}), options || {});
},
create: function create4(options) {
var uploadOptions = _objectSpread2(_objectSpread2({}, defaultUploadOptions), options);
if (uploadOptions.sourceFile.size > globalOptions.fileSplitThreshold) {
return new SliceUploadFile(globalOptions, uploadOptions);
}
return new OneUploadFile(globalOptions, uploadOptions);
}
};
const uploadContentProps = {
fileList: {
type: Array,
default: () => []
},
limit: {
type: Number
},
multiple: {
type: Boolean
},
suffixes: {
type: Array
},
disabled: {
type: Boolean
},
onExceed: {
type: Function,
default: NOOP
},
onStart: {
type: Function,
default: () => {
}
},
onReload: {
type: Function,
default: NOOP
},
onProgress: {
type: Function,
default: NOOP
},
onError: {
type: Function,
default: NOOP
},
onSuccess: {
type: Function,
default: NOOP
},
onRemove: {
type: Function,
default: NOOP
},
beforeUpload: {
type: Function,
default: NOOP
}
};
const _hoisted_1$2 = { class: "mt-upload-content" };
const _hoisted_2$2 = ["disabled", "multiple", "accept"];
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
...{
name: "MtUploadContent"
},
__name: "upload-content",
props: uploadContentProps,
setup(__props, { expose: __expose }) {
const props = __props;
uploadMethods.config({
getToken: () => {
if (!fileUploadConfig.getToken) {
throw new Error("文件预览功能未正确配置。请确保通过 mt-config-provider 组件全局配置了 fileUpload.getToken 方法,以保证上传时接口所需的 token。");
}
return fileUploadConfig.getToken();
}
});
const inputRef = shallowRef();
const requests = shallowRef(
{}
);
const accept = computed(() => {
if (!props.suffixes) {
return "";
}
return props.suffixes.map((suffix) => `.${suffix}`).join(",");
});
function handleChange(event) {
const files = event.target.files;
if (!files) {
return;
}
uploadFiles(Array.from(files));
}
function uploadFiles(files) {
if (files.length === 0) {
return;
}
if (props.limit && props.fileList.length + files.length > props.limit) {
props.onExceed(files);
return;
}
if (!props.multiple) {
files = files.slice(0, 1);
}
for (const file of files) {
const rawFile = file;
rawFile.uid = genFileId();
props.onStart(rawFile);
upload(rawFile);
}
}
async function upload(rawFile) {
inputRef.value.value = "";
if (!props.beforeUpload) {
return doUpload(rawFile);
}
let hookResult;
try {
const beforeUploadPromise = props.beforeUpload(rawFile);
hookResult = await beforeUploadPromise;
} catch {
hookResult = false;
}
if (hookResult === false) {
props.onRemove(rawFile);
return;
}
doUpload(rawFile);
}
async function doUpload(rawFile) {
const uploadInstance = uploadMethods.create({
sourceFile: rawFile,
onProgress: (event) => {
props.onProgress(event, rawFile);
},
onSuccess(response) {
props.onSuccess(response, rawFile);
delete requests.value[rawFile.uid];
},
onError(error2) {
props.onError(error2, rawFile);
delete requests.value[rawFile.uid];
}
});
requests.value[rawFile.uid] = uploadInstance;
}
function abort(uploadFile) {
if (!uploadFile) {
return;
}
Object.entries(requests.value).filter(
([uid3]) => String(uploadFile.uid) === uid3
).forEach(([uid3, req]) => {
req.abort();
delete requests.value[uid3];
});
}
function choose() {
if (!props.disabled) {
inputRef.value.value = "";
inputRef.value.click();
}
}
function reload(uid3, file) {
const rawFile = file;
rawFile.uid = uid3;
props.onReload(rawFile);
upload(rawFile);
}
__expose({
abort,
choose,
reload,
upload: (files) => {
uploadFiles(Array.from(files));
}
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", _hoisted_1$2, [
createElementVNode("input", {
ref_key: "inputRef",
ref: inputRef,
class: "mt-upload-content__input",
name: "file",
type: "file",
disabled: props.disabled,
multiple: props.multiple,
accept: accept.value,
onChange: handleChange
}, null, 40, _hoisted_2$2)
]);
};
}
});
const DragIcon = "data:image/png;base64,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";
const _hoisted_1$1 = { class: "upload-full-screen-drag" };
const _hoisted_2$1 = { class: "upload-full-screen-drag__entry" };
const _hoisted_3$1 = { class: "upload-full-screen-drag__desc" };
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
...{
name: "MtUploadFullScreenDrag"
},
__name: "upload-full-screen-drag",
props: {
description: {
type: String
}
},
setup(__props) {
const props = __props;
const uploadContext = inject(uploadContextKey);
const isMaskVisible = ref(false);
const maskRef = ref(null);
function handleBodyDragover(event) {
event.preventDefault();
event.stopPropagation();
isMaskVisible.value = true;
}
function handleMaskDragleave(event) {
event.preventDefault();
event.stopPropagation();
isMaskVisible.value = false;
}
function handleMaskDrop(event) {
event.preventDefault();
event.stopPropagation();
isMaskVisible.value = false;
const { files } = event.dataTransfer;
if (uploadContext) {
uploadContext.upload(Array.from(files));
}
}
onMounted(() => {
var _a, _b;
document.body.addEventListener("dragover", handleBodyDragover);
(_a = maskRef.value) == null ? void 0 : _a.addEventListener("dragleave", handleMaskDragleave);
(_b = maskRef.value) == null ? void 0 : _b.addEventListener("drop", handleMaskDrop);
});
onBeforeUnmount(() => {
var _a, _b;
document.body.removeEventListener("dragover", handleBodyDragover);
(_a = maskRef.value) == null ? void 0 : _a.removeEventListener("dragleave", handleMaskDragleave);
(_b = maskRef.value) == null ? void 0 : _b.removeEventListener("drop", handleMaskDrop);
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", _hoisted_1$1, [
createVNode(unref(MtFadeTransition), null, {
default: withCtx(() => [
withDirectives(createElementVNode("div", {
ref_key: "maskRef",
ref: maskRef,
class: "upload-full-screen-drag__mask"
}, [
createElementVNode("div", _hoisted_2$1, [
createVNode(unref(MtImage), {
class: "upload-full-screen-drag__icon",
width: 60,
height: 60,
src: unref(DragIcon)
}, null, 8, ["src"]),
_cache[0] || (_cache[0] = createElementVNode("div", { class: "upload-full-screen-drag__title" }, " 文件拖动在此处即可上传 ", -1)),
createElementVNode("div", _hoisted_3$1, toDisplayString(props.description), 1)
])
], 512), [
[vShow, isMaskVisible.value]
])
]),
_: 1
})
]);
};
}
});
const UploadFullScreenDrag = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-ceab9e67"]]);
const uploadInstances = ref([]);
function useFullScreenDrag(props) {
const vm = getCurrentInstance();
const uid3 = getUuid();
function addUploadInstance() {
if (props.isFullScreeDrag && vm) {
const existingIndex = uploadInstances.value.findIndex((instance) => instance.uid === uid3);
if (existingIndex === -1) {
uploadInstances.value.push({
vm,
uid: uid3
});
}
}
}
function removeUploadInstance() {
if (props.isFullScreeDrag) {
const index2 = uploadInstances.value.findIndex((instance) => instance.uid === uid3);
if (index2 !== -1) {
uploadInstances.value.splice(index2, 1);
}
}
}
const dialogContext = inject(DialogKey);
if (dialogContext) {
watch(() => dialogContext.visible.value, () => {
if (dialogContext.visible.value) {
addUploadInstance();
} else {
removeUploadInstance();
}
});
}
onMounted(addUploadInstance);
onUnmounted(removeUploadInstance);
const onlyFullScreenDragInstance = computed(() => {
if (!props.isFullScreeDrag || uploadInstances.value.length === 0) {
return false;
}
const lastInstance = uploadInstances.value[uploadInstances.value.length - 1];
return (lastInstance == null ? void 0 : lastInstance.uid) === uid3;
});
return {
onlyFullScreenDragInstance
};
}
const _hoisted_1 = { class: "mt-upload" };
const _hoisted_2 = { class: "mt-upload__wrapper" };
const _hoisted_3 = {
key: 0,
class: "mt-upload__file-list"
};
const _hoisted_4 = {
key: 1,
class: "mt-upload__image-grid"
};
const _hoisted_5 = {
key: 2,
class: "mt-upload__image-only"
};
const _sfc_main = /* @__PURE__ */ defineComponent({
...{
name: "MtUpload"
},
__name: "upload",
props: uploadProps,
emits: ["update:modelValue", "success", "error", "change"],
setup(__props, { expose: __expose, emit: __emit }) {
const props = __props;
const emits = __emit;
const uploadImageOnlyTriggerRef = ref();
const { onlyFullScreenDragInstance } = useFullScreenDrag(props);
let reloadPromiseDeferred = null;
const uploadFiles = ref(props.modelValue);
watch(() => props.modelValue, () => {
uploadFiles.value = props.modelValue;
});
watch(uploadFiles, () => {
emits("update:modelValue", uploadFiles.value);
}, { immediate: true });
const resultSuffixes = computed(() => {
if (props.listType === ListTypeEnum.IMAGE_GRID || props.listType === ListTypeEnum.IMAGE_ONLY) {
return [
...Object.values(ImageFileSuffixEnum)
];
}
return props.suffixes;
});
const resultLimit = computed(() => {
if (props.listType === ListTypeEnum.IMAGE_ONLY) {
return 1;
} else {
return props.limit;
}
});
const resultMultiple = computed(() => {
if (props.listType === ListTypeEnum.IMAGE_ONLY) {
return false;
} else {
return props.multiple;
}
});
const uploadTriggerDescription = computed(() => {
let suffixes = [...resultSuffixes.value];
const FILE_GROUP_MAP = /* @__PURE__ */ new Map([
["图片", Object.keys(ImageFileSuffixEnum)],
["视频", Object.keys(VideoFileSuffixEnum)],
["文档", Object.keys(DocumentFileSuffixEnum)],
["音乐", Object.keys(MusicFileSuffixEnum)],
["压缩包", Object.keys(CompressFileSuffixEnum)],
["PPT", Object.keys(PptFileSuffixEnum)]
]);
const allGroupName = FILE_GROUP_MAP.entries().reduce((allGroupName2, [groupName, fileSuffixlist]) => {
if (fileSuffixlist.every((suffix) => suffixes.map((i) => i.toLowerCase()).includes(suffix.toLowerCase()))) {
suffixes = suffixes.filter((suffix) => !fileSuffixlist.map((i) => i.toLowerCase()).includes(suffix.toLowerCase()));
allGroupName2.push(groupName);
}
return allGroupName2;
}, []);
return `支持 ${[...allGroupName, ...suffixes].join(`\\`)} 文件上传`;
});
const fileSizeLimitConfig = computed(() => fileSizeLimitConfigMap.get(props.sizeType));
const uploadRef = ref();
function revokeFileObjectURL(uploadFile) {
var _a;
if ((_a = uploadFile.url) == null ? void 0 : _a.startsWith("blob:")) {
URL.revokeObjectURL(uploadFile.url);
}
}
function removeFile(uploadFile) {
uploadFiles.value = uploadFiles.value.filter(
(item) => item !== uploadFile
);
}
function getUploadFile(rawFile) {
return uploadFiles.value.find((file) => file.uid === rawFile.uid);
}
const handleExceed = () => {
MtMessage.warning(`最多只能上传${resultLimit.value}个文件`);
};
const handleStart = async (file) => {
const rawFile = file;
const uploadFile = {
name: rawFile.name,
percentage: 0,
status: "ready",
size: rawFile.size,
raw: rawFile,
uid: rawFile.uid
};
if (isImageFilePath(rawFile.name)) {
uploadFile.url = URL.createObjectURL(rawFile);
}
uploadFiles.value = [...uploadFiles.value, uploadFile];
emits("change", {
uploadFile,
uploadFiles: uploadFiles.value
});
};
const handleReload = (file) => {
const rawFile = file;
const uploadFile = getUploadFile(rawFile);
if (!uploadFile) {
return;
}
Object.assign(uploadFile, {
name: rawFile.name,
percentage: 0,
status: "ready",
size: rawFile.size,
raw: rawFile
});
if (isImageFilePath(rawFile.name)) {
uploadFile.url = URL.createObjectURL(rawFile);
}
emits("change", {
uploadFile,
uploadFiles: uploadFiles.value
});
};
const handleProgress = (event, rawFile) => {
const uploadFile = getUploadFile(rawFile);
if (!uploadFile) {
return;
}
uploadFile.status = "uploading";
uploadFile.percentage = Math.round(event.percent);
};
const handleError = (error2, rawFile) => {
const uploadFile = getUploadFile(rawFile);
if (!uploadFile) {
return;
}
console.error(error2);
uploadFile.status = "fail";
removeFile(uploadFile);
MtMessage.error("上传失败");
emits("error", {
error: error2,
uploadFile,
uploadFiles: uploadFiles.value
});
emits("change", {
uploadFile,
uploadFiles: uploadFiles.value
});
if ((reloadPromiseDeferred == null ? void 0 : reloadPromiseDeferred.uid) === uploadFile.uid) {
reloadPromiseDeferred == null ? void 0 : reloadPromiseDeferred.reject();
}
};
const handleSuccess = (response, rawFile) => {
const uploadFile = getUploadFile(rawFile);
if (!uploadFile) {
return;
}
uploadFile.status = "success";
uploadFile.response = response;
uploadFile.url = response.fileInfo.url;
emits("success", {
response,
uploadFile,
uploadFiles: uploadFiles.value
});
emits("change", {
uploadFile,
uploadFiles: uploadFiles.value
});
if ((reloadPromiseDeferred == null ? void 0 : reloadPromiseDeferred.uid) === uploadFile.uid) {
reloadPromiseDeferred == null ? void 0 : reloadPromiseDeferred.resolve();
}
};
const handleBeforeUpload = (rawFile) => {
const fileSuffix = getFileSuffix(rawFile.name);
if (resultSuffixes.value) {
if (!resultSuffixes.value.map((i) => i.toLowerCase()).includes(fileSuffix.toLowerCase())) {
MtMessage.error(`文件格式不支持, 请上传${resultSuffixes.value.join("/")}格式的文件`);
return false;
}
}
const fileSizeLimit = fileSizeLimitConfig.value[fileSuffix];
if (fileSizeLimit) {
if (rawFile.size > fileSizeLimit) {
MtMessage.error(`文件大小不能超过${fileSizeLimit / 1024 / 1024}MB`);
return false;
}
}
return true;
};
const handleRemove = (rawFile) => {
var _a;
const uploadFile = getUploadFile(rawFile);
if (!uploadFile) {
return;
}
(_a = uploadRef.value) == null ? void 0 : _a.abort(uploadFile);
removeFile(uploadFile);
revokeFileObjectURL(uploadFile);
};
function handleLayoutRemove({ fileItem: uploadFile }) {
var _a;
(_a = uploadRef.value) == null ? void 0 : _a.abort(uploadFile);
removeFile(uploadFile);
revokeFileObjectURL(uploadFile);
}
const uploadContentProps2 = computed(() => ({
fileList: uploadFiles.value,
limit: resultLimit.value,
multiple: resultMultiple.value,
disabled: props.disabled,
suffixes: resultSuffixes.value,
onExceed: handleExceed,
onStart: handleStart,
onReload: handleReload,
onProgress: handleProgress,
onSuccess: handleSuccess,
onError: handleError,
beforeUpload: handleBeforeUpload,
onRemove: handleRemove
}));
__expose({
abort(uploadFile) {
var _a;
(_a = uploadRef.value) == null ? void 0 : _a.abort(uploadFile);
},
remove(uploadFile) {
var _a;
(_a = uploadRef.value) == null ? void 0 : _a.abort(uploadFile);
removeFile(uploadFile);
revokeFileObjectURL(uploadFile);
},
choose() {
var _a, _b;
if (props.listType === ListTypeEnum.IMAGE_ONLY) {
(_a = uploadImageOnlyTriggerRef.value) == null ? void 0 : _a.choose();
} else {
(_b = uploadRef.value) == null ? void 0 : _b.choose();
}
},
format(data2) {
return formatUploadFiles(data2);
},
/**
* 验证上传文件状态
* @param isRequired - 是否必须上传文件
* @returns 验证结果
*/
validate(isRequired = false) {
if (isRequired) {
return uploadFiles.value.length > 0;
} else {
return uploadFiles.value.length === 0 || uploadFiles.value.every((uploadFile) => uploadFile.status === "success");
}
}
});
provide(uploadContextKey, {
choose() {
var _a;
(_a = uploadRef.value) == null ? void 0 : _a.choose();
},
async reload({ uid: uid3, file }) {
var _a;
(_a = uploadRef.value) == null ? void 0 : _a.reload(uid3, file);
reloadPromiseDeferred = new Deferred({
uid: uid3
});
await reloadPromiseDeferred.promise;
reloadPromiseDeferred = null;
},
remove(uploadFile) {
var _a;
(_a = uploadRef.value) == null ? void 0 : _a.abort(uploadFile);
removeFile(uploadFile);
revokeFileObjectURL(uploadFile);
},
async upload(files) {
var _a;
(_a = uploadRef.value) == null ? void 0 : _a.upload(files);
}
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", _hoisted_1, [
createElementVNode("div", _hoisted_2, [
props.listType === unref(ListTypeEnum).FILE_LIST ? (openBlock(), createElementBlock("div", _hoisted_3, [
props.showList ? (openBlock(), createBlock(_sfc_main$9, {
key: 0,
"file-list": uploadFiles.value,
disabled: props.disabled,
onRemove: handleLayoutRemove
}, null, 8, ["file-list", "disabled"])) : createCommentVNode("", true),
props.showTrigger ? (openBlock(), createBlock(_sfc_main$4, {
key: 1,
"file-list": uploadFiles.value,
disabled: props.disabled,
description: uploadTriggerDescription.value
}, {
trigger: withCtx(() => [
renderSlot(_ctx.$slots, "trigger")
]),
_: 3
}, 8, ["file-list", "disabled", "description"])) : createCommentVNode("", true)
])) : createCommentVNode("", true),
props.listType === unref(ListTypeEnum).IMAGE_GRID ? (openBlock(), createElementBlock("div", _hoisted_4, [
props.showList ? (openBlock(), createBlock(_sfc_main$7, {
key: 0,
"file-list": uploadFiles.value,
disabled: props.disabled,
"copper-options": props.copperOptions,
onRemove: handleLayoutRemove
}, null, 8, ["file-list", "disabled", "copper-options"])) : createCommentVNode("", true),
props.showTrigger ? (openBlock(), createBlock(_sfc_main$3, {
key: 1,
"file-list": uploadFiles.value,
disabled: props.disabled,
"copper-options": props.copperOptions
}, {
trigger: withCtx(() => [
renderSlot(_ctx.$slots, "trigger")
]),
tip: withCtx(() => [
renderSlot(_ctx.$slots, "tip")
]),
_: 3
}, 8, ["file-list", "disabled", "copper-options"])) : createCommentVNode("", true)
])) : createCommentVNode("", true),
props.listType === unref(ListTypeEnum).IMAGE_ONLY ? (openBlock(), createElementBlock("div", _hoisted_5, [
props.showList ? (openBlock(), createBlock(UploadImageOnlyLayout, {
key: 0,
"file-list": uploadFiles.value,
disabled: props.disabled,
"copper-options": props.copperOptions,
onRemove: handleLayoutRemove
}, null, 8, ["file-list", "disabled", "copper-options"])) : createCommentVNode("", true),
createVNode(_sfc_main$6, {
ref_key: "uploadImageOnlyTriggerRef",
ref: uploadImageOnlyTriggerRef,
limit: resultLimit.value,
disabled: props.disabled,
"file-list": uploadFiles.value,
multiple: resultMultiple.value,
suffixes: resultSuffixes.value,
"on-exceed": handleExceed,
"auto-cropper": props.autoCropper,
"copper-options": props.copperOptions,
"show-trigger": props.showTrigger,
onRemove: handleLayoutRemove
}, {
trigger: withCtx(() => [
renderSlot(_ctx.$slots, "trigger")
]),
tip: withCtx(() => [
renderSlot(_ctx.$slots, "tip")
]),
_: 3
}, 8, ["limit", "disabled", "file-list", "multiple", "suffixes", "auto-cropper", "copper-options", "show-trigger"])
])) : createCommentVNode("", true)
]),
createVNode(_sfc_main$2, mergeProps(uploadContentProps2.value, {
ref_key: "uploadRef",
ref: uploadRef
}), null, 16),
props.isFullScreeDrag && props.showTrigger && !props.disabled && unref(onlyFullScreenDragInstance) ? (openBlock(), createBlock(unref(MtTeleport), {
key: 0,
to: "body"
}, {
default: withCtx(() => [
createVNode(UploadFullScreenDrag, { description: uploadTriggerDescription.value }, null, 8, ["description"])
]),
_: 1
})) : createCommentVNode("", true)
]);
};
}
});
const MtUpload = withInstall(_sfc_main);
const MtUploadFileListLayout = withInstall(_sfc_main$9);
const MtUploadImageGridLayout = withInstall(_sfc_main$7);
const MtUploadImageOnlyLayout = withInstall(_sfc_main$6);
const components = [
MtAvatarText,
MtAvatarImage,
MtBadge,
MtButton,
MtCell,
MtCellGroup,
MtCollapseTransition,
MtDialog,
MtEmpty,
MtFadeTransition,
MtFilePreview,
MtIcon,
MtImage,
MtInfiniteScroll,
MtLoading,
MtOverlay,
MtTab,
MtTabs,
MtTeleport,
MtPoster,
MtPopover,
MtProgress,
MtTooltip,
MtDialogConfirmLayout,
MtConfigProvider,
MtMessage,
MtUpload,
MtUploadFileListLayout,
MtUploadImageGridLayout,
MtUploadImageOnlyLayout,
MtTag
];
const index = {
install: (app) => {
components.forEach((component) => app.use(component));
}
};
export {
MtAvatarImage,
MtAvatarText,
MtBadge,
MtButton,
MtCell,
MtCellGroup,
MtCollapseTransition,
MtConfigProvider,
MtDialog,
MtDialogConfirmLayout,
MtEmpty,
MtFadeTransition,
MtFilePreview,
MtIcon,
MtImage,
MtInfiniteScroll,
MtLoading,
MtMessage,
MtOverlay,
MtPopover,
MtPoster,
MtProgress,
MtTab,
MtTabs,
MtTag,
MtTeleport,
MtTooltip,
MtUpload,
MtUploadFileListLayout,
MtUploadImageGridLayout,
MtUploadImageOnlyLayout,
index as default,
formatUploadFiles,
iconfontJson
};