Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README-zh_CN.md
================================================
基于 Ant Design 和 Vue 3 的企业级 UI 组件库。
 [](https://codecov.io/gh/vueComponent/ant-design-vue) [](https://www.npmjs.org/package/ant-design-vue) [](http://www.npmtrends.com/ant-design-vue) [](#backers) [](#sponsors) [](https://marketplace.visualstudio.com/items?itemName=ant-design-vue.vscode-ant-design-vue-helper) [](https://github.com/actions-cool/issues-helper)
[](https://www.antdv.com/)
赞助商
[English](./README.md) | 简体中文
## 特性
- 提炼自企业级中后台产品的交互语言和视觉风格。
- 开箱即用的高质量 Vue 组件。
- 共享 [Ant Design of React](http://ant-design.gitee.io/docs/spec/introduce-cn) 设计工具体系。
## 关注我们
收藏加关注,第一时间获取更新动态!

## 支持环境
- 现代浏览器。1.x 版本支持 IE 9+(需要 [polyfills](https://www.antdv.com/docs/vue/getting-started-cn/#兼容性))
- 支持服务端渲染。
- [Electron](https://electronjs.org/)
- 支持 Vue 2 和 Vue 3
| [ ](http://godban.github.io/browsers-support-badges/)IE / Edge | [ ](http://godban.github.io/browsers-support-badges/)Firefox | [ ](http://godban.github.io/browsers-support-badges/)Chrome | [ ](http://godban.github.io/browsers-support-badges/)Safari | [ ](http://godban.github.io/browsers-support-badges/)Opera | [ ](http://godban.github.io/browsers-support-badges/)Electron |
| --- | --- | --- | --- | --- | --- |
| Edge | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
## 安装
### 使用 npm 或 yarn 安装
```bash
$ npm install ant-design-vue --save
```
```bash
$ yarn add ant-design-vue
```
如果你的网络环境不佳,推荐使用 [cnpm](https://github.com/cnpm/cnpm)。
## 链接
- [首页](https://www.antdv.com/)
- [Vue 官方文档](https://cn.vuejs.org/)
- [Ant Design Of React](http://ant.design/)
## 生态
| Project | Description |
| --- | --- |
| [vue-ref](https://github.com/vueComponent/vue-ref) | 您可以使用回调来获取组件的引用,类似 react |
| [ant-design-vue-helper](https://marketplace.visualstudio.com/items?itemName=ant-design-vue.vscode-ant-design-vue-helper) | ant-design-vue 的 vscode 扩展 |
| [vue-cli-plugin-ant-design](https://github.com/vueComponent/vue-cli-plugin-ant-design) | 使用 vue-cli3 快速使用 ant-design-vue 组件库 |
| [vue-dash-event](https://github.com/vueComponent/vue-dash-event) | 在 DOM 模板中,您可以使用 ant-design-vue 组件的自定义事件(camelCase) |
| [@formily/antdv](https://github.com/formilyjs/antdv) | 这是一个结合了 Formily 和 ant-design-vue 的组件库 |
| [@ant-design-vue/nuxt](https://github.com/vueComponent/ant-design-vue-nuxt) | ant-design-vue 的 nuxt 模块扩展 |
| [ant-design-x-vue](https://github.com/wzc520pyfm/ant-design-x-vue) | 基于 Ant Design X 设计规范的 Vue AI 界面解决方案 |
## 问答
> 强烈推荐阅读 [《提问的智慧》](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way)、[《如何向开源社区提问题》](https://github.com/seajs/seajs/issues/545) 和 [《如何有效地报告 Bug》](http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html)、[《如何向开源项目提交无法解答的问题》](https://zhuanlan.zhihu.com/p/25795393),更好的问题更容易获得帮助。
[](https://issuehunt.io/repos/104172832)
## 赞助
ant-design-vue 是 MIT 协议的开源项目。为了项目能够更好的持续的发展,我们期望获得更多的[支持者](https://github.com/vueComponent/ant-design-vue/blob/master/BACKERS.md),你可以通过如下任何一种方式支持我们:
- [Patreon](https://www.patreon.com/tangjinzhou)
- [opencollective](https://opencollective.com/ant-design-vue)
- [paypal](https://www.paypal.me/tangjinzhou)
- ETH: 0x30cc48515d8ae9fefa20ab87226ad7e8ab9c3bc2
## 赞助商
成为赞助商,并在 Github 上的自述文件上获得您的徽标,并链接到您的网站。 [[成为赞助商](https://opencollective.com/ant-design-vue#sponsor)]
## 支持者
每月捐款支持我们,帮助我们继续我们的活动。 [[成为支持者](https://opencollective.com/ant-design-vue#backer)]
## Patreon
每月捐款支持我们,帮助我们继续我们的活动。 [[成为支持者](https://www.patreon.com/tangjinzhou)]
## [更多赞助者 (通过 Patreon、支付宝、微信、paypal 等等)](https://github.com/vueComponent/ant-design-vue/blob/master/BACKERS.md)
## 贡献者
感谢所有为 ant-design-vue 做出贡献的人!
================================================
FILE: README.md
================================================
An enterprise-class UI components based on Ant Design and Vue.
 [](https://codecov.io/gh/vueComponent/ant-design-vue) [](https://www.npmjs.org/package/ant-design-vue) [](http://www.npmtrends.com/ant-design-vue) [](#backers) [](#sponsors) [](https://marketplace.visualstudio.com/items?itemName=ant-design-vue.vscode-ant-design-vue-helper) [](https://github.com/actions-cool/issues-helper)
[](https://www.antdv.com/)
Sponsored by
English | [简体中文](./README-zh_CN.md)
## Features
- An enterprise-class UI design system for desktop applications.
- A set of high-quality Vue components out of the box.
- Shared [Ant Design of React](https://ant.design/docs/spec/introduce) design resources.
## Getting started & staying tuned with us.
Star us, and you will receive all releases notifications from GitHub without any delay!

## Environment Support
- Modern browsers. v1.x support Internet Explorer 9+ (with [polyfills](https://www.antdv.com/docs/vue/getting-started/#compatibility))
- Server-side Rendering
- Support Vue 2 & Vue 3
- [Electron](https://electronjs.org/)
| [ ](http://godban.github.io/browsers-support-badges/)IE / Edge | [ ](http://godban.github.io/browsers-support-badges/)Firefox | [ ](http://godban.github.io/browsers-support-badges/)Chrome | [ ](http://godban.github.io/browsers-support-badges/)Safari | [ ](http://godban.github.io/browsers-support-badges/)Opera | [ ](http://godban.github.io/browsers-support-badges/)Electron |
| --- | --- | --- | --- | --- | --- |
| Edge | last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
## Using npm or yarn
**We recommend using npm or yarn to install**, it not only makes development easier, but also allow you to take advantage of the rich ecosystem of Javascript packages and tooling.
```bash
$ npm install ant-design-vue --save
```
```bash
$ yarn add ant-design-vue
```
If you are in a bad network environment, you can try other registries and tools like [cnpm](https://github.com/cnpm/cnpm).
## Links
- [Home page](https://www.antdv.com/)
- [Vue](https://vuejs.org/)
- [Ant Design Of React](http://ant.design/)
## Ecosystem
| Project | Description |
| --- | --- |
| [vue-ref](https://github.com/vueComponent/vue-ref) | You can use the callback to get a reference like react |
| [ant-design-vue-helper](https://marketplace.visualstudio.com/items?itemName=ant-design-vue.vscode-ant-design-vue-helper) | A vscode extension for ant-design-vue |
| [vue-cli-plugin-ant-design](https://github.com/vueComponent/vue-cli-plugin-ant-design) | Vue-cli 3 plugin to add ant-design-vue |
| [vue-dash-event](https://github.com/vueComponent/vue-dash-event) | The library function, implemented in the DOM template, can use the custom event of the ant-design-vue component (camelCase) |
| [@formily/antdv](https://github.com/formilyjs/antdv) | The Library with Formily and ant-design-vue |
| [@ant-design-vue/nuxt](https://github.com/vueComponent/ant-design-vue-nuxt) | A nuxt module for ant-design-vue |
| [ant-design-x-vue](https://github.com/wzc520pyfm/ant-design-x-vue) | A Vue AI interface solutions base on the Ant Design X design specification |
## Donation
ant-design-vue is an MIT-licensed open source project. In order to achieve better and sustainable development of the project, we expect to gain more [backers](https://github.com/vueComponent/ant-design-vue/blob/master/BACKERS.md). You can support us in any of the following ways:
- [Patreon](https://www.patreon.com/tangjinzhou)
- [opencollective](https://opencollective.com/ant-design-vue)
- [paypal](https://www.paypal.me/tangjinzhou)
- ETH: 0x30cc48515d8ae9fefa20ab87226ad7e8ab9c3bc2
## Sponsors
Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/ant-design-vue#sponsor)]
## [More Sponsor (From Patreon、alipay、wechat、paypal...)](https://github.com/vueComponent/ant-design-vue/blob/master/BACKERS.md)
## Contributors
Thank you to all the people who already contributed to ant-design-vue!
[](https://issuehunt.io/repos/104172832)
This project is tested with BrowserStack.
================================================
FILE: SECURITY.md
================================================
# Security Policy
## Supported Versions
Use this section to tell people about which versions of your project are currently being supported with security updates.
| Version | Supported |
| ------- | ------------------ |
| 1.x | :white_check_mark: |
| 2.x | :x: |
| 3.x | :white_check_mark: |
## Reporting a Vulnerability
Use this section to tell people how to report a vulnerability.
Tell them where to go, how often they can expect to get an update on a reported vulnerability, what to expect if the vulnerability is accepted or declined, etc.
================================================
FILE: antd-tools/apiCollection.js
================================================
// Read all the api from current documents
const glob = require('glob');
const fs = require('fs');
const COMPONENT_NAME = /components\/([^/]*)/;
const PROP_NAME = /^\s*\|\s*([^\s|]*)/;
const components = {};
function mappingPropLine(component, line) {
const propMatch = line.match(PROP_NAME);
if (!propMatch) return;
const propName = propMatch[1];
if (!/^[a-z]/.test(propName)) return;
components[component] = Array.from(new Set([...(components[component] || []), propName]));
}
function apiReport(entities) {
const apis = {};
Object.keys(entities).forEach(component => {
const apiList = entities[component];
apiList.forEach(api => {
if (typeof apis[api] === 'function') {
apis[api] = [];
}
apis[api] = [...(apis[api] || []), component];
});
});
return apis;
}
function printReport(apis) {
const apiList = Object.keys(apis).map(api => ({
name: api,
componentList: apis[api],
}));
apiList.sort((a, b) => b.componentList.length - a.componentList.length);
// eslint-disable-next-line no-console
console.log('| name | components | comments |');
// eslint-disable-next-line no-console
console.log('| ---- | ---------- | -------- |');
apiList.forEach(({ name, componentList }) => {
// eslint-disable-next-line no-console
console.log('|', name, '|', componentList.join(', '), '| |');
});
}
module.exports = () => {
glob('components/*/*.md', (error, files) => {
files.forEach(filePath => {
// Read md file to parse content
const content = fs.readFileSync(filePath, 'utf8');
const component = filePath.match(COMPONENT_NAME)[1];
// Parse lines to get API
const lines = content.split(/[\r\n]+/);
lines.forEach(line => {
mappingPropLine(component, line);
});
});
printReport(apiReport(components));
});
};
================================================
FILE: antd-tools/cli/index.js
================================================
#!/usr/bin/env node
'use strict';
require('colorful').colorful();
const program = require('commander');
const packageInfo = require('../../package.json');
program
.version(packageInfo.version)
.command('run [name]', 'run specified task')
.parse(process.argv);
// https://github.com/tj/commander.js/pull/260
const proc = program.runningCommand;
if (proc) {
proc.on('close', process.exit.bind(process));
proc.on('error', () => {
process.exit(1);
});
}
const subCmd = program.args[0];
if (!subCmd || subCmd !== 'run') {
program.help();
}
================================================
FILE: antd-tools/cli/run.js
================================================
#!/usr/bin/env node
/* eslint-disable no-console */
'use strict';
require('colorful').colorful();
const gulp = require('gulp');
const program = require('commander');
program.option('-c --npm-tag ', 'add --npm-tag=xxx');
program.on('--help', () => {
console.log(' Usage:'.to.bold.blue.color);
console.log();
});
program.parse(process.argv);
function runTask(toRun) {
const metadata = { task: toRun };
// Gulp >= 4.0.0 (doesn't support events)
const taskInstance = gulp.task(toRun);
if (taskInstance === undefined) {
gulp.emit('task_not_found', metadata);
return;
}
const start = process.hrtime();
gulp.emit('task_start', metadata);
try {
taskInstance.apply(gulp);
metadata.hrDuration = process.hrtime(start);
gulp.emit('task_stop', metadata);
gulp.emit('stop');
} catch (err) {
err.hrDuration = process.hrtime(start);
err.task = metadata.task;
gulp.emit('task_err', err);
}
}
const task = program.args[0];
if (!task) {
program.help();
} else {
console.log('antd-tools run', task);
require('../gulpfile');
runTask(task);
}
================================================
FILE: antd-tools/generator-types/README.md
================================================
fork github.com/youzan/vant packages/generator-types
================================================
FILE: antd-tools/generator-types/index.js
================================================
const path = require('path');
const pkg = require('../../package.json');
const { parseAndWrite } = require('./lib/index.js');
const rootPath = path.resolve(__dirname, '../../');
parseAndWrite({
version: pkg.version,
name: 'ant-design-vue',
path: path.resolve(rootPath, './components'),
typingsPath: path.resolve(rootPath, './typings/global.d.ts'),
// default match lang
test: /en-US\.md/,
outputDir: path.resolve(rootPath, './vetur'),
tagPrefix: 'a-',
})
.then(result => {
// eslint-disable-next-line no-console
console.log(`generator types success: ${result} tags generated`);
})
.catch(error => {
console.error('generator types error', error);
return Promise.reject(error);
});
================================================
FILE: antd-tools/generator-types/src/formatter.ts
================================================
import type { Articals } from './parser';
import { formatType, removeVersion, toKebabCase } from './utils';
import type { VueTag } from './type';
function getComponentName(name: string, tagPrefix: string) {
if (name) {
return tagPrefix + toKebabCase(name.split(' ')[0]);
}
return '';
}
function parserProps(tag: VueTag, line: any) {
const [name, desc, type, defaultVal] = line;
if (
type &&
(type.includes('v-slot') ||
type.includes('slot') ||
type.includes('slots') ||
type.includes('slot-scoped'))
) {
tag.slots!.push({
name: removeVersion(name),
description: desc,
});
}
tag.attributes!.push({
name: removeVersion(name),
default: defaultVal,
description: desc,
value: {
type: formatType(type || ''),
kind: 'expression',
},
});
}
export function formatter(
articals: Articals,
componentName: string,
kebabComponentName: string,
tagPrefix = '',
) {
if (!articals.length) {
return;
}
const tags: VueTag[] = [];
const tag: VueTag = {
name: kebabComponentName,
slots: [],
events: [],
attributes: [],
};
tags.push(tag);
const tables = articals.filter(artical => artical.type === 'table');
tables.forEach(item => {
const { table } = item;
const prevIndex = articals.indexOf(item) - 1;
const prevArtical = articals[prevIndex];
if (!prevArtical || !prevArtical.content || !table || !table.body) {
return;
}
const tableTitle = prevArtical.content;
if (tableTitle.includes('API')) {
table.body.forEach(line => {
parserProps(tag, line);
});
return;
}
if (tableTitle.includes('events') && !tableTitle.includes(componentName)) {
table.body.forEach(line => {
const [name, desc] = line;
tag.events!.push({
name: removeVersion(name),
description: desc,
});
});
return;
}
// 额外的子组件
if (
tableTitle.includes(componentName) &&
!tableTitle.includes('events') &&
!tableTitle.includes('()')
) {
const childTag: VueTag = {
name: getComponentName(tableTitle.replace(/\.|\//g, ''), tagPrefix),
slots: [],
events: [],
attributes: [],
};
table.body.forEach(line => {
parserProps(childTag, line);
});
tags.push(childTag);
return;
}
// 额外的子组件事件
if (tableTitle.includes(componentName) && tableTitle.includes('events')) {
const childTagName = getComponentName(
tableTitle.replace('.', '').replace('events', ''),
tagPrefix,
);
const childTag: VueTag | undefined = tags.find(item => item.name === childTagName.trim());
if (!childTag) {
return;
}
table.body.forEach(line => {
const [name, desc] = line;
childTag.events!.push({
name: removeVersion(name),
description: desc,
});
});
return;
}
});
return tags;
}
================================================
FILE: antd-tools/generator-types/src/index.ts
================================================
import glob from 'fast-glob';
import { dirname, join } from 'path';
import { mdParser } from './parser';
import { formatter } from './formatter';
import { genWebTypes } from './web-types';
import { outputFileSync, readFileSync } from 'fs-extra';
import type { Options, VueTag } from './type';
import { getComponentName, normalizePath, toKebabCase } from './utils';
import { flatMap } from 'lodash';
async function readMarkdown(options: Options): Promise> {
const mdPaths = await glob(normalizePath(`${options.path}/**/*.md`));
const data = mdPaths
.filter(md => options.test.test(md))
.map(path => {
const docPath = dirname(path);
const kebabComponentName =
options.tagPrefix + docPath.substring(docPath.lastIndexOf('/') + 1) || '';
const componentName = getComponentName(docPath.substring(docPath.lastIndexOf('/') + 1) || '');
const fileContent = readFileSync(path, 'utf-8');
return formatter(mdParser(fileContent), componentName, kebabComponentName, options.tagPrefix);
})
.filter(item => item) as VueTag[][];
const tags = new Map();
flatMap(data, item => item).forEach(mergedTag => mergeTag(tags, mergedTag));
return tags;
}
function readTypings(options: Options): Map {
const tags = new Map();
const fileContent = readFileSync(options.typingsPath, 'utf-8');
fileContent
.split('\n')
.filter(line => line && line.includes('typeof'))
.map(line => {
const l = line.trim();
return toKebabCase(l.substring(0, l.indexOf(':')));
})
.forEach(tagName =>
tags.set(tagName, {
name: tagName,
slots: [],
events: [],
attributes: [],
}),
);
return tags;
}
function mergeTag(tags: Map, mergedTag: VueTag) {
const tagName = mergedTag.name;
const vueTag = tags.get(tagName);
if (vueTag) {
vueTag.slots = [...vueTag.slots, ...mergedTag.slots];
vueTag.events = [...vueTag.events, ...mergedTag.events];
vueTag.attributes = [...vueTag.attributes, ...mergedTag.attributes];
} else {
tags.set(tagName, mergedTag);
}
}
function mergeTags(mergedTagsArr: Map[]): VueTag[] {
if (mergedTagsArr.length === 1) return [...mergedTagsArr[0].values()];
const tags = new Map();
if (mergedTagsArr.length === 0) return [];
mergedTagsArr.forEach(mergedTags => {
mergedTags.forEach(mergedTag => mergeTag(tags, mergedTag));
});
return [...tags.values()];
}
export async function parseAndWrite(options: Options): Promise {
if (!options.outputDir) {
throw new Error('outputDir can not be empty.');
}
const tagsFromMarkdown = await readMarkdown(options);
const tagsFromTypings = await readTypings(options);
const tags = mergeTags([tagsFromMarkdown, tagsFromTypings]);
const webTypes = genWebTypes(tags, options);
outputFileSync(join(options.outputDir, 'web-types.json'), JSON.stringify(webTypes, null, 2));
return tags.length;
}
export default { parseAndWrite };
================================================
FILE: antd-tools/generator-types/src/parser.ts
================================================
/* eslint-disable no-cond-assign */
const TITLE_REG = /^(#+)\s+([^\n]*)/;
const TABLE_REG = /^\|.+\r?\n\|\s*-+/;
const TD_REG = /\s*`[^`]+`\s*|([^|`]+)/g;
const TABLE_SPLIT_LINE_REG = /^\|\s*-/;
type TableContent = {
head: string[];
body: string[][];
};
export type Artical = {
type: string;
content?: string;
table?: TableContent;
level?: number;
};
export type Articals = Artical[];
function readLine(input: string) {
const end = input.indexOf('\n');
return input.substring(0, end !== -1 ? end : input.length);
}
function splitTableLine(line: string) {
line = line.replace(/\\\|/g, 'JOIN');
const items = line.split('|').map(item => item.trim().replace(/JOIN/g, '|'));
// remove pipe character on both sides
items.pop();
items.shift();
return items;
}
function tableParse(input: string) {
let start = 0;
let isHead = true;
const end = input.length;
const table: TableContent = {
head: [],
body: [],
};
while (start < end) {
const target = input.substring(start);
const line = readLine(target);
if (!/^\|/.test(target)) {
break;
}
if (TABLE_SPLIT_LINE_REG.test(target)) {
isHead = false;
} else if (!isHead && line.includes('|')) {
const matched = line.trim().match(TD_REG);
if (matched) {
table.body.push(splitTableLine(line));
}
}
start += line.length + 1;
}
return {
table,
usedLength: start,
};
}
export function mdParser(input: string): Articals {
const artical = [];
let start = 0;
const end = input.length;
while (start < end) {
const target = input.substring(start);
let match;
if ((match = TITLE_REG.exec(target))) {
artical.push({
type: 'title',
content: match[2].replace('\r', ''),
level: match[1].length,
});
start += match.index + match[0].length;
} else if ((match = TABLE_REG.exec(target))) {
const { table, usedLength } = tableParse(target.substring(match.index));
artical.push({
type: 'table',
table,
});
start += match.index + usedLength;
} else {
start += readLine(target).length + 1;
}
}
return artical;
}
================================================
FILE: antd-tools/generator-types/src/type.ts
================================================
import type { PathLike } from 'fs';
export type VueSlot = {
name: string;
description: string;
};
export type VueEventArgument = {
name: string;
type: string;
};
export type VueEvent = {
name: string;
description?: string;
arguments?: VueEventArgument[];
};
export type VueAttribute = {
name: string;
default: string;
description: string;
value: {
kind: 'expression';
type: string;
};
};
export type VueTag = {
name: string;
slots: VueSlot[];
events: VueEvent[];
attributes: VueAttribute[];
description?: string;
};
export type Options = {
name: string;
path: PathLike;
typingsPath: PathLike;
test: RegExp;
version: string;
outputDir?: string;
tagPrefix?: string;
};
================================================
FILE: antd-tools/generator-types/src/utils.ts
================================================
// myName -> my-name
export function toKebabCase(camel: string): string {
return camel.replace(/((?<=[a-z\d])[A-Z]|(?<=[A-Z\d])[A-Z](?=[a-z]))/g, '-$1').toLowerCase();
}
// name `v2.0.0` -> name
export function removeVersion(str: string) {
return str.replace(/`(\w|\.)+`/g, '').trim();
}
// *boolean* -> boolean
// _boolean_ -> boolean
export function formatType(type: string) {
return type
.replace(/(^(\*|_))|((\*|_)$)/g, '')
.replace('\\', '')
.replace('\\', '');
}
export function getComponentName(name: string) {
const title = name
.split('-')
.map(it => it.substring(0, 1) + it.substring(1))
.join('');
return title.substring(0, 1).toUpperCase() + title.substring(1);
}
export function normalizePath(path: string): string {
return path.replace(/\\/g, '/');
}
================================================
FILE: antd-tools/generator-types/src/web-types.ts
================================================
import type { VueTag, Options } from './type';
// create web-types.json to provide autocomplete in JetBrains IDEs
export function genWebTypes(tags: VueTag[], options: Options) {
return {
$schema: 'https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json',
framework: 'vue',
name: options.name,
version: options.version,
contributions: {
html: {
tags,
attributes: [],
'types-syntax': 'typescript',
},
},
};
}
================================================
FILE: antd-tools/generator-types/tsconfig.json
================================================
{
"compilerOptions": {
"target": "ES2017",
"outDir": "./lib",
"module": "commonjs",
"strict": true,
"declaration": true,
"skipLibCheck": true,
"esModuleInterop": true,
"lib": ["esnext"]
},
"include": ["src/**/*"]
}
================================================
FILE: antd-tools/getBabelCommonConfig.js
================================================
const { resolve, isThereHaveBrowserslistConfig } = require('./utils/projectHelper');
module.exports = function (modules) {
const plugins = [
[
resolve('@babel/plugin-transform-typescript'),
{
isTSX: true,
},
],
[resolve('@vue/babel-plugin-jsx'), { mergeProps: false, enableObjectSlots: false }],
resolve('@babel/plugin-proposal-optional-chaining'),
resolve('@babel/plugin-transform-object-assign'),
resolve('@babel/plugin-proposal-object-rest-spread'),
resolve('@babel/plugin-proposal-export-default-from'),
resolve('@babel/plugin-proposal-export-namespace-from'),
resolve('@babel/plugin-proposal-class-properties'),
resolve('@babel/plugin-syntax-dynamic-import'),
[
resolve('@babel/plugin-transform-runtime'),
{
useESModules: modules === false,
version:
require(`${process.cwd()}/package.json`).dependencies['@babel/runtime'] || '^7.10.4',
},
],
// resolve('babel-plugin-inline-import-data-uri'),
// resolve('@babel/plugin-transform-member-expression-literals'),
// resolve('@babel/plugin-transform-property-literals'),
// resolve('@babel/plugin-proposal-export-default-from'),
// resolve('@babel/plugin-transform-object-assign'),
// resolve('@babel/plugin-transform-template-literals'),
// resolve('@babel/plugin-proposal-object-rest-spread'),
// resolve('@babel/plugin-proposal-class-properties'),
];
return {
presets: [
[
resolve('@babel/preset-env'),
{
modules,
targets: isThereHaveBrowserslistConfig()
? undefined
: {
browsers: ['last 2 versions', 'Firefox ESR', '> 1%', 'ie >= 11'],
},
},
],
],
plugins,
env: {
test: {
plugins: [resolve('babel-plugin-istanbul')],
},
},
};
};
================================================
FILE: antd-tools/getNpm.js
================================================
'use strict';
const runCmd = require('./runCmd');
module.exports = function (done) {
if (process.env.NPM_CLI) {
done(process.env.NPM_CLI);
return;
}
runCmd('which', ['tnpm'], code => {
let npm = 'npm';
if (!code) {
npm = 'tnpm';
}
done(npm);
});
};
================================================
FILE: antd-tools/getTSCommonConfig.js
================================================
'use strict';
const fs = require('fs');
const { getProjectPath } = require('./utils/projectHelper');
module.exports = function () {
let my = {};
if (fs.existsSync(getProjectPath('tsconfig.json'))) {
my = require(getProjectPath('tsconfig.json'));
}
return Object.assign(
{
noUnusedParameters: true,
noUnusedLocals: true,
strictNullChecks: true,
target: 'es6',
jsx: 'preserve',
moduleResolution: 'node',
declaration: true,
allowSyntheticDefaultImports: true,
},
my.compilerOptions,
);
};
================================================
FILE: antd-tools/getWebpackConfig.js
================================================
const { getProjectPath, resolve } = require('./utils/projectHelper');
const path = require('path');
const webpack = require('webpack');
const WebpackBar = require('webpackbar');
const { merge } = require('webpack-merge');
const TerserPlugin = require('terser-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const CssMinimizerPlugin = require('css-minimizer-webpack-plugin');
const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin');
const CleanUpStatsPlugin = require('./utils/CleanUpStatsPlugin');
// const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
const distFileBaseName = 'antd';
const svgRegex = /\.svg(\?v=\d+\.\d+\.\d+)?$/;
const svgOptions = {
limit: 10000,
minetype: 'image/svg+xml',
};
const imageOptions = {
limit: 10000,
};
function getWebpackConfig(modules, esm = false) {
const pkg = require(getProjectPath('package.json'));
const babelConfig = require('./getBabelCommonConfig')(modules || false);
const pluginImportOptions = {
style: true,
libraryName: distFileBaseName,
libraryDirectory: 'components',
};
babelConfig.plugins.push([resolve('babel-plugin-import'), pluginImportOptions]);
if (modules === false) {
babelConfig.plugins.push(require.resolve('./replaceLib'));
}
/** @type {import('webpack').Configuration} */
const config = {
devtool: 'source-map',
output: {
path: getProjectPath('./dist/'),
filename: '[name].js',
},
resolve: {
modules: ['node_modules', path.join(__dirname, '../node_modules')],
extensions: [
'.web.tsx',
'.web.ts',
'.web.jsx',
'.web.js',
'.ts',
'.tsx',
'.js',
'.jsx',
'.vue',
'.md',
'.json',
],
alias: {
'@': process.cwd(),
},
fallback: [
'child_process',
'cluster',
'dgram',
'dns',
'fs',
'module',
'net',
'readline',
'repl',
'tls',
].reduce((acc, name) => Object.assign({}, acc, { [name]: 'empty' }), {}),
},
module: {
rules: [
{
test: /\.vue$/,
exclude: /node_modules/,
use: [
{
loader: 'vue-loader',
options: {
loaders: {
js: [
{
loader: 'babel-loader',
options: {
presets: [resolve('@babel/preset-env')],
plugins: [
[
resolve('@vue/babel-plugin-jsx'),
{ mergeProps: false, enableObjectSlots: false },
],
resolve('@babel/plugin-proposal-object-rest-spread'),
],
},
},
],
},
},
},
],
},
{
test: /\.(js|jsx)$/,
loader: 'babel-loader',
exclude: /node_modules/,
options: babelConfig,
},
{
test: /\.tsx?$/,
use: [
{
loader: 'babel-loader',
options: babelConfig,
},
{
loader: 'ts-loader',
options: {
transpileOnly: true,
},
},
],
},
{
test: /\.css$/,
use: [
MiniCssExtractPlugin.loader,
{
loader: 'css-loader',
options: {
sourceMap: true,
},
},
{
loader: 'postcss-loader',
options: {
postcssOptions: {
plugins: ['autoprefixer'],
},
sourceMap: true,
},
},
],
},
// Images
{
test: svgRegex,
loader: 'url-loader',
options: svgOptions,
},
{
test: /\.(png|jpg|jpeg|gif)(\?v=\d+\.\d+\.\d+)?$/i,
loader: 'url-loader',
options: imageOptions,
},
],
},
plugins: [
// new BundleAnalyzerPlugin(),
new CaseSensitivePathsPlugin(),
new webpack.BannerPlugin(`
${pkg.name} v${pkg.version}
Copyright 2017-present, Ant Design Vue.
All rights reserved.
`),
new WebpackBar({
name: '🚚 Ant Design Vue Tools',
color: '#2f54eb',
}),
new CleanUpStatsPlugin(),
],
performance: {
hints: false,
},
};
if (process.env.RUN_ENV === 'PRODUCTION') {
let entry = ['./index'];
config.externals = [
{
vue: {
root: 'Vue',
commonjs2: 'vue',
commonjs: 'vue',
amd: 'vue',
module: 'vue',
},
},
];
if (esm) {
entry = ['./index.esm'];
config.experiments = {
...config.experiments,
outputModule: true,
};
config.output.chunkFormat = 'module';
config.output.library = {
type: 'module',
};
config.target = 'es2019';
} else {
config.output.libraryTarget = 'umd';
config.output.library = distFileBaseName;
config.output.globalObject = 'this';
}
const entryName = esm ? `${distFileBaseName}.esm` : distFileBaseName;
config.optimization = {
minimizer: [
new TerserPlugin({
parallel: true,
terserOptions: {
warnings: false,
},
}),
],
};
// Development
const uncompressedConfig = merge({}, config, {
entry: {
[entryName]: entry,
},
mode: 'development',
plugins: [
new MiniCssExtractPlugin({
filename: '[name].css',
}),
],
});
// Production
const prodConfig = merge({}, config, {
entry: {
[`${entryName}.min`]: entry,
},
mode: 'production',
plugins: [
new webpack.LoaderOptionsPlugin({
minimize: true,
}),
new MiniCssExtractPlugin({
filename: '[name].css',
}),
],
optimization: {
minimize: true,
minimizer: [new CssMinimizerPlugin({})],
},
});
return [prodConfig, uncompressedConfig];
}
return [config];
}
getWebpackConfig.webpack = webpack;
getWebpackConfig.svgRegex = svgRegex;
getWebpackConfig.svgOptions = svgOptions;
getWebpackConfig.imageOptions = imageOptions;
module.exports = getWebpackConfig;
================================================
FILE: antd-tools/gulpfile.js
================================================
/* eslint-disable no-console */
const { getProjectPath, getConfig } = require('./utils/projectHelper');
const runCmd = require('./runCmd');
const getBabelCommonConfig = require('./getBabelCommonConfig');
const merge2 = require('merge2');
const { execSync } = require('child_process');
const through2 = require('through2');
const webpack = require('webpack');
const babel = require('gulp-babel');
const argv = require('minimist')(process.argv.slice(2));
const { Octokit } = require('@octokit/rest');
// const getNpm = require('./getNpm')
// const selfPackage = require('../package.json')
const chalk = require('chalk');
const getNpmArgs = require('./utils/get-npm-args');
const getChangelog = require('./utils/getChangelog');
const path = require('path');
// const watch = require('gulp-watch')
const ts = require('gulp-typescript');
const gulp = require('gulp');
const fs = require('fs');
const rimraf = require('rimraf');
const stripCode = require('gulp-strip-code');
const compareVersions = require('compare-versions');
const getTSCommonConfig = require('./getTSCommonConfig');
const replaceLib = require('./replaceLib');
const sortApiTable = require('./sortApiTable');
const { glob } = require('glob');
const packageJson = require(getProjectPath('package.json'));
const tsDefaultReporter = ts.reporter.defaultReporter();
const cwd = process.cwd();
const libDir = getProjectPath('lib');
const esDir = getProjectPath('es');
const localeDir = getProjectPath('locale');
const tsConfig = getTSCommonConfig();
// FIXME: hard code, not find typescript can modify the path resolution
const localeDts = `import type { Locale } from '../lib/locale-provider';
declare const localeValues: Locale;
export default localeValues;`;
function dist(done) {
rimraf.sync(path.join(cwd, 'dist'));
process.env.RUN_ENV = 'PRODUCTION';
const webpackConfig = require(getProjectPath('webpack.build.conf.js'));
webpack(webpackConfig, (err, stats) => {
if (err) {
console.error(err.stack || err);
if (err.details) {
console.error(err.details);
}
return;
}
const info = stats.toJson();
const { dist: { finalize } = {}, bail } = getConfig();
if (stats.hasErrors()) {
(info.errors || []).forEach(error => {
console.error(error);
});
// https://github.com/ant-design/ant-design/pull/31662
if (bail) {
process.exit(1);
}
}
if (stats.hasWarnings()) {
console.warn(info.warnings);
}
const buildInfo = stats.toString({
colors: true,
children: true,
chunks: false,
modules: false,
chunkModules: false,
hash: false,
version: false,
});
console.log(buildInfo);
// Additional process of dist finalize
if (finalize) {
console.log('[Dist] Finalization...');
finalize();
}
done(0);
});
}
const tsFiles = ['**/*.ts', '**/*.tsx', '!node_modules/**/*.*', 'typings/**/*.d.ts'];
function compileTs(stream) {
return stream
.pipe(ts(tsConfig))
.js.pipe(
through2.obj(function (file, encoding, next) {
// console.log(file.path, file.base);
file.path = file.path.replace(/\.[jt]sx$/, '.js');
this.push(file);
next();
}),
)
.pipe(gulp.dest(process.cwd()));
}
gulp.task('tsc', () =>
compileTs(
gulp.src(tsFiles, {
base: cwd,
}),
),
);
gulp.task('clean', () => {
rimraf.sync(getProjectPath('_site'));
rimraf.sync(getProjectPath('_data'));
});
function babelify(js, modules) {
const babelConfig = getBabelCommonConfig(modules);
babelConfig.babelrc = false;
delete babelConfig.cacheDirectory;
if (modules === false) {
babelConfig.plugins.push(replaceLib);
}
const stream = js.pipe(babel(babelConfig)).pipe(
through2.obj(function z(file, encoding, next) {
this.push(file.clone());
if (modules !== false) {
const content = file.contents.toString(encoding);
file.contents = Buffer.from(
content
.replace(/lodash-es/g, 'lodash')
.replace(/@ant-design\/icons-vue/g, '@ant-design/icons-vue/lib/icons'),
);
this.push(file);
}
next();
}),
);
return stream.pipe(gulp.dest(modules === false ? esDir : libDir));
}
function compile(modules) {
const { compile: { transformTSFile, transformFile } = {} } = getConfig();
rimraf.sync(modules !== false ? libDir : esDir);
const assets = gulp
.src(['components/**/*.@(png|svg)'])
.pipe(gulp.dest(modules === false ? esDir : libDir));
let error = 0;
// =============================== FILE ===============================
let transformFileStream;
if (transformFile) {
transformFileStream = gulp
.src(['components/**/*.tsx'])
.pipe(
through2.obj(function (file, encoding, next) {
let nextFile = transformFile(file) || file;
nextFile = Array.isArray(nextFile) ? nextFile : [nextFile];
nextFile.forEach(f => this.push(f));
next();
}),
)
.pipe(gulp.dest(modules === false ? esDir : libDir));
}
// ================================ TS ================================
const source = [
'components/**/*.js',
'components/**/*.jsx',
'components/**/*.tsx',
'components/**/*.ts',
'typings/**/*.d.ts',
'!components/*/__tests__/*',
];
// Strip content if needed
let sourceStream = gulp.src(source);
if (modules === false) {
sourceStream = sourceStream.pipe(
stripCode({
start_comment: '@remove-on-es-build-begin',
end_comment: '@remove-on-es-build-end',
}),
);
}
if (transformTSFile) {
sourceStream = sourceStream.pipe(
through2.obj(function (file, encoding, next) {
let nextFile = transformTSFile(file) || file;
nextFile = Array.isArray(nextFile) ? nextFile : [nextFile];
nextFile.forEach(f => this.push(f));
next();
}),
);
}
const tsResult = sourceStream.pipe(
ts(tsConfig, {
error(e) {
tsDefaultReporter.error(e);
error = 1;
},
finish: tsDefaultReporter.finish,
}),
);
function check() {
if (error && !argv['ignore-error']) {
process.exit(1);
}
}
tsResult.on('finish', check);
tsResult.on('end', check);
const tsFilesStream = babelify(tsResult.js, modules);
const tsd = tsResult.dts.pipe(gulp.dest(modules === false ? esDir : libDir));
return merge2([tsFilesStream, tsd, assets, transformFileStream].filter(s => s));
}
function generateLocale() {
if (!fs.existsSync(localeDir)) {
fs.mkdirSync(localeDir);
}
const localeFiles = glob.sync('components/locale/*.ts?(x)');
localeFiles.forEach(item => {
const match = item.match(/components\/locale\/(.*)\.tsx?/);
if (match) {
const locale = match[1];
fs.writeFileSync(
path.join(localeDir, `${locale}.js`),
`module.exports = require('../lib/locale/${locale}');`,
);
fs.writeFileSync(path.join(localeDir, `${locale}.d.ts`), localeDts);
}
});
}
function tag() {
console.log('tagging');
const { version } = packageJson;
execSync(`git config --global user.email ${process.env.GITHUB_USER_EMAIL}`);
execSync(`git config --global user.name ${process.env.GITHUB_USER_NAME}`);
execSync(`git tag ${version}`);
execSync(
`git push https://${process.env.GITHUB_TOKEN}@github.com/vueComponent/ant-design-vue.git ${version}:${version}`,
);
execSync(
`git push https://${process.env.GITHUB_TOKEN}@github.com/vueComponent/ant-design-vue.git master:master`,
);
console.log('tagged');
}
function githubRelease(done) {
const changlogFiles = [
path.join(cwd, 'CHANGELOG.en-US.md'),
path.join(cwd, 'CHANGELOG.zh-CN.md'),
];
console.log('creating release on GitHub');
if (!process.env.GITHUB_TOKEN) {
console.log('no GitHub token found, skip');
return;
}
if (!changlogFiles.every(file => fs.existsSync(file))) {
console.log('no changelog found, skip');
return;
}
const github = new Octokit({
auth: process.env.GITHUB_TOKEN,
});
const date = new Date();
const { version } = packageJson;
const enChangelog = getChangelog(changlogFiles[0], version);
const cnChangelog = getChangelog(changlogFiles[1], version);
const changelog = [
`\`${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}\``,
enChangelog,
'\n',
'---',
'\n',
cnChangelog,
].join('\n');
const [_, owner, repo] = execSync('git remote get-url origin') // eslint-disable-line
.toString()
.match(/github.com[:/](.+)\/(.+)\.git/);
github.repos
.createRelease({
owner,
repo,
tag_name: version,
name: version,
body: changelog,
})
.then(() => {
done();
})
.catch(err => {
console.log(err);
});
}
gulp.task(
'tag',
gulp.series(done => {
tag();
githubRelease(done);
}),
);
gulp.task(
'check-git',
gulp.series(done => {
runCmd('git', ['status', '--porcelain'], (code, result) => {
if (/^\?\?/m.test(result)) {
return done(`There are untracked files in the working tree.\n${result}
`);
}
if (/^([ADRM]| [ADRM])/m.test(result)) {
return done(`There are uncommitted changes in the working tree.\n${result}
`);
}
return done();
});
}),
);
function publish(tagString, done) {
let args = ['publish', '--with-antd-tools'];
if (tagString) {
args = args.concat(['--tag', tagString]);
}
const publishNpm = process.env.PUBLISH_NPM_CLI || 'npm';
runCmd(publishNpm, args, code => {
tag();
githubRelease(() => {
done(code);
});
});
}
function pub(done) {
const notOk = !packageJson.version.match(/^\d+\.\d+\.\d+$/);
let tagString;
if (argv['npm-tag']) {
tagString = argv['npm-tag'];
}
if (!tagString && notOk) {
tagString = 'next';
}
if (packageJson.scripts['pre-publish']) {
runCmd('npm', ['run', 'pre-publish'], code2 => {
if (code2) {
done(code2);
return;
}
publish(tagString, done);
});
} else {
publish(tagString, done);
}
}
const startTime = new Date();
gulp.task('compile-with-es', done => {
console.log('start compile at ', startTime);
console.log('[Parallel] Compile to es...');
compile(false).on('finish', done);
});
gulp.task('compile-with-lib', done => {
console.log('[Parallel] Compile to js...');
compile().on('finish', () => {
generateLocale();
done();
});
});
gulp.task('compile-finalize', done => {
// Additional process of compile finalize
const { compile: { finalize } = {} } = getConfig();
if (finalize) {
console.log('[Compile] Finalization...');
finalize();
}
done();
});
gulp.task(
'compile',
gulp.series(gulp.parallel('compile-with-es', 'compile-with-lib'), 'compile-finalize', done => {
console.log('end compile at ', new Date());
console.log('compile time ', (new Date() - startTime) / 1000, 's');
done();
}),
);
gulp.task(
'dist',
gulp.series(done => {
dist(done);
}),
);
gulp.task(
'pub',
gulp.series('check-git', 'compile', 'dist', done => {
// if (!process.env.GITHUB_TOKEN) {
// console.log('no GitHub token found, skip');
// } else {
// pub(done);
// }
pub(done);
}),
);
gulp.task(
'pub-with-ci',
gulp.series(done => {
if (!process.env.NPM_TOKEN) {
console.log('no NPM token found, skip');
} else {
const github = new Octokit({
auth: process.env.GITHUB_TOKEN,
});
const [_, owner, repo] = execSync('git remote get-url origin') // eslint-disable-line
.toString()
.match(/github.com[:/](.+)\/(.+)\.git/);
const getLatestRelease = github.repos.getLatestRelease({
owner,
repo,
});
const listCommits = github.repos.listCommits({
owner,
repo,
per_page: 1,
});
Promise.all([getLatestRelease, listCommits]).then(([latestRelease, commits]) => {
const preVersion = latestRelease.data.tag_name;
const { version } = packageJson;
const [_, newVersion] = commits.data[0].commit.message.trim().match(/bump (.+)/) || []; // eslint-disable-line
if (
compareVersions(version, preVersion) === 1 &&
newVersion &&
newVersion.trim() === version
) {
// eslint-disable-next-line no-unused-vars
runCmd('npm', ['run', 'pub'], _code => {
done();
});
} else {
console.log('donot need publish' + version);
}
});
}
}),
);
gulp.task(
'guard',
gulp.series(done => {
function reportError() {
console.log(chalk.bgRed('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'));
console.log(chalk.bgRed('!! `npm publish` is forbidden for this package. !!'));
console.log(chalk.bgRed('!! Use `npm run pub` instead. !!'));
console.log(chalk.bgRed('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'));
}
const npmArgs = getNpmArgs();
if (npmArgs) {
for (let arg = npmArgs.shift(); arg; arg = npmArgs.shift()) {
if (
/^pu(b(l(i(sh?)?)?)?)?$/.test(arg) &&
npmArgs.indexOf('--with-antd-tools') < 0 &&
!process.env.npm_config_with_antd_tools
) {
reportError();
done(1);
return;
}
}
}
done();
}),
);
gulp.task(
'sort-api-table',
gulp.series(done => {
sortApiTable();
done();
}),
);
================================================
FILE: antd-tools/replaceLib.js
================================================
'use strict';
const { dirname } = require('path');
const fs = require('fs');
const { getProjectPath } = require('./utils/projectHelper');
function replacePath(path) {
if (path.node.source && /\/lib\//.test(path.node.source.value)) {
const esModule = path.node.source.value.replace('/lib/', '/es/');
const esPath = dirname(getProjectPath('node_modules', esModule));
if (fs.existsSync(esPath)) {
path.node.source.value = esModule;
}
}
// @ant-design/icons-vue/xxx => @ant-design/icons-vue/es/icons/xxx
const antdIconMatcher = /@ant-design\/icons-vue\/([^/]*)$/;
if (path.node.source && antdIconMatcher.test(path.node.source.value)) {
const esModule = path.node.source.value.replace(
antdIconMatcher,
(_, iconName) => `@ant-design/icons-vue/es/icons/${iconName}`,
);
const esPath = dirname(getProjectPath('node_modules', esModule));
if (fs.existsSync(esPath)) {
path.node.source.value = esModule;
}
}
}
function replaceLib() {
return {
visitor: {
ImportDeclaration: replacePath,
ExportNamedDeclaration: replacePath,
},
};
}
module.exports = replaceLib;
================================================
FILE: antd-tools/runCmd.js
================================================
'use strict';
const isWindows = require('is-windows');
const getRunCmdEnv = require('./utils/getRunCmdEnv');
function runCmd(cmd, _args, fn) {
const args = _args || [];
if (isWindows()) {
args.unshift(cmd);
args.unshift('/c');
cmd = process.env.ComSpec;
}
const runner = require('child_process').spawn(cmd, args, {
// keep color
stdio: 'inherit',
env: getRunCmdEnv(),
});
runner.on('close', code => {
if (fn) {
fn(code);
}
});
}
module.exports = runCmd;
================================================
FILE: antd-tools/sortApiTable.js
================================================
const program = require('commander');
const majo = require('majo');
const fs = require('fs');
const path = require('path');
const chalk = require('chalk');
const unified = require('unified');
const parse = require('remark-parse');
const stringify = require('remark-stringify');
const yamlConfig = require('remark-yaml-config');
const frontmatter = require('remark-frontmatter');
let fileAPIs = {};
const remarkWithYaml = unified()
.use(parse)
.use(stringify, {
paddedTable: false,
listItemIndent: 1,
stringLength: () => 3,
})
.use(frontmatter)
.use(yamlConfig);
const stream = majo.majo();
function getCellValue(node) {
return node.children[0].children[0].value;
}
// from small to large
const sizeBreakPoints = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];
const whiteMethodList = ['afterChange', 'beforeChange'];
const groups = {
isDynamic: val => /^on[A-Z]/.test(val) || whiteMethodList.indexOf(val) > -1,
isSize: val => sizeBreakPoints.indexOf(val) > -1,
};
function asciiSort(prev, next) {
if (prev > next) {
return 1;
}
if (prev < next) {
return -1;
}
return 0;
}
// follow the alphabet order
function alphabetSort(nodes) {
// use toLowerCase to keep `case insensitive`
return nodes.sort((...comparison) =>
asciiSort(...comparison.map(val => getCellValue(val).toLowerCase())),
);
}
function sizeSort(nodes) {
return nodes.sort((...comparison) =>
asciiSort(...comparison.map(val => sizeBreakPoints.indexOf(getCellValue(val).toLowerCase()))),
);
}
function sort(ast, filename) {
const nameMatch = filename.match(/^components\/([^/]*)\//);
const componentName = nameMatch[1];
fileAPIs[componentName] = fileAPIs[componentName] || {
static: new Set(),
size: new Set(),
dynamic: new Set(),
};
ast.children.forEach(child => {
const staticProps = [];
// prefix with `on`
const dynamicProps = [];
// one of ['xs', 'sm', 'md', 'lg', 'xl']
const sizeProps = [];
// find table markdown type
if (child.type === 'table') {
// slice will create new array, so sort can affect the original array.
// slice(1) cut down the thead
child.children.slice(1).forEach(node => {
const value = getCellValue(node);
if (groups.isDynamic(value)) {
dynamicProps.push(node);
fileAPIs[componentName].dynamic.add(value);
} else if (groups.isSize(value)) {
sizeProps.push(node);
fileAPIs[componentName].size.add(value);
} else {
staticProps.push(node);
fileAPIs[componentName].static.add(value);
}
});
// eslint-disable-next-line
child.children = [
child.children[0],
...alphabetSort(staticProps),
...sizeSort(sizeProps),
...alphabetSort(dynamicProps),
];
}
});
return ast;
}
function sortAPI(md, filename) {
return remarkWithYaml.stringify(sort(remarkWithYaml.parse(md), filename));
}
function sortMiddleware(ctx) {
Object.keys(ctx.files).forEach(filename => {
const content = ctx.fileContents(filename);
ctx.writeContents(filename, sortAPI(content, filename));
});
}
module.exports = () => {
fileAPIs = {};
program
.version('0.1.0')
.option(
'-f, --file [file]',
'Specify which file to be transformed',
// default value
'components/**/index.+(zh-CN|en-US).md',
)
.option('-o, --output [output]', 'Specify component api output path', '~component-api.json')
.parse(process.argv);
// Get the markdown file all need to be transformed
/* eslint-disable no-console */
stream
.source(program.file)
.use(sortMiddleware)
.dest('.')
.then(() => {
if (program.output) {
const data = {};
Object.keys(fileAPIs).forEach(componentName => {
data[componentName] = {
static: [...fileAPIs[componentName].static],
size: [...fileAPIs[componentName].size],
dynamic: [...fileAPIs[componentName].dynamic],
};
});
const reportPath = path.resolve(program.output);
fs.writeFileSync(reportPath, JSON.stringify(data, null, 2), 'utf8');
console.log(chalk.cyan(`API list file: ${reportPath}`));
}
})
.then(() => {
console.log(chalk.green(`sort ant-design-vue api successfully!`));
});
/* eslint-enable no-console */
};
================================================
FILE: antd-tools/utils/CleanUpStatsPlugin.js
================================================
// We should use `stats` props of webpack. But it not work in v4.
class CleanUpStatsPlugin {
constructor(option) {
this.option = {
MiniCSSExtractPlugin: true,
tsLoader: true,
...option,
};
}
shouldPickStatChild(child) {
const { MiniCSSExtractPlugin } = this.option;
if (MiniCSSExtractPlugin && child.name.includes('mini-css-extract-plugin')) return false;
return true;
}
shouldPickWarning(message) {
const { tsLoader } = this.option;
if (tsLoader && /export .* was not found in .*/.test(message)) {
return false;
}
return true;
}
apply(compiler) {
compiler.hooks.done.tap('CleanUpStatsPlugin', stats => {
const { children, warnings } = stats.compilation;
if (Array.isArray(children)) {
stats.compilation.children = children.filter(child => this.shouldPickStatChild(child));
}
if (Array.isArray(warnings)) {
stats.compilation.warnings = warnings.filter(message => this.shouldPickWarning(message));
}
});
}
}
module.exports = CleanUpStatsPlugin;
================================================
FILE: antd-tools/utils/get-npm-args.js
================================================
'use strict';
// NOTE: the following code was partially adopted from https://github.com/iarna/in-publish
module.exports = function getNpmArgs() {
// https://github.com/iarna/in-publish/pull/14
if (process.env.npm_command) {
return [process.env.npm_command];
}
let npmArgv = null;
try {
npmArgv = JSON.parse(process.env.npm_config_argv);
} catch (err) {
return null;
}
if (typeof npmArgv !== 'object' || !npmArgv.cooked || !Array.isArray(npmArgv.cooked)) {
return null;
}
return npmArgv.cooked;
};
================================================
FILE: antd-tools/utils/getChangelog.js
================================================
const fs = require('fs');
module.exports = function getChangelog(file, version) {
const lines = fs.readFileSync(file).toString().split('\n');
const changeLog = [];
const startPattern = new RegExp(`^## ${version}`);
const stopPattern = /^## /; // 前一个版本
const skipPattern = /^`/; // 日期
let begin = false;
for (let i = 0; i < lines.length; i += 1) {
const line = lines[i];
if (begin && stopPattern.test(line)) {
break;
}
if (begin && line && !skipPattern.test(line)) {
changeLog.push(line);
}
if (!begin) {
begin = startPattern.test(line);
}
}
return changeLog.join('\n');
};
================================================
FILE: antd-tools/utils/getRunCmdEnv.js
================================================
'use strict';
const path = require('path');
const isWindows = require('is-windows');
module.exports = function getRunCmdEnv() {
const env = {};
Object.keys(process.env).forEach(key => {
env[key] = process.env[key];
});
// make sure `antd-tools/node_modules/.bin` in the PATH env
const nodeModulesBinDir = path.join(__dirname, '../../node_modules/.bin');
Object.entries(env)
.filter(v => v.slice(0, 1).pop().toLowerCase() === 'path')
.forEach(v => {
const key = v.slice(0, 1).pop();
env[key] = env[key]
? `${nodeModulesBinDir}${isWindows() ? ';' : ':'}${env[key]}`
: nodeModulesBinDir;
});
return env;
};
================================================
FILE: antd-tools/utils/projectHelper.js
================================================
const fs = require('fs');
const path = require('path');
const cwd = process.cwd();
function getProjectPath(...filePath) {
return path.join(cwd, ...filePath);
}
function resolve(moduleName) {
return require.resolve(moduleName);
}
// We need hack the require to ensure use package module first
// For example, `typescript` is required by `gulp-typescript` but provided by `antd`
// we do not need for ant-design-vue
let injected = false;
function injectRequire() {
if (injected) return;
const Module = require('module');
const oriRequire = Module.prototype.require;
Module.prototype.require = function (...args) {
const moduleName = args[0];
try {
return oriRequire.apply(this, args);
} catch (err) {
const newArgs = [...args];
if (moduleName[0] !== '/') {
newArgs[0] = getProjectPath('node_modules', moduleName);
}
return oriRequire.apply(this, newArgs);
}
};
injected = true;
}
function getConfig() {
const configPath = getProjectPath('.antd-tools.config.js');
if (fs.existsSync(configPath)) {
return require(configPath);
}
return {};
}
/**
* 是否存在可用的browserslist config
* https://github.com/browserslist/browserslist#queries
* @returns
*/
function isThereHaveBrowserslistConfig() {
try {
const packageJson = require(getProjectPath('package.json'));
if (packageJson.browserslist) {
return true;
}
} catch (e) {
//
}
if (fs.existsSync(getProjectPath('.browserslistrc'))) {
return true;
}
if (fs.existsSync(getProjectPath('browserslist'))) {
return true;
}
// parent项目的配置支持,需要再补充
// ROWSERSLIST ROWSERSLIST_ENV 变量的形式,需要再补充。
return false;
}
module.exports = {
getProjectPath,
resolve,
injectRequire,
getConfig,
isThereHaveBrowserslistConfig,
};
================================================
FILE: babel.config.js
================================================
module.exports = {
env: {
test: {
presets: [['@babel/preset-env']],
plugins: [
['@vue/babel-plugin-jsx', { mergeProps: false, enableObjectSlots: false }],
'@babel/plugin-proposal-optional-chaining',
'@babel/plugin-transform-object-assign',
'@babel/plugin-proposal-object-rest-spread',
'@babel/plugin-proposal-export-default-from',
'@babel/plugin-proposal-export-namespace-from',
'@babel/plugin-proposal-class-properties',
'@babel/plugin-syntax-dynamic-import',
'@babel/plugin-transform-runtime',
'transform-require-context',
],
},
},
};
================================================
FILE: build.sh
================================================
#!/usr/bin/env bash
rm -rf dist
mkdir dist
./node_modules/.bin/webpack --config webpack.site.config.js
cp dist/index.html index.html
================================================
FILE: components/__tests__/util/domHook.js
================================================
const __NULL__ = { notExist: true };
export function spyElementPrototypes(Element, properties) {
const propNames = Object.keys(properties);
const originDescriptors = {};
propNames.forEach(propName => {
const originDescriptor = Object.getOwnPropertyDescriptor(Element.prototype, propName);
originDescriptors[propName] = originDescriptor || __NULL__;
const spyProp = properties[propName];
if (typeof spyProp === 'function') {
// If is a function
Element.prototype[propName] = function spyFunc(...args) {
return spyProp.call(this, originDescriptor, ...args);
};
} else {
// Otherwise tread as a property
Object.defineProperty(Element.prototype, propName, {
...spyProp,
set(value) {
if (spyProp.set) {
return spyProp.set.call(this, originDescriptor, value);
}
return originDescriptor.set(value);
},
get() {
if (spyProp.get) {
return spyProp.get.call(this, originDescriptor);
}
return originDescriptor.get();
},
});
}
});
return {
mockRestore() {
propNames.forEach(propName => {
const originDescriptor = originDescriptors[propName];
if (originDescriptor === __NULL__) {
delete Element.prototype[propName];
} else if (typeof originDescriptor === 'function') {
Element.prototype[propName] = originDescriptor;
} else {
Object.defineProperty(Element.prototype, propName, originDescriptor);
}
});
},
};
}
export function spyElementPrototype(Element, propName, property) {
return spyElementPrototypes(Element, {
[propName]: property,
});
}
================================================
FILE: components/_util/ActionButton.tsx
================================================
import type { ExtractPropTypes, PropType } from 'vue';
import { shallowRef, onMounted, defineComponent, onBeforeUnmount } from 'vue';
import Button from '../button';
import type { ButtonProps } from '../button';
import type { LegacyButtonType } from '../button/buttonTypes';
import { convertLegacyProps } from '../button/buttonTypes';
import useDestroyed from './hooks/useDestroyed';
import { objectType } from './type';
import { findDOMNode } from './props-util';
const actionButtonProps = {
type: {
type: String as PropType,
},
actionFn: Function as PropType<(...args: any[]) => any | PromiseLike>,
close: Function,
autofocus: Boolean,
prefixCls: String,
buttonProps: objectType(),
emitEvent: Boolean,
quitOnNullishReturnValue: Boolean,
};
export type ActionButtonProps = ExtractPropTypes;
function isThenable(thing?: PromiseLike): boolean {
return !!(thing && thing.then);
}
export default defineComponent({
compatConfig: { MODE: 3 },
name: 'ActionButton',
props: actionButtonProps,
setup(props, { slots }) {
const clickedRef = shallowRef(false);
const buttonRef = shallowRef();
const loading = shallowRef(false);
let timeoutId: any;
const isDestroyed = useDestroyed();
onMounted(() => {
if (props.autofocus) {
timeoutId = setTimeout(() => findDOMNode(buttonRef.value)?.focus?.());
}
});
onBeforeUnmount(() => {
clearTimeout(timeoutId);
});
const onInternalClose = (...args: any[]) => {
props.close?.(...args);
};
const handlePromiseOnOk = (returnValueOfOnOk?: PromiseLike) => {
if (!isThenable(returnValueOfOnOk)) {
return;
}
loading.value = true;
returnValueOfOnOk!.then(
(...args: any[]) => {
if (!isDestroyed.value) {
loading.value = false;
}
onInternalClose(...args);
clickedRef.value = false;
},
(e: Error) => {
// See: https://github.com/ant-design/ant-design/issues/6183
if (!isDestroyed.value) {
loading.value = false;
}
clickedRef.value = false;
return Promise.reject(e);
},
);
};
const onClick = (e: MouseEvent) => {
const { actionFn } = props;
if (clickedRef.value) {
return;
}
clickedRef.value = true;
if (!actionFn) {
onInternalClose();
return;
}
let returnValueOfOnOk: PromiseLike;
if (props.emitEvent) {
returnValueOfOnOk = actionFn(e);
if (props.quitOnNullishReturnValue && !isThenable(returnValueOfOnOk)) {
clickedRef.value = false;
onInternalClose(e);
return;
}
} else if (actionFn.length) {
returnValueOfOnOk = actionFn(props.close);
// https://github.com/ant-design/ant-design/issues/23358
clickedRef.value = false;
} else {
returnValueOfOnOk = actionFn();
if (!returnValueOfOnOk) {
onInternalClose();
return;
}
}
handlePromiseOnOk(returnValueOfOnOk);
};
return () => {
const { type, prefixCls, buttonProps } = props;
return (
);
};
},
});
================================================
FILE: components/_util/BaseInput.tsx
================================================
import type { PropType } from 'vue';
import { computed, defineComponent, shallowRef, ref, watch } from 'vue';
import PropTypes from './vue-types';
import type { BaseInputInnerExpose } from './BaseInputInner';
import BaseInputInner from './BaseInputInner';
import { styleObjectToString } from '../vc-util/Dom/css';
export interface BaseInputExpose {
focus: () => void;
blur: () => void;
input: HTMLInputElement | HTMLTextAreaElement | null;
setSelectionRange: (
start: number,
end: number,
direction?: 'forward' | 'backward' | 'none',
) => void;
select: () => void;
getSelectionStart: () => number | null;
getSelectionEnd: () => number | null;
getScrollTop: () => number | null;
setScrollTop: (scrollTop: number) => void;
}
const BaseInput = defineComponent({
compatConfig: { MODE: 3 },
inheritAttrs: false,
props: {
disabled: PropTypes.looseBool,
type: PropTypes.string,
value: PropTypes.any,
lazy: PropTypes.bool.def(true),
tag: {
type: String as PropType<'input' | 'textarea'>,
default: 'input',
},
size: PropTypes.string,
style: PropTypes.oneOfType([String, Object]),
class: PropTypes.string,
},
emits: [
'change',
'input',
'blur',
'keydown',
'focus',
'compositionstart',
'compositionend',
'keyup',
'paste',
'mousedown',
],
setup(props, { emit, attrs, expose }) {
const inputRef = shallowRef(null);
const renderValue = ref();
const isComposing = ref(false);
watch(
[() => props.value, isComposing],
() => {
if (isComposing.value) return;
renderValue.value = props.value;
},
{ immediate: true },
);
const handleChange = (e: Event) => {
emit('change', e);
};
const onCompositionstart = (e: CompositionEvent) => {
isComposing.value = true;
(e.target as any).composing = true;
emit('compositionstart', e);
};
const onCompositionend = (e: CompositionEvent) => {
isComposing.value = false;
(e.target as any).composing = false;
emit('compositionend', e);
const event = document.createEvent('HTMLEvents');
event.initEvent('input', true, true);
e.target.dispatchEvent(event);
handleChange(e);
};
const handleInput = (e: Event) => {
if (isComposing.value && props.lazy) {
renderValue.value = (e.target as HTMLInputElement).value;
return;
}
emit('input', e);
};
const handleBlur = (e: Event) => {
emit('blur', e);
};
const handleFocus = (e: Event) => {
emit('focus', e);
};
const focus = () => {
if (inputRef.value) {
inputRef.value.focus();
}
};
const blur = () => {
if (inputRef.value) {
inputRef.value.blur();
}
};
const handleKeyDown = (e: KeyboardEvent) => {
emit('keydown', e);
};
const handleKeyUp = (e: KeyboardEvent) => {
emit('keyup', e);
};
const setSelectionRange = (
start: number,
end: number,
direction?: 'forward' | 'backward' | 'none',
) => {
inputRef.value?.setSelectionRange(start, end, direction);
};
const select = () => {
inputRef.value?.select();
};
expose({
focus,
blur,
input: computed(() => inputRef.value?.input),
setSelectionRange,
select,
getSelectionStart: () => inputRef.value?.getSelectionStart(),
getSelectionEnd: () => inputRef.value?.getSelectionEnd(),
getScrollTop: () => inputRef.value?.getScrollTop(),
});
const handleMousedown = (e: MouseEvent) => {
emit('mousedown', e);
};
const handlePaste = (e: ClipboardEvent) => {
emit('paste', e);
};
const styleString = computed(() => {
return props.style && typeof props.style !== 'string'
? styleObjectToString(props.style)
: props.style;
});
return () => {
const { style, lazy, ...restProps } = props;
return (
);
};
},
});
export default BaseInput;
================================================
FILE: components/_util/BaseInputInner.tsx
================================================
import type { PropType } from 'vue';
import { defineComponent, shallowRef } from 'vue';
import PropTypes from './vue-types';
export interface BaseInputInnerExpose {
focus: () => void;
blur: () => void;
input: HTMLInputElement | HTMLTextAreaElement | null;
setSelectionRange: (
start: number,
end: number,
direction?: 'forward' | 'backward' | 'none',
) => void;
select: () => void;
getSelectionStart: () => number | null;
getSelectionEnd: () => number | null;
getScrollTop: () => number | null;
setScrollTop: (scrollTop: number) => void;
}
const BaseInputInner = defineComponent({
compatConfig: { MODE: 3 },
// inheritAttrs: false,
props: {
disabled: PropTypes.looseBool,
type: PropTypes.string,
value: PropTypes.any,
tag: {
type: String as PropType<'input' | 'textarea'>,
default: 'input',
},
size: PropTypes.string,
onChange: Function as PropType<(e: Event) => void>,
onInput: Function as PropType<(e: Event) => void>,
onBlur: Function as PropType<(e: Event) => void>,
onFocus: Function as PropType<(e: Event) => void>,
onKeydown: Function as PropType<(e: Event) => void>,
onCompositionstart: Function as PropType<(e: Event) => void>,
onCompositionend: Function as PropType<(e: Event) => void>,
onKeyup: Function as PropType<(e: Event) => void>,
onPaste: Function as PropType<(e: Event) => void>,
onMousedown: Function as PropType<(e: Event) => void>,
},
emits: [
'change',
'input',
'blur',
'keydown',
'focus',
'compositionstart',
'compositionend',
'keyup',
'paste',
'mousedown',
],
setup(props, { expose }) {
const inputRef = shallowRef(null);
const focus = () => {
if (inputRef.value) {
inputRef.value.focus();
}
};
const blur = () => {
if (inputRef.value) {
inputRef.value.blur();
}
};
const setSelectionRange = (
start: number,
end: number,
direction?: 'forward' | 'backward' | 'none',
) => {
inputRef.value?.setSelectionRange(start, end, direction);
};
const select = () => {
inputRef.value?.select();
};
expose({
focus,
blur,
input: inputRef,
setSelectionRange,
select,
getSelectionStart: () => inputRef.value?.selectionStart,
getSelectionEnd: () => inputRef.value?.selectionEnd,
getScrollTop: () => inputRef.value?.scrollTop,
});
return () => {
const { tag: Tag, value, ...restProps } = props;
return ;
};
},
});
export default BaseInputInner;
================================================
FILE: components/_util/BaseMixin.ts
================================================
import { nextTick } from 'vue';
import { getOptionProps } from './props-util';
export default {
methods: {
setState(state = {}, callback: () => any) {
let newState = typeof state === 'function' ? state(this.$data, this.$props) : state;
if (this.getDerivedStateFromProps) {
const s = this.getDerivedStateFromProps(getOptionProps(this), {
...this.$data,
...newState,
});
if (s === null) {
return;
} else {
newState = { ...newState, ...(s || {}) };
}
}
Object.assign(this.$data, newState);
if (this._.isMounted) {
this.$forceUpdate();
}
nextTick(() => {
callback && callback();
});
},
__emit() {
// 直接调用事件,底层组件不需要vueTool记录events
// eslint-disable-next-line prefer-rest-params
const args = [].slice.call(arguments, 0);
let eventName = args[0];
eventName = `on${eventName[0].toUpperCase()}${eventName.substring(1)}`;
const event = this.$props[eventName] || this.$attrs[eventName];
if (args.length && event) {
if (Array.isArray(event)) {
for (let i = 0, l = event.length; i < l; i++) {
event[i](...args.slice(1));
}
} else {
event(...args.slice(1));
}
}
},
},
};
================================================
FILE: components/_util/EventInterface.ts
================================================
export type FocusEventHandler = (e: FocusEvent) => void;
export type MouseEventHandler = (e: MouseEvent) => void;
export type KeyboardEventHandler = (e: KeyboardEvent) => void;
export type CompositionEventHandler = (e: CompositionEvent) => void;
export type ClipboardEventHandler = (e: ClipboardEvent) => void;
export type ChangeEventHandler = (e: ChangeEvent) => void;
export type WheelEventHandler = (e: WheelEvent) => void;
export type ChangeEvent = Event & {
target: {
value?: string | undefined;
};
};
export type CheckboxChangeEvent = Event & {
target: {
checked?: boolean;
};
};
export type EventHandler = (...args: any[]) => void;
================================================
FILE: components/_util/KeyCode.ts
================================================
/**
* @ignore
* some key-codes definition and utils from closure-library
* @author yiminghe@gmail.com
*/
const KeyCode = {
/**
* MAC_ENTER
*/
MAC_ENTER: 3,
/**
* BACKSPACE
*/
BACKSPACE: 8,
/**
* TAB
*/
TAB: 9,
/**
* NUMLOCK on FF/Safari Mac
*/
NUM_CENTER: 12, // NUMLOCK on FF/Safari Mac
/**
* ENTER
*/
ENTER: 13,
/**
* SHIFT
*/
SHIFT: 16,
/**
* CTRL
*/
CTRL: 17,
/**
* ALT
*/
ALT: 18,
/**
* PAUSE
*/
PAUSE: 19,
/**
* CAPS_LOCK
*/
CAPS_LOCK: 20,
/**
* ESC
*/
ESC: 27,
/**
* SPACE
*/
SPACE: 32,
/**
* PAGE_UP
*/
PAGE_UP: 33, // also NUM_NORTH_EAST
/**
* PAGE_DOWN
*/
PAGE_DOWN: 34, // also NUM_SOUTH_EAST
/**
* END
*/
END: 35, // also NUM_SOUTH_WEST
/**
* HOME
*/
HOME: 36, // also NUM_NORTH_WEST
/**
* LEFT
*/
LEFT: 37, // also NUM_WEST
/**
* UP
*/
UP: 38, // also NUM_NORTH
/**
* RIGHT
*/
RIGHT: 39, // also NUM_EAST
/**
* DOWN
*/
DOWN: 40, // also NUM_SOUTH
/**
* PRINT_SCREEN
*/
PRINT_SCREEN: 44,
/**
* INSERT
*/
INSERT: 45, // also NUM_INSERT
/**
* DELETE
*/
DELETE: 46, // also NUM_DELETE
/**
* ZERO
*/
ZERO: 48,
/**
* ONE
*/
ONE: 49,
/**
* TWO
*/
TWO: 50,
/**
* THREE
*/
THREE: 51,
/**
* FOUR
*/
FOUR: 52,
/**
* FIVE
*/
FIVE: 53,
/**
* SIX
*/
SIX: 54,
/**
* SEVEN
*/
SEVEN: 55,
/**
* EIGHT
*/
EIGHT: 56,
/**
* NINE
*/
NINE: 57,
/**
* QUESTION_MARK
*/
QUESTION_MARK: 63, // needs localization
/**
* A
*/
A: 65,
/**
* B
*/
B: 66,
/**
* C
*/
C: 67,
/**
* D
*/
D: 68,
/**
* E
*/
E: 69,
/**
* F
*/
F: 70,
/**
* G
*/
G: 71,
/**
* H
*/
H: 72,
/**
* I
*/
I: 73,
/**
* J
*/
J: 74,
/**
* K
*/
K: 75,
/**
* L
*/
L: 76,
/**
* M
*/
M: 77,
/**
* N
*/
N: 78,
/**
* O
*/
O: 79,
/**
* P
*/
P: 80,
/**
* Q
*/
Q: 81,
/**
* R
*/
R: 82,
/**
* S
*/
S: 83,
/**
* T
*/
T: 84,
/**
* U
*/
U: 85,
/**
* V
*/
V: 86,
/**
* W
*/
W: 87,
/**
* X
*/
X: 88,
/**
* Y
*/
Y: 89,
/**
* Z
*/
Z: 90,
/**
* META
*/
META: 91, // WIN_KEY_LEFT
/**
* WIN_KEY_RIGHT
*/
WIN_KEY_RIGHT: 92,
/**
* CONTEXT_MENU
*/
CONTEXT_MENU: 93,
/**
* NUM_ZERO
*/
NUM_ZERO: 96,
/**
* NUM_ONE
*/
NUM_ONE: 97,
/**
* NUM_TWO
*/
NUM_TWO: 98,
/**
* NUM_THREE
*/
NUM_THREE: 99,
/**
* NUM_FOUR
*/
NUM_FOUR: 100,
/**
* NUM_FIVE
*/
NUM_FIVE: 101,
/**
* NUM_SIX
*/
NUM_SIX: 102,
/**
* NUM_SEVEN
*/
NUM_SEVEN: 103,
/**
* NUM_EIGHT
*/
NUM_EIGHT: 104,
/**
* NUM_NINE
*/
NUM_NINE: 105,
/**
* NUM_MULTIPLY
*/
NUM_MULTIPLY: 106,
/**
* NUM_PLUS
*/
NUM_PLUS: 107,
/**
* NUM_MINUS
*/
NUM_MINUS: 109,
/**
* NUM_PERIOD
*/
NUM_PERIOD: 110,
/**
* NUM_DIVISION
*/
NUM_DIVISION: 111,
/**
* F1
*/
F1: 112,
/**
* F2
*/
F2: 113,
/**
* F3
*/
F3: 114,
/**
* F4
*/
F4: 115,
/**
* F5
*/
F5: 116,
/**
* F6
*/
F6: 117,
/**
* F7
*/
F7: 118,
/**
* F8
*/
F8: 119,
/**
* F9
*/
F9: 120,
/**
* F10
*/
F10: 121,
/**
* F11
*/
F11: 122,
/**
* F12
*/
F12: 123,
/**
* NUMLOCK
*/
NUMLOCK: 144,
/**
* SEMICOLON
*/
SEMICOLON: 186, // needs localization
/**
* DASH
*/
DASH: 189, // needs localization
/**
* EQUALS
*/
EQUALS: 187, // needs localization
/**
* COMMA
*/
COMMA: 188, // needs localization
/**
* PERIOD
*/
PERIOD: 190, // needs localization
/**
* SLASH
*/
SLASH: 191, // needs localization
/**
* APOSTROPHE
*/
APOSTROPHE: 192, // needs localization
/**
* SINGLE_QUOTE
*/
SINGLE_QUOTE: 222, // needs localization
/**
* OPEN_SQUARE_BRACKET
*/
OPEN_SQUARE_BRACKET: 219, // needs localization
/**
* BACKSLASH
*/
BACKSLASH: 220, // needs localization
/**
* CLOSE_SQUARE_BRACKET
*/
CLOSE_SQUARE_BRACKET: 221, // needs localization
/**
* WIN_KEY
*/
WIN_KEY: 224,
/**
* MAC_FF_META
*/
MAC_FF_META: 224, // Firefox (Gecko) fires this for the meta key instead of 91
/**
* WIN_IME
*/
WIN_IME: 229,
// ======================== Function ========================
/**
* whether text and modified key is entered at the same time.
*/
isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e: KeyboardEvent) {
const { keyCode } = e;
if (
(e.altKey && !e.ctrlKey) ||
e.metaKey ||
// Function keys don't generate text
(keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12)
) {
return false;
}
// The following keys are quite harmless, even in combination with
// CTRL, ALT or SHIFT.
switch (keyCode) {
case KeyCode.ALT:
case KeyCode.CAPS_LOCK:
case KeyCode.CONTEXT_MENU:
case KeyCode.CTRL:
case KeyCode.DOWN:
case KeyCode.END:
case KeyCode.ESC:
case KeyCode.HOME:
case KeyCode.INSERT:
case KeyCode.LEFT:
case KeyCode.MAC_FF_META:
case KeyCode.META:
case KeyCode.NUMLOCK:
case KeyCode.NUM_CENTER:
case KeyCode.PAGE_DOWN:
case KeyCode.PAGE_UP:
case KeyCode.PAUSE:
case KeyCode.PRINT_SCREEN:
case KeyCode.RIGHT:
case KeyCode.SHIFT:
case KeyCode.UP:
case KeyCode.WIN_KEY:
case KeyCode.WIN_KEY_RIGHT:
return false;
default:
return true;
}
},
/**
* whether character is entered.
*/
isCharacterKey: function isCharacterKey(keyCode: number) {
if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {
return true;
}
if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {
return true;
}
if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {
return true;
}
// Safari sends zero key code for non-latin characters.
if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {
return true;
}
switch (keyCode) {
case KeyCode.SPACE:
case KeyCode.QUESTION_MARK:
case KeyCode.NUM_PLUS:
case KeyCode.NUM_MINUS:
case KeyCode.NUM_PERIOD:
case KeyCode.NUM_DIVISION:
case KeyCode.SEMICOLON:
case KeyCode.DASH:
case KeyCode.EQUALS:
case KeyCode.COMMA:
case KeyCode.PERIOD:
case KeyCode.SLASH:
case KeyCode.APOSTROPHE:
case KeyCode.SINGLE_QUOTE:
case KeyCode.OPEN_SQUARE_BRACKET:
case KeyCode.BACKSLASH:
case KeyCode.CLOSE_SQUARE_BRACKET:
return true;
default:
return false;
}
},
};
export default KeyCode;
================================================
FILE: components/_util/Portal.tsx
================================================
import PropTypes from './vue-types';
import {
defineComponent,
nextTick,
onBeforeMount,
onMounted,
onUpdated,
Teleport,
watch,
} from 'vue';
import { useInjectPortal } from '../vc-trigger/context';
export default defineComponent({
compatConfig: { MODE: 3 },
name: 'Portal',
inheritAttrs: false,
props: {
getContainer: PropTypes.func.isRequired,
didUpdate: Function,
},
setup(props, { slots }) {
let isSSR = true;
// getContainer 不会改变,不用响应式
let container: HTMLElement;
const { shouldRender } = useInjectPortal();
function setContainer() {
if (shouldRender.value) {
container = props.getContainer();
}
}
onBeforeMount(() => {
isSSR = false;
// drawer
setContainer();
});
onMounted(() => {
if (container) return;
// https://github.com/vueComponent/ant-design-vue/issues/6937
setContainer();
});
const stopWatch = watch(shouldRender, () => {
if (shouldRender.value && !container) {
container = props.getContainer();
}
if (container) {
stopWatch();
}
});
onUpdated(() => {
nextTick(() => {
if (shouldRender.value) {
props.didUpdate?.(props);
}
});
});
// onBeforeUnmount(() => {
// if (container && container.parentNode) {
// container.parentNode.removeChild(container);
// }
// });
return () => {
if (!shouldRender.value) return null;
if (isSSR) {
return slots.default?.();
}
return container ? : null;
};
},
});
================================================
FILE: components/_util/PortalWrapper.tsx
================================================
import PropTypes from './vue-types';
import Portal from './Portal';
import {
defineComponent,
shallowRef,
watch,
onMounted,
onBeforeUnmount,
onUpdated,
nextTick,
computed,
} from 'vue';
import canUseDom from './canUseDom';
import raf from './raf';
import { booleanType } from './type';
import useScrollLocker from './hooks/useScrollLocker';
let openCount = 0;
const supportDom = canUseDom();
/** @private Test usage only */
export function getOpenCount() {
return process.env.NODE_ENV === 'test' ? openCount : 0;
}
const getParent = (getContainer: GetContainer) => {
if (!supportDom) {
return null;
}
if (getContainer) {
if (typeof getContainer === 'string') {
return document.querySelectorAll(getContainer)[0] as HTMLElement;
}
if (typeof getContainer === 'function') {
return getContainer();
}
if (typeof getContainer === 'object' && getContainer instanceof window.HTMLElement) {
return getContainer;
}
}
return document.body;
};
export type GetContainer = string | HTMLElement | (() => HTMLElement);
export default defineComponent({
compatConfig: { MODE: 3 },
name: 'PortalWrapper',
inheritAttrs: false,
props: {
wrapperClassName: String,
forceRender: { type: Boolean, default: undefined },
getContainer: PropTypes.any,
visible: { type: Boolean, default: undefined },
autoLock: booleanType(),
didUpdate: Function,
},
setup(props, { slots }) {
const container = shallowRef();
const componentRef = shallowRef();
const rafId = shallowRef();
const triggerUpdate = shallowRef(1);
const defaultContainer = canUseDom() && document.createElement('div');
const removeCurrentContainer = () => {
// Portal will remove from `parentNode`.
// Let's handle this again to avoid refactor issue.
if (container.value === defaultContainer) {
container.value?.parentNode?.removeChild(container.value);
}
container.value = null;
};
let parent: HTMLElement = null;
const attachToParent = (force = false) => {
if (force || (container.value && !container.value.parentNode)) {
parent = getParent(props.getContainer);
if (parent) {
parent.appendChild(container.value);
return true;
}
return false;
}
return true;
};
const getContainer = () => {
if (!supportDom) {
return null;
}
if (!container.value) {
container.value = defaultContainer;
attachToParent(true);
}
setWrapperClassName();
return container.value;
};
const setWrapperClassName = () => {
const { wrapperClassName } = props;
if (container.value && wrapperClassName && wrapperClassName !== container.value.className) {
container.value.className = wrapperClassName;
}
};
onUpdated(() => {
setWrapperClassName();
attachToParent();
});
useScrollLocker(
computed(() => {
return (
props.autoLock &&
props.visible &&
canUseDom() &&
(container.value === document.body || container.value === defaultContainer)
);
}),
);
onMounted(() => {
let init = false;
watch(
[() => props.visible, () => props.getContainer],
([visible, getContainer], [prevVisible, prevGetContainer]) => {
// Update count
if (supportDom) {
parent = getParent(props.getContainer);
if (parent === document.body) {
if (visible && !prevVisible) {
openCount += 1;
} else if (init) {
openCount -= 1;
}
}
}
if (init) {
// Clean up container if needed
const getContainerIsFunc =
typeof getContainer === 'function' && typeof prevGetContainer === 'function';
if (
getContainerIsFunc
? getContainer.toString() !== prevGetContainer.toString()
: getContainer !== prevGetContainer
) {
removeCurrentContainer();
}
}
init = true;
},
{ immediate: true, flush: 'post' },
);
nextTick(() => {
if (!attachToParent()) {
rafId.value = raf(() => {
triggerUpdate.value += 1;
});
}
});
});
onBeforeUnmount(() => {
const { visible } = props;
if (supportDom && parent === document.body) {
// 离开时不会 render, 导到离开时数值不变,改用 func 。。
openCount = visible && openCount ? openCount - 1 : openCount;
}
removeCurrentContainer();
raf.cancel(rafId.value);
});
return () => {
const { forceRender, visible } = props;
let portal = null;
const childProps = {
getOpenCount: () => openCount,
getContainer,
};
if (triggerUpdate.value && (forceRender || visible || componentRef.value)) {
portal = (
slots.default?.(childProps) }}
>
);
}
return portal;
};
},
});
================================================
FILE: components/_util/__mocks__/Portal.tsx
================================================
import { defineComponent } from 'vue';
export default defineComponent({
compatConfig: { MODE: 3 },
name: 'Portal',
inheritAttrs: false,
props: ['getContainer'],
setup(_props, { slots }) {
return () => {
return slots.default?.();
};
},
});
================================================
FILE: components/_util/__mocks__/RenderSlot.tsx
================================================
import { defineComponent } from 'vue';
import { customRenderSlot } from '../vnode';
export default defineComponent({
name: 'RenderSlot',
setup(_props, { slots }) {
return () => {
return customRenderSlot(slots, 'default', {}, () => ['default value']);
};
},
});
================================================
FILE: components/_util/__tests__/easings.test.js
================================================
import { easeInOutCubic } from '../easings';
describe('Test easings', () => {
it('easeInOutCubic return value', () => {
const nums = [];
// eslint-disable-next-line no-plusplus
for (let index = 0; index < 5; index++) {
nums.push(easeInOutCubic(index, 1, 5, 4));
}
expect(nums).toEqual([1, 1.25, 3, 4.75, 5]);
});
});
================================================
FILE: components/_util/__tests__/scrollTo.test.js
================================================
import scrollTo from '../scrollTo';
describe('Test ScrollTo function', () => {
let dateNowMock;
beforeAll(() => {
jest.useFakeTimers();
});
afterAll(() => {
jest.useRealTimers();
});
beforeEach(() => {
dateNowMock = jest
.spyOn(Date, 'now')
.mockImplementationOnce(() => 0)
.mockImplementationOnce(() => 1000);
});
afterEach(() => {
dateNowMock.mockRestore();
});
it('test scrollTo', async () => {
const scrollToSpy = jest.spyOn(window, 'scrollTo').mockImplementation((x, y) => {
window.scrollY = y;
window.pageYOffset = y;
});
scrollTo(1000);
jest.runAllTimers();
expect(window.pageYOffset).toBe(1000);
scrollToSpy.mockRestore();
});
it('test callback - option', async () => {
const cbMock = jest.fn();
scrollTo(1000, {
callback: cbMock,
});
jest.runAllTimers();
expect(cbMock).toHaveBeenCalledTimes(1);
});
it('test getContainer - option', async () => {
const div = document.createElement('div');
scrollTo(1000, {
getContainer: () => div,
});
jest.runAllTimers();
expect(div.scrollTop).toBe(1000);
});
});
================================================
FILE: components/_util/__tests__/unreachableException.test.js
================================================
import UnreachableException from '../unreachableException';
describe('UnreachableException', () => {
it('error thrown matches snapshot', () => {
const exception = new UnreachableException('some value');
expect(exception.error.message).toMatchInlineSnapshot(`"unreachable case: \\"some value\\""`);
});
});
================================================
FILE: components/_util/__tests__/vNode.test.js
================================================
import RenderSlot from '../__mocks__/RenderSlot';
import { mount } from '@vue/test-utils';
import { nextTick } from 'vue';
describe('render slot content', () => {
it('renders slot content', () => {
const wrapper = mount(RenderSlot, {
slots: {
default: () => 'This is slot content',
},
});
expect(wrapper.html()).toContain('This is slot content');
});
it('render default value when slot is fragment', async () => {
const wrapper = mount(RenderSlot, {
slots: {
default: () => <>>,
},
});
await nextTick();
expect(wrapper.html()).toContain('default value');
});
});
================================================
FILE: components/_util/canUseDom.ts
================================================
function canUseDom() {
return !!(typeof window !== 'undefined' && window.document && window.document.createElement);
}
export default canUseDom;
================================================
FILE: components/_util/classNames.ts
================================================
import { isArray, isString, isObject } from './util';
function classNames(...args: any[]) {
const classes = [];
for (let i = 0; i < args.length; i++) {
const value = args[i];
if (!value) continue;
if (isString(value)) {
classes.push(value);
} else if (isArray(value)) {
for (let i = 0; i < value.length; i++) {
const inner = classNames(value[i]);
if (inner) {
classes.push(inner);
}
}
} else if (isObject(value)) {
for (const name in value) {
if (value[name]) {
classes.push(name);
}
}
}
}
return classes.join(' ');
}
export default classNames;
================================================
FILE: components/_util/collapseMotion.tsx
================================================
import { nextTick } from 'vue';
import { addClass, removeClass } from '../vc-util/Dom/class';
import type { CSSMotionProps } from './transition';
const collapseMotion = (name = 'ant-motion-collapse', appear = true): CSSMotionProps => {
return {
name,
appear,
css: true,
onBeforeEnter: (node: HTMLDivElement) => {
node.style.height = '0px';
node.style.opacity = '0';
addClass(node, name);
},
onEnter: (node: HTMLDivElement) => {
nextTick(() => {
node.style.height = `${node.scrollHeight}px`;
node.style.opacity = '1';
});
},
onAfterEnter: (node: HTMLDivElement) => {
if (node) {
removeClass(node, name);
node.style.height = null;
node.style.opacity = null;
}
},
onBeforeLeave: (node: HTMLDivElement) => {
addClass(node, name);
node.style.height = `${node.offsetHeight}px`;
node.style.opacity = null;
},
onLeave: (node: HTMLDivElement) => {
setTimeout(() => {
node.style.height = '0px';
node.style.opacity = '0';
});
},
onAfterLeave: (node: HTMLDivElement) => {
if (node) {
removeClass(node, name);
if (node.style) {
node.style.height = null;
node.style.opacity = null;
}
}
},
};
};
export default collapseMotion;
================================================
FILE: components/_util/colors.ts
================================================
import type { PresetColorKey } from '../theme/interface';
import { PresetColors } from '../theme/interface';
type InverseColor = `${PresetColorKey}-inverse`;
const inverseColors = PresetColors.map(color => `${color}-inverse`);
export const PresetStatusColorTypes = [
'success',
'processing',
'error',
'default',
'warning',
] as const;
export type PresetColorType = PresetColorKey | InverseColor;
export type PresetStatusColorType = (typeof PresetStatusColorTypes)[number];
/**
* determine if the color keyword belongs to the `Ant Design` {@link PresetColors}.
* @param color color to be judged
* @param includeInverse whether to include reversed colors
*/
export function isPresetColor(color?: any, includeInverse = true) {
if (includeInverse) {
return [...inverseColors, ...PresetColors].includes(color);
}
return PresetColors.includes(color);
}
export function isPresetStatusColor(color?: any): color is PresetStatusColorType {
return PresetStatusColorTypes.includes(color);
}
================================================
FILE: components/_util/component-classes.ts
================================================
/**
* source by `component-classes`
* https://github.com/component/classes.git
*/
import indexOf from 'lodash-es/indexOf';
/**
* Whitespace regexp.
*/
const re = /\s+/;
export class ClassList {
el: Element;
list: DOMTokenList;
constructor(el: Element) {
if (!el || !el.nodeType) {
throw new Error('A DOM element reference is required');
}
this.el = el;
this.list = el.classList;
}
array() {
const className = this.el.getAttribute('class') || '';
const str = className.replace(/^\s+|\s+$/g, '');
const arr = str.split(re);
if ('' === arr[0]) arr.shift();
return arr;
}
/**
* Add class `name` if not already present.
*
* @param {String} name
* @return {ClassList}
* @api public
*/
add(name: string): ClassList {
// classList
if (this.list) {
this.list.add(name);
return this;
}
// fallback
const arr = this.array();
const i = indexOf(arr, name);
if (!~i) arr.push(name);
this.el.className = arr.join(' ');
return this;
}
/**
* Remove class `name` when present, or
* pass a regular expression to remove
* any which match.
*
* @param {String|RegExp} name
* @return {ClassList}
* @api public
*/
remove(name: string | RegExp): ClassList {
if ('[object RegExp]' === toString.call(name)) {
return this._removeMatching(name as RegExp);
}
// classList
if (this.list) {
this.list.remove(name as string);
return this;
}
// fallback
const arr = this.array();
const i = indexOf(arr, name);
if (~i) arr.splice(i, 1);
this.el.className = arr.join(' ');
return this;
}
/**
* Remove all classes matching `re`.
*
* @param {RegExp} re
* @return {ClassList}
* @api private
*/
_removeMatching(re: RegExp): ClassList {
const arr = this.array();
for (let i = 0; i < arr.length; i++) {
if (re.test(arr[i])) {
this.remove(arr[i]);
}
}
return this;
}
/**
* Toggle class `name`, can force state via `force`.
*
* For browsers that support classList, but do not support `force` yet,
* the mistake will be detected and corrected.
*
* @param {String} name
* @param {Boolean} force
* @return {ClassList}
* @api public
*/
toggle(name: string, force: boolean): ClassList {
// classList
if (this.list) {
if ('undefined' !== typeof force) {
if (force !== this.list.toggle(name, force)) {
this.list.toggle(name); // toggle again to correct
}
} else {
this.list.toggle(name);
}
return this;
}
// fallback
if ('undefined' !== typeof force) {
if (!force) {
this.remove(name);
} else {
this.add(name);
}
} else {
if (this.has(name)) {
this.remove(name);
} else {
this.add(name);
}
}
return this;
}
/**
* Check if class `name` is present.
*
* @param {String} name
* @api public
*/
has(name: string) {
return this.list ? this.list.contains(name) : !!~indexOf(this.array(), name);
}
/**
* Check if class `name` is present.
*
* @param {String} name
* @api public
*/
contains(name: string) {
return this.has(name);
}
}
/**
* Wrap `el` in a `ClassList`.
*
* @param {Element} el
* @return {ClassList}
* @api public
*/
export default function (el: Element): ClassList {
return new ClassList(el);
}
================================================
FILE: components/_util/copy-to-clipboard/index.ts
================================================
import deselectCurrent from './toggle-selection';
interface Options {
debug?: boolean;
message?: string;
format?: string; // MIME type
onCopy?: (clipboardData: object) => void;
}
const clipboardToIE11Formatting = {
'text/plain': 'Text',
'text/html': 'Url',
default: 'Text',
};
const defaultMessage = 'Copy to clipboard: #{key}, Enter';
function format(message: string) {
const copyKey = (/mac os x/i.test(navigator.userAgent) ? '⌘' : 'Ctrl') + '+C';
return message.replace(/#{\s*key\s*}/g, copyKey);
}
function copy(text: string, options?: Options): boolean {
let message,
reselectPrevious,
range,
selection,
mark,
success = false;
if (!options) {
options = {};
}
const debug = options.debug || false;
try {
reselectPrevious = deselectCurrent();
range = document.createRange();
selection = document.getSelection();
mark = document.createElement('span');
mark.textContent = text;
// reset user styles for span element
mark.style.all = 'unset';
// prevents scrolling to the end of the page
mark.style.position = 'fixed';
mark.style.top = 0;
mark.style.clip = 'rect(0, 0, 0, 0)';
// used to preserve spaces and line breaks
mark.style.whiteSpace = 'pre';
// do not inherit user-select (it may be `none`)
mark.style.webkitUserSelect = 'text';
mark.style.MozUserSelect = 'text';
mark.style.msUserSelect = 'text';
mark.style.userSelect = 'text';
mark.addEventListener('copy', function (e) {
e.stopPropagation();
if (options.format) {
e.preventDefault();
if (typeof e.clipboardData === 'undefined') {
// IE 11
debug && console.warn('unable to use e.clipboardData');
debug && console.warn('trying IE specific stuff');
(window as any).clipboardData.clearData();
const format =
clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting['default'];
(window as any).clipboardData.setData(format, text);
} else {
// all other browsers
e.clipboardData.clearData();
e.clipboardData.setData(options.format, text);
}
}
if (options.onCopy) {
e.preventDefault();
options.onCopy(e.clipboardData);
}
});
document.body.appendChild(mark);
range.selectNodeContents(mark);
selection.addRange(range);
const successful = document.execCommand('copy');
if (!successful) {
throw new Error('copy command was unsuccessful');
}
success = true;
} catch (err) {
debug && console.error('unable to copy using execCommand: ', err);
debug && console.warn('trying IE specific stuff');
try {
(window as any).clipboardData.setData(options.format || 'text', text);
options.onCopy && options.onCopy((window as any).clipboardData);
success = true;
} catch (err) {
debug && console.error('unable to copy using clipboardData: ', err);
debug && console.error('falling back to prompt');
message = format('message' in options ? options.message : defaultMessage);
window.prompt(message, text);
}
} finally {
if (selection) {
if (typeof selection.removeRange == 'function') {
selection.removeRange(range);
} else {
selection.removeAllRanges();
}
}
if (mark) {
document.body.removeChild(mark);
}
reselectPrevious();
}
return success;
}
export default copy;
================================================
FILE: components/_util/copy-to-clipboard/toggle-selection.ts
================================================
// copy from https://github.com/sudodoki/toggle-selection
// refactor to esm
const deselectCurrent = (): (() => void) => {
const selection = document.getSelection();
if (!selection.rangeCount) {
return function () {};
}
let active = document.activeElement as any;
const ranges = [];
for (let i = 0; i < selection.rangeCount; i++) {
ranges.push(selection.getRangeAt(i));
}
switch (
active.tagName.toUpperCase() // .toUpperCase handles XHTML
) {
case 'INPUT':
case 'TEXTAREA':
active.blur();
break;
default:
active = null;
break;
}
selection.removeAllRanges();
return function () {
selection.type === 'Caret' && selection.removeAllRanges();
if (!selection.rangeCount) {
ranges.forEach(function (range) {
selection.addRange(range);
});
}
active && active.focus();
};
};
export default deselectCurrent;
================================================
FILE: components/_util/createContext.ts
================================================
import { inject, provide, reactive, watchEffect } from 'vue';
function createContext>(defaultValue?: T) {
const contextKey = Symbol('contextKey');
const useProvide = (props: T, newProps?: T) => {
const mergedProps = reactive({} as T);
provide(contextKey, mergedProps);
watchEffect(() => {
Object.assign(mergedProps, props, newProps || {});
});
return mergedProps;
};
const useInject = () => {
return inject(contextKey, defaultValue as T) || ({} as T);
};
return {
useProvide,
useInject,
};
}
export default createContext;
================================================
FILE: components/_util/createRef.ts
================================================
export interface RefObject extends Function {
current?: any;
}
function createRef(): any {
const func: RefObject = (node: any) => {
func.current = node;
};
return func;
}
export function fillRef(ref, node: T) {
if (typeof ref === 'function') {
ref(node);
} else if (typeof ref === 'object' && ref && 'current' in ref) {
(ref as any).current = node;
}
}
/**
* Merge refs into one ref function to support ref passing.
*/
export function composeRef(...refs: any[]) {
return (node: T) => {
refs.forEach(ref => {
fillRef(ref, node);
});
};
}
export default createRef;
================================================
FILE: components/_util/cssinjs/Cache.ts
================================================
export type KeyType = string | number;
type ValueType = [number, any]; // [times, realValue]
const SPLIT = '%';
class Entity {
instanceId: string;
constructor(instanceId: string) {
this.instanceId = instanceId;
}
/** @private Internal cache map. Do not access this directly */
cache = new Map();
get(keys: KeyType[] | string): ValueType | null {
return this.cache.get(Array.isArray(keys) ? keys.join(SPLIT) : keys) || null;
}
update(keys: KeyType[] | string, valueFn: (origin: ValueType | null) => ValueType | null) {
const path = Array.isArray(keys) ? keys.join(SPLIT) : keys;
const prevValue = this.cache.get(path)!;
const nextValue = valueFn(prevValue);
if (nextValue === null) {
this.cache.delete(path);
} else {
this.cache.set(path, nextValue);
}
}
}
export default Entity;
================================================
FILE: components/_util/cssinjs/Keyframes.ts
================================================
import type { CSSInterpolation } from './hooks/useStyleRegister';
class Keyframe {
private name: string;
style: CSSInterpolation;
constructor(name: string, style: CSSInterpolation) {
this.name = name;
this.style = style;
}
getName(hashId = ''): string {
return hashId ? `${hashId}-${this.name}` : this.name;
}
_keyframe = true;
}
export default Keyframe;
================================================
FILE: components/_util/cssinjs/StyleContext.tsx
================================================
import type { ShallowRef, ExtractPropTypes, InjectionKey, Ref } from 'vue';
import {
provide,
defineComponent,
unref,
inject,
watch,
shallowRef,
getCurrentInstance,
} from 'vue';
import CacheEntity from './Cache';
import type { Linter } from './linters/interface';
import type { Transformer } from './transformers/interface';
import { arrayType, booleanType, objectType, someType, stringType, withInstall } from '../type';
export const ATTR_TOKEN = 'data-token-hash';
export const ATTR_MARK = 'data-css-hash';
export const ATTR_CACHE_PATH = 'data-cache-path';
// Mark css-in-js instance in style element
export const CSS_IN_JS_INSTANCE = '__cssinjs_instance__';
export function createCache() {
const cssinjsInstanceId = Math.random().toString(12).slice(2);
// Tricky SSR: Move all inline style to the head.
// PS: We do not recommend tricky mode.
if (typeof document !== 'undefined' && document.head && document.body) {
const styles = document.body.querySelectorAll(`style[${ATTR_MARK}]`) || [];
const { firstChild } = document.head;
Array.from(styles).forEach(style => {
(style as any)[CSS_IN_JS_INSTANCE] = (style as any)[CSS_IN_JS_INSTANCE] || cssinjsInstanceId;
// Not force move if no head
// Not force move if no head
if ((style as any)[CSS_IN_JS_INSTANCE] === cssinjsInstanceId) {
document.head.insertBefore(style, firstChild);
}
});
// Deduplicate of moved styles
const styleHash: Record = {};
Array.from(document.querySelectorAll(`style[${ATTR_MARK}]`)).forEach(style => {
const hash = style.getAttribute(ATTR_MARK)!;
if (styleHash[hash]) {
if ((style as any)[CSS_IN_JS_INSTANCE] === cssinjsInstanceId) {
style.parentNode?.removeChild(style);
}
} else {
styleHash[hash] = true;
}
});
}
return new CacheEntity(cssinjsInstanceId);
}
export type HashPriority = 'low' | 'high';
export interface StyleContextProps {
autoClear?: boolean;
/** @private Test only. Not work in production. */
mock?: 'server' | 'client';
/**
* Only set when you need ssr to extract style on you own.
* If not provided, it will auto create on the end of Provider in server side.
*/
cache: CacheEntity;
/** Tell children that this context is default generated context */
defaultCache: boolean;
/** Use `:where` selector to reduce hashId css selector priority */
hashPriority?: HashPriority;
/** Tell cssinjs where to inject style in */
container?: Element | ShadowRoot;
/** Component wil render inline `` for fallback in SSR. Not recommend. */
ssrInline?: boolean;
/** Transform css before inject in document. Please note that `transformers` do not support dynamic update */
transformers?: Transformer[];
/**
* Linters to lint css before inject in document.
* Styles will be linted after transforming.
* Please note that `linters` do not support dynamic update.
*/
linters?: Linter[];
}
const StyleContextKey: InjectionKey>> =
Symbol('StyleContextKey');
export type UseStyleProviderProps = Partial | Ref>;
// fix: https://github.com/vueComponent/ant-design-vue/issues/7023
const getCache = () => {
const instance = getCurrentInstance();
let cache: CacheEntity;
if (instance && instance.appContext) {
const globalCache = instance.appContext?.config?.globalProperties?.__ANTDV_CSSINJS_CACHE__;
if (globalCache) {
cache = globalCache;
} else {
cache = createCache();
if (instance.appContext.config.globalProperties) {
instance.appContext.config.globalProperties.__ANTDV_CSSINJS_CACHE__ = cache;
}
}
} else {
cache = createCache();
}
return cache;
};
const defaultStyleContext: StyleContextProps = {
cache: createCache(),
defaultCache: true,
hashPriority: 'low',
};
// fix: https://github.com/vueComponent/ant-design-vue/issues/6912
export const useStyleInject = () => {
const cache = getCache();
return inject(StyleContextKey, shallowRef({ ...defaultStyleContext, cache }));
};
export const useStyleProvider = (props: UseStyleProviderProps) => {
const parentContext = useStyleInject();
const context = shallowRef>({
...defaultStyleContext,
cache: createCache(),
});
watch(
[() => unref(props), parentContext],
() => {
const mergedContext: Partial = {
...parentContext.value,
};
const propsValue = unref(props);
Object.keys(propsValue).forEach(key => {
const value = propsValue[key];
if (propsValue[key] !== undefined) {
mergedContext[key] = value;
}
});
const { cache } = propsValue;
mergedContext.cache = mergedContext.cache || createCache();
mergedContext.defaultCache = !cache && parentContext.value.defaultCache;
context.value = mergedContext;
},
{ immediate: true },
);
provide(StyleContextKey, context);
return context;
};
export const styleProviderProps = () => ({
autoClear: booleanType(),
/** @private Test only. Not work in production. */
mock: stringType<'server' | 'client'>(),
/**
* Only set when you need ssr to extract style on you own.
* If not provided, it will auto create on the end of Provider in server side.
*/
cache: objectType(),
/** Tell children that this context is default generated context */
defaultCache: booleanType(),
/** Use `:where` selector to reduce hashId css selector priority */
hashPriority: stringType(),
/** Tell cssinjs where to inject style in */
container: someType(),
/** Component wil render inline `` for fallback in SSR. Not recommend. */
ssrInline: booleanType(),
/** Transform css before inject in document. Please note that `transformers` do not support dynamic update */
transformers: arrayType(),
/**
* Linters to lint css before inject in document.
* Styles will be linted after transforming.
* Please note that `linters` do not support dynamic update.
*/
linters: arrayType(),
});
export type StyleProviderProps = Partial>>;
export const StyleProvider = withInstall(
defineComponent({
name: 'AStyleProvider',
inheritAttrs: false,
props: styleProviderProps(),
setup(props, { slots }) {
useStyleProvider(props);
return () => slots.default?.();
},
}),
);
export default {
useStyleInject,
useStyleProvider,
StyleProvider,
};
================================================
FILE: components/_util/cssinjs/hooks/useCacheToken.tsx
================================================
import hash from '@emotion/hash';
import { ATTR_TOKEN, CSS_IN_JS_INSTANCE, useStyleInject } from '../StyleContext';
import type Theme from '../theme/Theme';
import useGlobalCache from './useGlobalCache';
import { flattenToken, token2key } from '../util';
import type { Ref } from 'vue';
import { ref, computed } from 'vue';
const EMPTY_OVERRIDE = {};
const isProduction = process.env.NODE_ENV === 'production';
// nuxt generate when NODE_ENV is prerender
const isPrerender = process.env.NODE_ENV === 'prerender';
// Generate different prefix to make user selector break in production env.
// This helps developer not to do style override directly on the hash id.
const hashPrefix = !isProduction && !isPrerender ? 'css-dev-only-do-not-override' : 'css';
export interface Option {
/**
* Generate token with salt.
* This is used to generate different hashId even same derivative token for different version.
*/
salt?: string;
override?: object;
/**
* Format token as you need. Such as:
*
* - rename token
* - merge token
* - delete token
*
* This should always be the same since it's one time process.
* It's ok to useMemo outside but this has better cache strategy.
*/
formatToken?: (mergedToken: any) => DerivativeToken;
/**
* Get final token with origin token, override token and theme.
* The parameters do not contain formatToken since it's passed by user.
* @param origin The original token.
* @param override Extra tokens to override.
* @param theme Theme instance. Could get derivative token by `theme.getDerivativeToken`
*/
getComputedToken?: (
origin: DesignToken,
override: object,
theme: Theme,
) => DerivativeToken;
}
const tokenKeys = new Map();
function recordCleanToken(tokenKey: string) {
tokenKeys.set(tokenKey, (tokenKeys.get(tokenKey) || 0) + 1);
}
function removeStyleTags(key: string, instanceId: string) {
if (typeof document !== 'undefined') {
const styles = document.querySelectorAll(`style[${ATTR_TOKEN}="${key}"]`);
styles.forEach(style => {
if ((style as any)[CSS_IN_JS_INSTANCE] === instanceId) {
style.parentNode?.removeChild(style);
}
});
}
}
const TOKEN_THRESHOLD = 0;
// Remove will check current keys first
function cleanTokenStyle(tokenKey: string, instanceId: string) {
tokenKeys.set(tokenKey, (tokenKeys.get(tokenKey) || 0) - 1);
const tokenKeyList = Array.from(tokenKeys.keys());
const cleanableKeyList = tokenKeyList.filter(key => {
const count = tokenKeys.get(key) || 0;
return count <= 0;
});
// Should keep tokens under threshold for not to insert style too often
if (tokenKeyList.length - cleanableKeyList.length > TOKEN_THRESHOLD) {
cleanableKeyList.forEach(key => {
removeStyleTags(key, instanceId);
tokenKeys.delete(key);
});
}
}
export const getComputedToken = (
originToken: DesignToken,
overrideToken: object,
theme: Theme,
format?: (token: DesignToken) => DerivativeToken,
) => {
const derivativeToken = theme.getDerivativeToken(originToken);
// Merge with override
let mergedDerivativeToken = {
...derivativeToken,
...overrideToken,
};
// Format if needed
if (format) {
mergedDerivativeToken = format(mergedDerivativeToken);
}
return mergedDerivativeToken;
};
/**
* Cache theme derivative token as global shared one
* @param theme Theme entity
* @param tokens List of tokens, used for cache. Please do not dynamic generate object directly
* @param option Additional config
* @returns Call Theme.getDerivativeToken(tokenObject) to get token
*/
export default function useCacheToken(
theme: Ref>,
tokens: Ref[]>,
option: Ref> = ref({}),
) {
const style = useStyleInject();
// Basic - We do basic cache here
const mergedToken = computed(() => Object.assign({}, ...tokens.value));
const tokenStr = computed(() => flattenToken(mergedToken.value));
const overrideTokenStr = computed(() => flattenToken(option.value.override || EMPTY_OVERRIDE));
const cachedToken = useGlobalCache<[DerivativeToken & { _tokenKey: string }, string]>(
'token',
computed(() => [
option.value.salt || '',
theme.value.id,
tokenStr.value,
overrideTokenStr.value,
]),
() => {
const {
salt = '',
override = EMPTY_OVERRIDE,
formatToken,
getComputedToken: compute,
} = option.value;
const mergedDerivativeToken = compute
? compute(mergedToken.value, override, theme.value)
: getComputedToken(mergedToken.value, override, theme.value, formatToken);
// Optimize for `useStyleRegister` performance
const tokenKey = token2key(mergedDerivativeToken, salt);
mergedDerivativeToken._tokenKey = tokenKey;
recordCleanToken(tokenKey);
const hashId = `${hashPrefix}-${hash(tokenKey)}`;
mergedDerivativeToken._hashId = hashId; // Not used
return [mergedDerivativeToken, hashId];
},
cache => {
// Remove token will remove all related style
cleanTokenStyle(cache[0]._tokenKey, style.value?.cache.instanceId);
},
);
return cachedToken;
}
================================================
FILE: components/_util/cssinjs/hooks/useGlobalCache.tsx
================================================
import { useStyleInject } from '../StyleContext';
import type { KeyType } from '../Cache';
import useHMR from './useHMR';
import type { ShallowRef, Ref } from 'vue';
import { onBeforeUnmount, watch, watchEffect, shallowRef } from 'vue';
export default function useClientCache(
prefix: string,
keyPath: Ref,
cacheFn: () => CacheType,
onCacheRemove?: (cache: CacheType, fromHMR: boolean) => void,
): ShallowRef {
const styleContext = useStyleInject();
const fullPathStr = shallowRef('');
const res = shallowRef();
watchEffect(() => {
fullPathStr.value = [prefix, ...keyPath.value].join('%');
});
const HMRUpdate = useHMR();
const clearCache = (pathStr: string) => {
styleContext.value.cache.update(pathStr, prevCache => {
const [times = 0, cache] = prevCache || [];
const nextCount = times - 1;
if (nextCount === 0) {
onCacheRemove?.(cache, false);
return null;
}
return [times - 1, cache];
});
};
watch(
fullPathStr,
(newStr, oldStr) => {
if (oldStr) clearCache(oldStr);
// Create cache
styleContext.value.cache.update(newStr, prevCache => {
const [times = 0, cache] = prevCache || [];
// HMR should always ignore cache since developer may change it
let tmpCache = cache;
if (process.env.NODE_ENV !== 'production' && cache && HMRUpdate) {
onCacheRemove?.(tmpCache, HMRUpdate);
tmpCache = null;
}
const mergedCache = tmpCache || cacheFn();
return [times + 1, mergedCache];
});
res.value = styleContext.value.cache.get(fullPathStr.value)![1];
},
{ immediate: true },
);
onBeforeUnmount(() => {
clearCache(fullPathStr.value);
});
return res;
}
================================================
FILE: components/_util/cssinjs/hooks/useHMR.ts
================================================
function useProdHMR() {
return false;
}
let webpackHMR = false;
function useDevHMR() {
return webpackHMR;
}
export default process.env.NODE_ENV === 'production' ? useProdHMR : useDevHMR;
// Webpack `module.hot.accept` do not support any deps update trigger
// We have to hack handler to force mark as HRM
if (
process.env.NODE_ENV !== 'production' &&
typeof module !== 'undefined' &&
module &&
(module as any).hot &&
typeof window !== 'undefined'
) {
const win = window as any;
if (typeof win.webpackHotUpdate === 'function') {
const originWebpackHotUpdate = win.webpackHotUpdate;
win.webpackHotUpdate = (...args: any[]) => {
webpackHMR = true;
setTimeout(() => {
webpackHMR = false;
}, 0);
return originWebpackHotUpdate(...args);
};
}
}
================================================
FILE: components/_util/cssinjs/hooks/useStyleRegister/cacheMapUtil.ts
================================================
import canUseDom from '../../../../_util/canUseDom';
import { ATTR_MARK } from '../../StyleContext';
export const ATTR_CACHE_MAP = 'data-ant-cssinjs-cache-path';
/**
* This marks style from the css file.
* Which means not exist in `` tag.
*/
export const CSS_FILE_STYLE = '_FILE_STYLE__';
export function serialize(cachePathMap: Record) {
return Object.keys(cachePathMap)
.map(path => {
const hash = cachePathMap[path];
return `${path}:${hash}`;
})
.join(';');
}
let cachePathMap: Record;
let fromCSSFile = true;
/**
* @private Test usage only. Can save remove if no need.
*/
export function reset(mockCache?: Record, fromFile = true) {
cachePathMap = mockCache!;
fromCSSFile = fromFile;
}
export function prepare() {
if (!cachePathMap) {
cachePathMap = {};
if (canUseDom()) {
const div = document.createElement('div');
div.className = ATTR_CACHE_MAP;
div.style.position = 'fixed';
div.style.visibility = 'hidden';
div.style.top = '-9999px';
document.body.appendChild(div);
let content = getComputedStyle(div).content || '';
content = content.replace(/^"/, '').replace(/"$/, '');
// Fill data
content.split(';').forEach(item => {
const [path, hash] = item.split(':');
cachePathMap[path] = hash;
});
// Remove inline record style
const inlineMapStyle = document.querySelector(`style[${ATTR_CACHE_MAP}]`);
if (inlineMapStyle) {
fromCSSFile = false;
inlineMapStyle.parentNode?.removeChild(inlineMapStyle);
}
document.body.removeChild(div);
}
}
}
export function existPath(path: string) {
prepare();
return !!cachePathMap[path];
}
export function getStyleAndHash(path: string): [style: string | null, hash: string] {
const hash = cachePathMap[path];
let styleStr: string | null = null;
if (hash && canUseDom()) {
if (fromCSSFile) {
styleStr = CSS_FILE_STYLE;
} else {
const style = document.querySelector(`style[${ATTR_MARK}="${cachePathMap[path]}"]`);
if (style) {
styleStr = style.innerHTML;
} else {
// Clean up since not exist anymore
delete cachePathMap[path];
}
}
}
return [styleStr, hash];
}
================================================
FILE: components/_util/cssinjs/hooks/useStyleRegister/index.tsx
================================================
import hash from '@emotion/hash';
import type * as CSS from 'csstype';
// @ts-ignore
import unitless from '@emotion/unitless';
import { compile, serialize, stringify } from 'stylis';
import type { Theme, Transformer } from '../..';
import type Cache from '../../Cache';
import type Keyframes from '../../Keyframes';
import type { Linter } from '../../linters';
import { contentQuotesLinter, hashedAnimationLinter } from '../../linters';
import type { HashPriority } from '../../StyleContext';
import {
useStyleInject,
ATTR_CACHE_PATH,
ATTR_MARK,
ATTR_TOKEN,
CSS_IN_JS_INSTANCE,
} from '../../StyleContext';
import { supportLayer } from '../../util';
import useGlobalCache from '../useGlobalCache';
import { removeCSS, updateCSS } from '../../../../vc-util/Dom/dynamicCSS';
import type { Ref } from 'vue';
import { computed } from 'vue';
import type { VueNode } from '../../../type';
import canUseDom from '../../../../_util/canUseDom';
import {
ATTR_CACHE_MAP,
existPath,
getStyleAndHash,
serialize as serializeCacheMap,
} from './cacheMapUtil';
const isClientSide = canUseDom();
const SKIP_CHECK = '_skip_check_';
const MULTI_VALUE = '_multi_value_';
export type CSSProperties = Omit, 'animationName'> & {
animationName?: CSS.PropertiesFallback['animationName'] | Keyframes;
};
export type CSSPropertiesWithMultiValues = {
[K in keyof CSSProperties]:
| CSSProperties[K]
| readonly Extract[]
| {
[SKIP_CHECK]?: boolean;
[MULTI_VALUE]?: boolean;
value: CSSProperties[K] | CSSProperties[K][];
};
};
export type CSSPseudos = { [K in CSS.Pseudos]?: CSSObject };
type ArrayCSSInterpolation = readonly CSSInterpolation[];
export type InterpolationPrimitive = null | undefined | boolean | number | string | CSSObject;
export type CSSInterpolation = InterpolationPrimitive | ArrayCSSInterpolation | Keyframes;
export type CSSOthersObject = Record;
export interface CSSObject extends CSSPropertiesWithMultiValues, CSSPseudos, CSSOthersObject {}
// ============================================================================
// == Parser ==
// ============================================================================
// Preprocessor style content to browser support one
export function normalizeStyle(styleStr: string): string {
const serialized = serialize(compile(styleStr), stringify);
return serialized.replace(/\{%%%\:[^;];}/g, ';');
}
function isCompoundCSSProperty(value: CSSObject[string]) {
return typeof value === 'object' && value && (SKIP_CHECK in value || MULTI_VALUE in value);
}
// 注入 hash 值
function injectSelectorHash(key: string, hashId: string, hashPriority?: HashPriority) {
if (!hashId) {
return key;
}
const hashClassName = `.${hashId}`;
const hashSelector = hashPriority === 'low' ? `:where(${hashClassName})` : hashClassName;
// 注入 hashId
const keys = key.split(',').map(k => {
const fullPath = k.trim().split(/\s+/);
// 如果 Selector 第一个是 HTML Element,那我们就插到它的后面。反之,就插到最前面。
let firstPath = fullPath[0] || '';
const htmlElement = firstPath.match(/^\w+/)?.[0] || '';
firstPath = `${htmlElement}${hashSelector}${firstPath.slice(htmlElement.length)}`;
return [firstPath, ...fullPath.slice(1)].join(' ');
});
return keys.join(',');
}
export interface ParseConfig {
hashId?: string;
hashPriority?: HashPriority;
layer?: string;
path?: string;
transformers?: Transformer[];
linters?: Linter[];
}
export interface ParseInfo {
root?: boolean;
injectHash?: boolean;
parentSelectors: string[];
}
// Global effect style will mount once and not removed
// The effect will not save in SSR cache (e.g. keyframes)
const globalEffectStyleKeys = new Set();
/**
* @private Test only. Clear the global effect style keys.
*/
export const _cf =
process.env.NODE_ENV !== 'production' ? () => globalEffectStyleKeys.clear() : undefined;
// Parse CSSObject to style content
export const parseStyle = (
interpolation: CSSInterpolation,
config: ParseConfig = {},
{ root, injectHash, parentSelectors }: ParseInfo = {
root: true,
parentSelectors: [],
},
): [
parsedStr: string,
// Style content which should be unique on all of the style (e.g. Keyframes).
// Firefox will flick with same animation name when exist multiple same keyframes.
effectStyle: Record,
] => {
const { hashId, layer, path, hashPriority, transformers = [], linters = [] } = config;
let styleStr = '';
let effectStyle: Record = {};
function parseKeyframes(keyframes: Keyframes) {
const animationName = keyframes.getName(hashId);
if (!effectStyle[animationName]) {
const [parsedStr] = parseStyle(keyframes.style, config, {
root: false,
parentSelectors,
});
effectStyle[animationName] = `@keyframes ${keyframes.getName(hashId)}${parsedStr}`;
}
}
function flattenList(list: ArrayCSSInterpolation, fullList: CSSObject[] = []) {
list.forEach(item => {
if (Array.isArray(item)) {
flattenList(item, fullList);
} else if (item) {
fullList.push(item as CSSObject);
}
});
return fullList;
}
const flattenStyleList = flattenList(
Array.isArray(interpolation) ? interpolation : [interpolation],
);
flattenStyleList.forEach(originStyle => {
// Only root level can use raw string
const style: CSSObject = typeof originStyle === 'string' && !root ? {} : originStyle;
if (typeof style === 'string') {
styleStr += `${style}\n`;
} else if ((style as any)._keyframe) {
// Keyframe
parseKeyframes(style as unknown as Keyframes);
} else {
const mergedStyle = transformers.reduce((prev, trans) => trans?.visit?.(prev) || prev, style);
// Normal CSSObject
Object.keys(mergedStyle).forEach(key => {
const value = mergedStyle[key];
if (
typeof value === 'object' &&
value &&
(key !== 'animationName' || !(value as Keyframes)._keyframe) &&
!isCompoundCSSProperty(value)
) {
let subInjectHash = false;
// 当成嵌套对象来处理
let mergedKey = key.trim();
// Whether treat child as root. In most case it is false.
let nextRoot = false;
// 拆分多个选择器
if ((root || injectHash) && hashId) {
if (mergedKey.startsWith('@')) {
// 略过媒体查询,交给子节点继续插入 hashId
subInjectHash = true;
} else {
// 注入 hashId
mergedKey = injectSelectorHash(key, hashId, hashPriority);
}
} else if (root && !hashId && (mergedKey === '&' || mergedKey === '')) {
// In case of `{ '&': { a: { color: 'red' } } }` or `{ '': { a: { color: 'red' } } }` without hashId,
// we will get `&{a:{color:red;}}` or `{a:{color:red;}}` string for stylis to compile.
// But it does not conform to stylis syntax,
// and finally we will get `{color:red;}` as css, which is wrong.
// So we need to remove key in root, and treat child `{ a: { color: 'red' } }` as root.
mergedKey = '';
nextRoot = true;
}
const [parsedStr, childEffectStyle] = parseStyle(value as any, config, {
root: nextRoot,
injectHash: subInjectHash,
parentSelectors: [...parentSelectors, mergedKey],
});
effectStyle = {
...effectStyle,
...childEffectStyle,
};
styleStr += `${mergedKey}${parsedStr}`;
} else {
function appendStyle(cssKey: string, cssValue: any) {
if (
process.env.NODE_ENV !== 'production' &&
(typeof value !== 'object' || !(value as any)?.[SKIP_CHECK])
) {
[contentQuotesLinter, hashedAnimationLinter, ...linters].forEach(linter =>
linter(cssKey, cssValue, { path, hashId, parentSelectors }),
);
}
// 如果是样式则直接插入
const styleName = cssKey.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`);
// Auto suffix with px
let formatValue = cssValue;
if (!unitless[cssKey] && typeof formatValue === 'number' && formatValue !== 0) {
formatValue = `${formatValue}px`;
}
// handle animationName & Keyframe value
if (cssKey === 'animationName' && (cssValue as Keyframes)?._keyframe) {
parseKeyframes(cssValue as Keyframes);
formatValue = (cssValue as Keyframes).getName(hashId);
}
styleStr += `${styleName}:${formatValue};`;
}
const actualValue = (value as any)?.value ?? value;
if (
typeof value === 'object' &&
(value as any)?.[MULTI_VALUE] &&
Array.isArray(actualValue)
) {
actualValue.forEach(item => {
appendStyle(key, item);
});
} else {
appendStyle(key, actualValue);
}
}
});
}
});
if (!root) {
styleStr = `{${styleStr}}`;
} else if (layer && supportLayer()) {
const layerCells = layer.split(',');
const layerName = layerCells[layerCells.length - 1].trim();
styleStr = `@layer ${layerName} {${styleStr}}`;
// Order of layer if needed
if (layerCells.length > 1) {
// zombieJ: stylis do not support layer order, so we need to handle it manually.
styleStr = `@layer ${layer}{%%%:%}${styleStr}`;
}
}
return [styleStr, effectStyle];
};
// ============================================================================
// == Register ==
// ============================================================================
function uniqueHash(path: (string | number)[], styleStr: string) {
return hash(`${path.join('%')}${styleStr}`);
}
// function Empty() {
// return null;
// }
/**
* Register a style to the global style sheet.
*/
export default function useStyleRegister(
info: Ref<{
theme: Theme;
token: any;
path: string[];
hashId?: string;
layer?: string;
nonce?: string | (() => string);
clientOnly?: boolean;
/**
* Tell cssinjs the insert order of style.
* It's useful when you need to insert style
* before other style to overwrite for the same selector priority.
*/
order?: number;
}>,
styleFn: () => CSSInterpolation,
) {
const styleContext = useStyleInject();
const tokenKey = computed(() => info.value.token._tokenKey as string);
const fullPath = computed(() => [tokenKey.value, ...info.value.path]);
// Check if need insert style
let isMergedClientSide = isClientSide;
if (process.env.NODE_ENV !== 'production' && styleContext.value.mock !== undefined) {
isMergedClientSide = styleContext.value.mock === 'client';
}
// const [cacheStyle[0], cacheStyle[1], cacheStyle[2]]
useGlobalCache<
[
styleStr: string,
tokenKey: string,
styleId: string,
effectStyle: Record,
clientOnly: boolean | undefined,
order: number,
]
>(
'style',
fullPath,
// Create cache if needed
() => {
const { path, hashId, layer, nonce, clientOnly, order = 0 } = info.value;
const cachePath = fullPath.value.join('|');
// Get style from SSR inline style directly
if (existPath(cachePath)) {
const [inlineCacheStyleStr, styleHash] = getStyleAndHash(cachePath);
if (inlineCacheStyleStr) {
return [inlineCacheStyleStr, tokenKey.value, styleHash, {}, clientOnly, order];
}
}
const styleObj = styleFn();
const { hashPriority, container, transformers, linters, cache } = styleContext.value;
const [parsedStyle, effectStyle] = parseStyle(styleObj, {
hashId,
hashPriority,
layer,
path: path.join('-'),
transformers,
linters,
});
const styleStr = normalizeStyle(parsedStyle);
const styleId = uniqueHash(fullPath.value, styleStr);
if (isMergedClientSide) {
const mergedCSSConfig: Parameters[2] = {
mark: ATTR_MARK,
prepend: 'queue',
attachTo: container,
priority: order,
};
const nonceStr = typeof nonce === 'function' ? nonce() : nonce;
if (nonceStr) {
mergedCSSConfig.csp = { nonce: nonceStr };
}
const style = updateCSS(styleStr, styleId, mergedCSSConfig);
(style as any)[CSS_IN_JS_INSTANCE] = cache.instanceId;
// Used for `useCacheToken` to remove on batch when token removed
style.setAttribute(ATTR_TOKEN, tokenKey.value);
// Dev usage to find which cache path made this easily
if (process.env.NODE_ENV !== 'production') {
style.setAttribute(ATTR_CACHE_PATH, fullPath.value.join('|'));
}
// Inject client side effect style
Object.keys(effectStyle).forEach(effectKey => {
if (!globalEffectStyleKeys.has(effectKey)) {
globalEffectStyleKeys.add(effectKey);
// Inject
updateCSS(normalizeStyle(effectStyle[effectKey]), `_effect-${effectKey}`, {
mark: ATTR_MARK,
prepend: 'queue',
attachTo: container,
});
}
});
}
return [styleStr, tokenKey.value, styleId, effectStyle, clientOnly, order];
},
// Remove cache if no need
([, , styleId], fromHMR) => {
if ((fromHMR || styleContext.value.autoClear) && isClientSide) {
removeCSS(styleId, { mark: ATTR_MARK });
}
},
);
return (node: VueNode) => {
return node;
// let styleNode: VueNode;
// if (!styleContext.ssrInline || isMergedClientSide || !styleContext.defaultCache) {
// styleNode = ;
// } else {
// styleNode = (
//
// );
// }
// return (
// <>
// {styleNode}
// {node}
// >
// );
};
}
// ============================================================================
// == SSR ==
// ============================================================================
export function extractStyle(cache: Cache, plain = false) {
const matchPrefix = `style%`;
// prefix with `style` is used for `useStyleRegister` to cache style context
const styleKeys = Array.from(cache.cache.keys()).filter(key => key.startsWith(matchPrefix));
// Common effect styles like animation
const effectStyles: Record = {};
// Mapping of cachePath to style hash
const cachePathMap: Record = {};
let styleText = '';
function toStyleStr(
style: string,
tokenKey?: string,
styleId?: string,
customizeAttrs: Record = {},
) {
const attrs: Record = {
...customizeAttrs,
[ATTR_TOKEN]: tokenKey,
[ATTR_MARK]: styleId,
};
const attrStr = Object.keys(attrs)
.map(attr => {
const val = attrs[attr];
return val ? `${attr}="${val}"` : null;
})
.filter(v => v)
.join(' ');
return plain ? style : ``;
}
// ====================== Fill Style ======================
type OrderStyle = [order: number, style: string];
const orderStyles: OrderStyle[] = styleKeys
.map(key => {
const cachePath = key.slice(matchPrefix.length).replace(/%/g, '|');
const [styleStr, tokenKey, styleId, effectStyle, clientOnly, order]: [
string,
string,
string,
Record,
boolean,
number,
] = cache.cache.get(key)![1];
// Skip client only style
if (clientOnly) {
return null! as OrderStyle;
}
// ====================== Style ======================
// Used for vc-util
const sharedAttrs = {
'data-vc-order': 'prependQueue',
'data-vc-priority': `${order}`,
};
let keyStyleText = toStyleStr(styleStr, tokenKey, styleId, sharedAttrs);
// Save cache path with hash mapping
cachePathMap[cachePath] = styleId;
// =============== Create effect style ===============
if (effectStyle) {
Object.keys(effectStyle).forEach(effectKey => {
// Effect style can be reused
if (!effectStyles[effectKey]) {
effectStyles[effectKey] = true;
keyStyleText += toStyleStr(
normalizeStyle(effectStyle[effectKey]),
tokenKey,
`_effect-${effectKey}`,
sharedAttrs,
);
}
});
}
const ret: OrderStyle = [order, keyStyleText];
return ret;
})
.filter(o => o);
orderStyles
.sort((o1, o2) => o1[0] - o2[0])
.forEach(([, style]) => {
styleText += style;
});
// ==================== Fill Cache Path ====================
styleText += toStyleStr(
`.${ATTR_CACHE_MAP}{content:"${serializeCacheMap(cachePathMap)}";}`,
undefined,
undefined,
{
[ATTR_CACHE_MAP]: ATTR_CACHE_MAP,
},
);
return styleText;
}
================================================
FILE: components/_util/cssinjs/index.ts
================================================
import useCacheToken from './hooks/useCacheToken';
import type { CSSInterpolation, CSSObject } from './hooks/useStyleRegister';
import useStyleRegister, { extractStyle } from './hooks/useStyleRegister';
import Keyframes from './Keyframes';
import type { Linter } from './linters';
import { legacyNotSelectorLinter, logicalPropertiesLinter, parentSelectorLinter } from './linters';
import type { StyleContextProps, StyleProviderProps } from './StyleContext';
import { createCache, useStyleInject, useStyleProvider, StyleProvider } from './StyleContext';
import type { DerivativeFunc, TokenType } from './theme';
import { createTheme, Theme } from './theme';
import type { Transformer } from './transformers/interface';
import legacyLogicalPropertiesTransformer from './transformers/legacyLogicalProperties';
import px2remTransformer from './transformers/px2rem';
import { supportLogicProps, supportWhere } from './util';
const cssinjs = {
Theme,
createTheme,
useStyleRegister,
useCacheToken,
createCache,
useStyleInject,
useStyleProvider,
Keyframes,
extractStyle,
// Transformer
legacyLogicalPropertiesTransformer,
px2remTransformer,
// Linters
logicalPropertiesLinter,
legacyNotSelectorLinter,
parentSelectorLinter,
// cssinjs
StyleProvider,
};
export {
Theme,
createTheme,
useStyleRegister,
useCacheToken,
createCache,
useStyleInject,
useStyleProvider,
Keyframes,
extractStyle,
// Transformer
legacyLogicalPropertiesTransformer,
px2remTransformer,
// Linters
logicalPropertiesLinter,
legacyNotSelectorLinter,
parentSelectorLinter,
// cssinjs
StyleProvider,
};
export type {
TokenType,
CSSObject,
CSSInterpolation,
DerivativeFunc,
Transformer,
Linter,
StyleContextProps,
StyleProviderProps,
};
export const _experimental = {
supportModernCSS: () => supportWhere() && supportLogicProps(),
};
export default cssinjs;
================================================
FILE: components/_util/cssinjs/linters/contentQuotesLinter.ts
================================================
import type { Linter } from './interface';
import { lintWarning } from './utils';
const linter: Linter = (key, value, info) => {
if (key === 'content') {
// From emotion: https://github.com/emotion-js/emotion/blob/main/packages/serialize/src/index.js#L63
const contentValuePattern =
/(attr|counters?|url|(((repeating-)?(linear|radial))|conic)-gradient)\(|(no-)?(open|close)-quote/;
const contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];
if (
typeof value !== 'string' ||
(contentValues.indexOf(value) === -1 &&
!contentValuePattern.test(value) &&
(value.charAt(0) !== value.charAt(value.length - 1) ||
(value.charAt(0) !== '"' && value.charAt(0) !== "'")))
) {
lintWarning(
`You seem to be using a value for 'content' without quotes, try replacing it with \`content: '"${value}"'\`.`,
info,
);
}
}
};
export default linter;
================================================
FILE: components/_util/cssinjs/linters/hashedAnimationLinter.ts
================================================
import type { Linter } from './interface';
import { lintWarning } from './utils';
const linter: Linter = (key, value, info) => {
if (key === 'animation') {
if (info.hashId && value !== 'none') {
lintWarning(
`You seem to be using hashed animation '${value}', in which case 'animationName' with Keyframe as value is recommended.`,
info,
);
}
}
};
export default linter;
================================================
FILE: components/_util/cssinjs/linters/index.ts
================================================
export { default as contentQuotesLinter } from './contentQuotesLinter';
export { default as hashedAnimationLinter } from './hashedAnimationLinter';
export type { Linter } from './interface';
export { default as legacyNotSelectorLinter } from './legacyNotSelectorLinter';
export { default as logicalPropertiesLinter } from './logicalPropertiesLinter';
export { default as parentSelectorLinter } from './parentSelectorLinter';
================================================
FILE: components/_util/cssinjs/linters/interface.ts
================================================
export interface LinterInfo {
path?: string;
hashId?: string;
parentSelectors: string[];
}
export interface Linter {
(key: string, value: string | number, info: LinterInfo): void;
}
================================================
FILE: components/_util/cssinjs/linters/legacyNotSelectorLinter.ts
================================================
import type { Linter, LinterInfo } from './interface';
import { lintWarning } from './utils';
function isConcatSelector(selector: string) {
const notContent = selector.match(/:not\(([^)]*)\)/)?.[1] || '';
// split selector. e.g.
// `h1#a.b` => ['h1', #a', '.b']
const splitCells = notContent.split(/(\[[^[]*])|(?=[.#])/).filter(str => str);
return splitCells.length > 1;
}
function parsePath(info: LinterInfo) {
return info.parentSelectors.reduce((prev, cur) => {
if (!prev) {
return cur;
}
return cur.includes('&') ? cur.replace(/&/g, prev) : `${prev} ${cur}`;
}, '');
}
const linter: Linter = (_key, _value, info) => {
const parentSelectorPath = parsePath(info);
const notList = parentSelectorPath.match(/:not\([^)]*\)/g) || [];
if (notList.length > 0 && notList.some(isConcatSelector)) {
lintWarning(`Concat ':not' selector not support in legacy browsers.`, info);
}
};
export default linter;
================================================
FILE: components/_util/cssinjs/linters/logicalPropertiesLinter.ts
================================================
import type { Linter } from './interface';
import { lintWarning } from './utils';
const linter: Linter = (key, value, info) => {
switch (key) {
case 'marginLeft':
case 'marginRight':
case 'paddingLeft':
case 'paddingRight':
case 'left':
case 'right':
case 'borderLeft':
case 'borderLeftWidth':
case 'borderLeftStyle':
case 'borderLeftColor':
case 'borderRight':
case 'borderRightWidth':
case 'borderRightStyle':
case 'borderRightColor':
case 'borderTopLeftRadius':
case 'borderTopRightRadius':
case 'borderBottomLeftRadius':
case 'borderBottomRightRadius':
lintWarning(
`You seem to be using non-logical property '${key}' which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties.`,
info,
);
return;
case 'margin':
case 'padding':
case 'borderWidth':
case 'borderStyle':
// case 'borderColor':
if (typeof value === 'string') {
const valueArr = value.split(' ').map(item => item.trim());
if (valueArr.length === 4 && valueArr[1] !== valueArr[3]) {
lintWarning(
`You seem to be using '${key}' property with different left ${key} and right ${key}, which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties.`,
info,
);
}
}
return;
case 'clear':
case 'textAlign':
if (value === 'left' || value === 'right') {
lintWarning(
`You seem to be using non-logical value '${value}' of ${key}, which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties.`,
info,
);
}
return;
case 'borderRadius':
if (typeof value === 'string') {
const radiusGroups = value.split('/').map(item => item.trim());
const invalid = radiusGroups.reduce((result, group) => {
if (result) {
return result;
}
const radiusArr = group.split(' ').map(item => item.trim());
// borderRadius: '2px 4px'
if (radiusArr.length >= 2 && radiusArr[0] !== radiusArr[1]) {
return true;
}
// borderRadius: '4px 4px 2px'
if (radiusArr.length === 3 && radiusArr[1] !== radiusArr[2]) {
return true;
}
// borderRadius: '4px 4px 2px 4px'
if (radiusArr.length === 4 && radiusArr[2] !== radiusArr[3]) {
return true;
}
return result;
}, false);
if (invalid) {
lintWarning(
`You seem to be using non-logical value '${value}' of ${key}, which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties.`,
info,
);
}
}
return;
default:
}
};
export default linter;
================================================
FILE: components/_util/cssinjs/linters/parentSelectorLinter.ts
================================================
import type { Linter } from '..';
import { lintWarning } from './utils';
const linter: Linter = (_key, _value, info) => {
if (
info.parentSelectors.some(selector => {
const selectors = selector.split(',');
return selectors.some(item => item.split('&').length > 2);
})
) {
lintWarning('Should not use more than one `&` in a selector.', info);
}
};
export default linter;
================================================
FILE: components/_util/cssinjs/linters/utils.ts
================================================
import devWarning from '../../../vc-util/warning';
import type { LinterInfo } from './interface';
export function lintWarning(message: string, info: LinterInfo) {
const { path, parentSelectors } = info;
devWarning(
false,
`[Ant Design Vue CSS-in-JS] ${path ? `Error in '${path}': ` : ''}${message}${
parentSelectors.length ? ` Selector info: ${parentSelectors.join(' -> ')}` : ''
}`,
);
}
================================================
FILE: components/_util/cssinjs/theme/Theme.ts
================================================
import warning from '../../warning';
import type { DerivativeFunc, TokenType } from './interface';
let uuid = 0;
/**
* Theme with algorithms to derive tokens from design tokens.
* Use `createTheme` first which will help to manage the theme instance cache.
*/
export default class Theme {
private derivatives: DerivativeFunc[];
public readonly id: number;
constructor(
derivatives:
| DerivativeFunc
| DerivativeFunc[],
) {
this.derivatives = Array.isArray(derivatives) ? derivatives : [derivatives];
this.id = uuid;
if (derivatives.length === 0) {
warning(
derivatives.length > 0,
'[Ant Design Vue CSS-in-JS] Theme should have at least one derivative function.',
);
}
uuid += 1;
}
getDerivativeToken(token: DesignToken): DerivativeToken {
return this.derivatives.reduce(
(result, derivative) => derivative(token, result),
undefined as any,
);
}
}
================================================
FILE: components/_util/cssinjs/theme/ThemeCache.ts
================================================
import type Theme from './Theme';
import type { DerivativeFunc } from './interface';
// ================================== Cache ==================================
type ThemeCacheMap = Map<
DerivativeFunc,
{
map?: ThemeCacheMap;
value?: [Theme, number];
}
>;
type DerivativeOptions = DerivativeFunc[];
export function sameDerivativeOption(left: DerivativeOptions, right: DerivativeOptions) {
if (left.length !== right.length) {
return false;
}
for (let i = 0; i < left.length; i++) {
if (left[i] !== right[i]) {
return false;
}
}
return true;
}
export default class ThemeCache {
public static MAX_CACHE_SIZE = 20;
public static MAX_CACHE_OFFSET = 5;
private readonly cache: ThemeCacheMap;
private keys: DerivativeOptions[];
private cacheCallTimes: number;
constructor() {
this.cache = new Map();
this.keys = [];
this.cacheCallTimes = 0;
}
public size(): number {
return this.keys.length;
}
private internalGet(
derivativeOption: DerivativeOptions,
updateCallTimes = false,
): [Theme, number] | undefined {
let cache: ReturnType = { map: this.cache };
derivativeOption.forEach(derivative => {
if (!cache) {
cache = undefined;
} else {
cache = cache?.map?.get(derivative);
}
});
if (cache?.value && updateCallTimes) {
cache.value[1] = this.cacheCallTimes++;
}
return cache?.value;
}
public get(derivativeOption: DerivativeOptions): Theme | undefined {
return this.internalGet(derivativeOption, true)?.[0];
}
public has(derivativeOption: DerivativeOptions): boolean {
return !!this.internalGet(derivativeOption);
}
public set(derivativeOption: DerivativeOptions, value: Theme): void {
// New cache
if (!this.has(derivativeOption)) {
if (this.size() + 1 > ThemeCache.MAX_CACHE_SIZE + ThemeCache.MAX_CACHE_OFFSET) {
const [targetKey] = this.keys.reduce<[DerivativeOptions, number]>(
(result, key) => {
const [, callTimes] = result;
if (this.internalGet(key)![1] < callTimes) {
return [key, this.internalGet(key)![1]];
}
return result;
},
[this.keys[0], this.cacheCallTimes],
);
this.delete(targetKey);
}
this.keys.push(derivativeOption);
}
let cache = this.cache;
derivativeOption.forEach((derivative, index) => {
if (index === derivativeOption.length - 1) {
cache.set(derivative, { value: [value, this.cacheCallTimes++] });
} else {
const cacheValue = cache.get(derivative);
if (!cacheValue) {
cache.set(derivative, { map: new Map() });
} else if (!cacheValue.map) {
cacheValue.map = new Map();
}
cache = cache.get(derivative)!.map!;
}
});
}
private deleteByPath(
currentCache: ThemeCacheMap,
derivatives: DerivativeFunc[],
): Theme | undefined {
const cache = currentCache.get(derivatives[0])!;
if (derivatives.length === 1) {
if (!cache.map) {
currentCache.delete(derivatives[0]);
} else {
currentCache.set(derivatives[0], { map: cache.map });
}
return cache.value?.[0];
}
const result = this.deleteByPath(cache.map!, derivatives.slice(1));
if ((!cache.map || cache.map.size === 0) && !cache.value) {
currentCache.delete(derivatives[0]);
}
return result;
}
public delete(derivativeOption: DerivativeOptions): Theme | undefined {
// If cache exists
if (this.has(derivativeOption)) {
this.keys = this.keys.filter(item => !sameDerivativeOption(item, derivativeOption));
return this.deleteByPath(this.cache, derivativeOption);
}
return undefined;
}
}
================================================
FILE: components/_util/cssinjs/theme/createTheme.ts
================================================
import ThemeCache from './ThemeCache';
import Theme from './Theme';
import type { DerivativeFunc, TokenType } from './interface';
const cacheThemes = new ThemeCache();
/**
* Same as new Theme, but will always return same one if `derivative` not changed.
*/
export default function createTheme<
DesignToken extends TokenType,
DerivativeToken extends TokenType,
>(
derivatives:
| DerivativeFunc[]
| DerivativeFunc,
) {
const derivativeArr = Array.isArray(derivatives) ? derivatives : [derivatives];
// Create new theme if not exist
if (!cacheThemes.has(derivativeArr)) {
cacheThemes.set(derivativeArr, new Theme(derivativeArr));
}
// Get theme from cache and return
return cacheThemes.get(derivativeArr)!;
}
================================================
FILE: components/_util/cssinjs/theme/index.ts
================================================
export { default as createTheme } from './createTheme';
export { default as Theme } from './Theme';
export { default as ThemeCache } from './ThemeCache';
export type { TokenType, DerivativeFunc } from './interface';
================================================
FILE: components/_util/cssinjs/theme/interface.ts
================================================
export type TokenType = object;
export type DerivativeFunc = (
designToken: DesignToken,
derivativeToken?: DerivativeToken,
) => DerivativeToken;
================================================
FILE: components/_util/cssinjs/transformers/interface.ts
================================================
import type { CSSObject } from '..';
export interface Transformer {
visit?: (cssObj: CSSObject) => CSSObject;
}
================================================
FILE: components/_util/cssinjs/transformers/legacyLogicalProperties.ts
================================================
import type { CSSObject } from '..';
import type { Transformer } from './interface';
function splitValues(value: string | number) {
if (typeof value === 'number') {
return [value];
}
const splitStyle = String(value).split(/\s+/);
// Combine styles split in brackets, like `calc(1px + 2px)`
let temp = '';
let brackets = 0;
return splitStyle.reduce((list, item) => {
if (item.includes('(')) {
temp += item;
brackets += item.split('(').length - 1;
} else if (item.includes(')')) {
temp += ` ${item}`;
brackets -= item.split(')').length - 1;
if (brackets === 0) {
list.push(temp);
temp = '';
}
} else if (brackets > 0) {
temp += ` ${item}`;
} else {
list.push(item);
}
return list;
}, []);
}
type MatchValue = string[] & {
notSplit?: boolean;
};
function noSplit(list: MatchValue): MatchValue {
list.notSplit = true;
return list;
}
const keyMap: Record = {
// Inset
inset: ['top', 'right', 'bottom', 'left'],
insetBlock: ['top', 'bottom'],
insetBlockStart: ['top'],
insetBlockEnd: ['bottom'],
insetInline: ['left', 'right'],
insetInlineStart: ['left'],
insetInlineEnd: ['right'],
// Margin
marginBlock: ['marginTop', 'marginBottom'],
marginBlockStart: ['marginTop'],
marginBlockEnd: ['marginBottom'],
marginInline: ['marginLeft', 'marginRight'],
marginInlineStart: ['marginLeft'],
marginInlineEnd: ['marginRight'],
// Padding
paddingBlock: ['paddingTop', 'paddingBottom'],
paddingBlockStart: ['paddingTop'],
paddingBlockEnd: ['paddingBottom'],
paddingInline: ['paddingLeft', 'paddingRight'],
paddingInlineStart: ['paddingLeft'],
paddingInlineEnd: ['paddingRight'],
// Border
borderBlock: noSplit(['borderTop', 'borderBottom']),
borderBlockStart: noSplit(['borderTop']),
borderBlockEnd: noSplit(['borderBottom']),
borderInline: noSplit(['borderLeft', 'borderRight']),
borderInlineStart: noSplit(['borderLeft']),
borderInlineEnd: noSplit(['borderRight']),
// Border width
borderBlockWidth: ['borderTopWidth', 'borderBottomWidth'],
borderBlockStartWidth: ['borderTopWidth'],
borderBlockEndWidth: ['borderBottomWidth'],
borderInlineWidth: ['borderLeftWidth', 'borderRightWidth'],
borderInlineStartWidth: ['borderLeftWidth'],
borderInlineEndWidth: ['borderRightWidth'],
// Border style
borderBlockStyle: ['borderTopStyle', 'borderBottomStyle'],
borderBlockStartStyle: ['borderTopStyle'],
borderBlockEndStyle: ['borderBottomStyle'],
borderInlineStyle: ['borderLeftStyle', 'borderRightStyle'],
borderInlineStartStyle: ['borderLeftStyle'],
borderInlineEndStyle: ['borderRightStyle'],
// Border color
borderBlockColor: ['borderTopColor', 'borderBottomColor'],
borderBlockStartColor: ['borderTopColor'],
borderBlockEndColor: ['borderBottomColor'],
borderInlineColor: ['borderLeftColor', 'borderRightColor'],
borderInlineStartColor: ['borderLeftColor'],
borderInlineEndColor: ['borderRightColor'],
// Border radius
borderStartStartRadius: ['borderTopLeftRadius'],
borderStartEndRadius: ['borderTopRightRadius'],
borderEndStartRadius: ['borderBottomLeftRadius'],
borderEndEndRadius: ['borderBottomRightRadius'],
};
function skipCheck(value: string | number) {
return { _skip_check_: true, value };
}
/**
* Convert css logical properties to legacy properties.
* Such as: `margin-block-start` to `margin-top`.
* Transform list:
* - inset
* - margin
* - padding
* - border
*/
const transform: Transformer = {
visit: cssObj => {
const clone: CSSObject = {};
Object.keys(cssObj).forEach(key => {
const value = cssObj[key];
const matchValue = keyMap[key];
if (matchValue && (typeof value === 'number' || typeof value === 'string')) {
const values = splitValues(value);
if (matchValue.length && matchValue.notSplit) {
// not split means always give same value like border
matchValue.forEach(matchKey => {
clone[matchKey] = skipCheck(value);
});
} else if (matchValue.length === 1) {
// Handle like `marginBlockStart` => `marginTop`
clone[matchValue[0]] = skipCheck(value);
} else if (matchValue.length === 2) {
// Handle like `marginBlock` => `marginTop` & `marginBottom`
matchValue.forEach((matchKey, index) => {
clone[matchKey] = skipCheck(values[index] ?? values[0]);
});
} else if (matchValue.length === 4) {
// Handle like `inset` => `top` & `right` & `bottom` & `left`
matchValue.forEach((matchKey, index) => {
clone[matchKey] = skipCheck(values[index] ?? values[index - 2] ?? values[0]);
});
} else {
clone[key] = value;
}
} else {
clone[key] = value;
}
});
return clone;
},
};
export default transform;
================================================
FILE: components/_util/cssinjs/transformers/px2rem.ts
================================================
/**
* respect https://github.com/cuth/postcss-pxtorem
*/
import unitless from '@emotion/unitless';
import type { CSSObject } from '..';
import type { Transformer } from './interface';
export interface Options {
/**
* The root font size.
* @default 16
*/
rootValue?: number;
/**
* The decimal numbers to allow the REM units to grow to.
* @default 5
*/
precision?: number;
/**
* Whether to allow px to be converted in media queries.
* @default false
*/
mediaQuery?: boolean;
}
const pxRegex = /url\([^)]+\)|var\([^)]+\)|(\d*\.?\d+)px/g;
function toFixed(number: number, precision: number) {
const multiplier = Math.pow(10, precision + 1),
wholeNumber = Math.floor(number * multiplier);
return (Math.round(wholeNumber / 10) * 10) / multiplier;
}
const transform = (options: Options = {}): Transformer => {
const { rootValue = 16, precision = 5, mediaQuery = false } = options;
const pxReplace = (m: string, $1: any) => {
if (!$1) return m;
const pixels = parseFloat($1);
// covenant: pixels <= 1, not transform to rem @zombieJ
if (pixels <= 1) return m;
const fixedVal = toFixed(pixels / rootValue, precision);
return `${fixedVal}rem`;
};
const visit = (cssObj: CSSObject): CSSObject => {
const clone: CSSObject = { ...cssObj };
Object.entries(cssObj).forEach(([key, value]) => {
if (typeof value === 'string' && value.includes('px')) {
const newValue = value.replace(pxRegex, pxReplace);
clone[key] = newValue;
}
// no unit
if (!unitless[key] && typeof value === 'number' && value !== 0) {
clone[key] = `${value}px`.replace(pxRegex, pxReplace);
}
// Media queries
const mergedKey = key.trim();
if (mergedKey.startsWith('@') && mergedKey.includes('px') && mediaQuery) {
const newKey = key.replace(pxRegex, pxReplace);
clone[newKey] = clone[key];
delete clone[key];
}
});
return clone;
};
return { visit };
};
export default transform;
================================================
FILE: components/_util/cssinjs/util.ts
================================================
import hash from '@emotion/hash';
import { removeCSS, updateCSS } from '../../vc-util/Dom/dynamicCSS';
import canUseDom from '../canUseDom';
import { Theme } from './theme';
// Create a cache here to avoid always loop generate
const flattenTokenCache = new WeakMap();
export function flattenToken(token: any) {
let str = flattenTokenCache.get(token) || '';
if (!str) {
Object.keys(token).forEach(key => {
const value = token[key];
str += key;
if (value instanceof Theme) {
str += value.id;
} else if (value && typeof value === 'object') {
str += flattenToken(value);
} else {
str += value;
}
});
// Put in cache
flattenTokenCache.set(token, str);
}
return str;
}
/**
* Convert derivative token to key string
*/
export function token2key(token: any, salt: string): string {
return hash(`${salt}_${flattenToken(token)}`);
}
const randomSelectorKey = `random-${Date.now()}-${Math.random()}`.replace(/\./g, '');
// Magic `content` for detect selector support
const checkContent = '_bAmBoO_';
function supportSelector(
styleStr: string,
handleElement: (ele: HTMLElement) => void,
supportCheck?: (ele: HTMLElement) => boolean,
): boolean {
if (canUseDom()) {
updateCSS(styleStr, randomSelectorKey);
const ele = document.createElement('div');
ele.style.position = 'fixed';
ele.style.left = '0';
ele.style.top = '0';
handleElement?.(ele);
document.body.appendChild(ele);
if (process.env.NODE_ENV !== 'production') {
ele.innerHTML = 'Test';
ele.style.zIndex = '9999999';
}
const support = supportCheck
? supportCheck(ele)
: getComputedStyle(ele).content?.includes(checkContent);
ele.parentNode?.removeChild(ele);
removeCSS(randomSelectorKey);
return support;
}
return false;
}
let canLayer: boolean | undefined = undefined;
export function supportLayer(): boolean {
if (canLayer === undefined) {
canLayer = supportSelector(
`@layer ${randomSelectorKey} { .${randomSelectorKey} { content: "${checkContent}"!important; } }`,
ele => {
ele.className = randomSelectorKey;
},
);
}
return canLayer!;
}
let canWhere: boolean | undefined = undefined;
export function supportWhere(): boolean {
if (canWhere === undefined) {
canWhere = supportSelector(
`:where(.${randomSelectorKey}) { content: "${checkContent}"!important; }`,
ele => {
ele.className = randomSelectorKey;
},
);
}
return canWhere!;
}
let canLogic: boolean | undefined = undefined;
export function supportLogicProps(): boolean {
if (canLogic === undefined) {
canLogic = supportSelector(
`.${randomSelectorKey} { inset-block: 93px !important; }`,
ele => {
ele.className = randomSelectorKey;
},
ele => getComputedStyle(ele).bottom === '93px',
);
}
return canLogic!;
}
================================================
FILE: components/_util/debouncedWatch.ts
================================================
// copy from https://github.dev/vueuse/vueuse
import type { Ref, WatchOptions, WatchStopHandle } from 'vue';
import { unref, watch } from 'vue';
type MaybeRef = T | Ref;
type Fn = () => void;
export type FunctionArgs = (...args: Args) => Return;
export interface FunctionWrapperOptions {
fn: FunctionArgs;
args: Args;
thisArg: This;
}
export type EventFilter = (
invoke: Fn,
options: FunctionWrapperOptions,
) => void;
const bypassFilter: EventFilter = invoke => {
return invoke();
};
/**
* Create an EventFilter that debounce the events
*
* @param ms
*/
export function debounceFilter(ms: MaybeRef) {
let timer: ReturnType | undefined;
const filter: EventFilter = invoke => {
const duration = unref(ms);
if (timer) clearTimeout(timer);
if (duration <= 0) return invoke();
timer = setTimeout(invoke, duration);
};
return filter;
}
export interface DebouncedWatchOptions extends WatchOptions {
debounce?: MaybeRef;
}
interface ConfigurableEventFilter {
eventFilter?: EventFilter;
}
/**
* @internal
*/
function createFilterWrapper(filter: EventFilter, fn: T) {
function wrapper(this: any, ...args: any[]) {
filter(() => fn.apply(this, args), { fn, thisArg: this, args });
}
return wrapper as any as T;
}
export interface WatchWithFilterOptions
extends WatchOptions,
ConfigurableEventFilter {}
// implementation
export function watchWithFilter = false>(
source: any,
cb: any,
options: WatchWithFilterOptions = {},
): WatchStopHandle {
const { eventFilter = bypassFilter, ...watchOptions } = options;
return watch(source, createFilterWrapper(eventFilter, cb), watchOptions);
}
// implementation
export default function debouncedWatch = false>(
source: any,
cb: any,
options: DebouncedWatchOptions = {},
): WatchStopHandle {
const { debounce = 0, ...watchOptions } = options;
return watchWithFilter(source, cb, {
...watchOptions,
eventFilter: debounceFilter(debounce),
});
}
================================================
FILE: components/_util/eagerComputed.ts
================================================
import { watchEffect, shallowRef } from 'vue';
import type { ComputedRef } from 'vue';
export declare type ComputedGetter = (...args: any[]) => T;
export default function eagerComputed(fn: ComputedGetter) {
const result = shallowRef();
watchEffect(
() => {
result.value = fn();
},
{
flush: 'sync', // needed so updates are immediate.
},
);
return result as any as ComputedRef;
}
================================================
FILE: components/_util/easings.ts
================================================
export function easeInOutCubic(t: number, b: number, c: number, d: number) {
const cc = c - b;
t /= d / 2;
if (t < 1) {
return (cc / 2) * t * t * t + b;
}
return (cc / 2) * ((t -= 2) * t * t + 2) + b;
}
================================================
FILE: components/_util/env.ts
================================================
/* eslint-disable no-undef */
// Browser environment sniffing
export const inBrowser = typeof window !== 'undefined';
export const UA = inBrowser && window.navigator.userAgent.toLowerCase();
export const isIE = UA && /msie|trident/.test(UA);
export const isIE9 = UA && UA.indexOf('msie 9.0') > 0;
export const isEdge = UA && UA.indexOf('edge/') > 0;
export const isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge;
export const isPhantomJS = UA && /phantomjs/.test(UA);
export const isFF = UA && UA.match(/firefox\/(\d+)/);
================================================
FILE: components/_util/extendsObject.ts
================================================
type RecordType = Record;
function extendsObject(...list: T[]) {
const result: RecordType = { ...list[0] };
for (let i = 1; i < list.length; i++) {
const obj = list[i];
if (obj) {
Object.keys(obj).forEach(key => {
const val = obj[key];
if (val !== undefined) {
result[key] = val;
}
});
}
}
return result;
}
export default extendsObject;
================================================
FILE: components/_util/firstNotUndefined.ts
================================================
function firstNotUndefined(arr: T[] = []): T {
for (let i = 0, len = arr.length; i < len; i++) {
if (arr[i] !== undefined) {
return arr[i];
}
}
return undefined;
}
export default firstNotUndefined;
================================================
FILE: components/_util/gapSize.ts
================================================
import type { SizeType } from '../config-provider/SizeContext';
export function isPresetSize(size?: SizeType | string | number): size is SizeType {
return ['small', 'middle', 'large'].includes(size as string);
}
export function isValidGapNumber(size?: SizeType | string | number): size is number {
if (!size) {
// The case of size = 0 is deliberately excluded here, because the default value of the gap attribute in CSS is 0, so if the user passes 0 in, we can directly ignore it.
return false;
}
return typeof size === 'number' && !Number.isNaN(size);
}
================================================
FILE: components/_util/getRequestAnimationFrame.ts
================================================
const availablePrefixs = ['moz', 'ms', 'webkit'];
function requestAnimationFramePolyfill() {
let lastTime = 0;
return function (callback) {
const currTime = new Date().getTime();
const timeToCall = Math.max(0, 16 - (currTime - lastTime));
const id = window.setTimeout(function () {
callback(currTime + timeToCall);
}, timeToCall);
lastTime = currTime + timeToCall;
return id;
};
}
export default function getRequestAnimationFrame() {
if (typeof window === 'undefined') {
return () => {};
}
if (window.requestAnimationFrame) {
// https://github.com/vuejs/vue/issues/4465
return window.requestAnimationFrame.bind(window);
}
const prefix = availablePrefixs.filter(key => `${key}RequestAnimationFrame` in window)[0];
return prefix ? window[`${prefix}RequestAnimationFrame`] : requestAnimationFramePolyfill();
}
export function cancelRequestAnimationFrame(id) {
if (typeof window === 'undefined') {
return null;
}
if (window.cancelAnimationFrame) {
return window.cancelAnimationFrame(id);
}
const prefix = availablePrefixs.filter(
key => `${key}CancelAnimationFrame` in window || `${key}CancelRequestAnimationFrame` in window,
)[0];
return prefix
? (
window[`${prefix}CancelAnimationFrame`] || window[`${prefix}CancelRequestAnimationFrame`]
).call(this, id)
: clearTimeout(id);
}
================================================
FILE: components/_util/getScroll.ts
================================================
export function isWindow(obj: any): obj is Window {
return obj !== null && obj !== undefined && obj === obj.window;
}
export default function getScroll(
target: HTMLElement | Window | Document | null,
top: boolean,
): number {
if (typeof window === 'undefined') {
return 0;
}
const method = top ? 'scrollTop' : 'scrollLeft';
let result = 0;
if (isWindow(target)) {
result = target[top ? 'scrollY' : 'scrollX'];
} else if (target instanceof Document) {
result = target.documentElement[method];
} else if (target instanceof HTMLElement) {
result = target[method];
} else if (target) {
// According to the type inference, the `target` is `never` type.
// Since we configured the loose mode type checking, and supports mocking the target with such shape below::
// `{ documentElement: { scrollLeft: 200, scrollTop: 400 } }`,
// the program may falls into this branch.
// Check the corresponding tests for details. Don't sure what is the real scenario this happens.
result = target[method];
}
if (target && !isWindow(target) && typeof result !== 'number') {
result = ((target.ownerDocument ?? target) as any).documentElement?.[method];
}
return result;
}
================================================
FILE: components/_util/getScrollBarSize.ts
================================================
/* eslint-disable no-param-reassign */
let cached: number;
export default function getScrollBarSize(fresh?: boolean) {
if (typeof document === 'undefined') {
return 0;
}
if (fresh || cached === undefined) {
const inner = document.createElement('div');
inner.style.width = '100%';
inner.style.height = '200px';
const outer = document.createElement('div');
const outerStyle = outer.style;
outerStyle.position = 'absolute';
outerStyle.top = '0';
outerStyle.left = '0';
outerStyle.pointerEvents = 'none';
outerStyle.visibility = 'hidden';
outerStyle.width = '200px';
outerStyle.height = '150px';
outerStyle.overflow = 'hidden';
outer.appendChild(inner);
document.body.appendChild(outer);
const widthContained = inner.offsetWidth;
outer.style.overflow = 'scroll';
let widthScroll = inner.offsetWidth;
if (widthContained === widthScroll) {
widthScroll = outer.clientWidth;
}
document.body.removeChild(outer);
cached = widthContained - widthScroll;
}
return cached;
}
function ensureSize(str: string) {
const match = str.match(/^(.*)px$/);
const value = Number(match?.[1]);
return Number.isNaN(value) ? getScrollBarSize() : value;
}
export function getTargetScrollBarSize(target: HTMLElement) {
if (typeof document === 'undefined' || !target || !(target instanceof Element)) {
return { width: 0, height: 0 };
}
const { width, height } = getComputedStyle(target, '::-webkit-scrollbar');
return {
width: ensureSize(width),
height: ensureSize(height),
};
}
================================================
FILE: components/_util/hooks/_vueuse/_configurable.ts
================================================
import { isClient } from './is';
export interface ConfigurableWindow {
/*
* Specify a custom `window` instance, e.g. working with iframes or in testing environments.
*/
window?: Window;
}
export interface ConfigurableDocument {
/*
* Specify a custom `document` instance, e.g. working with iframes or in testing environments.
*/
document?: Document;
}
export interface ConfigurableNavigator {
/*
* Specify a custom `navigator` instance, e.g. working with iframes or in testing environments.
*/
navigator?: Navigator;
}
export interface ConfigurableLocation {
/*
* Specify a custom `location` instance, e.g. working with iframes or in testing environments.
*/
location?: Location;
}
export const defaultWindow = isClient ? window : undefined;
export const defaultDocument = isClient ? window.document : undefined;
export const defaultNavigator = isClient ? window.navigator : undefined;
export const defaultLocation = isClient ? window.location : undefined;
================================================
FILE: components/_util/hooks/_vueuse/is.ts
================================================
export const isClient = typeof window !== 'undefined';
export const isDef = (val?: T): val is T => typeof val !== 'undefined';
export const assert = (condition: boolean, ...infos: any[]) => {
if (!condition) console.warn(...infos);
};
const toString = Object.prototype.toString;
export const isBoolean = (val: any): val is boolean => typeof val === 'boolean';
export const isFunction = (val: any): val is T => typeof val === 'function';
export const isNumber = (val: any): val is number => typeof val === 'number';
export const isString = (val: unknown): val is string => typeof val === 'string';
export const isObject = (val: any): val is object => toString.call(val) === '[object Object]';
export const isWindow = (val: any): val is Window =>
typeof window !== 'undefined' && toString.call(val) === '[object Window]';
export const now = () => Date.now();
export const timestamp = () => +Date.now();
export const clamp = (n: number, min: number, max: number) => Math.min(max, Math.max(min, n));
export const noop = () => {};
export const rand = (min: number, max: number) => {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
};
export const isIOS =
isClient && window?.navigator?.userAgent && /iP(ad|hone|od)/.test(window.navigator.userAgent);
export const hasOwn = (val: T, key: K): key is K =>
Object.prototype.hasOwnProperty.call(val, key);
================================================
FILE: components/_util/hooks/_vueuse/resolveUnref.ts
================================================
import { unref } from 'vue';
import type { MaybeComputedRef } from './types';
/**
* Get the value of value/ref/getter.
*/
export function resolveUnref(r: MaybeComputedRef): T {
return typeof r === 'function' ? (r as any)() : unref(r);
}
================================================
FILE: components/_util/hooks/_vueuse/tryOnMounted.ts
================================================
// eslint-disable-next-line no-restricted-imports
import { getCurrentInstance, nextTick, onMounted } from 'vue';
import type { Fn } from './types';
/**
* Call onMounted() if it's inside a component lifecycle, if not, just call the function
*
* @param fn
* @param sync if set to false, it will run in the nextTick() of Vue
*/
export function tryOnMounted(fn: Fn, sync = true) {
if (getCurrentInstance()) onMounted(fn);
else if (sync) fn();
else nextTick(fn);
}
================================================
FILE: components/_util/hooks/_vueuse/tryOnScopeDispose.ts
================================================
import { getCurrentScope, onScopeDispose } from 'vue';
import type { Fn } from './types';
/**
* Call onScopeDispose() if it's inside a effect scope lifecycle, if not, do nothing
*
* @param fn
*/
export function tryOnScopeDispose(fn: Fn) {
if (getCurrentScope()) {
onScopeDispose(fn);
return true;
}
return false;
}
================================================
FILE: components/_util/hooks/_vueuse/types.ts
================================================
import type { ComputedRef, Ref, WatchOptions, WatchSource } from 'vue';
/**
* Any function
*/
export type Fn = () => void;
/**
* A ref that allow to set null or undefined
*/
export type RemovableRef = Omit[, 'value'> & {
get value(): T;
set value(value: T | null | undefined);
};
/**
* @deprecated Use `RemovableRef`
*/
export type RemoveableRef] = RemovableRef;
/**
* Maybe it's a ref, or a plain value
*
* ```ts
* type MaybeRef = T | Ref
* ```
*/
export type MaybeRef = T | Ref;
/**
* Maybe it's a ref, or a plain value, or a getter function
*
* ```ts
* type MaybeComputedRef = (() => T) | T | Ref | ComputedRef
* ```
*/
export type MaybeComputedRef = MaybeReadonlyRef | MaybeRef;
/**
* Maybe it's a computed ref, or a getter function
*
* ```ts
* type MaybeReadonlyRef = (() => T) | ComputedRef
* ```
*/
export type MaybeReadonlyRef = (() => T) | ComputedRef;
/**
* Make all the nested attributes of an object or array to MaybeRef
*
* Good for accepting options that will be wrapped with `reactive` or `ref`
*
* ```ts
* UnwrapRef> === T
* ```
*/
export type DeepMaybeRef = T extends Ref
? MaybeRef
: T extends Array | object
? { [K in keyof T]: DeepMaybeRef }
: MaybeRef;
/**
* Infers the element type of an array
*/
export type ElementOf = T extends (infer E)[] ? E : never;
export type ShallowUnwrapRef = T extends Ref ? P : T;
export type Awaitable = Promise | T;
export type ArgumentsType = T extends (...args: infer U) => any ? U : never;
export interface Pausable {
/**
* A ref indicate whether a pausable instance is active
*/
isActive: Ref;
/**
* Temporary pause the effect from executing
*/
pause: Fn;
/**
* Resume the effects
*/
resume: Fn;
}
export interface Stoppable {
/**
* A ref indicate whether a stoppable instance is executing
*/
isPending: Ref;
/**
* Stop the effect from executing
*/
stop: Fn;
/**
* Start the effects
*/
start: Fn;
}
/**
* @deprecated Use `Stoppable`
*/
export type Stopable = Stoppable;
export interface ConfigurableFlush {
/**
* Timing for monitoring changes, refer to WatchOptions for more details
*
* @default 'pre'
*/
flush?: WatchOptions['flush'];
}
export interface ConfigurableFlushSync {
/**
* Timing for monitoring changes, refer to WatchOptions for more details.
* Unlike `watch()`, the default is set to `sync`
*
* @default 'sync'
*/
flush?: WatchOptions['flush'];
}
// Internal Types
export type MapSources = {
[K in keyof T]: T[K] extends WatchSource ? V : never;
};
export type MapOldSources = {
[K in keyof T]: T[K] extends WatchSource
? Immediate extends true
? V | undefined
: V
: never;
};
================================================
FILE: components/_util/hooks/_vueuse/unrefElement.ts
================================================
import type { ComponentPublicInstance } from 'vue';
import type { MaybeComputedRef, MaybeRef } from './types';
import { resolveUnref } from './resolveUnref';
export type VueInstance = ComponentPublicInstance;
export type MaybeElementRef = MaybeRef;
export type MaybeComputedElementRef = MaybeComputedRef;
export type MaybeElement = HTMLElement | SVGElement | VueInstance | undefined | null;
export type UnRefElementReturn = T extends VueInstance
? Exclude
: T | undefined;
/**
* Get the dom element of a ref of element or Vue component instance
*
* @param elRef
*/
export function unrefElement(
elRef: MaybeComputedElementRef,
): UnRefElementReturn {
const plain = resolveUnref(elRef);
return (plain as VueInstance)?.$el ?? plain;
}
================================================
FILE: components/_util/hooks/_vueuse/useElementSize.ts
================================================
import { shallowRef, watch } from 'vue';
import type { MaybeComputedElementRef } from './unrefElement';
import type { UseResizeObserverOptions } from './useResizeObserver';
import { useResizeObserver } from './useResizeObserver';
import { unrefElement } from './unrefElement';
export interface ElementSize {
width: number;
height: number;
}
/**
* Reactive size of an HTML element.
*
* @see https://vueuse.org/useElementSize
* @param target
* @param callback
* @param options
*/
export function useElementSize(
target: MaybeComputedElementRef,
initialSize: ElementSize = { width: 0, height: 0 },
options: UseResizeObserverOptions = {},
) {
const { box = 'content-box' } = options;
const width = shallowRef(initialSize.width);
const height = shallowRef(initialSize.height);
useResizeObserver(
target,
([entry]) => {
const boxSize =
box === 'border-box'
? entry.borderBoxSize
: box === 'content-box'
? entry.contentBoxSize
: entry.devicePixelContentBoxSize;
if (boxSize) {
width.value = boxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0);
height.value = boxSize.reduce((acc, { blockSize }) => acc + blockSize, 0);
} else {
// fallback
width.value = entry.contentRect.width;
height.value = entry.contentRect.height;
}
},
options,
);
watch(
() => unrefElement(target),
ele => {
width.value = ele ? initialSize.width : 0;
height.value = ele ? initialSize.height : 0;
},
);
return {
width,
height,
};
}
export type UseElementSizeReturn = ReturnType;
================================================
FILE: components/_util/hooks/_vueuse/useMutationObserver.ts
================================================
import { tryOnScopeDispose } from './tryOnScopeDispose';
import { watch } from 'vue';
import type { MaybeElementRef } from './unrefElement';
import { unrefElement } from './unrefElement';
import { useSupported } from './useSupported';
import type { ConfigurableWindow } from './_configurable';
import { defaultWindow } from './_configurable';
export interface UseMutationObserverOptions extends MutationObserverInit, ConfigurableWindow {}
/**
* Watch for changes being made to the DOM tree.
*
* @see https://vueuse.org/useMutationObserver
* @see https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver MutationObserver MDN
* @param target
* @param callback
* @param options
*/
export function useMutationObserver(
target: MaybeElementRef,
callback: MutationCallback,
options: UseMutationObserverOptions = {},
) {
const { window = defaultWindow, ...mutationOptions } = options;
let observer: MutationObserver | undefined;
const isSupported = useSupported(() => window && 'MutationObserver' in window);
const cleanup = () => {
if (observer) {
observer.disconnect();
observer = undefined;
}
};
const stopWatch = watch(
() => unrefElement(target),
el => {
cleanup();
if (isSupported.value && window && el) {
observer = new MutationObserver(callback);
observer!.observe(el, mutationOptions);
}
},
{ immediate: true },
);
const stop = () => {
cleanup();
stopWatch();
};
tryOnScopeDispose(stop);
return {
isSupported,
stop,
};
}
export type UseMutationObserverReturn = ReturnType;
================================================
FILE: components/_util/hooks/_vueuse/useResizeObserver.ts
================================================
import { tryOnScopeDispose } from './tryOnScopeDispose';
import { watch } from 'vue';
import type { MaybeComputedElementRef } from './unrefElement';
import { unrefElement } from './unrefElement';
import { useSupported } from './useSupported';
import type { ConfigurableWindow } from './_configurable';
import { defaultWindow } from './_configurable';
export interface ResizeObserverSize {
readonly inlineSize: number;
readonly blockSize: number;
}
export interface ResizeObserverEntry {
readonly target: Element;
readonly contentRect: DOMRectReadOnly;
readonly borderBoxSize?: ReadonlyArray;
readonly contentBoxSize?: ReadonlyArray;
readonly devicePixelContentBoxSize?: ReadonlyArray;
}
export type ResizeObserverCallback = (
entries: ReadonlyArray,
observer: ResizeObserver,
) => void;
export interface UseResizeObserverOptions extends ConfigurableWindow {
/**
* Sets which box model the observer will observe changes to. Possible values
* are `content-box` (the default), `border-box` and `device-pixel-content-box`.
*
* @default 'content-box'
*/
box?: ResizeObserverBoxOptions;
}
declare class ResizeObserver {
constructor(callback: ResizeObserverCallback);
disconnect(): void;
observe(target: Element, options?: UseResizeObserverOptions): void;
unobserve(target: Element): void;
}
/**
* Reports changes to the dimensions of an Element's content or the border-box
*
* @see https://vueuse.org/useResizeObserver
* @param target
* @param callback
* @param options
*/
export function useResizeObserver(
target: MaybeComputedElementRef,
callback: ResizeObserverCallback,
options: UseResizeObserverOptions = {},
) {
const { window = defaultWindow, ...observerOptions } = options;
let observer: ResizeObserver | undefined;
const isSupported = useSupported(() => window && 'ResizeObserver' in window);
const cleanup = () => {
if (observer) {
observer.disconnect();
observer = undefined;
}
};
const stopWatch = watch(
() => unrefElement(target),
el => {
cleanup();
if (isSupported.value && window && el) {
observer = new ResizeObserver(callback);
observer!.observe(el, observerOptions);
}
},
{ immediate: true, flush: 'post' },
);
const stop = () => {
cleanup();
stopWatch();
};
tryOnScopeDispose(stop);
return {
isSupported,
stop,
};
}
export type UseResizeObserverReturn = ReturnType;
================================================
FILE: components/_util/hooks/_vueuse/useSupported.ts
================================================
import { tryOnMounted } from './tryOnMounted';
import { shallowRef } from 'vue';
export function useSupported(callback: () => unknown, sync = false) {
const isSupported = shallowRef();
const update = () => (isSupported.value = Boolean(callback()));
update();
tryOnMounted(update, sync);
return isSupported;
}
================================================
FILE: components/_util/hooks/useBreakpoint.ts
================================================
import type { Ref } from 'vue';
import { onMounted, onUnmounted, shallowRef } from 'vue';
import type { ScreenMap } from '../../_util/responsiveObserve';
import useResponsiveObserve from '../../_util/responsiveObserve';
function useBreakpoint(): Ref {
const screens = shallowRef({});
let token = null;
const responsiveObserve = useResponsiveObserve();
onMounted(() => {
token = responsiveObserve.value.subscribe(supportScreens => {
screens.value = supportScreens;
});
});
onUnmounted(() => {
responsiveObserve.value.unsubscribe(token);
});
return screens;
}
export default useBreakpoint;
================================================
FILE: components/_util/hooks/useDestroyed.ts
================================================
import { onBeforeUnmount, shallowRef } from 'vue';
const useDestroyed = () => {
const destroyed = shallowRef(false);
onBeforeUnmount(() => {
destroyed.value = true;
});
return destroyed;
};
export default useDestroyed;
================================================
FILE: components/_util/hooks/useFlexGapSupport.ts
================================================
import { onMounted, shallowRef } from 'vue';
import { detectFlexGapSupported } from '../styleChecker';
export default () => {
const flexible = shallowRef(false);
onMounted(() => {
flexible.value = detectFlexGapSupported();
});
return flexible;
};
================================================
FILE: components/_util/hooks/useId.ts
================================================
import { ref } from 'vue';
import canUseDom from '../../_util/canUseDom';
let uuid = 0;
/** Is client side and not jsdom */
export const isBrowserClient = process.env.NODE_ENV !== 'test' && canUseDom();
/** Get unique id for accessibility usage */
export function getUUID(): number | string {
let retId: string | number;
// Test never reach
/* istanbul ignore if */
if (isBrowserClient) {
retId = uuid;
uuid += 1;
} else {
retId = 'TEST_OR_SSR';
}
return retId;
}
export default function useId(id = ref('')) {
// Inner id for accessibility usage. Only work in client side
const innerId = `vc_unique_${getUUID()}`;
return id.value || innerId;
}
================================================
FILE: components/_util/hooks/useLayoutState.ts
================================================
import type { Ref } from 'vue';
import { onBeforeUnmount, shallowRef } from 'vue';
import raf from '../raf';
export type Updater = (prev: State) => State;
/**
* Execute code before next frame but async
*/
export function useLayoutState(
defaultState: State,
): [Ref, (updater: Updater) => void] {
const stateRef = shallowRef(defaultState);
let tempState = stateRef.value;
let updateBatchRef = [];
const rafRef = shallowRef();
function setFrameState(updater: Updater) {
raf.cancel(rafRef.value);
updateBatchRef.push(updater);
rafRef.value = raf(() => {
const prevBatch = updateBatchRef;
// const prevState = stateRef.value;
updateBatchRef = [];
prevBatch.forEach(batchUpdater => {
tempState = batchUpdater(tempState);
});
// if (tempState !== stateRef.value) {
stateRef.value = tempState;
// }
});
}
onBeforeUnmount(() => {
raf.cancel(rafRef.value);
});
return [stateRef as Ref, setFrameState];
}
================================================
FILE: components/_util/hooks/useMemo.ts
================================================
import type { Ref, WatchSource } from 'vue';
import { ref, watch } from 'vue';
export default function useMemo(
getValue: () => T,
condition: (WatchSource | object)[],
shouldUpdate?: (prev: any[], next: any[]) => boolean,
) {
const cacheRef: Ref = ref(getValue() as any);
watch(condition, (next, pre) => {
if (shouldUpdate) {
if (shouldUpdate(next, pre)) {
cacheRef.value = getValue();
}
} else {
cacheRef.value = getValue();
}
});
return cacheRef;
}
================================================
FILE: components/_util/hooks/useMergedState.ts
================================================
import type { Ref, UnwrapRef } from 'vue';
import { toRaw, watchEffect, unref, watch, ref } from 'vue';
export default function useMergedState>(
defaultStateValue: T | (() => T),
option?: {
defaultValue?: T | (() => T);
value?: Ref | Ref>;
onChange?: (val: T, prevValue: T) => void;
postState?: (val: T) => T;
},
): [R, (val: T) => void] {
const { defaultValue, value = ref() } = option || {};
let initValue: T =
typeof defaultStateValue === 'function' ? (defaultStateValue as any)() : defaultStateValue;
if (value.value !== undefined) {
initValue = unref(value as any) as T;
}
if (defaultValue !== undefined) {
initValue = typeof defaultValue === 'function' ? (defaultValue as any)() : defaultValue;
}
const innerValue = ref(initValue) as Ref;
const mergedValue = ref(initValue) as Ref;
watchEffect(() => {
let val = value.value !== undefined ? value.value : innerValue.value;
if (option.postState) {
val = option.postState(val as T);
}
mergedValue.value = val as T;
});
function triggerChange(newValue: T) {
const preVal = mergedValue.value;
innerValue.value = newValue;
if (toRaw(mergedValue.value) !== newValue && option.onChange) {
option.onChange(newValue, preVal);
}
}
// Effect of reset value to `undefined`
watch(value, () => {
innerValue.value = value.value as T;
});
return [mergedValue as unknown as R, triggerChange];
}
================================================
FILE: components/_util/hooks/useRefs.ts
================================================
import type { Ref, ComponentPublicInstance } from 'vue';
import { onBeforeUpdate, ref } from 'vue';
import type { Key } from '../type';
type RefType = HTMLElement | ComponentPublicInstance;
export type RefsValue = Map;
type UseRef = [(key: Key) => (el: RefType) => void, Ref];
const useRefs = (): UseRef => {
const refs = ref(new Map());
const setRef = (key: Key) => (el: RefType) => {
refs.value.set(key, el);
};
onBeforeUpdate(() => {
refs.value = new Map();
});
return [setRef, refs];
};
export default useRefs;
================================================
FILE: components/_util/hooks/useScrollLocker.ts
================================================
import type { Ref } from 'vue';
import { computed, watchEffect } from 'vue';
import { updateCSS, removeCSS } from '../../vc-util/Dom/dynamicCSS';
import getScrollBarSize from '../../_util/getScrollBarSize';
import canUseDom from '../../_util/canUseDom';
const UNIQUE_ID = `vc-util-locker-${Date.now()}`;
let uuid = 0;
/**../vc-util/Dom/dynam
* Test usage export. Do not use in your production
*/
export function isBodyOverflowing() {
return (
document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight) &&
window.innerWidth > document.body.offsetWidth
);
}
export default function useScrollLocker(lock?: Ref) {
const mergedLock = computed(() => !!lock && !!lock.value);
uuid += 1;
const id = `${UNIQUE_ID}_${uuid}`;
watchEffect(
onClear => {
if (!canUseDom()) {
return;
}
if (mergedLock.value) {
const scrollbarSize = getScrollBarSize();
const isOverflow = isBodyOverflowing();
updateCSS(
`
html body {
overflow-y: hidden;
${isOverflow ? `width: calc(100% - ${scrollbarSize}px);` : ''}
}`,
id,
);
} else {
removeCSS(id);
}
onClear(() => {
removeCSS(id);
});
},
{ flush: 'post' },
);
}
================================================
FILE: components/_util/hooks/useState.ts
================================================
import type { Ref } from 'vue';
import { ref } from 'vue';
export default function useState>(
defaultStateValue?: T | (() => T),
): [R, (val: T) => void] {
const initValue: T =
typeof defaultStateValue === 'function' ? (defaultStateValue as any)() : defaultStateValue;
const innerValue = ref(initValue) as Ref;
function triggerChange(newValue: T) {
innerValue.value = newValue;
}
return [innerValue as unknown as R, triggerChange];
}
================================================
FILE: components/_util/isNumeric.ts
================================================
const isNumeric = (value: any): boolean => {
return !isNaN(parseFloat(value)) && isFinite(value);
};
export default isNumeric;
================================================
FILE: components/_util/isValid.ts
================================================
const isValid = (value: any): boolean => {
return value !== undefined && value !== null && value !== '';
};
export default isValid;
================================================
FILE: components/_util/isValidValue.ts
================================================
export default function (val: any) {
return val !== undefined && val !== null;
}
================================================
FILE: components/_util/json2mq.ts
================================================
/**
* source by `json2mq`
* https://github.com/akiran/json2mq.git
*/
const camel2hyphen = function (str: string) {
return str
.replace(/[A-Z]/g, function (match) {
return '-' + match.toLowerCase();
})
.toLowerCase();
};
const isDimension = function (feature: string) {
const re = /[height|width]$/;
return re.test(feature);
};
const obj2mq = function (obj: { [x: string]: any }) {
let mq = '';
const features = Object.keys(obj);
features.forEach(function (feature, index) {
let value = obj[feature];
feature = camel2hyphen(feature);
// Add px to dimension features
if (isDimension(feature) && typeof value === 'number') {
value = value + 'px';
}
if (value === true) {
mq += feature;
} else if (value === false) {
mq += 'not ' + feature;
} else {
mq += '(' + feature + ': ' + value + ')';
}
if (index < features.length - 1) {
mq += ' and ';
}
});
return mq;
};
export default function (query: any[]) {
let mq = '';
if (typeof query === 'string') {
return query;
}
// Handling array of media queries
if (query instanceof Array) {
query.forEach(function (q, index) {
mq += obj2mq(q);
if (index < query.length - 1) {
mq += ', ';
}
});
return mq;
}
// Handling single media query
return obj2mq(query);
}
================================================
FILE: components/_util/omit.ts
================================================
function omit(obj: T, fields: K[]): Omit {
// eslint-disable-next-line prefer-object-spread
const shallowCopy = Object.assign({}, obj);
for (let i = 0; i < fields.length; i += 1) {
const key = fields[i];
delete shallowCopy[key];
}
return shallowCopy;
}
export default omit;
================================================
FILE: components/_util/pickAttrs.ts
================================================
const attributes = `accept acceptcharset accesskey action allowfullscreen allowtransparency
alt async autocomplete autofocus autoplay capture cellpadding cellspacing challenge
charset checked classid classname colspan cols content contenteditable contextmenu
controls coords crossorigin data datetime default defer dir disabled download draggable
enctype form formaction formenctype formmethod formnovalidate formtarget frameborder
headers height hidden high href hreflang htmlfor for httpequiv icon id inputmode integrity
is keyparams keytype kind label lang list loop low manifest marginheight marginwidth max maxlength media
mediagroup method min minlength multiple muted name novalidate nonce open
optimum pattern placeholder poster preload radiogroup readonly rel required
reversed role rowspan rows sandbox scope scoped scrolling seamless selected
shape size sizes span spellcheck src srcdoc srclang srcset start step style
summary tabindex target title type usemap value width wmode wrap`;
const eventsName = `onCopy onCut onPaste onCompositionend onCompositionstart onCompositionupdate onKeydown
onKeypress onKeyup onFocus onBlur onChange onInput onSubmit onClick onContextmenu onDoubleclick onDblclick
onDrag onDragend onDragenter onDragexit onDragleave onDragover onDragstart onDrop onMousedown
onMouseenter onMouseleave onMousemove onMouseout onMouseover onMouseup onSelect onTouchcancel
onTouchend onTouchmove onTouchstart onTouchstartPassive onTouchmovePassive onScroll onWheel onAbort onCanplay onCanplaythrough
onDurationchange onEmptied onEncrypted onEnded onError onLoadeddata onLoadedmetadata
onLoadstart onPause onPlay onPlaying onProgress onRatechange onSeeked onSeeking onStalled onSuspend onTimeupdate onVolumechange onWaiting onLoad onError`;
const propList = `${attributes} ${eventsName}`.split(/[\s\n]+/);
/* eslint-enable max-len */
const ariaPrefix = 'aria-';
const dataPrefix = 'data-';
function match(key: string, prefix: string) {
return key.indexOf(prefix) === 0;
}
export interface PickConfig {
aria?: boolean;
data?: boolean;
attr?: boolean;
}
/**
* Picker props from exist props with filter
* @param props Passed props
* @param ariaOnly boolean | { aria?: boolean; data?: boolean; attr?: boolean; } filter config
*/
export default function pickAttrs(props: object, ariaOnly: boolean | PickConfig = false) {
let mergedConfig;
if (ariaOnly === false) {
mergedConfig = {
aria: true,
data: true,
attr: true,
};
} else if (ariaOnly === true) {
mergedConfig = {
aria: true,
};
} else {
mergedConfig = {
...ariaOnly,
};
}
const attrs = {};
Object.keys(props).forEach(key => {
if (
// Aria
(mergedConfig.aria && (key === 'role' || match(key, ariaPrefix))) ||
// Data
(mergedConfig.data && match(key, dataPrefix)) ||
// Attr
(mergedConfig.attr && (propList.includes(key) || propList.includes(key.toLowerCase())))
) {
attrs[key] = props[key];
}
});
return attrs;
}
================================================
FILE: components/_util/placements.ts
================================================
import { placements } from '../vc-tooltip/src/placements';
const autoAdjustOverflowEnabled = {
adjustX: 1,
adjustY: 1,
};
const autoAdjustOverflowDisabled = {
adjustX: 0,
adjustY: 0,
};
const targetOffset = [0, 0];
export interface AdjustOverflow {
adjustX?: 0 | 1;
adjustY?: 0 | 1;
}
export interface PlacementsConfig {
arrowWidth?: number;
horizontalArrowShift?: number;
verticalArrowShift?: number;
arrowPointAtCenter?: boolean;
autoAdjustOverflow?: boolean | AdjustOverflow;
}
export function getOverflowOptions(autoAdjustOverflow?: boolean | AdjustOverflow) {
if (typeof autoAdjustOverflow === 'boolean') {
return autoAdjustOverflow ? autoAdjustOverflowEnabled : autoAdjustOverflowDisabled;
}
return {
...autoAdjustOverflowDisabled,
...autoAdjustOverflow,
};
}
export default function getPlacements(config: PlacementsConfig) {
const {
arrowWidth = 4,
horizontalArrowShift = 16,
verticalArrowShift = 8,
autoAdjustOverflow,
arrowPointAtCenter,
} = config;
const placementMap = {
left: {
points: ['cr', 'cl'],
offset: [-4, 0],
},
right: {
points: ['cl', 'cr'],
offset: [4, 0],
},
top: {
points: ['bc', 'tc'],
offset: [0, -4],
},
bottom: {
points: ['tc', 'bc'],
offset: [0, 4],
},
topLeft: {
points: ['bl', 'tc'],
offset: [-(horizontalArrowShift + arrowWidth), -4],
},
leftTop: {
points: ['tr', 'cl'],
offset: [-4, -(verticalArrowShift + arrowWidth)],
},
topRight: {
points: ['br', 'tc'],
offset: [horizontalArrowShift + arrowWidth, -4],
},
rightTop: {
points: ['tl', 'cr'],
offset: [4, -(verticalArrowShift + arrowWidth)],
},
bottomRight: {
points: ['tr', 'bc'],
offset: [horizontalArrowShift + arrowWidth, 4],
},
rightBottom: {
points: ['bl', 'cr'],
offset: [4, verticalArrowShift + arrowWidth],
},
bottomLeft: {
points: ['tl', 'bc'],
offset: [-(horizontalArrowShift + arrowWidth), 4],
},
leftBottom: {
points: ['br', 'cl'],
offset: [-4, verticalArrowShift + arrowWidth],
},
};
Object.keys(placementMap).forEach(key => {
placementMap[key] = arrowPointAtCenter
? {
...placementMap[key],
overflow: getOverflowOptions(autoAdjustOverflow),
targetOffset,
}
: {
...placements[key],
overflow: getOverflowOptions(autoAdjustOverflow),
};
placementMap[key].ignoreShake = true;
});
return placementMap;
}
================================================
FILE: components/_util/props-util/index.ts
================================================
import classNames from '../classNames';
import { isVNode, Fragment, Comment, Text } from 'vue';
import { camelize, hyphenate, isOn, resolvePropValue } from '../util';
import isValid from '../isValid';
import initDefaultProps from './initDefaultProps';
import type { VueInstance } from '../hooks/_vueuse/unrefElement';
// function getType(fn) {
// const match = fn && fn.toString().match(/^\s*function (\w+)/);
// return match ? match[1] : '';
// }
const splitAttrs = (attrs: any) => {
const allAttrs = Object.keys(attrs);
const eventAttrs: Record = {};
const onEvents: Record = {};
const extraAttrs: Record = {};
for (let i = 0, l = allAttrs.length; i < l; i++) {
const key = allAttrs[i];
if (isOn(key)) {
eventAttrs[key[2].toLowerCase() + key.slice(3)] = attrs[key];
onEvents[key] = attrs[key];
} else {
extraAttrs[key] = attrs[key];
}
}
return { onEvents, events: eventAttrs, extraAttrs };
};
const parseStyleText = (cssText = '', camel = false) => {
const res = {};
const listDelimiter = /;(?![^(]*\))/g;
const propertyDelimiter = /:(.+)/;
if (typeof cssText === 'object') return cssText;
cssText.split(listDelimiter).forEach(function (item) {
if (item) {
const tmp = item.split(propertyDelimiter);
if (tmp.length > 1) {
const k = camel ? camelize(tmp[0].trim()) : tmp[0].trim();
res[k] = tmp[1].trim();
}
}
});
return res;
};
const hasProp = (instance: any, prop: string) => {
return instance[prop] !== undefined;
};
export const skipFlattenKey = Symbol('skipFlatten');
const flattenChildren = (children = [], filterEmpty = true) => {
const temp = Array.isArray(children) ? children : [children];
const res = [];
temp.forEach(child => {
if (Array.isArray(child)) {
res.push(...flattenChildren(child, filterEmpty));
} else if (child && child.type === Fragment) {
if (child.key === skipFlattenKey) {
res.push(child);
} else {
res.push(...flattenChildren(child.children, filterEmpty));
}
} else if (child && isVNode(child)) {
if (filterEmpty && !isEmptyElement(child)) {
res.push(child);
} else if (!filterEmpty) {
res.push(child);
}
} else if (isValid(child)) {
res.push(child);
}
});
return res;
};
const getSlot = (self: any, name = 'default', options = {}) => {
if (isVNode(self)) {
if (self.type === Fragment) {
return name === 'default' ? flattenChildren(self.children as any[]) : [];
} else if (self.children && self.children[name]) {
return flattenChildren(self.children[name](options));
} else {
return [];
}
} else {
const res = self.$slots[name] && self.$slots[name](options);
return flattenChildren(res);
}
};
const findDOMNode = (instance: any) => {
let node = instance?.vnode?.el || (instance && (instance.$el || instance));
while (node && !node.tagName) {
node = node.nextSibling;
}
return node;
};
const getOptionProps = (instance: VueInstance) => {
const res = {};
if (instance.$ && instance.$.vnode) {
const props = instance.$.vnode.props || {};
Object.keys(instance.$props).forEach(k => {
const v = instance.$props[k];
const hyphenateKey = hyphenate(k);
if (v !== undefined || hyphenateKey in props) {
res[k] = v; // 直接取 $props[k]
}
});
} else if (isVNode(instance) && typeof instance.type === 'object') {
const originProps = instance.props || {};
const props = {};
Object.keys(originProps).forEach(key => {
props[camelize(key)] = originProps[key];
});
const options = (instance.type as any).props || {};
Object.keys(options).forEach(k => {
const v = resolvePropValue(options, props, k, props[k]);
if (v !== undefined || k in props) {
res[k] = v;
}
});
}
return res;
};
const getComponent = (instance: any, prop = 'default', options = instance, execute = true) => {
let com = undefined;
if (instance.$) {
const temp = instance[prop];
if (temp !== undefined) {
return typeof temp === 'function' && execute ? temp(options) : temp;
} else {
com = instance.$slots[prop];
com = execute && com ? com(options) : com;
}
} else if (isVNode(instance)) {
const temp = instance.props && instance.props[prop];
if (temp !== undefined && instance.props !== null) {
return typeof temp === 'function' && execute ? temp(options) : temp;
} else if (instance.type === Fragment) {
com = instance.children;
} else if (instance.children && instance.children[prop]) {
com = instance.children[prop];
com = execute && com ? com(options) : com;
}
}
if (Array.isArray(com)) {
com = flattenChildren(com);
com = com.length === 1 ? com[0] : com;
com = com.length === 0 ? undefined : com;
}
return com;
};
const getKey = (ele: any) => {
const key = ele.key;
return key;
};
export function getEvents(ele: any = {}, on = true) {
let props = {};
if (ele.$) {
props = { ...props, ...ele.$attrs };
} else {
props = { ...props, ...ele.props };
}
return splitAttrs(props)[on ? 'onEvents' : 'events'];
}
export function getClass(ele: any) {
const props = (isVNode(ele) ? ele.props : ele.$attrs) || {};
const tempCls = props.class || {};
let cls = {};
if (typeof tempCls === 'string') {
tempCls.split(' ').forEach(c => {
cls[c.trim()] = true;
});
} else if (Array.isArray(tempCls)) {
classNames(tempCls)
.split(' ')
.forEach(c => {
cls[c.trim()] = true;
});
} else {
cls = { ...cls, ...tempCls };
}
return cls;
}
export function getStyle(ele: any, camel?: boolean) {
const props = (isVNode(ele) ? ele.props : ele.$attrs) || {};
let style = props.style || {};
if (typeof style === 'string') {
style = parseStyleText(style, camel);
} else if (camel && style) {
// 驼峰化
const res = {};
Object.keys(style).forEach(k => (res[camelize(k)] = style[k]));
return res;
}
return style;
}
export function getComponentName(opts: any) {
return opts && (opts.Ctor.options.name || opts.tag);
}
export function isFragment(c: any) {
return c.length === 1 && c[0].type === Fragment;
}
export function isEmptyContent(c: any) {
return c === undefined || c === null || c === '' || (Array.isArray(c) && c.length === 0);
}
export function isEmptyElement(c: any) {
return (
c &&
(c.type === Comment ||
(c.type === Fragment && c.children.length === 0) ||
(c.type === Text && c.children.trim() === ''))
);
}
export function isEmptySlot(c: any) {
return !c || c().every(isEmptyElement);
}
export function isStringElement(c: any) {
return c && c.type === Text;
}
export function filterEmpty(children = []) {
const res = [];
children.forEach(child => {
if (Array.isArray(child)) {
res.push(...child);
} else if (child?.type === Fragment) {
res.push(...filterEmpty(child.children));
} else {
res.push(child);
}
});
return res.filter(c => !isEmptyElement(c));
}
export function filterEmptyWithUndefined(children: any[]) {
if (children) {
const coms = filterEmpty(children);
return coms.length ? coms : undefined;
} else {
return children;
}
}
function isValidElement(element: any) {
if (Array.isArray(element) && element.length === 1) {
element = element[0];
}
return element && element.__v_isVNode && typeof element.type !== 'symbol'; // remove text node
}
function getPropsSlot(slots: any, props: any, prop = 'default') {
return props[prop] ?? slots[prop]?.();
}
export const getTextFromElement = (ele: any) => {
if (isValidElement(ele) && isStringElement(ele[0])) {
return ele[0].children;
}
return ele;
};
export {
splitAttrs,
hasProp,
getOptionProps,
getComponent,
getKey,
parseStyleText,
initDefaultProps,
isValidElement,
camelize,
getSlot,
findDOMNode,
flattenChildren,
getPropsSlot,
};
export default hasProp;
================================================
FILE: components/_util/props-util/initDefaultProps.ts
================================================
import type { PropType } from 'vue';
import type { VueTypeValidableDef, VueTypeDef } from 'vue-types';
const initDefaultProps = (
types: T,
defaultProps: {
[K in keyof T]?: T[K] extends VueTypeValidableDef
? U
: T[K] extends VueTypeDef
? U
: T[K] extends { type: PropType }
? U
: any;
},
): T => {
const propTypes: T = { ...types };
Object.keys(defaultProps).forEach(k => {
const prop = propTypes[k] as VueTypeValidableDef;
if (prop) {
if (prop.type || prop.default) {
prop.default = defaultProps[k];
} else if (prop.def) {
prop.def(defaultProps[k]);
} else {
propTypes[k] = { type: prop, default: defaultProps[k] };
}
} else {
throw new Error(`not have ${k} prop`);
}
});
return propTypes;
};
export default initDefaultProps;
================================================
FILE: components/_util/raf.ts
================================================
let raf = (callback: FrameRequestCallback) => setTimeout(callback, 16) as any;
let caf = (num: number) => clearTimeout(num);
if (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {
raf = (callback: FrameRequestCallback) => window.requestAnimationFrame(callback);
caf = (handle: number) => window.cancelAnimationFrame(handle);
}
let rafUUID = 0;
const rafIds = new Map();
function cleanup(id: number) {
rafIds.delete(id);
}
export default function wrapperRaf(callback: () => void, times = 1): number {
rafUUID += 1;
const id = rafUUID;
function callRef(leftTimes: number) {
if (leftTimes === 0) {
// Clean up
cleanup(id);
// Trigger
callback();
} else {
// Next raf
const realId = raf(() => {
callRef(leftTimes - 1);
});
// Bind real raf id
rafIds.set(id, realId);
}
}
callRef(times);
return id;
}
wrapperRaf.cancel = (id: number) => {
const realId = rafIds.get(id);
cleanup(realId);
return caf(realId);
};
================================================
FILE: components/_util/reactivePick.ts
================================================
import type { UnwrapRef } from 'vue';
import { reactive, toRef } from 'vue';
import fromPairs from 'lodash-es/fromPairs';
/**
* Reactively pick fields from a reactive object
*
* @see https://vueuse.js.org/reactivePick
*/
export function reactivePick(
obj: T,
...keys: K[]
): { [S in K]: UnwrapRef } {
return reactive(fromPairs(keys.map(k => [k, toRef(obj, k)]))) as any;
}
================================================
FILE: components/_util/requestAnimationTimeout.ts
================================================
import getRequestAnimationFrame, {
cancelRequestAnimationFrame as caf,
} from './getRequestAnimationFrame';
const raf = getRequestAnimationFrame();
export const cancelAnimationTimeout = frame => caf(frame.id);
export const requestAnimationTimeout = (callback, delay = 0) => {
const start = Date.now();
function timeout() {
if (Date.now() - start >= delay) {
callback.call();
} else {
frame.id = raf(timeout);
}
}
const frame = {
id: raf(timeout),
};
return frame;
};
================================================
FILE: components/_util/responsiveObserve.ts
================================================
import { computed } from 'vue';
import type { GlobalToken } from '../theme/interface';
import { useToken } from '../theme/internal';
export type Breakpoint = 'xxxl' | 'xxl' | 'xl' | 'lg' | 'md' | 'sm' | 'xs';
export type BreakpointMap = Record;
export type ScreenMap = Partial>;
export type ScreenSizeMap = Partial>;
export const responsiveArray: Breakpoint[] = ['xxxl', 'xxl', 'xl', 'lg', 'md', 'sm', 'xs'];
type SubscribeFunc = (screens: ScreenMap) => void;
const getResponsiveMap = (token: GlobalToken): BreakpointMap => ({
xs: `(max-width: ${token.screenXSMax}px)`,
sm: `(min-width: ${token.screenSM}px)`,
md: `(min-width: ${token.screenMD}px)`,
lg: `(min-width: ${token.screenLG}px)`,
xl: `(min-width: ${token.screenXL}px)`,
xxl: `(min-width: ${token.screenXXL}px)`,
xxxl: `{min-width: ${token.screenXXXL}px}`,
});
export default function useResponsiveObserver() {
const [, token] = useToken();
return computed(() => {
const responsiveMap: BreakpointMap = getResponsiveMap(token.value);
const subscribers = new Map();
let subUid = -1;
let screens = {};
return {
matchHandlers: {} as {
[prop: string]: {
mql: MediaQueryList;
listener: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null;
};
},
dispatch(pointMap: ScreenMap) {
screens = pointMap;
subscribers.forEach(func => func(screens));
return subscribers.size >= 1;
},
subscribe(func: SubscribeFunc): number {
if (!subscribers.size) this.register();
subUid += 1;
subscribers.set(subUid, func);
func(screens);
return subUid;
},
unsubscribe(paramToken: number) {
subscribers.delete(paramToken);
if (!subscribers.size) this.unregister();
},
unregister() {
Object.keys(responsiveMap).forEach((screen: string) => {
const matchMediaQuery = responsiveMap[screen];
const handler = this.matchHandlers[matchMediaQuery];
handler?.mql.removeListener(handler?.listener);
});
subscribers.clear();
},
register() {
Object.keys(responsiveMap).forEach((screen: string) => {
const matchMediaQuery = responsiveMap[screen];
const listener = ({ matches }: { matches: boolean }) => {
this.dispatch({
...screens,
[screen]: matches,
});
};
const mql = window.matchMedia(matchMediaQuery);
mql.addListener(listener);
this.matchHandlers[matchMediaQuery] = {
mql,
listener,
};
listener(mql);
});
},
responsiveMap,
};
});
}
================================================
FILE: components/_util/scrollTo.ts
================================================
import raf from './raf';
import { easeInOutCubic } from './easings';
import getScroll, { isWindow } from './getScroll';
interface ScrollToOptions {
/** Scroll container, default as window */
getContainer?: () => HTMLElement | Window | Document;
/** Scroll end callback */
callback?: () => any;
/** Animation duration, default as 450 */
duration?: number;
}
export default function scrollTo(y: number, options: ScrollToOptions = {}) {
const { getContainer = () => window, callback, duration = 450 } = options;
const container = getContainer();
const scrollTop = getScroll(container, true);
const startTime = Date.now();
const frameFunc = () => {
const timestamp = Date.now();
const time = timestamp - startTime;
const nextScrollTop = easeInOutCubic(time > duration ? duration : time, scrollTop, y, duration);
if (isWindow(container)) {
(container as Window).scrollTo(window.scrollX, nextScrollTop);
} else if (container instanceof Document) {
(container as Document).documentElement.scrollTop = nextScrollTop;
} else {
(container as HTMLElement).scrollTop = nextScrollTop;
}
if (time < duration) {
raf(frameFunc);
} else if (typeof callback === 'function') {
callback();
}
};
raf(frameFunc);
}
================================================
FILE: components/_util/setStyle.ts
================================================
import type { CSSProperties } from 'vue';
/**
* Easy to set element style, return previous style
* IE browser compatible(IE browser doesn't merge overflow style, need to set it separately)
* https://github.com/ant-design/ant-design/issues/19393
*
*/
export interface SetStyleOptions {
element?: HTMLElement;
}
function setStyle(style: CSSProperties, options: SetStyleOptions = {}): CSSProperties {
const { element = document.body } = options;
const oldStyle: CSSProperties = {};
const styleKeys = Object.keys(style);
// IE browser compatible
styleKeys.forEach(key => {
oldStyle[key] = element.style[key];
});
styleKeys.forEach(key => {
element.style[key] = style[key];
});
return oldStyle;
}
export default setStyle;
================================================
FILE: components/_util/shallowequal.ts
================================================
import { toRaw } from 'vue';
function shallowEqual(objA: any, objB: any, compare?: any, compareContext?: any) {
let ret = compare ? compare.call(compareContext, objA, objB) : void 0;
if (ret !== void 0) {
return !!ret;
}
if (objA === objB) {
return true;
}
if (typeof objA !== 'object' || !objA || typeof objB !== 'object' || !objB) {
return false;
}
const keysA = Object.keys(objA);
const keysB = Object.keys(objB);
if (keysA.length !== keysB.length) {
return false;
}
const bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);
// Test for A's keys different from B.
for (let idx = 0; idx < keysA.length; idx++) {
const key = keysA[idx];
if (!bHasOwnProperty(key)) {
return false;
}
const valueA = objA[key];
const valueB = objB[key];
ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;
if (ret === false || (ret === void 0 && valueA !== valueB)) {
return false;
}
}
return true;
}
export default function (value: any, other: any) {
return shallowEqual(toRaw(value), toRaw(other));
}
================================================
FILE: components/_util/static-style-extract/__tests__/__snapshots__/index.test.js.snap
================================================
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Static-Style-Extract should extract static styles with customTheme and customStyle 1`] = `".anticon{display:inline-flex;align-items:center;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.anticon >*{line-height:1;}.anticon svg{display:inline-block;}.anticon .anticon .anticon-icon{display:block;}a{color:#1668dc;text-decoration:none;background-color:transparent;outline:none;cursor:pointer;transition:color 0.3s;-webkit-text-decoration-skip:objects;}a:hover{color:#15417e;}a:active{color:#1554ad;}a:active,a:hover{text-decoration:none;outline:0;}a:focus{text-decoration:none;outline:0;}a[disabled]{color:rgba(255, 255, 255, 0.25);cursor:not-allowed;}[class^=\\"ant-affix\\"],[class*=\\" ant-affix\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-affix\\"]::before,[class*=\\" ant-affix\\"]::before,[class^=\\"ant-affix\\"]::after,[class*=\\" ant-affix\\"]::after{box-sizing:border-box;}[class^=\\"ant-affix\\"] [class^=\\"ant-affix\\"],[class*=\\" ant-affix\\"] [class^=\\"ant-affix\\"],[class^=\\"ant-affix\\"] [class*=\\" ant-affix\\"],[class*=\\" ant-affix\\"] [class*=\\" ant-affix\\"]{box-sizing:border-box;}[class^=\\"ant-affix\\"] [class^=\\"ant-affix\\"]::before,[class*=\\" ant-affix\\"] [class^=\\"ant-affix\\"]::before,[class^=\\"ant-affix\\"] [class*=\\" ant-affix\\"]::before,[class*=\\" ant-affix\\"] [class*=\\" ant-affix\\"]::before,[class^=\\"ant-affix\\"] [class^=\\"ant-affix\\"]::after,[class*=\\" ant-affix\\"] [class^=\\"ant-affix\\"]::after,[class^=\\"ant-affix\\"] [class*=\\" ant-affix\\"]::after,[class*=\\" ant-affix\\"] [class*=\\" ant-affix\\"]::after{box-sizing:border-box;}.ant-affix{position:fixed;z-index:10;}[class^=\\"ant-anchor\\"],[class*=\\" ant-anchor\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-anchor\\"]::before,[class*=\\" ant-anchor\\"]::before,[class^=\\"ant-anchor\\"]::after,[class*=\\" ant-anchor\\"]::after{box-sizing:border-box;}[class^=\\"ant-anchor\\"] [class^=\\"ant-anchor\\"],[class*=\\" ant-anchor\\"] [class^=\\"ant-anchor\\"],[class^=\\"ant-anchor\\"] [class*=\\" ant-anchor\\"],[class*=\\" ant-anchor\\"] [class*=\\" ant-anchor\\"]{box-sizing:border-box;}[class^=\\"ant-anchor\\"] [class^=\\"ant-anchor\\"]::before,[class*=\\" ant-anchor\\"] [class^=\\"ant-anchor\\"]::before,[class^=\\"ant-anchor\\"] [class*=\\" ant-anchor\\"]::before,[class*=\\" ant-anchor\\"] [class*=\\" ant-anchor\\"]::before,[class^=\\"ant-anchor\\"] [class^=\\"ant-anchor\\"]::after,[class*=\\" ant-anchor\\"] [class^=\\"ant-anchor\\"]::after,[class^=\\"ant-anchor\\"] [class*=\\" ant-anchor\\"]::after,[class*=\\" ant-anchor\\"] [class*=\\" ant-anchor\\"]::after{box-sizing:border-box;}.ant-anchor-wrapper{margin-block-start:-4px;padding-block-start:4px;background-color:transparent;}.ant-anchor-wrapper .ant-anchor{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;padding-inline-start:2px;}.ant-anchor-wrapper .ant-anchor .ant-anchor-link{padding-block:4px;padding-inline:16px 0;}.ant-anchor-wrapper .ant-anchor .ant-anchor-link-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;position:relative;display:block;margin-block-end:3px;color:rgba(255, 255, 255, 0.85);transition:all 0.3s;}.ant-anchor-wrapper .ant-anchor .ant-anchor-link-title:only-child{margin-block-end:0;}.ant-anchor-wrapper .ant-anchor .ant-anchor-link-active>.ant-anchor-link-title{color:#037003;}.ant-anchor-wrapper .ant-anchor .ant-anchor-link .ant-anchor-link{padding-block:2px;}.ant-anchor-wrapper:not(.ant-anchor-wrapper-horizontal) .ant-anchor::before{position:absolute;left:0;top:0;height:100%;border-inline-start:2px solid rgba(253, 253, 253, 0.12);content:\\" \\";}.ant-anchor-wrapper:not(.ant-anchor-wrapper-horizontal) .ant-anchor .ant-anchor-ink{position:absolute;left:0;display:none;transform:translateY(-50%);transition:top 0.3s ease-in-out;width:2px;background-color:#037003;}.ant-anchor-wrapper:not(.ant-anchor-wrapper-horizontal) .ant-anchor .ant-anchor-ink.ant-anchor-ink-visible{display:inline-block;}.ant-anchor-wrapper .ant-anchor-fixed .ant-anchor-ink .ant-anchor-ink{display:none;}.ant-anchor-wrapper-horizontal{position:relative;}.ant-anchor-wrapper-horizontal::before{position:absolute;left:0;right:0;bottom:0;border-bottom:1px solid rgba(253, 253, 253, 0.12);content:\\" \\";}.ant-anchor-wrapper-horizontal .ant-anchor{overflow-x:scroll;position:relative;display:flex;scrollbar-width:none;}.ant-anchor-wrapper-horizontal .ant-anchor::-webkit-scrollbar{display:none;}.ant-anchor-wrapper-horizontal .ant-anchor .ant-anchor-link:first-of-type{padding-inline:0;}.ant-anchor-wrapper-horizontal .ant-anchor .ant-anchor-ink{position:absolute;bottom:0;transition:left 0.3s ease-in-out,width 0.3s ease-in-out;height:2px;background-color:#037003;}[class^=\\"ant-select\\"],[class*=\\" ant-select\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-select\\"]::before,[class*=\\" ant-select\\"]::before,[class^=\\"ant-select\\"]::after,[class*=\\" ant-select\\"]::after{box-sizing:border-box;}[class^=\\"ant-select\\"] [class^=\\"ant-select\\"],[class*=\\" ant-select\\"] [class^=\\"ant-select\\"],[class^=\\"ant-select\\"] [class*=\\" ant-select\\"],[class*=\\" ant-select\\"] [class*=\\" ant-select\\"]{box-sizing:border-box;}[class^=\\"ant-select\\"] [class^=\\"ant-select\\"]::before,[class*=\\" ant-select\\"] [class^=\\"ant-select\\"]::before,[class^=\\"ant-select\\"] [class*=\\" ant-select\\"]::before,[class*=\\" ant-select\\"] [class*=\\" ant-select\\"]::before,[class^=\\"ant-select\\"] [class^=\\"ant-select\\"]::after,[class*=\\" ant-select\\"] [class^=\\"ant-select\\"]::after,[class^=\\"ant-select\\"] [class*=\\" ant-select\\"]::after,[class*=\\" ant-select\\"] [class*=\\" ant-select\\"]::after{box-sizing:border-box;}.ant-select-borderless .ant-select-selector{background-color:transparent!important;border-color:transparent!important;box-shadow:none!important;}.ant-select.ant-select-in-form-item{width:100%;}.ant-select{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;display:inline-block;cursor:pointer;}.ant-select:not(.ant-select-customize-input) .ant-select-selector{position:relative;background-color:#141414;border:1px solid #424242;transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);}.ant-select:not(.ant-select-customize-input) .ant-select-selector input{cursor:pointer;}.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector{cursor:text;}.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector input{cursor:auto;color:inherit;}.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector{color:rgba(255, 255, 255, 0.25);background:rgba(255, 255, 255, 0.08);cursor:not-allowed;}.ant-select-multiple.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector{background:rgba(255, 255, 255, 0.08);}.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector input{cursor:not-allowed;}.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{margin:0;padding:0;background:transparent;border:none;outline:none;appearance:none;}.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input::-webkit-search-cancel-button{display:none;-webkit-appearance:none;}.ant-select .ant-select-selection-item{flex:1;font-weight:normal;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.ant-select .ant-select-selection-placeholder{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;color:rgba(255, 255, 255, 0.25);pointer-events:none;}.ant-select .ant-select-arrow{display:flex;align-items:center;color:rgba(255, 255, 255, 0.25);font-style:normal;line-height:1;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;top:50%;inset-inline-start:auto;inset-inline-end:11px;height:12px;margin-top:-6px;font-size:12px;pointer-events:none;}.ant-select .ant-select-arrow >*{line-height:1;}.ant-select .ant-select-arrow svg{display:inline-block;}.ant-select .ant-select-arrow .anticon{vertical-align:top;transition:transform 0.3s;}.ant-select .ant-select-arrow .anticon >svg{vertical-align:top;}.ant-select .ant-select-arrow .anticon:not(.ant-select-suffix){pointer-events:auto;}.ant-select-disabled .ant-select .ant-select-arrow{cursor:not-allowed;}.ant-select .ant-select-arrow >*:not(:last-child){margin-inline-end:8px;}.ant-select .ant-select-clear{position:absolute;top:50%;inset-inline-start:auto;inset-inline-end:11px;z-index:1;display:inline-block;width:12px;height:12px;margin-top:-6px;color:rgba(255, 255, 255, 0.25);font-size:12px;font-style:normal;line-height:1;text-align:center;text-transform:none;background:#141414;cursor:pointer;opacity:0;transition:color 0.2s ease,opacity 0.3s ease;text-rendering:auto;}.ant-select .ant-select-clear:before{display:block;}.ant-select .ant-select-clear:hover{color:rgba(255, 255, 255, 0.45);}.ant-select:hover .ant-select-clear{opacity:1;}.ant-select-has-feedback .ant-select-clear{inset-inline-end:29px;}.ant-select-single{font-size:14px;}.ant-select-single .ant-select-selector{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:flex;border-radius:6px;}.ant-select-single .ant-select-selector .ant-select-selection-search{position:absolute;top:0;inset-inline-start:11px;inset-inline-end:11px;bottom:0;}.ant-select-single .ant-select-selector .ant-select-selection-search-input{width:100%;}.ant-select-single .ant-select-selector .ant-select-selection-item,.ant-select-single .ant-select-selector .ant-select-selection-placeholder{padding:0;line-height:30px;transition:all 0.3s;}@supports (-moz-appearance: meterbar){.ant-select-single .ant-select-selector .ant-select-selection-item,.ant-select-single .ant-select-selector .ant-select-selection-placeholder{line-height:30px;}}.ant-select-single .ant-select-selector .ant-select-selection-item{position:relative;user-select:none;}.ant-select-single .ant-select-selector .ant-select-selection-placeholder{transition:none;pointer-events:none;}.ant-select-single .ant-select-selector:after,.ant-select-single .ant-select-selector .ant-select-selection-item:after,.ant-select-single .ant-select-selector .ant-select-selection-placeholder:after{display:inline-block;width:0;visibility:hidden;content:\\"\\\\a0\\";}.ant-select-single.ant-select-show-arrow .ant-select-selection-item,.ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder{padding-inline-end:18px;}.ant-select-single.ant-select-open .ant-select-selection-item{color:rgba(255, 255, 255, 0.25);}.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{width:100%;height:32px;padding:0 11px;}.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{height:30px;}.ant-select-single:not(.ant-select-customize-input) .ant-select-selector:after{line-height:30px;}.ant-select-single.ant-select-customize-input .ant-select-selector:after{display:none;}.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-search{position:static;width:100%;}.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder{position:absolute;inset-inline-start:0;inset-inline-end:0;padding:0 11px;}.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder:after{display:none;}.ant-select-single.ant-select-sm{font-size:14px;}.ant-select-single.ant-select-sm .ant-select-selector{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:flex;border-radius:4px;}.ant-select-single.ant-select-sm .ant-select-selector .ant-select-selection-search{position:absolute;top:0;inset-inline-start:11px;inset-inline-end:11px;bottom:0;}.ant-select-single.ant-select-sm .ant-select-selector .ant-select-selection-search-input{width:100%;}.ant-select-single.ant-select-sm .ant-select-selector .ant-select-selection-item,.ant-select-single.ant-select-sm .ant-select-selector .ant-select-selection-placeholder{padding:0;line-height:22px;transition:all 0.3s;}@supports (-moz-appearance: meterbar){.ant-select-single.ant-select-sm .ant-select-selector .ant-select-selection-item,.ant-select-single.ant-select-sm .ant-select-selector .ant-select-selection-placeholder{line-height:22px;}}.ant-select-single.ant-select-sm .ant-select-selector .ant-select-selection-item{position:relative;user-select:none;}.ant-select-single.ant-select-sm .ant-select-selector .ant-select-selection-placeholder{transition:none;pointer-events:none;}.ant-select-single.ant-select-sm .ant-select-selector:after,.ant-select-single.ant-select-sm .ant-select-selector .ant-select-selection-item:after,.ant-select-single.ant-select-sm .ant-select-selector .ant-select-selection-placeholder:after{display:inline-block;width:0;visibility:hidden;content:\\"\\\\a0\\";}.ant-select-single.ant-select-sm.ant-select-show-arrow .ant-select-selection-item,.ant-select-single.ant-select-sm.ant-select-show-arrow .ant-select-selection-placeholder{padding-inline-end:18px;}.ant-select-single.ant-select-sm.ant-select-open .ant-select-selection-item{color:rgba(255, 255, 255, 0.25);}.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector{width:100%;height:24px;padding:0 11px;}.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{height:22px;}.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector:after{line-height:22px;}.ant-select-single.ant-select-sm.ant-select-customize-input .ant-select-selector:after{display:none;}.ant-select-single.ant-select-sm.ant-select-customize-input .ant-select-selector .ant-select-selection-search{position:static;width:100%;}.ant-select-single.ant-select-sm.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder{position:absolute;inset-inline-start:0;inset-inline-end:0;padding:0 11px;}.ant-select-single.ant-select-sm.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder:after{display:none;}.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selection-search{inset-inline-start:7px;inset-inline-end:7px;}.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector{padding:0 7px;}.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search{inset-inline-end:28px;}.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item,.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder{padding-inline-end:21px;}.ant-select-single.ant-select-lg{font-size:16px;}.ant-select-single.ant-select-lg .ant-select-selector{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:16px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:flex;border-radius:8px;}.ant-select-single.ant-select-lg .ant-select-selector .ant-select-selection-search{position:absolute;top:0;inset-inline-start:11px;inset-inline-end:11px;bottom:0;}.ant-select-single.ant-select-lg .ant-select-selector .ant-select-selection-search-input{width:100%;}.ant-select-single.ant-select-lg .ant-select-selector .ant-select-selection-item,.ant-select-single.ant-select-lg .ant-select-selector .ant-select-selection-placeholder{padding:0;line-height:38px;transition:all 0.3s;}@supports (-moz-appearance: meterbar){.ant-select-single.ant-select-lg .ant-select-selector .ant-select-selection-item,.ant-select-single.ant-select-lg .ant-select-selector .ant-select-selection-placeholder{line-height:38px;}}.ant-select-single.ant-select-lg .ant-select-selector .ant-select-selection-item{position:relative;user-select:none;}.ant-select-single.ant-select-lg .ant-select-selector .ant-select-selection-placeholder{transition:none;pointer-events:none;}.ant-select-single.ant-select-lg .ant-select-selector:after,.ant-select-single.ant-select-lg .ant-select-selector .ant-select-selection-item:after,.ant-select-single.ant-select-lg .ant-select-selector .ant-select-selection-placeholder:after{display:inline-block;width:0;visibility:hidden;content:\\"\\\\a0\\";}.ant-select-single.ant-select-lg.ant-select-show-arrow .ant-select-selection-item,.ant-select-single.ant-select-lg.ant-select-show-arrow .ant-select-selection-placeholder{padding-inline-end:20px;}.ant-select-single.ant-select-lg.ant-select-open .ant-select-selection-item{color:rgba(255, 255, 255, 0.25);}.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector{width:100%;height:40px;padding:0 11px;}.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{height:38px;}.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector:after{line-height:38px;}.ant-select-single.ant-select-lg.ant-select-customize-input .ant-select-selector:after{display:none;}.ant-select-single.ant-select-lg.ant-select-customize-input .ant-select-selector .ant-select-selection-search{position:static;width:100%;}.ant-select-single.ant-select-lg.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder{position:absolute;inset-inline-start:0;inset-inline-end:0;padding:0 11px;}.ant-select-single.ant-select-lg.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder:after{display:none;}.ant-select-multiple{font-size:14px;}.ant-select-multiple .ant-select-selection-overflow{position:relative;display:flex;flex:auto;flex-wrap:wrap;max-width:100%;}.ant-select-multiple .ant-select-selection-overflow-item{flex:none;align-self:center;max-width:100%;display:inline-flex;}.ant-select-multiple .ant-select-selector{display:flex;flex-wrap:wrap;align-items:center;padding:1px 4px;border-radius:6px;}.ant-select-show-search.ant-select-multiple .ant-select-selector{cursor:text;}.ant-select-disabled.ant-select-multiple .ant-select-selector{background:rgba(255, 255, 255, 0.08);cursor:not-allowed;}.ant-select-multiple .ant-select-selector:after{display:inline-block;width:0;margin:2px 0;line-height:24px;content:\\"\\\\a0\\";}.ant-select-multiple.ant-select-show-arrow .ant-select-selector,.ant-select-multiple.ant-select-allow-clear .ant-select-selector{padding-inline-end:24px;}.ant-select-multiple .ant-select-selection-item{position:relative;display:flex;flex:none;box-sizing:border-box;max-width:100%;height:24px;margin-top:2px;margin-bottom:2px;line-height:22px;background:rgba(255, 255, 255, 0.12);border:1px solid rgba(253, 253, 253, 0.12);border-radius:4px;cursor:default;transition:font-size 0.3s,line-height 0.3s,height 0.3s;user-select:none;margin-inline-end:4px;padding-inline-start:8px;padding-inline-end:4px;}.ant-select-disabled.ant-select-multiple .ant-select-selection-item{color:rgba(255, 255, 255, 0.25);border-color:#424242;cursor:not-allowed;}.ant-select-multiple .ant-select-selection-item-content{display:inline-block;margin-inline-end:4px;overflow:hidden;white-space:pre;text-overflow:ellipsis;}.ant-select-multiple .ant-select-selection-item-remove{display:inline-block;align-items:center;color:rgba(255, 255, 255, 0.45);font-style:normal;line-height:inherit;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:bold;font-size:10px;cursor:pointer;}.ant-select-multiple .ant-select-selection-item-remove >*{line-height:1;}.ant-select-multiple .ant-select-selection-item-remove svg{display:inline-block;}.ant-select-multiple .ant-select-selection-item-remove >.anticon{vertical-align:-0.2em;}.ant-select-multiple .ant-select-selection-item-remove:hover{color:rgba(255, 255, 255, 0.85);}.ant-select-multiple .ant-select-selection-overflow-item+.ant-select-selection-overflow-item .ant-select-selection-search{margin-inline-start:0;}.ant-select-multiple .ant-select-selection-search{display:inline-flex;position:relative;max-width:100%;margin-inline-start:8px;}.ant-select-multiple .ant-select-selection-search-input,.ant-select-multiple .ant-select-selection-search-mirror{height:24px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';line-height:24px;transition:all 0.3s;}.ant-select-multiple .ant-select-selection-search-input{width:100%;min-width:4.1px;}.ant-select-multiple .ant-select-selection-search-mirror{position:absolute;top:0;inset-inline-start:0;inset-inline-end:auto;z-index:999;white-space:pre;visibility:hidden;}.ant-select-multiple .ant-select-selection-placeholder{position:absolute;top:50%;inset-inline-start:11px;inset-inline-end:11px;transform:translateY(-50%);transition:all 0.3s;}.ant-select-multiple.ant-select-sm{font-size:14px;}.ant-select-multiple.ant-select-sm .ant-select-selection-overflow{position:relative;display:flex;flex:auto;flex-wrap:wrap;max-width:100%;}.ant-select-multiple.ant-select-sm .ant-select-selection-overflow-item{flex:none;align-self:center;max-width:100%;display:inline-flex;}.ant-select-multiple.ant-select-sm .ant-select-selector{display:flex;flex-wrap:wrap;align-items:center;padding:1px 4px;border-radius:4px;}.ant-select-show-search.ant-select-multiple.ant-select-sm .ant-select-selector{cursor:text;}.ant-select-disabled.ant-select-multiple.ant-select-sm .ant-select-selector{background:rgba(255, 255, 255, 0.08);cursor:not-allowed;}.ant-select-multiple.ant-select-sm .ant-select-selector:after{display:inline-block;width:0;margin:2px 0;line-height:16px;content:\\"\\\\a0\\";}.ant-select-multiple.ant-select-sm.ant-select-show-arrow .ant-select-selector,.ant-select-multiple.ant-select-sm.ant-select-allow-clear .ant-select-selector{padding-inline-end:24px;}.ant-select-multiple.ant-select-sm .ant-select-selection-item{position:relative;display:flex;flex:none;box-sizing:border-box;max-width:100%;height:16px;margin-top:2px;margin-bottom:2px;line-height:14px;background:rgba(255, 255, 255, 0.12);border:1px solid rgba(253, 253, 253, 0.12);border-radius:2px;cursor:default;transition:font-size 0.3s,line-height 0.3s,height 0.3s;user-select:none;margin-inline-end:4px;padding-inline-start:8px;padding-inline-end:4px;}.ant-select-disabled.ant-select-multiple.ant-select-sm .ant-select-selection-item{color:rgba(255, 255, 255, 0.25);border-color:#424242;cursor:not-allowed;}.ant-select-multiple.ant-select-sm .ant-select-selection-item-content{display:inline-block;margin-inline-end:4px;overflow:hidden;white-space:pre;text-overflow:ellipsis;}.ant-select-multiple.ant-select-sm .ant-select-selection-item-remove{display:inline-block;align-items:center;color:rgba(255, 255, 255, 0.45);font-style:normal;line-height:inherit;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:bold;font-size:10px;cursor:pointer;}.ant-select-multiple.ant-select-sm .ant-select-selection-item-remove >*{line-height:1;}.ant-select-multiple.ant-select-sm .ant-select-selection-item-remove svg{display:inline-block;}.ant-select-multiple.ant-select-sm .ant-select-selection-item-remove >.anticon{vertical-align:-0.2em;}.ant-select-multiple.ant-select-sm .ant-select-selection-item-remove:hover{color:rgba(255, 255, 255, 0.85);}.ant-select-multiple.ant-select-sm .ant-select-selection-overflow-item+.ant-select-selection-overflow-item .ant-select-selection-search{margin-inline-start:0;}.ant-select-multiple.ant-select-sm .ant-select-selection-search{display:inline-flex;position:relative;max-width:100%;margin-inline-start:8px;}.ant-select-multiple.ant-select-sm .ant-select-selection-search-input,.ant-select-multiple.ant-select-sm .ant-select-selection-search-mirror{height:16px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';line-height:16px;transition:all 0.3s;}.ant-select-multiple.ant-select-sm .ant-select-selection-search-input{width:100%;min-width:4.1px;}.ant-select-multiple.ant-select-sm .ant-select-selection-search-mirror{position:absolute;top:0;inset-inline-start:0;inset-inline-end:auto;z-index:999;white-space:pre;visibility:hidden;}.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder{position:absolute;top:50%;inset-inline-start:11px;inset-inline-end:11px;transform:translateY(-50%);transition:all 0.3s;}.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder{inset-inline-start:7px;inset-inline-end:auto;}.ant-select-multiple.ant-select-sm .ant-select-selection-search{margin-inline-start:2px;}.ant-select-multiple.ant-select-lg{font-size:16px;}.ant-select-multiple.ant-select-lg .ant-select-selection-overflow{position:relative;display:flex;flex:auto;flex-wrap:wrap;max-width:100%;}.ant-select-multiple.ant-select-lg .ant-select-selection-overflow-item{flex:none;align-self:center;max-width:100%;display:inline-flex;}.ant-select-multiple.ant-select-lg .ant-select-selector{display:flex;flex-wrap:wrap;align-items:center;padding:1px 4px;border-radius:8px;}.ant-select-show-search.ant-select-multiple.ant-select-lg .ant-select-selector{cursor:text;}.ant-select-disabled.ant-select-multiple.ant-select-lg .ant-select-selector{background:rgba(255, 255, 255, 0.08);cursor:not-allowed;}.ant-select-multiple.ant-select-lg .ant-select-selector:after{display:inline-block;width:0;margin:2px 0;line-height:32px;content:\\"\\\\a0\\";}.ant-select-multiple.ant-select-lg.ant-select-show-arrow .ant-select-selector,.ant-select-multiple.ant-select-lg.ant-select-allow-clear .ant-select-selector{padding-inline-end:24px;}.ant-select-multiple.ant-select-lg .ant-select-selection-item{position:relative;display:flex;flex:none;box-sizing:border-box;max-width:100%;height:32px;margin-top:2px;margin-bottom:2px;line-height:30px;background:rgba(255, 255, 255, 0.12);border:1px solid rgba(253, 253, 253, 0.12);border-radius:6px;cursor:default;transition:font-size 0.3s,line-height 0.3s,height 0.3s;user-select:none;margin-inline-end:4px;padding-inline-start:8px;padding-inline-end:4px;}.ant-select-disabled.ant-select-multiple.ant-select-lg .ant-select-selection-item{color:rgba(255, 255, 255, 0.25);border-color:#424242;cursor:not-allowed;}.ant-select-multiple.ant-select-lg .ant-select-selection-item-content{display:inline-block;margin-inline-end:4px;overflow:hidden;white-space:pre;text-overflow:ellipsis;}.ant-select-multiple.ant-select-lg .ant-select-selection-item-remove{display:inline-block;align-items:center;color:rgba(255, 255, 255, 0.45);font-style:normal;line-height:inherit;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:bold;font-size:10px;cursor:pointer;}.ant-select-multiple.ant-select-lg .ant-select-selection-item-remove >*{line-height:1;}.ant-select-multiple.ant-select-lg .ant-select-selection-item-remove svg{display:inline-block;}.ant-select-multiple.ant-select-lg .ant-select-selection-item-remove >.anticon{vertical-align:-0.2em;}.ant-select-multiple.ant-select-lg .ant-select-selection-item-remove:hover{color:rgba(255, 255, 255, 0.85);}.ant-select-multiple.ant-select-lg .ant-select-selection-overflow-item+.ant-select-selection-overflow-item .ant-select-selection-search{margin-inline-start:0;}.ant-select-multiple.ant-select-lg .ant-select-selection-search{display:inline-flex;position:relative;max-width:100%;margin-inline-start:8px;}.ant-select-multiple.ant-select-lg .ant-select-selection-search-input,.ant-select-multiple.ant-select-lg .ant-select-selection-search-mirror{height:32px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';line-height:32px;transition:all 0.3s;}.ant-select-multiple.ant-select-lg .ant-select-selection-search-input{width:100%;min-width:4.1px;}.ant-select-multiple.ant-select-lg .ant-select-selection-search-mirror{position:absolute;top:0;inset-inline-start:0;inset-inline-end:auto;z-index:999;white-space:pre;visibility:hidden;}.ant-select-multiple.ant-select-lg .ant-select-selection-placeholder{position:absolute;top:50%;inset-inline-start:11px;inset-inline-end:11px;transform:translateY(-50%);transition:all 0.3s;}.ant-select-dropdown{box-sizing:border-box;margin:0;padding:4px;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:absolute;top:-9999px;z-index:1050;overflow:hidden;font-variant:initial;background-color:#1f1f1f;border-radius:8px;outline:none;box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);}.ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-bottomLeft,.ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-bottomLeft{animation-name:antSlideUpIn;}.ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-topLeft,.ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-topLeft{animation-name:antSlideDownIn;}.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-bottomLeft{animation-name:antSlideUpOut;}.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-topLeft{animation-name:antSlideDownOut;}.ant-select-dropdown-hidden{display:none;}.ant-select-dropdown-empty{color:rgba(255, 255, 255, 0.25);}.ant-select-dropdown .ant-select-item-empty{position:relative;display:block;min-height:32px;padding:5px 12px;color:rgba(255, 255, 255, 0.25);font-weight:normal;font-size:14px;line-height:1.5714285714285714;box-sizing:border-box;}.ant-select-dropdown .ant-select-item{position:relative;display:block;min-height:32px;padding:5px 12px;color:rgba(255, 255, 255, 0.85);font-weight:normal;font-size:14px;line-height:1.5714285714285714;box-sizing:border-box;cursor:pointer;transition:background 0.3s ease;border-radius:4px;}.ant-select-dropdown .ant-select-item-group{color:rgba(255, 255, 255, 0.45);font-size:12px;cursor:default;}.ant-select-dropdown .ant-select-item-option{display:flex;}.ant-select-dropdown .ant-select-item-option-content{flex:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.ant-select-dropdown .ant-select-item-option-state{flex:none;}.ant-select-dropdown .ant-select-item-option-active:not(.ant-select-item-option-disabled){background-color:rgba(255, 255, 255, 0.08);}.ant-select-dropdown .ant-select-item-option-selected:not(.ant-select-item-option-disabled){color:rgba(255, 255, 255, 0.85);font-weight:600;background-color:#111911;}.ant-select-dropdown .ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-state{color:#037003;}.ant-select-dropdown .ant-select-item-option-disabled{color:rgba(255, 255, 255, 0.25);cursor:not-allowed;}.ant-select-dropdown .ant-select-item-option-disabled.ant-select-item-option-selected{background-color:rgba(255, 255, 255, 0.08);}.ant-select-dropdown .ant-select-item-option-grouped{padding-inline-start:24px;}.ant-select-dropdown-rtl{direction:rtl;}.ant-slide-up-enter,.ant-slide-up-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-slide-up-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-slide-up-enter.ant-slide-up-enter-active,.ant-slide-up-appear.ant-slide-up-appear-active{animation-name:antSlideUpIn;animation-play-state:running;}.ant-slide-up-leave.ant-slide-up-leave-active{animation-name:antSlideUpOut;animation-play-state:running;pointer-events:none;}.ant-slide-up-enter,.ant-slide-up-appear{transform:scale(0);transform-origin:0% 0%;opacity:0;animation-timing-function:cubic-bezier(0.23, 1, 0.32, 1);}.ant-slide-up-leave{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);}.ant-slide-down-enter,.ant-slide-down-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-slide-down-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-slide-down-enter.ant-slide-down-enter-active,.ant-slide-down-appear.ant-slide-down-appear-active{animation-name:antSlideDownIn;animation-play-state:running;}.ant-slide-down-leave.ant-slide-down-leave-active{animation-name:antSlideDownOut;animation-play-state:running;pointer-events:none;}.ant-slide-down-enter,.ant-slide-down-appear{transform:scale(0);transform-origin:0% 0%;opacity:0;animation-timing-function:cubic-bezier(0.23, 1, 0.32, 1);}.ant-slide-down-leave{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);}.ant-move-up-enter,.ant-move-up-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-move-up-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-move-up-enter.ant-move-up-enter-active,.ant-move-up-appear.ant-move-up-appear-active{animation-name:antMoveUpIn;animation-play-state:running;}.ant-move-up-leave.ant-move-up-leave-active{animation-name:antMoveUpOut;animation-play-state:running;pointer-events:none;}.ant-move-up-enter,.ant-move-up-appear{opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}.ant-move-up-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}.ant-move-down-enter,.ant-move-down-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-move-down-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-move-down-enter.ant-move-down-enter-active,.ant-move-down-appear.ant-move-down-appear-active{animation-name:antMoveDownIn;animation-play-state:running;}.ant-move-down-leave.ant-move-down-leave-active{animation-name:antMoveDownOut;animation-play-state:running;pointer-events:none;}.ant-move-down-enter,.ant-move-down-appear{opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}.ant-move-down-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}.ant-select-rtl{direction:rtl;}.ant-select-focused.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer) .ant-select-selector{border-color:#198016;box-shadow:0 0 0 2px rgba(0, 53, 0, 0.15);border-inline-end-width:undefinedpx!important;outline:0;}.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer):hover .ant-select-selector{border-color:#198016;border-inline-end-width:undefinedpx!important;}.ant-select-status-error:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer) .ant-select-selector{border-color:#e86e6b;}.ant-select-focused.ant-select-status-error:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer) .ant-select-selector{border-color:#e86e6b;box-shadow:0 0 0 2px rgba(238, 38, 56, 0.11);border-inline-end-width:undefinedpx!important;outline:0;}.ant-select-status-error:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer):hover .ant-select-selector{border-color:#e86e6b;border-inline-end-width:undefinedpx!important;}.ant-select-status-warning:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer) .ant-select-selector{border-color:#7c5914;}.ant-select-focused.ant-select-status-warning:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer) .ant-select-selector{border-color:#7c5914;box-shadow:0 0 0 2px rgba(173, 107, 0, 0.15);border-inline-end-width:undefinedpx!important;outline:0;}.ant-select-status-warning:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer):hover .ant-select-selector{border-color:#7c5914;border-inline-end-width:undefinedpx!important;}.ant-select-compact-item:not(.ant-select-compact-last-item){margin-inline-end:-1px;}.ant-select-compact-item:hover>*,.ant-select-compact-item:active>*{z-index:2;}.ant-select-compact-item.ant-select-focused{z-index:2;}.ant-select-compact-item[disabled]>*{z-index:0;}.ant-select-compact-item:not(.ant-select-compact-first-item):not(.ant-select-compact-last-item)>.ant-select-selector{border-radius:0;}.ant-select-compact-item:not(.ant-select-compact-last-item).ant-select-compact-first-item>.ant-select-selector,.ant-select-compact-item:not(.ant-select-compact-last-item).ant-select-compact-first-item.ant-select-sm>.ant-select-selector,.ant-select-compact-item:not(.ant-select-compact-last-item).ant-select-compact-first-item.ant-select-lg>.ant-select-selector{border-start-end-radius:0;border-end-end-radius:0;}.ant-select-compact-item:not(.ant-select-compact-first-item).ant-select-compact-last-item>.ant-select-selector,.ant-select-compact-item:not(.ant-select-compact-first-item).ant-select-compact-last-item.ant-select-sm>.ant-select-selector,.ant-select-compact-item:not(.ant-select-compact-first-item).ant-select-compact-last-item.ant-select-lg>.ant-select-selector{border-start-start-radius:0;border-end-start-radius:0;}@keyframes antSlideUpIn{0%{transform:scaleY(0.8);transform-origin:0% 0%;opacity:0;}100%{transform:scaleY(1);transform-origin:0% 0%;opacity:1;}}@keyframes antSlideDownIn{0%{transform:scaleY(0.8);transform-origin:100% 100%;opacity:0;}100%{transform:scaleY(1);transform-origin:100% 100%;opacity:1;}}@keyframes antSlideUpOut{0%{transform:scaleY(1);transform-origin:0% 0%;opacity:1;}100%{transform:scaleY(0.8);transform-origin:0% 0%;opacity:0;}}@keyframes antSlideDownOut{0%{transform:scaleY(1);transform-origin:100% 100%;opacity:1;}100%{transform:scaleY(0.8);transform-origin:100% 100%;opacity:0;}}@keyframes antMoveUpIn{0%{transform:translate3d(0, -100%, 0);transform-origin:0 0;opacity:0;}100%{transform:translate3d(0, 0, 0);transform-origin:0 0;opacity:1;}}@keyframes antMoveUpOut{0%{transform:translate3d(0, 0, 0);transform-origin:0 0;opacity:1;}100%{transform:translate3d(0, -100%, 0);transform-origin:0 0;opacity:0;}}@keyframes antMoveDownIn{0%{transform:translate3d(0, 100%, 0);transform-origin:0 0;opacity:0;}100%{transform:translate3d(0, 0, 0);transform-origin:0 0;opacity:1;}}@keyframes antMoveDownOut{0%{transform:translate3d(0, 0, 0);transform-origin:0 0;opacity:1;}100%{transform:translate3d(0, 100%, 0);transform-origin:0 0;opacity:0;}}[class^=\\"ant-alert\\"],[class*=\\" ant-alert\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-alert\\"]::before,[class*=\\" ant-alert\\"]::before,[class^=\\"ant-alert\\"]::after,[class*=\\" ant-alert\\"]::after{box-sizing:border-box;}[class^=\\"ant-alert\\"] [class^=\\"ant-alert\\"],[class*=\\" ant-alert\\"] [class^=\\"ant-alert\\"],[class^=\\"ant-alert\\"] [class*=\\" ant-alert\\"],[class*=\\" ant-alert\\"] [class*=\\" ant-alert\\"]{box-sizing:border-box;}[class^=\\"ant-alert\\"] [class^=\\"ant-alert\\"]::before,[class*=\\" ant-alert\\"] [class^=\\"ant-alert\\"]::before,[class^=\\"ant-alert\\"] [class*=\\" ant-alert\\"]::before,[class*=\\" ant-alert\\"] [class*=\\" ant-alert\\"]::before,[class^=\\"ant-alert\\"] [class^=\\"ant-alert\\"]::after,[class*=\\" ant-alert\\"] [class^=\\"ant-alert\\"]::after,[class^=\\"ant-alert\\"] [class*=\\" ant-alert\\"]::after,[class*=\\" ant-alert\\"] [class*=\\" ant-alert\\"]::after{box-sizing:border-box;}.ant-alert{box-sizing:border-box;margin:0;padding:8px 12px;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;display:flex;align-items:center;word-wrap:break-word;border-radius:8px;}.ant-alert.ant-alert-rtl{direction:rtl;}.ant-alert .ant-alert-content{flex:1;min-width:0;}.ant-alert .ant-alert-icon{margin-inline-end:8px;line-height:0;}.ant-alert-description{display:none;font-size:14px;line-height:1.5714285714285714;}.ant-alert-message{color:rgba(255, 255, 255, 0.85);}.ant-alert.ant-alert-motion-leave{overflow:hidden;opacity:1;transition:max-height 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86),opacity 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86),padding-top 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86),padding-bottom 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86),margin-bottom 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);}.ant-alert.ant-alert-motion-leave-active{max-height:0;margin-bottom:0!important;padding-top:0;padding-bottom:0;opacity:0;}.ant-alert-with-description{align-items:flex-start;padding-inline:24px;padding-block:20px;}.ant-alert-with-description .ant-alert-icon{margin-inline-end:12px;font-size:24px;line-height:0;}.ant-alert-with-description .ant-alert-message{display:block;margin-bottom:8px;color:rgba(255, 255, 255, 0.85);font-size:16px;}.ant-alert-with-description .ant-alert-description{display:block;}.ant-alert-banner{margin-bottom:0;border:0!important;border-radius:0;}.ant-alert-success{background-color:#162312;border:1px solid #274916;}.ant-alert-success .ant-alert-icon{color:#49aa19;}.ant-alert-info{background-color:#111a2c;border:1px solid #15325b;}.ant-alert-info .ant-alert-icon{color:#1668dc;}.ant-alert-warning{background-color:#2b2111;border:1px solid #594214;}.ant-alert-warning .ant-alert-icon{color:#d89614;}.ant-alert-error{background-color:#2c1618;border:1px solid #5b2526;}.ant-alert-error .ant-alert-icon{color:#dc4446;}.ant-alert-error .ant-alert-description>pre{margin:0;padding:0;}.ant-alert-action{margin-inline-start:8px;}.ant-alert .ant-alert-close-icon{margin-inline-start:8px;padding:0;overflow:hidden;font-size:12px;line-height:12px;background-color:transparent;border:none;outline:none;cursor:pointer;}.ant-alert .ant-alert-close-icon .anticon-close{color:rgba(255, 255, 255, 0.45);transition:color 0.2s;}.ant-alert .ant-alert-close-icon .anticon-close:hover{color:rgba(255, 255, 255, 0.85);}.ant-alert-close-text{color:rgba(255, 255, 255, 0.45);transition:color 0.2s;}.ant-alert-close-text:hover{color:rgba(255, 255, 255, 0.85);}[class^=\\"ant-avatar\\"],[class*=\\" ant-avatar\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-avatar\\"]::before,[class*=\\" ant-avatar\\"]::before,[class^=\\"ant-avatar\\"]::after,[class*=\\" ant-avatar\\"]::after{box-sizing:border-box;}[class^=\\"ant-avatar\\"] [class^=\\"ant-avatar\\"],[class*=\\" ant-avatar\\"] [class^=\\"ant-avatar\\"],[class^=\\"ant-avatar\\"] [class*=\\" ant-avatar\\"],[class*=\\" ant-avatar\\"] [class*=\\" ant-avatar\\"]{box-sizing:border-box;}[class^=\\"ant-avatar\\"] [class^=\\"ant-avatar\\"]::before,[class*=\\" ant-avatar\\"] [class^=\\"ant-avatar\\"]::before,[class^=\\"ant-avatar\\"] [class*=\\" ant-avatar\\"]::before,[class*=\\" ant-avatar\\"] [class*=\\" ant-avatar\\"]::before,[class^=\\"ant-avatar\\"] [class^=\\"ant-avatar\\"]::after,[class*=\\" ant-avatar\\"] [class^=\\"ant-avatar\\"]::after,[class^=\\"ant-avatar\\"] [class*=\\" ant-avatar\\"]::after,[class*=\\" ant-avatar\\"] [class*=\\" ant-avatar\\"]::after{box-sizing:border-box;}.ant-avatar{box-sizing:border-box;margin:0;padding:0;color:#fff;font-size:14px;line-height:30px;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;display:inline-block;overflow:hidden;white-space:nowrap;text-align:center;vertical-align:middle;background:rgba(255, 255, 255, 0.25);border:1px solid transparent;width:32px;height:32px;border-radius:50%;}.ant-avatar-image{background:transparent;}.ant-avatar .ant-image-img{display:block;}.ant-avatar.ant-avatar-square{border-radius:6px;}.ant-avatar .ant-avatar-string{position:absolute;left:50%;transform-origin:0 center;}.ant-avatar.ant-avatar-icon{font-size:18px;}.ant-avatar.ant-avatar-icon >.anticon{margin:0;}.ant-avatar-lg{width:40px;height:40px;line-height:38px;border-radius:50%;}.ant-avatar-lg.ant-avatar-square{border-radius:8px;}.ant-avatar-lg .ant-avatar-string{position:absolute;left:50%;transform-origin:0 center;}.ant-avatar-lg.ant-avatar-icon{font-size:24px;}.ant-avatar-lg.ant-avatar-icon >.anticon{margin:0;}.ant-avatar-sm{width:24px;height:24px;line-height:22px;border-radius:50%;}.ant-avatar-sm.ant-avatar-square{border-radius:4px;}.ant-avatar-sm .ant-avatar-string{position:absolute;left:50%;transform-origin:0 center;}.ant-avatar-sm.ant-avatar-icon{font-size:14px;}.ant-avatar-sm.ant-avatar-icon >.anticon{margin:0;}.ant-avatar >img{display:block;width:100%;height:100%;object-fit:cover;}.ant-avatar-group{display:inline-flex;}.ant-avatar-group .ant-avatar{border-color:#141414;}.ant-avatar-group >*:not(:first-child){margin-inline-start:-8px;}.ant-avatar-group-popover .ant-avatar+.ant-avatar{margin-inline-start:4px;}[class^=\\"ant-badge\\"],[class*=\\" ant-badge\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-badge\\"]::before,[class*=\\" ant-badge\\"]::before,[class^=\\"ant-badge\\"]::after,[class*=\\" ant-badge\\"]::after{box-sizing:border-box;}[class^=\\"ant-badge\\"] [class^=\\"ant-badge\\"],[class*=\\" ant-badge\\"] [class^=\\"ant-badge\\"],[class^=\\"ant-badge\\"] [class*=\\" ant-badge\\"],[class*=\\" ant-badge\\"] [class*=\\" ant-badge\\"]{box-sizing:border-box;}[class^=\\"ant-badge\\"] [class^=\\"ant-badge\\"]::before,[class*=\\" ant-badge\\"] [class^=\\"ant-badge\\"]::before,[class^=\\"ant-badge\\"] [class*=\\" ant-badge\\"]::before,[class*=\\" ant-badge\\"] [class*=\\" ant-badge\\"]::before,[class^=\\"ant-badge\\"] [class^=\\"ant-badge\\"]::after,[class*=\\" ant-badge\\"] [class^=\\"ant-badge\\"]::after,[class^=\\"ant-badge\\"] [class*=\\" ant-badge\\"]::after,[class*=\\" ant-badge\\"] [class*=\\" ant-badge\\"]::after{box-sizing:border-box;}.ant-badge{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;display:inline-block;width:fit-content;}.ant-badge .ant-badge-count{z-index:auto;min-width:20px;height:20px;color:#141414;font-weight:normal;font-size:12px;line-height:20px;white-space:nowrap;text-align:center;background:#dc4446;border-radius:10px;box-shadow:0 0 0 1px #141414;transition:background 0.2s;}.ant-badge .ant-badge-count a{color:#141414;}.ant-badge .ant-badge-count a:hover{color:#141414;}a:hover .ant-badge .ant-badge-count{background:#e86e6b;}.ant-badge .ant-badge-count-sm{min-width:14px;height:14px;font-size:12px;line-height:14px;border-radius:7px;}.ant-badge .ant-badge-multiple-words{padding:0 8px;}.ant-badge .ant-badge-dot{z-index:auto;width:6px;min-width:6px;height:6px;background:#dc4446;border-radius:100%;box-shadow:0 0 0 1px #141414;}.ant-badge .ant-badge-dot.ant-scroll-number{transition:background 0.3s;}.ant-badge .ant-badge-count,.ant-badge .ant-badge-dot,.ant-badge .ant-scroll-number-custom-component{position:absolute;top:0;inset-inline-end:0;transform:translate(50%, -50%);transform-origin:100% 0%;}.ant-badge .ant-badge-count.anticon-spin,.ant-badge .ant-badge-dot.anticon-spin,.ant-badge .ant-scroll-number-custom-component.anticon-spin{animation-name:antBadgeLoadingCircle;animation-duration:1s;animation-iteration-count:infinite;animation-timing-function:linear;}.ant-badge.ant-badge-status{line-height:inherit;vertical-align:baseline;}.ant-badge.ant-badge-status .ant-badge-status-dot{position:relative;top:-1px;display:inline-block;width:6px;height:6px;vertical-align:middle;border-radius:50%;}.ant-badge.ant-badge-status .ant-badge-status-success{background-color:#49aa19;}.ant-badge.ant-badge-status .ant-badge-status-processing{overflow:visible;color:#037003;background-color:#037003;}.ant-badge.ant-badge-status .ant-badge-status-processing::after{position:absolute;top:0;inset-inline-start:0;width:100%;height:100%;border-width:1px;border-style:solid;border-color:inherit;border-radius:50%;animation-name:antStatusProcessing;animation-duration:1.2s;animation-iteration-count:infinite;animation-timing-function:ease-in-out;content:\\"\\";}.ant-badge.ant-badge-status .ant-badge-status-default{background-color:rgba(255, 255, 255, 0.25);}.ant-badge.ant-badge-status .ant-badge-status-error{background-color:#dc4446;}.ant-badge.ant-badge-status .ant-badge-status-warning{background-color:#d89614;}.ant-badge.ant-badge-status .ant-badge-status-text{margin-inline-start:8px;color:rgba(255, 255, 255, 0.85);font-size:14px;}.ant-badge.ant-badge .ant-badge-color-blue{background:#1668dc;}.ant-badge.ant-badge .ant-badge-color-blue:not(.ant-badge-count){color:#1668dc;}.ant-badge.ant-badge .ant-badge-color-purple{background:#642ab5;}.ant-badge.ant-badge .ant-badge-color-purple:not(.ant-badge-count){color:#642ab5;}.ant-badge.ant-badge .ant-badge-color-cyan{background:#13a8a8;}.ant-badge.ant-badge .ant-badge-color-cyan:not(.ant-badge-count){color:#13a8a8;}.ant-badge.ant-badge .ant-badge-color-green{background:#49aa19;}.ant-badge.ant-badge .ant-badge-color-green:not(.ant-badge-count){color:#49aa19;}.ant-badge.ant-badge .ant-badge-color-magenta{background:#cb2b83;}.ant-badge.ant-badge .ant-badge-color-magenta:not(.ant-badge-count){color:#cb2b83;}.ant-badge.ant-badge .ant-badge-color-pink{background:#cb2b83;}.ant-badge.ant-badge .ant-badge-color-pink:not(.ant-badge-count){color:#cb2b83;}.ant-badge.ant-badge .ant-badge-color-red{background:#d32029;}.ant-badge.ant-badge .ant-badge-color-red:not(.ant-badge-count){color:#d32029;}.ant-badge.ant-badge .ant-badge-color-orange{background:#d87a16;}.ant-badge.ant-badge .ant-badge-color-orange:not(.ant-badge-count){color:#d87a16;}.ant-badge.ant-badge .ant-badge-color-yellow{background:#d8bd14;}.ant-badge.ant-badge .ant-badge-color-yellow:not(.ant-badge-count){color:#d8bd14;}.ant-badge.ant-badge .ant-badge-color-volcano{background:#d84a1b;}.ant-badge.ant-badge .ant-badge-color-volcano:not(.ant-badge-count){color:#d84a1b;}.ant-badge.ant-badge .ant-badge-color-geekblue{background:#2b4acb;}.ant-badge.ant-badge .ant-badge-color-geekblue:not(.ant-badge-count){color:#2b4acb;}.ant-badge.ant-badge .ant-badge-color-lime{background:#8bbb11;}.ant-badge.ant-badge .ant-badge-color-lime:not(.ant-badge-count){color:#8bbb11;}.ant-badge.ant-badge .ant-badge-color-gold{background:#d89614;}.ant-badge.ant-badge .ant-badge-color-gold:not(.ant-badge-count){color:#d89614;}.ant-badge .ant-badge-zoom-appear,.ant-badge .ant-badge-zoom-enter{animation-name:antZoomBadgeIn;animation-duration:0.3s;animation-timing-function:cubic-bezier(0.12, 0.4, 0.29, 1.46);animation-fill-mode:both;}.ant-badge .ant-badge-zoom-leave{animation-name:antZoomBadgeOut;animation-duration:0.3s;animation-timing-function:cubic-bezier(0.12, 0.4, 0.29, 1.46);animation-fill-mode:both;}.ant-badge.ant-badge-not-a-wrapper .ant-badge-zoom-appear,.ant-badge.ant-badge-not-a-wrapper .ant-badge-zoom-enter{animation-name:antNoWrapperZoomBadgeIn;animation-duration:0.3s;animation-timing-function:cubic-bezier(0.12, 0.4, 0.29, 1.46);}.ant-badge.ant-badge-not-a-wrapper .ant-badge-zoom-leave{animation-name:antNoWrapperZoomBadgeOut;animation-duration:0.3s;animation-timing-function:cubic-bezier(0.12, 0.4, 0.29, 1.46);}.ant-badge.ant-badge-not-a-wrapper:not(.ant-badge-status){vertical-align:middle;}.ant-badge.ant-badge-not-a-wrapper .ant-scroll-number-custom-component,.ant-badge.ant-badge-not-a-wrapper .ant-badge-count{transform:none;}.ant-badge.ant-badge-not-a-wrapper .ant-scroll-number-custom-component,.ant-badge.ant-badge-not-a-wrapper .ant-scroll-number{position:relative;top:auto;display:block;transform-origin:50% 50%;}.ant-badge .ant-scroll-number{overflow:hidden;}.ant-badge .ant-scroll-number .ant-scroll-number-only{position:relative;display:inline-block;height:20px;transition:all 0.3s cubic-bezier(0.12, 0.4, 0.29, 1.46);-webkit-transform-style:preserve-3d;-webkit-backface-visibility:hidden;}.ant-badge .ant-scroll-number .ant-scroll-number-only >p.ant-scroll-number-only-unit{height:20px;margin:0;-webkit-transform-style:preserve-3d;-webkit-backface-visibility:hidden;}.ant-badge .ant-scroll-number .ant-scroll-number-symbol{vertical-align:top;}.ant-badge-rtl{direction:rtl;}.ant-badge-rtl .ant-badge-count,.ant-badge-rtl .ant-badge-dot,.ant-badge-rtl .ant-scroll-number-custom-component{transform:translate(-50%, -50%);}.ant-ribbon-wrapper{position:relative;}.ant-ribbon{box-sizing:border-box;margin:0;padding:0 8px;color:#037003;font-size:14px;line-height:22px;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:absolute;top:8px;white-space:nowrap;background-color:#037003;border-radius:4px;}.ant-ribbon .ant-ribbon-text{color:#fff;}.ant-ribbon .ant-ribbon-corner{position:absolute;top:100%;width:8px;height:8px;color:currentcolor;border:4px solid;transform:scaleY(0.75);transform-origin:top;filter:brightness(75%);}.ant-ribbon.ant-ribbon-color-blue{background:#1668dc;color:#1668dc;}.ant-ribbon.ant-ribbon-color-purple{background:#642ab5;color:#642ab5;}.ant-ribbon.ant-ribbon-color-cyan{background:#13a8a8;color:#13a8a8;}.ant-ribbon.ant-ribbon-color-green{background:#49aa19;color:#49aa19;}.ant-ribbon.ant-ribbon-color-magenta{background:#cb2b83;color:#cb2b83;}.ant-ribbon.ant-ribbon-color-pink{background:#cb2b83;color:#cb2b83;}.ant-ribbon.ant-ribbon-color-red{background:#d32029;color:#d32029;}.ant-ribbon.ant-ribbon-color-orange{background:#d87a16;color:#d87a16;}.ant-ribbon.ant-ribbon-color-yellow{background:#d8bd14;color:#d8bd14;}.ant-ribbon.ant-ribbon-color-volcano{background:#d84a1b;color:#d84a1b;}.ant-ribbon.ant-ribbon-color-geekblue{background:#2b4acb;color:#2b4acb;}.ant-ribbon.ant-ribbon-color-lime{background:#8bbb11;color:#8bbb11;}.ant-ribbon.ant-ribbon-color-gold{background:#d89614;color:#d89614;}.ant-ribbon.ant-ribbon-placement-end{inset-inline-end:-8px;border-end-end-radius:0;}.ant-ribbon.ant-ribbon-placement-end .ant-ribbon-corner{inset-inline-end:0;border-inline-end-color:transparent;border-block-end-color:transparent;}.ant-ribbon.ant-ribbon-placement-start{inset-inline-start:-8px;border-end-start-radius:0;}.ant-ribbon.ant-ribbon-placement-start .ant-ribbon-corner{inset-inline-start:0;border-block-end-color:transparent;border-inline-start-color:transparent;}.ant-ribbon-rtl{direction:rtl;}@keyframes antBadgeLoadingCircle{0%{transform-origin:50%;}100%{transform:translate(50%, -50%) rotate(360deg);transform-origin:50%;}}@keyframes antStatusProcessing{0%{transform:scale(0.8);opacity:0.5;}100%{transform:scale(2.4);opacity:0;}}@keyframes antZoomBadgeIn{0%{transform:scale(0) translate(50%, -50%);opacity:0;}100%{transform:scale(1) translate(50%, -50%);}}@keyframes antZoomBadgeOut{0%{transform:scale(1) translate(50%, -50%);}100%{transform:scale(0) translate(50%, -50%);opacity:0;}}@keyframes antNoWrapperZoomBadgeIn{0%{transform:scale(0);opacity:0;}100%{transform:scale(1);}}@keyframes antNoWrapperZoomBadgeOut{0%{transform:scale(1);}100%{transform:scale(0);opacity:0;}}[class^=\\"ant-ribbon\\"],[class*=\\" ant-ribbon\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-ribbon\\"]::before,[class*=\\" ant-ribbon\\"]::before,[class^=\\"ant-ribbon\\"]::after,[class*=\\" ant-ribbon\\"]::after{box-sizing:border-box;}[class^=\\"ant-ribbon\\"] [class^=\\"ant-ribbon\\"],[class*=\\" ant-ribbon\\"] [class^=\\"ant-ribbon\\"],[class^=\\"ant-ribbon\\"] [class*=\\" ant-ribbon\\"],[class*=\\" ant-ribbon\\"] [class*=\\" ant-ribbon\\"]{box-sizing:border-box;}[class^=\\"ant-ribbon\\"] [class^=\\"ant-ribbon\\"]::before,[class*=\\" ant-ribbon\\"] [class^=\\"ant-ribbon\\"]::before,[class^=\\"ant-ribbon\\"] [class*=\\" ant-ribbon\\"]::before,[class*=\\" ant-ribbon\\"] [class*=\\" ant-ribbon\\"]::before,[class^=\\"ant-ribbon\\"] [class^=\\"ant-ribbon\\"]::after,[class*=\\" ant-ribbon\\"] [class^=\\"ant-ribbon\\"]::after,[class^=\\"ant-ribbon\\"] [class*=\\" ant-ribbon\\"]::after,[class*=\\" ant-ribbon\\"] [class*=\\" ant-ribbon\\"]::after{box-sizing:border-box;}.ant-ribbon{box-sizing:border-box;margin:0;padding:0 8px;color:#037003;font-size:14px;line-height:22px;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:absolute;top:8px;white-space:nowrap;background-color:#037003;border-radius:4px;}.ant-ribbon .ant-ribbon-text{color:#fff;}.ant-ribbon .ant-ribbon-corner{position:absolute;top:100%;width:8px;height:8px;color:currentcolor;border:4px solid;transform:scaleY(0.75);transform-origin:top;filter:brightness(75%);}.ant-ribbon.ant-ribbon-color-blue{background:#1668dc;color:#1668dc;}.ant-ribbon.ant-ribbon-color-purple{background:#642ab5;color:#642ab5;}.ant-ribbon.ant-ribbon-color-cyan{background:#13a8a8;color:#13a8a8;}.ant-ribbon.ant-ribbon-color-green{background:#49aa19;color:#49aa19;}.ant-ribbon.ant-ribbon-color-magenta{background:#cb2b83;color:#cb2b83;}.ant-ribbon.ant-ribbon-color-pink{background:#cb2b83;color:#cb2b83;}.ant-ribbon.ant-ribbon-color-red{background:#d32029;color:#d32029;}.ant-ribbon.ant-ribbon-color-orange{background:#d87a16;color:#d87a16;}.ant-ribbon.ant-ribbon-color-yellow{background:#d8bd14;color:#d8bd14;}.ant-ribbon.ant-ribbon-color-volcano{background:#d84a1b;color:#d84a1b;}.ant-ribbon.ant-ribbon-color-geekblue{background:#2b4acb;color:#2b4acb;}.ant-ribbon.ant-ribbon-color-lime{background:#8bbb11;color:#8bbb11;}.ant-ribbon.ant-ribbon-color-gold{background:#d89614;color:#d89614;}.ant-ribbon.ant-ribbon-placement-end{inset-inline-end:-8px;border-end-end-radius:0;}.ant-ribbon.ant-ribbon-placement-end .ant-ribbon-corner{inset-inline-end:0;border-inline-end-color:transparent;border-block-end-color:transparent;}.ant-ribbon.ant-ribbon-placement-start{inset-inline-start:-8px;border-end-start-radius:0;}.ant-ribbon.ant-ribbon-placement-start .ant-ribbon-corner{inset-inline-start:0;border-block-end-color:transparent;border-inline-start-color:transparent;}.ant-ribbon-rtl{direction:rtl;}.ant-ribbon-wrapper{position:relative;}[class^=\\"ant-breadcrumb\\"],[class*=\\" ant-breadcrumb\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-breadcrumb\\"]::before,[class*=\\" ant-breadcrumb\\"]::before,[class^=\\"ant-breadcrumb\\"]::after,[class*=\\" ant-breadcrumb\\"]::after{box-sizing:border-box;}[class^=\\"ant-breadcrumb\\"] [class^=\\"ant-breadcrumb\\"],[class*=\\" ant-breadcrumb\\"] [class^=\\"ant-breadcrumb\\"],[class^=\\"ant-breadcrumb\\"] [class*=\\" ant-breadcrumb\\"],[class*=\\" ant-breadcrumb\\"] [class*=\\" ant-breadcrumb\\"]{box-sizing:border-box;}[class^=\\"ant-breadcrumb\\"] [class^=\\"ant-breadcrumb\\"]::before,[class*=\\" ant-breadcrumb\\"] [class^=\\"ant-breadcrumb\\"]::before,[class^=\\"ant-breadcrumb\\"] [class*=\\" ant-breadcrumb\\"]::before,[class*=\\" ant-breadcrumb\\"] [class*=\\" ant-breadcrumb\\"]::before,[class^=\\"ant-breadcrumb\\"] [class^=\\"ant-breadcrumb\\"]::after,[class*=\\" ant-breadcrumb\\"] [class^=\\"ant-breadcrumb\\"]::after,[class^=\\"ant-breadcrumb\\"] [class*=\\" ant-breadcrumb\\"]::after,[class*=\\" ant-breadcrumb\\"] [class*=\\" ant-breadcrumb\\"]::after{box-sizing:border-box;}.ant-breadcrumb{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.45);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';}.ant-breadcrumb .anticon{font-size:14px;}.ant-breadcrumb ol{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none;}.ant-breadcrumb a{color:rgba(255, 255, 255, 0.45);transition:color 0.2s;padding:0 4px;border-radius:4px;height:22px;display:inline-block;margin-inline:-4px;}.ant-breadcrumb a:hover{color:rgba(255, 255, 255, 0.85);background-color:rgba(255, 255, 255, 0.12);}.ant-breadcrumb a:focus-visible{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-breadcrumb li:last-child{color:rgba(255, 255, 255, 0.85);}.ant-breadcrumb li:last-child>.ant-breadcrumb-separator{display:none;}.ant-breadcrumb .ant-breadcrumb-separator{margin-inline:8px;color:rgba(255, 255, 255, 0.45);}.ant-breadcrumb .ant-breadcrumb-link >.anticon+span,.ant-breadcrumb .ant-breadcrumb-link >.anticon+a{margin-inline-start:4px;}.ant-breadcrumb .ant-breadcrumb-overlay-link{border-radius:4px;height:22px;display:inline-block;padding:0 4px;margin-inline:-4px;}.ant-breadcrumb .ant-breadcrumb-overlay-link >.anticon{margin-inline-start:4px;font-size:12px;}.ant-breadcrumb .ant-breadcrumb-overlay-link:hover{color:rgba(255, 255, 255, 0.85);background-color:rgba(255, 255, 255, 0.12);}.ant-breadcrumb .ant-breadcrumb-overlay-link:hover a{color:rgba(255, 255, 255, 0.85);}.ant-breadcrumb .ant-breadcrumb-overlay-link a:hover{background-color:transparent;}.ant-breadcrumb.ant-breadcrumb-rtl{direction:rtl;}[class^=\\"ant-btn\\"],[class*=\\" ant-btn\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-btn\\"]::before,[class*=\\" ant-btn\\"]::before,[class^=\\"ant-btn\\"]::after,[class*=\\" ant-btn\\"]::after{box-sizing:border-box;}[class^=\\"ant-btn\\"] [class^=\\"ant-btn\\"],[class*=\\" ant-btn\\"] [class^=\\"ant-btn\\"],[class^=\\"ant-btn\\"] [class*=\\" ant-btn\\"],[class*=\\" ant-btn\\"] [class*=\\" ant-btn\\"]{box-sizing:border-box;}[class^=\\"ant-btn\\"] [class^=\\"ant-btn\\"]::before,[class*=\\" ant-btn\\"] [class^=\\"ant-btn\\"]::before,[class^=\\"ant-btn\\"] [class*=\\" ant-btn\\"]::before,[class*=\\" ant-btn\\"] [class*=\\" ant-btn\\"]::before,[class^=\\"ant-btn\\"] [class^=\\"ant-btn\\"]::after,[class*=\\" ant-btn\\"] [class^=\\"ant-btn\\"]::after,[class^=\\"ant-btn\\"] [class*=\\" ant-btn\\"]::after,[class*=\\" ant-btn\\"] [class*=\\" ant-btn\\"]::after{box-sizing:border-box;}.ant-btn{outline:none;position:relative;display:inline-block;font-weight:400;white-space:nowrap;text-align:center;background-image:none;background-color:transparent;border:1px solid transparent;cursor:pointer;transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);user-select:none;touch-action:manipulation;line-height:1.5714285714285714;color:rgba(255, 255, 255, 0.85);}.ant-btn >span{display:inline-block;}.ant-btn >.anticon+span,.ant-btn >span+.anticon{margin-inline-start:8px;}.ant-btn >a{color:currentColor;}.ant-btn:not(:disabled):focus-visible{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-btn-icon-only.ant-btn-compact-item{flex:none;}.ant-btn-compact-item.ant-btn-primary:not([disabled])+.ant-btn-compact-item.ant-btn-primary:not([disabled]){position:relative;}.ant-btn-compact-item.ant-btn-primary:not([disabled])+.ant-btn-compact-item.ant-btn-primary:not([disabled]):before{position:absolute;top:-1px;inset-inline-start:-1px;display:inline-block;width:1px;height:calc(100% + 2px);background-color:#198016;content:\\"\\";}.ant-btn-compact-vertical-item.ant-btn-primary:not([disabled])+.ant-btn-compact-vertical-item.ant-btn-primary:not([disabled]){position:relative;}.ant-btn-compact-vertical-item.ant-btn-primary:not([disabled])+.ant-btn-compact-vertical-item.ant-btn-primary:not([disabled]):before{position:absolute;top:-1px;inset-inline-start:-1px;display:inline-block;width:calc(100% + 2px);height:1px;background-color:#198016;content:\\"\\";}.ant-btn.ant-btn-sm{font-size:14px;height:24px;padding:0px 7px;border-radius:4px;}.ant-btn.ant-btn-sm.ant-btn-icon-only{width:24px;padding-inline-start:0;padding-inline-end:0;}.ant-btn.ant-btn-sm.ant-btn-icon-only.ant-btn-round{width:auto;}.ant-btn.ant-btn-sm.ant-btn-icon-only >span{transform:scale(1.143);}.ant-btn.ant-btn-sm.ant-btn-loading{opacity:0.65;cursor:default;}.ant-btn.ant-btn-sm .ant-btn-loading-icon{transition:width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);}.ant-btn.ant-btn-sm:not(.ant-btn-icon-only) .ant-btn-loading-icon>.anticon{margin-inline-end:8px;}.ant-btn.ant-btn-circle.ant-btn-sm{min-width:24px;padding-inline-start:0;padding-inline-end:0;border-radius:50%;}.ant-btn.ant-btn-round.ant-btn-sm{border-radius:24px;padding-inline-start:12px;padding-inline-end:12px;}.ant-btn{font-size:14px;height:32px;padding:4px 15px;border-radius:6px;}.ant-btn.ant-btn-icon-only{width:32px;padding-inline-start:0;padding-inline-end:0;}.ant-btn.ant-btn-icon-only.ant-btn-round{width:auto;}.ant-btn.ant-btn-icon-only >span{transform:scale(1.143);}.ant-btn.ant-btn-loading{opacity:0.65;cursor:default;}.ant-btn .ant-btn-loading-icon{transition:width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);}.ant-btn:not(.ant-btn-icon-only) .ant-btn-loading-icon>.anticon{margin-inline-end:8px;}.ant-btn.ant-btn-circle{min-width:32px;padding-inline-start:0;padding-inline-end:0;border-radius:50%;}.ant-btn.ant-btn-round{border-radius:32px;padding-inline-start:16px;padding-inline-end:16px;}.ant-btn.ant-btn-lg{font-size:16px;height:40px;padding:6.428571428571429px 15px;border-radius:8px;}.ant-btn.ant-btn-lg.ant-btn-icon-only{width:40px;padding-inline-start:0;padding-inline-end:0;}.ant-btn.ant-btn-lg.ant-btn-icon-only.ant-btn-round{width:auto;}.ant-btn.ant-btn-lg.ant-btn-icon-only >span{transform:scale(1.143);}.ant-btn.ant-btn-lg.ant-btn-loading{opacity:0.65;cursor:default;}.ant-btn.ant-btn-lg .ant-btn-loading-icon{transition:width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);}.ant-btn.ant-btn-lg:not(.ant-btn-icon-only) .ant-btn-loading-icon>.anticon{margin-inline-end:8px;}.ant-btn.ant-btn-circle.ant-btn-lg{min-width:40px;padding-inline-start:0;padding-inline-end:0;border-radius:50%;}.ant-btn.ant-btn-round.ant-btn-lg{border-radius:40px;padding-inline-start:20px;padding-inline-end:20px;}.ant-btn.ant-btn-block{width:100%;}.ant-btn-default{background-color:#141414;border-color:#424242;box-shadow:0 2px 0 rgba(255, 255, 255, 0.04);}.ant-btn-default:disabled{cursor:not-allowed;border-color:#424242;color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.08);box-shadow:none;}.ant-btn-default:not(:disabled):hover{color:#198016;border-color:#198016;}.ant-btn-default:not(:disabled):active{color:#075a07;border-color:#075a07;}.ant-btn-default.ant-btn-background-ghost{color:#141414;background-color:transparent;border-color:#141414;box-shadow:none;}.ant-btn-default.ant-btn-background-ghost:not(:disabled):hover{background-color:transparent;}.ant-btn-default.ant-btn-background-ghost:not(:disabled):active{background-color:transparent;}.ant-btn-default.ant-btn-background-ghost:disabled{cursor:not-allowed;color:rgba(255, 255, 255, 0.25);border-color:#424242;}.ant-btn-default.ant-btn-dangerous{color:#dc4446;border-color:#dc4446;}.ant-btn-default.ant-btn-dangerous:not(:disabled):hover{color:#e86e6b;border-color:#7e2e2f;}.ant-btn-default.ant-btn-dangerous:not(:disabled):active{color:#ad393a;border-color:#ad393a;}.ant-btn-default.ant-btn-dangerous.ant-btn-background-ghost{color:#dc4446;background-color:transparent;border-color:#dc4446;box-shadow:none;}.ant-btn-default.ant-btn-dangerous.ant-btn-background-ghost:not(:disabled):hover{background-color:transparent;}.ant-btn-default.ant-btn-dangerous.ant-btn-background-ghost:not(:disabled):active{background-color:transparent;}.ant-btn-default.ant-btn-dangerous.ant-btn-background-ghost:disabled{cursor:not-allowed;color:rgba(255, 255, 255, 0.25);border-color:#424242;}.ant-btn-default.ant-btn-dangerous:disabled{cursor:not-allowed;border-color:#424242;color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.08);box-shadow:none;}.ant-btn-primary{color:#fff;background-color:#037003;box-shadow:0 2px 0 rgba(0, 53, 0, 0.15);}.ant-btn-primary:disabled{cursor:not-allowed;border-color:#424242;color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.08);box-shadow:none;}.ant-btn-primary:not(:disabled):hover{color:#fff;background-color:#198016;}.ant-btn-primary:not(:disabled):active{color:#fff;background-color:#075a07;}.ant-btn-primary.ant-btn-background-ghost{color:#037003;background-color:transparent;border-color:#037003;box-shadow:none;}.ant-btn-primary.ant-btn-background-ghost:not(:disabled):hover{background-color:transparent;color:#198016;border-color:#198016;}.ant-btn-primary.ant-btn-background-ghost:not(:disabled):active{background-color:transparent;color:#075a07;border-color:#075a07;}.ant-btn-primary.ant-btn-background-ghost:disabled{cursor:not-allowed;color:rgba(255, 255, 255, 0.25);border-color:#424242;}.ant-btn-primary.ant-btn-dangerous{background-color:#dc4446;box-shadow:0 2px 0 rgba(238, 38, 56, 0.11);}.ant-btn-primary.ant-btn-dangerous:not(:disabled):hover{background-color:#e86e6b;}.ant-btn-primary.ant-btn-dangerous:not(:disabled):active{background-color:#ad393a;}.ant-btn-primary.ant-btn-dangerous.ant-btn-background-ghost{color:#dc4446;background-color:transparent;border-color:#dc4446;box-shadow:none;}.ant-btn-primary.ant-btn-dangerous.ant-btn-background-ghost:not(:disabled):hover{background-color:transparent;color:#e86e6b;border-color:#e86e6b;}.ant-btn-primary.ant-btn-dangerous.ant-btn-background-ghost:not(:disabled):active{background-color:transparent;color:#ad393a;border-color:#ad393a;}.ant-btn-primary.ant-btn-dangerous.ant-btn-background-ghost:disabled{cursor:not-allowed;color:rgba(255, 255, 255, 0.25);border-color:#424242;}.ant-btn-primary.ant-btn-dangerous:disabled{cursor:not-allowed;border-color:#424242;color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.08);box-shadow:none;}.ant-btn-dashed{background-color:#141414;border-color:#424242;box-shadow:0 2px 0 rgba(255, 255, 255, 0.04);border-style:dashed;}.ant-btn-dashed:disabled{cursor:not-allowed;border-color:#424242;color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.08);box-shadow:none;}.ant-btn-dashed:not(:disabled):hover{color:#198016;border-color:#198016;}.ant-btn-dashed:not(:disabled):active{color:#075a07;border-color:#075a07;}.ant-btn-dashed.ant-btn-background-ghost{color:#141414;background-color:transparent;border-color:#141414;box-shadow:none;}.ant-btn-dashed.ant-btn-background-ghost:not(:disabled):hover{background-color:transparent;}.ant-btn-dashed.ant-btn-background-ghost:not(:disabled):active{background-color:transparent;}.ant-btn-dashed.ant-btn-background-ghost:disabled{cursor:not-allowed;color:rgba(255, 255, 255, 0.25);border-color:#424242;}.ant-btn-dashed.ant-btn-dangerous{color:#dc4446;border-color:#dc4446;}.ant-btn-dashed.ant-btn-dangerous:not(:disabled):hover{color:#e86e6b;border-color:#7e2e2f;}.ant-btn-dashed.ant-btn-dangerous:not(:disabled):active{color:#ad393a;border-color:#ad393a;}.ant-btn-dashed.ant-btn-dangerous.ant-btn-background-ghost{color:#dc4446;background-color:transparent;border-color:#dc4446;box-shadow:none;}.ant-btn-dashed.ant-btn-dangerous.ant-btn-background-ghost:not(:disabled):hover{background-color:transparent;}.ant-btn-dashed.ant-btn-dangerous.ant-btn-background-ghost:not(:disabled):active{background-color:transparent;}.ant-btn-dashed.ant-btn-dangerous.ant-btn-background-ghost:disabled{cursor:not-allowed;color:rgba(255, 255, 255, 0.25);border-color:#424242;}.ant-btn-dashed.ant-btn-dangerous:disabled{cursor:not-allowed;border-color:#424242;color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.08);box-shadow:none;}.ant-btn-link{color:#1668dc;}.ant-btn-link:not(:disabled):hover{color:#15417e;}.ant-btn-link:not(:disabled):active{color:#1554ad;}.ant-btn-link:disabled{cursor:not-allowed;color:rgba(255, 255, 255, 0.25);}.ant-btn-link.ant-btn-dangerous{color:#dc4446;}.ant-btn-link.ant-btn-dangerous:not(:disabled):hover{color:#e86e6b;}.ant-btn-link.ant-btn-dangerous:not(:disabled):active{color:#ad393a;}.ant-btn-link.ant-btn-dangerous:disabled{cursor:not-allowed;color:rgba(255, 255, 255, 0.25);}.ant-btn-text:not(:disabled):hover{color:rgba(255, 255, 255, 0.85);background-color:rgba(255, 255, 255, 0.12);}.ant-btn-text:not(:disabled):active{color:rgba(255, 255, 255, 0.85);background-color:rgba(255, 255, 255, 0.18);}.ant-btn-text:disabled{cursor:not-allowed;color:rgba(255, 255, 255, 0.25);}.ant-btn-text.ant-btn-dangerous{color:#dc4446;}.ant-btn-text.ant-btn-dangerous:disabled{cursor:not-allowed;color:rgba(255, 255, 255, 0.25);}.ant-btn-text.ant-btn-dangerous:not(:disabled):hover{color:#e86e6b;background-color:#2c1618;}.ant-btn-text.ant-btn-dangerous:not(:disabled):active{color:#e86e6b;background-color:#2c1618;}.ant-btn-disabled{cursor:not-allowed;border-color:#424242;color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.08);box-shadow:none;}.ant-btn-disabled.ant-btn:hover{cursor:not-allowed;border-color:#424242;color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.08);box-shadow:none;}.ant-btn-group{position:relative;display:inline-flex;}.ant-btn-group >span:not(:last-child),.ant-btn-group >.ant-btn:not(:last-child),.ant-btn-group >span:not(:last-child)>.ant-btn,.ant-btn-group >.ant-btn:not(:last-child)>.ant-btn{border-start-end-radius:0;border-end-end-radius:0;}.ant-btn-group >span:not(:first-child),.ant-btn-group >.ant-btn:not(:first-child){margin-inline-start:-1px;}.ant-btn-group >span:not(:first-child),.ant-btn-group >.ant-btn:not(:first-child),.ant-btn-group >span:not(:first-child)>.ant-btn,.ant-btn-group >.ant-btn:not(:first-child)>.ant-btn{border-start-start-radius:0;border-end-start-radius:0;}.ant-btn-group .ant-btn{position:relative;z-index:1;}.ant-btn-group .ant-btn:hover,.ant-btn-group .ant-btn:focus,.ant-btn-group .ant-btn:active{z-index:2;}.ant-btn-group .ant-btn[disabled]{z-index:0;}.ant-btn-group .ant-btn-icon-only{font-size:14px;}.ant-btn-group >span:not(:last-child):not(:disabled),.ant-btn-group >.ant-btn-primary:not(:last-child):not(:disabled),.ant-btn-group >span:not(:last-child)>.ant-btn-primary:not(:disabled),.ant-btn-group >.ant-btn-primary:not(:last-child)>.ant-btn-primary:not(:disabled){border-inline-end-color:#198016;}.ant-btn-group >span:not(:first-child):not(:disabled),.ant-btn-group >.ant-btn-primary:not(:first-child):not(:disabled),.ant-btn-group >span:not(:first-child)>.ant-btn-primary:not(:disabled),.ant-btn-group >.ant-btn-primary:not(:first-child)>.ant-btn-primary:not(:disabled){border-inline-start-color:#198016;}.ant-btn-group >span:not(:last-child):not(:disabled),.ant-btn-group >.ant-btn-danger:not(:last-child):not(:disabled),.ant-btn-group >span:not(:last-child)>.ant-btn-danger:not(:disabled),.ant-btn-group >.ant-btn-danger:not(:last-child)>.ant-btn-danger:not(:disabled){border-inline-end-color:#e86e6b;}.ant-btn-group >span:not(:first-child):not(:disabled),.ant-btn-group >.ant-btn-danger:not(:first-child):not(:disabled),.ant-btn-group >span:not(:first-child)>.ant-btn-danger:not(:disabled),.ant-btn-group >.ant-btn-danger:not(:first-child)>.ant-btn-danger:not(:disabled){border-inline-start-color:#e86e6b;}.ant-btn-compact-item:not(.ant-btn-compact-last-item){margin-inline-end:-1px;}.ant-btn-compact-item:hover,.ant-btn-compact-item:active{z-index:2;}.ant-btn-compact-item[disabled]{z-index:0;}.ant-btn-compact-item:not(.ant-btn-compact-first-item):not(.ant-btn-compact-last-item){border-radius:0;}.ant-btn-compact-item:not(.ant-btn-compact-last-item).ant-btn-compact-first-item,.ant-btn-compact-item:not(.ant-btn-compact-last-item).ant-btn-compact-first-item.ant-btn-sm,.ant-btn-compact-item:not(.ant-btn-compact-last-item).ant-btn-compact-first-item.ant-btn-lg{border-start-end-radius:0;border-end-end-radius:0;}.ant-btn-compact-item:not(.ant-btn-compact-first-item).ant-btn-compact-last-item,.ant-btn-compact-item:not(.ant-btn-compact-first-item).ant-btn-compact-last-item.ant-btn-sm,.ant-btn-compact-item:not(.ant-btn-compact-first-item).ant-btn-compact-last-item.ant-btn-lg{border-start-start-radius:0;border-end-start-radius:0;}.ant-btn-compact-vertical-item:not(.ant-btn-compact-vertical-last-item){margin-bottom:-1px;}.ant-btn-compact-vertical-item:hover,.ant-btn-compact-vertical-item:focus,.ant-btn-compact-vertical-item:active{z-index:2;}.ant-btn-compact-vertical-item[disabled]{z-index:0;}.ant-btn-compact-vertical-item:not(.ant-btn-compact-vertical-first-item):not(.ant-btn-compact-vertical-last-item){border-radius:0;}.ant-btn-compact-vertical-item.ant-btn-compact-vertical-first-item:not(.ant-btn-compact-vertical-last-item),.ant-btn-compact-vertical-item.ant-btn-compact-vertical-first-item:not(.ant-btn-compact-vertical-last-item).ant-btn-sm,.ant-btn-compact-vertical-item.ant-btn-compact-vertical-first-item:not(.ant-btn-compact-vertical-last-item).ant-btn-lg{border-end-end-radius:0;border-end-start-radius:0;}.ant-btn-compact-vertical-item.ant-btn-compact-vertical-last-item:not(.ant-btn-compact-vertical-first-item),.ant-btn-compact-vertical-item.ant-btn-compact-vertical-last-item:not(.ant-btn-compact-vertical-first-item).ant-btn-sm,.ant-btn-compact-vertical-item.ant-btn-compact-vertical-last-item:not(.ant-btn-compact-vertical-first-item).ant-btn-lg{border-start-start-radius:0;border-start-end-radius:0;}[class^=\\"ant-wave\\"],[class*=\\" ant-wave\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-wave\\"]::before,[class*=\\" ant-wave\\"]::before,[class^=\\"ant-wave\\"]::after,[class*=\\" ant-wave\\"]::after{box-sizing:border-box;}[class^=\\"ant-wave\\"] [class^=\\"ant-wave\\"],[class*=\\" ant-wave\\"] [class^=\\"ant-wave\\"],[class^=\\"ant-wave\\"] [class*=\\" ant-wave\\"],[class*=\\" ant-wave\\"] [class*=\\" ant-wave\\"]{box-sizing:border-box;}[class^=\\"ant-wave\\"] [class^=\\"ant-wave\\"]::before,[class*=\\" ant-wave\\"] [class^=\\"ant-wave\\"]::before,[class^=\\"ant-wave\\"] [class*=\\" ant-wave\\"]::before,[class*=\\" ant-wave\\"] [class*=\\" ant-wave\\"]::before,[class^=\\"ant-wave\\"] [class^=\\"ant-wave\\"]::after,[class*=\\" ant-wave\\"] [class^=\\"ant-wave\\"]::after,[class^=\\"ant-wave\\"] [class*=\\" ant-wave\\"]::after,[class*=\\" ant-wave\\"] [class*=\\" ant-wave\\"]::after{box-sizing:border-box;}.ant-wave{position:absolute;background:transparent;pointer-events:none;box-sizing:border-box;color:var(--wave-color, #037003);box-shadow:0 0 0 0 currentcolor;opacity:0.2;}.ant-wave.wave-motion-appear{transition:box-shadow 0.4s cubic-bezier(0.08, 0.82, 0.17, 1),opacity 2s cubic-bezier(0.08, 0.82, 0.17, 1);}.ant-wave.wave-motion-appear-active{box-shadow:0 0 0 6px currentcolor;opacity:0;}[class^=\\"ant-picker\\"],[class*=\\" ant-picker\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-picker\\"]::before,[class*=\\" ant-picker\\"]::before,[class^=\\"ant-picker\\"]::after,[class*=\\" ant-picker\\"]::after{box-sizing:border-box;}[class^=\\"ant-picker\\"] [class^=\\"ant-picker\\"],[class*=\\" ant-picker\\"] [class^=\\"ant-picker\\"],[class^=\\"ant-picker\\"] [class*=\\" ant-picker\\"],[class*=\\" ant-picker\\"] [class*=\\" ant-picker\\"]{box-sizing:border-box;}[class^=\\"ant-picker\\"] [class^=\\"ant-picker\\"]::before,[class*=\\" ant-picker\\"] [class^=\\"ant-picker\\"]::before,[class^=\\"ant-picker\\"] [class*=\\" ant-picker\\"]::before,[class*=\\" ant-picker\\"] [class*=\\" ant-picker\\"]::before,[class^=\\"ant-picker\\"] [class^=\\"ant-picker\\"]::after,[class*=\\" ant-picker\\"] [class^=\\"ant-picker\\"]::after,[class^=\\"ant-picker\\"] [class*=\\" ant-picker\\"]::after,[class*=\\" ant-picker\\"] [class*=\\" ant-picker\\"]::after{box-sizing:border-box;}.ant-picker-calendar{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';background:#141414;}.ant-picker-calendar .ant-picker-panel{display:inline-flex;flex-direction:column;text-align:center;background:#141414;border:1px solid rgba(253, 253, 253, 0.12);border-radius:8px;outline:none;}.ant-picker-calendar .ant-picker-panel-focused{border-color:#037003;}.ant-picker-calendar .ant-picker-panel-rtl{direction:rtl;}.ant-picker-calendar .ant-picker-panel-rtl .ant-picker-prev-icon,.ant-picker-calendar .ant-picker-panel-rtl .ant-picker-super-prev-icon{transform:rotate(45deg);}.ant-picker-calendar .ant-picker-panel-rtl .ant-picker-next-icon,.ant-picker-calendar .ant-picker-panel-rtl .ant-picker-super-next-icon{transform:rotate(-135deg);}.ant-picker-calendar .ant-picker-decade-panel,.ant-picker-calendar .ant-picker-year-panel,.ant-picker-calendar .ant-picker-quarter-panel,.ant-picker-calendar .ant-picker-month-panel,.ant-picker-calendar .ant-picker-week-panel,.ant-picker-calendar .ant-picker-date-panel,.ant-picker-calendar .ant-picker-time-panel{display:flex;flex-direction:column;width:280px;}.ant-picker-calendar .ant-picker-header{display:flex;padding:0 8px;color:rgba(255, 255, 255, 0.85);border-bottom:1px solid rgba(253, 253, 253, 0.12);}.ant-picker-calendar .ant-picker-header >*{flex:none;}.ant-picker-calendar .ant-picker-header button{padding:0;color:rgba(255, 255, 255, 0.45);line-height:40px;background:transparent;border:0;cursor:pointer;transition:color 0.2s;}.ant-picker-calendar .ant-picker-header >button{min-width:1.6em;font-size:14px;}.ant-picker-calendar .ant-picker-header >button:hover{color:rgba(255, 255, 255, 0.85);}.ant-picker-calendar .ant-picker-header-view{flex:auto;font-weight:600;line-height:40px;}.ant-picker-calendar .ant-picker-header-view button{color:inherit;font-weight:inherit;vertical-align:top;}.ant-picker-calendar .ant-picker-header-view button:not(:first-child){margin-inline-start:8px;}.ant-picker-calendar .ant-picker-header-view button:hover{color:#037003;}.ant-picker-calendar .ant-picker-prev-icon,.ant-picker-calendar .ant-picker-next-icon,.ant-picker-calendar .ant-picker-super-prev-icon,.ant-picker-calendar .ant-picker-super-next-icon{position:relative;display:inline-block;width:7px;height:7px;}.ant-picker-calendar .ant-picker-prev-icon::before,.ant-picker-calendar .ant-picker-next-icon::before,.ant-picker-calendar .ant-picker-super-prev-icon::before,.ant-picker-calendar .ant-picker-super-next-icon::before{position:absolute;top:0;inset-inline-start:0;display:inline-block;width:7px;height:7px;border:0 solid currentcolor;border-block-start-width:1.5px;border-block-end-width:0;border-inline-start-width:1.5px;border-inline-end-width:0;content:\\"\\";}.ant-picker-calendar .ant-picker-super-prev-icon::after,.ant-picker-calendar .ant-picker-super-next-icon::after{position:absolute;top:4px;inset-inline-start:4px;display:inline-block;width:7px;height:7px;border:0 solid currentcolor;border-block-start-width:1.5px;border-block-end-width:0;border-inline-start-width:1.5px;border-inline-end-width:0;content:\\"\\";}.ant-picker-calendar .ant-picker-prev-icon,.ant-picker-calendar .ant-picker-super-prev-icon{transform:rotate(-45deg);}.ant-picker-calendar .ant-picker-next-icon,.ant-picker-calendar .ant-picker-super-next-icon{transform:rotate(135deg);}.ant-picker-calendar .ant-picker-content{width:100%;table-layout:fixed;border-collapse:collapse;}.ant-picker-calendar .ant-picker-content th,.ant-picker-calendar .ant-picker-content td{position:relative;min-width:24px;font-weight:normal;}.ant-picker-calendar .ant-picker-content th{height:32px;color:rgba(255, 255, 255, 0.85);vertical-align:middle;}.ant-picker-calendar .ant-picker-cell{padding:4px 0;color:rgba(255, 255, 255, 0.25);cursor:pointer;}.ant-picker-calendar .ant-picker-cell-in-view{color:rgba(255, 255, 255, 0.85);}.ant-picker-calendar .ant-picker-cell::before{position:absolute;top:50%;inset-inline-start:0;inset-inline-end:0;z-index:1;height:24px;transform:translateY(-50%);transition:all 0.3s;content:\\"\\";}.ant-picker-calendar .ant-picker-cell .ant-picker-cell-inner{position:relative;z-index:2;display:inline-block;min-width:24px;height:24px;line-height:24px;border-radius:4px;transition:background 0.2s,border 0.2s;}.ant-picker-calendar .ant-picker-cell:hover:not(.ant-picker-cell-in-view) .ant-picker-cell-inner,.ant-picker-calendar .ant-picker-cell:hover:not(.ant-picker-cell-selected):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end):not(.ant-picker-cell-range-hover-start):not(.ant-picker-cell-range-hover-end) .ant-picker-cell-inner{background:rgba(255, 255, 255, 0.08);}.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner::before{position:absolute;top:0;inset-inline-end:0;bottom:0;inset-inline-start:0;z-index:1;border:1px solid #037003;border-radius:4px;content:\\"\\";}.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-in-range{position:relative;}.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-in-range::before{background:#111911;}.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner,.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner{color:#fff;background:#037003;}.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single)::before,.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single)::before{background:#111911;}.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-start::before{inset-inline-start:50%;}.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-end::before{inset-inline-end:50%;}.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after,.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-hover-end:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after,.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start-single::after,.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-end-near-hover::after,.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-start-near-hover::after,.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-end-single::after,.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-in-range)::after{position:absolute;top:50%;z-index:0;height:24px;border-top:1px dashed #06d306;border-bottom:1px dashed #06d306;transform:translateY(-50%);transition:all 0.3s;content:\\"\\";}.ant-picker-calendar .ant-picker-cell-range-hover-start::after,.ant-picker-calendar .ant-picker-cell-range-hover-end::after,.ant-picker-calendar .ant-picker-cell-range-hover::after{inset-inline-end:0;inset-inline-start:2px;}.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover::before,.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-start.ant-picker-cell-range-hover::before,.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-end.ant-picker-cell-range-hover::before,.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single).ant-picker-cell-range-hover-start::before,.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single).ant-picker-cell-range-hover-end::before,.ant-picker-panel>:not(.ant-picker-date-panel) .ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start::before,.ant-picker-panel>:not(.ant-picker-date-panel) .ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end::before{background:#2cf92c;}.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner{border-start-start-radius:4px;border-end-start-radius:4px;border-start-end-radius:0;border-end-end-radius:0;}.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner{border-start-start-radius:0;border-end-start-radius:0;border-start-end-radius:4px;border-end-end-radius:4px;}.ant-picker-calendar .ant-picker-cell-range-hover.ant-picker-cell-range-end::after{inset-inline-start:50%;}tr>.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-hover:first-child::after,tr>.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after,.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range::after,.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after,.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after{inset-inline-start:6px;border-inline-start:1px dashed #06d306;border-start-start-radius:1px;border-end-start-radius:1px;}tr>.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-hover:last-child::after,tr>.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after,.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range::after,.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after,.ant-picker-calendar .ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after{inset-inline-end:6px;border-inline-end:1px dashed #06d306;border-start-end-radius:1px;border-end-end-radius:1px;}.ant-picker-calendar .ant-picker-cell-disabled{color:rgba(255, 255, 255, 0.25);pointer-events:none;}.ant-picker-calendar .ant-picker-cell-disabled .ant-picker-cell-inner{background:transparent;}.ant-picker-calendar .ant-picker-cell-disabled::before{background:rgba(255, 255, 255, 0.08);}.ant-picker-calendar .ant-picker-cell-disabled.ant-picker-cell-today .ant-picker-cell-inner::before{border-color:rgba(255, 255, 255, 0.25);}.ant-picker-calendar .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after,.ant-picker-calendar .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after{position:absolute;top:0;bottom:0;z-index:-1;background:#2cf92c;transition:all 0.3s;content:\\"\\";}.ant-picker-calendar .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after{inset-inline-end:-6px;inset-inline-start:0;}.ant-picker-calendar .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after{inset-inline-end:0;inset-inline-start:-6px;}.ant-picker-calendar .ant-picker-range-hover.ant-picker-range-start::after{inset-inline-end:50%;}.ant-picker-calendar .ant-picker-decade-panel .ant-picker-content,.ant-picker-calendar .ant-picker-year-panel .ant-picker-content,.ant-picker-calendar .ant-picker-quarter-panel .ant-picker-content,.ant-picker-calendar .ant-picker-month-panel .ant-picker-content{height:264px;}.ant-picker-calendar .ant-picker-decade-panel .ant-picker-cell-inner,.ant-picker-calendar .ant-picker-year-panel .ant-picker-cell-inner,.ant-picker-calendar .ant-picker-quarter-panel .ant-picker-cell-inner,.ant-picker-calendar .ant-picker-month-panel .ant-picker-cell-inner{padding:0 8px;}.ant-picker-calendar .ant-picker-quarter-panel .ant-picker-content{height:56px;}.ant-picker-calendar .ant-picker-panel .ant-picker-footer{border-top:1px solid rgba(253, 253, 253, 0.12);}.ant-picker-calendar .ant-picker-footer{width:min-content;min-width:100%;line-height:38px;text-align:center;}.ant-picker-calendar .ant-picker-footer-extra{padding:0 12;line-height:38px;text-align:start;}.ant-picker-calendar .ant-picker-footer-extra:not(:last-child){border-bottom:1px solid rgba(253, 253, 253, 0.12);}.ant-picker-calendar .ant-picker-now{text-align:start;}.ant-picker-calendar .ant-picker-today-btn{color:#1668dc;}.ant-picker-calendar .ant-picker-today-btn:hover{color:#15417e;}.ant-picker-calendar .ant-picker-today-btn:active{color:#1554ad;}.ant-picker-calendar .ant-picker-today-btn.ant-picker-today-btn-disabled{color:rgba(255, 255, 255, 0.25);cursor:not-allowed;}.ant-picker-calendar .ant-picker-decade-panel .ant-picker-cell-inner{padding:0 4px;}.ant-picker-calendar .ant-picker-decade-panel .ant-picker-cell::before{display:none;}.ant-picker-calendar .ant-picker-year-panel .ant-picker-body,.ant-picker-calendar .ant-picker-quarter-panel .ant-picker-body,.ant-picker-calendar .ant-picker-month-panel .ant-picker-body{padding:0 8px;}.ant-picker-calendar .ant-picker-year-panel .ant-picker-cell-inner,.ant-picker-calendar .ant-picker-quarter-panel .ant-picker-cell-inner,.ant-picker-calendar .ant-picker-month-panel .ant-picker-cell-inner{width:60px;}.ant-picker-calendar .ant-picker-year-panel .ant-picker-cell-range-hover-start::after,.ant-picker-calendar .ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after,.ant-picker-calendar .ant-picker-month-panel .ant-picker-cell-range-hover-start::after{inset-inline-start:16px;border-inline-start:1px dashed #06d306;border-start-start-radius:4px;border-bottom-start-radius:4px;border-start-end-radius:0;border-bottom-end-radius:0;}.ant-picker-panel-rtl .ant-picker-calendar .ant-picker-year-panel .ant-picker-cell-range-hover-start::after,.ant-picker-panel-rtl .ant-picker-calendar .ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after,.ant-picker-panel-rtl .ant-picker-calendar .ant-picker-month-panel .ant-picker-cell-range-hover-start::after{inset-inline-end:16px;border-inline-end:1px dashed #06d306;border-start-start-radius:0;border-bottom-start-radius:0;border-start-end-radius:4px;border-bottom-end-radius:4px;}.ant-picker-calendar .ant-picker-year-panel .ant-picker-cell-range-hover-end::after,.ant-picker-calendar .ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after,.ant-picker-calendar .ant-picker-month-panel .ant-picker-cell-range-hover-end::after{inset-inline-end:16px;border-inline-end:1px dashed #06d306;border-start-start-radius:0;border-end-start-radius:0;border-start-end-radius:6px;border-end-end-radius:6px;}.ant-picker-panel-rtl .ant-picker-calendar .ant-picker-year-panel .ant-picker-cell-range-hover-end::after,.ant-picker-panel-rtl .ant-picker-calendar .ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after,.ant-picker-panel-rtl .ant-picker-calendar .ant-picker-month-panel .ant-picker-cell-range-hover-end::after{inset-inline-start:16px;border-inline-start:1px dashed #06d306;border-start-start-radius:6px;border-end-start-radius:6px;border-start-end-radius:0;border-end-end-radius:0;}.ant-picker-calendar .ant-picker-week-panel .ant-picker-body{padding:8px 12px;}.ant-picker-calendar .ant-picker-week-panel .ant-picker-cell:hover .ant-picker-cell-inner,.ant-picker-calendar .ant-picker-week-panel .ant-picker-cell-selected .ant-picker-cell-inner,.ant-picker-calendar .ant-picker-week-panel .ant-picker-cell .ant-picker-cell-inner{background:transparent!important;}.ant-picker-calendar .ant-picker-week-panel-row td{transition:background 0.2s;}.ant-picker-calendar .ant-picker-week-panel-row td:first-child{border-start-start-radius:4px;border-end-start-radius:4px;}.ant-picker-calendar .ant-picker-week-panel-row td:last-child{border-start-end-radius:4px;border-end-end-radius:4px;}.ant-picker-calendar .ant-picker-week-panel-row:hover td{background:rgba(255, 255, 255, 0.08);}.ant-picker-calendar .ant-picker-week-panel-row-selected td,.ant-picker-calendar .ant-picker-week-panel-row-selected:hover td{background:#037003;}.ant-picker-calendar .ant-picker-week-panel-row-selected td.ant-picker-cell-week,.ant-picker-calendar .ant-picker-week-panel-row-selected:hover td.ant-picker-cell-week{color:#ffffff;}.ant-picker-calendar .ant-picker-week-panel-row-selected td.ant-picker-cell-today .ant-picker-cell-inner::before,.ant-picker-calendar .ant-picker-week-panel-row-selected:hover td.ant-picker-cell-today .ant-picker-cell-inner::before{border-color:#fff;}.ant-picker-calendar .ant-picker-week-panel-row-selected td .ant-picker-cell-inner,.ant-picker-calendar .ant-picker-week-panel-row-selected:hover td .ant-picker-cell-inner{color:#fff;}.ant-picker-calendar .ant-picker-date-panel .ant-picker-body{padding:8px 12px;}.ant-picker-calendar .ant-picker-date-panel .ant-picker-content{width:252px;}.ant-picker-calendar .ant-picker-date-panel .ant-picker-content th{width:36px;}.ant-picker-calendar .ant-picker-datetime-panel{display:flex;}.ant-picker-calendar .ant-picker-datetime-panel .ant-picker-time-panel{border-inline-start:1px solid rgba(253, 253, 253, 0.12);}.ant-picker-calendar .ant-picker-datetime-panel .ant-picker-date-panel,.ant-picker-calendar .ant-picker-datetime-panel .ant-picker-time-panel{transition:opacity 0.3s;}.ant-picker-calendar .ant-picker-datetime-panel-active .ant-picker-date-panel,.ant-picker-calendar .ant-picker-datetime-panel-active .ant-picker-time-panel{opacity:0.3;}.ant-picker-calendar .ant-picker-datetime-panel-active .ant-picker-date-panel-active,.ant-picker-calendar .ant-picker-datetime-panel-active .ant-picker-time-panel-active{opacity:1;}.ant-picker-calendar .ant-picker-time-panel{width:auto;min-width:auto;direction:ltr;}.ant-picker-calendar .ant-picker-time-panel .ant-picker-content{display:flex;flex:auto;height:224px;}.ant-picker-calendar .ant-picker-time-panel-column{flex:1 0 auto;width:56px;margin:4px 0;padding:0;overflow-y:hidden;text-align:start;list-style:none;transition:background 0.2s;overflow-x:hidden;}.ant-picker-calendar .ant-picker-time-panel-column::after{display:block;height:196px;content:\\"\\";}.ant-picker-calendar .ant-picker-time-panel-column:not(:first-child){border-inline-start:1px solid rgba(253, 253, 253, 0.12);}.ant-picker-calendar .ant-picker-time-panel-column-active{background:#111911;}.ant-picker-calendar .ant-picker-time-panel-column:hover{overflow-y:auto;}.ant-picker-calendar .ant-picker-time-panel-column >li{margin:0;padding:0;}.ant-picker-calendar .ant-picker-time-panel-column >li.ant-picker-time-panel-cell{margin-inline:4px;}.ant-picker-calendar .ant-picker-time-panel-column >li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner{display:block;width:48px;height:28px;margin:0;padding-block:0;padding-inline-end:0;padding-inline-start:14px;color:rgba(255, 255, 255, 0.85);line-height:28px;border-radius:4px;cursor:pointer;transition:background 0.2s;}.ant-picker-calendar .ant-picker-time-panel-column >li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner:hover{background:rgba(255, 255, 255, 0.08);}.ant-picker-calendar .ant-picker-time-panel-column >li.ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner{background:#111911;}.ant-picker-calendar .ant-picker-time-panel-column >li.ant-picker-time-panel-cell-disabled .ant-picker-time-panel-cell-inner{color:rgba(255, 255, 255, 0.25);background:transparent;cursor:not-allowed;}.ant-picker-calendar .ant-picker-datetime-panel .ant-picker-time-panel-column:after{height:204px;}.ant-picker-calendar-rtl{direction:rtl;}.ant-picker-calendar .ant-picker-calendar-header{display:flex;justify-content:flex-end;padding:12px 0;}.ant-picker-calendar .ant-picker-calendar-header .ant-picker-calendar-year-select{min-width:80px;}.ant-picker-calendar .ant-picker-calendar-header .ant-picker-calendar-month-select{min-width:70px;margin-inline-start:8px;}.ant-picker-calendar .ant-picker-calendar-header .ant-picker-calendar-mode-switch{margin-inline-start:8px;}.ant-picker-calendar .ant-picker-panel{background:#141414;border:0;border-top:1px solid rgba(253, 253, 253, 0.12);border-radius:0;}.ant-picker-calendar .ant-picker-panel .ant-picker-month-panel,.ant-picker-calendar .ant-picker-panel .ant-picker-date-panel{width:auto;}.ant-picker-calendar .ant-picker-panel .ant-picker-body{padding:8px 0;}.ant-picker-calendar .ant-picker-panel .ant-picker-content{width:100%;}.ant-picker-calendar-mini{border-radius:8px;}.ant-picker-calendar-mini .ant-picker-calendar-header{padding-inline-end:8px;padding-inline-start:8px;}.ant-picker-calendar-mini .ant-picker-panel{border-radius:0 0 8px 8px;}.ant-picker-calendar-mini .ant-picker-content{height:256px;}.ant-picker-calendar-mini .ant-picker-content th{height:auto;padding:0;line-height:18px;}.ant-picker-calendar-mini .ant-picker-cell::before{pointer-events:none;}.ant-picker-calendar.ant-picker-calendar-full .ant-picker-panel{display:block;width:100%;text-align:end;background:#141414;border:0;}.ant-picker-calendar.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th,.ant-picker-calendar.ant-picker-calendar-full .ant-picker-panel .ant-picker-body td{padding:0;}.ant-picker-calendar.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th{height:auto;padding-inline-end:12px;padding-bottom:4px;line-height:18px;}.ant-picker-calendar.ant-picker-calendar-full .ant-picker-cell::before{display:none;}.ant-picker-calendar.ant-picker-calendar-full .ant-picker-cell:hover .ant-picker-calendar-date{background:rgba(255, 255, 255, 0.08);}.ant-picker-calendar.ant-picker-calendar-full .ant-picker-cell .ant-picker-calendar-date-today::before{display:none;}.ant-picker-calendar.ant-picker-calendar-full .ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-calendar-date,.ant-picker-calendar.ant-picker-calendar-full .ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-calendar-date-today{background:#111911;}.ant-picker-calendar.ant-picker-calendar-full .ant-picker-cell-selected .ant-picker-calendar-date .ant-picker-calendar-date-value,.ant-picker-calendar.ant-picker-calendar-full .ant-picker-cell-selected:hover .ant-picker-calendar-date .ant-picker-calendar-date-value,.ant-picker-calendar.ant-picker-calendar-full .ant-picker-cell-selected .ant-picker-calendar-date-today .ant-picker-calendar-date-value,.ant-picker-calendar.ant-picker-calendar-full .ant-picker-cell-selected:hover .ant-picker-calendar-date-today .ant-picker-calendar-date-value{color:#037003;}.ant-picker-calendar.ant-picker-calendar-full .ant-picker-calendar-date{display:block;width:auto;height:auto;margin:0 4px;padding:4px 8px 0;border:0;border-top:2px solid rgba(253, 253, 253, 0.12);border-radius:0;transition:background 0.3s;}.ant-picker-calendar.ant-picker-calendar-full .ant-picker-calendar-date-value{line-height:24px;transition:color 0.3s;}.ant-picker-calendar.ant-picker-calendar-full .ant-picker-calendar-date-content{position:static;width:auto;height:86px;overflow-y:auto;color:rgba(255, 255, 255, 0.85);line-height:1.5714285714285714;text-align:start;}.ant-picker-calendar.ant-picker-calendar-full .ant-picker-calendar-date-today{border-color:#037003;}.ant-picker-calendar.ant-picker-calendar-full .ant-picker-calendar-date-today .ant-picker-calendar-date-value{color:rgba(255, 255, 255, 0.85);}@media only screen and (max-width: 480px){.ant-picker-calendar .ant-picker-calendar-header{display:block;}.ant-picker-calendar .ant-picker-calendar-header .ant-picker-calendar-year-select{width:50%;}.ant-picker-calendar .ant-picker-calendar-header .ant-picker-calendar-month-select{width:calc(50% - 8px);}.ant-picker-calendar .ant-picker-calendar-header .ant-picker-calendar-mode-switch{width:100%;margin-top:8px;margin-inline-start:0;}.ant-picker-calendar .ant-picker-calendar-header .ant-picker-calendar-mode-switch >label{width:50%;text-align:center;}}[class^=\\"ant-radio\\"],[class*=\\" ant-radio\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-radio\\"]::before,[class*=\\" ant-radio\\"]::before,[class^=\\"ant-radio\\"]::after,[class*=\\" ant-radio\\"]::after{box-sizing:border-box;}[class^=\\"ant-radio\\"] [class^=\\"ant-radio\\"],[class*=\\" ant-radio\\"] [class^=\\"ant-radio\\"],[class^=\\"ant-radio\\"] [class*=\\" ant-radio\\"],[class*=\\" ant-radio\\"] [class*=\\" ant-radio\\"]{box-sizing:border-box;}[class^=\\"ant-radio\\"] [class^=\\"ant-radio\\"]::before,[class*=\\" ant-radio\\"] [class^=\\"ant-radio\\"]::before,[class^=\\"ant-radio\\"] [class*=\\" ant-radio\\"]::before,[class*=\\" ant-radio\\"] [class*=\\" ant-radio\\"]::before,[class^=\\"ant-radio\\"] [class^=\\"ant-radio\\"]::after,[class*=\\" ant-radio\\"] [class^=\\"ant-radio\\"]::after,[class^=\\"ant-radio\\"] [class*=\\" ant-radio\\"]::after,[class*=\\" ant-radio\\"] [class*=\\" ant-radio\\"]::after{box-sizing:border-box;}.ant-radio-group{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:0;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:inline-block;}.ant-radio-group.ant-radio-group-rtl{direction:rtl;}.ant-radio-group .ant-badge .ant-badge-count{z-index:1;}.ant-radio-group >.ant-badge:not(:first-child)>.ant-button-wrapper{border-inline-start:none;}.ant-radio-wrapper{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;display:inline-flex;align-items:baseline;margin-inline-start:0;margin-inline-end:8px;cursor:pointer;}.ant-radio-wrapper.ant-radio-wrapper-rtl{direction:rtl;}.ant-radio-wrapper-disabled{cursor:not-allowed;color:rgba(255, 255, 255, 0.25);}.ant-radio-wrapper::after{display:inline-block;width:0;overflow:hidden;content:\\"\\\\a0\\";}.ant-radio-wrapper .ant-radio-checked::after{position:absolute;inset-block-start:0;inset-inline-start:0;width:100%;height:100%;border:1px solid #037003;border-radius:50%;visibility:hidden;animation-name:antRadioEffect;animation-duration:0.3s;animation-timing-function:cubic-bezier(0.645, 0.045, 0.355, 1);animation-fill-mode:both;content:\\"\\";}.ant-radio-wrapper .ant-radio{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;display:inline-block;outline:none;cursor:pointer;align-self:center;}.ant-radio-wrapper:hover .ant-radio-wrapper,.ant-radio-wrapper:hover .ant-radio-inner{border-color:#037003;}.ant-radio-wrapper .ant-radio-input:focus-visible+.ant-radio-inner{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-radio-wrapper .ant-radio:hover::after,.ant-radio-wrapper:hover .ant-radio-wrapper::after{visibility:visible;}.ant-radio-wrapper .ant-radio-inner{box-sizing:border-box;position:relative;inset-block-start:0;inset-inline-start:0;display:block;width:16px;height:16px;background-color:#141414;border-color:#424242;border-style:solid;border-width:1px;border-radius:50%;transition:all 0.2s;}.ant-radio-wrapper .ant-radio-inner::after{box-sizing:border-box;position:absolute;inset-block-start:50%;inset-inline-start:50%;display:block;width:16px;height:16px;margin-block-start:-8px;margin-inline-start:-8px;background-color:#fff;border-block-start:0;border-inline-start:0;border-radius:16px;transform:scale(0);opacity:0;transition:all 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);content:\\"\\";}.ant-radio-wrapper .ant-radio-input{position:absolute;inset-block-start:0;inset-inline-end:0;inset-block-end:0;inset-inline-start:0;z-index:1;cursor:pointer;opacity:0;}.ant-radio-wrapper .ant-radio-checked .ant-radio-inner{border-color:#037003;background-color:#037003;}.ant-radio-wrapper .ant-radio-checked .ant-radio-inner::after{transform:scale(0.375);opacity:1;transition:all 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);}.ant-radio-wrapper .ant-radio-disabled{cursor:not-allowed;}.ant-radio-wrapper .ant-radio-disabled .ant-radio-inner{background-color:rgba(255, 255, 255, 0.08);border-color:#424242;cursor:not-allowed;}.ant-radio-wrapper .ant-radio-disabled .ant-radio-inner::after{background-color:rgba(255, 255, 255, 0.25);}.ant-radio-wrapper .ant-radio-disabled .ant-radio-input{cursor:not-allowed;}.ant-radio-wrapper .ant-radio-disabled .ant-radio-disabled+span{color:rgba(255, 255, 255, 0.25);cursor:not-allowed;}.ant-radio-wrapper .ant-radio-disabled.ant-radio-checked .ant-radio-inner::after{transform:scale(0.5);}.ant-radio-wrapper span.ant-radio+*{padding-inline-start:8px;padding-inline-end:8px;}.ant-radio-button-wrapper{position:relative;display:inline-block;height:32px;margin:0;padding-inline:15px;padding-block:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:30px;background:#141414;border:1px solid #424242;border-block-start-width:1.02px;border-inline-start-width:0;border-inline-end-width:1px;cursor:pointer;transition:color 0.2s,background 0.2s,border-color 0.2s,box-shadow 0.2s;}.ant-radio-button-wrapper a{color:rgba(255, 255, 255, 0.85);}.ant-radio-button-wrapper >.ant-radio-button{position:absolute;inset-block-start:0;inset-inline-start:0;z-index:-1;width:100%;height:100%;}.ant-radio-button-wrapper:not(:first-child)::before{position:absolute;inset-block-start:-1px;inset-inline-start:-1px;display:block;box-sizing:content-box;width:1px;height:100%;padding-block:1px;padding-inline:0;background-color:#424242;transition:background-color 0.3s;content:\\"\\";}.ant-radio-button-wrapper:first-child{border-inline-start:1px solid #424242;border-start-start-radius:6px;border-end-start-radius:6px;}.ant-radio-button-wrapper:last-child{border-start-end-radius:6px;border-end-end-radius:6px;}.ant-radio-button-wrapper:first-child:last-child{border-radius:6px;}.ant-radio-group-large .ant-radio-button-wrapper{height:40px;font-size:16px;line-height:38px;}.ant-radio-group-large .ant-radio-button-wrapper:first-child{border-start-start-radius:8px;border-end-start-radius:8px;}.ant-radio-group-large .ant-radio-button-wrapper:last-child{border-start-end-radius:8px;border-end-end-radius:8px;}.ant-radio-group-small .ant-radio-button-wrapper{height:24px;padding-inline:7px;padding-block:0;line-height:22px;}.ant-radio-group-small .ant-radio-button-wrapper:first-child{border-start-start-radius:4px;border-end-start-radius:4px;}.ant-radio-group-small .ant-radio-button-wrapper:last-child{border-start-end-radius:4px;border-end-end-radius:4px;}.ant-radio-button-wrapper:hover{position:relative;color:#037003;}.ant-radio-button-wrapper:has(:focus-visible){outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-radio-button-wrapper .ant-radio-inner,.ant-radio-button-wrapper input[type='checkbox'],.ant-radio-button-wrapper input[type='radio']{width:0;height:0;opacity:0;pointer-events:none;}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){z-index:1;color:#037003;background:#141414;border-color:#037003;}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled)::before{background-color:#037003;}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):first-child{border-color:#037003;}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover{color:#198016;border-color:#198016;}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover::before{background-color:#198016;}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active{color:#075a07;border-color:#075a07;}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active::before{background-color:#075a07;}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){color:#fff;background:#037003;border-color:#037003;}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover{color:#fff;background:#198016;border-color:#198016;}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active{color:#fff;background:#075a07;border-color:#075a07;}.ant-radio-button-wrapper-disabled{color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.08);border-color:#424242;cursor:not-allowed;}.ant-radio-button-wrapper-disabled:first-child,.ant-radio-button-wrapper-disabled:hover{color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.08);border-color:#424242;}.ant-radio-button-wrapper-disabled.ant-radio-button-wrapper-checked{color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.18);border-color:#424242;box-shadow:none;}@keyframes antRadioEffect{0%{transform:scale(1);opacity:0.5;}100%{transform:scale(1.6);opacity:0;}}[class^=\\"ant-card\\"],[class*=\\" ant-card\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-card\\"]::before,[class*=\\" ant-card\\"]::before,[class^=\\"ant-card\\"]::after,[class*=\\" ant-card\\"]::after{box-sizing:border-box;}[class^=\\"ant-card\\"] [class^=\\"ant-card\\"],[class*=\\" ant-card\\"] [class^=\\"ant-card\\"],[class^=\\"ant-card\\"] [class*=\\" ant-card\\"],[class*=\\" ant-card\\"] [class*=\\" ant-card\\"]{box-sizing:border-box;}[class^=\\"ant-card\\"] [class^=\\"ant-card\\"]::before,[class*=\\" ant-card\\"] [class^=\\"ant-card\\"]::before,[class^=\\"ant-card\\"] [class*=\\" ant-card\\"]::before,[class*=\\" ant-card\\"] [class*=\\" ant-card\\"]::before,[class^=\\"ant-card\\"] [class^=\\"ant-card\\"]::after,[class*=\\" ant-card\\"] [class^=\\"ant-card\\"]::after,[class^=\\"ant-card\\"] [class*=\\" ant-card\\"]::after,[class*=\\" ant-card\\"] [class*=\\" ant-card\\"]::after{box-sizing:border-box;}.ant-card{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;background:#141414;border-radius:8px;}.ant-card:not(.ant-card-bordered){box-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.03),0 1px 6px -1px rgba(0, 0, 0, 0.02),0 2px 4px 0 rgba(0, 0, 0, 0.02);}.ant-card .ant-card-head{display:flex;justify-content:center;flex-direction:column;min-height:56px;margin-bottom:-1px;padding:0 24px;color:rgba(255, 255, 255, 0.85);font-weight:600;font-size:16px;background:transparent;border-bottom:1px solid #303030;border-radius:8px 8px 0 0;}.ant-card .ant-card-head::before{display:table;content:\\"\\";}.ant-card .ant-card-head::after{display:table;clear:both;content:\\"\\";}.ant-card .ant-card-head-wrapper{width:100%;display:flex;align-items:center;}.ant-card .ant-card-head-title{display:inline-block;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.ant-card .ant-card-head-title >.ant-card-typography,.ant-card .ant-card-head-title >.ant-card-typography-edit-content{inset-inline-start:0;margin-top:0;margin-bottom:0;}.ant-card .ant-card-head .ant-tabs-top{clear:both;margin-bottom:-17px;color:rgba(255, 255, 255, 0.85);font-weight:normal;font-size:14px;}.ant-card .ant-card-head .ant-tabs-top-bar{border-bottom:1px solid #303030;}.ant-card .ant-card-extra{margin-inline-start:auto;font-weight:normal;font-size:14px;}.ant-card .ant-card-body{padding:24px;border-radius:0 0 8px 8px;}.ant-card .ant-card-body::before{display:table;content:\\"\\";}.ant-card .ant-card-body::after{display:table;clear:both;content:\\"\\";}.ant-card .ant-card-grid{width:33.33%;padding:24px;border:0;border-radius:0;box-shadow:1px 0 0 0 #303030,0 1px 0 0 #303030,1px 1px 0 0 #303030,1px 0 0 0 #303030 inset,0 1px 0 0 #303030 inset;transition:all 0.2s;}.ant-card .ant-card-grid-hoverable:hover{position:relative;z-index:1;box-shadow:0 1px 2px -2px rgba(0, 0, 0, 0.16),0 3px 6px 0 rgba(0, 0, 0, 0.12),0 5px 12px 4px rgba(0, 0, 0, 0.09);}.ant-card .ant-card-cover >*{display:block;width:100%;}.ant-card .ant-card-cover img{border-radius:8px 8px 0 0;}.ant-card .ant-card-actions{margin:0;padding:0;list-style:none;background:#141414;border-top:1px solid #303030;display:flex;border-radius:0 0 8px 8px;}.ant-card .ant-card-actions::before{display:table;content:\\"\\";}.ant-card .ant-card-actions::after{display:table;clear:both;content:\\"\\";}.ant-card .ant-card-actions>li{margin:12px 0;color:rgba(255, 255, 255, 0.45);text-align:center;}.ant-card .ant-card-actions>li >span{position:relative;display:block;min-width:28px;font-size:14px;line-height:1.5714285714285714;cursor:pointer;}.ant-card .ant-card-actions>li >span:hover{color:#037003;transition:color 0.2s;}.ant-card .ant-card-actions>li >span a:not(.ant-card-btn),.ant-card .ant-card-actions>li >span >.anticon{display:inline-block;width:100%;color:rgba(255, 255, 255, 0.45);line-height:22px;transition:color 0.2s;}.ant-card .ant-card-actions>li >span a:not(.ant-card-btn):hover,.ant-card .ant-card-actions>li >span >.anticon:hover{color:#037003;}.ant-card .ant-card-actions>li >span >.anticon{font-size:14px;line-height:22px;}.ant-card .ant-card-actions>li:not(:last-child){border-inline-end:1px solid #303030;}.ant-card .ant-card-meta{margin:-4px 0;display:flex;}.ant-card .ant-card-meta::before{display:table;content:\\"\\";}.ant-card .ant-card-meta::after{display:table;clear:both;content:\\"\\";}.ant-card .ant-card-meta-avatar{padding-inline-end:16px;}.ant-card .ant-card-meta-detail{overflow:hidden;flex:1;}.ant-card .ant-card-meta-detail >div:not(:last-child){margin-bottom:8px;}.ant-card .ant-card-meta-title{color:rgba(255, 255, 255, 0.85);font-weight:600;font-size:16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.ant-card .ant-card-meta-description{color:rgba(255, 255, 255, 0.45);}.ant-card-bordered{border:1px solid #303030;}.ant-card-bordered .ant-card-cover{margin-top:-1px;margin-inline-start:-1px;margin-inline-end:-1px;}.ant-card-hoverable{cursor:pointer;transition:box-shadow 0.2s,border-color 0.2s;}.ant-card-hoverable:hover{border-color:transparent;box-shadow:0 1px 2px -2px rgba(0, 0, 0, 0.16),0 3px 6px 0 rgba(0, 0, 0, 0.12),0 5px 12px 4px rgba(0, 0, 0, 0.09);}.ant-card-contain-grid .ant-card-body{display:flex;flex-wrap:wrap;}.ant-card-contain-grid:not(.ant-card-loading) .ant-card-body{margin-block-start:-1px;margin-inline-start:-1px;padding:0;}.ant-card-contain-tabs >.ant-card-head .ant-card-head-title,.ant-card-contain-tabs >.ant-card-head .ant-card-extra{padding-top:16px;}.ant-card-type-inner .ant-card-head{padding:0 24px;background:rgba(255, 255, 255, 0.04);}.ant-card-type-inner .ant-card-head-title{font-size:14px;}.ant-card-type-inner .ant-card-body{padding:16px 24px;}.ant-card-loading{overflow:hidden;}.ant-card-loading .ant-card-body{user-select:none;}.ant-card-rtl{direction:rtl;}.ant-card-small >.ant-card-head{min-height:38px;padding:0 12px;font-size:14px;}.ant-card-small >.ant-card-head >.ant-card-head-wrapper >.ant-card-extra{font-size:14px;}.ant-card-small >.ant-card-body{padding:12px;}.ant-card-small.ant-card-contain-tabs >.ant-card-head .ant-card-head-title,.ant-card-small.ant-card-contain-tabs >.ant-card-head .ant-card-extra{min-height:38px;padding-top:0;display:flex;align-items:center;}[class^=\\"ant-collapse\\"],[class*=\\" ant-collapse\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-collapse\\"]::before,[class*=\\" ant-collapse\\"]::before,[class^=\\"ant-collapse\\"]::after,[class*=\\" ant-collapse\\"]::after{box-sizing:border-box;}[class^=\\"ant-collapse\\"] [class^=\\"ant-collapse\\"],[class*=\\" ant-collapse\\"] [class^=\\"ant-collapse\\"],[class^=\\"ant-collapse\\"] [class*=\\" ant-collapse\\"],[class*=\\" ant-collapse\\"] [class*=\\" ant-collapse\\"]{box-sizing:border-box;}[class^=\\"ant-collapse\\"] [class^=\\"ant-collapse\\"]::before,[class*=\\" ant-collapse\\"] [class^=\\"ant-collapse\\"]::before,[class^=\\"ant-collapse\\"] [class*=\\" ant-collapse\\"]::before,[class*=\\" ant-collapse\\"] [class*=\\" ant-collapse\\"]::before,[class^=\\"ant-collapse\\"] [class^=\\"ant-collapse\\"]::after,[class*=\\" ant-collapse\\"] [class^=\\"ant-collapse\\"]::after,[class^=\\"ant-collapse\\"] [class*=\\" ant-collapse\\"]::after,[class*=\\" ant-collapse\\"] [class*=\\" ant-collapse\\"]::after{box-sizing:border-box;}.ant-collapse{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';background-color:rgba(255, 255, 255, 0.04);border:1px solid #424242;border-bottom:0;border-radius:8px;}.ant-collapse-rtl{direction:rtl;}.ant-collapse>.ant-collapse-item{border-bottom:1px solid #424242;}.ant-collapse>.ant-collapse-item:last-child,.ant-collapse>.ant-collapse-item:last-child>.ant-collapse-header{border-radius:0 0 8px 8px;}.ant-collapse>.ant-collapse-item >.ant-collapse-header{position:relative;display:flex;flex-wrap:nowrap;align-items:flex-start;padding:12px 16px;color:rgba(255, 255, 255, 0.85);line-height:1.5714285714285714;cursor:pointer;transition:all 0.3s,visibility 0s;}.ant-collapse>.ant-collapse-item >.ant-collapse-header >.ant-collapse-header-text{flex:auto;}.ant-collapse>.ant-collapse-item >.ant-collapse-header:focus{outline:none;}.ant-collapse>.ant-collapse-item >.ant-collapse-header .ant-collapse-expand-icon{height:22px;display:flex;align-items:center;padding-inline-end:12px;}.ant-collapse>.ant-collapse-item >.ant-collapse-header .ant-collapse-arrow{display:inline-flex;align-items:center;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:12px;}.ant-collapse>.ant-collapse-item >.ant-collapse-header .ant-collapse-arrow >*{line-height:1;}.ant-collapse>.ant-collapse-item >.ant-collapse-header .ant-collapse-arrow svg{transition:transform 0.3s;}.ant-collapse>.ant-collapse-item >.ant-collapse-header .ant-collapse-header-text{margin-inline-end:auto;}.ant-collapse>.ant-collapse-item .ant-collapse-header-collapsible-only{cursor:default;}.ant-collapse>.ant-collapse-item .ant-collapse-header-collapsible-only .ant-collapse-header-text{flex:none;cursor:pointer;}.ant-collapse>.ant-collapse-item .ant-collapse-header-collapsible-only .ant-collapse-expand-icon{cursor:pointer;}.ant-collapse>.ant-collapse-item .ant-collapse-icon-collapsible-only{cursor:default;}.ant-collapse>.ant-collapse-item .ant-collapse-icon-collapsible-only .ant-collapse-expand-icon{cursor:pointer;}.ant-collapse>.ant-collapse-item.ant-collapse-no-arrow >.ant-collapse-header{padding-inline-start:12px;}.ant-collapse .ant-collapse-content{color:rgba(255, 255, 255, 0.85);background-color:#141414;border-top:1px solid #424242;}.ant-collapse .ant-collapse-content>.ant-collapse-content-box{padding:16px 16px;}.ant-collapse .ant-collapse-content-hidden{display:none;}.ant-collapse .ant-collapse-item:last-child >.ant-collapse-content{border-radius:0 0 8px 8px;}.ant-collapse .ant-collapse-item-disabled>.ant-collapse-header,.ant-collapse .ant-collapse-item-disabled>.ant-collapse-header>.arrow{color:rgba(255, 255, 255, 0.25);cursor:not-allowed;}.ant-collapse.ant-collapse-icon-position-end>.ant-collapse-item >.ant-collapse-header .ant-collapse-expand-icon{order:1;padding-inline-end:0;padding-inline-start:12px;}.ant-collapse-borderless{background-color:rgba(255, 255, 255, 0.04);border:0;}.ant-collapse-borderless >.ant-collapse-item{border-bottom:1px solid #424242;}.ant-collapse-borderless >.ant-collapse-item:last-child,.ant-collapse-borderless >.ant-collapse-item:last-child .ant-collapse-header{border-radius:0;}.ant-collapse-borderless >.ant-collapse-item:last-child{border-bottom:0;}.ant-collapse-borderless >.ant-collapse-item>.ant-collapse-content{background-color:transparent;border-top:0;}.ant-collapse-borderless >.ant-collapse-item>.ant-collapse-content>.ant-collapse-content-box{padding-top:4px;}.ant-collapse-ghost{background-color:transparent;border:0;}.ant-collapse-ghost >.ant-collapse-item{border-bottom:0;}.ant-collapse-ghost >.ant-collapse-item >.ant-collapse-content{background-color:transparent;border:0;}.ant-collapse-ghost >.ant-collapse-item >.ant-collapse-content >.ant-collapse-content-box{padding-block:12px;}.ant-collapse-rtl >.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow svg{transform:rotate(180deg);}.ant-collapse .ant-motion-collapse-legacy{overflow:hidden;}.ant-collapse .ant-motion-collapse-legacy-active{transition:height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)!important;}.ant-collapse .ant-motion-collapse{overflow:hidden;transition:height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)!important;}[class^=\\"ant-carousel\\"],[class*=\\" ant-carousel\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-carousel\\"]::before,[class*=\\" ant-carousel\\"]::before,[class^=\\"ant-carousel\\"]::after,[class*=\\" ant-carousel\\"]::after{box-sizing:border-box;}[class^=\\"ant-carousel\\"] [class^=\\"ant-carousel\\"],[class*=\\" ant-carousel\\"] [class^=\\"ant-carousel\\"],[class^=\\"ant-carousel\\"] [class*=\\" ant-carousel\\"],[class*=\\" ant-carousel\\"] [class*=\\" ant-carousel\\"]{box-sizing:border-box;}[class^=\\"ant-carousel\\"] [class^=\\"ant-carousel\\"]::before,[class*=\\" ant-carousel\\"] [class^=\\"ant-carousel\\"]::before,[class^=\\"ant-carousel\\"] [class*=\\" ant-carousel\\"]::before,[class*=\\" ant-carousel\\"] [class*=\\" ant-carousel\\"]::before,[class^=\\"ant-carousel\\"] [class^=\\"ant-carousel\\"]::after,[class*=\\" ant-carousel\\"] [class^=\\"ant-carousel\\"]::after,[class^=\\"ant-carousel\\"] [class*=\\" ant-carousel\\"]::after,[class*=\\" ant-carousel\\"] [class*=\\" ant-carousel\\"]::after{box-sizing:border-box;}.ant-carousel{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';}.ant-carousel .slick-slider{position:relative;display:block;box-sizing:border-box;touch-action:pan-y;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;}.ant-carousel .slick-slider .slick-track,.ant-carousel .slick-slider .slick-list{transform:translate3d(0, 0, 0);touch-action:pan-y;}.ant-carousel .slick-list{position:relative;display:block;margin:0;padding:0;overflow:hidden;}.ant-carousel .slick-list:focus{outline:none;}.ant-carousel .slick-list.dragging{cursor:pointer;}.ant-carousel .slick-list .slick-slide{pointer-events:none;}.ant-carousel .slick-list .slick-slide input.ant-radio-input,.ant-carousel .slick-list .slick-slide input.ant-checkbox-input{visibility:hidden;}.ant-carousel .slick-list .slick-slide.slick-active{pointer-events:auto;}.ant-carousel .slick-list .slick-slide.slick-active input.ant-radio-input,.ant-carousel .slick-list .slick-slide.slick-active input.ant-checkbox-input{visibility:visible;}.ant-carousel .slick-list .slick-slide >div>div{vertical-align:bottom;}.ant-carousel .slick-track{position:relative;top:0;inset-inline-start:0;display:block;}.ant-carousel .slick-track::before,.ant-carousel .slick-track::after{display:table;content:\\"\\";}.ant-carousel .slick-track::after{clear:both;}.ant-carousel .slick-slide{display:none;float:left;height:100%;min-height:1px;}.ant-carousel .slick-slide img{display:block;}.ant-carousel .slick-slide.dragging img{pointer-events:none;}.ant-carousel .slick-initialized .slick-slide{display:block;}.ant-carousel .slick-vertical .slick-slide{display:block;height:auto;}.ant-carousel .slick-arrow.slick-hidden{display:none;}.ant-carousel .slick-prev,.ant-carousel .slick-next{position:absolute;top:50%;display:block;width:20px;height:20px;margin-top:-10px;padding:0;color:transparent;font-size:0;line-height:0;background:transparent;border:0;outline:none;cursor:pointer;}.ant-carousel .slick-prev:hover,.ant-carousel .slick-next:hover,.ant-carousel .slick-prev:focus,.ant-carousel .slick-next:focus{color:transparent;background:transparent;outline:none;}.ant-carousel .slick-prev:hover::before,.ant-carousel .slick-next:hover::before,.ant-carousel .slick-prev:focus::before,.ant-carousel .slick-next:focus::before{opacity:1;}.ant-carousel .slick-prev.slick-disabled::before,.ant-carousel .slick-next.slick-disabled::before{opacity:0.25;}.ant-carousel .slick-prev{inset-inline-start:-25px;}.ant-carousel .slick-prev::before{content:\\"←\\";}.ant-carousel .slick-next{inset-inline-end:-25px;}.ant-carousel .slick-next::before{content:\\"→\\";}.ant-carousel .slick-dots{position:absolute;inset-inline-end:0;bottom:0;inset-inline-start:0;z-index:15;display:flex!important;justify-content:center;padding-inline-start:0;list-style:none;}.ant-carousel .slick-dots-bottom{bottom:12px;}.ant-carousel .slick-dots-top{top:12px;bottom:auto;}.ant-carousel .slick-dots li{position:relative;display:inline-block;flex:0 1 auto;box-sizing:content-box;width:16px;height:3px;margin-inline:4px;padding:0;text-align:center;text-indent:-999px;vertical-align:top;transition:all 0.3s;}.ant-carousel .slick-dots li button{position:relative;display:block;width:100%;height:3px;padding:0;color:transparent;font-size:0;background:#141414;border:0;border-radius:1px;outline:none;cursor:pointer;opacity:0.3;transition:all 0.3s;}.ant-carousel .slick-dots li button:hover,.ant-carousel .slick-dots li button:focus{opacity:0.75;}.ant-carousel .slick-dots li button::after{position:absolute;inset:-4px;content:\\"\\";}.ant-carousel .slick-dots li.slick-active{width:24px;}.ant-carousel .slick-dots li.slick-active button{background:#141414;opacity:1;}.ant-carousel .slick-dots li.slick-active:hover,.ant-carousel .slick-dots li.slick-active:focus{opacity:1;}.ant-carousel-vertical .slick-dots{top:50%;bottom:auto;flex-direction:column;width:3px;height:auto;margin:0;transform:translateY(-50%);}.ant-carousel-vertical .slick-dots-left{inset-inline-end:auto;inset-inline-start:12px;}.ant-carousel-vertical .slick-dots-right{inset-inline-end:12px;inset-inline-start:auto;}.ant-carousel-vertical .slick-dots li{width:3px;height:16px;margin:4px 0;vertical-align:baseline;}.ant-carousel-vertical .slick-dots li button{width:3px;height:16px;}.ant-carousel-vertical .slick-dots li.slick-active{width:3px;height:16px;}.ant-carousel-vertical .slick-dots li.slick-active button{width:3px;height:16px;}.ant-carousel-rtl{direction:rtl;}.ant-carousel-rtl.ant-carousel-rtl .slick-dots{flex-direction:row-reverse;}.ant-carousel-rtl.ant-carousel-vertical .slick-dots{flex-direction:column;}[class^=\\"ant-cascader\\"],[class*=\\" ant-cascader\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-cascader\\"]::before,[class*=\\" ant-cascader\\"]::before,[class^=\\"ant-cascader\\"]::after,[class*=\\" ant-cascader\\"]::after{box-sizing:border-box;}[class^=\\"ant-cascader\\"] [class^=\\"ant-cascader\\"],[class*=\\" ant-cascader\\"] [class^=\\"ant-cascader\\"],[class^=\\"ant-cascader\\"] [class*=\\" ant-cascader\\"],[class*=\\" ant-cascader\\"] [class*=\\" ant-cascader\\"]{box-sizing:border-box;}[class^=\\"ant-cascader\\"] [class^=\\"ant-cascader\\"]::before,[class*=\\" ant-cascader\\"] [class^=\\"ant-cascader\\"]::before,[class^=\\"ant-cascader\\"] [class*=\\" ant-cascader\\"]::before,[class*=\\" ant-cascader\\"] [class*=\\" ant-cascader\\"]::before,[class^=\\"ant-cascader\\"] [class^=\\"ant-cascader\\"]::after,[class*=\\" ant-cascader\\"] [class^=\\"ant-cascader\\"]::after,[class^=\\"ant-cascader\\"] [class*=\\" ant-cascader\\"]::after,[class*=\\" ant-cascader\\"] [class*=\\" ant-cascader\\"]::after{box-sizing:border-box;}.ant-cascader{width:184px;}.ant-cascader-dropdown .ant-cascader-checkbox-group{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:inline-flex;flex-wrap:wrap;column-gap:8px;}.ant-cascader-dropdown .ant-cascader-checkbox-group >.ant-row{flex:1;}.ant-cascader-dropdown .ant-cascader-checkbox-wrapper{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:inline-flex;align-items:baseline;cursor:pointer;}.ant-cascader-dropdown .ant-cascader-checkbox-wrapper:after{display:inline-block;width:0;overflow:hidden;content:'\\\\a0';}.ant-cascader-dropdown .ant-cascader-checkbox-wrapper+.ant-cascader-checkbox-wrapper{margin-inline-start:0;}.ant-cascader-dropdown .ant-cascader-checkbox-wrapper.ant-cascader-checkbox-wrapper-in-form-item input[type=\\"checkbox\\"]{width:14px;height:14px;}.ant-cascader-dropdown .ant-cascader-checkbox{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;white-space:nowrap;cursor:pointer;align-self:center;}.ant-cascader-dropdown .ant-cascader-checkbox .ant-cascader-checkbox-input{position:absolute;inset:0;z-index:1;cursor:pointer;opacity:0;margin:0;}.ant-cascader-dropdown .ant-cascader-checkbox .ant-cascader-checkbox-input:focus-visible+.ant-cascader-checkbox-inner{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-cascader-dropdown .ant-cascader-checkbox .ant-cascader-checkbox-inner{box-sizing:border-box;position:relative;top:0;inset-inline-start:0;display:block;width:16px;height:16px;direction:ltr;background-color:#141414;border:1px solid #424242;border-radius:4px;border-collapse:separate;transition:all 0.3s;}.ant-cascader-dropdown .ant-cascader-checkbox .ant-cascader-checkbox-inner:after{box-sizing:border-box;position:absolute;top:50%;inset-inline-start:21.5%;display:table;width:5.7142857142857135px;height:9.142857142857142px;border:2px solid #fff;border-top:0;border-inline-start:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;content:\\"\\";transition:all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6),opacity 0.1s;}.ant-cascader-dropdown .ant-cascader-checkbox+span{padding-inline-start:8px;padding-inline-end:8px;}.ant-cascader-dropdown .ant-cascader-checkbox-indeterminate .ant-cascader-checkbox-inner:after{top:50%;inset-inline-start:50%;width:8px;height:8px;background-color:#037003;border:0;transform:translate(-50%, -50%) scale(1);opacity:1;content:\\"\\";}.ant-cascader-dropdown .ant-cascader-checkbox-wrapper:hover .ant-cascader-checkbox:after{visibility:visible;}.ant-cascader-dropdown .ant-cascader-checkbox-wrapper:not(.ant-cascader-checkbox-wrapper-disabled):hover .ant-cascader-checkbox-inner,.ant-cascader-dropdown .ant-cascader-checkbox:not(.ant-cascader-checkbox-disabled):hover .ant-cascader-checkbox-inner{border-color:#037003;}.ant-cascader-dropdown .ant-cascader-checkbox-wrapper:not(.ant-cascader-checkbox-wrapper-disabled):hover .ant-cascader-checkbox-checked:not(.ant-cascader-checkbox-disabled) .ant-cascader-checkbox-inner{background-color:#198016;border-color:transparent;}.ant-cascader-dropdown .ant-cascader-checkbox-wrapper:not(.ant-cascader-checkbox-wrapper-disabled):hover .ant-cascader-checkbox-checked:not(.ant-cascader-checkbox-disabled):after{border-color:#198016;}.ant-cascader-dropdown .ant-cascader-checkbox-checked .ant-cascader-checkbox-inner{background-color:#037003;border-color:#037003;}.ant-cascader-dropdown .ant-cascader-checkbox-checked .ant-cascader-checkbox-inner:after{opacity:1;transform:rotate(45deg) scale(1) translate(-50%,-50%);transition:all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s;}.ant-cascader-dropdown .ant-cascader-checkbox-checked:after{position:absolute;top:0;inset-inline-start:0;width:100%;height:100%;border-radius:4px;visibility:hidden;border:2px solid #037003;animation-name:antCheckboxEffect;animation-duration:0.3s;animation-timing-function:ease-in-out;animation-fill-mode:backwards;content:\\"\\";transition:all 0.3s;}.ant-cascader-dropdown .ant-cascader-checkbox-wrapper-checked:not(.ant-cascader-checkbox-wrapper-disabled):hover .ant-cascader-checkbox-inner,.ant-cascader-dropdown .ant-cascader-checkbox-checked:not(.ant-cascader-checkbox-disabled):hover .ant-cascader-checkbox-inner{background-color:#198016;border-color:transparent;}.ant-cascader-dropdown .ant-cascader-checkbox-wrapper-checked:not(.ant-cascader-checkbox-wrapper-disabled):hover .ant-cascader-checkbox:after,.ant-cascader-dropdown .ant-cascader-checkbox-checked:not(.ant-cascader-checkbox-disabled):hover .ant-cascader-checkbox:after{border-color:#198016;}.ant-cascader-dropdown .ant-cascader-checkbox-wrapper-disabled{cursor:not-allowed;}.ant-cascader-dropdown .ant-cascader-checkbox-disabled,.ant-cascader-dropdown .ant-cascader-checkbox-disabled .ant-cascader-checkbox-input{cursor:not-allowed;pointer-events:none;}.ant-cascader-dropdown .ant-cascader-checkbox-disabled .ant-cascader-checkbox-inner{background:rgba(255, 255, 255, 0.08);border-color:#424242;}.ant-cascader-dropdown .ant-cascader-checkbox-disabled .ant-cascader-checkbox-inner:after{border-color:rgba(255, 255, 255, 0.25);}.ant-cascader-dropdown .ant-cascader-checkbox-disabled:after{display:none;}.ant-cascader-dropdown .ant-cascader-checkbox-disabled+span{color:rgba(255, 255, 255, 0.25);}.ant-cascader-dropdown .ant-cascader-checkbox-disabled.ant-cascader-checkbox-indeterminate .ant-cascader-checkbox-inner::after{background:rgba(255, 255, 255, 0.25);}.ant-cascader-dropdown.ant-select-dropdown{padding:0;}.ant-cascader-dropdown .ant-cascader-checkbox{top:0;margin-inline-end:8px;}.ant-cascader-dropdown .ant-cascader-menus{display:flex;flex-wrap:nowrap;align-items:flex-start;}.ant-cascader-dropdown .ant-cascader-menus.ant-cascader-menu-empty .ant-cascader-menu{width:100%;height:auto;}.ant-cascader-dropdown .ant-cascader-menus.ant-cascader-menu-empty .ant-cascader-menu .ant-cascader-menu-item{color:rgba(255, 255, 255, 0.25);}.ant-cascader-dropdown .ant-cascader-menu{flex-grow:1;min-width:111px;height:180px;margin:0;padding:4px;overflow:auto;vertical-align:top;list-style:none;-ms-overflow-style:-ms-autohiding-scrollbar;}.ant-cascader-dropdown .ant-cascader-menu:not(:last-child){border-inline-end:1px solid rgba(253, 253, 253, 0.12);}.ant-cascader-dropdown .ant-cascader-menu-item{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:flex;flex-wrap:nowrap;align-items:center;padding:5px 12px;line-height:1.5714285714285714;cursor:pointer;transition:all 0.2s;border-radius:4px;}.ant-cascader-dropdown .ant-cascader-menu-item:hover{background:rgba(255, 255, 255, 0.08);}.ant-cascader-dropdown .ant-cascader-menu-item-disabled{color:rgba(255, 255, 255, 0.25);cursor:not-allowed;}.ant-cascader-dropdown .ant-cascader-menu-item-disabled:hover{background:transparent;}.ant-cascader-dropdown .ant-cascader-menu-item-disabled.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon,.ant-cascader-dropdown .ant-cascader-menu-item-disabled .ant-cascader-menu-item-loading-icon{color:rgba(255, 255, 255, 0.25);}.ant-cascader-dropdown .ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled),.ant-cascader-dropdown .ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled):hover{font-weight:600;background-color:#111911;}.ant-cascader-dropdown .ant-cascader-menu-item-content{flex:auto;}.ant-cascader-dropdown .ant-cascader-menu-item.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon,.ant-cascader-dropdown .ant-cascader-menu-item .ant-cascader-menu-item-loading-icon{margin-inline-start:4px;color:rgba(255, 255, 255, 0.45);font-size:12px;}.ant-cascader-dropdown .ant-cascader-menu-item-keyword{color:#dc4446;}.ant-cascader-dropdown-rtl{direction:rtl;}.ant-cascader-compact-item:not(.ant-cascader-compact-last-item){margin-inline-end:-1px;}.ant-cascader-compact-item:hover,.ant-cascader-compact-item:focus,.ant-cascader-compact-item:active{z-index:2;}.ant-cascader-compact-item[disabled]{z-index:0;}.ant-cascader-compact-item:not(.ant-cascader-compact-first-item):not(.ant-cascader-compact-last-item){border-radius:0;}.ant-cascader-compact-item:not(.ant-cascader-compact-last-item).ant-cascader-compact-first-item,.ant-cascader-compact-item:not(.ant-cascader-compact-last-item).ant-cascader-compact-first-item.ant-cascader-sm,.ant-cascader-compact-item:not(.ant-cascader-compact-last-item).ant-cascader-compact-first-item.ant-cascader-lg{border-start-end-radius:0;border-end-end-radius:0;}.ant-cascader-compact-item:not(.ant-cascader-compact-first-item).ant-cascader-compact-last-item,.ant-cascader-compact-item:not(.ant-cascader-compact-first-item).ant-cascader-compact-last-item.ant-cascader-sm,.ant-cascader-compact-item:not(.ant-cascader-compact-first-item).ant-cascader-compact-last-item.ant-cascader-lg{border-start-start-radius:0;border-end-start-radius:0;}@keyframes antCheckboxEffect{0%{transform:scale(1);opacity:0.5;}100%{transform:scale(1.6);opacity:0;}}[class^=\\"ant-checkbox\\"],[class*=\\" ant-checkbox\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-checkbox\\"]::before,[class*=\\" ant-checkbox\\"]::before,[class^=\\"ant-checkbox\\"]::after,[class*=\\" ant-checkbox\\"]::after{box-sizing:border-box;}[class^=\\"ant-checkbox\\"] [class^=\\"ant-checkbox\\"],[class*=\\" ant-checkbox\\"] [class^=\\"ant-checkbox\\"],[class^=\\"ant-checkbox\\"] [class*=\\" ant-checkbox\\"],[class*=\\" ant-checkbox\\"] [class*=\\" ant-checkbox\\"]{box-sizing:border-box;}[class^=\\"ant-checkbox\\"] [class^=\\"ant-checkbox\\"]::before,[class*=\\" ant-checkbox\\"] [class^=\\"ant-checkbox\\"]::before,[class^=\\"ant-checkbox\\"] [class*=\\" ant-checkbox\\"]::before,[class*=\\" ant-checkbox\\"] [class*=\\" ant-checkbox\\"]::before,[class^=\\"ant-checkbox\\"] [class^=\\"ant-checkbox\\"]::after,[class*=\\" ant-checkbox\\"] [class^=\\"ant-checkbox\\"]::after,[class^=\\"ant-checkbox\\"] [class*=\\" ant-checkbox\\"]::after,[class*=\\" ant-checkbox\\"] [class*=\\" ant-checkbox\\"]::after{box-sizing:border-box;}.ant-checkbox-group{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:inline-flex;flex-wrap:wrap;column-gap:8px;}.ant-checkbox-group >.ant-row{flex:1;}.ant-checkbox-wrapper{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:inline-flex;align-items:baseline;cursor:pointer;}.ant-checkbox-wrapper:after{display:inline-block;width:0;overflow:hidden;content:'\\\\a0';}.ant-checkbox-wrapper+.ant-checkbox-wrapper{margin-inline-start:0;}.ant-checkbox-wrapper.ant-checkbox-wrapper-in-form-item input[type=\\"checkbox\\"]{width:14px;height:14px;}.ant-checkbox{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;white-space:nowrap;cursor:pointer;align-self:center;}.ant-checkbox .ant-checkbox-input{position:absolute;inset:0;z-index:1;cursor:pointer;opacity:0;margin:0;}.ant-checkbox .ant-checkbox-input:focus-visible+.ant-checkbox-inner{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-checkbox .ant-checkbox-inner{box-sizing:border-box;position:relative;top:0;inset-inline-start:0;display:block;width:16px;height:16px;direction:ltr;background-color:#141414;border:1px solid #424242;border-radius:4px;border-collapse:separate;transition:all 0.3s;}.ant-checkbox .ant-checkbox-inner:after{box-sizing:border-box;position:absolute;top:50%;inset-inline-start:21.5%;display:table;width:5.7142857142857135px;height:9.142857142857142px;border:2px solid #fff;border-top:0;border-inline-start:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;content:\\"\\";transition:all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6),opacity 0.1s;}.ant-checkbox+span{padding-inline-start:8px;padding-inline-end:8px;}.ant-checkbox-indeterminate .ant-checkbox-inner:after{top:50%;inset-inline-start:50%;width:8px;height:8px;background-color:#037003;border:0;transform:translate(-50%, -50%) scale(1);opacity:1;content:\\"\\";}.ant-checkbox-wrapper:hover .ant-checkbox:after{visibility:visible;}.ant-checkbox-wrapper:not(.ant-checkbox-wrapper-disabled):hover .ant-checkbox-inner,.ant-checkbox:not(.ant-checkbox-disabled):hover .ant-checkbox-inner{border-color:#037003;}.ant-checkbox-wrapper:not(.ant-checkbox-wrapper-disabled):hover .ant-checkbox-checked:not(.ant-checkbox-disabled) .ant-checkbox-inner{background-color:#198016;border-color:transparent;}.ant-checkbox-wrapper:not(.ant-checkbox-wrapper-disabled):hover .ant-checkbox-checked:not(.ant-checkbox-disabled):after{border-color:#198016;}.ant-checkbox-checked .ant-checkbox-inner{background-color:#037003;border-color:#037003;}.ant-checkbox-checked .ant-checkbox-inner:after{opacity:1;transform:rotate(45deg) scale(1) translate(-50%,-50%);transition:all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s;}.ant-checkbox-checked:after{position:absolute;top:0;inset-inline-start:0;width:100%;height:100%;border-radius:4px;visibility:hidden;border:2px solid #037003;animation-name:antCheckboxEffect;animation-duration:0.3s;animation-timing-function:ease-in-out;animation-fill-mode:backwards;content:\\"\\";transition:all 0.3s;}.ant-checkbox-wrapper-checked:not(.ant-checkbox-wrapper-disabled):hover .ant-checkbox-inner,.ant-checkbox-checked:not(.ant-checkbox-disabled):hover .ant-checkbox-inner{background-color:#198016;border-color:transparent;}.ant-checkbox-wrapper-checked:not(.ant-checkbox-wrapper-disabled):hover .ant-checkbox:after,.ant-checkbox-checked:not(.ant-checkbox-disabled):hover .ant-checkbox:after{border-color:#198016;}.ant-checkbox-wrapper-disabled{cursor:not-allowed;}.ant-checkbox-disabled,.ant-checkbox-disabled .ant-checkbox-input{cursor:not-allowed;pointer-events:none;}.ant-checkbox-disabled .ant-checkbox-inner{background:rgba(255, 255, 255, 0.08);border-color:#424242;}.ant-checkbox-disabled .ant-checkbox-inner:after{border-color:rgba(255, 255, 255, 0.25);}.ant-checkbox-disabled:after{display:none;}.ant-checkbox-disabled+span{color:rgba(255, 255, 255, 0.25);}.ant-checkbox-disabled.ant-checkbox-indeterminate .ant-checkbox-inner::after{background:rgba(255, 255, 255, 0.25);}[class^=\\"ant-checkbox-group\\"],[class*=\\" ant-checkbox-group\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-checkbox-group\\"]::before,[class*=\\" ant-checkbox-group\\"]::before,[class^=\\"ant-checkbox-group\\"]::after,[class*=\\" ant-checkbox-group\\"]::after{box-sizing:border-box;}[class^=\\"ant-checkbox-group\\"] [class^=\\"ant-checkbox-group\\"],[class*=\\" ant-checkbox-group\\"] [class^=\\"ant-checkbox-group\\"],[class^=\\"ant-checkbox-group\\"] [class*=\\" ant-checkbox-group\\"],[class*=\\" ant-checkbox-group\\"] [class*=\\" ant-checkbox-group\\"]{box-sizing:border-box;}[class^=\\"ant-checkbox-group\\"] [class^=\\"ant-checkbox-group\\"]::before,[class*=\\" ant-checkbox-group\\"] [class^=\\"ant-checkbox-group\\"]::before,[class^=\\"ant-checkbox-group\\"] [class*=\\" ant-checkbox-group\\"]::before,[class*=\\" ant-checkbox-group\\"] [class*=\\" ant-checkbox-group\\"]::before,[class^=\\"ant-checkbox-group\\"] [class^=\\"ant-checkbox-group\\"]::after,[class*=\\" ant-checkbox-group\\"] [class^=\\"ant-checkbox-group\\"]::after,[class^=\\"ant-checkbox-group\\"] [class*=\\" ant-checkbox-group\\"]::after,[class*=\\" ant-checkbox-group\\"] [class*=\\" ant-checkbox-group\\"]::after{box-sizing:border-box;}.ant-checkbox-group-group{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:inline-flex;flex-wrap:wrap;column-gap:8px;}.ant-checkbox-group-group >.ant-row{flex:1;}.ant-checkbox-group-wrapper{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:inline-flex;align-items:baseline;cursor:pointer;}.ant-checkbox-group-wrapper:after{display:inline-block;width:0;overflow:hidden;content:'\\\\a0';}.ant-checkbox-group-wrapper+.ant-checkbox-group-wrapper{margin-inline-start:0;}.ant-checkbox-group-wrapper.ant-checkbox-group-wrapper-in-form-item input[type=\\"checkbox\\"]{width:14px;height:14px;}.ant-checkbox-group{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;white-space:nowrap;cursor:pointer;align-self:center;}.ant-checkbox-group .ant-checkbox-group-input{position:absolute;inset:0;z-index:1;cursor:pointer;opacity:0;margin:0;}.ant-checkbox-group .ant-checkbox-group-input:focus-visible+.ant-checkbox-group-inner{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-checkbox-group .ant-checkbox-group-inner{box-sizing:border-box;position:relative;top:0;inset-inline-start:0;display:block;width:16px;height:16px;direction:ltr;background-color:#141414;border:1px solid #424242;border-radius:4px;border-collapse:separate;transition:all 0.3s;}.ant-checkbox-group .ant-checkbox-group-inner:after{box-sizing:border-box;position:absolute;top:50%;inset-inline-start:21.5%;display:table;width:5.7142857142857135px;height:9.142857142857142px;border:2px solid #fff;border-top:0;border-inline-start:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;content:\\"\\";transition:all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6),opacity 0.1s;}.ant-checkbox-group+span{padding-inline-start:8px;padding-inline-end:8px;}.ant-checkbox-group-indeterminate .ant-checkbox-group-inner:after{top:50%;inset-inline-start:50%;width:8px;height:8px;background-color:#037003;border:0;transform:translate(-50%, -50%) scale(1);opacity:1;content:\\"\\";}.ant-checkbox-group-wrapper:hover .ant-checkbox-group:after{visibility:visible;}.ant-checkbox-group-wrapper:not(.ant-checkbox-group-wrapper-disabled):hover .ant-checkbox-group-inner,.ant-checkbox-group:not(.ant-checkbox-group-disabled):hover .ant-checkbox-group-inner{border-color:#037003;}.ant-checkbox-group-wrapper:not(.ant-checkbox-group-wrapper-disabled):hover .ant-checkbox-group-checked:not(.ant-checkbox-group-disabled) .ant-checkbox-group-inner{background-color:#198016;border-color:transparent;}.ant-checkbox-group-wrapper:not(.ant-checkbox-group-wrapper-disabled):hover .ant-checkbox-group-checked:not(.ant-checkbox-group-disabled):after{border-color:#198016;}.ant-checkbox-group-checked .ant-checkbox-group-inner{background-color:#037003;border-color:#037003;}.ant-checkbox-group-checked .ant-checkbox-group-inner:after{opacity:1;transform:rotate(45deg) scale(1) translate(-50%,-50%);transition:all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s;}.ant-checkbox-group-checked:after{position:absolute;top:0;inset-inline-start:0;width:100%;height:100%;border-radius:4px;visibility:hidden;border:2px solid #037003;animation-name:antCheckboxEffect;animation-duration:0.3s;animation-timing-function:ease-in-out;animation-fill-mode:backwards;content:\\"\\";transition:all 0.3s;}.ant-checkbox-group-wrapper-checked:not(.ant-checkbox-group-wrapper-disabled):hover .ant-checkbox-group-inner,.ant-checkbox-group-checked:not(.ant-checkbox-group-disabled):hover .ant-checkbox-group-inner{background-color:#198016;border-color:transparent;}.ant-checkbox-group-wrapper-checked:not(.ant-checkbox-group-wrapper-disabled):hover .ant-checkbox-group:after,.ant-checkbox-group-checked:not(.ant-checkbox-group-disabled):hover .ant-checkbox-group:after{border-color:#198016;}.ant-checkbox-group-wrapper-disabled{cursor:not-allowed;}.ant-checkbox-group-disabled,.ant-checkbox-group-disabled .ant-checkbox-group-input{cursor:not-allowed;pointer-events:none;}.ant-checkbox-group-disabled .ant-checkbox-group-inner{background:rgba(255, 255, 255, 0.08);border-color:#424242;}.ant-checkbox-group-disabled .ant-checkbox-group-inner:after{border-color:rgba(255, 255, 255, 0.25);}.ant-checkbox-group-disabled:after{display:none;}.ant-checkbox-group-disabled+span{color:rgba(255, 255, 255, 0.25);}.ant-checkbox-group-disabled.ant-checkbox-group-indeterminate .ant-checkbox-group-inner::after{background:rgba(255, 255, 255, 0.25);}[class^=\\"ant-col\\"],[class*=\\" ant-col\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-col\\"]::before,[class*=\\" ant-col\\"]::before,[class^=\\"ant-col\\"]::after,[class*=\\" ant-col\\"]::after{box-sizing:border-box;}[class^=\\"ant-col\\"] [class^=\\"ant-col\\"],[class*=\\" ant-col\\"] [class^=\\"ant-col\\"],[class^=\\"ant-col\\"] [class*=\\" ant-col\\"],[class*=\\" ant-col\\"] [class*=\\" ant-col\\"]{box-sizing:border-box;}[class^=\\"ant-col\\"] [class^=\\"ant-col\\"]::before,[class*=\\" ant-col\\"] [class^=\\"ant-col\\"]::before,[class^=\\"ant-col\\"] [class*=\\" ant-col\\"]::before,[class*=\\" ant-col\\"] [class*=\\" ant-col\\"]::before,[class^=\\"ant-col\\"] [class^=\\"ant-col\\"]::after,[class*=\\" ant-col\\"] [class^=\\"ant-col\\"]::after,[class^=\\"ant-col\\"] [class*=\\" ant-col\\"]::after,[class*=\\" ant-col\\"] [class*=\\" ant-col\\"]::after{box-sizing:border-box;}.ant-col{position:relative;max-width:100%;min-height:1px;}.ant-col-24{display:block;flex:0 0 100%;max-width:100%;}.ant-col-push-24{inset-inline-start:100%;}.ant-col-pull-24{inset-inline-end:100%;}.ant-col-offset-24{margin-inline-start:100%;}.ant-col-order-24{order:24;}.ant-col-23{display:block;flex:0 0 95.83333333333334%;max-width:95.83333333333334%;}.ant-col-push-23{inset-inline-start:95.83333333333334%;}.ant-col-pull-23{inset-inline-end:95.83333333333334%;}.ant-col-offset-23{margin-inline-start:95.83333333333334%;}.ant-col-order-23{order:23;}.ant-col-22{display:block;flex:0 0 91.66666666666666%;max-width:91.66666666666666%;}.ant-col-push-22{inset-inline-start:91.66666666666666%;}.ant-col-pull-22{inset-inline-end:91.66666666666666%;}.ant-col-offset-22{margin-inline-start:91.66666666666666%;}.ant-col-order-22{order:22;}.ant-col-21{display:block;flex:0 0 87.5%;max-width:87.5%;}.ant-col-push-21{inset-inline-start:87.5%;}.ant-col-pull-21{inset-inline-end:87.5%;}.ant-col-offset-21{margin-inline-start:87.5%;}.ant-col-order-21{order:21;}.ant-col-20{display:block;flex:0 0 83.33333333333334%;max-width:83.33333333333334%;}.ant-col-push-20{inset-inline-start:83.33333333333334%;}.ant-col-pull-20{inset-inline-end:83.33333333333334%;}.ant-col-offset-20{margin-inline-start:83.33333333333334%;}.ant-col-order-20{order:20;}.ant-col-19{display:block;flex:0 0 79.16666666666666%;max-width:79.16666666666666%;}.ant-col-push-19{inset-inline-start:79.16666666666666%;}.ant-col-pull-19{inset-inline-end:79.16666666666666%;}.ant-col-offset-19{margin-inline-start:79.16666666666666%;}.ant-col-order-19{order:19;}.ant-col-18{display:block;flex:0 0 75%;max-width:75%;}.ant-col-push-18{inset-inline-start:75%;}.ant-col-pull-18{inset-inline-end:75%;}.ant-col-offset-18{margin-inline-start:75%;}.ant-col-order-18{order:18;}.ant-col-17{display:block;flex:0 0 70.83333333333334%;max-width:70.83333333333334%;}.ant-col-push-17{inset-inline-start:70.83333333333334%;}.ant-col-pull-17{inset-inline-end:70.83333333333334%;}.ant-col-offset-17{margin-inline-start:70.83333333333334%;}.ant-col-order-17{order:17;}.ant-col-16{display:block;flex:0 0 66.66666666666666%;max-width:66.66666666666666%;}.ant-col-push-16{inset-inline-start:66.66666666666666%;}.ant-col-pull-16{inset-inline-end:66.66666666666666%;}.ant-col-offset-16{margin-inline-start:66.66666666666666%;}.ant-col-order-16{order:16;}.ant-col-15{display:block;flex:0 0 62.5%;max-width:62.5%;}.ant-col-push-15{inset-inline-start:62.5%;}.ant-col-pull-15{inset-inline-end:62.5%;}.ant-col-offset-15{margin-inline-start:62.5%;}.ant-col-order-15{order:15;}.ant-col-14{display:block;flex:0 0 58.333333333333336%;max-width:58.333333333333336%;}.ant-col-push-14{inset-inline-start:58.333333333333336%;}.ant-col-pull-14{inset-inline-end:58.333333333333336%;}.ant-col-offset-14{margin-inline-start:58.333333333333336%;}.ant-col-order-14{order:14;}.ant-col-13{display:block;flex:0 0 54.166666666666664%;max-width:54.166666666666664%;}.ant-col-push-13{inset-inline-start:54.166666666666664%;}.ant-col-pull-13{inset-inline-end:54.166666666666664%;}.ant-col-offset-13{margin-inline-start:54.166666666666664%;}.ant-col-order-13{order:13;}.ant-col-12{display:block;flex:0 0 50%;max-width:50%;}.ant-col-push-12{inset-inline-start:50%;}.ant-col-pull-12{inset-inline-end:50%;}.ant-col-offset-12{margin-inline-start:50%;}.ant-col-order-12{order:12;}.ant-col-11{display:block;flex:0 0 45.83333333333333%;max-width:45.83333333333333%;}.ant-col-push-11{inset-inline-start:45.83333333333333%;}.ant-col-pull-11{inset-inline-end:45.83333333333333%;}.ant-col-offset-11{margin-inline-start:45.83333333333333%;}.ant-col-order-11{order:11;}.ant-col-10{display:block;flex:0 0 41.66666666666667%;max-width:41.66666666666667%;}.ant-col-push-10{inset-inline-start:41.66666666666667%;}.ant-col-pull-10{inset-inline-end:41.66666666666667%;}.ant-col-offset-10{margin-inline-start:41.66666666666667%;}.ant-col-order-10{order:10;}.ant-col-9{display:block;flex:0 0 37.5%;max-width:37.5%;}.ant-col-push-9{inset-inline-start:37.5%;}.ant-col-pull-9{inset-inline-end:37.5%;}.ant-col-offset-9{margin-inline-start:37.5%;}.ant-col-order-9{order:9;}.ant-col-8{display:block;flex:0 0 33.33333333333333%;max-width:33.33333333333333%;}.ant-col-push-8{inset-inline-start:33.33333333333333%;}.ant-col-pull-8{inset-inline-end:33.33333333333333%;}.ant-col-offset-8{margin-inline-start:33.33333333333333%;}.ant-col-order-8{order:8;}.ant-col-7{display:block;flex:0 0 29.166666666666668%;max-width:29.166666666666668%;}.ant-col-push-7{inset-inline-start:29.166666666666668%;}.ant-col-pull-7{inset-inline-end:29.166666666666668%;}.ant-col-offset-7{margin-inline-start:29.166666666666668%;}.ant-col-order-7{order:7;}.ant-col-6{display:block;flex:0 0 25%;max-width:25%;}.ant-col-push-6{inset-inline-start:25%;}.ant-col-pull-6{inset-inline-end:25%;}.ant-col-offset-6{margin-inline-start:25%;}.ant-col-order-6{order:6;}.ant-col-5{display:block;flex:0 0 20.833333333333336%;max-width:20.833333333333336%;}.ant-col-push-5{inset-inline-start:20.833333333333336%;}.ant-col-pull-5{inset-inline-end:20.833333333333336%;}.ant-col-offset-5{margin-inline-start:20.833333333333336%;}.ant-col-order-5{order:5;}.ant-col-4{display:block;flex:0 0 16.666666666666664%;max-width:16.666666666666664%;}.ant-col-push-4{inset-inline-start:16.666666666666664%;}.ant-col-pull-4{inset-inline-end:16.666666666666664%;}.ant-col-offset-4{margin-inline-start:16.666666666666664%;}.ant-col-order-4{order:4;}.ant-col-3{display:block;flex:0 0 12.5%;max-width:12.5%;}.ant-col-push-3{inset-inline-start:12.5%;}.ant-col-pull-3{inset-inline-end:12.5%;}.ant-col-offset-3{margin-inline-start:12.5%;}.ant-col-order-3{order:3;}.ant-col-2{display:block;flex:0 0 8.333333333333332%;max-width:8.333333333333332%;}.ant-col-push-2{inset-inline-start:8.333333333333332%;}.ant-col-pull-2{inset-inline-end:8.333333333333332%;}.ant-col-offset-2{margin-inline-start:8.333333333333332%;}.ant-col-order-2{order:2;}.ant-col-1{display:block;flex:0 0 4.166666666666666%;max-width:4.166666666666666%;}.ant-col-push-1{inset-inline-start:4.166666666666666%;}.ant-col-pull-1{inset-inline-end:4.166666666666666%;}.ant-col-offset-1{margin-inline-start:4.166666666666666%;}.ant-col-order-1{order:1;}.ant-col-0{display:none;}.ant-col-push-0{inset-inline-start:auto;}.ant-col-pull-0{inset-inline-end:auto;}.ant-col-offset-0{margin-inline-end:0;}.ant-col-order-0{order:0;}.ant-col-xs-24{display:block;flex:0 0 100%;max-width:100%;}.ant-col-xs-push-24{inset-inline-start:100%;}.ant-col-xs-pull-24{inset-inline-end:100%;}.ant-col-xs-offset-24{margin-inline-start:100%;}.ant-col-xs-order-24{order:24;}.ant-col-xs-23{display:block;flex:0 0 95.83333333333334%;max-width:95.83333333333334%;}.ant-col-xs-push-23{inset-inline-start:95.83333333333334%;}.ant-col-xs-pull-23{inset-inline-end:95.83333333333334%;}.ant-col-xs-offset-23{margin-inline-start:95.83333333333334%;}.ant-col-xs-order-23{order:23;}.ant-col-xs-22{display:block;flex:0 0 91.66666666666666%;max-width:91.66666666666666%;}.ant-col-xs-push-22{inset-inline-start:91.66666666666666%;}.ant-col-xs-pull-22{inset-inline-end:91.66666666666666%;}.ant-col-xs-offset-22{margin-inline-start:91.66666666666666%;}.ant-col-xs-order-22{order:22;}.ant-col-xs-21{display:block;flex:0 0 87.5%;max-width:87.5%;}.ant-col-xs-push-21{inset-inline-start:87.5%;}.ant-col-xs-pull-21{inset-inline-end:87.5%;}.ant-col-xs-offset-21{margin-inline-start:87.5%;}.ant-col-xs-order-21{order:21;}.ant-col-xs-20{display:block;flex:0 0 83.33333333333334%;max-width:83.33333333333334%;}.ant-col-xs-push-20{inset-inline-start:83.33333333333334%;}.ant-col-xs-pull-20{inset-inline-end:83.33333333333334%;}.ant-col-xs-offset-20{margin-inline-start:83.33333333333334%;}.ant-col-xs-order-20{order:20;}.ant-col-xs-19{display:block;flex:0 0 79.16666666666666%;max-width:79.16666666666666%;}.ant-col-xs-push-19{inset-inline-start:79.16666666666666%;}.ant-col-xs-pull-19{inset-inline-end:79.16666666666666%;}.ant-col-xs-offset-19{margin-inline-start:79.16666666666666%;}.ant-col-xs-order-19{order:19;}.ant-col-xs-18{display:block;flex:0 0 75%;max-width:75%;}.ant-col-xs-push-18{inset-inline-start:75%;}.ant-col-xs-pull-18{inset-inline-end:75%;}.ant-col-xs-offset-18{margin-inline-start:75%;}.ant-col-xs-order-18{order:18;}.ant-col-xs-17{display:block;flex:0 0 70.83333333333334%;max-width:70.83333333333334%;}.ant-col-xs-push-17{inset-inline-start:70.83333333333334%;}.ant-col-xs-pull-17{inset-inline-end:70.83333333333334%;}.ant-col-xs-offset-17{margin-inline-start:70.83333333333334%;}.ant-col-xs-order-17{order:17;}.ant-col-xs-16{display:block;flex:0 0 66.66666666666666%;max-width:66.66666666666666%;}.ant-col-xs-push-16{inset-inline-start:66.66666666666666%;}.ant-col-xs-pull-16{inset-inline-end:66.66666666666666%;}.ant-col-xs-offset-16{margin-inline-start:66.66666666666666%;}.ant-col-xs-order-16{order:16;}.ant-col-xs-15{display:block;flex:0 0 62.5%;max-width:62.5%;}.ant-col-xs-push-15{inset-inline-start:62.5%;}.ant-col-xs-pull-15{inset-inline-end:62.5%;}.ant-col-xs-offset-15{margin-inline-start:62.5%;}.ant-col-xs-order-15{order:15;}.ant-col-xs-14{display:block;flex:0 0 58.333333333333336%;max-width:58.333333333333336%;}.ant-col-xs-push-14{inset-inline-start:58.333333333333336%;}.ant-col-xs-pull-14{inset-inline-end:58.333333333333336%;}.ant-col-xs-offset-14{margin-inline-start:58.333333333333336%;}.ant-col-xs-order-14{order:14;}.ant-col-xs-13{display:block;flex:0 0 54.166666666666664%;max-width:54.166666666666664%;}.ant-col-xs-push-13{inset-inline-start:54.166666666666664%;}.ant-col-xs-pull-13{inset-inline-end:54.166666666666664%;}.ant-col-xs-offset-13{margin-inline-start:54.166666666666664%;}.ant-col-xs-order-13{order:13;}.ant-col-xs-12{display:block;flex:0 0 50%;max-width:50%;}.ant-col-xs-push-12{inset-inline-start:50%;}.ant-col-xs-pull-12{inset-inline-end:50%;}.ant-col-xs-offset-12{margin-inline-start:50%;}.ant-col-xs-order-12{order:12;}.ant-col-xs-11{display:block;flex:0 0 45.83333333333333%;max-width:45.83333333333333%;}.ant-col-xs-push-11{inset-inline-start:45.83333333333333%;}.ant-col-xs-pull-11{inset-inline-end:45.83333333333333%;}.ant-col-xs-offset-11{margin-inline-start:45.83333333333333%;}.ant-col-xs-order-11{order:11;}.ant-col-xs-10{display:block;flex:0 0 41.66666666666667%;max-width:41.66666666666667%;}.ant-col-xs-push-10{inset-inline-start:41.66666666666667%;}.ant-col-xs-pull-10{inset-inline-end:41.66666666666667%;}.ant-col-xs-offset-10{margin-inline-start:41.66666666666667%;}.ant-col-xs-order-10{order:10;}.ant-col-xs-9{display:block;flex:0 0 37.5%;max-width:37.5%;}.ant-col-xs-push-9{inset-inline-start:37.5%;}.ant-col-xs-pull-9{inset-inline-end:37.5%;}.ant-col-xs-offset-9{margin-inline-start:37.5%;}.ant-col-xs-order-9{order:9;}.ant-col-xs-8{display:block;flex:0 0 33.33333333333333%;max-width:33.33333333333333%;}.ant-col-xs-push-8{inset-inline-start:33.33333333333333%;}.ant-col-xs-pull-8{inset-inline-end:33.33333333333333%;}.ant-col-xs-offset-8{margin-inline-start:33.33333333333333%;}.ant-col-xs-order-8{order:8;}.ant-col-xs-7{display:block;flex:0 0 29.166666666666668%;max-width:29.166666666666668%;}.ant-col-xs-push-7{inset-inline-start:29.166666666666668%;}.ant-col-xs-pull-7{inset-inline-end:29.166666666666668%;}.ant-col-xs-offset-7{margin-inline-start:29.166666666666668%;}.ant-col-xs-order-7{order:7;}.ant-col-xs-6{display:block;flex:0 0 25%;max-width:25%;}.ant-col-xs-push-6{inset-inline-start:25%;}.ant-col-xs-pull-6{inset-inline-end:25%;}.ant-col-xs-offset-6{margin-inline-start:25%;}.ant-col-xs-order-6{order:6;}.ant-col-xs-5{display:block;flex:0 0 20.833333333333336%;max-width:20.833333333333336%;}.ant-col-xs-push-5{inset-inline-start:20.833333333333336%;}.ant-col-xs-pull-5{inset-inline-end:20.833333333333336%;}.ant-col-xs-offset-5{margin-inline-start:20.833333333333336%;}.ant-col-xs-order-5{order:5;}.ant-col-xs-4{display:block;flex:0 0 16.666666666666664%;max-width:16.666666666666664%;}.ant-col-xs-push-4{inset-inline-start:16.666666666666664%;}.ant-col-xs-pull-4{inset-inline-end:16.666666666666664%;}.ant-col-xs-offset-4{margin-inline-start:16.666666666666664%;}.ant-col-xs-order-4{order:4;}.ant-col-xs-3{display:block;flex:0 0 12.5%;max-width:12.5%;}.ant-col-xs-push-3{inset-inline-start:12.5%;}.ant-col-xs-pull-3{inset-inline-end:12.5%;}.ant-col-xs-offset-3{margin-inline-start:12.5%;}.ant-col-xs-order-3{order:3;}.ant-col-xs-2{display:block;flex:0 0 8.333333333333332%;max-width:8.333333333333332%;}.ant-col-xs-push-2{inset-inline-start:8.333333333333332%;}.ant-col-xs-pull-2{inset-inline-end:8.333333333333332%;}.ant-col-xs-offset-2{margin-inline-start:8.333333333333332%;}.ant-col-xs-order-2{order:2;}.ant-col-xs-1{display:block;flex:0 0 4.166666666666666%;max-width:4.166666666666666%;}.ant-col-xs-push-1{inset-inline-start:4.166666666666666%;}.ant-col-xs-pull-1{inset-inline-end:4.166666666666666%;}.ant-col-xs-offset-1{margin-inline-start:4.166666666666666%;}.ant-col-xs-order-1{order:1;}.ant-col-xs-0{display:none;}.ant-col-push-0{inset-inline-start:auto;}.ant-col-pull-0{inset-inline-end:auto;}.ant-col-xs-push-0{inset-inline-start:auto;}.ant-col-xs-pull-0{inset-inline-end:auto;}.ant-col-xs-offset-0{margin-inline-end:0;}.ant-col-xs-order-0{order:0;}@media (min-width: 576px){.ant-col-sm-24{display:block;flex:0 0 100%;max-width:100%;}.ant-col-sm-push-24{inset-inline-start:100%;}.ant-col-sm-pull-24{inset-inline-end:100%;}.ant-col-sm-offset-24{margin-inline-start:100%;}.ant-col-sm-order-24{order:24;}.ant-col-sm-23{display:block;flex:0 0 95.83333333333334%;max-width:95.83333333333334%;}.ant-col-sm-push-23{inset-inline-start:95.83333333333334%;}.ant-col-sm-pull-23{inset-inline-end:95.83333333333334%;}.ant-col-sm-offset-23{margin-inline-start:95.83333333333334%;}.ant-col-sm-order-23{order:23;}.ant-col-sm-22{display:block;flex:0 0 91.66666666666666%;max-width:91.66666666666666%;}.ant-col-sm-push-22{inset-inline-start:91.66666666666666%;}.ant-col-sm-pull-22{inset-inline-end:91.66666666666666%;}.ant-col-sm-offset-22{margin-inline-start:91.66666666666666%;}.ant-col-sm-order-22{order:22;}.ant-col-sm-21{display:block;flex:0 0 87.5%;max-width:87.5%;}.ant-col-sm-push-21{inset-inline-start:87.5%;}.ant-col-sm-pull-21{inset-inline-end:87.5%;}.ant-col-sm-offset-21{margin-inline-start:87.5%;}.ant-col-sm-order-21{order:21;}.ant-col-sm-20{display:block;flex:0 0 83.33333333333334%;max-width:83.33333333333334%;}.ant-col-sm-push-20{inset-inline-start:83.33333333333334%;}.ant-col-sm-pull-20{inset-inline-end:83.33333333333334%;}.ant-col-sm-offset-20{margin-inline-start:83.33333333333334%;}.ant-col-sm-order-20{order:20;}.ant-col-sm-19{display:block;flex:0 0 79.16666666666666%;max-width:79.16666666666666%;}.ant-col-sm-push-19{inset-inline-start:79.16666666666666%;}.ant-col-sm-pull-19{inset-inline-end:79.16666666666666%;}.ant-col-sm-offset-19{margin-inline-start:79.16666666666666%;}.ant-col-sm-order-19{order:19;}.ant-col-sm-18{display:block;flex:0 0 75%;max-width:75%;}.ant-col-sm-push-18{inset-inline-start:75%;}.ant-col-sm-pull-18{inset-inline-end:75%;}.ant-col-sm-offset-18{margin-inline-start:75%;}.ant-col-sm-order-18{order:18;}.ant-col-sm-17{display:block;flex:0 0 70.83333333333334%;max-width:70.83333333333334%;}.ant-col-sm-push-17{inset-inline-start:70.83333333333334%;}.ant-col-sm-pull-17{inset-inline-end:70.83333333333334%;}.ant-col-sm-offset-17{margin-inline-start:70.83333333333334%;}.ant-col-sm-order-17{order:17;}.ant-col-sm-16{display:block;flex:0 0 66.66666666666666%;max-width:66.66666666666666%;}.ant-col-sm-push-16{inset-inline-start:66.66666666666666%;}.ant-col-sm-pull-16{inset-inline-end:66.66666666666666%;}.ant-col-sm-offset-16{margin-inline-start:66.66666666666666%;}.ant-col-sm-order-16{order:16;}.ant-col-sm-15{display:block;flex:0 0 62.5%;max-width:62.5%;}.ant-col-sm-push-15{inset-inline-start:62.5%;}.ant-col-sm-pull-15{inset-inline-end:62.5%;}.ant-col-sm-offset-15{margin-inline-start:62.5%;}.ant-col-sm-order-15{order:15;}.ant-col-sm-14{display:block;flex:0 0 58.333333333333336%;max-width:58.333333333333336%;}.ant-col-sm-push-14{inset-inline-start:58.333333333333336%;}.ant-col-sm-pull-14{inset-inline-end:58.333333333333336%;}.ant-col-sm-offset-14{margin-inline-start:58.333333333333336%;}.ant-col-sm-order-14{order:14;}.ant-col-sm-13{display:block;flex:0 0 54.166666666666664%;max-width:54.166666666666664%;}.ant-col-sm-push-13{inset-inline-start:54.166666666666664%;}.ant-col-sm-pull-13{inset-inline-end:54.166666666666664%;}.ant-col-sm-offset-13{margin-inline-start:54.166666666666664%;}.ant-col-sm-order-13{order:13;}.ant-col-sm-12{display:block;flex:0 0 50%;max-width:50%;}.ant-col-sm-push-12{inset-inline-start:50%;}.ant-col-sm-pull-12{inset-inline-end:50%;}.ant-col-sm-offset-12{margin-inline-start:50%;}.ant-col-sm-order-12{order:12;}.ant-col-sm-11{display:block;flex:0 0 45.83333333333333%;max-width:45.83333333333333%;}.ant-col-sm-push-11{inset-inline-start:45.83333333333333%;}.ant-col-sm-pull-11{inset-inline-end:45.83333333333333%;}.ant-col-sm-offset-11{margin-inline-start:45.83333333333333%;}.ant-col-sm-order-11{order:11;}.ant-col-sm-10{display:block;flex:0 0 41.66666666666667%;max-width:41.66666666666667%;}.ant-col-sm-push-10{inset-inline-start:41.66666666666667%;}.ant-col-sm-pull-10{inset-inline-end:41.66666666666667%;}.ant-col-sm-offset-10{margin-inline-start:41.66666666666667%;}.ant-col-sm-order-10{order:10;}.ant-col-sm-9{display:block;flex:0 0 37.5%;max-width:37.5%;}.ant-col-sm-push-9{inset-inline-start:37.5%;}.ant-col-sm-pull-9{inset-inline-end:37.5%;}.ant-col-sm-offset-9{margin-inline-start:37.5%;}.ant-col-sm-order-9{order:9;}.ant-col-sm-8{display:block;flex:0 0 33.33333333333333%;max-width:33.33333333333333%;}.ant-col-sm-push-8{inset-inline-start:33.33333333333333%;}.ant-col-sm-pull-8{inset-inline-end:33.33333333333333%;}.ant-col-sm-offset-8{margin-inline-start:33.33333333333333%;}.ant-col-sm-order-8{order:8;}.ant-col-sm-7{display:block;flex:0 0 29.166666666666668%;max-width:29.166666666666668%;}.ant-col-sm-push-7{inset-inline-start:29.166666666666668%;}.ant-col-sm-pull-7{inset-inline-end:29.166666666666668%;}.ant-col-sm-offset-7{margin-inline-start:29.166666666666668%;}.ant-col-sm-order-7{order:7;}.ant-col-sm-6{display:block;flex:0 0 25%;max-width:25%;}.ant-col-sm-push-6{inset-inline-start:25%;}.ant-col-sm-pull-6{inset-inline-end:25%;}.ant-col-sm-offset-6{margin-inline-start:25%;}.ant-col-sm-order-6{order:6;}.ant-col-sm-5{display:block;flex:0 0 20.833333333333336%;max-width:20.833333333333336%;}.ant-col-sm-push-5{inset-inline-start:20.833333333333336%;}.ant-col-sm-pull-5{inset-inline-end:20.833333333333336%;}.ant-col-sm-offset-5{margin-inline-start:20.833333333333336%;}.ant-col-sm-order-5{order:5;}.ant-col-sm-4{display:block;flex:0 0 16.666666666666664%;max-width:16.666666666666664%;}.ant-col-sm-push-4{inset-inline-start:16.666666666666664%;}.ant-col-sm-pull-4{inset-inline-end:16.666666666666664%;}.ant-col-sm-offset-4{margin-inline-start:16.666666666666664%;}.ant-col-sm-order-4{order:4;}.ant-col-sm-3{display:block;flex:0 0 12.5%;max-width:12.5%;}.ant-col-sm-push-3{inset-inline-start:12.5%;}.ant-col-sm-pull-3{inset-inline-end:12.5%;}.ant-col-sm-offset-3{margin-inline-start:12.5%;}.ant-col-sm-order-3{order:3;}.ant-col-sm-2{display:block;flex:0 0 8.333333333333332%;max-width:8.333333333333332%;}.ant-col-sm-push-2{inset-inline-start:8.333333333333332%;}.ant-col-sm-pull-2{inset-inline-end:8.333333333333332%;}.ant-col-sm-offset-2{margin-inline-start:8.333333333333332%;}.ant-col-sm-order-2{order:2;}.ant-col-sm-1{display:block;flex:0 0 4.166666666666666%;max-width:4.166666666666666%;}.ant-col-sm-push-1{inset-inline-start:4.166666666666666%;}.ant-col-sm-pull-1{inset-inline-end:4.166666666666666%;}.ant-col-sm-offset-1{margin-inline-start:4.166666666666666%;}.ant-col-sm-order-1{order:1;}.ant-col-sm-0{display:none;}.ant-col-push-0{inset-inline-start:auto;}.ant-col-pull-0{inset-inline-end:auto;}.ant-col-sm-push-0{inset-inline-start:auto;}.ant-col-sm-pull-0{inset-inline-end:auto;}.ant-col-sm-offset-0{margin-inline-end:0;}.ant-col-sm-order-0{order:0;}}@media (min-width: 768px){.ant-col-md-24{display:block;flex:0 0 100%;max-width:100%;}.ant-col-md-push-24{inset-inline-start:100%;}.ant-col-md-pull-24{inset-inline-end:100%;}.ant-col-md-offset-24{margin-inline-start:100%;}.ant-col-md-order-24{order:24;}.ant-col-md-23{display:block;flex:0 0 95.83333333333334%;max-width:95.83333333333334%;}.ant-col-md-push-23{inset-inline-start:95.83333333333334%;}.ant-col-md-pull-23{inset-inline-end:95.83333333333334%;}.ant-col-md-offset-23{margin-inline-start:95.83333333333334%;}.ant-col-md-order-23{order:23;}.ant-col-md-22{display:block;flex:0 0 91.66666666666666%;max-width:91.66666666666666%;}.ant-col-md-push-22{inset-inline-start:91.66666666666666%;}.ant-col-md-pull-22{inset-inline-end:91.66666666666666%;}.ant-col-md-offset-22{margin-inline-start:91.66666666666666%;}.ant-col-md-order-22{order:22;}.ant-col-md-21{display:block;flex:0 0 87.5%;max-width:87.5%;}.ant-col-md-push-21{inset-inline-start:87.5%;}.ant-col-md-pull-21{inset-inline-end:87.5%;}.ant-col-md-offset-21{margin-inline-start:87.5%;}.ant-col-md-order-21{order:21;}.ant-col-md-20{display:block;flex:0 0 83.33333333333334%;max-width:83.33333333333334%;}.ant-col-md-push-20{inset-inline-start:83.33333333333334%;}.ant-col-md-pull-20{inset-inline-end:83.33333333333334%;}.ant-col-md-offset-20{margin-inline-start:83.33333333333334%;}.ant-col-md-order-20{order:20;}.ant-col-md-19{display:block;flex:0 0 79.16666666666666%;max-width:79.16666666666666%;}.ant-col-md-push-19{inset-inline-start:79.16666666666666%;}.ant-col-md-pull-19{inset-inline-end:79.16666666666666%;}.ant-col-md-offset-19{margin-inline-start:79.16666666666666%;}.ant-col-md-order-19{order:19;}.ant-col-md-18{display:block;flex:0 0 75%;max-width:75%;}.ant-col-md-push-18{inset-inline-start:75%;}.ant-col-md-pull-18{inset-inline-end:75%;}.ant-col-md-offset-18{margin-inline-start:75%;}.ant-col-md-order-18{order:18;}.ant-col-md-17{display:block;flex:0 0 70.83333333333334%;max-width:70.83333333333334%;}.ant-col-md-push-17{inset-inline-start:70.83333333333334%;}.ant-col-md-pull-17{inset-inline-end:70.83333333333334%;}.ant-col-md-offset-17{margin-inline-start:70.83333333333334%;}.ant-col-md-order-17{order:17;}.ant-col-md-16{display:block;flex:0 0 66.66666666666666%;max-width:66.66666666666666%;}.ant-col-md-push-16{inset-inline-start:66.66666666666666%;}.ant-col-md-pull-16{inset-inline-end:66.66666666666666%;}.ant-col-md-offset-16{margin-inline-start:66.66666666666666%;}.ant-col-md-order-16{order:16;}.ant-col-md-15{display:block;flex:0 0 62.5%;max-width:62.5%;}.ant-col-md-push-15{inset-inline-start:62.5%;}.ant-col-md-pull-15{inset-inline-end:62.5%;}.ant-col-md-offset-15{margin-inline-start:62.5%;}.ant-col-md-order-15{order:15;}.ant-col-md-14{display:block;flex:0 0 58.333333333333336%;max-width:58.333333333333336%;}.ant-col-md-push-14{inset-inline-start:58.333333333333336%;}.ant-col-md-pull-14{inset-inline-end:58.333333333333336%;}.ant-col-md-offset-14{margin-inline-start:58.333333333333336%;}.ant-col-md-order-14{order:14;}.ant-col-md-13{display:block;flex:0 0 54.166666666666664%;max-width:54.166666666666664%;}.ant-col-md-push-13{inset-inline-start:54.166666666666664%;}.ant-col-md-pull-13{inset-inline-end:54.166666666666664%;}.ant-col-md-offset-13{margin-inline-start:54.166666666666664%;}.ant-col-md-order-13{order:13;}.ant-col-md-12{display:block;flex:0 0 50%;max-width:50%;}.ant-col-md-push-12{inset-inline-start:50%;}.ant-col-md-pull-12{inset-inline-end:50%;}.ant-col-md-offset-12{margin-inline-start:50%;}.ant-col-md-order-12{order:12;}.ant-col-md-11{display:block;flex:0 0 45.83333333333333%;max-width:45.83333333333333%;}.ant-col-md-push-11{inset-inline-start:45.83333333333333%;}.ant-col-md-pull-11{inset-inline-end:45.83333333333333%;}.ant-col-md-offset-11{margin-inline-start:45.83333333333333%;}.ant-col-md-order-11{order:11;}.ant-col-md-10{display:block;flex:0 0 41.66666666666667%;max-width:41.66666666666667%;}.ant-col-md-push-10{inset-inline-start:41.66666666666667%;}.ant-col-md-pull-10{inset-inline-end:41.66666666666667%;}.ant-col-md-offset-10{margin-inline-start:41.66666666666667%;}.ant-col-md-order-10{order:10;}.ant-col-md-9{display:block;flex:0 0 37.5%;max-width:37.5%;}.ant-col-md-push-9{inset-inline-start:37.5%;}.ant-col-md-pull-9{inset-inline-end:37.5%;}.ant-col-md-offset-9{margin-inline-start:37.5%;}.ant-col-md-order-9{order:9;}.ant-col-md-8{display:block;flex:0 0 33.33333333333333%;max-width:33.33333333333333%;}.ant-col-md-push-8{inset-inline-start:33.33333333333333%;}.ant-col-md-pull-8{inset-inline-end:33.33333333333333%;}.ant-col-md-offset-8{margin-inline-start:33.33333333333333%;}.ant-col-md-order-8{order:8;}.ant-col-md-7{display:block;flex:0 0 29.166666666666668%;max-width:29.166666666666668%;}.ant-col-md-push-7{inset-inline-start:29.166666666666668%;}.ant-col-md-pull-7{inset-inline-end:29.166666666666668%;}.ant-col-md-offset-7{margin-inline-start:29.166666666666668%;}.ant-col-md-order-7{order:7;}.ant-col-md-6{display:block;flex:0 0 25%;max-width:25%;}.ant-col-md-push-6{inset-inline-start:25%;}.ant-col-md-pull-6{inset-inline-end:25%;}.ant-col-md-offset-6{margin-inline-start:25%;}.ant-col-md-order-6{order:6;}.ant-col-md-5{display:block;flex:0 0 20.833333333333336%;max-width:20.833333333333336%;}.ant-col-md-push-5{inset-inline-start:20.833333333333336%;}.ant-col-md-pull-5{inset-inline-end:20.833333333333336%;}.ant-col-md-offset-5{margin-inline-start:20.833333333333336%;}.ant-col-md-order-5{order:5;}.ant-col-md-4{display:block;flex:0 0 16.666666666666664%;max-width:16.666666666666664%;}.ant-col-md-push-4{inset-inline-start:16.666666666666664%;}.ant-col-md-pull-4{inset-inline-end:16.666666666666664%;}.ant-col-md-offset-4{margin-inline-start:16.666666666666664%;}.ant-col-md-order-4{order:4;}.ant-col-md-3{display:block;flex:0 0 12.5%;max-width:12.5%;}.ant-col-md-push-3{inset-inline-start:12.5%;}.ant-col-md-pull-3{inset-inline-end:12.5%;}.ant-col-md-offset-3{margin-inline-start:12.5%;}.ant-col-md-order-3{order:3;}.ant-col-md-2{display:block;flex:0 0 8.333333333333332%;max-width:8.333333333333332%;}.ant-col-md-push-2{inset-inline-start:8.333333333333332%;}.ant-col-md-pull-2{inset-inline-end:8.333333333333332%;}.ant-col-md-offset-2{margin-inline-start:8.333333333333332%;}.ant-col-md-order-2{order:2;}.ant-col-md-1{display:block;flex:0 0 4.166666666666666%;max-width:4.166666666666666%;}.ant-col-md-push-1{inset-inline-start:4.166666666666666%;}.ant-col-md-pull-1{inset-inline-end:4.166666666666666%;}.ant-col-md-offset-1{margin-inline-start:4.166666666666666%;}.ant-col-md-order-1{order:1;}.ant-col-md-0{display:none;}.ant-col-push-0{inset-inline-start:auto;}.ant-col-pull-0{inset-inline-end:auto;}.ant-col-md-push-0{inset-inline-start:auto;}.ant-col-md-pull-0{inset-inline-end:auto;}.ant-col-md-offset-0{margin-inline-end:0;}.ant-col-md-order-0{order:0;}}@media (min-width: 992px){.ant-col-lg-24{display:block;flex:0 0 100%;max-width:100%;}.ant-col-lg-push-24{inset-inline-start:100%;}.ant-col-lg-pull-24{inset-inline-end:100%;}.ant-col-lg-offset-24{margin-inline-start:100%;}.ant-col-lg-order-24{order:24;}.ant-col-lg-23{display:block;flex:0 0 95.83333333333334%;max-width:95.83333333333334%;}.ant-col-lg-push-23{inset-inline-start:95.83333333333334%;}.ant-col-lg-pull-23{inset-inline-end:95.83333333333334%;}.ant-col-lg-offset-23{margin-inline-start:95.83333333333334%;}.ant-col-lg-order-23{order:23;}.ant-col-lg-22{display:block;flex:0 0 91.66666666666666%;max-width:91.66666666666666%;}.ant-col-lg-push-22{inset-inline-start:91.66666666666666%;}.ant-col-lg-pull-22{inset-inline-end:91.66666666666666%;}.ant-col-lg-offset-22{margin-inline-start:91.66666666666666%;}.ant-col-lg-order-22{order:22;}.ant-col-lg-21{display:block;flex:0 0 87.5%;max-width:87.5%;}.ant-col-lg-push-21{inset-inline-start:87.5%;}.ant-col-lg-pull-21{inset-inline-end:87.5%;}.ant-col-lg-offset-21{margin-inline-start:87.5%;}.ant-col-lg-order-21{order:21;}.ant-col-lg-20{display:block;flex:0 0 83.33333333333334%;max-width:83.33333333333334%;}.ant-col-lg-push-20{inset-inline-start:83.33333333333334%;}.ant-col-lg-pull-20{inset-inline-end:83.33333333333334%;}.ant-col-lg-offset-20{margin-inline-start:83.33333333333334%;}.ant-col-lg-order-20{order:20;}.ant-col-lg-19{display:block;flex:0 0 79.16666666666666%;max-width:79.16666666666666%;}.ant-col-lg-push-19{inset-inline-start:79.16666666666666%;}.ant-col-lg-pull-19{inset-inline-end:79.16666666666666%;}.ant-col-lg-offset-19{margin-inline-start:79.16666666666666%;}.ant-col-lg-order-19{order:19;}.ant-col-lg-18{display:block;flex:0 0 75%;max-width:75%;}.ant-col-lg-push-18{inset-inline-start:75%;}.ant-col-lg-pull-18{inset-inline-end:75%;}.ant-col-lg-offset-18{margin-inline-start:75%;}.ant-col-lg-order-18{order:18;}.ant-col-lg-17{display:block;flex:0 0 70.83333333333334%;max-width:70.83333333333334%;}.ant-col-lg-push-17{inset-inline-start:70.83333333333334%;}.ant-col-lg-pull-17{inset-inline-end:70.83333333333334%;}.ant-col-lg-offset-17{margin-inline-start:70.83333333333334%;}.ant-col-lg-order-17{order:17;}.ant-col-lg-16{display:block;flex:0 0 66.66666666666666%;max-width:66.66666666666666%;}.ant-col-lg-push-16{inset-inline-start:66.66666666666666%;}.ant-col-lg-pull-16{inset-inline-end:66.66666666666666%;}.ant-col-lg-offset-16{margin-inline-start:66.66666666666666%;}.ant-col-lg-order-16{order:16;}.ant-col-lg-15{display:block;flex:0 0 62.5%;max-width:62.5%;}.ant-col-lg-push-15{inset-inline-start:62.5%;}.ant-col-lg-pull-15{inset-inline-end:62.5%;}.ant-col-lg-offset-15{margin-inline-start:62.5%;}.ant-col-lg-order-15{order:15;}.ant-col-lg-14{display:block;flex:0 0 58.333333333333336%;max-width:58.333333333333336%;}.ant-col-lg-push-14{inset-inline-start:58.333333333333336%;}.ant-col-lg-pull-14{inset-inline-end:58.333333333333336%;}.ant-col-lg-offset-14{margin-inline-start:58.333333333333336%;}.ant-col-lg-order-14{order:14;}.ant-col-lg-13{display:block;flex:0 0 54.166666666666664%;max-width:54.166666666666664%;}.ant-col-lg-push-13{inset-inline-start:54.166666666666664%;}.ant-col-lg-pull-13{inset-inline-end:54.166666666666664%;}.ant-col-lg-offset-13{margin-inline-start:54.166666666666664%;}.ant-col-lg-order-13{order:13;}.ant-col-lg-12{display:block;flex:0 0 50%;max-width:50%;}.ant-col-lg-push-12{inset-inline-start:50%;}.ant-col-lg-pull-12{inset-inline-end:50%;}.ant-col-lg-offset-12{margin-inline-start:50%;}.ant-col-lg-order-12{order:12;}.ant-col-lg-11{display:block;flex:0 0 45.83333333333333%;max-width:45.83333333333333%;}.ant-col-lg-push-11{inset-inline-start:45.83333333333333%;}.ant-col-lg-pull-11{inset-inline-end:45.83333333333333%;}.ant-col-lg-offset-11{margin-inline-start:45.83333333333333%;}.ant-col-lg-order-11{order:11;}.ant-col-lg-10{display:block;flex:0 0 41.66666666666667%;max-width:41.66666666666667%;}.ant-col-lg-push-10{inset-inline-start:41.66666666666667%;}.ant-col-lg-pull-10{inset-inline-end:41.66666666666667%;}.ant-col-lg-offset-10{margin-inline-start:41.66666666666667%;}.ant-col-lg-order-10{order:10;}.ant-col-lg-9{display:block;flex:0 0 37.5%;max-width:37.5%;}.ant-col-lg-push-9{inset-inline-start:37.5%;}.ant-col-lg-pull-9{inset-inline-end:37.5%;}.ant-col-lg-offset-9{margin-inline-start:37.5%;}.ant-col-lg-order-9{order:9;}.ant-col-lg-8{display:block;flex:0 0 33.33333333333333%;max-width:33.33333333333333%;}.ant-col-lg-push-8{inset-inline-start:33.33333333333333%;}.ant-col-lg-pull-8{inset-inline-end:33.33333333333333%;}.ant-col-lg-offset-8{margin-inline-start:33.33333333333333%;}.ant-col-lg-order-8{order:8;}.ant-col-lg-7{display:block;flex:0 0 29.166666666666668%;max-width:29.166666666666668%;}.ant-col-lg-push-7{inset-inline-start:29.166666666666668%;}.ant-col-lg-pull-7{inset-inline-end:29.166666666666668%;}.ant-col-lg-offset-7{margin-inline-start:29.166666666666668%;}.ant-col-lg-order-7{order:7;}.ant-col-lg-6{display:block;flex:0 0 25%;max-width:25%;}.ant-col-lg-push-6{inset-inline-start:25%;}.ant-col-lg-pull-6{inset-inline-end:25%;}.ant-col-lg-offset-6{margin-inline-start:25%;}.ant-col-lg-order-6{order:6;}.ant-col-lg-5{display:block;flex:0 0 20.833333333333336%;max-width:20.833333333333336%;}.ant-col-lg-push-5{inset-inline-start:20.833333333333336%;}.ant-col-lg-pull-5{inset-inline-end:20.833333333333336%;}.ant-col-lg-offset-5{margin-inline-start:20.833333333333336%;}.ant-col-lg-order-5{order:5;}.ant-col-lg-4{display:block;flex:0 0 16.666666666666664%;max-width:16.666666666666664%;}.ant-col-lg-push-4{inset-inline-start:16.666666666666664%;}.ant-col-lg-pull-4{inset-inline-end:16.666666666666664%;}.ant-col-lg-offset-4{margin-inline-start:16.666666666666664%;}.ant-col-lg-order-4{order:4;}.ant-col-lg-3{display:block;flex:0 0 12.5%;max-width:12.5%;}.ant-col-lg-push-3{inset-inline-start:12.5%;}.ant-col-lg-pull-3{inset-inline-end:12.5%;}.ant-col-lg-offset-3{margin-inline-start:12.5%;}.ant-col-lg-order-3{order:3;}.ant-col-lg-2{display:block;flex:0 0 8.333333333333332%;max-width:8.333333333333332%;}.ant-col-lg-push-2{inset-inline-start:8.333333333333332%;}.ant-col-lg-pull-2{inset-inline-end:8.333333333333332%;}.ant-col-lg-offset-2{margin-inline-start:8.333333333333332%;}.ant-col-lg-order-2{order:2;}.ant-col-lg-1{display:block;flex:0 0 4.166666666666666%;max-width:4.166666666666666%;}.ant-col-lg-push-1{inset-inline-start:4.166666666666666%;}.ant-col-lg-pull-1{inset-inline-end:4.166666666666666%;}.ant-col-lg-offset-1{margin-inline-start:4.166666666666666%;}.ant-col-lg-order-1{order:1;}.ant-col-lg-0{display:none;}.ant-col-push-0{inset-inline-start:auto;}.ant-col-pull-0{inset-inline-end:auto;}.ant-col-lg-push-0{inset-inline-start:auto;}.ant-col-lg-pull-0{inset-inline-end:auto;}.ant-col-lg-offset-0{margin-inline-end:0;}.ant-col-lg-order-0{order:0;}}@media (min-width: 1200px){.ant-col-xl-24{display:block;flex:0 0 100%;max-width:100%;}.ant-col-xl-push-24{inset-inline-start:100%;}.ant-col-xl-pull-24{inset-inline-end:100%;}.ant-col-xl-offset-24{margin-inline-start:100%;}.ant-col-xl-order-24{order:24;}.ant-col-xl-23{display:block;flex:0 0 95.83333333333334%;max-width:95.83333333333334%;}.ant-col-xl-push-23{inset-inline-start:95.83333333333334%;}.ant-col-xl-pull-23{inset-inline-end:95.83333333333334%;}.ant-col-xl-offset-23{margin-inline-start:95.83333333333334%;}.ant-col-xl-order-23{order:23;}.ant-col-xl-22{display:block;flex:0 0 91.66666666666666%;max-width:91.66666666666666%;}.ant-col-xl-push-22{inset-inline-start:91.66666666666666%;}.ant-col-xl-pull-22{inset-inline-end:91.66666666666666%;}.ant-col-xl-offset-22{margin-inline-start:91.66666666666666%;}.ant-col-xl-order-22{order:22;}.ant-col-xl-21{display:block;flex:0 0 87.5%;max-width:87.5%;}.ant-col-xl-push-21{inset-inline-start:87.5%;}.ant-col-xl-pull-21{inset-inline-end:87.5%;}.ant-col-xl-offset-21{margin-inline-start:87.5%;}.ant-col-xl-order-21{order:21;}.ant-col-xl-20{display:block;flex:0 0 83.33333333333334%;max-width:83.33333333333334%;}.ant-col-xl-push-20{inset-inline-start:83.33333333333334%;}.ant-col-xl-pull-20{inset-inline-end:83.33333333333334%;}.ant-col-xl-offset-20{margin-inline-start:83.33333333333334%;}.ant-col-xl-order-20{order:20;}.ant-col-xl-19{display:block;flex:0 0 79.16666666666666%;max-width:79.16666666666666%;}.ant-col-xl-push-19{inset-inline-start:79.16666666666666%;}.ant-col-xl-pull-19{inset-inline-end:79.16666666666666%;}.ant-col-xl-offset-19{margin-inline-start:79.16666666666666%;}.ant-col-xl-order-19{order:19;}.ant-col-xl-18{display:block;flex:0 0 75%;max-width:75%;}.ant-col-xl-push-18{inset-inline-start:75%;}.ant-col-xl-pull-18{inset-inline-end:75%;}.ant-col-xl-offset-18{margin-inline-start:75%;}.ant-col-xl-order-18{order:18;}.ant-col-xl-17{display:block;flex:0 0 70.83333333333334%;max-width:70.83333333333334%;}.ant-col-xl-push-17{inset-inline-start:70.83333333333334%;}.ant-col-xl-pull-17{inset-inline-end:70.83333333333334%;}.ant-col-xl-offset-17{margin-inline-start:70.83333333333334%;}.ant-col-xl-order-17{order:17;}.ant-col-xl-16{display:block;flex:0 0 66.66666666666666%;max-width:66.66666666666666%;}.ant-col-xl-push-16{inset-inline-start:66.66666666666666%;}.ant-col-xl-pull-16{inset-inline-end:66.66666666666666%;}.ant-col-xl-offset-16{margin-inline-start:66.66666666666666%;}.ant-col-xl-order-16{order:16;}.ant-col-xl-15{display:block;flex:0 0 62.5%;max-width:62.5%;}.ant-col-xl-push-15{inset-inline-start:62.5%;}.ant-col-xl-pull-15{inset-inline-end:62.5%;}.ant-col-xl-offset-15{margin-inline-start:62.5%;}.ant-col-xl-order-15{order:15;}.ant-col-xl-14{display:block;flex:0 0 58.333333333333336%;max-width:58.333333333333336%;}.ant-col-xl-push-14{inset-inline-start:58.333333333333336%;}.ant-col-xl-pull-14{inset-inline-end:58.333333333333336%;}.ant-col-xl-offset-14{margin-inline-start:58.333333333333336%;}.ant-col-xl-order-14{order:14;}.ant-col-xl-13{display:block;flex:0 0 54.166666666666664%;max-width:54.166666666666664%;}.ant-col-xl-push-13{inset-inline-start:54.166666666666664%;}.ant-col-xl-pull-13{inset-inline-end:54.166666666666664%;}.ant-col-xl-offset-13{margin-inline-start:54.166666666666664%;}.ant-col-xl-order-13{order:13;}.ant-col-xl-12{display:block;flex:0 0 50%;max-width:50%;}.ant-col-xl-push-12{inset-inline-start:50%;}.ant-col-xl-pull-12{inset-inline-end:50%;}.ant-col-xl-offset-12{margin-inline-start:50%;}.ant-col-xl-order-12{order:12;}.ant-col-xl-11{display:block;flex:0 0 45.83333333333333%;max-width:45.83333333333333%;}.ant-col-xl-push-11{inset-inline-start:45.83333333333333%;}.ant-col-xl-pull-11{inset-inline-end:45.83333333333333%;}.ant-col-xl-offset-11{margin-inline-start:45.83333333333333%;}.ant-col-xl-order-11{order:11;}.ant-col-xl-10{display:block;flex:0 0 41.66666666666667%;max-width:41.66666666666667%;}.ant-col-xl-push-10{inset-inline-start:41.66666666666667%;}.ant-col-xl-pull-10{inset-inline-end:41.66666666666667%;}.ant-col-xl-offset-10{margin-inline-start:41.66666666666667%;}.ant-col-xl-order-10{order:10;}.ant-col-xl-9{display:block;flex:0 0 37.5%;max-width:37.5%;}.ant-col-xl-push-9{inset-inline-start:37.5%;}.ant-col-xl-pull-9{inset-inline-end:37.5%;}.ant-col-xl-offset-9{margin-inline-start:37.5%;}.ant-col-xl-order-9{order:9;}.ant-col-xl-8{display:block;flex:0 0 33.33333333333333%;max-width:33.33333333333333%;}.ant-col-xl-push-8{inset-inline-start:33.33333333333333%;}.ant-col-xl-pull-8{inset-inline-end:33.33333333333333%;}.ant-col-xl-offset-8{margin-inline-start:33.33333333333333%;}.ant-col-xl-order-8{order:8;}.ant-col-xl-7{display:block;flex:0 0 29.166666666666668%;max-width:29.166666666666668%;}.ant-col-xl-push-7{inset-inline-start:29.166666666666668%;}.ant-col-xl-pull-7{inset-inline-end:29.166666666666668%;}.ant-col-xl-offset-7{margin-inline-start:29.166666666666668%;}.ant-col-xl-order-7{order:7;}.ant-col-xl-6{display:block;flex:0 0 25%;max-width:25%;}.ant-col-xl-push-6{inset-inline-start:25%;}.ant-col-xl-pull-6{inset-inline-end:25%;}.ant-col-xl-offset-6{margin-inline-start:25%;}.ant-col-xl-order-6{order:6;}.ant-col-xl-5{display:block;flex:0 0 20.833333333333336%;max-width:20.833333333333336%;}.ant-col-xl-push-5{inset-inline-start:20.833333333333336%;}.ant-col-xl-pull-5{inset-inline-end:20.833333333333336%;}.ant-col-xl-offset-5{margin-inline-start:20.833333333333336%;}.ant-col-xl-order-5{order:5;}.ant-col-xl-4{display:block;flex:0 0 16.666666666666664%;max-width:16.666666666666664%;}.ant-col-xl-push-4{inset-inline-start:16.666666666666664%;}.ant-col-xl-pull-4{inset-inline-end:16.666666666666664%;}.ant-col-xl-offset-4{margin-inline-start:16.666666666666664%;}.ant-col-xl-order-4{order:4;}.ant-col-xl-3{display:block;flex:0 0 12.5%;max-width:12.5%;}.ant-col-xl-push-3{inset-inline-start:12.5%;}.ant-col-xl-pull-3{inset-inline-end:12.5%;}.ant-col-xl-offset-3{margin-inline-start:12.5%;}.ant-col-xl-order-3{order:3;}.ant-col-xl-2{display:block;flex:0 0 8.333333333333332%;max-width:8.333333333333332%;}.ant-col-xl-push-2{inset-inline-start:8.333333333333332%;}.ant-col-xl-pull-2{inset-inline-end:8.333333333333332%;}.ant-col-xl-offset-2{margin-inline-start:8.333333333333332%;}.ant-col-xl-order-2{order:2;}.ant-col-xl-1{display:block;flex:0 0 4.166666666666666%;max-width:4.166666666666666%;}.ant-col-xl-push-1{inset-inline-start:4.166666666666666%;}.ant-col-xl-pull-1{inset-inline-end:4.166666666666666%;}.ant-col-xl-offset-1{margin-inline-start:4.166666666666666%;}.ant-col-xl-order-1{order:1;}.ant-col-xl-0{display:none;}.ant-col-push-0{inset-inline-start:auto;}.ant-col-pull-0{inset-inline-end:auto;}.ant-col-xl-push-0{inset-inline-start:auto;}.ant-col-xl-pull-0{inset-inline-end:auto;}.ant-col-xl-offset-0{margin-inline-end:0;}.ant-col-xl-order-0{order:0;}}@media (min-width: 1600px){.ant-col-xxl-24{display:block;flex:0 0 100%;max-width:100%;}.ant-col-xxl-push-24{inset-inline-start:100%;}.ant-col-xxl-pull-24{inset-inline-end:100%;}.ant-col-xxl-offset-24{margin-inline-start:100%;}.ant-col-xxl-order-24{order:24;}.ant-col-xxl-23{display:block;flex:0 0 95.83333333333334%;max-width:95.83333333333334%;}.ant-col-xxl-push-23{inset-inline-start:95.83333333333334%;}.ant-col-xxl-pull-23{inset-inline-end:95.83333333333334%;}.ant-col-xxl-offset-23{margin-inline-start:95.83333333333334%;}.ant-col-xxl-order-23{order:23;}.ant-col-xxl-22{display:block;flex:0 0 91.66666666666666%;max-width:91.66666666666666%;}.ant-col-xxl-push-22{inset-inline-start:91.66666666666666%;}.ant-col-xxl-pull-22{inset-inline-end:91.66666666666666%;}.ant-col-xxl-offset-22{margin-inline-start:91.66666666666666%;}.ant-col-xxl-order-22{order:22;}.ant-col-xxl-21{display:block;flex:0 0 87.5%;max-width:87.5%;}.ant-col-xxl-push-21{inset-inline-start:87.5%;}.ant-col-xxl-pull-21{inset-inline-end:87.5%;}.ant-col-xxl-offset-21{margin-inline-start:87.5%;}.ant-col-xxl-order-21{order:21;}.ant-col-xxl-20{display:block;flex:0 0 83.33333333333334%;max-width:83.33333333333334%;}.ant-col-xxl-push-20{inset-inline-start:83.33333333333334%;}.ant-col-xxl-pull-20{inset-inline-end:83.33333333333334%;}.ant-col-xxl-offset-20{margin-inline-start:83.33333333333334%;}.ant-col-xxl-order-20{order:20;}.ant-col-xxl-19{display:block;flex:0 0 79.16666666666666%;max-width:79.16666666666666%;}.ant-col-xxl-push-19{inset-inline-start:79.16666666666666%;}.ant-col-xxl-pull-19{inset-inline-end:79.16666666666666%;}.ant-col-xxl-offset-19{margin-inline-start:79.16666666666666%;}.ant-col-xxl-order-19{order:19;}.ant-col-xxl-18{display:block;flex:0 0 75%;max-width:75%;}.ant-col-xxl-push-18{inset-inline-start:75%;}.ant-col-xxl-pull-18{inset-inline-end:75%;}.ant-col-xxl-offset-18{margin-inline-start:75%;}.ant-col-xxl-order-18{order:18;}.ant-col-xxl-17{display:block;flex:0 0 70.83333333333334%;max-width:70.83333333333334%;}.ant-col-xxl-push-17{inset-inline-start:70.83333333333334%;}.ant-col-xxl-pull-17{inset-inline-end:70.83333333333334%;}.ant-col-xxl-offset-17{margin-inline-start:70.83333333333334%;}.ant-col-xxl-order-17{order:17;}.ant-col-xxl-16{display:block;flex:0 0 66.66666666666666%;max-width:66.66666666666666%;}.ant-col-xxl-push-16{inset-inline-start:66.66666666666666%;}.ant-col-xxl-pull-16{inset-inline-end:66.66666666666666%;}.ant-col-xxl-offset-16{margin-inline-start:66.66666666666666%;}.ant-col-xxl-order-16{order:16;}.ant-col-xxl-15{display:block;flex:0 0 62.5%;max-width:62.5%;}.ant-col-xxl-push-15{inset-inline-start:62.5%;}.ant-col-xxl-pull-15{inset-inline-end:62.5%;}.ant-col-xxl-offset-15{margin-inline-start:62.5%;}.ant-col-xxl-order-15{order:15;}.ant-col-xxl-14{display:block;flex:0 0 58.333333333333336%;max-width:58.333333333333336%;}.ant-col-xxl-push-14{inset-inline-start:58.333333333333336%;}.ant-col-xxl-pull-14{inset-inline-end:58.333333333333336%;}.ant-col-xxl-offset-14{margin-inline-start:58.333333333333336%;}.ant-col-xxl-order-14{order:14;}.ant-col-xxl-13{display:block;flex:0 0 54.166666666666664%;max-width:54.166666666666664%;}.ant-col-xxl-push-13{inset-inline-start:54.166666666666664%;}.ant-col-xxl-pull-13{inset-inline-end:54.166666666666664%;}.ant-col-xxl-offset-13{margin-inline-start:54.166666666666664%;}.ant-col-xxl-order-13{order:13;}.ant-col-xxl-12{display:block;flex:0 0 50%;max-width:50%;}.ant-col-xxl-push-12{inset-inline-start:50%;}.ant-col-xxl-pull-12{inset-inline-end:50%;}.ant-col-xxl-offset-12{margin-inline-start:50%;}.ant-col-xxl-order-12{order:12;}.ant-col-xxl-11{display:block;flex:0 0 45.83333333333333%;max-width:45.83333333333333%;}.ant-col-xxl-push-11{inset-inline-start:45.83333333333333%;}.ant-col-xxl-pull-11{inset-inline-end:45.83333333333333%;}.ant-col-xxl-offset-11{margin-inline-start:45.83333333333333%;}.ant-col-xxl-order-11{order:11;}.ant-col-xxl-10{display:block;flex:0 0 41.66666666666667%;max-width:41.66666666666667%;}.ant-col-xxl-push-10{inset-inline-start:41.66666666666667%;}.ant-col-xxl-pull-10{inset-inline-end:41.66666666666667%;}.ant-col-xxl-offset-10{margin-inline-start:41.66666666666667%;}.ant-col-xxl-order-10{order:10;}.ant-col-xxl-9{display:block;flex:0 0 37.5%;max-width:37.5%;}.ant-col-xxl-push-9{inset-inline-start:37.5%;}.ant-col-xxl-pull-9{inset-inline-end:37.5%;}.ant-col-xxl-offset-9{margin-inline-start:37.5%;}.ant-col-xxl-order-9{order:9;}.ant-col-xxl-8{display:block;flex:0 0 33.33333333333333%;max-width:33.33333333333333%;}.ant-col-xxl-push-8{inset-inline-start:33.33333333333333%;}.ant-col-xxl-pull-8{inset-inline-end:33.33333333333333%;}.ant-col-xxl-offset-8{margin-inline-start:33.33333333333333%;}.ant-col-xxl-order-8{order:8;}.ant-col-xxl-7{display:block;flex:0 0 29.166666666666668%;max-width:29.166666666666668%;}.ant-col-xxl-push-7{inset-inline-start:29.166666666666668%;}.ant-col-xxl-pull-7{inset-inline-end:29.166666666666668%;}.ant-col-xxl-offset-7{margin-inline-start:29.166666666666668%;}.ant-col-xxl-order-7{order:7;}.ant-col-xxl-6{display:block;flex:0 0 25%;max-width:25%;}.ant-col-xxl-push-6{inset-inline-start:25%;}.ant-col-xxl-pull-6{inset-inline-end:25%;}.ant-col-xxl-offset-6{margin-inline-start:25%;}.ant-col-xxl-order-6{order:6;}.ant-col-xxl-5{display:block;flex:0 0 20.833333333333336%;max-width:20.833333333333336%;}.ant-col-xxl-push-5{inset-inline-start:20.833333333333336%;}.ant-col-xxl-pull-5{inset-inline-end:20.833333333333336%;}.ant-col-xxl-offset-5{margin-inline-start:20.833333333333336%;}.ant-col-xxl-order-5{order:5;}.ant-col-xxl-4{display:block;flex:0 0 16.666666666666664%;max-width:16.666666666666664%;}.ant-col-xxl-push-4{inset-inline-start:16.666666666666664%;}.ant-col-xxl-pull-4{inset-inline-end:16.666666666666664%;}.ant-col-xxl-offset-4{margin-inline-start:16.666666666666664%;}.ant-col-xxl-order-4{order:4;}.ant-col-xxl-3{display:block;flex:0 0 12.5%;max-width:12.5%;}.ant-col-xxl-push-3{inset-inline-start:12.5%;}.ant-col-xxl-pull-3{inset-inline-end:12.5%;}.ant-col-xxl-offset-3{margin-inline-start:12.5%;}.ant-col-xxl-order-3{order:3;}.ant-col-xxl-2{display:block;flex:0 0 8.333333333333332%;max-width:8.333333333333332%;}.ant-col-xxl-push-2{inset-inline-start:8.333333333333332%;}.ant-col-xxl-pull-2{inset-inline-end:8.333333333333332%;}.ant-col-xxl-offset-2{margin-inline-start:8.333333333333332%;}.ant-col-xxl-order-2{order:2;}.ant-col-xxl-1{display:block;flex:0 0 4.166666666666666%;max-width:4.166666666666666%;}.ant-col-xxl-push-1{inset-inline-start:4.166666666666666%;}.ant-col-xxl-pull-1{inset-inline-end:4.166666666666666%;}.ant-col-xxl-offset-1{margin-inline-start:4.166666666666666%;}.ant-col-xxl-order-1{order:1;}.ant-col-xxl-0{display:none;}.ant-col-push-0{inset-inline-start:auto;}.ant-col-pull-0{inset-inline-end:auto;}.ant-col-xxl-push-0{inset-inline-start:auto;}.ant-col-xxl-pull-0{inset-inline-end:auto;}.ant-col-xxl-offset-0{margin-inline-end:0;}.ant-col-xxl-order-0{order:0;}}[class^=\\"ant-comment\\"],[class*=\\" ant-comment\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-comment\\"]::before,[class*=\\" ant-comment\\"]::before,[class^=\\"ant-comment\\"]::after,[class*=\\" ant-comment\\"]::after{box-sizing:border-box;}[class^=\\"ant-comment\\"] [class^=\\"ant-comment\\"],[class*=\\" ant-comment\\"] [class^=\\"ant-comment\\"],[class^=\\"ant-comment\\"] [class*=\\" ant-comment\\"],[class*=\\" ant-comment\\"] [class*=\\" ant-comment\\"]{box-sizing:border-box;}[class^=\\"ant-comment\\"] [class^=\\"ant-comment\\"]::before,[class*=\\" ant-comment\\"] [class^=\\"ant-comment\\"]::before,[class^=\\"ant-comment\\"] [class*=\\" ant-comment\\"]::before,[class*=\\" ant-comment\\"] [class*=\\" ant-comment\\"]::before,[class^=\\"ant-comment\\"] [class^=\\"ant-comment\\"]::after,[class*=\\" ant-comment\\"] [class^=\\"ant-comment\\"]::after,[class^=\\"ant-comment\\"] [class*=\\" ant-comment\\"]::after,[class*=\\" ant-comment\\"] [class*=\\" ant-comment\\"]::after{box-sizing:border-box;}.ant-comment{position:relative;background-color:inherit;}.ant-comment .ant-comment-inner{display:flex;padding:20px 0;}.ant-comment .ant-comment-avatar{position:relative;flex-shrink:0;margin-right:12px;cursor:pointer;}.ant-comment .ant-comment-avatar img{width:32px;height:32px;border-radius:50%;}.ant-comment .ant-comment-content{position:relative;flex:1 1 auto;min-width:1px;font-size:14px;word-wrap:break-word;}.ant-comment .ant-comment-content-author{display:flex;flex-wrap:wrap;justify-content:flex-start;margin-bottom:4px;font-size:14px;}.ant-comment .ant-comment-content-author>a,.ant-comment .ant-comment-content-author>span{padding-right:8px;font-size:12px;line-height:18px;}.ant-comment .ant-comment-content-author-name{color:rgba(255, 255, 255, 0.45);font-size:14px;transition:color 0.3s;}.ant-comment .ant-comment-content-author-name >*{color:rgba(255, 255, 255, 0.45);}.ant-comment .ant-comment-content-author-name >*:hover{color:rgba(255, 255, 255, 0.45);}.ant-comment .ant-comment-content-author-time{color:rgba(255, 255, 255, 0.25);white-space:nowrap;cursor:auto;}.ant-comment .ant-comment-content-detail p{margin-bottom:inherit;white-space:pre-wrap;}.ant-comment .ant-comment-actions{margin-top:12px;margin-bottom:inherit;padding-left:0;}.ant-comment .ant-comment-actions >li{display:inline-block;color:rgba(255, 255, 255, 0.45);}.ant-comment .ant-comment-actions >li >span{margin-right:10px;color:rgba(255, 255, 255, 0.45);font-size:12px;cursor:pointer;transition:color 0.3s;user-select:none;}.ant-comment .ant-comment-actions >li >span:hover{color:rgba(255, 255, 255, 0.65);}.ant-comment .ant-comment-nested{margin-left:44px;}.ant-comment-rtl{direction:rtl;}[class^=\\"ant-picker\\"],[class*=\\" ant-picker\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-picker\\"]::before,[class*=\\" ant-picker\\"]::before,[class^=\\"ant-picker\\"]::after,[class*=\\" ant-picker\\"]::after{box-sizing:border-box;}[class^=\\"ant-picker\\"] [class^=\\"ant-picker\\"],[class*=\\" ant-picker\\"] [class^=\\"ant-picker\\"],[class^=\\"ant-picker\\"] [class*=\\" ant-picker\\"],[class*=\\" ant-picker\\"] [class*=\\" ant-picker\\"]{box-sizing:border-box;}[class^=\\"ant-picker\\"] [class^=\\"ant-picker\\"]::before,[class*=\\" ant-picker\\"] [class^=\\"ant-picker\\"]::before,[class^=\\"ant-picker\\"] [class*=\\" ant-picker\\"]::before,[class*=\\" ant-picker\\"] [class*=\\" ant-picker\\"]::before,[class^=\\"ant-picker\\"] [class^=\\"ant-picker\\"]::after,[class*=\\" ant-picker\\"] [class^=\\"ant-picker\\"]::after,[class^=\\"ant-picker\\"] [class*=\\" ant-picker\\"]::after,[class*=\\" ant-picker\\"] [class*=\\" ant-picker\\"]::after{box-sizing:border-box;}.ant-picker{box-sizing:border-box;margin:0;padding:4px 11px 4px;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;display:inline-flex;align-items:center;background:#141414;border:1px solid #424242;border-radius:6px;transition:border 0.2s,box-shadow 0.2s;}.ant-picker:hover,.ant-picker-focused{border-color:#198016;border-inline-end-width:1px;}.ant-picker-focused{border-color:#198016;box-shadow:0 0 0 2px rgba(0, 53, 0, 0.15);border-inline-end-width:1px;outline:0;}.ant-picker.ant-picker-disabled{background:rgba(255, 255, 255, 0.08);border-color:#424242;cursor:not-allowed;}.ant-picker.ant-picker-disabled .ant-picker-suffix{color:rgba(255, 255, 255, 0.25);}.ant-picker.ant-picker-borderless{background-color:transparent!important;border-color:transparent!important;box-shadow:none!important;}.ant-picker .ant-picker-input{position:relative;display:inline-flex;align-items:center;width:100%;}.ant-picker .ant-picker-input >input{position:relative;display:inline-block;width:100%;min-width:1px;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;background-color:#141414;background-image:none;border-width:1px;border-style:solid;border-color:#424242;border-radius:6px;transition:all 0.2s;flex:auto;height:auto;background:transparent;border:0;}.ant-picker .ant-picker-input >input::-moz-placeholder{opacity:1;}.ant-picker .ant-picker-input >input::placeholder{color:rgba(255, 255, 255, 0.25);user-select:none;}.ant-picker .ant-picker-input >input:placeholder-shown{text-overflow:ellipsis;}.ant-picker .ant-picker-input >input:hover{border-color:#198016;border-inline-end-width:1px;}.ant-picker .ant-picker-input >input:focus,.ant-picker .ant-picker-input >input-focused{border-color:#198016;box-shadow:0 0 0 2px rgba(0, 53, 0, 0.15);border-inline-end-width:1px;outline:0;}.ant-picker .ant-picker-input >input-disabled,.ant-picker .ant-picker-input >input[disabled]{color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.08);border-color:#424242;box-shadow:none;cursor:not-allowed;opacity:1;}.ant-picker .ant-picker-input >input-disabled:hover,.ant-picker .ant-picker-input >input[disabled]:hover{border-color:#424242;border-inline-end-width:1px;}.ant-picker .ant-picker-input >input-borderless,.ant-picker .ant-picker-input >input-borderless:hover,.ant-picker .ant-picker-input >input-borderless:focus,.ant-picker .ant-picker-input >input-borderless-focused,.ant-picker .ant-picker-input >input-borderless-disabled,.ant-picker .ant-picker-input >input-borderless[disabled]{background-color:transparent;border:none;box-shadow:none;}textarea.ant-picker .ant-picker-input >input{max-width:100%;height:auto;min-height:32px;line-height:1.5714285714285714;vertical-align:bottom;transition:all 0.3s,height 0s;resize:vertical;}.ant-picker .ant-picker-input >input-lg{padding:7px 11px;font-size:16px;line-height:1.5;border-radius:8px;}.ant-picker .ant-picker-input >input-sm{padding:0px 7px;border-radius:4px;}.ant-picker .ant-picker-input >input-rtl{direction:rtl;}.ant-picker .ant-picker-input >input-textarea-rtl{direction:rtl;}.ant-picker .ant-picker-input >input:focus{box-shadow:none;}.ant-picker .ant-picker-input >input[disabled]{background:transparent;}.ant-picker .ant-picker-input:hover .ant-picker-clear{opacity:1;}.ant-picker .ant-picker-input-placeholder >input{color:rgba(255, 255, 255, 0.25);}.ant-picker-large{padding:6.5px 11px 6.5px;}.ant-picker-large .ant-picker-input>input{font-size:16px;}.ant-picker-small{padding:0px 7px 0px;}.ant-picker .ant-picker-suffix{display:flex;flex:none;align-self:center;margin-inline-start:4px;color:rgba(255, 255, 255, 0.25);line-height:1;pointer-events:none;}.ant-picker .ant-picker-suffix >*{vertical-align:top;}.ant-picker .ant-picker-suffix >*:not(:last-child){margin-inline-end:8px;}.ant-picker .ant-picker-clear{position:absolute;top:50%;inset-inline-end:0;color:rgba(255, 255, 255, 0.25);line-height:1;background:#141414;transform:translateY(-50%);cursor:pointer;opacity:0;transition:opacity 0.2s,color 0.2s;}.ant-picker .ant-picker-clear >*{vertical-align:top;}.ant-picker .ant-picker-clear:hover{color:rgba(255, 255, 255, 0.45);}.ant-picker .ant-picker-separator{position:relative;display:inline-block;width:1em;height:16px;color:rgba(255, 255, 255, 0.25);font-size:16px;vertical-align:top;cursor:default;}.ant-picker-focused .ant-picker .ant-picker-separator{color:rgba(255, 255, 255, 0.45);}.ant-picker-disabled .ant-picker-range-separator .ant-picker .ant-picker-separator{cursor:not-allowed;}.ant-picker-range{position:relative;display:inline-flex;}.ant-picker-range .ant-picker-clear{inset-inline-end:11px;}.ant-picker-range:hover .ant-picker-clear{opacity:1;}.ant-picker-range .ant-picker-active-bar{bottom:-1px;height:2px;margin-inline-start:11px;background:#037003;opacity:0;transition:all 0.3s ease-out;pointer-events:none;}.ant-picker-range.ant-picker-focused .ant-picker-active-bar{opacity:1;}.ant-picker-range .ant-picker-range-separator{align-items:center;padding:0 8px;line-height:1;}.ant-picker-range.ant-picker-small .ant-picker-clear{inset-inline-end:7px;}.ant-picker-range.ant-picker-small .ant-picker-active-bar{margin-inline-start:7px;}.ant-picker-dropdown{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:absolute;top:-9999px;left:-9999px;z-index:1050;}.ant-picker-dropdown .ant-picker-panel{display:inline-flex;flex-direction:column;text-align:center;background:#141414;border:1px solid rgba(253, 253, 253, 0.12);border-radius:8px;outline:none;}.ant-picker-dropdown .ant-picker-panel-focused{border-color:#037003;}.ant-picker-dropdown .ant-picker-panel-rtl{direction:rtl;}.ant-picker-dropdown .ant-picker-panel-rtl .ant-picker-prev-icon,.ant-picker-dropdown .ant-picker-panel-rtl .ant-picker-super-prev-icon{transform:rotate(45deg);}.ant-picker-dropdown .ant-picker-panel-rtl .ant-picker-next-icon,.ant-picker-dropdown .ant-picker-panel-rtl .ant-picker-super-next-icon{transform:rotate(-135deg);}.ant-picker-dropdown .ant-picker-decade-panel,.ant-picker-dropdown .ant-picker-year-panel,.ant-picker-dropdown .ant-picker-quarter-panel,.ant-picker-dropdown .ant-picker-month-panel,.ant-picker-dropdown .ant-picker-week-panel,.ant-picker-dropdown .ant-picker-date-panel,.ant-picker-dropdown .ant-picker-time-panel{display:flex;flex-direction:column;width:280px;}.ant-picker-dropdown .ant-picker-header{display:flex;padding:0 8px;color:rgba(255, 255, 255, 0.85);border-bottom:1px solid rgba(253, 253, 253, 0.12);}.ant-picker-dropdown .ant-picker-header >*{flex:none;}.ant-picker-dropdown .ant-picker-header button{padding:0;color:rgba(255, 255, 255, 0.45);line-height:40px;background:transparent;border:0;cursor:pointer;transition:color 0.2s;}.ant-picker-dropdown .ant-picker-header >button{min-width:1.6em;font-size:14px;}.ant-picker-dropdown .ant-picker-header >button:hover{color:rgba(255, 255, 255, 0.85);}.ant-picker-dropdown .ant-picker-header-view{flex:auto;font-weight:600;line-height:40px;}.ant-picker-dropdown .ant-picker-header-view button{color:inherit;font-weight:inherit;vertical-align:top;}.ant-picker-dropdown .ant-picker-header-view button:not(:first-child){margin-inline-start:8px;}.ant-picker-dropdown .ant-picker-header-view button:hover{color:#037003;}.ant-picker-dropdown .ant-picker-prev-icon,.ant-picker-dropdown .ant-picker-next-icon,.ant-picker-dropdown .ant-picker-super-prev-icon,.ant-picker-dropdown .ant-picker-super-next-icon{position:relative;display:inline-block;width:7px;height:7px;}.ant-picker-dropdown .ant-picker-prev-icon::before,.ant-picker-dropdown .ant-picker-next-icon::before,.ant-picker-dropdown .ant-picker-super-prev-icon::before,.ant-picker-dropdown .ant-picker-super-next-icon::before{position:absolute;top:0;inset-inline-start:0;display:inline-block;width:7px;height:7px;border:0 solid currentcolor;border-block-start-width:1.5px;border-block-end-width:0;border-inline-start-width:1.5px;border-inline-end-width:0;content:\\"\\";}.ant-picker-dropdown .ant-picker-super-prev-icon::after,.ant-picker-dropdown .ant-picker-super-next-icon::after{position:absolute;top:4px;inset-inline-start:4px;display:inline-block;width:7px;height:7px;border:0 solid currentcolor;border-block-start-width:1.5px;border-block-end-width:0;border-inline-start-width:1.5px;border-inline-end-width:0;content:\\"\\";}.ant-picker-dropdown .ant-picker-prev-icon,.ant-picker-dropdown .ant-picker-super-prev-icon{transform:rotate(-45deg);}.ant-picker-dropdown .ant-picker-next-icon,.ant-picker-dropdown .ant-picker-super-next-icon{transform:rotate(135deg);}.ant-picker-dropdown .ant-picker-content{width:100%;table-layout:fixed;border-collapse:collapse;}.ant-picker-dropdown .ant-picker-content th,.ant-picker-dropdown .ant-picker-content td{position:relative;min-width:24px;font-weight:normal;}.ant-picker-dropdown .ant-picker-content th{height:32px;color:rgba(255, 255, 255, 0.85);vertical-align:middle;}.ant-picker-dropdown .ant-picker-cell{padding:4px 0;color:rgba(255, 255, 255, 0.25);cursor:pointer;}.ant-picker-dropdown .ant-picker-cell-in-view{color:rgba(255, 255, 255, 0.85);}.ant-picker-dropdown .ant-picker-cell::before{position:absolute;top:50%;inset-inline-start:0;inset-inline-end:0;z-index:1;height:24px;transform:translateY(-50%);transition:all 0.3s;content:\\"\\";}.ant-picker-dropdown .ant-picker-cell .ant-picker-cell-inner{position:relative;z-index:2;display:inline-block;min-width:24px;height:24px;line-height:24px;border-radius:4px;transition:background 0.2s,border 0.2s;}.ant-picker-dropdown .ant-picker-cell:hover:not(.ant-picker-cell-in-view) .ant-picker-cell-inner,.ant-picker-dropdown .ant-picker-cell:hover:not(.ant-picker-cell-selected):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end):not(.ant-picker-cell-range-hover-start):not(.ant-picker-cell-range-hover-end) .ant-picker-cell-inner{background:rgba(255, 255, 255, 0.08);}.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner::before{position:absolute;top:0;inset-inline-end:0;bottom:0;inset-inline-start:0;z-index:1;border:1px solid #037003;border-radius:4px;content:\\"\\";}.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-in-range{position:relative;}.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-in-range::before{background:#111911;}.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner,.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner{color:#fff;background:#037003;}.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single)::before,.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single)::before{background:#111911;}.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-start::before{inset-inline-start:50%;}.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-end::before{inset-inline-end:50%;}.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after,.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover-end:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after,.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start-single::after,.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-end-near-hover::after,.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-start-near-hover::after,.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-end-single::after,.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-in-range)::after{position:absolute;top:50%;z-index:0;height:24px;border-top:1px dashed #06d306;border-bottom:1px dashed #06d306;transform:translateY(-50%);transition:all 0.3s;content:\\"\\";}.ant-picker-dropdown .ant-picker-cell-range-hover-start::after,.ant-picker-dropdown .ant-picker-cell-range-hover-end::after,.ant-picker-dropdown .ant-picker-cell-range-hover::after{inset-inline-end:0;inset-inline-start:2px;}.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover::before,.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-start.ant-picker-cell-range-hover::before,.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-end.ant-picker-cell-range-hover::before,.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single).ant-picker-cell-range-hover-start::before,.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single).ant-picker-cell-range-hover-end::before,.ant-picker-panel>:not(.ant-picker-date-panel) .ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start::before,.ant-picker-panel>:not(.ant-picker-date-panel) .ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end::before{background:#2cf92c;}.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner{border-start-start-radius:4px;border-end-start-radius:4px;border-start-end-radius:0;border-end-end-radius:0;}.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner{border-start-start-radius:0;border-end-start-radius:0;border-start-end-radius:4px;border-end-end-radius:4px;}.ant-picker-dropdown .ant-picker-cell-range-hover.ant-picker-cell-range-end::after{inset-inline-start:50%;}tr>.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover:first-child::after,tr>.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after,.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range::after,.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after,.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after{inset-inline-start:6px;border-inline-start:1px dashed #06d306;border-start-start-radius:1px;border-end-start-radius:1px;}tr>.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover:last-child::after,tr>.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after,.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range::after,.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after,.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after{inset-inline-end:6px;border-inline-end:1px dashed #06d306;border-start-end-radius:1px;border-end-end-radius:1px;}.ant-picker-dropdown .ant-picker-cell-disabled{color:rgba(255, 255, 255, 0.25);pointer-events:none;}.ant-picker-dropdown .ant-picker-cell-disabled .ant-picker-cell-inner{background:transparent;}.ant-picker-dropdown .ant-picker-cell-disabled::before{background:rgba(255, 255, 255, 0.08);}.ant-picker-dropdown .ant-picker-cell-disabled.ant-picker-cell-today .ant-picker-cell-inner::before{border-color:rgba(255, 255, 255, 0.25);}.ant-picker-dropdown .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after,.ant-picker-dropdown .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after{position:absolute;top:0;bottom:0;z-index:-1;background:#2cf92c;transition:all 0.3s;content:\\"\\";}.ant-picker-dropdown .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after{inset-inline-end:-6px;inset-inline-start:0;}.ant-picker-dropdown .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after{inset-inline-end:0;inset-inline-start:-6px;}.ant-picker-dropdown .ant-picker-range-hover.ant-picker-range-start::after{inset-inline-end:50%;}.ant-picker-dropdown .ant-picker-decade-panel .ant-picker-content,.ant-picker-dropdown .ant-picker-year-panel .ant-picker-content,.ant-picker-dropdown .ant-picker-quarter-panel .ant-picker-content,.ant-picker-dropdown .ant-picker-month-panel .ant-picker-content{height:264px;}.ant-picker-dropdown .ant-picker-decade-panel .ant-picker-cell-inner,.ant-picker-dropdown .ant-picker-year-panel .ant-picker-cell-inner,.ant-picker-dropdown .ant-picker-quarter-panel .ant-picker-cell-inner,.ant-picker-dropdown .ant-picker-month-panel .ant-picker-cell-inner{padding:0 8px;}.ant-picker-dropdown .ant-picker-quarter-panel .ant-picker-content{height:56px;}.ant-picker-dropdown .ant-picker-panel .ant-picker-footer{border-top:1px solid rgba(253, 253, 253, 0.12);}.ant-picker-dropdown .ant-picker-footer{width:min-content;min-width:100%;line-height:38px;text-align:center;}.ant-picker-dropdown .ant-picker-footer-extra{padding:0 12;line-height:38px;text-align:start;}.ant-picker-dropdown .ant-picker-footer-extra:not(:last-child){border-bottom:1px solid rgba(253, 253, 253, 0.12);}.ant-picker-dropdown .ant-picker-now{text-align:start;}.ant-picker-dropdown .ant-picker-today-btn{color:#1668dc;}.ant-picker-dropdown .ant-picker-today-btn:hover{color:#15417e;}.ant-picker-dropdown .ant-picker-today-btn:active{color:#1554ad;}.ant-picker-dropdown .ant-picker-today-btn.ant-picker-today-btn-disabled{color:rgba(255, 255, 255, 0.25);cursor:not-allowed;}.ant-picker-dropdown .ant-picker-decade-panel .ant-picker-cell-inner{padding:0 4px;}.ant-picker-dropdown .ant-picker-decade-panel .ant-picker-cell::before{display:none;}.ant-picker-dropdown .ant-picker-year-panel .ant-picker-body,.ant-picker-dropdown .ant-picker-quarter-panel .ant-picker-body,.ant-picker-dropdown .ant-picker-month-panel .ant-picker-body{padding:0 8px;}.ant-picker-dropdown .ant-picker-year-panel .ant-picker-cell-inner,.ant-picker-dropdown .ant-picker-quarter-panel .ant-picker-cell-inner,.ant-picker-dropdown .ant-picker-month-panel .ant-picker-cell-inner{width:60px;}.ant-picker-dropdown .ant-picker-year-panel .ant-picker-cell-range-hover-start::after,.ant-picker-dropdown .ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after,.ant-picker-dropdown .ant-picker-month-panel .ant-picker-cell-range-hover-start::after{inset-inline-start:16px;border-inline-start:1px dashed #06d306;border-start-start-radius:4px;border-bottom-start-radius:4px;border-start-end-radius:0;border-bottom-end-radius:0;}.ant-picker-panel-rtl .ant-picker-dropdown .ant-picker-year-panel .ant-picker-cell-range-hover-start::after,.ant-picker-panel-rtl .ant-picker-dropdown .ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after,.ant-picker-panel-rtl .ant-picker-dropdown .ant-picker-month-panel .ant-picker-cell-range-hover-start::after{inset-inline-end:16px;border-inline-end:1px dashed #06d306;border-start-start-radius:0;border-bottom-start-radius:0;border-start-end-radius:4px;border-bottom-end-radius:4px;}.ant-picker-dropdown .ant-picker-year-panel .ant-picker-cell-range-hover-end::after,.ant-picker-dropdown .ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after,.ant-picker-dropdown .ant-picker-month-panel .ant-picker-cell-range-hover-end::after{inset-inline-end:16px;border-inline-end:1px dashed #06d306;border-start-start-radius:0;border-end-start-radius:0;border-start-end-radius:6px;border-end-end-radius:6px;}.ant-picker-panel-rtl .ant-picker-dropdown .ant-picker-year-panel .ant-picker-cell-range-hover-end::after,.ant-picker-panel-rtl .ant-picker-dropdown .ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after,.ant-picker-panel-rtl .ant-picker-dropdown .ant-picker-month-panel .ant-picker-cell-range-hover-end::after{inset-inline-start:16px;border-inline-start:1px dashed #06d306;border-start-start-radius:6px;border-end-start-radius:6px;border-start-end-radius:0;border-end-end-radius:0;}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-body{padding:8px 12px;}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell:hover .ant-picker-cell-inner,.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell-selected .ant-picker-cell-inner,.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell .ant-picker-cell-inner{background:transparent!important;}.ant-picker-dropdown .ant-picker-week-panel-row td{transition:background 0.2s;}.ant-picker-dropdown .ant-picker-week-panel-row td:first-child{border-start-start-radius:4px;border-end-start-radius:4px;}.ant-picker-dropdown .ant-picker-week-panel-row td:last-child{border-start-end-radius:4px;border-end-end-radius:4px;}.ant-picker-dropdown .ant-picker-week-panel-row:hover td{background:rgba(255, 255, 255, 0.08);}.ant-picker-dropdown .ant-picker-week-panel-row-selected td,.ant-picker-dropdown .ant-picker-week-panel-row-selected:hover td{background:#037003;}.ant-picker-dropdown .ant-picker-week-panel-row-selected td.ant-picker-cell-week,.ant-picker-dropdown .ant-picker-week-panel-row-selected:hover td.ant-picker-cell-week{color:#ffffff;}.ant-picker-dropdown .ant-picker-week-panel-row-selected td.ant-picker-cell-today .ant-picker-cell-inner::before,.ant-picker-dropdown .ant-picker-week-panel-row-selected:hover td.ant-picker-cell-today .ant-picker-cell-inner::before{border-color:#fff;}.ant-picker-dropdown .ant-picker-week-panel-row-selected td .ant-picker-cell-inner,.ant-picker-dropdown .ant-picker-week-panel-row-selected:hover td .ant-picker-cell-inner{color:#fff;}.ant-picker-dropdown .ant-picker-date-panel .ant-picker-body{padding:8px 12px;}.ant-picker-dropdown .ant-picker-date-panel .ant-picker-content{width:252px;}.ant-picker-dropdown .ant-picker-date-panel .ant-picker-content th{width:36px;}.ant-picker-dropdown .ant-picker-datetime-panel{display:flex;}.ant-picker-dropdown .ant-picker-datetime-panel .ant-picker-time-panel{border-inline-start:1px solid rgba(253, 253, 253, 0.12);}.ant-picker-dropdown .ant-picker-datetime-panel .ant-picker-date-panel,.ant-picker-dropdown .ant-picker-datetime-panel .ant-picker-time-panel{transition:opacity 0.3s;}.ant-picker-dropdown .ant-picker-datetime-panel-active .ant-picker-date-panel,.ant-picker-dropdown .ant-picker-datetime-panel-active .ant-picker-time-panel{opacity:0.3;}.ant-picker-dropdown .ant-picker-datetime-panel-active .ant-picker-date-panel-active,.ant-picker-dropdown .ant-picker-datetime-panel-active .ant-picker-time-panel-active{opacity:1;}.ant-picker-dropdown .ant-picker-time-panel{width:auto;min-width:auto;direction:ltr;}.ant-picker-dropdown .ant-picker-time-panel .ant-picker-content{display:flex;flex:auto;height:224px;}.ant-picker-dropdown .ant-picker-time-panel-column{flex:1 0 auto;width:56px;margin:4px 0;padding:0;overflow-y:hidden;text-align:start;list-style:none;transition:background 0.2s;overflow-x:hidden;}.ant-picker-dropdown .ant-picker-time-panel-column::after{display:block;height:196px;content:\\"\\";}.ant-picker-dropdown .ant-picker-time-panel-column:not(:first-child){border-inline-start:1px solid rgba(253, 253, 253, 0.12);}.ant-picker-dropdown .ant-picker-time-panel-column-active{background:#111911;}.ant-picker-dropdown .ant-picker-time-panel-column:hover{overflow-y:auto;}.ant-picker-dropdown .ant-picker-time-panel-column >li{margin:0;padding:0;}.ant-picker-dropdown .ant-picker-time-panel-column >li.ant-picker-time-panel-cell{margin-inline:4px;}.ant-picker-dropdown .ant-picker-time-panel-column >li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner{display:block;width:48px;height:28px;margin:0;padding-block:0;padding-inline-end:0;padding-inline-start:14px;color:rgba(255, 255, 255, 0.85);line-height:28px;border-radius:4px;cursor:pointer;transition:background 0.2s;}.ant-picker-dropdown .ant-picker-time-panel-column >li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner:hover{background:rgba(255, 255, 255, 0.08);}.ant-picker-dropdown .ant-picker-time-panel-column >li.ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner{background:#111911;}.ant-picker-dropdown .ant-picker-time-panel-column >li.ant-picker-time-panel-cell-disabled .ant-picker-time-panel-cell-inner{color:rgba(255, 255, 255, 0.25);background:transparent;cursor:not-allowed;}.ant-picker-dropdown .ant-picker-datetime-panel .ant-picker-time-panel-column:after{height:204px;}.ant-picker-dropdown.ant-picker-dropdown-hidden{display:none;}.ant-picker-dropdown.ant-picker-dropdown-placement-bottomLeft .ant-picker-range-arrow{top:0;display:block;transform:translateY(-100%);}.ant-picker-dropdown.ant-picker-dropdown-placement-topLeft .ant-picker-range-arrow{bottom:0;display:block;transform:translateY(100%) rotate(180deg);}.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-topLeft,.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-topRight,.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-topLeft,.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-topRight{animation-name:antSlideDownIn;}.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-bottomLeft,.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-bottomRight,.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-bottomLeft,.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-bottomRight{animation-name:antSlideUpIn;}.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-topLeft,.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-topRight{animation-name:antSlideDownOut;}.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-bottomLeft,.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-bottomRight{animation-name:antSlideUpOut;}.ant-picker-dropdown .ant-picker-panel>.ant-picker-time-panel{padding-top:4px;}.ant-picker-dropdown .ant-picker-ranges{margin-bottom:0;padding:4px 12px;overflow:hidden;line-height:34px;text-align:start;list-style:none;display:flex;justify-content:space-between;}.ant-picker-dropdown .ant-picker-ranges >li{display:inline-block;}.ant-picker-dropdown .ant-picker-ranges .ant-picker-preset>.ant-tag-blue{color:#037003;background:#111911;border-color:#0e340e;cursor:pointer;}.ant-picker-dropdown .ant-picker-ranges .ant-picker-ok{margin-inline-start:auto;}.ant-picker-dropdown .ant-picker-range-wrapper{display:flex;position:relative;}.ant-picker-dropdown .ant-picker-range-arrow{position:absolute;z-index:1;display:none;margin-inline-start:16.5px;transition:left 0.3s ease-out;pointer-events:none;width:16px;height:16px;overflow:hidden;}.ant-picker-dropdown .ant-picker-range-arrow::after{content:\\"\\";position:absolute;width:8.970562748477143px;height:8.970562748477143px;bottom:0;inset-inline:0;margin:auto;border-radius:0 0 2px 0;transform:translateY(50%) rotate(-135deg);box-shadow:3px 3px 7px rgba(0, 0, 0, 0.1);z-index:0;background:transparent;}.ant-picker-dropdown .ant-picker-range-arrow::before{position:absolute;bottom:0;inset-inline-start:0;width:16px;height:8px;background:#1f1f1f;clip-path:polygon(1.6568542494923806px 100%, 50% 1.6568542494923806px, 14.34314575050762px 100%, 1.6568542494923806px 100%);clip-path:path('M 0 8 A 4 4 0 0 0 2.82842712474619 6.82842712474619 L 6.585786437626905 3.0710678118654755 A 2 2 0 0 1 9.414213562373096 3.0710678118654755 L 13.17157287525381 6.82842712474619 A 4 4 0 0 0 16 8 Z');content:\\"\\";}.ant-picker-dropdown .ant-picker-panel-container{overflow:hidden;vertical-align:top;background:#1f1f1f;border-radius:8px;box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);transition:margin 0.3s;}.ant-picker-dropdown .ant-picker-panel-container .ant-picker-panel-layout{display:flex;flex-wrap:nowrap;align-items:stretch;}.ant-picker-dropdown .ant-picker-panel-container .ant-picker-presets{display:flex;flex-direction:column;min-width:120px;max-width:200px;}.ant-picker-dropdown .ant-picker-panel-container .ant-picker-presets ul{height:0;flex:auto;list-style:none;overflow:auto;margin:0;padding:8px;border-inline-end:1px solid rgba(253, 253, 253, 0.12);}.ant-picker-dropdown .ant-picker-panel-container .ant-picker-presets ul li{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding-inline:8px;padding-block:1px;cursor:pointer;transition:all 0.3s;}.ant-picker-dropdown .ant-picker-panel-container .ant-picker-presets ul li +li{margin-top:8px;}.ant-picker-dropdown .ant-picker-panel-container .ant-picker-presets ul li:hover{background:rgba(255, 255, 255, 0.08);}.ant-picker-dropdown .ant-picker-panel-container .ant-picker-panels{display:inline-flex;flex-wrap:nowrap;direction:ltr;}.ant-picker-dropdown .ant-picker-panel-container .ant-picker-panels .ant-picker-panel{border-width:0 0 1px;}.ant-picker-dropdown .ant-picker-panel-container .ant-picker-panels:last-child .ant-picker-panel{border-width:0;}.ant-picker-dropdown .ant-picker-panel-container .ant-picker-panel{vertical-align:top;background:transparent;border-radius:0;border-width:0;}.ant-picker-dropdown .ant-picker-panel-container .ant-picker-panel .ant-picker-content,.ant-picker-dropdown .ant-picker-panel-container .ant-picker-panel table{text-align:center;}.ant-picker-dropdown .ant-picker-panel-container .ant-picker-panel-focused{border-color:#424242;}.ant-picker-dropdown-range{padding:10.666666666666666px 0;}.ant-picker-dropdown-range-hidden{display:none;}.ant-picker-rtl{direction:rtl;}.ant-picker-rtl .ant-picker-separator{transform:rotate(180deg);}.ant-picker-rtl .ant-picker-footer-extra{direction:rtl;}.ant-slide-up-enter,.ant-slide-up-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-slide-up-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-slide-up-enter.ant-slide-up-enter-active,.ant-slide-up-appear.ant-slide-up-appear-active{animation-name:antSlideUpIn;animation-play-state:running;}.ant-slide-up-leave.ant-slide-up-leave-active{animation-name:antSlideUpOut;animation-play-state:running;pointer-events:none;}.ant-slide-up-enter,.ant-slide-up-appear{transform:scale(0);transform-origin:0% 0%;opacity:0;animation-timing-function:cubic-bezier(0.23, 1, 0.32, 1);}.ant-slide-up-leave{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);}.ant-slide-down-enter,.ant-slide-down-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-slide-down-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-slide-down-enter.ant-slide-down-enter-active,.ant-slide-down-appear.ant-slide-down-appear-active{animation-name:antSlideDownIn;animation-play-state:running;}.ant-slide-down-leave.ant-slide-down-leave-active{animation-name:antSlideDownOut;animation-play-state:running;pointer-events:none;}.ant-slide-down-enter,.ant-slide-down-appear{transform:scale(0);transform-origin:0% 0%;opacity:0;animation-timing-function:cubic-bezier(0.23, 1, 0.32, 1);}.ant-slide-down-leave{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);}.ant-move-up-enter,.ant-move-up-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-move-up-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-move-up-enter.ant-move-up-enter-active,.ant-move-up-appear.ant-move-up-appear-active{animation-name:antMoveUpIn;animation-play-state:running;}.ant-move-up-leave.ant-move-up-leave-active{animation-name:antMoveUpOut;animation-play-state:running;pointer-events:none;}.ant-move-up-enter,.ant-move-up-appear{opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}.ant-move-up-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}.ant-move-down-enter,.ant-move-down-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-move-down-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-move-down-enter.ant-move-down-enter-active,.ant-move-down-appear.ant-move-down-appear-active{animation-name:antMoveDownIn;animation-play-state:running;}.ant-move-down-leave.ant-move-down-leave-active{animation-name:antMoveDownOut;animation-play-state:running;pointer-events:none;}.ant-move-down-enter,.ant-move-down-appear{opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}.ant-move-down-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}.ant-picker-status-error.ant-picker,.ant-picker-status-error.ant-picker:not([disabled]):hover{background-color:#141414;border-color:#dc4446;}.ant-picker-status-error.ant-picker-focused,.ant-picker-status-error.ant-picker:focus{border-color:#dc4446;box-shadow:0 0 0 2px rgba(238, 38, 56, 0.11);border-inline-end-width:1px;outline:0;}.ant-picker-status-error.ant-picker .ant-picker-active-bar{background:#dc4446;}.ant-picker-status-warning.ant-picker,.ant-picker-status-warning.ant-picker:not([disabled]):hover{background-color:#141414;border-color:#d89614;}.ant-picker-status-warning.ant-picker-focused,.ant-picker-status-warning.ant-picker:focus{border-color:#d89614;box-shadow:0 0 0 2px rgba(173, 107, 0, 0.15);border-inline-end-width:1px;outline:0;}.ant-picker-status-warning.ant-picker .ant-picker-active-bar{background:#d89614;}.ant-picker-compact-item:not(.ant-picker-compact-last-item){margin-inline-end:-1px;}.ant-picker-compact-item:hover,.ant-picker-compact-item:active{z-index:2;}.ant-picker-compact-item.ant-picker-focused{z-index:2;}.ant-picker-compact-item[disabled]{z-index:0;}.ant-picker-compact-item:not(.ant-picker-compact-first-item):not(.ant-picker-compact-last-item){border-radius:0;}.ant-picker-compact-item:not(.ant-picker-compact-last-item).ant-picker-compact-first-item,.ant-picker-compact-item:not(.ant-picker-compact-last-item).ant-picker-compact-first-item.ant-picker-sm,.ant-picker-compact-item:not(.ant-picker-compact-last-item).ant-picker-compact-first-item.ant-picker-lg{border-start-end-radius:0;border-end-end-radius:0;}.ant-picker-compact-item:not(.ant-picker-compact-first-item).ant-picker-compact-last-item,.ant-picker-compact-item:not(.ant-picker-compact-first-item).ant-picker-compact-last-item.ant-picker-sm,.ant-picker-compact-item:not(.ant-picker-compact-first-item).ant-picker-compact-last-item.ant-picker-lg{border-start-start-radius:0;border-end-start-radius:0;}[class^=\\"ant-descriptions\\"],[class*=\\" ant-descriptions\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-descriptions\\"]::before,[class*=\\" ant-descriptions\\"]::before,[class^=\\"ant-descriptions\\"]::after,[class*=\\" ant-descriptions\\"]::after{box-sizing:border-box;}[class^=\\"ant-descriptions\\"] [class^=\\"ant-descriptions\\"],[class*=\\" ant-descriptions\\"] [class^=\\"ant-descriptions\\"],[class^=\\"ant-descriptions\\"] [class*=\\" ant-descriptions\\"],[class*=\\" ant-descriptions\\"] [class*=\\" ant-descriptions\\"]{box-sizing:border-box;}[class^=\\"ant-descriptions\\"] [class^=\\"ant-descriptions\\"]::before,[class*=\\" ant-descriptions\\"] [class^=\\"ant-descriptions\\"]::before,[class^=\\"ant-descriptions\\"] [class*=\\" ant-descriptions\\"]::before,[class*=\\" ant-descriptions\\"] [class*=\\" ant-descriptions\\"]::before,[class^=\\"ant-descriptions\\"] [class^=\\"ant-descriptions\\"]::after,[class*=\\" ant-descriptions\\"] [class^=\\"ant-descriptions\\"]::after,[class^=\\"ant-descriptions\\"] [class*=\\" ant-descriptions\\"]::after,[class*=\\" ant-descriptions\\"] [class*=\\" ant-descriptions\\"]::after{box-sizing:border-box;}.ant-descriptions{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';}.ant-descriptions.ant-descriptions-bordered .ant-descriptions-view{border:1px solid rgba(253, 253, 253, 0.12);}.ant-descriptions.ant-descriptions-bordered .ant-descriptions-view >table{table-layout:auto;border-collapse:collapse;}.ant-descriptions.ant-descriptions-bordered .ant-descriptions-item-label,.ant-descriptions.ant-descriptions-bordered .ant-descriptions-item-content{padding:16px 24px;border-inline-end:1px solid rgba(253, 253, 253, 0.12);}.ant-descriptions.ant-descriptions-bordered .ant-descriptions-item-label:last-child,.ant-descriptions.ant-descriptions-bordered .ant-descriptions-item-content:last-child{border-inline-end:none;}.ant-descriptions.ant-descriptions-bordered .ant-descriptions-item-label{background-color:rgba(255, 255, 255, 0.04);}.ant-descriptions.ant-descriptions-bordered .ant-descriptions-item-label::after{display:none;}.ant-descriptions.ant-descriptions-bordered .ant-descriptions-row{border-bottom:1px solid rgba(253, 253, 253, 0.12);}.ant-descriptions.ant-descriptions-bordered .ant-descriptions-row:last-child{border-bottom:none;}.ant-descriptions.ant-descriptions-bordered.ant-descriptions-middle .ant-descriptions-item-label,.ant-descriptions.ant-descriptions-bordered.ant-descriptions-middle .ant-descriptions-item-content{padding:12px 24px;}.ant-descriptions.ant-descriptions-bordered.ant-descriptions-small .ant-descriptions-item-label,.ant-descriptions.ant-descriptions-bordered.ant-descriptions-small .ant-descriptions-item-content{padding:8px 16px;}.ant-descriptions-rtl{direction:rtl;}.ant-descriptions .ant-descriptions-header{display:flex;align-items:center;margin-bottom:20px;}.ant-descriptions .ant-descriptions-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:auto;color:rgba(255, 255, 255, 0.85);font-weight:600;font-size:16px;line-height:1.5;}.ant-descriptions .ant-descriptions-extra{margin-inline-start:auto;color:rgba(255, 255, 255, 0.85);font-size:14px;}.ant-descriptions .ant-descriptions-view{width:100%;border-radius:8px;}.ant-descriptions .ant-descriptions-view table{width:100%;table-layout:fixed;}.ant-descriptions .ant-descriptions-row >th,.ant-descriptions .ant-descriptions-row >td{padding-bottom:16px;}.ant-descriptions .ant-descriptions-row:last-child{border-bottom:none;}.ant-descriptions .ant-descriptions-item-label{color:rgba(255, 255, 255, 0.85);font-weight:normal;font-size:14px;line-height:1.5714285714285714;text-align:start;}.ant-descriptions .ant-descriptions-item-label::after{content:\\":\\";position:relative;top:-0.5px;margin-inline:2px 8px;}.ant-descriptions .ant-descriptions-item-label.ant-descriptions-item-no-colon::after{content:\\"\\";}.ant-descriptions .ant-descriptions-item-no-label::after{margin:0;content:\\"\\";}.ant-descriptions .ant-descriptions-item-content{display:table-cell;flex:1;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;word-break:break-word;overflow-wrap:break-word;}.ant-descriptions .ant-descriptions-item{padding-bottom:0;vertical-align:top;}.ant-descriptions .ant-descriptions-item-container{display:flex;}.ant-descriptions .ant-descriptions-item-container .ant-descriptions-item-label{display:inline-flex;align-items:baseline;}.ant-descriptions .ant-descriptions-item-container .ant-descriptions-item-content{display:inline-flex;align-items:baseline;}.ant-descriptions-middle .ant-descriptions-row >th,.ant-descriptions-middle .ant-descriptions-row >td{padding-bottom:12px;}.ant-descriptions-small .ant-descriptions-row >th,.ant-descriptions-small .ant-descriptions-row >td{padding-bottom:8px;}[class^=\\"ant-divider\\"],[class*=\\" ant-divider\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-divider\\"]::before,[class*=\\" ant-divider\\"]::before,[class^=\\"ant-divider\\"]::after,[class*=\\" ant-divider\\"]::after{box-sizing:border-box;}[class^=\\"ant-divider\\"] [class^=\\"ant-divider\\"],[class*=\\" ant-divider\\"] [class^=\\"ant-divider\\"],[class^=\\"ant-divider\\"] [class*=\\" ant-divider\\"],[class*=\\" ant-divider\\"] [class*=\\" ant-divider\\"]{box-sizing:border-box;}[class^=\\"ant-divider\\"] [class^=\\"ant-divider\\"]::before,[class*=\\" ant-divider\\"] [class^=\\"ant-divider\\"]::before,[class^=\\"ant-divider\\"] [class*=\\" ant-divider\\"]::before,[class*=\\" ant-divider\\"] [class*=\\" ant-divider\\"]::before,[class^=\\"ant-divider\\"] [class^=\\"ant-divider\\"]::after,[class*=\\" ant-divider\\"] [class^=\\"ant-divider\\"]::after,[class^=\\"ant-divider\\"] [class*=\\" ant-divider\\"]::after,[class*=\\" ant-divider\\"] [class*=\\" ant-divider\\"]::after{box-sizing:border-box;}.ant-divider{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';border-block-start:1px solid rgba(253, 253, 253, 0.12);}.ant-divider-vertical{position:relative;top:-0.06em;display:inline-block;height:0.9em;margin:0 8px;vertical-align:middle;border-top:0;border-inline-start:1px solid rgba(253, 253, 253, 0.12);}.ant-divider-horizontal{display:flex;clear:both;width:100%;min-width:100%;margin:24px 0;}.ant-divider-horizontal.ant-divider-with-text{display:flex;align-items:center;margin:16px 0;color:rgba(255, 255, 255, 0.85);font-weight:500;font-size:16px;white-space:nowrap;text-align:center;border-block-start:0 rgba(253, 253, 253, 0.12);}.ant-divider-horizontal.ant-divider-with-text::before,.ant-divider-horizontal.ant-divider-with-text::after{position:relative;width:50%;border-block-start:1px solid transparent;border-block-start-color:inherit;border-block-end:0;transform:translateY(50%);content:'';}.ant-divider-horizontal.ant-divider-with-text-left::before{width:5%;}.ant-divider-horizontal.ant-divider-with-text-left::after{width:95%;}.ant-divider-horizontal.ant-divider-with-text-right::before{width:95%;}.ant-divider-horizontal.ant-divider-with-text-right::after{width:5%;}.ant-divider .ant-divider-inner-text{display:inline-block;padding:0 1em;}.ant-divider-dashed{background:none;border-color:rgba(253, 253, 253, 0.12);border-style:dashed;border-width:1px 0 0;}.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::before,.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::after{border-style:dashed none none;}.ant-divider-vertical.ant-divider-dashed{border-inline-start:1px;border-inline-end:0;border-block-start:0;border-block-end:0;}.ant-divider-plain.ant-divider-with-text{color:rgba(255, 255, 255, 0.85);font-weight:normal;font-size:14px;}.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-no-default-orientation-margin-left::before{width:0;}.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-no-default-orientation-margin-left::after{width:100%;}.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-no-default-orientation-margin-left .ant-divider-inner-text{padding-inline-start:0;}.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-no-default-orientation-margin-right::before{width:100%;}.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-no-default-orientation-margin-right::after{width:0;}.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-no-default-orientation-margin-right .ant-divider-inner-text{padding-inline-end:0;}[class^=\\"ant-dropdown\\"],[class*=\\" ant-dropdown\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-dropdown\\"]::before,[class*=\\" ant-dropdown\\"]::before,[class^=\\"ant-dropdown\\"]::after,[class*=\\" ant-dropdown\\"]::after{box-sizing:border-box;}[class^=\\"ant-dropdown\\"] [class^=\\"ant-dropdown\\"],[class*=\\" ant-dropdown\\"] [class^=\\"ant-dropdown\\"],[class^=\\"ant-dropdown\\"] [class*=\\" ant-dropdown\\"],[class*=\\" ant-dropdown\\"] [class*=\\" ant-dropdown\\"]{box-sizing:border-box;}[class^=\\"ant-dropdown\\"] [class^=\\"ant-dropdown\\"]::before,[class*=\\" ant-dropdown\\"] [class^=\\"ant-dropdown\\"]::before,[class^=\\"ant-dropdown\\"] [class*=\\" ant-dropdown\\"]::before,[class*=\\" ant-dropdown\\"] [class*=\\" ant-dropdown\\"]::before,[class^=\\"ant-dropdown\\"] [class^=\\"ant-dropdown\\"]::after,[class*=\\" ant-dropdown\\"] [class^=\\"ant-dropdown\\"]::after,[class^=\\"ant-dropdown\\"] [class*=\\" ant-dropdown\\"]::after,[class*=\\" ant-dropdown\\"] [class*=\\" ant-dropdown\\"]::after{box-sizing:border-box;}.ant-dropdown{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:absolute;top:-9999px;left:-9999px;z-index:1050;display:block;}.ant-dropdown::before{position:absolute;inset-block:-4px;z-index:-9999;opacity:0.0001;content:\\"\\";}.ant-dropdown .ant-dropdown-wrap{position:relative;}.ant-dropdown .ant-dropdown-wrap .ant-btn>.anticon-down{font-size:12px;}.ant-dropdown .ant-dropdown-wrap .anticon-down::before{transition:transform 0.2s;}.ant-dropdown .ant-dropdown-wrap-open .anticon-down::before{transform:rotate(180deg);}.ant-dropdown-hidden,.ant-dropdown-menu-hidden,.ant-dropdown-menu-submenu-hidden{display:none;}.ant-dropdown-show-arrow.ant-dropdown-placement-topLeft,.ant-dropdown-show-arrow.ant-dropdown-placement-top,.ant-dropdown-show-arrow.ant-dropdown-placement-topRight{padding-bottom:12px;}.ant-dropdown-show-arrow.ant-dropdown-placement-bottomLeft,.ant-dropdown-show-arrow.ant-dropdown-placement-bottom,.ant-dropdown-show-arrow.ant-dropdown-placement-bottomRight{padding-top:12px;}.ant-dropdown .ant-dropdown-arrow{position:absolute;z-index:1;display:block;pointer-events:none;width:16px;height:16px;overflow:hidden;}.ant-dropdown .ant-dropdown-arrow::after{content:\\"\\";position:absolute;width:8.970562748477143px;height:8.970562748477143px;bottom:0;inset-inline:0;margin:auto;border-radius:0 0 2px 0;transform:translateY(50%) rotate(-135deg);box-shadow:3px 3px 7px rgba(0, 0, 0, 0.1);z-index:0;background:transparent;}.ant-dropdown .ant-dropdown-arrow::before{position:absolute;bottom:0;inset-inline-start:0;width:16px;height:8px;background:#1f1f1f;clip-path:polygon(1.6568542494923806px 100%, 50% 1.6568542494923806px, 14.34314575050762px 100%, 1.6568542494923806px 100%);clip-path:path('M 0 8 A 4 4 0 0 0 2.82842712474619 6.82842712474619 L 6.585786437626905 3.0710678118654755 A 2 2 0 0 1 9.414213562373096 3.0710678118654755 L 13.17157287525381 6.82842712474619 A 4 4 0 0 0 16 8 Z');content:\\"\\";}.ant-dropdown-placement-top>.ant-dropdown-arrow,.ant-dropdown-placement-topLeft>.ant-dropdown-arrow,.ant-dropdown-placement-topRight>.ant-dropdown-arrow{bottom:12px;transform:translateY(100%) rotate(180deg);}.ant-dropdown-placement-top>.ant-dropdown-arrow{left:50%;transform:translateX(-50%) translateY(100%) rotate(180deg);}.ant-dropdown-placement-topLeft>.ant-dropdown-arrow{left:6px;}.ant-dropdown-placement-topRight>.ant-dropdown-arrow{right:6px;}.ant-dropdown-placement-bottom>.ant-dropdown-arrow,.ant-dropdown-placement-bottomLeft>.ant-dropdown-arrow,.ant-dropdown-placement-bottomRight>.ant-dropdown-arrow{top:12px;transform:translateY(-100%);}.ant-dropdown-placement-bottom>.ant-dropdown-arrow{left:50%;transform:translateY(-100%) translateX(-50%);}.ant-dropdown-placement-bottomLeft>.ant-dropdown-arrow{left:6px;}.ant-dropdown-placement-bottomRight>.ant-dropdown-arrow{right:6px;}.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomLeft,.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomLeft,.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottom,.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottom,.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomRight,.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomRight{animation-name:antSlideUpIn;}.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topLeft,.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topLeft,.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-top,.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-top,.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topRight,.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topRight{animation-name:antSlideDownIn;}.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomLeft,.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottom,.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomRight{animation-name:antSlideUpOut;}.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topLeft,.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-top,.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topRight{animation-name:antSlideDownOut;}.ant-dropdown .ant-dropdown-menu{position:relative;margin:0;}.ant-dropdown-menu-submenu-popup{position:absolute;z-index:1050;background:transparent;box-shadow:none;transform-origin:0 0;}.ant-dropdown-menu-submenu-popup ul,.ant-dropdown-menu-submenu-popup li{list-style:none;}.ant-dropdown-menu-submenu-popup ul{margin-inline:0.3em;}.ant-dropdown .ant-dropdown-menu,.ant-dropdown-menu-submenu .ant-dropdown-menu{padding:4px;list-style-type:none;background-color:#1f1f1f;background-clip:padding-box;border-radius:8px;outline:none;box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);}.ant-dropdown .ant-dropdown-menu:focus-visible,.ant-dropdown-menu-submenu .ant-dropdown-menu:focus-visible{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-group-title,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-group-title{padding:5px 12px;color:rgba(255, 255, 255, 0.45);transition:all 0.2s;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item{position:relative;display:flex;align-items:center;border-radius:4px;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-icon,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-icon{min-width:14px;margin-inline-end:8px;font-size:12px;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-title-content,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-title-content{flex:auto;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-title-content >a,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-title-content >a{color:inherit;transition:all 0.2s;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-title-content >a:hover,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-title-content >a:hover{color:inherit;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-title-content >a::after,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-title-content >a::after{position:absolute;inset:0;content:\\"\\";}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item,.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title{clear:both;margin:0;padding:5px 12px;color:rgba(255, 255, 255, 0.85);font-weight:normal;font-size:14px;line-height:1.5714285714285714;cursor:pointer;transition:all 0.2s;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item:hover,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item:hover,.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title:hover,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title:hover,.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-active,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-active,.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-active,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-active{background-color:rgba(255, 255, 255, 0.08);}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item:focus-visible,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item:focus-visible,.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title:focus-visible,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title:focus-visible{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-selected,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-selected,.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-selected,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-selected{color:#037003;background-color:#111911;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-selected:hover,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-selected:hover,.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-selected:hover,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-selected:hover,.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-selected-active,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-selected-active,.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-selected-active,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-selected-active{background-color:#0f2510;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-disabled,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-disabled,.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-disabled,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-disabled{color:rgba(255, 255, 255, 0.25);cursor:not-allowed;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-disabled:hover,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-disabled:hover,.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-disabled:hover,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-disabled:hover{color:rgba(255, 255, 255, 0.25);background-color:#1f1f1f;cursor:not-allowed;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-disabled a,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-disabled a,.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-disabled a,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-disabled a{pointer-events:none;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-divider,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-divider,.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-divider,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-divider{height:1px;margin:4px 0;overflow:hidden;line-height:0;background-color:rgba(253, 253, 253, 0.12);}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon,.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon{position:absolute;inset-inline-end:8px;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon,.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon{margin-inline-end:0!important;color:rgba(255, 255, 255, 0.45);font-size:12px;font-style:normal;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-group-list,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-group-list{margin:0 8px;padding:0;list-style:none;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title{padding-inline-end:24px;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-vertical,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-vertical{position:relative;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title,.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon{color:rgba(255, 255, 255, 0.25);background-color:#1f1f1f;cursor:not-allowed;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-selected .ant-dropdown-menu-submenu-title,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-selected .ant-dropdown-menu-submenu-title{color:#037003;}.ant-slide-up-enter,.ant-slide-up-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-slide-up-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-slide-up-enter.ant-slide-up-enter-active,.ant-slide-up-appear.ant-slide-up-appear-active{animation-name:antSlideUpIn;animation-play-state:running;}.ant-slide-up-leave.ant-slide-up-leave-active{animation-name:antSlideUpOut;animation-play-state:running;pointer-events:none;}.ant-slide-up-enter,.ant-slide-up-appear{transform:scale(0);transform-origin:0% 0%;opacity:0;animation-timing-function:cubic-bezier(0.23, 1, 0.32, 1);}.ant-slide-up-leave{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);}.ant-slide-down-enter,.ant-slide-down-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-slide-down-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-slide-down-enter.ant-slide-down-enter-active,.ant-slide-down-appear.ant-slide-down-appear-active{animation-name:antSlideDownIn;animation-play-state:running;}.ant-slide-down-leave.ant-slide-down-leave-active{animation-name:antSlideDownOut;animation-play-state:running;pointer-events:none;}.ant-slide-down-enter,.ant-slide-down-appear{transform:scale(0);transform-origin:0% 0%;opacity:0;animation-timing-function:cubic-bezier(0.23, 1, 0.32, 1);}.ant-slide-down-leave{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);}.ant-move-up-enter,.ant-move-up-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-move-up-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-move-up-enter.ant-move-up-enter-active,.ant-move-up-appear.ant-move-up-appear-active{animation-name:antMoveUpIn;animation-play-state:running;}.ant-move-up-leave.ant-move-up-leave-active{animation-name:antMoveUpOut;animation-play-state:running;pointer-events:none;}.ant-move-up-enter,.ant-move-up-appear{opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}.ant-move-up-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}.ant-move-down-enter,.ant-move-down-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-move-down-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-move-down-enter.ant-move-down-enter-active,.ant-move-down-appear.ant-move-down-appear-active{animation-name:antMoveDownIn;animation-play-state:running;}.ant-move-down-leave.ant-move-down-leave-active{animation-name:antMoveDownOut;animation-play-state:running;pointer-events:none;}.ant-move-down-enter,.ant-move-down-appear{opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}.ant-move-down-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}.ant-zoom-big-enter,.ant-zoom-big-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-zoom-big-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-zoom-big-enter.ant-zoom-big-enter-active,.ant-zoom-big-appear.ant-zoom-big-appear-active{animation-name:antZoomBigIn;animation-play-state:running;}.ant-zoom-big-leave.ant-zoom-big-leave-active{animation-name:antZoomBigOut;animation-play-state:running;pointer-events:none;}.ant-zoom-big-enter,.ant-zoom-big-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}.ant-zoom-big-enter-prepare,.ant-zoom-big-appear-prepare{transform:none;}.ant-zoom-big-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}.ant-dropdown-button{white-space:nowrap;}.ant-dropdown-button.ant-btn-group>.ant-btn-loading,.ant-dropdown-button.ant-btn-group>.ant-btn-loading+.ant-btn{cursor:default;pointer-events:none;opacity:0.65;}.ant-dropdown-button.ant-btn-group>.ant-btn:last-child:not(:first-child):not(.ant-btn-icon-only){padding-inline:8px;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item.ant-dropdown-menu-item-danger:not(.ant-dropdown-menu-item-disabled),.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item.ant-dropdown-menu-item-danger:not(.ant-dropdown-menu-item-disabled){color:#dc4446;}.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item.ant-dropdown-menu-item-danger:not(.ant-dropdown-menu-item-disabled):hover,.ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item.ant-dropdown-menu-item-danger:not(.ant-dropdown-menu-item-disabled):hover{color:#fff;background-color:#dc4446;}@keyframes antZoomBigIn{0%{transform:scale(0.8);opacity:0;}100%{transform:scale(1);opacity:1;}}@keyframes antZoomBigOut{0%{transform:scale(1);}100%{transform:scale(0.8);opacity:0;}}[class^=\\"ant-drawer\\"],[class*=\\" ant-drawer\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-drawer\\"]::before,[class*=\\" ant-drawer\\"]::before,[class^=\\"ant-drawer\\"]::after,[class*=\\" ant-drawer\\"]::after{box-sizing:border-box;}[class^=\\"ant-drawer\\"] [class^=\\"ant-drawer\\"],[class*=\\" ant-drawer\\"] [class^=\\"ant-drawer\\"],[class^=\\"ant-drawer\\"] [class*=\\" ant-drawer\\"],[class*=\\" ant-drawer\\"] [class*=\\" ant-drawer\\"]{box-sizing:border-box;}[class^=\\"ant-drawer\\"] [class^=\\"ant-drawer\\"]::before,[class*=\\" ant-drawer\\"] [class^=\\"ant-drawer\\"]::before,[class^=\\"ant-drawer\\"] [class*=\\" ant-drawer\\"]::before,[class*=\\" ant-drawer\\"] [class*=\\" ant-drawer\\"]::before,[class^=\\"ant-drawer\\"] [class^=\\"ant-drawer\\"]::after,[class*=\\" ant-drawer\\"] [class^=\\"ant-drawer\\"]::after,[class^=\\"ant-drawer\\"] [class*=\\" ant-drawer\\"]::after,[class*=\\" ant-drawer\\"] [class*=\\" ant-drawer\\"]::after{box-sizing:border-box;}.ant-drawer{position:fixed;inset:0;z-index:1000;pointer-events:none;}.ant-drawer-pure{position:relative;background:#1f1f1f;}.ant-drawer-pure.ant-drawer-left{box-shadow:6px 0 16px 0 rgba(0, 0, 0, 0.08),3px 0 6px -4px rgba(0, 0, 0, 0.12),9px 0 28px 8px rgba(0, 0, 0, 0.05);}.ant-drawer-pure.ant-drawer-right{box-shadow:-6px 0 16px 0 rgba(0, 0, 0, 0.08),-3px 0 6px -4px rgba(0, 0, 0, 0.12),-9px 0 28px 8px rgba(0, 0, 0, 0.05);}.ant-drawer-pure.ant-drawer-top{box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);}.ant-drawer-pure.ant-drawer-bottom{box-shadow:0 -6px 16px 0 rgba(0, 0, 0, 0.08),0 -3px 6px -4px rgba(0, 0, 0, 0.12),0 -9px 28px 8px rgba(0, 0, 0, 0.05);}.ant-drawer-inline{position:absolute;}.ant-drawer .ant-drawer-mask{position:absolute;inset:0;z-index:1000;background:rgba(0, 0, 0, 0.45);pointer-events:auto;}.ant-drawer .ant-drawer-content-wrapper{position:absolute;z-index:1000;transition:all 0.3s;}.ant-drawer .ant-drawer-content-wrapper-hidden{display:none;}.ant-drawer-left>.ant-drawer-content-wrapper{top:0;bottom:0;left:0;box-shadow:6px 0 16px 0 rgba(0, 0, 0, 0.08),3px 0 6px -4px rgba(0, 0, 0, 0.12),9px 0 28px 8px rgba(0, 0, 0, 0.05);}.ant-drawer-right>.ant-drawer-content-wrapper{top:0;right:0;bottom:0;box-shadow:-6px 0 16px 0 rgba(0, 0, 0, 0.08),-3px 0 6px -4px rgba(0, 0, 0, 0.12),-9px 0 28px 8px rgba(0, 0, 0, 0.05);}.ant-drawer-top>.ant-drawer-content-wrapper{top:0;inset-inline:0;box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);}.ant-drawer-bottom>.ant-drawer-content-wrapper{bottom:0;inset-inline:0;box-shadow:0 -6px 16px 0 rgba(0, 0, 0, 0.08),0 -3px 6px -4px rgba(0, 0, 0, 0.12),0 -9px 28px 8px rgba(0, 0, 0, 0.05);}.ant-drawer .ant-drawer-content{width:100%;height:100%;overflow:auto;background:#1f1f1f;pointer-events:auto;}.ant-drawer .ant-drawer-wrapper-body{display:flex;flex-direction:column;width:100%;height:100%;}.ant-drawer .ant-drawer-header{display:flex;flex:0;align-items:center;padding:16px 24px;font-size:16px;line-height:1.5;border-bottom:1px solid rgba(253, 253, 253, 0.12);}.ant-drawer .ant-drawer-header-title{display:flex;flex:1;align-items:center;min-width:0;min-height:0;}.ant-drawer .ant-drawer-extra{flex:none;}.ant-drawer .ant-drawer-close{display:inline-block;margin-inline-end:12px;color:rgba(255, 255, 255, 0.45);font-weight:600;font-size:16px;font-style:normal;line-height:1;text-align:center;text-transform:none;text-decoration:none;background:transparent;border:0;outline:0;cursor:pointer;transition:color 0.2s;text-rendering:auto;}.ant-drawer .ant-drawer-close:focus,.ant-drawer .ant-drawer-close:hover{color:rgba(255, 255, 255, 0.85);text-decoration:none;}.ant-drawer .ant-drawer-title{flex:1;margin:0;color:rgba(255, 255, 255, 0.85);font-weight:600;font-size:16px;line-height:1.5;}.ant-drawer .ant-drawer-body{flex:1;min-width:0;min-height:0;padding:24px;overflow:auto;}.ant-drawer .ant-drawer-footer{flex-shrink:0;padding:8px 16px;border-top:1px solid rgba(253, 253, 253, 0.12);}.ant-drawer-rtl{direction:rtl;}.ant-drawer .ant-drawer-mask-motion-enter-active,.ant-drawer .ant-drawer-mask-motion-appear-active,.ant-drawer .ant-drawer-mask-motion-leave-active{transition:all 0.3s;}.ant-drawer .ant-drawer-mask-motion-enter,.ant-drawer .ant-drawer-mask-motion-appear{opacity:0;}.ant-drawer .ant-drawer-mask-motion-enter-active,.ant-drawer .ant-drawer-mask-motion-appear-active{opacity:1;}.ant-drawer .ant-drawer-mask-motion-leave{opacity:1;}.ant-drawer .ant-drawer-mask-motion-leave-active{opacity:0;}.ant-drawer .ant-drawer-panel-motion-left-enter-start,.ant-drawer .ant-drawer-panel-motion-left-appear-start,.ant-drawer .ant-drawer-panel-motion-left-leave-start{transition:none;}.ant-drawer .ant-drawer-panel-motion-left-enter-active,.ant-drawer .ant-drawer-panel-motion-left-appear-active,.ant-drawer .ant-drawer-panel-motion-left-leave-active{transition:all 0.3s;}.ant-drawer .ant-drawer-panel-motion-left-enter-start,.ant-drawer .ant-drawer-panel-motion-left-appear-start{transform:translateX(-100%)!important;}.ant-drawer .ant-drawer-panel-motion-left-enter-active,.ant-drawer .ant-drawer-panel-motion-left-appear-active{transform:translateX(0);}.ant-drawer .ant-drawer-panel-motion-left-leave{transform:translateX(0);}.ant-drawer .ant-drawer-panel-motion-left-leave-active{transform:translateX(-100%);}.ant-drawer .ant-drawer-panel-motion-right-enter-start,.ant-drawer .ant-drawer-panel-motion-right-appear-start,.ant-drawer .ant-drawer-panel-motion-right-leave-start{transition:none;}.ant-drawer .ant-drawer-panel-motion-right-enter-active,.ant-drawer .ant-drawer-panel-motion-right-appear-active,.ant-drawer .ant-drawer-panel-motion-right-leave-active{transition:all 0.3s;}.ant-drawer .ant-drawer-panel-motion-right-enter-start,.ant-drawer .ant-drawer-panel-motion-right-appear-start{transform:translateX(100%)!important;}.ant-drawer .ant-drawer-panel-motion-right-enter-active,.ant-drawer .ant-drawer-panel-motion-right-appear-active{transform:translateX(0);}.ant-drawer .ant-drawer-panel-motion-right-leave{transform:translateX(0);}.ant-drawer .ant-drawer-panel-motion-right-leave-active{transform:translateX(100%);}.ant-drawer .ant-drawer-panel-motion-top-enter-start,.ant-drawer .ant-drawer-panel-motion-top-appear-start,.ant-drawer .ant-drawer-panel-motion-top-leave-start{transition:none;}.ant-drawer .ant-drawer-panel-motion-top-enter-active,.ant-drawer .ant-drawer-panel-motion-top-appear-active,.ant-drawer .ant-drawer-panel-motion-top-leave-active{transition:all 0.3s;}.ant-drawer .ant-drawer-panel-motion-top-enter-start,.ant-drawer .ant-drawer-panel-motion-top-appear-start{transform:translateY(-100%)!important;}.ant-drawer .ant-drawer-panel-motion-top-enter-active,.ant-drawer .ant-drawer-panel-motion-top-appear-active{transform:translateY(0);}.ant-drawer .ant-drawer-panel-motion-top-leave{transform:translateY(0);}.ant-drawer .ant-drawer-panel-motion-top-leave-active{transform:translateY(-100%);}.ant-drawer .ant-drawer-panel-motion-bottom-enter-start,.ant-drawer .ant-drawer-panel-motion-bottom-appear-start,.ant-drawer .ant-drawer-panel-motion-bottom-leave-start{transition:none;}.ant-drawer .ant-drawer-panel-motion-bottom-enter-active,.ant-drawer .ant-drawer-panel-motion-bottom-appear-active,.ant-drawer .ant-drawer-panel-motion-bottom-leave-active{transition:all 0.3s;}.ant-drawer .ant-drawer-panel-motion-bottom-enter-start,.ant-drawer .ant-drawer-panel-motion-bottom-appear-start{transform:translateY(100%)!important;}.ant-drawer .ant-drawer-panel-motion-bottom-enter-active,.ant-drawer .ant-drawer-panel-motion-bottom-appear-active{transform:translateY(0);}.ant-drawer .ant-drawer-panel-motion-bottom-leave{transform:translateY(0);}.ant-drawer .ant-drawer-panel-motion-bottom-leave-active{transform:translateY(100%);}[class^=\\"ant-empty\\"],[class*=\\" ant-empty\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-empty\\"]::before,[class*=\\" ant-empty\\"]::before,[class^=\\"ant-empty\\"]::after,[class*=\\" ant-empty\\"]::after{box-sizing:border-box;}[class^=\\"ant-empty\\"] [class^=\\"ant-empty\\"],[class*=\\" ant-empty\\"] [class^=\\"ant-empty\\"],[class^=\\"ant-empty\\"] [class*=\\" ant-empty\\"],[class*=\\" ant-empty\\"] [class*=\\" ant-empty\\"]{box-sizing:border-box;}[class^=\\"ant-empty\\"] [class^=\\"ant-empty\\"]::before,[class*=\\" ant-empty\\"] [class^=\\"ant-empty\\"]::before,[class^=\\"ant-empty\\"] [class*=\\" ant-empty\\"]::before,[class*=\\" ant-empty\\"] [class*=\\" ant-empty\\"]::before,[class^=\\"ant-empty\\"] [class^=\\"ant-empty\\"]::after,[class*=\\" ant-empty\\"] [class^=\\"ant-empty\\"]::after,[class^=\\"ant-empty\\"] [class*=\\" ant-empty\\"]::after,[class*=\\" ant-empty\\"] [class*=\\" ant-empty\\"]::after{box-sizing:border-box;}.ant-empty{margin-inline:8px;font-size:14px;line-height:1.5714285714285714;text-align:center;}.ant-empty .ant-empty-image{height:100px;margin-bottom:8px;opacity:1;}.ant-empty .ant-empty-image img{height:100%;}.ant-empty .ant-empty-image svg{height:100%;margin:auto;}.ant-empty .ant-empty-footer{margin-top:16px;}.ant-empty-normal{margin-block:32px;color:rgba(255, 255, 255, 0.25);}.ant-empty-normal .ant-empty-image{height:40px;}.ant-empty-small{margin-block:8px;color:rgba(255, 255, 255, 0.25);}.ant-empty-small .ant-empty-image{height:35px;}[class^=\\"ant-float-btn\\"],[class*=\\" ant-float-btn\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-float-btn\\"]::before,[class*=\\" ant-float-btn\\"]::before,[class^=\\"ant-float-btn\\"]::after,[class*=\\" ant-float-btn\\"]::after{box-sizing:border-box;}[class^=\\"ant-float-btn\\"] [class^=\\"ant-float-btn\\"],[class*=\\" ant-float-btn\\"] [class^=\\"ant-float-btn\\"],[class^=\\"ant-float-btn\\"] [class*=\\" ant-float-btn\\"],[class*=\\" ant-float-btn\\"] [class*=\\" ant-float-btn\\"]{box-sizing:border-box;}[class^=\\"ant-float-btn\\"] [class^=\\"ant-float-btn\\"]::before,[class*=\\" ant-float-btn\\"] [class^=\\"ant-float-btn\\"]::before,[class^=\\"ant-float-btn\\"] [class*=\\" ant-float-btn\\"]::before,[class*=\\" ant-float-btn\\"] [class*=\\" ant-float-btn\\"]::before,[class^=\\"ant-float-btn\\"] [class^=\\"ant-float-btn\\"]::after,[class*=\\" ant-float-btn\\"] [class^=\\"ant-float-btn\\"]::after,[class^=\\"ant-float-btn\\"] [class*=\\" ant-float-btn\\"]::after,[class*=\\" ant-float-btn\\"] [class*=\\" ant-float-btn\\"]::after{box-sizing:border-box;}.ant-float-btn-group{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';z-index:99;display:block;border:none;position:fixed;width:40px;height:auto;box-shadow:none;min-height:40px;inset-inline-end:24px;inset-block-end:48px;border-radius:8px;}.ant-float-btn-group .ant-float-btn-group-wrap{z-index:-1;display:block;position:relative;margin-bottom:16px;}.ant-float-btn-group.ant-float-btn-group-rtl{direction:rtl;}.ant-float-btn-group .ant-float-btn{position:static;}.ant-float-btn-group-circle .ant-float-btn-circle:not(:last-child){margin-bottom:16px;}.ant-float-btn-group-circle .ant-float-btn-circle:not(:last-child) .ant-float-btn-body{width:40px;height:40px;border-radius:50%;}.ant-float-btn-group-square .ant-float-btn-square{border-radius:0;padding:0;}.ant-float-btn-group-square .ant-float-btn-square:first-child{border-start-start-radius:8px;border-start-end-radius:8px;}.ant-float-btn-group-square .ant-float-btn-square:last-child{border-end-start-radius:8px;border-end-end-radius:8px;}.ant-float-btn-group-square .ant-float-btn-square:not(:last-child){border-bottom:1px solid rgba(253, 253, 253, 0.12);}.ant-float-btn-group-square .ant-float-btn-square .ant-badge .ant-badge-count{top:-10px;inset-inline-end:-10px;}.ant-float-btn-group-square .ant-float-btn-group-wrap{display:block;border-radius:8px;box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);}.ant-float-btn-group-square .ant-float-btn-group-wrap .ant-float-btn-square{box-shadow:none;margin-top:0;border-radius:0;padding:4px;}.ant-float-btn-group-square .ant-float-btn-group-wrap .ant-float-btn-square:first-child{border-start-start-radius:8px;border-start-end-radius:8px;}.ant-float-btn-group-square .ant-float-btn-group-wrap .ant-float-btn-square:last-child{border-end-start-radius:8px;border-end-end-radius:8px;}.ant-float-btn-group-square .ant-float-btn-group-wrap .ant-float-btn-square:not(:last-child){border-bottom:1px solid rgba(253, 253, 253, 0.12);}.ant-float-btn-group-square .ant-float-btn-group-wrap .ant-float-btn-square .ant-float-btn-body{width:32px;height:32px;}.ant-float-btn-group-circle-shadow{box-shadow:none;}.ant-float-btn-group-square-shadow{box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);}.ant-float-btn-group-square-shadow .ant-float-btn-square{box-shadow:none;padding:4px;}.ant-float-btn-group-square-shadow .ant-float-btn-square .ant-float-btn-body{width:32px;height:32px;border-radius:4px;}.ant-float-btn{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';border:none;position:fixed;cursor:pointer;z-index:99;display:block;justify-content:center;align-items:center;width:40px;height:40px;inset-inline-end:24px;inset-block-end:48px;box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);}.ant-float-btn-pure{position:relative;inset:auto;}.ant-float-btn:empty{display:none;}.ant-float-btn .ant-badge{width:100%;height:100%;}.ant-float-btn .ant-badge .ant-badge-count{transform:translate(0, 0);transform-origin:center;top:-6px;inset-inline-end:-6px;}.ant-float-btn .ant-float-btn-body{width:100%;height:100%;display:flex;justify-content:center;align-items:center;transition:all 0.2s;}.ant-float-btn .ant-float-btn-body .ant-float-btn-content{overflow:hidden;text-align:center;min-height:40px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2px 4px;}.ant-float-btn .ant-float-btn-body .ant-float-btn-content .ant-float-btn-icon{text-align:center;margin:auto;width:18px;font-size:18px;line-height:1;}.ant-float-btn-rtl{direction:rtl;}.ant-float-btn-circle{height:40px;border-radius:50%;}.ant-float-btn-circle .ant-badge .ant-badge-dot{top:5.857864376269049px;inset-inline-end:5.857864376269049px;}.ant-float-btn-circle .ant-float-btn-body{border-radius:50%;}.ant-float-btn-square{height:auto;min-height:40px;border-radius:8px;}.ant-float-btn-square .ant-badge .ant-badge-dot{top:2.3431457505076194px;inset-inline-end:2.3431457505076194px;}.ant-float-btn-square .ant-float-btn-body{height:auto;border-radius:8px;}.ant-float-btn-default{background-color:#1f1f1f;transition:background-color 0.2s;}.ant-float-btn-default .ant-float-btn-body{background-color:#1f1f1f;transition:background-color 0.2s;}.ant-float-btn-default .ant-float-btn-body:hover{background-color:rgba(255, 255, 255, 0.12);}.ant-float-btn-default .ant-float-btn-body .ant-float-btn-content .ant-float-btn-icon{color:rgba(255, 255, 255, 0.85);}.ant-float-btn-default .ant-float-btn-body .ant-float-btn-content .ant-float-btn-description{display:flex;align-items:center;line-height:16px;color:rgba(255, 255, 255, 0.85);font-size:12px;}.ant-float-btn-primary{background-color:#037003;}.ant-float-btn-primary .ant-float-btn-body{background-color:#037003;transition:background-color 0.2s;}.ant-float-btn-primary .ant-float-btn-body:hover{background-color:#198016;}.ant-float-btn-primary .ant-float-btn-body .ant-float-btn-content .ant-float-btn-icon{color:#fff;}.ant-float-btn-primary .ant-float-btn-body .ant-float-btn-content .ant-float-btn-description{display:flex;align-items:center;line-height:16px;color:#fff;font-size:12px;}.ant-fade-enter,.ant-fade-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-fade-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-fade-enter.ant-fade-enter-active,.ant-fade-appear.ant-fade-appear-active{animation-name:antFadeIn;animation-play-state:running;}.ant-fade-leave.ant-fade-leave-active{animation-name:antFadeOut;animation-play-state:running;pointer-events:none;}.ant-fade-enter,.ant-fade-appear{opacity:0;animation-timing-function:linear;}.ant-fade-leave{animation-timing-function:linear;}.ant-float-btn-group-wrap.ant-float-btn-group-wrap-enter,.ant-float-btn-group-wrap.ant-float-btn-group-wrap-appear{animation-duration:0.3s;animation-fill-mode:both;animation-play-state:paused;}.ant-float-btn-group-wrap.ant-float-btn-group-wrap-leave{animation-duration:0.3s;animation-fill-mode:both;animation-play-state:paused;}.ant-float-btn-group-wrap.ant-float-btn-group-wrap-enter.ant-float-btn-group-wrap-enter-active,.ant-float-btn-group-wrap.ant-float-btn-group-wrap-appear.ant-float-btn-group-wrap-appear-active{animation-name:antFloatButtonMoveDownIn;animation-play-state:running;}.ant-float-btn-group-wrap.ant-float-btn-group-wrap-leave.ant-float-btn-group-wrap-leave-active{animation-name:antFloatButtonMoveDownOut;animation-play-state:running;pointer-events:none;}.ant-float-btn-group-wrap.ant-float-btn-group-wrap-enter,.ant-float-btn-group-wrap.ant-float-btn-group-wrap-appear{opacity:0;animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}.ant-float-btn-group-wrap.ant-float-btn-group-wrap-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}@keyframes antFadeIn{0%{opacity:0;}100%{opacity:1;}}@keyframes antFadeOut{0%{opacity:1;}100%{opacity:0;}}@keyframes antFloatButtonMoveDownIn{0%{transform:translate3d(0, 40px, 0);transform-origin:0 0;opacity:0;}100%{transform:translate3d(0, 0, 0);transform-origin:0 0;opacity:1;}}@keyframes antFloatButtonMoveDownOut{0%{transform:translate3d(0, 0, 0);transform-origin:0 0;opacity:1;}100%{transform:translate3d(0, 40px, 0);transform-origin:0 0;opacity:0;}}[class^=\\"ant-tooltip\\"],[class*=\\" ant-tooltip\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-tooltip\\"]::before,[class*=\\" ant-tooltip\\"]::before,[class^=\\"ant-tooltip\\"]::after,[class*=\\" ant-tooltip\\"]::after{box-sizing:border-box;}[class^=\\"ant-tooltip\\"] [class^=\\"ant-tooltip\\"],[class*=\\" ant-tooltip\\"] [class^=\\"ant-tooltip\\"],[class^=\\"ant-tooltip\\"] [class*=\\" ant-tooltip\\"],[class*=\\" ant-tooltip\\"] [class*=\\" ant-tooltip\\"]{box-sizing:border-box;}[class^=\\"ant-tooltip\\"] [class^=\\"ant-tooltip\\"]::before,[class*=\\" ant-tooltip\\"] [class^=\\"ant-tooltip\\"]::before,[class^=\\"ant-tooltip\\"] [class*=\\" ant-tooltip\\"]::before,[class*=\\" ant-tooltip\\"] [class*=\\" ant-tooltip\\"]::before,[class^=\\"ant-tooltip\\"] [class^=\\"ant-tooltip\\"]::after,[class*=\\" ant-tooltip\\"] [class^=\\"ant-tooltip\\"]::after,[class^=\\"ant-tooltip\\"] [class*=\\" ant-tooltip\\"]::after,[class*=\\" ant-tooltip\\"] [class*=\\" ant-tooltip\\"]::after{box-sizing:border-box;}.ant-tooltip{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:absolute;z-index:1070;display:block;max-width:250px;visibility:visible;--antd-arrow-background-color:#424242;}.ant-tooltip{width:max-content;width:intrinsic;}.ant-tooltip-hidden{display:none;}.ant-tooltip .ant-tooltip-inner{min-width:32px;min-height:32px;padding:6px 8px;color:#fff;text-align:start;text-decoration:none;word-wrap:break-word;background-color:#424242;border-radius:6px;box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);}.ant-tooltip-placement-left .ant-tooltip-inner,.ant-tooltip-placement-leftTop .ant-tooltip-inner,.ant-tooltip-placement-leftBottom .ant-tooltip-inner,.ant-tooltip-placement-right .ant-tooltip-inner,.ant-tooltip-placement-rightTop .ant-tooltip-inner,.ant-tooltip-placement-rightBottom .ant-tooltip-inner{border-radius:6px;}.ant-tooltip .ant-tooltip-content{position:relative;}.ant-tooltip.ant-tooltip-blue .ant-tooltip-inner{background-color:#1668dc;}.ant-tooltip.ant-tooltip-blue .ant-tooltip-arrow{--antd-arrow-background-color:#1668dc;}.ant-tooltip.ant-tooltip-purple .ant-tooltip-inner{background-color:#642ab5;}.ant-tooltip.ant-tooltip-purple .ant-tooltip-arrow{--antd-arrow-background-color:#642ab5;}.ant-tooltip.ant-tooltip-cyan .ant-tooltip-inner{background-color:#13a8a8;}.ant-tooltip.ant-tooltip-cyan .ant-tooltip-arrow{--antd-arrow-background-color:#13a8a8;}.ant-tooltip.ant-tooltip-green .ant-tooltip-inner{background-color:#49aa19;}.ant-tooltip.ant-tooltip-green .ant-tooltip-arrow{--antd-arrow-background-color:#49aa19;}.ant-tooltip.ant-tooltip-magenta .ant-tooltip-inner{background-color:#cb2b83;}.ant-tooltip.ant-tooltip-magenta .ant-tooltip-arrow{--antd-arrow-background-color:#cb2b83;}.ant-tooltip.ant-tooltip-pink .ant-tooltip-inner{background-color:#cb2b83;}.ant-tooltip.ant-tooltip-pink .ant-tooltip-arrow{--antd-arrow-background-color:#cb2b83;}.ant-tooltip.ant-tooltip-red .ant-tooltip-inner{background-color:#d32029;}.ant-tooltip.ant-tooltip-red .ant-tooltip-arrow{--antd-arrow-background-color:#d32029;}.ant-tooltip.ant-tooltip-orange .ant-tooltip-inner{background-color:#d87a16;}.ant-tooltip.ant-tooltip-orange .ant-tooltip-arrow{--antd-arrow-background-color:#d87a16;}.ant-tooltip.ant-tooltip-yellow .ant-tooltip-inner{background-color:#d8bd14;}.ant-tooltip.ant-tooltip-yellow .ant-tooltip-arrow{--antd-arrow-background-color:#d8bd14;}.ant-tooltip.ant-tooltip-volcano .ant-tooltip-inner{background-color:#d84a1b;}.ant-tooltip.ant-tooltip-volcano .ant-tooltip-arrow{--antd-arrow-background-color:#d84a1b;}.ant-tooltip.ant-tooltip-geekblue .ant-tooltip-inner{background-color:#2b4acb;}.ant-tooltip.ant-tooltip-geekblue .ant-tooltip-arrow{--antd-arrow-background-color:#2b4acb;}.ant-tooltip.ant-tooltip-lime .ant-tooltip-inner{background-color:#8bbb11;}.ant-tooltip.ant-tooltip-lime .ant-tooltip-arrow{--antd-arrow-background-color:#8bbb11;}.ant-tooltip.ant-tooltip-gold .ant-tooltip-inner{background-color:#d89614;}.ant-tooltip.ant-tooltip-gold .ant-tooltip-arrow{--antd-arrow-background-color:#d89614;}.ant-tooltip-rtl{direction:rtl;}.ant-tooltip .ant-tooltip-arrow{position:absolute;z-index:1;display:block;pointer-events:none;width:16px;height:16px;overflow:hidden;}.ant-tooltip .ant-tooltip-arrow::after{content:\\"\\";position:absolute;width:8.970562748477143px;height:8.970562748477143px;bottom:0;inset-inline:0;margin:auto;border-radius:0 0 2px 0;transform:translateY(50%) rotate(-135deg);box-shadow:3px 3px 7px rgba(0, 0, 0, 0.1);z-index:0;background:transparent;}.ant-tooltip .ant-tooltip-arrow::before{position:absolute;bottom:0;inset-inline-start:0;width:16px;height:8px;background:var(--antd-arrow-background-color);clip-path:polygon(1.6568542494923806px 100%, 50% 1.6568542494923806px, 14.34314575050762px 100%, 1.6568542494923806px 100%);clip-path:path('M 0 8 A 4 4 0 0 0 2.82842712474619 6.82842712474619 L 6.585786437626905 3.0710678118654755 A 2 2 0 0 1 9.414213562373096 3.0710678118654755 L 13.17157287525381 6.82842712474619 A 4 4 0 0 0 16 8 Z');content:\\"\\";}.ant-tooltip .ant-tooltip-arrow:before{background:var(--antd-arrow-background-color);}.ant-tooltip-placement-top .ant-tooltip-arrow,.ant-tooltip-placement-topLeft .ant-tooltip-arrow,.ant-tooltip-placement-topRight .ant-tooltip-arrow{bottom:0;transform:translateY(100%) rotate(180deg);}.ant-tooltip-placement-top .ant-tooltip-arrow{left:50%;transform:translateX(-50%) translateY(100%) rotate(180deg);}.ant-tooltip-placement-topLeft .ant-tooltip-arrow{left:6px;}.ant-tooltip-placement-topRight .ant-tooltip-arrow{right:6px;}.ant-tooltip-placement-bottom .ant-tooltip-arrow,.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow,.ant-tooltip-placement-bottomRight .ant-tooltip-arrow{top:0;transform:translateY(-100%);}.ant-tooltip-placement-bottom .ant-tooltip-arrow{left:50%;transform:translateX(-50%) translateY(-100%);}.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow{left:6px;}.ant-tooltip-placement-bottomRight .ant-tooltip-arrow{right:6px;}.ant-tooltip-placement-left .ant-tooltip-arrow,.ant-tooltip-placement-leftTop .ant-tooltip-arrow,.ant-tooltip-placement-leftBottom .ant-tooltip-arrow{right:0;transform:translateX(100%) rotate(90deg);}.ant-tooltip-placement-left .ant-tooltip-arrow{top:50%;transform:translateY(-50%) translateX(100%) rotate(90deg);}.ant-tooltip-placement-leftTop .ant-tooltip-arrow{top:2px;}.ant-tooltip-placement-leftBottom .ant-tooltip-arrow{bottom:2px;}.ant-tooltip-placement-right .ant-tooltip-arrow,.ant-tooltip-placement-rightTop .ant-tooltip-arrow,.ant-tooltip-placement-rightBottom .ant-tooltip-arrow{left:0;transform:translateX(-100%) rotate(-90deg);}.ant-tooltip-placement-right .ant-tooltip-arrow{top:50%;transform:translateY(-50%) translateX(-100%) rotate(-90deg);}.ant-tooltip-placement-rightTop .ant-tooltip-arrow{top:2px;}.ant-tooltip-placement-rightBottom .ant-tooltip-arrow{bottom:2px;}.ant-tooltip-placement-topLeft,.ant-tooltip-placement-top,.ant-tooltip-placement-topRight{padding-bottom:12px;}.ant-tooltip-placement-bottomLeft,.ant-tooltip-placement-bottom,.ant-tooltip-placement-bottomRight{padding-top:12px;}.ant-tooltip-placement-leftTop,.ant-tooltip-placement-left,.ant-tooltip-placement-leftBottom{padding-right:12px;}.ant-tooltip-placement-rightTop,.ant-tooltip-placement-right,.ant-tooltip-placement-rightBottom{padding-left:12px;}.ant-tooltip-pure{position:relative;max-width:none;}.ant-zoom-big-fast-enter,.ant-zoom-big-fast-appear{animation-duration:0.1s;animation-fill-mode:both;animation-play-state:paused;}.ant-zoom-big-fast-leave{animation-duration:0.1s;animation-fill-mode:both;animation-play-state:paused;}.ant-zoom-big-fast-enter.ant-zoom-big-fast-enter-active,.ant-zoom-big-fast-appear.ant-zoom-big-fast-appear-active{animation-name:antZoomBigIn;animation-play-state:running;}.ant-zoom-big-fast-leave.ant-zoom-big-fast-leave-active{animation-name:antZoomBigOut;animation-play-state:running;pointer-events:none;}.ant-zoom-big-fast-enter,.ant-zoom-big-fast-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}.ant-zoom-big-fast-enter-prepare,.ant-zoom-big-fast-appear-prepare{transform:none;}.ant-zoom-big-fast-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}[class^=\\"ant-form\\"],[class*=\\" ant-form\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-form\\"]::before,[class*=\\" ant-form\\"]::before,[class^=\\"ant-form\\"]::after,[class*=\\" ant-form\\"]::after{box-sizing:border-box;}[class^=\\"ant-form\\"] [class^=\\"ant-form\\"],[class*=\\" ant-form\\"] [class^=\\"ant-form\\"],[class^=\\"ant-form\\"] [class*=\\" ant-form\\"],[class*=\\" ant-form\\"] [class*=\\" ant-form\\"]{box-sizing:border-box;}[class^=\\"ant-form\\"] [class^=\\"ant-form\\"]::before,[class*=\\" ant-form\\"] [class^=\\"ant-form\\"]::before,[class^=\\"ant-form\\"] [class*=\\" ant-form\\"]::before,[class*=\\" ant-form\\"] [class*=\\" ant-form\\"]::before,[class^=\\"ant-form\\"] [class^=\\"ant-form\\"]::after,[class*=\\" ant-form\\"] [class^=\\"ant-form\\"]::after,[class^=\\"ant-form\\"] [class*=\\" ant-form\\"]::after,[class*=\\" ant-form\\"] [class*=\\" ant-form\\"]::after{box-sizing:border-box;}.ant-form{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';}.ant-form legend{display:block;width:100%;margin-bottom:24px;padding:0;color:rgba(255, 255, 255, 0.45);font-size:16px;line-height:inherit;border:0;border-bottom:1px solid #424242;}.ant-form label{font-size:14px;}.ant-form input[type=\\"search\\"]{box-sizing:border-box;}.ant-form input[type=\\"radio\\"],.ant-form input[type=\\"checkbox\\"]{line-height:normal;}.ant-form input[type=\\"file\\"]{display:block;}.ant-form input[type=\\"range\\"]{display:block;width:100%;}.ant-form select[multiple],.ant-form select[size]{height:auto;}.ant-form input[type='file']:focus,.ant-form input[type='radio']:focus,.ant-form input[type='checkbox']:focus{outline:0;box-shadow:0 0 0 2px rgba(0, 53, 0, 0.15);}.ant-form output{display:block;padding-top:15px;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;}.ant-form .ant-form-text{display:inline-block;padding-inline-end:12px;}.ant-form-small .ant-form-item .ant-form-item-label>label{height:24px;}.ant-form-small .ant-form-item .ant-form-item-control-input{min-height:24px;}.ant-form-large .ant-form-item .ant-form-item-label>label{height:40px;}.ant-form-large .ant-form-item .ant-form-item-control-input{min-height:40px;}.ant-form-item{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';margin-bottom:24px;vertical-align:top;}.ant-form-item-with-help{transition:none;}.ant-form-item-hidden,.ant-form-item-hidden.ant-row{display:none;}.ant-form-item-has-warning .ant-form-item-split{color:#dc4446;}.ant-form-item-has-error .ant-form-item-split{color:#d89614;}.ant-form-item .ant-form-item-label{display:inline-block;flex-grow:0;overflow:hidden;white-space:nowrap;text-align:end;vertical-align:middle;}.ant-form-item .ant-form-item-label-left{text-align:start;}.ant-form-item .ant-form-item-label-wrap{overflow:unset;line-height:1.5714285714285714 - 0.25em;white-space:unset;}.ant-form-item .ant-form-item-label >label{position:relative;display:inline-flex;align-items:center;max-width:100%;height:32px;color:rgba(255, 255, 255, 0.85);font-size:14px;}.ant-form-item .ant-form-item-label >label >.anticon{font-size:14px;vertical-align:top;}.ant-form-item .ant-form-item-label >label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before{display:inline-block;margin-inline-end:4px;color:#dc4446;font-size:14px;font-family:SimSun,sans-serif;line-height:1;content:\\"*\\";}.ant-form-hide-required-mark .ant-form-item .ant-form-item-label >label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before{display:none;}.ant-form-item .ant-form-item-label >label .ant-form-item-optional{display:inline-block;margin-inline-start:4px;color:rgba(255, 255, 255, 0.45);}.ant-form-hide-required-mark .ant-form-item .ant-form-item-label >label .ant-form-item-optional{display:none;}.ant-form-item .ant-form-item-label >label .ant-form-item-tooltip{color:rgba(255, 255, 255, 0.45);cursor:help;writing-mode:horizontal-tb;margin-inline-start:4px;}.ant-form-item .ant-form-item-label >label::after{content:\\":\\";position:relative;margin-block:0;margin-inline-start:2px;margin-inline-end:8px;}.ant-form-item .ant-form-item-label >label.ant-form-item-no-colon::after{content:\\" \\";}.ant-form-item .ant-form-item-control{display:flex;flex-direction:column;flex-grow:1;}.ant-form-item .ant-form-item-control:first-child:not([class^=\\"'ant-col-'\\"]):not([class*=\\"' ant-col-'\\"]){width:100%;}.ant-form-item .ant-form-item-control-input{position:relative;display:flex;align-items:center;min-height:32px;}.ant-form-item .ant-form-item-control-input-content{flex:auto;max-width:100%;}.ant-form-item .ant-form-item-explain,.ant-form-item .ant-form-item-extra{clear:both;color:rgba(255, 255, 255, 0.45);font-size:14px;line-height:1.5714285714285714;}.ant-form-item .ant-form-item-explain-connected{width:100%;}.ant-form-item .ant-form-item-extra{min-height:24px;transition:color 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);}.ant-form-item .ant-form-item-explain-error{color:#dc4446;}.ant-form-item .ant-form-item-explain-warning{color:#d89614;}.ant-form-item-with-help .ant-form-item-explain{height:auto;opacity:1;}.ant-form-item .ant-form-item-feedback-icon{font-size:14px;text-align:center;visibility:visible;animation-name:antZoomIn;animation-duration:0.2s;animation-timing-function:cubic-bezier(0.12, 0.4, 0.29, 1.46);pointer-events:none;}.ant-form-item .ant-form-item-feedback-icon-success{color:#49aa19;}.ant-form-item .ant-form-item-feedback-icon-error{color:#dc4446;}.ant-form-item .ant-form-item-feedback-icon-warning{color:#d89614;}.ant-form-item .ant-form-item-feedback-icon-validating{color:#037003;}.ant-form-show-help{transition:opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);}.ant-form-show-help-appear,.ant-form-show-help-enter{opacity:0;}.ant-form-show-help-appear-active,.ant-form-show-help-enter-active{opacity:1;}.ant-form-show-help-leave{opacity:1;}.ant-form-show-help-leave-active{opacity:0;}.ant-form-show-help .ant-form-show-help-item{overflow:hidden;transition:height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1)!important;}.ant-form-show-help .ant-form-show-help-item.ant-form-show-help-item-appear,.ant-form-show-help .ant-form-show-help-item.ant-form-show-help-item-enter{transform:translateY(-5px);opacity:0;}.ant-form-show-help .ant-form-show-help-item.ant-form-show-help-item-appear-active,.ant-form-show-help .ant-form-show-help-item.ant-form-show-help-item-enter-active{transform:translateY(0);opacity:1;}.ant-form-show-help .ant-form-show-help-item.ant-form-show-help-item-leave-active{transform:translateY(-5px);}.ant-form-horizontal .ant-form-item-label{flex-grow:0;}.ant-form-horizontal .ant-form-item-control{flex:1 1 0;min-width:0;}.ant-form-horizontal .ant-form-item-label.ant-col-24+.ant-form-item-control{min-width:unset;}.ant-form-inline{display:flex;flex-wrap:wrap;}.ant-form-inline .ant-form-item{flex:none;flex-wrap:nowrap;margin-inline-end:16px;margin-bottom:0;}.ant-form-inline .ant-form-item-with-help{margin-bottom:24px;}.ant-form-inline .ant-form-item >.ant-form-item-label,.ant-form-inline .ant-form-item >.ant-form-item-control{display:inline-block;vertical-align:top;}.ant-form-inline .ant-form-item >.ant-form-item-label{flex:none;}.ant-form-inline .ant-form-item .ant-form-text{display:inline-block;}.ant-form-inline .ant-form-item .ant-form-item-has-feedback{display:inline-block;}.ant-form-vertical .ant-form-item-row{flex-direction:column;}.ant-form-vertical .ant-form-item-label>label{height:auto;}.ant-form-vertical .ant-form-item .ant-form-item-control{width:100%;}.ant-form-vertical .ant-form-item-label,.ant-col-24.ant-form-item-label,.ant-col-xl-24.ant-form-item-label{margin:0;padding:0 0 8px;white-space:initial;text-align:start;}.ant-form-vertical .ant-form-item-label >label,.ant-col-24.ant-form-item-label >label,.ant-col-xl-24.ant-form-item-label >label{margin:0;}.ant-form-vertical .ant-form-item-label >label::after,.ant-col-24.ant-form-item-label >label::after,.ant-col-xl-24.ant-form-item-label >label::after{display:none;}@media (max-width: 575px){.ant-form-item .ant-form-item-label{margin:0;padding:0 0 8px;white-space:initial;text-align:start;}.ant-form-item .ant-form-item-label >label{margin:0;}.ant-form-item .ant-form-item-label >label::after{display:none;}.ant-form .ant-form-item{flex-wrap:wrap;}.ant-form .ant-form-item .ant-form-item-label,.ant-form .ant-form-item .ant-form-item-control{flex:0 0 100%;max-width:100%;}.ant-form .ant-col-xs-24.ant-form-item-label{margin:0;padding:0 0 8px;white-space:initial;text-align:start;}.ant-form .ant-col-xs-24.ant-form-item-label >label{margin:0;}.ant-form .ant-col-xs-24.ant-form-item-label >label::after{display:none;}}@media (max-width: 767px){.ant-form .ant-col-sm-24.ant-form-item-label{margin:0;padding:0 0 8px;white-space:initial;text-align:start;}.ant-form .ant-col-sm-24.ant-form-item-label >label{margin:0;}.ant-form .ant-col-sm-24.ant-form-item-label >label::after{display:none;}}@media (max-width: 991px){.ant-form .ant-col-md-24.ant-form-item-label{margin:0;padding:0 0 8px;white-space:initial;text-align:start;}.ant-form .ant-col-md-24.ant-form-item-label >label{margin:0;}.ant-form .ant-col-md-24.ant-form-item-label >label::after{display:none;}}@media (max-width: 1199px){.ant-form .ant-col-lg-24.ant-form-item-label{margin:0;padding:0 0 8px;white-space:initial;text-align:start;}.ant-form .ant-col-lg-24.ant-form-item-label >label{margin:0;}.ant-form .ant-col-lg-24.ant-form-item-label >label::after{display:none;}}.ant-form .ant-motion-collapse-legacy{overflow:hidden;}.ant-form .ant-motion-collapse-legacy-active{transition:height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)!important;}.ant-form .ant-motion-collapse{overflow:hidden;transition:height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)!important;}@keyframes antZoomIn{0%{transform:scale(0.2);opacity:0;}100%{transform:scale(1);opacity:1;}}[class^=\\"ant-row\\"],[class*=\\" ant-row\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-row\\"]::before,[class*=\\" ant-row\\"]::before,[class^=\\"ant-row\\"]::after,[class*=\\" ant-row\\"]::after{box-sizing:border-box;}[class^=\\"ant-row\\"] [class^=\\"ant-row\\"],[class*=\\" ant-row\\"] [class^=\\"ant-row\\"],[class^=\\"ant-row\\"] [class*=\\" ant-row\\"],[class*=\\" ant-row\\"] [class*=\\" ant-row\\"]{box-sizing:border-box;}[class^=\\"ant-row\\"] [class^=\\"ant-row\\"]::before,[class*=\\" ant-row\\"] [class^=\\"ant-row\\"]::before,[class^=\\"ant-row\\"] [class*=\\" ant-row\\"]::before,[class*=\\" ant-row\\"] [class*=\\" ant-row\\"]::before,[class^=\\"ant-row\\"] [class^=\\"ant-row\\"]::after,[class*=\\" ant-row\\"] [class^=\\"ant-row\\"]::after,[class^=\\"ant-row\\"] [class*=\\" ant-row\\"]::after,[class*=\\" ant-row\\"] [class*=\\" ant-row\\"]::after{box-sizing:border-box;}.ant-row{display:flex;flex-flow:row wrap;min-width:0;}.ant-row::before,.ant-row::after{display:flex;}.ant-row-no-wrap{flex-wrap:nowrap;}.ant-row-start{justify-content:flex-start;}.ant-row-center{justify-content:center;}.ant-row-end{justify-content:flex-end;}.ant-row-space-between{justify-content:space-between;}.ant-row-space-around{justify-content:space-around;}.ant-row-top{align-items:flex-start;}.ant-row-middle{align-items:center;}.ant-row-bottom{align-items:flex-end;}[class^=\\"ant-input\\"],[class*=\\" ant-input\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-input\\"]::before,[class*=\\" ant-input\\"]::before,[class^=\\"ant-input\\"]::after,[class*=\\" ant-input\\"]::after{box-sizing:border-box;}[class^=\\"ant-input\\"] [class^=\\"ant-input\\"],[class*=\\" ant-input\\"] [class^=\\"ant-input\\"],[class^=\\"ant-input\\"] [class*=\\" ant-input\\"],[class*=\\" ant-input\\"] [class*=\\" ant-input\\"]{box-sizing:border-box;}[class^=\\"ant-input\\"] [class^=\\"ant-input\\"]::before,[class*=\\" ant-input\\"] [class^=\\"ant-input\\"]::before,[class^=\\"ant-input\\"] [class*=\\" ant-input\\"]::before,[class*=\\" ant-input\\"] [class*=\\" ant-input\\"]::before,[class^=\\"ant-input\\"] [class^=\\"ant-input\\"]::after,[class*=\\" ant-input\\"] [class^=\\"ant-input\\"]::after,[class^=\\"ant-input\\"] [class*=\\" ant-input\\"]::after,[class*=\\" ant-input\\"] [class*=\\" ant-input\\"]::after{box-sizing:border-box;}.ant-input{box-sizing:border-box;margin:0;padding:4px 11px;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;display:inline-block;width:100%;min-width:0;background-color:#141414;background-image:none;border-width:1px;border-style:solid;border-color:#424242;border-radius:6px;transition:all 0.2s;}.ant-input::-moz-placeholder{opacity:1;}.ant-input::placeholder{color:rgba(255, 255, 255, 0.25);user-select:none;}.ant-input:placeholder-shown{text-overflow:ellipsis;}.ant-input:hover{border-color:#198016;border-inline-end-width:1px;}.ant-input:focus,.ant-input-focused{border-color:#198016;box-shadow:0 0 0 2px rgba(0, 53, 0, 0.15);border-inline-end-width:1px;outline:0;}.ant-input-disabled,.ant-input[disabled]{color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.08);border-color:#424242;box-shadow:none;cursor:not-allowed;opacity:1;}.ant-input-disabled:hover,.ant-input[disabled]:hover{border-color:#424242;border-inline-end-width:1px;}.ant-input-borderless,.ant-input-borderless:hover,.ant-input-borderless:focus,.ant-input-borderless-focused,.ant-input-borderless-disabled,.ant-input-borderless[disabled]{background-color:transparent;border:none;box-shadow:none;}textarea.ant-input{max-width:100%;height:auto;min-height:32px;line-height:1.5714285714285714;vertical-align:bottom;transition:all 0.3s,height 0s;resize:vertical;}.ant-input-lg{padding:7px 11px;font-size:16px;line-height:1.5;border-radius:8px;}.ant-input-sm{padding:0px 7px;border-radius:4px;}.ant-input-rtl{direction:rtl;}.ant-input-textarea-rtl{direction:rtl;}.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input{border-color:#dc4446;}.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:hover{border-color:#7e2e2f;}.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:focus,.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input-focused{border-color:#dc4446;box-shadow:0 0 0 2px rgba(238, 38, 56, 0.11);border-inline-end-width:1px;outline:0;}.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input .ant-input-prefix{color:#dc4446;}.ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input{border-color:#d89614;}.ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:hover{border-color:#7c5914;}.ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:focus,.ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input-focused{border-color:#d89614;box-shadow:0 0 0 2px rgba(173, 107, 0, 0.15);border-inline-end-width:1px;outline:0;}.ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input .ant-input-prefix{color:#d89614;}.ant-input[type=\\"color\\"]{height:32px;}.ant-input[type=\\"color\\"].ant-input-lg{height:40px;}.ant-input[type=\\"color\\"].ant-input-sm{height:24px;padding-top:3px;padding-bottom:3px;}.ant-input-textarea{position:relative;}.ant-input-textarea .ant-input-textarea-suffix{position:absolute;top:0;inset-inline-end:11px;bottom:0;z-index:1;display:inline-flex;align-items:center;margin:auto;}.ant-input-textarea-status-error.ant-input-textarea-has-feedback .ant-input,.ant-input-textarea-status-warning.ant-input-textarea-has-feedback .ant-input,.ant-input-textarea-status-success.ant-input-textarea-has-feedback .ant-input,.ant-input-textarea-status-validating.ant-input-textarea-has-feedback .ant-input{padding-inline-end:24px;}.ant-input-textarea-show-count >.ant-input{height:100%;}.ant-input-textarea-show-count::after{color:rgba(255, 255, 255, 0.45);white-space:nowrap;content:attr(data-count);pointer-events:none;float:right;}.ant-input-textarea-rtl::after{float:left;}.ant-input-affix-wrapper{position:relative;display:inline-flex;width:100%;min-width:0;padding:4px 11px;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;background-color:#141414;background-image:none;border-width:1px;border-style:solid;border-color:#424242;border-radius:6px;transition:all 0.2s;}.ant-input-affix-wrapper::-moz-placeholder{opacity:1;}.ant-input-affix-wrapper::placeholder{color:rgba(255, 255, 255, 0.25);user-select:none;}.ant-input-affix-wrapper:placeholder-shown{text-overflow:ellipsis;}.ant-input-affix-wrapper:hover{border-color:#198016;border-inline-end-width:1px;}.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-focused{border-color:#198016;box-shadow:0 0 0 2px rgba(0, 53, 0, 0.15);border-inline-end-width:1px;outline:0;}.ant-input-affix-wrapper-disabled,.ant-input-affix-wrapper[disabled]{color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.08);border-color:#424242;box-shadow:none;cursor:not-allowed;opacity:1;}.ant-input-affix-wrapper-disabled:hover,.ant-input-affix-wrapper[disabled]:hover{border-color:#424242;border-inline-end-width:1px;}.ant-input-affix-wrapper-borderless,.ant-input-affix-wrapper-borderless:hover,.ant-input-affix-wrapper-borderless:focus,.ant-input-affix-wrapper-borderless-focused,.ant-input-affix-wrapper-borderless-disabled,.ant-input-affix-wrapper-borderless[disabled]{background-color:transparent;border:none;box-shadow:none;}textarea.ant-input-affix-wrapper{max-width:100%;height:auto;min-height:32px;line-height:1.5714285714285714;vertical-align:bottom;transition:all 0.3s,height 0s;resize:vertical;}.ant-input-affix-wrapper-lg{padding:7px 11px;font-size:16px;line-height:1.5;border-radius:8px;}.ant-input-affix-wrapper-sm{padding:0px 7px;border-radius:4px;}.ant-input-affix-wrapper-rtl{direction:rtl;}.ant-input-affix-wrapper-textarea-rtl{direction:rtl;}.ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{border-color:#198016;border-inline-end-width:1px;z-index:1;}.ant-input-search-with-button .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{z-index:0;}.ant-input-affix-wrapper-focused,.ant-input-affix-wrapper:focus{z-index:1;}.ant-input-affix-wrapper-disabled .ant-input[disabled]{background:transparent;}.ant-input-affix-wrapper >input.ant-input{padding:0;font-size:inherit;border:none;border-radius:0;outline:none;}.ant-input-affix-wrapper >input.ant-input:focus{box-shadow:none!important;}.ant-input-affix-wrapper::before{width:0;visibility:hidden;content:\\"\\\\a0\\";}.ant-input-affix-wrapper .ant-input-prefix,.ant-input-affix-wrapper .ant-input-suffix{display:flex;flex:none;align-items:center;}.ant-input-affix-wrapper .ant-input-prefix >*:not(:last-child),.ant-input-affix-wrapper .ant-input-suffix >*:not(:last-child){margin-inline-end:8px;}.ant-input-affix-wrapper .ant-input-show-count-suffix{color:rgba(255, 255, 255, 0.45);}.ant-input-affix-wrapper .ant-input-show-count-has-suffix{margin-inline-end:4px;}.ant-input-affix-wrapper .ant-input-prefix{margin-inline-end:4px;}.ant-input-affix-wrapper .ant-input-suffix{margin-inline-start:4px;}.ant-input-affix-wrapper .ant-input-clear-icon{margin:0;color:rgba(255, 255, 255, 0.25);font-size:12px;vertical-align:-1px;cursor:pointer;transition:color 0.3s;}.ant-input-affix-wrapper .ant-input-clear-icon:hover{color:rgba(255, 255, 255, 0.45);}.ant-input-affix-wrapper .ant-input-clear-icon:active{color:rgba(255, 255, 255, 0.85);}.ant-input-affix-wrapper .ant-input-clear-icon-hidden{visibility:hidden;}.ant-input-affix-wrapper .ant-input-clear-icon-has-suffix{margin:0 4px;}.ant-input-affix-wrapper-textarea-with-clear-btn{padding:0!important;border:0!important;}.ant-input-affix-wrapper-textarea-with-clear-btn .ant-input-clear-icon{position:absolute;inset-block-start:8px;inset-inline-end:8px;z-index:1;}.ant-input-affix-wrapper .anticon.ant-input-password-icon{color:rgba(255, 255, 255, 0.45);cursor:pointer;transition:all 0.3s;}.ant-input-affix-wrapper .anticon.ant-input-password-icon:hover{color:rgba(255, 255, 255, 0.85);}.ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper{border-color:#dc4446;}.ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:hover{border-color:#7e2e2f;}.ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper-focused{border-color:#dc4446;box-shadow:0 0 0 2px rgba(238, 38, 56, 0.11);border-inline-end-width:1px;outline:0;}.ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper .ant-input-prefix{color:#dc4446;}.ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper{border-color:#d89614;}.ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:hover{border-color:#7c5914;}.ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper-focused{border-color:#d89614;box-shadow:0 0 0 2px rgba(173, 107, 0, 0.15);border-inline-end-width:1px;outline:0;}.ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper .ant-input-prefix{color:#d89614;}.ant-input-group{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;display:table;width:100%;border-collapse:separate;border-spacing:0;}.ant-input-group[class*='col-']{padding-inline-end:8px;}.ant-input-group[class*='col-']:last-child{padding-inline-end:0;}.ant-input-group-lg .ant-input,.ant-input-group-lg>.ant-input-group-addon{padding:7px 11px;font-size:16px;line-height:1.5;border-radius:8px;}.ant-input-group-sm .ant-input,.ant-input-group-sm>.ant-input-group-addon{padding:0px 7px;border-radius:4px;}.ant-input-group >.ant-input{display:table-cell;}.ant-input-group >.ant-input:not(:first-child):not(:last-child){border-radius:0;}.ant-input-group .ant-input-group-addon,.ant-input-group .ant-input-group-wrap{display:table-cell;width:1px;white-space:nowrap;vertical-align:middle;}.ant-input-group .ant-input-group-addon:not(:first-child):not(:last-child),.ant-input-group .ant-input-group-wrap:not(:first-child):not(:last-child){border-radius:0;}.ant-input-group .ant-input-group-wrap>*{display:block!important;}.ant-input-group .ant-input-group-addon{position:relative;padding:0 11px;color:rgba(255, 255, 255, 0.85);font-weight:normal;font-size:14px;text-align:center;background-color:rgba(255, 255, 255, 0.04);border:1px solid #424242;border-radius:6px;transition:all 0.3s;line-height:1;}.ant-input-group .ant-input-group-addon .ant-select{margin:-5px -11px;}.ant-input-group .ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{background-color:inherit;border:1px solid transparent;box-shadow:none;}.ant-input-group .ant-input-group-addon .ant-select-open .ant-select-selector,.ant-input-group .ant-input-group-addon .ant-select-focused .ant-select-selector{color:#037003;}.ant-input-group .ant-input-group-addon .ant-cascader-picker{margin:-9px -11px;background-color:transparent;}.ant-input-group .ant-input-group-addon .ant-cascader-picker .ant-cascader-input{text-align:start;border:0;box-shadow:none;}.ant-input-group .ant-input-group-addon:first-child{border-inline-end:0;}.ant-input-group .ant-input-group-addon:last-child{border-inline-start:0;}.ant-input-group .ant-input{float:inline-start;width:100%;margin-bottom:0;text-align:inherit;}.ant-input-group .ant-input:focus{z-index:1;border-inline-end-width:1px;}.ant-input-group .ant-input:hover{z-index:1;border-inline-end-width:1px;}.ant-input-search-with-button .ant-input-group .ant-input:hover{z-index:0;}.ant-input-group >.ant-input:first-child,.ant-input-group .ant-input-group-addon:first-child{border-start-end-radius:0;border-end-end-radius:0;}.ant-input-group >.ant-input:first-child .ant-select .ant-select-selector,.ant-input-group .ant-input-group-addon:first-child .ant-select .ant-select-selector{border-start-end-radius:0;border-end-end-radius:0;}.ant-input-group >.ant-input-affix-wrapper:not(:first-child) .ant-input{border-start-start-radius:0;border-end-start-radius:0;}.ant-input-group >.ant-input-affix-wrapper:not(:last-child) .ant-input{border-start-end-radius:0;border-end-end-radius:0;}.ant-input-group >.ant-input:last-child,.ant-input-group .ant-input-group-addon:last-child{border-start-start-radius:0;border-end-start-radius:0;}.ant-input-group >.ant-input:last-child .ant-select .ant-select-selector,.ant-input-group .ant-input-group-addon:last-child .ant-select .ant-select-selector{border-start-start-radius:0;border-end-start-radius:0;}.ant-input-group .ant-input-affix-wrapper:not(:last-child){border-start-end-radius:0;border-end-end-radius:0;}.ant-input-search .ant-input-group .ant-input-affix-wrapper:not(:last-child){border-start-start-radius:6px;border-end-start-radius:6px;}.ant-input-group .ant-input-affix-wrapper:not(:first-child),.ant-input-search .ant-input-group .ant-input-affix-wrapper:not(:first-child){border-start-start-radius:0;border-end-start-radius:0;}.ant-input-group.ant-input-group-compact{display:block;}.ant-input-group.ant-input-group-compact::before{display:table;content:\\"\\";}.ant-input-group.ant-input-group-compact::after{display:table;clear:both;content:\\"\\";}.ant-input-group.ant-input-group-compact .ant-input-group-addon:not(:first-child):not(:last-child),.ant-input-group.ant-input-group-compact .ant-input-group-wrap:not(:first-child):not(:last-child),.ant-input-group.ant-input-group-compact >.ant-input:not(:first-child):not(:last-child){border-inline-end-width:1px;}.ant-input-group.ant-input-group-compact .ant-input-group-addon:not(:first-child):not(:last-child):hover,.ant-input-group.ant-input-group-compact .ant-input-group-wrap:not(:first-child):not(:last-child):hover,.ant-input-group.ant-input-group-compact >.ant-input:not(:first-child):not(:last-child):hover{z-index:1;}.ant-input-group.ant-input-group-compact .ant-input-group-addon:not(:first-child):not(:last-child):focus,.ant-input-group.ant-input-group-compact .ant-input-group-wrap:not(:first-child):not(:last-child):focus,.ant-input-group.ant-input-group-compact >.ant-input:not(:first-child):not(:last-child):focus{z-index:1;}.ant-input-group.ant-input-group-compact>*{display:inline-block;float:none;vertical-align:top;border-radius:0;}.ant-input-group.ant-input-group-compact>.ant-input-affix-wrapper{display:inline-flex;}.ant-input-group.ant-input-group-compact>.ant-picker-range{display:inline-flex;}.ant-input-group.ant-input-group-compact>*:not(:last-child){margin-inline-end:-1px;border-inline-end-width:1px;}.ant-input-group.ant-input-group-compact .ant-input{float:none;}.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-selector,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input,.ant-input-group.ant-input-group-compact>.ant-cascader-picker .ant-input,.ant-input-group.ant-input-group-compact>.ant-input-group-wrapper .ant-input{border-inline-end-width:1px;border-radius:0;}.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-selector:hover,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input:hover,.ant-input-group.ant-input-group-compact>.ant-cascader-picker .ant-input:hover,.ant-input-group.ant-input-group-compact>.ant-input-group-wrapper .ant-input:hover{z-index:1;}.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-selector:focus,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input:focus,.ant-input-group.ant-input-group-compact>.ant-cascader-picker .ant-input:focus,.ant-input-group.ant-input-group-compact>.ant-input-group-wrapper .ant-input:focus{z-index:1;}.ant-input-group.ant-input-group-compact>.ant-select-focused{z-index:1;}.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-arrow{z-index:1;}.ant-input-group.ant-input-group-compact>*:first-child,.ant-input-group.ant-input-group-compact>.ant-select:first-child>.ant-select-selector,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete:first-child .ant-input,.ant-input-group.ant-input-group-compact>.ant-cascader-picker:first-child .ant-input{border-start-start-radius:6px;border-end-start-radius:6px;}.ant-input-group.ant-input-group-compact>*:last-child,.ant-input-group.ant-input-group-compact>.ant-select:last-child>.ant-select-selector,.ant-input-group.ant-input-group-compact>.ant-cascader-picker:last-child .ant-input,.ant-input-group.ant-input-group-compact>.ant-cascader-picker-focused:last-child .ant-input{border-inline-end-width:1px;border-start-end-radius:6px;border-end-end-radius:6px;}.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input{vertical-align:top;}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper+.ant-input-group-wrapper{margin-inline-start:-1px;}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper+.ant-input-group-wrapper .ant-input-affix-wrapper{border-radius:0;}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search>.ant-input-group>.ant-input-group-addon>.ant-input-search-button{border-radius:0;}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search>.ant-input-group>.ant-input{border-start-start-radius:6px;border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:6px;}.ant-input-group.ant-input-group-sm .ant-btn{font-size:12px;height:24px;line-height:normal;}.ant-input-group.ant-input-group-lg .ant-btn{font-size:16px;height:40px;line-height:normal;}.ant-input-group.ant-input-group-lg .ant-select-single .ant-select-selector{height:40px;}.ant-input-group.ant-input-group-lg .ant-select-single .ant-select-selector .ant-select-selection-item,.ant-input-group.ant-input-group-lg .ant-select-single .ant-select-selector .ant-select-selection-placeholder{line-height:38px;}.ant-input-group.ant-input-group-lg .ant-select-single .ant-select-selector .ant-select-selection-search-input{height:40px;}.ant-input-group.ant-input-group-sm .ant-select-single .ant-select-selector{height:24px;}.ant-input-group.ant-input-group-sm .ant-select-single .ant-select-selector .ant-select-selection-item,.ant-input-group.ant-input-group-sm .ant-select-single .ant-select-selector .ant-select-selection-placeholder{line-height:22px;}.ant-input-group.ant-input-group-sm .ant-select-single .ant-select-selector .ant-select-selection-search-input{height:24px;}.ant-input-group-rtl{direction:rtl;}.ant-input-group-wrapper{display:inline-block;width:100%;text-align:start;vertical-align:top;}.ant-input-group-wrapper-rtl{direction:rtl;}.ant-input-group-wrapper-lg .ant-input-group-addon{border-radius:8px;}.ant-input-group-wrapper-sm .ant-input-group-addon{border-radius:4px;}.ant-input-group-wrapper-status-error .ant-input-group-addon{color:#dc4446;border-color:#dc4446;}.ant-input-group-wrapper-status-warning .ant-input-group-addon:last-child{color:#49aa19;border-color:#49aa19;}.ant-input-search .ant-input:hover,.ant-input-search .ant-input:focus{border-color:#198016;}.ant-input-search .ant-input:hover +.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary),.ant-input-search .ant-input:focus +.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary){border-inline-start-color:#198016;}.ant-input-search .ant-input-affix-wrapper{border-radius:0;}.ant-input-search .ant-input-lg{line-height:1.4998;}.ant-input-search >.ant-input-group >.ant-input-group-addon:last-child{inset-inline-start:-1px;padding:0;border:0;}.ant-input-search >.ant-input-group >.ant-input-group-addon:last-child .ant-input-search-button{padding-top:0;padding-bottom:0;border-start-start-radius:0;border-start-end-radius:6px;border-end-end-radius:6px;border-end-start-radius:0;}.ant-input-search >.ant-input-group >.ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary){color:rgba(255, 255, 255, 0.45);}.ant-input-search >.ant-input-group >.ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary):hover{color:#198016;}.ant-input-search >.ant-input-group >.ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary):active{color:#075a07;}.ant-input-search >.ant-input-group >.ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary).ant-btn-loading::before{inset-inline-start:0;inset-inline-end:0;inset-block-start:0;inset-block-end:0;}.ant-input-search .ant-input-search-button{height:32px;}.ant-input-search .ant-input-search-button:hover,.ant-input-search .ant-input-search-button:focus{z-index:1;}.ant-input-search-large .ant-input-search-button{height:40px;}.ant-input-search-small .ant-input-search-button{height:24px;}.ant-input-search-rtl{direction:rtl;}.ant-input-search.ant-input-compact-item:not(.ant-input-compact-last-item) .ant-input-group-addon .ant-input-search-button{margin-inline-end:-1px;border-radius:0;}.ant-input-search.ant-input-compact-item:not(.ant-input-compact-first-item) .ant-input,.ant-input-search.ant-input-compact-item:not(.ant-input-compact-first-item) .ant-input-affix-wrapper{border-radius:0;}.ant-input-search.ant-input-compact-item >.ant-input-group-addon .ant-input-search-button:hover,.ant-input-search.ant-input-compact-item >.ant-input:hover,.ant-input-search.ant-input-compact-item .ant-input-affix-wrapper:hover,.ant-input-search.ant-input-compact-item >.ant-input-group-addon .ant-input-search-button:focus,.ant-input-search.ant-input-compact-item >.ant-input:focus,.ant-input-search.ant-input-compact-item .ant-input-affix-wrapper:focus,.ant-input-search.ant-input-compact-item >.ant-input-group-addon .ant-input-search-button:active,.ant-input-search.ant-input-compact-item >.ant-input:active,.ant-input-search.ant-input-compact-item .ant-input-affix-wrapper:active{z-index:2;}.ant-input-search.ant-input-compact-item >.ant-input-affix-wrapper-focused{z-index:2;}.ant-input-compact-item:not(.ant-input-compact-last-item){margin-inline-end:-1px;}.ant-input-compact-item:hover,.ant-input-compact-item:focus,.ant-input-compact-item:active{z-index:2;}.ant-input-compact-item[disabled]{z-index:0;}.ant-input-compact-item:not(.ant-input-compact-first-item):not(.ant-input-compact-last-item){border-radius:0;}.ant-input-compact-item:not(.ant-input-compact-last-item).ant-input-compact-first-item,.ant-input-compact-item:not(.ant-input-compact-last-item).ant-input-compact-first-item.ant-input-sm,.ant-input-compact-item:not(.ant-input-compact-last-item).ant-input-compact-first-item.ant-input-lg{border-start-end-radius:0;border-end-end-radius:0;}.ant-input-compact-item:not(.ant-input-compact-first-item).ant-input-compact-last-item,.ant-input-compact-item:not(.ant-input-compact-first-item).ant-input-compact-last-item.ant-input-sm,.ant-input-compact-item:not(.ant-input-compact-first-item).ant-input-compact-last-item.ant-input-lg{border-start-start-radius:0;border-end-start-radius:0;}[class^=\\"ant-image\\"],[class*=\\" ant-image\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-image\\"]::before,[class*=\\" ant-image\\"]::before,[class^=\\"ant-image\\"]::after,[class*=\\" ant-image\\"]::after{box-sizing:border-box;}[class^=\\"ant-image\\"] [class^=\\"ant-image\\"],[class*=\\" ant-image\\"] [class^=\\"ant-image\\"],[class^=\\"ant-image\\"] [class*=\\" ant-image\\"],[class*=\\" ant-image\\"] [class*=\\" ant-image\\"]{box-sizing:border-box;}[class^=\\"ant-image\\"] [class^=\\"ant-image\\"]::before,[class*=\\" ant-image\\"] [class^=\\"ant-image\\"]::before,[class^=\\"ant-image\\"] [class*=\\" ant-image\\"]::before,[class*=\\" ant-image\\"] [class*=\\" ant-image\\"]::before,[class^=\\"ant-image\\"] [class^=\\"ant-image\\"]::after,[class*=\\" ant-image\\"] [class^=\\"ant-image\\"]::after,[class^=\\"ant-image\\"] [class*=\\" ant-image\\"]::after,[class*=\\" ant-image\\"] [class*=\\" ant-image\\"]::after{box-sizing:border-box;}.ant-image{position:relative;display:inline-block;}.ant-image .ant-image-img{width:100%;height:auto;vertical-align:middle;}.ant-image .ant-image-img-placeholder{background-color:rgba(255, 255, 255, 0.08);background-image:url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTQuNSAyLjVoLTEzQS41LjUgMCAwIDAgMSAzdjEwYS41LjUgMCAwIDAgLjUuNWgxM2EuNS41IDAgMCAwIC41LS41VjNhLjUuNSAwIDAgMC0uNS0uNXpNNS4yODEgNC43NWExIDEgMCAwIDEgMCAyIDEgMSAwIDAgMSAwLTJ6bTguMDMgNi44M2EuMTI3LjEyNyAwIDAgMS0uMDgxLjAzSDIuNzY5YS4xMjUuMTI1IDAgMCAxLS4wOTYtLjIwN2wyLjY2MS0zLjE1NmEuMTI2LjEyNiAwIDAgMSAuMTc3LS4wMTZsLjAxNi4wMTZMNy4wOCAxMC4wOWwyLjQ3LTIuOTNhLjEyNi4xMjYgMCAwIDEgLjE3Ny0uMDE2bC4wMTUuMDE2IDMuNTg4IDQuMjQ0YS4xMjcuMTI3IDAgMCAxLS4wMi4xNzV6IiBmaWxsPSIjOEM4QzhDIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4=');background-repeat:no-repeat;background-position:center center;background-size:30%;}.ant-image .ant-image-mask{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(0, 0, 0, 0.5);cursor:pointer;opacity:0;transition:opacity 0.3s;}.ant-image .ant-image-mask .ant-image-mask-info{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 4px;}.ant-image .ant-image-mask .ant-image-mask-info .anticon{margin-inline-end:4px;}.ant-image .ant-image-mask .ant-image-mask-info .anticon svg{vertical-align:baseline;}.ant-image .ant-image-mask:hover{opacity:1;}.ant-image .ant-image-placeholder{position:absolute;inset:0;}.ant-image-preview-root .ant-image-preview{height:100%;text-align:center;pointer-events:none;}.ant-image-preview-root .ant-image-preview-body{position:absolute;inset:0;overflow:hidden;}.ant-image-preview-root .ant-image-preview-img{max-width:100%;max-height:100%;vertical-align:middle;transform:scale3d(1, 1, 1);cursor:grab;transition:transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;user-select:none;pointer-events:auto;}.ant-image-preview-root .ant-image-preview-img-wrapper{position:absolute;inset:0;transition:transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;display:flex;justify-content:center;align-items:center;}.ant-image-preview-root .ant-image-preview-img-wrapper::before{display:inline-block;width:1px;height:50%;margin-inline-end:-1px;content:\\"\\";}.ant-image-preview-root .ant-image-preview-moving .ant-image-preview-preview-img{cursor:grabbing;}.ant-image-preview-root .ant-image-preview-moving .ant-image-preview-preview-img-wrapper{transition-duration:0s;}.ant-image-preview-root .ant-image-preview-wrap{z-index:1080;}.ant-image-preview-operations-wrapper{position:fixed;inset-block-start:0;inset-inline-end:0;z-index:1081;width:100%;}.ant-image-preview-operations{box-sizing:border-box;margin:0;padding:0;color:rgb(255, 255, 255);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:flex;flex-direction:row-reverse;align-items:center;background:rgba(0, 0, 0, 0.1);pointer-events:auto;}.ant-image-preview-operations-operation{margin-inline-start:12px;padding:12px;cursor:pointer;transition:all 0.3s;user-select:none;}.ant-image-preview-operations-operation:hover{background:rgba(0, 0, 0, 0.2);}.ant-image-preview-operations-operation-disabled{color:rgba(255, 255, 255, 0.25);pointer-events:none;}.ant-image-preview-operations-operation:last-of-type{margin-inline-start:0;}.ant-image-preview-operations-progress{position:absolute;left:50%;transform:translateX(-50%);}.ant-image-preview-operations-icon{font-size:18px;}.ant-image-preview-switch-left,.ant-image-preview-switch-right{position:fixed;inset-block-start:50%;z-index:1081;display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-top:-20px;color:rgb(255, 255, 255);background:rgba(0, 0, 0, 0.1);border-radius:50%;transform:translateY(-50%);cursor:pointer;transition:all 0.3s;pointer-events:auto;user-select:none;}.ant-image-preview-switch-left:hover,.ant-image-preview-switch-right:hover{background:rgba(0, 0, 0, 0.2);}.ant-image-preview-switch-left-disabled,.ant-image-preview-switch-right-disabled,.ant-image-preview-switch-left-disabled:hover,.ant-image-preview-switch-right-disabled:hover{color:rgba(255, 255, 255, 0.25);background:transparent;cursor:not-allowed;}.ant-image-preview-switch-left-disabled >.anticon,.ant-image-preview-switch-right-disabled >.anticon,.ant-image-preview-switch-left-disabled:hover >.anticon,.ant-image-preview-switch-right-disabled:hover >.anticon{cursor:not-allowed;}.ant-image-preview-switch-left >.anticon,.ant-image-preview-switch-right >.anticon{font-size:18px;}.ant-image-preview-switch-left{inset-inline-start:12px;}.ant-image-preview-switch-right{inset-inline-end:12px;}.ant-image-preview-root .ant-image-preview.ant-zoom-enter,.ant-image-preview-root .ant-image-preview.ant-zoom-appear{transform:none;opacity:0;animation-duration:0.3s;user-select:none;}.ant-image-preview-root .ant-image-preview.ant-zoom-leave .ant-image-preview-content{pointer-events:none;}.ant-image-preview-root .ant-image-preview-mask{position:fixed;top:0;inset-inline-end:0;bottom:0;inset-inline-start:0;z-index:1000;height:100%;background-color:rgba(0, 0, 0, 0.45);}.ant-image-preview-root .ant-image-preview-mask .ant-image-preview-hidden{display:none;}.ant-image-preview-root .ant-image-preview-wrap{position:fixed;top:0;inset-inline-end:0;bottom:0;inset-inline-start:0;overflow:auto;outline:0;-webkit-overflow-scrolling:touch;}.ant-image-preview-root .ant-fade-enter,.ant-image-preview-root .ant-fade-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-image-preview-root .ant-fade-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-image-preview-root .ant-fade-enter.ant-fade-enter-active,.ant-image-preview-root .ant-fade-appear.ant-fade-appear-active{animation-name:antFadeIn;animation-play-state:running;}.ant-image-preview-root .ant-fade-leave.ant-fade-leave-active{animation-name:antFadeOut;animation-play-state:running;pointer-events:none;}.ant-image-preview-root .ant-fade-enter,.ant-image-preview-root .ant-fade-appear{opacity:0;animation-timing-function:linear;}.ant-image-preview-root .ant-fade-leave{animation-timing-function:linear;}.ant-image-preview-root .ant-zoom-enter,.ant-image-preview-root .ant-zoom-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-image-preview-root .ant-zoom-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-image-preview-root .ant-zoom-enter.ant-zoom-enter-active,.ant-image-preview-root .ant-zoom-appear.ant-zoom-appear-active{animation-name:antZoomIn;animation-play-state:running;}.ant-image-preview-root .ant-zoom-leave.ant-zoom-leave-active{animation-name:antZoomOut;animation-play-state:running;pointer-events:none;}.ant-image-preview-root .ant-zoom-enter,.ant-image-preview-root .ant-zoom-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}.ant-image-preview-root .ant-zoom-enter-prepare,.ant-image-preview-root .ant-zoom-appear-prepare{transform:none;}.ant-image-preview-root .ant-zoom-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}.ant-fade-enter,.ant-fade-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-fade-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-fade-enter.ant-fade-enter-active,.ant-fade-appear.ant-fade-appear-active{animation-name:antFadeIn;animation-play-state:running;}.ant-fade-leave.ant-fade-leave-active{animation-name:antFadeOut;animation-play-state:running;pointer-events:none;}.ant-fade-enter,.ant-fade-appear{opacity:0;animation-timing-function:linear;}.ant-fade-leave{animation-timing-function:linear;}@keyframes antZoomOut{0%{transform:scale(1);}100%{transform:scale(0.2);opacity:0;}}[class^=\\"ant-input-number\\"],[class*=\\" ant-input-number\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-input-number\\"]::before,[class*=\\" ant-input-number\\"]::before,[class^=\\"ant-input-number\\"]::after,[class*=\\" ant-input-number\\"]::after{box-sizing:border-box;}[class^=\\"ant-input-number\\"] [class^=\\"ant-input-number\\"],[class*=\\" ant-input-number\\"] [class^=\\"ant-input-number\\"],[class^=\\"ant-input-number\\"] [class*=\\" ant-input-number\\"],[class*=\\" ant-input-number\\"] [class*=\\" ant-input-number\\"]{box-sizing:border-box;}[class^=\\"ant-input-number\\"] [class^=\\"ant-input-number\\"]::before,[class*=\\" ant-input-number\\"] [class^=\\"ant-input-number\\"]::before,[class^=\\"ant-input-number\\"] [class*=\\" ant-input-number\\"]::before,[class*=\\" ant-input-number\\"] [class*=\\" ant-input-number\\"]::before,[class^=\\"ant-input-number\\"] [class^=\\"ant-input-number\\"]::after,[class*=\\" ant-input-number\\"] [class^=\\"ant-input-number\\"]::after,[class^=\\"ant-input-number\\"] [class*=\\" ant-input-number\\"]::after,[class*=\\" ant-input-number\\"] [class*=\\" ant-input-number\\"]::after{box-sizing:border-box;}.ant-input-number{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;display:inline-block;width:90px;min-width:0;background-color:#141414;background-image:none;border-width:1px;border-style:solid;border-color:#424242;border-radius:6px;transition:all 0.2s;border:1px solid #424242;}.ant-input-number::-moz-placeholder{opacity:1;}.ant-input-number::placeholder{color:rgba(255, 255, 255, 0.25);user-select:none;}.ant-input-number:placeholder-shown{text-overflow:ellipsis;}.ant-input-number:hover{border-color:#198016;border-inline-end-width:1px;}.ant-input-number:focus,.ant-input-number-focused{border-color:#198016;box-shadow:0 0 0 2px rgba(0, 53, 0, 0.15);border-inline-end-width:1px;outline:0;}.ant-input-number-disabled,.ant-input-number[disabled]{color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.08);border-color:#424242;box-shadow:none;cursor:not-allowed;opacity:1;}.ant-input-number-disabled:hover,.ant-input-number[disabled]:hover{border-color:#424242;border-inline-end-width:1px;}.ant-input-number-borderless,.ant-input-number-borderless:hover,.ant-input-number-borderless:focus,.ant-input-number-borderless-focused,.ant-input-number-borderless-disabled,.ant-input-number-borderless[disabled]{background-color:transparent;border:none;box-shadow:none;}textarea.ant-input-number{max-width:100%;height:auto;min-height:32px;line-height:1.5714285714285714;vertical-align:bottom;transition:all 0.3s,height 0s;resize:vertical;}.ant-input-number-lg{padding:0;font-size:16px;border-radius:8px;}.ant-input-number-lg input.ant-input-number-input{height:38px;}.ant-input-number-sm{padding:0;border-radius:4px;}.ant-input-number-sm input.ant-input-number-input{height:22px;padding:0 7px;}.ant-input-number-rtl{direction:rtl;}.ant-input-number-rtl .ant-input-number-input{direction:rtl;}.ant-input-number-textarea-rtl{direction:rtl;}.ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number{border-color:#dc4446;}.ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:hover{border-color:#7e2e2f;}.ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:focus,.ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number-focused{border-color:#dc4446;box-shadow:0 0 0 2px rgba(238, 38, 56, 0.11);border-inline-end-width:1px;outline:0;}.ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number .ant-input-number-prefix{color:#dc4446;}.ant-input-number-status-warning:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number{border-color:#d89614;}.ant-input-number-status-warning:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:hover{border-color:#7c5914;}.ant-input-number-status-warning:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:focus,.ant-input-number-status-warning:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number-focused{border-color:#d89614;box-shadow:0 0 0 2px rgba(173, 107, 0, 0.15);border-inline-end-width:1px;outline:0;}.ant-input-number-status-warning:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number .ant-input-number-prefix{color:#d89614;}.ant-input-number-focused{border-color:#198016;box-shadow:0 0 0 2px rgba(0, 53, 0, 0.15);border-inline-end-width:1px;outline:0;}.ant-input-number-disabled{color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.08);border-color:#424242;box-shadow:none;cursor:not-allowed;opacity:1;}.ant-input-number-disabled:hover{border-color:#424242;border-inline-end-width:1px;}.ant-input-number-disabled .ant-input-number-input{cursor:not-allowed;}.ant-input-number-out-of-range input{color:#dc4446;}.ant-input-number-group{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;display:table;width:100%;border-collapse:separate;border-spacing:0;}.ant-input-number-group[class*='col-']{padding-inline-end:8px;}.ant-input-number-group[class*='col-']:last-child{padding-inline-end:0;}.ant-input-number-group-lg .ant-input-number,.ant-input-number-group-lg>.ant-input-number-group-addon{padding:7px 11px;font-size:16px;line-height:1.5;border-radius:8px;}.ant-input-number-group-sm .ant-input-number,.ant-input-number-group-sm>.ant-input-number-group-addon{padding:0px 7px;border-radius:4px;}.ant-input-number-group >.ant-input-number{display:table-cell;}.ant-input-number-group >.ant-input-number:not(:first-child):not(:last-child){border-radius:0;}.ant-input-number-group .ant-input-number-group-addon,.ant-input-number-group .ant-input-number-group-wrap{display:table-cell;width:1px;white-space:nowrap;vertical-align:middle;}.ant-input-number-group .ant-input-number-group-addon:not(:first-child):not(:last-child),.ant-input-number-group .ant-input-number-group-wrap:not(:first-child):not(:last-child){border-radius:0;}.ant-input-number-group .ant-input-number-group-wrap>*{display:block!important;}.ant-input-number-group .ant-input-number-group-addon{position:relative;padding:0 11px;color:rgba(255, 255, 255, 0.85);font-weight:normal;font-size:14px;text-align:center;background-color:rgba(255, 255, 255, 0.04);border:1px solid #424242;border-radius:6px;transition:all 0.3s;line-height:1;}.ant-input-number-group .ant-input-number-group-addon .ant-select{margin:-5px -11px;}.ant-input-number-group .ant-input-number-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{background-color:inherit;border:1px solid transparent;box-shadow:none;}.ant-input-number-group .ant-input-number-group-addon .ant-select-open .ant-select-selector,.ant-input-number-group .ant-input-number-group-addon .ant-select-focused .ant-select-selector{color:#037003;}.ant-input-number-group .ant-input-number-group-addon .ant-cascader-picker{margin:-9px -11px;background-color:transparent;}.ant-input-number-group .ant-input-number-group-addon .ant-cascader-picker .ant-cascader-input{text-align:start;border:0;box-shadow:none;}.ant-input-number-group .ant-input-number-group-addon:first-child{border-inline-end:0;}.ant-input-number-group .ant-input-number-group-addon:last-child{border-inline-start:0;}.ant-input-number-group .ant-input-number{float:inline-start;width:100%;margin-bottom:0;text-align:inherit;}.ant-input-number-group .ant-input-number:focus{z-index:1;border-inline-end-width:1px;}.ant-input-number-group .ant-input-number:hover{z-index:1;border-inline-end-width:1px;}.ant-input-number-search-with-button .ant-input-number-group .ant-input-number:hover{z-index:0;}.ant-input-number-group >.ant-input-number:first-child,.ant-input-number-group .ant-input-number-group-addon:first-child{border-start-end-radius:0;border-end-end-radius:0;}.ant-input-number-group >.ant-input-number:first-child .ant-select .ant-select-selector,.ant-input-number-group .ant-input-number-group-addon:first-child .ant-select .ant-select-selector{border-start-end-radius:0;border-end-end-radius:0;}.ant-input-number-group >.ant-input-number-affix-wrapper:not(:first-child) .ant-input-number{border-start-start-radius:0;border-end-start-radius:0;}.ant-input-number-group >.ant-input-number-affix-wrapper:not(:last-child) .ant-input-number{border-start-end-radius:0;border-end-end-radius:0;}.ant-input-number-group >.ant-input-number:last-child,.ant-input-number-group .ant-input-number-group-addon:last-child{border-start-start-radius:0;border-end-start-radius:0;}.ant-input-number-group >.ant-input-number:last-child .ant-select .ant-select-selector,.ant-input-number-group .ant-input-number-group-addon:last-child .ant-select .ant-select-selector{border-start-start-radius:0;border-end-start-radius:0;}.ant-input-number-group .ant-input-number-affix-wrapper:not(:last-child){border-start-end-radius:0;border-end-end-radius:0;}.ant-input-number-search .ant-input-number-group .ant-input-number-affix-wrapper:not(:last-child){border-start-start-radius:6px;border-end-start-radius:6px;}.ant-input-number-group .ant-input-number-affix-wrapper:not(:first-child),.ant-input-number-search .ant-input-number-group .ant-input-number-affix-wrapper:not(:first-child){border-start-start-radius:0;border-end-start-radius:0;}.ant-input-number-group.ant-input-number-group-compact{display:block;}.ant-input-number-group.ant-input-number-group-compact::before{display:table;content:\\"\\";}.ant-input-number-group.ant-input-number-group-compact::after{display:table;clear:both;content:\\"\\";}.ant-input-number-group.ant-input-number-group-compact .ant-input-number-group-addon:not(:first-child):not(:last-child),.ant-input-number-group.ant-input-number-group-compact .ant-input-number-group-wrap:not(:first-child):not(:last-child),.ant-input-number-group.ant-input-number-group-compact >.ant-input-number:not(:first-child):not(:last-child){border-inline-end-width:1px;}.ant-input-number-group.ant-input-number-group-compact .ant-input-number-group-addon:not(:first-child):not(:last-child):hover,.ant-input-number-group.ant-input-number-group-compact .ant-input-number-group-wrap:not(:first-child):not(:last-child):hover,.ant-input-number-group.ant-input-number-group-compact >.ant-input-number:not(:first-child):not(:last-child):hover{z-index:1;}.ant-input-number-group.ant-input-number-group-compact .ant-input-number-group-addon:not(:first-child):not(:last-child):focus,.ant-input-number-group.ant-input-number-group-compact .ant-input-number-group-wrap:not(:first-child):not(:last-child):focus,.ant-input-number-group.ant-input-number-group-compact >.ant-input-number:not(:first-child):not(:last-child):focus{z-index:1;}.ant-input-number-group.ant-input-number-group-compact>*{display:inline-block;float:none;vertical-align:top;border-radius:0;}.ant-input-number-group.ant-input-number-group-compact>.ant-input-number-affix-wrapper{display:inline-flex;}.ant-input-number-group.ant-input-number-group-compact>.ant-picker-range{display:inline-flex;}.ant-input-number-group.ant-input-number-group-compact>*:not(:last-child){margin-inline-end:-1px;border-inline-end-width:1px;}.ant-input-number-group.ant-input-number-group-compact .ant-input-number{float:none;}.ant-input-number-group.ant-input-number-group-compact>.ant-select>.ant-select-selector,.ant-input-number-group.ant-input-number-group-compact>.ant-select-auto-complete .ant-input-number,.ant-input-number-group.ant-input-number-group-compact>.ant-cascader-picker .ant-input-number,.ant-input-number-group.ant-input-number-group-compact>.ant-input-number-group-wrapper .ant-input-number{border-inline-end-width:1px;border-radius:0;}.ant-input-number-group.ant-input-number-group-compact>.ant-select>.ant-select-selector:hover,.ant-input-number-group.ant-input-number-group-compact>.ant-select-auto-complete .ant-input-number:hover,.ant-input-number-group.ant-input-number-group-compact>.ant-cascader-picker .ant-input-number:hover,.ant-input-number-group.ant-input-number-group-compact>.ant-input-number-group-wrapper .ant-input-number:hover{z-index:1;}.ant-input-number-group.ant-input-number-group-compact>.ant-select>.ant-select-selector:focus,.ant-input-number-group.ant-input-number-group-compact>.ant-select-auto-complete .ant-input-number:focus,.ant-input-number-group.ant-input-number-group-compact>.ant-cascader-picker .ant-input-number:focus,.ant-input-number-group.ant-input-number-group-compact>.ant-input-number-group-wrapper .ant-input-number:focus{z-index:1;}.ant-input-number-group.ant-input-number-group-compact>.ant-select-focused{z-index:1;}.ant-input-number-group.ant-input-number-group-compact>.ant-select>.ant-select-arrow{z-index:1;}.ant-input-number-group.ant-input-number-group-compact>*:first-child,.ant-input-number-group.ant-input-number-group-compact>.ant-select:first-child>.ant-select-selector,.ant-input-number-group.ant-input-number-group-compact>.ant-select-auto-complete:first-child .ant-input-number,.ant-input-number-group.ant-input-number-group-compact>.ant-cascader-picker:first-child .ant-input-number{border-start-start-radius:6px;border-end-start-radius:6px;}.ant-input-number-group.ant-input-number-group-compact>*:last-child,.ant-input-number-group.ant-input-number-group-compact>.ant-select:last-child>.ant-select-selector,.ant-input-number-group.ant-input-number-group-compact>.ant-cascader-picker:last-child .ant-input-number,.ant-input-number-group.ant-input-number-group-compact>.ant-cascader-picker-focused:last-child .ant-input-number{border-inline-end-width:1px;border-start-end-radius:6px;border-end-end-radius:6px;}.ant-input-number-group.ant-input-number-group-compact>.ant-select-auto-complete .ant-input-number{vertical-align:top;}.ant-input-number-group.ant-input-number-group-compact .ant-input-number-group-wrapper+.ant-input-number-group-wrapper{margin-inline-start:-1px;}.ant-input-number-group.ant-input-number-group-compact .ant-input-number-group-wrapper+.ant-input-number-group-wrapper .ant-input-number-affix-wrapper{border-radius:0;}.ant-input-number-group.ant-input-number-group-compact .ant-input-number-group-wrapper:not(:last-child).ant-input-number-search>.ant-input-number-group>.ant-input-number-group-addon>.ant-input-number-search-button{border-radius:0;}.ant-input-number-group.ant-input-number-group-compact .ant-input-number-group-wrapper:not(:last-child).ant-input-number-search>.ant-input-number-group>.ant-input-number{border-start-start-radius:6px;border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:6px;}.ant-input-number-group.ant-input-number-group-sm .ant-btn{font-size:12px;height:24px;line-height:normal;}.ant-input-number-group.ant-input-number-group-lg .ant-btn{font-size:16px;height:40px;line-height:normal;}.ant-input-number-group.ant-input-number-group-lg .ant-select-single .ant-select-selector{height:40px;}.ant-input-number-group.ant-input-number-group-lg .ant-select-single .ant-select-selector .ant-select-selection-item,.ant-input-number-group.ant-input-number-group-lg .ant-select-single .ant-select-selector .ant-select-selection-placeholder{line-height:38px;}.ant-input-number-group.ant-input-number-group-lg .ant-select-single .ant-select-selector .ant-select-selection-search-input{height:40px;}.ant-input-number-group.ant-input-number-group-sm .ant-select-single .ant-select-selector{height:24px;}.ant-input-number-group.ant-input-number-group-sm .ant-select-single .ant-select-selector .ant-select-selection-item,.ant-input-number-group.ant-input-number-group-sm .ant-select-single .ant-select-selector .ant-select-selection-placeholder{line-height:22px;}.ant-input-number-group.ant-input-number-group-sm .ant-select-single .ant-select-selector .ant-select-selection-search-input{height:24px;}.ant-input-number-group-wrapper{display:inline-block;text-align:start;vertical-align:top;}.ant-input-number-group-wrapper .ant-input-number-affix-wrapper{width:100%;}.ant-input-number-group-wrapper-lg .ant-input-number-group-addon{border-radius:8px;}.ant-input-number-group-wrapper-sm .ant-input-number-group-addon{border-radius:4px;}.ant-input-number .ant-input-number-input{width:100%;height:30px;padding:0 11px;text-align:start;background-color:transparent;border:0;border-radius:6px;outline:0;transition:all 0.2s linear;appearance:textfield;color:rgba(255, 255, 255, 0.85);font-size:inherit;vertical-align:top;}.ant-input-number .ant-input-number-input::-moz-placeholder{opacity:1;}.ant-input-number .ant-input-number-input::placeholder{color:rgba(255, 255, 255, 0.25);user-select:none;}.ant-input-number .ant-input-number-input:placeholder-shown{text-overflow:ellipsis;}.ant-input-number .ant-input-number-input[type=\\"number\\"]::-webkit-inner-spin-button,.ant-input-number .ant-input-number-input[type=\\"number\\"]::-webkit-outer-spin-button{margin:0;webkit-appearance:none;appearance:none;}.ant-input-number:hover .ant-input-number-handler-wrap,.ant-input-number-focused .ant-input-number-handler-wrap{opacity:1;}.ant-input-number .ant-input-number-handler-wrap{position:absolute;inset-block-start:0;inset-inline-end:0;width:22px;height:100%;background:#141414;border-start-start-radius:0;border-start-end-radius:6px;border-end-end-radius:6px;border-end-start-radius:0;opacity:0;display:flex;flex-direction:column;align-items:stretch;transition:opacity 0.2s linear 0.2s;}.ant-input-number .ant-input-number-handler-wrap .ant-input-number-handler{display:flex;align-items:center;justify-content:center;flex:auto;height:40%;}.ant-input-number .ant-input-number-handler-wrap .ant-input-number-handler .ant-input-number-handler-up-inner,.ant-input-number .ant-input-number-handler-wrap .ant-input-number-handler .ant-input-number-handler-down-inner{margin-inline-end:0;font-size:7px;}.ant-input-number .ant-input-number-handler{height:50%;overflow:hidden;color:rgba(255, 255, 255, 0.45);font-weight:bold;line-height:0;text-align:center;cursor:pointer;border-inline-start:1px solid #424242;transition:all 0.2s linear;}.ant-input-number .ant-input-number-handler:active{background:rgba(255, 255, 255, 0.04);}.ant-input-number .ant-input-number-handler:hover{height:60%;}.ant-input-number .ant-input-number-handler:hover .ant-input-number-handler-up-inner,.ant-input-number .ant-input-number-handler:hover .ant-input-number-handler-down-inner{color:#037003;}.ant-input-number .ant-input-number-handler-up-inner,.ant-input-number .ant-input-number-handler-down-inner{display:inline-flex;align-items:center;color:rgba(255, 255, 255, 0.45);font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:all 0.2s linear;user-select:none;}.ant-input-number .ant-input-number-handler-up-inner >*,.ant-input-number .ant-input-number-handler-down-inner >*{line-height:1;}.ant-input-number .ant-input-number-handler-up-inner svg,.ant-input-number .ant-input-number-handler-down-inner svg{display:inline-block;}.ant-input-number .ant-input-number-handler-up{border-start-end-radius:6px;}.ant-input-number .ant-input-number-handler-down{border-block-start:1px solid #424242;border-end-end-radius:6px;}.ant-input-number-disabled .ant-input-number-handler-wrap,.ant-input-number-readonly .ant-input-number-handler-wrap{display:none;}.ant-input-number .ant-input-number-handler-up-disabled,.ant-input-number .ant-input-number-handler-down-disabled{cursor:not-allowed;}.ant-input-number-handler-up-disabled:hover .ant-input-number-handler-up-inner,.ant-input-number-handler-down-disabled:hover .ant-input-number-handler-down-inner{color:rgba(255, 255, 255, 0.25);}.ant-input-number-borderless{border-color:transparent;box-shadow:none;}.ant-input-number-borderless .ant-input-number-handler-down{border-block-start-width:0;}.ant-input-number-affix-wrapper{position:relative;display:inline-flex;width:90px;min-width:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;background-color:#141414;background-image:none;border-width:1px;border-style:solid;border-color:#424242;border-radius:6px;transition:all 0.2s;padding-inline-start:11px;}.ant-input-number-affix-wrapper::-moz-placeholder{opacity:1;}.ant-input-number-affix-wrapper::placeholder{color:rgba(255, 255, 255, 0.25);user-select:none;}.ant-input-number-affix-wrapper:placeholder-shown{text-overflow:ellipsis;}.ant-input-number-affix-wrapper:hover{border-color:#198016;border-inline-end-width:1px;}.ant-input-number-affix-wrapper:focus,.ant-input-number-affix-wrapper-focused{border-color:#198016;box-shadow:0 0 0 2px rgba(0, 53, 0, 0.15);border-inline-end-width:1px;outline:0;}.ant-input-number-affix-wrapper-disabled,.ant-input-number-affix-wrapper[disabled]{color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.08);border-color:#424242;box-shadow:none;cursor:not-allowed;opacity:1;}.ant-input-number-affix-wrapper-disabled:hover,.ant-input-number-affix-wrapper[disabled]:hover{border-color:#424242;border-inline-end-width:1px;}.ant-input-number-affix-wrapper-borderless,.ant-input-number-affix-wrapper-borderless:hover,.ant-input-number-affix-wrapper-borderless:focus,.ant-input-number-affix-wrapper-borderless-focused,.ant-input-number-affix-wrapper-borderless-disabled,.ant-input-number-affix-wrapper-borderless[disabled]{background-color:transparent;border:none;box-shadow:none;}textarea.ant-input-number-affix-wrapper{max-width:100%;height:auto;min-height:32px;line-height:1.5714285714285714;vertical-align:bottom;transition:all 0.3s,height 0s;resize:vertical;}.ant-input-number-affix-wrapper-lg{border-radius:8px;}.ant-input-number-affix-wrapper-sm{border-radius:4px;}.ant-input-number-affix-wrapper-rtl{direction:rtl;}.ant-input-number-affix-wrapper-textarea-rtl{direction:rtl;}.ant-input-number-affix-wrapper-status-error:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper{border-color:#dc4446;}.ant-input-number-affix-wrapper-status-error:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper:hover{border-color:#7e2e2f;}.ant-input-number-affix-wrapper-status-error:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper:focus,.ant-input-number-affix-wrapper-status-error:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper-focused{border-color:#dc4446;box-shadow:0 0 0 2px rgba(238, 38, 56, 0.11);border-inline-end-width:1px;outline:0;}.ant-input-number-affix-wrapper-status-error:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper .ant-input-number-prefix{color:#dc4446;}.ant-input-number-affix-wrapper-status-warning:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper{border-color:#d89614;}.ant-input-number-affix-wrapper-status-warning:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper:hover{border-color:#7c5914;}.ant-input-number-affix-wrapper-status-warning:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper:focus,.ant-input-number-affix-wrapper-status-warning:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper-focused{border-color:#d89614;box-shadow:0 0 0 2px rgba(173, 107, 0, 0.15);border-inline-end-width:1px;outline:0;}.ant-input-number-affix-wrapper-status-warning:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper .ant-input-number-prefix{color:#d89614;}.ant-input-number-affix-wrapper:not(.ant-input-number-affix-wrapper-disabled):hover{border-color:#198016;border-inline-end-width:1px;z-index:1;}.ant-input-number-affix-wrapper-focused,.ant-input-number-affix-wrapper:focus{z-index:1;}.ant-input-number-affix-wrapper-disabled .ant-input-number[disabled]{background:transparent;}.ant-input-number-affix-wrapper >div.ant-input-number{width:100%;border:none;outline:none;}.ant-input-number-affix-wrapper >div.ant-input-number.ant-input-number-focused{box-shadow:none!important;}.ant-input-number-affix-wrapper input.ant-input-number-input{padding:0;}.ant-input-number-affix-wrapper::before{width:0;visibility:hidden;content:\\"\\\\a0\\";}.ant-input-number-affix-wrapper .ant-input-number-handler-wrap{z-index:2;}.ant-input-number-affix-wrapper .ant-input-number-prefix,.ant-input-number-affix-wrapper .ant-input-number-suffix{display:flex;flex:none;align-items:center;pointer-events:none;}.ant-input-number-affix-wrapper .ant-input-number-prefix{margin-inline-end:4px;}.ant-input-number-affix-wrapper .ant-input-number-suffix{position:absolute;inset-block-start:0;inset-inline-end:0;z-index:1;height:100%;margin-inline-end:11px;margin-inline-start:4px;}.ant-input-number-compact-item:not(.ant-input-number-compact-last-item){margin-inline-end:-1px;}.ant-input-number-compact-item:hover,.ant-input-number-compact-item:focus,.ant-input-number-compact-item:active{z-index:2;}.ant-input-number-compact-item[disabled]{z-index:0;}.ant-input-number-compact-item:not(.ant-input-number-compact-first-item):not(.ant-input-number-compact-last-item){border-radius:0;}.ant-input-number-compact-item:not(.ant-input-number-compact-last-item).ant-input-number-compact-first-item,.ant-input-number-compact-item:not(.ant-input-number-compact-last-item).ant-input-number-compact-first-item.ant-input-number-sm,.ant-input-number-compact-item:not(.ant-input-number-compact-last-item).ant-input-number-compact-first-item.ant-input-number-lg{border-start-end-radius:0;border-end-end-radius:0;}.ant-input-number-compact-item:not(.ant-input-number-compact-first-item).ant-input-number-compact-last-item,.ant-input-number-compact-item:not(.ant-input-number-compact-first-item).ant-input-number-compact-last-item.ant-input-number-sm,.ant-input-number-compact-item:not(.ant-input-number-compact-first-item).ant-input-number-compact-last-item.ant-input-number-lg{border-start-start-radius:0;border-end-start-radius:0;}[class^=\\"ant-layout\\"],[class*=\\" ant-layout\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-layout\\"]::before,[class*=\\" ant-layout\\"]::before,[class^=\\"ant-layout\\"]::after,[class*=\\" ant-layout\\"]::after{box-sizing:border-box;}[class^=\\"ant-layout\\"] [class^=\\"ant-layout\\"],[class*=\\" ant-layout\\"] [class^=\\"ant-layout\\"],[class^=\\"ant-layout\\"] [class*=\\" ant-layout\\"],[class*=\\" ant-layout\\"] [class*=\\" ant-layout\\"]{box-sizing:border-box;}[class^=\\"ant-layout\\"] [class^=\\"ant-layout\\"]::before,[class*=\\" ant-layout\\"] [class^=\\"ant-layout\\"]::before,[class^=\\"ant-layout\\"] [class*=\\" ant-layout\\"]::before,[class*=\\" ant-layout\\"] [class*=\\" ant-layout\\"]::before,[class^=\\"ant-layout\\"] [class^=\\"ant-layout\\"]::after,[class*=\\" ant-layout\\"] [class^=\\"ant-layout\\"]::after,[class^=\\"ant-layout\\"] [class*=\\" ant-layout\\"]::after,[class*=\\" ant-layout\\"] [class*=\\" ant-layout\\"]::after{box-sizing:border-box;}.ant-layout{display:flex;flex:auto;flex-direction:column;min-height:0;background:#000000;}.ant-layout,.ant-layout *{box-sizing:border-box;}.ant-layout.ant-layout-has-sider{flex-direction:row;}.ant-layout.ant-layout-has-sider >.ant-layout,.ant-layout.ant-layout-has-sider >.ant-layout-content{width:0;}.ant-layout .ant-layout-header,.ant-layout.ant-layout-footer{flex:0 0 auto;}.ant-layout .ant-layout-header{height:64px;padding-inline:50px;color:rgba(255, 255, 255, 0.85);line-height:64px;background:#001529;}.ant-layout .ant-layout-header .ant-menu{line-height:inherit;}.ant-layout .ant-layout-footer{padding:24px 50px;color:rgba(255, 255, 255, 0.85);font-size:14px;background:#000000;}.ant-layout .ant-layout-content{flex:auto;min-height:0;}.ant-layout .ant-layout-sider{position:relative;min-width:0;background:#001529;transition:all 0.2s,background 0s;}.ant-layout .ant-layout-sider-children{height:100%;margin-top:-0.1px;padding-top:0.1px;}.ant-layout .ant-layout-sider-children .ant-menu.ant-menu-inline-collapsed{width:auto;}.ant-layout .ant-layout-sider-has-trigger{padding-bottom:48px;}.ant-layout .ant-layout-sider-right{order:1;}.ant-layout .ant-layout-sider-trigger{position:fixed;bottom:0;z-index:1;height:48px;color:#fff;line-height:48px;text-align:center;background:#002140;cursor:pointer;transition:all 0.2s;}.ant-layout .ant-layout-sider-zero-width >*{overflow:hidden;}.ant-layout .ant-layout-sider-zero-width-trigger{position:absolute;top:64px;inset-inline-end:-40px;z-index:1;width:40px;height:40px;color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;background:#001529;border-start-start-radius:0;border-start-end-radius:6px;border-end-end-radius:6px;border-end-start-radius:0;cursor:pointer;transition:background 0.3s ease;}.ant-layout .ant-layout-sider-zero-width-trigger::after{position:absolute;inset:0;background:transparent;transition:all 0.3s;content:\\"\\";}.ant-layout .ant-layout-sider-zero-width-trigger:hover::after{background:rgba(255, 255, 255, 0.2);}.ant-layout .ant-layout-sider-zero-width-trigger-right{inset-inline-start:-40px;border-start-start-radius:6px;border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:6px;}.ant-layout .ant-layout-sider-light{background:#141414;}.ant-layout .ant-layout-sider-light .ant-layout-sider-trigger{color:rgba(255, 255, 255, 0.85);background:#141414;}.ant-layout .ant-layout-sider-light .ant-layout-sider-zero-width-trigger{color:rgba(255, 255, 255, 0.85);background:#141414;border:1px solid #000000;border-inline-start:0;}.ant-layout-rtl{direction:rtl;}[class^=\\"ant-list\\"],[class*=\\" ant-list\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-list\\"]::before,[class*=\\" ant-list\\"]::before,[class^=\\"ant-list\\"]::after,[class*=\\" ant-list\\"]::after{box-sizing:border-box;}[class^=\\"ant-list\\"] [class^=\\"ant-list\\"],[class*=\\" ant-list\\"] [class^=\\"ant-list\\"],[class^=\\"ant-list\\"] [class*=\\" ant-list\\"],[class*=\\" ant-list\\"] [class*=\\" ant-list\\"]{box-sizing:border-box;}[class^=\\"ant-list\\"] [class^=\\"ant-list\\"]::before,[class*=\\" ant-list\\"] [class^=\\"ant-list\\"]::before,[class^=\\"ant-list\\"] [class*=\\" ant-list\\"]::before,[class*=\\" ant-list\\"] [class*=\\" ant-list\\"]::before,[class^=\\"ant-list\\"] [class^=\\"ant-list\\"]::after,[class*=\\" ant-list\\"] [class^=\\"ant-list\\"]::after,[class^=\\"ant-list\\"] [class*=\\" ant-list\\"]::after,[class*=\\" ant-list\\"] [class*=\\" ant-list\\"]::after{box-sizing:border-box;}.ant-list{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;}.ant-list *{outline:none;}.ant-list .ant-list-header,.ant-list .ant-list-footer{background:transparent;padding-block:12px;}.ant-list .ant-list-pagination{margin-block-start:24px;text-align:end;}.ant-list .ant-list-pagination .ant-pagination-options{text-align:start;}.ant-list .ant-list-spin{min-height:40px;text-align:center;}.ant-list .ant-list-items{margin:0;padding:0;list-style:none;}.ant-list .ant-list-item{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;color:rgba(255, 255, 255, 0.85);}.ant-list .ant-list-item .ant-list-item-meta{display:flex;flex:1;align-items:flex-start;max-width:100%;}.ant-list .ant-list-item .ant-list-item-meta .ant-list-item-meta-avatar{margin-inline-end:16px;}.ant-list .ant-list-item .ant-list-item-meta .ant-list-item-meta-content{flex:1 0;width:0;color:rgba(255, 255, 255, 0.85);}.ant-list .ant-list-item .ant-list-item-meta .ant-list-item-meta-title{margin-bottom:4px;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;}.ant-list .ant-list-item .ant-list-item-meta .ant-list-item-meta-title >a{color:rgba(255, 255, 255, 0.85);transition:all 0.3s;}.ant-list .ant-list-item .ant-list-item-meta .ant-list-item-meta-title >a:hover{color:#037003;}.ant-list .ant-list-item .ant-list-item-meta .ant-list-item-meta-description{color:rgba(255, 255, 255, 0.45);font-size:14px;line-height:1.5714285714285714;}.ant-list .ant-list-item .ant-list-item-action{flex:0 0 auto;margin-inline-start:48px;padding:0;font-size:0;list-style:none;}.ant-list .ant-list-item .ant-list-item-action>li{position:relative;display:inline-block;padding:0 8px;color:rgba(255, 255, 255, 0.45);font-size:14px;line-height:1.5714285714285714;text-align:center;}.ant-list .ant-list-item .ant-list-item-action>li:first-child{padding-inline-start:0;}.ant-list .ant-list-item .ant-list-item-action .ant-list-item-action-split{position:absolute;inset-block-start:50%;inset-inline-end:0;width:1px;height:14px;transform:translateY(-50%);background-color:rgba(253, 253, 253, 0.12);}.ant-list .ant-list-empty{padding:16px 0;color:rgba(255, 255, 255, 0.45);font-size:12px;text-align:center;}.ant-list .ant-list-empty-text{padding:16px;color:rgba(255, 255, 255, 0.25);font-size:14px;text-align:center;}.ant-list .ant-list-item-no-flex{display:block;}.ant-list-grid .ant-col>.ant-list-item{display:block;max-width:100%;margin-block-end:16px;padding-block:0;border-block-end:none;}.ant-list-vertical .ant-list-item{align-items:initial;}.ant-list-vertical .ant-list-item .ant-list-item-main{display:block;flex:1;}.ant-list-vertical .ant-list-item .ant-list-item-extra{margin-inline-start:24px;}.ant-list-vertical .ant-list-item .ant-list-item-meta{margin-block-end:16px;}.ant-list-vertical .ant-list-item .ant-list-item-meta .ant-list-item-meta-title{margin-block-end:12px;color:rgba(255, 255, 255, 0.85);font-size:16px;line-height:1.5;}.ant-list-vertical .ant-list-item .ant-list-item-action{margin-block-start:16px;margin-inline-start:auto;}.ant-list-vertical .ant-list-item .ant-list-item-action >li{padding:0 16px;}.ant-list-vertical .ant-list-item .ant-list-item-action >li:first-child{padding-inline-start:0;}.ant-list-split .ant-list-item{border-block-end:1px solid rgba(253, 253, 253, 0.12);}.ant-list-split .ant-list-item:last-child{border-block-end:none;}.ant-list-split .ant-list-header{border-block-end:1px solid rgba(253, 253, 253, 0.12);}.ant-list-split.ant-list-empty .ant-list-footer{border-top:1px solid rgba(253, 253, 253, 0.12);}.ant-list-loading .ant-list-spin-nested-loading{min-height:32px;}.ant-list-split.ant-list-something-after-last-item .ant-spin-container>.ant-list-items>.ant-list-item:last-child{border-block-end:1px solid rgba(253, 253, 253, 0.12);}.ant-list-lg .ant-list-item{padding:16px 24px;}.ant-list-sm .ant-list-item{padding:8px 16px;}.ant-list:not(.ant-list-vertical) .ant-list-item-no-flex .ant-list-item-action{float:right;}.ant-list-bordered{border:1px solid #424242;border-radius:8px;}.ant-list-bordered .ant-list-header,.ant-list-bordered .ant-list-footer,.ant-list-bordered .ant-list-item{padding-inline:24px;}.ant-list-bordered .ant-list-pagination{margin:16px 24px;}.ant-list-bordered.ant-list-sm .ant-list-item,.ant-list-bordered.ant-list-sm .ant-list-header,.ant-list-bordered.ant-list-sm .ant-list-footer{padding:8px 16px;}.ant-list-bordered.ant-list-lg .ant-list-item,.ant-list-bordered.ant-list-lg .ant-list-header,.ant-list-bordered.ant-list-lg .ant-list-footer{padding:16px 24px;}@media screen and (max-width:768){.ant-list .ant-list-item .ant-list-item-action{margin-inline-start:24px;}.ant-list-vertical .ant-list-item .ant-list-item-extra{margin-inline-start:24px;}}@media screen and (max-width: 576){.ant-list .ant-list-item{flex-wrap:wrap;}.ant-list .ant-list-item .ant-list-action{margin-inline-start:12px;}.ant-list-vertical .ant-list-item{flex-wrap:wrap-reverse;}.ant-list-vertical .ant-list-item .ant-list-item-main{min-width:220px;}.ant-list-vertical .ant-list-item .ant-list-item-extra{margin:auto auto 16px;}}[class^=\\"ant-spin\\"],[class*=\\" ant-spin\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-spin\\"]::before,[class*=\\" ant-spin\\"]::before,[class^=\\"ant-spin\\"]::after,[class*=\\" ant-spin\\"]::after{box-sizing:border-box;}[class^=\\"ant-spin\\"] [class^=\\"ant-spin\\"],[class*=\\" ant-spin\\"] [class^=\\"ant-spin\\"],[class^=\\"ant-spin\\"] [class*=\\" ant-spin\\"],[class*=\\" ant-spin\\"] [class*=\\" ant-spin\\"]{box-sizing:border-box;}[class^=\\"ant-spin\\"] [class^=\\"ant-spin\\"]::before,[class*=\\" ant-spin\\"] [class^=\\"ant-spin\\"]::before,[class^=\\"ant-spin\\"] [class*=\\" ant-spin\\"]::before,[class*=\\" ant-spin\\"] [class*=\\" ant-spin\\"]::before,[class^=\\"ant-spin\\"] [class^=\\"ant-spin\\"]::after,[class*=\\" ant-spin\\"] [class^=\\"ant-spin\\"]::after,[class^=\\"ant-spin\\"] [class*=\\" ant-spin\\"]::after,[class*=\\" ant-spin\\"] [class*=\\" ant-spin\\"]::after{box-sizing:border-box;}.ant-spin{box-sizing:border-box;margin:0;padding:0;color:#037003;font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:absolute;display:none;text-align:center;vertical-align:middle;opacity:0;transition:transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);}.ant-spin-spinning{position:static;display:inline-block;opacity:1;}.ant-spin-nested-loading{position:relative;}.ant-spin-nested-loading >div>.ant-spin{position:absolute;top:0;inset-inline-start:0;z-index:4;display:block;width:100%;height:100%;max-height:400px;}.ant-spin-nested-loading >div>.ant-spin .ant-spin-dot{position:absolute;top:50%;inset-inline-start:50%;margin:-10px;}.ant-spin-nested-loading >div>.ant-spin .ant-spin-text{position:absolute;top:50%;width:100%;padding-top:5px;text-shadow:0 1px 2px #141414;}.ant-spin-nested-loading >div>.ant-spin.ant-spin-show-text .ant-spin-dot{margin-top:-20px;}.ant-spin-nested-loading >div>.ant-spin-sm .ant-spin-dot{margin:-7px;}.ant-spin-nested-loading >div>.ant-spin-sm .ant-spin-text{padding-top:2px;}.ant-spin-nested-loading >div>.ant-spin-sm.ant-spin-show-text .ant-spin-dot{margin-top:-17px;}.ant-spin-nested-loading >div>.ant-spin-lg .ant-spin-dot{margin:-16px;}.ant-spin-nested-loading >div>.ant-spin-lg .ant-spin-text{padding-top:11px;}.ant-spin-nested-loading >div>.ant-spin-lg.ant-spin-show-text .ant-spin-dot{margin-top:-26px;}.ant-spin-nested-loading .ant-spin-container{position:relative;transition:opacity 0.3s;}.ant-spin-nested-loading .ant-spin-container::after{position:absolute;top:0;inset-inline-end:0;bottom:0;inset-inline-start:0;z-index:10;width:100%;height:100%;background:#141414;opacity:0;transition:all 0.3s;content:\\"\\";pointer-events:none;}.ant-spin-nested-loading .ant-spin-blur{clear:both;opacity:0.5;user-select:none;pointer-events:none;}.ant-spin-nested-loading .ant-spin-blur::after{opacity:0.4;pointer-events:auto;}.ant-spin-tip{color:rgba(255, 255, 255, 0.45);}.ant-spin .ant-spin-dot{position:relative;display:inline-block;font-size:20px;width:1em;height:1em;}.ant-spin .ant-spin-dot-item{position:absolute;display:block;width:9px;height:9px;background-color:#037003;border-radius:100%;transform:scale(0.75);transform-origin:50% 50%;opacity:0.3;animation-name:antSpinMove;animation-duration:1s;animation-iteration-count:infinite;animation-timing-function:linear;animation-direction:alternate;}.ant-spin .ant-spin-dot-item:nth-child(1){top:0;inset-inline-start:0;}.ant-spin .ant-spin-dot-item:nth-child(2){top:0;inset-inline-end:0;animation-delay:0.4s;}.ant-spin .ant-spin-dot-item:nth-child(3){inset-inline-end:0;bottom:0;animation-delay:0.8s;}.ant-spin .ant-spin-dot-item:nth-child(4){bottom:0;inset-inline-start:0;animation-delay:1.2s;}.ant-spin .ant-spin-dot-spin{transform:rotate(45deg);animation-name:antRotate;animation-duration:1.2s;animation-iteration-count:infinite;animation-timing-function:linear;}.ant-spin-sm .ant-spin-dot{font-size:14px;}.ant-spin-sm .ant-spin-dot i{width:6px;height:6px;}.ant-spin-lg .ant-spin-dot{font-size:32px;}.ant-spin-lg .ant-spin-dot i{width:14px;height:14px;}.ant-spin.ant-spin-show-text .ant-spin-text{display:block;}@keyframes antSpinMove{to{opacity:1;}}@keyframes antRotate{to{transform:rotate(405deg);}}[class^=\\"ant-menu\\"],[class*=\\" ant-menu\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-menu\\"]::before,[class*=\\" ant-menu\\"]::before,[class^=\\"ant-menu\\"]::after,[class*=\\" ant-menu\\"]::after{box-sizing:border-box;}[class^=\\"ant-menu\\"] [class^=\\"ant-menu\\"],[class*=\\" ant-menu\\"] [class^=\\"ant-menu\\"],[class^=\\"ant-menu\\"] [class*=\\" ant-menu\\"],[class*=\\" ant-menu\\"] [class*=\\" ant-menu\\"]{box-sizing:border-box;}[class^=\\"ant-menu\\"] [class^=\\"ant-menu\\"]::before,[class*=\\" ant-menu\\"] [class^=\\"ant-menu\\"]::before,[class^=\\"ant-menu\\"] [class*=\\" ant-menu\\"]::before,[class*=\\" ant-menu\\"] [class*=\\" ant-menu\\"]::before,[class^=\\"ant-menu\\"] [class^=\\"ant-menu\\"]::after,[class*=\\" ant-menu\\"] [class^=\\"ant-menu\\"]::after,[class^=\\"ant-menu\\"] [class*=\\" ant-menu\\"]::after,[class*=\\" ant-menu\\"] [class*=\\" ant-menu\\"]::after{box-sizing:border-box;}.ant-menu::before{display:table;content:\\"\\";}.ant-menu::after{display:table;clear:both;content:\\"\\";}.ant-menu-hidden{display:none;}.ant-menu-submenu-hidden{display:none;}.ant-menu{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:0;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';margin-bottom:0;padding-inline-start:0;outline:none;transition:width 0.3s cubic-bezier(0.2, 0, 0, 1) 0s;}.ant-menu::before{display:table;content:\\"\\";}.ant-menu::after{display:table;clear:both;content:\\"\\";}.ant-menu ul,.ant-menu ol{margin:0;padding:0;list-style:none;}.ant-menu-overflow{display:flex;}.ant-menu-overflow .ant-menu-item{flex:none;}.ant-menu .ant-menu-item,.ant-menu .ant-menu-submenu,.ant-menu .ant-menu-submenu-title{border-radius:8px;}.ant-menu .ant-menu-item-group-title{padding:8px 16px;font-size:14px;line-height:1.5714285714285714;transition:all 0.3s;}.ant-menu-horizontal .ant-menu-submenu{transition:border-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);}.ant-menu .ant-menu-submenu,.ant-menu .ant-menu-submenu-inline{transition:border-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),padding 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);}.ant-menu .ant-menu-submenu .ant-menu-sub{cursor:initial;transition:background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),padding 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);}.ant-menu .ant-menu-title-content{transition:color 0.3s;}.ant-menu .ant-menu-item a::before{position:absolute;inset:0;background-color:transparent;content:\\"\\";}.ant-menu .ant-menu-item-divider{overflow:hidden;line-height:0;border-color:rgba(253, 253, 253, 0.12);border-style:solid;border-width:0;border-top-width:1px;margin-block:1px;padding:0;}.ant-menu .ant-menu-item-divider-dashed{border-style:dashed;}.ant-menu .ant-menu-item,.ant-menu .ant-menu-submenu-title{position:relative;display:block;margin:0;white-space:nowrap;cursor:pointer;transition:border-color 0.3s,background 0.3s,padding 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);}.ant-menu .ant-menu-item .ant-menu-item-icon,.ant-menu .ant-menu-submenu-title .ant-menu-item-icon,.ant-menu .ant-menu-item .anticon,.ant-menu .ant-menu-submenu-title .anticon{min-width:14px;font-size:14px;transition:font-size 0.2s cubic-bezier(0.215, 0.61, 0.355, 1),margin 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),color 0.3s;}.ant-menu .ant-menu-item .ant-menu-item-icon +span,.ant-menu .ant-menu-submenu-title .ant-menu-item-icon +span,.ant-menu .ant-menu-item .anticon +span,.ant-menu .ant-menu-submenu-title .anticon +span{margin-inline-start:10px;opacity:1;transition:opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),margin 0.3s,color 0.3s;}.ant-menu .ant-menu-item .ant-menu-item-icon,.ant-menu .ant-menu-submenu-title .ant-menu-item-icon{display:inline-flex;align-items:center;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.ant-menu .ant-menu-item .ant-menu-item-icon >*,.ant-menu .ant-menu-submenu-title .ant-menu-item-icon >*{line-height:1;}.ant-menu .ant-menu-item .ant-menu-item-icon svg,.ant-menu .ant-menu-submenu-title .ant-menu-item-icon svg{display:inline-block;}.ant-menu .ant-menu-item.ant-menu-item-only-child >.anticon,.ant-menu .ant-menu-submenu-title.ant-menu-item-only-child >.anticon,.ant-menu .ant-menu-item.ant-menu-item-only-child >.ant-menu-item-icon,.ant-menu .ant-menu-submenu-title.ant-menu-item-only-child >.ant-menu-item-icon{margin-inline-end:0;}.ant-menu .ant-menu-item-disabled,.ant-menu .ant-menu-submenu-disabled{background:none!important;cursor:not-allowed;}.ant-menu .ant-menu-item-disabled::after,.ant-menu .ant-menu-submenu-disabled::after{border-color:transparent!important;}.ant-menu .ant-menu-item-disabled a,.ant-menu .ant-menu-submenu-disabled a{color:inherit!important;}.ant-menu .ant-menu-item-disabled >.ant-menu-submenu-title,.ant-menu .ant-menu-submenu-disabled >.ant-menu-submenu-title{color:inherit!important;cursor:not-allowed;}.ant-menu .ant-menu-item-group .ant-menu-item-group-list{margin:0;padding:0;}.ant-menu .ant-menu-item-group .ant-menu-item-group-list .ant-menu-item,.ant-menu .ant-menu-item-group .ant-menu-item-group-list .ant-menu-submenu-title{padding-inline:28px 16px;}.ant-menu-submenu-popup{position:absolute;z-index:1050;background:transparent;border-radius:8px;box-shadow:none;transform-origin:0 0;}.ant-menu-submenu-popup::before{position:absolute;inset:-7px 0 0;z-index:-1;width:100%;height:100%;opacity:0;content:\\"\\";}.ant-menu-submenu-placement-rightTop::before{top:0;inset-inline-start:-7px;}.ant-menu-submenu >.ant-menu{border-radius:8px;}.ant-menu-submenu >.ant-menu .ant-menu-item,.ant-menu-submenu >.ant-menu .ant-menu-submenu-title{position:relative;display:block;margin:0;white-space:nowrap;cursor:pointer;transition:border-color 0.3s,background 0.3s,padding 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);}.ant-menu-submenu >.ant-menu .ant-menu-item .ant-menu-item-icon,.ant-menu-submenu >.ant-menu .ant-menu-submenu-title .ant-menu-item-icon,.ant-menu-submenu >.ant-menu .ant-menu-item .anticon,.ant-menu-submenu >.ant-menu .ant-menu-submenu-title .anticon{min-width:14px;font-size:14px;transition:font-size 0.2s cubic-bezier(0.215, 0.61, 0.355, 1),margin 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),color 0.3s;}.ant-menu-submenu >.ant-menu .ant-menu-item .ant-menu-item-icon +span,.ant-menu-submenu >.ant-menu .ant-menu-submenu-title .ant-menu-item-icon +span,.ant-menu-submenu >.ant-menu .ant-menu-item .anticon +span,.ant-menu-submenu >.ant-menu .ant-menu-submenu-title .anticon +span{margin-inline-start:10px;opacity:1;transition:opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),margin 0.3s,color 0.3s;}.ant-menu-submenu >.ant-menu .ant-menu-item .ant-menu-item-icon,.ant-menu-submenu >.ant-menu .ant-menu-submenu-title .ant-menu-item-icon{display:inline-flex;align-items:center;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.ant-menu-submenu >.ant-menu .ant-menu-item .ant-menu-item-icon >*,.ant-menu-submenu >.ant-menu .ant-menu-submenu-title .ant-menu-item-icon >*{line-height:1;}.ant-menu-submenu >.ant-menu .ant-menu-item .ant-menu-item-icon svg,.ant-menu-submenu >.ant-menu .ant-menu-submenu-title .ant-menu-item-icon svg{display:inline-block;}.ant-menu-submenu >.ant-menu .ant-menu-item.ant-menu-item-only-child >.anticon,.ant-menu-submenu >.ant-menu .ant-menu-submenu-title.ant-menu-item-only-child >.anticon,.ant-menu-submenu >.ant-menu .ant-menu-item.ant-menu-item-only-child >.ant-menu-item-icon,.ant-menu-submenu >.ant-menu .ant-menu-submenu-title.ant-menu-item-only-child >.ant-menu-item-icon{margin-inline-end:0;}.ant-menu-submenu >.ant-menu .ant-menu-item-disabled,.ant-menu-submenu >.ant-menu .ant-menu-submenu-disabled{background:none!important;cursor:not-allowed;}.ant-menu-submenu >.ant-menu .ant-menu-item-disabled::after,.ant-menu-submenu >.ant-menu .ant-menu-submenu-disabled::after{border-color:transparent!important;}.ant-menu-submenu >.ant-menu .ant-menu-item-disabled a,.ant-menu-submenu >.ant-menu .ant-menu-submenu-disabled a{color:inherit!important;}.ant-menu-submenu >.ant-menu .ant-menu-item-disabled >.ant-menu-submenu-title,.ant-menu-submenu >.ant-menu .ant-menu-submenu-disabled >.ant-menu-submenu-title{color:inherit!important;cursor:not-allowed;}.ant-menu-submenu >.ant-menu .ant-menu-submenu-expand-icon,.ant-menu-submenu >.ant-menu .ant-menu-submenu-arrow{position:absolute;top:50%;inset-inline-end:16px;width:10px;color:currentcolor;transform:translateY(-50%);transition:transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.3s;}.ant-menu-submenu >.ant-menu .ant-menu-submenu-arrow::before,.ant-menu-submenu >.ant-menu .ant-menu-submenu-arrow::after{position:absolute;width:6px;height:1.5px;background-color:currentcolor;border-radius:6px;transition:background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);content:\\"\\";}.ant-menu-submenu >.ant-menu .ant-menu-submenu-arrow::before{transform:rotate(45deg) translateY(-2.5px);}.ant-menu-submenu >.ant-menu .ant-menu-submenu-arrow::after{transform:rotate(-45deg) translateY(2.5px);}.ant-menu-submenu >.ant-menu .ant-menu-item,.ant-menu-submenu >.ant-menu .ant-menu-submenu>.ant-menu-submenu-title{border-radius:4px;}.ant-menu-submenu >.ant-menu .ant-menu-submenu-title::after{transition:transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);}.ant-menu .ant-menu-submenu-expand-icon,.ant-menu .ant-menu-submenu-arrow{position:absolute;top:50%;inset-inline-end:16px;width:10px;color:currentcolor;transform:translateY(-50%);transition:transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.3s;}.ant-menu .ant-menu-submenu-arrow::before,.ant-menu .ant-menu-submenu-arrow::after{position:absolute;width:6px;height:1.5px;background-color:currentcolor;border-radius:6px;transition:background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);content:\\"\\";}.ant-menu .ant-menu-submenu-arrow::before{transform:rotate(45deg) translateY(-2.5px);}.ant-menu .ant-menu-submenu-arrow::after{transform:rotate(-45deg) translateY(2.5px);}.ant-menu-inline-collapsed .ant-menu-submenu-arrow::before,.ant-menu-inline .ant-menu-submenu-arrow::before{transform:rotate(-45deg) translateX(2.5px);}.ant-menu-inline-collapsed .ant-menu-submenu-arrow::after,.ant-menu-inline .ant-menu-submenu-arrow::after{transform:rotate(45deg) translateX(-2.5px);}.ant-menu .ant-menu-submenu-open.ant-menu-submenu-inline>.ant-menu-submenu-title>.ant-menu-submenu-arrow{transform:translateY(-2px);}.ant-menu .ant-menu-submenu-open.ant-menu-submenu-inline>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after{transform:rotate(-45deg) translateX(-2.5px);}.ant-menu .ant-menu-submenu-open.ant-menu-submenu-inline>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before{transform:rotate(45deg) translateX(2.5px);}.ant-layout-header .ant-menu{line-height:inherit;}.ant-menu-horizontal{line-height:46px;border:0;border-bottom:1px solid rgba(253, 253, 253, 0.12);box-shadow:none;}.ant-menu-horizontal::after{display:block;clear:both;height:0;content:\\"\\\\20\\";}.ant-menu-horizontal .ant-menu-item,.ant-menu-horizontal .ant-menu-submenu{position:relative;display:inline-block;vertical-align:bottom;padding-inline:16px;}.ant-menu-horizontal >.ant-menu-item:hover,.ant-menu-horizontal >.ant-menu-item-active,.ant-menu-horizontal >.ant-menu-submenu .ant-menu-submenu-title:hover{background-color:transparent;}.ant-menu-horizontal .ant-menu-item,.ant-menu-horizontal .ant-menu-submenu-title{transition:border-color 0.3s,background 0.3s;}.ant-menu-horizontal .ant-menu-submenu-arrow{display:none;}.ant-menu-inline.ant-menu-root,.ant-menu-vertical.ant-menu-root{box-shadow:none;}.ant-menu-inline .ant-menu-item,.ant-menu-vertical .ant-menu-item{position:relative;}.ant-menu-inline .ant-menu-item,.ant-menu-vertical .ant-menu-item,.ant-menu-inline .ant-menu-submenu-title,.ant-menu-vertical .ant-menu-submenu-title{height:40px;line-height:40px;padding-inline:16px;overflow:hidden;text-overflow:ellipsis;margin-inline:4px;margin-block:4px;width:calc(100% - 8px);}.ant-menu-inline .ant-menu-submenu,.ant-menu-vertical .ant-menu-submenu{padding-bottom:0.02px;}.ant-menu-inline >.ant-menu-item,.ant-menu-vertical >.ant-menu-item,.ant-menu-inline >.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu-vertical >.ant-menu-submenu>.ant-menu-submenu-title{height:40px;line-height:40px;}.ant-menu-inline .ant-menu-item-group-list .ant-menu-submenu-title,.ant-menu-vertical .ant-menu-item-group-list .ant-menu-submenu-title,.ant-menu-inline .ant-menu-submenu-title,.ant-menu-vertical .ant-menu-submenu-title{padding-inline-end:34px;}.ant-menu-submenu-popup .ant-menu-vertical{box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);}.ant-menu-submenu-popup .ant-menu-vertical .ant-menu-item{position:relative;}.ant-menu-submenu-popup .ant-menu-vertical .ant-menu-item,.ant-menu-submenu-popup .ant-menu-vertical .ant-menu-submenu-title{height:40px;line-height:40px;padding-inline:16px;overflow:hidden;text-overflow:ellipsis;margin-inline:4px;margin-block:4px;width:calc(100% - 8px);}.ant-menu-submenu-popup .ant-menu-vertical .ant-menu-submenu{padding-bottom:0.02px;}.ant-menu-submenu-popup .ant-menu-vertical >.ant-menu-item,.ant-menu-submenu-popup .ant-menu-vertical >.ant-menu-submenu>.ant-menu-submenu-title{height:40px;line-height:40px;}.ant-menu-submenu-popup .ant-menu-vertical .ant-menu-item-group-list .ant-menu-submenu-title,.ant-menu-submenu-popup .ant-menu-vertical .ant-menu-submenu-title{padding-inline-end:34px;}.ant-menu-submenu-popup .ant-menu-vertical.ant-menu-sub{min-width:160px;max-height:calc(100vh - 100px);padding:0;overflow:hidden;border-inline-end:0;}.ant-menu-submenu-popup .ant-menu-vertical.ant-menu-sub:not([class*='-active']){overflow-x:hidden;overflow-y:auto;}.ant-menu-inline{width:100%;}.ant-menu-inline.ant-menu-root .ant-menu-item,.ant-menu-inline.ant-menu-root .ant-menu-submenu-title{display:flex;align-items:center;transition:border-color 0.3s,background 0.3s,padding 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);}.ant-menu-inline.ant-menu-root .ant-menu-item >.ant-menu-title-content,.ant-menu-inline.ant-menu-root .ant-menu-submenu-title >.ant-menu-title-content{flex:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;}.ant-menu-inline.ant-menu-root .ant-menu-item >*,.ant-menu-inline.ant-menu-root .ant-menu-submenu-title >*{flex:none;}.ant-menu-inline .ant-menu-sub.ant-menu-inline{padding:0;border:0;border-radius:0;box-shadow:none;}.ant-menu-inline .ant-menu-sub.ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title{height:40px;line-height:40px;list-style-position:inside;list-style-type:disc;}.ant-menu-inline .ant-menu-sub.ant-menu-inline .ant-menu-item-group-title{padding-inline-start:32px;}.ant-menu-inline .ant-menu-item{height:40px;line-height:40px;list-style-position:inside;list-style-type:disc;}.ant-menu-inline-collapsed{width:80px;}.ant-menu-inline-collapsed.ant-menu-root .ant-menu-item >.ant-menu-inline-collapsed-noicon,.ant-menu-inline-collapsed.ant-menu-root .ant-menu-submenu .ant-menu-submenu-title >.ant-menu-inline-collapsed-noicon{font-size:16px;text-align:center;}.ant-menu-inline-collapsed >.ant-menu-item,.ant-menu-inline-collapsed >.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item,.ant-menu-inline-collapsed >.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu-inline-collapsed >.ant-menu-submenu>.ant-menu-submenu-title{inset-inline-start:0;padding-inline:calc(50% - 12px);text-overflow:clip;}.ant-menu-inline-collapsed >.ant-menu-item .ant-menu-submenu-arrow,.ant-menu-inline-collapsed >.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .ant-menu-submenu-arrow,.ant-menu-inline-collapsed >.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-inline-collapsed >.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-inline-collapsed >.ant-menu-item .ant-menu-submenu-expand-icon,.ant-menu-inline-collapsed >.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .ant-menu-submenu-expand-icon,.ant-menu-inline-collapsed >.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-expand-icon,.ant-menu-inline-collapsed >.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-expand-icon{opacity:0;}.ant-menu-inline-collapsed >.ant-menu-item .ant-menu-item-icon,.ant-menu-inline-collapsed >.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .ant-menu-item-icon,.ant-menu-inline-collapsed >.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon,.ant-menu-inline-collapsed >.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon,.ant-menu-inline-collapsed >.ant-menu-item .anticon,.ant-menu-inline-collapsed >.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .anticon,.ant-menu-inline-collapsed >.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .anticon,.ant-menu-inline-collapsed >.ant-menu-submenu>.ant-menu-submenu-title .anticon{margin:0;font-size:16px;line-height:40px;}.ant-menu-inline-collapsed >.ant-menu-item .ant-menu-item-icon +span,.ant-menu-inline-collapsed >.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .ant-menu-item-icon +span,.ant-menu-inline-collapsed >.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon +span,.ant-menu-inline-collapsed >.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon +span,.ant-menu-inline-collapsed >.ant-menu-item .anticon +span,.ant-menu-inline-collapsed >.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .anticon +span,.ant-menu-inline-collapsed >.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .anticon +span,.ant-menu-inline-collapsed >.ant-menu-submenu>.ant-menu-submenu-title .anticon +span{display:inline-block;opacity:0;}.ant-menu-inline-collapsed .ant-menu-item-icon,.ant-menu-inline-collapsed .anticon{display:inline-block;}.ant-menu-inline-collapsed-tooltip{pointer-events:none;}.ant-menu-inline-collapsed-tooltip .ant-menu-item-icon,.ant-menu-inline-collapsed-tooltip .anticon{display:none;}.ant-menu-inline-collapsed-tooltip a,.ant-menu-inline-collapsed-tooltip a:hover{color:#fff;}.ant-menu-inline-collapsed .ant-menu-item-group-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding-inline:8px;}.ant-menu-light{color:rgba(255, 255, 255, 0.85);background:#141414;}.ant-menu-light.ant-menu-root:focus-visible{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-menu-light .ant-menu-item-group-title{color:rgba(255, 255, 255, 0.45);}.ant-menu-light .ant-menu-submenu-selected >.ant-menu-submenu-title{color:#037003;}.ant-menu-light .ant-menu-item-disabled,.ant-menu-light .ant-menu-submenu-disabled{color:rgba(255, 255, 255, 0.25)!important;}.ant-menu-light .ant-menu-item:hover:not(.ant-menu-item-selected):not(.ant-menu-submenu-selected),.ant-menu-light .ant-menu-submenu-title:hover:not(.ant-menu-item-selected):not(.ant-menu-submenu-selected){color:rgba(255, 255, 255, 0.85);}.ant-menu-light:not(.ant-menu-horizontal) .ant-menu-item:not(.ant-menu-item-selected):hover{background-color:rgba(255, 255, 255, 0.12);}.ant-menu-light:not(.ant-menu-horizontal) .ant-menu-item:not(.ant-menu-item-selected):active{background-color:#111911;}.ant-menu-light:not(.ant-menu-horizontal) .ant-menu-submenu-title:hover{background-color:rgba(255, 255, 255, 0.12);}.ant-menu-light:not(.ant-menu-horizontal) .ant-menu-submenu-title:active{background-color:#111911;}.ant-menu-light .ant-menu-item-danger{color:#dc4446;}.ant-menu-light .ant-menu-item-danger.ant-menu-item:hover:not(.ant-menu-item-selected):not(.ant-menu-submenu-selected){color:#dc4446;}.ant-menu-light .ant-menu-item-danger.ant-menu-item:active{background:#2c1618;}.ant-menu-light .ant-menu-item a,.ant-menu-light .ant-menu-item a:hover{color:inherit;}.ant-menu-light .ant-menu-item-selected{color:#037003;}.ant-menu-light .ant-menu-item-selected.ant-menu-item-danger{color:#dc4446;}.ant-menu-light .ant-menu-item-selected a,.ant-menu-light .ant-menu-item-selected a:hover{color:inherit;}.ant-menu-light .ant-menu-item-selected{background-color:#111911;}.ant-menu-light .ant-menu-item-selected.ant-menu-item-danger{background-color:#2c1618;}.ant-menu-light .ant-menu-item:not(.ant-menu-item-disabled):focus-visible,.ant-menu-light .ant-menu-submenu-title:not(.ant-menu-item-disabled):focus-visible{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-menu-light.ant-menu-submenu>.ant-menu{background-color:#1f1f1f;}.ant-menu-light.ant-menu-popup>.ant-menu{background-color:#141414;}.ant-menu-light.ant-menu-horizontal >.ant-menu-item,.ant-menu-light.ant-menu-horizontal >.ant-menu-submenu{top:1px;margin-top:-1px;margin-bottom:0;border-radius:0;}.ant-menu-light.ant-menu-horizontal >.ant-menu-item::after,.ant-menu-light.ant-menu-horizontal >.ant-menu-submenu::after{position:absolute;inset-inline:16px;bottom:0;border-bottom:2px solid transparent;transition:border-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);content:\\"\\";}.ant-menu-light.ant-menu-horizontal >.ant-menu-item:hover::after,.ant-menu-light.ant-menu-horizontal >.ant-menu-submenu:hover::after,.ant-menu-light.ant-menu-horizontal >.ant-menu-item-active::after,.ant-menu-light.ant-menu-horizontal >.ant-menu-submenu-active::after,.ant-menu-light.ant-menu-horizontal >.ant-menu-item-open::after,.ant-menu-light.ant-menu-horizontal >.ant-menu-submenu-open::after{border-bottom-width:2px;border-bottom-color:#037003;}.ant-menu-light.ant-menu-horizontal >.ant-menu-item-selected,.ant-menu-light.ant-menu-horizontal >.ant-menu-submenu-selected{color:#037003;background-color:transparent;}.ant-menu-light.ant-menu-horizontal >.ant-menu-item-selected::after,.ant-menu-light.ant-menu-horizontal >.ant-menu-submenu-selected::after{border-bottom-width:2px;border-bottom-color:#037003;}.ant-menu-light.ant-menu-root.ant-menu-inline,.ant-menu-light.ant-menu-root.ant-menu-vertical{border-inline-end:1px solid rgba(253, 253, 253, 0.12);}.ant-menu-light.ant-menu-inline .ant-menu-sub.ant-menu-inline{background:rgba(255, 255, 255, 0.04);}.ant-menu-light.ant-menu-inline .ant-menu-item{position:relative;}.ant-menu-light.ant-menu-inline .ant-menu-item::after{position:absolute;inset-block:0;inset-inline-end:0;border-inline-end:0px solid #037003;transform:scaleY(0.0001);opacity:0;transition:transform 0.2s cubic-bezier(0.215, 0.61, 0.355, 1),opacity 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);content:\\"\\";}.ant-menu-light.ant-menu-inline .ant-menu-item.ant-menu-item-danger::after{border-inline-end-color:#dc4446;}.ant-menu-light.ant-menu-inline .ant-menu-selected::after,.ant-menu-light.ant-menu-inline .ant-menu-item-selected::after{transform:scaleY(1);opacity:1;transition:transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);}.ant-menu-dark{color:rgba(255, 255, 255, 0.65);background:#001529;}.ant-menu-dark.ant-menu-root:focus-visible{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-menu-dark .ant-menu-item-group-title{color:rgba(255, 255, 255, 0.65);}.ant-menu-dark .ant-menu-submenu-selected >.ant-menu-submenu-title{color:#fff;}.ant-menu-dark .ant-menu-item-disabled,.ant-menu-dark .ant-menu-submenu-disabled{color:rgba(255, 255, 255, 0.25)!important;}.ant-menu-dark .ant-menu-item:hover:not(.ant-menu-item-selected):not(.ant-menu-submenu-selected),.ant-menu-dark .ant-menu-submenu-title:hover:not(.ant-menu-item-selected):not(.ant-menu-submenu-selected){color:#fff;}.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item:not(.ant-menu-item-selected):hover{background-color:rgba(255, 255, 255, 0.12);}.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item:not(.ant-menu-item-selected):active{background-color:#037003;}.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-submenu-title:hover{background-color:rgba(255, 255, 255, 0.12);}.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-submenu-title:active{background-color:#037003;}.ant-menu-dark .ant-menu-item-danger{color:#dc4446;}.ant-menu-dark .ant-menu-item-danger.ant-menu-item:hover:not(.ant-menu-item-selected):not(.ant-menu-submenu-selected){color:#e86e6b;}.ant-menu-dark .ant-menu-item-danger.ant-menu-item:active{background:#dc4446;}.ant-menu-dark .ant-menu-item a,.ant-menu-dark .ant-menu-item a:hover{color:inherit;}.ant-menu-dark .ant-menu-item-selected{color:#fff;}.ant-menu-dark .ant-menu-item-selected.ant-menu-item-danger{color:#fff;}.ant-menu-dark .ant-menu-item-selected a,.ant-menu-dark .ant-menu-item-selected a:hover{color:inherit;}.ant-menu-dark .ant-menu-item-selected{background-color:#037003;}.ant-menu-dark .ant-menu-item-selected.ant-menu-item-danger{background-color:#dc4446;}.ant-menu-dark .ant-menu-item:not(.ant-menu-item-disabled):focus-visible,.ant-menu-dark .ant-menu-submenu-title:not(.ant-menu-item-disabled):focus-visible{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-menu-dark.ant-menu-submenu>.ant-menu{background-color:#001529;}.ant-menu-dark.ant-menu-popup>.ant-menu{background-color:#001529;}.ant-menu-dark.ant-menu-horizontal{border-bottom:0;}.ant-menu-dark.ant-menu-horizontal >.ant-menu-item,.ant-menu-dark.ant-menu-horizontal >.ant-menu-submenu{top:0;margin-top:0;margin-bottom:0;border-radius:0;}.ant-menu-dark.ant-menu-horizontal >.ant-menu-item::after,.ant-menu-dark.ant-menu-horizontal >.ant-menu-submenu::after{position:absolute;inset-inline:16px;bottom:0;border-bottom:0px solid transparent;transition:border-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);content:\\"\\";}.ant-menu-dark.ant-menu-horizontal >.ant-menu-item:hover::after,.ant-menu-dark.ant-menu-horizontal >.ant-menu-submenu:hover::after,.ant-menu-dark.ant-menu-horizontal >.ant-menu-item-active::after,.ant-menu-dark.ant-menu-horizontal >.ant-menu-submenu-active::after,.ant-menu-dark.ant-menu-horizontal >.ant-menu-item-open::after,.ant-menu-dark.ant-menu-horizontal >.ant-menu-submenu-open::after{border-bottom-width:0;border-bottom-color:#fff;}.ant-menu-dark.ant-menu-horizontal >.ant-menu-item-selected,.ant-menu-dark.ant-menu-horizontal >.ant-menu-submenu-selected{color:#fff;background-color:#037003;}.ant-menu-dark.ant-menu-horizontal >.ant-menu-item-selected::after,.ant-menu-dark.ant-menu-horizontal >.ant-menu-submenu-selected::after{border-bottom-width:0;border-bottom-color:#fff;}.ant-menu-dark.ant-menu-root.ant-menu-inline,.ant-menu-dark.ant-menu-root.ant-menu-vertical{border-inline-end:0px solid rgba(253, 253, 253, 0.12);}.ant-menu-dark.ant-menu-inline .ant-menu-sub.ant-menu-inline{background:#000c17;}.ant-menu-dark.ant-menu-inline .ant-menu-item{position:relative;}.ant-menu-dark.ant-menu-inline .ant-menu-item::after{position:absolute;inset-block:0;inset-inline-end:0;border-inline-end:0px solid #fff;transform:scaleY(0.0001);opacity:0;transition:transform 0.2s cubic-bezier(0.215, 0.61, 0.355, 1),opacity 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);content:\\"\\";}.ant-menu-dark.ant-menu-inline .ant-menu-item.ant-menu-item-danger::after{border-inline-end-color:#fff;}.ant-menu-dark.ant-menu-inline .ant-menu-selected::after,.ant-menu-dark.ant-menu-inline .ant-menu-item-selected::after{transform:scaleY(1);opacity:1;transition:transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);}.ant-menu-rtl{direction:rtl;}.ant-menu-submenu-rtl{transform-origin:100% 0;}.ant-menu-rtl.ant-menu-vertical .ant-menu-submenu-arrow::before,.ant-menu-submenu-rtl .ant-menu-vertical .ant-menu-submenu-arrow::before{transform:rotate(-45deg) translateY(-2.5px);}.ant-menu-rtl.ant-menu-vertical .ant-menu-submenu-arrow::after,.ant-menu-submenu-rtl .ant-menu-vertical .ant-menu-submenu-arrow::after{transform:rotate(45deg) translateY(2.5px);}.ant-menu .ant-motion-collapse-legacy{overflow:hidden;}.ant-menu .ant-motion-collapse-legacy-active{transition:height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)!important;}.ant-menu .ant-motion-collapse{overflow:hidden;transition:height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)!important;}.ant-slide-up-enter,.ant-slide-up-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-slide-up-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-slide-up-enter.ant-slide-up-enter-active,.ant-slide-up-appear.ant-slide-up-appear-active{animation-name:antSlideUpIn;animation-play-state:running;}.ant-slide-up-leave.ant-slide-up-leave-active{animation-name:antSlideUpOut;animation-play-state:running;pointer-events:none;}.ant-slide-up-enter,.ant-slide-up-appear{transform:scale(0);transform-origin:0% 0%;opacity:0;animation-timing-function:cubic-bezier(0.23, 1, 0.32, 1);}.ant-slide-up-leave{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);}.ant-slide-down-enter,.ant-slide-down-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-slide-down-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-slide-down-enter.ant-slide-down-enter-active,.ant-slide-down-appear.ant-slide-down-appear-active{animation-name:antSlideDownIn;animation-play-state:running;}.ant-slide-down-leave.ant-slide-down-leave-active{animation-name:antSlideDownOut;animation-play-state:running;pointer-events:none;}.ant-slide-down-enter,.ant-slide-down-appear{transform:scale(0);transform-origin:0% 0%;opacity:0;animation-timing-function:cubic-bezier(0.23, 1, 0.32, 1);}.ant-slide-down-leave{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);}.ant-zoom-big-enter,.ant-zoom-big-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-zoom-big-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-zoom-big-enter.ant-zoom-big-enter-active,.ant-zoom-big-appear.ant-zoom-big-appear-active{animation-name:antZoomBigIn;animation-play-state:running;}.ant-zoom-big-leave.ant-zoom-big-leave-active{animation-name:antZoomBigOut;animation-play-state:running;pointer-events:none;}.ant-zoom-big-enter,.ant-zoom-big-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}.ant-zoom-big-enter-prepare,.ant-zoom-big-appear-prepare{transform:none;}.ant-zoom-big-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}[class^=\\"ant-mentions\\"],[class*=\\" ant-mentions\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-mentions\\"]::before,[class*=\\" ant-mentions\\"]::before,[class^=\\"ant-mentions\\"]::after,[class*=\\" ant-mentions\\"]::after{box-sizing:border-box;}[class^=\\"ant-mentions\\"] [class^=\\"ant-mentions\\"],[class*=\\" ant-mentions\\"] [class^=\\"ant-mentions\\"],[class^=\\"ant-mentions\\"] [class*=\\" ant-mentions\\"],[class*=\\" ant-mentions\\"] [class*=\\" ant-mentions\\"]{box-sizing:border-box;}[class^=\\"ant-mentions\\"] [class^=\\"ant-mentions\\"]::before,[class*=\\" ant-mentions\\"] [class^=\\"ant-mentions\\"]::before,[class^=\\"ant-mentions\\"] [class*=\\" ant-mentions\\"]::before,[class*=\\" ant-mentions\\"] [class*=\\" ant-mentions\\"]::before,[class^=\\"ant-mentions\\"] [class^=\\"ant-mentions\\"]::after,[class*=\\" ant-mentions\\"] [class^=\\"ant-mentions\\"]::after,[class^=\\"ant-mentions\\"] [class*=\\" ant-mentions\\"]::after,[class*=\\" ant-mentions\\"] [class*=\\" ant-mentions\\"]::after{box-sizing:border-box;}.ant-mentions{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;display:inline-block;width:100%;min-width:0;background-color:#141414;background-image:none;border-width:1px;border-style:solid;border-color:#424242;border-radius:6px;transition:all 0.2s;height:auto;overflow:hidden;white-space:pre-wrap;vertical-align:bottom;}.ant-mentions::-moz-placeholder{opacity:1;}.ant-mentions::placeholder{color:rgba(255, 255, 255, 0.25);user-select:none;}.ant-mentions:placeholder-shown{text-overflow:ellipsis;}.ant-mentions:hover{border-color:#198016;border-inline-end-width:1px;}.ant-mentions:focus,.ant-mentions-focused{border-color:#198016;box-shadow:0 0 0 2px rgba(0, 53, 0, 0.15);border-inline-end-width:1px;outline:0;}.ant-mentions-disabled,.ant-mentions[disabled]{color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.08);border-color:#424242;box-shadow:none;cursor:not-allowed;opacity:1;}.ant-mentions-disabled:hover,.ant-mentions[disabled]:hover{border-color:#424242;border-inline-end-width:1px;}.ant-mentions-borderless,.ant-mentions-borderless:hover,.ant-mentions-borderless:focus,.ant-mentions-borderless-focused,.ant-mentions-borderless-disabled,.ant-mentions-borderless[disabled]{background-color:transparent;border:none;box-shadow:none;}textarea.ant-mentions{max-width:100%;height:auto;min-height:32px;line-height:1.5714285714285714;vertical-align:bottom;transition:all 0.3s,height 0s;resize:vertical;}.ant-mentions-lg{padding:7px 11px;font-size:16px;line-height:1.5;border-radius:8px;}.ant-mentions-sm{padding:0px 7px;border-radius:4px;}.ant-mentions-rtl{direction:rtl;}.ant-mentions-textarea-rtl{direction:rtl;}.ant-mentions-status-error:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions{border-color:#dc4446;}.ant-mentions-status-error:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions:hover{border-color:#7e2e2f;}.ant-mentions-status-error:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions:focus,.ant-mentions-status-error:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions-focused{border-color:#dc4446;box-shadow:0 0 0 2px rgba(238, 38, 56, 0.11);border-inline-end-width:1px;outline:0;}.ant-mentions-status-error:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions .ant-mentions-prefix{color:#dc4446;}.ant-mentions-status-warning:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions{border-color:#d89614;}.ant-mentions-status-warning:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions:hover{border-color:#7c5914;}.ant-mentions-status-warning:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions:focus,.ant-mentions-status-warning:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions-focused{border-color:#d89614;box-shadow:0 0 0 2px rgba(173, 107, 0, 0.15);border-inline-end-width:1px;outline:0;}.ant-mentions-status-warning:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions .ant-mentions-prefix{color:#d89614;}.ant-mentions-disabled >textarea{color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.08);border-color:#424242;box-shadow:none;cursor:not-allowed;opacity:1;}.ant-mentions-disabled >textarea:hover{border-color:#424242;border-inline-end-width:1px;}.ant-mentions-focused{border-color:#198016;box-shadow:0 0 0 2px rgba(0, 53, 0, 0.15);border-inline-end-width:1px;outline:0;}.ant-mentions-affix-wrapper .ant-mentions-suffix{position:absolute;top:0;inset-inline-end:11px;bottom:0;z-index:1;display:inline-flex;align-items:center;margin:auto;}.ant-mentions >textarea,.ant-mentions .ant-mentions-measure{color:rgba(255, 255, 255, 0.85);box-sizing:border-box;min-height:30px;margin:0;padding:4px 11px;overflow:inherit;overflow-x:hidden;overflow-y:auto;font-weight:inherit;font-size:inherit;font-family:inherit;font-style:inherit;font-variant:inherit;font-size-adjust:inherit;font-stretch:inherit;line-height:inherit;direction:inherit;letter-spacing:inherit;white-space:inherit;text-align:inherit;vertical-align:top;word-wrap:break-word;word-break:inherit;tab-size:inherit;}.ant-mentions >textarea{width:100%;border:none;outline:none;resize:none;background-color:inherit;}.ant-mentions >textarea::-moz-placeholder{opacity:1;}.ant-mentions >textarea::placeholder{color:rgba(255, 255, 255, 0.25);user-select:none;}.ant-mentions >textarea:placeholder-shown{text-overflow:ellipsis;}.ant-mentions .ant-mentions-measure{position:absolute;top:0;inset-inline-end:0;bottom:0;inset-inline-start:0;z-index:-1;color:transparent;pointer-events:none;}.ant-mentions .ant-mentions-measure >span{display:inline-block;min-height:1em;}.ant-mentions-dropdown{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:absolute;top:-9999px;inset-inline-start:-9999px;z-index:1050;font-variant:initial;background-color:#1f1f1f;border-radius:8px;outline:none;box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);}.ant-mentions-dropdown-hidden{display:none;}.ant-mentions-dropdown .ant-mentions-dropdown-menu{max-height:250px;margin-bottom:0;padding-inline-start:0;overflow:auto;list-style:none;outline:none;}.ant-mentions-dropdown .ant-mentions-dropdown-menu-item{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;position:relative;display:block;min-width:100px;padding:5px 12px;color:rgba(255, 255, 255, 0.85);font-weight:normal;line-height:1.5714285714285714;cursor:pointer;transition:background 0.3s ease;}.ant-mentions-dropdown .ant-mentions-dropdown-menu-item:hover{background-color:rgba(255, 255, 255, 0.08);}.ant-mentions-dropdown .ant-mentions-dropdown-menu-item:first-child{border-start-start-radius:8px;border-start-end-radius:8px;border-end-start-radius:0;border-end-end-radius:0;}.ant-mentions-dropdown .ant-mentions-dropdown-menu-item:last-child{border-start-start-radius:0;border-start-end-radius:0;border-end-start-radius:8px;border-end-end-radius:8px;}.ant-mentions-dropdown .ant-mentions-dropdown-menu-item-disabled{color:rgba(255, 255, 255, 0.25);cursor:not-allowed;}.ant-mentions-dropdown .ant-mentions-dropdown-menu-item-disabled:hover{color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.08);cursor:not-allowed;}.ant-mentions-dropdown .ant-mentions-dropdown-menu-item-selected{color:rgba(255, 255, 255, 0.85);font-weight:600;background-color:rgba(255, 255, 255, 0.08);}.ant-mentions-dropdown .ant-mentions-dropdown-menu-item-active{background-color:rgba(255, 255, 255, 0.08);}[class^=\\"ant-modal\\"],[class*=\\" ant-modal\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-modal\\"]::before,[class*=\\" ant-modal\\"]::before,[class^=\\"ant-modal\\"]::after,[class*=\\" ant-modal\\"]::after{box-sizing:border-box;}[class^=\\"ant-modal\\"] [class^=\\"ant-modal\\"],[class*=\\" ant-modal\\"] [class^=\\"ant-modal\\"],[class^=\\"ant-modal\\"] [class*=\\" ant-modal\\"],[class*=\\" ant-modal\\"] [class*=\\" ant-modal\\"]{box-sizing:border-box;}[class^=\\"ant-modal\\"] [class^=\\"ant-modal\\"]::before,[class*=\\" ant-modal\\"] [class^=\\"ant-modal\\"]::before,[class^=\\"ant-modal\\"] [class*=\\" ant-modal\\"]::before,[class*=\\" ant-modal\\"] [class*=\\" ant-modal\\"]::before,[class^=\\"ant-modal\\"] [class^=\\"ant-modal\\"]::after,[class*=\\" ant-modal\\"] [class^=\\"ant-modal\\"]::after,[class^=\\"ant-modal\\"] [class*=\\" ant-modal\\"]::after,[class*=\\" ant-modal\\"] [class*=\\" ant-modal\\"]::after{box-sizing:border-box;}.ant-modal-root .ant-modal-wrap{z-index:1000;position:fixed;inset:0;overflow:auto;outline:0;-webkit-overflow-scrolling:touch;}.ant-modal-root .ant-modal-wrap-rtl{direction:rtl;}.ant-modal-root .ant-modal-centered{text-align:center;}.ant-modal-root .ant-modal-centered::before{display:inline-block;width:0;height:100%;vertical-align:middle;content:\\"\\";}.ant-modal-root .ant-modal-centered .ant-modal{top:0;display:inline-block;padding-bottom:0;text-align:start;vertical-align:middle;}@media (max-width: 767){.ant-modal-root .ant-modal{max-width:calc(100vw - 16px);margin:8 auto;}.ant-modal-root .ant-modal-centered .ant-modal{flex:1;}}.ant-modal{box-sizing:border-box;margin:0 auto;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';pointer-events:none;position:relative;top:100px;width:auto;max-width:calc(100vw - 32px);padding-bottom:24px;}.ant-modal .ant-modal-title{margin:0;color:rgba(255, 255, 255, 0.85);font-weight:600;font-size:16px;line-height:1.5;word-wrap:break-word;}.ant-modal .ant-modal-content{position:relative;background-color:#1f1f1f;background-clip:padding-box;border:0;border-radius:8px;box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);pointer-events:auto;padding:20px 24px;}.ant-modal .ant-modal-close{position:absolute;top:17px;inset-inline-end:17px;z-index:1010;padding:0;color:rgba(255, 255, 255, 0.45);font-weight:600;line-height:1;text-decoration:none;background:transparent;border-radius:4px;width:22px;height:22px;border:0;outline:0;cursor:pointer;transition:color 0.2s,background-color 0.2s;}.ant-modal .ant-modal-close-x{display:block;font-size:16px;font-style:normal;line-height:22px;text-align:center;text-transform:none;text-rendering:auto;}.ant-modal .ant-modal-close:hover{color:rgba(255, 255, 255, 0.85);background-color:rgba(255, 255, 255, 0.12);text-decoration:none;}.ant-modal .ant-modal-close:active{background-color:rgba(255, 255, 255, 0.18);}.ant-modal .ant-modal-close:focus-visible{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-modal .ant-modal-header{color:rgba(255, 255, 255, 0.85);background:#1f1f1f;border-radius:8px 8px 0 0;margin-bottom:8px;}.ant-modal .ant-modal-body{font-size:14px;line-height:1.5714285714285714;word-wrap:break-word;}.ant-modal .ant-modal-footer{text-align:end;background:transparent;margin-top:12px;}.ant-modal .ant-modal-footer .ant-btn+.ant-btn:not(.ant-dropdown-trigger){margin-bottom:0;margin-inline-start:8px;}.ant-modal .ant-modal-open{overflow:hidden;}.ant-modal-pure-panel{top:auto;padding:0;display:flex;flex-direction:column;}.ant-modal-pure-panel .ant-modal-content,.ant-modal-pure-panel .ant-modal-body,.ant-modal-pure-panel .ant-modal-confirm-body-wrapper{display:flex;flex-direction:column;flex:auto;}.ant-modal-pure-panel .ant-modal-confirm-body{margin-bottom:auto;}.ant-modal-confirm-rtl{direction:rtl;}.ant-modal-confirm .ant-modal-header{display:none;}.ant-modal-confirm .ant-modal-confirm-body-wrapper::before{display:table;content:\\"\\";}.ant-modal-confirm .ant-modal-confirm-body-wrapper::after{display:table;clear:both;content:\\"\\";}.ant-modal-confirm .ant-modal-confirm-body{display:flex;flex-wrap:wrap;align-items:center;}.ant-modal-confirm .ant-modal-confirm-body .ant-modal-confirm-title{flex:0 0 100%;display:block;overflow:hidden;color:rgba(255, 255, 255, 0.85);font-weight:600;font-size:16px;line-height:1.5;}.ant-modal-confirm .ant-modal-confirm-body .ant-modal-confirm-title +.ant-modal-confirm-content{margin-block-start:8px;flex-basis:100%;max-width:calc(100% - 34px);}.ant-modal-confirm .ant-modal-confirm-body .ant-modal-confirm-content{color:rgba(255, 255, 255, 0.85);font-size:14px;}.ant-modal-confirm .ant-modal-confirm-body >.anticon{flex:none;margin-inline-end:12px;font-size:22px;}.ant-modal-confirm .ant-modal-confirm-body >.anticon +.ant-modal-confirm-title{flex:1;}.ant-modal-confirm .ant-modal-confirm-body >.anticon +.ant-modal-confirm-title+.ant-modal-confirm-content{margin-inline-start:34px;}.ant-modal-confirm .ant-modal-confirm-btns{text-align:end;margin-top:12px;}.ant-modal-confirm .ant-modal-confirm-btns .ant-btn+.ant-btn{margin-bottom:0;margin-inline-start:8px;}.ant-modal-confirm-error .ant-modal-confirm-body>.anticon{color:#dc4446;}.ant-modal-confirm-warning .ant-modal-confirm-body>.anticon,.ant-modal-confirm-confirm .ant-modal-confirm-body>.anticon{color:#d89614;}.ant-modal-confirm-info .ant-modal-confirm-body>.anticon{color:#1668dc;}.ant-modal-confirm-success .ant-modal-confirm-body>.anticon{color:#49aa19;}.ant-modal-zoom-leave .ant-modal-btns{pointer-events:none;}.ant-modal-root .ant-modal-wrap-rtl{direction:rtl;}.ant-modal-root .ant-modal-wrap-rtl .ant-modal-confirm-body{direction:rtl;}.ant-modal-root .ant-modal.ant-zoom-enter,.ant-modal-root .ant-modal.ant-zoom-appear{transform:none;opacity:0;animation-duration:0.3s;user-select:none;}.ant-modal-root .ant-modal.ant-zoom-leave .ant-modal-content{pointer-events:none;}.ant-modal-root .ant-modal-mask{position:fixed;top:0;inset-inline-end:0;bottom:0;inset-inline-start:0;z-index:1000;height:100%;background-color:rgba(0, 0, 0, 0.45);}.ant-modal-root .ant-modal-mask .ant-modal-hidden{display:none;}.ant-modal-root .ant-modal-wrap{position:fixed;top:0;inset-inline-end:0;bottom:0;inset-inline-start:0;overflow:auto;outline:0;-webkit-overflow-scrolling:touch;}.ant-modal-root .ant-fade-enter,.ant-modal-root .ant-fade-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-modal-root .ant-fade-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-modal-root .ant-fade-enter.ant-fade-enter-active,.ant-modal-root .ant-fade-appear.ant-fade-appear-active{animation-name:antFadeIn;animation-play-state:running;}.ant-modal-root .ant-fade-leave.ant-fade-leave-active{animation-name:antFadeOut;animation-play-state:running;pointer-events:none;}.ant-modal-root .ant-fade-enter,.ant-modal-root .ant-fade-appear{opacity:0;animation-timing-function:linear;}.ant-modal-root .ant-fade-leave{animation-timing-function:linear;}.ant-zoom-enter,.ant-zoom-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-zoom-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-zoom-enter.ant-zoom-enter-active,.ant-zoom-appear.ant-zoom-appear-active{animation-name:antZoomIn;animation-play-state:running;}.ant-zoom-leave.ant-zoom-leave-active{animation-name:antZoomOut;animation-play-state:running;pointer-events:none;}.ant-zoom-enter,.ant-zoom-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}.ant-zoom-enter-prepare,.ant-zoom-appear-prepare{transform:none;}.ant-zoom-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}[class^=\\"ant-statistic\\"],[class*=\\" ant-statistic\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-statistic\\"]::before,[class*=\\" ant-statistic\\"]::before,[class^=\\"ant-statistic\\"]::after,[class*=\\" ant-statistic\\"]::after{box-sizing:border-box;}[class^=\\"ant-statistic\\"] [class^=\\"ant-statistic\\"],[class*=\\" ant-statistic\\"] [class^=\\"ant-statistic\\"],[class^=\\"ant-statistic\\"] [class*=\\" ant-statistic\\"],[class*=\\" ant-statistic\\"] [class*=\\" ant-statistic\\"]{box-sizing:border-box;}[class^=\\"ant-statistic\\"] [class^=\\"ant-statistic\\"]::before,[class*=\\" ant-statistic\\"] [class^=\\"ant-statistic\\"]::before,[class^=\\"ant-statistic\\"] [class*=\\" ant-statistic\\"]::before,[class*=\\" ant-statistic\\"] [class*=\\" ant-statistic\\"]::before,[class^=\\"ant-statistic\\"] [class^=\\"ant-statistic\\"]::after,[class*=\\" ant-statistic\\"] [class^=\\"ant-statistic\\"]::after,[class^=\\"ant-statistic\\"] [class*=\\" ant-statistic\\"]::after,[class*=\\" ant-statistic\\"] [class*=\\" ant-statistic\\"]::after{box-sizing:border-box;}.ant-statistic{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';}.ant-statistic .ant-statistic-title{margin-bottom:4px;color:rgba(255, 255, 255, 0.45);font-size:14px;}.ant-statistic .ant-statistic-skeleton{padding-top:16px;}.ant-statistic .ant-statistic-content{color:rgba(255, 255, 255, 0.85);font-size:24px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';}.ant-statistic .ant-statistic-content .ant-statistic-content-value{display:inline-block;direction:ltr;}.ant-statistic .ant-statistic-content .ant-statistic-content-prefix,.ant-statistic .ant-statistic-content .ant-statistic-content-suffix{display:inline-block;}.ant-statistic .ant-statistic-content .ant-statistic-content-prefix{margin-inline-end:4px;}.ant-statistic .ant-statistic-content .ant-statistic-content-suffix{margin-inline-start:4px;}[class^=\\"ant-skeleton\\"],[class*=\\" ant-skeleton\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-skeleton\\"]::before,[class*=\\" ant-skeleton\\"]::before,[class^=\\"ant-skeleton\\"]::after,[class*=\\" ant-skeleton\\"]::after{box-sizing:border-box;}[class^=\\"ant-skeleton\\"] [class^=\\"ant-skeleton\\"],[class*=\\" ant-skeleton\\"] [class^=\\"ant-skeleton\\"],[class^=\\"ant-skeleton\\"] [class*=\\" ant-skeleton\\"],[class*=\\" ant-skeleton\\"] [class*=\\" ant-skeleton\\"]{box-sizing:border-box;}[class^=\\"ant-skeleton\\"] [class^=\\"ant-skeleton\\"]::before,[class*=\\" ant-skeleton\\"] [class^=\\"ant-skeleton\\"]::before,[class^=\\"ant-skeleton\\"] [class*=\\" ant-skeleton\\"]::before,[class*=\\" ant-skeleton\\"] [class*=\\" ant-skeleton\\"]::before,[class^=\\"ant-skeleton\\"] [class^=\\"ant-skeleton\\"]::after,[class*=\\" ant-skeleton\\"] [class^=\\"ant-skeleton\\"]::after,[class^=\\"ant-skeleton\\"] [class*=\\" ant-skeleton\\"]::after,[class*=\\" ant-skeleton\\"] [class*=\\" ant-skeleton\\"]::after{box-sizing:border-box;}.ant-skeleton{display:table;width:100%;}.ant-skeleton .ant-skeleton-header{display:table-cell;padding-inline-end:16px;vertical-align:top;}.ant-skeleton .ant-skeleton-header .ant-skeleton-avatar{display:inline-block;vertical-align:top;background:rgba(255, 255, 255, 0.12);width:32px;height:32px;line-height:32px;}.ant-skeleton .ant-skeleton-header .ant-skeleton-avatar-circle{border-radius:50%;}.ant-skeleton .ant-skeleton-header .ant-skeleton-avatar-lg{width:40px;height:40px;line-height:40px;}.ant-skeleton .ant-skeleton-header .ant-skeleton-avatar-sm{width:24px;height:24px;line-height:24px;}.ant-skeleton .ant-skeleton-content{display:table-cell;width:100%;vertical-align:top;}.ant-skeleton .ant-skeleton-content .ant-skeleton-title{width:100%;height:16px;background:rgba(255, 255, 255, 0.12);border-radius:4px;}.ant-skeleton .ant-skeleton-content .ant-skeleton-title +.ant-skeleton-paragraph{margin-block-start:24px;}.ant-skeleton .ant-skeleton-content .ant-skeleton-paragraph{padding:0;}.ant-skeleton .ant-skeleton-content .ant-skeleton-paragraph >li{width:100%;height:16px;list-style:none;background:rgba(255, 255, 255, 0.12);border-radius:4px;}.ant-skeleton .ant-skeleton-content .ant-skeleton-paragraph >li +li{margin-block-start:16px;}.ant-skeleton .ant-skeleton-content .ant-skeleton-paragraph>li:last-child:not(:first-child):not(:nth-child(2)){width:61%;}.ant-skeleton-round .ant-skeleton-content .ant-skeleton-title,.ant-skeleton-round .ant-skeleton-content .ant-skeleton-paragraph>li{border-radius:100px;}.ant-skeleton-with-avatar .ant-skeleton-content .ant-skeleton-title{margin-block-start:12px;}.ant-skeleton-with-avatar .ant-skeleton-content .ant-skeleton-title +.ant-skeleton-paragraph{margin-block-start:28px;}.ant-skeleton.ant-skeleton-element{display:inline-block;width:auto;}.ant-skeleton.ant-skeleton-element .ant-skeleton-button{display:inline-block;vertical-align:top;background:rgba(255, 255, 255, 0.12);border-radius:4px;width:64px;min-width:64px;height:32px;line-height:32px;}.ant-skeleton.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-circle{width:32px;min-width:32px;border-radius:50%;}.ant-skeleton.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-round{border-radius:32px;}.ant-skeleton.ant-skeleton-element .ant-skeleton-button-lg{width:80px;min-width:80px;height:40px;line-height:40px;}.ant-skeleton.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-circle{width:40px;min-width:40px;border-radius:50%;}.ant-skeleton.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-round{border-radius:40px;}.ant-skeleton.ant-skeleton-element .ant-skeleton-button-sm{width:48px;min-width:48px;height:24px;line-height:24px;}.ant-skeleton.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-circle{width:24px;min-width:24px;border-radius:50%;}.ant-skeleton.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-round{border-radius:24px;}.ant-skeleton.ant-skeleton-element .ant-skeleton-avatar{display:inline-block;vertical-align:top;background:rgba(255, 255, 255, 0.12);width:32px;height:32px;line-height:32px;}.ant-skeleton.ant-skeleton-element .ant-skeleton-avatar.ant-skeleton-avatar-circle{border-radius:50%;}.ant-skeleton.ant-skeleton-element .ant-skeleton-avatar.ant-skeleton-avatar-lg{width:40px;height:40px;line-height:40px;}.ant-skeleton.ant-skeleton-element .ant-skeleton-avatar.ant-skeleton-avatar-sm{width:24px;height:24px;line-height:24px;}.ant-skeleton.ant-skeleton-element .ant-skeleton-input{display:inline-block;vertical-align:top;background:rgba(255, 255, 255, 0.12);border-radius:4px;width:160px;min-width:160px;height:32px;line-height:32px;}.ant-skeleton.ant-skeleton-element .ant-skeleton-input-lg{width:200px;min-width:200px;height:40px;line-height:40px;}.ant-skeleton.ant-skeleton-element .ant-skeleton-input-sm{width:120px;min-width:120px;height:24px;line-height:24px;}.ant-skeleton.ant-skeleton-element .ant-skeleton-image{display:flex;align-items:center;justify-content:center;vertical-align:top;background:rgba(255, 255, 255, 0.12);border-radius:4px;width:96px;height:96px;line-height:96px;}.ant-skeleton.ant-skeleton-element .ant-skeleton-image .ant-skeleton-image-path{fill:#bfbfbf;}.ant-skeleton.ant-skeleton-element .ant-skeleton-image .ant-skeleton-image-svg{width:48px;height:48px;line-height:48px;max-width:192px;max-height:192px;}.ant-skeleton.ant-skeleton-element .ant-skeleton-image .ant-skeleton-image-svg.ant-skeleton-image-svg-circle{border-radius:50%;}.ant-skeleton.ant-skeleton-element .ant-skeleton-image.ant-skeleton-image-circle{border-radius:50%;}.ant-skeleton.ant-skeleton-block{width:100%;}.ant-skeleton.ant-skeleton-block .ant-skeleton-button{width:100%;}.ant-skeleton.ant-skeleton-block .ant-skeleton-input{width:100%;}.ant-skeleton.ant-skeleton-active .ant-skeleton-title,.ant-skeleton.ant-skeleton-active .ant-skeleton-paragraph>li,.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar,.ant-skeleton.ant-skeleton-active .ant-skeleton-button,.ant-skeleton.ant-skeleton-active .ant-skeleton-input,.ant-skeleton.ant-skeleton-active .ant-skeleton-image{position:relative;z-index:0;overflow:hidden;background:transparent;}.ant-skeleton.ant-skeleton-active .ant-skeleton-title::after,.ant-skeleton.ant-skeleton-active .ant-skeleton-paragraph>li::after,.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar::after,.ant-skeleton.ant-skeleton-active .ant-skeleton-button::after,.ant-skeleton.ant-skeleton-active .ant-skeleton-input::after,.ant-skeleton.ant-skeleton-active .ant-skeleton-image::after{position:absolute;top:0;inset-inline-end:-150%;bottom:0;inset-inline-start:-150%;background:linear-gradient(90deg, rgba(255, 255, 255, 0.12) 25%, rgba(255, 255, 255, 0.18) 37%, rgba(255, 255, 255, 0.12) 63%);animation-name:ant-skeleton-loading;animation-duration:1.4s;animation-timing-function:ease;animation-iteration-count:infinite;content:\\"\\";}@keyframes ant-skeleton-loading{0%{transform:translateX(-37.5%);}100%{transform:translateX(37.5%);}}[class^=\\"ant-page-header\\"],[class*=\\" ant-page-header\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-page-header\\"]::before,[class*=\\" ant-page-header\\"]::before,[class^=\\"ant-page-header\\"]::after,[class*=\\" ant-page-header\\"]::after{box-sizing:border-box;}[class^=\\"ant-page-header\\"] [class^=\\"ant-page-header\\"],[class*=\\" ant-page-header\\"] [class^=\\"ant-page-header\\"],[class^=\\"ant-page-header\\"] [class*=\\" ant-page-header\\"],[class*=\\" ant-page-header\\"] [class*=\\" ant-page-header\\"]{box-sizing:border-box;}[class^=\\"ant-page-header\\"] [class^=\\"ant-page-header\\"]::before,[class*=\\" ant-page-header\\"] [class^=\\"ant-page-header\\"]::before,[class^=\\"ant-page-header\\"] [class*=\\" ant-page-header\\"]::before,[class*=\\" ant-page-header\\"] [class*=\\" ant-page-header\\"]::before,[class^=\\"ant-page-header\\"] [class^=\\"ant-page-header\\"]::after,[class*=\\" ant-page-header\\"] [class^=\\"ant-page-header\\"]::after,[class^=\\"ant-page-header\\"] [class*=\\" ant-page-header\\"]::after,[class*=\\" ant-page-header\\"] [class*=\\" ant-page-header\\"]::after{box-sizing:border-box;}.ant-page-header{box-sizing:border-box;margin:0;padding:20px 24px;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;background-color:#141414;}.ant-page-header.ant-page-header-ghost{background-color:transparent;}.ant-page-header.has-footer{padding-bottom:0;}.ant-page-header .ant-page-header-back{margin-right:20px;font-size:16px;line-height:1;}.ant-page-header .ant-page-header-back-button{color:#fff;text-decoration:none;outline:none;cursor:pointer;transition:color 0.3s;}.ant-page-header .ant-page-header-back-button:focus,.ant-page-header .ant-page-header-back-button:hover{color:#15417e;}.ant-page-header .ant-page-header-back-button:active{color:#1554ad;}.ant-page-header .ant-divider-vertical{height:14px;margin:0 12;vertical-align:middle;}.ant-breadcrumb+.ant-page-header-heading{margin-top:8px;}.ant-page-header .ant-page-header-heading{display:flex;justify-content:space-between;}.ant-page-header .ant-page-header-heading-left{display:flex;align-items:center;margin:4px 0;overflow:hidden;}.ant-page-header .ant-page-header-heading-title{margin-right:12px;margin-bottom:0;color:rgba(255, 255, 255, 0.85);font-weight:600;font-size:20px;line-height:32px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.ant-page-header .ant-page-header-heading .ant-avatar{margin-right:12px;}.ant-page-header .ant-page-header-heading-sub-title{margin-right:12px;color:rgba(255, 255, 255, 0.45);font-size:14px;line-height:1.5714285714285714;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.ant-page-header .ant-page-header-heading-extra{margin:4px 0;white-space:nowrap;}.ant-page-header .ant-page-header-heading-extra >*{margin-left:12px;white-space:unset;}.ant-page-header .ant-page-header-heading-extra >*:first-child{margin-left:0;}.ant-page-header .ant-page-header-content{padding-top:12px;}.ant-page-header .ant-page-header-footer{margin-top:20px;}.ant-page-header .ant-page-header-footer .ant-tabs >.ant-tabs-nav{margin:0;}.ant-page-header .ant-page-header-footer .ant-tabs >.ant-tabs-nav::before{border:none;}.ant-page-header .ant-page-header-footer .ant-tabs .ant-tabs-tab{padding-top:8px;padding-bottom:8px;font-size:16px;}.ant-page-header .ant-page-header-compact .ant-page-header-heading{flex-wrap:wrap;}.ant-page-header.ant-page-header-rtl{direction:rtl;}[class^=\\"ant-pagination\\"],[class*=\\" ant-pagination\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-pagination\\"]::before,[class*=\\" ant-pagination\\"]::before,[class^=\\"ant-pagination\\"]::after,[class*=\\" ant-pagination\\"]::after{box-sizing:border-box;}[class^=\\"ant-pagination\\"] [class^=\\"ant-pagination\\"],[class*=\\" ant-pagination\\"] [class^=\\"ant-pagination\\"],[class^=\\"ant-pagination\\"] [class*=\\" ant-pagination\\"],[class*=\\" ant-pagination\\"] [class*=\\" ant-pagination\\"]{box-sizing:border-box;}[class^=\\"ant-pagination\\"] [class^=\\"ant-pagination\\"]::before,[class*=\\" ant-pagination\\"] [class^=\\"ant-pagination\\"]::before,[class^=\\"ant-pagination\\"] [class*=\\" ant-pagination\\"]::before,[class*=\\" ant-pagination\\"] [class*=\\" ant-pagination\\"]::before,[class^=\\"ant-pagination\\"] [class^=\\"ant-pagination\\"]::after,[class*=\\" ant-pagination\\"] [class^=\\"ant-pagination\\"]::after,[class^=\\"ant-pagination\\"] [class*=\\" ant-pagination\\"]::after,[class*=\\" ant-pagination\\"] [class*=\\" ant-pagination\\"]::after{box-sizing:border-box;}.ant-pagination{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';}.ant-pagination ul,.ant-pagination ol{margin:0;padding:0;list-style:none;}.ant-pagination::after{display:block;clear:both;height:0;overflow:hidden;visibility:hidden;content:\\"\\";}.ant-pagination .ant-pagination-total-text{display:inline-block;height:32px;margin-inline-end:8px;line-height:30px;vertical-align:middle;}.ant-pagination .ant-pagination-item{display:inline-block;min-width:32px;height:32px;margin-inline-end:8px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';line-height:30px;text-align:center;vertical-align:middle;list-style:none;background-color:transparent;border:1px solid transparent;border-radius:6px;outline:0;cursor:pointer;user-select:none;}.ant-pagination .ant-pagination-item a{display:block;padding:0 6px;color:rgba(255, 255, 255, 0.85);transition:none;}.ant-pagination .ant-pagination-item a:hover{text-decoration:none;}.ant-pagination .ant-pagination-item:not(.ant-pagination-item-active):hover{transition:all 0.2s;background-color:rgba(255, 255, 255, 0.12);}.ant-pagination .ant-pagination-item:not(.ant-pagination-item-active):active{background-color:rgba(255, 255, 255, 0.18);}.ant-pagination .ant-pagination-item:focus-visible{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-pagination .ant-pagination-item-active{font-weight:600;background-color:#141414;border-color:#037003;}.ant-pagination .ant-pagination-item-active a{color:#037003;}.ant-pagination .ant-pagination-item-active:hover{border-color:#198016;}.ant-pagination .ant-pagination-item-active:hover a{color:#198016;}.ant-pagination .ant-pagination-jump-prev,.ant-pagination .ant-pagination-jump-next{outline:0;}.ant-pagination .ant-pagination-jump-prev .ant-pagination-item-container,.ant-pagination .ant-pagination-jump-next .ant-pagination-item-container{position:relative;}.ant-pagination .ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon,.ant-pagination .ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon{color:#037003;font-size:12px;opacity:0;transition:all 0.2s;}.ant-pagination .ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon-svg,.ant-pagination .ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon-svg{top:0;inset-inline-end:0;bottom:0;inset-inline-start:0;margin:auto;}.ant-pagination .ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-ellipsis,.ant-pagination .ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-ellipsis{position:absolute;top:0;inset-inline-end:0;bottom:0;inset-inline-start:0;display:block;margin:auto;color:rgba(255, 255, 255, 0.25);font-family:Arial,Helvetica,sans-serif;letter-spacing:2px;text-align:center;text-indent:0.13em;opacity:1;transition:all 0.2s;}.ant-pagination .ant-pagination-jump-prev:hover .ant-pagination-item-link-icon,.ant-pagination .ant-pagination-jump-next:hover .ant-pagination-item-link-icon{opacity:1;}.ant-pagination .ant-pagination-jump-prev:hover .ant-pagination-item-ellipsis,.ant-pagination .ant-pagination-jump-next:hover .ant-pagination-item-ellipsis{opacity:0;}.ant-pagination .ant-pagination-jump-prev:focus-visible,.ant-pagination .ant-pagination-jump-next:focus-visible{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-pagination .ant-pagination-jump-prev:focus-visible .ant-pagination-item-link-icon,.ant-pagination .ant-pagination-jump-next:focus-visible .ant-pagination-item-link-icon{opacity:1;}.ant-pagination .ant-pagination-jump-prev:focus-visible .ant-pagination-item-ellipsis,.ant-pagination .ant-pagination-jump-next:focus-visible .ant-pagination-item-ellipsis{opacity:0;}.ant-pagination .ant-pagination-prev,.ant-pagination .ant-pagination-jump-prev,.ant-pagination .ant-pagination-jump-next{margin-inline-end:8px;}.ant-pagination .ant-pagination-prev,.ant-pagination .ant-pagination-next,.ant-pagination .ant-pagination-jump-prev,.ant-pagination .ant-pagination-jump-next{display:inline-block;min-width:32px;height:32px;color:rgba(255, 255, 255, 0.85);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';line-height:32px;text-align:center;vertical-align:middle;list-style:none;border-radius:6px;cursor:pointer;transition:all 0.2s;}.ant-pagination .ant-pagination-prev,.ant-pagination .ant-pagination-next{font-family:Arial,Helvetica,sans-serif;outline:0;}.ant-pagination .ant-pagination-prev button,.ant-pagination .ant-pagination-next button{color:rgba(255, 255, 255, 0.85);cursor:pointer;user-select:none;}.ant-pagination .ant-pagination-prev .ant-pagination-item-link,.ant-pagination .ant-pagination-next .ant-pagination-item-link{display:block;width:100%;height:100%;padding:0;font-size:12px;text-align:center;background-color:transparent;border:1px solid transparent;border-radius:6px;outline:none;transition:all 0.2s;}.ant-pagination .ant-pagination-prev:focus-visible .ant-pagination-item-link,.ant-pagination .ant-pagination-next:focus-visible .ant-pagination-item-link{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-pagination .ant-pagination-prev:hover .ant-pagination-item-link,.ant-pagination .ant-pagination-next:hover .ant-pagination-item-link{background-color:rgba(255, 255, 255, 0.12);}.ant-pagination .ant-pagination-prev:active .ant-pagination-item-link,.ant-pagination .ant-pagination-next:active .ant-pagination-item-link{background-color:rgba(255, 255, 255, 0.18);}.ant-pagination .ant-pagination-prev.ant-pagination-disabled:hover .ant-pagination-item-link,.ant-pagination .ant-pagination-next.ant-pagination-disabled:hover .ant-pagination-item-link{background-color:transparent;}.ant-pagination .ant-pagination-slash{margin-inline-end:12px;margin-inline-start:4px;}.ant-pagination .ant-pagination-options{display:inline-block;margin-inline-start:16px;vertical-align:middle;}.ant-pagination .ant-pagination-options-size-changer.-select{display:inline-block;width:auto;}.ant-pagination .ant-pagination-options-quick-jumper{display:inline-block;height:32px;margin-inline-start:8px;line-height:32px;vertical-align:top;}.ant-pagination .ant-pagination-options-quick-jumper input{position:relative;display:inline-block;width:50px;min-width:0;padding:4px 11px;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;background-color:#141414;background-image:none;border-width:1px;border-style:solid;border-color:#424242;border-radius:6px;transition:all 0.2s;height:32px;box-sizing:border-box;margin:0;margin-inline-start:8px;margin-inline-end:8px;}.ant-pagination .ant-pagination-options-quick-jumper input::-moz-placeholder{opacity:1;}.ant-pagination .ant-pagination-options-quick-jumper input::placeholder{color:rgba(255, 255, 255, 0.25);user-select:none;}.ant-pagination .ant-pagination-options-quick-jumper input:placeholder-shown{text-overflow:ellipsis;}.ant-pagination .ant-pagination-options-quick-jumper input:hover{border-color:#198016;border-inline-end-width:1px;}.ant-pagination .ant-pagination-options-quick-jumper input:focus,.ant-pagination .ant-pagination-options-quick-jumper input-focused{border-color:#198016;box-shadow:0 0 0 2px rgba(0, 53, 0, 0.15);border-inline-end-width:1px;outline:0;}.ant-pagination .ant-pagination-options-quick-jumper input-disabled,.ant-pagination .ant-pagination-options-quick-jumper input[disabled]{color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.08);border-color:#424242;box-shadow:none;cursor:not-allowed;opacity:1;}.ant-pagination .ant-pagination-options-quick-jumper input-disabled:hover,.ant-pagination .ant-pagination-options-quick-jumper input[disabled]:hover{border-color:#424242;border-inline-end-width:1px;}.ant-pagination .ant-pagination-options-quick-jumper input-borderless,.ant-pagination .ant-pagination-options-quick-jumper input-borderless:hover,.ant-pagination .ant-pagination-options-quick-jumper input-borderless:focus,.ant-pagination .ant-pagination-options-quick-jumper input-borderless-focused,.ant-pagination .ant-pagination-options-quick-jumper input-borderless-disabled,.ant-pagination .ant-pagination-options-quick-jumper input-borderless[disabled]{background-color:transparent;border:none;box-shadow:none;}textarea.ant-pagination .ant-pagination-options-quick-jumper input{max-width:100%;height:auto;min-height:32px;line-height:1.5714285714285714;vertical-align:bottom;transition:all 0.3s,height 0s;resize:vertical;}.ant-pagination .ant-pagination-options-quick-jumper input-lg{padding:7px 11px;font-size:16px;line-height:1.5;border-radius:8px;}.ant-pagination .ant-pagination-options-quick-jumper input-sm{padding:0px 7px;border-radius:4px;}.ant-pagination .ant-pagination-options-quick-jumper input-rtl{direction:rtl;}.ant-pagination .ant-pagination-options-quick-jumper input-textarea-rtl{direction:rtl;}.ant-pagination.ant-pagination-simple .ant-pagination-prev,.ant-pagination.ant-pagination-simple .ant-pagination-next{height:24px;line-height:24px;vertical-align:top;}.ant-pagination.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link,.ant-pagination.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link{height:24px;background-color:transparent;border:0;}.ant-pagination.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link:hover,.ant-pagination.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link:hover{background-color:rgba(255, 255, 255, 0.12);}.ant-pagination.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link:active,.ant-pagination.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link:active{background-color:rgba(255, 255, 255, 0.18);}.ant-pagination.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link::after,.ant-pagination.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link::after{height:24px;line-height:24px;}.ant-pagination.ant-pagination-simple .ant-pagination-simple-pager{display:inline-block;height:24px;margin-inline-end:8px;}.ant-pagination.ant-pagination-simple .ant-pagination-simple-pager input{box-sizing:border-box;height:100%;margin-inline-end:8px;padding:0 6px;text-align:center;background-color:#141414;border:1px solid #424242;border-radius:6px;outline:none;transition:border-color 0.2s;color:inherit;}.ant-pagination.ant-pagination-simple .ant-pagination-simple-pager input:hover{border-color:#037003;}.ant-pagination.ant-pagination-simple .ant-pagination-simple-pager input:focus{border-color:#198016;box-shadow:0 0px 0 2px rgba(0, 53, 0, 0.15);}.ant-pagination.ant-pagination-simple .ant-pagination-simple-pager input[disabled]{color:rgba(255, 255, 255, 0.25);background-color:rgba(255, 255, 255, 0.08);border-color:#424242;cursor:not-allowed;}.ant-pagination.ant-pagination-mini .ant-pagination-total-text,.ant-pagination.ant-pagination-mini .ant-pagination-simple-pager{height:24px;line-height:24px;}.ant-pagination.ant-pagination-mini .ant-pagination-item{min-width:24px;height:24px;margin:0;line-height:22px;}.ant-pagination.ant-pagination-mini .ant-pagination-item:not(.ant-pagination-item-active){background-color:transparent;border-color:transparent;}.ant-pagination.ant-pagination-mini .ant-pagination-item:not(.ant-pagination-item-active):hover{background-color:rgba(255, 255, 255, 0.12);}.ant-pagination.ant-pagination-mini .ant-pagination-item:not(.ant-pagination-item-active):active{background-color:rgba(255, 255, 255, 0.18);}.ant-pagination.ant-pagination-mini .ant-pagination-prev,.ant-pagination.ant-pagination-mini .ant-pagination-next{min-width:24px;height:24px;margin:0;line-height:24px;}.ant-pagination.ant-pagination-mini .ant-pagination-prev:hover .ant-pagination-item-link,.ant-pagination.ant-pagination-mini .ant-pagination-next:hover .ant-pagination-item-link{background-color:rgba(255, 255, 255, 0.12);}.ant-pagination.ant-pagination-mini .ant-pagination-prev:active .ant-pagination-item-link,.ant-pagination.ant-pagination-mini .ant-pagination-next:active .ant-pagination-item-link{background-color:rgba(255, 255, 255, 0.18);}.ant-pagination.ant-pagination-mini .ant-pagination-prev.ant-pagination-disabled:hover .ant-pagination-item-link,.ant-pagination.ant-pagination-mini .ant-pagination-next.ant-pagination-disabled:hover .ant-pagination-item-link{background-color:transparent;}.ant-pagination.ant-pagination-mini .ant-pagination-prev .ant-pagination-item-link,.ant-pagination.ant-pagination-mini .ant-pagination-next .ant-pagination-item-link{background-color:transparent;border-color:transparent;}.ant-pagination.ant-pagination-mini .ant-pagination-prev .ant-pagination-item-link::after,.ant-pagination.ant-pagination-mini .ant-pagination-next .ant-pagination-item-link::after{height:24px;line-height:24px;}.ant-pagination.ant-pagination-mini .ant-pagination-jump-prev,.ant-pagination.ant-pagination-mini .ant-pagination-jump-next{height:24px;margin-inline-end:0;line-height:24px;}.ant-pagination.ant-pagination-mini .ant-pagination-options{margin-inline-start:2px;}.ant-pagination.ant-pagination-mini .ant-pagination-options-size-changer{top:0;}.ant-pagination.ant-pagination-mini .ant-pagination-options-quick-jumper{height:24px;line-height:24px;}.ant-pagination.ant-pagination-mini .ant-pagination-options-quick-jumper input{padding:0px 7px;border-radius:4px;width:44px;height:24px;}.ant-pagination .ant-pagination-disabled,.ant-pagination .ant-pagination-disabled:hover{cursor:not-allowed;}.ant-pagination .ant-pagination-disabled .ant-pagination-item-link,.ant-pagination .ant-pagination-disabled:hover .ant-pagination-item-link{color:rgba(255, 255, 255, 0.25);cursor:not-allowed;}.ant-pagination .ant-pagination-disabled:focus-visible{cursor:not-allowed;}.ant-pagination .ant-pagination-disabled:focus-visible .ant-pagination-item-link{color:rgba(255, 255, 255, 0.25);cursor:not-allowed;}.ant-pagination.ant-pagination-disabled{cursor:not-allowed;}.ant-pagination.ant-pagination-disabled.ant-pagination-mini:hover .ant-pagination-item:not(.ant-pagination-item-active),.ant-pagination.ant-pagination-disabled.ant-pagination-mini:active .ant-pagination-item:not(.ant-pagination-item-active),.ant-pagination.ant-pagination-disabled.ant-pagination-mini:hover .ant-pagination-item-link,.ant-pagination.ant-pagination-disabled.ant-pagination-mini:active .ant-pagination-item-link{background-color:transparent;}.ant-pagination.ant-pagination-disabled .ant-pagination-item{cursor:not-allowed;}.ant-pagination.ant-pagination-disabled .ant-pagination-item:hover,.ant-pagination.ant-pagination-disabled .ant-pagination-item:active{background-color:transparent;}.ant-pagination.ant-pagination-disabled .ant-pagination-item a{color:rgba(255, 255, 255, 0.25);background-color:transparent;border:none;cursor:not-allowed;}.ant-pagination.ant-pagination-disabled .ant-pagination-item-active{border-color:#424242;background-color:rgba(255, 255, 255, 0.18);}.ant-pagination.ant-pagination-disabled .ant-pagination-item-active:hover,.ant-pagination.ant-pagination-disabled .ant-pagination-item-active:active{background-color:rgba(255, 255, 255, 0.18);}.ant-pagination.ant-pagination-disabled .ant-pagination-item-active a{color:rgba(255, 255, 255, 0.25);}.ant-pagination.ant-pagination-disabled .ant-pagination-item-link{color:rgba(255, 255, 255, 0.25);cursor:not-allowed;}.ant-pagination.ant-pagination-disabled .ant-pagination-item-link:hover,.ant-pagination.ant-pagination-disabled .ant-pagination-item-link:active{background-color:transparent;}.ant-pagination-simple.ant-pagination.ant-pagination-disabled .ant-pagination-item-link{background-color:transparent;}.ant-pagination-simple.ant-pagination.ant-pagination-disabled .ant-pagination-item-link:hover,.ant-pagination-simple.ant-pagination.ant-pagination-disabled .ant-pagination-item-link:active{background-color:transparent;}.ant-pagination.ant-pagination-disabled .ant-pagination-simple-pager{color:rgba(255, 255, 255, 0.25);}.ant-pagination.ant-pagination-disabled .ant-pagination-jump-prev .ant-pagination-item-link-icon,.ant-pagination.ant-pagination-disabled .ant-pagination-jump-next .ant-pagination-item-link-icon{opacity:0;}.ant-pagination.ant-pagination-disabled .ant-pagination-jump-prev .ant-pagination-item-ellipsis,.ant-pagination.ant-pagination-disabled .ant-pagination-jump-next .ant-pagination-item-ellipsis{opacity:1;}.ant-pagination.ant-pagination-simple .ant-pagination-prev.ant-pagination-disabled .ant-pagination-item-link:hover,.ant-pagination.ant-pagination-simple .ant-pagination-next.ant-pagination-disabled .ant-pagination-item-link:hover,.ant-pagination.ant-pagination-simple .ant-pagination-prev.ant-pagination-disabled .ant-pagination-item-link:active,.ant-pagination.ant-pagination-simple .ant-pagination-next.ant-pagination-disabled .ant-pagination-item-link:active{background-color:transparent;}@media only screen and (max-width: 992px){.ant-pagination .ant-pagination-item-after-jump-prev,.ant-pagination .ant-pagination-item-before-jump-next{display:none;}}@media only screen and (max-width: 576px){.ant-pagination .ant-pagination-options{display:none;}}.ant-pagination-rtl{direction:rtl;}[class^=\\"ant-popconfirm\\"],[class*=\\" ant-popconfirm\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-popconfirm\\"]::before,[class*=\\" ant-popconfirm\\"]::before,[class^=\\"ant-popconfirm\\"]::after,[class*=\\" ant-popconfirm\\"]::after{box-sizing:border-box;}[class^=\\"ant-popconfirm\\"] [class^=\\"ant-popconfirm\\"],[class*=\\" ant-popconfirm\\"] [class^=\\"ant-popconfirm\\"],[class^=\\"ant-popconfirm\\"] [class*=\\" ant-popconfirm\\"],[class*=\\" ant-popconfirm\\"] [class*=\\" ant-popconfirm\\"]{box-sizing:border-box;}[class^=\\"ant-popconfirm\\"] [class^=\\"ant-popconfirm\\"]::before,[class*=\\" ant-popconfirm\\"] [class^=\\"ant-popconfirm\\"]::before,[class^=\\"ant-popconfirm\\"] [class*=\\" ant-popconfirm\\"]::before,[class*=\\" ant-popconfirm\\"] [class*=\\" ant-popconfirm\\"]::before,[class^=\\"ant-popconfirm\\"] [class^=\\"ant-popconfirm\\"]::after,[class*=\\" ant-popconfirm\\"] [class^=\\"ant-popconfirm\\"]::after,[class^=\\"ant-popconfirm\\"] [class*=\\" ant-popconfirm\\"]::after,[class*=\\" ant-popconfirm\\"] [class*=\\" ant-popconfirm\\"]::after{box-sizing:border-box;}.ant-popconfirm{z-index:1060;}.ant-popconfirm .ant-popconfirm-inner-content{color:rgba(255, 255, 255, 0.85);}.ant-popconfirm .ant-popconfirm-message{position:relative;margin-bottom:8px;color:rgba(255, 255, 255, 0.85);font-size:14px;display:flex;flex-wrap:nowrap;align-items:start;}.ant-popconfirm .ant-popconfirm-message >.ant-popconfirm-message-icon .anticon{color:#d89614;font-size:14px;flex:none;line-height:1;padding-top:4px;}.ant-popconfirm .ant-popconfirm-message-title{flex:auto;margin-inline-start:8px;}.ant-popconfirm .ant-popconfirm-message-title-only{font-weight:600;}.ant-popconfirm .ant-popconfirm-description{position:relative;margin-inline-start:22px;margin-bottom:8px;color:rgba(255, 255, 255, 0.85);font-size:14px;}.ant-popconfirm .ant-popconfirm-buttons{text-align:end;}.ant-popconfirm .ant-popconfirm-buttons button{margin-inline-start:8px;}[class^=\\"ant-popover\\"],[class*=\\" ant-popover\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-popover\\"]::before,[class*=\\" ant-popover\\"]::before,[class^=\\"ant-popover\\"]::after,[class*=\\" ant-popover\\"]::after{box-sizing:border-box;}[class^=\\"ant-popover\\"] [class^=\\"ant-popover\\"],[class*=\\" ant-popover\\"] [class^=\\"ant-popover\\"],[class^=\\"ant-popover\\"] [class*=\\" ant-popover\\"],[class*=\\" ant-popover\\"] [class*=\\" ant-popover\\"]{box-sizing:border-box;}[class^=\\"ant-popover\\"] [class^=\\"ant-popover\\"]::before,[class*=\\" ant-popover\\"] [class^=\\"ant-popover\\"]::before,[class^=\\"ant-popover\\"] [class*=\\" ant-popover\\"]::before,[class*=\\" ant-popover\\"] [class*=\\" ant-popover\\"]::before,[class^=\\"ant-popover\\"] [class^=\\"ant-popover\\"]::after,[class*=\\" ant-popover\\"] [class^=\\"ant-popover\\"]::after,[class^=\\"ant-popover\\"] [class*=\\" ant-popover\\"]::after,[class*=\\" ant-popover\\"] [class*=\\" ant-popover\\"]::after{box-sizing:border-box;}.ant-popover{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:absolute;top:0;left:0;z-index:1030;font-weight:normal;white-space:normal;text-align:start;cursor:auto;user-select:text;--antd-arrow-background-color:#1f1f1f;}.ant-popover-rtl{direction:rtl;}.ant-popover-hidden{display:none;}.ant-popover .ant-popover-content{position:relative;}.ant-popover .ant-popover-inner{background-color:#1f1f1f;background-clip:padding-box;border-radius:8px;box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);padding:12px;}.ant-popover .ant-popover-title{min-width:177px;margin-bottom:8px;color:rgba(255, 255, 255, 0.85);font-weight:600;}.ant-popover .ant-popover-inner-content{color:rgba(255, 255, 255, 0.85);}.ant-popover .ant-popover-arrow{position:absolute;z-index:1;display:block;pointer-events:none;width:16px;height:16px;overflow:hidden;}.ant-popover .ant-popover-arrow::after{content:\\"\\";position:absolute;width:8.970562748477143px;height:8.970562748477143px;bottom:0;inset-inline:0;margin:auto;border-radius:0 0 2px 0;transform:translateY(50%) rotate(-135deg);box-shadow:3px 3px 7px rgba(0, 0, 0, 0.1);z-index:0;background:transparent;}.ant-popover .ant-popover-arrow::before{position:absolute;bottom:0;inset-inline-start:0;width:16px;height:8px;background:var(--antd-arrow-background-color);clip-path:polygon(1.6568542494923806px 100%, 50% 1.6568542494923806px, 14.34314575050762px 100%, 1.6568542494923806px 100%);clip-path:path('M 0 8 A 4 4 0 0 0 2.82842712474619 6.82842712474619 L 6.585786437626905 3.0710678118654755 A 2 2 0 0 1 9.414213562373096 3.0710678118654755 L 13.17157287525381 6.82842712474619 A 4 4 0 0 0 16 8 Z');content:\\"\\";}.ant-popover .ant-popover-arrow:before{background:var(--antd-arrow-background-color);}.ant-popover-placement-top .ant-popover-arrow,.ant-popover-placement-topLeft .ant-popover-arrow,.ant-popover-placement-topRight .ant-popover-arrow{bottom:0;transform:translateY(100%) rotate(180deg);}.ant-popover-placement-top .ant-popover-arrow{left:50%;transform:translateX(-50%) translateY(100%) rotate(180deg);}.ant-popover-placement-topLeft .ant-popover-arrow{left:6px;}.ant-popover-placement-topRight .ant-popover-arrow{right:6px;}.ant-popover-placement-bottom .ant-popover-arrow,.ant-popover-placement-bottomLeft .ant-popover-arrow,.ant-popover-placement-bottomRight .ant-popover-arrow{top:0;transform:translateY(-100%);}.ant-popover-placement-bottom .ant-popover-arrow{left:50%;transform:translateX(-50%) translateY(-100%);}.ant-popover-placement-bottomLeft .ant-popover-arrow{left:6px;}.ant-popover-placement-bottomRight .ant-popover-arrow{right:6px;}.ant-popover-placement-left .ant-popover-arrow,.ant-popover-placement-leftTop .ant-popover-arrow,.ant-popover-placement-leftBottom .ant-popover-arrow{right:0;transform:translateX(100%) rotate(90deg);}.ant-popover-placement-left .ant-popover-arrow{top:50%;transform:translateY(-50%) translateX(100%) rotate(90deg);}.ant-popover-placement-leftTop .ant-popover-arrow{top:6px;}.ant-popover-placement-leftBottom .ant-popover-arrow{bottom:6px;}.ant-popover-placement-right .ant-popover-arrow,.ant-popover-placement-rightTop .ant-popover-arrow,.ant-popover-placement-rightBottom .ant-popover-arrow{left:0;transform:translateX(-100%) rotate(-90deg);}.ant-popover-placement-right .ant-popover-arrow{top:50%;transform:translateY(-50%) translateX(-100%) rotate(-90deg);}.ant-popover-placement-rightTop .ant-popover-arrow{top:6px;}.ant-popover-placement-rightBottom .ant-popover-arrow{bottom:6px;}.ant-popover-placement-topLeft,.ant-popover-placement-top,.ant-popover-placement-topRight{padding-bottom:12px;}.ant-popover-placement-bottomLeft,.ant-popover-placement-bottom,.ant-popover-placement-bottomRight{padding-top:12px;}.ant-popover-placement-leftTop,.ant-popover-placement-left,.ant-popover-placement-leftBottom{padding-right:12px;}.ant-popover-placement-rightTop,.ant-popover-placement-right,.ant-popover-placement-rightBottom{padding-left:12px;}.ant-popover-pure{position:relative;max-width:none;}.ant-popover-pure .ant-popover-content{display:inline-block;}.ant-popover.ant-popover-blue{--antd-arrow-background-color:#1668dc;}.ant-popover.ant-popover-blue .ant-popover-inner{background-color:#1668dc;}.ant-popover.ant-popover-blue .ant-popover-arrow{background:transparent;}.ant-popover.ant-popover-purple{--antd-arrow-background-color:#642ab5;}.ant-popover.ant-popover-purple .ant-popover-inner{background-color:#642ab5;}.ant-popover.ant-popover-purple .ant-popover-arrow{background:transparent;}.ant-popover.ant-popover-cyan{--antd-arrow-background-color:#13a8a8;}.ant-popover.ant-popover-cyan .ant-popover-inner{background-color:#13a8a8;}.ant-popover.ant-popover-cyan .ant-popover-arrow{background:transparent;}.ant-popover.ant-popover-green{--antd-arrow-background-color:#49aa19;}.ant-popover.ant-popover-green .ant-popover-inner{background-color:#49aa19;}.ant-popover.ant-popover-green .ant-popover-arrow{background:transparent;}.ant-popover.ant-popover-magenta{--antd-arrow-background-color:#cb2b83;}.ant-popover.ant-popover-magenta .ant-popover-inner{background-color:#cb2b83;}.ant-popover.ant-popover-magenta .ant-popover-arrow{background:transparent;}.ant-popover.ant-popover-pink{--antd-arrow-background-color:#cb2b83;}.ant-popover.ant-popover-pink .ant-popover-inner{background-color:#cb2b83;}.ant-popover.ant-popover-pink .ant-popover-arrow{background:transparent;}.ant-popover.ant-popover-red{--antd-arrow-background-color:#d32029;}.ant-popover.ant-popover-red .ant-popover-inner{background-color:#d32029;}.ant-popover.ant-popover-red .ant-popover-arrow{background:transparent;}.ant-popover.ant-popover-orange{--antd-arrow-background-color:#d87a16;}.ant-popover.ant-popover-orange .ant-popover-inner{background-color:#d87a16;}.ant-popover.ant-popover-orange .ant-popover-arrow{background:transparent;}.ant-popover.ant-popover-yellow{--antd-arrow-background-color:#d8bd14;}.ant-popover.ant-popover-yellow .ant-popover-inner{background-color:#d8bd14;}.ant-popover.ant-popover-yellow .ant-popover-arrow{background:transparent;}.ant-popover.ant-popover-volcano{--antd-arrow-background-color:#d84a1b;}.ant-popover.ant-popover-volcano .ant-popover-inner{background-color:#d84a1b;}.ant-popover.ant-popover-volcano .ant-popover-arrow{background:transparent;}.ant-popover.ant-popover-geekblue{--antd-arrow-background-color:#2b4acb;}.ant-popover.ant-popover-geekblue .ant-popover-inner{background-color:#2b4acb;}.ant-popover.ant-popover-geekblue .ant-popover-arrow{background:transparent;}.ant-popover.ant-popover-lime{--antd-arrow-background-color:#8bbb11;}.ant-popover.ant-popover-lime .ant-popover-inner{background-color:#8bbb11;}.ant-popover.ant-popover-lime .ant-popover-arrow{background:transparent;}.ant-popover.ant-popover-gold{--antd-arrow-background-color:#d89614;}.ant-popover.ant-popover-gold .ant-popover-inner{background-color:#d89614;}.ant-popover.ant-popover-gold .ant-popover-arrow{background:transparent;}.ant-zoom-big-enter,.ant-zoom-big-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-zoom-big-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-zoom-big-enter.ant-zoom-big-enter-active,.ant-zoom-big-appear.ant-zoom-big-appear-active{animation-name:antZoomBigIn;animation-play-state:running;}.ant-zoom-big-leave.ant-zoom-big-leave-active{animation-name:antZoomBigOut;animation-play-state:running;pointer-events:none;}.ant-zoom-big-enter,.ant-zoom-big-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}.ant-zoom-big-enter-prepare,.ant-zoom-big-appear-prepare{transform:none;}.ant-zoom-big-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}[class^=\\"ant-popover\\"],[class*=\\" ant-popover\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-popover\\"]::before,[class*=\\" ant-popover\\"]::before,[class^=\\"ant-popover\\"]::after,[class*=\\" ant-popover\\"]::after{box-sizing:border-box;}[class^=\\"ant-popover\\"] [class^=\\"ant-popover\\"],[class*=\\" ant-popover\\"] [class^=\\"ant-popover\\"],[class^=\\"ant-popover\\"] [class*=\\" ant-popover\\"],[class*=\\" ant-popover\\"] [class*=\\" ant-popover\\"]{box-sizing:border-box;}[class^=\\"ant-popover\\"] [class^=\\"ant-popover\\"]::before,[class*=\\" ant-popover\\"] [class^=\\"ant-popover\\"]::before,[class^=\\"ant-popover\\"] [class*=\\" ant-popover\\"]::before,[class*=\\" ant-popover\\"] [class*=\\" ant-popover\\"]::before,[class^=\\"ant-popover\\"] [class^=\\"ant-popover\\"]::after,[class*=\\" ant-popover\\"] [class^=\\"ant-popover\\"]::after,[class^=\\"ant-popover\\"] [class*=\\" ant-popover\\"]::after,[class*=\\" ant-popover\\"] [class*=\\" ant-popover\\"]::after{box-sizing:border-box;}[class^=\\"ant-progress\\"],[class*=\\" ant-progress\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-progress\\"]::before,[class*=\\" ant-progress\\"]::before,[class^=\\"ant-progress\\"]::after,[class*=\\" ant-progress\\"]::after{box-sizing:border-box;}[class^=\\"ant-progress\\"] [class^=\\"ant-progress\\"],[class*=\\" ant-progress\\"] [class^=\\"ant-progress\\"],[class^=\\"ant-progress\\"] [class*=\\" ant-progress\\"],[class*=\\" ant-progress\\"] [class*=\\" ant-progress\\"]{box-sizing:border-box;}[class^=\\"ant-progress\\"] [class^=\\"ant-progress\\"]::before,[class*=\\" ant-progress\\"] [class^=\\"ant-progress\\"]::before,[class^=\\"ant-progress\\"] [class*=\\" ant-progress\\"]::before,[class*=\\" ant-progress\\"] [class*=\\" ant-progress\\"]::before,[class^=\\"ant-progress\\"] [class^=\\"ant-progress\\"]::after,[class*=\\" ant-progress\\"] [class^=\\"ant-progress\\"]::after,[class^=\\"ant-progress\\"] [class*=\\" ant-progress\\"]::after,[class*=\\" ant-progress\\"] [class*=\\" ant-progress\\"]::after{box-sizing:border-box;}.ant-progress{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:inline-block;}.ant-progress-rtl{direction:rtl;}.ant-progress-line{position:relative;width:100%;font-size:14px;margin-inline-end:8px;margin-bottom:8px;}.ant-progress .ant-progress-outer{display:inline-block;width:100%;}.ant-progress.ant-progress-show-info .ant-progress-outer{margin-inline-end:calc(-2em - 8px);padding-inline-end:calc(2em + 8px);}.ant-progress .ant-progress-inner{position:relative;display:inline-block;width:100%;overflow:hidden;vertical-align:middle;background-color:rgba(255, 255, 255, 0.12);border-radius:100px;}.ant-progress .ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path{stroke:#1668dc;}.ant-progress .ant-progress-success-bg,.ant-progress .ant-progress-bg{position:relative;background-color:#1668dc;border-radius:100px;transition:all 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);}.ant-progress .ant-progress-success-bg{position:absolute;inset-block-start:0;inset-inline-start:0;background-color:#49aa19;}.ant-progress .ant-progress-text{display:inline-block;width:2em;margin-inline-start:8px;color:rgba(255, 255, 255, 0.85);line-height:1;white-space:nowrap;text-align:start;vertical-align:middle;word-break:normal;}.ant-progress .ant-progress-text .anticon{font-size:14px;}.ant-progress.ant-progress-status-active .ant-progress-bg::before{position:absolute;inset:0;background-color:#141414;border-radius:100px;opacity:0;animation-name:antProgressActive;animation-duration:2.4s;animation-timing-function:cubic-bezier(0.23, 1, 0.32, 1);animation-iteration-count:infinite;content:\\"\\";}.ant-progress.ant-progress-status-exception .ant-progress-bg{background-color:#dc4446;}.ant-progress.ant-progress-status-exception .ant-progress-text{color:#dc4446;}.ant-progress.ant-progress-status-exception .ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path{stroke:#dc4446;}.ant-progress.ant-progress-status-success .ant-progress-bg{background-color:#49aa19;}.ant-progress.ant-progress-status-success .ant-progress-text{color:#49aa19;}.ant-progress.ant-progress-status-success .ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path{stroke:#49aa19;}.ant-progress .ant-progress-circle-trail{stroke:rgba(255, 255, 255, 0.12);}.ant-progress.ant-progress-circle .ant-progress-inner{position:relative;line-height:1;background-color:transparent;}.ant-progress.ant-progress-circle .ant-progress-text{position:absolute;inset-block-start:50%;inset-inline-start:0;width:100%;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);line-height:1;white-space:normal;text-align:center;transform:translateY(-50%);}.ant-progress.ant-progress-circle .ant-progress-text .anticon{font-size:1.1666666666666667em;}.ant-progress-circle.ant-progress-status-exception .ant-progress-text{color:#dc4446;}.ant-progress-circle.ant-progress-status-success .ant-progress-text{color:#49aa19;}.ant-progress-inline-circle{line-height:1;}.ant-progress-inline-circle .ant-progress-inner{vertical-align:bottom;}.ant-progress .ant-progress-steps{display:inline-block;}.ant-progress .ant-progress-steps-outer{display:flex;flex-direction:row;align-items:center;}.ant-progress .ant-progress-steps-item{flex-shrink:0;min-width:2px;margin-inline-end:2px;background-color:rgba(255, 255, 255, 0.12);transition:all 0.3s;}.ant-progress .ant-progress-steps-item-active{background-color:#1668dc;}.ant-progress-small.ant-progress-line,.ant-progress-small.ant-progress-line .ant-progress-text .anticon{font-size:12px;}@keyframes antProgressActive{0%{transform:translateX(-100%) scaleX(0);opacity:0.1;}20%{transform:translateX(-100%) scaleX(0);opacity:0.5;}to{transform:translateX(0) scaleX(1);opacity:0;}}[class^=\\"ant-rate\\"],[class*=\\" ant-rate\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-rate\\"]::before,[class*=\\" ant-rate\\"]::before,[class^=\\"ant-rate\\"]::after,[class*=\\" ant-rate\\"]::after{box-sizing:border-box;}[class^=\\"ant-rate\\"] [class^=\\"ant-rate\\"],[class*=\\" ant-rate\\"] [class^=\\"ant-rate\\"],[class^=\\"ant-rate\\"] [class*=\\" ant-rate\\"],[class*=\\" ant-rate\\"] [class*=\\" ant-rate\\"]{box-sizing:border-box;}[class^=\\"ant-rate\\"] [class^=\\"ant-rate\\"]::before,[class*=\\" ant-rate\\"] [class^=\\"ant-rate\\"]::before,[class^=\\"ant-rate\\"] [class*=\\" ant-rate\\"]::before,[class*=\\" ant-rate\\"] [class*=\\" ant-rate\\"]::before,[class^=\\"ant-rate\\"] [class^=\\"ant-rate\\"]::after,[class*=\\" ant-rate\\"] [class^=\\"ant-rate\\"]::after,[class^=\\"ant-rate\\"] [class*=\\" ant-rate\\"]::after,[class*=\\" ant-rate\\"] [class*=\\" ant-rate\\"]::after{box-sizing:border-box;}.ant-rate{box-sizing:border-box;margin:0;padding:0;color:#d8bd14;font-size:20px;line-height:unset;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:inline-block;outline:none;}.ant-rate-disabled.ant-rate .ant-rate-star{cursor:default;}.ant-rate-disabled.ant-rate .ant-rate-star:hover{transform:scale(1);}.ant-rate .ant-rate-star{position:relative;display:inline-block;color:inherit;cursor:pointer;}.ant-rate .ant-rate-star:not(:last-child){margin-inline-end:8px;}.ant-rate .ant-rate-star >div{transition:all 0.2s,outline 0s;}.ant-rate .ant-rate-star >div:hover{transform:scale(1.1);}.ant-rate .ant-rate-star >div:focus{outline:0;}.ant-rate .ant-rate-star >div:focus-visible{outline:1px dashed #d8bd14;transform:scale(1.1);}.ant-rate .ant-rate-star-first,.ant-rate .ant-rate-star-second{color:rgba(255, 255, 255, 0.12);transition:all 0.2s;user-select:none;}.ant-rate .ant-rate-star-first .anticon,.ant-rate .ant-rate-star-second .anticon{vertical-align:middle;}.ant-rate .ant-rate-star-first{position:absolute;top:0;inset-inline-start:0;width:50%;height:100%;overflow:hidden;opacity:0;}.ant-rate .ant-rate-star-half .ant-rate-star-first,.ant-rate .ant-rate-star-half .ant-rate-star-second{opacity:1;}.ant-rate .ant-rate-star-half .ant-rate-star-first,.ant-rate .ant-rate-star-full .ant-rate-star-second{color:inherit;}.ant-rate +.ant-rate-text{display:inline-block;margin-inline-start:8px;font-size:14px;}.ant-rate-rtl.ant-rate{direction:rtl;}[class^=\\"ant-result\\"],[class*=\\" ant-result\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-result\\"]::before,[class*=\\" ant-result\\"]::before,[class^=\\"ant-result\\"]::after,[class*=\\" ant-result\\"]::after{box-sizing:border-box;}[class^=\\"ant-result\\"] [class^=\\"ant-result\\"],[class*=\\" ant-result\\"] [class^=\\"ant-result\\"],[class^=\\"ant-result\\"] [class*=\\" ant-result\\"],[class*=\\" ant-result\\"] [class*=\\" ant-result\\"]{box-sizing:border-box;}[class^=\\"ant-result\\"] [class^=\\"ant-result\\"]::before,[class*=\\" ant-result\\"] [class^=\\"ant-result\\"]::before,[class^=\\"ant-result\\"] [class*=\\" ant-result\\"]::before,[class*=\\" ant-result\\"] [class*=\\" ant-result\\"]::before,[class^=\\"ant-result\\"] [class^=\\"ant-result\\"]::after,[class*=\\" ant-result\\"] [class^=\\"ant-result\\"]::after,[class^=\\"ant-result\\"] [class*=\\" ant-result\\"]::after,[class*=\\" ant-result\\"] [class*=\\" ant-result\\"]::after{box-sizing:border-box;}.ant-result{padding:48px 32px;}.ant-result-rtl{direction:rtl;}.ant-result .ant-result-image{width:250px;height:295px;margin:auto;}.ant-result .ant-result-icon{margin-bottom:24px;text-align:center;}.ant-result .ant-result-icon>.anticon{font-size:72px;}.ant-result .ant-result-title{color:rgba(255, 255, 255, 0.85);font-size:24px;line-height:1.3333333333333333;margin-block:8px;text-align:center;}.ant-result .ant-result-subtitle{color:rgba(255, 255, 255, 0.45);font-size:14px;line-height:1.5714285714285714;text-align:center;}.ant-result .ant-result-content{margin-top:24px;padding:24px 40px;background-color:rgba(255, 255, 255, 0.04);}.ant-result .ant-result-extra{margin:24px 0 0 0;text-align:center;}.ant-result .ant-result-extra>*{margin-inline-end:8px;}.ant-result .ant-result-extra>*:last-child{margin-inline-end:0;}.ant-result-success .ant-result-icon>.anticon{color:#49aa19;}.ant-result-error .ant-result-icon>.anticon{color:#dc4446;}.ant-result-info .ant-result-icon>.anticon{color:#1668dc;}.ant-result-warning .ant-result-icon>.anticon{color:#d89614;}[class^=\\"ant-slider\\"],[class*=\\" ant-slider\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-slider\\"]::before,[class*=\\" ant-slider\\"]::before,[class^=\\"ant-slider\\"]::after,[class*=\\" ant-slider\\"]::after{box-sizing:border-box;}[class^=\\"ant-slider\\"] [class^=\\"ant-slider\\"],[class*=\\" ant-slider\\"] [class^=\\"ant-slider\\"],[class^=\\"ant-slider\\"] [class*=\\" ant-slider\\"],[class*=\\" ant-slider\\"] [class*=\\" ant-slider\\"]{box-sizing:border-box;}[class^=\\"ant-slider\\"] [class^=\\"ant-slider\\"]::before,[class*=\\" ant-slider\\"] [class^=\\"ant-slider\\"]::before,[class^=\\"ant-slider\\"] [class*=\\" ant-slider\\"]::before,[class*=\\" ant-slider\\"] [class*=\\" ant-slider\\"]::before,[class^=\\"ant-slider\\"] [class^=\\"ant-slider\\"]::after,[class*=\\" ant-slider\\"] [class^=\\"ant-slider\\"]::after,[class^=\\"ant-slider\\"] [class*=\\" ant-slider\\"]::after,[class*=\\" ant-slider\\"] [class*=\\" ant-slider\\"]::after{box-sizing:border-box;}.ant-slider{box-sizing:border-box;margin:11px 5px;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;height:10px;cursor:pointer;touch-action:none;}.ant-slider-vertical{margin:5px 11px;}.ant-slider .ant-slider-rail{position:absolute;background-color:rgba(255, 255, 255, 0.08);border-radius:2px;transition:background-color 0.2s;}.ant-slider .ant-slider-track{position:absolute;background-color:#0e340e;border-radius:2px;transition:background-color 0.2s;}.ant-slider:hover .ant-slider-rail{background-color:rgba(255, 255, 255, 0.12);}.ant-slider:hover .ant-slider-track{background-color:#0b450b;}.ant-slider:hover .ant-slider-dot{border-color:rgba(255, 255, 255, 0.18);}.ant-slider:hover .ant-slider-handle::after{box-shadow:0 0 0 2px #0b450b;}.ant-slider:hover .ant-slider-dot-active{border-color:#037003;}.ant-slider .ant-slider-handle{position:absolute;width:10px;height:10px;outline:none;}.ant-slider .ant-slider-handle .ant-slider-dragging{z-index:1;}.ant-slider .ant-slider-handle::before{content:\\"\\";position:absolute;inset-inline-start:-2px;inset-block-start:-2px;width:14px;height:14px;background-color:transparent;}.ant-slider .ant-slider-handle::after{content:\\"\\";position:absolute;inset-block-start:0;inset-inline-start:0;width:10px;height:10px;background-color:#1f1f1f;box-shadow:0 0 0 2px #0e340e;border-radius:50%;cursor:pointer;transition:inset-inline-start 0.2s,inset-block-start 0.2s,width 0.2s,height 0.2s,box-shadow 0.2s;}.ant-slider .ant-slider-handle:hover::before,.ant-slider .ant-slider-handle:active::before,.ant-slider .ant-slider-handle:focus::before{inset-inline-start:-5px;inset-block-start:-5px;width:20px;height:20px;}.ant-slider .ant-slider-handle:hover::after,.ant-slider .ant-slider-handle:active::after,.ant-slider .ant-slider-handle:focus::after{box-shadow:0 0 0 4px #037003;width:12px;height:12px;inset-inline-start:-1px;inset-block-start:-1px;}.ant-slider .ant-slider-mark{position:absolute;font-size:14px;}.ant-slider .ant-slider-mark-text{position:absolute;display:inline-block;color:rgba(255, 255, 255, 0.45);text-align:center;word-break:keep-all;cursor:pointer;user-select:none;}.ant-slider .ant-slider-mark-text-active{color:rgba(255, 255, 255, 0.85);}.ant-slider .ant-slider-step{position:absolute;background:transparent;pointer-events:none;}.ant-slider .ant-slider-dot{position:absolute;width:8px;height:8px;background-color:#1f1f1f;border:2px solid #303030;border-radius:50%;cursor:pointer;transition:border-color 0.3s;}.ant-slider .ant-slider-dot-active{border-color:#0e340e;}.ant-slider.ant-slider-disabled{cursor:not-allowed;}.ant-slider.ant-slider-disabled .ant-slider-rail{background-color:rgba(255, 255, 255, 0.12)!important;}.ant-slider.ant-slider-disabled .ant-slider-track{background-color:rgba(255, 255, 255, 0.25)!important;}.ant-slider.ant-slider-disabled .ant-slider-dot{background-color:#1f1f1f;border-color:rgba(255, 255, 255, 0.25);box-shadow:none;cursor:not-allowed;}.ant-slider.ant-slider-disabled .ant-slider-handle::after{background-color:#1f1f1f;cursor:not-allowed;width:10px;height:10px;box-shadow:0 0 0 2px #4f4f4f;inset-inline-start:0;inset-block-start:0;}.ant-slider.ant-slider-disabled .ant-slider-mark-text,.ant-slider.ant-slider-disabled .ant-slider-dot{cursor:not-allowed!important;}.ant-slider-horizontal{padding-block:4px;height:12px;}.ant-slider-horizontal .ant-slider-rail{width:100%;height:4px;}.ant-slider-horizontal .ant-slider-track{height:4px;}.ant-slider-horizontal .ant-slider-handle{inset-block-start:1px;}.ant-slider-horizontal .ant-slider-mark{inset-inline-start:0;top:10px;width:100%;}.ant-slider-horizontal .ant-slider-step{inset-inline-start:0;top:4px;width:100%;height:4px;}.ant-slider-horizontal .ant-slider-dot{position:absolute;inset-block-start:-2px;}.ant-slider-horizontal.ant-slider-with-marks{margin-bottom:30px;}.ant-slider-vertical{padding-inline:4px;width:12px;height:100%;}.ant-slider-vertical .ant-slider-rail{height:100%;width:4px;}.ant-slider-vertical .ant-slider-track{width:4px;}.ant-slider-vertical .ant-slider-handle{inset-inline-start:1px;}.ant-slider-vertical .ant-slider-mark{inset-inline-start:10px;top:0;height:100%;}.ant-slider-vertical .ant-slider-step{inset-inline-start:4px;top:0;height:100%;width:4px;}.ant-slider-vertical .ant-slider-dot{position:absolute;inset-inline-start:-2px;}[class^=\\"ant-space\\"],[class*=\\" ant-space\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-space\\"]::before,[class*=\\" ant-space\\"]::before,[class^=\\"ant-space\\"]::after,[class*=\\" ant-space\\"]::after{box-sizing:border-box;}[class^=\\"ant-space\\"] [class^=\\"ant-space\\"],[class*=\\" ant-space\\"] [class^=\\"ant-space\\"],[class^=\\"ant-space\\"] [class*=\\" ant-space\\"],[class*=\\" ant-space\\"] [class*=\\" ant-space\\"]{box-sizing:border-box;}[class^=\\"ant-space\\"] [class^=\\"ant-space\\"]::before,[class*=\\" ant-space\\"] [class^=\\"ant-space\\"]::before,[class^=\\"ant-space\\"] [class*=\\" ant-space\\"]::before,[class*=\\" ant-space\\"] [class*=\\" ant-space\\"]::before,[class^=\\"ant-space\\"] [class^=\\"ant-space\\"]::after,[class*=\\" ant-space\\"] [class^=\\"ant-space\\"]::after,[class^=\\"ant-space\\"] [class*=\\" ant-space\\"]::after,[class*=\\" ant-space\\"] [class*=\\" ant-space\\"]::after{box-sizing:border-box;}.ant-space{display:inline-flex;}.ant-space-rtl{direction:rtl;}.ant-space-vertical{flex-direction:column;}.ant-space-align{flex-direction:column;}.ant-space-align-center{align-items:center;}.ant-space-align-start{align-items:flex-start;}.ant-space-align-end{align-items:flex-end;}.ant-space-align-baseline{align-items:baseline;}.ant-space .ant-space-space-item:empty{display:none;}.ant-space{display:inline-flex;}.ant-space-block{display:flex;width:100%;}.ant-space-vertical{flex-direction:column;}[class^=\\"ant-space-compact\\"],[class*=\\" ant-space-compact\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-space-compact\\"]::before,[class*=\\" ant-space-compact\\"]::before,[class^=\\"ant-space-compact\\"]::after,[class*=\\" ant-space-compact\\"]::after{box-sizing:border-box;}[class^=\\"ant-space-compact\\"] [class^=\\"ant-space-compact\\"],[class*=\\" ant-space-compact\\"] [class^=\\"ant-space-compact\\"],[class^=\\"ant-space-compact\\"] [class*=\\" ant-space-compact\\"],[class*=\\" ant-space-compact\\"] [class*=\\" ant-space-compact\\"]{box-sizing:border-box;}[class^=\\"ant-space-compact\\"] [class^=\\"ant-space-compact\\"]::before,[class*=\\" ant-space-compact\\"] [class^=\\"ant-space-compact\\"]::before,[class^=\\"ant-space-compact\\"] [class*=\\" ant-space-compact\\"]::before,[class*=\\" ant-space-compact\\"] [class*=\\" ant-space-compact\\"]::before,[class^=\\"ant-space-compact\\"] [class^=\\"ant-space-compact\\"]::after,[class*=\\" ant-space-compact\\"] [class^=\\"ant-space-compact\\"]::after,[class^=\\"ant-space-compact\\"] [class*=\\" ant-space-compact\\"]::after,[class*=\\" ant-space-compact\\"] [class*=\\" ant-space-compact\\"]::after{box-sizing:border-box;}.ant-space-compact{display:inline-flex;}.ant-space-compact-rtl{direction:rtl;}.ant-space-compact-vertical{flex-direction:column;}.ant-space-compact-align{flex-direction:column;}.ant-space-compact-align-center{align-items:center;}.ant-space-compact-align-start{align-items:flex-start;}.ant-space-compact-align-end{align-items:flex-end;}.ant-space-compact-align-baseline{align-items:baseline;}.ant-space-compact .ant-space-compact-space-item:empty{display:none;}.ant-space-compact{display:inline-flex;}.ant-space-compact-block{display:flex;width:100%;}.ant-space-compact-vertical{flex-direction:column;}[class^=\\"ant-steps\\"],[class*=\\" ant-steps\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-steps\\"]::before,[class*=\\" ant-steps\\"]::before,[class^=\\"ant-steps\\"]::after,[class*=\\" ant-steps\\"]::after{box-sizing:border-box;}[class^=\\"ant-steps\\"] [class^=\\"ant-steps\\"],[class*=\\" ant-steps\\"] [class^=\\"ant-steps\\"],[class^=\\"ant-steps\\"] [class*=\\" ant-steps\\"],[class*=\\" ant-steps\\"] [class*=\\" ant-steps\\"]{box-sizing:border-box;}[class^=\\"ant-steps\\"] [class^=\\"ant-steps\\"]::before,[class*=\\" ant-steps\\"] [class^=\\"ant-steps\\"]::before,[class^=\\"ant-steps\\"] [class*=\\" ant-steps\\"]::before,[class*=\\" ant-steps\\"] [class*=\\" ant-steps\\"]::before,[class^=\\"ant-steps\\"] [class^=\\"ant-steps\\"]::after,[class*=\\" ant-steps\\"] [class^=\\"ant-steps\\"]::after,[class^=\\"ant-steps\\"] [class*=\\" ant-steps\\"]::after,[class*=\\" ant-steps\\"] [class*=\\" ant-steps\\"]::after{box-sizing:border-box;}.ant-steps{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:0;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:flex;width:100%;text-align:initial;}.ant-steps .ant-steps-item{position:relative;display:inline-block;flex:1;overflow:hidden;vertical-align:top;}.ant-steps .ant-steps-item:last-child{flex:none;}.ant-steps .ant-steps-item:last-child >.ant-steps-item-container>.ant-steps-item-tail,.ant-steps .ant-steps-item:last-child >.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after{display:none;}.ant-steps .ant-steps-item-container{outline:none;}.ant-steps .ant-steps-item-icon,.ant-steps .ant-steps-item-content{display:inline-block;vertical-align:top;}.ant-steps .ant-steps-item-icon{width:32px;height:32px;margin-top:0;margin-bottom:0;margin-inline-start:0;margin-inline-end:8px;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';line-height:32px;text-align:center;border-radius:32px;border:1px solid transparent;transition:background-color 0.3s,border-color 0.3s;}.ant-steps .ant-steps-item-icon .ant-steps-icon{position:relative;top:-0.5px;color:#037003;line-height:1;}.ant-steps .ant-steps-item-tail{position:absolute;top:12px;inset-inline-start:0;width:100%;}.ant-steps .ant-steps-item-tail::after{display:inline-block;width:100%;height:1px;background:rgba(253, 253, 253, 0.12);border-radius:1px;transition:background 0.3s;content:\\"\\";}.ant-steps .ant-steps-item-title{position:relative;display:inline-block;padding-inline-end:16px;color:rgba(255, 255, 255, 0.85);font-size:16px;line-height:32px;}.ant-steps .ant-steps-item-title::after{position:absolute;top:16px;inset-inline-start:100%;display:block;width:9999px;height:1px;background:rgba(253, 253, 253, 0.12);content:\\"\\";}.ant-steps .ant-steps-item-subtitle{display:inline;margin-inline-start:8px;color:rgba(255, 255, 255, 0.45);font-weight:normal;font-size:14px;}.ant-steps .ant-steps-item-description{color:rgba(255, 255, 255, 0.45);font-size:14px;}.ant-steps .ant-steps-item-wait .ant-steps-item-icon{background-color:rgba(255, 255, 255, 0.12);border-color:transparent;}.ant-steps .ant-steps-item-wait .ant-steps-item-icon >.ant-steps-icon{color:rgba(255, 255, 255, 0.65);}.ant-steps .ant-steps-item-wait .ant-steps-item-icon >.ant-steps-icon .ant-steps-icon-dot{background:rgba(255, 255, 255, 0.25);}.ant-steps .ant-steps-item-wait.ant-steps-item-custom .ant-steps-item-icon >.ant-steps-icon{color:rgba(255, 255, 255, 0.25);}.ant-steps .ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title{color:rgba(255, 255, 255, 0.45);}.ant-steps .ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after{background-color:rgba(253, 253, 253, 0.12);}.ant-steps .ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description{color:rgba(255, 255, 255, 0.45);}.ant-steps .ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-tail::after{background-color:rgba(253, 253, 253, 0.12);}.ant-steps .ant-steps-item-process .ant-steps-item-icon{background-color:#037003;border-color:#037003;}.ant-steps .ant-steps-item-process .ant-steps-item-icon >.ant-steps-icon{color:#fff;}.ant-steps .ant-steps-item-process .ant-steps-item-icon >.ant-steps-icon .ant-steps-icon-dot{background:#037003;}.ant-steps .ant-steps-item-process.ant-steps-item-custom .ant-steps-item-icon >.ant-steps-icon{color:#037003;}.ant-steps .ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title{color:rgba(255, 255, 255, 0.85);}.ant-steps .ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after{background-color:rgba(253, 253, 253, 0.12);}.ant-steps .ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description{color:rgba(255, 255, 255, 0.85);}.ant-steps .ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-tail::after{background-color:rgba(253, 253, 253, 0.12);}.ant-steps .ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-title{font-weight:600;}.ant-steps .ant-steps-item-finish .ant-steps-item-icon{background-color:#111911;border-color:#111911;}.ant-steps .ant-steps-item-finish .ant-steps-item-icon >.ant-steps-icon{color:#037003;}.ant-steps .ant-steps-item-finish .ant-steps-item-icon >.ant-steps-icon .ant-steps-icon-dot{background:#037003;}.ant-steps .ant-steps-item-finish.ant-steps-item-custom .ant-steps-item-icon >.ant-steps-icon{color:#037003;}.ant-steps .ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title{color:rgba(255, 255, 255, 0.85);}.ant-steps .ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after{background-color:#037003;}.ant-steps .ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description{color:rgba(255, 255, 255, 0.45);}.ant-steps .ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-tail::after{background-color:#037003;}.ant-steps .ant-steps-item-error .ant-steps-item-icon{background-color:#dc4446;border-color:#dc4446;}.ant-steps .ant-steps-item-error .ant-steps-item-icon >.ant-steps-icon{color:#fff;}.ant-steps .ant-steps-item-error .ant-steps-item-icon >.ant-steps-icon .ant-steps-icon-dot{background:#dc4446;}.ant-steps .ant-steps-item-error.ant-steps-item-custom .ant-steps-item-icon >.ant-steps-icon{color:#dc4446;}.ant-steps .ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title{color:#dc4446;}.ant-steps .ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after{background-color:rgba(253, 253, 253, 0.12);}.ant-steps .ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description{color:#dc4446;}.ant-steps .ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-tail::after{background-color:rgba(253, 253, 253, 0.12);}.ant-steps .ant-steps-item.ant-steps-next-error>.ant-steps-item-title::after{background:#dc4446;}.ant-steps .ant-steps-item-disabled{cursor:not-allowed;}.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role='button']{cursor:pointer;}.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role='button'] .ant-steps-item-title,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role='button'] .ant-steps-item-subtitle,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role='button'] .ant-steps-item-description,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role='button'] .ant-steps-item-icon .ant-steps-icon{transition:color 0.3s;}.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role='button']:hover .ant-steps-item-title,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role='button']:hover .ant-steps-item-subtitle,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role='button']:hover .ant-steps-item-description{color:#037003;}.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process)>.ant-steps-item-container[role='button']:hover .ant-steps-item-icon{border-color:#037003;}.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process)>.ant-steps-item-container[role='button']:hover .ant-steps-item-icon .ant-steps-icon{color:#037003;}.ant-steps.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-inline-start:16px;white-space:nowrap;}.ant-steps.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-inline-start:0;}.ant-steps.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:last-child .ant-steps-item-title{padding-inline-end:0;}.ant-steps.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item-tail{display:none;}.ant-steps.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item-description{max-width:140px;white-space:normal;}.ant-steps .ant-steps-item-custom >.ant-steps-item-container>.ant-steps-item-icon{height:auto;background:none;border:0;}.ant-steps .ant-steps-item-custom >.ant-steps-item-container>.ant-steps-item-icon >.ant-steps-icon{top:0;width:32px;height:32px;font-size:20px;line-height:32px;}.ant-steps:not(.ant-steps-vertical) .ant-steps-item-custom .ant-steps-item-icon{width:auto;background:none;}.ant-steps.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-inline-start:12px;}.ant-steps.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-inline-start:0;}.ant-steps.ant-steps-small .ant-steps-item-icon{width:24px;height:24px;margin-top:0;margin-bottom:0;margin-inline:0 8px;font-size:12px;line-height:24px;text-align:center;border-radius:24px;}.ant-steps.ant-steps-small .ant-steps-item-title{padding-inline-end:12px;font-size:14px;line-height:24px;}.ant-steps.ant-steps-small .ant-steps-item-title::after{top:12px;}.ant-steps.ant-steps-small .ant-steps-item-description{color:rgba(255, 255, 255, 0.45);font-size:14px;}.ant-steps.ant-steps-small .ant-steps-item-tail{top:8px;}.ant-steps.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon{width:inherit;height:inherit;line-height:inherit;background:none;border:0;border-radius:0;}.ant-steps.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon >.ant-steps-icon{font-size:24px;line-height:24px;transform:none;}.ant-steps.ant-steps-vertical{display:flex;flex-direction:column;}.ant-steps.ant-steps-vertical >.ant-steps-item{display:block;flex:1 0 auto;padding-inline-start:0;overflow:visible;}.ant-steps.ant-steps-vertical >.ant-steps-item .ant-steps-item-icon{float:left;margin-inline-end:16px;}.ant-steps.ant-steps-vertical >.ant-steps-item .ant-steps-item-content{display:block;min-height:48px;overflow:hidden;}.ant-steps.ant-steps-vertical >.ant-steps-item .ant-steps-item-title{line-height:32px;}.ant-steps.ant-steps-vertical >.ant-steps-item .ant-steps-item-description{padding-bottom:12px;}.ant-steps.ant-steps-vertical >.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{position:absolute;top:0;inset-inline-start:15px;width:1px;height:100%;padding:38px 0 6px;}.ant-steps.ant-steps-vertical >.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail::after{width:1px;height:100%;}.ant-steps.ant-steps-vertical >.ant-steps-item:not(:last-child)>.ant-steps-item-container>.ant-steps-item-tail{display:block;}.ant-steps.ant-steps-vertical >.ant-steps-item>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after{display:none;}.ant-steps.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-tail{position:absolute;top:0;inset-inline-start:11px;padding:30px 0 6px;}.ant-steps.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-title{line-height:24px;}.ant-steps.ant-steps-label-vertical .ant-steps-item{overflow:visible;}.ant-steps.ant-steps-label-vertical .ant-steps-item-tail{margin-inline-start:56px;padding:4px 24px;}.ant-steps.ant-steps-label-vertical .ant-steps-item-content{display:block;width:112px;margin-top:12px;text-align:center;}.ant-steps.ant-steps-label-vertical .ant-steps-item-icon{display:inline-block;margin-inline-start:40px;}.ant-steps.ant-steps-label-vertical .ant-steps-item-title{padding-inline-end:0;padding-inline-start:0;}.ant-steps.ant-steps-label-vertical .ant-steps-item-title::after{display:none;}.ant-steps.ant-steps-label-vertical .ant-steps-item-subtitle{display:block;margin-bottom:4px;margin-inline-start:0;line-height:1.5714285714285714;}.ant-steps.ant-steps-label-vertical.ant-steps-small:not(.ant-steps-dot) .ant-steps-item-icon{margin-inline-start:44px;}.ant-steps.ant-steps-dot .ant-steps-item-title,.ant-steps.ant-steps-dot.ant-steps-small .ant-steps-item-title{line-height:1.5714285714285714;}.ant-steps.ant-steps-dot .ant-steps-item-tail,.ant-steps.ant-steps-dot.ant-steps-small .ant-steps-item-tail{top:2px;width:100%;margin-top:0;margin-bottom:0;margin-inline:70px 0;padding:0;}.ant-steps.ant-steps-dot .ant-steps-item-tail::after,.ant-steps.ant-steps-dot.ant-steps-small .ant-steps-item-tail::after{width:calc(100% - 24px);height:3px;margin-inline-start:12px;}.ant-steps.ant-steps-dot .ant-steps-item-icon,.ant-steps.ant-steps-dot.ant-steps-small .ant-steps-item-icon{width:8px;height:8px;margin-inline-start:66px;padding-inline-end:0;line-height:8px;background:transparent;border:0;}.ant-steps.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot,.ant-steps.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot{position:relative;float:left;width:100%;height:100%;border-radius:100px;transition:all 0.3s;}.ant-steps.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot::after,.ant-steps.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot::after{position:absolute;top:-12px;inset-inline-start:-26px;width:60px;height:32px;background:transparent;content:\\"\\";}.ant-steps.ant-steps-dot .ant-steps-item-content,.ant-steps.ant-steps-dot.ant-steps-small .ant-steps-item-content{width:140px;}.ant-steps.ant-steps-dot .ant-steps-item-process .ant-steps-item-icon,.ant-steps.ant-steps-dot.ant-steps-small .ant-steps-item-process .ant-steps-item-icon{position:relative;top:-1px;width:10px;height:10px;line-height:10px;background:none;margin-inline-start:65px;}.ant-steps.ant-steps-dot .ant-steps-item-process .ant-steps-icon:first-child .ant-steps-icon-dot,.ant-steps.ant-steps-dot.ant-steps-small .ant-steps-item-process .ant-steps-icon:first-child .ant-steps-icon-dot{inset-inline-start:0;}.ant-steps.ant-steps-vertical.ant-steps-dot .ant-steps-item-icon{margin-top:12px;margin-inline-start:0;background:none;}.ant-steps.ant-steps-vertical.ant-steps-dot .ant-steps-item-process .ant-steps-item-icon{margin-top:11px;top:0;inset-inline-start:-1px;margin-inline-start:0;}.ant-steps.ant-steps-vertical.ant-steps-dot .ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{top:12px;inset-inline-start:0;margin:0;padding:16px 0 8px;}.ant-steps.ant-steps-vertical.ant-steps-dot .ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail::after{margin-inline-start:3.5px;}.ant-steps.ant-steps-vertical.ant-steps-dot.ant-steps-small .ant-steps-item-icon{margin-top:8px;}.ant-steps.ant-steps-vertical.ant-steps-dot.ant-steps-small .ant-steps-item-process .ant-steps-item-icon{margin-top:7px;}.ant-steps.ant-steps-vertical.ant-steps-dot.ant-steps-small .ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{top:8px;}.ant-steps.ant-steps-vertical.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot{inset-inline-start:0;}.ant-steps.ant-steps-vertical.ant-steps-dot .ant-steps-item-content{width:inherit;}.ant-steps.ant-steps-navigation{padding-top:12px;}.ant-steps.ant-steps-navigation.ant-steps-small .ant-steps-item-container{margin-inline-start:-12px;}.ant-steps.ant-steps-navigation .ant-steps-item{overflow:visible;text-align:center;}.ant-steps.ant-steps-navigation .ant-steps-item-container{display:inline-block;height:100%;margin-inline-start:-16px;padding-bottom:12px;text-align:start;transition:opacity 0.3s;}.ant-steps.ant-steps-navigation .ant-steps-item-container .ant-steps-item-content{max-width:auto;}.ant-steps.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title{max-width:100%;padding-inline-end:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.ant-steps.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title::after{display:none;}.ant-steps.ant-steps-navigation .ant-steps-item:not(.ant-steps-item-active) .ant-steps-item-container[role='button']{cursor:pointer;}.ant-steps.ant-steps-navigation .ant-steps-item:not(.ant-steps-item-active) .ant-steps-item-container[role='button']:hover{opacity:0.85;}.ant-steps.ant-steps-navigation .ant-steps-item:last-child{flex:1;}.ant-steps.ant-steps-navigation .ant-steps-item:last-child::after{display:none;}.ant-steps.ant-steps-navigation .ant-steps-item::after{position:absolute;top:calc(50% - 6px);inset-inline-start:100%;display:inline-block;width:12px;height:12px;border-top:1px solid rgba(255, 255, 255, 0.25);border-bottom:none;border-inline-start:none;border-inline-end:1px solid rgba(255, 255, 255, 0.25);transform:translateY(-50%) translateX(-50%) rotate(45deg);content:\\"\\";}.ant-steps.ant-steps-navigation .ant-steps-item::before{position:absolute;bottom:0;inset-inline-start:50%;display:inline-block;width:0;height:2px;background-color:#037003;transition:width 0.3s,inset-inline-start 0.3s;transition-timing-function:ease-out;content:\\"\\";}.ant-steps.ant-steps-navigation .ant-steps-item.ant-steps-item-active::before{inset-inline-start:0;width:100%;}.ant-steps.ant-steps-navigation.ant-steps-vertical >.ant-steps-item{margin-inline-end:0;}.ant-steps.ant-steps-navigation.ant-steps-vertical >.ant-steps-item::before{display:none;}.ant-steps.ant-steps-navigation.ant-steps-vertical >.ant-steps-item.ant-steps-item-active::before{top:0;inset-inline-end:0;inset-inline-start:unset;display:block;width:3px;height:calc(100% - 24px);}.ant-steps.ant-steps-navigation.ant-steps-vertical >.ant-steps-item::after{position:relative;inset-inline-start:50%;display:block;width:8px;height:8px;margin-bottom:8px;text-align:center;transform:translateY(-50%) translateX(-50%) rotate(135deg);}.ant-steps.ant-steps-navigation.ant-steps-vertical >.ant-steps-item >.ant-steps-item-container>.ant-steps-item-tail{visibility:hidden;}.ant-steps.ant-steps-navigation.ant-steps-horizontal >.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{visibility:hidden;}.ant-steps.ant-steps-rtl{direction:rtl;}.ant-steps.ant-steps-rtl .ant-steps-item-subtitle{float:left;}.ant-steps.ant-steps-rtl.ant-steps-navigation .ant-steps-item::after{transform:rotate(-45deg);}.ant-steps.ant-steps-rtl.ant-steps-vertical >.ant-steps-item::after{transform:rotate(225deg);}.ant-steps.ant-steps-rtl.ant-steps-vertical >.ant-steps-item .ant-steps-item-icon{float:right;}.ant-steps.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot,.ant-steps.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot{float:right;}.ant-steps.ant-steps-with-progress .ant-steps-item{padding-top:4px;}.ant-steps.ant-steps-with-progress .ant-steps-item-process .ant-steps-item-container .ant-steps-item-icon .ant-steps-icon{color:#fff;}.ant-steps.ant-steps-with-progress.ant-steps-vertical>.ant-steps-item{padding-inline-start:4px;}.ant-steps.ant-steps-with-progress.ant-steps-vertical>.ant-steps-item >.ant-steps-item-container>.ant-steps-item-tail{top:4px;inset-inline-start:19px;}.ant-steps.ant-steps-with-progress.ant-steps-horizontal .ant-steps-item:first-child,.ant-steps.ant-steps-with-progress.ant-steps-small.ant-steps-horizontal .ant-steps-item:first-child{padding-bottom:4px;padding-inline-start:4px;}.ant-steps.ant-steps-with-progress.ant-steps-small.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{inset-inline-start:15px;}.ant-steps.ant-steps-with-progress.ant-steps-label-vertical .ant-steps-item .ant-steps-item-tail{top:14px;}.ant-steps.ant-steps-with-progress .ant-steps-item-icon{position:relative;}.ant-steps.ant-steps-with-progress .ant-steps-item-icon .ant-progress{position:absolute;inset-block-start:-5px;inset-inline-start:-5px;}.ant-steps.ant-steps-inline{width:auto;display:inline-flex;}.ant-steps.ant-steps-inline .ant-steps-item{flex:none;}.ant-steps.ant-steps-inline .ant-steps-item-container{padding:9px 4px 0;margin:0 2px;border-radius:4px;cursor:pointer;transition:background-color 0.2s;}.ant-steps.ant-steps-inline .ant-steps-item-container:hover{background:rgba(255, 255, 255, 0.08);}.ant-steps.ant-steps-inline .ant-steps-item-container[role='button']:hover{opacity:1;}.ant-steps.ant-steps-inline .ant-steps-item-icon{width:6px;height:6px;margin-inline-start:calc(50% - 3px);}.ant-steps.ant-steps-inline .ant-steps-item-icon >.ant-steps-icon{top:0;}.ant-steps.ant-steps-inline .ant-steps-item-icon .ant-steps-icon-dot{border-radius:3px;}.ant-steps.ant-steps-inline .ant-steps-item-content{width:auto;margin-top:7px;}.ant-steps.ant-steps-inline .ant-steps-item-title{color:rgba(255, 255, 255, 0.25);font-size:12px;line-height:1.6666666666666667;font-weight:normal;margin-bottom:2px;}.ant-steps.ant-steps-inline .ant-steps-item-description{display:none;}.ant-steps.ant-steps-inline .ant-steps-item-tail{margin-inline-start:0;top:12px;transform:translateY(-50%);}.ant-steps.ant-steps-inline .ant-steps-item-tail:after{width:100%;height:1px;border-radius:0;margin-inline-start:0;background:#303030;}.ant-steps.ant-steps-inline .ant-steps-item:first-child .ant-steps-item-tail{width:50%;margin-inline-start:50%;}.ant-steps.ant-steps-inline .ant-steps-item:last-child .ant-steps-item-tail{display:block;width:50%;}.ant-steps.ant-steps-inline .ant-steps-item-wait .ant-steps-item-icon .ant-steps-icon .ant-steps-icon-dot{background-color:#141414;border:1px solid #303030;}.ant-steps.ant-steps-inline .ant-steps-item-wait .ant-steps-item-container .ant-steps-item-content .ant-steps-item-title{color:rgba(255, 255, 255, 0.25);}.ant-steps.ant-steps-inline .ant-steps-item-finish .ant-steps-item-tail::after{background-color:#303030;}.ant-steps.ant-steps-inline .ant-steps-item-finish .ant-steps-item-icon .ant-steps-icon .ant-steps-icon-dot{background-color:#303030;border:1px solid #303030;}.ant-steps.ant-steps-inline .ant-steps-item-finish .ant-steps-item-container .ant-steps-item-content .ant-steps-item-title{color:rgba(255, 255, 255, 0.25);}.ant-steps.ant-steps-inline .ant-steps-item-error .ant-steps-item-container .ant-steps-item-content .ant-steps-item-title{color:rgba(255, 255, 255, 0.25);}.ant-steps.ant-steps-inline .ant-steps-item-active .ant-steps-item-icon,.ant-steps.ant-steps-inline .ant-steps-item-process .ant-steps-item-icon{width:6px;height:6px;margin-inline-start:calc(50% - 3px);top:0;}.ant-steps.ant-steps-inline .ant-steps-item-active .ant-steps-item-container .ant-steps-item-content .ant-steps-item-title,.ant-steps.ant-steps-inline .ant-steps-item-process .ant-steps-item-container .ant-steps-item-content .ant-steps-item-title{color:rgba(255, 255, 255, 0.25);}.ant-steps.ant-steps-inline .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role='button']:hover .ant-steps-item-title{color:rgba(255, 255, 255, 0.25);}[class^=\\"ant-switch\\"],[class*=\\" ant-switch\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-switch\\"]::before,[class*=\\" ant-switch\\"]::before,[class^=\\"ant-switch\\"]::after,[class*=\\" ant-switch\\"]::after{box-sizing:border-box;}[class^=\\"ant-switch\\"] [class^=\\"ant-switch\\"],[class*=\\" ant-switch\\"] [class^=\\"ant-switch\\"],[class^=\\"ant-switch\\"] [class*=\\" ant-switch\\"],[class*=\\" ant-switch\\"] [class*=\\" ant-switch\\"]{box-sizing:border-box;}[class^=\\"ant-switch\\"] [class^=\\"ant-switch\\"]::before,[class*=\\" ant-switch\\"] [class^=\\"ant-switch\\"]::before,[class^=\\"ant-switch\\"] [class*=\\" ant-switch\\"]::before,[class*=\\" ant-switch\\"] [class*=\\" ant-switch\\"]::before,[class^=\\"ant-switch\\"] [class^=\\"ant-switch\\"]::after,[class*=\\" ant-switch\\"] [class^=\\"ant-switch\\"]::after,[class^=\\"ant-switch\\"] [class*=\\" ant-switch\\"]::after,[class*=\\" ant-switch\\"] [class*=\\" ant-switch\\"]::after{box-sizing:border-box;}.ant-switch{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:22px;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;display:inline-block;min-width:44px;height:22px;vertical-align:middle;background:rgba(255, 255, 255, 0.25);border:0;border-radius:100px;cursor:pointer;transition:all 0.2s;user-select:none;}.ant-switch:hover:not(.ant-switch-disabled){background:rgba(255, 255, 255, 0.45);}.ant-switch:focus-visible{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-switch.ant-switch-checked{background:#037003;}.ant-switch.ant-switch-checked:hover:not(.ant-switch-disabled){background:#198016;}.ant-switch.ant-switch-loading,.ant-switch.ant-switch-disabled{cursor:not-allowed;opacity:0.65;}.ant-switch.ant-switch-loading *,.ant-switch.ant-switch-disabled *{box-shadow:none;cursor:not-allowed;}.ant-switch.ant-switch-rtl{direction:rtl;}.ant-switch .ant-switch-inner{display:block;overflow:hidden;border-radius:100px;height:100%;padding-inline-start:24px;padding-inline-end:9px;transition:padding-inline-start 0.2s ease-in-out,padding-inline-end 0.2s ease-in-out;}.ant-switch .ant-switch-inner .ant-switch-inner-checked,.ant-switch .ant-switch-inner .ant-switch-inner-unchecked{display:block;color:#fff;font-size:12px;transition:margin-inline-start 0.2s ease-in-out,margin-inline-end 0.2s ease-in-out;pointer-events:none;}.ant-switch .ant-switch-inner .ant-switch-inner-checked{margin-inline-start:calc(-100% + 22px - 48px);margin-inline-end:calc(100% - 22px + 48px);}.ant-switch .ant-switch-inner .ant-switch-inner-unchecked{margin-top:-22px;margin-inline-start:0;margin-inline-end:0;}.ant-switch.ant-switch-checked .ant-switch-inner{padding-inline-start:9px;padding-inline-end:24px;}.ant-switch.ant-switch-checked .ant-switch-inner .ant-switch-inner-checked{margin-inline-start:0;margin-inline-end:0;}.ant-switch.ant-switch-checked .ant-switch-inner .ant-switch-inner-unchecked{margin-inline-start:calc(100% - 22px + 48px);margin-inline-end:calc(-100% + 22px - 48px);}.ant-switch:not(.ant-switch-disabled):active:not(.ant-switch-checked) .ant-switch-inner .ant-switch-inner-unchecked{margin-inline-start:4px;margin-inline-end:-4px;}.ant-switch:not(.ant-switch-disabled):active.ant-switch-checked .ant-switch-inner .ant-switch-inner-checked{margin-inline-start:-4px;margin-inline-end:4px;}.ant-switch .ant-switch-handle{position:absolute;top:2px;inset-inline-start:2px;width:18px;height:18px;transition:all 0.2s ease-in-out;}.ant-switch .ant-switch-handle::before{position:absolute;top:0;inset-inline-end:0;bottom:0;inset-inline-start:0;background-color:#fff;border-radius:9px;box-shadow:0 2px 4px 0 rgba(0, 35, 11, 0.2);transition:all 0.2s ease-in-out;content:\\"\\";}.ant-switch.ant-switch-checked .ant-switch-handle{inset-inline-start:calc(100% - 20px);}.ant-switch:not(.ant-switch-disabled):active .ant-switch-handle::before{inset-inline-end:-30%;inset-inline-start:0;}.ant-switch:not(.ant-switch-disabled):active.ant-switch-checked .ant-switch-handle::before{inset-inline-end:0;inset-inline-start:-30%;}.ant-switch .ant-switch-loading-icon.anticon{position:relative;top:2px;color:rgba(0, 0, 0, 0.65);vertical-align:top;}.ant-switch.ant-switch-checked .ant-switch-loading-icon{color:#037003;}.ant-switch.ant-switch-small{min-width:28px;height:16px;line-height:16px;}.ant-switch.ant-switch-small .ant-switch-inner{padding-inline-start:18px;padding-inline-end:6px;}.ant-switch.ant-switch-small .ant-switch-inner .ant-switch-inner-checked{margin-inline-start:calc(-100% + 16px - 36px);margin-inline-end:calc(100% - 16px + 36px);}.ant-switch.ant-switch-small .ant-switch-inner .ant-switch-inner-unchecked{margin-top:-16px;margin-inline-start:0;margin-inline-end:0;}.ant-switch.ant-switch-small .ant-switch-handle{width:12px;height:12px;}.ant-switch.ant-switch-small .ant-switch-loading-icon{top:1.5px;font-size:9px;}.ant-switch.ant-switch-small.ant-switch-checked .ant-switch-inner{padding-inline-start:6px;padding-inline-end:18px;}.ant-switch.ant-switch-small.ant-switch-checked .ant-switch-inner .ant-switch-inner-checked{margin-inline-start:0;margin-inline-end:0;}.ant-switch.ant-switch-small.ant-switch-checked .ant-switch-inner .ant-switch-inner-unchecked{margin-inline-start:calc(100% - 16px + 36px);margin-inline-end:calc(-100% + 16px - 36px);}.ant-switch.ant-switch-small.ant-switch-checked .ant-switch-handle{inset-inline-start:calc(100% - 14px);}.ant-switch.ant-switch-small:not(.ant-switch-disabled):active:not(.ant-switch-checked) .ant-switch-inner .ant-switch-inner-unchecked{margin-inline-start:2px;margin-inline-end:-2px;}.ant-switch.ant-switch-small:not(.ant-switch-disabled):active.ant-switch-checked .ant-switch-inner .ant-switch-inner-checked{margin-inline-start:-2px;margin-inline-end:2px;}[class^=\\"ant-table\\"],[class*=\\" ant-table\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-table\\"]::before,[class*=\\" ant-table\\"]::before,[class^=\\"ant-table\\"]::after,[class*=\\" ant-table\\"]::after{box-sizing:border-box;}[class^=\\"ant-table\\"] [class^=\\"ant-table\\"],[class*=\\" ant-table\\"] [class^=\\"ant-table\\"],[class^=\\"ant-table\\"] [class*=\\" ant-table\\"],[class*=\\" ant-table\\"] [class*=\\" ant-table\\"]{box-sizing:border-box;}[class^=\\"ant-table\\"] [class^=\\"ant-table\\"]::before,[class*=\\" ant-table\\"] [class^=\\"ant-table\\"]::before,[class^=\\"ant-table\\"] [class*=\\" ant-table\\"]::before,[class*=\\" ant-table\\"] [class*=\\" ant-table\\"]::before,[class^=\\"ant-table\\"] [class^=\\"ant-table\\"]::after,[class*=\\" ant-table\\"] [class^=\\"ant-table\\"]::after,[class^=\\"ant-table\\"] [class*=\\" ant-table\\"]::after,[class*=\\" ant-table\\"] [class*=\\" ant-table\\"]::after{box-sizing:border-box;}.ant-table-wrapper{clear:both;max-width:100%;}.ant-table-wrapper::before{display:table;content:\\"\\";}.ant-table-wrapper::after{display:table;clear:both;content:\\"\\";}.ant-table-wrapper .ant-table{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';background:#141414;border-radius:8px 8px 0 0;}.ant-table-wrapper table{width:100%;text-align:start;border-radius:8px 8px 0 0;border-collapse:separate;border-spacing:0;}.ant-table-wrapper .ant-table-thead>tr>th,.ant-table-wrapper .ant-table-tbody>tr>td,.ant-table-wrapper tfoot>tr>th,.ant-table-wrapper tfoot>tr>td{position:relative;padding:16px 16px;overflow-wrap:break-word;}.ant-table-wrapper .ant-table-title{padding:16px 16px;}.ant-table-wrapper .ant-table-thead >tr>th,.ant-table-wrapper .ant-table-thead >tr>td{position:relative;color:rgba(255, 255, 255, 0.85);font-weight:600;text-align:start;background:#1d1d1d;border-bottom:1px solid #303030;transition:background 0.2s ease;}.ant-table-wrapper .ant-table-thead >tr>th[colspan]:not([colspan='1']),.ant-table-wrapper .ant-table-thead >tr>td[colspan]:not([colspan='1']){text-align:center;}.ant-table-wrapper .ant-table-thead >tr>th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before,.ant-table-wrapper .ant-table-thead >tr>td:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before{position:absolute;top:50%;inset-inline-end:0;width:1px;height:1.6em;background-color:#303030;transform:translateY(-50%);transition:background-color 0.2s;content:\\"\\";}.ant-table-wrapper .ant-table-thead >tr:not(:last-child)>th[colspan]{border-bottom:0;}.ant-table-wrapper .ant-table:not(.ant-table-bordered) .ant-table-tbody >tr >td{border-top:1px solid #303030;border-bottom:transparent;}.ant-table-wrapper .ant-table:not(.ant-table-bordered) .ant-table-tbody >tr:last-child>td{border-bottom:1px solid #303030;}.ant-table-wrapper .ant-table:not(.ant-table-bordered) .ant-table-tbody >tr:first-child>td,.ant-table-wrapper .ant-table:not(.ant-table-bordered) .ant-table-tbody >tr.ant-table-measure-row+tr>td{border-top:none;border-top-color:transparent;}.ant-table-wrapper .ant-table.ant-table-bordered .ant-table-tbody >tr >td{border-bottom:1px solid #303030;}.ant-table-wrapper .ant-table-tbody >tr >td{transition:background 0.2s,border-color 0.2s;}.ant-table-wrapper .ant-table-tbody >tr >td >.ant-table-wrapper:only-child .ant-table,.ant-table-wrapper .ant-table-tbody >tr >td >.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table{margin-block:-16px;margin-inline:32px -16px;}.ant-table-wrapper .ant-table-tbody >tr >td >.ant-table-wrapper:only-child .ant-table .ant-table-tbody>tr:last-child>td,.ant-table-wrapper .ant-table-tbody >tr >td >.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table .ant-table-tbody>tr:last-child>td{border-bottom:0;}.ant-table-wrapper .ant-table-tbody >tr >td >.ant-table-wrapper:only-child .ant-table .ant-table-tbody>tr:last-child>td:first-child,.ant-table-wrapper .ant-table-tbody >tr >td >.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table .ant-table-tbody>tr:last-child>td:first-child,.ant-table-wrapper .ant-table-tbody >tr >td >.ant-table-wrapper:only-child .ant-table .ant-table-tbody>tr:last-child>td:last-child,.ant-table-wrapper .ant-table-tbody >tr >td >.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table .ant-table-tbody>tr:last-child>td:last-child{border-radius:0;}.ant-table-wrapper .ant-table-tbody >tr.ant-table-row:hover>td,.ant-table-wrapper .ant-table-tbody >tr >td.ant-table-cell-row-hover{background:#1d1d1d;}.ant-table-wrapper .ant-table-tbody >tr.ant-table-row-selected >td{background:#111911;}.ant-table-wrapper .ant-table-tbody >tr.ant-table-row-selected:hover>td{background:#0f2510;}.ant-table-wrapper .ant-table-footer{padding:16px 16px;color:rgba(255, 255, 255, 0.85);background:#1d1d1d;}.ant-table-wrapper .ant-table-pagination.ant-pagination{margin:16px 0;}.ant-table-wrapper .ant-table-pagination{display:flex;flex-wrap:wrap;row-gap:8px;}.ant-table-wrapper .ant-table-pagination >*{flex:none;}.ant-table-wrapper .ant-table-pagination-left{justify-content:flex-start;}.ant-table-wrapper .ant-table-pagination-center{justify-content:center;}.ant-table-wrapper .ant-table-pagination-right{justify-content:flex-end;}.ant-table-wrapper .ant-table-summary{position:relative;z-index:2;background:#141414;}.ant-table-wrapper .ant-table-summary >tr >th,.ant-table-wrapper .ant-table-summary >tr >td{border-bottom:1px solid #303030;}.ant-table-wrapper div.ant-table-summary{box-shadow:0 -1px 0 #303030;}.ant-table-wrapper .ant-table-thead th.ant-table-column-has-sorters{outline:none;cursor:pointer;transition:all 0.3s;}.ant-table-wrapper .ant-table-thead th.ant-table-column-has-sorters:hover{background:#303030;}.ant-table-wrapper .ant-table-thead th.ant-table-column-has-sorters:hover::before{background-color:transparent!important;}.ant-table-wrapper .ant-table-thead th.ant-table-column-has-sorters:focus-visible{color:#037003;}.ant-table-wrapper .ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-left:hover,.ant-table-wrapper .ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-right:hover{background:#303030;}.ant-table-wrapper .ant-table-thead th.ant-table-column-sort{background:#303030;}.ant-table-wrapper .ant-table-thead th.ant-table-column-sort::before{background-color:transparent!important;}.ant-table-wrapper td.ant-table-column-sort{background:#1d1d1d;}.ant-table-wrapper .ant-table-column-title{position:relative;z-index:1;flex:1;}.ant-table-wrapper .ant-table-column-sorters{display:flex;flex:auto;align-items:center;justify-content:space-between;}.ant-table-wrapper .ant-table-column-sorters::after{position:absolute;inset:0;width:100%;height:100%;content:\\"\\";}.ant-table-wrapper .ant-table-column-sorter{margin-inline-start:4px;color:rgba(255, 255, 255, 0.29);font-size:0;transition:color 0.3s;}.ant-table-wrapper .ant-table-column-sorter-inner{display:inline-flex;flex-direction:column;align-items:center;}.ant-table-wrapper .ant-table-column-sorter-up,.ant-table-wrapper .ant-table-column-sorter-down{font-size:12px;}.ant-table-wrapper .ant-table-column-sorter-up.active,.ant-table-wrapper .ant-table-column-sorter-down.active{color:#037003;}.ant-table-wrapper .ant-table-column-sorter .ant-table-column-sorter-up+.ant-table-column-sorter-down{margin-top:-0.3em;}.ant-table-wrapper .ant-table-column-sorters:hover .ant-table-column-sorter{color:rgba(255, 255, 255, 0.55);}.ant-table-wrapper .ant-table-filter-column{display:flex;justify-content:space-between;}.ant-table-wrapper .ant-table-filter-trigger{position:relative;display:flex;align-items:center;margin-block:-4px;margin-inline:4px -8px;padding:0 4px;color:rgba(255, 255, 255, 0.29);font-size:12px;border-radius:6px;cursor:pointer;transition:all 0.3s;}.ant-table-wrapper .ant-table-filter-trigger:hover{color:rgba(255, 255, 255, 0.45);background:rgba(255, 255, 255, 0.12);}.ant-table-wrapper .ant-table-filter-trigger.active{color:#037003;}.ant-dropdown .ant-table-filter-dropdown{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';min-width:120px;background-color:#141414;border-radius:6px;box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);}.ant-dropdown .ant-table-filter-dropdown .ant-dropdown-menu{max-height:264px;overflow-x:hidden;border:0;box-shadow:none;}.ant-dropdown .ant-table-filter-dropdown .ant-dropdown-menu:empty::after{display:block;padding:8px 0;color:rgba(255, 255, 255, 0.25);font-size:12px;text-align:center;content:\\"Not Found\\";}.ant-dropdown .ant-table-filter-dropdown .ant-table-filter-dropdown-tree{padding-block:8px 0;padding-inline:8px;}.ant-dropdown .ant-table-filter-dropdown .ant-table-filter-dropdown-tree .ant-tree{padding:0;}.ant-dropdown .ant-table-filter-dropdown .ant-table-filter-dropdown-tree .ant-tree-treenode .ant-tree-node-content-wrapper:hover{background-color:rgba(255, 255, 255, 0.08);}.ant-dropdown .ant-table-filter-dropdown .ant-table-filter-dropdown-tree .ant-tree-treenode-checkbox-checked .ant-tree-node-content-wrapper,.ant-dropdown .ant-table-filter-dropdown .ant-table-filter-dropdown-tree .ant-tree-treenode-checkbox-checked .ant-tree-node-content-wrapper:hover{background-color:#111911;}.ant-dropdown .ant-table-filter-dropdown .ant-table-filter-dropdown-search{padding:8px;border-bottom:1px solid #303030;}.ant-dropdown .ant-table-filter-dropdown .ant-table-filter-dropdown-search-input input{min-width:140px;}.ant-dropdown .ant-table-filter-dropdown .ant-table-filter-dropdown-search-input .anticon{color:rgba(255, 255, 255, 0.25);}.ant-dropdown .ant-table-filter-dropdown .ant-table-filter-dropdown-checkall{width:100%;margin-bottom:4px;margin-inline-start:4px;}.ant-dropdown .ant-table-filter-dropdown .ant-table-filter-dropdown-btns{display:flex;justify-content:space-between;padding:7px 8px;overflow:hidden;background-color:inherit;border-top:1px solid #303030;}.ant-dropdown .ant-table-filter-dropdown .ant-checkbox-wrapper+span,.ant-table-filter-dropdown-submenu .ant-checkbox-wrapper+span{padding-inline-start:8px;color:rgba(255, 255, 255, 0.85);}.ant-dropdown .ant-table-filter-dropdown >ul,.ant-table-filter-dropdown-submenu >ul{max-height:calc(100vh - 130px);overflow-x:hidden;overflow-y:auto;}.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-title{border:1px solid #303030;border-bottom:0;}.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container{border-inline-start:1px solid #303030;}.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-content >table >thead>tr>th,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-header >table >thead>tr>th,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-body >table >thead>tr>th,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-summary >table >thead>tr>th,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-content >table >tbody>tr>td,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-header >table >tbody>tr>td,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-body >table >tbody>tr>td,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-summary >table >tbody>tr>td,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-content >table >tfoot>tr>th,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-header >table >tfoot>tr>th,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-body >table >tfoot>tr>th,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-summary >table >tfoot>tr>th,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-content >table >tfoot>tr>td,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-header >table >tfoot>tr>td,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-body >table >tfoot>tr>td,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-summary >table >tfoot>tr>td{border-inline-end:1px solid #303030;}.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-content >table >thead >tr:not(:last-child)>th,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-header >table >thead >tr:not(:last-child)>th,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-body >table >thead >tr:not(:last-child)>th,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-summary >table >thead >tr:not(:last-child)>th{border-bottom:1px solid #303030;}.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-content >table >thead >tr>th::before,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-header >table >thead >tr>th::before,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-body >table >thead >tr>th::before,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-summary >table >thead >tr>th::before{background-color:transparent!important;}.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-content >table >thead>tr >.ant-table-cell-fix-right-first::after,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-header >table >thead>tr >.ant-table-cell-fix-right-first::after,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-body >table >thead>tr >.ant-table-cell-fix-right-first::after,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-summary >table >thead>tr >.ant-table-cell-fix-right-first::after,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-content >table >tbody>tr >.ant-table-cell-fix-right-first::after,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-header >table >tbody>tr >.ant-table-cell-fix-right-first::after,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-body >table >tbody>tr >.ant-table-cell-fix-right-first::after,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-summary >table >tbody>tr >.ant-table-cell-fix-right-first::after,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-content >table >tfoot>tr >.ant-table-cell-fix-right-first::after,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-header >table >tfoot>tr >.ant-table-cell-fix-right-first::after,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-body >table >tfoot>tr >.ant-table-cell-fix-right-first::after,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-summary >table >tfoot>tr >.ant-table-cell-fix-right-first::after{border-inline-end:1px solid #303030;}.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-content >table >tbody>tr>td >.ant-table-expanded-row-fixed,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-header >table >tbody>tr>td >.ant-table-expanded-row-fixed,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-body >table >tbody>tr>td >.ant-table-expanded-row-fixed,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-summary >table >tbody>tr>td >.ant-table-expanded-row-fixed{margin:-16px -17px;}.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-content >table >tbody>tr>td >.ant-table-expanded-row-fixed::after,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-header >table >tbody>tr>td >.ant-table-expanded-row-fixed::after,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-body >table >tbody>tr>td >.ant-table-expanded-row-fixed::after,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-summary >table >tbody>tr>td >.ant-table-expanded-row-fixed::after{position:absolute;top:0;inset-inline-end:1px;bottom:0;border-inline-end:1px solid #303030;content:\\"\\";}.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-content >table,.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-container >.ant-table-header >table{border-top:1px solid #303030;}.ant-table-wrapper .ant-table.ant-table-bordered.ant-table-scroll-horizontal >.ant-table-container>.ant-table-body >table>tbody >tr.ant-table-expanded-row >td,.ant-table-wrapper .ant-table.ant-table-bordered.ant-table-scroll-horizontal >.ant-table-container>.ant-table-body >table>tbody >tr.ant-table-placeholder >td{border-inline-end:0;}.ant-table-wrapper .ant-table.ant-table-bordered.ant-table-middle >.ant-table-container >.ant-table-content >table>tbody>tr>td >.ant-table-expanded-row-fixed,.ant-table-wrapper .ant-table.ant-table-bordered.ant-table-middle >.ant-table-container >.ant-table-body >table>tbody>tr>td >.ant-table-expanded-row-fixed{margin:-12px -9px;}.ant-table-wrapper .ant-table.ant-table-bordered.ant-table-small >.ant-table-container >.ant-table-content >table>tbody>tr>td >.ant-table-expanded-row-fixed,.ant-table-wrapper .ant-table.ant-table-bordered.ant-table-small >.ant-table-container >.ant-table-body >table>tbody>tr>td >.ant-table-expanded-row-fixed{margin:-8px -9px;}.ant-table-wrapper .ant-table.ant-table-bordered >.ant-table-footer{border:1px solid #303030;border-top:0;}.ant-table-wrapper .ant-table-cell .ant-table-container:first-child{border-top:0;}.ant-table-wrapper .ant-table-cell-scrollbar:not([rowspan]){box-shadow:0 1px 0 1px #1d1d1d;}.ant-table-wrapper .ant-table .ant-table-title,.ant-table-wrapper .ant-table .ant-table-header{border-radius:8px 8px 0 0;}.ant-table-wrapper .ant-table .ant-table-title+.ant-table-container{border-start-start-radius:0;border-start-end-radius:0;}.ant-table-wrapper .ant-table .ant-table-title+.ant-table-container table{border-radius:0;}.ant-table-wrapper .ant-table .ant-table-title+.ant-table-container table >thead>tr:first-child th:first-child{border-radius:0;}.ant-table-wrapper .ant-table .ant-table-title+.ant-table-container table >thead>tr:first-child th:last-child{border-radius:0;}.ant-table-wrapper .ant-table-container{border-start-start-radius:8px;border-start-end-radius:8px;}.ant-table-wrapper .ant-table-container table>thead>tr:first-child >*:first-child{border-start-start-radius:8px;}.ant-table-wrapper .ant-table-container table>thead>tr:first-child >*:last-child{border-start-end-radius:8px;}.ant-table-wrapper .ant-table-footer{border-radius:0 0 8px 8px;}.ant-table-wrapper .ant-table-expand-icon-col{width:48px;}.ant-table-wrapper .ant-table-row-expand-icon-cell{text-align:center;}.ant-table-wrapper .ant-table-row-expand-icon-cell .ant-table-row-expand-icon{display:inline-flex;float:none;vertical-align:sub;}.ant-table-wrapper .ant-table-row-indent{height:1px;float:left;}.ant-table-wrapper .ant-table-row-expand-icon{color:inherit;text-decoration:none;outline:none;cursor:pointer;transition:all 0.3s;position:relative;float:left;box-sizing:border-box;width:17px;height:17px;padding:0;line-height:17px;background:#141414;border:1px solid #303030;border-radius:6px;transform:scale(0.9411764705882353);user-select:none;}.ant-table-wrapper .ant-table-row-expand-icon:focus,.ant-table-wrapper .ant-table-row-expand-icon:hover{color:#15417e;}.ant-table-wrapper .ant-table-row-expand-icon:active{color:#1554ad;}.ant-table-wrapper .ant-table-row-expand-icon:focus,.ant-table-wrapper .ant-table-row-expand-icon:hover,.ant-table-wrapper .ant-table-row-expand-icon:active{border-color:currentcolor;}.ant-table-wrapper .ant-table-row-expand-icon::before,.ant-table-wrapper .ant-table-row-expand-icon::after{position:absolute;background:currentcolor;transition:transform 0.3s ease-out;content:\\"\\";}.ant-table-wrapper .ant-table-row-expand-icon::before{top:7px;inset-inline-end:3px;inset-inline-start:3px;height:1px;}.ant-table-wrapper .ant-table-row-expand-icon::after{top:3px;bottom:3px;inset-inline-start:7px;width:1px;transform:rotate(90deg);}.ant-table-wrapper .ant-table-row-expand-icon-collapsed::before{transform:rotate(-180deg);}.ant-table-wrapper .ant-table-row-expand-icon-collapsed::after{transform:rotate(0deg);}.ant-table-wrapper .ant-table-row-expand-icon-spaced{background:transparent;border:0;visibility:hidden;}.ant-table-wrapper .ant-table-row-expand-icon-spaced::before,.ant-table-wrapper .ant-table-row-expand-icon-spaced::after{display:none;content:none;}.ant-table-wrapper .ant-table-row-indent+.ant-table-row-expand-icon{margin-top:2.5px;margin-inline-end:8px;}.ant-table-wrapper tr.ant-table-expanded-row >td,.ant-table-wrapper tr.ant-table-expanded-row:hover >td{background:rgba(255, 255, 255, 0.04);}.ant-table-wrapper tr.ant-table-expanded-row .ant-descriptions-view{display:flex;}.ant-table-wrapper tr.ant-table-expanded-row .ant-descriptions-view table{flex:auto;width:auto;}.ant-table-wrapper .ant-table-expanded-row-fixed{position:relative;margin:-16px -16px;padding:16px 16px;}.ant-table-wrapper .ant-table-summary{position:relative;z-index:2;background:#141414;}.ant-table-wrapper .ant-table-summary >tr >th,.ant-table-wrapper .ant-table-summary >tr >td{border-bottom:1px solid #303030;}.ant-table-wrapper div.ant-table-summary{box-shadow:0 -1px 0 #303030;}.ant-table-wrapper .ant-table-tbody>tr.ant-table-placeholder{text-align:center;color:rgba(255, 255, 255, 0.25);}.ant-table-wrapper .ant-table-tbody>tr.ant-table-placeholder:hover>td{background:#141414;}.ant-table-wrapper .ant-table-selection-col{width:32px;}.ant-table-wrapper .ant-table-bordered .ant-table-selection-col{width:48px;}.ant-table-wrapper table tr th.ant-table-selection-column,.ant-table-wrapper table tr td.ant-table-selection-column{padding-inline-end:8px;padding-inline-start:8px;text-align:center;}.ant-table-wrapper table tr th.ant-table-selection-column .ant-radio-wrapper,.ant-table-wrapper table tr td.ant-table-selection-column .ant-radio-wrapper{margin-inline-end:0;}.ant-table-wrapper table tr th.ant-table-selection-column.ant-table-cell-fix-left{z-index:3;}.ant-table-wrapper table tr th.ant-table-selection-column::after{background-color:transparent!important;}.ant-table-wrapper .ant-table-selection{position:relative;display:inline-flex;flex-direction:column;}.ant-table-wrapper .ant-table-selection-extra{position:absolute;top:0;z-index:1;cursor:pointer;transition:all 0.3s;margin-inline-start:100%;padding-inline-start:4px;}.ant-table-wrapper .ant-table-selection-extra .anticon{color:rgba(255, 255, 255, 0.29);font-size:12px;vertical-align:baseline;}.ant-table-wrapper .ant-table-selection-extra .anticon:hover{color:rgba(255, 255, 255, 0.55);}.ant-table-wrapper .ant-table-cell-fix-left,.ant-table-wrapper .ant-table-cell-fix-right{position:sticky!important;z-index:2;background:#141414;}.ant-table-wrapper .ant-table-cell-fix-left-first::after,.ant-table-wrapper .ant-table-cell-fix-left-last::after{position:absolute;top:0;right:0;bottom:-1px;width:30px;transform:translateX(100%);transition:box-shadow 0.3s;content:\\"\\";pointer-events:none;}.ant-table-wrapper .ant-table-cell-fix-left-all::after{display:none;}.ant-table-wrapper .ant-table-cell-fix-right-first::after,.ant-table-wrapper .ant-table-cell-fix-right-last::after{position:absolute;top:0;bottom:-1px;left:0;width:30px;transform:translateX(-100%);transition:box-shadow 0.3s;content:\\"\\";pointer-events:none;}.ant-table-wrapper .ant-table-container::before,.ant-table-wrapper .ant-table-container::after{position:absolute;top:0;bottom:0;z-index:4;width:30px;transition:box-shadow 0.3s;content:\\"\\";pointer-events:none;}.ant-table-wrapper .ant-table-container::before{inset-inline-start:0;}.ant-table-wrapper .ant-table-container::after{inset-inline-end:0;}.ant-table-wrapper .ant-table-ping-left:not(.ant-table-has-fix-left) .ant-table-container{position:relative;}.ant-table-wrapper .ant-table-ping-left:not(.ant-table-has-fix-left) .ant-table-container::before{box-shadow:inset 10px 0 8px -8px rgba(253, 253, 253, 0.12);}.ant-table-wrapper .ant-table-ping-left .ant-table-cell-fix-left-first::after,.ant-table-wrapper .ant-table-ping-left .ant-table-cell-fix-left-last::after{box-shadow:inset 10px 0 8px -8px rgba(253, 253, 253, 0.12);}.ant-table-wrapper .ant-table-ping-left .ant-table-cell-fix-left-last::before{background-color:transparent!important;}.ant-table-wrapper .ant-table-ping-right:not(.ant-table-has-fix-right) .ant-table-container{position:relative;}.ant-table-wrapper .ant-table-ping-right:not(.ant-table-has-fix-right) .ant-table-container::after{box-shadow:inset -10px 0 8px -8px rgba(253, 253, 253, 0.12);}.ant-table-wrapper .ant-table-ping-right .ant-table-cell-fix-right-first::after,.ant-table-wrapper .ant-table-ping-right .ant-table-cell-fix-right-last::after{box-shadow:inset -10px 0 8px -8px rgba(253, 253, 253, 0.12);}.ant-table-wrapper .ant-table-sticky-holder{position:sticky;z-index:3;background:#141414;}.ant-table-wrapper .ant-table-sticky-scroll{position:sticky;bottom:0;height:8px!important;z-index:3;display:flex;align-items:center;background:rgba(253, 253, 253, 0.12);border-top:1px solid #303030;opacity:0.65;}.ant-table-wrapper .ant-table-sticky-scroll:hover{transform-origin:center bottom;}.ant-table-wrapper .ant-table-sticky-scroll-bar{height:8px;background-color:rgba(255, 255, 255, 0.25);border-radius:100px;transition:all 0.3s,transform none;position:absolute;bottom:0;}.ant-table-wrapper .ant-table-sticky-scroll-bar:hover,.ant-table-wrapper .ant-table-sticky-scroll-bar-active{background-color:rgba(255, 255, 255, 0.85);}.ant-table-wrapper .ant-table-cell-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all;}.ant-table-wrapper .ant-table-cell-ellipsis.ant-table-cell-fix-left-last,.ant-table-wrapper .ant-table-cell-ellipsis.ant-table-cell-fix-right-first{overflow:visible;}.ant-table-wrapper .ant-table-cell-ellipsis.ant-table-cell-fix-left-last .ant-table-cell-content,.ant-table-wrapper .ant-table-cell-ellipsis.ant-table-cell-fix-right-first .ant-table-cell-content{display:block;overflow:hidden;text-overflow:ellipsis;}.ant-table-wrapper .ant-table-cell-ellipsis .ant-table-column-title{overflow:hidden;text-overflow:ellipsis;word-break:keep-all;}.ant-table-wrapper .ant-table.ant-table-middle{font-size:14px;}.ant-table-wrapper .ant-table.ant-table-middle .ant-table-title,.ant-table-wrapper .ant-table.ant-table-middle .ant-table-footer,.ant-table-wrapper .ant-table.ant-table-middle .ant-table-thead>tr>th,.ant-table-wrapper .ant-table.ant-table-middle .ant-table-tbody>tr>td,.ant-table-wrapper .ant-table.ant-table-middle tfoot>tr>th,.ant-table-wrapper .ant-table.ant-table-middle tfoot>tr>td{padding:12px 8px;}.ant-table-wrapper .ant-table.ant-table-middle .ant-table-filter-trigger{margin-inline-end:-4px;}.ant-table-wrapper .ant-table.ant-table-middle .ant-table-expanded-row-fixed{margin:-12px -8px;}.ant-table-wrapper .ant-table.ant-table-middle .ant-table-tbody .ant-table-wrapper:only-child .ant-table{margin-block:-12px;margin-inline:40px -8px;}.ant-table-wrapper .ant-table.ant-table-middle .ant-table-selection-column{padding-inline-start:2px;}.ant-table-wrapper .ant-table.ant-table-small{font-size:14px;}.ant-table-wrapper .ant-table.ant-table-small .ant-table-title,.ant-table-wrapper .ant-table.ant-table-small .ant-table-footer,.ant-table-wrapper .ant-table.ant-table-small .ant-table-thead>tr>th,.ant-table-wrapper .ant-table.ant-table-small .ant-table-tbody>tr>td,.ant-table-wrapper .ant-table.ant-table-small tfoot>tr>th,.ant-table-wrapper .ant-table.ant-table-small tfoot>tr>td{padding:8px 8px;}.ant-table-wrapper .ant-table.ant-table-small .ant-table-filter-trigger{margin-inline-end:-4px;}.ant-table-wrapper .ant-table.ant-table-small .ant-table-expanded-row-fixed{margin:-8px -8px;}.ant-table-wrapper .ant-table.ant-table-small .ant-table-tbody .ant-table-wrapper:only-child .ant-table{margin-block:-8px;margin-inline:40px -8px;}.ant-table-wrapper .ant-table.ant-table-small .ant-table-selection-column{padding-inline-start:2px;}.ant-table-wrapper .ant-table-resize-handle{position:absolute;top:0;height:100%!important;bottom:0;left:auto!important;right:-8px;cursor:col-resize;touch-action:none;user-select:auto;width:16px;z-index:1;}.ant-table-wrapper .ant-table-resize-handle-line{display:block;width:1px;margin-left:7px;height:100%!important;background-color:#037003;opacity:0;}.ant-table-wrapper .ant-table-resize-handle:hover .ant-table-wrapper .ant-table-resize-handle-line{opacity:1;}.ant-table-wrapper .ant-table-resize-handle.dragging{overflow:hidden;}.ant-table-wrapper .ant-table-resize-handle.dragging .ant-table-resize-handle-line{opacity:1;}.ant-table-wrapper .ant-table-resize-handle.dragging:before{position:absolute;top:0;bottom:0;content:\\" \\";width:200vw;transform:translateX(-50%);opacity:0;}.ant-table-wrapper-rtl{direction:rtl;}.ant-table-wrapper-rtl table{direction:rtl;}.ant-table-wrapper-rtl .ant-table-pagination-left{justify-content:flex-end;}.ant-table-wrapper-rtl .ant-table-pagination-right{justify-content:flex-start;}.ant-table-wrapper-rtl .ant-table-row-expand-icon::after{transform:rotate(-90deg);}.ant-table-wrapper-rtl .ant-table-row-expand-icon-collapsed::before{transform:rotate(180deg);}.ant-table-wrapper-rtl .ant-table-row-expand-icon-collapsed::after{transform:rotate(0deg);}[class^=\\"ant-transfer\\"],[class*=\\" ant-transfer\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-transfer\\"]::before,[class*=\\" ant-transfer\\"]::before,[class^=\\"ant-transfer\\"]::after,[class*=\\" ant-transfer\\"]::after{box-sizing:border-box;}[class^=\\"ant-transfer\\"] [class^=\\"ant-transfer\\"],[class*=\\" ant-transfer\\"] [class^=\\"ant-transfer\\"],[class^=\\"ant-transfer\\"] [class*=\\" ant-transfer\\"],[class*=\\" ant-transfer\\"] [class*=\\" ant-transfer\\"]{box-sizing:border-box;}[class^=\\"ant-transfer\\"] [class^=\\"ant-transfer\\"]::before,[class*=\\" ant-transfer\\"] [class^=\\"ant-transfer\\"]::before,[class^=\\"ant-transfer\\"] [class*=\\" ant-transfer\\"]::before,[class*=\\" ant-transfer\\"] [class*=\\" ant-transfer\\"]::before,[class^=\\"ant-transfer\\"] [class^=\\"ant-transfer\\"]::after,[class*=\\" ant-transfer\\"] [class^=\\"ant-transfer\\"]::after,[class^=\\"ant-transfer\\"] [class*=\\" ant-transfer\\"]::after,[class*=\\" ant-transfer\\"] [class*=\\" ant-transfer\\"]::after{box-sizing:border-box;}.ant-transfer{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;display:flex;align-items:stretch;}.ant-transfer .ant-transfer-disabled .ant-transfer-list{background:rgba(255, 255, 255, 0.08);}.ant-transfer .ant-transfer-list{display:flex;flex-direction:column;width:180px;height:200px;border:1px solid #424242;border-radius:8px;}.ant-transfer .ant-transfer-list-with-pagination{width:250px;height:auto;}.ant-transfer .ant-transfer-list-search .anticon-search{color:rgba(255, 255, 255, 0.25);}.ant-transfer .ant-transfer-list-header{display:flex;flex:none;align-items:center;height:40px;padding:8px 12px 9px;color:rgba(255, 255, 255, 0.85);background:#141414;border-bottom:1px solid rgba(253, 253, 253, 0.12);border-radius:8px 8px 0 0;}.ant-transfer .ant-transfer-list-header >*:not(:last-child){margin-inline-end:4px;}.ant-transfer .ant-transfer-list-header >*{flex:none;}.ant-transfer .ant-transfer-list-header-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:auto;text-align:end;}.ant-transfer .ant-transfer-list-header-dropdown{display:inline-flex;align-items:center;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:12px;transform:translateY(10%);cursor:pointer;}.ant-transfer .ant-transfer-list-header-dropdown >*{line-height:1;}.ant-transfer .ant-transfer-list-header-dropdown svg{display:inline-block;}.ant-transfer .ant-transfer-list-header-dropdown[disabled]{cursor:not-allowed;}.ant-transfer .ant-transfer-list-body{display:flex;flex:auto;flex-direction:column;overflow:hidden;font-size:14px;}.ant-transfer .ant-transfer-list-body-search-wrapper{position:relative;flex:none;padding:12px;}.ant-transfer .ant-transfer-list-content{flex:auto;margin:0;padding:0;overflow:auto;list-style:none;}.ant-transfer .ant-transfer-list-content-item{display:flex;align-items:center;min-height:32px;padding:5px 12px;transition:all 0.3s;}.ant-transfer .ant-transfer-list-content-item >*:not(:last-child){margin-inline-end:8px;}.ant-transfer .ant-transfer-list-content-item >*{flex:none;}.ant-transfer .ant-transfer-list-content-item-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:auto;}.ant-transfer .ant-transfer-list-content-item-remove{position:relative;color:#424242;cursor:pointer;transition:all 0.3s;}.ant-transfer .ant-transfer-list-content-item-remove:hover{color:#15417e;}.ant-transfer .ant-transfer-list-content-item-remove::after{position:absolute;insert:-5px -50%;content:\\"\\";}.ant-transfer .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover{background-color:rgba(255, 255, 255, 0.08);cursor:pointer;}.ant-transfer .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled).ant-transfer-list-content-item-checked:hover{background-color:#0f2510;}.ant-transfer .ant-transfer-list-content-item-checked{background-color:#111911;}.ant-transfer .ant-transfer-list-content-item-disabled{color:rgba(255, 255, 255, 0.25);cursor:not-allowed;}.ant-transfer .ant-transfer-list-content-show-remove .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover{background:transparent;cursor:default;}.ant-transfer .ant-transfer-list-pagination{padding:8px 0;text-align:end;border-top:1px solid rgba(253, 253, 253, 0.12);}.ant-transfer .ant-transfer-list-body-not-found{flex:none;width:100%;margin:auto 0;color:rgba(255, 255, 255, 0.25);text-align:center;}.ant-transfer .ant-transfer-list-footer{border-top:1px solid rgba(253, 253, 253, 0.12);}.ant-transfer .ant-transfer-list-checkbox{line-height:1;}.ant-transfer .ant-transfer-operation{display:flex;flex:none;flex-direction:column;align-self:center;margin:0 8px;vertical-align:middle;}.ant-transfer .ant-transfer-operation .ant-btn{display:block;}.ant-transfer .ant-transfer-operation .ant-btn:first-child{margin-bottom:4px;}.ant-transfer .ant-transfer-operation .ant-btn .anticon{font-size:12px;}.ant-transfer .ant-empty-image{max-height:-2px;}.ant-transfer-customize-list .ant-transfer-list{flex:1 1 50%;width:auto;height:auto;min-height:200px;}.ant-transfer-customize-list .ant-table-wrapper .ant-table-small{border:0;border-radius:0;}.ant-transfer-customize-list .ant-table-wrapper .ant-table-small .ant-table-selection-column{width:40px;min-width:40px;}.ant-transfer-customize-list .ant-table-wrapper .ant-table-pagination.ant-table-pagination{margin:16px 0 4px;}.ant-transfer-customize-list .ant-input[disabled]{background-color:transparent;}.ant-transfer-status-error .ant-transfer-list{border-color:#dc4446;}.ant-transfer-status-error .ant-transfer-list-search:not([disabled]){border-color:#424242;}.ant-transfer-status-warning .ant-transfer-list{border-color:#d89614;}.ant-transfer-status-warning .ant-transfer-list-search:not([disabled]){border-color:#424242;}.ant-transfer-rtl{direction:rtl;}[class^=\\"ant-tree\\"],[class*=\\" ant-tree\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-tree\\"]::before,[class*=\\" ant-tree\\"]::before,[class^=\\"ant-tree\\"]::after,[class*=\\" ant-tree\\"]::after{box-sizing:border-box;}[class^=\\"ant-tree\\"] [class^=\\"ant-tree\\"],[class*=\\" ant-tree\\"] [class^=\\"ant-tree\\"],[class^=\\"ant-tree\\"] [class*=\\" ant-tree\\"],[class*=\\" ant-tree\\"] [class*=\\" ant-tree\\"]{box-sizing:border-box;}[class^=\\"ant-tree\\"] [class^=\\"ant-tree\\"]::before,[class*=\\" ant-tree\\"] [class^=\\"ant-tree\\"]::before,[class^=\\"ant-tree\\"] [class*=\\" ant-tree\\"]::before,[class*=\\" ant-tree\\"] [class*=\\" ant-tree\\"]::before,[class^=\\"ant-tree\\"] [class^=\\"ant-tree\\"]::after,[class*=\\" ant-tree\\"] [class^=\\"ant-tree\\"]::after,[class^=\\"ant-tree\\"] [class*=\\" ant-tree\\"]::after,[class*=\\" ant-tree\\"] [class*=\\" ant-tree\\"]::after{box-sizing:border-box;}.ant-tree .ant-tree-checkbox-group{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:inline-flex;flex-wrap:wrap;column-gap:8px;}.ant-tree .ant-tree-checkbox-group >.ant-row{flex:1;}.ant-tree .ant-tree-checkbox-wrapper{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:inline-flex;align-items:baseline;cursor:pointer;}.ant-tree .ant-tree-checkbox-wrapper:after{display:inline-block;width:0;overflow:hidden;content:'\\\\a0';}.ant-tree .ant-tree-checkbox-wrapper+.ant-tree-checkbox-wrapper{margin-inline-start:0;}.ant-tree .ant-tree-checkbox-wrapper.ant-tree-checkbox-wrapper-in-form-item input[type=\\"checkbox\\"]{width:14px;height:14px;}.ant-tree .ant-tree-checkbox{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;white-space:nowrap;cursor:pointer;align-self:center;}.ant-tree .ant-tree-checkbox .ant-tree-checkbox-input{position:absolute;inset:0;z-index:1;cursor:pointer;opacity:0;margin:0;}.ant-tree .ant-tree-checkbox .ant-tree-checkbox-input:focus-visible+.ant-tree-checkbox-inner{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-tree .ant-tree-checkbox .ant-tree-checkbox-inner{box-sizing:border-box;position:relative;top:0;inset-inline-start:0;display:block;width:16px;height:16px;direction:ltr;background-color:#141414;border:1px solid #424242;border-radius:4px;border-collapse:separate;transition:all 0.3s;}.ant-tree .ant-tree-checkbox .ant-tree-checkbox-inner:after{box-sizing:border-box;position:absolute;top:50%;inset-inline-start:21.5%;display:table;width:5.7142857142857135px;height:9.142857142857142px;border:2px solid #fff;border-top:0;border-inline-start:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;content:\\"\\";transition:all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6),opacity 0.1s;}.ant-tree .ant-tree-checkbox+span{padding-inline-start:8px;padding-inline-end:8px;}.ant-tree .ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner:after{top:50%;inset-inline-start:50%;width:8px;height:8px;background-color:#037003;border:0;transform:translate(-50%, -50%) scale(1);opacity:1;content:\\"\\";}.ant-tree .ant-tree-checkbox-wrapper:hover .ant-tree-checkbox:after{visibility:visible;}.ant-tree .ant-tree-checkbox-wrapper:not(.ant-tree-checkbox-wrapper-disabled):hover .ant-tree-checkbox-inner,.ant-tree .ant-tree-checkbox:not(.ant-tree-checkbox-disabled):hover .ant-tree-checkbox-inner{border-color:#037003;}.ant-tree .ant-tree-checkbox-wrapper:not(.ant-tree-checkbox-wrapper-disabled):hover .ant-tree-checkbox-checked:not(.ant-tree-checkbox-disabled) .ant-tree-checkbox-inner{background-color:#198016;border-color:transparent;}.ant-tree .ant-tree-checkbox-wrapper:not(.ant-tree-checkbox-wrapper-disabled):hover .ant-tree-checkbox-checked:not(.ant-tree-checkbox-disabled):after{border-color:#198016;}.ant-tree .ant-tree-checkbox-checked .ant-tree-checkbox-inner{background-color:#037003;border-color:#037003;}.ant-tree .ant-tree-checkbox-checked .ant-tree-checkbox-inner:after{opacity:1;transform:rotate(45deg) scale(1) translate(-50%,-50%);transition:all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s;}.ant-tree .ant-tree-checkbox-checked:after{position:absolute;top:0;inset-inline-start:0;width:100%;height:100%;border-radius:4px;visibility:hidden;border:2px solid #037003;animation-name:antCheckboxEffect;animation-duration:0.3s;animation-timing-function:ease-in-out;animation-fill-mode:backwards;content:\\"\\";transition:all 0.3s;}.ant-tree .ant-tree-checkbox-wrapper-checked:not(.ant-tree-checkbox-wrapper-disabled):hover .ant-tree-checkbox-inner,.ant-tree .ant-tree-checkbox-checked:not(.ant-tree-checkbox-disabled):hover .ant-tree-checkbox-inner{background-color:#198016;border-color:transparent;}.ant-tree .ant-tree-checkbox-wrapper-checked:not(.ant-tree-checkbox-wrapper-disabled):hover .ant-tree-checkbox:after,.ant-tree .ant-tree-checkbox-checked:not(.ant-tree-checkbox-disabled):hover .ant-tree-checkbox:after{border-color:#198016;}.ant-tree .ant-tree-checkbox-wrapper-disabled{cursor:not-allowed;}.ant-tree .ant-tree-checkbox-disabled,.ant-tree .ant-tree-checkbox-disabled .ant-tree-checkbox-input{cursor:not-allowed;pointer-events:none;}.ant-tree .ant-tree-checkbox-disabled .ant-tree-checkbox-inner{background:rgba(255, 255, 255, 0.08);border-color:#424242;}.ant-tree .ant-tree-checkbox-disabled .ant-tree-checkbox-inner:after{border-color:rgba(255, 255, 255, 0.25);}.ant-tree .ant-tree-checkbox-disabled:after{display:none;}.ant-tree .ant-tree-checkbox-disabled+span{color:rgba(255, 255, 255, 0.25);}.ant-tree .ant-tree-checkbox-disabled.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner::after{background:rgba(255, 255, 255, 0.25);}.ant-tree{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';background:#141414;border-radius:6px;transition:background-color 0.3s;}.ant-tree.ant-tree-rtl .ant-tree-switcher_close .ant-tree-switcher-icon svg{transform:rotate(90deg);}.ant-tree-focused:not(:hover):not(.ant-tree-active-focused){outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-tree .ant-tree-list-holder-inner{align-items:flex-start;}.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner{align-items:stretch;}.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-node-content-wrapper{flex:auto;}.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-treenode.dragging{position:relative;}.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-treenode.dragging:after{position:absolute;top:0;inset-inline-end:0;bottom:4px;inset-inline-start:0;border:1px solid #037003;opacity:0;animation-name:ant-tree-node-fx-do-not-use;animation-duration:0.3s;animation-play-state:running;animation-fill-mode:forwards;content:\\"\\";pointer-events:none;}.ant-tree .ant-tree-treenode{display:flex;align-items:flex-start;padding:0 0 4px 0;outline:none;}.ant-tree .ant-tree-treenode-rtl{direction:rtl;}.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper{color:rgba(255, 255, 255, 0.25);cursor:not-allowed;}.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper:hover{background:transparent;}.ant-tree .ant-tree-treenode-active .ant-tree-node-content-wrapper{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-tree .ant-tree-treenode:not(.ant-tree-treenode-disabled).filter-node .ant-tree-title{color:inherit;font-weight:500;}.ant-tree .ant-tree-treenode-draggable .ant-tree-draggable-icon{width:24px;line-height:24px;text-align:center;visibility:visible;opacity:0.2;transition:opacity 0.3s;}.ant-tree-treenode:hover .ant-tree .ant-tree-treenode-draggable .ant-tree-draggable-icon{opacity:0.45;}.ant-tree .ant-tree-treenode-draggable.ant-tree-treenode-disabled .ant-tree-draggable-icon{visibility:hidden;}.ant-tree .ant-tree-indent{align-self:stretch;white-space:nowrap;user-select:none;}.ant-tree .ant-tree-indent-unit{display:inline-block;width:24px;}.ant-tree .ant-tree-draggable-icon{visibility:hidden;}.ant-tree .ant-tree-switcher{position:relative;flex:none;align-self:stretch;width:24px;margin:0;line-height:24px;text-align:center;cursor:pointer;user-select:none;}.ant-tree .ant-tree-switcher .ant-tree-switcher-icon{display:inline-block;font-size:10px;vertical-align:baseline;}.ant-tree .ant-tree-switcher .ant-tree-switcher-icon svg{transition:transform 0.3s;}.ant-tree .ant-tree-switcher-noop{cursor:default;}.ant-tree .ant-tree-switcher_close .ant-tree-switcher-icon svg{transform:rotate(-90deg);}.ant-tree .ant-tree-switcher-loading-icon{color:#037003;}.ant-tree .ant-tree-switcher-leaf-line{position:relative;z-index:1;display:inline-block;width:100%;height:100%;}.ant-tree .ant-tree-switcher-leaf-line:before{position:absolute;top:0;inset-inline-end:12px;bottom:-4px;margin-inline-start:-1px;border-inline-end:1px solid #424242;content:\\"\\";}.ant-tree .ant-tree-switcher-leaf-line:after{position:absolute;width:9.600000000000001px;height:12px;border-bottom:1px solid #424242;content:\\"\\";}.ant-tree .ant-tree-checkbox{top:initial;margin-inline-end:8px;margin-block-start:4px;}.ant-tree .ant-tree-node-content-wrapper,.ant-tree .ant-tree-checkbox+span{position:relative;z-index:auto;min-height:24px;margin:0;padding:0 4px;color:inherit;line-height:24px;background:transparent;border-radius:6px;cursor:pointer;transition:all 0.2s,border 0s,line-height 0s,box-shadow 0s;}.ant-tree .ant-tree-node-content-wrapper:hover,.ant-tree .ant-tree-checkbox+span:hover{background-color:rgba(255, 255, 255, 0.08);}.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected,.ant-tree .ant-tree-checkbox+span.ant-tree-node-selected{background-color:#111911;}.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle,.ant-tree .ant-tree-checkbox+span .ant-tree-iconEle{display:inline-block;width:24px;height:24px;line-height:24px;text-align:center;vertical-align:top;}.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle:empty,.ant-tree .ant-tree-checkbox+span .ant-tree-iconEle:empty{display:none;}.ant-tree .ant-tree-unselectable .ant-tree-node-content-wrapper:hover{background-color:transparent;}.ant-tree .ant-tree-node-content-wrapper{line-height:24px;user-select:none;}.ant-tree .ant-tree-node-content-wrapper .ant-tree-drop-indicator{position:absolute;z-index:1;height:2px;background-color:#037003;border-radius:1px;pointer-events:none;}.ant-tree .ant-tree-node-content-wrapper .ant-tree-drop-indicator:after{position:absolute;top:-3px;inset-inline-start:-6px;width:8px;height:8px;background-color:transparent;border:2px solid #037003;border-radius:50%;content:\\"\\";}.ant-tree .ant-tree-treenode.drop-container >[draggable]{box-shadow:0 0 0 2px #037003;}.ant-tree-show-line .ant-tree-indent-unit{position:relative;height:100%;}.ant-tree-show-line .ant-tree-indent-unit:before{position:absolute;top:0;inset-inline-end:12px;bottom:-4px;border-inline-end:1px solid #424242;content:\\"\\";}.ant-tree-show-line .ant-tree-indent-unit-end:before{display:none;}.ant-tree-show-line .ant-tree-switcher{background:transparent;}.ant-tree-show-line .ant-tree-switcher-line-icon{vertical-align:-0.15em;}.ant-tree .ant-tree-treenode-leaf-last .ant-tree-switcher-leaf-line:before{top:auto!important;bottom:auto!important;height:12px!important;}.ant-tree.ant-tree-directory .ant-tree-treenode{position:relative;}.ant-tree.ant-tree-directory .ant-tree-treenode:before{position:absolute;top:0;inset-inline-end:0;bottom:4px;inset-inline-start:0;transition:background-color 0.2s;content:\\"\\";pointer-events:none;}.ant-tree.ant-tree-directory .ant-tree-treenode:hover:before{background:rgba(255, 255, 255, 0.08);}.ant-tree.ant-tree-directory .ant-tree-treenode >*{z-index:1;}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-switcher{transition:color 0.2s;}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper{border-radius:0;user-select:none;}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper:hover{background:transparent;}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper.ant-tree-node-selected{color:#fff;background:transparent;}.ant-tree.ant-tree-directory .ant-tree-treenode-selected:hover::before,.ant-tree.ant-tree-directory .ant-tree-treenode-selected::before{background:#037003;}.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-switcher{color:#fff;}.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-node-content-wrapper{color:#fff;background:transparent;}.ant-tree .ant-motion-collapse-legacy{overflow:hidden;}.ant-tree .ant-motion-collapse-legacy-active{transition:height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)!important;}.ant-tree .ant-motion-collapse{overflow:hidden;transition:height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)!important;}@keyframes ant-tree-node-fx-do-not-use{0%{opacity:0;}100%{opacity:1;}}[class^=\\"ant-tree-select\\"],[class*=\\" ant-tree-select\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-tree-select\\"]::before,[class*=\\" ant-tree-select\\"]::before,[class^=\\"ant-tree-select\\"]::after,[class*=\\" ant-tree-select\\"]::after{box-sizing:border-box;}[class^=\\"ant-tree-select\\"] [class^=\\"ant-tree-select\\"],[class*=\\" ant-tree-select\\"] [class^=\\"ant-tree-select\\"],[class^=\\"ant-tree-select\\"] [class*=\\" ant-tree-select\\"],[class*=\\" ant-tree-select\\"] [class*=\\" ant-tree-select\\"]{box-sizing:border-box;}[class^=\\"ant-tree-select\\"] [class^=\\"ant-tree-select\\"]::before,[class*=\\" ant-tree-select\\"] [class^=\\"ant-tree-select\\"]::before,[class^=\\"ant-tree-select\\"] [class*=\\" ant-tree-select\\"]::before,[class*=\\" ant-tree-select\\"] [class*=\\" ant-tree-select\\"]::before,[class^=\\"ant-tree-select\\"] [class^=\\"ant-tree-select\\"]::after,[class*=\\" ant-tree-select\\"] [class^=\\"ant-tree-select\\"]::after,[class^=\\"ant-tree-select\\"] [class*=\\" ant-tree-select\\"]::after,[class*=\\" ant-tree-select\\"] [class*=\\" ant-tree-select\\"]::after{box-sizing:border-box;}.ant-tree-select-dropdown{padding:8px 4px;}.ant-tree-select-dropdown .ant-select-tree{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';background:#1f1f1f;border-radius:6px;transition:background-color 0.3s;}.ant-tree-select-dropdown .ant-select-tree.ant-select-tree-rtl .ant-select-tree-switcher_close .ant-select-tree-switcher-icon svg{transform:rotate(90deg);}.ant-tree-select-dropdown .ant-select-tree-focused:not(:hover):not(.ant-select-tree-active-focused){outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-list-holder-inner{align-items:flex-start;}.ant-tree-select-dropdown .ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner{align-items:stretch;}.ant-tree-select-dropdown .ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner .ant-select-tree-node-content-wrapper{flex:auto;}.ant-tree-select-dropdown .ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner .ant-select-tree-treenode.dragging{position:relative;}.ant-tree-select-dropdown .ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner .ant-select-tree-treenode.dragging:after{position:absolute;top:0;inset-inline-end:0;bottom:4px;inset-inline-start:0;border:1px solid #037003;opacity:0;animation-name:ant-tree-node-fx-do-not-use;animation-duration:0.3s;animation-play-state:running;animation-fill-mode:forwards;content:\\"\\";pointer-events:none;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-treenode{display:flex;align-items:flex-start;padding:0 0 4px 0;outline:none;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-treenode-rtl{direction:rtl;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper{color:rgba(255, 255, 255, 0.25);cursor:not-allowed;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper:hover{background:transparent;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-treenode-active .ant-select-tree-node-content-wrapper{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-treenode:not(.ant-select-tree-treenode-disabled).filter-node .ant-select-tree-title{color:inherit;font-weight:500;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-treenode-draggable .ant-select-tree-draggable-icon{width:24px;line-height:24px;text-align:center;visibility:visible;opacity:0.2;transition:opacity 0.3s;}.ant-select-tree-treenode:hover .ant-tree-select-dropdown .ant-select-tree .ant-select-tree-treenode-draggable .ant-select-tree-draggable-icon{opacity:0.45;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-treenode-draggable.ant-select-tree-treenode-disabled .ant-select-tree-draggable-icon{visibility:hidden;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-indent{align-self:stretch;white-space:nowrap;user-select:none;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-indent-unit{display:inline-block;width:24px;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-draggable-icon{visibility:hidden;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-switcher{position:relative;flex:none;align-self:stretch;width:24px;margin:0;line-height:24px;text-align:center;cursor:pointer;user-select:none;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-switcher .ant-select-tree-switcher-icon{display:inline-block;font-size:10px;vertical-align:baseline;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-switcher .ant-select-tree-switcher-icon svg{transition:transform 0.3s;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-switcher-noop{cursor:default;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-switcher_close .ant-select-tree-switcher-icon svg{transform:rotate(-90deg);}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-switcher-loading-icon{color:#037003;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-switcher-leaf-line{position:relative;z-index:1;display:inline-block;width:100%;height:100%;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-switcher-leaf-line:before{position:absolute;top:0;inset-inline-end:12px;bottom:-4px;margin-inline-start:-1px;border-inline-end:1px solid #424242;content:\\"\\";}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-switcher-leaf-line:after{position:absolute;width:9.600000000000001px;height:12px;border-bottom:1px solid #424242;content:\\"\\";}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-checkbox{top:initial;margin-inline-end:8px;margin-block-start:4px;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-node-content-wrapper,.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-checkbox+span{position:relative;z-index:auto;min-height:24px;margin:0;padding:0 4px;color:inherit;line-height:24px;background:transparent;border-radius:6px;cursor:pointer;transition:all 0.2s,border 0s,line-height 0s,box-shadow 0s;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-node-content-wrapper:hover,.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-checkbox+span:hover{background-color:rgba(255, 255, 255, 0.08);}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-node-content-wrapper.ant-select-tree-node-selected,.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-checkbox+span.ant-select-tree-node-selected{background-color:#111911;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-iconEle,.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-checkbox+span .ant-select-tree-iconEle{display:inline-block;width:24px;height:24px;line-height:24px;text-align:center;vertical-align:top;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-iconEle:empty,.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-checkbox+span .ant-select-tree-iconEle:empty{display:none;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-unselectable .ant-select-tree-node-content-wrapper:hover{background-color:transparent;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-node-content-wrapper{line-height:24px;user-select:none;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-drop-indicator{position:absolute;z-index:1;height:2px;background-color:#037003;border-radius:1px;pointer-events:none;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-drop-indicator:after{position:absolute;top:-3px;inset-inline-start:-6px;width:8px;height:8px;background-color:transparent;border:2px solid #037003;border-radius:50%;content:\\"\\";}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-treenode.drop-container >[draggable]{box-shadow:0 0 0 2px #037003;}.ant-tree-select-dropdown .ant-select-tree-show-line .ant-select-tree-indent-unit{position:relative;height:100%;}.ant-tree-select-dropdown .ant-select-tree-show-line .ant-select-tree-indent-unit:before{position:absolute;top:0;inset-inline-end:12px;bottom:-4px;border-inline-end:1px solid #424242;content:\\"\\";}.ant-tree-select-dropdown .ant-select-tree-show-line .ant-select-tree-indent-unit-end:before{display:none;}.ant-tree-select-dropdown .ant-select-tree-show-line .ant-select-tree-switcher{background:transparent;}.ant-tree-select-dropdown .ant-select-tree-show-line .ant-select-tree-switcher-line-icon{vertical-align:-0.15em;}.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-treenode-leaf-last .ant-select-tree-switcher-leaf-line:before{top:auto!important;bottom:auto!important;height:12px!important;}.ant-tree-select-dropdown .ant-select-tree.ant-select-tree-directory .ant-select-tree-treenode{position:relative;}.ant-tree-select-dropdown .ant-select-tree.ant-select-tree-directory .ant-select-tree-treenode:before{position:absolute;top:0;inset-inline-end:0;bottom:4px;inset-inline-start:0;transition:background-color 0.2s;content:\\"\\";pointer-events:none;}.ant-tree-select-dropdown .ant-select-tree.ant-select-tree-directory .ant-select-tree-treenode:hover:before{background:rgba(255, 255, 255, 0.08);}.ant-tree-select-dropdown .ant-select-tree.ant-select-tree-directory .ant-select-tree-treenode >*{z-index:1;}.ant-tree-select-dropdown .ant-select-tree.ant-select-tree-directory .ant-select-tree-treenode .ant-select-tree-switcher{transition:color 0.2s;}.ant-tree-select-dropdown .ant-select-tree.ant-select-tree-directory .ant-select-tree-treenode .ant-select-tree-node-content-wrapper{border-radius:0;user-select:none;}.ant-tree-select-dropdown .ant-select-tree.ant-select-tree-directory .ant-select-tree-treenode .ant-select-tree-node-content-wrapper:hover{background:transparent;}.ant-tree-select-dropdown .ant-select-tree.ant-select-tree-directory .ant-select-tree-treenode .ant-select-tree-node-content-wrapper.ant-select-tree-node-selected{color:#fff;background:transparent;}.ant-tree-select-dropdown .ant-select-tree.ant-select-tree-directory .ant-select-tree-treenode-selected:hover::before,.ant-tree-select-dropdown .ant-select-tree.ant-select-tree-directory .ant-select-tree-treenode-selected::before{background:#037003;}.ant-tree-select-dropdown .ant-select-tree.ant-select-tree-directory .ant-select-tree-treenode-selected .ant-select-tree-switcher{color:#fff;}.ant-tree-select-dropdown .ant-select-tree.ant-select-tree-directory .ant-select-tree-treenode-selected .ant-select-tree-node-content-wrapper{color:#fff;background:transparent;}.ant-tree-select-dropdown .ant-select-tree{border-radius:0;}.ant-tree-select-dropdown .ant-select-tree-list-holder-inner{align-items:stretch;}.ant-tree-select-dropdown .ant-select-tree-list-holder-inner .ant-select-tree-treenode .ant-select-tree-node-content-wrapper{flex:auto;}.ant-tree-select-dropdown .ant-select-tree-checkbox-group{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:inline-flex;flex-wrap:wrap;column-gap:8px;}.ant-tree-select-dropdown .ant-select-tree-checkbox-group >.ant-row{flex:1;}.ant-tree-select-dropdown .ant-select-tree-checkbox-wrapper{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:inline-flex;align-items:baseline;cursor:pointer;}.ant-tree-select-dropdown .ant-select-tree-checkbox-wrapper:after{display:inline-block;width:0;overflow:hidden;content:'\\\\a0';}.ant-tree-select-dropdown .ant-select-tree-checkbox-wrapper+.ant-select-tree-checkbox-wrapper{margin-inline-start:0;}.ant-tree-select-dropdown .ant-select-tree-checkbox-wrapper.ant-select-tree-checkbox-wrapper-in-form-item input[type=\\"checkbox\\"]{width:14px;height:14px;}.ant-tree-select-dropdown .ant-select-tree-checkbox{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;white-space:nowrap;cursor:pointer;align-self:center;}.ant-tree-select-dropdown .ant-select-tree-checkbox .ant-select-tree-checkbox-input{position:absolute;inset:0;z-index:1;cursor:pointer;opacity:0;margin:0;}.ant-tree-select-dropdown .ant-select-tree-checkbox .ant-select-tree-checkbox-input:focus-visible+.ant-select-tree-checkbox-inner{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-tree-select-dropdown .ant-select-tree-checkbox .ant-select-tree-checkbox-inner{box-sizing:border-box;position:relative;top:0;inset-inline-start:0;display:block;width:16px;height:16px;direction:ltr;background-color:#141414;border:1px solid #424242;border-radius:4px;border-collapse:separate;transition:all 0.3s;}.ant-tree-select-dropdown .ant-select-tree-checkbox .ant-select-tree-checkbox-inner:after{box-sizing:border-box;position:absolute;top:50%;inset-inline-start:21.5%;display:table;width:5.7142857142857135px;height:9.142857142857142px;border:2px solid #fff;border-top:0;border-inline-start:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;content:\\"\\";transition:all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6),opacity 0.1s;}.ant-tree-select-dropdown .ant-select-tree-checkbox+span{padding-inline-start:8px;padding-inline-end:8px;}.ant-tree-select-dropdown .ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner:after{top:50%;inset-inline-start:50%;width:8px;height:8px;background-color:#037003;border:0;transform:translate(-50%, -50%) scale(1);opacity:1;content:\\"\\";}.ant-tree-select-dropdown .ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox:after{visibility:visible;}.ant-tree-select-dropdown .ant-select-tree-checkbox-wrapper:not(.ant-select-tree-checkbox-wrapper-disabled):hover .ant-select-tree-checkbox-inner,.ant-tree-select-dropdown .ant-select-tree-checkbox:not(.ant-select-tree-checkbox-disabled):hover .ant-select-tree-checkbox-inner{border-color:#037003;}.ant-tree-select-dropdown .ant-select-tree-checkbox-wrapper:not(.ant-select-tree-checkbox-wrapper-disabled):hover .ant-select-tree-checkbox-checked:not(.ant-select-tree-checkbox-disabled) .ant-select-tree-checkbox-inner{background-color:#198016;border-color:transparent;}.ant-tree-select-dropdown .ant-select-tree-checkbox-wrapper:not(.ant-select-tree-checkbox-wrapper-disabled):hover .ant-select-tree-checkbox-checked:not(.ant-select-tree-checkbox-disabled):after{border-color:#198016;}.ant-tree-select-dropdown .ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner{background-color:#037003;border-color:#037003;}.ant-tree-select-dropdown .ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner:after{opacity:1;transform:rotate(45deg) scale(1) translate(-50%,-50%);transition:all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s;}.ant-tree-select-dropdown .ant-select-tree-checkbox-checked:after{position:absolute;top:0;inset-inline-start:0;width:100%;height:100%;border-radius:4px;visibility:hidden;border:2px solid #037003;animation-name:antCheckboxEffect;animation-duration:0.3s;animation-timing-function:ease-in-out;animation-fill-mode:backwards;content:\\"\\";transition:all 0.3s;}.ant-tree-select-dropdown .ant-select-tree-checkbox-wrapper-checked:not(.ant-select-tree-checkbox-wrapper-disabled):hover .ant-select-tree-checkbox-inner,.ant-tree-select-dropdown .ant-select-tree-checkbox-checked:not(.ant-select-tree-checkbox-disabled):hover .ant-select-tree-checkbox-inner{background-color:#198016;border-color:transparent;}.ant-tree-select-dropdown .ant-select-tree-checkbox-wrapper-checked:not(.ant-select-tree-checkbox-wrapper-disabled):hover .ant-select-tree-checkbox:after,.ant-tree-select-dropdown .ant-select-tree-checkbox-checked:not(.ant-select-tree-checkbox-disabled):hover .ant-select-tree-checkbox:after{border-color:#198016;}.ant-tree-select-dropdown .ant-select-tree-checkbox-wrapper-disabled{cursor:not-allowed;}.ant-tree-select-dropdown .ant-select-tree-checkbox-disabled,.ant-tree-select-dropdown .ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-input{cursor:not-allowed;pointer-events:none;}.ant-tree-select-dropdown .ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner{background:rgba(255, 255, 255, 0.08);border-color:#424242;}.ant-tree-select-dropdown .ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner:after{border-color:rgba(255, 255, 255, 0.25);}.ant-tree-select-dropdown .ant-select-tree-checkbox-disabled:after{display:none;}.ant-tree-select-dropdown .ant-select-tree-checkbox-disabled+span{color:rgba(255, 255, 255, 0.25);}.ant-tree-select-dropdown .ant-select-tree-checkbox-disabled.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner::after{background:rgba(255, 255, 255, 0.25);}.ant-tree-select-dropdown-rtl{direction:rtl;}.ant-tree-select-dropdown-rtl .ant-select-tree-switcher.ant-select-tree-switcher_close .ant-select-tree-switcher-icon svg{transform:rotate(90deg);}[class^=\\"ant-tabs\\"],[class*=\\" ant-tabs\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-tabs\\"]::before,[class*=\\" ant-tabs\\"]::before,[class^=\\"ant-tabs\\"]::after,[class*=\\" ant-tabs\\"]::after{box-sizing:border-box;}[class^=\\"ant-tabs\\"] [class^=\\"ant-tabs\\"],[class*=\\" ant-tabs\\"] [class^=\\"ant-tabs\\"],[class^=\\"ant-tabs\\"] [class*=\\" ant-tabs\\"],[class*=\\" ant-tabs\\"] [class*=\\" ant-tabs\\"]{box-sizing:border-box;}[class^=\\"ant-tabs\\"] [class^=\\"ant-tabs\\"]::before,[class*=\\" ant-tabs\\"] [class^=\\"ant-tabs\\"]::before,[class^=\\"ant-tabs\\"] [class*=\\" ant-tabs\\"]::before,[class*=\\" ant-tabs\\"] [class*=\\" ant-tabs\\"]::before,[class^=\\"ant-tabs\\"] [class^=\\"ant-tabs\\"]::after,[class*=\\" ant-tabs\\"] [class^=\\"ant-tabs\\"]::after,[class^=\\"ant-tabs\\"] [class*=\\" ant-tabs\\"]::after,[class*=\\" ant-tabs\\"] [class*=\\" ant-tabs\\"]::after{box-sizing:border-box;}.ant-tabs-small >.ant-tabs-nav .ant-tabs-tab{padding:8px 0;font-size:14px;}.ant-tabs-large >.ant-tabs-nav .ant-tabs-tab{padding:16px 0;font-size:16px;}.ant-tabs-card.ant-tabs-small >.ant-tabs-nav .ant-tabs-tab{padding:6px 16px;}.ant-tabs-card.ant-tabs-small.ant-tabs-bottom >.ant-tabs-nav .ant-tabs-tab{border-radius:0 0 6px 6px;}.ant-tabs-card.ant-tabs-small.ant-tabs-top >.ant-tabs-nav .ant-tabs-tab{border-radius:6px 6px 0 0;}.ant-tabs-card.ant-tabs-small.ant-tabs-right >.ant-tabs-nav .ant-tabs-tab{border-radius:0 6px 6px 0;}.ant-tabs-card.ant-tabs-small.ant-tabs-left >.ant-tabs-nav .ant-tabs-tab{border-radius:6px 0 0 6px;}.ant-tabs-card.ant-tabs-large >.ant-tabs-nav .ant-tabs-tab{padding:8px 16px 6px;}.ant-tabs-rtl{direction:rtl;}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab{margin:0 0 0 32px;}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab:last-of-type{margin-left:0;}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .anticon{margin-right:0;margin-left:12px;}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-remove{margin-right:8px;margin-left:-4px;}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-remove .anticon{margin:0;}.ant-tabs-rtl.ant-tabs-left >.ant-tabs-nav{order:1;}.ant-tabs-rtl.ant-tabs-left >.ant-tabs-content-holder{order:0;}.ant-tabs-rtl.ant-tabs-right >.ant-tabs-nav{order:0;}.ant-tabs-rtl.ant-tabs-right >.ant-tabs-content-holder{order:1;}.ant-tabs-rtl.ant-tabs-card.ant-tabs-top >.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom >.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-rtl.ant-tabs-card.ant-tabs-top >div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom >div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-right:2px;margin-left:0;}.ant-tabs-dropdown-rtl{direction:rtl;}.ant-tabs-menu-item .ant-tabs-dropdown-rtl{text-align:right;}.ant-tabs-top,.ant-tabs-bottom{flex-direction:column;}.ant-tabs-top >.ant-tabs-nav,.ant-tabs-bottom >.ant-tabs-nav,.ant-tabs-top >div>.ant-tabs-nav,.ant-tabs-bottom >div>.ant-tabs-nav{margin:0 0 16px 0;}.ant-tabs-top >.ant-tabs-nav::before,.ant-tabs-bottom >.ant-tabs-nav::before,.ant-tabs-top >div>.ant-tabs-nav::before,.ant-tabs-bottom >div>.ant-tabs-nav::before{position:absolute;right:0;left:0;border-bottom:1px solid rgba(253, 253, 253, 0.12);content:'';}.ant-tabs-top >.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-bottom >.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-top >div>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-bottom >div>.ant-tabs-nav .ant-tabs-ink-bar{height:2px;}.ant-tabs-top >.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-bottom >.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-top >div>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-bottom >div>.ant-tabs-nav .ant-tabs-ink-bar-animated{transition:width 0.3s,left 0.3s,right 0.3s;}.ant-tabs-top >.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-bottom >.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-top >div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-bottom >div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-top >.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-bottom >.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-top >div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-bottom >div>.ant-tabs-nav .ant-tabs-nav-wrap::after{top:0;bottom:0;width:32px;}.ant-tabs-top >.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-bottom >.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-top >div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-bottom >div>.ant-tabs-nav .ant-tabs-nav-wrap::before{left:0;box-shadow:inset 10px 0 8px -8px rgba(0, 0, 0, 0.08);}.ant-tabs-top >.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-bottom >.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-top >div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-bottom >div>.ant-tabs-nav .ant-tabs-nav-wrap::after{right:0;box-shadow:inset -10px 0 8px -8px rgba(0, 0, 0, 0.08);}.ant-tabs-top >.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,.ant-tabs-bottom >.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,.ant-tabs-top >div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,.ant-tabs-bottom >div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before{opacity:1;}.ant-tabs-top >.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after,.ant-tabs-bottom >.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after,.ant-tabs-top >div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after,.ant-tabs-bottom >div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after{opacity:1;}.ant-tabs-top >.ant-tabs-nav::before,.ant-tabs-top >div>.ant-tabs-nav::before{bottom:0;}.ant-tabs-top >.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-top >div>.ant-tabs-nav .ant-tabs-ink-bar{bottom:0;}.ant-tabs-bottom >.ant-tabs-nav,.ant-tabs-bottom >div>.ant-tabs-nav{order:1;margin-top:16px;margin-bottom:0;}.ant-tabs-bottom >.ant-tabs-nav::before,.ant-tabs-bottom >div>.ant-tabs-nav::before{top:0;}.ant-tabs-bottom >.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-bottom >div>.ant-tabs-nav .ant-tabs-ink-bar{top:0;}.ant-tabs-bottom >.ant-tabs-content-holder,.ant-tabs-bottom >div>.ant-tabs-content-holder{order:0;}.ant-tabs-left >.ant-tabs-nav,.ant-tabs-right >.ant-tabs-nav,.ant-tabs-left >div>.ant-tabs-nav,.ant-tabs-right >div>.ant-tabs-nav{flex-direction:column;min-width:40px;}.ant-tabs-left >.ant-tabs-nav .ant-tabs-tab,.ant-tabs-right >.ant-tabs-nav .ant-tabs-tab,.ant-tabs-left >div>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-right >div>.ant-tabs-nav .ant-tabs-tab{padding:8px 24px;text-align:center;}.ant-tabs-left >.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-right >.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-left >div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-right >div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin:16px 0 0 0;}.ant-tabs-left >.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs-right >.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs-left >div>.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs-right >div>.ant-tabs-nav .ant-tabs-nav-wrap{flex-direction:column;}.ant-tabs-left >.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-right >.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-left >div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-right >div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-left >.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-right >.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-left >div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-right >div>.ant-tabs-nav .ant-tabs-nav-wrap::after{right:0;left:0;height:32px;}.ant-tabs-left >.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-right >.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-left >div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-right >div>.ant-tabs-nav .ant-tabs-nav-wrap::before{top:0;box-shadow:inset 0 10px 8px -8px rgba(0, 0, 0, 0.08);}.ant-tabs-left >.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-right >.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-left >div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-right >div>.ant-tabs-nav .ant-tabs-nav-wrap::after{bottom:0;box-shadow:inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08);}.ant-tabs-left >.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,.ant-tabs-right >.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,.ant-tabs-left >div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,.ant-tabs-right >div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before{opacity:1;}.ant-tabs-left >.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,.ant-tabs-right >.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,.ant-tabs-left >div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,.ant-tabs-right >div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after{opacity:1;}.ant-tabs-left >.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-right >.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-left >div>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-right >div>.ant-tabs-nav .ant-tabs-ink-bar{width:2px;}.ant-tabs-left >.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-right >.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-left >div>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-right >div>.ant-tabs-nav .ant-tabs-ink-bar-animated{transition:height 0.3s,top 0.3s;}.ant-tabs-left >.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-right >.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-left >div>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-right >div>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-left >.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs-right >.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs-left >div>.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs-right >div>.ant-tabs-nav .ant-tabs-nav-operations{flex:1 0 auto;flex-direction:column;}.ant-tabs-left >.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-left >div>.ant-tabs-nav .ant-tabs-ink-bar{right:0;}.ant-tabs-left >.ant-tabs-content-holder,.ant-tabs-left >div>.ant-tabs-content-holder{margin-left:-1px;border-left:1px solid #424242;}.ant-tabs-left >.ant-tabs-content-holder >.ant-tabs-content>.ant-tabs-tabpane,.ant-tabs-left >div>.ant-tabs-content-holder >.ant-tabs-content>.ant-tabs-tabpane{padding-left:24px;}.ant-tabs-right >.ant-tabs-nav,.ant-tabs-right >div>.ant-tabs-nav{order:1;}.ant-tabs-right >.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-right >div>.ant-tabs-nav .ant-tabs-ink-bar{left:0;}.ant-tabs-right >.ant-tabs-content-holder,.ant-tabs-right >div>.ant-tabs-content-holder{order:0;margin-right:-1px;border-right:1px solid #424242;}.ant-tabs-right >.ant-tabs-content-holder >.ant-tabs-content>.ant-tabs-tabpane,.ant-tabs-right >div>.ant-tabs-content-holder >.ant-tabs-content>.ant-tabs-tabpane{padding-right:24px;}.ant-tabs-dropdown{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:absolute;top:-9999px;left:-9999px;z-index:1050;display:block;}.ant-tabs-dropdown-hidden{display:none;}.ant-tabs-dropdown .ant-tabs-dropdown-menu{max-height:200px;margin:0;padding:4px 0;overflow-x:hidden;overflow-y:auto;text-align:left;list-style-type:none;background-color:#141414;background-clip:padding-box;border-radius:8px;outline:none;box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);}.ant-tabs-dropdown .ant-tabs-dropdown-menu-item{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:flex;align-items:center;min-width:120px;margin:0;padding:4px 12px;color:rgba(255, 255, 255, 0.85);font-weight:normal;font-size:14px;line-height:1.5714285714285714;cursor:pointer;transition:all 0.3s;}.ant-tabs-dropdown .ant-tabs-dropdown-menu-item >span{flex:1;white-space:nowrap;}.ant-tabs-dropdown .ant-tabs-dropdown-menu-item-remove{flex:none;margin-left:12px;color:rgba(255, 255, 255, 0.45);font-size:12px;background:transparent;border:0;cursor:pointer;}.ant-tabs-dropdown .ant-tabs-dropdown-menu-item-remove:hover{color:#198016;}.ant-tabs-dropdown .ant-tabs-dropdown-menu-item:hover{background:rgba(255, 255, 255, 0.08);}.ant-tabs-dropdown .ant-tabs-dropdown-menu-item-disabled,.ant-tabs-dropdown .ant-tabs-dropdown-menu-item-disabled:hover{color:rgba(255, 255, 255, 0.25);background:transparent;cursor:not-allowed;}.ant-tabs-card >.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card >div>.ant-tabs-nav .ant-tabs-tab{margin:0;padding:8px 16px;background:rgba(255, 255, 255, 0.04);border:1px solid rgba(253, 253, 253, 0.12);transition:all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);}.ant-tabs-card >.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card >div>.ant-tabs-nav .ant-tabs-tab-active{color:#037003;background:#141414;}.ant-tabs-card >.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-card >div>.ant-tabs-nav .ant-tabs-ink-bar{visibility:hidden;}.ant-tabs-card.ant-tabs-top >.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-bottom >.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-top >div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-bottom >div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-left:2px;}.ant-tabs-card.ant-tabs-top >.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-top >div>.ant-tabs-nav .ant-tabs-tab{border-radius:8px 8px 0 0;}.ant-tabs-card.ant-tabs-top >.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-top >div>.ant-tabs-nav .ant-tabs-tab-active{border-bottom-color:#141414;}.ant-tabs-card.ant-tabs-bottom >.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-bottom >div>.ant-tabs-nav .ant-tabs-tab{border-radius:0 0 8px 8px;}.ant-tabs-card.ant-tabs-bottom >.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-bottom >div>.ant-tabs-nav .ant-tabs-tab-active{border-top-color:#141414;}.ant-tabs-card.ant-tabs-left >.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-right >.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-left >div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-right >div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-top:2px;}.ant-tabs-card.ant-tabs-left >.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-left >div>.ant-tabs-nav .ant-tabs-tab{border-radius:8px 0 0 8px;}.ant-tabs-card.ant-tabs-left >.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-left >div>.ant-tabs-nav .ant-tabs-tab-active{border-right-color:#141414;}.ant-tabs-card.ant-tabs-right >.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-right >div>.ant-tabs-nav .ant-tabs-tab{border-radius:0 8px 8px 0;}.ant-tabs-card.ant-tabs-right >.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-right >div>.ant-tabs-nav .ant-tabs-tab-active{border-left-color:#141414;}.ant-tabs{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:flex;}.ant-tabs >.ant-tabs-nav,.ant-tabs >div>.ant-tabs-nav{position:relative;display:flex;flex:none;align-items:center;}.ant-tabs >.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs >div>.ant-tabs-nav .ant-tabs-nav-wrap{position:relative;display:flex;flex:auto;align-self:stretch;overflow:hidden;white-space:nowrap;transform:translate(0);}.ant-tabs >.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs >div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs >.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs >div>.ant-tabs-nav .ant-tabs-nav-wrap::after{position:absolute;z-index:1;opacity:0;transition:opacity 0.3s;content:'';pointer-events:none;}.ant-tabs >.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs >div>.ant-tabs-nav .ant-tabs-nav-list{position:relative;display:flex;transition:opacity 0.3s;}.ant-tabs >.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs >div>.ant-tabs-nav .ant-tabs-nav-operations{display:flex;align-self:stretch;}.ant-tabs >.ant-tabs-nav .ant-tabs-nav-operations-hidden,.ant-tabs >div>.ant-tabs-nav .ant-tabs-nav-operations-hidden{position:absolute;visibility:hidden;pointer-events:none;}.ant-tabs >.ant-tabs-nav .ant-tabs-nav-more,.ant-tabs >div>.ant-tabs-nav .ant-tabs-nav-more{position:relative;padding:8px 16px;background:transparent;border:0;}.ant-tabs >.ant-tabs-nav .ant-tabs-nav-more::after,.ant-tabs >div>.ant-tabs-nav .ant-tabs-nav-more::after{position:absolute;right:0;bottom:0;left:0;height:5px;transform:translateY(100%);content:'';}.ant-tabs >.ant-tabs-nav .ant-tabs-nav-add,.ant-tabs >div>.ant-tabs-nav .ant-tabs-nav-add{min-width:40px;margin-left:2px;padding:0 8px;background:transparent;border:1px solid rgba(253, 253, 253, 0.12);border-radius:8px 8px 0 0;outline:none;cursor:pointer;color:rgba(255, 255, 255, 0.85);transition:all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);}.ant-tabs >.ant-tabs-nav .ant-tabs-nav-add:hover,.ant-tabs >div>.ant-tabs-nav .ant-tabs-nav-add:hover{color:#198016;}.ant-tabs >.ant-tabs-nav .ant-tabs-nav-add:active,.ant-tabs >div>.ant-tabs-nav .ant-tabs-nav-add:active,.ant-tabs >.ant-tabs-nav .ant-tabs-nav-add:focus:not(:focus-visible),.ant-tabs >div>.ant-tabs-nav .ant-tabs-nav-add:focus:not(:focus-visible){color:#075a07;}.ant-tabs >.ant-tabs-nav .ant-tabs-nav-add:focus-visible,.ant-tabs >div>.ant-tabs-nav .ant-tabs-nav-add:focus-visible{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-tabs .ant-tabs-extra-content{flex:none;}.ant-tabs .ant-tabs-ink-bar{position:absolute;background:#037003;pointer-events:none;}.ant-tabs .ant-tabs-tab{position:relative;display:inline-flex;align-items:center;padding:12px 0;font-size:14px;background:transparent;border:0;outline:none;cursor:pointer;}.ant-tabs .ant-tabs-tab-btn:focus:not(:focus-visible),.ant-tabs .ant-tabs-tab-remove:focus:not(:focus-visible),.ant-tabs .ant-tabs-tab-btn:active,.ant-tabs .ant-tabs-tab-remove:active{color:#075a07;}.ant-tabs .ant-tabs-tab-btn:focus-visible,.ant-tabs .ant-tabs-tab-remove:focus-visible{outline:2px solid #0e340e;outline-offset:1px;transition:outline-offset 0s,outline 0s;}.ant-tabs .ant-tabs-tab-btn{outline:none;transition:all 0.3s;}.ant-tabs .ant-tabs-tab-remove{flex:none;margin-right:-4px;margin-left:8px;color:rgba(255, 255, 255, 0.45);font-size:12px;background:transparent;border:none;outline:none;cursor:pointer;transition:all 0.3s;}.ant-tabs .ant-tabs-tab-remove:hover{color:rgba(255, 255, 255, 0.85);}.ant-tabs .ant-tabs-tab:hover{color:#198016;}.ant-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#037003;text-shadow:0 0 0.25px currentcolor;}.ant-tabs .ant-tabs-tab.ant-tabs-tab-disabled{color:rgba(255, 255, 255, 0.25);cursor:not-allowed;}.ant-tabs .ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:focus,.ant-tabs .ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-remove:focus,.ant-tabs .ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:active,.ant-tabs .ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-remove:active{color:rgba(255, 255, 255, 0.25);}.ant-tabs .ant-tabs-tab .ant-tabs-tab-remove .anticon{margin:0;}.ant-tabs .ant-tabs-tab .anticon{margin-right:12px;}.ant-tabs .ant-tabs-tab+.ant-tabs-tab{margin:0 0 0 32px;}.ant-tabs .ant-tabs-content{position:relative;display:flex;width:100%;}.ant-tabs .ant-tabs-content-animated{transition:margin 0.3s;}.ant-tabs .ant-tabs-content-holder{flex:auto;min-width:0;min-height:0;}.ant-tabs .ant-tabs-tabpane{outline:none;flex:none;width:100%;}.ant-tabs-centered >.ant-tabs-nav .ant-tabs-nav-wrap:not([class*='.ant-tabs-nav-wrap-ping']),.ant-tabs-centered >div>.ant-tabs-nav .ant-tabs-nav-wrap:not([class*='.ant-tabs-nav-wrap-ping']){justify-content:center;}.ant-tabs .ant-tabs-switch-appear,.ant-tabs .ant-tabs-switch-enter{transition:none;}.ant-tabs .ant-tabs-switch-appear-start,.ant-tabs .ant-tabs-switch-enter-start{opacity:0;}.ant-tabs .ant-tabs-switch-appear-active,.ant-tabs .ant-tabs-switch-enter-active{opacity:1;transition:opacity 0.3s;}.ant-tabs .ant-tabs-switch-leave{position:absolute;transition:none;inset:0;}.ant-tabs .ant-tabs-switch-leave-start{opacity:1;}.ant-tabs .ant-tabs-switch-leave-active{opacity:0;transition:opacity 0.3s;}.ant-slide-up-enter,.ant-slide-up-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-slide-up-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-slide-up-enter.ant-slide-up-enter-active,.ant-slide-up-appear.ant-slide-up-appear-active{animation-name:antSlideUpIn;animation-play-state:running;}.ant-slide-up-leave.ant-slide-up-leave-active{animation-name:antSlideUpOut;animation-play-state:running;pointer-events:none;}.ant-slide-up-enter,.ant-slide-up-appear{transform:scale(0);transform-origin:0% 0%;opacity:0;animation-timing-function:cubic-bezier(0.23, 1, 0.32, 1);}.ant-slide-up-leave{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);}.ant-slide-down-enter,.ant-slide-down-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-slide-down-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}.ant-slide-down-enter.ant-slide-down-enter-active,.ant-slide-down-appear.ant-slide-down-appear-active{animation-name:antSlideDownIn;animation-play-state:running;}.ant-slide-down-leave.ant-slide-down-leave-active{animation-name:antSlideDownOut;animation-play-state:running;pointer-events:none;}.ant-slide-down-enter,.ant-slide-down-appear{transform:scale(0);transform-origin:0% 0%;opacity:0;animation-timing-function:cubic-bezier(0.23, 1, 0.32, 1);}.ant-slide-down-leave{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);}[class^=\\"ant-tag\\"],[class*=\\" ant-tag\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-tag\\"]::before,[class*=\\" ant-tag\\"]::before,[class^=\\"ant-tag\\"]::after,[class*=\\" ant-tag\\"]::after{box-sizing:border-box;}[class^=\\"ant-tag\\"] [class^=\\"ant-tag\\"],[class*=\\" ant-tag\\"] [class^=\\"ant-tag\\"],[class^=\\"ant-tag\\"] [class*=\\" ant-tag\\"],[class*=\\" ant-tag\\"] [class*=\\" ant-tag\\"]{box-sizing:border-box;}[class^=\\"ant-tag\\"] [class^=\\"ant-tag\\"]::before,[class*=\\" ant-tag\\"] [class^=\\"ant-tag\\"]::before,[class^=\\"ant-tag\\"] [class*=\\" ant-tag\\"]::before,[class*=\\" ant-tag\\"] [class*=\\" ant-tag\\"]::before,[class^=\\"ant-tag\\"] [class^=\\"ant-tag\\"]::after,[class*=\\" ant-tag\\"] [class^=\\"ant-tag\\"]::after,[class^=\\"ant-tag\\"] [class*=\\" ant-tag\\"]::after,[class*=\\" ant-tag\\"] [class*=\\" ant-tag\\"]::after{box-sizing:border-box;}.ant-tag{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:12px;line-height:20px;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:inline-block;height:auto;margin-inline-end:8px;padding-inline:7px;white-space:nowrap;background:rgba(255, 255, 255, 0.04);border:1px solid #424242;border-radius:4px;opacity:1;transition:all 0.2s;text-align:start;}.ant-tag.ant-tag-rtl{direction:rtl;}.ant-tag,.ant-tag a,.ant-tag a:hover{color:rgba(255, 255, 255, 0.85);}.ant-tag .ant-tag-close-icon{margin-inline-start:3px;color:rgba(255, 255, 255, 0.45);font-size:10px;cursor:pointer;transition:all 0.2s;}.ant-tag .ant-tag-close-icon:hover{color:rgba(255, 255, 255, 0.85);}.ant-tag.ant-tag-has-color{border-color:transparent;}.ant-tag.ant-tag-has-color,.ant-tag.ant-tag-has-color a,.ant-tag.ant-tag-has-color a:hover,.ant-tag.ant-tag-has-color .anticon-close,.ant-tag.ant-tag-has-color .anticon-close:hover{color:#fff;}.ant-tag-checkable{background-color:transparent;border-color:transparent;cursor:pointer;}.ant-tag-checkable:not(.ant-tag-checkable-checked):hover{color:#037003;background-color:rgba(255, 255, 255, 0.12);}.ant-tag-checkable:active,.ant-tag-checkable-checked{color:#fff;}.ant-tag-checkable-checked{background-color:#037003;}.ant-tag-checkable-checked:hover{background-color:#198016;}.ant-tag-checkable:active{background-color:#075a07;}.ant-tag-hidden{display:none;}.ant-tag >.anticon+span,.ant-tag >span+.anticon{margin-inline-start:7px;}.ant-tag-borderless{border-color:transparent;background:rgba(255, 255, 255, 0.08);}.ant-tag-blue{color:#3c89e8;background:#111a2c;border-color:#15325b;}.ant-tag-blue-inverse{color:#fff;background:#1668dc;border-color:#1668dc;}.ant-tag-blue.ant-tag-borderless{border-color:transparent;}.ant-tag-purple{color:#854eca;background:#1a1325;border-color:#301c4d;}.ant-tag-purple-inverse{color:#fff;background:#642ab5;border-color:#642ab5;}.ant-tag-purple.ant-tag-borderless{border-color:transparent;}.ant-tag-cyan{color:#33bcb7;background:#112123;border-color:#144848;}.ant-tag-cyan-inverse{color:#fff;background:#13a8a8;border-color:#13a8a8;}.ant-tag-cyan.ant-tag-borderless{border-color:transparent;}.ant-tag-green{color:#6abe39;background:#162312;border-color:#274916;}.ant-tag-green-inverse{color:#fff;background:#49aa19;border-color:#49aa19;}.ant-tag-green.ant-tag-borderless{border-color:transparent;}.ant-tag-magenta{color:#e0529c;background:#291321;border-color:#551c3b;}.ant-tag-magenta-inverse{color:#fff;background:#cb2b83;border-color:#cb2b83;}.ant-tag-magenta.ant-tag-borderless{border-color:transparent;}.ant-tag-pink{color:#e0529c;background:#291321;border-color:#551c3b;}.ant-tag-pink-inverse{color:#fff;background:#cb2b83;border-color:#cb2b83;}.ant-tag-pink.ant-tag-borderless{border-color:transparent;}.ant-tag-red{color:#e84749;background:#2a1215;border-color:#58181c;}.ant-tag-red-inverse{color:#fff;background:#d32029;border-color:#d32029;}.ant-tag-red.ant-tag-borderless{border-color:transparent;}.ant-tag-orange{color:#e89a3c;background:#2b1d11;border-color:#593815;}.ant-tag-orange-inverse{color:#fff;background:#d87a16;border-color:#d87a16;}.ant-tag-orange.ant-tag-borderless{border-color:transparent;}.ant-tag-yellow{color:#e8d639;background:#2b2611;border-color:#595014;}.ant-tag-yellow-inverse{color:#fff;background:#d8bd14;border-color:#d8bd14;}.ant-tag-yellow.ant-tag-borderless{border-color:transparent;}.ant-tag-volcano{color:#e87040;background:#2b1611;border-color:#592716;}.ant-tag-volcano-inverse{color:#fff;background:#d84a1b;border-color:#d84a1b;}.ant-tag-volcano.ant-tag-borderless{border-color:transparent;}.ant-tag-geekblue{color:#5273e0;background:#131629;border-color:#1c2755;}.ant-tag-geekblue-inverse{color:#fff;background:#2b4acb;border-color:#2b4acb;}.ant-tag-geekblue.ant-tag-borderless{border-color:transparent;}.ant-tag-lime{color:#a9d134;background:#1f2611;border-color:#3e4f13;}.ant-tag-lime-inverse{color:#fff;background:#8bbb11;border-color:#8bbb11;}.ant-tag-lime.ant-tag-borderless{border-color:transparent;}.ant-tag-gold{color:#e8b339;background:#2b2111;border-color:#594214;}.ant-tag-gold-inverse{color:#fff;background:#d89614;border-color:#d89614;}.ant-tag-gold.ant-tag-borderless{border-color:transparent;}.ant-tag-success{color:#49aa19;background:#162312;border-color:#274916;}.ant-tag-success.ant-tag-borderless{border-color:transparent;}.ant-tag-processing{color:#1668dc;background:#111a2c;border-color:#15325b;}.ant-tag-processing.ant-tag-borderless{border-color:transparent;}.ant-tag-error{color:#dc4446;background:#2c1618;border-color:#5b2526;}.ant-tag-error.ant-tag-borderless{border-color:transparent;}.ant-tag-warning{color:#d89614;background:#2b2111;border-color:#594214;}.ant-tag-warning.ant-tag-borderless{border-color:transparent;}[class^=\\"ant-timeline\\"],[class*=\\" ant-timeline\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-timeline\\"]::before,[class*=\\" ant-timeline\\"]::before,[class^=\\"ant-timeline\\"]::after,[class*=\\" ant-timeline\\"]::after{box-sizing:border-box;}[class^=\\"ant-timeline\\"] [class^=\\"ant-timeline\\"],[class*=\\" ant-timeline\\"] [class^=\\"ant-timeline\\"],[class^=\\"ant-timeline\\"] [class*=\\" ant-timeline\\"],[class*=\\" ant-timeline\\"] [class*=\\" ant-timeline\\"]{box-sizing:border-box;}[class^=\\"ant-timeline\\"] [class^=\\"ant-timeline\\"]::before,[class*=\\" ant-timeline\\"] [class^=\\"ant-timeline\\"]::before,[class^=\\"ant-timeline\\"] [class*=\\" ant-timeline\\"]::before,[class*=\\" ant-timeline\\"] [class*=\\" ant-timeline\\"]::before,[class^=\\"ant-timeline\\"] [class^=\\"ant-timeline\\"]::after,[class*=\\" ant-timeline\\"] [class^=\\"ant-timeline\\"]::after,[class^=\\"ant-timeline\\"] [class*=\\" ant-timeline\\"]::after,[class*=\\" ant-timeline\\"] [class*=\\" ant-timeline\\"]::after{box-sizing:border-box;}.ant-timeline{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';}.ant-timeline .ant-timeline-item{position:relative;margin:0;padding-bottom:20px;font-size:14px;list-style:none;}.ant-timeline .ant-timeline-item-tail{position:absolute;inset-block-start:10px;inset-inline-start:4px;height:calc(100% - 10px);border-inline-start:2px solid rgba(253, 253, 253, 0.12);}.ant-timeline .ant-timeline-item-pending .ant-timeline-item-head{font-size:12px;background-color:transparent;}.ant-timeline .ant-timeline-item-pending .ant-timeline-item-tail{display:none;}.ant-timeline .ant-timeline-item-head{position:absolute;width:10px;height:10px;background-color:#141414;border:3px solid transparent;border-radius:50%;}.ant-timeline .ant-timeline-item-head-blue{color:#037003;border-color:#037003;}.ant-timeline .ant-timeline-item-head-red{color:#dc4446;border-color:#dc4446;}.ant-timeline .ant-timeline-item-head-green{color:#49aa19;border-color:#49aa19;}.ant-timeline .ant-timeline-item-head-gray{color:rgba(255, 255, 255, 0.25);border-color:rgba(255, 255, 255, 0.25);}.ant-timeline .ant-timeline-item-head-custom{position:absolute;inset-block-start:5px;inset-inline-start:5px;width:auto;height:auto;margin-block-start:0;padding-block:4px;line-height:1;text-align:center;border:0;border-radius:0;transform:translate(-50%, -50%);}.ant-timeline .ant-timeline-item-content{position:relative;inset-block-start:-7px;margin-inline-start:26px;margin-inline-end:0;margin-block-start:0;margin-block-end:0;word-break:break-word;}.ant-timeline .ant-timeline-item-last >.ant-timeline-item-tail{display:none;}.ant-timeline .ant-timeline-item-last >.ant-timeline-item-content{min-height:48px;}.ant-timeline.ant-timeline-alternate .ant-timeline-item-tail,.ant-timeline.ant-timeline-right .ant-timeline-item-tail,.ant-timeline.ant-timeline-label .ant-timeline-item-tail,.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,.ant-timeline.ant-timeline-right .ant-timeline-item-head,.ant-timeline.ant-timeline-label .ant-timeline-item-head,.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom{inset-inline-start:50%;}.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,.ant-timeline.ant-timeline-right .ant-timeline-item-head,.ant-timeline.ant-timeline-label .ant-timeline-item-head{margin-inline-start:-4px;}.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom{margin-inline-start:1px;}.ant-timeline.ant-timeline-alternate .ant-timeline-item-left .ant-timeline-item-content,.ant-timeline.ant-timeline-right .ant-timeline-item-left .ant-timeline-item-content,.ant-timeline.ant-timeline-label .ant-timeline-item-left .ant-timeline-item-content{inset-inline-start:calc(50% - 4px);width:calc(50% - 12px);text-align:start;}.ant-timeline.ant-timeline-alternate .ant-timeline-item-right .ant-timeline-item-content,.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content,.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-content{width:calc(50% - 12px);margin:0;text-align:end;}.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-tail,.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head,.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head-custom{inset-inline-start:calc(100% - 6px);}.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content{width:calc(100% - 18px);}.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail{display:block;height:calc(100% - 16px);border-inline-start:2px dotted rgba(253, 253, 253, 0.12);}.ant-timeline.ant-timeline-reverse .ant-timeline-item-last .ant-timeline-item-tail{display:none;}.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail{inset-block-start:16px;display:block;height:calc(100% - 16px);border-inline-start:2px dotted rgba(253, 253, 253, 0.12);}.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-content{min-height:48px;}.ant-timeline.ant-timeline-label .ant-timeline-item-label{position:absolute;inset-block-start:-6px;width:calc(50% - 12px);text-align:end;}.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-label{inset-inline-start:calc(50% + 12px);width:calc(50% - 12px);text-align:start;}.ant-timeline-rtl{direction:rtl;}.ant-timeline-rtl .ant-timeline-item-head-custom{transform:translate(50%, -50%);}[class^=\\"ant-typography\\"],[class*=\\" ant-typography\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-typography\\"]::before,[class*=\\" ant-typography\\"]::before,[class^=\\"ant-typography\\"]::after,[class*=\\" ant-typography\\"]::after{box-sizing:border-box;}[class^=\\"ant-typography\\"] [class^=\\"ant-typography\\"],[class*=\\" ant-typography\\"] [class^=\\"ant-typography\\"],[class^=\\"ant-typography\\"] [class*=\\" ant-typography\\"],[class*=\\" ant-typography\\"] [class*=\\" ant-typography\\"]{box-sizing:border-box;}[class^=\\"ant-typography\\"] [class^=\\"ant-typography\\"]::before,[class*=\\" ant-typography\\"] [class^=\\"ant-typography\\"]::before,[class^=\\"ant-typography\\"] [class*=\\" ant-typography\\"]::before,[class*=\\" ant-typography\\"] [class*=\\" ant-typography\\"]::before,[class^=\\"ant-typography\\"] [class^=\\"ant-typography\\"]::after,[class*=\\" ant-typography\\"] [class^=\\"ant-typography\\"]::after,[class^=\\"ant-typography\\"] [class*=\\" ant-typography\\"]::after,[class*=\\" ant-typography\\"] [class*=\\" ant-typography\\"]::after{box-sizing:border-box;}.ant-typography{color:rgba(255, 255, 255, 0.85);word-break:break-word;line-height:1.5714285714285714;}.ant-typography.ant-typography-secondary{color:rgba(255, 255, 255, 0.45);}.ant-typography.ant-typography-success{color:#49aa19;}.ant-typography.ant-typography-warning{color:#d89614;}.ant-typography.ant-typography-danger{color:#dc4446;}a.ant-typography.ant-typography-danger:active,a.ant-typography.ant-typography-danger:focus{color:#ad393a;}a.ant-typography.ant-typography-danger:hover{color:#e86e6b;}.ant-typography.ant-typography-disabled{color:rgba(255, 255, 255, 0.25);cursor:not-allowed;user-select:none;}div.ant-typography,.ant-typography p{margin-bottom:1em;}h1.ant-typography,div.ant-typography-h1,div.ant-typography-h1>textarea,.ant-typography h1{margin-bottom:0.5em;color:rgba(255, 255, 255, 0.85);font-weight:600;font-size:38px;line-height:1.2105263157894737;}h2.ant-typography,div.ant-typography-h2,div.ant-typography-h2>textarea,.ant-typography h2{margin-bottom:0.5em;color:rgba(255, 255, 255, 0.85);font-weight:600;font-size:30px;line-height:1.2666666666666666;}h3.ant-typography,div.ant-typography-h3,div.ant-typography-h3>textarea,.ant-typography h3{margin-bottom:0.5em;color:rgba(255, 255, 255, 0.85);font-weight:600;font-size:24px;line-height:1.3333333333333333;}h4.ant-typography,div.ant-typography-h4,div.ant-typography-h4>textarea,.ant-typography h4{margin-bottom:0.5em;color:rgba(255, 255, 255, 0.85);font-weight:600;font-size:20px;line-height:1.4;}h5.ant-typography,div.ant-typography-h5,div.ant-typography-h5>textarea,.ant-typography h5{margin-bottom:0.5em;color:rgba(255, 255, 255, 0.85);font-weight:600;font-size:16px;line-height:1.5;}.ant-typography+h1.ant-typography,.ant-typography+h2.ant-typography,.ant-typography+h3.ant-typography,.ant-typography+h4.ant-typography,.ant-typography+h5.ant-typography{margin-top:1.2em;}.ant-typography div +h1,.ant-typography ul +h1,.ant-typography li +h1,.ant-typography p +h1,.ant-typography h1 +h1,.ant-typography h2 +h1,.ant-typography h3 +h1,.ant-typography h4 +h1,.ant-typography h5 +h1,.ant-typography div +h2,.ant-typography ul +h2,.ant-typography li +h2,.ant-typography p +h2,.ant-typography h1 +h2,.ant-typography h2 +h2,.ant-typography h3 +h2,.ant-typography h4 +h2,.ant-typography h5 +h2,.ant-typography div +h3,.ant-typography ul +h3,.ant-typography li +h3,.ant-typography p +h3,.ant-typography h1 +h3,.ant-typography h2 +h3,.ant-typography h3 +h3,.ant-typography h4 +h3,.ant-typography h5 +h3,.ant-typography div +h4,.ant-typography ul +h4,.ant-typography li +h4,.ant-typography p +h4,.ant-typography h1 +h4,.ant-typography h2 +h4,.ant-typography h3 +h4,.ant-typography h4 +h4,.ant-typography h5 +h4,.ant-typography div +h5,.ant-typography ul +h5,.ant-typography li +h5,.ant-typography p +h5,.ant-typography h1 +h5,.ant-typography h2 +h5,.ant-typography h3 +h5,.ant-typography h4 +h5,.ant-typography h5 +h5{margin-top:1.2em;}.ant-typography code{margin:0 0.2em;padding-inline:0.4em;padding-block:0.2em 0.1em;font-size:85%;background:rgba(150, 150, 150, 0.1);border:1px solid rgba(100, 100, 100, 0.2);border-radius:3px;}.ant-typography kbd{margin:0 0.2em;padding-inline:0.4em;padding-block:0.15em 0.1em;font-size:90%;background:rgba(150, 150, 150, 0.06);border:1px solid rgba(100, 100, 100, 0.2);border-bottom-width:2px;border-radius:3px;}.ant-typography mark{padding:0;background-color:#ffe58f;}.ant-typography u,.ant-typography ins{text-decoration:underline;text-decoration-skip-ink:auto;}.ant-typography s,.ant-typography del{text-decoration:line-through;}.ant-typography strong{font-weight:600;}.ant-typography ul,.ant-typography ol{margin-inline:0;margin-block:0 1em;padding:0;}.ant-typography ul li,.ant-typography ol li{margin-inline:20px 0;margin-block:0;padding-inline:4px 0;padding-block:0;}.ant-typography ul{list-style-type:circle;}.ant-typography ul ul{list-style-type:disc;}.ant-typography ol{list-style-type:decimal;}.ant-typography pre,.ant-typography blockquote{margin:1em 0;}.ant-typography pre{padding:0.4em 0.6em;white-space:pre-wrap;word-wrap:break-word;background:rgba(150, 150, 150, 0.1);border:1px solid rgba(100, 100, 100, 0.2);border-radius:3px;}.ant-typography pre code{display:inline;margin:0;padding:0;font-size:inherit;font-family:inherit;background:transparent;border:0;}.ant-typography blockquote{padding-inline:0.6em 0;padding-block:0;border-inline-start:4px solid rgba(100, 100, 100, 0.2);opacity:0.85;}a.ant-typography,.ant-typography a{color:#1668dc;text-decoration:none;outline:none;cursor:pointer;transition:color 0.3s;}a.ant-typography:focus,.ant-typography a:focus,a.ant-typography:hover,.ant-typography a:hover{color:#15417e;}a.ant-typography:active,.ant-typography a:active{color:#1554ad;}a.ant-typography:active,.ant-typography a:active,a.ant-typography:hover,.ant-typography a:hover{text-decoration:none;}a.ant-typography[disabled],.ant-typography a[disabled],a.ant-typography.ant-typography-disabled,.ant-typography a.ant-typography-disabled{color:rgba(255, 255, 255, 0.25);cursor:not-allowed;}a.ant-typography[disabled]:active,.ant-typography a[disabled]:active,a.ant-typography.ant-typography-disabled:active,.ant-typography a.ant-typography-disabled:active,a.ant-typography[disabled]:hover,.ant-typography a[disabled]:hover,a.ant-typography.ant-typography-disabled:hover,.ant-typography a.ant-typography-disabled:hover{color:rgba(255, 255, 255, 0.25);}a.ant-typography[disabled]:active,.ant-typography a[disabled]:active,a.ant-typography.ant-typography-disabled:active,.ant-typography a.ant-typography-disabled:active{pointer-events:none;}.ant-typography .ant-typography-expand,.ant-typography .ant-typography-edit,.ant-typography .ant-typography-copy{color:#1668dc;text-decoration:none;outline:none;cursor:pointer;transition:color 0.3s;margin-inline-start:4px;}.ant-typography .ant-typography-expand:focus,.ant-typography .ant-typography-edit:focus,.ant-typography .ant-typography-copy:focus,.ant-typography .ant-typography-expand:hover,.ant-typography .ant-typography-edit:hover,.ant-typography .ant-typography-copy:hover{color:#15417e;}.ant-typography .ant-typography-expand:active,.ant-typography .ant-typography-edit:active,.ant-typography .ant-typography-copy:active{color:#1554ad;}.ant-typography-edit-content{position:relative;}div.ant-typography-edit-content{inset-inline-start:-12px;margin-top:-5px;margin-bottom:calc(1em - 5px);}.ant-typography-edit-content .ant-typography-edit-content-confirm{position:absolute;inset-inline-end:10px;inset-block-end:8px;color:rgba(255, 255, 255, 0.45);font-weight:normal;font-size:14px;font-style:normal;pointer-events:none;}.ant-typography-edit-content textarea{margin:0!important;-moz-transition:none;height:1em;}.ant-typography-copy-success,.ant-typography-copy-success:hover,.ant-typography-copy-success:focus{color:#49aa19;}a.ant-typography-ellipsis,span.ant-typography-ellipsis{display:inline-block;max-width:100%;}.ant-typography-single-line{white-space:nowrap;}.ant-typography-ellipsis-single-line{overflow:hidden;text-overflow:ellipsis;}a.ant-typography-ellipsis-single-line,span.ant-typography-ellipsis-single-line{vertical-align:bottom;}.ant-typography-ellipsis-multiple-line{display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical;}.ant-typography-rtl{direction:rtl;}[class^=\\"ant-upload\\"],[class*=\\" ant-upload\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-upload\\"]::before,[class*=\\" ant-upload\\"]::before,[class^=\\"ant-upload\\"]::after,[class*=\\" ant-upload\\"]::after{box-sizing:border-box;}[class^=\\"ant-upload\\"] [class^=\\"ant-upload\\"],[class*=\\" ant-upload\\"] [class^=\\"ant-upload\\"],[class^=\\"ant-upload\\"] [class*=\\" ant-upload\\"],[class*=\\" ant-upload\\"] [class*=\\" ant-upload\\"]{box-sizing:border-box;}[class^=\\"ant-upload\\"] [class^=\\"ant-upload\\"]::before,[class*=\\" ant-upload\\"] [class^=\\"ant-upload\\"]::before,[class^=\\"ant-upload\\"] [class*=\\" ant-upload\\"]::before,[class*=\\" ant-upload\\"] [class*=\\" ant-upload\\"]::before,[class^=\\"ant-upload\\"] [class^=\\"ant-upload\\"]::after,[class*=\\" ant-upload\\"] [class^=\\"ant-upload\\"]::after,[class^=\\"ant-upload\\"] [class*=\\" ant-upload\\"]::after,[class*=\\" ant-upload\\"] [class*=\\" ant-upload\\"]::after{box-sizing:border-box;}.ant-upload-wrapper{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';}.ant-upload-wrapper .ant-upload{outline:0;}.ant-upload-wrapper .ant-upload input[type='file']{cursor:pointer;}.ant-upload-wrapper .ant-upload-select{display:inline-block;}.ant-upload-wrapper .ant-upload-disabled{color:rgba(255, 255, 255, 0.25);cursor:not-allowed;}.ant-upload-wrapper .ant-upload-drag{position:relative;width:100%;height:100%;text-align:center;background:rgba(255, 255, 255, 0.04);border:1px dashed #424242;border-radius:8px;cursor:pointer;transition:border-color 0.3s;}.ant-upload-wrapper .ant-upload-drag .ant-upload{padding:16px 0;}.ant-upload-wrapper .ant-upload-drag .ant-upload-btn{display:table;width:100%;height:100%;outline:none;}.ant-upload-wrapper .ant-upload-drag .ant-upload-drag-container{display:table-cell;vertical-align:middle;}.ant-upload-wrapper .ant-upload-drag:not(.ant-upload-disabled):hover{border-color:#198016;}.ant-upload-wrapper .ant-upload-drag p.ant-upload-drag-icon{margin-bottom:16px;}.ant-upload-wrapper .ant-upload-drag p.ant-upload-drag-icon .anticon{color:#037003;font-size:48px;}.ant-upload-wrapper .ant-upload-drag p.ant-upload-text{margin:0 0 4px;color:rgba(255, 255, 255, 0.85);font-size:16px;}.ant-upload-wrapper .ant-upload-drag p.ant-upload-hint{color:rgba(255, 255, 255, 0.45);font-size:14px;}.ant-upload-wrapper .ant-upload-drag.ant-upload-disabled{cursor:not-allowed;}.ant-upload-wrapper .ant-upload-drag.ant-upload-disabled p.ant-upload-drag-icon .anticon,.ant-upload-wrapper .ant-upload-drag.ant-upload-disabled p.ant-upload-text,.ant-upload-wrapper .ant-upload-drag.ant-upload-disabled p.ant-upload-hint{color:rgba(255, 255, 255, 0.25);}.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture .ant-upload-list-item,.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item{position:relative;height:66px;padding:8px;border:1px solid #424242;border-radius:8px;}.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture .ant-upload-list-item:hover,.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item:hover{background:transparent;}.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture .ant-upload-list-item .ant-upload-list-item-thumbnail,.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item .ant-upload-list-item-thumbnail{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:48px;height:48px;line-height:60px;text-align:center;flex:none;}.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture .ant-upload-list-item .ant-upload-list-item-thumbnail .anticon,.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item .ant-upload-list-item-thumbnail .anticon{font-size:30px;color:#037003;}.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture .ant-upload-list-item .ant-upload-list-item-thumbnail img,.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item .ant-upload-list-item-thumbnail img{display:block;width:100%;height:100%;overflow:hidden;}.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture .ant-upload-list-item .ant-upload-list-item-progress,.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item .ant-upload-list-item-progress{bottom:12px;width:calc(100% - 24px);margin-top:0;padding-inline-start:56px;}.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture .ant-upload-list-item-error,.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-error{border-color:#dc4446;}.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff'],.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff']{fill:#2c1618;}.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#1890ff'],.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#1890ff']{fill:#dc4446;}.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture .ant-upload-list-item-uploading,.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-uploading{border-style:dashed;}.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture .ant-upload-list-item-uploading .ant-upload-list-item-name,.ant-upload-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-name{margin-bottom:12px;}.ant-upload-wrapper.ant-upload-picture-card-wrapper{display:inline-block;width:100%;}.ant-upload-wrapper.ant-upload-picture-card-wrapper::before{display:table;content:\\"\\";}.ant-upload-wrapper.ant-upload-picture-card-wrapper::after{display:table;clear:both;content:\\"\\";}.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload.ant-upload-select{width:102px;height:102px;margin-inline-end:8px;margin-bottom:8px;text-align:center;vertical-align:top;background-color:rgba(255, 255, 255, 0.04);border:1px dashed #424242;border-radius:8px;cursor:pointer;transition:border-color 0.3s;}.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload.ant-upload-select >.ant-upload{display:flex;align-items:center;justify-content:center;height:100%;text-align:center;}.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload.ant-upload-select:not(.ant-upload-disabled):hover{border-color:#037003;}.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-container{display:inline-block;width:102px;height:102px;margin-block:0 8px;margin-inline:0 8px;vertical-align:top;}.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card::after{display:none;}.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item{height:100%;margin:0;}.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item::before{position:absolute;z-index:1;width:calc(100% - 16px);height:calc(100% - 16px);background-color:rgba(0, 0, 0, 0.45);opacity:0;transition:all 0.3s;content:\\" \\";}.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item:hover::before,.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-actions{opacity:1;}.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-actions{position:absolute;inset-inline-start:0;z-index:10;width:100%;white-space:nowrap;text-align:center;opacity:0;transition:all 0.3s;}.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye,.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download,.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete{z-index:10;width:16px;margin:0 4px;font-size:16px;cursor:pointer;transition:all 0.3s;}.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye,.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-actions:hover .anticon-eye,.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download,.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-actions:hover .anticon-download,.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete,.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-actions:hover .anticon-delete{color:rgba(255, 255, 255, 0.65);}.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye:hover,.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-actions:hover .anticon-eye:hover,.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download:hover,.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-actions:hover .anticon-download:hover,.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete:hover,.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-actions:hover .anticon-delete:hover{color:#fff;}.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-thumbnail,.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-thumbnail img{position:static;display:block;width:100%;height:100%;object-fit:contain;}.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-name{display:none;text-align:center;}.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-file+.ant-upload-list-item-name{position:absolute;bottom:16px;display:block;width:calc(100% - 16px);}.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-uploading.ant-upload-list-item{background-color:rgba(255, 255, 255, 0.04);}.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-uploading::before,.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-uploading .anticon-eye,.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-uploading .anticon-download,.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-uploading .anticon-delete{display:none;}.ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-progress{bottom:32px;width:calc(100% - 16px);padding-inline-start:0;}.ant-upload-wrapper .ant-upload-list{line-height:1.5714285714285714;}.ant-upload-wrapper .ant-upload-list::before{display:table;content:\\"\\";}.ant-upload-wrapper .ant-upload-list::after{display:table;clear:both;content:\\"\\";}.ant-upload-wrapper .ant-upload-list .ant-upload-list-item{position:relative;height:22px;margin-top:8px;font-size:14px;display:flex;align-items:center;transition:background-color 0.3s;}.ant-upload-wrapper .ant-upload-list .ant-upload-list-item:hover{background-color:rgba(255, 255, 255, 0.08);}.ant-upload-wrapper .ant-upload-list .ant-upload-list-item .ant-upload-list-item-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 8px;line-height:1.5714285714285714;flex:auto;transition:all 0.3s;}.ant-upload-wrapper .ant-upload-list .ant-upload-list-item .ant-upload-list-item-actions .ant-upload-list-item-action{opacity:0;}.ant-upload-wrapper .ant-upload-list .ant-upload-list-item .ant-upload-list-item-actions .ant-upload-list-item-action.ant-btn-sm{height:22px;border:0;line-height:1;}.ant-upload-wrapper .ant-upload-list .ant-upload-list-item .ant-upload-list-item-actions .ant-upload-list-item-action.ant-btn-sm >span{transform:scale(1);}.ant-upload-wrapper .ant-upload-list .ant-upload-list-item .ant-upload-list-item-actions .ant-upload-list-item-action:focus,.ant-upload-wrapper .ant-upload-list .ant-upload-list-item .ant-upload-list-item-actions.picture .ant-upload-list-item-action{opacity:1;}.ant-upload-wrapper .ant-upload-list .ant-upload-list-item .ant-upload-list-item-actions .anticon{color:rgba(255, 255, 255, 0.45);transition:all 0.3s;}.ant-upload-wrapper .ant-upload-list .ant-upload-list-item .ant-upload-list-item-actions:hover .anticon{color:rgba(255, 255, 255, 0.85);}.ant-upload-wrapper .ant-upload-list .ant-upload-list-item .ant-upload-icon .anticon{color:rgba(255, 255, 255, 0.45);font-size:14px;}.ant-upload-wrapper .ant-upload-list .ant-upload-list-item .ant-upload-list-item-progress{position:absolute;bottom:-12px;width:100%;padding-inline-start:22px;font-size:14px;line-height:0;pointer-events:none;}.ant-upload-wrapper .ant-upload-list .ant-upload-list-item .ant-upload-list-item-progress >div{margin:0;}.ant-upload-wrapper .ant-upload-list .ant-upload-list-item:hover .ant-upload-list-item-action{opacity:1;color:rgba(255, 255, 255, 0.85);}.ant-upload-wrapper .ant-upload-list .ant-upload-list-item-error{color:#dc4446;}.ant-upload-wrapper .ant-upload-list .ant-upload-list-item-error .ant-upload-list-item-name,.ant-upload-wrapper .ant-upload-list .ant-upload-list-item-error .ant-upload-icon .anticon{color:#dc4446;}.ant-upload-wrapper .ant-upload-list .ant-upload-list-item-error .ant-upload-list-item-actions .anticon,.ant-upload-wrapper .ant-upload-list .ant-upload-list-item-error .ant-upload-list-item-actions .anticon:hover{color:#dc4446;}.ant-upload-wrapper .ant-upload-list .ant-upload-list-item-error .ant-upload-list-item-actions .ant-upload-list-item-action{opacity:1;}.ant-upload-wrapper .ant-upload-list .ant-upload-list-item-container{transition:opacity 0.3s,height 0.3s;}.ant-upload-wrapper .ant-upload-list .ant-upload-list-item-container::before{display:table;width:0;height:0;content:\\"\\";}.ant-upload-wrapper .ant-upload-animate-inline-appear,.ant-upload-wrapper .ant-upload-animate-inline-enter,.ant-upload-wrapper .ant-upload-animate-inline-leave{animation-duration:0.3s;animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);animation-fill-mode:forwards;}.ant-upload-wrapper .ant-upload-animate-inline-appear,.ant-upload-wrapper .ant-upload-animate-inline-enter{animation-name:uploadAnimateInlineIn;}.ant-upload-wrapper .ant-upload-animate-inline-leave{animation-name:uploadAnimateInlineOut;}.ant-upload-rtl{direction:rtl;}.ant-upload .ant-motion-collapse-legacy{overflow:hidden;}.ant-upload .ant-motion-collapse-legacy-active{transition:height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)!important;}.ant-upload .ant-motion-collapse{overflow:hidden;transition:height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)!important;}@keyframes uploadAnimateInlineIn{from{width:0;height:0;margin:0;padding:0;opacity:0;}}@keyframes uploadAnimateInlineOut{to{width:0;height:0;margin:0;padding:0;opacity:0;}}[class^=\\"ant-segmented\\"],[class*=\\" ant-segmented\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-segmented\\"]::before,[class*=\\" ant-segmented\\"]::before,[class^=\\"ant-segmented\\"]::after,[class*=\\" ant-segmented\\"]::after{box-sizing:border-box;}[class^=\\"ant-segmented\\"] [class^=\\"ant-segmented\\"],[class*=\\" ant-segmented\\"] [class^=\\"ant-segmented\\"],[class^=\\"ant-segmented\\"] [class*=\\" ant-segmented\\"],[class*=\\" ant-segmented\\"] [class*=\\" ant-segmented\\"]{box-sizing:border-box;}[class^=\\"ant-segmented\\"] [class^=\\"ant-segmented\\"]::before,[class*=\\" ant-segmented\\"] [class^=\\"ant-segmented\\"]::before,[class^=\\"ant-segmented\\"] [class*=\\" ant-segmented\\"]::before,[class*=\\" ant-segmented\\"] [class*=\\" ant-segmented\\"]::before,[class^=\\"ant-segmented\\"] [class^=\\"ant-segmented\\"]::after,[class*=\\" ant-segmented\\"] [class^=\\"ant-segmented\\"]::after,[class^=\\"ant-segmented\\"] [class*=\\" ant-segmented\\"]::after,[class*=\\" ant-segmented\\"] [class*=\\" ant-segmented\\"]::after{box-sizing:border-box;}.ant-segmented{box-sizing:border-box;margin:0;padding:2px;color:rgba(255, 255, 255, 0.65);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:inline-block;background-color:#000000;border-radius:6px;transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);}.ant-segmented .ant-segmented-group{position:relative;display:flex;align-items:stretch;justify-items:flex-start;width:100%;}.ant-segmented.ant-segmented-rtl{direction:rtl;}.ant-segmented.ant-segmented-block{display:flex;}.ant-segmented.ant-segmented-block .ant-segmented-item{flex:1;min-width:0;}.ant-segmented .ant-segmented-item{position:relative;text-align:center;cursor:pointer;transition:color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);border-radius:4px;}.ant-segmented .ant-segmented-item-selected{background-color:#1f1f1f;box-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.03),0 1px 6px -1px rgba(0, 0, 0, 0.02),0 2px 4px 0 rgba(0, 0, 0, 0.02);color:rgba(255, 255, 255, 0.85);}.ant-segmented .ant-segmented-item::after{content:\\"\\";position:absolute;width:100%;height:100%;top:0;inset-inline-start:0;border-radius:inherit;transition:background-color 0.2s;}.ant-segmented .ant-segmented-item:hover:not(.ant-segmented-item-selected):not(.ant-segmented-item-disabled){color:rgba(255, 255, 255, 0.85);}.ant-segmented .ant-segmented-item:hover:not(.ant-segmented-item-selected):not(.ant-segmented-item-disabled)::after{background-color:rgba(255, 255, 255, 0.12);}.ant-segmented .ant-segmented-item-label{min-height:28px;line-height:28px;padding:0 11px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.ant-segmented .ant-segmented-item-icon+*{margin-inline-start:6px;}.ant-segmented .ant-segmented-item-input{position:absolute;inset-block-start:0;inset-inline-start:0;width:0;height:0;opacity:0;pointer-events:none;}.ant-segmented .ant-segmented-thumb{background-color:#1f1f1f;box-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.03),0 1px 6px -1px rgba(0, 0, 0, 0.02),0 2px 4px 0 rgba(0, 0, 0, 0.02);position:absolute;inset-block-start:0;inset-inline-start:0;width:0;height:100%;padding:4px 0;border-radius:4px;}.ant-segmented .ant-segmented-thumb~.ant-segmented-item:not(.ant-segmented-item-selected):not(.ant-segmented-item-disabled)::after{background-color:transparent;}.ant-segmented.ant-segmented-lg{border-radius:8px;}.ant-segmented.ant-segmented-lg .ant-segmented-item-label{min-height:36px;line-height:36px;padding:0 11px;font-size:16px;}.ant-segmented.ant-segmented-lg .ant-segmented-item,.ant-segmented.ant-segmented-lg .ant-segmented-thumb{border-radius:6px;}.ant-segmented.ant-segmented-sm{border-radius:4px;}.ant-segmented.ant-segmented-sm .ant-segmented-item-label{min-height:20px;line-height:20px;padding:0 7px;}.ant-segmented.ant-segmented-sm .ant-segmented-item,.ant-segmented.ant-segmented-sm .ant-segmented-thumb{border-radius:2px;}.ant-segmented-disabled .ant-segmented-item,.ant-segmented-disabled .ant-segmented-item:hover,.ant-segmented-disabled .ant-segmented-item:focus{color:rgba(255, 255, 255, 0.25);cursor:not-allowed;}.ant-segmented .ant-segmented-item-disabled,.ant-segmented .ant-segmented-item-disabled:hover,.ant-segmented .ant-segmented-item-disabled:focus{color:rgba(255, 255, 255, 0.25);cursor:not-allowed;}.ant-segmented .ant-segmented-thumb-motion-appear-active{transition:transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);will-change:transform,width;}[class^=\\"ant-qrcode\\"],[class*=\\" ant-qrcode\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-qrcode\\"]::before,[class*=\\" ant-qrcode\\"]::before,[class^=\\"ant-qrcode\\"]::after,[class*=\\" ant-qrcode\\"]::after{box-sizing:border-box;}[class^=\\"ant-qrcode\\"] [class^=\\"ant-qrcode\\"],[class*=\\" ant-qrcode\\"] [class^=\\"ant-qrcode\\"],[class^=\\"ant-qrcode\\"] [class*=\\" ant-qrcode\\"],[class*=\\" ant-qrcode\\"] [class*=\\" ant-qrcode\\"]{box-sizing:border-box;}[class^=\\"ant-qrcode\\"] [class^=\\"ant-qrcode\\"]::before,[class*=\\" ant-qrcode\\"] [class^=\\"ant-qrcode\\"]::before,[class^=\\"ant-qrcode\\"] [class*=\\" ant-qrcode\\"]::before,[class*=\\" ant-qrcode\\"] [class*=\\" ant-qrcode\\"]::before,[class^=\\"ant-qrcode\\"] [class^=\\"ant-qrcode\\"]::after,[class*=\\" ant-qrcode\\"] [class^=\\"ant-qrcode\\"]::after,[class^=\\"ant-qrcode\\"] [class*=\\" ant-qrcode\\"]::after,[class*=\\" ant-qrcode\\"] [class*=\\" ant-qrcode\\"]::after{box-sizing:border-box;}.ant-qrcode{box-sizing:border-box;margin:0;padding:12px;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:flex;justify-content:center;align-items:center;background-color:#fff;border-radius:8px;border:1px solid rgba(253, 253, 253, 0.12);position:relative;width:100%;height:100%;overflow:hidden;}.ant-qrcode>.ant-qrcode-mask{position:absolute;inset-block-start:0;inset-inline-start:0;z-index:10;display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;color:rgba(255, 255, 255, 0.85);line-height:1.5714285714285714;background:rgba(255, 255, 255, 0.96);text-align:center;}.ant-qrcode>.ant-qrcode-mask>.ant-qrcode-expired{color:rgba(0, 0, 0, 0.88);}.ant-qrcode-icon{margin-block-end:8px;font-size:32px;}.ant-qrcode-borderless{border-color:transparent;}[class^=\\"ant-app\\"],[class*=\\" ant-app\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-app\\"]::before,[class*=\\" ant-app\\"]::before,[class^=\\"ant-app\\"]::after,[class*=\\" ant-app\\"]::after{box-sizing:border-box;}[class^=\\"ant-app\\"] [class^=\\"ant-app\\"],[class*=\\" ant-app\\"] [class^=\\"ant-app\\"],[class^=\\"ant-app\\"] [class*=\\" ant-app\\"],[class*=\\" ant-app\\"] [class*=\\" ant-app\\"]{box-sizing:border-box;}[class^=\\"ant-app\\"] [class^=\\"ant-app\\"]::before,[class*=\\" ant-app\\"] [class^=\\"ant-app\\"]::before,[class^=\\"ant-app\\"] [class*=\\" ant-app\\"]::before,[class*=\\" ant-app\\"] [class*=\\" ant-app\\"]::before,[class^=\\"ant-app\\"] [class^=\\"ant-app\\"]::after,[class*=\\" ant-app\\"] [class^=\\"ant-app\\"]::after,[class^=\\"ant-app\\"] [class*=\\" ant-app\\"]::after,[class*=\\" ant-app\\"] [class*=\\" ant-app\\"]::after{box-sizing:border-box;}.ant-app{color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';}[class^=\\"ant-message\\"],[class*=\\" ant-message\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-message\\"]::before,[class*=\\" ant-message\\"]::before,[class^=\\"ant-message\\"]::after,[class*=\\" ant-message\\"]::after{box-sizing:border-box;}[class^=\\"ant-message\\"] [class^=\\"ant-message\\"],[class*=\\" ant-message\\"] [class^=\\"ant-message\\"],[class^=\\"ant-message\\"] [class*=\\" ant-message\\"],[class*=\\" ant-message\\"] [class*=\\" ant-message\\"]{box-sizing:border-box;}[class^=\\"ant-message\\"] [class^=\\"ant-message\\"]::before,[class*=\\" ant-message\\"] [class^=\\"ant-message\\"]::before,[class^=\\"ant-message\\"] [class*=\\" ant-message\\"]::before,[class*=\\" ant-message\\"] [class*=\\" ant-message\\"]::before,[class^=\\"ant-message\\"] [class^=\\"ant-message\\"]::after,[class*=\\" ant-message\\"] [class^=\\"ant-message\\"]::after,[class^=\\"ant-message\\"] [class*=\\" ant-message\\"]::after,[class*=\\" ant-message\\"] [class*=\\" ant-message\\"]::after{box-sizing:border-box;}.ant-message{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:fixed;top:8px;width:100%;pointer-events:none;z-index:1010;}.ant-message .ant-message-move-up{animation-fill-mode:forwards;}.ant-message .ant-message-move-up-appear,.ant-message .ant-message-move-up-enter{animation-name:MessageMoveIn;animation-duration:0.3s;animation-play-state:paused;animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}.ant-message .ant-message-move-up-appear.ant-message-move-up-appear-active,.ant-message .ant-message-move-up-enter.ant-message-move-up-enter-active{animation-play-state:running;}.ant-message .ant-message-move-up-leave{animation-name:MessageMoveOut;animation-duration:0.3s;animation-play-state:paused;animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}.ant-message .ant-message-move-up-leave.ant-message-move-up-leave-active{animation-play-state:running;}.ant-message-rtl{direction:rtl;}.ant-message-rtl span{direction:rtl;}.ant-message-notice{padding:8px;text-align:center;}.ant-message-notice .anticon{vertical-align:text-bottom;margin-inline-end:8px;font-size:16px;}.ant-message-notice .ant-message-notice-content{display:inline-block;padding:9px 12px;background:#1f1f1f;border-radius:8px;box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);pointer-events:all;}.ant-message-notice .ant-message-success .anticon{color:#49aa19;}.ant-message-notice .ant-message-error .anticon{color:#dc4446;}.ant-message-notice .ant-message-warning .anticon{color:#d89614;}.ant-message-notice .ant-message-info .anticon,.ant-message-notice .ant-message-loading .anticon{color:#1668dc;}.ant-message-notice-pure-panel{padding:0;text-align:start;}@keyframes MessageMoveIn{0%{padding:0;transform:translateY(-100%);opacity:0;}100%{padding:8px;transform:translateY(0);opacity:1;}}@keyframes MessageMoveOut{0%{max-height:150px;padding:8px;opacity:1;}100%{max-height:0;padding:0;opacity:0;}}[class^=\\"ant-notification\\"],[class*=\\" ant-notification\\"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}[class^=\\"ant-notification\\"]::before,[class*=\\" ant-notification\\"]::before,[class^=\\"ant-notification\\"]::after,[class*=\\" ant-notification\\"]::after{box-sizing:border-box;}[class^=\\"ant-notification\\"] [class^=\\"ant-notification\\"],[class*=\\" ant-notification\\"] [class^=\\"ant-notification\\"],[class^=\\"ant-notification\\"] [class*=\\" ant-notification\\"],[class*=\\" ant-notification\\"] [class*=\\" ant-notification\\"]{box-sizing:border-box;}[class^=\\"ant-notification\\"] [class^=\\"ant-notification\\"]::before,[class*=\\" ant-notification\\"] [class^=\\"ant-notification\\"]::before,[class^=\\"ant-notification\\"] [class*=\\" ant-notification\\"]::before,[class*=\\" ant-notification\\"] [class*=\\" ant-notification\\"]::before,[class^=\\"ant-notification\\"] [class^=\\"ant-notification\\"]::after,[class*=\\" ant-notification\\"] [class^=\\"ant-notification\\"]::after,[class^=\\"ant-notification\\"] [class*=\\" ant-notification\\"]::after,[class*=\\" ant-notification\\"] [class*=\\" ant-notification\\"]::after{box-sizing:border-box;}.ant-notification{box-sizing:border-box;margin:0;padding:0;color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:fixed;z-index:1050;margin-inline-end:24px;}.ant-notification .ant-notification-hook-holder{position:relative;}.ant-notification.ant-notification-top,.ant-notification.ant-notification-bottom{margin-inline:0;}.ant-notification.ant-notification-topLeft,.ant-notification.ant-notification-bottomLeft{margin-inline-end:0;margin-inline-start:24px;}.ant-notification.ant-notification-topLeft .ant-notification-fade-enter.ant-notification-fade-enter-active,.ant-notification.ant-notification-bottomLeft .ant-notification-fade-enter.ant-notification-fade-enter-active,.ant-notification.ant-notification-topLeft .ant-notification-fade-appear.ant-notification-fade-appear-active,.ant-notification.ant-notification-bottomLeft .ant-notification-fade-appear.ant-notification-fade-appear-active{animation-name:antNotificationLeftFadeIn;}.ant-notification .ant-notification-fade-enter,.ant-notification .ant-notification-fade-appear{animation-duration:0.2s;animation-timing-function:cubic-bezier(0.645, 0.045, 0.355, 1);animation-fill-mode:both;opacity:0;animation-play-state:paused;}.ant-notification .ant-notification-fade-leave{animation-timing-function:cubic-bezier(0.645, 0.045, 0.355, 1);animation-fill-mode:both;animation-duration:0.2s;animation-play-state:paused;}.ant-notification .ant-notification-fade-enter.ant-notification-fade-enter-active,.ant-notification .ant-notification-fade-appear.ant-notification-fade-appear-active{animation-name:antNotificationFadeIn;animation-play-state:running;}.ant-notification .ant-notification-fade-leave.ant-notification-fade-leave-active{animation-name:antNotificationFadeOut;animation-play-state:running;}.ant-notification.ant-notification-top .ant-notification-fade-enter.ant-notification-fade-enter-active,.ant-notification.ant-notification-top .ant-notification-fade-appear.ant-notification-fade-appear-active{animation-name:antNotificationTopFadeIn;}.ant-notification.ant-notification-bottom .ant-notification-fade-enter.ant-notification-fade-enter-active,.ant-notification.ant-notification-bottom .ant-notification-fade-appear.ant-notification-fade-appear-active{animation-name:antNotificationBottomFadeIn;}.ant-notification-rtl{direction:rtl;}.ant-notification-rtl .ant-notification-notice-btn{float:left;}.ant-notification-notice{position:relative;width:384px;max-width:calc(100vw - 48px);margin-bottom:16px;margin-inline-start:auto;padding:20px 24px;overflow:hidden;line-height:1.5714285714285714;word-wrap:break-word;background:#1f1f1f;border-radius:8px;box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);}.ant-notification-notice .ant-notification-close-icon{font-size:14px;cursor:pointer;}.ant-notification-notice .ant-notification-notice-message{margin-bottom:8px;color:rgba(255, 255, 255, 0.85);font-size:16px;line-height:1.5;}.ant-notification-notice .ant-notification-notice-description{font-size:14px;}.ant-notification-notice.ant-notification-notice-closable .ant-notification-notice-message{padding-inline-end:24px;}.ant-notification-notice .ant-notification-notice-with-icon .ant-notification-notice-message{margin-bottom:8px;margin-inline-start:36px;font-size:16px;}.ant-notification-notice .ant-notification-notice-with-icon .ant-notification-notice-description{margin-inline-start:36px;font-size:14px;}.ant-notification-notice .ant-notification-notice-icon{position:absolute;font-size:24px;line-height:0;}.ant-notification-notice .ant-notification-notice-icon-success.anticon{color:#49aa19;}.ant-notification-notice .ant-notification-notice-icon-info.anticon{color:#1668dc;}.ant-notification-notice .ant-notification-notice-icon-warning.anticon{color:#d89614;}.ant-notification-notice .ant-notification-notice-icon-error.anticon{color:#dc4446;}.ant-notification-notice .ant-notification-notice-close{position:absolute;top:20px;inset-inline-end:24px;color:rgba(255, 255, 255, 0.45);outline:none;width:22px;height:22px;border-radius:4px;transition:background-color 0.2s,color 0.2s;display:flex;align-items:center;justify-content:center;}.ant-notification-notice .ant-notification-notice-close:hover{color:rgba(255, 255, 255, 0.85);background-color:rgba(255, 255, 255, 0.12);}.ant-notification-notice .ant-notification-notice-btn{float:right;margin-top:12px;}.ant-notification-notice-pure-panel{margin:0;}@keyframes antNotificationLeftFadeIn{0%{right:384px;opacity:0;}100%{right:0;opacity:1;}}@keyframes antNotificationFadeIn{0%{left:384px;opacity:0;}100%{left:0;opacity:1;}}@keyframes antNotificationFadeOut{0%{max-height:150px;margin-bottom:16px;opacity:1;}100%{max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0;opacity:0;}}@keyframes antNotificationTopFadeIn{0%{margin-top:-100%;opacity:0;}100%{margin-top:0;opacity:1;}}@keyframes antNotificationBottomFadeIn{0%{margin-bottom:-100%;opacity:0;}100%{margin-bottom:0;opacity:1;}}.data-ant-cssinjs-cache-path{content:\\"m3f0rh|ant-design-icons|anticon:ijrcqw;z6uaad|Shared|ant:c6s4t9;z6uaad|Affix|ant-affix|anticon:2zzvr5;z6uaad|Anchor|ant-anchor|anticon:13hrez8;z6uaad|Select|ant-select|anticon:f698cf;z6uaad|Alert|ant-alert|anticon:1es04j3;z6uaad|Avatar|ant-avatar|anticon:19qdqs6;z6uaad|Badge|ant-badge|anticon:11brd8k;z6uaad|Badge|ant-ribbon|anticon:42dxfk;z6uaad|Breadcrumb|ant-breadcrumb|anticon:1j0g5z6;z6uaad|Button|ant-btn|anticon:1rl4the;z6uaad|Wave|ant-wave|anticon:pkgtju;z6uaad|Calendar|ant-picker|anticon:mesz65;z6uaad|Radio|ant-radio|anticon:1rexxqj;z6uaad|Card|ant-card|anticon:pisf11;z6uaad|Collapse|ant-collapse|anticon:1mx93m;z6uaad|Carousel|ant-carousel|anticon:1rz7wcs;z6uaad|Cascader|ant-cascader|anticon:e8gwep;z6uaad|Checkbox|ant-checkbox|anticon:16cn1kz;z6uaad|Checkbox|ant-checkbox-group|anticon:dmylcw;z6uaad|Grid|ant-col|anticon:1b4gqad;z6uaad|Comment|ant-comment|anticon:1bgsssj;z6uaad|DatePicker|ant-picker|anticon:m4frye;z6uaad|Descriptions|ant-descriptions|anticon:6r2ueu;z6uaad|Divider|ant-divider|anticon:p1u0jv;z6uaad|Dropdown|ant-dropdown|anticon:t4fvdt;z6uaad|Drawer|ant-drawer|anticon:yej9xm;z6uaad|Empty|ant-empty|anticon:xi52lg;z6uaad|FloatButton|ant-float-btn|anticon:ri8ruk;z6uaad|Tooltip|ant-tooltip|anticon:1d6z8n1;z6uaad|Form|ant-form|anticon:1tct32d;z6uaad|Grid|ant-row|anticon:xfnjxw;z6uaad|Input|ant-input|anticon:bybrgq;z6uaad|Image|ant-image|anticon:1bvp3xn;z6uaad|InputNumber|ant-input-number|anticon:jtkpcs;z6uaad|Layout|ant-layout|anticon:1idg3qk;z6uaad|List|ant-list|anticon:5p7k62;z6uaad|Spin|ant-spin|anticon:1g1ryjx;z6uaad|Menu|ant-menu|anticon:wo2qbe;z6uaad|Mentions|ant-mentions|anticon:cwasus;z6uaad|Modal|ant-modal|anticon:1pabgrn;z6uaad|Statistic|ant-statistic|anticon:q73svq;z6uaad|Skeleton|ant-skeleton|anticon:10w76qa;z6uaad|PageHeader|ant-page-header|anticon:1a4nm7u;z6uaad|Pagination|ant-pagination|anticon:13nh3ua;z6uaad|Popconfirm|ant-popconfirm|anticon:nmwlv6;z6uaad|Popover|ant-popover|anticon:hwmhax;z6uaad|Tooltip|ant-popover|anticon:17hb4y9;z6uaad|Progress|ant-progress|anticon:1svsnks;z6uaad|Rate|ant-rate|anticon:x3tu0l;z6uaad|Result|ant-result|anticon:9bvn6n;z6uaad|Slider|ant-slider|anticon:haw8s9;z6uaad|Space|ant-space|anticon:10yzkeb;z6uaad|Space|ant-space-compact|anticon:ac2k07;z6uaad|Steps|ant-steps|anticon:h0jjl7;z6uaad|Switch|ant-switch|anticon:18cao7h;z6uaad|Table|ant-table|anticon:pfy5id;z6uaad|Transfer|ant-transfer|anticon:1y4rk2;z6uaad|Tree|ant-tree|anticon:1hk4izj;z6uaad|TreeSelect|ant-tree-select|anticon:dk50w9;z6uaad|Tabs|ant-tabs|anticon:1m3gz2f;z6uaad|Tag|ant-tag|anticon:mtm9nh;z6uaad|Timeline|ant-timeline|anticon:171edtc;z6uaad|Typography|ant-typography|anticon:1gsekci;z6uaad|Upload|ant-upload|anticon:9gg6kc;z6uaad|Segmented|ant-segmented|anticon:zywlxk;z6uaad|QRCode|ant-qrcode|anticon:1aglmhf;z6uaad|App|ant-app|anticon:vhxvxu;z6uaad|Message|ant-message|anticon:175ruci;z6uaad|Notification|ant-notification|anticon:czzwwj\\";}"`;
================================================
FILE: components/_util/static-style-extract/__tests__/index.test.js
================================================
// import { StyleProvider } from '../../cssinjs';
import { extractStyle } from '../index';
import { ConfigProvider } from '../../../components';
import { theme } from '../../../index';
const testGreenColor = '#008000';
describe('Static-Style-Extract', () => {
it('should extract static styles', () => {
const cssText = extractStyle();
expect(cssText).not.toContain(testGreenColor);
expect(cssText).toMatchSnapshot();
});
it('should extract static styles with customTheme', () => {
const cssText = extractStyle(node => {
return (
{node}
);
});
expect(cssText).toContain(testGreenColor);
expect(cssText).toMatchSnapshot();
});
it('should extract static styles with customTheme and customStyle', () => {
const cssText = extractStyle(node => {
return (
{node}
);
});
expect(cssText).toContain('#037003');
expect(cssText).toMatchSnapshot();
});
// it('with custom hashPriority', () => {
// const cssText = extractStyle(
// (node) => (
//
//
// {node}
//
//
// ),
// );
// expect(cssText).toContain(testGreenColor);
// expect(cssText).not.toContain(':where');
// expect(cssText).toMatchSnapshot();
//
// const cssText2 = extractStyle((node) => (
//
// {node}
//
// ));
// expect(cssText2).toContain(':where');
// });
});
================================================
FILE: components/_util/static-style-extract/index.tsx
================================================
import { createCache, extractStyle as extStyle, StyleProvider } from '../cssinjs';
import * as antd from '../../components';
import { renderToString } from 'vue/server-renderer';
import type { CustomRender } from './interface';
const blackList: string[] = [
'ConfigProvider',
'Grid',
'Tour',
'SelectOptGroup',
'SelectOption',
'MentionsOption',
'TreeNode',
'TreeSelectNode',
'LocaleProvider',
];
const pickerMap = {
MonthPicker: 'month',
WeekPicker: 'week',
QuarterPicker: 'quarter',
};
const compChildNameMap = {
MenuDivider: 'Menu',
MenuItem: 'Menu',
MenuItemGroup: 'Menu',
SubMenu: 'Menu',
TableColumn: 'Table',
TableColumnGroup: 'Table',
TableSummary: 'Table',
TableSummaryRow: 'Table',
TableSummaryCell: 'Table',
TabPane: 'Tabs',
TimelineItem: 'Timeline',
};
const defaultNode = () => (
<>
{Object.keys(antd)
.filter(name => !blackList.includes(name) && name[0] === name[0].toUpperCase())
.map(compName => {
const Comp = antd[compName];
if (compName === 'Dropdown') {
return (
);
}
if (compName === 'Anchor') {
return ;
}
if (compName in pickerMap) {
const Comp = antd['DatePicker'];
const type = pickerMap[compName];
return ;
}
if (compName in compChildNameMap) {
const ParentComp = antd[compChildNameMap[compName]];
return (
);
}
if (compName === 'QRCode' || compName === 'Segmented') {
return (
);
}
return ;
})}
>
);
export function extractStyle(customTheme?: CustomRender): string {
const cache = createCache();
renderToString(
{customTheme ? customTheme(defaultNode()) : defaultNode()}
,
);
// Grab style from cache
const styleText = extStyle(cache, true);
return styleText;
}
================================================
FILE: components/_util/static-style-extract/interface.ts
================================================
import type { VueNode } from '../type';
export type CustomRender = (node: VueNode) => VueNode;
================================================
FILE: components/_util/statusUtils.tsx
================================================
import type { ValidateStatus } from '../form/FormItem';
import classNames from './classNames';
const InputStatuses = ['warning', 'error', ''] as const;
export type InputStatus = (typeof InputStatuses)[number];
export function getStatusClassNames(
prefixCls: string,
status?: ValidateStatus,
hasFeedback?: boolean,
) {
return classNames({
[`${prefixCls}-status-success`]: status === 'success',
[`${prefixCls}-status-warning`]: status === 'warning',
[`${prefixCls}-status-error`]: status === 'error',
[`${prefixCls}-status-validating`]: status === 'validating',
[`${prefixCls}-has-feedback`]: hasFeedback,
});
}
export const getMergedStatus = (contextStatus?: ValidateStatus, customStatus?: InputStatus) =>
customStatus || contextStatus;
================================================
FILE: components/_util/styleChecker.ts
================================================
import canUseDom from './canUseDom';
export const canUseDocElement = () => canUseDom() && window.document.documentElement;
const isStyleNameSupport = (styleName: string | string[]): boolean => {
if (canUseDom() && window.document.documentElement) {
const styleNameList = Array.isArray(styleName) ? styleName : [styleName];
const { documentElement } = window.document;
return styleNameList.some(name => name in documentElement.style);
}
return false;
};
const isStyleValueSupport = (styleName: string, value: any) => {
if (!isStyleNameSupport(styleName)) {
return false;
}
const ele = document.createElement('div');
const origin = ele.style[styleName];
ele.style[styleName] = value;
return ele.style[styleName] !== origin;
};
export function isStyleSupport(styleName: string | string[], styleValue?: any) {
if (!Array.isArray(styleName) && styleValue !== undefined) {
return isStyleValueSupport(styleName, styleValue);
}
return isStyleNameSupport(styleName);
}
let flexGapSupported: boolean | undefined;
export const detectFlexGapSupported = () => {
if (!canUseDocElement()) {
return false;
}
if (flexGapSupported !== undefined) {
return flexGapSupported;
}
// create flex container with row-gap set
const flex = document.createElement('div');
flex.style.display = 'flex';
flex.style.flexDirection = 'column';
flex.style.rowGap = '1px';
// create two, elements inside it
flex.appendChild(document.createElement('div'));
flex.appendChild(document.createElement('div'));
// append to the DOM (needed to obtain scrollHeight)
document.body.appendChild(flex);
flexGapSupported = flex.scrollHeight === 1; // flex container should be 1px high from the row-gap
document.body.removeChild(flex);
return flexGapSupported;
};
export default isStyleSupport;
================================================
FILE: components/_util/supportsPassive.js
================================================
// Test via a getter in the options object to see if the passive property is accessed
let supportsPassive = false;
try {
const opts = Object.defineProperty({}, 'passive', {
get() {
supportsPassive = true;
},
});
window.addEventListener('testPassive', null, opts);
window.removeEventListener('testPassive', null, opts);
} catch (e) {}
export default supportsPassive;
================================================
FILE: components/_util/throttleByAnimationFrame.ts
================================================
import raf from './raf';
type throttledFn = (...args: any[]) => void;
type throttledCancelFn = { cancel: () => void };
function throttleByAnimationFrame(fn: (...args: T) => void) {
let requestId: number | null;
const later = (args: T) => () => {
requestId = null;
fn(...args);
};
const throttled: throttledFn & throttledCancelFn = (...args: T) => {
if (requestId == null) {
requestId = raf(later(args));
}
};
throttled.cancel = () => {
raf.cancel(requestId!);
requestId = null;
};
return throttled;
}
export default throttleByAnimationFrame;
================================================
FILE: components/_util/toReactive.ts
================================================
import { isRef, reactive } from 'vue';
import type { Ref } from 'vue';
type MaybeRef = T | Ref;
/**
* Converts ref to reactive.
*
* @see https://vueuse.org/toReactive
* @param objectRef A ref of object
*/
export function toReactive(objectRef: MaybeRef): T {
if (!isRef(objectRef)) return reactive(objectRef) as T;
const proxy = new Proxy(
{},
{
get(_, p, receiver) {
return Reflect.get(objectRef.value, p, receiver);
},
set(_, p, value) {
(objectRef.value as any)[p] = value;
return true;
},
deleteProperty(_, p) {
return Reflect.deleteProperty(objectRef.value, p);
},
has(_, p) {
return Reflect.has(objectRef.value, p);
},
ownKeys() {
return Object.keys(objectRef.value);
},
getOwnPropertyDescriptor() {
return {
enumerable: true,
configurable: true,
};
},
},
);
return reactive(proxy) as T;
}
================================================
FILE: components/_util/transButton.tsx
================================================
import type { CSSProperties } from 'vue';
import { defineComponent, shallowRef, onMounted } from 'vue';
/**
* Wrap of sub component which need use as Button capacity (like Icon component).
* This helps accessibility reader to tread as a interactive button to operation.
*/
import KeyCode from './KeyCode';
const inlineStyle = {
border: 0,
background: 'transparent',
padding: 0,
lineHeight: 'inherit',
display: 'inline-block',
};
const TransButton = defineComponent({
compatConfig: { MODE: 3 },
name: 'TransButton',
inheritAttrs: false,
props: {
noStyle: { type: Boolean, default: undefined },
onClick: Function,
disabled: { type: Boolean, default: undefined },
autofocus: { type: Boolean, default: undefined },
},
setup(props, { slots, emit, attrs, expose }) {
const domRef = shallowRef();
const onKeyDown = (event: KeyboardEvent) => {
const { keyCode } = event;
if (keyCode === KeyCode.ENTER) {
event.preventDefault();
}
};
const onKeyUp = (event: KeyboardEvent) => {
const { keyCode } = event;
if (keyCode === KeyCode.ENTER) {
emit('click', event);
}
};
const onClick = (e: Event) => {
emit('click', e);
};
const focus = () => {
if (domRef.value) {
domRef.value.focus();
}
};
const blur = () => {
if (domRef.value) {
domRef.value.blur();
}
};
onMounted(() => {
if (props.autofocus) {
focus();
}
});
expose({
focus,
blur,
});
return () => {
const { noStyle, disabled, ...restProps } = props;
let mergedStyle: CSSProperties = {};
if (!noStyle) {
mergedStyle = {
...inlineStyle,
};
}
if (disabled) {
mergedStyle.pointerEvents = 'none';
}
return (
{slots.default?.()}
);
};
},
});
export default TransButton;
================================================
FILE: components/_util/transKeys.ts
================================================
export const groupKeysMap = (keys: string[]) => {
const map = new Map();
keys.forEach((key, index) => {
map.set(key, index);
});
return map;
};
export const groupDisabledKeysMap = (dataSource: RecordType) => {
const map = new Map();
dataSource.forEach(({ disabled, key }, index) => {
if (disabled) {
map.set(key, index);
}
});
return map;
};
================================================
FILE: components/_util/transition.tsx
================================================
import type {
BaseTransitionProps,
CSSProperties,
Ref,
TransitionGroupProps,
TransitionProps,
} from 'vue';
import { nextTick } from 'vue';
import { tuple } from './type';
const SelectPlacements = tuple('bottomLeft', 'bottomRight', 'topLeft', 'topRight');
export type SelectCommonPlacement = (typeof SelectPlacements)[number];
const getTransitionDirection = (placement: SelectCommonPlacement | undefined) => {
if (placement !== undefined && (placement === 'topLeft' || placement === 'topRight')) {
return `slide-down`;
}
return `slide-up`;
};
export const getTransitionProps = (transitionName: string, opt: TransitionProps = {}) => {
const transitionProps: TransitionProps = transitionName
? {
name: transitionName,
appear: true,
// type: 'animation',
// appearFromClass: `${transitionName}-appear ${transitionName}-appear-prepare`,
// appearActiveClass: `antdv-base-transtion`,
// appearToClass: `${transitionName}-appear ${transitionName}-appear-active`,
enterFromClass: `${transitionName}-enter ${transitionName}-enter-prepare ${transitionName}-enter-start`,
enterActiveClass: `${transitionName}-enter ${transitionName}-enter-prepare`,
enterToClass: `${transitionName}-enter ${transitionName}-enter-active`,
leaveFromClass: ` ${transitionName}-leave`,
leaveActiveClass: `${transitionName}-leave ${transitionName}-leave-active`,
leaveToClass: `${transitionName}-leave ${transitionName}-leave-active`,
...opt,
}
: { css: false, ...opt };
return transitionProps;
};
export const getTransitionGroupProps = (transitionName: string, opt: TransitionProps = {}) => {
const transitionProps: TransitionGroupProps = transitionName
? {
name: transitionName,
appear: true,
// appearFromClass: `${transitionName}-appear ${transitionName}-appear-prepare`,
appearActiveClass: `${transitionName}`,
appearToClass: `${transitionName}-appear ${transitionName}-appear-active`,
enterFromClass: `${transitionName}-appear ${transitionName}-enter ${transitionName}-appear-prepare ${transitionName}-enter-prepare`,
enterActiveClass: `${transitionName}`,
enterToClass: `${transitionName}-enter ${transitionName}-appear ${transitionName}-appear-active ${transitionName}-enter-active`,
leaveActiveClass: `${transitionName} ${transitionName}-leave`,
leaveToClass: `${transitionName}-leave-active`,
...opt,
}
: { css: false, ...opt };
return transitionProps;
};
export declare type MotionEvent = (TransitionEvent | AnimationEvent) & {
deadline?: boolean;
};
export declare type MotionEventHandler = (element: Element, done?: () => void) => CSSProperties;
export declare type MotionEndEventHandler = (element: Element, done?: () => void) => boolean | void;
// ================== Collapse Motion ==================
const getCollapsedHeight: MotionEventHandler = () => ({ height: 0, opacity: 0 });
const getRealHeight: MotionEventHandler = node => ({
height: `${node.scrollHeight}px`,
opacity: 1,
});
const getCurrentHeight: MotionEventHandler = (node: any) => ({ height: `${node.offsetHeight}px` });
// const skipOpacityTransition: MotionEndEventHandler = (_, event) =>
// (event as TransitionEvent).propertyName === 'height';
export interface CSSMotionProps extends Partial> {
name?: string;
css?: boolean;
}
const collapseMotion = (
name = 'ant-motion-collapse',
style: Ref,
className: Ref,
): CSSMotionProps => {
return {
name,
appear: true,
css: true,
onBeforeEnter: node => {
className.value = name;
style.value = getCollapsedHeight(node);
},
onEnter: node => {
nextTick(() => {
style.value = getRealHeight(node);
});
},
onAfterEnter: () => {
className.value = '';
style.value = {};
},
onBeforeLeave: node => {
className.value = name;
style.value = getCurrentHeight(node);
},
onLeave: node => {
setTimeout(() => {
style.value = getCollapsedHeight(node);
});
},
onAfterLeave: () => {
className.value = '';
style.value = {};
},
};
};
const getTransitionName = (rootPrefixCls: string, motion: string, transitionName?: string) => {
if (transitionName !== undefined) {
return transitionName;
}
return `${rootPrefixCls}-${motion}`;
};
export { collapseMotion, getTransitionName, getTransitionDirection };
================================================
FILE: components/_util/type.ts
================================================
// @ts-ignore
import type { App, PropType, Plugin, Ref, VNode, SlotsType } from 'vue';
// https://stackoverflow.com/questions/46176165/ways-to-get-string-literal-type-of-array-values-without-enum-overhead
export const tuple = (...args: T) => args;
export const tupleNum = (...args: T) => args;
/**
* https://stackoverflow.com/a/59187769
* Extract the type of an element of an array/tuple without performing indexing
*/
export type ElementOf = T extends (infer E)[] ? E : T extends readonly (infer F)[] ? F : never;
/**
* https://github.com/Microsoft/TypeScript/issues/29729
*/
export type LiteralUnion = T | (string & {});
export type Data = Record;
export type Key = string | number;
type DefaultFactory = (props: Data) => T | null | undefined;
export interface PropOptions {
type?: PropType | true | null;
required?: boolean;
default?: D | DefaultFactory | null | undefined | object;
validator?(value: unknown): boolean;
}
declare type VNodeChildAtom = VNode | string | number | boolean | null | undefined | void;
// eslint-disable-next-line no-undef
export type VueNode = VNodeChildAtom | VNodeChildAtom[] | VNode;
export const withInstall = (comp: T) => {
const c = comp as any;
c.install = function (app: App) {
app.component(c.displayName || c.name, comp);
};
return comp as T & Plugin;
};
export type MaybeRef = T | Ref;
export function eventType() {
return { type: [Function, Array] as PropType };
}
export function objectType(defaultVal?: T) {
return { type: Object as PropType, default: defaultVal as T };
}
export function booleanType(defaultVal?: boolean) {
return { type: Boolean, default: defaultVal as boolean };
}
export function functionType {}>(defaultVal?: T) {
return { type: Function as PropType, default: defaultVal as T };
}
export function anyType(defaultVal?: T, required?: boolean) {
const type = { validator: () => true, default: defaultVal as T } as unknown;
return required
? (type as {
type: PropType