| | |
| | | } |
| | | return expectsLowerCase ? (val) => !!map[val.toLowerCase()] : (val) => !!map[val]; |
| | | } |
| | | function normalizeStyle(value) { |
| | | if (isArray$1(value)) { |
| | | const res = {}; |
| | | for (let i = 0; i < value.length; i++) { |
| | | const item = value[i]; |
| | | const normalized = isString$1(item) ? parseStringStyle(item) : normalizeStyle(item); |
| | | if (normalized) { |
| | | for (const key in normalized) { |
| | | res[key] = normalized[key]; |
| | | } |
| | | } |
| | | } |
| | | return res; |
| | | } else if (isString$1(value)) { |
| | | return value; |
| | | } else if (isObject$2(value)) { |
| | | return value; |
| | | } |
| | | } |
| | | const listDelimiterRE = /;(?![^(]*\))/g; |
| | | const propertyDelimiterRE = /:([^]+)/; |
| | | const styleCommentRE = /\/\*.*?\*\//gs; |
| | | function parseStringStyle(cssText) { |
| | | const ret = {}; |
| | | cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => { |
| | | if (item) { |
| | | const tmp = item.split(propertyDelimiterRE); |
| | | tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); |
| | | } |
| | | }); |
| | | return ret; |
| | | } |
| | | function normalizeClass(value) { |
| | | let res = ""; |
| | | if (isString$1(value)) { |
| | |
| | | res += normalized + " "; |
| | | } |
| | | } |
| | | } else if (isObject$1(value)) { |
| | | } else if (isObject$2(value)) { |
| | | for (const name2 in value) { |
| | | if (value[name2]) { |
| | | res += name2 + " "; |
| | |
| | | return res.trim(); |
| | | } |
| | | const toDisplayString = (val) => { |
| | | return isString$1(val) ? val : val == null ? "" : isArray$1(val) || isObject$1(val) && (val.toString === objectToString || !isFunction$1(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val); |
| | | return isString$1(val) ? val : val == null ? "" : isArray$1(val) || isObject$2(val) && (val.toString === objectToString || !isFunction$1(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val); |
| | | }; |
| | | const replacer = (_key, val) => { |
| | | if (val && val.__v_isRef) { |
| | |
| | | return { |
| | | [`Set(${val.size})`]: [...val.values()] |
| | | }; |
| | | } else if (isObject$1(val) && !isArray$1(val) && !isPlainObject$1(val)) { |
| | | } else if (isObject$2(val) && !isArray$1(val) && !isPlainObject$1(val)) { |
| | | return String(val); |
| | | } |
| | | return val; |
| | |
| | | const isFunction$1 = (val) => typeof val === "function"; |
| | | const isString$1 = (val) => typeof val === "string"; |
| | | const isSymbol = (val) => typeof val === "symbol"; |
| | | const isObject$1 = (val) => val !== null && typeof val === "object"; |
| | | const isPromise = (val) => { |
| | | return isObject$1(val) && isFunction$1(val.then) && isFunction$1(val.catch); |
| | | const isObject$2 = (val) => val !== null && typeof val === "object"; |
| | | const isPromise$1 = (val) => { |
| | | return isObject$2(val) && isFunction$1(val.then) && isFunction$1(val.catch); |
| | | }; |
| | | const objectToString = Object.prototype.toString; |
| | | const toTypeString = (value) => objectToString.call(value); |
| | |
| | | valid = value instanceof type; |
| | | } |
| | | } else if (expectedType === "Object") { |
| | | valid = isObject$1(value); |
| | | valid = isObject$2(value); |
| | | } else if (expectedType === "Array") { |
| | | valid = isArray$1(value); |
| | | } else { |
| | |
| | | promise = Promise.resolve(wrapperHook(hook, params)); |
| | | } else { |
| | | const res = hook(data, params); |
| | | if (isPromise(res)) { |
| | | if (isPromise$1(res)) { |
| | | promise = Promise.resolve(res); |
| | | } |
| | | if (res === false) { |
| | |
| | | if (hasCallback(args)) { |
| | | return wrapperReturnValue(name2, invokeApi(name2, fn, args, rest)); |
| | | } |
| | | return wrapperReturnValue(name2, handlePromise(new Promise((resolve, reject) => { |
| | | invokeApi(name2, fn, extend$1(args, { success: resolve, fail: reject }), rest); |
| | | return wrapperReturnValue(name2, handlePromise(new Promise((resolve2, reject) => { |
| | | invokeApi(name2, fn, extend$1(args, { success: resolve2, fail: reject }), rest); |
| | | }))); |
| | | }; |
| | | } |
| | |
| | | getPushCidCallbacks.length = 0; |
| | | } |
| | | const API_GET_PUSH_CLIENT_ID = "getPushClientId"; |
| | | const getPushClientId = defineAsyncApi(API_GET_PUSH_CLIENT_ID, (_, { resolve, reject }) => { |
| | | const getPushClientId = defineAsyncApi(API_GET_PUSH_CLIENT_ID, (_, { resolve: resolve2, reject }) => { |
| | | Promise.resolve().then(() => { |
| | | if (typeof enabled === "undefined") { |
| | | enabled = false; |
| | |
| | | } |
| | | getPushCidCallbacks.push((cid2, errMsg) => { |
| | | if (cid2) { |
| | | resolve({ cid: cid2 }); |
| | | resolve2({ cid: cid2 }); |
| | | } else { |
| | | reject(errMsg); |
| | | } |
| | |
| | | if (isFunction$1(options.success) || isFunction$1(options.fail) || isFunction$1(options.complete)) { |
| | | return wrapperReturnValue(name2, invokeApi(name2, api, options, rest)); |
| | | } |
| | | return wrapperReturnValue(name2, handlePromise(new Promise((resolve, reject) => { |
| | | return wrapperReturnValue(name2, handlePromise(new Promise((resolve2, reject) => { |
| | | invokeApi(name2, api, extend$1({}, options, { |
| | | success: resolve, |
| | | success: resolve2, |
| | | fail: reject |
| | | }), rest); |
| | | }))); |
| | |
| | | let _SDKVersion = SDKVersion; |
| | | const hostLanguage = language.replace(/_/g, "-"); |
| | | const parameters = { |
| | | appId: "__UNI__93C40D8", |
| | | appId: "__UNI__81F2BDD", |
| | | appName: "crm_app", |
| | | appVersion: "1.0.0", |
| | | appVersionCode: "100", |
| | |
| | | hostName: _hostName, |
| | | hostSDKVersion: SDKVersion, |
| | | hostTheme: theme, |
| | | appId: "__UNI__93C40D8", |
| | | appId: "__UNI__81F2BDD", |
| | | appName: "crm_app", |
| | | appVersion: "1.0.0", |
| | | appVersionCode: "100", |
| | |
| | | this._active = false; |
| | | } |
| | | } |
| | | } |
| | | function effectScope(detached) { |
| | | return new EffectScope(detached); |
| | | } |
| | | function recordEffectScope(effect, scope = activeEffectScope) { |
| | | if (scope && scope.active) { |
| | |
| | | return obj.hasOwnProperty(key); |
| | | } |
| | | function createGetter(isReadonly2 = false, shallow = false) { |
| | | return function get2(target, key, receiver) { |
| | | return function get3(target, key, receiver) { |
| | | if (key === "__v_isReactive") { |
| | | return !isReadonly2; |
| | | } else if (key === "__v_isReadonly") { |
| | |
| | | if (isRef(res)) { |
| | | return targetIsArray && isIntegerKey(key) ? res : res.value; |
| | | } |
| | | if (isObject$1(res)) { |
| | | if (isObject$2(res)) { |
| | | return isReadonly2 ? readonly(res) : reactive(res); |
| | | } |
| | | return res; |
| | |
| | | function set$2(key, value) { |
| | | value = toRaw(value); |
| | | const target = toRaw(this); |
| | | const { has: has2, get: get2 } = getProto(target); |
| | | const { has: has2, get: get3 } = getProto(target); |
| | | let hadKey = has2.call(target, key); |
| | | if (!hadKey) { |
| | | key = toRaw(key); |
| | |
| | | } else { |
| | | checkIdentityKeys(target, has2, key); |
| | | } |
| | | const oldValue = get2.call(target, key); |
| | | const oldValue = get3.call(target, key); |
| | | target.set(key, value); |
| | | if (!hadKey) { |
| | | trigger(target, "add", key, value); |
| | |
| | | } |
| | | function deleteEntry(key) { |
| | | const target = toRaw(this); |
| | | const { has: has2, get: get2 } = getProto(target); |
| | | const { has: has2, get: get3 } = getProto(target); |
| | | let hadKey = has2.call(target, key); |
| | | if (!hadKey) { |
| | | key = toRaw(key); |
| | |
| | | } else { |
| | | checkIdentityKeys(target, has2, key); |
| | | } |
| | | const oldValue = get2 ? get2.call(target, key) : void 0; |
| | | const oldValue = get3 ? get3.call(target, key) : void 0; |
| | | const result = target.delete(key); |
| | | if (hadKey) { |
| | | trigger(target, "delete", key, void 0, oldValue); |
| | |
| | | return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap); |
| | | } |
| | | function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { |
| | | if (!isObject$1(target)) { |
| | | if (!isObject$2(target)) { |
| | | { |
| | | console.warn(`value cannot be made reactive: ${String(target)}`); |
| | | } |
| | |
| | | /* ReactiveFlags.IS_SHALLOW */ |
| | | ]); |
| | | } |
| | | function isProxy(value) { |
| | | return isReactive(value) || isReadonly(value); |
| | | } |
| | | function toRaw(observed) { |
| | | const raw = observed && observed[ |
| | | "__v_raw" |
| | |
| | | def(value, "__v_skip", true); |
| | | return value; |
| | | } |
| | | const toReactive = (value) => isObject$1(value) ? reactive(value) : value; |
| | | const toReadonly = (value) => isObject$1(value) ? readonly(value) : value; |
| | | const toReactive = (value) => isObject$2(value) ? reactive(value) : value; |
| | | const toReadonly = (value) => isObject$2(value) ? readonly(value) : value; |
| | | function trackRefValue(ref2) { |
| | | if (shouldTrack && activeEffect) { |
| | | ref2 = toRaw(ref2); |
| | |
| | | function callWithAsyncErrorHandling(fn, instance, type, args) { |
| | | if (isFunction$1(fn)) { |
| | | const res = callWithErrorHandling(fn, instance, type, args); |
| | | if (res && isPromise(res)) { |
| | | if (res && isPromise$1(res)) { |
| | | res.catch((err) => { |
| | | handleError(err, instance, type); |
| | | }); |
| | |
| | | let currentFlushPromise = null; |
| | | const RECURSION_LIMIT = 100; |
| | | function nextTick$1(fn) { |
| | | const p = currentFlushPromise || resolvedPromise; |
| | | return fn ? p.then(this ? fn.bind(this) : fn) : p; |
| | | const p2 = currentFlushPromise || resolvedPromise; |
| | | return fn ? p2.then(this ? fn.bind(this) : fn) : p2; |
| | | } |
| | | function findInsertionIndex(id) { |
| | | let start = flushIndex + 1; |
| | |
| | | } |
| | | } |
| | | if (!raw && !hasExtends) { |
| | | if (isObject$1(comp)) { |
| | | if (isObject$2(comp)) { |
| | | cache.set(comp, null); |
| | | } |
| | | return null; |
| | |
| | | } else { |
| | | extend$1(normalized, raw); |
| | | } |
| | | if (isObject$1(comp)) { |
| | | if (isObject$2(comp)) { |
| | | cache.set(comp, normalized); |
| | | } |
| | | return normalized; |
| | |
| | | warn(`watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`); |
| | | } |
| | | } |
| | | const warnInvalidSource = (s) => { |
| | | warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`); |
| | | const warnInvalidSource = (s2) => { |
| | | warn(`Invalid watch source: `, s2, `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`); |
| | | }; |
| | | const instance = getCurrentScope() === (currentInstance === null || currentInstance === void 0 ? void 0 : currentInstance.scope) ? currentInstance : null; |
| | | let getter; |
| | |
| | | deep = true; |
| | | } else if (isArray$1(source)) { |
| | | isMultiSource = true; |
| | | forceTrigger = source.some((s) => isReactive(s) || isShallow(s)); |
| | | getter = () => source.map((s) => { |
| | | if (isRef(s)) { |
| | | return s.value; |
| | | } else if (isReactive(s)) { |
| | | return traverse(s); |
| | | } else if (isFunction$1(s)) { |
| | | forceTrigger = source.some((s2) => isReactive(s2) || isShallow(s2)); |
| | | getter = () => source.map((s2) => { |
| | | if (isRef(s2)) { |
| | | return s2.value; |
| | | } else if (isReactive(s2)) { |
| | | return traverse(s2); |
| | | } else if (isFunction$1(s2)) { |
| | | return callWithErrorHandling( |
| | | s, |
| | | s2, |
| | | instance, |
| | | 2 |
| | | /* ErrorCodes.WATCH_GETTER */ |
| | | ); |
| | | } else { |
| | | warnInvalidSource(s); |
| | | warnInvalidSource(s2); |
| | | } |
| | | }); |
| | | } else if (isFunction$1(source)) { |
| | |
| | | }; |
| | | } |
| | | function traverse(value, seen) { |
| | | if (!isObject$1(value) || value[ |
| | | if (!isObject$2(value) || value[ |
| | | "__v_skip" |
| | | /* ReactiveFlags.SKIP */ |
| | | ]) { |
| | |
| | | if (isBuiltInDirective(name2)) { |
| | | warn("Do not use built-in directive ids as custom directive id: " + name2); |
| | | } |
| | | } |
| | | const COMPONENTS = "components"; |
| | | function resolveComponent(name2, maybeSelfReference) { |
| | | return resolveAsset(COMPONENTS, name2, true, maybeSelfReference) || name2; |
| | | } |
| | | function resolveAsset(type, name2, warnMissing = true, maybeSelfReference = false) { |
| | | const instance = currentRenderingInstance || currentInstance; |
| | | if (instance) { |
| | | const Component2 = instance.type; |
| | | if (type === COMPONENTS) { |
| | | const selfName = getComponentName( |
| | | Component2, |
| | | false |
| | | /* do not include inferred name to avoid breaking existing code */ |
| | | ); |
| | | if (selfName && (selfName === name2 || selfName === camelize(name2) || selfName === capitalize(camelize(name2)))) { |
| | | return Component2; |
| | | } |
| | | } |
| | | const res = ( |
| | | // local registration |
| | | // check instance[type] first which is resolved for options API |
| | | resolve(instance[type] || Component2[type], name2) || // global registration |
| | | resolve(instance.appContext[type], name2) |
| | | ); |
| | | if (!res && maybeSelfReference) { |
| | | return Component2; |
| | | } |
| | | if (warnMissing && !res) { |
| | | const extra = type === COMPONENTS ? ` |
| | | If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``; |
| | | warn(`Failed to resolve ${type.slice(0, -1)}: ${name2}${extra}`); |
| | | } |
| | | return res; |
| | | } else { |
| | | warn(`resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`); |
| | | } |
| | | } |
| | | function resolve(registry, name2) { |
| | | return registry && (registry[name2] || registry[camelize(name2)] || registry[capitalize(camelize(name2))]); |
| | | } |
| | | const getPublicInstance = (i) => { |
| | | if (!i) |
| | |
| | | warn(`The data option must be a function. Plain object usage is no longer supported.`); |
| | | } |
| | | const data = dataOptions.call(publicThis, publicThis); |
| | | if (isPromise(data)) { |
| | | if (isPromise$1(data)) { |
| | | warn(`data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>.`); |
| | | } |
| | | if (!isObject$1(data)) { |
| | | if (!isObject$2(data)) { |
| | | warn(`data() should return an object.`); |
| | | } else { |
| | | instance.data = reactive(data); |
| | |
| | | if (computedOptions) { |
| | | for (const key in computedOptions) { |
| | | const opt = computedOptions[key]; |
| | | const get2 = isFunction$1(opt) ? opt.bind(publicThis, publicThis) : isFunction$1(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP; |
| | | if (get2 === NOOP) { |
| | | const get3 = isFunction$1(opt) ? opt.bind(publicThis, publicThis) : isFunction$1(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP; |
| | | if (get3 === NOOP) { |
| | | warn(`Computed property "${key}" has no getter.`); |
| | | } |
| | | const set2 = !isFunction$1(opt) && isFunction$1(opt.set) ? opt.set.bind(publicThis) : () => { |
| | | warn(`Write operation failed: computed property "${key}" is readonly.`); |
| | | }; |
| | | const c = computed({ |
| | | get: get2, |
| | | get: get3, |
| | | set: set2 |
| | | }); |
| | | Object.defineProperty(ctx, key, { |
| | |
| | | ); |
| | | } |
| | | } |
| | | function registerLifecycleHook(register, hook) { |
| | | function registerLifecycleHook(register2, hook) { |
| | | if (isArray$1(hook)) { |
| | | hook.forEach((_hook) => register(_hook.bind(publicThis))); |
| | | hook.forEach((_hook) => register2(_hook.bind(publicThis))); |
| | | } else if (hook) { |
| | | register(hook.bind(publicThis)); |
| | | register2(hook.bind(publicThis)); |
| | | } |
| | | } |
| | | registerLifecycleHook(onBeforeMount, beforeMount); |
| | |
| | | for (const key in injectOptions) { |
| | | const opt = injectOptions[key]; |
| | | let injected; |
| | | if (isObject$1(opt)) { |
| | | if (isObject$2(opt)) { |
| | | if ("default" in opt) { |
| | | injected = inject( |
| | | opt.from || key, |
| | |
| | | } |
| | | } else if (isFunction$1(raw)) { |
| | | watch(getter, raw.bind(publicThis)); |
| | | } else if (isObject$1(raw)) { |
| | | } else if (isObject$2(raw)) { |
| | | if (isArray$1(raw)) { |
| | | raw.forEach((r) => createWatcher(r, ctx, publicThis, key)); |
| | | } else { |
| | |
| | | } |
| | | mergeOptions(resolved, base, optionMergeStrategies); |
| | | } |
| | | if (isObject$1(base)) { |
| | | if (isObject$2(base)) { |
| | | cache.set(base, resolved); |
| | | } |
| | | return resolved; |
| | |
| | | } |
| | | } |
| | | if (!raw && !hasExtends) { |
| | | if (isObject$1(comp)) { |
| | | if (isObject$2(comp)) { |
| | | cache.set(comp, EMPTY_ARR); |
| | | } |
| | | return EMPTY_ARR; |
| | |
| | | } |
| | | } |
| | | } else if (raw) { |
| | | if (!isObject$1(raw)) { |
| | | if (!isObject$2(raw)) { |
| | | warn(`invalid props options`, raw); |
| | | } |
| | | for (const key in raw) { |
| | |
| | | } |
| | | } |
| | | const res = [normalized, needCastKeys]; |
| | | if (isObject$1(comp)) { |
| | | if (isObject$2(comp)) { |
| | | cache.set(comp, res); |
| | | } |
| | | return res; |
| | |
| | | valid = value instanceof type; |
| | | } |
| | | } else if (expectedType === "Object") { |
| | | valid = isObject$1(value); |
| | | valid = isObject$2(value); |
| | | } else if (expectedType === "Array") { |
| | | valid = isArray$1(value); |
| | | } else if (expectedType === "null") { |
| | |
| | | if (!isFunction$1(rootComponent)) { |
| | | rootComponent = Object.assign({}, rootComponent); |
| | | } |
| | | if (rootProps != null && !isObject$1(rootProps)) { |
| | | if (rootProps != null && !isObject$2(rootProps)) { |
| | | warn(`root props passed to app.mount() must be an object.`); |
| | | rootProps = null; |
| | | } |
| | |
| | | const Static = Symbol("Static"); |
| | | function isVNode(value) { |
| | | return value ? value.__v_isVNode === true : false; |
| | | } |
| | | const InternalObjectKey = `__vInternal`; |
| | | function guardReactiveProps(props) { |
| | | if (!props) |
| | | return null; |
| | | return isProxy(props) || InternalObjectKey in props ? extend$1({}, props) : props; |
| | | } |
| | | const emptyAppContext = createAppContext(); |
| | | let uid = 0; |
| | |
| | | const setupResult = callWithErrorHandling(setup, instance, 0, [shallowReadonly(instance.props), setupContext]); |
| | | resetTracking(); |
| | | unsetCurrentInstance(); |
| | | if (isPromise(setupResult)) { |
| | | if (isPromise$1(setupResult)) { |
| | | setupResult.then(unsetCurrentInstance, unsetCurrentInstance); |
| | | { |
| | | warn(`setup() returned a Promise, but the version of Vue you are using does not support it yet.`); |
| | |
| | | { |
| | | instance.render = setupResult; |
| | | } |
| | | } else if (isObject$1(setupResult)) { |
| | | } else if (isObject$2(setupResult)) { |
| | | if (isVNode(setupResult)) { |
| | | warn(`setup() should not return VNodes directly - return a render function instead.`); |
| | | } |
| | |
| | | _resolve(instance.proxy); |
| | | } |
| | | }); |
| | | return new Promise((resolve) => { |
| | | _resolve = resolve; |
| | | return new Promise((resolve2) => { |
| | | _resolve = resolve2; |
| | | }); |
| | | } |
| | | function clone$2(src, seen) { |
| | |
| | | } |
| | | } |
| | | function toSkip(value) { |
| | | if (isObject$1(value)) { |
| | | if (isObject$2(value)) { |
| | | markRaw(value); |
| | | } |
| | | return value; |
| | |
| | | mpInstance.setData(diffData); |
| | | } |
| | | } |
| | | function toggleRecurse({ effect, update }, allowed) { |
| | | effect.allowRecurse = update.allowRecurse = allowed; |
| | | function toggleRecurse({ effect, update: update3 }, allowed) { |
| | | effect.allowRecurse = update3.allowRecurse = allowed; |
| | | } |
| | | function setupRenderEffect(instance) { |
| | | const updateScopedSlots = componentUpdateScopedSlotsFn.bind(instance); |
| | |
| | | instance.scope |
| | | // track it in component's effect scope |
| | | ); |
| | | const update = instance.update = effect.run.bind(effect); |
| | | update.id = instance.uid; |
| | | const update3 = instance.update = effect.run.bind(effect); |
| | | update3.id = instance.uid; |
| | | toggleRecurse(instance, true); |
| | | { |
| | | effect.onTrack = instance.rtc ? (e2) => invokeArrayFns$1(instance.rtc, e2) : void 0; |
| | | effect.onTrigger = instance.rtg ? (e2) => invokeArrayFns$1(instance.rtg, e2) : void 0; |
| | | update.ownerInstance = instance; |
| | | update3.ownerInstance = instance; |
| | | } |
| | | update(); |
| | | update3(); |
| | | } |
| | | function unmountComponent(instance) { |
| | | const { bum, scope, update, um } = instance; |
| | | const { bum, scope, update: update3, um } = instance; |
| | | if (bum) { |
| | | invokeArrayFns$1(bum); |
| | | } |
| | | scope.stop(); |
| | | if (update) { |
| | | update.active = false; |
| | | if (update3) { |
| | | update3.active = false; |
| | | } |
| | | if (um) { |
| | | queuePostRenderEffect(um); |
| | |
| | | } |
| | | } |
| | | const propsCaches = /* @__PURE__ */ Object.create(null); |
| | | function renderProps(props) { |
| | | const { uid: uid2, __counter } = getCurrentInstance(); |
| | | const propsId = (propsCaches[uid2] || (propsCaches[uid2] = [])).push(guardReactiveProps(props)) - 1; |
| | | return uid2 + "," + propsId + "," + __counter; |
| | | } |
| | | function pruneComponentPropsCache(uid2) { |
| | | delete propsCaches[uid2]; |
| | | } |
| | |
| | | setTimeout(invoke); |
| | | } else { |
| | | const res = invoke(); |
| | | if (e2.type === "input" && (isArray$1(res) || isPromise(res))) { |
| | | if (e2.type === "input" && (isArray$1(res) || isPromise$1(res))) { |
| | | return; |
| | | } |
| | | return res; |
| | |
| | | for (let i = 0; i < source; i++) { |
| | | ret[i] = renderItem(i + 1, i, i); |
| | | } |
| | | } else if (isObject$1(source)) { |
| | | } else if (isObject$2(source)) { |
| | | if (source[Symbol.iterator]) { |
| | | ret = Array.from(source, (item, i) => renderItem(item, i, i)); |
| | | } else { |
| | |
| | | } |
| | | return ret; |
| | | } |
| | | function stringifyStyle(value) { |
| | | if (isString$1(value)) { |
| | | return value; |
| | | } |
| | | return stringify(normalizeStyle(value)); |
| | | } |
| | | function stringify(styles) { |
| | | let ret = ""; |
| | | if (!styles || isString$1(styles)) { |
| | | return ret; |
| | | } |
| | | for (const key in styles) { |
| | | ret += `${key.startsWith(`--`) ? key : hyphenate(key)}:${styles[key]};`; |
| | | } |
| | | return ret; |
| | | } |
| | | const o = (value, key) => vOn(value, key); |
| | | const f = (source, renderItem) => vFor(source, renderItem); |
| | | const s = (value) => stringifyStyle(value); |
| | | const e = (target, ...sources) => extend$1(target, ...sources); |
| | | const n = (value) => normalizeClass(value); |
| | | const t = (val) => toDisplayString(val); |
| | | const p = (props) => renderProps(props); |
| | | function createApp$1(rootComponent, rootProps = null) { |
| | | rootComponent && (rootComponent.mpType = "app"); |
| | | return createVueApp(rootComponent, rootProps).use(plugin); |
| | |
| | | }; |
| | | if (isArray$1(vueOptions.mixins)) { |
| | | vueOptions.mixins.forEach((item) => { |
| | | if (isObject$1(item.options)) { |
| | | if (isObject$2(item.options)) { |
| | | extend$1(options, item.options); |
| | | } |
| | | }); |
| | |
| | | function isRegExp(x) { |
| | | return x instanceof RegExp; |
| | | } |
| | | function isObject(x) { |
| | | function isObject$1(x) { |
| | | return !!(x && typeof x === "object" && x.constructor === Object && !isComplex(x) && !isFraction(x)); |
| | | } |
| | | function isNull(x) { |
| | |
| | | throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); |
| | | } |
| | | var normalCompletion = true, didErr = false, err; |
| | | return { s: function s() { |
| | | return { s: function s2() { |
| | | it = it.call(o2); |
| | | }, n: function n3() { |
| | | var step = it.next(); |
| | |
| | | } |
| | | function stringifyParams(params) { |
| | | var separator = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ","; |
| | | return params.map(function(p) { |
| | | return p.name; |
| | | return params.map(function(p2) { |
| | | return p2.name; |
| | | }).join(separator); |
| | | } |
| | | function parseParam(param) { |
| | | var restParam = param.indexOf("...") === 0; |
| | | var types = !restParam ? param : param.length > 3 ? param.slice(3) : "any"; |
| | | var typeDefs = types.split("|").map(function(s) { |
| | | return findType(s.trim()); |
| | | var typeDefs = types.split("|").map(function(s2) { |
| | | return findType(s2.trim()); |
| | | }); |
| | | var hasAny = false; |
| | | var paramName = restParam ? "..." : ""; |
| | |
| | | } |
| | | function compileArgsPreprocessing(params, fn) { |
| | | var fnConvert = fn; |
| | | if (params.some(function(p) { |
| | | return p.hasConversion; |
| | | if (params.some(function(p2) { |
| | | return p2.hasConversion; |
| | | })) { |
| | | var restParam = hasRestParam(params); |
| | | var compiledConversions = params.map(compileArgConversion); |
| | |
| | | name: spName, |
| | | fn: functionIndex |
| | | }); |
| | | if (sp.every(function(p) { |
| | | return !p.hasConversion; |
| | | if (sp.every(function(p2) { |
| | | return !p2.hasConversion; |
| | | })) { |
| | | signaturesMap[spName] = functionIndex; |
| | | } |
| | |
| | | } |
| | | preliminarySignatures.sort(compareSignatures); |
| | | var resolvedFunctions = resolveReferences(originalFunctions, signaturesMap, theTypedFn); |
| | | var s; |
| | | for (s in signaturesMap) { |
| | | if (Object.prototype.hasOwnProperty.call(signaturesMap, s)) { |
| | | signaturesMap[s] = resolvedFunctions[signaturesMap[s]]; |
| | | var s2; |
| | | for (s2 in signaturesMap) { |
| | | if (Object.prototype.hasOwnProperty.call(signaturesMap, s2)) { |
| | | signaturesMap[s2] = resolvedFunctions[signaturesMap[s2]]; |
| | | } |
| | | } |
| | | var signatures = []; |
| | | var internalSignatureMap = /* @__PURE__ */ new Map(); |
| | | for (var _i3 = 0, _preliminarySignature = preliminarySignatures; _i3 < _preliminarySignature.length; _i3++) { |
| | | s = _preliminarySignature[_i3]; |
| | | if (!internalSignatureMap.has(s.name)) { |
| | | s.fn = resolvedFunctions[s.fn]; |
| | | signatures.push(s); |
| | | internalSignatureMap.set(s.name, s); |
| | | s2 = _preliminarySignature[_i3]; |
| | | if (!internalSignatureMap.has(s2.name)) { |
| | | s2.fn = resolvedFunctions[s2.fn]; |
| | | signatures.push(s2); |
| | | internalSignatureMap.set(s2.name, s2); |
| | | } |
| | | } |
| | | var ok0 = signatures[0] && signatures[0].params.length <= 2 && !hasRestParam(signatures[0].params); |
| | |
| | | var len5 = ok5 ? signatures[5].params.length : -1; |
| | | var iStart = allOk ? 6 : 0; |
| | | var iEnd = signatures.length; |
| | | var tests = signatures.map(function(s2) { |
| | | return s2.test; |
| | | var tests = signatures.map(function(s3) { |
| | | return s3.test; |
| | | }); |
| | | var fns = signatures.map(function(s2) { |
| | | return s2.implementation; |
| | | var fns = signatures.map(function(s3) { |
| | | return s3.implementation; |
| | | }); |
| | | var generic = function generic2() { |
| | | for (var _i5 = iStart; _i5 < iEnd; _i5++) { |
| | |
| | | return Array.prototype.concat.apply([], arr.map(callback)); |
| | | } |
| | | function referTo() { |
| | | var references = initial(arguments).map(function(s) { |
| | | return stringifyParams(parseSignature(s)); |
| | | var references = initial(arguments).map(function(s2) { |
| | | return stringifyParams(parseSignature(s2)); |
| | | }); |
| | | var callback = last(arguments); |
| | | if (typeof callback !== "function") { |
| | |
| | | var splitValue = splitNumber(value); |
| | | var rounded = typeof precision === "number" ? roundDigits(splitValue, splitValue.exponent + 1 + precision) : splitValue; |
| | | var c = rounded.coefficients; |
| | | var p = rounded.exponent + 1; |
| | | var pp = p + (precision || 0); |
| | | var p2 = rounded.exponent + 1; |
| | | var pp = p2 + (precision || 0); |
| | | if (c.length < pp) { |
| | | c = c.concat(zeros(pp - c.length)); |
| | | } |
| | | if (p < 0) { |
| | | c = zeros(-p + 1).concat(c); |
| | | p = 1; |
| | | if (p2 < 0) { |
| | | c = zeros(-p2 + 1).concat(c); |
| | | p2 = 1; |
| | | } |
| | | if (p < c.length) { |
| | | c.splice(p, 0, p === 0 ? "0." : "."); |
| | | if (p2 < c.length) { |
| | | c.splice(p2, 0, p2 === 0 ? "0." : "."); |
| | | } |
| | | return rounded.sign + c.join(""); |
| | | } |
| | |
| | | IndexError.prototype.name = "IndexError"; |
| | | IndexError.prototype.isIndexError = true; |
| | | function arraySize(x) { |
| | | var s = []; |
| | | var s2 = []; |
| | | while (Array.isArray(x)) { |
| | | s.push(x.length); |
| | | s2.push(x.length); |
| | | x = x[0]; |
| | | } |
| | | return s; |
| | | return s2; |
| | | } |
| | | function _validate(array, size2, dim) { |
| | | var i; |
| | |
| | | return tmpArray; |
| | | } |
| | | function unsqueeze(array, dims, outer, size2) { |
| | | var s = size2 || arraySize(array); |
| | | var s2 = size2 || arraySize(array); |
| | | if (outer) { |
| | | for (var i = 0; i < outer; i++) { |
| | | array = [array]; |
| | | s.unshift(1); |
| | | s2.unshift(1); |
| | | } |
| | | } |
| | | array = _unsqueeze(array, dims, 0); |
| | | while (s.length < dims) { |
| | | s.push(1); |
| | | while (s2.length < dims) { |
| | | s2.push(1); |
| | | } |
| | | return array; |
| | | } |
| | |
| | | // what to differentiate over must (currently) be a variable. |
| | | { |
| | | name: "identifier", |
| | | test: (s) => isString && /^(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])*$/.test(s) |
| | | test: (s2) => isString && /^(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])*$/.test(s2) |
| | | }, |
| | | { |
| | | name: "string", |
| | |
| | | }, |
| | | { |
| | | name: "Object", |
| | | test: isObject |
| | | test: isObject$1 |
| | | } |
| | | // order 'Object' last, it matches on other classes too |
| | | ]); |
| | |
| | | return finalise(quadrant == 2 || quadrant == 3 ? x.neg() : x, pr, rm, true); |
| | | }; |
| | | P.cubeRoot = P.cbrt = function() { |
| | | var e2, m, n3, r, rep, s, sd, t2, t3, t3plusx, x = this, Ctor = x.constructor; |
| | | var e2, m, n3, r, rep, s2, sd, t2, t3, t3plusx, x = this, Ctor = x.constructor; |
| | | if (!x.isFinite() || x.isZero()) |
| | | return new Ctor(x); |
| | | external = false; |
| | | s = x.s * mathpow(x.s * x, 1 / 3); |
| | | if (!s || Math.abs(s) == 1 / 0) { |
| | | s2 = x.s * mathpow(x.s * x, 1 / 3); |
| | | if (!s2 || Math.abs(s2) == 1 / 0) { |
| | | n3 = digitsToString(x.d); |
| | | e2 = x.e; |
| | | if (s = (e2 - n3.length + 1) % 3) |
| | | n3 += s == 1 || s == -2 ? "0" : "00"; |
| | | s = mathpow(n3, 1 / 3); |
| | | if (s2 = (e2 - n3.length + 1) % 3) |
| | | n3 += s2 == 1 || s2 == -2 ? "0" : "00"; |
| | | s2 = mathpow(n3, 1 / 3); |
| | | e2 = mathfloor((e2 + 1) / 3) - (e2 % 3 == (e2 < 0 ? -1 : 2)); |
| | | if (s == 1 / 0) { |
| | | if (s2 == 1 / 0) { |
| | | n3 = "5e" + e2; |
| | | } else { |
| | | n3 = s.toExponential(); |
| | | n3 = s2.toExponential(); |
| | | n3 = n3.slice(0, n3.indexOf("e") + 1) + e2; |
| | | } |
| | | r = new Ctor(n3); |
| | | r.s = x.s; |
| | | } else { |
| | | r = new Ctor(s.toString()); |
| | | r = new Ctor(s2.toString()); |
| | | } |
| | | sd = (e2 = Ctor.precision) + 3; |
| | | for (; ; ) { |
| | |
| | | return finalise(quadrant > 2 ? x.neg() : x, pr, rm, true); |
| | | }; |
| | | P.squareRoot = P.sqrt = function() { |
| | | var m, n3, sd, r, rep, t2, x = this, d = x.d, e2 = x.e, s = x.s, Ctor = x.constructor; |
| | | if (s !== 1 || !d || !d[0]) { |
| | | return new Ctor(!s || s < 0 && (!d || d[0]) ? NaN : d ? x : 1 / 0); |
| | | var m, n3, sd, r, rep, t2, x = this, d = x.d, e2 = x.e, s2 = x.s, Ctor = x.constructor; |
| | | if (s2 !== 1 || !d || !d[0]) { |
| | | return new Ctor(!s2 || s2 < 0 && (!d || d[0]) ? NaN : d ? x : 1 / 0); |
| | | } |
| | | external = false; |
| | | s = Math.sqrt(+x); |
| | | if (s == 0 || s == 1 / 0) { |
| | | s2 = Math.sqrt(+x); |
| | | if (s2 == 0 || s2 == 1 / 0) { |
| | | n3 = digitsToString(d); |
| | | if ((n3.length + e2) % 2 == 0) |
| | | n3 += "0"; |
| | | s = Math.sqrt(n3); |
| | | s2 = Math.sqrt(n3); |
| | | e2 = mathfloor((e2 + 1) / 2) - (e2 < 0 || e2 % 2); |
| | | if (s == 1 / 0) { |
| | | if (s2 == 1 / 0) { |
| | | n3 = "5e" + e2; |
| | | } else { |
| | | n3 = s.toExponential(); |
| | | n3 = s2.toExponential(); |
| | | n3 = n3.slice(0, n3.indexOf("e") + 1) + e2; |
| | | } |
| | | r = new Ctor(n3); |
| | | } else { |
| | | r = new Ctor(s.toString()); |
| | | r = new Ctor(s2.toString()); |
| | | } |
| | | sd = (e2 = Ctor.precision) + 3; |
| | | for (; ; ) { |
| | |
| | | return toStringBinary(this, 8, sd, rm); |
| | | }; |
| | | P.toPower = P.pow = function(y) { |
| | | var e2, k, pr, r, rm, s, x = this, Ctor = x.constructor, yn = +(y = new Ctor(y)); |
| | | var e2, k, pr, r, rm, s2, x = this, Ctor = x.constructor, yn = +(y = new Ctor(y)); |
| | | if (!x.d || !y.d || !x.d[0] || !y.d[0]) |
| | | return new Ctor(mathpow(+x, yn)); |
| | | x = new Ctor(x); |
| | |
| | | r = intPow(Ctor, x, k, pr); |
| | | return y.s < 0 ? new Ctor(1).div(r) : finalise(r, pr, rm); |
| | | } |
| | | s = x.s; |
| | | if (s < 0) { |
| | | s2 = x.s; |
| | | if (s2 < 0) { |
| | | if (e2 < y.d.length - 1) |
| | | return new Ctor(NaN); |
| | | if ((y.d[e2] & 1) == 0) |
| | | s = 1; |
| | | s2 = 1; |
| | | if (x.e == 0 && x.d[0] == 1 && x.d.length == 1) { |
| | | x.s = s; |
| | | x.s = s2; |
| | | return x; |
| | | } |
| | | } |
| | | k = mathpow(+x, yn); |
| | | e2 = k == 0 || !isFinite(k) ? mathfloor(yn * (Math.log("0." + digitsToString(x.d)) / Math.LN10 + x.e + 1)) : new Ctor(k + "").e; |
| | | if (e2 > Ctor.maxE + 1 || e2 < Ctor.minE - 1) |
| | | return new Ctor(e2 > 0 ? s / 0 : 0); |
| | | return new Ctor(e2 > 0 ? s2 / 0 : 0); |
| | | external = false; |
| | | Ctor.rounding = x.s = 1; |
| | | k = Math.min(12, (e2 + "").length); |
| | |
| | | } |
| | | } |
| | | } |
| | | r.s = s; |
| | | r.s = s2; |
| | | external = true; |
| | | Ctor.rounding = rm; |
| | | return finalise(r, pr, rm); |
| | |
| | | return x; |
| | | } |
| | | function parseOther(x, str) { |
| | | var base, Ctor, divisor, i, isFloat, len, p, xd, xe; |
| | | var base, Ctor, divisor, i, isFloat, len, p2, xd, xe; |
| | | if (str.indexOf("_") > -1) { |
| | | str = str.replace(/(\d)_(?=\d)/g, "$1"); |
| | | if (isDecimal.test(str)) |
| | |
| | | } |
| | | i = str.search(/p/i); |
| | | if (i > 0) { |
| | | p = +str.slice(i + 1); |
| | | p2 = +str.slice(i + 1); |
| | | str = str.substring(2, i); |
| | | } else { |
| | | str = str.slice(2); |
| | |
| | | external = false; |
| | | if (isFloat) |
| | | x = divide$1(x, divisor, len * 4); |
| | | if (p) |
| | | x = x.times(Math.abs(p) < 54 ? mathpow(2, p) : Decimal.pow(2, p)); |
| | | if (p2) |
| | | x = x.times(Math.abs(p2) < 54 ? mathpow(2, p2) : Decimal.pow(2, p2)); |
| | | external = true; |
| | | return x; |
| | | } |
| | |
| | | function config2(obj) { |
| | | if (!obj || typeof obj !== "object") |
| | | throw Error(decimalError + "Object expected"); |
| | | var i, p, v, useDefaults = obj.defaults === true, ps = [ |
| | | var i, p2, v, useDefaults = obj.defaults === true, ps = [ |
| | | "precision", |
| | | 1, |
| | | MAX_DIGITS, |
| | |
| | | 9 |
| | | ]; |
| | | for (i = 0; i < ps.length; i += 3) { |
| | | if (p = ps[i], useDefaults) |
| | | this[p] = DEFAULTS[p]; |
| | | if ((v = obj[p]) !== void 0) { |
| | | if (p2 = ps[i], useDefaults) |
| | | this[p2] = DEFAULTS[p2]; |
| | | if ((v = obj[p2]) !== void 0) { |
| | | if (mathfloor(v) === v && v >= ps[i + 1] && v <= ps[i + 2]) |
| | | this[p] = v; |
| | | this[p2] = v; |
| | | else |
| | | throw Error(invalidArgument + p + ": " + v); |
| | | throw Error(invalidArgument + p2 + ": " + v); |
| | | } |
| | | } |
| | | if (p = "crypto", useDefaults) |
| | | this[p] = DEFAULTS[p]; |
| | | if ((v = obj[p]) !== void 0) { |
| | | if (p2 = "crypto", useDefaults) |
| | | this[p2] = DEFAULTS[p2]; |
| | | if ((v = obj[p2]) !== void 0) { |
| | | if (v === true || v === false || v === 0 || v === 1) { |
| | | if (v) { |
| | | if (typeof crypto != "undefined" && crypto && (crypto.getRandomValues || crypto.randomBytes)) { |
| | | this[p] = true; |
| | | this[p2] = true; |
| | | } else { |
| | | throw Error(cryptoUnavailable); |
| | | } |
| | | } else { |
| | | this[p] = false; |
| | | this[p2] = false; |
| | | } |
| | | } else { |
| | | throw Error(invalidArgument + p + ": " + v); |
| | | throw Error(invalidArgument + p2 + ": " + v); |
| | | } |
| | | } |
| | | return this; |
| | |
| | | return new this(x).cosh(); |
| | | } |
| | | function clone(obj) { |
| | | var i, p, ps; |
| | | var i, p2, ps; |
| | | function Decimal2(v) { |
| | | var e2, i2, t2, x = this; |
| | | if (!(x instanceof Decimal2)) |
| | |
| | | if (obj.defaults !== true) { |
| | | ps = ["precision", "rounding", "toExpNeg", "toExpPos", "maxE", "minE", "modulo", "crypto"]; |
| | | for (i = 0; i < ps.length; ) |
| | | if (!obj.hasOwnProperty(p = ps[i++])) |
| | | obj[p] = this[p]; |
| | | if (!obj.hasOwnProperty(p2 = ps[i++])) |
| | | obj[p2] = this[p2]; |
| | | } |
| | | } |
| | | Decimal2.config(obj); |
| | |
| | | "n": 0, |
| | | "d": 1 |
| | | }; |
| | | function assign(n3, s) { |
| | | function assign(n3, s2) { |
| | | if (isNaN(n3 = parseInt(n3, 10))) { |
| | | throw Fraction2["InvalidParameter"]; |
| | | } |
| | | return n3 * s; |
| | | return n3 * s2; |
| | | } |
| | | function newFraction(n3, d) { |
| | | if (d === 0) { |
| | |
| | | var factors = {}; |
| | | var n3 = num; |
| | | var i = 2; |
| | | var s = 4; |
| | | while (s <= n3) { |
| | | var s2 = 4; |
| | | while (s2 <= n3) { |
| | | while (n3 % i === 0) { |
| | | n3 /= i; |
| | | factors[i] = (factors[i] || 0) + 1; |
| | | } |
| | | s += 1 + 2 * i++; |
| | | s2 += 1 + 2 * i++; |
| | | } |
| | | if (n3 !== num) { |
| | | if (n3 > 1) |
| | |
| | | return factors; |
| | | } |
| | | var parse = function(p1, p2) { |
| | | var n3 = 0, d = 1, s = 1; |
| | | var n3 = 0, d = 1, s2 = 1; |
| | | var v = 0, w = 0, x = 0, y = 1, z = 1; |
| | | var A = 0, B = 1; |
| | | var C = 1, D = 1; |
| | |
| | | else if (p2 !== void 0) { |
| | | n3 = p1; |
| | | d = p2; |
| | | s = n3 * d; |
| | | s2 = n3 * d; |
| | | if (n3 % 1 !== 0 || d % 1 !== 0) { |
| | | throw Fraction2["NonIntegerParameter"]; |
| | | } |
| | |
| | | } else { |
| | | throw Fraction2["InvalidParameter"]; |
| | | } |
| | | s = n3 * d; |
| | | s2 = n3 * d; |
| | | break; |
| | | } |
| | | case "number": { |
| | | if (p1 < 0) { |
| | | s = p1; |
| | | s2 = p1; |
| | | p1 = -p1; |
| | | } |
| | | if (p1 % 1 === 0) { |
| | |
| | | if (B === null) |
| | | throw Fraction2["InvalidParameter"]; |
| | | if (B[A] === "-") { |
| | | s = -1; |
| | | s2 = -1; |
| | | A++; |
| | | } else if (B[A] === "+") { |
| | | A++; |
| | | } |
| | | if (B.length === A + 1) { |
| | | w = assign(B[A++], s); |
| | | w = assign(B[A++], s2); |
| | | } else if (B[A + 1] === "." || B[A] === ".") { |
| | | if (B[A] !== ".") { |
| | | v = assign(B[A++], s); |
| | | v = assign(B[A++], s2); |
| | | } |
| | | A++; |
| | | if (A + 1 === B.length || B[A + 1] === "(" && B[A + 3] === ")" || B[A + 1] === "'" && B[A + 3] === "'") { |
| | | w = assign(B[A], s); |
| | | w = assign(B[A], s2); |
| | | y = Math.pow(10, B[A].length); |
| | | A++; |
| | | } |
| | | if (B[A] === "(" && B[A + 2] === ")" || B[A] === "'" && B[A + 2] === "'") { |
| | | x = assign(B[A + 1], s); |
| | | x = assign(B[A + 1], s2); |
| | | z = Math.pow(10, B[A + 1].length) - 1; |
| | | A += 3; |
| | | } |
| | | } else if (B[A + 1] === "/" || B[A + 1] === ":") { |
| | | w = assign(B[A], s); |
| | | w = assign(B[A], s2); |
| | | y = assign(B[A + 2], 1); |
| | | A += 3; |
| | | } else if (B[A + 3] === "/" && B[A + 1] === " ") { |
| | | v = assign(B[A], s); |
| | | w = assign(B[A + 2], s); |
| | | v = assign(B[A], s2); |
| | | w = assign(B[A + 2], s2); |
| | | y = assign(B[A + 4], 1); |
| | | A += 5; |
| | | } |
| | | if (B.length <= A) { |
| | | d = y * z; |
| | | s = /* void */ |
| | | s2 = /* void */ |
| | | n3 = x + d * v + z * w; |
| | | break; |
| | | } |
| | |
| | | if (d === 0) { |
| | | throw Fraction2["DivisionByZero"]; |
| | | } |
| | | P2["s"] = s < 0 ? -1 : 1; |
| | | P2["s"] = s2 < 0 ? -1 : 1; |
| | | P2["n"] = Math.abs(n3); |
| | | P2["d"] = Math.abs(d); |
| | | }; |
| | |
| | | var thisABS = this["abs"](); |
| | | var cont = thisABS["toContinued"](); |
| | | for (var i = 1; i < cont.length; i++) { |
| | | var s = newFraction(cont[i - 1], 1); |
| | | var s2 = newFraction(cont[i - 1], 1); |
| | | for (var k = i - 2; k >= 0; k--) { |
| | | s = s["inverse"]()["add"](cont[k]); |
| | | s2 = s2["inverse"]()["add"](cont[k]); |
| | | } |
| | | if (s["sub"](thisABS)["abs"]().valueOf() < eps) { |
| | | return s["mul"](this["s"]); |
| | | if (s2["sub"](thisABS)["abs"]().valueOf() < eps) { |
| | | return s2["mul"](this["s"]); |
| | | } |
| | | } |
| | | return this; |
| | |
| | | }; |
| | | DenseMatrix2.prototype.rows = function() { |
| | | var result = []; |
| | | var s = this.size(); |
| | | if (s.length !== 2) { |
| | | var s2 = this.size(); |
| | | if (s2.length !== 2) { |
| | | throw new TypeError("Rows can only be returned for a 2D matrix."); |
| | | } |
| | | var data = this._data; |
| | |
| | | DenseMatrix2.prototype.columns = function() { |
| | | var _this = this; |
| | | var result = []; |
| | | var s = this.size(); |
| | | if (s.length !== 2) { |
| | | var s2 = this.size(); |
| | | if (s2.length !== 2) { |
| | | throw new TypeError("Rows can only be returned for a 2D matrix."); |
| | | } |
| | | var data = this._data; |
| | |
| | | var col = data.map((row) => [row[i2]]); |
| | | result.push(new DenseMatrix2(col, _this._datatype)); |
| | | }; |
| | | for (var i = 0; i < s[1]; i++) { |
| | | for (var i = 0; i < s2[1]; i++) { |
| | | _loop(i); |
| | | } |
| | | return result; |
| | |
| | | if (size2.length !== 2) { |
| | | throw new Error("Only two dimensions matrix are supported"); |
| | | } |
| | | size2 = size2.map(function(s) { |
| | | if (isBigNumber(s)) { |
| | | s = s.toNumber(); |
| | | size2 = size2.map(function(s2) { |
| | | if (isBigNumber(s2)) { |
| | | s2 = s2.toNumber(); |
| | | } |
| | | if (!isNumber(s) || !isInteger$1(s) || s < 1) { |
| | | if (!isNumber(s2) || !isInteger$1(s2) || s2 < 1) { |
| | | throw new Error("Size values must be positive integers"); |
| | | } |
| | | return s; |
| | | return s2; |
| | | }); |
| | | if (k) { |
| | | if (isBigNumber(k)) { |
| | |
| | | for (j = 0; j < c; j++) { |
| | | matrix2._ptr[j] = matrix2._ptr[j] + n3; |
| | | k = matrix2._ptr[j + 1] + n3; |
| | | var p = 0; |
| | | for (i = r; i < rows; i++, p++) { |
| | | matrix2._values.splice(k + p, 0, value); |
| | | matrix2._index.splice(k + p, 0, i); |
| | | var p2 = 0; |
| | | for (i = r; i < rows; i++, p2++) { |
| | | matrix2._values.splice(k + p2, 0, value); |
| | | matrix2._index.splice(k + p2, 0, i); |
| | | n3++; |
| | | } |
| | | } |
| | |
| | | if (size2.length !== 2) { |
| | | throw new Error("Only two dimensions matrix are supported"); |
| | | } |
| | | size2 = size2.map(function(s) { |
| | | if (isBigNumber(s)) { |
| | | s = s.toNumber(); |
| | | size2 = size2.map(function(s2) { |
| | | if (isBigNumber(s2)) { |
| | | s2 = s2.toNumber(); |
| | | } |
| | | if (!isNumber(s) || !isInteger$1(s) || s < 1) { |
| | | if (!isNumber(s2) || !isInteger$1(s2) || s2 < 1) { |
| | | throw new Error("Size values must be positive integers"); |
| | | } |
| | | return s; |
| | | return s2; |
| | | }); |
| | | if (k) { |
| | | if (isBigNumber(k)) { |
| | |
| | | typed: typed2, |
| | | equalScalar: equalScalar2 |
| | | } = _ref; |
| | | return function matAlgo11xS0s(s, b, callback, inverse) { |
| | | var avalues = s._values; |
| | | var aindex = s._index; |
| | | var aptr = s._ptr; |
| | | var asize = s._size; |
| | | var adt = s._datatype; |
| | | return function matAlgo11xS0s(s2, b, callback, inverse) { |
| | | var avalues = s2._values; |
| | | var aindex = s2._index; |
| | | var aptr = s2._ptr; |
| | | var asize = s2._size; |
| | | var adt = s2._datatype; |
| | | if (!avalues) { |
| | | throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value"); |
| | | } |
| | |
| | | } |
| | | } |
| | | cptr[columns] = cindex.length; |
| | | return s.createSparseMatrix({ |
| | | return s2.createSparseMatrix({ |
| | | values: cvalues, |
| | | index: cindex, |
| | | ptr: cptr, |
| | |
| | | typed: typed2, |
| | | DenseMatrix: DenseMatrix2 |
| | | } = _ref; |
| | | return function matAlgo12xSfs(s, b, callback, inverse) { |
| | | var avalues = s._values; |
| | | var aindex = s._index; |
| | | var aptr = s._ptr; |
| | | var asize = s._size; |
| | | var adt = s._datatype; |
| | | return function matAlgo12xSfs(s2, b, callback, inverse) { |
| | | var avalues = s2._values; |
| | | var aindex = s2._index; |
| | | var aptr = s2._ptr; |
| | | var asize = s2._size; |
| | | var adt = s2._datatype; |
| | | if (!avalues) { |
| | | throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value"); |
| | | } |
| | |
| | | datatype: dt |
| | | }); |
| | | }; |
| | | function _iterate(f2, level, s, n3, av, bv, inverse) { |
| | | function _iterate(f2, level, s2, n3, av, bv, inverse) { |
| | | var cv = []; |
| | | if (level === s.length - 1) { |
| | | if (level === s2.length - 1) { |
| | | for (var i = 0; i < n3; i++) { |
| | | cv[i] = inverse ? f2(bv, av[i]) : f2(av[i], bv); |
| | | } |
| | | } else { |
| | | for (var j = 0; j < n3; j++) { |
| | | cv[j] = _iterate(f2, level + 1, s, s[level + 1], av[j], bv, inverse); |
| | | cv[j] = _iterate(f2, level + 1, s2, s2[level + 1], av[j], bv, inverse); |
| | | } |
| | | } |
| | | return cv; |
| | |
| | | typed: typed2, |
| | | DenseMatrix: DenseMatrix2 |
| | | } = _ref; |
| | | return function matAlgo10xSids(s, b, callback, inverse) { |
| | | var avalues = s._values; |
| | | var aindex = s._index; |
| | | var aptr = s._ptr; |
| | | var asize = s._size; |
| | | var adt = s._datatype; |
| | | return function matAlgo10xSids(s2, b, callback, inverse) { |
| | | var avalues = s2._values; |
| | | var aindex = s2._index; |
| | | var aptr = s2._ptr; |
| | | var asize = s2._size; |
| | | var adt = s2._datatype; |
| | | if (!avalues) { |
| | | throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value"); |
| | | } |
| | |
| | | if (asize.length !== bsize.length) { |
| | | throw new DimensionError(asize.length, bsize.length); |
| | | } |
| | | for (var s = 0; s < asize.length; s++) { |
| | | if (asize[s] !== bsize[s]) { |
| | | for (var s2 = 0; s2 < asize.length; s2++) { |
| | | if (asize[s2] !== bsize[s2]) { |
| | | throw new RangeError("Dimension mismatch. Matrix A (" + asize + ") must match Matrix B (" + bsize + ")"); |
| | | } |
| | | csize[s] = asize[s]; |
| | | csize[s2] = asize[s2]; |
| | | } |
| | | var dt; |
| | | var cf = callback; |
| | |
| | | datatype: dt |
| | | }); |
| | | }; |
| | | function _iterate(f2, level, s, n3, av, bv) { |
| | | function _iterate(f2, level, s2, n3, av, bv) { |
| | | var cv = []; |
| | | if (level === s.length - 1) { |
| | | if (level === s2.length - 1) { |
| | | for (var i = 0; i < n3; i++) { |
| | | cv[i] = f2(av[i], bv[i]); |
| | | } |
| | | } else { |
| | | for (var j = 0; j < n3; j++) { |
| | | cv[j] = _iterate(f2, level + 1, s, s[level + 1], av[j], bv[j]); |
| | | cv[j] = _iterate(f2, level + 1, s2, s2[level + 1], av[j], bv[j]); |
| | | } |
| | | } |
| | | return cv; |
| | |
| | | } |
| | | } |
| | | } |
| | | for (var p1 = cindex.length, p = 0; p < p1; p++) { |
| | | var ic = cindex[p]; |
| | | cvalues[p] = x[ic]; |
| | | for (var p1 = cindex.length, p2 = 0; p2 < p1; p2++) { |
| | | var ic = cindex[p2]; |
| | | cvalues[p2] = x[ic]; |
| | | } |
| | | cptr[1] = cindex.length; |
| | | return a.createSparseMatrix({ |
| | |
| | | } |
| | | } |
| | | } |
| | | for (var p0 = cptr[jb], p1 = cindex.length, p = p0; p < p1; p++) { |
| | | var ic = cindex[p]; |
| | | cvalues[p] = x[ic]; |
| | | for (var p0 = cptr[jb], p1 = cindex.length, p2 = p0; p2 < p1; p2++) { |
| | | var ic = cindex[p2]; |
| | | cvalues[p2] = x[ic]; |
| | | } |
| | | } |
| | | cptr[bcolumns] = cindex.length; |
| | |
| | | } |
| | | } |
| | | if (values) { |
| | | for (var p0 = cptr[jb], p1 = cindex.length, p = p0; p < p1; p++) { |
| | | var ic = cindex[p]; |
| | | cvalues[p] = x[ic]; |
| | | for (var p0 = cptr[jb], p1 = cindex.length, p2 = p0; p2 < p1; p2++) { |
| | | var ic = cindex[p2]; |
| | | cvalues[p2] = x[ic]; |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | }); |
| | | function _inv(mat, rows, cols) { |
| | | var r, s, f2, value, temp; |
| | | var r, s2, f2, value, temp; |
| | | if (rows === 1) { |
| | | value = mat[0][0]; |
| | | if (value === 0) { |
| | |
| | | if (r !== c) { |
| | | if (Ar[c] !== 0) { |
| | | f2 = divideScalar2(unaryMinus2(Ar[c]), Ac[c]); |
| | | for (s = c; s < cols; s++) { |
| | | Ar[s] = addScalar2(Ar[s], multiply2(f2, Ac[s])); |
| | | for (s2 = c; s2 < cols; s2++) { |
| | | Ar[s2] = addScalar2(Ar[s2], multiply2(f2, Ac[s2])); |
| | | } |
| | | for (s = 0; s < cols; s++) { |
| | | Br[s] = addScalar2(Br[s], multiply2(f2, Bc[s])); |
| | | for (s2 = 0; s2 < cols; s2++) { |
| | | Br[s2] = addScalar2(Br[s2], multiply2(f2, Bc[s2])); |
| | | } |
| | | } |
| | | } else { |
| | | f2 = Ac[c]; |
| | | for (s = c; s < cols; s++) { |
| | | Ar[s] = divideScalar2(Ar[s], f2); |
| | | for (s2 = c; s2 < cols; s2++) { |
| | | Ar[s2] = divideScalar2(Ar[s2], f2); |
| | | } |
| | | for (s = 0; s < cols; s++) { |
| | | Br[s] = divideScalar2(Br[s], f2); |
| | | for (s2 = 0; s2 < cols; s2++) { |
| | | Br[s2] = divideScalar2(Br[s2], f2); |
| | | } |
| | | } |
| | | } |
| | |
| | | multiply, |
| | | typed |
| | | }); |
| | | /*! |
| | | * vuex v4.1.0 |
| | | * (c) 2022 Evan You |
| | | * @license MIT |
| | | */ |
| | | var storeKey = "store"; |
| | | function forEachValue(obj, fn) { |
| | | Object.keys(obj).forEach(function(key) { |
| | | return fn(obj[key], key); |
| | | }); |
| | | } |
| | | function isObject(obj) { |
| | | return obj !== null && typeof obj === "object"; |
| | | } |
| | | function isPromise(val) { |
| | | return val && typeof val.then === "function"; |
| | | } |
| | | function assert(condition, msg) { |
| | | if (!condition) { |
| | | throw new Error("[vuex] " + msg); |
| | | } |
| | | } |
| | | function partial(fn, arg) { |
| | | return function() { |
| | | return fn(arg); |
| | | }; |
| | | } |
| | | function genericSubscribe(fn, subs, options) { |
| | | if (subs.indexOf(fn) < 0) { |
| | | options && options.prepend ? subs.unshift(fn) : subs.push(fn); |
| | | } |
| | | return function() { |
| | | var i = subs.indexOf(fn); |
| | | if (i > -1) { |
| | | subs.splice(i, 1); |
| | | } |
| | | }; |
| | | } |
| | | function resetStore(store, hot) { |
| | | store._actions = /* @__PURE__ */ Object.create(null); |
| | | store._mutations = /* @__PURE__ */ Object.create(null); |
| | | store._wrappedGetters = /* @__PURE__ */ Object.create(null); |
| | | store._modulesNamespaceMap = /* @__PURE__ */ Object.create(null); |
| | | var state = store.state; |
| | | installModule(store, state, [], store._modules.root, true); |
| | | resetStoreState(store, state, hot); |
| | | } |
| | | function resetStoreState(store, state, hot) { |
| | | var oldState = store._state; |
| | | var oldScope = store._scope; |
| | | store.getters = {}; |
| | | store._makeLocalGettersCache = /* @__PURE__ */ Object.create(null); |
| | | var wrappedGetters = store._wrappedGetters; |
| | | var computedObj = {}; |
| | | var computedCache = {}; |
| | | var scope = effectScope(true); |
| | | scope.run(function() { |
| | | forEachValue(wrappedGetters, function(fn, key) { |
| | | computedObj[key] = partial(fn, store); |
| | | computedCache[key] = computed(function() { |
| | | return computedObj[key](); |
| | | }); |
| | | Object.defineProperty(store.getters, key, { |
| | | get: function() { |
| | | return computedCache[key].value; |
| | | }, |
| | | enumerable: true |
| | | // for local getters |
| | | }); |
| | | }); |
| | | }); |
| | | store._state = reactive({ |
| | | data: state |
| | | }); |
| | | store._scope = scope; |
| | | if (store.strict) { |
| | | enableStrictMode(store); |
| | | } |
| | | if (oldState) { |
| | | if (hot) { |
| | | store._withCommit(function() { |
| | | oldState.data = null; |
| | | }); |
| | | } |
| | | } |
| | | if (oldScope) { |
| | | oldScope.stop(); |
| | | } |
| | | } |
| | | function installModule(store, rootState, path, module2, hot) { |
| | | var isRoot = !path.length; |
| | | var namespace = store._modules.getNamespace(path); |
| | | if (module2.namespaced) { |
| | | if (store._modulesNamespaceMap[namespace] && true) { |
| | | console.error("[vuex] duplicate namespace " + namespace + " for the namespaced module " + path.join("/")); |
| | | } |
| | | store._modulesNamespaceMap[namespace] = module2; |
| | | } |
| | | if (!isRoot && !hot) { |
| | | var parentState = getNestedState(rootState, path.slice(0, -1)); |
| | | var moduleName = path[path.length - 1]; |
| | | store._withCommit(function() { |
| | | { |
| | | if (moduleName in parentState) { |
| | | console.warn( |
| | | '[vuex] state field "' + moduleName + '" was overridden by a module with the same name at "' + path.join(".") + '"' |
| | | ); |
| | | } |
| | | } |
| | | parentState[moduleName] = module2.state; |
| | | }); |
| | | } |
| | | var local = module2.context = makeLocalContext(store, namespace, path); |
| | | module2.forEachMutation(function(mutation, key) { |
| | | var namespacedType = namespace + key; |
| | | registerMutation(store, namespacedType, mutation, local); |
| | | }); |
| | | module2.forEachAction(function(action, key) { |
| | | var type = action.root ? key : namespace + key; |
| | | var handler = action.handler || action; |
| | | registerAction(store, type, handler, local); |
| | | }); |
| | | module2.forEachGetter(function(getter, key) { |
| | | var namespacedType = namespace + key; |
| | | registerGetter(store, namespacedType, getter, local); |
| | | }); |
| | | module2.forEachChild(function(child, key) { |
| | | installModule(store, rootState, path.concat(key), child, hot); |
| | | }); |
| | | } |
| | | function makeLocalContext(store, namespace, path) { |
| | | var noNamespace = namespace === ""; |
| | | var local = { |
| | | dispatch: noNamespace ? store.dispatch : function(_type, _payload, _options) { |
| | | var args = unifyObjectStyle(_type, _payload, _options); |
| | | var payload = args.payload; |
| | | var options = args.options; |
| | | var type = args.type; |
| | | if (!options || !options.root) { |
| | | type = namespace + type; |
| | | if (!store._actions[type]) { |
| | | console.error("[vuex] unknown local action type: " + args.type + ", global type: " + type); |
| | | return; |
| | | } |
| | | } |
| | | return store.dispatch(type, payload); |
| | | }, |
| | | commit: noNamespace ? store.commit : function(_type, _payload, _options) { |
| | | var args = unifyObjectStyle(_type, _payload, _options); |
| | | var payload = args.payload; |
| | | var options = args.options; |
| | | var type = args.type; |
| | | if (!options || !options.root) { |
| | | type = namespace + type; |
| | | if (!store._mutations[type]) { |
| | | console.error("[vuex] unknown local mutation type: " + args.type + ", global type: " + type); |
| | | return; |
| | | } |
| | | } |
| | | store.commit(type, payload, options); |
| | | } |
| | | }; |
| | | Object.defineProperties(local, { |
| | | getters: { |
| | | get: noNamespace ? function() { |
| | | return store.getters; |
| | | } : function() { |
| | | return makeLocalGetters(store, namespace); |
| | | } |
| | | }, |
| | | state: { |
| | | get: function() { |
| | | return getNestedState(store.state, path); |
| | | } |
| | | } |
| | | }); |
| | | return local; |
| | | } |
| | | function makeLocalGetters(store, namespace) { |
| | | if (!store._makeLocalGettersCache[namespace]) { |
| | | var gettersProxy = {}; |
| | | var splitPos = namespace.length; |
| | | Object.keys(store.getters).forEach(function(type) { |
| | | if (type.slice(0, splitPos) !== namespace) { |
| | | return; |
| | | } |
| | | var localType = type.slice(splitPos); |
| | | Object.defineProperty(gettersProxy, localType, { |
| | | get: function() { |
| | | return store.getters[type]; |
| | | }, |
| | | enumerable: true |
| | | }); |
| | | }); |
| | | store._makeLocalGettersCache[namespace] = gettersProxy; |
| | | } |
| | | return store._makeLocalGettersCache[namespace]; |
| | | } |
| | | function registerMutation(store, type, handler, local) { |
| | | var entry = store._mutations[type] || (store._mutations[type] = []); |
| | | entry.push(function wrappedMutationHandler(payload) { |
| | | handler.call(store, local.state, payload); |
| | | }); |
| | | } |
| | | function registerAction(store, type, handler, local) { |
| | | var entry = store._actions[type] || (store._actions[type] = []); |
| | | entry.push(function wrappedActionHandler(payload) { |
| | | var res = handler.call(store, { |
| | | dispatch: local.dispatch, |
| | | commit: local.commit, |
| | | getters: local.getters, |
| | | state: local.state, |
| | | rootGetters: store.getters, |
| | | rootState: store.state |
| | | }, payload); |
| | | if (!isPromise(res)) { |
| | | res = Promise.resolve(res); |
| | | } |
| | | if (store._devtoolHook) { |
| | | return res.catch(function(err) { |
| | | store._devtoolHook.emit("vuex:error", err); |
| | | throw err; |
| | | }); |
| | | } else { |
| | | return res; |
| | | } |
| | | }); |
| | | } |
| | | function registerGetter(store, type, rawGetter, local) { |
| | | if (store._wrappedGetters[type]) { |
| | | { |
| | | console.error("[vuex] duplicate getter key: " + type); |
| | | } |
| | | return; |
| | | } |
| | | store._wrappedGetters[type] = function wrappedGetter(store2) { |
| | | return rawGetter( |
| | | local.state, |
| | | // local state |
| | | local.getters, |
| | | // local getters |
| | | store2.state, |
| | | // root state |
| | | store2.getters |
| | | // root getters |
| | | ); |
| | | }; |
| | | } |
| | | function enableStrictMode(store) { |
| | | watch(function() { |
| | | return store._state.data; |
| | | }, function() { |
| | | { |
| | | assert(store._committing, "do not mutate vuex store state outside mutation handlers."); |
| | | } |
| | | }, { deep: true, flush: "sync" }); |
| | | } |
| | | function getNestedState(state, path) { |
| | | return path.reduce(function(state2, key) { |
| | | return state2[key]; |
| | | }, state); |
| | | } |
| | | function unifyObjectStyle(type, payload, options) { |
| | | if (isObject(type) && type.type) { |
| | | options = payload; |
| | | payload = type; |
| | | type = type.type; |
| | | } |
| | | { |
| | | assert(typeof type === "string", "expects string as the type, but found " + typeof type + "."); |
| | | } |
| | | return { type, payload, options }; |
| | | } |
| | | var Module = function Module2(rawModule, runtime) { |
| | | this.runtime = runtime; |
| | | this._children = /* @__PURE__ */ Object.create(null); |
| | | this._rawModule = rawModule; |
| | | var rawState = rawModule.state; |
| | | this.state = (typeof rawState === "function" ? rawState() : rawState) || {}; |
| | | }; |
| | | var prototypeAccessors$1 = { namespaced: { configurable: true } }; |
| | | prototypeAccessors$1.namespaced.get = function() { |
| | | return !!this._rawModule.namespaced; |
| | | }; |
| | | Module.prototype.addChild = function addChild(key, module2) { |
| | | this._children[key] = module2; |
| | | }; |
| | | Module.prototype.removeChild = function removeChild(key) { |
| | | delete this._children[key]; |
| | | }; |
| | | Module.prototype.getChild = function getChild(key) { |
| | | return this._children[key]; |
| | | }; |
| | | Module.prototype.hasChild = function hasChild(key) { |
| | | return key in this._children; |
| | | }; |
| | | Module.prototype.update = function update(rawModule) { |
| | | this._rawModule.namespaced = rawModule.namespaced; |
| | | if (rawModule.actions) { |
| | | this._rawModule.actions = rawModule.actions; |
| | | } |
| | | if (rawModule.mutations) { |
| | | this._rawModule.mutations = rawModule.mutations; |
| | | } |
| | | if (rawModule.getters) { |
| | | this._rawModule.getters = rawModule.getters; |
| | | } |
| | | }; |
| | | Module.prototype.forEachChild = function forEachChild(fn) { |
| | | forEachValue(this._children, fn); |
| | | }; |
| | | Module.prototype.forEachGetter = function forEachGetter(fn) { |
| | | if (this._rawModule.getters) { |
| | | forEachValue(this._rawModule.getters, fn); |
| | | } |
| | | }; |
| | | Module.prototype.forEachAction = function forEachAction(fn) { |
| | | if (this._rawModule.actions) { |
| | | forEachValue(this._rawModule.actions, fn); |
| | | } |
| | | }; |
| | | Module.prototype.forEachMutation = function forEachMutation(fn) { |
| | | if (this._rawModule.mutations) { |
| | | forEachValue(this._rawModule.mutations, fn); |
| | | } |
| | | }; |
| | | Object.defineProperties(Module.prototype, prototypeAccessors$1); |
| | | var ModuleCollection = function ModuleCollection2(rawRootModule) { |
| | | this.register([], rawRootModule, false); |
| | | }; |
| | | ModuleCollection.prototype.get = function get2(path) { |
| | | return path.reduce(function(module2, key) { |
| | | return module2.getChild(key); |
| | | }, this.root); |
| | | }; |
| | | ModuleCollection.prototype.getNamespace = function getNamespace(path) { |
| | | var module2 = this.root; |
| | | return path.reduce(function(namespace, key) { |
| | | module2 = module2.getChild(key); |
| | | return namespace + (module2.namespaced ? key + "/" : ""); |
| | | }, ""); |
| | | }; |
| | | ModuleCollection.prototype.update = function update$1(rawRootModule) { |
| | | update2([], this.root, rawRootModule); |
| | | }; |
| | | ModuleCollection.prototype.register = function register(path, rawModule, runtime) { |
| | | var this$1$1 = this; |
| | | if (runtime === void 0) |
| | | runtime = true; |
| | | { |
| | | assertRawModule(path, rawModule); |
| | | } |
| | | var newModule = new Module(rawModule, runtime); |
| | | if (path.length === 0) { |
| | | this.root = newModule; |
| | | } else { |
| | | var parent = this.get(path.slice(0, -1)); |
| | | parent.addChild(path[path.length - 1], newModule); |
| | | } |
| | | if (rawModule.modules) { |
| | | forEachValue(rawModule.modules, function(rawChildModule, key) { |
| | | this$1$1.register(path.concat(key), rawChildModule, runtime); |
| | | }); |
| | | } |
| | | }; |
| | | ModuleCollection.prototype.unregister = function unregister(path) { |
| | | var parent = this.get(path.slice(0, -1)); |
| | | var key = path[path.length - 1]; |
| | | var child = parent.getChild(key); |
| | | if (!child) { |
| | | { |
| | | console.warn( |
| | | "[vuex] trying to unregister module '" + key + "', which is not registered" |
| | | ); |
| | | } |
| | | return; |
| | | } |
| | | if (!child.runtime) { |
| | | return; |
| | | } |
| | | parent.removeChild(key); |
| | | }; |
| | | ModuleCollection.prototype.isRegistered = function isRegistered(path) { |
| | | var parent = this.get(path.slice(0, -1)); |
| | | var key = path[path.length - 1]; |
| | | if (parent) { |
| | | return parent.hasChild(key); |
| | | } |
| | | return false; |
| | | }; |
| | | function update2(path, targetModule, newModule) { |
| | | { |
| | | assertRawModule(path, newModule); |
| | | } |
| | | targetModule.update(newModule); |
| | | if (newModule.modules) { |
| | | for (var key in newModule.modules) { |
| | | if (!targetModule.getChild(key)) { |
| | | { |
| | | console.warn( |
| | | "[vuex] trying to add a new module '" + key + "' on hot reloading, manual reload is needed" |
| | | ); |
| | | } |
| | | return; |
| | | } |
| | | update2( |
| | | path.concat(key), |
| | | targetModule.getChild(key), |
| | | newModule.modules[key] |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | var functionAssert = { |
| | | assert: function(value) { |
| | | return typeof value === "function"; |
| | | }, |
| | | expected: "function" |
| | | }; |
| | | var objectAssert = { |
| | | assert: function(value) { |
| | | return typeof value === "function" || typeof value === "object" && typeof value.handler === "function"; |
| | | }, |
| | | expected: 'function or object with "handler" function' |
| | | }; |
| | | var assertTypes = { |
| | | getters: functionAssert, |
| | | mutations: functionAssert, |
| | | actions: objectAssert |
| | | }; |
| | | function assertRawModule(path, rawModule) { |
| | | Object.keys(assertTypes).forEach(function(key) { |
| | | if (!rawModule[key]) { |
| | | return; |
| | | } |
| | | var assertOptions = assertTypes[key]; |
| | | forEachValue(rawModule[key], function(value, type) { |
| | | assert( |
| | | assertOptions.assert(value), |
| | | makeAssertionMessage(path, key, type, value, assertOptions.expected) |
| | | ); |
| | | }); |
| | | }); |
| | | } |
| | | function makeAssertionMessage(path, key, type, value, expected) { |
| | | var buf = key + " should be " + expected + ' but "' + key + "." + type + '"'; |
| | | if (path.length > 0) { |
| | | buf += ' in module "' + path.join(".") + '"'; |
| | | } |
| | | buf += " is " + JSON.stringify(value) + "."; |
| | | return buf; |
| | | } |
| | | var Store = function Store2(options) { |
| | | var this$1$1 = this; |
| | | if (options === void 0) |
| | | options = {}; |
| | | { |
| | | assert(typeof Promise !== "undefined", "vuex requires a Promise polyfill in this browser."); |
| | | assert(this instanceof Store2, "store must be called with the new operator."); |
| | | } |
| | | var plugins = options.plugins; |
| | | if (plugins === void 0) |
| | | plugins = []; |
| | | var strict = options.strict; |
| | | if (strict === void 0) |
| | | strict = false; |
| | | var devtools2 = options.devtools; |
| | | this._committing = false; |
| | | this._actions = /* @__PURE__ */ Object.create(null); |
| | | this._actionSubscribers = []; |
| | | this._mutations = /* @__PURE__ */ Object.create(null); |
| | | this._wrappedGetters = /* @__PURE__ */ Object.create(null); |
| | | this._modules = new ModuleCollection(options); |
| | | this._modulesNamespaceMap = /* @__PURE__ */ Object.create(null); |
| | | this._subscribers = []; |
| | | this._makeLocalGettersCache = /* @__PURE__ */ Object.create(null); |
| | | this._scope = null; |
| | | this._devtools = devtools2; |
| | | var store = this; |
| | | var ref2 = this; |
| | | var dispatch2 = ref2.dispatch; |
| | | var commit2 = ref2.commit; |
| | | this.dispatch = function boundDispatch(type, payload) { |
| | | return dispatch2.call(store, type, payload); |
| | | }; |
| | | this.commit = function boundCommit(type, payload, options2) { |
| | | return commit2.call(store, type, payload, options2); |
| | | }; |
| | | this.strict = strict; |
| | | var state = this._modules.root.state; |
| | | installModule(this, state, [], this._modules.root); |
| | | resetStoreState(this, state); |
| | | plugins.forEach(function(plugin2) { |
| | | return plugin2(this$1$1); |
| | | }); |
| | | }; |
| | | var prototypeAccessors = { state: { configurable: true } }; |
| | | Store.prototype.install = function install(app, injectKey) { |
| | | app.provide(injectKey || storeKey, this); |
| | | app.config.globalProperties.$store = this; |
| | | this._devtools !== void 0 ? this._devtools : true; |
| | | }; |
| | | prototypeAccessors.state.get = function() { |
| | | return this._state.data; |
| | | }; |
| | | prototypeAccessors.state.set = function(v) { |
| | | { |
| | | assert(false, "use store.replaceState() to explicit replace store state."); |
| | | } |
| | | }; |
| | | Store.prototype.commit = function commit(_type, _payload, _options) { |
| | | var this$1$1 = this; |
| | | var ref2 = unifyObjectStyle(_type, _payload, _options); |
| | | var type = ref2.type; |
| | | var payload = ref2.payload; |
| | | var options = ref2.options; |
| | | var mutation = { type, payload }; |
| | | var entry = this._mutations[type]; |
| | | if (!entry) { |
| | | { |
| | | console.error("[vuex] unknown mutation type: " + type); |
| | | } |
| | | return; |
| | | } |
| | | this._withCommit(function() { |
| | | entry.forEach(function commitIterator(handler) { |
| | | handler(payload); |
| | | }); |
| | | }); |
| | | this._subscribers.slice().forEach(function(sub2) { |
| | | return sub2(mutation, this$1$1.state); |
| | | }); |
| | | if (options && options.silent) { |
| | | console.warn( |
| | | "[vuex] mutation type: " + type + ". Silent option has been removed. Use the filter functionality in the vue-devtools" |
| | | ); |
| | | } |
| | | }; |
| | | Store.prototype.dispatch = function dispatch(_type, _payload) { |
| | | var this$1$1 = this; |
| | | var ref2 = unifyObjectStyle(_type, _payload); |
| | | var type = ref2.type; |
| | | var payload = ref2.payload; |
| | | var action = { type, payload }; |
| | | var entry = this._actions[type]; |
| | | if (!entry) { |
| | | { |
| | | console.error("[vuex] unknown action type: " + type); |
| | | } |
| | | return; |
| | | } |
| | | try { |
| | | this._actionSubscribers.slice().filter(function(sub2) { |
| | | return sub2.before; |
| | | }).forEach(function(sub2) { |
| | | return sub2.before(action, this$1$1.state); |
| | | }); |
| | | } catch (e2) { |
| | | { |
| | | console.warn("[vuex] error in before action subscribers: "); |
| | | console.error(e2); |
| | | } |
| | | } |
| | | var result = entry.length > 1 ? Promise.all(entry.map(function(handler) { |
| | | return handler(payload); |
| | | })) : entry[0](payload); |
| | | return new Promise(function(resolve2, reject) { |
| | | result.then(function(res) { |
| | | try { |
| | | this$1$1._actionSubscribers.filter(function(sub2) { |
| | | return sub2.after; |
| | | }).forEach(function(sub2) { |
| | | return sub2.after(action, this$1$1.state); |
| | | }); |
| | | } catch (e2) { |
| | | { |
| | | console.warn("[vuex] error in after action subscribers: "); |
| | | console.error(e2); |
| | | } |
| | | } |
| | | resolve2(res); |
| | | }, function(error) { |
| | | try { |
| | | this$1$1._actionSubscribers.filter(function(sub2) { |
| | | return sub2.error; |
| | | }).forEach(function(sub2) { |
| | | return sub2.error(action, this$1$1.state, error); |
| | | }); |
| | | } catch (e2) { |
| | | { |
| | | console.warn("[vuex] error in error action subscribers: "); |
| | | console.error(e2); |
| | | } |
| | | } |
| | | reject(error); |
| | | }); |
| | | }); |
| | | }; |
| | | Store.prototype.subscribe = function subscribe(fn, options) { |
| | | return genericSubscribe(fn, this._subscribers, options); |
| | | }; |
| | | Store.prototype.subscribeAction = function subscribeAction(fn, options) { |
| | | var subs = typeof fn === "function" ? { before: fn } : fn; |
| | | return genericSubscribe(subs, this._actionSubscribers, options); |
| | | }; |
| | | Store.prototype.watch = function watch$1(getter, cb, options) { |
| | | var this$1$1 = this; |
| | | { |
| | | assert(typeof getter === "function", "store.watch only accepts a function."); |
| | | } |
| | | return watch(function() { |
| | | return getter(this$1$1.state, this$1$1.getters); |
| | | }, cb, Object.assign({}, options)); |
| | | }; |
| | | Store.prototype.replaceState = function replaceState(state) { |
| | | var this$1$1 = this; |
| | | this._withCommit(function() { |
| | | this$1$1._state.data = state; |
| | | }); |
| | | }; |
| | | Store.prototype.registerModule = function registerModule(path, rawModule, options) { |
| | | if (options === void 0) |
| | | options = {}; |
| | | if (typeof path === "string") { |
| | | path = [path]; |
| | | } |
| | | { |
| | | assert(Array.isArray(path), "module path must be a string or an Array."); |
| | | assert(path.length > 0, "cannot register the root module by using registerModule."); |
| | | } |
| | | this._modules.register(path, rawModule); |
| | | installModule(this, this.state, path, this._modules.get(path), options.preserveState); |
| | | resetStoreState(this, this.state); |
| | | }; |
| | | Store.prototype.unregisterModule = function unregisterModule(path) { |
| | | var this$1$1 = this; |
| | | if (typeof path === "string") { |
| | | path = [path]; |
| | | } |
| | | { |
| | | assert(Array.isArray(path), "module path must be a string or an Array."); |
| | | } |
| | | this._modules.unregister(path); |
| | | this._withCommit(function() { |
| | | var parentState = getNestedState(this$1$1.state, path.slice(0, -1)); |
| | | delete parentState[path[path.length - 1]]; |
| | | }); |
| | | resetStore(this); |
| | | }; |
| | | Store.prototype.hasModule = function hasModule(path) { |
| | | if (typeof path === "string") { |
| | | path = [path]; |
| | | } |
| | | { |
| | | assert(Array.isArray(path), "module path must be a string or an Array."); |
| | | } |
| | | return this._modules.isRegistered(path); |
| | | }; |
| | | Store.prototype.hotUpdate = function hotUpdate(newOptions) { |
| | | this._modules.update(newOptions); |
| | | resetStore(this, true); |
| | | }; |
| | | Store.prototype._withCommit = function _withCommit(fn) { |
| | | var committing = this._committing; |
| | | this._committing = true; |
| | | fn(); |
| | | this._committing = committing; |
| | | }; |
| | | Object.defineProperties(Store.prototype, prototypeAccessors); |
| | | exports._export_sfc = _export_sfc; |
| | | exports.add = add; |
| | | exports.bignumber = bignumber; |
| | |
| | | exports.multiply = multiply; |
| | | exports.n = n; |
| | | exports.o = o; |
| | | exports.p = p; |
| | | exports.resolveComponent = resolveComponent; |
| | | exports.s = s; |
| | | exports.subtract = subtract; |
| | | exports.t = t; |