hookehuyr

🎉 init: 项目初始化

dist/
deploy_versions/
.temp/
.rn_temp/
node_modules/
.DS_Store
.swc
.history
// babel-preset-taro 更多选项和默认值:
// https://github.com/NervJS/taro/blob/next/packages/babel-preset-taro/README.md
module.exports = {
presets: [
['taro', {
framework: 'vue3',
ts: false
}]
]
}
// generated by unplugin-vue-components
// We suggest you to commit this file into source control
// Read more: https://github.com/vuejs/core/pull/3399
import '@vue/runtime-core'
export {}
declare module '@vue/runtime-core' {
export interface GlobalComponents {
NutButton: typeof import('@nutui/nutui-taro')['Button']
NutCol: typeof import('@nutui/nutui-taro')['Col']
NutRow: typeof import('@nutui/nutui-taro')['Row']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
}
}
module.exports = {
env: {
NODE_ENV: '"development"'
},
defineConstants: {
},
mini: {},
h5: {}
}
const path = require('path')
import ComponentsPlugin from 'unplugin-vue-components/webpack'
import NutUIResolver from '@nutui/nutui-taro/dist/resolver'
const config = {
projectName: 'custom_form',
date: '2023-3-23',
designWidth(input) {
if (input?.file?.replace(/\\+/g, '/').indexOf('@nutui') > -1) {
return 375
}
return 750
},
deviceRatio: {
640: 2.34 / 2,
750: 1,
828: 1.81 / 2,
375: 2 / 1,
},
alias: {
// 配置目录别名
'@/utils': path.resolve(__dirname, '../src/utils'),
'@/components': path.resolve(__dirname, '../src/components'),
'@/images': path.resolve(__dirname, '../src/assets/images'),
'@/assets': path.resolve(__dirname, '../src/assets'),
'@/composables': path.resolve(__dirname, '../src/composables'),
'@/api': path.resolve(__dirname, '../src/api'),
'@/stores': path.resolve(__dirname, '../src/stores'),
'@/hooks': path.resolve(__dirname, '../src/hooks'),
},
sourceRoot: 'src',
outputRoot: `dist/${process.env.TARO_ENV}`,
plugins: ['@tarojs/plugin-html'],
defineConstants: {},
copy: {
patterns: [],
options: {},
},
framework: 'vue3',
compiler: {
type: 'webpack5',
prebundle: { enable: false },
},
cache: {
enable: false, // Webpack 持久化缓存配置,建议开启。默认配置请参考:https://docs.taro.zone/docs/config-detail#cache
},
sass: {
data: `@import "@nutui/nutui-taro/dist/styles/variables.scss";`,
},
mini: {
webpackChain(chain) {
chain.plugin('unplugin-vue-components').use(
ComponentsPlugin({
resolvers: [NutUIResolver({ taro: true })],
}),
)
},
postcss: {
pxtransform: {
enable: true,
config: {
// selectorBlackList: ['nut-']
},
},
url: {
enable: true,
config: {
limit: 1024, // 设定转换尺寸上限
},
},
cssModules: {
enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
config: {
namingPattern: 'module', // 转换模式,取值为 global/module
generateScopedName: '[name]__[local]___[hash:base64:5]',
},
},
},
enableSourceMap: false
},
h5: {
webpackChain(chain) {
chain.plugin('unplugin-vue-components').use(
ComponentsPlugin({
resolvers: [NutUIResolver({ taro: true })],
}),
)
},
publicPath: '/',
staticDirectory: 'static',
esnextModules: ['nutui-taro', 'icons-vue-taro'],
postcss: {
autoprefixer: {
enable: true,
config: {},
},
cssModules: {
enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
config: {
namingPattern: 'module', // 转换模式,取值为 global/module
generateScopedName: '[name]__[local]___[hash:base64:5]',
},
},
},
},
}
module.exports = function (merge) {
if (process.env.NODE_ENV === 'development') {
return merge({}, config, require('./dev'))
}
return merge({}, config, require('./prod'))
}
module.exports = {
env: {
NODE_ENV: '"production"'
},
defineConstants: {
},
mini: {},
h5: {
/**
* WebpackChain 插件配置
* @docs https://github.com/neutrinojs/webpack-chain
*/
// webpackChain (chain) {
// /**
// * 如果 h5 端编译后体积过大,可以使用 webpack-bundle-analyzer 插件对打包体积进行分析。
// * @docs https://github.com/webpack-contrib/webpack-bundle-analyzer
// */
// chain.plugin('analyzer')
// .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin, [])
// /**
// * 如果 h5 端首屏加载时间过长,可以使用 prerender-spa-plugin 插件预加载首页。
// * @docs https://github.com/chrisvfritz/prerender-spa-plugin
// */
// const path = require('path')
// const Prerender = require('prerender-spa-plugin')
// const staticDir = path.join(__dirname, '..', 'dist')
// chain
// .plugin('prerender')
// .use(new Prerender({
// staticDir,
// routes: [ '/pages/index/index' ],
// postProcess: (context) => ({ ...context, outputPath: path.join(staticDir, 'index.html') })
// }))
// }
}
}
{
"name": "custom_form",
"version": "1.0.0",
"private": true,
"description": "自定义表单",
"templateInfo": {
"name": "vue3-NutUI4",
"typescript": false,
"css": "less"
},
"scripts": {
"build:weapp": "taro build --type weapp",
"build:swan": "taro build --type swan",
"build:alipay": "taro build --type alipay",
"build:tt": "taro build --type tt",
"build:h5": "taro build --type h5",
"build:rn": "taro build --type rn",
"build:qq": "taro build --type qq",
"build:jd": "taro build --type jd",
"build:quickapp": "taro build --type quickapp",
"dev:weapp": "npm run build:weapp -- --watch",
"dev:swan": "npm run build:swan -- --watch",
"dev:alipay": "npm run build:alipay -- --watch",
"dev:tt": "npm run build:tt -- --watch",
"dev:h5": "npm run build:h5 -- --watch",
"dev:rn": "npm run build:rn -- --watch",
"dev:qq": "npm run build:qq -- --watch",
"dev:jd": "npm run build:jd -- --watch",
"dev:quickapp": "npm run build:quickapp -- --watch"
},
"browserslist": [
"last 3 versions",
"Android >= 4.1",
"ios >= 8"
],
"author": "",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.7.7",
"@nutui/icons-vue-taro": "^0.0.9",
"@nutui/nutui-taro": "^4.0.0",
"@tarojs/components": "3.6.2",
"@tarojs/helper": "3.6.2",
"@tarojs/plugin-framework-vue3": "3.6.2",
"@tarojs/plugin-html": "3.6.2",
"@tarojs/plugin-platform-alipay": "3.6.2",
"@tarojs/plugin-platform-h5": "3.6.2",
"@tarojs/plugin-platform-jd": "3.6.2",
"@tarojs/plugin-platform-qq": "3.6.2",
"@tarojs/plugin-platform-swan": "3.6.2",
"@tarojs/plugin-platform-tt": "3.6.2",
"@tarojs/plugin-platform-weapp": "3.6.2",
"@tarojs/runtime": "3.6.2",
"@tarojs/shared": "3.6.2",
"@tarojs/taro": "3.6.2",
"dayjs": "^1.11.7",
"pinia": "^2.0.33",
"vue": "^3.0.0"
},
"devDependencies": {
"@babel/core": "^7.8.0",
"@tarojs/cli": "3.6.2",
"@tarojs/webpack5-runner": "3.6.2",
"@types/webpack-env": "^1.13.6",
"@vue/babel-plugin-jsx": "^1.0.6",
"@vue/compiler-sfc": "^3.0.0",
"babel-preset-taro": "3.6.2",
"css-loader": "3.4.2",
"eslint": "^8.12.0",
"eslint-config-taro": "3.6.2",
"eslint-plugin-vue": "^8.0.0",
"style-loader": "1.3.0",
"stylelint": "9.3.0",
"unplugin-vue-components": "^0.23.0",
"vue-loader": "^17.0.0",
"webpack": "5.69.0"
}
}
{
"miniprogramRoot": "./dist",
"projectname": "custom_form",
"description": "自定义表单",
"appid": "touristappid",
"setting": {
"urlCheck": true,
"es6": false,
"enhance": false,
"compileHotReLoad": false,
"postcss": false,
"minified": false
},
"compileType": "miniprogram"
}
{
"miniprogramRoot": "./",
"projectname": "custom_form",
"description": "自定义表单",
"appid": "touristappid",
"setting": {
"urlCheck": true,
"es6": false,
"postcss": false,
"minified": false
},
"compileType": "miniprogram"
}
export default defineAppConfig({
pages: [
'pages/index/index'
],
window: {
backgroundTextStyle: 'light',
navigationBarBackgroundColor: '#fff',
navigationBarTitleText: 'WeChat',
navigationBarTextStyle: 'black'
}
})
/*
* @Date: 2023-03-23 11:17:54
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2023-03-23 13:47:12
* @FilePath: /custom_form/src/app.js
* @Description: 文件描述
*/
import { createApp } from 'vue'
import { createPinia } from 'pinia'
import './app.less'
const App = createApp({
onShow (options) {},
// 入口组件不需要实现 render 方法,即使实现了也会被 taro 所覆盖
})
App.use(createPinia())
export default App
File mode changed
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta content="width=device-width,initial-scale=1,user-scalable=no" name="viewport">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-touch-fullscreen" content="yes">
<meta name="format-detection" content="telephone=no,address=no">
<meta name="apple-mobile-web-app-status-bar-style" content="white">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" >
<title>custom_form</title>
<script><%= htmlWebpackPlugin.options.script %></script>
</head>
<body>
<div id="app"></div>
</body>
</html>
export default definePageConfig({
navigationBarTitleText: '首页'
})
<template>
<view class="index">
<nut-row>
<nut-col :span="is_pc ? 22 : 24" :offset="is_pc ? 1 : 0">
<div style="background-color: red; color: white;">span:24</div>
</nut-col>
</nut-row>
</view>
</template>
<script setup>
import { storeToRefs } from 'pinia'
import { mainStore } from '@/stores'
import { wxInfo, getUrlParams } from "@/utils/tools";
import { computed, watchEffect, onMounted } from "vue";
// web端判断
const is_pc = computed(() => process.env.TARO_ENV === 'h5' && wxInfo().isPC);
const store = mainStore();
const { formInfo } = storeToRefs(store);
console.warn(is_pc.value);
</script>
<style lang="less">
</style>
/*
* @Date: 2022-04-18 15:59:42
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2023-03-23 13:19:21
* @FilePath: /custom_form/src/stores/index.js
* @Description: 文件描述
*/
import { defineStore } from 'pinia';
// import { testStore } from './test'; // 另一个store
export const mainStore = defineStore('main', {
state: () => {
return {
fieldName: '',
formInfo: {}, // 表单字段信息
formSetting: {}, // 表单数据收集设置
successInfo: {}, // 表单提交返回值
};
},
getters: {
getKeepPages () {
return this.keepPages
},
// getTestStoreList () {
// return testStore().list // 返回另一个store的值
// }
},
actions: {
changeFieldName (v) {
this.fieldName = v;
},
changeFormInfo (v) {
this.formInfo = v;
},
changeFormSetting (v) {
this.formSetting = v;
},
changeSuccessInfo (v) {
this.successInfo = v;
},
},
});
/*
* @Date: 2022-06-20 01:22:50
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2022-06-20 01:23:18
* @FilePath: /tswj/src/composables/useMonitorKeyboard.js
* @Description: 文件描述
*/
/**
* @class 监听虚拟键盘
* @classdesc 监听虚拟键盘弹出隐藏
* @public onEnd 结束监听虚拟键盘
* @public onShow 传递一个回调 监听虚拟键盘弹出
* @public onHidden 传递一个回调 监听虚拟键盘隐藏
*/
class MonitorKeyboard {
constructor() {
this.type = this.IsIA();
this.originalHeight = window.innerHeight;
}
/**
* @function IsIA 获取设备类型
* @param 1 Android 2 iOS
*/
IsIA = () => {
const userAgent = typeof window === 'object' ? window.navigator.userAgent : '';
if (/android/i.test(userAgent)) {
return 1;
} else if (/iPhone|iPod|iPad/i.test(userAgent)) {
return 2;
}
}
// Android系统
onResize = () => {
//键盘弹起与隐藏都会引起窗口的高度发生变化
const resizeHeight = window.innerHeight;
if (this.originalHeight - resizeHeight > 50) {
this.show('Android系统: 软键盘弹出');
} else {
this.hidden('Android系统: 软键盘收起');
}
}
// iOS获取焦点
onFocusin = () => {
this.show('iOS系统:软键盘弹出');
}
// iOS失去焦点
onFocusout = () => {
this.hidden('iOS系统:软键盘收起');
}
/**
* @function onStart 开始监听虚拟键盘
*/
onStart = () => {
if (this.type == 1) {
// 获取窗口的高度
window.addEventListener('resize', this.onResize);
}
if (this.type == 2) {
// iOS系统
window.addEventListener('focusin', this.onFocusin);
window.addEventListener('focusout', this.onFocusout);
}
}
/**
* @function onEnd 结束监听虚拟键盘
*/
onEnd = () => {
if (this.type == 1) {
//获取窗口的高度
window.removeEventListener('resize', this.onResize);
}
if (this.type == 2) {
window.removeEventListener('focusin', this.onFocusin);
window.removeEventListener('focusout', this.onFocusout);
}
}
/**
* @function onShow 传递一个回调函数
* @param 虚拟键盘弹出时触发
*/
onShow = (fn) => {
this.show = fn;
}
/**
* @function onHidden 传递一个回调函数
* @param 虚拟键盘隐藏时触发
*/
onHidden = (fn) => {
this.hidden = fn;
}
}
export default MonitorKeyboard
/*
* @Author: hookehuyr hookehuyr@gmail.com
* @Date: 2022-05-28 10:17:40
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2022-12-01 16:33:51
* @FilePath: /data-table/src/utils/axios.js
* @Description:
*/
import axios from 'axios';
import router from '@/router';
import qs from 'Qs'
import { strExist } from '@/utils/tools'
// import { parseQueryString } from '@/utils/tools'
axios.defaults.params = {
f: 'custom_form',
};
/**
* @description 请求拦截器
*/
axios.interceptors.request.use(
config => {
// const url_params = parseQueryString(location.href);
// GET请求默认打上时间戳,避免从缓存中拿数据。
const timestamp = config.method === 'get' ? (new Date()).valueOf() : '';
/**
* POST PHP需要修改数据格式
* 序列化POST请求时需要屏蔽上传相关接口,上传相关接口序列化后报错
*/
// config.data = config.method === 'post' && !strExist(['a=upload', 'upload.qiniup.com'], config.url) ? qs.stringify(config.data) : config.data;
// 绑定默认请求头
config.params = { ...config.params, timestamp }
return config;
},
error => {
// 请求错误处理
return Promise.reject(error);
});
/**
* @description 响应拦截器
*/
axios.interceptors.response.use(
response => {
return response;
},
error => {
return Promise.reject(error);
});
export default axios;
/**
* FingerprintJS v3.4.0 - Copyright (c) FingerprintJS, Inc, 2023 (https://fingerprint.com)
* Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.
*
* This software contains code from open-source projects:
* MurmurHash3 by Karan Lyons (https://github.com/karanlyons/murmurHash3.js)
*/
var e = function () {
return (
(e =
Object.assign ||
function (e) {
for (var n, t = 1, r = arguments.length; t < r; t++)
for (var o in (n = arguments[t]))
Object.prototype.hasOwnProperty.call(n, o) && (e[o] = n[o]);
return e;
}),
e.apply(this, arguments)
);
};
function n(e, n, t, r) {
return new (t || (t = Promise))(function (o, a) {
function i(e) {
try {
u(r.next(e));
} catch (n) {
a(n);
}
}
function c(e) {
try {
u(r.throw(e));
} catch (n) {
a(n);
}
}
function u(e) {
var n;
e.done
? o(e.value)
: ((n = e.value),
n instanceof t
? n
: new t(function (e) {
e(n);
})).then(i, c);
}
u((r = r.apply(e, n || [])).next());
});
}
function t(e, n) {
var t,
r,
o,
a,
i = {
label: 0,
sent: function () {
if (1 & o[0]) throw o[1];
return o[1];
},
trys: [],
ops: [],
};
return (
(a = { next: c(0), throw: c(1), return: c(2) }),
'function' == typeof Symbol &&
(a[Symbol.iterator] = function () {
return this;
}),
a
);
function c(c) {
return function (u) {
return (function (c) {
if (t) throw new TypeError('Generator is already executing.');
for (; a && ((a = 0), c[0] && (i = 0)), i; )
try {
if (
((t = 1),
r &&
(o =
2 & c[0]
? r.return
: c[0]
? r.throw || ((o = r.return) && o.call(r), 0)
: r.next) &&
!(o = o.call(r, c[1])).done)
)
return o;
switch (((r = 0), o && (c = [2 & c[0], o.value]), c[0])) {
case 0:
case 1:
o = c;
break;
case 4:
return i.label++, { value: c[1], done: !1 };
case 5:
i.label++, (r = c[1]), (c = [0]);
continue;
case 7:
(c = i.ops.pop()), i.trys.pop();
continue;
default:
if (
!((o = i.trys),
(o = o.length > 0 && o[o.length - 1]) || (6 !== c[0] && 2 !== c[0]))
) {
i = 0;
continue;
}
if (3 === c[0] && (!o || (c[1] > o[0] && c[1] < o[3]))) {
i.label = c[1];
break;
}
if (6 === c[0] && i.label < o[1]) {
(i.label = o[1]), (o = c);
break;
}
if (o && i.label < o[2]) {
(i.label = o[2]), i.ops.push(c);
break;
}
o[2] && i.ops.pop(), i.trys.pop();
continue;
}
c = n.call(e, i);
} catch (u) {
(c = [6, u]), (r = 0);
} finally {
t = o = 0;
}
if (5 & c[0]) throw c[1];
return { value: c[0] ? c[1] : void 0, done: !0 };
})([c, u]);
};
}
}
function r(e, n, t) {
if (t || 2 === arguments.length)
for (var r, o = 0, a = n.length; o < a; o++)
(!r && o in n) || (r || (r = Array.prototype.slice.call(n, 0, o)), (r[o] = n[o]));
return e.concat(r || Array.prototype.slice.call(n));
}
function o(e, n) {
return new Promise(function (t) {
return setTimeout(t, e, n);
});
}
function a(e) {
return !!e && 'function' == typeof e.then;
}
function i(e, n) {
try {
var t = e();
a(t)
? t.then(
function (e) {
return n(!0, e);
},
function (e) {
return n(!1, e);
},
)
: n(!0, t);
} catch (r) {
n(!1, r);
}
}
function c(e, r, a) {
return (
void 0 === a && (a = 16),
n(this, void 0, void 0, function () {
var n, i, c;
return t(this, function (t) {
switch (t.label) {
case 0:
(n = Date.now()), (i = 0), (t.label = 1);
case 1:
return i < e.length
? (r(e[i], i), (c = Date.now()) >= n + a ? ((n = c), [4, o(0)]) : [3, 3])
: [3, 4];
case 2:
t.sent(), (t.label = 3);
case 3:
return ++i, [3, 1];
case 4:
return [2];
}
});
})
);
}
function u(e) {
e.then(void 0, function () {});
}
function l(e, n) {
(e = [e[0] >>> 16, 65535 & e[0], e[1] >>> 16, 65535 & e[1]]),
(n = [n[0] >>> 16, 65535 & n[0], n[1] >>> 16, 65535 & n[1]]);
var t = [0, 0, 0, 0];
return (
(t[3] += e[3] + n[3]),
(t[2] += t[3] >>> 16),
(t[3] &= 65535),
(t[2] += e[2] + n[2]),
(t[1] += t[2] >>> 16),
(t[2] &= 65535),
(t[1] += e[1] + n[1]),
(t[0] += t[1] >>> 16),
(t[1] &= 65535),
(t[0] += e[0] + n[0]),
(t[0] &= 65535),
[(t[0] << 16) | t[1], (t[2] << 16) | t[3]]
);
}
function s(e, n) {
(e = [e[0] >>> 16, 65535 & e[0], e[1] >>> 16, 65535 & e[1]]),
(n = [n[0] >>> 16, 65535 & n[0], n[1] >>> 16, 65535 & n[1]]);
var t = [0, 0, 0, 0];
return (
(t[3] += e[3] * n[3]),
(t[2] += t[3] >>> 16),
(t[3] &= 65535),
(t[2] += e[2] * n[3]),
(t[1] += t[2] >>> 16),
(t[2] &= 65535),
(t[2] += e[3] * n[2]),
(t[1] += t[2] >>> 16),
(t[2] &= 65535),
(t[1] += e[1] * n[3]),
(t[0] += t[1] >>> 16),
(t[1] &= 65535),
(t[1] += e[2] * n[2]),
(t[0] += t[1] >>> 16),
(t[1] &= 65535),
(t[1] += e[3] * n[1]),
(t[0] += t[1] >>> 16),
(t[1] &= 65535),
(t[0] += e[0] * n[3] + e[1] * n[2] + e[2] * n[1] + e[3] * n[0]),
(t[0] &= 65535),
[(t[0] << 16) | t[1], (t[2] << 16) | t[3]]
);
}
function d(e, n) {
return 32 === (n %= 64)
? [e[1], e[0]]
: n < 32
? [(e[0] << n) | (e[1] >>> (32 - n)), (e[1] << n) | (e[0] >>> (32 - n))]
: ((n -= 32), [(e[1] << n) | (e[0] >>> (32 - n)), (e[0] << n) | (e[1] >>> (32 - n))]);
}
function m(e, n) {
return 0 === (n %= 64)
? e
: n < 32
? [(e[0] << n) | (e[1] >>> (32 - n)), e[1] << n]
: [e[1] << (n - 32), 0];
}
function f(e, n) {
return [e[0] ^ n[0], e[1] ^ n[1]];
}
function v(e) {
return (
(e = f(e, [0, e[0] >>> 1])),
(e = f((e = s(e, [4283543511, 3981806797])), [0, e[0] >>> 1])),
(e = f((e = s(e, [3301882366, 444984403])), [0, e[0] >>> 1]))
);
}
function h(e, n) {
n = n || 0;
var t,
r = (e = e || '').length % 16,
o = e.length - r,
a = [0, n],
i = [0, n],
c = [0, 0],
u = [0, 0],
h = [2277735313, 289559509],
b = [1291169091, 658871167];
for (t = 0; t < o; t += 16)
(c = [
(255 & e.charCodeAt(t + 4)) |
((255 & e.charCodeAt(t + 5)) << 8) |
((255 & e.charCodeAt(t + 6)) << 16) |
((255 & e.charCodeAt(t + 7)) << 24),
(255 & e.charCodeAt(t)) |
((255 & e.charCodeAt(t + 1)) << 8) |
((255 & e.charCodeAt(t + 2)) << 16) |
((255 & e.charCodeAt(t + 3)) << 24),
]),
(u = [
(255 & e.charCodeAt(t + 12)) |
((255 & e.charCodeAt(t + 13)) << 8) |
((255 & e.charCodeAt(t + 14)) << 16) |
((255 & e.charCodeAt(t + 15)) << 24),
(255 & e.charCodeAt(t + 8)) |
((255 & e.charCodeAt(t + 9)) << 8) |
((255 & e.charCodeAt(t + 10)) << 16) |
((255 & e.charCodeAt(t + 11)) << 24),
]),
(c = d((c = s(c, h)), 31)),
(a = l((a = d((a = f(a, (c = s(c, b)))), 27)), i)),
(a = l(s(a, [0, 5]), [0, 1390208809])),
(u = d((u = s(u, b)), 33)),
(i = l((i = d((i = f(i, (u = s(u, h)))), 31)), a)),
(i = l(s(i, [0, 5]), [0, 944331445]));
switch (((c = [0, 0]), (u = [0, 0]), r)) {
case 15:
u = f(u, m([0, e.charCodeAt(t + 14)], 48));
case 14:
u = f(u, m([0, e.charCodeAt(t + 13)], 40));
case 13:
u = f(u, m([0, e.charCodeAt(t + 12)], 32));
case 12:
u = f(u, m([0, e.charCodeAt(t + 11)], 24));
case 11:
u = f(u, m([0, e.charCodeAt(t + 10)], 16));
case 10:
u = f(u, m([0, e.charCodeAt(t + 9)], 8));
case 9:
(u = s((u = f(u, [0, e.charCodeAt(t + 8)])), b)), (i = f(i, (u = s((u = d(u, 33)), h))));
case 8:
c = f(c, m([0, e.charCodeAt(t + 7)], 56));
case 7:
c = f(c, m([0, e.charCodeAt(t + 6)], 48));
case 6:
c = f(c, m([0, e.charCodeAt(t + 5)], 40));
case 5:
c = f(c, m([0, e.charCodeAt(t + 4)], 32));
case 4:
c = f(c, m([0, e.charCodeAt(t + 3)], 24));
case 3:
c = f(c, m([0, e.charCodeAt(t + 2)], 16));
case 2:
c = f(c, m([0, e.charCodeAt(t + 1)], 8));
case 1:
(c = s((c = f(c, [0, e.charCodeAt(t)])), h)), (a = f(a, (c = s((c = d(c, 31)), b))));
}
return (
(a = l((a = f(a, [0, e.length])), (i = f(i, [0, e.length])))),
(i = l(i, a)),
(a = l((a = v(a)), (i = v(i)))),
(i = l(i, a)),
('00000000' + (a[0] >>> 0).toString(16)).slice(-8) +
('00000000' + (a[1] >>> 0).toString(16)).slice(-8) +
('00000000' + (i[0] >>> 0).toString(16)).slice(-8) +
('00000000' + (i[1] >>> 0).toString(16)).slice(-8)
);
}
function b(e) {
return parseInt(e);
}
function p(e) {
return parseFloat(e);
}
function y(e, n) {
return 'number' == typeof e && isNaN(e) ? n : e;
}
function g(e) {
return e.reduce(function (e, n) {
return e + (n ? 1 : 0);
}, 0);
}
function w(e, n) {
if ((void 0 === n && (n = 1), Math.abs(n) >= 1)) return Math.round(e / n) * n;
var t = 1 / n;
return Math.round(e * t) / t;
}
function L(e) {
return e && 'object' == typeof e && 'message' in e ? e : { message: e };
}
function k(e) {
return 'function' != typeof e;
}
function V(e, r, a) {
var l = Object.keys(e).filter(function (e) {
return !(function (e, n) {
for (var t = 0, r = e.length; t < r; ++t) if (e[t] === n) return !0;
return !1;
})(a, e);
}),
s = Array(l.length);
return (
c(l, function (n, t) {
s[t] = (function (e, n) {
var t = new Promise(function (t) {
var r = Date.now();
i(e.bind(null, n), function () {
for (var e = [], n = 0; n < arguments.length; n++) e[n] = arguments[n];
var o = Date.now() - r;
if (!e[0])
return t(function () {
return { error: L(e[1]), duration: o };
});
var a = e[1];
if (k(a))
return t(function () {
return { value: a, duration: o };
});
t(function () {
return new Promise(function (e) {
var n = Date.now();
i(a, function () {
for (var t = [], r = 0; r < arguments.length; r++) t[r] = arguments[r];
var a = o + Date.now() - n;
if (!t[0]) return e({ error: L(t[1]), duration: a });
e({ value: t[1], duration: a });
});
});
});
});
});
return (
u(t),
function () {
return t.then(function (e) {
return e();
});
}
);
})(e[n], r);
}),
function () {
return n(this, void 0, void 0, function () {
var e, n, r, a, i, d;
return t(this, function (m) {
switch (m.label) {
case 0:
for (e = {}, n = 0, r = l; n < r.length; n++) (a = r[n]), (e[a] = void 0);
(i = Array(l.length)),
(d = function () {
var n;
return t(this, function (t) {
switch (t.label) {
case 0:
return (
(n = !0),
[
4,
c(l, function (t, r) {
if (!i[r])
if (s[r]) {
var o = s[r]().then(function (n) {
return (e[t] = n);
});
u(o), (i[r] = o);
} else n = !1;
}),
]
);
case 1:
return t.sent(), n ? [2, 'break'] : [4, o(1)];
case 2:
return t.sent(), [2];
}
});
}),
(m.label = 1);
case 1:
return [5, d()];
case 2:
if ('break' === m.sent()) return [3, 4];
m.label = 3;
case 3:
return [3, 1];
case 4:
return [4, Promise.all(i)];
case 5:
return m.sent(), [2, e];
}
});
});
}
);
}
function W(e, n) {
var t = function (e) {
return k(e)
? n(e)
: function () {
var t = e();
return a(t) ? t.then(n) : n(t);
};
};
return function (n) {
var r = e(n);
return a(r) ? r.then(t) : t(r);
};
}
function Z() {
var e = window,
n = navigator;
return (
g([
'MSCSSMatrix' in e,
'msSetImmediate' in e,
'msIndexedDB' in e,
'msMaxTouchPoints' in n,
'msPointerEnabled' in n,
]) >= 4
);
}
function S() {
var e = window,
n = navigator;
return (
g(['msWriteProfilerMark' in e, 'MSStream' in e, 'msLaunchUri' in n, 'msSaveBlob' in n]) >= 3 &&
!Z()
);
}
function X() {
var e = window,
n = navigator;
return (
g([
'webkitPersistentStorage' in n,
'webkitTemporaryStorage' in n,
0 === n.vendor.indexOf('Google'),
'webkitResolveLocalFileSystemURL' in e,
'BatteryManager' in e,
'webkitMediaStream' in e,
'webkitSpeechGrammar' in e,
]) >= 5
);
}
function x() {
var e = window,
n = navigator;
return (
g([
'ApplePayError' in e,
'CSSPrimitiveValue' in e,
'Counter' in e,
0 === n.vendor.indexOf('Apple'),
'getStorageUpdates' in n,
'WebKitMediaKeys' in e,
]) >= 4
);
}
function F() {
var e = window;
return (
g([
'safari' in e,
!('DeviceMotionEvent' in e),
!('ongestureend' in e),
!('standalone' in navigator),
]) >= 3
);
}
function Y() {
var e,
n,
t = window;
return (
g([
'buildID' in navigator,
'MozAppearance' in
(null !==
(n = null === (e = document.documentElement) || void 0 === e ? void 0 : e.style) &&
void 0 !== n
? n
: {}),
'onmozfullscreenchange' in t,
'mozInnerScreenX' in t,
'CSSMozDocumentRule' in t,
'CanvasCaptureMediaStream' in t,
]) >= 4
);
}
function C() {
var e = document;
return (
e.fullscreenElement ||
e.msFullscreenElement ||
e.mozFullScreenElement ||
e.webkitFullscreenElement ||
null
);
}
function R() {
var e = X(),
n = Y();
if (!e && !n) return !1;
var t = window;
return (
g([
'onorientationchange' in t,
'orientation' in t,
e && !('SharedWorker' in t),
n && /android/i.test(navigator.appVersion),
]) >= 2
);
}
function G(e) {
var n = new Error(e);
return (n.name = e), n;
}
function M(e, r, a) {
var i, c, u;
return (
void 0 === a && (a = 50),
n(this, void 0, void 0, function () {
var n, l;
return t(this, function (t) {
switch (t.label) {
case 0:
(n = document), (t.label = 1);
case 1:
return n.body ? [3, 3] : [4, o(a)];
case 2:
return t.sent(), [3, 1];
case 3:
(l = n.createElement('iframe')), (t.label = 4);
case 4:
return (
t.trys.push([4, , 10, 11]),
[
4,
new Promise(function (e, t) {
var o = !1,
a = function () {
(o = !0), e();
};
(l.onload = a),
(l.onerror = function (e) {
(o = !0), t(e);
});
var i = l.style;
i.setProperty('display', 'block', 'important'),
(i.position = 'absolute'),
(i.top = '0'),
(i.left = '0'),
(i.visibility = 'hidden'),
r && 'srcdoc' in l ? (l.srcdoc = r) : (l.src = 'about:blank'),
n.body.appendChild(l);
var c = function () {
var e, n;
o ||
('complete' ===
(null ===
(n =
null === (e = l.contentWindow) || void 0 === e ? void 0 : e.document) ||
void 0 === n
? void 0
: n.readyState)
? a()
: setTimeout(c, 10));
};
c();
}),
]
);
case 5:
t.sent(), (t.label = 6);
case 6:
return (
null === (c = null === (i = l.contentWindow) || void 0 === i ? void 0 : i.document) ||
void 0 === c
? void 0
: c.body
)
? [3, 8]
: [4, o(a)];
case 7:
return t.sent(), [3, 6];
case 8:
return [4, e(l, l.contentWindow)];
case 9:
return [2, t.sent()];
case 10:
return null === (u = l.parentNode) || void 0 === u || u.removeChild(l), [7];
case 11:
return [2];
}
});
})
);
}
function I(e) {
for (
var n = (function (e) {
for (
var n,
t,
r = "Unexpected syntax '".concat(e, "'"),
o = /^\s*([a-z-]*)(.*)$/i.exec(e),
a = o[1] || void 0,
i = {},
c = /([.:#][\w-]+|\[.+?\])/gi,
u = function (e, n) {
(i[e] = i[e] || []), i[e].push(n);
};
;
) {
var l = c.exec(o[2]);
if (!l) break;
var s = l[0];
switch (s[0]) {
case '.':
u('class', s.slice(1));
break;
case '#':
u('id', s.slice(1));
break;
case '[':
var d = /^\[([\w-]+)([~|^$*]?=("(.*?)"|([\w-]+)))?(\s+[is])?\]$/.exec(s);
if (!d) throw new Error(r);
u(
d[1],
null !== (t = null !== (n = d[4]) && void 0 !== n ? n : d[5]) && void 0 !== t
? t
: '',
);
break;
default:
throw new Error(r);
}
}
return [a, i];
})(e),
t = n[0],
r = n[1],
o = document.createElement(null != t ? t : 'div'),
a = 0,
i = Object.keys(r);
a < i.length;
a++
) {
var c = i[a],
u = r[c].join(' ');
'style' === c ? j(o.style, u) : o.setAttribute(c, u);
}
return o;
}
function j(e, n) {
for (var t = 0, r = n.split(';'); t < r.length; t++) {
var o = r[t],
a = /^\s*([\w-]+)\s*:\s*(.+?)(\s*!([\w-]+))?\s*$/.exec(o);
if (a) {
var i = a[1],
c = a[2],
u = a[4];
e.setProperty(i, c, u || '');
}
}
}
var A = ['monospace', 'sans-serif', 'serif'],
J = [
'sans-serif-thin',
'ARNO PRO',
'Agency FB',
'Arabic Typesetting',
'Arial Unicode MS',
'AvantGarde Bk BT',
'BankGothic Md BT',
'Batang',
'Bitstream Vera Sans Mono',
'Calibri',
'Century',
'Century Gothic',
'Clarendon',
'EUROSTILE',
'Franklin Gothic',
'Futura Bk BT',
'Futura Md BT',
'GOTHAM',
'Gill Sans',
'HELV',
'Haettenschweiler',
'Helvetica Neue',
'Humanst521 BT',
'Leelawadee',
'Letter Gothic',
'Levenim MT',
'Lucida Bright',
'Lucida Sans',
'Menlo',
'MS Mincho',
'MS Outlook',
'MS Reference Specialty',
'MS UI Gothic',
'MT Extra',
'MYRIAD PRO',
'Marlett',
'Meiryo UI',
'Microsoft Uighur',
'Minion Pro',
'Monotype Corsiva',
'PMingLiU',
'Pristina',
'SCRIPTINA',
'Segoe UI Light',
'Serifa',
'SimHei',
'Small Fonts',
'Staccato222 BT',
'TRAJAN PRO',
'Univers CE 55 Medium',
'Vrinda',
'ZWAdobeF',
];
function H(e) {
return e.toDataURL();
}
var N, P;
function z() {
var e = this;
return (
(function () {
if (void 0 === P) {
var e = function () {
var n = D();
E(n) ? (P = setTimeout(e, 2500)) : ((N = n), (P = void 0));
};
e();
}
})(),
function () {
return n(e, void 0, void 0, function () {
var e;
return t(this, function (n) {
switch (n.label) {
case 0:
return E((e = D()))
? N
? [2, r([], N, !0)]
: C()
? [
4,
((t = document),
(
t.exitFullscreen ||
t.msExitFullscreen ||
t.mozCancelFullScreen ||
t.webkitExitFullscreen
).call(t)),
]
: [3, 2]
: [3, 2];
case 1:
n.sent(), (e = D()), (n.label = 2);
case 2:
return E(e) || (N = e), [2, e];
}
var t;
});
});
}
);
}
function D() {
var e = screen;
return [
y(p(e.availTop), null),
y(p(e.width) - p(e.availWidth) - y(p(e.availLeft), 0), null),
y(p(e.height) - p(e.availHeight) - y(p(e.availTop), 0), null),
y(p(e.availLeft), null),
];
}
function E(e) {
for (var n = 0; n < 4; ++n) if (e[n]) return !1;
return !0;
}
function B(e) {
var r;
return n(this, void 0, void 0, function () {
var n, a, i, c, u, l, s;
return t(this, function (t) {
switch (t.label) {
case 0:
for (
n = document, a = n.createElement('div'), i = new Array(e.length), c = {}, T(a), s = 0;
s < e.length;
++s
)
(u = I(e[s])),
T((l = n.createElement('div'))),
l.appendChild(u),
a.appendChild(l),
(i[s] = u);
t.label = 1;
case 1:
return n.body ? [3, 3] : [4, o(50)];
case 2:
return t.sent(), [3, 1];
case 3:
n.body.appendChild(a);
try {
for (s = 0; s < e.length; ++s) i[s].offsetParent || (c[e[s]] = !0);
} finally {
null === (r = a.parentNode) || void 0 === r || r.removeChild(a);
}
return [2, c];
}
});
});
}
function T(e) {
e.style.setProperty('display', 'block', 'important');
}
function O(e) {
return matchMedia('(inverted-colors: '.concat(e, ')')).matches;
}
function _(e) {
return matchMedia('(forced-colors: '.concat(e, ')')).matches;
}
function Q(e) {
return matchMedia('(prefers-contrast: '.concat(e, ')')).matches;
}
function U(e) {
return matchMedia('(prefers-reduced-motion: '.concat(e, ')')).matches;
}
function K(e) {
return matchMedia('(dynamic-range: '.concat(e, ')')).matches;
}
var q = Math,
$ = function () {
return 0;
};
var ee = {
default: [],
apple: [{ font: '-apple-system-body' }],
serif: [{ fontFamily: 'serif' }],
sans: [{ fontFamily: 'sans-serif' }],
mono: [{ fontFamily: 'monospace' }],
min: [{ fontSize: '1px' }],
system: [{ fontFamily: 'system-ui' }],
};
var ne = {
fonts: function () {
return M(function (e, n) {
var t = n.document,
r = t.body;
r.style.fontSize = '48px';
var o = t.createElement('div'),
a = {},
i = {},
c = function (e) {
var n = t.createElement('span'),
r = n.style;
return (
(r.position = 'absolute'),
(r.top = '0'),
(r.left = '0'),
(r.fontFamily = e),
(n.textContent = 'mmMwWLliI0O&1'),
o.appendChild(n),
n
);
},
u = A.map(c),
l = (function () {
for (
var e = {},
n = function (n) {
e[n] = A.map(function (e) {
return (function (e, n) {
return c("'".concat(e, "',").concat(n));
})(n, e);
});
},
t = 0,
r = J;
t < r.length;
t++
) {
n(r[t]);
}
return e;
})();
r.appendChild(o);
for (var s = 0; s < A.length; s++)
(a[A[s]] = u[s].offsetWidth), (i[A[s]] = u[s].offsetHeight);
return J.filter(function (e) {
return (
(n = l[e]),
A.some(function (e, t) {
return n[t].offsetWidth !== a[e] || n[t].offsetHeight !== i[e];
})
);
var n;
});
});
},
domBlockers: function (e) {
var r = (void 0 === e ? {} : e).debug;
return n(this, void 0, void 0, function () {
var e, n, o, a, i;
return t(this, function (t) {
switch (t.label) {
case 0:
return x() || R()
? ((c = atob),
(e = {
abpIndo: [
'#Iklan-Melayang',
'#Kolom-Iklan-728',
'#SidebarIklan-wrapper',
c('YVt0aXRsZT0iN25hZ2EgcG9rZXIiIGld'),
'[title="ALIENBOLA" i]',
],
abpvn: [
'#quangcaomb',
c('Lmlvc0Fkc2lvc0Fkcy1sYXlvdXQ='),
'.quangcao',
c('W2hyZWZePSJodHRwczovL3I4OC52bi8iXQ=='),
c('W2hyZWZePSJodHRwczovL3piZXQudm4vIl0='),
],
adBlockFinland: [
'.mainostila',
c('LnNwb25zb3JpdA=='),
'.ylamainos',
c('YVtocmVmKj0iL2NsaWNrdGhyZ2guYXNwPyJd'),
c('YVtocmVmXj0iaHR0cHM6Ly9hcHAucmVhZHBlYWsuY29tL2FkcyJd'),
],
adBlockPersian: [
'#navbar_notice_50',
'.kadr',
'TABLE[width="140px"]',
'#divAgahi',
c('I2FkMl9pbmxpbmU='),
],
adBlockWarningRemoval: [
'#adblock-honeypot',
'.adblocker-root',
'.wp_adblock_detect',
c('LmhlYWRlci1ibG9ja2VkLWFk'),
c('I2FkX2Jsb2NrZXI='),
],
adGuardAnnoyances: [
'amp-embed[type="zen"]',
'.hs-sosyal',
'#cookieconsentdiv',
'div[class^="app_gdpr"]',
'.as-oil',
],
adGuardBase: [
'.BetterJsPopOverlay',
c('I2FkXzMwMFgyNTA='),
c('I2Jhbm5lcmZsb2F0MjI='),
c('I2FkLWJhbm5lcg=='),
c('I2NhbXBhaWduLWJhbm5lcg=='),
],
adGuardChinese: [
c('LlppX2FkX2FfSA=='),
c('YVtocmVmKj0iL29kMDA1LmNvbSJd'),
c('YVtocmVmKj0iLmh0aGJldDM0LmNvbSJd'),
'.qq_nr_lad',
'#widget-quan',
],
adGuardFrench: [
c('I2Jsb2NrLXZpZXdzLWFkcy1zaWRlYmFyLWJsb2NrLWJsb2Nr'),
'#pavePub',
c('LmFkLWRlc2t0b3AtcmVjdGFuZ2xl'),
'.mobile_adhesion',
'.widgetadv',
],
adGuardGerman: [
c('LmJhbm5lcml0ZW13ZXJidW5nX2hlYWRfMQ=='),
c('LmJveHN0YXJ0d2VyYnVuZw=='),
c('LndlcmJ1bmcz'),
c('YVtocmVmXj0iaHR0cDovL3d3dy5laXMuZGUvaW5kZXgucGh0bWw/cmVmaWQ9Il0='),
c('YVtocmVmXj0iaHR0cHM6Ly93d3cudGlwaWNvLmNvbS8/YWZmaWxpYXRlSWQ9Il0='),
],
adGuardJapanese: [
'#kauli_yad_1',
c('YVtocmVmXj0iaHR0cDovL2FkMi50cmFmZmljZ2F0ZS5uZXQvIl0='),
c('Ll9wb3BJbl9pbmZpbml0ZV9hZA=='),
c('LmFkZ29vZ2xl'),
c('LmFkX3JlZ3VsYXIz'),
],
adGuardMobile: [
c('YW1wLWF1dG8tYWRz'),
c('LmFtcF9hZA=='),
'amp-embed[type="24smi"]',
'#mgid_iframe1',
c('I2FkX2ludmlld19hcmVh'),
],
adGuardRussian: [
c('YVtocmVmXj0iaHR0cHM6Ly9hZC5sZXRtZWFkcy5jb20vIl0='),
c('LnJlY2xhbWE='),
'div[id^="smi2adblock"]',
c('ZGl2W2lkXj0iQWRGb3hfYmFubmVyXyJd'),
c('I2FkX3NxdWFyZQ=='),
],
adGuardSocial: [
c('YVtocmVmXj0iLy93d3cuc3R1bWJsZXVwb24uY29tL3N1Ym1pdD91cmw9Il0='),
c('YVtocmVmXj0iLy90ZWxlZ3JhbS5tZS9zaGFyZS91cmw/Il0='),
'.etsy-tweet',
'#inlineShare',
'.popup-social',
],
adGuardSpanishPortuguese: [
'#barraPublicidade',
'#Publicidade',
'#publiEspecial',
'#queTooltip',
c('W2hyZWZePSJodHRwOi8vYWRzLmdsaXNwYS5jb20vIl0='),
],
adGuardTrackingProtection: [
'#qoo-counter',
c('YVtocmVmXj0iaHR0cDovL2NsaWNrLmhvdGxvZy5ydS8iXQ=='),
c('YVtocmVmXj0iaHR0cDovL2hpdGNvdW50ZXIucnUvdG9wL3N0YXQucGhwIl0='),
c('YVtocmVmXj0iaHR0cDovL3RvcC5tYWlsLnJ1L2p1bXAiXQ=='),
'#top100counter',
],
adGuardTurkish: [
'#backkapat',
c('I3Jla2xhbWk='),
c('YVtocmVmXj0iaHR0cDovL2Fkc2Vydi5vbnRlay5jb20udHIvIl0='),
c('YVtocmVmXj0iaHR0cDovL2l6bGVuemkuY29tL2NhbXBhaWduLyJd'),
c('YVtocmVmXj0iaHR0cDovL3d3dy5pbnN0YWxsYWRzLm5ldC8iXQ=='),
],
bulgarian: [
c('dGQjZnJlZW5ldF90YWJsZV9hZHM='),
'#ea_intext_div',
'.lapni-pop-over',
'#xenium_hot_offers',
c('I25ld0Fk'),
],
easyList: [
c('I0FEX0NPTlRST0xfMjg='),
c('LnNlY29uZC1wb3N0LWFkcy13cmFwcGVy'),
'.universalboxADVBOX03',
c('LmFkdmVydGlzZW1lbnQtNzI4eDkw'),
c('LnNxdWFyZV9hZHM='),
],
easyListChina: [
c('YVtocmVmKj0iLndlbnNpeHVldGFuZy5jb20vIl0='),
c('LmFwcGd1aWRlLXdyYXBbb25jbGljayo9ImJjZWJvcy5jb20iXQ=='),
c('LmZyb250cGFnZUFkdk0='),
'#taotaole',
'#aafoot.top_box',
],
easyListCookie: [
'#AdaCompliance.app-notice',
'.text-center.rgpd',
'.panel--cookie',
'.js-cookies-andromeda',
'.elxtr-consent',
],
easyListCzechSlovak: [
'#onlajny-stickers',
c('I3Jla2xhbW5pLWJveA=='),
c('LnJla2xhbWEtbWVnYWJvYXJk'),
'.sklik',
c('W2lkXj0ic2tsaWtSZWtsYW1hIl0='),
],
easyListDutch: [
c('I2FkdmVydGVudGll'),
c('I3ZpcEFkbWFya3RCYW5uZXJCbG9jaw=='),
'.adstekst',
c('YVtocmVmXj0iaHR0cHM6Ly94bHR1YmUubmwvY2xpY2svIl0='),
'#semilo-lrectangle',
],
easyListGermany: [
c('I0FkX1dpbjJkYXk='),
c('I3dlcmJ1bmdzYm94MzAw'),
c('YVtocmVmXj0iaHR0cDovL3d3dy5yb3RsaWNodGthcnRlaS5jb20vP3NjPSJd'),
c('I3dlcmJ1bmdfd2lkZXNreXNjcmFwZXJfc2NyZWVu'),
c('YVtocmVmXj0iaHR0cDovL2xhbmRpbmcucGFya3BsYXR6a2FydGVpLmNvbS8/YWc9Il0='),
],
easyListItaly: [
c('LmJveF9hZHZfYW5udW5jaQ=='),
'.sb-box-pubbliredazionale',
c('YVtocmVmXj0iaHR0cDovL2FmZmlsaWF6aW9uaWFkcy5zbmFpLml0LyJd'),
c('YVtocmVmXj0iaHR0cHM6Ly9hZHNlcnZlci5odG1sLml0LyJd'),
c('YVtocmVmXj0iaHR0cHM6Ly9hZmZpbGlhemlvbmlhZHMuc25haS5pdC8iXQ=='),
],
easyListLithuania: [
c('LnJla2xhbW9zX3RhcnBhcw=='),
c('LnJla2xhbW9zX251b3JvZG9z'),
c('aW1nW2FsdD0iUmVrbGFtaW5pcyBza3lkZWxpcyJd'),
c('aW1nW2FsdD0iRGVkaWt1b3RpLmx0IHNlcnZlcmlhaSJd'),
c('aW1nW2FsdD0iSG9zdGluZ2FzIFNlcnZlcmlhaS5sdCJd'),
],
estonian: [c('QVtocmVmKj0iaHR0cDovL3BheTRyZXN1bHRzMjQuZXUiXQ==')],
fanboyAnnoyances: [
'#feedback-tab',
'#taboola-below-article',
'.feedburnerFeedBlock',
'.widget-feedburner-counter',
'[title="Subscribe to our blog"]',
],
fanboyAntiFacebook: ['.util-bar-module-firefly-visible'],
fanboyEnhancedTrackers: [
'.open.pushModal',
'#issuem-leaky-paywall-articles-zero-remaining-nag',
'#sovrn_container',
'div[class$="-hide"][zoompage-fontsize][style="display: block;"]',
'.BlockNag__Card',
],
fanboySocial: [
'.td-tags-and-social-wrapper-box',
'.twitterContainer',
'.youtube-social',
'a[title^="Like us on Facebook"]',
'img[alt^="Share on Digg"]',
],
frellwitSwedish: [
c('YVtocmVmKj0iY2FzaW5vcHJvLnNlIl1bdGFyZ2V0PSJfYmxhbmsiXQ=='),
c('YVtocmVmKj0iZG9rdG9yLXNlLm9uZWxpbmsubWUiXQ=='),
'article.category-samarbete',
c('ZGl2LmhvbGlkQWRz'),
'ul.adsmodern',
],
greekAdBlock: [
c('QVtocmVmKj0iYWRtYW4ub3RlbmV0LmdyL2NsaWNrPyJd'),
c('QVtocmVmKj0iaHR0cDovL2F4aWFiYW5uZXJzLmV4b2R1cy5nci8iXQ=='),
c('QVtocmVmKj0iaHR0cDovL2ludGVyYWN0aXZlLmZvcnRobmV0LmdyL2NsaWNrPyJd'),
'DIV.agores300',
'TABLE.advright',
],
hungarian: [
'#cemp_doboz',
'.optimonk-iframe-container',
c('LmFkX19tYWlu'),
c('W2NsYXNzKj0iR29vZ2xlQWRzIl0='),
'#hirdetesek_box',
],
iDontCareAboutCookies: [
'.alert-info[data-block-track*="CookieNotice"]',
'.ModuleTemplateCookieIndicator',
'.o--cookies--container',
'.cookie-msg-info-container',
'#cookies-policy-sticky',
],
icelandicAbp: [
c('QVtocmVmXj0iL2ZyYW1ld29yay9yZXNvdXJjZXMvZm9ybXMvYWRzLmFzcHgiXQ=='),
],
latvian: [
c(
'YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMjBweDsgaGVpZ2h0OiA0MHB4OyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7Il0=',
),
c(
'YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiA4OHB4OyBoZWlnaHQ6IDMxcHg7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsiXQ==',
),
],
listKr: [
c('YVtocmVmKj0iLy9hZC5wbGFuYnBsdXMuY28ua3IvIl0='),
c('I2xpdmVyZUFkV3JhcHBlcg=='),
c('YVtocmVmKj0iLy9hZHYuaW1hZHJlcC5jby5rci8iXQ=='),
c('aW5zLmZhc3R2aWV3LWFk'),
'.revenue_unit_item.dable',
],
listeAr: [
c('LmdlbWluaUxCMUFk'),
'.right-and-left-sponsers',
c('YVtocmVmKj0iLmFmbGFtLmluZm8iXQ=='),
c('YVtocmVmKj0iYm9vcmFxLm9yZyJd'),
c('YVtocmVmKj0iZHViaXp6bGUuY29tL2FyLz91dG1fc291cmNlPSJd'),
],
listeFr: [
c('YVtocmVmXj0iaHR0cDovL3Byb21vLnZhZG9yLmNvbS8iXQ=='),
c('I2FkY29udGFpbmVyX3JlY2hlcmNoZQ=='),
c('YVtocmVmKj0id2Vib3JhbWEuZnIvZmNnaS1iaW4vIl0='),
'.site-pub-interstitiel',
'div[id^="crt-"][data-criteo-id]',
],
officialPolish: [
'#ceneo-placeholder-ceneo-12',
c('W2hyZWZePSJodHRwczovL2FmZi5zZW5kaHViLnBsLyJd'),
c('YVtocmVmXj0iaHR0cDovL2Fkdm1hbmFnZXIudGVjaGZ1bi5wbC9yZWRpcmVjdC8iXQ=='),
c('YVtocmVmXj0iaHR0cDovL3d3dy50cml6ZXIucGwvP3V0bV9zb3VyY2UiXQ=='),
c('ZGl2I3NrYXBpZWNfYWQ='),
],
ro: [
c('YVtocmVmXj0iLy9hZmZ0cmsuYWx0ZXgucm8vQ291bnRlci9DbGljayJd'),
'a[href^="/magazin/"]',
c('YVtocmVmXj0iaHR0cHM6Ly9ibGFja2ZyaWRheXNhbGVzLnJvL3Ryay9zaG9wLyJd'),
c('YVtocmVmXj0iaHR0cHM6Ly9ldmVudC4ycGVyZm9ybWFudC5jb20vZXZlbnRzL2NsaWNrIl0='),
c('YVtocmVmXj0iaHR0cHM6Ly9sLnByb2ZpdHNoYXJlLnJvLyJd'),
],
ruAd: [
c('YVtocmVmKj0iLy9mZWJyYXJlLnJ1LyJd'),
c('YVtocmVmKj0iLy91dGltZy5ydS8iXQ=='),
c('YVtocmVmKj0iOi8vY2hpa2lkaWtpLnJ1Il0='),
'#pgeldiz',
'.yandex-rtb-block',
],
thaiAds: [
'a[href*=macau-uta-popup]',
c('I2Fkcy1nb29nbGUtbWlkZGxlX3JlY3RhbmdsZS1ncm91cA=='),
c('LmFkczMwMHM='),
'.bumq',
'.img-kosana',
],
webAnnoyancesUltralist: [
'#mod-social-share-2',
'#social-tools',
c('LmN0cGwtZnVsbGJhbm5lcg=='),
'.zergnet-recommend',
'.yt.btn-link.btn-md.btn',
],
}),
(n = Object.keys(e)),
[
4,
B(
(i = []).concat.apply(
i,
n.map(function (n) {
return e[n];
}),
),
),
])
: [2, void 0];
case 1:
return (
(o = t.sent()),
r &&
(function (e, n) {
for (
var t = 'DOM blockers debug:\n```', r = 0, o = Object.keys(e);
r < o.length;
r++
) {
var a = o[r];
t += '\n'.concat(a, ':');
for (var i = 0, c = e[a]; i < c.length; i++) {
var u = c[i];
t += '\n '.concat(n[u] ? '🚫' : '➡️', ' ').concat(u);
}
}
console.log(''.concat(t, '\n```'));
})(e, o),
(a = n.filter(function (n) {
var t = e[n];
return (
g(
t.map(function (e) {
return o[e];
}),
) >
0.6 * t.length
);
})).sort(),
[2, a]
);
}
var c;
});
});
},
fontPreferences: function () {
return (function (e, n) {
void 0 === n && (n = 4e3);
return M(function (t, o) {
var a = o.document,
i = a.body,
c = i.style;
(c.width = ''.concat(n, 'px')),
(c.webkitTextSizeAdjust = c.textSizeAdjust = 'none'),
X()
? (i.style.zoom = ''.concat(1 / o.devicePixelRatio))
: x() && (i.style.zoom = 'reset');
var u = a.createElement('div');
return (
(u.textContent = r([], Array((n / 20) << 0), !0)
.map(function () {
return 'word';
})
.join(' ')),
i.appendChild(u),
e(a, i)
);
}, '<!doctype html><html><head><meta name="viewport" content="width=device-width, initial-scale=1">');
})(function (e, n) {
for (var t = {}, r = {}, o = 0, a = Object.keys(ee); o < a.length; o++) {
var i = a[o],
c = ee[i],
u = c[0],
l = void 0 === u ? {} : u,
s = c[1],
d = void 0 === s ? 'mmMwWLliI0fiflO&1' : s,
m = e.createElement('span');
(m.textContent = d), (m.style.whiteSpace = 'nowrap');
for (var f = 0, v = Object.keys(l); f < v.length; f++) {
var h = v[f],
b = l[h];
void 0 !== b && (m.style[h] = b);
}
(t[i] = m), n.appendChild(e.createElement('br')), n.appendChild(m);
}
for (var p = 0, y = Object.keys(ee); p < y.length; p++) {
r[(i = y[p])] = t[i].getBoundingClientRect().width;
}
return r;
});
},
audio: function () {
var e = window,
n = e.OfflineAudioContext || e.webkitOfflineAudioContext;
if (!n) return -2;
if (
x() &&
!F() &&
!(function () {
var e = window;
return (
g([
'DOMRectList' in e,
'RTCPeerConnectionIceEvent' in e,
'SVGGeometryElement' in e,
'ontransitioncancel' in e,
]) >= 3
);
})()
)
return -1;
var t = new n(1, 5e3, 44100),
r = t.createOscillator();
(r.type = 'triangle'), (r.frequency.value = 1e4);
var o = t.createDynamicsCompressor();
(o.threshold.value = -50),
(o.knee.value = 40),
(o.ratio.value = 12),
(o.attack.value = 0),
(o.release.value = 0.25),
r.connect(o),
o.connect(t.destination),
r.start(0);
var a = (function (e) {
var n = 3,
t = 500,
r = 500,
o = 5e3,
a = function () {};
return [
new Promise(function (i, c) {
var u = !1,
l = 0,
s = 0;
e.oncomplete = function (e) {
return i(e.renderedBuffer);
};
var d = function () {
setTimeout(function () {
return c(G('timeout'));
}, Math.min(r, s + o - Date.now()));
},
m = function () {
try {
switch ((e.startRendering(), e.state)) {
case 'running':
(s = Date.now()), u && d();
break;
case 'suspended':
document.hidden || l++, u && l >= n ? c(G('suspended')) : setTimeout(m, t);
}
} catch (r) {
c(r);
}
};
m(),
(a = function () {
u || ((u = !0), s > 0 && d());
});
}),
a,
];
})(t),
i = a[0],
c = a[1],
l = i.then(
function (e) {
return (function (e) {
for (var n = 0, t = 0; t < e.length; ++t) n += Math.abs(e[t]);
return n;
})(e.getChannelData(0).subarray(4500));
},
function (e) {
if ('timeout' === e.name || 'suspended' === e.name) return -3;
throw e;
},
);
return (
u(l),
function () {
return c(), l;
}
);
},
screenFrame: function () {
var e = this,
r = z();
return function () {
return n(e, void 0, void 0, function () {
var e, n;
return t(this, function (t) {
switch (t.label) {
case 0:
return [4, r()];
case 1:
return (
(e = t.sent()),
[
2,
[
(n = function (e) {
return null === e ? null : w(e, 10);
})(e[0]),
n(e[1]),
n(e[2]),
n(e[3]),
],
]
);
}
});
});
};
},
osCpu: function () {
return navigator.oscpu;
},
languages: function () {
var e,
n = navigator,
t = [],
r = n.language || n.userLanguage || n.browserLanguage || n.systemLanguage;
if ((void 0 !== r && t.push([r]), Array.isArray(n.languages)))
(X() &&
g([
!('MediaSettingsRange' in (e = window)),
'RTCEncodedAudioFrame' in e,
'' + e.Intl == '[object Intl]',
'' + e.Reflect == '[object Reflect]',
]) >= 3) ||
t.push(n.languages);
else if ('string' == typeof n.languages) {
var o = n.languages;
o && t.push(o.split(','));
}
return t;
},
colorDepth: function () {
return window.screen.colorDepth;
},
deviceMemory: function () {
return y(p(navigator.deviceMemory), void 0);
},
screenResolution: function () {
var e = screen,
n = function (e) {
return y(b(e), null);
},
t = [n(e.width), n(e.height)];
return t.sort().reverse(), t;
},
hardwareConcurrency: function () {
return y(b(navigator.hardwareConcurrency), void 0);
},
timezone: function () {
var e,
n = null === (e = window.Intl) || void 0 === e ? void 0 : e.DateTimeFormat;
if (n) {
var t = new n().resolvedOptions().timeZone;
if (t) return t;
}
var r,
o =
((r = new Date().getFullYear()),
-Math.max(
p(new Date(r, 0, 1).getTimezoneOffset()),
p(new Date(r, 6, 1).getTimezoneOffset()),
));
return 'UTC'.concat(o >= 0 ? '+' : '').concat(Math.abs(o));
},
sessionStorage: function () {
try {
return !!window.sessionStorage;
} catch (e) {
return !0;
}
},
localStorage: function () {
try {
return !!window.localStorage;
} catch (e) {
return !0;
}
},
indexedDB: function () {
if (!Z() && !S())
try {
return !!window.indexedDB;
} catch (e) {
return !0;
}
},
openDatabase: function () {
return !!window.openDatabase;
},
cpuClass: function () {
return navigator.cpuClass;
},
platform: function () {
var e = navigator.platform;
return 'MacIntel' === e && x() && !F()
? (function () {
if ('iPad' === navigator.platform) return !0;
var e = screen,
n = e.width / e.height;
return (
g([
'MediaSource' in window,
!!Element.prototype.webkitRequestFullscreen,
n > 0.65 && n < 1.53,
]) >= 2
);
})()
? 'iPad'
: 'iPhone'
: e;
},
plugins: function () {
var e = navigator.plugins;
if (e) {
for (var n = [], t = 0; t < e.length; ++t) {
var r = e[t];
if (r) {
for (var o = [], a = 0; a < r.length; ++a) {
var i = r[a];
o.push({ type: i.type, suffixes: i.suffixes });
}
n.push({ name: r.name, description: r.description, mimeTypes: o });
}
}
return n;
}
},
canvas: function () {
var e,
n,
t = !1,
r = (function () {
var e = document.createElement('canvas');
return (e.width = 1), (e.height = 1), [e, e.getContext('2d')];
})(),
o = r[0],
a = r[1];
if (
(function (e, n) {
return !(!n || !e.toDataURL);
})(o, a)
) {
(t = (function (e) {
return e.rect(0, 0, 10, 10), e.rect(2, 2, 6, 6), !e.isPointInPath(5, 5, 'evenodd');
})(a)),
(function (e, n) {
(e.width = 240),
(e.height = 60),
(n.textBaseline = 'alphabetic'),
(n.fillStyle = '#f60'),
n.fillRect(100, 1, 62, 20),
(n.fillStyle = '#069'),
(n.font = '11pt "Times New Roman"');
var t = 'Cwm fjordbank gly '.concat(String.fromCharCode(55357, 56835));
n.fillText(t, 2, 15),
(n.fillStyle = 'rgba(102, 204, 0, 0.2)'),
(n.font = '18pt Arial'),
n.fillText(t, 4, 45);
})(o, a);
var i = H(o);
i !== H(o)
? (e = n = 'unstable')
: ((n = i),
(function (e, n) {
(e.width = 122), (e.height = 110), (n.globalCompositeOperation = 'multiply');
for (
var t = 0,
r = [
['#f2f', 40, 40],
['#2ff', 80, 40],
['#ff2', 60, 80],
];
t < r.length;
t++
) {
var o = r[t],
a = o[0],
i = o[1],
c = o[2];
(n.fillStyle = a),
n.beginPath(),
n.arc(i, c, 40, 0, 2 * Math.PI, !0),
n.closePath(),
n.fill();
}
(n.fillStyle = '#f9c'),
n.arc(60, 60, 60, 0, 2 * Math.PI, !0),
n.arc(60, 60, 20, 0, 2 * Math.PI, !0),
n.fill('evenodd');
})(o, a),
(e = H(o)));
} else e = n = '';
return { winding: t, geometry: e, text: n };
},
touchSupport: function () {
var e,
n = navigator,
t = 0;
void 0 !== n.maxTouchPoints
? (t = b(n.maxTouchPoints))
: void 0 !== n.msMaxTouchPoints && (t = n.msMaxTouchPoints);
try {
document.createEvent('TouchEvent'), (e = !0);
} catch (r) {
e = !1;
}
return { maxTouchPoints: t, touchEvent: e, touchStart: 'ontouchstart' in window };
},
vendor: function () {
return navigator.vendor || '';
},
vendorFlavors: function () {
for (
var e = [],
n = 0,
t = [
'chrome',
'safari',
'__crWeb',
'__gCrWeb',
'yandex',
'__yb',
'__ybro',
'__firefox__',
'__edgeTrackingPreventionStatistics',
'webkit',
'oprt',
'samsungAr',
'ucweb',
'UCShellJava',
'puffinDevice',
];
n < t.length;
n++
) {
var r = t[n],
o = window[r];
o && 'object' == typeof o && e.push(r);
}
return e.sort();
},
cookiesEnabled: function () {
var e = document;
try {
e.cookie = 'cookietest=1; SameSite=Strict;';
var n = -1 !== e.cookie.indexOf('cookietest=');
return (e.cookie = 'cookietest=1; SameSite=Strict; expires=Thu, 01-Jan-1970 00:00:01 GMT'), n;
} catch (t) {
return !1;
}
},
colorGamut: function () {
for (var e = 0, n = ['rec2020', 'p3', 'srgb']; e < n.length; e++) {
var t = n[e];
if (matchMedia('(color-gamut: '.concat(t, ')')).matches) return t;
}
},
invertedColors: function () {
return !!O('inverted') || (!O('none') && void 0);
},
forcedColors: function () {
return !!_('active') || (!_('none') && void 0);
},
monochrome: function () {
if (matchMedia('(min-monochrome: 0)').matches) {
for (var e = 0; e <= 100; ++e)
if (matchMedia('(max-monochrome: '.concat(e, ')')).matches) return e;
throw new Error('Too high value');
}
},
contrast: function () {
return Q('no-preference')
? 0
: Q('high') || Q('more')
? 1
: Q('low') || Q('less')
? -1
: Q('forced')
? 10
: void 0;
},
reducedMotion: function () {
return !!U('reduce') || (!U('no-preference') && void 0);
},
hdr: function () {
return !!K('high') || (!K('standard') && void 0);
},
math: function () {
var e,
n = q.acos || $,
t = q.acosh || $,
r = q.asin || $,
o = q.asinh || $,
a = q.atanh || $,
i = q.atan || $,
c = q.sin || $,
u = q.sinh || $,
l = q.cos || $,
s = q.cosh || $,
d = q.tan || $,
m = q.tanh || $,
f = q.exp || $,
v = q.expm1 || $,
h = q.log1p || $;
return {
acos: n(0.12312423423423424),
acosh: t(1e308),
acoshPf: ((e = 1e154), q.log(e + q.sqrt(e * e - 1))),
asin: r(0.12312423423423424),
asinh: o(1),
asinhPf: (function (e) {
return q.log(e + q.sqrt(e * e + 1));
})(1),
atanh: a(0.5),
atanhPf: (function (e) {
return q.log((1 + e) / (1 - e)) / 2;
})(0.5),
atan: i(0.5),
sin: c(-1e300),
sinh: u(1),
sinhPf: (function (e) {
return q.exp(e) - 1 / q.exp(e) / 2;
})(1),
cos: l(10.000000000123),
cosh: s(1),
coshPf: (function (e) {
return (q.exp(e) + 1 / q.exp(e)) / 2;
})(1),
tan: d(-1e300),
tanh: m(1),
tanhPf: (function (e) {
return (q.exp(2 * e) - 1) / (q.exp(2 * e) + 1);
})(1),
exp: f(1),
expm1: v(1),
expm1Pf: (function (e) {
return q.exp(e) - 1;
})(1),
log1p: h(10),
log1pPf: (function (e) {
return q.log(1 + e);
})(10),
powPI: (function (e) {
return q.pow(q.PI, e);
})(-100),
};
},
videoCard: function () {
var e,
n = document.createElement('canvas'),
t =
null !== (e = n.getContext('webgl')) && void 0 !== e
? e
: n.getContext('experimental-webgl');
if (t && 'getExtension' in t) {
var r = t.getExtension('WEBGL_debug_renderer_info');
if (r)
return {
vendor: (t.getParameter(r.UNMASKED_VENDOR_WEBGL) || '').toString(),
renderer: (t.getParameter(r.UNMASKED_RENDERER_WEBGL) || '').toString(),
};
}
},
pdfViewerEnabled: function () {
return navigator.pdfViewerEnabled;
},
architecture: function () {
var e = new Float32Array(1),
n = new Uint8Array(e.buffer);
return (e[0] = 1 / 0), (e[0] = e[0] - e[0]), n[3];
},
};
function te(e) {
var n = (function (e) {
if (R()) return 0.4;
if (x()) return F() ? 0.5 : 0.3;
var n = e.platform.value || '';
if (/^Win/.test(n)) return 0.6;
if (/^Mac/.test(n)) return 0.5;
return 0.7;
})(e),
t = (function (e) {
return w(0.99 + 0.01 * e, 1e-4);
})(n);
return {
score: n,
comment: '$ if upgrade to Pro: https://fpjs.dev/pro'.replace(/\$/g, ''.concat(t)),
};
}
function re(n) {
return JSON.stringify(
n,
function (n, t) {
return t instanceof Error
? e(
{
name: (r = t).name,
message: r.message,
stack: null === (o = r.stack) || void 0 === o ? void 0 : o.split('\n'),
},
r,
)
: t;
var r, o;
},
2,
);
}
function oe(e) {
return h(
(function (e) {
for (var n = '', t = 0, r = Object.keys(e).sort(); t < r.length; t++) {
var o = r[t],
a = e[o],
i = a.error ? 'error' : JSON.stringify(a.value);
n += ''
.concat(n ? '|' : '')
.concat(o.replace(/([:|\\])/g, '\\$1'), ':')
.concat(i);
}
return n;
})(e),
);
}
function ae(e) {
return (
void 0 === e && (e = 50),
(function (e, n) {
void 0 === n && (n = 1 / 0);
var t = window.requestIdleCallback;
return t
? new Promise(function (e) {
return t.call(
window,
function () {
return e();
},
{ timeout: n },
);
})
: o(Math.min(e, n));
})(e, 2 * e)
);
}
function ie(e, r) {
var o = Date.now();
return {
get: function (a) {
return n(this, void 0, void 0, function () {
var n, i, c;
return t(this, function (t) {
switch (t.label) {
case 0:
return (n = Date.now()), [4, e()];
case 1:
return (
(i = t.sent()),
(c = (function (e) {
var n;
return {
get visitorId() {
return void 0 === n && (n = oe(this.components)), n;
},
set visitorId(e) {
n = e;
},
confidence: te(e),
components: e,
version: '3.4.0',
};
})(i)),
(r || (null == a ? void 0 : a.debug)) &&
console.log(
'Copy the text below to get the debug data:\n\n```\nversion: '
.concat(c.version, '\nuserAgent: ')
.concat(navigator.userAgent, '\ntimeBetweenLoadAndGet: ')
.concat(n - o, '\nvisitorId: ')
.concat(c.visitorId, '\ncomponents: ')
.concat(re(i), '\n```'),
),
[2, c]
);
}
});
});
},
};
}
function ce(e) {
var r = void 0 === e ? {} : e,
o = r.delayFallback,
a = r.debug;
return (
r.monitoring,
n(this, void 0, void 0, function () {
return t(this, function (e) {
switch (e.label) {
case 0:
return [4, ae(o)];
case 1:
return e.sent(), [2, ie(V(ne, { debug: a }, []), a)];
}
});
})
);
}
var ue = { load: ce, hashComponents: oe, componentsToDebugString: re },
le = h;
export {
re as componentsToDebugString,
ue as default,
C as getFullscreenElement,
z as getScreenFrame,
oe as hashComponents,
R as isAndroid,
X as isChromium,
F as isDesktopSafari,
S as isEdgeHTML,
Y as isGecko,
Z as isTrident,
x as isWebKit,
ce as load,
V as loadSources,
le as murmurX64Hash128,
ae as prepareForSources,
ne as sources,
W as transformSource,
};
/*
* @Date: 2022-07-18 10:22:22
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2022-08-22 18:23:07
* @FilePath: /front/src/utils/generateIcons.js
* @Description: 文件描述
*/
import icon_nav from '@images/icon/nav.png'
import icon_gz from '@images/icon/icon_gz.png'
export {
icon_nav,
icon_gz,
}
/*
* @Author: hookehuyr hookehuyr@gmail.com
* @Date: 2022-05-17 11:17:58
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2022-07-18 10:42:12
* @FilePath: /front/src/utils/generateModules.js
* @Description:
*/
import MuiVideo from '@/components/MuiVideo/index.vue'
export {
MuiVideo,
}
/*
* @Date: 2022-05-17 11:26:03
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2022-08-05 15:18:06
* @FilePath: /front/src/utils/generatePackage.js
* @Description: 文件描述
*/
import Cookies from 'js-cookie'
import $ from 'jquery'
import _ from 'lodash'
import dayjs from 'dayjs'
import axios from '@/utils/axios';
import { storeToRefs } from 'pinia'
import { mainStore } from '@/store'
import { Toast, Dialog } from 'vant';
import { wxInfo, hasEllipsis } from '@/utils/tools';
import { useTitle } from '@vueuse/core'
export {
Cookies,
$,
_,
axios,
storeToRefs,
mainStore,
Toast,
Dialog,
wxInfo,
hasEllipsis,
useTitle,
dayjs
}
/*
* @Date: 2022-05-16 17:21:45
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2022-06-29 17:00:15
* @FilePath: /tswj/src/utils/generateRoute.js
* @Description: 文件描述
*/
/**
* 根据后台返回的路径,生成页面的组件模版
* @param {*} component
* @returns 模版地址
*/
function loadView(component) {
return () => import(`../views/${component}.vue`)
}
/**
* 生成路由结构
* @param {*} routes
*/
const generateRoutes = (routes) => {
const arr = []
routes.forEach(route => {
const router = {}
const {
path,
redirect,
name,
component,
keepAlive,
meta,
children
} = route
router.path = path
redirect && (router.redirect = redirect)
name && (router.name = name)
router.component = loadView(component)
keepAlive && (router.keepAlive = keepAlive)
meta && (router.meta = meta)
router.children = !Array.isArray(children) || generateRoutes(children);
arr.push(router)
})
return arr
}
export default generateRoutes;
import sha1 from "js-sha1";
function getEtag(buffer, callback) {
// sha1算法
var shA1 = sha1.digest;
// 以4M为单位分割
var blockSize = 4 * 1024 * 1024;
var sha1String = [];
var prefix = 0x16;
var blockCount = 0;
var bufferSize = buffer.size || buffer.length || buffer.byteLength;
blockCount = Math.ceil(bufferSize / blockSize);
for (var i = 0; i < blockCount; i++) {
sha1String.push(shA1(buffer.slice(i * blockSize, (i + 1) * blockSize)));
}
function concatArr2Uint8(s) {//Array 2 Uint8Array
var tmp = [];
for (var i of s) tmp = tmp.concat(i);
return new Uint8Array(tmp);
}
function Uint8ToBase64(u8Arr, urisafe) {//Uint8Array 2 Base64
var CHUNK_SIZE = 0x8000; //arbitrary number
var index = 0;
var length = u8Arr.length;
var result = '';
var slice;
while (index < length) {
slice = u8Arr.subarray(index, Math.min(index + CHUNK_SIZE, length));
result += String.fromCharCode.apply(null, slice);
index += CHUNK_SIZE;
}
return urisafe ? btoa(result).replace(/\//g, '_').replace(/\+/g, '-') : btoa(result);
}
function calcEtag() {
if (!sha1String.length) return 'Fto5o-5ea0sNMlW_75VgGJCv2AcJ';
var sha1Buffer = concatArr2Uint8(sha1String);
// 如果大于4M,则对各个块的sha1结果再次sha1
if (blockCount > 1) {
prefix = 0x96;
sha1Buffer = shA1(sha1Buffer.buffer);
} else {
sha1Buffer = Array.apply([], sha1Buffer);
}
sha1Buffer = concatArr2Uint8([[prefix], sha1Buffer]);
return Uint8ToBase64(sha1Buffer, true);
}
return (calcEtag());
}
export { getEtag }
/*
* [js-sha1]{@link https://github.com/emn178/js-sha1}
*
* @version 0.6.0
* @author Chen, Yi-Cyuan [emn178@gmail.com]
* @copyright Chen, Yi-Cyuan 2014-2017
* @license MIT
*/
/*jslint bitwise: true */
(function () {
'use strict';
var root = typeof window === 'object' ? window : {};
var NODE_JS = !root.JS_SHA1_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;
if (NODE_JS) {
root = global;
}
var COMMON_JS = !root.JS_SHA1_NO_COMMON_JS && typeof module === 'object' && module.exports;
var AMD = typeof define === 'function' && define.amd;
var HEX_CHARS = '0123456789abcdef'.split('');
var EXTRA = [-2147483648, 8388608, 32768, 128];
var SHIFT = [24, 16, 8, 0];
var OUTPUT_TYPES = ['hex', 'array', 'digest', 'arrayBuffer'];
var blocks = [];
var createOutputMethod = function (outputType) {
return function (message) {
return new Sha1(true).update(message)[outputType]();
};
};
var createMethod = function () {
var method = createOutputMethod('hex');
if (NODE_JS) {
method = nodeWrap(method);
}
method.create = function () {
return new Sha1();
};
method.update = function (message) {
return method.create().update(message);
};
for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
var type = OUTPUT_TYPES[i];
method[type] = createOutputMethod(type);
}
return method;
};
var nodeWrap = function (method) {
var crypto = eval("require('crypto')");
var Buffer = eval("require('buffer').Buffer");
var nodeMethod = function (message) {
if (typeof message === 'string') {
return crypto.createHash('sha1').update(message, 'utf8').digest('hex');
} else if (message.constructor === ArrayBuffer) {
message = new Uint8Array(message);
} else if (message.length === undefined) {
return method(message);
}
return crypto.createHash('sha1').update(new Buffer(message)).digest('hex');
};
return nodeMethod;
};
function Sha1(sharedMemory) {
if (sharedMemory) {
blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] =
blocks[4] = blocks[5] = blocks[6] = blocks[7] =
blocks[8] = blocks[9] = blocks[10] = blocks[11] =
blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;
this.blocks = blocks;
} else {
this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
}
this.h0 = 0x67452301;
this.h1 = 0xEFCDAB89;
this.h2 = 0x98BADCFE;
this.h3 = 0x10325476;
this.h4 = 0xC3D2E1F0;
this.block = this.start = this.bytes = this.hBytes = 0;
this.finalized = this.hashed = false;
this.first = true;
}
Sha1.prototype.update = function (message) {
if (this.finalized) {
return;
}
var notString = typeof (message) !== 'string';
if (notString && message.constructor === root.ArrayBuffer) {
message = new Uint8Array(message);
}
var code, index = 0, i, length = message.length || 0, blocks = this.blocks;
while (index < length) {
if (this.hashed) {
this.hashed = false;
blocks[0] = this.block;
blocks[16] = blocks[1] = blocks[2] = blocks[3] =
blocks[4] = blocks[5] = blocks[6] = blocks[7] =
blocks[8] = blocks[9] = blocks[10] = blocks[11] =
blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;
}
if (notString) {
for (i = this.start; index < length && i < 64; ++index) {
blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];
}
} else {
for (i = this.start; index < length && i < 64; ++index) {
code = message.charCodeAt(index);
if (code < 0x80) {
blocks[i >> 2] |= code << SHIFT[i++ & 3];
} else if (code < 0x800) {
blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];
blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
} else if (code < 0xd800 || code >= 0xe000) {
blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];
blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];
blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
} else {
code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));
blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];
blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];
blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];
blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
}
}
}
this.lastByteIndex = i;
this.bytes += i - this.start;
if (i >= 64) {
this.block = blocks[16];
this.start = i - 64;
this.hash();
this.hashed = true;
} else {
this.start = i;
}
}
if (this.bytes > 4294967295) {
this.hBytes += this.bytes / 4294967296 << 0;
this.bytes = this.bytes % 4294967296;
}
return this;
};
Sha1.prototype.finalize = function () {
if (this.finalized) {
return;
}
this.finalized = true;
var blocks = this.blocks, i = this.lastByteIndex;
blocks[16] = this.block;
blocks[i >> 2] |= EXTRA[i & 3];
this.block = blocks[16];
if (i >= 56) {
if (!this.hashed) {
this.hash();
}
blocks[0] = this.block;
blocks[16] = blocks[1] = blocks[2] = blocks[3] =
blocks[4] = blocks[5] = blocks[6] = blocks[7] =
blocks[8] = blocks[9] = blocks[10] = blocks[11] =
blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;
}
blocks[14] = this.hBytes << 3 | this.bytes >>> 29;
blocks[15] = this.bytes << 3;
this.hash();
};
Sha1.prototype.hash = function () {
var a = this.h0, b = this.h1, c = this.h2, d = this.h3, e = this.h4;
var f, j, t, blocks = this.blocks;
for (j = 16; j < 80; ++j) {
t = blocks[j - 3] ^ blocks[j - 8] ^ blocks[j - 14] ^ blocks[j - 16];
blocks[j] = (t << 1) | (t >>> 31);
}
for (j = 0; j < 20; j += 5) {
f = (b & c) | ((~b) & d);
t = (a << 5) | (a >>> 27);
e = t + f + e + 1518500249 + blocks[j] << 0;
b = (b << 30) | (b >>> 2);
f = (a & b) | ((~a) & c);
t = (e << 5) | (e >>> 27);
d = t + f + d + 1518500249 + blocks[j + 1] << 0;
a = (a << 30) | (a >>> 2);
f = (e & a) | ((~e) & b);
t = (d << 5) | (d >>> 27);
c = t + f + c + 1518500249 + blocks[j + 2] << 0;
e = (e << 30) | (e >>> 2);
f = (d & e) | ((~d) & a);
t = (c << 5) | (c >>> 27);
b = t + f + b + 1518500249 + blocks[j + 3] << 0;
d = (d << 30) | (d >>> 2);
f = (c & d) | ((~c) & e);
t = (b << 5) | (b >>> 27);
a = t + f + a + 1518500249 + blocks[j + 4] << 0;
c = (c << 30) | (c >>> 2);
}
for (; j < 40; j += 5) {
f = b ^ c ^ d;
t = (a << 5) | (a >>> 27);
e = t + f + e + 1859775393 + blocks[j] << 0;
b = (b << 30) | (b >>> 2);
f = a ^ b ^ c;
t = (e << 5) | (e >>> 27);
d = t + f + d + 1859775393 + blocks[j + 1] << 0;
a = (a << 30) | (a >>> 2);
f = e ^ a ^ b;
t = (d << 5) | (d >>> 27);
c = t + f + c + 1859775393 + blocks[j + 2] << 0;
e = (e << 30) | (e >>> 2);
f = d ^ e ^ a;
t = (c << 5) | (c >>> 27);
b = t + f + b + 1859775393 + blocks[j + 3] << 0;
d = (d << 30) | (d >>> 2);
f = c ^ d ^ e;
t = (b << 5) | (b >>> 27);
a = t + f + a + 1859775393 + blocks[j + 4] << 0;
c = (c << 30) | (c >>> 2);
}
for (; j < 60; j += 5) {
f = (b & c) | (b & d) | (c & d);
t = (a << 5) | (a >>> 27);
e = t + f + e - 1894007588 + blocks[j] << 0;
b = (b << 30) | (b >>> 2);
f = (a & b) | (a & c) | (b & c);
t = (e << 5) | (e >>> 27);
d = t + f + d - 1894007588 + blocks[j + 1] << 0;
a = (a << 30) | (a >>> 2);
f = (e & a) | (e & b) | (a & b);
t = (d << 5) | (d >>> 27);
c = t + f + c - 1894007588 + blocks[j + 2] << 0;
e = (e << 30) | (e >>> 2);
f = (d & e) | (d & a) | (e & a);
t = (c << 5) | (c >>> 27);
b = t + f + b - 1894007588 + blocks[j + 3] << 0;
d = (d << 30) | (d >>> 2);
f = (c & d) | (c & e) | (d & e);
t = (b << 5) | (b >>> 27);
a = t + f + a - 1894007588 + blocks[j + 4] << 0;
c = (c << 30) | (c >>> 2);
}
for (; j < 80; j += 5) {
f = b ^ c ^ d;
t = (a << 5) | (a >>> 27);
e = t + f + e - 899497514 + blocks[j] << 0;
b = (b << 30) | (b >>> 2);
f = a ^ b ^ c;
t = (e << 5) | (e >>> 27);
d = t + f + d - 899497514 + blocks[j + 1] << 0;
a = (a << 30) | (a >>> 2);
f = e ^ a ^ b;
t = (d << 5) | (d >>> 27);
c = t + f + c - 899497514 + blocks[j + 2] << 0;
e = (e << 30) | (e >>> 2);
f = d ^ e ^ a;
t = (c << 5) | (c >>> 27);
b = t + f + b - 899497514 + blocks[j + 3] << 0;
d = (d << 30) | (d >>> 2);
f = c ^ d ^ e;
t = (b << 5) | (b >>> 27);
a = t + f + a - 899497514 + blocks[j + 4] << 0;
c = (c << 30) | (c >>> 2);
}
this.h0 = this.h0 + a << 0;
this.h1 = this.h1 + b << 0;
this.h2 = this.h2 + c << 0;
this.h3 = this.h3 + d << 0;
this.h4 = this.h4 + e << 0;
};
Sha1.prototype.hex = function () {
this.finalize();
var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4;
return HEX_CHARS[(h0 >> 28) & 0x0F] + HEX_CHARS[(h0 >> 24) & 0x0F] +
HEX_CHARS[(h0 >> 20) & 0x0F] + HEX_CHARS[(h0 >> 16) & 0x0F] +
HEX_CHARS[(h0 >> 12) & 0x0F] + HEX_CHARS[(h0 >> 8) & 0x0F] +
HEX_CHARS[(h0 >> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] +
HEX_CHARS[(h1 >> 28) & 0x0F] + HEX_CHARS[(h1 >> 24) & 0x0F] +
HEX_CHARS[(h1 >> 20) & 0x0F] + HEX_CHARS[(h1 >> 16) & 0x0F] +
HEX_CHARS[(h1 >> 12) & 0x0F] + HEX_CHARS[(h1 >> 8) & 0x0F] +
HEX_CHARS[(h1 >> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] +
HEX_CHARS[(h2 >> 28) & 0x0F] + HEX_CHARS[(h2 >> 24) & 0x0F] +
HEX_CHARS[(h2 >> 20) & 0x0F] + HEX_CHARS[(h2 >> 16) & 0x0F] +
HEX_CHARS[(h2 >> 12) & 0x0F] + HEX_CHARS[(h2 >> 8) & 0x0F] +
HEX_CHARS[(h2 >> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] +
HEX_CHARS[(h3 >> 28) & 0x0F] + HEX_CHARS[(h3 >> 24) & 0x0F] +
HEX_CHARS[(h3 >> 20) & 0x0F] + HEX_CHARS[(h3 >> 16) & 0x0F] +
HEX_CHARS[(h3 >> 12) & 0x0F] + HEX_CHARS[(h3 >> 8) & 0x0F] +
HEX_CHARS[(h3 >> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] +
HEX_CHARS[(h4 >> 28) & 0x0F] + HEX_CHARS[(h4 >> 24) & 0x0F] +
HEX_CHARS[(h4 >> 20) & 0x0F] + HEX_CHARS[(h4 >> 16) & 0x0F] +
HEX_CHARS[(h4 >> 12) & 0x0F] + HEX_CHARS[(h4 >> 8) & 0x0F] +
HEX_CHARS[(h4 >> 4) & 0x0F] + HEX_CHARS[h4 & 0x0F];
};
Sha1.prototype.toString = Sha1.prototype.hex;
Sha1.prototype.digest = function () {
this.finalize();
var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4;
return [
(h0 >> 24) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 8) & 0xFF, h0 & 0xFF,
(h1 >> 24) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 8) & 0xFF, h1 & 0xFF,
(h2 >> 24) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 8) & 0xFF, h2 & 0xFF,
(h3 >> 24) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 8) & 0xFF, h3 & 0xFF,
(h4 >> 24) & 0xFF, (h4 >> 16) & 0xFF, (h4 >> 8) & 0xFF, h4 & 0xFF
];
};
Sha1.prototype.array = Sha1.prototype.digest;
Sha1.prototype.arrayBuffer = function () {
this.finalize();
var buffer = new ArrayBuffer(20);
var dataView = new DataView(buffer);
dataView.setUint32(0, this.h0);
dataView.setUint32(4, this.h1);
dataView.setUint32(8, this.h2);
dataView.setUint32(12, this.h3);
dataView.setUint32(16, this.h4);
return buffer;
};
var exports = createMethod();
if (COMMON_JS) {
module.exports = exports;
} else {
root.sha1 = exports;
if (AMD) {
define(function () {
return exports;
});
}
}
})();
/*
* @Date: 2022-04-18 15:59:42
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2023-02-24 16:13:06
* @FilePath: /data-table/src/utils/tools.js
* @Description: 文件描述
*/
import dayjs from 'dayjs';
// 格式化时间
const formatDate = (date) => {
return dayjs(date).format('YYYY-MM-DD HH:mm');
};
/**
* @description 判断浏览器属于平台
* @returns
*/
const wxInfo = () => {
let u = navigator.userAgent;
let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //android终端或者uc浏览器
let isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
let isMobile = u.indexOf('Android') > -1 || u.indexOf('iPhone') > -1 || u.indexOf('iPad') > -1; // 移动端平台
let isIpad = u.indexOf('iPad') > -1; // iPad平台
let uAgent = navigator.userAgent.toLowerCase();
let isWeiXin = (uAgent.match(/MicroMessenger/i) == 'micromessenger') ? true : false;
let isPC = (uAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone|micromessenger)/i)) ? false : true;
return {
isAndroid,
isiOS,
isWeiXin,
isMobile,
isIpad,
isPC
};
};
/**
* @description 判断多行省略文本
* @param {*} id 目标dom标签
* @returns
*/
const hasEllipsis = (id) => {
let oDiv = document.getElementById(id);
let flag = false;
if (oDiv.scrollHeight > oDiv.clientHeight) {
flag = true
}
return flag
}
/**
* @description 解析URL参数
* @param {*} url
* @returns
*/
const parseQueryString = url => {
var json = {};
var arr = url.indexOf('?') >= 0 ? url.substr(url.indexOf('?') + 1).split('&') : [];
arr.forEach(item => {
var tmp = item.split('=');
json[tmp[0]] = decodeURIComponent(tmp[1]);
});
return json;
}
/**
* 字符串包含字符数组中字符的状态
* @param {*} array 字符数组
* @param {*} str 字符串
* @returns 包含状态
*/
const strExist = (array, str) => {
const exist = array.filter(arr => {
if (str.indexOf(arr) >= 0) return str;
})
return exist.length > 0
}
/**
* 自定义替换参数
* @param {*} url
* @param {*} arg
* @param {*} arg_val
* @returns
*/
const changeURLArg = (url, arg, arg_val) => {
var pattern = arg + '=([^&]*)';
var replaceText = arg + '=' + arg_val;
if (url.match(pattern)) {
var tmp = '/(' + arg + '=)([^&]*)/gi';
tmp = url.replace(eval(tmp), replaceText);
return tmp;
} else {
if (url.match('[\?]')) {
return url + '&' + replaceText;
} else {
return url + '?' + replaceText;
}
}
return url + '\n' + arg + '\n' + arg_val;
}
// 获取参数key/value值对
const getUrlParams = (url) => {
// 没有参数处理
if (url.split('?').length === 1) return false;
let arr = url.split('?');
let res = arr[1].split('&');
let items = {};
for (let i = 0; i < res.length; i++) {
let [key, value] = res[i].split('=');
items[key] = value;
}
return items
}
// 格式化URL参数为字符串
const stringifyQuery = (params) => {
const queryString = [];
Object.keys(params || {}).forEach((k) => {
queryString.push(k + '=' + params[k]);
});
return '?' + queryString.join('&');
};
export {
formatDate,
wxInfo,
hasEllipsis,
parseQueryString,
strExist,
changeURLArg,
getUrlParams,
stringifyQuery,
};
import VConsole from 'vconsole';
// const vConsole = new VConsole();
let vConsole = '';
// 或者使用配置参数来初始化,详情见文档
if (+import.meta.env.VITE_CONSOLE) {
vConsole = new VConsole({ theme: 'dark' });
}
export default vConsole
This diff could not be displayed because it is too large.