├── 部分百度验证图
├── md.md
├── 05d3d4f4963148be13a44e24abbcbb87.png
├── 07a4e46602346b1cfa1e56224ce9e83f.png
├── 0b0fb659bb8b8272379dad240f199657.png
├── 0b3dd15ba8cb1f4a7ea065379167c021.png
├── 110fa55bd38a1e0103e9c4cc1b174322.png
├── 1b2da3ed30ea54b81bf100f34951b013.png
├── 21359826f2bf6648d37be4eed2238177.png
├── 2286ddc532e24762b613fb6090ec5b60.png
├── 2b43384566dec2bee5f1747f5fe7ef89.png
├── 35371ed2babc0f02c9830aad37ee2865.png
├── 354cb4121ad23c4086b150a98ff47a2a.png
├── 53048fe726648285c0a05ed6d20cb6f2.png
├── 760c69f5274f1b4fbc982509ff8cf92c.png
├── 85d3ac135788321d34e4a2f9008976a8.png
├── a3e3d08600c2e40468dfe91488094ed1.png
├── a941e0c95374bc32d1c7d36e2aeb55d7.png
├── ae600cfc52dc2f2312fd49c3877d3268.png
├── b00ddac747018a02daecb742ca121163.png
├── b72bfd43b7a60cc2493fe7710165ac11.png
├── d9f44b061c50d2796a79bd054e144ca0.png
├── e119ede31c44a6abbf9fe537bfeaf27b.png
└── ff34d534ef86076ced29225d7a60387d.png
├── 破解角度资料(留底).md
├── 2.ttf
├── demo
├── yzpic.png
├── pic.php
├── index.html
└── md.css
├── extend
└── Yzt
│ ├── 2.ttf
│ └── Yzt.php
├── python
├── yz.py
└── xuanzhuan360.py
├── README.md
├── yzm.html
├── Yzt.php
├── LICENSE
└── md.css
/部分百度验证图/md.md:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/破解角度资料(留底).md:
--------------------------------------------------------------------------------
1 | 打的
2 |
--------------------------------------------------------------------------------
/2.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/2.ttf
--------------------------------------------------------------------------------
/demo/yzpic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/demo/yzpic.png
--------------------------------------------------------------------------------
/extend/Yzt/2.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/extend/Yzt/2.ttf
--------------------------------------------------------------------------------
/部分百度验证图/05d3d4f4963148be13a44e24abbcbb87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/05d3d4f4963148be13a44e24abbcbb87.png
--------------------------------------------------------------------------------
/部分百度验证图/07a4e46602346b1cfa1e56224ce9e83f.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/07a4e46602346b1cfa1e56224ce9e83f.png
--------------------------------------------------------------------------------
/部分百度验证图/0b0fb659bb8b8272379dad240f199657.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/0b0fb659bb8b8272379dad240f199657.png
--------------------------------------------------------------------------------
/部分百度验证图/0b3dd15ba8cb1f4a7ea065379167c021.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/0b3dd15ba8cb1f4a7ea065379167c021.png
--------------------------------------------------------------------------------
/部分百度验证图/110fa55bd38a1e0103e9c4cc1b174322.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/110fa55bd38a1e0103e9c4cc1b174322.png
--------------------------------------------------------------------------------
/部分百度验证图/1b2da3ed30ea54b81bf100f34951b013.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/1b2da3ed30ea54b81bf100f34951b013.png
--------------------------------------------------------------------------------
/部分百度验证图/21359826f2bf6648d37be4eed2238177.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/21359826f2bf6648d37be4eed2238177.png
--------------------------------------------------------------------------------
/部分百度验证图/2286ddc532e24762b613fb6090ec5b60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/2286ddc532e24762b613fb6090ec5b60.png
--------------------------------------------------------------------------------
/部分百度验证图/2b43384566dec2bee5f1747f5fe7ef89.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/2b43384566dec2bee5f1747f5fe7ef89.png
--------------------------------------------------------------------------------
/部分百度验证图/35371ed2babc0f02c9830aad37ee2865.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/35371ed2babc0f02c9830aad37ee2865.png
--------------------------------------------------------------------------------
/部分百度验证图/354cb4121ad23c4086b150a98ff47a2a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/354cb4121ad23c4086b150a98ff47a2a.png
--------------------------------------------------------------------------------
/部分百度验证图/53048fe726648285c0a05ed6d20cb6f2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/53048fe726648285c0a05ed6d20cb6f2.png
--------------------------------------------------------------------------------
/部分百度验证图/760c69f5274f1b4fbc982509ff8cf92c.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/760c69f5274f1b4fbc982509ff8cf92c.png
--------------------------------------------------------------------------------
/部分百度验证图/85d3ac135788321d34e4a2f9008976a8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/85d3ac135788321d34e4a2f9008976a8.png
--------------------------------------------------------------------------------
/部分百度验证图/a3e3d08600c2e40468dfe91488094ed1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/a3e3d08600c2e40468dfe91488094ed1.png
--------------------------------------------------------------------------------
/部分百度验证图/a941e0c95374bc32d1c7d36e2aeb55d7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/a941e0c95374bc32d1c7d36e2aeb55d7.png
--------------------------------------------------------------------------------
/部分百度验证图/ae600cfc52dc2f2312fd49c3877d3268.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/ae600cfc52dc2f2312fd49c3877d3268.png
--------------------------------------------------------------------------------
/部分百度验证图/b00ddac747018a02daecb742ca121163.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/b00ddac747018a02daecb742ca121163.png
--------------------------------------------------------------------------------
/部分百度验证图/b72bfd43b7a60cc2493fe7710165ac11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/b72bfd43b7a60cc2493fe7710165ac11.png
--------------------------------------------------------------------------------
/部分百度验证图/d9f44b061c50d2796a79bd054e144ca0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/d9f44b061c50d2796a79bd054e144ca0.png
--------------------------------------------------------------------------------
/部分百度验证图/e119ede31c44a6abbf9fe537bfeaf27b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/e119ede31c44a6abbf9fe537bfeaf27b.png
--------------------------------------------------------------------------------
/部分百度验证图/ff34d534ef86076ced29225d7a60387d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/l8235129572/xuanzhaunyanz/HEAD/部分百度验证图/ff34d534ef86076ced29225d7a60387d.png
--------------------------------------------------------------------------------
/demo/pic.php:
--------------------------------------------------------------------------------
1 | move('static/upload/');
6 | //return $info;
7 | //die();
8 | header("Content-type: image/png;text/html; charset=utf-8");
9 |
10 | imagepng($Yzt->changeCircularImg());
11 | die();
12 |
--------------------------------------------------------------------------------
/python/yz.py:
--------------------------------------------------------------------------------
1 | import cv2
2 | import numpy as np
3 |
4 | img = cv2.imread('img/2/2.png')
5 | rows,cols = img.shape[0:2]
6 | # cols-1 and rows-1 are the coordinate limits.
7 | M = cv2.getRotationMatrix2D(((cols-1)/2.0,(rows-1)/2.0),0,1)
8 | dst = cv2.warpAffine(img,M,(cols,rows))
9 | # 将图片高和宽分别赋值给x,y
10 | x, y = dst.shape[0:2]
11 | # 缩放到原来的二分之一,输出尺寸格式为(宽,高)
12 | img_test1 = cv2.resize(dst, (8, 8))
13 | #转换成灰度图
14 | im_gray=cv2.cvtColor(img_test1,cv2.COLOR_BGR2GRAY)
15 | #使用自适应阈值进行二值化处理,其他二值化方法可查询API使用
16 | im_at_mean = cv2.adaptiveThreshold(im_gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C , cv2.THRESH_BINARY, 5,10) #使用自适应阈值进行二值化处理,其他二值化方法可查询API使用
17 | img4 = cv2.cvtColor(im_at_mean, cv2.COLOR_BGR2RGB)
18 | str1=''
19 | for i in range(8):
20 | for o in range(8):
21 | r, g, b = img4[i][o]
22 | if(r==0):
23 | str1= str1 + str(0)
24 | else:
25 | str1= str1 + str(1)
26 | with open("test1.txt","a") as f:
27 | f.write(str1 +"\n") #这句话自带文件关闭功能,不需要再写f.close()
28 |
29 |
30 |
31 |
32 | #cv2.imshow('img',img)
33 | #cv2.imshow('dst',im_at_mean)
34 | #cv2.waitKey(0)
35 |
--------------------------------------------------------------------------------
/python/xuanzhuan360.py:
--------------------------------------------------------------------------------
1 | import cv2
2 | import numpy as np
3 |
4 | img = cv2.imread('img/2/1.png')
5 | rows,cols = img.shape[0:2]
6 | for b in range(360):
7 | # cols-1 and rows-1 are the coordinate limits.
8 | M = cv2.getRotationMatrix2D(((cols-1)/2.0,(rows-1)/2.0),b,1)
9 | dst = cv2.warpAffine(img,M,(cols,rows))
10 | # 将图片高和宽分别赋值给x,y
11 | x, y = dst.shape[0:2]
12 | # 缩放到原来的二分之一,输出尺寸格式为(宽,高)
13 | img_test1 = cv2.resize(dst, (8, 8))
14 | #转换成灰度图
15 | im_gray=cv2.cvtColor(img_test1,cv2.COLOR_BGR2GRAY)
16 | #使用自适应阈值进行二值化处理,其他二值化方法可查询API使用
17 | im_at_mean = cv2.adaptiveThreshold(im_gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C , cv2.THRESH_BINARY, 5,10) #使用自适应阈值进行二值化处理,其他二值化方法可查询API使用
18 | img4 = cv2.cvtColor(im_at_mean, cv2.COLOR_BGR2RGB)
19 | str1=''
20 | for i in range(8):
21 | for o in range(8):
22 | r, g, b = img4[i][o]
23 | if(r==0):
24 | str1= str1 + str(0)
25 | else:
26 | str1= str1 + str(1)
27 | with open("test1.txt","a") as f:
28 | f.write(str1 +"\n") #这句话自带文件关闭功能,不需要再写f.close()
29 |
30 |
31 |
32 |
33 | #cv2.imshow('img',img)
34 | #cv2.imshow('dst',im_at_mean)
35 | #cv2.waitKey(0)
36 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # xuanzhaunyanz
2 | 拖动滑块旋转图片,完整人机验证。仿百度旋转验证码,拷贝百度验证码html部分。其本身存在严重bug,需要超大图库才能防止破解,人工智能破解图像旋转角度。
3 | 单张图片或许能计算出旋转角度。(图像识别技术本人不会……)
4 | PHP 实现无损 裁剪缩放 旋转图片,350*350 黑色背景图片。
5 | https://github.com/scupte/xuanzhaunyanz
6 | 
7 | ##### 领券加社区 http://www.chayouh.com/
8 | ##### 后续思路 https://www.kailigw.com/post/13862.html 数据库查汉明距找角度
9 | # 验证图片设置成背景,防盗链,没提升获取难度
10 |
11 | ## 使用 [*精易Web*浏览器支持库](https://bbs.125.la/thread-14410959-1-1.html)即可
12 | 获取背景图(验证图片)。使用图像识别技术获取旋转角度,在利用精易Web*浏览器完成滑动验证。
13 | 还有其他方法不再叙述。…………
14 | # 经过python 破解角度实验完全成功
15 | ## 测量角度的底图 旋转360度取数据
16 | https://github.com/scupte/xuanzhaunyanz/blob/master/python/xuanzhuan360.py
17 | ## 验证
18 | https://github.com/scupte/xuanzhaunyanz/blob/master/python/yz.py
19 | ## 测试图片
20 | 
21 | 
22 | # 破解方法说明
23 | https://bbs.125.la/forum.php?mod=viewthread&tid=14469311&extra=
24 | # 例子
25 | https://scupte.github.io/xuanzhaunyanz/demo/index.html
26 | # thinkphp5.x 调用
27 | [Yzt.php](https://github.com/scupte/xuanzhaunyanz/blob/master/Yzt.php "Yzt.php") 文件和 [2.ttf](https://github.com/scupte/xuanzhaunyanz/blob/master/2.ttf "2.ttf")
28 | 放在extend/Yzt 目录下。
29 | ```php
30 | move('static/upload/');
40 | //return $info;
41 | //die();
42 | header("Content-type: image/png;text/html; charset=utf-8");
43 | $tot = rand(20, 300);
44 | imagepng($Yzt->changeCircularImg());
45 | die();
46 |
47 | }
48 | }
49 | ```
50 | #方便机器识别,给图片添加文字
51 | ```php
52 | $Yzt = new \Yzt\Yzt('https://api.uomg.com/api/rand.img1', true, true, rand(20, 270));
53 | ```
54 | ##python cv2 识别粗略代码
55 | ### 第一步 1.py
56 | ```python
57 | #!/usr/bin/env python
58 | # -*- coding: utf-8 -*-
59 | import cv2
60 | import numpy as np
61 | from PIL import Image
62 | fengmian = './pic.png'
63 | img = cv2.imread('pic.jpg')
64 | img3 = cv2.imread(fengmian)
65 | img4 = cv2.cvtColor(img3, cv2.COLOR_BGR2RGB) # cv2默认为bgr顺序
66 | h, w, _ = img3.shape # 返回height,width,以及通道数,不用所以省略掉
67 |
68 | jihe = []
69 | for i in range(350):
70 | for o in range(350):
71 | r, g, b = img4[i][o]
72 | if(r == 88 and g == 170 and b == 104):
73 | jihe.append([i+1, o+1])
74 | b = 0
75 | g = 0
76 | r = 0
77 | else:
78 | b = 255
79 | g = 255
80 | r = 255
81 | img[i, o] = [b, g, r]
82 | cv2.imwrite('9_1.png', img)
83 | cv2.namedWindow("image") # 创建窗口并显示的是图像类型
84 | cv2.imshow("image", img)
85 | cv2.waitKey(0)
86 | cv2.destroyAllWindows() # 释放窗口
87 |
88 | ```
89 | ###第二步 2.py
90 | ```python
91 | # -*- coding: utf-8 -*-
92 | import cv2
93 | import numpy as np
94 |
95 | imagepath = '9_1.png'
96 | img = cv2.imread(imagepath)
97 | gray = cv2.cvtColor ( img , cv2.COLOR_BGR2GRAY )
98 | ret, binary = cv2.threshold(gray,127,255,cv2.THRESH_BINARY)
99 |
100 | contours, hierarchy = cv2.findContours(binary,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
101 | #cv2.drawContours(img,contours,-1,(0,0,255),1)
102 | for cnt in contours:
103 |
104 | # 最小外界矩形的宽度和高度
105 | width, height = cv2.minAreaRect(cnt)[1]
106 |
107 | if width* height > 100:
108 | # 最小的外接矩形
109 | rect = cv2.minAreaRect(cnt)
110 | box = cv2.boxPoints(rect) # 获取最小外接矩形的4个顶点
111 |
112 | box = np.int0(box)
113 | print box
114 |
115 | if 0 not in box.ravel():
116 |
117 | #绘制最小外界矩形
118 | for i in range(4):
119 | cv2.line(img, tuple(box[i]), tuple(box[(i+1)%4]), 0) # 5
120 | theta = cv2.minAreaRect(cnt)[2]
121 | if abs(theta) <= 45:
122 | print('图片的旋转角度为%s.'%theta)
123 |
124 |
125 | # angle = theta
126 | print theta
127 | cv2.imshow("img", img)
128 | cv2.waitKey(0)
129 | ```
130 |
--------------------------------------------------------------------------------
/demo/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 滑块旋转图片角度验证码
7 |
11 |
12 |
13 |
14 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 | 身份验证
30 |
31 |
32 | 拖动滑块,使图片角度为正
33 |
34 |
43 |
55 |
58 |
59 | 重置
60 |
61 |
62 | 刷新
63 |
64 |
65 |
66 |
67 |
68 |
69 |
163 |
164 |
165 |
--------------------------------------------------------------------------------
/yzm.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 滑块旋转图片角度验证码
6 |
10 |
11 |
12 |
13 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 | 身份验证
29 |
30 |
31 | 拖动滑块,使图片角度为正
32 |
33 |
42 |
54 |
57 |
58 | 重置
59 |
60 |
61 | 刷新
62 |
63 |
64 |
65 |
66 |
67 |
68 |
162 |
163 |
164 |
--------------------------------------------------------------------------------
/Yzt.php:
--------------------------------------------------------------------------------
1 | pic = $pic;
67 | $this->str = $str;
68 | $this->tot = $tot;
69 | $this->coordinate = $coordinate;
70 | }
71 |
72 | /**
73 | * @param string $imgpath 要处理的图片路径
74 | * @return 图片数据
75 | */
76 | public function changeCircularImg()
77 | {
78 | $this->pics = imagecreatefromjpeg($this->pic);
79 | //$tot = rand(20, 300);
80 | //$src_img = null;
81 | //$src_img =$this->filename;
82 | $w = imagesx($this->pics);
83 | $h = imagesy($this->pics);
84 | $img = imagecreatetruecolor($w, $h);
85 | $src_img = $this->pic($w, $h);
86 | return $src_img;
87 |
88 | }
89 | /**
90 | * 保存文件
91 | * @access public
92 | * @param string $path 保存路径
93 | * @param string|bool $savename 保存的文件名 默认自动生成
94 | * @param boolean $replace 同名文件是否覆盖
95 | * @param bool $autoAppendExt 自动补充扩展名
96 | * @return false|File false-失败 否则返回File实例
97 | */
98 | public function move($path, $savename = true, $replace = true, $autoAppendExt = true)
99 | {
100 | $path = rtrim($path, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
101 | // 文件保存命名规则
102 | $saveName = $this->buildSaveName($savename, $autoAppendExt);
103 | $filename = $path . $saveName;
104 |
105 | // 检测目录
106 | if (false === $this->checkPath(dirname($filename))) {
107 | return false;
108 | }
109 |
110 | /* 移动文件 */
111 | if (!imagepng($this->changeCircularImg($this->$tot), $filename)) {
112 | $this->error = 'upload write error';
113 | return false;
114 | }
115 |
116 | // 返回 File对象实例
117 | // $file = new self($filename);
118 | //$file->setSaveName($saveName);
119 | //$file->setUploadInfo($this->info);
120 |
121 | return $saveName;
122 | }
123 | public function getname()
124 | {
125 | return $this->buildSaveName(true);
126 | }
127 | /**
128 | * 获取保存文件名
129 | * @access protected
130 | * @param string|bool $savename 保存的文件名 默认自动生成
131 | * @param bool $autoAppendExt 自动补充扩展名
132 | * @return string
133 | */
134 | protected function buildSaveName($savename, $autoAppendExt = true)
135 | {
136 | if (true === $savename) {
137 | // 自动生成文件名
138 | $savename = $this->autoBuildName();
139 | }
140 | if ($autoAppendExt && false === strpos($savename, '.')) {
141 | $savename .= '.png';
142 | }
143 |
144 | return $savename;
145 | }
146 |
147 | /**
148 | * 自动生成文件名
149 | * @access protected
150 | * @return string
151 | */
152 | protected function autoBuildName()
153 | {
154 | if ($this->rule instanceof \Closure) {
155 | $savename = call_user_func_array($this->rule, [$this]);
156 | } else {
157 | switch ($this->rule) {
158 | case 'date':
159 | $savename = date('Ymd') . DIRECTORY_SEPARATOR . md5(microtime(true));
160 | break;
161 | default:
162 | if (in_array($this->rule, hash_algos())) {
163 | $hash = $this->hash($this->rule);
164 | $savename = substr($hash, 0, 2) . DIRECTORY_SEPARATOR . substr($hash, 2);
165 | } elseif (is_callable($this->rule)) {
166 | $savename = call_user_func($this->rule);
167 | } else {
168 | $savename = date('Ymd') . DIRECTORY_SEPARATOR . md5(microtime(true));
169 | }
170 | }
171 | }
172 |
173 | return $savename;
174 | }
175 | /**
176 | * 获取文件名
177 | * @access public
178 | * @param string $type
179 | * @return string
180 | */
181 | public function hash()
182 | {
183 | $this->hash[$type] = md5(rand() . uniqid() . time());
184 |
185 | return $this->hash[$type];
186 | }
187 | /**
188 | * 检查目录是否可写
189 | * @access protected
190 | * @param string $path 目录
191 | * @return boolean
192 | */
193 | protected function checkPath($path)
194 | {
195 | if (is_dir($path)) {
196 | return true;
197 | }
198 |
199 | if (mkdir($path, 0755, true)) {
200 | return true;
201 | }
202 |
203 | $this->error = ['directory {:path} creation failed', ['path' => $path]];
204 | return false;
205 | }
206 | /**
207 | * 检查目录是否可写
208 | * @access protected
209 | * @param string $tot 旋转角度
210 | * @return boolean
211 | */
212 | private function pic($src_w, $src_h)
213 | {
214 | // list($src_w, $src_h) = getimagesize($src_img); // 获取原图尺寸
215 | $dst_w = 350;
216 | $dst_h = 350;
217 | $dst_scale = $dst_h / $dst_w; //目标图像长宽比
218 | $src_scale = $src_h / $src_w; // 原图长宽比
219 |
220 | if ($src_scale >= $dst_scale) { // 过高
221 | $w = intval($src_w);
222 | $h = $w;
223 |
224 | $x = 0;
225 | $y = ($src_h - $h) / 2;
226 | } else { // 过宽
227 | $h = intval($src_h);
228 | $w = $h;
229 |
230 | $x = ($src_w - $w) / 2;
231 | $y = 0;
232 | }
233 |
234 | // 剪裁
235 | // $source = imagecreatefromjpeg($src_img);
236 | $croped = imagecreatetruecolor($w, $h);
237 | imagecopy($croped, $this->pics, 0, 0, $x, $y, $src_w, $src_h);
238 | //$img1 = imagerotate($croped, 77, imagecolorallocatealpha($croped, 0, 0, 0, 127));
239 | //这一句一定要有
240 | imagesavealpha($croped, true);
241 | //拾取一个完全透明的颜色,最后一个参数127为全透明
242 | $bg = imagecolorallocatealpha($croped, 0, 0, 0, 127);
243 | imagefill($croped, 0, 0, $bg);
244 | $r = $w / 2; //圆半径
245 | $y_x = $r; //圆心X坐标
246 | $y_y = $r; //圆心Y坐标
247 | $w = imagesx($croped);
248 | $h = imagesy($croped);
249 |
250 | $img = imagecreatetruecolor($w, $h);
251 | for ($x = 0; $x < $w; $x++) {
252 | for ($y = 0; $y < $h; $y++) {
253 | $rgbColor = imagecolorat($croped, $x, $y);
254 | if (((($x - $r) * ($x - $r) + ($y - $r) * ($y - $r)) < ($r * $r))) {
255 | imagesetpixel($img, $x, $y, $rgbColor);
256 | }
257 | }
258 | }
259 |
260 | $img1 = imagerotate($img, $this->tot, imagecolorallocatealpha($img, 0, 0, 0, 127));
261 | $w1 = imagesx($img1);
262 | $h1 = imagesy($img1);
263 | $x = intval(($w1 - $w) / 2);
264 | $y = intval(($h1 - $h) / 2);
265 | imagecopy($img, $img1, 0, 0, $x, $y, $w1, $h1);
266 | // 缩放
267 | $scale = $dst_w / $w;
268 | $target = imagecreatetruecolor($dst_w, $dst_h);
269 | $final_w = intval($w * $scale);
270 | $final_h = intval($h * $scale);
271 | imagecopyresampled($target, $img, 0, 0, 0, 0, $final_w, $final_h, $w, $h);
272 | if ($this->str) {
273 | $black = imagecolorallocate($target, 88, 170, 104); //设置一个颜色变量为黑色
274 | $ttfPath = __DIR__ . '/2.ttf';
275 | $str = $this->getRandomString(1);
276 | imagettftext($target, 160, $this->tot, 140, 190, $black, $ttfPath, $str);
277 | }
278 | if ($this->coordinate) {
279 | $black1 = imagecolorallocate($target, 167, 100, 174); //设置一个颜色变量为黑色
280 | $ttfPath1 = __DIR__ . '/2.ttf';
281 | imagettftext($target, 30, 0, 100, 100, $black1, $ttfPath1, $this->tot);
282 | }
283 | imagedestroy($croped);
284 | imagedestroy($img);
285 | imagedestroy($img1);
286 | imagedestroy($this->pics);
287 | return $target;
288 | }
289 |
290 | /**
291 | * 随机字母数字
292 | */
293 | private function getRandomString($len, $chars = null)
294 | {
295 | if (is_null($chars)) {
296 | $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
297 | }
298 | mt_srand(10000000 * (double) microtime());
299 | for ($i = 0, $str = '', $lc = strlen($chars) - 1; $i < $len; $i++) {
300 | $str .= $chars[mt_rand(0, $lc)];
301 | }
302 | return $str;
303 | }
304 | }
305 |
--------------------------------------------------------------------------------
/extend/Yzt/Yzt.php:
--------------------------------------------------------------------------------
1 | pic = $pic;
67 | $this->str = $str;
68 | $this->tot = $tot;
69 | $this->coordinate = $coordinate;
70 | }
71 |
72 | /**
73 | * @param string $imgpath 要处理的图片路径
74 | * @return 图片数据
75 | */
76 | public function changeCircularImg()
77 | {
78 | $this->pics = imagecreatefromjpeg($this->pic);
79 | //$tot = rand(20, 300);
80 | //$src_img = null;
81 | //$src_img =$this->filename;
82 | $w = imagesx($this->pics);
83 | $h = imagesy($this->pics);
84 | $img = imagecreatetruecolor($w, $h);
85 | $src_img = $this->pic($w, $h);
86 | return $src_img;
87 |
88 | }
89 | /**
90 | * 保存文件
91 | * @access public
92 | * @param string $path 保存路径
93 | * @param string|bool $savename 保存的文件名 默认自动生成
94 | * @param boolean $replace 同名文件是否覆盖
95 | * @param bool $autoAppendExt 自动补充扩展名
96 | * @return false|File false-失败 否则返回File实例
97 | */
98 | public function move($path, $savename = true, $replace = true, $autoAppendExt = true)
99 | {
100 | $path = rtrim($path, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
101 | // 文件保存命名规则
102 | $saveName = $this->buildSaveName($savename, $autoAppendExt);
103 | $filename = $path . $saveName;
104 |
105 | // 检测目录
106 | if (false === $this->checkPath(dirname($filename))) {
107 | return false;
108 | }
109 |
110 | /* 移动文件 */
111 | if (!imagepng($this->changeCircularImg($this->$tot), $filename)) {
112 | $this->error = 'upload write error';
113 | return false;
114 | }
115 |
116 | // 返回 File对象实例
117 | // $file = new self($filename);
118 | //$file->setSaveName($saveName);
119 | //$file->setUploadInfo($this->info);
120 |
121 | return $saveName;
122 | }
123 | public function getname()
124 | {
125 | return $this->buildSaveName(true);
126 | }
127 | /**
128 | * 获取保存文件名
129 | * @access protected
130 | * @param string|bool $savename 保存的文件名 默认自动生成
131 | * @param bool $autoAppendExt 自动补充扩展名
132 | * @return string
133 | */
134 | protected function buildSaveName($savename, $autoAppendExt = true)
135 | {
136 | if (true === $savename) {
137 | // 自动生成文件名
138 | $savename = $this->autoBuildName();
139 | }
140 | if ($autoAppendExt && false === strpos($savename, '.')) {
141 | $savename .= '.png';
142 | }
143 |
144 | return $savename;
145 | }
146 |
147 | /**
148 | * 自动生成文件名
149 | * @access protected
150 | * @return string
151 | */
152 | protected function autoBuildName()
153 | {
154 | if ($this->rule instanceof \Closure) {
155 | $savename = call_user_func_array($this->rule, [$this]);
156 | } else {
157 | switch ($this->rule) {
158 | case 'date':
159 | $savename = date('Ymd') . DIRECTORY_SEPARATOR . md5(microtime(true));
160 | break;
161 | default:
162 | if (in_array($this->rule, hash_algos())) {
163 | $hash = $this->hash($this->rule);
164 | $savename = substr($hash, 0, 2) . DIRECTORY_SEPARATOR . substr($hash, 2);
165 | } elseif (is_callable($this->rule)) {
166 | $savename = call_user_func($this->rule);
167 | } else {
168 | $savename = date('Ymd') . DIRECTORY_SEPARATOR . md5(microtime(true));
169 | }
170 | }
171 | }
172 |
173 | return $savename;
174 | }
175 | /**
176 | * 获取文件名
177 | * @access public
178 | * @param string $type
179 | * @return string
180 | */
181 | public function hash()
182 | {
183 | $this->hash[$type] = md5(rand() . uniqid() . time());
184 |
185 | return $this->hash[$type];
186 | }
187 | /**
188 | * 检查目录是否可写
189 | * @access protected
190 | * @param string $path 目录
191 | * @return boolean
192 | */
193 | protected function checkPath($path)
194 | {
195 | if (is_dir($path)) {
196 | return true;
197 | }
198 |
199 | if (mkdir($path, 0755, true)) {
200 | return true;
201 | }
202 |
203 | $this->error = ['directory {:path} creation failed', ['path' => $path]];
204 | return false;
205 | }
206 | /**
207 | * 检查目录是否可写
208 | * @access protected
209 | * @param string $tot 旋转角度
210 | * @return boolean
211 | */
212 | private function pic($src_w, $src_h)
213 | {
214 | // list($src_w, $src_h) = getimagesize($src_img); // 获取原图尺寸
215 | $dst_w = 350;
216 | $dst_h = 350;
217 | $dst_scale = $dst_h / $dst_w; //目标图像长宽比
218 | $src_scale = $src_h / $src_w; // 原图长宽比
219 |
220 | if ($src_scale >= $dst_scale) { // 过高
221 | $w = intval($src_w);
222 | $h = $w;
223 |
224 | $x = 0;
225 | $y = ($src_h - $h) / 2;
226 | } else { // 过宽
227 | $h = intval($src_h);
228 | $w = $h;
229 |
230 | $x = ($src_w - $w) / 2;
231 | $y = 0;
232 | }
233 |
234 | // 剪裁
235 | // $source = imagecreatefromjpeg($src_img);
236 | $croped = imagecreatetruecolor($w, $h);
237 | imagecopy($croped, $this->pics, 0, 0, $x, $y, $src_w, $src_h);
238 | //$img1 = imagerotate($croped, 77, imagecolorallocatealpha($croped, 0, 0, 0, 127));
239 | //这一句一定要有
240 | imagesavealpha($croped, true);
241 | //拾取一个完全透明的颜色,最后一个参数127为全透明
242 | $bg = imagecolorallocatealpha($croped, 0, 0, 0, 127);
243 | imagefill($croped, 0, 0, $bg);
244 | $r = $w / 2; //圆半径
245 | $y_x = $r; //圆心X坐标
246 | $y_y = $r; //圆心Y坐标
247 | $w = imagesx($croped);
248 | $h = imagesy($croped);
249 |
250 | $img = imagecreatetruecolor($w, $h);
251 | for ($x = 0; $x < $w; $x++) {
252 | for ($y = 0; $y < $h; $y++) {
253 | $rgbColor = imagecolorat($croped, $x, $y);
254 | if (((($x - $r) * ($x - $r) + ($y - $r) * ($y - $r)) < ($r * $r))) {
255 | imagesetpixel($img, $x, $y, $rgbColor);
256 | }
257 | }
258 | }
259 |
260 | $img1 = imagerotate($img, $this->tot, imagecolorallocatealpha($img, 0, 0, 0, 127));
261 | $w1 = imagesx($img1);
262 | $h1 = imagesy($img1);
263 | $x = intval(($w1 - $w) / 2);
264 | $y = intval(($h1 - $h) / 2);
265 | imagecopy($img, $img1, 0, 0, $x, $y, $w1, $h1);
266 | // 缩放
267 | $scale = $dst_w / $w;
268 | $target = imagecreatetruecolor($dst_w, $dst_h);
269 | $final_w = intval($w * $scale);
270 | $final_h = intval($h * $scale);
271 | imagecopyresampled($target, $img, 0, 0, 0, 0, $final_w, $final_h, $w, $h);
272 | if ($this->str) {
273 | $black = imagecolorallocate($target, 88, 170, 104); //设置一个颜色变量为黑色
274 | $ttfPath = __DIR__ . '/2.ttf';
275 | $str = $this->getRandomString(1);
276 | imagettftext($target, 160, $this->tot, 140, 190, $black, $ttfPath, $str);
277 | }
278 | if ($this->coordinate) {
279 | $black1 = imagecolorallocate($target, 167, 100, 174); //设置一个颜色变量为黑色
280 | $ttfPath1 = __DIR__ . '/2.ttf';
281 | imagettftext($target, 30, 0, 100, 100, $black1, $ttfPath1, $this->tot);
282 | }
283 | imagedestroy($croped);
284 | imagedestroy($img);
285 | imagedestroy($img1);
286 | imagedestroy($this->pics);
287 | return $target;
288 | }
289 |
290 | /**
291 | * 随机字母数字
292 | */
293 | private function getRandomString($len, $chars = null)
294 | {
295 | if (is_null($chars)) {
296 | $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
297 | }
298 | mt_srand(10000000 * (double) microtime());
299 | for ($i = 0, $str = '', $lc = strlen($chars) - 1; $i < $len; $i++) {
300 | $str .= $chars[mt_rand(0, $lc)];
301 | }
302 | return $str;
303 | }
304 | }
305 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "[]"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright [yyyy] [name of copyright owner]
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/md.css:
--------------------------------------------------------------------------------
1 | .vcode-mask {
2 | position: fixed;
3 | z-index: 60002;
4 | top: 0;
5 | left: 0;
6 | width: 100%;
7 | height: 100%;
8 | opacity: 0.7;
9 | background: #000;
10 | }
11 | .vcode-body {
12 | width: 305px;
13 | position: fixed;
14 | left: 50%;
15 | top: 50%;
16 | margin-left: -152.5px;
17 | margin-top: -173.5px;
18 | z-index: 60003;
19 | overflow-y: auto;
20 | -webkit-border-radius: 13px;
21 | -webkit-transform-style: preserve-3d;
22 | }
23 | .hide {
24 | display: none;
25 | }
26 | .vcode-close {
27 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAAAhpJREFUSA2tlz1PAjEYx70iTMSB2dVZR2dNiKwm4gCLIbwsfh9yiTEmkChxcEMTV/gAfgA/AgtMvoD//9mS3kHvrqVP0ru+PH1+d+3Tp20QhmFtuVyGe5AgCG673e4L875kMBgcLBaL+9VqVYX9caVSadbr9S9BKCoPZXru9/vXPqHz+fwNti9hs4z31Ww2a9C+0CFoKKA89AHnnxIKe6c6Q+UFhxfpV1X4gJug4Eww1EOyhJzThi+4CQrWtFgs1ji/BAd8UOTwDuUfR3XyYxq9Xu8pqsh4pEFLpdJFq9WaKxNrMCt2gdtAyYqBXeG20K1gW7gL1AjOC3eFpoKz4OVyeWxYp9OkI9FWUjbmOKlgcjh4/yd0jxL6uaDskwmm0jY46xOSG8p+ucBUzIBbQWkvFqtZYRLOqRzemAqCzEoIEerBIaZgKOQCa96bnNM9fEyAdCdHxIDZrM4Ea9DYLsM/VeYAtt7VUsEmKIBTgG+QnHc1IzgNynWKXe0BH+C8q2316iyo7kjbvF2OROqutgG2gao5doHHwC5QV/gavAvUBR6BfUBt4YFPqA1c8LCNDrHggLJ17FVQvuUZbWOpIdAM4IjH1BEoVJnRZCeoskM4YnhTDzJo20c6pw7P1a/MUJCfMDjo6/S/xe3Z6XQe0ZM3hx9agP3vQqHwHuVHo1FJXSt42FbnXjb6EtzPTnBVOiO03W5/+LLrZOcPof7K1N+hcVgAAAAASUVORK5CYII=);
28 | background-repeat: no-repeat;
29 | -webkit-background-size: 100% 100%;
30 | background-size: 100% 100%;
31 | width: 14px;
32 | height: 14px;
33 | position: absolute;
34 | top: 14px;
35 | right: 14px;
36 | }
37 | .mod-vcodes {
38 | -webkit-transform-style: preserve-3d;
39 | -webkit-user-select: none;
40 | -moz-user-select: none;
41 | -ms-user-select: none;
42 | user-select: none;
43 | }
44 | .mod-vcode-content {
45 | padding: 40px 16px 20px;
46 | text-align: center;
47 | background: #fff;
48 | }
49 | .mod-vcode-content .mod-page-tipInfo-gray {
50 | font-size: 20px;
51 | line-height: 24px;
52 | color: #102233;
53 | }
54 | .mod-vcode-content .mod-page-tipInfo-gray1 {
55 | font-size: 14px;
56 | line-height: 21px;
57 | color: #9b9b9b;
58 | padding-bottom: 4px;
59 | }
60 | .mod-vcode-content .mod-page-tipInfo-gray2 {
61 | font-size: 18px;
62 | line-height: 24px;
63 | color: #333;
64 | }
65 | .vcode-slide-faceboder {
66 | position: relative;
67 | overflow: hidden;
68 | width: 90px;
69 | height: 65px;
70 | margin: 44px auto 45px;
71 | border: 0;
72 | -webkit-border-radius: 26px;
73 | border-radius: 26px;
74 | -webkit-background-size: 100% 100%;
75 | background-size: 100% 100%;
76 | }
77 | .vcode-slide-faceboder img {
78 | position: relative;
79 | z-index: 998;
80 | width: 100%;
81 | height: 100%;
82 | border: 0;
83 | pointer-events: none;
84 | }
85 | .vcode-slide-img {
86 | position: relative;
87 | z-index: 999;
88 | width: 100%;
89 | height: 100%;
90 | background-image: url(data:image/png;base64,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);
91 | -webkit-background-size: 100% 100%;
92 | background-size: 100% 100%;
93 | background-repeat: no-repeat;
94 | pointer-events: none;
95 | }
96 | .vcode-slide-expression {
97 | position: absolute;
98 | top: 50%;
99 | left: 13.5px;
100 | width: 627px;
101 | height: 45px;
102 | margin-top: -22.5px;
103 | background-image: url(https://wappass.baidu.com/static/machine/img/mkd/expressionx1_0b995a4.png);
104 | background-image: -webkit-image-set(url(https://wappass.baidu.com/static/machine/img/mkd/expressionx1_0b995a4.png) 1x,url(https://wappass.baidu.com/static/machine/img/mkd/expressionx2_237a1ef.png) 2x);
105 | background-image: image-set(url(https://wappass.baidu.com/static/machine/img/mkd/expressionx1_0b995a4.png) 1x,url(https://wappass.baidu.com/static/machine/img/mkd/expressionx2_237a1ef.png) 2x);
106 | background-repeat: no-repeat;
107 | }
108 | .vcode-slide-expression-x {
109 | position: absolute;
110 | top: 50%;
111 | left: 13.5px;
112 | width: 627px;
113 | height: 45px;
114 | margin-top: -22.5px;
115 | background-image: url(data:image/png;base64,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);
116 | background-repeat: no-repeat;
117 | -webkit-background-size: 100% 100%;
118 | background-size: 100% 100%;
119 | }
120 | .vcode-transition {
121 | -webkit-transition-property: all;
122 | -moz-transition-property: all;
123 | transition-property: all;
124 | -webkit-transition-duration: 0.3s;
125 | -moz-transition-duration: 0.3s;
126 | transition-duration: 0.3s;
127 | -webkit-transition-timing-function: ease-in;
128 | -moz-transition-timing-function: ease-in;
129 | transition-timing-function: ease-in;
130 | }
131 | .vcode-transition-25 {
132 | -webkit-transition-property: all;
133 | -moz-transition-property: all;
134 | transition-property: all;
135 | -webkit-transition-duration: 0.25s;
136 | -moz-transition-duration: 0.25s;
137 | transition-duration: 0.25s;
138 | -webkit-transition-timing-function: ease;
139 | -moz-transition-timing-function: ease;
140 | transition-timing-function: ease;
141 | }
142 | .vcode-slide-control {
143 | position: relative;
144 | width: 260px;
145 | height: 50px;
146 | margin: 0 auto;
147 | }
148 | .vcode-slide-bottom {
149 | position: absolute;
150 | top: 0;
151 | left: 0;
152 | -webkit-box-sizing: border-box;
153 | -moz-box-sizing: border-box;
154 | box-sizing: border-box;
155 | width: 100%;
156 | height: 100%;
157 | border: 1px solid #ddd;
158 | -webkit-border-radius: 100px;
159 | border-radius: 100px;
160 | background: #f7f7f7;
161 | }
162 | .mod-vcodes .borderRadius {
163 | -webkit-border-radius: 0;
164 | border-radius: 0;
165 | }
166 | .vcode-slide-bottom p {
167 | position: absolute;
168 | top: 50%;
169 | left: 50%;
170 | width: 150px;
171 | height: 25px;
172 | margin-top: -12px;
173 | margin-left: -75px;
174 | font-family: PingFangSC-Regular;
175 | font-size: 18px;
176 | text-align: center;
177 | letter-spacing: -0.87px;
178 | color: #b2b2b2;
179 | -webkit-user-select: none;
180 | -moz-user-select: none;
181 | -ms-user-select: none;
182 | user-select: none;
183 | line-height: 25px;
184 | }
185 | .vcode-slide-cover {
186 | position: absolute;
187 | top: 0;
188 | left: 0;
189 | width: 50px;
190 | height: 100%;
191 | -webkit-border-radius: 100px;
192 | border-radius: 100px;
193 | background: #4b96ea;
194 | -webkit-transform: translateX(0);
195 | -moz-transform: translateX(0);
196 | -ms-transform: translateX(0);
197 | transform: translateX(0);
198 | }
199 | .vcode-slide-cover-error {
200 | background: #ec3f3f;
201 | }
202 | .vcode-slide-cover p {
203 | position: absolute;
204 | top: 130%;
205 | left: 50%;
206 | width: 150px;
207 | height: 25px;
208 | font-family: PingFangSC-Regular;
209 | font-size: 18px;
210 | text-align: center;
211 | letter-spacing: -0.87px;
212 | opacity: 0;
213 | color: #fff;
214 | margin-left: -75px;
215 | margin-top: -12px;
216 | }
217 | .vcode-slide-cover .coverp-show {
218 | top: 50%;
219 | opacity: 1;
220 | }
221 | .vcode-slide-cover .coverp-hide {
222 | top: 130%;
223 | opacity: 0;
224 | }
225 | .vcode-slide-button {
226 | position: absolute;
227 | top: 0;
228 | -webkit-box-sizing: border-box;
229 | -moz-box-sizing: border-box;
230 | box-sizing: border-box;
231 | width: 50px;
232 | height: 100%;
233 | border: 1px solid #ddd;
234 | -webkit-border-radius: 100px;
235 | border-radius: 100px;
236 | background: #f7f7f7;
237 | left: 0;
238 | -webkit-transform: translateX(0);
239 | -moz-transform: translateX(0);
240 | -ms-transform: translateX(0);
241 | transform: translateX(0);
242 | }
243 | .vcode-slide-button p {
244 | position: absolute;
245 | top: 50%;
246 | left: 50%;
247 | width: 9px;
248 | height: 16px;
249 | margin-left: -4.5px;
250 | margin-top: -8px;
251 | background-image: url(https://wappass.baidu.com/static/machine/img/mkd/buttondefultx1_2e93477.png);
252 | background-image: -webkit-image-set(url(https://wappass.baidu.com/static/machine/img/mkd/buttondefultx1_2e93477.png) 1x,url(https://wappass.baidu.com/static/machine/img/mkd/buttondefultx2_e4c346e.png) 2x);
253 | background-image: image-set(url(https://wappass.baidu.com/static/machine/img/mkd/buttondefultx1_2e93477.png) 1x,url(https://wappass.baidu.com/static/machine/img/mkd/buttondefultx2_e4c346e.png) 2x);
254 | background-repeat: no-repeat;
255 | }
256 | .vcode-slide-loading {
257 | position: absolute;
258 | top: 50%;
259 | left: 50%;
260 | display: none;
261 | width: 50px;
262 | height: 27px;
263 | background: url(https://wappass.baidu.com/static/machine/img/mkd/slideloadingx1_2aaa7cc.gif)
264 | no-repeat;
265 | background-image: -webkit-image-set(url(https://wappass.baidu.com/static/machine/img/mkd/slideloadingx1_2aaa7cc.gif) 1x,url(https://wappass.baidu.com/static/machine/img/mkd/slideloadingx2_c73a4b2.gif) 2x);
266 | background-image: image-set(url(https://wappass.baidu.com/static/machine/img/mkd/slideloadingx1_2aaa7cc.gif) 1x,url(https://wappass.baidu.com/static/machine/img/mkd/slideloadingx2_c73a4b2.gif) 2x);
267 | margin-left: -25px;
268 | margin-top: -12px;
269 | }
270 | .vcode-slide-loading-x {
271 | position: absolute;
272 | top: 50%;
273 | left: 50%;
274 | display: none;
275 | width: 50px;
276 | height: 27px;
277 | background: url(data:image/gif;base64,R0lGODlhlgBRAIABAP///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE4MkE3QzA3NDAwQjExRThBNEM0QTI0QTJBOEY0MTM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE4MkE3QzA4NDAwQjExRThBNEM0QTI0QTJBOEY0MTM4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTgyQTdDMDU0MDBCMTFFOEE0QzRBMjRBMkE4RjQxMzgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTgyQTdDMDY0MDBCMTFFOEE0QzRBMjRBMkE4RjQxMzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4B//79/Pv6+fj39vX08/Lx8O/u7ezr6uno5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++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)
278 | no-repeat;
279 | -webkit-background-size: 100% 100%;
280 | background-size: 100% 100%;
281 | margin-left: -25px;
282 | margin-top: -12px;
283 | }
284 | .vcode-slide-button-focus {
285 | border: 1px solid #4b96ea;
286 | background: #4b96ea;
287 | }
288 | .vcode-slide-button-error {
289 | border: 1px solid #ec3f3f;
290 | background: #ec3f3f;
291 | }
292 | .vcode-slide-button-focus p {
293 | background-image: url(https://wappass.baidu.com/static/machine/img/mkd/buttonfoucsx1_332c52a.png);
294 | background-image: -webkit-image-set(url(https://wappass.baidu.com/static/machine/img/mkd/buttonfoucsx1_332c52a.png) 1x,url(https://wappass.baidu.com/static/machine/img/mkd/buttonfoucsx2_556ebdb.png) 2x);
295 | background-image: image-set(url(https://wappass.baidu.com/static/machine/img/mkd/buttonfoucsx1_332c52a.png) 1x,url(https://wappass.baidu.com/static/machine/img/mkd/buttonfoucsx2_556ebdb.png) 2x);
296 | background-repeat: no-repeat;
297 | }
298 | .vcode-slide-footer {
299 | padding-top: 26px;
300 | font-family: PingFangSC-Regular;
301 | font-size: 11px;
302 | line-height: 16px;
303 | color: #b7bcc1;
304 | }
305 | @-webkit-keyframes horizontal {
306 | 0% {
307 | -webkit-transform: translate(0px, 0);
308 | -ms-transform: translate(0px, 0);
309 | transform: translate(0px, 0);
310 | }
311 | 10%,
312 | 30%,
313 | 50%,
314 | 70%,
315 | 90% {
316 | -webkit-transform: translate(-1px, 0);
317 | transform: translate(-1px, 0);
318 | }
319 | 20%,
320 | 40%,
321 | 60%,
322 | 80% {
323 | -webkit-transform: translate(1px, 0);
324 | transform: translate(1px, 0);
325 | }
326 | 100% {
327 | -webkit-transform: translate(0px, 0);
328 | transform: translate(0px, 0);
329 | }
330 | }
331 | @-moz-keyframes horizontal {
332 | 0% {
333 | -webkit-transform: translate(0px, 0);
334 | -moz-transform: translate(0px, 0);
335 | transform: translate(0px, 0);
336 | }
337 | 10%,
338 | 30%,
339 | 50%,
340 | 70%,
341 | 90% {
342 | -webkit-transform: translate(-1px, 0);
343 | -moz-transform: translate(-1px, 0);
344 | transform: translate(-1px, 0);
345 | }
346 | 20%,
347 | 40%,
348 | 60%,
349 | 80% {
350 | -webkit-transform: translate(1px, 0);
351 | -moz-transform: translate(1px, 0);
352 | transform: translate(1px, 0);
353 | }
354 | 100% {
355 | -webkit-transform: translate(0px, 0);
356 | -moz-transform: translate(0px, 0);
357 | transform: translate(0px, 0);
358 | }
359 | }
360 | @keyframes horizontal {
361 | 0% {
362 | -webkit-transform: translate(0px, 0);
363 | -moz-transform: translate(0px, 0);
364 | transform: translate(0px, 0);
365 | }
366 | 10%,
367 | 30%,
368 | 50%,
369 | 70%,
370 | 90% {
371 | -webkit-transform: translate(-1px, 0);
372 | -moz-transform: translate(-1px, 0);
373 | transform: translate(-1px, 0);
374 | }
375 | 20%,
376 | 40%,
377 | 60%,
378 | 80% {
379 | -webkit-transform: translate(1px, 0);
380 | -moz-transform: translate(1px, 0);
381 | transform: translate(1px, 0);
382 | }
383 | 100% {
384 | -webkit-transform: translate(0px, 0);
385 | -moz-transform: translate(0px, 0);
386 | transform: translate(0px, 0);
387 | }
388 | }
389 | .vcode-slidefaceboder-horizontal {
390 | -webkit-animation: horizontal 0.6s 0.2s ease both;
391 | -moz-animation: horizontal 0.6s 0.2s ease both;
392 | animation: horizontal 0.6s 0.2s ease both;
393 | }
394 | .vcode-spin-control-horizontal {
395 | -webkit-animation: horizontal 0.6s 0.2s ease both;
396 | -moz-animation: horizontal 0.6s 0.2s ease both;
397 | animation: horizontal 0.6s 0.2s ease both;
398 | }
399 | .vcode-slide-faceborder-animate {
400 | -webkit-animation: scaleface 0.5s 1;
401 | -moz-animation: scaleface 0.5s 1;
402 | animation: scaleface 0.5s 1;
403 | }
404 | @-webkit-keyframes scaleface {
405 | 0% {
406 | -webkit-transform: scale(1, 1);
407 | transform: scale(1, 1);
408 | }
409 | 50% {
410 | -webkit-transform: scale(1.05, 1.05);
411 | transform: scale(1.05, 1.05);
412 | }
413 | 100% {
414 | -webkit-transform: scale(1, 1);
415 | transform: scale(1, 1);
416 | }
417 | }
418 | @-moz-keyframes scaleface {
419 | 0% {
420 | -webkit-transform: scale(1, 1);
421 | -moz-transform: scale(1, 1);
422 | transform: scale(1, 1);
423 | }
424 | 50% {
425 | -webkit-transform: scale(1.05, 1.05);
426 | -moz-transform: scale(1.05, 1.05);
427 | transform: scale(1.05, 1.05);
428 | }
429 | 100% {
430 | -webkit-transform: scale(1, 1);
431 | -moz-transform: scale(1, 1);
432 | transform: scale(1, 1);
433 | }
434 | }
435 | @keyframes scaleface {
436 | 0% {
437 | -webkit-transform: scale(1, 1);
438 | -moz-transform: scale(1, 1);
439 | transform: scale(1, 1);
440 | }
441 | 50% {
442 | -webkit-transform: scale(1.05, 1.05);
443 | -moz-transform: scale(1.05, 1.05);
444 | transform: scale(1.05, 1.05);
445 | }
446 | 100% {
447 | -webkit-transform: scale(1, 1);
448 | -moz-transform: scale(1, 1);
449 | transform: scale(1, 1);
450 | }
451 | }
452 | .opacity0 {
453 | opacity: 0;
454 | }
455 | .mleft {
456 | margin-left: none;
457 | }
458 | .translateX0 {
459 | -webkit-transform: translateX(0);
460 | -ms-transform: translateX(0);
461 | -moz-transform: translateX(0);
462 | transform: translateX(0);
463 | }
464 | .vcode-spin-faceboder {
465 | position: relative;
466 | overflow: hidden;
467 | width: 152px;
468 | height: 152px;
469 | margin: 20px auto 25px;
470 | border: 0;
471 | -webkit-background-size: 100% 100%;
472 | background-size: 100% 100%;
473 | }
474 | .vcode-spin-img {
475 | position: relative;
476 | z-index: 999;
477 | width: 100%;
478 | height: 100%;
479 | background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIxNHB4IiBoZWlnaHQ9IjE0cHgiIHZpZXdCb3g9IjAgMCAxNCAxNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4gICAgICAgIDx0aXRsZT5tb2RhbC1jbG9zZTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIG9wYWNpdHk9IjAuNSI+ICAgICAgICA8ZyBpZD0i5aaC5p6c6L2v5Lu25rKh5omT5byA77yM5oiW6ICF5pyJ5byA5ZCv57+75aKZ5a+86Ie05peg5rOV5L2/55SoIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtOTEyLjAwMDAwMCwgLTM3NS4wMDAwMDApIiBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iPiAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJtb2RhbC1jbG9zZSIgcG9pbnRzPSI5MjYgMzc2LjQxNSA5MjQuNTg1IDM3NSA5MTkgMzgwLjU4NSA5MTMuNDE1IDM3NSA5MTIgMzc2LjQxNSA5MTcuNTg1IDM4MiA5MTIgMzg3LjU4NSA5MTMuNDE1IDM4OSA5MTkgMzgzLjQxNSA5MjQuNTg1IDM4OSA5MjYgMzg3LjU4NSA5MjAuNDE1IDM4MiI+PC9wb2x5Z29uPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+);
480 | -webkit-background-size: 100% 100%;
481 | background-size: 100% 100%;
482 | background-repeat: no-repeat;
483 | pointer-events: none;
484 | -webkit-border-radius: 50%;
485 | border-radius: 50%;
486 | }
487 | .vcode-spin-mask {
488 | position: absolute;
489 | z-index: 1000;
490 | top: 0;
491 | left: 0;
492 | width: 100%;
493 | height: 100%;
494 | opacity: 0.5;
495 | -webkit-border-radius: 50%;
496 | border-radius: 50%;
497 | background: #000;
498 | }
499 | .vcode-spin-icon {
500 | position: absolute;
501 | z-index: 1001;
502 | top: 50%;
503 | left: 50%;
504 | }
505 | .vcode-spin-icon-loading {
506 | width: 75px;
507 | height: 41px;
508 | margin-left: -38px;
509 | margin-top: -20px;
510 | background-image: url(data:image/gif;base64,R0lGODlhlgBRAIABAP///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE4MkE3QzA3NDAwQjExRThBNEM0QTI0QTJBOEY0MTM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE4MkE3QzA4NDAwQjExRThBNEM0QTI0QTJBOEY0MTM4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTgyQTdDMDU0MDBCMTFFOEE0QzRBMjRBMkE4RjQxMzgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTgyQTdDMDY0MDBCMTFFOEE0QzRBMjRBMkE4RjQxMzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4B//79/Pv6+fj39vX08/Lx8O/u7ezr6uno5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++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);
511 | -webkit-background-size: 100% 100%;
512 | background-size: 100% 100%;
513 | background-repeat: no-repeat;
514 | }
515 | .vcode-spin-icon-success {
516 | width: 64px;
517 | height: 44px;
518 | margin-left: -32px;
519 | margin-top: -22px;
520 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH4AAABWCAYAAAAJ3CLTAAAAAXNSR0IArs4c6QAABFZJREFUeAHtncuO00AQRWdALFkiXsM0Az/FArGIhPg3EAvEazEL4AdY824eQsBXhNsTW1gmiduu6vct6cp20qmuuiftOMkoc3DAqM6B9Xq9gp5Dvzq5/VV1jbKhjQOAewSdQrvC3XeVflXkAIAeQ593ER/cflpR22230kH/MoA7tbs637Zl5XfvoKOL19DJjG4uEPwMt3IbuhC6a+PiudyaYT1+Dgign01A8H4+ZzVKCh3NvCX4rJBOF6MA3U3yeHomjsjGAQcdmnP1juH/Bd/OZUPUoxDg04DunjTXPabjkBwcUITu3voxSnCA0EugpFwjoSsbWkI6Qi+BknKNStDdFzZ8TVdmEyydIvQbwYpkYl0HCF3XzyKyEXoRmHSLJHRdP4vIRuhFYNItktB1/SwiG6EXgUm3SEA3kPRbNvc+nW/ZdNGEy9ZBt9hKgtDDIdLPDNIGspAkCF0fTbiMIG0gC0mC0MMh0s8M0gaykCQIXR9NuIwgbSALSYLQwyHSzwzSBrKQJAhdH024jCBtIAtJgtDDIdLPDNIGspAkCF0fTbiMIG0gC0mC0MMh0s8M0gaykCTiQ0e1d6CH0KdOj9xt+hbVlxE+GegrJAnne7yPYTHZJejJnordfZfrw6XTEbwxkIUkERe6ax3Vut9ImYp3GMCf0Rg9V+CJgSwkiSTQ786omPAH4OGbgSwkifjQu9X+dGbVhL85Sxr4Zmd6Nx6eBnoH/ue4Go/jpuHDHwNZSBIO+tHgBBJ3F5P/WVh9k/DhlYEsJIm00LsV/1LQQVPw4ZOBLCSJ9NA78A8kXeCx76Hqr/bRo4E03qenO70PX0zQzCH0BpJE1SsfxhjIQpLIY6WP4Bt09EPSFR5b5cpHXwaqZ6UPwXen/NtoUAq/qpUPP25WDb1/EqBJDfhVrPxmoBN+78DZR9htrPR/LW/2Wl75za10wm94pe+A/x2rQBJFvOajwTZP72Po/TEMcRd8VcMn9J72aFszfEIfwR4fwqBbkMbKvzbOneqY0D2drwk+oXtC74fVAJ/Qe5oztyXDV4L+EXny+JZtJjvx8BLhE7oY+yZBSfAJXQl6n6YE+ITe01Le5gyf0JVhj9PlCF8ROv+dxxj48Dgn+IQ+JBNhPwf4hB4B9LYpUsIn9G1EIt6mBP8D8nh/tk/oEQHvmyomfMx1Akn/GtZ9IscLuX1Qfe+LAb+D/g1bSRC6L1TfcaCh8ZXu1tM+cruVTui+MGKPCwGf0GNTXDifJnxCXwgh1cM6+NJTszvta+TghVzMJ4ISfKRZHLyQiwl8OBeQaVyULSFP6EMQKfYTwCf0FKC3zRkRvrsu4Gv6NgipbosAn9BTwZ2aNyB8Qp8yP/X9AeATemqovvMrwid0X9NzGacAn9BzgTm3DgF8Qp9rdm7jF8An9NwgLq1nBnxCX2pyro8D/GPoFbQr3M+yXsm1ftYlcABgD6H70AvoN+R+dfsZdE+QttmH/gVo1WKZD73PfwAAAABJRU5ErkJggg==);
521 | -webkit-background-size: 100% 100%;
522 | background-size: 100% 100%;
523 | background-repeat: no-repeat;
524 | }
525 | .vcode-spin-icon-error {
526 | width: 52px;
527 | height: 52px;
528 | margin-left: -26px;
529 | margin-top: -26px;
530 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGoAAABqCAYAAABUIcSXAAAAAXNSR0IArs4c6QAABOhJREFUeAHt3F1O3DAUBeCZ7qJQUVXdQ6U+tUtBILq79okKUEGwAlaACO0DFV1C+0DPzXBnMpnYiR0nsZ1jyXUm/ok5H8wwBbJYVMrz8/MR6nfU3y9Vjo8qQ3gYOAHke4h6ivqIKrlL5seoy51L4eRr1B+opiJ9+zsTecI7AeS5h3phChznr2TM1gVwwoaka93j4GBrIh94JYAc36DeabCWVrBWX1k4kKe7roVYXjSbSQi6K5KanJSz8UieE10KsTa5Ox0hZFckcTlXKHkBcy3EciJaLBCwD5K4PMmlXjleT4e/w8ENFuFrliZiaQVJ8kJ9bxlm7RKoW+sIcyexzNmsewIglT4C9XW9qvsBsSyZBUCS1Tc+WLDLt+cYZix8zaqBISnf16RqyJtvz2V99OyjSth9CrFesBBiCKRC1qn5l1gH6CDWTjJuJwIivTVeGRchljGd9o5RkHQbxNIk3NpRkXRrxNIkurWTIOnWiKVJ2NtJkXRrxNIkmtsokHRrxNIkttuokHRrxNIkVm2USLpFYiWARKyEkOaOFfXTneLU27k9DSaJpGhzwUoaaS5YWSDljpUVUq5YWSLlhpU1Ui5Ys0BKHWtWSKlizRIpNaxZI6WCRSSVQoswovyFGSJVkPQwNiwiqUxDGwsWkRpw6qemxiJSXcTyeCosIllQTF1jYxHJJNHh/FhYROqA0TZkaCwitQk49A+FRSQHhK5DQ2MRqWvyHuMCYn3AWneofUqByea/T/L4+LKagnBC/HfT3z5CmFugEqntMwshhcDCMl6lwCwitSFpP8KaAotICuDSjoxFJBec+tiRsIhUD97n8cBYRPJBMc0ZCItIpsD7nA+MRaQ+GG1zgSVvZvu+T5L5H9uuxX7PBBBuiNvWYJmy3ONf3sLO08I4DaGGRFpRrW4nRCxj6o4dAyERy9HBOnxgJGJZ0+/YORISsTp6NA4bGYlYjQotJydCih7L9y7NLXH7dQsSZt6get/NGHP/ofqWaO+RGw1UIKQHCH1CLXylMC9arB4fU5ipgZ7uCqxT/tAPbYifZ/FNcZU3NJKuTSxNIkA7FJJujViaRI92aCTdGrE0CY92LCTdGrE0CYd2bCTdGrE0iQ7tVEi6NWJpEpZ2aiTdGrE0iYY2FiTdGrE0iUobG5JujViaBNpYkXSLxEoAiVgJIc0aK/anO8Wpt7N6GkwVSdFmgZU60iywckHKGis3pCyxckXKCit3pCyw5oKUNNbckJLEmitSUlhzR0oCi0jKtGqRR3y/N0ikbSR9FBUWkZSluY0Ci0jNOPWzk2IRqc5hfzwJFpHsKKbeUbGIZGLodn4ULCJ1w2gbNSgWFt9D5e092xQ69gfE2t+6JBa+QO1TCkzmnSMrqSKPEG+KL9dLYsFD1D6lwGQirRPdHCCXEFjH5YpY7BTVtxSYSKSNzc4R8umLdaZQj55KRNphaT7RE+tJVpW/il82L289+4Dez8vl8qd1FDvLBJDTL8kLtShPuP1T+gjUrdu8xQPGE8kxtB5YpY9AfXO45gPGEskhsOpQT6yVD54/l6hXqG2lwAB+41BN3vMYOXb9BuMaYzcvTXggb3htWNInt79hCZQA8txHvUQ1lWt0bL/hlWvjpHxlnaCeoz69VDmWcxvVQBvlMuvMj5Hv2Uvef9BK5l9QmXmKnyT/AS/pCbJI4duRAAAAAElFTkSuQmCC);
531 | -webkit-background-size: 100% 100%;
532 | background-size: 100% 100%;
533 | background-repeat: no-repeat;
534 | }
535 | .vcode-spin-control {
536 | position: relative;
537 | width: 260px;
538 | height: 50px;
539 | margin: 0 auto;
540 | }
541 | .vcode-spin-bottom {
542 | position: absolute;
543 | top: 0;
544 | left: 0;
545 | -webkit-box-sizing: border-box;
546 | -moz-box-sizing: border-box;
547 | box-sizing: border-box;
548 | width: 100%;
549 | height: 100%;
550 | border: 1px solid #ddd;
551 | -webkit-border-radius: 100px;
552 | border-radius: 100px;
553 | background: #f7f7f7;
554 | overflow: hidden;
555 | }
556 | .vcode-spin-bottom p {
557 | position: absolute;
558 | top: 50%;
559 | left: 50%;
560 | height: 21px;
561 | margin-top: 32px;
562 | opacity: 0;
563 | margin-left: -88px;
564 | font-family: PingFangSC-Regular;
565 | font-size: 15px;
566 | text-align: center;
567 | letter-spacing: -0.36px;
568 | color: #4a4a4a;
569 | -webkit-user-select: none;
570 | -moz-user-select: none;
571 | -ms-user-select: none;
572 | user-select: none;
573 | line-height: 21px;
574 | }
575 | .vcode-spin-bottom-top p {
576 | margin-top: -10px;
577 | opacity: 1;
578 | }
579 | .vcode-spin-button {
580 | position: absolute;
581 | top: 0;
582 | -webkit-box-sizing: border-box;
583 | -moz-box-sizing: border-box;
584 | box-sizing: border-box;
585 | width: 50px;
586 | height: 100%;
587 | border: 1px solid #ddd;
588 | -webkit-border-radius: 100px;
589 | border-radius: 100px;
590 | background: #fff;
591 | -webkit-transform: translateX(0);
592 | -ms-transform: translateX(0);
593 | -moz-transform: translateX(0);
594 | transform: translateX(0);
595 | }
596 | .vcode-spin-button p {
597 | position: absolute;
598 | top: 50%;
599 | left: 50%;
600 | width: 20px;
601 | height: 20px;
602 | margin-left: -10px;
603 | margin-top: -10px;
604 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAyCAYAAAATIfj2AAAAAXNSR0IArs4c6QAABAdJREFUaAXtWUloU0EYbhaNTQWhItiIBz2kaYkHodWDBxEUa9OFIBHxoOnB3oSCgoqCKdijC3rpQTBCcYsQaUsE0eJBRIXiQZEuehJzUxCa1mIWvxFHpsPMvCUzh8oLlDfzzbxvvn+Zmb9JQ4P38TzgecDzgOeBVeQBn0prKpUKLC0tXa7VagNkns/nu93Y2Hgxl8tVVO9ZjZniJesGVYsvLi6OwJizdA7a54BtRv+PgRR3+jTFS3T4LcSk+XEYle7p6TnJ4w77pngtDRLqrFarN/r6+nYKB+sAdfAqI4Ro3JHoW1epVB5hL2yQjCthU7xkUaVBgUBgGAfBB5E6iNpeKpWyojErzBQvWTegWnxubu5XPB5/jlRIY15IMDcWjUZL8/PzrwRjUsgUL1lQeWxTRYlEIoWIPKR97lmGx/dNTEy85HDLrgleZYSoIkTgY2trazOM2k0x5knStguRHJuZmSkxuGXTBK9yD7GKIpHIGfRfsxhtw9DI8vLyvUwmY5uPvqub11aEyOLT09PV9vb2pxB/HN0wFcQ8txWLxSC8PsVglk3dvLb2EKuqu7u7C/0C/kTv1rCfEthPT9h37LR18dqOEBWFCHzCyUZSay/FmKcPETwUi8Xu4yT7weCWTV28jnOeKOvs7CT30zOJymYc8zlcumsl41JYB68rg7D5q+Fw+BiM+ipShyjtQgF6RTSmwnTwivaBas0VY6jn9pTL5RcAhVW73+8/Ojk5+WDFSzY69fA63kOsntnZ2S+4n0qIyEEWZ9pdbW1tOcz7zmCWzXp4XaUcqwgRuIrUy7MYbcPQ9ShiM7Tv5OmWt26DiEik1hCMqooEw6gdItwO5oZXi0E41a5DuJALhr63I140xw2vUISIXIahwDwNY5KicRizgIs2Ixqzwtzy/nennOsI4eLchA1PjmThkY3o3HRzZNfL68ogUlXj4ryLVNsiSh0Y8xYXL6nOHX108Lq6h5qamoZhzIBILYz5htNpfz6fd3T3EC4dvI73kK6qmHeGLl5HKdff378VERiDGKEjEJkRN/866OS1bdDg4OAa1G05pNpG3rt/+1MdHR2XJGNSWDev7T3U0tJyDcYcFilD1IqhUOjA6OjogmhchenmFaYOLwD5fQSYrGp2/a2PCV7LlEsmk1FE4BZvJO1j7Lybr7BM8Soj1NvbG0Y99QapFqcGcM/HhUJBWPZw81Z0TfGSRYS3PF0dlQDZ5DJjPuPeSNO5Tp6meIkGZcohnU5IhP4MBoMp/PDl6IsQymWK19IgKoB/ooI+NT4+/o7H6+3r4FVGCAKzvEh4N4tDQHpI8PMlfVO86j2EAvMCfmPFmfCvbssSTCLSNmyK17YAb6LnAc8DngdWrQd+A6CJYdIFu4L0AAAAAElFTkSuQmCC);
605 | -webkit-background-size: 100% 100%;
606 | background-size: 100% 100%;
607 | background-repeat: no-repeat;
608 | }
609 | .vcode-spin-button-focus {
610 | border: 1px solid #007dff;
611 | background: #007dff;
612 | }
613 | .vcode-spin-button-focus p {
614 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAyCAYAAAATIfj2AAAAAXNSR0IArs4c6QAAAoRJREFUaAXtmb9OVFEQxjcQKGyspIPK2FvrA+gDAC8AL6C+gGIidvx5ABtqeABCDZSEFjtNLLTRwoLo+jvZJcBhvpnrLlPs5kzyhT3z5/vOzM1y757b6zVrE2gTaBNoE5iWCfT7/VnwAXwbonyeHbe/wgHunTfcF6KboLZPYWGQAGEKbyDb6yFcroxl62GxkwBhCq8jOQg5wr+JPQ0JREIWr5C7diP8ESj7TODhdXb3T9Sl8IY7QPgBOAfKDkISIwGyFF5D6q4L8Sfgp+oI/5u7VbEnizdWJgPxZaehS2LPOxFVSVm8lYy9RHzbaeorsQW70vdm8fqqRBGeA8dA2RGBmZCoSqAmhbeSsZeIL4LvQNl7u9L3QpbC66sOo4i/AH9FR8X/shNRlZTFW8nYS8TfioaK+wdYsit9L3UpvL4qUYRnwCFQdkpgPiSqEqhJ4a1k7CXij8AXoGzXrvS9kKXw+qrDKOLPQLkPKVvtRFQlQZbCW8nYS8RfqW7w/wKP7Urfm8Xrqw6jiO8DZXudSIwkCFN4DanbLoSXwB/R0dnt7O6rUXj/+84utrOFX3Gdi5ou7ixerc0UX4srU9zjfIdSeHUnRNhwyn+jLN6omeh+seMSiCDNpPAKuYEb0ZQ7ehav20wJIvwOKCtP46M+y6Xwug2x2el52qaZ6HfLhjsNEcziFXIDN6Lll+UJUHZEQN2LJDc1KbxS8CqA8PScKdDMClBWnrZHPfVJ4b26COZfNjs953I0k3LCmcVrXpGbToS9M+gL4hln2yPz3ty7+ZkNq9ceE/v2QTW0Zk6go9MZ1Fi8oTzCm6C2iX6DV78LLQ1mvGO9F97wCrWENoE2gTaBiZ/AP+8/LMb6T9MeAAAAAElFTkSuQmCC);
615 | -webkit-background-size: 100% 100%;
616 | background-size: 100% 100%;
617 | background-repeat: no-repeat;
618 | }
619 | .vcode-spin-button-loading {
620 | border: 1px solid #ccc;
621 | background: #ccc;
622 | }
623 | .vcode-spin-button-loading p {
624 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAyCAYAAAATIfj2AAAAAXNSR0IArs4c6QAAAoRJREFUaAXtmb9OVFEQxjcQKGyspIPK2FvrA+gDAC8AL6C+gGIidvx5ABtqeABCDZSEFjtNLLTRwoLo+jvZJcBhvpnrLlPs5kzyhT3z5/vOzM1y757b6zVrE2gTaBNoE5iWCfT7/VnwAXwbonyeHbe/wgHunTfcF6KboLZPYWGQAGEKbyDb6yFcroxl62GxkwBhCq8jOQg5wr+JPQ0JREIWr5C7diP8ESj7TODhdXb3T9Sl8IY7QPgBOAfKDkISIwGyFF5D6q4L8Sfgp+oI/5u7VbEnizdWJgPxZaehS2LPOxFVSVm8lYy9RHzbaeorsQW70vdm8fqqRBGeA8dA2RGBmZCoSqAmhbeSsZeIL4LvQNl7u9L3QpbC66sOo4i/AH9FR8X/shNRlZTFW8nYS8TfioaK+wdYsit9L3UpvL4qUYRnwCFQdkpgPiSqEqhJ4a1k7CXij8AXoGzXrvS9kKXw+qrDKOLPQLkPKVvtRFQlQZbCW8nYS8RfqW7w/wKP7Urfm8Xrqw6jiO8DZXudSIwkCFN4DanbLoSXwB/R0dnt7O6rUXj/+84utrOFX3Gdi5ou7ixerc0UX4srU9zjfIdSeHUnRNhwyn+jLN6omeh+seMSiCDNpPAKuYEb0ZQ7ehav20wJIvwOKCtP46M+y6Xwug2x2el52qaZ6HfLhjsNEcziFXIDN6Lll+UJUHZEQN2LJDc1KbxS8CqA8PScKdDMClBWnrZHPfVJ4b26COZfNjs953I0k3LCmcVrXpGbToS9M+gL4hln2yPz3ty7+ZkNq9ceE/v2QTW0Zk6go9MZ1Fi8oTzCm6C2iX6DV78LLQ1mvGO9F97wCrWENoE2gTaBiZ/AP+8/LMb6T9MeAAAAAElFTkSuQmCC);
625 | -webkit-background-size: 100% 100%;
626 | background-size: 100% 100%;
627 | background-repeat: no-repeat;
628 | }
629 | .vcode-spin-button-error {
630 | border: 1px solid #ec3f3f;
631 | background: #ec3f3f;
632 | background: #ec3f3f;
633 | }
634 | .vcode-spin-button-error p {
635 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAyCAYAAAATIfj2AAAAAXNSR0IArs4c6QAAAoRJREFUaAXtmb9OVFEQxjcQKGyspIPK2FvrA+gDAC8AL6C+gGIidvx5ABtqeABCDZSEFjtNLLTRwoLo+jvZJcBhvpnrLlPs5kzyhT3z5/vOzM1y757b6zVrE2gTaBNoE5iWCfT7/VnwAXwbonyeHbe/wgHunTfcF6KboLZPYWGQAGEKbyDb6yFcroxl62GxkwBhCq8jOQg5wr+JPQ0JREIWr5C7diP8ESj7TODhdXb3T9Sl8IY7QPgBOAfKDkISIwGyFF5D6q4L8Sfgp+oI/5u7VbEnizdWJgPxZaehS2LPOxFVSVm8lYy9RHzbaeorsQW70vdm8fqqRBGeA8dA2RGBmZCoSqAmhbeSsZeIL4LvQNl7u9L3QpbC66sOo4i/AH9FR8X/shNRlZTFW8nYS8TfioaK+wdYsit9L3UpvL4qUYRnwCFQdkpgPiSqEqhJ4a1k7CXij8AXoGzXrvS9kKXw+qrDKOLPQLkPKVvtRFQlQZbCW8nYS8RfqW7w/wKP7Urfm8Xrqw6jiO8DZXudSIwkCFN4DanbLoSXwB/R0dnt7O6rUXj/+84utrOFX3Gdi5ou7ixerc0UX4srU9zjfIdSeHUnRNhwyn+jLN6omeh+seMSiCDNpPAKuYEb0ZQ7ehav20wJIvwOKCtP46M+y6Xwug2x2el52qaZ6HfLhjsNEcziFXIDN6Lll+UJUHZEQN2LJDc1KbxS8CqA8PScKdDMClBWnrZHPfVJ4b26COZfNjs953I0k3LCmcVrXpGbToS9M+gL4hln2yPz3ty7+ZkNq9ceE/v2QTW0Zk6go9MZ1Fi8oTzCm6C2iX6DV78LLQ1mvGO9F97wCrWENoE2gTaBiZ/AP+8/LMb6T9MeAAAAAElFTkSuQmCC);
636 | -webkit-background-size: 100% 100%;
637 | background-size: 100% 100%;
638 | background-repeat: no-repeat;
639 | }
640 |
--------------------------------------------------------------------------------
/demo/md.css:
--------------------------------------------------------------------------------
1 | .vcode-mask {
2 | position: fixed;
3 | z-index: 60002;
4 | top: 0;
5 | left: 0;
6 | width: 100%;
7 | height: 100%;
8 | opacity: 0.7;
9 | background: #000;
10 | }
11 | .vcode-body {
12 | width: 305px;
13 | position: fixed;
14 | left: 50%;
15 | top: 50%;
16 | margin-left: -152.5px;
17 | margin-top: -173.5px;
18 | z-index: 60003;
19 | overflow-y: auto;
20 | -webkit-border-radius: 13px;
21 | -webkit-transform-style: preserve-3d;
22 | }
23 | .hide {
24 | display: none;
25 | }
26 | .vcode-close {
27 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAAAhpJREFUSA2tlz1PAjEYx70iTMSB2dVZR2dNiKwm4gCLIbwsfh9yiTEmkChxcEMTV/gAfgA/AgtMvoD//9mS3kHvrqVP0ru+PH1+d+3Tp20QhmFtuVyGe5AgCG673e4L875kMBgcLBaL+9VqVYX9caVSadbr9S9BKCoPZXru9/vXPqHz+fwNti9hs4z31Ww2a9C+0CFoKKA89AHnnxIKe6c6Q+UFhxfpV1X4gJug4Eww1EOyhJzThi+4CQrWtFgs1ji/BAd8UOTwDuUfR3XyYxq9Xu8pqsh4pEFLpdJFq9WaKxNrMCt2gdtAyYqBXeG20K1gW7gL1AjOC3eFpoKz4OVyeWxYp9OkI9FWUjbmOKlgcjh4/yd0jxL6uaDskwmm0jY46xOSG8p+ucBUzIBbQWkvFqtZYRLOqRzemAqCzEoIEerBIaZgKOQCa96bnNM9fEyAdCdHxIDZrM4Ea9DYLsM/VeYAtt7VUsEmKIBTgG+QnHc1IzgNynWKXe0BH+C8q2316iyo7kjbvF2OROqutgG2gao5doHHwC5QV/gavAvUBR6BfUBt4YFPqA1c8LCNDrHggLJ17FVQvuUZbWOpIdAM4IjH1BEoVJnRZCeoskM4YnhTDzJo20c6pw7P1a/MUJCfMDjo6/S/xe3Z6XQe0ZM3hx9agP3vQqHwHuVHo1FJXSt42FbnXjb6EtzPTnBVOiO03W5/+LLrZOcPof7K1N+hcVgAAAAASUVORK5CYII=);
28 | background-repeat: no-repeat;
29 | -webkit-background-size: 100% 100%;
30 | background-size: 100% 100%;
31 | width: 14px;
32 | height: 14px;
33 | position: absolute;
34 | top: 14px;
35 | right: 14px;
36 | }
37 | .mod-vcodes {
38 | -webkit-transform-style: preserve-3d;
39 | -webkit-user-select: none;
40 | -moz-user-select: none;
41 | -ms-user-select: none;
42 | user-select: none;
43 | }
44 | .mod-vcode-content {
45 | padding: 40px 16px 20px;
46 | text-align: center;
47 | background: #fff;
48 | }
49 | .mod-vcode-content .mod-page-tipInfo-gray {
50 | font-size: 20px;
51 | line-height: 24px;
52 | color: #102233;
53 | }
54 | .mod-vcode-content .mod-page-tipInfo-gray1 {
55 | font-size: 14px;
56 | line-height: 21px;
57 | color: #9b9b9b;
58 | padding-bottom: 4px;
59 | }
60 | .mod-vcode-content .mod-page-tipInfo-gray2 {
61 | font-size: 18px;
62 | line-height: 24px;
63 | color: #333;
64 | }
65 | .vcode-slide-faceboder {
66 | position: relative;
67 | overflow: hidden;
68 | width: 90px;
69 | height: 65px;
70 | margin: 44px auto 45px;
71 | border: 0;
72 | -webkit-border-radius: 26px;
73 | border-radius: 26px;
74 | -webkit-background-size: 100% 100%;
75 | background-size: 100% 100%;
76 | }
77 | .vcode-slide-faceboder img {
78 | position: relative;
79 | z-index: 998;
80 | width: 100%;
81 | height: 100%;
82 | border: 0;
83 | pointer-events: none;
84 | }
85 | .vcode-slide-img {
86 | position: relative;
87 | z-index: 999;
88 | width: 100%;
89 | height: 100%;
90 | background-image: url(data:image/png;base64,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);
91 | -webkit-background-size: 100% 100%;
92 | background-size: 100% 100%;
93 | background-repeat: no-repeat;
94 | pointer-events: none;
95 | }
96 | .vcode-slide-expression {
97 | position: absolute;
98 | top: 50%;
99 | left: 13.5px;
100 | width: 627px;
101 | height: 45px;
102 | margin-top: -22.5px;
103 | background-image: url(https://wappass.baidu.com/static/machine/img/mkd/expressionx1_0b995a4.png);
104 | background-image: -webkit-image-set(url(https://wappass.baidu.com/static/machine/img/mkd/expressionx1_0b995a4.png) 1x,url(https://wappass.baidu.com/static/machine/img/mkd/expressionx2_237a1ef.png) 2x);
105 | background-image: image-set(url(https://wappass.baidu.com/static/machine/img/mkd/expressionx1_0b995a4.png) 1x,url(https://wappass.baidu.com/static/machine/img/mkd/expressionx2_237a1ef.png) 2x);
106 | background-repeat: no-repeat;
107 | }
108 | .vcode-slide-expression-x {
109 | position: absolute;
110 | top: 50%;
111 | left: 13.5px;
112 | width: 627px;
113 | height: 45px;
114 | margin-top: -22.5px;
115 | background-image: url(data:image/png;base64,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);
116 | background-repeat: no-repeat;
117 | -webkit-background-size: 100% 100%;
118 | background-size: 100% 100%;
119 | }
120 | .vcode-transition {
121 | -webkit-transition-property: all;
122 | -moz-transition-property: all;
123 | transition-property: all;
124 | -webkit-transition-duration: 0.3s;
125 | -moz-transition-duration: 0.3s;
126 | transition-duration: 0.3s;
127 | -webkit-transition-timing-function: ease-in;
128 | -moz-transition-timing-function: ease-in;
129 | transition-timing-function: ease-in;
130 | }
131 | .vcode-transition-25 {
132 | -webkit-transition-property: all;
133 | -moz-transition-property: all;
134 | transition-property: all;
135 | -webkit-transition-duration: 0.25s;
136 | -moz-transition-duration: 0.25s;
137 | transition-duration: 0.25s;
138 | -webkit-transition-timing-function: ease;
139 | -moz-transition-timing-function: ease;
140 | transition-timing-function: ease;
141 | }
142 | .vcode-slide-control {
143 | position: relative;
144 | width: 260px;
145 | height: 50px;
146 | margin: 0 auto;
147 | }
148 | .vcode-slide-bottom {
149 | position: absolute;
150 | top: 0;
151 | left: 0;
152 | -webkit-box-sizing: border-box;
153 | -moz-box-sizing: border-box;
154 | box-sizing: border-box;
155 | width: 100%;
156 | height: 100%;
157 | border: 1px solid #ddd;
158 | -webkit-border-radius: 100px;
159 | border-radius: 100px;
160 | background: #f7f7f7;
161 | }
162 | .mod-vcodes .borderRadius {
163 | -webkit-border-radius: 0;
164 | border-radius: 0;
165 | }
166 | .vcode-slide-bottom p {
167 | position: absolute;
168 | top: 50%;
169 | left: 50%;
170 | width: 150px;
171 | height: 25px;
172 | margin-top: -12px;
173 | margin-left: -75px;
174 | font-family: PingFangSC-Regular;
175 | font-size: 18px;
176 | text-align: center;
177 | letter-spacing: -0.87px;
178 | color: #b2b2b2;
179 | -webkit-user-select: none;
180 | -moz-user-select: none;
181 | -ms-user-select: none;
182 | user-select: none;
183 | line-height: 25px;
184 | }
185 | .vcode-slide-cover {
186 | position: absolute;
187 | top: 0;
188 | left: 0;
189 | width: 50px;
190 | height: 100%;
191 | -webkit-border-radius: 100px;
192 | border-radius: 100px;
193 | background: #4b96ea;
194 | -webkit-transform: translateX(0);
195 | -moz-transform: translateX(0);
196 | -ms-transform: translateX(0);
197 | transform: translateX(0);
198 | }
199 | .vcode-slide-cover-error {
200 | background: #ec3f3f;
201 | }
202 | .vcode-slide-cover p {
203 | position: absolute;
204 | top: 130%;
205 | left: 50%;
206 | width: 150px;
207 | height: 25px;
208 | font-family: PingFangSC-Regular;
209 | font-size: 18px;
210 | text-align: center;
211 | letter-spacing: -0.87px;
212 | opacity: 0;
213 | color: #fff;
214 | margin-left: -75px;
215 | margin-top: -12px;
216 | }
217 | .vcode-slide-cover .coverp-show {
218 | top: 50%;
219 | opacity: 1;
220 | }
221 | .vcode-slide-cover .coverp-hide {
222 | top: 130%;
223 | opacity: 0;
224 | }
225 | .vcode-slide-button {
226 | position: absolute;
227 | top: 0;
228 | -webkit-box-sizing: border-box;
229 | -moz-box-sizing: border-box;
230 | box-sizing: border-box;
231 | width: 50px;
232 | height: 100%;
233 | border: 1px solid #ddd;
234 | -webkit-border-radius: 100px;
235 | border-radius: 100px;
236 | background: #f7f7f7;
237 | left: 0;
238 | -webkit-transform: translateX(0);
239 | -moz-transform: translateX(0);
240 | -ms-transform: translateX(0);
241 | transform: translateX(0);
242 | }
243 | .vcode-slide-button p {
244 | position: absolute;
245 | top: 50%;
246 | left: 50%;
247 | width: 9px;
248 | height: 16px;
249 | margin-left: -4.5px;
250 | margin-top: -8px;
251 | background-image: url(https://wappass.baidu.com/static/machine/img/mkd/buttondefultx1_2e93477.png);
252 | background-image: -webkit-image-set(url(https://wappass.baidu.com/static/machine/img/mkd/buttondefultx1_2e93477.png) 1x,url(https://wappass.baidu.com/static/machine/img/mkd/buttondefultx2_e4c346e.png) 2x);
253 | background-image: image-set(url(https://wappass.baidu.com/static/machine/img/mkd/buttondefultx1_2e93477.png) 1x,url(https://wappass.baidu.com/static/machine/img/mkd/buttondefultx2_e4c346e.png) 2x);
254 | background-repeat: no-repeat;
255 | }
256 | .vcode-slide-loading {
257 | position: absolute;
258 | top: 50%;
259 | left: 50%;
260 | display: none;
261 | width: 50px;
262 | height: 27px;
263 | background: url(https://wappass.baidu.com/static/machine/img/mkd/slideloadingx1_2aaa7cc.gif)
264 | no-repeat;
265 | background-image: -webkit-image-set(url(https://wappass.baidu.com/static/machine/img/mkd/slideloadingx1_2aaa7cc.gif) 1x,url(https://wappass.baidu.com/static/machine/img/mkd/slideloadingx2_c73a4b2.gif) 2x);
266 | background-image: image-set(url(https://wappass.baidu.com/static/machine/img/mkd/slideloadingx1_2aaa7cc.gif) 1x,url(https://wappass.baidu.com/static/machine/img/mkd/slideloadingx2_c73a4b2.gif) 2x);
267 | margin-left: -25px;
268 | margin-top: -12px;
269 | }
270 | .vcode-slide-loading-x {
271 | position: absolute;
272 | top: 50%;
273 | left: 50%;
274 | display: none;
275 | width: 50px;
276 | height: 27px;
277 | background: url(data:image/gif;base64,R0lGODlhlgBRAIABAP///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE4MkE3QzA3NDAwQjExRThBNEM0QTI0QTJBOEY0MTM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE4MkE3QzA4NDAwQjExRThBNEM0QTI0QTJBOEY0MTM4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTgyQTdDMDU0MDBCMTFFOEE0QzRBMjRBMkE4RjQxMzgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTgyQTdDMDY0MDBCMTFFOEE0QzRBMjRBMkE4RjQxMzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4B//79/Pv6+fj39vX08/Lx8O/u7ezr6uno5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++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)
278 | no-repeat;
279 | -webkit-background-size: 100% 100%;
280 | background-size: 100% 100%;
281 | margin-left: -25px;
282 | margin-top: -12px;
283 | }
284 | .vcode-slide-button-focus {
285 | border: 1px solid #4b96ea;
286 | background: #4b96ea;
287 | }
288 | .vcode-slide-button-error {
289 | border: 1px solid #ec3f3f;
290 | background: #ec3f3f;
291 | }
292 | .vcode-slide-button-focus p {
293 | background-image: url(https://wappass.baidu.com/static/machine/img/mkd/buttonfoucsx1_332c52a.png);
294 | background-image: -webkit-image-set(url(https://wappass.baidu.com/static/machine/img/mkd/buttonfoucsx1_332c52a.png) 1x,url(https://wappass.baidu.com/static/machine/img/mkd/buttonfoucsx2_556ebdb.png) 2x);
295 | background-image: image-set(url(https://wappass.baidu.com/static/machine/img/mkd/buttonfoucsx1_332c52a.png) 1x,url(https://wappass.baidu.com/static/machine/img/mkd/buttonfoucsx2_556ebdb.png) 2x);
296 | background-repeat: no-repeat;
297 | }
298 | .vcode-slide-footer {
299 | padding-top: 26px;
300 | font-family: PingFangSC-Regular;
301 | font-size: 11px;
302 | line-height: 16px;
303 | color: #b7bcc1;
304 | }
305 | @-webkit-keyframes horizontal {
306 | 0% {
307 | -webkit-transform: translate(0px, 0);
308 | -ms-transform: translate(0px, 0);
309 | transform: translate(0px, 0);
310 | }
311 | 10%,
312 | 30%,
313 | 50%,
314 | 70%,
315 | 90% {
316 | -webkit-transform: translate(-1px, 0);
317 | transform: translate(-1px, 0);
318 | }
319 | 20%,
320 | 40%,
321 | 60%,
322 | 80% {
323 | -webkit-transform: translate(1px, 0);
324 | transform: translate(1px, 0);
325 | }
326 | 100% {
327 | -webkit-transform: translate(0px, 0);
328 | transform: translate(0px, 0);
329 | }
330 | }
331 | @-moz-keyframes horizontal {
332 | 0% {
333 | -webkit-transform: translate(0px, 0);
334 | -moz-transform: translate(0px, 0);
335 | transform: translate(0px, 0);
336 | }
337 | 10%,
338 | 30%,
339 | 50%,
340 | 70%,
341 | 90% {
342 | -webkit-transform: translate(-1px, 0);
343 | -moz-transform: translate(-1px, 0);
344 | transform: translate(-1px, 0);
345 | }
346 | 20%,
347 | 40%,
348 | 60%,
349 | 80% {
350 | -webkit-transform: translate(1px, 0);
351 | -moz-transform: translate(1px, 0);
352 | transform: translate(1px, 0);
353 | }
354 | 100% {
355 | -webkit-transform: translate(0px, 0);
356 | -moz-transform: translate(0px, 0);
357 | transform: translate(0px, 0);
358 | }
359 | }
360 | @keyframes horizontal {
361 | 0% {
362 | -webkit-transform: translate(0px, 0);
363 | -moz-transform: translate(0px, 0);
364 | transform: translate(0px, 0);
365 | }
366 | 10%,
367 | 30%,
368 | 50%,
369 | 70%,
370 | 90% {
371 | -webkit-transform: translate(-1px, 0);
372 | -moz-transform: translate(-1px, 0);
373 | transform: translate(-1px, 0);
374 | }
375 | 20%,
376 | 40%,
377 | 60%,
378 | 80% {
379 | -webkit-transform: translate(1px, 0);
380 | -moz-transform: translate(1px, 0);
381 | transform: translate(1px, 0);
382 | }
383 | 100% {
384 | -webkit-transform: translate(0px, 0);
385 | -moz-transform: translate(0px, 0);
386 | transform: translate(0px, 0);
387 | }
388 | }
389 | .vcode-slidefaceboder-horizontal {
390 | -webkit-animation: horizontal 0.6s 0.2s ease both;
391 | -moz-animation: horizontal 0.6s 0.2s ease both;
392 | animation: horizontal 0.6s 0.2s ease both;
393 | }
394 | .vcode-spin-control-horizontal {
395 | -webkit-animation: horizontal 0.6s 0.2s ease both;
396 | -moz-animation: horizontal 0.6s 0.2s ease both;
397 | animation: horizontal 0.6s 0.2s ease both;
398 | }
399 | .vcode-slide-faceborder-animate {
400 | -webkit-animation: scaleface 0.5s 1;
401 | -moz-animation: scaleface 0.5s 1;
402 | animation: scaleface 0.5s 1;
403 | }
404 | @-webkit-keyframes scaleface {
405 | 0% {
406 | -webkit-transform: scale(1, 1);
407 | transform: scale(1, 1);
408 | }
409 | 50% {
410 | -webkit-transform: scale(1.05, 1.05);
411 | transform: scale(1.05, 1.05);
412 | }
413 | 100% {
414 | -webkit-transform: scale(1, 1);
415 | transform: scale(1, 1);
416 | }
417 | }
418 | @-moz-keyframes scaleface {
419 | 0% {
420 | -webkit-transform: scale(1, 1);
421 | -moz-transform: scale(1, 1);
422 | transform: scale(1, 1);
423 | }
424 | 50% {
425 | -webkit-transform: scale(1.05, 1.05);
426 | -moz-transform: scale(1.05, 1.05);
427 | transform: scale(1.05, 1.05);
428 | }
429 | 100% {
430 | -webkit-transform: scale(1, 1);
431 | -moz-transform: scale(1, 1);
432 | transform: scale(1, 1);
433 | }
434 | }
435 | @keyframes scaleface {
436 | 0% {
437 | -webkit-transform: scale(1, 1);
438 | -moz-transform: scale(1, 1);
439 | transform: scale(1, 1);
440 | }
441 | 50% {
442 | -webkit-transform: scale(1.05, 1.05);
443 | -moz-transform: scale(1.05, 1.05);
444 | transform: scale(1.05, 1.05);
445 | }
446 | 100% {
447 | -webkit-transform: scale(1, 1);
448 | -moz-transform: scale(1, 1);
449 | transform: scale(1, 1);
450 | }
451 | }
452 | .opacity0 {
453 | opacity: 0;
454 | }
455 | .mleft {
456 | margin-left: none;
457 | }
458 | .translateX0 {
459 | -webkit-transform: translateX(0);
460 | -ms-transform: translateX(0);
461 | -moz-transform: translateX(0);
462 | transform: translateX(0);
463 | }
464 | .vcode-spin-faceboder {
465 | position: relative;
466 | overflow: hidden;
467 | width: 152px;
468 | height: 152px;
469 | margin: 20px auto 25px;
470 | border: 0;
471 | -webkit-background-size: 100% 100%;
472 | background-size: 100% 100%;
473 | }
474 | .vcode-spin-img {
475 | position: relative;
476 | z-index: 999;
477 | width: 100%;
478 | height: 100%;
479 | background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIxNHB4IiBoZWlnaHQ9IjE0cHgiIHZpZXdCb3g9IjAgMCAxNCAxNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4gICAgICAgIDx0aXRsZT5tb2RhbC1jbG9zZTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIG9wYWNpdHk9IjAuNSI+ICAgICAgICA8ZyBpZD0i5aaC5p6c6L2v5Lu25rKh5omT5byA77yM5oiW6ICF5pyJ5byA5ZCv57+75aKZ5a+86Ie05peg5rOV5L2/55SoIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtOTEyLjAwMDAwMCwgLTM3NS4wMDAwMDApIiBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iPiAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJtb2RhbC1jbG9zZSIgcG9pbnRzPSI5MjYgMzc2LjQxNSA5MjQuNTg1IDM3NSA5MTkgMzgwLjU4NSA5MTMuNDE1IDM3NSA5MTIgMzc2LjQxNSA5MTcuNTg1IDM4MiA5MTIgMzg3LjU4NSA5MTMuNDE1IDM4OSA5MTkgMzgzLjQxNSA5MjQuNTg1IDM4OSA5MjYgMzg3LjU4NSA5MjAuNDE1IDM4MiI+PC9wb2x5Z29uPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+);
480 | -webkit-background-size: 100% 100%;
481 | background-size: 100% 100%;
482 | background-repeat: no-repeat;
483 | pointer-events: none;
484 | -webkit-border-radius: 50%;
485 | border-radius: 50%;
486 | }
487 | .vcode-spin-mask {
488 | position: absolute;
489 | z-index: 1000;
490 | top: 0;
491 | left: 0;
492 | width: 100%;
493 | height: 100%;
494 | opacity: 0.5;
495 | -webkit-border-radius: 50%;
496 | border-radius: 50%;
497 | background: #000;
498 | }
499 | .vcode-spin-icon {
500 | position: absolute;
501 | z-index: 1001;
502 | top: 50%;
503 | left: 50%;
504 | }
505 | .vcode-spin-icon-loading {
506 | width: 75px;
507 | height: 41px;
508 | margin-left: -38px;
509 | margin-top: -20px;
510 | background-image: url(data:image/gif;base64,R0lGODlhlgBRAIABAP///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE4MkE3QzA3NDAwQjExRThBNEM0QTI0QTJBOEY0MTM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE4MkE3QzA4NDAwQjExRThBNEM0QTI0QTJBOEY0MTM4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTgyQTdDMDU0MDBCMTFFOEE0QzRBMjRBMkE4RjQxMzgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTgyQTdDMDY0MDBCMTFFOEE0QzRBMjRBMkE4RjQxMzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4B//79/Pv6+fj39vX08/Lx8O/u7ezr6uno5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++vby7urm4t7a1tLOysbCvrq2sq6qpqKempaSjoqGgn56dnJuamZiXlpWUk5KRkI+OjYyLiomIh4aFhIOCgYB/fn18e3p5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhYF9eXVxbWllYV1ZVVFNSUVBPTk1MS0pJSEdGRURDQkFAPz49PDs6OTg3NjU0MzIxMC8uLSwrKikoJyYlJCMiISAfHh0cGxoZGBcWFRQTEhEQDw4NDAsKCQgHBgUEAwIBAAAh+QQJAwABACwAAAAAlgBRAAAC/4yPqcvtD6OctNqLs968+w+G4kiW5omm6sq27gvH8kzX9o3n+s73/g8MCofEovGITCqXzKbzCY1Kp9Sq9YrNarfcrvf7AYjHgBuZbD6XNeq2rH1+w9GWufplv7vy9Ak/zvIHuCI45ldoqILYh7IoFuGY2BipGLnmYHlpkqlZkvnA2TnCOfnZEHoSKhqCyqC6GtZK8uqquik7artA64krwqsAnEva63sg/GsMgnysO6scC828DO0xbVBtnd2Rvc1tegteS1lKnmoJIR6+WGmO6RjITggvIR8vuIdYUQiDj+dfx84MPgMFchhkQ08aSWAaOnwIMaLEiRQrWryIMaPGjRscO3r8CDKkyJEkS5o8iTKlypUsW7p8CTMmhAIAIfkECQMAAQAsAAAAAJYAUQAAAv+Mj6nL7Q+jnLTai7PevPsPhuJIluaJpurKtu4Lx/JM1/aN5/rO9/4PDAqHxKLxiEwql8ym8wmNSqfUqvWKzWq33K4PAA4DvDexGVw7o21qjfode4tl8nml3m7hza99mOJ3xhJot0K4BnHIl6L4p9I4lggZiTL5aOkw6WiiScmJ2dDpSdJZWcogijiSeiIayloCSyqbkDoaQitii5qL6xrba7ALfDr7qzBsrPl5XBv88eyRjFysDLoa3YxdvX29sGzq3Q35AN5qztwYQX6pzijOS6inOOguIe9ymK9vgUfnBwMfhjwz9hSsc0UQjkVkGjp8CDGixIkUK1q8iDGjxo0bHDt6/AgypMiRJEuaPIkypcqVLFu6fAkz5o0CACH5BAkDAAEALAAAAACWAFEAAAL/jI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8YhMKpfMpvMJjUqn1Kr1io0Btlnf9gvmdm/hsngsM6vP6Nb6rTWTy5e33WUHpPOU/Jrl9/USqBdBqKZyyJaiaKgYxvhYGNnoIEl3cpmo2XAJaeI5CcrJECo4Slpi2mkqKtKaGcq6qkpL0up6gIvqydu7sFsrKzwMXHxrOxJs/Euc+gpbeqycDF2d0Ows6fussI0SrV35MA6ejXw+y7cyjf7Ytw74bT4/8Qfzzp7PdIjX/xQIX8Ao8QTeq4Jpzqk2DBs6fAgxosSJFCtavIgxo8aNGhw7evwIMqTIkSRLmjyJMqXKlSxbunwJM2YBACH5BAkDAAEALAAAAACWAFEAAAL/jI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8YhMKpfMpvMJjToA1CpAOrRqqVjf9svt5sBk8Y2MNtPQbLWMnXa/4G15ix6/f8/bCr6uAvcmGPGXd2I4h1doCJbSeMXSCAG5h1i5gjlVqYXCGfjZwNlpMhp5qclgWoWaWrK6Odoa+moaS0uyejqiu6sgO+sq0ns7GQxZqvsgnAtb61xM6AnNq0y5CGr7rM1YJkk9bD1hqcfdDHxkfo5bpL5unMS+DR9PP21fj/39B6VfLv0EoCJvYvrgIGUnocKFDBs6fAgxosSJFCtavIgxo8aNGBw7evwIMqTIkSRLmjyJMqXKlSxbujxZAAAh+QQJAwABACwAAAAAlgBRAAAC/4yPqcvtD6OctNqLs968+w+G4kiW5omm6sq27gvH8kzX9o3n+s73/g8MCofEohEHSCoBx2ZiCV06j9Fqckq0arFBrZfr84rBPPGXnDOP0Tf1mU1zr+Ey+ZsOs2/xMb31FcXmV8ViVkNIMRio4tZnGKEIleLnIicReYWiWGgHiTk5uBIKEQm6qXnqUIqaarL6MHqCmVky62lp+kpie/uY2yoyS0t69xs7IsxUIQnIuytM5YwMbUT9LD1kPY0tpB3sna17DZwlvk1eTmmM64R+rselzigfr9bMTuZb2ci3GFfMpwezgAQLGjyIMKHChQwbOnwIMaLEiRQrWryIMaPGjRUcO3r8CDKkyJEkS5o8iTKlypVYCgAAIfkECQMAAQAsAAAAAJYAUQAAAv+Mj6nL7Q+jnLTai7PevPsPhuJIluaJpurKtu4Lx/JM1/aN5/oI7L4JCAqFvyJniBwal5SkU8mMMp7UoPSKqFKxWG2VG/VqwUvxl1w0b9E+9Zmdc6/hOPmTHrcn8XU9EgbFF+D3x/JGR2i1YoaX2KPihpgIKSfjdEFIaeciVqGn+bnIOBGKMgna2TSa4vh4UiqRigpLkul519Jq6oemC3TK5VviSCbMYyyFHNLqeqUMwgz2/BEdTDw8XWaLfW3N+9vtXbm7XTxO/s0WKUqrPpabzof70i54c26/o5avPcfPVOifwIEECxo8iDChwoUMGzp8CDGixIkUK1q8iDGjxo0UHDt6/AgypMiRJEuaPIkypcoSBQAAIfkECQMAAQAsAAAAAJYAUQAAAv+Mj6nL7Q+jnLTai7PevPsPhuJIluaJpurKtu4Lx/JMo8CN4/XO5n7OC5Z+xJvw+CkqkcyM8tmMTp5UqbVBzV63iGyVy/VCwVfxlxw1j9FN9ZLddhNdRfhCPl9p7Qf8T6XGF+DnkyInSGhkg8eXCGDI2OgHOWlHSBlpebiY+JJ34Qbo2LNXYaY3KuqFcaZ6ibnqBOSZepLJ5vhoW4lbO8SLlrv7Guw7YgzWaZKrWwx8LAz3DI2cHMqpLH09nK1Zik0suQY7La5DGy4YVK1ek97O8w6/czsvtG2PdJov1cpvVeifwIEECxo8iDChwoUMGzp8CDGixIkUK1q8iDGjxo0UHDt6/AgypMiRJEuaPIkypUoTBQAAIfkECQMAAQAsAAAAAJYAUQAAAv+Mj6nL7Q+jnLTai7PevPsPhuJIluaJpurKtu4LxyBA14CM4/Zu5/7KC9J+xJLwWEx+jkylM8OMPqeUaJOKdVil2W5ie20JvREwV2Ula83IFFu9YLdP8hscUQ+i8vZ7gL+zl+dnANhjYkhoWEMHSPiXiLioGGk0STnYWHnnqNmJ+Sa4CcQDFSr6iRZWYUY6KrmFcab6SiKnEfiy2Ad7ClrnxvcIKYx6O1zsmfkIHJz6O9v77AfmWssZrZw8fFDqssvL/QMunkReTnSOPn69DnPpzr4c7zNNLzN/X++rL5/W7yQbQHPeBho8iDChwoUMGzp8CDGixIkUK1q8iDGjxo0YHDt6/AgypMiRJEuaPIkypcqVLFu6lFAAACH5BAkDAAEALAAAAACWAFEAAAL/jI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTKPAjeP1zuZ+zguWfsSb8PgpKmNKAFLTXLaiumeFKlVhq9bINnv6crsOMTFlHpMXaZ+tbVyz4UAT3SlX3NWhPT5/4Pc34geIIGi3ZxhYOKS4GIDoeAcZ2Uhyufg4SccUZ7GJGYrWdAX3RrmCRdEZNsq5KtGm1YoqNmGmWps4K7s11Wuby1r6kka7i1snc4t8Wpnw65wMbVkE/Fq9I6ktxN3N8w1eIz4+U27OnJq+vc5Ok/0OQy2vPlwf3owf9LWPFOvv37WABAsaPIgwocKFDBs6fAgxosSJFCtavIgxo8aNGRw7evwIMqTIkSRLmjyJMqXKlSxbunxpsAAAIfkECQMAAQAsAAAAAJYAUQAAAv+Mj6nL7Q+jnLTai7PevPsPhuJIluaJpurKtu4Lx/JM1zKA57jNr/qf65UANqAxKOwcibDlMqlxIlnSJ7RS/VGzwCuFq02BjV7JeGo6k8sONZrkDrMX8beobp8b8MwhX0+Hd8LXB7hHmPbnsjZBWHin6OPUiOgnqAIW4Zh4iXIGsWlZJ6b2ECpa6hln2on6qerGOgr7OtiqEGk7hnmLuyrJxZsbWAssZTzbEPsyuTXMkEmj01QJWmWo29t2hE2b3O11Ch6uPS70bJ70nX61zg61/M5WLF8WXQ94jA/OuO//DzCgwIEECxo8iDChwoUMGzp8CDGixIkUK1q8iDGjxo0bHDt6/AgypMiRJEuaPIkypcqVLFu6fAkzppcCACH5BAkDAAEALAAAAACWAFEAAAL/jI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8cyC9R2Pefxzdv6n+oJfcBiaIgEGJecZJIJvTiR0apk+rRqGVjqdiJ8dbOtsAZLGw/TTml3pV6rxpX4PN6706/4IJ7nZwfxh3NCeINyOEiYeFhooujgqAQ5aegoiVmpWWLJNUnZGSnqqQAaSsKZCvpZSiq4qYpwGrh36TrLWjulJ3tA20vWiPurG2x2/NdAfAzDXDz6deSbEC09rfxgff2xvZDNPQK+aBsurlb3Zh7b5ua1Piy3AQjvQl+Pn6+/z9/v/w8woMCBBAsaPIgwocKFDBs6fAgxosSJFCtavIgxo8aNHhw7evwIMqTIkSRLmjyJMqXKlSxbunwJM6bMmV8KAAAh+QQJAwABACwAAAAAlgBRAAAC/4yPqcvtD6OctNqLs968+w+G4kiW5omm6sq27gvH8kzXMoDnuM2v+p/rCUfAYrAGGIKMzCSMqdQ0m67pLmqxGllaHXbS3abC3u+DLD6hr+bGGoh6s9sKeblkn9MPeb2ov1cHaDJIUfTS50SSqAgx1ZJIGOnY5VNINOmAppKJebnwNvYZwqgpJ3oqOYpghxqqlmfaGvcKO8uw6hnGGYvbqarFleqbq0sFuXb2S5uGvCnbW3U0s0tZHOgRHFGKbQsHttytdC3OQ15uc4v+pb6OVetu9hxPV00f+Hhffqjf7/8PMKDAgQQLGjyIMKHChQwbOnwIMaLEiRQrWryIMaPGjRscO3r8CDKkyJEkS5o8iTKlypUsW7p8CTMmxgIAIfkECQMAAQAsAAAAAJYAUQAAAv+Mj6nL7Q+jnLTai7PevPsPhuJIluaJpurKtu4Lx/JM1/Z9APq+477JC/J+xI/wqCtukEkYE6m8PIetKTQ6sVJV2iv20d2ewt7vgiwuoYVmxjo9esPbAXlTbe/Rc3kAsO+3ZwD41yc4aIiXKEiomHdYtxjXyCgpAhhYofdCSWIJ9lT1GTLqZsXS6SkngcZVCmIX8ea6mjILEYvySNvFWqt7uxLmmwtM5hSatWs7PBNkgSmsBZkQjcpErWCd/bPNjeP9bRMuTkNe7ryMPq6+bt7unh4cz95K72N/j9+rTzTdrwQbwIEECxo8iDChwoUMGzp8CDGixIkUK1q8iDGjxo0ZHDt6/AgypMiRJEuaPIkypcqVLFu6fJmyAAAh+QQJAwABACwAAAAAlgBRAAAC/4yPqcvtD6OctNqLs968+w+G4kiW5omm6sq27gvH8kwjwI0D9d7mfs4Lln7Em/D4KSqRzIzy2YxOnlSp1UGFXre2rJb7KL68X/AiyyJXzQm1LuVesg/x96lOnBvw9iEfqMeH8gfIRnhHaDR3aJKoaOaI+BeYKCm4WGkZpxcQqel2kefi+ellsbZCWloWoZaaCUdWsRnL+CpHgVc7OVY4e7kqy8kbbEpJ3Kg7bFsstgzb7MO5pxr9+Mw8iDrt2HeLM63QHX40Th5kfs4DrV7D3k6DDO8OPL+jbI8Oml8uzI+07R8TUQILGjyIMKHChQwbOnwIMaLEiRQrWryIMaPGjRgcO3r8CDKkyJEkS5o8iTKlypUsW7qsUQAAIfkECQMAAQAsAAAAAJYAUQAAAv+Mj6nL7Q+jnLTai7PevPsPhuJIluaJpurKtu4Lx/JM1/aNAPoO4D7KC+p+RJDwOCwqMcjm8jlpSqHUhvRazeauTm2Wi/VSwVPxkxw2F9FlNZHddW+FLjhSfuCy7Ec8W8VH52aXEhg0yFdo2INICLTYmPgoqQY56VjRV7fIeEIpAbbHCfhHgbbC2XmZBlq6+qkYF4VpkvqimRn4SutluAtXaVliazZaa9xLPOxbrEwinIy8zKuVqjp9GsnsCaytS6rn5/zLg5cHLVpuPve97rPtjgMffwNLX+96/5Otr8Taf0YdwIEECxo8iDChwoUMGzp8CDGixIkUK1q8iDGjxo0VHDt6/AgypMiRJEuaPIkypcqVHgsAACH5BAkDAAEALAAAAACWAFEAAAL/jI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwyqAMRiUYiUGJfGpHPBjBKf1ID0Wk1et9ng9tv1fcdh3hhc1p25adwa3a692XHaHFtvvu7SNn3Ix1S2thIo2DUHaHhEESXDp2g4ceYiibI4FfHGgpmyqJQYCXlp+RDoiQmAeqdZWpKqukrYenoCWzgLkWq7y/mn22lyu6fXOExyrJUssiwEG4vc6/QsLK1szYzt3BwS/ERd7TrtHc6apR0diijOm7te6/sbBl/pWGdgfr+zqS8m399jCcCBBAsaPIgwocKFDBs6fAgxosSJFCtavIgxo8aNFRw7evwIMqTIkSRLmjyJMqXKlSALAAAh+QQJAwABACwAAAAAlgBRAAAC/4yPqcvtD6OctNqLs968+w+G4kiW5omm6sq27gvH8kzX9o3n+s73/g8MCofEovGITCqXTB3g2VQ+p1RodFjNWq8+rXfLzX3HYfGYXLad0enZ+tx2v79x2ZzOzb7ubIm2tsbChwfxFjO3MugVceeimKL49zAoGIkSqedgqYJ5iUml2ekpavIJtvAJmXpiChC6WtLqWmr6SkoiO/rYIDuL26pKaQs7khuMOGn8W8uJnAwcC90Mx6hcLJ24ONFLy1zEHe39Lb68eYRdvotE3C2cxB7u/q5+7Lwknx2YZ9+iX0ZNI1MdA1UGGjyIMKHChQwbOnwIMaLEiRQrWryIMaPGjRccO3r8CDKkyJEkS5o8iTKlypUsW3osAAAh+QQJAwABACwAAAAAlgBRAAAC/4yPqcvtD6OctNqLs968+w+G4kiW5omm6sq27gvH8kzX9o3n+s73/g8MCofEovGITCqXzKbzCY1Kp9Sq9Yp1ALZcQJbXDW+/N7F5TJad12nY+o0xl+Wvt51iR7vvrTxb4qfHEih4QngWceg1qKiiKAbxuJgiOVlSGaZV6SiJgtml2emJafhZiGA6umlienqQygpL0mqJ2hr7iZu7QKu7OnvLGwy8e1ms0Gt8PCKLPMzcTPwYuhzyLN3YkIwtWppN3c09TXmYWC1yrpw3QaoazvnH/uv97UJn8U4f6FQP7wdFaM86KXxiDKySCQekNgwbOnwIMaLEiRQrWryIMaPGjRscO3r8CDKkyJEkS5o8iTKlypUsW7p8CTPmjwIAIfkECQMAAQAsAAAAAJYAUQAAAv+Mj6nL7Q+jnLTai7PevPsPhuJIluaJpurKtu4Lx/JM1/aN5/rO9/4PDAqHxKLxiEwql8ym8wmNSqfUqvWKzWq33K4XCwiLxZ0x2WY+y9JsDDu9fqtdcnilbn7h8609X+I31hc4h0IoGHFYaKK4SNLomAAZpjKZMhl5gHm5eYJJ2fAJYNjJ+Okg6plaIgqq0DrKuvrYygBreio7K1mrWzpyuxBMm0tczLsr0mv8izAMnBzy7LwMfWxtGXqtHC29Td2M3cgJCREurkg+/nCOHrhSnrhemc5SD3hIRwjjd7Gv1y8GHg0D49S5kckNIoR/vjh8CDGixIkUK1q8iDGjxo0dHDt6/AgypMiRJEuaPIkypcqVLFu6fAkzpkyPBQAAIfkEBQMAAQAsAAAAAJYAUQAAAv+Mj6nL7Q+jnLTai7PevPsPhuJIluaJpurKtu4Lx/JM1/aN5/rO9/4PDAqHxKLxiEwql8ym8wmNSqfUqvWKzWq33K73+wGIx4AbmWw+lzXqtqx9fsPRlrn6Zb+78vQJP87yB7giOOZXaKiC2IeyKBbhmNgYqRi55mB5aZKpWZL5wNk5wjn52RB6EioagsqguhrWSvLqqropO2q7QOuJK8KrAJxL2ut7IPxrDIJ8rDurHAvNvAztMW1QbZ3dkb3NbXoLXktZSp5qCSEevlhpjukYyE4ILyEfL7iHWFEIg4/nX8fODD4DBXIYZENPGklgGjp8CDGixIkUK1q8iDGjxo0bHDt6/AgypMiRJEuaPIkypcqVLFu6fAkzJoQCACH5BAUDAAEALAAAAAABAAEAAAICTAEAIfkEBQMAAQAsAAAAAAEAAQAAAgJMAQA7);
511 | -webkit-background-size: 100% 100%;
512 | background-size: 100% 100%;
513 | background-repeat: no-repeat;
514 | }
515 | .vcode-spin-icon-success {
516 | width: 64px;
517 | height: 44px;
518 | margin-left: -32px;
519 | margin-top: -22px;
520 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH4AAABWCAYAAAAJ3CLTAAAAAXNSR0IArs4c6QAABFZJREFUeAHtncuO00AQRWdALFkiXsM0Az/FArGIhPg3EAvEazEL4AdY824eQsBXhNsTW1gmiduu6vct6cp20qmuuiftOMkoc3DAqM6B9Xq9gp5Dvzq5/VV1jbKhjQOAewSdQrvC3XeVflXkAIAeQ593ER/cflpR22230kH/MoA7tbs637Zl5XfvoKOL19DJjG4uEPwMt3IbuhC6a+PiudyaYT1+Dgign01A8H4+ZzVKCh3NvCX4rJBOF6MA3U3yeHomjsjGAQcdmnP1juH/Bd/OZUPUoxDg04DunjTXPabjkBwcUITu3voxSnCA0EugpFwjoSsbWkI6Qi+BknKNStDdFzZ8TVdmEyydIvQbwYpkYl0HCF3XzyKyEXoRmHSLJHRdP4vIRuhFYNItktB1/SwiG6EXgUm3SEA3kPRbNvc+nW/ZdNGEy9ZBt9hKgtDDIdLPDNIGspAkCF0fTbiMIG0gC0mC0MMh0s8M0gaykCQIXR9NuIwgbSALSYLQwyHSzwzSBrKQJAhdH024jCBtIAtJgtDDIdLPDNIGspAkCF0fTbiMIG0gC0mC0MMh0s8M0gaykCTiQ0e1d6CH0KdOj9xt+hbVlxE+GegrJAnne7yPYTHZJejJnordfZfrw6XTEbwxkIUkERe6ax3Vut9ImYp3GMCf0Rg9V+CJgSwkiSTQ786omPAH4OGbgSwkifjQu9X+dGbVhL85Sxr4Zmd6Nx6eBnoH/ue4Go/jpuHDHwNZSBIO+tHgBBJ3F5P/WVh9k/DhlYEsJIm00LsV/1LQQVPw4ZOBLCSJ9NA78A8kXeCx76Hqr/bRo4E03qenO70PX0zQzCH0BpJE1SsfxhjIQpLIY6WP4Bt09EPSFR5b5cpHXwaqZ6UPwXen/NtoUAq/qpUPP25WDb1/EqBJDfhVrPxmoBN+78DZR9htrPR/LW/2Wl75za10wm94pe+A/x2rQBJFvOajwTZP72Po/TEMcRd8VcMn9J72aFszfEIfwR4fwqBbkMbKvzbOneqY0D2drwk+oXtC74fVAJ/Qe5oztyXDV4L+EXny+JZtJjvx8BLhE7oY+yZBSfAJXQl6n6YE+ITe01Le5gyf0JVhj9PlCF8ROv+dxxj48Dgn+IQ+JBNhPwf4hB4B9LYpUsIn9G1EIt6mBP8D8nh/tk/oEQHvmyomfMx1Akn/GtZ9IscLuX1Qfe+LAb+D/g1bSRC6L1TfcaCh8ZXu1tM+cruVTui+MGKPCwGf0GNTXDifJnxCXwgh1cM6+NJTszvta+TghVzMJ4ISfKRZHLyQiwl8OBeQaVyULSFP6EMQKfYTwCf0FKC3zRkRvrsu4Gv6NgipbosAn9BTwZ2aNyB8Qp8yP/X9AeATemqovvMrwid0X9NzGacAn9BzgTm3DgF8Qp9rdm7jF8An9NwgLq1nBnxCX2pyro8D/GPoFbQr3M+yXsm1ftYlcABgD6H70AvoN+R+dfsZdE+QttmH/gVo1WKZD73PfwAAAABJRU5ErkJggg==);
521 | -webkit-background-size: 100% 100%;
522 | background-size: 100% 100%;
523 | background-repeat: no-repeat;
524 | }
525 | .vcode-spin-icon-error {
526 | width: 52px;
527 | height: 52px;
528 | margin-left: -26px;
529 | margin-top: -26px;
530 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGoAAABqCAYAAABUIcSXAAAAAXNSR0IArs4c6QAABOhJREFUeAHt3F1O3DAUBeCZ7qJQUVXdQ6U+tUtBILq79okKUEGwAlaACO0DFV1C+0DPzXBnMpnYiR0nsZ1jyXUm/ok5H8wwBbJYVMrz8/MR6nfU3y9Vjo8qQ3gYOAHke4h6ivqIKrlL5seoy51L4eRr1B+opiJ9+zsTecI7AeS5h3phChznr2TM1gVwwoaka93j4GBrIh94JYAc36DeabCWVrBWX1k4kKe7roVYXjSbSQi6K5KanJSz8UieE10KsTa5Ox0hZFckcTlXKHkBcy3EciJaLBCwD5K4PMmlXjleT4e/w8ENFuFrliZiaQVJ8kJ9bxlm7RKoW+sIcyexzNmsewIglT4C9XW9qvsBsSyZBUCS1Tc+WLDLt+cYZix8zaqBISnf16RqyJtvz2V99OyjSth9CrFesBBiCKRC1qn5l1gH6CDWTjJuJwIivTVeGRchljGd9o5RkHQbxNIk3NpRkXRrxNIkurWTIOnWiKVJ2NtJkXRrxNIkmtsokHRrxNIkttuokHRrxNIkVm2USLpFYiWARKyEkOaOFfXTneLU27k9DSaJpGhzwUoaaS5YWSDljpUVUq5YWSLlhpU1Ui5Ys0BKHWtWSKlizRIpNaxZI6WCRSSVQoswovyFGSJVkPQwNiwiqUxDGwsWkRpw6qemxiJSXcTyeCosIllQTF1jYxHJJNHh/FhYROqA0TZkaCwitQk49A+FRSQHhK5DQ2MRqWvyHuMCYn3AWneofUqByea/T/L4+LKagnBC/HfT3z5CmFugEqntMwshhcDCMl6lwCwitSFpP8KaAotICuDSjoxFJBec+tiRsIhUD97n8cBYRPJBMc0ZCItIpsD7nA+MRaQ+GG1zgSVvZvu+T5L5H9uuxX7PBBBuiNvWYJmy3ONf3sLO08I4DaGGRFpRrW4nRCxj6o4dAyERy9HBOnxgJGJZ0+/YORISsTp6NA4bGYlYjQotJydCih7L9y7NLXH7dQsSZt6get/NGHP/ofqWaO+RGw1UIKQHCH1CLXylMC9arB4fU5ipgZ7uCqxT/tAPbYifZ/FNcZU3NJKuTSxNIkA7FJJujViaRI92aCTdGrE0CY92LCTdGrE0CYd2bCTdGrE0iQ7tVEi6NWJpEpZ2aiTdGrE0iYY2FiTdGrE0iUobG5JujViaBNpYkXSLxEoAiVgJIc0aK/anO8Wpt7N6GkwVSdFmgZU60iywckHKGis3pCyxckXKCit3pCyw5oKUNNbckJLEmitSUlhzR0oCi0jKtGqRR3y/N0ikbSR9FBUWkZSluY0Ci0jNOPWzk2IRqc5hfzwJFpHsKKbeUbGIZGLodn4ULCJ1w2gbNSgWFt9D5e092xQ69gfE2t+6JBa+QO1TCkzmnSMrqSKPEG+KL9dLYsFD1D6lwGQirRPdHCCXEFjH5YpY7BTVtxSYSKSNzc4R8umLdaZQj55KRNphaT7RE+tJVpW/il82L289+4Dez8vl8qd1FDvLBJDTL8kLtShPuP1T+gjUrdu8xQPGE8kxtB5YpY9AfXO45gPGEskhsOpQT6yVD54/l6hXqG2lwAB+41BN3vMYOXb9BuMaYzcvTXggb3htWNInt79hCZQA8txHvUQ1lWt0bL/hlWvjpHxlnaCeoz69VDmWcxvVQBvlMuvMj5Hv2Uvef9BK5l9QmXmKnyT/AS/pCbJI4duRAAAAAElFTkSuQmCC);
531 | -webkit-background-size: 100% 100%;
532 | background-size: 100% 100%;
533 | background-repeat: no-repeat;
534 | }
535 | .vcode-spin-control {
536 | position: relative;
537 | width: 260px;
538 | height: 50px;
539 | margin: 0 auto;
540 | }
541 | .vcode-spin-bottom {
542 | position: absolute;
543 | top: 0;
544 | left: 0;
545 | -webkit-box-sizing: border-box;
546 | -moz-box-sizing: border-box;
547 | box-sizing: border-box;
548 | width: 100%;
549 | height: 100%;
550 | border: 1px solid #ddd;
551 | -webkit-border-radius: 100px;
552 | border-radius: 100px;
553 | background: #f7f7f7;
554 | overflow: hidden;
555 | }
556 | .vcode-spin-bottom p {
557 | position: absolute;
558 | top: 50%;
559 | left: 50%;
560 | height: 21px;
561 | margin-top: 32px;
562 | opacity: 0;
563 | margin-left: -88px;
564 | font-family: PingFangSC-Regular;
565 | font-size: 15px;
566 | text-align: center;
567 | letter-spacing: -0.36px;
568 | color: #4a4a4a;
569 | -webkit-user-select: none;
570 | -moz-user-select: none;
571 | -ms-user-select: none;
572 | user-select: none;
573 | line-height: 21px;
574 | }
575 | .vcode-spin-bottom-top p {
576 | margin-top: -10px;
577 | opacity: 1;
578 | }
579 | .vcode-spin-button {
580 | position: absolute;
581 | top: 0;
582 | -webkit-box-sizing: border-box;
583 | -moz-box-sizing: border-box;
584 | box-sizing: border-box;
585 | width: 50px;
586 | height: 100%;
587 | border: 1px solid #ddd;
588 | -webkit-border-radius: 100px;
589 | border-radius: 100px;
590 | background: #fff;
591 | -webkit-transform: translateX(0);
592 | -ms-transform: translateX(0);
593 | -moz-transform: translateX(0);
594 | transform: translateX(0);
595 | }
596 | .vcode-spin-button p {
597 | position: absolute;
598 | top: 50%;
599 | left: 50%;
600 | width: 20px;
601 | height: 20px;
602 | margin-left: -10px;
603 | margin-top: -10px;
604 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAyCAYAAAATIfj2AAAAAXNSR0IArs4c6QAABAdJREFUaAXtWUloU0EYbhaNTQWhItiIBz2kaYkHodWDBxEUa9OFIBHxoOnB3oSCgoqCKdijC3rpQTBCcYsQaUsE0eJBRIXiQZEuehJzUxCa1mIWvxFHpsPMvCUzh8oLlDfzzbxvvn+Zmb9JQ4P38TzgecDzgOeBVeQBn0prKpUKLC0tXa7VagNkns/nu93Y2Hgxl8tVVO9ZjZniJesGVYsvLi6OwJizdA7a54BtRv+PgRR3+jTFS3T4LcSk+XEYle7p6TnJ4w77pngtDRLqrFarN/r6+nYKB+sAdfAqI4Ro3JHoW1epVB5hL2yQjCthU7xkUaVBgUBgGAfBB5E6iNpeKpWyojErzBQvWTegWnxubu5XPB5/jlRIY15IMDcWjUZL8/PzrwRjUsgUL1lQeWxTRYlEIoWIPKR97lmGx/dNTEy85HDLrgleZYSoIkTgY2trazOM2k0x5knStguRHJuZmSkxuGXTBK9yD7GKIpHIGfRfsxhtw9DI8vLyvUwmY5uPvqub11aEyOLT09PV9vb2pxB/HN0wFcQ8txWLxSC8PsVglk3dvLb2EKuqu7u7C/0C/kTv1rCfEthPT9h37LR18dqOEBWFCHzCyUZSay/FmKcPETwUi8Xu4yT7weCWTV28jnOeKOvs7CT30zOJymYc8zlcumsl41JYB68rg7D5q+Fw+BiM+ipShyjtQgF6RTSmwnTwivaBas0VY6jn9pTL5RcAhVW73+8/Ojk5+WDFSzY69fA63kOsntnZ2S+4n0qIyEEWZ9pdbW1tOcz7zmCWzXp4XaUcqwgRuIrUy7MYbcPQ9ShiM7Tv5OmWt26DiEik1hCMqooEw6gdItwO5oZXi0E41a5DuJALhr63I140xw2vUISIXIahwDwNY5KicRizgIs2Ixqzwtzy/nennOsI4eLchA1PjmThkY3o3HRzZNfL68ogUlXj4ryLVNsiSh0Y8xYXL6nOHX108Lq6h5qamoZhzIBILYz5htNpfz6fd3T3EC4dvI73kK6qmHeGLl5HKdff378VERiDGKEjEJkRN/866OS1bdDg4OAa1G05pNpG3rt/+1MdHR2XJGNSWDev7T3U0tJyDcYcFilD1IqhUOjA6OjogmhchenmFaYOLwD5fQSYrGp2/a2PCV7LlEsmk1FE4BZvJO1j7Lybr7BM8Soj1NvbG0Y99QapFqcGcM/HhUJBWPZw81Z0TfGSRYS3PF0dlQDZ5DJjPuPeSNO5Tp6meIkGZcohnU5IhP4MBoMp/PDl6IsQymWK19IgKoB/ooI+NT4+/o7H6+3r4FVGCAKzvEh4N4tDQHpI8PMlfVO86j2EAvMCfmPFmfCvbssSTCLSNmyK17YAb6LnAc8DngdWrQd+A6CJYdIFu4L0AAAAAElFTkSuQmCC);
605 | -webkit-background-size: 100% 100%;
606 | background-size: 100% 100%;
607 | background-repeat: no-repeat;
608 | }
609 | .vcode-spin-button-focus {
610 | border: 1px solid #007dff;
611 | background: #007dff;
612 | }
613 | .vcode-spin-button-focus p {
614 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAyCAYAAAATIfj2AAAAAXNSR0IArs4c6QAAAoRJREFUaAXtmb9OVFEQxjcQKGyspIPK2FvrA+gDAC8AL6C+gGIidvx5ABtqeABCDZSEFjtNLLTRwoLo+jvZJcBhvpnrLlPs5kzyhT3z5/vOzM1y757b6zVrE2gTaBNoE5iWCfT7/VnwAXwbonyeHbe/wgHunTfcF6KboLZPYWGQAGEKbyDb6yFcroxl62GxkwBhCq8jOQg5wr+JPQ0JREIWr5C7diP8ESj7TODhdXb3T9Sl8IY7QPgBOAfKDkISIwGyFF5D6q4L8Sfgp+oI/5u7VbEnizdWJgPxZaehS2LPOxFVSVm8lYy9RHzbaeorsQW70vdm8fqqRBGeA8dA2RGBmZCoSqAmhbeSsZeIL4LvQNl7u9L3QpbC66sOo4i/AH9FR8X/shNRlZTFW8nYS8TfioaK+wdYsit9L3UpvL4qUYRnwCFQdkpgPiSqEqhJ4a1k7CXij8AXoGzXrvS9kKXw+qrDKOLPQLkPKVvtRFQlQZbCW8nYS8RfqW7w/wKP7Urfm8Xrqw6jiO8DZXudSIwkCFN4DanbLoSXwB/R0dnt7O6rUXj/+84utrOFX3Gdi5ou7ixerc0UX4srU9zjfIdSeHUnRNhwyn+jLN6omeh+seMSiCDNpPAKuYEb0ZQ7ehav20wJIvwOKCtP46M+y6Xwug2x2el52qaZ6HfLhjsNEcziFXIDN6Lll+UJUHZEQN2LJDc1KbxS8CqA8PScKdDMClBWnrZHPfVJ4b26COZfNjs953I0k3LCmcVrXpGbToS9M+gL4hln2yPz3ty7+ZkNq9ceE/v2QTW0Zk6go9MZ1Fi8oTzCm6C2iX6DV78LLQ1mvGO9F97wCrWENoE2gTaBiZ/AP+8/LMb6T9MeAAAAAElFTkSuQmCC);
615 | -webkit-background-size: 100% 100%;
616 | background-size: 100% 100%;
617 | background-repeat: no-repeat;
618 | }
619 | .vcode-spin-button-loading {
620 | border: 1px solid #ccc;
621 | background: #ccc;
622 | }
623 | .vcode-spin-button-loading p {
624 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAyCAYAAAATIfj2AAAAAXNSR0IArs4c6QAAAoRJREFUaAXtmb9OVFEQxjcQKGyspIPK2FvrA+gDAC8AL6C+gGIidvx5ABtqeABCDZSEFjtNLLTRwoLo+jvZJcBhvpnrLlPs5kzyhT3z5/vOzM1y757b6zVrE2gTaBNoE5iWCfT7/VnwAXwbonyeHbe/wgHunTfcF6KboLZPYWGQAGEKbyDb6yFcroxl62GxkwBhCq8jOQg5wr+JPQ0JREIWr5C7diP8ESj7TODhdXb3T9Sl8IY7QPgBOAfKDkISIwGyFF5D6q4L8Sfgp+oI/5u7VbEnizdWJgPxZaehS2LPOxFVSVm8lYy9RHzbaeorsQW70vdm8fqqRBGeA8dA2RGBmZCoSqAmhbeSsZeIL4LvQNl7u9L3QpbC66sOo4i/AH9FR8X/shNRlZTFW8nYS8TfioaK+wdYsit9L3UpvL4qUYRnwCFQdkpgPiSqEqhJ4a1k7CXij8AXoGzXrvS9kKXw+qrDKOLPQLkPKVvtRFQlQZbCW8nYS8RfqW7w/wKP7Urfm8Xrqw6jiO8DZXudSIwkCFN4DanbLoSXwB/R0dnt7O6rUXj/+84utrOFX3Gdi5ou7ixerc0UX4srU9zjfIdSeHUnRNhwyn+jLN6omeh+seMSiCDNpPAKuYEb0ZQ7ehav20wJIvwOKCtP46M+y6Xwug2x2el52qaZ6HfLhjsNEcziFXIDN6Lll+UJUHZEQN2LJDc1KbxS8CqA8PScKdDMClBWnrZHPfVJ4b26COZfNjs953I0k3LCmcVrXpGbToS9M+gL4hln2yPz3ty7+ZkNq9ceE/v2QTW0Zk6go9MZ1Fi8oTzCm6C2iX6DV78LLQ1mvGO9F97wCrWENoE2gTaBiZ/AP+8/LMb6T9MeAAAAAElFTkSuQmCC);
625 | -webkit-background-size: 100% 100%;
626 | background-size: 100% 100%;
627 | background-repeat: no-repeat;
628 | }
629 | .vcode-spin-button-error {
630 | border: 1px solid #ec3f3f;
631 | background: #ec3f3f;
632 | background: #ec3f3f;
633 | }
634 | .vcode-spin-button-error p {
635 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAyCAYAAAATIfj2AAAAAXNSR0IArs4c6QAAAoRJREFUaAXtmb9OVFEQxjcQKGyspIPK2FvrA+gDAC8AL6C+gGIidvx5ABtqeABCDZSEFjtNLLTRwoLo+jvZJcBhvpnrLlPs5kzyhT3z5/vOzM1y757b6zVrE2gTaBNoE5iWCfT7/VnwAXwbonyeHbe/wgHunTfcF6KboLZPYWGQAGEKbyDb6yFcroxl62GxkwBhCq8jOQg5wr+JPQ0JREIWr5C7diP8ESj7TODhdXb3T9Sl8IY7QPgBOAfKDkISIwGyFF5D6q4L8Sfgp+oI/5u7VbEnizdWJgPxZaehS2LPOxFVSVm8lYy9RHzbaeorsQW70vdm8fqqRBGeA8dA2RGBmZCoSqAmhbeSsZeIL4LvQNl7u9L3QpbC66sOo4i/AH9FR8X/shNRlZTFW8nYS8TfioaK+wdYsit9L3UpvL4qUYRnwCFQdkpgPiSqEqhJ4a1k7CXij8AXoGzXrvS9kKXw+qrDKOLPQLkPKVvtRFQlQZbCW8nYS8RfqW7w/wKP7Urfm8Xrqw6jiO8DZXudSIwkCFN4DanbLoSXwB/R0dnt7O6rUXj/+84utrOFX3Gdi5ou7ixerc0UX4srU9zjfIdSeHUnRNhwyn+jLN6omeh+seMSiCDNpPAKuYEb0ZQ7ehav20wJIvwOKCtP46M+y6Xwug2x2el52qaZ6HfLhjsNEcziFXIDN6Lll+UJUHZEQN2LJDc1KbxS8CqA8PScKdDMClBWnrZHPfVJ4b26COZfNjs953I0k3LCmcVrXpGbToS9M+gL4hln2yPz3ty7+ZkNq9ceE/v2QTW0Zk6go9MZ1Fi8oTzCm6C2iX6DV78LLQ1mvGO9F97wCrWENoE2gTaBiZ/AP+8/LMb6T9MeAAAAAElFTkSuQmCC);
636 | -webkit-background-size: 100% 100%;
637 | background-size: 100% 100%;
638 | background-repeat: no-repeat;
639 | }
640 |
--------------------------------------------------------------------------------